summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2012-11-02 20:15:39 +0400
committerIgor Pashev <pashev.igor@gmail.com>2012-11-02 20:15:39 +0400
commitb13154de3eca5ba28fbb4854d916cd0be5febeed (patch)
tree30f2e9e89ab71a2df837076ac68c3ba770230294
downloadutil-linux-upstream.tar.gz
Imported Upstream version 2.22upstream/2.22upstream
-rw-r--r--.tarball-version1
-rw-r--r--.version1
-rw-r--r--ABOUT-NLS768
-rw-r--r--AUTHORS376
-rw-r--r--COPYING339
-rw-r--r--ChangeLog3
-rw-r--r--Documentation/00-about-docs.txt7
-rw-r--r--Documentation/TODO239
-rw-r--r--Documentation/blkid.txt80
-rw-r--r--Documentation/cal.txt42
-rw-r--r--Documentation/cfdisk.txt35
-rw-r--r--Documentation/col.txt41
-rw-r--r--Documentation/ddate.txt73
-rw-r--r--Documentation/deprecated.txt57
-rw-r--r--Documentation/example.files/filesystems7
-rw-r--r--Documentation/example.files/fstab15
-rw-r--r--Documentation/example.files/motd10
-rw-r--r--Documentation/example.files/securetty5
-rw-r--r--Documentation/example.files/shells4
-rw-r--r--Documentation/example.files/udev-raw.rules7
-rw-r--r--Documentation/fdisk.txt581
-rw-r--r--Documentation/getopt.txt31
-rw-r--r--Documentation/getopt_changelog.txt38
-rw-r--r--Documentation/howto-build-sys.txt88
-rw-r--r--Documentation/howto-compilation.txt64
-rw-r--r--Documentation/howto-contribute.txt128
-rw-r--r--Documentation/howto-debug.txt72
-rw-r--r--Documentation/howto-man-page.txt161
-rw-r--r--Documentation/howto-tests.txt44
-rw-r--r--Documentation/howto-usage-function.txt147
-rw-r--r--Documentation/hwclock.txt3
-rw-r--r--Documentation/licenses/COPYING.BSD-325
-rw-r--r--Documentation/licenses/COPYING.GPLv2339
-rw-r--r--Documentation/licenses/COPYING.LGPLv2.1502
-rw-r--r--Documentation/licenses/COPYING.UCB32
-rw-r--r--Documentation/modems-with-agetty.txt76
-rw-r--r--Documentation/mount.txt17
-rw-r--r--Documentation/pg.txt13
-rw-r--r--Documentation/poeigl.txt503
-rw-r--r--Documentation/release-schedule.txt39
-rw-r--r--Documentation/releases/v2.13-ReleaseNotes460
-rw-r--r--Documentation/releases/v2.14-ReleaseNotes418
-rw-r--r--Documentation/releases/v2.15-ReleaseNotes675
-rw-r--r--Documentation/releases/v2.16-ReleaseNotes182
-rw-r--r--Documentation/releases/v2.17-ReleaseNotes526
-rw-r--r--Documentation/releases/v2.18-ReleaseNotes468
-rw-r--r--Documentation/releases/v2.19-ReleaseNotes660
-rw-r--r--Documentation/releases/v2.20-ReleaseNotes1061
-rw-r--r--Documentation/releases/v2.21-ReleaseNotes979
-rw-r--r--Documentation/releases/v2.22-ReleaseNotes1190
-rw-r--r--Documentation/sfdisk.txt264
-rw-r--r--Documentation/source-code-management.txt29
-rw-r--r--Makefile.am195
-rw-r--r--Makefile.in10308
-rw-r--r--NEWS1691
-rw-r--r--README47
-rw-r--r--README.licensing22
-rw-r--r--aclocal.m41205
-rwxr-xr-xautogen.sh100
-rw-r--r--config.h.in626
-rwxr-xr-xconfig/compile143
-rwxr-xr-xconfig/config.guess1501
-rwxr-xr-xconfig/config.rpath548
-rwxr-xr-xconfig/config.sub1705
-rwxr-xr-xconfig/depcomp630
-rw-r--r--config/gtk-doc.make245
-rwxr-xr-xconfig/install-sh520
-rwxr-xr-xconfig/ltmain.sh9636
-rwxr-xr-xconfig/missing376
-rwxr-xr-xconfig/mkinstalldirs111
-rwxr-xr-xconfigure23833
-rw-r--r--configure.ac1344
-rw-r--r--disk-utils/Makemodule.am144
-rw-r--r--disk-utils/addpart.840
-rw-r--r--disk-utils/addpart.c61
-rw-r--r--disk-utils/blockdev.885
-rw-r--r--disk-utils/blockdev.c470
-rw-r--r--disk-utils/cramfs.h114
-rw-r--r--disk-utils/cramfs_common.c109
-rw-r--r--disk-utils/delpart.834
-rw-r--r--disk-utils/delpart.c60
-rw-r--r--disk-utils/elvtune.867
-rw-r--r--disk-utils/elvtune.c174
-rw-r--r--disk-utils/fdformat.865
-rw-r--r--disk-utils/fdformat.c168
-rw-r--r--disk-utils/fsck.8461
-rw-r--r--disk-utils/fsck.c1576
-rw-r--r--disk-utils/fsck.cramfs.c692
-rw-r--r--disk-utils/fsck.minix.8136
-rw-r--r--disk-utils/fsck.minix.c1391
-rw-r--r--disk-utils/isosize.835
-rw-r--r--disk-utils/isosize.c219
-rw-r--r--disk-utils/minix_programs.h118
-rw-r--r--disk-utils/mkfs.8110
-rw-r--r--disk-utils/mkfs.bfs.858
-rw-r--r--disk-utils/mkfs.bfs.c296
-rw-r--r--disk-utils/mkfs.c144
-rw-r--r--disk-utils/mkfs.cramfs.c913
-rw-r--r--disk-utils/mkfs.minix.886
-rw-r--r--disk-utils/mkfs.minix.c815
-rw-r--r--disk-utils/mkswap.8148
-rw-r--r--disk-utils/mkswap.c672
-rw-r--r--disk-utils/partx.8173
-rw-r--r--disk-utils/partx.c891
-rw-r--r--disk-utils/partx.h75
-rw-r--r--disk-utils/raw.892
-rw-r--r--disk-utils/raw.c270
-rw-r--r--disk-utils/resizepart.838
-rw-r--r--disk-utils/resizepart.c106
-rw-r--r--disk-utils/swaplabel.867
-rw-r--r--disk-utils/swaplabel.c228
-rw-r--r--fdisks/Makemodule.am87
-rw-r--r--fdisks/cfdisk.8452
-rw-r--r--fdisks/cfdisk.c2854
-rw-r--r--fdisks/common.h15
-rw-r--r--fdisks/fdisk.8288
-rw-r--r--fdisks/fdisk.c1935
-rw-r--r--fdisks/fdisk.h294
-rw-r--r--fdisks/fdiskaixlabel.c90
-rw-r--r--fdisks/fdiskaixlabel.h25
-rw-r--r--fdisks/fdiskbsdlabel.c855
-rw-r--r--fdisks/fdiskbsdlabel.h245
-rw-r--r--fdisks/fdiskdoslabel.c833
-rw-r--r--fdisks/fdiskdoslabel.h47
-rw-r--r--fdisks/fdiskmaclabel.c108
-rw-r--r--fdisks/fdiskmaclabel.h34
-rw-r--r--fdisks/fdisksgilabel.c907
-rw-r--r--fdisks/fdisksgilabel.h131
-rw-r--r--fdisks/fdisksunlabel.c661
-rw-r--r--fdisks/fdisksunlabel.h91
-rw-r--r--fdisks/gpt.c216
-rw-r--r--fdisks/gpt.h7
-rw-r--r--fdisks/i386_sys_types.c110
-rw-r--r--fdisks/partname.c48
-rw-r--r--fdisks/sfdisk.8603
-rw-r--r--fdisks/sfdisk.c3242
-rw-r--r--fdisks/utils.c523
-rw-r--r--include/Makemodule.am45
-rw-r--r--include/all-io.h72
-rw-r--r--include/at.h32
-rw-r--r--include/bitops.h84
-rw-r--r--include/blkdev.h140
-rw-r--r--include/c.h269
-rw-r--r--include/canonicalize.h9
-rw-r--r--include/carefulputc.h29
-rw-r--r--include/closestream.h51
-rw-r--r--include/cpuset.h95
-rw-r--r--include/crc32.h9
-rw-r--r--include/env.h17
-rw-r--r--include/exitcodes.h35
-rw-r--r--include/fileutils.h23
-rw-r--r--include/ismounted.h14
-rw-r--r--include/linux_reboot.h72
-rw-r--r--include/linux_version.h14
-rw-r--r--include/list.h333
-rw-r--r--include/loopdev.h195
-rw-r--r--include/mangle.h26
-rw-r--r--include/match.h12
-rw-r--r--include/mbsalign.h45
-rw-r--r--include/md5.h29
-rw-r--r--include/minix.h82
-rw-r--r--include/nls.h115
-rw-r--r--include/optutils.h95
-rw-r--r--include/pager.h6
-rw-r--r--include/pamfail.h16
-rw-r--r--include/path.h17
-rw-r--r--include/pathnames.h154
-rw-r--r--include/procutils.h14
-rw-r--r--include/randutils.h12
-rw-r--r--include/rpmatch.h9
-rw-r--r--include/setproctitle.h7
-rw-r--r--include/strutils.h76
-rw-r--r--include/swapheader.h28
-rw-r--r--include/sysfs.h68
-rw-r--r--include/tt.h93
-rw-r--r--include/ttyutils.h116
-rw-r--r--include/usleep.h18
-rw-r--r--include/wholedisk.h8
-rw-r--r--include/widechar.h38
-rw-r--r--include/xalloc.h78
-rw-r--r--include/xgetpass.h6
-rw-r--r--lib/Makemodule.am111
-rw-r--r--lib/at.c140
-rw-r--r--lib/blkdev.c370
-rw-r--r--lib/canonicalize.c205
-rw-r--r--lib/cpuset.c399
-rw-r--r--lib/crc32.c116
-rw-r--r--lib/env.c109
-rw-r--r--lib/fileutils.c83
-rw-r--r--lib/ismounted.c372
-rw-r--r--lib/langinfo.c121
-rw-r--r--lib/linux_version.c25
-rw-r--r--lib/loopdev.c1592
-rw-r--r--lib/mangle.c166
-rw-r--r--lib/match.c53
-rw-r--r--lib/mbsalign.c290
-rw-r--r--lib/md5.c254
-rw-r--r--lib/pager.c215
-rw-r--r--lib/path.c218
-rw-r--r--lib/procutils.c124
-rw-r--r--lib/randutils.c121
-rw-r--r--lib/setproctitle.c74
-rw-r--r--lib/strutils.c696
-rw-r--r--lib/sysfs.c705
-rw-r--r--lib/tt.c998
-rw-r--r--lib/wholedisk.c57
-rw-r--r--lib/xgetpass.c46
-rw-r--r--libblkid/COPYING8
-rw-r--r--libblkid/Makemodule.am16
-rw-r--r--libblkid/blkid.pc.in11
-rw-r--r--libblkid/docs/Makefile.am94
-rw-r--r--libblkid/docs/Makefile.in728
-rw-r--r--libblkid/docs/libblkid-config.xml57
-rw-r--r--libblkid/docs/libblkid-docs.xml69
-rw-r--r--libblkid/docs/libblkid-sections.txt192
-rw-r--r--libblkid/docs/version.xml1
-rw-r--r--libblkid/docs/version.xml.in1
-rw-r--r--libblkid/libblkid.379
-rw-r--r--libblkid/samples/Makemodule.am22
-rw-r--r--libblkid/samples/mkfs.c78
-rw-r--r--libblkid/samples/partitions.c95
-rw-r--r--libblkid/samples/superblocks.c67
-rw-r--r--libblkid/samples/topology.c86
-rw-r--r--libblkid/src/Makemodule.am233
-rw-r--r--libblkid/src/blkid.h.in351
-rw-r--r--libblkid/src/blkid.sym148
-rw-r--r--libblkid/src/blkidP.h481
-rw-r--r--libblkid/src/cache.c272
-rw-r--r--libblkid/src/config.c201
-rw-r--r--libblkid/src/dev.c272
-rw-r--r--libblkid/src/devname.c676
-rw-r--r--libblkid/src/devno.c399
-rw-r--r--libblkid/src/encode.c338
-rw-r--r--libblkid/src/evaluate.c328
-rw-r--r--libblkid/src/getsize.c34
-rw-r--r--libblkid/src/llseek.c142
-rw-r--r--libblkid/src/partitions/aix.c59
-rw-r--r--libblkid/src/partitions/aix.h7
-rw-r--r--libblkid/src/partitions/blkid_parttypes.h121
-rw-r--r--libblkid/src/partitions/bsd.c243
-rw-r--r--libblkid/src/partitions/dos.c288
-rw-r--r--libblkid/src/partitions/dos.h36
-rw-r--r--libblkid/src/partitions/gpt.c409
-rw-r--r--libblkid/src/partitions/mac.c183
-rw-r--r--libblkid/src/partitions/minix.c100
-rw-r--r--libblkid/src/partitions/partitions.c1355
-rw-r--r--libblkid/src/partitions/partitions.h62
-rw-r--r--libblkid/src/partitions/sgi.c159
-rw-r--r--libblkid/src/partitions/solaris_x86.c151
-rw-r--r--libblkid/src/partitions/sun.c188
-rw-r--r--libblkid/src/partitions/ultrix.c96
-rw-r--r--libblkid/src/partitions/unixware.c194
-rw-r--r--libblkid/src/probe.c1681
-rw-r--r--libblkid/src/read.c500
-rw-r--r--libblkid/src/resolve.c139
-rw-r--r--libblkid/src/save.c219
-rw-r--r--libblkid/src/superblocks/adaptec_raid.c114
-rw-r--r--libblkid/src/superblocks/befs.c478
-rw-r--r--libblkid/src/superblocks/bfs.c23
-rw-r--r--libblkid/src/superblocks/btrfs.c93
-rw-r--r--libblkid/src/superblocks/cramfs.c62
-rw-r--r--libblkid/src/superblocks/ddf_raid.c139
-rw-r--r--libblkid/src/superblocks/drbd.c117
-rw-r--r--libblkid/src/superblocks/drbdproxy_datalog.c55
-rw-r--r--libblkid/src/superblocks/exfat.c146
-rw-r--r--libblkid/src/superblocks/ext.c540
-rw-r--r--libblkid/src/superblocks/gfs.c131
-rw-r--r--libblkid/src/superblocks/hfs.c321
-rw-r--r--libblkid/src/superblocks/highpoint_raid.c87
-rw-r--r--libblkid/src/superblocks/hpfs.c122
-rw-r--r--libblkid/src/superblocks/iso9660.c215
-rw-r--r--libblkid/src/superblocks/isw_raid.c65
-rw-r--r--libblkid/src/superblocks/jfs.c71
-rw-r--r--libblkid/src/superblocks/jmicron_raid.c64
-rw-r--r--libblkid/src/superblocks/linux_raid.c258
-rw-r--r--libblkid/src/superblocks/lsi_raid.c60
-rw-r--r--libblkid/src/superblocks/luks.c66
-rw-r--r--libblkid/src/superblocks/lvm.c228
-rw-r--r--libblkid/src/superblocks/minix.c94
-rw-r--r--libblkid/src/superblocks/netware.c97
-rw-r--r--libblkid/src/superblocks/nilfs.c120
-rw-r--r--libblkid/src/superblocks/ntfs.c224
-rw-r--r--libblkid/src/superblocks/nvidia_raid.c64
-rw-r--r--libblkid/src/superblocks/ocfs.c213
-rw-r--r--libblkid/src/superblocks/promise_raid.c71
-rw-r--r--libblkid/src/superblocks/reiserfs.c128
-rw-r--r--libblkid/src/superblocks/romfs.c51
-rw-r--r--libblkid/src/superblocks/silicon_raid.c85
-rw-r--r--libblkid/src/superblocks/squashfs.c68
-rw-r--r--libblkid/src/superblocks/superblocks.c768
-rw-r--r--libblkid/src/superblocks/superblocks.h92
-rw-r--r--libblkid/src/superblocks/swap.c171
-rw-r--r--libblkid/src/superblocks/sysv.c154
-rw-r--r--libblkid/src/superblocks/ubifs.c120
-rw-r--r--libblkid/src/superblocks/udf.c169
-rw-r--r--libblkid/src/superblocks/ufs.c258
-rw-r--r--libblkid/src/superblocks/vfat.c427
-rw-r--r--libblkid/src/superblocks/via_raid.c89
-rw-r--r--libblkid/src/superblocks/vmfs.c101
-rw-r--r--libblkid/src/superblocks/vxfs.c41
-rw-r--r--libblkid/src/superblocks/xfs.c63
-rw-r--r--libblkid/src/superblocks/zfs.c226
-rw-r--r--libblkid/src/tag.c474
-rw-r--r--libblkid/src/topology/dm.c138
-rw-r--r--libblkid/src/topology/evms.c77
-rw-r--r--libblkid/src/topology/ioctl.c74
-rw-r--r--libblkid/src/topology/lvm.c150
-rw-r--r--libblkid/src/topology/md.c154
-rw-r--r--libblkid/src/topology/sysfs.c119
-rw-r--r--libblkid/src/topology/topology.c366
-rw-r--r--libblkid/src/topology/topology.h24
-rw-r--r--libblkid/src/verify.c243
-rw-r--r--libblkid/src/version.c62
-rw-r--r--libmount/COPYING8
-rw-r--r--libmount/Makemodule.am15
-rw-r--r--libmount/docs/Makefile.am93
-rw-r--r--libmount/docs/Makefile.in727
-rw-r--r--libmount/docs/libmount-docs.xml65
-rw-r--r--libmount/docs/libmount-sections.txt341
-rw-r--r--libmount/docs/version.xml1
-rw-r--r--libmount/docs/version.xml.in1
-rw-r--r--libmount/mount.pc.in11
-rw-r--r--libmount/src/Makemodule.am137
-rw-r--r--libmount/src/cache.c697
-rw-r--r--libmount/src/context.c2297
-rw-r--r--libmount/src/context_loopdev.c368
-rw-r--r--libmount/src/context_mount.c935
-rw-r--r--libmount/src/context_umount.c856
-rw-r--r--libmount/src/fs.c1501
-rw-r--r--libmount/src/init.c45
-rw-r--r--libmount/src/iter.c78
-rw-r--r--libmount/src/libmount.h.in653
-rw-r--r--libmount/src/libmount.sym250
-rw-r--r--libmount/src/lock.c697
-rw-r--r--libmount/src/mountP.h402
-rw-r--r--libmount/src/optmap.c233
-rw-r--r--libmount/src/optstr.c1303
-rw-r--r--libmount/src/tab.c1195
-rw-r--r--libmount/src/tab_diff.c362
-rw-r--r--libmount/src/tab_parse.c944
-rw-r--r--libmount/src/tab_update.c862
-rw-r--r--libmount/src/test.c59
-rw-r--r--libmount/src/utils.c991
-rw-r--r--libmount/src/version.c127
-rw-r--r--libuuid/COPYING5
-rw-r--r--libuuid/Makemodule.am10
-rw-r--r--libuuid/man/Makemodule.am14
-rw-r--r--libuuid/man/uuid.365
-rw-r--r--libuuid/man/uuid_clear.360
-rw-r--r--libuuid/man/uuid_compare.366
-rw-r--r--libuuid/man/uuid_copy.362
-rw-r--r--libuuid/man/uuid_generate.3126
-rw-r--r--libuuid/man/uuid_generate_random.31
-rw-r--r--libuuid/man/uuid_generate_time.31
-rw-r--r--libuuid/man/uuid_generate_time_safe.31
-rw-r--r--libuuid/man/uuid_is_null.362
-rw-r--r--libuuid/man/uuid_parse.371
-rw-r--r--libuuid/man/uuid_time.376
-rw-r--r--libuuid/man/uuid_unparse.379
-rw-r--r--libuuid/src/Makemodule.am56
-rw-r--r--libuuid/src/clear.c43
-rw-r--r--libuuid/src/compare.c55
-rw-r--r--libuuid/src/copy.c45
-rw-r--r--libuuid/src/gen_uuid.c551
-rw-r--r--libuuid/src/isnull.c48
-rw-r--r--libuuid/src/pack.c69
-rw-r--r--libuuid/src/parse.c79
-rw-r--r--libuuid/src/test_uuid.c180
-rw-r--r--libuuid/src/unpack.c63
-rw-r--r--libuuid/src/unparse.c76
-rw-r--r--libuuid/src/uuid.h104
-rw-r--r--libuuid/src/uuid.sym46
-rw-r--r--libuuid/src/uuidP.h61
-rw-r--r--libuuid/src/uuid_time.c171
-rw-r--r--libuuid/src/uuidd.h54
-rw-r--r--libuuid/uuid.pc.in11
-rw-r--r--login-utils/Makemodule.am146
-rw-r--r--login-utils/chfn.182
-rw-r--r--login-utils/chfn.c486
-rw-r--r--login-utils/chsh.165
-rw-r--r--login-utils/chsh.c380
-rw-r--r--login-utils/islocal.c115
-rw-r--r--login-utils/islocal.h1
-rw-r--r--login-utils/last.162
-rw-r--r--login-utils/last.c481
-rw-r--r--login-utils/login.1334
-rw-r--r--login-utils/login.c1477
-rw-r--r--login-utils/logindefs.c297
-rw-r--r--login-utils/logindefs.h12
-rw-r--r--login-utils/newgrp.134
-rw-r--r--login-utils/newgrp.c185
-rw-r--r--login-utils/selinux_utils.c51
-rw-r--r--login-utils/selinux_utils.h2
-rw-r--r--login-utils/setpwnam.c218
-rw-r--r--login-utils/setpwnam.h29
-rw-r--r--login-utils/su.c813
-rw-r--r--login-utils/sulogin.890
-rw-r--r--login-utils/sulogin.c609
-rw-r--r--login-utils/utmpdump.174
-rw-r--r--login-utils/utmpdump.c363
-rw-r--r--login-utils/vigr.81
-rw-r--r--login-utils/vipw.890
-rw-r--r--login-utils/vipw.c353
-rw-r--r--m4/compiler.m432
-rw-r--r--m4/gettext.m4487
-rw-r--r--m4/gtk-doc.m439
-rw-r--r--m4/iconv.m4103
-rw-r--r--m4/lib-ld.m4112
-rw-r--r--m4/lib-link.m4551
-rw-r--r--m4/lib-prefix.m4155
-rw-r--r--m4/libtool.m47835
-rw-r--r--m4/ltoptions.m4369
-rw-r--r--m4/ltsugar.m4123
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m498
-rw-r--r--m4/nls.m449
-rw-r--r--m4/po.m4426
-rw-r--r--m4/progtest.m491
-rw-r--r--m4/tls.m4111
-rw-r--r--m4/ul.m4301
-rw-r--r--man/ru/ddate.1123
-rw-r--r--misc-utils/Makemodule.am175
-rw-r--r--misc-utils/blkid.8299
-rw-r--r--misc-utils/blkid.c957
-rw-r--r--misc-utils/cal.197
-rw-r--r--misc-utils/cal.c800
-rw-r--r--misc-utils/chkdupexe120
-rw-r--r--misc-utils/chkdupexe.138
-rwxr-xr-xmisc-utils/chkdupexe.pl120
-rw-r--r--misc-utils/ddate.1114
-rw-r--r--misc-utils/ddate.c374
-rw-r--r--misc-utils/findfs.834
-rw-r--r--misc-utils/findfs.c69
-rw-r--r--misc-utils/findmnt.8217
-rw-r--r--misc-utils/findmnt.c1368
-rw-r--r--misc-utils/getopt-parse.bash47
-rw-r--r--misc-utils/getopt-parse.tcsh77
-rw-r--r--misc-utils/getopt.1448
-rw-r--r--misc-utils/getopt.c458
-rw-r--r--misc-utils/kill.1111
-rw-r--r--misc-utils/kill.c439
-rw-r--r--misc-utils/kill.h1
-rw-r--r--misc-utils/logger.1155
-rw-r--r--misc-utils/logger.c338
-rw-r--r--misc-utils/look.1116
-rw-r--r--misc-utils/look.c381
-rw-r--r--misc-utils/lsblk.8104
-rw-r--r--misc-utils/lsblk.c1421
-rw-r--r--misc-utils/lslocks.882
-rw-r--r--misc-utils/lslocks.c574
-rw-r--r--misc-utils/mcookie.165
-rw-r--r--misc-utils/mcookie.c190
-rw-r--r--misc-utils/namei.174
-rw-r--r--misc-utils/namei.c528
-rw-r--r--misc-utils/procs.c126
-rw-r--r--misc-utils/rename.160
-rw-r--r--misc-utils/rename.c126
-rw-r--r--misc-utils/sd-daemon.c530
-rw-r--r--misc-utils/sd-daemon.h282
-rw-r--r--misc-utils/uuidd.894
-rw-r--r--misc-utils/uuidd.8.in94
-rw-r--r--misc-utils/uuidd.c669
-rw-r--r--misc-utils/uuidd.rc.in71
-rw-r--r--misc-utils/uuidd.service.in12
-rw-r--r--misc-utils/uuidd.socket.in8
-rw-r--r--misc-utils/uuidgen.163
-rw-r--r--misc-utils/uuidgen.c104
-rw-r--r--misc-utils/whereis.1140
-rw-r--r--misc-utils/whereis.c485
-rw-r--r--misc-utils/wipefs.874
-rw-r--r--misc-utils/wipefs.c472
-rw-r--r--mount-deprecated/Makemodule.am70
-rw-r--r--mount-deprecated/devname.c14
-rw-r--r--mount-deprecated/devname.h6
-rw-r--r--mount-deprecated/fsprobe.c141
-rw-r--r--mount-deprecated/fsprobe.h27
-rw-r--r--mount-deprecated/fstab.c988
-rw-r--r--mount-deprecated/fstab.h39
-rw-r--r--mount-deprecated/getusername.c14
-rw-r--r--mount-deprecated/getusername.h1
-rw-r--r--mount-deprecated/mount.82857
-rw-r--r--mount-deprecated/mount.c2652
-rw-r--r--mount-deprecated/mount_constants.h73
-rw-r--r--mount-deprecated/mount_mntent.c165
-rw-r--r--mount-deprecated/mount_mntent.h28
-rw-r--r--mount-deprecated/sundries.c300
-rw-r--r--mount-deprecated/sundries.h55
-rw-r--r--mount-deprecated/umount.8179
-rw-r--r--mount-deprecated/umount.c867
-rw-r--r--po/Makefile.in.in367
-rw-r--r--po/Makevars41
-rw-r--r--po/POTFILES.in359
-rw-r--r--po/Rules-quot47
-rw-r--r--po/boldquot.sed10
-rw-r--r--po/ca.gmobin0 -> 107864 bytes
-rw-r--r--po/ca.po18346
-rw-r--r--po/cs.gmobin0 -> 366948 bytes
-rw-r--r--po/cs.po18982
-rw-r--r--po/da.gmobin0 -> 203120 bytes
-rw-r--r--po/da.po17505
-rw-r--r--po/de.gmobin0 -> 140256 bytes
-rw-r--r--po/de.po18683
-rw-r--r--po/en@boldquot.header25
-rw-r--r--po/en@quot.header22
-rw-r--r--po/es.gmobin0 -> 109252 bytes
-rw-r--r--po/es.po18505
-rw-r--r--po/et.gmobin0 -> 66327 bytes
-rw-r--r--po/et.po16957
-rw-r--r--po/eu.gmobin0 -> 41821 bytes
-rw-r--r--po/eu.po16139
-rw-r--r--po/fi.gmobin0 -> 119334 bytes
-rw-r--r--po/fi.po18262
-rw-r--r--po/fr.gmobin0 -> 380700 bytes
-rw-r--r--po/fr.po18559
-rw-r--r--po/gl.gmobin0 -> 28136 bytes
-rw-r--r--po/gl.po15217
-rw-r--r--po/hu.gmobin0 -> 130978 bytes
-rw-r--r--po/hu.po17686
-rw-r--r--po/id.gmobin0 -> 136970 bytes
-rw-r--r--po/id.po18518
-rw-r--r--po/insert-header.sin23
-rw-r--r--po/it.gmobin0 -> 101950 bytes
-rw-r--r--po/it.po18075
-rw-r--r--po/ja.gmobin0 -> 143321 bytes
-rw-r--r--po/ja.po18380
-rw-r--r--po/nl.gmobin0 -> 326508 bytes
-rw-r--r--po/nl.po18072
-rw-r--r--po/pl.gmobin0 -> 364902 bytes
-rw-r--r--po/pl.po16330
-rw-r--r--po/pt_BR.gmobin0 -> 86557 bytes
-rw-r--r--po/pt_BR.po18214
-rw-r--r--po/quot.sed6
-rw-r--r--po/remove-potcdate.sin19
-rw-r--r--po/ru.gmobin0 -> 104387 bytes
-rw-r--r--po/ru.po18063
-rw-r--r--po/sl.gmobin0 -> 99435 bytes
-rw-r--r--po/sl.po18076
-rw-r--r--po/stamp-po1
-rw-r--r--po/sv.gmobin0 -> 112065 bytes
-rw-r--r--po/sv.po18388
-rw-r--r--po/tr.gmobin0 -> 106429 bytes
-rw-r--r--po/tr.po18249
-rw-r--r--po/uk.gmobin0 -> 470024 bytes
-rw-r--r--po/uk.po16507
-rwxr-xr-xpo/update-potfiles19
-rw-r--r--po/util-linux.pot14597
-rw-r--r--po/vi.gmobin0 -> 389757 bytes
-rw-r--r--po/vi.po18362
-rw-r--r--po/zh_CN.gmobin0 -> 48615 bytes
-rw-r--r--po/zh_CN.po14999
-rw-r--r--po/zh_TW.gmobin0 -> 141721 bytes
-rw-r--r--po/zh_TW.po17762
-rw-r--r--schedutils/Makemodule.am22
-rw-r--r--schedutils/chrt.1158
-rw-r--r--schedutils/chrt.c339
-rw-r--r--schedutils/ionice.1114
-rw-r--r--schedutils/ionice.c238
-rw-r--r--schedutils/taskset.1128
-rw-r--r--schedutils/taskset.c242
-rw-r--r--sys-utils/Makemodule.am302
-rw-r--r--sys-utils/arch.140
-rw-r--r--sys-utils/arch.c84
-rw-r--r--sys-utils/chcpu.896
-rw-r--r--sys-utils/chcpu.c335
-rw-r--r--sys-utils/ctrlaltdel.851
-rw-r--r--sys-utils/ctrlaltdel.c69
-rw-r--r--sys-utils/cyclades.h16
-rw-r--r--sys-utils/cytune.8194
-rw-r--r--sys-utils/cytune.c461
-rw-r--r--sys-utils/dmesg.1162
-rw-r--r--sys-utils/dmesg.c1214
-rw-r--r--sys-utils/eject.1165
-rw-r--r--sys-utils/eject.c1132
-rw-r--r--sys-utils/fallocate.162
-rw-r--r--sys-utils/fallocate.c173
-rw-r--r--sys-utils/flock.1166
-rw-r--r--sys-utils/flock.c343
-rw-r--r--sys-utils/fsfreeze.873
-rw-r--r--sys-utils/fsfreeze.c134
-rw-r--r--sys-utils/fstab.5271
-rw-r--r--sys-utils/fstrim.885
-rw-r--r--sys-utils/fstrim.c153
-rw-r--r--sys-utils/hwclock-cmos.c677
-rw-r--r--sys-utils/hwclock-kd.c182
-rw-r--r--sys-utils/hwclock-rtc.c509
-rw-r--r--sys-utils/hwclock.8661
-rw-r--r--sys-utils/hwclock.c1870
-rw-r--r--sys-utils/hwclock.h47
-rw-r--r--sys-utils/ipcmk.151
-rw-r--r--sys-utils/ipcmk.c160
-rw-r--r--sys-utils/ipcrm.1111
-rw-r--r--sys-utils/ipcrm.c410
-rw-r--r--sys-utils/ipcs.1103
-rw-r--r--sys-utils/ipcs.c714
-rw-r--r--sys-utils/ldattach.8144
-rw-r--r--sys-utils/ldattach.c373
-rw-r--r--sys-utils/losetup.8174
-rw-r--r--sys-utils/losetup.c465
-rw-r--r--sys-utils/lp.h83
-rw-r--r--sys-utils/lscpu.1149
-rw-r--r--sys-utils/lscpu.c1400
-rw-r--r--sys-utils/mount.82935
-rw-r--r--sys-utils/mount.c995
-rw-r--r--sys-utils/mountpoint.143
-rw-r--r--sys-utils/mountpoint.c212
-rw-r--r--sys-utils/pivot_root.875
-rw-r--r--sys-utils/pivot_root.c75
-rw-r--r--sys-utils/prlimit.1124
-rw-r--r--sys-utils/prlimit.c643
-rw-r--r--sys-utils/readprofile.8152
-rw-r--r--sys-utils/readprofile.c405
-rw-r--r--sys-utils/renice.1128
-rw-r--r--sys-utils/renice.c185
-rw-r--r--sys-utils/rtcwake.8146
-rw-r--r--sys-utils/rtcwake.c624
-rw-r--r--sys-utils/setarch.885
-rw-r--r--sys-utils/setarch.c351
-rw-r--r--sys-utils/setsid.124
-rw-r--r--sys-utils/setsid.c98
-rw-r--r--sys-utils/swapoff.81
-rw-r--r--sys-utils/swapoff.c196
-rw-r--r--sys-utils/swapon-common.c106
-rw-r--r--sys-utils/swapon-common.h26
-rw-r--r--sys-utils/swapon.8241
-rw-r--r--sys-utils/swapon.c823
-rw-r--r--sys-utils/switch_root.861
-rw-r--r--sys-utils/switch_root.c225
-rw-r--r--sys-utils/tunelp.8147
-rw-r--r--sys-utils/tunelp.c335
-rw-r--r--sys-utils/umount.8175
-rw-r--r--sys-utils/umount.c399
-rw-r--r--sys-utils/unshare.162
-rw-r--r--sys-utils/unshare.c137
-rw-r--r--sys-utils/wdctl.861
-rw-r--r--sys-utils/wdctl.c577
-rw-r--r--term-utils/Makemodule.am94
-rw-r--r--term-utils/agetty.8371
-rw-r--r--term-utils/agetty.c1914
-rw-r--r--term-utils/mesg.1112
-rw-r--r--term-utils/mesg.c158
-rwxr-xr-xterm-utils/reset13
-rwxr-xr-xterm-utils/reset.033c11
-rw-r--r--term-utils/reset.145
-rw-r--r--term-utils/script.1156
-rw-r--r--term-utils/script.c568
-rw-r--r--term-utils/scriptreplay.1107
-rw-r--r--term-utils/scriptreplay.c234
-rw-r--r--term-utils/setterm.1196
-rw-r--r--term-utils/setterm.c1290
-rw-r--r--term-utils/ttymsg.c191
-rw-r--r--term-utils/ttymsg.h2
-rw-r--r--term-utils/wall.186
-rw-r--r--term-utils/wall.c280
-rw-r--r--term-utils/write.1102
-rw-r--r--term-utils/write.c381
-rw-r--r--tests/Makemodule.am20
-rw-r--r--tests/commands.sh64
-rw-r--r--tests/expected/bitops/swapbytes21
-rw-r--r--tests/expected/blkid/low-probe-adaptec-raid3
-rw-r--r--tests/expected/blkid/low-probe-befs7
-rw-r--r--tests/expected/blkid/low-probe-bfs2
-rw-r--r--tests/expected/blkid/low-probe-cramfs4
-rw-r--r--tests/expected/blkid/low-probe-ddf-raid5
-rw-r--r--tests/expected/blkid/low-probe-exfat7
-rw-r--r--tests/expected/blkid/low-probe-ext27
-rw-r--r--tests/expected/blkid/low-probe-ext38
-rw-r--r--tests/expected/blkid/low-probe-fat8
-rw-r--r--tests/expected/blkid/low-probe-fat16_noheads8
-rw-r--r--tests/expected/blkid/low-probe-fat32_label_64MB7
-rw-r--r--tests/expected/blkid/low-probe-gfs25
-rw-r--r--tests/expected/blkid/low-probe-hfs4
-rw-r--r--tests/expected/blkid/low-probe-hfsplus4
-rw-r--r--tests/expected/blkid/low-probe-hpfs7
-rw-r--r--tests/expected/blkid/low-probe-hpt37x-raid2
-rw-r--r--tests/expected/blkid/low-probe-hpt45x-raid2
-rw-r--r--tests/expected/blkid/low-probe-iso6
-rw-r--r--tests/expected/blkid/low-probe-iso-joliet7
-rw-r--r--tests/expected/blkid/low-probe-iso-rr-joliet7
-rw-r--r--tests/expected/blkid/low-probe-isw-raid3
-rw-r--r--tests/expected/blkid/low-probe-jbd5
-rw-r--r--tests/expected/blkid/low-probe-jfs6
-rw-r--r--tests/expected/blkid/low-probe-jmicron-raid3
-rw-r--r--tests/expected/blkid/low-probe-lsi-raid2
-rw-r--r--tests/expected/blkid/low-probe-lvm25
-rw-r--r--tests/expected/blkid/low-probe-mdraid5
-rw-r--r--tests/expected/blkid/low-probe-minix3
-rw-r--r--tests/expected/blkid/low-probe-netware5
-rw-r--r--tests/expected/blkid/low-probe-nilfs27
-rw-r--r--tests/expected/blkid/low-probe-ntfs6
-rw-r--r--tests/expected/blkid/low-probe-nvidia-raid3
-rw-r--r--tests/expected/blkid/low-probe-ocfs27
-rw-r--r--tests/expected/blkid/low-probe-promise-raid2
-rw-r--r--tests/expected/blkid/low-probe-reiser37
-rw-r--r--tests/expected/blkid/low-probe-reiser47
-rw-r--r--tests/expected/blkid/low-probe-romfs4
-rw-r--r--tests/expected/blkid/low-probe-silicon-raid3
-rw-r--r--tests/expected/blkid/low-probe-small-fat327
-rw-r--r--tests/expected/blkid/low-probe-swap03
-rw-r--r--tests/expected/blkid/low-probe-swap17
-rw-r--r--tests/expected/blkid/low-probe-tuxonice5
-rw-r--r--tests/expected/blkid/low-probe-ubifs5
-rw-r--r--tests/expected/blkid/low-probe-udf4
-rw-r--r--tests/expected/blkid/low-probe-ufs5
-rw-r--r--tests/expected/blkid/low-probe-via-raid3
-rw-r--r--tests/expected/blkid/low-probe-vmfs7
-rw-r--r--tests/expected/blkid/low-probe-vmfs_volume7
-rw-r--r--tests/expected/blkid/low-probe-xfs6
-rw-r--r--tests/expected/blkid/low-probe-zfs9
-rw-r--r--tests/expected/blkid/lowprobe-pt-bsd4
-rw-r--r--tests/expected/blkid/lowprobe-pt-dos+bsd6
-rw-r--r--tests/expected/blkid/lowprobe-pt-gpt7
-rw-r--r--tests/expected/blkid/lowprobe-pt-sgi4
-rw-r--r--tests/expected/blkid/lowprobe-pt-sun4
-rw-r--r--tests/expected/blkid/md-raid0-whole53
-rw-r--r--tests/expected/blkid/md-raid1-part64
-rw-r--r--tests/expected/blkid/md-raid1-whole52
-rw-r--r--tests/expected/build-sys/config0
-rw-r--r--tests/expected/build-sys/config-all111
-rw-r--r--tests/expected/build-sys/config-all-devel120
-rw-r--r--tests/expected/build-sys/config-all-non-nls111
-rw-r--r--tests/expected/build-sys/config-audit94
-rw-r--r--tests/expected/build-sys/config-core94
-rw-r--r--tests/expected/build-sys/config-devel111
-rw-r--r--tests/expected/build-sys/config-devel-new-mount127
-rw-r--r--tests/expected/build-sys/config-non-libblkid75
-rw-r--r--tests/expected/build-sys/config-non-libmount84
-rw-r--r--tests/expected/build-sys/config-non-libs72
-rw-r--r--tests/expected/build-sys/config-non-libuuid91
-rw-r--r--tests/expected/build-sys/config-non-nls94
-rw-r--r--tests/expected/build-sys/config-old-mount94
-rw-r--r--tests/expected/build-sys/config-selinux94
-rw-r--r--tests/expected/build-sys/config-slang94
-rw-r--r--tests/expected/build-sys/config-static100
-rw-r--r--tests/expected/cal/1m37
-rw-r--r--tests/expected/cal/3m37
-rw-r--r--tests/expected/cal/year177
-rw-r--r--tests/expected/col/multibyte1
-rw-r--r--tests/expected/colrm/rm2-23
-rw-r--r--tests/expected/column/fillrow4
-rw-r--r--tests/expected/column/multi-file10
-rw-r--r--tests/expected/column/separator_table10
-rw-r--r--tests/expected/cramfs/doubles3
-rw-r--r--tests/expected/cramfs/fsck-endianness8
-rw-r--r--tests/expected/cramfs/mkfs4125
-rw-r--r--tests/expected/cramfs/mkfs-endianness4
-rw-r--r--tests/expected/eject/umount0
-rw-r--r--tests/expected/eject/umount-by-disk1
-rw-r--r--tests/expected/eject/umount-by-disk-mounted1
-rw-r--r--tests/expected/eject/umount-by-disk-mounted-partition2
-rw-r--r--tests/expected/eject/umount-by-partition2
-rw-r--r--tests/expected/eject/umount-by-partition-mounted2
-rw-r--r--tests/expected/fdisk/align-512-4K83
-rw-r--r--tests/expected/fdisk/align-512-4K-6384
-rw-r--r--tests/expected/fdisk/align-512-4K-md87
-rw-r--r--tests/expected/fdisk/align-512-4K-topology78
-rw-r--r--tests/expected/fdisk/align-512-51268
-rw-r--r--tests/expected/fdisk/align-512-512-topology79
-rw-r--r--tests/expected/fdisk/id5
-rw-r--r--tests/expected/fdisk/mbr-dos-mode182
-rw-r--r--tests/expected/fdisk/mbr-nondos-mode195
-rw-r--r--tests/expected/fdisk/oddinput14
-rw-r--r--tests/expected/fdisk/oddinput.toosmall1
-rw-r--r--tests/expected/fdisk/sunlabel16
-rw-r--r--tests/expected/fsck/ismounted1
-rw-r--r--tests/expected/ipcs/headers64
-rw-r--r--tests/expected/ipcs/limits11
-rw-r--r--tests/expected/ipcs/limits24
-rw-r--r--tests/expected/libmount/context5
-rw-r--r--tests/expected/libmount/context-mount-by-devname1
-rw-r--r--tests/expected/libmount/context-mount-by-label1
-rw-r--r--tests/expected/libmount/context-mount-by-uuid2
-rw-r--r--tests/expected/libmount/context-mount-flags5
-rw-r--r--tests/expected/libmount/context-mount-loopdev2
-rw-r--r--tests/expected/libmount/context-umount-by-devname1
-rw-r--r--tests/expected/libmount/context-umount-by-mountpoint1
-rw-r--r--tests/expected/libmount/context-utab9
-rw-r--r--tests/expected/libmount/context-utab-mount-by-devname1
-rw-r--r--tests/expected/libmount/context-utab-mount-uhelper1
-rw-r--r--tests/expected/libmount/context-utab-mount-uhelper-subvol1
-rw-r--r--tests/expected/libmount/context-utab-umount1
-rw-r--r--tests/expected/libmount/context-utab-umount-by-devname1
-rw-r--r--tests/expected/libmount/context-utab-umount-subvol1
-rw-r--r--tests/expected/libmount/lock1
-rw-r--r--tests/expected/libmount/optstr-append1
-rw-r--r--tests/expected/libmount/optstr-append-value1
-rw-r--r--tests/expected/libmount/optstr-apply-linux2
-rw-r--r--tests/expected/libmount/optstr-apply-user2
-rw-r--r--tests/expected/libmount/optstr-deduplicate1
-rw-r--r--tests/expected/libmount/optstr-fix2
-rw-r--r--tests/expected/libmount/optstr-flags2
-rw-r--r--tests/expected/libmount/optstr-get1
-rw-r--r--tests/expected/libmount/optstr-get-value1
-rw-r--r--tests/expected/libmount/optstr-prepend1
-rw-r--r--tests/expected/libmount/optstr-prepend-value1
-rw-r--r--tests/expected/libmount/optstr-remove1
-rw-r--r--tests/expected/libmount/optstr-remove-quoted1
-rw-r--r--tests/expected/libmount/optstr-remove-value1
-rw-r--r--tests/expected/libmount/optstr-set-large1
-rw-r--r--tests/expected/libmount/optstr-set-new1
-rw-r--r--tests/expected/libmount/optstr-set-new-end1
-rw-r--r--tests/expected/libmount/optstr-set-remove1
-rw-r--r--tests/expected/libmount/optstr-set-small1
-rw-r--r--tests/expected/libmount/optstr-split3
-rw-r--r--tests/expected/libmount/tabdiff0
-rw-r--r--tests/expected/libmount/tabdiff-mount1
-rw-r--r--tests/expected/libmount/tabdiff-move1
-rw-r--r--tests/expected/libmount/tabdiff-remount2
-rw-r--r--tests/expected/libmount/tabdiff-umount1
-rw-r--r--tests/expected/libmount/tabfiles-copy18
-rw-r--r--tests/expected/libmount/tabfiles-find-pair6
-rw-r--r--tests/expected/libmount/tabfiles-find-source8
-rw-r--r--tests/expected/libmount/tabfiles-find-target6
-rw-r--r--tests/expected/libmount/tabfiles-find-target25
-rw-r--r--tests/expected/libmount/tabfiles-find-target35
-rw-r--r--tests/expected/libmount/tabfiles-parse-fstab65
-rw-r--r--tests/expected/libmount/tabfiles-parse-fstab-broken63
-rw-r--r--tests/expected/libmount/tabfiles-parse-mountinfo352
-rw-r--r--tests/expected/libmount/tabfiles-parse-mtab68
-rw-r--r--tests/expected/libmount/tabfiles-tags-fstab-dev5
-rw-r--r--tests/expected/libmount/tabfiles-tags-fstab-dev2label5
-rw-r--r--tests/expected/libmount/tabfiles-tags-fstab-label5
-rw-r--r--tests/expected/libmount/tabfiles-tags-fstab-label2dev5
-rw-r--r--tests/expected/libmount/tabfiles-tags-fstab-label2uuid5
-rw-r--r--tests/expected/libmount/tabfiles-tags-fstab-uuid5
-rw-r--r--tests/expected/libmount/update-fstab-add3
-rw-r--r--tests/expected/libmount/update-mtab-mount5
-rw-r--r--tests/expected/libmount/update-mtab-move5
-rw-r--r--tests/expected/libmount/update-mtab-remount5
-rw-r--r--tests/expected/libmount/update-mtab-umount2
-rw-r--r--tests/expected/libmount/update-utab-mount3
-rw-r--r--tests/expected/libmount/update-utab-move3
-rw-r--r--tests/expected/libmount/update-utab-remount3
-rw-r--r--tests/expected/libmount/update-utab-umount1
-rw-r--r--tests/expected/libmount/utils-ends-with1
-rw-r--r--tests/expected/libmount/utils-fs-root1
-rw-r--r--tests/expected/libmount/utils-fs-root-subdir1
-rw-r--r--tests/expected/libmount/utils-fs-root-subdir21
-rw-r--r--tests/expected/libmount/utils-match-fstype1
-rw-r--r--tests/expected/libmount/utils-match-fstype-neg1
-rw-r--r--tests/expected/libmount/utils-match-fstype-neg21
-rw-r--r--tests/expected/libmount/utils-match-options1
-rw-r--r--tests/expected/libmount/utils-match-options-list1
-rw-r--r--tests/expected/libmount/utils-match-options-neg1
-rw-r--r--tests/expected/libmount/utils-match-options-neg-list1
-rw-r--r--tests/expected/libmount/utils-match-options-neg-list21
-rw-r--r--tests/expected/libmount/utils-mountpoint1
-rw-r--r--tests/expected/libmount/utils-mountpoint-root1
-rw-r--r--tests/expected/libmount/utils-mountpoint-subdir1
-rw-r--r--tests/expected/libmount/utils-starts-with1
-rw-r--r--tests/expected/login/islocal13
-rw-r--r--tests/expected/login/logindefs14
-rw-r--r--tests/expected/look/separator1
-rw-r--r--tests/expected/lscpu/lscpu-i386-amdshanghai29
-rw-r--r--tests/expected/lscpu/lscpu-i386-dellpe70017
-rw-r--r--tests/expected/lscpu/lscpu-i386-intels5000phb28
-rw-r--r--tests/expected/lscpu/lscpu-i386-xenpara19
-rw-r--r--tests/expected/lscpu/lscpu-ia64-512cpus654
-rw-r--r--tests/expected/lscpu/lscpu-ia64-hpmatterhorn29
-rw-r--r--tests/expected/lscpu/lscpu-ia64-hprx162021
-rw-r--r--tests/expected/lscpu/lscpu-ia64-pg037
-rw-r--r--tests/expected/lscpu/lscpu-ppc64-POWER731
-rw-r--r--tests/expected/lscpu/lscpu-s390-kvm21
-rw-r--r--tests/expected/lscpu/lscpu-s390-lpar36
-rw-r--r--tests/expected/lscpu/lscpu-s390-zvm22
-rw-r--r--tests/expected/lscpu/lscpu-sparc64-UltraSparc-T138
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-64cpu88
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-dell_e431028
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-dell_poweredge195023
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-dell_poweredgeR61040
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-dellr71040
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-el5xen30
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-hpdl58542
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-ibme326m23
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-necem1422
-rw-r--r--tests/expected/lscpu/lscpu-x86_64-xenfull22
-rw-r--r--tests/expected/md5/md57
-rw-r--r--tests/expected/minix/fsck8
-rw-r--r--tests/expected/minix/mkfs10
-rw-r--r--tests/expected/misc/strtosize30
-rw-r--r--tests/expected/mount/devname1
-rw-r--r--tests/expected/mount/encryption1
-rw-r--r--tests/expected/mount/fstab-broken1
-rw-r--r--tests/expected/mount/fstab-broken-mount1
-rw-r--r--tests/expected/mount/fstab-broken-mount-all1
-rw-r--r--tests/expected/mount/fstab-devname1
-rw-r--r--tests/expected/mount/fstab-devname2label1
-rw-r--r--tests/expected/mount/fstab-devname2uuid1
-rw-r--r--tests/expected/mount/fstab-label1
-rw-r--r--tests/expected/mount/fstab-label2devname1
-rw-r--r--tests/expected/mount/fstab-label2uuid1
-rw-r--r--tests/expected/mount/fstab-none1
-rw-r--r--tests/expected/mount/fstab-symlink1
-rw-r--r--tests/expected/mount/fstab-uuid1
-rw-r--r--tests/expected/mount/fstab-uuid2devname1
-rw-r--r--tests/expected/mount/fstab-uuid2label1
-rw-r--r--tests/expected/mount/label1
-rw-r--r--tests/expected/mount/move1
-rw-r--r--tests/expected/mount/noncanonical2
-rw-r--r--tests/expected/mount/paths11
-rw-r--r--tests/expected/mount/regfile1
-rw-r--r--tests/expected/mount/remount1
-rw-r--r--tests/expected/mount/rlimit1
-rw-r--r--tests/expected/mount/rlimit-mount1
-rw-r--r--tests/expected/mount/rlimit-umount1
-rw-r--r--tests/expected/mount/shared-subtree1
-rw-r--r--tests/expected/mount/shared-subtree-make-private1
-rw-r--r--tests/expected/mount/shared-subtree-make-shared1
-rw-r--r--tests/expected/mount/shared-subtree-make-unbindable1
-rw-r--r--tests/expected/mount/special1
-rw-r--r--tests/expected/mount/uuid1
-rw-r--r--tests/expected/namei/logic13
-rw-r--r--tests/expected/partx/partx-bsd3
-rw-r--r--tests/expected/partx/partx-dos+bsd5
-rw-r--r--tests/expected/partx/partx-gpt6
-rw-r--r--tests/expected/partx/partx-sgi3
-rw-r--r--tests/expected/partx/partx-sun3
-rw-r--r--tests/expected/paths/built-in35
-rw-r--r--tests/expected/schedutils/cpuset24
-rw-r--r--tests/expected/script/race1
-rw-r--r--tests/expected/swapon/devname1
-rw-r--r--tests/expected/swapon/fixpgsz1
-rw-r--r--tests/expected/swapon/fixsig1
-rw-r--r--tests/expected/swapon/label1
-rw-r--r--tests/expected/swapon/uuid1
-rw-r--r--tests/functions.sh470
-rw-r--r--tests/helpers/Makemodule.am12
-rw-r--r--tests/helpers/test_byteswap.c114
-rw-r--r--tests/helpers/test_md5.c29
-rw-r--r--tests/helpers/test_pathnames.c100
-rw-r--r--tests/helpers/test_sysinfo.c129
-rwxr-xr-xtests/run.sh136
-rwxr-xr-xtests/ts/bitops/swapbytes27
-rw-r--r--tests/ts/blkid/images-fs/adaptec-raid.img.bz2bin0 -> 256 bytes
-rw-r--r--tests/ts/blkid/images-fs/befs.img.bz2bin0 -> 36236 bytes
-rw-r--r--tests/ts/blkid/images-fs/bfs.img.bz2bin0 -> 133 bytes
-rw-r--r--tests/ts/blkid/images-fs/cramfs.img.bz2bin0 -> 124 bytes
-rw-r--r--tests/ts/blkid/images-fs/ddf-raid.img.bz2bin0 -> 599 bytes
-rw-r--r--tests/ts/blkid/images-fs/exfat.img.bz2bin0 -> 6301 bytes
-rw-r--r--tests/ts/blkid/images-fs/ext2.img.bz2bin0 -> 356 bytes
-rw-r--r--tests/ts/blkid/images-fs/ext3.img.bz2bin0 -> 1489 bytes
-rw-r--r--tests/ts/blkid/images-fs/fat.img.bz2bin0 -> 249 bytes
-rw-r--r--tests/ts/blkid/images-fs/fat16_noheads.img.bz2bin0 -> 336 bytes
-rw-r--r--tests/ts/blkid/images-fs/fat32_label_64MB.img.bz2bin0 -> 1151 bytes
-rw-r--r--tests/ts/blkid/images-fs/gfs2.img.bz2bin0 -> 130 bytes
-rw-r--r--tests/ts/blkid/images-fs/hfs.img.bz2bin0 -> 257 bytes
-rw-r--r--tests/ts/blkid/images-fs/hfsplus.img.bz2bin0 -> 300 bytes
-rw-r--r--tests/ts/blkid/images-fs/hpfs.img.bz2bin0 -> 2454 bytes
-rw-r--r--tests/ts/blkid/images-fs/hpt37x-raid.img.bz2bin0 -> 123 bytes
-rw-r--r--tests/ts/blkid/images-fs/hpt45x-raid.img.bz2bin0 -> 151 bytes
-rw-r--r--tests/ts/blkid/images-fs/iso-joliet.img.bz2bin0 -> 21050 bytes
-rw-r--r--tests/ts/blkid/images-fs/iso-rr-joliet.img.bz2bin0 -> 21380 bytes
-rw-r--r--tests/ts/blkid/images-fs/iso.img.bz2bin0 -> 20718 bytes
-rw-r--r--tests/ts/blkid/images-fs/isw-raid.img.bz2bin0 -> 251 bytes
-rw-r--r--tests/ts/blkid/images-fs/jbd.img.bz2bin0 -> 214 bytes
-rw-r--r--tests/ts/blkid/images-fs/jfs.img.bz2bin0 -> 3434 bytes
-rw-r--r--tests/ts/blkid/images-fs/jmicron-raid.img.bz2bin0 -> 159 bytes
-rw-r--r--tests/ts/blkid/images-fs/lsi-raid.img.bz2bin0 -> 146 bytes
-rw-r--r--tests/ts/blkid/images-fs/lvm2.img.bz2bin0 -> 177 bytes
-rw-r--r--tests/ts/blkid/images-fs/mdraid.img.bz2bin0 -> 160 bytes
-rw-r--r--tests/ts/blkid/images-fs/minix.img.bz2bin0 -> 138 bytes
-rw-r--r--tests/ts/blkid/images-fs/netware.img.bz2bin0 -> 239 bytes
-rw-r--r--tests/ts/blkid/images-fs/nilfs2.img.bz2bin0 -> 795 bytes
-rw-r--r--tests/ts/blkid/images-fs/ntfs.img.bz2bin0 -> 35942 bytes
-rw-r--r--tests/ts/blkid/images-fs/nvidia-raid.img.bz2bin0 -> 175 bytes
-rw-r--r--tests/ts/blkid/images-fs/ocfs2.img.bz2bin0 -> 1070 bytes
-rw-r--r--tests/ts/blkid/images-fs/promise-raid.img.bz2bin0 -> 784 bytes
-rw-r--r--tests/ts/blkid/images-fs/reiser3.img.bz2bin0 -> 282 bytes
-rw-r--r--tests/ts/blkid/images-fs/reiser4.img.bz2bin0 -> 372 bytes
-rw-r--r--tests/ts/blkid/images-fs/romfs.img.bz2bin0 -> 115 bytes
-rw-r--r--tests/ts/blkid/images-fs/silicon-raid.img.bz2bin0 -> 328 bytes
-rw-r--r--tests/ts/blkid/images-fs/small-fat32.img.bz2bin0 -> 372 bytes
-rw-r--r--tests/ts/blkid/images-fs/swap0.img.bz2bin0 -> 75 bytes
-rw-r--r--tests/ts/blkid/images-fs/swap1.img.bz2bin0 -> 121 bytes
-rw-r--r--tests/ts/blkid/images-fs/tuxonice.img.bz2bin0 -> 36891 bytes
-rw-r--r--tests/ts/blkid/images-fs/ubifs.img.bz2bin0 -> 937 bytes
-rw-r--r--tests/ts/blkid/images-fs/udf.img.bz2bin0 -> 2031 bytes
-rw-r--r--tests/ts/blkid/images-fs/ufs.img.bz2bin0 -> 1318 bytes
-rw-r--r--tests/ts/blkid/images-fs/via-raid.img.bz2bin0 -> 99 bytes
-rw-r--r--tests/ts/blkid/images-fs/vmfs.img.bz2bin0 -> 144 bytes
-rw-r--r--tests/ts/blkid/images-fs/vmfs_volume.img.bz2bin0 -> 287 bytes
-rw-r--r--tests/ts/blkid/images-fs/xfs.img.bz2bin0 -> 443 bytes
-rw-r--r--tests/ts/blkid/images-fs/zfs.img.bz2bin0 -> 10912 bytes
-rw-r--r--tests/ts/blkid/images-pt/bsd.img.bz2bin0 -> 122 bytes
-rw-r--r--tests/ts/blkid/images-pt/dos+bsd.img.bz2bin0 -> 1728 bytes
-rw-r--r--tests/ts/blkid/images-pt/gpt.img.bz2bin0 -> 494 bytes
-rw-r--r--tests/ts/blkid/images-pt/sgi.img.bz2bin0 -> 144 bytes
-rw-r--r--tests/ts/blkid/images-pt/sun.img.bz2bin0 -> 170 bytes
-rwxr-xr-xtests/ts/blkid/low-probe46
-rwxr-xr-xtests/ts/blkid/lowprobe-pt45
-rwxr-xr-xtests/ts/blkid/md-raid0-whole85
-rwxr-xr-xtests/ts/blkid/md-raid1-part91
-rwxr-xr-xtests/ts/blkid/md-raid1-whole85
-rwxr-xr-xtests/ts/build-sys/config70
-rwxr-xr-xtests/ts/cal/1m59
-rwxr-xr-xtests/ts/cal/3m58
-rwxr-xr-xtests/ts/cal/year58
-rwxr-xr-xtests/ts/col/multibyte27
-rw-r--r--tests/ts/col/multibyte.data1
-rwxr-xr-xtests/ts/colrm/rm2-226
-rwxr-xr-xtests/ts/column/fillrow29
-rw-r--r--tests/ts/column/input10
-rwxr-xr-xtests/ts/column/multi-file32
-rwxr-xr-xtests/ts/column/separator_table29
-rw-r--r--tests/ts/cramfs/cramfs-big.imgbin0 -> 4096 bytes
-rw-r--r--tests/ts/cramfs/cramfs-little.imgbin0 -> 4096 bytes
-rwxr-xr-xtests/ts/cramfs/doubles51
-rwxr-xr-xtests/ts/cramfs/fsck-endianness57
-rwxr-xr-xtests/ts/cramfs/mkfs95
-rwxr-xr-xtests/ts/cramfs/mkfs-endianness53
-rwxr-xr-xtests/ts/eject/umount111
-rwxr-xr-xtests/ts/fdisk/align-512-4K87
-rwxr-xr-xtests/ts/fdisk/align-512-4K-6387
-rwxr-xr-xtests/ts/fdisk/align-512-4K-md99
-rwxr-xr-xtests/ts/fdisk/align-512-51270
-rwxr-xr-xtests/ts/fdisk/align-512-512-topology87
-rwxr-xr-xtests/ts/fdisk/id37
-rwxr-xr-xtests/ts/fdisk/mbr-dos-mode135
-rwxr-xr-xtests/ts/fdisk/mbr-nondos-mode137
-rwxr-xr-xtests/ts/fdisk/oddinput40
-rwxr-xr-xtests/ts/fdisk/sunlabel74
-rwxr-xr-xtests/ts/fsck/ismounted45
-rwxr-xr-xtests/ts/hwclock/systohc58
-rw-r--r--tests/ts/ipcs/functions.sh83
-rwxr-xr-xtests/ts/ipcs/headers58
-rwxr-xr-xtests/ts/ipcs/limits51
-rwxr-xr-xtests/ts/ipcs/limits231
-rwxr-xr-xtests/ts/libmount/context133
-rwxr-xr-xtests/ts/libmount/context-utab125
-rw-r--r--tests/ts/libmount/files/fstab14
-rw-r--r--tests/ts/libmount/files/fstab.broken14
-rw-r--r--tests/ts/libmount/files/mountinfo32
-rw-r--r--tests/ts/libmount/files/mountinfo_mv32
-rw-r--r--tests/ts/libmount/files/mountinfo_re32
-rw-r--r--tests/ts/libmount/files/mountinfo_u31
-rw-r--r--tests/ts/libmount/files/mtab11
-rwxr-xr-xtests/ts/libmount/lock39
-rwxr-xr-xtests/ts/libmount/optstr95
-rwxr-xr-xtests/ts/libmount/tabdiff31
-rwxr-xr-xtests/ts/libmount/tabfiles65
-rwxr-xr-xtests/ts/libmount/tabfiles-tags95
-rwxr-xr-xtests/ts/libmount/update96
-rwxr-xr-xtests/ts/libmount/utils79
-rwxr-xr-xtests/ts/login/islocal27
-rw-r--r--tests/ts/login/islocal.data10
-rwxr-xr-xtests/ts/login/logindefs24
-rw-r--r--tests/ts/login/logindefs.data16
-rwxr-xr-xtests/ts/look/separator39
-rw-r--r--tests/ts/look/words3
-rw-r--r--tests/ts/lscpu/dumps/i386-amdshanghai.tar.gzbin0 -> 3395 bytes
-rw-r--r--tests/ts/lscpu/dumps/i386-dellpe700.tar.gzbin0 -> 799 bytes
-rw-r--r--tests/ts/lscpu/dumps/i386-intels5000phb.tar.gzbin0 -> 2865 bytes
-rw-r--r--tests/ts/lscpu/dumps/ia64-512cpus.tar.gzbin0 -> 67254 bytes
-rw-r--r--tests/ts/lscpu/dumps/ia64-hpmatterhorn.tar.gzbin0 -> 3514 bytes
-rw-r--r--tests/ts/lscpu/dumps/ia64-hprx1620.tar.gzbin0 -> 1384 bytes
-rw-r--r--tests/ts/lscpu/dumps/ia64-pg0.tar.gzbin0 -> 7784 bytes
-rw-r--r--tests/ts/lscpu/dumps/ppc64-POWER7.tar.gzbin0 -> 14350 bytes
-rw-r--r--tests/ts/lscpu/dumps/s390-kvm.tar.gzbin0 -> 2275 bytes
-rw-r--r--tests/ts/lscpu/dumps/s390-lpar.tar.gzbin0 -> 6611 bytes
-rw-r--r--tests/ts/lscpu/dumps/s390-zvm.tar.gzbin0 -> 2582 bytes
-rw-r--r--tests/ts/lscpu/dumps/sparc64-UltraSparc-T1.tar.gzbin0 -> 23071 bytes
-rw-r--r--tests/ts/lscpu/dumps/x86_64-64cpu.tar.gzbin0 -> 153140 bytes
-rw-r--r--tests/ts/lscpu/dumps/x86_64-dell_e4310.tar.gzbin0 -> 12933 bytes
-rw-r--r--tests/ts/lscpu/dumps/x86_64-dell_poweredge1950.tar.gzbin0 -> 1492 bytes
-rw-r--r--tests/ts/lscpu/dumps/x86_64-dell_poweredgeR610.tar.gzbin0 -> 14095 bytes
-rw-r--r--tests/ts/lscpu/dumps/x86_64-dellr710.tar.gzbin0 -> 14300 bytes
-rw-r--r--tests/ts/lscpu/dumps/x86_64-el5xen.tar.gzbin0 -> 7296 bytes
-rw-r--r--tests/ts/lscpu/dumps/x86_64-hpdl585.tar.gzbin0 -> 6910 bytes
-rw-r--r--tests/ts/lscpu/dumps/x86_64-ibme326m.tar.gzbin0 -> 1461 bytes
-rw-r--r--tests/ts/lscpu/dumps/x86_64-necem14.tar.gzbin0 -> 1307 bytes
-rwxr-xr-xtests/ts/lscpu/lscpu50
-rw-r--r--tests/ts/lscpu/mk-input.sh43
-rw-r--r--tests/ts/md5/data7
-rwxr-xr-xtests/ts/md5/md531
-rwxr-xr-xtests/ts/minix/fsck39
-rwxr-xr-xtests/ts/minix/mkfs47
-rwxr-xr-xtests/ts/misc/strtosize60
-rwxr-xr-xtests/ts/mount/devname53
-rwxr-xr-xtests/ts/mount/encryption64
-rwxr-xr-xtests/ts/mount/fstab-broken62
-rwxr-xr-xtests/ts/mount/fstab-devname53
-rwxr-xr-xtests/ts/mount/fstab-devname2label49
-rwxr-xr-xtests/ts/mount/fstab-devname2uuid49
-rwxr-xr-xtests/ts/mount/fstab-label60
-rwxr-xr-xtests/ts/mount/fstab-label2devname55
-rwxr-xr-xtests/ts/mount/fstab-label2uuid60
-rwxr-xr-xtests/ts/mount/fstab-none30
-rwxr-xr-xtests/ts/mount/fstab-symlink68
-rwxr-xr-xtests/ts/mount/fstab-uuid60
-rwxr-xr-xtests/ts/mount/fstab-uuid2devname55
-rwxr-xr-xtests/ts/mount/fstab-uuid2label59
-rwxr-xr-xtests/ts/mount/label53
-rwxr-xr-xtests/ts/mount/move53
-rwxr-xr-xtests/ts/mount/noncanonical37
-rwxr-xr-xtests/ts/mount/paths31
-rwxr-xr-xtests/ts/mount/regfile37
-rwxr-xr-xtests/ts/mount/remount52
-rwxr-xr-xtests/ts/mount/rlimit78
-rwxr-xr-xtests/ts/mount/shared-subtree58
-rwxr-xr-xtests/ts/mount/special40
-rwxr-xr-xtests/ts/mount/uuid52
-rwxr-xr-xtests/ts/namei/logic34
-rwxr-xr-xtests/ts/partx/partx45
-rwxr-xr-xtests/ts/paths/built-in27
-rwxr-xr-xtests/ts/schedutils/cpuset57
-rwxr-xr-xtests/ts/script/race36
-rwxr-xr-xtests/ts/swapon/devname44
-rwxr-xr-xtests/ts/swapon/fixpgsz44
-rwxr-xr-xtests/ts/swapon/fixsig46
-rwxr-xr-xtests/ts/swapon/label46
-rwxr-xr-xtests/ts/swapon/uuid46
-rw-r--r--text-utils/Makemodule.am81
-rw-r--r--text-utils/col.1161
-rw-r--r--text-utils/col.c576
-rw-r--r--text-utils/colcrt.1102
-rw-r--r--text-utils/colcrt.c324
-rw-r--r--text-utils/colrm.175
-rw-r--r--text-utils/colrm.c194
-rw-r--r--text-utils/column.177
-rw-r--r--text-utils/column.c417
-rw-r--r--text-utils/conv.c109
-rw-r--r--text-utils/display.c348
-rw-r--r--text-utils/hexdump.1324
-rw-r--r--text-utils/hexdump.c82
-rw-r--r--text-utils/hexdump.h93
-rw-r--r--text-utils/hexsyntax.c142
-rw-r--r--text-utils/line.117
-rw-r--r--text-utils/line.c45
-rw-r--r--text-utils/more.1249
-rw-r--r--text-utils/more.c2197
-rw-r--r--text-utils/parse.c495
-rw-r--r--text-utils/pg.1232
-rw-r--r--text-utils/pg.c1783
-rw-r--r--text-utils/rev.160
-rw-r--r--text-utils/rev.c177
-rw-r--r--text-utils/tailf.168
-rw-r--r--text-utils/tailf.c292
-rw-r--r--text-utils/ul.1113
-rw-r--r--text-utils/ul.c672
-rwxr-xr-xtools/git-version-gen181
1139 files changed, 699596 insertions, 0 deletions
diff --git a/.tarball-version b/.tarball-version
new file mode 100644
index 0000000..4699fb0
--- /dev/null
+++ b/.tarball-version
@@ -0,0 +1 @@
+2.22
diff --git a/.version b/.version
new file mode 100644
index 0000000..4699fb0
--- /dev/null
+++ b/.version
@@ -0,0 +1 @@
+2.22
diff --git a/ABOUT-NLS b/ABOUT-NLS
new file mode 100644
index 0000000..2f50c66
--- /dev/null
+++ b/ABOUT-NLS
@@ -0,0 +1,768 @@
+Notes on the Free Translation Project
+*************************************
+
+Free software is going international! The Free Translation Project is
+a way to get maintainers of free software, translators, and users all
+together, so that will gradually become able to speak many languages.
+A few packages already provide translations for their messages.
+
+ If you found this `ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU `gettext' internally,
+itself available at your nearest GNU archive site. But you do _not_
+need to install GNU `gettext' prior to configuring, installing or using
+this package with messages translated.
+
+ Installers will find here some useful hints. These notes also
+explain how users should proceed for getting the programs to use the
+available translations. They tell how people wanting to contribute and
+work at translations should contact the appropriate team.
+
+ When reporting bugs in the `intl/' directory or bugs which may be
+related to internationalization, you should tell about the version of
+`gettext' which is used. The information can be found in the
+`intl/VERSION' file, in internationalized packages.
+
+Quick configuration advice
+==========================
+
+If you want to exploit the full power of internationalization, you
+should configure it using
+
+ ./configure --with-included-gettext
+
+to force usage of internationalizing routines provided within this
+package, despite the existence of internationalizing capabilities in the
+operating system where this package is being installed. So far, only
+the `gettext' implementation in the GNU C library version 2 provides as
+many features (such as locale alias, message inheritance, automatic
+charset conversion or plural form handling) as the implementation here.
+It is also not possible to offer this additional functionality on top
+of a `catgets' implementation. Future versions of GNU `gettext' will
+very likely convey even more functionality. So it might be a good idea
+to change to GNU `gettext' as soon as possible.
+
+ So you need _not_ provide this option if you are using GNU libc 2 or
+you have installed a recent copy of the GNU gettext package with the
+included `libintl'.
+
+INSTALL Matters
+===============
+
+Some packages are "localizable" when properly installed; the programs
+they contain can be made to speak your own native language. Most such
+packages use GNU `gettext'. Other packages have their own ways to
+internationalization, predating GNU `gettext'.
+
+ By default, this package will be installed to allow translation of
+messages. It will automatically detect whether the system already
+provides the GNU `gettext' functions. If not, the GNU `gettext' own
+library will be used. This library is wholly contained within this
+package, usually in the `intl/' subdirectory, so prior installation of
+the GNU `gettext' package is _not_ required. Installers may use
+special options at configuration time for changing the default
+behaviour. The commands:
+
+ ./configure --with-included-gettext
+ ./configure --disable-nls
+
+will respectively bypass any pre-existing `gettext' to use the
+internationalizing routines provided within this package, or else,
+_totally_ disable translation of messages.
+
+ When you already have GNU `gettext' installed on your system and run
+configure without an option for your new package, `configure' will
+probably detect the previously built and installed `libintl.a' file and
+will decide to use this. This might be not what is desirable. You
+should use the more recent version of the GNU `gettext' library. I.e.
+if the file `intl/VERSION' shows that the library which comes with this
+package is more recent, you should use
+
+ ./configure --with-included-gettext
+
+to prevent auto-detection.
+
+ The configuration process will not test for the `catgets' function
+and therefore it will not be used. The reason is that even an
+emulation of `gettext' on top of `catgets' could not provide all the
+extensions of the GNU `gettext' library.
+
+ Internationalized packages have usually many `po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language. Unless
+translations have been forbidden at `configure' time by using the
+`--disable-nls' switch, all available translations are installed
+together with the package. However, the environment variable `LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+`LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+Using This Package
+==================
+
+As a user, if your language has been installed for this package, you
+only have to set the `LANG' environment variable to the appropriate
+`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
+and `CC' is an ISO 3166 two-letter country code. For example, let's
+suppose that you speak German and live in Germany. At the shell
+prompt, merely execute `setenv LANG de_DE' (in `csh'),
+`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
+This can be done from your `.login' or `.profile' file, once and for
+all.
+
+ You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries. For
+example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
+country code serves to distinguish the dialects.
+
+ The locale naming convention of `LL_CC', with `LL' denoting the
+language and `CC' denoting the country, is the one use on systems based
+on GNU libc. On other systems, some variations of this scheme are
+used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
+locales supported by your system for your country by running the command
+`locale -a | grep '^LL''.
+
+ Not all programs have translations for all languages. By default, an
+English message is shown in place of a nonexistent translation. If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
+for the purpose of message handling, but you still need to have `LANG'
+set to the primary language; this is required by other parts of the
+system libraries. For example, some Swedish users who would rather
+read translations in German than English for when Swedish is not
+available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
+
+ Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from `no' to `nb' recently (in 2003). During the
+transition period, while some message catalogs for this language are
+installed under `nb' and some older ones under `no', it's recommended
+for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
+older translations are used.
+
+ In the `LANGUAGE' environment variable, but not in the `LANG'
+environment variable, `LL_CC' combinations can be abbreviated as `LL'
+to denote the language's main dialect. For example, `de' is equivalent
+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
+(Portuguese as spoken in Portugal) in this context.
+
+Translating Teams
+=================
+
+For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list. The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
+area.
+
+ If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+`-request' appended. For example, speakers of Swedish can send a
+message to `sv-request@li.org', having this message body:
+
+ subscribe
+
+ Keep in mind that team members are expected to participate
+_actively_ in translations, or at solving translational difficulties,
+rather than merely lurking around. If your team does not exist yet and
+you want to start one, or if you are unsure about what to do or how to
+get started, please write to `translation@iro.umontreal.ca' to reach the
+coordinator for all translator teams.
+
+ The English team is special. It works at improving and uniformizing
+the terminology in use. Proven linguistic skill are praised more than
+programming skill, here.
+
+Available Packages
+==================
+
+Languages are not equally supported in all packages. The following
+matrix shows the current state of internationalization, as of January
+2004. The matrix shows, in regard of each package, for which languages
+PO files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+ Ready PO files af am ar az be bg bs ca cs da de el en en_GB eo es
+ +----------------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | () |
+ ant-phone | () |
+ anubis | |
+ ap-utils | |
+ aspell | [] |
+ bash | [] [] [] [] |
+ batchelor | |
+ bfd | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bluez-pin | [] [] [] |
+ clisp | |
+ clisp | [] [] [] |
+ console-tools | [] [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] |
+ darkstat | [] () [] |
+ diffutils | [] [] [] [] [] [] [] |
+ e2fsprogs | [] [] [] |
+ enscript | [] [] [] [] |
+ error | [] [] [] [] [] |
+ fetchmail | [] () [] [] [] [] |
+ fileutils | [] [] [] |
+ findutils | [] [] [] [] [] [] [] |
+ flex | [] [] [] [] |
+ fslint | |
+ gas | [] |
+ gawk | [] [] [] [] |
+ gbiff | [] |
+ gcal | [] |
+ gcc | [] [] |
+ gettext | [] [] [] [] [] |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gimp-print | [] [] [] [] [] |
+ gliv | |
+ glunarclock | [] [] |
+ gnubiff | [] |
+ gnucash | [] () [] [] |
+ gnucash-glossary | [] () [] |
+ gnupg | [] () [] [] [] [] |
+ gpe-aerial | [] |
+ gpe-beam | [] [] |
+ gpe-calendar | [] [] |
+ gpe-clock | [] [] |
+ gpe-conf | [] [] |
+ gpe-contacts | [] [] |
+ gpe-edit | [] |
+ gpe-go | [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] |
+ gpe-taskmanager | [] [] |
+ gpe-timesheet | [] |
+ gpe-today | [] [] |
+ gpe-todo | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | () () () |
+ gramadoir | [] |
+ grep | [] [] [] [] [] [] |
+ gretl | [] |
+ gtick | [] () |
+ hello | [] [] [] [] [] [] |
+ id-utils | [] [] |
+ indent | [] [] [] [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_1 | [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_3166_3 | [] |
+ iso_4217 | [] [] [] [] |
+ iso_639 | |
+ jpilot | [] [] [] |
+ jtag | |
+ jwhois | [] |
+ kbd | [] [] [] [] [] |
+ latrine | () |
+ ld | [] [] |
+ libc | [] [] [] [] [] [] |
+ libgpewidget | [] [] |
+ libiconv | [] [] [] [] [] |
+ lifelines | [] () |
+ lilypond | [] |
+ lingoteach | |
+ lingoteach_lessons | () () |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] |
+ mailutils | [] [] |
+ make | [] [] [] |
+ man-db | [] () [] [] () |
+ minicom | [] [] [] |
+ mysecretdiary | [] [] [] |
+ nano | [] () [] [] [] |
+ nano_1_0 | [] () [] [] [] |
+ opcodes | [] |
+ parted | [] [] [] [] [] |
+ ptx | [] [] [] [] [] |
+ python | |
+ radius | [] |
+ recode | [] [] [] [] [] [] [] |
+ rpm | [] [] |
+ screem | |
+ scrollkeeper | [] [] [] [] [] [] |
+ sed | [] [] [] [] [] [] |
+ sh-utils | [] [] [] |
+ shared-mime-info | |
+ sharutils | [] [] [] [] [] [] |
+ silky | () |
+ skencil | [] () [] |
+ sketch | [] () [] |
+ soundtracker | [] [] [] |
+ sp | [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] |
+ textutils | [] [] [] [] |
+ tin | () () |
+ tp-robot | |
+ tuxpaint | [] [] [] [] [] [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux | [] [] [] [] [] |
+ vorbis-tools | [] [] [] [] |
+ wastesedge | () |
+ wdiff | [] [] [] [] |
+ wget | [] [] [] [] [] [] |
+ xchat | [] [] [] [] |
+ xfree86_xkb_xml | [] [] |
+ xpad | [] |
+ +----------------------------------------------------+
+ af am ar az be bg bs ca cs da de el en en_GB eo es
+ 4 0 0 1 9 4 1 40 41 60 78 17 1 5 13 68
+
+ et eu fa fi fr ga gl he hr hu id is it ja ko lg
+ +-------------------------------------------------+
+ a2ps | [] [] [] () () |
+ aegis | |
+ ant-phone | [] |
+ anubis | [] |
+ ap-utils | [] |
+ aspell | [] [] |
+ bash | [] [] |
+ batchelor | [] [] |
+ bfd | [] |
+ binutils | [] [] |
+ bison | [] [] [] [] |
+ bluez-pin | [] [] [] [] [] |
+ clisp | |
+ clisp | [] |
+ console-tools | |
+ coreutils | [] [] [] [] [] [] |
+ cpio | [] [] [] [] |
+ darkstat | () [] [] [] |
+ diffutils | [] [] [] [] [] [] [] |
+ e2fsprogs | |
+ enscript | [] [] |
+ error | [] [] [] [] |
+ fetchmail | [] |
+ fileutils | [] [] [] [] [] [] |
+ findutils | [] [] [] [] [] [] [] [] [] [] [] |
+ flex | [] [] [] |
+ fslint | [] |
+ gas | [] |
+ gawk | [] [] [] |
+ gbiff | [] |
+ gcal | [] |
+ gcc | [] |
+ gettext | [] [] [] |
+ gettext-examples | [] [] |
+ gettext-runtime | [] [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gimp-print | [] [] |
+ gliv | () |
+ glunarclock | [] [] [] [] |
+ gnubiff | [] |
+ gnucash | () [] |
+ gnucash-glossary | [] |
+ gnupg | [] [] [] [] [] [] [] |
+ gpe-aerial | [] |
+ gpe-beam | [] |
+ gpe-calendar | [] [] [] |
+ gpe-clock | [] |
+ gpe-conf | [] |
+ gpe-contacts | [] [] |
+ gpe-edit | [] [] |
+ gpe-go | [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] [] |
+ gpe-sketchbook | [] |
+ gpe-su | [] |
+ gpe-taskmanager | [] |
+ gpe-timesheet | [] [] [] |
+ gpe-today | [] [] |
+ gpe-todo | [] [] |
+ gphoto2 | [] [] [] |
+ gprof | [] [] |
+ gpsdrive | () () () |
+ gramadoir | [] [] |
+ grep | [] [] [] [] [] [] [] [] [] [] [] |
+ gretl | [] [] |
+ gtick | [] [] [] |
+ hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ id-utils | [] [] [] [] |
+ indent | [] [] [] [] [] [] [] [] [] |
+ iso_3166 | [] [] [] [] [] [] [] |
+ iso_3166_1 | [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_3166_3 | |
+ iso_4217 | [] [] [] [] [] [] |
+ iso_639 | |
+ jpilot | [] () |
+ jtag | [] |
+ jwhois | [] [] [] [] |
+ kbd | [] |
+ latrine | [] |
+ ld | [] |
+ libc | [] [] [] [] [] [] |
+ libgpewidget | [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] [] [] |
+ lifelines | () |
+ lilypond | [] |
+ lingoteach | [] [] |
+ lingoteach_lessons | |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] |
+ mailutils | |
+ make | [] [] [] [] [] [] |
+ man-db | () () |
+ minicom | [] [] [] [] |
+ mysecretdiary | [] [] |
+ nano | [] [] [] [] |
+ nano_1_0 | [] [] [] [] |
+ opcodes | [] |
+ parted | [] [] [] |
+ ptx | [] [] [] [] [] [] [] |
+ python | |
+ radius | [] |
+ recode | [] [] [] [] [] [] |
+ rpm | [] [] |
+ screem | |
+ scrollkeeper | [] |
+ sed | [] [] [] [] [] [] [] [] [] |
+ sh-utils | [] [] [] [] [] [] [] |
+ shared-mime-info | [] [] [] |
+ sharutils | [] [] [] [] [] |
+ silky | () [] () () |
+ skencil | [] |
+ sketch | [] |
+ soundtracker | [] [] |
+ sp | [] () |
+ tar | [] [] [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] |
+ textutils | [] [] [] [] [] [] |
+ tin | [] () |
+ tp-robot | [] |
+ tuxpaint | [] [] [] [] [] [] [] [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | [] [] |
+ util-linux | [] [] [] [] () [] |
+ vorbis-tools | [] |
+ wastesedge | () |
+ wdiff | [] [] [] [] [] [] |
+ wget | [] [] [] [] [] [] [] |
+ xchat | [] [] [] |
+ xfree86_xkb_xml | [] [] |
+ xpad | [] [] |
+ +-------------------------------------------------+
+ et eu fa fi fr ga gl he hr hu id is it ja ko lg
+ 22 2 1 26 106 28 24 8 10 41 33 1 26 33 12 0
+
+ lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
+ +-----------------------------------------------------+
+ a2ps | [] [] () () [] [] [] |
+ aegis | () () () |
+ ant-phone | [] [] |
+ anubis | [] [] [] [] [] [] |
+ ap-utils | [] () [] |
+ aspell | [] |
+ bash | [] [] [] |
+ batchelor | [] |
+ bfd | [] |
+ binutils | [] |
+ bison | [] [] [] [] [] |
+ bluez-pin | [] [] [] |
+ clisp | |
+ clisp | [] |
+ console-tools | [] |
+ coreutils | [] [] |
+ cpio | [] [] [] [] [] |
+ darkstat | [] [] [] [] |
+ diffutils | [] [] [] [] [] [] |
+ e2fsprogs | [] |
+ enscript | [] [] [] [] |
+ error | [] [] [] |
+ fetchmail | [] [] () [] |
+ fileutils | [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] |
+ fslint | [] [] |
+ gas | |
+ gawk | [] [] [] |
+ gbiff | [] [] |
+ gcal | |
+ gcc | |
+ gettext | [] [] [] |
+ gettext-examples | [] [] [] |
+ gettext-runtime | [] [] [] [] |
+ gettext-tools | [] [] |
+ gimp-print | [] |
+ gliv | [] [] [] |
+ glunarclock | [] [] [] [] |
+ gnubiff | [] |
+ gnucash | [] [] () [] |
+ gnucash-glossary | [] [] |
+ gnupg | [] |
+ gpe-aerial | [] [] [] [] |
+ gpe-beam | [] [] [] [] |
+ gpe-calendar | [] [] [] [] |
+ gpe-clock | [] [] [] [] |
+ gpe-conf | [] [] [] [] |
+ gpe-contacts | [] [] [] [] |
+ gpe-edit | [] [] [] [] |
+ gpe-go | [] [] [] |
+ gpe-login | [] [] [] [] |
+ gpe-ownerinfo | [] [] [] [] |
+ gpe-sketchbook | [] [] [] [] |
+ gpe-su | [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] |
+ gpe-timesheet | [] [] [] [] |
+ gpe-today | [] [] [] [] |
+ gpe-todo | [] [] [] [] |
+ gphoto2 | [] |
+ gprof | [] [] |
+ gpsdrive | () () [] |
+ gramadoir | () [] |
+ grep | [] [] [] [] [] |
+ gretl | |
+ gtick | [] [] [] |
+ hello | [] [] [] [] [] [] [] [] [] [] |
+ id-utils | [] [] [] [] |
+ indent | [] [] [] [] |
+ iso_3166 | [] [] [] |
+ iso_3166_1 | [] [] |
+ iso_3166_2 | |
+ iso_3166_3 | [] |
+ iso_4217 | [] [] [] [] [] [] [] [] |
+ iso_639 | [] |
+ jpilot | () () |
+ jtag | |
+ jwhois | [] [] [] [] () |
+ kbd | [] [] [] |
+ latrine | [] |
+ ld | |
+ libc | [] [] [] [] |
+ libgpewidget | [] [] [] |
+ libiconv | [] [] [] [] [] |
+ lifelines | |
+ lilypond | |
+ lingoteach | |
+ lingoteach_lessons | |
+ lynx | [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailutils | [] [] [] |
+ make | [] [] [] [] |
+ man-db | [] |
+ minicom | [] [] [] [] |
+ mysecretdiary | [] [] [] |
+ nano | [] [] [] [] [] |
+ nano_1_0 | [] [] [] [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] [] [] |
+ ptx | [] [] [] [] [] [] [] [] |
+ python | |
+ radius | [] [] |
+ recode | [] [] [] [] |
+ rpm | [] [] [] |
+ screem | |
+ scrollkeeper | [] [] [] [] [] |
+ sed | [] [] [] |
+ sh-utils | [] [] |
+ shared-mime-info | [] [] |
+ sharutils | [] [] |
+ silky | () |
+ skencil | [] [] |
+ sketch | [] [] |
+ soundtracker | |
+ sp | |
+ tar | [] [] [] [] [] [] |
+ texinfo | [] [] [] [] |
+ textutils | [] [] |
+ tin | |
+ tp-robot | [] |
+ tuxpaint | [] [] [] [] [] [] [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux | [] [] [] |
+ vorbis-tools | [] [] [] |
+ wastesedge | |
+ wdiff | [] [] [] [] [] |
+ wget | [] [] [] |
+ xchat | [] [] [] |
+ xfree86_xkb_xml | [] [] |
+ xpad | [] [] |
+ +-----------------------------------------------------+
+ lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
+ 1 2 0 3 12 0 10 69 6 7 1 40 26 36 76 63
+
+ sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
+ +-----------------------------------------------------+
+ a2ps | [] [] [] [] | 16
+ aegis | | 0
+ ant-phone | | 3
+ anubis | [] [] | 9
+ ap-utils | () | 3
+ aspell | | 4
+ bash | | 9
+ batchelor | | 3
+ bfd | [] [] | 6
+ binutils | [] [] [] | 8
+ bison | [] [] | 14
+ bluez-pin | [] [] [] | 14
+ clisp | | 0
+ clisp | | 5
+ console-tools | | 3
+ coreutils | [] [] [] [] | 16
+ cpio | [] [] | 14
+ darkstat | [] [] [] () () | 12
+ diffutils | [] [] [] | 23
+ e2fsprogs | [] [] | 6
+ enscript | [] [] | 12
+ error | [] [] [] | 15
+ fetchmail | [] [] | 11
+ fileutils | [] [] [] [] [] | 17
+ findutils | [] [] [] [] [] [] | 29
+ flex | [] [] | 13
+ fslint | | 3
+ gas | [] | 3
+ gawk | [] [] | 12
+ gbiff | | 4
+ gcal | [] [] | 4
+ gcc | [] | 4
+ gettext | [] [] [] [] [] | 16
+ gettext-examples | [] [] [] [] [] | 14
+ gettext-runtime | [] [] [] [] [] [] [] [] | 22
+ gettext-tools | [] [] [] [] [] [] | 14
+ gimp-print | [] [] | 10
+ gliv | | 3
+ glunarclock | [] [] [] | 13
+ gnubiff | | 3
+ gnucash | [] [] | 9
+ gnucash-glossary | [] [] [] | 8
+ gnupg | [] [] [] [] | 17
+ gpe-aerial | [] | 7
+ gpe-beam | [] | 8
+ gpe-calendar | [] [] [] [] | 13
+ gpe-clock | [] [] [] | 10
+ gpe-conf | [] [] | 9
+ gpe-contacts | [] [] [] | 11
+ gpe-edit | [] [] [] [] [] | 12
+ gpe-go | | 5
+ gpe-login | [] [] [] [] [] | 13
+ gpe-ownerinfo | [] [] [] [] | 13
+ gpe-sketchbook | [] [] | 9
+ gpe-su | [] [] [] | 10
+ gpe-taskmanager | [] [] [] | 10
+ gpe-timesheet | [] [] [] [] | 12
+ gpe-today | [] [] [] [] [] | 13
+ gpe-todo | [] [] [] [] | 12
+ gphoto2 | [] [] [] | 11
+ gprof | [] [] | 9
+ gpsdrive | [] [] | 3
+ gramadoir | [] | 5
+ grep | [] [] [] [] | 26
+ gretl | | 3
+ gtick | | 7
+ hello | [] [] [] [] [] | 34
+ id-utils | [] [] | 12
+ indent | [] [] [] [] | 21
+ iso_3166 | [] [] [] [] [] [] [] | 27
+ iso_3166_1 | [] [] [] | 16
+ iso_3166_2 | | 0
+ iso_3166_3 | | 2
+ iso_4217 | [] [] [] [] [] [] | 24
+ iso_639 | | 1
+ jpilot | [] [] [] [] [] | 9
+ jtag | [] | 2
+ jwhois | () [] [] | 11
+ kbd | [] [] | 11
+ latrine | | 2
+ ld | [] [] | 5
+ libc | [] [] [] [] | 20
+ libgpewidget | [] [] [] [] | 13
+ libiconv | [] [] [] [] [] [] [] [] | 27
+ lifelines | [] | 2
+ lilypond | [] | 3
+ lingoteach | | 2
+ lingoteach_lessons | () | 0
+ lynx | [] [] [] | 14
+ m4 | [] [] | 15
+ mailutils | | 5
+ make | [] [] [] | 16
+ man-db | [] | 5
+ minicom | | 11
+ mysecretdiary | [] [] | 10
+ nano | [] [] [] [] | 17
+ nano_1_0 | [] [] [] | 17
+ opcodes | [] [] | 6
+ parted | [] [] [] | 15
+ ptx | [] [] | 22
+ python | | 0
+ radius | | 4
+ recode | [] [] [] | 20
+ rpm | [] [] | 9
+ screem | [] [] | 2
+ scrollkeeper | [] [] [] | 15
+ sed | [] [] [] [] [] [] | 24
+ sh-utils | [] [] | 14
+ shared-mime-info | [] [] | 7
+ sharutils | [] [] [] [] | 17
+ silky | () | 3
+ skencil | [] | 6
+ sketch | [] | 6
+ soundtracker | [] [] | 7
+ sp | [] | 3
+ tar | [] [] [] [] [] | 24
+ texinfo | [] [] [] | 14
+ textutils | [] [] [] [] | 16
+ tin | | 1
+ tp-robot | | 2
+ tuxpaint | [] [] [] [] [] | 29
+ unicode-han-tra... | | 0
+ unicode-transla... | | 2
+ util-linux | [] [] | 15
+ vorbis-tools | | 8
+ wastesedge | | 0
+ wdiff | [] [] [] | 18
+ wget | [] [] [] [] [] [] [] [] | 24
+ xchat | [] [] [] [] [] | 15
+ xfree86_xkb_xml | [] [] [] [] [] | 11
+ xpad | | 5
+ +-----------------------------------------------------+
+ 63 teams sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
+ 131 domains 47 19 28 83 0 0 59 13 1 1 11 0 22 22 0 1373
+
+ Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect. This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+ For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and
+distributed as such by its maintainer. There might be an observable
+lag between the mere existence a PO file and its wide availability in a
+distribution.
+
+ If January 2004 seems to be old, you may fetch a more recent copy of
+this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
+matrix with full percentage details can be found at
+`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
+
+Using `gettext' in new packages
+===============================
+
+If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU `gettext' in your
+package. Of course you have to respect the GNU Library General Public
+License which covers the use of the GNU `gettext' library. This means
+in particular that even non-free programs can use `libintl' as a shared
+library, whereas only free software can use `libintl' as a static
+library or use modified versions of `libintl'.
+
+ Once the sources are changed appropriately and the setup can handle
+the use of `gettext' the only thing missing are the translations. The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project. Therefore the information given above
+applies also for every other Free Software Project. Contact
+`translation@iro.umontreal.ca' to make the `.pot' files available to
+the translation teams.
+
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..774fb50
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,376 @@
+
+ utils-linux
+
+MAINTAINER:
+
+ Karel Zak <kzak@redhat.com>
+
+
+PAST MAINTAINERS:
+
+ Adrian Bunk <bunk@stusta.de>
+ Andries E. Brouwer <aeb@cwi.nl>
+
+
+AUTHORS (merged projects & commands):
+
+ fallocate: Eric Sandeen <sandeen@redhat.com>
+ Karel Zak <kzak@redhat.com>
+ Matěj Cepl <mcepl@redhat.com>
+ findmnt: Karel Zak <kzak@redhat.com>
+ flock: H. Peter Anvin <hpa@zytor.com>
+ fstrim: Lukas Czerner <lczerner@redhat.com>
+ fsfreeze: Hajime Taira <htaira@redhat.com>
+ getopt: Frodo Looijaard <frodol@dds.nl>
+ hwclock: Bryan Henderson <bryanh@giraffe-data.com>
+ ipcmk: Hayden James <hayden.james@gmail.com>
+ ldattach: Tilman Schmidt <tilman@imap.cc>
+ libblkid: Theodore Ts'o <tytso@mit.edu>
+ libmount: Karel Zak <kzak@redhat.com>
+ libuuid: Theodore Ts'o <tytso@mit.edu>
+ lscpu: Cai Qian <qcai@redhat.com>
+ lsblk: Milan Broz <mbroz@redhat.com>
+ Karel Zak <kzak@redhat.com>
+ rtcwake: David Brownell <david-b@pacbell.net>
+ Bernhard Walle <bwalle@suse.de>
+ schedutils: Robert Love <rlove@rlove.org>
+ setarch: Elliot Lee <sopwith@redhat.com>
+ Jindrich Novy <jnovy@redhat.com>
+ simpleinit: Richard Gooch <rgooch@atnf.csiro.au>
+ switch_root: Peter Jones <pjones@redhat.com>
+ Jeremy Katz <katzj@redhat.com>
+ unshare: Mikhail Gusarov <dottedmag@dottedmag.net>
+ wipefs: Karel Zak <kzak@redhat.com>
+ swaplabel: Jason Borden <jborden@bluehost.com>
+ Karel Zak <kzak@redhat.com>
+
+
+CONTRIBUTORS:
+
+ A. Costa <agcosta@gis.net>
+ Adam Jackson <ajax@redhat.com>
+ Adrian Knoth <adi@drcomp.erfurt.thur.de>
+ Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+ Alain Guibert <alguibert+ulng@free.fr>
+ Alan Curry <pacman@TheWorld.com>
+ Alan Wendt <alan@ezlink.com>
+ Alexander Shishkin <virtuoso@slind.org>
+ Alexandre Peixoto Ferreira <alexandref75@gmail.com>
+ Alexey Gladkov <gladkov.alexey@gmail.com>
+ Alexey Gladkov <legion@altlinux.ru>
+ Alon Bar-Lev <alon.barlev@gmail.com>
+ Alvaro M. Echevarria
+ Américo Wang <xiyou.wangcong@gmail.com>
+ Andrea Galbusera <gizero@gmail.com>
+ Andreas BieĂźmann <biessmann@corscience.de>
+ Andreas Dilger <adilger@sun.com>
+ Andreas Schwab <schwab@linux-m68k.org>
+ Andreas Vogel <Andreas.Vogel@anvo-it.de>
+ Andrew McGill <list2008@lunch.za.net>
+ Andrew Nayenko <resver@gmail.com>
+ Andrzej Krzysztofowicz <ankry@mif.pg.gda.pl>
+ Anthony Rumble <arumble@extro.ucc.su.OZ.AU>
+ Anton V. Boyarshinov <boyarsh@altlinux.org>
+ Arif E. Nugroho <arif_endro@yahoo.com>
+ Arkadiusz Miskiewicz <arekm@maven.pl>
+ Arnaud Mouiche <arnaud.mouiche@invoxia.com>
+ Arun Persaud <arun@nubati.net>
+ Attila Ăfra <attila.afra@gmail.com>
+ Aurelien Jarno <aurelien@aurel32.net>
+ Balint Cristian <cbalint@redhat.com>
+ Bastian Friedrich <bastian.friedrich@collax.com>
+ Ben Hutchings <ben@decadent.org.uk>
+ Benno Schulenberg <benno@vertaalt.nl>
+ Bernardo Innocenti <bernie@codewiz.org>
+ Bernhard Voelker <mail@bernhard-voelker.de>
+ Bernhard Walle <bwalle@suse.de>
+ Bill Pemberton <wfp5p@virginia.edu>
+ Bill Reynolds <bill@goshawk.lanl.gov>
+ Björn Jacke <bj@sernet.de>
+ Bob Proulx <rwp@hprwp.fc.hp.com>
+ Bryn M. Reeves <bmr@errorists.org>
+ B Watson <yalhcru@gmail.com>
+ Cai Qian <qcai@redhat.com>
+ Chandan B Rajenda <chandan@linux.vnet.ibm.com>
+ chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+ Chow Loong Jin <hyperair@ubuntu.com>
+ Chris Frost <chris@frostnet.net>
+ Christian von Roques <roques@juliet.ka.sub.org>
+ Christian Wiese <chris@opensde.org>
+ Christophe Blaess <Christophe@Blaess.fr>
+ Christoph Hellwig <hch@infradead.org>
+ Christoph Lameter <clameter@miriam.fuller.edu>
+ Chris Webb <chris@arachsys.com>
+ Claus Hindsgaul <claus_h@image.dk>
+ Cliff Wickman <cpw@sgi.com>
+ Clytie Siddall <clytie@riverland.net.au>
+ Colin Watson <cjwatson@canonical.com>
+ Cong Wang <xiyou.wangcong@gmail.com>
+ Corentin Chary <corentincj@iksaif.net>
+ Cristian RodrĂ­guez <crrodriguez@opensuse.org>
+ Daisuke Yamashita <yamad@mb.infoweb.ne.jp>
+ Daniel Drake <dsd@laptop.org>
+ Daniel Mierswa <impulze@impulze.org>
+ Daniel Nylander <po@danielnylander.se>
+ Daniel Quinlan <quinlan@yggdrasil.com>
+ Daniel Thumim <dthumim@mit.edu>
+ Dave Reisner <dreisner@archlinux.org>
+ David Brownell <david-b@pacbell.net>
+ David Holland <dholland@hcs.harvard.edu>
+ Davidlohr Bueso <dave@gnu.org>
+ David Miller <davem@davemloft.net>
+ David Prévot <david@tilapin.org>
+ David Prévot <david@tilapin.org>
+ David Woodhouse <dwmw2@infradead.org>
+ Denis ChengRq <crquan@gmail.com>
+ Dennis Gilmore <dennis@ausil.us>
+ Dennis Jensen <dennis.h.jensen@siemens.com>
+ Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com>
+ Dima Kogan <dkogan@cds.caltech.edu>
+ Dmitry V. Levin <ldv@altlinux.org>
+ Dong Hao <haodong@linux.vnet.ibm.com>
+ Douglas E. Quale
+ Doug Quale <quale@saavik.cs.wisc.edu>
+ Ed Carp
+ Elan Ruusamäe <glen@delfi.ee>
+ Eric Rasmussen <ear@usfirst.org>
+ Eric Sandeen <sandeen@redhat.com>
+ Erik Troan
+ Eryu Guan <guaneryu@gmail.com>
+ Fabian Groffen <grobian@gentoo.org>
+ Flávio Leitner <fleitner@redhat.com>
+ Florentin Duneau <fduneau@gmail.com>
+ Florian Zumbiehl <florz@florz.de>
+ Forest Bond <forest@alittletooquiet.net>
+ Francesco Cosoleto <cosoleto@gmail.com>
+ François Revol <revol@free.fr>
+ Fran Diéguez <frandieguez@ubuntu.com>
+ Frank Mayhar <fmayhar@google.com>
+ Frédéric Bothamy <frederic.bothamy@free.fr>
+ Frederik \"Freso\" S. Olesen <freso@freso.dk>
+ Gabor Kelemen <kelemeng@gnome.hu>
+ Gabriel Barazer <gabriel@oxeva.fr>
+ Gabriel Burt <gburt@novell.com>
+ Gabriel M. Schuyler <schuyler@easiest.com>
+ Gerhard Schneider <gs@ilfb.tuwien.ac.at>
+ Gerrit Renker <gerrit@erg.abdn.ac.uk>
+ Giulio Orsero <giulioo@gmail.com>
+ Guan Xin <guanx.bac@gmail.com>
+ Guillem Jover <guillem@hadrons.org>
+ Gunnar Ritter <g-r@bigfoot.de>
+ Hajime Taira <htaira@redhat.com>
+ Hamish Coleman <hamish@zot.org>
+ Harald Hoyer <harald@redhat.com>
+ Hayden James <hayden.james@gmail.com>
+ Heiko Carstens <heiko.carstens@de.ibm.com>
+ Hendrik Lönngren <wikibugs@googlemail.com>
+ Henne Vogelsang <hvogel@opensuse.org>
+ H.J. Lu <hlu@eecs.wsu.edu>
+ H. Peter Anvin <hpa@zytor.com>
+ Hugh Dickins <hughd@google.com>
+ Humberto Zuazaga
+ Igor Bazhitov <igor.bazhitov@gmail.com>
+ Ilias Mamedov <arknir@yandex.ru>
+ Imre Kaloz <kaloz@openwrt.org>
+ Jaakko Hyvätti <HYVATTI@cc.helsinki.fi>
+ Jakob Unterwurzacher <jakobunt@gmail.com>
+ Jakub Bogusz <qboosh@pld-linux.org>
+ James Le Cuirot <chewi@aura-online.co.uk>
+ James Youngman <jay@gnu.org>
+ Jan Engelhardt <jengelh@medozas.de>
+ Jan Kara <jack@suse.cz>
+ Jan Sarenik <jsarenik@redhat.com>
+ Jan \"Yenya\" Kasprzak <kas@fi.muni.cz>
+ Jari Aalto <jari.aalto@cante.net>
+ Jason Borden <jborden@bluehost.com>
+ Jason Vas Dias <jvdias@redhat.com>
+ Jeff Mahoney <jeffm@suse.com>
+ Jens Kristian Søgaard <jens@mermaidconsulting.dk>
+ Jeremy Fitzhardinge <jeremy@suite.sw.oz.au>
+ Jeremy Huntwork <jhuntwork@lightcubesolutions.com>
+ Jeroen Oortwijn <oortwijn@gmail.com>
+ Jesse Thilo <jesse.thilo@pobox.com>
+ Jim Meyering <jim@meyering.net>
+ Jim Meyering <meyering@redhat.com>
+ Jindrich Makovicka <makovick@gmail.com>
+ Jiro SEKIBA <jir@unicus.jp>
+ Joe Hansen <joedalton2@yahoo.dk>
+ John Keeping <john.keeping@lineone.net>
+ John Lindgren <john.lindgren@tds.net>
+ John Paul Morrison <jmorriso@rflab.ee.ubc.ca>
+ Jon Grant <jg@jguk.org>
+ Jon Ringle <jon@ringle.org>
+ Josep Puigdemont <josep.puigdemont@gmail.com>
+ Josiah Worcester <josiahw@gmail.com>
+ Juha Laiho <jlaiho@ichaos.nullnet.fi>
+ Jun Hamano <junio@shadow.twinsun.com>
+ Justin B Rye <jbr@edlug.org.uk>
+ KaiGai Kohei <kaigai@kaigai.gr.jp>
+ Kalev Soikonen <ksop@hot.ee>
+ Kay Sievers <kay.sievers@vrfy.org>
+ Kees Cook <kees.cook@canonical.com>
+ Ken Kopin <kenkopin@gmail.com>
+ Kevin E. Martin <martin@cs.unc.edu>
+ kevin.granade@gmail.com <kevin.granade@gmail.com>
+ Kirill Elagin <kirelagin@gmail.com>
+ Kunihiko IMAI <kimai@iodata.jp>
+ LaMont Jones <lamont@debian.org>
+ Lars Wirzenius
+ Lauri Nurmi <lanurmi@iki.fi>
+ Lawrence Rust <lawrence@softsystem.co.uk>
+ Lennart Poettering <lennart@poettering.net>
+ Linus Torvalds <torvalds@linux-foundation.org>
+ Li Zefan <lizf@cn.fujitsu.com>
+ Lubomir Kundrak <lkundrak@redhat.com>
+ Luciano Chavez <lnx1138@us.ibm.com>
+ Ludwig Nussel <ludwig.nussel@suse.de>
+ Lukas Czerner <lczerner@redhat.com>
+ Makoto Kato <makoto.kt@gmail.com>
+ Mantas MikulÄ—nas <grawity@gmail.com>
+ Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
+ Marco Colombo <m.colombo@ed.ac.uk>
+ Marco d'Itri <md@Linux.IT>
+ Marek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>
+ Marek Otahal <markotahal@gmail.com>
+ Marek Polacek <mmpolacek@gmail.com>
+ Mark McLoughlin <markmc@redhat.com>
+ Markus Rinne <markus.ka.rinne@gmail.com>
+ Martin K. Petersen <martin.petersen@oracle.com>
+ Martin Schlemmer <azarah@gentoo.org>
+ Martin Schulze <joey@infodrom.org>
+ Martin Steigerwald <ms@teamix.de>
+ Masatake YAMATO <yamato@redhat.com>
+ Matthew Garrett <mjg59@srcf.ucam.org>
+ Matthias König <mk@phasorlab.de>
+ Matthias Koenig <mkoenig@suse.de>
+ Maurizio Lombardi <m.lombardi85@gmail.com>
+ maximilian attems <max@stro.at>
+ Maxim Levitsky <maximlevitsky@gmail.com>
+ Maxim V. Dziumanenko <mvd@mylinux.com.ua>
+ Meelis Roos <mroos@linux.ee>
+ Michael Glad <glad@daimi.aau.dk>
+ Michael Piefel <piefel@informatik.hu-berlin.de>
+ Michal Luscon <mluscon@redhat.com>
+ Michel Robitaille <robitail@IRO.UMontreal.CA>
+ Mike Frysinger <vapier@gentoo.org>
+ Mike Hommey <mh@glandium.org>
+ Mikel Olasagasti <hey_neken@mundurat.net>
+ Mikel Olasagasti Uranga <hey_neken@mundurat.net>
+ Mikhail Gusarov <dottedmag@dottedmag.net>
+ Miklos Szeredi <mszeredi@suse.cz>
+ Milan Bouchet-Valat <nalimilan@club.fr>
+ Milan Broz <mbroz@redhat.com>
+ Miquel van Smoorenburg <miquels@maestro.htsa.aha.nl>
+ Mitchum DSouza
+ Moritz Muehlenhoff <jmm@inutil.org>
+ M.S.Colclough <m.s.colclough@bham.ac.uk>
+ Natanael Copa <ncopa@alpinelinux.org>
+ nick black <nick.black@sprezzatech.com>
+ Nick Holloway <Nick.Holloway@pyrites.org.uk>
+ Nicolai Langfeldt <janl@math.uio.no>
+ Nicolas Provost <nprovost@quadriv.com>
+ NilgĂĽn Belma BugĂĽner <nilgun@buguner.name.tr>
+ Norbert Buchmuller <norbi@nix.hu>
+ Oliver Falk <oliver@linux-kernel.at>
+ Olivier Blin <blino@mandriva.com>
+ Olivier Mengué <dolmen@cpan.org>
+ Pádraig Brady <P@draigBrady.com>
+ Pascal Terjan <pterjan@mandriva.com>
+ Patrice Dumas <pertusus@free.fr>
+ Paul Eggert <eggert@cs.ucla.edu>
+ Paul Fox <pgf@laptop.org>
+ Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
+ Paul Menzel <paulepanter@users.sourceforge.net>
+ Pavel Maryanov <acid_jack@ukr.net>
+ Pedro Ribeiro <p.m42.ribeiro@gmail.com>
+ Peter Breitenlohner <peb@mppmu.mpg.de>
+ Peter De Wachter <pdewacht@gmail.com>
+ Peter Jones <pjones@redhat.com>
+ Peter Orbaek <poe@daimi.aau.dk>
+ Peter Rajnoha <prajnoha@redhat.com>
+ Peter Tobias <tobias@server.et-inf.fho-emden.de>
+ Peter Tyser <ptyser@xes-inc.com>
+ Peter Volkov <pva@gentoo.org>
+ Petr Pisar <petr.pisar@atlas.cz>
+ Petr Uzel <petr.uzel@suse.cz>
+ Phan Vinh Thinh <teppi82@gmail.com>
+ Philipp Marek <philipp.marek@linbit.com>
+ Philipp Thomas <pth@suse.de>
+ Phillip Susi <psusi@cfl.rr.com>
+ Pierre Hauweele <antegallya@gmail.com>
+ Pietro Castelli
+ Po-Yu Chuang <ratbert@faraday-tech.com>
+ Raghavendra D Prabhu <rprabhu@wnohang.net>
+ Rajeev V. Pillai <rajeevvp@gmail.com>
+ Ram Pai <linuxram@us.ibm.com>
+ Randolph Bentson <bentson@grieg.seaslug.org>
+ Randy Dunlap <randy.dunlap@oracle.com>
+ Ray Wang <wanglei1123@gmail.com>
+ Richard W.M. Jones <rjones@redhat.com>
+ Rickard Faith <faith@cs.unc.edu>
+ Rick Sladkey <jrs@world.std.com>
+ Robert Förster <Dessa@gmake.de>
+ Robert Millan <rmh@aybabtu.com>
+ Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>
+ Ron Sommeling <sommel@sci.kun.nl>
+ Ross Biro <biro@yggdrasil.com>
+ Roy Peled <the.roy.peled@gmail.com>
+ Sami Kerola <kerolasa@iki.fi>
+ Samuel Thibault <samuel.thibault@ens-lyon.org>
+ Sam Varshavchik <mrsam@courier-mta.com>
+ Sander van Malssen <svm@kozmix.ow.nl>
+ Santiago Vila Doncel <sanvila@unex.es>
+ Sascha Sommer <ssommer@suse.de>
+ Scott James Remnant <scott@ubuntu.com>
+ Scott Telford <st@epcc.ed.ac.uk>
+ Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+ Sergey Gusarov <laborer2008@gmail.com>
+ Shachar Shemesh <shachar@debian.org>
+ Simon Mihevc <simonmihevc@email.si>
+ s.p@orbitalfox.com <s.p@orbitalfox.com>
+ Stefan Krah <stefan@bytereef.org>
+ Stepan Kasal <skasal@redhat.com>
+ Stephan Maka <stephan@spaceboyz.net>
+ Stephen Gallimore
+ Stephen Hemminger <shemminger@vyatta.com>
+ Stephen Tweedie <sct@dcs.ed.ac.uk>
+ Steve Grubb <sgrubb@redhat.com>
+ Steven J. Magnani <steve@digidescorp.com>
+ Steven S. Dick <ssd@nevets.oau.org>
+ Steve Philp
+ Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
+ Sven Eckelmann <sven.eckelmann@gmx.de>
+ Sven Jost <sven.jost@googlemail.com>
+ Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>
+ Theodore Ts'o <tytso@mit.edu>
+ Thomas Fehr <fehr@suse.de>
+ Thomas Schwinge <thomas@codesourcery.com>
+ Thorsten Glaser <tg@mirbsd.org>
+ Tilman Schmidt <tilman@imap.cc>
+ Timo Juhani Lindfors <timo.lindfors@iki.fi>
+ Timo Warns <Warns@Pre-Sense.DE>
+ Tim Waugh <twaugh@redhat.com>
+ Tobias Klauser <tklauser@distanz.ch>
+ Tommy Thorn
+ Tom Prince <tom.prince@ualberta.net>
+ Trần Ngọc Quân <vnwildman@gmail.com>
+ Valerie Aurora <vaurora@redhat.com>
+ Ville Skyttä <ville.skytta@iki.fi>
+ Vincent Deffontaines <vincent@gryzor.com>
+ Vladimir Brednikov <vbrednikov@gmail.com>
+ Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com>
+ Volker Kuhlmann <v.kuhlmann@elec.canterbury.ac.nz>
+ Volker Schatz <oss@volkerschatz.com>
+ Wanlong Gao <wanlong.gao@gmail.com>
+ Wei-Lun Chao <chaoweilun@gmail.com>
+ Werner Almesberger <almesber@bernina.ethz.ch>
+ Werner Fink <werner@suse.de>
+ WUEBBELS, Josef <Josef.WUEBBELS@mtu.de>
+ Wylmer Wang <wantinghard@gmail.com>
+ W.Z. Venema
+ Yann Droneaud <yann@droneaud.fr>
+ Yoshihiro Takahashi <ytakahashi@miraclelinux.com>
+ Yuri Chornoivan <yurchor@ukr.net>
+ Yu Zhiguo <yuzg@cn.fujitsu.com>
+ Zdenek Behan <rain@matfyz.cz>
+ Zhi Li <lizhi1215@gmail.com>
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..d159169
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..f1bebdd
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,3 @@
+See version control history.
+
+http://git.kernel.org/?p=utils/util-linux/util-linux.git;a=log;h=2.22
diff --git a/Documentation/00-about-docs.txt b/Documentation/00-about-docs.txt
new file mode 100644
index 0000000..b95ae44
--- /dev/null
+++ b/Documentation/00-about-docs.txt
@@ -0,0 +1,7 @@
+What is here
+------------
+
+The util-linux contains supplementary textual material, such as
+readme files, release notes, licenses and so on. Common to these
+files is that they contain information for contributors but
+should not end up to end user installation.
diff --git a/Documentation/TODO b/Documentation/TODO
new file mode 100644
index 0000000..a646127
--- /dev/null
+++ b/Documentation/TODO
@@ -0,0 +1,239 @@
+
+ Note that items with (!) have high priority.
+
+lscpu
+-----
+ - detect more hypervisors, see 'virt-what' shell script
+ http://people.redhat.com/~rjones/virt-what/
+
+losetup
+-------
+ - add new option --list and --output <columns> to print details about
+ one or all (-a) devices by lib/tt.c output. For example people hate
+ the hex devno in the default output.
+
+dmesg
+-----
+
+ - add --color to colorize err and panic messages
+
+hwclock
+-------
+
+ - (!!!) add "hwclock -c|--compare" to provide info about RTC frequency offset
+ like "adjtimex -c", shell version:
+
+ #!/bin/bash
+ date > /dev/null
+ hwdate=$(hwclock -r)
+ time1_sys=$(date +'%s.%N')
+ time1_hw=$(date -d "${hwdate% -*}" +'%s')
+
+ while sleep 10; do
+ hwdate=$(hwclock -r)
+ time2_sys=$(date +'%s.%N')
+ time2_hw=$(date -d "${hwdate% -*}" +'%s')
+ awk "END { x = (($time1_hw - $time1_sys) - ($time2_hw - $time2_sys)) /
+ ($time2_hw - $time1_hw); printf \"sysclock/RTC frequency offset: %.0f ppm (%.0f
+ ticks)\n\", x * 1e6, x * 1e4}" < /dev/null
+ done
+
+minix (fsck, mkfs)
+------------------
+
+ - clean up types -- use ino_t, size_t and ssize_t
+
+libmount (mount/umount)
+-----------------------
+
+ Note that the old mount/[u]mount.c code is in MAINTENANCE MODE only. All new
+ features should be implemented to libmount or to the new sys-utils/{mount,umount}.c
+ utils.
+
+ - add options to control fstab/mtab mount options usage, something like:
+
+ --options-mode={ignore,append,prepend,replace} MNT_OMODE_{IGNORE, ...}
+ --options-source={fstab,mtab,disable} MNT_OMODE_{FSTAB,MTAB,NOTAB}
+ --options-source-force MNT_OMODE_FORCE
+
+ (all this already supported by libmount)
+
+ - add x-mount-mkdir mount option to libmount to allow "mkdir /mountpoint"
+
+ - support MS_PROPAGATION flags in fstab -- note that kernel assumes that
+ these flags are not mixed with another mount flags, it means that:
+
+ /dev/sda1 /mnt/foo auto ro,shared
+
+ has be implemented by two syscalls:
+
+ mount("/dev/sda1", "/mnt/foo", "ext4", MS_RDONLY, NULL);
+ mount(NULL, "/mnt/foo", "none", MS_REMOUNT|MS_SHARED, NULL);
+
+ yeah, there is race ;-(
+
+ - (!) on systems with regular mtab file it is impossible to umount by "umount
+ /dev/loop0" if the loop device has been created by "mount -o loop", because
+ there is backing file in the mtab (instead of the device name).
+
+ Now we have all necessary information in /sysfs so it should be possible to
+ translate the device name to backing file and then search in mtab for the
+ filename. See loopdev_get_loopfile().
+
+ - add ---target-prefix option to specify prefix for mountpoints
+ so then you can
+
+ mount --fstab=/etc/fstab.sandbox -a --target-prefix=/mnt/sandbox
+
+ to create a new hierarchy of filesystems at sandbox
+
+ - umount by label:
+ # mount LABEL=mylabel
+ # umount LABEL=mylabel
+
+
+libblkd and libmount
+--------------------
+
+ - use __attribute__((notnull)) and __attribute__((warn_unused_result))
+ Note that the code has to be useful for non-gcc compilers too.
+
+partx
+-----
+
+ - support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used.
+
+ - (!) add regression tests for partx, addpart and delpart
+
+
+docs
+----
+
+ - (!) use something better than gtk-doc for libmount and libblkid (doxyden?)
+
+ - (!) add API documentation to libuuid
+
+
+lib/tt.c
+--------
+
+ - allows to sort columns, for example sort lsblk(8) output by SIZE
+
+login-utils:
+-----------
+
+ - (!) merge newgrp from shadow-utils
+
+libblkid
+--------
+
+ - improve DBG() debug macro, see new imeplemntation in libmount/src/mountP.h
+
+ - (!) don't use internally blkid_loff_t, rather use off_t, size_t, ssize_t,
+ stdint.h types and so on...
+
+ - add FSSIZE value -- filesystem size (klibc requirement)
+
+ - (!) add support for dasd PT (used for example on s390)
+
+fdisk(s)
+--------
+
+ - add to "First sector" dialog a line with information about available
+ gaps (free areas) to make it more user friendly if you want to skip
+ any useless (small) areas between existing partitions.
+ See https://bugzilla.redhat.com/show_bug.cgi?id=715114
+
+ - add "move end" command to move end of the last primary/extended partition.
+ This feature seems very attractive to users who resizing their disks
+ (for example in virtual machines).
+
+ - sfdisk rounds to cylinders is -uM (megabyte units) is specified, this is
+ pretty stupid feature. It has to round to sectors if -uS or -uM is specified.
+
+ - Sun label support is completely useless for large disks, it uses number of
+ cylinders from on-disk-label where the geometry is stored by int16 values.
+ It seems better to completely ignore this stuff from the label and always
+ use geometry + BLKGETSIZE64 from kernel.
+
+ - use off_t instead "long long"
+
+ - catch SIGINT (Ctrl-C) and return to main menu.
+ From Red Hat bugzilla #545488:
+
+ While using fdisk normally, if you accidentally pressed the wrong button (to
+ start a sequence of questions for some operation, e.g. 'c' to create
+ partition). The tool tries too hard to keep asking you for valid input. You
+ can't provide a blank or invalid input to get it to break out of the current
+ dialog sequence and get back to the main menu.
+
+ - fdisk/* refactoring (probably implement libfdisk ???)
+
+ - add GPT support (probably implement libfdisk ???)
+
+misc
+----
+
+ - switch_root:
+ - move all mountpoints to the newroot (there are hardcoded /proc /sys and /dev paths now)
+ - add --dont-move[=<list of dirs>] options
+
+ - use TZ=UTC
+
+ - add mllockall() and SCHED_FIFO to hwclock,
+ see http://lkml.org/lkml/2008/10/12/132
+
+ - (!) rewrite ipcs to use /proc/sys/kernel rather than unreliable syscalls
+ (there are problems with 32bit userspace on 64bit kernel)
+
+
+---------------
+exotic requests
+---------------
+
+ - mount -a -- reorder fstab entries by paths before mount (just idea only)
+
+ - mount -a (just idea only)
+
+ Date: Sun, 3 Jun 2007 18:04:24 +0300 (MET DST)
+ From: Szabolcs Szakacsits <szaka@sienet.hu>
+
+ In the past the right record order could be figured out easily by just
+ checking out fstab (if one knew what to look for) but considering the
+ fastly increasing number of user space file systems and their usage, with
+ their path, library, etc dependencies, it's getting trickier and is a black
+ magic for most users because they simply expect drives to be mounted
+ independently of their order in fstab.
+
+ One typical, wrongly edited fstab example is:
+
+ /dev/hda2 / ext3 defaults 1 1
+ /dev/hda1 /mnt/windows ntfs-3g defaults 0 0
+ /dev/hda3 /usr ext3 defaults 0 0
+
+ The events:
+
+ mount -> /sbin/mount.ntfs-3g ->
+ -> resolves to <path1>/ntfs-3g via a symlink ->
+ -> ntfs-3g requires at least <path2>/libfuse*
+
+ There are many potential solutions. For example installing everything on
+ the root file system which may be needed for successful mount. But this
+ is not always feasible or practical since we could end up putting almost
+ everything on the root file system in the end.
+
+ Another idea is an improved mount strategy:
+
+ do {
+ try to mount all unmounted entries
+ } while (not all mounted && at least one new was successfully mounted)
+
+
+ - add SELinux security contexts support to the 'ipcs' utility
+ http://bugzilla.redhat.com/show_bug.cgi?id=225342
+
+ Would be great to list the current system IPC Objects with their respective
+ security labels (where allowed) with something like 'ipcs -Z' - following the
+ way other tools reports those.
+
+
diff --git a/Documentation/blkid.txt b/Documentation/blkid.txt
new file mode 100644
index 0000000..c58b04f
--- /dev/null
+++ b/Documentation/blkid.txt
@@ -0,0 +1,80 @@
+libblkid - a library to handle device identification and token extraction
+
+Basic usage is as follows - there are two normal usage patterns:
+
+For cases where a program wants information about multiple devices, or
+expects to be doing multiple token searches, the program should
+directly initialize cache file via (second parameter is cache
+filename, NULL = default):
+
+ blkid_cache cache = NULL;
+ if (blkid_get_cache(&cache, NULL) < 0)
+ /* error reading the cache file, not really fatal */
+
+Note that if no cache file exists, an empty cache struct is still
+allocated. Usage of libblkid functions will use the cache to avoid
+needless device scans.
+
+The model of the blkid cache is that each device has a number of
+attributes that can be associated with it. Currently the attributes
+which are supported (and set) by blkid are:
+
+ TYPE filesystem type
+ UUID filesystem uuid
+ LABEL filesystem label
+
+
+How to use libblkid? Normally, you either want to find a device with
+a specific NAME=value token, or you want to output token(s) from a
+device. To find a device that matches a following attribute, you
+simply call the blkid_get_devname() function:
+
+ if ((devname = blkid_get_devname(cache, attribute_name, value))) {
+ /* do something with devname */
+ string_free(devname);
+ }
+
+The cache parameter is optional; if it is NULL, then the blkid library
+will load the default blkid.tab cache file, and then release the cache
+before function call returns. The return value is an allocated string
+which holds the resulting device name (if it is found). If the value
+is NULL, then attribute_name is parsed as if it were
+"<attribute_name>=<value>"; if it cannot be so parsed, then the
+original attribute_name is returned in a copied allocated string.
+This is a convenience to allow user programs to want to translate user
+input, whether it is of the form: "/dev/hda1", "LABEL=root",
+"UUID=082D-26E3", and get back a device name that it can use.
+
+Alternatively, of course, the programmer can pass an attribute name of
+"LABEL", and value of "root", if that is more convenient.
+
+Another common usage is to retrieve the value of a specific attribute
+for a particular device. This can be used to determine the filesystem
+type, or label, or uuid for a particular device:
+
+ if ((value = blkid_get_tag_value(cache, attribute_name, devname))) {
+ /* do something with value */
+ string_free(value);
+ }
+
+If a program needs to call multiple blkid functions, then passing in a
+cache value of NULL is not recommended, since the blkid.tab file
+will be repeatedly parsed over and over again, with memory allocated
+and deallocated. To initialize the blkid cache, blkid_get_cache()
+function is used:
+
+ if (blkid_get_cache(&cache, NULL) < 0)
+ goto errout;
+
+The second parameter of blkid_get_cache (if non-zero) is the alternate filename
+of the blkid cache file (see blkid man page for more information about the
+default cach file location).
+
+Normally, programs should just pass in NULL.
+
+If you have called blkid_get_cache(), you should call blkid_put_cache()
+when you are done using the blkid library functions. This will save the
+cache to the blkid.tab file, if you have write access to the file. It
+will also free all associated devices and tags:
+
+ blkid_put_cache(cache);
diff --git a/Documentation/cal.txt b/Documentation/cal.txt
new file mode 100644
index 0000000..638ac9d
--- /dev/null
+++ b/Documentation/cal.txt
@@ -0,0 +1,42 @@
+The cal(1) date routines were written from scratch, basically from first
+principles. The algorithm for calculating the day of week from any
+Gregorian date was "reverse engineered". This was necessary as most of
+the documented algorithms have to do with date calculations for other
+calendars (e.g. julian) and are only accurate when converted to gregorian
+within a narrow range of dates.
+
+1 Jan 1 is a Saturday because that's what cal says and I couldn't change
+that even if I was dumb enough to try. From this we can easily calculate
+the day of week for any date. The algorithm for a zero based day of week:
+
+ calculate the number of days in all prior years (year-1)*365
+ add the number of leap years (days?) since year 1
+ (not including this year as that is covered later)
+ add the day number within the year
+ this compensates for the non-inclusive leap year
+ calculation
+ if the day in question occurs before the gregorian reformation
+ (3 sep 1752 for our purposes), then simply return
+ (value so far - 1 + SATURDAY's value of 6) modulo 7.
+ if the day in question occurs during the reformation (3 sep 1752
+ to 13 sep 1752 inclusive) return THURSDAY. This is my
+ idea of what happened then. It does not matter much as
+ this program never tries to find day of week for any day
+ that is not the first of a month.
+ otherwise, after the reformation, use the same formula as the
+ days before with the additional step of subtracting the
+ number of days (11) that were adjusted out of the calendar
+ just before taking the modulo.
+
+It must be noted that the number of leap years calculation is sensitive
+to the date for which the leap year is being calculated. A year that occurs
+before the reformation is determined to be a leap year if its modulo of
+4 equals zero. But after the reformation, a year is only a leap year if
+its modulo of 4 equals zero and its modulo of 100 does not. Of course,
+there is an exception for these century years. If the modulo of 400 equals
+zero, then the year is a leap year anyway. This is, in fact, what the
+gregorian reformation was all about (a bit of error in the old algorithm
+that caused the calendar to be inaccurate.)
+
+Once we have the day in year for the first of the month in question, the
+rest is trivial.
diff --git a/Documentation/cfdisk.txt b/Documentation/cfdisk.txt
new file mode 100644
index 0000000..45728da
--- /dev/null
+++ b/Documentation/cfdisk.txt
@@ -0,0 +1,35 @@
+Announcing the new curses based fdisk program... cfdisk
+
+cfdisk is a curses based disk drive partitioning program that can
+create partitions for a wide variety of operating systems including
+Linux, MS-DOS and OS/2. cfdisk was inspired by the fdisk program, by
+A. V. Le Blanc (LeBlanc@mcc.ac.uk). I hope that this program will be
+useful to both new and old Linux users, and I hope it will make the
+installation process easier.
+
+
+ **** WARNING ****
+If you write a bad partition table to disk, it may destroy data and
+partitions.
+
+-------------------------------------------------------------------
+
+ Copyright (C) 1994 Kevin E. Martin (martin@cs.unc.edu)
+
+cfdisk is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+cfdisk is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+___
+Kevin E. Martin University of North Carolina at Chapel Hill
+martin@cs.unc.edu Department of Computer Science
diff --git a/Documentation/col.txt b/Documentation/col.txt
new file mode 100644
index 0000000..1098b44
--- /dev/null
+++ b/Documentation/col.txt
@@ -0,0 +1,41 @@
+# @(#)README 5.1 (Berkeley) 5/22/90
+
+col - filter out reverse line feeds.
+
+In the 32V source code to col(1) the default behavior was to NOT compress
+spaces into tabs. There was a -h option which caused it to compress spaces
+into tabs. There was no -x flag.
+
+The 32V documentation, however, was consistent with the SVID (actually, V7
+at the time) and documented a -x flag (as defined above) while making no
+mention of a -h flag. Just before 4.3BSD went out, CSRG updated the manual
+page to reflect the way the code worked. Suspecting that this was probably
+the wrong way to go, this version adopts the SVID defaults, and no longer
+documents the -h option.
+
+The S5 -p flag is not supported because it isn't clear what it does (looks
+like a kludge introduced for a particular printer).
+
+Known differences between AT&T's col and this one (# is delimiter):
+ Input AT&T col this col
+ #\nabc\E7def\n# # def\nabc\r# # def\nabc\n#
+ #a# ## #a\n#
+ - last line always ends with at least one \n (or \E9)
+ #1234567 8\n# #1234567\t8\n# #1234567 8\n#
+ - single space not expanded to tab
+ -f #a\E8b\n# #ab\n# # b\E9\ra\n#
+ - can back up past first line (as far as you want) so you
+ *can* have a super script on the first line
+ #\E9_\ba\E8\nb\n# #\n_\bb\ba\n# #\n_\ba\bb\n#
+ - always print last character written to a position,
+ AT&T col claims to do this but doesn't.
+
+If a character is to be placed on a line that has been flushed, a warning
+is produced (the AT&T col is silent). The -l flag (not in AT&T col) can
+be used to increase the number of lines buffered to avoid the problem.
+
+General algorithm: a limited number of lines are buffered in a linked
+list. When a printable character is read, it is put in the buffer of
+the current line along with the column it's supposed to be in. When
+a line is flushed, the characters in the line are sorted according to
+column and then printed.
diff --git a/Documentation/ddate.txt b/Documentation/ddate.txt
new file mode 100644
index 0000000..87d0fb8
--- /dev/null
+++ b/Documentation/ddate.txt
@@ -0,0 +1,73 @@
+
+PERPETUAL DATE CONVERTER FROM GREGORIAN TO POEE CALENDAR
+
+SEASONS
+ 1. Chaos -- Patron Apostle Hung Mung
+ 2. Discord -- Patron Apostle Dr. Van Van Mojo
+ 3. Confusion -- Patron Apostle Sri Syadasti
+ 4. Bureaucracy -- Patron Apostle Zarathud
+ 5. The Aftermath -- Patron Apostle the Elder Malaclypse
+
+DAYS OF THE WEEK*
+ 1. Sweetmorn *The DAYS OF THE WEEK
+ 2. Boomtime are named from the five
+ 3. Pungenday basic elements: SWEET,
+ 4. Prickle-Prickle BOOM, PUNGENT, PRICKLE,
+ 5. Setting Orange and ORANGE.
+
+HOLYDAYS
+A. Apostle Holydays B. Seasons Holydays
+ 1. Mungday 1. Chaoflux
+ 2. Mojoday 2. Discoflux
+ 3. Syaday 3. Confuflux
+ 4. Zaraday 4. Bureflux
+ 5. Maladay 5. Afflux
+Each occurs on the 5th Each occurs on the 50th
+day of the Season day of the Season
+
+C. Saint Tib's Day -- occurs once every four years (1 + 4 = 5) and is
+ inserted between the 59th and 60th days of the Season of Chaos
+
+ ST BT PD PP SO SM BT PD PP SO
+Jan 1 2 3 4 5 1 2 3 4 5 Chs Jul 5 6 7 8 9 40 41 42 43 44 Cfn
+ 6 7 8 9 10 6 7 8 9 10 10 11 12 13 14 45 46 47 48 49
+ 11 12 13 14 15 11 12 13 14 15 15 16 17 18 19 50 51 52 53 54
+ 16 17 18 19 20 16 17 18 19 20 20 21 22 23 24 55 56 57 58 59
+ 21 22 23 24 25 21 22 23 24 25 25 26 27 28 29 60 61 62 63 64
+ 26 27 28 29 30 26 27 28 29 30 30 31 1 2 3 65 66 67 68 69
+ 31 1 2 3 4 31 32 33 34 35 Aug 4 5 6 7 8 70 71 72 73 1 Bcy
+Feb 5 6 7 8 9 36 37 38 39 40 9 10 11 12 13 2 3 4 5 6
+ 10 11 12 13 14 41 42 43 44 45 14 15 16 17 18 7 8 9 10 11
+ 15 16 17 18 19 46 47 48 49 50 19 20 21 22 23 12 13 14 15 16
+ 20 21 22 23 24 51 52 53 54 55 24 25 26 27 28 17 18 19 20 21
+ 25 26 27 28* 1 56 57 58 59 60 29 30 31 1 2 22 23 24 25 26
+Mar 2 3 4 5 6 61 62 63 64 65 Sep 3 4 5 6 7 27 28 29 30 31
+ 7 8 9 10 11 66 67 68 69 70 8 9 10 11 12 32 33 34 35 36
+ 12 13 14 15 16 71 72 73 1 2 Dsc 13 14 15 16 17 37 38 39 40 41
+ 17 18 19 20 21 3 4 5 6 7 18 19 20 21 22 42 43 44 45 46
+ 22 23 24 25 26 8 9 10 11 12 23 24 25 26 27 47 48 49 50 51
+ 27 28 29 30 31 13 14 15 16 17 28 29 30 1 2 52 53 54 55 56
+Apr 1 2 3 4 5 18 19 20 21 22 Oct 3 4 5 6 7 57 58 59 60 61
+ 6 7 8 9 10 23 24 25 26 27 8 9 10 11 12 62 63 64 65 66
+ 11 12 13 14 15 28 29 30 31 32 13 14 15 16 17 67 68 69 70 71
+ 16 17 18 19 20 33 34 35 36 37 18 19 20 21 22 72 73 1 2 3 Afm
+ 21 22 23 24 25 38 39 40 41 42 23 24 25 26 27 4 5 6 7 8
+ 26 27 28 29 30 43 44 45 46 47 28 29 30 31 1 9 10 11 12 13
+May 1 2 3 4 5 48 49 50 51 52 Nov 2 3 4 5 6 14 15 16 17 18
+ 6 7 8 9 10 53 54 55 56 57 7 8 9 10 11 19 20 21 22 23
+ 11 12 13 14 15 58 59 60 61 62 12 13 14 15 16 24 25 26 27 28
+ 16 17 18 19 20 63 64 65 66 67 17 18 19 20 21 29 30 31 32 33
+ 21 22 23 24 25 68 69 70 71 72 22 23 24 25 26 34 35 36 37 38
+ 26 27 28 29 30 73 1 2 3 4 Cfn 27 28 29 30 1 39 40 41 42 43
+ 31 1 2 3 4 5 6 7 8 9 Dec 2 3 4 5 6 44 45 46 47 48
+Jun 5 6 7 8 9 10 11 12 13 14 7 8 9 10 11 49 50 51 52 53
+ 10 11 12 13 14 15 16 17 18 19 12 13 14 15 16 54 55 56 57 58
+ 15 16 17 18 19 20 21 22 23 24 17 18 19 20 21 59 60 61 62 63
+ 20 21 22 23 24 25 26 27 28 29 22 23 24 25 26 64 65 66 67 68
+ 25 26 27 28 29 30 31 32 33 34 27 28 29 30 31 69 70 71 72 73
+ 30 1 2 3 4 35 36 37 38 39 [1970 = 3136] [Next St. Tib's Day in 3138]
+
+ SACRED DOCUMENT OF THE FROGS (old Erisian poem):
+ 73 Days hath
+ Chaos, Discord, Confusion, Bureaucracy, and Aftermath
+
diff --git a/Documentation/deprecated.txt b/Documentation/deprecated.txt
new file mode 100644
index 0000000..842d642
--- /dev/null
+++ b/Documentation/deprecated.txt
@@ -0,0 +1,57 @@
+The following is a list of commands or features that are deprecated. All
+deprecated utils are in maintenance mode and we keep them in source tree for
+backward compatibility only.
+
+What: chkdupexe
+Why: unnecessary, in Perl, not used in distributions, possible to replace
+ by a simple shell script.
+
+--------------------------
+
+What: 'udev' and 'list' blkid(8) output formats
+Why: udevd links libblkid directly; the 'list' is unnecessary, use lsblk(8)
+
+--------------------------
+
+What: line(1) command
+Why: useless, nobody uses this command, head(1) is better
+
+--------------------------
+
+What: losetup -s
+Why: the option -s is in collision with the Loop-AES losetup dialect that is used
+ in some distributions. Use the long version (--show) only.
+
+--------------------------
+
+What: cryptoloop support in mount/losetup
+Why: depreciated in favor of dm-crypt.
+
+---------------------------
+
+What: elvtune
+Why: useless for kernel >= 2.6.9
+
+---------------------------
+
+What: arch(1) command
+Why: deprecated in favor of uname(1) or arch(1) from coreutils
+
+ The arch(1) has been added (during 2.13 development cycle) to coreutils
+ where it will be maintained as an alias for uname(1) command.
+
+----------------------------
+
+What: newgrp(1)
+Why: deprecated in favor of newgrp from shadow-utils
+
+----------------------------
+
+What: vipw/vigr(8)
+Why: deprecated in favor of vipw/vigr(8) from shadow-utils
+
+----------------------------
+
+What: last(1)
+Why: nobody uses this implementation
+
diff --git a/Documentation/example.files/filesystems b/Documentation/example.files/filesystems
new file mode 100644
index 0000000..cd56ee7
--- /dev/null
+++ b/Documentation/example.files/filesystems
@@ -0,0 +1,7 @@
+ext4
+ext3
+vfat
+hfs
+hfsplus
+iso9660
+btrfs
diff --git a/Documentation/example.files/fstab b/Documentation/example.files/fstab
new file mode 100644
index 0000000..8cffa64
--- /dev/null
+++ b/Documentation/example.files/fstab
@@ -0,0 +1,15 @@
+# /etc/fstab
+# static file system information
+#
+# This file is not used by the kernel, but rather by mount(8) and umount(8)
+# (and some day fsck(8)). Comment lines have "#" in the first column.
+#
+# For more information see fstab(5) man page.
+#
+# device directory type options freq pass
+UUID=2cda1e08-1f22-490b-9101-c93d511bc9c9 / ext4 defaults 1 1
+UUID=805e7418-fc20-4dcf-830c-729781e58d1a /boot ext4 defaults 1 2
+proc /proc proc defaults 0 0
+sysfs /sys sysfs defaults 0 0
+tmpfs /dev/shm tmpfs defaults 0 0
+devpts /dev/pts devpts gid=5,mode=620 0 0
diff --git a/Documentation/example.files/motd b/Documentation/example.files/motd
new file mode 100644
index 0000000..842a6f3
--- /dev/null
+++ b/Documentation/example.files/motd
@@ -0,0 +1,10 @@
+
+ |^^^^^^|
+ | | _____________________
+ | | / \
+ | (o)(o) | |
+ @ _) | BOGUS man!! |
+ | ,___| ,,| |
+ | / ..'' | |
+ /____\ \_____________________/
+
diff --git a/Documentation/example.files/securetty b/Documentation/example.files/securetty
new file mode 100644
index 0000000..d874765
--- /dev/null
+++ b/Documentation/example.files/securetty
@@ -0,0 +1,5 @@
+tty1
+tty2
+tty3
+tty4
+ttyS1
diff --git a/Documentation/example.files/shells b/Documentation/example.files/shells
new file mode 100644
index 0000000..14b99f1
--- /dev/null
+++ b/Documentation/example.files/shells
@@ -0,0 +1,4 @@
+/bin/sh
+/bin/bash
+/bin/csh
+/bin/tcsh
diff --git a/Documentation/example.files/udev-raw.rules b/Documentation/example.files/udev-raw.rules
new file mode 100644
index 0000000..3f0e8cb
--- /dev/null
+++ b/Documentation/example.files/udev-raw.rules
@@ -0,0 +1,7 @@
+# Enter raw device bindings here.
+#
+# An example would be:
+# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
+# to bind /dev/raw/raw1 to /dev/sda, or
+# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
+# to bind /dev/raw/raw2 to the device with major 8, minor 1.
diff --git a/Documentation/fdisk.txt b/Documentation/fdisk.txt
new file mode 100644
index 0000000..a480ac5
--- /dev/null
+++ b/Documentation/fdisk.txt
@@ -0,0 +1,581 @@
+`fdisk': the Linux partition table editor
+=========================================
+
+`fdisk' is the Linux partition table editor. In this section we
+examine this utility and try to describe it thoroughly enough so that
+anyone can use it.
+
+* Contents:
+
+* Disks and how they are described.
+* Dividing up your disk.
+* The `fdisk' command.
+* Deleting and adding partitions.
+* Active flags and system types.
+* Extra commands for experts.
+* Warnings for `fdisk' users.
+
+
+Disks and how they are described
+--------------------------------
+
+A typical disk consists physically of one or more circular objects
+called "platters", which rotate about a central axis. Devices called
+"heads" move to specified places on the disk surface to read or write
+information. There is usually one head on each side of every platter,
+and all these heads are attached to a comb-like controller arm which
+moves all of them at the same time, either closer to the center of the
+disk, or closer to the outer edge.
+
+Suppose the arm is in one position, putting an area of the disk
+surface within reach of one or another of the heads. This total area,
+everything that is accessible without moving the arm, is called a
+"cylinder". (A cylinder is a barrel-shaped cross section of a disk,
+consisting of a circular strip from each side of each platter.) The
+part of a cylinder that one head can read or write without moving is
+called a "track".
+
+Each track is divided into several pie-shaped slices called
+"sectors", which are the smallest parts of the disk which can be read
+or written at a time. The sectors on one disk are usually all the same
+size.
+
+In fact, there are not always two heads to every platter, there are
+some disks which do not have the same amount of data in every cylinder,
+and there may be disks which do not have the same amount of data in
+every sector. These features are usually hidden on PCs by the
+controller card or the BIOS, which map the physical geometry of a disk
+onto a logical geometry, which is what is actually used to access the
+disk.
+
+The numbers which describe the "geometry" of a disk are
+
+ 1. The number of cylinders it contains.
+
+ 2. The number of tracks per cylinder, which is the number of heads.
+
+ 3. The number of sectors per track.
+
+ 4. The number of bytes per sector.
+
+These numbers vary from disk to disk, but a typical PC disk might
+have about 1000 cylinders, half a dozen heads, and 15 or 20 sectors per
+track, with each sector containing 512 bytes or characters; such a disk
+contains 40 to 60 megabytes of data. A "double density" floppy disk
+contains 40 cylinders, with 2 heads (2 tracks per cylinder), and with 9
+sectors per track; such a disk contains 360 kilobytes, or 360 * 1024
+characters. A "high density" 3.5 inch floppy contains 80 cylinders,
+with 2 heads and 18 sectors per track, or 1.44 megabytes, or 1440 *
+1024 characters.
+
+The exact size of a track or cylinder in bytes varies from one disk
+to another. This `fdisk' for Linux deals mainly with cylinders, since
+this is the best unit to use when allocating space for partitions. It
+reports partition sizes in "blocks" of 1024 bytes, or 2 sectors, since
+`mkswap' and the various `mkfs' programs require this number. A block
+is the smallest amount of space which can be set aside for a file in
+the current file systems.
+
+An operating system, such as Linux or DOS or OS/2, may use a disk in
+any way that it wishes, but if two operating systems share the same
+disk, they must agree on who owns what, or else one will interfere with
+the other (that is, by damaging the other's files). A "partition" is a
+section of a hard disk which is handled as a unit by all operating
+systems which can access the disk. The standard way to define
+partitions (for the moment) is the "partition table", a list of
+information which is stored in parts of the disk that don't belong to
+any of the systems using the disk. The beginning of the partition
+table is stored in the disk's primary boot sector, and the rest is
+stored in a chain of sectors scattered throughout the disk.
+
+The first sector on the disk is called the "primary boot block" or
+"primary boot sector" because (1) it comes first, before other, similar
+sectors; (2) it tells where the other, similar sectors are found, so
+that it is logically `prior' to them; and (3) it usually contains code
+which is executed when the system boots up. This sector contains a
+table describing at most four partitions. These areas are called
+"primary partitions".
+
+The partition table in the primary boot sector may also describe at
+most one "extended partition". This is a large area of the disk,
+usually containing all the space which is not in any primary partition.
+Within this space we can set aside other areas which are called
+"logical partitions", because they look almost exactly like primary
+partitions. In fact, the main difference between them is that we can
+boot from primary partitions, while we cannot boot from logical
+partitions. This happens because the address of a primary partition is
+in a fixed place, whereas the address of a secondary partition is not,
+so we require a more complicated process to discover it, one which is
+too difficult for most primary boot programs.
+
+
+Dividing up your disk
+---------------------
+
+It is a good idea to plan ahead before you start creating partitions
+on your disk. If you set aside a partition for some purpose, it is not
+easy to change its size: you must backup all the data from the partition,
+whether to floppies, to another partition, to another hard disk, or
+somewhere else; then you must edit the table which describes this
+partition, so changing its size; then you must reboot and initialize
+the new partition, formatting it, for example, under DOS, or running
+`mkfs' under Linux; finally you can copy all the data back. It is
+possible, if you have several partitions, to copy data back and forth
+between them while you change their sizes, but this is a bit risky and
+time consuming. It is better to plan ahead what you will need, since
+it is hard to change it afterwards.
+
+Many people with large disks and recent versions of DOS have their
+entire file system on one large partition. They usually ask, `Isn't
+there any way I can reformat my disk without copying everything off?'
+There is no way to do it using standard DOS utilities, and there is no
+truly safe way to do it using commercial software, because, if you make
+a mistake, you will lose the entire contents of your disk. If you are
+going to back up your disk anyway, you might as well copy the data back
+safely. The Linux FAQ contains references to tools and procedures
+which will allow you to do this, if you dare.
+
+DOS and Linux both allow you to access several partitions on a
+single disk; on DOS these are treated as if they were separate disks or
+drives, and under Linux they are treated as different "devices".
+
+You can have up to 64 partitions on a single IDE disk, or up to 16
+partitions on a single SCSI disk, at least as far as Linux is
+concerned; in practice you will rarely want so many. The maximum size
+of a Linux file system on a single partition depends on the type of
+file system you use. Minix file systems (version 1) are limited to 64
+megabytes. You may have all of your Linux files in a single partition,
+or you may have two, three, or more Linux file systems. Similarly you
+may have one or more DOS partitions. If you have several small
+partitions, you run much less risk of losing all your files if your
+disk gets corrupted. On the other hand, you may run out of space on a
+small partition more easily.
+
+Under DOS, you must refer to each partition by a separate drive
+letter, but all partitions are automatically accessible. Under Linux
+only the root partition is automatically accessible, but once we mount
+another partition, it is indistinguishable from the rest of the file
+system. Disks are usually mounted by a command in one of the system
+startup files, `/etc/rc', so you need not worry about having to do it
+yourself whenever you boot the system. But even ordinary users may
+be allowed to mount removable hard disks and floppy disks.
+
+Linux requires at least one partition, which is the `root' of the
+file system. You may prefer to have a separate partition for `/usr',
+which contains most of the executable files, or for `/home', which
+contains most of your private files. You may also wish to set aside a
+partition to use for swap space, depending on the amount of memory your
+PC has. You will certainly need swap space if you have less than 4 MB
+of RAM and wish to compile anything substantial. You can reserve swap
+space in a file, but you need a partition big enough to hold it, and
+this will probably be less efficient than having a partition devoted to
+swap.
+
+Are you going to boot Linux from the hard disk, or will you boot
+from a floppy? Some boot programs place severe restrictions on where
+the boot partition can be. LILO is more relaxed about this, but does
+require either the Master Boot Record on your first hard disk, or the
+boot record on one of the first four partitions on your first hard disk.
+
+If you have an extended partition with logical partitions in it, you
+can have only three primary partitions containing data.
+
+
+The `fdisk' command
+-------------------
+
+Every operating system, whether DOS, OS/2, or Linux, should provide
+its own utility for editing hard disk partition tables. At least four
+of these utilities have been called `fdisk', for `Fixed DISK setup
+program', where `fixed' means `not removable'. I believe the first PC
+program named `fdisk' came from Microsoft in about 1985; before that
+time disks were too small to divide into separate sections.
+
+Every operating system has its own peculiarities. Normally you
+should set up a partition for the use of one operating system by using
+its own `fdisk' program. Do not use the Linux `fdisk' to create
+partitions for DOS or for any system other than Linux; otherwise you
+may have problems.
+
+An `fdisk' program performs two functions: it reports how the disk is
+configured, and it changes that configuration by adding or deleting
+partitions. Most `fdisk' programs can also change other information in
+partition tables.
+
+This `fdisk' for Linux operates on one hard disk at a time. If you
+give the command
+
+ fdisk
+
+it reports on, and is able to change, `/dev/hda', the first hard
+disk. (If you have no `/dev/hda', `fdisk' uses `/dev/sda' as the
+default device.) To look at or change the second hard disk, `/dev/hdb',
+give the command
+
+ fdisk /dev/hdb
+
+To look at or change the first SCSI disk, give the command
+
+ fdisk /dev/sda
+
+There are some special forms of the `fdisk' command. One of them,
+suggested by Jim Winstead, simply lists all partitions on all available
+disks:
+
+ fdisk -l (where `l' is a letter, not the digit `1')
+
+The option `-v' is provided to list the current version of the
+`fdisk' command. Finally, there is an option `-s' which is not really
+intended for interactive use. It causes fdisk to print the size of a
+partition in blocks of 1024 bytes as follows:
+
+ fdisk -s /dev/hda7
+ 39934
+
+Because this is intended to be used by `mkfs' and `mkswap' programs,
+it does not return the size of extended partitions or of partitions
+whose system type code is less than 10 (hexadecimal a). If you start
+`fdisk' without using one of these special options, it responds by
+asking for a command:
+
+ Command (m for help): _
+
+Each `fdisk' command consists of a single letter, which must be
+followed by <RETURN> before it is obeyed. Upper and lower case are not
+distinguished. Anything you type after the first character is ignored.
+Give the command `m', and you should see this menu:
+ Command action
+ a toggle a bootable flag
+ d delete a partition
+ l list known partition types
+ m print this menu
+ n add a new partition
+ p print the partition table
+ q quit without saving changes
+ t change a partition's system id
+ u change display/entry units
+ v verify the partition table
+ w write table to disk and exit
+ x extra functionality (experts only)
+
+ Command (m for help): _
+
+The simplest commands are Print, Verify, and Quit. On a small disk, the
+Print command might produce a display like this one:
+
+ Disk /dev/hda: 5 heads, 17 sectors, 977 cylinders
+ Units = cylinders of 85 * 512 bytes
+
+ Device Boot Begin Start End Blocks Id System
+ /dev/hda1 * 1 1 236 10021+ 1 DOS 12-bit FAT
+ /dev/hda2 837 837 977 5992+ 5 Extended
+ /dev/hda3 * 237 237 836 25500 83 Linux native
+ /dev/hda5 837 837 936 4249+ 82 Linux swap
+ /dev/hda6 942 942 977 1522 1 DOS 12-bit FAT
+
+There are 5 partitions reported; `/dev/hda4' does not appear because
+it is not allocated. Partitions 1 and 3 are flagged as bootable. The
+size of each partition is reported in 1 kilobyte blocks; hence the
+primary Linux partition, partition 3, is 25 1/2 megabytes in size. The
+`+' after three of the sizes warns that these partitions contain an odd
+number of sectors: Linux normally allocates filespace in 1 kilobyte
+blocks, so the extra sector in partition 5 is wasted. Id numbers are
+reported in hexadecimal and explained in English.
+
+The display/entry units may be either cylinders or sectors. The
+default is cylinders, but changing the units makes the print command
+display the following table for the system reported above:
+
+ Disk /dev/hda: 5 heads, 17 sectors, 977 cylinders
+ Units = sectors of 1 * 512 bytes
+
+ Device Boot Begin Start End Blocks Id System
+ /dev/hda1 * 1 17 20059 10021+ 1 DOS 12-bit FAT
+ /dev/hda2 71060 71060 83044 5992+ 5 Extended
+ /dev/hda3 * 20060 20060 71059 25500 83 Linux native
+ /dev/hda5 71061 71061 79559 4249+ 82 Linux swap
+ /dev/hda6 79985 80001 83044 1522 1 DOS 12-bit FAT
+
+The start of data in both DOS partitions is 16 sectors after the
+beginning of the partition: this is one reason why you should use DOS's
+own `FDISK' to create DOS partitions. Changing the units to sectors
+also affects the way in which the new partition command asks for the
+beginning and end of a new partition.
+
+*Warning*: it is dangerous to create a new partition when the
+display/entry units are sectors.
+
+The Verify command is useful because
+
+ 1. It warns you if anything is wrong. *Always* do a Verify command
+ to check your work before writing any changes to disk.
+
+ 2. It reports how many unallocated sectors there are on the disk.
+
+The Quit command is also useful. `fdisk' does not actually change
+any data on your disk unless you give a Write command. If you are
+unhappy about any changes you may have made, give the Quit command, and
+your disk will remain as it was before you ran `fdisk'. You can also
+interrupt `fdisk' with `CTRL-C'.
+
+
+Deleting and adding partitions
+------------------------------
+
+Deleting a partition is simple. Give the Delete command by typing
+`d'. `fdisk' asks:
+
+ Partition number (1-6): _
+
+Once you get this far, you must either delete a partition or
+interrupt the program with `CTRL-C' (or whatever your current interrupt
+character is). Note:
+
+ 1. You may delete a nonexistent partition. You will get a warning
+ message.
+
+ 2. You may delete an extended partition. This has the side effect of
+ deleting all partitions greater than or equal to 5.
+
+ 3. You may delete a logical partition. In that case, all partitions
+ above it are renumbered at once. For example, if you delete
+ partition 5, then partition 6 becomes known as partition 5, and
+ partition 7 as partition 6.
+
+Adding a partition is just a bit more complicated. Give the New
+command by typing `n'. `fdisk' allows you to
+
+ 1. Create a primary partition, if there is a free slot in the primary
+ partition table.
+
+ 2. Create an extended partition if there is a free slot in the
+ primary partition table, and if there is no extended partition.
+
+ 3. Create a logical partition if an extended partition exists.
+
+If more than one of these actions is possible, you will be asked to
+select Primary, Extended, or Logical, depending on what is currently
+permissible. Before you create a primary or an extended partition, you
+are asked what slot it is to have in the table (1-4).
+
+You may not add a primary or an extended partition if the selected
+slot in the primary partition table is already occupied: in that case
+you simply return to the main menu. You are not allowed to add a new
+primary partition unless there are sectors available outside the
+extended partition. You are not allowed to add a new logical partition
+unless there are sectors available inside the extended partition.
+
+If space is available, you are prompted for the first cylinder:
+
+ First cylinder ([237]-977): _
+
+The limits are the lowest and the highest cylinders in which sectors
+are available in the appropriate part of the disk. The square-bracketed
+number is what you'll get if you simply press enter. Not all numbers in
+this range are necessarily available: they may fall inside an existing
+partition. If you select a cylinder which is already in use, you are
+told off and prompted again for the first cylinder. After selecting the
+first cylinder, you are prompted again:
+
+ Last cylinder or +size or +sizeM or +sizeK (237-[836]): _
+
+The limits are the cylinder you have chosen as the first cylinder,
+and the highest cylinder which contains a legitimate upper boundary for
+the new partition. The square-bracketed number is what you'll get if
+you simply press enter. In other words, all numbers in the given range are
+legitimate, unlike those in the first range of cylinders. You may also
+specify the size of a partition in megabytes, kilobytes, or in the
+current units (cylinders or sectors). A plus sign `+' indicates that
+your answer is a size rather than a boundary, and the suffix `m' or `k'
+(upper or lower case) indicates that the size is not given in units of
+sectors or cylinders, but in megabytes or kilobytes respectively. Thus
+possible answers to the last cylinder request above are
+
+700
+ Make cylinder 700 the last cylinder in the partition.
+
++300
+ Make cylinder 237 + 300 = 537 the last cylinder in the partition.
+
++15m
+ Make the partition at least 15 megabytes in size.
+
++12500k
+ Make the partition at least 12,500 kilobytes in size.
+
+If you specify a size which is too large or an end which is out of
+range, fdisk complains and repeats the prompt.
+
+Adding or deleting partitions has no effect unless you subsequently
+give the Write command. Please remember to give the Verify command
+first, just before giving the Write command: this is a safety
+precaution. After giving the Write command, you will see this message:
+
+ The partition table has been altered!
+ Calling ioctl() to re-read partition table.
+ Syncing disks.
+
+If there are no further messages, the kernel has successfully copied
+the information from the partition table into its own internal table.
+But sometimes you will see a message like this one:
+
+ Re-read table failed with error 16: Device or resource busy.
+ Reboot your system to ensure the partition table is updated.
+
+In this case, depending on what you have changed in the partition
+table, it may be dangerous to continue working without rebooting,
+since you may lose or corrupt your data.
+
+
+Here are some important things to note:
+
+ 1. Before you reboot, you *may* run `fdisk' again, either to manage
+ another disk, or to make additional changes to the same disk, or
+ just to check that the changes have been made as you expected.
+ This is true even after you receive the message warning you to
+ reboot.
+
+ 2. It is not a good idea to run any of the programs `mkfs', `mkswap',
+ `mount', or `swapon' if you have received the warning message but
+ have not rebooted. In this case it is dangerous to run any program,
+ but these in particular may cause serious damage to the data on your
+ disk, including the partition tables themselves.
+
+
+Active flags and system types
+-----------------------------
+
+The active flag is a bit in the partition table entry which marks a
+partition as bootable. This is important to some primary boot sector
+programs, which will not boot from an unflagged partition. Other such
+programs do not allow more than one partition to be flagged. Some,
+like LILO, ignore the flags completely. I prefer to flag all bootable
+partitions as active so that they stand out on the menu which `fdisk'
+lists. Fdisk prints a star after the name of a partition's device file
+if its active flag is set.
+
+The Active command changes, or toggles, a partition's active flag.
+Give the Active command, and select a partition by number. If it was
+marked inactive, it will be flagged as active; if it was flagged as
+active, it will be marked inactive. You may set the active flag on an
+extended or logical partition, though the meaning of such a flag is by
+no means clear. This can be used to install LILO as a secondary boot
+loader to boot a Linux which lives on a second hard disk.
+
+The Type command changes the ID number which describes what type a
+partition is. `fdisk' currently recognises 30 system IDs, in the sense
+that it prints a string for each of them, but it allows you to change
+any system ID to any other, with the following exceptions: you may not
+change any partition to or from the type Extended, and you may not
+change a partition whose type is Empty (0) to any other type. You may,
+however, change the type of any data partition to 0, which is
+equivalent to deleting it.
+
+The new system ID or type code is a hexadecimal number. There are
+two ways of listing the numbers which `fdisk' recognises: use the List
+command, which prints the list, or use the Type command, which, when it
+prompts you for the code, says
+
+ Hex code (type L to list codes): _
+
+where the upper case `L' is used for clarity. The codes printed are:
+Some of these numbers are a trifle uncertain. By default `fdisk' uses
+a type of 83. It used to use 81, the type code used by the MINIX
+`fdisk'. It seemed prudent to change the default since (a) many Linux
+`minix' file systems are no longer compatible with MINIX, (b) the ext2
+file system, a native Linux file system, is fairly stable, as is the
+Xia file system, and (c) the number 81 causes problems with DR-DOS.
+Linux does not usually care what values you use for type codes, but
+other systems, in particular DOS, OS/2, and DR-DOS, may.
+
+The value of 82 for Linux swap partitions is my own invention, and
+is intended to give some recognisable distinction to the partitions
+when the values are displayed in hexadecimal.
+
+New active flags and new system type codes are not written to the
+disk until you exit from `fdisk' with the Write command, as described
+above, in the section on deleting and adding partitions.
+
+
+Extra commands for experts
+--------------------------
+
+The eXtra command `x' puts `fdisk' into `expert' mode, in which a
+slightly different set of commands is available. The Active, Delete,
+List, New, Type, Verify, and `eXpert' commands are not available in
+expert mode. The commands Write and Quit are available as in ordinary
+mode, the Print command is available, but produces output in a slightly
+different format, and of course the Menu command prints the expert
+menu. There are several new commands.
+
+ 1. The Return command brings you back to the main menu.
+
+ 2. The Extended command prints the list of table entries which point
+ to other tables. Ordinary users do not need this information.
+ The data is shown as it is stored. The same format is used for
+ the expert Print command.
+
+ 3. The dangerous Begin command allows you to move the start of data
+ in a partition away from its beginning. Other systems create
+ partitions with this format, and it is sometimes useful to be able
+ to reproduce it.
+
+ 4. The slightly dangerous Cylinders command allows you to change the
+ available number of cylinders. For SCSI disk owners, note that we
+ require not the actual number of physical cylinders, but the
+ number of logical cylinders used by DOS and other operating
+ systems.
+
+ 5. The extremely dangerous Heads and Sectors commands allow you to
+ change the number of heads and sectors. It should not be
+ necessary to use these commands unless you have a SCSI disk, whose
+ geometry Linux is not always able to determine. SCSI disk owners
+ note that we need not the actual number of heads or of sectors per
+ track, but the number believed to exist by DOS and other operating
+ systems. *Warning*: If you set either of these numbers to a bad
+ value, you may lose all data on your disk.
+
+Always, after giving any of the commands Begin, Cylinder, Heads, or
+Sectors, you should Return to the main menu and give the Verify command.
+
+
+Warnings for `fdisk' users
+--------------------------
+
+In general, you should not use this `fdisk' program to create
+partitions for other operating systems, only for Linux. Nor should you
+use `fdisk' commands from other operating systems to create partitions
+for Linux.
+
+DR-DOS 5.0 and 6.0 are reported to have difficulties with partition
+ID codes of 80 or more. The Linux `fdisk' used to set the system type
+of new partitions to hexadecimal 81. DR-DOS seems to confuse this with
+hexadecimal 1, a DOS code. The values 82 for swap and 83 for file
+systems should not cause problems with DR-DOS. If they do, you may use
+the `fdisk' command `t' to change the system code of any Linux
+partitions to some number less than hexadecimal 80; I suggest 42 and 43
+for the moment.
+
+Partitioning a hard disk may destroy data which is on that disk if you
+are not careful. Go slowly, write down a description of the partition
+tables before you changed them, and always verify before you write.
+
+Most operating systems and utilities expect that all partitions begin and
+end at cylinder boundaries. This version of `fdisk' does so by default,
+but you can use it to create partitions which begin or end anywhere.
+This does not normally affect Linux, but it is very dangerous, as other
+operating systems (including DOS) may try to `correct' the partition
+boundaries.
+
+It is dangerous to create a new partition when the display/entry
+units are sectors.
+
+The Verify command warns you if anything is wrong. *Always* give a
+Verify command before writing any changes to disk.
+
+If you set the disk geometry (tracks per cylinder, or sectors per
+track) to an incorrect value, you may lose all data on your disk.
+
+Do create BSD/SUN and/or IRIX/SGI disk labels only when you are sure
+that you want them. Both features are intended to allow you READing
+those labels and prevent unintentional formatting of these disks.
diff --git a/Documentation/getopt.txt b/Documentation/getopt.txt
new file mode 100644
index 0000000..e6764fe
--- /dev/null
+++ b/Documentation/getopt.txt
@@ -0,0 +1,31 @@
+This package contains a reimplementation of getopt(1).
+
+PREFACE
+
+Getopt(1) is a program to help shell scripts parse command-line parameters.
+
+HIGHLIGHTS
+
+It can do anything that the GNU getopt(3) routines can do.
+
+It can cope with spaces and shell metacharacters within arguments.
+
+It can parse long parameters.
+
+It can shuffle parameters, so you can mix options and other parameters on
+the command-line.
+
+It can be easily identified as an enhanced getopt(1) from within shell scripts.
+
+It can report parse errors as coming from the shell script.
+
+It is fully compatible with other getopt(1) implementations.
+
+COPYING
+
+This program comes under the GNU general public license version 2. See the
+file COPYING included in this package. Note that though you may freely
+copy it, it is copyright (c) 1997-2005 by Frodo Looijaard
+<frodo@frodo.looijaard.name>.
+Files in the gnu directory are from glibc-2.0.4: copyright (C) 1987, 88,
+89, 90, 91, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
diff --git a/Documentation/getopt_changelog.txt b/Documentation/getopt_changelog.txt
new file mode 100644
index 0000000..ee27965
--- /dev/null
+++ b/Documentation/getopt_changelog.txt
@@ -0,0 +1,38 @@
+20051107: Bumped up version number to 1.1.4
+20051107: Makefile: package target
+20051107: Changed email and website to current ones
+20051107: Fixed a few typos in the manpage (sync with util-linux (2.12r)
+20030123: Bumped up version number to 1.1.3
+20030123: Changed WITH_GETTEXT option to WITHOUT_GETTEXT
+20030123: Renamed example programs to have the string getopt- prepended
+20030123: Manpage: all minus signs are now escaped
+20030123: Sync with util-linux (2.11y)
+20010329: Bumped up version number to 1.1.2
+20010329: Sync with util-linux
+20010311: Bumped up version number to 1.1.1
+20010311: Fixed stupid compilation error if NLS not selected
+20000630: Bumped up version number to 1.1.0
+20000630: Ported the Native Language Support patches from util-linux
+ They are written by Arkadiusz Mi¶kiewicz <misiek@pld.org.pl>
+20000627: Bumped up version number to 1.0.6
+20000627: A few manpage tweaks
+20000616: Introduced DESTDIR and directory creation in the Makefile.
+19990716: Bumped up version number to 1.0.5
+19990622: Made -u work
+19990101: Bumped up version number to 1.0.4 (aka. 1.0.3a in util-linux)
+19990101: Very small fix in main()
+19990101: Updated util-linux Makefile
+19980628: Bumped up version number to 1.0.3
+19980628: Removed remaining incompatibility with tcsh-6.02 from parse.tcsh
+980626: Added separate Makefile for util-linux
+19980625: Removed several bugs from parse.tcsh, partly thanks to Volker Kuhlmann
+ (v.kuhlmann@elec.canterbury.ac.nz).
+19980612: Removed reference to getopt in util-linux
+19980611: Bumped up version number to 1.0.2
+19980611: Fixed --version bug (was not available, though documented!)
+19980611: Removed compiler warnings.
+19980603: Bumped up version number to 1.0.1
+19980603: Fixed sizeof() bug (should be strlen) in getopt.c, thanks to
+ Bob Proulx (rwp@hprwp.fc.hp.com).
+19980505: Changed date field in LSM to proper syntax
+19980505: Released version 1.0
diff --git a/Documentation/howto-build-sys.txt b/Documentation/howto-build-sys.txt
new file mode 100644
index 0000000..cd59e18
--- /dev/null
+++ b/Documentation/howto-build-sys.txt
@@ -0,0 +1,88 @@
+util-linux build system
+=======================
+
+ - the build system is non-recursive, individual subdirectories use
+ Makemodule.am files. These files are merged together by automake
+ into one global Makefile in the top-level directory
+
+ - all final build results (binaries, libtool scripts) are stored in top-level
+ source directory
+
+ - all Makemodule.am files have to be designed as top-level makefiles, it
+ means with full paths (e.g. foo_SOURCES = subdir/foo.c)
+
+ - always use '+=' operator for global variables (e.g. bin_PROGRAMS += foo)
+
+ - use libcommon.la (without path!) for lib/ stuff (e.g. foo_LDADD = libcommon.la)
+
+ - for libblkid, libuuid and libmount use lib<name>.la in _LDADD and
+ -I$(ul_lib<name>_incdir) in _CFLAGS, for example
+
+ foo_LDADD = libmount.la
+ foo_CFLAGS = -I$(ul_libmount_incdir)
+
+ - always use suffixes for hooks, for example
+
+ install-exec-hook-foo:
+ ln -sf foo foooo
+
+ INSTALL_EXEC_HOOKS += install-exec-hook-foo
+
+
+ - all util-linux specific autoconf macros use UL_ prefix
+
+ - utils in Makefile.am files are enabled/disabled according to BUILD_<NAME>
+ conditions (AM_CONDITIONAL), for example:
+
+ if BUILD_HWCLOCK
+ ...
+ endif
+
+ - "if BUILD_<NAME>" blocks are never nested within another "if BUILD_<NAME>",
+ all dependencies have to be resolved in configure.ac (see UL_REQUIRES_BUILD())
+
+ - all BUILD_<NAME> in configure.am are always based on build_<name> variables,
+ for example:
+
+ AM_CONDITIONAL([BUILD_HWCLOCK], test "x$build_hwclock" = xyes)
+
+ the $build_<name> should be available in whole configure script
+
+ - AC_ARG_ENABLE() status is always stored in $enable_<name> variable, possible
+ setting:
+
+ "check" - util/feature is optional, if any subcomponent (function, lib,
+ ...) is missing a warning is printed and the util/feature is
+ disabled
+
+ "yes" - util/feature is required, if any subcomponent (function, lib,
+ ...) is missing an error is printed and ./configure aborted
+
+ "no" - the util/feature is unwanted
+
+
+ - some basic scenarios for the ./configure script are defined in the
+ tools/config-gen.d/ directory. If you want to use these predefined scenarios
+ then call
+
+ ./tools/config-gen [<scenario> ...]
+
+ for example
+
+ ./tools/config-gen all selinux
+
+ will build all utils with enabled selinux support. You can also define some
+ CFLAGS, for example:
+
+ CFLAGS=$(rpm --eval '%optflags') ./tools/config-gen all
+
+ will use the default distro flags.
+
+ WARNING: config-gen is not designed for end-user or downstream distributions!
+ It's for development purpose only. All end-users and downstream have
+ to use standard ./configure script only.
+
+ - the tools/config-gen script is also used for build system regression tests,
+ the test is not enabled by default, you have to use
+
+ tests/run.sh build-sys --force
diff --git a/Documentation/howto-compilation.txt b/Documentation/howto-compilation.txt
new file mode 100644
index 0000000..bebe0d2
--- /dev/null
+++ b/Documentation/howto-compilation.txt
@@ -0,0 +1,64 @@
+The common case
+
+ ./autogen.sh && ./configure && make
+
+ If something fails read the last lines. Typical reason to
+ fail is a missing dependency, such as libtool or gettext.
+
+Autotools
+
+ `./autogen.sh' generates all files needed to compile
+ and install the code (run it after checkout from git)
+
+ `make distclean' removes all unnecessary files, but the
+ code can still be recompiled with "./configure; make"
+
+ `make dist-gzip' (or -bzip2) creates a tarball that can
+ be configured and compiled without running `./autogen.sh'
+
+Compiling
+
+ Use SUID_CFLAGS and SUID_LDFLAGS when you want to define
+ special compiler options for typical suid programs, for
+ example:
+
+ ./configure SUID_CFLAGS="-fpie" SUID_LDFLAGS="-pie"
+
+ The SUID_* feature is currently supported for chfn, chsh,
+ newgrp, su, write, mount, and umount.
+
+ Preferred compilation options for developers, when
+ using gcc, are:
+
+ export CFLAGS="-Wmissing-parameter-type -Wsign-compare
+ -Wtype-limits -Wuninitialized -Wunused-parameter
+ -Wunused-but-set-parameter -fno-common"
+
+ FIXME: add notes about klib and uClib.
+
+Static linking
+
+ Use --enable-static-programs[=LIST] configure option when
+ you want to use statically linked programs.
+
+ Note, mount(8) uses get{pw,gr}nam() and getpwuid()
+ functions for translation from username and groupname to
+ UID and GID. These functions could be implemented by
+ dynamically loaded independent modules (NSS) in your libc
+ (e.g. glibc). These modules are not statically linked to
+ mount(8) and mount.static is still using dlopen() like
+ dynamically linked version.
+
+ The translation won't work in environment where NSS
+ modules are not installed.
+
+ For example normal system (NSS modules are available):
+
+ # ./mount.static -v -f -n -ouid=kzak /mnt/foo
+ LABEL=/mnt/foo on /mnt/foo type vfat (rw,uid=500)
+ ^^^^^^^
+ and without NSS modules:
+
+ # chroot . ./mount.static -v -f -n -ouid=kzak /mnt/win
+ LABEL=/mnt/win on /mnt/win type vfat (rw,uid=kzak)
+ ^^^^^^^^
diff --git a/Documentation/howto-contribute.txt b/Documentation/howto-contribute.txt
new file mode 100644
index 0000000..5df6389
--- /dev/null
+++ b/Documentation/howto-contribute.txt
@@ -0,0 +1,128 @@
+Patches
+
+ * send your patches to the mailing list or to the upstream maintainer
+ (see the AUTHORS and README files)
+
+ * diff -u
+
+ * don't include generated (autotools) stuff to your patches (hint:
+ use git clean -Xd)
+
+ * neutrality; The stuff in util-linux should be rather
+ distribution-neutral. No RPMs/DEBs/... are provided - get yours
+ from your distributor.
+
+ * patches are delivered via email only. Downloading them from
+ internet servers is a pain.
+
+ * one patch per email, with the changelog in the body of the email.
+
+ * many small patches are favoured over one big. Break down is done on
+ basis of logical functionality; for example #endif mark ups,
+ compiler warning and exit codes fixes all should be individual
+ small patches.
+
+ * Subject: [PATCH] subsystem: description
+
+ * if someone else wrote the patch, they should be credited (and
+ blamed) for it. To communicate this, add a line:
+
+ From: John Doe <jdoe@wherever.com>
+
+ * add a Signed-off-by line (hint: use "git commit -s")
+
+ The sign-off is a simple line at the end of the explanation for the
+ patch, which certifies that you wrote it or otherwise have the
+ right to pass it on as a open-source patch. The rules are pretty
+ simple: if you can certify the below:
+
+ By making a contribution to this project, I certify that:
+
+ (a) The contribution was created in whole or in part by me and I
+ have the right to submit it under the open source license
+ indicated in the file; or
+
+ (b) The contribution is based upon previous work that, to the best
+ of my knowledge, is covered under an appropriate open source
+ license and I have the right under that license to submit that
+ work with modifications, whether created in whole or in part
+ by me, under the same open source license (unless I am
+ permitted to submit under a different license), as indicated
+ in the file; or
+
+ (c) The contribution was provided directly to me by some other
+ person who certified (a), (b) or (c) and I have not modified
+ it.
+
+ (d) I understand and agree that this project and the contribution
+ are public and that a record of the contribution (including
+ all personal information I submit with it, including my
+ sign-off) is maintained indefinitely and may be redistributed
+ consistent with this project or the open source license(s)
+ involved.
+
+ then you just add a line saying
+
+ Signed-off-by: Random J Developer <random@developer.example.org>
+
+ using your real name (sorry, no pseudonyms or anonymous
+ contributions.)
+
+ * for more details see: The perfect patch
+ http://userweb.kernel.org/~akpm/stuff/tpp.txt
+
+Before sending a patch
+
+ * make sure that after patching source files will compile without
+ errors.
+
+ * test that previously existed program behaviour is not
+ unintentionally alterred. If you alter the behaviour tell about in
+ commit message.
+
+Coding style
+
+ * the preferred coding style is based on the linux kernel
+ Documentation/CodingStyle. For more details see:
+
+ http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/CodingStyle
+
+ * Use `FIXME:' and a good description if want to inform others
+ something is not quite right, and you are unwilling to fix the
+ issue.
+
+Various notes
+
+ * The util-linux does not use kernel headers for file system super
+ blocks structures.
+
+ * Patches relying on features that are not in Linus' tree
+ are not accepted.
+
+ * Do not use `else' after non-returning functions. For
+ example
+
+ if (this)
+ err(EXIT_FAIL, "this failed");
+ else
+ err(EXIT_FAIL, "that failed");
+
+ is wrong and should be wrote
+
+ if (this)
+ err(EXIT_FAIL, "this failed");
+ err(EXIT_FAIL, "that failed");
+
+ * When you use if shortshort hand make sure it is not wrapped to
+ multiple lines. In case the shorthand does not look good on one
+ line use normal "if () else" syntax.
+
+IRC channel
+
+ * We have a new #util-linux IRC channel at freenode.net.
+
+ irc://chat.freenode.net/util-linux
+
+ the channel is for developers or upstream maintainers. User
+ support is recommended to go to distribution channels or
+ forums.
diff --git a/Documentation/howto-debug.txt b/Documentation/howto-debug.txt
new file mode 100644
index 0000000..ca7346f
--- /dev/null
+++ b/Documentation/howto-debug.txt
@@ -0,0 +1,72 @@
+Debugging util-linux programs
+=============================
+
+How to deal libtool
+-------------------
+
+There are considerations to be made when profiling or debugging some programs
+found in the util-linux package. Because wrapper scripts are used for the
+binaries to make sure all library dependencies are met, you cannot use tools
+such as gdb or valgrind directly with them.
+
+Let's take for example the mount command:
+
+ $> cd /path/to/util-linux
+ $> file mount/mount
+ mount/mount: Bourne-Again shell script text executable
+
+The binary itself is located in the mount/.libs/ directory:
+
+ $> file mount/.libs/mount
+ mount/.libs/mount: ELF 64-bit LSB executable, x86-64, version 1 \
+ (SYSV), dynamically linked (uses shared libs) [...]
+
+When this command is run, there's a library dependency error:
+
+ $> mount/.libs/mount
+ mount/.libs/mount: /lib/libblkid.so.1: version `BLKID_2.20' not found \
+ (required by mount/.libs/mount)
+
+To overcome this we need set the LD_LIBRARY_PATH variable to read the path of
+the shared lib found in the sources, and not system-wide:
+
+ $> export LD_LIBRARY_PATH=$PWD/libblkid/src/.libs/:$LD_LIBRARY_PATH
+
+Now external debugging tools can be run on the binary.
+
+Happy hacking!
+Davidlohr Bueso, August 2011
+
+
+The libmount & libblkid
+-----------------------
+
+Both of the libraries can be debugged by setting an environment variable
+consisting of a number. The number will be used as a bit mask, so the more 1 the
+higher the debugging level. Search for `DEBUG' from files
+
+ libblkid/src/blkidP.h
+ libmount/src/mountP.h
+
+to see what the different bits mean. At the time of writing this the following
+enabled full debug.
+
+ export LIBBLKID_DEBUG=0xffff
+ export LIBMOUNT_DEBUG=0xffff
+
+The libblkid reads by default /etc/blkid.conf which can be overridden by the
+environment variable BLKID_CONF. See manual libblkid/libblkid.3 for details
+about the configuration file.
+
+Block device information is normally kept in a cache file (see blkid man page
+for more information about the cache file location) that can be overridden by
+the environment variable BLKID_FILE.
+
+To libmount uses three paths, which can be overridden by using environment
+variables. Notice that these environment variables are ignored for non-root
+users.
+
+ env variable if not set defaults to
+ LIBMOUNT_FSTAB /etc/fstab
+ LIBMOUNT_MTAB /etc/mtab
+ LIBMOUNT_UTAB /run/mount/utab or /dev/.mount/utab
diff --git a/Documentation/howto-man-page.txt b/Documentation/howto-man-page.txt
new file mode 100644
index 0000000..5ca4af0
--- /dev/null
+++ b/Documentation/howto-man-page.txt
@@ -0,0 +1,161 @@
+.\" This is an util-linux manual page example in troff format.
+.\"
+.\" .TH macro is expecting following arguments:
+.\" title section date footer header
+.\" The title is usually command name.
+.\" The section must match with file name extension.
+.\" The date tells month and year when last update happen.
+.\" The footer is fixed to "util-linux".
+.\" The header is textual string of section
+.\" 1 "User Commands"
+.\" 2 "System calls"
+.\" 3 "Programmer's Manual"
+.\" 4 "Special Files"
+.\" 5 "File Formats"
+.\" 6 "Games"
+.\" 7 "Miscellanea"
+.\" 8 "System Administration"
+.\"
+.\" Please read `man 7 groff_man' howto use various macros.
+.\"
+.TH EXAMPLE "1" "August 2011" "util-linux" "User Commands"
+.SH NAME
+example \- an util-linux man page howto
+.SH SYNOPSIS
+.B example
+[options]
+.I argument
+.SH DESCRIPTION
+All manual pages need some sort of description. Write such here.
+.SH OPTIONS
+.TP
+\fB\-n\fR, \fB\-\-no\-argument\fR
+This option does not use argument.
+.TP
+\fB\-o\fR, \fB\-\-optional\fR [\fIargument\fR]
+Tell in description an
+.I argument
+is optional, and what happens when is or is not given. Notice that
+.I argument
+is not abbreviated, like in usage function. Assuming usage function would
+define argument to be
+.IR num ,
+the manual page should say
+.IR number .
+.TP
+\fB\-r\fR, \fB\-\-required\fR \fIargument\fR
+Tell in description option
+.I argument
+is required.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help and exit.
+.SH NOTES
+Tell details what users might need to know. For example kernel feature or
+version requirements.
+.PP
+The man page groff input lines should not exceed 80 characters length.
+.PP
+Do not leave empty lines to groff input. If you need break or paragraph use
+appropriate groff macros. See
+.BR groff_man (7)
+how to use man page macros.
+.PP
+Use of
+.I italic
+which is underlined in terminal, and
+.B bold
+are not strictly defined. As some sort of convention
+.I arguments
+use italic, and the
+.B other highlights
+are bold.
+.\"
+.\" The manual page comments are undervalued way of adding clarifications
+.\" quite not belong to the manual, questions, TODO items etc. Feel free
+.\" to use them.
+.\"
+.PP
+When in the source a new sentence begins somewhere midline, it should use a
+double space before its initial letter. This is done because groff uses double
+spaces last sentence ends to end of line, and next begins from new line.
+Unless double spaces are used in middle of of line the spacing style is
+inconsistent.
+.SH ENVIRONMENT
+Tell which environment variables affect, and how, to execution of the command.
+.TP
+.B EXAMPLE_PATH
+Configuration file path. Notice that a well-known environment variables such as
+.B HOME
+does not need explanation.
+.SH FILES
+Tell which file(s) command uses.
+.TP
+.B $EXAMPLE_PATH
+.TQ
+.B $HOME/.example.conf
+.TQ
+.B /etc/example.conf
+What are these files, which order and will the evaluation end or continue if a
+file is found. In case the explanation is not simple write separated Special
+Files manual page that tells about syntax, meaning of key-value settings etc.
+The file manual page needs to be referred in
+.B SEE ALSO
+section.
+.TP
+.B /var/log/example.log
+Another file.
+.SH EXAMPLES
+Write typical and/or clever use examples here. The bellow examples are stupid,
+and you should never write them to real man page.
+.TP
+.B example -h
+Output help screen.
+.TP
+.B example -V
+Output version information.
+.SH "EXIT STATUS"
+This section can be removed if command has only two return values,
+.B 0
+for success and
+.B 1
+for failure. Use of
+.B sysexits.h
+return values must be mentioned, but does not need to be explained.
+.PP
+.RS
+.PD 0
+.TP
+.B 0
+success
+.TP
+.B 1
+failure
+.TP
+.B 2
+tell why this could happen
+.TP
+.B 3
+etc
+.PD
+.RE
+.SH AUTHORS
+.MT rjh@\:example.org
+Random J. Hacker
+.ME
+.br
+.MT fred@\:example.com
+Fred Foobar
+.ME
+.SH "SEE ALSO"
+.BR groff_man (7),
+.BR foo (1),
+.BR bar (8)
+.SH AVAILABILITY
+The example command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/Documentation/howto-tests.txt b/Documentation/howto-tests.txt
new file mode 100644
index 0000000..fe91024
--- /dev/null
+++ b/Documentation/howto-tests.txt
@@ -0,0 +1,44 @@
+
+ util-linux regression tests
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ It's expected that for each invasive change or important bugfix you will
+ include a test to your patch.
+
+ Compile tests & run basic tests:
+
+ $ make check
+
+ Note that the configure option --disable-static disables many of libmount and
+ libblkid unit tests.
+
+ Run all tests including tests that require root permissions:
+
+ # cd tests
+ # ./run.sh [--verbose] [--memcheck]
+
+ note that as root you have to manually remove output and diff directories
+
+ # rm -rf output diff
+
+ or run 'make clean' as root.
+
+
+ Run subset of tests:
+
+ $ ./run.sh <test_directory-name>
+
+ for example:
+
+ $ ./run.sh blkid
+ $ ./run.sh libmount
+
+
+
+ *** WARNING for root users ***
+
+ The tests touch your /etc/fstab, initialize loop devices or scsi_debug devices
+ if executed with root permissions.
+
+ Please, be careful and use these tests only for development and never on
+ production system.
diff --git a/Documentation/howto-usage-function.txt b/Documentation/howto-usage-function.txt
new file mode 100644
index 0000000..70116b2
--- /dev/null
+++ b/Documentation/howto-usage-function.txt
@@ -0,0 +1,147 @@
+Well-known options
+------------------
+
+Following options are well-known, and they should not be used for any
+other purpose.
+
+ -h, --help display usage and exit
+ -V, --version display version and exit
+
+Rule of thumb with other options is that once they exist you may not
+change how they work, or remove them.
+
+Notice that `-?' is not expected to be synonym of --help, but an unknown
+options resulting to a usage print out due getopt failure.
+
+
+How usage is supposed to look
+-----------------------------
+
+The usage output begins with empty line followed by `Usage:' and synopsis
+beginning on the next line. Synopsis and all other lines which vary are
+indented by one space (0x40).
+
+The synopsis line describes how to execute the command. Sometimes you may
+need multiple synopsis lines, this is documented separately under Synopsis
+title.
+
+Notations; Diamond brackets markup an argument. Anything optional is
+marked with square brackets, such as optional command arguments, or
+optional option arguments. In the later case `=' character in front of
+the option argument, because one has to use it. Square brackets with
+three dots inside mean unlimited repetition of previous.
+
+Short option are always written first followed by long option. Options are
+separated with comma and one space. Lonely short or long option do not
+affect where writing of the option begins.
+
+Below, in between snips, is an example of how the usage output should
+look like.
+
+-- snip
+
+Usage:
+ program [options] <file> [...]
+
+Options:
+
+ -n, --no-argument option does not use argument
+ -o, --optional[=<arg>] option argument is optional
+ -r, --required <arg> option requires an argument
+ -z no long option
+ --xyzzy a long option only
+ -e, --extremely-long-long-option
+ use next line for description when needed
+ -l, --long-explanation an example of very verbose, and chatty option
+ description on two, or multiple lines, where the
+ consecutive lines are intended by two spaces
+ -f, --foobar next option description resets indent
+
+ -h, --help display this help and exit
+ -V, --version output version information and exit
+
+For more details see program(1).
+-- snip
+
+Notice that there are usage function definitions in c.h include file
+which you must use. Location of example is mentioned at the end of this
+file.
+
+
+Option description
+------------------
+
+Option description should not exceed width of 80 characters. If you need
+longer description use multiple lines and indentation.
+
+The description begins from the point of longest option plus two spaces.
+In case adding a new option would cause a description re-indentation
+need it either has to be done, or the new option should begin description
+from next line. Usually the later is better. The --help and --version
+will not follow this rule, since they are defined as constants to ease
+translation work.
+
+The argument, e.g. `arg', can be better. For example if an option is
+expecting number as argument a `num' is suitable argument description.
+
+Order of the options has no special meaning, with a exception of --help and
+--version which are expected to be last ones of the list.
+
+Last line of the usage print out is either empty, or a message informing
+about manual page. For example: `For more details see example(1).' In
+between man page message and options there is empty line.
+
+
+Usage function
+--------------
+
+Standard usage function takes either stderr or stdout as an argument. The
+argument will determine whether the program will exit with error or
+success. Usage function will never return.
+
+In the code all strings with options have to start at the same position. See
+bellow what that means.
+
+ fprintf(out, _(" -x[=<foo>] default foo is %s"), x);
+ fputs( _(" -y some text"), out);
+
+The usage output should be split to manageable chunks, in practice one or
+few lines.
+
+
+Synopsis
+--------
+
+You may need to use multiple synopsis lines to tell that a command does
+fundamentally different things depending on options and/or arguments. For
+example ionice either changes priority of a running command, or executes
+a program with a defined priority. Therefore it is reasonable to have two
+synopsis lines.
+
+ ionice [options] -p <pid> [...]
+ ionice [options] <command> [<args>] [...]
+
+Notice that the synopsis is not meant to be repetition of options segment.
+The fundamental difference in execution is a bit difficult to define
+other than usually command author, package maintainer or patch submitter
+will know when it should be done that way.
+
+
+Legacy options
+--------------
+
+Some commands use peculiar options and arguments. These are supported,
+but such will not be accepted in future. See list bellow for a hint what
+are meant this.
+
+- Other than `-' used to define an option. See `+' for `more' or `ddate'
+ commands.
+- Option string used as an option argument. See `more' command and `-num'.
+- Short long option. See `setterm'.
+
+
+Example
+-------
+
+Command sys-utils/arch.c is a minimal example how to do write usage
+function, setup option parsing, version printing and so on.
diff --git a/Documentation/hwclock.txt b/Documentation/hwclock.txt
new file mode 100644
index 0000000..e767623
--- /dev/null
+++ b/Documentation/hwclock.txt
@@ -0,0 +1,3 @@
+Hwclock is a program that runs under Linux and sets and queries the
+Hardware Clock, which is often called the Real Time Clock, RTC, or
+CMOS clock.
diff --git a/Documentation/licenses/COPYING.BSD-3 b/Documentation/licenses/COPYING.BSD-3
new file mode 100644
index 0000000..2f17068
--- /dev/null
+++ b/Documentation/licenses/COPYING.BSD-3
@@ -0,0 +1,25 @@
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, and the entire permission notice in its entirety,
+ including the disclaimer of warranties.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote
+ products derived from this software without specific prior
+ written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
diff --git a/Documentation/licenses/COPYING.GPLv2 b/Documentation/licenses/COPYING.GPLv2
new file mode 100644
index 0000000..d159169
--- /dev/null
+++ b/Documentation/licenses/COPYING.GPLv2
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/Documentation/licenses/COPYING.LGPLv2.1 b/Documentation/licenses/COPYING.LGPLv2.1
new file mode 100644
index 0000000..4362b49
--- /dev/null
+++ b/Documentation/licenses/COPYING.LGPLv2.1
@@ -0,0 +1,502 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/Documentation/licenses/COPYING.UCB b/Documentation/licenses/COPYING.UCB
new file mode 100644
index 0000000..9abbf24
--- /dev/null
+++ b/Documentation/licenses/COPYING.UCB
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/Documentation/modems-with-agetty.txt b/Documentation/modems-with-agetty.txt
new file mode 100644
index 0000000..44a611e
--- /dev/null
+++ b/Documentation/modems-with-agetty.txt
@@ -0,0 +1,76 @@
+25/10/95 Peter Orbaek <poe@daimi.aau.dk>
+
+Some notes for using agetty with modems
+
+Using a comms program to initialize the modem
+---------------------------------------------
+
+* Use kermit or minicom to initialize the modem to
+
+ - be entirely quiet.
+ - don't do local echo in command mode.
+ - turn on DCD (carrier detect) only when there is a connection going.
+ - enable auto-answer.
+ - keep a constant computer/modem bitrate at all times.
+ - optionally save this setup as the modem startup configuration.
+
+* Run agetty on the appropriate ttySn port with the arguments:
+ * -w to wait for a CR or LF before writing the /etc/issue message
+ * computer/modem bitrate
+ * the tty name.
+
+Example from my modem setup, an old 2400 bps SupraModem using Hayes standard
+AT commands.
+
+Initialize modem using kermit with the commands
+
+ AT E0 Q1 &D2 &C1 S0=1 &W0
+
+to
+ - turn off local echo from modem when in command mode (E0).
+ - disable all result codes from modem (Q1).
+ - make an on/off transition on the DTR line make the modem
+ disconnect and go into command mode (&D2).
+ - make the computer/modem DCD line track the modem/modem
+ carrier detect signal, i.e. no connection means no
+ carrier detect signal to the computer (&C1).
+ - enable auto-answer after the first ring (S0=1).
+ - store the configuration as the start configuration (&W0).
+
+The commands on your modem to achieve the same setup may vary, especially
+the &D2 and &C1 commands may not be entirely standard.
+
+Exit kermit/minicom.
+
+Put the command
+
+ /sbin/agetty -w 2400 ttyS1
+
+in the command field of the appropriate line in /etc/inittab to start
+agetty on /dev/ttyS1 with a 2400 bps speed between modem and computer.
+
+Initializing the modem with agetty
+----------------------------------
+
+Use the agetty -I command line option to specify a modem init string, like
+for the same setup as above, use the following agetty command in your
+/etc/inittab.
+
+ /sbin/agetty -w -I 'ATE0Q1&D2&C1S0=1\015' 2400 ttyS1
+
+The final \015 is an octal coding of the carriage return character
+ending the command string.
+
+If you're using simpleinit (part of this package) instead of the SYSV
+compatible init (you're most likely using the SYSV one!) then you must
+remove the single quotes from the command line above.
+
+Note that the &W0 command was not used here since the modem will be
+initialized each time agetty starts.
+
+With a V.34 (28.8 kbps) modem try starting with a command like:
+
+ /sbin/agetty -w -I 'ATE0Q1&D2&C1S0=1\015' 115200 ttyS1
+
+Note that agetty supports the higher (>9600 bps) serial speeds
+directly, there's no need to use setserial to use the higher speeds.
diff --git a/Documentation/mount.txt b/Documentation/mount.txt
new file mode 100644
index 0000000..f75a6e2
--- /dev/null
+++ b/Documentation/mount.txt
@@ -0,0 +1,17 @@
+mount/umount for Linux 0.97.3 and later.
+Authors:
+Doug Quale <quale@saavik.cs.wisc.edu>,
+H.J. Lu <hlu@eecs.wsu.edu>,
+Rick Sladkey <jrs@world.std.com>,
+Stephen Tweedie <sct@dcs.ed.ac.uk>.
+Andries Brouwer <aeb@cwi.nl>
+Adrian Bunk <bunk@stusta.de>
+
+Presently in util-linux maintained by Karel Zak <kzak@redhat.com>.
+
+== Notes to developers ==
+
+ The final solution will be libmount/mount.c as the
+ mount(8) command implementation. So, let's keep the
+ current mount/* code in maintenance mode and don't try to
+ rewrite it :-)
diff --git a/Documentation/pg.txt b/Documentation/pg.txt
new file mode 100644
index 0000000..7a974cb
--- /dev/null
+++ b/Documentation/pg.txt
@@ -0,0 +1,13 @@
+README for the "pg" utility for Linux.
+
+The "pg" utility is the historic System V equivalent to BSD's "more". This
+is a free clone of it, and it is intended to conform to the SVID 4 as well
+as the SUSv2 specification of this command.
+
+Contrasting to the System V implementation, this one filters backspace
+formatting sequences while searching, so you can comfortably search in nroff
+output like manual pages.
+
+Gunnar Ritter
+Freiburg i. Br.
+Germany
diff --git a/Documentation/poeigl.txt b/Documentation/poeigl.txt
new file mode 100644
index 0000000..94f51a9
--- /dev/null
+++ b/Documentation/poeigl.txt
@@ -0,0 +1,503 @@
+README for init/getty/login, by poe@daimi.aau.dk
+
+This package contains simpleinit, agetty, and login programs for Linux.
+Additional utilities included are: hostname, who, write, wall, users
+domainname, hostid, cage and mesg.
+
+Most of this software has been contributed by others, I basically just
+ported the things to Linux.
+
+Version 1.49 (20-Jun-97)
+ Small patches for new util-linux distribution and glibc compat.
+ PAM support in login.c by Erik Troan.
+
+Version 1.48 (6-Jun-97)
+ Now changes mode and owner of /dev/vcs devices for console logins.
+ After idea by Andries Brouwer.
+
+Version 1.47 (2-Apr-97)
+ Got new version of hostid.c and hostid.1 from
+ Sander van Malssen <svm@kozmix.ow.nl>.
+ Removed premature endutent() call in login.c, simpleinit.c and
+ agetty.c to be compatible with the changed semantics of gnu libc2.
+ Fix by Jesse Thilo <Jesse.Thilo@pobox.com>.
+
+Version 1.46 (28-Jan-97)
+ Several security fixes for login by David Holland (buffer overruns)
+ <dholland@hcs.harvard.edu>
+ Fixed write.c, to handle a terminating period correctly.
+ Re-indented login.c, it was getting too messy.
+
+Version 1.45a (16-Dec-96)
+ Better support in login for shadow passwords. Compile with
+ -DSHADOW_PWD if you have <shadow.h>. This is on by default.
+ By Marek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>.
+ Changed the wtmp locking scheme in login.c,agetty.c,simpleinit.c
+ to flock() /etc/wtmplock instead of the wtmp file directly.
+ This avoids a denial of service attack.
+ Some support for the RB-1 Cryptocard token for challenge/response
+ authentication. This needs a DES library, either Eric Young's
+ libdes, or the Koontz implementation, see cryptocard.c.
+ Initial support patch by Randolph Bentson,
+ <bentson@grieg.seaslug.org>
+ Changed getpass() to use fputs() instead of fprintf().
+
+Version 1.44 (13-Nov-96):
+ Made isapty() in checktty.c more resilient to 2.0 systems
+ that haven't re-MAKEDEV'ed their pty devices.
+
+Version 1.43 (8-Nov-96):
+ Fix to checktty.c: PTY's are numbered differently after 1.3,
+ blush! Fix by Gerhard Schneider <gs@ilfb.tuwien.ac.at>
+
+Version 1.42c (6-Nov-96):
+ Small fix by Gabriel M. Schuyler <schuyler@easiest.com>, to get
+ better syslog messages (1 LOGIN FAILURE instead of 2 LOGIN FAILURES).
+ Patch butchered by me.
+
+Version 1.42b (30-Sep-96):
+ Got patch for checktty.c from Christoph Lameter
+ <clameter@miriam.fuller.edu> so it doesn't traverse the groupfile
+ "manually" but uses the getgroups() call, this is more efficient
+ with large groupfiles and NIS/YP.
+
+Version 1.42a (24-Sep-96):
+ Added extra syslog() call to login.c to log all good logins.
+ Patch from Steve Philp.
+
+Version 1.41 (20-Jul-96):
+ Added security fix to checktty.c by JDS to clear certain lists.
+ Patches butchered and ANSI'fied by me.
+ Added -n option to agetty to avoid the login prompt.
+
+Version 1.40a (29-Dec-95):
+ Added -f <issue_file> option to agetty. Patches from Eric Rasmussen
+ <ear@usfirst.org>, but somewhat butchered by me.
+
+Version 1.39 (25-Oct-95):
+ Lots of testing and bugfixes in agetty. Now the modem init stuff
+ should finally work (for me). Also wrote modem.agetty as an example
+ on how to use agetty with a modem.
+ Agetty now also supports baud rates of 38400, 57600, 115200 and
+ 230400 bps.
+
+Version 1.37 (15-Sep-95):
+ Added -I <initstring> and -w options to agetty.c for those that
+ use agetty with modems.
+
+Version 1.36 (25-Aug-95):
+ Enhanced /etc/usertty features with group support. Moved this part
+ of login.c to checktty.c. One can now define classes of hosts and
+ ttys and do access checking based on unix-group membership. See
+ login.1. Also time ranges for logins can be specified, for example
+ writing the line
+
+ joe [mon:tue:wed:thu:fri:8-16]@barracuda [mon:tue:wed:thu:fri:0-7:17-23]@joes.pc.at.home [sat:sun:0-23]@joes.pc.at.home
+
+ says that during working hours, Joe may rlogin from the host
+ barracuda, whereas outside working hours and in weekends Joe may
+ rlogin from his networked PC at home.
+
+ login.c: failures was not properly initialized, it now is. Also
+ made sure ALL failures are really logged to syslog.
+
+Version 1.35 (7-Aug-95):
+ login.c: Much improved features for the usertty file, allows
+ access control based on both hostnames/addresses and line. See the
+ about.usertty file and the man-page.
+
+ Fixed agetty so it doesn't fiddle with the ut_id field in the
+ utmp record, this should prevent growing utmps on systems with
+ more than 10 login lines. Fix suggested and checked by Alan Wendt
+ <alan@ezlink.com> in his agetty.1.9.1a.
+
+ Agetty now installs as agetty again, not as getty.
+ Updated man-page for login(1) to document /etc/usertty changes.
+
+ This has been tested on Linux 1.2.5 with GCC 2.5.8 and libc 4.5.26.
+
+Version 1.33a (20-Jun-95):
+ rchatfie@cavern.nmsu.edu ("rc.") suggested that I should remove
+ the #ifndef linux around the special logging of dial-up
+ logins. This is now done, so each login via a serial port
+ generates a separate DIALUP syslog entry.
+
+Version 1.33 (5-Jun-95):
+ Patch by Ron Sommeling <sommel@sci.kun.nl> and
+ jlaiho@ichaos.nullnet.fi (Juha Laiho) for agetty.c, used
+ to return a pointer to an automatic variable in get_logname().
+ Many patches from or via Rickard Faith <faith@cs.unc.edu>, fixing
+ man-pages etc, now defaults to using /var/log/wtmp and /var/run/utmp
+ according to the new FSSTND.
+
+ Fix in login.c for CPU eating bug when a remote telnet client dies
+ while logging in.
+
+ This is for Linux 1.2, GCC 2.6.2 or later.
+
+Version 1.32b (12-Mar-95):
+ Login now sets the tty group to "tty" instead of "other". Depending
+ on compile-time define USE_TTY_GROUP the tty mode is set to 0620 or
+ 0600 instead of 0622. All as per suggestion by Rik Faith and the
+ linux-security list.
+ Write/wall now strips control chars except BEL (\007). Again after
+ suggestion by Rik Faith.
+
+Version 1.32a
+ Urgent security patch from Alvaro M. Echevarria incorporated into
+ login.c. This is really needed on machines running YP until
+ the libraries are fixed.
+
+Version 1.32
+ Login now logs the ip-address of the connecting host to utmp as it
+ should.
+
+Version 1.31b (2-Feb-95):
+ Daniel Quinlan <quinlan@yggdrasil.com> and Ross Biro
+ <biro@yggdrasil.com> suggested a patch to login.c that allows for
+ shell scripts in the shell field of /etc/passwd, so one can now
+ have (as a line in /etc/passwd):
+ bye::1000:1000:Outlogger:/bin:echo Bye
+ Logging in as "bye" with no password simply echoes Bye on the screen.
+ This has applications for pppd/slip.
+
+Version 1.31a (28-Oct-94):
+ Scott Telford provided a patch for simpleinit, so executing reboot
+ from singleuser mode won't partially execute /etc/rc before
+ the reboot.
+
+Version 1.30 (17-Sep-94):
+ tobias@server.et-inf.fho-emden.de (Peter Tobias) has made a more
+ advanced hostname command that understands some options such as
+ -f for FQDN etc. I'll not duplicate his work. Use his hostname
+ package if you wish.
+
+ svm@kozmix.xs4all.nl (Sander van Malssen) provided more features
+ for the /etc/issue file in agetty. \U and \u now expand to the
+ number of current users.
+
+ It is now possible to state the value of TERM on the agetty command
+ line. This was also provided by Sander.
+
+ This has been built under Linux 1.1.42 with gcc 2.5.8 and libc 4.5.26.
+
+Version 1.29 (18-Aug-94):
+ Finally got around to making a real version after the numerous
+ alpha versions of 1.28. Scott Telford <st@epcc.ed.ac.uk> provided
+ a patch for write(1) to make it look more like BSD write.
+
+ Fixed login so that the .hushlogin feature works even with real
+ protective users mounted via NFS (ie. where root can't access
+ the user's .hushlogin file).
+
+ Cleaned up the code to make -Wall bearable.
+
+Version 1.28c (21-Jul-94):
+ Rik Faith reminded me that agetty should use the syslog
+ facility. It now does.
+
+Version 1.28b (30-May-94):
+ On suggestion from Jeremy Fitzhardinge <jeremy@suite.sw.oz.au>
+ I added -- as option delimiter on args passed from agetty to
+ login. Fixes -froot hole for other login programs. The login
+ program in this package never had that hole.
+
+Version 1.28a (16-May-94):
+ bill@goshawk.lanl.gov provided a couple of patches, one fixing
+ terminal setup in agetty, and reboot is now supposed to be
+ in /sbin according to FSSTND.
+
+Version 1.27 (10-May-94):
+ Changed login.c, so all bad login attempts are logged, and added
+ usertty security feature. See about.usertty for an explanation.
+ There's no longer a limit of 20 chars in the TERM environment
+ variable. Suggested by Nicolai Langfeldt <janl@math.uio.no>
+
+ Added #ifdef HAVE_QUOTA around quota checks. Enable them if
+ you have quota stuff in your libraries and kernel.
+ Also re-enabled set/getpriority() calls as we now have them,
+ and have had for a long time...
+
+ Now wtmp is locked and unlocked around writes to avoid mangling.
+ Due to Jaakko Hyv{tti <HYVATTI@cc.helsinki.fi>.
+
+ Wrt. agetty: A \o in /etc/issue now inserts the domainname, as
+ set by domainname(1). Sander van Malssen provided this.
+ This is being used under Linux 1.1.9
+
+ Beefed up the agetty.8 man-page to describe the /etc/issue
+ options. Added man-pages for wall, cage, who.
+
+Version 1.26 alpha (25-Apr-94):
+ Added patch from Bill Reynolds <bill@goshawk.lanl.gov> to
+ simpleinit, so it will drop into single user if /etc/rc
+ fails, eg. from fsck.
+
+Version 1.25 (9-Feb-94):
+ Agetty should now work with the Linux 0.99pl15a kernel.
+ ECHOCTL and ECHOPRT are no longer set in the termios struct.
+ Also made agetty accept both "tty baudrate" and "baudrate tty"
+ arguments.
+
+Version 1.24 (23-Jan-94): changes since 1.22
+ Christian von Roques <roques@juliet.ka.sub.org> provided a patch
+ that cleans up the handling of the -L option on agetty.
+ Rik Faith <faith@cs.unc.edu> enhanced several man-pages...
+
+Version 1.23 (11-Dec-93): changes since 1.21
+ Mitchum DSouza provided the hostid(1) code. It needs libc 4.4.4 or
+ later and a Linux 0.99.14 kernel or later. It can set and print
+ the world unique hostid of the machine. This may be used in
+ connection with commercial software licenses. God forbid!
+ I added the -v option, and munged the code a bit, so don't blame
+ Mitch if you don't like it.
+
+ I made the "cage" program. Using this as a shell in the passwd
+ file, enables one to let users log into a chroot'ed environment.
+ For those that have modem logins and are concerned about security.
+ Read the source for further info.
+
+ "who am i" now works.
+
+ The login program works with Yellow Pages (aka NIS) simply by
+ linking with an appropriate library containing a proper version
+ of getpwnam() and friends.
+
+Version 1.21 (30-Oct-93): changes since 1.20
+ In simpleinit.c: The boottime wtmp record is now written *after*
+ /etc/rc is run, to put a correct timestamp on it.
+ Daniel Thumim <dthumim@mit.edu> suggested this fix.
+
+ The source and Makefile is prepared for optional installation of
+ binaries in /sbin instead of /etc, and logfiles in /usr/adm instead
+ of /etc. See and change the Makefile to suit your preferences.
+ Rik Faith and Stephen Tweedie inspired this change.
+
+Version 1.20 (30-Jul-93): changes since 1.17:
+ Versions 1.18 and 1.19 were never made publicly available.
+ Agetty now supports a -L switch that makes it force the CLOCAL flag.
+ This is useful if you have a local terminal attached with a partly
+ wired serial cable that does not pass on the Carrier Detect signal.
+
+ There's a domainname program like the hostname program; contributed
+ by Lars Wirzenius.
+
+ Simpleinit will now write a REBOOT record to wtmp on boot up. Time-
+ zone support is now optional in simpleinit. Both of these patches
+ were made by Scott Telford <st@epcc.ed.ac.uk>.
+
+ This is for Linux 0.99.11 or later.
+
+Version 1.17 (19-May-93): changes since 1.16:
+ Login, simpleinit and write should now work with shadow passwords
+ too. See the Makefile. Thanks to Anders Buch who let me have an
+ account on his SLS based Linux box on the Internet, so I could test
+ this. I should also thank jmorriso@rflab.ee.ubc.ca (John Paul Morrison)
+ who sent me the shadow patch to login.c
+
+Version 1.16 (24-Apr-93): changes since 1.15a:
+ Simpleinit now clears the utmp entry associated with the pid's that
+ it reaps if there is one. A few are still using simpleinit and this
+ was a popular demand. It also appends an entry to wtmp
+
+Version 1.15a (15-Mar-93): changes since 1.13a:
+ junio@shadow.twinsun.com (Jun Hamano) sent me a one-line fix
+ for occasional mangled issue-output from agetty.
+
+Version 1.13a (2-Mar-93): changes since 1.12a:
+ With the new LILO (0.9), there are more than one possible arg
+ to init, so Werner Almesberger <almesber@bernina.ethz.ch>
+ suggested that a loop over argv[] was made in boot_single() in
+ simpleinit.c
+
+Version 1.12a (24-Feb-93): changes since 1.11:
+ This is for Linux 0.99.6 or later. Built with gcc 2.3.3 and libc4.2
+ jrs@world.std.com (Rick Sladkey) told me that the setenv("TZ",..)
+ in login.c did more harm than good, so I commented it out.
+
+Version 1.11a (16-Feb-93): changes since 1.9a:
+ This is for Linux 0.99.5 or later.
+ Anthony Rumble <arumble@extro.ucc.su.OZ.AU> made me avare that
+ the patches for vhangup() from Steven S. Dick didn't quite work,
+ so I changed it.
+
+ Linus Torvalds provided another patch relating to vhangup, since
+ in newer Linuxen vhangup() doesn't really close all files, so we
+ can't just open the tty's again.
+
+Version 1.9a (18-Jan-93): changes since 1.8a:
+ Rick Faith sent me man-pages for most of the untilities in this
+ package. They are now included.
+
+ Steven S. Dick <ssd@nevets.oau.org> sent me a patch for login.c
+ so DTR won't drop during vhangup() on a modemline.
+
+ This is completely untested!! I haven't even had the time to
+ compile it yet.
+
+Version 1.8a (13-Dec-92): changes since 1.7:
+ This is for Linux 0.98.6 or later. Compiles with gcc2.2.2d7 and libc4.1
+
+ Bettered write/wall after fix from I forget who. Now wall can have
+ commandline args.
+
+ Fixed bug in who.c
+
+ Patched simpleinit.c with patch from Ed Carp, so it sets the timezone
+ from /etc/TZ. Should probably by be /etc/timezone.
+
+ Sander Van Malssen <sander@kozmix.hacktic.nl> provided a patch
+ for getty, so it can understand certain escapecodes in /etc/issue.
+
+ I hacked up a very simple substitute for a syslog() call, to try out
+ the logging. If you have a real syslog() and syslogd then use that!
+
+ The special vhangup.c file is out, it's in the official libc by now.
+ (and even in the libc that I have :-)
+
+ who, and write are now deprecated, get the better ones from one of
+ the GNU packages, shellutils I think.
+
+ Some people think that the simple init provided in this package is too
+ spartan, if you think the same, then get the SYSV compatible init
+ from Miquel van Smoorenburg <miquels@maestro.htsa.aha.nl>
+ Simpleinit will probably be deprecated in the future.
+
+Version 1.7: 26-Oct-92 changes since 1.6:
+ This is for Linux 0.97PL4 or later.
+
+ Thanks to Werner Almesberger, init now has support for a
+ singleuser mode.
+
+ Login now supports the -h <hostname> option, used in connection
+ with TCP/IP. (rlogin/telnet)
+
+ Getty writes an entry to /etc/wtmp when started, so last won't report
+ "still logged in" for tty's that have not been logged into since
+ the last user of that tty logged out. This patch was inspired by
+ Mitchum DSouza. To gain the full benefit of this, get the newest
+ last from the admutils-1.4.tar.Z package or later.
+
+Version 1.6 (29-Aug-92): changes since 1.5:
+ This is for Linux 0.97P1+ or later.
+
+ Login now uses the newly implemented vhangup() sys-call, to prevent
+ snooping on the tty.
+ An alternative getpass() function is now provided with login, because
+ I was told that the old one in libc didn't work with telnet and
+ or rlogin. I don't have a network or a kernel with TCP/IP so I haven't
+ tested the new one with telnet, but it is derived from BSD sources
+ that are supposed to work with networking.
+
+Version 1.5 (12-Aug-92): changes since 1.4
+ This is for Linux 0.97 or later, and has been built with gcc2.2.2
+
+ This release just puts in a few bugfixes in login.c and simpleinit.c
+
+Version 1.4 (4-Jul-92): changes since 1.3:
+ This is for Linux 0.96b, and has been built and tested with gcc 2.2.2.
+
+ Init now handles the SIGINT signal. When init gets a SIGINT it will
+ call /usr/bin/reboot and thereby gently reboot the machine. This
+ makes sense because after Linux 0.96B-PL1 the key-combination
+ Ctrl-Alt-Del may send a SIGINT to init instead of booting the
+ machine the hard way without syncing or anything.
+
+ You may want to get the admutils-1.1 package which includes a program
+ that will instruct the kernel to use the "gentle-reboot" procedure.
+
+Version 1.3 (14-Jun-92): changes since 1.2:
+ This is for Linux 0.96A.
+
+ The ioctl(TIOCSWINSZ) has been removed from login.c because it now
+ works :-).
+
+ login.c now supports a lastlog database.
+
+ Several programs and pieces of source that were included in the 1.2
+ package has been *removed* as they are incorporated into the new
+ libc. Other omitted parts such as last(1) has been replaced by
+ better versions, and can be found in the admutils package.
+
+ Agetty is now called getty and will be placed in /etc.
+
+ A few changes has been made to make it possible to compile the
+ stuff with GCC 2.x.
+
+Version 1.2 (28-Feb-92): changes since 1.1:
+ This is for Linux 0.12.
+
+ A couple of problems with simpleinit.c has been solved, thanks to
+ Humberto Zuazaga. So now init groks comments in /etc/inittab, and
+ handles the HUP and TSTP signals properly.
+
+ I added two small scripts to the distribution: users and mesg.
+
+ TERM is now carried through from /etc/inittab all the way to the
+ shell. Console tty's are special-cased, so the termcap entry in
+ /etc/inittab is overridden by the setting given at boot-time.
+ This requires a different patch to the kernel than that distributed
+ with version 1.1
+
+ Login no more sends superfluous chars from a password to the
+ shell. It also properly prints a NL after the password.
+
+ Agetty didn't set the erase character properly, it does now.
+
+ A few extra defines has been added to utmp.h
+
+ Several netters helped discover the bugs in 1.1. Thanks to them
+ all.
+
+Version 1.1 (released 19-Feb-92): Changes since 1.0:
+ A bug in simpleinit.c has been fixed, thanks to Pietro Castelli.
+ The definition of the ut_line field has been changed to track the
+ USG standard more closely, we now strip "/dev/" off the front.
+ Thanks to: Douglas E. Quale and Stephen Gallimore.
+
+ I have added a getlogin.c library routine, and a write(1) command.
+ I removed the qpl-init stuff. If people want to use it, they should
+ get it from the source. I don't want to hack on it anymore.
+
+ A couple of people reported problems with getty having problems
+ with serial terminals. That was correct. I borrowed a null-modem
+ from Tommy Thorn, and now the problems should be fixed. It seems
+ that there is kept a lot of garbage in the serial buffers, flush
+ them and it works like a charm. Getty does an ioctl(0, TCFLSH, 2)
+ for this.
+
+ The write.c code now doubles as code for a wall(1) program.
+
+Description of the various files:
+
+login.c The login program. This is a portation of BSD login, first
+ to HP-UX 8.0 by Michael Glad (glad@daimi.aau.dk), and
+ to Linux (initially to 0.12) by me.
+
+agetty.c The getty program. From comp.sources.misc, by W.Z. Venema.
+ Hacked a bit by me.
+
+write.c A write(1) command, used to pass messages between users
+ at different terminals. This code doubles as code for
+ a wall(1) command. Make a symlink: /usr/bin/wall ->
+ /usr/bin/write for this.
+
+mesg A tiny shellscript, so you can avoid that other people write
+ to your shell.
+
+pathnames.h:
+ Header.
+
+Getty will print the contents of /etc/issue if it's present before asking
+for username. Login will print the contents of /etc/motd after successful
+login. Login doesn't print /etc/motd, and doesn't check for mail if
+~/.hushlogin is present and world readable.
+
+If /etc/nologin is present then login will print its contents and disallow
+any logins except root.
+It might be a good idea to have a "rm -f /etc/nologin" line in one's
+/etc/rc file.
+
+If /etc/securetty is present it defines which tty's that root can login on.
+
+ - Peter (poe@daimi.aau.dk)
diff --git a/Documentation/release-schedule.txt b/Documentation/release-schedule.txt
new file mode 100644
index 0000000..6077735
--- /dev/null
+++ b/Documentation/release-schedule.txt
@@ -0,0 +1,39 @@
+Release schedule
+----------------
+
+The util-linux uses <major>.<minor>.<maint> version numbering.
+Since the major version is pretty much fixed the release means an
+upgrade of minor number. Minor version is update roughly twice
+per year. Easiest way to estimate when next version will occur is
+to see time stamp of previous release.
+
+Before a release there are few release candidates, which will be
+collectively tested. During test period changes to code base are
+restricted. Usually there are two release candidates.
+
+ what length what will be accepted to upstream
+ -------------------------------------------------------
+ rc1 1-2 weeks bug fixes only
+ rc2 1-2 weeks translations, fatal/trivial bug fixes
+
+The period between a release and next release candidate can be considered as
+merge window.
+
+Release criteria
+----------------
+
+For all releases is required:
+
+ - make checkincludes pass
+ - make checkconfig pass
+ - make distcheck pass
+ - cd tests && ./run.sh pass
+ - out-of-tree build works
+ cd .. && mkdir build && cd build && ../util-linux/configure && make
+
+ - ideally: build with uClibc, --with-slang
+
+See also
+--------
+
+Documentation/source-code-management.txt
diff --git a/Documentation/releases/v2.13-ReleaseNotes b/Documentation/releases/v2.13-ReleaseNotes
new file mode 100644
index 0000000..327894d
--- /dev/null
+++ b/Documentation/releases/v2.13-ReleaseNotes
@@ -0,0 +1,460 @@
+
+Util-linux-ng 2.13 Release Notes (28-Aug-2007)
+===============================================
+
+Release highlights:
+------------------
+
+ mount(8) doesn't include NFS client code anymore. Don't forget to
+ install nfs-utils 1.1.0 or newer with /sbin/[u]mount.{nfs,nfs4}.
+
+ mount(8) doesn't include filesystem detection code anymore. You
+ have to compile --with-fsprobe={blkid,volume_id}, and libblkid
+ (e2fsprogs) or libvolume_id (udev >= v110) is required.
+
+ mount(8) supports new relatime, context, fscontext, and defcontext
+ mount options.
+
+ losetup(8) supports command line option "-a" to list all used loop
+ devices, '-s' to print a device name if "-f" and a file argument
+ are present, and "-r" to create a read-only loop device.
+
+ fdisk(8) Sun label support has been improved. fdisk(8) is also able
+ to warn about detected GPT (fdisk doesn't support GPT).
+
+ taskset(1) is independent on hardcoded NR_CPUS. chrt(1) supports
+ SCHED_BATCH scheduling policy.
+
+ The package build system is now based on autotools. The build system
+ supports separate CFLAGS and LDFLAGS for suid programs (SUID_CFLAGS,
+ SUID_LDFLAGS). For more details see the README file
+
+ hwclock(8) supports command line option --rtc=<path> and /dev/rtc0
+ device. --systohc functionality has been improved, and it doesn't cause
+ a 500ms inaccuracy each time it is used.
+
+ Audit system support (--with-audit) has been added to hwclock(8) and
+ login(1).
+
+ SELinux support (--with-selinux) has been added to mkswap(8) and
+ mount(8).
+
+ setarch(8) upstream has been merged with util-linux-ng.
+
+ rtcwake(8) command has been added to util-linux-ng.
+
+ arch(1) is deprecated in favor of "uname -m" or arch(1) from coreutils
+ (>= 6.9+). The util-linux-ng package doesn't build arch by default,
+ you have to use the option --enable-arch.
+
+
+Fixed security issues:
+---------------------
+
+ CVE-2007-0822 - mount(8) allows local users to trigger a NULL
+ dereference and an application crash
+ CVE-2006-7108 - login(1) omits PAM account validation when auth is
+ skipped
+
+
+Changelog:
+---------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/
+
+
+agetty:
+ - 8 bit characters on the Linux console lead to input corruption [Samuel Thibault]
+ - add 'O' escape code to display domain name [Karel Zak]
+ - check gethostname() return value [Karel Zak]
+ - fix short malloc in initstring handling [LaMont Jones]
+blockdev:
+ - add BLKFRAGET/BLKFRASET ioctls [Karel Zak]
+ - cleanup usage() and update man page [Karel Zak]
+ - fix "blockdev --getsz" for large devices [Karel Zak]
+ - use LU and LLU for BLKGETSIZE and BLKGETSIZE64 [Karel Zak]
+build-sys:
+ - add ${AC,AP,AM,AH}_OPTS to autogen.sh [Karel Zak]
+ - add AC_GNU_SOURCE [Karel Zak]
+ - add Automake option dist-bzip2 [Stepan Kasal]
+ - add --disable-makeinstall-chown [Karel Zak]
+ - add missing files [Karel Zak]
+ - add SUID_CFLAGS [Karel Zak]
+ - add SUID_LDFLAGS [Stepan Kasal]
+ - add support for audit [Karel Zak]
+ - add warning when libuuid is not found [Karel Zak]
+ - amend .gitignore [Stepan Kasal]
+ - call automake after autoconf [Stepan Kasal]
+ - cleanup architecture conditionals [Karel Zak]
+ - cleanup sys-utils/ rdev symlinks [Karel Zak]
+ - configure.am selinux support cleanup [Karel Zak]
+ - declare SUID_CFLAGS and SUID_LDFLAGS as precious [Stepan Kasal]
+ - do not build convenience libraries in lib/ [Stepan Kasal]
+ - do not kick off AM_CFLAGS by SUID_CFLAGS [Stepan Kasal]
+ - do not play with DEFS, use AM_CPPFLAGS [Stepan Kasal]
+ - do not set with_foo twice [Stepan Kasal]
+ - do not use internal Autoconf variables [Stepan Kasal]
+ - do not use wildcards in EXTRA_DIST [Stepan Kasal]
+ - factor out common parts from mount/Makefile.am [Stepan Kasal]
+ - fix directories in EXTRA_DIST [Karel Zak]
+ - fix HAVE_NCURSES [Karel Zak]
+ - fix ifdef ENABLE_WIDECHAR usage [Karel Zak]
+ - fix linking when ncurses is built with --with-termlib=tinfo [Arkadiusz Miskiewicz]
+ - fix README filenames and add missing files to EXTRA_DISTs [Karel Zak]
+ - fix the example configure call in README [Stepan Kasal]
+ - fix the final message of autogen.sh [Stepan Kasal]
+ - in configure.ac, change "po" -> "$srcdir/po" [Stepan Kasal]
+ - in the clean targets use "find ... | xargs rm -f" [Stepan Kasal]
+ - let configure instantiate the misc-utils/*.pl scripts [Stepan Kasal]
+ - make the getopt example directory relative to datadir [Stepan Kasal]
+ - merge adjacent AC_CONFIG_HEADERS and AC_CONFIG_FUNCS calls [Stepan Kasal]
+ - minor fixes in configure.in [Karel Zak]
+ - missing header when NLS is disabled [Gabriel Barazer]
+ - mount/Makefile.am tiny cleanup II [Stepan Kasal]
+ - mount/Makefile.am tiny cleanup [Stepan Kasal]
+ - move -D flags to *_CPPFLAGS [Stepan Kasal]
+ - move the optimization flags to AM_CFLAGS [Stepan Kasal]
+ - --prefix defaults to /usr [Stepan Kasal]
+ - release++ [Karel Zak]
+ - remove aclocal.m4 from SCM [Karel Zak]
+ - remove AC_PROG_RANLIB [Stepan Kasal]
+ - remove asm/page.h test [Karel Zak]
+ - remove config.h.in from VCS [Stepan Kasal]
+ - remove config/include-Makefile.am from EXTRA_DIST [Stepan Kasal]
+ - remove DEFAULT_INCLUDES workaround [Karel Zak]
+ - remove -fomit-frame-pointer [Karel Zak]
+ - remove generated autotools stuff from git [Karel Zak]
+ - remove libtool [Karel Zak]
+ - remove "make mrproper", git-clean is good enough [Karel Zak]
+ - remove po/Makevars.template from EXTRA_DIST [Stepan Kasal]
+ - remove swapargs.h, move the tests to main configure.ac [Stepan Kasal]
+ - rename to -ng, change maintainer name [Karel Zak]
+ - replace AC_TRY_* by AC_*_IFELSE [Stepan Kasal]
+ - s/AC_HELP_STRING/AS_HELP_STRING/ [Stepan Kasal]
+ - set DISTCHECK_CONFIGURE_FLAGS in top-level makefile [Stepan Kasal]
+ - simplify "clean" in tests/Makefile.am [Stepan Kasal]
+ - update po/POTFILES.in [Stepan Kasal]
+ - use dist_example_DATA [Stepan Kasal]
+ - use dist_noinst_DATA to work around the bug with dist_man_MANS [Stepan Kasal]
+ - use dist_noinst_HEADERS in include/Makefile.am [Stepan Kasal]
+ - use dist_usrbinexec_SCRIPTS in misc-utils/Makefile.am [Stepan Kasal]
+cal:
+ - add test code [Karel Zak]
+ - fix a segfault and -3m highlighting [Karel Zak]
+ - ifdef cleanup, non-curses/tempcap code fixes [Karel Zak]
+ - widechar code cleanup [Karel Zak]
+cfdisk:
+ - build-sys defines HAVE_RPMATCH, not HAVE_rpmatch [Karel Zak]
+ - fix stupid typo in GPT checker call [Karel Zak]
+chsh:
+ - don't use empty shell field in /etc/passwd [Karel Zak]
+ - remove tailing wihit-spaces and use PATH_BSHELL [Karel Zak]
+col:
+ - getwchar() errors shouldn't be hidden [Karel Zak]
+cytune:
+ - make the oneliner more specific the cyclades hw in question [Justin B Rye]
+ - remove linux/tty.h inclusion [Karel Zak]
+ddate:
+ - fix compiler warnings [Karel Zak]
+disk-utils:
+ - fix libuuid usage in mkswap [Matthias Koenig]
+ - let mkfs tools open with O_EXCL [Matthias Koenig]
+docs:
+ - add DEPRECATED to EXTRA_DIST [Karel Zak]
+ - add note about http //translationproject.org [Karel Zak]
+ - add rdev(8) between deprecated utils [Karel Zak]
+ - add README.licensing [Karel Zak]
+ - add release notes [Karel Zak]
+ - add the DEPRECATED file [Karel Zak]
+ - clean up TODO file and add a new resuest for 2.14 [Karel Zak]
+ - fix authorship of 8-bit cleanup agetty patch [Karel Zak]
+ - fix BSD licence name in README.licensing [Karel Zak]
+ - fix info about devel/master branchs [Karel Zak]
+ - fix URL and typos in README.devel [Karel Zak]
+ - remove deprecated section from README [Karel Zak]
+ - update release notes [Karel Zak]
+fdisk:
+ - Makefile.am refactoring [Karel Zak]
+ - add GPT detection code [Karel Zak]
+ - add MAC label detection [Karel Zak]
+ - add support for udev persistent device names [Matthias Koenig]
+ - check returns in fdisk from partition changes [Mike Frysinger]
+ - cleanup full disk detection code [Karel Zak]
+ - cleanup partname.c [Karel Zak]
+ - do not complain about regular files [H. Peter Anvin]
+ - fix "differ in signedness" compiler warnings [Karel Zak]
+ - fix "type qualifiers ignored on function return type" [Karel Zak]
+ - many significant improvements and fixes to Sun label handling [David Miller]
+ - move duplicate stuff from fdisk*label.h to fdisk.h [Karel Zak]
+ - use unsigned long long instead int for sectors [Karel Zak]
+ - when generating a DOS disk label, give it an ID [H. Peter Anvin]
+getopt:
+ - remove old unused files [Karel Zak]
+hexdump:
+ - don't use memset with zero length [Karel Zak]
+hwclock:
+ - add --rtc=<path> option and support for /dev/rtc0 [Karel Zak]
+ - add support for audit system [Karel Zak]
+ - fix --systohc sets clock 0.5 seconds slow [Karel Zak]
+ - make ggc happy and check return values from fgets, read and write [Karel Zak]
+ - remove tailing white-spaces and clean up clock.h [Karel Zak]
+ionice:
+ - clean up error handling [Matthias Koenig]
+ - cleanup usage for idle class [Matthias Koenig]
+ - fix ionice build on sparc [David Miller]
+ - prefer SYS_ioprio_{set,get} from glibc to hardcoded version [Karel Zak]
+ipcs:
+ - add new tests for ipcs limits [Karel Zak]
+ - add regression test for output headers [Karel Zak]
+ - fix typo in Semaphore headers [Karel Zak]
+ - max total shared memory in kbytes instead pages [Karel Zak]
+logger:
+ - use snprintf instead of sprintf in logger.c [LaMont Jones]
+login:
+ - add audit support [Karel Zak]
+ - add IPv6 support [Karel Zak]
+ - add regression test for IP address checking code [Karel Zak]
+ - attempt to run if it has no read/write access to its terminal [Jason Vas Dias]
+ - close PAM session after failed pam_setcred [Steve Grubb]
+ - improve work with signals [Karel Zak]
+ - keep syslog useful for end of PAM session. [Karel Zak]
+ - login's timeout can fail [Jason Vas Dias]
+ - omits PAM account validation when auth is skipped (CVE-2006-7108) [Karel Zak]
+ - remove triiling white-spaces [Karel Zak]
+ - replace /usr/spool/mail with /var/spool/main in man page [Karel Zak]
+ - update 32bit utmp correctly on 64bit system [Karel Zak]
+lomount.c:
+ - don't use mlockall if CRYPT_NONE [Masatake YAMATO]
+look:
+ - fix problem with !isalnum() words [Karel Zak]
+ - man page clarification [Pádraig Brady]
+ - remove tailing white-spaces [Karel Zak]
+losetup:
+ - add -a option to list all used loop devices [Karel Zak]
+ - add a new option -s [Karel Zak]
+ - add long options and fix man page [Karel Zak]
+ - add support read-only loops [Karel Zak]
+ - add to man page info about deprecated cryptoloop [Karel Zak]
+man pages:
+ - add "AVAILABILITY" section [Karel Zak]
+ - cleanup of chrt.1 and taskset.1 [LaMont Jones]
+mcookie:
+ - remove non-linux code [Karel Zak]
+misc-util:
+ - new rtcwake command [Bernhard Walle]
+misc-utils:
+ - add scriptreplay manpage [Matthias Koenig]
+ - remove old cal test [Karel Zak]
+mkfs:
+ - remove nonsense from man page [Karel Zak]
+mkfs.cramfs:
+ - cleanup HAVE_ macros usage [Karel Zak]
+ - fix a way how mkfs works with empty files [Karel Zak]
+ - remove hardcoded limit for directories [Karel Zak]
+mkswap:
+ - add regression test [Karel Zak]
+ - automatically add selinux label to swapfile [Karel Zak]
+ - avoid mkswap usage on already mounted device [Karel Zak]
+ - default to V1 in any case [Matthias Koenig]
+ - fix signedness problems and remove obsolete code [Karel Zak]
+ - gcc happy unsigned long usage [Karel Zak]
+more:
+ - fix file descriptor leak [Steve Grubb]
+ - fix underlining for multibyte chars [Karel Zak]
+mount:
+ - add acl option documentation for ext3 and reiserfs [Matthias Koenig]
+ - add note about /etc/mtab unreliability to mount.8 [Karel Zak]
+ - add note about fcntl/ioctl unreliability on NFS to mount.8 [Karel Zak]
+ - add -s and -f and note to man page for external mount helpers [Karel Zak]
+ - add simple (printf-like) debug routine and --debug option [Karel Zak]
+ - add support for context, fscontext and defcontext selinux mount options [Karel Zak]
+ - add support for mixed usage of SPECes [Karel Zak]
+ - add support for mtab "uhelper" option [Karel Zak]
+ - avoid duplicate entries in mtab when mount -f [Karel Zak]
+ - avoid duplicates for root fs in mtab [Matthias Koenig]
+ - call /sbin/mount.<type> also when mounting without "-t" [Karel Zak]
+ - clean up getfs* (fstab.c) interface [Karel Zak]
+ - clean up info about NFS in mount.8 [Karel Zak]
+ - doesn't rpc_pipefs and nfsd on umount -a [Karel Zak]
+ - do not treat arm/sparc specially. [Mike Frysinger]
+ - don't umount sysfs when running umount -a [Mike Frysinger]
+ - fix -f -o remount [Karel Zak]
+ - fix -fv so that it doesn't incorrectly spit out an error that nothing was done. [Mike Frysinger]
+ - fix has_* functions (CVE-2007-0822) [Karel Zak]
+ - fix incorrect behavior when more than one fs type is specified [Attila Ăfra]
+ - fix list logic in update_mtab [Karel Zak]
+ - fix memory usage in update_mtab [Mike Frysinger]
+ - fix mtab_lock [Karel Zak]
+ - fix typo in error message [Karel Zak]
+ - free loop device on failure [Sascha Sommer]
+ - fsprobe add libvolume_id support [Karel Zak]
+ - fsprobe add libvolume_id support to configure.ac [Karel Zak]
+ - fsprobe make fsprobe_get_devname functions more generic [Karel Zak]
+ - fsprobe remove mount_guess_fstype.{c,h} [Karel Zak]
+ - fsprobe remove non-blkid code [Karel Zak]
+ - fsprobe rename files to fsprobe_* [Karel Zak]
+ - fsprobe rename the rest of API routines to fsprobe_* [Karel Zak]
+ - fsprobe use blkid cache only when really necessary [Karel Zak]
+ - getfs_* (fstab) interface has to work with canonicalize() [Karel Zak]
+ - kill mount_guess_rootdev [Stepan Kasal]
+ - loop device race condition [Matthias Koenig]
+ - mention hfsplus in mount manpage [LaMont Jones]
+ - needs to handle special mountprog even on guessed file systems. [Karel Zak]
+ - parse SPEC before search in fstab [Karel Zak]
+ - relative atime support [Valerie Henson]
+ - remove all NFS code [Karel Zak]
+ - remove nfsmount() from sundries.h [Karel Zak]
+ - rewrite getfs_by_specdir() without mem leaks [Karel Zak]
+ - shared-subtree support [Karel Zak]
+ - should set proper permissions on locktime [Flávio Leitner]
+ - update mtab correctly when mount --move [Karel Zak]
+ - update xfs mount options [Matthias Koenig]
+ - use encoded labels for volume_id [Kay Sievers]
+ - use growable string for options [Karel Zak]
+ - use loop= option when mounting by /sbin/mount.<type> [Karel Zak]
+ - use realloc for xstrconcat functions [Karel Zak]
+ - use verbose mode instead debug mode [Karel Zak]
+namei:
+ - fix logic and infinite loop of symlinks [Karel Zak]
+ - new regression test [Karel Zak]
+newgrp:
+ - add support for /etc/gshadow [Karel Zak]
+ - check result from getgrnam() more carefully [Karel Zak]
+partx:
+ - add man pages for addpart, delpart and partx [Karel Zak]
+po:
+ - gettextizing some overlooked messages. [Benno Schulenberg]
+ - rename mount/mntent.c to mount/mount_mntent.c [Karel Zak]
+ - typo in french translation of mount error. [Mike Frysinger]
+ - update cs.po (from translationproject.org) [Petr Pisar]
+ - update de.po (from translationproject.org) [Michael Piefel]
+ - update nl.po (from translationproject.org) [Benno Schulenberg]
+ - update sv.po (from translationproject.org) [Daniel Nylander]
+ - update vi.po (from translationproject.org) [Phan Vinh Thinh]
+ - vipw doesn't use rpmatch, all translations have to use y/n [Karel Zak]
+raw:
+ - add file with udev rule example [Karel Zak]
+ - don't accept raw0 as a target name [Karel Zak]
+ - move the raw command to /sbin [Karel Zak]
+ - update man page (about dd and O_DIRECT) [Karel Zak]
+rdev:
+ - should be delivered on amd64 as well as i386. [LaMont Jones]
+readprofile:
+ - fix on ppc64 [Matthias Koenig]
+schedutils:
+ - add support for SCHED_BATCH [Karel Zak]
+ - define SCHED_BATCH when compile with old glibc [Karel Zak]
+ - fix chrt docs and pid=0 usage [Matthias Koenig]
+ - remove extra hyptens from man pages [Karel Zak]
+script:
+ - fix race conditions [Karel Zak]
+ - improve quiet mode [Karel Zak]
+setarch:
+ - add NLS support [Karel Zak]
+ - add --3gb option fot compatibility with Debian linux{32,64} command [Karel Zak, LaMont Jones]
+ - add __alpha__ support [Balint Cristian]
+ - add parisc/parisc64 support [LaMont Jones]
+ - add sparc32bash alias to keep compatibility with sparc32 [Dennis Gilmore]
+ - cleanup licensing note [Karel Zak]
+ - finish adding parisc support [Karel Zak, LaMont Jones]
+sfdisk:
+ - fix "differ in signedness" compiler warnings [Karel Zak]
+ - fix "may be used uninitialized" compiler warnings [Karel Zak]
+ - setting default geometry values [Luciano Chavez]
+swapoff:
+ - correctly handle UUID= and LABEL= identifiers [LaMont Jones]
+swapon:
+ - cleanup PATH_ macros and tailing white-spaces [Karel Zak]
+ - cleanup fsprobe_*() usage [Karel Zak]
+ - does not correctly deal with symlinks [Marco d'Itri]
+ - fix swapon headers and syscalls [Mike Frysinger]
+ - simplify an #if [Stepan Kasal]
+sys-utils:
+ - add arch(1) back to the official tree [Karel Zak]
+ - add note about obsolete ramsize option to rdev.8 [Karel Zak]
+ - added setarch command [Karel Zak]
+ - fix man page headers [Karel Zak]
+ - move some man pages from category 8 to 1 [Karel Zak]
+taskset:
+ - check for existence of sched_getaffinity [Mike Frysinger]
+ - independent of hardcoded NR_CPUS max. [Cliff Wickman]
+tests:
+ - add basic infrastructure for regression tests [Karel Zak]
+ - add cal -1 test [Karel Zak]
+ - add cal -3 test [Karel Zak]
+ - add cal -y test [Karel Zak]
+ - add expected outputs for cramfs [Karel Zak]
+ - add functions for label, uuid and fstype detection [Karel Zak]
+ - add hwclock systohc test [Karel Zak]
+ - add library for LD_PRELOAD to manipulate with time() in tests [Karel Zak]
+ - add license notices, change from gplv2-only to gplv2-or-later [Karel Zak]
+ - add lock_mtab() performance and reliability test [Karel Zak]
+ - add look test for words with separator [Karel Zak]
+ - add missing header [Matthias Koenig]
+ - add mkfs.cramfs tests [Karel Zak]
+ - add more variants to {mount,fstab}-by-{label,uuid,devname} [Karel Zak]
+ - add mount by devname from fstab [Karel Zak]
+ - add mount by devname test [Karel Zak]
+ - add mount by devname with label in fstab [Karel Zak]
+ - add mount by devname with uuid in fstab [Karel Zak]
+ - add mount by label from fstab test [Karel Zak]
+ - add mount by LABEL test [Karel Zak]
+ - add mount by label with devname in fstab [Karel Zak]
+ - add mount by label with uuid in fstab [Karel Zak]
+ - add mount by UUID from fstab test [Karel Zak]
+ - add mount by UUID test [Karel Zak]
+ - add mount by uuid with devname in fstab [Karel Zak]
+ - add mount by uuid with label in fstab [Karel Zak]
+ - add mount /dev/symlink test [Karel Zak]
+ - add mount --move test [Karel Zak]
+ - add mount -o remount test [Karel Zak]
+ - add return code [Karel Zak]
+ - add script(1) race condition test [Karel Zak]
+ - add simple helper that returns info about system [Karel Zak]
+ - add support for fstab modification [Karel Zak]
+ - add support for suid programs [Karel Zak]
+ - add swapon by devname test [Karel Zak]
+ - add swapon by UUID test [Karel Zak]
+ - add test for /sbin/mount.<type> call [Karel Zak]
+ - add ts_log and --verbose support [Karel Zak]
+ - add ts_ok and ts_failed [Karel Zak]
+ - cleanup blkid cache after test device deinitialization [Karel Zak]
+ - code refactoring -- new ts_device_init function [Karel Zak]
+ - code refactoring -- new ts_skip_nonroot function [Karel Zak]
+ - code refactoring -- new ts_udev_loop_support function [Karel Zak]
+ - enable mtablock test when uid=0 only [Karel Zak]
+ - fix argv[] usage in mnt_test_sysinfo.c [Karel Zak]
+ - fix dependence on blkid [Karel Zak]
+ - fix Makefile.am (add missing tests) [Karel Zak]
+ - fix ts_fstab_add function [Karel Zak]
+ - fix ULONG_MAX usage on 32bit machines [Karel Zak]
+ - "if [...]" clean up [Karel Zak]
+ - make clean need to remove diffs and outputs [Karel Zak]
+ - pass all arguments to ts_init, add ts_has_option function [Karel Zak]
+ - refresh mtablock output in expected/ directory [Karel Zak]
+ - remove dependence on helpers/libpreload-time.so [Karel Zak]
+ - simplify devices usage [Karel Zak]
+ - use $AWK based on configure results [Karel Zak]
+ - use relative paths when sourcing files [Mike Frysinger]
+text-utils:
+ - fix the more command compilation against termcap [Karel Zak]
+tools:
+ - add codecheck-config that checks for {HAVE,ENABLE}_ orphans [Karel Zak]
+vipw:
+ - fix permissions (600->400) for edited /etc/[g]shodow files [Karel Zak]
+wall:
+ - fix O_NONBLOCK usage [Alan Curry]
+ - remove deprecated sigsetmask() from wall [Karel Zak]
+ - remove unwanted newlines from wall [Karel Zak]
+whereis:
+ - add lib64 paths [Karel Zak]
+
+- Clean up pagesize/PAGE_SIZE usage. [Karel Zak]
+- also search for __stext in readprofile [Mike Frysinger]
+- check exit status of autotools [Mike Frysinger]
+- clean up realpath.[ch] includes and macros [Karel Zak]
+- execl() should be use NULL not 0 [Karel Zak]
+- manpage typos [LaMont Jones]
+- remove hardcoded package name from some utils [Karel Zak]
+
diff --git a/Documentation/releases/v2.14-ReleaseNotes b/Documentation/releases/v2.14-ReleaseNotes
new file mode 100644
index 0000000..4b7c5af
--- /dev/null
+++ b/Documentation/releases/v2.14-ReleaseNotes
@@ -0,0 +1,418 @@
+
+Util-linux-ng 2.14 Release Notes (09-Jun-2008)
+==============================================
+
+Release highlights
+------------------
+
+ mount(8) supports new "nofail" mount option.
+
+ mount(8) supports auto-destruction of loop devices.
+
+ losetup(8) supports new command line option "-j" to show status of all
+ loop devices associated with given file.
+
+ losetup(8) supports unlimited number of loop devices.
+
+ losetup(8) supports new command line option "--sizelimit" to set data end.
+
+ ldattach(8) command has been added to util-linux-ng. The ldattach
+ daemon opens the specified device file and attaches the line discipline
+ to it for processing of the sent and/or received data.
+
+ setterm(8) supports new command line option "-blank [force|poke]" for
+ TIOCL_{BLANKED,BLANK}SCREEN.
+
+ tailf(8) has been reimplemented to use inotify.
+
+ tailf(8) supports new command line option "-n" to specifying output lines.
+
+ mkswap(8) supports new command line option "-U" to set UUID explicitly.
+
+ fdisk(8) has been fixed to calculate partition size in 2^N.
+
+ cal(8) supports highlighting an arbitrary date.
+
+ agetty(8) makes username-in-uppercase feature optional (off by default).
+ Users who use uppercase-only terminals need to use the option "-U" now.
+
+ losetup(8), mount(8), umount(8), fdisk(8) and sfdisk(8) support static
+ linking when compiled with --enable-static-programs.
+
+ hwclock(8) supports new command line option "adjfile" to override
+ the default /etc/adjtime.
+
+ scriptreplay(1) command has been re-written from Perl to C.
+
+
+Deprecated
+----------
+
+ The losetup(8) '-s' option (introduced by util-linux-ng-2.13) is deprecated
+ now. This short form of the option '--show' could be in collision with
+ Loop-AES losetup implementation where the same option is used for the loop
+ sizelimit.
+
+
+Fixed security issues
+---------------------
+
+ CVE-2008-1926 - audit log injection via login
+
+ The problem was originally reported for OpenSSH few months
+ ago (CVE-2007-3102). The login(1) is affected by the same
+ bug when built with the option "--with-audit".
+
+
+Stable maintenance releases between v2.13 and v2.14
+---------------------------------------------------
+
+util-linux-ng 2.13.1.1 [22-Apr-2008]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13.1.1-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13.1.1-ChangeLog
+
+util-linux-ng 2.13.1 [16-Jan-2008]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13.1-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13.1-ChangeLog
+
+
+ChangeLog between v2.13 and v2.14
+---------------------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.14/
+
+agetty:
+ - cleanup MAXHOSTNAMELEN [Karel Zak]
+ - make username-in-uppercase feature optional (off by default.) [Hamish Coleman]
+ - non-linux support (use pathnames.h) [Karel Zak]
+ - replace termio with termios interface [Samuel Thibault]
+ - ungettextize several debugging messages. [Benno Schulenberg]
+blockdev:
+ - add --getsz to blockdev.8 [Karel Zak]
+ - add missing description about option --report in manpage [Li Zefan]
+ - fix opened file leaving unclosed [lizf]
+ - use lib/blkdev.c, fix --report [Karel Zak]
+build-sys:
+ - add --enable-static-programs [Stepan Kasal, Karel Zak]
+ - add AC_CANONICAL_HOST [Miklos Szeredi]
+ - add VARSUFFIX to UTIL_CHECK_LIB [Karel Zak]
+ - add err.h check [Karel Zak]
+ - add support ionice for Super-H architecture [Karel Zak]
+ - add v2.14 to NEWS [Karel Zak]
+ - autogen.sh reports versions of autotools now [Karel Zak]
+ - build arch(1) during distcheck [Stepan Kasal]
+ - cleanup "x$foo" usage [Karel Zak]
+ - cleanup disk-utils/Makefile.am (use $utils_common) [Karel Zak]
+ - cleanup usage of linux/major.h [Samuel Thibault]
+ - disable syscall fallbacks for non-linux systems [Karel Zak]
+ - do not add -luuid to BLKID_LIBS [Stepan Kasal]
+ - fix missing deps for swapon [Matthias Koenig]
+ - ignore a bunch of generated files, mostly binaries [James Youngman]
+ - nls/locale handling in util-linux-ng general [Mike Frysinger]
+ - non-linux support [Samuel Thibault]
+ - release++ [Karel Zak]
+ - remove errs.h [Karel Zak]
+ - remove files that are no longer delivered from git [LaMont Jones]
+ - remove hardcoded _GNU_SOURCE [Karel Zak]
+ - remove unnecessary check-local target from login-utils/ [Karel Zak]
+ - set AC_PREREQ to 2.60, increment version to 2.14 [Karel Zak]
+ - simplify code around RDEV_LINKS and SETARCH_LINKS [Stepan Kasal]
+ - unify method for checking system calls and fallback handling [Mike Frysinger, Stepan Kasal]
+ - update .gitignore files [Karel Zak]
+ - use dist_man_MANS instead of man_MANS [Stepan Kasal]
+ - use ncursesw (wide version) when possibe [Karel Zak, Mike Frysinger]
+ - use pkg-config to find the libs for static build [Stepan Kasal]
+ - use portable $(VAR =) instead of gmake-specific $(addsuffix) [Stepan Kasal]
+cal:
+ - add description about option -V to manpage [Li Zefan]
+ - add support for highlighting an arbitrary date [Pádraig Brady]
+ - avoid -Wformat warnings [Jim Meyering]
+ - fix weekday alignment for certain locales [Pádraig Brady]
+ - replace errs.h with libc err.h [Karel Zak]
+ - use HAVE_LIB{NCURSES,NCURSESW} instead HAVE_NCURSES [Karel Zak]
+cfdisk:
+ - define portable {DEFAULT,ALTERNATE}_DEVICE [Samuel Thibault]
+ - display cylinders beyond 1024 [Peter Breitenlohner]
+ - slightly increase the size of menu buttons [Benno Schulenberg]
+ - translate partition-type names when they are printed. [Benno Schulenberg]
+chfn:
+ - add pam_end() call and cleanup PAM code [Karel Zak]
+ - fix compiler warnings in selinux stuff [Karel Zak]
+chfn, chsh, login:
+ - collapsing three similar messages into a single one [Benno Schulenberg]
+chsh:
+ - should use pam_end function to terminate the PAM transaction [Yu Zhiguo, Karel Zak]
+column:
+ - replace errs.h with libc err.h [Karel Zak]
+ddate:
+ - 11th, 12th and 13th of month [Volker Schatz]
+docs:
+ - add a note about minix v3 to TODO file [Karel Zak]
+ - add info about .bugfix releases and branches [Karel Zak]
+ - add note about incorrect tag 2.13.1 [Karel Zak]
+ - add note about losetup --sizelimit to ReleaseNotes [Karel Zak]
+ - add note about static linking [Karel Zak]
+ - add v2.14 ReleaseNotes [Karel Zak]
+ - cleanup DEPRECATED file [Karel Zak]
+ - cleanup README.devel, add note about coding style and Signed-off-by [Karel Zak]
+ - fix ChangeLog URL [Pascal Terjan]
+ - fix stable branche name in README.devel [Karel Zak]
+ - mark vipw(1) is deprecated in favor of vipw from shadow-utils [Karel Zak]
+ - refresh TODO list [Karel Zak]
+ - remove date from ReleasNotes [Karel Zak]
+ - tweak a few messages for clarity [Benno Schulenberg]
+ - update AUTHORS file [Karel Zak]
+ - update TODO file [Karel Zak]
+ - update v2.14 ReleaseNotes [Karel Zak]
+ - we already rewrote the scriptreplay script; remove that TODO entry [James Youngman]
+elvtune:
+ - use get_linux_version() [Karel Zak]
+fdformat:
+ - install to /usr/sbin instead to /usr/bin [Karel Zak]
+fdisk:
+ - better fallback for get_random_id() [H. Peter Anvin]
+ - calculate +size{K,M,G} in 2^N [Karel Zak]
+ - cleanup BLK* ioctls usage [Karel Zak]
+ - doesn't recognize the VMware ESX partitions [Karel Zak]
+ - doing useless ioctl when editing an image [Pascal Terjan]
+ - fix building for AVR32 and CRIS [Imre Kaloz]
+ - fix typo [Karel Zak]
+ - message tweak [Karel Zak]
+ - non-linux support (MAXPATHLEN) [Karel Zak]
+ - non-linux support (use standard uintxy_t instead __uxy) [Samuel Thibault]
+ - use more readable "GPT" name rather than "EFI GPT" [Robert Millan]
+ - use swab macros from bitops.h [Karel Zak]
+flock:
+ - typo in man page [A. Costa]
+fsck.cramfs:
+ - clean up gcc warnings [Randy Dunlap]
+fsck.minix:
+ - correct the error message given when we can't open the device [James Youngman]
+ - reset the terminal state if we are killed by a fatal signal [James Youngman]
+getopt:
+ - fix path to examples in getopt.1 [Karel Zak]
+ - install example scripts as SCRIPTS, not DATA [Peter Breitenlohner]
+hwclock:
+ - add --adjfile=path option [Karel Zak]
+ - check for ENODEV [David Woodhouse]
+ - do not create a zero adjfile [Alain Guibert]
+ - fix --rtc option [Matthias Koenig, Karel Zak]
+include:
+ - <stdint.h> provides everything [Samuel Thibault]
+ - add bitops.h with swab{16,32,64} macros [Karel Zak]
+ - add mount paths to pathnames.h [Karel Zak]
+ - cleanup pathnames.h [Karel Zak]
+ionice:
+ - add a note about permissions to ionice.1 [Karel Zak]
+ - update man page to reflect IDLE class change in 2.6.25 [Karel Zak]
+ipcs:
+ - add information about POSIX compatibility to ipcs.1 [Karel Zak]
+kill:
+ - man page is missing a description of "kill -0" [Karel Zak]
+ldattach:
+ - add NLS support [Karel Zak]
+ - new command [Tilman Schmidt]
+ - use glibc termios [Karel Zak]
+lib:
+ - add blkdev.{c,h} [Stefan Krah, Karel Zak]
+ - add linux_version.{c,h} [Stefan Krah]
+login:
+ - audit log injection attack via login [Steve Grubb]
+ - fix a small memory leak and remove unnecessary zeroing [Karel Zak]
+ - login segfaults on EOF (rh#298461) [Karel Zak]
+ - replace termio with termios interface [Samuel Thibault]
+ - rewrite is_local() to remove limits on line length [James Youngman]
+login-utils:
+ - cleanup strlen() and fgets() usage [James Youngman]
+losetup:
+ - add --associated option [Karel Zak]
+ - add --sizelimit option [Shachar Shemesh]
+ - canonicalize loopfile name [Karel Zak, Matthias Koenig]
+ - clean up gcc warnings [Randy Dunlap]
+ - fix errno usage [Karel Zak]
+ - fix typo in losetup.8 [Karel Zak]
+ - mark the option -s as deprecated [Karel Zak]
+ - remove duplicate xstrdup() and error() [Karel Zak]
+ - split help message into two smaller parts [Benno Schulenberg]
+ - support unlimited number of loops [Karel Zak]
+ - use standard uintxy_t types (struct loop_info64) [Samuel Thibault]
+mesg:
+ - replace errs.h with libc err.h [Karel Zak]
+mkfs.cramfs:
+ - clean up gcc warnings [Randy Dunlap, Karel Zak]
+ - remove unused header file [lizf]
+ - switch on localization. [Benno Schulenberg]
+mkfs.minix:
+ - add sectorsize check [Matthias Koenig]
+ - clean up gcc warnings [Karel Zak]
+ - clean up gcc warnings [Randy Dunlap]
+ - device size cleanup [Matthias Koenig]
+mkswap:
+ - BLKGETSIZE cleanup [Karel Zak]
+ - cleanup kB vs. KiB usage in error messages [Karel Zak]
+ - fix compiler warnings [Karel Zak]
+ - linux_version() code consolidation [Karel Zak]
+ - possible to crash with SELinux relabeling support [KaiGai Kohei]
+ - set UUID for swap space (add -U option) [Martin Schulze]
+ - set errno=0 in write_all() [Karel Zak]
+ - when writing the signature page, handle EINTR returns [Karel Zak]
+more:
+ - cleanup gcc warnings [Randy Dunlap]
+ - non-linux support [Samuel Thibault]
+ - replace CBAUD with cfgetispeed() [Samuel Thibault]
+ - use HAVE_WIDECHAR instead ENABLE_WIDECHAR [Karel Zak]
+mount:
+ - "can't create lock file" message sometimes means failure, sometimes not [Mark McLoughlin]
+ - "nofail" mount option [Matthias Koenig, Karel Zak]
+ - -L|-U segfault when label or uuid doesn't exist [Karel Zak]
+ - add more details to the --version output [Karel Zak]
+ - add support for sizelimit= mount option (for loop mounts) [Shachar Shemesh]
+ - allow auto-destruction of loop devices [Bernardo Innocenti]
+ - chain of symlinks to fstab causes use of pointer after free [Norbert Buchmuller]
+ - clean up gcc warnings (mount_mntent.c) [Randy Dunlap]
+ - clean up global variables [Karel Zak]
+ - cleanup "none" fstype usage [Karel Zak]
+ - cleanup KERNEL_VERSION, remove my_dev_t.h [Karel Zak]
+ - cleanup canonicalize() usage [Karel Zak]
+ - cleanup error() and die() [Karel Zak]
+ - cleanup usage of _PATH_* [Karel Zak]
+ - doesn't drop privileges properly when calling helpers [Ludwig Nussel]
+ - don't call canonicalize(SPEC) for cifs, smbfs and nfs [Karel Zak]
+ - don't canonicalize LABEL= or UUID= spec [Karel Zak]
+ - drop the part always true from a while condition [Pascal Terjan]
+ - fix a small typo in mount.8 [Christophe Blaess]
+ - fix fd leak [Matthias Koenig]
+ - fix typo in mount.8 [Karel Zak]
+ - hint about helper program if device doesn't exist [Karel Zak]
+ - improve chmod & chown usage and clean up gcc warnings (fstab.c) [Karel Zak]
+ - improve error message when helper program not present [LaMont Jones]
+ - prevent loop mounting the same file twice [Karel Zak, Matthias Koenig]
+ - remount doesn't care about loop= [Karel Zak]
+ - remove MS_{REPLACE,AFTER,BEFORE,OVER} [Karel Zak]
+ - remove built-in support for background mounts [Karel Zak]
+ - remove redundant fflush [Karel Zak]
+ - remove set_proc_name() [Karel Zak]
+ - remove useless if-before-my_free, define my_free as a macro [Karel Zak]
+ - use MNTTYPE_SWAP (from mntent.h) [Karel Zak]
+ - use atexit() rather than (*at_die)() [Karel Zak]
+ - use blkdev_get_size() [Karel Zak]
+ - use canonicalize in getfs_by_devname [Karel Zak]
+namei:
+ - add to identify FIFO (named pipe) and update manpage [Li Zefan]
+ - cleanup tailing white-spaces [Karel Zak]
+ - non-linux support (get_current_dir_name() and PATH_MAX) [Karel Zak, Samuel Thibault]
+partx:
+ - fix compiler warnings [Karel Zak]
+ - use swab macros from bitops.h [Karel Zak]
+pg:
+ - fix segfault on search [Rajeev V. Pillai]
+po:
+ - add eu.po (from translationproject.org) [Mikel Olasagasti]
+ - add pl.po (from translationproject.org) [Andrzej Krzysztofowicz]
+ - fix typo in de.po [Karel Zak]
+ - merge changes [Karel Zak]
+ - update POTFILES.in [Karel Zak]
+ - update ca.po (from translationproject.org) [Josep Puigdemont]
+ - update cs.po (from translationproject.org) [Petr Pisar]
+ - update da.po (from translationproject.org) [Claus Hindsgaul]
+ - update de.po (from translationproject.org) [Michael Piefel]
+ - update es.po (from translationproject.org) [Santiago Vila Doncel]
+ - update et.po (from translationproject.org) [Meelis Roos]
+ - update fi.po (from translationproject.org) [Lauri Nurmi]
+ - update fr.po (from translationproject.org) [Michel Robitaille]
+ - update hu.po (from translationproject.org) [Gabor Kelemen]
+ - update id.po (from translationproject.org) [Arif E. Nugroho]
+ - update it.po (from translationproject.org) [Marco Colombo]
+ - update ja.po (from translationproject.org) [Daisuke Yamashita]
+ - update nl.po (from translationproject.org) [Benno Schulenberg]
+ - update po files [Karel Zak]
+ - update pt_BR.po (from translationproject.org) [Rodrigo Stulzer Lopes]
+ - update ru.po (from translationproject.org) [Pavel Maryanov]
+ - update sl.po (from translationproject.org) [Simon Mihevc]
+ - update sv.po (from translationproject.org) [Daniel Nylander]
+ - update tr.po (from translationproject.org) [NilgĂĽn Belma BugĂĽner]
+ - update uk.po (from translationproject.org) [Maxim V. Dziumanenko]
+ - update vi.po (from translationproject.org) [Clytie Siddall]
+rename:
+ - add description about option -V to manpage [Li Zefan]
+ - remove useless variable [Li Zefan]
+renice:
+ - detect errors in arguments, add -v, -h and long options [LaMont Jones, Karel Zak]
+rev:
+ - use warn() in errs.h [Li Zefan]
+rtcwake:
+ - fix UTC time usage [David Brownell]
+ - fix the default mode to "standby" [Paulius Zaleckas]
+ - fix typo [Karel Zak]
+ - fix typo SATE -> STATE [Mike Frysinger]
+ - fix verbose message [Karel Zak]
+ - include libgen.h for basename prototype [Mike Frysinger]
+ - misc cleanups [David Brownell]
+script:
+ - cleanup gcc warnings [Randy Dunlap]
+ - cleanup includes [Samuel Thibault]
+ - dies on SIGWINCH [Karel Zak]
+ - read returns a size_t [James Youngman]
+scriptreplay:
+ - gettextize a forgotten messages [Karel Zak]
+ - rewrite in C [Karel Zak, James Youngman]
+setarch:
+ - add fallback for linux/personality [Karel Zak]
+ - add long options to setarch and update manpage [Karel Zak, Li Zefan]
+ - add missing alpha subarchs [Oliver Falk]
+ - adding groff symlinks to setarch manual page [Arkadiusz Miskiewicz]
+ - fix compiler warning [LaMont Jones]
+ - generate groff links in a better way [Karel Zak]
+ - provide backwards compatibility [Dmitry V. Levin]
+ - tweak the help text, and gettextize a forgotten message [Benno Schulenberg]
+setterm:
+ - add -blan [force|poke] options for TIOCL_{BLANKED,BLANK}SCREEN [Samuel Thibault, Karel Zak]
+ - dump by TIOCLINUX is deprecated since linux 1.1.92. [Karel Zak]
+ - opened file leaving unclosed [Karel Zak, lizf]
+ - remove unnecessaty ifndef TCGETS [Samuel Thibault]
+sfdisk:
+ - allow partitioning drives of over 2^31 sectors. [Kunihiko IMAI]
+ - cleanup 83 gcc warnings [Randy Dunlap]
+ - opened files leaving unclosed [Karel Zak, Li Zefan]
+ - remove unnecessary linux/unistd.h [Samuel Thibault]
+ - use get_linux_version() [Karel Zak]
+shutdown:
+ - use _PATH_MOUNTED instead of _PATH_MTAB [Stepan Kasal]
+swapon:
+ - Reinitialize software suspend areas to avoid future corruption. [Kees Cook, Karel Zak]
+ - add sundries.h [Karel Zak]
+ - clean up gcc warnings [Randy Dunlap]
+ - cleanup usage output [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - fix swsuspend detection [Karel Zak]
+ - fix typo in usage() [Karel Zak]
+ - readjust the usage summaries [Benno Schulenberg]
+ - remove unnecessary myrealpath() call [Karel Zak]
+sys-utils:
+ - correct setarch.8 manpage link creation [Frédéric Bothamy]
+tailf:
+ - add option -n to specifying output lines [Li Zefan]
+ - clean up gcc warnings & fix use of errno [Karel Zak]
+ - inotify based reimplementation [Karel Zak]
+ - non-linux support [Samuel Thibault]
+ - opened file leaving unclosed [lizf]
+ - replace errs.h with libc err.h [Karel Zak]
+tests:
+ - add "sort" to cramfs test [Karel Zak]
+ - add test for include/pathnames.h [Karel Zak]
+ - add ts-mount-noncanonical [Karel Zak]
+ - exactly define a time format in ls -l output [Karel Zak]
+ - fix blkid cache usage [Karel Zak]
+ - move test_bkdev to lib/ [Karel Zak]
+ - redirect libblkid cache to BLKID_FILE [Karel Zak]
+ - rename test_sysinfo, remove tailing white-spaces [Karel Zak]
+ - use losetup -s [Karel Zak]
+umount:
+ - add hint about lsof & fuser [Karel Zak]
+ - don't print duplicate error messages [Karel Zak]
+ - use atexit() rather than (*at_die)() [Karel Zak]
+wall:
+ - cleanup MAXHOSTNAMELEN [Karel Zak]
diff --git a/Documentation/releases/v2.15-ReleaseNotes b/Documentation/releases/v2.15-ReleaseNotes
new file mode 100644
index 0000000..98d9741
--- /dev/null
+++ b/Documentation/releases/v2.15-ReleaseNotes
@@ -0,0 +1,675 @@
+
+Util-linux-ng 2.15 Release Notes (05-May-2009)
+==============================================
+
+Release highlights
+------------------
+
+mkswap(8):
+ - mkswap like many others mkfs-like utils ERASES THE FIRST BLOCKS on
+ the device to remove old on-disk filesystems. mkswap refuses to
+ erase the first block on a device with a disk label (SUN, BSD, ...)
+ or on whole disk (e.g. /dev/sda).
+
+ - DOES NOT SUPPORT v0 SWAP SPACE any more. The kernel has not
+ supported v0 swap space format since 2.5.22. The new version v1 is
+ supported since 2.1.117.
+
+swapon(8):
+ - supports new command line option "-f/--fixpg" to reinitialize the
+ swap space with a wrong pagesize. As swap format depends on the pagesize
+ being used, it may happen that the pagesize of the swap space and the
+ current pagesize differ.
+
+login(1):
+ - requires /etc/pam.d/remote when compiled with PAM support and
+ executed with "-h <hostname>" option. The "-h" option is used by other
+ servers (i.e., telnetd(8)) to pass the name of the remote host to login.
+
+cal(1):
+ - determines the first day of week from the locale.
+
+libblkid, blkid(8) and findfs(8):
+ The libblkid library has been moved from e2fsprogs to util-linux-ng. The
+ library has been extended and now includes:
+
+ - low-level probing API that is useful for example for udev rules
+ (cmdline: blkid -p -o udev <device>)
+
+ - very high-level API that provides portable interface for LABELs and
+ UUIDs evaluation on 2.4, 2.6 and udev-based system. It's recommended
+ to use "blkid -L|-U" in your scripts rather than directly read
+ /dev/disk/by-* symlinks.
+
+ - the old ABI and API is backwardly compatible with the current version
+ from e2fsprogs.
+
+ All utils (mount, swapon, fsck, ...) in the package is possible to link
+ against this new library, or the old version from e2fsprogs, or
+ libvolume_id from udev package.
+
+ The default is still libblkid from e2fsprogs. The new library could be
+ enabled by "--with-fsprobe=builtin" configure option.
+
+ The libvolume_id from udev and vol_id command is deprecated now.
+
+fsck(8):
+ - has been moved to from e2fsprogs to util-linux-ng.
+
+dmesg(1)
+ - supports new command line option "-r" to print the raw message buffer
+ (i.e. don’t strip the log level prefixes).
+
+flock(1):
+ - allows lock directory
+
+fsck.cramfs:
+ - automatically detects the image endianness, and can work on images of
+ either endianness.
+
+mkfs.cramfs:
+ - now accepts a new optional parameter (-N) that allows creating
+ the cramfs image in either endianness.
+
+renice(1):
+ - supports new command line option "-n" for compatibility with POSIX
+
+hwclock(8)
+ - supports new command line option "--systz" to reset the System Time
+ based on the current timezone. Since the system clock time is already
+ set from the hardware clock by the kernel (when compiled with
+ CONFIG_RTC_HCTOSYS), there's no particular need to read the hardware
+ clock again.
+
+ionice(1):
+ - supports new command line option "-t" option to ignore failure to set
+ requested priority. This might be of use in case something (selinux,
+ old kernel, etc.) does not allow the requested scheduling priority
+ to be set.
+
+ - the command line option "-p" handles multiple PIDs now.
+
+losetup(8):
+ - detaches more devices by "-d <loop> [<loop> ..]"
+
+ipcmk(1):
+ - this NEW COMMAND allows to create ad-hoc IPC resources.
+
+lscpu(1):
+ - this NEW COMMAND gathers CPU architecture information like number
+ of CPUs, threads, cores, sock, NUMA nodes, information about CPU
+ caches, information about hypervisor and virtualization support,
+ ..etc. and prints it in human-readable or parse-able format.
+
+namei(1):
+ - supports new command line options --owners, --long and --vertical
+ to print ls(1)-like output.
+
+
+Stable maintenance releases between v2.14 and v2.15
+---------------------------------------------------
+
+util-linux-ng 2.14.1 [10-Aug-2008]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.1-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.1-ChangeLog
+
+util-linux-ng 2.14.2 [09-Feb-2009]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.2-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14.2-ChangeLog
+
+
+ChangeLog between v2.14 and v2.15
+---------------------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.15/
+
+addpart:
+ - 512-byte sectors in code, bytes in man-page [Karel Zak]
+agetty:
+ - IUCLC and OLCUC are Linux extensions [Aurelien Jarno]
+ - check for termios.c_line struct member by autoconf [Karel Zak]
+ - sys/types.h and time.h are included more than once [Karel Zak]
+blkid:
+ - Give a priority bonus to "leaf" devicemapper devices [Theodore Ts'o]
+ - LSI MegaRAID [Karel Zak]
+ - NVIDIA raid [Karel Zak]
+ - Optimize devicemapper support [Theodore Ts'o]
+ - Promise raid [Karel Zak]
+ - Refuse to create a device structure for a non-existent device [Theodore Ts'o]
+ - Unexport the private symbol blkid_devdirs [Theodore Ts'o]
+ - add to reiser [Karel Zak]
+ - add -L -U options (evaluation API) [root]
+ - add -p and low-probe mode to blkid binary [Karel Zak]
+ - add Christoph's note about libdisk to TODO [Karel Zak]
+ - add DDF raid [Karel Zak]
+ - add DEBUG_LOWPROBE, cleanup a little debug stuff [Karel Zak]
+ - add GFS and GFS2 [Karel Zak]
+ - add GFS2 UUID support [Karel Zak]
+ - add GFS2 reg. test [Karel Zak]
+ - add HFS and HFS+ [Karel Zak]
+ - add HPFS [Karel Zak]
+ - add HTFS [Karel Zak]
+ - add ISW raid [Karel Zak]
+ - add JMicron RAID [Karel Zak]
+ - add LUKS support [Karel Zak]
+ - add LVM2 support and a fix _sprintf_uuid() bug [Karel Zak]
+ - add Linux RAID [Karel Zak]
+ - add Silicon Image Medlay RAID [Karel Zak]
+ - add TODO file [Karel Zak]
+ - add TODO hint about DM devnames in sysfs [Karel Zak]
+ - add TODO hint about blkid_parse_tag_string() [Karel Zak]
+ - add TODO note about blkid_evaluate_spec_to_buffer() [Karel Zak]
+ - add UDF support [Karel Zak]
+ - add UFS [Karel Zak]
+ - add VFAT support [Karel Zak]
+ - add VIA RAID [Karel Zak]
+ - add ZSF support [Andreas Dilger]
+ - add ZSF test [Karel Zak]
+ - add __attribute__ ((format)) [Karel Zak]
+ - add a note to TODO list [Karel Zak]
+ - add adaptec raid [Karel Zak]
+ - add basic configure.ac stuff and blkid.pc [Karel Zak]
+ - add blkid_do_safeprobe() [Karel Zak]
+ - add blkid_evaluate_spec() [Karel Zak]
+ - add blkid_probe_get_sb() macro [Karel Zak]
+ - add btrfs support [Karel Zak]
+ - add cmdline interface for blkid_probe_filter_usage() [Karel Zak]
+ - add ddf raid regression test [Karel Zak]
+ - add ext{2,3,4,4devel} support [Karel Zak]
+ - add fallback to ext4 for 2.6.29+ kernels if ext2 is not present [Theodore Ts'o]
+ - add findfs(8) [Karel Zak]
+ - add highpoint{37x,45x} RAIDs [Karel Zak]
+ - add hpfs regression test [Karel Zak]
+ - add iso9600 [Karel Zak]
+ - add jfs [Karel Zak]
+ - add low level probing API [Karel Zak]
+ - add lvm1 [Karel Zak]
+ - add lvm2 reg.test [Karel Zak]
+ - add minix [Karel Zak]
+ - add missing blkidP.h to Makefile.am [Karel Zak]
+ - add missing hfs.c [Karel Zak]
+ - add netware (NSS) [Karel Zak]
+ - add netware regression test [Karel Zak]
+ - add new options to blkid.8 and help output [Karel Zak]
+ - add new requirements to TODO list [Karel Zak]
+ - add ocfs and oracleasm [Karel Zak]
+ - add ocfs2 version [Karel Zak]
+ - add proper copying info [Karel Zak]
+ - add reg.tests for HFS and HFS+ [Karel Zak]
+ - add romfs [Karel Zak]
+ - add squashfs [Karel Zak]
+ - add support for /etc/blkid.conf file [Karel Zak]
+ - add sysv and xenix [Karel Zak]
+ - add tst_types.c to Makefile.am [Karel Zak]
+ - add udev ID_FS_* output to blkid binary [Karel Zak]
+ - add udev string encoding routines [Karel Zak]
+ - add uuid and version support to gfs2 [Karel Zak]
+ - add version and probe FSInfo [Karel Zak]
+ - add version support to LVM2 [Karel Zak]
+ - add vol_id call to blkid regression test [Karel Zak]
+ - add vxfs [Karel Zak]
+ - add xfs [Karel Zak]
+ - blkdev size fallback [Karel Zak]
+ - blkid.static make target [Karel Zak]
+ - blkid_evaluate_spec() shouldn't ignore $BLKID_FILE [Karel Zak]
+ - check calloc() return value [Karel Zak]
+ - check idinfo[] index [Karel Zak]
+ - clean up man pages [Karel Zak]
+ - cleanup _LOGPROBE debug messages [Karel Zak]
+ - cleanup starts of probing files [Karel Zak]
+ - compile TEST_PROGRAMs [Karel Zak]
+ - correctly initialize magics[] arrays [Karel Zak]
+ - create basic directories [Karel Zak]
+ - don't dereference NULL upon slashless module dependency line [Jim Meyering]
+ - fix ..._strncpy_uuid [Karel Zak]
+ - fix a syntax nit [Karel Zak]
+ - fix blkid_do_probe() [Karel Zak]
+ - fix blkid_probe_sprintf_version() usage [Karel Zak]
+ - fix blkid_safe_string() [Karel Zak]
+ - fix exit codes in blkid(8) [Scott James Remnant]
+ - fix ext2 SEC_TYPE [Karel Zak]
+ - fix file descriptor leak when checking for a module [Karel Zak]
+ - fix gcc warning in blkid_get_cache_filename() [Karel Zak]
+ - fix hedeader in ntfs.c [Karel Zak]
+ - fix highpoint37x offset [Karel Zak]
+ - fix low-probe mode return codes [Karel Zak]
+ - fix non-udev low-probe mode output [Karel Zak]
+ - fix ocfs2 detection [Karel Zak]
+ - fix typo (syntax error) [Karel Zak]
+ - fix udev output [Karel Zak]
+ - fix xfs label [Karel Zak]
+ - hfs - do not set UUID for emtpy finder info [Kay Sievers]
+ - hfs - use proper native UUID format [Kay Sievers]
+ - improve ddf detection [Karel Zak]
+ - linux_raid - fix logic for volumes with size == 0 [Karel Zak]
+ - merge libblkid code from e2fsprogs/lib/blkid [Karel Zak]
+ - minor changes to library build system [Karel Zak]
+ - netware SB has to be packed [Karel Zak]
+ - optimize for string UUIDs [Karel Zak]
+ - re-order list of filesystems [Karel Zak]
+ - recognize ext3 with test_fs set as ext3 [Eric Sandeen]
+ - recognize ext4(dev) without journal [Eric Sandeen]
+ - refresh TODO file [Karel Zak]
+ - remove blkid_types.h [Karel Zak]
+ - remove unnecessary debug message [Karel Zak]
+ - remove unnecessary ifdef __cplusplus [Karel Zak]
+ - remove unused stuff from Makefile [Karel Zak]
+ - remove useless if-before-free tests [Jim Meyering]
+ - remove whole-disk entries from cache when partitions are found [Eric Sandeen]
+ - rename blkid_debug_init to blkid_init_debug [Karel Zak]
+ - rename blkid_evaluate_spec to blkid_evaluate_tag [Karel Zak]
+ - set size for non-blkdevs, add blkid_probe_strcpy_uuid() [Karel Zak]
+ - split SONAME and LIBBLKID_VERSION [Karel Zak]
+ - start to use ABI versioning [Karel Zak]
+ - support detection of multiple signatures [Karel Zak]
+ - support via raid version 2 [Sven Jost]
+ - update TODO [Karel Zak]
+ - update gitignore [Karel Zak]
+ - use "char **" rather than "unsigned char **" [Karel Zak]
+ - use /dev/mapper/<name> rather than /dev/dm-<N> [Karel Zak]
+ - use /sys/block/dm-<N>/dm/name [Karel Zak]
+ - use Requires.private and fix the include directory [Karel Zak]
+ - use blkid_probe_strcpy_uuid() for luks [Karel Zak]
+ - use posix uint32_t in ocfs superblock [Karel Zak]
+ - use posix uintXX_t in lvm code [Karel Zak]
+ - use sizeof() for hfs uuid [Karel Zak]
+ - vfat - fix declaration [Kay Sievers]
+blkis:
+ - fix detection of ext4dev as ext4 [Eric Sandeen]
+blockdev:
+ - add note that the StartSec is in 512-byte sectors [Karel Zak]
+ - fix possible buffer overflow [Karel Zak]
+build-sys:
+ - add $usrlibexecdir and fix paths for [/usr]/lib64 [Karel Zak]
+ - add --disable-mount [Alon Bar-Lev]
+ - add --with=fsprobe=builtin [Karel Zak]
+ - add -luuid to BLKID_LIBS [Karel Zak]
+ - add fsck binary to .gitignore [Karel Zak]
+ - add missing AC_C_BIGENDIAN [Karel Zak]
+ - add missing files to include/Makefile.am [Karel Zak]
+ - add temporary libtool *.m4 stuff [Karel Zak]
+ - cleanup --with-fsprobe help string [Karel Zak]
+ - cleanup sys-utils/Makefile.am [Karel Zak]
+ - define libdir [Karel Zak]
+ - fix bugs detected by "make distcheck" [Karel Zak]
+ - libtoolize by libtool-2 [Karel Zak]
+ - libtoolize mount/Makefile.am [Karel Zak]
+ - move pivot_root(8) to sys-utils [Karel Zak]
+ - refresh generated libtool-2 stuff [Karel Zak]
+ - release++ (v2.15-rc1) [Karel Zak]
+ - release++ (v2.15-rc2) [Karel Zak]
+ - remove use of devmapper library [Karel Zak]
+ - tgets is not in ncurses but in tinfo [Arkadiusz Miskiewicz]
+ - use pkg-config for blkid and volume_id [Karel Zak]
+cal:
+ - determine the first day of week from the locale [Pádraig Brady]
+ - remove gcc-ism from nl_langinfo() call [Karel Zak]
+cfdisk:
+ - accept yes/no as fallback [Matthias Koenig]
+ - fix "cannot seek on disk drive" bug [Karel Zak]
+chfn:
+ - several strings without gettext calls [Karel Zak]
+chrt:
+ - add NLS support, clean error messages and return codes [Karel Zak]
+ - add a comment about non POSIX 1003.1b attributes in chrt.1 [Aurelien Jarno]
+ - output buglet when reporting scheduling class [Karel Zak]
+ - support CFS SCHED_IDLE priority and document it [Martin Steigerwald]
+disk-utils:
+ - clean up code, use blkdev_* functions [Samuel Thibault]
+ - include fcntl.h directly (mkfs.cramfs, raw) [maximilian attems]
+ - s/MOUNTED/_PATH_MOUNTED/ [maximilian attems]
+dmesg:
+ - Add -r (raw) option. [Adam Jackson]
+ - nuke old glibc 5 support [maximilian attems]
+docs:
+ - TODO: add request to use nl_langinfo() [Karel Zak]
+ - TODO update [Karel Zak]
+ - add a note about /proc/sys/kernel/random/uuid [Karel Zak]
+ - add a note about kpartx to TODO [Karel Zak]
+ - add entry about /proc/partitions parsing [Karel Zak]
+ - add feature-requests from RH bugzilla to TODO list [Karel Zak]
+ - add suggestion about TZ=UTC to TODO file [Karel Zak]
+ - fix typo, cal(8) --> cal(1) [Karel Zak]
+ - update AUTHORS file [Karel Zak]
+ - update TODO list [Karel Zak]
+ - update v2.15 ReleaseNotes [Karel Zak]
+elvtune:
+ - add NLS support [Pedro Ribeiro]
+fdisk:
+ - (and partx) remove BLKGETLASTSECT [Karel Zak]
+ - add 0xaf HFS / HFS partition type [Karel Zak]
+ - add some missing includes [Matthias Koenig]
+ - cannot create partition with starting beyond 1 TB [Karel Zak]
+ - cleanup _PATH_DEV_* macros [Karel Zak]
+ - doesn't handle large (4KiB) sectors properly [Eric Sandeen]
+ - don't check for GPT when asked for disk size only [Karel Zak]
+ - don't use get_linux_version() for non-linux [Samuel Thibault]
+ - exit(3) needs stdlib.h include [maximilian attems]
+ - fix man page typo [Karel Zak]
+ - fix max. ptname [Karel Zak]
+ - non-linux support (BLK* and HDIO_*) [Samuel Thibault]
+ - read /proc/partitions in more robust way [Karel Zak]
+ - remove obsolete information from man page [Karel Zak]
+ - remove unnecessary gettext call [Karel Zak]
+ - rename ENABLE_CMDTAGQ macro [Karel Zak]
+ - round reported sizes rather than truncate [Karel Zak]
+ - several strings without gettext calls [Pedro Ribeiro]
+ - suggest partprobe(8) and kpartx(8) when BLKRRPART failed [Vincent Deffontaines, Karel Zak]
+ - support "-b 4096" option [Karel Zak]
+ - support +cylinder notation [Karel Zak]
+ - use real sector size in verify() and warn_cylinders() [Karel Zak]
+ - warn users about 2.2TB dos partition limit [Karel Zak]
+flock:
+ - Allow lock directory [Alexey Gladkov]
+ - add NLS support, remove tailing white-spaces [Karel Zak]
+ - fix printf format error in usage() [Karel Zak]
+ - segfaults when file name is not given [Karel Zak]
+fsck:
+ - cosmetic changes (NLS, paths, ...) [Karel Zak]
+ - link with generic fsprobe wrapper [Karel Zak]
+ - move fsck from e2fsprogs to util-linux-ng [Karel Zak]
+ - remove  from warning message [Karel Zak]
+ - remove useless if-before-free tests [Karel Zak]
+fsck.cramfs:
+ - add NLS support [Pedro Ribeiro]
+ - fix compiler warning [Karel Zak]
+ - segfault with INCLUDE_FS_TESTS and no -x option [Karel Zak]
+fsck.minix:
+ - add regression test [Karel Zak]
+getopt:
+ - remove unnecessary ifdefs [Karel Zak]
+ - remove useless if-before-free tests [Karel Zak]
+hwclock:
+ - add --systz option to set system clock from itself [Scott James Remnant]
+ - always reads hardware clock [Karel Zak]
+ - cleanup help output and man page [Karel Zak]
+ - clock.h is included more than once [Karel Zak]
+ - delay loop in set_hardware_clock_exact [Kalev Soikonen]
+ - don't open /dev/rtc repeatedly [Karel Zak]
+ - omit warning about drift if --noadjfile given [Matthias Koenig]
+ - read_hardware_clock_rtc() need to return error codes [Karel Zak]
+ - remove "cli" and "sti" from i386 CMOS code [Karel Zak]
+ - remove x86_64-specific bogon [David Brownell]
+ - several strings without gettext calls [Pedro Ribeiro]
+ - unshadow a diagnostic printf [Kalev Soikonen]
+ - use carefully synchronize_to_clock_tick() return codes [Karel Zak]
+ - use time limit for synchronization busy wait [Karel Zak]
+include:
+ - add missing files to Makefile.am [Karel Zak]
+ - bitops - explicitly include endian.h [Karel Zak]
+ - move swapheader.h to include [Matthias Koenig]
+ - swapheader.h is missing in Makefile.am [Karel Zak]
+ - use __BYTE_ORDER rather than AC specific WORDS_BIGENDIAN [Karel Zak]
+ionice:
+ - Extend the man page to explain the "none" class and cpu-nice inheritance [Jakob Unterwurzacher]
+ - a little cleanup of "none" description [Karel Zak]
+ - add -t option [Lubomir Kundrak]
+ - add strtol() checks, cleanup usage text and man page [Karel Zak]
+ - change Jens Axboe's email [Karel Zak]
+ - cleanup error messages, add NLS support [Karel Zak]
+ - cleanup man page [Karel Zak]
+ - fix typo in manpage [Karel Zak]
+ - let -p handle multiple PIDs [Stephan Maka]
+ipcmk:
+ - add NLS support [Karel Zak]
+ - fix error codes and error messages [Karel Zak]
+ - new command [Hayden James]
+ipcs:
+ - adjust some field positions and widths for correct alignment [Benno Schulenberg]
+ - fix exit codes, remove tailing white-spaces [Karel Zak]
+ - ungettextize the spacing of the table headers [Benno Schulenberg]
+ldattach:
+ - don't compile for non-linux systems [Samuel Thibault]
+lib:
+ - add __BYTE_ORDER to md5.c [Karel Zak]
+ - add is_whole_disk() from fdisk code [Karel Zak]
+ - add pttype.c for PT types detection [Karel Zak]
+ - add test_ismounted for regression test [Karel Zak]
+ - blkdev.c clean up, non-linux support [Samuel Thibault]
+ - do not include <linux/fd.h> in ismounted.c [Aurelien Jarno]
+ - fix fsprobe wrapper (const char * is nonsense) [Karel Zak]
+ - fsprobe - fix gcc warning [Karel Zak]
+ - gcc warning in fix fsprobe [Karel Zak]
+ - make open_device() optional in fsprobe.c [Karel Zak]
+ - pttype add BSD subpartitions support [Karel Zak]
+ - pttype fix DOS detection [Karel Zak]
+ - pttype - extend the API to work with file descriptors [Karel Zak]
+ - wholedisk - extend API, add test program [Karel Zak]
+ - pttype - fix typo [Karel Zak]
+logger:
+ - several strings without gettext calls [Pedro Ribeiro]
+login:
+ - cleanup includes [Karel Zak]
+ - fix compiler warning (int32 time() arg) [Karel Zak]
+ - fix warning "dereferencing type-punned pointer will break strict-aliasing rules" [Karel Zak]
+ - remove "switching users" nonsense from man page [Karel Zak]
+ - use "remote" as a PAM service name for "login -h" [Karel Zak]
+ - use open(2) rather then access(2) for $HOME/.hushlogin [Karel Zak]
+login-utils:
+ - several strings without gettext calls [Pedro Ribeiro]
+losetup:
+ - add warning about read-only mode [Karel Zak]
+ - clean up code around LO_FLAGS_AUTOCLEAR [Karel Zak]
+ - cleanup man page [Karel Zak]
+ - detach more devices by "-d <loop> [<loop> ..]" [Karel Zak]
+ - looplist_* refactoring, remove scandir() [Karel Zak]
+ - missing EBUSY error hint message [Karel Zak]
+ - mount endless loop hang [Karel Zak]
+ - remove dependence on minor numbers [Karel Zak]
+ - several strings without gettext strings [Pedro Ribeiro]
+ - try to set up loop readonly if EACCES [Matthias Koenig]
+lscpu:
+ - --sysroot option and stable cache output [Cai Qian]
+ - add Hypervisor detection [Karel Zak, Ky Srinivasan]
+ - new command [Cai Qian, Karel Zak]
+ - regression tests [Cai Qian]
+ - return EXIT_SUCCESS at the end [Matthias Koenig]
+misc-utils:
+ - write include signal.h directly [maximilian attems]
+mkfs.cramfs:
+ - add endianness support to cramfs tools [Roy Peled]
+ - lower memory requirements for layouts with duplicate files [Roy Peled]
+ - several strings without gettext calls [Pedro Ribeiro]
+mkfs.minix:
+ - (and fsck) rename bitops.h [Karel Zak]
+ - add regression test [Karel Zak]
+ - fix size detection [Matthias Koenig]
+ - remove local implementation of {set,clr}bit [Karel Zak]
+mkswap:
+ - clean up man page [Karel Zak]
+ - handle 2^32 pages [Hugh Dickins]
+ - non-linux support [Samuel Thibault]
+ - remove v0 swap space support [Karel Zak]
+ - zap bootbits [Karel Zak]
+more:
+ - dont use a.out.h [Mike Frysinger]
+ - minor fixes to magic() [James Youngman]
+mount:
+ - Add strictatime support [Matthew Garrett]
+ - add docs about utf8=0 for vfat [Karel Zak]
+ - add i_version support [Karel Zak]
+ - add info about /proc/mounts to mount.1 [Karel Zak]
+ - add info about semantics of read-only mount to mount.8 [Karel Zak]
+ - add info about tz=UTC option for FAT to mount.8 [Karel Zak]
+ - add norealtime to mount.8 [Karel Zak]
+ - add rootcontext= SELinux mount option [Karel Zak]
+ - add shortoptions for bind, move and rbind [maximilian attems]
+ - clean up SPEC canonicalization [Karel Zak]
+ - cleans up mount(8) troff markup [Sam Varshavchik]
+ - create separate section for fs-independent options in mount.8 [Karel Zak]
+ - document newinstance and ptmxmode options to devpts [Sukadev Bhattiprolu]
+ - finalize support of quoted LABELs/UUIDs [Karel Zak]
+ - fix gcc warning (variable used uninitialized) [Karel Zak]
+ - fix mount_static_LDADD [Karel Zak]
+ - fix typo [Guan Xin]
+ - fix typo [Karel Zak]
+ - fix typo in volume_id code [Karel Zak]
+ - generic blkid/volume_id wrapper, use blkid_evaluate_* [Karel Zak]
+ - inform about UID and eUID when verbose > 2 [Karel Zak]
+ - make file_t SELinux warning optional and shorter [Karel Zak]
+ - move realpath.c code to lib/ [Karel Zak]
+ - mtab created multiple times with -a option [Karel Zak]
+ - non-setuid (POSIX file capabilities) support [Karel Zak]
+ - remove link to namesys.com [Karel Zak]
+ - remove spurious newline from mount.8 [Mike Frysinger]
+ - remove useless if-before-free tests [Karel Zak]
+ - reorder list of options in mount.8 [Karel Zak]
+ - retry on ENOMEDIUM [Matthias Koenig]
+ - s/MOUNTED/_PATH_MOUNTED/ [maximilian attems]
+ - suggest to use blockdev --setro rather than losetup [Karel Zak]
+ - sundries.h add klibc support [maximilian attems]
+ - sync FAT info in mount.8 with Documentation/filesystems/vfat.txt [Karel Zak]
+ - sync tmpfs info in mount.8 with Documentation/filesystems/tmpfs.txt [Karel Zak]
+ - use subsections in mount.8 DESCRIPTION [Karel Zak]
+ - warn on "file_t" selinux context [Karel Zak]
+namei:
+ - add --owners and --long options [Karel Zak]
+ - add --vertical option [Karel Zak]
+ - add missing options to namei.1 [Karel Zak]
+ - don't duplicate '/' directory [Karel Zak]
+ - fix buffer overflow [Karel Zak]
+ - new re-written version [Karel Zak]
+partx:
+ - convert hard sector size to 512-byte sectors [Karel Zak]
+ - don't duplicate lib/blkdev.c code [Karel Zak]
+ - don't redeclare daddr_t [maximilian attems]
+ - use ioctls from lib/blkdev.c [Karel Zak]
+pg:
+ - add gettext call for the help string [Karel Zak]
+ - several strings without gettext calls [Pedro Ribeiro]
+pivot_root:
+ - clean up [Karel Zak]
+po:
+ - add zh_CN.po (from translationproject.org) [Ray Wang]
+ - merge changes [Karel Zak]
+ - rewrite update-potfiles script [Karel Zak]
+ - update POTFILES.in [Karel Zak]
+ - update cs.po (from translationproject.org) [Petr Pisar]
+ - update fi.po (from translationproject.org) [Lauri Nurmi]
+ - update fr.po (from translationproject.org) [Nicolas Provost]
+ - update id.po (from translationproject.org) [Arif E. Nugroho]
+ - update ja.po (from translationproject.org) [Makoto Kato]
+ - update list of .c files [Karel Zak]
+ - update nl.po (from translationproject.org) [Benno Schulenberg]
+ - update vi.po (from translationproject.org) [Clytie Siddall]
+raw:
+ - add NLS support [Pedro Ribeiro]
+ - default to /dev/raw/rawctl [Karel Zak]
+rdev:
+ - cleanup includes [Karel Zak]
+readprofile:
+ - several strings without gettext calls [Pedro Ribeiro]
+renice:
+ - add -n option for compatibility with POSIX [Karel Zak]
+rtcwake:
+ - add mising .RE to the man page [Karel Zak]
+ - cleanup return codes [Karel Zak]
+ - explain supported modes in rtcwake.8 [Karel Zak]
+ - prefer RTC_WKALM_SET over RTC_ALM_SET [Gabriel Burt]
+ - support not suspending [Marco d'Itri]
+script:
+ - don't flush input when starting script [Andrew McGill]
+scriptreplay:
+ - new implementation is out-of-sync [Karel Zak]
+selinux:
+ - is_selinux_enabled() returns 0, 1 and -1 [Karel Zak]
+setterm:
+ - fix -blank man page [Karel Zak]
+sfdisk:
+ - fix Compilation Error [CAI Qian]
+ - fix possible buffer overflow [Karel Zak]
+ - print version should end with a newline [Denis ChengRq]
+simmpleinit:
+ - fix gcc warning (buffer size in read()) [Karel Zak]
+simpleinit:
+ - cleanup gettext calls, use snprintf() [Karel Zak]
+swapon:
+ - -a has to complain, fix leaks [Karel Zak]
+ - add -f/--fixpgsz option [Karel Zak]
+ - add error messages for lseek and write [Karel Zak]
+ - add generic swap_get_header() [Karel Zak]
+ - add swap format detection and pagesize check [Matthias Koenig, Olaf Hering]
+ - cleanup man page [Karel Zak]
+ - do_swapon() refactoring (move stat() checks) [Karel Zak]
+ - do_swapon() refactoring (split into two functions) [Karel Zak]
+ - fix typo s/warn/warnx/ [Karel Zak]
+ - fix wording in man page [Karel Zak]
+ - rewrite SWSUSPEND signature rather than exec mkswap [Karel Zak]
+ - simplify spec to devname conversion [Karel Zak]
+ - use err.h stuff [Karel Zak]
+tailf:
+ - unistd.h is included more than once [Karel Zak]
+tests:
+ - add "byte-order" to helpers/test_sysinfo [Karel Zak]
+ - add ./run.sh <component> [Karel Zak]
+ - add MD5 regression test [Karel Zak]
+ - add fsck ismounted reg.test [Karel Zak]
+ - add libblkid regression tests (images from e2fsprogs) [Karel Zak]
+ - add lscpu(1) test for fullvirt. Xen x86_64 [Karel Zak]
+ - add lscpu(1) test for paravirt. Xen i386 [Karel Zak]
+ - add md5 regression test [Karel Zak]
+ - add mk-lscpu-input.sh [Karel Zak]
+ - add support for subdirs to basic test functions [Karel Zak]
+ - add support for subtests [Karel Zak]
+ - add swabN() regression test [Karel Zak]
+ - check also for /dev/loop/X [Karel Zak]
+ - chmod -x ts/lscpu/mk-input.sh [Karel Zak]
+ - clean up the testing scripts [Américo Wang]
+ - cleanup lscpu reg.tests [Karel Zak]
+ - cleanup ts/bitops [Karel Zak]
+ - cleanup ts/cal scripts [Karel Zak]
+ - cleanup ts/col scripts [Karel Zak]
+ - cleanup ts/cramfs/fsck-endianness [Karel Zak]
+ - cleanup ts/cramfs/mkfs-endianness [Karel Zak]
+ - cleanup ts/hwclock [Karel Zak]
+ - cleanup ts/ipcs [Karel Zak]
+ - cleanup ts/login [Karel Zak]
+ - cleanup ts/look [Karel Zak]
+ - cleanup ts/md5 [Karel Zak]
+ - cleanup ts/minix [Karel Zak]
+ - cleanup ts/mount [Karel Zak]
+ - cleanup ts/namei [Karel Zak]
+ - cleanup ts/paths [Karel Zak]
+ - cleanup ts/script [Karel Zak]
+ - cleanup ts/swapon [Karel Zak]
+ - create expected/$(component)/$(testname) [Karel Zak]
+ - create subdirs for test scripts [Karel Zak]
+ - detect libvolume_id when mount(8) is compiled [Karel Zak]
+ - disable blkid tests when blkid(8) is not compiled [Karel Zak]
+ - disable suid mount test [Karel Zak]
+ - fix -regex in run.sh [Karel Zak]
+ - fix TS_* paths [Karel Zak]
+ - fix file name is too long (max 99) - gtar [Karel Zak]
+ - fix output string [Karel Zak]
+ - fix the final message for subtests [Karel Zak]
+ - fix typo in low-probe test [Karel Zak]
+ - fix typo in lscpu test [Karel Zak]
+ - move some generic stuff from ts_init() to a new ts_init_env() [Karel Zak]
+ - refresh Makefile.am (add missing lscpu tests) [Karel Zak]
+ - refresh and cleanup cramfs/mkfs [root]
+ - refresh cal(1) expected outputs [Karel Zak]
+ - refresh expected mount(8) outputs [Karel Zak]
+ - refresh ipcs expected outputs [Karel Zak]
+ - remove input directory [Karel Zak]
+ - remove obsolete stuff from Makefile.am [Karel Zak]
+ - remove unexpected exit from *_subtest functions [Karel Zak]
+ - remove useless return value checks in testing scripts [Américo Wang]
+ - update namei reg.test [Karel Zak]
+ - we needn't blkid.sh [Karel Zak]
+tools:
+ - add checkconfig to top-level Makefile [Karel Zak]
+ - add checkincludes.pl (from linux kernel) [Karel Zak]
+ - rename codecheck-config to checkconfig.sh [Karel Zak]
+umount:
+ - check for overlaid mounts [Guan Xin]
+ - cleanup gefs_by_specdir() [Karel Zak]
+ - improve "-d" option for autoclear loops [Karel Zak]
+ - no checking mount point removal [Guan Xin]
+whereis:
+ - include dirent.h instead sys/dir.h [maximilian attems]
+write:
+ - doesn't check for tty group [Karel Zak]
+
diff --git a/Documentation/releases/v2.16-ReleaseNotes b/Documentation/releases/v2.16-ReleaseNotes
new file mode 100644
index 0000000..b7337e8
--- /dev/null
+++ b/Documentation/releases/v2.16-ReleaseNotes
@@ -0,0 +1,182 @@
+
+Util-linux-ng 2.16 Release Notes (15-Jul-2009)
+==============================================
+
+Release highlights
+------------------
+
+libuuid, uuidgen(1) and uuidd(8):
+ - the libuuid library has been moved from e2fsprogs to util-linux-ng
+
+switch_root:
+ - this NEW COMMAND allows to switch to another filesystem as the root
+ of the mount tree.
+
+mount, umount, fsck:
+ - DOES NOT SUPPORT linking against obsolete libvolume_id (from udev)
+
+libblkid:
+ - development files (.so, .a, ...) have been moved from /lib to /usr/lib.
+
+
+Stable maintenance releases between v2.15 and v2.16
+---------------------------------------------------
+
+util-linux-ng 2.15.1 [10-Jun-2009]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15.1-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15.1-ChangeLog
+
+
+ChangeLog between v2.15 and v2.16
+---------------------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.16/
+
+
+build-sys:
+ - add --disable-libblkid, remove volume_id support [Karel Zak]
+ - add --disable-switch_root [Karel Zak]
+ - add --disable-tls [Karel Zak]
+ - add --disable-uuidd [Karel Zak]
+ - add UTIL_{SET,RESTORE}_FLAGS [Karel Zak]
+ - check for openat() and linux for switch_root [Karel Zak]
+ - cleanup libuuid stuff [Karel Zak]
+ - complete /libs to /shlibs rename [Karel Zak]
+ - enable fsck by default [Karel Zak]
+ - fix "make -C" bug [Karel Zak]
+ - fix --disable-uuidd [Karel Zak]
+ - fix blkid.h include for old e2fsprogs [Karel Zak]
+ - fix exec/data install hooks [Karel Zak]
+ - fix headers in mkswap and libblkid [Karel Zak]
+ - fix libuuid Makefile.am [Karel Zak]
+ - fix libuuid and libblkid version-info [Karel Zak]
+ - fix typo from 30688dde55f637c9b984809c685b61378b82805f [Robert Förster]
+ - improve $libdirname definition [Karel Zak]
+ - improve symlinks creation in shlibs/ [Karel Zak]
+ - release++ (v2.16-rc1) [Karel Zak]
+ - release++ (v2.16-rc2) [Karel Zak]
+ - rename /libs to /shlibs [Karel Zak]
+ - rename to _execdir [Karel Zak]
+ - reverse shlibs installation [Kay Sievers]
+buildsys:
+ - move $usr{bin,sbin,lib}execdir definition to ./configure [Karel Zak]
+cal:
+ - Highlight today even when month or year specified [Rajeev V. Pillai]
+ - uClibc has langinfo.h but not _NL_TIME_WEEK_1STDAY. [Tom Prince]
+chrt:
+ - don't assume SCHED_BATCH and SCHED_IDLE exist [Aurelien Jarno]
+docs:
+ - add missing commands/projects to AUTHORS file [Karel Zak]
+ - add v2.16 ReleaseNotes [Karel Zak]
+ - refresh TODO list [Karel Zak]
+ - remove example.files/rc[.local] [Karel Zak]
+ - remove obsolete information from fstab example [Karel Zak]
+ - update AUTHORS file [Karel Zak]
+ - update v2.16 ReleaseNotes [Karel Zak]
+ - update v2.16-ReleaseNotes [Karel Zak]
+fdisk:
+ - (and cfdisk) fix to be consistent about maximum heads [Chris Webb]
+ - add simple test for doslabel stuff [Zdenek Behan]
+hwclock:
+ - fix mismatched popen/fclose. [John Keeping]
+include:
+ - clean up _PATH_DEV_* macros [Karel Zak]
+ - fix _PATH_DEV [Karel Zak]
+ionice:
+ - Allow setting the none class [Jakob Unterwurzacher]
+ldattach:
+ - add N_PPS support [Tilman Schmidt]
+libblkid:
+ - add device-mapper snapshot cow device probe [Milan Broz]
+ - add install-hook for libuuid.[a,so] devel files [Karel Zak]
+ - add stdarg.h to blkidP.h [Karel Zak]
+ - blkid_do_safeprobe() has to be tolerant to RAIDs [Karel Zak]
+ - cleanup debug messages and return codes in blkid_do_probe() [Karel Zak]
+ - don't require udev symlinks verification for non-root users [Karel Zak]
+ - fix "hangs forever with partition type mdraid" [Karel Zak]
+ - fix #ifdefs readability [Karel Zak]
+ - fix $libdir in blkid.pc [Karel Zak]
+ - fix LVM1 probe [Milan Broz]
+ - fix reiserfs name [Karel Zak]
+ - make libuuid optional [Karel Zak]
+ - move to misc-utils/ directory [Karel Zak]
+ - update man page [Karel Zak]
+libuuid:
+ - add --disable-libuuid and LIBUUID_VERSION [Karel Zak]
+ - add .gitignore [Karel Zak]
+ - add info about u-l-ng to man pages [Karel Zak]
+ - add install-hook for libuuid.[a,so] devel files [Karel Zak]
+ - Don't run uuidd if it would fail due to permission problems [Theodore Ts'o]
+ - fix $libdir in uuid.pc [Karel Zak]
+ - fix parallel building [Karel Zak]
+ - generate uuid_generate_{random,time}.3 man page links [Karel Zak]
+ - import UUID library from e2fsprogs [Karel Zak]
+ - Make sure fd's 0, 1, and 2 are valid before exec'ing uuidd [Theodore Ts'o]
+ - move clock state file from /var/lib to /var/run [Karel Zak]
+libuuid, uuidd:
+ - Avoid infinite loop while reading from the socket fd [Theodore Ts'o]
+losetup:
+ - add --set-capacity [Karel Zak]
+ - fix return codes of functions arounf is_associated() [Karel Zak]
+ - handle symlinks in /dev/loop/ [Mike Frysinger]
+ - suggest to use modprobe rather than insmod in losetup.8 [Karel Zak]
+lscpu:
+ - fix cpuid code on x86/PIC [Mike Frysinger]
+mount:
+ - (and fsck) remove libvolume_id support [Karel Zak]
+ - a little clean up info about loopdevs in man page [Karel Zak]
+ - add ext4 to mount.8 [Karel Zak]
+ - add ext4 to the list of filesystems in mount.8 [Karel Zak]
+ - add info about obsolete vfat options to mount.8 [Karel Zak]
+ - allow loop suid umount [Kay Sievers]
+ - cleanup notes about -l option in mount.8 [Karel Zak]
+ - fix undefined reference to `security_get_initial_context' [Karel Zak]
+ - move MS_{PROPAGATION,BIND,MOVE} detection [Karel Zak]
+ - use "none" fstype for MS_PROPAGATION mounts [Karel Zak]
+ - use TAG parsing function from libblkid [Karel Zak]
+ - when a remount to rw fails, quit and return an error [Valerie Aurora]
+po:
+ - fix typo in French translation [Olivier Blin]
+ - merge changes [Karel Zak]
+ - refresh POTFILES.in [Karel Zak]
+ - update cs.po (from translationproject.org) [Petr Pisar]
+ - update fi.po (from translationproject.org) [Lauri Nurmi]
+ - update fr.po (from translationproject.org) [Nicolas Provost]
+ - update vi.po (from translationproject.org) [Clytie Siddall]
+raw:
+ - Use the RAW_SETBIND ioctl without stat'ing the raw# file [Jeff Mahoney]
+ - undeprecate raw [Karel Zak]
+switch_root:
+ - add man page [Karel Zak]
+ - add subroot support [Daniel Drake]
+ - clean up argv[] usage, add -h and -V [Karel Zak]
+ - do recursiveRemove after our root is moved to avoid races. [Peter Jones]
+ - fix coding style [Karel Zak]
+ - fork before cleaning up the filesystem. [Peter Jones]
+ - new command [Karel Zak]
+ - rewrite to use fstatat() and unlinkat() [Karel Zak]
+ - use err.h, clean up return codes [Karel Zak]
+ - use file descriptor instead of path for recursiveRemove() [Peter Jones]
+ - use snprintf() rather tan str{cpy,cat}() [Karel Zak]
+tests:
+ - add functions for work withdisk images [Karel Zak]
+ - add mdraid libblkid test [Karel Zak]
+ - don't run some mount tests for non-root users [Karel Zak]
+ - fix 'delete extended partition' checksum [Karel Zak]
+ - fix reiserfs test [Karel Zak]
+ - fix script that creates lscpu dumps [Karel Zak]
+ - move lscpu /proc and /sys dumps to tarballs [Karel Zak]
+ - remove broken Xen dumps for lscpu [Karel Zak]
+umount:
+ - clean up help output [Karel Zak]
+uuidd:
+ - Avoid closing the server socket when calling create_daemon() [Theodore Ts'o]
+ - fix $PIDFILE in uuidd.rc [Karel Zak]
+ - init /var/run/uuidd, add option for on-demand mode to .rc file [Karel Zak]
+ - move uuidd files from /var/lib/libuuid to /var/run/uuidd [Karel Zak]
+ - move uuidd.rc to misc-utils directory [Karel Zak]
+ - new command (UUID daemon from e2fsprogs) [Karel Zak]
+uuidgen:
+ - new command (from e2fsprogs) [Karel Zak]
diff --git a/Documentation/releases/v2.17-ReleaseNotes b/Documentation/releases/v2.17-ReleaseNotes
new file mode 100644
index 0000000..d4221b1
--- /dev/null
+++ b/Documentation/releases/v2.17-ReleaseNotes
@@ -0,0 +1,526 @@
+Util-linux-ng 2.17 Release Notes (08-Jan-2010)
+==============================================
+
+Release highlights
+------------------
+
+fallocate:
+ - this NEW COMMAND is a command line interface to fallocate
+ Linux syscall and allows to preallocate blocks to a file.
+
+unshare
+ - this NEW COMMAND is a command line interface to unshare Linux syscall
+ and allows to run program with some namespaces unshared from parent.
+
+wipefs
+ - this NEW COMMAND is based on libblkid and allows to remove filesystem
+ or RAID signatures from a device.
+
+libblkid:
+ - libblkid allows to gather information about block device topology,
+ currently supported methods are:
+
+ * ioctl - supported since kernel 2.6.32
+ * sysfs - supported since kernel 2.6.31
+ * fallback for DM, MD, LVM and EVMS on old kernels (base on code
+ from xfsprogs/libdisk)
+
+ The topology support is mostly designed for mkfs programs or partitioning
+ tools (already used in mkfs.xfs, mkex2fs, libparted and fdisk)
+
+ - libblkid supports partition tables parsing (currently supported are
+ aix, bsd, dos, mac, gpt, minix, sgi, solaris, sun and unixware). This
+ functionality is designed for mkfs programs, DeviceKits, [k]partx or so.
+
+ - libblkid API documentation is available at
+ http://ftp.kernel.org/pub/linux/utils/util-linux/libblkid-docs/
+
+blockdev:
+ - supports all new topology ioctls
+
+fdisk:
+ - the fdisk command aligns newly created partitions to minimum_io_size
+ boundary ("minimum_io_size" is physical sector size or stripe chunk
+ size on RAIDs).
+
+ - the fdisk command supports disks with alignment_offset now.
+
+
+Stable maintenance releases between v2.16 and v2.17
+---------------------------------------------------
+
+util-linux-ng 2.16.1 [07-Sep-2009]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16.1-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16.1-ChangeLog
+
+util-linux-ng 2.16.2 [30-Nov-2009]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16.2-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16.2-ChangeLog
+
+
+ChangeLog between v2.16 and v2.17
+---------------------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.17/
+
+addpart:
+ - addpart.8 formatting [Peter Breitenlohner]
+blkid:
+ - add ID_FS_AMBIVALENT for udev output [Karel Zak]
+ - add pretty output, document -L incompatibility with e2fsprogs [Karel Zak]
+ - allow to use -s <TAG> for low-level probing (-p mode) [Karel Zak]
+blockdev:
+ - add support for uint and ushort ioctls [Karel Zak]
+ - add topology ioctls support [Karel Zak]
+ - blockdev.8 formatting [Peter Breitenlohner]
+ - fix topology ioctls [Karel Zak]
+ - refactoring (better commands definition) [Karel Zak]
+ - use c.h [Karel Zak]
+build-sys:
+ - add --disable-makeinstall-setuid [Karel Zak]
+ - add HAVE_LIBBLKID_INTERNAL [Karel Zak]
+ - check for pkg-config before gtk-doc [Karel Zak]
+ - check for union semun instead of using _SEM_SEMUN_UNDEFINED [Guillem Jover]
+ - clean up gtk-doc stuff [Karel Zak]
+ - clean up gtk-doc usage [Karel Zak]
+ - cleanup --disable-{fallocate,pivot_root,unshare} [Karel Zak]
+ - cleanup AM_CFLAGS usage [Karel Zak]
+ - cleanup static building [Karel Zak]
+ - detect if const is available [Guillem Jover]
+ - detect if volatile is available [Guillem Jover]
+ - don't distribute generated *.pc files [Karel Zak]
+ - don't distribute generated blkid.h [Karel Zak]
+ - enable silent rules if automake >= 1.11 [Guillem Jover]
+ - fix (official) gtk-doc.make [Karel Zak]
+ - fix BUILD_PIVOT_ROOT condition [Karel Zak]
+ - fix blkid CFLAGS in fdisk/Makefile.am [Karel Zak]
+ - fix out-of-source build [Karel Zak]
+ - release++ (v2.17-rc1) [Karel Zak]
+ - release++ (v2.17-rc2) [Karel Zak]
+ - release++ (v2.17-rc3) [Karel Zak]
+ - remove LT_STATIC_LDFLAGS [Karel Zak]
+ - remove gtkdocize from autogen.sh [Karel Zak]
+ - remove obsolete --with-fsprobe from distcheck flags [Karel Zak]
+ - rewrite TLS detection [Karel Zak]
+cal:
+ - cal.1 formatting [Peter Breitenlohner]
+ - fix (harmless) typo [Peter Breitenlohner]
+ - fix broken computation for Sep 1752 [Peter Breitenlohner]
+ - remove obsolete <localeinfo.h> include [Guillem Jover]
+ - use c.h [Karel Zak]
+cfdisk:
+ - cfdisk.8 formatting [Peter Breitenlohner]
+ - more key alternatives [Jan Sarenik]
+chfn:
+ - chfn.1 formatting [Peter Breitenlohner]
+chrt:
+ - use c.h [Karel Zak]
+chsh:
+ - chsh.1 formatting [Peter Breitenlohner]
+ctrlaltdel:
+ - ctrlaltdel.8 formatting [Peter Breitenlohner]
+cytune:
+ - cytune.8 missing description of `-S', formatting [Peter Breitenlohner]
+ddate:
+ - ddate.1 formatting [Peter Breitenlohner]
+delpart:
+ - delpart.8 formatting [Peter Breitenlohner]
+dmesg:
+ - add -r to help output [Karel Zak]
+ - dmesg.1 formatting [Peter Breitenlohner]
+ - fix typo in man page [Ken Kopin]
+docs:
+ - README width and language correction [Jan Sarenik]
+ - add 'unshare' and 'wipefs' to AUTHORS [Karel Zak]
+ - add LGPLv2+ to list of licenses [Karel Zak]
+ - add ngettext() into TODO file [Karel Zak]
+ - add v2.17 ReleaseNotes [Karel Zak]
+ - update "The Perfect Patch" URL [Karel Zak]
+ - update AUTHORS file [Karel Zak]
+ - update TODO [Karel Zak]
+ - update TODO file [Karel Zak]
+ - update TODO list [Karel Zak]
+ - update v2.17 ReleaseNotes [Karel Zak]
+elvtune:
+ - elvtune.8 formatting [Peter Breitenlohner]
+fallocate:
+ - check for ERANGE errors [Karel Zak]
+ - new command [Karel Zak, Eric Sandeen]
+fdformat:
+ - fdformat.8 formatting [Peter Breitenlohner]
+ - fix memory leak in verify_disk() [Cristian RodrĂ­guez]
+fdisk:
+ - add basic routines for LBA alignment [Karel Zak]
+ - add regression test listing empty/nonsense images [Zdenek Behan]
+ - align end of partition when defined by +size{K,M,G} [Karel Zak]
+ - check for partition boundary [Karel Zak]
+ - fdisk.8 formatting [Peter Breitenlohner]
+ - fix strict-aliasing bugs [Karel Zak]
+ - offer aligned first sector [Karel Zak]
+ - print info and recommendations about alignment [Karel Zak]
+ - read topology info from libblkid [Karel Zak]
+ - sgi label - remove duplicate swab16swab[16,32]() definitions [Karel Zak]
+ - sleep-after-sync and fsync usage [Karel Zak]
+ - use c.h [Karel Zak]
+ - use minimal_io_size for the first partition [Karel Zak]
+findfs:
+ - fix typo in findfs.8 [Karel Zak]
+flock:
+ - fix hang when parent ignores SIGCHLD [Mike Frysinger]
+fsck:
+ - document fsck behavior wrt nofail option and fstype 'auto' [Ludwig Nussel]
+ - fsck.8 formatting [Peter Breitenlohner]
+ - honor nofail option in fsck [Ludwig Nussel]
+fsck.minix:
+ - fix broken zone checking [Karel Zak]
+ - fix strict-aliasing bugs [Karel Zak]
+ - fsck.minix.8 formatting [Peter Breitenlohner]
+fstab:
+ - fstab.5 formatting [Peter Breitenlohner]
+getopt:
+ - getopt.1 formatting [Peter Breitenlohner]
+hexdump:
+ - bug in hexdump when offset == file length [Américo Wang]
+ - hexdump.1 erroneous .Nm "" [Peter Breitenlohner]
+hwclock:
+ - do not access hardware clock when using --systz [Scott James Remnant]
+ - hwclock.8 formatting [Peter Breitenlohner]
+ - set kernel timezone with --systz --utc [Scott James Remnant]
+ - use c.h [Karel Zak]
+ - use time limit for KDGHWCLK busy wait [Karel Zak]
+include:
+ - add c.h with fundamental C definitions [Karel Zak]
+ - use c.h in canonicalize.h [Karel Zak]
+initctl:
+ - fix strict-aliasing bugs [Karel Zak]
+ - initctl.8 formatting [Peter Breitenlohner]
+ionice:
+ - add a note about none class and CFQ [Karel Zak]
+ - ionice.1 formatting [Peter Breitenlohner]
+ipcmk:
+ - ipcmk.1 formatting [Peter Breitenlohner]
+ipcrm:
+ - ipcrm.1 formatting [Peter Breitenlohner]
+ipcs:
+ - ipcs.1 formatting [Peter Breitenlohner]
+ - use __GLIBC__ instead of obsolete __GNU_LIBRARY__ [Guillem Jover]
+isosize:
+ - isosize.8 formatting [Peter Breitenlohner]
+kill:
+ - kill.1 formatting [Peter Breitenlohner]
+ - use c.h [Karel Zak]
+last:
+ - fix utmp.ut_time usage [Karel Zak]
+ - last.1 formatting [Peter Breitenlohner]
+ldattach:
+ - ldattach.8 formatting [Peter Breitenlohner]
+ - use c.h [Karel Zak]
+lib:
+ - add a generic crc32() [Karel Zak]
+ - bug (typo) in function MD5Final() [Karel Zak]
+ - fix file descriptor leak in is_mounted() [Theodore Ts'o]
+ - fix lib/Makefile.am (remove pttype.c) [Karel Zak]
+ - import whole ismounted.c code from e2fsprogs [Karel Zak]
+ - remove pttype.c [Karel Zak]
+libblkid:
+ - DRBD support for blkid [Bastian Friedrich]
+ - add *.ko.gz support to modules.dep parser [Karel Zak]
+ - add AIX partitions support [Karel Zak]
+ - add BLKID_SUBLKS_* flags [Karel Zak]
+ - add BLKID_{VERSION,DATE} to blkid.h [Karel Zak]
+ - add BSD partitions support [Karel Zak]
+ - add DM topology support (for old kernels) [Karel Zak]
+ - add EFI GPT partitions support [Karel Zak]
+ - add EVMS topology support (for old kernels) [Karel Zak]
+ - add LVM topology support (for old kernels) [Karel Zak]
+ - add MAC partitions support [Karel Zak]
+ - add MD topology support (for old kernels) [Karel Zak]
+ - add MINIX partitions support [Karel Zak]
+ - add MS-DOS partitions support [Karel Zak]
+ - add SGI partitions support [Karel Zak]
+ - add SOLARIS-X86 partitions support [Karel Zak]
+ - add SUN partitions support [Karel Zak]
+ - add UBI volume support [Corentin Chary]
+ - add UBIFS support [Corentin Chary]
+ - add UNIXWARE partitions support [Karel Zak]
+ - add a probe for bfs [Christoph Hellwig]
+ - add blkid_devno_to_wholedisk() [Karel Zak]
+ - add blkid_driver_has_major() [Karel Zak]
+ - add blkid_new_probe_from_filename() [Karel Zak]
+ - add blkid_partition_get_type_string() [Karel Zak]
+ - add blkid_probe_get_{size,sectorsize,devno} [Karel Zak]
+ - add blkit_[un]ref() to TODO [Karel Zak]
+ - add chain structs [Karel Zak]
+ - add functions for chain tags [Karel Zak]
+ - add generic filter functions [Karel Zak]
+ - add generic function for binary data [Karel Zak]
+ - add missing comments [Karel Zak]
+ - add missing comments to probe.c [Karel Zak]
+ - add missing packed attributes [Karel Zak]
+ - add mkfs sample [Karel Zak]
+ - add note about UUID_SUB, increment number of superblock values [Karel Zak]
+ - add partitions filter routines [Karel Zak]
+ - add partitions parsing support [Karel Zak]
+ - add partitions sample [Karel Zak]
+ - add private blkid_topology_set_*() functions [Karel Zak]
+ - add samples/topology.c [Karel Zak]
+ - add sector size funcs to blkid.h.in [Karel Zak]
+ - add superblocks chain [Karel Zak]
+ - add superblocks filter functions [Karel Zak]
+ - add superblocks.c sample [Karel Zak]
+ - add support for SBMAGIC and SBMAGIC_OFFSET [Karel Zak]
+ - add support for VMFS (VMware File System) [Mike Hommey]
+ - add support for topology ioctls [Karel Zak]
+ - add test cases for VMFS [Mike Hommey]
+ - add topology support [Karel Zak]
+ - allow linking with uClibc [Daniel Mierswa]
+ - allow to change dimension of probing area [Karel Zak]
+ - allow to read in sectors [Karel Zak]
+ - allows more probing methods for topology chain [Karel Zak]
+ - announce Joliet extension [Maxim Levitsky]
+ - cleanup blkid_probe_set_device() [Karel Zak]
+ - cleanup topology fallback [Karel Zak]
+ - convert GPT partition LBA to 512-byte sectors [Karel Zak]
+ - cosmetic change in topology sample [Karel Zak]
+ - create a generic blkid_encode_to_utf8() [Karel Zak]
+ - create a generic blkid_unparse_uuid() [Karel Zak]
+ - does not return useless binary data [Karel Zak]
+ - don't return empty LABELs [Karel Zak]
+ - don't scan private /dev/.udev directory [Karel Zak]
+ - fix Adaptec RAID detection [Karel Zak]
+ - fix FALSE definition [Karel Zak]
+ - fix FAT super block definition [Lawrence Rust]
+ - fix NTFS non-ASCII labels [Karel Zak]
+ - fix UFS detection [Karel Zak]
+ - fix blkid_devno_to_wholedisk() [Karel Zak]
+ - fix blkid_do_probe() to work properly with chains [Karel Zak]
+ - fix blkid_fstatat() code [Karel Zak]
+ - fix blkid_probe_set_utf8label() call for Joliet [Karel Zak]
+ - fix buffer overflow in blkid_encode_string() [Florian Zumbiehl]
+ - fix cache->probe memory leak [Karel Zak]
+ - fix ext2 detection on systems with ext4 only [Karel Zak]
+ - fix gcc warning (warn_unused_result) [Karel Zak]
+ - fix highpoint37x detection [Karel Zak]
+ - fix non-magic FAT detection [Karel Zak]
+ - fix probing for binary interface [Karel Zak]
+ - fix segfault in blkid_do_probe() [Karel Zak]
+ - fix the default cache file path [Karel Zak]
+ - fix topology information values [Eric Sandeen]
+ - fix typo (swsupend -> swsuspend) [Karel Zak]
+ - fix typo s/Hihg/High/ [Jim Meyering]
+ - fix warning message in mkfs sample [Karel Zak]
+ - gtkdocize (API docs generated by gtk-docs) [Karel Zak]
+ - minor changes to dm topology code [Karel Zak]
+ - minor changes to samples [Karel Zak]
+ - minor fix in topology sample [Karel Zak]
+ - move FS/raid stuff to superblocks directory [Karel Zak]
+ - move blkid_known_fstype() to superblocks.c [Karel Zak]
+ - move filter macros to header file [Karel Zak]
+ - prefer ISO9660 PVD Label to Joliet Label [Karel Zak]
+ - properly reset position in probing chains [Karel Zak]
+ - refresh blkid.{h,sym} [Karel Zak]
+ - remove duplicate debug message [Karel Zak]
+ - remove superblock functions from probe.c [Karel Zak]
+ - rename highpoint RAIDs to hpt{37,45}x_raid_member [Karel Zak]
+ - return first detected crypto device [Scott James Remnant]
+ - topology - add logical and physical sector size [Karel Zak]
+ - topology - ignore non-blockdevs [Karel Zak]
+ - trim tailing whitespace from unicode LABELs [Karel Zak]
+ - update docs/.gitignore [Karel Zak]
+ - use BLKSSZGET for GPT sectors [Karel Zak]
+ - use blkid_new_probe_from_filename() in docs [Karel Zak]
+ - use c.h [Karel Zak]
+ - use c.h in samples [Karel Zak]
+ - use chains in blkid_do_{safe,full,}_probe() [Karel Zak]
+ - use chains in prober (de)initialization [Karel Zak]
+ - use fstatat(), improve readdir() usage [Karel Zak]
+ - use private {lookup,get}_value functions [Karel Zak]
+ - use superblock filter functions [Karel Zak]
+ - use superblocks.h [Karel Zak]
+ - use the new API in whole u-l-ng [Karel Zak]
+libuuid:
+ - remove .UE macro from libuuid man pages. [Milan Broz]
+line:
+ - remove deprecated #ident directive [Karel Zak]
+losetup:
+ - losetup.8 formatting [Peter Breitenlohner]
+ - remove unused macro [Karel Zak]
+lscpu:
+ - add {32,64}-bit CPU modes detection [Karel Zak]
+ - lscpu.1 formatting [Peter Breitenlohner]
+mcookie:
+ - mcookie.1 formatting [Peter Breitenlohner]
+mesg:
+ - mesg.1 formatting [Peter Breitenlohner]
+mkfs:
+ - mkfs.8 incomplete sentence and formatting [Peter Breitenlohner]
+mkfs.bfs:
+ - mkfs.bfs.8 formatting [Peter Breitenlohner]
+mkfs.cramfs:
+ - fix gcc warning (incompatible pointer type) [Karel Zak]
+mkfs.minix:
+ - fix strict-aliasing bugs [Karel Zak]
+ - mkfs.minix.8 formatting [Peter Breitenlohner]
+mkswap:
+ - fix memory leaks, cleanup check_blocks() [Karel Zak]
+ - mkswap.8 formatting [Peter Breitenlohner]
+ - restore device argument in mkswap.8 synopsis [Peter Breitenlohner]
+ - unbreak -c ("check") option. [Peter De Wachter]
+ - use libblkid to detect PT [Karel Zak]
+more:
+ - limited line buffer length results in corrupted UTF-8 text [Karel Zak]
+ - more.1 formatting [Peter Breitenlohner]
+mount:
+ - add --no-canonicalize option [Karel Zak]
+ - add a note about /dev/disk/by-* to mount.8 [Karel Zak]
+ - add a note about bind-dir remounts [Karel Zak]
+ - add info about ext{3,4} barriers to mount.8 [Karel Zak]
+ - add long options to mount.8 [Karel Zak]
+ - add squashfs to mount.8 [Karel Zak]
+ - add ubifs to the mount.8 man page [Sebastian Andrzej Siewior]
+ - and libblkid covert /dev/dm-N to /dev/mapper/<name> [Karel Zak]
+ - better --move description [Karel Zak]
+ - check for unsuccessful read-only bind mounts [Karel Zak]
+ - disable --no-canonicalize for non-root users [Karel Zak]
+ - document changed semantics of tmpfs size option in mount.8 [kevin.granade@gmail.com]
+ - fix mount.8, xfs attr2 is enabled by default [Karel Zak]
+ - fix reference to samba-client in mount.8 [Karel Zak]
+ - fix typo in mount.8 [Karel Zak]
+ - mention mtab for single mount point mount in mount.8 [Peter Volkov]
+ - more explicitly explain 'strictatime' in mount.8 [Karel Zak]
+ - more verbose "mount only root can do that" message [Karel Zak]
+ - mount.8 formatting [Peter Breitenlohner]
+ - move info about devices to the top of mount.8 [Karel Zak]
+ - update list of pseudo filesystems [Karel Zak]
+namei:
+ - better mount points detection [Karel Zak]
+ - fix alone symlink evaluation [Karel Zak]
+ - gater information about / (root) [Karel Zak]
+ - namei.1 formatting [Peter Breitenlohner]
+ - use c.h [Karel Zak]
+newgrp:
+ - newgrp.1 formatting [Peter Breitenlohner]
+ - use c.h, remove tailing whitespace [Karel Zak]
+partx:
+ - partx.8 formatting [Peter Breitenlohner]
+ - use c.h [Karel Zak]
+ - work properly with 512 sectors (dos PT) [Karel Zak]
+pg:
+ - command enters infinite loop [Mike Frysinger]
+ - compiler warning with NLS disabled [Peter Breitenlohner]
+ - pg.1 formatting [Peter Breitenlohner]
+pivot_root:
+ - pivot_root.8 formatting [Peter Breitenlohner]
+po:
+ - fix grammar glitch in german translation [Hendrik Lönngren]
+ - fix msgid bugs [Karel Zak]
+ - merge changes [Karel Zak]
+ - update POTFILES.in [Karel Zak]
+ - update cs.po (from translationproject.org) [Petr Pisar]
+ - update eu.po (from translationproject.org) [Mikel Olasagasti Uranga]
+ - update eu.po (from translationproject.org) [Mikel Olasagasti]
+ - update fi.po (from translationproject.org) [Lauri Nurmi]
+ - update fr.po (from translationproject.org) [Nicolas Provost]
+ - update id.po (from translationproject.org) [Arif E. Nugroho]
+ - update ja.po (from translationproject.org) [Makoto Kato]
+ - update pl.po (from translationproject.org) [Jakub Bogusz]
+ - update po/POTFILES.in [Karel Zak]
+ - update vi.po (from translationproject.org) [Clytie Siddall]
+ - update zh_CN.po (from translationproject.org) [Ray Wang]
+rdev:
+ - rdev.8 formatting [Peter Breitenlohner]
+readprofile:
+ - readprofile.1 formatting [Peter Breitenlohner]
+rename:
+ - rename.1 formatting [Peter Breitenlohner]
+renice:
+ - renice.1 formatting [Peter Breitenlohner]
+reset:
+ - reset.1 formatting [Peter Breitenlohner]
+rtcwake:
+ - add S5 support [Karel Zak]
+ - ignore the tm_isdst field returned from the RTC [Paul Fox]
+ - rtcwake.8 formatting [Peter Breitenlohner]
+scriptreplay:
+ - fix typo in error message [Karel Zak]
+ - scriptreplay.1 formatting [Peter Breitenlohner]
+setarch:
+ - setarch.8 formatting [Peter Breitenlohner]
+setsid:
+ - setsid.1 formatting [Peter Breitenlohner]
+setterm:
+ - setterm.1 formatting [Peter Breitenlohner]
+ - use c.h, remove tailing whitespace [Karel Zak]
+sfdisk:
+ - confused about disk size [Karel Zak]
+ - dump has to be $LANG insensitive [Karel Zak]
+ - sfdisk.8 formatting [Peter Breitenlohner]
+ - use c.h, remove obsolete #ifdefs [Karel Zak]
+shutdown:
+ - shutdown.8 formatting [Peter Breitenlohner]
+simpleinit:
+ - simpleinit.8 formatting [Peter Breitenlohner]
+swapon:
+ - fix typo on swapon.8 manpage [Florentin Duneau]
+ - handle <=linux-2.6.19 bug in /proc/swaps [Mike Frysinger]
+ - more robust progname probing [Karel Zak]
+ - swapon.8 formatting [Peter Breitenlohner]
+switch_root:
+ - add note about subroots to switch_root.8 [Karel Zak]
+ - remove TIOCSCTTY and setsid() [Karel Zak]
+ - switch_root.8 formatting [Peter Breitenlohner]
+tailf:
+ - fix printf format [Mike Frysinger]
+ - report inotify_add_watch() problems [Karel Zak]
+tests:
+ - add BFS libblkid regression test [Karel Zak]
+ - add NTFS blkid test [Karel Zak]
+ - add UBIFS test image to blkid test suite [Corentin Chary]
+ - add UFS test image for libblkid [Karel Zak]
+ - add VIA RAID test image for libblkid [Karel Zak]
+ - add adaptec RAID test [Karel Zak]
+ - add blkid regression tests for ISO9660 [Karel Zak]
+ - add hpt37x RAID test [Karel Zak]
+ - add hpt45x RAID test [Karel Zak]
+ - add isw RAID test [Karel Zak]
+ - add jmicron RAID test [Karel Zak]
+ - add lsi RAID test [Karel Zak]
+ - add nvidia RAID test [Karel Zak]
+ - add partitions probing test [Karel Zak]
+ - add promise RAID test [Karel Zak]
+ - add silicon RAID test [Karel Zak]
+ - fdisk doslabel test also checks changing partition type [Zdenek Behan]
+ - fdisk doslabel test also checks setting partition active [Zdenek Behan]
+ - refresh GPT regression test [Karel Zak]
+ - refresh lscpu tests [Karel Zak]
+ - remove vol_id from tests [Karel Zak]
+ - rename blkid/images to blkid/images-fs [Karel Zak]
+ - swapon workaround for libtool wrapper [Karel Zak]
+ - test for basic functionality of sun labels [Zdenek Behan]
+ - update fsck.ismounted test [Karel Zak]
+tunelp:
+ - tunelp.8 formatting [Peter Breitenlohner]
+ul:
+ - ul.1 erroneous .SH instead of .Sh [Peter Breitenlohner]
+umount:
+ - add --no-canonicalize [Karel Zak]
+ - umount.8 command line for umount helpers, formatting [Peter Breitenlohner]
+unshare:
+ - new command [Mikhail Gusarov]
+uuidd:
+ - uuidd.8 formatting [Peter Breitenlohner]
+uuidgen:
+ - uuidgen.1 formatting [Peter Breitenlohner]
+vipw:
+ - vipw.8 remove erroneous empty line, formatting [Peter Breitenlohner]
+whereis:
+ - whereis.1 formatting [Peter Breitenlohner]
+wipefs:
+ - fix coding style [Karel Zak]
+ - new command [Karel Zak]
+ - remove obsolete comment [Karel Zak]
+write:
+ - write.1 formatting [Peter Breitenlohner]
diff --git a/Documentation/releases/v2.18-ReleaseNotes b/Documentation/releases/v2.18-ReleaseNotes
new file mode 100644
index 0000000..36e0b2c
--- /dev/null
+++ b/Documentation/releases/v2.18-ReleaseNotes
@@ -0,0 +1,468 @@
+Util-linux-ng 2.18 Release Notes
+================================
+
+The util-linux-ng package does not contain rdev(8), ramsize(8),
+vidmode(8) and rootflags(8) anymore.
+
+The fdisk(8) command does not use DOS-compatible mode and cylinders as display
+units by default. The old deprecated DOS behavior could be enabled by 'c' and
+'u' fdisk commands or from command line by '-c=dos -u=cylinders' options.
+
+Release highlights
+------------------
+
+libmount:
+ - this NEW LIBRARY is designed to be used in low-level utils like
+ mount(8) and /sbin/mount.<type> helpers as well as in some other
+ projects.
+
+ - the library API is still officially unstable. The library provides
+ fstab, mtab and mountinfo parser, routines for work with parsed
+ data and mount options, mtab locking, etc. The high-level API for
+ mount(2) is planned for the next major release. For more details see:
+ http://thread.gmane.org/gmane.linux.utilities.util-linux/3239
+
+ - the utils like mount(8) or umount(8) are not linked with the library
+ yet. This change is planned for util-linux-ng-2.19.
+
+findmnt(8):
+ - this NEW COMMAND is a command line interface to the libmount library
+ for work with mountinfo, fstab and mtab files
+
+fsfreeze(8):
+ - this NEW COMMAND is very simple wrapper around FIFREEZE/FITHAW ioctls
+
+swaplabel(8):
+ - this NEW COMMAND allows to change swaparea UUID and label
+
+blkid(8):
+ - supports new command line option "-i" to print I/O Limits
+
+ - supports new command line option "-n" to restrict probing functions to
+ defined list of superblock types (names).
+
+ - returns details from partition table (type, flags, uuid, ...)
+
+chrt(1):
+ - supports new command line option "-R/--reset-on-fork" to enable
+ SCHED_RESET_ON_FORK flag
+
+fdisk(8):
+ - supports new command line option "-c" to switch off DOS mode
+ - uses 1MiB offset for the first partition
+ (all these changes are already in the release 2.17.2)
+
+hwclock(8):
+ - supports new command line option "--predict" to predict what the RTC will
+ read at time given by the --date option based on the adjtime file.
+
+ldattach(8):
+ - supports new command line option "-i/--iflag" to sets the specified bits
+ in the c_iflag word of the serial line.
+
+fallocate(1), losetup(8) and mount(8):
+ - the options --offset, --length or --sizelimit support suffixes
+ (MiB, GiB, ...) and hex numbers
+
+umount(8):
+ - supports new command line option "--fake" to avoid umount(2) syscall
+
+
+Stable maintenance releases between v2.17 and v2.18
+---------------------------------------------------
+
+util-linux-ng 2.17.1 [22-Feb-2010]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17.1-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17.1-ChangeLog
+
+util-linux-ng 2.17.2 [22-Mar-2010]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17.2-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17.2-ChangeLog
+
+
+Changes between v2.17 and v2.18
+-------------------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.18/
+
+addpart:
+ - use atoll() for parsing command line arguments [Thomas Fehr]
+blkid:
+ - add \n to the "-o udev" output when probe more devices [Karel Zak]
+ - add 'export' output format [Karel Zak]
+ - add -i option to print I/O limits [Karel Zak]
+ - add -n <list> option [Karel Zak]
+ - add newline when only one value is printed [Karel Zak]
+ - cleanup -u <list> parsing [Karel Zak]
+ - cleanup man page [Karel Zak]
+ - encode PART_ENTRY_TYPE [Karel Zak]
+ - export ID_PART_ENTRY_* variables for udev [Karel Zak]
+ - fix #ifdef HAVE_TERMIO[S]_H [Karel Zak]
+ - fix blkid_probe_lookup_value() usage [Karel Zak]
+ - improve RAIDs and tiny devices probing [Karel Zak]
+ - probe for PT, don't probe for FS on small whole-disks [Karel Zak]
+ - remove _ENC from ID_PART_ENTRY_{NAME,TYPE} variables [Karel Zak]
+ - remove duplicate option from man page [Karel Zak]
+ - report open() errors in low-level probing [Karel Zak]
+ - support suffixes for -O <offset> and -S <size> [Karel Zak]
+ - update man page/usage() [Karel Zak]
+blockdev:
+ - reduce usage text width [Francesco Cosoleto]
+build-sys:
+ - add missing tests for libuuid and libblkid [Karel Zak]
+ - cleanup lib{mount,blkid} building [Karel Zak]
+ - improved check for fallocate() [Yann Droneaud]
+ - minor changes for GNU/Hurd [Samuel Thibault]
+ - release++ (v2.18-rc1) [Karel Zak]
+ - release++ (v2.18-rc2) [Karel Zak]
+ - remove duplicate #includes [Karel Zak]
+ - replace ../ with $top_srcdir [Karel Zak]
+ - update include/Makefile.am [Karel Zak]
+ - use include/list.h [Karel Zak]
+cal:
+ - factor out and update multibyte alignment code [Pádraig Brady]
+ - fix first day of the week calculation on BE systems [Karel Zak]
+ - remove unnecessary info from man page [Karel Zak]
+cfdisk:
+ - fix warning implicit declaration of function â€wcwidth’ [Karel Zak]
+ - set '[New]' as default item on menu for non allocated space instead of '[Help]'. [Francesco Cosoleto]
+ - set '[Quit]' as default menu item on first run instead of '[Bootable]'. [Francesco Cosoleto]
+ - support non-ascii characters in input [Karel Zak]
+ - use libblkid [Matthias König]
+chrt:
+ - add --reset-on-fork [Karel Zak]
+ - add --verbose to man page, correct -V for --version, alphabetize [Benno Schulenberg]
+ - add support for SCHED_RESET_ON_FORK [Adrian Knoth]
+ - change two messages into four translatable sentences [Benno Schulenberg]
+ - slice help text into manageable chunks for translators [Benno Schulenberg]
+docs:
+ - fix umount --fake note in ReleaseNotes [Karel Zak]
+ - update ReleaseNotes [Karel Zak]
+ - update AUTHORS file [Karel Zak]
+ - update TODO [Karel Zak]
+ - update TODO file [Karel Zak]
+ - update tests/README [Karel Zak]
+ - update v2.18 ReleaseNotes [Karel Zak]
+fallocate:
+ - check for number of arguments [Karel Zak]
+ - support suffixes for --offset and --length [Karel Zak]
+fdisk:
+ - add -c option (switch off DOS mode) [Karel Zak]
+ - cleanup alignment, default to 1MiB offset [Karel Zak]
+ - cleanup help, add -h option [Karel Zak]
+ - cleanup warnings [Karel Zak]
+ - correctly truncate and align translated partition names [Pádraig Brady]
+ - disable DOS mode and cylinders by default [Karel Zak]
+ - don't check alignment_offset against geometry [Karel Zak]
+ - don't include scsi.h [Karel Zak]
+ - don't use 1MiB grain on small devices [Karel Zak]
+ - extend -c and -u options to support old DOS stuff [Karel Zak]
+ - fallback for topology values [Karel Zak]
+ - fix 'p' output for sun label [Karel Zak]
+ - fix -b <sectorsize> [Karel Zak]
+ - fix ALIGN_UP [Karel Zak]
+ - fix check_alignment() [Karel Zak]
+ - fix default first sector [Karel Zak]
+ - improve 'move begin of partition' command [Karel Zak]
+ - improve add partition dialog [Karel Zak]
+ - improve the description of -c and -u options on man page [Benno Schulenberg]
+ - remove erroneous <size> argument from -u option in help text [Benno Schulenberg]
+ - replace bzero with memset [Jon Ringle]
+ - swap VTOC values for warning messages [Karel Zak]
+ - untangle the reporting of deprecated mode and unit [Benno Schulenberg]
+ - use "optimal I/O size" in warnings [Karel Zak]
+ - use 1MiB offset and grain always when possible [Karel Zak]
+ - use more elegant way to count and check alignment [Karel Zak]
+ - use optimal_io_size [Karel Zak]
+findmnt:
+ - add man page [Karel Zak]
+ - add new command [Karel Zak]
+ - add tree support [Karel Zak]
+ - add {fs,vfs}-options columns [Karel Zak]
+ - don't swap source and target for tags [Karel Zak]
+ - minor coding style fixes [Karel Zak]
+ - move from /sbin to /bin [Karel Zak]
+ - rewrite to use lib/tt.c [Karel Zak]
+ - small change in usage() [Karel Zak]
+ - ungettextize the directions and fix spelling [Benno Schulenberg]
+fsck:
+ - fix typo in fsck.8 [Francesco Cosoleto]
+fsck/mkfs/mount:
+ - unify default search paths for helpers [Mike Frysinger]
+fsfreeze:
+ - new command [Hajime Taira]
+git:
+ - ignore index files generated by ctags and cscope [Petr Uzel]
+hwclock:
+ - add --predict for predicting RTC reading at a given time [Timo Juhani Lindfors]
+include:
+ - add min/max macros [Karel Zak]
+ - move shlibs/.../list.h to the include/ directory [Karel Zak]
+ionice:
+ - fix typo [Pierre Hauweele]
+ - non-cryptic error message when ionice can't execvp [Ævar Arnfjörð Bjarmason]
+ipcrm:
+ - remove redundant message in case of invalid option [Francesco Cosoleto]
+ipcs:
+ - add missing "PIDs" to related shared memory header text [Francesco Cosoleto]
+ - advise translators a different output format [Francesco Cosoleto]
+ - get rid of colons from header strings for consistency [Francesco Cosoleto]
+ - reorganize help and usage texts [Francesco Cosoleto]
+ldattach:
+ - add --iflag command line option [Tilman Schmidt]
+ - create a generic functions for name=value tables [Karel Zak]
+ - prints help to stdout [Karel Zak]
+lib:
+ - add #ifndef around min() max() macros [Karel Zak]
+ - add fallback for libc (uClibc) without CPU_ALLOC [Karel Zak]
+ - add mangle.c for mtab (fstab or swaps) encoding [Karel Zak]
+ - add strtosize() function [Karel Zak]
+ - add tt.c (Tree and Table output) [Karel Zak]
+ - avoid compilation failure on rawhide [Jim Meyering]
+ - fix blkdev_find_size() [Karel Zak]
+ - remove unwanted debug messages [Karel Zak]
+ - tt.c don't print header for empty table [Karel Zak]
+ - tt.c - fix minimal width of column [Karel Zak]
+ - use fstat() as fallback in blkdev_get_size() [Karel Zak]
+libblkid:
+ - Add initial support for BeFS detection [Jeroen Oortwijn]
+ - Add probing function for BeFS [Jeroen Oortwijn]
+ - add PART_ENTRY_{SCHEME,NUMBER} [Karel Zak]
+ - add blkid_openat(), cleanup blkid_fstatat() [Karel Zak]
+ - add blkid_partition_set_type() [Karel Zak]
+ - add blkid_partlist_get_table() [Karel Zak]
+ - add blkid_probe_all_removable() [Karel Zak]
+ - add blkid_probe_get_{offset,fd} functions [Karel Zak]
+ - add exFAT file system detection support [Andrew Nayenko]
+ - add generic functions for sysfs attributes [Karel Zak]
+ - add microsecond resolution for cache entries [Karel Zak]
+ - add minimal sizes for OCFS and GFS [Karel Zak]
+ - add mnt_iter_get_direction() [Karel Zak]
+ - add partial support for superblock binary API [Karel Zak]
+ - add paths and tags cache [Karel Zak]
+ - add sanity checks for FAT to DOS PT parser [Karel Zak]
+ - add support for PART_ENTRY_* values [Karel Zak]
+ - add support for partition flags/attributes [Karel Zak]
+ - add ultrix PT support [Karel Zak]
+ - avoid probing CDs for RAID [M.S.Colclough]
+ - call read() per FAT root dir entry [Karel Zak]
+ - cleanup fstat() usage [Karel Zak]
+ - cleanup some docs [Karel Zak]
+ - cleanup superblocks_safeprobe() [Karel Zak]
+ - cleanup usage of empty topology values [Karel Zak]
+ - disable read-ahead when probing device files [Linus Torvalds]
+ - don't call read() per FAT dir-entry on large disks [Karel Zak]
+ - don't gather PART_ENTRY_* values for binary interface [Karel Zak]
+ - don't probe for GPT and Unixware PT on floppies [Karel Zak]
+ - don't probe for nested PT on tiny disks (<=1.44MiB) [Karel Zak]
+ - don't return error on empty files [Karel Zak]
+ - don't use fstat() in blkid_get_dev_size() [Karel Zak]
+ - export functions to get whole-disk devno [Karel Zak]
+ - fix 'partno' usage [Karel Zak]
+ - fix LUKS version [Karel Zak]
+ - fix ZSF detection [Andreas Dilger]
+ - fix blkid_partlist_devno_to_partition() for extended partitions [Karel Zak]
+ - fix collision between RAID and PT probing [Karel Zak]
+ - fix display of device size [Karel Zak]
+ - fix infinite loop when probe chain bails out early [Colin Watson]
+ - fix readline usage [Karel Zak]
+ - fix segfault in drdb [Matthias König]
+ - fix some typos [Milan Broz]
+ - improbe DDF detection [Karel Zak]
+ - improve MD 0.90 detection [Karel Zak]
+ - improve MD 0.90.0 detection (use sb->size) [Karel Zak]
+ - improve MD 1.0 detection, add UUID_SUB [Karel Zak]
+ - improve Sun VTOC [Karel Zak]
+ - improve ZFS detection and add LABEL and UUID extraction [Andreas Dilger]
+ - minor fixes in befs.c [Karel Zak]
+ - more robust minix probing [Karel Zak]
+ - optimize UDF label reading [Karel Zak]
+ - prevent overflow in BeFS [Jeroen Oortwijn]
+ - probe for (non-linux) RAIDs on whole devices only [Karel Zak]
+ - read whole SB buffer (69kB) on large disks [Karel Zak]
+ - read() optimization for small devices [Karel Zak]
+ - remove "0x" prefix from DRBD UUID [Karel Zak]
+ - reset BLKID_TINY_DEV flag in blkid_probe_set_device [Pascal Terjan]
+ - reset superblocks result after error [Karel Zak]
+ - restrict RAID/FS proving for small devices (1.4MiB) [Karel Zak]
+ - rewrite blkid_probe_get_buffer() [Karel Zak]
+ - set correct offsets for TuxOnIce signature [Chow Loong Jin]
+ - set minimal size for jfs, reiser, swap and zfs [Karel Zak]
+ - support alignment_offset=-1 [Karel Zak]
+ - tiny change in debug output [Karel Zak]
+ - export magic strings from raids [Karel Zak]
+ - move getsize.c code to lib/ [Karel Zak]
+libmount:
+ - add #warning libmount API is not stable yet! [Karel Zak]
+ - add basic dirs [Karel Zak]
+ - add basic utils [Karel Zak]
+ - add debug support [Karel Zak]
+ - add docs [Karel Zak]
+ - add fstab/mtab/mountinfo lookup routines [Karel Zak]
+ - add fstab/mtab/mountinfo parsing routines [Karel Zak]
+ - add list routines and generic iterator [Karel Zak]
+ - add mnt_cache_find_tag_value() [Karel Zak]
+ - add mnt_entry [Karel Zak]
+ - add mnt_match_{fstype,options} functions [Karel Zak]
+ - add mnt_optstr_* functions [Karel Zak]
+ - add mtab locking code [Karel Zak]
+ - add new debug messages [Karel Zak]
+ - add optls (options container) [Karel Zak]
+ - add support for userdata and work with VFS tree [Karel Zak]
+ - add test_version [Karel Zak]
+ - add version.c [Karel Zak]
+ - another Makefile.am fix [Karel Zak]
+ - cleanup cache flags and debug messages [Karel Zak]
+ - cleanup docs [Karel Zak]
+ - don't build tests by default [Karel Zak]
+ - export mnt_init_debug() [Karel Zak]
+ - fix Makefile.am [Karel Zak]
+ - fix mnt_fs_match_source() [Karel Zak]
+ - fix name of mnt_fs_get_*_optstr() [Karel Zak]
+ - fix some gtkdoc warnings [Karel Zak]
+ - merge vfs and fs options more carefully [Karel Zak]
+ - proper tests definition in Makefile.am [Karel Zak]
+ - read devno, ID and parent ID from /proc/self/mountinfo [Karel Zak]
+ - remove mnt_open_device() [Karel Zak]
+ - rename mnt_optls_iterate_options() [Karel Zak]
+ - update symbols table [Karel Zak]
+ - use mangle function from lib/ [Karel Zak]
+logger:
+ - add note about 'kern' to the man page [Karel Zak]
+login:
+ - check that after tty reopen we still work with a terminal [Karel Zak]
+ - don't link PAMed version with libcrypt [Karel Zak]
+ - use fd instead of pathname for update tty's owner and permissions [Yann Droneaud]
+losetup:
+ - support suffixes and hex numbers for --offset and --sizelimit [Karel Zak]
+lscpu:
+ - add CPU_EQUAL_S definition for old/obscure libc [Karel Zak]
+ - cleanup path_scanstr() [Karel Zak]
+ - cleanup used names [Karel Zak]
+ - fix CPU_EQUAL_S macro [Karel Zak]
+ - fix cpuid opcode detection [Henne Vogelsang]
+ - fix typo in lscpu.1 [Francesco Cosoleto]
+ - fix typo, "faild" to "failed" [Benno Schulenberg]
+ - gettextize "CPU(s)" [Francesco Cosoleto]
+ - improve --sysroot code [Karel Zak]
+ - replace LC_MESSAGES with LC_ALL in setlocate() [Francesco Cosoleto]
+ - use cpuset masks, read data for all CPUs [Karel Zak]
+messages:
+ - gettextize a few skipped or forgotten ones [Benno Schulenberg]
+mkswap:
+ - add a note that -p is uncecessary [Karel Zak]
+ - don't call blkdev_find_size() [Karel Zak]
+ - don't use too small user-specified page size [Karel Zak]
+ - fixed strtoll() usage [Yann Droneaud]
+ - more robust strtoull() usage [Karel Zak]
+ - move write_all() to include/writeall.h [Karel Zak]
+ - tweak the man page [Benno Schulenberg]
+ - use calloc(), remove obsolete v1 header usage [Karel Zak]
+ - zap bootbits on regular files [Karel Zak]
+mount:
+ - add notes about -o remount,ro,bind to mount.8 [Karel Zak]
+ - advise users to use "modprobe", not "insmod" [Karel Zak]
+ - automatically detect and loop-mount regular files [Karel Zak]
+ - detect when kernel silently adds MS_RDONLY flag [Petr Uzel]
+ - don't create loopdev for MS_BIND [Karel Zak]
+ - fix coding style [Karel Zak]
+ - fix information about XFS log buffers in mount.8 [Christoph Hellwig]
+ - fix memory leak [Petr Uzel]
+ - fix typo in comment [Petr Uzel]
+ - fix typos in mount.8 [Petr Uzel]
+ - more explicitly explain fstab usage in mount.8 [Karel Zak]
+ - more robust offset= and sizelimit= parsing [Karel Zak]
+ - posix option of vfat is obsolete [Yoshihiro Takahashi]
+ - properly ignore comments in /etc/filesystems [Mike Frysinger]
+ - report ambivalent FS detection, improve brute force detection [Karel Zak]
+ - revert ugly ENOMEDIUM support [Karel Zak]
+ - support suffixes for offset= and sizelimit= [Karel Zak]
+ - update documentation about barrier mount options [Jan Kara]
+ - use %u for uid_t and gid_t [Karel Zak]
+ - use auto-loopdev for all known filesystems [Karel Zak]
+ - use unmangle/mangle() from lib [Karel Zak]
+ - warn users that mtab is read-only [Karel Zak]
+namei:
+ - fix man page formatting [Vladimir Brednikov]
+partx:
+ - do not add nonexistent partitions [Phillip Susi]
+ - fix infinite loop [Karel Zak]
+po:
+ - merge changes [Karel Zak]
+ - update cs.po (from translationproject.org) [Petr Pisar]
+ - update es.po (from translationproject.org) [Santiago Vila Doncel]
+ - update eu.po (from translationproject.org) [Mikel Olasagasti Uranga]
+ - update id.po (from translationproject.org) [Arif E. Nugroho]
+ - update ja.po (from translationproject.org) [Makoto Kato]
+ - update list of files [Karel Zak]
+ - update nl.po (from translationproject.org) [Benno Schulenberg]
+ - update pl.po (from translationproject.org) [Jakub Bogusz]
+ - update vi.po (from translationproject.org) [Clytie Siddall]
+rdev:
+ - remove this deprecated command [Karel Zak]
+rtcwake:
+ - add --dry-run option [Karel Zak]
+ - add disable action for rtc alarm [Marek Otahal]
+ - add disable action to rtcwake man page [Marek Otahal]
+ - does miss the "off" option [Karel Zak]
+script:
+ - optionally compile with libutempter to update utmp [Karel Zak]
+ - preserve child exit status [Karel Zak]
+sfdisk:
+ - make sure writes make it to disk in write_partitions() [Bryn M. Reeves]
+swaplabel:
+ - fix typo in man page [Karel Zak]
+ - new command [Jason Borden]
+swapon:
+ - fix swapsize calculation [Karel Zak]
+ - move DELETED_SUFFIX to include/pathnames.h [Karel Zak]
+ - remove " (deleted)" from filenames from /proc/swaps [Karel Zak]
+ - use unmangle() for filenames from /proc/swaps [Karel Zak]
+taskset:
+ - add NLS support, use err.h, cleanup [Karel Zak]
+ - move NR_CPUS determination to lib/cpuset.c [Karel Zak]
+ - move bitmap routines to lib/cpuset.c [Karel Zak]
+ - use libc based cpu_set_t [Karel Zak]
+tests:
+ - add BeFS test image [Karel Zak]
+ - add blkid test for TuxOnIce [Karel Zak]
+ - add blkid tests for RAID1 [Karel Zak]
+ - add cpuset regression test [Karel Zak]
+ - add fdisk alignment tests [Karel Zak]
+ - add lscpu dump from Dell R710, 8-core Nehalem w/HT (RHEL 5.5) [Karel Zak]
+ - added tests against strtosize [Yann Droneaud]
+ - explicitly use --chunk and --metadata in MD test [Karel Zak]
+ - fix RAIDs tests [Karel Zak]
+ - fix and update old fdisk tests [Karel Zak]
+ - fix whitespaces [Karel Zak]
+ - mount cramfs read-only [Karel Zak]
+ - update FS test images [Karel Zak]
+ - update blkid test for raid1 [Karel Zak]
+ - update blkid/md-raid1-* tests [Karel Zak]
+ - update fdisk tests [Karel Zak]
+ - update ipcs/headers test [Francesco Cosoleto]
+ - update lscpu [Karel Zak]
+ - update lscpu test [Karel Zak]
+ - use POSIX locale [Yann Droneaud]
+textual:
+ - fix typos [Karel Zak]
+ - fix typos, and rephrase some things for clarity [Benno Schulenberg]
+ - slightly improve two README files [Benno Schulenberg]
+umount:
+ - add --fake option to umount(8) [Miklos Szeredi]
+ - do not sync() as the kernel does it by itself [Petr Uzel]
+unshare:
+ - drop potential euid privileges before exec [Karel Zak]
+uuidd:
+ - spell the plural of "UUID" consistently as "UUIDs" [Benno Schulenberg]
+wipefs:
+ - cleanup usage() and man page [Karel Zak]
+ - fix license (GPL -> GPLv2+) [Karel Zak]
+ - fix mem usage [Karel Zak]
+ - fix memory leaks [Karel Zak]
+ - ignore devices with partition table [Karel Zak]
+ - print warning is PT detected [Karel Zak]
+ - support suffixes for --offset [Karel Zak]
diff --git a/Documentation/releases/v2.19-ReleaseNotes b/Documentation/releases/v2.19-ReleaseNotes
new file mode 100644
index 0000000..c15d82c
--- /dev/null
+++ b/Documentation/releases/v2.19-ReleaseNotes
@@ -0,0 +1,660 @@
+Util-linux 2.19 Release Notes (10-Feb-2011)
+===========================================
+
+The util-linux-ng project has been renamed back to util-linux.
+
+Release highlights
+------------------
+
+lsblk(8):
+ - this NEW COMMAND lists information about all or selected block devices in
+ tree-like format.
+
+partx(8):
+ - this command has been rewritten to use libblkid for partition tables
+ parsing. It supports aix, bsd, dos, gpt, mac, minix, sgi, solaris_x86, sun,
+ ultrix and unixware now.
+
+ - supports new command line option "--show" to list partitions in new format
+
+ - prints UUID and name for GPT and mac partitions
+
+findmnt(8):
+ - supports new command line option "--submounts" to list all submounts for
+ selected mountpoint(s)
+
+agetty(8):
+ - supports new command line options "-c" and "-s" to reuse already initialized
+ tty cflags and existing baud rate
+
+mount(8), umount(8):
+ - could be linked with libmount (--enable-libmount-mount) to manage userspace
+ mount options outside /etc/mtab on systems where the file is a symlink to
+ /proc/mounts. (EXPERIMENTAL)
+
+losetup(8), mount(8):
+ - uses /sys/dev/block/<device>/loop/backing_file rather than loopdev ioctls
+ (requires kernel >= 2.6.37)
+
+fsck(8):
+ - supports new command line option "-l" to lock whole-disk device by
+ exclusive flock(2). This option is recommended when more fsck(8) instances
+ are executed in the same time.
+
+rtcwake(8):
+ - supports new mode "show" to print the current RTC alarm time
+
+fstrim(8):
+ - this NEW COMMAND allows to discard unused blocks on a mounted filesystem
+ (wrapper for FITRIM ioctl)
+
+swapon(8):
+ - supports new options "discard" and "nofail"
+
+blkid(8):
+ - low-level probing (-p) returns "8" exit code for ambivalent probing results
+
+libmount:
+ - include file has been renamed from mount/mount.h to libmount/libmount.h
+
+
+Changes between v2.18 and v2.19
+-------------------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/
+
+addpart:
+ - code consolidation [Karel Zak]
+agetty:
+ - Use EXIT_* and add noreturn attribute [Marek Polacek]
+ - add -c to reuse cflags [Karel Zak]
+ - add -s to reuse existing baud rate [Karel Zak]
+ - fix -s option (baud rate setup) [Karel Zak]
+ - use ignore_result() or write(1, ...) [Karel Zak]
+ - use nl_langinfo() [Karel Zak]
+ - don't wipe CLOCAL flag [Karel Zak]
+blkid:
+ - add new return code 8 for ambivalent low-level probing result [Karel Zak]
+ - add note about PART_ENTRY_ tags to blkid.8 [Karel Zak]
+ - don't print devname if nothing detected [Karel Zak]
+ - don't return PART_ENTRY_* if partition is empty [Karel Zak]
+ - dynamically allocate devicename array [Eric Sandeen]
+blockdev:
+ - add BLKDISCARDZEROES [Karel Zak]
+ - fix typo in blockdev.8 [Karel Zak]
+ - sync man page with code [Karel Zak]
+build-sys:
+ - add --enable-libmount-mount [Karel Zak]
+ - add mesg to .gitignore [Karel Zak]
+ - add missing header [Karel Zak]
+ - add rpmatch.h to Makefile.am [Karel Zak]
+ - check for loff_t, it may not exist [Fabian Groffen]
+ - check for paths.h [Fabian Groffen]
+ - cleanup autogen.sh [Karel Zak]
+ - drop shlibs/Makefile.am that only adds SUBDIRS [Diego Elio 'Flameeyes' Pettenò]
+ - drop the getsize test out of Makefile.am [Diego Elio 'Flameeyes' Pettenò]
+ - enable lsblk and libmount for Linux only [Karel Zak]
+ - explicitly check for slang.h [Karel Zak]
+ - fix lsblk building [Karel Zak]
+ - ignore generated ltmain.sh [Karel Zak]
+ - improve check for crypt [Fabian Groffen]
+ - link with socketlibs when necessary [Fabian Groffen]
+ - man aliases don't depend on original man page [Diego Elio 'Flameeyes' Pettenò]
+ - provide missing strnlen from strutils [Fabian Groffen]
+ - release++ (v2.19-rc1) [Karel Zak]
+ - release++ (v2.19-rc2) [Karel Zak]
+ - release++ (v2.19-rc3) [Karel Zak]
+ - remove generated po/POTFILES.in [Karel Zak]
+ - remove unnecessary header [Karel Zak]
+ - require automake 1.10 as gtk-doc requires it anyway [Diego Elio 'Flameeyes' Pettenò]
+ - shell syntax fix in autogen.sh [Sami Kerola]
+ - use WORDS_BIGENDIAN to determine platform byte-order [Fabian Groffen]
+ - use generated libtool-2 stuff [Karel Zak]
+ - use the silent-rules prefix when generating man pages. [Diego Elio 'Flameeyes' Pettenò]
+cal:
+ - follow HAVE_LANGINFO [Karel Zak]
+ - use EXIT_* and program_invocation_short_name [Karel Zak]
+cfdisk:
+ - close the program when terminal isn't present [Francesco Cosoleto]
+ - data type mismatch, and other, compiler warning fixes [Sami Kerola]
+ - don't use size of device based on cylinders [Karel Zak]
+ - fix --with-slang [Karel Zak]
+ - fix n+1 again [Karel Zak]
+ - fix n+1 bug in error message [Karel Zak]
+ - get_string not calculating correct limits [Karel Zak]
+ - search for ncursesw/ncurses.h [Mike Frysinger]
+chfn:
+ - Use EXIT_* and err() [Marek Polacek]
+chrt:
+ - Add noreturn attribute to show_usage() function [Marek Polacek]
+chsh:
+ - don't suggest ypchsh [Karel Zak]
+ - use EXIT_* and err.h [Karel Zak]
+col:
+ - use err.h and EXIT_* macros [Karel Zak]
+ - use xalloc for memory allocation [Davidlohr Bueso]
+column:
+ - EOF handling bug [Sami Kerola]
+ - code readability improvements [Sami Kerola]
+ - data type mismatch compiler warning fixes [Sami Kerola]
+ - error messaging & exit codes [Sami Kerola]
+ - fix column.1 typo [Davidlohr Bueso]
+ - getopt_long and new help output [Sami Kerola]
+ - segfault on empty input [Karel Zak]
+ - update manual page to match column switches [Sami Kerola]
+ctrlaltdel:
+ - use err() instead of fprintf() and exit() [Marek Polacek]
+ddate:
+ - fix typo in ddate.1 [Davidlohr Bueso]
+ - revert man page typo [Karel Zak]
+delpart:
+ - code consolidation [Karel Zak]
+disk-utils:
+ - fix manpage typos [Davidlohr Bueso]
+dmesg:
+ - fix memory leak in dmesg(1). [Davidlohr Bueso]
+ - use strtol_or_err instead of atoi [Davidlohr Bueso]
+docs:
+ - add blkid --list-all to TODO [Karel Zak]
+ - add COPYING.lib* files [Karel Zak]
+ - add note about agetty to TODO [Karel Zak]
+ - add note about sfdisk to TODO [Karel Zak]
+ - add v2.19 ReleaseNotes [Karel Zak]
+ - correct spelling mistakes in DEPRECATED file [Jon Grant]
+ - fix typo [Davidlohr Bueso]
+ - fix typos in man pages [Karel Zak]
+ - make it easier to find mail list address [Alexander Shishkin]
+ - mark line(1) as deprecated [Karel Zak]
+ - remove ipc.texi (info with IPC API docs) [Karel Zak]
+ - update AUTHORS file [Karel Zak]
+ - update DEPRECATED file [Karel Zak]
+ - update ReleaseNotes [Karel Zak]
+ - update TODO file [Davidlohr Bueso]
+ - update TODO file [Karel Zak]
+ - update TODO [Karel Zak]
+ - update v2.19 ReleaseNotes [Karel Zak]
+ - use rpmatch() for sfdisk [Karel Zak]
+fallocate:
+ - fix build failure with old linux headers [Mike Frysinger]
+ - fix typo [Karel Zak]
+fdisk:
+ - add description for partition type 0x27 [Karel Zak]
+ - add exFAT to MBR partition type 0x7 [Jon Grant]
+ - don't keep internally device size in 512-byte sectors [Karel Zak]
+ - eliminate redundant call to open() [Markus Rinne]
+ - fix alignment check for non-512-byte logical sectors [Karel Zak]
+ - fix freespace boundaries calculation on SGI disklabel [Karel Zak]
+ - fix use of non portable type [François Revol]
+ - more meaningful error messages (use err.h) [Francesco Cosoleto]
+ - quit with a single CTRL-D, confirm if necessary [Francesco Cosoleto]
+ - re-print prompt after maybe_exit() [Karel Zak]
+ - replace fatal(usage) with a separate usage() function [Francesco Cosoleto]
+ - update MBR after ID change [Karel Zak]
+ - use canonicalized names for -l (and sfdisk -d) [Karel Zak]
+ - use xalloc lib [Francesco Cosoleto]
+findmnt:
+ - add --submounts option [Karel Zak]
+ - add /etc/fstab.d support [Karel Zak]
+ - add MAJ MIN [Karel Zak]
+ - add support for fs-root (subvolumes and bind mounts) [Karel Zak]
+ - apply new changes from tt.c [Karel Zak]
+ - don't swap source and target if the source is a tag [Karel Zak]
+ - fix exit code [Karel Zak]
+ - fix manpage typos [Davidlohr Bueso]
+ - fix support for -a option [Milan Broz]
+ - follow HAVE_LANGINFO [Karel Zak]
+ - use new libmount functions [Karel Zak]
+ - use new tab parsing API [Karel Zak]
+flock:
+ - fix file number in flock.1 man page [Patrice Dumas]
+ - properly report exec() errors [Karel Zak]
+ - use more useful example in flock.1 [Jakob Unterwurzacher]
+fsck:
+ - add support for whole-disk locking (-l option) [Karel Zak]
+ - improve whole-disk check, detect stacked devices [Karel Zak]
+ - include c.h, fallback for PATH_MAX [Karel Zak]
+ - inform about nonexistent devices in verbose mode [Karel Zak]
+ - returns proper code on exec() error [Karel Zak]
+fstrim:
+ - add new command [Lukas Czerner]
+ - fix typo [Karel Zak]
+hexdump:
+ - remove od functionality in favor to GNU coreutils od [Sami Kerola]
+hwclock:
+ - [m68k] unbreak FTBFS with recent (>= 2.4.18?) kernels [Thorsten Glaser]
+ - allow setting of RTC when it contains invalid data [Peter Tyser]
+include:
+ - [c.h] add unused attribute to ignore_result() [Karel Zak]
+ - [c.h] fix __alloc_size__ test [Karel Zak]
+ - [c.h] add fallback for alloc_size attributes [Karel Zak]
+ - [c.h] move ignore_result() to gcc-only block [Karel Zak]
+ - [tt] enlarge output buffer [Karel Zak]
+ - [xalloc.h] include string.h [Marek Polacek]
+ - add fallback for rpmatch() [Francesco Cosoleto]
+ - cleanup blkdev.h [Karel Zak]
+ - emulate dirfd when necessary [Fabian Groffen]
+ - fix list.h ifdefs [Karel Zak]
+ - [xalloc] general purpose memory allocation handling wrappers [Davidlohr Bueso]
+ipc:
+ - remove .info file [Karel Zak]
+last:
+ - Use EXIT_* and err() [Marek Polacek]
+ - use xalloc lib [Davidlohr Bueso]
+lib:
+ - [c] add ignore_result() [Karel Zak]
+ - [env] consolidate safe_getenv() usage [Karel Zak]
+ - [ismounted] don't wast time with mtab is /proc/mounts used [Karel Zak]
+ - [strutils] general purpose string handling functions [Davidlohr Bueso]
+ - [strutils] move strmode() from namei.c to strutils.c [Karel Zak]
+ - [tt] add TT_FL_RIGHT, add columns list parser [Karel Zak]
+ - [tt] fix alignment of the last tree child [Karel Zak]
+ - [xalloc] add xstrdup() [Karel Zak]
+ - [xalloc] don't use hardcoded return code [Karel Zak]
+ - add fallback for nl_langinfo() [Karel Zak]
+ - add test program to canonicalize.c [Karel Zak]
+ - add wrappers for "at" functions [Karel Zak]
+ - fix mange() and unmangle() to handle NULL [Karel Zak]
+ - fix syntax error in blkdev.c [Karel Zak]
+lib/tt:
+ - fix langinfo build break [Davidlohr Bueso]
+libblkid:
+ - 256MiB is min size of btrfs [Karel Zak]
+ - NTFS volume label not found [Karel Zak]
+ - add LINHIB0001 signature to swap prober [Karel Zak]
+ - add blkdev.h to blkidP.h [Karel Zak]
+ - add blkid_probe_get_sectors() [Davidlohr Bueso]
+ - add magic to vfat [Jeroen Oortwijn]
+ - add nilfs2 filesystem superblock probe [Jiro SEKIBA]
+ - add searching in attributes dir to BeFS [Jeroen Oortwijn]
+ - add signature to FAT32 fsinfo block [Jeroen Oortwijn]
+ - cache is incorrectly revalidated [Karel Zak]
+ - check for swap or DM cow on small devices [Karel Zak]
+ - conditionalise parts from blkid/topology for Linux [Fabian Groffen]
+ - consolidate magic strings detection code [Karel Zak]
+ - don't ignore zero for SBMAGIC_OFFSET [Karel Zak]
+ - don't probe directories [Karel Zak]
+ - fix MBR detection on iPod and cleanup vfat code [Karel Zak]
+ - fix endian conversion bug in NILFS [Karel Zak]
+ - fix memory leak [Igor Bazhitov]
+ - fix typo filesystem name nilfs to nilfs2 [Jiro SEKIBA]
+ - remove dead code section [Valerie Aurora]
+ - remove unnecessary __UCLIBC__ check [Mike Frysinger]
+ - remove unused variable [Karel Zak]
+ - set tolerant flag for HFS [Alexandre Peixoto Ferreira]
+ - support LIBBLKID_DEBUG= env. [Karel Zak]
+ - use PRId64 in PT parser [Karel Zak]
+ - wrong PT detection on RAID0 [Karel Zak]
+libmount:
+ - _SC_GETPW_R_SIZE_MAX portability issue [Karel Zak]
+ - add /etc/fstab.d support [Karel Zak]
+ - add DBG() to optstr.c [Karel Zak]
+ - add FS detection [Karel Zak]
+ - add LIBMOUNT_{MTAB,FSTAB} [Karel Zak]
+ - add MNT_FS_SWAP flag [Karel Zak]
+ - add and copy FS internal flags [Karel Zak]
+ - add debug messages and fix typos in tab_update [Karel Zak]
+ - add first part of high-level API [Karel Zak]
+ - add functions for mount.<type> helpers [Karel Zak]
+ - add functions get mtab/utab paths [Karel Zak]
+ - add low-level API for umount [Karel Zak]
+ - add mnt_context [Karel Zak]
+ - add mnt_context_get_{fstab,mtab}() [Karel Zak]
+ - add mnt_context_get_{source,target,fstype} [Karel Zak]
+ - add mnt_context_is_* functions [Karel Zak]
+ - add mnt_copy_fs() and mnt_fs_set_root() [Karel Zak]
+ - add mnt_fs_get_root() [Karel Zak]
+ - add mnt_fs_prepend_optstr() [Karel Zak]
+ - add mnt_get_writable_mtab_path() [Karel Zak]
+ - add mnt_optstr_fix_user [Karel Zak]
+ - add mnt_optstr_get_mountflags() [Karel Zak]
+ - add mnt_optstr_get_userspace_mountflags() [Karel Zak]
+ - add mnt_optstr_prepend_option() [Karel Zak]
+ - add mnt_split_optstr() [Karel Zak]
+ - add mnt_tab_find_pair() [Karel Zak]
+ - add mnt_tab_parse_mtab() [Karel Zak]
+ - add mnt_tab_parse_stream() [Karel Zak]
+ - add mnt_tab_set_parser_errcb() [Karel Zak]
+ - add mntent.h compatible stuff [Karel Zak]
+ - add mount(2) and /sbin/mount.<type> support [Karel Zak]
+ - add mount(8) sample [Karel Zak]
+ - add mtab management to context API [Karel Zak]
+ - add new debug messages, fix umount return code [Karel Zak]
+ - add new psetudo filesystems [Karel Zak]
+ - add new pseudo filesystems [Karel Zak]
+ - add routines for uid=, git= and context= translation [Karel Zak]
+ - add support for mtab management [Karel Zak]
+ - add uhelper=, improve mnt_split_optstr() [Karel Zak]
+ - add umount(2) support [Karel Zak]
+ - add unit test for mnt_copy_fs() [Karel Zak]
+ - add unmangle/mangle() functions to API [Karel Zak]
+ - add utils for work with uid/gid [Karel Zak]
+ - add utils to get FS root/mountpoint [Karel Zak]
+ - add {start,end}swith() functions [Karel Zak]
+ - allow to overwrite mtab/fstab paths [Karel Zak]
+ - allows to swap source and target [Karel Zak]
+ - always store rw/ro flags to mtab [Karel Zak]
+ - better permissions and optstr evaliation [Karel Zak]
+ - better work with mtab options [Karel Zak]
+ - clean mnt_update_* target usage [Karel Zak]
+ - clean up lock.c [Karel Zak]
+ - clean up mnt_fs_set_optstr() [Karel Zak]
+ - clean up mount.sym file [Karel Zak]
+ - clean up mountflags usage [Karel Zak]
+ - cleanup API and docs [Karel Zak]
+ - cleanup API, remove typedef [Karel Zak]
+ - cleanup MS_RDONLY usageand mnt_update_* symbols [Karel Zak]
+ - cleanup context API [Karel Zak]
+ - cleanup debug flags [Karel Zak]
+ - cleanup fstab parser, improve mnt_tab errcb usage [Karel Zak]
+ - cleanup helper initialization API [Karel Zak]
+ - cleanup helpers support [Karel Zak]
+ - cleanup high-level mount API [Karel Zak]
+ - cleanup internal API [Karel Zak]
+ - cleanup lock API [Karel Zak]
+ - cleanup mangle() usage [Karel Zak]
+ - cleanup mount.h [Karel Zak]
+ - cleanup mount.sym [Karel Zak]
+ - cleanup return codes (cache.c) [Karel Zak]
+ - cleanup return codes (fs.c) [Karel Zak]
+ - cleanup return codes (iter.c) [Karel Zak]
+ - cleanup return codes (lock.c) [Karel Zak]
+ - cleanup return codes (optmap.c) [Karel Zak]
+ - cleanup return codes (optstr.c) [Karel Zak]
+ - cleanup return codes (tab.c) [Karel Zak]
+ - cleanup return codes (tab_parse.c) [Karel Zak]
+ - compile tests [Karel Zak]
+ - copy mount attrs from utab to context [Karel Zak]
+ - correctly use "none" values [Karel Zak]
+ - do not check for EAGAIN after flock() [Petr Uzel]
+ - don't compile tests by default [Karel Zak]
+ - don't export some cache.c files [Karel Zak]
+ - don't prepare update if syscall failed [Karel Zak]
+ - don't return old data from optls iterator [Karel Zak]
+ - don't store filename to mnt_tab [Karel Zak]
+ - don't use NULL pointer in mntenv [Karel Zak]
+ - extend mnt_update_* API [Karel Zak]
+ - fix Makefile and tests [Karel Zak]
+ - fix comment for mnt_unlock_file() [Karel Zak]
+ - fix context mount test [Karel Zak]
+ - fix datatype for mountflags [Karel Zak]
+ - fix debug message [Karel Zak]
+ - fix merge_optstr (do not truncate 3 trailing characters) [Petr Uzel]
+ - fix mnt_optstr_apply_flags() to work with optional variables [Karel Zak]
+ - fix mnt_optstr_remove_option_at() [Karel Zak]
+ - fix mount helpers call [Karel Zak]
+ - fix mount.h includes [Karel Zak]
+ - fix optstr test [Karel Zak]
+ - fix tab_update test program [Karel Zak]
+ - fix to work with btrfs subvolume user mounts [Karel Zak]
+ - fix user= usage [Karel Zak]
+ - fix utab file and dir modes, add new debug messages [Karel Zak]
+ - implement mnt_context_subst_optstr() [Karel Zak]
+ - improve an rename API for mtab management [Karel Zak]
+ - improve assert() and DBG() usage [Karel Zak]
+ - improve debugging, fix optstr prepend [Karel Zak]
+ - improve fstab/mtab options usage [Karel Zak]
+ - improve function for work with mtab paths [Karel Zak]
+ - improve mnt_get_fs_root() and mnt_get_mountpoint() [Karel Zak]
+ - improve parser return codes [Karel Zak]
+ - improve parsers return codes [Karel Zak]
+ - improve status check, minor cleanups [Karel Zak]
+ - minor cleanup in optstr.c [Karel Zak]
+ - minor fixes [Karel Zak]
+ - minor fixes in cache.c [Karel Zak]
+ - more robust flock() usage [Karel Zak]
+ - optimize blkid_devno_to_devname() [Karel Zak]
+ - properly canonicalize source and target [Karel Zak]
+ - remove fs and tab printf functions [Karel Zak]
+ - remove mnt_tab_strerr() [Karel Zak]
+ - remove unnecessary options container [Karel Zak]
+ - remove unused mnt_strconcat3() [Karel Zak]
+ - remove utab from API, update tests [Karel Zak]
+ - rename mount.h to libmount.h [Karel Zak]
+ - rename mount.sym -> libmount.sym [Karel Zak]
+ - rewrite DBG() macro [Karel Zak]
+ - rewrite mountinfo/fstab parsers to use sscanf() [Karel Zak]
+ - rewrite optstr translation [Karel Zak]
+ - rewrite update [Karel Zak]
+ - split context.c [Karel Zak]
+ - split mnt_context_do_mount() [Karel Zak]
+ - support /{proc,etc}/filesystems [Karel Zak]
+ - update mount.sym [Karel Zak]
+ - update mount.{h,sym} [Karel Zak]
+ - update mtab after mount(2) [Karel Zak]
+ - update tests [Karel Zak]
+ - use attribute __format__ for debug routines [Karel Zak]
+ - use better format for utab, improve bind mounts [Karel Zak]
+ - use mnt_fs for mtab API [Karel Zak]
+ - use separate buffer for userspace options, add mount attributes [Karel Zak]
+libuuid:
+ - do not check for EAGAIN after flock() [Petr Uzel]
+ - fix locking of clock state counter file [Petr Uzel]
+login:
+ - fix "ignoring return value" errors [Karel Zak]
+ - use EXIT_* and err.h, clean up return codes [Marek Polacek]
+ - use EXIT_* in checktty() [Karel Zak]
+ - use xalloc lib [Davidlohr Bueso]
+look:
+ - fix conflict between locally defined err() and glibc's version [Davidlohr Bueso]
+ - fix memory leak in look(1) [Davidlohr Bueso]
+losetup:
+ - do not distinguish between malloc and realloc [Tobias Klauser]
+ - remove unnecessary fstab.h include [Karel Zak]
+ - use /sys/dev/block/.../loop/backing_file [Karel Zak]
+ - use stdout and return 0 for --help [Karel Zak]
+lsblk:
+ - add --nodeps [Karel Zak]
+ - add new utility [Milan Broz]
+ - rename "RA" column to "RE" [Karel Zak]
+ - small grammar touches to the man page [Benno Schulenberg]
+ - use "RM" for removable [Karel Zak]
+lscpu:
+ - add -x and {On,Off}-line CPU(s) mask/list [Karel Zak]
+ - add byte order and bogoMIPS information [Davidlohr Bueso]
+ - add description of --sysroot option to man page, plus grammar touches [Benno Schulenberg]
+ - avoid len = 0 as a consequence of maxcpus = 0 [Gerrit Renker]
+ - cleanup usage() [Karel Zak]
+ - fix 64bit CPU detection [Karel Zak]
+ - really use 'mode' argument in path_fopen() [Petr Uzel]
+ - support offline CPUs [Karel Zak]
+ - support sysfs without cpu/online file [Karel Zak]
+ - update lscpu.1 to include new additions. [Davidlohr Bueso]
+ - use GPLv2+ [Karel Zak]
+man:
+ - add russian translation of ddate.1 [Karel Zak]
+mesg:
+ - Use EXIT_* and discard K&R style declaration. [Marek Polacek]
+ - change error exit code from 1 to >1 [Francesco Cosoleto]
+misc-utils:
+ - use new xmalloc() wrapper [Davidlohr Bueso]
+mkfs:
+ - add `mkfs.ext4` to section SEE ALSO of `mkfs.8`. [Paul Menzel]
+ - general cleanups [Davidlohr Bueso]
+mkfs.cramfs:
+ - use symbolic exit codes [Sami Kerola]
+more:
+ - use xalloc for memory allocation [Davidlohr Bueso]
+mount:
+ - Add more pseudo filesystems. [Davidlohr Bueso]
+ - Don't call canonicalize_*(SPEC) for 9p [Sven Eckelmann]
+ - add info about type.subtype to /sbin/mount.<type> API description [Karel Zak]
+ - add mnt_init_debug() [Karel Zak]
+ - add note about context= remount to mount.8 [Karel Zak]
+ - add note about subtypes to fstab.5 [Karel Zak]
+ - add rootcontext= for tmpfs on SELinux boxes [Karel Zak]
+ - avoid starting a man page line with a single quote [Chris Frost]
+ - be more explicit about --move in mount.8 [Karel Zak]
+ - better describe UUIDs usage in man pages [Karel Zak]
+ - canonicalize paths in HAVE_LIBMOUNT_MOUNT code [Karel Zak]
+ - clean up fstab.5 [Karel Zak]
+ - don't canonicalize "spec" with --no-canonicalize option [Miklos Szeredi]
+ - don't use auto-clear loopdev if mtab is available [Karel Zak]
+ - fix "mount -a" for auto-clear loopdevs and /proc/mounts [Karel Zak]
+ - fix atime description in mount.8 man page [Karel Zak]
+ - fix gcc warning [Karel Zak]
+ - fix mount.8, shortname=mixed is now default for vfat [Petr Uzel]
+ - fix parsing offset= followed by more options [Petr Uzel]
+ - fix reference to cifs-utils in mount.8 [Karel Zak]
+ - get most recently mounted fs from /etc/mtab. [Valerie Aurora]
+ - handle filesystems with subtype [Miklos Szeredi]
+ - ignore *context= options on remount [Karel Zak]
+ - improve verbose info [Karel Zak]
+ - mark die() as nonreturn [Karel Zak]
+ - read /sys for loopdev backing file [Karel Zak]
+ - read mtab by libmount [Karel Zak]
+ - remove warning about FS detection from mount.1 [Karel Zak]
+ - rewrite HAVE_LIBMOUNT_MOUNT code [Karel Zak]
+ - rewrite is_readonly() [Karel Zak]
+ - sanity check mount flags for MS_PROPAGATION [Karel Zak]
+ - update ext{3,4} options in mount.8 [Karel Zak]
+ - update relatime description in mount.8 [Karel Zak]
+ - use libmount for mtab/utab updates [Karel Zak]
+ - use utimensat(AT_FDCWD) rather than open()+futimens() [Karel Zak]
+ - use verbose info for HAVE_LIBMOUNT_MOUNT only [Karel Zak]
+namei:
+ - fix memory leak in namei(1) [Davidlohr Bueso]
+ - parse all path arguments when an optarg path will fail [Sami Kerola]
+newgrp:
+ - Use err() and EXIT_* [Marek Polacek]
+partx:
+ - add mac partition table support [Davidlohr Bueso]
+ - add sun partition table support [Davidlohr Bueso]
+ - cleanup and add columns [Karel Zak]
+ - complete rewrite [Davidlohr Bueso, Karel Zak]
+ - fix authors section in man page [Davidlohr Bueso]
+ - fix typo in partx.8 [Davidlohr Bueso]
+ - integrate support for mac and sun partitions, based on kpartx. [Davidlohr Bueso]
+ - normalize the punctuation of man page, and improve grammar here and there [Benno Schulenberg]
+ - tiny change in usage() [Karel Zak]
+pg:
+ - use xalloc for memory allocation [Davidlohr Bueso]
+po:
+ - add gl.po (from translationproject.org) [Fran Diéguez]
+ - add zh_TW.po (from translationproject.org) [Wei-Lun Chao]
+ - fix note about license [Karel Zak]
+ - merge changes [Karel Zak]
+ - refresh gl and zh_TW [Karel Zak]
+ - update after rename [Karel Zak]
+ - update cs.po (from translationproject.org) [Petr PĂ­saĹ™]
+ - update da.po (from translationproject.org) [Joe Hansen]
+ - update fr.po (from translationproject.org) [David Prévot]
+ - update fr.po (from translationproject.org) [Milan Bouchet-Valat]
+ - update hu.po (from translationproject.org) [Gabor Kelemen]
+ - update ja.po (from translationproject.org) [Makoto Kato]
+ - update nl.po (from translationproject.org) [Benno Schulenberg]
+ - update pl.po (from translationproject.org) [Jakub Bogusz]
+ - update vi.po (from translationproject.org) [Clytie Siddall]
+portability:
+ - fix mntent.h and pty.h usage [François Revol]
+ - use standard constants [François Revol]
+renice:
+ - improve messages specifying what ID is referring to [Francesco Cosoleto]
+ - make some functions static [Francesco Cosoleto]
+ - remove hardcoded program name using warn() and warnx() [Francesco Cosoleto]
+ - reverse %s position in error messages [Francesco Cosoleto]
+ - rewrite usage() [Karel Zak]
+ - update man page (nice rlimit was added to kernel) [Francesco Cosoleto]
+rev:
+ - coding style, various fixes [Davidlohr Bueso]
+ - use xalloc for memory allocation [Davidlohr Bueso]
+rtcwake:
+ - add 'show' mode for rtc alarm [Marek Otahal]
+ - use err.h routines [Karel Zak]
+schedutils:
+ - fix typos [Davidlohr Bueso]
+ - remove unneeded header files [Davidlohr Bueso]
+sfdisk:
+ - add option to use maximum partition size [Karel Zak]
+ - save errno before calling perror [Forest Bond]
+shutdown:
+ - Use EXIT_* [Marek Polacek]
+simpleinit:
+ - Use EXIT_* [Marek Polacek]
+ - move old init stuff to separate directory [Karel Zak]
+swapon:
+ - Canonicalize swap device [Alexey Gladkov]
+ - Document btrfs limitation with swapfiles [Jeff Mahoney]
+ - add "discard" support [Hugh Dickins]
+ - add support for "nofail" fstab mount option [Karel Zak]
+ - better text for "discard", note about swapon in fstab.5 [Karel Zak]
+ - make needlessly global variables static [Tobias Klauser]
+ - use EXIT_SUCCESS constants [Davidlohr Bueso]
+ - warn if file owner is not root [Karel Zak]
+swpaon:
+ - use canonicalized devnames on -s output [Karel Zak]
+sys-utils:
+ - fix manpage typos [Davidlohr Bueso]
+ - make use xalloc wrappers [Davidlohr Bueso]
+tailf:
+ - fixed timing issue that could cause duplicate data output [Dima Kogan]
+ - use xalloc for memory allocation [Davidlohr Bueso]
+taskset:
+ - proper numbers parsing [Karel Zak]
+tests:
+ - add regression tests [Davidlohr Bueso]
+ - add basic libmount tests for mounting [Karel Zak]
+ - add blkid test for partitioned RAID0 [Karel Zak]
+ - add libmount lock test [Karel Zak]
+ - add libmount mtab tests [Karel Zak]
+ - add libmount mtab update test [Karel Zak]
+ - add libmount optstr.c tests [Karel Zak]
+ - add libmount tab_parse.c tests [Karel Zak]
+ - add libmount tags tests [Karel Zak]
+ - add libmount utab tests [Karel Zak]
+ - add libmount utils.c tests [Karel Zak]
+ - add nilfs2 test for libblkid [Jiro SEKIBA]
+ - add quoted optstr [Karel Zak]
+ - add utab update tests [Karel Zak]
+ - check for mtab [Karel Zak]
+ - fix blkid MD test (missing tailing whitespaces) [Karel Zak]
+ - fix libmount test [Karel Zak]
+ - fix strtosize() test [Karel Zak]
+ - ignore device name used in some fdisk and blkid tests [Francesco Cosoleto]
+ - improve libmount context mount and umount test [Karel Zak]
+ - improve subtests initialization [Karel Zak]
+ - refresh libmount fstab parser tests [Karel Zak]
+ - skip non-compiled libmount tests [Karel Zak]
+ - truncate BeFS and tuxonice images [Karel Zak]
+ - update lscpu tests [Karel Zak]
+ - update lscpu tests on x86_64 [Karel Zak]
+ - update namei regression test [Karel Zak]
+ - use findmnt(8) for mount --move test [Karel Zak]
+ - use findmnt(8) for remount test [Karel Zak]
+ - use {src,build}dir variables for tests [Karel Zak]
+ul:
+ - fix memory leak. [Davidlohr Bueso]
+ - use atexit() to deallocate buffer, print errors by err() [Karel Zak]
+ - use xalloc for memory allocation [Davidlohr Bueso]
+umount:
+ - add HAVE_LIBMOUNT_MOUNT code [Karel Zak]
+ - call is_loop_autoclear() for all loopdevs [Karel Zak]
+ - umount -r segfault [Karel Zak]
+ - use strtosize() for offset= [Karel Zak]
+unshare:
+ - fix SIGSEGV on invalid command line option [Alexey Gladkov]
+uuidd:
+ - correctly report number of generated subsequent UUIDs [Petr Uzel]
+ - fix -n usage [Petr Uzel]
+ - fix uuidd -r -n 2 [Petr Uzel]
+ - increase connection backlog size to SOMAXCONN [Petr Uzel]
+ - mention -q in uuidd.8 [Petr Uzel]
+ - use UUIDD_OP_BULK_*_UUID named constants [Petr Uzel]
+ - use UUID_STR_LEN and UUID_LEN [Petr Uzel]
+ - use daemon(3) library function [Petr Uzel]
+ - use die() where possible [Petr Uzel]
+ - use write_all from include/writeall.h [Petr Uzel]
+vipw:
+ - fix warn_unused_result gcc warning [Karel Zak]
+ - use EXIT_* and err() [Marek Polacek]
+wall:
+ - Use EXIT_* and err() [Marek Polacek]
+ - add usage function [Davidlohr Bueso]
+ - document -n option [Davidlohr Bueso]
+ - fix coding style [Karel Zak]
+ - remove progname [Karel Zak]
+ - use xalloc lib [Davidlohr Bueso]
+wipefs:
+ - fail if more device arguments specified [Milan Broz]
+ - use write_all from include/writeall.h [Petr Uzel]
+
diff --git a/Documentation/releases/v2.20-ReleaseNotes b/Documentation/releases/v2.20-ReleaseNotes
new file mode 100644
index 0000000..e020c3b
--- /dev/null
+++ b/Documentation/releases/v2.20-ReleaseNotes
@@ -0,0 +1,1061 @@
+Util-linux 2.20 Release Notes
+=============================
+
+ The ddate(1) command is not built by default (see --enable-ddate).
+
+Release highlights
+------------------
+
+agetty(8):
+ - mingetty features have been merged to agetty
+
+chrt(1), taskset(1):
+ - supports new command line option "--all-tasks" to set or retrieve the
+ scheduling attributes of all the tasks (threads) for a given PID
+
+dmesg(1):
+ - supports new command line options: --clear, --console-on, --console-off,
+ --ctime, --decode, --facility=<list>, --level=<list>, --show-delta,
+ --notime, --kernel and --userspace
+
+fdisk(8):
+ - improved dialogs to be more user-friendly
+
+findmnt(8), partx(8), lsblk(8)
+ - support new command line option "--pairs" to enable key="value"
+ output format
+
+findmnt(8):
+ - supports new command line options "--poll" and "--timeout" to monitor
+ /proc/self/mountinfo changes
+
+ionice(1):
+ - supports human-readable scheduling class names, for example:
+ ionice -c best-effort $PID
+
+kill(1):
+ - supports new command line option "-q <sigval>" to use sigqueue(2)
+ - supports real-time signals in formats RT<n>, RTMIN+<n> and RTMAX-<n>
+
+libmount:
+ - the API officially stable
+
+lsblk(8):
+ - supports new columns:
+ TYPE - device type
+ RQ-SIZE - queue request size
+ STATE - device state (e.g. running, suspended)
+ DALIGN - discard alignment offset
+ DISC-GRAN - discard granularity
+ DISC-MAX - discard max bytes
+ DISC-ZERO - discard zeroes data
+ - supports new command line option "-D" to print device discard topology
+
+lscpu(8):
+ - improved support for s390 boxes
+
+mkfs.minix:
+ - supports minix version 3
+
+mountpoint(1):
+ - this NEW COMMAND is libmount based re-implementation of mountpoint(1) from
+ sysvinit suite
+
+setarch(8):
+ - supports new command line options "--uname-2.6" to enable UNAME26
+ personality flag
+
+simpleinit:
+ - this set of deprecated utils has been REMOVED
+
+wall(1):
+ - support new command line option "--timeout" to specify write timeout to
+ terminals in seconds.
+
+It's not supported to link with external (e.g. from e2fsprogs) libblkis and
+libuuid any more.
+
+
+Stable maintenance releases between v2.19 and v2.20
+---------------------------------------------------
+
+util-linux 2.19.1 [02-May-2011]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19.1-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19.1-ChangeLog
+
+
+Changes between v2.19 and v2.20
+-------------------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/
+
+addpart:
+ - multiplication on 512 deleted [Anton V. Boyarshinov]
+agetty:
+ - #endif comments [Sami Kerola]
+ - C.UTF-8 locale instead of en_US.UTF-8 [Samuel Thibault]
+ - Fix IUTF8 flag [Werner Fink]
+ - add an autologin feature [Werner Fink]
+ - better support of virtual console [Dr. Werner Fink]
+ - check virtual console for UTF-8 support [Werner Fink]
+ - clean up usage [Karel Zak]
+ - cleanup argv parsing, utmp update, use writeall(), etc. [Werner Fink]
+ - coding style - fix comments, remove tailing whitespace [Karel Zak]
+ - coding style - fix identation [Karel Zak]
+ - don't use xalloc.h stuff [Karel Zak]
+ - error message about required arguments [Sami Kerola]
+ - getopt case segment reordering [Sami Kerola]
+ - improve login(1) argv[] [Karel Zak]
+ - more code cleanup [Werner Fink]
+ - only enable F_UTF8 if kernel has already set IUTF8. [Samuel Thibault]
+ - proper session on the terminal line [Werner Fink]
+ - remove unnecessary options synonyms [Karel Zak]
+ - remove unnecessary space and "(void)" junk [Karel Zak]
+ - symbolic standard file descriptors [Sami Kerola]
+ - try next speed after CBREAK [Karel Zak]
+ - use a generic function for strings concatenation [Karel Zak]
+ - use long options [Sami Kerola]
+ - use program_invocation_short_name [Sami Kerola]
+ - use xalloc.h [Sami Kerola]
+ - further scrubbing [Sami Kerola]
+ - move issue path to pathnames.h [Sami Kerola]
+ - further mingetty features [Dr. Werner Fink]
+blkdev:
+ - add blkdev_is_misaligned() [Davidlohr Bueso]
+blkid:
+ - add -d option to print non-printable chars [Karel Zak]
+ - don't free() uninitialized variable [Karel Zak]
+ - don't ignore -i [Karel Zak]
+ - don't read past end of FAT32 cluster chain [John Lindgren]
+ - fix compiler warnings [-Wunused-parameter] [Karel Zak]
+ - fix double free [coverity scan] [Karel Zak]
+ - fix typo [Karel Zak]
+ - indent usage() [Karel Zak]
+ - list all known filesystems/RAIDs (add -k option) [Karel Zak]
+ - small fix for safe_print() [Sergey Gusarov]
+ - uniformize the synopsis, remove "the the" [Benno Schulenberg]
+blockdev:
+ - add --help option [Sami Kerola]
+ - broken compiler warning circumvention removed [Sami Kerola]
+ - coding style fix [Sami Kerola]
+ - indent usage() [Karel Zak]
+ - remove progname [Sami Kerola]
+ - set options read only [Sami Kerola]
+ - type mismatch fix [Sami Kerola]
+ - use libc error facilities [Sami Kerola]
+ - use pathnames.h to find partitions [Sami Kerola]
+build-sys:
+ - Enable automake's -Wno-portability option. [Sami Kerola]
+ - add --enable-ddate [Karel Zak]
+ - add required files to dist [Sami Kerola]
+ - add term-utils/ [Karel Zak]
+ - add term-utils/.gitignore [Karel Zak]
+ - add uuid_generate_time_safe.3 .gitignore [Karel Zak]
+ - clean up partx Makefile [Karel Zak]
+ - cleanup lib/ tests [Karel Zak]
+ - disable lib/ at.c tests building [Karel Zak]
+ - do not ignore datarootdir [Sami Kerola]
+ - don't build lsblk on Linux without openat() [Karel Zak]
+ - don't support external (e2fsprogs) libblkid [Karel Zak]
+ - don't support external (e2fsprogs) libuuid [Karel Zak]
+ - don't try to chgrp write or wall if they are not built [Marc-Antoine Perennou]
+ - don't use HAVE_LIBBLKID_INTERNAL macro [Karel Zak]
+ - enable mountpoint, add dependence on libmout [Karel Zak]
+ - fix 'make checkincludes' warnings [Karel Zak]
+ - fix configure.ac for uuidd [Karel Zak]
+ - fix distcheck for term-utils [Karel Zak]
+ - fix git-version-gen for -rc tags [Karel Zak]
+ - fix gtk-doc build [Karel Zak]
+ - fix gtk-doc distclean [Karel Zak]
+ - fix spaces versus tabs conflict [Marc-Antoine Perennou]
+ - fix unportable Makefile.am assignment [Sami Kerola]
+ - include <uuid.h> rather than <uuid/uuid.h> [Karel Zak]
+ - introduce AM_PROG_CC_C_O macro [Sami Kerola]
+ - move BUILD_SCHEDUTILS to top-level Makefile [Karel Zak]
+ - move agetty to term-utils [Karel Zak]
+ - move mesg to term-utils/ [Karel Zak]
+ - move reset to term-utils/ [Karel Zak]
+ - move script and scriptreplay to term-utils/ [Karel Zak]
+ - move setterm to term-utils/ [Karel Zak]
+ - move wall to term-utils/ [Karel Zak]
+ - move write to term-utils directory [Sami Kerola]
+ - non-linux fixup [Samuel Thibault]
+ - print helpful error when pkg.m4 is missing [Sami Kerola]
+ - provide alternatives for err, errx, warn and warnx [Fabian Groffen]
+ - release++ (v2.20-rc1) [Karel Zak]
+ - release++ (v2.20-rc2) [Karel Zak]
+ - remove and ignore generated files [Karel Zak]
+ - remove check-news [Karel Zak]
+ - remove unnecessary files from getopt [Sami Kerola]
+ - rename --enable-partx to --disable-partx [Karel Zak]
+ - stop building line(1) by default [Sami Kerola]
+ - use AC_LANG_SOURCE to suppress warnings [Sami Kerola]
+ - use AUTOMAKE_OPTIONS = gnu [Sami Kerola]
+ - use git-version-gen to distinct git and release versions [Sami Kerola]
+ - use gtkdoc without tmpl dir [Karel Zak]
+ - use silent rules got gtkdoc, fix dependencies [Karel Zak]
+ - use top-level directory for libblkid rather than shlibs/blkid [Karel Zak]
+ - use top-level directory for libmount rather than shlibs/mount [Karel Zak]
+ - use top-level directory for libuuid rather than shlibs/uuid [Karel Zak]
+cal:
+ - argument checking, long options and argument checking [Sami Kerola]
+ - clean up few coding style issues [Sami Kerola]
+ - fix compiler warnings [Sami Kerola]
+ - fix manpage formatting [Petr Uzel]
+ - indent usage() [Karel Zak]
+ - fix typo ("fistt day") in help text, seize chance to improve it [Benno Schulenberg]
+cfdisk:
+ - add home and end keys movements in partition list [Francesco Cosoleto]
+ - fix compilation with slang [Karel Zak]
+ - fix compiler warning [Karel Zak]
+ - fix compiler warnings [-Wunused-parameter] [Karel Zak]
+ - fix gcc warning (unused variable) [Karel Zak]
+ - move "No more partition" warning to draw_cursor() [Francesco Cosoleto]
+ - move keys related to the cursor of the partition list outside menuselect() [Francesco Cosoleto]
+ - remove unused vertical menu direction code [Francesco Cosoleto]
+ - use keypad() in menu selection function [Francesco Cosoleto]
+checktty:
+ - Use NGROUPS_MAX instead of NGROUPS [Josiah Worcester]
+ - fix unused parameters [Sami Kerola]
+chfn:
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+chrt:
+ - [selinux] fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - add strings to use NLS [Sami Kerola]
+ - adjust style of man page, alphabetize option -p [Benno Schulenberg]
+ - allow to use --all-tasks when retrieve info [Karel Zak]
+ - chrt.1 fix grammar [Davidlohr Bueso]
+ - clarify use of -a option [Davidlohr Bueso]
+ - coding style fix [Sami Kerola]
+ - data type compiler warning fixed [Sami Kerola]
+ - make threads aware [Davidlohr Bueso]
+ - silently ignore -R if unsupported [Karel Zak]
+chsh:
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - fix gcc link() warn_unused_result warning [Karel Zak]
+ - fix small memory leak [Karel Zak]
+col:
+ - check with strtol_or_err option argument [Sami Kerola]
+ - coding style changes [Sami Kerola]
+ - use long options [Sami Kerola]
+colctr:
+ - use long options and clean coding style [Sami Kerola]
+colrm:
+ - gotos, long options and argument checking [Sami Kerola]
+ - manual update [Sami Kerola]
+column:
+ - fix problems with uninitialized variables [Karel Zak]
+ - use xalloc lib [Sami Kerola]
+ - add version printing [Sami Kerola]
+ - coding style fixes [Sami Kerola]
+ - free memory before exit [Sami Kerola]
+ - global variables removed [Sami Kerola]
+ - make table function clarification [Sami Kerola]
+ - replace emalloc with xcalloc [Sami Kerola]
+ - validate numeric user inputs [Sami Kerola]
+cramfs:
+ - remove cramfs_common.h [Davidlohr Bueso]
+ - use stdint.h instead of u{8,16,32} [Sami Kerola]
+ - coding style [Sami Kerola]
+cramfs_common:
+ - coding style [Sami Kerola]
+cytune:
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - remove unused variable [Karel Zak]
+ddate:
+ - fix St. Tib's Day in other languages [Karel Zak]
+ - remove non-ascii chars from ddate [Karel Zak]
+ - use ARRAY_SIZE [Karel Zak]
+dmesg:
+ - add --clear (SYSLOG_ACTION_CLEAR) [Karel Zak]
+ - add --console-on and --console-off [Karel Zak]
+ - add --ctime to print human readable timestamps [Karel Zak]
+ - add --decode to print readable facility and level [Karel Zak]
+ - add --facility option [Karel Zak]
+ - add --level=<list> [Karel Zak]
+ - add --show-delta option [Karel Zak]
+ - add -t option to suppress timestamps [Karel Zak]
+ - add -u and -k options [Karel Zak]
+ - add long options, --help and --version [Karel Zak]
+ - allow to print time delta without timestamp [Karel Zak]
+ - avoid mess at the end of dmesg output [Petr Uzel]
+ - cleanup options and man page [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - consolidate level parsiig code [Karel Zak]
+ - don't print non-printable chars, parse records [Karel Zak]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - fix segfault [Marc-Antoine Perennou]
+ - fix typo in usage() [Karel Zak]
+ - mark some options mutually exclusive [Karel Zak]
+ - print_buffer() refactoring [Karel Zak]
+ - refactoring - cleanup get bufsize code [Karel Zak]
+ - refactoring - cleanup main() code [Karel Zak]
+ - refactoring - cleanup print buffer code [Karel Zak]
+ - refactoring - cleanup read buffer code [Karel Zak]
+ - reorder options, add comments [Karel Zak]
+ - use SYSLOG_ACTION_* macros rather than magic constatnts [Karel Zak]
+ - variables refactoring [Karel Zak]
+ - cleanups -- use err(), xalloc() [Marek Polacek]
+docs:
+ - mention mkswap long options in man page [Sami Kerola]
+ - TODO update [Karel Zak]
+ - add 2.20 ReleaseNotes [Karel Zak]
+ - add Matej to AUTHORS [Karel Zak]
+ - add long options to fdformat.8 [Sami Kerola]
+ - add long options to mkfs.8 [Sami Kerola]
+ - add long options to mkfs.bfs.8 [Sami Kerola]
+ - agetty long options [Sami Kerola]
+ - agetty manual update [Sami Kerola]
+ - also uniformize headers and footers of troff-formatted man pages [Benno Schulenberg]
+ - col manual update [Sami Kerola]
+ - colcrt manual update [Sami Kerola]
+ - drop the pluralization item with ngettext() in TODO file [Benno Schulenberg]
+ - favour small patches [Sami Kerola]
+ - inform about cal long options [Sami Kerola]
+ - inform about mcookie long options [Sami Kerola]
+ - isosize.8 add long options [Sami Kerola]
+ - look.1 manual rewrote [Sami Kerola]
+ - mention long options in ionice.1 [Sami Kerola]
+ - mention long options in uuidd.8 manual page [Sami Kerola]
+ - remove README.namei [Sami Kerola]
+ - rename.1 verbose, long options and warning [Sami Kerola]
+ - scriptreplay add note about new options [Sami Kerola]
+ - scriptreplay mention basic long options [Sami Kerola]
+ - sfdisk manual update [Sami Kerola]
+ - tell mount/* is in maintenance mode [Sami Kerola]
+ - tweak the formatting and wording of several disk-utils man pages [Benno Schulenberg]
+ - tweak the formatting and wording of some text-utils man pages [Benno Schulenberg]
+ - un-deprecate kill(1) [Karel Zak]
+ - uniformize the header and footer lines in man pages [Benno Schulenberg]
+ - update AUTHORS file [Karel Zak]
+ - update DEPRECATED file [Karel Zak]
+ - update ReleaseNotes [Karel Zak]
+ - update ReleaseNotes fix typo in v2.20-ReleaseNotes [Bernhard Voelker]
+ - update TODO [Karel Zak]
+ - update TODO [Sami Kerola]
+ - update TODO file [Karel Zak]
+ - update TODO file [Sami Kerola]
+ - update example files [Karel Zak]
+ - update v2.20 ReleaseNotes [Karel Zak]
+ - uuidgen.1 mention long options [Sami Kerola]
+elvtune, isosize:
+ - print usage text in case of invalid option [Francesco Cosoleto]
+ - remove redundant message in case of invalid option [Francesco Cosoleto]
+fallocate:
+ - cleanup usage() [Karel Zak]
+fdformat:
+ - cleanup error messages [Karel Zak]
+ - coding style [Sami Kerola]
+ - include-what-you-use header check [Sami Kerola]
+ - integer comparisons & unused parameter [Sami Kerola]
+ - use libc error printing facilities [Sami Kerola]
+ - use long options [Sami Kerola]
+ - use xalloc.h [Sami Kerola]
+fdisk:
+ - accept digits-space-suffix format [Francesco Cosoleto]
+ - add a default response for the partition type dialog [Francesco Cosoleto]
+ - change primary or extended partition type dialog [Francesco Cosoleto]
+ - check index before access to array [coverity scan] [Karel Zak]
+ - fix "invalid partition number for type" error message [Francesco Cosoleto]
+ - fix compiler warnings [-Wunused-parameter -Wsign-compare] [Karel Zak]
+ - improve error message for missing extended partition [Francesco Cosoleto]
+ - more robust whole-disk detection [Karel Zak]
+ - print logical partition number while adding it [Francesco Cosoleto]
+ - quit from partition type dialog after invalid response [Francesco Cosoleto]
+ - use a single variable for the current disklabel [Francesco Cosoleto]
+fdisk, display, hexdump.h:
+ - Use standard C types instead of u_int, u_char, u_long, etc. [Josiah Worcester]
+ - correct the grammar of an error message [Benno Schulenberg]
+findmnt:
+ - (man page) short option for --timeout is not -t but -w [Benno Schulenberg]
+ - add --pairs to output in key="value" format [Karel Zak]
+ - add --poll and --timeout to the man page [Karel Zak]
+ - add --poll option [Karel Zak]
+ - add --timeout option [Karel Zak]
+ - add columns description to the --help output [Karel Zak]
+ - check mnt_tab_next_fs() return code [coverity scan] [Karel Zak]
+ - filter filesystems and actions for --poll [Karel Zak]
+ - fix compiler warnings [-Wunused-parameter] [Karel Zak]
+ - fix leak [Karel Zak]
+ - improve spelling, wording and order of help text [Benno Schulenberg]
+ - minor coding style changes [Karel Zak]
+ - print OLD-* columns only when necessary [Karel Zak]
+ - slice up the help text into manageable chunks [Benno Schulenberg]
+flock:
+ - cleanup usage() [Karel Zak]
+ - fix example in man page [Karel Zak]
+fsck:
+ - fix -C parsing [Karel Zak]
+ - fix clang compiler warning [Sami Kerola]
+ - in man page say that "options take arguments", not vice versa [Benno Schulenberg]
+ - in usage() unmark type as optional for the -t option [Benno Schulenberg]
+ - indent usage() [Karel Zak]
+ - use <var> in usage() [Karel Zak]
+ - use same word category in message, and add translators comment [Benno Schulenberg]
+ - use xmalloc, warn & err and new usage [Sami Kerola]
+fsck, checktty, flock:
+ - Use more portable includes. [Josiah Worcester]
+fsck.cramfs:
+ - add missed strings to translation [Sami Kerola]
+ - coding style [Sami Kerola]
+ - retire die function [Sami Kerola]
+ - use xalloc.h [Sami Kerola]
+fsck.minix:
+ - fix "array subscript is above array bounds" [Karel Zak]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - remove unused variables [Karel Zak]
+ - use common functionalitly [Davidlohr Bueso]
+ - use lib/ismounted.c [Karel Zak]
+fsfreeze:
+ - cleanup usage() [Karel Zak]
+fstrim:
+ - cast from __u64 to standard C types [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - correct mistaken grammar in one message [Benno Schulenberg]
+fstrim, setarch:
+ - replace error() with err() [Francesco Cosoleto]
+getopt:
+ - add static qualifiers [Olivier Mengué]
+ - do not bundle help text lines into a single unwieldy chunk [Benno Schulenberg]
+ - fix '--unqote' typo in usage text [Francesco Cosoleto]
+ - fix coding style [Sami Kerola]
+ - fix gcc warning [Karel Zak]
+ - indent usage() [Karel Zak]
+ - make user getopt_long parsing to use function pointer [Sami Kerola]
+ - options struct, usage and version outputs [Sami Kerola]
+ - remove unnecessary free() [Sami Kerola]
+ - use <var> in usage() [Karel Zak]
+ - use xalloc.h [Sami Kerola]
+hexdump:
+ - don't include err.h directly [Karel Zak]
+ - fix "beginnin" typo in usage message [Benno Schulenberg]
+ - fix segfault due to uninitialized memory [Petr Uzel]
+ - new usage(), xalloc and err.h stuff [Sami Kerola]
+hwclock:
+ - Don't use asm/io.h if sys/io.h can't be found [Josiah Worcester]
+ - add variable initialization [Sami Kerola]
+ - build on non-Linux [Samuel Thibault]
+ - coding style clean up [Sami Kerola]
+ - fix compiler warnings [Sami Kerola]
+ - fix gcc warning (uninitialized variable) [Karel Zak]
+ - in man page move --date and --epoch from Functions to Options [Benno Schulenberg]
+ - include-what-you-use header check [Sami Kerola]
+ - indent usage() [Karel Zak]
+ - make RTC default to UTC time [Daniel Drake]
+ - move long options away from global scope [Sami Kerola]
+ - move path definitions to pathnames.h [Sami Kerola]
+ - remove clock-ppc.c [Sami Kerola]
+ - remove goto statement [Sami Kerola]
+ - remove misleading information [Sami Kerola]
+ - remove unused variables [Karel Zak]
+ - tiny change in comment [Karel Zak]
+ - use <var> in usage() [Karel Zak]
+ - use libc error printing functions [Sami Kerola]
+ - validate numeric option arguments [Sami Kerola]
+ - when cutting up help texts anyway, do it into small chunks [Benno Schulenberg]
+include:
+ - [at.h] include c.h for PATH_MAX [Karel Zak]
+ - [bitops.h] make return values consistent [Karel Zak]
+ - [c.h] add fallback for old libs without O_CLOEXEC [Karel Zak]
+ - [c.h] remove strings.h include dublicate [Sami Kerola]
+ - [c.h] typeof to __typeof__ fix [Sami Kerola]
+ - [c.h] Include stdlib.h unconditionaly [maximilian attems]
+ - [c.h] add definition wrappers for old libc versions [Davidlohr Bueso]
+ - [c.h] move up declaration of program_invocation_short_name before usage [maximilian attems]
+ - [nls.h] define a macro for handling plurals with ngettext() [Benno Schulenberg]
+ - [strutils.c] add list parsers [Karel Zak]
+ - [tt.c] always truncate if TT_FL_TRUNC [Karel Zak]
+ - [writeall] add fwrite_all() [Karel Zak]
+ - [xalloc.h] mention strdup in the file description [Petr Uzel]
+ - minix.h use data types from stdint.h [Sami Kerola]
+ - move disk-utils/mkfs.h -> include/exitcodes.h [Sami Kerola]
+ - move fsck return values to exitcodes.h [Sami Kerola]
+ - move minix.h to include directory [Sami Kerola]
+ - remove kernel headers from minix.h [Sami Kerola]
+ionice:
+ - IOPRIO_PRIO_* macros [Karel Zak]
+ - add long options [Sami Kerola]
+ - adjust synopsis and wording and formatting on the man page [Benno Schulenberg]
+ - allow to use names for -c <class> [Karel Zak]
+ - coding style fixes [Sami Kerola]
+ - fix -V output [Sami Kerola]
+ - fix -p [Karel Zak]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - improve command line interpretation [Karel Zak]
+ - make -t more tolerant [Karel Zak]
+ - slightly improve grammar, spacing and consistency of man page [Benno Schulenberg]
+iosize:
+ - fix gcc warning [Karel Zak]
+ipcmk:
+ - cleanup usage() [Karel Zak]
+ipcs:
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - fix typo [Karel Zak]
+ - really show all resources when -a and -i are combined [Jens Kristian Søgaard]
+ - use unsigned type for uid/gid [Karel Zak]
+isosize:
+ - check user input to be numeric [Sami Kerola]
+ - fix coding style [Sami Kerola]
+ - improve style, grammar and spacing of man page [Benno Schulenberg]
+ - include-what-you-use header check [Sami Kerola]
+ - remove global variables [Sami Kerola]
+ - simplify some error messages [Francesco Cosoleto]
+ - use long options [Sami Kerola]
+ - use program_invocation_short_name [Francesco Cosoleto]
+kill:
+ - add -q sigval to use sigqueue(2) [Karel Zak]
+ - add support for real-time signals [Karel Zak]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - translate "-l <num>" to RT<n> [Karel Zak]
+last:
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ldattach:
+ - cleanup usage() [Karel Zak]
+lib:
+ - [at.c] add readlink_at(), fix semantic for absolute paths [Karel Zak]
+ - [at.c] fix compiler warnings [-Wunused-parameter] [Karel Zak]
+ - [blkdev.c] add blkdev_get_physector_size() [Davidlohr Bueso]
+ - [blkdev.c] more robust blkdev_is_misaligned() [Karel Zak]
+ - [blkdev.c] remove kernel version check from blkdev_get_sector_size() [Karel Zak]
+ - [cpuset.c] fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - [fsprobe.c] fix blkid_evaluate_spec() call [Karel Zak]
+ - [fsprobe.c] remove obsolete <blkid/blkid.h> [Karel Zak]
+ - [fsprobe.c] use internal libblkid only [Karel Zak]
+ - [linux_version.c] accommodate two-component linux version (e.g. 3.0) [Karel Zak]
+ - [linux_version.c] simplify version parsing [Karel Zak]
+ - [loopdev.c] add module for work loop devices [Karel Zak]
+ - [loopdev.c] cleanup flags usage [Karel Zak]
+ - [loopdev.c] correct qsort compare function [Karel Zak]
+ - [loopdev.c] correct trivial typo [Davidlohr Bueso]
+ - [mangle.c] fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - [procutils.c] add missing files. Sorry. [Karel Zak]
+ - [procutils.c] general purpose procfs parsing functions [Davidlohr Bueso]
+ - [procutils.c] improve robustness [Karel Zak]
+ - [strutils.c] fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - [strutils.c] more robust strtol checks [Karel Zak]
+ - [strutils] avoid integer overflow on large values [Dave Reisner]
+ - [sysfs.c] add sysfs_readlink and name/path functions [Karel Zak]
+ - [sysfs.c] fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - [sysfs.c] fix double free [Karel Zak]
+ - [sysfs.c] make sysfs_read_* function more robust [Karel Zak]
+ - [tt.c] Fix mbs_width macro for systems without WIDECHAR [Josiah Worcester]
+ - [tt.c] clean up used types [Karel Zak]
+ - [tt.c] dereferencing data before a null check [coverity scan] [Karel Zak]
+ - [tt.c] support fixed width and multiple tt_print_table() calls [Karel Zak]
+ - [tt.c] support key="value" output format [Karel Zak]
+ - [tt.c] use mbs_truncate() from mbsalign.c [Karel Zak]
+ - add generic sysfs utils [Karel Zak]
+ - add strtoul_or_err() function [Sami Kerola]
+libblkid:
+ - [partitions] fix compiler warnings [-Wunused-parameter -Wsign-compare] [Karel Zak]
+ - [superblocks] fix compiler warnings [-Wunused-parameter -Wsign-compare] [Karel Zak]
+ - [topology] fix compiler warnings [-Wunused-parameter -Wsign-compare] [Karel Zak]
+ - add ID_PART_ENTRY_{OFFSET,SIZE,DISK} [Karel Zak]
+ - add PART_ENTRY_* to docs [Karel Zak]
+ - add blkid_evaluate_spec() [Karel Zak]
+ - add debug message [Karel Zak]
+ - add docs for new PART_ENTRY_* values [Karel Zak]
+ - add some debug messages [Karel Zak]
+ - befs validate di_br_size !=0 and br_per_di_br != 0 [Timo Warns]
+ - cleanup flags [Karel Zak]
+ - cleanup prober initialization [Karel Zak]
+ - don't ignore swap UUID if only first byte is zero [Richard W.M. Jones]
+ - fix EFI GPT uuid byte order [Karel Zak]
+ - fix compiler warnings [-Wunused-parameter -Wsign-compare] [Karel Zak]
+ - fix gcc warnings [Karel Zak]
+ - fix typo in *_to_cpu() usage in raid detection [coverity scan] [Karel Zak]
+ - found whole-disk for partitions mapped by kpartx [Karel Zak]
+ - ignore hfsplus superblocks with blocksize < 512 [Karel Zak]
+ - improve blkid__scan_dir [Karel Zak]
+ - make whole disk probing more robust [Karel Zak]
+ - minor change in man page [Karel Zak]
+ - move MINIX_MAXPARTITIONS to minix.h [Sami Kerola]
+ - remove test for non-zero head count in FAT superblock probe. [Nick Holloway]
+ - try to detect if PT is newer than LVM [Karel Zak]
+ - update docs [Karel Zak]
+ - use 64bit offset in search_fat_label to avoid truncation [Jindrich Makovicka]
+ - use MINIX_BLOCK_SIZE from minix.h [Sami Kerola]
+ - use blkid_probe_get_buffer() more carefully [Karel Zak]
+ - use cached buffers for nested PT probing [Karel Zak]
+ - use partno for partitions mapped by DM [Karel Zak]
+ - use stuff from sysfs.h and at.h [Karel Zak]
+ - use superblock structure from minix.h [Sami Kerola]
+ - use sysfs_init() more carefully [Karel Zak]
+ - validate hfs blocksize != 0 [Timo Warns]
+ - vfat big endian fix [Jindrich Makovicka]
+libmount:
+ - add MOUNT_2.20 version to the API [Karel Zak]
+ - add fallbacks for old systems without umount2() syscall [Karel Zak]
+ - add generic function to read table for context [Karel Zak]
+ - add mnt_reset_table() [Karel Zak]
+ - add mnt_tabdiff_* functions [Karel Zak]
+ - add mnt_table_is_mounted() [Karel Zak]
+ - add mount support for loopdevs [Karel Zak]
+ - add mountpoint(1) implementation to samples/ [Karel Zak]
+ - add phelper= support [Karel Zak]
+ - add support for mount -a [Karel Zak]
+ - add support for x-* mount comments [Karel Zak]
+ - allow to convert /dev/loopN to backing filename [Karel Zak]
+ - allow to set parser callback to context [Karel Zak]
+ - avoid redundant declaration of mnt_context_do_umount [Jan Engelhardt]
+ - better "user" evaluation [Karel Zak]
+ - block signals when update utab [Karel Zak]
+ - block signals when writing to mtab [Karel Zak]
+ - clean up cache.c [Karel Zak]
+ - clean up docs [Karel Zak]
+ - cleanup *_do_[u]mount() return codes and docs [Karel Zak]
+ - cleanup code for "none" source and fstype, fix mem leak [Karel Zak]
+ - cleanup docs [Karel Zak]
+ - cleanup return codes in mount sample [Karel Zak]
+ - cleanup umount code [Karel Zak]
+ - create a default lock for mtab update [Karel Zak]
+ - cut up mount's help text into manageable chunks [Benno Schulenberg]
+ - don't export functions for vfs/fs/userspace mount options [Karel Zak]
+ - fix compiler warnings [-Wunused-parameter -Wsign-compare] [Karel Zak]
+ - fix debug message [Karel Zak]
+ - fix fstype caching [Karel Zak]
+ - fix leak in sample program [Karel Zak]
+ - fix memory leak in cache [Karel Zak]
+ - fix mtab update for "none" source [Karel Zak]
+ - fix parsing of mountinfo from 2.6.39 [Karel Zak]
+ - fix some typos and copy&paste mistakes in comments [Petr Uzel]
+ - fix test [Karel Zak]
+ - fix undefined sources [Davidlohr Bueso]
+ - fix uninitialized variable in sample [Karel Zak]
+ - improve apply_fstab debugging [Karel Zak]
+ - keep code more readable for analyzers [coverity scan] [Karel Zak]
+ - merge mtab and utab locking code [Karel Zak]
+ - minor changes in sample program [Karel Zak]
+ - minor fix to mnt_tabdiff_* [Karel Zak]
+ - minor fixes [Karel Zak]
+ - more robust mtab and utab update (CVE-2011-1676, CVE-2011-1677) [Karel Zak]
+ - plug memory leak in sample program [Petr Uzel]
+ - remove 'seclabel' on remount, improve for 2.6.39 [Karel Zak]
+ - remove unnecessary includes, mask API as stable [Karel Zak]
+ - rename in cache.c [Karel Zak]
+ - rename mount option "quiet" to "silent" [Karel Zak]
+ - replace mkostmps() with more portable mkstemp() [Karel Zak]
+ - small lock code cleanup [Karel Zak]
+ - support /run/mount rather than /dev/.mount [Karel Zak]
+ - support NULL source path for mnt_table_find_* functions [Karel Zak]
+ - update list of pseudo-filesystems [Karel Zak]
+ - use chdir() and NOFOLLOW umount flag for umount operation [Karel Zak]
+ - use libmnt_lock for utab flock [Karel Zak]
+ - use mnt_table_get_fs_root() in utab code [Karel Zak]
+libuuid:
+ - __uuid_generate_time() report if clock_seq is safe [Petr Uzel]
+ - do not use invalid file descriptor [Petr Uzel]
+ - fix test in get_clock() [Petr Uzel]
+ - get_clock() report if the clock_seq is safe [Petr Uzel]
+ - introduce uuid_generate_time_safe() [Petr Uzel]
+ - manpage spelling fixes [Petr Uzel]
+ - move __uuid function to UUIDD_PRIVATE in uuid.sym [Karel Zak]
+ - rename uuid__generate_* to __uuid_generate_* [Petr Uzel]
+ - update manpage, mention uuid_generate_time_safe [Petr Uzel]
+logger:
+ - fix variable type compiler warning [Sami Kerola]
+ - improve descriptions on man page, sort the options, add -h and -V [Benno Schulenberg]
+ - improve, sort and slice up usage() help text [Benno Schulenberg]
+ - indent usage() [Karel Zak]
+ - mention long option in logger man page [Sami Kerola]
+ - support for logging to UDP socket / remote syslog server [WUEBBELS, Josef \(Extern\)]
+ - support long options [Sami Kerola]
+ - use libc error printing facilities [Sami Kerola]
+ - use simple apostrophe instead of multibyte char in logger.1 [Petr Uzel]
+login:
+ - cleanup unused variables [Karel Zak]
+ - does not ignore setgid() return code for non-roots [Karel Zak]
+ - fix checktty test to compile with old glibc [Karel Zak]
+ - fix compiler warnings [-Wunused-parameter -Wsign-compare] [Karel Zak]
+ - fix typos in man page [Karel Zak]
+login-utils:
+ - include fix [Sami Kerola]
+look:
+ - add long options [Sami Kerola]
+ - adjust the formatting and some wording of the man page [Benno Schulenberg]
+ - cleanup usage() [Karel Zak]
+ - fix manpage formatting [Petr Uzel]
+losetup:
+ - allow to use --verbose with --all [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - correct qsort compare function [Andreas Schwab]
+ - spelling fixes [Petr Uzel]
+lsblk:
+ - add --pairs to output in key="value" format [Karel Zak]
+ - add TYPE column to lsblk output [Milan Broz]
+ - add note to the man page [Karel Zak]
+ - add queue request size attribute [Milan Broz]
+ - add state attribute [Milan Broz]
+ - add support for discard topology (-D option) [Martin K. Petersen]
+ - bitwise or TT_FL_ASCII with tt_flags instead of setting [Dave Reisner]
+ - correct mistaken word [Benno Schulenberg]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - fix readlink() usage [Karel Zak]
+ - fix strtoul() usage [coverity scan] [Karel Zak]
+ - ignore device if disappear while processing [Milan Broz]
+ - improve discard support [Martin K. Petersen]
+ - use generic sysfs functions [Karel Zak]
+ - use ssize_t for readlink() return code [Karel Zak]
+ - use sysfs_read_u64() rather than sysfs_strdup() + atol() [Karel Zak]
+lscpu:
+ - add support for books [Heiko Carstens]
+ - cleanup usage() [Karel Zak]
+ - detect VMware hypervisor [Stephen Hemminger]
+ - detect sun4{u,v} in /proc/cpuinfo for sparc64 [Karel Zak]
+ - extend --parse functionality [Karel Zak]
+ - fix bogomips detection for s390 [Heiko Carstens]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - fix op-mode for /{sys,proc} dumps [Karel Zak]
+ - fix threads-per-core calculation [Karel Zak]
+ - use xalloc [Davidlohr Bueso]
+ - use xstrdup from xalloc.h [Petr Uzel]
+mcookie:
+ - change coding style [Sami Kerola]
+ - cleanup usage() [Karel Zak]
+ - use warnx, long options and help screen [Sami Kerola]
+md5:
+ - use symbolical digest length [Sami Kerola]
+mesg:
+ - add \n to usage() output [Karel Zak]
+ - add long options to the man page [Sami Kerola]
+ - cleanup usage() [Karel Zak]
+ - man page clean wqup [Karel Zak]
+ - new --verbose option [Sami Kerola]
+ - use long options, also --help and --version added [Sami Kerola]
+minix:
+ - add MINIX_ prefix to some global macros [Karel Zak]
+ - add common functionality [Davidlohr Bueso]
+ - add version 3 layout [Davidlohr Bueso]
+ - cleanup global variables and macros [Karel Zak]
+ - fix warning [Davidlohr Bueso]
+ - move globals and inline functions to minix_programs.h [Sami Kerola]
+ - remove fs state [Davidlohr Bueso]
+ - remove unnecessary initializations [Karel Zak]
+misc:
+ - hurd build fixes [Samuel Thibault]
+ - use unsigned int for bit-fileds [Karel Zak]
+misc-utils:
+ - remove misleading README files [Sami Kerola]
+mkfs:
+ - add long options [Sami Kerola]
+ - coding style fixes [Sami Kerola]
+ - fix small formatting issues in man page [Benno Schulenberg]
+ - include-what-you-use header check [Sami Kerola]
+mkfs.bfs:
+ - add long options [Sami Kerola]
+ - cleanu p --version output [Karel Zak]
+ - coding style fix [Sami Kerola]
+ - include-what-you-use header check [Sami Kerola]
+ - use err() instead of errx() [Karel Zak]
+ - use libc error facilities [Sami Kerola]
+ - use xstrdup from xalloc.h [Sami Kerola]
+ - validate numeric user inputs [Sami Kerola]
+mkfs.cramfs:
+ - clearer error message, "cannot close" instead of "closing" [Benno Schulenberg]
+ - coding style [Sami Kerola]
+ - convert spaces to tabs [Sami Kerola]
+ - error printing fixes [Sami Kerola]
+ - few symbolic exit codes where missing [Sami Kerola]
+ - include-what-you-use header check [Sami Kerola]
+ - use program_invocation_short_name [Sami Kerola]
+ - use xalloc.h [Sami Kerola]
+ - validate numeric user inputs [Sami Kerola]
+mkfs.minix:
+ - add fs version options [Davidlohr Bueso]
+ - add minix v3 support [Davidlohr Bueso]
+ - check for misalignment [Davidlohr Bueso]
+ - document -3 option [Davidlohr Bueso]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - fix write_all() usage [Karel Zak]
+ - general cleanups [Davidlohr Bueso]
+ - remove die() [Davidlohr Bueso]
+ - standardize superblock attribute settings [Davidlohr Bueso]
+ - use common functionality [Davidlohr Bueso]
+ - use inode wrappers [Davidlohr Bueso]
+mkswap:
+ - Use c.h [maximilian attems]
+ - add alignment check [Davidlohr Bueso]
+ - coding style unification [Sami Kerola]
+ - fix compiler warning [Karel Zak]
+ - fix to compiler warnings [Sami Kerola]
+ - support long options and check user inputs [Sami Kerola]
+ - use EXIT_ values [Sami Kerola]
+ - use libc error messaging facilities [Sami Kerola]
+ - use xalloc [Sami Kerola]
+more:
+ - new usage output, and some trivial fixes [Sami Kerola]
+mount:
+ - -a segfaults when 4th field is omitted (mount options) [Karel Zak]
+ - add note about blank lines to fstab.5 [Karel Zak]
+ - add phelper= [Karel Zak]
+ - add ufstype=ufs2 to mount.8 [Karel Zak]
+ - canonicalize fstab mnt_dir [Karel Zak]
+ - first look for mountpoint [Karel Zak]
+ - fix compiler warnings [-Wsign-compare -Wunused-parameter] [Karel Zak]
+ - fix double free in mount.c with SELinux enabled [Kirill Elagin]
+ - fix reference to sharedsubtree documentation in mount.8 [Mike Hommey]
+ - fix typo in mount.8 [Petr Uzel]
+ - fix typos in mount.8 [Nicolas Francois]
+ - make the error message clear [Petr Uzel]
+ - mount.8 remove reprecated bh/nobh options from the manual page [Lukas Czerner]
+ - remove 'seclabel' mount option on remount [Karel Zak]
+ - remove accidental extra word in ext4 documentation in mount.8 [Petr Uzel]
+ - remove note about obsolete volume_id library from man page [Karel Zak]
+ - rename "quiet" to "silent" (MS_SILENT) [Karel Zak]
+ - update mtab on "-f" and compiled with libmount [Karel Zak]
+ - use fflush() and temporary file for mtab updates (CVE-2011-1089) [Karel Zak]
+ - use libmount to detect already mounted bind mounts [Karel Zak]
+ - use lock from mnt_update_table() [Karel Zak]
+mountpoint:
+ - add new command [Karel Zak]
+ - cleanup usage() [Karel Zak]
+namei:
+ - add --version option [Sami Kerola]
+ - cleanup usage() [Karel Zak]
+ - fix to argument handling [Sami Kerola]
+ - remove unused variable [Karel Zak]
+ - use xalloc.h [Sami Kerola]
+partx:
+ - add --pairs to output in key="value" format [Karel Zak]
+ - add fallback for openat() to be usable on old systems [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - do not print null [Davidlohr Bueso]
+ - get partition number with sysfs lib [Davidlohr Bueso]
+ - improve clarity of some messages, gettextize two missed ones [Benno Schulenberg]
+ - remove unused headers [Davidlohr Bueso]
+ - switch on localization [Benno Schulenberg]
+ - trivial comment fix [Davidlohr Bueso]
+ - use lowercase in usage() [Karel Zak]
+ - use sysfs_deinit [Davidlohr Bueso]
+partx, lsblk:
+ - fix gettext calls [Karel Zak]
+pg:
+ - fix compiler warnings [-Wunused-result] [Karel Zak]
+ - fix write_all() usage [Karel Zak]
+ - normalize formatting of the man page, and tweak some of its wording [Benno Schulenberg]
+ - return value warning fix [Sami Kerola]
+ - use size_t for wcstombs() return code [Sami Kerola]
+po:
+ - also extract plural messages from the C files [Benno Schulenberg]
+ - change MSGID_BUGS_ADDRESS [Karel Zak]
+ - do not search /samples/ subdirectories for translatable strings [Benno Schulenberg]
+ - merge changes [Karel Zak]
+ - update cs.po (from translationproject.org) [Petr PĂ­saĹ™]
+ - update da.po (from translationproject.org) [Joe Hansen]
+ - update de.po (from translationproject.org) [Philipp Thomas]
+ - update fr.po (from translationproject.org) [David Prévot]
+ - update ja.po (from translationproject.org) [Takeshi Hamasaki]
+ - update nl.po (from translationproject.org) [Benno Schulenberg]
+ - update pl.po (from translationproject.org) [Jakub Bogusz]
+procutils:
+ - include missing header [Davidlohr Bueso]
+raw:
+ - remove constants from message strings; undo some abbrevs [Benno Schulenberg]
+readprofile:
+ - don't stop parsing at __init_end [Po-Yu Chuang]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+rename:
+ - cleanup usage() [Karel Zak]
+ - verbose option & maintenance fixes [Sami Kerola]
+renice:
+ - cleanup usage() [Karel Zak]
+rev:
+ - mark signo unused in sig_handler [Sami Kerola]
+ - memory leak fix [Sami Kerola]
+ - mention long options in man page [Sami Kerola]
+ - option parsing bug fixed & long options added [Sami Kerola]
+ - use xrealloc from xalloc.h [Sami Kerola]
+rtcwake:
+ - cleanup usage() [Karel Zak]
+ - do not duplicate argument strings [Davidlohr Bueso]
+ - test for available suspend modes [Lawrence Rust]
+script:
+ - cleanup usage() [Karel Zak]
+ - don't include err.h directly [Karel Zak]
+ - fix compiler warnings [Sami Kerola]
+ - include-what-you-use header check [Sami Kerola]
+ - indicate that the file argument to --timing is optional [Benno Schulenberg]
+ - inform about long options in script manual page [Sami Kerola]
+ - normalize formatting of the man page [Benno Schulenberg]
+ - option --force added [Sami Kerola]
+ - optional timing output file argument added [Sami Kerola]
+ - remove magic constants and a type mismatch fix [Sami Kerola]
+ - remove unnecessary void casting [Sami Kerola]
+ - support for long options [Sami Kerola]
+ - use libc error printing facilities [Sami Kerola]
+scriptreplay:
+ - allow arguments as command line switches [Sami Kerola]
+ - bug in argument check [Sami Kerola]
+ - cleanup usage() [Karel Zak]
+ - end printing with new line [Sami Kerola]
+ - fix buffer overflow [Sami Kerola]
+ - improve synopsis and formatting and wording in man page [Benno Schulenberg]
+ - support long options [Sami Kerola]
+setarch:
+ - add --uname-2.6 option for personality flag UNAME26 [Ben Hutchings]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+setterm:
+ - add note about long dump file paths to man page [Sami Kerola]
+ - cleanup usage() [Karel Zak]
+ - fix variable types, and unused argument warnings [Sami Kerola]
+ - function screendump coding style fixed [Sami Kerola]
+ - mention in man setterm.1 -version and -help switches [Sami Kerola]
+ - segfault with long dump file name [Sami Kerola]
+ - support -help and -version options [Sami Kerola]
+ - use libc error printing facilities [Sami Kerola]
+ - use xmalloc() [Karel Zak]
+sfdisk:
+ - (man page) use comma between short and long option instead of "or" [Benno Schulenberg]
+ - correct '--inside-order' to '--inside-outer' in documentation [Benno Schulenberg]
+ - declare unused function attributes [Sami Kerola]
+ - fix coding style. [Karel Zak]
+ - fix for data type mismatches [Sami Kerola]
+ - fix implicit overflow [Sami Kerola]
+ - fix typo in man page [Karel Zak]
+ - gettextize each warning as a whole [Benno Schulenberg]
+ - help screen format [Sami Kerola]
+ - improve descriptions of options --no-reread and --show-extended [Benno Schulenberg]
+ - indent usage() [Karel Zak]
+ - make some tests conditional to !Linux [Giulio Orsero]
+ - previously undocumented options to usage [Sami Kerola]
+ - remove inconsistent and wasteful newlines in the _() calls [Benno Schulenberg]
+ - rename warn to my_warn [Fabian Groffen]
+ - returns non-zero on failed BLKRRPART ioctl [Andrea Galbusera]
+ - slice help text into small chunks and improve its wording [Benno Schulenberg]
+simpleinit:
+ - remove this deprecated set of utils [Karel Zak]
+strutils:
+ - new wrapper function strtoll_or_err [Sami Kerola]
+swaplabel:
+ - fix compiler warnings [-Wunused-parameter] [Karel Zak]
+swapon:
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - missing separator in swapon -s command [Karel Zak]
+ - rewrite usage() [Karel Zak]
+ - use xalloc lib [Davidlohr Bueso]
+sysfs:
+ - free used resources [Davidlohr Bueso]
+tailf:
+ - fix memmove() usage [Karel Zak]
+ - fix open() return value check [coverity scan] [Karel Zak]
+ - harmonize option argument and explanation in usage message [Benno Schulenberg]
+ - support --lines 0 [Karel Zak]
+ - tailf mention new help & version options in man page [Sami Kerola]
+ - use long options [Sami Kerola]
+taskset:
+ - adjust style of man page [Benno Schulenberg]
+ - coding style fixes [Sami Kerola]
+ - include-what-you-use header check [Sami Kerola]
+ - make threads aware [Davidlohr Bueso]
+ - use xalloc lib [Davidlohr Bueso]
+test_sysinfo:
+ - Use CHAR_BIT*sizeof(void*) instead of __WORDSIZE. [Josiah Worcester]
+ - fix printf format [Karel Zak]
+tests:
+ - [cpuset] call free() for range [Karel Zak]
+ - add 'none' source to libmount update tests [Karel Zak]
+ - add -o remount to libmount tests [Karel Zak]
+ - add colrm basic test [Sami Kerola]
+ - add column tests [Sami Kerola]
+ - add dump from PPC64 to lscpu tests [Karel Zak]
+ - add dump from UltraSparc T1 to lscpu tests [Karel Zak]
+ - add dump from huge ia64 to lscpu tests [Karel Zak]
+ - add lscpu dumps from three Dell's & a Xen [Sami Kerola]
+ - add mount(8) test for fstab entries without options [Karel Zak]
+ - add test for RLIMIT_FSIZE issue [Karel Zak]
+ - add tests for [u]mount regular file [Karel Zak]
+ - don't run mount/regfile test on old kernel [Karel Zak]
+ - fix compiler warnings [-Wunused-parameter] [Karel Zak]
+ - grammar fixes [Davidlohr Bueso]
+ - remove generated file [Karel Zak]
+ - test column(1) with multiple input files [Karel Zak]
+ - update GPT test [Karel Zak]
+ - update blkid MD test [Karel Zak]
+ - update for recent fdisk changes [Karel Zak]
+ - update libmount tests (add optstr output) [Karel Zak]
+ - update lscpu tests [Karel Zak]
+ - use libmount tab update tests for UID=0 only [Karel Zak]
+textual:
+ - add some guiding comments for translators [Benno Schulenberg]
+ - fix three typos in message strings and improve consistency [Benno Schulenberg]
+ - improve the wording of some error and usage messages [Benno Schulenberg]
+ - tweak several manpages, mainly the blkid one [Benno Schulenberg]
+ttymsg:
+ - fix compiler warnings and use EXIT_ [Sami Kerola]
+tunelp:
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ul:
+ - add -h and -V to the man page; use "file" and lowercase [Benno Schulenberg]
+ - in usage() not overwriting but overriding is meant [Benno Schulenberg]
+ - make usage() say that more than one input file is allowed [Benno Schulenberg]
+ - remove superfluous return as usage() does not return [Benno Schulenberg]
+ul.c:
+ - close files and free memory after usage [Sami Kerola]
+ - code style and comment fixes [Sami Kerola]
+ - convert definition to function [Sami Kerola]
+ - escape handling refactored [Sami Kerola]
+ - fix compier warnings [Sami Kerola]
+ - magic constant removal [Sami Kerola]
+ - use long options [Sami Kerola]
+ - warn user when command chooses term type [Sami Kerola]
+umount:
+ - allow unmounting loopdev specified by associated file [Petr Uzel]
+ - block signals when umounting and updating mtab (CVE-2011-1676, CVE-2011-1677) [Karel Zak]
+ - do not hang with disconnected NFS mounts [Petr Uzel]
+ - segfaults with inconsistent entry in /etc/fstab [Karel Zak]
+ - support non-canonical devnames in mtab [Karel Zak]
+ - use UMOUNT_NOFOLLOW for non-root users [Karel Zak]
+ - use helper= for all UIDs [Karel Zak]
+unshare:
+ - cleanup usage() [Karel Zak]
+uuidd:
+ - (man page) alphabetize the options [Benno Schulenberg]
+ - (man page) repair the snipped up description of option -T [Benno Schulenberg]
+ - add "-q" to synopsis, order options alphabetically [Benno Schulenberg]
+ - cleanup usage() [Karel Zak]
+ - coding style fixes [Sami Kerola]
+ - die() function removed [Sami Kerola]
+ - distinguish between singular and plural in three messages [Benno Schulenberg]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - fix manpage libuuid(3) does not exist [Petr Uzel]
+ - long options & new usage [Sami Kerola]
+ - remove goto statement [Sami Kerola]
+ - use symbolic exit and return values [Sami Kerola]
+uuidgen:
+ - add long options [Sami Kerola]
+ - cleanup usage() [Karel Zak]
+vipw:
+ - (man page) uniformize header and footer, tweak the formatting [Benno Schulenberg]
+wall:
+ - add long options and 79 char cut info to the man page [Sami Kerola]
+ - build with SUID_{C,LD}FLAGS [Petr Uzel]
+ - cleanup mbufsize usage [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - remove global variables and support TMPDIR [Sami Kerola]
+ - support --timeout switch [Sami Kerola]
+ - support --timeout switch (vol 2.) [Karel Zak]
+ - use long options [Sami Kerola]
+whereis:
+ - cleanup usage() [Karel Zak]
+ - coding style [Sami Kerola]
+ - new usage output & version printing [Sami Kerola]
+ - remove find() [Davidlohr Bueso]
+ - remove goto statements [Sami Kerola]
+ - update coding style [Davidlohr Bueso]
+ - warnings, exit values, braces and returns [Sami Kerola]
+wipefs:
+ - add version printing & compiler warning [Sami Kerola]
+ - change option -v to -V for --version; add it to man page [Benno Schulenberg]
+ - gettextize one sentence as a whole [Benno Schulenberg]
+write:
+ - cleanup usage() [Karel Zak]
+ - long options & new usage [Sami Kerola]
+ - maintenance fixes [Sami Kerola]
+ - remove inconsistent periods from two error messages [Benno Schulenberg]
+
+- cleanup usage() [Karel Zak]
+- long options & new usage [Sami Kerola]
+- maintenance fixes [Sami Kerola]
+- remove inconsistent periods from two error messages [Benno Schulenberg]
diff --git a/Documentation/releases/v2.21-ReleaseNotes b/Documentation/releases/v2.21-ReleaseNotes
new file mode 100644
index 0000000..ea0b559
--- /dev/null
+++ b/Documentation/releases/v2.21-ReleaseNotes
@@ -0,0 +1,979 @@
+Util-linux 2.21 Release Notes
+=============================
+
+ The udev compatible output (-o udev) from blkid(8) is deprecated. Udev
+ links directly to libblkid now.
+
+Release highlights
+------------------
+
+chcpu(8):
+ - this NEW COMMAND can modify the state of CPUs, enable or disable CPUs,
+ scan for new CPUs, change the CPU dispatching mode of the underlying
+ hypervisor, and request CPUs from the hypervisor (configure) or return CPUs to
+ the hypervisor (deconfigure).
+
+prlimit(1):
+ - this NEW COMMAND is very smart command line interface to prlimit(2)
+ syscall and allows to get and set a process resource limits. It's much
+ more flexible than old shell built-in ulimit(1).
+
+login(1):
+ - the command has been rewritten, features:
+ * strictly PAM-only, another authentication method is unsupported
+ * compatible with Suse login(1)
+ * supports /etc/login.defs(5) config file
+
+losetup(8):
+ - the command has been rewritten, features:
+ * requires kernel >= 2.6
+ * supports 64bit ioctls only
+ * losetup -a does not require root permissions (kernel >= 2.6.37)
+ * uses new /dev/loop-control kernel API (kernel >= 3.1)
+ * supports new command line option --partscan to enable kernel partition
+ table parser
+
+mount(8), umount(8):
+ - new pure libmount based mount(8) and umounts(8) commands are available,
+ this experimental implementation could be enabled by --enable-new-mount
+
+agetty(8):
+ - supports new command line options --nohints to disable hints about Num,
+ Caps and Scroll Locks
+ - supports new command line option --remote to add a hostname to the
+ login(1) command line
+
+dmesg(1):
+ - supports new command line options --file to read the log from a file rather
+ than from kernel buffer
+
+fallocate(8):
+ - supports new command line options --punch-hole to punch holes in the file
+
+findmnt(8):
+ - supports alternative location of the fstab file
+
+ipcrm(8):
+ - supports new command line option --all to remove all resources
+
+lscpu(1):
+ - supports new command line options --all, --offline and --online to list
+ all, offline or online CPUs
+ - supports s390 topology description (polarization, books, ...)
+
+partx(8):
+ - supports partitioned loop devices (note that since kernel 3.2 partitioned
+ loop devices are usable everywhere (including Fedora))
+
+wipefs(8):
+ - allows to zap partition tables
+ - supports new command line option "--type <list>" to wipe only specified
+ filesystems, RAIDs or partition table types
+
+libblkid:
+ - provides new function blkid_do_wipe() to remove all signatures from the
+ given block device. This new functionality is used in wipefs(8) and
+ mkswap(8). It's recommended to use this function in mkfs-like programs.
+
+
+Stable maintenance releases between v2.20 and v2.21
+---------------------------------------------------
+
+util-linux 2.20.1 [20-Oct-2011]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20.1-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20.1-ChangeLog
+
+
+Changes between v2.20 and v2.21
+-------------------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/
+
+agetty:
+ - add --nohints [Karel Zak]
+ - add static and const qualifiers [Francesco Cosoleto]
+ - check localtime() result [Karel Zak]
+ - don't use log_err() for non-fatal errors [Karel Zak]
+ - double equals sign typo in opentty() [Karel Zak]
+ - map NL to CR-NL on output in initial termiossettings [Jacoby Hickerson]
+ - pass hostname to login(1) [Karel Zak]
+ - test ECHO on c_lflag [Karel Zak]
+arch:
+ - minor changes to usage() [Karel Zak]
+ - start using arch as a usage() example [Sami Kerola]
+blkdev:
+ - add is_blkdev function [Davidlohr Bueso]
+blkid:
+ - add comment to keep static analysers happy [Karel Zak]
+ - check fd before use [coverity scan] [Karel Zak]
+ - fix unfinished sentence for -l option in blkid.8 [Dave Reisner]
+ - move cache to /run on new systems [Karel Zak]
+ - potential null derefence [smatch scan] [Karel Zak]
+ - print ID_PART_ENTRY_* for small devices [Karel Zak]
+ - remove -w option from man page and usage() output [Karel Zak]
+ - remove dead assigment [Karel Zak]
+blockdev:
+ - make functions static [Wanlong Gao]
+ - make the code more readable for static analysers [Karel Zak]
+ - remove non-ANSI function declaration [smatch scan] [Karel Zak]
+build-sys:
+ - add --enable-most-builds [Sami Kerola]
+ - add --enable-new-mount [Karel Zak]
+ - add UL_BUILD_INIT macro [Karel Zak]
+ - add UL_REQUIRES_* macros [Karel Zak]
+ - add changelog target [Karel Zak]
+ - add checksmatch target [Karel Zak]
+ - add checkxalloc to toplevel Makefile [Karel Zak]
+ - add err and errx to smatch no_return_funcs [Karel Zak]
+ - add ko-release-gen script [Karel Zak]
+ - add ko-release-push script [Karel Zak]
+ - add log_err to smatch non-return functions [Karel Zak]
+ - add missing BUILD_PRLIMIT [Karel Zak]
+ - add missing headers to dist [Sami Kerola]
+ - add path.h to Makefile.am [Karel Zak]
+ - add sleepexit from login.c to smatch non-return functions [Karel Zak]
+ - add smatch data [Karel Zak]
+ - add tools/ to EXTRA_DIST [Karel Zak]
+ - add tools/config-gen and basic compilation scenarios [Karel Zak]
+ - check HAVE_ definitions with #ifdef [smatch scan] [Sami Kerola]
+ - check scanf %ms modifier [Karel Zak]
+ - cleanup BUILD_ARCH [Karel Zak]
+ - cleanup BUILD_CRAMFS [Karel Zak]
+ - cleanup BUILD_ELVTUNE [Karel Zak]
+ - cleanup BUILD_FALLOCATE [Karel Zak]
+ - cleanup BUILD_FSCK [Karel Zak]
+ - cleanup BUILD_HWCLOCK [Karel Zak]
+ - cleanup BUILD_KILL, enable kill(1) by default [Karel Zak]
+ - cleanup BUILD_LIBMOUNT [Karel Zak]
+ - cleanup BUILD_LOGIN_UTILS [Karel Zak]
+ - cleanup BUILD_LSBLK [Karel Zak]
+ - cleanup BUILD_MOUNT [Karel Zak]
+ - cleanup BUILD_MOUNTPOINT [Karel Zak]
+ - cleanup BUILD_PARTX [Karel Zak]
+ - cleanup BUILD_PIVOT_ROOT [Karel Zak]
+ - cleanup BUILD_RAW [Karel Zak]
+ - cleanup BUILD_SCHEDUTILS [Karel Zak]
+ - cleanup BUILD_SWITCH_ROOT [Karel Zak]
+ - cleanup BUILD_UNSHARE [Karel Zak]
+ - cleanup BUILD_UUIDD [Karel Zak]
+ - cleanup BUILD_{DDATE,AGETTY} [Karel Zak]
+ - cleanup BUILD_{LAST,LINE,MESG} [Karel Zak]
+ - cleanup BUILD_{LS,CH}CPU [Karel Zak]
+ - cleanup BUILD_{RENAME,RESET} [Karel Zak]
+ - cleanup BUILD_{WALL,WRITE} [Karel Zak]
+ - cleanup HAVE_LIBCRYPT [Karel Zak]
+ - cleanup misc-utils/Makefile.am [Karel Zak]
+ - ddate typo fixed [Sami Kerola]
+ - don't install ru/ddate.1 if ddate disabled [Karel Zak]
+ - don't use full paths for smatch [Karel Zak]
+ - enable .xz, disable .gz [Karel Zak]
+ - enhance error message for missing libtoolize [Sami Kerola]
+ - fix UL_INIT_BUILD macro [Karel Zak]
+ - fix building of wall [Petr Uzel]
+ - fix libuuid initialization [Karel Zak]
+ - fixes to USAGE_* macros [Sami Kerola]
+ - improve changelog target [Karel Zak]
+ - improve ko-release-* scripts [Karel Zak]
+ - move --enable-lib{mount,uuid,blkid} before others --enable-* [Karel Zak]
+ - move --with-* before --enable-* [Karel Zak]
+ - move gettext check before --enable-* [Karel Zak]
+ - move structs, types, descs checks before --enable-* [Karel Zak]
+ - move swapon from mount/ to sys-utils/ [Karel Zak]
+ - move type checks before --enable-* [Karel Zak]
+ - release++ (v2.21-rc1) [Karel Zak]
+ - release++ (v2.21-rc2) [Karel Zak]
+ - remove redundant __progname check [Karel Zak]
+ - remove redundant flags from mount/Makefile.am [Karel Zak]
+ - remove unnecessary perl check [Karel Zak]
+ - rename BUILD_BUG_ON_ZERO definition [Sami Kerola]
+ - rename and move macros [Karel Zak]
+ - require PAM for login-utils [Karel Zak]
+ - suport static build for new [u]mount [Karel Zak]
+ - use $(MAKE) for checksmatch [Karel Zak]
+ - use $build_libblkid [Karel Zak]
+ - use --enable-most-builds for distcheck [Karel Zak]
+cal:
+ - non-ANSI definition [smatch scan] [Karel Zak]
+cfdisk:
+ - add note about alignment to the man page [Karel Zak]
+ - wctomb() returns -1 on error [Karel Zak]
+chcpu:
+ - check get_max_number_of_cpus() result properly [Karel Zak]
+ - convert to use lib/path.c [Heiko Carstens]
+ - man page update [Heiko Carstens]
+ - new tool [Heiko Carstens]
+ - provide better user feedback [Heiko Carstens]
+ - use appropriate variable type [cppcheck] [Sami Kerola]
+chcpu,cpuset:
+ - reduce code duplication for cpu list parsing [Heiko Carstens]
+chfn:
+ - align with howto-usage-function.txt [Sami Kerola]
+ - fix coding style [Sami Kerola]
+ - fix use-after-free [coverity scan] [Karel Zak]
+ - remove non-ANSI definitions [smatch scan] [Karel Zak]
+ - remove non-PAM code [Karel Zak]
+ - use libc error printing facilities [Sami Kerola]
+chfn, chsh:
+ - new file pamfail.h for error printing [Sami Kerola]
+chfn, chsh, setpwnam:
+ - get true/false from stdbool.h [Sami Kerola]
+chfn, setpwnam:
+ - let config.h be in control of extensions in use [Sami Kerola]
+chrt:
+ - add comment to keep static analysers happy [Karel Zak]
+chsh:
+ - align with howto-usage-function.txt [Sami Kerola]
+ - build bug do not override config.h definition [Sami Kerola]
+ - fix coding style [Sami Kerola]
+ - remove non-PAM code [Karel Zak]
+ - use libc error printing facilities [Sami Kerola]
+column:
+ - avoid memory overrun and/or use of uninitialized buffer [Jim Meyering]
+ - don't check result from xmalloc() [Karel Zak]
+ - fix error reported by smatch [Sami Kerola]
+ - use xalloc libs [Dave Reisner]
+cpuset:
+ - add option to allow cpulist_parse() to fail [Heiko Carstens]
+ctrlaltdel:
+ - add version & help options [Sami Kerola]
+ - minor changes to usage() [Karel Zak]
+cytune:
+ - add long options and usage() [Sami Kerola]
+ - check numeric user inputs [Sami Kerola]
+ - coding style fixes [Sami Kerola]
+ - cytune.8 fix formatting [Petr Uzel]
+ - fix printf type warning [Sami Kerola]
+ - refactor main(), new function query_tty_stats() [Sami Kerola]
+ - use libc error printing facilities [Sami Kerola]
+dmesg:
+ - add --file option [Karel Zak]
+ - fix for non-CONFIG_PRINTK_TIME kernels [Karel Zak]
+ - fix non-ANSI function declaration [smatch scan] [Karel Zak]
+ - fix printing of multibyte characters [Petr Uzel]
+ - remove extra space only after time stamp [Karel Zak]
+do:
+ - fix czech LABEL= translation [Karel Zak]
+docs:
+ - add debugging doc [Davidlohr Bueso]
+ - Documentation directory added [Sami Kerola]
+ - add --version to setarch.8 [Sami Kerola]
+ - add howto-build-sys.txt [Karel Zak]
+ - add hwclock -c to TODO file [Karel Zak]
+ - add info about virt-what to TODO [Karel Zak]
+ - add libmount & libblkid debug instructions [Sami Kerola]
+ - add long options to ipcmk.1 man page [Sami Kerola]
+ - add long options to ipcrm.1 man page [Sami Kerola]
+ - add long options to ipcs.1 man page [Sami Kerola]
+ - add long options to readprofile.8 [Sami Kerola]
+ - add long options to tunelp.8 [Sami Kerola]
+ - add non-return function and if shorthand tips [Sami Kerola]
+ - add note about BUILD_* macros [Karel Zak]
+ - add note about config-gen purpose [Karel Zak]
+ - add note about fdisk to TODO [Karel Zak]
+ - add note about losetup to TODO [Karel Zak]
+ - add note about mount(8) options to TODO [Karel Zak]
+ - add notes about tools/config-gen [Karel Zak]
+ - add prlimit to the TODO file [Karel Zak]
+ - add usage() howto for contributors [Sami Kerola]
+ - add v2.21 ReleaseNotes [Karel Zak]
+ - add x-mount-mkdir to TODO file [Karel Zak]
+ - align col.1 with howto-man-page.txt [Sami Kerola]
+ - align colcrt.1 with howto-man-page.txt [Sami Kerola]
+ - align colrm.1 with howto-man-page.txt [Sami Kerola]
+ - align fallocate.1 with howto-man-page.txt [Sami Kerola]
+ - align hexdump.1 with howto-man-page.txt [Sami Kerola]
+ - align logger.1 with howto-man-page.txt [Sami Kerola]
+ - align more.1 with howto-man-page.txt [Sami Kerola]
+ - align renice.1 with howto-man-page.txt [Sami Kerola]
+ - align rev.1 with howto-man-page.txt [Sami Kerola]
+ - align script.1 with howto-man-page.txt [Sami Kerola]
+ - align scriptreplay.1 with howto-man-page.txt [Sami Kerola]
+ - align tunelp.8 with howto-man-page.txt [Sami Kerola]
+ - align ul.1 with howto-man-page.txt [Sami Kerola]
+ - align vipw.8 with howto-man-page.txt [Sami Kerola]
+ - align wall.1 with howto-man-page.txt [Sami Kerola]
+ - chcpu and readprofile are sysadmin utils [Sami Kerola]
+ - clean up old readme files [Sami Kerola]
+ - copy contributors from legacy files to AUTHORS [Sami Kerola]
+ - fix return value table in fsck.8 [Sami Kerola]
+ - mention long options in ctrlaltdel.8 [Sami Kerola]
+ - mention long options in cytune.8 [Sami Kerola]
+ - mention long options in pivot_root.8 [Sami Kerola]
+ - move setuid information from reame to hwclock.8 [Sami Kerola]
+ - new file Documentation/howto-compilation.txt [Sami Kerola]
+ - new file Documentation/howto-contribute.txt [Sami Kerola]
+ - new file Documentation/howto-man-page.txt [Sami Kerola]
+ - new file Documentation/release-schedule.txt [Sami Kerola]
+ - new file Documentation/source-code-management.txt [Sami Kerola]
+ - note about independent super block structs [Sami Kerola]
+ - refresh TODO file [Karel Zak]
+ - remove README.clear [Sami Kerola]
+ - remove URL to u-l webpage [Karel Zak]
+ - remove duplicated text [Sami Kerola]
+ - require kernel support before accepting use of it [Sami Kerola]
+ - restructure flock.1 manual page [Sami Kerola]
+ - tell what the Documentation/ is about [Sami Kerola]
+ - trivial documentation fixes and improvements [Petr Uzel]
+ - update AUTHORS file [Karel Zak]
+ - update TODO [Karel Zak]
+ - update TODO [Petr Uzel]
+ - update TODO file [Davidlohr Bueso]
+ - update TODO file [Karel Zak]
+ - update copyright years [Karel Zak]
+ - update v2.21-ReleaseNotes [Karel Zak]
+ - use .LGPL extension for file with GNU Lesser License [Karel Zak]
+ - use correct translation project url [Sami Kerola]
+fallocate:
+ - add FALLOC_FL_PUNCH_HOLE support [Cong Wang]
+ - clean up fallbacks for FALLOC_FL_* flags [Karel Zak]
+fdformat:
+ - fix uninitialized variable [Francesco Cosoleto]
+fdisk:
+ - Fix bad invalid flag 0x00000 warning message [Francesco Cosoleto]
+ - add missing break [Karel Zak]
+ - avoid an intermediate variable in command_prompt() [Francesco Cosoleto]
+ - avoid segfault validating a sgi label (boot/swap not set) [Francesco Cosoleto]
+ - don't shorten long path to disk device [Karel Zak]
+ - don't swap unsigned char [Karel Zak]
+ - don't use get_existing_partition() if disk label isn't dos [Francesco Cosoleto]
+ - drop one parameter from try() function [Francesco Cosoleto]
+ - enable expert menu with SGI label [Francesco Cosoleto]
+ - fix cdrom detection [Karel Zak]
+ - fix incorrect position of is_ide_cdrom_or_tape() call [Francesco Cosoleto]
+ - fix last sector dialog bug after an incorrect input with suffix [Francesco Cosoleto]
+ - fix poor coding style [Karel Zak]
+ - get rid of get_boot(create_empty_sun) call [Francesco Cosoleto]
+ - get rid of type_open global variable [Francesco Cosoleto]
+ - improve some messages [Francesco Cosoleto]
+ - move code for renaming SGI bootfile to SGI module [Francesco Cosoleto]
+ - move command prompt code to a separate function [Francesco Cosoleto]
+ - print a message with size and type of created partition [Francesco Cosoleto]
+ - print partition deleted message [Francesco Cosoleto]
+ - print welcome message [Francesco Cosoleto]
+ - remove PACKED macro [Karel Zak]
+ - remove possibly_osf_label variable that is only assigned [Francesco Cosoleto]
+ - remove redundant declaration [cppcheck] [Sami Kerola]
+ - remove uneecessary code [Karel Zak]
+ - remove unused 'require' member in enum action [Francesco Cosoleto]
+ - remove unused guess_device_type() function [Francesco Cosoleto]
+ - rename bselect, xselect functions [Francesco Cosoleto]
+ - rename read_int_sx() and some related variables [Francesco Cosoleto]
+ - rename try() and tryprocpt() functions [Francesco Cosoleto]
+ - rewrite print menu system [Francesco Cosoleto]
+ - split delete_partition() off from dos_delete_partition() [Francesco Cosoleto]
+ - update information about GNU Parted in fdisk.8 [Petr Uzel]
+ - use CDROM_GET_CAPABILITY ioctl [Davidlohr Bueso]
+ - use ngettext() in str_units() for plural forms [Francesco Cosoleto]
+findmnt:
+ - add note about LIBMOUNT_* env.variables [Karel Zak]
+ - fix resource leak [coverity scan] [Karel Zak]
+ - initialize rc variable [Karel Zak]
+ - make --poll more robust [Karel Zak]
+ - revert --fstab behavior, add --tab-file option [Karel Zak]
+ - support alternative location of fstab [Dave Reisner]
+ - support multiple --tab-file options [Karel Zak]
+ - use warnx for libmnt error callback [Dave Reisner]
+flock:
+ - add missing word »be« to flock.1 [Paul Menzel]
+ - align with howto-usage-function.txt [Sami Kerola]
+ - fix coding style [Sami Kerola]
+ - fix flock.1 grammar by removing »s« [Paul Menzel]
+ - fix sizeof usage [clang -Wsizeof-pointer-memaccess] [Karel Zak]
+ - make flock(1) work on NFSv4 [Michal Kubecek]
+ - move long_options struct to function scope [Sami Kerola]
+ - simplify strtotimeval() [Sami Kerola]
+ - timer code refactoring [Karel Zak]
+ - use O_RDWR as fallback if O_RDONLY returns EIO [Karel Zak]
+ - use function attributes [Sami Kerola]
+ - use libc error printing facilities [Sami Kerola]
+ - use strutils.h to check numeric user input [Sami Kerola]
+ - use sysexit.h for all exit values [Sami Kerola]
+fsck:
+ - make fs->type usage more robust [smatch scan] [Karel Zak]
+ - use FS blacklist for non-all mode too [Karel Zak]
+fsck.cramfs:
+ - mark usage() as noreturn [Karel Zak]
+fsck.minix:
+ - fix zone_map memory allocation failure check [Francesco Cosoleto]
+ - remove unnecessary memset calls [Francesco Cosoleto]
+fstrim:
+ - fix section number in referral to manpage [Petr Uzel]
+hexdump:
+ - make code more robust [Karel Zak]
+hwclock:
+ - clean usage, remove redundat code [Karel Zak]
+ - remove never read value [Karel Zak]
+ - remove non-ANSI function declaration [smatch scan] [Karel Zak]
+include,c.h:
+ - include fcntl.h before check for O_CLOEXEC [smatch scan] [Karel Zak]
+include,optutils:
+ - add option_to_longopt() [Karel Zak]
+include,xalloc:
+ - check for NULL before calling strdup [Dave Reisner]
+ - fix whitespace to be consistent [Dave Reisner]
+include/loopdev.h:
+ - add missing function prototype [Dave Reisner]
+ipcmk:
+ - add long options & fix usage() [Sami Kerola]
+ - allow high speed ipc creation [Sami Kerola]
+ - include-what-you-use header check [Sami Kerola]
+ - remove camel casing [Sami Kerola]
+ - remove useless code [Sami Kerola]
+ - validate numeric option arguments [Sami Kerola]
+ipcrm:
+ - add --all option [Sami Kerola]
+ - add --verbose option [Sami Kerola]
+ - add long options [Sami Kerola]
+ - add static keyword to some functions [Francesco Cosoleto]
+ - check IPC syscalls [Davidlohr Bueso]
+ - exit if unknown error occurs [Sami Kerola]
+ - fix wrong subject in error messages for -m, -q, -s id options [Francesco Cosoleto]
+ - include-what-you-use header check [Sami Kerola]
+ - refactor new and old main to share code [Sami Kerola]
+ - use ternary operator in "(key|id) failed" message [Francesco Cosoleto]
+ipcs:
+ - add long options [Sami Kerola]
+ - comment & white space clean up [Sami Kerola]
+ - include-what-you-use header check [Sami Kerola]
+ - minor changes to usage() [Karel Zak]
+islocal:
+ - fix coding style [Sami Kerola]
+kill:
+ - fix fd leak [Karel Zak]
+ - fix issue warned by smatch [Sami Kerola]
+ - potential null derefence [smatch scan] [Karel Zak]
+last:
+ - fix few compiler warnings [Sami Kerola]
+ - fix smatch warning [Sami Kerola]
+ - possible buffer overflow fixed [smatch scan] [Sami Kerola]
+ldattach:
+ - add default case to switches [Sami Kerola]
+ - align with howto-usage-function.txt [Sami Kerola]
+ - check numeric user inputs with strtol_or_err [Sami Kerola]
+ - convert debug macro to function [Sami Kerola]
+ - fix coding style [Sami Kerola]
+lib:
+ - [strutils] add strtod_or_err() function [Sami Kerola]
+ - cleanup setproctitle.c [Karel Zak]
+ - do not attempt to close(0) in sysfs_deinit() [Petr Uzel]
+lib,cpuset:
+ - enforce stricter parsing of cpu lists [Heiko Carstens]
+ - fix comments for cpu mask/list functions [Heiko Carstens]
+ - fix compiler warning [-Wuninitialized] [Karel Zak]
+ - fix odd placed braces in cpulist_parse() [Heiko Carstens]
+ - fix stride handling in cpulist_parse() [Heiko Carstens]
+lib,loopdev:
+ - add LOOP_CTL_GET_FREE support [Karel Zak]
+ - add debugu messages [Karel Zak]
+ - add missing functions [Karel Zak]
+ - fix use of logical '&&' with constant operand [Francesco Cosoleto]
+ - remove duplicate includes [Karel Zak]
+lib,match:
+ - split match_fstype() from libmount [Karel Zak]
+lib,path:
+ - move path access functions from lscpu into lib/path.c [Heiko Carstens]
+ - use write_all() [Heiko Carstens]
+lib,strutils:
+ - add default value to parse_range() [Davidlohr Bueso]
+ - share parse_range() [Davidlohr Bueso]
+lib,tt:
+ - add TT_FL_NOEXTREMES [Karel Zak]
+ - don't trim last line char [Karel Zak]
+ - fix compiler warning [-Wreturn-type] [Karel Zak]
+lib/fsprobe:
+ - mar this internal API as deprecated [Karel Zak]
+lib/loopdev:
+ - fix part scan detection code [Karel Zak]
+ - fix possible dir leak on error [Karel Zak]
+ - remove dead assigment and null deference [Karel Zak]
+lib/strutils:
+ - move array bounds check in string_to_idarray() to appropriate place. [Chandan B Rajenda]
+lib/sysfs:
+ - fix handle leak [Karel Zak]
+ - fix possible fd leak on error [Karel Zak]
+libblkid:
+ - DRBD proxy data-log identification. [Philipp Marek]
+ - add BLKID_PARTS_MAGIC [Karel Zak]
+ - add BLKID_PARTS_MAGIC to blkid_do_wipe() docs [Karel Zak]
+ - add blkid_do_wipe() [Karel Zak]
+ - allow return value to indicate error [cppcheck] [Sami Kerola]
+ - check blkid_probe_set_magic() return in GPT code [coverity scan] [Karel Zak]
+ - check blkid_probe_set_magic() return in ultrix code [coverity scan] [Karel Zak]
+ - check blkid_probe_set_magic() return value [coverity scan] [Karel Zak]
+ - check for NULL in blkid_flush_cache() [coverity scan] [Karel Zak]
+ - check rename() return value [coverity scan] [Karel Zak]
+ - check return values in safe_probe code [coverity scan] [Karel Zak]
+ - clarify operation order [cppcheck] [Sami Kerola]
+ - comparing an array to null is not useful [coverity scan] [Karel Zak]
+ - don't call CDROM_GET_CAPABILITY for partitions [Karel Zak]
+ - export PTMAGIC also if only PTTYPE requested [Karel Zak]
+ - export info about PT magic strings [Karel Zak]
+ - fix blkid_do_fullprobe() [coverity scan] [Karel Zak]
+ - fix limit for OCFS check [Karel Zak]
+ - fix mac partition detection [Francesco Cosoleto]
+ - fix smatch warning [Sami Kerola]
+ - fix suspicious implicit sign extension [coverity scan] [Karel Zak]
+ - fix use-after-free [coverity scan] [Karel Zak]
+ - improve reiserfs and btrfs min. size limits [Karel Zak]
+ - make fd usage in md code more robust [Karel Zak]
+ - minor docs changes [Francesco Cosoleto]
+ - more robust idx usage [coverity scan] [Karel Zak]
+ - new magic for 8.4 style (unclean) activity log. [Philipp Marek]
+ - remove >> 9 from GPT code [Karel Zak]
+ - remove unnecessary position check from list_for_each_safe loops [Karel Zak]
+ - silence a format string warning [-Wformat] [Francesco Cosoleto]
+ - update docs [Karel Zak]
+ - verify arroy bound before reference [cppcheck] [Sami Kerola]
+libmount:
+ - Use filter arg of scandir* to pickup /etc/fstab.d/*.fstab files [Masatake YAMATO]
+ - add "+" prefix for options pattern (e.g findmnt -O) [Karel Zak]
+ - add --pass-fd to samples/mount [Karel Zak]
+ - add -a to umount(8) sample [Karel Zak]
+ - add MNT_OMODE_NOTAB [Karel Zak]
+ - add function to parse offsets/sizes [Karel Zak]
+ - add functions to export syscall/helpers status [Karel Zak]
+ - add mnt_context_umount_next() [Karel Zak]
+ - add new exprimental umount(8) [Karel Zak]
+ - add post-mount checks to detect ro/rw [Karel Zak]
+ - add sanitize_env() to mount(8) sample [Karel Zak]
+ - add support for encrypted loopdevs [Karel Zak]
+ - add support for mount -a --fork [Karel Zak]
+ - allow to toggle ro/rw and mount again [Karel Zak]
+ - allow to use UUID and LABEL for owner/group mount options in fstab [Karel Zak]
+ - always trust the source of a pseudofs [Dave Reisner]
+ - avoid duplicate loopdevs [Karel Zak]
+ - avoid resolving pseudofs source on update [Dave Reisner]
+ - clean up context docs [Karel Zak]
+ - cleanup docs [Karel Zak]
+ - cleanup post-umount operations [Karel Zak]
+ - consolidate MNT_FS_* code [Karel Zak]
+ - consolidate sysconf() usage [Karel Zak]
+ - don't ignore chmod/own errors [Karel Zak]
+ - don't pass comments=/x-* to mount.<type> helpers [Karel Zak]
+ - don't use "new" in header file [Karel Zak]
+ - export info about library features [Karel Zak]
+ - fix MS_BIND|MS_REC usage, improve some bitwise operations [Karel Zak]
+ - fix a potential memory leak at mnt_table_parse_dir [Masatake YAMATO]
+ - fix auto-loopdev [Karel Zak]
+ - fix buffer overflow and leaks in tests [Karel Zak]
+ - fix bugs detected by [smatch scan] [Karel Zak]
+ - fix chdir to parent for restricted (user) umounts [Karel Zak]
+ - fix checked-return [coverity scan] [Karel Zak]
+ - fix compiler warning [-Wimplicit-function-declaration] [Karel Zak]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - fix compiler warnings [-Wuninitialized -Wformat] [Karel Zak]
+ - fix context test logic [Karel Zak]
+ - fix leak in tab parsing error code [Karel Zak]
+ - fix leak in tab_update.c test [Karel Zak]
+ - fix leak in tabdiff test [Karel Zak]
+ - fix negative returns [coverity scan] [Karel Zak]
+ - fix possible null dereferencing [coverity scan] [Karel Zak]
+ - fix resource leak [coverity scan] [Karel Zak]
+ - fix trivial typos in debugging output [Petr Uzel]
+ - fix typo in function name [Dave Reisner]
+ - fix use of logical '&&' with constant operand [Francesco Cosoleto]
+ - fixed a small typo [s.p@orbitalfox.com]
+ - ignore "defaults" mount option [Karel Zak]
+ - ignore tailing slash in netfs source paths [Petr Uzel]
+ - improve verbose message [Karel Zak]
+ - make iter reset more robust [coverity scan] [Karel Zak]
+ - make options in fstab optional [Karel Zak]
+ - potential null derefence [smatch scan] [Karel Zak]
+ - previously assumed null pointer [smatch scan] [Karel Zak]
+ - redundant null check on calling free() [smatch scan] [Karel Zak]
+ - remove dead assigment [Karel Zak]
+ - remove fstab.d support [Karel Zak]
+ - remove magic constatnt from mount(8) [Karel Zak]
+ - remove teaser proto for mnt_table_get_name [Dave Reisner]
+ - scandirat based mnt_table_parse_dir implementation [Masatake YAMATO]
+ - support -o loop=<devname> [Karel Zak]
+ - support dirs for mnt_table_parse_fstab(), add mnt_table_parse_dir() [Karel Zak]
+ - support umount /path/file.img [Karel Zak]
+ - support {offset,sizelimit}= foor loopdevs [Karel Zak]
+ - unable to umount nfs shares using the force option [Karel Zak]
+ - use #ifdef fr selinux specific variables [Karel Zak]
+ - use USAGE_* from mount(8) sample [Karel Zak]
+ - use loopdev debug facility [Karel Zak]
+ - use unsigned int for bitfields [smatch scan] [Karel Zak]
+ - variable dereferenced before check [smatch scan] [Karel Zak]
+libuuid:
+ - add limits.h include for OPEN_MAX [maximilian attems]
+ - fix includes in man pages [Karel Zak]
+line:
+ - fix compiler warnings [-Wunused-parameter] [Karel Zak]
+lists:
+ - add list sorting routine [Davidlohr Bueso]
+logger:
+ - fix remote logging [Karel Zak]
+ - non-ANSI definition [smatch scan] [Karel Zak]
+login:
+ - (and chsh) make pw_shell usage more robust [Karel Zak]
+ - PAM account checks refactoring [Karel Zak]
+ - PAM auth refactoring [Karel Zak]
+ - PAM initialization refactoring [Karel Zak]
+ - PAM session initialization refactoring [Karel Zak]
+ - add -H option for compatibility with Suse [Karel Zak]
+ - add LOGIN_RETRIES, cleanup retries check code [Karel Zak]
+ - add hostname to login_context struct [Karel Zak]
+ - add login.defs code and tests [Karel Zak]
+ - add pid to login_context struct [Karel Zak]
+ - add struct login_context, consolidate tty code [Karel Zak]
+ - add username to login_context struct [Karel Zak]
+ - add version printing option [Sami Kerola]
+ - allocate buffer with shell name [Karel Zak]
+ - clean FAIL_DELAY usage [Karel Zak]
+ - cleanup begin of the login.c file [Karel Zak]
+ - comparing an array to null is not useful [coverity scan] [Karel Zak]
+ - cosmetic changes in docs [Karel Zak]
+ - env initialization refactoring [Karel Zak]
+ - fix compiler warning [-Wreturn-type] [Karel Zak]
+ - fix leak, improve strtok usage [Karel Zak]
+ - fork & session initialization refactoring [Karel Zak]
+ - host{name,address} initialization refactoring [Karel Zak]
+ - improve hushed mode (merge suse changes) [Karel Zak]
+ - improve pam_setcred() usage [Karel Zak]
+ - indent -linux [Karel Zak]
+ - lastlog code refactoring [Karel Zak]
+ - log good logins refactoring [Karel Zak]
+ - more robust sysconf() usage [coverity scan] [Karel Zak]
+ - move _PATH_BTMP to pathnames.h [Karel Zak]
+ - move signal stuff to the one place [Karel Zak]
+ - remove PAM_FAIL_CHECK and PAM_END macros [Karel Zak]
+ - remove dead code and comments [Karel Zak]
+ - remove kerberos specific code [Karel Zak]
+ - remove non-PAM code [Karel Zak]
+ - remove obsolete code, clean up macros names [Karel Zak]
+ - remove obsolete info from man page [Karel Zak]
+ - remove pam_handle_t from main() [Karel Zak]
+ - remove unnecessary ifdef HAVE_CRYPT_H [Karel Zak]
+ - remove unnecessary variables [Karel Zak]
+ - remove unused code and tests [Karel Zak]
+ - rewrite motd(), use MOTD_FILE from login.defs [Karel Zak]
+ - tty chown.chmod refactoring [Karel Zak]
+ - use DEFAULT_HOME from login.defs [Karel Zak]
+ - use ENV_PATH and ENV_{ROOT,SU}PATH from login.defs [Karel Zak]
+ - use FAIL_DELAY from login.defs [Karel Zak]
+ - use HUSHLOGIN_FILE from login.defs [Karel Zak]
+ - use LOGIN_TIMEOUT from login.defs [Karel Zak]
+ - use LOG_UNKFAIL_ENAB from login.defs, improve logging [Karel Zak]
+ - use TTYGROUP from login.defs [Karel Zak]
+ - use TTYPERM from login.defs [Karel Zak]
+ - use getpwnam_r() rather than manually copy passwd struct [Karel Zak]
+ - use login_context struct in audit stuff [Karel Zak]
+ - use setgroups(0, NULL) for root [Karel Zak]
+ - use xalloc.h [Karel Zak]
+ - utmp code refactoring [Karel Zak]
+logindefs:
+ - fix coding style [Sami Kerola]
+loopdev:
+ - improve debug messages [Karel Zak]
+ - support LO_FLAGS_PARTSCAN flag (kernel 3.2) [Karel Zak]
+losetup:
+ - add --partscan option [Karel Zak]
+ - add note about non-root users to losetup.8 [Karel Zak]
+ - check to control debug output [Karel Zak]
+ - cleanup headers, cmdline checks [Karel Zak]
+ - cleanup man page [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - fix compiler warnings [-Wpointer-sign -Wformat] [Karel Zak]
+ - make xgetpass more robust [Karel Zak]
+ - move to sys-utils directory [Karel Zak]
+ - move xgetpass() to lib/xgetpass.c [Karel Zak]
+ - new -D option to delete all used loop devices [Petr Uzel]
+ - print info about one device [Karel Zak]
+ - print verbose messages if requested [Petr Uzel]
+ - remove #ifdef LOOP_SET_FD nonsense [Karel Zak]
+ - remove 32-bit ioctls [Karel Zak]
+ - remove mount-specific headers [Karel Zak]
+ - remove obsolete #ifdef MAIN [Karel Zak]
+ - remove unnecessary header files [Karel Zak]
+ - rewrite -a [Karel Zak]
+ - rewrite -c [Karel Zak]
+ - rewrite -d and -D [Karel Zak]
+ - rewrite -f [Karel Zak]
+ - rewrite -j [Karel Zak]
+ - rewrite loop setup [Karel Zak]
+lsblk:
+ - add UUID to --fs output [Karel Zak]
+ - add udev support [Ilias Mamedov]
+ - check stat() return code [Karel Zak]
+ - inform about depencency to /sys/dev/block [Sami Kerola]
+ - remove __NCOLUMNS [Davidlohr Bueso]
+lscpu:
+ - add --all option [Heiko Carstens]
+ - add --offline option [Heiko Carstens]
+ - add --online option [Karel Zak]
+ - add --version option [Heiko Carstens]
+ - add Hypervisor to output [Heiko Carstens]
+ - add column names to --help [Karel Zak]
+ - add columns description to help, fix header for parsable output [Karel Zak]
+ - add configured state to output [Heiko Carstens]
+ - add cpu polarization to parseable output [Heiko Carstens]
+ - add human readable extended cpu table output [Karel Zak]
+ - add online state to output [Heiko Carstens]
+ - add physical cpu address to parseable output [Heiko Carstens]
+ - add s390 kvm test case [Heiko Carstens]
+ - add s390 test case [Heiko Carstens]
+ - allow read_cache() to be called for offline cpus [Heiko Carstens]
+ - cleanup output modes [Karel Zak]
+ - dereferencing NULL pointer [coverity scan] [Karel Zak]
+ - detect IBM hypervisor [Heiko Carstens]
+ - fix -e output [Heiko Carstens]
+ - fix cache output for extended parsable output [Heiko Carstens]
+ - fix compiler warnings [Davidlohr Bueso]
+ - fix cpu map array sizes [Heiko Carstens]
+ - fix fallback nthreads calculation [Heiko Carstens]
+ - fix fd leak [Karel Zak]
+ - fix s390 bogomips detection coding style [Heiko Carstens]
+ - fix typo in help text [Heiko Carstens]
+ - gettextize two columns [Karel Zak]
+ - man page update [Heiko Carstens]
+ - remove comma operator [Heiko Carstens]
+ - remove unneeded file [Heiko Carstens]
+ - s/Y/Yes/ s/N/No/ [Heiko Carstens]
+ - show dispatching mode [Heiko Carstens]
+ - simplify cache column output function [Heiko Carstens]
+ - stricter command line parsing [Heiko Carstens]
+ - switch Yes/No output to lower case [Heiko Carstens]
+ - use buffer for data and headers [Karel Zak]
+ - use function to search in cpu masks arrays [Karel Zak]
+ - use hypervisor generated topology information [Heiko Carstens]
+ - use xalloc libs [Dave Reisner]
+misc:
+ - use %m in format string instead of %s and strerror(errno) [Petr Uzel]
+mkfs.bfs:
+ - add setlocale [Davidlohr Bueso]
+mkfs.cramfs:
+ - check blocksize user input [cppcheck] [Sami Kerola]
+ - close open file after usage [cppcheck] [Sami Kerola]
+mkfs.minix:
+ - Fix super_set_nzones() [Maurizio Lombardi]
+ - In Minix V3 filesystems the maximum filename length is 60 chars and the dirsize is 64 bytes. [Maurizio Lombardi]
+ - Some bug fixes [Maurizio Lombardi]
+ - The s_blocksize field of the MinixV3 superblock must be initialized with a valid block size, not the total number of blocks of the device! [Maurizio Lombardi]
+ - The total number of zones is limited to 65536 only on V1 filesystems [Maurizio Lombardi]
+ - inode numbers are 32-bit wide in V3 filesystems [Maurizio Lombardi]
+ - remove redundant code [Maurizio Lombardi]
+mkswap:
+ - check blkid_probe_lookup_values() return [coverity scan] [Karel Zak]
+ - wipe all old signatures [Karel Zak]
+more:
+ - add comment [Karel Zak]
+mount:
+ - (new) add --fstab <path> option [Karel Zak]
+ - (new) add --fstab to the man page [Karel Zak]
+ - (new) add more info about --stab to mount.8 [Karel Zak]
+ - (new) add selinux warning [Karel Zak]
+ - (new) add source/target to error messages [Karel Zak]
+ - (new) fix resource leak [coverity scan] [Karel Zak]
+ - (new) improve mount -a exist codes and erroer messages [Karel Zak]
+ - (new) print error messages [Karel Zak]
+ - (new) share exit codes by include/exitcodes.h [Karel Zak]
+ - add hint that context= has to be quoted [Karel Zak]
+ - add info about libmount features to --version output [Karel Zak]
+ - append inverting options for mount.<type> [Karel Zak]
+ - avoid canonicalizing pseudofs paths [Dave Reisner]
+ - check for target before source on remount [Karel Zak]
+ - clear flags before options parsing [Karel Zak]
+ - define fallback selinux_warning macro with 2 params [Dave Reisner]
+ - distinguish between MS_COMMENT flags (netdev, nofail, ...) [Karel Zak]
+ - don't canonicalize the source of a pseudofs [Dave Reisner]
+ - enable fstab.d [Masatake YAMATO]
+ - fix __attribute__ keyword [Karel Zak]
+ - fix build [Davidlohr Bueso]
+ - fix compiler warning [-Wunused-parameter] [Karel Zak]
+ - fix compiler warnings [-Wunused-parameter -Wunused-variable] [Karel Zak]
+ - fix loopdev deinitialization [Karel Zak]
+ - remounting tmpfs read-write hangs (selinux) [Karel Zak]
+ - remove duplicate includes [Karel Zak]
+ - remove superfluous "an" under ext4 mount options in mount.8 [Frederik \"Freso\" S. Olesen]
+ - update info about check= mount option [Karel Zak]
+ - use common libs [Davidlohr Bueso]
+ - use new lib/loopdev.c code [Karel Zak]
+mountpoint:
+ - fallback on stat when /proc isn't mounted [Karel Zak]
+ - refactor exit path [Dave Reisner]
+ - return dev_t from dir_to_device [Dave Reisner]
+ - support symbolic and relative paths [Karel Zak]
+namei:
+ - more robust add_it() [coverity scan] [Karel Zak]
+newgrp:
+ - add version and help options [Sami Kerola]
+ - fix coding style [Sami Kerola]
+ - fix possible FILE leak on error [Karel Zak]
+partx:
+ - check sysfs_init() return value [coverity scan] [Karel Zak]
+ - cleanup usage() and man page, add undocumented --verbose [Karel Zak]
+ - don't print error when partition already doesn't exist [Phillip Susi]
+ - don't treat empty partition table as error [Karel Zak]
+ - fix small leak [Karel Zak]
+ - remove __NCOLUMNS [Davidlohr Bueso]
+ - support loop devices [Davidlohr Bueso]
+ - use USAGE_ macros [Davidlohr Bueso]
+pivot_root:
+ - add version & help option [Sami Kerola]
+ - minor changes to usage() [Karel Zak]
+po:
+ - merge changes [Karel Zak]
+ - update cs.po (from translationproject.org) [Petr Pisar]
+ - update cs.po (from translationproject.org) [Petr PĂ­saĹ™]
+ - update fr.po (from translationproject.org) [David Prévot]
+ - update ja.po (from translationproject.org) [Takeshi Hamasaki]
+ - update nl.po (from translationproject.org) [Benno Schulenberg]
+ - update pl.po (from translationproject.org) [Jakub Bogusz]
+ - update uk.po (from translationproject.org) [Yuri Chornoivan]
+prlimit:
+ - add --{raw,noheadings} options [Karel Zak]
+ - add a units column [Davidlohr Bueso]
+ - add add falbacks [Karel Zak]
+ - add support for executing a command [Bernhard Voelker]
+ - avoid segfault due to array-out-of-bounds error [Karel Zak]
+ - don't share pointer for old and new in prlimit(2) [Karel Zak]
+ - fix SYS_ macro [Karel Zak]
+ - fix case when PID is given later [Bernhard Voelker]
+ - fix error message [Karel Zak]
+ - fix noheadings option in man page [Bernhard Voelker]
+ - fix typo in man page, option --verbose [Bernhard Voelker]
+ - new command [Davidlohr Bueso]
+ - replace lims[i] with pointer [Karel Zak]
+ - return proper type [Davidlohr Bueso]
+ - s/amount/number/ [Jim Meyering]
+ - show all limits if called without options [Bernhard Voelker]
+ - use xalloc libs [Davidlohr Bueso]
+raw:
+ - fix shadowing of minor function [maximilian attems]
+ - remove unnecessary return [cppcheck] [Sami Kerola]
+readprifile:
+ - remove unnecessary optstring array [Karel Zak]
+readprofile:
+ - add long options [Sami Kerola]
+ - fix coding style [Sami Kerola]
+ - use libc error printing facilities [Sami Kerola]
+rtcwake:
+ - align with howto-usage-function.txt [Sami Kerola]
+ - fix crash (invalid free) [Petr Uzel]
+script:
+ - fix building with --disable-nls [Natanael Copa]
+ - libintl.h included in nls.h [Karel Zak]
+ - non-ANSI definition [smatch scan] [Karel Zak]
+selinux_utils:
+ - fix coding style [Sami Kerola]
+setarch:
+ - add version printing [Sami Kerola]
+ - minor changes to usage() [Karel Zak]
+ - move options struct to function scope [Sami Kerola]
+ - use program_invocation_short_name [Sami Kerola]
+setpwnam:
+ - fix coding style [Sami Kerola]
+ - remove non-ANSI definitions [smatch scan] [Sami Kerola]
+setsid:
+ - add "+" to getopt_long() [Harald Hoyer]
+ - add long options and fix coding style [Sami Kerola]
+setterm:
+ - order man page items alphabetically [Jari Aalto]
+sfdisk:
+ - add comment to keep static analysers happy [Karel Zak]
+ - add note about alignment to the man page [Karel Zak]
+ - cleanup fd usage [Karel Zak]
+ - file descriptor is of int type [Petr Uzel]
+ - fix fd leak [Karel Zak]
+ - fix poor coding style [Karel Zak]
+ - fix typo in cdrom detection [Karel Zak]
+ - fix weird indentation in msdos_partition() [Petr Uzel]
+ - free variable which got the allocation [cppcheck] [Sami Kerola]
+ - get_disksize() returns long long [Petr Uzel]
+ - introduce get_ull() function [Petr Uzel]
+ - make the cylinder boundary check less fatal [Petr Uzel]
+ - remove PACKED macro [Karel Zak]
+ - remove dead assigment [Karel Zak]
+ - remove do_warn [Davidlohr Bueso]
+ - remove duplicate includes [Karel Zak]
+ - remove fatal [Davidlohr Bueso]
+ - sfdisk.8 fix formatting [Petr Uzel]
+ - use is_blkdev [Davidlohr Bueso]
+ - use unsigned long long to internally represent sector number [Petr Uzel]
+ - warn if partition exceeds partition table limits [Petr Uzel]
+swapon:
+ - add break to keep static analysers happy [Karel Zak]
+ - merge swap_constants.h into swapon.c [Karel Zak]
+switch_root:
+ - add nls support [Sami Kerola]
+ - align with howto-usage-function.txt [Sami Kerola]
+ - close open file after usage [cppcheck] [Sami Kerola]
+ - handle /run and do not mount over existing mounts [Harald Hoyer]
+ - umount mount points we cannot move with MNT_DETACH [Harald Hoyer]
+taskset:
+ - use appropriate variable type [cppcheck] [Sami Kerola]
+test:
+ - refresh build-sys tests [Karel Zak]
+tests:
+ - add --memcheck to [Karel Zak]
+ - add build-sys regression test [Karel Zak]
+ - add exceptions for libmount [Karel Zak]
+ - add infrastructure for valgrind [Karel Zak]
+ - add loopdev libmount test [Karel Zak]
+ - add missing file [Karel Zak]
+ - add mkfs.carmfs test for small FS with duplicate files [Karel Zak]
+ - add ts_fdisk_clean function to make fdisk output comparable [Francesco Cosoleto]
+ - add valgrind to libmount context tests [Karel Zak]
+ - add valgrind to libmount context utab tests [Karel Zak]
+ - add valgrind to libmount lock tests [Karel Zak]
+ - add valgrind to libmount tab parse test [Karel Zak]
+ - add valgrind to libmount tabdiff tests [Karel Zak]
+ - add valgrind to libmount tags eval. tests [Karel Zak]
+ - add wall to build-sys tests [Karel Zak]
+ - call valgrind from libmount optstr test [Karel Zak]
+ - call valgrind from libmount utils and update tests [Karel Zak]
+ - cleanup islocal test [Karel Zak]
+ - cleanup paths [Karel Zak]
+ - fix mount/special to be compatible with libmount [Karel Zak]
+ - fix options evaluation, add support for optional tests [Karel Zak]
+ - make minix tests more robust [Karel Zak]
+ - remove obsolete checktty test [Karel Zak]
+ - remove unexpected set -x [Karel Zak]
+ - remove unssuported losetup -s [Karel Zak]
+ - update fdisk and blkid MD tests [Francesco Cosoleto]
+ - update fdisk tests [Francesco Cosoleto]
+ - update tests with fdisk output [Karel Zak]
+tools:
+ - add new code checking script [Dave Reisner]
+ - use gpg-aggent in ko-release-gen [Karel Zak]
+tunelp:
+ - add long options and align with howto-usage-function.txt [Sami Kerola]
+ - fix coding style [Sami Kerola]
+ - free allocation, use xalloc [Sami Kerola]
+ - use libc error printing facilities [Sami Kerola]
+ - use symbolic exit values [Sami Kerola]
+umount:
+ - (new) fix resource leak [coverity scan] [Karel Zak]
+ - (new) use the same exit codes as mount(8) [Karel Zak]
+ - add missing break [Karel Zak]
+ - add warning [Karel Zak]
+ - respect fs search path [Mike Frysinger]
+ - use new lib/loopdev.c code [Karel Zak]
+unshare:
+ - add note about MS_SHARED to unshare.1 [Karel Zak]
+ - align with howto-usage-function.txt [Sami Kerola]
+uuidd:
+ - Add missing break to option case statement [Eric Sandeen]
+vipw:
+ - don't modify environment, check strtok() return value [Karel Zak]
+ - fix coding style [Sami Kerola]
+ - stop printing non-sense version string [Sami Kerola]
+ - use libc error printing facilities [Sami Kerola]
+ - use xalloc.h [Karel Zak]
+whereis:
+ - fix gcc warnings [-Wsign-compare] [Karel Zak]
+ - move token assignment into loop syntax [Karel Zak]
+ - non-ANSI definition [smatch scan] [Karel Zak]
+ - remove unused value warning [Francesco Cosoleto]
+ - search in path [Davidlohr Bueso]
+ - search in path for binaries only [Karel Zak]
+wipefs:
+ - add -t <list> option [Karel Zak]
+ - improve -a, use blkid_do_wipe() [Karel Zak]
+ - use xalloc lib [Davidlohr Bueso]
+write:
+ - fix path for freopen() [Karel Zak]
diff --git a/Documentation/releases/v2.22-ReleaseNotes b/Documentation/releases/v2.22-ReleaseNotes
new file mode 100644
index 0000000..8d617a4
--- /dev/null
+++ b/Documentation/releases/v2.22-ReleaseNotes
@@ -0,0 +1,1190 @@
+Util-linux 2.22 Release Notes [Sep 4, 2012]
+===========================================
+
+ The cryptoloop support in the commands mount(8) and losetup(8) is DEPRECATED.
+ This is the last release where encryption= mount option and -e,-E,--encryption
+ losetup options are supported.
+
+Release highlights
+------------------
+
+partx(8):
+ - the default output has been changed, the legacy output was deprecated for
+ more than 1 year. Users who depend on the old output format have to use
+ --list command line option.
+
+mount(8), umount(8), swapon(8), blkid(8) and findmnt(8):
+ - supports PARTUUID= and PARTLABEL= tags to specify block devices by partition
+ UUID or LABEL (for example for UEFI GPT). These tags are filesystem
+ independent and provide persistent configuration (your /etc/fstab setting
+ will not be affected by mkfs/mkswap changes).
+
+dmesg(1):
+ - reads kernel messages from /dev/kmsg on kernel 3.5
+ - supports new option --follow to wait for new messages (kernel 3.5 required)
+ - supports new option --reltime to print human readable deltas
+
+su(1):
+ - has been merged from coreutils into util-linux
+
+sulogin(8):
+ - has been merged from sysvinit into util-linux
+
+utmpdump(1):
+ - has been merged from sysvinit into util-linux
+
+eject(1):
+ - has been merged from inactive upstream from sf.net and Fedora into util-linux
+ - supports new options --manualeject, --force and --no-partitions-unmount
+
+lslocks(1)
+ - this NEW COMMAND prints local system locks and it's replacement to very
+ long time unmaintained lslk(1)
+
+wdctl(8):
+ - this NEW COMMAND shows hardware watchdog status
+
+mount(8):
+ - pure libmount based mount(8) and umount(8) command are ENABLED BY DEFAULT
+ - the old mount(8) and umount(8) implementation is DEPRECATED
+ - the hybrid mount(8) [old mount linked with libmount] is not supported anymore
+ - supports new command line options --source and --target to avoid ambivalent
+ interpretation if only one argument is given
+
+swapon(8):
+ - supports new option --show to print information about swaps in definable
+ format
+
+findmnt(8):
+ - supports new option --task <pid> to print private task mount table
+ - supports new option --df to imitate df(1)
+
+fdisk(8)
+ - does not print geometry in 'p'rint output in non-DOS mode
+
+libuuid:
+ - does NOT EXECUTE uuidd on demand, the daemon has to be started by
+ init scripts / systemd
+
+uuidd:
+ - supports socket activation (for systemd)
+ - supports new options -no-fork, --no-pid and --socket-activation
+
+flock(1):
+ - supports new option --conflict-exit-code to specify return code
+
+fsck(8):
+ - supports new option -r to report memory and runtime statistics
+
+lsblk(8):
+ - supports inverse trees (new option -s)
+
+losetup(8):
+ - supports option --detach-all to detach all loop devices
+
+
+build-system changes:
+ - login(1) enabled by default (see --disable-login)
+ - partx(8) enabled by default (see --disable-partx)
+ - kill(1) enabled by default (see --disable-kill)
+ - new non-recursive build-system
+
+
+Stable maintenance releases between v2.21 and v2.22
+---------------------------------------------------
+
+util-linux 2.21.1 [30-Mar-2012]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21.1-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21.1-ChangeLog
+
+util-linux 2.21.2 [25-May-2012]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21.2-ReleaseNotes
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21.2-ChangeLog
+
+
+Changes between v2.21 and v2.22
+-------------------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.22/
+
+addpart:
+ - align with util-linux coding standards [Sami Kerola]
+ - improve error messages [Karel Zak]
+agetty:
+ - close tty before vhangup() [Karel Zak]
+ - make tcsetpgrp() optional [Karel Zak]
+ - more robust debug() macro, check ioctl result [coverity scan] [Karel Zak]
+ - move vc initialization to ttyutils.h [Karel Zak]
+ - remove unnecessary sleep(10) [Mantas MikulÄ—nas]
+ - use configured run state directory [Sami Kerola]
+all files:
+ - make most variables static and const when possible. declare lots of functions static. [Jim Meyering]
+arch, eject, elvtune:
+ - Gracefully disable on non-Linux platforms. [Thomas Schwinge]
+blkdev:
+ - add blkdev_scsi_type_to_name() [Sami Kerola]
+blkid:
+ - add DEVNAME= to export output format [Karel Zak]
+ - add docs about PARTUUID= and PARTLABEL= [Karel Zak]
+ - add note about variable tags and devices order. [Karel Zak]
+ - fix realloc memory leak [cppcheck] [Sami Kerola]
+ - fix shadow declaration [Sami Kerola]
+ - introduce symbolic names for different blkid exit codes [Petr Uzel]
+ - stop device probing if error is detected [Petr Uzel]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+ - use get_terminal_width() from ttyutils.h [Petr Uzel]
+ - use strtosize_or_err() [Karel Zak]
+ - use symbolic exit code [Petr Uzel]
+build:
+ - fix redundant redeclaration warnings [Sami Kerola]
+ - fix unused parameter warnings [Sami Kerola]
+build-sys:
+ - add --diable-sulogin (enabled by default) [Karel Zak]
+ - add --disable-login [Karel Zak]
+ - add --disable-su [Karel Zak]
+ - add --enable-chfn-chsh [Karel Zak]
+ - add --enable-newgrp [Karel Zak]
+ - add --enable-vipw [Karel Zak]
+ - add -Wall to warnings [Karel Zak]
+ - add -Werror to UL_WARN_ADD test [Karel Zak]
+ - add -Wmissing-declarations, sort warning options [Karel Zak]
+ - add -Wredundant-decls [Karel Zak]
+ - add BUILD_WDCTL, check for linux/watchdog.h [Karel Zak]
+ - add UL_CONFLICTS_BUILD m4 macro [Karel Zak]
+ - add UL_PROG_CLANG function, rename warnings.m4 -> compiler.m4 [Karel Zak]
+ - add a crosscompile path for scanf_cv_alloc_modifier [Sebastian Andrzej Siewior]
+ - add compiler warnings [Karel Zak]
+ - add eject to .gitignore [Karel Zak]
+ - add exclude list to UL_ADD_WARN [Karel Zak]
+ - add files make check generates in gitignore [Sami Kerola]
+ - add fsprobe.h to dist [Petr Uzel]
+ - add minisg COPYING files [Karel Zak]
+ - add missing files [Karel Zak]
+ - add pager.h to Makemodule.am [Karel Zak]
+ - add randutils.h to dist [Petr Uzel]
+ - add run.sh to make check for non-root users [Karel Zak]
+ - add sd-daemon.h to Makemodule.am [Karel Zak]
+ - add su executable to .gitignore [Sami Kerola]
+ - add swapon-common.h to swapon sources (fix distcheck) [Petr Uzel]
+ - add tests/run-nonroot.sh to automake file [Karel Zak]
+ - add ttyutils.h to dist [Petr Uzel]
+ - always use default $(LDADD) [Karel Zak]
+ - change --localstatedir to /run [Sami Kerola]
+ - cleanup .gitignore files [Karel Zak]
+ - cleanup mount stuff in configure.am [Karel Zak]
+ - convert disk-utils/ to module [Karel Zak]
+ - convert include/ to module [Karel Zak]
+ - convert lib/ to libcommon.la [Karel Zak]
+ - convert lib/ to module [Karel Zak]
+ - convert libblkid/ to module [Karel Zak]
+ - convert libmount/ to module [Karel Zak]
+ - convert libuuid/ to module [Karel Zak]
+ - convert login-utils/ to module [Karel Zak]
+ - convert misc-utils/ to module [Karel Zak]
+ - convert mount/ to module, rename to mount-deprecated/ [Karel Zak]
+ - convert schedutils/ to module [Karel Zak]
+ - convert sys-utils/ to module [Karel Zak]
+ - convert term-utils/ to module [Karel Zak]
+ - convert tests/ to module [Karel Zak]
+ - convert text-utils/ to module [Karel Zak]
+ - create static uuid_generate_*.3 files [Karel Zak]
+ - default to new sys-utils/mount.c, add --enable-deprecated-mount [Karel Zak]
+ - define per-test -DTEST_PROGRAM in lib/ [Karel Zak]
+ - determine availability of __fpending() [Sami Kerola]
+ - disable chkdupexe by default, mark as deprecated [Karel Zak]
+ - don't compile lib{mount,blkid} tests when --disable-static specified [Karel Zak]
+ - don't create empty man/ru directory [Karel Zak]
+ - enable libmount and libblkid docs [Karel Zak]
+ - enhance readability of the autotools files [Sami Kerola]
+ - ensure BUILD_CFDISK is always defined [Dave Reisner]
+ - exclude some CC warnings for clang [Karel Zak]
+ - expand paths at make time [Karel Zak]
+ - fix build without libs [Karel Zak]
+ - fix chkdupexe regression [Sami Kerola]
+ - fix description of utmpdump configure option [Petr Uzel]
+ - fix swaplabel [Karel Zak]
+ - ignore .dirstamp file [Karel Zak]
+ - include correct source file for chsh [Dave Reisner]
+ - include tools/git-version-gen in the tarball [Petr Uzel]
+ - make the crosscompile path for scanf_cv_alloc_modifier clever [Sebastian Andrzej Siewior]
+ - move configure login options to one place [Karel Zak]
+ - move getopt to misc-utils/ [Karel Zak]
+ - move hwclock to sys-utils/ [Karel Zak]
+ - move obsolete lib/fsprobe to mount/ [Karel Zak]
+ - move partx to disk-utils/ [Karel Zak]
+ - move tests to check_PROGRAMS [Karel Zak]
+ - note sulogin in configure help [Karel Zak]
+ - release++ (v2.22-rc1) [Karel Zak]
+ - release++ (v2.22-rc2) [Karel Zak]
+ - remove -DUSE_PAM=1 for su(1) [Karel Zak]
+ - remove include-Makefile.am [Karel Zak]
+ - remove unused function and header checks [Sami Kerola]
+ - rename fdisk -> fdisks/, convert to module [Karel Zak]
+ - run distcheck with verbose make rules [Petr Uzel]
+ - s/ruman/ruman1/ [Karel Zak]
+ - suid su in make install [Karel Zak]
+ - support separate libintl [Karel Zak]
+ - use slash for binaries in gitignore [Karel Zak]
+build-system:
+ - enable automake subdir-objects [Karel Zak]
+cal:
+ - Fix building under uClibc. [James Le Cuirot]
+chcpu:
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+checkxalloc:
+ - nudge regex, fix newfound instances [Dave Reisner]
+chfn:
+ - use pathnames.h for paths [Sami Kerola]
+chsh:
+ - use pathnames.h for paths [Sami Kerola]
+colrm:
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+column:
+ - --separator segfaults [B Watson]
+cytune:
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+ddate:
+ - russian manual missing from package [Sami Kerola]
+delpart:
+ - align with util-linux coding standards [Sami Kerola]
+ - improve error messages [Karel Zak]
+disk-utils:
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - verify writing to streams was successful [Sami Kerola]
+dmesg:
+ - add --follow feature [Karel Zak]
+ - add --reltime to print human readable deltas [Karel Zak]
+ - add --syslog to force to old syslog(2) interface [Karel Zak]
+ - add fileback for SEEK_DATA [Karel Zak]
+ - cleanup exclusive_option() usage [Karel Zak]
+ - cleanup, move more stuff to control struct [Karel Zak]
+ - fix kmsg read if read returns EPIPE [Milan Broz]
+ - fix kmsg usability detection [Karel Zak]
+ - fix typo in man page [Karel Zak]
+ - fix usage() [Karel Zak]
+ - implement backwardly compatible --raw for /dev/kmsg [Karel Zak]
+ - improve err handling code [Karel Zak]
+ - inform user when klogctl() or read_buffer() fails [Sami Kerola]
+ - move filename to control struct [Karel Zak]
+ - read /dev/kmsg (since kernel 3.5.0) [Karel Zak]
+ - refactoring for kmsg support [Karel Zak]
+ - support --clear for kmsg [Karel Zak]
+ - unify internal APIs [Karel Zak]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+doc:
+ - fix typo in v2.22-ReleaseNotes [Bernhard Voelker]
+docs:
+ - TODO removal, ldattach usage is done [Sami Kerola]
+ - TODO removal, login-utils error printing [Sami Kerola]
+ - TODO removal, rpmatch task is done [Sami Kerola]
+ - add v2.22-ReleaseNotes [Karel Zak]
+ - add deprecation comments [Sami Kerola]
+ - add note about enabled kill(1) to v2.22-ReleaseNotes [Karel Zak]
+ - add note about non-recursive build-sys [Karel Zak]
+ - add note about partx output change [Karel Zak]
+ - add quota mount option support description for ext2 [Björn Jacke]
+ - add su.1 manual page [Sami Kerola]
+ - add sys-utils/umount.8 manual page [Sami Kerola]
+ - clarify KiB vs. KB in man pages [Bernhard Voelker]
+ - clean up chcpu.8 manual [Sami Kerola]
+ - clean up dmesg.1 manual [Sami Kerola]
+ - clean up getopt.1 manual [Sami Kerola]
+ - clean up login.1 manual [Sami Kerola]
+ - clean up partx.8 manual [Sami Kerola]
+ - clean up sulogin.8 manual [Sami Kerola]
+ - clean up utmpdump.1 manual [Sami Kerola]
+ - clean up wdctl.8 manual [Sami Kerola]
+ - corrections to FSF license files, and postal address [Sami Kerola]
+ - do not overwrite ddate.1 manual [Sami Kerola]
+ - eject.1 align with Documentation/howto-man-page.txt [Sami Kerola]
+ - fix all man page groff warnings [Sami Kerola]
+ - fix email macro in manual example [Sami Kerola]
+ - fix further typos found by misspellings [Bernhard Voelker]
+ - fix typos found by misspellings [Bernhard Voelker]
+ - ftp server does no longer support util-linux-ng [Sami Kerola]
+ - man page syntax fixes [Ville Skyttä]
+ - mark udev and list blkid(8) output formats deprecated [Karel Zak]
+ - mention the required mount options for journaled version 2 quota [Björn Jacke]
+ - move fstab.5 to sys-utils (mount/ dir is deprecated) [Karel Zak]
+ - remove unused config/texinfo.tex [Karel Zak]
+ - rewrite su.1 manual [Ludwig Nussel]
+ - tell about irc channel [Sami Kerola]
+ - update AUTHORS file [Karel Zak]
+ - update TODO [Karel Zak]
+ - update TODO [Sami Kerola]
+ - update TODO file [Karel Zak]
+ - update howto-tests.txt [Karel Zak]
+ - update tests docs [Karel Zak]
+ - update v2.22-ReleaseNotes [Karel Zak]
+eject:
+ - add --force option [Karel Zak]
+ - add --manualeject from fedora [Karel Zak]
+ - add --no-partitions-unmount [Karel Zak]
+ - add -X from Fedora [Karel Zak]
+ - allow to address device by LABEL/UUID [Karel Zak]
+ - briefer usage [Michal Luscon]
+ - call umount <mountpoint> rather than <device> [Karel Zak]
+ - check for hotplug/removable attribute [Karel Zak]
+ - clean unmount_devices() [Karel Zak]
+ - clean up argv parsing code [Karel Zak]
+ - clean up devname usage [Karel Zak]
+ - clean up eject_* functions [Karel Zak]
+ - clean up includes [Michal Luscon]
+ - clean up man page [Karel Zak]
+ - clean up umount stuff [Karel Zak]
+ - clean up usage() [Karel Zak]
+ - clean up verbose messages [Karel Zak]
+ - cleanup umount code [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - close open file [cppcheck] [Sami Kerola]
+ - coding style fixes [Karel Zak]
+ - constify array [Mike Frysinger]
+ - don't try to use non-device path [Karel Zak]
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+ - fix compiler warnings [-Wformat] [Karel Zak]
+ - fix shadow declaration [Sami Kerola]
+ - improve work with partitioned devices [Karel Zak]
+ - inform if CD-ROM drive is not ready [Sami Kerola]
+ - inform why open failed [Sami Kerola]
+ - initial merge eject and util-linux [Michal Luscon]
+ - make the code robust [Karel Zak]
+ - modification of parse_arg function [Michal Luscon]
+ - new auto_eject code from Fedora [Karel Zak]
+ - new close_tray code from Fedora [Karel Zak]
+ - remove MountableDevice function [Michal Luscon]
+ - remove obsolete code, use EXIT_* macros [Karel Zak]
+ - remove unnecessary checks [Karel Zak]
+ - remove unnecessary function [Karel Zak]
+ - remove unnecessary variable [Karel Zak]
+ - rename handle_x_option to set_device_speed [Karel Zak]
+ - replace CLOSE and FCLOSE macros by e_close and e_fclose functions [Michal Luscon]
+ - replace fprintf with err and warn [Michal Luscon]
+ - return proper 0/1 from eject_cdrom() [Dave Reisner]
+ - simplify find_device [Michal Luscon]
+ - support CDIOCEJECT ioctl [Karel Zak]
+ - unification of coding style [Michal Luscon]
+ - use BUILD_EJECT, move to sys-utils [Karel Zak]
+ - use CDROM_DRIVE_STATUS if available for tray toggling [Mike Frysinger]
+ - use SG_IO ioctl for scsi [Karel Zak]
+ - use canonicalize_path to treat symbolic links [Michal Luscon]
+ - use libmount to detect if cdrom is mounted [Karel Zak]
+ - use program_invocation_short_name instead of programName [Michal Luscon]
+ - use xstrdup() [Karel Zak]
+ - verify writing to streams was successful [Sami Kerola]
+eject(1):
+ - fix typo in mount(1) reference [Mike Frysinger]
+fallocate:
+ - add --version and align with howto-usage-function.txt [Sami Kerola]
+fdisk:
+ - (dos) cleanup function names [Karel Zak]
+ - API add delete partition to label operations [Davidlohr Bueso]
+ - API add fdisk_label_change [Davidlohr Bueso]
+ - API add geometry [Davidlohr Bueso]
+ - API add label probing functionality [Davidlohr Bueso]
+ - API add mbr [Davidlohr Bueso]
+ - API add new partition to label operations [Davidlohr Bueso]
+ - API add to label operations to context [Davidlohr Bueso]
+ - API add topology debug [Davidlohr Bueso]
+ - API add verify to label operations [Davidlohr Bueso]
+ - API add write to label operations [Davidlohr Bueso]
+ - API comment labels array [Davidlohr Bueso]
+ - API fix fdisk_add_partition comment style [Davidlohr Bueso]
+ - add an quit/exit handling function [Davidlohr Bueso]
+ - add debug support [Davidlohr Bueso]
+ - add device topology to the API [Davidlohr Bueso]
+ - add fdisk_dev_sectsz_is_default helper [Davidlohr Bueso]
+ - add noreturn function attribute [Sami Kerola]
+ - add readonly option to fdisk_new_context_from_filename() [Karel Zak]
+ - add some debug messages [Karel Zak]
+ - add total sectors [Davidlohr Bueso]
+ - aix fix warning [Davidlohr Bueso]
+ - aix remove magic aixlabel macro, mark unused parameters [Karel Zak]
+ - always print total number of sectors [Petr Uzel]
+ - always use stderr for debug messages [Karel Zak]
+ - bsd mark unused parameters [Karel Zak]
+ - cast before count size [Karel Zak]
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - create DOS specific write table function [Davidlohr Bueso]
+ - de-duplicate disk label strings [Bernhard Voelker]
+ - do not call sgi and sun code when creating a new dos label [Davidlohr Bueso]
+ - document FDISK_DEBUG [Davidlohr Bueso]
+ - don't call update_units() in label probes if not necessary [Petr Uzel]
+ - don't ignore 1MiB granularity on 512-byte sector devices [Karel Zak]
+ - don't print CHS geometry unless DOS compatible mode is set [Petr Uzel]
+ - don't print confusing warning on non-partitioned disks [Karel Zak]
+ - don't print welcome message to stderr [Karel Zak]
+ - dos mark unused parameters [Karel Zak]
+ - dos use sector_t [Davidlohr Bueso]
+ - extend comments for fdisk_new_context() [Davidlohr Bueso]
+ - fix compiler warning [-Werror=unused-variable] [Petr Uzel]
+ - fix compiler warning [-Wpointer-sign] [Karel Zak]
+ - fix compiler warning [-Wunused-variable] [Karel Zak]
+ - fix compiler warnings [-Wsign-compare] [Karel Zak]
+ - fix error message for too small devices [Karel Zak]
+ - fix fdiskdoslabel.c global variables [Karel Zak]
+ - fix io_size usage in new API [Karel Zak]
+ - fix menu [Davidlohr Bueso]
+ - fix segfault on bsd label [Davidlohr Bueso]
+ - fix to build for IA32 [Christian Wiese]
+ - fix typo [Petr Uzel]
+ - fix typo in comment [Bernhard Voelker]
+ - get_boot() has to die (step I.) [Karel Zak]
+ - get_boot() has to die (step II.) [Karel Zak]
+ - introduce fdisk context [Davidlohr Bueso]
+ - introduce sector_t type [Davidlohr Bueso]
+ - isolate dos label logic [Davidlohr Bueso]
+ - kernel/bios sectors and heads need not be global [Davidlohr Bueso]
+ - mac remove magic maclabel macro, mark unused parameters [Karel Zak]
+ - make CHS user values more robust [Davidlohr Bueso]
+ - make grain global variable part of fdisk_context() [Petr Uzel]
+ - make if clause easier to read [Sami Kerola]
+ - make label API more robust [Karel Zak]
+ - mark dos compatibility/CHS options deprecated in manpage [Davidlohr Bueso]
+ - move DOS geometry code from generic part to label specific [Karel Zak]
+ - move DOS new/add partition code [Davidlohr Bueso]
+ - move kernel geometry into blkdev [Davidlohr Bueso]
+ - move label specific stuff to fdiskdoslabel.c [Karel Zak]
+ - move user geometry setting from fdisk.c to API [Karel Zak]
+ - refactor -s option [Davidlohr Bueso]
+ - remove action enum [Davidlohr Bueso]
+ - remove bogus statement [Davidlohr Bueso]
+ - remove dead code [Davidlohr Bueso]
+ - remove dummy function [Davidlohr Bueso]
+ - remove listing variable [Davidlohr Bueso]
+ - remove stack jumping [Davidlohr Bueso]
+ - remove unused file [Karel Zak]
+ - remove unused function declaration [Davidlohr Bueso]
+ - remove unused hsc2sector macro [Davidlohr Bueso]
+ - remove unused variables [Karel Zak]
+ - remove useless comments [Davidlohr Bueso]
+ - remove user specified sector size global variable [Davidlohr Bueso]
+ - rename cxt->mbr buffer to cxt->firstsector [Karel Zak]
+ - rename label probing functions [Petr Uzel]
+ - return success from sgi_create_disklabel [Petr Uzel]
+ - rework fatal errors [Davidlohr Bueso]
+ - set label pointer in fdisk_create_default_disklabel() [Karel Zak]
+ - sgi abort on HDIO_GETGEO failure [Davidlohr Bueso]
+ - sgi remove unused code [Davidlohr Bueso]
+ - sgi remove unused function [Davidlohr Bueso]
+ - sgi use sector_t [Davidlohr Bueso]
+ - sgi use xcalloc() [Karel Zak]
+ - simplify device opening [Davidlohr Bueso]
+ - standarize version output [Davidlohr Bueso]
+ - stop buffering welcome message [Davidlohr Bueso]
+ - sun remove unused function [Davidlohr Bueso]
+ - sun use sector_t [Davidlohr Bueso]
+ - tests update oddinput test [Davidlohr Bueso]
+ - use BSD label header [Davidlohr Bueso]
+ - use EXIT_SUCCESS for -l option [Davidlohr Bueso]
+ - use context as a parameter [Davidlohr Bueso]
+ - use memset() rather than bzero() [Karel Zak]
+ - use randutils for mbr signature creation [Davidlohr Bueso]
+ - verify writing to streams was successful [Sami Kerola]
+fileutils:
+ - differentiate xmkstemp and xfmkstemp [Sami Kerola]
+ - xmkstemp() interface change [Dave Reisner]
+findfs:
+ - add --version & align with howto-usage-function.txt [Sami Kerola]
+findmnt:
+ - add --task <tid> option [Karel Zak]
+ - add --version & align with howto-usage-function.txt [Sami Kerola]
+ - add -D, --df option to imitate df(1) [Dave Reisner]
+ - add -P, --pairs to the man page [Bill Pemberton]
+ - add FS size, avail, used, and use% columns [Dave Reisner]
+ - add FSROOT column [Dave Reisner]
+ - add TID column [Karel Zak]
+ - add match_by_file to do within-device matching [Dave Reisner]
+ - add note about \x<hex> to man page [Karel Zak]
+ - add support for PARTUUID= and PARTLABEL= [Karel Zak]
+ - add support for maj min source [Karel Zak]
+ - don't use tree-like output if more -F options specified [Karel Zak]
+ - fallback to mountinfo for polling [Dave Reisner]
+ - fix compiler warnings [-Wuninitialized] [Petr Uzel]
+ - fix typo in manpage [Bernhard Voelker]
+ - improve --df output [Karel Zak]
+ - reference correct manual section [Dave Reisner]
+ - remove dublicate usage() line [Sami Kerola]
+ - restrict within-device matching [Karel Zak]
+ - support -o +<attr> for adding attribute to output fields. [Milan Broz]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+ - use st.st_bavail for available column [Dave Reisner]
+ - use xasprintf() [Karel Zak]
+flock:
+ - user-configurable exit code [Jan \"Yenya\" Kasprzak]
+fsck:
+ - Add a -r option to report memory and runtime statistics [Frank Mayhar]
+ - coding stype fixes (calloc, err, ...) [Karel Zak]
+ - cosmetic changes in coding style [Karel Zak]
+ - don't duplicate exit code macros [Karel Zak]
+ - don't free fstab table on parse failure [Dave Reisner]
+ - don't try to call fsck for undefined fs type [Karel Zak]
+ - fix coding style [Karel Zak]
+ - move to disk-utils directory [Karel Zak]
+ - remove string_copy() [Karel Zak]
+ - remove unnecessary fsck.h [Karel Zak]
+ - replace fsprobe with libmount utils [Karel Zak]
+ - tiny coding style fix [Karel Zak]
+ - use gettimeofday() for real elapsed time statistic [Karel Zak]
+ - use less aggressive method to detect mounted devices [Karel Zak]
+ - use libmount for filesystem list [Karel Zak]
+ - use libmount to check for mounted filesystems [Karel Zak]
+fsck.cramfs:
+ - add long options [Sami Kerola]
+ - disallow unknown command line options [Sami Kerola]
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+fsck.minix:
+ - align with howto-usage-function.txt [Sami Kerola]
+ - clean up coding style [Sami Kerola]
+ - fix printf format warning [Sami Kerola]
+ - use rpmatch() for yes/no question [Sami Kerola]
+ - use symbolic exit codes [Sami Kerola]
+fsck.minix.c:
+ - fix compiler warnings [-Wunused-result] [Petr Uzel]
+fstab:
+ - fstab.5 fix misspelling of deprecated [Dave Reisner]
+fstrim:
+ - add --version and align with howto-usage-function.txt [Sami Kerola]
+ - use strtosize_or_err() [Karel Zak]
+getopt:
+ - verify writing to streams was successful [Sami Kerola]
+hexdump:
+ - fix comparison of distinct pointer types [Karel Zak]
+ - fix shadow declaration [Sami Kerola]
+ - print sensible message when all input file arguments fail [Sami Kerola]
+ - update man page for -n and -s [Karel Zak]
+ - use strtosize() for -n and -s [Karel Zak]
+ - use strtosize_or_err() [Karel Zak]
+hwclock:
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - don't set time for --systz [Karel Zak]
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+ - verify writing to streams was successful [Sami Kerola]
+inclide/env:
+ - innclude c.h, remove _() macro from xsetenv() [Karel Zak]
+include:
+ - [c.h] protect container_of [maximilian attems]
+ - add /proc/locks path to pathnames [Davidlohr Bueso]
+ - add asprintf wrapper [Sami Kerola]
+ - add stream error checking facility [Sami Kerola]
+ - define format to be constant in xasprintf() [Sami Kerola]
+ - fix spurious list.h warnings [Sami Kerola]
+ - fix void pointer arithmetics warnings [Sami Kerola]
+ - move get_terminal_width() to ttyutils.h [Petr Uzel]
+ - rename writeall.h to all-io.h [Petr Uzel]
+include [optutils]:
+ - add exclusive_option() inline function [Sami Kerola]
+include/blkdev:
+ - cleanup up [Karel Zak]
+include/c:
+ - move fallback for MAXHOSTNAMELEN to c.h [Karel Zak]
+include/exitcodes:
+ - add FSCK_DESTRUCT alias [Karel Zak]
+ - clean up names, add _EX_ suffix [Karel Zak]
+include/optutils:
+ - add err_exclusive_options() [Karel Zak]
+ - remove unnecessary exclusive_option() [Karel Zak]
+include/tt:
+ - improve work with non-utf8 chars [Karel Zak]
+ - remove obsolete stuff [Karel Zak]
+include/ttyutils:
+ - more robust get_terminal_width() [Karel Zak]
+include/ttyutils.h:
+ - add include guards [Dave Reisner]
+ipcmk:
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+kill:
+ - Check the correct variable when configuring. [Thomas Schwinge]
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+kill, raw, rename:
+ - Don't explicitly enable for --enable-most-builds. [Thomas Schwinge]
+last:
+ - use min() from c.h [Karel Zak]
+ldattach:
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+lib:
+ - add fileutils function collection [Sami Kerola]
+ - add pager functionality [Davidlohr Bueso]
+ - random utilities [Davidlohr Bueso]
+lib/blkdev:
+ - fix compiler warning [-Wreturn-type] [Karel Zak]
+ - return static strings by blkdev_scsi_type_to_name() [Karel Zak]
+lib/canonicalize:
+lib/fileutils:
+ - add get_fd_tabsize() [Karel Zak]
+lib/loopdev:
+ - minor bug fix add missing semicolon [Sami Kerola]
+ - more robust initialization [Karel Zak]
+ - use warn_unused_result forimportant functions [Karel Zak]
+lib/mangle:
+ - check for end of string on every iteration [Dave Reisner]
+ - cleanup, add unhexmangle [Karel Zak]
+ - fix a memory leak in the test case [Cong Wang]
+ - remove unused variable [Karel Zak]
+lib/match:
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+lib/mbsalign:
+ - abort() when non-expected case is encountered [Sami Kerola]
+lib/pager:
+ - fix compiler warnings [Karel Zak]
+ - minor compiler warning fixes [Sami Kerola]
+ - repair build for non-Linux. [Thomas Schwinge]
+lib/strutils:
+ - add string_add_to_idarray() - parse and add to id list [Milan Broz]
+ - add string_to_bitmask() [Karel Zak]
+ - add strtosize_or_err, clean up [Karel Zak]
+ - circumvent missing localeconv() [maximilian attems]
+ - create type specific strtoxx_or_err() [Karel Zak]
+lib/sysfs:
+ - check if cxt->dir_path is NULL in sysfs_readlink() [Cong Wang]
+ - expect p<N> suffix for partitions [Karel Zak]
+ - improve sysfs_is_partition_dirent() [Karel Zak]
+ - make sysfs_partno_to_devno better readable [Bernhard Voelker]
+ - use warn_unused_result for sysfs_init() [Karel Zak]
+lib/tt:
+ - always escape '\' to simplify parsing in scripts [Karel Zak]
+ - check for non-printable chars for raw/export format [Karel Zak]
+ - count read cells, improve \x?? hex encoding [Karel Zak]
+ - encode data for RAW and EXPORT format [Karel Zak]
+ - export tt_fputs_{quoted,nonblank} function [Karel Zak]
+ - fix \x%02x usage [Karel Zak]
+ - work more sensitive with large columns [Karel Zak]
+libblkid:
+ - accept small blocks for NTFS and Reiserfs in blkid [Vladimir 'φ-coder/phcoder' Serbinenko]
+ - add dm-verity hash device detection [Milan Broz]
+ - add noreturn function attribute [Sami Kerola]
+ - add support for PARTUUID= and PARTLABEL= [Karel Zak]
+ - befs declare functions static [Petr Uzel]
+ - cast blkid_loff_t to unsigned long long [Petr Uzel]
+ - cleanup _attribute__ usage [Karel Zak]
+ - fix compiler warning [-Wsign-compare] [Karel Zak]
+ - fix sysfs context usage [Karel Zak]
+ - generate pseudo-UUID for ISO9660 image file [Andreas Vogel]
+ - properly reset chain in probe_do_wipe() [Karel Zak]
+ - remove duplicate entries in symbols [Sami Kerola]
+ - rewrite ntfs prober [Karel Zak]
+ - support UFS UUID [Vladimir 'φ-coder/phcoder' Serbinenko]
+ - trust in udev symlinks, don't verify [Karel Zak]
+ - update dm-verity scan [Milan Broz]
+ - use unsigned ints in ntfs prober [Karel Zak]
+libmount:
+ - Use binary search to compare pseudofs [Dave Reisner]
+ - add MNT_ERR_LOOPDEV [Karel Zak]
+ - add MNT_ERR_MOUNTOPT [Karel Zak]
+ - add configfs to pseudofs list [Karel Zak]
+ - add mnt_context_fstab_applied() [Karel Zak]
+ - add mnt_context_get_options() [Karel Zak]
+ - add mnt_fs_streq_srcpath() [Karel Zak]
+ - add mnt_fs_streq_target() and export all mnt_fs_streq_* [Karel Zak]
+ - add mnt_optstr_deduplicate_option() [Karel Zak]
+ - add mnt_table_find_devno() [Karel Zak]
+ - add noreturn function attribute [Sami Kerola]
+ - add special MNT_ERR_ codes [Karel Zak]
+ - add support for PARTUUID= and PARTLABEL= [Karel Zak]
+ - add support to parse /proc/swaps [Karel Zak]
+ - allow empty source for mount(2) syscall [Karel Zak]
+ - allow to disable swap between source and target [Karel Zak]
+ - avoid infinite loop in child fs iteration [Dave Reisner]
+ - canonicalize all paths from (fs)tab [Karel Zak]
+ - canonicalize targets from fstab on mount -a [Karel Zak]
+ - check VFS mount options in mnt_diff_tables() [Karel Zak]
+ - clean up MNT_FMT_* usage in parser [Karel Zak]
+ - cleanup flags usage [Karel Zak]
+ - close device fd (to avoid mount(2) EBUSY) [Karel Zak]
+ - cosmetic changes around "none" [Karel Zak]
+ - deduplicate SELinux mount options [Karel Zak]
+ - don't canonicalize target [Karel Zak]
+ - don't generate empty option strings [Karel Zak]
+ - don't treat "none" differently [Dave Reisner]
+ - don't use nosuid,noexec,nodev for cifs user=foo [Karel Zak]
+ - expose mnt_get_mountpoint as external API [Dave Reisner]
+ - fix "already mounted" detection on systems with mtab [Karel Zak]
+ - fix compiler warning [-Wsign-compare] [Karel Zak]
+ - fix mnt_context_guess_fstype() [Karel Zak]
+ - fix mount by pattern [Karel Zak]
+ - fix read before allocated buffer [Petr Uzel]
+ - fix shadow declaration [Sami Kerola]
+ - fix trivial typos [Petr Uzel]
+ - fix unmangle code [Karel Zak]
+ - improve ifdef HAVE_LIBSELINUX stuff [Karel Zak]
+ - improve mnt_tables_is_mounted [Karel Zak]
+ - make some string operations more robust [Karel Zak]
+ - optimize for paths with tailing slash [Karel Zak]
+ - plug a memory leak in exec_helper() [Petr Uzel]
+ - remount does not add entry to mtab file [Karel Zak]
+ - rename mnt_context_fstab_applied to mnt_context_tab_applied [Karel Zak]
+ - rewrite mnt_table_is_fs_mounted() to be less aggressive [Karel Zak]
+ - save task ID for mountinfo tiles [Karel Zak]
+ - trim leading commas from each options string [Dave Reisner]
+ - use mount.<type> -s for NFS only [Karel Zak]
+ - use stderr for initial debug message [Karel Zak]
+libuuid:
+ - avoid double open and leaking descriptor [Petr Uzel]
+ - avoid double open and leaking fd (reworked) [Petr Uzel]
+ - don't exec uuidd [Petr Uzel]
+ - fix typo in uuid_compare manpage [Petr Uzel]
+ - move clock.txt path to header file [Karel Zak]
+ - move read_all to include/all-io.h [Petr Uzel]
+ - use EXIT_FAILURE [Petr Uzel]
+ - use get_fd_tabsize() [Karel Zak]
+ - use max() from c.h [Petr Uzel]
+ - use randutils [Davidlohr Bueso]
+logger:
+ - avoid explicit fclose(stdout) [Dave Reisner]
+ - mark decode/pencode as static [Dave Reisner]
+ - use memcpy instead of bcopy [Dave Reisner]
+login:
+ - Include <linux/major.h> only if it exists. [Thomas Schwinge]
+ - add USER to initial environment [Dave Reisner]
+ - allow TTYGROUP name begin by number [Sami Kerola]
+ - close tty before vhangup() [Karel Zak]
+ - fix LOGIN_CHOWN_VCS code [Karel Zak]
+ - fix compiler warning [-Wsign-compare] [Karel Zak]
+ - fix segmentation fault in log_utmp [Karel Zak]
+ - minor spelling fixes [Elan Ruusamäe]
+ - minor spelling fixes [Karel Zak]
+ - support crazy shadow-utils syntax in login.defs [Karel Zak]
+ - use get_fd_tabsize() [Karel Zak]
+ - use getdtablesize() correctly in login.c [chas williams - CONTRACTOR]
+login-utils:
+ - add missing header, fix setpwnam.c fclose logic [Karel Zak]
+ - verify writing to streams was successful [Sami Kerola]
+logindefs:
+ - change getlogindefs_num() to return unsigned long [Sami Kerola]
+look:
+ - remove extra semicolon [Sami Kerola]
+losetup:
+ - Fix setting of sizelimit on new loop devices [Daniel Drake]
+ - add --detach-all to the list of options [Petr Uzel]
+ - improve -a to report loopdevs < 512 bytes [Karel Zak]
+ - more verbose failed setup error mesage [Karel Zak]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+ - use strtosize_or_err() [Karel Zak]
+ - warn about backing file size [Karel Zak]
+lsblk:
+ - RQ-SIZE is part of the --topology output (man page bugfix) [Dave Reisner]
+ - add --include option [Karel Zak]
+ - add --version switch [Milan Broz]
+ - add WWN, improve udev support [Karel Zak]
+ - add inverse tree support (-s) [Peter Rajnoha]
+ - add not about unstable default output [Karel Zak]
+ - add read-ahead column. [Milan Broz]
+ - add support for PARTUUID= and PARTLABEL= [Karel Zak]
+ - check ioctl result [coverity scan] [Karel Zak]
+ - check sysfs_read_u64 return code [coverity scan] [Karel Zak]
+ - count with terminating character, man page -s entry [Peter Rajnoha]
+ - escape unsafe chars in parsable output [Karel Zak]
+ - fix /sys/.../ro usage [Karel Zak]
+ - fix dm_name usage [Karel Zak]
+ - fix usage, improve exclude/include lists parsing [Karel Zak]
+ - improve man page wording [Regid Ichira]
+ - permit option --exclude more than once [Bernhard Voelker]
+ - remove (dm-N) from NAME for raw/pair output format [Karel Zak]
+ - remove private \x<hex> coding, decode data from udev [Karel Zak]
+ - support -o +<attr> for adding attribute to output fields. [Milan Broz]
+ - use blkdev_scsi_type_to_name() [Sami Kerola]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+ - use fallback for TYPE [Karel Zak]
+ - use libmount to get mountpoints/swaps [Karel Zak]
+ - use readlink_at from at.c [Karel Zak]
+lscpu:
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+ - fix compiler warning [-Wsign-compare] [Karel Zak]
+ - fix possibly undefined operation [Petr Uzel]
+ - fix shadow declaration [Sami Kerola]
+ - limit options --all, --online, --offline to parsable and extended output [Heiko Carstens]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+ - values in /proc/bus/pci/devices are always unsigned [Sami Kerola]
+lslock:
+ - remove duplicate variable [Karel Zak]
+lslocks:
+ - add --notruncate, minor fixes in man page [Karel Zak]
+ - add TYPE column [Davidlohr Bueso]
+ - add lslocks.8 man page [Davidlohr Bueso]
+ - fix bracket indentation [Davidlohr Bueso]
+ - fix shadow declaration [Sami Kerola]
+ - minor fix in usage() [Karel Zak]
+ - new command [Davidlohr Bueso]
+ - use xasprintf for safe allocation [Sami Kerola]
+mesg:
+ - use rpmatch to yes/no question [Sami Kerola]
+misc:
+ - clenaup SIZE columns in lsblk and findmnt [Karel Zak]
+misc-utils:
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - cleanup unused strings.h includes [maximilian attems]
+ - fix typos [Davidlohr Bueso]
+ - verify writing to streams was successful [Sami Kerola]
+mkfs.cramfs:
+ - disallow unknown command line options [Sami Kerola]
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+ - remove unused 'MIN' macro definition [Petr Uzel]
+mkswap:
+ - allow creating swap on /dev/hd[ab] [Petr Uzel]
+ - fix shadow declaration [Sami Kerola]
+ - improve diagnostics message if the device is mounted [Petr Uzel]
+ - use is_mounted() instead of check_mount() [Petr Uzel]
+more:
+ - add noreturn function attribute [Sami Kerola]
+ - fix pointer wrap around compiler warnings [Sami Kerola]
+ - fix regex error messages printing [Karel Zak]
+ - fix search repetition regression [Sami Kerola]
+ - fix shadow declaration [Sami Kerola]
+ - fix typos [Davidlohr Bueso]
+ - remove a meaningless test [Jeremy Huntwork]
+mount:
+ - (new) add 'internal-only(i)' to non-root allowed options [Raghavendra D Prabhu]
+ - (new) add --source and --target [Karel Zak]
+ - (new) add loopdev specific error message [Karel Zak]
+ - (new) add missing xalloc.h [Karel Zak]
+ - (new) add note about unsupported 'ignore' fstype to fstab.5 [Karel Zak]
+ - (new) add support for PARTUUID= and PARTLABEL= [Karel Zak]
+ - (new) allow sloppy for non-root [Karel Zak]
+ - (new) be more pedantic about --make-* [Karel Zak]
+ - (new) cleanup mount -a return codes [Karel Zak]
+ - (new) fix MS_REC usage [Karel Zak]
+ - (new) improve error messages [Karel Zak]
+ - (new) use MNT_ERR_ for error messages [Karel Zak]
+ - (new) use exclusive_option() [Sami Kerola]
+ - (old) check for LD_FLAGS_AUTOCLEAR more carefully [Karel Zak]
+ - (old) fix encryption= usage [Karel Zak]
+ - (old) remove hybrid libmount code [Karel Zak]
+ - (old) remove mtab lock test [Karel Zak]
+ - ext4 option inode_readahead should be inode_readahead_blks in mount.8 [Eryu Guan]
+ - fix man page typo s/reatime/relatime/ [Karel Zak]
+ - fix recursively propagation mounting [Dong Hao]
+ - remove unnecessary free() [Karel Zak]
+ - replace control chars in mountpoint name [Karel Zak]
+ - use err_exclusive_options() [Karel Zak]
+ - verify writing to streams was successful [Sami Kerola]
+mountpoint:
+ - account for error from in mnt_fs_get_target [Dave Reisner]
+ - add --version & align with howto-usage-function.txt [Sami Kerola]
+ - fix a minor bug with 0 0 devno [Zhi Li]
+namei:
+ - fix relative symlinks evaluation [Karel Zak]
+partx:
+ - add --version option [Sami Kerola]
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - support -o +<attr> for adding attribute to output fields [Milan Broz]
+ - use -s option for default output [Davidlohr Bueso]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+ - verify writing to streams was successful [Sami Kerola]
+pathnames:
+ - clean up various user database paths [Sami Kerola]
+pg:
+ - align with howto-usage-function.txt [Sami Kerola]
+ - correct version printing in help screen [Sami Kerola]
+po:
+ - add *.h stuff to POTFILES [Karel Zak]
+ - merge changes [Karel Zak]
+ - update cs.po (from translationproject.org) [Petr PĂ­saĹ™]
+ - update da.po (from translationproject.org) [Joe Hansen]
+ - update de.po (from translationproject.org) [Arun Persaud]
+ - update fr.po (from translationproject.org) [David Prévot]
+ - update ja.po (from translationproject.org) [Takeshi Hamasaki]
+ - update nl.po (from translationproject.org) [Benno Schulenberg]
+ - update pl.po (from translationproject.org) [Jakub Bogusz]
+ - update uk.po (from translationproject.org) [Yuri Chornoivan]
+ - update vi.po (from translationproject.org) [Trần Ngọc Quân]
+ - update zh_CN.po (from translationproject.org) [Wylmer Wang]
+prlimit:
+ - improve error messages for bad --pid invocation [Bernhard Voelker]
+ - remove bogus instructions [Davidlohr Bueso]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+raw:
+ - add long options and version printing [Sami Kerola]
+ - align with howto-usage-function.txt [Sami Kerola]
+ - check numeric user inputs [Sami Kerola]
+ - clean up coding style [Sami Kerola]
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+ - use libc error printing facilities [Sami Kerola]
+ - use pathnames.h for file locations [Sami Kerola]
+ - use symbolic exit numbers [Sami Kerola]
+reset:
+ - make scripts bourne sh compliant [checkbashisms] [Sami Kerola]
+resizepart:
+ - add new command [Karel Zak, Vivek Goyal]
+ - remove debug message [Karel Zak]
+rev:
+ - mention tac(1) in 'SEE ALSO' man page section [James R. Van Zandt]
+rtcwake:
+ - only invoke RTC_AIE_ON/OFF ioctls in pairs [Paul Fox]
+ - tiny coding style change [Karel Zak]
+schedutils:
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - verify writing to streams was successful [Sami Kerola]
+script:
+ - add noreturn function attributes [Sami Kerola]
+ - error in usage() output [Sami Kerola]
+ - play well with csh when invoked from within /etc/csh.login [Karel Zak]
+ - remove unused code [Karel Zak]
+scriptreplay:
+ - fix compiler format warning [Sami Kerola]
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+setarch:
+ - disallow unknown command line options [Sami Kerola]
+ - do not use -1 as array index [cppcheck] [Sami Kerola]
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+setpwnam:
+ - use xmkstemp() and lckpwdf() [Sami Kerola]
+setsid:
+ - Include <sys/ioctl.h> instead of <termio.h>. [Thomas Schwinge]
+ - add option "-c" to set the controlling terminal [Harald Hoyer]
+ - cleanup usage() [Karel Zak]
+ - fix off-by-one error in execvp call [Bernhard Voelker]
+setterm:
+ - correct manual page reference [Sami Kerola]
+ - fix shadow declaration [Sami Kerola]
+sfdisk:
+ - fix calculation due to type mismatch (ix86) [Petr Uzel]
+ - fix compiler warning [-Wunused-result] [Petr Uzel]
+ - improve F_MEGABYTE header [Bernhard Voelker]
+ - make -l less verbose about missing PT [Karel Zak]
+ - use rpmatch to yes/no question [Sami Kerola]
+strutils:
+ - return success on test program [Davidlohr Bueso]
+su:
+ - Add AM_LDFLAGS to su_LDFLAGS. [Thomas Schwinge]
+ - Don't include the unused <sys/fsuid.h> [Thomas Schwinge]
+ - Mention SUID_* feature. [Thomas Schwinge]
+ - align with howto-usage-function [Sami Kerola]
+ - cleanup man page [Karel Zak]
+ - don't use custom MAX macro [Ludwig Nussel]
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+ - fix compiler warning [-Wunused-parameter] [Karel Zak]
+ - introduce xsetenv globally [Ludwig Nussel]
+ - preserve errno in cleanup_pam() [Ludwig Nussel]
+ - remove program_name [Karel Zak]
+ - remove unimplemented options -u and -v [Bernhard Voelker]
+ - remove unused code [Ludwig Nussel]
+ - replace PAM_BAIL_P macro with better solution [Ludwig Nussel]
+ - use BSD err function instead of gnu's error() [Ludwig Nussel]
+ - use ENV_PATH resp ENV_SUPATH to be consistent with login [Ludwig Nussel]
+ - use EXIT_FAILURE consistently [Ludwig Nussel]
+ - use xstrdup() [Karel Zak]
+sulogin:
+ - add i18n strings [Dave Reisner]
+ - add long options [Karel Zak]
+ - add note about port to util-linux to the man page [Karel Zak]
+ - check chdir and getcwd return values [-Wunused-result] [Karel Zak]
+ - cleanup comments [Karel Zak]
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - fix selinux build [Karel Zak]
+ - fix shadow declaration [Sami Kerola]
+ - get rid of calls to /bin/sash [Dave Reisner]
+ - header/include cleanup [Dave Reisner]
+ - initial import from sysvinit [Dave Reisner]
+ - initialize nls stuff [Karel Zak]
+ - parse timeout more carefully [Karel Zak]
+ - remove CHECK_{DES,MD5} defines [Dave Reisner]
+ - remove USE_ONELINE and SANE_TIO defines [Dave Reisner]
+ - replace older signal() with sigaction() [Dave Reisner]
+ - replace perror() with warx() [Karel Zak]
+ - share vc initialization with agetty [Karel Zak]
+ - sulogin.8 refactor manpage [Dave Reisner]
+ - use EXIT_* [Karel Zak]
+ - use a more standard usage output [Dave Reisner]
+ - use err.h stuff [Karel Zak]
+ - use pathnames.h for file locations [Dave Reisner]
+ - use size_t for iterator to avoid cast [Dave Reisner]
+ - whitespace fixes [Dave Reisner]
+swaplabel:
+ - add --version and align with howto-usage-function.txt [Sami Kerola]
+ - check blkid_probe_lookup_value() result [coverity scan] [Karel Zak]
+swapoff:
+ - cleanup usage() and includes [Karel Zak]
+ - move code from swapon.c to swapoff.c [Karel Zak]
+ - use libmount to parse fstab [Karel Zak]
+swapon:
+ - add --show option [Sami Kerola]
+ - add support for PARTUUID= and PARTLABEL= [Karel Zak]
+ - cleanup main() [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - fix --summary output regression [Sami Kerola]
+ - fix typo [Karel Zak]
+ - kill unused variables in show_table() [Petr Uzel]
+ - make --show size to be human readable by default [Sami Kerola]
+ - minor coding style changes [Karel Zak]
+ - move generic code to swapon-common.c [Karel Zak]
+ - remove unused variables [Sami Kerola]
+ - use directly blkid rather than fsprobe wrapper [Karel Zak]
+ - use libmount for /proc/swaps parsing [Karel Zak]
+ - use libmount for fstab parsing (for swapon --all) [Karel Zak]
+ - use only libmount for paths/tags evealuation [Karel Zak]
+sys-utils:
+ - avoid duplicate reference to fstab.5 [Dave Reisner]
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - fix typos [Davidlohr Bueso]
+ - verify writing to streams was successful [Sami Kerola]
+sysfs:
+ - fix printf format warnings [Sami Kerola]
+ - move blkid_devno_to_wholedisk to sysfs_devno_to_wholedisk [Michal Luscon]
+tailf:
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+term-utils:
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - verify writing to streams was successful [Sami Kerola]
+test:
+ - test 'none' source for mount(8) [Karel Zak]
+test_sysinfo:
+ - fix compiler warning [-Wmissing-prototypes] [Karel Zak]
+tests:
+ - add UFS uuids to results [Karel Zak]
+ - add layout info to dos mode test [Karel Zak]
+ - add libmount optstr deduplicate [Karel Zak]
+ - add losetup/mount encryption test [Karel Zak]
+ - add lscpu test for box with 64 CPUs [Karel Zak]
+ - add lslocks to build-sys tests [Karel Zak]
+ - add non-dos mode fdisk test [Karel Zak]
+ - add swapon tests for --fixpgsz and fix signature [Karel Zak]
+ - add tests for mount --make-* stuff [Karel Zak]
+ - add umount-by-eject tests [Karel Zak]
+ - blkid/md-raid1-part fails [Bernhard Voelker]
+ - check for 'make check' [Karel Zak]
+ - cleanup ts_is_mounted [Bernhard Voelker]
+ - hwclock locate ntpdate by using path [Sami Kerola]
+ - look add words file [Sami Kerola]
+ - make blkid/md-raid1-part more robust [Bernhard Voelker]
+ - make compatible with autotools [Karel Zak]
+ - make output and diff dirs usage more robust [Karel Zak]
+ - more robust symlinks usage [Karel Zak]
+ - partx changed default output format [Sami Kerola]
+ - remove LD_LIBRARY_PATH from swapon tests [Karel Zak]
+ - remove lt- prefixes [Karel Zak]
+ - rename doslabel test [Karel Zak]
+ - search for "none" by findmnt [Karel Zak]
+ - search mount point in canonicalized form in /proc/mounts [Bernhard Voelker]
+ - standardize fdisk headers in MBR tests [Karel Zak]
+ - test non-canonical paths in fstab [Karel Zak]
+ - tiny change in output header [Karel Zak]
+ - update [Karel Zak]
+ - update blkid tests with fdisk output [Karel Zak]
+ - update build-sys tests [Karel Zak]
+ - update fdisk test [Karel Zak]
+ - update fdisk test (default output format changed) [Petr Uzel]
+ - update iso tests [Karel Zak]
+ - update libmount tests [Karel Zak]
+ - update non-lib build tests [Karel Zak]
+ - update oddinput test [Karel Zak]
+ - update partx, add missing whitespace [Karel Zak]
+ - update paths to helpers [Karel Zak]
+ - use eject --force [Karel Zak]
+ - use ts_is_mounted in mount/regfile [Bernhard Voelker]
+ - wait a moment between mount and umount [Karel Zak]
+text-utils:
+ - cleanup strtoxx_or_err() [Karel Zak]
+ - use min() from c.h [Petr Uzel]
+ - verify writing to streams was successful [Sami Kerola]
+text-utils/hexsyntax.c:
+ - fix for missing program_invocation_short_name [Andreas BieĂźmann]
+tools:
+ - add asprintf to checkxalloc script [Sami Kerola]
+ - add checkmans.sh [Sami Kerola]
+ - add small and stupid script to check HAVE_DECL_ [Karel Zak]
+ - checkconfig.sh make scripts bourne sh compliant [checkbashisms] [Sami Kerola]
+ - cleanup config-gen.d [Karel Zak]
+ - config-gen make scripts bourne sh compliant [checkbashisms] [Sami Kerola]
+ - improve ko-release-* scripts [Karel Zak]
+ - ko-release make scripts bourne sh compliant [checkbashisms] [Sami Kerola]
+translation:
+ - unify file open error messages [Sami Kerola]
+ - unify stat error messages [Sami Kerola]
+tunelp:
+ - check fstat return code [coverity scan] [Karel Zak]
+ - remove old, now unneeded header [Dave Reisner]
+ul:
+ - fix shadow declaration [Sami Kerola]
+util-linux:
+ - Document new FAT options [Steven J. Magnani]
+utmpdump:
+ - add NLS and closestream support [Karel Zak]
+ - add long options [Karel Zak]
+ - cleanup comments, funcs definition lines [Karel Zak]
+ - cleanup file descriptor usage [Karel Zak]
+ - cleanup usage() [Karel Zak]
+ - document optional filename argument [Bernhard Voelker]
+ - encourage users not to follow stdin [Sami Kerola]
+ - fix compiler warning [-Wunused-result] [Karel Zak]
+ - fixes based on static analysis [cppcheck] [Sami Kerola]
+ - kill unused variable in follow_by_inotify() [Petr Uzel]
+ - new command, merge from sysvinit [Karel Zak]
+ - remove dead code [Karel Zak]
+ - remove libc5 support [Karel Zak]
+ - remove unused variable [Sami Kerola]
+ - use err.h stuff [Karel Zak]
+ - use help and version output macros [Sami Kerola]
+ - use inotify to when following file [Sami Kerola, Karel Zak]
+ - use xalloc.h, minor coding style changes [Karel Zak]
+ - white space fix [Sami Kerola]
+uuidd:
+ - add systemd unit files [Petr Uzel]
+ - do not drop privileges [Petr Uzel]
+ - factor out pidfile creation into separate function [Petr Uzel]
+ - factor out socket creation into separate function [Petr Uzel]
+ - implement --no-fork option [Petr Uzel]
+ - implement --no-pid option [Petr Uzel]
+ - implement --socket-activation option [Petr Uzel]
+ - improve systemd unit files [Karel Zak]
+ - introduce uuidd_cxt to pass arguments to server loop [Petr Uzel]
+ - move from /var/run/uuidd to /run/uuidd [Karel Zak]
+ - print all debugging information to stderr [Petr Uzel]
+ - remove unnecessary variables [Karel Zak]
+ - remove useless initialization of cleanup_socket [Petr Uzel]
+ - use UUIDD_OP_GETPID instead of magic number [Petr Uzel]
+ - use configured run state directory in manual etc [Sami Kerola]
+ - use ignore_result helper [Petr Uzel]
+ - use output redirection which works [checkbashisms] [Sami Kerola]
+ - use run configured state directory [Sami Kerola]
+vipw:
+ - add noreturn function attribute [Sami Kerola]
+ - make vim writebackup mode work [Sami Kerola]
+ - use rpmatch to yes/no question [Sami Kerola]
+ - use xmkstemp() and lckpwdf() [Sami Kerola]
+wall:
+ - use xmkstemp for temporary file [Sami Kerola]
+wdctl:
+ - add "--settimeout" to set the timeout [Harald Hoyer]
+ - add --flags-only and optional column DEVICE [Karel Zak]
+ - add --oneline [Karel Zak]
+ - add man page [Karel Zak]
+ - add watchdog status tool [Lennart Poettering]
+ - align with other util-linux commands [Sami Kerola]
+ - allow to specify more than one device [Karel Zak]
+ - correct manual section reference [Sami Kerola]
+ - fix conflicting types on old systems [Sami Kerola]
+ - make timeouts output more parsable [Karel Zak]
+ - rewrite to use lib/tt [Karel Zak]
+ - tiny change to man page [Karel Zak]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+whereis:
+ - cleanup man page, add note about $PATH [Karel Zak]
+ - fix shadow declaration [Karel Zak]
+wipefs:
+ - Fix mismatch if more -o options used. [Milan Broz]
+ - add quiet flag (-q) [Milan Broz]
+ - always print devname [Karel Zak]
+ - support more device arguments for wipefs [Milan Broz]
+ - use err_exclusive_options() [Karel Zak]
+ - use exclusive_option() [Sami Kerola]
+ - use strtosize_or_err() [Karel Zak]
+ - use symbolic value for markup mode [Sami Kerola]
+write:
+ - Don't explicitly include <asm/param.h>. [Thomas Schwinge]
+ - Use PATH_MAX instead of MAXPATHLEN, as elsewhere. [Thomas Schwinge]
+xalloc:
+ - use xasprintf in all files [Sami Kerola]
diff --git a/Documentation/sfdisk.txt b/Documentation/sfdisk.txt
new file mode 100644
index 0000000..13e671d
--- /dev/null
+++ b/Documentation/sfdisk.txt
@@ -0,0 +1,264 @@
+Examples of the use of sfdisk 3.0 (to partition a disk)
+Input lines have fields <start>,<size>,<type>... - see sfdisk.8.
+Usually no <start> is given, and input lines start with a comma.
+
+Before doing anything with a disk, make sure it is not in use;
+unmount all its file systems, and say swapoff to its swap partitions.
+(The final BLKRRPART ioctl will fail if anything else still uses
+the disk, and you will have to reboot. It is easier to first make
+sure that nothing uses the disk, e.g., by testing:
+ % umount /dev/sdb1
+ % sfdisk -R /dev/sdb
+ BLKRRPART: Device or resource busy
+ * Device busy for revalidation (usage=2)
+ % swapoff /dev/sdb3
+ % sfdisk -R /dev/sdb
+ * sdb: sdb1 < sdb5 sdb6 > sdb3
+ %
+Note that the starred messages are kernel messages, that may be
+logged somewhere, or written to some other console.
+In sfdisk 3.01 sfdisk automatically does this check, unless told not to.)
+
+1. One big partition:
+ sfdisk /dev/hda << EOF
+ ;
+ EOF
+
+(If there was garbage on the disk before, you may get error messages
+like: `ERROR: sector 0 does not have an msdos signature'
+and `/dev/hda: unrecognized partition'. This does not matter
+if you write an entirely fresh partition table anyway.)
+
+The output will be:
+-----------------------------------------------------------------------
+Old situation:
+...
+New situation:
+Units = cylinders of 208896 bytes, blocks of 1024 bytes, counting from 0
+
+ Device Boot Start End #cyls #blocks Id System
+/dev/hda1 0+ 1023 1024- 208895+ 83 Linux native
+Successfully wrote the new partition table
+ hda: hda1
+-----------------------------------------------------------------------
+Writing and rereading the partition table takes a few seconds -
+don't be alarmed if nothing happens for six seconds or so.
+
+
+2. Three primary partitions: two of size 50MB and the rest:
+ sfdisk /dev/hda -uM << EOF
+ ,50
+ ,50
+ ;
+ EOF
+-----------------------------------------------------------------------
+New situation:
+Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
+
+ Device Boot Start End MB #blocks Id System
+/dev/hda1 0+ 50- 51- 51203+ 83 Linux native
+/dev/hda2 50+ 100- 51- 51204 83 Linux native
+/dev/hda3 100+ 203 104- 106488 83 Linux native
+Successfully wrote the new partition table
+ hda: hda1 hda2 hda3
+-----------------------------------------------------------------------
+/dev/hda1 is one block (in fact only half a block) shorter than
+/dev/hda2 because its start had to be shifted away from zero in
+order to leave room for the Master Boot Record (MBR).
+
+
+3. A 1MB OS2 Boot Manager partition, a 50MB DOS partition,
+ and three extended partitions (DOS D:, Linux swap, Linux):
+ sfdisk /dev/hda -uM << EOF
+ ,1,a
+ ,50,6
+ ,,E
+ ;
+ ,20,4
+ ,16,S
+ ;
+ EOF
+-----------------------------------------------------------------------
+ Device Boot Start End MB #blocks Id System
+/dev/hda1 0+ 1- 2- 1223+ a OS/2 Boot Manager
+/dev/hda2 1+ 51- 51- 51204 6 DOS 16-bit FAT >=32M
+/dev/hda3 51+ 203 153- 156468 5 Extended
+/dev/hda4 0 - 0 0 0 Empty
+/dev/hda5 51+ 71- 21- 20603+ 4 DOS 16-bit FAT <32M
+/dev/hda6 71+ 87- 17- 16523+ 82 Linux swap
+/dev/hda7 87+ 203 117- 119339+ 83 Linux native
+Successfully wrote the new partition table
+ hda: hda1 hda2 hda3 < hda5 hda6 hda7 >
+-----------------------------------------------------------------------
+All these rounded numbers look better in cylinder units:
+ % sfdisk -l /dev/hda
+-----------------------------------------------------------------------
+ Device Boot Start End #cyls #blocks Id System
+/dev/hda1 0+ 5 6- 1223+ a OS/2 Boot Manager
+/dev/hda2 6 256 251 51204 6 DOS 16-bit FAT >=32M
+/dev/hda3 257 1023 767 156468 5 Extended
+/dev/hda4 0 - 0 0 0 Empty
+/dev/hda5 257+ 357 101- 20603+ 4 DOS 16-bit FAT <32M
+/dev/hda6 358+ 438 81- 16523+ 82 Linux swap
+/dev/hda7 439+ 1023 585- 119339+ 83 Linux native
+-----------------------------------------------------------------------
+But still - why does /dev/hda5 not start on a cylinder boundary?
+Because it is contained in an extended partition that does.
+Of the chain of extended partitions, usually only the first is
+shown. (The others have no name under Linux anyway.) But
+these additional extended partitions can be made visible:
+ % sfdisk -l -x /dev/hda
+-----------------------------------------------------------------------
+ Device Boot Start End #cyls #blocks Id System
+/dev/hda1 0+ 5 6- 1223+ a OS/2 Boot Manager
+/dev/hda2 6 256 251 51204 6 DOS 16-bit FAT >=32M
+/dev/hda3 257 1023 767 156468 5 Extended
+/dev/hda4 0 - 0 0 0 Empty
+
+/dev/hda5 257+ 357 101- 20603+ 4 DOS 16-bit FAT <32M
+ - 358 1023 666 135864 5 Extended
+ - 257 256 0 0 0 Empty
+ - 257 256 0 0 0 Empty
+
+/dev/hda6 358+ 438 81- 16523+ 82 Linux swap
+ - 439 1023 585 119340 5 Extended
+ - 358 357 0 0 0 Empty
+ - 358 357 0 0 0 Empty
+
+/dev/hda7 439+ 1023 585- 119339+ 83 Linux native
+ - 439 438 0 0 0 Empty
+ - 439 438 0 0 0 Empty
+ - 439 438 0 0 0 Empty
+-----------------------------------------------------------------------
+
+Why the empty 4th input line? The description of the extended partitions
+starts after that of the four primary partitions.
+You force an empty partition with a ",0" input line, but here all
+space was divided already, so the fourth partition became empty
+automatically.
+
+How did I know about 4,6,a,E,S? Well, E,S,L stand for Extended,
+Swap and Linux. The other values are hexadecimal and come from
+the table:
+ % sfdisk -T
+ Id Name
+
+ 0 Empty
+ 1 DOS 12-bit FAT
+ 2 XENIX root
+ 3 XENIX usr
+ 4 DOS 16-bit FAT <32M
+ 5 Extended
+ 6 DOS 16-bit FAT >=32M
+ 7 OS/2 HPFS or QNX or Advanced UNIX
+ 8 AIX data
+ 9 AIX boot or Coherent
+ a OS/2 Boot Manager
+ ...
+
+
+4. Preserving the sectors changed by sfdisk.
+ % sfdisk -O save-hdd-partition-sectors /dev/hda
+ ...
+ will write the sectors overwritten by sfdisk to file.
+ If you notice that you trashed some partition, you may
+ be able to restore things by
+ % sfdisk -I save-hdd-partition-sectors /dev/hda
+ %
+
+5. Preserving some old partitions.
+ % sfdisk -N2 /dev/hda
+ ...
+ will only change the partition /dev/hda2, and leave the rest
+ unchanged. The most obvious application is to change an Id:
+ % sfdisk -N7 /dev/hda
+ ,,63
+ %
+-----------------------------------------------------------------------
+Old situation:
+
+ Device Boot Start End #cyls #blocks Id System
+/dev/hda1 0+ 5 6- 1223+ a OS/2 Boot Manager
+...
+/dev/hda6 358+ 438 81- 16523+ 82 Linux swap
+/dev/hda7 439+ 1023 585- 119339+ 83 Linux native
+
+New situation:
+
+ Device Boot Start End #cyls #blocks Id System
+/dev/hda1 0+ 5 6- 1223+ a OS/2 Boot Manager
+...
+/dev/hda6 358+ 438 81- 16523+ 82 Linux swap
+/dev/hda7 439+ 1023 585- 119339+ 63 GNU HURD
+-----------------------------------------------------------------------
+ Note that changing a logical partition into an empty partition
+ will decrease the number of all subsequent logical partitions.
+
+6. Deleting a partition.
+At first I thought of having an option -X# for deleting partitions,
+but there are several ways in which a partition can be deleted, and
+it is probably better to handle this just as a general change.
+ % sfdisk -d /dev/hda > ohda
+will write the current tables on the file `ohda'.
+-----------------------------------------------------------------------
+% cat ohda
+# partition table of /dev/hda
+unit: sectors
+
+/dev/hda1 : start= 1, size= 40799, Id= 5
+/dev/hda2 : start= 40800, size= 40800, Id=83
+/dev/hda3 : start= 81600, size= 336192, Id=83
+/dev/hda4 : start= 0, size= 0, Id= 0
+/dev/hda5 : start= 2, size= 40798, Id=83
+-----------------------------------------------------------------------
+In order to delete the partition on /dev/hda3, edit this file
+and feed the result to sfdisk again.
+-----------------------------------------------------------------------
+% emacs ohda
+% cat ohda
+# partition table of /dev/hda
+unit: sectors
+
+/dev/hda1 : start= 1, size= 40799, Id= 5
+/dev/hda2 : start= 40800, size= 40800, Id=83
+/dev/hda3 : start= 0, size= 0, Id= 0
+/dev/hda4 : start= 0, size= 0, Id= 0
+/dev/hda5 : start= 2, size= 40798, Id=83
+% sfdisk /dev/hda < ohda
+Old situation:
+Units = cylinders of 208896 bytes, blocks of 1024 bytes, counting from 0
+
+ Device Boot Start End #cyls #blocks Id System
+/dev/hda1 0+ 99 100- 20399+ 5 Extended
+/dev/hda2 100 199 100 20400 83 Linux native
+/dev/hda3 200 1023 824 168096 83 Linux native
+/dev/hda4 0 - 0 0 0 Empty
+/dev/hda5 0+ 99 100- 20399 83 Linux native
+New situation:
+Units = sectors of 512 bytes, counting from 0
+
+ Device Boot Start End #sectors Id System
+/dev/hda1 1 40799 40799 5 Extended
+/dev/hda2 40800 81599 40800 83 Linux native
+/dev/hda3 0 - 0 0 Empty
+/dev/hda4 0 - 0 0 Empty
+/dev/hda5 2 40799 40798 83 Linux native
+Successfully wrote the new partition table
+% sfdisk -l -V /dev/hda
+
+Disk /dev/hda: 12 heads, 34 sectors, 1024 cylinders
+Units = cylinders of 208896 bytes, blocks of 1024 bytes, counting from 0
+
+ Device Boot Start End #cyls #blocks Id System
+/dev/hda1 0+ 99 100- 20399+ 5 Extended
+/dev/hda2 100 199 100 20400 83 Linux native
+/dev/hda3 0 - 0 0 0 Empty
+/dev/hda4 0 - 0 0 0 Empty
+/dev/hda5 0+ 99 100- 20399 83 Linux native
+/dev/hda: OK
+-----------------------------------------------------------------------
+This is a good way of making changes: dump the current status
+to file, edit the file, and feed it to sfdisk.
+Preserving the file on some other disk could be useful:
+if ever the MBR gets thrashed it can be used to restore
+the old situation.
diff --git a/Documentation/source-code-management.txt b/Documentation/source-code-management.txt
new file mode 100644
index 0000000..cb192c7
--- /dev/null
+++ b/Documentation/source-code-management.txt
@@ -0,0 +1,29 @@
+SCM (source code management):
+
+ git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git util-linux
+
+Branches:
+
+ * maintenance (stable) branch
+ - created for every <major>.<minor> release
+ - branch name: stable/v<major>.<minor>
+
+ * bugfix branch
+ - created for <major>.<minor>.<maint> release for
+ critical/security bugs only
+ - this branch is optional
+ - branch name: stable/v<major>.<minor>.<maint>
+
+ * master branch
+ - the status of this branch is: "it works for me". It
+ means useful but not well tested patches.
+ - it's source for occasional snapshots
+ - for long-term development or invasive changes should be
+ an active development forked into a separate branch
+ (topic branches) from the tip of "master".
+
+ * A new tag object is created for:
+ - every release, tag name: v<version>
+
+ * KNOWN BUGS:
+ - tag v2.13.1 is typo. Please, ignore this tag.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..a540f0e
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,195 @@
+AM_CPPFLAGS = \
+ -include config.h \
+ -I$(top_srcdir)/include \
+ -DLOCALEDIR=\"$(localedir)\" \
+ -D_PATH_LOCALSTATEDIR=\"${localstatedir}\"
+AM_CFLAGS = -fsigned-char $(WARN_CFLAGS)
+AM_LDFLAGS =
+
+# Add gettext stuff to the global LDADD for systems with separate libintl
+# library. The LTLIBINTL is generated by AM_GNU_GETTEXT macro.
+#
+LDADD = $(LTLIBINTL)
+
+# Automake (at least up to 1.10) mishandles dist_man_MANS inside conditionals.
+# Unlike with other dist primaries, the files are not distributed if the
+# conditional is false.
+# Work the bug around until it is fixed:
+dist_noinst_DATA = $(dist_man_MANS)
+
+# Paths to in-tree libraries (use ul_ prefix to avoid possible collisions)
+# Note that blkid.h and libmount.h are generated and stored in build dirs.
+#
+ul_libblkid_incdir = $(top_builddir)/libblkid/src
+ul_libmount_incdir = $(top_builddir)/libmount/src
+ul_libuuid_incdir = $(top_srcdir)/libuuid/src
+
+pkgconfigdir = $(usrlib_execdir)/pkgconfig
+
+dist_noinst_HEADERS =
+noinst_PROGRAMS =
+noinst_LTLIBRARIES =
+usrbin_exec_PROGRAMS =
+usrsbin_exec_PROGRAMS =
+dist_man_MANS =
+man_MANS =
+pkgconfig_DATA =
+usrlib_exec_LTLIBRARIES =
+bin_PROGRAMS =
+sbin_PROGRAMS =
+dist_usrbin_exec_SCRIPTS =
+systemdsystemunit_DATA =
+ruman1_DATA =
+check_PROGRAMS =
+TESTS =
+
+PATHFILES =
+
+INSTALL_EXEC_HOOKS =
+UNINSTALL_HOOKS =
+INSTALL_DATA_HOOKS =
+CLEAN_LOCALS =
+CHECK_LOCALS =
+
+EXTRA_DIST = man/ru/ddate.1
+CLEANFILES =
+
+SUBDIRS = po
+
+RCS_FIND_IGNORE = \( -name SCCS -o -name BitKeeper -o -name .svn -o \
+ -name CVS -o -name .pc -o -name .hg -o -name .git \) -prune -o
+
+ACLOCAL_AMFLAGS = -I m4
+
+EXTRA_DIST += \
+ .version \
+ autogen.sh \
+ Documentation \
+ po/update-potfiles \
+ README.licensing \
+ tools/git-version-gen
+
+
+include include/Makemodule.am
+include lib/Makemodule.am
+include libuuid/Makemodule.am
+include libblkid/Makemodule.am
+include libmount/Makemodule.am
+
+include schedutils/Makemodule.am
+include text-utils/Makemodule.am
+include term-utils/Makemodule.am
+include login-utils/Makemodule.am
+include mount-deprecated/Makemodule.am
+include sys-utils/Makemodule.am
+include misc-utils/Makemodule.am
+include disk-utils/Makemodule.am
+include fdisks/Makemodule.am
+
+include tests/Makemodule.am
+
+#
+# Don't rely on configure.ac AC_CONFIG_FILES for install paths.
+#
+# The paths should be expanded at make time rather than configure:
+# - to support 'make install prefix=/foo DESTDIR=/foo'
+# - to recursively expands the paths (e.g. AC_CONFIG_FILES expands
+# '@usrsbin_execdir@' to ${exec_prefix}/sbin')
+#
+edit_cmd = sed \
+ -e 's|@prefix[@]|$(prefix)|g' \
+ -e 's|@exec_prefix[@]|$(exec_prefix)|g' \
+ -e 's|@sysconfdir[@]|$(sysconfdir)|g' \
+ -e 's|@datadir[@]|$(datadir)|g' \
+ -e 's|@sbindir[@]|$(sbindir)|g' \
+ -e 's|@bindir[@]|$(bindir)|g' \
+ -e 's|@includedir[@]|$(includedir)|g' \
+ -e 's|@localstatedir[@]|$(localstatedir)|g' \
+ -e 's|@usrlib_execdir[@]|$(usrlib_execdir)|g' \
+ -e 's|@usrbin_execdir[@]|$(usrbin_execdir)|g' \
+ -e 's|@usrsbin_execdir[@]|$(usrsbin_execdir)|g' \
+ -e 's|@VERSION[@]|$(VERSION)|g' \
+ -e 's|@LIBUUID_VERSION[@]|$(LIBUUID_VERSION)|g' \
+ -e 's|@LIBMOUNT_VERSION[@]|$(LIBMOUNT_VERSION)|g' \
+ -e 's|@LIBBLKID_VERSION[@]|$(LIBBLKID_VERSION)|g'
+
+CLEANFILES += $(PATHFILES)
+EXTRA_DIST += $(PATHFILES:=.in)
+
+$(PATHFILES): Makefile
+ @ rm -f $@ $@.tmp
+ $(AM_V_GEN) srcdir=''; \
+ test -f ./$@.in || srcdir=$(srcdir)/; \
+ $(edit_cmd) $${srcdir}$@.in >$@.tmp
+ @ mv $@.tmp $@
+
+# Arrange so that .tarball-version appears only in the distribution
+# tarball, and never in a checked-out repository.
+dist-hook:
+ echo $(VERSION) > $(distdir)/.tarball-version
+# Set ChangeLog tag reference.
+ sed -i "s/log/log;h=$(VERSION)/" $(distdir)/ChangeLog
+
+distclean-local:
+ -find . -name \*~ -o -name \*.orig -o -name \*.rej | xargs rm -f
+ rm -rf autom4te.cache
+
+
+checkincludes:
+ @find * $(RCS_FIND_IGNORE) \
+ -name '*.[hcS]' -type f -print | sort -u \
+ | xargs $(top_srcdir)/tools/checkincludes.pl
+
+checkconfig:
+ @find * $(RCS_FIND_IGNORE) \
+ -name '*.[hcS]' -type f -print | sort -u \
+ | xargs $(top_srcdir)/tools/checkconfig.sh $(top_srcdir)
+
+checkmans:
+ @$(top_srcdir)/tools/checkmans.sh
+
+checkxalloc:
+ @ $(top_srcdir)/tools/checkxalloc.sh
+
+checkdecl:
+ @ $(top_srcdir)/tools/checkdecl.sh
+
+ENABLE_ALL = --enable-static-programs --enable-most-builds
+DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-use-tty-group \
+ --disable-silent-rules $(ENABLE_ALL) \
+ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
+
+
+BUILT_SOURCES = .version
+.version:
+ echo $(VERSION) > $@-t && mv $@-t $@
+
+CHANGELOG_FILE = v$(VERSION)-ChangeLog
+
+$(CHANGELOG_FILE):
+ @ if test "x$$PREVIOUS_VERSION" == "x"; then \
+ echo "Usage make changelog PREVIOUS_VERSION=<version>"; \
+ exit 1; \
+ fi
+ @ echo "Changes between v$(PREVIOUS_VERSION) and v$(VERSION)" > $(CHANGELOG_FILE)
+ @ echo "--------------------------------------------" >> $(CHANGELOG_FILE)
+ @ echo >> $(CHANGELOG_FILE)
+ $(AM_V_GEN) git log --stat v$(PREVIOUS_VERSION)..HEAD >> $(CHANGELOG_FILE)
+#
+#
+# smatch scan -- smatch and cgcc are expected in $PATH
+#
+checksmatch:
+ $(MAKE) CHECK="smatch --data=$(abs_top_srcdir)/tools/smatch-data" CC=cgcc
+
+changelog: $(CHANGELOG_FILE)
+
+install-exec-hook: $(INSTALL_EXEC_HOOKS)
+
+uninstall-hook: $(UNINSTALL_HOOKS)
+
+install-data-hook: $(INSTALL_DATA_HOOKS)
+
+clean-local: $(CLEAN_LOCALS)
+
+check-local: $(CHECK_LOCALS)
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..ee3f854
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,10308 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS =
+usrbin_exec_PROGRAMS = $(am__EXEEXT_48) $(am__EXEEXT_49) \
+ $(am__EXEEXT_50) col$(EXEEXT) colcrt$(EXEEXT) colrm$(EXEEXT) \
+ column$(EXEEXT) hexdump$(EXEEXT) rev$(EXEEXT) tailf$(EXEEXT) \
+ $(am__EXEEXT_51) $(am__EXEEXT_52) script$(EXEEXT) \
+ scriptreplay$(EXEEXT) $(am__EXEEXT_53) $(am__EXEEXT_54) \
+ $(am__EXEEXT_55) $(am__EXEEXT_56) $(am__EXEEXT_57) \
+ $(am__EXEEXT_58) $(am__EXEEXT_59) $(am__EXEEXT_60) \
+ flock$(EXEEXT) ipcmk$(EXEEXT) ipcrm$(EXEEXT) ipcs$(EXEEXT) \
+ renice$(EXEEXT) setsid$(EXEEXT) $(am__EXEEXT_61) \
+ $(am__EXEEXT_62) $(am__EXEEXT_63) $(am__EXEEXT_64) \
+ $(am__EXEEXT_65) $(am__EXEEXT_66) cal$(EXEEXT) logger$(EXEEXT) \
+ look$(EXEEXT) mcookie$(EXEEXT) namei$(EXEEXT) whereis$(EXEEXT) \
+ $(am__EXEEXT_67) $(am__EXEEXT_68) $(am__EXEEXT_69) \
+ $(am__EXEEXT_70) getopt$(EXEEXT) isosize$(EXEEXT)
+usrsbin_exec_PROGRAMS = $(am__EXEEXT_71) readprofile$(EXEEXT) \
+ $(am__EXEEXT_72) $(am__EXEEXT_73) $(am__EXEEXT_74) \
+ $(am__EXEEXT_75)
+bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
+ $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \
+ $(am__EXEEXT_7) $(am__EXEEXT_8) $(am__EXEEXT_9) \
+ $(am__EXEEXT_10) $(am__EXEEXT_11) $(am__EXEEXT_12) \
+ $(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15) \
+ $(am__EXEEXT_16) $(am__EXEEXT_17) $(am__EXEEXT_18) \
+ $(am__EXEEXT_19)
+sbin_PROGRAMS = $(am__EXEEXT_26) $(am__EXEEXT_27) $(am__EXEEXT_28) \
+ $(am__EXEEXT_29) $(am__EXEEXT_30) $(am__EXEEXT_31) \
+ $(am__EXEEXT_32) $(am__EXEEXT_33) $(am__EXEEXT_34) \
+ $(am__EXEEXT_35) $(am__EXEEXT_36) fsck.minix$(EXEEXT) \
+ mkfs.minix$(EXEEXT) mkfs$(EXEEXT) mkfs.bfs$(EXEEXT) \
+ mkswap$(EXEEXT) $(am__EXEEXT_37) $(am__EXEEXT_38) \
+ $(am__EXEEXT_39) $(am__EXEEXT_40) $(am__EXEEXT_41) \
+ $(am__EXEEXT_42) $(am__EXEEXT_43) $(am__EXEEXT_44) \
+ $(am__EXEEXT_45) $(am__EXEEXT_46) $(am__EXEEXT_47)
+check_PROGRAMS = test_at$(EXEEXT) test_blkdev$(EXEEXT) \
+ test_canonicalize$(EXEEXT) test_fileutils$(EXEEXT) \
+ test_ismounted$(EXEEXT) test_mangle$(EXEEXT) \
+ test_procutils$(EXEEXT) test_randutils$(EXEEXT) \
+ test_strutils$(EXEEXT) test_tt$(EXEEXT) \
+ test_wholedisk$(EXEEXT) $(am__EXEEXT_20) $(am__EXEEXT_21) \
+ $(am__EXEEXT_22) $(am__EXEEXT_23) $(am__EXEEXT_24) \
+ $(am__EXEEXT_25) test_islocal$(EXEEXT) test_logindefs$(EXEEXT) \
+ test_byteswap$(EXEEXT) test_md5$(EXEEXT) \
+ test_pathnames$(EXEEXT) test_sysinfo$(EXEEXT)
+TESTS =
+DIST_COMMON = README $(am__configure_deps) \
+ $(am__dist_noinst_DATA_DIST) \
+ $(am__dist_usrbin_exec_SCRIPTS_DIST) \
+ $(am__uuidinc_HEADERS_DIST) $(dist_getoptexample_SCRIPTS) \
+ $(dist_man_MANS) $(dist_noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(srcdir)/disk-utils/Makemodule.am \
+ $(srcdir)/fdisks/Makemodule.am $(srcdir)/include/Makemodule.am \
+ $(srcdir)/lib/Makemodule.am $(srcdir)/libblkid/Makemodule.am \
+ $(srcdir)/libblkid/samples/Makemodule.am \
+ $(srcdir)/libblkid/src/Makemodule.am \
+ $(srcdir)/libmount/Makemodule.am \
+ $(srcdir)/libmount/src/Makemodule.am \
+ $(srcdir)/libuuid/Makemodule.am \
+ $(srcdir)/libuuid/man/Makemodule.am \
+ $(srcdir)/libuuid/src/Makemodule.am \
+ $(srcdir)/login-utils/Makemodule.am \
+ $(srcdir)/misc-utils/Makemodule.am \
+ $(srcdir)/mount-deprecated/Makemodule.am \
+ $(srcdir)/schedutils/Makemodule.am \
+ $(srcdir)/sys-utils/Makemodule.am \
+ $(srcdir)/term-utils/Makemodule.am \
+ $(srcdir)/tests/Makemodule.am \
+ $(srcdir)/tests/helpers/Makemodule.am \
+ $(srcdir)/text-utils/Makemodule.am $(top_srcdir)/configure \
+ $(top_srcdir)/libblkid/src/blkid.h.in \
+ $(top_srcdir)/libmount/src/libmount.h.in \
+ $(top_srcdir)/misc-utils/chkdupexe.pl ABOUT-NLS AUTHORS \
+ COPYING ChangeLog NEWS config/compile config/config.guess \
+ config/config.rpath config/config.sub config/depcomp \
+ config/install-sh config/ltmain.sh config/missing \
+ config/mkinstalldirs
+@LINUX_TRUE@am__append_1 = \
+@LINUX_TRUE@ lib/linux_version.c \
+@LINUX_TRUE@ lib/loopdev.c
+
+@HAVE_LANGINFO_FALSE@am__append_2 = lib/langinfo.c
+@HAVE_CPU_SET_T_TRUE@@LINUX_TRUE@am__append_3 = test_cpuset
+@LINUX_TRUE@am__append_4 = \
+@LINUX_TRUE@ test_sysfs \
+@LINUX_TRUE@ test_loopdev \
+@LINUX_TRUE@ test_pager
+
+@BUILD_LIBUUID_TRUE@am__append_5 = \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_clear.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_compare.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_copy.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_generate.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_is_null.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_parse.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_time.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_unparse.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_generate_random.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_generate_time.3 \
+@BUILD_LIBUUID_TRUE@ libuuid/man/uuid_generate_time_safe.3
+
+@BUILD_LIBUUID_TRUE@am__append_6 = test_uuid
+@BUILD_LIBUUID_TRUE@am__append_7 = libuuid.la
+@BUILD_LIBUUID_TRUE@am__append_8 = libuuid/src/uuid.sym \
+@BUILD_LIBUUID_TRUE@ libuuid/COPYING
+@BUILD_LIBUUID_TRUE@am__append_9 = install-exec-hook-libuuid
+@BUILD_LIBUUID_TRUE@am__append_10 = uninstall-hook-libuuid
+@BUILD_LIBUUID_TRUE@am__append_11 = libuuid/uuid.pc
+@BUILD_LIBUUID_TRUE@am__append_12 = libuuid/uuid.pc
+@BUILD_LIBBLKID_TRUE@am__append_13 = libblkid.la
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@am__append_14 = \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/dm.c \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/evms.c \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/ioctl.c \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/lvm.c \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/md.c \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/sysfs.c
+
+@BUILD_LIBBLKID_TRUE@@BUILD_LIBUUID_TRUE@am__append_15 = libuuid.la
+@BUILD_LIBBLKID_TRUE@@BUILD_LIBUUID_TRUE@am__append_16 = -I$(ul_libuuid_incdir)
+@BUILD_LIBBLKID_TRUE@am__append_17 = libblkid/src/blkid.sym \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/blkid.h.in \
+@BUILD_LIBBLKID_TRUE@ libblkid/libblkid.3 libblkid/COPYING
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am__append_18 = \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_cache \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_config \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_dev \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_devname \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_devno \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_evaluate \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_read \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_resolve \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_save \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_tag \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_verify
+
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@@BUILD_LIBUUID_TRUE@am__append_19 = libuuid.la
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@@BUILD_LIBUUID_TRUE@am__append_20 = $(UUID_LIBS)
+@BUILD_LIBBLKID_TRUE@am__append_21 = install-exec-hook-libblkid
+@BUILD_LIBBLKID_TRUE@am__append_22 = uninstall-hook-libblkid
+@BUILD_LIBBLKID_TRUE@am__append_23 = \
+@BUILD_LIBBLKID_TRUE@ sample-mkfs \
+@BUILD_LIBBLKID_TRUE@ sample-partitions \
+@BUILD_LIBBLKID_TRUE@ sample-superblocks \
+@BUILD_LIBBLKID_TRUE@ sample-topology
+
+
+# Docs uses separate Makefiles
+@BUILD_LIBBLKID_TRUE@@ENABLE_GTK_DOC_TRUE@am__append_24 = libblkid/docs
+@BUILD_LIBBLKID_TRUE@am__append_25 = libblkid/blkid.pc
+@BUILD_LIBBLKID_TRUE@am__append_26 = libblkid/blkid.pc
+@BUILD_LIBBLKID_TRUE@am__append_27 = libblkid/libblkid.3
+@BUILD_LIBMOUNT_TRUE@am__append_28 = libmount.la
+@BUILD_LIBMOUNT_TRUE@am__append_29 = libmount/src/libmount.sym \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount.h.in \
+@BUILD_LIBMOUNT_TRUE@ libmount/COPYING
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am__append_30 = \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_cache \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_context \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_lock \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_optstr \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_tab \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_tab_diff \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_tab_update \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_utils \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_version
+
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@@HAVE_SELINUX_TRUE@am__append_31 = $(SELINUX_LIBS)
+@BUILD_LIBMOUNT_TRUE@am__append_32 = install-exec-hook-libmount
+@BUILD_LIBMOUNT_TRUE@am__append_33 = uninstall-hook-libmount
+
+# Docs uses separate Makefiles
+@BUILD_LIBMOUNT_TRUE@@ENABLE_GTK_DOC_TRUE@am__append_34 = libmount/docs
+@BUILD_LIBMOUNT_TRUE@am__append_35 = libmount/mount.pc
+@BUILD_LIBMOUNT_TRUE@am__append_36 = libmount/mount.pc
+@BUILD_SCHEDUTILS_TRUE@am__append_37 = chrt
+@BUILD_SCHEDUTILS_TRUE@am__append_38 = schedutils/chrt.1
+@BUILD_IONICE_TRUE@@BUILD_SCHEDUTILS_TRUE@am__append_39 = ionice
+@BUILD_IONICE_TRUE@@BUILD_SCHEDUTILS_TRUE@am__append_40 = schedutils/ionice.1
+@BUILD_SCHEDUTILS_TRUE@@BUILD_TASKSET_TRUE@am__append_41 = taskset
+@BUILD_SCHEDUTILS_TRUE@@BUILD_TASKSET_TRUE@am__append_42 = schedutils/taskset.1
+@BUILD_LINE_TRUE@am__append_43 = line
+@BUILD_LINE_TRUE@am__append_44 = text-utils/line.1
+
+# TODO: add BUILD_{MORE,UL,PG} ./configure.am
+@HAVE_NCURSES_TRUE@am__append_45 = more
+@HAVE_NCURSES_TRUE@am__append_46 = ul pg
+@HAVE_NCURSES_TRUE@am__append_47 = \
+@HAVE_NCURSES_TRUE@ text-utils/ul.1 \
+@HAVE_NCURSES_TRUE@ text-utils/more.1 \
+@HAVE_NCURSES_TRUE@ text-utils/pg.1
+
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@am__append_48 = more
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@am__append_49 = text-utils/more.1
+@HAVE_UTIL_TRUE@am__append_50 = -lutil
+@HAVE_UTEMPTER_TRUE@am__append_51 = -lutempter
+@BUILD_AGETTY_TRUE@am__append_52 = agetty
+@BUILD_AGETTY_TRUE@am__append_53 = term-utils/agetty.8
+
+# TODO: add BUILD_SETTERM to configure.am
+@HAVE_NCURSES_TRUE@@LINUX_TRUE@am__append_54 = setterm
+@HAVE_NCURSES_TRUE@@LINUX_TRUE@am__append_55 = term-utils/setterm.1
+@BUILD_RESET_TRUE@am__append_56 = term-utils/reset
+@BUILD_RESET_TRUE@am__append_57 = term-utils/reset.1
+@BUILD_MESG_TRUE@am__append_58 = mesg
+@BUILD_MESG_TRUE@am__append_59 = term-utils/mesg.1
+@BUILD_WALL_TRUE@am__append_60 = wall
+@BUILD_WALL_TRUE@am__append_61 = term-utils/wall.1
+@BUILD_WALL_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@am__append_62 = install-exec-hook-wall
+@BUILD_WRITE_TRUE@am__append_63 = write
+@BUILD_WRITE_TRUE@am__append_64 = term-utils/write.1
+@BUILD_WRITE_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@am__append_65 = install-exec-hook-write
+@BUILD_LAST_TRUE@am__append_66 = last
+@BUILD_LAST_TRUE@am__append_67 = login-utils/last.1
+@BUILD_SULOGIN_TRUE@am__append_68 = sulogin
+@BUILD_SULOGIN_TRUE@am__append_69 = login-utils/sulogin.8
+@BUILD_SULOGIN_TRUE@@HAVE_LIBCRYPT_TRUE@am__append_70 = -lcrypt
+@BUILD_SULOGIN_TRUE@@HAVE_SELINUX_TRUE@am__append_71 = -lselinux
+@BUILD_LOGIN_TRUE@am__append_72 = login
+@BUILD_LOGIN_TRUE@am__append_73 = login-utils/login.1
+@BUILD_LOGIN_TRUE@@HAVE_AUDIT_TRUE@am__append_74 = -laudit
+@BUILD_LOGIN_TRUE@@HAVE_SELINUX_TRUE@am__append_75 = -lselinux
+@BUILD_UTMPDUMP_TRUE@am__append_76 = utmpdump
+@BUILD_UTMPDUMP_TRUE@am__append_77 = login-utils/utmpdump.1
+@BUILD_CHFN_CHSH_TRUE@am__append_78 = chfn chsh
+@BUILD_CHFN_CHSH_TRUE@am__append_79 = \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/chfn.1 \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/chsh.1
+
+@BUILD_CHFN_CHSH_TRUE@@HAVE_SELINUX_TRUE@am__append_80 = \
+@BUILD_CHFN_CHSH_TRUE@@HAVE_SELINUX_TRUE@ login-utils/selinux_utils.c \
+@BUILD_CHFN_CHSH_TRUE@@HAVE_SELINUX_TRUE@ login-utils/selinux_utils.h
+
+@BUILD_CHFN_CHSH_TRUE@@HAVE_SELINUX_TRUE@am__append_81 = -lselinux
+@BUILD_SU_TRUE@am__append_82 = su
+@BUILD_NEWGRP_TRUE@am__append_83 = newgrp
+@BUILD_NEWGRP_TRUE@am__append_84 = login-utils/newgrp.1
+@BUILD_NEWGRP_TRUE@@HAVE_LIBCRYPT_TRUE@am__append_85 = -lcrypt
+@BUILD_VIPW_TRUE@am__append_86 = vipw
+@BUILD_VIPW_TRUE@am__append_87 = \
+@BUILD_VIPW_TRUE@ login-utils/vigr.8 \
+@BUILD_VIPW_TRUE@ login-utils/vipw.8
+
+@BUILD_VIPW_TRUE@@HAVE_SELINUX_TRUE@am__append_88 = -lselinux
+@BUILD_VIPW_TRUE@am__append_89 = install-exec-hook-vipw
+
+#
+# mount
+#
+@BUILD_DEPRECATED_MOUNT_TRUE@am__append_90 = mount
+@BUILD_DEPRECATED_MOUNT_TRUE@am__append_91 = mount-deprecated/mount.8 \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount.8
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_SELINUX_TRUE@am__append_92 = $(SELINUX_LIBS)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@am__append_93 = mount.static
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_SELINUX_TRUE@@HAVE_STATIC_MOUNT_TRUE@am__append_94 = $(SELINUX_LIBS_STATIC)
+
+#
+# umount
+#
+@BUILD_DEPRECATED_MOUNT_TRUE@am__append_95 = umount
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@am__append_96 = umount.static
+@BUILD_DEPRECATED_MOUNT_TRUE@@MAKEINSTALL_DO_SETUID_TRUE@am__append_97 = install-exec-hook-mount
+
+#
+# Linux-only utils with no another dependencies. All another dependencies have
+# to be resolved in configure.ac end exported to makefiles by BUILD_*.
+#
+@LINUX_TRUE@am__append_98 = dmesg
+@LINUX_TRUE@am__append_99 = sys-utils/dmesg.1 sys-utils/ctrlaltdel.8 \
+@LINUX_TRUE@ sys-utils/fsfreeze.8 sys-utils/fstrim.8 \
+@LINUX_TRUE@ sys-utils/cytune.8 sys-utils/ldattach.8 \
+@LINUX_TRUE@ sys-utils/tunelp.8 sys-utils/rtcwake.8 \
+@LINUX_TRUE@ sys-utils/setarch.8
+@LINUX_TRUE@am__append_100 = ctrlaltdel fsfreeze fstrim
+@LINUX_TRUE@am__append_101 = cytune setarch
+@LINUX_TRUE@am__append_102 = ldattach tunelp rtcwake
+@ARCH_S390_TRUE@@LINUX_TRUE@am__append_103 = s390 s390x
+@ARCH_I86_TRUE@@LINUX_TRUE@am__append_104 = i386
+@ARCH_86_64_TRUE@@LINUX_TRUE@am__append_105 = i386 x86_64
+@ARCH_PPC_TRUE@@LINUX_TRUE@am__append_106 = ppc ppc64 ppc32
+@ARCH_SPARC_TRUE@@LINUX_TRUE@am__append_107 = sparc sparc64 sparc32 sparc32bash
+@ARCH_MIPS_TRUE@@LINUX_TRUE@am__append_108 = mips mips64 mips32
+@ARCH_IA64_TRUE@@LINUX_TRUE@am__append_109 = i386 ia64
+@ARCH_HPPA_TRUE@@LINUX_TRUE@am__append_110 = parisc parisc64 parisc32
+@LINUX_TRUE@am__append_111 = $(SETARCH_MAN_LINKS)
+@LINUX_TRUE@am__append_112 = $(SETARCH_MAN_LINKS)
+@LINUX_TRUE@am__append_113 = install-exec-hook-setarch
+@LINUX_TRUE@am__append_114 = uninstall-hook-setarch
+@BUILD_EJECT_TRUE@am__append_115 = eject
+@BUILD_EJECT_TRUE@am__append_116 = sys-utils/eject.1
+@BUILD_LOSETUP_TRUE@am__append_117 = losetup
+@BUILD_LOSETUP_TRUE@am__append_118 = sys-utils/losetup.8
+@BUILD_LOSETUP_TRUE@@HAVE_STATIC_LOSETUP_TRUE@am__append_119 = losetup.static
+@BUILD_PRLIMIT_TRUE@am__append_120 = prlimit
+@BUILD_PRLIMIT_TRUE@am__append_121 = sys-utils/prlimit.1
+
+#
+# The original mount is in mount/ directory
+# -- temporary we share some man pages
+#
+@BUILD_MOUNT_TRUE@am__append_122 = mount umount
+@BUILD_MOUNT_TRUE@am__append_123 = \
+@BUILD_MOUNT_TRUE@ sys-utils/mount.8 \
+@BUILD_MOUNT_TRUE@ sys-utils/fstab.5 \
+@BUILD_MOUNT_TRUE@ sys-utils/umount.8
+
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@am__append_124 = mount.static
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@am__append_125 = umount.static
+@BUILD_MOUNT_TRUE@@MAKEINSTALL_DO_SETUID_TRUE@am__append_126 = install-exec-hook-mount
+@BUILD_SWAPON_TRUE@am__append_127 = swapon swapoff
+@BUILD_SWAPON_TRUE@am__append_128 = \
+@BUILD_SWAPON_TRUE@ sys-utils/swapoff.8 \
+@BUILD_SWAPON_TRUE@ sys-utils/swapon.8
+
+@BUILD_LSCPU_TRUE@am__append_129 = lscpu
+@BUILD_LSCPU_TRUE@am__append_130 = sys-utils/lscpu.1
+@BUILD_CHCPU_TRUE@am__append_131 = chcpu
+@BUILD_CHCPU_TRUE@am__append_132 = sys-utils/chcpu.8
+@BUILD_WDCTL_TRUE@am__append_133 = wdctl
+@BUILD_WDCTL_TRUE@am__append_134 = sys-utils/wdctl.8
+@BUILD_MOUNTPOINT_TRUE@am__append_135 = mountpoint
+@BUILD_MOUNTPOINT_TRUE@am__append_136 = sys-utils/mountpoint.1
+@BUILD_FALLOCATE_TRUE@am__append_137 = fallocate
+@BUILD_FALLOCATE_TRUE@am__append_138 = sys-utils/fallocate.1
+@BUILD_PIVOT_ROOT_TRUE@am__append_139 = pivot_root
+@BUILD_PIVOT_ROOT_TRUE@am__append_140 = sys-utils/pivot_root.8
+@BUILD_SWITCH_ROOT_TRUE@am__append_141 = switch_root
+@BUILD_SWITCH_ROOT_TRUE@am__append_142 = sys-utils/switch_root.8
+@BUILD_UNSHARE_TRUE@am__append_143 = unshare
+@BUILD_UNSHARE_TRUE@am__append_144 = sys-utils/unshare.1
+@BUILD_ARCH_TRUE@am__append_145 = arch
+@BUILD_ARCH_TRUE@am__append_146 = sys-utils/arch.1
+@BUILD_HWCLOCK_TRUE@am__append_147 = hwclock
+@BUILD_HWCLOCK_TRUE@am__append_148 = sys-utils/hwclock.8
+@BUILD_HWCLOCK_TRUE@@LINUX_TRUE@am__append_149 = sys-utils/hwclock-rtc.c
+@BUILD_HWCLOCK_TRUE@@HAVE_AUDIT_TRUE@am__append_150 = -laudit
+@HAVE_LANGINFO_FALSE@am__append_151 = lib/langinfo.c
+@HAVE_TINFO_TRUE@am__append_152 = -ltinfo @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@am__append_153 = @NCURSES_LIBS@
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@@HAVE_TINFO_FALSE@am__append_154 = -ltermcap
+@BUILD_CHKDUPEXE_TRUE@am__append_155 = misc-utils/chkdupexe
+@BUILD_CHKDUPEXE_TRUE@am__append_156 = misc-utils/chkdupexe
+@BUILD_CHKDUPEXE_TRUE@am__append_157 = misc-utils/chkdupexe.1
+@BUILD_DDATE_TRUE@am__append_158 = ddate
+@BUILD_DDATE_TRUE@am__append_159 = misc-utils/ddate.1
+@BUILD_DDATE_TRUE@am__append_160 = man/ru/ddate.1
+@BUILD_LSLOCKS_TRUE@am__append_161 = lslocks
+@BUILD_LSLOCKS_TRUE@am__append_162 = misc-utils/lslocks.8
+@BUILD_LSBLK_TRUE@am__append_163 = lsblk
+@BUILD_LSBLK_TRUE@am__append_164 = misc-utils/lsblk.8
+@BUILD_LSBLK_TRUE@@HAVE_UDEV_TRUE@am__append_165 = -ludev
+@BUILD_LIBUUID_TRUE@am__append_166 = uuidgen
+@BUILD_LIBUUID_TRUE@am__append_167 = misc-utils/uuidgen.1
+@BUILD_UUIDD_TRUE@am__append_168 = uuidd
+@BUILD_UUIDD_TRUE@am__append_169 = misc-utils/uuidd.8
+@BUILD_UUIDD_TRUE@@USE_SOCKET_ACTIVATION_TRUE@am__append_170 = misc-utils/sd-daemon.c misc-utils/sd-daemon.h
+@BUILD_UUIDD_TRUE@@USE_SOCKET_ACTIVATION_TRUE@am__append_171 = -lrt
+@BUILD_UUIDD_TRUE@@HAVE_SYSTEMD_TRUE@am__append_172 = \
+@BUILD_UUIDD_TRUE@@HAVE_SYSTEMD_TRUE@ misc-utils/uuidd.service \
+@BUILD_UUIDD_TRUE@@HAVE_SYSTEMD_TRUE@ misc-utils/uuidd.socket
+
+@BUILD_LIBBLKID_TRUE@am__append_173 = blkid findfs wipefs
+@BUILD_LIBBLKID_TRUE@am__append_174 = misc-utils/blkid.8 \
+@BUILD_LIBBLKID_TRUE@ misc-utils/findfs.8 misc-utils/wipefs.8
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@am__append_175 = blkid.static
+@BUILD_LIBMOUNT_TRUE@am__append_176 = findmnt
+@BUILD_LIBMOUNT_TRUE@am__append_177 = misc-utils/findmnt.8
+@BUILD_KILL_TRUE@am__append_178 = kill
+@BUILD_KILL_TRUE@am__append_179 = misc-utils/kill.1
+@BUILD_RENAME_TRUE@am__append_180 = rename
+@BUILD_RENAME_TRUE@am__append_181 = misc-utils/rename.1
+@BUILD_LIBUUID_TRUE@am__append_182 = -I$(ul_libuuid_incdir)
+@BUILD_LIBUUID_TRUE@am__append_183 = libuuid.la
+@BUILD_LIBBLKID_TRUE@am__append_184 = -I$(ul_libblkid_incdir)
+@BUILD_LIBBLKID_TRUE@am__append_185 = libblkid.la
+@HAVE_SELINUX_TRUE@am__append_186 = -lselinux
+@BUILD_SWAPLABEL_TRUE@am__append_187 = swaplabel
+@BUILD_SWAPLABEL_TRUE@am__append_188 = disk-utils/swaplabel.8
+@BUILD_LIBUUID_TRUE@@BUILD_SWAPLABEL_TRUE@am__append_189 = libuuid.la
+@BUILD_LIBUUID_TRUE@@BUILD_SWAPLABEL_TRUE@am__append_190 = -I$(ul_libuuid_incdir)
+@BUILD_FSCK_TRUE@am__append_191 = fsck
+@BUILD_FSCK_TRUE@am__append_192 = disk-utils/fsck.8
+@BUILD_ELVTUNE_TRUE@am__append_193 = elvtune
+@BUILD_ELVTUNE_TRUE@am__append_194 = disk-utils/elvtune.8
+@BUILD_RAW_TRUE@am__append_195 = raw
+@BUILD_RAW_TRUE@am__append_196 = disk-utils/raw.8
+@BUILD_CRAMFS_TRUE@am__append_197 = fsck.cramfs mkfs.cramfs
+@LINUX_TRUE@am__append_198 = blockdev
+@LINUX_TRUE@am__append_199 = disk-utils/blockdev.8 \
+@LINUX_TRUE@ disk-utils/fdformat.8
+@LINUX_TRUE@am__append_200 = fdformat
+@BUILD_PARTX_TRUE@am__append_201 = partx addpart delpart resizepart
+@BUILD_PARTX_TRUE@am__append_202 = \
+@BUILD_PARTX_TRUE@ disk-utils/addpart.8 \
+@BUILD_PARTX_TRUE@ disk-utils/delpart.8 \
+@BUILD_PARTX_TRUE@ disk-utils/resizepart.8 \
+@BUILD_PARTX_TRUE@ disk-utils/partx.8
+
+@ARCH_M68K_FALSE@am__append_203 = fdisk
+@ARCH_M68K_FALSE@am__append_204 = fdisks/fdisk.8
+@ARCH_M68K_FALSE@@BUILD_LIBBLKID_TRUE@am__append_205 = libblkid.la
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@am__append_206 = fdisk.static
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am__append_207 = sfdisk
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am__append_208 = fdisks/sfdisk.8
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@am__append_209 = sfdisk.static
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@am__append_210 = cfdisk
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@am__append_211 = fdisks/cfdisk.8
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@@BUILD_LIBBLKID_TRUE@am__append_212 = -I$(ul_libblkid_incdir)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@@BUILD_LIBBLKID_TRUE@am__append_213 = libblkid.la
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@@HAVE_SLANG_TRUE@am__append_214 = -lslang
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@@HAVE_NCURSES_TRUE@@HAVE_SLANG_FALSE@am__append_215 = @NCURSES_LIBS@
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/compiler.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/ul.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = misc-utils/chkdupexe libblkid/src/blkid.h \
+ libmount/src/libmount.h
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(usrlib_execdir)" "$(DESTDIR)$(bindir)" \
+ "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(usrbin_execdir)" \
+ "$(DESTDIR)$(usrsbin_execdir)" "$(DESTDIR)$(getoptexampledir)" \
+ "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(man1dir)" \
+ "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" \
+ "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(pkgconfigdir)" \
+ "$(DESTDIR)$(ruman1dir)" "$(DESTDIR)$(systemdsystemunitdir)" \
+ "$(DESTDIR)$(blkidincdir)" "$(DESTDIR)$(mountincdir)" \
+ "$(DESTDIR)$(uuidincdir)"
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(usrlib_exec_LTLIBRARIES)
+am__libblkid_la_SOURCES_DIST = include/list.h libblkid/src/blkidP.h \
+ libblkid/src/cache.c libblkid/src/config.c libblkid/src/dev.c \
+ libblkid/src/devname.c libblkid/src/devno.c \
+ libblkid/src/encode.c libblkid/src/evaluate.c \
+ libblkid/src/getsize.c libblkid/src/llseek.c \
+ libblkid/src/probe.c libblkid/src/read.c \
+ libblkid/src/resolve.c libblkid/src/save.c \
+ libblkid/src/superblocks/superblocks.h libblkid/src/tag.c \
+ libblkid/src/verify.c libblkid/src/version.c \
+ libblkid/src/partitions/aix.c libblkid/src/partitions/aix.h \
+ libblkid/src/partitions/blkid_parttypes.h \
+ libblkid/src/partitions/bsd.c libblkid/src/partitions/dos.c \
+ libblkid/src/partitions/dos.h libblkid/src/partitions/gpt.c \
+ libblkid/src/partitions/mac.c libblkid/src/partitions/minix.c \
+ libblkid/src/partitions/partitions.c \
+ libblkid/src/partitions/partitions.h \
+ libblkid/src/partitions/sgi.c \
+ libblkid/src/partitions/solaris_x86.c \
+ libblkid/src/partitions/sun.c libblkid/src/partitions/ultrix.c \
+ libblkid/src/partitions/unixware.c \
+ libblkid/src/superblocks/adaptec_raid.c \
+ libblkid/src/superblocks/befs.c libblkid/src/superblocks/bfs.c \
+ libblkid/src/superblocks/btrfs.c \
+ libblkid/src/superblocks/cramfs.c \
+ libblkid/src/superblocks/ddf_raid.c \
+ libblkid/src/superblocks/drbd.c \
+ libblkid/src/superblocks/drbdproxy_datalog.c \
+ libblkid/src/superblocks/exfat.c \
+ libblkid/src/superblocks/ext.c libblkid/src/superblocks/gfs.c \
+ libblkid/src/superblocks/hfs.c \
+ libblkid/src/superblocks/highpoint_raid.c \
+ libblkid/src/superblocks/hpfs.c \
+ libblkid/src/superblocks/iso9660.c \
+ libblkid/src/superblocks/isw_raid.c \
+ libblkid/src/superblocks/jfs.c \
+ libblkid/src/superblocks/jmicron_raid.c \
+ libblkid/src/superblocks/linux_raid.c \
+ libblkid/src/superblocks/lsi_raid.c \
+ libblkid/src/superblocks/luks.c libblkid/src/superblocks/lvm.c \
+ libblkid/src/superblocks/minix.c \
+ libblkid/src/superblocks/netware.c \
+ libblkid/src/superblocks/nilfs.c \
+ libblkid/src/superblocks/ntfs.c \
+ libblkid/src/superblocks/nvidia_raid.c \
+ libblkid/src/superblocks/ocfs.c \
+ libblkid/src/superblocks/promise_raid.c \
+ libblkid/src/superblocks/reiserfs.c \
+ libblkid/src/superblocks/romfs.c \
+ libblkid/src/superblocks/silicon_raid.c \
+ libblkid/src/superblocks/squashfs.c \
+ libblkid/src/superblocks/superblocks.c \
+ libblkid/src/superblocks/swap.c \
+ libblkid/src/superblocks/sysv.c \
+ libblkid/src/superblocks/ubifs.c \
+ libblkid/src/superblocks/udf.c libblkid/src/superblocks/ufs.c \
+ libblkid/src/superblocks/vfat.c \
+ libblkid/src/superblocks/via_raid.c \
+ libblkid/src/superblocks/vmfs.c \
+ libblkid/src/superblocks/vxfs.c libblkid/src/superblocks/xfs.c \
+ libblkid/src/superblocks/zfs.c \
+ libblkid/src/topology/topology.c \
+ libblkid/src/topology/topology.h libblkid/src/topology/dm.c \
+ libblkid/src/topology/evms.c libblkid/src/topology/ioctl.c \
+ libblkid/src/topology/lvm.c libblkid/src/topology/md.c \
+ libblkid/src/topology/sysfs.c
+am__dirstamp = $(am__leading_dot)dirstamp
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@am__objects_1 = libblkid/src/topology/libblkid_la-dm.lo \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/libblkid_la-evms.lo \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/libblkid_la-ioctl.lo \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/libblkid_la-lvm.lo \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/libblkid_la-md.lo \
+@BUILD_LIBBLKID_TRUE@@LINUX_TRUE@ libblkid/src/topology/libblkid_la-sysfs.lo
+@BUILD_LIBBLKID_TRUE@am_libblkid_la_OBJECTS = \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-cache.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-config.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-dev.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-devname.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-devno.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-encode.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-evaluate.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-getsize.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-llseek.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-probe.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-read.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-resolve.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-save.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-tag.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-verify.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/libblkid_la-version.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-aix.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-bsd.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-dos.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-gpt.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-mac.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-minix.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-partitions.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-sgi.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-solaris_x86.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-sun.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-ultrix.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/libblkid_la-unixware.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-adaptec_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-befs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-bfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-btrfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-cramfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-ddf_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-drbd.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-drbdproxy_datalog.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-exfat.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-ext.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-gfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-hfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-highpoint_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-hpfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-iso9660.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-isw_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-jfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-jmicron_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-linux_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-lsi_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-luks.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-lvm.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-minix.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-netware.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-nilfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-ntfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-nvidia_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-ocfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-promise_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-reiserfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-romfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-silicon_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-squashfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-superblocks.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-swap.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-sysv.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-ubifs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-udf.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-ufs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-vfat.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-via_raid.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-vmfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-vxfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-xfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/libblkid_la-zfs.lo \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/topology/libblkid_la-topology.lo \
+@BUILD_LIBBLKID_TRUE@ $(am__objects_1)
+nodist_libblkid_la_OBJECTS =
+libblkid_la_OBJECTS = $(am_libblkid_la_OBJECTS) \
+ $(nodist_libblkid_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libblkid_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libblkid_la_CFLAGS) \
+ $(CFLAGS) $(libblkid_la_LDFLAGS) $(LDFLAGS) -o $@
+@BUILD_LIBBLKID_TRUE@am_libblkid_la_rpath = -rpath $(usrlib_execdir)
+libcommon_la_LIBADD =
+am__libcommon_la_SOURCES_DIST = lib/at.c lib/blkdev.c \
+ lib/canonicalize.c lib/cpuset.c lib/crc32.c lib/env.c \
+ lib/fileutils.c lib/ismounted.c lib/mangle.c lib/match.c \
+ lib/mbsalign.c lib/md5.c lib/pager.c lib/path.c \
+ lib/procutils.c lib/randutils.c lib/setproctitle.c \
+ lib/strutils.c lib/sysfs.c lib/tt.c lib/wholedisk.c \
+ lib/xgetpass.c lib/linux_version.c lib/loopdev.c \
+ lib/langinfo.c
+@LINUX_TRUE@am__objects_2 = lib/libcommon_la-linux_version.lo \
+@LINUX_TRUE@ lib/libcommon_la-loopdev.lo
+@HAVE_LANGINFO_FALSE@am__objects_3 = lib/libcommon_la-langinfo.lo
+am_libcommon_la_OBJECTS = lib/libcommon_la-at.lo \
+ lib/libcommon_la-blkdev.lo lib/libcommon_la-canonicalize.lo \
+ lib/libcommon_la-cpuset.lo lib/libcommon_la-crc32.lo \
+ lib/libcommon_la-env.lo lib/libcommon_la-fileutils.lo \
+ lib/libcommon_la-ismounted.lo lib/libcommon_la-mangle.lo \
+ lib/libcommon_la-match.lo lib/libcommon_la-mbsalign.lo \
+ lib/libcommon_la-md5.lo lib/libcommon_la-pager.lo \
+ lib/libcommon_la-path.lo lib/libcommon_la-procutils.lo \
+ lib/libcommon_la-randutils.lo lib/libcommon_la-setproctitle.lo \
+ lib/libcommon_la-strutils.lo lib/libcommon_la-sysfs.lo \
+ lib/libcommon_la-tt.lo lib/libcommon_la-wholedisk.lo \
+ lib/libcommon_la-xgetpass.lo $(am__objects_2) $(am__objects_3)
+libcommon_la_OBJECTS = $(am_libcommon_la_OBJECTS)
+libcommon_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libcommon_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__DEPENDENCIES_1 =
+am__libmount_la_SOURCES_DIST = include/list.h libmount/src/cache.c \
+ libmount/src/context.c libmount/src/context_loopdev.c \
+ libmount/src/context_mount.c libmount/src/context_umount.c \
+ libmount/src/fs.c libmount/src/init.c libmount/src/iter.c \
+ libmount/src/lock.c libmount/src/mountP.h \
+ libmount/src/optmap.c libmount/src/optstr.c libmount/src/tab.c \
+ libmount/src/tab_diff.c libmount/src/tab_parse.c \
+ libmount/src/tab_update.c libmount/src/test.c \
+ libmount/src/utils.c libmount/src/version.c
+@BUILD_LIBMOUNT_TRUE@am_libmount_la_OBJECTS = \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-cache.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-context.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-context_loopdev.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-context_mount.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-context_umount.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-fs.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-init.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-iter.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-lock.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-optmap.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-optstr.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-tab.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-tab_diff.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-tab_parse.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-tab_update.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-test.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-utils.lo \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount_la-version.lo
+nodist_libmount_la_OBJECTS =
+libmount_la_OBJECTS = $(am_libmount_la_OBJECTS) \
+ $(nodist_libmount_la_OBJECTS)
+libmount_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libmount_la_CFLAGS) \
+ $(CFLAGS) $(libmount_la_LDFLAGS) $(LDFLAGS) -o $@
+@BUILD_LIBMOUNT_TRUE@am_libmount_la_rpath = -rpath $(usrlib_execdir)
+am__libuuid_la_SOURCES_DIST = libuuid/src/clear.c \
+ libuuid/src/compare.c libuuid/src/copy.c \
+ libuuid/src/gen_uuid.c libuuid/src/isnull.c libuuid/src/pack.c \
+ libuuid/src/parse.c libuuid/src/unpack.c libuuid/src/unparse.c \
+ libuuid/src/uuidd.h libuuid/src/uuidP.h \
+ libuuid/src/uuid_time.c libuuid/src/uuid.h lib/randutils.c
+am__objects_4 =
+@BUILD_LIBUUID_TRUE@am_libuuid_la_OBJECTS = \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-clear.lo \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-compare.lo \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-copy.lo \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-gen_uuid.lo \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-isnull.lo \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-pack.lo \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-parse.lo \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-unpack.lo \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-unparse.lo \
+@BUILD_LIBUUID_TRUE@ libuuid/src/libuuid_la-uuid_time.lo \
+@BUILD_LIBUUID_TRUE@ $(am__objects_4) \
+@BUILD_LIBUUID_TRUE@ lib/libuuid_la-randutils.lo
+libuuid_la_OBJECTS = $(am_libuuid_la_OBJECTS)
+libuuid_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libuuid_la_CFLAGS) \
+ $(CFLAGS) $(libuuid_la_LDFLAGS) $(LDFLAGS) -o $@
+@BUILD_LIBUUID_TRUE@am_libuuid_la_rpath = -rpath $(usrlib_execdir)
+@HAVE_NCURSES_TRUE@am__EXEEXT_1 = more$(EXEEXT)
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@am__EXEEXT_2 = more$(EXEEXT)
+@BUILD_LOGIN_TRUE@am__EXEEXT_3 = login$(EXEEXT)
+@BUILD_SU_TRUE@am__EXEEXT_4 = su$(EXEEXT)
+@BUILD_DEPRECATED_MOUNT_TRUE@am__EXEEXT_5 = mount$(EXEEXT)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@am__EXEEXT_6 = mount.static$(EXEEXT)
+@BUILD_DEPRECATED_MOUNT_TRUE@am__EXEEXT_7 = umount$(EXEEXT)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@am__EXEEXT_8 = umount.static$(EXEEXT)
+@LINUX_TRUE@am__EXEEXT_9 = dmesg$(EXEEXT)
+@BUILD_LOSETUP_TRUE@@HAVE_STATIC_LOSETUP_TRUE@am__EXEEXT_10 = losetup.static$(EXEEXT)
+@BUILD_MOUNT_TRUE@am__EXEEXT_11 = mount$(EXEEXT) umount$(EXEEXT)
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@am__EXEEXT_12 = mount.static$(EXEEXT)
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@am__EXEEXT_13 = umount.static$(EXEEXT)
+@BUILD_WDCTL_TRUE@am__EXEEXT_14 = wdctl$(EXEEXT)
+@BUILD_MOUNTPOINT_TRUE@am__EXEEXT_15 = mountpoint$(EXEEXT)
+@BUILD_ARCH_TRUE@am__EXEEXT_16 = arch$(EXEEXT)
+@BUILD_LSBLK_TRUE@am__EXEEXT_17 = lsblk$(EXEEXT)
+@BUILD_LIBMOUNT_TRUE@am__EXEEXT_18 = findmnt$(EXEEXT)
+@BUILD_KILL_TRUE@am__EXEEXT_19 = kill$(EXEEXT)
+@HAVE_CPU_SET_T_TRUE@@LINUX_TRUE@am__EXEEXT_20 = test_cpuset$(EXEEXT)
+@LINUX_TRUE@am__EXEEXT_21 = test_sysfs$(EXEEXT) test_loopdev$(EXEEXT) \
+@LINUX_TRUE@ test_pager$(EXEEXT)
+@BUILD_LIBUUID_TRUE@am__EXEEXT_22 = test_uuid$(EXEEXT)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am__EXEEXT_23 = test_blkid_cache$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_config$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_dev$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_devname$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_devno$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_evaluate$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_read$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_resolve$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_save$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_tag$(EXEEXT) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ test_blkid_verify$(EXEEXT)
+@BUILD_LIBBLKID_TRUE@am__EXEEXT_24 = sample-mkfs$(EXEEXT) \
+@BUILD_LIBBLKID_TRUE@ sample-partitions$(EXEEXT) \
+@BUILD_LIBBLKID_TRUE@ sample-superblocks$(EXEEXT) \
+@BUILD_LIBBLKID_TRUE@ sample-topology$(EXEEXT)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am__EXEEXT_25 = test_mount_cache$(EXEEXT) \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_context$(EXEEXT) \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_lock$(EXEEXT) \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_optstr$(EXEEXT) \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_tab$(EXEEXT) \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_tab_diff$(EXEEXT) \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_tab_update$(EXEEXT) \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_utils$(EXEEXT) \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ test_mount_version$(EXEEXT)
+@BUILD_AGETTY_TRUE@am__EXEEXT_26 = agetty$(EXEEXT)
+@BUILD_SULOGIN_TRUE@am__EXEEXT_27 = sulogin$(EXEEXT)
+@LINUX_TRUE@am__EXEEXT_28 = ctrlaltdel$(EXEEXT) fsfreeze$(EXEEXT) \
+@LINUX_TRUE@ fstrim$(EXEEXT)
+@BUILD_LOSETUP_TRUE@am__EXEEXT_29 = losetup$(EXEEXT)
+@BUILD_SWAPON_TRUE@am__EXEEXT_30 = swapon$(EXEEXT) swapoff$(EXEEXT)
+@BUILD_CHCPU_TRUE@am__EXEEXT_31 = chcpu$(EXEEXT)
+@BUILD_PIVOT_ROOT_TRUE@am__EXEEXT_32 = pivot_root$(EXEEXT)
+@BUILD_SWITCH_ROOT_TRUE@am__EXEEXT_33 = switch_root$(EXEEXT)
+@BUILD_HWCLOCK_TRUE@am__EXEEXT_34 = hwclock$(EXEEXT)
+@BUILD_LIBBLKID_TRUE@am__EXEEXT_35 = blkid$(EXEEXT) findfs$(EXEEXT) \
+@BUILD_LIBBLKID_TRUE@ wipefs$(EXEEXT)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@am__EXEEXT_36 = blkid.static$(EXEEXT)
+@BUILD_SWAPLABEL_TRUE@am__EXEEXT_37 = swaplabel$(EXEEXT)
+@BUILD_FSCK_TRUE@am__EXEEXT_38 = fsck$(EXEEXT)
+@BUILD_ELVTUNE_TRUE@am__EXEEXT_39 = elvtune$(EXEEXT)
+@BUILD_RAW_TRUE@am__EXEEXT_40 = raw$(EXEEXT)
+@BUILD_CRAMFS_TRUE@am__EXEEXT_41 = fsck.cramfs$(EXEEXT) \
+@BUILD_CRAMFS_TRUE@ mkfs.cramfs$(EXEEXT)
+@LINUX_TRUE@am__EXEEXT_42 = blockdev$(EXEEXT)
+@ARCH_M68K_FALSE@am__EXEEXT_43 = fdisk$(EXEEXT)
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@am__EXEEXT_44 = fdisk.static$(EXEEXT)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am__EXEEXT_45 = sfdisk$(EXEEXT)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@am__EXEEXT_46 = sfdisk.static$(EXEEXT)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@am__EXEEXT_47 = cfdisk$(EXEEXT)
+@BUILD_SCHEDUTILS_TRUE@am__EXEEXT_48 = chrt$(EXEEXT)
+@BUILD_IONICE_TRUE@@BUILD_SCHEDUTILS_TRUE@am__EXEEXT_49 = \
+@BUILD_IONICE_TRUE@@BUILD_SCHEDUTILS_TRUE@ ionice$(EXEEXT)
+@BUILD_SCHEDUTILS_TRUE@@BUILD_TASKSET_TRUE@am__EXEEXT_50 = \
+@BUILD_SCHEDUTILS_TRUE@@BUILD_TASKSET_TRUE@ taskset$(EXEEXT)
+@BUILD_LINE_TRUE@am__EXEEXT_51 = line$(EXEEXT)
+@HAVE_NCURSES_TRUE@am__EXEEXT_52 = ul$(EXEEXT) pg$(EXEEXT)
+@HAVE_NCURSES_TRUE@@LINUX_TRUE@am__EXEEXT_53 = setterm$(EXEEXT)
+@BUILD_MESG_TRUE@am__EXEEXT_54 = mesg$(EXEEXT)
+@BUILD_WALL_TRUE@am__EXEEXT_55 = wall$(EXEEXT)
+@BUILD_WRITE_TRUE@am__EXEEXT_56 = write$(EXEEXT)
+@BUILD_LAST_TRUE@am__EXEEXT_57 = last$(EXEEXT)
+@BUILD_UTMPDUMP_TRUE@am__EXEEXT_58 = utmpdump$(EXEEXT)
+@BUILD_CHFN_CHSH_TRUE@am__EXEEXT_59 = chfn$(EXEEXT) chsh$(EXEEXT)
+@BUILD_NEWGRP_TRUE@am__EXEEXT_60 = newgrp$(EXEEXT)
+@LINUX_TRUE@am__EXEEXT_61 = cytune$(EXEEXT) setarch$(EXEEXT)
+@BUILD_EJECT_TRUE@am__EXEEXT_62 = eject$(EXEEXT)
+@BUILD_PRLIMIT_TRUE@am__EXEEXT_63 = prlimit$(EXEEXT)
+@BUILD_LSCPU_TRUE@am__EXEEXT_64 = lscpu$(EXEEXT)
+@BUILD_FALLOCATE_TRUE@am__EXEEXT_65 = fallocate$(EXEEXT)
+@BUILD_UNSHARE_TRUE@am__EXEEXT_66 = unshare$(EXEEXT)
+@BUILD_DDATE_TRUE@am__EXEEXT_67 = ddate$(EXEEXT)
+@BUILD_LSLOCKS_TRUE@am__EXEEXT_68 = lslocks$(EXEEXT)
+@BUILD_LIBUUID_TRUE@am__EXEEXT_69 = uuidgen$(EXEEXT)
+@BUILD_RENAME_TRUE@am__EXEEXT_70 = rename$(EXEEXT)
+@BUILD_VIPW_TRUE@am__EXEEXT_71 = vipw$(EXEEXT)
+@LINUX_TRUE@am__EXEEXT_72 = ldattach$(EXEEXT) tunelp$(EXEEXT) \
+@LINUX_TRUE@ rtcwake$(EXEEXT)
+@BUILD_UUIDD_TRUE@am__EXEEXT_73 = uuidd$(EXEEXT)
+@LINUX_TRUE@am__EXEEXT_74 = fdformat$(EXEEXT)
+@BUILD_PARTX_TRUE@am__EXEEXT_75 = partx$(EXEEXT) addpart$(EXEEXT) \
+@BUILD_PARTX_TRUE@ delpart$(EXEEXT) resizepart$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) \
+ $(usrbin_exec_PROGRAMS) $(usrsbin_exec_PROGRAMS)
+am__addpart_SOURCES_DIST = disk-utils/addpart.c disk-utils/partx.h
+@BUILD_PARTX_TRUE@am_addpart_OBJECTS = disk-utils/addpart.$(OBJEXT)
+addpart_OBJECTS = $(am_addpart_OBJECTS)
+am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
+@BUILD_PARTX_TRUE@addpart_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_PARTX_TRUE@ libcommon.la
+am__agetty_SOURCES_DIST = term-utils/agetty.c
+@BUILD_AGETTY_TRUE@am_agetty_OBJECTS = term-utils/agetty.$(OBJEXT)
+agetty_OBJECTS = $(am_agetty_OBJECTS)
+@BUILD_AGETTY_TRUE@agetty_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_AGETTY_TRUE@ libcommon.la
+am__arch_SOURCES_DIST = sys-utils/arch.c
+@BUILD_ARCH_TRUE@am_arch_OBJECTS = sys-utils/arch.$(OBJEXT)
+arch_OBJECTS = $(am_arch_OBJECTS)
+arch_LDADD = $(LDADD)
+arch_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__blkid_SOURCES_DIST = misc-utils/blkid.c
+@BUILD_LIBBLKID_TRUE@am_blkid_OBJECTS = \
+@BUILD_LIBBLKID_TRUE@ misc-utils/blkid-blkid.$(OBJEXT)
+blkid_OBJECTS = $(am_blkid_OBJECTS)
+@BUILD_LIBBLKID_TRUE@blkid_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LIBBLKID_TRUE@ libblkid.la libcommon.la
+blkid_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(blkid_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__blkid_static_SOURCES_DIST = misc-utils/blkid.c
+@BUILD_LIBBLKID_TRUE@am__objects_5 = \
+@BUILD_LIBBLKID_TRUE@ misc-utils/blkid_static-blkid.$(OBJEXT)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@am_blkid_static_OBJECTS = \
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@ $(am__objects_5)
+blkid_static_OBJECTS = $(am_blkid_static_OBJECTS)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@ libblkid.la
+blkid_static_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(blkid_static_CFLAGS) \
+ $(CFLAGS) $(blkid_static_LDFLAGS) $(LDFLAGS) -o $@
+am__blockdev_SOURCES_DIST = disk-utils/blockdev.c
+@LINUX_TRUE@am_blockdev_OBJECTS = disk-utils/blockdev.$(OBJEXT)
+blockdev_OBJECTS = $(am_blockdev_OBJECTS)
+@LINUX_TRUE@blockdev_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__cal_SOURCES_DIST = misc-utils/cal.c lib/mbsalign.c lib/strutils.c \
+ lib/langinfo.c
+@HAVE_LANGINFO_FALSE@am__objects_6 = lib/langinfo.$(OBJEXT)
+am_cal_OBJECTS = misc-utils/cal.$(OBJEXT) lib/mbsalign.$(OBJEXT) \
+ lib/strutils.$(OBJEXT) $(am__objects_6)
+cal_OBJECTS = $(am_cal_OBJECTS)
+cal_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+am__cfdisk_SOURCES_DIST = fdisks/cfdisk.c fdisks/common.h fdisks/gpt.c \
+ fdisks/gpt.h fdisks/i386_sys_types.c
+am__objects_7 = fdisks/cfdisk-gpt.$(OBJEXT) \
+ fdisks/cfdisk-i386_sys_types.$(OBJEXT)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@am_cfdisk_OBJECTS = fdisks/cfdisk-cfdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@ $(am__objects_7)
+cfdisk_OBJECTS = $(am_cfdisk_OBJECTS)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@cfdisk_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@ libcommon.la \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@ $(am__append_213) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@ $(am__DEPENDENCIES_1) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@ $(am__DEPENDENCIES_1)
+cfdisk_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(cfdisk_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__chcpu_SOURCES_DIST = sys-utils/chcpu.c
+@BUILD_CHCPU_TRUE@am_chcpu_OBJECTS = sys-utils/chcpu.$(OBJEXT)
+chcpu_OBJECTS = $(am_chcpu_OBJECTS)
+@BUILD_CHCPU_TRUE@chcpu_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_CHCPU_TRUE@ libcommon.la
+am__chfn_SOURCES_DIST = login-utils/chfn.c login-utils/islocal.c \
+ login-utils/islocal.h login-utils/setpwnam.c \
+ login-utils/setpwnam.h login-utils/selinux_utils.c \
+ login-utils/selinux_utils.h
+@BUILD_CHFN_CHSH_TRUE@@HAVE_SELINUX_TRUE@am__objects_8 = login-utils/chfn-selinux_utils.$(OBJEXT)
+@BUILD_CHFN_CHSH_TRUE@am__objects_9 = \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/chfn-islocal.$(OBJEXT) \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/chfn-setpwnam.$(OBJEXT) \
+@BUILD_CHFN_CHSH_TRUE@ $(am__objects_8)
+@BUILD_CHFN_CHSH_TRUE@am_chfn_OBJECTS = \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/chfn-chfn.$(OBJEXT) \
+@BUILD_CHFN_CHSH_TRUE@ $(am__objects_9)
+chfn_OBJECTS = $(am_chfn_OBJECTS)
+@BUILD_CHFN_CHSH_TRUE@am__DEPENDENCIES_3 = libcommon.la \
+@BUILD_CHFN_CHSH_TRUE@ $(am__DEPENDENCIES_1)
+@BUILD_CHFN_CHSH_TRUE@chfn_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_CHFN_CHSH_TRUE@ $(am__DEPENDENCIES_3)
+chfn_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(chfn_CFLAGS) $(CFLAGS) \
+ $(chfn_LDFLAGS) $(LDFLAGS) -o $@
+am__chrt_SOURCES_DIST = schedutils/chrt.c
+@BUILD_SCHEDUTILS_TRUE@am_chrt_OBJECTS = schedutils/chrt.$(OBJEXT)
+chrt_OBJECTS = $(am_chrt_OBJECTS)
+@BUILD_SCHEDUTILS_TRUE@chrt_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_SCHEDUTILS_TRUE@ libcommon.la
+am__chsh_SOURCES_DIST = login-utils/chsh.c login-utils/islocal.c \
+ login-utils/islocal.h login-utils/setpwnam.c \
+ login-utils/setpwnam.h login-utils/selinux_utils.c \
+ login-utils/selinux_utils.h
+@BUILD_CHFN_CHSH_TRUE@@HAVE_SELINUX_TRUE@am__objects_10 = login-utils/chsh-selinux_utils.$(OBJEXT)
+@BUILD_CHFN_CHSH_TRUE@am__objects_11 = \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/chsh-islocal.$(OBJEXT) \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/chsh-setpwnam.$(OBJEXT) \
+@BUILD_CHFN_CHSH_TRUE@ $(am__objects_10)
+@BUILD_CHFN_CHSH_TRUE@am_chsh_OBJECTS = \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/chsh-chsh.$(OBJEXT) \
+@BUILD_CHFN_CHSH_TRUE@ $(am__objects_11)
+chsh_OBJECTS = $(am_chsh_OBJECTS)
+@BUILD_CHFN_CHSH_TRUE@chsh_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_CHFN_CHSH_TRUE@ $(am__DEPENDENCIES_3)
+chsh_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(chsh_CFLAGS) $(CFLAGS) \
+ $(chsh_LDFLAGS) $(LDFLAGS) -o $@
+am_col_OBJECTS = text-utils/col.$(OBJEXT)
+col_OBJECTS = $(am_col_OBJECTS)
+col_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am_colcrt_OBJECTS = text-utils/colcrt.$(OBJEXT)
+colcrt_OBJECTS = $(am_colcrt_OBJECTS)
+colcrt_LDADD = $(LDADD)
+colcrt_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_colrm_OBJECTS = text-utils/colrm.$(OBJEXT)
+colrm_OBJECTS = $(am_colrm_OBJECTS)
+colrm_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am_column_OBJECTS = text-utils/column.$(OBJEXT)
+column_OBJECTS = $(am_column_OBJECTS)
+column_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__ctrlaltdel_SOURCES_DIST = sys-utils/ctrlaltdel.c
+@LINUX_TRUE@am_ctrlaltdel_OBJECTS = sys-utils/ctrlaltdel.$(OBJEXT)
+ctrlaltdel_OBJECTS = $(am_ctrlaltdel_OBJECTS)
+ctrlaltdel_LDADD = $(LDADD)
+ctrlaltdel_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__cytune_SOURCES_DIST = sys-utils/cytune.c sys-utils/cyclades.h
+@LINUX_TRUE@am_cytune_OBJECTS = sys-utils/cytune.$(OBJEXT)
+cytune_OBJECTS = $(am_cytune_OBJECTS)
+@LINUX_TRUE@cytune_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__ddate_SOURCES_DIST = misc-utils/ddate.c
+@BUILD_DDATE_TRUE@am_ddate_OBJECTS = misc-utils/ddate.$(OBJEXT)
+ddate_OBJECTS = $(am_ddate_OBJECTS)
+ddate_LDADD = $(LDADD)
+ddate_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__delpart_SOURCES_DIST = disk-utils/delpart.c disk-utils/partx.h
+@BUILD_PARTX_TRUE@am_delpart_OBJECTS = disk-utils/delpart.$(OBJEXT)
+delpart_OBJECTS = $(am_delpart_OBJECTS)
+@BUILD_PARTX_TRUE@delpart_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_PARTX_TRUE@ libcommon.la
+am__dmesg_SOURCES_DIST = sys-utils/dmesg.c
+@LINUX_TRUE@am_dmesg_OBJECTS = sys-utils/dmesg.$(OBJEXT)
+dmesg_OBJECTS = $(am_dmesg_OBJECTS)
+@LINUX_TRUE@dmesg_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__eject_SOURCES_DIST = sys-utils/eject.c
+@BUILD_EJECT_TRUE@am_eject_OBJECTS = sys-utils/eject-eject.$(OBJEXT)
+eject_OBJECTS = $(am_eject_OBJECTS)
+@BUILD_EJECT_TRUE@eject_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_EJECT_TRUE@ libmount.la libcommon.la
+eject_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(eject_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__elvtune_SOURCES_DIST = disk-utils/elvtune.c
+@BUILD_ELVTUNE_TRUE@am_elvtune_OBJECTS = disk-utils/elvtune.$(OBJEXT)
+elvtune_OBJECTS = $(am_elvtune_OBJECTS)
+@BUILD_ELVTUNE_TRUE@elvtune_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_ELVTUNE_TRUE@ libcommon.la
+am__fallocate_SOURCES_DIST = sys-utils/fallocate.c
+@BUILD_FALLOCATE_TRUE@am_fallocate_OBJECTS = \
+@BUILD_FALLOCATE_TRUE@ sys-utils/fallocate.$(OBJEXT)
+fallocate_OBJECTS = $(am_fallocate_OBJECTS)
+@BUILD_FALLOCATE_TRUE@fallocate_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_FALLOCATE_TRUE@ libcommon.la
+am__fdformat_SOURCES_DIST = disk-utils/fdformat.c
+@LINUX_TRUE@am_fdformat_OBJECTS = disk-utils/fdformat.$(OBJEXT)
+fdformat_OBJECTS = $(am_fdformat_OBJECTS)
+fdformat_LDADD = $(LDADD)
+fdformat_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__fdisk_SOURCES_DIST = fdisks/utils.c fdisks/fdisk.c fdisks/fdisk.h \
+ fdisks/fdiskaixlabel.c fdisks/fdiskaixlabel.h \
+ fdisks/fdiskbsdlabel.c fdisks/fdiskbsdlabel.h \
+ fdisks/fdiskmaclabel.c fdisks/fdiskmaclabel.h \
+ fdisks/fdisksgilabel.c fdisks/fdisksgilabel.h \
+ fdisks/fdisksunlabel.c fdisks/fdisksunlabel.h \
+ fdisks/fdiskdoslabel.c fdisks/fdiskdoslabel.h \
+ fdisks/partname.c fdisks/common.h fdisks/gpt.c fdisks/gpt.h \
+ fdisks/i386_sys_types.c
+am__objects_12 = fdisks/fdisk-gpt.$(OBJEXT) \
+ fdisks/fdisk-i386_sys_types.$(OBJEXT)
+@ARCH_M68K_FALSE@am_fdisk_OBJECTS = fdisks/fdisk-utils.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk-fdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk-fdiskaixlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk-fdiskbsdlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk-fdiskmaclabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk-fdisksgilabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk-fdisksunlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk-fdiskdoslabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk-partname.$(OBJEXT) \
+@ARCH_M68K_FALSE@ $(am__objects_12)
+fdisk_OBJECTS = $(am_fdisk_OBJECTS)
+@ARCH_M68K_FALSE@fdisk_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@ARCH_M68K_FALSE@ libcommon.la $(am__append_205)
+fdisk_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(fdisk_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__fdisk_static_SOURCES_DIST = fdisks/utils.c fdisks/fdisk.c \
+ fdisks/fdisk.h fdisks/fdiskaixlabel.c fdisks/fdiskaixlabel.h \
+ fdisks/fdiskbsdlabel.c fdisks/fdiskbsdlabel.h \
+ fdisks/fdiskmaclabel.c fdisks/fdiskmaclabel.h \
+ fdisks/fdisksgilabel.c fdisks/fdisksgilabel.h \
+ fdisks/fdisksunlabel.c fdisks/fdisksunlabel.h \
+ fdisks/fdiskdoslabel.c fdisks/fdiskdoslabel.h \
+ fdisks/partname.c fdisks/common.h fdisks/gpt.c fdisks/gpt.h \
+ fdisks/i386_sys_types.c
+am__objects_13 = fdisks/fdisk_static-gpt.$(OBJEXT) \
+ fdisks/fdisk_static-i386_sys_types.$(OBJEXT)
+@ARCH_M68K_FALSE@am__objects_14 = fdisks/fdisk_static-utils.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk_static-fdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk_static-fdiskaixlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk_static-fdiskbsdlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk_static-fdiskmaclabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk_static-fdisksgilabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk_static-fdisksunlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk_static-fdiskdoslabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@ fdisks/fdisk_static-partname.$(OBJEXT) \
+@ARCH_M68K_FALSE@ $(am__objects_13)
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@am_fdisk_static_OBJECTS = \
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@ $(am__objects_14)
+fdisk_static_OBJECTS = $(am_fdisk_static_OBJECTS)
+@ARCH_M68K_FALSE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_2) \
+@ARCH_M68K_FALSE@ libcommon.la $(am__append_205)
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@fdisk_static_DEPENDENCIES = $(am__DEPENDENCIES_4)
+fdisk_static_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(fdisk_static_CFLAGS) \
+ $(CFLAGS) $(fdisk_static_LDFLAGS) $(LDFLAGS) -o $@
+am__findfs_SOURCES_DIST = misc-utils/findfs.c
+@BUILD_LIBBLKID_TRUE@am_findfs_OBJECTS = \
+@BUILD_LIBBLKID_TRUE@ misc-utils/findfs-findfs.$(OBJEXT)
+findfs_OBJECTS = $(am_findfs_OBJECTS)
+@BUILD_LIBBLKID_TRUE@findfs_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LIBBLKID_TRUE@ libblkid.la
+findfs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(findfs_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__findmnt_SOURCES_DIST = misc-utils/findmnt.c
+@BUILD_LIBMOUNT_TRUE@am_findmnt_OBJECTS = \
+@BUILD_LIBMOUNT_TRUE@ misc-utils/findmnt-findmnt.$(OBJEXT)
+findmnt_OBJECTS = $(am_findmnt_OBJECTS)
+@BUILD_LIBMOUNT_TRUE@findmnt_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LIBMOUNT_TRUE@ libmount.la libcommon.la
+findmnt_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(findmnt_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_flock_OBJECTS = sys-utils/flock.$(OBJEXT)
+flock_OBJECTS = $(am_flock_OBJECTS)
+flock_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__fsck_SOURCES_DIST = disk-utils/fsck.c
+@BUILD_FSCK_TRUE@am_fsck_OBJECTS = disk-utils/fsck-fsck.$(OBJEXT)
+fsck_OBJECTS = $(am_fsck_OBJECTS)
+@BUILD_FSCK_TRUE@fsck_DEPENDENCIES = $(am__DEPENDENCIES_2) libmount.la \
+@BUILD_FSCK_TRUE@ libblkid.la
+fsck_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(fsck_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__fsck_cramfs_SOURCES_DIST = disk-utils/fsck.cramfs.c \
+ disk-utils/cramfs.h disk-utils/cramfs_common.c
+@BUILD_CRAMFS_TRUE@am__objects_15 = \
+@BUILD_CRAMFS_TRUE@ disk-utils/cramfs_common.$(OBJEXT)
+@BUILD_CRAMFS_TRUE@am_fsck_cramfs_OBJECTS = \
+@BUILD_CRAMFS_TRUE@ disk-utils/fsck.cramfs.$(OBJEXT) \
+@BUILD_CRAMFS_TRUE@ $(am__objects_15)
+fsck_cramfs_OBJECTS = $(am_fsck_cramfs_OBJECTS)
+@BUILD_CRAMFS_TRUE@fsck_cramfs_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_CRAMFS_TRUE@ libcommon.la
+am_fsck_minix_OBJECTS = disk-utils/fsck.minix.$(OBJEXT) \
+ lib/ismounted.$(OBJEXT)
+fsck_minix_OBJECTS = $(am_fsck_minix_OBJECTS)
+fsck_minix_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__fsfreeze_SOURCES_DIST = sys-utils/fsfreeze.c
+@LINUX_TRUE@am_fsfreeze_OBJECTS = sys-utils/fsfreeze.$(OBJEXT)
+fsfreeze_OBJECTS = $(am_fsfreeze_OBJECTS)
+fsfreeze_LDADD = $(LDADD)
+fsfreeze_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__fstrim_SOURCES_DIST = sys-utils/fstrim.c
+@LINUX_TRUE@am_fstrim_OBJECTS = sys-utils/fstrim.$(OBJEXT)
+fstrim_OBJECTS = $(am_fstrim_OBJECTS)
+@LINUX_TRUE@fstrim_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am_getopt_OBJECTS = misc-utils/getopt.$(OBJEXT)
+getopt_OBJECTS = $(am_getopt_OBJECTS)
+getopt_LDADD = $(LDADD)
+getopt_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_hexdump_OBJECTS = text-utils/conv.$(OBJEXT) \
+ text-utils/display.$(OBJEXT) text-utils/hexdump.$(OBJEXT) \
+ text-utils/hexsyntax.$(OBJEXT) text-utils/parse.$(OBJEXT)
+hexdump_OBJECTS = $(am_hexdump_OBJECTS)
+hexdump_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__hwclock_SOURCES_DIST = sys-utils/hwclock.c sys-utils/hwclock.h \
+ sys-utils/hwclock-cmos.c sys-utils/hwclock-kd.c \
+ sys-utils/hwclock-rtc.c
+@BUILD_HWCLOCK_TRUE@@LINUX_TRUE@am__objects_16 = sys-utils/hwclock-rtc.$(OBJEXT)
+@BUILD_HWCLOCK_TRUE@am_hwclock_OBJECTS = sys-utils/hwclock.$(OBJEXT) \
+@BUILD_HWCLOCK_TRUE@ sys-utils/hwclock-cmos.$(OBJEXT) \
+@BUILD_HWCLOCK_TRUE@ sys-utils/hwclock-kd.$(OBJEXT) \
+@BUILD_HWCLOCK_TRUE@ $(am__objects_16)
+hwclock_OBJECTS = $(am_hwclock_OBJECTS)
+@BUILD_HWCLOCK_TRUE@hwclock_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_HWCLOCK_TRUE@ libcommon.la $(am__DEPENDENCIES_1)
+am__ionice_SOURCES_DIST = schedutils/ionice.c
+@BUILD_IONICE_TRUE@@BUILD_SCHEDUTILS_TRUE@am_ionice_OBJECTS = schedutils/ionice.$(OBJEXT)
+ionice_OBJECTS = $(am_ionice_OBJECTS)
+@BUILD_IONICE_TRUE@@BUILD_SCHEDUTILS_TRUE@ionice_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_IONICE_TRUE@@BUILD_SCHEDUTILS_TRUE@ libcommon.la
+am_ipcmk_OBJECTS = sys-utils/ipcmk.$(OBJEXT)
+ipcmk_OBJECTS = $(am_ipcmk_OBJECTS)
+ipcmk_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am_ipcrm_OBJECTS = sys-utils/ipcrm.$(OBJEXT)
+ipcrm_OBJECTS = $(am_ipcrm_OBJECTS)
+ipcrm_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am_ipcs_OBJECTS = sys-utils/ipcs.$(OBJEXT)
+ipcs_OBJECTS = $(am_ipcs_OBJECTS)
+ipcs_LDADD = $(LDADD)
+ipcs_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_isosize_OBJECTS = disk-utils/isosize.$(OBJEXT)
+isosize_OBJECTS = $(am_isosize_OBJECTS)
+isosize_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__kill_SOURCES_DIST = misc-utils/kill.c misc-utils/kill.h \
+ misc-utils/procs.c
+@BUILD_KILL_TRUE@am_kill_OBJECTS = misc-utils/kill.$(OBJEXT) \
+@BUILD_KILL_TRUE@ misc-utils/procs.$(OBJEXT)
+kill_OBJECTS = $(am_kill_OBJECTS)
+@BUILD_KILL_TRUE@kill_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_KILL_TRUE@ libcommon.la
+am__last_SOURCES_DIST = login-utils/last.c
+@BUILD_LAST_TRUE@am_last_OBJECTS = login-utils/last.$(OBJEXT)
+last_OBJECTS = $(am_last_OBJECTS)
+last_LDADD = $(LDADD)
+last_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__ldattach_SOURCES_DIST = sys-utils/ldattach.c
+@LINUX_TRUE@am_ldattach_OBJECTS = sys-utils/ldattach.$(OBJEXT)
+ldattach_OBJECTS = $(am_ldattach_OBJECTS)
+@LINUX_TRUE@ldattach_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__line_SOURCES_DIST = text-utils/line.c
+@BUILD_LINE_TRUE@am_line_OBJECTS = text-utils/line.$(OBJEXT)
+line_OBJECTS = $(am_line_OBJECTS)
+line_LDADD = $(LDADD)
+line_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_logger_OBJECTS = misc-utils/logger.$(OBJEXT) lib/strutils.$(OBJEXT)
+logger_OBJECTS = $(am_logger_OBJECTS)
+logger_LDADD = $(LDADD)
+logger_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__login_SOURCES_DIST = login-utils/login.c login-utils/logindefs.c \
+ login-utils/logindefs.h
+@BUILD_LOGIN_TRUE@am_login_OBJECTS = login-utils/login.$(OBJEXT) \
+@BUILD_LOGIN_TRUE@ login-utils/logindefs.$(OBJEXT)
+login_OBJECTS = $(am_login_OBJECTS)
+@BUILD_LOGIN_TRUE@login_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LOGIN_TRUE@ libcommon.la $(am__DEPENDENCIES_1) \
+@BUILD_LOGIN_TRUE@ $(am__DEPENDENCIES_1)
+am_look_OBJECTS = misc-utils/look.$(OBJEXT)
+look_OBJECTS = $(am_look_OBJECTS)
+look_LDADD = $(LDADD)
+look_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__losetup_SOURCES_DIST = sys-utils/losetup.c
+@BUILD_LOSETUP_TRUE@am_losetup_OBJECTS = sys-utils/losetup.$(OBJEXT)
+losetup_OBJECTS = $(am_losetup_OBJECTS)
+@BUILD_LOSETUP_TRUE@losetup_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LOSETUP_TRUE@ libcommon.la
+am__losetup_static_SOURCES_DIST = sys-utils/losetup.c
+@BUILD_LOSETUP_TRUE@am__objects_17 = sys-utils/losetup.$(OBJEXT)
+@BUILD_LOSETUP_TRUE@@HAVE_STATIC_LOSETUP_TRUE@am_losetup_static_OBJECTS = $(am__objects_17)
+losetup_static_OBJECTS = $(am_losetup_static_OBJECTS)
+@BUILD_LOSETUP_TRUE@am__DEPENDENCIES_5 = $(am__DEPENDENCIES_2) \
+@BUILD_LOSETUP_TRUE@ libcommon.la
+@BUILD_LOSETUP_TRUE@@HAVE_STATIC_LOSETUP_TRUE@losetup_static_DEPENDENCIES = $(am__DEPENDENCIES_5)
+losetup_static_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(losetup_static_LDFLAGS) $(LDFLAGS) -o \
+ $@
+am__lsblk_SOURCES_DIST = misc-utils/lsblk.c
+@BUILD_LSBLK_TRUE@am_lsblk_OBJECTS = misc-utils/lsblk-lsblk.$(OBJEXT)
+lsblk_OBJECTS = $(am_lsblk_OBJECTS)
+@BUILD_LSBLK_TRUE@lsblk_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LSBLK_TRUE@ libblkid.la libmount.la libcommon.la \
+@BUILD_LSBLK_TRUE@ $(am__DEPENDENCIES_1)
+lsblk_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(lsblk_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__lscpu_SOURCES_DIST = sys-utils/lscpu.c
+@BUILD_LSCPU_TRUE@am_lscpu_OBJECTS = sys-utils/lscpu.$(OBJEXT)
+lscpu_OBJECTS = $(am_lscpu_OBJECTS)
+@BUILD_LSCPU_TRUE@lscpu_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LSCPU_TRUE@ libcommon.la
+am__lslocks_SOURCES_DIST = misc-utils/lslocks.c lib/at.c \
+ lib/strutils.c lib/tt.c lib/mbsalign.c
+@BUILD_LSLOCKS_TRUE@am_lslocks_OBJECTS = misc-utils/lslocks.$(OBJEXT) \
+@BUILD_LSLOCKS_TRUE@ lib/at.$(OBJEXT) lib/strutils.$(OBJEXT) \
+@BUILD_LSLOCKS_TRUE@ lib/tt.$(OBJEXT) lib/mbsalign.$(OBJEXT)
+lslocks_OBJECTS = $(am_lslocks_OBJECTS)
+lslocks_LDADD = $(LDADD)
+lslocks_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_mcookie_OBJECTS = misc-utils/mcookie.$(OBJEXT) lib/md5.$(OBJEXT)
+mcookie_OBJECTS = $(am_mcookie_OBJECTS)
+mcookie_LDADD = $(LDADD)
+mcookie_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__mesg_SOURCES_DIST = term-utils/mesg.c
+@BUILD_MESG_TRUE@am_mesg_OBJECTS = term-utils/mesg.$(OBJEXT)
+mesg_OBJECTS = $(am_mesg_OBJECTS)
+mesg_LDADD = $(LDADD)
+mesg_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_mkfs_OBJECTS = disk-utils/mkfs.$(OBJEXT)
+mkfs_OBJECTS = $(am_mkfs_OBJECTS)
+mkfs_LDADD = $(LDADD)
+mkfs_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_mkfs_bfs_OBJECTS = disk-utils/mkfs.bfs.$(OBJEXT)
+mkfs_bfs_OBJECTS = $(am_mkfs_bfs_OBJECTS)
+mkfs_bfs_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__mkfs_cramfs_SOURCES_DIST = disk-utils/mkfs.cramfs.c \
+ disk-utils/cramfs.h disk-utils/cramfs_common.c
+@BUILD_CRAMFS_TRUE@am_mkfs_cramfs_OBJECTS = \
+@BUILD_CRAMFS_TRUE@ disk-utils/mkfs.cramfs.$(OBJEXT) \
+@BUILD_CRAMFS_TRUE@ $(am__objects_15)
+mkfs_cramfs_OBJECTS = $(am_mkfs_cramfs_OBJECTS)
+@BUILD_CRAMFS_TRUE@mkfs_cramfs_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_CRAMFS_TRUE@ libcommon.la
+am_mkfs_minix_OBJECTS = disk-utils/mkfs.minix.$(OBJEXT)
+mkfs_minix_OBJECTS = $(am_mkfs_minix_OBJECTS)
+mkfs_minix_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am_mkswap_OBJECTS = disk-utils/mkswap-mkswap.$(OBJEXT)
+mkswap_OBJECTS = $(am_mkswap_OBJECTS)
+mkswap_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la \
+ $(am__append_183) $(am__append_185) $(am__DEPENDENCIES_1)
+mkswap_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mkswap_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__more_SOURCES_DIST = text-utils/more.c
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@am_more_OBJECTS = text-utils/more.$(OBJEXT)
+@HAVE_NCURSES_TRUE@am_more_OBJECTS = text-utils/more.$(OBJEXT)
+more_OBJECTS = $(am_more_OBJECTS)
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@more_DEPENDENCIES = \
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@ $(am__DEPENDENCIES_2)
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@more_DEPENDENCIES = \
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@ $(am__DEPENDENCIES_2)
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@more_DEPENDENCIES = \
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@ $(am__DEPENDENCIES_2)
+am__mount_SOURCES_DIST = mount-deprecated/mount.c \
+ mount-deprecated/sundries.c mount-deprecated/sundries.h \
+ mount-deprecated/fstab.h mount-deprecated/mount_mntent.h \
+ mount-deprecated/mount_constants.h \
+ mount-deprecated/getusername.h mount-deprecated/fsprobe.h \
+ mount-deprecated/devname.c mount-deprecated/devname.h \
+ mount-deprecated/fstab.c mount-deprecated/getusername.c \
+ mount-deprecated/mount_mntent.c mount-deprecated/fsprobe.c \
+ sys-utils/mount.c
+@BUILD_DEPRECATED_MOUNT_TRUE@am__objects_18 = mount-deprecated/mount-sundries.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount-devname.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount-fstab.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount-getusername.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount-mount_mntent.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount-fsprobe.$(OBJEXT)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@am_mount_OBJECTS = sys-utils/mount-mount.$(OBJEXT)
+@BUILD_DEPRECATED_MOUNT_TRUE@am_mount_OBJECTS = mount-deprecated/mount-mount.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__objects_18)
+mount_OBJECTS = $(am_mount_OBJECTS)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_SELINUX_TRUE@am__DEPENDENCIES_6 = $(am__DEPENDENCIES_1)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@mount_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ libcommon.la \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ libmount.la \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ $(am__DEPENDENCIES_1)
+@BUILD_DEPRECATED_MOUNT_TRUE@mount_DEPENDENCIES = \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__DEPENDENCIES_2) libblkid.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@ libcommon.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__DEPENDENCIES_6)
+mount_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mount_CFLAGS) $(CFLAGS) \
+ $(mount_LDFLAGS) $(LDFLAGS) -o $@
+am__mount_static_SOURCES_DIST = mount-deprecated/mount.c \
+ mount-deprecated/sundries.c mount-deprecated/sundries.h \
+ mount-deprecated/fstab.h mount-deprecated/mount_mntent.h \
+ mount-deprecated/mount_constants.h \
+ mount-deprecated/getusername.h mount-deprecated/fsprobe.h \
+ mount-deprecated/devname.c mount-deprecated/devname.h \
+ mount-deprecated/fstab.c mount-deprecated/getusername.c \
+ mount-deprecated/mount_mntent.c mount-deprecated/fsprobe.c \
+ sys-utils/mount.c
+@BUILD_DEPRECATED_MOUNT_TRUE@am__objects_19 = mount-deprecated/mount_static-sundries.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount_static-devname.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount_static-fstab.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount_static-getusername.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount_static-mount_mntent.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount_static-fsprobe.$(OBJEXT)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@am__objects_20 = sys-utils/mount_static-mount.$(OBJEXT)
+@BUILD_DEPRECATED_MOUNT_TRUE@am__objects_20 = mount-deprecated/mount_static-mount.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__objects_19)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@am_mount_static_OBJECTS = $(am__objects_20)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@am_mount_static_OBJECTS = $(am__objects_20)
+mount_static_OBJECTS = $(am_mount_static_OBJECTS)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_SELINUX_TRUE@@HAVE_STATIC_MOUNT_TRUE@am__DEPENDENCIES_7 = $(am__DEPENDENCIES_1)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@am__DEPENDENCIES_8 = $(am__DEPENDENCIES_2) \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ libcommon.la \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ libmount.la \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ $(am__DEPENDENCIES_1)
+@BUILD_DEPRECATED_MOUNT_TRUE@am__DEPENDENCIES_8 = \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__DEPENDENCIES_2) libblkid.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@ libcommon.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__DEPENDENCIES_6)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_DEPENDENCIES = $(am__DEPENDENCIES_8) \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@ $(am__DEPENDENCIES_1)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@ libblkid.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@ libcommon.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@ $(am__DEPENDENCIES_7)
+mount_static_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mount_static_CFLAGS) \
+ $(CFLAGS) $(mount_static_LDFLAGS) $(LDFLAGS) -o $@
+am__mountpoint_SOURCES_DIST = sys-utils/mountpoint.c
+@BUILD_MOUNTPOINT_TRUE@am_mountpoint_OBJECTS = sys-utils/mountpoint-mountpoint.$(OBJEXT)
+mountpoint_OBJECTS = $(am_mountpoint_OBJECTS)
+@BUILD_MOUNTPOINT_TRUE@mountpoint_DEPENDENCIES = \
+@BUILD_MOUNTPOINT_TRUE@ $(am__DEPENDENCIES_2) libmount.la
+mountpoint_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mountpoint_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_namei_OBJECTS = misc-utils/namei.$(OBJEXT) lib/strutils.$(OBJEXT)
+namei_OBJECTS = $(am_namei_OBJECTS)
+namei_LDADD = $(LDADD)
+namei_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__newgrp_SOURCES_DIST = login-utils/newgrp.c
+@BUILD_NEWGRP_TRUE@am_newgrp_OBJECTS = \
+@BUILD_NEWGRP_TRUE@ login-utils/newgrp-newgrp.$(OBJEXT)
+newgrp_OBJECTS = $(am_newgrp_OBJECTS)
+@BUILD_NEWGRP_TRUE@newgrp_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_NEWGRP_TRUE@ $(am__DEPENDENCIES_1)
+newgrp_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(newgrp_CFLAGS) $(CFLAGS) \
+ $(newgrp_LDFLAGS) $(LDFLAGS) -o $@
+am__partx_SOURCES_DIST = disk-utils/partx.c disk-utils/partx.h
+@BUILD_PARTX_TRUE@am_partx_OBJECTS = disk-utils/partx-partx.$(OBJEXT)
+partx_OBJECTS = $(am_partx_OBJECTS)
+@BUILD_PARTX_TRUE@partx_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_PARTX_TRUE@ libblkid.la libcommon.la
+partx_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(partx_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__pg_SOURCES_DIST = text-utils/pg.c
+@HAVE_NCURSES_TRUE@am_pg_OBJECTS = text-utils/pg.$(OBJEXT)
+pg_OBJECTS = $(am_pg_OBJECTS)
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@pg_DEPENDENCIES = \
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@ $(am__DEPENDENCIES_2)
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@pg_DEPENDENCIES = \
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@ $(am__DEPENDENCIES_2)
+am__pivot_root_SOURCES_DIST = sys-utils/pivot_root.c
+@BUILD_PIVOT_ROOT_TRUE@am_pivot_root_OBJECTS = \
+@BUILD_PIVOT_ROOT_TRUE@ sys-utils/pivot_root.$(OBJEXT)
+pivot_root_OBJECTS = $(am_pivot_root_OBJECTS)
+pivot_root_LDADD = $(LDADD)
+pivot_root_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__prlimit_SOURCES_DIST = sys-utils/prlimit.c
+@BUILD_PRLIMIT_TRUE@am_prlimit_OBJECTS = sys-utils/prlimit.$(OBJEXT)
+prlimit_OBJECTS = $(am_prlimit_OBJECTS)
+@BUILD_PRLIMIT_TRUE@prlimit_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_PRLIMIT_TRUE@ libcommon.la
+am__raw_SOURCES_DIST = disk-utils/raw.c
+@BUILD_RAW_TRUE@am_raw_OBJECTS = disk-utils/raw.$(OBJEXT)
+raw_OBJECTS = $(am_raw_OBJECTS)
+raw_LDADD = $(LDADD)
+raw_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_readprofile_OBJECTS = sys-utils/readprofile.$(OBJEXT)
+readprofile_OBJECTS = $(am_readprofile_OBJECTS)
+readprofile_LDADD = $(LDADD)
+readprofile_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__rename_SOURCES_DIST = misc-utils/rename.c
+@BUILD_RENAME_TRUE@am_rename_OBJECTS = misc-utils/rename.$(OBJEXT)
+rename_OBJECTS = $(am_rename_OBJECTS)
+rename_LDADD = $(LDADD)
+rename_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_renice_OBJECTS = sys-utils/renice.$(OBJEXT)
+renice_OBJECTS = $(am_renice_OBJECTS)
+renice_LDADD = $(LDADD)
+renice_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__resizepart_SOURCES_DIST = disk-utils/resizepart.c \
+ disk-utils/partx.h
+@BUILD_PARTX_TRUE@am_resizepart_OBJECTS = \
+@BUILD_PARTX_TRUE@ disk-utils/resizepart.$(OBJEXT)
+resizepart_OBJECTS = $(am_resizepart_OBJECTS)
+@BUILD_PARTX_TRUE@resizepart_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_PARTX_TRUE@ libcommon.la
+am_rev_OBJECTS = text-utils/rev.$(OBJEXT)
+rev_OBJECTS = $(am_rev_OBJECTS)
+rev_LDADD = $(LDADD)
+rev_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__rtcwake_SOURCES_DIST = sys-utils/rtcwake.c
+@LINUX_TRUE@am_rtcwake_OBJECTS = sys-utils/rtcwake.$(OBJEXT)
+rtcwake_OBJECTS = $(am_rtcwake_OBJECTS)
+@LINUX_TRUE@rtcwake_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__sample_mkfs_SOURCES_DIST = libblkid/samples/mkfs.c
+@BUILD_LIBBLKID_TRUE@am_sample_mkfs_OBJECTS = libblkid/samples/sample_mkfs-mkfs.$(OBJEXT)
+sample_mkfs_OBJECTS = $(am_sample_mkfs_OBJECTS)
+@BUILD_LIBBLKID_TRUE@sample_mkfs_DEPENDENCIES = libblkid.la
+sample_mkfs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(sample_mkfs_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__sample_partitions_SOURCES_DIST = libblkid/samples/partitions.c
+@BUILD_LIBBLKID_TRUE@am_sample_partitions_OBJECTS = libblkid/samples/sample_partitions-partitions.$(OBJEXT)
+sample_partitions_OBJECTS = $(am_sample_partitions_OBJECTS)
+@BUILD_LIBBLKID_TRUE@sample_partitions_DEPENDENCIES = libblkid.la
+sample_partitions_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(sample_partitions_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
+am__sample_superblocks_SOURCES_DIST = libblkid/samples/superblocks.c
+@BUILD_LIBBLKID_TRUE@am_sample_superblocks_OBJECTS = libblkid/samples/sample_superblocks-superblocks.$(OBJEXT)
+sample_superblocks_OBJECTS = $(am_sample_superblocks_OBJECTS)
+@BUILD_LIBBLKID_TRUE@sample_superblocks_DEPENDENCIES = libblkid.la
+sample_superblocks_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(sample_superblocks_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__sample_topology_SOURCES_DIST = libblkid/samples/topology.c
+@BUILD_LIBBLKID_TRUE@am_sample_topology_OBJECTS = libblkid/samples/sample_topology-topology.$(OBJEXT)
+sample_topology_OBJECTS = $(am_sample_topology_OBJECTS)
+@BUILD_LIBBLKID_TRUE@sample_topology_DEPENDENCIES = libblkid.la
+sample_topology_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(sample_topology_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
+am_script_OBJECTS = term-utils/script.$(OBJEXT)
+script_OBJECTS = $(am_script_OBJECTS)
+script_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
+am_scriptreplay_OBJECTS = term-utils/scriptreplay.$(OBJEXT)
+scriptreplay_OBJECTS = $(am_scriptreplay_OBJECTS)
+scriptreplay_LDADD = $(LDADD)
+scriptreplay_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__setarch_SOURCES_DIST = sys-utils/setarch.c
+@LINUX_TRUE@am_setarch_OBJECTS = sys-utils/setarch.$(OBJEXT)
+setarch_OBJECTS = $(am_setarch_OBJECTS)
+setarch_LDADD = $(LDADD)
+setarch_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_setsid_OBJECTS = sys-utils/setsid.$(OBJEXT)
+setsid_OBJECTS = $(am_setsid_OBJECTS)
+setsid_LDADD = $(LDADD)
+setsid_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__setterm_SOURCES_DIST = term-utils/setterm.c
+@HAVE_NCURSES_TRUE@@LINUX_TRUE@am_setterm_OBJECTS = \
+@HAVE_NCURSES_TRUE@@LINUX_TRUE@ term-utils/setterm.$(OBJEXT)
+setterm_OBJECTS = $(am_setterm_OBJECTS)
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@setterm_DEPENDENCIES = \
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@ $(am__DEPENDENCIES_2)
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@setterm_DEPENDENCIES = \
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@ $(am__DEPENDENCIES_2)
+am__sfdisk_SOURCES_DIST = fdisks/partname.c fdisks/sfdisk.c \
+ fdisks/common.h fdisks/gpt.c fdisks/gpt.h \
+ fdisks/i386_sys_types.c
+am__objects_21 = fdisks/gpt.$(OBJEXT) fdisks/i386_sys_types.$(OBJEXT)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am_sfdisk_OBJECTS = \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ fdisks/partname.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ fdisks/sfdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ $(am__objects_21)
+sfdisk_OBJECTS = $(am_sfdisk_OBJECTS)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@sfdisk_DEPENDENCIES = \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ $(am__DEPENDENCIES_2) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ libcommon.la
+am__sfdisk_static_SOURCES_DIST = fdisks/partname.c fdisks/sfdisk.c \
+ fdisks/common.h fdisks/gpt.c fdisks/gpt.h \
+ fdisks/i386_sys_types.c
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am__objects_22 = \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ fdisks/partname.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ fdisks/sfdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ $(am__objects_21)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@am_sfdisk_static_OBJECTS = $(am__objects_22)
+sfdisk_static_OBJECTS = $(am_sfdisk_static_OBJECTS)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am__DEPENDENCIES_9 = \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ $(am__DEPENDENCIES_2) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ libcommon.la
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@sfdisk_static_DEPENDENCIES = $(am__DEPENDENCIES_9)
+sfdisk_static_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(sfdisk_static_LDFLAGS) $(LDFLAGS) -o $@
+am__su_SOURCES_DIST = login-utils/su.c login-utils/logindefs.c \
+ login-utils/logindefs.h
+@BUILD_SU_TRUE@am_su_OBJECTS = login-utils/su-su.$(OBJEXT) \
+@BUILD_SU_TRUE@ login-utils/su-logindefs.$(OBJEXT)
+su_OBJECTS = $(am_su_OBJECTS)
+@BUILD_SU_TRUE@su_DEPENDENCIES = $(am__DEPENDENCIES_2)
+su_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(su_CFLAGS) $(CFLAGS) \
+ $(su_LDFLAGS) $(LDFLAGS) -o $@
+am__sulogin_SOURCES_DIST = login-utils/sulogin.c
+@BUILD_SULOGIN_TRUE@am_sulogin_OBJECTS = \
+@BUILD_SULOGIN_TRUE@ login-utils/sulogin.$(OBJEXT)
+sulogin_OBJECTS = $(am_sulogin_OBJECTS)
+@BUILD_SULOGIN_TRUE@sulogin_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_SULOGIN_TRUE@ libcommon.la $(am__DEPENDENCIES_1) \
+@BUILD_SULOGIN_TRUE@ $(am__DEPENDENCIES_1)
+am__swaplabel_SOURCES_DIST = disk-utils/swaplabel.c
+@BUILD_SWAPLABEL_TRUE@am_swaplabel_OBJECTS = disk-utils/swaplabel-swaplabel.$(OBJEXT)
+swaplabel_OBJECTS = $(am_swaplabel_OBJECTS)
+@BUILD_SWAPLABEL_TRUE@swaplabel_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_SWAPLABEL_TRUE@ libblkid.la libcommon.la \
+@BUILD_SWAPLABEL_TRUE@ $(am__append_189)
+swaplabel_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(swaplabel_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__swapoff_SOURCES_DIST = sys-utils/swapoff.c \
+ sys-utils/swapon-common.c
+@BUILD_SWAPON_TRUE@am_swapoff_OBJECTS = \
+@BUILD_SWAPON_TRUE@ sys-utils/swapoff-swapoff.$(OBJEXT) \
+@BUILD_SWAPON_TRUE@ sys-utils/swapoff-swapon-common.$(OBJEXT)
+swapoff_OBJECTS = $(am_swapoff_OBJECTS)
+@BUILD_SWAPON_TRUE@swapoff_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_SWAPON_TRUE@ libmount.la
+swapoff_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(swapoff_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__swapon_SOURCES_DIST = sys-utils/swapon.c sys-utils/swapon-common.c \
+ sys-utils/swapon-common.h
+@BUILD_SWAPON_TRUE@am_swapon_OBJECTS = \
+@BUILD_SWAPON_TRUE@ sys-utils/swapon-swapon.$(OBJEXT) \
+@BUILD_SWAPON_TRUE@ sys-utils/swapon-swapon-common.$(OBJEXT)
+swapon_OBJECTS = $(am_swapon_OBJECTS)
+@BUILD_SWAPON_TRUE@swapon_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_SWAPON_TRUE@ libcommon.la libmount.la
+swapon_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(swapon_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__switch_root_SOURCES_DIST = sys-utils/switch_root.c
+@BUILD_SWITCH_ROOT_TRUE@am_switch_root_OBJECTS = \
+@BUILD_SWITCH_ROOT_TRUE@ sys-utils/switch_root.$(OBJEXT)
+switch_root_OBJECTS = $(am_switch_root_OBJECTS)
+switch_root_LDADD = $(LDADD)
+switch_root_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_tailf_OBJECTS = text-utils/tailf.$(OBJEXT)
+tailf_OBJECTS = $(am_tailf_OBJECTS)
+tailf_DEPENDENCIES = $(am__DEPENDENCIES_2) libcommon.la
+am__taskset_SOURCES_DIST = schedutils/taskset.c
+@BUILD_SCHEDUTILS_TRUE@@BUILD_TASKSET_TRUE@am_taskset_OBJECTS = schedutils/taskset.$(OBJEXT)
+taskset_OBJECTS = $(am_taskset_OBJECTS)
+@BUILD_SCHEDUTILS_TRUE@@BUILD_TASKSET_TRUE@taskset_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_SCHEDUTILS_TRUE@@BUILD_TASKSET_TRUE@ libcommon.la
+am_test_at_OBJECTS = lib/test_at-at.$(OBJEXT)
+test_at_OBJECTS = $(am_test_at_OBJECTS)
+test_at_LDADD = $(LDADD)
+test_at_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_at_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_at_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_test_blkdev_OBJECTS = lib/test_blkdev-blkdev.$(OBJEXT)
+test_blkdev_OBJECTS = $(am_test_blkdev_OBJECTS)
+test_blkdev_DEPENDENCIES = libcommon.la
+test_blkdev_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_blkdev_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__test_blkid_cache_SOURCES_DIST = libblkid/src/cache.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_cache_OBJECTS = libblkid/src/test_blkid_cache-cache.$(OBJEXT)
+test_blkid_cache_OBJECTS = $(am_test_blkid_cache_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am__DEPENDENCIES_10 = \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ libblkid.la \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ $(am__DEPENDENCIES_1)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_cache_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_cache_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_cache_CFLAGS) $(CFLAGS) \
+ $(test_blkid_cache_LDFLAGS) $(LDFLAGS) -o $@
+am__test_blkid_config_SOURCES_DIST = libblkid/src/config.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_config_OBJECTS = libblkid/src/test_blkid_config-config.$(OBJEXT)
+test_blkid_config_OBJECTS = $(am_test_blkid_config_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_config_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_config_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_config_CFLAGS) $(CFLAGS) \
+ $(test_blkid_config_LDFLAGS) $(LDFLAGS) -o $@
+am__test_blkid_dev_SOURCES_DIST = libblkid/src/dev.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_dev_OBJECTS = libblkid/src/test_blkid_dev-dev.$(OBJEXT)
+test_blkid_dev_OBJECTS = $(am_test_blkid_dev_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_dev_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_dev_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_dev_CFLAGS) $(CFLAGS) $(test_blkid_dev_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__test_blkid_devname_SOURCES_DIST = libblkid/src/devname.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_devname_OBJECTS = libblkid/src/test_blkid_devname-devname.$(OBJEXT)
+test_blkid_devname_OBJECTS = $(am_test_blkid_devname_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devname_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_devname_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_devname_CFLAGS) $(CFLAGS) \
+ $(test_blkid_devname_LDFLAGS) $(LDFLAGS) -o $@
+am__test_blkid_devno_SOURCES_DIST = libblkid/src/devno.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_devno_OBJECTS = libblkid/src/test_blkid_devno-devno.$(OBJEXT)
+test_blkid_devno_OBJECTS = $(am_test_blkid_devno_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devno_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_devno_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_devno_CFLAGS) $(CFLAGS) \
+ $(test_blkid_devno_LDFLAGS) $(LDFLAGS) -o $@
+am__test_blkid_evaluate_SOURCES_DIST = libblkid/src/evaluate.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_evaluate_OBJECTS = libblkid/src/test_blkid_evaluate-evaluate.$(OBJEXT)
+test_blkid_evaluate_OBJECTS = $(am_test_blkid_evaluate_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_evaluate_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_evaluate_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_evaluate_CFLAGS) $(CFLAGS) \
+ $(test_blkid_evaluate_LDFLAGS) $(LDFLAGS) -o $@
+am__test_blkid_read_SOURCES_DIST = libblkid/src/read.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_read_OBJECTS = libblkid/src/test_blkid_read-read.$(OBJEXT)
+test_blkid_read_OBJECTS = $(am_test_blkid_read_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_read_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_read_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_read_CFLAGS) $(CFLAGS) $(test_blkid_read_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__test_blkid_resolve_SOURCES_DIST = libblkid/src/resolve.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_resolve_OBJECTS = libblkid/src/test_blkid_resolve-resolve.$(OBJEXT)
+test_blkid_resolve_OBJECTS = $(am_test_blkid_resolve_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_resolve_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_resolve_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_resolve_CFLAGS) $(CFLAGS) \
+ $(test_blkid_resolve_LDFLAGS) $(LDFLAGS) -o $@
+am__test_blkid_save_SOURCES_DIST = libblkid/src/save.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_save_OBJECTS = libblkid/src/test_blkid_save-save.$(OBJEXT)
+test_blkid_save_OBJECTS = $(am_test_blkid_save_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_save_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_save_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_save_CFLAGS) $(CFLAGS) $(test_blkid_save_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__test_blkid_tag_SOURCES_DIST = libblkid/src/tag.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_tag_OBJECTS = libblkid/src/test_blkid_tag-tag.$(OBJEXT)
+test_blkid_tag_OBJECTS = $(am_test_blkid_tag_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_tag_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_tag_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_tag_CFLAGS) $(CFLAGS) $(test_blkid_tag_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__test_blkid_verify_SOURCES_DIST = libblkid/src/verify.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am_test_blkid_verify_OBJECTS = libblkid/src/test_blkid_verify-verify.$(OBJEXT)
+test_blkid_verify_OBJECTS = $(am_test_blkid_verify_OBJECTS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_verify_DEPENDENCIES = $(am__DEPENDENCIES_10)
+test_blkid_verify_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_blkid_verify_CFLAGS) $(CFLAGS) \
+ $(test_blkid_verify_LDFLAGS) $(LDFLAGS) -o $@
+am_test_byteswap_OBJECTS = tests/helpers/test_byteswap.$(OBJEXT)
+test_byteswap_OBJECTS = $(am_test_byteswap_OBJECTS)
+test_byteswap_LDADD = $(LDADD)
+test_byteswap_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_test_canonicalize_OBJECTS = \
+ lib/test_canonicalize-canonicalize.$(OBJEXT)
+test_canonicalize_OBJECTS = $(am_test_canonicalize_OBJECTS)
+test_canonicalize_LDADD = $(LDADD)
+test_canonicalize_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_canonicalize_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_canonicalize_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
+am__test_cpuset_SOURCES_DIST = lib/cpuset.c
+@LINUX_TRUE@am_test_cpuset_OBJECTS = lib/test_cpuset-cpuset.$(OBJEXT)
+test_cpuset_OBJECTS = $(am_test_cpuset_OBJECTS)
+test_cpuset_LDADD = $(LDADD)
+test_cpuset_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_cpuset_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_cpuset_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_test_fileutils_OBJECTS = lib/test_fileutils-fileutils.$(OBJEXT)
+test_fileutils_OBJECTS = $(am_test_fileutils_OBJECTS)
+test_fileutils_LDADD = $(LDADD)
+test_fileutils_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_fileutils_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_fileutils_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
+ $@
+am_test_islocal_OBJECTS = login-utils/test_islocal-islocal.$(OBJEXT)
+test_islocal_OBJECTS = $(am_test_islocal_OBJECTS)
+test_islocal_LDADD = $(LDADD)
+test_islocal_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_test_ismounted_OBJECTS = lib/test_ismounted-ismounted.$(OBJEXT)
+test_ismounted_OBJECTS = $(am_test_ismounted_OBJECTS)
+test_ismounted_LDADD = $(LDADD)
+test_ismounted_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_ismounted_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_ismounted_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
+ $@
+am_test_logindefs_OBJECTS = \
+ login-utils/test_logindefs-logindefs.$(OBJEXT)
+test_logindefs_OBJECTS = $(am_test_logindefs_OBJECTS)
+test_logindefs_LDADD = $(LDADD)
+test_logindefs_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__test_loopdev_SOURCES_DIST = lib/loopdev.c
+@LINUX_TRUE@am_test_loopdev_OBJECTS = \
+@LINUX_TRUE@ lib/test_loopdev-loopdev.$(OBJEXT)
+test_loopdev_OBJECTS = $(am_test_loopdev_OBJECTS)
+@LINUX_TRUE@test_loopdev_DEPENDENCIES = libcommon.la
+test_loopdev_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_loopdev_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_test_mangle_OBJECTS = lib/test_mangle-mangle.$(OBJEXT)
+test_mangle_OBJECTS = $(am_test_mangle_OBJECTS)
+test_mangle_LDADD = $(LDADD)
+test_mangle_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_mangle_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_mangle_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_test_md5_OBJECTS = tests/helpers/test_md5.$(OBJEXT) \
+ lib/md5.$(OBJEXT)
+test_md5_OBJECTS = $(am_test_md5_OBJECTS)
+test_md5_LDADD = $(LDADD)
+test_md5_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__test_mount_cache_SOURCES_DIST = libmount/src/cache.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am_test_mount_cache_OBJECTS = libmount/src/test_mount_cache-cache.$(OBJEXT)
+test_mount_cache_OBJECTS = $(am_test_mount_cache_OBJECTS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@@HAVE_SELINUX_TRUE@am__DEPENDENCIES_11 = $(am__DEPENDENCIES_1)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am__DEPENDENCIES_12 = \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ libmount.la \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ $(am__DEPENDENCIES_11)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_cache_DEPENDENCIES = $(am__DEPENDENCIES_12)
+test_mount_cache_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_mount_cache_CFLAGS) $(CFLAGS) \
+ $(test_mount_cache_LDFLAGS) $(LDFLAGS) -o $@
+am__test_mount_context_SOURCES_DIST = libmount/src/context.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am_test_mount_context_OBJECTS = libmount/src/test_mount_context-context.$(OBJEXT)
+test_mount_context_OBJECTS = $(am_test_mount_context_OBJECTS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_context_DEPENDENCIES = $(am__DEPENDENCIES_12)
+test_mount_context_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_mount_context_CFLAGS) $(CFLAGS) \
+ $(test_mount_context_LDFLAGS) $(LDFLAGS) -o $@
+am__test_mount_lock_SOURCES_DIST = libmount/src/lock.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am_test_mount_lock_OBJECTS = libmount/src/test_mount_lock-lock.$(OBJEXT)
+test_mount_lock_OBJECTS = $(am_test_mount_lock_OBJECTS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_lock_DEPENDENCIES = $(am__DEPENDENCIES_12)
+test_mount_lock_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_mount_lock_CFLAGS) $(CFLAGS) $(test_mount_lock_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__test_mount_optstr_SOURCES_DIST = libmount/src/optstr.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am_test_mount_optstr_OBJECTS = libmount/src/test_mount_optstr-optstr.$(OBJEXT)
+test_mount_optstr_OBJECTS = $(am_test_mount_optstr_OBJECTS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_optstr_DEPENDENCIES = $(am__DEPENDENCIES_12)
+test_mount_optstr_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_mount_optstr_CFLAGS) $(CFLAGS) \
+ $(test_mount_optstr_LDFLAGS) $(LDFLAGS) -o $@
+am__test_mount_tab_SOURCES_DIST = libmount/src/tab.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am_test_mount_tab_OBJECTS = libmount/src/test_mount_tab-tab.$(OBJEXT)
+test_mount_tab_OBJECTS = $(am_test_mount_tab_OBJECTS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_DEPENDENCIES = $(am__DEPENDENCIES_12)
+test_mount_tab_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_mount_tab_CFLAGS) $(CFLAGS) $(test_mount_tab_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__test_mount_tab_diff_SOURCES_DIST = libmount/src/tab_diff.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am_test_mount_tab_diff_OBJECTS = libmount/src/test_mount_tab_diff-tab_diff.$(OBJEXT)
+test_mount_tab_diff_OBJECTS = $(am_test_mount_tab_diff_OBJECTS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_diff_DEPENDENCIES = $(am__DEPENDENCIES_12)
+test_mount_tab_diff_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_mount_tab_diff_CFLAGS) $(CFLAGS) \
+ $(test_mount_tab_diff_LDFLAGS) $(LDFLAGS) -o $@
+am__test_mount_tab_update_SOURCES_DIST = libmount/src/tab_update.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am_test_mount_tab_update_OBJECTS = libmount/src/test_mount_tab_update-tab_update.$(OBJEXT)
+test_mount_tab_update_OBJECTS = $(am_test_mount_tab_update_OBJECTS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_update_DEPENDENCIES = $(am__DEPENDENCIES_12)
+test_mount_tab_update_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_mount_tab_update_CFLAGS) $(CFLAGS) \
+ $(test_mount_tab_update_LDFLAGS) $(LDFLAGS) -o $@
+am__test_mount_utils_SOURCES_DIST = libmount/src/utils.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am_test_mount_utils_OBJECTS = libmount/src/test_mount_utils-utils.$(OBJEXT)
+test_mount_utils_OBJECTS = $(am_test_mount_utils_OBJECTS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_utils_DEPENDENCIES = $(am__DEPENDENCIES_12)
+test_mount_utils_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_mount_utils_CFLAGS) $(CFLAGS) \
+ $(test_mount_utils_LDFLAGS) $(LDFLAGS) -o $@
+am__test_mount_version_SOURCES_DIST = libmount/src/version.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@am_test_mount_version_OBJECTS = libmount/src/test_mount_version-version.$(OBJEXT)
+test_mount_version_OBJECTS = $(am_test_mount_version_OBJECTS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_version_DEPENDENCIES = $(am__DEPENDENCIES_12)
+test_mount_version_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_mount_version_CFLAGS) $(CFLAGS) \
+ $(test_mount_version_LDFLAGS) $(LDFLAGS) -o $@
+am__test_pager_SOURCES_DIST = lib/pager.c
+@LINUX_TRUE@am_test_pager_OBJECTS = lib/test_pager-pager.$(OBJEXT)
+test_pager_OBJECTS = $(am_test_pager_OBJECTS)
+test_pager_LDADD = $(LDADD)
+test_pager_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_pager_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_pager_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_test_pathnames_OBJECTS = tests/helpers/test_pathnames.$(OBJEXT)
+test_pathnames_OBJECTS = $(am_test_pathnames_OBJECTS)
+test_pathnames_LDADD = $(LDADD)
+test_pathnames_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_test_procutils_OBJECTS = lib/test_procutils-procutils.$(OBJEXT)
+test_procutils_OBJECTS = $(am_test_procutils_OBJECTS)
+test_procutils_LDADD = $(LDADD)
+test_procutils_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_procutils_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_procutils_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
+ $@
+am_test_randutils_OBJECTS = lib/test_randutils-randutils.$(OBJEXT)
+test_randutils_OBJECTS = $(am_test_randutils_OBJECTS)
+test_randutils_LDADD = $(LDADD)
+test_randutils_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_randutils_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_randutils_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
+ $@
+am_test_strutils_OBJECTS = lib/test_strutils-strutils.$(OBJEXT)
+test_strutils_OBJECTS = $(am_test_strutils_OBJECTS)
+test_strutils_LDADD = $(LDADD)
+test_strutils_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_strutils_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_strutils_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__test_sysfs_SOURCES_DIST = lib/sysfs.c
+@LINUX_TRUE@am_test_sysfs_OBJECTS = lib/test_sysfs-sysfs.$(OBJEXT)
+test_sysfs_OBJECTS = $(am_test_sysfs_OBJECTS)
+@LINUX_TRUE@test_sysfs_DEPENDENCIES = libcommon.la
+test_sysfs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_sysfs_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_test_sysinfo_OBJECTS = tests/helpers/test_sysinfo.$(OBJEXT)
+test_sysinfo_OBJECTS = $(am_test_sysinfo_OBJECTS)
+test_sysinfo_LDADD = $(LDADD)
+test_sysinfo_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_test_tt_OBJECTS = lib/test_tt-tt.$(OBJEXT)
+test_tt_OBJECTS = $(am_test_tt_OBJECTS)
+test_tt_DEPENDENCIES = libcommon.la
+test_tt_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_tt_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__test_uuid_SOURCES_DIST = libuuid/src/test_uuid.c
+@BUILD_LIBUUID_TRUE@am_test_uuid_OBJECTS = \
+@BUILD_LIBUUID_TRUE@ libuuid/src/test_uuid-test_uuid.$(OBJEXT)
+test_uuid_OBJECTS = $(am_test_uuid_OBJECTS)
+@BUILD_LIBUUID_TRUE@test_uuid_DEPENDENCIES = libuuid.la \
+@BUILD_LIBUUID_TRUE@ $(am__DEPENDENCIES_1)
+test_uuid_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_uuid_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_test_wholedisk_OBJECTS = lib/test_wholedisk-wholedisk.$(OBJEXT)
+test_wholedisk_OBJECTS = $(am_test_wholedisk_OBJECTS)
+test_wholedisk_LDADD = $(LDADD)
+test_wholedisk_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_wholedisk_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(test_wholedisk_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
+ $@
+am__tunelp_SOURCES_DIST = sys-utils/tunelp.c sys-utils/lp.h
+@LINUX_TRUE@am_tunelp_OBJECTS = sys-utils/tunelp.$(OBJEXT)
+tunelp_OBJECTS = $(am_tunelp_OBJECTS)
+tunelp_LDADD = $(LDADD)
+tunelp_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__ul_SOURCES_DIST = text-utils/ul.c
+@HAVE_NCURSES_TRUE@am_ul_OBJECTS = text-utils/ul.$(OBJEXT)
+ul_OBJECTS = $(am_ul_OBJECTS)
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@ul_DEPENDENCIES = \
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@ $(am__DEPENDENCIES_2)
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@ul_DEPENDENCIES = \
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@ $(am__DEPENDENCIES_2)
+am__umount_SOURCES_DIST = mount-deprecated/umount.c \
+ mount-deprecated/sundries.c mount-deprecated/sundries.h \
+ mount-deprecated/fstab.h mount-deprecated/mount_mntent.h \
+ mount-deprecated/mount_constants.h \
+ mount-deprecated/getusername.h mount-deprecated/fsprobe.h \
+ mount-deprecated/devname.c mount-deprecated/devname.h \
+ mount-deprecated/fstab.c mount-deprecated/getusername.c \
+ mount-deprecated/mount_mntent.c mount-deprecated/fsprobe.c \
+ sys-utils/umount.c
+@BUILD_DEPRECATED_MOUNT_TRUE@am__objects_23 = mount-deprecated/umount-sundries.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount-devname.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount-fstab.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount-getusername.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount-mount_mntent.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount-fsprobe.$(OBJEXT)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@am_umount_OBJECTS = sys-utils/umount-umount.$(OBJEXT)
+@BUILD_DEPRECATED_MOUNT_TRUE@am_umount_OBJECTS = mount-deprecated/umount-umount.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__objects_23)
+umount_OBJECTS = $(am_umount_OBJECTS)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@umount_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ libcommon.la \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ libmount.la
+@BUILD_DEPRECATED_MOUNT_TRUE@umount_DEPENDENCIES = \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__DEPENDENCIES_2) libblkid.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@ libcommon.la
+umount_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(umount_CFLAGS) $(CFLAGS) \
+ $(umount_LDFLAGS) $(LDFLAGS) -o $@
+am__umount_static_SOURCES_DIST = mount-deprecated/umount.c \
+ mount-deprecated/sundries.c mount-deprecated/sundries.h \
+ mount-deprecated/fstab.h mount-deprecated/mount_mntent.h \
+ mount-deprecated/mount_constants.h \
+ mount-deprecated/getusername.h mount-deprecated/fsprobe.h \
+ mount-deprecated/devname.c mount-deprecated/devname.h \
+ mount-deprecated/fstab.c mount-deprecated/getusername.c \
+ mount-deprecated/mount_mntent.c mount-deprecated/fsprobe.c \
+ sys-utils/umount.c
+@BUILD_DEPRECATED_MOUNT_TRUE@am__objects_24 = mount-deprecated/umount_static-sundries.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount_static-devname.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount_static-fstab.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount_static-getusername.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount_static-mount_mntent.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/umount_static-fsprobe.$(OBJEXT)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@am__objects_25 = sys-utils/umount_static-umount.$(OBJEXT)
+@BUILD_DEPRECATED_MOUNT_TRUE@am__objects_25 = mount-deprecated/umount_static-umount.$(OBJEXT) \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__objects_24)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@am_umount_static_OBJECTS = $(am__objects_25)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@am_umount_static_OBJECTS = $(am__objects_25)
+umount_static_OBJECTS = $(am_umount_static_OBJECTS)
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@am__DEPENDENCIES_13 = $(am__DEPENDENCIES_2) \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ libcommon.la \
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@ libmount.la
+@BUILD_DEPRECATED_MOUNT_TRUE@am__DEPENDENCIES_13 = \
+@BUILD_DEPRECATED_MOUNT_TRUE@ $(am__DEPENDENCIES_2) libblkid.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@ libcommon.la
+@BUILD_DEPRECATED_MOUNT_FALSE@@BUILD_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_DEPENDENCIES = $(am__DEPENDENCIES_13)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@ libblkid.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@ libcommon.la
+umount_static_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(umount_static_CFLAGS) \
+ $(CFLAGS) $(umount_static_LDFLAGS) $(LDFLAGS) -o $@
+am__unshare_SOURCES_DIST = sys-utils/unshare.c
+@BUILD_UNSHARE_TRUE@am_unshare_OBJECTS = sys-utils/unshare.$(OBJEXT)
+unshare_OBJECTS = $(am_unshare_OBJECTS)
+unshare_LDADD = $(LDADD)
+unshare_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__utmpdump_SOURCES_DIST = login-utils/utmpdump.c
+@BUILD_UTMPDUMP_TRUE@am_utmpdump_OBJECTS = \
+@BUILD_UTMPDUMP_TRUE@ login-utils/utmpdump.$(OBJEXT)
+utmpdump_OBJECTS = $(am_utmpdump_OBJECTS)
+utmpdump_LDADD = $(LDADD)
+utmpdump_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__uuidd_SOURCES_DIST = misc-utils/uuidd.c misc-utils/sd-daemon.c \
+ misc-utils/sd-daemon.h
+@BUILD_UUIDD_TRUE@@USE_SOCKET_ACTIVATION_TRUE@am__objects_26 = misc-utils/uuidd-sd-daemon.$(OBJEXT)
+@BUILD_UUIDD_TRUE@am_uuidd_OBJECTS = misc-utils/uuidd-uuidd.$(OBJEXT) \
+@BUILD_UUIDD_TRUE@ $(am__objects_26)
+uuidd_OBJECTS = $(am_uuidd_OBJECTS)
+@BUILD_UUIDD_TRUE@uuidd_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_UUIDD_TRUE@ libuuid.la $(am__DEPENDENCIES_1)
+uuidd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(uuidd_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__uuidgen_SOURCES_DIST = misc-utils/uuidgen.c
+@BUILD_LIBUUID_TRUE@am_uuidgen_OBJECTS = \
+@BUILD_LIBUUID_TRUE@ misc-utils/uuidgen-uuidgen.$(OBJEXT)
+uuidgen_OBJECTS = $(am_uuidgen_OBJECTS)
+@BUILD_LIBUUID_TRUE@uuidgen_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LIBUUID_TRUE@ libuuid.la
+uuidgen_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(uuidgen_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__vipw_SOURCES_DIST = login-utils/vipw.c login-utils/setpwnam.h
+@BUILD_VIPW_TRUE@am_vipw_OBJECTS = login-utils/vipw.$(OBJEXT)
+vipw_OBJECTS = $(am_vipw_OBJECTS)
+@BUILD_VIPW_TRUE@vipw_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_VIPW_TRUE@ libcommon.la $(am__DEPENDENCIES_1)
+am__wall_SOURCES_DIST = term-utils/wall.c term-utils/ttymsg.c \
+ term-utils/ttymsg.h
+@BUILD_WALL_TRUE@am_wall_OBJECTS = term-utils/wall-wall.$(OBJEXT) \
+@BUILD_WALL_TRUE@ term-utils/wall-ttymsg.$(OBJEXT)
+wall_OBJECTS = $(am_wall_OBJECTS)
+@BUILD_WALL_TRUE@wall_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_WALL_TRUE@ libcommon.la
+wall_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(wall_CFLAGS) $(CFLAGS) \
+ $(wall_LDFLAGS) $(LDFLAGS) -o $@
+am__wdctl_SOURCES_DIST = sys-utils/wdctl.c
+@BUILD_WDCTL_TRUE@am_wdctl_OBJECTS = sys-utils/wdctl.$(OBJEXT)
+wdctl_OBJECTS = $(am_wdctl_OBJECTS)
+@BUILD_WDCTL_TRUE@wdctl_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_WDCTL_TRUE@ libcommon.la
+am_whereis_OBJECTS = misc-utils/whereis.$(OBJEXT)
+whereis_OBJECTS = $(am_whereis_OBJECTS)
+whereis_LDADD = $(LDADD)
+whereis_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__wipefs_SOURCES_DIST = misc-utils/wipefs.c
+@BUILD_LIBBLKID_TRUE@am_wipefs_OBJECTS = \
+@BUILD_LIBBLKID_TRUE@ misc-utils/wipefs-wipefs.$(OBJEXT)
+wipefs_OBJECTS = $(am_wipefs_OBJECTS)
+@BUILD_LIBBLKID_TRUE@wipefs_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@BUILD_LIBBLKID_TRUE@ libblkid.la libcommon.la
+wipefs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(wipefs_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__write_SOURCES_DIST = term-utils/write.c
+@BUILD_WRITE_TRUE@am_write_OBJECTS = term-utils/write-write.$(OBJEXT)
+write_OBJECTS = $(am_write_OBJECTS)
+write_LDADD = $(LDADD)
+write_DEPENDENCIES = $(am__DEPENDENCIES_1)
+write_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(write_CFLAGS) $(CFLAGS) \
+ $(write_LDFLAGS) $(LDFLAGS) -o $@
+am__dist_usrbin_exec_SCRIPTS_DIST = term-utils/reset \
+ misc-utils/chkdupexe
+SCRIPTS = $(dist_getoptexample_SCRIPTS) $(dist_usrbin_exec_SCRIPTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libblkid_la_SOURCES) $(nodist_libblkid_la_SOURCES) \
+ $(libcommon_la_SOURCES) $(libmount_la_SOURCES) \
+ $(nodist_libmount_la_SOURCES) $(libuuid_la_SOURCES) \
+ $(addpart_SOURCES) $(agetty_SOURCES) $(arch_SOURCES) \
+ $(blkid_SOURCES) $(blkid_static_SOURCES) $(blockdev_SOURCES) \
+ $(cal_SOURCES) $(cfdisk_SOURCES) $(chcpu_SOURCES) \
+ $(chfn_SOURCES) $(chrt_SOURCES) $(chsh_SOURCES) $(col_SOURCES) \
+ $(colcrt_SOURCES) $(colrm_SOURCES) $(column_SOURCES) \
+ $(ctrlaltdel_SOURCES) $(cytune_SOURCES) $(ddate_SOURCES) \
+ $(delpart_SOURCES) $(dmesg_SOURCES) $(eject_SOURCES) \
+ $(elvtune_SOURCES) $(fallocate_SOURCES) $(fdformat_SOURCES) \
+ $(fdisk_SOURCES) $(fdisk_static_SOURCES) $(findfs_SOURCES) \
+ $(findmnt_SOURCES) $(flock_SOURCES) $(fsck_SOURCES) \
+ $(fsck_cramfs_SOURCES) $(fsck_minix_SOURCES) \
+ $(fsfreeze_SOURCES) $(fstrim_SOURCES) $(getopt_SOURCES) \
+ $(hexdump_SOURCES) $(hwclock_SOURCES) $(ionice_SOURCES) \
+ $(ipcmk_SOURCES) $(ipcrm_SOURCES) $(ipcs_SOURCES) \
+ $(isosize_SOURCES) $(kill_SOURCES) $(last_SOURCES) \
+ $(ldattach_SOURCES) $(line_SOURCES) $(logger_SOURCES) \
+ $(login_SOURCES) $(look_SOURCES) $(losetup_SOURCES) \
+ $(losetup_static_SOURCES) $(lsblk_SOURCES) $(lscpu_SOURCES) \
+ $(lslocks_SOURCES) $(mcookie_SOURCES) $(mesg_SOURCES) \
+ $(mkfs_SOURCES) $(mkfs_bfs_SOURCES) $(mkfs_cramfs_SOURCES) \
+ $(mkfs_minix_SOURCES) $(mkswap_SOURCES) $(more_SOURCES) \
+ $(mount_SOURCES) $(mount_static_SOURCES) $(mountpoint_SOURCES) \
+ $(namei_SOURCES) $(newgrp_SOURCES) $(partx_SOURCES) \
+ $(pg_SOURCES) $(pivot_root_SOURCES) $(prlimit_SOURCES) \
+ $(raw_SOURCES) $(readprofile_SOURCES) $(rename_SOURCES) \
+ $(renice_SOURCES) $(resizepart_SOURCES) $(rev_SOURCES) \
+ $(rtcwake_SOURCES) $(sample_mkfs_SOURCES) \
+ $(sample_partitions_SOURCES) $(sample_superblocks_SOURCES) \
+ $(sample_topology_SOURCES) $(script_SOURCES) \
+ $(scriptreplay_SOURCES) $(setarch_SOURCES) $(setsid_SOURCES) \
+ $(setterm_SOURCES) $(sfdisk_SOURCES) $(sfdisk_static_SOURCES) \
+ $(su_SOURCES) $(sulogin_SOURCES) $(swaplabel_SOURCES) \
+ $(swapoff_SOURCES) $(swapon_SOURCES) $(switch_root_SOURCES) \
+ $(tailf_SOURCES) $(taskset_SOURCES) $(test_at_SOURCES) \
+ $(test_blkdev_SOURCES) $(test_blkid_cache_SOURCES) \
+ $(test_blkid_config_SOURCES) $(test_blkid_dev_SOURCES) \
+ $(test_blkid_devname_SOURCES) $(test_blkid_devno_SOURCES) \
+ $(test_blkid_evaluate_SOURCES) $(test_blkid_read_SOURCES) \
+ $(test_blkid_resolve_SOURCES) $(test_blkid_save_SOURCES) \
+ $(test_blkid_tag_SOURCES) $(test_blkid_verify_SOURCES) \
+ $(test_byteswap_SOURCES) $(test_canonicalize_SOURCES) \
+ $(test_cpuset_SOURCES) $(test_fileutils_SOURCES) \
+ $(test_islocal_SOURCES) $(test_ismounted_SOURCES) \
+ $(test_logindefs_SOURCES) $(test_loopdev_SOURCES) \
+ $(test_mangle_SOURCES) $(test_md5_SOURCES) \
+ $(test_mount_cache_SOURCES) $(test_mount_context_SOURCES) \
+ $(test_mount_lock_SOURCES) $(test_mount_optstr_SOURCES) \
+ $(test_mount_tab_SOURCES) $(test_mount_tab_diff_SOURCES) \
+ $(test_mount_tab_update_SOURCES) $(test_mount_utils_SOURCES) \
+ $(test_mount_version_SOURCES) $(test_pager_SOURCES) \
+ $(test_pathnames_SOURCES) $(test_procutils_SOURCES) \
+ $(test_randutils_SOURCES) $(test_strutils_SOURCES) \
+ $(test_sysfs_SOURCES) $(test_sysinfo_SOURCES) \
+ $(test_tt_SOURCES) $(test_uuid_SOURCES) \
+ $(test_wholedisk_SOURCES) $(tunelp_SOURCES) $(ul_SOURCES) \
+ $(umount_SOURCES) $(umount_static_SOURCES) $(unshare_SOURCES) \
+ $(utmpdump_SOURCES) $(uuidd_SOURCES) $(uuidgen_SOURCES) \
+ $(vipw_SOURCES) $(wall_SOURCES) $(wdctl_SOURCES) \
+ $(whereis_SOURCES) $(wipefs_SOURCES) $(write_SOURCES)
+DIST_SOURCES = $(am__libblkid_la_SOURCES_DIST) \
+ $(am__libcommon_la_SOURCES_DIST) \
+ $(am__libmount_la_SOURCES_DIST) $(am__libuuid_la_SOURCES_DIST) \
+ $(am__addpart_SOURCES_DIST) $(am__agetty_SOURCES_DIST) \
+ $(am__arch_SOURCES_DIST) $(am__blkid_SOURCES_DIST) \
+ $(am__blkid_static_SOURCES_DIST) $(am__blockdev_SOURCES_DIST) \
+ $(am__cal_SOURCES_DIST) $(am__cfdisk_SOURCES_DIST) \
+ $(am__chcpu_SOURCES_DIST) $(am__chfn_SOURCES_DIST) \
+ $(am__chrt_SOURCES_DIST) $(am__chsh_SOURCES_DIST) \
+ $(col_SOURCES) $(colcrt_SOURCES) $(colrm_SOURCES) \
+ $(column_SOURCES) $(am__ctrlaltdel_SOURCES_DIST) \
+ $(am__cytune_SOURCES_DIST) $(am__ddate_SOURCES_DIST) \
+ $(am__delpart_SOURCES_DIST) $(am__dmesg_SOURCES_DIST) \
+ $(am__eject_SOURCES_DIST) $(am__elvtune_SOURCES_DIST) \
+ $(am__fallocate_SOURCES_DIST) $(am__fdformat_SOURCES_DIST) \
+ $(am__fdisk_SOURCES_DIST) $(am__fdisk_static_SOURCES_DIST) \
+ $(am__findfs_SOURCES_DIST) $(am__findmnt_SOURCES_DIST) \
+ $(flock_SOURCES) $(am__fsck_SOURCES_DIST) \
+ $(am__fsck_cramfs_SOURCES_DIST) $(fsck_minix_SOURCES) \
+ $(am__fsfreeze_SOURCES_DIST) $(am__fstrim_SOURCES_DIST) \
+ $(getopt_SOURCES) $(hexdump_SOURCES) \
+ $(am__hwclock_SOURCES_DIST) $(am__ionice_SOURCES_DIST) \
+ $(ipcmk_SOURCES) $(ipcrm_SOURCES) $(ipcs_SOURCES) \
+ $(isosize_SOURCES) $(am__kill_SOURCES_DIST) \
+ $(am__last_SOURCES_DIST) $(am__ldattach_SOURCES_DIST) \
+ $(am__line_SOURCES_DIST) $(logger_SOURCES) \
+ $(am__login_SOURCES_DIST) $(look_SOURCES) \
+ $(am__losetup_SOURCES_DIST) $(am__losetup_static_SOURCES_DIST) \
+ $(am__lsblk_SOURCES_DIST) $(am__lscpu_SOURCES_DIST) \
+ $(am__lslocks_SOURCES_DIST) $(mcookie_SOURCES) \
+ $(am__mesg_SOURCES_DIST) $(mkfs_SOURCES) $(mkfs_bfs_SOURCES) \
+ $(am__mkfs_cramfs_SOURCES_DIST) $(mkfs_minix_SOURCES) \
+ $(mkswap_SOURCES) $(am__more_SOURCES_DIST) \
+ $(am__mount_SOURCES_DIST) $(am__mount_static_SOURCES_DIST) \
+ $(am__mountpoint_SOURCES_DIST) $(namei_SOURCES) \
+ $(am__newgrp_SOURCES_DIST) $(am__partx_SOURCES_DIST) \
+ $(am__pg_SOURCES_DIST) $(am__pivot_root_SOURCES_DIST) \
+ $(am__prlimit_SOURCES_DIST) $(am__raw_SOURCES_DIST) \
+ $(readprofile_SOURCES) $(am__rename_SOURCES_DIST) \
+ $(renice_SOURCES) $(am__resizepart_SOURCES_DIST) \
+ $(rev_SOURCES) $(am__rtcwake_SOURCES_DIST) \
+ $(am__sample_mkfs_SOURCES_DIST) \
+ $(am__sample_partitions_SOURCES_DIST) \
+ $(am__sample_superblocks_SOURCES_DIST) \
+ $(am__sample_topology_SOURCES_DIST) $(script_SOURCES) \
+ $(scriptreplay_SOURCES) $(am__setarch_SOURCES_DIST) \
+ $(setsid_SOURCES) $(am__setterm_SOURCES_DIST) \
+ $(am__sfdisk_SOURCES_DIST) $(am__sfdisk_static_SOURCES_DIST) \
+ $(am__su_SOURCES_DIST) $(am__sulogin_SOURCES_DIST) \
+ $(am__swaplabel_SOURCES_DIST) $(am__swapoff_SOURCES_DIST) \
+ $(am__swapon_SOURCES_DIST) $(am__switch_root_SOURCES_DIST) \
+ $(tailf_SOURCES) $(am__taskset_SOURCES_DIST) \
+ $(test_at_SOURCES) $(test_blkdev_SOURCES) \
+ $(am__test_blkid_cache_SOURCES_DIST) \
+ $(am__test_blkid_config_SOURCES_DIST) \
+ $(am__test_blkid_dev_SOURCES_DIST) \
+ $(am__test_blkid_devname_SOURCES_DIST) \
+ $(am__test_blkid_devno_SOURCES_DIST) \
+ $(am__test_blkid_evaluate_SOURCES_DIST) \
+ $(am__test_blkid_read_SOURCES_DIST) \
+ $(am__test_blkid_resolve_SOURCES_DIST) \
+ $(am__test_blkid_save_SOURCES_DIST) \
+ $(am__test_blkid_tag_SOURCES_DIST) \
+ $(am__test_blkid_verify_SOURCES_DIST) $(test_byteswap_SOURCES) \
+ $(test_canonicalize_SOURCES) $(am__test_cpuset_SOURCES_DIST) \
+ $(test_fileutils_SOURCES) $(test_islocal_SOURCES) \
+ $(test_ismounted_SOURCES) $(test_logindefs_SOURCES) \
+ $(am__test_loopdev_SOURCES_DIST) $(test_mangle_SOURCES) \
+ $(test_md5_SOURCES) $(am__test_mount_cache_SOURCES_DIST) \
+ $(am__test_mount_context_SOURCES_DIST) \
+ $(am__test_mount_lock_SOURCES_DIST) \
+ $(am__test_mount_optstr_SOURCES_DIST) \
+ $(am__test_mount_tab_SOURCES_DIST) \
+ $(am__test_mount_tab_diff_SOURCES_DIST) \
+ $(am__test_mount_tab_update_SOURCES_DIST) \
+ $(am__test_mount_utils_SOURCES_DIST) \
+ $(am__test_mount_version_SOURCES_DIST) \
+ $(am__test_pager_SOURCES_DIST) $(test_pathnames_SOURCES) \
+ $(test_procutils_SOURCES) $(test_randutils_SOURCES) \
+ $(test_strutils_SOURCES) $(am__test_sysfs_SOURCES_DIST) \
+ $(test_sysinfo_SOURCES) $(test_tt_SOURCES) \
+ $(am__test_uuid_SOURCES_DIST) $(test_wholedisk_SOURCES) \
+ $(am__tunelp_SOURCES_DIST) $(am__ul_SOURCES_DIST) \
+ $(am__umount_SOURCES_DIST) $(am__umount_static_SOURCES_DIST) \
+ $(am__unshare_SOURCES_DIST) $(am__utmpdump_SOURCES_DIST) \
+ $(am__uuidd_SOURCES_DIST) $(am__uuidgen_SOURCES_DIST) \
+ $(am__vipw_SOURCES_DIST) $(am__wall_SOURCES_DIST) \
+ $(am__wdctl_SOURCES_DIST) $(whereis_SOURCES) \
+ $(am__wipefs_SOURCES_DIST) $(am__write_SOURCES_DIST)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+man1dir = $(mandir)/man1
+man3dir = $(mandir)/man3
+man5dir = $(mandir)/man5
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS) $(man_MANS)
+am__dist_noinst_DATA_DIST = libuuid/man/uuid.3 \
+ libuuid/man/uuid_clear.3 libuuid/man/uuid_compare.3 \
+ libuuid/man/uuid_copy.3 libuuid/man/uuid_generate.3 \
+ libuuid/man/uuid_is_null.3 libuuid/man/uuid_parse.3 \
+ libuuid/man/uuid_time.3 libuuid/man/uuid_unparse.3 \
+ libuuid/man/uuid_generate_random.3 \
+ libuuid/man/uuid_generate_time.3 \
+ libuuid/man/uuid_generate_time_safe.3 libblkid/libblkid.3 \
+ schedutils/chrt.1 schedutils/ionice.1 schedutils/taskset.1 \
+ text-utils/col.1 text-utils/colcrt.1 text-utils/colrm.1 \
+ text-utils/column.1 text-utils/hexdump.1 text-utils/rev.1 \
+ text-utils/tailf.1 text-utils/line.1 text-utils/ul.1 \
+ text-utils/more.1 text-utils/pg.1 term-utils/script.1 \
+ term-utils/scriptreplay.1 term-utils/agetty.8 \
+ term-utils/setterm.1 term-utils/reset.1 term-utils/mesg.1 \
+ term-utils/wall.1 term-utils/write.1 login-utils/last.1 \
+ login-utils/sulogin.8 login-utils/login.1 \
+ login-utils/utmpdump.1 login-utils/chfn.1 login-utils/chsh.1 \
+ login-utils/newgrp.1 login-utils/vigr.8 login-utils/vipw.8 \
+ mount-deprecated/mount.8 mount-deprecated/umount.8 \
+ sys-utils/flock.1 sys-utils/ipcmk.1 sys-utils/ipcrm.1 \
+ sys-utils/ipcs.1 sys-utils/renice.1 sys-utils/setsid.1 \
+ sys-utils/readprofile.8 sys-utils/dmesg.1 \
+ sys-utils/ctrlaltdel.8 sys-utils/fsfreeze.8 sys-utils/fstrim.8 \
+ sys-utils/cytune.8 sys-utils/ldattach.8 sys-utils/tunelp.8 \
+ sys-utils/rtcwake.8 sys-utils/setarch.8 sys-utils/eject.1 \
+ sys-utils/losetup.8 sys-utils/prlimit.1 sys-utils/mount.8 \
+ sys-utils/fstab.5 sys-utils/umount.8 sys-utils/swapoff.8 \
+ sys-utils/swapon.8 sys-utils/lscpu.1 sys-utils/chcpu.8 \
+ sys-utils/wdctl.8 sys-utils/mountpoint.1 sys-utils/fallocate.1 \
+ sys-utils/pivot_root.8 sys-utils/switch_root.8 \
+ sys-utils/unshare.1 sys-utils/arch.1 sys-utils/hwclock.8 \
+ misc-utils/cal.1 misc-utils/logger.1 misc-utils/look.1 \
+ misc-utils/mcookie.1 misc-utils/namei.1 misc-utils/whereis.1 \
+ misc-utils/chkdupexe.1 misc-utils/ddate.1 misc-utils/lslocks.8 \
+ misc-utils/lsblk.8 misc-utils/uuidgen.1 misc-utils/uuidd.8 \
+ misc-utils/blkid.8 misc-utils/findfs.8 misc-utils/wipefs.8 \
+ misc-utils/findmnt.8 misc-utils/kill.1 misc-utils/rename.1 \
+ misc-utils/getopt.1 disk-utils/fsck.minix.8 \
+ disk-utils/mkfs.minix.8 disk-utils/mkfs.8 disk-utils/isosize.8 \
+ disk-utils/mkfs.bfs.8 disk-utils/mkswap.8 \
+ disk-utils/swaplabel.8 disk-utils/fsck.8 disk-utils/elvtune.8 \
+ disk-utils/raw.8 disk-utils/blockdev.8 disk-utils/fdformat.8 \
+ disk-utils/addpart.8 disk-utils/delpart.8 \
+ disk-utils/resizepart.8 disk-utils/partx.8 fdisks/fdisk.8 \
+ fdisks/sfdisk.8 fdisks/cfdisk.8
+DATA = $(dist_noinst_DATA) $(pkgconfig_DATA) $(ruman1_DATA) \
+ $(systemdsystemunit_DATA)
+am__uuidinc_HEADERS_DIST = libuuid/src/uuid.h
+HEADERS = $(dist_noinst_HEADERS) $(nodist_blkidinc_HEADERS) \
+ $(nodist_mountinc_HEADERS) $(uuidinc_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir dist dist-all distcheck
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DIST_SUBDIRS = po libblkid/docs libmount/docs
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d "$(distdir)" \
+ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr "$(distdir)"; }; }
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+GZIP_ENV = --best
+DIST_ARCHIVES = $(distdir).tar.bz2 $(distdir).tar.xz
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBBLKID_DATE = @LIBBLKID_DATE@
+LIBBLKID_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMOUNT_VERSION = @LIBMOUNT_VERSION@
+LIBMOUNT_VERSION_INFO = @LIBMOUNT_VERSION_INFO@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBUUID_VERSION = @LIBUUID_VERSION@
+LIBUUID_VERSION_INFO = @LIBUUID_VERSION_INFO@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGMERGE = @MSGMERGE@
+NCURSES_LIBS = @NCURSES_LIBS@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOCKET_LIBS = @SOCKET_LIBS@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libdirname = @libdirname@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+ruman1dir = @ruman1dir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+systemdsystemunitdir = @systemdsystemunitdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+usrbin_execdir = @usrbin_execdir@
+usrlib_execdir = @usrlib_execdir@
+usrsbin_execdir = @usrsbin_execdir@
+AM_CPPFLAGS = \
+ -include config.h \
+ -I$(top_srcdir)/include \
+ -DLOCALEDIR=\"$(localedir)\" \
+ -D_PATH_LOCALSTATEDIR=\"${localstatedir}\"
+
+AM_CFLAGS = -fsigned-char $(WARN_CFLAGS)
+AM_LDFLAGS =
+
+# Add gettext stuff to the global LDADD for systems with separate libintl
+# library. The LTLIBINTL is generated by AM_GNU_GETTEXT macro.
+#
+LDADD = $(LTLIBINTL)
+
+# Automake (at least up to 1.10) mishandles dist_man_MANS inside conditionals.
+# Unlike with other dist primaries, the files are not distributed if the
+# conditional is false.
+# Work the bug around until it is fixed:
+dist_noinst_DATA = $(dist_man_MANS)
+
+# Paths to in-tree libraries (use ul_ prefix to avoid possible collisions)
+# Note that blkid.h and libmount.h are generated and stored in build dirs.
+#
+ul_libblkid_incdir = $(top_builddir)/libblkid/src
+ul_libmount_incdir = $(top_builddir)/libmount/src
+ul_libuuid_incdir = $(top_srcdir)/libuuid/src
+pkgconfigdir = $(usrlib_execdir)/pkgconfig
+dist_noinst_HEADERS = include/all-io.h include/at.h include/bitops.h \
+ include/blkdev.h include/c.h include/canonicalize.h \
+ include/carefulputc.h include/closestream.h include/cpuset.h \
+ include/crc32.h include/env.h include/exitcodes.h \
+ include/fileutils.h include/ismounted.h include/linux_reboot.h \
+ include/linux_version.h include/list.h include/loopdev.h \
+ include/mangle.h include/match.h include/mbsalign.h \
+ include/md5.h include/minix.h include/nls.h include/optutils.h \
+ include/pager.h include/pamfail.h include/path.h \
+ include/pathnames.h include/procutils.h include/randutils.h \
+ include/rpmatch.h include/setproctitle.h include/strutils.h \
+ include/swapheader.h include/sysfs.h include/tt.h \
+ include/ttyutils.h include/usleep.h include/wholedisk.h \
+ include/widechar.h include/xalloc.h include/xgetpass.h
+noinst_LTLIBRARIES = libcommon.la
+dist_man_MANS = $(am__append_5) $(am__append_27) $(am__append_38) \
+ $(am__append_40) $(am__append_42) text-utils/col.1 \
+ text-utils/colcrt.1 text-utils/colrm.1 text-utils/column.1 \
+ text-utils/hexdump.1 text-utils/rev.1 text-utils/tailf.1 \
+ $(am__append_44) $(am__append_47) $(am__append_49) \
+ term-utils/script.1 term-utils/scriptreplay.1 $(am__append_53) \
+ $(am__append_55) $(am__append_57) $(am__append_59) \
+ $(am__append_61) $(am__append_64) $(am__append_67) \
+ $(am__append_69) $(am__append_73) $(am__append_77) \
+ $(am__append_79) $(am__append_84) $(am__append_87) \
+ $(am__append_91) sys-utils/flock.1 sys-utils/ipcmk.1 \
+ sys-utils/ipcrm.1 sys-utils/ipcs.1 sys-utils/renice.1 \
+ sys-utils/setsid.1 sys-utils/readprofile.8 $(am__append_99) \
+ $(am__append_116) $(am__append_118) $(am__append_121) \
+ $(am__append_123) $(am__append_128) $(am__append_130) \
+ $(am__append_132) $(am__append_134) $(am__append_136) \
+ $(am__append_138) $(am__append_140) $(am__append_142) \
+ $(am__append_144) $(am__append_146) $(am__append_148) \
+ misc-utils/cal.1 misc-utils/logger.1 misc-utils/look.1 \
+ misc-utils/mcookie.1 misc-utils/namei.1 misc-utils/whereis.1 \
+ $(am__append_157) $(am__append_159) $(am__append_162) \
+ $(am__append_164) $(am__append_167) $(am__append_169) \
+ $(am__append_174) $(am__append_177) $(am__append_179) \
+ $(am__append_181) misc-utils/getopt.1 disk-utils/fsck.minix.8 \
+ disk-utils/mkfs.minix.8 disk-utils/mkfs.8 disk-utils/isosize.8 \
+ disk-utils/mkfs.bfs.8 disk-utils/mkswap.8 $(am__append_188) \
+ $(am__append_192) $(am__append_194) $(am__append_196) \
+ $(am__append_199) $(am__append_202) $(am__append_204) \
+ $(am__append_208) $(am__append_211)
+man_MANS = $(am__append_111)
+pkgconfig_DATA = $(am__append_11) $(am__append_25) $(am__append_35)
+usrlib_exec_LTLIBRARIES = $(am__append_7) $(am__append_13) \
+ $(am__append_28)
+dist_usrbin_exec_SCRIPTS = $(am__append_56) $(am__append_155)
+systemdsystemunit_DATA = $(am__append_172)
+ruman1_DATA = $(am__append_160)
+PATHFILES = $(am__append_12) $(am__append_26) $(am__append_36) \
+ misc-utils/uuidd.8 misc-utils/uuidd.rc \
+ misc-utils/uuidd.service misc-utils/uuidd.socket
+INSTALL_EXEC_HOOKS = $(am__append_9) $(am__append_21) $(am__append_32) \
+ $(am__append_62) $(am__append_65) $(am__append_89) \
+ $(am__append_97) $(am__append_113) $(am__append_126)
+UNINSTALL_HOOKS = $(am__append_10) $(am__append_22) $(am__append_33) \
+ $(am__append_114)
+INSTALL_DATA_HOOKS =
+CLEAN_LOCALS = clean-local-tests
+CHECK_LOCALS = check-local-tests
+EXTRA_DIST = man/ru/ddate.1 .version autogen.sh Documentation \
+ po/update-potfiles README.licensing tools/git-version-gen \
+ $(am__append_8) $(am__append_17) $(am__append_29) \
+ term-utils/reset.033c tests/expected tests/functions.sh \
+ tests/commands.sh tests/run.sh tests/ts $(PATHFILES:=.in)
+CLEANFILES = $(am__append_112) $(am__append_156) $(PATHFILES)
+SUBDIRS = po $(am__append_24) $(am__append_34)
+RCS_FIND_IGNORE = \( -name SCCS -o -name BitKeeper -o -name .svn -o \
+ -name CVS -o -name .pc -o -name .hg -o -name .git \) -prune -o
+
+ACLOCAL_AMFLAGS = -I m4
+libcommon_la_CFLAGS = $(AM_CFLAGS)
+libcommon_la_SOURCES = lib/at.c lib/blkdev.c lib/canonicalize.c \
+ lib/cpuset.c lib/crc32.c lib/env.c lib/fileutils.c \
+ lib/ismounted.c lib/mangle.c lib/match.c lib/mbsalign.c \
+ lib/md5.c lib/pager.c lib/path.c lib/procutils.c \
+ lib/randutils.c lib/setproctitle.c lib/strutils.c lib/sysfs.c \
+ lib/tt.c lib/wholedisk.c lib/xgetpass.c $(am__append_1) \
+ $(am__append_2)
+test_blkdev_SOURCES = lib/blkdev.c
+test_blkdev_CFLAGS = -DTEST_PROGRAM
+test_blkdev_LDADD = libcommon.la
+test_ismounted_SOURCES = lib/ismounted.c
+test_ismounted_CFLAGS = -DTEST_PROGRAM
+test_wholedisk_SOURCES = lib/wholedisk.c
+test_wholedisk_CFLAGS = -DTEST_PROGRAM
+test_mangle_SOURCES = lib/mangle.c
+test_mangle_CFLAGS = -DTEST_PROGRAM
+test_at_SOURCES = lib/at.c
+test_at_CFLAGS = -DTEST_PROGRAM_AT
+test_strutils_SOURCES = lib/strutils.c
+test_strutils_CFLAGS = -DTEST_PROGRAM
+test_randutils_SOURCES = lib/randutils.c
+test_randutils_CFLAGS = -DTEST_PROGRAM
+test_procutils_SOURCES = lib/procutils.c
+test_procutils_CFLAGS = -DTEST_PROGRAM
+@LINUX_TRUE@test_cpuset_SOURCES = lib/cpuset.c
+@LINUX_TRUE@test_cpuset_CFLAGS = -DTEST_PROGRAM
+@LINUX_TRUE@test_sysfs_SOURCES = lib/sysfs.c
+@LINUX_TRUE@test_sysfs_CFLAGS = -DTEST_PROGRAM_SYSFS
+@LINUX_TRUE@test_sysfs_LDADD = libcommon.la
+@LINUX_TRUE@test_pager_SOURCES = lib/pager.c
+@LINUX_TRUE@test_pager_CFLAGS = -DTEST_PROGRAM
+@LINUX_TRUE@test_loopdev_SOURCES = lib/loopdev.c
+@LINUX_TRUE@test_loopdev_CFLAGS = -DTEST_PROGRAM_LOOPDEV
+@LINUX_TRUE@test_loopdev_LDADD = libcommon.la
+test_fileutils_SOURCES = lib/fileutils.c
+test_fileutils_CFLAGS = -DTEST_PROGRAM
+test_tt_SOURCES = lib/tt.c
+test_tt_CFLAGS = -DTEST_PROGRAM
+test_tt_LDADD = libcommon.la
+test_canonicalize_SOURCES = lib/canonicalize.c
+test_canonicalize_CFLAGS = -DTEST_PROGRAM_CANONICALIZE
+@BUILD_LIBUUID_TRUE@test_uuid_SOURCES = libuuid/src/test_uuid.c
+@BUILD_LIBUUID_TRUE@test_uuid_LDADD = libuuid.la $(SOCKET_LIBS)
+@BUILD_LIBUUID_TRUE@test_uuid_CFLAGS = -I$(ul_libuuid_incdir)
+
+# includes
+@BUILD_LIBUUID_TRUE@uuidincdir = $(includedir)/uuid
+@BUILD_LIBUUID_TRUE@uuidinc_HEADERS = libuuid/src/uuid.h
+@BUILD_LIBUUID_TRUE@libuuid_la_SOURCES = \
+@BUILD_LIBUUID_TRUE@ libuuid/src/clear.c \
+@BUILD_LIBUUID_TRUE@ libuuid/src/compare.c \
+@BUILD_LIBUUID_TRUE@ libuuid/src/copy.c \
+@BUILD_LIBUUID_TRUE@ libuuid/src/gen_uuid.c \
+@BUILD_LIBUUID_TRUE@ libuuid/src/isnull.c \
+@BUILD_LIBUUID_TRUE@ libuuid/src/pack.c \
+@BUILD_LIBUUID_TRUE@ libuuid/src/parse.c \
+@BUILD_LIBUUID_TRUE@ libuuid/src/unpack.c \
+@BUILD_LIBUUID_TRUE@ libuuid/src/unparse.c \
+@BUILD_LIBUUID_TRUE@ libuuid/src/uuidd.h \
+@BUILD_LIBUUID_TRUE@ libuuid/src/uuidd.h \
+@BUILD_LIBUUID_TRUE@ libuuid/src/uuidP.h \
+@BUILD_LIBUUID_TRUE@ libuuid/src/uuid_time.c \
+@BUILD_LIBUUID_TRUE@ $(uuidinc_HEADERS) \
+@BUILD_LIBUUID_TRUE@ lib/randutils.c
+
+@BUILD_LIBUUID_TRUE@libuuid_la_DEPENDENCIES = libuuid/src/uuid.sym
+@BUILD_LIBUUID_TRUE@libuuid_la_LIBADD = $(SOCKET_LIBS)
+@BUILD_LIBUUID_TRUE@libuuid_la_CFLAGS = -I$(ul_libuuid_incdir) -Ilibuuid/src
+@BUILD_LIBUUID_TRUE@libuuid_la_LDFLAGS = \
+@BUILD_LIBUUID_TRUE@ -Wl,--version-script=$(top_srcdir)/libuuid/src/uuid.sym \
+@BUILD_LIBUUID_TRUE@ -version-info $(LIBUUID_VERSION_INFO)
+
+
+# blkid.h is generated, so it's store in builddir!
+@BUILD_LIBBLKID_TRUE@blkidincdir = $(includedir)/blkid
+@BUILD_LIBBLKID_TRUE@nodist_blkidinc_HEADERS = $(top_builddir)/libblkid/src/blkid.h
+@BUILD_LIBBLKID_TRUE@libblkid_la_SOURCES = include/list.h \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/blkidP.h \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/cache.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/config.c libblkid/src/dev.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/devname.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/devno.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/encode.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/evaluate.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/getsize.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/llseek.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/probe.c libblkid/src/read.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/resolve.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/save.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/superblocks.h \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/tag.c libblkid/src/verify.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/version.c \
+@BUILD_LIBBLKID_TRUE@ $(blkidinc_HEADERS) \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/aix.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/aix.h \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/blkid_parttypes.h \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/bsd.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/dos.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/dos.h \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/gpt.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/mac.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/minix.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/partitions.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/partitions.h \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/sgi.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/solaris_x86.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/sun.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/ultrix.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/partitions/unixware.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/adaptec_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/befs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/bfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/btrfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/cramfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/ddf_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/drbd.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/drbdproxy_datalog.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/exfat.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/ext.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/gfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/hfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/highpoint_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/hpfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/iso9660.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/isw_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/jfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/jmicron_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/linux_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/lsi_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/luks.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/lvm.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/minix.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/netware.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/nilfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/ntfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/nvidia_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/ocfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/promise_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/reiserfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/romfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/silicon_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/squashfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/superblocks.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/superblocks.h \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/swap.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/sysv.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/ubifs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/udf.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/ufs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/vfat.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/via_raid.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/vmfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/vxfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/xfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/superblocks/zfs.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/topology/topology.c \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/topology/topology.h \
+@BUILD_LIBBLKID_TRUE@ $(am__append_14)
+@BUILD_LIBBLKID_TRUE@nodist_libblkid_la_SOURCES = libblkid/src/blkid.h
+@BUILD_LIBBLKID_TRUE@libblkid_la_LIBADD = libcommon.la \
+@BUILD_LIBBLKID_TRUE@ $(am__append_15)
+@BUILD_LIBBLKID_TRUE@libblkid_la_CFLAGS = -I$(ul_libblkid_incdir) \
+@BUILD_LIBBLKID_TRUE@ -I$(top_srcdir)/libblkid/src \
+@BUILD_LIBBLKID_TRUE@ $(am__append_16)
+@BUILD_LIBBLKID_TRUE@libblkid_la_DEPENDENCIES = \
+@BUILD_LIBBLKID_TRUE@ $(libblkid_la_LIBADD) \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/blkid.sym \
+@BUILD_LIBBLKID_TRUE@ libblkid/src/blkid.h.in
+
+@BUILD_LIBBLKID_TRUE@libblkid_la_LDFLAGS = \
+@BUILD_LIBBLKID_TRUE@ -Wl,--version-script=$(top_srcdir)/libblkid/src/blkid.sym \
+@BUILD_LIBBLKID_TRUE@ -version-info $(LIBBLKID_VERSION_INFO)
+
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@blkid_tests_cflags = -DTEST_PROGRAM $(libblkid_la_CFLAGS)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@blkid_tests_ldflags = $(am__append_19) \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ -static
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@blkid_tests_ldadd = \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ libblkid.la \
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@ $(am__append_20)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_cache_SOURCES = libblkid/src/cache.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_cache_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_cache_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_cache_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_config_SOURCES = libblkid/src/config.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_config_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_config_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_config_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_dev_SOURCES = libblkid/src/dev.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_dev_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_dev_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_dev_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devname_SOURCES = libblkid/src/devname.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devname_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devname_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devname_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devno_SOURCES = libblkid/src/devno.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devno_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devno_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_devno_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_evaluate_SOURCES = libblkid/src/evaluate.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_evaluate_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_evaluate_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_evaluate_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_read_SOURCES = libblkid/src/read.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_read_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_read_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_read_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_resolve_SOURCES = libblkid/src/resolve.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_resolve_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_resolve_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_resolve_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_save_SOURCES = libblkid/src/save.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_save_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_save_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_save_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_tag_SOURCES = libblkid/src/tag.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_tag_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_tag_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_tag_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_verify_SOURCES = libblkid/src/verify.c
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_verify_CFLAGS = $(blkid_tests_cflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_verify_LDFLAGS = $(blkid_tests_ldflags)
+@BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@test_blkid_verify_LDADD = $(blkid_tests_ldadd)
+@BUILD_LIBBLKID_TRUE@sample_mkfs_SOURCES = libblkid/samples/mkfs.c
+@BUILD_LIBBLKID_TRUE@sample_mkfs_LDADD = libblkid.la
+@BUILD_LIBBLKID_TRUE@sample_mkfs_CFLAGS = -I$(ul_libblkid_incdir)
+@BUILD_LIBBLKID_TRUE@sample_partitions_SOURCES = libblkid/samples/partitions.c
+@BUILD_LIBBLKID_TRUE@sample_partitions_LDADD = libblkid.la
+@BUILD_LIBBLKID_TRUE@sample_partitions_CFLAGS = -I$(ul_libblkid_incdir)
+@BUILD_LIBBLKID_TRUE@sample_superblocks_SOURCES = libblkid/samples/superblocks.c
+@BUILD_LIBBLKID_TRUE@sample_superblocks_LDADD = libblkid.la
+@BUILD_LIBBLKID_TRUE@sample_superblocks_CFLAGS = -I$(ul_libblkid_incdir)
+@BUILD_LIBBLKID_TRUE@sample_topology_SOURCES = libblkid/samples/topology.c
+@BUILD_LIBBLKID_TRUE@sample_topology_LDADD = libblkid.la
+@BUILD_LIBBLKID_TRUE@sample_topology_CFLAGS = -I$(ul_libblkid_incdir)
+
+# libmount.h is generated, so it's store in builddir!
+@BUILD_LIBMOUNT_TRUE@mountincdir = $(includedir)/libmount
+@BUILD_LIBMOUNT_TRUE@nodist_mountinc_HEADERS = $(top_builddir)/libmount/src/libmount.h
+@BUILD_LIBMOUNT_TRUE@libmount_la_SOURCES = \
+@BUILD_LIBMOUNT_TRUE@ include/list.h \
+@BUILD_LIBMOUNT_TRUE@ \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/cache.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/context.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/context_loopdev.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/context_mount.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/context_umount.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/fs.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/init.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/iter.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/lock.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/mountP.h \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/optmap.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/optstr.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/tab.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/tab_diff.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/tab_parse.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/tab_update.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/test.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/utils.c \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/version.c \
+@BUILD_LIBMOUNT_TRUE@ $(mountinc_HEADERS)
+
+@BUILD_LIBMOUNT_TRUE@nodist_libmount_la_SOURCES = libmount/src/mountP.h
+@BUILD_LIBMOUNT_TRUE@libmount_la_LIBADD = libcommon.la libblkid.la $(SELINUX_LIBS)
+@BUILD_LIBMOUNT_TRUE@libmount_la_CFLAGS = \
+@BUILD_LIBMOUNT_TRUE@ -I$(ul_libblkid_incdir) \
+@BUILD_LIBMOUNT_TRUE@ -I$(ul_libmount_incdir) \
+@BUILD_LIBMOUNT_TRUE@ -I$(top_srcdir)/libmount/src
+
+@BUILD_LIBMOUNT_TRUE@libmount_la_DEPENDENCIES = \
+@BUILD_LIBMOUNT_TRUE@ $(libmount_la_LIBADD) \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount.sym \
+@BUILD_LIBMOUNT_TRUE@ libmount/src/libmount.h.in
+
+@BUILD_LIBMOUNT_TRUE@libmount_la_LDFLAGS = \
+@BUILD_LIBMOUNT_TRUE@ -Wl,--version-script=$(top_srcdir)/libmount/src/libmount.sym \
+@BUILD_LIBMOUNT_TRUE@ -version-info $(LIBMOUNT_VERSION_INFO)
+
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@libmount_tests_cflags = -DTEST_PROGRAM $(libmount_la_CFLAGS)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@libmount_tests_ldflags = libblkid.la -static
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@libmount_tests_ldadd = \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ libmount.la \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ $(UUID_LIBS) \
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@ $(am__append_31)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_cache_SOURCES = libmount/src/cache.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_cache_CFLAGS = $(libmount_tests_cflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_cache_LDFLAGS = $(libmount_tests_ldflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_cache_LDADD = $(libmount_tests_ldadd)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_context_SOURCES = libmount/src/context.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_context_CFLAGS = $(libmount_tests_cflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_context_LDFLAGS = $(libmount_tests_ldflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_context_LDADD = $(libmount_tests_ldadd)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_lock_SOURCES = libmount/src/lock.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_lock_CFLAGS = $(libmount_tests_cflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_lock_LDFLAGS = $(libmount_tests_ldflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_lock_LDADD = $(libmount_tests_ldadd)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_optstr_SOURCES = libmount/src/optstr.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_optstr_CFLAGS = $(libmount_tests_cflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_optstr_LDFLAGS = $(libmount_tests_ldflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_optstr_LDADD = $(libmount_tests_ldadd)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_SOURCES = libmount/src/tab.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_CFLAGS = $(libmount_tests_cflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_LDFLAGS = $(libmount_tests_ldflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_LDADD = $(libmount_tests_ldadd)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_diff_SOURCES = libmount/src/tab_diff.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_diff_CFLAGS = $(libmount_tests_cflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_diff_LDFLAGS = $(libmount_tests_ldflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_diff_LDADD = $(libmount_tests_ldadd)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_update_SOURCES = libmount/src/tab_update.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_update_CFLAGS = $(libmount_tests_cflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_update_LDFLAGS = $(libmount_tests_ldflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_tab_update_LDADD = $(libmount_tests_ldadd)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_utils_SOURCES = libmount/src/utils.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_utils_CFLAGS = $(libmount_tests_cflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_utils_LDFLAGS = $(libmount_tests_ldflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_utils_LDADD = $(libmount_tests_ldadd)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_version_SOURCES = libmount/src/version.c
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_version_CFLAGS = $(libmount_tests_cflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_version_LDFLAGS = $(libmount_tests_ldflags)
+@BUILD_LIBMOUNT_TESTS_TRUE@@BUILD_LIBMOUNT_TRUE@test_mount_version_LDADD = $(libmount_tests_ldadd)
+@BUILD_SCHEDUTILS_TRUE@chrt_SOURCES = schedutils/chrt.c
+@BUILD_SCHEDUTILS_TRUE@chrt_LDADD = $(LDADD) libcommon.la
+@BUILD_IONICE_TRUE@@BUILD_SCHEDUTILS_TRUE@ionice_SOURCES = schedutils/ionice.c
+@BUILD_IONICE_TRUE@@BUILD_SCHEDUTILS_TRUE@ionice_LDADD = $(LDADD) libcommon.la
+@BUILD_SCHEDUTILS_TRUE@@BUILD_TASKSET_TRUE@taskset_SOURCES = schedutils/taskset.c
+@BUILD_SCHEDUTILS_TRUE@@BUILD_TASKSET_TRUE@taskset_LDADD = $(LDADD) libcommon.la
+col_SOURCES = text-utils/col.c
+col_LDADD = $(LDADD) libcommon.la
+colcrt_SOURCES = text-utils/colcrt.c
+colrm_SOURCES = text-utils/colrm.c
+colrm_LDADD = $(LDADD) libcommon.la
+column_SOURCES = text-utils/column.c
+column_LDADD = $(LDADD) libcommon.la
+hexdump_SOURCES = \
+ text-utils/conv.c \
+ text-utils/display.c \
+ text-utils/hexdump.c \
+ text-utils/hexdump.h \
+ text-utils/hexsyntax.c \
+ text-utils/parse.c
+
+hexdump_LDADD = $(LDADD) libcommon.la
+rev_SOURCES = text-utils/rev.c
+tailf_SOURCES = text-utils/tailf.c
+tailf_LDADD = $(LDADD) libcommon.la
+@BUILD_LINE_TRUE@line_SOURCES = text-utils/line.c
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@more_SOURCES = text-utils/more.c
+@HAVE_NCURSES_TRUE@more_SOURCES = text-utils/more.c
+@HAVE_NCURSES_TRUE@ul_SOURCES = text-utils/ul.c
+@HAVE_NCURSES_TRUE@pg_SOURCES = text-utils/pg.c
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@more_LDADD = $(LDADD) -ltermcap
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@more_LDADD = $(LDADD) @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@more_LDADD = $(LDADD) -ltinfo
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@pg_LDADD = $(LDADD) @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@pg_LDADD = $(LDADD) -ltinfo @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@ul_LDADD = $(LDADD) @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@ul_LDADD = $(LDADD) -ltinfo
+script_SOURCES = term-utils/script.c
+script_LDADD = $(LDADD) $(am__append_50) $(am__append_51)
+scriptreplay_SOURCES = term-utils/scriptreplay.c
+@BUILD_AGETTY_TRUE@agetty_SOURCES = term-utils/agetty.c
+@BUILD_AGETTY_TRUE@agetty_LDADD = $(LDADD) libcommon.la
+@HAVE_NCURSES_TRUE@@LINUX_TRUE@setterm_SOURCES = term-utils/setterm.c
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@setterm_LDADD = $(LDADD) @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@setterm_LDADD = $(LDADD) -ltinfo
+@BUILD_MESG_TRUE@mesg_SOURCES = term-utils/mesg.c
+@BUILD_WALL_TRUE@wall_SOURCES = \
+@BUILD_WALL_TRUE@ term-utils/wall.c \
+@BUILD_WALL_TRUE@ term-utils/ttymsg.c \
+@BUILD_WALL_TRUE@ term-utils/ttymsg.h
+
+@BUILD_WALL_TRUE@wall_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+@BUILD_WALL_TRUE@wall_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_WALL_TRUE@wall_LDADD = $(LDADD) libcommon.la
+@BUILD_WRITE_TRUE@write_SOURCES = term-utils/write.c
+@BUILD_WRITE_TRUE@write_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+@BUILD_WRITE_TRUE@write_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_LAST_TRUE@last_SOURCES = login-utils/last.c
+@BUILD_SULOGIN_TRUE@sulogin_SOURCES = \
+@BUILD_SULOGIN_TRUE@ login-utils/sulogin.c
+
+@BUILD_SULOGIN_TRUE@sulogin_LDADD = $(LDADD) libcommon.la \
+@BUILD_SULOGIN_TRUE@ $(am__append_70) $(am__append_71)
+@BUILD_LOGIN_TRUE@login_SOURCES = \
+@BUILD_LOGIN_TRUE@ login-utils/login.c \
+@BUILD_LOGIN_TRUE@ login-utils/logindefs.c \
+@BUILD_LOGIN_TRUE@ login-utils/logindefs.h
+
+@BUILD_LOGIN_TRUE@login_LDADD = $(LDADD) libcommon.la -lpam -lpam_misc \
+@BUILD_LOGIN_TRUE@ $(am__append_74) $(am__append_75)
+@BUILD_UTMPDUMP_TRUE@utmpdump_SOURCES = login-utils/utmpdump.c
+@BUILD_CHFN_CHSH_TRUE@chfn_chsh_sources = login-utils/islocal.c \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/islocal.h \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/setpwnam.c \
+@BUILD_CHFN_CHSH_TRUE@ login-utils/setpwnam.h $(am__append_80)
+@BUILD_CHFN_CHSH_TRUE@chfn_chsh_cflags = $(SUID_CFLAGS) $(AM_CFLAGS)
+@BUILD_CHFN_CHSH_TRUE@chfn_chsh_ldflags = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_CHFN_CHSH_TRUE@chfn_chsh_ldadd = libcommon.la -lpam -lpam_misc \
+@BUILD_CHFN_CHSH_TRUE@ $(am__append_81)
+@BUILD_CHFN_CHSH_TRUE@chfn_SOURCES = login-utils/chfn.c $(chfn_chsh_sources)
+@BUILD_CHFN_CHSH_TRUE@chfn_CFLAGS = $(chfn_chsh_cflags)
+@BUILD_CHFN_CHSH_TRUE@chfn_LDFLAGS = $(chfn_chsh_ldflags)
+@BUILD_CHFN_CHSH_TRUE@chfn_LDADD = $(LDADD) $(chfn_chsh_ldadd)
+@BUILD_CHFN_CHSH_TRUE@chsh_SOURCES = login-utils/chsh.c $(chfn_chsh_sources)
+@BUILD_CHFN_CHSH_TRUE@chsh_CFLAGS = $(chfn_chsh_cflags)
+@BUILD_CHFN_CHSH_TRUE@chsh_LDFLAGS = $(chfn_chsh_ldflags)
+@BUILD_CHFN_CHSH_TRUE@chsh_LDADD = $(LDADD) $(chfn_chsh_ldadd)
+@BUILD_SU_TRUE@su_SOURCES = \
+@BUILD_SU_TRUE@ login-utils/su.c \
+@BUILD_SU_TRUE@ login-utils/logindefs.c \
+@BUILD_SU_TRUE@ login-utils/logindefs.h
+
+@BUILD_SU_TRUE@su_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+@BUILD_SU_TRUE@su_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_SU_TRUE@su_LDADD = $(LDADD) -lpam -lpam_misc
+@BUILD_NEWGRP_TRUE@newgrp_SOURCES = login-utils/newgrp.c
+@BUILD_NEWGRP_TRUE@newgrp_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+@BUILD_NEWGRP_TRUE@newgrp_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_NEWGRP_TRUE@newgrp_LDADD = $(LDADD) $(am__append_85)
+@BUILD_VIPW_TRUE@vipw_SOURCES = \
+@BUILD_VIPW_TRUE@ login-utils/vipw.c \
+@BUILD_VIPW_TRUE@ login-utils/setpwnam.h
+
+@BUILD_VIPW_TRUE@vipw_LDADD = $(LDADD) libcommon.la $(am__append_88)
+test_islocal_SOURCES = login-utils/islocal.c
+test_islocal_CPPFLAGS = -DTEST_PROGRAM $(AM_CPPFLAGS)
+test_logindefs_SOURCES = \
+ login-utils/logindefs.c \
+ login-utils/logindefs.h
+
+test_logindefs_CPPFLAGS = -DTEST_PROGRAM $(AM_CPPFLAGS)
+@BUILD_DEPRECATED_MOUNT_TRUE@mount_common_sources = \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/sundries.c \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/sundries.h \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/fstab.h \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount_mntent.h \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount_constants.h \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/getusername.h \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/fsprobe.h \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/devname.c \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/devname.h \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/fstab.c \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/getusername.c \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/mount_mntent.c \
+@BUILD_DEPRECATED_MOUNT_TRUE@ mount-deprecated/fsprobe.c
+
+@BUILD_DEPRECATED_MOUNT_TRUE@mount_SOURCES = mount-deprecated/mount.c $(mount_common_sources)
+@BUILD_MOUNT_TRUE@mount_SOURCES = sys-utils/mount.c
+@BUILD_DEPRECATED_MOUNT_TRUE@mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+@BUILD_MOUNT_TRUE@mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) -I$(ul_libmount_incdir)
+@BUILD_DEPRECATED_MOUNT_TRUE@mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_MOUNT_TRUE@mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_DEPRECATED_MOUNT_TRUE@mount_LDADD = $(LDADD) libblkid.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@ libcommon.la $(am__append_92)
+@BUILD_MOUNT_TRUE@mount_LDADD = $(LDADD) libcommon.la libmount.la $(SELINUX_LIBS)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_SOURCES = $(mount_SOURCES)
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_SOURCES = $(mount_SOURCES)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_CFLAGS = $(mount_CFLAGS)
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_CFLAGS = $(mount_CFLAGS)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_LDFLAGS = -all-static
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_LDFLAGS = $(mount_LDFLAGS) -all-static
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_LDADD = \
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@ $(LDADD) \
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@ libblkid.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@ libcommon.la \
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@ $(am__append_94)
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_MOUNT_TRUE@mount_static_LDADD = $(mount_LDADD) $(SELINUX_LIBS_STATIC)
+@BUILD_DEPRECATED_MOUNT_TRUE@umount_SOURCES = mount-deprecated/umount.c $(mount_common_sources)
+@BUILD_MOUNT_TRUE@umount_SOURCES = sys-utils/umount.c
+@BUILD_DEPRECATED_MOUNT_TRUE@umount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+@BUILD_MOUNT_TRUE@umount_CFLAGS = $(AM_CFLAGS) $(SUID_CFLAGS) -I$(ul_libmount_incdir)
+@BUILD_DEPRECATED_MOUNT_TRUE@umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_MOUNT_TRUE@umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_DEPRECATED_MOUNT_TRUE@umount_LDADD = $(LDADD) libblkid.la libcommon.la
+@BUILD_MOUNT_TRUE@umount_LDADD = $(LDADD) libcommon.la libmount.la
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_SOURCES = $(umount_SOURCES)
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_SOURCES = $(umount_SOURCES)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_CFLAGS = $(umount_CFLAGS)
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_CFLAGS = $(umount_CFLAGS)
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_LDFLAGS = -all-static
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_LDFLAGS = $(umount_LDFLAGS) -all-static
+@BUILD_DEPRECATED_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_LDADD = $(LDADD) libblkid.la libcommon.la
+@BUILD_MOUNT_TRUE@@HAVE_STATIC_UMOUNT_TRUE@umount_static_LDADD = $(umount_LDADD)
+flock_SOURCES = sys-utils/flock.c
+flock_LDADD = $(LDADD) libcommon.la
+ipcmk_SOURCES = sys-utils/ipcmk.c
+ipcmk_LDADD = $(LDADD) libcommon.la
+ipcrm_SOURCES = sys-utils/ipcrm.c
+ipcrm_LDADD = $(LDADD) libcommon.la
+ipcs_SOURCES = sys-utils/ipcs.c
+renice_SOURCES = sys-utils/renice.c
+setsid_SOURCES = sys-utils/setsid.c
+readprofile_SOURCES = sys-utils/readprofile.c
+@LINUX_TRUE@dmesg_SOURCES = sys-utils/dmesg.c
+@LINUX_TRUE@dmesg_LDADD = $(LDADD) libcommon.la
+@LINUX_TRUE@ctrlaltdel_SOURCES = sys-utils/ctrlaltdel.c
+@LINUX_TRUE@fsfreeze_SOURCES = sys-utils/fsfreeze.c
+@LINUX_TRUE@fstrim_SOURCES = sys-utils/fstrim.c
+@LINUX_TRUE@fstrim_LDADD = $(LDADD) libcommon.la
+@LINUX_TRUE@cytune_SOURCES = sys-utils/cytune.c sys-utils/cyclades.h
+@LINUX_TRUE@cytune_LDADD = $(LDADD) libcommon.la
+@LINUX_TRUE@ldattach_SOURCES = sys-utils/ldattach.c
+@LINUX_TRUE@ldattach_LDADD = $(LDADD) libcommon.la
+@LINUX_TRUE@tunelp_SOURCES = sys-utils/tunelp.c sys-utils/lp.h
+@LINUX_TRUE@rtcwake_SOURCES = sys-utils/rtcwake.c
+@LINUX_TRUE@rtcwake_LDADD = $(LDADD) libcommon.la
+@LINUX_TRUE@setarch_SOURCES = sys-utils/setarch.c
+@LINUX_TRUE@SETARCH_LINKS = linux32 linux64 $(am__append_103) \
+@LINUX_TRUE@ $(am__append_104) $(am__append_105) \
+@LINUX_TRUE@ $(am__append_106) $(am__append_107) \
+@LINUX_TRUE@ $(am__append_108) $(am__append_109) \
+@LINUX_TRUE@ $(am__append_110)
+@LINUX_TRUE@SETARCH_MAN_LINKS = $(addprefix sys-utils/,$(SETARCH_LINKS:=.8))
+@BUILD_EJECT_TRUE@eject_SOURCES = sys-utils/eject.c
+@BUILD_EJECT_TRUE@eject_LDADD = $(LDADD) libmount.la libcommon.la
+@BUILD_EJECT_TRUE@eject_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+@BUILD_LOSETUP_TRUE@losetup_SOURCES = sys-utils/losetup.c
+@BUILD_LOSETUP_TRUE@losetup_LDADD = $(LDADD) libcommon.la
+@BUILD_LOSETUP_TRUE@@HAVE_STATIC_LOSETUP_TRUE@losetup_static_SOURCES = $(losetup_SOURCES)
+@BUILD_LOSETUP_TRUE@@HAVE_STATIC_LOSETUP_TRUE@losetup_static_LDFLAGS = -all-static
+@BUILD_LOSETUP_TRUE@@HAVE_STATIC_LOSETUP_TRUE@losetup_static_LDADD = $(losetup_LDADD)
+@BUILD_PRLIMIT_TRUE@prlimit_SOURCES = sys-utils/prlimit.c
+@BUILD_PRLIMIT_TRUE@prlimit_LDADD = $(LDADD) libcommon.la
+@BUILD_SWAPON_TRUE@swapon_SOURCES = \
+@BUILD_SWAPON_TRUE@ sys-utils/swapon.c \
+@BUILD_SWAPON_TRUE@ sys-utils/swapon-common.c \
+@BUILD_SWAPON_TRUE@ sys-utils/swapon-common.h
+
+@BUILD_SWAPON_TRUE@swapon_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+@BUILD_SWAPON_TRUE@swapon_LDADD = $(LDADD) libcommon.la libmount.la
+@BUILD_SWAPON_TRUE@swapoff_SOURCES = sys-utils/swapoff.c sys-utils/swapon-common.c
+@BUILD_SWAPON_TRUE@swapoff_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+@BUILD_SWAPON_TRUE@swapoff_LDADD = $(LDADD) libmount.la
+@BUILD_LSCPU_TRUE@lscpu_SOURCES = sys-utils/lscpu.c
+@BUILD_LSCPU_TRUE@lscpu_LDADD = $(LDADD) libcommon.la
+@BUILD_CHCPU_TRUE@chcpu_SOURCES = sys-utils/chcpu.c
+@BUILD_CHCPU_TRUE@chcpu_LDADD = $(LDADD) libcommon.la
+@BUILD_WDCTL_TRUE@wdctl_SOURCES = sys-utils/wdctl.c
+@BUILD_WDCTL_TRUE@wdctl_LDADD = $(LDADD) libcommon.la
+@BUILD_MOUNTPOINT_TRUE@mountpoint_LDADD = $(LDADD) libmount.la
+@BUILD_MOUNTPOINT_TRUE@mountpoint_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+@BUILD_MOUNTPOINT_TRUE@mountpoint_SOURCES = sys-utils/mountpoint.c
+@BUILD_FALLOCATE_TRUE@fallocate_SOURCES = sys-utils/fallocate.c
+@BUILD_FALLOCATE_TRUE@fallocate_LDADD = $(LDADD) libcommon.la
+@BUILD_PIVOT_ROOT_TRUE@pivot_root_SOURCES = sys-utils/pivot_root.c
+@BUILD_SWITCH_ROOT_TRUE@switch_root_SOURCES = sys-utils/switch_root.c
+@BUILD_UNSHARE_TRUE@unshare_SOURCES = sys-utils/unshare.c
+@BUILD_ARCH_TRUE@arch_SOURCES = sys-utils/arch.c
+@BUILD_HWCLOCK_TRUE@hwclock_SOURCES = sys-utils/hwclock.c \
+@BUILD_HWCLOCK_TRUE@ sys-utils/hwclock.h \
+@BUILD_HWCLOCK_TRUE@ sys-utils/hwclock-cmos.c \
+@BUILD_HWCLOCK_TRUE@ sys-utils/hwclock-kd.c $(am__append_149)
+@BUILD_HWCLOCK_TRUE@hwclock_LDADD = $(LDADD) libcommon.la \
+@BUILD_HWCLOCK_TRUE@ $(am__append_150)
+cal_SOURCES = misc-utils/cal.c lib/mbsalign.c lib/strutils.c \
+ $(am__append_151)
+cal_LDADD = $(LDADD) $(am__append_152) $(am__append_153) \
+ $(am__append_154)
+logger_SOURCES = misc-utils/logger.c lib/strutils.c
+look_SOURCES = misc-utils/look.c
+mcookie_SOURCES = misc-utils/mcookie.c lib/md5.c
+namei_SOURCES = misc-utils/namei.c lib/strutils.c
+whereis_SOURCES = misc-utils/whereis.c
+@BUILD_DDATE_TRUE@ddate_SOURCES = misc-utils/ddate.c
+@BUILD_LSLOCKS_TRUE@lslocks_SOURCES = \
+@BUILD_LSLOCKS_TRUE@ misc-utils/lslocks.c \
+@BUILD_LSLOCKS_TRUE@ lib/at.c \
+@BUILD_LSLOCKS_TRUE@ lib/strutils.c \
+@BUILD_LSLOCKS_TRUE@ lib/tt.c \
+@BUILD_LSLOCKS_TRUE@ lib/mbsalign.c
+
+@BUILD_LSBLK_TRUE@lsblk_SOURCES = misc-utils/lsblk.c
+@BUILD_LSBLK_TRUE@lsblk_LDADD = $(LDADD) libblkid.la libmount.la \
+@BUILD_LSBLK_TRUE@ libcommon.la $(am__append_165)
+@BUILD_LSBLK_TRUE@lsblk_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir) -I$(ul_libmount_incdir)
+@BUILD_LIBUUID_TRUE@uuidgen_SOURCES = misc-utils/uuidgen.c
+@BUILD_LIBUUID_TRUE@uuidgen_LDADD = $(LDADD) libuuid.la
+@BUILD_LIBUUID_TRUE@uuidgen_CFLAGS = $(AM_CFLAGS) -I$(ul_libuuid_incdir)
+@BUILD_UUIDD_TRUE@uuidd_LDADD = $(LDADD) libuuid.la $(am__append_171)
+@BUILD_UUIDD_TRUE@uuidd_CFLAGS = $(AM_CFLAGS) -I$(ul_libuuid_incdir)
+@BUILD_UUIDD_TRUE@uuidd_SOURCES = misc-utils/uuidd.c $(am__append_170)
+@BUILD_LIBBLKID_TRUE@blkid_SOURCES = misc-utils/blkid.c
+@BUILD_LIBBLKID_TRUE@blkid_LDADD = $(LDADD) libblkid.la libcommon.la
+@BUILD_LIBBLKID_TRUE@blkid_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+@BUILD_LIBBLKID_TRUE@findfs_LDADD = $(LDADD) libblkid.la
+@BUILD_LIBBLKID_TRUE@findfs_SOURCES = misc-utils/findfs.c
+@BUILD_LIBBLKID_TRUE@findfs_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+@BUILD_LIBBLKID_TRUE@wipefs_SOURCES = misc-utils/wipefs.c
+@BUILD_LIBBLKID_TRUE@wipefs_LDADD = $(LDADD) libblkid.la libcommon.la
+@BUILD_LIBBLKID_TRUE@wipefs_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_SOURCES = $(blkid_SOURCES)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_LDFLAGS = -all-static
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_LDADD = $(LDADD) libblkid.la
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+@BUILD_LIBMOUNT_TRUE@findmnt_LDADD = $(LDADD) libmount.la libcommon.la
+@BUILD_LIBMOUNT_TRUE@findmnt_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+@BUILD_LIBMOUNT_TRUE@findmnt_SOURCES = misc-utils/findmnt.c
+@BUILD_KILL_TRUE@kill_SOURCES = \
+@BUILD_KILL_TRUE@ misc-utils/kill.c \
+@BUILD_KILL_TRUE@ misc-utils/kill.h \
+@BUILD_KILL_TRUE@ misc-utils/procs.c
+
+@BUILD_KILL_TRUE@kill_LDADD = $(LDADD) libcommon.la
+@BUILD_RENAME_TRUE@rename_SOURCES = misc-utils/rename.c
+getopt_SOURCES = misc-utils/getopt.c
+getoptexampledir = $(datadir)/getopt/
+dist_getoptexample_SCRIPTS = \
+ misc-utils/getopt-parse.bash \
+ misc-utils/getopt-parse.tcsh
+
+fsck_minix_SOURCES = \
+ disk-utils/fsck.minix.c \
+ disk-utils/minix_programs.h \
+ lib/ismounted.c
+
+fsck_minix_LDADD = $(LDADD) libcommon.la
+mkfs_minix_SOURCES = \
+ disk-utils/minix_programs.h \
+ disk-utils/mkfs.minix.c
+
+mkfs_minix_LDADD = $(LDADD) libcommon.la
+mkfs_SOURCES = disk-utils/mkfs.c
+isosize_SOURCES = disk-utils/isosize.c
+isosize_LDADD = $(LDADD) libcommon.la
+mkfs_bfs_SOURCES = \
+ disk-utils/mkfs.bfs.c
+
+mkfs_bfs_LDADD = $(LDADD) libcommon.la
+mkswap_SOURCES = \
+ disk-utils/mkswap.c
+
+mkswap_LDADD = $(LDADD) libcommon.la $(am__append_183) \
+ $(am__append_185) $(am__append_186)
+mkswap_CFLAGS = $(AM_CFLAGS) $(am__append_182) $(am__append_184)
+@BUILD_SWAPLABEL_TRUE@swaplabel_SOURCES = disk-utils/swaplabel.c
+@BUILD_SWAPLABEL_TRUE@swaplabel_CFLAGS = $(AM_CFLAGS) \
+@BUILD_SWAPLABEL_TRUE@ -I$(ul_libblkid_incdir) \
+@BUILD_SWAPLABEL_TRUE@ $(am__append_190)
+@BUILD_SWAPLABEL_TRUE@swaplabel_LDADD = $(LDADD) libblkid.la \
+@BUILD_SWAPLABEL_TRUE@ libcommon.la $(am__append_189)
+@BUILD_FSCK_TRUE@fsck_SOURCES = disk-utils/fsck.c
+@BUILD_FSCK_TRUE@fsck_LDADD = $(LDADD) libmount.la libblkid.la
+@BUILD_FSCK_TRUE@fsck_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir) -I$(ul_libblkid_incdir)
+@BUILD_ELVTUNE_TRUE@elvtune_SOURCES = disk-utils/elvtune.c
+@BUILD_ELVTUNE_TRUE@elvtune_LDADD = $(LDADD) libcommon.la
+@BUILD_RAW_TRUE@raw_SOURCES = disk-utils/raw.c
+@BUILD_CRAMFS_TRUE@cramfs_common_sources = disk-utils/cramfs.h disk-utils/cramfs_common.c
+@BUILD_CRAMFS_TRUE@fsck_cramfs_SOURCES = disk-utils/fsck.cramfs.c $(cramfs_common_sources)
+@BUILD_CRAMFS_TRUE@fsck_cramfs_LDADD = $(LDADD) -lz libcommon.la
+@BUILD_CRAMFS_TRUE@mkfs_cramfs_SOURCES = disk-utils/mkfs.cramfs.c $(cramfs_common_sources)
+@BUILD_CRAMFS_TRUE@mkfs_cramfs_LDADD = $(LDADD) -lz libcommon.la
+@LINUX_TRUE@blockdev_SOURCES = disk-utils/blockdev.c
+@LINUX_TRUE@blockdev_LDADD = $(LDADD) libcommon.la
+@LINUX_TRUE@fdformat_SOURCES = disk-utils/fdformat.c
+@BUILD_PARTX_TRUE@addpart_SOURCES = \
+@BUILD_PARTX_TRUE@ disk-utils/addpart.c \
+@BUILD_PARTX_TRUE@ disk-utils/partx.h
+
+@BUILD_PARTX_TRUE@addpart_LDADD = $(LDADD) libcommon.la
+@BUILD_PARTX_TRUE@delpart_SOURCES = \
+@BUILD_PARTX_TRUE@ disk-utils/delpart.c \
+@BUILD_PARTX_TRUE@ disk-utils/partx.h
+
+@BUILD_PARTX_TRUE@delpart_LDADD = $(LDADD) libcommon.la
+@BUILD_PARTX_TRUE@resizepart_SOURCES = \
+@BUILD_PARTX_TRUE@ disk-utils/resizepart.c \
+@BUILD_PARTX_TRUE@ disk-utils/partx.h
+
+@BUILD_PARTX_TRUE@resizepart_LDADD = $(LDADD) libcommon.la
+@BUILD_PARTX_TRUE@partx_SOURCES = \
+@BUILD_PARTX_TRUE@ disk-utils/partx.c \
+@BUILD_PARTX_TRUE@ disk-utils/partx.h
+
+@BUILD_PARTX_TRUE@partx_CFLAGS = -I$(ul_libblkid_incdir)
+@BUILD_PARTX_TRUE@partx_LDADD = $(LDADD) libblkid.la libcommon.la
+fdisk_common_sources = \
+ fdisks/common.h \
+ fdisks/gpt.c \
+ fdisks/gpt.h \
+ fdisks/i386_sys_types.c
+
+@ARCH_M68K_FALSE@fdisk_SOURCES = \
+@ARCH_M68K_FALSE@ fdisks/utils.c \
+@ARCH_M68K_FALSE@ fdisks/fdisk.c \
+@ARCH_M68K_FALSE@ fdisks/fdisk.h \
+@ARCH_M68K_FALSE@ fdisks/fdiskaixlabel.c \
+@ARCH_M68K_FALSE@ fdisks/fdiskaixlabel.h \
+@ARCH_M68K_FALSE@ fdisks/fdiskbsdlabel.c \
+@ARCH_M68K_FALSE@ fdisks/fdiskbsdlabel.h \
+@ARCH_M68K_FALSE@ fdisks/fdiskmaclabel.c \
+@ARCH_M68K_FALSE@ fdisks/fdiskmaclabel.h \
+@ARCH_M68K_FALSE@ fdisks/fdisksgilabel.c \
+@ARCH_M68K_FALSE@ fdisks/fdisksgilabel.h \
+@ARCH_M68K_FALSE@ fdisks/fdisksunlabel.c \
+@ARCH_M68K_FALSE@ fdisks/fdisksunlabel.h \
+@ARCH_M68K_FALSE@ fdisks/fdiskdoslabel.c \
+@ARCH_M68K_FALSE@ fdisks/fdiskdoslabel.h \
+@ARCH_M68K_FALSE@ fdisks/partname.c \
+@ARCH_M68K_FALSE@ $(fdisk_common_sources)
+
+@ARCH_M68K_FALSE@fdisk_LDADD = $(LDADD) libcommon.la $(am__append_205)
+@ARCH_M68K_FALSE@@BUILD_LIBBLKID_TRUE@fdisk_CFLAGS = -I$(ul_libblkid_incdir)
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@fdisk_static_SOURCES = $(fdisk_SOURCES)
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@fdisk_static_LDFLAGS = -all-static
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@fdisk_static_CFLAGS = $(fdisk_CFLAGS)
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@fdisk_static_LDADD = $(fdisk_LDADD)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@sfdisk_SOURCES = \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ fdisks/partname.c \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ fdisks/sfdisk.c \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@ $(fdisk_common_sources)
+
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@sfdisk_LDADD = $(LDADD) libcommon.la
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@sfdisk_static_SOURCES = $(sfdisk_SOURCES)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@sfdisk_static_LDFLAGS = -all-static
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@sfdisk_static_LDADD = $(sfdisk_LDADD)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@cfdisk_SOURCES = fdisks/cfdisk.c $(fdisk_common_sources)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@cfdisk_CFLAGS = $(am__append_212)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@cfdisk_LDADD = $(LDADD) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@ libcommon.la \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@ $(am__append_213) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@ $(am__append_214) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@BUILD_CFDISK_TRUE@ $(am__append_215)
+test_byteswap_SOURCES = tests/helpers/test_byteswap.c
+test_md5_SOURCES = tests/helpers/test_md5.c lib/md5.c
+test_pathnames_SOURCES = tests/helpers/test_pathnames.c
+test_sysinfo_SOURCES = tests/helpers/test_sysinfo.c
+
+#
+# Don't rely on configure.ac AC_CONFIG_FILES for install paths.
+#
+# The paths should be expanded at make time rather than configure:
+# - to support 'make install prefix=/foo DESTDIR=/foo'
+# - to recursively expands the paths (e.g. AC_CONFIG_FILES expands
+# '@usrsbin_execdir@' to ${exec_prefix}/sbin')
+#
+edit_cmd = sed \
+ -e 's|@prefix[@]|$(prefix)|g' \
+ -e 's|@exec_prefix[@]|$(exec_prefix)|g' \
+ -e 's|@sysconfdir[@]|$(sysconfdir)|g' \
+ -e 's|@datadir[@]|$(datadir)|g' \
+ -e 's|@sbindir[@]|$(sbindir)|g' \
+ -e 's|@bindir[@]|$(bindir)|g' \
+ -e 's|@includedir[@]|$(includedir)|g' \
+ -e 's|@localstatedir[@]|$(localstatedir)|g' \
+ -e 's|@usrlib_execdir[@]|$(usrlib_execdir)|g' \
+ -e 's|@usrbin_execdir[@]|$(usrbin_execdir)|g' \
+ -e 's|@usrsbin_execdir[@]|$(usrsbin_execdir)|g' \
+ -e 's|@VERSION[@]|$(VERSION)|g' \
+ -e 's|@LIBUUID_VERSION[@]|$(LIBUUID_VERSION)|g' \
+ -e 's|@LIBMOUNT_VERSION[@]|$(LIBMOUNT_VERSION)|g' \
+ -e 's|@LIBBLKID_VERSION[@]|$(LIBBLKID_VERSION)|g'
+
+ENABLE_ALL = --enable-static-programs --enable-most-builds
+DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-use-tty-group \
+ --disable-silent-rules $(ENABLE_ALL) \
+ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
+
+BUILT_SOURCES = .version
+CHANGELOG_FILE = v$(VERSION)-ChangeLog
+all: $(BUILT_SOURCES) config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/include/Makemodule.am $(srcdir)/lib/Makemodule.am $(srcdir)/libuuid/Makemodule.am $(srcdir)/libuuid/man/Makemodule.am $(srcdir)/libuuid/src/Makemodule.am $(srcdir)/libblkid/Makemodule.am $(srcdir)/libblkid/src/Makemodule.am $(srcdir)/libblkid/samples/Makemodule.am $(srcdir)/libmount/Makemodule.am $(srcdir)/libmount/src/Makemodule.am $(srcdir)/schedutils/Makemodule.am $(srcdir)/text-utils/Makemodule.am $(srcdir)/term-utils/Makemodule.am $(srcdir)/login-utils/Makemodule.am $(srcdir)/mount-deprecated/Makemodule.am $(srcdir)/sys-utils/Makemodule.am $(srcdir)/misc-utils/Makemodule.am $(srcdir)/disk-utils/Makemodule.am $(srcdir)/fdisks/Makemodule.am $(srcdir)/tests/Makemodule.am $(srcdir)/tests/helpers/Makemodule.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+misc-utils/chkdupexe: $(top_builddir)/config.status $(top_srcdir)/misc-utils/chkdupexe.pl
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+libblkid/src/blkid.h: $(top_builddir)/config.status $(top_srcdir)/libblkid/src/blkid.h.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+libmount/src/libmount.h: $(top_builddir)/config.status $(top_srcdir)/libmount/src/libmount.h.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+install-usrlib_execLTLIBRARIES: $(usrlib_exec_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(usrlib_execdir)" || $(MKDIR_P) "$(DESTDIR)$(usrlib_execdir)"
+ @list='$(usrlib_exec_LTLIBRARIES)'; test -n "$(usrlib_execdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(usrlib_execdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(usrlib_execdir)"; \
+ }
+
+uninstall-usrlib_execLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(usrlib_exec_LTLIBRARIES)'; test -n "$(usrlib_execdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(usrlib_execdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(usrlib_execdir)/$$f"; \
+ done
+
+clean-usrlib_execLTLIBRARIES:
+ -test -z "$(usrlib_exec_LTLIBRARIES)" || rm -f $(usrlib_exec_LTLIBRARIES)
+ @list='$(usrlib_exec_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libblkid/src/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/src
+ @: > libblkid/src/$(am__dirstamp)
+libblkid/src/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/src/$(DEPDIR)
+ @: > libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-cache.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-config.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-dev.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-devname.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-devno.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-encode.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-evaluate.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-getsize.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-llseek.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-probe.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-read.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-resolve.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-save.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-tag.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-verify.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/libblkid_la-version.lo: libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/src/partitions
+ @: > libblkid/src/partitions/$(am__dirstamp)
+libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/src/partitions/$(DEPDIR)
+ @: > libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-aix.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-bsd.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-dos.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-gpt.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-mac.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-minix.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-partitions.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-sgi.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-solaris_x86.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-sun.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-ultrix.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/partitions/libblkid_la-unixware.lo: \
+ libblkid/src/partitions/$(am__dirstamp) \
+ libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/src/superblocks
+ @: > libblkid/src/superblocks/$(am__dirstamp)
+libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/src/superblocks/$(DEPDIR)
+ @: > libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-adaptec_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-befs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-bfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-btrfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-cramfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-ddf_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-drbd.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-drbdproxy_datalog.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-exfat.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-ext.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-gfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-hfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-highpoint_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-hpfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-iso9660.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-isw_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-jfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-jmicron_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-linux_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-lsi_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-luks.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-lvm.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-minix.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-netware.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-nilfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-ntfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-nvidia_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-ocfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-promise_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-reiserfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-romfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-silicon_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-squashfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-superblocks.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-swap.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-sysv.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-ubifs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-udf.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-ufs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-vfat.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-via_raid.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-vmfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-vxfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-xfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/superblocks/libblkid_la-zfs.lo: \
+ libblkid/src/superblocks/$(am__dirstamp) \
+ libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/topology/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/src/topology
+ @: > libblkid/src/topology/$(am__dirstamp)
+libblkid/src/topology/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/src/topology/$(DEPDIR)
+ @: > libblkid/src/topology/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/topology/libblkid_la-topology.lo: \
+ libblkid/src/topology/$(am__dirstamp) \
+ libblkid/src/topology/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/topology/libblkid_la-dm.lo: \
+ libblkid/src/topology/$(am__dirstamp) \
+ libblkid/src/topology/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/topology/libblkid_la-evms.lo: \
+ libblkid/src/topology/$(am__dirstamp) \
+ libblkid/src/topology/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/topology/libblkid_la-ioctl.lo: \
+ libblkid/src/topology/$(am__dirstamp) \
+ libblkid/src/topology/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/topology/libblkid_la-lvm.lo: \
+ libblkid/src/topology/$(am__dirstamp) \
+ libblkid/src/topology/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/topology/libblkid_la-md.lo: \
+ libblkid/src/topology/$(am__dirstamp) \
+ libblkid/src/topology/$(DEPDIR)/$(am__dirstamp)
+libblkid/src/topology/libblkid_la-sysfs.lo: \
+ libblkid/src/topology/$(am__dirstamp) \
+ libblkid/src/topology/$(DEPDIR)/$(am__dirstamp)
+libblkid.la: $(libblkid_la_OBJECTS) $(libblkid_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libblkid_la_LINK) $(am_libblkid_la_rpath) $(libblkid_la_OBJECTS) $(libblkid_la_LIBADD) $(LIBS)
+lib/$(am__dirstamp):
+ @$(MKDIR_P) lib
+ @: > lib/$(am__dirstamp)
+lib/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) lib/$(DEPDIR)
+ @: > lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-at.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-blkdev.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-canonicalize.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-cpuset.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-crc32.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-env.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-fileutils.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-ismounted.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-mangle.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-match.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-mbsalign.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-md5.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-pager.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-path.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-procutils.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-randutils.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-setproctitle.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-strutils.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-sysfs.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-tt.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-wholedisk.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-xgetpass.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-linux_version.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-loopdev.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/libcommon_la-langinfo.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+libcommon.la: $(libcommon_la_OBJECTS) $(libcommon_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libcommon_la_LINK) $(libcommon_la_OBJECTS) $(libcommon_la_LIBADD) $(LIBS)
+libmount/src/$(am__dirstamp):
+ @$(MKDIR_P) libmount/src
+ @: > libmount/src/$(am__dirstamp)
+libmount/src/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) libmount/src/$(DEPDIR)
+ @: > libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-cache.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-context.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-context_loopdev.lo: \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-context_mount.lo: \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-context_umount.lo: \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-fs.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-init.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-iter.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-lock.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-optmap.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-optstr.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-tab.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-tab_diff.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-tab_parse.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-tab_update.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-test.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-utils.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount/src/libmount_la-version.lo: libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+libmount.la: $(libmount_la_OBJECTS) $(libmount_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmount_la_LINK) $(am_libmount_la_rpath) $(libmount_la_OBJECTS) $(libmount_la_LIBADD) $(LIBS)
+libuuid/src/$(am__dirstamp):
+ @$(MKDIR_P) libuuid/src
+ @: > libuuid/src/$(am__dirstamp)
+libuuid/src/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) libuuid/src/$(DEPDIR)
+ @: > libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-clear.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-compare.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-copy.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-gen_uuid.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-isnull.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-pack.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-parse.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-unpack.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-unparse.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+libuuid/src/libuuid_la-uuid_time.lo: libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+lib/libuuid_la-randutils.lo: lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+libuuid.la: $(libuuid_la_OBJECTS) $(libuuid_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libuuid_la_LINK) $(am_libuuid_la_rpath) $(libuuid_la_OBJECTS) $(libuuid_la_LIBADD) $(LIBS)
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+install-sbinPROGRAMS: $(sbin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
+ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-sbinPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(sbindir)" && rm -f $$files
+
+clean-sbinPROGRAMS:
+ @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+install-usrbin_execPROGRAMS: $(usrbin_exec_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(usrbin_execdir)" || $(MKDIR_P) "$(DESTDIR)$(usrbin_execdir)"
+ @list='$(usrbin_exec_PROGRAMS)'; test -n "$(usrbin_execdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(usrbin_execdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(usrbin_execdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-usrbin_execPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(usrbin_exec_PROGRAMS)'; test -n "$(usrbin_execdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(usrbin_execdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(usrbin_execdir)" && rm -f $$files
+
+clean-usrbin_execPROGRAMS:
+ @list='$(usrbin_exec_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+install-usrsbin_execPROGRAMS: $(usrsbin_exec_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(usrsbin_execdir)" || $(MKDIR_P) "$(DESTDIR)$(usrsbin_execdir)"
+ @list='$(usrsbin_exec_PROGRAMS)'; test -n "$(usrsbin_execdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(usrsbin_execdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(usrsbin_execdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-usrsbin_execPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(usrsbin_exec_PROGRAMS)'; test -n "$(usrsbin_execdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(usrsbin_execdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(usrsbin_execdir)" && rm -f $$files
+
+clean-usrsbin_execPROGRAMS:
+ @list='$(usrsbin_exec_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+disk-utils/$(am__dirstamp):
+ @$(MKDIR_P) disk-utils
+ @: > disk-utils/$(am__dirstamp)
+disk-utils/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) disk-utils/$(DEPDIR)
+ @: > disk-utils/$(DEPDIR)/$(am__dirstamp)
+disk-utils/addpart.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+addpart$(EXEEXT): $(addpart_OBJECTS) $(addpart_DEPENDENCIES)
+ @rm -f addpart$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(addpart_OBJECTS) $(addpart_LDADD) $(LIBS)
+term-utils/$(am__dirstamp):
+ @$(MKDIR_P) term-utils
+ @: > term-utils/$(am__dirstamp)
+term-utils/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) term-utils/$(DEPDIR)
+ @: > term-utils/$(DEPDIR)/$(am__dirstamp)
+term-utils/agetty.$(OBJEXT): term-utils/$(am__dirstamp) \
+ term-utils/$(DEPDIR)/$(am__dirstamp)
+agetty$(EXEEXT): $(agetty_OBJECTS) $(agetty_DEPENDENCIES)
+ @rm -f agetty$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(agetty_OBJECTS) $(agetty_LDADD) $(LIBS)
+sys-utils/$(am__dirstamp):
+ @$(MKDIR_P) sys-utils
+ @: > sys-utils/$(am__dirstamp)
+sys-utils/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sys-utils/$(DEPDIR)
+ @: > sys-utils/$(DEPDIR)/$(am__dirstamp)
+sys-utils/arch.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+arch$(EXEEXT): $(arch_OBJECTS) $(arch_DEPENDENCIES)
+ @rm -f arch$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(arch_OBJECTS) $(arch_LDADD) $(LIBS)
+misc-utils/$(am__dirstamp):
+ @$(MKDIR_P) misc-utils
+ @: > misc-utils/$(am__dirstamp)
+misc-utils/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) misc-utils/$(DEPDIR)
+ @: > misc-utils/$(DEPDIR)/$(am__dirstamp)
+misc-utils/blkid-blkid.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+blkid$(EXEEXT): $(blkid_OBJECTS) $(blkid_DEPENDENCIES)
+ @rm -f blkid$(EXEEXT)
+ $(AM_V_CCLD)$(blkid_LINK) $(blkid_OBJECTS) $(blkid_LDADD) $(LIBS)
+misc-utils/blkid_static-blkid.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+blkid.static$(EXEEXT): $(blkid_static_OBJECTS) $(blkid_static_DEPENDENCIES)
+ @rm -f blkid.static$(EXEEXT)
+ $(AM_V_CCLD)$(blkid_static_LINK) $(blkid_static_OBJECTS) $(blkid_static_LDADD) $(LIBS)
+disk-utils/blockdev.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+blockdev$(EXEEXT): $(blockdev_OBJECTS) $(blockdev_DEPENDENCIES)
+ @rm -f blockdev$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(blockdev_OBJECTS) $(blockdev_LDADD) $(LIBS)
+misc-utils/cal.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+lib/mbsalign.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/strutils.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+lib/langinfo.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+cal$(EXEEXT): $(cal_OBJECTS) $(cal_DEPENDENCIES)
+ @rm -f cal$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(cal_OBJECTS) $(cal_LDADD) $(LIBS)
+fdisks/$(am__dirstamp):
+ @$(MKDIR_P) fdisks
+ @: > fdisks/$(am__dirstamp)
+fdisks/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) fdisks/$(DEPDIR)
+ @: > fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/cfdisk-cfdisk.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/cfdisk-gpt.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/cfdisk-i386_sys_types.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+cfdisk$(EXEEXT): $(cfdisk_OBJECTS) $(cfdisk_DEPENDENCIES)
+ @rm -f cfdisk$(EXEEXT)
+ $(AM_V_CCLD)$(cfdisk_LINK) $(cfdisk_OBJECTS) $(cfdisk_LDADD) $(LIBS)
+sys-utils/chcpu.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+chcpu$(EXEEXT): $(chcpu_OBJECTS) $(chcpu_DEPENDENCIES)
+ @rm -f chcpu$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(chcpu_OBJECTS) $(chcpu_LDADD) $(LIBS)
+login-utils/$(am__dirstamp):
+ @$(MKDIR_P) login-utils
+ @: > login-utils/$(am__dirstamp)
+login-utils/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) login-utils/$(DEPDIR)
+ @: > login-utils/$(DEPDIR)/$(am__dirstamp)
+login-utils/chfn-chfn.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+login-utils/chfn-islocal.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+login-utils/chfn-setpwnam.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+login-utils/chfn-selinux_utils.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+chfn$(EXEEXT): $(chfn_OBJECTS) $(chfn_DEPENDENCIES)
+ @rm -f chfn$(EXEEXT)
+ $(AM_V_CCLD)$(chfn_LINK) $(chfn_OBJECTS) $(chfn_LDADD) $(LIBS)
+schedutils/$(am__dirstamp):
+ @$(MKDIR_P) schedutils
+ @: > schedutils/$(am__dirstamp)
+schedutils/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) schedutils/$(DEPDIR)
+ @: > schedutils/$(DEPDIR)/$(am__dirstamp)
+schedutils/chrt.$(OBJEXT): schedutils/$(am__dirstamp) \
+ schedutils/$(DEPDIR)/$(am__dirstamp)
+chrt$(EXEEXT): $(chrt_OBJECTS) $(chrt_DEPENDENCIES)
+ @rm -f chrt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(chrt_OBJECTS) $(chrt_LDADD) $(LIBS)
+login-utils/chsh-chsh.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+login-utils/chsh-islocal.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+login-utils/chsh-setpwnam.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+login-utils/chsh-selinux_utils.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+chsh$(EXEEXT): $(chsh_OBJECTS) $(chsh_DEPENDENCIES)
+ @rm -f chsh$(EXEEXT)
+ $(AM_V_CCLD)$(chsh_LINK) $(chsh_OBJECTS) $(chsh_LDADD) $(LIBS)
+text-utils/$(am__dirstamp):
+ @$(MKDIR_P) text-utils
+ @: > text-utils/$(am__dirstamp)
+text-utils/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) text-utils/$(DEPDIR)
+ @: > text-utils/$(DEPDIR)/$(am__dirstamp)
+text-utils/col.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+col$(EXEEXT): $(col_OBJECTS) $(col_DEPENDENCIES)
+ @rm -f col$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(col_OBJECTS) $(col_LDADD) $(LIBS)
+text-utils/colcrt.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+colcrt$(EXEEXT): $(colcrt_OBJECTS) $(colcrt_DEPENDENCIES)
+ @rm -f colcrt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(colcrt_OBJECTS) $(colcrt_LDADD) $(LIBS)
+text-utils/colrm.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+colrm$(EXEEXT): $(colrm_OBJECTS) $(colrm_DEPENDENCIES)
+ @rm -f colrm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(colrm_OBJECTS) $(colrm_LDADD) $(LIBS)
+text-utils/column.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+column$(EXEEXT): $(column_OBJECTS) $(column_DEPENDENCIES)
+ @rm -f column$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(column_OBJECTS) $(column_LDADD) $(LIBS)
+sys-utils/ctrlaltdel.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+ctrlaltdel$(EXEEXT): $(ctrlaltdel_OBJECTS) $(ctrlaltdel_DEPENDENCIES)
+ @rm -f ctrlaltdel$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ctrlaltdel_OBJECTS) $(ctrlaltdel_LDADD) $(LIBS)
+sys-utils/cytune.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+cytune$(EXEEXT): $(cytune_OBJECTS) $(cytune_DEPENDENCIES)
+ @rm -f cytune$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(cytune_OBJECTS) $(cytune_LDADD) $(LIBS)
+misc-utils/ddate.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+ddate$(EXEEXT): $(ddate_OBJECTS) $(ddate_DEPENDENCIES)
+ @rm -f ddate$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ddate_OBJECTS) $(ddate_LDADD) $(LIBS)
+disk-utils/delpart.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+delpart$(EXEEXT): $(delpart_OBJECTS) $(delpart_DEPENDENCIES)
+ @rm -f delpart$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(delpart_OBJECTS) $(delpart_LDADD) $(LIBS)
+sys-utils/dmesg.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+dmesg$(EXEEXT): $(dmesg_OBJECTS) $(dmesg_DEPENDENCIES)
+ @rm -f dmesg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dmesg_OBJECTS) $(dmesg_LDADD) $(LIBS)
+sys-utils/eject-eject.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+eject$(EXEEXT): $(eject_OBJECTS) $(eject_DEPENDENCIES)
+ @rm -f eject$(EXEEXT)
+ $(AM_V_CCLD)$(eject_LINK) $(eject_OBJECTS) $(eject_LDADD) $(LIBS)
+disk-utils/elvtune.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+elvtune$(EXEEXT): $(elvtune_OBJECTS) $(elvtune_DEPENDENCIES)
+ @rm -f elvtune$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(elvtune_OBJECTS) $(elvtune_LDADD) $(LIBS)
+sys-utils/fallocate.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+fallocate$(EXEEXT): $(fallocate_OBJECTS) $(fallocate_DEPENDENCIES)
+ @rm -f fallocate$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fallocate_OBJECTS) $(fallocate_LDADD) $(LIBS)
+disk-utils/fdformat.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+fdformat$(EXEEXT): $(fdformat_OBJECTS) $(fdformat_DEPENDENCIES)
+ @rm -f fdformat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fdformat_OBJECTS) $(fdformat_LDADD) $(LIBS)
+fdisks/fdisk-utils.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-fdisk.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-fdiskaixlabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-fdiskbsdlabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-fdiskmaclabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-fdisksgilabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-fdisksunlabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-fdiskdoslabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-partname.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-gpt.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk-i386_sys_types.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisk$(EXEEXT): $(fdisk_OBJECTS) $(fdisk_DEPENDENCIES)
+ @rm -f fdisk$(EXEEXT)
+ $(AM_V_CCLD)$(fdisk_LINK) $(fdisk_OBJECTS) $(fdisk_LDADD) $(LIBS)
+fdisks/fdisk_static-utils.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-fdisk.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-fdiskaixlabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-fdiskbsdlabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-fdiskmaclabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-fdisksgilabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-fdisksunlabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-fdiskdoslabel.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-partname.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-gpt.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/fdisk_static-i386_sys_types.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisk.static$(EXEEXT): $(fdisk_static_OBJECTS) $(fdisk_static_DEPENDENCIES)
+ @rm -f fdisk.static$(EXEEXT)
+ $(AM_V_CCLD)$(fdisk_static_LINK) $(fdisk_static_OBJECTS) $(fdisk_static_LDADD) $(LIBS)
+misc-utils/findfs-findfs.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+findfs$(EXEEXT): $(findfs_OBJECTS) $(findfs_DEPENDENCIES)
+ @rm -f findfs$(EXEEXT)
+ $(AM_V_CCLD)$(findfs_LINK) $(findfs_OBJECTS) $(findfs_LDADD) $(LIBS)
+misc-utils/findmnt-findmnt.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+findmnt$(EXEEXT): $(findmnt_OBJECTS) $(findmnt_DEPENDENCIES)
+ @rm -f findmnt$(EXEEXT)
+ $(AM_V_CCLD)$(findmnt_LINK) $(findmnt_OBJECTS) $(findmnt_LDADD) $(LIBS)
+sys-utils/flock.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+flock$(EXEEXT): $(flock_OBJECTS) $(flock_DEPENDENCIES)
+ @rm -f flock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
+disk-utils/fsck-fsck.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+fsck$(EXEEXT): $(fsck_OBJECTS) $(fsck_DEPENDENCIES)
+ @rm -f fsck$(EXEEXT)
+ $(AM_V_CCLD)$(fsck_LINK) $(fsck_OBJECTS) $(fsck_LDADD) $(LIBS)
+disk-utils/fsck.cramfs.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+disk-utils/cramfs_common.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+fsck.cramfs$(EXEEXT): $(fsck_cramfs_OBJECTS) $(fsck_cramfs_DEPENDENCIES)
+ @rm -f fsck.cramfs$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fsck_cramfs_OBJECTS) $(fsck_cramfs_LDADD) $(LIBS)
+disk-utils/fsck.minix.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+lib/ismounted.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+fsck.minix$(EXEEXT): $(fsck_minix_OBJECTS) $(fsck_minix_DEPENDENCIES)
+ @rm -f fsck.minix$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fsck_minix_OBJECTS) $(fsck_minix_LDADD) $(LIBS)
+sys-utils/fsfreeze.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+fsfreeze$(EXEEXT): $(fsfreeze_OBJECTS) $(fsfreeze_DEPENDENCIES)
+ @rm -f fsfreeze$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fsfreeze_OBJECTS) $(fsfreeze_LDADD) $(LIBS)
+sys-utils/fstrim.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+fstrim$(EXEEXT): $(fstrim_OBJECTS) $(fstrim_DEPENDENCIES)
+ @rm -f fstrim$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fstrim_OBJECTS) $(fstrim_LDADD) $(LIBS)
+misc-utils/getopt.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+getopt$(EXEEXT): $(getopt_OBJECTS) $(getopt_DEPENDENCIES)
+ @rm -f getopt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(getopt_OBJECTS) $(getopt_LDADD) $(LIBS)
+text-utils/conv.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+text-utils/display.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+text-utils/hexdump.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+text-utils/hexsyntax.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+text-utils/parse.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+hexdump$(EXEEXT): $(hexdump_OBJECTS) $(hexdump_DEPENDENCIES)
+ @rm -f hexdump$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(hexdump_OBJECTS) $(hexdump_LDADD) $(LIBS)
+sys-utils/hwclock.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+sys-utils/hwclock-cmos.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+sys-utils/hwclock-kd.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+sys-utils/hwclock-rtc.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+hwclock$(EXEEXT): $(hwclock_OBJECTS) $(hwclock_DEPENDENCIES)
+ @rm -f hwclock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(hwclock_OBJECTS) $(hwclock_LDADD) $(LIBS)
+schedutils/ionice.$(OBJEXT): schedutils/$(am__dirstamp) \
+ schedutils/$(DEPDIR)/$(am__dirstamp)
+ionice$(EXEEXT): $(ionice_OBJECTS) $(ionice_DEPENDENCIES)
+ @rm -f ionice$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ionice_OBJECTS) $(ionice_LDADD) $(LIBS)
+sys-utils/ipcmk.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+ipcmk$(EXEEXT): $(ipcmk_OBJECTS) $(ipcmk_DEPENDENCIES)
+ @rm -f ipcmk$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ipcmk_OBJECTS) $(ipcmk_LDADD) $(LIBS)
+sys-utils/ipcrm.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+ipcrm$(EXEEXT): $(ipcrm_OBJECTS) $(ipcrm_DEPENDENCIES)
+ @rm -f ipcrm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ipcrm_OBJECTS) $(ipcrm_LDADD) $(LIBS)
+sys-utils/ipcs.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+ipcs$(EXEEXT): $(ipcs_OBJECTS) $(ipcs_DEPENDENCIES)
+ @rm -f ipcs$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ipcs_OBJECTS) $(ipcs_LDADD) $(LIBS)
+disk-utils/isosize.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+isosize$(EXEEXT): $(isosize_OBJECTS) $(isosize_DEPENDENCIES)
+ @rm -f isosize$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(isosize_OBJECTS) $(isosize_LDADD) $(LIBS)
+misc-utils/kill.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+misc-utils/procs.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES)
+ @rm -f kill$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
+login-utils/last.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+last$(EXEEXT): $(last_OBJECTS) $(last_DEPENDENCIES)
+ @rm -f last$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(last_OBJECTS) $(last_LDADD) $(LIBS)
+sys-utils/ldattach.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+ldattach$(EXEEXT): $(ldattach_OBJECTS) $(ldattach_DEPENDENCIES)
+ @rm -f ldattach$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ldattach_OBJECTS) $(ldattach_LDADD) $(LIBS)
+text-utils/line.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+line$(EXEEXT): $(line_OBJECTS) $(line_DEPENDENCIES)
+ @rm -f line$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(line_OBJECTS) $(line_LDADD) $(LIBS)
+misc-utils/logger.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+logger$(EXEEXT): $(logger_OBJECTS) $(logger_DEPENDENCIES)
+ @rm -f logger$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(logger_OBJECTS) $(logger_LDADD) $(LIBS)
+login-utils/login.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+login-utils/logindefs.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+login$(EXEEXT): $(login_OBJECTS) $(login_DEPENDENCIES)
+ @rm -f login$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(login_OBJECTS) $(login_LDADD) $(LIBS)
+misc-utils/look.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+look$(EXEEXT): $(look_OBJECTS) $(look_DEPENDENCIES)
+ @rm -f look$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(look_OBJECTS) $(look_LDADD) $(LIBS)
+sys-utils/losetup.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+losetup$(EXEEXT): $(losetup_OBJECTS) $(losetup_DEPENDENCIES)
+ @rm -f losetup$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(losetup_OBJECTS) $(losetup_LDADD) $(LIBS)
+losetup.static$(EXEEXT): $(losetup_static_OBJECTS) $(losetup_static_DEPENDENCIES)
+ @rm -f losetup.static$(EXEEXT)
+ $(AM_V_CCLD)$(losetup_static_LINK) $(losetup_static_OBJECTS) $(losetup_static_LDADD) $(LIBS)
+misc-utils/lsblk-lsblk.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+lsblk$(EXEEXT): $(lsblk_OBJECTS) $(lsblk_DEPENDENCIES)
+ @rm -f lsblk$(EXEEXT)
+ $(AM_V_CCLD)$(lsblk_LINK) $(lsblk_OBJECTS) $(lsblk_LDADD) $(LIBS)
+sys-utils/lscpu.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+lscpu$(EXEEXT): $(lscpu_OBJECTS) $(lscpu_DEPENDENCIES)
+ @rm -f lscpu$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(lscpu_OBJECTS) $(lscpu_LDADD) $(LIBS)
+misc-utils/lslocks.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+lib/at.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp)
+lib/tt.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp)
+lslocks$(EXEEXT): $(lslocks_OBJECTS) $(lslocks_DEPENDENCIES)
+ @rm -f lslocks$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(lslocks_OBJECTS) $(lslocks_LDADD) $(LIBS)
+misc-utils/mcookie.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+lib/md5.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp)
+mcookie$(EXEEXT): $(mcookie_OBJECTS) $(mcookie_DEPENDENCIES)
+ @rm -f mcookie$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(mcookie_OBJECTS) $(mcookie_LDADD) $(LIBS)
+term-utils/mesg.$(OBJEXT): term-utils/$(am__dirstamp) \
+ term-utils/$(DEPDIR)/$(am__dirstamp)
+mesg$(EXEEXT): $(mesg_OBJECTS) $(mesg_DEPENDENCIES)
+ @rm -f mesg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(mesg_OBJECTS) $(mesg_LDADD) $(LIBS)
+disk-utils/mkfs.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+mkfs$(EXEEXT): $(mkfs_OBJECTS) $(mkfs_DEPENDENCIES)
+ @rm -f mkfs$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(mkfs_OBJECTS) $(mkfs_LDADD) $(LIBS)
+disk-utils/mkfs.bfs.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+mkfs.bfs$(EXEEXT): $(mkfs_bfs_OBJECTS) $(mkfs_bfs_DEPENDENCIES)
+ @rm -f mkfs.bfs$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(mkfs_bfs_OBJECTS) $(mkfs_bfs_LDADD) $(LIBS)
+disk-utils/mkfs.cramfs.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+mkfs.cramfs$(EXEEXT): $(mkfs_cramfs_OBJECTS) $(mkfs_cramfs_DEPENDENCIES)
+ @rm -f mkfs.cramfs$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(mkfs_cramfs_OBJECTS) $(mkfs_cramfs_LDADD) $(LIBS)
+disk-utils/mkfs.minix.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+mkfs.minix$(EXEEXT): $(mkfs_minix_OBJECTS) $(mkfs_minix_DEPENDENCIES)
+ @rm -f mkfs.minix$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(mkfs_minix_OBJECTS) $(mkfs_minix_LDADD) $(LIBS)
+disk-utils/mkswap-mkswap.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+mkswap$(EXEEXT): $(mkswap_OBJECTS) $(mkswap_DEPENDENCIES)
+ @rm -f mkswap$(EXEEXT)
+ $(AM_V_CCLD)$(mkswap_LINK) $(mkswap_OBJECTS) $(mkswap_LDADD) $(LIBS)
+text-utils/more.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+more$(EXEEXT): $(more_OBJECTS) $(more_DEPENDENCIES)
+ @rm -f more$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(more_OBJECTS) $(more_LDADD) $(LIBS)
+mount-deprecated/$(am__dirstamp):
+ @$(MKDIR_P) mount-deprecated
+ @: > mount-deprecated/$(am__dirstamp)
+mount-deprecated/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) mount-deprecated/$(DEPDIR)
+ @: > mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount-mount.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount-sundries.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount-devname.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount-fstab.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount-getusername.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount-mount_mntent.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount-fsprobe.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+sys-utils/mount-mount.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES)
+ @rm -f mount$(EXEEXT)
+ $(AM_V_CCLD)$(mount_LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS)
+mount-deprecated/mount_static-mount.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount_static-sundries.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount_static-devname.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount_static-fstab.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount_static-getusername.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount_static-mount_mntent.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/mount_static-fsprobe.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+sys-utils/mount_static-mount.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+mount.static$(EXEEXT): $(mount_static_OBJECTS) $(mount_static_DEPENDENCIES)
+ @rm -f mount.static$(EXEEXT)
+ $(AM_V_CCLD)$(mount_static_LINK) $(mount_static_OBJECTS) $(mount_static_LDADD) $(LIBS)
+sys-utils/mountpoint-mountpoint.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+mountpoint$(EXEEXT): $(mountpoint_OBJECTS) $(mountpoint_DEPENDENCIES)
+ @rm -f mountpoint$(EXEEXT)
+ $(AM_V_CCLD)$(mountpoint_LINK) $(mountpoint_OBJECTS) $(mountpoint_LDADD) $(LIBS)
+misc-utils/namei.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+namei$(EXEEXT): $(namei_OBJECTS) $(namei_DEPENDENCIES)
+ @rm -f namei$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(namei_OBJECTS) $(namei_LDADD) $(LIBS)
+login-utils/newgrp-newgrp.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+newgrp$(EXEEXT): $(newgrp_OBJECTS) $(newgrp_DEPENDENCIES)
+ @rm -f newgrp$(EXEEXT)
+ $(AM_V_CCLD)$(newgrp_LINK) $(newgrp_OBJECTS) $(newgrp_LDADD) $(LIBS)
+disk-utils/partx-partx.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+partx$(EXEEXT): $(partx_OBJECTS) $(partx_DEPENDENCIES)
+ @rm -f partx$(EXEEXT)
+ $(AM_V_CCLD)$(partx_LINK) $(partx_OBJECTS) $(partx_LDADD) $(LIBS)
+text-utils/pg.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+pg$(EXEEXT): $(pg_OBJECTS) $(pg_DEPENDENCIES)
+ @rm -f pg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(pg_OBJECTS) $(pg_LDADD) $(LIBS)
+sys-utils/pivot_root.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+pivot_root$(EXEEXT): $(pivot_root_OBJECTS) $(pivot_root_DEPENDENCIES)
+ @rm -f pivot_root$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(pivot_root_OBJECTS) $(pivot_root_LDADD) $(LIBS)
+sys-utils/prlimit.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+prlimit$(EXEEXT): $(prlimit_OBJECTS) $(prlimit_DEPENDENCIES)
+ @rm -f prlimit$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(prlimit_OBJECTS) $(prlimit_LDADD) $(LIBS)
+disk-utils/raw.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+raw$(EXEEXT): $(raw_OBJECTS) $(raw_DEPENDENCIES)
+ @rm -f raw$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(raw_OBJECTS) $(raw_LDADD) $(LIBS)
+sys-utils/readprofile.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+readprofile$(EXEEXT): $(readprofile_OBJECTS) $(readprofile_DEPENDENCIES)
+ @rm -f readprofile$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(readprofile_OBJECTS) $(readprofile_LDADD) $(LIBS)
+misc-utils/rename.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+rename$(EXEEXT): $(rename_OBJECTS) $(rename_DEPENDENCIES)
+ @rm -f rename$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(rename_OBJECTS) $(rename_LDADD) $(LIBS)
+sys-utils/renice.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+renice$(EXEEXT): $(renice_OBJECTS) $(renice_DEPENDENCIES)
+ @rm -f renice$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(renice_OBJECTS) $(renice_LDADD) $(LIBS)
+disk-utils/resizepart.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+resizepart$(EXEEXT): $(resizepart_OBJECTS) $(resizepart_DEPENDENCIES)
+ @rm -f resizepart$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(resizepart_OBJECTS) $(resizepart_LDADD) $(LIBS)
+text-utils/rev.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+rev$(EXEEXT): $(rev_OBJECTS) $(rev_DEPENDENCIES)
+ @rm -f rev$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(rev_OBJECTS) $(rev_LDADD) $(LIBS)
+sys-utils/rtcwake.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+rtcwake$(EXEEXT): $(rtcwake_OBJECTS) $(rtcwake_DEPENDENCIES)
+ @rm -f rtcwake$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(rtcwake_OBJECTS) $(rtcwake_LDADD) $(LIBS)
+libblkid/samples/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/samples
+ @: > libblkid/samples/$(am__dirstamp)
+libblkid/samples/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) libblkid/samples/$(DEPDIR)
+ @: > libblkid/samples/$(DEPDIR)/$(am__dirstamp)
+libblkid/samples/sample_mkfs-mkfs.$(OBJEXT): \
+ libblkid/samples/$(am__dirstamp) \
+ libblkid/samples/$(DEPDIR)/$(am__dirstamp)
+sample-mkfs$(EXEEXT): $(sample_mkfs_OBJECTS) $(sample_mkfs_DEPENDENCIES)
+ @rm -f sample-mkfs$(EXEEXT)
+ $(AM_V_CCLD)$(sample_mkfs_LINK) $(sample_mkfs_OBJECTS) $(sample_mkfs_LDADD) $(LIBS)
+libblkid/samples/sample_partitions-partitions.$(OBJEXT): \
+ libblkid/samples/$(am__dirstamp) \
+ libblkid/samples/$(DEPDIR)/$(am__dirstamp)
+sample-partitions$(EXEEXT): $(sample_partitions_OBJECTS) $(sample_partitions_DEPENDENCIES)
+ @rm -f sample-partitions$(EXEEXT)
+ $(AM_V_CCLD)$(sample_partitions_LINK) $(sample_partitions_OBJECTS) $(sample_partitions_LDADD) $(LIBS)
+libblkid/samples/sample_superblocks-superblocks.$(OBJEXT): \
+ libblkid/samples/$(am__dirstamp) \
+ libblkid/samples/$(DEPDIR)/$(am__dirstamp)
+sample-superblocks$(EXEEXT): $(sample_superblocks_OBJECTS) $(sample_superblocks_DEPENDENCIES)
+ @rm -f sample-superblocks$(EXEEXT)
+ $(AM_V_CCLD)$(sample_superblocks_LINK) $(sample_superblocks_OBJECTS) $(sample_superblocks_LDADD) $(LIBS)
+libblkid/samples/sample_topology-topology.$(OBJEXT): \
+ libblkid/samples/$(am__dirstamp) \
+ libblkid/samples/$(DEPDIR)/$(am__dirstamp)
+sample-topology$(EXEEXT): $(sample_topology_OBJECTS) $(sample_topology_DEPENDENCIES)
+ @rm -f sample-topology$(EXEEXT)
+ $(AM_V_CCLD)$(sample_topology_LINK) $(sample_topology_OBJECTS) $(sample_topology_LDADD) $(LIBS)
+term-utils/script.$(OBJEXT): term-utils/$(am__dirstamp) \
+ term-utils/$(DEPDIR)/$(am__dirstamp)
+script$(EXEEXT): $(script_OBJECTS) $(script_DEPENDENCIES)
+ @rm -f script$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(script_OBJECTS) $(script_LDADD) $(LIBS)
+term-utils/scriptreplay.$(OBJEXT): term-utils/$(am__dirstamp) \
+ term-utils/$(DEPDIR)/$(am__dirstamp)
+scriptreplay$(EXEEXT): $(scriptreplay_OBJECTS) $(scriptreplay_DEPENDENCIES)
+ @rm -f scriptreplay$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(scriptreplay_OBJECTS) $(scriptreplay_LDADD) $(LIBS)
+sys-utils/setarch.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+setarch$(EXEEXT): $(setarch_OBJECTS) $(setarch_DEPENDENCIES)
+ @rm -f setarch$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(setarch_OBJECTS) $(setarch_LDADD) $(LIBS)
+sys-utils/setsid.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+setsid$(EXEEXT): $(setsid_OBJECTS) $(setsid_DEPENDENCIES)
+ @rm -f setsid$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(setsid_OBJECTS) $(setsid_LDADD) $(LIBS)
+term-utils/setterm.$(OBJEXT): term-utils/$(am__dirstamp) \
+ term-utils/$(DEPDIR)/$(am__dirstamp)
+setterm$(EXEEXT): $(setterm_OBJECTS) $(setterm_DEPENDENCIES)
+ @rm -f setterm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(setterm_OBJECTS) $(setterm_LDADD) $(LIBS)
+fdisks/partname.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/sfdisk.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/gpt.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+fdisks/i386_sys_types.$(OBJEXT): fdisks/$(am__dirstamp) \
+ fdisks/$(DEPDIR)/$(am__dirstamp)
+sfdisk$(EXEEXT): $(sfdisk_OBJECTS) $(sfdisk_DEPENDENCIES)
+ @rm -f sfdisk$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sfdisk_OBJECTS) $(sfdisk_LDADD) $(LIBS)
+sfdisk.static$(EXEEXT): $(sfdisk_static_OBJECTS) $(sfdisk_static_DEPENDENCIES)
+ @rm -f sfdisk.static$(EXEEXT)
+ $(AM_V_CCLD)$(sfdisk_static_LINK) $(sfdisk_static_OBJECTS) $(sfdisk_static_LDADD) $(LIBS)
+login-utils/su-su.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+login-utils/su-logindefs.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+su$(EXEEXT): $(su_OBJECTS) $(su_DEPENDENCIES)
+ @rm -f su$(EXEEXT)
+ $(AM_V_CCLD)$(su_LINK) $(su_OBJECTS) $(su_LDADD) $(LIBS)
+login-utils/sulogin.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+sulogin$(EXEEXT): $(sulogin_OBJECTS) $(sulogin_DEPENDENCIES)
+ @rm -f sulogin$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sulogin_OBJECTS) $(sulogin_LDADD) $(LIBS)
+disk-utils/swaplabel-swaplabel.$(OBJEXT): disk-utils/$(am__dirstamp) \
+ disk-utils/$(DEPDIR)/$(am__dirstamp)
+swaplabel$(EXEEXT): $(swaplabel_OBJECTS) $(swaplabel_DEPENDENCIES)
+ @rm -f swaplabel$(EXEEXT)
+ $(AM_V_CCLD)$(swaplabel_LINK) $(swaplabel_OBJECTS) $(swaplabel_LDADD) $(LIBS)
+sys-utils/swapoff-swapoff.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+sys-utils/swapoff-swapon-common.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+swapoff$(EXEEXT): $(swapoff_OBJECTS) $(swapoff_DEPENDENCIES)
+ @rm -f swapoff$(EXEEXT)
+ $(AM_V_CCLD)$(swapoff_LINK) $(swapoff_OBJECTS) $(swapoff_LDADD) $(LIBS)
+sys-utils/swapon-swapon.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+sys-utils/swapon-swapon-common.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+swapon$(EXEEXT): $(swapon_OBJECTS) $(swapon_DEPENDENCIES)
+ @rm -f swapon$(EXEEXT)
+ $(AM_V_CCLD)$(swapon_LINK) $(swapon_OBJECTS) $(swapon_LDADD) $(LIBS)
+sys-utils/switch_root.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+switch_root$(EXEEXT): $(switch_root_OBJECTS) $(switch_root_DEPENDENCIES)
+ @rm -f switch_root$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(switch_root_OBJECTS) $(switch_root_LDADD) $(LIBS)
+text-utils/tailf.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+tailf$(EXEEXT): $(tailf_OBJECTS) $(tailf_DEPENDENCIES)
+ @rm -f tailf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(tailf_OBJECTS) $(tailf_LDADD) $(LIBS)
+schedutils/taskset.$(OBJEXT): schedutils/$(am__dirstamp) \
+ schedutils/$(DEPDIR)/$(am__dirstamp)
+taskset$(EXEEXT): $(taskset_OBJECTS) $(taskset_DEPENDENCIES)
+ @rm -f taskset$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(taskset_OBJECTS) $(taskset_LDADD) $(LIBS)
+lib/test_at-at.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_at$(EXEEXT): $(test_at_OBJECTS) $(test_at_DEPENDENCIES)
+ @rm -f test_at$(EXEEXT)
+ $(AM_V_CCLD)$(test_at_LINK) $(test_at_OBJECTS) $(test_at_LDADD) $(LIBS)
+lib/test_blkdev-blkdev.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_blkdev$(EXEEXT): $(test_blkdev_OBJECTS) $(test_blkdev_DEPENDENCIES)
+ @rm -f test_blkdev$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkdev_LINK) $(test_blkdev_OBJECTS) $(test_blkdev_LDADD) $(LIBS)
+libblkid/src/test_blkid_cache-cache.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_cache$(EXEEXT): $(test_blkid_cache_OBJECTS) $(test_blkid_cache_DEPENDENCIES)
+ @rm -f test_blkid_cache$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_cache_LINK) $(test_blkid_cache_OBJECTS) $(test_blkid_cache_LDADD) $(LIBS)
+libblkid/src/test_blkid_config-config.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_config$(EXEEXT): $(test_blkid_config_OBJECTS) $(test_blkid_config_DEPENDENCIES)
+ @rm -f test_blkid_config$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_config_LINK) $(test_blkid_config_OBJECTS) $(test_blkid_config_LDADD) $(LIBS)
+libblkid/src/test_blkid_dev-dev.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_dev$(EXEEXT): $(test_blkid_dev_OBJECTS) $(test_blkid_dev_DEPENDENCIES)
+ @rm -f test_blkid_dev$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_dev_LINK) $(test_blkid_dev_OBJECTS) $(test_blkid_dev_LDADD) $(LIBS)
+libblkid/src/test_blkid_devname-devname.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_devname$(EXEEXT): $(test_blkid_devname_OBJECTS) $(test_blkid_devname_DEPENDENCIES)
+ @rm -f test_blkid_devname$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_devname_LINK) $(test_blkid_devname_OBJECTS) $(test_blkid_devname_LDADD) $(LIBS)
+libblkid/src/test_blkid_devno-devno.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_devno$(EXEEXT): $(test_blkid_devno_OBJECTS) $(test_blkid_devno_DEPENDENCIES)
+ @rm -f test_blkid_devno$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_devno_LINK) $(test_blkid_devno_OBJECTS) $(test_blkid_devno_LDADD) $(LIBS)
+libblkid/src/test_blkid_evaluate-evaluate.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_evaluate$(EXEEXT): $(test_blkid_evaluate_OBJECTS) $(test_blkid_evaluate_DEPENDENCIES)
+ @rm -f test_blkid_evaluate$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_evaluate_LINK) $(test_blkid_evaluate_OBJECTS) $(test_blkid_evaluate_LDADD) $(LIBS)
+libblkid/src/test_blkid_read-read.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_read$(EXEEXT): $(test_blkid_read_OBJECTS) $(test_blkid_read_DEPENDENCIES)
+ @rm -f test_blkid_read$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_read_LINK) $(test_blkid_read_OBJECTS) $(test_blkid_read_LDADD) $(LIBS)
+libblkid/src/test_blkid_resolve-resolve.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_resolve$(EXEEXT): $(test_blkid_resolve_OBJECTS) $(test_blkid_resolve_DEPENDENCIES)
+ @rm -f test_blkid_resolve$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_resolve_LINK) $(test_blkid_resolve_OBJECTS) $(test_blkid_resolve_LDADD) $(LIBS)
+libblkid/src/test_blkid_save-save.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_save$(EXEEXT): $(test_blkid_save_OBJECTS) $(test_blkid_save_DEPENDENCIES)
+ @rm -f test_blkid_save$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_save_LINK) $(test_blkid_save_OBJECTS) $(test_blkid_save_LDADD) $(LIBS)
+libblkid/src/test_blkid_tag-tag.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_tag$(EXEEXT): $(test_blkid_tag_OBJECTS) $(test_blkid_tag_DEPENDENCIES)
+ @rm -f test_blkid_tag$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_tag_LINK) $(test_blkid_tag_OBJECTS) $(test_blkid_tag_LDADD) $(LIBS)
+libblkid/src/test_blkid_verify-verify.$(OBJEXT): \
+ libblkid/src/$(am__dirstamp) \
+ libblkid/src/$(DEPDIR)/$(am__dirstamp)
+test_blkid_verify$(EXEEXT): $(test_blkid_verify_OBJECTS) $(test_blkid_verify_DEPENDENCIES)
+ @rm -f test_blkid_verify$(EXEEXT)
+ $(AM_V_CCLD)$(test_blkid_verify_LINK) $(test_blkid_verify_OBJECTS) $(test_blkid_verify_LDADD) $(LIBS)
+tests/helpers/$(am__dirstamp):
+ @$(MKDIR_P) tests/helpers
+ @: > tests/helpers/$(am__dirstamp)
+tests/helpers/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) tests/helpers/$(DEPDIR)
+ @: > tests/helpers/$(DEPDIR)/$(am__dirstamp)
+tests/helpers/test_byteswap.$(OBJEXT): tests/helpers/$(am__dirstamp) \
+ tests/helpers/$(DEPDIR)/$(am__dirstamp)
+test_byteswap$(EXEEXT): $(test_byteswap_OBJECTS) $(test_byteswap_DEPENDENCIES)
+ @rm -f test_byteswap$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_byteswap_OBJECTS) $(test_byteswap_LDADD) $(LIBS)
+lib/test_canonicalize-canonicalize.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_canonicalize$(EXEEXT): $(test_canonicalize_OBJECTS) $(test_canonicalize_DEPENDENCIES)
+ @rm -f test_canonicalize$(EXEEXT)
+ $(AM_V_CCLD)$(test_canonicalize_LINK) $(test_canonicalize_OBJECTS) $(test_canonicalize_LDADD) $(LIBS)
+lib/test_cpuset-cpuset.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_cpuset$(EXEEXT): $(test_cpuset_OBJECTS) $(test_cpuset_DEPENDENCIES)
+ @rm -f test_cpuset$(EXEEXT)
+ $(AM_V_CCLD)$(test_cpuset_LINK) $(test_cpuset_OBJECTS) $(test_cpuset_LDADD) $(LIBS)
+lib/test_fileutils-fileutils.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_fileutils$(EXEEXT): $(test_fileutils_OBJECTS) $(test_fileutils_DEPENDENCIES)
+ @rm -f test_fileutils$(EXEEXT)
+ $(AM_V_CCLD)$(test_fileutils_LINK) $(test_fileutils_OBJECTS) $(test_fileutils_LDADD) $(LIBS)
+login-utils/test_islocal-islocal.$(OBJEXT): \
+ login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+test_islocal$(EXEEXT): $(test_islocal_OBJECTS) $(test_islocal_DEPENDENCIES)
+ @rm -f test_islocal$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_islocal_OBJECTS) $(test_islocal_LDADD) $(LIBS)
+lib/test_ismounted-ismounted.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_ismounted$(EXEEXT): $(test_ismounted_OBJECTS) $(test_ismounted_DEPENDENCIES)
+ @rm -f test_ismounted$(EXEEXT)
+ $(AM_V_CCLD)$(test_ismounted_LINK) $(test_ismounted_OBJECTS) $(test_ismounted_LDADD) $(LIBS)
+login-utils/test_logindefs-logindefs.$(OBJEXT): \
+ login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+test_logindefs$(EXEEXT): $(test_logindefs_OBJECTS) $(test_logindefs_DEPENDENCIES)
+ @rm -f test_logindefs$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_logindefs_OBJECTS) $(test_logindefs_LDADD) $(LIBS)
+lib/test_loopdev-loopdev.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_loopdev$(EXEEXT): $(test_loopdev_OBJECTS) $(test_loopdev_DEPENDENCIES)
+ @rm -f test_loopdev$(EXEEXT)
+ $(AM_V_CCLD)$(test_loopdev_LINK) $(test_loopdev_OBJECTS) $(test_loopdev_LDADD) $(LIBS)
+lib/test_mangle-mangle.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_mangle$(EXEEXT): $(test_mangle_OBJECTS) $(test_mangle_DEPENDENCIES)
+ @rm -f test_mangle$(EXEEXT)
+ $(AM_V_CCLD)$(test_mangle_LINK) $(test_mangle_OBJECTS) $(test_mangle_LDADD) $(LIBS)
+tests/helpers/test_md5.$(OBJEXT): tests/helpers/$(am__dirstamp) \
+ tests/helpers/$(DEPDIR)/$(am__dirstamp)
+test_md5$(EXEEXT): $(test_md5_OBJECTS) $(test_md5_DEPENDENCIES)
+ @rm -f test_md5$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_md5_OBJECTS) $(test_md5_LDADD) $(LIBS)
+libmount/src/test_mount_cache-cache.$(OBJEXT): \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+test_mount_cache$(EXEEXT): $(test_mount_cache_OBJECTS) $(test_mount_cache_DEPENDENCIES)
+ @rm -f test_mount_cache$(EXEEXT)
+ $(AM_V_CCLD)$(test_mount_cache_LINK) $(test_mount_cache_OBJECTS) $(test_mount_cache_LDADD) $(LIBS)
+libmount/src/test_mount_context-context.$(OBJEXT): \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+test_mount_context$(EXEEXT): $(test_mount_context_OBJECTS) $(test_mount_context_DEPENDENCIES)
+ @rm -f test_mount_context$(EXEEXT)
+ $(AM_V_CCLD)$(test_mount_context_LINK) $(test_mount_context_OBJECTS) $(test_mount_context_LDADD) $(LIBS)
+libmount/src/test_mount_lock-lock.$(OBJEXT): \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+test_mount_lock$(EXEEXT): $(test_mount_lock_OBJECTS) $(test_mount_lock_DEPENDENCIES)
+ @rm -f test_mount_lock$(EXEEXT)
+ $(AM_V_CCLD)$(test_mount_lock_LINK) $(test_mount_lock_OBJECTS) $(test_mount_lock_LDADD) $(LIBS)
+libmount/src/test_mount_optstr-optstr.$(OBJEXT): \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+test_mount_optstr$(EXEEXT): $(test_mount_optstr_OBJECTS) $(test_mount_optstr_DEPENDENCIES)
+ @rm -f test_mount_optstr$(EXEEXT)
+ $(AM_V_CCLD)$(test_mount_optstr_LINK) $(test_mount_optstr_OBJECTS) $(test_mount_optstr_LDADD) $(LIBS)
+libmount/src/test_mount_tab-tab.$(OBJEXT): \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+test_mount_tab$(EXEEXT): $(test_mount_tab_OBJECTS) $(test_mount_tab_DEPENDENCIES)
+ @rm -f test_mount_tab$(EXEEXT)
+ $(AM_V_CCLD)$(test_mount_tab_LINK) $(test_mount_tab_OBJECTS) $(test_mount_tab_LDADD) $(LIBS)
+libmount/src/test_mount_tab_diff-tab_diff.$(OBJEXT): \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+test_mount_tab_diff$(EXEEXT): $(test_mount_tab_diff_OBJECTS) $(test_mount_tab_diff_DEPENDENCIES)
+ @rm -f test_mount_tab_diff$(EXEEXT)
+ $(AM_V_CCLD)$(test_mount_tab_diff_LINK) $(test_mount_tab_diff_OBJECTS) $(test_mount_tab_diff_LDADD) $(LIBS)
+libmount/src/test_mount_tab_update-tab_update.$(OBJEXT): \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+test_mount_tab_update$(EXEEXT): $(test_mount_tab_update_OBJECTS) $(test_mount_tab_update_DEPENDENCIES)
+ @rm -f test_mount_tab_update$(EXEEXT)
+ $(AM_V_CCLD)$(test_mount_tab_update_LINK) $(test_mount_tab_update_OBJECTS) $(test_mount_tab_update_LDADD) $(LIBS)
+libmount/src/test_mount_utils-utils.$(OBJEXT): \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+test_mount_utils$(EXEEXT): $(test_mount_utils_OBJECTS) $(test_mount_utils_DEPENDENCIES)
+ @rm -f test_mount_utils$(EXEEXT)
+ $(AM_V_CCLD)$(test_mount_utils_LINK) $(test_mount_utils_OBJECTS) $(test_mount_utils_LDADD) $(LIBS)
+libmount/src/test_mount_version-version.$(OBJEXT): \
+ libmount/src/$(am__dirstamp) \
+ libmount/src/$(DEPDIR)/$(am__dirstamp)
+test_mount_version$(EXEEXT): $(test_mount_version_OBJECTS) $(test_mount_version_DEPENDENCIES)
+ @rm -f test_mount_version$(EXEEXT)
+ $(AM_V_CCLD)$(test_mount_version_LINK) $(test_mount_version_OBJECTS) $(test_mount_version_LDADD) $(LIBS)
+lib/test_pager-pager.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_pager$(EXEEXT): $(test_pager_OBJECTS) $(test_pager_DEPENDENCIES)
+ @rm -f test_pager$(EXEEXT)
+ $(AM_V_CCLD)$(test_pager_LINK) $(test_pager_OBJECTS) $(test_pager_LDADD) $(LIBS)
+tests/helpers/test_pathnames.$(OBJEXT): tests/helpers/$(am__dirstamp) \
+ tests/helpers/$(DEPDIR)/$(am__dirstamp)
+test_pathnames$(EXEEXT): $(test_pathnames_OBJECTS) $(test_pathnames_DEPENDENCIES)
+ @rm -f test_pathnames$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pathnames_OBJECTS) $(test_pathnames_LDADD) $(LIBS)
+lib/test_procutils-procutils.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_procutils$(EXEEXT): $(test_procutils_OBJECTS) $(test_procutils_DEPENDENCIES)
+ @rm -f test_procutils$(EXEEXT)
+ $(AM_V_CCLD)$(test_procutils_LINK) $(test_procutils_OBJECTS) $(test_procutils_LDADD) $(LIBS)
+lib/test_randutils-randutils.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_randutils$(EXEEXT): $(test_randutils_OBJECTS) $(test_randutils_DEPENDENCIES)
+ @rm -f test_randutils$(EXEEXT)
+ $(AM_V_CCLD)$(test_randutils_LINK) $(test_randutils_OBJECTS) $(test_randutils_LDADD) $(LIBS)
+lib/test_strutils-strutils.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_strutils$(EXEEXT): $(test_strutils_OBJECTS) $(test_strutils_DEPENDENCIES)
+ @rm -f test_strutils$(EXEEXT)
+ $(AM_V_CCLD)$(test_strutils_LINK) $(test_strutils_OBJECTS) $(test_strutils_LDADD) $(LIBS)
+lib/test_sysfs-sysfs.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_sysfs$(EXEEXT): $(test_sysfs_OBJECTS) $(test_sysfs_DEPENDENCIES)
+ @rm -f test_sysfs$(EXEEXT)
+ $(AM_V_CCLD)$(test_sysfs_LINK) $(test_sysfs_OBJECTS) $(test_sysfs_LDADD) $(LIBS)
+tests/helpers/test_sysinfo.$(OBJEXT): tests/helpers/$(am__dirstamp) \
+ tests/helpers/$(DEPDIR)/$(am__dirstamp)
+test_sysinfo$(EXEEXT): $(test_sysinfo_OBJECTS) $(test_sysinfo_DEPENDENCIES)
+ @rm -f test_sysinfo$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_sysinfo_OBJECTS) $(test_sysinfo_LDADD) $(LIBS)
+lib/test_tt-tt.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_tt$(EXEEXT): $(test_tt_OBJECTS) $(test_tt_DEPENDENCIES)
+ @rm -f test_tt$(EXEEXT)
+ $(AM_V_CCLD)$(test_tt_LINK) $(test_tt_OBJECTS) $(test_tt_LDADD) $(LIBS)
+libuuid/src/test_uuid-test_uuid.$(OBJEXT): \
+ libuuid/src/$(am__dirstamp) \
+ libuuid/src/$(DEPDIR)/$(am__dirstamp)
+test_uuid$(EXEEXT): $(test_uuid_OBJECTS) $(test_uuid_DEPENDENCIES)
+ @rm -f test_uuid$(EXEEXT)
+ $(AM_V_CCLD)$(test_uuid_LINK) $(test_uuid_OBJECTS) $(test_uuid_LDADD) $(LIBS)
+lib/test_wholedisk-wholedisk.$(OBJEXT): lib/$(am__dirstamp) \
+ lib/$(DEPDIR)/$(am__dirstamp)
+test_wholedisk$(EXEEXT): $(test_wholedisk_OBJECTS) $(test_wholedisk_DEPENDENCIES)
+ @rm -f test_wholedisk$(EXEEXT)
+ $(AM_V_CCLD)$(test_wholedisk_LINK) $(test_wholedisk_OBJECTS) $(test_wholedisk_LDADD) $(LIBS)
+sys-utils/tunelp.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+tunelp$(EXEEXT): $(tunelp_OBJECTS) $(tunelp_DEPENDENCIES)
+ @rm -f tunelp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(tunelp_OBJECTS) $(tunelp_LDADD) $(LIBS)
+text-utils/ul.$(OBJEXT): text-utils/$(am__dirstamp) \
+ text-utils/$(DEPDIR)/$(am__dirstamp)
+ul$(EXEEXT): $(ul_OBJECTS) $(ul_DEPENDENCIES)
+ @rm -f ul$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ul_OBJECTS) $(ul_LDADD) $(LIBS)
+mount-deprecated/umount-umount.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount-sundries.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount-devname.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount-fstab.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount-getusername.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount-mount_mntent.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount-fsprobe.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+sys-utils/umount-umount.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+umount$(EXEEXT): $(umount_OBJECTS) $(umount_DEPENDENCIES)
+ @rm -f umount$(EXEEXT)
+ $(AM_V_CCLD)$(umount_LINK) $(umount_OBJECTS) $(umount_LDADD) $(LIBS)
+mount-deprecated/umount_static-umount.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount_static-sundries.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount_static-devname.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount_static-fstab.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount_static-getusername.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount_static-mount_mntent.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+mount-deprecated/umount_static-fsprobe.$(OBJEXT): \
+ mount-deprecated/$(am__dirstamp) \
+ mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+sys-utils/umount_static-umount.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+umount.static$(EXEEXT): $(umount_static_OBJECTS) $(umount_static_DEPENDENCIES)
+ @rm -f umount.static$(EXEEXT)
+ $(AM_V_CCLD)$(umount_static_LINK) $(umount_static_OBJECTS) $(umount_static_LDADD) $(LIBS)
+sys-utils/unshare.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+unshare$(EXEEXT): $(unshare_OBJECTS) $(unshare_DEPENDENCIES)
+ @rm -f unshare$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(unshare_OBJECTS) $(unshare_LDADD) $(LIBS)
+login-utils/utmpdump.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+utmpdump$(EXEEXT): $(utmpdump_OBJECTS) $(utmpdump_DEPENDENCIES)
+ @rm -f utmpdump$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(utmpdump_OBJECTS) $(utmpdump_LDADD) $(LIBS)
+misc-utils/uuidd-uuidd.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+misc-utils/uuidd-sd-daemon.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+uuidd$(EXEEXT): $(uuidd_OBJECTS) $(uuidd_DEPENDENCIES)
+ @rm -f uuidd$(EXEEXT)
+ $(AM_V_CCLD)$(uuidd_LINK) $(uuidd_OBJECTS) $(uuidd_LDADD) $(LIBS)
+misc-utils/uuidgen-uuidgen.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+uuidgen$(EXEEXT): $(uuidgen_OBJECTS) $(uuidgen_DEPENDENCIES)
+ @rm -f uuidgen$(EXEEXT)
+ $(AM_V_CCLD)$(uuidgen_LINK) $(uuidgen_OBJECTS) $(uuidgen_LDADD) $(LIBS)
+login-utils/vipw.$(OBJEXT): login-utils/$(am__dirstamp) \
+ login-utils/$(DEPDIR)/$(am__dirstamp)
+vipw$(EXEEXT): $(vipw_OBJECTS) $(vipw_DEPENDENCIES)
+ @rm -f vipw$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(vipw_OBJECTS) $(vipw_LDADD) $(LIBS)
+term-utils/wall-wall.$(OBJEXT): term-utils/$(am__dirstamp) \
+ term-utils/$(DEPDIR)/$(am__dirstamp)
+term-utils/wall-ttymsg.$(OBJEXT): term-utils/$(am__dirstamp) \
+ term-utils/$(DEPDIR)/$(am__dirstamp)
+wall$(EXEEXT): $(wall_OBJECTS) $(wall_DEPENDENCIES)
+ @rm -f wall$(EXEEXT)
+ $(AM_V_CCLD)$(wall_LINK) $(wall_OBJECTS) $(wall_LDADD) $(LIBS)
+sys-utils/wdctl.$(OBJEXT): sys-utils/$(am__dirstamp) \
+ sys-utils/$(DEPDIR)/$(am__dirstamp)
+wdctl$(EXEEXT): $(wdctl_OBJECTS) $(wdctl_DEPENDENCIES)
+ @rm -f wdctl$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(wdctl_OBJECTS) $(wdctl_LDADD) $(LIBS)
+misc-utils/whereis.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+whereis$(EXEEXT): $(whereis_OBJECTS) $(whereis_DEPENDENCIES)
+ @rm -f whereis$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(whereis_OBJECTS) $(whereis_LDADD) $(LIBS)
+misc-utils/wipefs-wipefs.$(OBJEXT): misc-utils/$(am__dirstamp) \
+ misc-utils/$(DEPDIR)/$(am__dirstamp)
+wipefs$(EXEEXT): $(wipefs_OBJECTS) $(wipefs_DEPENDENCIES)
+ @rm -f wipefs$(EXEEXT)
+ $(AM_V_CCLD)$(wipefs_LINK) $(wipefs_OBJECTS) $(wipefs_LDADD) $(LIBS)
+term-utils/write-write.$(OBJEXT): term-utils/$(am__dirstamp) \
+ term-utils/$(DEPDIR)/$(am__dirstamp)
+write$(EXEEXT): $(write_OBJECTS) $(write_DEPENDENCIES)
+ @rm -f write$(EXEEXT)
+ $(AM_V_CCLD)$(write_LINK) $(write_OBJECTS) $(write_LDADD) $(LIBS)
+install-dist_getoptexampleSCRIPTS: $(dist_getoptexample_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ test -z "$(getoptexampledir)" || $(MKDIR_P) "$(DESTDIR)$(getoptexampledir)"
+ @list='$(dist_getoptexample_SCRIPTS)'; test -n "$(getoptexampledir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(getoptexampledir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(getoptexampledir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-dist_getoptexampleSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_getoptexample_SCRIPTS)'; test -n "$(getoptexampledir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(getoptexampledir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(getoptexampledir)" && rm -f $$files
+install-dist_usrbin_execSCRIPTS: $(dist_usrbin_exec_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ test -z "$(usrbin_execdir)" || $(MKDIR_P) "$(DESTDIR)$(usrbin_execdir)"
+ @list='$(dist_usrbin_exec_SCRIPTS)'; test -n "$(usrbin_execdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(usrbin_execdir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(usrbin_execdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-dist_usrbin_execSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_usrbin_exec_SCRIPTS)'; test -n "$(usrbin_execdir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(usrbin_execdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(usrbin_execdir)" && rm -f $$files
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f disk-utils/addpart.$(OBJEXT)
+ -rm -f disk-utils/blockdev.$(OBJEXT)
+ -rm -f disk-utils/cramfs_common.$(OBJEXT)
+ -rm -f disk-utils/delpart.$(OBJEXT)
+ -rm -f disk-utils/elvtune.$(OBJEXT)
+ -rm -f disk-utils/fdformat.$(OBJEXT)
+ -rm -f disk-utils/fsck-fsck.$(OBJEXT)
+ -rm -f disk-utils/fsck.cramfs.$(OBJEXT)
+ -rm -f disk-utils/fsck.minix.$(OBJEXT)
+ -rm -f disk-utils/isosize.$(OBJEXT)
+ -rm -f disk-utils/mkfs.$(OBJEXT)
+ -rm -f disk-utils/mkfs.bfs.$(OBJEXT)
+ -rm -f disk-utils/mkfs.cramfs.$(OBJEXT)
+ -rm -f disk-utils/mkfs.minix.$(OBJEXT)
+ -rm -f disk-utils/mkswap-mkswap.$(OBJEXT)
+ -rm -f disk-utils/partx-partx.$(OBJEXT)
+ -rm -f disk-utils/raw.$(OBJEXT)
+ -rm -f disk-utils/resizepart.$(OBJEXT)
+ -rm -f disk-utils/swaplabel-swaplabel.$(OBJEXT)
+ -rm -f fdisks/cfdisk-cfdisk.$(OBJEXT)
+ -rm -f fdisks/cfdisk-gpt.$(OBJEXT)
+ -rm -f fdisks/cfdisk-i386_sys_types.$(OBJEXT)
+ -rm -f fdisks/fdisk-fdisk.$(OBJEXT)
+ -rm -f fdisks/fdisk-fdiskaixlabel.$(OBJEXT)
+ -rm -f fdisks/fdisk-fdiskbsdlabel.$(OBJEXT)
+ -rm -f fdisks/fdisk-fdiskdoslabel.$(OBJEXT)
+ -rm -f fdisks/fdisk-fdiskmaclabel.$(OBJEXT)
+ -rm -f fdisks/fdisk-fdisksgilabel.$(OBJEXT)
+ -rm -f fdisks/fdisk-fdisksunlabel.$(OBJEXT)
+ -rm -f fdisks/fdisk-gpt.$(OBJEXT)
+ -rm -f fdisks/fdisk-i386_sys_types.$(OBJEXT)
+ -rm -f fdisks/fdisk-partname.$(OBJEXT)
+ -rm -f fdisks/fdisk-utils.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-fdisk.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-fdiskaixlabel.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-fdiskbsdlabel.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-fdiskdoslabel.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-fdiskmaclabel.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-fdisksgilabel.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-fdisksunlabel.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-gpt.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-i386_sys_types.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-partname.$(OBJEXT)
+ -rm -f fdisks/fdisk_static-utils.$(OBJEXT)
+ -rm -f fdisks/gpt.$(OBJEXT)
+ -rm -f fdisks/i386_sys_types.$(OBJEXT)
+ -rm -f fdisks/partname.$(OBJEXT)
+ -rm -f fdisks/sfdisk.$(OBJEXT)
+ -rm -f lib/at.$(OBJEXT)
+ -rm -f lib/ismounted.$(OBJEXT)
+ -rm -f lib/langinfo.$(OBJEXT)
+ -rm -f lib/libcommon_la-at.$(OBJEXT)
+ -rm -f lib/libcommon_la-at.lo
+ -rm -f lib/libcommon_la-blkdev.$(OBJEXT)
+ -rm -f lib/libcommon_la-blkdev.lo
+ -rm -f lib/libcommon_la-canonicalize.$(OBJEXT)
+ -rm -f lib/libcommon_la-canonicalize.lo
+ -rm -f lib/libcommon_la-cpuset.$(OBJEXT)
+ -rm -f lib/libcommon_la-cpuset.lo
+ -rm -f lib/libcommon_la-crc32.$(OBJEXT)
+ -rm -f lib/libcommon_la-crc32.lo
+ -rm -f lib/libcommon_la-env.$(OBJEXT)
+ -rm -f lib/libcommon_la-env.lo
+ -rm -f lib/libcommon_la-fileutils.$(OBJEXT)
+ -rm -f lib/libcommon_la-fileutils.lo
+ -rm -f lib/libcommon_la-ismounted.$(OBJEXT)
+ -rm -f lib/libcommon_la-ismounted.lo
+ -rm -f lib/libcommon_la-langinfo.$(OBJEXT)
+ -rm -f lib/libcommon_la-langinfo.lo
+ -rm -f lib/libcommon_la-linux_version.$(OBJEXT)
+ -rm -f lib/libcommon_la-linux_version.lo
+ -rm -f lib/libcommon_la-loopdev.$(OBJEXT)
+ -rm -f lib/libcommon_la-loopdev.lo
+ -rm -f lib/libcommon_la-mangle.$(OBJEXT)
+ -rm -f lib/libcommon_la-mangle.lo
+ -rm -f lib/libcommon_la-match.$(OBJEXT)
+ -rm -f lib/libcommon_la-match.lo
+ -rm -f lib/libcommon_la-mbsalign.$(OBJEXT)
+ -rm -f lib/libcommon_la-mbsalign.lo
+ -rm -f lib/libcommon_la-md5.$(OBJEXT)
+ -rm -f lib/libcommon_la-md5.lo
+ -rm -f lib/libcommon_la-pager.$(OBJEXT)
+ -rm -f lib/libcommon_la-pager.lo
+ -rm -f lib/libcommon_la-path.$(OBJEXT)
+ -rm -f lib/libcommon_la-path.lo
+ -rm -f lib/libcommon_la-procutils.$(OBJEXT)
+ -rm -f lib/libcommon_la-procutils.lo
+ -rm -f lib/libcommon_la-randutils.$(OBJEXT)
+ -rm -f lib/libcommon_la-randutils.lo
+ -rm -f lib/libcommon_la-setproctitle.$(OBJEXT)
+ -rm -f lib/libcommon_la-setproctitle.lo
+ -rm -f lib/libcommon_la-strutils.$(OBJEXT)
+ -rm -f lib/libcommon_la-strutils.lo
+ -rm -f lib/libcommon_la-sysfs.$(OBJEXT)
+ -rm -f lib/libcommon_la-sysfs.lo
+ -rm -f lib/libcommon_la-tt.$(OBJEXT)
+ -rm -f lib/libcommon_la-tt.lo
+ -rm -f lib/libcommon_la-wholedisk.$(OBJEXT)
+ -rm -f lib/libcommon_la-wholedisk.lo
+ -rm -f lib/libcommon_la-xgetpass.$(OBJEXT)
+ -rm -f lib/libcommon_la-xgetpass.lo
+ -rm -f lib/libuuid_la-randutils.$(OBJEXT)
+ -rm -f lib/libuuid_la-randutils.lo
+ -rm -f lib/mbsalign.$(OBJEXT)
+ -rm -f lib/md5.$(OBJEXT)
+ -rm -f lib/strutils.$(OBJEXT)
+ -rm -f lib/test_at-at.$(OBJEXT)
+ -rm -f lib/test_blkdev-blkdev.$(OBJEXT)
+ -rm -f lib/test_canonicalize-canonicalize.$(OBJEXT)
+ -rm -f lib/test_cpuset-cpuset.$(OBJEXT)
+ -rm -f lib/test_fileutils-fileutils.$(OBJEXT)
+ -rm -f lib/test_ismounted-ismounted.$(OBJEXT)
+ -rm -f lib/test_loopdev-loopdev.$(OBJEXT)
+ -rm -f lib/test_mangle-mangle.$(OBJEXT)
+ -rm -f lib/test_pager-pager.$(OBJEXT)
+ -rm -f lib/test_procutils-procutils.$(OBJEXT)
+ -rm -f lib/test_randutils-randutils.$(OBJEXT)
+ -rm -f lib/test_strutils-strutils.$(OBJEXT)
+ -rm -f lib/test_sysfs-sysfs.$(OBJEXT)
+ -rm -f lib/test_tt-tt.$(OBJEXT)
+ -rm -f lib/test_wholedisk-wholedisk.$(OBJEXT)
+ -rm -f lib/tt.$(OBJEXT)
+ -rm -f libblkid/samples/sample_mkfs-mkfs.$(OBJEXT)
+ -rm -f libblkid/samples/sample_partitions-partitions.$(OBJEXT)
+ -rm -f libblkid/samples/sample_superblocks-superblocks.$(OBJEXT)
+ -rm -f libblkid/samples/sample_topology-topology.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-cache.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-cache.lo
+ -rm -f libblkid/src/libblkid_la-config.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-config.lo
+ -rm -f libblkid/src/libblkid_la-dev.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-dev.lo
+ -rm -f libblkid/src/libblkid_la-devname.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-devname.lo
+ -rm -f libblkid/src/libblkid_la-devno.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-devno.lo
+ -rm -f libblkid/src/libblkid_la-encode.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-encode.lo
+ -rm -f libblkid/src/libblkid_la-evaluate.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-evaluate.lo
+ -rm -f libblkid/src/libblkid_la-getsize.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-getsize.lo
+ -rm -f libblkid/src/libblkid_la-llseek.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-llseek.lo
+ -rm -f libblkid/src/libblkid_la-probe.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-probe.lo
+ -rm -f libblkid/src/libblkid_la-read.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-read.lo
+ -rm -f libblkid/src/libblkid_la-resolve.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-resolve.lo
+ -rm -f libblkid/src/libblkid_la-save.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-save.lo
+ -rm -f libblkid/src/libblkid_la-tag.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-tag.lo
+ -rm -f libblkid/src/libblkid_la-verify.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-verify.lo
+ -rm -f libblkid/src/libblkid_la-version.$(OBJEXT)
+ -rm -f libblkid/src/libblkid_la-version.lo
+ -rm -f libblkid/src/partitions/libblkid_la-aix.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-aix.lo
+ -rm -f libblkid/src/partitions/libblkid_la-bsd.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-bsd.lo
+ -rm -f libblkid/src/partitions/libblkid_la-dos.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-dos.lo
+ -rm -f libblkid/src/partitions/libblkid_la-gpt.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-gpt.lo
+ -rm -f libblkid/src/partitions/libblkid_la-mac.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-mac.lo
+ -rm -f libblkid/src/partitions/libblkid_la-minix.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-minix.lo
+ -rm -f libblkid/src/partitions/libblkid_la-partitions.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-partitions.lo
+ -rm -f libblkid/src/partitions/libblkid_la-sgi.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-sgi.lo
+ -rm -f libblkid/src/partitions/libblkid_la-solaris_x86.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-solaris_x86.lo
+ -rm -f libblkid/src/partitions/libblkid_la-sun.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-sun.lo
+ -rm -f libblkid/src/partitions/libblkid_la-ultrix.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-ultrix.lo
+ -rm -f libblkid/src/partitions/libblkid_la-unixware.$(OBJEXT)
+ -rm -f libblkid/src/partitions/libblkid_la-unixware.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-adaptec_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-adaptec_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-befs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-befs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-bfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-bfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-btrfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-btrfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-cramfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-cramfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-ddf_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-ddf_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-drbd.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-drbd.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-drbdproxy_datalog.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-drbdproxy_datalog.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-exfat.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-exfat.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-ext.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-ext.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-gfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-gfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-hfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-hfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-highpoint_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-highpoint_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-hpfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-hpfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-iso9660.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-iso9660.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-isw_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-isw_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-jfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-jfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-jmicron_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-jmicron_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-linux_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-linux_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-lsi_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-lsi_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-luks.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-luks.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-lvm.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-lvm.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-minix.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-minix.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-netware.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-netware.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-nilfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-nilfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-ntfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-ntfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-nvidia_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-nvidia_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-ocfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-ocfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-promise_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-promise_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-reiserfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-reiserfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-romfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-romfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-silicon_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-silicon_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-squashfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-squashfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-superblocks.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-superblocks.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-swap.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-swap.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-sysv.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-sysv.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-ubifs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-ubifs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-udf.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-udf.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-ufs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-ufs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-vfat.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-vfat.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-via_raid.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-via_raid.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-vmfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-vmfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-vxfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-vxfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-xfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-xfs.lo
+ -rm -f libblkid/src/superblocks/libblkid_la-zfs.$(OBJEXT)
+ -rm -f libblkid/src/superblocks/libblkid_la-zfs.lo
+ -rm -f libblkid/src/test_blkid_cache-cache.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_config-config.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_dev-dev.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_devname-devname.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_devno-devno.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_evaluate-evaluate.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_read-read.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_resolve-resolve.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_save-save.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_tag-tag.$(OBJEXT)
+ -rm -f libblkid/src/test_blkid_verify-verify.$(OBJEXT)
+ -rm -f libblkid/src/topology/libblkid_la-dm.$(OBJEXT)
+ -rm -f libblkid/src/topology/libblkid_la-dm.lo
+ -rm -f libblkid/src/topology/libblkid_la-evms.$(OBJEXT)
+ -rm -f libblkid/src/topology/libblkid_la-evms.lo
+ -rm -f libblkid/src/topology/libblkid_la-ioctl.$(OBJEXT)
+ -rm -f libblkid/src/topology/libblkid_la-ioctl.lo
+ -rm -f libblkid/src/topology/libblkid_la-lvm.$(OBJEXT)
+ -rm -f libblkid/src/topology/libblkid_la-lvm.lo
+ -rm -f libblkid/src/topology/libblkid_la-md.$(OBJEXT)
+ -rm -f libblkid/src/topology/libblkid_la-md.lo
+ -rm -f libblkid/src/topology/libblkid_la-sysfs.$(OBJEXT)
+ -rm -f libblkid/src/topology/libblkid_la-sysfs.lo
+ -rm -f libblkid/src/topology/libblkid_la-topology.$(OBJEXT)
+ -rm -f libblkid/src/topology/libblkid_la-topology.lo
+ -rm -f libmount/src/libmount_la-cache.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-cache.lo
+ -rm -f libmount/src/libmount_la-context.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-context.lo
+ -rm -f libmount/src/libmount_la-context_loopdev.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-context_loopdev.lo
+ -rm -f libmount/src/libmount_la-context_mount.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-context_mount.lo
+ -rm -f libmount/src/libmount_la-context_umount.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-context_umount.lo
+ -rm -f libmount/src/libmount_la-fs.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-fs.lo
+ -rm -f libmount/src/libmount_la-init.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-init.lo
+ -rm -f libmount/src/libmount_la-iter.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-iter.lo
+ -rm -f libmount/src/libmount_la-lock.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-lock.lo
+ -rm -f libmount/src/libmount_la-optmap.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-optmap.lo
+ -rm -f libmount/src/libmount_la-optstr.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-optstr.lo
+ -rm -f libmount/src/libmount_la-tab.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-tab.lo
+ -rm -f libmount/src/libmount_la-tab_diff.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-tab_diff.lo
+ -rm -f libmount/src/libmount_la-tab_parse.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-tab_parse.lo
+ -rm -f libmount/src/libmount_la-tab_update.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-tab_update.lo
+ -rm -f libmount/src/libmount_la-test.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-test.lo
+ -rm -f libmount/src/libmount_la-utils.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-utils.lo
+ -rm -f libmount/src/libmount_la-version.$(OBJEXT)
+ -rm -f libmount/src/libmount_la-version.lo
+ -rm -f libmount/src/test_mount_cache-cache.$(OBJEXT)
+ -rm -f libmount/src/test_mount_context-context.$(OBJEXT)
+ -rm -f libmount/src/test_mount_lock-lock.$(OBJEXT)
+ -rm -f libmount/src/test_mount_optstr-optstr.$(OBJEXT)
+ -rm -f libmount/src/test_mount_tab-tab.$(OBJEXT)
+ -rm -f libmount/src/test_mount_tab_diff-tab_diff.$(OBJEXT)
+ -rm -f libmount/src/test_mount_tab_update-tab_update.$(OBJEXT)
+ -rm -f libmount/src/test_mount_utils-utils.$(OBJEXT)
+ -rm -f libmount/src/test_mount_version-version.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-clear.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-clear.lo
+ -rm -f libuuid/src/libuuid_la-compare.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-compare.lo
+ -rm -f libuuid/src/libuuid_la-copy.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-copy.lo
+ -rm -f libuuid/src/libuuid_la-gen_uuid.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-gen_uuid.lo
+ -rm -f libuuid/src/libuuid_la-isnull.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-isnull.lo
+ -rm -f libuuid/src/libuuid_la-pack.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-pack.lo
+ -rm -f libuuid/src/libuuid_la-parse.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-parse.lo
+ -rm -f libuuid/src/libuuid_la-unpack.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-unpack.lo
+ -rm -f libuuid/src/libuuid_la-unparse.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-unparse.lo
+ -rm -f libuuid/src/libuuid_la-uuid_time.$(OBJEXT)
+ -rm -f libuuid/src/libuuid_la-uuid_time.lo
+ -rm -f libuuid/src/test_uuid-test_uuid.$(OBJEXT)
+ -rm -f login-utils/chfn-chfn.$(OBJEXT)
+ -rm -f login-utils/chfn-islocal.$(OBJEXT)
+ -rm -f login-utils/chfn-selinux_utils.$(OBJEXT)
+ -rm -f login-utils/chfn-setpwnam.$(OBJEXT)
+ -rm -f login-utils/chsh-chsh.$(OBJEXT)
+ -rm -f login-utils/chsh-islocal.$(OBJEXT)
+ -rm -f login-utils/chsh-selinux_utils.$(OBJEXT)
+ -rm -f login-utils/chsh-setpwnam.$(OBJEXT)
+ -rm -f login-utils/last.$(OBJEXT)
+ -rm -f login-utils/login.$(OBJEXT)
+ -rm -f login-utils/logindefs.$(OBJEXT)
+ -rm -f login-utils/newgrp-newgrp.$(OBJEXT)
+ -rm -f login-utils/su-logindefs.$(OBJEXT)
+ -rm -f login-utils/su-su.$(OBJEXT)
+ -rm -f login-utils/sulogin.$(OBJEXT)
+ -rm -f login-utils/test_islocal-islocal.$(OBJEXT)
+ -rm -f login-utils/test_logindefs-logindefs.$(OBJEXT)
+ -rm -f login-utils/utmpdump.$(OBJEXT)
+ -rm -f login-utils/vipw.$(OBJEXT)
+ -rm -f misc-utils/blkid-blkid.$(OBJEXT)
+ -rm -f misc-utils/blkid_static-blkid.$(OBJEXT)
+ -rm -f misc-utils/cal.$(OBJEXT)
+ -rm -f misc-utils/ddate.$(OBJEXT)
+ -rm -f misc-utils/findfs-findfs.$(OBJEXT)
+ -rm -f misc-utils/findmnt-findmnt.$(OBJEXT)
+ -rm -f misc-utils/getopt.$(OBJEXT)
+ -rm -f misc-utils/kill.$(OBJEXT)
+ -rm -f misc-utils/logger.$(OBJEXT)
+ -rm -f misc-utils/look.$(OBJEXT)
+ -rm -f misc-utils/lsblk-lsblk.$(OBJEXT)
+ -rm -f misc-utils/lslocks.$(OBJEXT)
+ -rm -f misc-utils/mcookie.$(OBJEXT)
+ -rm -f misc-utils/namei.$(OBJEXT)
+ -rm -f misc-utils/procs.$(OBJEXT)
+ -rm -f misc-utils/rename.$(OBJEXT)
+ -rm -f misc-utils/uuidd-sd-daemon.$(OBJEXT)
+ -rm -f misc-utils/uuidd-uuidd.$(OBJEXT)
+ -rm -f misc-utils/uuidgen-uuidgen.$(OBJEXT)
+ -rm -f misc-utils/whereis.$(OBJEXT)
+ -rm -f misc-utils/wipefs-wipefs.$(OBJEXT)
+ -rm -f mount-deprecated/mount-devname.$(OBJEXT)
+ -rm -f mount-deprecated/mount-fsprobe.$(OBJEXT)
+ -rm -f mount-deprecated/mount-fstab.$(OBJEXT)
+ -rm -f mount-deprecated/mount-getusername.$(OBJEXT)
+ -rm -f mount-deprecated/mount-mount.$(OBJEXT)
+ -rm -f mount-deprecated/mount-mount_mntent.$(OBJEXT)
+ -rm -f mount-deprecated/mount-sundries.$(OBJEXT)
+ -rm -f mount-deprecated/mount_static-devname.$(OBJEXT)
+ -rm -f mount-deprecated/mount_static-fsprobe.$(OBJEXT)
+ -rm -f mount-deprecated/mount_static-fstab.$(OBJEXT)
+ -rm -f mount-deprecated/mount_static-getusername.$(OBJEXT)
+ -rm -f mount-deprecated/mount_static-mount.$(OBJEXT)
+ -rm -f mount-deprecated/mount_static-mount_mntent.$(OBJEXT)
+ -rm -f mount-deprecated/mount_static-sundries.$(OBJEXT)
+ -rm -f mount-deprecated/umount-devname.$(OBJEXT)
+ -rm -f mount-deprecated/umount-fsprobe.$(OBJEXT)
+ -rm -f mount-deprecated/umount-fstab.$(OBJEXT)
+ -rm -f mount-deprecated/umount-getusername.$(OBJEXT)
+ -rm -f mount-deprecated/umount-mount_mntent.$(OBJEXT)
+ -rm -f mount-deprecated/umount-sundries.$(OBJEXT)
+ -rm -f mount-deprecated/umount-umount.$(OBJEXT)
+ -rm -f mount-deprecated/umount_static-devname.$(OBJEXT)
+ -rm -f mount-deprecated/umount_static-fsprobe.$(OBJEXT)
+ -rm -f mount-deprecated/umount_static-fstab.$(OBJEXT)
+ -rm -f mount-deprecated/umount_static-getusername.$(OBJEXT)
+ -rm -f mount-deprecated/umount_static-mount_mntent.$(OBJEXT)
+ -rm -f mount-deprecated/umount_static-sundries.$(OBJEXT)
+ -rm -f mount-deprecated/umount_static-umount.$(OBJEXT)
+ -rm -f schedutils/chrt.$(OBJEXT)
+ -rm -f schedutils/ionice.$(OBJEXT)
+ -rm -f schedutils/taskset.$(OBJEXT)
+ -rm -f sys-utils/arch.$(OBJEXT)
+ -rm -f sys-utils/chcpu.$(OBJEXT)
+ -rm -f sys-utils/ctrlaltdel.$(OBJEXT)
+ -rm -f sys-utils/cytune.$(OBJEXT)
+ -rm -f sys-utils/dmesg.$(OBJEXT)
+ -rm -f sys-utils/eject-eject.$(OBJEXT)
+ -rm -f sys-utils/fallocate.$(OBJEXT)
+ -rm -f sys-utils/flock.$(OBJEXT)
+ -rm -f sys-utils/fsfreeze.$(OBJEXT)
+ -rm -f sys-utils/fstrim.$(OBJEXT)
+ -rm -f sys-utils/hwclock-cmos.$(OBJEXT)
+ -rm -f sys-utils/hwclock-kd.$(OBJEXT)
+ -rm -f sys-utils/hwclock-rtc.$(OBJEXT)
+ -rm -f sys-utils/hwclock.$(OBJEXT)
+ -rm -f sys-utils/ipcmk.$(OBJEXT)
+ -rm -f sys-utils/ipcrm.$(OBJEXT)
+ -rm -f sys-utils/ipcs.$(OBJEXT)
+ -rm -f sys-utils/ldattach.$(OBJEXT)
+ -rm -f sys-utils/losetup.$(OBJEXT)
+ -rm -f sys-utils/lscpu.$(OBJEXT)
+ -rm -f sys-utils/mount-mount.$(OBJEXT)
+ -rm -f sys-utils/mount_static-mount.$(OBJEXT)
+ -rm -f sys-utils/mountpoint-mountpoint.$(OBJEXT)
+ -rm -f sys-utils/pivot_root.$(OBJEXT)
+ -rm -f sys-utils/prlimit.$(OBJEXT)
+ -rm -f sys-utils/readprofile.$(OBJEXT)
+ -rm -f sys-utils/renice.$(OBJEXT)
+ -rm -f sys-utils/rtcwake.$(OBJEXT)
+ -rm -f sys-utils/setarch.$(OBJEXT)
+ -rm -f sys-utils/setsid.$(OBJEXT)
+ -rm -f sys-utils/swapoff-swapoff.$(OBJEXT)
+ -rm -f sys-utils/swapoff-swapon-common.$(OBJEXT)
+ -rm -f sys-utils/swapon-swapon-common.$(OBJEXT)
+ -rm -f sys-utils/swapon-swapon.$(OBJEXT)
+ -rm -f sys-utils/switch_root.$(OBJEXT)
+ -rm -f sys-utils/tunelp.$(OBJEXT)
+ -rm -f sys-utils/umount-umount.$(OBJEXT)
+ -rm -f sys-utils/umount_static-umount.$(OBJEXT)
+ -rm -f sys-utils/unshare.$(OBJEXT)
+ -rm -f sys-utils/wdctl.$(OBJEXT)
+ -rm -f term-utils/agetty.$(OBJEXT)
+ -rm -f term-utils/mesg.$(OBJEXT)
+ -rm -f term-utils/script.$(OBJEXT)
+ -rm -f term-utils/scriptreplay.$(OBJEXT)
+ -rm -f term-utils/setterm.$(OBJEXT)
+ -rm -f term-utils/wall-ttymsg.$(OBJEXT)
+ -rm -f term-utils/wall-wall.$(OBJEXT)
+ -rm -f term-utils/write-write.$(OBJEXT)
+ -rm -f tests/helpers/test_byteswap.$(OBJEXT)
+ -rm -f tests/helpers/test_md5.$(OBJEXT)
+ -rm -f tests/helpers/test_pathnames.$(OBJEXT)
+ -rm -f tests/helpers/test_sysinfo.$(OBJEXT)
+ -rm -f text-utils/col.$(OBJEXT)
+ -rm -f text-utils/colcrt.$(OBJEXT)
+ -rm -f text-utils/colrm.$(OBJEXT)
+ -rm -f text-utils/column.$(OBJEXT)
+ -rm -f text-utils/conv.$(OBJEXT)
+ -rm -f text-utils/display.$(OBJEXT)
+ -rm -f text-utils/hexdump.$(OBJEXT)
+ -rm -f text-utils/hexsyntax.$(OBJEXT)
+ -rm -f text-utils/line.$(OBJEXT)
+ -rm -f text-utils/more.$(OBJEXT)
+ -rm -f text-utils/parse.$(OBJEXT)
+ -rm -f text-utils/pg.$(OBJEXT)
+ -rm -f text-utils/rev.$(OBJEXT)
+ -rm -f text-utils/tailf.$(OBJEXT)
+ -rm -f text-utils/ul.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/addpart.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/blockdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/cramfs_common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/delpart.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/elvtune.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/fdformat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/fsck-fsck.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/fsck.cramfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/fsck.minix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/isosize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/mkfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/mkfs.bfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/mkfs.cramfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/mkfs.minix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/mkswap-mkswap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/partx-partx.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/raw.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/resizepart.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@disk-utils/$(DEPDIR)/swaplabel-swaplabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/cfdisk-cfdisk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/cfdisk-gpt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/cfdisk-i386_sys_types.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-fdisk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-fdiskaixlabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-fdiskbsdlabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-fdiskdoslabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-fdiskmaclabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-fdisksgilabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-fdisksunlabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-gpt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-i386_sys_types.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-partname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk-utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-fdisk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-fdiskaixlabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-fdiskbsdlabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-fdiskdoslabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-fdiskmaclabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-fdisksgilabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-fdisksunlabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-gpt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-i386_sys_types.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-partname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/fdisk_static-utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/gpt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/i386_sys_types.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/partname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@fdisks/$(DEPDIR)/sfdisk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/at.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/ismounted.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/langinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-at.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-blkdev.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-canonicalize.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-cpuset.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-crc32.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-env.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-fileutils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-ismounted.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-langinfo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-linux_version.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-loopdev.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-mangle.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-match.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-mbsalign.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-md5.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-pager.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-path.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-procutils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-randutils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-setproctitle.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-strutils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-sysfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-tt.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-wholedisk.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libcommon_la-xgetpass.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libuuid_la-randutils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbsalign.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/md5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strutils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_at-at.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_blkdev-blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_canonicalize-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_cpuset-cpuset.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_fileutils-fileutils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_ismounted-ismounted.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_loopdev-loopdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_mangle-mangle.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_pager-pager.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_procutils-procutils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_randutils-randutils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_strutils-strutils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_sysfs-sysfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_tt-tt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/test_wholedisk-wholedisk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/tt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/samples/$(DEPDIR)/sample_mkfs-mkfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/samples/$(DEPDIR)/sample_partitions-partitions.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/samples/$(DEPDIR)/sample_superblocks-superblocks.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/samples/$(DEPDIR)/sample_topology-topology.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-cache.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-config.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-dev.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-devname.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-devno.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-encode.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-evaluate.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-getsize.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-llseek.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-probe.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-read.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-resolve.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-save.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-tag.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-verify.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/libblkid_la-version.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_cache-cache.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_config-config.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_dev-dev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_devname-devname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_devno-devno.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_evaluate-evaluate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_read-read.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_resolve-resolve.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_save-save.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_tag-tag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/$(DEPDIR)/test_blkid_verify-verify.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-aix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-bsd.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-dos.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-gpt.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-mac.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-minix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-partitions.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-sgi.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-solaris_x86.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-sun.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-ultrix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/partitions/$(DEPDIR)/libblkid_la-unixware.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-adaptec_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-befs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-bfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-btrfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-cramfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ddf_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-drbd.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-drbdproxy_datalog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-exfat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-gfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-hfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-highpoint_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-hpfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-iso9660.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-isw_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-jfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-jmicron_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-linux_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-lsi_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-luks.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-lvm.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-minix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-netware.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-nilfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ntfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-nvidia_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ocfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-promise_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-reiserfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-romfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-silicon_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-squashfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-superblocks.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-swap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-sysv.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ubifs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-udf.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ufs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vfat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-via_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vmfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vxfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-xfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/superblocks/$(DEPDIR)/libblkid_la-zfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/topology/$(DEPDIR)/libblkid_la-dm.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/topology/$(DEPDIR)/libblkid_la-evms.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/topology/$(DEPDIR)/libblkid_la-ioctl.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/topology/$(DEPDIR)/libblkid_la-lvm.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/topology/$(DEPDIR)/libblkid_la-md.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/topology/$(DEPDIR)/libblkid_la-sysfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libblkid/src/topology/$(DEPDIR)/libblkid_la-topology.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-cache.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-context.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-context_loopdev.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-context_mount.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-context_umount.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-fs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-init.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-iter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-lock.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-optmap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-optstr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-tab.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-tab_diff.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-tab_parse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-tab_update.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-test.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-utils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/libmount_la-version.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/test_mount_cache-cache.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/test_mount_context-context.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/test_mount_lock-lock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/test_mount_optstr-optstr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/test_mount_tab-tab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/test_mount_tab_diff-tab_diff.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/test_mount_tab_update-tab_update.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/test_mount_utils-utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmount/src/$(DEPDIR)/test_mount_version-version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-clear.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-compare.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-copy.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-gen_uuid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-isnull.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-pack.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-parse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-unpack.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-unparse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/libuuid_la-uuid_time.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libuuid/src/$(DEPDIR)/test_uuid-test_uuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/chfn-chfn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/chfn-islocal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/chfn-selinux_utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/chfn-setpwnam.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/chsh-chsh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/chsh-islocal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/chsh-selinux_utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/chsh-setpwnam.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/last.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/login.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/logindefs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/newgrp-newgrp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/su-logindefs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/su-su.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/sulogin.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/test_islocal-islocal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/test_logindefs-logindefs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/utmpdump.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@login-utils/$(DEPDIR)/vipw.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/blkid-blkid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/blkid_static-blkid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/cal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/ddate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/findfs-findfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/findmnt-findmnt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/getopt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/kill.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/logger.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/look.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/lsblk-lsblk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/lslocks.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/mcookie.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/namei.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/procs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/rename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/uuidd-sd-daemon.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/uuidd-uuidd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/uuidgen-uuidgen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/whereis.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc-utils/$(DEPDIR)/wipefs-wipefs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount-devname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount-fstab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount-getusername.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount-mount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount-mount_mntent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount_static-devname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount_static-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount_static-fstab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount_static-getusername.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount_static-mount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount_static-mount_mntent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/mount_static-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount-devname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount-fstab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount-getusername.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount-mount_mntent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount-umount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount_static-devname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount_static-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount_static-fstab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount_static-getusername.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount_static-mount_mntent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount_static-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@mount-deprecated/$(DEPDIR)/umount_static-umount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@schedutils/$(DEPDIR)/chrt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@schedutils/$(DEPDIR)/ionice.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@schedutils/$(DEPDIR)/taskset.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/arch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/chcpu.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/ctrlaltdel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/cytune.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/dmesg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/eject-eject.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/fallocate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/flock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/fsfreeze.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/fstrim.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/hwclock-cmos.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/hwclock-kd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/hwclock-rtc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/hwclock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/ipcmk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/ipcrm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/ipcs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/ldattach.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/losetup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/lscpu.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/mount-mount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/mount_static-mount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/mountpoint-mountpoint.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/pivot_root.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/prlimit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/readprofile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/renice.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/rtcwake.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/setarch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/setsid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/swapoff-swapoff.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/swapoff-swapon-common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/swapon-swapon-common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/swapon-swapon.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/switch_root.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/tunelp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/umount-umount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/umount_static-umount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/unshare.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sys-utils/$(DEPDIR)/wdctl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@term-utils/$(DEPDIR)/agetty.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@term-utils/$(DEPDIR)/mesg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@term-utils/$(DEPDIR)/script.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@term-utils/$(DEPDIR)/scriptreplay.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@term-utils/$(DEPDIR)/setterm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@term-utils/$(DEPDIR)/wall-ttymsg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@term-utils/$(DEPDIR)/wall-wall.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@term-utils/$(DEPDIR)/write-write.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/helpers/$(DEPDIR)/test_byteswap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/helpers/$(DEPDIR)/test_md5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/helpers/$(DEPDIR)/test_pathnames.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/helpers/$(DEPDIR)/test_sysinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/col.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/colcrt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/colrm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/column.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/conv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/display.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/hexdump.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/hexsyntax.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/line.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/more.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/parse.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/pg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/rev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/tailf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@text-utils/$(DEPDIR)/ul.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+libblkid/src/libblkid_la-cache.lo: libblkid/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-cache.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-cache.Tpo -c -o libblkid/src/libblkid_la-cache.lo `test -f 'libblkid/src/cache.c' || echo '$(srcdir)/'`libblkid/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-cache.Tpo libblkid/src/$(DEPDIR)/libblkid_la-cache.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/cache.c' object='libblkid/src/libblkid_la-cache.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-cache.lo `test -f 'libblkid/src/cache.c' || echo '$(srcdir)/'`libblkid/src/cache.c
+
+libblkid/src/libblkid_la-config.lo: libblkid/src/config.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-config.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-config.Tpo -c -o libblkid/src/libblkid_la-config.lo `test -f 'libblkid/src/config.c' || echo '$(srcdir)/'`libblkid/src/config.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-config.Tpo libblkid/src/$(DEPDIR)/libblkid_la-config.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/config.c' object='libblkid/src/libblkid_la-config.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-config.lo `test -f 'libblkid/src/config.c' || echo '$(srcdir)/'`libblkid/src/config.c
+
+libblkid/src/libblkid_la-dev.lo: libblkid/src/dev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-dev.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-dev.Tpo -c -o libblkid/src/libblkid_la-dev.lo `test -f 'libblkid/src/dev.c' || echo '$(srcdir)/'`libblkid/src/dev.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-dev.Tpo libblkid/src/$(DEPDIR)/libblkid_la-dev.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/dev.c' object='libblkid/src/libblkid_la-dev.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-dev.lo `test -f 'libblkid/src/dev.c' || echo '$(srcdir)/'`libblkid/src/dev.c
+
+libblkid/src/libblkid_la-devname.lo: libblkid/src/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-devname.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-devname.Tpo -c -o libblkid/src/libblkid_la-devname.lo `test -f 'libblkid/src/devname.c' || echo '$(srcdir)/'`libblkid/src/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-devname.Tpo libblkid/src/$(DEPDIR)/libblkid_la-devname.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/devname.c' object='libblkid/src/libblkid_la-devname.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-devname.lo `test -f 'libblkid/src/devname.c' || echo '$(srcdir)/'`libblkid/src/devname.c
+
+libblkid/src/libblkid_la-devno.lo: libblkid/src/devno.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-devno.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-devno.Tpo -c -o libblkid/src/libblkid_la-devno.lo `test -f 'libblkid/src/devno.c' || echo '$(srcdir)/'`libblkid/src/devno.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-devno.Tpo libblkid/src/$(DEPDIR)/libblkid_la-devno.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/devno.c' object='libblkid/src/libblkid_la-devno.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-devno.lo `test -f 'libblkid/src/devno.c' || echo '$(srcdir)/'`libblkid/src/devno.c
+
+libblkid/src/libblkid_la-encode.lo: libblkid/src/encode.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-encode.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-encode.Tpo -c -o libblkid/src/libblkid_la-encode.lo `test -f 'libblkid/src/encode.c' || echo '$(srcdir)/'`libblkid/src/encode.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-encode.Tpo libblkid/src/$(DEPDIR)/libblkid_la-encode.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/encode.c' object='libblkid/src/libblkid_la-encode.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-encode.lo `test -f 'libblkid/src/encode.c' || echo '$(srcdir)/'`libblkid/src/encode.c
+
+libblkid/src/libblkid_la-evaluate.lo: libblkid/src/evaluate.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-evaluate.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-evaluate.Tpo -c -o libblkid/src/libblkid_la-evaluate.lo `test -f 'libblkid/src/evaluate.c' || echo '$(srcdir)/'`libblkid/src/evaluate.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-evaluate.Tpo libblkid/src/$(DEPDIR)/libblkid_la-evaluate.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/evaluate.c' object='libblkid/src/libblkid_la-evaluate.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-evaluate.lo `test -f 'libblkid/src/evaluate.c' || echo '$(srcdir)/'`libblkid/src/evaluate.c
+
+libblkid/src/libblkid_la-getsize.lo: libblkid/src/getsize.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-getsize.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-getsize.Tpo -c -o libblkid/src/libblkid_la-getsize.lo `test -f 'libblkid/src/getsize.c' || echo '$(srcdir)/'`libblkid/src/getsize.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-getsize.Tpo libblkid/src/$(DEPDIR)/libblkid_la-getsize.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/getsize.c' object='libblkid/src/libblkid_la-getsize.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-getsize.lo `test -f 'libblkid/src/getsize.c' || echo '$(srcdir)/'`libblkid/src/getsize.c
+
+libblkid/src/libblkid_la-llseek.lo: libblkid/src/llseek.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-llseek.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-llseek.Tpo -c -o libblkid/src/libblkid_la-llseek.lo `test -f 'libblkid/src/llseek.c' || echo '$(srcdir)/'`libblkid/src/llseek.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-llseek.Tpo libblkid/src/$(DEPDIR)/libblkid_la-llseek.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/llseek.c' object='libblkid/src/libblkid_la-llseek.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-llseek.lo `test -f 'libblkid/src/llseek.c' || echo '$(srcdir)/'`libblkid/src/llseek.c
+
+libblkid/src/libblkid_la-probe.lo: libblkid/src/probe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-probe.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-probe.Tpo -c -o libblkid/src/libblkid_la-probe.lo `test -f 'libblkid/src/probe.c' || echo '$(srcdir)/'`libblkid/src/probe.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-probe.Tpo libblkid/src/$(DEPDIR)/libblkid_la-probe.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/probe.c' object='libblkid/src/libblkid_la-probe.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-probe.lo `test -f 'libblkid/src/probe.c' || echo '$(srcdir)/'`libblkid/src/probe.c
+
+libblkid/src/libblkid_la-read.lo: libblkid/src/read.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-read.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-read.Tpo -c -o libblkid/src/libblkid_la-read.lo `test -f 'libblkid/src/read.c' || echo '$(srcdir)/'`libblkid/src/read.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-read.Tpo libblkid/src/$(DEPDIR)/libblkid_la-read.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/read.c' object='libblkid/src/libblkid_la-read.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-read.lo `test -f 'libblkid/src/read.c' || echo '$(srcdir)/'`libblkid/src/read.c
+
+libblkid/src/libblkid_la-resolve.lo: libblkid/src/resolve.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-resolve.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-resolve.Tpo -c -o libblkid/src/libblkid_la-resolve.lo `test -f 'libblkid/src/resolve.c' || echo '$(srcdir)/'`libblkid/src/resolve.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-resolve.Tpo libblkid/src/$(DEPDIR)/libblkid_la-resolve.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/resolve.c' object='libblkid/src/libblkid_la-resolve.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-resolve.lo `test -f 'libblkid/src/resolve.c' || echo '$(srcdir)/'`libblkid/src/resolve.c
+
+libblkid/src/libblkid_la-save.lo: libblkid/src/save.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-save.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-save.Tpo -c -o libblkid/src/libblkid_la-save.lo `test -f 'libblkid/src/save.c' || echo '$(srcdir)/'`libblkid/src/save.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-save.Tpo libblkid/src/$(DEPDIR)/libblkid_la-save.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/save.c' object='libblkid/src/libblkid_la-save.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-save.lo `test -f 'libblkid/src/save.c' || echo '$(srcdir)/'`libblkid/src/save.c
+
+libblkid/src/libblkid_la-tag.lo: libblkid/src/tag.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-tag.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-tag.Tpo -c -o libblkid/src/libblkid_la-tag.lo `test -f 'libblkid/src/tag.c' || echo '$(srcdir)/'`libblkid/src/tag.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-tag.Tpo libblkid/src/$(DEPDIR)/libblkid_la-tag.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/tag.c' object='libblkid/src/libblkid_la-tag.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-tag.lo `test -f 'libblkid/src/tag.c' || echo '$(srcdir)/'`libblkid/src/tag.c
+
+libblkid/src/libblkid_la-verify.lo: libblkid/src/verify.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-verify.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-verify.Tpo -c -o libblkid/src/libblkid_la-verify.lo `test -f 'libblkid/src/verify.c' || echo '$(srcdir)/'`libblkid/src/verify.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-verify.Tpo libblkid/src/$(DEPDIR)/libblkid_la-verify.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/verify.c' object='libblkid/src/libblkid_la-verify.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-verify.lo `test -f 'libblkid/src/verify.c' || echo '$(srcdir)/'`libblkid/src/verify.c
+
+libblkid/src/libblkid_la-version.lo: libblkid/src/version.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/libblkid_la-version.lo -MD -MP -MF libblkid/src/$(DEPDIR)/libblkid_la-version.Tpo -c -o libblkid/src/libblkid_la-version.lo `test -f 'libblkid/src/version.c' || echo '$(srcdir)/'`libblkid/src/version.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/libblkid_la-version.Tpo libblkid/src/$(DEPDIR)/libblkid_la-version.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/version.c' object='libblkid/src/libblkid_la-version.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/libblkid_la-version.lo `test -f 'libblkid/src/version.c' || echo '$(srcdir)/'`libblkid/src/version.c
+
+libblkid/src/partitions/libblkid_la-aix.lo: libblkid/src/partitions/aix.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-aix.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-aix.Tpo -c -o libblkid/src/partitions/libblkid_la-aix.lo `test -f 'libblkid/src/partitions/aix.c' || echo '$(srcdir)/'`libblkid/src/partitions/aix.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-aix.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-aix.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/aix.c' object='libblkid/src/partitions/libblkid_la-aix.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-aix.lo `test -f 'libblkid/src/partitions/aix.c' || echo '$(srcdir)/'`libblkid/src/partitions/aix.c
+
+libblkid/src/partitions/libblkid_la-bsd.lo: libblkid/src/partitions/bsd.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-bsd.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-bsd.Tpo -c -o libblkid/src/partitions/libblkid_la-bsd.lo `test -f 'libblkid/src/partitions/bsd.c' || echo '$(srcdir)/'`libblkid/src/partitions/bsd.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-bsd.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-bsd.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/bsd.c' object='libblkid/src/partitions/libblkid_la-bsd.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-bsd.lo `test -f 'libblkid/src/partitions/bsd.c' || echo '$(srcdir)/'`libblkid/src/partitions/bsd.c
+
+libblkid/src/partitions/libblkid_la-dos.lo: libblkid/src/partitions/dos.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-dos.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-dos.Tpo -c -o libblkid/src/partitions/libblkid_la-dos.lo `test -f 'libblkid/src/partitions/dos.c' || echo '$(srcdir)/'`libblkid/src/partitions/dos.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-dos.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-dos.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/dos.c' object='libblkid/src/partitions/libblkid_la-dos.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-dos.lo `test -f 'libblkid/src/partitions/dos.c' || echo '$(srcdir)/'`libblkid/src/partitions/dos.c
+
+libblkid/src/partitions/libblkid_la-gpt.lo: libblkid/src/partitions/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-gpt.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-gpt.Tpo -c -o libblkid/src/partitions/libblkid_la-gpt.lo `test -f 'libblkid/src/partitions/gpt.c' || echo '$(srcdir)/'`libblkid/src/partitions/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-gpt.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-gpt.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/gpt.c' object='libblkid/src/partitions/libblkid_la-gpt.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-gpt.lo `test -f 'libblkid/src/partitions/gpt.c' || echo '$(srcdir)/'`libblkid/src/partitions/gpt.c
+
+libblkid/src/partitions/libblkid_la-mac.lo: libblkid/src/partitions/mac.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-mac.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-mac.Tpo -c -o libblkid/src/partitions/libblkid_la-mac.lo `test -f 'libblkid/src/partitions/mac.c' || echo '$(srcdir)/'`libblkid/src/partitions/mac.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-mac.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-mac.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/mac.c' object='libblkid/src/partitions/libblkid_la-mac.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-mac.lo `test -f 'libblkid/src/partitions/mac.c' || echo '$(srcdir)/'`libblkid/src/partitions/mac.c
+
+libblkid/src/partitions/libblkid_la-minix.lo: libblkid/src/partitions/minix.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-minix.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-minix.Tpo -c -o libblkid/src/partitions/libblkid_la-minix.lo `test -f 'libblkid/src/partitions/minix.c' || echo '$(srcdir)/'`libblkid/src/partitions/minix.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-minix.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-minix.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/minix.c' object='libblkid/src/partitions/libblkid_la-minix.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-minix.lo `test -f 'libblkid/src/partitions/minix.c' || echo '$(srcdir)/'`libblkid/src/partitions/minix.c
+
+libblkid/src/partitions/libblkid_la-partitions.lo: libblkid/src/partitions/partitions.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-partitions.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-partitions.Tpo -c -o libblkid/src/partitions/libblkid_la-partitions.lo `test -f 'libblkid/src/partitions/partitions.c' || echo '$(srcdir)/'`libblkid/src/partitions/partitions.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-partitions.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-partitions.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/partitions.c' object='libblkid/src/partitions/libblkid_la-partitions.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-partitions.lo `test -f 'libblkid/src/partitions/partitions.c' || echo '$(srcdir)/'`libblkid/src/partitions/partitions.c
+
+libblkid/src/partitions/libblkid_la-sgi.lo: libblkid/src/partitions/sgi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-sgi.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-sgi.Tpo -c -o libblkid/src/partitions/libblkid_la-sgi.lo `test -f 'libblkid/src/partitions/sgi.c' || echo '$(srcdir)/'`libblkid/src/partitions/sgi.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-sgi.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-sgi.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/sgi.c' object='libblkid/src/partitions/libblkid_la-sgi.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-sgi.lo `test -f 'libblkid/src/partitions/sgi.c' || echo '$(srcdir)/'`libblkid/src/partitions/sgi.c
+
+libblkid/src/partitions/libblkid_la-solaris_x86.lo: libblkid/src/partitions/solaris_x86.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-solaris_x86.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-solaris_x86.Tpo -c -o libblkid/src/partitions/libblkid_la-solaris_x86.lo `test -f 'libblkid/src/partitions/solaris_x86.c' || echo '$(srcdir)/'`libblkid/src/partitions/solaris_x86.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-solaris_x86.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-solaris_x86.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/solaris_x86.c' object='libblkid/src/partitions/libblkid_la-solaris_x86.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-solaris_x86.lo `test -f 'libblkid/src/partitions/solaris_x86.c' || echo '$(srcdir)/'`libblkid/src/partitions/solaris_x86.c
+
+libblkid/src/partitions/libblkid_la-sun.lo: libblkid/src/partitions/sun.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-sun.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-sun.Tpo -c -o libblkid/src/partitions/libblkid_la-sun.lo `test -f 'libblkid/src/partitions/sun.c' || echo '$(srcdir)/'`libblkid/src/partitions/sun.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-sun.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-sun.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/sun.c' object='libblkid/src/partitions/libblkid_la-sun.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-sun.lo `test -f 'libblkid/src/partitions/sun.c' || echo '$(srcdir)/'`libblkid/src/partitions/sun.c
+
+libblkid/src/partitions/libblkid_la-ultrix.lo: libblkid/src/partitions/ultrix.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-ultrix.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-ultrix.Tpo -c -o libblkid/src/partitions/libblkid_la-ultrix.lo `test -f 'libblkid/src/partitions/ultrix.c' || echo '$(srcdir)/'`libblkid/src/partitions/ultrix.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-ultrix.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-ultrix.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/ultrix.c' object='libblkid/src/partitions/libblkid_la-ultrix.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-ultrix.lo `test -f 'libblkid/src/partitions/ultrix.c' || echo '$(srcdir)/'`libblkid/src/partitions/ultrix.c
+
+libblkid/src/partitions/libblkid_la-unixware.lo: libblkid/src/partitions/unixware.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/partitions/libblkid_la-unixware.lo -MD -MP -MF libblkid/src/partitions/$(DEPDIR)/libblkid_la-unixware.Tpo -c -o libblkid/src/partitions/libblkid_la-unixware.lo `test -f 'libblkid/src/partitions/unixware.c' || echo '$(srcdir)/'`libblkid/src/partitions/unixware.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/partitions/$(DEPDIR)/libblkid_la-unixware.Tpo libblkid/src/partitions/$(DEPDIR)/libblkid_la-unixware.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/partitions/unixware.c' object='libblkid/src/partitions/libblkid_la-unixware.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/partitions/libblkid_la-unixware.lo `test -f 'libblkid/src/partitions/unixware.c' || echo '$(srcdir)/'`libblkid/src/partitions/unixware.c
+
+libblkid/src/superblocks/libblkid_la-adaptec_raid.lo: libblkid/src/superblocks/adaptec_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-adaptec_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-adaptec_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-adaptec_raid.lo `test -f 'libblkid/src/superblocks/adaptec_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/adaptec_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-adaptec_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-adaptec_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/adaptec_raid.c' object='libblkid/src/superblocks/libblkid_la-adaptec_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-adaptec_raid.lo `test -f 'libblkid/src/superblocks/adaptec_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/adaptec_raid.c
+
+libblkid/src/superblocks/libblkid_la-befs.lo: libblkid/src/superblocks/befs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-befs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-befs.Tpo -c -o libblkid/src/superblocks/libblkid_la-befs.lo `test -f 'libblkid/src/superblocks/befs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/befs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-befs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-befs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/befs.c' object='libblkid/src/superblocks/libblkid_la-befs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-befs.lo `test -f 'libblkid/src/superblocks/befs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/befs.c
+
+libblkid/src/superblocks/libblkid_la-bfs.lo: libblkid/src/superblocks/bfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-bfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-bfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-bfs.lo `test -f 'libblkid/src/superblocks/bfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/bfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-bfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-bfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/bfs.c' object='libblkid/src/superblocks/libblkid_la-bfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-bfs.lo `test -f 'libblkid/src/superblocks/bfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/bfs.c
+
+libblkid/src/superblocks/libblkid_la-btrfs.lo: libblkid/src/superblocks/btrfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-btrfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-btrfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-btrfs.lo `test -f 'libblkid/src/superblocks/btrfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/btrfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-btrfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-btrfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/btrfs.c' object='libblkid/src/superblocks/libblkid_la-btrfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-btrfs.lo `test -f 'libblkid/src/superblocks/btrfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/btrfs.c
+
+libblkid/src/superblocks/libblkid_la-cramfs.lo: libblkid/src/superblocks/cramfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-cramfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-cramfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-cramfs.lo `test -f 'libblkid/src/superblocks/cramfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/cramfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-cramfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-cramfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/cramfs.c' object='libblkid/src/superblocks/libblkid_la-cramfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-cramfs.lo `test -f 'libblkid/src/superblocks/cramfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/cramfs.c
+
+libblkid/src/superblocks/libblkid_la-ddf_raid.lo: libblkid/src/superblocks/ddf_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-ddf_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ddf_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-ddf_raid.lo `test -f 'libblkid/src/superblocks/ddf_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ddf_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ddf_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ddf_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/ddf_raid.c' object='libblkid/src/superblocks/libblkid_la-ddf_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-ddf_raid.lo `test -f 'libblkid/src/superblocks/ddf_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ddf_raid.c
+
+libblkid/src/superblocks/libblkid_la-drbd.lo: libblkid/src/superblocks/drbd.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-drbd.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-drbd.Tpo -c -o libblkid/src/superblocks/libblkid_la-drbd.lo `test -f 'libblkid/src/superblocks/drbd.c' || echo '$(srcdir)/'`libblkid/src/superblocks/drbd.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-drbd.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-drbd.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/drbd.c' object='libblkid/src/superblocks/libblkid_la-drbd.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-drbd.lo `test -f 'libblkid/src/superblocks/drbd.c' || echo '$(srcdir)/'`libblkid/src/superblocks/drbd.c
+
+libblkid/src/superblocks/libblkid_la-drbdproxy_datalog.lo: libblkid/src/superblocks/drbdproxy_datalog.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-drbdproxy_datalog.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-drbdproxy_datalog.Tpo -c -o libblkid/src/superblocks/libblkid_la-drbdproxy_datalog.lo `test -f 'libblkid/src/superblocks/drbdproxy_datalog.c' || echo '$(srcdir)/'`libblkid/src/superblocks/drbdproxy_datalog.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-drbdproxy_datalog.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-drbdproxy_datalog.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/drbdproxy_datalog.c' object='libblkid/src/superblocks/libblkid_la-drbdproxy_datalog.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-drbdproxy_datalog.lo `test -f 'libblkid/src/superblocks/drbdproxy_datalog.c' || echo '$(srcdir)/'`libblkid/src/superblocks/drbdproxy_datalog.c
+
+libblkid/src/superblocks/libblkid_la-exfat.lo: libblkid/src/superblocks/exfat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-exfat.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-exfat.Tpo -c -o libblkid/src/superblocks/libblkid_la-exfat.lo `test -f 'libblkid/src/superblocks/exfat.c' || echo '$(srcdir)/'`libblkid/src/superblocks/exfat.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-exfat.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-exfat.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/exfat.c' object='libblkid/src/superblocks/libblkid_la-exfat.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-exfat.lo `test -f 'libblkid/src/superblocks/exfat.c' || echo '$(srcdir)/'`libblkid/src/superblocks/exfat.c
+
+libblkid/src/superblocks/libblkid_la-ext.lo: libblkid/src/superblocks/ext.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-ext.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ext.Tpo -c -o libblkid/src/superblocks/libblkid_la-ext.lo `test -f 'libblkid/src/superblocks/ext.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ext.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ext.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ext.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/ext.c' object='libblkid/src/superblocks/libblkid_la-ext.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-ext.lo `test -f 'libblkid/src/superblocks/ext.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ext.c
+
+libblkid/src/superblocks/libblkid_la-gfs.lo: libblkid/src/superblocks/gfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-gfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-gfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-gfs.lo `test -f 'libblkid/src/superblocks/gfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/gfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-gfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-gfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/gfs.c' object='libblkid/src/superblocks/libblkid_la-gfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-gfs.lo `test -f 'libblkid/src/superblocks/gfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/gfs.c
+
+libblkid/src/superblocks/libblkid_la-hfs.lo: libblkid/src/superblocks/hfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-hfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-hfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-hfs.lo `test -f 'libblkid/src/superblocks/hfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/hfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-hfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-hfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/hfs.c' object='libblkid/src/superblocks/libblkid_la-hfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-hfs.lo `test -f 'libblkid/src/superblocks/hfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/hfs.c
+
+libblkid/src/superblocks/libblkid_la-highpoint_raid.lo: libblkid/src/superblocks/highpoint_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-highpoint_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-highpoint_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-highpoint_raid.lo `test -f 'libblkid/src/superblocks/highpoint_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/highpoint_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-highpoint_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-highpoint_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/highpoint_raid.c' object='libblkid/src/superblocks/libblkid_la-highpoint_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-highpoint_raid.lo `test -f 'libblkid/src/superblocks/highpoint_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/highpoint_raid.c
+
+libblkid/src/superblocks/libblkid_la-hpfs.lo: libblkid/src/superblocks/hpfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-hpfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-hpfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-hpfs.lo `test -f 'libblkid/src/superblocks/hpfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/hpfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-hpfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-hpfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/hpfs.c' object='libblkid/src/superblocks/libblkid_la-hpfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-hpfs.lo `test -f 'libblkid/src/superblocks/hpfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/hpfs.c
+
+libblkid/src/superblocks/libblkid_la-iso9660.lo: libblkid/src/superblocks/iso9660.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-iso9660.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-iso9660.Tpo -c -o libblkid/src/superblocks/libblkid_la-iso9660.lo `test -f 'libblkid/src/superblocks/iso9660.c' || echo '$(srcdir)/'`libblkid/src/superblocks/iso9660.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-iso9660.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-iso9660.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/iso9660.c' object='libblkid/src/superblocks/libblkid_la-iso9660.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-iso9660.lo `test -f 'libblkid/src/superblocks/iso9660.c' || echo '$(srcdir)/'`libblkid/src/superblocks/iso9660.c
+
+libblkid/src/superblocks/libblkid_la-isw_raid.lo: libblkid/src/superblocks/isw_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-isw_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-isw_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-isw_raid.lo `test -f 'libblkid/src/superblocks/isw_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/isw_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-isw_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-isw_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/isw_raid.c' object='libblkid/src/superblocks/libblkid_la-isw_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-isw_raid.lo `test -f 'libblkid/src/superblocks/isw_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/isw_raid.c
+
+libblkid/src/superblocks/libblkid_la-jfs.lo: libblkid/src/superblocks/jfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-jfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-jfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-jfs.lo `test -f 'libblkid/src/superblocks/jfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/jfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-jfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-jfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/jfs.c' object='libblkid/src/superblocks/libblkid_la-jfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-jfs.lo `test -f 'libblkid/src/superblocks/jfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/jfs.c
+
+libblkid/src/superblocks/libblkid_la-jmicron_raid.lo: libblkid/src/superblocks/jmicron_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-jmicron_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-jmicron_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-jmicron_raid.lo `test -f 'libblkid/src/superblocks/jmicron_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/jmicron_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-jmicron_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-jmicron_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/jmicron_raid.c' object='libblkid/src/superblocks/libblkid_la-jmicron_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-jmicron_raid.lo `test -f 'libblkid/src/superblocks/jmicron_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/jmicron_raid.c
+
+libblkid/src/superblocks/libblkid_la-linux_raid.lo: libblkid/src/superblocks/linux_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-linux_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-linux_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-linux_raid.lo `test -f 'libblkid/src/superblocks/linux_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/linux_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-linux_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-linux_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/linux_raid.c' object='libblkid/src/superblocks/libblkid_la-linux_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-linux_raid.lo `test -f 'libblkid/src/superblocks/linux_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/linux_raid.c
+
+libblkid/src/superblocks/libblkid_la-lsi_raid.lo: libblkid/src/superblocks/lsi_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-lsi_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-lsi_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-lsi_raid.lo `test -f 'libblkid/src/superblocks/lsi_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/lsi_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-lsi_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-lsi_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/lsi_raid.c' object='libblkid/src/superblocks/libblkid_la-lsi_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-lsi_raid.lo `test -f 'libblkid/src/superblocks/lsi_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/lsi_raid.c
+
+libblkid/src/superblocks/libblkid_la-luks.lo: libblkid/src/superblocks/luks.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-luks.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-luks.Tpo -c -o libblkid/src/superblocks/libblkid_la-luks.lo `test -f 'libblkid/src/superblocks/luks.c' || echo '$(srcdir)/'`libblkid/src/superblocks/luks.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-luks.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-luks.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/luks.c' object='libblkid/src/superblocks/libblkid_la-luks.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-luks.lo `test -f 'libblkid/src/superblocks/luks.c' || echo '$(srcdir)/'`libblkid/src/superblocks/luks.c
+
+libblkid/src/superblocks/libblkid_la-lvm.lo: libblkid/src/superblocks/lvm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-lvm.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-lvm.Tpo -c -o libblkid/src/superblocks/libblkid_la-lvm.lo `test -f 'libblkid/src/superblocks/lvm.c' || echo '$(srcdir)/'`libblkid/src/superblocks/lvm.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-lvm.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-lvm.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/lvm.c' object='libblkid/src/superblocks/libblkid_la-lvm.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-lvm.lo `test -f 'libblkid/src/superblocks/lvm.c' || echo '$(srcdir)/'`libblkid/src/superblocks/lvm.c
+
+libblkid/src/superblocks/libblkid_la-minix.lo: libblkid/src/superblocks/minix.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-minix.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-minix.Tpo -c -o libblkid/src/superblocks/libblkid_la-minix.lo `test -f 'libblkid/src/superblocks/minix.c' || echo '$(srcdir)/'`libblkid/src/superblocks/minix.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-minix.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-minix.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/minix.c' object='libblkid/src/superblocks/libblkid_la-minix.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-minix.lo `test -f 'libblkid/src/superblocks/minix.c' || echo '$(srcdir)/'`libblkid/src/superblocks/minix.c
+
+libblkid/src/superblocks/libblkid_la-netware.lo: libblkid/src/superblocks/netware.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-netware.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-netware.Tpo -c -o libblkid/src/superblocks/libblkid_la-netware.lo `test -f 'libblkid/src/superblocks/netware.c' || echo '$(srcdir)/'`libblkid/src/superblocks/netware.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-netware.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-netware.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/netware.c' object='libblkid/src/superblocks/libblkid_la-netware.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-netware.lo `test -f 'libblkid/src/superblocks/netware.c' || echo '$(srcdir)/'`libblkid/src/superblocks/netware.c
+
+libblkid/src/superblocks/libblkid_la-nilfs.lo: libblkid/src/superblocks/nilfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-nilfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-nilfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-nilfs.lo `test -f 'libblkid/src/superblocks/nilfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/nilfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-nilfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-nilfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/nilfs.c' object='libblkid/src/superblocks/libblkid_la-nilfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-nilfs.lo `test -f 'libblkid/src/superblocks/nilfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/nilfs.c
+
+libblkid/src/superblocks/libblkid_la-ntfs.lo: libblkid/src/superblocks/ntfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-ntfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ntfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-ntfs.lo `test -f 'libblkid/src/superblocks/ntfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ntfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ntfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ntfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/ntfs.c' object='libblkid/src/superblocks/libblkid_la-ntfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-ntfs.lo `test -f 'libblkid/src/superblocks/ntfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ntfs.c
+
+libblkid/src/superblocks/libblkid_la-nvidia_raid.lo: libblkid/src/superblocks/nvidia_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-nvidia_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-nvidia_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-nvidia_raid.lo `test -f 'libblkid/src/superblocks/nvidia_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/nvidia_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-nvidia_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-nvidia_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/nvidia_raid.c' object='libblkid/src/superblocks/libblkid_la-nvidia_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-nvidia_raid.lo `test -f 'libblkid/src/superblocks/nvidia_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/nvidia_raid.c
+
+libblkid/src/superblocks/libblkid_la-ocfs.lo: libblkid/src/superblocks/ocfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-ocfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ocfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-ocfs.lo `test -f 'libblkid/src/superblocks/ocfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ocfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ocfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ocfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/ocfs.c' object='libblkid/src/superblocks/libblkid_la-ocfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-ocfs.lo `test -f 'libblkid/src/superblocks/ocfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ocfs.c
+
+libblkid/src/superblocks/libblkid_la-promise_raid.lo: libblkid/src/superblocks/promise_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-promise_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-promise_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-promise_raid.lo `test -f 'libblkid/src/superblocks/promise_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/promise_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-promise_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-promise_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/promise_raid.c' object='libblkid/src/superblocks/libblkid_la-promise_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-promise_raid.lo `test -f 'libblkid/src/superblocks/promise_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/promise_raid.c
+
+libblkid/src/superblocks/libblkid_la-reiserfs.lo: libblkid/src/superblocks/reiserfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-reiserfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-reiserfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-reiserfs.lo `test -f 'libblkid/src/superblocks/reiserfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/reiserfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-reiserfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-reiserfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/reiserfs.c' object='libblkid/src/superblocks/libblkid_la-reiserfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-reiserfs.lo `test -f 'libblkid/src/superblocks/reiserfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/reiserfs.c
+
+libblkid/src/superblocks/libblkid_la-romfs.lo: libblkid/src/superblocks/romfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-romfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-romfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-romfs.lo `test -f 'libblkid/src/superblocks/romfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/romfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-romfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-romfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/romfs.c' object='libblkid/src/superblocks/libblkid_la-romfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-romfs.lo `test -f 'libblkid/src/superblocks/romfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/romfs.c
+
+libblkid/src/superblocks/libblkid_la-silicon_raid.lo: libblkid/src/superblocks/silicon_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-silicon_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-silicon_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-silicon_raid.lo `test -f 'libblkid/src/superblocks/silicon_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/silicon_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-silicon_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-silicon_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/silicon_raid.c' object='libblkid/src/superblocks/libblkid_la-silicon_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-silicon_raid.lo `test -f 'libblkid/src/superblocks/silicon_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/silicon_raid.c
+
+libblkid/src/superblocks/libblkid_la-squashfs.lo: libblkid/src/superblocks/squashfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-squashfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-squashfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-squashfs.lo `test -f 'libblkid/src/superblocks/squashfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/squashfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-squashfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-squashfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/squashfs.c' object='libblkid/src/superblocks/libblkid_la-squashfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-squashfs.lo `test -f 'libblkid/src/superblocks/squashfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/squashfs.c
+
+libblkid/src/superblocks/libblkid_la-superblocks.lo: libblkid/src/superblocks/superblocks.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-superblocks.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-superblocks.Tpo -c -o libblkid/src/superblocks/libblkid_la-superblocks.lo `test -f 'libblkid/src/superblocks/superblocks.c' || echo '$(srcdir)/'`libblkid/src/superblocks/superblocks.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-superblocks.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-superblocks.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/superblocks.c' object='libblkid/src/superblocks/libblkid_la-superblocks.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-superblocks.lo `test -f 'libblkid/src/superblocks/superblocks.c' || echo '$(srcdir)/'`libblkid/src/superblocks/superblocks.c
+
+libblkid/src/superblocks/libblkid_la-swap.lo: libblkid/src/superblocks/swap.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-swap.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-swap.Tpo -c -o libblkid/src/superblocks/libblkid_la-swap.lo `test -f 'libblkid/src/superblocks/swap.c' || echo '$(srcdir)/'`libblkid/src/superblocks/swap.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-swap.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-swap.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/swap.c' object='libblkid/src/superblocks/libblkid_la-swap.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-swap.lo `test -f 'libblkid/src/superblocks/swap.c' || echo '$(srcdir)/'`libblkid/src/superblocks/swap.c
+
+libblkid/src/superblocks/libblkid_la-sysv.lo: libblkid/src/superblocks/sysv.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-sysv.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-sysv.Tpo -c -o libblkid/src/superblocks/libblkid_la-sysv.lo `test -f 'libblkid/src/superblocks/sysv.c' || echo '$(srcdir)/'`libblkid/src/superblocks/sysv.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-sysv.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-sysv.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/sysv.c' object='libblkid/src/superblocks/libblkid_la-sysv.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-sysv.lo `test -f 'libblkid/src/superblocks/sysv.c' || echo '$(srcdir)/'`libblkid/src/superblocks/sysv.c
+
+libblkid/src/superblocks/libblkid_la-ubifs.lo: libblkid/src/superblocks/ubifs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-ubifs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ubifs.Tpo -c -o libblkid/src/superblocks/libblkid_la-ubifs.lo `test -f 'libblkid/src/superblocks/ubifs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ubifs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ubifs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ubifs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/ubifs.c' object='libblkid/src/superblocks/libblkid_la-ubifs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-ubifs.lo `test -f 'libblkid/src/superblocks/ubifs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ubifs.c
+
+libblkid/src/superblocks/libblkid_la-udf.lo: libblkid/src/superblocks/udf.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-udf.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-udf.Tpo -c -o libblkid/src/superblocks/libblkid_la-udf.lo `test -f 'libblkid/src/superblocks/udf.c' || echo '$(srcdir)/'`libblkid/src/superblocks/udf.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-udf.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-udf.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/udf.c' object='libblkid/src/superblocks/libblkid_la-udf.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-udf.lo `test -f 'libblkid/src/superblocks/udf.c' || echo '$(srcdir)/'`libblkid/src/superblocks/udf.c
+
+libblkid/src/superblocks/libblkid_la-ufs.lo: libblkid/src/superblocks/ufs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-ufs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ufs.Tpo -c -o libblkid/src/superblocks/libblkid_la-ufs.lo `test -f 'libblkid/src/superblocks/ufs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ufs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ufs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-ufs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/ufs.c' object='libblkid/src/superblocks/libblkid_la-ufs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-ufs.lo `test -f 'libblkid/src/superblocks/ufs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/ufs.c
+
+libblkid/src/superblocks/libblkid_la-vfat.lo: libblkid/src/superblocks/vfat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-vfat.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vfat.Tpo -c -o libblkid/src/superblocks/libblkid_la-vfat.lo `test -f 'libblkid/src/superblocks/vfat.c' || echo '$(srcdir)/'`libblkid/src/superblocks/vfat.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vfat.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vfat.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/vfat.c' object='libblkid/src/superblocks/libblkid_la-vfat.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-vfat.lo `test -f 'libblkid/src/superblocks/vfat.c' || echo '$(srcdir)/'`libblkid/src/superblocks/vfat.c
+
+libblkid/src/superblocks/libblkid_la-via_raid.lo: libblkid/src/superblocks/via_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-via_raid.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-via_raid.Tpo -c -o libblkid/src/superblocks/libblkid_la-via_raid.lo `test -f 'libblkid/src/superblocks/via_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/via_raid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-via_raid.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-via_raid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/via_raid.c' object='libblkid/src/superblocks/libblkid_la-via_raid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-via_raid.lo `test -f 'libblkid/src/superblocks/via_raid.c' || echo '$(srcdir)/'`libblkid/src/superblocks/via_raid.c
+
+libblkid/src/superblocks/libblkid_la-vmfs.lo: libblkid/src/superblocks/vmfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-vmfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vmfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-vmfs.lo `test -f 'libblkid/src/superblocks/vmfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/vmfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vmfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vmfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/vmfs.c' object='libblkid/src/superblocks/libblkid_la-vmfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-vmfs.lo `test -f 'libblkid/src/superblocks/vmfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/vmfs.c
+
+libblkid/src/superblocks/libblkid_la-vxfs.lo: libblkid/src/superblocks/vxfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-vxfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vxfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-vxfs.lo `test -f 'libblkid/src/superblocks/vxfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/vxfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vxfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-vxfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/vxfs.c' object='libblkid/src/superblocks/libblkid_la-vxfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-vxfs.lo `test -f 'libblkid/src/superblocks/vxfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/vxfs.c
+
+libblkid/src/superblocks/libblkid_la-xfs.lo: libblkid/src/superblocks/xfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-xfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-xfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-xfs.lo `test -f 'libblkid/src/superblocks/xfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/xfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-xfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-xfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/xfs.c' object='libblkid/src/superblocks/libblkid_la-xfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-xfs.lo `test -f 'libblkid/src/superblocks/xfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/xfs.c
+
+libblkid/src/superblocks/libblkid_la-zfs.lo: libblkid/src/superblocks/zfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/superblocks/libblkid_la-zfs.lo -MD -MP -MF libblkid/src/superblocks/$(DEPDIR)/libblkid_la-zfs.Tpo -c -o libblkid/src/superblocks/libblkid_la-zfs.lo `test -f 'libblkid/src/superblocks/zfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/zfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/superblocks/$(DEPDIR)/libblkid_la-zfs.Tpo libblkid/src/superblocks/$(DEPDIR)/libblkid_la-zfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/superblocks/zfs.c' object='libblkid/src/superblocks/libblkid_la-zfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/superblocks/libblkid_la-zfs.lo `test -f 'libblkid/src/superblocks/zfs.c' || echo '$(srcdir)/'`libblkid/src/superblocks/zfs.c
+
+libblkid/src/topology/libblkid_la-topology.lo: libblkid/src/topology/topology.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/topology/libblkid_la-topology.lo -MD -MP -MF libblkid/src/topology/$(DEPDIR)/libblkid_la-topology.Tpo -c -o libblkid/src/topology/libblkid_la-topology.lo `test -f 'libblkid/src/topology/topology.c' || echo '$(srcdir)/'`libblkid/src/topology/topology.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/topology/$(DEPDIR)/libblkid_la-topology.Tpo libblkid/src/topology/$(DEPDIR)/libblkid_la-topology.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/topology/topology.c' object='libblkid/src/topology/libblkid_la-topology.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/topology/libblkid_la-topology.lo `test -f 'libblkid/src/topology/topology.c' || echo '$(srcdir)/'`libblkid/src/topology/topology.c
+
+libblkid/src/topology/libblkid_la-dm.lo: libblkid/src/topology/dm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/topology/libblkid_la-dm.lo -MD -MP -MF libblkid/src/topology/$(DEPDIR)/libblkid_la-dm.Tpo -c -o libblkid/src/topology/libblkid_la-dm.lo `test -f 'libblkid/src/topology/dm.c' || echo '$(srcdir)/'`libblkid/src/topology/dm.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/topology/$(DEPDIR)/libblkid_la-dm.Tpo libblkid/src/topology/$(DEPDIR)/libblkid_la-dm.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/topology/dm.c' object='libblkid/src/topology/libblkid_la-dm.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/topology/libblkid_la-dm.lo `test -f 'libblkid/src/topology/dm.c' || echo '$(srcdir)/'`libblkid/src/topology/dm.c
+
+libblkid/src/topology/libblkid_la-evms.lo: libblkid/src/topology/evms.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/topology/libblkid_la-evms.lo -MD -MP -MF libblkid/src/topology/$(DEPDIR)/libblkid_la-evms.Tpo -c -o libblkid/src/topology/libblkid_la-evms.lo `test -f 'libblkid/src/topology/evms.c' || echo '$(srcdir)/'`libblkid/src/topology/evms.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/topology/$(DEPDIR)/libblkid_la-evms.Tpo libblkid/src/topology/$(DEPDIR)/libblkid_la-evms.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/topology/evms.c' object='libblkid/src/topology/libblkid_la-evms.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/topology/libblkid_la-evms.lo `test -f 'libblkid/src/topology/evms.c' || echo '$(srcdir)/'`libblkid/src/topology/evms.c
+
+libblkid/src/topology/libblkid_la-ioctl.lo: libblkid/src/topology/ioctl.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/topology/libblkid_la-ioctl.lo -MD -MP -MF libblkid/src/topology/$(DEPDIR)/libblkid_la-ioctl.Tpo -c -o libblkid/src/topology/libblkid_la-ioctl.lo `test -f 'libblkid/src/topology/ioctl.c' || echo '$(srcdir)/'`libblkid/src/topology/ioctl.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/topology/$(DEPDIR)/libblkid_la-ioctl.Tpo libblkid/src/topology/$(DEPDIR)/libblkid_la-ioctl.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/topology/ioctl.c' object='libblkid/src/topology/libblkid_la-ioctl.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/topology/libblkid_la-ioctl.lo `test -f 'libblkid/src/topology/ioctl.c' || echo '$(srcdir)/'`libblkid/src/topology/ioctl.c
+
+libblkid/src/topology/libblkid_la-lvm.lo: libblkid/src/topology/lvm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/topology/libblkid_la-lvm.lo -MD -MP -MF libblkid/src/topology/$(DEPDIR)/libblkid_la-lvm.Tpo -c -o libblkid/src/topology/libblkid_la-lvm.lo `test -f 'libblkid/src/topology/lvm.c' || echo '$(srcdir)/'`libblkid/src/topology/lvm.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/topology/$(DEPDIR)/libblkid_la-lvm.Tpo libblkid/src/topology/$(DEPDIR)/libblkid_la-lvm.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/topology/lvm.c' object='libblkid/src/topology/libblkid_la-lvm.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/topology/libblkid_la-lvm.lo `test -f 'libblkid/src/topology/lvm.c' || echo '$(srcdir)/'`libblkid/src/topology/lvm.c
+
+libblkid/src/topology/libblkid_la-md.lo: libblkid/src/topology/md.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/topology/libblkid_la-md.lo -MD -MP -MF libblkid/src/topology/$(DEPDIR)/libblkid_la-md.Tpo -c -o libblkid/src/topology/libblkid_la-md.lo `test -f 'libblkid/src/topology/md.c' || echo '$(srcdir)/'`libblkid/src/topology/md.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/topology/$(DEPDIR)/libblkid_la-md.Tpo libblkid/src/topology/$(DEPDIR)/libblkid_la-md.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/topology/md.c' object='libblkid/src/topology/libblkid_la-md.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/topology/libblkid_la-md.lo `test -f 'libblkid/src/topology/md.c' || echo '$(srcdir)/'`libblkid/src/topology/md.c
+
+libblkid/src/topology/libblkid_la-sysfs.lo: libblkid/src/topology/sysfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -MT libblkid/src/topology/libblkid_la-sysfs.lo -MD -MP -MF libblkid/src/topology/$(DEPDIR)/libblkid_la-sysfs.Tpo -c -o libblkid/src/topology/libblkid_la-sysfs.lo `test -f 'libblkid/src/topology/sysfs.c' || echo '$(srcdir)/'`libblkid/src/topology/sysfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/topology/$(DEPDIR)/libblkid_la-sysfs.Tpo libblkid/src/topology/$(DEPDIR)/libblkid_la-sysfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/topology/sysfs.c' object='libblkid/src/topology/libblkid_la-sysfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libblkid_la_CFLAGS) $(CFLAGS) -c -o libblkid/src/topology/libblkid_la-sysfs.lo `test -f 'libblkid/src/topology/sysfs.c' || echo '$(srcdir)/'`libblkid/src/topology/sysfs.c
+
+lib/libcommon_la-at.lo: lib/at.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-at.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-at.Tpo -c -o lib/libcommon_la-at.lo `test -f 'lib/at.c' || echo '$(srcdir)/'`lib/at.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-at.Tpo lib/$(DEPDIR)/libcommon_la-at.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/at.c' object='lib/libcommon_la-at.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-at.lo `test -f 'lib/at.c' || echo '$(srcdir)/'`lib/at.c
+
+lib/libcommon_la-blkdev.lo: lib/blkdev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-blkdev.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-blkdev.Tpo -c -o lib/libcommon_la-blkdev.lo `test -f 'lib/blkdev.c' || echo '$(srcdir)/'`lib/blkdev.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-blkdev.Tpo lib/$(DEPDIR)/libcommon_la-blkdev.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/blkdev.c' object='lib/libcommon_la-blkdev.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-blkdev.lo `test -f 'lib/blkdev.c' || echo '$(srcdir)/'`lib/blkdev.c
+
+lib/libcommon_la-canonicalize.lo: lib/canonicalize.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-canonicalize.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-canonicalize.Tpo -c -o lib/libcommon_la-canonicalize.lo `test -f 'lib/canonicalize.c' || echo '$(srcdir)/'`lib/canonicalize.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-canonicalize.Tpo lib/$(DEPDIR)/libcommon_la-canonicalize.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/canonicalize.c' object='lib/libcommon_la-canonicalize.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-canonicalize.lo `test -f 'lib/canonicalize.c' || echo '$(srcdir)/'`lib/canonicalize.c
+
+lib/libcommon_la-cpuset.lo: lib/cpuset.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-cpuset.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-cpuset.Tpo -c -o lib/libcommon_la-cpuset.lo `test -f 'lib/cpuset.c' || echo '$(srcdir)/'`lib/cpuset.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-cpuset.Tpo lib/$(DEPDIR)/libcommon_la-cpuset.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/cpuset.c' object='lib/libcommon_la-cpuset.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-cpuset.lo `test -f 'lib/cpuset.c' || echo '$(srcdir)/'`lib/cpuset.c
+
+lib/libcommon_la-crc32.lo: lib/crc32.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-crc32.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-crc32.Tpo -c -o lib/libcommon_la-crc32.lo `test -f 'lib/crc32.c' || echo '$(srcdir)/'`lib/crc32.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-crc32.Tpo lib/$(DEPDIR)/libcommon_la-crc32.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/crc32.c' object='lib/libcommon_la-crc32.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-crc32.lo `test -f 'lib/crc32.c' || echo '$(srcdir)/'`lib/crc32.c
+
+lib/libcommon_la-env.lo: lib/env.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-env.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-env.Tpo -c -o lib/libcommon_la-env.lo `test -f 'lib/env.c' || echo '$(srcdir)/'`lib/env.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-env.Tpo lib/$(DEPDIR)/libcommon_la-env.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/env.c' object='lib/libcommon_la-env.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-env.lo `test -f 'lib/env.c' || echo '$(srcdir)/'`lib/env.c
+
+lib/libcommon_la-fileutils.lo: lib/fileutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-fileutils.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-fileutils.Tpo -c -o lib/libcommon_la-fileutils.lo `test -f 'lib/fileutils.c' || echo '$(srcdir)/'`lib/fileutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-fileutils.Tpo lib/$(DEPDIR)/libcommon_la-fileutils.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/fileutils.c' object='lib/libcommon_la-fileutils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-fileutils.lo `test -f 'lib/fileutils.c' || echo '$(srcdir)/'`lib/fileutils.c
+
+lib/libcommon_la-ismounted.lo: lib/ismounted.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-ismounted.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-ismounted.Tpo -c -o lib/libcommon_la-ismounted.lo `test -f 'lib/ismounted.c' || echo '$(srcdir)/'`lib/ismounted.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-ismounted.Tpo lib/$(DEPDIR)/libcommon_la-ismounted.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/ismounted.c' object='lib/libcommon_la-ismounted.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-ismounted.lo `test -f 'lib/ismounted.c' || echo '$(srcdir)/'`lib/ismounted.c
+
+lib/libcommon_la-mangle.lo: lib/mangle.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-mangle.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-mangle.Tpo -c -o lib/libcommon_la-mangle.lo `test -f 'lib/mangle.c' || echo '$(srcdir)/'`lib/mangle.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-mangle.Tpo lib/$(DEPDIR)/libcommon_la-mangle.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/mangle.c' object='lib/libcommon_la-mangle.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-mangle.lo `test -f 'lib/mangle.c' || echo '$(srcdir)/'`lib/mangle.c
+
+lib/libcommon_la-match.lo: lib/match.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-match.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-match.Tpo -c -o lib/libcommon_la-match.lo `test -f 'lib/match.c' || echo '$(srcdir)/'`lib/match.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-match.Tpo lib/$(DEPDIR)/libcommon_la-match.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/match.c' object='lib/libcommon_la-match.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-match.lo `test -f 'lib/match.c' || echo '$(srcdir)/'`lib/match.c
+
+lib/libcommon_la-mbsalign.lo: lib/mbsalign.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-mbsalign.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-mbsalign.Tpo -c -o lib/libcommon_la-mbsalign.lo `test -f 'lib/mbsalign.c' || echo '$(srcdir)/'`lib/mbsalign.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-mbsalign.Tpo lib/$(DEPDIR)/libcommon_la-mbsalign.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/mbsalign.c' object='lib/libcommon_la-mbsalign.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-mbsalign.lo `test -f 'lib/mbsalign.c' || echo '$(srcdir)/'`lib/mbsalign.c
+
+lib/libcommon_la-md5.lo: lib/md5.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-md5.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-md5.Tpo -c -o lib/libcommon_la-md5.lo `test -f 'lib/md5.c' || echo '$(srcdir)/'`lib/md5.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-md5.Tpo lib/$(DEPDIR)/libcommon_la-md5.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/md5.c' object='lib/libcommon_la-md5.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-md5.lo `test -f 'lib/md5.c' || echo '$(srcdir)/'`lib/md5.c
+
+lib/libcommon_la-pager.lo: lib/pager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-pager.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-pager.Tpo -c -o lib/libcommon_la-pager.lo `test -f 'lib/pager.c' || echo '$(srcdir)/'`lib/pager.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-pager.Tpo lib/$(DEPDIR)/libcommon_la-pager.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/pager.c' object='lib/libcommon_la-pager.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-pager.lo `test -f 'lib/pager.c' || echo '$(srcdir)/'`lib/pager.c
+
+lib/libcommon_la-path.lo: lib/path.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-path.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-path.Tpo -c -o lib/libcommon_la-path.lo `test -f 'lib/path.c' || echo '$(srcdir)/'`lib/path.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-path.Tpo lib/$(DEPDIR)/libcommon_la-path.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/path.c' object='lib/libcommon_la-path.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-path.lo `test -f 'lib/path.c' || echo '$(srcdir)/'`lib/path.c
+
+lib/libcommon_la-procutils.lo: lib/procutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-procutils.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-procutils.Tpo -c -o lib/libcommon_la-procutils.lo `test -f 'lib/procutils.c' || echo '$(srcdir)/'`lib/procutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-procutils.Tpo lib/$(DEPDIR)/libcommon_la-procutils.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/procutils.c' object='lib/libcommon_la-procutils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-procutils.lo `test -f 'lib/procutils.c' || echo '$(srcdir)/'`lib/procutils.c
+
+lib/libcommon_la-randutils.lo: lib/randutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-randutils.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-randutils.Tpo -c -o lib/libcommon_la-randutils.lo `test -f 'lib/randutils.c' || echo '$(srcdir)/'`lib/randutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-randutils.Tpo lib/$(DEPDIR)/libcommon_la-randutils.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/randutils.c' object='lib/libcommon_la-randutils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-randutils.lo `test -f 'lib/randutils.c' || echo '$(srcdir)/'`lib/randutils.c
+
+lib/libcommon_la-setproctitle.lo: lib/setproctitle.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-setproctitle.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-setproctitle.Tpo -c -o lib/libcommon_la-setproctitle.lo `test -f 'lib/setproctitle.c' || echo '$(srcdir)/'`lib/setproctitle.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-setproctitle.Tpo lib/$(DEPDIR)/libcommon_la-setproctitle.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/setproctitle.c' object='lib/libcommon_la-setproctitle.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-setproctitle.lo `test -f 'lib/setproctitle.c' || echo '$(srcdir)/'`lib/setproctitle.c
+
+lib/libcommon_la-strutils.lo: lib/strutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-strutils.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-strutils.Tpo -c -o lib/libcommon_la-strutils.lo `test -f 'lib/strutils.c' || echo '$(srcdir)/'`lib/strutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-strutils.Tpo lib/$(DEPDIR)/libcommon_la-strutils.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/strutils.c' object='lib/libcommon_la-strutils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-strutils.lo `test -f 'lib/strutils.c' || echo '$(srcdir)/'`lib/strutils.c
+
+lib/libcommon_la-sysfs.lo: lib/sysfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-sysfs.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-sysfs.Tpo -c -o lib/libcommon_la-sysfs.lo `test -f 'lib/sysfs.c' || echo '$(srcdir)/'`lib/sysfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-sysfs.Tpo lib/$(DEPDIR)/libcommon_la-sysfs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/sysfs.c' object='lib/libcommon_la-sysfs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-sysfs.lo `test -f 'lib/sysfs.c' || echo '$(srcdir)/'`lib/sysfs.c
+
+lib/libcommon_la-tt.lo: lib/tt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-tt.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-tt.Tpo -c -o lib/libcommon_la-tt.lo `test -f 'lib/tt.c' || echo '$(srcdir)/'`lib/tt.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-tt.Tpo lib/$(DEPDIR)/libcommon_la-tt.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/tt.c' object='lib/libcommon_la-tt.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-tt.lo `test -f 'lib/tt.c' || echo '$(srcdir)/'`lib/tt.c
+
+lib/libcommon_la-wholedisk.lo: lib/wholedisk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-wholedisk.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-wholedisk.Tpo -c -o lib/libcommon_la-wholedisk.lo `test -f 'lib/wholedisk.c' || echo '$(srcdir)/'`lib/wholedisk.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-wholedisk.Tpo lib/$(DEPDIR)/libcommon_la-wholedisk.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/wholedisk.c' object='lib/libcommon_la-wholedisk.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-wholedisk.lo `test -f 'lib/wholedisk.c' || echo '$(srcdir)/'`lib/wholedisk.c
+
+lib/libcommon_la-xgetpass.lo: lib/xgetpass.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-xgetpass.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-xgetpass.Tpo -c -o lib/libcommon_la-xgetpass.lo `test -f 'lib/xgetpass.c' || echo '$(srcdir)/'`lib/xgetpass.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-xgetpass.Tpo lib/$(DEPDIR)/libcommon_la-xgetpass.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/xgetpass.c' object='lib/libcommon_la-xgetpass.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-xgetpass.lo `test -f 'lib/xgetpass.c' || echo '$(srcdir)/'`lib/xgetpass.c
+
+lib/libcommon_la-linux_version.lo: lib/linux_version.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-linux_version.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-linux_version.Tpo -c -o lib/libcommon_la-linux_version.lo `test -f 'lib/linux_version.c' || echo '$(srcdir)/'`lib/linux_version.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-linux_version.Tpo lib/$(DEPDIR)/libcommon_la-linux_version.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/linux_version.c' object='lib/libcommon_la-linux_version.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-linux_version.lo `test -f 'lib/linux_version.c' || echo '$(srcdir)/'`lib/linux_version.c
+
+lib/libcommon_la-loopdev.lo: lib/loopdev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-loopdev.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-loopdev.Tpo -c -o lib/libcommon_la-loopdev.lo `test -f 'lib/loopdev.c' || echo '$(srcdir)/'`lib/loopdev.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-loopdev.Tpo lib/$(DEPDIR)/libcommon_la-loopdev.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/loopdev.c' object='lib/libcommon_la-loopdev.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-loopdev.lo `test -f 'lib/loopdev.c' || echo '$(srcdir)/'`lib/loopdev.c
+
+lib/libcommon_la-langinfo.lo: lib/langinfo.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -MT lib/libcommon_la-langinfo.lo -MD -MP -MF lib/$(DEPDIR)/libcommon_la-langinfo.Tpo -c -o lib/libcommon_la-langinfo.lo `test -f 'lib/langinfo.c' || echo '$(srcdir)/'`lib/langinfo.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libcommon_la-langinfo.Tpo lib/$(DEPDIR)/libcommon_la-langinfo.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/langinfo.c' object='lib/libcommon_la-langinfo.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_la_CFLAGS) $(CFLAGS) -c -o lib/libcommon_la-langinfo.lo `test -f 'lib/langinfo.c' || echo '$(srcdir)/'`lib/langinfo.c
+
+libmount/src/libmount_la-cache.lo: libmount/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-cache.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-cache.Tpo -c -o libmount/src/libmount_la-cache.lo `test -f 'libmount/src/cache.c' || echo '$(srcdir)/'`libmount/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-cache.Tpo libmount/src/$(DEPDIR)/libmount_la-cache.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/cache.c' object='libmount/src/libmount_la-cache.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-cache.lo `test -f 'libmount/src/cache.c' || echo '$(srcdir)/'`libmount/src/cache.c
+
+libmount/src/libmount_la-context.lo: libmount/src/context.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-context.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-context.Tpo -c -o libmount/src/libmount_la-context.lo `test -f 'libmount/src/context.c' || echo '$(srcdir)/'`libmount/src/context.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-context.Tpo libmount/src/$(DEPDIR)/libmount_la-context.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/context.c' object='libmount/src/libmount_la-context.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-context.lo `test -f 'libmount/src/context.c' || echo '$(srcdir)/'`libmount/src/context.c
+
+libmount/src/libmount_la-context_loopdev.lo: libmount/src/context_loopdev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-context_loopdev.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-context_loopdev.Tpo -c -o libmount/src/libmount_la-context_loopdev.lo `test -f 'libmount/src/context_loopdev.c' || echo '$(srcdir)/'`libmount/src/context_loopdev.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-context_loopdev.Tpo libmount/src/$(DEPDIR)/libmount_la-context_loopdev.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/context_loopdev.c' object='libmount/src/libmount_la-context_loopdev.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-context_loopdev.lo `test -f 'libmount/src/context_loopdev.c' || echo '$(srcdir)/'`libmount/src/context_loopdev.c
+
+libmount/src/libmount_la-context_mount.lo: libmount/src/context_mount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-context_mount.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-context_mount.Tpo -c -o libmount/src/libmount_la-context_mount.lo `test -f 'libmount/src/context_mount.c' || echo '$(srcdir)/'`libmount/src/context_mount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-context_mount.Tpo libmount/src/$(DEPDIR)/libmount_la-context_mount.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/context_mount.c' object='libmount/src/libmount_la-context_mount.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-context_mount.lo `test -f 'libmount/src/context_mount.c' || echo '$(srcdir)/'`libmount/src/context_mount.c
+
+libmount/src/libmount_la-context_umount.lo: libmount/src/context_umount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-context_umount.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-context_umount.Tpo -c -o libmount/src/libmount_la-context_umount.lo `test -f 'libmount/src/context_umount.c' || echo '$(srcdir)/'`libmount/src/context_umount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-context_umount.Tpo libmount/src/$(DEPDIR)/libmount_la-context_umount.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/context_umount.c' object='libmount/src/libmount_la-context_umount.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-context_umount.lo `test -f 'libmount/src/context_umount.c' || echo '$(srcdir)/'`libmount/src/context_umount.c
+
+libmount/src/libmount_la-fs.lo: libmount/src/fs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-fs.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-fs.Tpo -c -o libmount/src/libmount_la-fs.lo `test -f 'libmount/src/fs.c' || echo '$(srcdir)/'`libmount/src/fs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-fs.Tpo libmount/src/$(DEPDIR)/libmount_la-fs.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/fs.c' object='libmount/src/libmount_la-fs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-fs.lo `test -f 'libmount/src/fs.c' || echo '$(srcdir)/'`libmount/src/fs.c
+
+libmount/src/libmount_la-init.lo: libmount/src/init.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-init.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-init.Tpo -c -o libmount/src/libmount_la-init.lo `test -f 'libmount/src/init.c' || echo '$(srcdir)/'`libmount/src/init.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-init.Tpo libmount/src/$(DEPDIR)/libmount_la-init.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/init.c' object='libmount/src/libmount_la-init.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-init.lo `test -f 'libmount/src/init.c' || echo '$(srcdir)/'`libmount/src/init.c
+
+libmount/src/libmount_la-iter.lo: libmount/src/iter.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-iter.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-iter.Tpo -c -o libmount/src/libmount_la-iter.lo `test -f 'libmount/src/iter.c' || echo '$(srcdir)/'`libmount/src/iter.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-iter.Tpo libmount/src/$(DEPDIR)/libmount_la-iter.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/iter.c' object='libmount/src/libmount_la-iter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-iter.lo `test -f 'libmount/src/iter.c' || echo '$(srcdir)/'`libmount/src/iter.c
+
+libmount/src/libmount_la-lock.lo: libmount/src/lock.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-lock.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-lock.Tpo -c -o libmount/src/libmount_la-lock.lo `test -f 'libmount/src/lock.c' || echo '$(srcdir)/'`libmount/src/lock.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-lock.Tpo libmount/src/$(DEPDIR)/libmount_la-lock.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/lock.c' object='libmount/src/libmount_la-lock.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-lock.lo `test -f 'libmount/src/lock.c' || echo '$(srcdir)/'`libmount/src/lock.c
+
+libmount/src/libmount_la-optmap.lo: libmount/src/optmap.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-optmap.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-optmap.Tpo -c -o libmount/src/libmount_la-optmap.lo `test -f 'libmount/src/optmap.c' || echo '$(srcdir)/'`libmount/src/optmap.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-optmap.Tpo libmount/src/$(DEPDIR)/libmount_la-optmap.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/optmap.c' object='libmount/src/libmount_la-optmap.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-optmap.lo `test -f 'libmount/src/optmap.c' || echo '$(srcdir)/'`libmount/src/optmap.c
+
+libmount/src/libmount_la-optstr.lo: libmount/src/optstr.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-optstr.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-optstr.Tpo -c -o libmount/src/libmount_la-optstr.lo `test -f 'libmount/src/optstr.c' || echo '$(srcdir)/'`libmount/src/optstr.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-optstr.Tpo libmount/src/$(DEPDIR)/libmount_la-optstr.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/optstr.c' object='libmount/src/libmount_la-optstr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-optstr.lo `test -f 'libmount/src/optstr.c' || echo '$(srcdir)/'`libmount/src/optstr.c
+
+libmount/src/libmount_la-tab.lo: libmount/src/tab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-tab.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-tab.Tpo -c -o libmount/src/libmount_la-tab.lo `test -f 'libmount/src/tab.c' || echo '$(srcdir)/'`libmount/src/tab.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-tab.Tpo libmount/src/$(DEPDIR)/libmount_la-tab.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab.c' object='libmount/src/libmount_la-tab.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-tab.lo `test -f 'libmount/src/tab.c' || echo '$(srcdir)/'`libmount/src/tab.c
+
+libmount/src/libmount_la-tab_diff.lo: libmount/src/tab_diff.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-tab_diff.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-tab_diff.Tpo -c -o libmount/src/libmount_la-tab_diff.lo `test -f 'libmount/src/tab_diff.c' || echo '$(srcdir)/'`libmount/src/tab_diff.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-tab_diff.Tpo libmount/src/$(DEPDIR)/libmount_la-tab_diff.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab_diff.c' object='libmount/src/libmount_la-tab_diff.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-tab_diff.lo `test -f 'libmount/src/tab_diff.c' || echo '$(srcdir)/'`libmount/src/tab_diff.c
+
+libmount/src/libmount_la-tab_parse.lo: libmount/src/tab_parse.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-tab_parse.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-tab_parse.Tpo -c -o libmount/src/libmount_la-tab_parse.lo `test -f 'libmount/src/tab_parse.c' || echo '$(srcdir)/'`libmount/src/tab_parse.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-tab_parse.Tpo libmount/src/$(DEPDIR)/libmount_la-tab_parse.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab_parse.c' object='libmount/src/libmount_la-tab_parse.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-tab_parse.lo `test -f 'libmount/src/tab_parse.c' || echo '$(srcdir)/'`libmount/src/tab_parse.c
+
+libmount/src/libmount_la-tab_update.lo: libmount/src/tab_update.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-tab_update.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-tab_update.Tpo -c -o libmount/src/libmount_la-tab_update.lo `test -f 'libmount/src/tab_update.c' || echo '$(srcdir)/'`libmount/src/tab_update.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-tab_update.Tpo libmount/src/$(DEPDIR)/libmount_la-tab_update.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab_update.c' object='libmount/src/libmount_la-tab_update.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-tab_update.lo `test -f 'libmount/src/tab_update.c' || echo '$(srcdir)/'`libmount/src/tab_update.c
+
+libmount/src/libmount_la-test.lo: libmount/src/test.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-test.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-test.Tpo -c -o libmount/src/libmount_la-test.lo `test -f 'libmount/src/test.c' || echo '$(srcdir)/'`libmount/src/test.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-test.Tpo libmount/src/$(DEPDIR)/libmount_la-test.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/test.c' object='libmount/src/libmount_la-test.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-test.lo `test -f 'libmount/src/test.c' || echo '$(srcdir)/'`libmount/src/test.c
+
+libmount/src/libmount_la-utils.lo: libmount/src/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-utils.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-utils.Tpo -c -o libmount/src/libmount_la-utils.lo `test -f 'libmount/src/utils.c' || echo '$(srcdir)/'`libmount/src/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-utils.Tpo libmount/src/$(DEPDIR)/libmount_la-utils.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/utils.c' object='libmount/src/libmount_la-utils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-utils.lo `test -f 'libmount/src/utils.c' || echo '$(srcdir)/'`libmount/src/utils.c
+
+libmount/src/libmount_la-version.lo: libmount/src/version.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -MT libmount/src/libmount_la-version.lo -MD -MP -MF libmount/src/$(DEPDIR)/libmount_la-version.Tpo -c -o libmount/src/libmount_la-version.lo `test -f 'libmount/src/version.c' || echo '$(srcdir)/'`libmount/src/version.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/libmount_la-version.Tpo libmount/src/$(DEPDIR)/libmount_la-version.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/version.c' object='libmount/src/libmount_la-version.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmount_la_CFLAGS) $(CFLAGS) -c -o libmount/src/libmount_la-version.lo `test -f 'libmount/src/version.c' || echo '$(srcdir)/'`libmount/src/version.c
+
+libuuid/src/libuuid_la-clear.lo: libuuid/src/clear.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-clear.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-clear.Tpo -c -o libuuid/src/libuuid_la-clear.lo `test -f 'libuuid/src/clear.c' || echo '$(srcdir)/'`libuuid/src/clear.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-clear.Tpo libuuid/src/$(DEPDIR)/libuuid_la-clear.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/clear.c' object='libuuid/src/libuuid_la-clear.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-clear.lo `test -f 'libuuid/src/clear.c' || echo '$(srcdir)/'`libuuid/src/clear.c
+
+libuuid/src/libuuid_la-compare.lo: libuuid/src/compare.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-compare.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-compare.Tpo -c -o libuuid/src/libuuid_la-compare.lo `test -f 'libuuid/src/compare.c' || echo '$(srcdir)/'`libuuid/src/compare.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-compare.Tpo libuuid/src/$(DEPDIR)/libuuid_la-compare.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/compare.c' object='libuuid/src/libuuid_la-compare.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-compare.lo `test -f 'libuuid/src/compare.c' || echo '$(srcdir)/'`libuuid/src/compare.c
+
+libuuid/src/libuuid_la-copy.lo: libuuid/src/copy.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-copy.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-copy.Tpo -c -o libuuid/src/libuuid_la-copy.lo `test -f 'libuuid/src/copy.c' || echo '$(srcdir)/'`libuuid/src/copy.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-copy.Tpo libuuid/src/$(DEPDIR)/libuuid_la-copy.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/copy.c' object='libuuid/src/libuuid_la-copy.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-copy.lo `test -f 'libuuid/src/copy.c' || echo '$(srcdir)/'`libuuid/src/copy.c
+
+libuuid/src/libuuid_la-gen_uuid.lo: libuuid/src/gen_uuid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-gen_uuid.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-gen_uuid.Tpo -c -o libuuid/src/libuuid_la-gen_uuid.lo `test -f 'libuuid/src/gen_uuid.c' || echo '$(srcdir)/'`libuuid/src/gen_uuid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-gen_uuid.Tpo libuuid/src/$(DEPDIR)/libuuid_la-gen_uuid.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/gen_uuid.c' object='libuuid/src/libuuid_la-gen_uuid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-gen_uuid.lo `test -f 'libuuid/src/gen_uuid.c' || echo '$(srcdir)/'`libuuid/src/gen_uuid.c
+
+libuuid/src/libuuid_la-isnull.lo: libuuid/src/isnull.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-isnull.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-isnull.Tpo -c -o libuuid/src/libuuid_la-isnull.lo `test -f 'libuuid/src/isnull.c' || echo '$(srcdir)/'`libuuid/src/isnull.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-isnull.Tpo libuuid/src/$(DEPDIR)/libuuid_la-isnull.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/isnull.c' object='libuuid/src/libuuid_la-isnull.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-isnull.lo `test -f 'libuuid/src/isnull.c' || echo '$(srcdir)/'`libuuid/src/isnull.c
+
+libuuid/src/libuuid_la-pack.lo: libuuid/src/pack.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-pack.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-pack.Tpo -c -o libuuid/src/libuuid_la-pack.lo `test -f 'libuuid/src/pack.c' || echo '$(srcdir)/'`libuuid/src/pack.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-pack.Tpo libuuid/src/$(DEPDIR)/libuuid_la-pack.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/pack.c' object='libuuid/src/libuuid_la-pack.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-pack.lo `test -f 'libuuid/src/pack.c' || echo '$(srcdir)/'`libuuid/src/pack.c
+
+libuuid/src/libuuid_la-parse.lo: libuuid/src/parse.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-parse.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-parse.Tpo -c -o libuuid/src/libuuid_la-parse.lo `test -f 'libuuid/src/parse.c' || echo '$(srcdir)/'`libuuid/src/parse.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-parse.Tpo libuuid/src/$(DEPDIR)/libuuid_la-parse.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/parse.c' object='libuuid/src/libuuid_la-parse.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-parse.lo `test -f 'libuuid/src/parse.c' || echo '$(srcdir)/'`libuuid/src/parse.c
+
+libuuid/src/libuuid_la-unpack.lo: libuuid/src/unpack.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-unpack.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-unpack.Tpo -c -o libuuid/src/libuuid_la-unpack.lo `test -f 'libuuid/src/unpack.c' || echo '$(srcdir)/'`libuuid/src/unpack.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-unpack.Tpo libuuid/src/$(DEPDIR)/libuuid_la-unpack.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/unpack.c' object='libuuid/src/libuuid_la-unpack.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-unpack.lo `test -f 'libuuid/src/unpack.c' || echo '$(srcdir)/'`libuuid/src/unpack.c
+
+libuuid/src/libuuid_la-unparse.lo: libuuid/src/unparse.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-unparse.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-unparse.Tpo -c -o libuuid/src/libuuid_la-unparse.lo `test -f 'libuuid/src/unparse.c' || echo '$(srcdir)/'`libuuid/src/unparse.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-unparse.Tpo libuuid/src/$(DEPDIR)/libuuid_la-unparse.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/unparse.c' object='libuuid/src/libuuid_la-unparse.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-unparse.lo `test -f 'libuuid/src/unparse.c' || echo '$(srcdir)/'`libuuid/src/unparse.c
+
+libuuid/src/libuuid_la-uuid_time.lo: libuuid/src/uuid_time.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT libuuid/src/libuuid_la-uuid_time.lo -MD -MP -MF libuuid/src/$(DEPDIR)/libuuid_la-uuid_time.Tpo -c -o libuuid/src/libuuid_la-uuid_time.lo `test -f 'libuuid/src/uuid_time.c' || echo '$(srcdir)/'`libuuid/src/uuid_time.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/libuuid_la-uuid_time.Tpo libuuid/src/$(DEPDIR)/libuuid_la-uuid_time.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/uuid_time.c' object='libuuid/src/libuuid_la-uuid_time.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o libuuid/src/libuuid_la-uuid_time.lo `test -f 'libuuid/src/uuid_time.c' || echo '$(srcdir)/'`libuuid/src/uuid_time.c
+
+lib/libuuid_la-randutils.lo: lib/randutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -MT lib/libuuid_la-randutils.lo -MD -MP -MF lib/$(DEPDIR)/libuuid_la-randutils.Tpo -c -o lib/libuuid_la-randutils.lo `test -f 'lib/randutils.c' || echo '$(srcdir)/'`lib/randutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libuuid_la-randutils.Tpo lib/$(DEPDIR)/libuuid_la-randutils.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/randutils.c' object='lib/libuuid_la-randutils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuuid_la_CFLAGS) $(CFLAGS) -c -o lib/libuuid_la-randutils.lo `test -f 'lib/randutils.c' || echo '$(srcdir)/'`lib/randutils.c
+
+misc-utils/blkid-blkid.o: misc-utils/blkid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_CFLAGS) $(CFLAGS) -MT misc-utils/blkid-blkid.o -MD -MP -MF misc-utils/$(DEPDIR)/blkid-blkid.Tpo -c -o misc-utils/blkid-blkid.o `test -f 'misc-utils/blkid.c' || echo '$(srcdir)/'`misc-utils/blkid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/blkid-blkid.Tpo misc-utils/$(DEPDIR)/blkid-blkid.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/blkid.c' object='misc-utils/blkid-blkid.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_CFLAGS) $(CFLAGS) -c -o misc-utils/blkid-blkid.o `test -f 'misc-utils/blkid.c' || echo '$(srcdir)/'`misc-utils/blkid.c
+
+misc-utils/blkid-blkid.obj: misc-utils/blkid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_CFLAGS) $(CFLAGS) -MT misc-utils/blkid-blkid.obj -MD -MP -MF misc-utils/$(DEPDIR)/blkid-blkid.Tpo -c -o misc-utils/blkid-blkid.obj `if test -f 'misc-utils/blkid.c'; then $(CYGPATH_W) 'misc-utils/blkid.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/blkid.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/blkid-blkid.Tpo misc-utils/$(DEPDIR)/blkid-blkid.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/blkid.c' object='misc-utils/blkid-blkid.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_CFLAGS) $(CFLAGS) -c -o misc-utils/blkid-blkid.obj `if test -f 'misc-utils/blkid.c'; then $(CYGPATH_W) 'misc-utils/blkid.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/blkid.c'; fi`
+
+misc-utils/blkid_static-blkid.o: misc-utils/blkid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_static_CFLAGS) $(CFLAGS) -MT misc-utils/blkid_static-blkid.o -MD -MP -MF misc-utils/$(DEPDIR)/blkid_static-blkid.Tpo -c -o misc-utils/blkid_static-blkid.o `test -f 'misc-utils/blkid.c' || echo '$(srcdir)/'`misc-utils/blkid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/blkid_static-blkid.Tpo misc-utils/$(DEPDIR)/blkid_static-blkid.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/blkid.c' object='misc-utils/blkid_static-blkid.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_static_CFLAGS) $(CFLAGS) -c -o misc-utils/blkid_static-blkid.o `test -f 'misc-utils/blkid.c' || echo '$(srcdir)/'`misc-utils/blkid.c
+
+misc-utils/blkid_static-blkid.obj: misc-utils/blkid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_static_CFLAGS) $(CFLAGS) -MT misc-utils/blkid_static-blkid.obj -MD -MP -MF misc-utils/$(DEPDIR)/blkid_static-blkid.Tpo -c -o misc-utils/blkid_static-blkid.obj `if test -f 'misc-utils/blkid.c'; then $(CYGPATH_W) 'misc-utils/blkid.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/blkid.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/blkid_static-blkid.Tpo misc-utils/$(DEPDIR)/blkid_static-blkid.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/blkid.c' object='misc-utils/blkid_static-blkid.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_static_CFLAGS) $(CFLAGS) -c -o misc-utils/blkid_static-blkid.obj `if test -f 'misc-utils/blkid.c'; then $(CYGPATH_W) 'misc-utils/blkid.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/blkid.c'; fi`
+
+fdisks/cfdisk-cfdisk.o: fdisks/cfdisk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -MT fdisks/cfdisk-cfdisk.o -MD -MP -MF fdisks/$(DEPDIR)/cfdisk-cfdisk.Tpo -c -o fdisks/cfdisk-cfdisk.o `test -f 'fdisks/cfdisk.c' || echo '$(srcdir)/'`fdisks/cfdisk.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/cfdisk-cfdisk.Tpo fdisks/$(DEPDIR)/cfdisk-cfdisk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/cfdisk.c' object='fdisks/cfdisk-cfdisk.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -c -o fdisks/cfdisk-cfdisk.o `test -f 'fdisks/cfdisk.c' || echo '$(srcdir)/'`fdisks/cfdisk.c
+
+fdisks/cfdisk-cfdisk.obj: fdisks/cfdisk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -MT fdisks/cfdisk-cfdisk.obj -MD -MP -MF fdisks/$(DEPDIR)/cfdisk-cfdisk.Tpo -c -o fdisks/cfdisk-cfdisk.obj `if test -f 'fdisks/cfdisk.c'; then $(CYGPATH_W) 'fdisks/cfdisk.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/cfdisk.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/cfdisk-cfdisk.Tpo fdisks/$(DEPDIR)/cfdisk-cfdisk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/cfdisk.c' object='fdisks/cfdisk-cfdisk.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -c -o fdisks/cfdisk-cfdisk.obj `if test -f 'fdisks/cfdisk.c'; then $(CYGPATH_W) 'fdisks/cfdisk.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/cfdisk.c'; fi`
+
+fdisks/cfdisk-gpt.o: fdisks/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -MT fdisks/cfdisk-gpt.o -MD -MP -MF fdisks/$(DEPDIR)/cfdisk-gpt.Tpo -c -o fdisks/cfdisk-gpt.o `test -f 'fdisks/gpt.c' || echo '$(srcdir)/'`fdisks/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/cfdisk-gpt.Tpo fdisks/$(DEPDIR)/cfdisk-gpt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/gpt.c' object='fdisks/cfdisk-gpt.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -c -o fdisks/cfdisk-gpt.o `test -f 'fdisks/gpt.c' || echo '$(srcdir)/'`fdisks/gpt.c
+
+fdisks/cfdisk-gpt.obj: fdisks/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -MT fdisks/cfdisk-gpt.obj -MD -MP -MF fdisks/$(DEPDIR)/cfdisk-gpt.Tpo -c -o fdisks/cfdisk-gpt.obj `if test -f 'fdisks/gpt.c'; then $(CYGPATH_W) 'fdisks/gpt.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/gpt.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/cfdisk-gpt.Tpo fdisks/$(DEPDIR)/cfdisk-gpt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/gpt.c' object='fdisks/cfdisk-gpt.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -c -o fdisks/cfdisk-gpt.obj `if test -f 'fdisks/gpt.c'; then $(CYGPATH_W) 'fdisks/gpt.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/gpt.c'; fi`
+
+fdisks/cfdisk-i386_sys_types.o: fdisks/i386_sys_types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -MT fdisks/cfdisk-i386_sys_types.o -MD -MP -MF fdisks/$(DEPDIR)/cfdisk-i386_sys_types.Tpo -c -o fdisks/cfdisk-i386_sys_types.o `test -f 'fdisks/i386_sys_types.c' || echo '$(srcdir)/'`fdisks/i386_sys_types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/cfdisk-i386_sys_types.Tpo fdisks/$(DEPDIR)/cfdisk-i386_sys_types.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/i386_sys_types.c' object='fdisks/cfdisk-i386_sys_types.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -c -o fdisks/cfdisk-i386_sys_types.o `test -f 'fdisks/i386_sys_types.c' || echo '$(srcdir)/'`fdisks/i386_sys_types.c
+
+fdisks/cfdisk-i386_sys_types.obj: fdisks/i386_sys_types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -MT fdisks/cfdisk-i386_sys_types.obj -MD -MP -MF fdisks/$(DEPDIR)/cfdisk-i386_sys_types.Tpo -c -o fdisks/cfdisk-i386_sys_types.obj `if test -f 'fdisks/i386_sys_types.c'; then $(CYGPATH_W) 'fdisks/i386_sys_types.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/i386_sys_types.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/cfdisk-i386_sys_types.Tpo fdisks/$(DEPDIR)/cfdisk-i386_sys_types.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/i386_sys_types.c' object='fdisks/cfdisk-i386_sys_types.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfdisk_CFLAGS) $(CFLAGS) -c -o fdisks/cfdisk-i386_sys_types.obj `if test -f 'fdisks/i386_sys_types.c'; then $(CYGPATH_W) 'fdisks/i386_sys_types.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/i386_sys_types.c'; fi`
+
+login-utils/chfn-chfn.o: login-utils/chfn.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT login-utils/chfn-chfn.o -MD -MP -MF login-utils/$(DEPDIR)/chfn-chfn.Tpo -c -o login-utils/chfn-chfn.o `test -f 'login-utils/chfn.c' || echo '$(srcdir)/'`login-utils/chfn.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chfn-chfn.Tpo login-utils/$(DEPDIR)/chfn-chfn.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/chfn.c' object='login-utils/chfn-chfn.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o login-utils/chfn-chfn.o `test -f 'login-utils/chfn.c' || echo '$(srcdir)/'`login-utils/chfn.c
+
+login-utils/chfn-chfn.obj: login-utils/chfn.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT login-utils/chfn-chfn.obj -MD -MP -MF login-utils/$(DEPDIR)/chfn-chfn.Tpo -c -o login-utils/chfn-chfn.obj `if test -f 'login-utils/chfn.c'; then $(CYGPATH_W) 'login-utils/chfn.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/chfn.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chfn-chfn.Tpo login-utils/$(DEPDIR)/chfn-chfn.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/chfn.c' object='login-utils/chfn-chfn.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o login-utils/chfn-chfn.obj `if test -f 'login-utils/chfn.c'; then $(CYGPATH_W) 'login-utils/chfn.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/chfn.c'; fi`
+
+login-utils/chfn-islocal.o: login-utils/islocal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT login-utils/chfn-islocal.o -MD -MP -MF login-utils/$(DEPDIR)/chfn-islocal.Tpo -c -o login-utils/chfn-islocal.o `test -f 'login-utils/islocal.c' || echo '$(srcdir)/'`login-utils/islocal.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chfn-islocal.Tpo login-utils/$(DEPDIR)/chfn-islocal.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/islocal.c' object='login-utils/chfn-islocal.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o login-utils/chfn-islocal.o `test -f 'login-utils/islocal.c' || echo '$(srcdir)/'`login-utils/islocal.c
+
+login-utils/chfn-islocal.obj: login-utils/islocal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT login-utils/chfn-islocal.obj -MD -MP -MF login-utils/$(DEPDIR)/chfn-islocal.Tpo -c -o login-utils/chfn-islocal.obj `if test -f 'login-utils/islocal.c'; then $(CYGPATH_W) 'login-utils/islocal.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/islocal.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chfn-islocal.Tpo login-utils/$(DEPDIR)/chfn-islocal.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/islocal.c' object='login-utils/chfn-islocal.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o login-utils/chfn-islocal.obj `if test -f 'login-utils/islocal.c'; then $(CYGPATH_W) 'login-utils/islocal.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/islocal.c'; fi`
+
+login-utils/chfn-setpwnam.o: login-utils/setpwnam.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT login-utils/chfn-setpwnam.o -MD -MP -MF login-utils/$(DEPDIR)/chfn-setpwnam.Tpo -c -o login-utils/chfn-setpwnam.o `test -f 'login-utils/setpwnam.c' || echo '$(srcdir)/'`login-utils/setpwnam.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chfn-setpwnam.Tpo login-utils/$(DEPDIR)/chfn-setpwnam.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/setpwnam.c' object='login-utils/chfn-setpwnam.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o login-utils/chfn-setpwnam.o `test -f 'login-utils/setpwnam.c' || echo '$(srcdir)/'`login-utils/setpwnam.c
+
+login-utils/chfn-setpwnam.obj: login-utils/setpwnam.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT login-utils/chfn-setpwnam.obj -MD -MP -MF login-utils/$(DEPDIR)/chfn-setpwnam.Tpo -c -o login-utils/chfn-setpwnam.obj `if test -f 'login-utils/setpwnam.c'; then $(CYGPATH_W) 'login-utils/setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/setpwnam.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chfn-setpwnam.Tpo login-utils/$(DEPDIR)/chfn-setpwnam.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/setpwnam.c' object='login-utils/chfn-setpwnam.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o login-utils/chfn-setpwnam.obj `if test -f 'login-utils/setpwnam.c'; then $(CYGPATH_W) 'login-utils/setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/setpwnam.c'; fi`
+
+login-utils/chfn-selinux_utils.o: login-utils/selinux_utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT login-utils/chfn-selinux_utils.o -MD -MP -MF login-utils/$(DEPDIR)/chfn-selinux_utils.Tpo -c -o login-utils/chfn-selinux_utils.o `test -f 'login-utils/selinux_utils.c' || echo '$(srcdir)/'`login-utils/selinux_utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chfn-selinux_utils.Tpo login-utils/$(DEPDIR)/chfn-selinux_utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/selinux_utils.c' object='login-utils/chfn-selinux_utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o login-utils/chfn-selinux_utils.o `test -f 'login-utils/selinux_utils.c' || echo '$(srcdir)/'`login-utils/selinux_utils.c
+
+login-utils/chfn-selinux_utils.obj: login-utils/selinux_utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT login-utils/chfn-selinux_utils.obj -MD -MP -MF login-utils/$(DEPDIR)/chfn-selinux_utils.Tpo -c -o login-utils/chfn-selinux_utils.obj `if test -f 'login-utils/selinux_utils.c'; then $(CYGPATH_W) 'login-utils/selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/selinux_utils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chfn-selinux_utils.Tpo login-utils/$(DEPDIR)/chfn-selinux_utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/selinux_utils.c' object='login-utils/chfn-selinux_utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o login-utils/chfn-selinux_utils.obj `if test -f 'login-utils/selinux_utils.c'; then $(CYGPATH_W) 'login-utils/selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/selinux_utils.c'; fi`
+
+login-utils/chsh-chsh.o: login-utils/chsh.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT login-utils/chsh-chsh.o -MD -MP -MF login-utils/$(DEPDIR)/chsh-chsh.Tpo -c -o login-utils/chsh-chsh.o `test -f 'login-utils/chsh.c' || echo '$(srcdir)/'`login-utils/chsh.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chsh-chsh.Tpo login-utils/$(DEPDIR)/chsh-chsh.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/chsh.c' object='login-utils/chsh-chsh.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o login-utils/chsh-chsh.o `test -f 'login-utils/chsh.c' || echo '$(srcdir)/'`login-utils/chsh.c
+
+login-utils/chsh-chsh.obj: login-utils/chsh.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT login-utils/chsh-chsh.obj -MD -MP -MF login-utils/$(DEPDIR)/chsh-chsh.Tpo -c -o login-utils/chsh-chsh.obj `if test -f 'login-utils/chsh.c'; then $(CYGPATH_W) 'login-utils/chsh.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/chsh.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chsh-chsh.Tpo login-utils/$(DEPDIR)/chsh-chsh.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/chsh.c' object='login-utils/chsh-chsh.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o login-utils/chsh-chsh.obj `if test -f 'login-utils/chsh.c'; then $(CYGPATH_W) 'login-utils/chsh.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/chsh.c'; fi`
+
+login-utils/chsh-islocal.o: login-utils/islocal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT login-utils/chsh-islocal.o -MD -MP -MF login-utils/$(DEPDIR)/chsh-islocal.Tpo -c -o login-utils/chsh-islocal.o `test -f 'login-utils/islocal.c' || echo '$(srcdir)/'`login-utils/islocal.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chsh-islocal.Tpo login-utils/$(DEPDIR)/chsh-islocal.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/islocal.c' object='login-utils/chsh-islocal.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o login-utils/chsh-islocal.o `test -f 'login-utils/islocal.c' || echo '$(srcdir)/'`login-utils/islocal.c
+
+login-utils/chsh-islocal.obj: login-utils/islocal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT login-utils/chsh-islocal.obj -MD -MP -MF login-utils/$(DEPDIR)/chsh-islocal.Tpo -c -o login-utils/chsh-islocal.obj `if test -f 'login-utils/islocal.c'; then $(CYGPATH_W) 'login-utils/islocal.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/islocal.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chsh-islocal.Tpo login-utils/$(DEPDIR)/chsh-islocal.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/islocal.c' object='login-utils/chsh-islocal.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o login-utils/chsh-islocal.obj `if test -f 'login-utils/islocal.c'; then $(CYGPATH_W) 'login-utils/islocal.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/islocal.c'; fi`
+
+login-utils/chsh-setpwnam.o: login-utils/setpwnam.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT login-utils/chsh-setpwnam.o -MD -MP -MF login-utils/$(DEPDIR)/chsh-setpwnam.Tpo -c -o login-utils/chsh-setpwnam.o `test -f 'login-utils/setpwnam.c' || echo '$(srcdir)/'`login-utils/setpwnam.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chsh-setpwnam.Tpo login-utils/$(DEPDIR)/chsh-setpwnam.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/setpwnam.c' object='login-utils/chsh-setpwnam.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o login-utils/chsh-setpwnam.o `test -f 'login-utils/setpwnam.c' || echo '$(srcdir)/'`login-utils/setpwnam.c
+
+login-utils/chsh-setpwnam.obj: login-utils/setpwnam.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT login-utils/chsh-setpwnam.obj -MD -MP -MF login-utils/$(DEPDIR)/chsh-setpwnam.Tpo -c -o login-utils/chsh-setpwnam.obj `if test -f 'login-utils/setpwnam.c'; then $(CYGPATH_W) 'login-utils/setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/setpwnam.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chsh-setpwnam.Tpo login-utils/$(DEPDIR)/chsh-setpwnam.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/setpwnam.c' object='login-utils/chsh-setpwnam.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o login-utils/chsh-setpwnam.obj `if test -f 'login-utils/setpwnam.c'; then $(CYGPATH_W) 'login-utils/setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/setpwnam.c'; fi`
+
+login-utils/chsh-selinux_utils.o: login-utils/selinux_utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT login-utils/chsh-selinux_utils.o -MD -MP -MF login-utils/$(DEPDIR)/chsh-selinux_utils.Tpo -c -o login-utils/chsh-selinux_utils.o `test -f 'login-utils/selinux_utils.c' || echo '$(srcdir)/'`login-utils/selinux_utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chsh-selinux_utils.Tpo login-utils/$(DEPDIR)/chsh-selinux_utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/selinux_utils.c' object='login-utils/chsh-selinux_utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o login-utils/chsh-selinux_utils.o `test -f 'login-utils/selinux_utils.c' || echo '$(srcdir)/'`login-utils/selinux_utils.c
+
+login-utils/chsh-selinux_utils.obj: login-utils/selinux_utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT login-utils/chsh-selinux_utils.obj -MD -MP -MF login-utils/$(DEPDIR)/chsh-selinux_utils.Tpo -c -o login-utils/chsh-selinux_utils.obj `if test -f 'login-utils/selinux_utils.c'; then $(CYGPATH_W) 'login-utils/selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/selinux_utils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/chsh-selinux_utils.Tpo login-utils/$(DEPDIR)/chsh-selinux_utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/selinux_utils.c' object='login-utils/chsh-selinux_utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o login-utils/chsh-selinux_utils.obj `if test -f 'login-utils/selinux_utils.c'; then $(CYGPATH_W) 'login-utils/selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/selinux_utils.c'; fi`
+
+sys-utils/eject-eject.o: sys-utils/eject.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(eject_CFLAGS) $(CFLAGS) -MT sys-utils/eject-eject.o -MD -MP -MF sys-utils/$(DEPDIR)/eject-eject.Tpo -c -o sys-utils/eject-eject.o `test -f 'sys-utils/eject.c' || echo '$(srcdir)/'`sys-utils/eject.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/eject-eject.Tpo sys-utils/$(DEPDIR)/eject-eject.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/eject.c' object='sys-utils/eject-eject.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(eject_CFLAGS) $(CFLAGS) -c -o sys-utils/eject-eject.o `test -f 'sys-utils/eject.c' || echo '$(srcdir)/'`sys-utils/eject.c
+
+sys-utils/eject-eject.obj: sys-utils/eject.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(eject_CFLAGS) $(CFLAGS) -MT sys-utils/eject-eject.obj -MD -MP -MF sys-utils/$(DEPDIR)/eject-eject.Tpo -c -o sys-utils/eject-eject.obj `if test -f 'sys-utils/eject.c'; then $(CYGPATH_W) 'sys-utils/eject.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/eject.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/eject-eject.Tpo sys-utils/$(DEPDIR)/eject-eject.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/eject.c' object='sys-utils/eject-eject.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(eject_CFLAGS) $(CFLAGS) -c -o sys-utils/eject-eject.obj `if test -f 'sys-utils/eject.c'; then $(CYGPATH_W) 'sys-utils/eject.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/eject.c'; fi`
+
+fdisks/fdisk-utils.o: fdisks/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-utils.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-utils.Tpo -c -o fdisks/fdisk-utils.o `test -f 'fdisks/utils.c' || echo '$(srcdir)/'`fdisks/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-utils.Tpo fdisks/$(DEPDIR)/fdisk-utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/utils.c' object='fdisks/fdisk-utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-utils.o `test -f 'fdisks/utils.c' || echo '$(srcdir)/'`fdisks/utils.c
+
+fdisks/fdisk-utils.obj: fdisks/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-utils.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-utils.Tpo -c -o fdisks/fdisk-utils.obj `if test -f 'fdisks/utils.c'; then $(CYGPATH_W) 'fdisks/utils.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/utils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-utils.Tpo fdisks/$(DEPDIR)/fdisk-utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/utils.c' object='fdisks/fdisk-utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-utils.obj `if test -f 'fdisks/utils.c'; then $(CYGPATH_W) 'fdisks/utils.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/utils.c'; fi`
+
+fdisks/fdisk-fdisk.o: fdisks/fdisk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdisk.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdisk.Tpo -c -o fdisks/fdisk-fdisk.o `test -f 'fdisks/fdisk.c' || echo '$(srcdir)/'`fdisks/fdisk.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdisk.Tpo fdisks/$(DEPDIR)/fdisk-fdisk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisk.c' object='fdisks/fdisk-fdisk.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdisk.o `test -f 'fdisks/fdisk.c' || echo '$(srcdir)/'`fdisks/fdisk.c
+
+fdisks/fdisk-fdisk.obj: fdisks/fdisk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdisk.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdisk.Tpo -c -o fdisks/fdisk-fdisk.obj `if test -f 'fdisks/fdisk.c'; then $(CYGPATH_W) 'fdisks/fdisk.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisk.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdisk.Tpo fdisks/$(DEPDIR)/fdisk-fdisk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisk.c' object='fdisks/fdisk-fdisk.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdisk.obj `if test -f 'fdisks/fdisk.c'; then $(CYGPATH_W) 'fdisks/fdisk.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisk.c'; fi`
+
+fdisks/fdisk-fdiskaixlabel.o: fdisks/fdiskaixlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdiskaixlabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdiskaixlabel.Tpo -c -o fdisks/fdisk-fdiskaixlabel.o `test -f 'fdisks/fdiskaixlabel.c' || echo '$(srcdir)/'`fdisks/fdiskaixlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdiskaixlabel.Tpo fdisks/$(DEPDIR)/fdisk-fdiskaixlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskaixlabel.c' object='fdisks/fdisk-fdiskaixlabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdiskaixlabel.o `test -f 'fdisks/fdiskaixlabel.c' || echo '$(srcdir)/'`fdisks/fdiskaixlabel.c
+
+fdisks/fdisk-fdiskaixlabel.obj: fdisks/fdiskaixlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdiskaixlabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdiskaixlabel.Tpo -c -o fdisks/fdisk-fdiskaixlabel.obj `if test -f 'fdisks/fdiskaixlabel.c'; then $(CYGPATH_W) 'fdisks/fdiskaixlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskaixlabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdiskaixlabel.Tpo fdisks/$(DEPDIR)/fdisk-fdiskaixlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskaixlabel.c' object='fdisks/fdisk-fdiskaixlabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdiskaixlabel.obj `if test -f 'fdisks/fdiskaixlabel.c'; then $(CYGPATH_W) 'fdisks/fdiskaixlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskaixlabel.c'; fi`
+
+fdisks/fdisk-fdiskbsdlabel.o: fdisks/fdiskbsdlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdiskbsdlabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdiskbsdlabel.Tpo -c -o fdisks/fdisk-fdiskbsdlabel.o `test -f 'fdisks/fdiskbsdlabel.c' || echo '$(srcdir)/'`fdisks/fdiskbsdlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdiskbsdlabel.Tpo fdisks/$(DEPDIR)/fdisk-fdiskbsdlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskbsdlabel.c' object='fdisks/fdisk-fdiskbsdlabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdiskbsdlabel.o `test -f 'fdisks/fdiskbsdlabel.c' || echo '$(srcdir)/'`fdisks/fdiskbsdlabel.c
+
+fdisks/fdisk-fdiskbsdlabel.obj: fdisks/fdiskbsdlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdiskbsdlabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdiskbsdlabel.Tpo -c -o fdisks/fdisk-fdiskbsdlabel.obj `if test -f 'fdisks/fdiskbsdlabel.c'; then $(CYGPATH_W) 'fdisks/fdiskbsdlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskbsdlabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdiskbsdlabel.Tpo fdisks/$(DEPDIR)/fdisk-fdiskbsdlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskbsdlabel.c' object='fdisks/fdisk-fdiskbsdlabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdiskbsdlabel.obj `if test -f 'fdisks/fdiskbsdlabel.c'; then $(CYGPATH_W) 'fdisks/fdiskbsdlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskbsdlabel.c'; fi`
+
+fdisks/fdisk-fdiskmaclabel.o: fdisks/fdiskmaclabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdiskmaclabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdiskmaclabel.Tpo -c -o fdisks/fdisk-fdiskmaclabel.o `test -f 'fdisks/fdiskmaclabel.c' || echo '$(srcdir)/'`fdisks/fdiskmaclabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdiskmaclabel.Tpo fdisks/$(DEPDIR)/fdisk-fdiskmaclabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskmaclabel.c' object='fdisks/fdisk-fdiskmaclabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdiskmaclabel.o `test -f 'fdisks/fdiskmaclabel.c' || echo '$(srcdir)/'`fdisks/fdiskmaclabel.c
+
+fdisks/fdisk-fdiskmaclabel.obj: fdisks/fdiskmaclabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdiskmaclabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdiskmaclabel.Tpo -c -o fdisks/fdisk-fdiskmaclabel.obj `if test -f 'fdisks/fdiskmaclabel.c'; then $(CYGPATH_W) 'fdisks/fdiskmaclabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskmaclabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdiskmaclabel.Tpo fdisks/$(DEPDIR)/fdisk-fdiskmaclabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskmaclabel.c' object='fdisks/fdisk-fdiskmaclabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdiskmaclabel.obj `if test -f 'fdisks/fdiskmaclabel.c'; then $(CYGPATH_W) 'fdisks/fdiskmaclabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskmaclabel.c'; fi`
+
+fdisks/fdisk-fdisksgilabel.o: fdisks/fdisksgilabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdisksgilabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdisksgilabel.Tpo -c -o fdisks/fdisk-fdisksgilabel.o `test -f 'fdisks/fdisksgilabel.c' || echo '$(srcdir)/'`fdisks/fdisksgilabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdisksgilabel.Tpo fdisks/$(DEPDIR)/fdisk-fdisksgilabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisksgilabel.c' object='fdisks/fdisk-fdisksgilabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdisksgilabel.o `test -f 'fdisks/fdisksgilabel.c' || echo '$(srcdir)/'`fdisks/fdisksgilabel.c
+
+fdisks/fdisk-fdisksgilabel.obj: fdisks/fdisksgilabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdisksgilabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdisksgilabel.Tpo -c -o fdisks/fdisk-fdisksgilabel.obj `if test -f 'fdisks/fdisksgilabel.c'; then $(CYGPATH_W) 'fdisks/fdisksgilabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisksgilabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdisksgilabel.Tpo fdisks/$(DEPDIR)/fdisk-fdisksgilabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisksgilabel.c' object='fdisks/fdisk-fdisksgilabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdisksgilabel.obj `if test -f 'fdisks/fdisksgilabel.c'; then $(CYGPATH_W) 'fdisks/fdisksgilabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisksgilabel.c'; fi`
+
+fdisks/fdisk-fdisksunlabel.o: fdisks/fdisksunlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdisksunlabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdisksunlabel.Tpo -c -o fdisks/fdisk-fdisksunlabel.o `test -f 'fdisks/fdisksunlabel.c' || echo '$(srcdir)/'`fdisks/fdisksunlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdisksunlabel.Tpo fdisks/$(DEPDIR)/fdisk-fdisksunlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisksunlabel.c' object='fdisks/fdisk-fdisksunlabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdisksunlabel.o `test -f 'fdisks/fdisksunlabel.c' || echo '$(srcdir)/'`fdisks/fdisksunlabel.c
+
+fdisks/fdisk-fdisksunlabel.obj: fdisks/fdisksunlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdisksunlabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdisksunlabel.Tpo -c -o fdisks/fdisk-fdisksunlabel.obj `if test -f 'fdisks/fdisksunlabel.c'; then $(CYGPATH_W) 'fdisks/fdisksunlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisksunlabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdisksunlabel.Tpo fdisks/$(DEPDIR)/fdisk-fdisksunlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisksunlabel.c' object='fdisks/fdisk-fdisksunlabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdisksunlabel.obj `if test -f 'fdisks/fdisksunlabel.c'; then $(CYGPATH_W) 'fdisks/fdisksunlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisksunlabel.c'; fi`
+
+fdisks/fdisk-fdiskdoslabel.o: fdisks/fdiskdoslabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdiskdoslabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdiskdoslabel.Tpo -c -o fdisks/fdisk-fdiskdoslabel.o `test -f 'fdisks/fdiskdoslabel.c' || echo '$(srcdir)/'`fdisks/fdiskdoslabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdiskdoslabel.Tpo fdisks/$(DEPDIR)/fdisk-fdiskdoslabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskdoslabel.c' object='fdisks/fdisk-fdiskdoslabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdiskdoslabel.o `test -f 'fdisks/fdiskdoslabel.c' || echo '$(srcdir)/'`fdisks/fdiskdoslabel.c
+
+fdisks/fdisk-fdiskdoslabel.obj: fdisks/fdiskdoslabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-fdiskdoslabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-fdiskdoslabel.Tpo -c -o fdisks/fdisk-fdiskdoslabel.obj `if test -f 'fdisks/fdiskdoslabel.c'; then $(CYGPATH_W) 'fdisks/fdiskdoslabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskdoslabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-fdiskdoslabel.Tpo fdisks/$(DEPDIR)/fdisk-fdiskdoslabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskdoslabel.c' object='fdisks/fdisk-fdiskdoslabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-fdiskdoslabel.obj `if test -f 'fdisks/fdiskdoslabel.c'; then $(CYGPATH_W) 'fdisks/fdiskdoslabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskdoslabel.c'; fi`
+
+fdisks/fdisk-partname.o: fdisks/partname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-partname.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-partname.Tpo -c -o fdisks/fdisk-partname.o `test -f 'fdisks/partname.c' || echo '$(srcdir)/'`fdisks/partname.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-partname.Tpo fdisks/$(DEPDIR)/fdisk-partname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/partname.c' object='fdisks/fdisk-partname.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-partname.o `test -f 'fdisks/partname.c' || echo '$(srcdir)/'`fdisks/partname.c
+
+fdisks/fdisk-partname.obj: fdisks/partname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-partname.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-partname.Tpo -c -o fdisks/fdisk-partname.obj `if test -f 'fdisks/partname.c'; then $(CYGPATH_W) 'fdisks/partname.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/partname.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-partname.Tpo fdisks/$(DEPDIR)/fdisk-partname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/partname.c' object='fdisks/fdisk-partname.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-partname.obj `if test -f 'fdisks/partname.c'; then $(CYGPATH_W) 'fdisks/partname.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/partname.c'; fi`
+
+fdisks/fdisk-gpt.o: fdisks/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-gpt.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-gpt.Tpo -c -o fdisks/fdisk-gpt.o `test -f 'fdisks/gpt.c' || echo '$(srcdir)/'`fdisks/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-gpt.Tpo fdisks/$(DEPDIR)/fdisk-gpt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/gpt.c' object='fdisks/fdisk-gpt.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-gpt.o `test -f 'fdisks/gpt.c' || echo '$(srcdir)/'`fdisks/gpt.c
+
+fdisks/fdisk-gpt.obj: fdisks/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-gpt.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-gpt.Tpo -c -o fdisks/fdisk-gpt.obj `if test -f 'fdisks/gpt.c'; then $(CYGPATH_W) 'fdisks/gpt.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/gpt.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-gpt.Tpo fdisks/$(DEPDIR)/fdisk-gpt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/gpt.c' object='fdisks/fdisk-gpt.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-gpt.obj `if test -f 'fdisks/gpt.c'; then $(CYGPATH_W) 'fdisks/gpt.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/gpt.c'; fi`
+
+fdisks/fdisk-i386_sys_types.o: fdisks/i386_sys_types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-i386_sys_types.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk-i386_sys_types.Tpo -c -o fdisks/fdisk-i386_sys_types.o `test -f 'fdisks/i386_sys_types.c' || echo '$(srcdir)/'`fdisks/i386_sys_types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-i386_sys_types.Tpo fdisks/$(DEPDIR)/fdisk-i386_sys_types.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/i386_sys_types.c' object='fdisks/fdisk-i386_sys_types.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-i386_sys_types.o `test -f 'fdisks/i386_sys_types.c' || echo '$(srcdir)/'`fdisks/i386_sys_types.c
+
+fdisks/fdisk-i386_sys_types.obj: fdisks/i386_sys_types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -MT fdisks/fdisk-i386_sys_types.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk-i386_sys_types.Tpo -c -o fdisks/fdisk-i386_sys_types.obj `if test -f 'fdisks/i386_sys_types.c'; then $(CYGPATH_W) 'fdisks/i386_sys_types.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/i386_sys_types.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk-i386_sys_types.Tpo fdisks/$(DEPDIR)/fdisk-i386_sys_types.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/i386_sys_types.c' object='fdisks/fdisk-i386_sys_types.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk-i386_sys_types.obj `if test -f 'fdisks/i386_sys_types.c'; then $(CYGPATH_W) 'fdisks/i386_sys_types.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/i386_sys_types.c'; fi`
+
+fdisks/fdisk_static-utils.o: fdisks/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-utils.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-utils.Tpo -c -o fdisks/fdisk_static-utils.o `test -f 'fdisks/utils.c' || echo '$(srcdir)/'`fdisks/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-utils.Tpo fdisks/$(DEPDIR)/fdisk_static-utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/utils.c' object='fdisks/fdisk_static-utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-utils.o `test -f 'fdisks/utils.c' || echo '$(srcdir)/'`fdisks/utils.c
+
+fdisks/fdisk_static-utils.obj: fdisks/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-utils.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-utils.Tpo -c -o fdisks/fdisk_static-utils.obj `if test -f 'fdisks/utils.c'; then $(CYGPATH_W) 'fdisks/utils.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/utils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-utils.Tpo fdisks/$(DEPDIR)/fdisk_static-utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/utils.c' object='fdisks/fdisk_static-utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-utils.obj `if test -f 'fdisks/utils.c'; then $(CYGPATH_W) 'fdisks/utils.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/utils.c'; fi`
+
+fdisks/fdisk_static-fdisk.o: fdisks/fdisk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdisk.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdisk.Tpo -c -o fdisks/fdisk_static-fdisk.o `test -f 'fdisks/fdisk.c' || echo '$(srcdir)/'`fdisks/fdisk.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdisk.Tpo fdisks/$(DEPDIR)/fdisk_static-fdisk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisk.c' object='fdisks/fdisk_static-fdisk.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdisk.o `test -f 'fdisks/fdisk.c' || echo '$(srcdir)/'`fdisks/fdisk.c
+
+fdisks/fdisk_static-fdisk.obj: fdisks/fdisk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdisk.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdisk.Tpo -c -o fdisks/fdisk_static-fdisk.obj `if test -f 'fdisks/fdisk.c'; then $(CYGPATH_W) 'fdisks/fdisk.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisk.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdisk.Tpo fdisks/$(DEPDIR)/fdisk_static-fdisk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisk.c' object='fdisks/fdisk_static-fdisk.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdisk.obj `if test -f 'fdisks/fdisk.c'; then $(CYGPATH_W) 'fdisks/fdisk.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisk.c'; fi`
+
+fdisks/fdisk_static-fdiskaixlabel.o: fdisks/fdiskaixlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdiskaixlabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdiskaixlabel.Tpo -c -o fdisks/fdisk_static-fdiskaixlabel.o `test -f 'fdisks/fdiskaixlabel.c' || echo '$(srcdir)/'`fdisks/fdiskaixlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdiskaixlabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdiskaixlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskaixlabel.c' object='fdisks/fdisk_static-fdiskaixlabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdiskaixlabel.o `test -f 'fdisks/fdiskaixlabel.c' || echo '$(srcdir)/'`fdisks/fdiskaixlabel.c
+
+fdisks/fdisk_static-fdiskaixlabel.obj: fdisks/fdiskaixlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdiskaixlabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdiskaixlabel.Tpo -c -o fdisks/fdisk_static-fdiskaixlabel.obj `if test -f 'fdisks/fdiskaixlabel.c'; then $(CYGPATH_W) 'fdisks/fdiskaixlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskaixlabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdiskaixlabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdiskaixlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskaixlabel.c' object='fdisks/fdisk_static-fdiskaixlabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdiskaixlabel.obj `if test -f 'fdisks/fdiskaixlabel.c'; then $(CYGPATH_W) 'fdisks/fdiskaixlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskaixlabel.c'; fi`
+
+fdisks/fdisk_static-fdiskbsdlabel.o: fdisks/fdiskbsdlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdiskbsdlabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdiskbsdlabel.Tpo -c -o fdisks/fdisk_static-fdiskbsdlabel.o `test -f 'fdisks/fdiskbsdlabel.c' || echo '$(srcdir)/'`fdisks/fdiskbsdlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdiskbsdlabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdiskbsdlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskbsdlabel.c' object='fdisks/fdisk_static-fdiskbsdlabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdiskbsdlabel.o `test -f 'fdisks/fdiskbsdlabel.c' || echo '$(srcdir)/'`fdisks/fdiskbsdlabel.c
+
+fdisks/fdisk_static-fdiskbsdlabel.obj: fdisks/fdiskbsdlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdiskbsdlabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdiskbsdlabel.Tpo -c -o fdisks/fdisk_static-fdiskbsdlabel.obj `if test -f 'fdisks/fdiskbsdlabel.c'; then $(CYGPATH_W) 'fdisks/fdiskbsdlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskbsdlabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdiskbsdlabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdiskbsdlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskbsdlabel.c' object='fdisks/fdisk_static-fdiskbsdlabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdiskbsdlabel.obj `if test -f 'fdisks/fdiskbsdlabel.c'; then $(CYGPATH_W) 'fdisks/fdiskbsdlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskbsdlabel.c'; fi`
+
+fdisks/fdisk_static-fdiskmaclabel.o: fdisks/fdiskmaclabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdiskmaclabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdiskmaclabel.Tpo -c -o fdisks/fdisk_static-fdiskmaclabel.o `test -f 'fdisks/fdiskmaclabel.c' || echo '$(srcdir)/'`fdisks/fdiskmaclabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdiskmaclabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdiskmaclabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskmaclabel.c' object='fdisks/fdisk_static-fdiskmaclabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdiskmaclabel.o `test -f 'fdisks/fdiskmaclabel.c' || echo '$(srcdir)/'`fdisks/fdiskmaclabel.c
+
+fdisks/fdisk_static-fdiskmaclabel.obj: fdisks/fdiskmaclabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdiskmaclabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdiskmaclabel.Tpo -c -o fdisks/fdisk_static-fdiskmaclabel.obj `if test -f 'fdisks/fdiskmaclabel.c'; then $(CYGPATH_W) 'fdisks/fdiskmaclabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskmaclabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdiskmaclabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdiskmaclabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskmaclabel.c' object='fdisks/fdisk_static-fdiskmaclabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdiskmaclabel.obj `if test -f 'fdisks/fdiskmaclabel.c'; then $(CYGPATH_W) 'fdisks/fdiskmaclabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskmaclabel.c'; fi`
+
+fdisks/fdisk_static-fdisksgilabel.o: fdisks/fdisksgilabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdisksgilabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdisksgilabel.Tpo -c -o fdisks/fdisk_static-fdisksgilabel.o `test -f 'fdisks/fdisksgilabel.c' || echo '$(srcdir)/'`fdisks/fdisksgilabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdisksgilabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdisksgilabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisksgilabel.c' object='fdisks/fdisk_static-fdisksgilabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdisksgilabel.o `test -f 'fdisks/fdisksgilabel.c' || echo '$(srcdir)/'`fdisks/fdisksgilabel.c
+
+fdisks/fdisk_static-fdisksgilabel.obj: fdisks/fdisksgilabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdisksgilabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdisksgilabel.Tpo -c -o fdisks/fdisk_static-fdisksgilabel.obj `if test -f 'fdisks/fdisksgilabel.c'; then $(CYGPATH_W) 'fdisks/fdisksgilabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisksgilabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdisksgilabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdisksgilabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisksgilabel.c' object='fdisks/fdisk_static-fdisksgilabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdisksgilabel.obj `if test -f 'fdisks/fdisksgilabel.c'; then $(CYGPATH_W) 'fdisks/fdisksgilabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisksgilabel.c'; fi`
+
+fdisks/fdisk_static-fdisksunlabel.o: fdisks/fdisksunlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdisksunlabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdisksunlabel.Tpo -c -o fdisks/fdisk_static-fdisksunlabel.o `test -f 'fdisks/fdisksunlabel.c' || echo '$(srcdir)/'`fdisks/fdisksunlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdisksunlabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdisksunlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisksunlabel.c' object='fdisks/fdisk_static-fdisksunlabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdisksunlabel.o `test -f 'fdisks/fdisksunlabel.c' || echo '$(srcdir)/'`fdisks/fdisksunlabel.c
+
+fdisks/fdisk_static-fdisksunlabel.obj: fdisks/fdisksunlabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdisksunlabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdisksunlabel.Tpo -c -o fdisks/fdisk_static-fdisksunlabel.obj `if test -f 'fdisks/fdisksunlabel.c'; then $(CYGPATH_W) 'fdisks/fdisksunlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisksunlabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdisksunlabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdisksunlabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdisksunlabel.c' object='fdisks/fdisk_static-fdisksunlabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdisksunlabel.obj `if test -f 'fdisks/fdisksunlabel.c'; then $(CYGPATH_W) 'fdisks/fdisksunlabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdisksunlabel.c'; fi`
+
+fdisks/fdisk_static-fdiskdoslabel.o: fdisks/fdiskdoslabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdiskdoslabel.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdiskdoslabel.Tpo -c -o fdisks/fdisk_static-fdiskdoslabel.o `test -f 'fdisks/fdiskdoslabel.c' || echo '$(srcdir)/'`fdisks/fdiskdoslabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdiskdoslabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdiskdoslabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskdoslabel.c' object='fdisks/fdisk_static-fdiskdoslabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdiskdoslabel.o `test -f 'fdisks/fdiskdoslabel.c' || echo '$(srcdir)/'`fdisks/fdiskdoslabel.c
+
+fdisks/fdisk_static-fdiskdoslabel.obj: fdisks/fdiskdoslabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-fdiskdoslabel.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-fdiskdoslabel.Tpo -c -o fdisks/fdisk_static-fdiskdoslabel.obj `if test -f 'fdisks/fdiskdoslabel.c'; then $(CYGPATH_W) 'fdisks/fdiskdoslabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskdoslabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-fdiskdoslabel.Tpo fdisks/$(DEPDIR)/fdisk_static-fdiskdoslabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/fdiskdoslabel.c' object='fdisks/fdisk_static-fdiskdoslabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-fdiskdoslabel.obj `if test -f 'fdisks/fdiskdoslabel.c'; then $(CYGPATH_W) 'fdisks/fdiskdoslabel.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/fdiskdoslabel.c'; fi`
+
+fdisks/fdisk_static-partname.o: fdisks/partname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-partname.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-partname.Tpo -c -o fdisks/fdisk_static-partname.o `test -f 'fdisks/partname.c' || echo '$(srcdir)/'`fdisks/partname.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-partname.Tpo fdisks/$(DEPDIR)/fdisk_static-partname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/partname.c' object='fdisks/fdisk_static-partname.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-partname.o `test -f 'fdisks/partname.c' || echo '$(srcdir)/'`fdisks/partname.c
+
+fdisks/fdisk_static-partname.obj: fdisks/partname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-partname.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-partname.Tpo -c -o fdisks/fdisk_static-partname.obj `if test -f 'fdisks/partname.c'; then $(CYGPATH_W) 'fdisks/partname.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/partname.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-partname.Tpo fdisks/$(DEPDIR)/fdisk_static-partname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/partname.c' object='fdisks/fdisk_static-partname.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-partname.obj `if test -f 'fdisks/partname.c'; then $(CYGPATH_W) 'fdisks/partname.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/partname.c'; fi`
+
+fdisks/fdisk_static-gpt.o: fdisks/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-gpt.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-gpt.Tpo -c -o fdisks/fdisk_static-gpt.o `test -f 'fdisks/gpt.c' || echo '$(srcdir)/'`fdisks/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-gpt.Tpo fdisks/$(DEPDIR)/fdisk_static-gpt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/gpt.c' object='fdisks/fdisk_static-gpt.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-gpt.o `test -f 'fdisks/gpt.c' || echo '$(srcdir)/'`fdisks/gpt.c
+
+fdisks/fdisk_static-gpt.obj: fdisks/gpt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-gpt.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-gpt.Tpo -c -o fdisks/fdisk_static-gpt.obj `if test -f 'fdisks/gpt.c'; then $(CYGPATH_W) 'fdisks/gpt.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/gpt.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-gpt.Tpo fdisks/$(DEPDIR)/fdisk_static-gpt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/gpt.c' object='fdisks/fdisk_static-gpt.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-gpt.obj `if test -f 'fdisks/gpt.c'; then $(CYGPATH_W) 'fdisks/gpt.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/gpt.c'; fi`
+
+fdisks/fdisk_static-i386_sys_types.o: fdisks/i386_sys_types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-i386_sys_types.o -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-i386_sys_types.Tpo -c -o fdisks/fdisk_static-i386_sys_types.o `test -f 'fdisks/i386_sys_types.c' || echo '$(srcdir)/'`fdisks/i386_sys_types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-i386_sys_types.Tpo fdisks/$(DEPDIR)/fdisk_static-i386_sys_types.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/i386_sys_types.c' object='fdisks/fdisk_static-i386_sys_types.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-i386_sys_types.o `test -f 'fdisks/i386_sys_types.c' || echo '$(srcdir)/'`fdisks/i386_sys_types.c
+
+fdisks/fdisk_static-i386_sys_types.obj: fdisks/i386_sys_types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -MT fdisks/fdisk_static-i386_sys_types.obj -MD -MP -MF fdisks/$(DEPDIR)/fdisk_static-i386_sys_types.Tpo -c -o fdisks/fdisk_static-i386_sys_types.obj `if test -f 'fdisks/i386_sys_types.c'; then $(CYGPATH_W) 'fdisks/i386_sys_types.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/i386_sys_types.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fdisks/$(DEPDIR)/fdisk_static-i386_sys_types.Tpo fdisks/$(DEPDIR)/fdisk_static-i386_sys_types.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fdisks/i386_sys_types.c' object='fdisks/fdisk_static-i386_sys_types.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fdisk_static_CFLAGS) $(CFLAGS) -c -o fdisks/fdisk_static-i386_sys_types.obj `if test -f 'fdisks/i386_sys_types.c'; then $(CYGPATH_W) 'fdisks/i386_sys_types.c'; else $(CYGPATH_W) '$(srcdir)/fdisks/i386_sys_types.c'; fi`
+
+misc-utils/findfs-findfs.o: misc-utils/findfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findfs_CFLAGS) $(CFLAGS) -MT misc-utils/findfs-findfs.o -MD -MP -MF misc-utils/$(DEPDIR)/findfs-findfs.Tpo -c -o misc-utils/findfs-findfs.o `test -f 'misc-utils/findfs.c' || echo '$(srcdir)/'`misc-utils/findfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/findfs-findfs.Tpo misc-utils/$(DEPDIR)/findfs-findfs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/findfs.c' object='misc-utils/findfs-findfs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findfs_CFLAGS) $(CFLAGS) -c -o misc-utils/findfs-findfs.o `test -f 'misc-utils/findfs.c' || echo '$(srcdir)/'`misc-utils/findfs.c
+
+misc-utils/findfs-findfs.obj: misc-utils/findfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findfs_CFLAGS) $(CFLAGS) -MT misc-utils/findfs-findfs.obj -MD -MP -MF misc-utils/$(DEPDIR)/findfs-findfs.Tpo -c -o misc-utils/findfs-findfs.obj `if test -f 'misc-utils/findfs.c'; then $(CYGPATH_W) 'misc-utils/findfs.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/findfs.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/findfs-findfs.Tpo misc-utils/$(DEPDIR)/findfs-findfs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/findfs.c' object='misc-utils/findfs-findfs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findfs_CFLAGS) $(CFLAGS) -c -o misc-utils/findfs-findfs.obj `if test -f 'misc-utils/findfs.c'; then $(CYGPATH_W) 'misc-utils/findfs.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/findfs.c'; fi`
+
+misc-utils/findmnt-findmnt.o: misc-utils/findmnt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findmnt_CFLAGS) $(CFLAGS) -MT misc-utils/findmnt-findmnt.o -MD -MP -MF misc-utils/$(DEPDIR)/findmnt-findmnt.Tpo -c -o misc-utils/findmnt-findmnt.o `test -f 'misc-utils/findmnt.c' || echo '$(srcdir)/'`misc-utils/findmnt.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/findmnt-findmnt.Tpo misc-utils/$(DEPDIR)/findmnt-findmnt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/findmnt.c' object='misc-utils/findmnt-findmnt.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findmnt_CFLAGS) $(CFLAGS) -c -o misc-utils/findmnt-findmnt.o `test -f 'misc-utils/findmnt.c' || echo '$(srcdir)/'`misc-utils/findmnt.c
+
+misc-utils/findmnt-findmnt.obj: misc-utils/findmnt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findmnt_CFLAGS) $(CFLAGS) -MT misc-utils/findmnt-findmnt.obj -MD -MP -MF misc-utils/$(DEPDIR)/findmnt-findmnt.Tpo -c -o misc-utils/findmnt-findmnt.obj `if test -f 'misc-utils/findmnt.c'; then $(CYGPATH_W) 'misc-utils/findmnt.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/findmnt.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/findmnt-findmnt.Tpo misc-utils/$(DEPDIR)/findmnt-findmnt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/findmnt.c' object='misc-utils/findmnt-findmnt.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findmnt_CFLAGS) $(CFLAGS) -c -o misc-utils/findmnt-findmnt.obj `if test -f 'misc-utils/findmnt.c'; then $(CYGPATH_W) 'misc-utils/findmnt.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/findmnt.c'; fi`
+
+disk-utils/fsck-fsck.o: disk-utils/fsck.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT disk-utils/fsck-fsck.o -MD -MP -MF disk-utils/$(DEPDIR)/fsck-fsck.Tpo -c -o disk-utils/fsck-fsck.o `test -f 'disk-utils/fsck.c' || echo '$(srcdir)/'`disk-utils/fsck.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) disk-utils/$(DEPDIR)/fsck-fsck.Tpo disk-utils/$(DEPDIR)/fsck-fsck.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk-utils/fsck.c' object='disk-utils/fsck-fsck.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -c -o disk-utils/fsck-fsck.o `test -f 'disk-utils/fsck.c' || echo '$(srcdir)/'`disk-utils/fsck.c
+
+disk-utils/fsck-fsck.obj: disk-utils/fsck.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT disk-utils/fsck-fsck.obj -MD -MP -MF disk-utils/$(DEPDIR)/fsck-fsck.Tpo -c -o disk-utils/fsck-fsck.obj `if test -f 'disk-utils/fsck.c'; then $(CYGPATH_W) 'disk-utils/fsck.c'; else $(CYGPATH_W) '$(srcdir)/disk-utils/fsck.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) disk-utils/$(DEPDIR)/fsck-fsck.Tpo disk-utils/$(DEPDIR)/fsck-fsck.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk-utils/fsck.c' object='disk-utils/fsck-fsck.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -c -o disk-utils/fsck-fsck.obj `if test -f 'disk-utils/fsck.c'; then $(CYGPATH_W) 'disk-utils/fsck.c'; else $(CYGPATH_W) '$(srcdir)/disk-utils/fsck.c'; fi`
+
+misc-utils/lsblk-lsblk.o: misc-utils/lsblk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lsblk_CFLAGS) $(CFLAGS) -MT misc-utils/lsblk-lsblk.o -MD -MP -MF misc-utils/$(DEPDIR)/lsblk-lsblk.Tpo -c -o misc-utils/lsblk-lsblk.o `test -f 'misc-utils/lsblk.c' || echo '$(srcdir)/'`misc-utils/lsblk.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/lsblk-lsblk.Tpo misc-utils/$(DEPDIR)/lsblk-lsblk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/lsblk.c' object='misc-utils/lsblk-lsblk.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lsblk_CFLAGS) $(CFLAGS) -c -o misc-utils/lsblk-lsblk.o `test -f 'misc-utils/lsblk.c' || echo '$(srcdir)/'`misc-utils/lsblk.c
+
+misc-utils/lsblk-lsblk.obj: misc-utils/lsblk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lsblk_CFLAGS) $(CFLAGS) -MT misc-utils/lsblk-lsblk.obj -MD -MP -MF misc-utils/$(DEPDIR)/lsblk-lsblk.Tpo -c -o misc-utils/lsblk-lsblk.obj `if test -f 'misc-utils/lsblk.c'; then $(CYGPATH_W) 'misc-utils/lsblk.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/lsblk.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/lsblk-lsblk.Tpo misc-utils/$(DEPDIR)/lsblk-lsblk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/lsblk.c' object='misc-utils/lsblk-lsblk.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lsblk_CFLAGS) $(CFLAGS) -c -o misc-utils/lsblk-lsblk.obj `if test -f 'misc-utils/lsblk.c'; then $(CYGPATH_W) 'misc-utils/lsblk.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/lsblk.c'; fi`
+
+disk-utils/mkswap-mkswap.o: disk-utils/mkswap.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT disk-utils/mkswap-mkswap.o -MD -MP -MF disk-utils/$(DEPDIR)/mkswap-mkswap.Tpo -c -o disk-utils/mkswap-mkswap.o `test -f 'disk-utils/mkswap.c' || echo '$(srcdir)/'`disk-utils/mkswap.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) disk-utils/$(DEPDIR)/mkswap-mkswap.Tpo disk-utils/$(DEPDIR)/mkswap-mkswap.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk-utils/mkswap.c' object='disk-utils/mkswap-mkswap.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -c -o disk-utils/mkswap-mkswap.o `test -f 'disk-utils/mkswap.c' || echo '$(srcdir)/'`disk-utils/mkswap.c
+
+disk-utils/mkswap-mkswap.obj: disk-utils/mkswap.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT disk-utils/mkswap-mkswap.obj -MD -MP -MF disk-utils/$(DEPDIR)/mkswap-mkswap.Tpo -c -o disk-utils/mkswap-mkswap.obj `if test -f 'disk-utils/mkswap.c'; then $(CYGPATH_W) 'disk-utils/mkswap.c'; else $(CYGPATH_W) '$(srcdir)/disk-utils/mkswap.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) disk-utils/$(DEPDIR)/mkswap-mkswap.Tpo disk-utils/$(DEPDIR)/mkswap-mkswap.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk-utils/mkswap.c' object='disk-utils/mkswap-mkswap.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -c -o disk-utils/mkswap-mkswap.obj `if test -f 'disk-utils/mkswap.c'; then $(CYGPATH_W) 'disk-utils/mkswap.c'; else $(CYGPATH_W) '$(srcdir)/disk-utils/mkswap.c'; fi`
+
+mount-deprecated/mount-mount.o: mount-deprecated/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-mount.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-mount.Tpo -c -o mount-deprecated/mount-mount.o `test -f 'mount-deprecated/mount.c' || echo '$(srcdir)/'`mount-deprecated/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-mount.Tpo mount-deprecated/$(DEPDIR)/mount-mount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount.c' object='mount-deprecated/mount-mount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-mount.o `test -f 'mount-deprecated/mount.c' || echo '$(srcdir)/'`mount-deprecated/mount.c
+
+mount-deprecated/mount-mount.obj: mount-deprecated/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-mount.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-mount.Tpo -c -o mount-deprecated/mount-mount.obj `if test -f 'mount-deprecated/mount.c'; then $(CYGPATH_W) 'mount-deprecated/mount.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-mount.Tpo mount-deprecated/$(DEPDIR)/mount-mount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount.c' object='mount-deprecated/mount-mount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-mount.obj `if test -f 'mount-deprecated/mount.c'; then $(CYGPATH_W) 'mount-deprecated/mount.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount.c'; fi`
+
+mount-deprecated/mount-sundries.o: mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-sundries.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-sundries.Tpo -c -o mount-deprecated/mount-sundries.o `test -f 'mount-deprecated/sundries.c' || echo '$(srcdir)/'`mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-sundries.Tpo mount-deprecated/$(DEPDIR)/mount-sundries.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/sundries.c' object='mount-deprecated/mount-sundries.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-sundries.o `test -f 'mount-deprecated/sundries.c' || echo '$(srcdir)/'`mount-deprecated/sundries.c
+
+mount-deprecated/mount-sundries.obj: mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-sundries.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-sundries.Tpo -c -o mount-deprecated/mount-sundries.obj `if test -f 'mount-deprecated/sundries.c'; then $(CYGPATH_W) 'mount-deprecated/sundries.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/sundries.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-sundries.Tpo mount-deprecated/$(DEPDIR)/mount-sundries.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/sundries.c' object='mount-deprecated/mount-sundries.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-sundries.obj `if test -f 'mount-deprecated/sundries.c'; then $(CYGPATH_W) 'mount-deprecated/sundries.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/sundries.c'; fi`
+
+mount-deprecated/mount-devname.o: mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-devname.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-devname.Tpo -c -o mount-deprecated/mount-devname.o `test -f 'mount-deprecated/devname.c' || echo '$(srcdir)/'`mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-devname.Tpo mount-deprecated/$(DEPDIR)/mount-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/devname.c' object='mount-deprecated/mount-devname.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-devname.o `test -f 'mount-deprecated/devname.c' || echo '$(srcdir)/'`mount-deprecated/devname.c
+
+mount-deprecated/mount-devname.obj: mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-devname.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-devname.Tpo -c -o mount-deprecated/mount-devname.obj `if test -f 'mount-deprecated/devname.c'; then $(CYGPATH_W) 'mount-deprecated/devname.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/devname.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-devname.Tpo mount-deprecated/$(DEPDIR)/mount-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/devname.c' object='mount-deprecated/mount-devname.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-devname.obj `if test -f 'mount-deprecated/devname.c'; then $(CYGPATH_W) 'mount-deprecated/devname.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/devname.c'; fi`
+
+mount-deprecated/mount-fstab.o: mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-fstab.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-fstab.Tpo -c -o mount-deprecated/mount-fstab.o `test -f 'mount-deprecated/fstab.c' || echo '$(srcdir)/'`mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-fstab.Tpo mount-deprecated/$(DEPDIR)/mount-fstab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fstab.c' object='mount-deprecated/mount-fstab.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-fstab.o `test -f 'mount-deprecated/fstab.c' || echo '$(srcdir)/'`mount-deprecated/fstab.c
+
+mount-deprecated/mount-fstab.obj: mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-fstab.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-fstab.Tpo -c -o mount-deprecated/mount-fstab.obj `if test -f 'mount-deprecated/fstab.c'; then $(CYGPATH_W) 'mount-deprecated/fstab.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fstab.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-fstab.Tpo mount-deprecated/$(DEPDIR)/mount-fstab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fstab.c' object='mount-deprecated/mount-fstab.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-fstab.obj `if test -f 'mount-deprecated/fstab.c'; then $(CYGPATH_W) 'mount-deprecated/fstab.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fstab.c'; fi`
+
+mount-deprecated/mount-getusername.o: mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-getusername.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-getusername.Tpo -c -o mount-deprecated/mount-getusername.o `test -f 'mount-deprecated/getusername.c' || echo '$(srcdir)/'`mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-getusername.Tpo mount-deprecated/$(DEPDIR)/mount-getusername.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/getusername.c' object='mount-deprecated/mount-getusername.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-getusername.o `test -f 'mount-deprecated/getusername.c' || echo '$(srcdir)/'`mount-deprecated/getusername.c
+
+mount-deprecated/mount-getusername.obj: mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-getusername.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-getusername.Tpo -c -o mount-deprecated/mount-getusername.obj `if test -f 'mount-deprecated/getusername.c'; then $(CYGPATH_W) 'mount-deprecated/getusername.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/getusername.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-getusername.Tpo mount-deprecated/$(DEPDIR)/mount-getusername.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/getusername.c' object='mount-deprecated/mount-getusername.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-getusername.obj `if test -f 'mount-deprecated/getusername.c'; then $(CYGPATH_W) 'mount-deprecated/getusername.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/getusername.c'; fi`
+
+mount-deprecated/mount-mount_mntent.o: mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-mount_mntent.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-mount_mntent.Tpo -c -o mount-deprecated/mount-mount_mntent.o `test -f 'mount-deprecated/mount_mntent.c' || echo '$(srcdir)/'`mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-mount_mntent.Tpo mount-deprecated/$(DEPDIR)/mount-mount_mntent.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount_mntent.c' object='mount-deprecated/mount-mount_mntent.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-mount_mntent.o `test -f 'mount-deprecated/mount_mntent.c' || echo '$(srcdir)/'`mount-deprecated/mount_mntent.c
+
+mount-deprecated/mount-mount_mntent.obj: mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-mount_mntent.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-mount_mntent.Tpo -c -o mount-deprecated/mount-mount_mntent.obj `if test -f 'mount-deprecated/mount_mntent.c'; then $(CYGPATH_W) 'mount-deprecated/mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount_mntent.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-mount_mntent.Tpo mount-deprecated/$(DEPDIR)/mount-mount_mntent.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount_mntent.c' object='mount-deprecated/mount-mount_mntent.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-mount_mntent.obj `if test -f 'mount-deprecated/mount_mntent.c'; then $(CYGPATH_W) 'mount-deprecated/mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount_mntent.c'; fi`
+
+mount-deprecated/mount-fsprobe.o: mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-fsprobe.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-fsprobe.Tpo -c -o mount-deprecated/mount-fsprobe.o `test -f 'mount-deprecated/fsprobe.c' || echo '$(srcdir)/'`mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-fsprobe.Tpo mount-deprecated/$(DEPDIR)/mount-fsprobe.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fsprobe.c' object='mount-deprecated/mount-fsprobe.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-fsprobe.o `test -f 'mount-deprecated/fsprobe.c' || echo '$(srcdir)/'`mount-deprecated/fsprobe.c
+
+mount-deprecated/mount-fsprobe.obj: mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount-fsprobe.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount-fsprobe.Tpo -c -o mount-deprecated/mount-fsprobe.obj `if test -f 'mount-deprecated/fsprobe.c'; then $(CYGPATH_W) 'mount-deprecated/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount-fsprobe.Tpo mount-deprecated/$(DEPDIR)/mount-fsprobe.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fsprobe.c' object='mount-deprecated/mount-fsprobe.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount-fsprobe.obj `if test -f 'mount-deprecated/fsprobe.c'; then $(CYGPATH_W) 'mount-deprecated/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fsprobe.c'; fi`
+
+sys-utils/mount-mount.o: sys-utils/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT sys-utils/mount-mount.o -MD -MP -MF sys-utils/$(DEPDIR)/mount-mount.Tpo -c -o sys-utils/mount-mount.o `test -f 'sys-utils/mount.c' || echo '$(srcdir)/'`sys-utils/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/mount-mount.Tpo sys-utils/$(DEPDIR)/mount-mount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/mount.c' object='sys-utils/mount-mount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o sys-utils/mount-mount.o `test -f 'sys-utils/mount.c' || echo '$(srcdir)/'`sys-utils/mount.c
+
+sys-utils/mount-mount.obj: sys-utils/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT sys-utils/mount-mount.obj -MD -MP -MF sys-utils/$(DEPDIR)/mount-mount.Tpo -c -o sys-utils/mount-mount.obj `if test -f 'sys-utils/mount.c'; then $(CYGPATH_W) 'sys-utils/mount.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/mount.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/mount-mount.Tpo sys-utils/$(DEPDIR)/mount-mount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/mount.c' object='sys-utils/mount-mount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o sys-utils/mount-mount.obj `if test -f 'sys-utils/mount.c'; then $(CYGPATH_W) 'sys-utils/mount.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/mount.c'; fi`
+
+mount-deprecated/mount_static-mount.o: mount-deprecated/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-mount.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-mount.Tpo -c -o mount-deprecated/mount_static-mount.o `test -f 'mount-deprecated/mount.c' || echo '$(srcdir)/'`mount-deprecated/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-mount.Tpo mount-deprecated/$(DEPDIR)/mount_static-mount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount.c' object='mount-deprecated/mount_static-mount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-mount.o `test -f 'mount-deprecated/mount.c' || echo '$(srcdir)/'`mount-deprecated/mount.c
+
+mount-deprecated/mount_static-mount.obj: mount-deprecated/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-mount.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-mount.Tpo -c -o mount-deprecated/mount_static-mount.obj `if test -f 'mount-deprecated/mount.c'; then $(CYGPATH_W) 'mount-deprecated/mount.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-mount.Tpo mount-deprecated/$(DEPDIR)/mount_static-mount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount.c' object='mount-deprecated/mount_static-mount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-mount.obj `if test -f 'mount-deprecated/mount.c'; then $(CYGPATH_W) 'mount-deprecated/mount.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount.c'; fi`
+
+mount-deprecated/mount_static-sundries.o: mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-sundries.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-sundries.Tpo -c -o mount-deprecated/mount_static-sundries.o `test -f 'mount-deprecated/sundries.c' || echo '$(srcdir)/'`mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-sundries.Tpo mount-deprecated/$(DEPDIR)/mount_static-sundries.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/sundries.c' object='mount-deprecated/mount_static-sundries.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-sundries.o `test -f 'mount-deprecated/sundries.c' || echo '$(srcdir)/'`mount-deprecated/sundries.c
+
+mount-deprecated/mount_static-sundries.obj: mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-sundries.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-sundries.Tpo -c -o mount-deprecated/mount_static-sundries.obj `if test -f 'mount-deprecated/sundries.c'; then $(CYGPATH_W) 'mount-deprecated/sundries.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/sundries.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-sundries.Tpo mount-deprecated/$(DEPDIR)/mount_static-sundries.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/sundries.c' object='mount-deprecated/mount_static-sundries.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-sundries.obj `if test -f 'mount-deprecated/sundries.c'; then $(CYGPATH_W) 'mount-deprecated/sundries.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/sundries.c'; fi`
+
+mount-deprecated/mount_static-devname.o: mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-devname.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-devname.Tpo -c -o mount-deprecated/mount_static-devname.o `test -f 'mount-deprecated/devname.c' || echo '$(srcdir)/'`mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-devname.Tpo mount-deprecated/$(DEPDIR)/mount_static-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/devname.c' object='mount-deprecated/mount_static-devname.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-devname.o `test -f 'mount-deprecated/devname.c' || echo '$(srcdir)/'`mount-deprecated/devname.c
+
+mount-deprecated/mount_static-devname.obj: mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-devname.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-devname.Tpo -c -o mount-deprecated/mount_static-devname.obj `if test -f 'mount-deprecated/devname.c'; then $(CYGPATH_W) 'mount-deprecated/devname.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/devname.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-devname.Tpo mount-deprecated/$(DEPDIR)/mount_static-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/devname.c' object='mount-deprecated/mount_static-devname.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-devname.obj `if test -f 'mount-deprecated/devname.c'; then $(CYGPATH_W) 'mount-deprecated/devname.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/devname.c'; fi`
+
+mount-deprecated/mount_static-fstab.o: mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-fstab.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-fstab.Tpo -c -o mount-deprecated/mount_static-fstab.o `test -f 'mount-deprecated/fstab.c' || echo '$(srcdir)/'`mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-fstab.Tpo mount-deprecated/$(DEPDIR)/mount_static-fstab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fstab.c' object='mount-deprecated/mount_static-fstab.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-fstab.o `test -f 'mount-deprecated/fstab.c' || echo '$(srcdir)/'`mount-deprecated/fstab.c
+
+mount-deprecated/mount_static-fstab.obj: mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-fstab.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-fstab.Tpo -c -o mount-deprecated/mount_static-fstab.obj `if test -f 'mount-deprecated/fstab.c'; then $(CYGPATH_W) 'mount-deprecated/fstab.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fstab.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-fstab.Tpo mount-deprecated/$(DEPDIR)/mount_static-fstab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fstab.c' object='mount-deprecated/mount_static-fstab.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-fstab.obj `if test -f 'mount-deprecated/fstab.c'; then $(CYGPATH_W) 'mount-deprecated/fstab.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fstab.c'; fi`
+
+mount-deprecated/mount_static-getusername.o: mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-getusername.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-getusername.Tpo -c -o mount-deprecated/mount_static-getusername.o `test -f 'mount-deprecated/getusername.c' || echo '$(srcdir)/'`mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-getusername.Tpo mount-deprecated/$(DEPDIR)/mount_static-getusername.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/getusername.c' object='mount-deprecated/mount_static-getusername.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-getusername.o `test -f 'mount-deprecated/getusername.c' || echo '$(srcdir)/'`mount-deprecated/getusername.c
+
+mount-deprecated/mount_static-getusername.obj: mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-getusername.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-getusername.Tpo -c -o mount-deprecated/mount_static-getusername.obj `if test -f 'mount-deprecated/getusername.c'; then $(CYGPATH_W) 'mount-deprecated/getusername.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/getusername.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-getusername.Tpo mount-deprecated/$(DEPDIR)/mount_static-getusername.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/getusername.c' object='mount-deprecated/mount_static-getusername.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-getusername.obj `if test -f 'mount-deprecated/getusername.c'; then $(CYGPATH_W) 'mount-deprecated/getusername.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/getusername.c'; fi`
+
+mount-deprecated/mount_static-mount_mntent.o: mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-mount_mntent.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-mount_mntent.Tpo -c -o mount-deprecated/mount_static-mount_mntent.o `test -f 'mount-deprecated/mount_mntent.c' || echo '$(srcdir)/'`mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-mount_mntent.Tpo mount-deprecated/$(DEPDIR)/mount_static-mount_mntent.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount_mntent.c' object='mount-deprecated/mount_static-mount_mntent.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-mount_mntent.o `test -f 'mount-deprecated/mount_mntent.c' || echo '$(srcdir)/'`mount-deprecated/mount_mntent.c
+
+mount-deprecated/mount_static-mount_mntent.obj: mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-mount_mntent.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-mount_mntent.Tpo -c -o mount-deprecated/mount_static-mount_mntent.obj `if test -f 'mount-deprecated/mount_mntent.c'; then $(CYGPATH_W) 'mount-deprecated/mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount_mntent.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-mount_mntent.Tpo mount-deprecated/$(DEPDIR)/mount_static-mount_mntent.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount_mntent.c' object='mount-deprecated/mount_static-mount_mntent.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-mount_mntent.obj `if test -f 'mount-deprecated/mount_mntent.c'; then $(CYGPATH_W) 'mount-deprecated/mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount_mntent.c'; fi`
+
+mount-deprecated/mount_static-fsprobe.o: mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-fsprobe.o -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-fsprobe.Tpo -c -o mount-deprecated/mount_static-fsprobe.o `test -f 'mount-deprecated/fsprobe.c' || echo '$(srcdir)/'`mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-fsprobe.Tpo mount-deprecated/$(DEPDIR)/mount_static-fsprobe.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fsprobe.c' object='mount-deprecated/mount_static-fsprobe.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-fsprobe.o `test -f 'mount-deprecated/fsprobe.c' || echo '$(srcdir)/'`mount-deprecated/fsprobe.c
+
+mount-deprecated/mount_static-fsprobe.obj: mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/mount_static-fsprobe.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/mount_static-fsprobe.Tpo -c -o mount-deprecated/mount_static-fsprobe.obj `if test -f 'mount-deprecated/fsprobe.c'; then $(CYGPATH_W) 'mount-deprecated/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/mount_static-fsprobe.Tpo mount-deprecated/$(DEPDIR)/mount_static-fsprobe.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fsprobe.c' object='mount-deprecated/mount_static-fsprobe.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/mount_static-fsprobe.obj `if test -f 'mount-deprecated/fsprobe.c'; then $(CYGPATH_W) 'mount-deprecated/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fsprobe.c'; fi`
+
+sys-utils/mount_static-mount.o: sys-utils/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT sys-utils/mount_static-mount.o -MD -MP -MF sys-utils/$(DEPDIR)/mount_static-mount.Tpo -c -o sys-utils/mount_static-mount.o `test -f 'sys-utils/mount.c' || echo '$(srcdir)/'`sys-utils/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/mount_static-mount.Tpo sys-utils/$(DEPDIR)/mount_static-mount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/mount.c' object='sys-utils/mount_static-mount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o sys-utils/mount_static-mount.o `test -f 'sys-utils/mount.c' || echo '$(srcdir)/'`sys-utils/mount.c
+
+sys-utils/mount_static-mount.obj: sys-utils/mount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT sys-utils/mount_static-mount.obj -MD -MP -MF sys-utils/$(DEPDIR)/mount_static-mount.Tpo -c -o sys-utils/mount_static-mount.obj `if test -f 'sys-utils/mount.c'; then $(CYGPATH_W) 'sys-utils/mount.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/mount.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/mount_static-mount.Tpo sys-utils/$(DEPDIR)/mount_static-mount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/mount.c' object='sys-utils/mount_static-mount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -c -o sys-utils/mount_static-mount.obj `if test -f 'sys-utils/mount.c'; then $(CYGPATH_W) 'sys-utils/mount.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/mount.c'; fi`
+
+sys-utils/mountpoint-mountpoint.o: sys-utils/mountpoint.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mountpoint_CFLAGS) $(CFLAGS) -MT sys-utils/mountpoint-mountpoint.o -MD -MP -MF sys-utils/$(DEPDIR)/mountpoint-mountpoint.Tpo -c -o sys-utils/mountpoint-mountpoint.o `test -f 'sys-utils/mountpoint.c' || echo '$(srcdir)/'`sys-utils/mountpoint.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/mountpoint-mountpoint.Tpo sys-utils/$(DEPDIR)/mountpoint-mountpoint.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/mountpoint.c' object='sys-utils/mountpoint-mountpoint.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mountpoint_CFLAGS) $(CFLAGS) -c -o sys-utils/mountpoint-mountpoint.o `test -f 'sys-utils/mountpoint.c' || echo '$(srcdir)/'`sys-utils/mountpoint.c
+
+sys-utils/mountpoint-mountpoint.obj: sys-utils/mountpoint.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mountpoint_CFLAGS) $(CFLAGS) -MT sys-utils/mountpoint-mountpoint.obj -MD -MP -MF sys-utils/$(DEPDIR)/mountpoint-mountpoint.Tpo -c -o sys-utils/mountpoint-mountpoint.obj `if test -f 'sys-utils/mountpoint.c'; then $(CYGPATH_W) 'sys-utils/mountpoint.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/mountpoint.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/mountpoint-mountpoint.Tpo sys-utils/$(DEPDIR)/mountpoint-mountpoint.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/mountpoint.c' object='sys-utils/mountpoint-mountpoint.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mountpoint_CFLAGS) $(CFLAGS) -c -o sys-utils/mountpoint-mountpoint.obj `if test -f 'sys-utils/mountpoint.c'; then $(CYGPATH_W) 'sys-utils/mountpoint.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/mountpoint.c'; fi`
+
+login-utils/newgrp-newgrp.o: login-utils/newgrp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -MT login-utils/newgrp-newgrp.o -MD -MP -MF login-utils/$(DEPDIR)/newgrp-newgrp.Tpo -c -o login-utils/newgrp-newgrp.o `test -f 'login-utils/newgrp.c' || echo '$(srcdir)/'`login-utils/newgrp.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/newgrp-newgrp.Tpo login-utils/$(DEPDIR)/newgrp-newgrp.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/newgrp.c' object='login-utils/newgrp-newgrp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -c -o login-utils/newgrp-newgrp.o `test -f 'login-utils/newgrp.c' || echo '$(srcdir)/'`login-utils/newgrp.c
+
+login-utils/newgrp-newgrp.obj: login-utils/newgrp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -MT login-utils/newgrp-newgrp.obj -MD -MP -MF login-utils/$(DEPDIR)/newgrp-newgrp.Tpo -c -o login-utils/newgrp-newgrp.obj `if test -f 'login-utils/newgrp.c'; then $(CYGPATH_W) 'login-utils/newgrp.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/newgrp.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/newgrp-newgrp.Tpo login-utils/$(DEPDIR)/newgrp-newgrp.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/newgrp.c' object='login-utils/newgrp-newgrp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -c -o login-utils/newgrp-newgrp.obj `if test -f 'login-utils/newgrp.c'; then $(CYGPATH_W) 'login-utils/newgrp.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/newgrp.c'; fi`
+
+disk-utils/partx-partx.o: disk-utils/partx.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(partx_CFLAGS) $(CFLAGS) -MT disk-utils/partx-partx.o -MD -MP -MF disk-utils/$(DEPDIR)/partx-partx.Tpo -c -o disk-utils/partx-partx.o `test -f 'disk-utils/partx.c' || echo '$(srcdir)/'`disk-utils/partx.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) disk-utils/$(DEPDIR)/partx-partx.Tpo disk-utils/$(DEPDIR)/partx-partx.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk-utils/partx.c' object='disk-utils/partx-partx.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(partx_CFLAGS) $(CFLAGS) -c -o disk-utils/partx-partx.o `test -f 'disk-utils/partx.c' || echo '$(srcdir)/'`disk-utils/partx.c
+
+disk-utils/partx-partx.obj: disk-utils/partx.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(partx_CFLAGS) $(CFLAGS) -MT disk-utils/partx-partx.obj -MD -MP -MF disk-utils/$(DEPDIR)/partx-partx.Tpo -c -o disk-utils/partx-partx.obj `if test -f 'disk-utils/partx.c'; then $(CYGPATH_W) 'disk-utils/partx.c'; else $(CYGPATH_W) '$(srcdir)/disk-utils/partx.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) disk-utils/$(DEPDIR)/partx-partx.Tpo disk-utils/$(DEPDIR)/partx-partx.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk-utils/partx.c' object='disk-utils/partx-partx.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(partx_CFLAGS) $(CFLAGS) -c -o disk-utils/partx-partx.obj `if test -f 'disk-utils/partx.c'; then $(CYGPATH_W) 'disk-utils/partx.c'; else $(CYGPATH_W) '$(srcdir)/disk-utils/partx.c'; fi`
+
+libblkid/samples/sample_mkfs-mkfs.o: libblkid/samples/mkfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_mkfs_CFLAGS) $(CFLAGS) -MT libblkid/samples/sample_mkfs-mkfs.o -MD -MP -MF libblkid/samples/$(DEPDIR)/sample_mkfs-mkfs.Tpo -c -o libblkid/samples/sample_mkfs-mkfs.o `test -f 'libblkid/samples/mkfs.c' || echo '$(srcdir)/'`libblkid/samples/mkfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/samples/$(DEPDIR)/sample_mkfs-mkfs.Tpo libblkid/samples/$(DEPDIR)/sample_mkfs-mkfs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/samples/mkfs.c' object='libblkid/samples/sample_mkfs-mkfs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_mkfs_CFLAGS) $(CFLAGS) -c -o libblkid/samples/sample_mkfs-mkfs.o `test -f 'libblkid/samples/mkfs.c' || echo '$(srcdir)/'`libblkid/samples/mkfs.c
+
+libblkid/samples/sample_mkfs-mkfs.obj: libblkid/samples/mkfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_mkfs_CFLAGS) $(CFLAGS) -MT libblkid/samples/sample_mkfs-mkfs.obj -MD -MP -MF libblkid/samples/$(DEPDIR)/sample_mkfs-mkfs.Tpo -c -o libblkid/samples/sample_mkfs-mkfs.obj `if test -f 'libblkid/samples/mkfs.c'; then $(CYGPATH_W) 'libblkid/samples/mkfs.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/samples/mkfs.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/samples/$(DEPDIR)/sample_mkfs-mkfs.Tpo libblkid/samples/$(DEPDIR)/sample_mkfs-mkfs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/samples/mkfs.c' object='libblkid/samples/sample_mkfs-mkfs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_mkfs_CFLAGS) $(CFLAGS) -c -o libblkid/samples/sample_mkfs-mkfs.obj `if test -f 'libblkid/samples/mkfs.c'; then $(CYGPATH_W) 'libblkid/samples/mkfs.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/samples/mkfs.c'; fi`
+
+libblkid/samples/sample_partitions-partitions.o: libblkid/samples/partitions.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_partitions_CFLAGS) $(CFLAGS) -MT libblkid/samples/sample_partitions-partitions.o -MD -MP -MF libblkid/samples/$(DEPDIR)/sample_partitions-partitions.Tpo -c -o libblkid/samples/sample_partitions-partitions.o `test -f 'libblkid/samples/partitions.c' || echo '$(srcdir)/'`libblkid/samples/partitions.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/samples/$(DEPDIR)/sample_partitions-partitions.Tpo libblkid/samples/$(DEPDIR)/sample_partitions-partitions.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/samples/partitions.c' object='libblkid/samples/sample_partitions-partitions.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_partitions_CFLAGS) $(CFLAGS) -c -o libblkid/samples/sample_partitions-partitions.o `test -f 'libblkid/samples/partitions.c' || echo '$(srcdir)/'`libblkid/samples/partitions.c
+
+libblkid/samples/sample_partitions-partitions.obj: libblkid/samples/partitions.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_partitions_CFLAGS) $(CFLAGS) -MT libblkid/samples/sample_partitions-partitions.obj -MD -MP -MF libblkid/samples/$(DEPDIR)/sample_partitions-partitions.Tpo -c -o libblkid/samples/sample_partitions-partitions.obj `if test -f 'libblkid/samples/partitions.c'; then $(CYGPATH_W) 'libblkid/samples/partitions.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/samples/partitions.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/samples/$(DEPDIR)/sample_partitions-partitions.Tpo libblkid/samples/$(DEPDIR)/sample_partitions-partitions.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/samples/partitions.c' object='libblkid/samples/sample_partitions-partitions.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_partitions_CFLAGS) $(CFLAGS) -c -o libblkid/samples/sample_partitions-partitions.obj `if test -f 'libblkid/samples/partitions.c'; then $(CYGPATH_W) 'libblkid/samples/partitions.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/samples/partitions.c'; fi`
+
+libblkid/samples/sample_superblocks-superblocks.o: libblkid/samples/superblocks.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_superblocks_CFLAGS) $(CFLAGS) -MT libblkid/samples/sample_superblocks-superblocks.o -MD -MP -MF libblkid/samples/$(DEPDIR)/sample_superblocks-superblocks.Tpo -c -o libblkid/samples/sample_superblocks-superblocks.o `test -f 'libblkid/samples/superblocks.c' || echo '$(srcdir)/'`libblkid/samples/superblocks.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/samples/$(DEPDIR)/sample_superblocks-superblocks.Tpo libblkid/samples/$(DEPDIR)/sample_superblocks-superblocks.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/samples/superblocks.c' object='libblkid/samples/sample_superblocks-superblocks.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_superblocks_CFLAGS) $(CFLAGS) -c -o libblkid/samples/sample_superblocks-superblocks.o `test -f 'libblkid/samples/superblocks.c' || echo '$(srcdir)/'`libblkid/samples/superblocks.c
+
+libblkid/samples/sample_superblocks-superblocks.obj: libblkid/samples/superblocks.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_superblocks_CFLAGS) $(CFLAGS) -MT libblkid/samples/sample_superblocks-superblocks.obj -MD -MP -MF libblkid/samples/$(DEPDIR)/sample_superblocks-superblocks.Tpo -c -o libblkid/samples/sample_superblocks-superblocks.obj `if test -f 'libblkid/samples/superblocks.c'; then $(CYGPATH_W) 'libblkid/samples/superblocks.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/samples/superblocks.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/samples/$(DEPDIR)/sample_superblocks-superblocks.Tpo libblkid/samples/$(DEPDIR)/sample_superblocks-superblocks.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/samples/superblocks.c' object='libblkid/samples/sample_superblocks-superblocks.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_superblocks_CFLAGS) $(CFLAGS) -c -o libblkid/samples/sample_superblocks-superblocks.obj `if test -f 'libblkid/samples/superblocks.c'; then $(CYGPATH_W) 'libblkid/samples/superblocks.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/samples/superblocks.c'; fi`
+
+libblkid/samples/sample_topology-topology.o: libblkid/samples/topology.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_topology_CFLAGS) $(CFLAGS) -MT libblkid/samples/sample_topology-topology.o -MD -MP -MF libblkid/samples/$(DEPDIR)/sample_topology-topology.Tpo -c -o libblkid/samples/sample_topology-topology.o `test -f 'libblkid/samples/topology.c' || echo '$(srcdir)/'`libblkid/samples/topology.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/samples/$(DEPDIR)/sample_topology-topology.Tpo libblkid/samples/$(DEPDIR)/sample_topology-topology.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/samples/topology.c' object='libblkid/samples/sample_topology-topology.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_topology_CFLAGS) $(CFLAGS) -c -o libblkid/samples/sample_topology-topology.o `test -f 'libblkid/samples/topology.c' || echo '$(srcdir)/'`libblkid/samples/topology.c
+
+libblkid/samples/sample_topology-topology.obj: libblkid/samples/topology.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_topology_CFLAGS) $(CFLAGS) -MT libblkid/samples/sample_topology-topology.obj -MD -MP -MF libblkid/samples/$(DEPDIR)/sample_topology-topology.Tpo -c -o libblkid/samples/sample_topology-topology.obj `if test -f 'libblkid/samples/topology.c'; then $(CYGPATH_W) 'libblkid/samples/topology.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/samples/topology.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/samples/$(DEPDIR)/sample_topology-topology.Tpo libblkid/samples/$(DEPDIR)/sample_topology-topology.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/samples/topology.c' object='libblkid/samples/sample_topology-topology.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sample_topology_CFLAGS) $(CFLAGS) -c -o libblkid/samples/sample_topology-topology.obj `if test -f 'libblkid/samples/topology.c'; then $(CYGPATH_W) 'libblkid/samples/topology.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/samples/topology.c'; fi`
+
+login-utils/su-su.o: login-utils/su.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(su_CFLAGS) $(CFLAGS) -MT login-utils/su-su.o -MD -MP -MF login-utils/$(DEPDIR)/su-su.Tpo -c -o login-utils/su-su.o `test -f 'login-utils/su.c' || echo '$(srcdir)/'`login-utils/su.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/su-su.Tpo login-utils/$(DEPDIR)/su-su.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/su.c' object='login-utils/su-su.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(su_CFLAGS) $(CFLAGS) -c -o login-utils/su-su.o `test -f 'login-utils/su.c' || echo '$(srcdir)/'`login-utils/su.c
+
+login-utils/su-su.obj: login-utils/su.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(su_CFLAGS) $(CFLAGS) -MT login-utils/su-su.obj -MD -MP -MF login-utils/$(DEPDIR)/su-su.Tpo -c -o login-utils/su-su.obj `if test -f 'login-utils/su.c'; then $(CYGPATH_W) 'login-utils/su.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/su.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/su-su.Tpo login-utils/$(DEPDIR)/su-su.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/su.c' object='login-utils/su-su.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(su_CFLAGS) $(CFLAGS) -c -o login-utils/su-su.obj `if test -f 'login-utils/su.c'; then $(CYGPATH_W) 'login-utils/su.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/su.c'; fi`
+
+login-utils/su-logindefs.o: login-utils/logindefs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(su_CFLAGS) $(CFLAGS) -MT login-utils/su-logindefs.o -MD -MP -MF login-utils/$(DEPDIR)/su-logindefs.Tpo -c -o login-utils/su-logindefs.o `test -f 'login-utils/logindefs.c' || echo '$(srcdir)/'`login-utils/logindefs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/su-logindefs.Tpo login-utils/$(DEPDIR)/su-logindefs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/logindefs.c' object='login-utils/su-logindefs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(su_CFLAGS) $(CFLAGS) -c -o login-utils/su-logindefs.o `test -f 'login-utils/logindefs.c' || echo '$(srcdir)/'`login-utils/logindefs.c
+
+login-utils/su-logindefs.obj: login-utils/logindefs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(su_CFLAGS) $(CFLAGS) -MT login-utils/su-logindefs.obj -MD -MP -MF login-utils/$(DEPDIR)/su-logindefs.Tpo -c -o login-utils/su-logindefs.obj `if test -f 'login-utils/logindefs.c'; then $(CYGPATH_W) 'login-utils/logindefs.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/logindefs.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/su-logindefs.Tpo login-utils/$(DEPDIR)/su-logindefs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/logindefs.c' object='login-utils/su-logindefs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(su_CFLAGS) $(CFLAGS) -c -o login-utils/su-logindefs.obj `if test -f 'login-utils/logindefs.c'; then $(CYGPATH_W) 'login-utils/logindefs.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/logindefs.c'; fi`
+
+disk-utils/swaplabel-swaplabel.o: disk-utils/swaplabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swaplabel_CFLAGS) $(CFLAGS) -MT disk-utils/swaplabel-swaplabel.o -MD -MP -MF disk-utils/$(DEPDIR)/swaplabel-swaplabel.Tpo -c -o disk-utils/swaplabel-swaplabel.o `test -f 'disk-utils/swaplabel.c' || echo '$(srcdir)/'`disk-utils/swaplabel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) disk-utils/$(DEPDIR)/swaplabel-swaplabel.Tpo disk-utils/$(DEPDIR)/swaplabel-swaplabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk-utils/swaplabel.c' object='disk-utils/swaplabel-swaplabel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swaplabel_CFLAGS) $(CFLAGS) -c -o disk-utils/swaplabel-swaplabel.o `test -f 'disk-utils/swaplabel.c' || echo '$(srcdir)/'`disk-utils/swaplabel.c
+
+disk-utils/swaplabel-swaplabel.obj: disk-utils/swaplabel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swaplabel_CFLAGS) $(CFLAGS) -MT disk-utils/swaplabel-swaplabel.obj -MD -MP -MF disk-utils/$(DEPDIR)/swaplabel-swaplabel.Tpo -c -o disk-utils/swaplabel-swaplabel.obj `if test -f 'disk-utils/swaplabel.c'; then $(CYGPATH_W) 'disk-utils/swaplabel.c'; else $(CYGPATH_W) '$(srcdir)/disk-utils/swaplabel.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) disk-utils/$(DEPDIR)/swaplabel-swaplabel.Tpo disk-utils/$(DEPDIR)/swaplabel-swaplabel.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk-utils/swaplabel.c' object='disk-utils/swaplabel-swaplabel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swaplabel_CFLAGS) $(CFLAGS) -c -o disk-utils/swaplabel-swaplabel.obj `if test -f 'disk-utils/swaplabel.c'; then $(CYGPATH_W) 'disk-utils/swaplabel.c'; else $(CYGPATH_W) '$(srcdir)/disk-utils/swaplabel.c'; fi`
+
+sys-utils/swapoff-swapoff.o: sys-utils/swapoff.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapoff_CFLAGS) $(CFLAGS) -MT sys-utils/swapoff-swapoff.o -MD -MP -MF sys-utils/$(DEPDIR)/swapoff-swapoff.Tpo -c -o sys-utils/swapoff-swapoff.o `test -f 'sys-utils/swapoff.c' || echo '$(srcdir)/'`sys-utils/swapoff.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/swapoff-swapoff.Tpo sys-utils/$(DEPDIR)/swapoff-swapoff.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/swapoff.c' object='sys-utils/swapoff-swapoff.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapoff_CFLAGS) $(CFLAGS) -c -o sys-utils/swapoff-swapoff.o `test -f 'sys-utils/swapoff.c' || echo '$(srcdir)/'`sys-utils/swapoff.c
+
+sys-utils/swapoff-swapoff.obj: sys-utils/swapoff.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapoff_CFLAGS) $(CFLAGS) -MT sys-utils/swapoff-swapoff.obj -MD -MP -MF sys-utils/$(DEPDIR)/swapoff-swapoff.Tpo -c -o sys-utils/swapoff-swapoff.obj `if test -f 'sys-utils/swapoff.c'; then $(CYGPATH_W) 'sys-utils/swapoff.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/swapoff.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/swapoff-swapoff.Tpo sys-utils/$(DEPDIR)/swapoff-swapoff.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/swapoff.c' object='sys-utils/swapoff-swapoff.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapoff_CFLAGS) $(CFLAGS) -c -o sys-utils/swapoff-swapoff.obj `if test -f 'sys-utils/swapoff.c'; then $(CYGPATH_W) 'sys-utils/swapoff.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/swapoff.c'; fi`
+
+sys-utils/swapoff-swapon-common.o: sys-utils/swapon-common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapoff_CFLAGS) $(CFLAGS) -MT sys-utils/swapoff-swapon-common.o -MD -MP -MF sys-utils/$(DEPDIR)/swapoff-swapon-common.Tpo -c -o sys-utils/swapoff-swapon-common.o `test -f 'sys-utils/swapon-common.c' || echo '$(srcdir)/'`sys-utils/swapon-common.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/swapoff-swapon-common.Tpo sys-utils/$(DEPDIR)/swapoff-swapon-common.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/swapon-common.c' object='sys-utils/swapoff-swapon-common.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapoff_CFLAGS) $(CFLAGS) -c -o sys-utils/swapoff-swapon-common.o `test -f 'sys-utils/swapon-common.c' || echo '$(srcdir)/'`sys-utils/swapon-common.c
+
+sys-utils/swapoff-swapon-common.obj: sys-utils/swapon-common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapoff_CFLAGS) $(CFLAGS) -MT sys-utils/swapoff-swapon-common.obj -MD -MP -MF sys-utils/$(DEPDIR)/swapoff-swapon-common.Tpo -c -o sys-utils/swapoff-swapon-common.obj `if test -f 'sys-utils/swapon-common.c'; then $(CYGPATH_W) 'sys-utils/swapon-common.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/swapon-common.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/swapoff-swapon-common.Tpo sys-utils/$(DEPDIR)/swapoff-swapon-common.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/swapon-common.c' object='sys-utils/swapoff-swapon-common.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapoff_CFLAGS) $(CFLAGS) -c -o sys-utils/swapoff-swapon-common.obj `if test -f 'sys-utils/swapon-common.c'; then $(CYGPATH_W) 'sys-utils/swapon-common.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/swapon-common.c'; fi`
+
+sys-utils/swapon-swapon.o: sys-utils/swapon.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT sys-utils/swapon-swapon.o -MD -MP -MF sys-utils/$(DEPDIR)/swapon-swapon.Tpo -c -o sys-utils/swapon-swapon.o `test -f 'sys-utils/swapon.c' || echo '$(srcdir)/'`sys-utils/swapon.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/swapon-swapon.Tpo sys-utils/$(DEPDIR)/swapon-swapon.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/swapon.c' object='sys-utils/swapon-swapon.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -c -o sys-utils/swapon-swapon.o `test -f 'sys-utils/swapon.c' || echo '$(srcdir)/'`sys-utils/swapon.c
+
+sys-utils/swapon-swapon.obj: sys-utils/swapon.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT sys-utils/swapon-swapon.obj -MD -MP -MF sys-utils/$(DEPDIR)/swapon-swapon.Tpo -c -o sys-utils/swapon-swapon.obj `if test -f 'sys-utils/swapon.c'; then $(CYGPATH_W) 'sys-utils/swapon.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/swapon.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/swapon-swapon.Tpo sys-utils/$(DEPDIR)/swapon-swapon.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/swapon.c' object='sys-utils/swapon-swapon.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -c -o sys-utils/swapon-swapon.obj `if test -f 'sys-utils/swapon.c'; then $(CYGPATH_W) 'sys-utils/swapon.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/swapon.c'; fi`
+
+sys-utils/swapon-swapon-common.o: sys-utils/swapon-common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT sys-utils/swapon-swapon-common.o -MD -MP -MF sys-utils/$(DEPDIR)/swapon-swapon-common.Tpo -c -o sys-utils/swapon-swapon-common.o `test -f 'sys-utils/swapon-common.c' || echo '$(srcdir)/'`sys-utils/swapon-common.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/swapon-swapon-common.Tpo sys-utils/$(DEPDIR)/swapon-swapon-common.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/swapon-common.c' object='sys-utils/swapon-swapon-common.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -c -o sys-utils/swapon-swapon-common.o `test -f 'sys-utils/swapon-common.c' || echo '$(srcdir)/'`sys-utils/swapon-common.c
+
+sys-utils/swapon-swapon-common.obj: sys-utils/swapon-common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT sys-utils/swapon-swapon-common.obj -MD -MP -MF sys-utils/$(DEPDIR)/swapon-swapon-common.Tpo -c -o sys-utils/swapon-swapon-common.obj `if test -f 'sys-utils/swapon-common.c'; then $(CYGPATH_W) 'sys-utils/swapon-common.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/swapon-common.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/swapon-swapon-common.Tpo sys-utils/$(DEPDIR)/swapon-swapon-common.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/swapon-common.c' object='sys-utils/swapon-swapon-common.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -c -o sys-utils/swapon-swapon-common.obj `if test -f 'sys-utils/swapon-common.c'; then $(CYGPATH_W) 'sys-utils/swapon-common.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/swapon-common.c'; fi`
+
+lib/test_at-at.o: lib/at.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_at_CFLAGS) $(CFLAGS) -MT lib/test_at-at.o -MD -MP -MF lib/$(DEPDIR)/test_at-at.Tpo -c -o lib/test_at-at.o `test -f 'lib/at.c' || echo '$(srcdir)/'`lib/at.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_at-at.Tpo lib/$(DEPDIR)/test_at-at.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/at.c' object='lib/test_at-at.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_at_CFLAGS) $(CFLAGS) -c -o lib/test_at-at.o `test -f 'lib/at.c' || echo '$(srcdir)/'`lib/at.c
+
+lib/test_at-at.obj: lib/at.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_at_CFLAGS) $(CFLAGS) -MT lib/test_at-at.obj -MD -MP -MF lib/$(DEPDIR)/test_at-at.Tpo -c -o lib/test_at-at.obj `if test -f 'lib/at.c'; then $(CYGPATH_W) 'lib/at.c'; else $(CYGPATH_W) '$(srcdir)/lib/at.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_at-at.Tpo lib/$(DEPDIR)/test_at-at.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/at.c' object='lib/test_at-at.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_at_CFLAGS) $(CFLAGS) -c -o lib/test_at-at.obj `if test -f 'lib/at.c'; then $(CYGPATH_W) 'lib/at.c'; else $(CYGPATH_W) '$(srcdir)/lib/at.c'; fi`
+
+lib/test_blkdev-blkdev.o: lib/blkdev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkdev_CFLAGS) $(CFLAGS) -MT lib/test_blkdev-blkdev.o -MD -MP -MF lib/$(DEPDIR)/test_blkdev-blkdev.Tpo -c -o lib/test_blkdev-blkdev.o `test -f 'lib/blkdev.c' || echo '$(srcdir)/'`lib/blkdev.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_blkdev-blkdev.Tpo lib/$(DEPDIR)/test_blkdev-blkdev.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/blkdev.c' object='lib/test_blkdev-blkdev.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkdev_CFLAGS) $(CFLAGS) -c -o lib/test_blkdev-blkdev.o `test -f 'lib/blkdev.c' || echo '$(srcdir)/'`lib/blkdev.c
+
+lib/test_blkdev-blkdev.obj: lib/blkdev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkdev_CFLAGS) $(CFLAGS) -MT lib/test_blkdev-blkdev.obj -MD -MP -MF lib/$(DEPDIR)/test_blkdev-blkdev.Tpo -c -o lib/test_blkdev-blkdev.obj `if test -f 'lib/blkdev.c'; then $(CYGPATH_W) 'lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/lib/blkdev.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_blkdev-blkdev.Tpo lib/$(DEPDIR)/test_blkdev-blkdev.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/blkdev.c' object='lib/test_blkdev-blkdev.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkdev_CFLAGS) $(CFLAGS) -c -o lib/test_blkdev-blkdev.obj `if test -f 'lib/blkdev.c'; then $(CYGPATH_W) 'lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/lib/blkdev.c'; fi`
+
+libblkid/src/test_blkid_cache-cache.o: libblkid/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_cache_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_cache-cache.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_cache-cache.Tpo -c -o libblkid/src/test_blkid_cache-cache.o `test -f 'libblkid/src/cache.c' || echo '$(srcdir)/'`libblkid/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_cache-cache.Tpo libblkid/src/$(DEPDIR)/test_blkid_cache-cache.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/cache.c' object='libblkid/src/test_blkid_cache-cache.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_cache_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_cache-cache.o `test -f 'libblkid/src/cache.c' || echo '$(srcdir)/'`libblkid/src/cache.c
+
+libblkid/src/test_blkid_cache-cache.obj: libblkid/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_cache_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_cache-cache.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_cache-cache.Tpo -c -o libblkid/src/test_blkid_cache-cache.obj `if test -f 'libblkid/src/cache.c'; then $(CYGPATH_W) 'libblkid/src/cache.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/cache.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_cache-cache.Tpo libblkid/src/$(DEPDIR)/test_blkid_cache-cache.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/cache.c' object='libblkid/src/test_blkid_cache-cache.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_cache_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_cache-cache.obj `if test -f 'libblkid/src/cache.c'; then $(CYGPATH_W) 'libblkid/src/cache.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/cache.c'; fi`
+
+libblkid/src/test_blkid_config-config.o: libblkid/src/config.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_config_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_config-config.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_config-config.Tpo -c -o libblkid/src/test_blkid_config-config.o `test -f 'libblkid/src/config.c' || echo '$(srcdir)/'`libblkid/src/config.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_config-config.Tpo libblkid/src/$(DEPDIR)/test_blkid_config-config.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/config.c' object='libblkid/src/test_blkid_config-config.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_config_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_config-config.o `test -f 'libblkid/src/config.c' || echo '$(srcdir)/'`libblkid/src/config.c
+
+libblkid/src/test_blkid_config-config.obj: libblkid/src/config.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_config_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_config-config.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_config-config.Tpo -c -o libblkid/src/test_blkid_config-config.obj `if test -f 'libblkid/src/config.c'; then $(CYGPATH_W) 'libblkid/src/config.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/config.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_config-config.Tpo libblkid/src/$(DEPDIR)/test_blkid_config-config.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/config.c' object='libblkid/src/test_blkid_config-config.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_config_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_config-config.obj `if test -f 'libblkid/src/config.c'; then $(CYGPATH_W) 'libblkid/src/config.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/config.c'; fi`
+
+libblkid/src/test_blkid_dev-dev.o: libblkid/src/dev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_dev_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_dev-dev.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_dev-dev.Tpo -c -o libblkid/src/test_blkid_dev-dev.o `test -f 'libblkid/src/dev.c' || echo '$(srcdir)/'`libblkid/src/dev.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_dev-dev.Tpo libblkid/src/$(DEPDIR)/test_blkid_dev-dev.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/dev.c' object='libblkid/src/test_blkid_dev-dev.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_dev_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_dev-dev.o `test -f 'libblkid/src/dev.c' || echo '$(srcdir)/'`libblkid/src/dev.c
+
+libblkid/src/test_blkid_dev-dev.obj: libblkid/src/dev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_dev_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_dev-dev.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_dev-dev.Tpo -c -o libblkid/src/test_blkid_dev-dev.obj `if test -f 'libblkid/src/dev.c'; then $(CYGPATH_W) 'libblkid/src/dev.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/dev.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_dev-dev.Tpo libblkid/src/$(DEPDIR)/test_blkid_dev-dev.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/dev.c' object='libblkid/src/test_blkid_dev-dev.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_dev_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_dev-dev.obj `if test -f 'libblkid/src/dev.c'; then $(CYGPATH_W) 'libblkid/src/dev.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/dev.c'; fi`
+
+libblkid/src/test_blkid_devname-devname.o: libblkid/src/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_devname_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_devname-devname.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_devname-devname.Tpo -c -o libblkid/src/test_blkid_devname-devname.o `test -f 'libblkid/src/devname.c' || echo '$(srcdir)/'`libblkid/src/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_devname-devname.Tpo libblkid/src/$(DEPDIR)/test_blkid_devname-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/devname.c' object='libblkid/src/test_blkid_devname-devname.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_devname_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_devname-devname.o `test -f 'libblkid/src/devname.c' || echo '$(srcdir)/'`libblkid/src/devname.c
+
+libblkid/src/test_blkid_devname-devname.obj: libblkid/src/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_devname_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_devname-devname.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_devname-devname.Tpo -c -o libblkid/src/test_blkid_devname-devname.obj `if test -f 'libblkid/src/devname.c'; then $(CYGPATH_W) 'libblkid/src/devname.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/devname.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_devname-devname.Tpo libblkid/src/$(DEPDIR)/test_blkid_devname-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/devname.c' object='libblkid/src/test_blkid_devname-devname.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_devname_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_devname-devname.obj `if test -f 'libblkid/src/devname.c'; then $(CYGPATH_W) 'libblkid/src/devname.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/devname.c'; fi`
+
+libblkid/src/test_blkid_devno-devno.o: libblkid/src/devno.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_devno_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_devno-devno.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_devno-devno.Tpo -c -o libblkid/src/test_blkid_devno-devno.o `test -f 'libblkid/src/devno.c' || echo '$(srcdir)/'`libblkid/src/devno.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_devno-devno.Tpo libblkid/src/$(DEPDIR)/test_blkid_devno-devno.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/devno.c' object='libblkid/src/test_blkid_devno-devno.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_devno_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_devno-devno.o `test -f 'libblkid/src/devno.c' || echo '$(srcdir)/'`libblkid/src/devno.c
+
+libblkid/src/test_blkid_devno-devno.obj: libblkid/src/devno.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_devno_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_devno-devno.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_devno-devno.Tpo -c -o libblkid/src/test_blkid_devno-devno.obj `if test -f 'libblkid/src/devno.c'; then $(CYGPATH_W) 'libblkid/src/devno.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/devno.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_devno-devno.Tpo libblkid/src/$(DEPDIR)/test_blkid_devno-devno.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/devno.c' object='libblkid/src/test_blkid_devno-devno.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_devno_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_devno-devno.obj `if test -f 'libblkid/src/devno.c'; then $(CYGPATH_W) 'libblkid/src/devno.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/devno.c'; fi`
+
+libblkid/src/test_blkid_evaluate-evaluate.o: libblkid/src/evaluate.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_evaluate_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_evaluate-evaluate.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_evaluate-evaluate.Tpo -c -o libblkid/src/test_blkid_evaluate-evaluate.o `test -f 'libblkid/src/evaluate.c' || echo '$(srcdir)/'`libblkid/src/evaluate.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_evaluate-evaluate.Tpo libblkid/src/$(DEPDIR)/test_blkid_evaluate-evaluate.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/evaluate.c' object='libblkid/src/test_blkid_evaluate-evaluate.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_evaluate_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_evaluate-evaluate.o `test -f 'libblkid/src/evaluate.c' || echo '$(srcdir)/'`libblkid/src/evaluate.c
+
+libblkid/src/test_blkid_evaluate-evaluate.obj: libblkid/src/evaluate.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_evaluate_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_evaluate-evaluate.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_evaluate-evaluate.Tpo -c -o libblkid/src/test_blkid_evaluate-evaluate.obj `if test -f 'libblkid/src/evaluate.c'; then $(CYGPATH_W) 'libblkid/src/evaluate.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/evaluate.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_evaluate-evaluate.Tpo libblkid/src/$(DEPDIR)/test_blkid_evaluate-evaluate.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/evaluate.c' object='libblkid/src/test_blkid_evaluate-evaluate.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_evaluate_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_evaluate-evaluate.obj `if test -f 'libblkid/src/evaluate.c'; then $(CYGPATH_W) 'libblkid/src/evaluate.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/evaluate.c'; fi`
+
+libblkid/src/test_blkid_read-read.o: libblkid/src/read.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_read_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_read-read.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_read-read.Tpo -c -o libblkid/src/test_blkid_read-read.o `test -f 'libblkid/src/read.c' || echo '$(srcdir)/'`libblkid/src/read.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_read-read.Tpo libblkid/src/$(DEPDIR)/test_blkid_read-read.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/read.c' object='libblkid/src/test_blkid_read-read.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_read_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_read-read.o `test -f 'libblkid/src/read.c' || echo '$(srcdir)/'`libblkid/src/read.c
+
+libblkid/src/test_blkid_read-read.obj: libblkid/src/read.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_read_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_read-read.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_read-read.Tpo -c -o libblkid/src/test_blkid_read-read.obj `if test -f 'libblkid/src/read.c'; then $(CYGPATH_W) 'libblkid/src/read.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/read.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_read-read.Tpo libblkid/src/$(DEPDIR)/test_blkid_read-read.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/read.c' object='libblkid/src/test_blkid_read-read.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_read_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_read-read.obj `if test -f 'libblkid/src/read.c'; then $(CYGPATH_W) 'libblkid/src/read.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/read.c'; fi`
+
+libblkid/src/test_blkid_resolve-resolve.o: libblkid/src/resolve.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_resolve_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_resolve-resolve.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_resolve-resolve.Tpo -c -o libblkid/src/test_blkid_resolve-resolve.o `test -f 'libblkid/src/resolve.c' || echo '$(srcdir)/'`libblkid/src/resolve.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_resolve-resolve.Tpo libblkid/src/$(DEPDIR)/test_blkid_resolve-resolve.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/resolve.c' object='libblkid/src/test_blkid_resolve-resolve.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_resolve_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_resolve-resolve.o `test -f 'libblkid/src/resolve.c' || echo '$(srcdir)/'`libblkid/src/resolve.c
+
+libblkid/src/test_blkid_resolve-resolve.obj: libblkid/src/resolve.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_resolve_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_resolve-resolve.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_resolve-resolve.Tpo -c -o libblkid/src/test_blkid_resolve-resolve.obj `if test -f 'libblkid/src/resolve.c'; then $(CYGPATH_W) 'libblkid/src/resolve.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/resolve.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_resolve-resolve.Tpo libblkid/src/$(DEPDIR)/test_blkid_resolve-resolve.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/resolve.c' object='libblkid/src/test_blkid_resolve-resolve.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_resolve_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_resolve-resolve.obj `if test -f 'libblkid/src/resolve.c'; then $(CYGPATH_W) 'libblkid/src/resolve.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/resolve.c'; fi`
+
+libblkid/src/test_blkid_save-save.o: libblkid/src/save.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_save_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_save-save.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_save-save.Tpo -c -o libblkid/src/test_blkid_save-save.o `test -f 'libblkid/src/save.c' || echo '$(srcdir)/'`libblkid/src/save.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_save-save.Tpo libblkid/src/$(DEPDIR)/test_blkid_save-save.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/save.c' object='libblkid/src/test_blkid_save-save.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_save_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_save-save.o `test -f 'libblkid/src/save.c' || echo '$(srcdir)/'`libblkid/src/save.c
+
+libblkid/src/test_blkid_save-save.obj: libblkid/src/save.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_save_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_save-save.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_save-save.Tpo -c -o libblkid/src/test_blkid_save-save.obj `if test -f 'libblkid/src/save.c'; then $(CYGPATH_W) 'libblkid/src/save.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/save.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_save-save.Tpo libblkid/src/$(DEPDIR)/test_blkid_save-save.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/save.c' object='libblkid/src/test_blkid_save-save.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_save_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_save-save.obj `if test -f 'libblkid/src/save.c'; then $(CYGPATH_W) 'libblkid/src/save.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/save.c'; fi`
+
+libblkid/src/test_blkid_tag-tag.o: libblkid/src/tag.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_tag_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_tag-tag.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_tag-tag.Tpo -c -o libblkid/src/test_blkid_tag-tag.o `test -f 'libblkid/src/tag.c' || echo '$(srcdir)/'`libblkid/src/tag.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_tag-tag.Tpo libblkid/src/$(DEPDIR)/test_blkid_tag-tag.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/tag.c' object='libblkid/src/test_blkid_tag-tag.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_tag_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_tag-tag.o `test -f 'libblkid/src/tag.c' || echo '$(srcdir)/'`libblkid/src/tag.c
+
+libblkid/src/test_blkid_tag-tag.obj: libblkid/src/tag.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_tag_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_tag-tag.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_tag-tag.Tpo -c -o libblkid/src/test_blkid_tag-tag.obj `if test -f 'libblkid/src/tag.c'; then $(CYGPATH_W) 'libblkid/src/tag.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/tag.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_tag-tag.Tpo libblkid/src/$(DEPDIR)/test_blkid_tag-tag.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/tag.c' object='libblkid/src/test_blkid_tag-tag.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_tag_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_tag-tag.obj `if test -f 'libblkid/src/tag.c'; then $(CYGPATH_W) 'libblkid/src/tag.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/tag.c'; fi`
+
+libblkid/src/test_blkid_verify-verify.o: libblkid/src/verify.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_verify_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_verify-verify.o -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_verify-verify.Tpo -c -o libblkid/src/test_blkid_verify-verify.o `test -f 'libblkid/src/verify.c' || echo '$(srcdir)/'`libblkid/src/verify.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_verify-verify.Tpo libblkid/src/$(DEPDIR)/test_blkid_verify-verify.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/verify.c' object='libblkid/src/test_blkid_verify-verify.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_verify_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_verify-verify.o `test -f 'libblkid/src/verify.c' || echo '$(srcdir)/'`libblkid/src/verify.c
+
+libblkid/src/test_blkid_verify-verify.obj: libblkid/src/verify.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_verify_CFLAGS) $(CFLAGS) -MT libblkid/src/test_blkid_verify-verify.obj -MD -MP -MF libblkid/src/$(DEPDIR)/test_blkid_verify-verify.Tpo -c -o libblkid/src/test_blkid_verify-verify.obj `if test -f 'libblkid/src/verify.c'; then $(CYGPATH_W) 'libblkid/src/verify.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/verify.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libblkid/src/$(DEPDIR)/test_blkid_verify-verify.Tpo libblkid/src/$(DEPDIR)/test_blkid_verify-verify.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libblkid/src/verify.c' object='libblkid/src/test_blkid_verify-verify.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_blkid_verify_CFLAGS) $(CFLAGS) -c -o libblkid/src/test_blkid_verify-verify.obj `if test -f 'libblkid/src/verify.c'; then $(CYGPATH_W) 'libblkid/src/verify.c'; else $(CYGPATH_W) '$(srcdir)/libblkid/src/verify.c'; fi`
+
+lib/test_canonicalize-canonicalize.o: lib/canonicalize.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_canonicalize_CFLAGS) $(CFLAGS) -MT lib/test_canonicalize-canonicalize.o -MD -MP -MF lib/$(DEPDIR)/test_canonicalize-canonicalize.Tpo -c -o lib/test_canonicalize-canonicalize.o `test -f 'lib/canonicalize.c' || echo '$(srcdir)/'`lib/canonicalize.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_canonicalize-canonicalize.Tpo lib/$(DEPDIR)/test_canonicalize-canonicalize.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/canonicalize.c' object='lib/test_canonicalize-canonicalize.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_canonicalize_CFLAGS) $(CFLAGS) -c -o lib/test_canonicalize-canonicalize.o `test -f 'lib/canonicalize.c' || echo '$(srcdir)/'`lib/canonicalize.c
+
+lib/test_canonicalize-canonicalize.obj: lib/canonicalize.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_canonicalize_CFLAGS) $(CFLAGS) -MT lib/test_canonicalize-canonicalize.obj -MD -MP -MF lib/$(DEPDIR)/test_canonicalize-canonicalize.Tpo -c -o lib/test_canonicalize-canonicalize.obj `if test -f 'lib/canonicalize.c'; then $(CYGPATH_W) 'lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/lib/canonicalize.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_canonicalize-canonicalize.Tpo lib/$(DEPDIR)/test_canonicalize-canonicalize.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/canonicalize.c' object='lib/test_canonicalize-canonicalize.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_canonicalize_CFLAGS) $(CFLAGS) -c -o lib/test_canonicalize-canonicalize.obj `if test -f 'lib/canonicalize.c'; then $(CYGPATH_W) 'lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/lib/canonicalize.c'; fi`
+
+lib/test_cpuset-cpuset.o: lib/cpuset.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_cpuset_CFLAGS) $(CFLAGS) -MT lib/test_cpuset-cpuset.o -MD -MP -MF lib/$(DEPDIR)/test_cpuset-cpuset.Tpo -c -o lib/test_cpuset-cpuset.o `test -f 'lib/cpuset.c' || echo '$(srcdir)/'`lib/cpuset.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_cpuset-cpuset.Tpo lib/$(DEPDIR)/test_cpuset-cpuset.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/cpuset.c' object='lib/test_cpuset-cpuset.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_cpuset_CFLAGS) $(CFLAGS) -c -o lib/test_cpuset-cpuset.o `test -f 'lib/cpuset.c' || echo '$(srcdir)/'`lib/cpuset.c
+
+lib/test_cpuset-cpuset.obj: lib/cpuset.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_cpuset_CFLAGS) $(CFLAGS) -MT lib/test_cpuset-cpuset.obj -MD -MP -MF lib/$(DEPDIR)/test_cpuset-cpuset.Tpo -c -o lib/test_cpuset-cpuset.obj `if test -f 'lib/cpuset.c'; then $(CYGPATH_W) 'lib/cpuset.c'; else $(CYGPATH_W) '$(srcdir)/lib/cpuset.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_cpuset-cpuset.Tpo lib/$(DEPDIR)/test_cpuset-cpuset.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/cpuset.c' object='lib/test_cpuset-cpuset.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_cpuset_CFLAGS) $(CFLAGS) -c -o lib/test_cpuset-cpuset.obj `if test -f 'lib/cpuset.c'; then $(CYGPATH_W) 'lib/cpuset.c'; else $(CYGPATH_W) '$(srcdir)/lib/cpuset.c'; fi`
+
+lib/test_fileutils-fileutils.o: lib/fileutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_fileutils_CFLAGS) $(CFLAGS) -MT lib/test_fileutils-fileutils.o -MD -MP -MF lib/$(DEPDIR)/test_fileutils-fileutils.Tpo -c -o lib/test_fileutils-fileutils.o `test -f 'lib/fileutils.c' || echo '$(srcdir)/'`lib/fileutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_fileutils-fileutils.Tpo lib/$(DEPDIR)/test_fileutils-fileutils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/fileutils.c' object='lib/test_fileutils-fileutils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_fileutils_CFLAGS) $(CFLAGS) -c -o lib/test_fileutils-fileutils.o `test -f 'lib/fileutils.c' || echo '$(srcdir)/'`lib/fileutils.c
+
+lib/test_fileutils-fileutils.obj: lib/fileutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_fileutils_CFLAGS) $(CFLAGS) -MT lib/test_fileutils-fileutils.obj -MD -MP -MF lib/$(DEPDIR)/test_fileutils-fileutils.Tpo -c -o lib/test_fileutils-fileutils.obj `if test -f 'lib/fileutils.c'; then $(CYGPATH_W) 'lib/fileutils.c'; else $(CYGPATH_W) '$(srcdir)/lib/fileutils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_fileutils-fileutils.Tpo lib/$(DEPDIR)/test_fileutils-fileutils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/fileutils.c' object='lib/test_fileutils-fileutils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_fileutils_CFLAGS) $(CFLAGS) -c -o lib/test_fileutils-fileutils.obj `if test -f 'lib/fileutils.c'; then $(CYGPATH_W) 'lib/fileutils.c'; else $(CYGPATH_W) '$(srcdir)/lib/fileutils.c'; fi`
+
+login-utils/test_islocal-islocal.o: login-utils/islocal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_islocal_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT login-utils/test_islocal-islocal.o -MD -MP -MF login-utils/$(DEPDIR)/test_islocal-islocal.Tpo -c -o login-utils/test_islocal-islocal.o `test -f 'login-utils/islocal.c' || echo '$(srcdir)/'`login-utils/islocal.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/test_islocal-islocal.Tpo login-utils/$(DEPDIR)/test_islocal-islocal.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/islocal.c' object='login-utils/test_islocal-islocal.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_islocal_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o login-utils/test_islocal-islocal.o `test -f 'login-utils/islocal.c' || echo '$(srcdir)/'`login-utils/islocal.c
+
+login-utils/test_islocal-islocal.obj: login-utils/islocal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_islocal_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT login-utils/test_islocal-islocal.obj -MD -MP -MF login-utils/$(DEPDIR)/test_islocal-islocal.Tpo -c -o login-utils/test_islocal-islocal.obj `if test -f 'login-utils/islocal.c'; then $(CYGPATH_W) 'login-utils/islocal.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/islocal.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/test_islocal-islocal.Tpo login-utils/$(DEPDIR)/test_islocal-islocal.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/islocal.c' object='login-utils/test_islocal-islocal.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_islocal_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o login-utils/test_islocal-islocal.obj `if test -f 'login-utils/islocal.c'; then $(CYGPATH_W) 'login-utils/islocal.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/islocal.c'; fi`
+
+lib/test_ismounted-ismounted.o: lib/ismounted.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_ismounted_CFLAGS) $(CFLAGS) -MT lib/test_ismounted-ismounted.o -MD -MP -MF lib/$(DEPDIR)/test_ismounted-ismounted.Tpo -c -o lib/test_ismounted-ismounted.o `test -f 'lib/ismounted.c' || echo '$(srcdir)/'`lib/ismounted.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_ismounted-ismounted.Tpo lib/$(DEPDIR)/test_ismounted-ismounted.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/ismounted.c' object='lib/test_ismounted-ismounted.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_ismounted_CFLAGS) $(CFLAGS) -c -o lib/test_ismounted-ismounted.o `test -f 'lib/ismounted.c' || echo '$(srcdir)/'`lib/ismounted.c
+
+lib/test_ismounted-ismounted.obj: lib/ismounted.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_ismounted_CFLAGS) $(CFLAGS) -MT lib/test_ismounted-ismounted.obj -MD -MP -MF lib/$(DEPDIR)/test_ismounted-ismounted.Tpo -c -o lib/test_ismounted-ismounted.obj `if test -f 'lib/ismounted.c'; then $(CYGPATH_W) 'lib/ismounted.c'; else $(CYGPATH_W) '$(srcdir)/lib/ismounted.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_ismounted-ismounted.Tpo lib/$(DEPDIR)/test_ismounted-ismounted.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/ismounted.c' object='lib/test_ismounted-ismounted.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_ismounted_CFLAGS) $(CFLAGS) -c -o lib/test_ismounted-ismounted.obj `if test -f 'lib/ismounted.c'; then $(CYGPATH_W) 'lib/ismounted.c'; else $(CYGPATH_W) '$(srcdir)/lib/ismounted.c'; fi`
+
+login-utils/test_logindefs-logindefs.o: login-utils/logindefs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_logindefs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT login-utils/test_logindefs-logindefs.o -MD -MP -MF login-utils/$(DEPDIR)/test_logindefs-logindefs.Tpo -c -o login-utils/test_logindefs-logindefs.o `test -f 'login-utils/logindefs.c' || echo '$(srcdir)/'`login-utils/logindefs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/test_logindefs-logindefs.Tpo login-utils/$(DEPDIR)/test_logindefs-logindefs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/logindefs.c' object='login-utils/test_logindefs-logindefs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_logindefs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o login-utils/test_logindefs-logindefs.o `test -f 'login-utils/logindefs.c' || echo '$(srcdir)/'`login-utils/logindefs.c
+
+login-utils/test_logindefs-logindefs.obj: login-utils/logindefs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_logindefs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT login-utils/test_logindefs-logindefs.obj -MD -MP -MF login-utils/$(DEPDIR)/test_logindefs-logindefs.Tpo -c -o login-utils/test_logindefs-logindefs.obj `if test -f 'login-utils/logindefs.c'; then $(CYGPATH_W) 'login-utils/logindefs.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/logindefs.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) login-utils/$(DEPDIR)/test_logindefs-logindefs.Tpo login-utils/$(DEPDIR)/test_logindefs-logindefs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='login-utils/logindefs.c' object='login-utils/test_logindefs-logindefs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_logindefs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o login-utils/test_logindefs-logindefs.obj `if test -f 'login-utils/logindefs.c'; then $(CYGPATH_W) 'login-utils/logindefs.c'; else $(CYGPATH_W) '$(srcdir)/login-utils/logindefs.c'; fi`
+
+lib/test_loopdev-loopdev.o: lib/loopdev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_loopdev_CFLAGS) $(CFLAGS) -MT lib/test_loopdev-loopdev.o -MD -MP -MF lib/$(DEPDIR)/test_loopdev-loopdev.Tpo -c -o lib/test_loopdev-loopdev.o `test -f 'lib/loopdev.c' || echo '$(srcdir)/'`lib/loopdev.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_loopdev-loopdev.Tpo lib/$(DEPDIR)/test_loopdev-loopdev.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/loopdev.c' object='lib/test_loopdev-loopdev.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_loopdev_CFLAGS) $(CFLAGS) -c -o lib/test_loopdev-loopdev.o `test -f 'lib/loopdev.c' || echo '$(srcdir)/'`lib/loopdev.c
+
+lib/test_loopdev-loopdev.obj: lib/loopdev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_loopdev_CFLAGS) $(CFLAGS) -MT lib/test_loopdev-loopdev.obj -MD -MP -MF lib/$(DEPDIR)/test_loopdev-loopdev.Tpo -c -o lib/test_loopdev-loopdev.obj `if test -f 'lib/loopdev.c'; then $(CYGPATH_W) 'lib/loopdev.c'; else $(CYGPATH_W) '$(srcdir)/lib/loopdev.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_loopdev-loopdev.Tpo lib/$(DEPDIR)/test_loopdev-loopdev.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/loopdev.c' object='lib/test_loopdev-loopdev.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_loopdev_CFLAGS) $(CFLAGS) -c -o lib/test_loopdev-loopdev.obj `if test -f 'lib/loopdev.c'; then $(CYGPATH_W) 'lib/loopdev.c'; else $(CYGPATH_W) '$(srcdir)/lib/loopdev.c'; fi`
+
+lib/test_mangle-mangle.o: lib/mangle.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mangle_CFLAGS) $(CFLAGS) -MT lib/test_mangle-mangle.o -MD -MP -MF lib/$(DEPDIR)/test_mangle-mangle.Tpo -c -o lib/test_mangle-mangle.o `test -f 'lib/mangle.c' || echo '$(srcdir)/'`lib/mangle.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_mangle-mangle.Tpo lib/$(DEPDIR)/test_mangle-mangle.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/mangle.c' object='lib/test_mangle-mangle.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mangle_CFLAGS) $(CFLAGS) -c -o lib/test_mangle-mangle.o `test -f 'lib/mangle.c' || echo '$(srcdir)/'`lib/mangle.c
+
+lib/test_mangle-mangle.obj: lib/mangle.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mangle_CFLAGS) $(CFLAGS) -MT lib/test_mangle-mangle.obj -MD -MP -MF lib/$(DEPDIR)/test_mangle-mangle.Tpo -c -o lib/test_mangle-mangle.obj `if test -f 'lib/mangle.c'; then $(CYGPATH_W) 'lib/mangle.c'; else $(CYGPATH_W) '$(srcdir)/lib/mangle.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_mangle-mangle.Tpo lib/$(DEPDIR)/test_mangle-mangle.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/mangle.c' object='lib/test_mangle-mangle.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mangle_CFLAGS) $(CFLAGS) -c -o lib/test_mangle-mangle.obj `if test -f 'lib/mangle.c'; then $(CYGPATH_W) 'lib/mangle.c'; else $(CYGPATH_W) '$(srcdir)/lib/mangle.c'; fi`
+
+libmount/src/test_mount_cache-cache.o: libmount/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_cache_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_cache-cache.o -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_cache-cache.Tpo -c -o libmount/src/test_mount_cache-cache.o `test -f 'libmount/src/cache.c' || echo '$(srcdir)/'`libmount/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_cache-cache.Tpo libmount/src/$(DEPDIR)/test_mount_cache-cache.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/cache.c' object='libmount/src/test_mount_cache-cache.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_cache_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_cache-cache.o `test -f 'libmount/src/cache.c' || echo '$(srcdir)/'`libmount/src/cache.c
+
+libmount/src/test_mount_cache-cache.obj: libmount/src/cache.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_cache_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_cache-cache.obj -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_cache-cache.Tpo -c -o libmount/src/test_mount_cache-cache.obj `if test -f 'libmount/src/cache.c'; then $(CYGPATH_W) 'libmount/src/cache.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/cache.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_cache-cache.Tpo libmount/src/$(DEPDIR)/test_mount_cache-cache.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/cache.c' object='libmount/src/test_mount_cache-cache.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_cache_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_cache-cache.obj `if test -f 'libmount/src/cache.c'; then $(CYGPATH_W) 'libmount/src/cache.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/cache.c'; fi`
+
+libmount/src/test_mount_context-context.o: libmount/src/context.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_context_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_context-context.o -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_context-context.Tpo -c -o libmount/src/test_mount_context-context.o `test -f 'libmount/src/context.c' || echo '$(srcdir)/'`libmount/src/context.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_context-context.Tpo libmount/src/$(DEPDIR)/test_mount_context-context.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/context.c' object='libmount/src/test_mount_context-context.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_context_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_context-context.o `test -f 'libmount/src/context.c' || echo '$(srcdir)/'`libmount/src/context.c
+
+libmount/src/test_mount_context-context.obj: libmount/src/context.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_context_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_context-context.obj -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_context-context.Tpo -c -o libmount/src/test_mount_context-context.obj `if test -f 'libmount/src/context.c'; then $(CYGPATH_W) 'libmount/src/context.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/context.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_context-context.Tpo libmount/src/$(DEPDIR)/test_mount_context-context.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/context.c' object='libmount/src/test_mount_context-context.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_context_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_context-context.obj `if test -f 'libmount/src/context.c'; then $(CYGPATH_W) 'libmount/src/context.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/context.c'; fi`
+
+libmount/src/test_mount_lock-lock.o: libmount/src/lock.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_lock_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_lock-lock.o -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_lock-lock.Tpo -c -o libmount/src/test_mount_lock-lock.o `test -f 'libmount/src/lock.c' || echo '$(srcdir)/'`libmount/src/lock.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_lock-lock.Tpo libmount/src/$(DEPDIR)/test_mount_lock-lock.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/lock.c' object='libmount/src/test_mount_lock-lock.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_lock_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_lock-lock.o `test -f 'libmount/src/lock.c' || echo '$(srcdir)/'`libmount/src/lock.c
+
+libmount/src/test_mount_lock-lock.obj: libmount/src/lock.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_lock_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_lock-lock.obj -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_lock-lock.Tpo -c -o libmount/src/test_mount_lock-lock.obj `if test -f 'libmount/src/lock.c'; then $(CYGPATH_W) 'libmount/src/lock.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/lock.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_lock-lock.Tpo libmount/src/$(DEPDIR)/test_mount_lock-lock.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/lock.c' object='libmount/src/test_mount_lock-lock.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_lock_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_lock-lock.obj `if test -f 'libmount/src/lock.c'; then $(CYGPATH_W) 'libmount/src/lock.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/lock.c'; fi`
+
+libmount/src/test_mount_optstr-optstr.o: libmount/src/optstr.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_optstr_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_optstr-optstr.o -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_optstr-optstr.Tpo -c -o libmount/src/test_mount_optstr-optstr.o `test -f 'libmount/src/optstr.c' || echo '$(srcdir)/'`libmount/src/optstr.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_optstr-optstr.Tpo libmount/src/$(DEPDIR)/test_mount_optstr-optstr.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/optstr.c' object='libmount/src/test_mount_optstr-optstr.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_optstr_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_optstr-optstr.o `test -f 'libmount/src/optstr.c' || echo '$(srcdir)/'`libmount/src/optstr.c
+
+libmount/src/test_mount_optstr-optstr.obj: libmount/src/optstr.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_optstr_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_optstr-optstr.obj -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_optstr-optstr.Tpo -c -o libmount/src/test_mount_optstr-optstr.obj `if test -f 'libmount/src/optstr.c'; then $(CYGPATH_W) 'libmount/src/optstr.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/optstr.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_optstr-optstr.Tpo libmount/src/$(DEPDIR)/test_mount_optstr-optstr.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/optstr.c' object='libmount/src/test_mount_optstr-optstr.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_optstr_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_optstr-optstr.obj `if test -f 'libmount/src/optstr.c'; then $(CYGPATH_W) 'libmount/src/optstr.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/optstr.c'; fi`
+
+libmount/src/test_mount_tab-tab.o: libmount/src/tab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_tab-tab.o -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_tab-tab.Tpo -c -o libmount/src/test_mount_tab-tab.o `test -f 'libmount/src/tab.c' || echo '$(srcdir)/'`libmount/src/tab.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_tab-tab.Tpo libmount/src/$(DEPDIR)/test_mount_tab-tab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab.c' object='libmount/src/test_mount_tab-tab.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_tab-tab.o `test -f 'libmount/src/tab.c' || echo '$(srcdir)/'`libmount/src/tab.c
+
+libmount/src/test_mount_tab-tab.obj: libmount/src/tab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_tab-tab.obj -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_tab-tab.Tpo -c -o libmount/src/test_mount_tab-tab.obj `if test -f 'libmount/src/tab.c'; then $(CYGPATH_W) 'libmount/src/tab.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/tab.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_tab-tab.Tpo libmount/src/$(DEPDIR)/test_mount_tab-tab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab.c' object='libmount/src/test_mount_tab-tab.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_tab-tab.obj `if test -f 'libmount/src/tab.c'; then $(CYGPATH_W) 'libmount/src/tab.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/tab.c'; fi`
+
+libmount/src/test_mount_tab_diff-tab_diff.o: libmount/src/tab_diff.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_diff_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_tab_diff-tab_diff.o -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_tab_diff-tab_diff.Tpo -c -o libmount/src/test_mount_tab_diff-tab_diff.o `test -f 'libmount/src/tab_diff.c' || echo '$(srcdir)/'`libmount/src/tab_diff.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_tab_diff-tab_diff.Tpo libmount/src/$(DEPDIR)/test_mount_tab_diff-tab_diff.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab_diff.c' object='libmount/src/test_mount_tab_diff-tab_diff.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_diff_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_tab_diff-tab_diff.o `test -f 'libmount/src/tab_diff.c' || echo '$(srcdir)/'`libmount/src/tab_diff.c
+
+libmount/src/test_mount_tab_diff-tab_diff.obj: libmount/src/tab_diff.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_diff_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_tab_diff-tab_diff.obj -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_tab_diff-tab_diff.Tpo -c -o libmount/src/test_mount_tab_diff-tab_diff.obj `if test -f 'libmount/src/tab_diff.c'; then $(CYGPATH_W) 'libmount/src/tab_diff.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/tab_diff.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_tab_diff-tab_diff.Tpo libmount/src/$(DEPDIR)/test_mount_tab_diff-tab_diff.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab_diff.c' object='libmount/src/test_mount_tab_diff-tab_diff.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_diff_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_tab_diff-tab_diff.obj `if test -f 'libmount/src/tab_diff.c'; then $(CYGPATH_W) 'libmount/src/tab_diff.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/tab_diff.c'; fi`
+
+libmount/src/test_mount_tab_update-tab_update.o: libmount/src/tab_update.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_update_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_tab_update-tab_update.o -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_tab_update-tab_update.Tpo -c -o libmount/src/test_mount_tab_update-tab_update.o `test -f 'libmount/src/tab_update.c' || echo '$(srcdir)/'`libmount/src/tab_update.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_tab_update-tab_update.Tpo libmount/src/$(DEPDIR)/test_mount_tab_update-tab_update.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab_update.c' object='libmount/src/test_mount_tab_update-tab_update.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_update_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_tab_update-tab_update.o `test -f 'libmount/src/tab_update.c' || echo '$(srcdir)/'`libmount/src/tab_update.c
+
+libmount/src/test_mount_tab_update-tab_update.obj: libmount/src/tab_update.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_update_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_tab_update-tab_update.obj -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_tab_update-tab_update.Tpo -c -o libmount/src/test_mount_tab_update-tab_update.obj `if test -f 'libmount/src/tab_update.c'; then $(CYGPATH_W) 'libmount/src/tab_update.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/tab_update.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_tab_update-tab_update.Tpo libmount/src/$(DEPDIR)/test_mount_tab_update-tab_update.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/tab_update.c' object='libmount/src/test_mount_tab_update-tab_update.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_tab_update_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_tab_update-tab_update.obj `if test -f 'libmount/src/tab_update.c'; then $(CYGPATH_W) 'libmount/src/tab_update.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/tab_update.c'; fi`
+
+libmount/src/test_mount_utils-utils.o: libmount/src/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_utils_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_utils-utils.o -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_utils-utils.Tpo -c -o libmount/src/test_mount_utils-utils.o `test -f 'libmount/src/utils.c' || echo '$(srcdir)/'`libmount/src/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_utils-utils.Tpo libmount/src/$(DEPDIR)/test_mount_utils-utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/utils.c' object='libmount/src/test_mount_utils-utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_utils_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_utils-utils.o `test -f 'libmount/src/utils.c' || echo '$(srcdir)/'`libmount/src/utils.c
+
+libmount/src/test_mount_utils-utils.obj: libmount/src/utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_utils_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_utils-utils.obj -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_utils-utils.Tpo -c -o libmount/src/test_mount_utils-utils.obj `if test -f 'libmount/src/utils.c'; then $(CYGPATH_W) 'libmount/src/utils.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/utils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_utils-utils.Tpo libmount/src/$(DEPDIR)/test_mount_utils-utils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/utils.c' object='libmount/src/test_mount_utils-utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_utils_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_utils-utils.obj `if test -f 'libmount/src/utils.c'; then $(CYGPATH_W) 'libmount/src/utils.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/utils.c'; fi`
+
+libmount/src/test_mount_version-version.o: libmount/src/version.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_version_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_version-version.o -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_version-version.Tpo -c -o libmount/src/test_mount_version-version.o `test -f 'libmount/src/version.c' || echo '$(srcdir)/'`libmount/src/version.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_version-version.Tpo libmount/src/$(DEPDIR)/test_mount_version-version.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/version.c' object='libmount/src/test_mount_version-version.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_version_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_version-version.o `test -f 'libmount/src/version.c' || echo '$(srcdir)/'`libmount/src/version.c
+
+libmount/src/test_mount_version-version.obj: libmount/src/version.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_version_CFLAGS) $(CFLAGS) -MT libmount/src/test_mount_version-version.obj -MD -MP -MF libmount/src/$(DEPDIR)/test_mount_version-version.Tpo -c -o libmount/src/test_mount_version-version.obj `if test -f 'libmount/src/version.c'; then $(CYGPATH_W) 'libmount/src/version.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/version.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmount/src/$(DEPDIR)/test_mount_version-version.Tpo libmount/src/$(DEPDIR)/test_mount_version-version.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmount/src/version.c' object='libmount/src/test_mount_version-version.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_mount_version_CFLAGS) $(CFLAGS) -c -o libmount/src/test_mount_version-version.obj `if test -f 'libmount/src/version.c'; then $(CYGPATH_W) 'libmount/src/version.c'; else $(CYGPATH_W) '$(srcdir)/libmount/src/version.c'; fi`
+
+lib/test_pager-pager.o: lib/pager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_pager_CFLAGS) $(CFLAGS) -MT lib/test_pager-pager.o -MD -MP -MF lib/$(DEPDIR)/test_pager-pager.Tpo -c -o lib/test_pager-pager.o `test -f 'lib/pager.c' || echo '$(srcdir)/'`lib/pager.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_pager-pager.Tpo lib/$(DEPDIR)/test_pager-pager.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/pager.c' object='lib/test_pager-pager.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_pager_CFLAGS) $(CFLAGS) -c -o lib/test_pager-pager.o `test -f 'lib/pager.c' || echo '$(srcdir)/'`lib/pager.c
+
+lib/test_pager-pager.obj: lib/pager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_pager_CFLAGS) $(CFLAGS) -MT lib/test_pager-pager.obj -MD -MP -MF lib/$(DEPDIR)/test_pager-pager.Tpo -c -o lib/test_pager-pager.obj `if test -f 'lib/pager.c'; then $(CYGPATH_W) 'lib/pager.c'; else $(CYGPATH_W) '$(srcdir)/lib/pager.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_pager-pager.Tpo lib/$(DEPDIR)/test_pager-pager.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/pager.c' object='lib/test_pager-pager.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_pager_CFLAGS) $(CFLAGS) -c -o lib/test_pager-pager.obj `if test -f 'lib/pager.c'; then $(CYGPATH_W) 'lib/pager.c'; else $(CYGPATH_W) '$(srcdir)/lib/pager.c'; fi`
+
+lib/test_procutils-procutils.o: lib/procutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_procutils_CFLAGS) $(CFLAGS) -MT lib/test_procutils-procutils.o -MD -MP -MF lib/$(DEPDIR)/test_procutils-procutils.Tpo -c -o lib/test_procutils-procutils.o `test -f 'lib/procutils.c' || echo '$(srcdir)/'`lib/procutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_procutils-procutils.Tpo lib/$(DEPDIR)/test_procutils-procutils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/procutils.c' object='lib/test_procutils-procutils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_procutils_CFLAGS) $(CFLAGS) -c -o lib/test_procutils-procutils.o `test -f 'lib/procutils.c' || echo '$(srcdir)/'`lib/procutils.c
+
+lib/test_procutils-procutils.obj: lib/procutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_procutils_CFLAGS) $(CFLAGS) -MT lib/test_procutils-procutils.obj -MD -MP -MF lib/$(DEPDIR)/test_procutils-procutils.Tpo -c -o lib/test_procutils-procutils.obj `if test -f 'lib/procutils.c'; then $(CYGPATH_W) 'lib/procutils.c'; else $(CYGPATH_W) '$(srcdir)/lib/procutils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_procutils-procutils.Tpo lib/$(DEPDIR)/test_procutils-procutils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/procutils.c' object='lib/test_procutils-procutils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_procutils_CFLAGS) $(CFLAGS) -c -o lib/test_procutils-procutils.obj `if test -f 'lib/procutils.c'; then $(CYGPATH_W) 'lib/procutils.c'; else $(CYGPATH_W) '$(srcdir)/lib/procutils.c'; fi`
+
+lib/test_randutils-randutils.o: lib/randutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_randutils_CFLAGS) $(CFLAGS) -MT lib/test_randutils-randutils.o -MD -MP -MF lib/$(DEPDIR)/test_randutils-randutils.Tpo -c -o lib/test_randutils-randutils.o `test -f 'lib/randutils.c' || echo '$(srcdir)/'`lib/randutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_randutils-randutils.Tpo lib/$(DEPDIR)/test_randutils-randutils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/randutils.c' object='lib/test_randutils-randutils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_randutils_CFLAGS) $(CFLAGS) -c -o lib/test_randutils-randutils.o `test -f 'lib/randutils.c' || echo '$(srcdir)/'`lib/randutils.c
+
+lib/test_randutils-randutils.obj: lib/randutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_randutils_CFLAGS) $(CFLAGS) -MT lib/test_randutils-randutils.obj -MD -MP -MF lib/$(DEPDIR)/test_randutils-randutils.Tpo -c -o lib/test_randutils-randutils.obj `if test -f 'lib/randutils.c'; then $(CYGPATH_W) 'lib/randutils.c'; else $(CYGPATH_W) '$(srcdir)/lib/randutils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_randutils-randutils.Tpo lib/$(DEPDIR)/test_randutils-randutils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/randutils.c' object='lib/test_randutils-randutils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_randutils_CFLAGS) $(CFLAGS) -c -o lib/test_randutils-randutils.obj `if test -f 'lib/randutils.c'; then $(CYGPATH_W) 'lib/randutils.c'; else $(CYGPATH_W) '$(srcdir)/lib/randutils.c'; fi`
+
+lib/test_strutils-strutils.o: lib/strutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strutils_CFLAGS) $(CFLAGS) -MT lib/test_strutils-strutils.o -MD -MP -MF lib/$(DEPDIR)/test_strutils-strutils.Tpo -c -o lib/test_strutils-strutils.o `test -f 'lib/strutils.c' || echo '$(srcdir)/'`lib/strutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_strutils-strutils.Tpo lib/$(DEPDIR)/test_strutils-strutils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/strutils.c' object='lib/test_strutils-strutils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strutils_CFLAGS) $(CFLAGS) -c -o lib/test_strutils-strutils.o `test -f 'lib/strutils.c' || echo '$(srcdir)/'`lib/strutils.c
+
+lib/test_strutils-strutils.obj: lib/strutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strutils_CFLAGS) $(CFLAGS) -MT lib/test_strutils-strutils.obj -MD -MP -MF lib/$(DEPDIR)/test_strutils-strutils.Tpo -c -o lib/test_strutils-strutils.obj `if test -f 'lib/strutils.c'; then $(CYGPATH_W) 'lib/strutils.c'; else $(CYGPATH_W) '$(srcdir)/lib/strutils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_strutils-strutils.Tpo lib/$(DEPDIR)/test_strutils-strutils.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/strutils.c' object='lib/test_strutils-strutils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strutils_CFLAGS) $(CFLAGS) -c -o lib/test_strutils-strutils.obj `if test -f 'lib/strutils.c'; then $(CYGPATH_W) 'lib/strutils.c'; else $(CYGPATH_W) '$(srcdir)/lib/strutils.c'; fi`
+
+lib/test_sysfs-sysfs.o: lib/sysfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sysfs_CFLAGS) $(CFLAGS) -MT lib/test_sysfs-sysfs.o -MD -MP -MF lib/$(DEPDIR)/test_sysfs-sysfs.Tpo -c -o lib/test_sysfs-sysfs.o `test -f 'lib/sysfs.c' || echo '$(srcdir)/'`lib/sysfs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_sysfs-sysfs.Tpo lib/$(DEPDIR)/test_sysfs-sysfs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/sysfs.c' object='lib/test_sysfs-sysfs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sysfs_CFLAGS) $(CFLAGS) -c -o lib/test_sysfs-sysfs.o `test -f 'lib/sysfs.c' || echo '$(srcdir)/'`lib/sysfs.c
+
+lib/test_sysfs-sysfs.obj: lib/sysfs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sysfs_CFLAGS) $(CFLAGS) -MT lib/test_sysfs-sysfs.obj -MD -MP -MF lib/$(DEPDIR)/test_sysfs-sysfs.Tpo -c -o lib/test_sysfs-sysfs.obj `if test -f 'lib/sysfs.c'; then $(CYGPATH_W) 'lib/sysfs.c'; else $(CYGPATH_W) '$(srcdir)/lib/sysfs.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_sysfs-sysfs.Tpo lib/$(DEPDIR)/test_sysfs-sysfs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/sysfs.c' object='lib/test_sysfs-sysfs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sysfs_CFLAGS) $(CFLAGS) -c -o lib/test_sysfs-sysfs.obj `if test -f 'lib/sysfs.c'; then $(CYGPATH_W) 'lib/sysfs.c'; else $(CYGPATH_W) '$(srcdir)/lib/sysfs.c'; fi`
+
+lib/test_tt-tt.o: lib/tt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tt_CFLAGS) $(CFLAGS) -MT lib/test_tt-tt.o -MD -MP -MF lib/$(DEPDIR)/test_tt-tt.Tpo -c -o lib/test_tt-tt.o `test -f 'lib/tt.c' || echo '$(srcdir)/'`lib/tt.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_tt-tt.Tpo lib/$(DEPDIR)/test_tt-tt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/tt.c' object='lib/test_tt-tt.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tt_CFLAGS) $(CFLAGS) -c -o lib/test_tt-tt.o `test -f 'lib/tt.c' || echo '$(srcdir)/'`lib/tt.c
+
+lib/test_tt-tt.obj: lib/tt.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tt_CFLAGS) $(CFLAGS) -MT lib/test_tt-tt.obj -MD -MP -MF lib/$(DEPDIR)/test_tt-tt.Tpo -c -o lib/test_tt-tt.obj `if test -f 'lib/tt.c'; then $(CYGPATH_W) 'lib/tt.c'; else $(CYGPATH_W) '$(srcdir)/lib/tt.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_tt-tt.Tpo lib/$(DEPDIR)/test_tt-tt.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/tt.c' object='lib/test_tt-tt.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tt_CFLAGS) $(CFLAGS) -c -o lib/test_tt-tt.obj `if test -f 'lib/tt.c'; then $(CYGPATH_W) 'lib/tt.c'; else $(CYGPATH_W) '$(srcdir)/lib/tt.c'; fi`
+
+libuuid/src/test_uuid-test_uuid.o: libuuid/src/test_uuid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_uuid_CFLAGS) $(CFLAGS) -MT libuuid/src/test_uuid-test_uuid.o -MD -MP -MF libuuid/src/$(DEPDIR)/test_uuid-test_uuid.Tpo -c -o libuuid/src/test_uuid-test_uuid.o `test -f 'libuuid/src/test_uuid.c' || echo '$(srcdir)/'`libuuid/src/test_uuid.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/test_uuid-test_uuid.Tpo libuuid/src/$(DEPDIR)/test_uuid-test_uuid.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/test_uuid.c' object='libuuid/src/test_uuid-test_uuid.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_uuid_CFLAGS) $(CFLAGS) -c -o libuuid/src/test_uuid-test_uuid.o `test -f 'libuuid/src/test_uuid.c' || echo '$(srcdir)/'`libuuid/src/test_uuid.c
+
+libuuid/src/test_uuid-test_uuid.obj: libuuid/src/test_uuid.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_uuid_CFLAGS) $(CFLAGS) -MT libuuid/src/test_uuid-test_uuid.obj -MD -MP -MF libuuid/src/$(DEPDIR)/test_uuid-test_uuid.Tpo -c -o libuuid/src/test_uuid-test_uuid.obj `if test -f 'libuuid/src/test_uuid.c'; then $(CYGPATH_W) 'libuuid/src/test_uuid.c'; else $(CYGPATH_W) '$(srcdir)/libuuid/src/test_uuid.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libuuid/src/$(DEPDIR)/test_uuid-test_uuid.Tpo libuuid/src/$(DEPDIR)/test_uuid-test_uuid.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libuuid/src/test_uuid.c' object='libuuid/src/test_uuid-test_uuid.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_uuid_CFLAGS) $(CFLAGS) -c -o libuuid/src/test_uuid-test_uuid.obj `if test -f 'libuuid/src/test_uuid.c'; then $(CYGPATH_W) 'libuuid/src/test_uuid.c'; else $(CYGPATH_W) '$(srcdir)/libuuid/src/test_uuid.c'; fi`
+
+lib/test_wholedisk-wholedisk.o: lib/wholedisk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_wholedisk_CFLAGS) $(CFLAGS) -MT lib/test_wholedisk-wholedisk.o -MD -MP -MF lib/$(DEPDIR)/test_wholedisk-wholedisk.Tpo -c -o lib/test_wholedisk-wholedisk.o `test -f 'lib/wholedisk.c' || echo '$(srcdir)/'`lib/wholedisk.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_wholedisk-wholedisk.Tpo lib/$(DEPDIR)/test_wholedisk-wholedisk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/wholedisk.c' object='lib/test_wholedisk-wholedisk.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_wholedisk_CFLAGS) $(CFLAGS) -c -o lib/test_wholedisk-wholedisk.o `test -f 'lib/wholedisk.c' || echo '$(srcdir)/'`lib/wholedisk.c
+
+lib/test_wholedisk-wholedisk.obj: lib/wholedisk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_wholedisk_CFLAGS) $(CFLAGS) -MT lib/test_wholedisk-wholedisk.obj -MD -MP -MF lib/$(DEPDIR)/test_wholedisk-wholedisk.Tpo -c -o lib/test_wholedisk-wholedisk.obj `if test -f 'lib/wholedisk.c'; then $(CYGPATH_W) 'lib/wholedisk.c'; else $(CYGPATH_W) '$(srcdir)/lib/wholedisk.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/test_wholedisk-wholedisk.Tpo lib/$(DEPDIR)/test_wholedisk-wholedisk.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/wholedisk.c' object='lib/test_wholedisk-wholedisk.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_wholedisk_CFLAGS) $(CFLAGS) -c -o lib/test_wholedisk-wholedisk.obj `if test -f 'lib/wholedisk.c'; then $(CYGPATH_W) 'lib/wholedisk.c'; else $(CYGPATH_W) '$(srcdir)/lib/wholedisk.c'; fi`
+
+mount-deprecated/umount-umount.o: mount-deprecated/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-umount.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-umount.Tpo -c -o mount-deprecated/umount-umount.o `test -f 'mount-deprecated/umount.c' || echo '$(srcdir)/'`mount-deprecated/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-umount.Tpo mount-deprecated/$(DEPDIR)/umount-umount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/umount.c' object='mount-deprecated/umount-umount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-umount.o `test -f 'mount-deprecated/umount.c' || echo '$(srcdir)/'`mount-deprecated/umount.c
+
+mount-deprecated/umount-umount.obj: mount-deprecated/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-umount.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-umount.Tpo -c -o mount-deprecated/umount-umount.obj `if test -f 'mount-deprecated/umount.c'; then $(CYGPATH_W) 'mount-deprecated/umount.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/umount.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-umount.Tpo mount-deprecated/$(DEPDIR)/umount-umount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/umount.c' object='mount-deprecated/umount-umount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-umount.obj `if test -f 'mount-deprecated/umount.c'; then $(CYGPATH_W) 'mount-deprecated/umount.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/umount.c'; fi`
+
+mount-deprecated/umount-sundries.o: mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-sundries.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-sundries.Tpo -c -o mount-deprecated/umount-sundries.o `test -f 'mount-deprecated/sundries.c' || echo '$(srcdir)/'`mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-sundries.Tpo mount-deprecated/$(DEPDIR)/umount-sundries.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/sundries.c' object='mount-deprecated/umount-sundries.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-sundries.o `test -f 'mount-deprecated/sundries.c' || echo '$(srcdir)/'`mount-deprecated/sundries.c
+
+mount-deprecated/umount-sundries.obj: mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-sundries.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-sundries.Tpo -c -o mount-deprecated/umount-sundries.obj `if test -f 'mount-deprecated/sundries.c'; then $(CYGPATH_W) 'mount-deprecated/sundries.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/sundries.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-sundries.Tpo mount-deprecated/$(DEPDIR)/umount-sundries.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/sundries.c' object='mount-deprecated/umount-sundries.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-sundries.obj `if test -f 'mount-deprecated/sundries.c'; then $(CYGPATH_W) 'mount-deprecated/sundries.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/sundries.c'; fi`
+
+mount-deprecated/umount-devname.o: mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-devname.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-devname.Tpo -c -o mount-deprecated/umount-devname.o `test -f 'mount-deprecated/devname.c' || echo '$(srcdir)/'`mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-devname.Tpo mount-deprecated/$(DEPDIR)/umount-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/devname.c' object='mount-deprecated/umount-devname.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-devname.o `test -f 'mount-deprecated/devname.c' || echo '$(srcdir)/'`mount-deprecated/devname.c
+
+mount-deprecated/umount-devname.obj: mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-devname.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-devname.Tpo -c -o mount-deprecated/umount-devname.obj `if test -f 'mount-deprecated/devname.c'; then $(CYGPATH_W) 'mount-deprecated/devname.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/devname.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-devname.Tpo mount-deprecated/$(DEPDIR)/umount-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/devname.c' object='mount-deprecated/umount-devname.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-devname.obj `if test -f 'mount-deprecated/devname.c'; then $(CYGPATH_W) 'mount-deprecated/devname.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/devname.c'; fi`
+
+mount-deprecated/umount-fstab.o: mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-fstab.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-fstab.Tpo -c -o mount-deprecated/umount-fstab.o `test -f 'mount-deprecated/fstab.c' || echo '$(srcdir)/'`mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-fstab.Tpo mount-deprecated/$(DEPDIR)/umount-fstab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fstab.c' object='mount-deprecated/umount-fstab.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-fstab.o `test -f 'mount-deprecated/fstab.c' || echo '$(srcdir)/'`mount-deprecated/fstab.c
+
+mount-deprecated/umount-fstab.obj: mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-fstab.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-fstab.Tpo -c -o mount-deprecated/umount-fstab.obj `if test -f 'mount-deprecated/fstab.c'; then $(CYGPATH_W) 'mount-deprecated/fstab.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fstab.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-fstab.Tpo mount-deprecated/$(DEPDIR)/umount-fstab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fstab.c' object='mount-deprecated/umount-fstab.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-fstab.obj `if test -f 'mount-deprecated/fstab.c'; then $(CYGPATH_W) 'mount-deprecated/fstab.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fstab.c'; fi`
+
+mount-deprecated/umount-getusername.o: mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-getusername.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-getusername.Tpo -c -o mount-deprecated/umount-getusername.o `test -f 'mount-deprecated/getusername.c' || echo '$(srcdir)/'`mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-getusername.Tpo mount-deprecated/$(DEPDIR)/umount-getusername.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/getusername.c' object='mount-deprecated/umount-getusername.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-getusername.o `test -f 'mount-deprecated/getusername.c' || echo '$(srcdir)/'`mount-deprecated/getusername.c
+
+mount-deprecated/umount-getusername.obj: mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-getusername.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-getusername.Tpo -c -o mount-deprecated/umount-getusername.obj `if test -f 'mount-deprecated/getusername.c'; then $(CYGPATH_W) 'mount-deprecated/getusername.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/getusername.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-getusername.Tpo mount-deprecated/$(DEPDIR)/umount-getusername.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/getusername.c' object='mount-deprecated/umount-getusername.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-getusername.obj `if test -f 'mount-deprecated/getusername.c'; then $(CYGPATH_W) 'mount-deprecated/getusername.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/getusername.c'; fi`
+
+mount-deprecated/umount-mount_mntent.o: mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-mount_mntent.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-mount_mntent.Tpo -c -o mount-deprecated/umount-mount_mntent.o `test -f 'mount-deprecated/mount_mntent.c' || echo '$(srcdir)/'`mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-mount_mntent.Tpo mount-deprecated/$(DEPDIR)/umount-mount_mntent.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount_mntent.c' object='mount-deprecated/umount-mount_mntent.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-mount_mntent.o `test -f 'mount-deprecated/mount_mntent.c' || echo '$(srcdir)/'`mount-deprecated/mount_mntent.c
+
+mount-deprecated/umount-mount_mntent.obj: mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-mount_mntent.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-mount_mntent.Tpo -c -o mount-deprecated/umount-mount_mntent.obj `if test -f 'mount-deprecated/mount_mntent.c'; then $(CYGPATH_W) 'mount-deprecated/mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount_mntent.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-mount_mntent.Tpo mount-deprecated/$(DEPDIR)/umount-mount_mntent.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount_mntent.c' object='mount-deprecated/umount-mount_mntent.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-mount_mntent.obj `if test -f 'mount-deprecated/mount_mntent.c'; then $(CYGPATH_W) 'mount-deprecated/mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount_mntent.c'; fi`
+
+mount-deprecated/umount-fsprobe.o: mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-fsprobe.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-fsprobe.Tpo -c -o mount-deprecated/umount-fsprobe.o `test -f 'mount-deprecated/fsprobe.c' || echo '$(srcdir)/'`mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-fsprobe.Tpo mount-deprecated/$(DEPDIR)/umount-fsprobe.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fsprobe.c' object='mount-deprecated/umount-fsprobe.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-fsprobe.o `test -f 'mount-deprecated/fsprobe.c' || echo '$(srcdir)/'`mount-deprecated/fsprobe.c
+
+mount-deprecated/umount-fsprobe.obj: mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount-fsprobe.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount-fsprobe.Tpo -c -o mount-deprecated/umount-fsprobe.obj `if test -f 'mount-deprecated/fsprobe.c'; then $(CYGPATH_W) 'mount-deprecated/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount-fsprobe.Tpo mount-deprecated/$(DEPDIR)/umount-fsprobe.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fsprobe.c' object='mount-deprecated/umount-fsprobe.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount-fsprobe.obj `if test -f 'mount-deprecated/fsprobe.c'; then $(CYGPATH_W) 'mount-deprecated/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fsprobe.c'; fi`
+
+sys-utils/umount-umount.o: sys-utils/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT sys-utils/umount-umount.o -MD -MP -MF sys-utils/$(DEPDIR)/umount-umount.Tpo -c -o sys-utils/umount-umount.o `test -f 'sys-utils/umount.c' || echo '$(srcdir)/'`sys-utils/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/umount-umount.Tpo sys-utils/$(DEPDIR)/umount-umount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/umount.c' object='sys-utils/umount-umount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o sys-utils/umount-umount.o `test -f 'sys-utils/umount.c' || echo '$(srcdir)/'`sys-utils/umount.c
+
+sys-utils/umount-umount.obj: sys-utils/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT sys-utils/umount-umount.obj -MD -MP -MF sys-utils/$(DEPDIR)/umount-umount.Tpo -c -o sys-utils/umount-umount.obj `if test -f 'sys-utils/umount.c'; then $(CYGPATH_W) 'sys-utils/umount.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/umount.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/umount-umount.Tpo sys-utils/$(DEPDIR)/umount-umount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/umount.c' object='sys-utils/umount-umount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o sys-utils/umount-umount.obj `if test -f 'sys-utils/umount.c'; then $(CYGPATH_W) 'sys-utils/umount.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/umount.c'; fi`
+
+mount-deprecated/umount_static-umount.o: mount-deprecated/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-umount.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-umount.Tpo -c -o mount-deprecated/umount_static-umount.o `test -f 'mount-deprecated/umount.c' || echo '$(srcdir)/'`mount-deprecated/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-umount.Tpo mount-deprecated/$(DEPDIR)/umount_static-umount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/umount.c' object='mount-deprecated/umount_static-umount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-umount.o `test -f 'mount-deprecated/umount.c' || echo '$(srcdir)/'`mount-deprecated/umount.c
+
+mount-deprecated/umount_static-umount.obj: mount-deprecated/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-umount.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-umount.Tpo -c -o mount-deprecated/umount_static-umount.obj `if test -f 'mount-deprecated/umount.c'; then $(CYGPATH_W) 'mount-deprecated/umount.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/umount.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-umount.Tpo mount-deprecated/$(DEPDIR)/umount_static-umount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/umount.c' object='mount-deprecated/umount_static-umount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-umount.obj `if test -f 'mount-deprecated/umount.c'; then $(CYGPATH_W) 'mount-deprecated/umount.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/umount.c'; fi`
+
+mount-deprecated/umount_static-sundries.o: mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-sundries.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-sundries.Tpo -c -o mount-deprecated/umount_static-sundries.o `test -f 'mount-deprecated/sundries.c' || echo '$(srcdir)/'`mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-sundries.Tpo mount-deprecated/$(DEPDIR)/umount_static-sundries.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/sundries.c' object='mount-deprecated/umount_static-sundries.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-sundries.o `test -f 'mount-deprecated/sundries.c' || echo '$(srcdir)/'`mount-deprecated/sundries.c
+
+mount-deprecated/umount_static-sundries.obj: mount-deprecated/sundries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-sundries.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-sundries.Tpo -c -o mount-deprecated/umount_static-sundries.obj `if test -f 'mount-deprecated/sundries.c'; then $(CYGPATH_W) 'mount-deprecated/sundries.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/sundries.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-sundries.Tpo mount-deprecated/$(DEPDIR)/umount_static-sundries.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/sundries.c' object='mount-deprecated/umount_static-sundries.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-sundries.obj `if test -f 'mount-deprecated/sundries.c'; then $(CYGPATH_W) 'mount-deprecated/sundries.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/sundries.c'; fi`
+
+mount-deprecated/umount_static-devname.o: mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-devname.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-devname.Tpo -c -o mount-deprecated/umount_static-devname.o `test -f 'mount-deprecated/devname.c' || echo '$(srcdir)/'`mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-devname.Tpo mount-deprecated/$(DEPDIR)/umount_static-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/devname.c' object='mount-deprecated/umount_static-devname.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-devname.o `test -f 'mount-deprecated/devname.c' || echo '$(srcdir)/'`mount-deprecated/devname.c
+
+mount-deprecated/umount_static-devname.obj: mount-deprecated/devname.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-devname.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-devname.Tpo -c -o mount-deprecated/umount_static-devname.obj `if test -f 'mount-deprecated/devname.c'; then $(CYGPATH_W) 'mount-deprecated/devname.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/devname.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-devname.Tpo mount-deprecated/$(DEPDIR)/umount_static-devname.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/devname.c' object='mount-deprecated/umount_static-devname.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-devname.obj `if test -f 'mount-deprecated/devname.c'; then $(CYGPATH_W) 'mount-deprecated/devname.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/devname.c'; fi`
+
+mount-deprecated/umount_static-fstab.o: mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-fstab.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-fstab.Tpo -c -o mount-deprecated/umount_static-fstab.o `test -f 'mount-deprecated/fstab.c' || echo '$(srcdir)/'`mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-fstab.Tpo mount-deprecated/$(DEPDIR)/umount_static-fstab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fstab.c' object='mount-deprecated/umount_static-fstab.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-fstab.o `test -f 'mount-deprecated/fstab.c' || echo '$(srcdir)/'`mount-deprecated/fstab.c
+
+mount-deprecated/umount_static-fstab.obj: mount-deprecated/fstab.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-fstab.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-fstab.Tpo -c -o mount-deprecated/umount_static-fstab.obj `if test -f 'mount-deprecated/fstab.c'; then $(CYGPATH_W) 'mount-deprecated/fstab.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fstab.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-fstab.Tpo mount-deprecated/$(DEPDIR)/umount_static-fstab.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fstab.c' object='mount-deprecated/umount_static-fstab.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-fstab.obj `if test -f 'mount-deprecated/fstab.c'; then $(CYGPATH_W) 'mount-deprecated/fstab.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fstab.c'; fi`
+
+mount-deprecated/umount_static-getusername.o: mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-getusername.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-getusername.Tpo -c -o mount-deprecated/umount_static-getusername.o `test -f 'mount-deprecated/getusername.c' || echo '$(srcdir)/'`mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-getusername.Tpo mount-deprecated/$(DEPDIR)/umount_static-getusername.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/getusername.c' object='mount-deprecated/umount_static-getusername.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-getusername.o `test -f 'mount-deprecated/getusername.c' || echo '$(srcdir)/'`mount-deprecated/getusername.c
+
+mount-deprecated/umount_static-getusername.obj: mount-deprecated/getusername.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-getusername.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-getusername.Tpo -c -o mount-deprecated/umount_static-getusername.obj `if test -f 'mount-deprecated/getusername.c'; then $(CYGPATH_W) 'mount-deprecated/getusername.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/getusername.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-getusername.Tpo mount-deprecated/$(DEPDIR)/umount_static-getusername.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/getusername.c' object='mount-deprecated/umount_static-getusername.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-getusername.obj `if test -f 'mount-deprecated/getusername.c'; then $(CYGPATH_W) 'mount-deprecated/getusername.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/getusername.c'; fi`
+
+mount-deprecated/umount_static-mount_mntent.o: mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-mount_mntent.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-mount_mntent.Tpo -c -o mount-deprecated/umount_static-mount_mntent.o `test -f 'mount-deprecated/mount_mntent.c' || echo '$(srcdir)/'`mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-mount_mntent.Tpo mount-deprecated/$(DEPDIR)/umount_static-mount_mntent.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount_mntent.c' object='mount-deprecated/umount_static-mount_mntent.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-mount_mntent.o `test -f 'mount-deprecated/mount_mntent.c' || echo '$(srcdir)/'`mount-deprecated/mount_mntent.c
+
+mount-deprecated/umount_static-mount_mntent.obj: mount-deprecated/mount_mntent.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-mount_mntent.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-mount_mntent.Tpo -c -o mount-deprecated/umount_static-mount_mntent.obj `if test -f 'mount-deprecated/mount_mntent.c'; then $(CYGPATH_W) 'mount-deprecated/mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount_mntent.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-mount_mntent.Tpo mount-deprecated/$(DEPDIR)/umount_static-mount_mntent.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/mount_mntent.c' object='mount-deprecated/umount_static-mount_mntent.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-mount_mntent.obj `if test -f 'mount-deprecated/mount_mntent.c'; then $(CYGPATH_W) 'mount-deprecated/mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/mount_mntent.c'; fi`
+
+mount-deprecated/umount_static-fsprobe.o: mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-fsprobe.o -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-fsprobe.Tpo -c -o mount-deprecated/umount_static-fsprobe.o `test -f 'mount-deprecated/fsprobe.c' || echo '$(srcdir)/'`mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-fsprobe.Tpo mount-deprecated/$(DEPDIR)/umount_static-fsprobe.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fsprobe.c' object='mount-deprecated/umount_static-fsprobe.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-fsprobe.o `test -f 'mount-deprecated/fsprobe.c' || echo '$(srcdir)/'`mount-deprecated/fsprobe.c
+
+mount-deprecated/umount_static-fsprobe.obj: mount-deprecated/fsprobe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT mount-deprecated/umount_static-fsprobe.obj -MD -MP -MF mount-deprecated/$(DEPDIR)/umount_static-fsprobe.Tpo -c -o mount-deprecated/umount_static-fsprobe.obj `if test -f 'mount-deprecated/fsprobe.c'; then $(CYGPATH_W) 'mount-deprecated/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mount-deprecated/$(DEPDIR)/umount_static-fsprobe.Tpo mount-deprecated/$(DEPDIR)/umount_static-fsprobe.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount-deprecated/fsprobe.c' object='mount-deprecated/umount_static-fsprobe.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o mount-deprecated/umount_static-fsprobe.obj `if test -f 'mount-deprecated/fsprobe.c'; then $(CYGPATH_W) 'mount-deprecated/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/mount-deprecated/fsprobe.c'; fi`
+
+sys-utils/umount_static-umount.o: sys-utils/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT sys-utils/umount_static-umount.o -MD -MP -MF sys-utils/$(DEPDIR)/umount_static-umount.Tpo -c -o sys-utils/umount_static-umount.o `test -f 'sys-utils/umount.c' || echo '$(srcdir)/'`sys-utils/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/umount_static-umount.Tpo sys-utils/$(DEPDIR)/umount_static-umount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/umount.c' object='sys-utils/umount_static-umount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o sys-utils/umount_static-umount.o `test -f 'sys-utils/umount.c' || echo '$(srcdir)/'`sys-utils/umount.c
+
+sys-utils/umount_static-umount.obj: sys-utils/umount.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT sys-utils/umount_static-umount.obj -MD -MP -MF sys-utils/$(DEPDIR)/umount_static-umount.Tpo -c -o sys-utils/umount_static-umount.obj `if test -f 'sys-utils/umount.c'; then $(CYGPATH_W) 'sys-utils/umount.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/umount.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sys-utils/$(DEPDIR)/umount_static-umount.Tpo sys-utils/$(DEPDIR)/umount_static-umount.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sys-utils/umount.c' object='sys-utils/umount_static-umount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -c -o sys-utils/umount_static-umount.obj `if test -f 'sys-utils/umount.c'; then $(CYGPATH_W) 'sys-utils/umount.c'; else $(CYGPATH_W) '$(srcdir)/sys-utils/umount.c'; fi`
+
+misc-utils/uuidd-uuidd.o: misc-utils/uuidd.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -MT misc-utils/uuidd-uuidd.o -MD -MP -MF misc-utils/$(DEPDIR)/uuidd-uuidd.Tpo -c -o misc-utils/uuidd-uuidd.o `test -f 'misc-utils/uuidd.c' || echo '$(srcdir)/'`misc-utils/uuidd.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/uuidd-uuidd.Tpo misc-utils/$(DEPDIR)/uuidd-uuidd.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/uuidd.c' object='misc-utils/uuidd-uuidd.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -c -o misc-utils/uuidd-uuidd.o `test -f 'misc-utils/uuidd.c' || echo '$(srcdir)/'`misc-utils/uuidd.c
+
+misc-utils/uuidd-uuidd.obj: misc-utils/uuidd.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -MT misc-utils/uuidd-uuidd.obj -MD -MP -MF misc-utils/$(DEPDIR)/uuidd-uuidd.Tpo -c -o misc-utils/uuidd-uuidd.obj `if test -f 'misc-utils/uuidd.c'; then $(CYGPATH_W) 'misc-utils/uuidd.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/uuidd.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/uuidd-uuidd.Tpo misc-utils/$(DEPDIR)/uuidd-uuidd.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/uuidd.c' object='misc-utils/uuidd-uuidd.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -c -o misc-utils/uuidd-uuidd.obj `if test -f 'misc-utils/uuidd.c'; then $(CYGPATH_W) 'misc-utils/uuidd.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/uuidd.c'; fi`
+
+misc-utils/uuidd-sd-daemon.o: misc-utils/sd-daemon.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -MT misc-utils/uuidd-sd-daemon.o -MD -MP -MF misc-utils/$(DEPDIR)/uuidd-sd-daemon.Tpo -c -o misc-utils/uuidd-sd-daemon.o `test -f 'misc-utils/sd-daemon.c' || echo '$(srcdir)/'`misc-utils/sd-daemon.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/uuidd-sd-daemon.Tpo misc-utils/$(DEPDIR)/uuidd-sd-daemon.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/sd-daemon.c' object='misc-utils/uuidd-sd-daemon.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -c -o misc-utils/uuidd-sd-daemon.o `test -f 'misc-utils/sd-daemon.c' || echo '$(srcdir)/'`misc-utils/sd-daemon.c
+
+misc-utils/uuidd-sd-daemon.obj: misc-utils/sd-daemon.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -MT misc-utils/uuidd-sd-daemon.obj -MD -MP -MF misc-utils/$(DEPDIR)/uuidd-sd-daemon.Tpo -c -o misc-utils/uuidd-sd-daemon.obj `if test -f 'misc-utils/sd-daemon.c'; then $(CYGPATH_W) 'misc-utils/sd-daemon.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/sd-daemon.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/uuidd-sd-daemon.Tpo misc-utils/$(DEPDIR)/uuidd-sd-daemon.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/sd-daemon.c' object='misc-utils/uuidd-sd-daemon.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -c -o misc-utils/uuidd-sd-daemon.obj `if test -f 'misc-utils/sd-daemon.c'; then $(CYGPATH_W) 'misc-utils/sd-daemon.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/sd-daemon.c'; fi`
+
+misc-utils/uuidgen-uuidgen.o: misc-utils/uuidgen.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidgen_CFLAGS) $(CFLAGS) -MT misc-utils/uuidgen-uuidgen.o -MD -MP -MF misc-utils/$(DEPDIR)/uuidgen-uuidgen.Tpo -c -o misc-utils/uuidgen-uuidgen.o `test -f 'misc-utils/uuidgen.c' || echo '$(srcdir)/'`misc-utils/uuidgen.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/uuidgen-uuidgen.Tpo misc-utils/$(DEPDIR)/uuidgen-uuidgen.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/uuidgen.c' object='misc-utils/uuidgen-uuidgen.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidgen_CFLAGS) $(CFLAGS) -c -o misc-utils/uuidgen-uuidgen.o `test -f 'misc-utils/uuidgen.c' || echo '$(srcdir)/'`misc-utils/uuidgen.c
+
+misc-utils/uuidgen-uuidgen.obj: misc-utils/uuidgen.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidgen_CFLAGS) $(CFLAGS) -MT misc-utils/uuidgen-uuidgen.obj -MD -MP -MF misc-utils/$(DEPDIR)/uuidgen-uuidgen.Tpo -c -o misc-utils/uuidgen-uuidgen.obj `if test -f 'misc-utils/uuidgen.c'; then $(CYGPATH_W) 'misc-utils/uuidgen.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/uuidgen.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/uuidgen-uuidgen.Tpo misc-utils/$(DEPDIR)/uuidgen-uuidgen.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/uuidgen.c' object='misc-utils/uuidgen-uuidgen.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidgen_CFLAGS) $(CFLAGS) -c -o misc-utils/uuidgen-uuidgen.obj `if test -f 'misc-utils/uuidgen.c'; then $(CYGPATH_W) 'misc-utils/uuidgen.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/uuidgen.c'; fi`
+
+term-utils/wall-wall.o: term-utils/wall.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wall_CFLAGS) $(CFLAGS) -MT term-utils/wall-wall.o -MD -MP -MF term-utils/$(DEPDIR)/wall-wall.Tpo -c -o term-utils/wall-wall.o `test -f 'term-utils/wall.c' || echo '$(srcdir)/'`term-utils/wall.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) term-utils/$(DEPDIR)/wall-wall.Tpo term-utils/$(DEPDIR)/wall-wall.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='term-utils/wall.c' object='term-utils/wall-wall.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wall_CFLAGS) $(CFLAGS) -c -o term-utils/wall-wall.o `test -f 'term-utils/wall.c' || echo '$(srcdir)/'`term-utils/wall.c
+
+term-utils/wall-wall.obj: term-utils/wall.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wall_CFLAGS) $(CFLAGS) -MT term-utils/wall-wall.obj -MD -MP -MF term-utils/$(DEPDIR)/wall-wall.Tpo -c -o term-utils/wall-wall.obj `if test -f 'term-utils/wall.c'; then $(CYGPATH_W) 'term-utils/wall.c'; else $(CYGPATH_W) '$(srcdir)/term-utils/wall.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) term-utils/$(DEPDIR)/wall-wall.Tpo term-utils/$(DEPDIR)/wall-wall.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='term-utils/wall.c' object='term-utils/wall-wall.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wall_CFLAGS) $(CFLAGS) -c -o term-utils/wall-wall.obj `if test -f 'term-utils/wall.c'; then $(CYGPATH_W) 'term-utils/wall.c'; else $(CYGPATH_W) '$(srcdir)/term-utils/wall.c'; fi`
+
+term-utils/wall-ttymsg.o: term-utils/ttymsg.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wall_CFLAGS) $(CFLAGS) -MT term-utils/wall-ttymsg.o -MD -MP -MF term-utils/$(DEPDIR)/wall-ttymsg.Tpo -c -o term-utils/wall-ttymsg.o `test -f 'term-utils/ttymsg.c' || echo '$(srcdir)/'`term-utils/ttymsg.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) term-utils/$(DEPDIR)/wall-ttymsg.Tpo term-utils/$(DEPDIR)/wall-ttymsg.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='term-utils/ttymsg.c' object='term-utils/wall-ttymsg.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wall_CFLAGS) $(CFLAGS) -c -o term-utils/wall-ttymsg.o `test -f 'term-utils/ttymsg.c' || echo '$(srcdir)/'`term-utils/ttymsg.c
+
+term-utils/wall-ttymsg.obj: term-utils/ttymsg.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wall_CFLAGS) $(CFLAGS) -MT term-utils/wall-ttymsg.obj -MD -MP -MF term-utils/$(DEPDIR)/wall-ttymsg.Tpo -c -o term-utils/wall-ttymsg.obj `if test -f 'term-utils/ttymsg.c'; then $(CYGPATH_W) 'term-utils/ttymsg.c'; else $(CYGPATH_W) '$(srcdir)/term-utils/ttymsg.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) term-utils/$(DEPDIR)/wall-ttymsg.Tpo term-utils/$(DEPDIR)/wall-ttymsg.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='term-utils/ttymsg.c' object='term-utils/wall-ttymsg.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wall_CFLAGS) $(CFLAGS) -c -o term-utils/wall-ttymsg.obj `if test -f 'term-utils/ttymsg.c'; then $(CYGPATH_W) 'term-utils/ttymsg.c'; else $(CYGPATH_W) '$(srcdir)/term-utils/ttymsg.c'; fi`
+
+misc-utils/wipefs-wipefs.o: misc-utils/wipefs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wipefs_CFLAGS) $(CFLAGS) -MT misc-utils/wipefs-wipefs.o -MD -MP -MF misc-utils/$(DEPDIR)/wipefs-wipefs.Tpo -c -o misc-utils/wipefs-wipefs.o `test -f 'misc-utils/wipefs.c' || echo '$(srcdir)/'`misc-utils/wipefs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/wipefs-wipefs.Tpo misc-utils/$(DEPDIR)/wipefs-wipefs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/wipefs.c' object='misc-utils/wipefs-wipefs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wipefs_CFLAGS) $(CFLAGS) -c -o misc-utils/wipefs-wipefs.o `test -f 'misc-utils/wipefs.c' || echo '$(srcdir)/'`misc-utils/wipefs.c
+
+misc-utils/wipefs-wipefs.obj: misc-utils/wipefs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wipefs_CFLAGS) $(CFLAGS) -MT misc-utils/wipefs-wipefs.obj -MD -MP -MF misc-utils/$(DEPDIR)/wipefs-wipefs.Tpo -c -o misc-utils/wipefs-wipefs.obj `if test -f 'misc-utils/wipefs.c'; then $(CYGPATH_W) 'misc-utils/wipefs.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/wipefs.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc-utils/$(DEPDIR)/wipefs-wipefs.Tpo misc-utils/$(DEPDIR)/wipefs-wipefs.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc-utils/wipefs.c' object='misc-utils/wipefs-wipefs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wipefs_CFLAGS) $(CFLAGS) -c -o misc-utils/wipefs-wipefs.obj `if test -f 'misc-utils/wipefs.c'; then $(CYGPATH_W) 'misc-utils/wipefs.c'; else $(CYGPATH_W) '$(srcdir)/misc-utils/wipefs.c'; fi`
+
+term-utils/write-write.o: term-utils/write.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(write_CFLAGS) $(CFLAGS) -MT term-utils/write-write.o -MD -MP -MF term-utils/$(DEPDIR)/write-write.Tpo -c -o term-utils/write-write.o `test -f 'term-utils/write.c' || echo '$(srcdir)/'`term-utils/write.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) term-utils/$(DEPDIR)/write-write.Tpo term-utils/$(DEPDIR)/write-write.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='term-utils/write.c' object='term-utils/write-write.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(write_CFLAGS) $(CFLAGS) -c -o term-utils/write-write.o `test -f 'term-utils/write.c' || echo '$(srcdir)/'`term-utils/write.c
+
+term-utils/write-write.obj: term-utils/write.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(write_CFLAGS) $(CFLAGS) -MT term-utils/write-write.obj -MD -MP -MF term-utils/$(DEPDIR)/write-write.Tpo -c -o term-utils/write-write.obj `if test -f 'term-utils/write.c'; then $(CYGPATH_W) 'term-utils/write.c'; else $(CYGPATH_W) '$(srcdir)/term-utils/write.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) term-utils/$(DEPDIR)/write-write.Tpo term-utils/$(DEPDIR)/write-write.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='term-utils/write.c' object='term-utils/write-write.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(write_CFLAGS) $(CFLAGS) -c -o term-utils/write-write.obj `if test -f 'term-utils/write.c'; then $(CYGPATH_W) 'term-utils/write.c'; else $(CYGPATH_W) '$(srcdir)/term-utils/write.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+ -rm -rf lib/.libs lib/_libs
+ -rm -rf libblkid/src/.libs libblkid/src/_libs
+ -rm -rf libblkid/src/partitions/.libs libblkid/src/partitions/_libs
+ -rm -rf libblkid/src/superblocks/.libs libblkid/src/superblocks/_libs
+ -rm -rf libblkid/src/topology/.libs libblkid/src/topology/_libs
+ -rm -rf libmount/src/.libs libmount/src/_libs
+ -rm -rf libuuid/src/.libs libuuid/src/_libs
+
+distclean-libtool:
+ -rm -f libtool config.lt
+install-man1: $(dist_man_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+install-man3: $(dist_man_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
+ @list=''; test -n "$(man3dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.3[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man3:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man3dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.3[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
+install-man5: $(dist_man_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man5dir)" || $(MKDIR_P) "$(DESTDIR)$(man5dir)"
+ @list=''; test -n "$(man5dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.5[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man5:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man5dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.5[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man5dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man5dir)" && rm -f $$files; }
+install-man8: $(dist_man_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
+ @list=''; test -n "$(man8dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.8[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man8:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man8dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.8[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man8dir)" && rm -f $$files; }
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+install-ruman1DATA: $(ruman1_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(ruman1dir)" || $(MKDIR_P) "$(DESTDIR)$(ruman1dir)"
+ @list='$(ruman1_DATA)'; test -n "$(ruman1dir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(ruman1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(ruman1dir)" || exit $$?; \
+ done
+
+uninstall-ruman1DATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(ruman1_DATA)'; test -n "$(ruman1dir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(ruman1dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(ruman1dir)" && rm -f $$files
+install-systemdsystemunitDATA: $(systemdsystemunit_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(systemdsystemunitdir)" || $(MKDIR_P) "$(DESTDIR)$(systemdsystemunitdir)"
+ @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemdsystemunitdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(systemdsystemunitdir)" || exit $$?; \
+ done
+
+uninstall-systemdsystemunitDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(systemdsystemunitdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(systemdsystemunitdir)" && rm -f $$files
+install-nodist_blkidincHEADERS: $(nodist_blkidinc_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(blkidincdir)" || $(MKDIR_P) "$(DESTDIR)$(blkidincdir)"
+ @list='$(nodist_blkidinc_HEADERS)'; test -n "$(blkidincdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(blkidincdir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(blkidincdir)" || exit $$?; \
+ done
+
+uninstall-nodist_blkidincHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_blkidinc_HEADERS)'; test -n "$(blkidincdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(blkidincdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(blkidincdir)" && rm -f $$files
+install-nodist_mountincHEADERS: $(nodist_mountinc_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(mountincdir)" || $(MKDIR_P) "$(DESTDIR)$(mountincdir)"
+ @list='$(nodist_mountinc_HEADERS)'; test -n "$(mountincdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(mountincdir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(mountincdir)" || exit $$?; \
+ done
+
+uninstall-nodist_mountincHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_mountinc_HEADERS)'; test -n "$(mountincdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(mountincdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(mountincdir)" && rm -f $$files
+install-uuidincHEADERS: $(uuidinc_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(uuidincdir)" || $(MKDIR_P) "$(DESTDIR)$(uuidincdir)"
+ @list='$(uuidinc_HEADERS)'; test -n "$(uuidincdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(uuidincdir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(uuidincdir)" || exit $$?; \
+ done
+
+uninstall-uuidincHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(uuidinc_HEADERS)'; test -n "$(uuidincdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(uuidincdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(uuidincdir)" && rm -f $$files
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @$(am__cd) '$(distuninstallcheck_dir)' \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) \
+ $(HEADERS) config.h
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(usrlib_execdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" "$(DESTDIR)$(getoptexampledir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(ruman1dir)" "$(DESTDIR)$(systemdsystemunitdir)" "$(DESTDIR)$(blkidincdir)" "$(DESTDIR)$(mountincdir)" "$(DESTDIR)$(uuidincdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f disk-utils/$(DEPDIR)/$(am__dirstamp)
+ -rm -f disk-utils/$(am__dirstamp)
+ -rm -f fdisks/$(DEPDIR)/$(am__dirstamp)
+ -rm -f fdisks/$(am__dirstamp)
+ -rm -f lib/$(DEPDIR)/$(am__dirstamp)
+ -rm -f lib/$(am__dirstamp)
+ -rm -f libblkid/samples/$(DEPDIR)/$(am__dirstamp)
+ -rm -f libblkid/samples/$(am__dirstamp)
+ -rm -f libblkid/src/$(DEPDIR)/$(am__dirstamp)
+ -rm -f libblkid/src/$(am__dirstamp)
+ -rm -f libblkid/src/partitions/$(DEPDIR)/$(am__dirstamp)
+ -rm -f libblkid/src/partitions/$(am__dirstamp)
+ -rm -f libblkid/src/superblocks/$(DEPDIR)/$(am__dirstamp)
+ -rm -f libblkid/src/superblocks/$(am__dirstamp)
+ -rm -f libblkid/src/topology/$(DEPDIR)/$(am__dirstamp)
+ -rm -f libblkid/src/topology/$(am__dirstamp)
+ -rm -f libmount/src/$(DEPDIR)/$(am__dirstamp)
+ -rm -f libmount/src/$(am__dirstamp)
+ -rm -f libuuid/src/$(DEPDIR)/$(am__dirstamp)
+ -rm -f libuuid/src/$(am__dirstamp)
+ -rm -f login-utils/$(DEPDIR)/$(am__dirstamp)
+ -rm -f login-utils/$(am__dirstamp)
+ -rm -f misc-utils/$(DEPDIR)/$(am__dirstamp)
+ -rm -f misc-utils/$(am__dirstamp)
+ -rm -f mount-deprecated/$(DEPDIR)/$(am__dirstamp)
+ -rm -f mount-deprecated/$(am__dirstamp)
+ -rm -f schedutils/$(DEPDIR)/$(am__dirstamp)
+ -rm -f schedutils/$(am__dirstamp)
+ -rm -f sys-utils/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sys-utils/$(am__dirstamp)
+ -rm -f term-utils/$(DEPDIR)/$(am__dirstamp)
+ -rm -f term-utils/$(am__dirstamp)
+ -rm -f tests/helpers/$(DEPDIR)/$(am__dirstamp)
+ -rm -f tests/helpers/$(am__dirstamp)
+ -rm -f text-utils/$(DEPDIR)/$(am__dirstamp)
+ -rm -f text-utils/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-recursive
+
+clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local clean-noinstLTLIBRARIES \
+ clean-noinstPROGRAMS clean-sbinPROGRAMS \
+ clean-usrbin_execPROGRAMS clean-usrlib_execLTLIBRARIES \
+ clean-usrsbin_execPROGRAMS mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf disk-utils/$(DEPDIR) fdisks/$(DEPDIR) lib/$(DEPDIR) libblkid/samples/$(DEPDIR) libblkid/src/$(DEPDIR) libblkid/src/partitions/$(DEPDIR) libblkid/src/superblocks/$(DEPDIR) libblkid/src/topology/$(DEPDIR) libmount/src/$(DEPDIR) libuuid/src/$(DEPDIR) login-utils/$(DEPDIR) misc-utils/$(DEPDIR) mount-deprecated/$(DEPDIR) schedutils/$(DEPDIR) sys-utils/$(DEPDIR) term-utils/$(DEPDIR) tests/helpers/$(DEPDIR) text-utils/$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-libtool distclean-local distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_getoptexampleSCRIPTS install-man \
+ install-nodist_blkidincHEADERS install-nodist_mountincHEADERS \
+ install-pkgconfigDATA install-ruman1DATA \
+ install-systemdsystemunitDATA install-uuidincHEADERS
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-dist_usrbin_execSCRIPTS \
+ install-sbinPROGRAMS install-usrbin_execPROGRAMS \
+ install-usrlib_execLTLIBRARIES install-usrsbin_execPROGRAMS
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man: install-man1 install-man3 install-man5 install-man8
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -rf disk-utils/$(DEPDIR) fdisks/$(DEPDIR) lib/$(DEPDIR) libblkid/samples/$(DEPDIR) libblkid/src/$(DEPDIR) libblkid/src/partitions/$(DEPDIR) libblkid/src/superblocks/$(DEPDIR) libblkid/src/topology/$(DEPDIR) libmount/src/$(DEPDIR) libuuid/src/$(DEPDIR) login-utils/$(DEPDIR) misc-utils/$(DEPDIR) mount-deprecated/$(DEPDIR) schedutils/$(DEPDIR) sys-utils/$(DEPDIR) term-utils/$(DEPDIR) tests/helpers/$(DEPDIR) text-utils/$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS \
+ uninstall-dist_getoptexampleSCRIPTS \
+ uninstall-dist_usrbin_execSCRIPTS uninstall-man \
+ uninstall-nodist_blkidincHEADERS \
+ uninstall-nodist_mountincHEADERS uninstall-pkgconfigDATA \
+ uninstall-ruman1DATA uninstall-sbinPROGRAMS \
+ uninstall-systemdsystemunitDATA uninstall-usrbin_execPROGRAMS \
+ uninstall-usrlib_execLTLIBRARIES \
+ uninstall-usrsbin_execPROGRAMS uninstall-uuidincHEADERS
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \
+ uninstall-man8
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
+ check-am ctags-recursive install install-am install-data-am \
+ install-exec-am install-strip tags-recursive uninstall-am
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am am--refresh check check-TESTS check-am check-local \
+ clean clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local clean-noinstLTLIBRARIES \
+ clean-noinstPROGRAMS clean-sbinPROGRAMS \
+ clean-usrbin_execPROGRAMS clean-usrlib_execLTLIBRARIES \
+ clean-usrsbin_execPROGRAMS ctags ctags-recursive dist dist-all \
+ dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar dist-tarZ \
+ dist-xz dist-zip distcheck distclean distclean-compile \
+ distclean-generic distclean-hdr distclean-libtool \
+ distclean-local distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-binPROGRAMS install-data \
+ install-data-am install-data-hook \
+ install-dist_getoptexampleSCRIPTS \
+ install-dist_usrbin_execSCRIPTS install-dvi install-dvi-am \
+ install-exec install-exec-am install-exec-hook install-html \
+ install-html-am install-info install-info-am install-man \
+ install-man1 install-man3 install-man5 install-man8 \
+ install-nodist_blkidincHEADERS install-nodist_mountincHEADERS \
+ install-pdf install-pdf-am install-pkgconfigDATA install-ps \
+ install-ps-am install-ruman1DATA install-sbinPROGRAMS \
+ install-strip install-systemdsystemunitDATA \
+ install-usrbin_execPROGRAMS install-usrlib_execLTLIBRARIES \
+ install-usrsbin_execPROGRAMS install-uuidincHEADERS \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-dist_getoptexampleSCRIPTS \
+ uninstall-dist_usrbin_execSCRIPTS uninstall-hook uninstall-man \
+ uninstall-man1 uninstall-man3 uninstall-man5 uninstall-man8 \
+ uninstall-nodist_blkidincHEADERS \
+ uninstall-nodist_mountincHEADERS uninstall-pkgconfigDATA \
+ uninstall-ruman1DATA uninstall-sbinPROGRAMS \
+ uninstall-systemdsystemunitDATA uninstall-usrbin_execPROGRAMS \
+ uninstall-usrlib_execLTLIBRARIES \
+ uninstall-usrsbin_execPROGRAMS uninstall-uuidincHEADERS
+
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+@BUILD_LIBUUID_TRUE@install-exec-hook-libuuid:
+@BUILD_LIBUUID_TRUE@ if test "$(usrlib_execdir)" != "$(libdir)"; then \
+@BUILD_LIBUUID_TRUE@ mkdir -p $(DESTDIR)$(libdir); \
+@BUILD_LIBUUID_TRUE@ mv $(DESTDIR)$(usrlib_execdir)/libuuid.so.* $(DESTDIR)$(libdir); \
+@BUILD_LIBUUID_TRUE@ so_img_name=$$(readlink $(DESTDIR)$(usrlib_execdir)/libuuid.so); \
+@BUILD_LIBUUID_TRUE@ so_img_rel_target=$$(echo $(usrlib_execdir) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
+@BUILD_LIBUUID_TRUE@ (cd $(DESTDIR)$(usrlib_execdir) && \
+@BUILD_LIBUUID_TRUE@ rm -f libuuid.so && \
+@BUILD_LIBUUID_TRUE@ $(LN_S) $$so_img_rel_target$(libdir)/$$so_img_name libuuid.so); \
+@BUILD_LIBUUID_TRUE@ fi
+
+@BUILD_LIBUUID_TRUE@uninstall-hook-libuuid:
+@BUILD_LIBUUID_TRUE@ rm -f $(DESTDIR)$(libdir)/libuuid.so*
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+@BUILD_LIBBLKID_TRUE@install-exec-hook-libblkid:
+@BUILD_LIBBLKID_TRUE@ if test "$(usrlib_execdir)" != "$(libdir)"; then \
+@BUILD_LIBBLKID_TRUE@ mkdir -p $(DESTDIR)$(libdir); \
+@BUILD_LIBBLKID_TRUE@ mv $(DESTDIR)$(usrlib_execdir)/libblkid.so.* $(DESTDIR)$(libdir); \
+@BUILD_LIBBLKID_TRUE@ so_img_name=$$(readlink $(DESTDIR)$(usrlib_execdir)/libblkid.so); \
+@BUILD_LIBBLKID_TRUE@ so_img_rel_target=$$(echo $(usrlib_execdir) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
+@BUILD_LIBBLKID_TRUE@ (cd $(DESTDIR)$(usrlib_execdir) && \
+@BUILD_LIBBLKID_TRUE@ rm -f libblkid.so && \
+@BUILD_LIBBLKID_TRUE@ $(LN_S) $$so_img_rel_target$(libdir)/$$so_img_name libblkid.so); \
+@BUILD_LIBBLKID_TRUE@ fi
+
+@BUILD_LIBBLKID_TRUE@uninstall-hook-libblkid:
+@BUILD_LIBBLKID_TRUE@ rm -f $(DESTDIR)$(libdir)/libblkid.so*
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+@BUILD_LIBMOUNT_TRUE@install-exec-hook-libmount:
+@BUILD_LIBMOUNT_TRUE@ if test "$(usrlib_execdir)" != "$(libdir)"; then \
+@BUILD_LIBMOUNT_TRUE@ mkdir -p $(DESTDIR)$(libdir); \
+@BUILD_LIBMOUNT_TRUE@ mv $(DESTDIR)$(usrlib_execdir)/libmount.so.* $(DESTDIR)$(libdir); \
+@BUILD_LIBMOUNT_TRUE@ so_img_name=$$(readlink $(DESTDIR)$(usrlib_execdir)/libmount.so); \
+@BUILD_LIBMOUNT_TRUE@ so_img_rel_target=$$(echo $(usrlib_execdir) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
+@BUILD_LIBMOUNT_TRUE@ (cd $(DESTDIR)$(usrlib_execdir) && \
+@BUILD_LIBMOUNT_TRUE@ rm -f libmount.so && \
+@BUILD_LIBMOUNT_TRUE@ $(LN_S) $$so_img_rel_target$(libdir)/$$so_img_name libmount.so); \
+@BUILD_LIBMOUNT_TRUE@ fi
+
+@BUILD_LIBMOUNT_TRUE@uninstall-hook-libmount:
+@BUILD_LIBMOUNT_TRUE@ rm -f $(DESTDIR)$(libdir)/libmount.so*
+@BUILD_WALL_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@install-exec-hook-wall::
+@BUILD_WALL_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@ chgrp tty $(DESTDIR)$(usrbin_execdir)/wall
+@BUILD_WALL_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@ chmod g+s $(DESTDIR)$(usrbin_execdir)/wall
+
+@BUILD_WRITE_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@install-exec-hook-write::
+@BUILD_WRITE_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@ chgrp tty $(DESTDIR)$(usrbin_execdir)/write
+@BUILD_WRITE_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@ chmod g+s $(DESTDIR)$(usrbin_execdir)/write
+@BUILD_VIPW_TRUE@install-exec-hook-vipw::
+@BUILD_VIPW_TRUE@ cd $(DESTDIR)$(usrsbin_execdir) && ln -sf vipw vigr
+
+install-exec-hook:
+@BUILD_SU_TRUE@@MAKEINSTALL_DO_SETUID_TRUE@ chmod 4755 $(DESTDIR)$(bindir)/su
+@BUILD_VIPW_TRUE@ cd $(DESTDIR)$(usrsbin_execdir) && ln -sf vipw vigr
+
+@BUILD_DEPRECATED_MOUNT_TRUE@@MAKEINSTALL_DO_SETUID_TRUE@install-exec-hook-mount:
+@BUILD_DEPRECATED_MOUNT_TRUE@@MAKEINSTALL_DO_SETUID_TRUE@ chmod 4755 $(DESTDIR)$(bindir)/mount
+@BUILD_DEPRECATED_MOUNT_TRUE@@MAKEINSTALL_DO_SETUID_TRUE@ chmod 4755 $(DESTDIR)$(bindir)/umount
+
+@LINUX_TRUE@$(SETARCH_MAN_LINKS):
+@LINUX_TRUE@ $(AM_V_GEN)echo ".so man8/setarch.8" > $@
+
+@LINUX_TRUE@install-exec-hook-setarch:
+@LINUX_TRUE@ for I in $(SETARCH_LINKS); do \
+@LINUX_TRUE@ cd $(DESTDIR)$(usrbin_execdir) && ln -sf setarch $$I ; \
+@LINUX_TRUE@ done
+
+@LINUX_TRUE@uninstall-hook-setarch:
+@LINUX_TRUE@ for I in $(SETARCH_LINKS); do \
+@LINUX_TRUE@ rm -f $(DESTDIR)$(usrbin_execdir)/$$I ; \
+@LINUX_TRUE@ done
+
+@BUILD_MOUNT_TRUE@@MAKEINSTALL_DO_SETUID_TRUE@install-exec-hook-mount:
+@BUILD_MOUNT_TRUE@@MAKEINSTALL_DO_SETUID_TRUE@ chmod 4755 $(DESTDIR)$(bindir)/mount
+@BUILD_MOUNT_TRUE@@MAKEINSTALL_DO_SETUID_TRUE@ chmod 4755 $(DESTDIR)$(bindir)/umount
+
+clean-local-tests:
+ rm -rf $(top_builddir)/tests/output $(top_builddir)/tests/diff
+
+check-local-tests: $(check_PROGRAMS)
+ $(top_srcdir)/tests/run.sh --srcdir=$(abs_top_srcdir) --builddir=$(abs_top_builddir) --nonroot
+
+$(PATHFILES): Makefile
+ @ rm -f $@ $@.tmp
+ $(AM_V_GEN) srcdir=''; \
+ test -f ./$@.in || srcdir=$(srcdir)/; \
+ $(edit_cmd) $${srcdir}$@.in >$@.tmp
+ @ mv $@.tmp $@
+
+# Arrange so that .tarball-version appears only in the distribution
+# tarball, and never in a checked-out repository.
+dist-hook:
+ echo $(VERSION) > $(distdir)/.tarball-version
+# Set ChangeLog tag reference.
+ sed -i "s/log/log;h=$(VERSION)/" $(distdir)/ChangeLog
+
+distclean-local:
+ -find . -name \*~ -o -name \*.orig -o -name \*.rej | xargs rm -f
+ rm -rf autom4te.cache
+
+checkincludes:
+ @find * $(RCS_FIND_IGNORE) \
+ -name '*.[hcS]' -type f -print | sort -u \
+ | xargs $(top_srcdir)/tools/checkincludes.pl
+
+checkconfig:
+ @find * $(RCS_FIND_IGNORE) \
+ -name '*.[hcS]' -type f -print | sort -u \
+ | xargs $(top_srcdir)/tools/checkconfig.sh $(top_srcdir)
+
+checkmans:
+ @$(top_srcdir)/tools/checkmans.sh
+
+checkxalloc:
+ @ $(top_srcdir)/tools/checkxalloc.sh
+
+checkdecl:
+ @ $(top_srcdir)/tools/checkdecl.sh
+.version:
+ echo $(VERSION) > $@-t && mv $@-t $@
+
+$(CHANGELOG_FILE):
+ @ if test "x$$PREVIOUS_VERSION" == "x"; then \
+ echo "Usage make changelog PREVIOUS_VERSION=<version>"; \
+ exit 1; \
+ fi
+ @ echo "Changes between v$(PREVIOUS_VERSION) and v$(VERSION)" > $(CHANGELOG_FILE)
+ @ echo "--------------------------------------------" >> $(CHANGELOG_FILE)
+ @ echo >> $(CHANGELOG_FILE)
+ $(AM_V_GEN) git log --stat v$(PREVIOUS_VERSION)..HEAD >> $(CHANGELOG_FILE)
+#
+#
+# smatch scan -- smatch and cgcc are expected in $PATH
+#
+checksmatch:
+ $(MAKE) CHECK="smatch --data=$(abs_top_srcdir)/tools/smatch-data" CC=cgcc
+
+changelog: $(CHANGELOG_FILE)
+
+install-exec-hook: $(INSTALL_EXEC_HOOKS)
+
+uninstall-hook: $(UNINSTALL_HOOKS)
+
+install-data-hook: $(INSTALL_DATA_HOOKS)
+
+clean-local: $(CLEAN_LOCALS)
+
+check-local: $(CHECK_LOCALS)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..6c292a5
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,1691 @@
+util-linux 2.22: Sep 04 2012
+* see Documentation/releases/v2.22-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-ChangeLog
+
+util-linux 2.22-rc2: Aug 15 2012
+* see Documentation/releases/v2.22-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-rc2-ChangeLog
+
+util-linux 2.22-rc1: Jul 27 2012
+* see Documentation/releases/v2.22-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-rc1-ChangeLog
+
+util-linux 2.21: Feb 24 2012
+* see Documentation/releases/v2.21-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-ChangeLog
+
+util-linux 2.21-rc2: Feb 06 2012
+* see Documentation/releases/v2.21-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-rc2-ChangeLog
+
+util-linux 2.21-rc1: Jan 18 2012
+* see Documentation/releases/v2.21-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-rc1-ChangeLog
+
+util-linux 2.20: Aug 29 2011
+* see docs/v2.20-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-ChangeLog
+
+util-linux 2.20-rc2: Aug 17 2011
+* see docs/v2.20-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-rc2-ChangeLog
+
+util-linux 2.20-rc1: Jul 29 2011
+* see Documentation/releases/v2.20-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-rc1-ChangeLog
+
+util-linux 2.19: Feb 10 2011
+* see Documentation/releases/v2.19-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-ChangeLog
+
+util-linux 2.19-rc3: Jan 25 2011
+* see Documentation/releases/v2.19-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc3-ChangeLog
+
+util-linux 2.19-rc2: Jan 25 2011
+* see Documentation/releases/v2.19-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc2-ChangeLog
+
+util-linux 2.19-rc1: Jan 05 2011
+* see Documentation/releases/v2.19-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc1-ChangeLog
+
+util-linux-ng 2.18: Jun 30 2010
+* see Documentation/releases/v2.18-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-ChangeLog
+
+util-linux-ng 2.18-rc2: Jun 18 2010
+* see Documentation/releases/v2.18-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-rc2-ChangeLog
+
+util-linux-ng 2.18-rc1: Jun 7 2010
+* see Documentation/releases/v2.18-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-rc1-ChangeLog
+
+util-linux-ng 2.17: Jan 8 2010
+* see Documentation/releases/v2.17-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-ChangeLog
+
+util-linux-ng 2.17-rc3: Dec 10 2009
+* see Documentation/releases/v2.17-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-rc3-ChangeLog
+
+util-linux-ng 2.17-rc2: Dec 9 2009
+* see Documentation/releases/v2.17-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-rc2-ChangeLog
+
+util-linux-ng 2.17-rc1: Nov 20 2009
+* see Documentation/releases/v2.17-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-rc1-ChangeLog
+
+util-linux-ng 2.16: Jul 2009
+* see Documentation/releases/v2.16-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16-ChangeLog
+
+util-linux-ng 2.16-rc2: Jul 2 2009
+* see Documentation/releases/v2.16-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16-rc2-ChangeLog
+
+util-linux-ng 2.16-rc1: Jun 28 2009
+* see Documentation/releases/v2.16-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16-rc1-ChangeLog
+
+util-linux-ng 2.15: May 5 2009
+* see Documentation/releases/v2.15-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15-ChangeLog
+
+util-linux-ng 2.15-rc2: Apr 17 2009
+* see Documentation/releases/v2.15-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15-rc2-ChangeLog
+
+util-linux-ng 2.15-rc1: Mar 18 2009
+* see Documentation/releases/v2.15-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15-rc1-ChangeLog
+
+util-linux-ng 2.14: Jun 9 2008
+* see Documentation/releases/v2.14-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-ChangeLog
+
+util-linux-ng 2.14-rc3
+* see Documentation/releases/v2.14-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-rc3-ChangeLog
+
+util-linux-ng 2.14-rc2
+* see Documentation/releases/v2.14-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-rc2-ChangeLog
+
+util-linux-ng 2.14-rc1
+* see Documentation/releases/v2.14-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-rc1-ChangeLog
+
+util-linux-ng 2.13
+
+* see Documentation/releases/v2.13-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-ChangeLog
+
+util-linux-ng 2.13-rc3
+
+* see Documentation/releases/v2.13-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc3-ChangeLog
+
+util-linux-ng 2.13-rc2
+
+* see Documentation/releases/v2.13-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc2-ChangeLog
+
+util-linux-ng 2.13-rc1
+
+* see Documentation/releases/v2.13-ReleaseNotes or complete changelog at
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc1-ChangeLog
+
+util-linux 2.13-pre7
+
+* mount: default to cifs instead of smbfs for sources
+ starting with // Lars Mueller()
+* flock: documentation updates (H. Peter Anvin)
+* new translation: id
+* updated translations: de, it, sl, uk
+
+util-linux 2.13-pre6
+
+* getopt: updated to 1.1.4
+* replaced all *llseek variants with lseek
+* misc build system, code and docs cleanups and fixes
+* updated translations: fr, it
+
+util-linux 2.13-pre5
+
+* {fsck,mkfs}.cramfs: updated to cramfs-1.1
+* {fsck,mkfs}.cramfs: removed PAGE_CACHE_SIZE usage
+* umount: fix "umount -n -r" (Derick Swanepoel)
+* misc build system and code cleanups and fixes
+* updated translation: ca
+
+util-linux 2.13-pre4
+
+* don't build fdisk on m68k (Mike Frysinger)
+* misc build system and documentation fixes
+* removed program: clear
+
+util-linux 2.13-pre3
+
+* misc buld system fixes
+* cfdisk: fix a segfault with ReiserFS partitions
+* umount: disallow -r option for non-root users
+* updated translations: da, fr, it, nl, ru, sl, tr
+
+util-linux 2.13-pre2
+
+* flock: replaced with flock-2.0.2 by H. Peter Anvin
+* misc build system fixes, libtool is no longer used
+* misc code fixes
+* updated translations: ca, fi, fr, nl, ru, tr
+
+util-linux 2.13-pre1
+
+* use GNU autoconf/automake/libtool for building
+* added schedutils
+* removed support for curses implementations other than ncurses
+* removed programs: arch, passwd, rescuept, setfdprm, sln
+* removed mkminix-0.1/
+* misc fixes and documentation updates
+* new translation: vi
+* updated translations: ca, de, fi, fr, it, nl, ru, tr
+
+util-linux 2.12q
+
+* updated translation: nl
+
+util-linux 2.12q-pre2
+
+* sfdisk: document -G option in --help output
+* updated translations: ca, et, fr
+
+util-linux 2.12q-pre1
+
+* new maintainer
+* sfdisk: add -G option (Andries Brouwer)
+* updated translations: de, es, ru, sv, tr
+
+util-linux 2.12p
+
+* cfdisk: fix number of new partition when partitions not in disk order
+* fdisk: fix Sun label handling in sector mode
+* mkfs: never truncate filename (not that that ever happened)
+* more: fix redraw flaw
+
+util-linux 2.12n,o
+
+* lomount: revert patch from 2.12j
+* lptune.8: -T option is obsolete
+* mkswap, mkswap.8, swapon: support labels
+ (use HAVE_BLKID=no as long as the blkid library doesn't support this)
+* umount: allow user unmounting repeatedly mounted nfs mounts
+
+util-linux 2.12m
+
+* cfdisk: recognize JFS, support reiserfs labels (flavio.stanchina@tin.it)
+* mount: fix option parsing bug
+* mount.8: several updates
+* swapon.8: document -v option
+
+util-linux 2.12l
+
+* Makefile: remove cat-id-tbl.c upon make clean
+* fdisk: fixed a bug that would cause a non-update of a sun disklabel
+* fdisk: use sectorsize instead of 512 for SGI (Eric Y. Theriault)
+* fdisk: use __attribute__((packed)) for alpha, ARM: avoid unaligned accesses
+* hwclock: actually use HAVE_tm_gmtoff
+* swapon: fix priority handling
+* umount: refuse to unmount an empty string
+
+util-linux 2.12k
+
+* cfdisk: fixed a signed character bug causing problems for Spanish users
+* configure, MCONFIG: detect gcc 3.4.0 and use -mtune option (Matthew Burgess)
+* configure: do not run ./conftest (for cross compilation) (NIIBE Yutaka)
+* fsck.cramfs: try to get correct PAGE_CACHE_SIZE
+* losetup: try to give better error messages
+* readprofile: default map file is /boot/System.map
+* rdev.8: added historical info on ramdisk
+* New French, Spanish, Swedish and Turkish messages
+
+util-linux 2.12j
+
+* cal: highlight today (Pádraig Brady)
+* lomount: stop reading passwd at NUL, fix lo_encrypt key_size (Wolfram Kleff)
+* losetup: add -f option to find an unused loop device
+ (Alexander Wigen, Remco van Mook)
+* more: code cleanup (Joachim Henke)
+* mount: add "group" mount option (Martin Dickopp)
+* sfdisk: fix 2.6.8 BLKRRPART ioctl damage (Eric Lammerts)
+* swapon: let swapon -a skip the swapfiles marked "noauto" (Dale R. Worley)
+* umount: fix problem with empty mtab (Bryan Kadzban)
+* umount: use special umount program if it exists (Ram Pai)
+* New Danish and French messages
+
+util-linux 2.12i
+
+* MCONFIG: fix build conditions
+* chfn, chsh: add error checking
+* cytune: use local header cyclades.h
+* fdisk: fix default SGI volume header size (Eric Sandeen)
+* fstab.c: use strsignal() instead of sys_siglist[]
+* hwclock: use <sys/io.h> when available on i386
+* hwclock: dont try KDGHWCLK on archs other than __m68k__
+* sfdisk: correct typo in __attribute__used nonsense
+* sfdisk: use PACKED on __arm__ (Jeroen Dobbelaere)
+* sfdisk: fix warning printout
+
+util-linux 2.12e,f,g,h
+
+* cfdisk: avoid crash if no partition table
+* elvtune: tell user that this only works on 2.4 kernels
+* lomount: clear passwords after use
+* mount: accept comments (introduced by \;) in fstab - withdrawn again
+* mount: accept comments (specified by comment=) in fstab
+* mount: support ocfs, ocfs2
+* [u]mount: be more careful with malloc, try to avoid OOM with many mounts
+* sfdisk: __attribute__used nonsense to support gcc 3.4
+* shutdown: do not unmount various virtual filesystems
+
+util-linux 2.12c,d
+
+* mount.8: added recent ext2 mount options
+* mount: support jfs mount-by-label, improve reiserfs support
+* sfdisk: remove strange "ends in a digit" heuristic
+* *fdisk: use common disksize() routine
+
+util-linux 2.12b
+
+* chsh: improved error message
+* dmesg: ask kernel proper buffer size
+* losetup: handle 64-bit offsets
+* blockdev: also report BLKGETSIZE64 result
+* blockdev, elvtune, fdisk: handle new kernel _IOR,_IOW defines
+* fdisk: remove strange "ends in a digit" heuristic
+* fdisk: also list Solaris as possible type for 0x82
+* mount: added --rbind option
+* mount: use blkid, uuid libraries when available
+* mount: support reiserfs mount by label
+* mount: attempt to use the right definition of dev_t in struct loopinfo
+* mount.8: jfs mount options added
+* readprofile: new -s option
+* rename.1: added ref to mmv.1
+* replay: renamed to scriptreplay; correct typos
+* script: do not use locale for time delay floating point number format
+* sfdisk: error messages to stderr
+* New Catalan, Dutch, Finnish, French, German, Spanish, Swedish, Turkish,
+ Ukrainian messages
+
+util-linux 2.12a
+
+* chfn, chsh, login, vipw: SElinux support
+* fdisk: fix for kernels 2.4.15-2.4.17
+* fdisk: fix when all partitions are in use
+* hwclock: add a timeout when waiting for a clock update (Göran Weinholt)
+* ipcs: compilation fix
+* ipcs: shminfo.shmall gives pages
+* login: use getutline() instead of getutid()
+* login: fix for 64-bit time_t
+* mount: efs support
+* partx: bigendian fix
+* readprofile: support for 64-bit addresses
+* setterm: fix klogctl error message (Joern Heissler)
+* setterm.1: clarification
+* sfdisk: fix check for is_ide_cdrom_or_tape
+* umount: skip proc, devfs, devpts on umount -a
+
+util-linux 2.12
+
+* losetup: cryptoloop support
+* losetup: -p option specifies fd for passphrase
+* fdisk: sgi layout fix
+* mount: -p option specifies fd for passphrase
+* mount: recognize some PCDOS floppies
+* umount: in "umount name", first try to interpret "name" as a mount point
+
+util-linux 2.12pre
+
+* Catalan messages (Antoni Bella Perez)
+* Danish messages (Claus Hindsgaul)
+* Dutch messages (Taco Witte)
+* Finnish messages (Lauri Nurmi)
+* French messages (Michel Robitaille)
+* German messages (Michael Piefel)
+* Slovenian messages (Primoz Peterlin)
+* Spanish messages (Santiago Vila Doncel)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* cfdisk: localize the Y/N answer, improve printing localized messages
+* cfdisk: make various variables long long - some disks are close to 2 TB
+* cfdisk: use BLKGETSIZE64
+* fdisk: make various variables unsigned to lengthen the life of 32-bit vars
+* fdisk: some sgi fixes (Phillip Kesling)
+* fdisk: k=1000, K=1024
+* fdisk: removed last occurrences of HDIO_REQ
+* fdisk: use BLKGETSIZE64
+* hwclock: fix rtc test (Heiko Zuerker)
+* login: set a timeout on printing the timeout message (Robert Ambrose)
+* md5: x86_64 fix (mmj)
+* more: POSIX fixes
+* mount: do not supply MS_MGC_VAL when there are conflicting flags
+* mount: ncp and smb are called smbfs and ncpfs - global change
+* mount: add support for xvm mount by label (Eric Sandeen)
+* mount: correct hfs magic recognition
+* mount: keep original umask - it influences the mount call (mmj)
+* raw.8: documented unbinding of raw devices
+* readprofile: fixed off-by eight error (Werner Almesberger)
+* script: add -c option (Wayne Davison)
+* sfdisk.8: added an example of partitioning with logical partitions
+* sfdisk: only add a AA55 signature for DOS-type partition tables
+* tailf: new (Rik Faith)
+
+util-linux 2.11z
+
+* Catalan messages (Antoni Bella Perez)
+* Danish messages (Claus Hindsgaul)
+* Dutch messages (Taco Witte)
+* Finnish messages (Lauri Nurmi)
+* French messages (Michel Robitaille) - HURRAY!
+* German messages (Michael Piefel)
+* Slovenian messages (Primoz Peterlin)
+* Spanish messages (Santiago Vila Doncel)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* getopt: replaced getopt-1.1.2 by getopt-1.1.3 (Frodo Looijaard)
+* mkcramfs: change default blocksize for ia64 and alpha
+* more.help: removed (it is built-in now, and translated)
+* mount: add -i option (inhibit calling external mount programs)
+* mount: change default: do resolve symlinks
+* readprofile: look for System.map also in /boot/System.map-`uname -r` (mmj)
+* sfdisk: also translate "start" and "end"; s/MB/MiB/
+
+util-linux 2.11y
+
+* Danish messages (Claus Hindsgaul)
+* Finnish messages (Lauri Nurmi)
+* German messages (Michael Piefel)
+* Spanish messages (Santiago Vila Doncel)
+* Swedish messages (Christian Rose)
+* cfdisk: improve escape seq recognition when compiled with slang
+* fdisk: decimal units
+* hwclock/rtc.c: minor cleanup (Joachim Henke)
+* ipcs: compilation fix
+* more: kill external help file (Joachim Henke)
+* mount: fix LABEL= handling for user umount
+* mount: don't abort on read error on photocds (Gyorgy Kovesdi)
+* mount.8: add dmask and fmask vfat mount options
+* pg: compilation fix (Joachim Henke)
+* script: localized time strings (Goeran Uddeborg)
+* setterm: accept devfs name (Joachim Henke)
+* simpleinit: security: refuse initctl_fd if setting FD_CLOEXEC fails
+* umount: allow user umount after mount by label or uuid
+
+util-linux 2.11x
+
+* Danish messages (Claus Hindsgaul)
+* Dutch messages (Taco Witte)
+* Finnish messages (Lauri Nurmi)
+* German messages (Michael Piefel)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* cfdisk: correct error printout
+* fdisk: allow addition of a new partition when logicals all used
+ but primary free
+* hwclock: detect systime jumps backward during setting hwclock
+* mkfs.cramfs: do not mmap all files simultaneously
+* mkfs.cramfs: make blocksize settable
+* mkfs.minix: correct error printout
+* mkswap.8: now max 32 swapspaces
+* mount: new --rbind flag, for recursive loopback mounts
+* mount, umount: new -O option (Michael K. Johnson)
+* mount.8: -O and win95 options documented
+* setpwnam.c: open temp pw file with O_EXCL
+* simpleinit: fix for "spawn too fast" (Denis Vlasenko)
+* swapon: new -e option (Erik Troan)
+
+util-linux 2.11w
+
+* cfdisk, fdisk: allow slightly larger disk sizes
+* fdisk: Makefile: also for m68 (sun3) (Kaj-Michael Lang)
+* fdisk: allow to use the last partial cylinder, change display format
+* fdisk: do not ask partition number in case there is only one choice
+* fdisk: new sunlabel fix
+* login: fix possible local root exploit (Wojciech Purczynski)
+* more: bigendian fix
+
+util-linux 2.11v
+
+* Catalan messages (Antoni Bella Perez)
+* Finnish messages (Lauri Nurmi)
+* Very few Russian messages (panivan@yandex.ru)
+* Slovenian messages (Primoz Peterlin)
+* Spanish messages (Santiago Vila Doncel)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* fdisk: add -C, -H, -S command line options
+* fdisk: allow changing type 0
+* mkswap: enable use of > 2GB swapspace
+* more: translation fix
+* mount: set umask (Sebastian Krahmer)
+* mount: test both le and be version of cramfs magic (Olaf Hering)
+* mount: recognize Oracle magic
+* pg: use fseeko64 and ftello64 when available
+
+util-linux 2.11u
+
+* Danish messages (Claus Hindsgaul)
+* German messages (Michael Piefel)
+* Spanish messages (Santiago Vila Doncel)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* configure: for fsck.cramfs, mkfs.cramfs: add test for libz
+* text-utils/Makefile: pg fix (Toomas Rosin)
+* po/Makefile: typo fix (Silvan Minghetti)
+* agetty: use same test as login does to find utmp entry
+* fdisk: fix for fdisk on empty disk (Michael D. Black)
+* hwclock: compilation fix on alpha
+* mount: add mount by label for jfs (Christoph Hellwig)
+* mount: add mount by label for evms (Luciano Chavez)
+* mount: allow regular files when guessing (Michal Svec)
+* partx/gpt.c: fix size computation (Matt Domsch)
+* readprofile: new option -b (David Mosberger)
+* umount: don't umount devfs upon umount -a (David Gilbert)
+
+util-linux 2.11t
+
+* fdformat: remove test on major
+* fsck.cramfs: added NLS
+* fdisk: fix device names with sundisklabels under devfs (Kaj-Michael Lang)
+* fdisk: minor polishing
+* hwclock: also handle ENOTTY ioctl return (Maciej W. Rozycki)
+* hwclock: minor polishing
+* ipcrm.8: minor polishing
+* mkfs.cramfs: added NLS
+* mkfs.cramfs: added -v (verbose) option, and made default silent
+* mount: patch for make -j (RedHat)
+* swapoff: minor polishing
+
+util-linux 2.11s
+
+* Estonian messages (Meelis Roos)
+* French messages: some minor corrections
+* German messages (Michael Piefel)
+* Spanish messages (Santiago Vila Doncel)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* MCONFIG: allow "make DISABLE_NLS=yes <target>" (Peter Breitenlohner)
+* configure: don't run ./conftest - better for cross-compilation (Magnus Damm)
+* fdisk: fixes for disks with OSF/1 label
+* fsck.cramfs: new (from kernel source)
+* hwclock: improved adjtime handling (James P. Rutledge)
+* hwclock: remove shhopts stuff
+* ipcs: remove unused heading (Michael Kerrisk)
+* line: replace by C version - the sh version was broken (Gunnar Ritter)
+* login: default root path: added /usr/local/[s]bin (RedHat)
+* mkfs.cramfs: new (from kernel source)
+* mount: when no type is known, assume that prefix // implies samba (RedHat)
+* mount -a: avoid stat on devices that have noauto option (Jeroen Mostert)
+* mount by label: ignore RAID partitions (RedHat)
+* [u]mount: fstab.c fix (ejb@ql.org)
+* pg: new (Gunnar Ritter)
+* sfdisk: small BSD partition fix
+* swapoff -a: also do swapoff on all files found in /proc/swaps
+* swapon -a: skip files already found in /proc/swaps
+
+util-linux 2.11r
+
+* Estonian messages (Meelis Roos)
+* German messages (Michael Piefel)
+* Spanish messages (Santiago Vila Doncel)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* MCONFIG: move $(CFLAGS) to the end to allow overrides (Kevin P. Fleming)
+* cal: tiny fix (Mitsuru Chinen)
+* fdisk: avoid <linux/hdreg.h>
+* fdisk: x86_64 patch (Mads Martin Jřrgensen)
+* hwclock.8: zoneinfo is now in /usr/share
+* mkswap: report in KiB instead of bytes.
+
+util-linux 2.11q
+
+* fdisk: geometry improvement
+* login: open tty fix (Denis Vlasenko)
+* more: wide character patches (Mitsuru Chinen)
+* mount: complain on mount-by-label when label is not unique (Matt Copping)
+* partx: add GUID Partition Tables (Matt Domsch)
+
+util-linux 2.11p
+
+* Danish messages (Claus Hindsgaul)
+* German messages (Karl Eichwalder)
+* Spanish messages (Santiago Vila Doncel)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* ipcrm: make POSIX compatible (Andre Corwin Mazzone)
+* ipcrm.8: idem
+* kill: fixed Makefile
+* login: setsid fixes
+* mkswap: max size of swap space is very large (Peter Chubb)
+* mount: JFS support for mount-by-label (hch)
+* nfsmount: check for <rpcsvc/nfs_prot.h> (hch)
+* readprofile: keep track of line numbers (John Levon)
+* umount: fix for MNT_DETACH
+
+util-linux 2.11o
+
+* Estonian messages (Meelis Roos)
+* Japanese messages (Daisuke Yamashita)
+* Spanish messages (Santiago Vila Doncel)
+* cal: option -s: Sunday is first day of the week
+* cal.1: updated
+* cfdisk: give not only bytes but also MB or GB for clarity.
+* colrm: wide character fix (Elliot Lee)
+* *fdisk: added Darwin types (Vincent Bourgonjen)
+* fstab.5: updated
+* hexdump: -C option
+* hwclock: cmos.c: do not include <asm/io.h> on alpha
+* mount: improved detection of ufs (and slowdown of detection of iso9660)
+* mount.8: added info on * in /etc/filesystems, shortname option of vfat,
+ mount --move, udf, return codes
+* raw: try /dev/raw/rawctl when /dev/rawctl fails (Thierry Vignaud)
+* rc.serial: removed - setserial is no longer in util-linux (kromJx)
+* README.admutil: removed - only of historical interest
+* README.bootutils-0.1: removed - only of historical interest
+* script: security fix
+* sfdisk: improved geometry detection; wider columns; default disks from
+ /proc/partitions
+* umount: permission test owner umount
+* wall.1: added suid restriction
+
+util-linux 2.11n
+
+* Danish messages (Claus Hindsgaul)
+* German messages (Karl Eichwalder)
+* Swedish messages (Christian Rose)
+* Turkish messages now in UTF-8 (Nilgün Belma Bugüner)
+* blockdev: add --report option
+* cal: fix for wide multibyte-char (Motonobu Ichimura)
+* cfdisk: recognize ext3 and reiserfs (Flavio Stanchina)
+* fsck.minix: i18n changes
+* ipc.{info,texi}: minor correction
+* login: compilation fix (Jaroslaw J. Pyszny)
+* mount.8: tmpfs mount options (Karl Eichwalder)
+* mount: recognize minix v2
+* mount: support mount-by-label also for lvm (Kirby Bohling)
+* mount: order guessing of fstypes according to seek offset
+* pivot_root: compilation fix for ia64
+* readprofile: byte order auto-detection (Werner Almesberger)
+
+util-linux 2.11m
+
+* Danish messages (Claus Hindsgaul)
+* German messages (Karl Eichwalder)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* fdisk: added netbsd type (Steven J. Hill)
+* more: fix for unsigned char (Rusty Russell)
+* mount: added sysv magic (Tim Launchbury)
+* setterm: fixed "setterm -foreground default"
+
+util-linux 2.11l
+
+* Danish messages (Claus Hindsgaul)
+* banner: removed - it is in bsdgames
+* fdisk: show partitions with empty type but some other nonzero field
+* login: copy the static struct that getpwnam() returns before calling
+ PAM routines that might themselves use getpwnam(). Abort on problems.
+ (Olaf Kirch)
+* mount: added jfs magic (Christoph Hellwig)
+* renice: report the correct new priority after a setpriority()
+* umount: add lazy unmount (Christoph Hellwig)
+
+util-linux 2.11k
+
+ Various potential buffer overflows were pointed out by awayzzz@digibel.org.
+ Fixes in agetty, hwclock, namei, readprofile, simpleinit, vipw.
+ (Also added a few [f]close() calls - entirely superfluously.)
+
+* agetty: avoid possible buffer overflow
+* cfdisk: recognize xfs (Nathan Scott)
+* cytune: added close()
+* fdformat: added close()
+* fdisk: added fclose()
+* hwclock: avoid possible buffer overflow
+* mkfs.minix: added fclose()
+* mount: remove the assumption that 635 is the default mount port
+* namei: avoid possible buffer overflow
+* rdev: added closedir()
+* readprofile: avoid possible buffer overflow
+* sfdisk: added fclose()
+* simpleinit: avoid possible buffer overflow
+* swapon: added fclose()
+* umount: use tcp when mount was done using tcp (James D Strandboge)
+* vipw: avoid possible buffer overflow
+
+util-linux 2.11j
+
+* fdisk: fix for AIX label (Olaf Hering)
+* fdisk: fix for creating DOS label when BSD label is present
+* mount.8: added remark about blocksize to ext2 sb= mount option description.
+* partitiontype: new, not installed
+
+util-linux 2.11i
+
+* testincl: do not run conftest (Brian Murphy)
+* blockdev: corrected ioctl numbers now that BLKBSZGET is in 2.4.10pre3
+* cal: fixed for Hungarian locale
+* cal: fixed for multibyte locales (Pablo Saratxaga)
+* fdisk: avoid superfluous warning about DOS partitions
+* line: new, to support SCO shell scripts (Christoph Hellwig)
+* mount: added vxfs magic
+* passwd: tiny fix for ARM (Ken Cox)
+* replay: replay typescript with timings (Joey Hess)
+* script: add -t flag for timing (Joey Hess)
+
+util-linux 2.11h
+
+* Turkish messages (Nilgün Belma Bugüner)
+* Danish messages (Claus Hindsgaul)
+* banner: minor fix (awayzzz@digibel.org)
+* mkfs.minix: minix v2 fix
+* more.1: improved (Edward Betts)
+* mount.8: corrected description of the nwfs uni_xlate mount option
+* vipw: make temp files of mode 0600 (Bill Nottingham)
+* wall: avoid writing to /dev/:0
+
+util-linux 2.11g
+
+* MCONFIG & configure: fix for gcc 3.0
+ Note that nfsmount_xdr.c may give warnings with gcc 3.0, essentially
+ because of defines in <rpc/xdr.h> that use things like ntohl(*buf++)
+ where ntohl(x) is a macro with several occurrences of x.
+* blockdev: support for the get/set blocksize ioctls
+ [not yet in the 2.4.5 kernel]
+* fdisk: added Linux/PA-RISC type (Matt Taggart)
+* mount: minor fix (Andrey J. Melnikoff)
+* mount: added some ext3 stuff (Andrew Morton)
+* mount: added heuristics for reiserfs (Andrew Morton)
+* mount.8: added ext3 and reiserfs docs (Andrew Morton)
+
+util-linux 2.11f
+
+* Czech messages (Jiří Pavlovský)
+* fdisk: fix for "reorder" expert command
+ (use of sfdisk afterwards is still recommended)
+* mount: minor fixes
+
+util-linux 2.11e
+
+* Danish messages (Claus Hindsgaul)
+* Brazilian Portuguese messages (Rodrigo Stulzer Lopes)
+* agetty: give tty mode 0600 instead of 0622
+* cal: improved manpage
+* cfdisk: add user-friendliness in case of empty disk (Matthew Wilcox)
+* dmesg: improved manpage
+* fdisk: SuperH fix (ISHIKAWA Mutsumi)
+* hwclock: accept alpha options in both upper and lower case
+ (so as to make the man page correct)
+* hwclock: add option --noadjtime (Henrique M Holschuh)
+* login: child must have controlling tty (Michal Moskal)
+* more: don't seek unseekable input (David Whedon)
+* mount: upon request by Richard Gooch: if the mount point is specified
+ as symlink, put symlink, not actual mount point in mtab.
+ (This avoids the long and ugly devfs names, but may break things.
+ Please complain in case of problems.)
+* mount: with mount -a -t nfs:
+ if we used fallback to nfs v3, don't do so for subsequent mounts
+* mount: add heuristics for ext3 (Andrew Morton)
+* mount: added quota info to mount.8
+* mount: allow comma-separated type lists, also in fstab
+* raw: small fix for ppc
+
+util-linux 2.11d
+
+* fdisk: fix for OSF (Will Woods)
+* chsh: compilation fix (Ronald Wahl)
+
+util-linux 2.11c
+
+* Czech messages (Jiří Pavlovský)
+* German messages (Elrond)
+* Makefile/MCONFIG improvements (Peter Breitenlohner)
+* fdisk: added a few partition types
+* fdisk: correct partition numbering for sgi partitions (Nathan Scott)
+* fdisk: make it compile on hppa by arbitrarily treating hppa like powerpc
+ (Matt Taggart)
+* fsck.minix: improved localisation (Elrond)
+* getopt: updated to version 1.1.2 (Frodo Looijaard)
+* hwclock: fixes for IA64 (Thorsten Kukuk)
+* hwclock: use /dev/vc/1 when devfs is used (Thomas Koeller)
+* hwclock: more devfs support (e.g. /dev/misc/rtc)
+* ipcs: add spaces in output (DeWitt Clinton),
+ correct some error messages (Bobby de Vos)
+* login: fix TIOCNOTTY (Andreas Haumer, Adam J. Richter)
+* login: add btmp logging of unsuccessful login attempts (Erik Troan)
+* login: avoid a SIGHUP race with PAM enabled (Peter 'Luna' Runestig)
+* login: copy the static result returned by gethostbyname to avoid
+ corruption by pam_authenticate via pam_ldap (Andreas Damm)
+* login: removed the REDHAT_IGNORED_MAILSIZE hack
+* login: unconditionally do vhangup
+* login: zero PAM_USER when no username was given (Arkadiusz Miskiewicz)
+* look: dictionary now under /usr/share (Erik Troan)
+* mount: add sanitize_env() (Solar Designer)
+* mount: another heuristic for vfat (Michal Svec)
+* mount: xfs magic has only one endianness (Nathan Scott)
+* mount: return failure when tcp used and portmap returns 0 (H. J. Lu)
+* rdev: allow unlimited recursion to find the long devfs names
+ Also, allow major,minor pair the specify device (request by Russell Coker)
+* readprofile: array bound check (Andrew Morton)
+* script: transmit window changes to child (Joey Hess)
+* sfdisk: endian fix for ppc (Gregory Geiselhart)
+* sfdisk: new feature: sign is offset from default (Byron Stanoszek)
+* sfdisk: add some default devices to list (Luca Montecchiani)
+* sfdisk: no partition table on ide tape
+* shutdown: close files, unblock signals (Richard Gooch)
+* simpleinit: block signals in handlers; add no_reboot option (Richard Gooch)
+* swapdev: deleted, it was last used with Linux 0.12.
+* umount: mips does support umount2 (Maciej W. Rozycki)
+* umount: add sanitize_env() (Solar Designer)
+* umount: fix exit status
+* wall: do not forget 80th character (Thorsten Kukuk)
+
+util-linux 2.11b:
+
+* Danish messages (Claus Hindsgaul)
+* umount: mips does not support umount2 (Christoph Martin)
+* fdisk: tiny fix
+* mount.8: adfs options documented, xfs corrected
+
+util-linux 2.11a:
+
+* tsort: deleted - it is part of GNU textutils 2.0
+* mount: fix rootdev() (Richard Kettlewell)
+* mount: fix gid of mtab file
+* mount: try /proc/filesystems after /etc/filesystems if the latter ends in "*"
+* fdisk: added a few system types
+
+util-linux 2.11:
+
+* Jump to 2.11 to note that libc-4.5.26 is no longer supported,
+ and we require libc-4.6.27 (since now snprintf is used).
+ Also, kbdrate has now been removed. Find it in kbd-1.05.
+ Added -D_FILE_OFFSET_BITS=64 to CFLAGS.
+* Danish messages (Claus Hindsgaul)
+* fdisk: avoid loop in case of extended without logical
+* ipcs: corrected interchanged report on msg_rtime/msg_stime (Arun Kumar U)
+* kill: updated manpage
+* last: very much faster with mmap (Marek Zelem)
+* login: Applied PAM patch by David MacKenzie <djm@web.us.uu.net>
+* login: do a setsid in the child (Erik Troan)
+* mount: make "mount 192.168.1.8:/ /a -o bg" work again (Bjoern Voigt)
+* mount: added constant MS_MOVE
+* readprofile: added -M option, updated manpage (Andrew Morton)
+* setsid: fork when it would fail otherwise (John Fremlin)
+* simpleinit: updated (Richard Gooch et al.)
+* vipw: also offer to edit shadow file (Erik Troan)
+* xfs docs (Nathan Scott)
+
+util-linux 2.10s:
+
+* Danish messages (Claus Hindsgaul)
+* fixes to make gcc happy (Joseph S. Myers)
+* fix for more on parisc (Richard Hirst)
+* change rdev to search subdirectories of /dev (Paul Clements)
+* ul fix (Masao Kawamura) - set columns correctly
+* cal fix (Brendan Kehoe) - don't overflow weekday array in Gaelic
+* fdisk fix (niles@scyld.com) - flush stdout
+* fdisk fix - don't forget to write out empty label
+* login: make default tty mode 0600
+* script: refuse to write typescript if that is a symlink
+* script: accept -V to output version
+* whereis: also search /usr/share/man.
+* hwclock: improve locale handling
+* hwclock: fix for Nautilus (Neoklis Kyriazis)
+* isosize: new
+
+util-linux 2.10r:
+
+* mount: support mount by uuid or label for xfs (Nathan Scott)
+* mount: added probe for minix on bigendian systems (Nathan Scott)
+* mount: added probes for cramfs, hfs, hpfs and adfs (Sepp Wijnands)
+* mount: change setup; let umount remove at most one line from /etc/mtab
+* mount: improve man page
+* more, col, colcrt, colrm, column, ul: nls improvements (Masao Kawamura)
+
+util-linux 2.10q:
+
+* mount: accept nonnumeric uid= and gid= options
+* write and wall: security improvement
+* fixed fdformat flaw (Werner Almesberger)
+* use right mountport upon umount (Glenn Lingle)
+* simpleinit / need / initctl stuff (Richard Gooch)
+* Portuguese messages (Rodrigo Stulzer Lopes et al.)
+
+util-linux 2.10p:
+
+* mount: don't set up a loop file with -o loop,remount (Marc Mutz)
+* fdisk: changes for sectorsize different from 512
+* more: standout fix (Paul Vojta)
+* more: improve usage message (Lincoln Myers)
+* logger: Added -d option to use datagrams (Gerwin Pfab)
+* cal: Added -3 option to also print prev/next month (Michael Charles Pruznick)
+* French messages (Christophe Merlet)
+* Japanese messages (Daisuke Yamashita)
+
+util-linux 2.10o:
+
+* fdformat: fixed to work with kernel 2.4.0test6 (Marek Wojtowicz)
+* losetup: also return status when only showing loop device status (ewt)
+* mount: do not retry ro if mount was ro; improve error message
+* login: not installed suid
+* getopt: by default install aux files in /usr/share/misc
+
+util-linux 2.10n:
+
+* added blockdev.8
+* change to elvtune (andrea)
+* fixed overrun in agetty (vii@penguinpowered.com)
+* shutdown: prefer umounting by mount point (rgooch)
+* fdisk: added plan9
+* fdisk: remove empty links in chain of extended partitions
+* mount: define ALWAYS_STAT
+* mount: add replace, after, before, over, bind
+* umount: also free loop device when not writing mtab
+* lomount: try both /dev/loopN and /dev/loop/N
+* hwclock: handle both /dev/rtc and /dev/efirtc (Bill Nottingham)
+* script: added -f (flush) option (Ivan Schreter)
+* script: added -q (quiet) option (Per Andreas Buer)
+* getopt: updated to version 1.1.0 (Frodo Looijaard)
+* Czech messages (Jiri Pavlovsky)
+
+util-linux 2.10m:
+
+* chfn fix when PAM is used (Martin-D. Lacasse)
+* do not use LC_NUMERIC part of locale in hwclock when writing /etc/adjtime
+* mount status return from smb or ncp fix (Mark Peloquin)
+* mount new option -l: also print label when listing mounts
+* mount add heuristic for xfs (Martin K. Petersen)
+* mount UUID and label cache (Erik Troan)
+* mount improve check for `already mounted' in case of label or uuid
+* fdisk partition names more devfs-friendly
+* fdisk bsdlabel large disk support
+* setterm.1: options documented (Colin Watson)
+* rename correction
+* German, Spanish, French, Italian, Portuguese messages
+ (Roger Luethi, Beth Powell, Alvaro Antunes)
+
+util-linux 2.10l:
+
+* Merged losetup.c and lomount.c
+* ANSIfied everything
+
+util-linux 2.10k:
+
+* NFS version 4 mount support (Trond Myklebust)
+* hwclock fix (Stefan Ring)
+* Added -p option to col, as required by SUS (Joseph S. Myers)
+
+util-linux 2.10j:
+
+* fdisk fixes (Michal Jaegermann)
+
+util-linux 2.10i:
+
+* new directory partx (with code to play with, not to use)
+* minor fdisk changes
+
+util-linux 2.10h:
+
+* Added pivot_root (Werner Almesberger)
+* Added elvtune (Andrea Arcangeli)
+* Added need and extended simpleinit and shutdown (Richard Gooch)
+* Removed all #include <linux/fs.h>
+* errno fixes (Joseph S. Myers)
+* IA-64 fixes (Michael K. Johnson)
+* fdisk fixes for OSF/1 on Alpha (David Huggins-Daines)
+* fdisk sectorsize fix (Greg Hosler)
+* mount speed= option to enable mounting bad CDROMs (Marco d'Itri)
+* ipcrm deletes several things at once (Frank Zago)
+
+util-linux 2.10g:
+
+* fdisk can now sort partitions into order [untested, beware!]
+* Update of mkswap for sparc64 (jj)
+* Update of raw (Stephen Tweedie):
+ Control file was /dev/raw, now /dev/rawctl
+ Access files were /dev/raw*, now /dev/raw/raw*
+* Czech messages (Jiri Pavlovsky)
+* German messages (Daniel Egger)
+* losetup locks memory (Frank v Waveren)
+
+util-linux 2.10f:
+
+* Security fix for mount (okir)
+* Avoid infinite loop in namei (Brett Wuth)
+* added clock-ppc.c (from Matsuura Takanori), not merged yet
+* deleted clockB subdirectory
+* recognize mkdosfs string (Michal Svec)
+
+util-linux 2.10e:
+
+* New: rename
+* Added option to mkswap so that user can override pagesize
+* fdisk -l now reads /proc/partitions when no device was given
+* Fixed fdisk.8 (James Manning)
+* Added devpts info to mount.8 (Elrond)
+* Newline fix for logger output to stdout (Henri Spencer)
+
+util-linux 2.10d:
+
+* Do not try to mount something as udf without good reason
+* Do not loop in umount if there is a stale lock file
+* Allow fdisk twice as many cylinders
+* Fixed non-casefolding search in look (Markus Demleitner)
+
+util-linux 2.10c:
+
+* Various compilation fixes
+
+util-linux 2.10b:
+
+* Fixed smbmount problem (Andrew Tridgell)
+* Fixed ddate problem with the day after St. Tib's Day (Brad)
+* German messages (Elrond)
+* Made kill a bit more standard compliant
+* Made some more programs output a version
+
+util-linux 2.10a:
+
+* Japanese messages (Daisuke Yamashita)
+* French messages and several Debian fixes (Vincent Renardias)
+* Fixed infinite loop in mkfs.minix
+
+util-linux 2.10:
+
+* Added BSD disklabel code to rescuept
+* Added blockdev utility
+* Fix losetup return code
+* Fix unit display in cfdisk
+* Do not redefine _PATH_MAILDIR (so that recent systems can have /var/mail)
+* Added --localtime option to hwclock;
+ added third line (LOCAL/UTC) to /etc/adjtime.
+* Add -H option to agetty (David Holland)
+
+util-linux 2.9z:
+
+* Japanese messages (Daisuke Yamashita)
+* Czech messages (Jiri Pavlovsky)
+* Added some udf stuff to mount.8
+* Added ioctl for fdisk on bsdlabels
+
+util-linux 2.9y:
+
+* Wide character support (Bruno Haible)
+* German messages and some small fixes (Elrond)
+* Small fix to owner mount option (Erik Troan)
+* Don't sleep so long in clock/kd.c (Christian T. Steigies)
+
+util-linux 2.9x:
+
+* German messages and a i18n fix (Elrond)
+* mount option: allow the owner to mount a device (RedHat)
+* ugly: let login open console with O_NONBLOCK (Maciej W. Rozycki)
+* UGLY: let login ignore mail that is precisely 523 bytes long (RedHat)
+* added mkfs.bfs, mkfs.bfs.8
+* mount now recognizes qnx4 and bfs partitions
+* rescuept now recognizes Unixware partitions
+* hwclock fix on m68k (Roman Hodek)
+* several minor things
+
+util-linux 2.9w:
+
+* Updated mount.8 (Yann Droneaud)
+* Improved makefiles
+* Fixed flaw in fdisk
+
+util-linux 2.9v:
+
+* cfdisk no longer believes the kernel's HDGETGEO
+ (and may be able to partition a 2 TB disk)
+
+util-linux 2.9u:
+
+* Czech more.help and messages (Jiří Pavlovský)
+* Japanese messages (Daisuke Yamashita)
+* fdisk fix (Klaus G. Wagner)
+* mount fix (Hirokazu Takahashi)
+* agetty: enable hardware flow control (Thorsten Kranzkowski)
+* minor cfdisk improvements
+* fdisk no longer accepts a default device
+* Makefile fix
+
+util-linux 2.9t:
+
+* national language support for hwclock
+* Japanese messages (both by Daisuke Yamashita)
+* German messages and some misc i18n fixes (Elrond)
+* Czech messages (Jiří Pavlovský)
+* wall fixed for /dev/pts/xx ttys
+* make last and wall use getutent() (Sascha Schumann)
+ [Maybe this is bad: last reading all of wtmp may be too slow.
+ Revert in case people complain.]
+* documented UUID= and LABEL= in fstab.5
+* added some partition types
+* swapon: warn only if verbose
+
+util-linux 2.9s:
+
+* tunelp patch (Andrea Arcangeli)
+* fixed mount race (HJLu)
+* German messages (Elrond)
+
+util-linux 2.9[pqr]:
+
+* errno->errsv patch (Arnaldo Carvalho de Melo)
+* hwclock patch for the Award 4.50g BIOS "2094" bug. (Dave Coffin)
+* fdisk patch to correct deletion of last logical partition
+
+util-linux 2.9o:
+
+* fix to login by Ambrose C. Li
+* improvement to mcookie inspired by a patch from Rik Faith
+* more i18n by Arnaldo Carvalho de Melo; pt_BR locale
+
+util-linux 2.9n:
+
+* Added -u option to logger (write to user-specified socket; Martin Schultze)
+* Added mount.smb script contributed by Greg Galperin
+* Some more national language support
+* mkfs.minix argument parsing fixed
+* write fixed for /dev/pts/xx ttys
+* configure adapted for the case of <scsi/scsi.h> that needs u_char.
+
+util-linux 2.9m:
+
+* Added national language support (misiek@pld.ORG.PL)
+* minor improvements in mount, fdisk, cfdisk, agetty, more
+
+util-linux 2.9l:
+
+* Added /dev/port use to hwclock again - it may be necessary for Jensen.
+
+util-linux 2.9k:
+
+* major reshuffle of hwclock stuff; added sparc and alpha code
+* fdisk fix
+* tiny shutdown fix
+
+util-linux 2.9j:
+
+* added configure
+* merged three lists of partition types in *fdisk
+* multi page display in cfdisk
+* test for getlogin() == "";
+* start fixup hwclock
+
+util-linux 2.9i:
+
+* fixed 2.9h typo in more
+* added -m: `Monday is 1st day' option to cal (Jean-Francois Bignolles)
+* changed PAM stuff in login.c (+- mjohnson)
+* added warning to cfdisk in case of multiple bootable partitions
+* added 2048-byte sector support in fdisk (Oliver Schaertel)
+
+util-linux 2.9h:
+
+* mount recognizes "uid=useruid" and "gid=usergid" in /etc/fstab.
+* documented the fact that "mount -t smb" will call /sbin/mount.smb.
+* mount gives clear error message when fstab does not end in newline.
+* swapon checks mode of file
+* cfdisk got a more specific exit status (Enrique Zanardi)
+
+util-linux 2.9g:
+
+* mount updates (locking, "users" keyword, "/etc/filesystems",
+ "proto" and "vers" options in nfsmount, ...)
+
+util-linux 2.9f:
+
+* made ul handle lines of arbitrary length (Scott Maxwell)
+* killed some C/H/S nonsense in fdisk
+* fixes for archs with unsigned char type (Ambrose Li)
+* fdisk fixes for power pc (Tom Rini)
+* added a define for NCURSES_CONST
+* fixes for list of signals in kill.c
+* fixes for user name length in last.c
+
+util-linux 2.9e:
+
+* added a forgotten declaration to login.c (Christian Oyarzun)
+
+util-linux 2.9d:
+
+* fixed segfault in umount caused by Wilcox' patch (Steffen Zahn)
+* added lnz stuff to fdisk
+
+util-linux 2.9c:
+
+* refixed PAM stuff in login.c that was broken in 2.8.
+
+util-linux 2.9b:
+
+* split README into INSTALL and HISTORY
+* added a sentence to swapon.8
+* behaviour of write on non-ASCII fixed
+* hwclock adapted to survive a failing mktime()
+
+util-linux 2.9a:
+
+* added an include to lib/my_reboot.c so that __GLIBC__ is defined
+* added setlocale() to login-utils/chfn.c
+* do not recompute MAIL in login-utils/login.c
+
+util-linux 2.9:
+
+HIGHLIGHTS for version 2.9:
+
+1) Removed programs:
+ - strings. There is a version in binutils.
+ - frag. (Moved to historic in 2.4, crept back in 2.5. Gone again.)
+1a) Not yet removed program:
+ - setfdprm. It also is in fdutils-5.2 (with an exceptionally
+ ugly man page).
+1b) Removed directory:
+ - bsd. (The routine getopt() is in libc. err() moved to lib.)
+2) Improvements:
+ - ddate has been fixed to count down to the new, right X-day
+ - look is now willing to search non-English dictionaries
+ (i.e., uses locale)
+ - cal now knows that Dutch day abbreviations have length 2 only
+ - mcookie does not block when no random stuff is available
+ - shutdown got a configuration file /etc/shutdown.conf
+ - fdisk now reads SGI disk labels (thanks to Andreas Neuper)
+ - mkswap now knows about new swap areas; mkswap.8 has been rewritten
+ - umount knows about umount2() and forced unmounting of nfs mounts
+ (however, I don't think it really works)
+ - mount is now willing to handle file names with embedded spaces
+ - mount can now mount things by UUID or volume name
+3) Uglifications:
+ - swap.h has been replaced by a private swap_constants.h since
+ <linux/swap.h> does not compile
+ - reboot has become a private routine, since libc5 and glibc2 conflict
+ - a mkminix-0.1 directory contains some patches to let mkfs.minix
+ work under DOS. (Untested.)
+4) Numerous other small changes.
+
+0xF) Send questions and/or patches to util-linux@math.uio.no
+
+util-linux 2.9 was released by Andries Brouwer - aeb@cwi.nl
+The address util-linux@math.uio.no reaches Rik, Andries, Peter,
+Michael, Erik, Nicolai and possibly others. Hwclock stuff is
+forwarded to Bryan.
+
+util-linux 2.8:
+
+HIGHLIGHTS for version 2.8:
+
+1) New programs:
+ - getopt(1) by Frodo Looijaard replaces the older bsd based version.
+ Keywords: Backward compatible, supports --long options.
+1) Removed programs:
+ - chroot: is no longer in util-linux. Get it free with GNU sh-utils
+ - hostid: No-one could figure out the right way for this program to
+ work. Another hostid program is included in poeigl
+ (see the LSM, Primary-site: ftp.daimi.aau.dk /pub/linux/poe)
+2) Various portability enhancements. Among other things hwclock now works
+ a lot better on non Intel architectures. Should compile with libc 4, 5
+ and 6 as well as old and recent kernels. People using non-intel hardware
+ are encouraged to send patches.
+3) rev now only limits linelength to memory capacity
+4) dmesg now uses a buffer that matches the kernel buffer in size (8KB)
+
+
+util-linux 2.7:
+
+HIGLIGHTS for version 2.7:
+
+1) util-linux now _requires_ ncurses. Several programs are completely
+ converted to use terminfo (instead of termcap).
+
+2) Removed progams:
+ - clock: Dropped entirely. Use hwclock (included).
+ - sync: is in gnu fileutils.
+ - setserial: Is being maintained by Ted Ts'o, he recommends
+ setserial-2.12 (2.13 is bad luck)
+ - clear: Included in ncurses
+ - hostname, domainname, dnsdomainname: It's in net-utils.
+ - lpcntl.
+
+3) Bugfixes, additions:
+ - cfdisk: A much improved version. All known bugs have been fixed.
+ - sfdisk: A command line fdisk type utility, formerly called fdisk-3.04.
+ - SECURITY: All known holes in login, chfn, chsh and others have been
+ plugged. UPGRADE NOW if you haven't already fixed them yourself.
+ - Should work with libc 4, 5 and 6 (gnulibc), on m68k, intel, alpha
+ and sparc.
+
+4) Problems:
+ - The rpcgen that comes in NetKit-B-0.09 is broken. At least as
+ packaged with RedHat 4.2 (NetKit-B-0.09-6). There are several
+ ways to deal with this:
+ - Don't run rpcgen, the needed pre-generated sources are included
+ (nfsmount_xdr.c). You must hack mount/Makefile to do this.
+ - Edit the source emitted by rpcgen so it can compile. This is very
+ simple if you know C.
+ - Disable the NFS parts of mount. You have to edit mount/Makefile
+ to do this.
+ - Use some other rpcgen.
+
+util-linux 2.6.1
+
+This release was never made public
+
+See notes for 2.6 for installation instructions.
+
+This is a incremental release containing some fixes. A new release
+will be made later fixing the outstanding bugs.
+- Things compiles and works better with recent releases of kernel,
+ ncurses, and so forth: fdisk, more
+- Some fixes to make things compile out of the box on alphas.
+- There has been reported a problem with login and /etc/usertty. It
+ should be fixed. If you still have problems get a recent MAKEDEV and
+ use it to make new tty devices. They were renumbered sometime during
+ the 1.3 phase of the kernel.
+- ipcs now displays the key of the structures.
+- A (harmless?) overflow bug was fixed in login.
+
+Outstanding bugs:
+- login/getty has a denial of service problem.
+- Several places needs a bit more polish.
+- There are a _lot_ of nonfatal warnings when compiling mount. This will
+ not necessarily be fixed.
+
+
+util-linux 2.6
+
+HIGHLIGHTS for version 2.6:
+
+0) The first release with me at the helm. PLEASE SEND PATCHES AND
+ UPDATES TO: util-linux@math.uio.no.
+
+1) Removed programs:
+ - md5sum, dsplit: available in GNU textutils.
+ - syslogd: Sysklogd is now preferred. It is available at
+ tsx-11.mit.edu:/pub/sources/sbin
+ sunsite.unc.edu:/pub/Linux/system/Daemons
+
+2) Bugfixes, additions:
+ - SECURITY: All known holes in mount have been fixed. UPGRADE NOW
+ if you haven't already!
+ - Portability enhancments to the minix filesystem utils (m68k and
+ Arm patches).
+ - passwd/chsh/chfn will not mess up the passwd file on a NIS machine
+ - others too numerous to enumerate.
+
+3) New programs:
+ - vigr (it's like vipw)
+ - Introducing hwclock. A complete rewrite of the latest available
+ clock source. It supports intel/CMOS, /dev/rtc and linux/m68k
+ system clock interfaces. Clock supports the same things but is now
+ obsolete and will not be present in the next release. Start using
+ hwclock now. Please.
+
+
+util-linux 2.5
+
+HIGHLIGHTS for version 2.5:
+0) Nicolai Langfeldt is taking over maintenance of util-linux, with the
+ help of a few others (Michael K. Johnson, Andries Brouwer, and Rik
+ Faith).
+
+ PLEASE SEND PATCHES AND UPDATES TO: util-linux@math.uio.no
+
+1) The following packages have been removed. Please use the up-to-date,
+ canonical versions of these packages from the listed places:
+
+ timezone support (/usr/lib/zoneinfo, libz.a, zic, zdump):
+ elsie.nci.nih.gov:/pub/tzcode95d.tar.gz
+ elsie.nci.nih.gov:/pub/tzdata95h.tar.gz
+ MAKEDEV-C:
+ sunsite.unc.edu:/pub/Linux/system/Admin/MAKEDEV-C-1.5.tar.gz
+ MAKEDEV:
+ sunsite.unc.edu:/pub/Linux/system/Admin/MAKEDEV-2.2.tar.gz
+ md5sum:
+ prep.ai.mit.edu:/pub/gnu/textutils-1.3.tar.gz
+ [The GNU version is now compatible with the Plumb/Lankester
+ version.]
+ ksymoops:
+ Now bundled with the kernel in linux/scripts.
+
+2) update_state has been removed
+3) fdisk now supports NetBSD disklabels courtesy of Bernhard Fastenrath
+ <fasten@athene.informatik.uni-bonn.de> (and > 8GB disks, courtesy of
+ Andries Brouwer)
+4) mount improved -- many patches from Andries Brouwer for greatly improved
+ error reporting
+5) ddate, chkdupexe, and other programs have been improved and bug fixed
+6) util-linux is now a source-only distribution
+7) mcookie generates better random numbers and will use /dev/random or
+ /dev/audio if available
+8) chfn, chsh, passwd, and vipw have been updated with security patches
+ from Zefram <A.Main@dcs.warwick.ac.uk>. Now, they all use the same
+ locking, and several security holes have been patched. Further, chsh
+ and chfn can be configured at compile time to require a password before
+ updates and chsh can be configured to only use shells from /etc/shells.
+
+
+HIGHLIGHTS for version 2.4 (2.3 was never released):
+0) Michael K. Johnson <johnsonm@nigel.vnet.net> is the interim maintainer
+ while Rik Faith is working on PhD work.
+1) login now makes the login tty mode 600 and places it in group "tty"
+2) wall, and write will not write dangerous escape sequences
+3) wall and write can be run setgid "tty". If util-linux is compiled for
+ this option, "mesg y" will only set group write instead of group/other
+ write.
+4) fdisk and cfdisk have been patched with the latest llseek.c. Although I
+ had a lot of bug reports about fdisk from util-linux-2.2, I was unable
+ to reproduce any of the problems. Some of the problems appeared to be
+ releated to a failure to reboot the machine after changing the partition
+ table, and some may have been due to a specific kernel revision problem.
+ However, this doesn't seem to account for all of the bug reports -- if
+ this version gives you problem, please send as complete a bug report as
+ possible.
+5) chkdupexe from Nicolai Langfeldt (janl@ifi.uio.no)
+6) ctrlaltdel now installs into /sbin instead of /usr/sbin
+7) mkfs replacement from Ron Sommeling (sommel@sci.kun.nl)
+8) lpcntl removed. Use tunelp instead.
+9) ksymoops from Greg McGary <gkm@magilla.cichlid.com>
+10) mkfs.minix now clears the first 512 bytes of the file system so that
+ Minix disks won't be confused with MSDOS disks (Daniel Quinlan
+ (quinlan@yggdrasil.com))
+11) mkswap should now work on an Alpha running Linux
+12) frag removed. See
+ sunsite.unc.edu:/pub/Linux/system/Filesystems/defrag-0.6.tar.gz for the
+ latest version.
+13) mount patches from Andries.Brouwer@cwi.nl and Dan Quinlan
+ (quinlan@yggdrasil.com).
+14) MAKEDEV and MAKEDEV-C updated to the latest versions.
+15) Paths updated for FSSTND 1.2. This means that you may need to make
+ some links. The links you need to make we system dependent. The
+ ultimate goal is to rename /var/adm to /var/log and have a symbolic
+ link from /var/adm to /var/log during the transition period. If you
+ are running an ELF system, you probably won't have to do anything. The
+ bottom line is that the following files must exist or be pointers to
+ the old version (used internally by the a.out libraries):
+
+ New Old
+
+ /var/log/wtmp /var/adm/wtmp
+ /var/log/lastlog /var/adm/lastlog
+ /var/run/utmp /var/adm/utmp
+
+HIGHLIGHTS for version 2.2:
+1) This is primarily a quick bug-fix release for version 2.1
+2) mkfs wrapper added back in, since e2fsprogs only supplies an fsck wrapper
+3) selection removed, since someone appears to be maintaining it now. See
+ sunsite.unc.edu:/pub/linux/kernel/patches/console for recent sources.
+ For the time being, I'm keeping a copy in the historic subdirectory of
+ util-linux. A "make install" should work find from within that
+ directory.
+4) Note that other floppy utilities are available from:
+ ftp.imag.fr:pub/Linux/ZLIBC/fdutils/fdutils-4.1.src.tar.gz
+ sunsite.unc.edu:/pub/Linux/system/Misc/fdutils-4.1.src.tar.gz
+ tsx-11.mit.edu:/pub/linux/sources/sbin/fdutils-4.1.src.tar.gz
+
+
+HIGHLIGHTS for version 2.1:
+
+1) Directory structure rearrange, with configuration support for those who
+ use shadow passwords and System V init (no support is provided for these
+ things, but your utilities won't get overwritten if you do a "make
+ install" after you properly edit MCONFIG).
+2) fdisk and cfdisk should work as expected with 2GB+ disk drives
+3) As usual, lots of stuff was updated and added, including mount, vipw,
+ readprofile
+4) Some stuff was also deleted, and can now be found elsewhere:
+ fsck wrapper: tsx-11.mit.edu:/pub/linux/ALPHA/ext2fs/e2fsprogs*
+ pwd, su: prep.ai.mit.edu:/pub/gnu/sh-utils*
+ ed: prep.ai.mit.edu:/pub/gnu/ed*
+ od: prep.ai.mit.edu:/pub/gnu/textutils*
+ uudecode/uuencode: prep.ai.mit.edu:/pub/gnu/sharutils*
+ bdflush/update: ftp.funet.fi:/pub/OS/Linux/PEOPLE/Linus/v1.1/bdflush*
+
+
+
+PARTIAL HISTORY OF UTIL-LINUX:
+
+bsd:
+ Nothing in this directory gets installed, but some BSD programs need
+ this support:
+ err.c: 8.1 (Berkeley) 6/4/93
+ err.h: 8.1 (Berkeley) 6/2/93
+ getopt.c: 4.13 (Berkeley) 2/23/91
+ pathnames.h: 5.3 (Berkeley) 5/9/89 with extensive modifications for
+ Linux
+
+disk-utils:
+ cfdisk: 0.8 BETA (>2GB) from Kevin E. Martin (martin@cs.unc.edu) with
+ modifications for disks > 2GB.
+ ftp.cs.unc.edu:/pub/users/martin/linux/cfdisk-0.8.tar.gz
+ fdformat: Werner Almesberger (almesber@nessie.cs.id.ethz.ch), with
+ modifications by Marcel Mol (marcel@dutecad.et.tudelft.nl)).
+ Later, updated with a September 1992 version by Werner.
+ fdisk: A. V. Le Blanc (LeBlanc@mcc.ac.uk) fdisk 1.5 release, with
+ patched from Kevin Martin for DOS and OS/2 compatibility (1.5a);
+ Rik Faith (1.5b, 2.0).
+ fsck.minix, mkfs.minix: Linus Torvalds, with modifications by: Rik
+ Faith (faith@cs.unc.edu), Scott Heavner
+ (sdh@po.cwru.edu), Dr. Wettstein
+ (greg%wind.uucp@plains.nodak.edu), Daniel
+ Quinlan (quinlan@yggdrasil.com).
+ mkfs: David Engel (david@ods.com) and Fred N. van Kempen
+ (waltje@uWalt.NL.Mugnet.ORG)
+ Version 1.9 from Ron Sommeling (sommel@sci.kun.nl)
+ mkswap: Linus Torvalds, with modifications by Mike Jagdis
+ (jaggy@purplet.demon.co.uk. )
+ Version for Alpha from
+ cage.cs.arizona.edu:/pub/davidm/linux/mkswap-axp-950503.tar.gz
+ setfdprm: Werner Almesberger (almesber@nessie.cs.id.ethz.ch)
+ Note that more floppy utilities are available from:
+ ftp.imag.fr:pub/Linux/ZLIBC/fdutils/fdutils-4.1.src.tar.gz
+ sunsite.unc.edu:/pub/Linux/system/Misc/fdutils-4.1.src.tar.gz
+ tsx-11.mit.edu:/pub/linux/sources/sbin/fdutils-4.1.src.tar.gz
+ llseek.c: from Remy Card's e2fsprogs-0.5b.tar.gz (21Mar95 version) from:
+ sunsite.unc.edu:/pub/Linux/system/Filesystems/ext2
+
+games:
+ banner: (8.3 (Berkeley) 4/2/94)
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+
+login-utils:
+ agetty: W. Z. Venema, ported by Peter Orbaek <poe@daimi.aau.dk>.
+ ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
+ chfn: Salvatore Valente <svalente@athena.mit.edu>
+ chsh: Salvatore Valente <svalente@athena.mit.edu>
+ last: 5.11 w/year (Berkeley) 6/29/88; Port by Michael Haardt with
+ changes by Peter Orbaek.
+ ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
+ login: 5.40 (Berkeley) 5/9/89; with ports by Michael Glad and Peter Orbaek
+ ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
+ mesg: 8.2 (Berkeley) 1/21/94
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+ newgrp: Michael Haardt, with modifications by Peter Orbaek.
+ ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
+ passwd: Peter Orbaek, with yp modifications by Alvaro Martinez
+ Echevarria (alvaro@enano.etsit.upm.es)
+ ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
+ shutdown: Peter Orbaek, with new modifications by Stephen Tweedie, Rik
+ Faith, and Dave (gentzel@nova.enet.dec.com).
+ ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
+ simpleinit: Peter Orbaek
+ ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
+ vipw: 5.16 (Berkeley) 3/3/91, with modifications by Mike Grupenhoff
+ <kashmir@umiacs.UMD.EDU>
+ wall: 8.2 (Berkeley) 11/16/93 (With changes so that damaging escape
+ sequences cannot be sent.)
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+
+
+misc-utils:
+ cal: 8.4 (Berkeley) 4/2/94, with modifications by Rik Faith and
+ Hein@student.tu-clausthal.de (Jochen Hein).
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+ chkdupexe: Version 1.2 from "Nicolai Langfeldt" <janl@ifi.uio.no>
+ clear: Rik Faith
+ ddate: Druel the Chaotic aka Jeremy Johnson aka mpython@gnu.ai.mit.edu,
+ with modifications by Lee Harvey Oswald Smith, K.S.C. and
+ substantial updates from Rev. Bro. Lee H:. O:. Smith, KYTP
+ domainname: Peter Orbaek
+ ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
+ dsplit: David Arnstein (arnstein@netcom.com)
+ gatekeeper.dec.com:/pub/usenet/comp.sources.misc/volume40/dsplit
+ getopt (getoptprog): jhunix.hcf.jhu.edu:
+ /pub/public_domain_software/NetBSD/usr/src/usr.bin/getopt
+ replaced by getopt-1.0.3.tar.gz from Frodo Looijaard,
+ found at http://huizen.dds.nl/~frodol
+ hostid: Mitch DSouza (m.dsouza@mrc-apu.cam.ac.uk)
+ ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz
+ hostname/dnsdomainname: Peter Tobias <tobias@server.et-inf.fho-emden.de>
+ This version (1.6) should also be available soon in:
+ nic.funet.fi:/pub/OS/Linux/PEOPLE/Linus/net-source/base/NetKit-A*
+ kill: BSD version, modified by Salvatore Valente <svalente@mit.edu>
+ logger: 8.1 (Berkeley) 6/6/93, with modifications by Rik Faith
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+ look.c: 8.1 (Berkeley) 6/14/93, with modifications by Rik Faith
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+ mcookie: Rik Faith (faith@cs.unc.edu)
+ md5sum: Branki Lankester and Colin Plumb. The MD5 message-digest
+ algorithm is in the Public Domain. This implementation
+ calculates message-digest information only, and can NOT be used
+ for encryption. Therefore it is exportable from the USA.
+ Original sources in the MIT version of PGP 2.6.2.
+ namei: Roger S. Southwick, with modifications by Steve Tell.
+ reset: Rik Faith
+ script: 5.13 (Berkeley) 3/5/91, with modifications by Rick Sladkey
+ (jrs@world.std.com), Harald Koenig
+ (koenig@nova.tat.physik.uni-tuebingen.de).
+ setterm: Gordon Irlam (gordoni@cs.ua.oz.au), with modifications by
+ Peter MacDonald, Mika Liljeberg (liljeber@cs.Helsinki.FI),
+ John Walder (j-walder@uiuc.edu) [for dosemu].
+ tsort: 5.3 (Berkeley) 6/1/90
+ wuarchive.wustl.edu:/mirrors/4.3-reno
+ whereis: 5.5 (Berkeley) 4/18/91
+ wuarchive.wustl.edu:/mirrors/4.3-reno
+ write: 8.1 (Berkeley) 6/6/93, with modifications by Mike Grupenhoff
+ (kashmir@umiacs.umd.edu). With changes so that damaging escape
+ sequences cannot be sent.
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+
+
+mount:
+ mount, umount, swapon
+
+ Rick Sladkey put together the mount-0.99.6.tar.Z package, and Stephen
+ Tweedie provided updates. The utilities were originally from that
+ package (all appear to be by Doug Quale (quale@saavik.cs.wisc.edu),
+ with modifications by H. J. Lu (hlu@eecs.wsu.edu) on 11/25/92; Rick
+ Sladkey (jrs@world.std.com) in January 1993; and Stephen Tweedie
+ <sct@dcs.ed.ac.uk> on 8 October 1993. This distribution mount now
+ supports NFS stuff. I have modified the man pages. I have also added
+ a small patch from Hamish Glen Coleman (t933093@minyos.xx.rmit.OZ.AU)
+ which restores the -o semantics.
+
+ Updated with Rick Sladkey's mount-0.99.14.tar.gz package, and with
+ extra patches from Rick. Adam J. Richter allowed -t option to be
+ optional. Patrick J. Volkerding (volkerdi@mhd1.moorhead.msus.edu) and
+ Mitchum DSouza both provided patches that fixed the (null) problem when
+ not using -t. Mitchum DSouza
+ (mitch@mrc-applied-psychology.cambridge.ac.uk) added support for loop
+ device mounts. Sebastian Lederer
+ (lederer@next-pc.informatik.uni-bonn.de) added support for sending an
+ unmount RPC call to the server when an NFS-filesystem is unmounted.
+ Sander van Malssen (svm@kozmix.hacktic.nl) added support for remounting
+ readonly file systems readonly. Mike Grupenhoff
+ <kashmir@umiacs.UMD.EDU> added a probe of the superblock for the type
+ before /proc/filesystems is checked. Andries.Brouwer@cwi.nl fixed up
+ error reporting.
+
+ Updated with patches from Andries.Brouwer@cwi.nl and Dan Quinlan
+ (quinlan@yggdrasil.com). And more patches from Andries and others.
+
+historic/selection: The complete selection-1.5 package, by Andrew Haylett
+ <ajh@gec-mrc.co.uk>, 17th June 1993, is included in the historic tree.
+ Kernel patches are no longer necessary for modern kernels, but these
+ were tiny so I left them in for historical reasons. The Makefile was
+ modified for this distribution. With changes from Rick Sladkey.
+
+sys-utils:
+ arch: Rik Faith <faith@cs.unc.edu>
+ chroot: Rick Sladkey <jrs@world.std.com>
+ clock: Originally from the timesrc-1.2.tar.Z package, Charles Hedrick,
+ hedrick@cs.rutgers.edu (V1.0); Rob Hooft, hooft@chem.ruu.nl
+ (V1.1); Harald Koenig (koenig@nova.tat.physik.uni-tuebingen.de)
+ (V1.2). With additional changes: Hamish Coleman
+ (hamish@zot.apana.org.au) (V1.2a); Alan Modra
+ (alan@spri.levels.unisa.edu.au (V1.3, V1.4).
+ ctrlaltdel: Peter Orbaek <poe@daimi.aau.dk>
+ ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz
+ cytune: Nick Simicish (njs@scifi.emi.net) and Rik Faith (faith@cs.unc.edu)
+ dmesg: Theodore Ts'o (tytso@athena.mit.edu); Rick Sladkey
+ (jrs@world.std.com)
+ ipcrm: From the ipcdelta.tar.z distribution by krishna
+ balasub@cis.ohio-state.edu on 3/15/93. ipc.info and ipc.texi
+ are also from that distribution.
+ ipcs: Also from the ipcdelta.tar.z distribution by krishna
+ balasub@cis.ohio-state.edu, with patches from Mike Jagdis
+ (jaggy@purplet.demon.co.uk)
+ kbdrate: Rik Faith (faith@cs.unc.edu), with patches from
+ Andries.Brouwer@cwi.nl and John Bowman
+ (bowman@hagar.ph.utexas.edu)
+ ksymoops: 1.7 from Greg McGary <gkm@magilla.cichlid.com>
+ rdev: almesber@nessie.cs.id.ethz.ch (Werner Almesberger), with
+ modifications from Peter MacDonald, Stephen Tweedie
+ (sct@dcs.ed.ac.uk), and Dave (gentzel@nova.enet.dec.com)
+ readprofile: Alessandro Rubini from readprofile-2.0.tar.gz
+ renice: 8.1 (Berkeley) 6/9/93
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+ setserial: Michael K. Johnson (johnsonm@stolaf.edu) re-released Rick
+ Sladkey's setserial in January 1993, with changes by
+ Theodore Ts'o (tytso@mit.edu). I think that Theodore also
+ did extensive changes for version 2.01, I can't find any
+ notes about this in the documentation. However, Theodore
+ Ts'o (tytso@ATHENA.MIT.EDU) released version 2.10, and that
+ is now included.
+ setsid: Rick Sladkey <jrs@world.std.com>
+ sln: Mike Parker and David MacKenzie (from Linux's libc)
+ sync: Nick Holloway, with thanks to James Bonfield
+ tunelp: Michael K. Johnson (johnsonm@nigel.vnet.net)
+
+
+syslogd:
+ 5.45 (Berkeley) 3/2/91
+
+ Most of the changes for syslogd come from Rick Sladkey
+ (jrs@world.std.com), but I'd like to thank other people who sent in
+ changes (which usually got forwarded to Rick): Carsten Paeth
+ (calle@calle.in-berlin.de) and Kaz Sasayama (kaz@lilia.iijnet.or.jp).
+
+text-utils:
+ col: 5.3 (Berkeley) 2/2/91; with patches from Andries.Brouwer@cwi.nl
+ and Carl Christofferson (cchris@connected.com)
+ wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin}
+ colcrt: 8.1 (Berkeley) 6/6/93 (Bill Joy)
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+ colrm: 5.4 (Berkeley) 6/1/90 (Jeff Schriebman)
+ column: 8.3 (Berkeley) 4/2/94
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+ hexdump: 5.5 (Berkeley) 6/1/90
+ wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin}
+ more: 5.19 (Berkeley) 6/29/88 (Eric Shienbrood, Geoff Peck, John Foderaro)
+ rev: 5.2 (Berkeley) 3/21/92; with modifications by Charles Hannum
+ (mycroft@gnu.ai.mit.edu), Brian Koehmstedt (bpk@gnu.ai.mit.edu),
+ bjdouma@xs4all.nl
+ wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin}
+ strings: 5.10 (Berkeley) 5/23/91; with patches from Vitor Duarte
+ <vad@fct.unl.pt>
+ wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin}
+ ul: 8.1 (Berkeley) 6/6/93
+ ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin
+
diff --git a/README b/README
new file mode 100644
index 0000000..6dc5199
--- /dev/null
+++ b/README
@@ -0,0 +1,47 @@
+
+ util-linux
+
+ util-linux is a random collection of Linux utilities
+
+ Note that in years 2006-2010 this project used the name "util-linux-ng".
+
+MAILING LIST:
+
+ E-MAIL: util-linux@vger.kernel.org
+ URL: http://vger.kernel.org/vger-lists.html#util-linux
+
+
+DOWNLOAD:
+
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux/
+
+
+SOURCE CODE:
+
+ Web interface:
+ http://git.kernel.org/?p=utils/util-linux/util-linux.git
+ https://github.com/karelzak/util-linux
+ Checkout:
+ git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git util-linux
+
+
+NLS (PO TRANSLATIONS):
+
+ PO files are maintained by:
+ http://translationproject.org/domain/util-linux.html
+
+
+VERSION SCHEMA:
+
+ Standard releases:
+
+ <major>.<minor>[.<maint>[.<bugfix>]]
+
+ major = fatal and deep changes
+ minor = typical release with new features
+ maint = maintenance releases; bug fixes only
+ bugfix = unplanned releases for critical/security bugs
+
+ Development releases:
+
+ <major>.<minor>-rc<N>
diff --git a/README.licensing b/README.licensing
new file mode 100644
index 0000000..b29883c
--- /dev/null
+++ b/README.licensing
@@ -0,0 +1,22 @@
+
+The project util-linux doesn't use the same license for all of the code.
+There is code under:
+
+ * GPLv3+ (GNU General Public License version 3, or any later version)
+
+ * GPLv2+ (GNU General Public License version 2, or any later version)
+
+ * GPLv2 (GNU General Public License version 2)
+
+ * LGPLv2+ (GNU Lesser General Public License v2 (or 2.1) or any later version)
+
+ * BSD with advertising
+
+ * Public Domain
+
+Please, check the source code for more details. A license is usually at the start
+of each source file.
+
+The /COPYING file (GPLv2+) is the default license for code without an explicitly
+defined license.
+
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..129cf8c
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,1205 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 16
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_PROG_CC_C_O
+# --------------
+# Like AC_PROG_CC_C_O, but changed for automake.
+AC_DEFUN([AM_PROG_CC_C_O],
+[AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+dnl Make sure AC_PROG_CC is never called again, or it will override our
+dnl setting of CC.
+m4_define([AC_PROG_CC],
+ [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/compiler.m4])
+m4_include([m4/gettext.m4])
+m4_include([m4/gtk-doc.m4])
+m4_include([m4/iconv.m4])
+m4_include([m4/lib-ld.m4])
+m4_include([m4/lib-link.m4])
+m4_include([m4/lib-prefix.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/nls.m4])
+m4_include([m4/po.m4])
+m4_include([m4/progtest.m4])
+m4_include([m4/tls.m4])
+m4_include([m4/ul.m4])
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..2bcbda7
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+#
+# Helps generate autoconf/automake stuff, when code is checked out from SCM.
+#
+# Copyright (C) 2006-2010 - Karel Zak <kzak@redhat.com>
+#
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+THEDIR=`pwd`
+cd $srcdir
+DIE=0
+HAS_GTKDOC=1
+
+test -f sys-utils/mount.c || {
+ echo
+ echo "You must run this script in the top-level util-linux directory"
+ echo
+ DIE=1
+}
+
+(autopoint --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have autopoint installed to generate util-linux build system."
+ echo "The autopoint command is part of the GNU gettext package."
+ echo
+ DIE=1
+}
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have autoconf installed to generate util-linux build system."
+ echo
+ DIE=1
+}
+(autoheader --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have autoheader installed to generate util-linux build system."
+ echo "The autoheader command is part of the GNU autoconf package."
+ echo
+ DIE=1
+}
+(libtool --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have libtool-2 installed to generate util-linux build system."
+ echo
+ DIE=1
+}
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have automake installed to generate util-linux build system."
+ echo
+ DIE=1
+}
+
+ltver=$(libtoolize --version | awk '/^libtoolize/ { print $4 }')
+ltver=${ltver:-"none"}
+test ${ltver##2.} = "$ltver" && {
+ echo "You must have libtool version >= 2.x.x, but you have $ltver."
+ DIE=1
+}
+
+if test "$DIE" -eq 1; then
+ exit 1
+fi
+
+echo
+echo "Generate build-system by:"
+echo " autopoint: $(autopoint --version | head -1)"
+echo " aclocal: $(aclocal --version | head -1)"
+echo " autoconf: $(autoconf --version | head -1)"
+echo " autoheader: $(autoheader --version | head -1)"
+echo " automake: $(automake --version | head -1)"
+echo " libtoolize: $(libtoolize --version | head -1)"
+
+rm -rf autom4te.cache
+
+set -e
+po/update-potfiles
+autopoint --force $AP_OPTS
+if ! grep -q datarootdir po/Makefile.in.in; then
+ echo autopoint does not honor dataroot variable, patching.
+ sed -i -e 's/^datadir *=\(.*\)/datarootdir = @datarootdir@\
+datadir = @datadir@/g' po/Makefile.in.in
+fi
+libtoolize --force $LT_OPTS
+aclocal -I m4 $AL_OPTS
+autoconf $AC_OPTS
+autoheader $AH_OPTS
+
+automake --add-missing $AM_OPTS
+
+cd $THEDIR
+
+echo
+echo "Now type '$srcdir/configure' and 'make' to compile."
+echo
+
+
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 0000000..d5fb010
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,626 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+#undef ENABLE_NLS
+
+/* search path for fs helpers */
+#undef FS_SEARCH_PATH
+
+/* Define to 1 if you have the <asm/io.h> header file. */
+#undef HAVE_ASM_IO_H
+
+/* Define to 1 if the system has the type `cpu_set_t'. */
+#undef HAVE_CPU_SET_T
+
+/* Define to 1 if you have the <crypt.h> header file. */
+#undef HAVE_CRYPT_H
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+#undef HAVE_DCGETTEXT
+
+/* Define to 1 if you have the declaration of `ADDR_COMPAT_LAYOUT', and to 0
+ if you don't. */
+#undef HAVE_DECL_ADDR_COMPAT_LAYOUT
+
+/* Define to 1 if you have the declaration of `ADDR_LIMIT_32BIT', and to 0 if
+ you don't. */
+#undef HAVE_DECL_ADDR_LIMIT_32BIT
+
+/* Define to 1 if you have the declaration of `ADDR_LIMIT_3GB', and to 0 if
+ you don't. */
+#undef HAVE_DECL_ADDR_LIMIT_3GB
+
+/* Define to 1 if you have the declaration of `ADDR_NO_RANDOMIZE', and to 0 if
+ you don't. */
+#undef HAVE_DECL_ADDR_NO_RANDOMIZE
+
+/* Define to 1 if you have the declaration of `CPU_ALLOC', and to 0 if you
+ don't. */
+#undef HAVE_DECL_CPU_ALLOC
+
+/* Define to 1 if you have the declaration of `dirfd', and to 0 if you don't.
+ */
+#undef HAVE_DECL_DIRFD
+
+/* Define to 1 if you have the declaration of `FDPIC_FUNCPTRS', and to 0 if
+ you don't. */
+#undef HAVE_DECL_FDPIC_FUNCPTRS
+
+/* Define to 1 if you have the declaration of `MMAP_PAGE_ZERO', and to 0 if
+ you don't. */
+#undef HAVE_DECL_MMAP_PAGE_ZERO
+
+/* Define to 1 if you have the declaration of `READ_IMPLIES_EXEC', and to 0 if
+ you don't. */
+#undef HAVE_DECL_READ_IMPLIES_EXEC
+
+/* Define to 1 if you have the declaration of `STICKY_TIMEOUTS', and to 0 if
+ you don't. */
+#undef HAVE_DECL_STICKY_TIMEOUTS
+
+/* Define to 1 if you have the declaration of `UNAME26', and to 0 if you
+ don't. */
+#undef HAVE_DECL_UNAME26
+
+/* Define to 1 if you have the declaration of `WHOLE_SECONDS', and to 0 if you
+ don't. */
+#undef HAVE_DECL_WHOLE_SECONDS
+
+/* Define to 1 if you have the declaration of `_NL_TIME_WEEK_1STDAY', and to 0
+ if you don't. */
+#undef HAVE_DECL__NL_TIME_WEEK_1STDAY
+
+/* Define to 1 if you have the `dirfd' function. */
+#undef HAVE_DIRFD
+
+/* Define to 1 if `dd_fd' is a member of `DIR'. */
+#undef HAVE_DIR_DD_FD
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if have **environ prototype */
+#undef HAVE_ENVIRON_DECL
+
+/* Define to 1 if you have the `err' function. */
+#undef HAVE_ERR
+
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
+
+/* Define to 1 if you have the `errx' function. */
+#undef HAVE_ERRX
+
+/* Define to 1 if you have the <err.h> header file. */
+#undef HAVE_ERR_H
+
+/* Have valid fallocate() function */
+#undef HAVE_FALLOCATE
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+#undef HAVE_FSEEKO
+
+/* Define to 1 if you have the `fstatat' function. */
+#undef HAVE_FSTATAT
+
+/* Define to 1 if you have the `fsync' function. */
+#undef HAVE_FSYNC
+
+/* Define to 1 if you have the `futimens' function. */
+#undef HAVE_FUTIMENS
+
+/* Define to 1 if you have the `getdomainname' function. */
+#undef HAVE_GETDOMAINNAME
+
+/* Define to 1 if you have the `getdtablesize' function. */
+#undef HAVE_GETDTABLESIZE
+
+/* Define to 1 if you have the `getexecname' function. */
+#undef HAVE_GETEXECNAME
+
+/* Define to 1 if you have the `getmntinfo' function. */
+#undef HAVE_GETMNTINFO
+
+/* Define to 1 if you have the <getopt.h> header file. */
+#undef HAVE_GETOPT_H
+
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define if you have the iconv() function. */
+#undef HAVE_ICONV
+
+/* Define to 1 if you have the `inotify_init' function. */
+#undef HAVE_INOTIFY_INIT
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `ioperm' function. */
+#undef HAVE_IOPERM
+
+/* Define to 1 if you have the `iopl' function. */
+#undef HAVE_IOPL
+
+/* Define to 1 if you have the `jrand48' function. */
+#undef HAVE_JRAND48
+
+/* Define to 1 if you have the <langinfo.h> header file. */
+#undef HAVE_LANGINFO_H
+
+/* Define to 1 if you have the `lchown' function. */
+#undef HAVE_LCHOWN
+
+/* Define to 1 if you have the `audit' library (-laudit). */
+#undef HAVE_LIBAUDIT
+
+/* Define to 1 if you have the -lblkid. */
+#undef HAVE_LIBBLKID
+
+/* Do we need -lcrypt? */
+#undef HAVE_LIBCRYPT
+
+/* Define to 1 if you have the `ncurses' library (-lncurses). */
+#undef HAVE_LIBNCURSES
+
+/* Define to 1 if you have the `ncursesw' library (-lncursesw). */
+#undef HAVE_LIBNCURSESW
+
+/* Define to 1 if you have the `selinux' library (-lselinux). */
+#undef HAVE_LIBSELINUX
+
+/* Define to 1 if you have the `termcap' library (-ltermcap). */
+#undef HAVE_LIBTERMCAP
+
+/* Define to 1 if you have the `udev' library (-ludev). */
+#undef HAVE_LIBUDEV
+
+/* Define to 1 if you have the `utempter' library (-lutempter). */
+#undef HAVE_LIBUTEMPTER
+
+/* Define to 1 if you have the `util' library (-lutil). */
+#undef HAVE_LIBUTIL
+
+/* Define to 1 if you have the -luuid. */
+#undef HAVE_LIBUUID
+
+/* Define to 1 if you have the <linux/blkpg.h> header file. */
+#undef HAVE_LINUX_BLKPG_H
+
+/* Define to 1 if you have the <linux/cdrom.h> header file. */
+#undef HAVE_LINUX_CDROM_H
+
+/* Define to 1 if you have the <linux/compiler.h> header file. */
+#undef HAVE_LINUX_COMPILER_H
+
+/* Define to 1 if you have the <linux/falloc.h> header file. */
+#undef HAVE_LINUX_FALLOC_H
+
+/* Define to 1 if you have the <linux/fd.h> header file. */
+#undef HAVE_LINUX_FD_H
+
+/* Define to 1 if you have the <linux/major.h> header file. */
+#undef HAVE_LINUX_MAJOR_H
+
+/* Define to 1 if you have the <linux/raw.h> header file. */
+#undef HAVE_LINUX_RAW_H
+
+/* Define to 1 if you have the <linux/tiocl.h> header file. */
+#undef HAVE_LINUX_TIOCL_H
+
+/* Define to 1 if you have the <linux/version.h> header file. */
+#undef HAVE_LINUX_VERSION_H
+
+/* Define to 1 if you have the <linux/watchdog.h> header file. */
+#undef HAVE_LINUX_WATCHDOG_H
+
+/* Define to 1 if you have the `llseek' function. */
+#undef HAVE_LLSEEK
+
+/* Define to 1 if have llseek prototype */
+#undef HAVE_LLSEEK_PROTOTYPE
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if the system has the type `loff_t'. */
+#undef HAVE_LOFF_T
+
+/* Define to 1 if you have the `lseek64' function. */
+#undef HAVE_LSEEK64
+
+/* Define to 1 if have lseek64 prototype */
+#undef HAVE_LSEEK64_PROTOTYPE
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <mntent.h> header file. */
+#undef HAVE_MNTENT_H
+
+/* Define to 1 if you have the `nanosleep' function. */
+#undef HAVE_NANOSLEEP
+
+/* Define to 1 if you have the <ncursesw/ncurses.h> header file. */
+#undef HAVE_NCURSESW_NCURSES_H
+
+/* Define to 1 if you have the <ncurses.h> header file. */
+#undef HAVE_NCURSES_H
+
+/* Define to 1 if you have the <ncurses/ncurses.h> header file. */
+#undef HAVE_NCURSES_NCURSES_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the <net/if_dl.h> header file. */
+#undef HAVE_NET_IF_DL_H
+
+/* Define to 1 if you have the <net/if.h> header file. */
+#undef HAVE_NET_IF_H
+
+/* Define to 1 if you have the `openat' function. */
+#undef HAVE_OPENAT
+
+/* Define to 1 if you have the <paths.h> header file. */
+#undef HAVE_PATHS_H
+
+/* Define to 1 if you have the `personality' function. */
+#undef HAVE_PERSONALITY
+
+/* Define to 1 if you have the `posix_fadvise' function. */
+#undef HAVE_POSIX_FADVISE
+
+/* Define to 1 if you have the `prctl' function. */
+#undef HAVE_PRCTL
+
+/* Define to 1 if you have the `prlimit' function. */
+#undef HAVE_PRLIMIT
+
+/* Define if program_invocation_short_name is defined */
+#undef HAVE_PROGRAM_INVOCATION_SHORT_NAME
+
+/* Define to 1 if you have the <pty.h> header file. */
+#undef HAVE_PTY_H
+
+/* Define to 1 if you have the `rpmatch' function. */
+#undef HAVE_RPMATCH
+
+/* Define if struct sockaddr contains sa_len */
+#undef HAVE_SA_LEN
+
+/* Define to 1 if you have the `scandirat' function. */
+#undef HAVE_SCANDIRAT
+
+/* scanf %as modifier */
+#undef HAVE_SCANF_AS_MODIFIER
+
+/* scanf %ms modifier */
+#undef HAVE_SCANF_MS_MODIFIER
+
+/* Define to 1 if you have the `security_get_initial_context' function. */
+#undef HAVE_SECURITY_GET_INITIAL_CONTEXT
+
+/* Define to 1 if you have the <security/pam_misc.h> header file. */
+#undef HAVE_SECURITY_PAM_MISC_H
+
+/* Define to 1 if you have the `setresgid' function. */
+#undef HAVE_SETRESGID
+
+/* Define to 1 if you have the `setresuid' function. */
+#undef HAVE_SETRESUID
+
+/* Define to 1 if you have the `sigqueue' function. */
+#undef HAVE_SIGQUEUE
+
+/* Define to 1 if you have the <slang.h> header file. */
+#undef HAVE_SLANG_H
+
+/* Define to 1 if you have the <slang/slang.h> header file. */
+#undef HAVE_SLANG_SLANG_H
+
+/* Define to 1 if you have the <slang/slcurses.h> header file. */
+#undef HAVE_SLANG_SLCURSES_H
+
+/* Define to 1 if you have the <slcurses.h> header file. */
+#undef HAVE_SLCURSES_H
+
+/* Define to 1 if you have the `srandom' function. */
+#undef HAVE_SRANDOM
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdio_ext.h> header file. */
+#undef HAVE_STDIO_EXT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strnchr' function. */
+#undef HAVE_STRNCHR
+
+/* Define to 1 if you have the `strndup' function. */
+#undef HAVE_STRNDUP
+
+/* Define to 1 if you have the `strnlen' function. */
+#undef HAVE_STRNLEN
+
+/* Define to 1 if have strsignal function prototype */
+#undef HAVE_STRSIGNAL_DECL
+
+/* Define to 1 if you have the `strtoull' function. */
+#undef HAVE_STRTOULL
+
+/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
+
+/* Define to 1 if `c_line' is a member of `struct termios'. */
+#undef HAVE_STRUCT_TERMIOS_C_LINE
+
+/* Define to 1 if you have the `sysconf' function. */
+#undef HAVE_SYSCONF
+
+/* Define to 1 if you have the <sys/disklabel.h> header file. */
+#undef HAVE_SYS_DISKLABEL_H
+
+/* Define to 1 if you have the <sys/disk.h> header file. */
+#undef HAVE_SYS_DISK_H
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#undef HAVE_SYS_FILE_H
+
+/* Define to 1 if you have the <sys/ioccom.h> header file. */
+#undef HAVE_SYS_IOCCOM_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/io.h> header file. */
+#undef HAVE_SYS_IO_H
+
+/* Define to 1 if you have the <sys/mkdev.h> header file. */
+#undef HAVE_SYS_MKDEV_H
+
+/* Define to 1 if you have the <sys/prctl.h> header file. */
+#undef HAVE_SYS_PRCTL_H
+
+/* Define to 1 if you have the <sys/queue.h> header file. */
+#undef HAVE_SYS_QUEUE_H
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/sockio.h> header file. */
+#undef HAVE_SYS_SOCKIO_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/swap.h> header file. */
+#undef HAVE_SYS_SWAP_H
+
+/* Define to 1 if you have the <sys/syscall.h> header file. */
+#undef HAVE_SYS_SYSCALL_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/un.h> header file. */
+#undef HAVE_SYS_UN_H
+
+/* Define to 1 if the target supports thread-local storage. */
+#undef HAVE_TLS
+
+/* Does struct tm have a field tm_gmtoff? */
+#undef HAVE_TM_GMTOFF
+
+/* Define to 1 if the system has the type `union semun'. */
+#undef HAVE_UNION_SEMUN
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `unlinkat' function. */
+#undef HAVE_UNLINKAT
+
+/* Define to 1 if you have the `unshare' function. */
+#undef HAVE_UNSHARE
+
+/* Define to 1 if you have the `updwtmp' function. */
+#undef HAVE_UPDWTMP
+
+/* Define to 1 if you have the `usleep' function. */
+#undef HAVE_USLEEP
+
+/* Define to 1 if you want to use uuid daemon. */
+#undef HAVE_UUIDD
+
+/* Define to 1 if you have the `warn' function. */
+#undef HAVE_WARN
+
+/* Define to 1 if you have the `warnx' function. */
+#undef HAVE_WARNX
+
+/* Do we have wide character support? */
+#undef HAVE_WIDECHAR
+
+/* Define to 1 if you have the `__fpending' function. */
+#undef HAVE___FPENDING
+
+/* Define if __progname is defined */
+#undef HAVE___PROGNAME
+
+/* Define to 1 if you have the `__secure_getenv' function. */
+#undef HAVE___SECURE_GETENV
+
+/* libblkid date string */
+#undef LIBBLKID_DATE
+
+/* libblkid version string */
+#undef LIBBLKID_VERSION
+
+/* libmount version string */
+#undef LIBMOUNT_VERSION
+
+/* Should login chown /dev/vcsN? */
+#undef LOGIN_CHOWN_VCS
+
+/* Should login stat() the mailbox? */
+#undef LOGIN_STAT_MAIL
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Should chsh allow only shells in /etc/shells? */
+#undef ONLY_LISTED_SHELLS
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Should pg ring the bell on invalid keys? */
+#undef PG_BELL
+
+/* Should chfn and chsh require the user to enter the password? */
+#undef REQUIRE_PASSWORD
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Is swapon() declared with two parameters? */
+#undef SWAPON_HAS_TWO_ARGS
+
+/* Fallback syscall number for fallocate */
+#undef SYS_fallocate
+
+/* Fallback syscall number for ioprio_get */
+#undef SYS_ioprio_get
+
+/* Fallback syscall number for ioprio_set */
+#undef SYS_ioprio_set
+
+/* Fallback syscall number for pivot_root */
+#undef SYS_pivot_root
+
+/* Fallback syscall number for prlimit64 */
+#undef SYS_prlimit64
+
+/* Fallback syscall number for sched_getaffinity */
+#undef SYS_sched_getaffinity
+
+/* Fallback syscall number for unshare */
+#undef SYS_unshare
+
+/* Should uuidd support socket activation? */
+#undef USE_SOCKET_ACTIVATION
+
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Should wall and write be installed setgid tty? */
+#undef USE_TTY_GROUP
+
+/* Version number of package */
+#undef VERSION
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
+#undef _LARGEFILE_SOURCE
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to empty if the keyword `volatile' does not work. Warning: valid
+ code using `volatile' can become incorrect without. Disable with care. */
+#undef volatile
diff --git a/config/compile b/config/compile
new file mode 100755
index 0000000..c0096a7
--- /dev/null
+++ b/config/compile
@@ -0,0 +1,143 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand `-c -o'.
+
+scriptversion=2009-10-06.20; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
+# Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand `-c -o'.
+Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file `INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+esac
+
+ofile=
+cfile=
+eat=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as `compile cc -o foo foo.c'.
+ # So we strip `-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no `-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # `.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config/config.guess b/config/config.guess
new file mode 100755
index 0000000..dc84c68
--- /dev/null
+++ b/config/config.guess
@@ -0,0 +1,1501 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-11-20'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner. Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ i386)
+ eval $set_cc_for_build
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ UNAME_PROCESSOR="x86_64"
+ fi
+ fi ;;
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config/config.rpath b/config/config.rpath
new file mode 100755
index 0000000..4db13e5
--- /dev/null
+++ b/config/config.rpath
@@ -0,0 +1,548 @@
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+# Copyright 1996-2003 Free Software Foundation, Inc.
+# Taken from GNU libtool, 2001
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+#
+# The first argument passed to this file is the canonical host specification,
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+# than 256 bytes, otherwise the compiler driver will dump core. The only
+# known workaround is to choose shorter directory names for the build
+# directory and/or the installation directory.
+
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+ wl='-Wl,'
+else
+ case "$host_os" in
+ aix*)
+ wl='-Wl,'
+ ;;
+ mingw* | pw32* | os2*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ wl='-Wl,'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ wl='-Wl,'
+ ;;
+ newsos6)
+ ;;
+ linux*)
+ case $CC in
+ icc|ecc)
+ wl='-Wl,'
+ ;;
+ ccc)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ osf3* | osf4* | osf5*)
+ wl='-Wl,'
+ ;;
+ sco3.2v5*)
+ ;;
+ solaris*)
+ wl='-Wl,'
+ ;;
+ sunos4*)
+ wl='-Qoption ld '
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ wl='-Wl,'
+ ;;
+ sysv4*MP*)
+ ;;
+ uts4*)
+ ;;
+ esac
+fi
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ case "$host_os" in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can use
+ # them.
+ ld_shlibs=no
+ ;;
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ cygwin* | mingw* | pw32*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ netbsd*)
+ ;;
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ sunos4*)
+ hardcode_direct=yes
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ if test "$ld_shlibs" = yes; then
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ fi
+else
+ case "$host_os" in
+ aix3*)
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ else
+ aix_use_runtimelinking=no
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ esac
+ fi
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct=yes
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ esac
+ fi
+ # Begin _LT_AC_SYS_LIBPATH_AIX.
+ echo 'int main () { return 0; }' > conftest.c
+ ${CC} ${LDFLAGS} conftest.c -o conftest
+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ fi
+ if test -z "$aix_libpath"; then
+ aix_libpath="/usr/lib:/lib"
+ fi
+ rm -f conftest.c conftest
+ # End _LT_AC_SYS_LIBPATH_AIX.
+ if test "$aix_use_runtimelinking" = yes; then
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ fi
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+ bsdi4*)
+ ;;
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ libext=lib
+ ;;
+ darwin* | rhapsody*)
+ if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
+ hardcode_direct=no
+ fi
+ ;;
+ dgux*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+ freebsd2.2*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ freebsd2*)
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ freebsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ hpux10* | hpux11*)
+ if test "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=no
+ ;;
+ ia64*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=no
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+ irix5* | irix6* | nonstopux*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ netbsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ newsos6)
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ openbsd*)
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ osf3*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ osf4* | osf5*)
+ if test "$GCC" = yes; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ # Both cc and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+ sco3.2v5*)
+ ;;
+ solaris*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ sunos4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ sysv4)
+ case $host_vendor in
+ sni)
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ hardcode_direct=no
+ ;;
+ motorola)
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ ;;
+ sysv4.3*)
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ ld_shlibs=yes
+ fi
+ ;;
+ sysv4.2uw2*)
+ hardcode_direct=yes
+ hardcode_minus_L=no
+ ;;
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ ;;
+ sysv5*)
+ hardcode_libdir_flag_spec=
+ ;;
+ uts4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+libname_spec='lib$name'
+case "$host_os" in
+ aix3*)
+ ;;
+ aix4* | aix5*)
+ ;;
+ amigaos*)
+ ;;
+ beos*)
+ ;;
+ bsdi4*)
+ ;;
+ cygwin* | mingw* | pw32*)
+ shrext=.dll
+ ;;
+ darwin* | rhapsody*)
+ shrext=.dylib
+ ;;
+ dgux*)
+ ;;
+ freebsd1*)
+ ;;
+ freebsd*)
+ ;;
+ gnu*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case "$host_cpu" in
+ ia64*)
+ shrext=.so
+ ;;
+ hppa*64*)
+ shrext=.sl
+ ;;
+ *)
+ shrext=.sl
+ ;;
+ esac
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case "$host_os" in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+ *) libsuff= shlibsuff= ;;
+ esac
+ ;;
+ esac
+ ;;
+ linux*oldld* | linux*aout* | linux*coff*)
+ ;;
+ linux*)
+ ;;
+ netbsd*)
+ ;;
+ newsos6)
+ ;;
+ nto-qnx)
+ ;;
+ openbsd*)
+ ;;
+ os2*)
+ libname_spec='$name'
+ shrext=.dll
+ ;;
+ osf3* | osf4* | osf5*)
+ ;;
+ sco3.2v5*)
+ ;;
+ solaris*)
+ ;;
+ sunos4*)
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ ;;
+ sysv4*MP*)
+ ;;
+ uts4*)
+ ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+
+# How to pass a linker flag through the compiler.
+wl="$escaped_wl"
+
+# Static library suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally "so").
+shlibext="$shlibext"
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct="$hardcode_direct"
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L="$hardcode_minus_L"
+
+EOF
diff --git a/config/config.sub b/config/config.sub
new file mode 100755
index 0000000..2a55a50
--- /dev/null
+++ b/config/config.sub
@@ -0,0 +1,1705 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-11-20'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config/depcomp b/config/depcomp
new file mode 100755
index 0000000..df8eea7
--- /dev/null
+++ b/config/depcomp
@@ -0,0 +1,630 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by `PROGRAMS ARGS'.
+ object Object file output by `PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputing dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u="sed s,\\\\\\\\,/,g"
+ depmode=msvisualcpp
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like `#:fec' to the end of the
+ # dependency line.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+ tr '
+' ' ' >> "$depfile"
+ echo >> "$depfile"
+
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts `$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form `foo.o: dependent.h'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+icc)
+ # Intel's C compiler understands `-MD -MF file'. However on
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # ICC 7.0 will fill foo.d with something like
+ # foo.o: sub/foo.c
+ # foo.o: sub/foo.h
+ # which is wrong. We want:
+ # sub/foo.o: sub/foo.c
+ # sub/foo.o: sub/foo.h
+ # sub/foo.c:
+ # sub/foo.h:
+ # ICC 7.1 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using \ :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+ sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in `foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+ if test "$libtool" = yes; then
+ # With Tru64 cc, shared objects can also be used to make a
+ # static library. This mechanism is used in libtool 1.4 series to
+ # handle both shared and static libraries in a single compilation.
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+ #
+ # With libtool 1.5 this exception was removed, and libtool now
+ # generates 2 separate objects for the 2 libraries. These two
+ # compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.o.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ tmpdepfile4=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for `:'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ "$@" $dashmflag |
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E |
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config/gtk-doc.make b/config/gtk-doc.make
new file mode 100644
index 0000000..86566ea
--- /dev/null
+++ b/config/gtk-doc.make
@@ -0,0 +1,245 @@
+#
+# WARNING: this is not gtk-doc.make file from gtk-doc project. This
+# file has been modified to match with util-linux requirements:
+#
+# * install files to $datadir
+# * don't maintain generated files in git repository
+# * don't distribute the final html files
+# * don't require --enable-gtk-doc for "make dist"
+# * support out-of-tree build ($srcdir != $builddir)
+#
+# -- kzak, Nov 2009
+#
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(docdir)/$(DOC_MODULE)
+
+DISTCLEANFILES =
+
+EXTRA_DIST = \
+ $(content_files) \
+ $(HTML_IMAGES) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt
+# $(DOC_MODULE)-overrides.txt
+
+DOC_STAMPS=scan-build.stamp sgml-build.stamp html-build.stamp \
+ $(srcdir)/setup.stamp $(srcdir)/sgml.stamp \
+ $(srcdir)/html.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals \
+ $(DOC_MODULE).types # util-linux: we don't use types
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+all-local: html-build.stamp
+else
+all-local:
+endif
+
+docs: html-build.stamp
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo 'gtk-doc: Preparing build'; \
+ files=`echo $(EXTRA_DIST) $(expand_content_files) $(srcdir)/$(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -p $(abs_srcdir)/$$file $(abs_builddir)/; \
+ done \
+ fi \
+ fi
+ @touch setup-build.stamp
+
+
+setup.stamp: setup-build.stamp
+ @true
+
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) $(srcdir)/$(DOC_MODULE)-*.txt $(content_files)
+
+ @test -f $(DOC_MODULE)-sections.txt || \
+ cp $(srcdir)/$(DOC_MODULE)-sections.txt $(builddir)
+
+ $(AM_V_GEN)gtkdoc-scan --module=$(DOC_MODULE) \
+ --source-dir=$(srcdir)/$(DOC_SOURCE_DIR) \
+ --source-dir=$(builddir)/$(DOC_SOURCE_DIR) \
+ --ignore-headers="$(IGNORE_HFILES)" \
+ --output-dir=$(builddir) \
+ $(SCAN_OPTIONS) $(EXTRA_HFILES)
+
+ @ if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" \
+ CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) \
+ $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) \
+ --module=$(DOC_MODULE) --output-dir=$(builddir) ; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @ touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### templates ####
+#
+#tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(srcdir)/$(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+# @echo 'gtk-doc: Rebuilding template files'
+# test -z $(builddir)/tmpl || $(MKDIR_P) $(builddir)/tmpl
+# gtkdoc-mktmpl --module=$(DOC_MODULE) \
+# $(MKTMPL_OPTIONS)
+# touch tmpl-build.stamp
+#
+#tmpl.stamp: tmpl-build.stamp
+# @true
+#
+#tmpl/*.sgml:
+# @true
+#
+
+#### xml ####
+
+sgml-build.stamp: setup.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(expand_content_files)
+ $(AM_V_GEN)gtkdoc-mkdb --module=$(DOC_MODULE) \
+ --source-dir=$(srcdir)/$(DOC_SOURCE_DIR) \
+ --source-dir=$(builddir)/$(DOC_SOURCE_DIR) \
+ --output-format=xml \
+ --ignore-files="$(IGNORE_HFILES)" \
+ --expand-content-files="$(expand_content_files)" \
+ --main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
+ $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(srcdir)/$(DOC_MAIN_SGML_FILE) $(content_files)
+ @rm -rf $(builddir)/html
+ @$(MKDIR_P) $(builddir)/html
+ $(AM_V_GEN)cd $(builddir)/html && \
+ gtkdoc-mkhtml --path="$(abs_builddir):$(abs_builddir)/xml:$(abs_srcdir)" \
+ $(MKHTML_OPTIONS) \
+ $(DOC_MODULE) \
+ $(abs_srcdir)/$(DOC_MAIN_SGML_FILE)
+
+ @test "x$(HTML_IMAGES)" = "x" || \
+ ( cd $(srcdir) && cp $(HTML_IMAGES) $(abs_builddir)/html )
+
+ $(AM_V_GEN)gtkdoc-fixxref --module-dir=html \
+ --html-dir=$(HTML_DIR) \
+ $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+##############
+
+clean-local:
+ rm -f *~ *.bak
+ rm -rf .libs
+
+distclean-local:
+ rm -rf xml html $(REPORT_FILES) *.stamp \
+ $(DOC_MODULE)-overrides.txt \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ test $(abs_builddir) == $(abs_srcdir) || \
+ rm -f $(DOC_MODULE)-*.txt $(DOC_MODULE)-*.xml *.xml.in
+
+install-data-local:
+ installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo '-- Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo '-- Installing '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
+ fi; \
+ ! which gtkdoc-rebase >/dev/null 2>&1 || \
+ gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \
+ fi
+
+uninstall-local:
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+#dist-hook: dist-check-gtkdoc dist-hook-local sgml.stamp html-build.stamp
+# mkdir $(distdir)/tmpl
+# mkdir $(distdir)/xml
+# mkdir $(distdir)/html
+# -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+# -cp $(srcdir)/xml/*.xml $(distdir)/xml
+# cp $(srcdir)/html/* $(distdir)/html
+# -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
+# -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
+# cd $(distdir) && rm -f $(DISTCLEANFILES)
+# ! which gtkdoc-rebase >/dev/null 2>&1 || \
+# gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
+#
+#.PHONY : dist-hook-local docs
diff --git a/config/install-sh b/config/install-sh
new file mode 100755
index 0000000..6781b98
--- /dev/null
+++ b/config/install-sh
@@ -0,0 +1,520 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2009-04-28.21; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ shift;;
+
+ -T) no_target_directory=true;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dst_arg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst;;
+ esac
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
+ shift
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config/ltmain.sh b/config/ltmain.sh
new file mode 100755
index 0000000..78cf017
--- /dev/null
+++ b/config/ltmain.sh
@@ -0,0 +1,9636 @@
+
+# libtool (GNU libtool) 2.4
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --no-quiet, --no-silent
+# print informational messages (default)
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print more informational messages than default
+# --no-verbose don't print the extra informational messages
+# --version print version information
+# -h, --help, --help-all print short, long, or detailed help message
+#
+# MODE must be one of the following:
+#
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE. When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.4
+# automake: $automake_version
+# autoconf: $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+# General help using GNU software: <http://www.gnu.org/gethelp/>.
+
+PROGRAM=libtool
+PACKAGE=libtool
+VERSION=2.4
+TIMESTAMP=""
+package_revision=1.3293
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# NLS nuisances: We save the old values to restore during execute mode.
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ $lt_var=C
+ export $lt_var
+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ fi"
+done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
+
+$lt_unset CDPATH
+
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+
+
+: ${CP="cp -f"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" $lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+} # func_dirname may be replaced by extended shell implementation
+
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+} # func_basename may be replaced by extended shell implementation
+
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
+} # func_dirname_and_basename may be replaced by extended shell implementation
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname may be replaced by extended shell implementation
+
+
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+ s@/\./@/@g
+ t dotsl
+ s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+# value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test "$func_normal_abspath_tpath" = / ; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result" ; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+# value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=${func_dirname_result}
+ if test "x$func_relative_path_tlibdir" = x ; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test "x$func_stripname_result" != x ; then
+ func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+ fi
+
+ # Normalisation. If bindir is libdir, return empty string,
+ # else relative path ending with a slash; either way, target
+ # file name can be directly appended.
+ if test ! -z "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result/"
+ func_relative_path_result=$func_stripname_result
+ fi
+}
+
+# The name of this program:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=$func_dirname_result
+ progdir=`cd "$progdir" && pwd`
+ progpath="$progdir/$progname"
+ ;;
+ *)
+ save_IFS="$IFS"
+ IFS=:
+ for progdir in $PATH; do
+ IFS="$save_IFS"
+ test -x "$progdir/$progname" && break
+ done
+ IFS="$save_IFS"
+ test -n "$progdir" || progdir=`pwd`
+ progpath="$progdir/$progname"
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+
+# Sed substitution that converts a w32 file name or path
+# which contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+ s/$bs4/&\\
+/g
+ s/^$bs2$dollar/$bs&/
+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+ s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+ $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $opt_verbose && func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+ $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ func_error ${1+"$@"}
+ func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information." ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ my_directory_path="$1"
+ my_dir_list=
+
+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+ # Protect directory names starting with `-'
+ case $my_directory_path in
+ -*) my_directory_path="./$my_directory_path" ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$my_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ my_dir_list="$my_directory_path:$my_dir_list"
+
+ # If the last portion added has no slash in it, the list is done
+ case $my_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+ done
+ my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+ IFS="$save_mkdir_p_IFS"
+ # mkdir can fail with a `File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$my_dir" 2>/dev/null || :
+ done
+ IFS="$save_mkdir_p_IFS"
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$my_directory_path" || \
+ func_fatal_error "Failed to create \`$1'"
+ fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+ my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+ if test "$opt_dry_run" = ":"; then
+ # Return a directory name, but don't create it in dry-run mode
+ my_tmpdir="${my_template}-$$"
+ else
+
+ # If mktemp works, use that first and foremost
+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$my_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$my_tmpdir"
+ umask $save_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$my_tmpdir" || \
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+ fi
+
+ $ECHO "$my_tmpdir"
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+ case $1 in
+ *[\\\`\"\$]*)
+ func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+
+ case $func_quote_for_eval_unquoted_result in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and and variable
+ # expansion for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ ;;
+ *)
+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+ esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ case $1 in
+ *[\\\`\"]*)
+ my_arg=`$ECHO "$1" | $SED \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ my_arg="$1" ;;
+ esac
+
+ case $my_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ my_arg="\"$my_arg\""
+ ;;
+ esac
+
+ func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$my_cmd"
+ my_status=$?
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$lt_user_locale
+ $my_cmd"
+ my_status=$?
+ eval "$lt_safe_locale"
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+# func_tr_sh
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result. All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
+}
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $opt_debug
+
+ $SED -n '/(C)/!b go
+ :more
+ /\./!{
+ N
+ s/\n# / /
+ b more
+ }
+ :go
+ /^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $opt_debug
+
+ $SED -n '/^# Usage:/,/^# *.*--help/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+ echo
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
+}
+
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
+func_help ()
+{
+ $opt_debug
+
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
+ :print
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+ s*\$host*'"$host"'*
+ s*\$SHELL*'"$SHELL"'*
+ s*\$LTCC*'"$LTCC"'*
+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
+ s*\$LD*'"$LD"'*
+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
+ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ p
+ d
+ }
+ /^# .* home page:/b print
+ /^# General help using/b print
+ ' < "$progpath"
+ ret=$?
+ if test -z "$1"; then
+ exit $ret
+ fi
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ $opt_debug
+
+ func_error "missing argument for $1."
+ exit_cmd=exit
+}
+
+
+# func_split_short_opt shortopt
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+func_split_short_opt ()
+{
+ my_sed_short_opt='1s/^\(..\).*$/\1/;q'
+ my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+
+ func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
+ func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
+} # func_split_short_opt may be replaced by extended shell implementation
+
+
+# func_split_long_opt longopt
+# Set func_split_long_opt_name and func_split_long_opt_arg shell
+# variables after splitting LONGOPT at the `=' sign.
+func_split_long_opt ()
+{
+ my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
+ my_sed_long_arg='1s/^--[^=]*=//'
+
+ func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
+ func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
+} # func_split_long_opt may be replaced by extended shell implementation
+
+exit_cmd=:
+
+
+
+
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+nonopt=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "${1}=\$${1}\${2}"
+} # func_append may be replaced by extended shell implementation
+
+# func_append_quoted var value
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+func_append_quoted ()
+{
+ func_quote_for_eval "${2}"
+ eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
+} # func_append_quoted may be replaced by extended shell implementation
+
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "${@}"`
+} # func_arith may be replaced by extended shell implementation
+
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
+} # func_len may be replaced by extended shell implementation
+
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+} # func_lo2o may be replaced by extended shell implementation
+
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+} # func_xform may be replaced by extended shell implementation
+
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_error ${1+"$@"}
+ func_error "See the $PACKAGE documentation for more information."
+ func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+ done
+
+ exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+ echo "host: $host"
+ if test "$build_libtool_libs" = yes; then
+ echo "enable shared libraries"
+ else
+ echo "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+ echo "enable static libraries"
+ else
+ echo "disable static libraries"
+ fi
+
+ exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname="$1"
+
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
+
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
+ fi
+}
+
+
+# Shorthand for --mode=foo, only valid as the first argument
+case $1 in
+clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+esac
+
+
+
+# Option defaults:
+opt_debug=:
+opt_dry_run=false
+opt_config=false
+opt_preserve_dup_deps=false
+opt_features=false
+opt_finish=false
+opt_help=false
+opt_help_all=false
+opt_silent=:
+opt_verbose=:
+opt_silent=false
+opt_verbose=false
+
+
+# Parse options once, thoroughly. This comes as soon as possible in the
+# script to make things like `--version' happen as quickly as we can.
+{
+ # this just eases exit handling
+ while test $# -gt 0; do
+ opt="$1"
+ shift
+ case $opt in
+ --debug|-x) opt_debug='set -x'
+ func_echo "enabling shell trace mode"
+ $opt_debug
+ ;;
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+ --config)
+ opt_config=:
+func_config
+ ;;
+ --dlopen|-dlopen)
+ optarg="$1"
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$optarg"
+ shift
+ ;;
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=:
+ ;;
+ --features)
+ opt_features=:
+func_features
+ ;;
+ --finish)
+ opt_finish=:
+set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ --help)
+ opt_help=:
+ ;;
+ --help-all)
+ opt_help_all=:
+opt_help=': help-all'
+ ;;
+ --mode)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_mode="$optarg"
+case $optarg in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+esac
+ shift
+ ;;
+ --no-silent|--no-quiet)
+ opt_silent=false
+func_append preserve_args " $opt"
+ ;;
+ --no-verbose)
+ opt_verbose=false
+func_append preserve_args " $opt"
+ ;;
+ --silent|--quiet)
+ opt_silent=:
+func_append preserve_args " $opt"
+ opt_verbose=false
+ ;;
+ --verbose|-v)
+ opt_verbose=:
+func_append preserve_args " $opt"
+opt_silent=false
+ ;;
+ --tag)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_tag="$optarg"
+func_append preserve_args " $opt $optarg"
+func_enable_tag "$optarg"
+ shift
+ ;;
+
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+ --version) func_version ;;
+
+ # Separate optargs to long options:
+ --*=*)
+ func_split_long_opt "$opt"
+ set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-n*|-v*)
+ func_split_short_opt "$opt"
+ set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) break ;;
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+ *) set dummy "$opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
+ # Validate options:
+
+ # save first non-option argument
+ if test "$#" -gt 0; then
+ nonopt="$opt"
+ shift
+ fi
+
+ # preserve --debug
+ test "$opt_debug" = : || func_append preserve_args " --debug"
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
+
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$progname --help --mode=$opt_mode' for more information."
+ }
+
+
+ # Bail if the options were screwed
+ $exit_cmd $EXIT_FAILURE
+}
+
+
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case "$lalib_p_line" in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $opt_debug
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $opt_debug
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot. Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+ func_resolve_sysroot_result=$1
+ case $func_resolve_sysroot_result in
+ =*)
+ func_stripname '=' '' "$func_resolve_sysroot_result"
+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+ ;;
+ esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+ case "$lt_sysroot:$1" in
+ ?*:"$lt_sysroot"*)
+ func_stripname "$lt_sysroot" '' "$1"
+ func_replace_sysroot_result="=$func_stripname_result"
+ ;;
+ *)
+ # Including no sysroot.
+ func_replace_sysroot_result=$1
+ ;;
+ esac
+}
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $opt_debug
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case "$@ " in
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with \`--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
+ fi
+
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
+
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+ $opt_debug
+ func_convert_core_file_wine_to_w32_result="$1"
+ if test -n "$1"; then
+ # Unfortunately, winepath does not exit with a non-zero error code, so we
+ # are forced to check the contents of stdout. On the other hand, if the
+ # command is not found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both error code of
+ # zero AND non-empty stdout, which explains the odd construction:
+ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ func_convert_core_file_wine_to_w32_result=
+ fi
+ fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+ $opt_debug
+ # unfortunately, winepath doesn't convert paths, only file names
+ func_convert_core_path_wine_to_w32_result=""
+ if test -n "$1"; then
+ oldIFS=$IFS
+ IFS=:
+ for func_convert_core_path_wine_to_w32_f in $1; do
+ IFS=$oldIFS
+ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+ if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+ if test -z "$func_convert_core_path_wine_to_w32_result"; then
+ func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+ else
+ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+ fi
+ fi
+ done
+ IFS=$oldIFS
+ fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+ $opt_debug
+ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+ if test "$?" -ne 0; then
+ # on failure, ensure result is empty
+ func_cygpath_result=
+ fi
+ else
+ func_cygpath_result=
+ func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+ fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format. Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+ $opt_debug
+ # awkward: cmd appends spaces to result
+ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+ $opt_debug
+ if test -z "$2" && test -n "$1" ; then
+ func_error "Could not determine host file name corresponding to"
+ func_error " \`$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_file_result="$1"
+ fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+ $opt_debug
+ if test -z "$4" && test -n "$3"; then
+ func_error "Could not determine the host path corresponding to"
+ func_error " \`$3'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This is a deliberately simplistic "conversion" and
+ # should not be "improved". See libtool.info.
+ if test "x$1" != "x$2"; then
+ lt_replace_pathsep_chars="s|$1|$2|g"
+ func_to_host_path_result=`echo "$3" |
+ $SED -e "$lt_replace_pathsep_chars"`
+ else
+ func_to_host_path_result="$3"
+ fi
+ fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+ $opt_debug
+ case $4 in
+ $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+ ;;
+ esac
+ case $4 in
+ $2 ) func_append func_to_host_path_result "$3"
+ ;;
+ esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via `$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+ $opt_debug
+ $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result. If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+ $opt_debug
+ case ,$2, in
+ *,"$to_tool_file_cmd",*)
+ func_to_tool_file_result=$1
+ ;;
+ *)
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
+ ;;
+ esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+ func_to_host_file_result="$1"
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+ # LT_CYGPATH in this case.
+ func_to_host_file_result=`cygpath -m "$1"`
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format. Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_file_wine_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+ func_convert_core_file_wine_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via `$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format. If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+# file name conversion function : func_convert_file_X_to_Y ()
+# path conversion function : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same. If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+ $opt_debug
+ if test -z "$to_host_path_cmd"; then
+ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+ to_host_path_cmd="func_convert_path_${func_stripname_result}"
+ fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+ $opt_debug
+ func_init_to_host_path_cmd
+ $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+ func_to_host_path_result="$1"
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from ARG. MSYS
+ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+ # and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format. Requires a wine environment and
+# a working winepath. Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_nix_to_cygwin
+
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $opt_debug
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+ pie_flag=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg="$arg"
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj="$arg"
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify \`-o' more than once"
+ arg_mode=target
+ continue
+ ;;
+
+ -pie | -fpie | -fPIE)
+ func_append pie_flag " $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ func_append later " $arg"
+ continue
+ ;;
+
+ -no-suppress)
+ suppress_opt=no
+ continue
+ ;;
+
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ lastarg=
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+ func_append_quoted lastarg "$arg"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+ func_append base_compile " $lastarg"
+ continue
+ ;;
+
+ *)
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg="$srcfile"
+ srcfile="$arg"
+ ;;
+ esac # case $arg
+ ;;
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+ func_append_quoted base_compile "$lastarg"
+ done # for arg
+
+ case $arg_mode in
+ arg)
+ func_fatal_error "you must specify an argument for -Xcompile"
+ ;;
+ target)
+ func_fatal_error "you must specify a target with \`-o'"
+ ;;
+ *)
+ # Get the name of the library object.
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj="$func_basename_result"
+ }
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ case $libobj in
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+ esac
+
+ case $libobj in
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+ *)
+ func_fatal_error "cannot determine name of library object from \`$libobj'"
+ ;;
+ esac
+
+ func_infer_tag $base_compile
+
+ for arg in $later; do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+ esac
+ done
+
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname="$func_basename_result"
+ xdir="$func_dirname_result"
+ lobj=${xdir}$objdir/$objname
+
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
+
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
+ pic_mode=default
+ ;;
+ esac
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+ func_append removelist " $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+ srcfile=$func_to_tool_file_result
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test "$pic_mode" != no; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
+
+ func_mkdir_p "$xdir$objdir"
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ func_append command " -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+
+ # Allow error messages only from the first compilation.
+ if test "$suppress_opt" = yes; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile$pie_flag"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+ func_append command " -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ func_append command "$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+ test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to build PIC objects only
+ -prefer-non-pic try to build non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -bindir BINDIR specify path to binaries directory (for systems where
+ libraries must be found in the PATH setting at runtime)
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$opt_mode'"
+ ;;
+ esac
+
+ echo
+ $ECHO "Try \`$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test "$opt_help" = :; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ sed '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ func_append dir "/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ ;;
+
+ *)
+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -* | *.la | *.lo ) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_append_quoted args "$file"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+ else
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $opt_debug
+ libs=
+ libdirs=
+ admincmds=
+
+ for opt in "$nonopt" ${1+"$@"}
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
+
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
+ else
+ func_warning "\`$opt' is not a valid libtool archive"
+ fi
+
+ else
+ func_fatal_error "invalid argument \`$opt'"
+ fi
+ done
+
+ if test -n "$libs"; then
+ if test -n "$lt_sysroot"; then
+ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+ else
+ sysroot_cmd=
+ fi
+
+ # Remove sysroot references
+ if $opt_dry_run; then
+ for lib in $libs; do
+ echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+ done
+ else
+ tmpdir=`func_mktempdir`
+ for lib in $libs; do
+ sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ > $tmpdir/tmp-la
+ mv -f $tmpdir/tmp-la $lib
+ done
+ ${RM}r "$tmpdir"
+ fi
+ fi
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || func_append admincmds "
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $ECHO " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ echo
+
+ echo "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ echo "pages."
+ ;;
+ *)
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ echo "----------------------------------------------------------------------"
+ fi
+ exit $EXIT_SUCCESS
+}
+
+test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $opt_debug
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ case $nonopt in *shtool*) :;; *) false;; esac; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ func_append install_prog "$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+ *) install_cp=false ;;
+ esac
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ no_mode=:
+ for arg
+ do
+ arg2=
+ if test -n "$dest"; then
+ func_append files " $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ if $install_cp; then :; else
+ prev=$arg
+ fi
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
+ fi
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ func_append install_prog " $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+ func_append install_shared_prog " $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
+
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_for_eval "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_for_eval_result"
+ fi
+ fi
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir="$func_dirname_result"
+ destname="$func_basename_result"
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "\`$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "\`$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ func_append staticlibs " $file"
+ ;;
+
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append current_libdirs " $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append future_libdirs " $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+ func_append dir "$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking \`$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname="$1"
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=""
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name="$func_basename_result"
+ instname="$dir/$name"i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "\`$lib' has not been installed in \`$libdir'"
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if test "$finalize" = yes; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink \`$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ func_warning "cannot relink \`$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$opt_mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+ func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ # if an import library, we need to obtain dlname
+ if func_win32_import_lib_p "$dlprefile"; then
+ func_tr_sh "$dlprefile"
+ eval "curr_lafile=\$libfile_$func_tr_sh_result"
+ dlprefile_dlbasename=""
+ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+ # Use subshell, to avoid clobbering current variable values
+ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+ if test -n "$dlprefile_dlname" ; then
+ func_basename "$dlprefile_dlname"
+ dlprefile_dlbasename="$func_basename_result"
+ else
+ # no lafile. user explicitly requested -dlpreopen <import library>.
+ $sharedlib_from_linklib_cmd "$dlprefile"
+ dlprefile_dlbasename=$sharedlib_from_linklib_result
+ fi
+ fi
+ $opt_dry_run || {
+ if test -n "$dlprefile_dlbasename" ; then
+ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+ else
+ func_warning "Could not compute DLL name from $name"
+ eval '$ECHO ": $name " >> "$nlist"'
+ fi
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+ }
+ else # not an import lib
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ fi
+ ;;
+ *)
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ ;;
+ esac
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+ $opt_debug
+ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+ $opt_debug
+ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+ $SED '/^Contents of section '"$match_literal"':/{
+ # Place marker at beginning of archive member dllname section
+ s/.*/====MARK====/
+ p
+ d
+ }
+ # These lines can sometimes be longer than 43 characters, but
+ # are always uninteresting
+ /:[ ]*file format pe[i]\{,1\}-/d
+ /^In archive [^:]*:/d
+ # Ensure marker is printed
+ /^====MARK====/p
+ # Remove all lines with less than 43 characters
+ /^.\{43\}/!d
+ # From remaining lines, remove first 43 characters
+ s/^.\{43\}//' |
+ $SED -n '
+ # Join marker and all lines until next marker into a single line
+ /^====MARK====/ b para
+ H
+ $ b para
+ b
+ :para
+ x
+ s/\n//g
+ # Remove the marker
+ s/^====MARK====//
+ # Remove trailing dots and whitespace
+ s/[\. \t]*$//
+ # Print
+ /./p' |
+ # we now have a list, one entry per line, of the stringified
+ # contents of the appropriate section of all members of the
+ # archive which possess that section. Heuristic: eliminate
+ # all those which have a first or second character that is
+ # a '.' (that is, objdump's representation of an unprintable
+ # character.) This should work for all archives with less than
+ # 0x302f exports -- but will fail for DLLs whose name actually
+ # begins with a literal '.' or a single character followed by
+ # a '.'.
+ #
+ # Of those that remain, print the first one.
+ $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+ $opt_debug
+ if func_cygming_gnu_implib_p "$1" ; then
+ # binutils import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+ elif func_cygming_ms_implib_p "$1" ; then
+ # ms-generated import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+ else
+ # unknown
+ sharedlib_from_linklib_result=""
+ fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ if test "$lock_old_archive_extraction" = yes; then
+ lockfile=$f_ex_an_ar_oldlib.lock
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ fi
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test "$lock_old_archive_extraction" = yes; then
+ $opt_dry_run || rm -f "$lockfile"
+ fi
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+}
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=${1-no}
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ file=\"\$0\""
+
+ qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+ ECHO=\"$qECHO\"
+ fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=\$0
+ shift
+ for lt_opt
+ do
+ case \"\$lt_opt\" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+ cat \"\$lt_dump_D/\$lt_dump_F\"
+ exit 0
+ ;;
+ --lt-*)
+ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+
+ # Print the debug banner immediately:
+ if test -n \"\$lt_option_debug\"; then
+ echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+ fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+ done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done
+ func_exec_program_core \${1+\"\$@\"}
+}
+
+ # Parse options
+ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+ done
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # fixup the dll searchpath if we need to.
+ #
+ # Fix the DLL searchpath if we need to. Do this before prepending
+ # to shlibpath, because on Windows, both are PATH and uninstalled
+ # libraries must come first.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+ func_exec_program \${1+\"\$@\"}
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+*/
+EOF
+ cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+# define _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
+
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
+
+ cat <<EOF
+volatile const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_path "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_path "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ intptr_t rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ newargz = XMALLOC (char *, argc + 1);
+
+ /* very simple arg parsing; don't want to rely on getopt
+ * also, copy all non cwrapper options to newargz, except
+ * argz[0], which is handled differently
+ */
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+ {
+EOF
+ case "$host" in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ lt_dump_script (stdout);
+ return 0;
+ }
+ if (strcmp (argv[i], debug_opt) == 0)
+ {
+ lt_debug = 1;
+ continue;
+ }
+ if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal (__FILE__, __LINE__,
+ "unrecognized %s option: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+EOF
+ cat <<EOF
+ /* The GNU banner must be the first non-error debug message */
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+EOF
+ cat <<"EOF"
+ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (before symlink chase) at: %s\n",
+ tmp_pathspec);
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (after symlink chase) at: %s\n",
+ actual_cwrapper_path);
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) libtool target name: %s\n",
+ target_name);
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
+ be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+ because on Windows, both *_VARNAMEs are PATH but uninstalled
+ libraries must come first. */
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
+ {
+ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+ i, nonnull (newargz[i]));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ newargz = prepare_spawn (newargz);
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) failed to launch target \"%s\": %s\n",
+ lt_argv_zero, nonnull (strerror (errno)));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char *concat_name;
+
+ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+ nonempty (wrapper));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ lt_debugprintf (__FILE__, __LINE__,
+ "checking path component for symlinks: %s\n",
+ tmp_pathspec);
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "error accessing file \"%s\": %s",
+ tmp_pathspec, nonnull (strerror (errno)));
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp (str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
+
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+ va_list args;
+ if (lt_debug)
+ {
+ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+ }
+}
+
+static void
+lt_error_core (int exit_status, const char *file,
+ int line, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+ va_end (ap);
+}
+
+static const char *
+nonnull (const char *s)
+{
+ return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+ return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_setenv) setting '%s' to '%s'\n",
+ nonnull (name), nonnull (value));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+EOF
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+ Note that spawn() does not by itself call the command interpreter
+ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&v);
+ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+ }) ? "cmd.exe" : "command.com").
+ Instead it simply concatenates the arguments, separated by ' ', and calls
+ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
+ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+ special way:
+ - Space and tab are interpreted as delimiters. They are not treated as
+ delimiters if they are surrounded by double quotes: "...".
+ - Unescaped double quotes are removed from the input. Their only effect is
+ that within double quotes, space and tab are treated like normal
+ characters.
+ - Backslashes not followed by double quotes are not special.
+ - But 2*n+1 backslashes followed by a double quote become
+ n backslashes followed by a double quote (n >= 0):
+ \" -> "
+ \\\" -> \"
+ \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+ size_t argc;
+ char **new_argv;
+ size_t i;
+
+ /* Count number of arguments. */
+ for (argc = 0; argv[argc] != NULL; argc++)
+ ;
+
+ /* Allocate new argument vector. */
+ new_argv = XMALLOC (char *, argc + 1);
+
+ /* Put quoted arguments into the new argument vector. */
+ for (i = 0; i < argc; i++)
+ {
+ const char *string = argv[i];
+
+ if (string[0] == '\0')
+ new_argv[i] = xstrdup ("\"\"");
+ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+ {
+ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+ size_t length;
+ unsigned int backslashes;
+ const char *s;
+ char *quoted_string;
+ char *p;
+
+ length = 0;
+ backslashes = 0;
+ if (quote_around)
+ length++;
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ length += backslashes + 1;
+ length++;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ length += backslashes + 1;
+
+ quoted_string = XMALLOC (char, length + 1);
+
+ p = quoted_string;
+ backslashes = 0;
+ if (quote_around)
+ *p++ = '"';
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ {
+ unsigned int j;
+ for (j = backslashes + 1; j > 0; j--)
+ *p++ = '\\';
+ }
+ *p++ = c;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ {
+ unsigned int j;
+ for (j = backslashes; j > 0; j--)
+ *p++ = '\\';
+ *p++ = '"';
+ }
+ *p = '\0';
+
+ new_argv[i] = quoted_string;
+ }
+ else
+ new_argv[i] = (char *) string;
+ }
+ new_argv[argc] = NULL;
+
+ return new_argv;
+}
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+ func_emit_wrapper yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ fputs ("/' -e 's/$/\\n", f);/'
+
+ cat <<"EOF"
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+ $opt_debug
+ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
+}
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $opt_debug
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args=$nonopt
+ base_compile="$nonopt $@"
+ compile_command=$nonopt
+ finalize_command=$nonopt
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+ new_inherited_linker_flags=
+
+ avoid_version=no
+ bindir=
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ non_pic_objects=
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=no
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ weak_libs=
+ single_module="${wl}-single_module"
+ func_infer_tag $base_compile
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg="$1"
+ shift
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ bindir)
+ bindir="$arg"
+ prev=
+ continue
+ ;;
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=yes
+ fi
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test "$dlself" = no; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+ func_append dlfiles " $arg"
+ else
+ func_append dlprefiles " $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ test -f "$arg" \
+ || func_fatal_error "symbol file \`$arg' does not exist"
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) func_append deplibs " $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir="$arg"
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+# func_append moreargs " $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ done
+ else
+ func_fatal_error "link input file \`$arg' does not exist"
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) func_append rpath " $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) func_append xrpath " $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ shrext)
+ shrext_cmds="$arg"
+ prev=
+ continue
+ ;;
+ weak)
+ func_append weak_libs " $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
+
+ prevarg="$arg"
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -bindir)
+ prev=bindir
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
+ fi
+ if test "X$arg" = "X-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ -framework)
+ prev=framework
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ func_stripname "-L" '' "$arg"
+ if test -z "$func_stripname_result"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
+ dir="$absdir"
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "* | *" $arg "*)
+ # Will only happen for absolute or sysroot arguments
+ ;;
+ *)
+ # Preserve sysroot, but never include relative directories
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+ *) func_append deplibs " -L$dir" ;;
+ esac
+ func_append lib_search_path " $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+ *) func_append dllsearchpath ":$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ func_append deplibs " System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ func_append deplibs " $arg"
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot|--sysroot)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ continue
+ ;;
+
+ -multi_module)
+ single_module="${wl}-multi_module"
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "\`-no-install' is ignored for $host"
+ func_warning "assuming \`-no-fast-install' instead"
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ =*)
+ func_stripname '=' '' "$dir"
+ dir=$lt_sysroot$func_stripname_result
+ ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ continue
+ ;;
+
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -weak)
+ prev=weak
+ continue
+ ;;
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ func_append arg " $func_quote_for_eval_result"
+ func_append compiler_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Wl,*)
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ func_append arg " $wl$func_quote_for_eval_result"
+ func_append compiler_flags " $wl$func_quote_for_eval_result"
+ func_append linker_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ # Flags to be passed through unchanged, with rationale:
+ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
+ # -r[0-9][0-9]* specify processor for the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+ # +DA*, +DD* enable 64-bit mode for the HP compiler
+ # -q* compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ # --sysroot=* for sysroot support
+ # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ func_append compiler_flags " $arg"
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ *.$objext)
+ # A standard object.
+ func_append objs " $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ func_append deplibs " $arg"
+ func_append old_deplibs " $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ func_resolve_sysroot "$arg"
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+ func_append dlfiles " $func_resolve_sysroot_result"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+ func_append dlprefiles " $func_resolve_sysroot_result"
+ prev=
+ else
+ func_append deplibs " $func_resolve_sysroot_result"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+ done # argument parsing loop
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prevarg' option requires an argument"
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ func_basename "$output"
+ outputname="$func_basename_result"
+ libobjs_save="$libobjs"
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
+ func_to_tool_file "$output_objdir/"
+ tool_output_objdir=$func_to_tool_file_result
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+ # Determine the type of output
+ case $output in
+ "")
+ func_fatal_help "you must specify an output file"
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if $opt_preserve_dup_deps ; then
+ case "$libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append libs " $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+ esac
+ func_append pre_post_deps " $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
+ case $linkmode in
+ lib)
+ passes="conv dlpreopen link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=no
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+
+ for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test "$linkmode,$pass" = "lib,link"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs="$tmp_deplibs"
+ fi
+
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan"; then
+ libs="$deplibs"
+ deplibs=
+ fi
+ if test "$linkmode" = prog; then
+ case $pass in
+ dlopen) libs="$dlfiles" ;;
+ dlpreopen) libs="$dlprefiles" ;;
+ link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ esac
+ fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ func_resolve_sysroot "$lib"
+ case $lib in
+ *.la) func_source "$func_resolve_sysroot_result" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ func_basename "$deplib"
+ deplib_base=$func_basename_result
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) func_append deplibs " $deplib" ;;
+ esac
+ done
+ done
+ libs="$dlprefiles"
+ fi
+ if test "$pass" = dlopen; then
+ # Collect dlpreopened libraries
+ save_deplibs="$deplibs"
+ deplibs=
+ fi
+
+ for deplib in $libs; do
+ lib=
+ found=no
+ case $deplib in
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append compiler_flags " $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -l*)
+ if test "$linkmode" != lib && test "$linkmode" != prog; then
+ func_warning "\`-l' is ignored for archives/objects"
+ continue
+ fi
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib="$searchdir/lib${name}${search_ext}"
+ if test -f "$lib"; then
+ if test "$search_ext" = ".la"; then
+ found=yes
+ else
+ found=no
+ fi
+ break 2
+ fi
+ done
+ done
+ if test "$found" != yes; then
+ # deplib doesn't seem to be a libtool library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ else # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if func_lalib_p "$lib"; then
+ library_names=
+ old_library=
+ func_source "$lib"
+ for l in $old_library $library_names; do
+ ll="$l"
+ done
+ if test "X$ll" = "X$old_library" ; then # only static version available
+ found=no
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+ lib=$ladir/$old_library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ fi
+ ;; # -l
+ *.ltframework)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ prog)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test "$pass" = scan; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ *)
+ func_warning "\`-L' is ignored for archives/objects"
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test "$pass" = link; then
+ func_stripname '-R' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ lib=$func_resolve_sysroot_result
+ ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=yes
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=yes
+ ;;
+ esac
+ if test "$valid_a_lib" != yes; then
+ echo
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not use here."
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ ;;
+ esac
+ continue
+ ;;
+ prog)
+ if test "$pass" != link; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ elif test "$linkmode" = prog; then
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ func_append newdlprefiles " $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append newdlfiles " $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=yes
+ continue
+ ;;
+ esac # case $deplib
+
+ if test "$found" = yes || test -f "$lib"; then :
+ else
+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+ fi
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ inherited_linker_flags=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ test -n "$dlopen" && func_append dlfiles " $dlopen"
+ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ func_append convenience " $ladir/$objdir/$old_library"
+ func_append old_convenience " $ladir/$objdir/$old_library"
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ if test -n "$old_library" &&
+ { test "$prefer_static_libs" = yes ||
+ test "$prefer_static_libs,$installed" = "built,no"; }; then
+ linklib=$old_library
+ else
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ fi
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+
+ # This library was specified with -dlopen.
+ if test "$pass" = dlopen; then
+ if test -z "$libdir"; then
+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+ fi
+ if test -z "$dlname" ||
+ test "$dlopen_support" != yes ||
+ test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ func_append dlprefiles " $lib $dependency_libs"
+ else
+ func_append newdlfiles " $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir="$ladir"
+ fi
+ ;;
+ esac
+ func_basename "$lib"
+ laname="$func_basename_result"
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+ if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library \`$lib' was moved."
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+ dir="$lt_sysroot$libdir"
+ absdir="$lt_sysroot$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
+
+ # This library was specified with -dlpreopen.
+ if test "$pass" = dlpreopen; then
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ fi
+ case "$host" in
+ # special handling for platforms with PE-DLLs.
+ *cygwin* | *mingw* | *cegcc* )
+ # Linker will automatically link against shared library if both
+ # static and shared are present. Therefore, ensure we extract
+ # symbols from the import library if a shared library is present
+ # (otherwise, the dlopen module name will be incorrect). We do
+ # this by putting the import library name into $newdlprefiles.
+ # We recover the dlopen module name by 'saving' the la file
+ # name in a special purpose variable, and (later) extracting the
+ # dlname from the la file.
+ if test -n "$dlname"; then
+ func_tr_sh "$dir/$linklib"
+ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+ func_append newdlprefiles " $dir/$linklib"
+ else
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ fi
+ ;;
+ * )
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ func_append newdlprefiles " $dir/$dlname"
+ else
+ func_append newdlprefiles " $dir/$linklib"
+ fi
+ ;;
+ esac
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test "$linkmode" = lib; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+ func_append newlib_search_path " $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
+ test "$build_libtool_libs" = no; then
+ linkalldeplibs=yes
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+ if test "$linkalldeplibs" = yes; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test "$linkmode,$pass" = "prog,link"; then
+ if test -n "$library_names" &&
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+ *) func_append temp_rpath "$absdir:" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test "$use_static_libs" = built && test "$installed" = yes; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+ func_append notinst_deplibs " $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+ func_append notinst_deplibs " $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=""
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule="$dlpremoduletest"
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ echo
+ if test "$linkmode" = prog; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $ECHO "*** $linklib is not portable!"
+ fi
+ if test "$linkmode" = lib &&
+ test "$hardcode_into_libs" = yes; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot="$soname"
+ func_basename "$soroot"
+ soname="$func_basename_result"
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ func_verbose "extracting exported symbol list from \`$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ func_verbose "generating import library for \`$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test "$linkmode" = prog || test "$opt_mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ add="$dir/$linklib"
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-darwin* )
+ # if the lib is a (non-dlopened) module then we can not
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null ; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ echo
+ echo "*** And there doesn't seem to be a static archive available"
+ echo "*** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ elif test -n "$old_library"; then
+ add="$dir/$old_library"
+ fi
+ fi
+ esac
+ elif test "$hardcode_minus_L" = no; then
+ case $host in
+ *-*-sunos*) add_shlibpath="$dir" ;;
+ esac
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$dir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test "$lib_linked" != yes; then
+ func_fatal_configuration "unsupported hardcode properties"
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) func_append compile_shlibpath "$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test "$hardcode_direct" != yes &&
+ test "$hardcode_minus_L" != yes &&
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test "$linkmode" = prog || test "$opt_mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
+ add="$inst_prefix_dir$libdir/$linklib"
+ else
+ add="$libdir/$linklib"
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir="-L$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ fi
+
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test "$linkmode" = prog; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test "$build_libtool_libs" = yes; then
+ # Not a shared library
+ if test "$deplibs_check_method" != pass_all; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ echo
+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ if test "$module" = yes; then
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test "$linkmode" = lib; then
+ if test -n "$dependency_libs" &&
+ { test "$hardcode_into_libs" != yes ||
+ test "$build_old_libs" = yes ||
+ test "$link_static" = yes; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) func_append xrpath " $temp_xrpath";;
+ esac;;
+ *) func_append temp_deplibs " $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ func_append newlib_search_path " $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result";;
+ *) func_resolve_sysroot "$deplib" ;;
+ esac
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $func_resolve_sysroot_result "*)
+ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+ esac
+ fi
+ func_append tmp_libs " $func_resolve_sysroot_result"
+ done
+
+ if test "$link_all_deplibs" != no; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ path=
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ deplib=$func_resolve_sysroot_result
+ func_dirname "$deplib" "" "."
+ dir=$func_dirname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ func_warning "cannot determine absolute directory name of \`$dir'"
+ absdir="$dir"
+ fi
+ ;;
+ esac
+ if $GREP "^installed=no" $deplib > /dev/null; then
+ case $host in
+ *-*-darwin*)
+ depdepl=
+ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names" ; then
+ for tmp in $deplibrary_names ; do
+ depdepl=$tmp
+ done
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
+ fi
+ fi
+ ;;
+ *)
+ path="-L$absdir/$objdir"
+ ;;
+ esac
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "\`$deplib' seems to be moved"
+
+ path="-L$absdir"
+ fi
+ ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test "$pass" = link; then
+ if test "$linkmode" = "prog"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs="$newdependency_libs"
+ if test "$pass" = dlpreopen; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test "$pass" != dlopen; then
+ if test "$pass" != conv; then
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) func_append lib_search_path " $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ fi
+
+ if test "$linkmode,$pass" != "prog,link"; then
+ vars="deplibs"
+ else
+ vars="compile_deplibs finalize_deplibs"
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs ; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=""
+ ;;
+ esac
+ if test -n "$i" ; then
+ func_append tmp_libs " $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test "$linkmode" = prog; then
+ dlfiles="$newdlfiles"
+ fi
+ if test "$linkmode" = prog || test "$linkmode" = lib; then
+ dlprefiles="$newdlprefiles"
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for archives"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for archives"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for archives"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for archives"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "\`-export-symbols' is ignored for archives"
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+ func_append objs "$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case $outputname in
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test "$module" = no && \
+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test "$deplibs_check_method" != pass_all; then
+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ func_append libobjs " $objs"
+ fi
+ fi
+
+ test "$dlself" != no && \
+ func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+ set dummy $rpath
+ shift
+ test "$#" -gt 1 && \
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a `.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for convenience libraries"
+ else
+
+ # Parse the version information argument.
+ save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ shift
+ IFS="$save_ifs"
+
+ test -n "$7" && \
+ func_fatal_help "too many parameters to \`-version-info'"
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major="$1"
+ number_minor="$2"
+ number_revision="$3"
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # which has an extra 1 added just for fun
+ #
+ case $version_type in
+ darwin|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_revision"
+ ;;
+ freebsd-aout|freebsd-elf|qnx|sunos)
+ current="$number_major"
+ revision="$number_minor"
+ age="0"
+ ;;
+ irix|nonstopux)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_minor"
+ lt_irix_increment=no
+ ;;
+ esac
+ ;;
+ no)
+ current="$1"
+ revision="$2"
+ age="$3"
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "CURRENT \`$current' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "REVISION \`$revision' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "AGE \`$age' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ irix | nonstopux)
+ if test "X$lt_irix_increment" = "Xno"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring="$verstring_prefix$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test "$loop" -ne 0; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring_prefix$major.$iface:$verstring"
+ done
+
+ # Before this point, $major must not contain `.'.
+ major=.$major
+ versuffix="$major.$revision"
+ ;;
+
+ linux)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test "$loop" -ne 0; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ func_append verstring ":${current}.0"
+ ;;
+
+ qnx)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 filesystems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+
+ *)
+ func_fatal_configuration "unknown library version type \`$version_type'"
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring="0.0"
+ ;;
+ esac
+ if test "$need_version" = no; then
+ versuffix=
+ else
+ versuffix=".0.0"
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ func_warning "undefined symbols not allowed in $host shared libraries"
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" "yes"
+ func_append libobjs " $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
+ if test "$opt_mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$ECHO "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext | *.gcno)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+ if test "X$precious_files_regex" != "X"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ func_append removelist " $p"
+ ;;
+ *) ;;
+ esac
+ done
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ func_append oldlibs " $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ func_replace_sysroot "$libdir"
+ func_append temp_xrpath " -R$func_replace_sysroot_result"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles="$dlfiles"
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) func_append dlfiles " $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles="$dlprefiles"
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) func_append dlprefiles " $lib" ;;
+ esac
+ done
+
+ if test "$build_libtool_libs" = yes; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ func_append deplibs " System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+ func_append deplibs " -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $opt_dry_run || $RM conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ if test -n "$file_magic_glob"; then
+ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+ else
+ libnameglob=$libname
+ fi
+ test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ if test "$want_nocaseglob" = yes; then
+ shopt -s nocaseglob
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ $nocaseglob
+ else
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ fi
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+ *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check above in file_magic test
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=""
+ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ for i in $predeps $postdeps ; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+ done
+ fi
+ case $tmp_deplibs in
+ *[!\ \ ]*)
+ echo
+ if test "X$deplibs_check_method" = "Xnone"; then
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ ;;
+ esac
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
+
+ if test "$allow_undefined" = no; then
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test "$build_libtool_libs" = yes; then
+ if test "$hardcode_into_libs" = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ func_replace_sysroot "$libdir"
+ libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append dep_rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ if test -n "$hardcode_libdir_flag_spec_ld"; then
+ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+ else
+ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+ fi
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath="$finalize_shlibpath"
+ test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
+ fi
+
+ lib="$output_objdir/$realname"
+ linknames=
+ for link
+ do
+ func_append linknames " $link"
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+ func_append delfiles " $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols="$export_symbols"
+ export_symbols=
+ always_export_symbols=yes
+ fi
+ fi
+ ;;
+ esac
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd1 in $cmds; do
+ IFS="$save_ifs"
+ # Take the normal branch if the nm_file_list_spec branch
+ # doesn't work or if tool conversion is not needed.
+ case $nm_file_list_spec~$to_tool_file_cmd in
+ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+ try_normal_branch=yes
+ eval cmd=\"$cmd1\"
+ func_len " $cmd"
+ len=$func_len_result
+ ;;
+ *)
+ try_normal_branch=no
+ ;;
+ esac
+ if test "$try_normal_branch" = yes \
+ && { test "$len" -lt "$max_cmd_len" \
+ || test "$max_cmd_len" -le -1; }
+ then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ elif test -n "$nm_file_list_spec"; then
+ func_basename "$output"
+ output_la=$func_basename_result
+ save_libobjs=$libobjs
+ save_output=$output
+ output=${output_objdir}/${output_la}.nm
+ func_to_tool_file "$output"
+ libobjs=$nm_file_list_spec$func_to_tool_file_result
+ func_append delfiles " $output"
+ func_verbose "creating $NM input file list: $output"
+ for obj in $save_libobjs; do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > "$output"
+ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
+ output=$save_output
+ libobjs=$save_libobjs
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ func_append tmp_deplibs " $test_deplib"
+ ;;
+ esac
+ done
+ deplibs="$tmp_deplibs"
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test "$compiler_needs_object" = yes &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ func_append linker_flags " $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+
+ if test "X$skipped_export" != "X:" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
+
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ func_basename "$output"
+ output_la=$func_basename_result
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ last_robj=
+ k=1
+
+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+ output=${output_objdir}/${output_la}.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ echo 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ echo ')' >> $output
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$func_to_tool_file_result
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test "$compiler_needs_object" = yes; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test "X$objlist" = X ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ reload_objs=$objlist
+ eval concat_cmds=\"$reload_cmds\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=" $obj"
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+ func_append delfiles " $output"
+
+ else
+ output=
+ fi
+
+ if ${skipped_export-false}; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ fi
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ if ${skipped_export-false}; then
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ fi
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
+ fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
+ ;;
+
+ obj)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for objects"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for objects"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for objects"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for objects"
+
+ case $output in
+ *.lo)
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
+ ;;
+ *)
+ libobj=
+ obj="$output"
+ ;;
+ esac
+
+ # Delete the old objects.
+ $opt_dry_run || $RM $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
+ wl=
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
+ # If we're not building shared, we need to use non_pic_objs
+ test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+ output="$obj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$build_libtool_libs" != yes; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+ if test -n "$pic_flag" || test "$pic_mode" != default; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output="$libobj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+ fi
+
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
+ esac
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for programs"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for programs"
+
+ test "$preload" = yes \
+ && test "$dlopen_support" = unknown \
+ && test "$dlopen_self" = unknown \
+ && test "$dlopen_self_static" = unknown && \
+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ case $host in
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ func_append compile_command " ${wl}-bind_at_load"
+ func_append finalize_command " ${wl}-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
+ func_append compile_command " $compile_deplibs"
+ func_append finalize_command " $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+ *) func_append dllsearchpath ":$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
+
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ fi
+
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
+ fi
+
+ wrappers_required=yes
+ case $host in
+ *cegcc* | *mingw32ce*)
+ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
+ *cygwin* | *mingw* )
+ if test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ *)
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ esac
+ if test "$wrappers_required" = no; then
+ # Replace the output file specification.
+ compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ fi
+
+ exit $exit_status
+ fi
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test "$no_install" = yes; then
+ # We don't need to create a wrapper script.
+ link_command="$compile_var$compile_command$compile_rpath"
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "\`$output' will be relinked during installation"
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
+ else
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+ fi
+ fi
+
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output_objdir/$outputname"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
+
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host" ; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
+ ;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_wrapper no > $output
+ chmod +x $output
+ ;;
+ esac
+ }
+ exit $EXIT_SUCCESS
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+ func_append oldobjs " $symfileobj"
+ fi
+ fi
+ addlibs="$old_convenience"
+ fi
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $addlibs
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ cmds=$old_archive_from_new_cmds
+ else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ echo "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ func_basename "$obj"
+ objbase="$func_basename_result"
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ func_arith $counter + 1
+ counter=$func_arith_result
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ func_append oldobjs " $gentop/$newobj"
+ ;;
+ *) func_append oldobjs " $obj" ;;
+ esac
+ done
+ fi
+ eval cmds=\"$old_archive_cmds\"
+
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ elif test -n "$archiver_list_spec"; then
+ func_verbose "using command file archive linking..."
+ for obj in $oldobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > $output_objdir/$libname.libcmd
+ func_to_tool_file "$output_objdir/$libname.libcmd"
+ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+ oldobjs=
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+ for obj in $save_oldobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj" ; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test "X$oldobjs" = "X" ; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ func_execute_cmds "$cmds" 'exit $?'
+ done
+
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ func_verbose "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
+
+ # Only create the output if not a dry run.
+ $opt_dry_run || {
+ for installed in no yes; do
+ if test "$installed" = yes; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output="$output_objdir/$outputname"i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ -L*)
+ func_stripname -L '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -L$func_replace_sysroot_result"
+ ;;
+ -R*)
+ func_stripname -R '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -R$func_replace_sysroot_result"
+ ;;
+ *) func_append newdependency_libs " $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+ newdlfiles=
+
+ for lib in $dlfiles; do
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ *) func_append newdlfiles " $lib" ;;
+ esac
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ esac
+ done
+ dlprefiles="$newdlprefiles"
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlfiles " $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlprefiles " $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
+ # In fact, it would be nice if we could use this code for all target
+ # systems that can't hard-code library paths into their executables
+ # and that have no shared library path variable independent of PATH,
+ # but it turns out we can't easily determine that from inspecting
+ # libtool variables, so we have to hard-code the OSs to which it
+ # applies here; at the moment, that means platforms that use the PE
+ # object format with DLL files. See the long comment at the top of
+ # tests/bindir.at for full details.
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ # If a -bindir argument was supplied, place the dll there.
+ if test "x$bindir" != x ;
+ then
+ func_relative_path "$install_libdir" "$bindir"
+ tdlname=$func_relative_path_result$dlname
+ else
+ # Otherwise fall back on heuristic.
+ tdlname=../bin/$dlname
+ fi
+ ;;
+ esac
+ $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test "$installed" = no && test "$need_relink" = yes; then
+ $ECHO >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ }
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+}
+
+{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
+ func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $opt_debug
+ RM="$nonopt"
+ files=
+ rmforce=
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ for arg
+ do
+ case $arg in
+ -f) func_append RM " $arg"; rmforce=yes ;;
+ -*) func_append RM " $arg" ;;
+ *) func_append files " $arg" ;;
+ esac
+ done
+
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
+
+ rmdirs=
+
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
+ odir="$objdir"
+ else
+ odir="$dir/$objdir"
+ fi
+ func_basename "$file"
+ name="$func_basename_result"
+ test "$opt_mode" = uninstall && odir="$dir"
+
+ # Remember odir for removal later, being careful to avoid duplicates
+ if test "$opt_mode" = clean; then
+ case " $rmdirs " in
+ *" $odir "*) ;;
+ *) func_append rmdirs " $odir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif test "$rmforce" = yes; then
+ continue
+ fi
+
+ rmfiles="$file"
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ func_append rmfiles " $odir/$n"
+ done
+ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+ case "$opt_mode" in
+ clean)
+ case " $library_names " in
+ *" $dlname "*) ;;
+ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+ esac
+ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ ;;
+ esac
+ fi
+ ;;
+
+ *.lo)
+ # Possibly a libtool object, so verify it.
+ if func_lalib_p "$file"; then
+
+ # Read the .lo file
+ func_source $dir/$name
+
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
+ func_append rmfiles " $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
+ func_append rmfiles " $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+ if test "$opt_mode" = clean ; then
+ noexename=$name
+ case $file in
+ *.exe)
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+ func_append rmfiles " $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ func_append rmfiles " $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+ func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+ func_append rmfiles " $odir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name" ; then
+ func_append rmfiles " $odir/lt-${noexename}.c"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
+ done
+
+ # Try to remove the ${objdir}s in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
+ fi
+ done
+
+ exit $exit_status
+}
+
+{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
+
+test -z "$opt_mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode \`$opt_mode'"
+
+if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+ exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
diff --git a/config/missing b/config/missing
new file mode 100755
index 0000000..28055d2
--- /dev/null
+++ b/config/missing
@@ -0,0 +1,376 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+ lex*|yacc*)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ tar*)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case $f in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te*)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison*|yacc*)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f y.tab.h; then
+ echo >y.tab.h
+ fi
+ if test ! -f y.tab.c; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex*|flex*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f lex.yy.c; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit $?
+ fi
+ ;;
+
+ makeinfo*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -z "$file"; then
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
+ touch $file
+ ;;
+
+ tar*)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case $firstarg in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case $firstarg in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config/mkinstalldirs b/config/mkinstalldirs
new file mode 100755
index 0000000..d2d5f21
--- /dev/null
+++ b/config/mkinstalldirs
@@ -0,0 +1,111 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+errstatus=0
+dirmode=""
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+
+# process command line arguments
+while test $# -gt 0 ; do
+ case $1 in
+ -h | --help | --h*) # -h for help
+ echo "$usage" 1>&2
+ exit 0
+ ;;
+ -m) # -m PERM arg
+ shift
+ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+ dirmode=$1
+ shift
+ ;;
+ --) # stop option processing
+ shift
+ break
+ ;;
+ -*) # unknown option
+ echo "$usage" 1>&2
+ exit 1
+ ;;
+ *) # first non-opt arg
+ break
+ ;;
+ esac
+done
+
+for file
+do
+ if test -d "$file"; then
+ shift
+ else
+ break
+ fi
+done
+
+case $# in
+ 0) exit 0 ;;
+esac
+
+case $dirmode in
+ '')
+ if mkdir -p -- . 2>/dev/null; then
+ echo "mkdir -p -- $*"
+ exec mkdir -p -- "$@"
+ fi
+ ;;
+ *)
+ if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+ echo "mkdir -m $dirmode -p -- $*"
+ exec mkdir -m "$dirmode" -p -- "$@"
+ fi
+ ;;
+esac
+
+for file
+do
+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ shift
+
+ pathcomp=
+ for d
+ do
+ pathcomp="$pathcomp$d"
+ case $pathcomp in
+ -*) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ else
+ if test ! -z "$dirmode"; then
+ echo "chmod $dirmode $pathcomp"
+ lasterr=""
+ chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+ if test ! -z "$lasterr"; then
+ errstatus=$lasterr
+ fi
+ fi
+ fi
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# End:
+# mkinstalldirs ends here
diff --git a/configure b/configure
new file mode 100755
index 0000000..cbd9c56
--- /dev/null
+++ b/configure
@@ -0,0 +1,23833 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.68 for util-linux 2.22.
+#
+# Report bugs to <kzak@redhat.com>.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
+
+ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org and kzak@redhat.com
+$0: about your system, including any error possibly output
+$0: before this message. Then install a modern shell, or
+$0: manually run the script under such a shell if you do
+$0: have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='util-linux'
+PACKAGE_TARNAME='util-linux'
+PACKAGE_VERSION='2.22'
+PACKAGE_STRING='util-linux 2.22'
+PACKAGE_BUGREPORT='kzak@redhat.com'
+PACKAGE_URL=''
+
+ac_unique_file="sys-utils/mount.c"
+ac_default_prefix=/usr
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+SUID_LDFLAGS
+SUID_CFLAGS
+MAKEINSTALL_DO_SETUID_FALSE
+MAKEINSTALL_DO_SETUID_TRUE
+MAKEINSTALL_DO_CHOWN_FALSE
+MAKEINSTALL_DO_CHOWN_TRUE
+USE_TTY_GROUP_FALSE
+USE_TTY_GROUP_TRUE
+HAVE_SYSTEMD_FALSE
+HAVE_SYSTEMD_TRUE
+systemdsystemunitdir
+USE_SOCKET_ACTIVATION_FALSE
+USE_SOCKET_ACTIVATION_TRUE
+PERL
+BUILD_CHKDUPEXE_FALSE
+BUILD_CHKDUPEXE_TRUE
+BUILD_WRITE_FALSE
+BUILD_WRITE_TRUE
+BUILD_WALL_FALSE
+BUILD_WALL_TRUE
+BUILD_TASKSET_FALSE
+BUILD_TASKSET_TRUE
+HAVE_SCHED_GETAFFINITY_FALSE
+HAVE_SCHED_GETAFFINITY_TRUE
+BUILD_IONICE_FALSE
+BUILD_IONICE_TRUE
+HAVE_IOPRIO_GET_FALSE
+HAVE_IOPRIO_GET_TRUE
+HAVE_IOPRIO_SET_FALSE
+HAVE_IOPRIO_SET_TRUE
+BUILD_SCHEDUTILS_FALSE
+BUILD_SCHEDUTILS_TRUE
+BUILD_SU_FALSE
+BUILD_SU_TRUE
+BUILD_SULOGIN_FALSE
+BUILD_SULOGIN_TRUE
+BUILD_LOGIN_FALSE
+BUILD_LOGIN_TRUE
+BUILD_CHFN_CHSH_FALSE
+BUILD_CHFN_CHSH_TRUE
+BUILD_NEWGRP_FALSE
+BUILD_NEWGRP_TRUE
+BUILD_VIPW_FALSE
+BUILD_VIPW_TRUE
+BUILD_RESET_FALSE
+BUILD_RESET_TRUE
+BUILD_RENAME_FALSE
+BUILD_RENAME_TRUE
+BUILD_RAW_FALSE
+BUILD_RAW_TRUE
+BUILD_MESG_FALSE
+BUILD_MESG_TRUE
+BUILD_LINE_FALSE
+BUILD_LINE_TRUE
+BUILD_UTMPDUMP_FALSE
+BUILD_UTMPDUMP_TRUE
+BUILD_LAST_FALSE
+BUILD_LAST_TRUE
+BUILD_KILL_FALSE
+BUILD_KILL_TRUE
+BUILD_ELVTUNE_FALSE
+BUILD_ELVTUNE_TRUE
+BUILD_PIVOT_ROOT_FALSE
+BUILD_PIVOT_ROOT_TRUE
+HAVE_PIVOT_ROOT_FALSE
+HAVE_PIVOT_ROOT_TRUE
+BUILD_SWITCH_ROOT_FALSE
+BUILD_SWITCH_ROOT_TRUE
+BUILD_LSLOCKS_FALSE
+BUILD_LSLOCKS_TRUE
+BUILD_PRLIMIT_FALSE
+BUILD_PRLIMIT_TRUE
+HAVE_PRLIMIT64_FALSE
+HAVE_PRLIMIT64_TRUE
+BUILD_SWAPLABEL_FALSE
+BUILD_SWAPLABEL_TRUE
+BUILD_WDCTL_FALSE
+BUILD_WDCTL_TRUE
+BUILD_CHCPU_FALSE
+BUILD_CHCPU_TRUE
+BUILD_LSCPU_FALSE
+BUILD_LSCPU_TRUE
+BUILD_LSBLK_FALSE
+BUILD_LSBLK_TRUE
+BUILD_SWAPON_FALSE
+BUILD_SWAPON_TRUE
+BUILD_HWCLOCK_FALSE
+BUILD_HWCLOCK_TRUE
+BUILD_CRAMFS_FALSE
+BUILD_CRAMFS_TRUE
+BUILD_AGETTY_FALSE
+BUILD_AGETTY_TRUE
+BUILD_EJECT_FALSE
+BUILD_EJECT_TRUE
+ruman1dir
+BUILD_DDATE_FALSE
+BUILD_DDATE_TRUE
+BUILD_ARCH_FALSE
+BUILD_ARCH_TRUE
+BUILD_UNSHARE_FALSE
+BUILD_UNSHARE_TRUE
+HAVE_UNSHARE_FALSE
+HAVE_UNSHARE_TRUE
+BUILD_FALLOCATE_FALSE
+BUILD_FALLOCATE_TRUE
+HAVE_FALLOCATE_FALSE
+HAVE_FALLOCATE_TRUE
+BUILD_MOUNTPOINT_FALSE
+BUILD_MOUNTPOINT_TRUE
+BUILD_UUIDD_FALSE
+BUILD_UUIDD_TRUE
+BUILD_PARTX_FALSE
+BUILD_PARTX_TRUE
+BUILD_FSCK_FALSE
+BUILD_FSCK_TRUE
+BUILD_LOSETUP_FALSE
+BUILD_LOSETUP_TRUE
+BUILD_MOUNT_FALSE
+BUILD_MOUNT_TRUE
+BUILD_DEPRECATED_MOUNT_FALSE
+BUILD_DEPRECATED_MOUNT_TRUE
+LIBMOUNT_VERSION_INFO
+LIBMOUNT_VERSION
+BUILD_LIBMOUNT_TESTS_FALSE
+BUILD_LIBMOUNT_TESTS_TRUE
+BUILD_LIBMOUNT_FALSE
+BUILD_LIBMOUNT_TRUE
+BUILD_LIBBLKID_TESTS_FALSE
+BUILD_LIBBLKID_TESTS_TRUE
+BUILD_LIBBLKID_FALSE
+BUILD_LIBBLKID_TRUE
+LIBBLKID_VERSION_INFO
+LIBBLKID_VERSION
+LIBBLKID_DATE
+BUILD_LIBUUID_FALSE
+BUILD_LIBUUID_TRUE
+LIBUUID_VERSION_INFO
+LIBUUID_VERSION
+HAVE_UTEMPTER_FALSE
+HAVE_UTEMPTER_TRUE
+HAVE_TINFO_FALSE
+HAVE_TINFO_TRUE
+BUILD_CFDISK_FALSE
+BUILD_CFDISK_TRUE
+HAVE_SLANG_FALSE
+HAVE_SLANG_TRUE
+NCURSES_LIBS
+HAVE_NCURSES_FALSE
+HAVE_NCURSES_TRUE
+HAVE_UDEV_FALSE
+HAVE_UDEV_TRUE
+HAVE_AUDIT_FALSE
+HAVE_AUDIT_TRUE
+SELINUX_LIBS_STATIC
+SELINUX_LIBS
+HAVE_SELINUX_FALSE
+HAVE_SELINUX_TRUE
+HAVE_LIBCRYPT_FALSE
+HAVE_LIBCRYPT_TRUE
+HAVE_CPU_SET_T_FALSE
+HAVE_CPU_SET_T_TRUE
+HAVE_TERMCAP_FALSE
+HAVE_TERMCAP_TRUE
+HAVE_UTIL_FALSE
+HAVE_UTIL_TRUE
+HAVE_STATIC_BLKID_FALSE
+HAVE_STATIC_BLKID_TRUE
+HAVE_STATIC_SFDISK_FALSE
+HAVE_STATIC_SFDISK_TRUE
+HAVE_STATIC_FDISK_FALSE
+HAVE_STATIC_FDISK_TRUE
+HAVE_STATIC_UMOUNT_FALSE
+HAVE_STATIC_UMOUNT_TRUE
+HAVE_STATIC_MOUNT_FALSE
+HAVE_STATIC_MOUNT_TRUE
+HAVE_STATIC_LOSETUP_FALSE
+HAVE_STATIC_LOSETUP_TRUE
+SOCKET_LIBS
+HAVE_LANGINFO_FALSE
+HAVE_LANGINFO_TRUE
+POSUB
+LTLIBINTL
+LIBINTL
+INTLLIBS
+LTLIBICONV
+LIBICONV
+MSGMERGE
+XGETTEXT
+GMSGFMT
+MSGFMT
+USE_NLS
+MKINSTALLDIRS
+ARCH_HPPA_FALSE
+ARCH_HPPA_TRUE
+ARCH_MIPS_FALSE
+ARCH_MIPS_TRUE
+ARCH_M68K_FALSE
+ARCH_M68K_TRUE
+ARCH_PPC_FALSE
+ARCH_PPC_TRUE
+ARCH_SPARC_FALSE
+ARCH_SPARC_TRUE
+ARCH_S390_FALSE
+ARCH_S390_TRUE
+ARCH_IA64_FALSE
+ARCH_IA64_TRUE
+ARCH_86_64_FALSE
+ARCH_86_64_TRUE
+ARCH_I86_FALSE
+ARCH_I86_TRUE
+LINUX_FALSE
+LINUX_TRUE
+XSLTPROC
+GTK_DOC_USE_LIBTOOL_FALSE
+GTK_DOC_USE_LIBTOOL_TRUE
+ENABLE_GTK_DOC_FALSE
+ENABLE_GTK_DOC_TRUE
+GTKDOC_CHECK
+HTML_DIR
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+ac_ct_AR
+AR
+DLLTOOL
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
+LIBTOOL
+WARN_CFLAGS
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+EGREP
+GREP
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+usrlib_execdir
+usrsbin_execdir
+usrbin_execdir
+libdirname
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+with_html_dir
+enable_gtk_doc
+enable_largefile
+enable_nls
+enable_rpath
+with_libiconv_prefix
+with_libintl_prefix
+enable_static_programs
+enable_tls
+with_selinux
+with_audit
+with_udev
+with_ncurses
+with_slang
+with_utempter
+enable_most_builds
+enable_libuuid
+enable_libblkid
+enable_libmount
+enable_deprecated_mount
+enable_mount
+enable_losetup
+enable_fsck
+enable_partx
+enable_uuidd
+enable_mountpoint
+enable_fallocate
+enable_unshare
+enable_arch
+enable_ddate
+enable_eject
+enable_agetty
+enable_cramfs
+enable_switch_root
+enable_pivot_root
+enable_elvtune
+enable_kill
+enable_last
+enable_utmpdump
+enable_line
+enable_mesg
+enable_raw
+enable_rename
+enable_reset
+enable_vipw
+enable_newgrp
+enable_chfn_chsh
+enable_chsh_only_listed
+enable_login
+enable_login_chown_vcs
+enable_login_stat_mail
+enable_sulogin
+enable_su
+enable_schedutils
+enable_wall
+enable_write
+enable_chkdupexe
+enable_socket_activation
+with_systemdsystemunitdir
+enable_pg_bell
+enable_require_password
+enable_fs_paths_default
+enable_fs_paths_extra
+enable_use_tty_group
+enable_makeinstall_chown
+enable_makeinstall_setuid
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+SUID_CFLAGS
+SUID_LDFLAGS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used" >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures util-linux 2.22 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/util-linux]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of util-linux 2.22:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-static[=PKGS] build static libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-gtk-doc use gtk-doc to build documentation [[default=no]]
+ --disable-largefile omit support for large files
+ --disable-nls do not use Native Language Support
+ --disable-rpath do not hardcode runtime library paths
+ --enable-static-programs=LIST
+ link static the programs in LIST (comma-separated,
+ supported for losetup, mount, umount, fdisk, sfdisk,
+ blkid)
+ --disable-tls disable use of thread local support
+ --enable-most-builds build everything other than experimental code
+ --disable-libuuid do not build libuuid and uuid utilities
+ --disable-libblkid do not build libblkid and many related utilities
+ --disable-libmount do not build libmount
+ --enable-deprecated-mount
+ build old mount utilities
+ --disable-mount do not build mount(8) and umount(8)
+ --disable-losetup do not build losetup
+ --disable-fsck do not build fsck
+ --disable-partx do not build addpart, delpart, partx
+ --disable-uuidd do not build the uuid daemon
+ --disable-mountpoint do not build mountpoint
+ --disable-fallocate do not build fallocate
+ --disable-unshare do not build unshare
+ --enable-arch do build arch
+ --enable-ddate do build ddate
+ --disable-eject do not build eject
+ --disable-agetty do not build agetty
+ --disable-cramfs do not build fsck.cramfs, mkfs.cramfs
+ --disable-switch_root do not build switch_root
+ --disable-pivot_root do not build pivot_root
+ --enable-elvtune build elvtune (only works with 2.2 and 2.4 kernels)
+ --disable-kill do not build kill
+ --enable-last build last
+ --disable-utmpdump do not build utmpdump
+ --enable-line build line
+ --enable-mesg build mesg
+ --enable-raw build raw
+ --disable-rename do not build rename
+ --enable-reset build reset
+ --enable-vipw build vipw
+ --enable-newgrp build newgrp
+ --enable-chfn-chsh build chfn and chsh
+ --disable-chsh-only-listed
+ chsh: allow shells not in /etc/shells
+ --disable-login do not build login
+ --enable-login-chown-vcs
+ let login chown /dev/vcsN
+ --enable-login-stat-mail
+ let login stat() the mailbox
+ --disable-sulogin do not build sulogin
+ --disable-su do not build su
+ --disable-schedutils do not build chrt, ionice, teskset
+ --disable-wall do not build wall
+ --enable-write build write
+ --enable-chkdupexe build deprecated chkdupexe
+ --enable-socket-activation
+ build uuidd with support for systemd socket
+ activation
+ --disable-pg-bell let pg not ring the bell on invalid keys
+ --disable-require-password
+ do not require the user to enter the password in
+ chfn and chsh
+ --enable-fs-paths-default=paths
+ default search path for fs helpers
+ [/sbin:/sbin/fs.d:/sbin/fs]
+ --enable-fs-paths-extra=paths
+ additional search paths for fs helpers
+ --disable-use-tty-group do not install wall and write setgid tty
+ --disable-makeinstall-chown
+ do not do chown-like operations during "make
+ install"
+ --disable-makeinstall-setuid
+ do not do setuid chmod operations during "make
+ install"
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+ --with-html-dir=PATH path to installed docs
+ --with-gnu-ld assume the C compiler uses GNU ld default=no
+ --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
+ --without-libiconv-prefix don't search for libiconv in includedir and libdir
+ --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
+ --without-libintl-prefix don't search for libintl in includedir and libdir
+ --with-selinux compile with SELinux support
+ --with-audit compile with audit support
+ --without-udev compile without udev support
+ --with-ncurses build with non-wide ncurses, default is wide version
+ (--without-ncurses disables all ncurses(w) support)
+ --with-slang compile cfdisk with slang
+ --with-utempter compile script(1) with libutempter
+ --with-systemdsystemunitdir=DIR
+ directory for systemd service files
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ PKG_CONFIG path to pkg-config utility
+ PKG_CONFIG_PATH
+ directories to add to pkg-config's search path
+ PKG_CONFIG_LIBDIR
+ path overriding pkg-config's built-in search path
+ SUID_CFLAGS CFLAGS used for binaries which are usually with the suid bit
+ SUID_LDFLAGS
+ LDFLAGS used for binaries which are usually with the suid bit
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <kzak@redhat.com>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+util-linux configure 2.22
+generated by GNU Autoconf 2.68
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##"
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
+# ----------------------------------------------------
+# Tries to find if the field MEMBER exists in type AGGR, after including
+# INCLUDES, setting cache variable VAR accordingly.
+ac_fn_c_check_member ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+$as_echo_n "checking for $2.$3... " >&6; }
+if eval \${$4+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (ac_aggr.$3)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$4=yes"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (sizeof ac_aggr.$3)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$4=yes"
+else
+ eval "$4=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$4
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_member
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_decl
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=no"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by util-linux $as_me 2.22, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in config "$srcdir"/config; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+
+am__api_version='1.11'
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='util-linux'
+ VERSION='2.22'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a pax tar archive" >&5
+$as_echo_n "checking how to create a pax tar archive... " >&6; }
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar pax cpio none'
+_am_tools=${am_cv_prog_tar_pax-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ { echo "$as_me:$LINENO: $_am_tar --version" >&5
+ ($_am_tar --version) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && break
+ done
+ am__tar="$_am_tar --format=posix -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=posix -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x pax -w "$$tardir"'
+ am__tar_='pax -L -x pax -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H pax -L'
+ am__tar_='find "$tardir" -print | cpio -o -H pax -L'
+ am__untar='cpio -i -H pax -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_pax}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+ (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+ ($am__untar <conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+if ${am_cv_prog_tar_pax+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_prog_tar_pax=$_am_tool
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_pax" >&5
+$as_echo "$am_cv_prog_tar_pax" >&6; }
+
+
+
+
+
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=0;;
+esac
+AM_BACKSLASH='\'
+
+
+
+
+
+PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}')
+PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{print $2}' \
+ | awk -F- '{print $1}')
+PACKAGE_VERSION_RELEASE=0
+
+LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
+LIBBLKID_DATE="04-Sep-2012"
+LIBBLKID_LT_MAJOR=1
+LIBBLKID_LT_MINOR=1
+LIBBLKID_LT_MICRO=0
+LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
+
+LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
+LIBUUID_LT_MAJOR=1
+LIBUUID_LT_MINOR=3
+LIBUUID_LT_MICRO=0
+LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
+
+LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
+LIBMOUNT_LT_MAJOR=1
+LIBMOUNT_LT_MINOR=1
+LIBMOUNT_LT_MICRO=0
+LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
+
+# Check whether exec_prefix=/usr:
+case $exec_prefix:$prefix in
+NONE:NONE | NONE:/usr | /usr:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Default --exec-prefix detected." >&5
+$as_echo "$as_me: Default --exec-prefix detected." >&6;}
+ case $bindir in
+ '${exec_prefix}/bin') bindir=/bin
+ { $as_echo "$as_me:${as_lineno-$LINENO}: --bindir defaults to /bin" >&5
+$as_echo "$as_me: --bindir defaults to /bin" >&6;} ;;
+ esac
+ case $sbindir in
+ '${exec_prefix}/sbin') sbindir=/sbin
+ { $as_echo "$as_me:${as_lineno-$LINENO}: --sbindir defaults to /sbin" >&5
+$as_echo "$as_me: --sbindir defaults to /sbin" >&6;} ;;
+ esac
+ case $libdir in
+ '${exec_prefix}/lib') libdir=/lib
+ { $as_echo "$as_me:${as_lineno-$LINENO}: --libdir defaults to /lib" >&5
+$as_echo "$as_me: --libdir defaults to /lib" >&6;} ;;
+ esac ;;
+esac
+
+case $prefix:$localstatedir in
+ NONE:'${prefix}/var')
+ localstatedir=/run
+ { $as_echo "$as_me:${as_lineno-$LINENO}: --localstatedir defaults to /run" >&5
+$as_echo "$as_me: --localstatedir defaults to /run" >&6;}
+ ;;
+ *:'${prefix}/var')
+ localstatedir=${prefix}/run
+ ;;
+ NONE:*)
+ ;;
+ *:*)
+ localstatedir=${prefix}/${localstatedir}
+ ;;
+esac
+
+
+libdirname=`basename "$libdir"`
+
+
+# The original default values of {bin,sbin,lib}dir
+usrbin_execdir='${exec_prefix}/bin'
+
+
+usrsbin_execdir='${exec_prefix}/sbin'
+
+
+usrlib_execdir='${exec_prefix}/'$libdirname
+
+
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+if test "x$CC" != xcc; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
+$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
+$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
+fi
+set dummy $CC; ac_cc=`$as_echo "$2" |
+ sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+rm -f conftest2.*
+if { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } &&
+ test -f conftest2.$ac_objext && { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; };
+then
+ eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+ if test "x$CC" != xcc; then
+ # Test first that cc exists at all.
+ if { ac_try='cc -c conftest.$ac_ext >&5'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+ rm -f conftest2.*
+ if { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } &&
+ test -f conftest2.$ac_objext && { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; };
+ then
+ # cc works too.
+ :
+ else
+ # cc exists but doesn't like -o.
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
+ fi
+ fi
+ fi
+else
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
+fi
+rm -f core conftest*
+
+fi
+if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
+
+fi
+
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+
+
+ case $ac_cv_prog_cc_stdc in #(
+ no) :
+ ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #(
+ *) :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
+$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
+if ${ac_cv_prog_cc_c99+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdio.h>
+
+// Check varargs macros. These examples are taken from C99 6.10.3.5.
+#define debug(...) fprintf (stderr, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+ int x = 1234;
+ int y = 5678;
+ debug ("Flag");
+ debug ("X = %d\n", x);
+ showlist (The first, second, and third items.);
+ report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+ your preprocessor is broken;
+#endif
+#if BIG_OK
+#else
+ your preprocessor is broken;
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+ int datasize;
+ double data[];
+};
+
+struct named_init {
+ int number;
+ const wchar_t *name;
+ double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+ // See if C++-style comments work.
+ // Iterate through items via the restricted pointer.
+ // Also check for declarations in for loops.
+ for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+ continue;
+ return 0;
+}
+
+// Check varargs and va_copy.
+static void
+test_varargs (const char *format, ...)
+{
+ va_list args;
+ va_start (args, format);
+ va_list args_copy;
+ va_copy (args_copy, args);
+
+ const char *str;
+ int number;
+ float fnumber;
+
+ while (*format)
+ {
+ switch (*format++)
+ {
+ case 's': // string
+ str = va_arg (args_copy, const char *);
+ break;
+ case 'd': // int
+ number = va_arg (args_copy, int);
+ break;
+ case 'f': // float
+ fnumber = va_arg (args_copy, double);
+ break;
+ default:
+ break;
+ }
+ }
+ va_end (args_copy);
+ va_end (args);
+}
+
+int
+main ()
+{
+
+ // Check bool.
+ _Bool success = false;
+
+ // Check restrict.
+ if (test_restrict ("String literal") == 0)
+ success = true;
+ char *restrict newvar = "Another string";
+
+ // Check varargs.
+ test_varargs ("s, d' f .", "string", 65, 34.234);
+ test_varargs_macros ();
+
+ // Check flexible array members.
+ struct incomplete_array *ia =
+ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+ ia->datasize = 10;
+ for (int i = 0; i < ia->datasize; ++i)
+ ia->data[i] = i * 1.234;
+
+ // Check named initializers.
+ struct named_init ni = {
+ .number = 34,
+ .name = L"Test wide string",
+ .average = 543.34343,
+ };
+
+ ni.number = 58;
+
+ int dynamic_array[ni.number];
+ dynamic_array[ni.number - 1] = 543;
+
+ // work around unused variable warnings
+ return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
+ || dynamic_array[ni.number - 1] != 543);
+
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c99" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c99"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c99" != xno; then :
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+else
+ ac_cv_prog_cc_stdc=no
+fi
+
+fi
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5
+$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; }
+ if ${ac_cv_prog_cc_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+
+ case $ac_cv_prog_cc_stdc in #(
+ no) :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;; #(
+ '') :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;; #(
+ *) :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5
+$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
+ MINIX=yes
+else
+ MINIX=
+fi
+
+
+ if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+# define __EXTENSIONS__ 1
+ $ac_includes_default
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_safe_to_define___extensions__=yes
+else
+ ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+ test $ac_cv_safe_to_define___extensions__ = yes &&
+ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+ $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+ $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if ${ac_cv_c_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+ /* Ultrix mips cc rejects this. */
+ typedef int charset[2];
+ const charset cs;
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *pcpcc;
+ char **ppc;
+ /* NEC SVR4.0.2 mips cc rejects this. */
+ struct point {int x, y;};
+ static struct point const zero = {0,0};
+ /* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in
+ an arm of an if-expression whose if-part is not a constant
+ expression */
+ const char *g = "string";
+ pcpcc = &g + (g ? g-g : 0);
+ /* HPUX 7.0 cc rejects these. */
+ ++pcpcc;
+ ppc = (char**) pcpcc;
+ pcpcc = (char const *const *) ppc;
+ { /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+ if (s) return 0;
+ }
+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+ }
+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+ }
+ { /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+ if (!foo) return 0;
+ }
+ return !cs[0] && !zero.x;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_const=yes
+else
+ ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5
+$as_echo_n "checking for working volatile... " >&6; }
+if ${ac_cv_c_volatile+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+volatile int x;
+int * volatile y = (int *) 0;
+return !x && !y;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_volatile=yes
+else
+ ac_cv_c_volatile=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5
+$as_echo "$ac_cv_c_volatile" >&6; }
+if test $ac_cv_c_volatile = no; then
+
+$as_echo "#define volatile /**/" >>confdefs.h
+
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+ no)
+ ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fno-common" >&5
+$as_echo_n "checking whether compiler handles -fno-common... " >&6; }
+if ${ul_cv_warn__fno_common+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -fno-common"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__fno_common=yes
+else
+ ul_cv_warn__fno_common=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__fno_common" >&5
+$as_echo "$ul_cv_warn__fno_common" >&6; }
+ if test "x$ul_cv_warn__fno_common" = xyes; then :
+ as_fn_append WARN_CFLAGS " -fno-common"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wall" >&5
+$as_echo_n "checking whether compiler handles -Wall... " >&6; }
+if ${ul_cv_warn__Wall+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wall"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wall=yes
+else
+ ul_cv_warn__Wall=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wall" >&5
+$as_echo "$ul_cv_warn__Wall" >&6; }
+ if test "x$ul_cv_warn__Wall" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wall"
+fi
+
+
+ as_ul_Warn=`$as_echo "ul_cv_warn_-Werror=sequence-point" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Werror=sequence-point" >&5
+$as_echo_n "checking whether compiler handles -Werror=sequence-point... " >&6; }
+if eval \${$as_ul_Warn+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Werror=sequence-point"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ eval "$as_ul_Warn=yes"
+else
+ eval "$as_ul_Warn=no"
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+eval ac_res=\$$as_ul_Warn
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_ul_Warn"\" = x"yes"; then :
+ as_fn_append WARN_CFLAGS " -Werror=sequence-point"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wextra" >&5
+$as_echo_n "checking whether compiler handles -Wextra... " >&6; }
+if ${ul_cv_warn__Wextra+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wextra"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wextra=yes
+else
+ ul_cv_warn__Wextra=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wextra" >&5
+$as_echo "$ul_cv_warn__Wextra" >&6; }
+ if test "x$ul_cv_warn__Wextra" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wextra"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wmissing-declarations" >&5
+$as_echo_n "checking whether compiler handles -Wmissing-declarations... " >&6; }
+if ${ul_cv_warn__Wmissing_declarations+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wmissing-declarations"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wmissing_declarations=yes
+else
+ ul_cv_warn__Wmissing_declarations=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wmissing_declarations" >&5
+$as_echo "$ul_cv_warn__Wmissing_declarations" >&6; }
+ if test "x$ul_cv_warn__Wmissing_declarations" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wmissing-declarations"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wmissing-parameter-type" >&5
+$as_echo_n "checking whether compiler handles -Wmissing-parameter-type... " >&6; }
+if ${ul_cv_warn__Wmissing_parameter_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wmissing-parameter-type"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wmissing_parameter_type=yes
+else
+ ul_cv_warn__Wmissing_parameter_type=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wmissing_parameter_type" >&5
+$as_echo "$ul_cv_warn__Wmissing_parameter_type" >&6; }
+ if test "x$ul_cv_warn__Wmissing_parameter_type" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wmissing-parameter-type"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wmissing-prototypes" >&5
+$as_echo_n "checking whether compiler handles -Wmissing-prototypes... " >&6; }
+if ${ul_cv_warn__Wmissing_prototypes+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wmissing-prototypes"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wmissing_prototypes=yes
+else
+ ul_cv_warn__Wmissing_prototypes=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wmissing_prototypes" >&5
+$as_echo "$ul_cv_warn__Wmissing_prototypes" >&6; }
+ if test "x$ul_cv_warn__Wmissing_prototypes" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wmissing-prototypes"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-missing-field-initializers" >&5
+$as_echo_n "checking whether compiler handles -Wno-missing-field-initializers... " >&6; }
+if ${ul_cv_warn__Wno_missing_field_initializers+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wno-missing-field-initializers"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wno_missing_field_initializers=yes
+else
+ ul_cv_warn__Wno_missing_field_initializers=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wno_missing_field_initializers" >&5
+$as_echo "$ul_cv_warn__Wno_missing_field_initializers" >&6; }
+ if test "x$ul_cv_warn__Wno_missing_field_initializers" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wno-missing-field-initializers"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wredundant-decls" >&5
+$as_echo_n "checking whether compiler handles -Wredundant-decls... " >&6; }
+if ${ul_cv_warn__Wredundant_decls+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wredundant-decls"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wredundant_decls=yes
+else
+ ul_cv_warn__Wredundant_decls=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wredundant_decls" >&5
+$as_echo "$ul_cv_warn__Wredundant_decls" >&6; }
+ if test "x$ul_cv_warn__Wredundant_decls" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wredundant-decls"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wsign-compare" >&5
+$as_echo_n "checking whether compiler handles -Wsign-compare... " >&6; }
+if ${ul_cv_warn__Wsign_compare+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wsign-compare"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wsign_compare=yes
+else
+ ul_cv_warn__Wsign_compare=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wsign_compare" >&5
+$as_echo "$ul_cv_warn__Wsign_compare" >&6; }
+ if test "x$ul_cv_warn__Wsign_compare" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wsign-compare"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wtype-limits" >&5
+$as_echo_n "checking whether compiler handles -Wtype-limits... " >&6; }
+if ${ul_cv_warn__Wtype_limits+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wtype-limits"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wtype_limits=yes
+else
+ ul_cv_warn__Wtype_limits=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wtype_limits" >&5
+$as_echo "$ul_cv_warn__Wtype_limits" >&6; }
+ if test "x$ul_cv_warn__Wtype_limits" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wtype-limits"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wuninitialized" >&5
+$as_echo_n "checking whether compiler handles -Wuninitialized... " >&6; }
+if ${ul_cv_warn__Wuninitialized+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wuninitialized"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wuninitialized=yes
+else
+ ul_cv_warn__Wuninitialized=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wuninitialized" >&5
+$as_echo "$ul_cv_warn__Wuninitialized" >&6; }
+ if test "x$ul_cv_warn__Wuninitialized" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wuninitialized"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wunused-but-set-parameter" >&5
+$as_echo_n "checking whether compiler handles -Wunused-but-set-parameter... " >&6; }
+if ${ul_cv_warn__Wunused_but_set_parameter+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wunused-but-set-parameter"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wunused_but_set_parameter=yes
+else
+ ul_cv_warn__Wunused_but_set_parameter=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wunused_but_set_parameter" >&5
+$as_echo "$ul_cv_warn__Wunused_but_set_parameter" >&6; }
+ if test "x$ul_cv_warn__Wunused_but_set_parameter" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wunused-but-set-parameter"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wunused-but-set-variable" >&5
+$as_echo_n "checking whether compiler handles -Wunused-but-set-variable... " >&6; }
+if ${ul_cv_warn__Wunused_but_set_variable+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wunused-but-set-variable"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wunused_but_set_variable=yes
+else
+ ul_cv_warn__Wunused_but_set_variable=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wunused_but_set_variable" >&5
+$as_echo "$ul_cv_warn__Wunused_but_set_variable" >&6; }
+ if test "x$ul_cv_warn__Wunused_but_set_variable" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wunused-but-set-variable"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wunused-parameter" >&5
+$as_echo_n "checking whether compiler handles -Wunused-parameter... " >&6; }
+if ${ul_cv_warn__Wunused_parameter+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wunused-parameter"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wunused_parameter=yes
+else
+ ul_cv_warn__Wunused_parameter=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wunused_parameter" >&5
+$as_echo "$ul_cv_warn__Wunused_parameter" >&6; }
+ if test "x$ul_cv_warn__Wunused_parameter" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wunused-parameter"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wunused-result" >&5
+$as_echo_n "checking whether compiler handles -Wunused-result... " >&6; }
+if ${ul_cv_warn__Wunused_result+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wunused-result"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wunused_result=yes
+else
+ ul_cv_warn__Wunused_result=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wunused_result" >&5
+$as_echo "$ul_cv_warn__Wunused_result" >&6; }
+ if test "x$ul_cv_warn__Wunused_result" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wunused-result"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wunused-variable" >&5
+$as_echo_n "checking whether compiler handles -Wunused-variable... " >&6; }
+if ${ul_cv_warn__Wunused_variable+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} -Wunused-variable"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ul_cv_warn__Wunused_variable=yes
+else
+ ul_cv_warn__Wunused_variable=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$ul_save_CPPFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wunused_variable" >&5
+$as_echo "$ul_cv_warn__Wunused_variable" >&6; }
+ if test "x$ul_cv_warn__Wunused_variable" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wunused-variable"
+fi
+
+
+
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4'
+macro_revision='1.3293'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO ""
+}
+
+case "$ECHO" in
+ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_FGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in dumpbin "link -dump"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in dumpbin "link -dump"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ar_at_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+ (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+ withval=$with_sysroot;
+else
+ with_sysroot=no
+fi
+
+
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+$as_echo "${with_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_cc_needs_belf=yes
+else
+ lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$MANIFEST_TOOL"; then
+ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+ # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_MANIFEST_TOOL"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_MANIFEST_TOOL" = x; then
+ MANIFEST_TOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+else
+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&5
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+
+
+
+
+
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_ld_exported_symbols_list=yes
+else
+ lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
+ echo "$RANLIB libconftest.a" >&5
+ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+# Set options
+
+
+
+ enable_dlopen=no
+
+
+ enable_win32_dll=no
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+ # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+ withval=$with_pic; pic_mode="$withval"
+else
+ pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+ *)
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+ esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+
+
+
+
+
+ lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ lt_prog_compiler_wl='-Xlinker '
+ lt_prog_compiler_pic='-Xcompiler -fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ F* | *Sun*Fortran*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag=
+ always_export_symbols=no
+ archive_cmds=
+ archive_expsym_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
+ export_dynamic_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld=
+ hardcode_libdir_separator=
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+ link_all_deplibs=unknown
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ export_dynamic_flag_spec='${wl}--export-all-symbols'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ haiku*)
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs=yes
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath_
+fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath_
+fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ fi
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ file_list_spec='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ old_postinstall_cmds='chmod 644 $oldlib'
+ postlink_cmds='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ enable_shared_with_static_runtimes=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ else
+ whole_archive_flag_spec=''
+ fi
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+ else
+ ld_shlibs=no
+ fi
+
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld='+b $libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler__b=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -b"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler__b=yes
+ fi
+ else
+ lt_cv_prog_compiler__b=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_irix_exported_symbol=yes
+else
+ lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ inherit_rpath=yes
+ link_all_deplibs=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_separator=:
+ ;;
+
+ solaris*)
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+fi
+
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
+ test "X$hardcode_automatic" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_shl_load=yes
+else
+ ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_svld_dlopen=yes
+else
+ ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_dld_link=yes
+else
+ ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report which library types will actually be built
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+fi
+
+
+
+# Check whether --with-html-dir was given.
+if test "${with_html_dir+set}" = set; then :
+ withval=$with_html_dir;
+else
+ with_html_dir='${datadir}/gtk-doc/html'
+fi
+
+ HTML_DIR="$with_html_dir"
+
+
+ # Check whether --enable-gtk-doc was given.
+if test "${enable_gtk_doc+set}" = set; then :
+ enableval=$enable_gtk_doc;
+else
+ enable_gtk_doc=no
+fi
+
+
+ if test x$enable_gtk_doc = xyes; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.10\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.10") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ :
+else
+ as_fn_error $? "You need to have gtk-doc >= 1.10 installed to build gtk-doc" "$LINENO" 5
+fi
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
+$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
+$as_echo "$enable_gtk_doc" >&6; }
+
+ for ac_prog in gtkdoc-check
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GTKDOC_CHECK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GTKDOC_CHECK in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
+if test -n "$GTKDOC_CHECK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
+$as_echo "$GTKDOC_CHECK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$GTKDOC_CHECK" && break
+done
+
+
+ if test x$enable_gtk_doc = xyes; then
+ ENABLE_GTK_DOC_TRUE=
+ ENABLE_GTK_DOC_FALSE='#'
+else
+ ENABLE_GTK_DOC_TRUE='#'
+ ENABLE_GTK_DOC_FALSE=
+fi
+
+ if test -n "$LIBTOOL"; then
+ GTK_DOC_USE_LIBTOOL_TRUE=
+ GTK_DOC_USE_LIBTOOL_FALSE='#'
+else
+ GTK_DOC_USE_LIBTOOL_TRUE='#'
+ GTK_DOC_USE_LIBTOOL_FALSE=
+fi
+
+
+# Extract the first word of "xsltproc", so it can be a program name with args.
+set dummy xsltproc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_XSLTPROC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $XSLTPROC in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+XSLTPROC=$ac_cv_path_XSLTPROC
+if test -n "$XSLTPROC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5
+$as_echo "$XSLTPROC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+linux_os=no
+case ${host_os} in
+ *linux*)
+ linux_os=yes
+ ;;
+esac
+ if test "x$linux_os" = xyes; then
+ LINUX_TRUE=
+ LINUX_FALSE='#'
+else
+ LINUX_TRUE='#'
+ LINUX_FALSE=
+fi
+
+
+
+ cpu_I86=false
+ case "$host" in
+ i?86-*) cpu_I86=true ;;
+ esac
+ if test "x$cpu_I86" = xtrue; then
+ ARCH_I86_TRUE=
+ ARCH_I86_FALSE='#'
+else
+ ARCH_I86_TRUE='#'
+ ARCH_I86_FALSE=
+fi
+
+
+
+ cpu_86_64=false
+ case "$host" in
+ x86_64*) cpu_86_64=true ;;
+ esac
+ if test "x$cpu_86_64" = xtrue; then
+ ARCH_86_64_TRUE=
+ ARCH_86_64_FALSE='#'
+else
+ ARCH_86_64_TRUE='#'
+ ARCH_86_64_FALSE=
+fi
+
+
+
+ cpu_IA64=false
+ case "$host" in
+ ia64*) cpu_IA64=true ;;
+ esac
+ if test "x$cpu_IA64" = xtrue; then
+ ARCH_IA64_TRUE=
+ ARCH_IA64_FALSE='#'
+else
+ ARCH_IA64_TRUE='#'
+ ARCH_IA64_FALSE=
+fi
+
+
+
+ cpu_S390=false
+ case "$host" in
+ s390*) cpu_S390=true ;;
+ esac
+ if test "x$cpu_S390" = xtrue; then
+ ARCH_S390_TRUE=
+ ARCH_S390_FALSE='#'
+else
+ ARCH_S390_TRUE='#'
+ ARCH_S390_FALSE=
+fi
+
+
+
+ cpu_SPARC=false
+ case "$host" in
+ sparc*) cpu_SPARC=true ;;
+ esac
+ if test "x$cpu_SPARC" = xtrue; then
+ ARCH_SPARC_TRUE=
+ ARCH_SPARC_FALSE='#'
+else
+ ARCH_SPARC_TRUE='#'
+ ARCH_SPARC_FALSE=
+fi
+
+
+
+ cpu_PPC=false
+ case "$host" in
+ ppc*|powerpc*) cpu_PPC=true ;;
+ esac
+ if test "x$cpu_PPC" = xtrue; then
+ ARCH_PPC_TRUE=
+ ARCH_PPC_FALSE='#'
+else
+ ARCH_PPC_TRUE='#'
+ ARCH_PPC_FALSE=
+fi
+
+
+
+ cpu_M68K=false
+ case "$host" in
+ m68*) cpu_M68K=true ;;
+ esac
+ if test "x$cpu_M68K" = xtrue; then
+ ARCH_M68K_TRUE=
+ ARCH_M68K_FALSE='#'
+else
+ ARCH_M68K_TRUE='#'
+ ARCH_M68K_FALSE=
+fi
+
+
+
+ cpu_MIPS=false
+ case "$host" in
+ mips*) cpu_MIPS=true ;;
+ esac
+ if test "x$cpu_MIPS" = xtrue; then
+ ARCH_MIPS_TRUE=
+ ARCH_MIPS_FALSE='#'
+else
+ ARCH_MIPS_TRUE='#'
+ ARCH_MIPS_FALSE=
+fi
+
+
+
+ cpu_HPPA=false
+ case "$host" in
+ hppa*) cpu_HPPA=true ;;
+ esac
+ if test "x$cpu_HPPA" = xtrue; then
+ ARCH_HPPA_TRUE=
+ ARCH_HPPA_FALSE='#'
+else
+ ARCH_HPPA_TRUE='#'
+ ARCH_HPPA_FALSE=
+fi
+
+
+
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+ enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then
+ ac_save_CC=$CC
+ while :; do
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ if ac_fn_c_try_compile "$LINENO"; then :
+ break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ CC="$CC -n32"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ break
+ done
+ CC=$ac_save_CC
+ rm -f conftest.$ac_ext
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if ${ac_cv_sys_file_offset_bits+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_file_offset_bits=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if ${ac_cv_sys_large_files+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_large_files=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ fi
+fi
+
+
+
+
+ MKINSTALLDIRS=
+ if test -n "$ac_aux_dir"; then
+ case "$ac_aux_dir" in
+ /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
+ *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
+ esac
+ fi
+ if test -z "$MKINSTALLDIRS"; then
+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+ fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+ # Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+ enableval=$enable_nls; USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case "$MSGFMT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+ ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GMSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GMSGFMT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+ ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_XGETTEXT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case "$XGETTEXT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+ ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ rm -f messages.po
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGMERGE+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case "$MSGMERGE" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
+ ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+ ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "$GMSGFMT" != ":"; then
+ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
+$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; }
+ GMSGFMT=":"
+ fi
+ fi
+
+ if test "$XGETTEXT" != ":"; then
+ if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
+$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
+ XGETTEXT=":"
+ fi
+ rm -f messages.po
+ fi
+
+ ac_config_commands="$ac_config_commands default-1"
+
+
+
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
+$as_echo_n "checking for ld used by GCC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | [A-Za-z]:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${acl_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break ;;
+ *)
+ test "$with_gnu_ld" != yes && break ;;
+ esac
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${acl_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes ;;
+*)
+ acl_cv_prog_gnu_ld=no ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if ${acl_cv_rpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+ wl="$acl_cv_wl"
+ libext="$acl_cv_libext"
+ shlibext="$acl_cv_shlibext"
+ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ hardcode_direct="$acl_cv_hardcode_direct"
+ hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ # Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+ enableval=$enable_rpath; :
+else
+ enable_rpath=yes
+fi
+
+
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-libiconv-prefix was given.
+if test "${with_libiconv_prefix+set}" = set; then :
+ withval=$with_libiconv_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/lib"
+ fi
+ fi
+
+fi
+
+ LIBICONV=
+ LTLIBICONV=
+ INCICONV=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='iconv '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ if test $use_additional = yes; then
+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_dir="$additional_libdir"
+ found_so="$additional_libdir/lib$name.$shlibext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ else
+ if test -f "$additional_libdir/lib$name.$libext"; then
+ found_dir="$additional_libdir"
+ found_a="$additional_libdir/lib$name.$libext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+ found_dir="$dir"
+ found_so="$dir/lib$name.$shlibext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ else
+ if test -f "$dir/lib$name.$libext"; then
+ found_dir="$dir"
+ found_a="$dir/lib$name.$libext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$hardcode_direct" = yes; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
+ fi
+ if test "$hardcode_minus_L" != no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */lib | */lib/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/lib"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+ done
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+ # Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+ enableval=$enable_nls; USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
+$as_echo_n "checking for GNU gettext in libc... " >&6; }
+if ${gt_cv_func_gnugettext1_libc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+int
+main ()
+{
+bindtextdomain ("", "");
+return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_gnugettext1_libc=yes
+else
+ gt_cv_func_gnugettext1_libc=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5
+$as_echo "$gt_cv_func_gnugettext1_libc" >&6; }
+
+ if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
+
+
+
+
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+
+ for element in $INCICONV; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if ${am_cv_func_iconv+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$am_save_LIBS"
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+ if test "$am_cv_func_iconv" = yes; then
+
+$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
+ else
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then :
+ withval=$with_libintl_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/lib"
+ fi
+ fi
+
+fi
+
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='intl '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ if test $use_additional = yes; then
+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_dir="$additional_libdir"
+ found_so="$additional_libdir/lib$name.$shlibext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ else
+ if test -f "$additional_libdir/lib$name.$libext"; then
+ found_dir="$additional_libdir"
+ found_a="$additional_libdir/lib$name.$libext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+ found_dir="$dir"
+ found_so="$dir/lib$name.$shlibext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ else
+ if test -f "$dir/lib$name.$libext"; then
+ found_dir="$dir"
+ found_a="$dir/lib$name.$libext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$hardcode_direct" = yes; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
+ fi
+ if test "$hardcode_minus_L" != no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */lib | */lib/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/lib"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+ done
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
+$as_echo_n "checking for GNU gettext in libintl... " >&6; }
+if ${gt_cv_func_gnugettext1_libintl+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();
+int
+main ()
+{
+bindtextdomain ("", "");
+return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_gnugettext1_libintl=yes
+else
+ gt_cv_func_gnugettext1_libintl=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();
+int
+main ()
+{
+bindtextdomain ("", "");
+return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ gt_cv_func_gnugettext1_libintl=yes
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5
+$as_echo "$gt_cv_func_gnugettext1_libintl" >&6; }
+ fi
+
+ if test "$gt_cv_func_gnugettext1_libc" = "yes" \
+ || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
+$as_echo_n "checking whether to use NLS... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+ if test "$USE_NLS" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
+$as_echo_n "checking where the gettext function comes from... " >&6; }
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
+$as_echo "$gt_source" >&6; }
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
+$as_echo_n "checking how to link with libintl... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
+$as_echo "$LIBINTL" >&6; }
+
+ for element in $INCINTL; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+ fi
+
+
+$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
+
+ fi
+
+ POSUB=po
+ fi
+
+
+
+ INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+if test -d "$srcdir/po"
+then
+ ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
+else
+ ALL_LINGUAS="af am ar as be bg bn_IN bn ca cs cy da de el en_GB es et eu_ES fa fi fr gl gu he hi hr hu hy id is it ja ka kn ko ku lo lt lv mk ml mr ms my nb nl nn no nso or pa pl pt_BR pt ro ru si sk sl sq sr@Latn sr sv ta te th tr uk ur vi zh_CN zh_TW zu"
+fi
+
+for ac_header in linux/compiler.h linux/blkpg.h linux/major.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
+#ifdef HAVE_LINUX_COMPILER_H
+#include <linux/compiler.h>
+#endif
+
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in \
+ asm/io.h \
+ err.h \
+ errno.h \
+ fcntl.h \
+ getopt.h \
+ inttypes.h \
+ linux/cdrom.h \
+ linux/falloc.h \
+ linux/watchdog.h \
+ linux/fd.h \
+ linux/raw.h \
+ linux/tiocl.h \
+ linux/version.h \
+ locale.h \
+ mntent.h \
+ net/if.h \
+ net/if_dl.h \
+ netinet/in.h \
+ paths.h \
+ pty.h \
+ security/pam_misc.h \
+ stdint.h \
+ stdio_ext.h \
+ stdlib.h \
+ sys/disk.h \
+ sys/disklabel.h \
+ sys/file.h \
+ sys/io.h \
+ sys/ioccom.h \
+ sys/ioctl.h \
+ sys/mkdev.h \
+ sys/prctl.h \
+ sys/queue.h \
+ sys/resource.h \
+ sys/socket.h \
+ sys/sockio.h \
+ sys/stat.h \
+ sys/swap.h \
+ sys/syscall.h \
+ sys/time.h \
+ sys/types.h \
+ sys/un.h \
+ unistd.h \
+
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in langinfo.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "langinfo.h" "ac_cv_header_langinfo_h" "$ac_includes_default"
+if test "x$ac_cv_header_langinfo_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LANGINFO_H 1
+_ACEOF
+ if true; then
+ HAVE_LANGINFO_TRUE=
+ HAVE_LANGINFO_FALSE='#'
+else
+ HAVE_LANGINFO_TRUE='#'
+ HAVE_LANGINFO_FALSE=
+fi
+
+else
+ if false; then
+ HAVE_LANGINFO_TRUE=
+ HAVE_LANGINFO_FALSE='#'
+else
+ HAVE_LANGINFO_TRUE='#'
+ HAVE_LANGINFO_FALSE=
+fi
+
+fi
+
+done
+
+
+have_linux_raw_h=$ac_cv_header_linux_raw_h
+have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
+have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
+
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <time.h>
+#include <unistd.h>
+
+int
+main ()
+{
+
+ int a = 0;
+ struct tm *tm = localtime(0);
+ if (a == -1) /* false */
+ sleep(tm->tm_gmtoff);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_TM_GMTOFF 1" >>confdefs.h
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ac_fn_c_check_member "$LINENO" "struct termios" "c_line" "ac_cv_member_struct_termios_c_line" "#include <termios.h>
+"
+if test "x$ac_cv_member_struct_termios_c_line" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_TERMIOS_C_LINE 1
+_ACEOF
+
+
+fi
+
+
+ac_fn_c_check_member "$LINENO" "struct stat" "st_mtim.tv_nsec" "ac_cv_member_struct_stat_st_mtim_tv_nsec" "#include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_mtim_tv_nsec" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
+_ACEOF
+
+
+fi
+
+
+ac_fn_c_check_decl "$LINENO" "UNAME26" "ac_cv_have_decl_UNAME26" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_UNAME26" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_UNAME26 $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "ADDR_NO_RANDOMIZE" "ac_cv_have_decl_ADDR_NO_RANDOMIZE" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_ADDR_NO_RANDOMIZE" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_NO_RANDOMIZE $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "FDPIC_FUNCPTRS" "ac_cv_have_decl_FDPIC_FUNCPTRS" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_FDPIC_FUNCPTRS" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FDPIC_FUNCPTRS $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "MMAP_PAGE_ZERO" "ac_cv_have_decl_MMAP_PAGE_ZERO" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_MMAP_PAGE_ZERO" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MMAP_PAGE_ZERO $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "ADDR_COMPAT_LAYOUT" "ac_cv_have_decl_ADDR_COMPAT_LAYOUT" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_ADDR_COMPAT_LAYOUT" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_COMPAT_LAYOUT $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "READ_IMPLIES_EXEC" "ac_cv_have_decl_READ_IMPLIES_EXEC" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_READ_IMPLIES_EXEC" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_READ_IMPLIES_EXEC $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "ADDR_LIMIT_32BIT" "ac_cv_have_decl_ADDR_LIMIT_32BIT" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_ADDR_LIMIT_32BIT" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_LIMIT_32BIT $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "WHOLE_SECONDS" "ac_cv_have_decl_WHOLE_SECONDS" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_WHOLE_SECONDS" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_WHOLE_SECONDS $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "STICKY_TIMEOUTS" "ac_cv_have_decl_STICKY_TIMEOUTS" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_STICKY_TIMEOUTS" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STICKY_TIMEOUTS $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "ADDR_LIMIT_3GB" "ac_cv_have_decl_ADDR_LIMIT_3GB" "#include <linux/personality.h>
+"
+if test "x$ac_cv_have_decl_ADDR_LIMIT_3GB" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_LIMIT_3GB $ac_have_decl
+_ACEOF
+
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef HAVE_SYS_SWAP_H
+# include <sys/swap.h>
+#endif
+#include <unistd.h>
+
+int
+main ()
+{
+swapon("/dev/null", 0);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+$as_echo "#define SWAPON_HAS_TWO_ARGS 1" >>confdefs.h
+
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Your libc thinks that swapon has 1 arg only." >&5
+$as_echo "$as_me: Your libc thinks that swapon has 1 arg only." >&6;}
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+ac_fn_c_check_decl "$LINENO" "_NL_TIME_WEEK_1STDAY" "ac_cv_have_decl__NL_TIME_WEEK_1STDAY" "#include <langinfo.h>
+"
+if test "x$ac_cv_have_decl__NL_TIME_WEEK_1STDAY" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL__NL_TIME_WEEK_1STDAY $ac_have_decl
+_ACEOF
+
+
+ac_fn_c_check_decl "$LINENO" "llseek" "ac_cv_have_decl_llseek" "#include <unistd.h>
+"
+if test "x$ac_cv_have_decl_llseek" = xyes; then :
+
+$as_echo "#define HAVE_LLSEEK_PROTOTYPE 1" >>confdefs.h
+
+fi
+
+
+ac_fn_c_check_decl "$LINENO" "lseek64" "ac_cv_have_decl_lseek64" "#define _LARGEFILE_SOURCE
+ #define _LARGEFILE64_SOURCE
+ #include <unistd.h>
+"
+if test "x$ac_cv_have_decl_lseek64" = xyes; then :
+
+$as_echo "#define HAVE_LSEEK64_PROTOTYPE 1" >>confdefs.h
+
+fi
+
+
+ac_fn_c_check_decl "$LINENO" "environ" "ac_cv_have_decl_environ" "$ac_includes_default"
+if test "x$ac_cv_have_decl_environ" = xyes; then :
+
+$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h
+
+fi
+
+
+ac_fn_c_check_decl "$LINENO" "strsignal" "ac_cv_have_decl_strsignal" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strsignal" = xyes; then :
+
+$as_echo "#define HAVE_STRSIGNAL_DECL 1" >>confdefs.h
+
+fi
+
+
+for ac_func in \
+ __fpending \
+ __secure_getenv \
+ err \
+ errx \
+ fsync \
+ futimens \
+ getdomainname \
+ getdtablesize \
+ getexecname \
+ getmntinfo \
+ getrlimit \
+ inotify_init \
+ jrand48 \
+ lchown \
+ llseek \
+ lseek64 \
+ nanosleep \
+ personality \
+ posix_fadvise \
+ prctl \
+ rpmatch \
+ scandirat \
+ setresgid \
+ setresuid \
+ sigqueue \
+ srandom \
+ strnchr \
+ strndup \
+ strnlen \
+ strtoull \
+ sysconf \
+ updwtmp \
+ usleep \
+ warn \
+ warnx \
+
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_source+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h> /* for off_t */
+ #include <stdio.h>
+int
+main ()
+{
+int (*fp) (FILE *, off_t, int) = fseeko;
+ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_sys_largefile_source=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _LARGEFILE_SOURCE 1
+#include <sys/types.h> /* for off_t */
+ #include <stdio.h>
+int
+main ()
+{
+int (*fp) (FILE *, off_t, int) = fseeko;
+ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_sys_largefile_source=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_cv_sys_largefile_source=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5
+$as_echo "$ac_cv_sys_largefile_source" >&6; }
+case $ac_cv_sys_largefile_source in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source
+_ACEOF
+;;
+esac
+rm -rf conftest*
+
+# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
+# in glibc 2.1.3, but that breaks too many other things.
+# If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
+if test $ac_cv_sys_largefile_source != unknown; then
+
+$as_echo "#define HAVE_FSEEKO 1" >>confdefs.h
+
+fi
+
+
+for ac_func in openat fstatat unlinkat
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+ have_openat=yes
+else
+ have_openat=no
+fi
+done
+
+for ac_func in ioperm iopl
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+ have_io=yes
+fi
+done
+
+
+ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" "#include <sys/types.h>
+ #include <sys/socket.h>
+"
+if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SA_LEN 1
+_ACEOF
+
+fi
+
+
+SOCKET_LIBS=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
+$as_echo_n "checking for library containing gethostbyname... " >&6; }
+if ${ac_cv_search_gethostbyname+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' nsl; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_gethostbyname=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_gethostbyname+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_gethostbyname+:} false; then :
+
+else
+ ac_cv_search_gethostbyname=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
+$as_echo "$ac_cv_search_gethostbyname" >&6; }
+ac_res=$ac_cv_search_gethostbyname
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+ if test x"$ac_cv_search_gethostbyname" != x"none required"; then
+ SOCKET_LIBS="$SOCKET_LIBS -lnsl";
+ fi
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
+$as_echo_n "checking for library containing socket... " >&6; }
+if ${ac_cv_search_socket+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char socket ();
+int
+main ()
+{
+return socket ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' socket; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_socket=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_socket+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_socket+:} false; then :
+
+else
+ ac_cv_search_socket=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
+$as_echo "$ac_cv_search_socket" >&6; }
+ac_res=$ac_cv_search_socket
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+ if test x"$ac_cv_search_socket" != x"none required"; then
+ SOCKET_LIBS="$SOCKET_LIBS -lsocket";
+ fi
+fi
+
+
+
+
+have_dirfd=no
+for ac_func in dirfd
+do :
+ ac_fn_c_check_func "$LINENO" "dirfd" "ac_cv_func_dirfd"
+if test "x$ac_cv_func_dirfd" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DIRFD 1
+_ACEOF
+ have_dirfd=yes
+else
+ have_dirfd=no
+fi
+done
+
+if test x"$have_dirfd" = xno ; then
+ ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
+ #include <dirent.h>
+"
+if test "x$ac_cv_have_decl_dirfd" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_DIRFD $ac_have_decl
+_ACEOF
+if test $ac_have_decl = 1; then :
+ have_dirfd=yes
+else
+ have_dirfd=no
+fi
+
+fi
+
+have_ddfd=no
+if test x"$have_dirfd" = xno ; then
+ ac_fn_c_check_member "$LINENO" "DIR" "dd_fd" "ac_cv_member_DIR_dd_fd" "#include <sys/types.h>
+ #include <dirent.h>
+"
+if test "x$ac_cv_member_DIR_dd_fd" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DIR_DD_FD 1
+_ACEOF
+
+have_ddfd=yes
+else
+ have_ddfd=no
+fi
+
+fi
+
+case "$have_dirfd:$have_ddfd" in
+no:no)
+ as_fn_error $? "cannot find a method to get filedescriptor of directory" "$LINENO" 5 ;;
+esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_short_name is defined" >&5
+$as_echo_n "checking whether program_invocation_short_name is defined... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <argp.h>
+int
+main ()
+{
+program_invocation_short_name = "test";
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __progname is defined" >&5
+$as_echo_n "checking whether __progname is defined... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+extern char *__progname;
+int
+main ()
+{
+if (*__progname == 0) return;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+$as_echo "#define HAVE___PROGNAME 1" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+
+
+# Check whether --enable-static-programs was given.
+if test "${enable_static_programs+set}" = set; then :
+ enableval=$enable_static_programs;
+fi
+
+
+case $enable_static_programs in
+yes) enable_static_programs=losetup,mount,umount,fdisk,sfdisk,blkid ;;
+no) enable_static_programs= ;;
+esac
+
+
+ case ,$enable_static_programs, in
+ *,losetup,*) static_losetup=yes ;;
+ esac
+ if test "x$static_losetup" = xyes; then
+ HAVE_STATIC_LOSETUP_TRUE=
+ HAVE_STATIC_LOSETUP_FALSE='#'
+else
+ HAVE_STATIC_LOSETUP_TRUE='#'
+ HAVE_STATIC_LOSETUP_FALSE=
+fi
+
+
+ case ,$enable_static_programs, in
+ *,mount,*) static_mount=yes ;;
+ esac
+ if test "x$static_mount" = xyes; then
+ HAVE_STATIC_MOUNT_TRUE=
+ HAVE_STATIC_MOUNT_FALSE='#'
+else
+ HAVE_STATIC_MOUNT_TRUE='#'
+ HAVE_STATIC_MOUNT_FALSE=
+fi
+
+
+ case ,$enable_static_programs, in
+ *,umount,*) static_umount=yes ;;
+ esac
+ if test "x$static_umount" = xyes; then
+ HAVE_STATIC_UMOUNT_TRUE=
+ HAVE_STATIC_UMOUNT_FALSE='#'
+else
+ HAVE_STATIC_UMOUNT_TRUE='#'
+ HAVE_STATIC_UMOUNT_FALSE=
+fi
+
+
+ case ,$enable_static_programs, in
+ *,fdisk,*) static_fdisk=yes ;;
+ esac
+ if test "x$static_fdisk" = xyes; then
+ HAVE_STATIC_FDISK_TRUE=
+ HAVE_STATIC_FDISK_FALSE='#'
+else
+ HAVE_STATIC_FDISK_TRUE='#'
+ HAVE_STATIC_FDISK_FALSE=
+fi
+
+
+ case ,$enable_static_programs, in
+ *,sfdisk,*) static_sfdisk=yes ;;
+ esac
+ if test "x$static_sfdisk" = xyes; then
+ HAVE_STATIC_SFDISK_TRUE=
+ HAVE_STATIC_SFDISK_FALSE='#'
+else
+ HAVE_STATIC_SFDISK_TRUE='#'
+ HAVE_STATIC_SFDISK_FALSE=
+fi
+
+
+ case ,$enable_static_programs, in
+ *,blkid,*) static_blkid=yes ;;
+ esac
+ if test "x$static_blkid" = xyes; then
+ HAVE_STATIC_BLKID_TRUE=
+ HAVE_STATIC_BLKID_FALSE='#'
+else
+ HAVE_STATIC_BLKID_TRUE='#'
+ HAVE_STATIC_BLKID_FALSE=
+fi
+
+
+
+
+
+
+
+ # Check whether --enable-tls was given.
+if test "${enable_tls+set}" = set; then :
+ enableval=$enable_tls;
+else
+ enable_tls=yes
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports thread-local storage" >&5
+$as_echo_n "checking whether the target supports thread-local storage... " >&6; }
+if ${ax_cv_have_tls+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+__thread int a; int b; int main() { return a = b; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ chktls_save_LDFLAGS="$LDFLAGS"
+ case $host in
+ *-*-linux*)
+ LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
+ ;;
+ esac
+ chktls_save_CFLAGS="$CFLAGS"
+ CFLAGS="-fPIC $CFLAGS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int f() { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+__thread int a; int b; int f() { return a = b; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ax_cv_have_tls=yes
+else
+ ax_cv_have_tls=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+else
+ ax_cv_have_tls=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ CFLAGS="$chktls_save_CFLAGS"
+ LDFLAGS="$chktls_save_LDFLAGS"
+else
+ ax_cv_have_tls=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+__thread int a; int b; int main() { return a = b; }
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ chktls_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="-static $LDFLAGS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main() { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+__thread int a; int b; int main() { return a = b; }
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ax_cv_have_tls=yes
+else
+ ax_cv_have_tls=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+else
+ ax_cv_have_tls=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$chktls_save_LDFLAGS"
+ if test $ax_cv_have_tls = yes; then
+ chktls_save_CFLAGS="$CFLAGS"
+ thread_CFLAGS=failed
+ for flag in '' '-pthread' '-lpthread'; do
+ CFLAGS="$flag $chktls_save_CFLAGS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+ void *g(void *d) { return NULL; }
+int
+main ()
+{
+pthread_t t; pthread_create(&t,NULL,g,NULL);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ thread_CFLAGS="$flag"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "X$thread_CFLAGS" != Xfailed; then
+ break
+ fi
+ done
+ CFLAGS="$chktls_save_CFLAGS"
+ if test "X$thread_CFLAGS" != Xfailed; then
+ CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+ __thread int a;
+ static int *a_in_other_thread;
+ static void *
+ thread_func (void *arg)
+ {
+ a_in_other_thread = &a;
+ return (void *)0;
+ }
+int
+main ()
+{
+pthread_t thread;
+ void *thread_retval;
+ int *a_in_main_thread;
+ if (pthread_create (&thread, (pthread_attr_t *)0,
+ thread_func, (void *)0))
+ return 0;
+ a_in_main_thread = &a;
+ if (pthread_join (thread, &thread_retval))
+ return 0;
+ return (a_in_other_thread == a_in_main_thread);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ax_cv_have_tls=yes
+else
+ ax_cv_have_tls=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ CFLAGS="$chktls_save_CFLAGS"
+ fi
+ fi
+else
+ ax_cv_have_tls=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_tls" >&5
+$as_echo "$ax_cv_have_tls" >&6; }
+
+ if test "$enable_tls $ax_cv_have_tls" = "yes yes"; then
+
+$as_echo "#define HAVE_TLS 1" >>confdefs.h
+
+ fi
+
+
+
+
+if ${scanf_cv_alloc_modifier+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <stdio.h>
+
+ #ifdef __GLIBC__
+
+ #if !(__GLIBC_PREREQ(2, 7))
+ #error %m is not available
+ #endif
+
+ #else
+
+ #error Your C-library is not supported.
+ #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ scanf_cv_alloc_modifier=ms
+else
+ scanf_cv_alloc_modifier=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+# include <stdio.h>
+int main()
+{
+ int i;
+ char *s;
+ i = sscanf("x", "%ms", &s);
+ if (i == 1)
+ return 0;
+ return 1;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ scanf_cv_alloc_modifier=ms
+else
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+# include <stdio.h>
+int main()
+{
+ int i;
+ char *s;
+ i = sscanf("x", "%as", &s);
+ if (i == 1)
+ return 0;
+ return 1;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ scanf_cv_alloc_modifier=as
+else
+ scanf_cv_alloc_modifier=no
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking scanf string alloc modifiers" >&5
+$as_echo_n "checking scanf string alloc modifiers... " >&6; }
+case "$scanf_cv_alloc_modifier" in
+ms)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: (%ms) yes" >&5
+$as_echo "(%ms) yes" >&6; }
+
+$as_echo "#define HAVE_SCANF_MS_MODIFIER 1" >>confdefs.h
+
+ have_scanf_alloc_modifier=yes
+ ;;
+as)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: (%as) yes" >&5
+$as_echo "(%as) yes" >&6; }
+ have_scanf_alloc_modifier=yes
+
+$as_echo "#define HAVE_SCANF_AS_MODIFIER 1" >>confdefs.h
+
+ ;;
+*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_scanf_alloc_modifier=no
+ ;;
+esac
+
+
+
+ have_util=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openpty in -lutil" >&5
+$as_echo_n "checking for openpty in -lutil... " >&6; }
+if ${ac_cv_lib_util_openpty+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lutil $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char openpty ();
+int
+main ()
+{
+return openpty ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_util_openpty=yes
+else
+ ac_cv_lib_util_openpty=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_openpty" >&5
+$as_echo "$ac_cv_lib_util_openpty" >&6; }
+if test "x$ac_cv_lib_util_openpty" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBUTIL 1
+_ACEOF
+
+ LIBS="-lutil $LIBS"
+
+else
+ have_util=no
+fi
+
+ if test $have_util = yes; then
+ HAVE_UTIL_TRUE=
+ HAVE_UTIL_FALSE='#'
+else
+ HAVE_UTIL_TRUE='#'
+ HAVE_UTIL_FALSE=
+fi
+
+
+
+
+ have_termcap=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetnum in -ltermcap" >&5
+$as_echo_n "checking for tgetnum in -ltermcap... " >&6; }
+if ${ac_cv_lib_termcap_tgetnum+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltermcap $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetnum ();
+int
+main ()
+{
+return tgetnum ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_termcap_tgetnum=yes
+else
+ ac_cv_lib_termcap_tgetnum=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetnum" >&5
+$as_echo "$ac_cv_lib_termcap_tgetnum" >&6; }
+if test "x$ac_cv_lib_termcap_tgetnum" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBTERMCAP 1
+_ACEOF
+
+ LIBS="-ltermcap $LIBS"
+
+else
+ have_termcap=no
+fi
+
+ if test $have_termcap = yes; then
+ HAVE_TERMCAP_TRUE=
+ HAVE_TERMCAP_FALSE='#'
+else
+ HAVE_TERMCAP_TRUE='#'
+ HAVE_TERMCAP_FALSE=
+fi
+
+
+
+ac_fn_c_check_type "$LINENO" "union semun" "ac_cv_type_union_semun" "
+#include <sys/sem.h>
+
+"
+if test "x$ac_cv_type_union_semun" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_SEMUN 1
+_ACEOF
+
+
+fi
+
+ac_fn_c_check_type "$LINENO" "loff_t" "ac_cv_type_loff_t" "$ac_includes_default"
+if test "x$ac_cv_type_loff_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_LOFF_T 1
+_ACEOF
+
+
+fi
+
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <wchar.h>
+#include <wctype.h>
+#include <stdio.h>
+
+int
+main ()
+{
+
+ wchar_t wc;
+ wint_t w;
+ w = fgetwc(stdin);
+ if (w == WEOF) exit(1);
+ wc = w;
+ fputwc(wc,stdout);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_WIDECHAR 1" >>confdefs.h
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ac_fn_c_check_type "$LINENO" "cpu_set_t" "ac_cv_type_cpu_set_t" "
+#include <sched.h>
+
+"
+if test "x$ac_cv_type_cpu_set_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_CPU_SET_T 1
+_ACEOF
+
+have_cpu_set_t=yes
+fi
+
+
+ if test "x$have_cpu_set_t" = xyes; then
+ HAVE_CPU_SET_T_TRUE=
+ HAVE_CPU_SET_T_FALSE='#'
+else
+ HAVE_CPU_SET_T_TRUE='#'
+ HAVE_CPU_SET_T_FALSE=
+fi
+
+
+ac_fn_c_check_decl "$LINENO" "CPU_ALLOC" "ac_cv_have_decl_CPU_ALLOC" "
+#include <sched.h>
+
+"
+if test "x$ac_cv_have_decl_CPU_ALLOC" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_CPU_ALLOC $ac_have_decl
+_ACEOF
+
+
+# on Solaris, you can't mix and match standards, since we use c99
+# aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
+# check for crypt.h and use that without XOPEN_SOURCE.
+for ac_header in crypt.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "crypt.h" "ac_cv_header_crypt_h" "$ac_includes_default"
+if test "x$ac_cv_header_crypt_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_CRYPT_H 1
+_ACEOF
+
+fi
+
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef HAVE_CRYPT_H
+#include <crypt.h>
+#else
+#define _XOPEN_SOURCE
+#include <unistd.h>
+#endif
+
+int
+main ()
+{
+
+char *c = crypt("abc","pw");
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+else
+
+ LIBS="$LIBS -lcrypt"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #ifdef HAVE_CRYPT_H
+ #include <crypt.h>
+ #else
+ #define _XOPEN_SOURCE
+ #include <unistd.h>
+ #endif
+
+int
+main ()
+{
+
+ char *c = crypt("abc","pw");
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+
+$as_echo "#define HAVE_LIBCRYPT 1" >>confdefs.h
+
+ have_libcrypt=yes
+
+else
+
+ as_fn_error $? "crypt() is not available" "$LINENO" 5
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "x$have_libcrypt" = xyes; then
+ HAVE_LIBCRYPT_TRUE=
+ HAVE_LIBCRYPT_FALSE='#'
+else
+ HAVE_LIBCRYPT_TRUE='#'
+ HAVE_LIBCRYPT_FALSE=
+fi
+
+
+
+
+# Check whether --with-selinux was given.
+if test "${with_selinux+set}" = set; then :
+ withval=$with_selinux;
+else
+ with_selinux=no
+
+fi
+
+
+if test "x$with_selinux" = xno; then
+ if false; then
+ HAVE_SELINUX_TRUE=
+ HAVE_SELINUX_FALSE='#'
+else
+ HAVE_SELINUX_TRUE='#'
+ HAVE_SELINUX_FALSE=
+fi
+
+else
+
+
+ have_selinux=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getprevcon in -lselinux" >&5
+$as_echo_n "checking for getprevcon in -lselinux... " >&6; }
+if ${ac_cv_lib_selinux_getprevcon+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lselinux $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char getprevcon ();
+int
+main ()
+{
+return getprevcon ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_selinux_getprevcon=yes
+else
+ ac_cv_lib_selinux_getprevcon=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getprevcon" >&5
+$as_echo "$ac_cv_lib_selinux_getprevcon" >&6; }
+if test "x$ac_cv_lib_selinux_getprevcon" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBSELINUX 1
+_ACEOF
+
+ LIBS="-lselinux $LIBS"
+
+else
+ have_selinux=no
+fi
+
+ if test $have_selinux = yes; then
+ HAVE_SELINUX_TRUE=
+ HAVE_SELINUX_FALSE='#'
+else
+ HAVE_SELINUX_TRUE='#'
+ HAVE_SELINUX_FALSE=
+fi
+
+
+ case "$with_selinux:$have_selinux" in
+ yes:no) as_fn_error $? "SELinux selected but libselinux not found" "$LINENO" 5;;
+ esac
+fi
+
+if test "x$have_selinux" = xyes; then
+ SELINUX_LIBS="-lselinux -lsepol"
+ SELINUX_LIBS_STATIC="-lselinux -lsepol"
+ old_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $SELINUX_LIBS"
+ # This function is missing in old libselinux 1.xx versions
+ for ac_func in security_get_initial_context
+do :
+ ac_fn_c_check_func "$LINENO" "security_get_initial_context" "ac_cv_func_security_get_initial_context"
+if test "x$ac_cv_func_security_get_initial_context" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SECURITY_GET_INITIAL_CONTEXT 1
+_ACEOF
+
+fi
+done
+
+ LDFLAGS="$old_LDFLAGS"
+fi
+
+
+
+
+# Check whether --with-audit was given.
+if test "${with_audit+set}" = set; then :
+ withval=$with_audit;
+else
+ with_audit=no
+
+fi
+
+
+if test "x$with_audit" = xno; then
+ if false; then
+ HAVE_AUDIT_TRUE=
+ HAVE_AUDIT_FALSE='#'
+else
+ HAVE_AUDIT_TRUE='#'
+ HAVE_AUDIT_FALSE=
+fi
+
+else
+
+
+ have_audit=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for audit_log_user_message in -laudit" >&5
+$as_echo_n "checking for audit_log_user_message in -laudit... " >&6; }
+if ${ac_cv_lib_audit_audit_log_user_message+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-laudit $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char audit_log_user_message ();
+int
+main ()
+{
+return audit_log_user_message ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_audit_audit_log_user_message=yes
+else
+ ac_cv_lib_audit_audit_log_user_message=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_audit_audit_log_user_message" >&5
+$as_echo "$ac_cv_lib_audit_audit_log_user_message" >&6; }
+if test "x$ac_cv_lib_audit_audit_log_user_message" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBAUDIT 1
+_ACEOF
+
+ LIBS="-laudit $LIBS"
+
+else
+ have_audit=no
+fi
+
+ if test $have_audit = yes; then
+ HAVE_AUDIT_TRUE=
+ HAVE_AUDIT_FALSE='#'
+else
+ HAVE_AUDIT_TRUE='#'
+ HAVE_AUDIT_FALSE=
+fi
+
+
+ case "$with_audit:$have_audit" in
+ yes:no)
+ as_fn_error $? "Audit selected but libaudit not found (or does not support audit_log_user_message())" "$LINENO" 5
+ ;;
+ esac
+fi
+
+
+# Check whether --with-udev was given.
+if test "${with_udev+set}" = set; then :
+ withval=$with_udev;
+else
+ with_udev=auto
+
+fi
+
+
+if test "x$with_udev" = xno; then
+ if false; then
+ HAVE_UDEV_TRUE=
+ HAVE_UDEV_FALSE='#'
+else
+ HAVE_UDEV_TRUE='#'
+ HAVE_UDEV_FALSE=
+fi
+
+else
+
+
+ have_udev=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for udev_new in -ludev" >&5
+$as_echo_n "checking for udev_new in -ludev... " >&6; }
+if ${ac_cv_lib_udev_udev_new+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ludev $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char udev_new ();
+int
+main ()
+{
+return udev_new ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_udev_udev_new=yes
+else
+ ac_cv_lib_udev_udev_new=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_udev_udev_new" >&5
+$as_echo "$ac_cv_lib_udev_udev_new" >&6; }
+if test "x$ac_cv_lib_udev_udev_new" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBUDEV 1
+_ACEOF
+
+ LIBS="-ludev $LIBS"
+
+else
+ have_udev=no
+fi
+
+ if test $have_udev = yes; then
+ HAVE_UDEV_TRUE=
+ HAVE_UDEV_FALSE='#'
+else
+ HAVE_UDEV_TRUE='#'
+ HAVE_UDEV_FALSE=
+fi
+
+
+ case "$with_udev:$have_udev" in
+ yes:no)
+ as_fn_error $? "udev selected but libudev not found" "$LINENO" 5
+ ;;
+ esac
+fi
+
+
+# Check whether --with-ncurses was given.
+if test "${with_ncurses+set}" = set; then :
+ withval=$with_ncurses;
+else
+ with_ncurses=auto
+
+fi
+
+ if false; then
+ HAVE_NCURSES_TRUE=
+ HAVE_NCURSES_FALSE='#'
+else
+ HAVE_NCURSES_TRUE='#'
+ HAVE_NCURSES_FALSE=
+fi
+
+
+if test "x$with_ncurses" != xno; then
+ have_ncurses=no
+ for ac_header in ncurses.h ncurses/ncurses.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+ if test "x$with_ncurses" = xauto; then
+
+
+ have_ncurses=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncursesw" >&5
+$as_echo_n "checking for initscr in -lncursesw... " >&6; }
+if ${ac_cv_lib_ncursesw_initscr+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncursesw $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char initscr ();
+int
+main ()
+{
+return initscr ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_ncursesw_initscr=yes
+else
+ ac_cv_lib_ncursesw_initscr=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncursesw_initscr" >&5
+$as_echo "$ac_cv_lib_ncursesw_initscr" >&6; }
+if test "x$ac_cv_lib_ncursesw_initscr" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBNCURSESW 1
+_ACEOF
+
+ LIBS="-lncursesw $LIBS"
+
+else
+ have_ncurses=no
+fi
+
+ if test $have_ncurses = yes; then
+ HAVE_NCURSES_TRUE=
+ HAVE_NCURSES_FALSE='#'
+else
+ HAVE_NCURSES_TRUE='#'
+ HAVE_NCURSES_FALSE=
+fi
+
+
+ if test "x$have_ncurses" = xyes; then
+ for ac_header in ncursesw/ncurses.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "ncursesw/ncurses.h" "ac_cv_header_ncursesw_ncurses_h" "$ac_includes_default"
+if test "x$ac_cv_header_ncursesw_ncurses_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_NCURSESW_NCURSES_H 1
+_ACEOF
+
+fi
+
+done
+
+ NCURSES_LIBS="-lncursesw"
+ fi
+ fi
+ if test "x$have_ncurses" = xno; then
+
+
+ have_ncurses=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncurses" >&5
+$as_echo_n "checking for initscr in -lncurses... " >&6; }
+if ${ac_cv_lib_ncurses_initscr+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncurses $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char initscr ();
+int
+main ()
+{
+return initscr ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_ncurses_initscr=yes
+else
+ ac_cv_lib_ncurses_initscr=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_initscr" >&5
+$as_echo "$ac_cv_lib_ncurses_initscr" >&6; }
+if test "x$ac_cv_lib_ncurses_initscr" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBNCURSES 1
+_ACEOF
+
+ LIBS="-lncurses $LIBS"
+
+else
+ have_ncurses=no
+fi
+
+ if test $have_ncurses = yes; then
+ HAVE_NCURSES_TRUE=
+ HAVE_NCURSES_FALSE='#'
+else
+ HAVE_NCURSES_TRUE='#'
+ HAVE_NCURSES_FALSE=
+fi
+
+
+ if test "x$have_ncurses" = xyes; then
+ NCURSES_LIBS="-lncurses"
+ fi
+ fi
+
+fi
+
+done
+
+ if test "x$have_ncurses" = xno; then
+ as_fn_error $? "ncurses or ncursesw selected, but library not found (--without-ncurses to disable)" "$LINENO" 5
+ fi
+fi
+
+
+
+
+# Check whether --with-slang was given.
+if test "${with_slang+set}" = set; then :
+ withval=$with_slang;
+else
+ with_slang=no
+
+fi
+
+have_slang=no
+if test "x$with_slang" = xyes; then
+ for ac_header in slang.h slang/slang.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+ for ac_header in slcurses.h slang/slcurses.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
+#ifdef HAVE_SLANG_H
+#include <slang.h>
+#elif defined(HAVE_SLANG_SLANG_H)
+#include <slang/slang.h>
+#endif
+
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+ have_slang=yes
+fi
+
+done
+
+ if test "x$have_slang" = xno; then
+ as_fn_error $? "slang selected but slcurses.h not found" "$LINENO" 5
+ fi
+fi
+ if test "x$have_slang" = xyes; then
+ HAVE_SLANG_TRUE=
+ HAVE_SLANG_FALSE='#'
+else
+ HAVE_SLANG_TRUE='#'
+ HAVE_SLANG_FALSE=
+fi
+
+
+
+ if test "x$have_slang" = xyes -o "x$have_ncurses" = xyes; then
+ BUILD_CFDISK_TRUE=
+ BUILD_CFDISK_FALSE='#'
+else
+ BUILD_CFDISK_TRUE='#'
+ BUILD_CFDISK_FALSE=
+fi
+
+
+
+have_tinfo=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltinfo" >&5
+$as_echo_n "checking for tgetent in -ltinfo... " >&6; }
+if ${ac_cv_lib_tinfo_tgetent+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltinfo $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_tinfo_tgetent=yes
+else
+ ac_cv_lib_tinfo_tgetent=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_tgetent" >&5
+$as_echo "$ac_cv_lib_tinfo_tgetent" >&6; }
+if test "x$ac_cv_lib_tinfo_tgetent" = xyes; then :
+ have_tinfo=yes
+fi
+
+ if test "x$have_tinfo" = xyes; then
+ HAVE_TINFO_TRUE=
+ HAVE_TINFO_FALSE='#'
+else
+ HAVE_TINFO_TRUE='#'
+ HAVE_TINFO_FALSE=
+fi
+
+
+
+
+# Check whether --with-utempter was given.
+if test "${with_utempter+set}" = set; then :
+ withval=$with_utempter;
+else
+ with_utempter=no
+
+fi
+
+
+if test "x$with_utempter" = xyes; then
+
+
+ have_utempter=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utempter_add_record in -lutempter" >&5
+$as_echo_n "checking for utempter_add_record in -lutempter... " >&6; }
+if ${ac_cv_lib_utempter_utempter_add_record+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lutempter $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char utempter_add_record ();
+int
+main ()
+{
+return utempter_add_record ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_utempter_utempter_add_record=yes
+else
+ ac_cv_lib_utempter_utempter_add_record=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_utempter_utempter_add_record" >&5
+$as_echo "$ac_cv_lib_utempter_utempter_add_record" >&6; }
+if test "x$ac_cv_lib_utempter_utempter_add_record" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBUTEMPTER 1
+_ACEOF
+
+ LIBS="-lutempter $LIBS"
+
+else
+ have_utempter=no
+fi
+
+ if test $have_utempter = yes; then
+ HAVE_UTEMPTER_TRUE=
+ HAVE_UTEMPTER_FALSE='#'
+else
+ HAVE_UTEMPTER_TRUE='#'
+ HAVE_UTEMPTER_FALSE=
+fi
+
+
+ if test "x$have_utempter" = xno; then
+ as_fn_error $? "utempter selected but libutempter not found" "$LINENO" 5
+ fi
+else
+ if false; then
+ HAVE_UTEMPTER_TRUE=
+ HAVE_UTEMPTER_FALSE='#'
+else
+ HAVE_UTEMPTER_TRUE='#'
+ HAVE_UTEMPTER_FALSE=
+fi
+
+fi
+
+
+# Check whether --enable-most-builds was given.
+if test "${enable_most_builds+set}" = set; then :
+ enableval=$enable_most_builds;
+else
+ enable_most_builds=no
+
+fi
+
+if test "x$enable_most_builds" = xyes; then
+ enable_arch=check
+ enable_ddate=yes
+ enable_elvtune=check
+ enable_last=yes
+ enable_line=yes
+ enable_mesg=yes
+ enable_reset=yes
+ enable_vipw=yes
+ enable_chfn_chsh=yes
+ enable_newgrp=yes
+ enable_write=yes
+fi
+
+# Check whether --enable-libuuid was given.
+if test "${enable_libuuid+set}" = set; then :
+ enableval=$enable_libuuid;
+else
+ enable_libuuid=yes
+
+fi
+
+
+
+
+
+build_libuuid=$enable_libuuid
+
+
+
+ if test "x$build_libuuid" = xyes; then
+ BUILD_LIBUUID_TRUE=
+ BUILD_LIBUUID_FALSE='#'
+else
+ BUILD_LIBUUID_TRUE='#'
+ BUILD_LIBUUID_FALSE=
+fi
+
+
+if test "x$enable_libuuid" = xyes; then
+
+$as_echo "#define HAVE_LIBUUID 1" >>confdefs.h
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: uuid library is not found; mkswap(8) will not generate UUIDs" >&5
+$as_echo "$as_me: WARNING: uuid library is not found; mkswap(8) will not generate UUIDs" >&2;}
+fi
+
+# Check whether --enable-libblkid was given.
+if test "${enable_libblkid+set}" = set; then :
+ enableval=$enable_libblkid;
+else
+ enable_libblkid=yes
+
+fi
+
+
+
+
+
+build_libblkid=$enable_libblkid
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LIBBLKID_VERSION "$LIBBLKID_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define LIBBLKID_DATE "$LIBBLKID_DATE"
+_ACEOF
+
+if test "x$build_libblkid" = xyes; then
+
+$as_echo "#define HAVE_LIBBLKID 1" >>confdefs.h
+
+fi
+ if test "x$build_libblkid" = xyes; then
+ BUILD_LIBBLKID_TRUE=
+ BUILD_LIBBLKID_FALSE='#'
+else
+ BUILD_LIBBLKID_TRUE='#'
+ BUILD_LIBBLKID_FALSE=
+fi
+
+ if test "x$build_libblkid" = xyes -a "x$enable_static" = xyes; then
+ BUILD_LIBBLKID_TESTS_TRUE=
+ BUILD_LIBBLKID_TESTS_FALSE='#'
+else
+ BUILD_LIBBLKID_TESTS_TRUE='#'
+ BUILD_LIBBLKID_TESTS_FALSE=
+fi
+
+
+# Check whether --enable-libmount was given.
+if test "${enable_libmount+set}" = set; then :
+ enableval=$enable_libmount;
+else
+ enable_libmount=check
+
+fi
+
+
+
+
+
+build_libmount=$enable_libmount
+
+
+
+ if test "x$build_libmount" != xno; then
+
+ case $enable_libmount:$linux_os in #(
+ no:*)
+ build_libmount=no ;;
+ yes:yes)
+ build_libmount=yes ;;
+ yes:*)
+ as_fn_error $? "libmount selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_libmount=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build libmount" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build libmount" >&2;}
+ build_libmount=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_libmount" != xno; then
+ case $enable_libmount:$build_libblkid in #(
+ no:*)
+ build_libmount=no ;;
+ yes:yes)
+ build_libmount=yes ;;
+ yes:*)
+ as_fn_error $? "libblkid is needed to build libmount" "$LINENO" 5;;
+ check:yes)
+ build_libmount=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libblkid disabled; do not build libmount" >&5
+$as_echo "$as_me: WARNING: libblkid disabled; do not build libmount" >&2;}
+ build_libmount=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_libmount" != xno; then
+ case $enable_libmount:$have_scanf_alloc_modifier in #(
+ no:*)
+ build_libmount=no ;;
+ yes:yes)
+ build_libmount=yes ;;
+ yes:*)
+ as_fn_error $? "libmount selected, but required scanf string alloc modifier not available" "$LINENO" 5;;
+ check:yes)
+ build_libmount=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: scanf string alloc modifier not found; do not build libmount" >&5
+$as_echo "$as_me: WARNING: scanf string alloc modifier not found; do not build libmount" >&2;}
+ build_libmount=no ;;
+ esac
+ fi
+
+ if test "x$build_libmount" = xyes; then
+ BUILD_LIBMOUNT_TRUE=
+ BUILD_LIBMOUNT_FALSE='#'
+else
+ BUILD_LIBMOUNT_TRUE='#'
+ BUILD_LIBMOUNT_FALSE=
+fi
+
+ if test "x$build_libmount" = xyes -a "x$enable_static" = xyes; then
+ BUILD_LIBMOUNT_TESTS_TRUE=
+ BUILD_LIBMOUNT_TESTS_FALSE='#'
+else
+ BUILD_LIBMOUNT_TESTS_TRUE='#'
+ BUILD_LIBMOUNT_TESTS_FALSE=
+fi
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LIBMOUNT_VERSION "$LIBMOUNT_VERSION"
+_ACEOF
+
+
+
+# Check whether --enable-deprecated-mount was given.
+if test "${enable_deprecated_mount+set}" = set; then :
+ enableval=$enable_deprecated_mount;
+else
+ enable_deprecated_mount=no
+
+fi
+
+
+
+
+
+build_deprecated_mount=$enable_deprecated_mount
+
+
+
+ if test "x$build_deprecated_mount" != xno; then
+
+ case $enable_deprecated_mount:$linux_os in #(
+ no:*)
+ build_deprecated_mount=no ;;
+ yes:yes)
+ build_deprecated_mount=yes ;;
+ yes:*)
+ as_fn_error $? "deprecated_mount selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_deprecated_mount=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build deprecated_mount" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build deprecated_mount" >&2;}
+ build_deprecated_mount=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_deprecated_mount" != xno; then
+ case $enable_deprecated_mount:$build_libblkid in #(
+ no:*)
+ build_deprecated_mount=no ;;
+ yes:yes)
+ build_deprecated_mount=yes ;;
+ yes:*)
+ as_fn_error $? "libblkid is needed to build deprecated_mount" "$LINENO" 5;;
+ check:yes)
+ build_deprecated_mount=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libblkid disabled; do not build deprecated_mount" >&5
+$as_echo "$as_me: WARNING: libblkid disabled; do not build deprecated_mount" >&2;}
+ build_deprecated_mount=no ;;
+ esac
+ fi
+
+ if test "x$build_deprecated_mount" = xyes; then
+ BUILD_DEPRECATED_MOUNT_TRUE=
+ BUILD_DEPRECATED_MOUNT_FALSE='#'
+else
+ BUILD_DEPRECATED_MOUNT_TRUE='#'
+ BUILD_DEPRECATED_MOUNT_FALSE=
+fi
+
+
+
+# Check whether --enable-mount was given.
+if test "${enable_mount+set}" = set; then :
+ enableval=$enable_mount;
+else
+ enable_mount=check
+
+fi
+
+
+
+
+
+build_mount=$enable_mount
+
+
+
+
+ if test "x$build_mount" != xno; then
+ case $enable_mount:$build_libmount in #(
+ no:*)
+ build_mount=no ;;
+ yes:yes)
+ build_mount=yes ;;
+ yes:*)
+ as_fn_error $? "libmount is needed to build mount" "$LINENO" 5;;
+ check:yes)
+ build_mount=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libmount disabled; do not build mount" >&5
+$as_echo "$as_me: WARNING: libmount disabled; do not build mount" >&2;}
+ build_mount=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_mount" != xno; then
+ case $enable_mount:$build_deprecated_mount in #(
+ no:*)
+ build_mount=no ;;
+ check:yes)
+ build_mount=no ;;
+ yes:yes)
+ as_fn_error $? "mount selected, but it conflicts with old deprecated mount version" "$LINENO" 5;;
+ esac
+ fi
+
+ if test "x$build_mount" = xyes; then
+ BUILD_MOUNT_TRUE=
+ BUILD_MOUNT_FALSE='#'
+else
+ BUILD_MOUNT_TRUE='#'
+ BUILD_MOUNT_FALSE=
+fi
+
+
+
+# Check whether --enable-losetup was given.
+if test "${enable_losetup+set}" = set; then :
+ enableval=$enable_losetup;
+else
+ enable_losetup=check
+
+fi
+
+
+
+
+
+build_losetup=$enable_losetup
+
+
+
+ if test "x$build_losetup" != xno; then
+
+ case $enable_losetup:$linux_os in #(
+ no:*)
+ build_losetup=no ;;
+ yes:yes)
+ build_losetup=yes ;;
+ yes:*)
+ as_fn_error $? "losetup selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_losetup=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build losetup" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build losetup" >&2;}
+ build_losetup=no ;;
+ esac
+ fi
+
+ if test "x$build_losetup" = xyes; then
+ BUILD_LOSETUP_TRUE=
+ BUILD_LOSETUP_FALSE='#'
+else
+ BUILD_LOSETUP_TRUE='#'
+ BUILD_LOSETUP_FALSE=
+fi
+
+
+
+# Check whether --enable-fsck was given.
+if test "${enable_fsck+set}" = set; then :
+ enableval=$enable_fsck;
+else
+ enable_fsck=check
+
+fi
+
+
+
+
+
+build_fsck=$enable_fsck
+
+
+
+
+ if test "x$build_fsck" != xno; then
+ case $enable_fsck:$build_libmount in #(
+ no:*)
+ build_fsck=no ;;
+ yes:yes)
+ build_fsck=yes ;;
+ yes:*)
+ as_fn_error $? "libmount is needed to build fsck" "$LINENO" 5;;
+ check:yes)
+ build_fsck=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libmount disabled; do not build fsck" >&5
+$as_echo "$as_me: WARNING: libmount disabled; do not build fsck" >&2;}
+ build_fsck=no ;;
+ esac
+ fi
+
+ if test "x$build_fsck" = xyes; then
+ BUILD_FSCK_TRUE=
+ BUILD_FSCK_FALSE='#'
+else
+ BUILD_FSCK_TRUE='#'
+ BUILD_FSCK_FALSE=
+fi
+
+
+
+# Check whether --enable-partx was given.
+if test "${enable_partx+set}" = set; then :
+ enableval=$enable_partx;
+else
+ enable_partx=check
+
+fi
+
+
+
+
+
+build_partx=$enable_partx
+
+
+
+ if test "x$build_partx" != xno; then
+
+ case $enable_partx:$linux_os in #(
+ no:*)
+ build_partx=no ;;
+ yes:yes)
+ build_partx=yes ;;
+ yes:*)
+ as_fn_error $? "partx selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_partx=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build partx" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build partx" >&2;}
+ build_partx=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_partx" != xno; then
+ case $enable_partx:$build_libblkid in #(
+ no:*)
+ build_partx=no ;;
+ yes:yes)
+ build_partx=yes ;;
+ yes:*)
+ as_fn_error $? "libblkid is needed to build partx" "$LINENO" 5;;
+ check:yes)
+ build_partx=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libblkid disabled; do not build partx" >&5
+$as_echo "$as_me: WARNING: libblkid disabled; do not build partx" >&2;}
+ build_partx=no ;;
+ esac
+ fi
+
+ if test "x$build_partx" = xyes; then
+ BUILD_PARTX_TRUE=
+ BUILD_PARTX_FALSE='#'
+else
+ BUILD_PARTX_TRUE='#'
+ BUILD_PARTX_FALSE=
+fi
+
+
+
+# Check whether --enable-uuidd was given.
+if test "${enable_uuidd+set}" = set; then :
+ enableval=$enable_uuidd;
+else
+ enable_uuidd=check
+
+fi
+
+
+
+
+
+build_uuidd=$enable_uuidd
+
+
+
+
+ if test "x$build_uuidd" != xno; then
+ case $enable_uuidd:$build_libuuid in #(
+ no:*)
+ build_uuidd=no ;;
+ yes:yes)
+ build_uuidd=yes ;;
+ yes:*)
+ as_fn_error $? "libuuid is needed to build uuidd" "$LINENO" 5;;
+ check:yes)
+ build_uuidd=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libuuid disabled; do not build uuidd" >&5
+$as_echo "$as_me: WARNING: libuuid disabled; do not build uuidd" >&2;}
+ build_uuidd=no ;;
+ esac
+ fi
+
+if test "x$build_uuidd" = xyes; then
+
+$as_echo "#define HAVE_UUIDD 1" >>confdefs.h
+
+fi
+ if test "x$build_uuidd" = xyes; then
+ BUILD_UUIDD_TRUE=
+ BUILD_UUIDD_FALSE='#'
+else
+ BUILD_UUIDD_TRUE='#'
+ BUILD_UUIDD_FALSE=
+fi
+
+
+
+# Check whether --enable-mountpoint was given.
+if test "${enable_mountpoint+set}" = set; then :
+ enableval=$enable_mountpoint;
+else
+ enable_mountpoint=check
+
+fi
+
+
+
+
+
+build_mountpoint=$enable_mountpoint
+
+
+
+
+ if test "x$build_mountpoint" != xno; then
+ case $enable_mountpoint:$build_libmount in #(
+ no:*)
+ build_mountpoint=no ;;
+ yes:yes)
+ build_mountpoint=yes ;;
+ yes:*)
+ as_fn_error $? "libmount is needed to build mountpoint" "$LINENO" 5;;
+ check:yes)
+ build_mountpoint=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libmount disabled; do not build mountpoint" >&5
+$as_echo "$as_me: WARNING: libmount disabled; do not build mountpoint" >&2;}
+ build_mountpoint=no ;;
+ esac
+ fi
+
+ if test "x$build_mountpoint" = xyes; then
+ BUILD_MOUNTPOINT_TRUE=
+ BUILD_MOUNTPOINT_FALSE='#'
+else
+ BUILD_MOUNTPOINT_TRUE='#'
+ BUILD_MOUNTPOINT_FALSE=
+fi
+
+
+
+# Check whether --enable-fallocate was given.
+if test "${enable_fallocate+set}" = set; then :
+ enableval=$enable_fallocate;
+else
+ enable_fallocate=check
+
+fi
+
+
+
+
+
+build_fallocate=$enable_fallocate
+
+
+
+ if test "x$build_fallocate" != xno; then
+
+ case $enable_fallocate:$linux_os in #(
+ no:*)
+ build_fallocate=no ;;
+ yes:yes)
+ build_fallocate=yes ;;
+ yes:*)
+ as_fn_error $? "fallocate selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_fallocate=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build fallocate" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build fallocate" >&2;}
+ build_fallocate=no ;;
+ esac
+ fi
+
+
+
+
+
+ if false; then
+ HAVE_FALLOCATE_TRUE=
+ HAVE_FALLOCATE_FALSE='#'
+else
+ HAVE_FALLOCATE_TRUE='#'
+ HAVE_FALLOCATE_FALSE=
+fi
+
+
+ if test "x$build_fallocate" != xno; then
+ if test "x$enable_fallocate" = xno; then
+ build_fallocate=no
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syscall fallocate" >&5
+$as_echo_n "checking for syscall fallocate... " >&6; }
+if ${ul_cv_syscall_fallocate+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_fallocate;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=SYS_fallocate
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_fallocate;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=_NR_fallocate
+else
+
+ syscall=no
+ if test "x$linux_os" = xyes; then
+ case $host_cpu in
+
+ esac
+ fi
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ ul_cv_syscall_fallocate=$syscall
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_syscall_fallocate" >&5
+$as_echo "$ul_cv_syscall_fallocate" >&6; }
+ if test "x$ul_cv_syscall_fallocate" != xno; then
+ HAVE_FALLOCATE_TRUE=
+ HAVE_FALLOCATE_FALSE='#'
+else
+ HAVE_FALLOCATE_TRUE='#'
+ HAVE_FALLOCATE_FALSE=
+fi
+
+ case $ul_cv_syscall_fallocate in #(
+ no) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to detect syscall fallocate." >&5
+$as_echo "$as_me: WARNING: Unable to detect syscall fallocate." >&2;} ;;
+ SYS_*) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define SYS_fallocate $ul_cv_syscall_fallocate
+_ACEOF
+ ;;
+ esac
+
+ case $enable_fallocate:$ul_cv_syscall_fallocate in #(
+ no:*)
+ build_fallocate=no ;;
+ yes:no)
+ as_fn_error $? "fallocate selected but fallocate syscall not found" "$LINENO" 5 ;;
+ check:no)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: fallocate syscall not found; do not build fallocate" >&5
+$as_echo "$as_me: WARNING: fallocate syscall not found; do not build fallocate" >&2;}
+ build_fallocate=no ;;
+ *)
+ build_fallocate=yes ;;
+ esac
+ fi
+ fi
+
+ if test "x$build_fallocate" = xyes; then
+ BUILD_FALLOCATE_TRUE=
+ BUILD_FALLOCATE_FALSE='#'
+else
+ BUILD_FALLOCATE_TRUE='#'
+ BUILD_FALLOCATE_FALSE=
+fi
+
+
+if test "x$build_fallocate" = xyes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for valid fallocate() function" >&5
+$as_echo_n "checking for valid fallocate() function... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_LINUX_FALLOC_H
+# include <linux/falloc.h>
+#endif
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
+
+int
+main ()
+{
+
+ long ret;
+ ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
+ if (ret != 0) {
+ return 1;
+ }
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_FALLOCATE 1" >>confdefs.h
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+
+
+# Check whether --enable-unshare was given.
+if test "${enable_unshare+set}" = set; then :
+ enableval=$enable_unshare;
+else
+ enable_unshare=check
+
+fi
+
+
+
+
+
+build_unshare=$enable_unshare
+
+
+
+ if test "x$build_unshare" != xno; then
+
+ case $enable_unshare:$linux_os in #(
+ no:*)
+ build_unshare=no ;;
+ yes:yes)
+ build_unshare=yes ;;
+ yes:*)
+ as_fn_error $? "unshare selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_unshare=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build unshare" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build unshare" >&2;}
+ build_unshare=no ;;
+ esac
+ fi
+
+
+
+
+
+ if false; then
+ HAVE_UNSHARE_TRUE=
+ HAVE_UNSHARE_FALSE='#'
+else
+ HAVE_UNSHARE_TRUE='#'
+ HAVE_UNSHARE_FALSE=
+fi
+
+
+ if test "x$build_unshare" != xno; then
+ if test "x$enable_unshare" = xno; then
+ build_unshare=no
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syscall unshare" >&5
+$as_echo_n "checking for syscall unshare... " >&6; }
+if ${ul_cv_syscall_unshare+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_unshare;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=SYS_unshare
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_unshare;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=_NR_unshare
+else
+
+ syscall=no
+ if test "x$linux_os" = xyes; then
+ case $host_cpu in
+
+ esac
+ fi
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ ul_cv_syscall_unshare=$syscall
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_syscall_unshare" >&5
+$as_echo "$ul_cv_syscall_unshare" >&6; }
+ if test "x$ul_cv_syscall_unshare" != xno; then
+ HAVE_UNSHARE_TRUE=
+ HAVE_UNSHARE_FALSE='#'
+else
+ HAVE_UNSHARE_TRUE='#'
+ HAVE_UNSHARE_FALSE=
+fi
+
+ case $ul_cv_syscall_unshare in #(
+ no) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to detect syscall unshare." >&5
+$as_echo "$as_me: WARNING: Unable to detect syscall unshare." >&2;} ;;
+ SYS_*) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define SYS_unshare $ul_cv_syscall_unshare
+_ACEOF
+ ;;
+ esac
+
+ case $enable_unshare:$ul_cv_syscall_unshare in #(
+ no:*)
+ build_unshare=no ;;
+ yes:no)
+ as_fn_error $? "unshare selected but unshare syscall not found" "$LINENO" 5 ;;
+ check:no)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unshare syscall not found; do not build unshare" >&5
+$as_echo "$as_me: WARNING: unshare syscall not found; do not build unshare" >&2;}
+ build_unshare=no ;;
+ *)
+ build_unshare=yes ;;
+ esac
+ fi
+ fi
+
+ if test "x$build_unshare" = xyes; then
+ BUILD_UNSHARE_TRUE=
+ BUILD_UNSHARE_FALSE='#'
+else
+ BUILD_UNSHARE_TRUE='#'
+ BUILD_UNSHARE_FALSE=
+fi
+
+if test "x$build_unshare" = xyes; then
+ for ac_func in unshare
+do :
+ ac_fn_c_check_func "$LINENO" "unshare" "ac_cv_func_unshare"
+if test "x$ac_cv_func_unshare" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_UNSHARE 1
+_ACEOF
+
+fi
+done
+
+fi
+
+
+# Check whether --enable-arch was given.
+if test "${enable_arch+set}" = set; then :
+ enableval=$enable_arch;
+else
+ enable_arch=no
+
+fi
+
+
+
+
+
+build_arch=$enable_arch
+
+
+
+ if test "x$build_arch" != xno; then
+
+ case $enable_arch:$linux_os in #(
+ no:*)
+ build_arch=no ;;
+ yes:yes)
+ build_arch=yes ;;
+ yes:*)
+ as_fn_error $? "arch selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_arch=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build arch" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build arch" >&2;}
+ build_arch=no ;;
+ esac
+ fi
+
+ if test "x$build_arch" = xyes; then
+ BUILD_ARCH_TRUE=
+ BUILD_ARCH_FALSE='#'
+else
+ BUILD_ARCH_TRUE='#'
+ BUILD_ARCH_FALSE=
+fi
+
+
+
+# Check whether --enable-ddate was given.
+if test "${enable_ddate+set}" = set; then :
+ enableval=$enable_ddate;
+else
+ enable_ddate=no
+
+fi
+
+
+
+
+
+build_ddate=$enable_ddate
+
+ if test "x$build_ddate" = xyes; then
+ BUILD_DDATE_TRUE=
+ BUILD_DDATE_FALSE='#'
+else
+ BUILD_DDATE_TRUE='#'
+ BUILD_DDATE_FALSE=
+fi
+
+ruman1dir='${mandir}/ru/man1'
+
+
+
+# Check whether --enable-eject was given.
+if test "${enable_eject+set}" = set; then :
+ enableval=$enable_eject;
+else
+ enable_eject=check
+
+fi
+
+
+
+
+
+build_eject=$enable_eject
+
+
+
+ if test "x$build_eject" != xno; then
+
+ case $enable_eject:$linux_os in #(
+ no:*)
+ build_eject=no ;;
+ yes:yes)
+ build_eject=yes ;;
+ yes:*)
+ as_fn_error $? "eject selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_eject=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build eject" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build eject" >&2;}
+ build_eject=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_eject" != xno; then
+ case $enable_eject:$build_libmount in #(
+ no:*)
+ build_eject=no ;;
+ yes:yes)
+ build_eject=yes ;;
+ yes:*)
+ as_fn_error $? "libmount is needed to build eject" "$LINENO" 5;;
+ check:yes)
+ build_eject=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libmount disabled; do not build eject" >&5
+$as_echo "$as_me: WARNING: libmount disabled; do not build eject" >&2;}
+ build_eject=no ;;
+ esac
+ fi
+
+ if test "x$build_eject" = xyes; then
+ BUILD_EJECT_TRUE=
+ BUILD_EJECT_FALSE='#'
+else
+ BUILD_EJECT_TRUE='#'
+ BUILD_EJECT_FALSE=
+fi
+
+
+
+# Check whether --enable-agetty was given.
+if test "${enable_agetty+set}" = set; then :
+ enableval=$enable_agetty;
+else
+ enable_agetty=yes
+
+fi
+
+
+
+
+
+build_agetty=$enable_agetty
+
+ if test "x$build_agetty" = xyes; then
+ BUILD_AGETTY_TRUE=
+ BUILD_AGETTY_FALSE='#'
+else
+ BUILD_AGETTY_TRUE='#'
+ BUILD_AGETTY_FALSE=
+fi
+
+
+
+# Check whether --enable-cramfs was given.
+if test "${enable_cramfs+set}" = set; then :
+ enableval=$enable_cramfs;
+else
+ enable_cramfs=check
+
+fi
+
+
+
+
+
+build_cramfs=$enable_cramfs
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crc32 in -lz" >&5
+$as_echo_n "checking for crc32 in -lz... " >&6; }
+if ${ac_cv_lib_z_crc32+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char crc32 ();
+int
+main ()
+{
+return crc32 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_z_crc32=yes
+else
+ ac_cv_lib_z_crc32=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_crc32" >&5
+$as_echo "$ac_cv_lib_z_crc32" >&6; }
+if test "x$ac_cv_lib_z_crc32" = xyes; then :
+ have_z=yes
+else
+ have_z=no
+fi
+
+
+
+
+ if test "x$build_cramfs" != xno; then
+ case $enable_cramfs:$have_z in #(
+ no:*)
+ build_cramfs=no ;;
+ yes:yes)
+ build_cramfs=yes ;;
+ yes:*)
+ as_fn_error $? "cramfs selected, but required z library not available" "$LINENO" 5;;
+ check:yes)
+ build_cramfs=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: z library not found; do not build cramfs" >&5
+$as_echo "$as_me: WARNING: z library not found; do not build cramfs" >&2;}
+ build_cramfs=no ;;
+ esac
+ fi
+
+ if test "x$build_cramfs" = xyes; then
+ BUILD_CRAMFS_TRUE=
+ BUILD_CRAMFS_FALSE='#'
+else
+ BUILD_CRAMFS_TRUE='#'
+ BUILD_CRAMFS_FALSE=
+fi
+
+
+
+if test "x$have_io" = xyes -o "x$linux_os" = xyes; then
+ build_hwclock=yes
+fi
+ if test "x$build_hwclock" = xyes; then
+ BUILD_HWCLOCK_TRUE=
+ BUILD_HWCLOCK_FALSE='#'
+else
+ BUILD_HWCLOCK_TRUE='#'
+ BUILD_HWCLOCK_FALSE=
+fi
+
+
+
+
+
+
+
+build_swapon='yes' enable_swapon='check'
+
+
+
+ if test "x$build_swapon" != xno; then
+
+ case $enable_swapon:$linux_os in #(
+ no:*)
+ build_swapon=no ;;
+ yes:yes)
+ build_swapon=yes ;;
+ yes:*)
+ as_fn_error $? "swapon selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_swapon=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build swapon" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build swapon" >&2;}
+ build_swapon=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_swapon" != xno; then
+ case $enable_swapon:$build_libblkid in #(
+ no:*)
+ build_swapon=no ;;
+ yes:yes)
+ build_swapon=yes ;;
+ yes:*)
+ as_fn_error $? "libblkid is needed to build swapon" "$LINENO" 5;;
+ check:yes)
+ build_swapon=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libblkid disabled; do not build swapon" >&5
+$as_echo "$as_me: WARNING: libblkid disabled; do not build swapon" >&2;}
+ build_swapon=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_swapon" != xno; then
+ case $enable_swapon:$build_libmount in #(
+ no:*)
+ build_swapon=no ;;
+ yes:yes)
+ build_swapon=yes ;;
+ yes:*)
+ as_fn_error $? "libmount is needed to build swapon" "$LINENO" 5;;
+ check:yes)
+ build_swapon=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libmount disabled; do not build swapon" >&5
+$as_echo "$as_me: WARNING: libmount disabled; do not build swapon" >&2;}
+ build_swapon=no ;;
+ esac
+ fi
+
+ if test "x$build_swapon" = xyes; then
+ BUILD_SWAPON_TRUE=
+ BUILD_SWAPON_FALSE='#'
+else
+ BUILD_SWAPON_TRUE='#'
+ BUILD_SWAPON_FALSE=
+fi
+
+
+
+
+
+
+
+build_lsblk='yes' enable_lsblk='check'
+
+
+
+ if test "x$build_lsblk" != xno; then
+
+ case $enable_lsblk:$linux_os in #(
+ no:*)
+ build_lsblk=no ;;
+ yes:yes)
+ build_lsblk=yes ;;
+ yes:*)
+ as_fn_error $? "lsblk selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_lsblk=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build lsblk" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build lsblk" >&2;}
+ build_lsblk=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_lsblk" != xno; then
+ case $enable_lsblk:$build_libblkid in #(
+ no:*)
+ build_lsblk=no ;;
+ yes:yes)
+ build_lsblk=yes ;;
+ yes:*)
+ as_fn_error $? "libblkid is needed to build lsblk" "$LINENO" 5;;
+ check:yes)
+ build_lsblk=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libblkid disabled; do not build lsblk" >&5
+$as_echo "$as_me: WARNING: libblkid disabled; do not build lsblk" >&2;}
+ build_lsblk=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_lsblk" != xno; then
+ case $enable_lsblk:$build_libmount in #(
+ no:*)
+ build_lsblk=no ;;
+ yes:yes)
+ build_lsblk=yes ;;
+ yes:*)
+ as_fn_error $? "libmount is needed to build lsblk" "$LINENO" 5;;
+ check:yes)
+ build_lsblk=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libmount disabled; do not build lsblk" >&5
+$as_echo "$as_me: WARNING: libmount disabled; do not build lsblk" >&2;}
+ build_lsblk=no ;;
+ esac
+ fi
+
+ if test "x$build_lsblk" = xyes; then
+ BUILD_LSBLK_TRUE=
+ BUILD_LSBLK_FALSE='#'
+else
+ BUILD_LSBLK_TRUE='#'
+ BUILD_LSBLK_FALSE=
+fi
+
+
+
+
+
+
+
+build_lscpu='yes' enable_lscpu='check'
+
+
+
+ if test "x$build_lscpu" != xno; then
+
+ case $enable_lscpu:$linux_os in #(
+ no:*)
+ build_lscpu=no ;;
+ yes:yes)
+ build_lscpu=yes ;;
+ yes:*)
+ as_fn_error $? "lscpu selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_lscpu=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build lscpu" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build lscpu" >&2;}
+ build_lscpu=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_lscpu" != xno; then
+ case $enable_lscpu:$have_cpu_set_t in #(
+ no:*)
+ build_lscpu=no ;;
+ yes:yes)
+ build_lscpu=yes ;;
+ yes:*)
+ as_fn_error $? "lscpu selected, but required cpu_set_t type not available" "$LINENO" 5;;
+ check:yes)
+ build_lscpu=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cpu_set_t type not found; do not build lscpu" >&5
+$as_echo "$as_me: WARNING: cpu_set_t type not found; do not build lscpu" >&2;}
+ build_lscpu=no ;;
+ esac
+ fi
+
+ if test "x$build_lscpu" = xyes; then
+ BUILD_LSCPU_TRUE=
+ BUILD_LSCPU_FALSE='#'
+else
+ BUILD_LSCPU_TRUE='#'
+ BUILD_LSCPU_FALSE=
+fi
+
+
+
+
+
+
+
+build_chcpu='yes' enable_chcpu='check'
+
+
+
+ if test "x$build_chcpu" != xno; then
+
+ case $enable_chcpu:$linux_os in #(
+ no:*)
+ build_chcpu=no ;;
+ yes:yes)
+ build_chcpu=yes ;;
+ yes:*)
+ as_fn_error $? "chcpu selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_chcpu=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build chcpu" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build chcpu" >&2;}
+ build_chcpu=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_chcpu" != xno; then
+ case $enable_chcpu:$have_cpu_set_t in #(
+ no:*)
+ build_chcpu=no ;;
+ yes:yes)
+ build_chcpu=yes ;;
+ yes:*)
+ as_fn_error $? "chcpu selected, but required cpu_set_t type not available" "$LINENO" 5;;
+ check:yes)
+ build_chcpu=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cpu_set_t type not found; do not build chcpu" >&5
+$as_echo "$as_me: WARNING: cpu_set_t type not found; do not build chcpu" >&2;}
+ build_chcpu=no ;;
+ esac
+ fi
+
+ if test "x$build_chcpu" = xyes; then
+ BUILD_CHCPU_TRUE=
+ BUILD_CHCPU_FALSE='#'
+else
+ BUILD_CHCPU_TRUE='#'
+ BUILD_CHCPU_FALSE=
+fi
+
+
+
+
+
+
+
+build_wdctl='yes' enable_wdctl='check'
+
+
+
+ if test "x$build_wdctl" != xno; then
+
+ case $enable_wdctl:$linux_os in #(
+ no:*)
+ build_wdctl=no ;;
+ yes:yes)
+ build_wdctl=yes ;;
+ yes:*)
+ as_fn_error $? "wdctl selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_wdctl=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build wdctl" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build wdctl" >&2;}
+ build_wdctl=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_wdctl" != xno; then
+ case $enable_wdctl:$have_linux_watchdog_h in #(
+ no:*)
+ build_wdctl=no ;;
+ yes:yes)
+ build_wdctl=yes ;;
+ yes:*)
+ as_fn_error $? "wdctl selected, but required linux/watchdog.h header file not available" "$LINENO" 5;;
+ check:yes)
+ build_wdctl=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: linux/watchdog.h header file not found; do not build wdctl" >&5
+$as_echo "$as_me: WARNING: linux/watchdog.h header file not found; do not build wdctl" >&2;}
+ build_wdctl=no ;;
+ esac
+ fi
+
+ if test "x$build_wdctl" = xyes; then
+ BUILD_WDCTL_TRUE=
+ BUILD_WDCTL_FALSE='#'
+else
+ BUILD_WDCTL_TRUE='#'
+ BUILD_WDCTL_FALSE=
+fi
+
+
+
+
+
+
+
+build_swaplabel='yes' enable_swaplabel='check'
+
+
+
+
+ if test "x$build_swaplabel" != xno; then
+ case $enable_swaplabel:$build_libblkid in #(
+ no:*)
+ build_swaplabel=no ;;
+ yes:yes)
+ build_swaplabel=yes ;;
+ yes:*)
+ as_fn_error $? "libblkid is needed to build swaplabel" "$LINENO" 5;;
+ check:yes)
+ build_swaplabel=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libblkid disabled; do not build swaplabel" >&5
+$as_echo "$as_me: WARNING: libblkid disabled; do not build swaplabel" >&2;}
+ build_swaplabel=no ;;
+ esac
+ fi
+
+ if test "x$build_swaplabel" = xyes; then
+ BUILD_SWAPLABEL_TRUE=
+ BUILD_SWAPLABEL_FALSE='#'
+else
+ BUILD_SWAPLABEL_TRUE='#'
+ BUILD_SWAPLABEL_FALSE=
+fi
+
+
+
+
+
+
+
+build_prlimit='yes' enable_prlimit='check'
+
+
+
+ if test "x$build_prlimit" != xno; then
+
+ case $enable_prlimit:$linux_os in #(
+ no:*)
+ build_prlimit=no ;;
+ yes:yes)
+ build_prlimit=yes ;;
+ yes:*)
+ as_fn_error $? "prlimit selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_prlimit=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build prlimit" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build prlimit" >&2;}
+ build_prlimit=no ;;
+ esac
+ fi
+
+
+
+
+
+ if false; then
+ HAVE_PRLIMIT64_TRUE=
+ HAVE_PRLIMIT64_FALSE='#'
+else
+ HAVE_PRLIMIT64_TRUE='#'
+ HAVE_PRLIMIT64_FALSE=
+fi
+
+
+ if test "x$build_prlimit" != xno; then
+ if test "x$enable_prlimit" = xno; then
+ build_prlimit=no
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syscall prlimit64" >&5
+$as_echo_n "checking for syscall prlimit64... " >&6; }
+if ${ul_cv_syscall_prlimit64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_prlimit64;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=SYS_prlimit64
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_prlimit64;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=_NR_prlimit64
+else
+
+ syscall=no
+ if test "x$linux_os" = xyes; then
+ case $host_cpu in
+
+ esac
+ fi
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ ul_cv_syscall_prlimit64=$syscall
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_syscall_prlimit64" >&5
+$as_echo "$ul_cv_syscall_prlimit64" >&6; }
+ if test "x$ul_cv_syscall_prlimit64" != xno; then
+ HAVE_PRLIMIT64_TRUE=
+ HAVE_PRLIMIT64_FALSE='#'
+else
+ HAVE_PRLIMIT64_TRUE='#'
+ HAVE_PRLIMIT64_FALSE=
+fi
+
+ case $ul_cv_syscall_prlimit64 in #(
+ no) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to detect syscall prlimit64." >&5
+$as_echo "$as_me: WARNING: Unable to detect syscall prlimit64." >&2;} ;;
+ SYS_*) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define SYS_prlimit64 $ul_cv_syscall_prlimit64
+_ACEOF
+ ;;
+ esac
+
+ case $enable_prlimit:$ul_cv_syscall_prlimit64 in #(
+ no:*)
+ build_prlimit=no ;;
+ yes:no)
+ as_fn_error $? "prlimit selected but prlimit64 syscall not found" "$LINENO" 5 ;;
+ check:no)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: prlimit64 syscall not found; do not build prlimit" >&5
+$as_echo "$as_me: WARNING: prlimit64 syscall not found; do not build prlimit" >&2;}
+ build_prlimit=no ;;
+ *)
+ build_prlimit=yes ;;
+ esac
+ fi
+ fi
+
+ if test "x$build_prlimit" = xyes; then
+ BUILD_PRLIMIT_TRUE=
+ BUILD_PRLIMIT_FALSE='#'
+else
+ BUILD_PRLIMIT_TRUE='#'
+ BUILD_PRLIMIT_FALSE=
+fi
+
+if test "x$build_prlimit" = xyes; then
+ for ac_func in prlimit
+do :
+ ac_fn_c_check_func "$LINENO" "prlimit" "ac_cv_func_prlimit"
+if test "x$ac_cv_func_prlimit" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_PRLIMIT 1
+_ACEOF
+
+fi
+done
+
+fi
+
+
+
+
+
+
+build_lslocks='yes' enable_lslocks='check'
+
+
+
+ if test "x$build_lslocks" != xno; then
+
+ case $enable_lslocks:$linux_os in #(
+ no:*)
+ build_lslocks=no ;;
+ yes:yes)
+ build_lslocks=yes ;;
+ yes:*)
+ as_fn_error $? "lslocks selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_lslocks=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build lslocks" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build lslocks" >&2;}
+ build_lslocks=no ;;
+ esac
+ fi
+
+ if test "x$build_lslocks" = xyes; then
+ BUILD_LSLOCKS_TRUE=
+ BUILD_LSLOCKS_FALSE='#'
+else
+ BUILD_LSLOCKS_TRUE='#'
+ BUILD_LSLOCKS_FALSE=
+fi
+
+
+
+# Check whether --enable-switch_root was given.
+if test "${enable_switch_root+set}" = set; then :
+ enableval=$enable_switch_root;
+else
+ enable_switch_root=check
+
+fi
+
+
+
+
+
+build_switch_root=$enable_switch_root
+
+
+
+ if test "x$build_switch_root" != xno; then
+
+ case $enable_switch_root:$linux_os in #(
+ no:*)
+ build_switch_root=no ;;
+ yes:yes)
+ build_switch_root=yes ;;
+ yes:*)
+ as_fn_error $? "switch_root selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_switch_root=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build switch_root" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build switch_root" >&2;}
+ build_switch_root=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_switch_root" != xno; then
+ case $enable_switch_root:$have_openat in #(
+ no:*)
+ build_switch_root=no ;;
+ yes:yes)
+ build_switch_root=yes ;;
+ yes:*)
+ as_fn_error $? "switch_root selected, but required openat function not available" "$LINENO" 5;;
+ check:yes)
+ build_switch_root=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: openat function not found; do not build switch_root" >&5
+$as_echo "$as_me: WARNING: openat function not found; do not build switch_root" >&2;}
+ build_switch_root=no ;;
+ esac
+ fi
+
+ if test "x$build_switch_root" = xyes; then
+ BUILD_SWITCH_ROOT_TRUE=
+ BUILD_SWITCH_ROOT_FALSE='#'
+else
+ BUILD_SWITCH_ROOT_TRUE='#'
+ BUILD_SWITCH_ROOT_FALSE=
+fi
+
+
+
+# Check whether --enable-pivot_root was given.
+if test "${enable_pivot_root+set}" = set; then :
+ enableval=$enable_pivot_root;
+else
+ enable_pivot_root=check
+
+fi
+
+
+
+
+
+build_pivot_root=$enable_pivot_root
+
+
+
+ if test "x$build_switch_root" != xno; then
+
+ case $enable_switch_root:$linux_os in #(
+ no:*)
+ build_switch_root=no ;;
+ yes:yes)
+ build_switch_root=yes ;;
+ yes:*)
+ as_fn_error $? "switch_root selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_switch_root=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build switch_root" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build switch_root" >&2;}
+ build_switch_root=no ;;
+ esac
+ fi
+
+
+
+
+
+ if false; then
+ HAVE_PIVOT_ROOT_TRUE=
+ HAVE_PIVOT_ROOT_FALSE='#'
+else
+ HAVE_PIVOT_ROOT_TRUE='#'
+ HAVE_PIVOT_ROOT_FALSE=
+fi
+
+
+ if test "x$build_pivot_root" != xno; then
+ if test "x$enable_pivot_root" = xno; then
+ build_pivot_root=no
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syscall pivot_root" >&5
+$as_echo_n "checking for syscall pivot_root... " >&6; }
+if ${ul_cv_syscall_pivot_root+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_pivot_root;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=SYS_pivot_root
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_pivot_root;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=_NR_pivot_root
+else
+
+ syscall=no
+ if test "x$linux_os" = xyes; then
+ case $host_cpu in
+
+ esac
+ fi
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ ul_cv_syscall_pivot_root=$syscall
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_syscall_pivot_root" >&5
+$as_echo "$ul_cv_syscall_pivot_root" >&6; }
+ if test "x$ul_cv_syscall_pivot_root" != xno; then
+ HAVE_PIVOT_ROOT_TRUE=
+ HAVE_PIVOT_ROOT_FALSE='#'
+else
+ HAVE_PIVOT_ROOT_TRUE='#'
+ HAVE_PIVOT_ROOT_FALSE=
+fi
+
+ case $ul_cv_syscall_pivot_root in #(
+ no) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to detect syscall pivot_root." >&5
+$as_echo "$as_me: WARNING: Unable to detect syscall pivot_root." >&2;} ;;
+ SYS_*) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define SYS_pivot_root $ul_cv_syscall_pivot_root
+_ACEOF
+ ;;
+ esac
+
+ case $enable_pivot_root:$ul_cv_syscall_pivot_root in #(
+ no:*)
+ build_pivot_root=no ;;
+ yes:no)
+ as_fn_error $? "pivot_root selected but pivot_root syscall not found" "$LINENO" 5 ;;
+ check:no)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pivot_root syscall not found; do not build pivot_root" >&5
+$as_echo "$as_me: WARNING: pivot_root syscall not found; do not build pivot_root" >&2;}
+ build_pivot_root=no ;;
+ *)
+ build_pivot_root=yes ;;
+ esac
+ fi
+ fi
+
+ if test "x$build_pivot_root" = xyes; then
+ BUILD_PIVOT_ROOT_TRUE=
+ BUILD_PIVOT_ROOT_FALSE='#'
+else
+ BUILD_PIVOT_ROOT_TRUE='#'
+ BUILD_PIVOT_ROOT_FALSE=
+fi
+
+
+
+# Check whether --enable-elvtune was given.
+if test "${enable_elvtune+set}" = set; then :
+ enableval=$enable_elvtune;
+else
+ enable_elvtune=no
+
+fi
+
+
+
+
+
+build_elvtune=$enable_elvtune
+
+
+
+ if test "x$build_elvtune" != xno; then
+
+ case $enable_elvtune:$linux_os in #(
+ no:*)
+ build_elvtune=no ;;
+ yes:yes)
+ build_elvtune=yes ;;
+ yes:*)
+ as_fn_error $? "elvtune selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_elvtune=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build elvtune" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build elvtune" >&2;}
+ build_elvtune=no ;;
+ esac
+ fi
+
+ if test "x$build_elvtune" = xyes; then
+ BUILD_ELVTUNE_TRUE=
+ BUILD_ELVTUNE_FALSE='#'
+else
+ BUILD_ELVTUNE_TRUE='#'
+ BUILD_ELVTUNE_FALSE=
+fi
+
+
+
+# Check whether --enable-kill was given.
+if test "${enable_kill+set}" = set; then :
+ enableval=$enable_kill;
+else
+ enable_kill=check
+
+fi
+
+
+
+
+
+build_kill=$enable_kill
+
+
+
+ if test "x$build_kill" != xno; then
+
+ case $enable_kill:$linux_os in #(
+ no:*)
+ build_kill=no ;;
+ yes:yes)
+ build_kill=yes ;;
+ yes:*)
+ as_fn_error $? "kill selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_kill=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build kill" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build kill" >&2;}
+ build_kill=no ;;
+ esac
+ fi
+
+ if test "x$build_kill" = xyes; then
+ BUILD_KILL_TRUE=
+ BUILD_KILL_FALSE='#'
+else
+ BUILD_KILL_TRUE='#'
+ BUILD_KILL_FALSE=
+fi
+
+
+
+# Check whether --enable-last was given.
+if test "${enable_last+set}" = set; then :
+ enableval=$enable_last;
+else
+ enable_last=no
+
+fi
+
+
+
+
+
+build_last=$enable_last
+
+ if test "x$build_last" = xyes; then
+ BUILD_LAST_TRUE=
+ BUILD_LAST_FALSE='#'
+else
+ BUILD_LAST_TRUE='#'
+ BUILD_LAST_FALSE=
+fi
+
+
+
+# Check whether --enable-utmpdump was given.
+if test "${enable_utmpdump+set}" = set; then :
+ enableval=$enable_utmpdump;
+else
+ enable_utmpdump=yes
+
+fi
+
+
+
+
+
+build_utmpdump=$enable_utmpdump
+
+ if test "x$build_utmpdump" = xyes; then
+ BUILD_UTMPDUMP_TRUE=
+ BUILD_UTMPDUMP_FALSE='#'
+else
+ BUILD_UTMPDUMP_TRUE='#'
+ BUILD_UTMPDUMP_FALSE=
+fi
+
+
+
+# Check whether --enable-line was given.
+if test "${enable_line+set}" = set; then :
+ enableval=$enable_line;
+else
+ enable_line=no
+
+fi
+
+
+
+
+
+build_line=$enable_line
+
+ if test "x$build_line" = xyes; then
+ BUILD_LINE_TRUE=
+ BUILD_LINE_FALSE='#'
+else
+ BUILD_LINE_TRUE='#'
+ BUILD_LINE_FALSE=
+fi
+
+
+
+# Check whether --enable-mesg was given.
+if test "${enable_mesg+set}" = set; then :
+ enableval=$enable_mesg;
+else
+ enable_mesg=no
+
+fi
+
+
+
+
+
+build_mesg=$enable_mesg
+
+ if test "x$build_mesg" = xyes; then
+ BUILD_MESG_TRUE=
+ BUILD_MESG_FALSE='#'
+else
+ BUILD_MESG_TRUE='#'
+ BUILD_MESG_FALSE=
+fi
+
+
+
+# Check whether --enable-raw was given.
+if test "${enable_raw+set}" = set; then :
+ enableval=$enable_raw;
+else
+ enable_raw=check
+
+fi
+
+
+
+
+
+build_raw=$enable_raw
+
+
+
+ if test "x$build_raw" != xno; then
+
+ case $enable_raw:$linux_os in #(
+ no:*)
+ build_raw=no ;;
+ yes:yes)
+ build_raw=yes ;;
+ yes:*)
+ as_fn_error $? "raw selected for non-linux system" "$LINENO" 5;;
+ check:yes)
+ build_raw=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; do not build raw" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build raw" >&2;}
+ build_raw=no ;;
+ esac
+ fi
+
+
+
+
+ if test "x$build_raw" != xno; then
+ case $enable_raw:$have_linux_raw_h in #(
+ no:*)
+ build_raw=no ;;
+ yes:yes)
+ build_raw=yes ;;
+ yes:*)
+ as_fn_error $? "raw selected, but required raw.h header file not available" "$LINENO" 5;;
+ check:yes)
+ build_raw=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: raw.h header file not found; do not build raw" >&5
+$as_echo "$as_me: WARNING: raw.h header file not found; do not build raw" >&2;}
+ build_raw=no ;;
+ esac
+ fi
+
+ if test "x$build_raw" = xyes; then
+ BUILD_RAW_TRUE=
+ BUILD_RAW_FALSE='#'
+else
+ BUILD_RAW_TRUE='#'
+ BUILD_RAW_FALSE=
+fi
+
+
+
+# Check whether --enable-rename was given.
+if test "${enable_rename+set}" = set; then :
+ enableval=$enable_rename;
+else
+ enable_rename=yes
+
+fi
+
+
+
+
+
+build_rename=$enable_rename
+
+ if test "x$build_rename" = xyes; then
+ BUILD_RENAME_TRUE=
+ BUILD_RENAME_FALSE='#'
+else
+ BUILD_RENAME_TRUE='#'
+ BUILD_RENAME_FALSE=
+fi
+
+
+
+# Check whether --enable-reset was given.
+if test "${enable_reset+set}" = set; then :
+ enableval=$enable_reset;
+else
+ enable_reset=no
+
+fi
+
+
+
+
+
+build_reset=$enable_reset
+
+ if test "x$build_reset" = xyes; then
+ BUILD_RESET_TRUE=
+ BUILD_RESET_FALSE='#'
+else
+ BUILD_RESET_TRUE='#'
+ BUILD_RESET_FALSE=
+fi
+
+
+
+# Check whether --enable-vipw was given.
+if test "${enable_vipw+set}" = set; then :
+ enableval=$enable_vipw;
+else
+ enable_vipw=no
+
+fi
+
+
+
+
+
+build_vipw=$enable_vipw
+
+ if test "x$build_vipw" = xyes; then
+ BUILD_VIPW_TRUE=
+ BUILD_VIPW_FALSE='#'
+else
+ BUILD_VIPW_TRUE='#'
+ BUILD_VIPW_FALSE=
+fi
+
+
+
+# Check whether --enable-newgrp was given.
+if test "${enable_newgrp+set}" = set; then :
+ enableval=$enable_newgrp;
+else
+ enable_newgrp=no
+
+fi
+
+
+
+
+
+build_newgrp=$enable_newgrp
+
+ if test "x$build_newgrp" = xyes; then
+ BUILD_NEWGRP_TRUE=
+ BUILD_NEWGRP_FALSE='#'
+else
+ BUILD_NEWGRP_TRUE='#'
+ BUILD_NEWGRP_FALSE=
+fi
+
+
+
+# Check whether --enable-chfn-chsh was given.
+if test "${enable_chfn_chsh+set}" = set; then :
+ enableval=$enable_chfn_chsh;
+else
+ enable_chfn_chsh=no
+
+fi
+
+
+
+
+
+build_chfn_chsh=$enable_chfn_chsh
+
+
+
+
+ if test "x$build_chfn_chsh" != xno; then
+ case $enable_chfn_chsh:$have_security_pam_misc_h in #(
+ no:*)
+ build_chfn_chsh=no ;;
+ yes:yes)
+ build_chfn_chsh=yes ;;
+ yes:*)
+ as_fn_error $? "chfn_chsh selected, but required PAM header file not available" "$LINENO" 5;;
+ check:yes)
+ build_chfn_chsh=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PAM header file not found; do not build chfn_chsh" >&5
+$as_echo "$as_me: WARNING: PAM header file not found; do not build chfn_chsh" >&2;}
+ build_chfn_chsh=no ;;
+ esac
+ fi
+
+ if test "x$build_chfn_chsh" = xyes; then
+ BUILD_CHFN_CHSH_TRUE=
+ BUILD_CHFN_CHSH_FALSE='#'
+else
+ BUILD_CHFN_CHSH_TRUE='#'
+ BUILD_CHFN_CHSH_FALSE=
+fi
+
+
+# Check whether --enable-chsh-only-listed was given.
+if test "${enable_chsh_only_listed+set}" = set; then :
+ enableval=$enable_chsh_only_listed;
+else
+ enable_chsh_only_listed=yes
+
+fi
+
+
+if test "x$enable_chsh_only_listed" = xyes; then
+
+$as_echo "#define ONLY_LISTED_SHELLS 1" >>confdefs.h
+
+fi
+
+
+# Check whether --enable-login was given.
+if test "${enable_login+set}" = set; then :
+ enableval=$enable_login;
+else
+ enable_login=yes
+
+fi
+
+
+
+
+
+build_login=$enable_login
+
+
+
+
+ if test "x$build_login" != xno; then
+ case $enable_login:$have_security_pam_misc_h in #(
+ no:*)
+ build_login=no ;;
+ yes:yes)
+ build_login=yes ;;
+ yes:*)
+ as_fn_error $? "login selected, but required PAM header file not available" "$LINENO" 5;;
+ check:yes)
+ build_login=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PAM header file not found; do not build login" >&5
+$as_echo "$as_me: WARNING: PAM header file not found; do not build login" >&2;}
+ build_login=no ;;
+ esac
+ fi
+
+ if test "x$build_login" = xyes; then
+ BUILD_LOGIN_TRUE=
+ BUILD_LOGIN_FALSE='#'
+else
+ BUILD_LOGIN_TRUE='#'
+ BUILD_LOGIN_FALSE=
+fi
+
+
+# Check whether --enable-login-chown-vcs was given.
+if test "${enable_login_chown_vcs+set}" = set; then :
+ enableval=$enable_login_chown_vcs;
+else
+ enable_login_chown_vcs=no
+
+fi
+
+
+if test "x$enable_login_chown_vcs" = xyes; then
+
+$as_echo "#define LOGIN_CHOWN_VCS 1" >>confdefs.h
+
+fi
+
+# Check whether --enable-login-stat-mail was given.
+if test "${enable_login_stat_mail+set}" = set; then :
+ enableval=$enable_login_stat_mail;
+else
+ enable_login_stat_mail=no
+
+fi
+
+
+if test "x$enable_login_stat_mail" = xyes; then
+
+$as_echo "#define LOGIN_STAT_MAIL 1" >>confdefs.h
+
+fi
+
+
+# Check whether --enable-sulogin was given.
+if test "${enable_sulogin+set}" = set; then :
+ enableval=$enable_sulogin;
+else
+ enable_sulogin=yes
+
+fi
+
+
+
+
+
+build_sulogin=$enable_sulogin
+
+ if test "x$build_sulogin" = xyes; then
+ BUILD_SULOGIN_TRUE=
+ BUILD_SULOGIN_FALSE='#'
+else
+ BUILD_SULOGIN_TRUE='#'
+ BUILD_SULOGIN_FALSE=
+fi
+
+
+
+# Check whether --enable-su was given.
+if test "${enable_su+set}" = set; then :
+ enableval=$enable_su;
+else
+ enable_su=yes
+
+fi
+
+
+
+
+
+build_su=$enable_su
+
+
+
+
+ if test "x$build_su" != xno; then
+ case $enable_su:$have_security_pam_misc_h in #(
+ no:*)
+ build_su=no ;;
+ yes:yes)
+ build_su=yes ;;
+ yes:*)
+ as_fn_error $? "su selected, but required PAM header file not available" "$LINENO" 5;;
+ check:yes)
+ build_su=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PAM header file not found; do not build su" >&5
+$as_echo "$as_me: WARNING: PAM header file not found; do not build su" >&2;}
+ build_su=no ;;
+ esac
+ fi
+
+ if test "x$build_su" = xyes; then
+ BUILD_SU_TRUE=
+ BUILD_SU_FALSE='#'
+else
+ BUILD_SU_TRUE='#'
+ BUILD_SU_FALSE=
+fi
+
+
+
+# Check whether --enable-schedutils was given.
+if test "${enable_schedutils+set}" = set; then :
+ enableval=$enable_schedutils;
+else
+ enable_schedutils=yes
+
+fi
+
+
+
+
+
+build_schedutils=$enable_schedutils
+
+ if test "x$build_schedutils" = xyes; then
+ BUILD_SCHEDUTILS_TRUE=
+ BUILD_SCHEDUTILS_FALSE='#'
+else
+ BUILD_SCHEDUTILS_TRUE='#'
+ BUILD_SCHEDUTILS_FALSE=
+fi
+
+
+
+
+
+
+build_ionice='yes' enable_ionice='check'
+
+
+
+
+ if test "x$build_ionice" != xno; then
+ case $enable_ionice:$build_schedutils in #(
+ no:*)
+ build_ionice=no ;;
+ yes:yes)
+ build_ionice=yes ;;
+ yes:*)
+ as_fn_error $? "schedutils is needed to build ionice" "$LINENO" 5;;
+ check:yes)
+ build_ionice=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: schedutils disabled; do not build ionice" >&5
+$as_echo "$as_me: WARNING: schedutils disabled; do not build ionice" >&2;}
+ build_ionice=no ;;
+ esac
+ fi
+
+
+
+
+
+ if false; then
+ HAVE_IOPRIO_SET_TRUE=
+ HAVE_IOPRIO_SET_FALSE='#'
+else
+ HAVE_IOPRIO_SET_TRUE='#'
+ HAVE_IOPRIO_SET_FALSE=
+fi
+
+
+ if test "x$build_ionice" != xno; then
+ if test "x$enable_ionice" = xno; then
+ build_ionice=no
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syscall ioprio_set" >&5
+$as_echo_n "checking for syscall ioprio_set... " >&6; }
+if ${ul_cv_syscall_ioprio_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_ioprio_set;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=SYS_ioprio_set
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_ioprio_set;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=_NR_ioprio_set
+else
+
+ syscall=no
+ if test "x$linux_os" = xyes; then
+ case $host_cpu in
+ #(
+ alpha) syscall="442" ;; #(
+ i*86) syscall="289" ;; #(
+ ia64*) syscall="1274" ;; #(
+ powerpc*) syscall="273" ;; #(
+ s390*) syscall="282" ;; #(
+ sparc*) syscall="196" ;; #(
+ sh*) syscall="288" ;; #(
+ x86_64*) syscall="251" ;;
+ esac
+ fi
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ ul_cv_syscall_ioprio_set=$syscall
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_syscall_ioprio_set" >&5
+$as_echo "$ul_cv_syscall_ioprio_set" >&6; }
+ if test "x$ul_cv_syscall_ioprio_set" != xno; then
+ HAVE_IOPRIO_SET_TRUE=
+ HAVE_IOPRIO_SET_FALSE='#'
+else
+ HAVE_IOPRIO_SET_TRUE='#'
+ HAVE_IOPRIO_SET_FALSE=
+fi
+
+ case $ul_cv_syscall_ioprio_set in #(
+ no) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to detect syscall ioprio_set." >&5
+$as_echo "$as_me: WARNING: Unable to detect syscall ioprio_set." >&2;} ;;
+ SYS_*) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define SYS_ioprio_set $ul_cv_syscall_ioprio_set
+_ACEOF
+ ;;
+ esac
+
+ case $enable_ionice:$ul_cv_syscall_ioprio_set in #(
+ no:*)
+ build_ionice=no ;;
+ yes:no)
+ as_fn_error $? "ionice selected but ioprio_set syscall not found" "$LINENO" 5 ;;
+ check:no)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ioprio_set syscall not found; do not build ionice" >&5
+$as_echo "$as_me: WARNING: ioprio_set syscall not found; do not build ionice" >&2;}
+ build_ionice=no ;;
+ *)
+ build_ionice=yes ;;
+ esac
+ fi
+ fi
+
+
+
+
+
+
+ if false; then
+ HAVE_IOPRIO_GET_TRUE=
+ HAVE_IOPRIO_GET_FALSE='#'
+else
+ HAVE_IOPRIO_GET_TRUE='#'
+ HAVE_IOPRIO_GET_FALSE=
+fi
+
+
+ if test "x$build_ionice" != xno; then
+ if test "x$enable_ionice" = xno; then
+ build_ionice=no
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syscall ioprio_get" >&5
+$as_echo_n "checking for syscall ioprio_get... " >&6; }
+if ${ul_cv_syscall_ioprio_get+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_ioprio_get;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=SYS_ioprio_get
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_ioprio_get;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=_NR_ioprio_get
+else
+
+ syscall=no
+ if test "x$linux_os" = xyes; then
+ case $host_cpu in
+ #(
+ alpha) syscall="443" ;; #(
+ i*86) syscall="290" ;; #(
+ ia64*) syscall="1275" ;; #(
+ powerpc*) syscall="274" ;; #(
+ s390*) syscall="283" ;; #(
+ sparc*) syscall="218" ;; #(
+ sh*) syscall="289" ;; #(
+ x86_64*) syscall="252" ;;
+ esac
+ fi
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ ul_cv_syscall_ioprio_get=$syscall
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_syscall_ioprio_get" >&5
+$as_echo "$ul_cv_syscall_ioprio_get" >&6; }
+ if test "x$ul_cv_syscall_ioprio_get" != xno; then
+ HAVE_IOPRIO_GET_TRUE=
+ HAVE_IOPRIO_GET_FALSE='#'
+else
+ HAVE_IOPRIO_GET_TRUE='#'
+ HAVE_IOPRIO_GET_FALSE=
+fi
+
+ case $ul_cv_syscall_ioprio_get in #(
+ no) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to detect syscall ioprio_get." >&5
+$as_echo "$as_me: WARNING: Unable to detect syscall ioprio_get." >&2;} ;;
+ SYS_*) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define SYS_ioprio_get $ul_cv_syscall_ioprio_get
+_ACEOF
+ ;;
+ esac
+
+ case $enable_ionice:$ul_cv_syscall_ioprio_get in #(
+ no:*)
+ build_ionice=no ;;
+ yes:no)
+ as_fn_error $? "ionice selected but ioprio_get syscall not found" "$LINENO" 5 ;;
+ check:no)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ioprio_get syscall not found; do not build ionice" >&5
+$as_echo "$as_me: WARNING: ioprio_get syscall not found; do not build ionice" >&2;}
+ build_ionice=no ;;
+ *)
+ build_ionice=yes ;;
+ esac
+ fi
+ fi
+
+
+ if test "x$build_ionice" = xyes; then
+ BUILD_IONICE_TRUE=
+ BUILD_IONICE_FALSE='#'
+else
+ BUILD_IONICE_TRUE='#'
+ BUILD_IONICE_FALSE=
+fi
+
+
+
+
+
+
+build_taskset='yes' enable_taskset='check'
+
+
+
+
+ if test "x$build_taskset" != xno; then
+ case $enable_taskset:$build_schedutils in #(
+ no:*)
+ build_taskset=no ;;
+ yes:yes)
+ build_taskset=yes ;;
+ yes:*)
+ as_fn_error $? "schedutils is needed to build taskset" "$LINENO" 5;;
+ check:yes)
+ build_taskset=yes ;;
+ check:*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: schedutils disabled; do not build taskset" >&5
+$as_echo "$as_me: WARNING: schedutils disabled; do not build taskset" >&2;}
+ build_taskset=no ;;
+ esac
+ fi
+
+
+
+
+
+ if false; then
+ HAVE_SCHED_GETAFFINITY_TRUE=
+ HAVE_SCHED_GETAFFINITY_FALSE='#'
+else
+ HAVE_SCHED_GETAFFINITY_TRUE='#'
+ HAVE_SCHED_GETAFFINITY_FALSE=
+fi
+
+
+ if test "x$build_taskset" != xno; then
+ if test "x$enable_taskset" = xno; then
+ build_taskset=no
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syscall sched_getaffinity" >&5
+$as_echo_n "checking for syscall sched_getaffinity... " >&6; }
+if ${ul_cv_syscall_sched_getaffinity+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_sched_getaffinity;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=SYS_sched_getaffinity
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_sched_getaffinity;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ syscall=_NR_sched_getaffinity
+else
+
+ syscall=no
+ if test "x$linux_os" = xyes; then
+ case $host_cpu in
+
+ esac
+ fi
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ ul_cv_syscall_sched_getaffinity=$syscall
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ul_cv_syscall_sched_getaffinity" >&5
+$as_echo "$ul_cv_syscall_sched_getaffinity" >&6; }
+ if test "x$ul_cv_syscall_sched_getaffinity" != xno; then
+ HAVE_SCHED_GETAFFINITY_TRUE=
+ HAVE_SCHED_GETAFFINITY_FALSE='#'
+else
+ HAVE_SCHED_GETAFFINITY_TRUE='#'
+ HAVE_SCHED_GETAFFINITY_FALSE=
+fi
+
+ case $ul_cv_syscall_sched_getaffinity in #(
+ no) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to detect syscall sched_getaffinity." >&5
+$as_echo "$as_me: WARNING: Unable to detect syscall sched_getaffinity." >&2;} ;;
+ SYS_*) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define SYS_sched_getaffinity $ul_cv_syscall_sched_getaffinity
+_ACEOF
+ ;;
+ esac
+
+ case $enable_taskset:$ul_cv_syscall_sched_getaffinity in #(
+ no:*)
+ build_taskset=no ;;
+ yes:no)
+ as_fn_error $? "taskset selected but sched_getaffinity syscall not found" "$LINENO" 5 ;;
+ check:no)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: sched_getaffinity syscall not found; do not build taskset" >&5
+$as_echo "$as_me: WARNING: sched_getaffinity syscall not found; do not build taskset" >&2;}
+ build_taskset=no ;;
+ *)
+ build_taskset=yes ;;
+ esac
+ fi
+ fi
+
+ if test "x$build_taskset" = xyes; then
+ BUILD_TASKSET_TRUE=
+ BUILD_TASKSET_FALSE='#'
+else
+ BUILD_TASKSET_TRUE='#'
+ BUILD_TASKSET_FALSE=
+fi
+
+
+
+# Check whether --enable-wall was given.
+if test "${enable_wall+set}" = set; then :
+ enableval=$enable_wall;
+else
+ enable_wall=yes
+
+fi
+
+
+
+
+
+build_wall=$enable_wall
+
+ if test "x$build_wall" = xyes; then
+ BUILD_WALL_TRUE=
+ BUILD_WALL_FALSE='#'
+else
+ BUILD_WALL_TRUE='#'
+ BUILD_WALL_FALSE=
+fi
+
+
+
+# Check whether --enable-write was given.
+if test "${enable_write+set}" = set; then :
+ enableval=$enable_write;
+else
+ enable_write=no
+
+fi
+
+
+
+
+
+build_write=$enable_write
+
+ if test "x$build_write" = xyes; then
+ BUILD_WRITE_TRUE=
+ BUILD_WRITE_FALSE='#'
+else
+ BUILD_WRITE_TRUE='#'
+ BUILD_WRITE_FALSE=
+fi
+
+
+
+# Check whether --enable-chkdupexe was given.
+if test "${enable_chkdupexe+set}" = set; then :
+ enableval=$enable_chkdupexe;
+else
+ enable_chkdupexe=no
+
+fi
+
+
+
+
+
+build_chkdupexe=$enable_chkdupexe
+
+ if test "x$build_chkdupexe" = xyes; then
+ BUILD_CHKDUPEXE_TRUE=
+ BUILD_CHKDUPEXE_FALSE='#'
+else
+ BUILD_CHKDUPEXE_TRUE='#'
+ BUILD_CHKDUPEXE_FALSE=
+fi
+
+
+if test "x$build_chkdupexe" = xyes; then
+ # Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PERL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PERL in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PERL=$ac_cv_path_PERL
+if test -n "$PERL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ ac_config_files="$ac_config_files misc-utils/chkdupexe:misc-utils/chkdupexe.pl"
+
+fi
+
+
+# Check whether --enable-socket-activation was given.
+if test "${enable_socket_activation+set}" = set; then :
+ enableval=$enable_socket_activation;
+else
+ enable_socket_activation=no
+
+fi
+
+
+ if test "x$enable_socket_activation" = xyes; then
+ USE_SOCKET_ACTIVATION_TRUE=
+ USE_SOCKET_ACTIVATION_FALSE='#'
+else
+ USE_SOCKET_ACTIVATION_TRUE='#'
+ USE_SOCKET_ACTIVATION_FALSE=
+fi
+
+
+if test "x$enable_socket_activation" = xyes; then
+
+$as_echo "#define USE_SOCKET_ACTIVATION 1" >>confdefs.h
+
+fi
+
+
+# Check whether --with-systemdsystemunitdir was given.
+if test "${with_systemdsystemunitdir+set}" = set; then :
+ withval=$with_systemdsystemunitdir;
+else
+ with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
+fi
+
+
+if test "x$with_systemdsystemunitdir" != "xno"; then
+ systemdsystemunitdir=$with_systemdsystemunitdir
+
+fi
+
+ if test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != "xno" ; then
+ HAVE_SYSTEMD_TRUE=
+ HAVE_SYSTEMD_FALSE='#'
+else
+ HAVE_SYSTEMD_TRUE='#'
+ HAVE_SYSTEMD_FALSE=
+fi
+
+
+
+# Check whether --enable-pg-bell was given.
+if test "${enable_pg_bell+set}" = set; then :
+ enableval=$enable_pg_bell;
+else
+ enable_pg_bell=yes
+
+fi
+
+
+if test "x$enable_pg_bell" = xyes; then
+
+$as_echo "#define PG_BELL 1" >>confdefs.h
+
+fi
+
+
+# Check whether --enable-require-password was given.
+if test "${enable_require_password+set}" = set; then :
+ enableval=$enable_require_password;
+else
+ enable_require_password=yes
+
+fi
+
+
+if test "x$enable_require_password" = xyes; then
+
+$as_echo "#define REQUIRE_PASSWORD 1" >>confdefs.h
+
+fi
+
+
+
+# Check whether --enable-fs-paths-default was given.
+if test "${enable_fs_paths_default+set}" = set; then :
+ enableval=$enable_fs_paths_default; case "$enableval" in
+ yes) fs_paths_defaults="/sbin:/sbin/fs.d:/sbin/fs" ;;
+ no) fs_paths_defaults="" ;;
+ *) fs_paths_defaults="$enableval" ;;
+ esac
+else
+ fs_paths_defaults="/sbin:/sbin/fs.d:/sbin/fs"
+
+fi
+
+# Check whether --enable-fs-paths-extra was given.
+if test "${enable_fs_paths_extra+set}" = set; then :
+ enableval=$enable_fs_paths_extra; case "$enableval" in
+ yes|no) fs_paths_extra="" ;;
+ *) fs_paths_extra="$enableval" ;;
+ esac
+else
+ fs_paths_extra=""
+
+fi
+
+fs_paths="$fs_paths_defaults"
+if test "x$fs_paths_extra" != "x"; then
+ if test "x$fs_paths" != "x"; then
+ fs_paths="${fs_paths}:"
+ fi
+ fs_paths="${fs_paths}${fs_paths_extra}"
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define FS_SEARCH_PATH "$fs_paths"
+_ACEOF
+
+
+
+# Check whether --enable-use-tty-group was given.
+if test "${enable_use_tty_group+set}" = set; then :
+ enableval=$enable_use_tty_group;
+else
+ enable_use_tty_group=yes
+
+fi
+
+ if test "x$enable_use_tty_group" = xyes; then
+ USE_TTY_GROUP_TRUE=
+ USE_TTY_GROUP_FALSE='#'
+else
+ USE_TTY_GROUP_TRUE='#'
+ USE_TTY_GROUP_FALSE=
+fi
+
+
+if test "x$enable_use_tty_group" = xyes; then
+
+$as_echo "#define USE_TTY_GROUP 1" >>confdefs.h
+
+fi
+
+# Check whether --enable-makeinstall-chown was given.
+if test "${enable_makeinstall_chown+set}" = set; then :
+ enableval=$enable_makeinstall_chown;
+else
+ enable_makeinstall_chown=yes
+
+fi
+
+ if test "x$enable_makeinstall_chown" = xyes; then
+ MAKEINSTALL_DO_CHOWN_TRUE=
+ MAKEINSTALL_DO_CHOWN_FALSE='#'
+else
+ MAKEINSTALL_DO_CHOWN_TRUE='#'
+ MAKEINSTALL_DO_CHOWN_FALSE=
+fi
+
+
+# Check whether --enable-makeinstall-setuid was given.
+if test "${enable_makeinstall_setuid+set}" = set; then :
+ enableval=$enable_makeinstall_setuid;
+else
+ enable_makeinstall_setuid=yes
+
+fi
+
+ if test "x$enable_makeinstall_setuid" = xyes; then
+ MAKEINSTALL_DO_SETUID_TRUE=
+ MAKEINSTALL_DO_SETUID_FALSE='#'
+else
+ MAKEINSTALL_DO_SETUID_TRUE='#'
+ MAKEINSTALL_DO_SETUID_FALSE=
+fi
+
+
+
+
+
+
+LIBS=""
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+#
+# Don't use configure.ac to replace install paths! See Makefile PATHFILES for
+# more details.
+#
+ac_config_files="$ac_config_files Makefile libblkid/docs/Makefile libblkid/docs/version.xml libblkid/src/blkid.h libmount/docs/Makefile libmount/docs/version.xml libmount/src/libmount.h po/Makefile.in"
+
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then
+ as_fn_error $? "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then
+ as_fn_error $? "conditional \"LINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_I86_TRUE}" && test -z "${ARCH_I86_FALSE}"; then
+ as_fn_error $? "conditional \"ARCH_I86\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_86_64_TRUE}" && test -z "${ARCH_86_64_FALSE}"; then
+ as_fn_error $? "conditional \"ARCH_86_64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_IA64_TRUE}" && test -z "${ARCH_IA64_FALSE}"; then
+ as_fn_error $? "conditional \"ARCH_IA64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_S390_TRUE}" && test -z "${ARCH_S390_FALSE}"; then
+ as_fn_error $? "conditional \"ARCH_S390\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_SPARC_TRUE}" && test -z "${ARCH_SPARC_FALSE}"; then
+ as_fn_error $? "conditional \"ARCH_SPARC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_PPC_TRUE}" && test -z "${ARCH_PPC_FALSE}"; then
+ as_fn_error $? "conditional \"ARCH_PPC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_M68K_TRUE}" && test -z "${ARCH_M68K_FALSE}"; then
+ as_fn_error $? "conditional \"ARCH_M68K\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_MIPS_TRUE}" && test -z "${ARCH_MIPS_FALSE}"; then
+ as_fn_error $? "conditional \"ARCH_MIPS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_HPPA_TRUE}" && test -z "${ARCH_HPPA_FALSE}"; then
+ as_fn_error $? "conditional \"ARCH_HPPA\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_LANGINFO_TRUE}" && test -z "${HAVE_LANGINFO_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_LANGINFO\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_LANGINFO_TRUE}" && test -z "${HAVE_LANGINFO_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_LANGINFO\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_STATIC_LOSETUP_TRUE}" && test -z "${HAVE_STATIC_LOSETUP_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_STATIC_LOSETUP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_STATIC_MOUNT_TRUE}" && test -z "${HAVE_STATIC_MOUNT_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_STATIC_MOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_STATIC_UMOUNT_TRUE}" && test -z "${HAVE_STATIC_UMOUNT_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_STATIC_UMOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_STATIC_FDISK_TRUE}" && test -z "${HAVE_STATIC_FDISK_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_STATIC_FDISK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_STATIC_SFDISK_TRUE}" && test -z "${HAVE_STATIC_SFDISK_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_STATIC_SFDISK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_STATIC_BLKID_TRUE}" && test -z "${HAVE_STATIC_BLKID_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_STATIC_BLKID\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_UTIL_TRUE}" && test -z "${HAVE_UTIL_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_UTIL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_TERMCAP_TRUE}" && test -z "${HAVE_TERMCAP_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_TERMCAP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_CPU_SET_T_TRUE}" && test -z "${HAVE_CPU_SET_T_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_CPU_SET_T\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_LIBCRYPT_TRUE}" && test -z "${HAVE_LIBCRYPT_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_LIBCRYPT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_SELINUX_TRUE}" && test -z "${HAVE_SELINUX_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_SELINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_SELINUX_TRUE}" && test -z "${HAVE_SELINUX_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_SELINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_AUDIT_TRUE}" && test -z "${HAVE_AUDIT_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_AUDIT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_AUDIT_TRUE}" && test -z "${HAVE_AUDIT_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_AUDIT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_UDEV_TRUE}" && test -z "${HAVE_UDEV_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_UDEV\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_UDEV_TRUE}" && test -z "${HAVE_UDEV_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_UDEV\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_NCURSES_TRUE}" && test -z "${HAVE_NCURSES_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_NCURSES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_NCURSES_TRUE}" && test -z "${HAVE_NCURSES_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_NCURSES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_NCURSES_TRUE}" && test -z "${HAVE_NCURSES_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_NCURSES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_SLANG_TRUE}" && test -z "${HAVE_SLANG_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_SLANG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_CFDISK_TRUE}" && test -z "${BUILD_CFDISK_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_CFDISK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_TINFO_TRUE}" && test -z "${HAVE_TINFO_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_TINFO\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_UTEMPTER_TRUE}" && test -z "${HAVE_UTEMPTER_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_UTEMPTER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_UTEMPTER_TRUE}" && test -z "${HAVE_UTEMPTER_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_UTEMPTER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LIBUUID_TRUE}" && test -z "${BUILD_LIBUUID_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LIBUUID\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LIBBLKID_TRUE}" && test -z "${BUILD_LIBBLKID_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LIBBLKID\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LIBBLKID_TESTS_TRUE}" && test -z "${BUILD_LIBBLKID_TESTS_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LIBBLKID_TESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LIBMOUNT_TRUE}" && test -z "${BUILD_LIBMOUNT_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LIBMOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LIBMOUNT_TESTS_TRUE}" && test -z "${BUILD_LIBMOUNT_TESTS_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LIBMOUNT_TESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_DEPRECATED_MOUNT_TRUE}" && test -z "${BUILD_DEPRECATED_MOUNT_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_DEPRECATED_MOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_MOUNT_TRUE}" && test -z "${BUILD_MOUNT_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_MOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOSETUP_TRUE}" && test -z "${BUILD_LOSETUP_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LOSETUP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_FSCK_TRUE}" && test -z "${BUILD_FSCK_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_FSCK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_PARTX_TRUE}" && test -z "${BUILD_PARTX_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_PARTX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_UUIDD_TRUE}" && test -z "${BUILD_UUIDD_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_UUIDD\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_MOUNTPOINT_TRUE}" && test -z "${BUILD_MOUNTPOINT_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_MOUNTPOINT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_FALLOCATE_TRUE}" && test -z "${HAVE_FALLOCATE_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_FALLOCATE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_FALLOCATE_TRUE}" && test -z "${HAVE_FALLOCATE_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_FALLOCATE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_FALLOCATE_TRUE}" && test -z "${BUILD_FALLOCATE_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_FALLOCATE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_UNSHARE_TRUE}" && test -z "${HAVE_UNSHARE_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_UNSHARE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_UNSHARE_TRUE}" && test -z "${HAVE_UNSHARE_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_UNSHARE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_UNSHARE_TRUE}" && test -z "${BUILD_UNSHARE_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_UNSHARE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ARCH_TRUE}" && test -z "${BUILD_ARCH_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_ARCH\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_DDATE_TRUE}" && test -z "${BUILD_DDATE_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_DDATE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_EJECT_TRUE}" && test -z "${BUILD_EJECT_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_EJECT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_AGETTY_TRUE}" && test -z "${BUILD_AGETTY_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_AGETTY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_CRAMFS_TRUE}" && test -z "${BUILD_CRAMFS_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_CRAMFS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_HWCLOCK_TRUE}" && test -z "${BUILD_HWCLOCK_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_HWCLOCK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_SWAPON_TRUE}" && test -z "${BUILD_SWAPON_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_SWAPON\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LSBLK_TRUE}" && test -z "${BUILD_LSBLK_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LSBLK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LSCPU_TRUE}" && test -z "${BUILD_LSCPU_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LSCPU\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_CHCPU_TRUE}" && test -z "${BUILD_CHCPU_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_CHCPU\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_WDCTL_TRUE}" && test -z "${BUILD_WDCTL_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_WDCTL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_SWAPLABEL_TRUE}" && test -z "${BUILD_SWAPLABEL_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_SWAPLABEL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PRLIMIT64_TRUE}" && test -z "${HAVE_PRLIMIT64_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_PRLIMIT64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PRLIMIT64_TRUE}" && test -z "${HAVE_PRLIMIT64_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_PRLIMIT64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_PRLIMIT_TRUE}" && test -z "${BUILD_PRLIMIT_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_PRLIMIT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LSLOCKS_TRUE}" && test -z "${BUILD_LSLOCKS_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LSLOCKS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_SWITCH_ROOT_TRUE}" && test -z "${BUILD_SWITCH_ROOT_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_SWITCH_ROOT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PIVOT_ROOT_TRUE}" && test -z "${HAVE_PIVOT_ROOT_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_PIVOT_ROOT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PIVOT_ROOT_TRUE}" && test -z "${HAVE_PIVOT_ROOT_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_PIVOT_ROOT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_PIVOT_ROOT_TRUE}" && test -z "${BUILD_PIVOT_ROOT_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_PIVOT_ROOT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ELVTUNE_TRUE}" && test -z "${BUILD_ELVTUNE_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_ELVTUNE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_KILL_TRUE}" && test -z "${BUILD_KILL_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_KILL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LAST_TRUE}" && test -z "${BUILD_LAST_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LAST\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_UTMPDUMP_TRUE}" && test -z "${BUILD_UTMPDUMP_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_UTMPDUMP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LINE_TRUE}" && test -z "${BUILD_LINE_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LINE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_MESG_TRUE}" && test -z "${BUILD_MESG_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_MESG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_RAW_TRUE}" && test -z "${BUILD_RAW_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_RAW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_RENAME_TRUE}" && test -z "${BUILD_RENAME_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_RENAME\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_RESET_TRUE}" && test -z "${BUILD_RESET_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_RESET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_VIPW_TRUE}" && test -z "${BUILD_VIPW_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_VIPW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_NEWGRP_TRUE}" && test -z "${BUILD_NEWGRP_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_NEWGRP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_CHFN_CHSH_TRUE}" && test -z "${BUILD_CHFN_CHSH_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_CHFN_CHSH\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOGIN_TRUE}" && test -z "${BUILD_LOGIN_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_LOGIN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_SULOGIN_TRUE}" && test -z "${BUILD_SULOGIN_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_SULOGIN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_SU_TRUE}" && test -z "${BUILD_SU_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_SU\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_SCHEDUTILS_TRUE}" && test -z "${BUILD_SCHEDUTILS_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_SCHEDUTILS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_IOPRIO_SET_TRUE}" && test -z "${HAVE_IOPRIO_SET_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_IOPRIO_SET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_IOPRIO_SET_TRUE}" && test -z "${HAVE_IOPRIO_SET_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_IOPRIO_SET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_IOPRIO_GET_TRUE}" && test -z "${HAVE_IOPRIO_GET_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_IOPRIO_GET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_IOPRIO_GET_TRUE}" && test -z "${HAVE_IOPRIO_GET_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_IOPRIO_GET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_IONICE_TRUE}" && test -z "${BUILD_IONICE_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_IONICE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_SCHED_GETAFFINITY_TRUE}" && test -z "${HAVE_SCHED_GETAFFINITY_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_SCHED_GETAFFINITY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_SCHED_GETAFFINITY_TRUE}" && test -z "${HAVE_SCHED_GETAFFINITY_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_SCHED_GETAFFINITY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_TASKSET_TRUE}" && test -z "${BUILD_TASKSET_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_TASKSET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_WALL_TRUE}" && test -z "${BUILD_WALL_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_WALL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_WRITE_TRUE}" && test -z "${BUILD_WRITE_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_WRITE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_CHKDUPEXE_TRUE}" && test -z "${BUILD_CHKDUPEXE_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_CHKDUPEXE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${USE_SOCKET_ACTIVATION_TRUE}" && test -z "${USE_SOCKET_ACTIVATION_FALSE}"; then
+ as_fn_error $? "conditional \"USE_SOCKET_ACTIVATION\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_SYSTEMD_TRUE}" && test -z "${HAVE_SYSTEMD_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_SYSTEMD\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${USE_TTY_GROUP_TRUE}" && test -z "${USE_TTY_GROUP_FALSE}"; then
+ as_fn_error $? "conditional \"USE_TTY_GROUP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MAKEINSTALL_DO_CHOWN_TRUE}" && test -z "${MAKEINSTALL_DO_CHOWN_FALSE}"; then
+ as_fn_error $? "conditional \"MAKEINSTALL_DO_CHOWN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MAKEINSTALL_DO_SETUID_TRUE}" && test -z "${MAKEINSTALL_DO_SETUID_FALSE}"; then
+ as_fn_error $? "conditional \"MAKEINSTALL_DO_SETUID\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by util-linux $as_me 2.22, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <kzak@redhat.com>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+util-linux config.status 2.22
+configured by $0, generated by GNU Autoconf 2.68,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in SHELL \
+ECHO \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
+AR \
+AR_FLAGS \
+archiver_list_spec \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+nm_file_list_spec \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_pic \
+lt_prog_compiler_wl \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+MANIFEST_TOOL \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postlink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'
+
+
+
+# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "misc-utils/chkdupexe") CONFIG_FILES="$CONFIG_FILES misc-utils/chkdupexe:misc-utils/chkdupexe.pl" ;;
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "libblkid/docs/Makefile") CONFIG_FILES="$CONFIG_FILES libblkid/docs/Makefile" ;;
+ "libblkid/docs/version.xml") CONFIG_FILES="$CONFIG_FILES libblkid/docs/version.xml" ;;
+ "libblkid/src/blkid.h") CONFIG_FILES="$CONFIG_FILES libblkid/src/blkid.h" ;;
+ "libmount/docs/Makefile") CONFIG_FILES="$CONFIG_FILES libmount/docs/Makefile" ;;
+ "libmount/docs/version.xml") CONFIG_FILES="$CONFIG_FILES libmount/docs/version.xml" ;;
+ "libmount/src/libmount.h") CONFIG_FILES="$CONFIG_FILES libmount/src/libmount.h" ;;
+ "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+# Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags=""
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file chkdupexe (normally "o").
+objext=$ac_objext
+
+# Executable file chkdupexe (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method = "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
+# The archiver.
+AR=$lt_AR
+
+# Flags to create an archive.
+AR_FLAGS=$lt_AR_FLAGS
+
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+
+# The root where to search for dependent libraries,and in which our libraries should be installed.
+lt_sysroot=$lt_sysroot
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive chkdupexe (normally "a").
+libext=$libext
+
+# Shared library chkdupexe (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_basename ()$/,/^} # func_basename /c\
+func_basename ()\
+{\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
+func_dirname_and_basename ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
+func_stripname ()\
+{\
+\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
+\ # positional parameters, so assign one to ordinary parameter first.\
+\ func_stripname_result=${3}\
+\ func_stripname_result=${func_stripname_result#"${1}"}\
+\ func_stripname_result=${func_stripname_result%"${2}"}\
+} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
+func_split_long_opt ()\
+{\
+\ func_split_long_opt_name=${1%%=*}\
+\ func_split_long_opt_arg=${1#*=}\
+} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
+func_split_short_opt ()\
+{\
+\ func_split_short_opt_arg=${1#??}\
+\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
+} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
+func_lo2o ()\
+{\
+\ case ${1} in\
+\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
+\ *) func_lo2o_result=${1} ;;\
+\ esac\
+} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_xform ()$/,/^} # func_xform /c\
+func_xform ()\
+{\
+ func_xform_result=${1%.*}.lo\
+} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_arith ()$/,/^} # func_arith /c\
+func_arith ()\
+{\
+ func_arith_result=$(( $* ))\
+} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_len ()$/,/^} # func_len /c\
+func_len ()\
+{\
+ func_len_result=${#1}\
+} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ sed -e '/^func_append ()$/,/^} # func_append /c\
+func_append ()\
+{\
+ eval "${1}+=\\${2}"\
+} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
+func_append_quoted ()\
+{\
+\ func_quote_for_eval "${2}"\
+\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
+} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
+
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+ ;;
+ "default-1":C)
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assigment from automake.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..8727d34
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,1344 @@
+AC_INIT(util-linux,
+ m4_esyscmd([tools/git-version-gen .tarball-version]),
+ kzak@redhat.com)
+
+AC_PREREQ(2.60)
+
+AC_CONFIG_AUX_DIR(config)
+AC_CONFIG_MACRO_DIR([m4])
+AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip dist-xz -Wno-portability subdir-objects])
+
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
+ [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
+
+AC_CONFIG_SRCDIR(sys-utils/mount.c)
+AC_PREFIX_DEFAULT([/usr])
+
+dnl version details from <major>.<minor>[-<suffix>]
+PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}')
+PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{print $2}' \
+ | awk -F- '{print $1}')
+PACKAGE_VERSION_RELEASE=0
+
+dnl libblkid version
+LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
+LIBBLKID_DATE="04-Sep-2012"
+LIBBLKID_LT_MAJOR=1
+LIBBLKID_LT_MINOR=1
+LIBBLKID_LT_MICRO=0
+LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
+
+dnl libuuid version
+LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
+LIBUUID_LT_MAJOR=1
+LIBUUID_LT_MINOR=3
+LIBUUID_LT_MICRO=0
+LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
+
+dnl libmount version
+LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
+LIBMOUNT_LT_MAJOR=1
+LIBMOUNT_LT_MINOR=1
+LIBMOUNT_LT_MICRO=0
+LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
+
+# Check whether exec_prefix=/usr:
+case $exec_prefix:$prefix in
+NONE:NONE | NONE:/usr | /usr:*)
+ AC_MSG_NOTICE([Default --exec-prefix detected.])
+ case $bindir in
+ '${exec_prefix}/bin') bindir=/bin
+ AC_MSG_NOTICE([ --bindir defaults to /bin]) ;;
+ esac
+ case $sbindir in
+ '${exec_prefix}/sbin') sbindir=/sbin
+ AC_MSG_NOTICE([ --sbindir defaults to /sbin]) ;;
+ esac
+ case $libdir in
+ '${exec_prefix}/lib') libdir=/lib
+ AC_MSG_NOTICE([ --libdir defaults to /lib]) ;;
+ esac ;;
+esac
+
+case $prefix:$localstatedir in
+ NONE:'${prefix}/var')
+ localstatedir=/run
+ AC_MSG_NOTICE([ --localstatedir defaults to /run])
+ ;;
+ *:'${prefix}/var')
+ localstatedir=${prefix}/run
+ ;;
+ NONE:*)
+ ;;
+ *:*)
+ localstatedir=${prefix}/${localstatedir}
+ ;;
+esac
+AC_SUBST([localstatedir])
+
+libdirname=`basename "$libdir"`
+AC_SUBST([libdirname])
+
+# The original default values of {bin,sbin,lib}dir
+usrbin_execdir='${exec_prefix}/bin'
+AC_SUBST([usrbin_execdir])
+
+usrsbin_execdir='${exec_prefix}/sbin'
+AC_SUBST([usrsbin_execdir])
+
+usrlib_execdir='${exec_prefix}/'$libdirname
+AC_SUBST([usrlib_execdir])
+
+
+AM_PROG_CC_C_O
+AC_PROG_CC_STDC
+AC_GNU_SOURCE
+AC_CANONICAL_HOST
+AC_C_CONST
+AC_C_VOLATILE
+AC_C_BIGENDIAN
+
+dnl Compiler warnings
+UL_WARN_ADD([-fno-common])
+UL_WARN_ADD([-Wall])
+UL_WARN_ADD([-Werror=sequence-point])
+UL_WARN_ADD([-Wextra])
+UL_WARN_ADD([-Wmissing-declarations])
+UL_WARN_ADD([-Wmissing-parameter-type])
+UL_WARN_ADD([-Wmissing-prototypes])
+UL_WARN_ADD([-Wno-missing-field-initializers])
+UL_WARN_ADD([-Wredundant-decls])
+UL_WARN_ADD([-Wsign-compare])
+UL_WARN_ADD([-Wtype-limits])
+UL_WARN_ADD([-Wuninitialized])
+UL_WARN_ADD([-Wunused-but-set-parameter])
+UL_WARN_ADD([-Wunused-but-set-variable])
+UL_WARN_ADD([-Wunused-parameter])
+UL_WARN_ADD([-Wunused-result])
+UL_WARN_ADD([-Wunused-variable])
+AC_SUBST([WARN_CFLAGS])
+
+dnl libtool-2
+LT_INIT
+
+m4_ifndef([PKG_PROG_PKG_CONFIG],
+ [m4_fatal([Could not locate the pkg-config autoconf
+ macros. These are usually located in /usr/share/aclocal/pkg.m4.
+ If your macros are in a different location, try setting the
+ environment variable AL_OPTS="-I/other/macro/dir" before running
+ ./autogen.sh or autoreconf again.])])
+PKG_PROG_PKG_CONFIG
+
+GTK_DOC_CHECK([1.10])
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+
+linux_os=no
+case ${host_os} in
+ *linux*)
+ linux_os=yes
+ ;;
+esac
+AM_CONDITIONAL([LINUX], test "x$linux_os" = xyes)
+
+dnl define ARCH_<NAME> conditionals
+UL_SET_ARCH(I86, i?86-*)
+UL_SET_ARCH(86_64, x86_64*)
+UL_SET_ARCH(IA64, ia64*)
+UL_SET_ARCH(S390, s390*)
+UL_SET_ARCH(SPARC, sparc*)
+UL_SET_ARCH(PPC, ppc*|powerpc*)
+UL_SET_ARCH(M68K, m68*)
+UL_SET_ARCH(MIPS, mips*)
+UL_SET_ARCH(HPPA, hppa*)
+
+AC_SYS_LARGEFILE
+
+AM_GNU_GETTEXT_VERSION([0.14.1])
+AM_GNU_GETTEXT([external])
+if test -d "$srcdir/po"
+then
+ ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
+else
+ ALL_LINGUAS="af am ar as be bg bn_IN bn ca cs cy da de el en_GB es et eu_ES fa fi fr gl gu he hi hr hu hy id is it ja ka kn ko ku lo lt lv mk ml mr ms my nb nl nn no nso or pa pl pt_BR pt ro ru si sk sl sq sr@Latn sr sv ta te th tr uk ur vi zh_CN zh_TW zu"
+fi
+
+AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
+#ifdef HAVE_LINUX_COMPILER_H
+#include <linux/compiler.h>
+#endif
+])
+AC_CHECK_HEADERS([ \
+ asm/io.h \
+ err.h \
+ errno.h \
+ fcntl.h \
+ getopt.h \
+ inttypes.h \
+ linux/cdrom.h \
+ linux/falloc.h \
+ linux/watchdog.h \
+ linux/fd.h \
+ linux/raw.h \
+ linux/tiocl.h \
+ linux/version.h \
+ locale.h \
+ mntent.h \
+ net/if.h \
+ net/if_dl.h \
+ netinet/in.h \
+ paths.h \
+ pty.h \
+ security/pam_misc.h \
+ stdint.h \
+ stdio_ext.h \
+ stdlib.h \
+ sys/disk.h \
+ sys/disklabel.h \
+ sys/file.h \
+ sys/io.h \
+ sys/ioccom.h \
+ sys/ioctl.h \
+ sys/mkdev.h \
+ sys/prctl.h \
+ sys/queue.h \
+ sys/resource.h \
+ sys/socket.h \
+ sys/sockio.h \
+ sys/stat.h \
+ sys/swap.h \
+ sys/syscall.h \
+ sys/time.h \
+ sys/types.h \
+ sys/un.h \
+ unistd.h \
+])
+
+AC_CHECK_HEADERS([langinfo.h],
+ [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
+ [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
+
+dnl Convert some ac_cv_header_* variables to have_*
+dnl
+have_linux_raw_h=$ac_cv_header_linux_raw_h
+have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
+have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
+
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <time.h>
+#include <unistd.h>
+]], [[
+ int a = 0;
+ struct tm *tm = localtime(0);
+ if (a == -1) /* false */
+ sleep(tm->tm_gmtoff);
+]])],
+[AC_DEFINE(HAVE_TM_GMTOFF,1,[Does struct tm have a field tm_gmtoff?])
+])
+
+AC_CHECK_MEMBERS([struct termios.c_line],,,
+ [[#include <termios.h>]])
+
+AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
+ [#include <sys/stat.h>])
+
+AC_CHECK_DECLS([
+ UNAME26,
+ ADDR_NO_RANDOMIZE,
+ FDPIC_FUNCPTRS,
+ MMAP_PAGE_ZERO,
+ ADDR_COMPAT_LAYOUT,
+ READ_IMPLIES_EXEC,
+ ADDR_LIMIT_32BIT,
+ WHOLE_SECONDS,
+ STICKY_TIMEOUTS,
+ ADDR_LIMIT_3GB], [], [], [#include <linux/personality.h>])
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[[
+#ifdef HAVE_SYS_SWAP_H
+# include <sys/swap.h>
+#endif
+#include <unistd.h>
+]],
+[[swapon("/dev/null", 0);]])],
+[AC_DEFINE(SWAPON_HAS_TWO_ARGS, 1, [Is swapon() declared with two parameters?])
+],
+[AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
+])
+
+
+AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
+
+AC_CHECK_DECL([llseek],
+ [AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1,
+ [Define to 1 if have llseek prototype])],
+ [],
+ [#include <unistd.h>])
+
+AC_CHECK_DECL([lseek64],
+ [AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1,
+ [Define to 1 if have lseek64 prototype])],
+ [],
+ [#define _LARGEFILE_SOURCE
+ #define _LARGEFILE64_SOURCE
+ #include <unistd.h>])
+
+AC_CHECK_DECL([environ],
+ [AC_DEFINE(HAVE_ENVIRON_DECL, 1,
+ [Define to 1 if have **environ prototype])],
+)
+
+AC_CHECK_DECL([strsignal],
+ [AC_DEFINE(HAVE_STRSIGNAL_DECL, 1,
+ [Define to 1 if have strsignal function prototype])],
+)
+
+AC_CHECK_FUNCS([ \
+ __fpending \
+ __secure_getenv \
+ err \
+ errx \
+ fsync \
+ futimens \
+ getdomainname \
+ getdtablesize \
+ getexecname \
+ getmntinfo \
+ getrlimit \
+ inotify_init \
+ jrand48 \
+ lchown \
+ llseek \
+ lseek64 \
+ nanosleep \
+ personality \
+ posix_fadvise \
+ prctl \
+ rpmatch \
+ scandirat \
+ setresgid \
+ setresuid \
+ sigqueue \
+ srandom \
+ strnchr \
+ strndup \
+ strnlen \
+ strtoull \
+ sysconf \
+ updwtmp \
+ usleep \
+ warn \
+ warnx \
+])
+AC_FUNC_FSEEKO
+
+AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
+AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
+
+AC_CHECK_MEMBER(struct sockaddr.sa_len,
+ AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,[Define if struct sockaddr contains sa_len]),,
+ [#include <sys/types.h>
+ #include <sys/socket.h>])
+
+SOCKET_LIBS=
+AC_SEARCH_LIBS([gethostbyname], [nsl],
+ [if test x"$ac_cv_search_gethostbyname" != x"none required"; then
+ SOCKET_LIBS="$SOCKET_LIBS -lnsl";
+ fi])
+AC_SEARCH_LIBS([socket], [socket],
+ [if test x"$ac_cv_search_socket" != x"none required"; then
+ SOCKET_LIBS="$SOCKET_LIBS -lsocket";
+ fi])
+AC_SUBST([SOCKET_LIBS])
+
+
+have_dirfd=no
+AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
+if test x"$have_dirfd" = xno ; then
+ AC_CHECK_DECLS([dirfd],
+ [have_dirfd=yes], [have_dirfd=no],
+ [#include <sys/types.h>
+ #include <dirent.h>])
+fi
+
+have_ddfd=no
+if test x"$have_dirfd" = xno ; then
+ AC_CHECK_MEMBERS([DIR.dd_fd],
+ [have_ddfd=yes], [have_ddfd=no],
+ [#include <sys/types.h>
+ #include <dirent.h>])
+fi
+
+case "$have_dirfd:$have_ddfd" in
+no:no)
+ AC_MSG_ERROR([cannot find a method to get filedescriptor of directory]) ;;
+esac
+
+
+AC_MSG_CHECKING(whether program_invocation_short_name is defined)
+AC_TRY_COMPILE([#include <argp.h>],
+ [program_invocation_short_name = "test";],
+ AC_DEFINE(HAVE_PROGRAM_INVOCATION_SHORT_NAME, 1,
+ [Define if program_invocation_short_name is defined])
+ AC_MSG_RESULT(yes),
+ AC_MSG_RESULT(no))
+
+AC_MSG_CHECKING([whether __progname is defined])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
+ [if (*__progname == 0) return;])],
+ AC_DEFINE(HAVE___PROGNAME, 1, [Define if __progname is defined])
+ AC_MSG_RESULT(yes),
+ AC_MSG_RESULT(no))
+
+dnl Static compilation
+m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid])
+
+AC_ARG_ENABLE([static-programs],
+ [AS_HELP_STRING([--enable-static-programs=LIST],
+ [link static the programs in LIST (comma-separated,
+ supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
+
+case $enable_static_programs in
+yes) enable_static_programs=m4_quote(UL_STATIC_PROGRAMS) ;;
+no) enable_static_programs= ;;
+esac
+
+dnl Set all the individual AM_CONDITIONALs
+m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
+ case ,$enable_static_programs, in
+ *,UL_PRG,*) static_[]UL_PRG=yes ;;
+ esac
+ AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
+ [test "x$static_[]UL_PRG" = xyes])
+])
+
+AX_CHECK_TLS
+
+AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
+# include <stdio.h>
+int main()
+{
+ int i;
+ char *s;
+ i = sscanf("x", $1, &s);
+ if (i == 1)
+ return 0;
+ return 1;
+}])
+
+AC_CACHE_VAL([scanf_cv_alloc_modifier],
+ AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
+ [scanf_cv_alloc_modifier=ms],
+ AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
+ [scanf_cv_alloc_modifier=as],
+ [scanf_cv_alloc_modifier=no]
+ )
+ ,
+
+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+ #include <stdio.h>
+
+ #ifdef __GLIBC__
+
+ #if !(__GLIBC_PREREQ(2, 7))
+ #error %m is not available
+ #endif
+
+ #else
+
+ #error Your C-library is not supported.
+ #endif
+ ])],
+ [scanf_cv_alloc_modifier=ms],
+ [scanf_cv_alloc_modifier=no])]
+ )
+)
+
+AC_MSG_CHECKING([scanf string alloc modifiers])
+case "$scanf_cv_alloc_modifier" in
+ms)
+ AC_MSG_RESULT([(%ms) yes])
+ AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
+ have_scanf_alloc_modifier=yes
+ ;;
+as)
+ AC_MSG_RESULT([(%as) yes])
+ have_scanf_alloc_modifier=yes
+ AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])
+ ;;
+*)
+ AC_MSG_RESULT([no])
+ have_scanf_alloc_modifier=no
+ ;;
+esac
+
+UL_CHECK_LIB(util, openpty)
+UL_CHECK_LIB(termcap, tgetnum)
+
+AC_CHECK_TYPES([union semun], [], [], [[
+#include <sys/sem.h>
+]])
+AC_CHECK_TYPES(loff_t)
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <wchar.h>
+#include <wctype.h>
+#include <stdio.h>
+]], [[
+ wchar_t wc;
+ wint_t w;
+ w = fgetwc(stdin);
+ if (w == WEOF) exit(1);
+ wc = w;
+ fputwc(wc,stdout);
+]])],
+[AC_DEFINE(HAVE_WIDECHAR,1,Do we have wide character support?)
+])
+
+AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
+#include <sched.h>
+]])
+
+AM_CONDITIONAL(HAVE_CPU_SET_T, [test "x$have_cpu_set_t" = xyes])
+
+AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
+#include <sched.h>
+]])
+
+# on Solaris, you can't mix and match standards, since we use c99
+# aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
+# check for crypt.h and use that without XOPEN_SOURCE.
+AC_CHECK_HEADERS([crypt.h])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#ifdef HAVE_CRYPT_H
+#include <crypt.h>
+#else
+#define _XOPEN_SOURCE
+#include <unistd.h>
+#endif
+]], [[
+char *c = crypt("abc","pw");
+]])],[],[
+ LIBS="$LIBS -lcrypt"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #ifdef HAVE_CRYPT_H
+ #include <crypt.h>
+ #else
+ #define _XOPEN_SOURCE
+ #include <unistd.h>
+ #endif
+ ]], [[
+ char *c = crypt("abc","pw");
+ ]])],[
+ AC_DEFINE(HAVE_LIBCRYPT, 1, [Do we need -lcrypt?])
+ have_libcrypt=yes
+ ],[
+ AC_MSG_ERROR([crypt() is not available])
+ ])
+])
+AM_CONDITIONAL(HAVE_LIBCRYPT, test "x$have_libcrypt" = xyes)
+
+
+AC_ARG_WITH([selinux],
+ AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
+ [], with_selinux=no
+)
+
+if test "x$with_selinux" = xno; then
+ AM_CONDITIONAL(HAVE_SELINUX, false)
+else
+ UL_CHECK_LIB(selinux, getprevcon)
+ case "$with_selinux:$have_selinux" in
+ yes:no) AC_MSG_ERROR([SELinux selected but libselinux not found]);;
+ esac
+fi
+
+if test "x$have_selinux" = xyes; then
+ SELINUX_LIBS="-lselinux -lsepol"
+ SELINUX_LIBS_STATIC="-lselinux -lsepol"
+ old_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $SELINUX_LIBS"
+ # This function is missing in old libselinux 1.xx versions
+ AC_CHECK_FUNCS([security_get_initial_context])
+ LDFLAGS="$old_LDFLAGS"
+fi
+AC_SUBST([SELINUX_LIBS])
+AC_SUBST([SELINUX_LIBS_STATIC])
+
+AC_ARG_WITH([audit],
+ AS_HELP_STRING([--with-audit], [compile with audit support]),
+ [], with_audit=no
+)
+
+if test "x$with_audit" = xno; then
+ AM_CONDITIONAL(HAVE_AUDIT, false)
+else
+ UL_CHECK_LIB(audit, audit_log_user_message)
+ case "$with_audit:$have_audit" in
+ yes:no)
+ AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])
+ ;;
+ esac
+fi
+
+AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
+ [], with_udev=auto
+)
+
+if test "x$with_udev" = xno; then
+ AM_CONDITIONAL(HAVE_UDEV, false)
+else
+ UL_CHECK_LIB(udev, udev_new)
+ case "$with_udev:$have_udev" in
+ yes:no)
+ AC_MSG_ERROR([udev selected but libudev not found])
+ ;;
+ esac
+fi
+
+AC_ARG_WITH([ncurses],
+ AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
+ (--without-ncurses disables all ncurses(w) support)]),
+ [], with_ncurses=auto
+)
+AM_CONDITIONAL(HAVE_NCURSES, false)
+
+if test "x$with_ncurses" != xno; then
+ have_ncurses=no
+ AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
+ if test "x$with_ncurses" = xauto; then
+ UL_CHECK_LIB(ncursesw, initscr, ncurses)
+ if test "x$have_ncurses" = xyes; then
+ AC_CHECK_HEADERS([ncursesw/ncurses.h])
+ NCURSES_LIBS="-lncursesw"
+ fi
+ fi
+ if test "x$have_ncurses" = xno; then
+ UL_CHECK_LIB(ncurses, initscr)
+ if test "x$have_ncurses" = xyes; then
+ NCURSES_LIBS="-lncurses"
+ fi
+ fi
+ ])
+ if test "x$have_ncurses" = xno; then
+ AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)])
+ fi
+fi
+AC_SUBST([NCURSES_LIBS])
+
+
+AC_ARG_WITH([slang],
+ AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
+ [], with_slang=no
+)
+have_slang=no
+if test "x$with_slang" = xyes; then
+ AC_CHECK_HEADERS([slang.h slang/slang.h])
+ AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
+ [have_slang=yes], [], [
+#ifdef HAVE_SLANG_H
+#include <slang.h>
+#elif defined(HAVE_SLANG_SLANG_H)
+#include <slang/slang.h>
+#endif
+])
+ if test "x$have_slang" = xno; then
+ AC_MSG_ERROR([slang selected but slcurses.h not found])
+ fi
+fi
+AM_CONDITIONAL(HAVE_SLANG, test "x$have_slang" = xyes)
+
+
+AM_CONDITIONAL(BUILD_CFDISK, test "x$have_slang" = xyes -o "x$have_ncurses" = xyes)
+
+
+have_tinfo=no
+AC_CHECK_LIB(tinfo, tgetent, [have_tinfo=yes])
+AM_CONDITIONAL(HAVE_TINFO, test "x$have_tinfo" = xyes)
+
+
+AC_ARG_WITH([utempter],
+ AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
+ [], with_utempter=no
+)
+
+if test "x$with_utempter" = xyes; then
+ UL_CHECK_LIB(utempter, utempter_add_record)
+ if test "x$have_utempter" = xno; then
+ AC_MSG_ERROR([utempter selected but libutempter not found])
+ fi
+else
+ AM_CONDITIONAL(HAVE_UTEMPTER, false)
+fi
+
+
+AC_ARG_ENABLE([most-builds],
+ AS_HELP_STRING([--enable-most-builds], [build everything other than experimental code]),
+ [], enable_most_builds=no
+)
+if test "x$enable_most_builds" = xyes; then
+ enable_arch=check
+ enable_ddate=yes
+ enable_elvtune=check
+ enable_last=yes
+ enable_line=yes
+ enable_mesg=yes
+ enable_reset=yes
+ enable_vipw=yes
+ enable_chfn_chsh=yes
+ enable_newgrp=yes
+ enable_write=yes
+fi
+
+dnl
+dnl libuuid
+dnl
+AC_ARG_ENABLE([libuuid],
+ AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
+ [], enable_libuuid=yes
+)
+UL_BUILD_INIT([libuuid])
+AC_SUBST([LIBUUID_VERSION])
+AC_SUBST([LIBUUID_VERSION_INFO])
+AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
+
+if test "x$enable_libuuid" = xyes; then
+ AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
+else
+ AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
+fi
+
+dnl
+dnl libblkid
+dnl
+AC_ARG_ENABLE([libblkid],
+ AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
+ [], enable_libblkid=yes
+)
+UL_BUILD_INIT([libblkid])
+AC_SUBST([LIBBLKID_DATE])
+AC_SUBST([LIBBLKID_VERSION])
+AC_SUBST([LIBBLKID_VERSION_INFO])
+AC_DEFINE_UNQUOTED(LIBBLKID_VERSION, "$LIBBLKID_VERSION", [libblkid version string])
+AC_DEFINE_UNQUOTED(LIBBLKID_DATE, "$LIBBLKID_DATE", [libblkid date string])
+if test "x$build_libblkid" = xyes; then
+ AC_DEFINE(HAVE_LIBBLKID, 1, [Define to 1 if you have the -lblkid.])
+fi
+AM_CONDITIONAL(BUILD_LIBBLKID, test "x$build_libblkid" = xyes)
+AM_CONDITIONAL(BUILD_LIBBLKID_TESTS, test "x$build_libblkid" = xyes -a "x$enable_static" = xyes)
+
+dnl
+dnl libmount
+dnl
+AC_ARG_ENABLE([libmount],
+ AS_HELP_STRING([--disable-libmount], [do not build libmount]),
+ [], enable_libmount=check
+)
+UL_BUILD_INIT([libmount])
+UL_REQUIRES_LINUX([libmount])
+UL_REQUIRES_BUILD([libmount], [libblkid])
+UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
+AM_CONDITIONAL(BUILD_LIBMOUNT, test "x$build_libmount" = xyes)
+AM_CONDITIONAL(BUILD_LIBMOUNT_TESTS, test "x$build_libmount" = xyes -a "x$enable_static" = xyes)
+
+AC_SUBST([LIBMOUNT_VERSION])
+AC_SUBST([LIBMOUNT_VERSION_INFO])
+AC_DEFINE_UNQUOTED(LIBMOUNT_VERSION, "$LIBMOUNT_VERSION", [libmount version string])
+
+
+AC_ARG_ENABLE([deprecated-mount],
+ AS_HELP_STRING([--enable-deprecated-mount], [build old mount utilities]),
+ [], enable_deprecated_mount=no
+)
+UL_BUILD_INIT([deprecated_mount])
+UL_REQUIRES_LINUX([deprecated_mount])
+UL_REQUIRES_BUILD([deprecated_mount], [libblkid])
+AM_CONDITIONAL(BUILD_DEPRECATED_MOUNT, test "x$build_deprecated_mount" = xyes)
+
+
+AC_ARG_ENABLE([mount],
+ AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
+ [], enable_mount=check
+)
+UL_BUILD_INIT([mount])
+UL_REQUIRES_BUILD([mount], [libmount])
+UL_CONFLICTS_BUILD([mount], [deprecated_mount], [old deprecated mount version])
+AM_CONDITIONAL(BUILD_MOUNT, test "x$build_mount" = xyes)
+
+
+AC_ARG_ENABLE([losetup],
+ AS_HELP_STRING([--disable-losetup], [do not build losetup]),
+ [], enable_losetup=check
+)
+UL_BUILD_INIT([losetup])
+UL_REQUIRES_LINUX([losetup])
+AM_CONDITIONAL(BUILD_LOSETUP, test "x$build_losetup" = xyes)
+
+
+AC_ARG_ENABLE([fsck],
+ AS_HELP_STRING([--disable-fsck], [do not build fsck]),
+ [], enable_fsck=check
+)
+UL_BUILD_INIT([fsck])
+UL_REQUIRES_BUILD([fsck], [libmount])
+AM_CONDITIONAL(BUILD_FSCK, test "x$build_fsck" = xyes)
+
+
+AC_ARG_ENABLE([partx],
+ AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
+ [], enable_partx=check
+)
+UL_BUILD_INIT([partx])
+UL_REQUIRES_LINUX([partx])
+UL_REQUIRES_BUILD([partx], [libblkid])
+AM_CONDITIONAL(BUILD_PARTX, test "x$build_partx" = xyes)
+
+
+AC_ARG_ENABLE([uuidd],
+ AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
+ [], enable_uuidd=check
+)
+UL_BUILD_INIT([uuidd])
+UL_REQUIRES_BUILD([uuidd], [libuuid])
+if test "x$build_uuidd" = xyes; then
+ AC_DEFINE(HAVE_UUIDD, 1, [Define to 1 if you want to use uuid daemon.])
+fi
+AM_CONDITIONAL(BUILD_UUIDD, test "x$build_uuidd" = xyes)
+
+
+AC_ARG_ENABLE([mountpoint],
+ AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
+ [], enable_mountpoint=check
+)
+UL_BUILD_INIT([mountpoint])
+UL_REQUIRES_BUILD([mountpoint], [libmount])
+AM_CONDITIONAL(BUILD_MOUNTPOINT, test "x$build_mountpoint" = xyes)
+
+
+AC_ARG_ENABLE([fallocate],
+ AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
+ [], enable_fallocate=check
+)
+UL_BUILD_INIT([fallocate])
+UL_REQUIRES_LINUX([fallocate])
+UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
+AM_CONDITIONAL(BUILD_FALLOCATE, test "x$build_fallocate" = xyes)
+
+if test "x$build_fallocate" = xyes; then
+ dnl check for valid fallocate() function
+ dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
+ dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
+ dnl and program can't be linked.
+ dnl AC_CHECK_FUNC can't catch such errors since it's redefining
+ dnl function prototype.
+ AC_MSG_CHECKING([for valid fallocate() function])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_LINUX_FALLOC_H
+# include <linux/falloc.h>
+#endif
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
+]],[[
+ long ret;
+ ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
+ if (ret != 0) {
+ return 1;
+ }
+ ]])],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_FALLOCATE,1,[Have valid fallocate() function])],[
+ AC_MSG_RESULT([no])])
+fi
+
+
+AC_ARG_ENABLE([unshare],
+ AS_HELP_STRING([--disable-unshare], [do not build unshare]),
+ [], enable_unshare=check
+)
+UL_BUILD_INIT([unshare])
+UL_REQUIRES_LINUX([unshare])
+UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
+AM_CONDITIONAL(BUILD_UNSHARE, test "x$build_unshare" = xyes)
+if test "x$build_unshare" = xyes; then
+ AC_CHECK_FUNCS([unshare])
+fi
+
+
+AC_ARG_ENABLE([arch],
+ AS_HELP_STRING([--enable-arch], [do build arch]),
+ [], enable_arch=no
+)
+UL_BUILD_INIT([arch])
+UL_REQUIRES_LINUX([arch])
+AM_CONDITIONAL(BUILD_ARCH, test "x$build_arch" = xyes)
+
+
+AC_ARG_ENABLE([ddate],
+ AS_HELP_STRING([--enable-ddate], [do build ddate]),
+ [], enable_ddate=no
+)
+UL_BUILD_INIT([ddate])
+AM_CONDITIONAL(BUILD_DDATE, test "x$build_ddate" = xyes)
+ruman1dir='${mandir}/ru/man1'
+AC_SUBST([ruman1dir])
+
+
+AC_ARG_ENABLE([eject],
+ AS_HELP_STRING([--disable-eject], [do not build eject]),
+ [], enable_eject=check
+)
+UL_BUILD_INIT([eject])
+UL_REQUIRES_LINUX([eject])
+UL_REQUIRES_BUILD([eject], [libmount])
+AM_CONDITIONAL(BUILD_EJECT, test "x$build_eject" = xyes)
+
+
+AC_ARG_ENABLE([agetty],
+ AS_HELP_STRING([--disable-agetty], [do not build agetty]),
+ [], enable_agetty=yes
+)
+UL_BUILD_INIT([agetty])
+AM_CONDITIONAL(BUILD_AGETTY, test "x$build_agetty" = xyes)
+
+
+AC_ARG_ENABLE([cramfs],
+ AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
+ [], enable_cramfs=check
+)
+UL_BUILD_INIT([cramfs])
+AC_CHECK_LIB(z, crc32, [have_z=yes], [have_z=no])
+UL_REQUIRES_HAVE([cramfs], [z], [z library])
+AM_CONDITIONAL(BUILD_CRAMFS, test "x$build_cramfs" = xyes)
+
+
+if test "x$have_io" = xyes -o "x$linux_os" = xyes; then
+ build_hwclock=yes
+fi
+AM_CONDITIONAL(BUILD_HWCLOCK, test "x$build_hwclock" = xyes)
+
+
+UL_BUILD_INIT([swapon], [check])
+UL_REQUIRES_LINUX([swapon])
+UL_REQUIRES_BUILD([swapon], [libblkid])
+UL_REQUIRES_BUILD([swapon], [libmount])
+AM_CONDITIONAL(BUILD_SWAPON, test "x$build_swapon" = xyes)
+
+
+UL_BUILD_INIT([lsblk], [check])
+UL_REQUIRES_LINUX([lsblk])
+UL_REQUIRES_BUILD([lsblk], [libblkid])
+UL_REQUIRES_BUILD([lsblk], [libmount])
+AM_CONDITIONAL(BUILD_LSBLK, test "x$build_lsblk" = xyes)
+
+
+UL_BUILD_INIT([lscpu], [check])
+UL_REQUIRES_LINUX([lscpu])
+UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
+AM_CONDITIONAL(BUILD_LSCPU, test "x$build_lscpu" = xyes)
+
+
+UL_BUILD_INIT([chcpu], [check])
+UL_REQUIRES_LINUX([chcpu])
+UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
+AM_CONDITIONAL(BUILD_CHCPU, test "x$build_chcpu" = xyes)
+
+
+UL_BUILD_INIT([wdctl], [check])
+UL_REQUIRES_LINUX([wdctl])
+UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
+AM_CONDITIONAL(BUILD_WDCTL, test "x$build_wdctl" = xyes)
+
+
+UL_BUILD_INIT([swaplabel], [check])
+UL_REQUIRES_BUILD([swaplabel], [libblkid])
+AM_CONDITIONAL(BUILD_SWAPLABEL, test "x$build_swaplabel" = xyes)
+
+
+UL_BUILD_INIT([prlimit], [check])
+UL_REQUIRES_LINUX([prlimit])
+UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
+AM_CONDITIONAL(BUILD_PRLIMIT, test "x$build_prlimit" = xyes)
+if test "x$build_prlimit" = xyes; then
+ AC_CHECK_FUNCS([prlimit])
+fi
+
+
+UL_BUILD_INIT([lslocks], [check])
+UL_REQUIRES_LINUX([lslocks])
+AM_CONDITIONAL(BUILD_LSLOCKS, test "x$build_lslocks" = xyes)
+
+
+AC_ARG_ENABLE([switch_root],
+ AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
+ [], enable_switch_root=check
+)
+UL_BUILD_INIT([switch_root])
+UL_REQUIRES_LINUX([switch_root])
+UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
+AM_CONDITIONAL(BUILD_SWITCH_ROOT, test "x$build_switch_root" = xyes)
+
+
+AC_ARG_ENABLE([pivot_root],
+ AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
+ [], enable_pivot_root=check
+)
+UL_BUILD_INIT([pivot_root])
+UL_REQUIRES_LINUX([switch_root])
+UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
+AM_CONDITIONAL(BUILD_PIVOT_ROOT, test "x$build_pivot_root" = xyes)
+
+
+AC_ARG_ENABLE([elvtune],
+ AS_HELP_STRING([--enable-elvtune], [build elvtune (only works with 2.2 and 2.4 kernels)]),
+ [], enable_elvtune=no
+)
+UL_BUILD_INIT([elvtune])
+UL_REQUIRES_LINUX([elvtune])
+AM_CONDITIONAL(BUILD_ELVTUNE, test "x$build_elvtune" = xyes)
+
+
+AC_ARG_ENABLE([kill],
+ AS_HELP_STRING([--disable-kill], [do not build kill]),
+ [], enable_kill=check
+)
+UL_BUILD_INIT([kill])
+UL_REQUIRES_LINUX([kill])
+AM_CONDITIONAL(BUILD_KILL, test "x$build_kill" = xyes)
+
+
+AC_ARG_ENABLE([last],
+ AS_HELP_STRING([--enable-last], [build last]),
+ [], enable_last=no
+)
+UL_BUILD_INIT([last])
+AM_CONDITIONAL(BUILD_LAST, test "x$build_last" = xyes)
+
+
+AC_ARG_ENABLE([utmpdump],
+ AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
+ [], enable_utmpdump=yes
+)
+UL_BUILD_INIT([utmpdump])
+AM_CONDITIONAL(BUILD_UTMPDUMP, test "x$build_utmpdump" = xyes)
+
+
+AC_ARG_ENABLE([line],
+ AS_HELP_STRING([--enable-line], [build line]),
+ [], enable_line=no
+)
+UL_BUILD_INIT([line])
+AM_CONDITIONAL(BUILD_LINE, test "x$build_line" = xyes)
+
+
+AC_ARG_ENABLE([mesg],
+ AS_HELP_STRING([--enable-mesg], [build mesg]),
+ [], enable_mesg=no
+)
+UL_BUILD_INIT([mesg])
+AM_CONDITIONAL(BUILD_MESG, test "x$build_mesg" = xyes)
+
+
+AC_ARG_ENABLE([raw],
+ AS_HELP_STRING([--enable-raw], [build raw]),
+ [], enable_raw=check
+)
+UL_BUILD_INIT([raw])
+UL_REQUIRES_LINUX([raw])
+UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
+AM_CONDITIONAL(BUILD_RAW, test "x$build_raw" = xyes)
+
+
+AC_ARG_ENABLE([rename],
+ AS_HELP_STRING([--disable-rename], [do not build rename]),
+ [], enable_rename=yes
+)
+UL_BUILD_INIT([rename])
+AM_CONDITIONAL(BUILD_RENAME, test "x$build_rename" = xyes)
+
+
+AC_ARG_ENABLE([reset],
+ AS_HELP_STRING([--enable-reset], [build reset]),
+ [], enable_reset=no
+)
+UL_BUILD_INIT([reset])
+AM_CONDITIONAL(BUILD_RESET, test "x$build_reset" = xyes)
+
+
+AC_ARG_ENABLE([vipw],
+ AS_HELP_STRING([--enable-vipw], [build vipw]),
+ [], enable_vipw=no
+)
+UL_BUILD_INIT([vipw])
+AM_CONDITIONAL(BUILD_VIPW, test "x$build_vipw" = xyes)
+
+
+AC_ARG_ENABLE([newgrp],
+ AS_HELP_STRING([--enable-newgrp], [build newgrp]),
+ [], enable_newgrp=no
+)
+UL_BUILD_INIT([newgrp])
+AM_CONDITIONAL(BUILD_NEWGRP, test "x$build_newgrp" = xyes)
+
+
+AC_ARG_ENABLE([chfn-chsh],
+ AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
+ [], enable_chfn_chsh=no
+)
+UL_BUILD_INIT([chfn_chsh])
+UL_REQUIRES_HAVE([chfn_chsh], [security_pam_misc_h], [PAM header file])
+AM_CONDITIONAL(BUILD_CHFN_CHSH, test "x$build_chfn_chsh" = xyes)
+
+AC_ARG_ENABLE([chsh-only-listed],
+AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
+[], enable_chsh_only_listed=yes
+)
+
+if test "x$enable_chsh_only_listed" = xyes; then
+AC_DEFINE(ONLY_LISTED_SHELLS, 1, [Should chsh allow only shells in /etc/shells?])
+fi
+
+
+AC_ARG_ENABLE([login],
+ AS_HELP_STRING([--disable-login], [do not build login]),
+ [], enable_login=yes
+)
+UL_BUILD_INIT([login])
+UL_REQUIRES_HAVE([login], [security_pam_misc_h], [PAM header file])
+AM_CONDITIONAL(BUILD_LOGIN, test "x$build_login" = xyes)
+
+AC_ARG_ENABLE([login-chown-vcs],
+ AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
+ [], enable_login_chown_vcs=no
+)
+
+if test "x$enable_login_chown_vcs" = xyes; then
+ AC_DEFINE(LOGIN_CHOWN_VCS, 1, [Should login chown /dev/vcsN?])
+fi
+
+AC_ARG_ENABLE([login-stat-mail],
+ AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
+ [], enable_login_stat_mail=no
+)
+
+if test "x$enable_login_stat_mail" = xyes; then
+ AC_DEFINE(LOGIN_STAT_MAIL, 1, [Should login stat() the mailbox?])
+fi
+
+
+AC_ARG_ENABLE([sulogin],
+ AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
+ [], enable_sulogin=yes
+)
+UL_BUILD_INIT([sulogin])
+AM_CONDITIONAL(BUILD_SULOGIN, test "x$build_sulogin" = xyes)
+
+
+AC_ARG_ENABLE([su],
+ AS_HELP_STRING([--disable-su], [do not build su]),
+ [], enable_su=yes
+)
+UL_BUILD_INIT([su])
+UL_REQUIRES_HAVE([su], [security_pam_misc_h], [PAM header file])
+AM_CONDITIONAL(BUILD_SU, test "x$build_su" = xyes)
+
+
+AC_ARG_ENABLE([schedutils],
+ AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, teskset]),
+ [], enable_schedutils=yes
+)
+UL_BUILD_INIT([schedutils])
+AM_CONDITIONAL(BUILD_SCHEDUTILS, test "x$build_schedutils" = xyes)
+
+UL_BUILD_INIT([ionice], [check])
+UL_REQUIRES_BUILD([ionice], [schedutils])
+UL_REQUIRES_SYSCALL_CHECK([ionice],
+ [UL_CHECK_SYSCALL([ioprio_set],
+ [alpha], [442],
+ [i*86], [289],
+ [ia64*], [1274],
+ [powerpc*], [273],
+ [s390*], [282],
+ [sparc*], [196],
+ [sh*], [288],
+ [x86_64*], [251])],
+ [ioprio_set])
+
+UL_REQUIRES_SYSCALL_CHECK([ionice],
+ [UL_CHECK_SYSCALL([ioprio_get],
+ [alpha], [443],
+ [i*86], [290],
+ [ia64*], [1275],
+ [powerpc*], [274],
+ [s390*], [283],
+ [sparc*], [218],
+ [sh*], [289],
+ [x86_64*], [252])],
+ [ioprio_get])
+
+AM_CONDITIONAL(BUILD_IONICE, test "x$build_ionice" = xyes)
+
+UL_BUILD_INIT([taskset], [check])
+UL_REQUIRES_BUILD([taskset], [schedutils])
+UL_REQUIRES_SYSCALL_CHECK([taskset],
+ [UL_CHECK_SYSCALL([sched_getaffinity])],
+ [sched_getaffinity])
+AM_CONDITIONAL(BUILD_TASKSET, test "x$build_taskset" = xyes)
+
+
+AC_ARG_ENABLE([wall],
+ AS_HELP_STRING([--disable-wall], [do not build wall]),
+ [], enable_wall=yes
+)
+UL_BUILD_INIT([wall])
+AM_CONDITIONAL(BUILD_WALL, test "x$build_wall" = xyes)
+
+
+AC_ARG_ENABLE([write],
+ AS_HELP_STRING([--enable-write], [build write]),
+ [], enable_write=no
+)
+UL_BUILD_INIT([write])
+AM_CONDITIONAL(BUILD_WRITE, test "x$build_write" = xyes)
+
+
+AC_ARG_ENABLE([chkdupexe],
+ AS_HELP_STRING([--enable-chkdupexe], [build deprecated chkdupexe]),
+ [], enable_chkdupexe=no
+)
+UL_BUILD_INIT([chkdupexe])
+AM_CONDITIONAL(BUILD_CHKDUPEXE, test "x$build_chkdupexe" = xyes)
+
+if test "x$build_chkdupexe" = xyes; then
+ AC_PATH_PROG(PERL, perl)
+ AC_CONFIG_FILES([misc-utils/chkdupexe:misc-utils/chkdupexe.pl])
+fi
+
+
+AC_ARG_ENABLE([socket-activation],
+ AS_HELP_STRING([--enable-socket-activation], [build uuidd with support for systemd socket activation]),
+ [], enable_socket_activation=no
+)
+
+AM_CONDITIONAL(USE_SOCKET_ACTIVATION, test "x$enable_socket_activation" = xyes)
+
+if test "x$enable_socket_activation" = xyes; then
+ AC_DEFINE(USE_SOCKET_ACTIVATION, 1, [Should uuidd support socket activation?])
+fi
+
+AC_ARG_WITH([systemdsystemunitdir],
+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
+ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
+
+if test "x$with_systemdsystemunitdir" != "xno"; then
+ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+fi
+
+AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != "xno" ])
+
+
+AC_ARG_ENABLE([pg-bell],
+ AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
+ [], enable_pg_bell=yes
+)
+
+if test "x$enable_pg_bell" = xyes; then
+ AC_DEFINE(PG_BELL, 1, [Should pg ring the bell on invalid keys?])
+fi
+
+
+AC_ARG_ENABLE([require-password],
+ AS_HELP_STRING([--disable-require-password], [do not require the user to enter the password in chfn and chsh]),
+ [], enable_require_password=yes
+)
+
+if test "x$enable_require_password" = xyes; then
+ AC_DEFINE(REQUIRE_PASSWORD, 1, [Should chfn and chsh require the user to enter the password?])
+fi
+
+
+AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
+AC_ARG_ENABLE([fs-paths-default],
+ AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
+ [case "$enableval" in
+ yes) fs_paths_defaults="FS_PATHS_DEFAULT" ;;
+ no) fs_paths_defaults="" ;;
+ *) fs_paths_defaults="$enableval" ;;
+ esac],
+ [fs_paths_defaults="FS_PATHS_DEFAULT"]
+)
+AC_ARG_ENABLE([fs-paths-extra],
+ AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
+ [case "$enableval" in
+ yes|no) fs_paths_extra="" ;;
+ *) fs_paths_extra="$enableval" ;;
+ esac],
+ [fs_paths_extra=""]
+)
+fs_paths="$fs_paths_defaults"
+if test "x$fs_paths_extra" != "x"; then
+ if test "x$fs_paths" != "x"; then
+ fs_paths="${fs_paths}:"
+ fi
+ fs_paths="${fs_paths}${fs_paths_extra}"
+fi
+AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
+
+
+AC_ARG_ENABLE([use-tty-group],
+ AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
+ [], enable_use_tty_group=yes
+)
+AM_CONDITIONAL(USE_TTY_GROUP, test "x$enable_use_tty_group" = xyes)
+
+if test "x$enable_use_tty_group" = xyes; then
+ AC_DEFINE(USE_TTY_GROUP, 1, [Should wall and write be installed setgid tty?])
+fi
+
+AC_ARG_ENABLE([makeinstall-chown],
+ AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
+ [], enable_makeinstall_chown=yes
+)
+AM_CONDITIONAL(MAKEINSTALL_DO_CHOWN, test "x$enable_makeinstall_chown" = xyes)
+
+AC_ARG_ENABLE([makeinstall-setuid],
+ AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
+ [], enable_makeinstall_setuid=yes
+)
+AM_CONDITIONAL(MAKEINSTALL_DO_SETUID, test "x$enable_makeinstall_setuid" = xyes)
+
+
+AC_ARG_VAR([SUID_CFLAGS],
+ [CFLAGS used for binaries which are usually with the suid bit])
+AC_ARG_VAR([SUID_LDFLAGS],
+ [LDFLAGS used for binaries which are usually with the suid bit])
+
+LIBS=""
+
+
+AC_CONFIG_HEADERS(config.h)
+
+#
+# Don't use configure.ac to replace install paths! See Makefile PATHFILES for
+# more details.
+#
+AC_CONFIG_FILES([
+Makefile
+libblkid/docs/Makefile
+libblkid/docs/version.xml
+libblkid/src/blkid.h
+libmount/docs/Makefile
+libmount/docs/version.xml
+libmount/src/libmount.h
+po/Makefile.in
+])
+
+
+AC_OUTPUT
diff --git a/disk-utils/Makemodule.am b/disk-utils/Makemodule.am
new file mode 100644
index 0000000..f2360bf
--- /dev/null
+++ b/disk-utils/Makemodule.am
@@ -0,0 +1,144 @@
+
+sbin_PROGRAMS += fsck.minix
+dist_man_MANS += disk-utils/fsck.minix.8
+fsck_minix_SOURCES = \
+ disk-utils/fsck.minix.c \
+ disk-utils/minix_programs.h \
+ lib/ismounted.c
+fsck_minix_LDADD = $(LDADD) libcommon.la
+
+sbin_PROGRAMS += mkfs.minix
+dist_man_MANS += disk-utils/mkfs.minix.8
+mkfs_minix_SOURCES = \
+ disk-utils/minix_programs.h \
+ disk-utils/mkfs.minix.c
+mkfs_minix_LDADD = $(LDADD) libcommon.la
+
+sbin_PROGRAMS += mkfs
+dist_man_MANS += disk-utils/mkfs.8
+mkfs_SOURCES = disk-utils/mkfs.c
+
+usrbin_exec_PROGRAMS += isosize
+dist_man_MANS += disk-utils/isosize.8
+isosize_SOURCES = disk-utils/isosize.c
+isosize_LDADD = $(LDADD) libcommon.la
+
+sbin_PROGRAMS += mkfs.bfs
+dist_man_MANS += disk-utils/mkfs.bfs.8
+mkfs_bfs_SOURCES = \
+ disk-utils/mkfs.bfs.c
+mkfs_bfs_LDADD = $(LDADD) libcommon.la
+
+sbin_PROGRAMS += mkswap
+dist_man_MANS += disk-utils/mkswap.8
+mkswap_SOURCES = \
+ disk-utils/mkswap.c
+mkswap_LDADD = $(LDADD) libcommon.la
+
+mkswap_CFLAGS = $(AM_CFLAGS)
+if BUILD_LIBUUID
+mkswap_CFLAGS += -I$(ul_libuuid_incdir)
+mkswap_LDADD += libuuid.la
+endif
+if BUILD_LIBBLKID
+mkswap_CFLAGS += -I$(ul_libblkid_incdir)
+mkswap_LDADD += libblkid.la
+endif
+if HAVE_SELINUX
+mkswap_LDADD += -lselinux
+endif
+
+
+if BUILD_SWAPLABEL
+sbin_PROGRAMS += swaplabel
+dist_man_MANS += disk-utils/swaplabel.8
+swaplabel_SOURCES = disk-utils/swaplabel.c
+
+swaplabel_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+swaplabel_LDADD = $(LDADD) libblkid.la libcommon.la
+
+if BUILD_LIBUUID
+swaplabel_LDADD += libuuid.la
+swaplabel_CFLAGS += -I$(ul_libuuid_incdir)
+endif
+endif #BUILD_SWAPLABEL
+
+
+if BUILD_FSCK
+sbin_PROGRAMS += fsck
+dist_man_MANS += disk-utils/fsck.8
+fsck_SOURCES = disk-utils/fsck.c
+fsck_LDADD = $(LDADD) libmount.la libblkid.la
+fsck_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir) -I$(ul_libblkid_incdir)
+endif
+
+
+if BUILD_ELVTUNE
+sbin_PROGRAMS += elvtune
+dist_man_MANS += disk-utils/elvtune.8
+elvtune_SOURCES = disk-utils/elvtune.c
+elvtune_LDADD = $(LDADD) libcommon.la
+endif
+
+
+if BUILD_RAW
+sbin_PROGRAMS += raw
+dist_man_MANS += disk-utils/raw.8
+raw_SOURCES = disk-utils/raw.c
+endif
+
+
+if BUILD_CRAMFS
+cramfs_common_sources = disk-utils/cramfs.h disk-utils/cramfs_common.c
+sbin_PROGRAMS += fsck.cramfs
+fsck_cramfs_SOURCES = disk-utils/fsck.cramfs.c $(cramfs_common_sources)
+fsck_cramfs_LDADD = $(LDADD) -lz libcommon.la
+
+sbin_PROGRAMS += mkfs.cramfs
+mkfs_cramfs_SOURCES = disk-utils/mkfs.cramfs.c $(cramfs_common_sources)
+mkfs_cramfs_LDADD = $(LDADD) -lz libcommon.la
+endif
+
+
+if LINUX
+sbin_PROGRAMS += blockdev
+dist_man_MANS += disk-utils/blockdev.8
+blockdev_SOURCES = disk-utils/blockdev.c
+blockdev_LDADD = $(LDADD) libcommon.la
+
+usrsbin_exec_PROGRAMS += fdformat
+dist_man_MANS += disk-utils/fdformat.8
+fdformat_SOURCES = disk-utils/fdformat.c
+endif # LINUX
+
+
+if BUILD_PARTX
+usrsbin_exec_PROGRAMS += partx addpart delpart resizepart
+dist_man_MANS += \
+ disk-utils/addpart.8 \
+ disk-utils/delpart.8 \
+ disk-utils/resizepart.8 \
+ disk-utils/partx.8
+
+addpart_SOURCES = \
+ disk-utils/addpart.c \
+ disk-utils/partx.h
+addpart_LDADD = $(LDADD) libcommon.la
+
+delpart_SOURCES = \
+ disk-utils/delpart.c \
+ disk-utils/partx.h
+delpart_LDADD = $(LDADD) libcommon.la
+
+resizepart_SOURCES = \
+ disk-utils/resizepart.c \
+ disk-utils/partx.h
+resizepart_LDADD = $(LDADD) libcommon.la
+
+partx_SOURCES = \
+ disk-utils/partx.c \
+ disk-utils/partx.h
+partx_CFLAGS = -I$(ul_libblkid_incdir)
+partx_LDADD = $(LDADD) libblkid.la libcommon.la
+
+endif # BUILD_PARTX
diff --git a/disk-utils/addpart.8 b/disk-utils/addpart.8
new file mode 100644
index 0000000..9dcd0a3
--- /dev/null
+++ b/disk-utils/addpart.8
@@ -0,0 +1,40 @@
+.\" addpart.8 --
+.\" Copyright 2007 Karel Zak <kzak@redhat.com>
+.\" Copyright 2007 Red Hat, Inc.
+.\" May be distributed under the GNU General Public License
+.TH ADDPART 8 "January 2007" "util-linux" "System Administration"
+.SH NAME
+addpart \-
+simple wrapper around the "add partition" ioctl
+.SH SYNOPSIS
+.B addpart
+.I device partition start length
+.SH DESCRIPTION
+.B addpart
+is a program that informs the Linux kernel of new partition.
+
+This command doesn't manipulate partitions on hard drive.
+
+.SH PARAMETERS
+.TP
+.I device
+Specify the disk device.
+.TP
+.I partition
+Specify the partition number.
+.TP
+.I start
+Specify the begin of the partition (in 512-byte sectors).
+.TP
+.I length
+Specify the length of the partition (in 512-byte sectors).
+
+.SH SEE ALSO
+.BR delpart (8),
+.BR fdisk (8),
+.BR parted (8),
+.BR partprobe (8),
+.BR partx (8)
+.SH AVAILABILITY
+The addpart command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/addpart.c b/disk-utils/addpart.c
new file mode 100644
index 0000000..c0f25a5
--- /dev/null
+++ b/disk-utils/addpart.c
@@ -0,0 +1,61 @@
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+
+#include "c.h"
+#include "nls.h"
+#include "partx.h"
+#include "strutils.h"
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(" %s <disk device> <partition number> <start> <length>\n"),
+ program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("addpart(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int c, fd;
+
+ static const struct option longopts[] = {
+ {"help", no_argument, 0, 'h'},
+ {"version", no_argument, 0, 'V'},
+ {NULL, no_argument, 0, '0'},
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+
+ while ((c = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
+ switch (c) {
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (argc != 5)
+ usage(stderr);
+
+ if ((fd = open(argv[1], O_RDONLY)) < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), argv[1]);
+
+ if (partx_add_partition(fd,
+ strtou32_or_err(argv[2], _("invalid partition number argument")),
+ strtou64_or_err(argv[3], _("invalid start argument")),
+ strtou64_or_err(argv[4], _("invalid length argument"))))
+ err(EXIT_FAILURE, _("failed to add partition"));
+
+ return EXIT_SUCCESS;
+}
diff --git a/disk-utils/blockdev.8 b/disk-utils/blockdev.8
new file mode 100644
index 0000000..2b3d64c
--- /dev/null
+++ b/disk-utils/blockdev.8
@@ -0,0 +1,85 @@
+.\" -*- nroff -*-
+.\" Copyright 1998 Andries E. Brouwer (aeb@cwi.nl)
+.\" Copyright 2007 Karel Zak <kzak@redhat.com>
+.\"
+.\" May be distributed under the GNU General Public License
+.TH BLOCKDEV 8 "August 2010" "util-linux" "System Administration"
+.SH NAME
+blockdev \- call block device ioctls from the command line
+.SH SYNOPSIS
+.B blockdev
+.RB [ \-q ]
+.RB [ \-v ]
+.IR command
+.RI [ command ...]
+.IR device
+.RI [ device ...]
+.br
+.B blockdev
+.B \-\-report
+.RI [ device ...]
+.SH DESCRIPTION
+The utility
+.B blockdev
+allows one to call block device ioctls from the command line.
+.SH OPTIONS
+.IP "\fB\-V\fP"
+Print version and exit.
+.IP "\fB\-q\fP"
+Be quiet.
+.IP "\fB\-v\fP"
+Be verbose.
+.IP "\fB\-\-report\fP"
+Print a report for the specified device. It is possible to give multiple
+devices. If none is given, all devices which appear in /proc/partitions are
+shown. Note that the partition StartSec is in 512-byte sectors.
+.SH COMMANDS
+It is possible to give multiple devices and multiple commands.
+.IP "\fB\-\-flushbufs\fP"
+Flush buffers.
+.IP "\fB\-\-getalignoff\fP"
+Get alignment offset.
+.IP "\fB\-\-getbsz\fP"
+Print blocksize in bytes.
+.IP "\fB\-\-getdiscardzeroes\fP"
+Get discard zeroes support status.
+.IP "\fB\-\-getfra\fP"
+Get filesystem readahead in 512-byte sectors.
+.IP "\fB\-\-getiomin\fP"
+Get minimum I/O size.
+.IP "\fB\-\-getioopt\fP"
+Get optimal I/O size.
+.IP "\fB\-\-getmaxsect\fP"
+Get max sectors per request
+.IP "\fB\-\-getpbsz\fP"
+Get physical block (sector) size.
+.IP "\fB\-\-getra\fP"
+Print readahead (in 512-byte sectors).
+.IP "\fB\-\-getro\fP"
+Get read-only. Print 1 if the device is read-only, 0 otherwise.
+.IP "\fB\-\-getsize64\fP"
+Print device size in bytes.
+.IP "\fB\-\-getsize\fP"
+Print device size (32-bit!) in sectors. Deprecated in favor of the --getsz option.
+.IP "\fB\-\-getss\fP"
+Print sectorsize in bytes - usually 512.
+.IP "\fB\-\-getsz\fP"
+Get size in 512-byte sectors.
+.IP "\fB\-\-rereadpt\fP"
+Reread partition table
+.IP "\fB\-\-setbsz\fP \fIbytes\fP"
+Set blocksize.
+.IP "\fB\-\-setfra\fP \fIsectors\fP"
+Set filesystem readahead (same like --setra on 2.6 kernels).
+.IP "\fB\-\-setra\fP \fIsectors\fP"
+Set readahead (in 512-byte sectors).
+.IP "\fB\-\-setro\fP"
+Set read-only.
+.IP "\fB\-\-setrw\fP"
+Set read-write.
+.SH AUTHOR
+blockdev was written by Andries E. Brouwer and rewritten by Karel Zak.
+.SH AVAILABILITY
+The blockdev command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+
diff --git a/disk-utils/blockdev.c b/disk-utils/blockdev.c
new file mode 100644
index 0000000..a9e8833
--- /dev/null
+++ b/disk-utils/blockdev.c
@@ -0,0 +1,470 @@
+/*
+ * blockdev.c --- Do various simple block device ioctls from the command line
+ * aeb, 991028
+ */
+
+#include <stdio.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <errno.h>
+
+#include "c.h"
+#include "nls.h"
+#include "blkdev.h"
+#include "pathnames.h"
+#include "closestream.h"
+
+struct bdc {
+ long ioc; /* ioctl code */
+ const char *iocname; /* ioctl name (e.g. BLKROSET) */
+ long argval; /* default argument */
+
+ const char *name; /* --setfoo */
+ const char *argname; /* argument name or NULL */
+
+ const char *help;
+
+ int argtype;
+ int flags;
+};
+
+/* command flags */
+enum {
+ FL_NOPTR = (1 << 1), /* does not assume pointer (ARG_INT only)*/
+ FL_NORESULT = (1 << 2) /* does not return any data */
+};
+
+/* ioctl argument types */
+enum {
+ ARG_NONE,
+ ARG_USHRT,
+ ARG_INT,
+ ARG_UINT,
+ ARG_LONG,
+ ARG_ULONG,
+ ARG_LLONG,
+ ARG_ULLONG
+};
+
+#define IOCTL_ENTRY( io ) .ioc = io, .iocname = # io
+
+static const struct bdc bdcms[] =
+{
+ {
+ IOCTL_ENTRY(BLKROSET),
+ .name = "--setro",
+ .argtype = ARG_INT,
+ .argval = 1,
+ .flags = FL_NORESULT,
+ .help = N_("set read-only")
+ },{
+ IOCTL_ENTRY(BLKROSET),
+ .name = "--setrw",
+ .argtype = ARG_INT,
+ .argval = 0,
+ .flags = FL_NORESULT,
+ .help = N_("set read-write")
+ },{
+ IOCTL_ENTRY(BLKROGET),
+ .name = "--getro",
+ .argtype = ARG_INT,
+ .argval = -1,
+ .help = N_("get read-only")
+ },{
+ IOCTL_ENTRY(BLKDISCARDZEROES),
+ .name = "--getdiscardzeroes",
+ .argtype = ARG_UINT,
+ .argval = -1,
+ .help = N_("get discard zeroes support status")
+ },{
+ IOCTL_ENTRY(BLKSSZGET),
+ .name = "--getss",
+ .argtype = ARG_INT,
+ .argval = -1,
+ .help = N_("get logical block (sector) size")
+ },{
+ IOCTL_ENTRY(BLKPBSZGET),
+ .name = "--getpbsz",
+ .argtype = ARG_UINT,
+ .argval = -1,
+ .help = N_("get physical block (sector) size")
+ },{
+ IOCTL_ENTRY(BLKIOMIN),
+ .name = "--getiomin",
+ .argtype = ARG_UINT,
+ .argval = -1,
+ .help = N_("get minimum I/O size")
+ },{
+ IOCTL_ENTRY(BLKIOOPT),
+ .name = "--getioopt",
+ .argtype = ARG_UINT,
+ .argval = -1,
+ .help = N_("get optimal I/O size")
+ },{
+ IOCTL_ENTRY(BLKALIGNOFF),
+ .name = "--getalignoff",
+ .argtype = ARG_INT,
+ .argval = -1,
+ .help = N_("get alignment offset in bytes")
+ },{
+ IOCTL_ENTRY(BLKSECTGET),
+ .name = "--getmaxsect",
+ .argtype = ARG_USHRT,
+ .argval = -1,
+ .help = N_("get max sectors per request")
+ },{
+ IOCTL_ENTRY(BLKBSZGET),
+ .name = "--getbsz",
+ .argtype = ARG_INT,
+ .argval = -1,
+ .help = N_("get blocksize")
+ },{
+ IOCTL_ENTRY(BLKBSZSET),
+ .name = "--setbsz",
+ .argname = "<bytes>",
+ .argtype = ARG_INT,
+ .flags = FL_NORESULT,
+ .help = N_("set blocksize")
+ },{
+ IOCTL_ENTRY(BLKGETSIZE),
+ .name = "--getsize",
+ .argtype = ARG_ULONG,
+ .argval = -1,
+ .help = N_("get 32-bit sector count (deprecated, use --getsz)")
+ },{
+ IOCTL_ENTRY(BLKGETSIZE64),
+ .name = "--getsize64",
+ .argtype = ARG_ULLONG,
+ .argval = -1,
+ .help = N_("get size in bytes")
+ },{
+ IOCTL_ENTRY(BLKRASET),
+ .name = "--setra",
+ .argname = "<sectors>",
+ .argtype = ARG_INT,
+ .flags = FL_NOPTR | FL_NORESULT,
+ .help = N_("set readahead")
+ },{
+ IOCTL_ENTRY(BLKRAGET),
+ .name = "--getra",
+ .argtype = ARG_LONG,
+ .argval = -1,
+ .help = N_("get readahead")
+ },{
+ IOCTL_ENTRY(BLKFRASET),
+ .name = "--setfra",
+ .argname = "<sectors>",
+ .argtype = ARG_INT,
+ .flags = FL_NOPTR | FL_NORESULT,
+ .help = N_("set filesystem readahead")
+ },{
+ IOCTL_ENTRY(BLKFRAGET),
+ .name = "--getfra",
+ .argtype = ARG_LONG,
+ .argval = -1,
+ .help = N_("get filesystem readahead")
+ },{
+ IOCTL_ENTRY(BLKFLSBUF),
+ .name = "--flushbufs",
+ .help = N_("flush buffers")
+ },{
+ IOCTL_ENTRY(BLKRRPART),
+ .name = "--rereadpt",
+ .help = N_("reread partition table")
+ }
+};
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ size_t i;
+ fprintf(out, _("\nUsage:\n"
+ " %1$s -V\n"
+ " %1$s --report [devices]\n"
+ " %1$s [-v|-q] commands devices\n\n"
+ "Available commands:\n"), program_invocation_short_name);
+
+ fprintf(out, _(" %-25s get size in 512-byte sectors\n"), "--getsz");
+ for (i = 0; i < ARRAY_SIZE(bdcms); i++) {
+ if (bdcms[i].argname)
+ fprintf(out, " %s %-*s %s\n", bdcms[i].name,
+ (int)(24 - strlen(bdcms[i].name)),
+ bdcms[i].argname, _(bdcms[i].help));
+ else
+ fprintf(out, " %-25s %s\n", bdcms[i].name,
+ _(bdcms[i].help));
+ }
+ fputc('\n', out);
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static int find_cmd(char *s)
+{
+ size_t j;
+
+ for (j = 0; j < ARRAY_SIZE(bdcms); j++)
+ if (!strcmp(s, bdcms[j].name))
+ return j;
+ return -1;
+}
+
+static void do_commands(int fd, char **argv, int d);
+static void report_header(void);
+static void report_device(char *device, int quiet);
+static void report_all_devices(void);
+
+int main(int argc, char **argv)
+{
+ int fd, d, j, k;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc < 2)
+ usage(stderr);
+
+ /* -V not together with commands */
+ if (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")) {
+ printf(_("%s (%s)\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ }
+ if (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help"))
+ usage(stdout);
+
+ /* --report not together with other commands */
+ if (!strcmp(argv[1], "--report")) {
+ report_header();
+ if (argc > 2) {
+ for (d = 2; d < argc; d++)
+ report_device(argv[d], 0);
+ } else {
+ report_all_devices();
+ }
+ return EXIT_SUCCESS;
+ }
+
+ /* do each of the commands on each of the devices */
+ /* devices start after last command */
+ for (d = 1; d < argc; d++) {
+ j = find_cmd(argv[d]);
+ if (j >= 0) {
+ if (bdcms[j].argname)
+ d++;
+ continue;
+ }
+ if (!strcmp(argv[d], "--getsz"))
+ continue;
+ if (!strcmp(argv[d], "--")) {
+ d++;
+ break;
+ }
+ if (argv[d][0] != '-')
+ break;
+ }
+
+ if (d >= argc)
+ usage(stderr);
+
+ for (k = d; k < argc; k++) {
+ fd = open(argv[k], O_RDONLY, 0);
+ if (fd < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), argv[k]);
+ do_commands(fd, argv, d);
+ close(fd);
+ }
+ return EXIT_SUCCESS;
+}
+
+static void do_commands(int fd, char **argv, int d)
+{
+ int res, i, j;
+ int iarg = 0;
+ unsigned int uarg = 0;
+ unsigned short huarg = 0;
+ long larg = 0;
+ long long llarg = 0;
+ unsigned long lu = 0;
+ unsigned long long llu = 0;
+ int verbose = 0;
+
+ for (i = 1; i < d; i++) {
+ if (!strcmp(argv[i], "-v")) {
+ verbose = 1;
+ continue;
+ }
+ if (!strcmp(argv[i], "-q")) {
+ verbose = 0;
+ continue;
+ }
+
+ if (!strcmp(argv[i], "--getsz")) {
+ res = blkdev_get_sectors(fd, &llu);
+ if (res == 0)
+ printf("%lld\n", llu);
+ else
+ errx(EXIT_FAILURE,
+ _("could not get device size"));
+ continue;
+ }
+
+ j = find_cmd(argv[i]);
+ if (j == -1) {
+ warnx(_("Unknown command: %s"), argv[i]);
+ usage(stderr);
+ }
+
+ switch (bdcms[j].argtype) {
+ default:
+ case ARG_NONE:
+ res = ioctl(fd, bdcms[j].ioc, 0);
+ break;
+ case ARG_USHRT:
+ huarg = bdcms[j].argval;
+ res = ioctl(fd, bdcms[j].ioc, &huarg);
+ break;
+ case ARG_INT:
+ if (bdcms[j].argname) {
+ if (i == d - 1) {
+ warnx(_("%s requires an argument"),
+ bdcms[j].name);
+ usage(stderr);
+ }
+ iarg = atoi(argv[++i]);
+ } else
+ iarg = bdcms[j].argval;
+
+ res = bdcms[j].flags & FL_NOPTR ?
+ ioctl(fd, bdcms[j].ioc, iarg) :
+ ioctl(fd, bdcms[j].ioc, &iarg);
+ break;
+ case ARG_UINT:
+ uarg = bdcms[j].argval;
+ res = ioctl(fd, bdcms[j].ioc, &uarg);
+ break;
+ case ARG_LONG:
+ larg = bdcms[j].argval;
+ res = ioctl(fd, bdcms[j].ioc, &larg);
+ break;
+ case ARG_LLONG:
+ llarg = bdcms[j].argval;
+ res = ioctl(fd, bdcms[j].ioc, &llarg);
+ break;
+ case ARG_ULONG:
+ lu = bdcms[j].argval;
+ res = ioctl(fd, bdcms[j].ioc, &lu);
+ break;
+ case ARG_ULLONG:
+ llu = bdcms[j].argval;
+ res = ioctl(fd, bdcms[j].ioc, &llu);
+ break;
+ }
+
+ if (res == -1) {
+ perror(bdcms[j].iocname);
+ if (verbose)
+ printf(_("%s failed.\n"), _(bdcms[j].help));
+ exit(EXIT_FAILURE);
+ }
+
+ if (bdcms[j].argtype == ARG_NONE ||
+ (bdcms[j].flags & FL_NORESULT)) {
+ if (verbose)
+ printf(_("%s succeeded.\n"), _(bdcms[j].help));
+ continue;
+ }
+
+ if (verbose)
+ printf("%s: ", _(bdcms[j].help));
+
+ switch (bdcms[j].argtype) {
+ case ARG_USHRT:
+ printf("%hu\n", huarg);
+ break;
+ case ARG_INT:
+ printf("%d\n", iarg);
+ break;
+ case ARG_UINT:
+ printf("%u\n", uarg);
+ break;
+ case ARG_LONG:
+ printf("%ld\n", larg);
+ break;
+ case ARG_LLONG:
+ printf("%lld\n", llarg);
+ break;
+ case ARG_ULONG:
+ printf("%lu\n", lu);
+ break;
+ case ARG_ULLONG:
+ printf("%llu\n", llu);
+ break;
+ }
+ }
+}
+
+static void report_all_devices(void)
+{
+ FILE *procpt;
+ char line[200];
+ char ptname[200 + 1];
+ char device[210];
+ int ma, mi, sz;
+
+ procpt = fopen(_PATH_PROC_PARTITIONS, "r");
+ if (!procpt)
+ err(EXIT_FAILURE, _("cannot open %s"), _PATH_PROC_PARTITIONS);
+
+ while (fgets(line, sizeof(line), procpt)) {
+ if (sscanf(line, " %d %d %d %200[^\n ]",
+ &ma, &mi, &sz, ptname) != 4)
+ continue;
+
+ sprintf(device, "/dev/%s", ptname);
+ report_device(device, 1);
+ }
+
+ fclose(procpt);
+}
+
+static void report_device(char *device, int quiet)
+{
+ int fd;
+ int ro, ssz, bsz;
+ long ra;
+ unsigned long long bytes;
+ struct hd_geometry g;
+
+ fd = open(device, O_RDONLY | O_NONBLOCK);
+ if (fd < 0) {
+ if (!quiet)
+ warn(_("cannot open %s"), device);
+ return;
+ }
+
+ ro = ssz = bsz = 0;
+ g.start = ra = 0;
+ if (ioctl(fd, BLKROGET, &ro) == 0 &&
+ ioctl(fd, BLKRAGET, &ra) == 0 &&
+ ioctl(fd, BLKSSZGET, &ssz) == 0 &&
+ ioctl(fd, BLKBSZGET, &bsz) == 0 &&
+ ioctl(fd, HDIO_GETGEO, &g) == 0 &&
+ blkdev_get_size(fd, &bytes) == 0) {
+ printf("%s %5ld %5d %5d %10ld %15lld %s\n",
+ ro ? "ro" : "rw", ra, ssz, bsz, g.start, bytes, device);
+ } else {
+ if (!quiet)
+ warnx(_("ioctl error on %s"), device);
+ }
+
+ close(fd);
+}
+
+static void report_header(void)
+{
+ printf(_("RO RA SSZ BSZ StartSec Size Device\n"));
+}
diff --git a/disk-utils/cramfs.h b/disk-utils/cramfs.h
new file mode 100644
index 0000000..96904f7
--- /dev/null
+++ b/disk-utils/cramfs.h
@@ -0,0 +1,114 @@
+/*
+ * cramfs_common - cramfs common code
+ *
+ * Copyright (c) 2008 Roy Peled, the.roy.peled -at- gmail
+ * Copyright (c) 2004-2006 by Michael Holzt, kju -at- fqdn.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef __CRAMFS_H
+#define __CRAMFS_H
+
+#include <stdint.h>
+
+#define CRAMFS_MAGIC 0x28cd3d45 /* some random number */
+#define CRAMFS_SIGNATURE "Compressed ROMFS"
+
+/*
+ * Width of various bitfields in struct cramfs_inode.
+ * Primarily used to generate warnings in mkcramfs.
+ */
+#define CRAMFS_MODE_WIDTH 16
+#define CRAMFS_UID_WIDTH 16
+#define CRAMFS_SIZE_WIDTH 24
+#define CRAMFS_GID_WIDTH 8
+#define CRAMFS_NAMELEN_WIDTH 6
+#define CRAMFS_OFFSET_WIDTH 26
+
+#ifndef HOST_IS_BIG_ENDIAN
+#ifdef WORDS_BIGENDIAN
+#define HOST_IS_BIG_ENDIAN 1
+#else
+#define HOST_IS_BIG_ENDIAN 0
+#endif
+#endif
+
+/*
+ * Reasonably terse representation of the inode data.
+ */
+struct cramfs_inode {
+ uint32_t mode:16, uid:16;
+ /* SIZE for device files is i_rdev */
+ uint32_t size:24, gid:8;
+ /*
+ * NAMELEN is the length of the file name, divided by 4 and
+ * rounded up. (cramfs doesn't support hard links.)
+ *
+ * OFFSET: For symlinks and non-empty regular files, this
+ * contains the offset (divided by 4) of the file data in
+ * compressed form (starting with an array of block pointers;
+ * see README). For non-empty directories it is the offset
+ * (divided by 4) of the inode of the first file in that
+ * directory. For anything else, offset is zero.
+ */
+ uint32_t namelen:6, offset:26;
+};
+
+struct cramfs_info {
+ uint32_t crc;
+ uint32_t edition;
+ uint32_t blocks;
+ uint32_t files;
+};
+
+/*
+ * Superblock information at the beginning of the FS.
+ */
+struct cramfs_super {
+ uint32_t magic; /* 0x28cd3d45 - random number */
+ uint32_t size; /* Not used. mkcramfs currently
+ writes a constant 1<<16 here. */
+ uint32_t flags; /* 0 */
+ uint32_t future; /* 0 */
+ uint8_t signature[16]; /* "Compressed ROMFS" */
+ struct cramfs_info fsid;/* unique filesystem info */
+ uint8_t name[16]; /* user-defined name */
+ struct cramfs_inode root; /* Root inode data */
+};
+
+#define CRAMFS_FLAG_FSID_VERSION_2 0x00000001 /* fsid version #2 */
+#define CRAMFS_FLAG_SORTED_DIRS 0x00000002 /* sorted dirs */
+#define CRAMFS_FLAG_HOLES 0x00000100 /* support for holes */
+#define CRAMFS_FLAG_WRONG_SIGNATURE 0x00000200 /* reserved */
+#define CRAMFS_FLAG_SHIFTED_ROOT_OFFSET 0x00000400 /* shifted root fs */
+
+/*
+ * Valid values in super.flags. Currently we refuse to mount
+ * if (flags & ~CRAMFS_SUPPORTED_FLAGS). Maybe that should be
+ * changed to test super.future instead.
+ */
+#define CRAMFS_SUPPORTED_FLAGS (0xff)
+
+/* Uncompression interfaces to the underlying zlib */
+int cramfs_uncompress_block(void *dst, int dstlen, void *src, int srclen);
+int cramfs_uncompress_init(void);
+int cramfs_uncompress_exit(void);
+
+uint32_t u32_toggle_endianness(int big_endian, uint32_t what);
+void super_toggle_endianness(int from_big_endian, struct cramfs_super *super);
+void inode_to_host(int from_big_endian, struct cramfs_inode *inode_in,
+ struct cramfs_inode *inode_out);
+void inode_from_host(int to_big_endian, struct cramfs_inode *inode_in,
+ struct cramfs_inode *inode_out);
+
+#endif
diff --git a/disk-utils/cramfs_common.c b/disk-utils/cramfs_common.c
new file mode 100644
index 0000000..0dc59e7
--- /dev/null
+++ b/disk-utils/cramfs_common.c
@@ -0,0 +1,109 @@
+/*
+ * cramfs_common - cramfs common code
+ *
+ * Copyright (c) 2008 Roy Peled, the.roy.peled -at- gmail.com
+ * Copyright (c) 2004-2006 by Michael Holzt, kju -at- fqdn.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <string.h>
+#include "cramfs.h"
+#include "../include/bitops.h"
+
+uint32_t u32_toggle_endianness(int big_endian, uint32_t what)
+{
+ return big_endian == HOST_IS_BIG_ENDIAN ? what : swab32(what);
+}
+
+void super_toggle_endianness(int big_endian, struct cramfs_super *super)
+{
+ if (big_endian != HOST_IS_BIG_ENDIAN) {
+ super->magic = swab32(super->magic);
+ super->size = swab32(super->size);
+ super->flags = swab32(super->flags);
+ super->future = swab32(super->future);
+ super->fsid.crc = swab32(super->fsid.crc);
+ super->fsid.edition = swab32(super->fsid.edition);
+ super->fsid.blocks = swab32(super->fsid.blocks);
+ super->fsid.files = swab32(super->fsid.files);
+ }
+}
+
+static void inode_toggle_endianness(int input_big_endian, int output_big_endian,
+ struct cramfs_inode *inode_in,
+ struct cramfs_inode *inode_out)
+{
+ if (input_big_endian == output_big_endian) {
+ memmove(inode_out, inode_in, sizeof(*inode_out));
+ } else {
+ unsigned char inode_out_buf[sizeof(*inode_in)];
+ unsigned char *inode_in_buf = (unsigned char*)inode_in;
+
+ inode_out_buf[0] = inode_in_buf[1]; /* 16 bit: mode */
+ inode_out_buf[1] = inode_in_buf[0];
+
+ inode_out_buf[2] = inode_in_buf[3]; /* 16 bit: uid */
+ inode_out_buf[3] = inode_in_buf[2];
+
+ inode_out_buf[4] = inode_in_buf[6]; /* 24 bit: size */
+ inode_out_buf[5] = inode_in_buf[5];
+ inode_out_buf[6] = inode_in_buf[4];
+
+ inode_out_buf[7] = inode_in_buf[7]; /* 8 bit: gid width */
+
+ /*
+ * Stop the madness! Outlaw C bitfields! They are unportable
+ * and nasty! See for yourself what a mess this is:
+ */
+ if (output_big_endian) {
+ inode_out_buf[ 8] = ( (inode_in_buf[ 8]&0x3F) << 2 ) |
+ ( (inode_in_buf[11]&0xC0) >> 6 );
+
+ inode_out_buf[ 9] = ( (inode_in_buf[11]&0x3F) << 2 ) |
+ ( (inode_in_buf[10]&0xC0) >> 6 );
+
+ inode_out_buf[10] = ( (inode_in_buf[10]&0x3F) << 2 ) |
+ ( (inode_in_buf[ 9]&0xC0) >> 6 );
+
+ inode_out_buf[11] = ( (inode_in_buf[ 9]&0x3F) << 2 ) |
+ ( (inode_in_buf[ 8]&0xC0) >> 6 );
+ } else {
+ inode_out_buf[ 8] = ( (inode_in_buf[ 8]&0xFD) >> 2 ) |
+ ( (inode_in_buf[11]&0x03) << 6 );
+
+ inode_out_buf[ 9] = ( (inode_in_buf[11]&0xFD) >> 2 ) |
+ ( (inode_in_buf[10]&0x03) << 6 );
+
+ inode_out_buf[10] = ( (inode_in_buf[10]&0xFD) >> 2 ) |
+ ( (inode_in_buf[ 9]&0x03) << 6 );
+
+ inode_out_buf[11] = ( (inode_in_buf[ 9]&0xFD) >> 2 ) |
+ ( (inode_in_buf[ 8]&0x03) << 6 );
+ }
+ memmove(inode_out, inode_out_buf, sizeof(*inode_out));
+ }
+}
+
+void inode_to_host(int from_big_endian, struct cramfs_inode *inode_in,
+ struct cramfs_inode *inode_out)
+{
+ inode_toggle_endianness(from_big_endian, HOST_IS_BIG_ENDIAN, inode_in,
+ inode_out);
+}
+
+void inode_from_host(int to_big_endian, struct cramfs_inode *inode_in,
+ struct cramfs_inode *inode_out)
+{
+ inode_toggle_endianness(HOST_IS_BIG_ENDIAN, to_big_endian, inode_in,
+ inode_out);
+}
diff --git a/disk-utils/delpart.8 b/disk-utils/delpart.8
new file mode 100644
index 0000000..433582f
--- /dev/null
+++ b/disk-utils/delpart.8
@@ -0,0 +1,34 @@
+.\" delpart.8 --
+.\" Copyright 2007 Karel Zak <kzak@redhat.com>
+.\" Copyright 2007 Red Hat, Inc.
+.\" May be distributed under the GNU General Public License
+.TH DELPART 8 "January 2007" "util-linux" "System Administration"
+.SH NAME
+delpart \-
+simple wrapper around the "del partition" ioctl
+.SH SYNOPSIS
+.B delpart
+.I device partition
+.SH DESCRIPTION
+.B delpart
+is a program that asks the Linux kernel to remove a partition.
+
+This command doesn't manipulate partitions on hard drive.
+
+.SH OPTIONS
+.TP
+.I device
+Specify the disk device.
+.TP
+.I partition
+Specify the partition number.
+
+.SH SEE ALSO
+.BR addpart (8),
+.BR fdisk (8),
+.BR parted (8),
+.BR partprobe (8),
+.BR partx (8)
+.SH AVAILABILITY
+The delpart command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/delpart.c b/disk-utils/delpart.c
new file mode 100644
index 0000000..e940e3b
--- /dev/null
+++ b/disk-utils/delpart.c
@@ -0,0 +1,60 @@
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+
+#include "c.h"
+#include "nls.h"
+#include "partx.h"
+#include "strutils.h"
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(" %s <disk device> <partition number>\n"),
+ program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("delpart(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int c, fd;
+
+ static const struct option longopts[] = {
+ {"help", no_argument, 0, 'h'},
+ {"version", no_argument, 0, 'V'},
+ {NULL, no_argument, 0, '0'},
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+
+ while ((c = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
+ switch (c) {
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (argc != 3)
+ usage(stderr);
+
+
+ if ((fd = open(argv[1], O_RDONLY)) < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), argv[1]);
+
+ if (partx_del_partition(fd,
+ strtou32_or_err(argv[2], _("invalid partition number argument"))))
+ err(EXIT_FAILURE, _("failed to remove partition"));
+
+ return EXIT_SUCCESS;
+}
diff --git a/disk-utils/elvtune.8 b/disk-utils/elvtune.8
new file mode 100644
index 0000000..f71b1d4
--- /dev/null
+++ b/disk-utils/elvtune.8
@@ -0,0 +1,67 @@
+.\" -*- nroff -*-
+.TH ELVTUNE 8 "March 2000" "util-linux" "System Administration"
+.SH NAME
+elvtune \- I/O elevator tuner
+.SH SYNOPSIS
+.B elvtune
+.RB [ \-r
+.IR r_lat ]
+.RB [ \-w
+.IR w_lat ]
+.RB [ \-b
+.IR b_max ]
+.IR device ...
+.br
+.B elvtune \-h
+.br
+.B elvtune \-v
+.SH DESCRIPTION
+.B elvtune
+allows to tune the I/O elevator per blockdevice queue. The
+tuning can be safely done at runtime. Tuning the elevator means
+being able to change disk performance and interactiveness.
+In the output of
+.B elvtune
+the address of the queue tuned will be shown;
+it can be considered as a queue ID.
+Multiple partitions on the same harddisk will
+share the same queue and so tuning one partition will be
+like tuning the whole HD.
+.SH OPTIONS
+.TP
+.BI -r \ r_lat
+Set the maximum latency that the I/O scheduler will provide on
+each read.
+.TP
+.BI -w \ w_lat
+Set the maximum latency that the I/O scheduler will provide on
+each write.
+.TP
+.BI -b \ b_max
+Set the maximum coalescing factor allowed on writes when there are reads
+pending in the queue.
+.TP
+.BI -h
+Display help text and exit.
+.TP
+.BI -v
+Display version version information and exit.
+.SH NOTE
+Actually, the only fields tunable are those relative
+to the IO scheduler. It's not possible to select
+a one-way or two-way elevator yet.
+.PP
+For logical blockdevices like LVM the tuning has to
+be done on the
+.I physical
+devices. Tuning the queue of the LVM logical device
+is useless.
+.SH RETURN VALUE
+0 on success and 1 on failure.
+.SH HISTORY
+Ioctls for tuning elevator behaviour were added in Linux 2.3.99-pre1.
+.SH AUTHORS
+Andrea Arcangeli <andrea@suse.de> SuSE
+.SH AVAILABILITY
+The elvtune command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/elvtune.c b/disk-utils/elvtune.c
new file mode 100644
index 0000000..9f7fbf3
--- /dev/null
+++ b/disk-utils/elvtune.c
@@ -0,0 +1,174 @@
+/*
+ * elvtune.c - I/O elevator tuner
+ *
+ * Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/*
+ * This command is deprecated. The utility is in maintenance mode,
+ * meaning we keep them in source tree for backward compatibility
+ * only. Do not waste time making this command better, unless the
+ * fix is about security or other very critical issue.
+ *
+ * See Documentation/deprecated.txt for more information.
+ */
+
+#include <fcntl.h>
+#include <errno.h>
+#include <stdio.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/utsname.h>
+#include "nls.h"
+#include "blkdev.h"
+#include "closestream.h"
+#include "linux_version.h"
+
+/* this has to match with the kernel structure */
+/* current version for ac19 and 2.2.16 */
+typedef struct blkelv_ioctl_arg_s {
+ int queue_ID;
+ int read_latency;
+ int write_latency;
+ int max_bomb_segments;
+} blkelv_ioctl_arg_t;
+
+static void
+usage(void) {
+ fprintf(stderr, "elvtune (%s)\n", PACKAGE_STRING);
+ fprintf(stderr, _("usage:\n"));
+ fprintf(stderr, "\telvtune [-r r_lat] [-w w_lat] [-b b_lat]"
+ " /dev/blkdev1 [/dev/blkdev2...]\n");
+ fprintf(stderr, "\telvtune -h\n");
+ fprintf(stderr, "\telvtune -v\n");
+ fprintf(stderr, _("\tNOTE: elvtune only works with 2.4 kernels\n"));
+ /* (ioctls exist in 2.2.16 - 2.5.57) */
+}
+
+static void
+version(void) {
+ fprintf(stderr, "elvtune (%s)\n", PACKAGE_STRING);
+}
+
+int
+main(int argc, char * argv[]) {
+ int read_value = 0xbeefbeef, write_value = 0xbeefbeef, bomb_value = 0xbeefbeef;
+ int read_set, write_set, bomb_set, set;
+ char * devname;
+ int fd;
+ blkelv_ioctl_arg_t elevator;
+
+ read_set = write_set = bomb_set = set = 0;
+
+ setlocale(LC_MESSAGES, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ for (;;) {
+ int opt;
+
+ opt = getopt(argc, argv, "r:w:b:hv");
+ if (opt == -1)
+ break;
+ switch (opt) {
+ case 'r':
+ read_value = atoi(optarg);
+ read_set = set = 1;
+ break;
+ case 'w':
+ write_value = atoi(optarg);
+ write_set = set = 1;
+ break;
+ case 'b':
+ bomb_value = atoi(optarg);
+ bomb_set = set = 1;
+ break;
+
+ case 'h':
+ usage(), exit(0);
+ case 'v':
+ version(), exit(0);
+
+ default:
+ usage(), exit(1);
+ }
+ }
+
+ if (optind >= argc)
+ fprintf(stderr, _("missing blockdevice, use -h for help\n")), exit(1);
+
+ while (optind < argc) {
+ devname = argv[optind++];
+
+ fd = open(devname, O_RDONLY|O_NONBLOCK);
+ if (fd < 0) {
+ perror("open");
+ break;
+ }
+
+ /* mmj: If we get EINVAL it's not a 2.4 kernel, so warn about
+ that and exit. It should return ENOTTY however, so check for
+ that as well in case it gets corrected in the future */
+
+ if (ioctl(fd, BLKELVGET, &elevator) < 0) {
+ int errsv = errno;
+ perror("ioctl get");
+ if ((errsv == EINVAL || errsv == ENOTTY) &&
+ get_linux_version() >= KERNEL_VERSION(2,5,58)) {
+ fprintf(stderr,
+ _("\nelvtune is only useful on older "
+ "kernels;\nfor 2.6 use IO scheduler "
+ "sysfs tunables instead..\n"));
+ }
+ break;
+ }
+
+ if (set) {
+ if (read_set)
+ elevator.read_latency = read_value;
+ if (write_set)
+ elevator.write_latency = write_value;
+ if (bomb_set)
+ elevator.max_bomb_segments = bomb_value;
+
+ if (ioctl(fd, BLKELVSET, &elevator) < 0) {
+ perror("ioctl set");
+ break;
+ }
+ if (ioctl(fd, BLKELVGET, &elevator) < 0) {
+ perror("ioctl reget");
+ break;
+ }
+ }
+
+ printf("\n%s elevator ID\t\t%d\n", devname, elevator.queue_ID);
+ printf("\tread_latency:\t\t%d\n", elevator.read_latency);
+ printf("\twrite_latency:\t\t%d\n", elevator.write_latency);
+ printf("\tmax_bomb_segments:\t%d\n\n", elevator.max_bomb_segments);
+
+ if (close(fd) < 0) {
+ perror("close");
+ break;
+ }
+ }
+
+ return 0;
+}
diff --git a/disk-utils/fdformat.8 b/disk-utils/fdformat.8
new file mode 100644
index 0000000..d02241e
--- /dev/null
+++ b/disk-utils/fdformat.8
@@ -0,0 +1,65 @@
+.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH FDFORMAT 8 "July 2011" "util-linux" "System Administration"
+.SH NAME
+fdformat \- low-level format a floppy disk
+.SH SYNOPSIS
+.B fdformat
+.RI [ options ] " device"
+.SH DESCRIPTION
+.B fdformat
+does a low-level format on a floppy disk.
+.I device
+is usually one of the following (for floppy devices the major = 2, and the
+minor is shown for informational purposes only):
+.sp
+.nf
+.RS
+/dev/fd0d360 (minor = 4)
+/dev/fd0h1200 (minor = 8)
+/dev/fd0D360 (minor = 12)
+/dev/fd0H360 (minor = 12)
+/dev/fd0D720 (minor = 16)
+/dev/fd0H720 (minor = 16)
+/dev/fd0h360 (minor = 20)
+/dev/fd0h720 (minor = 24)
+/dev/fd0H1440 (minor = 28)
+.PP
+/dev/fd1d360 (minor = 5)
+/dev/fd1h1200 (minor = 9)
+/dev/fd1D360 (minor = 13)
+/dev/fd1H360 (minor = 13)
+/dev/fd1D720 (minor = 17)
+/dev/fd1H720 (minor = 17)
+/dev/fd1h360 (minor = 21)
+/dev/fd1h720 (minor = 25)
+/dev/fd1H1440 (minor = 29)
+.RE
+.fi
+.PP
+The generic floppy devices, /dev/fd0 and /dev/fd1, will fail to work with
+.B fdformat
+when a non-standard format is being used, or if the format has not been
+autodetected earlier. In this case, use
+.BR setfdprm (8)
+to load the disk parameters.
+.SH OPTIONS
+.TP
+\fB\-n\fR, \fB\-\-no\-verify\fR
+Skip the verification that is normally performed after the formatting.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help and exit.
+.SH "SEE ALSO"
+.BR fd (4),
+.BR setfdprm (8),
+.BR mkfs (8),
+.BR emkfs (8)
+.SH AUTHOR
+Werner Almesberger (almesber@nessie.cs.id.ethz.ch)
+.SH AVAILABILITY
+The fdformat command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/fdformat.c b/disk-utils/fdformat.c
new file mode 100644
index 0000000..e937a8e
--- /dev/null
+++ b/disk-utils/fdformat.c
@@ -0,0 +1,168 @@
+/*
+ * fdformat.c - Low-level formats a floppy disk - Werner Almesberger
+ */
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <linux/fd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "xalloc.h"
+
+struct floppy_struct param;
+
+#define SECTOR_SIZE 512
+
+static void format_disk(int ctrl)
+{
+ struct format_descr descr;
+ unsigned int track;
+
+ printf(_("Formatting ... "));
+ fflush(stdout);
+ if (ioctl(ctrl, FDFMTBEG, NULL) < 0)
+ err(EXIT_FAILURE, "ioctl: FDFMTBEG");
+ for (track = 0; track < param.track; track++) {
+ descr.track = track;
+ descr.head = 0;
+ if (ioctl(ctrl, FDFMTTRK, (long) &descr) < 0)
+ err(EXIT_FAILURE, "ioctl: FDFMTTRK");
+
+ printf("%3d\b\b\b", track);
+ fflush(stdout);
+ if (param.head == 2) {
+ descr.head = 1;
+ if (ioctl(ctrl, FDFMTTRK, (long)&descr) < 0)
+ err(EXIT_FAILURE, "ioctl: FDFMTTRK");
+ }
+ }
+ if (ioctl(ctrl, FDFMTEND, NULL) < 0)
+ err(EXIT_FAILURE, "ioctl: FDFMTEND");
+ printf(_("done\n"));
+}
+
+static void verify_disk(char *name)
+{
+ unsigned char *data;
+ unsigned int cyl;
+ int fd, cyl_size, count;
+
+ cyl_size = param.sect * param.head * 512;
+ data = xmalloc(cyl_size);
+ printf(_("Verifying ... "));
+ fflush(stdout);
+ if ((fd = open(name, O_RDONLY)) < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), name);
+ for (cyl = 0; cyl < param.track; cyl++) {
+ int read_bytes;
+
+ printf("%3d\b\b\b", cyl);
+ fflush(stdout);
+ read_bytes = read(fd, data, cyl_size);
+ if (read_bytes != cyl_size) {
+ if (read_bytes < 0)
+ perror(_("Read: "));
+ fprintf(stderr,
+ _("Problem reading cylinder %d,"
+ " expected %d, read %d\n"),
+ cyl, cyl_size, read_bytes);
+ free(data);
+ exit(EXIT_FAILURE);
+ }
+ for (count = 0; count < cyl_size; count++)
+ if (data[count] != FD_FILL_BYTE) {
+ printf(_("bad data in cyl %d\n"
+ "Continuing ... "), cyl);
+ fflush(stdout);
+ break;
+ }
+ }
+ free(data);
+ printf(_("done\n"));
+ if (close(fd) < 0)
+ err(EXIT_FAILURE, "close");
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, _("Usage: %s [options] device\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _("\nOptions:\n"
+ " -n, --no-verify disable the verification after the format\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int ch;
+ int ctrl;
+ int verify = 1;
+ struct stat st;
+
+ static const struct option longopts[] = {
+ {"no-verify", no_argument, NULL, 'n'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((ch = getopt_long(argc, argv, "nVh", longopts, NULL)) != -1)
+ switch (ch) {
+ case 'n':
+ verify = 0;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ if (argc < 1)
+ usage(stderr);
+ if (stat(argv[0], &st) < 0)
+ err(EXIT_FAILURE, _("stat failed %s"), argv[0]);
+ if (!S_ISBLK(st.st_mode))
+ /* do not test major - perhaps this was an USB floppy */
+ errx(EXIT_FAILURE, _("%s: not a block device"), argv[0]);
+ if (access(argv[0], W_OK) < 0)
+ err(EXIT_FAILURE, _("cannot access file %s"), argv[0]);
+
+ ctrl = open(argv[0], O_WRONLY);
+ if (ctrl < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), argv[0]);
+ if (ioctl(ctrl, FDGETPRM, (long)&param) < 0)
+ err(EXIT_FAILURE, _("Could not determine current format type"));
+
+ printf(_("%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"),
+ (param.head == 2) ? _("Double") : _("Single"),
+ param.track, param.sect, param.size >> 1);
+ format_disk(ctrl);
+ close(ctrl);
+
+ if (verify)
+ verify_disk(argv[0]);
+ return EXIT_SUCCESS;
+}
diff --git a/disk-utils/fsck.8 b/disk-utils/fsck.8
new file mode 100644
index 0000000..4cfeb1f
--- /dev/null
+++ b/disk-utils/fsck.8
@@ -0,0 +1,461 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH FSCK 8 "February 2009" "util-linux" "System Administration"
+.SH NAME
+fsck \- check and repair a Linux filesystem
+.SH SYNOPSIS
+.B fsck
+.RB [ \-lrsAVRTMNP ]
+.RB [ \-C
+.RI [ fd ]]
+.RB [ \-t
+.IR fstype ]
+.RI [ filesys ...]
+.RB [ \-\- ]
+.RI [ fs-specific-options ]
+.SH DESCRIPTION
+.B fsck
+is used to check and optionally repair one or more Linux filesystems.
+.I filesys
+can be a device name (e.g.
+.IR /dev/hdc1 ", " /dev/sdb2 ),
+a mount point (e.g.
+.IR / ", " /usr ", " /home ),
+or an ext2 label or UUID specifier (e.g.
+UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd or LABEL=root).
+Normally, the
+.B fsck
+program will try to handle filesystems on different physical disk drives
+in parallel to reduce the total amount of time needed to check all of them.
+.PP
+If no filesystems are specified on the command line, and the
+.B \-A
+option is not specified,
+.B fsck
+will default to checking filesystems in
+.B /etc/fstab
+serially. This is equivalent to the
+.B \-As
+options.
+.PP
+The exit code returned by
+.B fsck
+is the sum of the following conditions:
+.PP
+.RS
+.PD 0
+.TP
+.B 0
+No errors
+.TP
+.B 1
+Filesystem errors corrected
+.TP
+.B 2
+System should be rebooted
+.TP
+.B 4
+Filesystem errors left uncorrected
+.TP
+.B 8
+Operational error
+.TP
+.B 16
+Usage or syntax error
+.TP
+.B 32
+Fsck canceled by user request
+.TP
+.B 128
+Shared-library error
+.PD
+.RE
+.PP
+The exit code returned when multiple filesystems are checked
+is the bit-wise OR of the exit codes for each
+filesystem that is checked.
+.PP
+In actuality,
+.B fsck
+is simply a front-end for the various filesystem checkers
+(\fBfsck\fR.\fIfstype\fR) available under Linux. The
+filesystem-specific checker is searched for in
+.I /sbin
+first, then in
+.I /etc/fs
+and
+.IR /etc ,
+and finally in the directories listed in the PATH environment
+variable. Please see the filesystem-specific checker manual pages for
+further details.
+.SH OPTIONS
+.TP
+.B \-l
+Lock the whole-disk device by an exclusive
+.BR flock (2).
+This option can be used with one device only (this means that \fB-A\fR and
+\fB-l\fR are mutually exclusive). This option is recommended when more
+.B fsck (8)
+instances are executed in the same time. The option is ignored when used for
+multiple devices or for non-rotating disks. \fBfsck\fR does not lock underlying
+devices when executed to check stacked devices (e.g. MD or DM) -- this feature is
+not implemented yet.
+.TP
+.B \-r
+Report certain statistics for each fsck when it completes. These statistics
+include the exit status, the maximum run set size (in kilobytes), the elapsed
+all-clock time and the user and system CPU time used by the fsck run. For
+example:
+
+/dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186
+.TP
+.B \-s
+Serialize
+.B fsck
+operations. This is a good idea if you are checking multiple
+filesystems and the checkers are in an interactive mode. (Note:
+.BR e2fsck (8)
+runs in an interactive mode by default. To make
+.BR e2fsck (8)
+run in a non-interactive mode, you must either specify the
+.B \-p
+or
+.B \-a
+option, if you wish for errors to be corrected automatically, or the
+.B \-n
+option if you do not.)
+.TP
+.BI \-t " fslist"
+Specifies the type(s) of filesystem to be checked. When the
+.B \-A
+flag is specified, only filesystems that match
+.I fslist
+are checked. The
+.I fslist
+parameter is a comma-separated list of filesystems and options
+specifiers. All of the filesystems in this comma-separated list may be
+prefixed by a negation operator
+.RB ' no '
+or
+.RB ' ! ',
+which requests that only those filesystems not listed in
+.I fslist
+will be checked. If none of the filesystems in
+.I fslist
+is prefixed by a negation operator, then only those listed filesystems
+will be checked.
+.sp
+Options specifiers may be included in the comma-separated
+.IR fslist .
+They must have the format
+.BI opts= fs-option\fR.
+If an options specifier is present, then only filesystems which contain
+.I fs-option
+in their mount options field of
+.B /etc/fstab
+will be checked. If the options specifier is prefixed by a negation
+operator, then only
+those filesystems that do not have
+.I fs-option
+in their mount options field of
+.B /etc/fstab
+will be checked.
+.sp
+For example, if
+.B opts=ro
+appears in
+.IR fslist ,
+then only filesystems listed in
+.B /etc/fstab
+with the
+.B ro
+option will be checked.
+.sp
+For compatibility with Mandrake distributions whose boot scripts
+depend upon an unauthorized UI change to the
+.B fsck
+program, if a filesystem type of
+.B loop
+is found in
+.IR fslist ,
+it is treated as if
+.B opts=loop
+were specified as an argument to the
+.B \-t
+option.
+.sp
+Normally, the filesystem type is deduced by searching for
+.I filesys
+in the
+.I /etc/fstab
+file and using the corresponding entry.
+If the type can not be deduced, and there is only a single filesystem
+given as an argument to the
+.B \-t
+option,
+.B fsck
+will use the specified filesystem type. If this type is not
+available, then the default filesystem type (currently ext2) is used.
+.TP
+.B \-A
+Walk through the
+.I /etc/fstab
+file and try to check all filesystems in one run. This option is
+typically used from the
+.I /etc/rc
+system initialization file, instead of multiple commands for checking
+a single filesystem.
+.sp
+The root filesystem will be checked first unless the
+.B \-P
+option is specified (see below). After that,
+filesystems will be checked in the order specified by the
+.I fs_passno
+(the sixth) field in the
+.I /etc/fstab
+file.
+Filesystems with a
+.I fs_passno
+value of 0 are skipped and are not checked at all. Filesystems with a
+.I fs_passno
+value of greater than zero will be checked in order,
+with filesystems with the lowest
+.I fs_passno
+number being checked first.
+If there are multiple filesystems with the same pass number,
+fsck will attempt to check them in parallel, although it will avoid running
+multiple filesystem checks on the same physical disk.
+.sp
+.B fsck
+does not check stacked devices (RAIDs, dm-crypt, ...) in parallel with any other
+device. See below for FSCK_FORCE_ALL_PARALLEL setting. The /sys filesystem is
+used to detemine dependencies between devices.
+.sp
+Hence, a very common configuration in
+.I /etc/fstab
+files is to set the root filesystem to have a
+.I fs_passno
+value of 1
+and to set all other filesystems to have a
+.I fs_passno
+value of 2. This will allow
+.B fsck
+to automatically run filesystem checkers in parallel if it is advantageous
+to do so. System administrators might choose
+not to use this configuration if they need to avoid multiple filesystem
+checks running in parallel for some reason --- for example, if the
+machine in question is short on memory so that
+excessive paging is a concern.
+.sp
+.B fsck
+normally does not check whether the device actually exists before
+calling a filesystem specific checker. Therefore non-existing
+devices may cause the system to enter filesystem repair mode during
+boot if the filesystem specific checker returns a fatal error. The
+.B /etc/fstab
+mount option
+.B nofail
+may be used to have
+.B fsck
+skip non-existing devices.
+.B fsck
+also skips non-existing devices that have the special filesystem type
+.BR auto .
+.TP
+.B \-C\fR [ \fI "fd" \fR ]
+Display completion/progress bars for those filesystem checkers (currently
+only for ext2 and ext3) which support them. Fsck will manage the
+filesystem checkers so that only one of them will display
+a progress bar at a time. GUI front-ends may specify a file descriptor
+.IR fd ,
+in which case the progress bar information will be sent to that file descriptor.
+.TP
+.B \-M
+Do not check mounted filesystems and return an exit code of 0
+for mounted filesystems.
+.TP
+.B \-N
+Don't execute, just show what would be done.
+.TP
+.B \-P
+When the
+.B \-A
+flag is set, check the root filesystem in parallel with the other filesystems.
+This is not the safest thing in the world to do,
+since if the root filesystem is in doubt things like the
+.BR e2fsck (8)
+executable might be corrupted! This option is mainly provided
+for those sysadmins who don't want to repartition the root
+filesystem to be small and compact (which is really the right solution).
+.TP
+.B \-R
+When checking all filesystems with the
+.B \-A
+flag, skip the root filesystem. (This is useful in case the root
+filesystem has already been mounted read-write.)
+.TP
+.B \-T
+Don't show the title on startup.
+.TP
+.B \-V
+Produce verbose output, including all filesystem-specific commands
+that are executed.
+.TP
+.B fs-specific-options
+Options which are not understood by
+.B fsck
+are passed to the filesystem-specific checker. These arguments
+.B must
+not take arguments, as there is no
+way for
+.B fsck
+to be able to properly guess which options take arguments and which
+don't.
+.IP
+Options and arguments which follow the
+.B \-\-
+are treated as filesystem-specific options to be passed to the
+filesystem-specific checker.
+.IP
+Please note that fsck is not
+designed to pass arbitrarily complicated options to filesystem-specific
+checkers. If you're doing something complicated, please just
+execute the filesystem-specific checker directly. If you pass
+.B fsck
+some horribly complicated options and arguments, and it doesn't do
+what you expect,
+.B don't bother reporting it as a bug.
+You're almost certainly doing something that you shouldn't be doing
+with
+.BR fsck.
+.PP
+Options to different filesystem-specific fsck's are not standardized.
+If in doubt, please consult the man pages of the filesystem-specific
+checker. Although not guaranteed, the following options are supported
+by most filesystem checkers:
+.TP
+.B \-a
+Automatically repair the filesystem without any questions (use
+this option with caution). Note that
+.BR e2fsck (8)
+supports
+.B \-a
+for backward compatibility only. This option is mapped to
+.BR e2fsck 's
+.B \-p
+option which is safe to use, unlike the
+.B \-a
+option that some filesystem checkers support.
+.TP
+.B \-n
+For some filesystem-specific checkers, the
+.B \-n
+option will cause the fs-specific fsck to avoid attempting to repair any
+problems, but simply report such problems to stdout. This is however
+not true for all filesystem-specific checkers. In particular,
+.BR fsck.reiserfs (8)
+will not report any corruption if given this option.
+.BR fsck.minix (8)
+does not support the
+.B \-n
+option at all.
+.TP
+.B \-r
+Interactively repair the filesystem (ask for confirmations). Note: It
+is generally a bad idea to use this option if multiple fsck's are being
+run in parallel. Also note that this is
+.BR e2fsck 's
+default behavior; it supports this option for backward compatibility
+reasons only.
+.TP
+.B \-y
+For some filesystem-specific checkers, the
+.B \-y
+option will cause the fs-specific fsck to always attempt to fix any
+detected filesystem corruption automatically. Sometimes an expert may
+be able to do better driving the fsck manually. Note that
+.B not
+all filesystem-specific checkers implement this option. In particular
+.BR fsck.minix (8)
+and
+.BR fsck.cramfs (8)
+do not support the
+.B -y
+option as of this writing.
+.SH AUTHOR
+.MT tytso@mit.edu
+Theodore Ts'o
+.ME
+.SH AVAILABILITY
+The fsck command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
+.SH FILES
+.IR /etc/fstab .
+.SH ENVIRONMENT VARIABLES
+The
+.B fsck
+program's behavior is affected by the following environment variables:
+.TP
+.B FSCK_FORCE_ALL_PARALLEL
+If this environment variable is set,
+.B fsck
+will attempt to check all of the specified filesystems in parallel, regardless of
+whether the filesystems appear to be on the same device. (This is useful for
+RAID systems or high-end storage systems such as those sold by companies such
+as IBM or EMC.) Note that the fs_passno value is still used.
+.TP
+.B FSCK_MAX_INST
+This environment variable will limit the maximum number of filesystem
+checkers that can be running at one time. This allows configurations
+which have a large number of disks to avoid
+.B fsck
+starting too many filesystem checkers at once, which might overload
+CPU and memory resources available on the system. If this value is
+zero, then an unlimited number of processes can be spawned. This is
+currently the default, but future versions of
+.B fsck
+may attempt to automatically determine how many filesystem checks can
+be run based on gathering accounting data from the operating system.
+.TP
+.B PATH
+The
+.B PATH
+environment variable is used to find filesystem checkers. A set of
+system directories are searched first:
+.BR /sbin ,
+.BR /sbin/fs.d ,
+.BR /sbin/fs ,
+.BR /etc/fs ,
+and
+.BR /etc .
+Then the set of directories found in the
+.B PATH
+environment are searched.
+.TP
+.B FSTAB_FILE
+This environment variable allows the system administrator
+to override the standard location of the
+.B /etc/fstab
+file. It is also useful for developers who are testing
+.BR fsck .
+.SH SEE ALSO
+.BR fstab (5),
+.BR mkfs (8),
+.BR fsck.ext2 (8)
+or
+.BR fsck.ext3 (8)
+or
+.BR e2fsck (8),
+.BR cramfsck (8),
+.BR fsck.minix (8),
+.BR fsck.msdos (8),
+.BR fsck.jfs (8),
+.BR fsck.nfs (8),
+.BR fsck.vfat (8),
+.BR fsck.xfs (8),
+.BR fsck.xiafs (8),
+.BR reiserfsck (8).
diff --git a/disk-utils/fsck.c b/disk-utils/fsck.c
new file mode 100644
index 0000000..28a1d70
--- /dev/null
+++ b/disk-utils/fsck.c
@@ -0,0 +1,1576 @@
+/*
+ * fsck --- A generic, parallelizing front-end for the fsck program.
+ * It will automatically try to run fsck programs in parallel if the
+ * devices are on separate spindles. It is based on the same ideas as
+ * the generic front end for fsck by David Engel and Fred van Kempen,
+ * but it has been completely rewritten from scratch to support
+ * parallel execution.
+ *
+ * Written by Theodore Ts'o, <tytso@mit.edu>
+ *
+ * Miquel van Smoorenburg (miquels@drinkel.ow.org) 20-Oct-1994:
+ * o Changed -t fstype to behave like with mount when -A (all file
+ * systems) or -M (like mount) is specified.
+ * o fsck looks if it can find the fsck.type program to decide
+ * if it should ignore the fs type. This way more fsck programs
+ * can be added without changing this front-end.
+ * o -R flag skip root file system.
+ *
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+ * 2001, 2002, 2003, 2004, 2005 by Theodore Ts'o.
+ *
+ * Copyright (C) 2009, 2012 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ */
+
+#define _XOPEN_SOURCE 600 /* for inclusion of sa_handler in Solaris */
+
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/stat.h>
+#include <sys/file.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include <time.h>
+#include <stdlib.h>
+#include <paths.h>
+#include <unistd.h>
+#include <errno.h>
+#include <signal.h>
+#include <dirent.h>
+#include <sys/resource.h>
+#include <sys/time.h>
+#include <blkid.h>
+#include <libmount.h>
+
+#include "nls.h"
+#include "pathnames.h"
+#include "exitcodes.h"
+#include "c.h"
+#include "closestream.h"
+
+#define XALLOC_EXIT_CODE FSCK_EX_ERROR
+#include "xalloc.h"
+
+#ifndef DEFAULT_FSTYPE
+# define DEFAULT_FSTYPE "ext2"
+#endif
+
+#define MAX_DEVICES 32
+#define MAX_ARGS 32
+
+static const char *ignored_types[] = {
+ "ignore",
+ "iso9660",
+ "sw",
+ NULL
+};
+
+static const char *really_wanted[] = {
+ "minix",
+ "ext2",
+ "ext3",
+ "ext4",
+ "ext4dev",
+ "jfs",
+ "reiserfs",
+ "xiafs",
+ "xfs",
+ NULL
+};
+
+/*
+ * Internal structure for mount tabel entries.
+ */
+struct fsck_fs_data
+{
+ const char *device;
+ dev_t disk;
+ unsigned int stacked:1,
+ done:1,
+ eval_device:1;
+};
+
+/*
+ * Structure to allow exit codes to be stored
+ */
+struct fsck_instance {
+ int pid;
+ int flags; /* FLAG_{DONE|PROGRESS} */
+ int lock; /* flock()ed whole disk file descriptor or -1 */
+ int exit_status;
+ struct timeval start_time;
+ struct timeval end_time;
+ char * prog;
+ char * type;
+
+ struct rusage rusage;
+ struct libmnt_fs *fs;
+ struct fsck_instance *next;
+};
+
+#define FLAG_DONE 1
+#define FLAG_PROGRESS 2
+
+/*
+ * Global variables for options
+ */
+static char *devices[MAX_DEVICES];
+static char *args[MAX_ARGS];
+static int num_devices, num_args;
+
+static int lockdisk;
+static int verbose;
+static int doall;
+static int noexecute;
+static int serialize;
+static int skip_root;
+static int ignore_mounted;
+static int notitle;
+static int parallel_root;
+static int progress;
+static int progress_fd;
+static int force_all_parallel;
+static int report_stats;
+
+static int num_running;
+static int max_running;
+
+static volatile int cancel_requested;
+static int kill_sent;
+static char *fstype;
+static struct fsck_instance *instance_list;
+
+static const char fsck_prefix_path[] = FS_SEARCH_PATH;
+static char *fsck_path;
+
+/* parsed fstab and mtab */
+static struct libmnt_table *fstab, *mtab;
+static struct libmnt_cache *mntcache;
+
+static int count_slaves(dev_t disk);
+
+static int string_to_int(const char *s)
+{
+ long l;
+ char *p;
+
+ l = strtol(s, &p, 0);
+ if (*p || l == LONG_MIN || l == LONG_MAX || l < 0 || l > INT_MAX)
+ return -1;
+ else
+ return (int) l;
+}
+
+static int is_mounted(struct libmnt_fs *fs)
+{
+ int rc;
+ const char *src;
+
+ src = mnt_fs_get_source(fs);
+ if (!src)
+ return 0;
+ if (!mntcache)
+ mntcache = mnt_new_cache();
+ if (!mtab) {
+ mtab = mnt_new_table();
+ if (!mtab)
+ err(FSCK_EX_ERROR, ("failed to initialize libmount table"));
+ mnt_table_set_cache(mtab, mntcache);
+ mnt_table_parse_mtab(mtab, NULL);
+ }
+
+ rc = mnt_table_find_source(mtab, src, MNT_ITER_BACKWARD) ? 1 : 0;
+ if (verbose) {
+ if (rc)
+ printf(_("%s is mounted\n"), src);
+ else
+ printf(_("%s is not mounted\n"), src);
+ }
+ return rc;
+}
+
+static int ignore(struct libmnt_fs *);
+
+static struct fsck_fs_data *fs_create_data(struct libmnt_fs *fs)
+{
+ struct fsck_fs_data *data = mnt_fs_get_userdata(fs);
+
+ if (!data) {
+ data = xcalloc(1, sizeof(*data));
+ mnt_fs_set_userdata(fs, data);
+ }
+ return data;
+}
+
+/*
+ * fs from fstab might contains real device name as well as symlink,
+ * LABEL or UUID, this function returns canonicalized result.
+ */
+static const char *fs_get_device(struct libmnt_fs *fs)
+{
+ struct fsck_fs_data *data = mnt_fs_get_userdata(fs);
+
+ if (!data || !data->eval_device) {
+ const char *spec = mnt_fs_get_source(fs);
+
+ if (!data)
+ data = fs_create_data(fs);
+
+ data->eval_device = 1;
+ data->device = mnt_resolve_spec(spec, mnt_table_get_cache(fstab));
+ if (!data->device)
+ data->device = xstrdup(spec);
+ }
+
+ return data->device;
+}
+
+static dev_t fs_get_disk(struct libmnt_fs *fs, int check)
+{
+ struct fsck_fs_data *data;
+ const char *device;
+ struct stat st;
+
+ data = mnt_fs_get_userdata(fs);
+ if (data && data->disk)
+ return data->disk;
+
+ if (!check)
+ return 0;
+
+ if (mnt_fs_is_netfs(fs) || mnt_fs_is_pseudofs(fs))
+ return 0;
+
+ device = fs_get_device(fs);
+ if (!device)
+ return 0;
+
+ data = fs_create_data(fs);
+
+ if (!stat(device, &st) &&
+ !blkid_devno_to_wholedisk(st.st_rdev, NULL, 0, &data->disk)) {
+
+ if (data->disk)
+ data->stacked = count_slaves(data->disk) > 0 ? 1 : 0;
+ return data->disk;
+ }
+ return 0;
+}
+
+static int fs_is_stacked(struct libmnt_fs *fs)
+{
+ struct fsck_fs_data *data = mnt_fs_get_userdata(fs);
+ return data ? data->stacked : 0;
+}
+
+static int fs_is_done(struct libmnt_fs *fs)
+{
+ struct fsck_fs_data *data = mnt_fs_get_userdata(fs);
+ return data ? data->done : 0;
+}
+
+static void fs_set_done(struct libmnt_fs *fs)
+{
+ struct fsck_fs_data *data = fs_create_data(fs);
+
+ if (data)
+ data->done = 1;
+}
+
+static int is_irrotational_disk(dev_t disk)
+{
+ char path[PATH_MAX];
+ FILE *f;
+ int rc, x;
+
+
+ rc = snprintf(path, sizeof(path),
+ "/sys/dev/block/%d:%d/queue/rotational",
+ major(disk), minor(disk));
+
+ if (rc < 0 || (unsigned int) (rc + 1) > sizeof(path))
+ return 0;
+
+ f = fopen(path, "r");
+ if (!f)
+ return 0;
+
+ rc = fscanf(f, "%d", &x);
+ if (rc != 1) {
+ if (ferror(f))
+ warn(_("failed to read: %s"), path);
+ else
+ warnx(_("parse error: %s"), path);
+ }
+ fclose(f);
+
+ return rc == 1 ? !x : 0;
+}
+
+static void lock_disk(struct fsck_instance *inst)
+{
+ dev_t disk = fs_get_disk(inst->fs, 1);
+ char *diskname;
+
+ if (!disk || is_irrotational_disk(disk))
+ return;
+
+ diskname = blkid_devno_to_devname(disk);
+ if (!diskname)
+ return;
+
+ if (verbose)
+ printf(_("Locking disk %s ... "), diskname);
+
+ inst->lock = open(diskname, O_CLOEXEC | O_RDONLY);
+ if (inst->lock >= 0) {
+ int rc = -1;
+
+ /* inform users that we're waiting on the lock */
+ if (verbose &&
+ (rc = flock(inst->lock, LOCK_EX | LOCK_NB)) != 0 &&
+ errno == EWOULDBLOCK)
+ printf(_("(waiting) "));
+
+ if (rc != 0 && flock(inst->lock, LOCK_EX) != 0) {
+ close(inst->lock); /* failed */
+ inst->lock = -1;
+ }
+ }
+
+ if (verbose)
+ /* TRANSLATORS: These are followups to "Locking disk...". */
+ printf("%s.\n", inst->lock >= 0 ? _("succeeded") : _("failed"));
+
+ free(diskname);
+ return;
+}
+
+static void unlock_disk(struct fsck_instance *inst)
+{
+ if (inst->lock >= 0) {
+ /* explicitly unlock, don't rely on close(), maybe some library
+ * (e.g. liblkid) has still open the device.
+ */
+ flock(inst->lock, LOCK_UN);
+ close(inst->lock);
+
+ inst->lock = -1;
+ }
+}
+
+static void free_instance(struct fsck_instance *i)
+{
+ if (lockdisk)
+ unlock_disk(i);
+ free(i->prog);
+ free(i);
+ return;
+}
+
+static struct libmnt_fs *add_dummy_fs(const char *device)
+{
+ struct libmnt_fs *fs = mnt_new_fs();
+
+ if (fs && mnt_fs_set_source(fs, device) == 0 &&
+ mnt_table_add_fs(fstab, fs) == 0)
+ return fs;
+
+ mnt_free_fs(fs);
+ err(FSCK_EX_ERROR, _("failed to setup description for %s"), device);
+}
+
+static void fs_interpret_type(struct libmnt_fs *fs)
+{
+ const char *device;
+ const char *type = mnt_fs_get_fstype(fs);
+
+ if (type && strcmp(type, "auto") != 0)
+ return;
+
+ mnt_fs_set_fstype(fs, NULL);
+
+ device = fs_get_device(fs);
+ if (device) {
+ int ambi = 0;
+
+ type = mnt_get_fstype(device, &ambi, mnt_table_get_cache(fstab));
+ if (!ambi)
+ mnt_fs_set_fstype(fs, type);
+ }
+}
+
+static int parser_errcb(struct libmnt_table *tb __attribute__ ((__unused__)),
+ const char *filename, int line)
+{
+ warnx(_("%s: parse error at line %d -- ignore"), filename, line);
+ return 0;
+}
+
+/*
+ * Load the filesystem database from /etc/fstab
+ */
+static void load_fs_info(void)
+{
+ const char *path;
+
+ fstab = mnt_new_table();
+ if (!fstab)
+ err(FSCK_EX_ERROR, ("failed to initialize libmount table"));
+
+ mnt_table_set_parser_errcb(fstab, parser_errcb);
+ mnt_table_set_cache(fstab, mntcache);
+
+ errno = 0;
+
+ /*
+ * Let's follow libmount defauls if $FSTAB_FILE is not specified
+ */
+ path = getenv("FSTAB_FILE");
+
+ if (mnt_table_parse_fstab(fstab, path)) {
+ if (!path)
+ path = mnt_get_fstab_path();
+ if (errno)
+ warn(_("%s: failed to parse fstab"), path);
+ else
+ warnx(_("%s: failed to parse fstab"), path);
+ }
+}
+
+/*
+ * Lookup filesys in /etc/fstab and return the corresponding entry.
+ * The @path has to be real path (no TAG) by mnt_resolve_spec().
+ */
+static struct libmnt_fs *lookup(char *path)
+{
+ struct libmnt_fs *fs;
+
+ if (!path)
+ return NULL;
+
+ fs = mnt_table_find_srcpath(fstab, path, MNT_ITER_FORWARD);
+ if (!fs) {
+ /*
+ * Maybe mountpoint has been specified on fsck command line.
+ * Yeah, crazy feature...
+ *
+ * Note that mnt_table_find_target() may canonicalize paths in
+ * the fstab to support symlinks. This is really unwanted,
+ * because readlink() on mountpoints may trigger automounts.
+ *
+ * So, disable the cache and compare the paths as strings
+ * without care about symlinks...
+ */
+ mnt_table_set_cache(fstab, NULL);
+ fs = mnt_table_find_target(fstab, path, MNT_ITER_FORWARD);
+ mnt_table_set_cache(fstab, mntcache);
+ }
+ return fs;
+}
+
+/* Find fsck program for a given fs type. */
+static char *find_fsck(const char *type)
+{
+ char *s;
+ const char *tpl;
+ static char prog[256];
+ char *p = xstrdup(fsck_path);
+ struct stat st;
+
+ /* Are we looking for a program or just a type? */
+ tpl = (strncmp(type, "fsck.", 5) ? "%s/fsck.%s" : "%s/%s");
+
+ for(s = strtok(p, ":"); s; s = strtok(NULL, ":")) {
+ sprintf(prog, tpl, s, type);
+ if (stat(prog, &st) == 0)
+ break;
+ }
+ free(p);
+
+ return(s ? prog : NULL);
+}
+
+static int progress_active(void)
+{
+ struct fsck_instance *inst;
+
+ for (inst = instance_list; inst; inst = inst->next) {
+ if (inst->flags & FLAG_DONE)
+ continue;
+ if (inst->flags & FLAG_PROGRESS)
+ return 1;
+ }
+ return 0;
+}
+
+/*
+ * Process run statistics for finished fsck instances.
+ *
+ * If report_stats is 0, do nothing, otherwise print a selection of
+ * interesting rusage statistics as well as elapsed wallclock time.
+ */
+static void print_stats(struct fsck_instance *inst)
+{
+ double time_diff;
+
+ if (!inst || !report_stats || noexecute)
+ return;
+
+ time_diff = (inst->end_time.tv_sec - inst->start_time.tv_sec)
+ + (inst->end_time.tv_usec - inst->start_time.tv_usec) / 1E6;
+
+ fprintf(stdout, "%s: status %d, rss %ld, "
+ "real %f, user %d.%06d, sys %d.%06d\n",
+ fs_get_device(inst->fs),
+ inst->exit_status,
+ inst->rusage.ru_maxrss,
+ time_diff,
+ (int)inst->rusage.ru_utime.tv_sec,
+ (int)inst->rusage.ru_utime.tv_usec,
+ (int)inst->rusage.ru_stime.tv_sec,
+ (int)inst->rusage.ru_stime.tv_usec);
+}
+
+/*
+ * Execute a particular fsck program, and link it into the list of
+ * child processes we are waiting for.
+ */
+static int execute(const char *type, struct libmnt_fs *fs, int interactive)
+{
+ char *s, *argv[80], prog[80];
+ int argc, i;
+ struct fsck_instance *inst, *p;
+ pid_t pid;
+
+ inst = xcalloc(1, sizeof(*inst));
+
+ sprintf(prog, "fsck.%s", type);
+ argv[0] = xstrdup(prog);
+ argc = 1;
+
+ for (i=0; i <num_args; i++)
+ argv[argc++] = xstrdup(args[i]);
+
+ if (progress) {
+ if ((strcmp(type, "ext2") == 0) ||
+ (strcmp(type, "ext3") == 0) ||
+ (strcmp(type, "ext4") == 0) ||
+ (strcmp(type, "ext4dev") == 0)) {
+ char tmp[80];
+
+ tmp[0] = 0;
+ if (!progress_active()) {
+ snprintf(tmp, 80, "-C%d", progress_fd);
+ inst->flags |= FLAG_PROGRESS;
+ } else if (progress_fd)
+ snprintf(tmp, 80, "-C%d", progress_fd * -1);
+ if (tmp[0])
+ argv[argc++] = xstrdup(tmp);
+ }
+ }
+
+ argv[argc++] = xstrdup(fs_get_device(fs));
+ argv[argc] = 0;
+
+ s = find_fsck(prog);
+ if (s == NULL) {
+ warnx(_("%s: not found"), prog);
+ free(inst);
+ return ENOENT;
+ }
+
+ if (verbose || noexecute) {
+ const char *tgt = mnt_fs_get_target(fs);
+
+ if (!tgt)
+ tgt = fs_get_device(fs);
+ printf("[%s (%d) -- %s] ", s, num_running, tgt);
+ for (i=0; i < argc; i++)
+ printf("%s ", argv[i]);
+ printf("\n");
+ }
+
+ inst->fs = fs;
+ inst->lock = -1;
+
+ if (lockdisk)
+ lock_disk(inst);
+
+ /* Fork and execute the correct program. */
+ if (noexecute)
+ pid = -1;
+ else if ((pid = fork()) < 0) {
+ warn(_("fork failed"));
+ free(inst);
+ return errno;
+ } else if (pid == 0) {
+ if (!interactive)
+ close(0);
+ execv(s, argv);
+ err(FSCK_EX_ERROR, _("%s: execute failed"), s);
+ }
+
+ for (i=0; i < argc; i++)
+ free(argv[i]);
+
+ inst->pid = pid;
+ inst->prog = xstrdup(prog);
+ inst->type = xstrdup(type);
+ gettimeofday(&inst->start_time, NULL);
+ inst->next = NULL;
+
+ /*
+ * Find the end of the list, so we add the instance on at the end.
+ */
+ for (p = instance_list; p && p->next; p = p->next);
+
+ if (p)
+ p->next = inst;
+ else
+ instance_list = inst;
+
+ return 0;
+}
+
+/*
+ * Send a signal to all outstanding fsck child processes
+ */
+static int kill_all(int signum)
+{
+ struct fsck_instance *inst;
+ int n = 0;
+
+ for (inst = instance_list; inst; inst = inst->next) {
+ if (inst->flags & FLAG_DONE)
+ continue;
+ kill(inst->pid, signum);
+ n++;
+ }
+ return n;
+}
+
+/*
+ * Wait for one child process to exit; when it does, unlink it from
+ * the list of executing child processes, and return it.
+ */
+static struct fsck_instance *wait_one(int flags)
+{
+ int status;
+ int sig;
+ struct fsck_instance *inst, *inst2, *prev;
+ pid_t pid;
+ struct rusage rusage;
+
+ if (!instance_list)
+ return NULL;
+
+ if (noexecute) {
+ inst = instance_list;
+ prev = 0;
+#ifdef RANDOM_DEBUG
+ while (inst->next && (random() & 1)) {
+ prev = inst;
+ inst = inst->next;
+ }
+#endif
+ inst->exit_status = 0;
+ goto ret_inst;
+ }
+
+ /*
+ * gcc -Wall fails saving throw against stupidity
+ * (inst and prev are thought to be uninitialized variables)
+ */
+ inst = prev = NULL;
+
+ do {
+ pid = wait4(-1, &status, flags, &rusage);
+ if (cancel_requested && !kill_sent) {
+ kill_all(SIGTERM);
+ kill_sent++;
+ }
+ if ((pid == 0) && (flags & WNOHANG))
+ return NULL;
+ if (pid < 0) {
+ if ((errno == EINTR) || (errno == EAGAIN))
+ continue;
+ if (errno == ECHILD) {
+ warnx(_("wait: no more child process?!?"));
+ return NULL;
+ }
+ warn(_("waidpid failed"));
+ continue;
+ }
+ for (prev = 0, inst = instance_list;
+ inst;
+ prev = inst, inst = inst->next) {
+ if (inst->pid == pid)
+ break;
+ }
+ } while (!inst);
+
+ if (WIFEXITED(status))
+ status = WEXITSTATUS(status);
+ else if (WIFSIGNALED(status)) {
+ sig = WTERMSIG(status);
+ if (sig == SIGINT) {
+ status = FSCK_EX_UNCORRECTED;
+ } else {
+ warnx(_("Warning... %s for device %s exited "
+ "with signal %d."),
+ inst->prog, fs_get_device(inst->fs), sig);
+ status = FSCK_EX_ERROR;
+ }
+ } else {
+ warnx(_("%s %s: status is %x, should never happen."),
+ inst->prog, fs_get_device(inst->fs), status);
+ status = FSCK_EX_ERROR;
+ }
+
+ inst->exit_status = status;
+ inst->flags |= FLAG_DONE;
+ gettimeofday(&inst->end_time, NULL);
+ memcpy(&inst->rusage, &rusage, sizeof(struct rusage));
+
+ if (progress && (inst->flags & FLAG_PROGRESS) &&
+ !progress_active()) {
+ for (inst2 = instance_list; inst2; inst2 = inst2->next) {
+ if (inst2->flags & FLAG_DONE)
+ continue;
+ if (strcmp(inst2->type, "ext2") &&
+ strcmp(inst2->type, "ext3") &&
+ strcmp(inst2->type, "ext4") &&
+ strcmp(inst2->type, "ext4dev"))
+ continue;
+ /*
+ * If we've just started the fsck, wait a tiny
+ * bit before sending the kill, to give it
+ * time to set up the signal handler
+ */
+ if (inst2->start_time.tv_sec < time(0) + 2) {
+ if (fork() == 0) {
+ sleep(1);
+ kill(inst2->pid, SIGUSR1);
+ exit(FSCK_EX_OK);
+ }
+ } else
+ kill(inst2->pid, SIGUSR1);
+ inst2->flags |= FLAG_PROGRESS;
+ break;
+ }
+ }
+ret_inst:
+ if (prev)
+ prev->next = inst->next;
+ else
+ instance_list = inst->next;
+
+ print_stats(inst);
+
+ if (verbose > 1)
+ printf(_("Finished with %s (exit status %d)\n"),
+ fs_get_device(inst->fs), inst->exit_status);
+ num_running--;
+ return inst;
+}
+
+#define FLAG_WAIT_ALL 0
+#define FLAG_WAIT_ATLEAST_ONE 1
+/*
+ * Wait until all executing child processes have exited; return the
+ * logical OR of all of their exit code values.
+ */
+static int wait_many(int flags)
+{
+ struct fsck_instance *inst;
+ int global_status = 0;
+ int wait_flags = 0;
+
+ while ((inst = wait_one(wait_flags))) {
+ global_status |= inst->exit_status;
+ free_instance(inst);
+#ifdef RANDOM_DEBUG
+ if (noexecute && (flags & WNOHANG) && !(random() % 3))
+ break;
+#endif
+ if (flags & FLAG_WAIT_ATLEAST_ONE)
+ wait_flags = WNOHANG;
+ }
+ return global_status;
+}
+
+/*
+ * Run the fsck program on a particular device
+ *
+ * If the type is specified using -t, and it isn't prefixed with "no"
+ * (as in "noext2") and only one filesystem type is specified, then
+ * use that type regardless of what is specified in /etc/fstab.
+ *
+ * If the type isn't specified by the user, then use either the type
+ * specified in /etc/fstab, or DEFAULT_FSTYPE.
+ */
+static int fsck_device(struct libmnt_fs *fs, int interactive)
+{
+ const char *type;
+ int retval;
+
+ fs_interpret_type(fs);
+
+ type = mnt_fs_get_fstype(fs);
+
+ if (type && strcmp(type, "auto") != 0)
+ ;
+ else if (fstype && strncmp(fstype, "no", 2) &&
+ strncmp(fstype, "opts=", 5) && strncmp(fstype, "loop", 4) &&
+ !strchr(fstype, ','))
+ type = fstype;
+ else
+ type = DEFAULT_FSTYPE;
+
+ num_running++;
+ retval = execute(type, fs, interactive);
+ if (retval) {
+ warnx(_("error %d while executing fsck.%s for %s"),
+ retval, type, fs_get_device(fs));
+ num_running--;
+ return FSCK_EX_ERROR;
+ }
+ return 0;
+}
+
+
+/*
+ * Deal with the fsck -t argument.
+ */
+struct fs_type_compile {
+ char **list;
+ int *type;
+ int negate;
+} fs_type_compiled;
+
+#define FS_TYPE_NORMAL 0
+#define FS_TYPE_OPT 1
+#define FS_TYPE_NEGOPT 2
+
+static void compile_fs_type(char *fs_type, struct fs_type_compile *cmp)
+{
+ char *cp, *list, *s;
+ int num = 2;
+ int negate, first_negate = 1;
+
+ if (fs_type) {
+ for (cp=fs_type; *cp; cp++) {
+ if (*cp == ',')
+ num++;
+ }
+ }
+
+ cmp->list = xcalloc(num, sizeof(char *));
+ cmp->type = xcalloc(num, sizeof(int));
+ cmp->negate = 0;
+
+ if (!fs_type)
+ return;
+
+ list = xstrdup(fs_type);
+ num = 0;
+ s = strtok(list, ",");
+ while(s) {
+ negate = 0;
+ if (strncmp(s, "no", 2) == 0) {
+ s += 2;
+ negate = 1;
+ } else if (*s == '!') {
+ s++;
+ negate = 1;
+ }
+ if (strcmp(s, "loop") == 0)
+ /* loop is really short-hand for opts=loop */
+ goto loop_special_case;
+ else if (strncmp(s, "opts=", 5) == 0) {
+ s += 5;
+ loop_special_case:
+ cmp->type[num] = negate ? FS_TYPE_NEGOPT : FS_TYPE_OPT;
+ } else {
+ if (first_negate) {
+ cmp->negate = negate;
+ first_negate = 0;
+ }
+ if ((negate && !cmp->negate) ||
+ (!negate && cmp->negate)) {
+ errx(FSCK_EX_USAGE,
+ _("Either all or none of the filesystem types passed to -t must be prefixed\n"
+ "with 'no' or '!'."));
+ }
+ }
+
+ cmp->list[num++] = xstrdup(s);
+ s = strtok(NULL, ",");
+ }
+ free(list);
+}
+
+/*
+ * This function returns true if a particular option appears in a
+ * comma-delimited options list
+ */
+static int opt_in_list(const char *opt, const char *optlist)
+{
+ char *list, *s;
+
+ if (!optlist)
+ return 0;
+ list = xstrdup(optlist);
+
+ s = strtok(list, ",");
+ while(s) {
+ if (strcmp(s, opt) == 0) {
+ free(list);
+ return 1;
+ }
+ s = strtok(NULL, ",");
+ }
+ free(list);
+ return 0;
+}
+
+/* See if the filesystem matches the criteria given by the -t option */
+static int fs_match(struct libmnt_fs *fs, struct fs_type_compile *cmp)
+{
+ int n, ret = 0, checked_type = 0;
+ char *cp;
+
+ if (cmp->list == 0 || cmp->list[0] == 0)
+ return 1;
+
+ for (n=0; (cp = cmp->list[n]); n++) {
+ switch (cmp->type[n]) {
+ case FS_TYPE_NORMAL:
+ {
+ const char *type = mnt_fs_get_fstype(fs);
+
+ checked_type++;
+ if (type && strcmp(cp, type) == 0)
+ ret = 1;
+ break;
+ }
+ case FS_TYPE_NEGOPT:
+ if (opt_in_list(cp, mnt_fs_get_options(fs)))
+ return 0;
+ break;
+ case FS_TYPE_OPT:
+ if (!opt_in_list(cp, mnt_fs_get_options(fs)))
+ return 0;
+ break;
+ }
+ }
+ if (checked_type == 0)
+ return 1;
+ return (cmp->negate ? !ret : ret);
+}
+
+/*
+ * Check if a device exists
+ */
+static int device_exists(const char *device)
+{
+ struct stat st;
+
+ if (stat(device, &st) == -1)
+ return 0;
+ if (!S_ISBLK(st.st_mode))
+ return 0;
+ return 1;
+}
+
+static int fs_ignored_type(struct libmnt_fs *fs)
+{
+ const char **ip, *type;
+
+ if (mnt_fs_is_netfs(fs) || mnt_fs_is_pseudofs(fs) || mnt_fs_is_swaparea(fs))
+ return 1;
+
+ type = mnt_fs_get_fstype(fs);
+
+ for(ip = ignored_types; type && *ip; ip++) {
+ if (strcmp(type, *ip) == 0)
+ return 1;
+ }
+
+ return 0;
+}
+
+/* Check if we should ignore this filesystem. */
+static int ignore(struct libmnt_fs *fs)
+{
+ const char **ip, *type;
+ int wanted = 0;
+
+ /*
+ * If the pass number is 0, ignore it.
+ */
+ if (mnt_fs_get_passno(fs) == 0)
+ return 1;
+
+ /*
+ * If this is a bind mount, ignore it.
+ */
+ if (opt_in_list("bind", mnt_fs_get_options(fs))) {
+ warnx(_("%s: skipping bad line in /etc/fstab: "
+ "bind mount with nonzero fsck pass number"),
+ mnt_fs_get_target(fs));
+ return 1;
+ }
+
+ /*
+ * ignore devices that don't exist and have the "nofail" mount option
+ */
+ if (!device_exists(fs_get_device(fs))) {
+ if (opt_in_list("nofail", mnt_fs_get_options(fs))) {
+ if (verbose)
+ printf(_("%s: skipping nonexistent device\n"),
+ fs_get_device(fs));
+ return 1;
+ }
+ if (verbose)
+ printf(_("%s: nonexistent device (\"nofail\" fstab "
+ "option may be used to skip this device)\n"),
+ fs_get_device(fs));
+ }
+
+ fs_interpret_type(fs);
+
+ /*
+ * If a specific fstype is specified, and it doesn't match,
+ * ignore it.
+ */
+ if (!fs_match(fs, &fs_type_compiled))
+ return 1;
+
+ type = mnt_fs_get_fstype(fs);
+ if (!type) {
+ if (verbose)
+ printf(_("%s: skipping unknown filesystem type\n"),
+ fs_get_device(fs));
+ return 1;
+ }
+
+ /* Are we ignoring this type? */
+ if (fs_ignored_type(fs))
+ return 1;
+
+ /* Do we really really want to check this fs? */
+ for(ip = really_wanted; *ip; ip++)
+ if (strcmp(type, *ip) == 0) {
+ wanted = 1;
+ break;
+ }
+
+ /* See if the <fsck.fs> program is available. */
+ if (find_fsck(type) == NULL) {
+ if (wanted)
+ warnx(_("cannot check %s: fsck.%s not found"),
+ fs_get_device(fs), type);
+ return 1;
+ }
+
+ /* We can and want to check this file system type. */
+ return 0;
+}
+
+static int count_slaves(dev_t disk)
+{
+ DIR *dir;
+ struct dirent *dp;
+ char dirname[PATH_MAX];
+ int count = 0;
+
+ snprintf(dirname, sizeof(dirname),
+ "/sys/dev/block/%u:%u/slaves/",
+ major(disk), minor(disk));
+
+ if (!(dir = opendir(dirname)))
+ return -1;
+
+ while ((dp = readdir(dir)) != 0) {
+#ifdef _DIRENT_HAVE_D_TYPE
+ if (dp->d_type != DT_UNKNOWN && dp->d_type != DT_LNK)
+ continue;
+#endif
+ if (dp->d_name[0] == '.' &&
+ ((dp->d_name[1] == 0) ||
+ ((dp->d_name[1] == '.') && (dp->d_name[2] == 0))))
+ continue;
+
+ count++;
+ }
+
+ closedir(dir);
+ return count;
+}
+
+/*
+ * Returns TRUE if a partition on the same disk is already being
+ * checked.
+ */
+static int disk_already_active(struct libmnt_fs *fs)
+{
+ struct fsck_instance *inst;
+ dev_t disk;
+
+ if (force_all_parallel)
+ return 0;
+
+ if (instance_list && fs_is_stacked(instance_list->fs))
+ /* any instance for a stacked device is already running */
+ return 1;
+
+ disk = fs_get_disk(fs, 1);
+
+ /*
+ * If we don't know the base device, assume that the device is
+ * already active if there are any fsck instances running.
+ *
+ * Don't check a stacked device with any other disk too.
+ */
+ if (!disk || fs_is_stacked(fs))
+ return (instance_list != 0);
+
+ for (inst = instance_list; inst; inst = inst->next) {
+ dev_t idisk = fs_get_disk(inst->fs, 0);
+
+ if (!idisk || disk == idisk)
+ return 1;
+ }
+
+ return 0;
+}
+
+/* Check all file systems, using the /etc/fstab table. */
+static int check_all(void)
+{
+ int not_done_yet = 1;
+ int passno = 1;
+ int pass_done;
+ int status = FSCK_EX_OK;
+
+ struct libmnt_fs *fs;
+ struct libmnt_iter *itr = mnt_new_iter(MNT_ITER_FORWARD);
+
+ if (!itr)
+ err(FSCK_EX_ERROR, _("failed to allocate iterator"));
+
+ /*
+ * Do an initial scan over the filesystem; mark filesystems
+ * which should be ignored as done, and resolve any "auto"
+ * filesystem types (done as a side-effect of calling ignore()).
+ */
+ while (mnt_table_next_fs(fstab, itr, &fs) == 0) {
+ if (ignore(fs)) {
+ fs_set_done(fs);
+ continue;
+ }
+ }
+
+ if (verbose)
+ fputs(_("Checking all file systems.\n"), stdout);
+
+ /*
+ * Find and check the root filesystem.
+ */
+ if (!parallel_root) {
+ fs = mnt_table_find_target(fstab, "/", MNT_ITER_FORWARD);
+ if (fs) {
+ if (!skip_root &&
+ !fs_is_done(fs) &&
+ !(ignore_mounted && is_mounted(fs))) {
+ status |= fsck_device(fs, 1);
+ status |= wait_many(FLAG_WAIT_ALL);
+ if (status > FSCK_EX_NONDESTRUCT) {
+ mnt_free_iter(itr);
+ return status;
+ }
+ }
+ fs_set_done(fs);
+ }
+ }
+
+ /*
+ * This is for the bone-headed user who enters the root
+ * filesystem twice. Skip root will skep all root entries.
+ */
+ if (skip_root) {
+ mnt_reset_iter(itr, MNT_ITER_FORWARD);
+
+ while(mnt_table_next_fs(fstab, itr, &fs) == 0) {
+ const char *tgt = mnt_fs_get_target(fs);
+
+ if (tgt && strcmp(tgt, "/") == 0)
+ fs_set_done(fs);
+ }
+ }
+
+ while (not_done_yet) {
+ not_done_yet = 0;
+ pass_done = 1;
+
+ mnt_reset_iter(itr, MNT_ITER_FORWARD);
+
+ while(mnt_table_next_fs(fstab, itr, &fs) == 0) {
+
+ if (cancel_requested)
+ break;
+ if (fs_is_done(fs))
+ continue;
+ /*
+ * If the filesystem's pass number is higher
+ * than the current pass number, then we don't
+ * do it yet.
+ */
+ if (mnt_fs_get_passno(fs) > passno) {
+ not_done_yet++;
+ continue;
+ }
+ if (ignore_mounted && is_mounted(fs)) {
+ fs_set_done(fs);
+ continue;
+ }
+ /*
+ * If a filesystem on a particular device has
+ * already been spawned, then we need to defer
+ * this to another pass.
+ */
+ if (disk_already_active(fs)) {
+ pass_done = 0;
+ continue;
+ }
+ /*
+ * Spawn off the fsck process
+ */
+ status |= fsck_device(fs, serialize);
+ fs_set_done(fs);
+
+ /*
+ * Only do one filesystem at a time, or if we
+ * have a limit on the number of fsck's extant
+ * at one time, apply that limit.
+ */
+ if (serialize ||
+ (max_running && (num_running >= max_running))) {
+ pass_done = 0;
+ break;
+ }
+ }
+ if (cancel_requested)
+ break;
+ if (verbose > 1)
+ printf(_("--waiting-- (pass %d)\n"), passno);
+
+ status |= wait_many(pass_done ? FLAG_WAIT_ALL :
+ FLAG_WAIT_ATLEAST_ONE);
+ if (pass_done) {
+ if (verbose > 1)
+ printf("----------------------------------\n");
+ passno++;
+ } else
+ not_done_yet++;
+ }
+
+ if (cancel_requested && !kill_sent) {
+ kill_all(SIGTERM);
+ kill_sent++;
+ }
+
+ status |= wait_many(FLAG_WAIT_ATLEAST_ONE);
+ mnt_free_iter(itr);
+ return status;
+}
+
+static void __attribute__((__noreturn__)) usage(void)
+{
+ printf(_("\nUsage:\n"
+ " %s [fsck-options] [fs-options] [filesys ...]\n"),
+ program_invocation_short_name);
+
+ puts(_( "\nOptions:\n"
+ " -A check all filesystems\n"
+ " -R skip root filesystem; useful only with `-A'\n"
+ " -M do not check mounted filesystems\n"
+ " -t <type> specify filesystem types to be checked;\n"
+ " type is allowed to be comma-separated list\n"
+ " -P check filesystems in parallel, including root\n"
+ " -r report statistics for each device fsck\n"
+ " -s serialize fsck operations\n"
+ " -l lock the device using flock()\n"
+ " -N do not execute, just show what would be done\n"
+ " -T do not show the title on startup\n"
+ " -C <fd> display progress bar; file descriptor is for GUIs\n"
+ " -V explain what is being done\n"
+ " -? display this help and exit\n\n"
+ "See fsck.* commands for fs-options."));
+
+ exit(FSCK_EX_USAGE);
+}
+
+static void signal_cancel(int sig __attribute__((__unused__)))
+{
+ cancel_requested++;
+}
+
+static void parse_argv(int argc, char *argv[])
+{
+ int i, j;
+ char *arg, *dev, *tmp = 0;
+ char options[128];
+ int opt = 0;
+ int opts_for_fsck = 0;
+ struct sigaction sa;
+
+ /*
+ * Set up signal action
+ */
+ memset(&sa, 0, sizeof(struct sigaction));
+ sa.sa_handler = signal_cancel;
+ sigaction(SIGINT, &sa, 0);
+ sigaction(SIGTERM, &sa, 0);
+
+ num_devices = 0;
+ num_args = 0;
+ instance_list = 0;
+
+ for (i=1; i < argc; i++) {
+ arg = argv[i];
+ if (!arg)
+ continue;
+ if ((arg[0] == '/' && !opts_for_fsck) || strchr(arg, '=')) {
+ if (num_devices >= MAX_DEVICES)
+ errx(FSCK_EX_ERROR, _("too many devices"));
+
+ dev = mnt_resolve_spec(arg, mntcache);
+
+ if (!dev && strchr(arg, '=')) {
+ /*
+ * Check to see if we failed because
+ * /proc/partitions isn't found.
+ */
+ if (access(_PATH_PROC_PARTITIONS, R_OK) < 0) {
+ warn(_("cannot open %s"),
+ _PATH_PROC_PARTITIONS);
+ errx(FSCK_EX_ERROR, _("Is /proc mounted?"));
+ }
+ /*
+ * Check to see if this is because
+ * we're not running as root
+ */
+ if (geteuid())
+ errx(FSCK_EX_ERROR,
+ _("must be root to scan for matching filesystems: %s"),
+ arg);
+ else
+ errx(FSCK_EX_ERROR,
+ _("couldn't find matching filesystem: %s"),
+ arg);
+ }
+ devices[num_devices++] = dev ? dev : xstrdup(arg);
+ continue;
+ }
+ if (arg[0] != '-' || opts_for_fsck) {
+ if (num_args >= MAX_ARGS)
+ errx(FSCK_EX_ERROR, _("too many arguments"));
+ args[num_args++] = xstrdup(arg);
+ continue;
+ }
+ for (j=1; arg[j]; j++) {
+ if (opts_for_fsck) {
+ options[++opt] = arg[j];
+ continue;
+ }
+ switch (arg[j]) {
+ case 'A':
+ doall = 1;
+ break;
+ case 'C':
+ progress = 1;
+ if (arg[j+1]) {
+ progress_fd = string_to_int(arg+j+1);
+ if (progress_fd < 0)
+ progress_fd = 0;
+ else
+ goto next_arg;
+ } else if ((i+1) < argc &&
+ !strncmp(argv[i+1], "-", 1) == 0) {
+ progress_fd = string_to_int(argv[i]);
+ if (progress_fd < 0)
+ progress_fd = 0;
+ else {
+ ++i;
+ goto next_arg;
+ }
+ }
+ break;
+ case 'l':
+ lockdisk = 1;
+ break;
+ case 'V':
+ verbose++;
+ break;
+ case 'N':
+ noexecute = 1;
+ break;
+ case 'R':
+ skip_root = 1;
+ break;
+ case 'T':
+ notitle = 1;
+ break;
+ case 'M':
+ ignore_mounted = 1;
+ break;
+ case 'P':
+ parallel_root = 1;
+ break;
+ case 'r':
+ report_stats = 1;
+ break;
+ case 's':
+ serialize = 1;
+ break;
+ case 't':
+ tmp = 0;
+ if (fstype)
+ usage();
+ if (arg[j+1])
+ tmp = arg+j+1;
+ else if ((i+1) < argc)
+ tmp = argv[++i];
+ else
+ usage();
+ fstype = xstrdup(tmp);
+ compile_fs_type(fstype, &fs_type_compiled);
+ goto next_arg;
+ case '-':
+ opts_for_fsck++;
+ break;
+ case '?':
+ usage();
+ break;
+ default:
+ options[++opt] = arg[j];
+ break;
+ }
+ }
+ next_arg:
+ if (opt) {
+ options[0] = '-';
+ options[++opt] = '\0';
+ if (num_args >= MAX_ARGS)
+ errx(FSCK_EX_ERROR, _("too many arguments"));
+ args[num_args++] = xstrdup(options);
+ opt = 0;
+ }
+ }
+ if (getenv("FSCK_FORCE_ALL_PARALLEL"))
+ force_all_parallel++;
+ if ((tmp = getenv("FSCK_MAX_INST")))
+ max_running = atoi(tmp);
+}
+
+int main(int argc, char *argv[])
+{
+ int i, status = 0;
+ int interactive = 0;
+ char *oldpath = getenv("PATH");
+ struct libmnt_fs *fs;
+
+ setvbuf(stdout, NULL, _IONBF, BUFSIZ);
+ setvbuf(stderr, NULL, _IONBF, BUFSIZ);
+
+ setlocale(LC_MESSAGES, "");
+ setlocale(LC_CTYPE, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ mnt_init_debug(0); /* init libmount debug mask */
+ mntcache = mnt_new_cache(); /* no fatal error if failed */
+
+ parse_argv(argc, argv);
+
+ if (!notitle)
+ printf(_("%s from %s\n"), program_invocation_short_name, PACKAGE_STRING);
+
+ load_fs_info();
+
+ /* Update our search path to include uncommon directories. */
+ if (oldpath) {
+ fsck_path = xmalloc (strlen (fsck_prefix_path) + 1 +
+ strlen (oldpath) + 1);
+ strcpy (fsck_path, fsck_prefix_path);
+ strcat (fsck_path, ":");
+ strcat (fsck_path, oldpath);
+ } else {
+ fsck_path = xstrdup(fsck_prefix_path);
+ }
+
+ if ((num_devices == 1) || (serialize))
+ interactive = 1;
+
+ if (lockdisk && (doall || num_devices > 1)) {
+ warnx(_("the -l option can be used with one "
+ "device only -- ignore"));
+ lockdisk = 0;
+ }
+
+ /* If -A was specified ("check all"), do that! */
+ if (doall)
+ return check_all();
+
+ if (num_devices == 0) {
+ serialize++;
+ interactive++;
+ return check_all();
+ }
+ for (i = 0 ; i < num_devices; i++) {
+ if (cancel_requested) {
+ if (!kill_sent) {
+ kill_all(SIGTERM);
+ kill_sent++;
+ }
+ break;
+ }
+ fs = lookup(devices[i]);
+ if (!fs)
+ fs = add_dummy_fs(devices[i]);
+ else if (fs_ignored_type(fs))
+ continue;
+
+ if (ignore_mounted && is_mounted(fs))
+ continue;
+ status |= fsck_device(fs, interactive);
+ if (serialize ||
+ (max_running && (num_running >= max_running))) {
+ struct fsck_instance *inst;
+
+ inst = wait_one(0);
+ if (inst) {
+ status |= inst->exit_status;
+ free_instance(inst);
+ }
+ if (verbose > 1)
+ printf("----------------------------------\n");
+ }
+ }
+ status |= wait_many(FLAG_WAIT_ALL);
+ free(fsck_path);
+ mnt_free_cache(mntcache);
+ mnt_free_table(fstab);
+ mnt_free_table(mtab);
+ return status;
+}
diff --git a/disk-utils/fsck.cramfs.c b/disk-utils/fsck.cramfs.c
new file mode 100644
index 0000000..04f970f
--- /dev/null
+++ b/disk-utils/fsck.cramfs.c
@@ -0,0 +1,692 @@
+/*
+ * cramfsck - check a cramfs file system
+ *
+ * Copyright (C) 2000-2002 Transmeta Corporation
+ * 2005 Adrian Bunk
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * 1999/12/03: Linus Torvalds (cramfs tester and unarchive program)
+ * 2000/06/03: Daniel Quinlan (CRC and length checking program)
+ * 2000/06/04: Daniel Quinlan (merged programs, added options, support
+ * for special files, preserve permissions and
+ * ownership, cramfs superblock v2, bogus mode
+ * test, pathname length test, etc.)
+ * 2000/06/06: Daniel Quinlan (support for holes, pretty-printing,
+ * symlink size test)
+ * 2000/07/11: Daniel Quinlan (file length tests, start at offset 0 or 512,
+ * fsck-compatible exit codes)
+ * 2000/07/15: Daniel Quinlan (initial support for block devices)
+ * 2002/01/10: Daniel Quinlan (additional checks, test more return codes,
+ * use read if mmap fails, standardize messages)
+ */
+
+/* compile-time options */
+//#define INCLUDE_FS_TESTS /* include cramfs checking and extraction */
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <getopt.h>
+#include <utime.h>
+#include <fcntl.h>
+#include <zlib.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+#include <sys/sysmacros.h> /* for major, minor */
+
+#include "cramfs.h"
+#include "nls.h"
+#include "blkdev.h"
+#include "c.h"
+#include "exitcodes.h"
+#include "closestream.h"
+
+#define XALLOC_EXIT_CODE FSCK_EX_ERROR
+#include "xalloc.h"
+
+static int fd; /* ROM image file descriptor */
+static char *filename; /* ROM image filename */
+struct cramfs_super super; /* just find the cramfs superblock once */
+static int cramfs_is_big_endian = 0; /* source is big endian */
+static int opt_verbose = 0; /* 1 = verbose (-v), 2+ = very verbose (-vv) */
+
+char *extract_dir = ""; /* extraction directory (-x) */
+
+#define PAD_SIZE 512
+
+#ifdef INCLUDE_FS_TESTS
+
+static int opt_extract = 0; /* extract cramfs (-x) */
+
+static uid_t euid; /* effective UID */
+
+/* (cramfs_super + start) <= start_dir < end_dir <= start_data <= end_data */
+static unsigned long start_dir = ~0UL; /* start of first non-root inode */
+static unsigned long end_dir = 0; /* end of the directory structure */
+static unsigned long start_data = ~0UL; /* start of the data (256 MB = max) */
+static unsigned long end_data = 0; /* end of the data */
+
+
+/* Guarantee access to at least 8kB at a time */
+#define ROMBUFFER_BITS 13
+#define ROMBUFFERSIZE (1 << ROMBUFFER_BITS)
+#define ROMBUFFERMASK (ROMBUFFERSIZE - 1)
+static char read_buffer[ROMBUFFERSIZE * 2];
+static unsigned long read_buffer_block = ~0UL;
+
+static z_stream stream;
+
+/* Prototypes */
+static void expand_fs(char *, struct cramfs_inode *);
+#endif /* INCLUDE_FS_TESTS */
+
+static char *outbuffer;
+
+static size_t page_size;
+
+/* Input status of 0 to print help and exit without an error. */
+static void __attribute__((__noreturn__)) usage(int status)
+{
+ FILE *stream = status ? stderr : stdout;
+
+ fputs(USAGE_HEADER, stream);
+ fprintf(stream,
+ _(" %s [options] file\n"), program_invocation_short_name);
+ fputs(USAGE_OPTIONS, stream);
+ fputs(_(" -x, --destination <dir> extract into directory\n"), stream);
+ fputs(_(" -v, --verbose be more verbose\n"), stream);
+ fputs(USAGE_HELP, stream);
+ fputs(USAGE_VERSION, stream);
+ exit(status);
+}
+
+static int get_superblock_endianness(uint32_t magic)
+{
+ if (magic == CRAMFS_MAGIC) {
+ cramfs_is_big_endian = HOST_IS_BIG_ENDIAN;
+ return 0;
+ } else if (magic ==
+ u32_toggle_endianness(!HOST_IS_BIG_ENDIAN, CRAMFS_MAGIC)) {
+ cramfs_is_big_endian = !HOST_IS_BIG_ENDIAN;
+ return 0;
+ } else
+ return -1;
+}
+
+static void test_super(int *start, size_t * length)
+{
+ struct stat st;
+
+ /* find the physical size of the file or block device */
+ if (stat(filename, &st) < 0)
+ err(FSCK_EX_ERROR, _("stat failed %s"), filename);
+
+ fd = open(filename, O_RDONLY);
+ if (fd < 0)
+ err(FSCK_EX_ERROR, _("cannot open %s"), filename);
+
+ if (S_ISBLK(st.st_mode)) {
+ unsigned long long bytes;
+ if (blkdev_get_size(fd, &bytes))
+ err(FSCK_EX_ERROR,
+ _("ioctl failed: unable to determine device size: %s"),
+ filename);
+ *length = bytes;
+ } else if (S_ISREG(st.st_mode))
+ *length = st.st_size;
+ else
+ errx(FSCK_EX_ERROR, _("not a block device or file: %s"), filename);
+
+ if (*length < sizeof(struct cramfs_super))
+ errx(FSCK_EX_UNCORRECTED, _("file length too short"));
+
+ /* find superblock */
+ if (read(fd, &super, sizeof(super)) != sizeof(super))
+ err(FSCK_EX_ERROR, _("read failed: %s"), filename);
+ if (get_superblock_endianness(super.magic) != -1)
+ *start = 0;
+ else if (*length >= (PAD_SIZE + sizeof(super))) {
+ lseek(fd, PAD_SIZE, SEEK_SET);
+ if (read(fd, &super, sizeof(super)) != sizeof(super))
+ err(FSCK_EX_ERROR, _("read failed: %s"), filename);
+ if (get_superblock_endianness(super.magic) != -1)
+ *start = PAD_SIZE;
+ else
+ errx(FSCK_EX_UNCORRECTED, _("superblock magic not found"));
+ } else
+ errx(FSCK_EX_UNCORRECTED, _("superblock magic not found"));
+
+ if (opt_verbose)
+ printf(_("cramfs endianness is %s\n"),
+ cramfs_is_big_endian ? _("big") : _("little"));
+
+ super_toggle_endianness(cramfs_is_big_endian, &super);
+ if (super.flags & ~CRAMFS_SUPPORTED_FLAGS)
+ errx(FSCK_EX_ERROR, _("unsupported filesystem features"));
+
+ if (super.size < page_size)
+ errx(FSCK_EX_UNCORRECTED, _("superblock size (%d) too small"),
+ super.size);
+
+ if (super.flags & CRAMFS_FLAG_FSID_VERSION_2) {
+ if (super.fsid.files == 0)
+ errx(FSCK_EX_UNCORRECTED, _("zero file count"));
+ if (*length < super.size)
+ errx(FSCK_EX_UNCORRECTED, _("file length too short"));
+ else if (*length > super.size)
+ fprintf(stderr,
+ _("warning: file extends past end of filesystem\n"));
+ } else
+ fprintf(stderr, _("warning: old cramfs format\n"));
+}
+
+static void test_crc(int start)
+{
+ void *buf;
+ uint32_t crc;
+
+ if (!(super.flags & CRAMFS_FLAG_FSID_VERSION_2)) {
+#ifdef INCLUDE_FS_TESTS
+ return;
+#else
+ errx(FSCK_EX_USAGE, _("unable to test CRC: old cramfs format"));
+#endif
+ }
+
+ crc = crc32(0L, Z_NULL, 0);
+
+ buf =
+ mmap(NULL, super.size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
+ if (buf == MAP_FAILED) {
+ buf =
+ mmap(NULL, super.size, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ if (buf != MAP_FAILED) {
+ lseek(fd, 0, SEEK_SET);
+ if (read(fd, buf, super.size) < 0)
+ err(FSCK_EX_ERROR, _("read failed: %s"), filename);
+ }
+ }
+ if (buf != MAP_FAILED) {
+ ((struct cramfs_super *)(buf + start))->fsid.crc =
+ crc32(0L, Z_NULL, 0);
+ crc = crc32(crc, buf + start, super.size - start);
+ munmap(buf, super.size);
+ } else {
+ int retval;
+ size_t length = 0;
+
+ buf = xmalloc(4096);
+ lseek(fd, start, SEEK_SET);
+ for (;;) {
+ retval = read(fd, buf, 4096);
+ if (retval < 0)
+ err(FSCK_EX_ERROR, _("read failed: %s"), filename);
+ else if (retval == 0)
+ break;
+ if (length == 0)
+ ((struct cramfs_super *)buf)->fsid.crc =
+ crc32(0L, Z_NULL, 0);
+ length += retval;
+ if (length > (super.size - start)) {
+ crc = crc32(crc, buf,
+ retval - (length -
+ (super.size - start)));
+ break;
+ }
+ crc = crc32(crc, buf, retval);
+ }
+ free(buf);
+ }
+
+ if (crc != super.fsid.crc)
+ errx(FSCK_EX_UNCORRECTED, _("crc error"));
+}
+
+#ifdef INCLUDE_FS_TESTS
+static void print_node(char type, struct cramfs_inode *i, char *name)
+{
+ char info[10];
+
+ if (S_ISCHR(i->mode) || (S_ISBLK(i->mode)))
+ /* major/minor numbers can be as high as 2^12 or 4096 */
+ snprintf(info, 10, "%4d,%4d", major(i->size), minor(i->size));
+ else
+ /* size be as high as 2^24 or 16777216 */
+ snprintf(info, 10, "%9d", i->size);
+
+ printf("%c %04o %s %5d:%-3d %s\n",
+ type, i->mode & ~S_IFMT, info, i->uid, i->gid,
+ !*name && type == 'd' ? "/" : name);
+}
+
+/*
+ * Create a fake "blocked" access
+ */
+static void *romfs_read(unsigned long offset)
+{
+ unsigned int block = offset >> ROMBUFFER_BITS;
+ if (block != read_buffer_block) {
+ read_buffer_block = block;
+ lseek(fd, block << ROMBUFFER_BITS, SEEK_SET);
+ read(fd, read_buffer, ROMBUFFERSIZE * 2);
+ }
+ return read_buffer + (offset & ROMBUFFERMASK);
+}
+
+static struct cramfs_inode *cramfs_iget(struct cramfs_inode *i)
+{
+ struct cramfs_inode *inode = xmalloc(sizeof(struct cramfs_inode));
+
+ inode_to_host(cramfs_is_big_endian, i, inode);
+ return inode;
+}
+
+static struct cramfs_inode *iget(unsigned int ino)
+{
+ return cramfs_iget(romfs_read(ino));
+}
+
+static void iput(struct cramfs_inode *inode)
+{
+ free(inode);
+}
+
+/*
+ * Return the offset of the root directory
+ */
+static struct cramfs_inode *read_super(void)
+{
+ struct cramfs_inode *root = cramfs_iget(&super.root);
+ unsigned long offset = root->offset << 2;
+
+ if (!S_ISDIR(root->mode))
+ errx(FSCK_EX_UNCORRECTED, _("root inode is not directory"));
+ if (!(super.flags & CRAMFS_FLAG_SHIFTED_ROOT_OFFSET) &&
+ ((offset != sizeof(struct cramfs_super)) &&
+ (offset != PAD_SIZE + sizeof(struct cramfs_super)))) {
+ errx(FSCK_EX_UNCORRECTED, _("bad root offset (%lu)"), offset);
+ }
+ return root;
+}
+
+static int uncompress_block(void *src, int len)
+{
+ int err;
+
+ stream.next_in = src;
+ stream.avail_in = len;
+
+ stream.next_out = (unsigned char *)outbuffer;
+ stream.avail_out = page_size * 2;
+
+ inflateReset(&stream);
+
+ if (len > page_size * 2)
+ errx(FSCK_EX_UNCORRECTED, _("data block too large"));
+
+ err = inflate(&stream, Z_FINISH);
+ if (err != Z_STREAM_END)
+ errx(FSCK_EX_UNCORRECTED, _("decompression error %p(%d): %s"),
+ zError(err), src, len);
+ return stream.total_out;
+}
+
+#if !HAVE_LCHOWN
+#define lchown chown
+#endif
+
+static void do_uncompress(char *path, int fd, unsigned long offset,
+ unsigned long size)
+{
+ unsigned long curr = offset + 4 * ((size + page_size - 1) / page_size);
+
+ do {
+ unsigned long out = page_size;
+ unsigned long next = u32_toggle_endianness(cramfs_is_big_endian,
+ *(uint32_t *)
+ romfs_read(offset));
+
+ if (next > end_data)
+ end_data = next;
+
+ offset += 4;
+ if (curr == next) {
+ if (opt_verbose > 1)
+ printf(_(" hole at %ld (%zd)\n"), curr,
+ page_size);
+ if (size < page_size)
+ out = size;
+ memset(outbuffer, 0x00, out);
+ } else {
+ if (opt_verbose > 1)
+ printf(_(" uncompressing block at %ld to %ld (%ld)\n"),
+ curr, next, next - curr);
+ out = uncompress_block(romfs_read(curr), next - curr);
+ }
+ if (size >= page_size) {
+ if (out != page_size)
+ errx(FSCK_EX_UNCORRECTED,
+ _("non-block (%ld) bytes"), out);
+ } else {
+ if (out != size)
+ errx(FSCK_EX_UNCORRECTED,
+ _("non-size (%ld vs %ld) bytes"), out,
+ size);
+ }
+ size -= out;
+ if (opt_extract)
+ if (write(fd, outbuffer, out) < 0)
+ err(FSCK_EX_ERROR, _("write failed: %s"),
+ path);
+ curr = next;
+ } while (size);
+}
+
+static void change_file_status(char *path, struct cramfs_inode *i)
+{
+ struct utimbuf epoch = { 0, 0 };
+
+ if (euid == 0) {
+ if (lchown(path, i->uid, i->gid) < 0)
+ err(FSCK_EX_ERROR, _("lchown failed: %s"), path);
+ if (S_ISLNK(i->mode))
+ return;
+ if (((S_ISUID | S_ISGID) & i->mode) && chmod(path, i->mode) < 0)
+ err(FSCK_EX_ERROR, _("chown failed: %s"), path);
+ }
+ if (S_ISLNK(i->mode))
+ return;
+ if (utime(path, &epoch) < 0)
+ err(FSCK_EX_ERROR, _("utime failed: %s"), path);
+}
+
+static void do_directory(char *path, struct cramfs_inode *i)
+{
+ int pathlen = strlen(path);
+ int count = i->size;
+ unsigned long offset = i->offset << 2;
+ char *newpath = xmalloc(pathlen + 256);
+
+ if (offset == 0 && count != 0)
+ errx(FSCK_EX_UNCORRECTED,
+ _("directory inode has zero offset and non-zero size: %s"),
+ path);
+
+ if (offset != 0 && offset < start_dir)
+ start_dir = offset;
+
+ /* TODO: Do we need to check end_dir for empty case? */
+ memcpy(newpath, path, pathlen);
+ newpath[pathlen] = '/';
+ pathlen++;
+ if (opt_verbose)
+ print_node('d', i, path);
+
+ if (opt_extract) {
+ if (mkdir(path, i->mode) < 0)
+ err(FSCK_EX_ERROR, _("mkdir failed: %s"), path);
+ change_file_status(path, i);
+ }
+ while (count > 0) {
+ struct cramfs_inode *child = iget(offset);
+ int size;
+ int newlen = child->namelen << 2;
+
+ size = sizeof(struct cramfs_inode) + newlen;
+ count -= size;
+
+ offset += sizeof(struct cramfs_inode);
+
+ memcpy(newpath + pathlen, romfs_read(offset), newlen);
+ newpath[pathlen + newlen] = 0;
+ if (newlen == 0)
+ errx(FSCK_EX_UNCORRECTED, _("filename length is zero"));
+ if ((pathlen + newlen) - strlen(newpath) > 3)
+ errx(FSCK_EX_UNCORRECTED, _("bad filename length"));
+ expand_fs(newpath, child);
+
+ offset += newlen;
+
+ if (offset <= start_dir)
+ errx(FSCK_EX_UNCORRECTED, _("bad inode offset"));
+ if (offset > end_dir)
+ end_dir = offset;
+ iput(child); /* free(child) */
+ }
+ free(newpath);
+}
+
+static void do_file(char *path, struct cramfs_inode *i)
+{
+ unsigned long offset = i->offset << 2;
+ int fd = 0;
+
+ if (offset == 0 && i->size != 0)
+ errx(FSCK_EX_UNCORRECTED,
+ _("file inode has zero offset and non-zero size"));
+ if (i->size == 0 && offset != 0)
+ errx(FSCK_EX_UNCORRECTED,
+ _("file inode has zero size and non-zero offset"));
+ if (offset != 0 && offset < start_data)
+ start_data = offset;
+ if (opt_verbose)
+ print_node('f', i, path);
+ if (opt_extract) {
+ fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, i->mode);
+ if (fd < 0)
+ err(FSCK_EX_ERROR, _("cannot open %s"), path);
+ }
+ if (i->size)
+ do_uncompress(path, fd, offset, i->size);
+ if (opt_extract) {
+ close(fd);
+ change_file_status(path, i);
+ }
+}
+
+static void do_symlink(char *path, struct cramfs_inode *i)
+{
+ unsigned long offset = i->offset << 2;
+ unsigned long curr = offset + 4;
+ unsigned long next =
+ u32_toggle_endianness(cramfs_is_big_endian,
+ *(uint32_t *) romfs_read(offset));
+ unsigned long size;
+
+ if (offset == 0)
+ errx(FSCK_EX_UNCORRECTED, _("symbolic link has zero offset"));
+ if (i->size == 0)
+ errx(FSCK_EX_UNCORRECTED, _("symbolic link has zero size"));
+
+ if (offset < start_data)
+ start_data = offset;
+ if (next > end_data)
+ end_data = next;
+
+ size = uncompress_block(romfs_read(curr), next - curr);
+ if (size != i->size)
+ errx(FSCK_EX_UNCORRECTED, _("size error in symlink: %s"), path);
+ outbuffer[size] = 0;
+ if (opt_verbose) {
+ char *str;
+
+ xasprintf(&str, "%s -> %s", path, outbuffer);
+ print_node('l', i, str);
+ if (opt_verbose > 1)
+ printf(_(" uncompressing block at %ld to %ld (%ld)\n"),
+ curr, next, next - curr);
+ free(str);
+ }
+ if (opt_extract) {
+ if (symlink(outbuffer, path) < 0)
+ err(FSCK_EX_ERROR, _("symlink failed: %s"), path);
+ change_file_status(path, i);
+ }
+}
+
+static void do_special_inode(char *path, struct cramfs_inode *i)
+{
+ dev_t devtype = 0;
+ char type;
+
+ if (i->offset)
+ /* no need to shift offset */
+ errx(FSCK_EX_UNCORRECTED,
+ _("special file has non-zero offset: %s"), path);
+
+ if (S_ISCHR(i->mode)) {
+ devtype = i->size;
+ type = 'c';
+ } else if (S_ISBLK(i->mode)) {
+ devtype = i->size;
+ type = 'b';
+ } else if (S_ISFIFO(i->mode)) {
+ if (i->size != 0)
+ errx(FSCK_EX_UNCORRECTED, _("fifo has non-zero size: %s"),
+ path);
+ type = 'p';
+ } else if (S_ISSOCK(i->mode)) {
+ if (i->size != 0)
+ errx(FSCK_EX_UNCORRECTED,
+ _("socket has non-zero size: %s"), path);
+ type = 's';
+ } else {
+ errx(FSCK_EX_UNCORRECTED, _("bogus mode: %s (%o)"), path, i->mode);
+ return; /* not reached */
+ }
+
+ if (opt_verbose)
+ print_node(type, i, path);
+
+ if (opt_extract) {
+ if (mknod(path, i->mode, devtype) < 0)
+ err(FSCK_EX_ERROR, _("mknod failed: %s"), path);
+ change_file_status(path, i);
+ }
+}
+
+static void expand_fs(char *path, struct cramfs_inode *inode)
+{
+ if (S_ISDIR(inode->mode))
+ do_directory(path, inode);
+ else if (S_ISREG(inode->mode))
+ do_file(path, inode);
+ else if (S_ISLNK(inode->mode))
+ do_symlink(path, inode);
+ else
+ do_special_inode(path, inode);
+}
+
+static void test_fs(int start)
+{
+ struct cramfs_inode *root;
+
+ root = read_super();
+ umask(0);
+ euid = geteuid();
+ stream.next_in = NULL;
+ stream.avail_in = 0;
+ inflateInit(&stream);
+ expand_fs(extract_dir, root);
+ inflateEnd(&stream);
+ if (start_data != ~0UL) {
+ if (start_data < (sizeof(struct cramfs_super) + start))
+ errx(FSCK_EX_UNCORRECTED,
+ _("directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"),
+ start_data, sizeof(struct cramfs_super) + start);
+ if (end_dir != start_data)
+ errx(FSCK_EX_UNCORRECTED,
+ _("directory data end (%ld) != file data start (%ld)"),
+ end_dir, start_data);
+ }
+ if (super.flags & CRAMFS_FLAG_FSID_VERSION_2)
+ if (end_data > super.size)
+ errx(FSCK_EX_UNCORRECTED, _("invalid file data offset"));
+
+ iput(root); /* free(root) */
+}
+#endif /* INCLUDE_FS_TESTS */
+
+int main(int argc, char **argv)
+{
+ int c; /* for getopt */
+ int start = 0;
+ size_t length = 0;
+
+ static const struct option longopts[] = {
+ {"destination", required_argument, 0, 'x'},
+ {"verbose", no_argument, 0, 'v'},
+ {"version", no_argument, 0, 'V'},
+ {"help", no_argument, 0, 'h'},
+ {NULL, no_argument, 0, '0'},
+ };
+
+ setlocale(LC_MESSAGES, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ page_size = getpagesize();
+
+ outbuffer = xmalloc(page_size * 2);
+
+ /* command line options */
+ while ((c = getopt_long(argc, argv, "x:vVh", longopts, NULL)) != EOF)
+ switch (c) {
+ case 'h':
+ usage(FSCK_EX_OK);
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'x':
+#ifdef INCLUDE_FS_TESTS
+ opt_extract = 1;
+ extract_dir = optarg;
+ break;
+#else
+ errx(FSCK_EX_USAGE, _("compiled without -x support"));
+#endif
+ case 'v':
+ opt_verbose++;
+ break;
+ default:
+ usage(FSCK_EX_USAGE);
+ }
+
+ if ((argc - optind) != 1)
+ usage(FSCK_EX_USAGE);
+ filename = argv[optind];
+
+ test_super(&start, &length);
+ test_crc(start);
+#ifdef INCLUDE_FS_TESTS
+ test_fs(start);
+#endif
+
+ if (opt_verbose)
+ printf(_("%s: OK\n"), filename);
+
+ exit(FSCK_EX_OK);
+}
diff --git a/disk-utils/fsck.minix.8 b/disk-utils/fsck.minix.8
new file mode 100644
index 0000000..e84b82b
--- /dev/null
+++ b/disk-utils/fsck.minix.8
@@ -0,0 +1,136 @@
+.\" Copyright 1992, 1993, 1994 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be freely distributed.
+.\" " for hilit19
+.TH FSCK 8 "July 1996" "util-linux" "System Administration"
+.SH NAME
+fsck.minix \- check consistency of Minix filesystem
+.SH SYNOPSIS
+.B fsck.minix
+.RB [ \-larvsmf ]
+.I device
+.SH DESCRIPTION
+.B fsck.minix
+performs a consistency check for the Linux MINIX filesystem. The current
+version supports the 14 character and 30 character filename options.
+
+The program
+assumes the filesystem is quiescent.
+.B fsck.minix
+should not be used on a mounted device unless you can be sure nobody is
+writing to it (and remember that the kernel can write to it when it
+searches for files).
+
+The \fIdevice\fR name will usually have the following form:
+.nf
+.RS
+/dev/hda[1-63] (IDE disk 1)
+/dev/hdb[1-63] (IDE disk 2)
+/dev/sda[1-15] (SCSI disk 1)
+/dev/sdb[1-15] (SCSI disk 2)
+.RE
+.fi
+
+If the filesystem was changed (i.e., repaired), then
+.B fsck.minix
+will print "FILE SYSTEM HAS CHANGED" and will
+.BR sync (2)
+three times before exiting. Since Linux does not currently have raw
+devices, there is
+.I no
+need to reboot at this time.
+.SH WARNING
+.B fsck.minix
+should
+.B not
+be used on a mounted filesystem. Using
+.B fsck.minix
+on a mounted filesystem is very dangerous, due to the possibility that
+deleted files are still in use, and can seriously damage a perfectly good
+filesystem! If you absolutely have to run
+.B fsck.minix
+on a mounted filesystem (i.e., the root filesystem), make sure nothing is
+writing to the disk, and that no files are "zombies" waiting for deletion.
+.SH OPTIONS
+.TP
+.B \-l
+List all filenames.
+.TP
+.B \-r
+Perform interactive repairs.
+.TP
+.B \-a
+Perform automatic repairs. (This option implies
+.B \-r
+and serves to answer all of the questions asked with the default.) Note
+that this can be extremely dangerous in the case of extensive filesystem
+damage.
+.TP
+.B \-v
+Be verbose.
+.TP
+.B \-s
+Output super-block information.
+.TP
+.B \-m
+Activate MINIX-like "mode not cleared" warnings.
+.TP
+.B \-f
+Force a filesystem check even if the filesystem was marked as valid (this
+marking is done by the kernel when the filesystem is unmounted).
+.SH "SEE ALSO"
+.BR fsck (8),
+.BR fsck.ext (8),
+.BR fsck.ext2 (8),
+.BR fsck.xiafs (8),
+.BR mkfs (8),
+.BR mkfs.minix (8),
+.BR mkfs.ext (8),
+.BR mkfs.ext2 (8),
+.BR mkfs.xiafs (8),
+.BR reboot (8)
+.SH DIAGNOSTICS
+There are numerous diagnostic messages. The ones mentioned here are the
+most commonly seen in normal usage.
+
+If the device does not exist,
+.B fsck.minix
+will print "unable to read super block". If the device exists, but is not
+a MINIX filesystem,
+.B fsck.minix
+will print "bad magic number in super-block".
+.SH "EXIT CODES"
+The exit code returned by
+.B fsck.minix
+is the sum of the following:
+.IP 0
+No errors
+.IP 3
+Filesystem errors corrected, system should be rebooted if filesystem was
+mounted
+.IP 4
+Filesystem errors left uncorrected
+.IP 8
+Operational error
+.IP 16
+Usage or syntax error
+.PP
+In point of fact, only 0, 3, 4, 7, 8, and 16 can ever be returned.
+.SH AUTHOR
+Linus Torvalds (torvalds@cs.helsinki.fi)
+.br
+Error code values by Rik Faith (faith@cs.unc.edu)
+.br
+Added support for filesystem valid flag: Dr. Wettstein
+(greg%wind.uucp@plains.nodak.edu)
+.br
+Check to prevent fsck of mounted filesystem added by Daniel Quinlan
+(quinlan@yggdrasil.com)
+.br
+Minix v2 fs support by Andreas Schwab
+(schwab@issan.informatik.uni-dortmund.de), updated by Nicolai
+Langfeldt (janl@math.uio.no)
+.br
+Portability patch by Russell King (rmk@ecs.soton.ac.uk).
+.SH AVAILABILITY
+The fsck.minix command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/fsck.minix.c b/disk-utils/fsck.minix.c
new file mode 100644
index 0000000..f24a9f2
--- /dev/null
+++ b/disk-utils/fsck.minix.c
@@ -0,0 +1,1391 @@
+/*
+ * fsck.minix.c - a file system consistency checker for Linux.
+ *
+ * (C) 1991, 1992 Linus Torvalds. This file may be redistributed
+ * as per the GNU copyleft.
+ */
+
+/*
+ * 09.11.91 - made the first rudimetary functions
+ *
+ * 10.11.91 - updated, does checking, no repairs yet.
+ * Sent out to the mailing-list for testing.
+ *
+ * 14.11.91 - Testing seems to have gone well. Added some
+ * correction-code, and changed some functions.
+ *
+ * 15.11.91 - More correction code. Hopefully it notices most
+ * cases now, and tries to do something about them.
+ *
+ * 16.11.91 - More corrections (thanks to Mika Jalava). Most
+ * things seem to work now. Yeah, sure.
+ *
+ *
+ * 19.04.92 - Had to start over again from this old version, as a
+ * kernel bug ate my enhanced fsck in february.
+ *
+ * 28.02.93 - added support for different directory entry sizes..
+ *
+ * Sat Mar 6 18:59:42 1993, faith@cs.unc.edu: Output namelen with
+ * super-block information
+ *
+ * Sat Oct 9 11:17:11 1993, faith@cs.unc.edu: make exit status conform
+ * to that required by fsutil
+ *
+ * Mon Jan 3 11:06:52 1994 - Dr. Wettstein (greg%wind.uucp@plains.nodak.edu)
+ * Added support for file system valid flag. Also
+ * added program_version variable and output of
+ * program name and version number when program
+ * is executed.
+ *
+ * 30.10.94 - added support for v2 filesystem
+ * (Andreas Schwab, schwab@issan.informatik.uni-dortmund.de)
+ *
+ * 10.12.94 - added test to prevent checking of mounted fs adapted
+ * from Theodore Ts'o's (tytso@athena.mit.edu) e2fsck
+ * program. (Daniel Quinlan, quinlan@yggdrasil.com)
+ *
+ * 01.07.96 - Fixed the v2 fs stuff to use the right #defines and such
+ * for modern libcs (janl@math.uio.no, Nicolai Langfeldt)
+ *
+ * 02.07.96 - Added C bit fiddling routines from rmk@ecs.soton.ac.uk
+ * (Russell King). He made them for ARM. It would seem
+ * that the ARM is powerful enough to do this in C whereas
+ * i386 and m64k must use assembly to get it fast >:-)
+ * This should make minix fsck systemindependent.
+ * (janl@math.uio.no, Nicolai Langfeldt)
+ *
+ * 04.11.96 - Added minor fixes from Andreas Schwab to avoid compiler
+ * warnings. Added mc68k bitops from
+ * Joerg Dorchain <dorchain@mpi-sb.mpg.de>.
+ *
+ * 06.11.96 - Added v2 code submitted by Joerg Dorchain, but written by
+ * Andreas Schwab.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 2008-04-06 James Youngman <jay@gnu.org>
+ * - Issue better error message if we fail to open the device.
+ * - Restore terminal state if we get a fatal signal.
+ *
+ *
+ * I've had no time to add comments - hopefully the function names
+ * are comments enough. As with all file system checkers, this assumes
+ * the file system is quiescent - don't use it on a mounted device
+ * unless you can be sure nobody is writing to it (and remember that the
+ * kernel can write to it when it searches for files).
+ *
+ * Usuage: fsck [-larvsm] device
+ * -l for a listing of all the filenames
+ * -a for automatic repairs (not implemented)
+ * -r for repairs (interactive) (not implemented)
+ * -v for verbose (tells how many files)
+ * -s for super-block info
+ * -m for minix-like "mode not cleared" warnings
+ * -f force filesystem check even if filesystem marked as valid
+ *
+ * The device may be a block device or a image of one, but this isn't
+ * enforced (but it's not much fun on a character device :-).
+ */
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <errno.h>
+#include <unistd.h>
+#include <string.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <termios.h>
+#include <mntent.h>
+#include <sys/stat.h>
+#include <signal.h>
+
+#include "c.h"
+#include "exitcodes.h"
+#include "minix_programs.h"
+#include "nls.h"
+#include "pathnames.h"
+#include "bitops.h"
+#include "ismounted.h"
+#include "all-io.h"
+#include "closestream.h"
+
+#define ROOT_INO 1
+#define YESNO_LENGTH 64
+
+/* Global variables used in minix_programs.h inline fuctions */
+int fs_version = 1;
+char *super_block_buffer;
+
+static char *inode_buffer;
+
+#define Inode (((struct minix_inode *) inode_buffer) - 1)
+#define Inode2 (((struct minix2_inode *) inode_buffer) - 1)
+
+static char *device_name;
+static int IN;
+static int repair, automatic, verbose, list, show, warn_mode, force;
+static int directory, regular, blockdev, chardev, links, symlinks, total;
+
+static int changed; /* flags if the filesystem has been changed */
+static int errors_uncorrected; /* flag if some error was not corrected */
+static size_t dirsize = 16;
+static size_t namelen = 14;
+static struct termios termios;
+static volatile sig_atomic_t termios_set;
+
+/* File-name data */
+#define MAX_DEPTH 50
+static int name_depth;
+static char name_list[MAX_DEPTH][MINIX_NAME_MAX + 1];
+
+/* Copy of the previous, just for error reporting - see get_current_name. This
+ * is a waste of 12kB or so. */
+static char current_name[MAX_DEPTH * (MINIX_NAME_MAX + 1) + 1];
+
+#define MAGIC (Super.s_magic)
+
+static unsigned char *inode_count = NULL;
+static unsigned char *zone_count = NULL;
+
+static void recursive_check(unsigned int ino);
+static void recursive_check2(unsigned int ino);
+
+static char *inode_map;
+static char *zone_map;
+
+#define inode_in_use(x) (isset(inode_map,(x)) != 0)
+#define zone_in_use(x) (isset(zone_map,(x)-get_first_zone()+1) != 0)
+
+#define mark_inode(x) (setbit(inode_map,(x)),changed=1)
+#define unmark_inode(x) (clrbit(inode_map,(x)),changed=1)
+
+#define mark_zone(x) (setbit(zone_map,(x)-get_first_zone()+1),changed=1)
+#define unmark_zone(x) (clrbit(zone_map,(x)-get_first_zone()+1),changed=1)
+
+static void
+reset(void) {
+ if (termios_set)
+ tcsetattr(0, TCSANOW, &termios);
+}
+
+static void
+fatalsig(int sig) {
+ /* We received a fatal signal. Reset the terminal. Also reset the
+ * signal handler and re-send the signal, so that the parent process
+ * knows which signal actually caused our death. */
+ signal(sig, SIG_DFL);
+ reset();
+ raise(sig);
+}
+
+static void
+leave(int status) {
+ reset();
+ exit(status);
+}
+
+static void
+usage(void) {
+ fputs(USAGE_HEADER, stderr);
+ fprintf(stderr,
+ _(" %s [options] <device>\n"), program_invocation_short_name);
+ fputs(USAGE_OPTIONS, stderr);
+ fputs(_(" -l list all filenames\n"), stderr);
+ fputs(_(" -a automatic repair\n"), stderr);
+ fputs(_(" -r interactive repair\n"), stderr);
+ fputs(_(" -v be verbose\n"), stderr);
+ fputs(_(" -s output super-block information\n"), stderr);
+ fputs(_(" -m activate mode not cleared warnings\n"), stderr);
+ fputs(_(" -f force check\n"), stderr);
+ fputs(USAGE_SEPARATOR, stderr);
+ fputs(USAGE_VERSION, stderr);
+ fprintf(stderr, USAGE_MAN_TAIL("fsck.minix(8)"));
+ leave(FSCK_EX_USAGE);
+}
+
+static void die(const char *fmt, ...)
+ __attribute__ ((__format__(__printf__, 1, 2)));
+
+static void
+die(const char *fmt, ...) {
+ va_list ap;
+
+ fprintf(stderr, "%s: ", program_invocation_short_name);
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ fputc('\n', stderr);
+ leave(FSCK_EX_ERROR);
+}
+
+/* This simply goes through the file-name data and prints out the current file. */
+static void
+get_current_name(void) {
+ int i = 0, ct;
+ char *p, *q;
+
+ q = current_name;
+ while (i < name_depth) {
+ p = name_list[i++];
+ ct = namelen;
+ *q++ = '/';
+ while (ct-- && *p)
+ *q++ = *p++;
+ }
+ if (i == 0)
+ *q++ = '/';
+ *q = 0;
+}
+
+static int
+ask(const char *string, int def) {
+ int resp;
+ char input[YESNO_LENGTH];
+
+ if (!repair) {
+ printf("\n");
+ errors_uncorrected = 1;
+ return 0;
+ }
+ if (automatic) {
+ printf("\n");
+ if (!def)
+ errors_uncorrected = 1;
+ return def;
+ }
+ /* TRANSLATORS: these yes no questions uses rpmatch(), and should be
+ * translated. */
+ printf(def ? _("%s (y/n)? ") : _("%s (n/y)? "), string);
+ fflush(stdout);
+ ignore_result( fgets(input, YESNO_LENGTH, stdin) );
+ resp = rpmatch(input);
+ switch (resp) {
+ case -1:
+ /* def = def */
+ break;
+ case 0:
+ case 1:
+ def = resp;
+ break;
+ default:
+ /* rpmatch bug? */
+ abort();
+ }
+ if (def)
+ printf(_("y\n"));
+ else {
+ printf(_("n\n"));
+ errors_uncorrected = 1;
+ }
+ return def;
+}
+
+/* Make certain that we aren't checking a filesystem that is on a mounted
+ * partition. Code adapted from e2fsck, Copyright (C) 1993, 1994 Theodore
+ * Ts'o. Also licensed under GPL. */
+static void
+check_mount(void) {
+ int cont;
+
+ if (!is_mounted(device_name))
+ return;
+
+ printf(_("%s is mounted. "), device_name);
+ if (isatty(0) && isatty(1))
+ cont = ask(_("Do you really want to continue"), 0);
+ else
+ cont = 0;
+ if (!cont) {
+ printf(_("check aborted.\n"));
+ exit(FSCK_EX_OK);
+ }
+ return;
+}
+
+/* check_zone_nr checks to see that *nr is a valid zone nr. If it isn't, it
+ * will possibly be repaired. Check_zone_nr sets *corrected if an error was
+ * corrected, and returns the zone (0 for no zone or a bad zone-number). */
+static int
+check_zone_nr(unsigned short *nr, int *corrected) {
+ if (!*nr)
+ return 0;
+
+ if (*nr < get_first_zone()) {
+ get_current_name();
+ printf(_("Zone nr < FIRSTZONE in file `%s'."), current_name);
+ } else if (*nr >= get_nzones()) {
+ get_current_name();
+ printf(_("Zone nr >= ZONES in file `%s'."), current_name);
+ } else
+ return *nr;
+
+ if (ask(_("Remove block"), 1)) {
+ *nr = 0;
+ *corrected = 1;
+ }
+ return 0;
+}
+
+static int
+check_zone_nr2(unsigned int *nr, int *corrected) {
+ if (!*nr)
+ return 0;
+
+ if (*nr < get_first_zone()) {
+ get_current_name();
+ printf(_("Zone nr < FIRSTZONE in file `%s'."), current_name);
+ } else if (*nr >= get_nzones()) {
+ get_current_name();
+ printf(_("Zone nr >= ZONES in file `%s'."), current_name);
+ } else
+ return *nr;
+
+ if (ask(_("Remove block"), 1)) {
+ *nr = 0;
+ *corrected = 1;
+ }
+ return 0;
+}
+
+/* read-block reads block nr into the buffer at addr. */
+static void
+read_block(unsigned int nr, char *addr) {
+ if (!nr) {
+ memset(addr, 0, MINIX_BLOCK_SIZE);
+ return;
+ }
+ if (MINIX_BLOCK_SIZE * nr != lseek(IN, MINIX_BLOCK_SIZE * nr, SEEK_SET)) {
+ get_current_name();
+ printf(_("Read error: unable to seek to block in file '%s'\n"),
+ current_name);
+ memset(addr, 0, MINIX_BLOCK_SIZE);
+ errors_uncorrected = 1;
+ } else if (MINIX_BLOCK_SIZE != read(IN, addr, MINIX_BLOCK_SIZE)) {
+ get_current_name();
+ printf(_("Read error: bad block in file '%s'\n"), current_name);
+ memset(addr, 0, MINIX_BLOCK_SIZE);
+ errors_uncorrected = 1;
+ }
+}
+
+/* write_block writes block nr to disk. */
+static void
+write_block(unsigned int nr, char *addr) {
+ if (!nr)
+ return;
+ if (nr < get_first_zone() || nr >= get_nzones()) {
+ printf(_("Internal error: trying to write bad block\n"
+ "Write request ignored\n"));
+ errors_uncorrected = 1;
+ return;
+ }
+ if (MINIX_BLOCK_SIZE * nr != lseek(IN, MINIX_BLOCK_SIZE * nr, SEEK_SET))
+ die(_("seek failed in write_block"));
+ if (MINIX_BLOCK_SIZE != write(IN, addr, MINIX_BLOCK_SIZE)) {
+ get_current_name();
+ printf(_("Write error: bad block in file '%s'\n"),
+ current_name);
+ errors_uncorrected = 1;
+ }
+}
+
+/* map-block calculates the absolute block nr of a block in a file. It sets
+ * 'changed' if the inode has needed changing, and re-writes any indirect
+ * blocks with errors. */
+static int
+map_block(struct minix_inode *inode, unsigned int blknr) {
+ unsigned short ind[MINIX_BLOCK_SIZE >> 1];
+ unsigned short dind[MINIX_BLOCK_SIZE >> 1];
+ int blk_chg, block, result;
+
+ if (blknr < 7)
+ return check_zone_nr(inode->i_zone + blknr, &changed);
+ blknr -= 7;
+ if (blknr < 512) {
+ block = check_zone_nr(inode->i_zone + 7, &changed);
+ read_block(block, (char *)ind);
+ blk_chg = 0;
+ result = check_zone_nr(blknr + ind, &blk_chg);
+ if (blk_chg)
+ write_block(block, (char *)ind);
+ return result;
+ }
+ blknr -= 512;
+ block = check_zone_nr(inode->i_zone + 8, &changed);
+ read_block(block, (char *)dind);
+ blk_chg = 0;
+ result = check_zone_nr(dind + (blknr / 512), &blk_chg);
+ if (blk_chg)
+ write_block(block, (char *)dind);
+ block = result;
+ read_block(block, (char *)ind);
+ blk_chg = 0;
+ result = check_zone_nr(ind + (blknr % 512), &blk_chg);
+ if (blk_chg)
+ write_block(block, (char *)ind);
+ return result;
+}
+
+static int
+map_block2(struct minix2_inode *inode, unsigned int blknr) {
+ unsigned int ind[MINIX_BLOCK_SIZE >> 2];
+ unsigned int dind[MINIX_BLOCK_SIZE >> 2];
+ unsigned int tind[MINIX_BLOCK_SIZE >> 2];
+ int blk_chg, block, result;
+
+ if (blknr < 7)
+ return check_zone_nr2(inode->i_zone + blknr, &changed);
+ blknr -= 7;
+ if (blknr < 256) {
+ block = check_zone_nr2(inode->i_zone + 7, &changed);
+ read_block(block, (char *)ind);
+ blk_chg = 0;
+ result = check_zone_nr2(blknr + ind, &blk_chg);
+ if (blk_chg)
+ write_block(block, (char *)ind);
+ return result;
+ }
+ blknr -= 256;
+ if (blknr < 256 * 256) {
+ block = check_zone_nr2(inode->i_zone + 8, &changed);
+ read_block(block, (char *)dind);
+ blk_chg = 0;
+ result = check_zone_nr2(dind + blknr / 256, &blk_chg);
+ if (blk_chg)
+ write_block(block, (char *)dind);
+ block = result;
+ read_block(block, (char *)ind);
+ blk_chg = 0;
+ result = check_zone_nr2(ind + blknr % 256, &blk_chg);
+ if (blk_chg)
+ write_block(block, (char *)ind);
+ return result;
+ }
+ blknr -= 256 * 256;
+ block = check_zone_nr2(inode->i_zone + 9, &changed);
+ read_block(block, (char *)tind);
+ blk_chg = 0;
+ result = check_zone_nr2(tind + blknr / (256 * 256), &blk_chg);
+ if (blk_chg)
+ write_block(block, (char *)tind);
+ block = result;
+ read_block(block, (char *)dind);
+ blk_chg = 0;
+ result = check_zone_nr2(dind + (blknr / 256) % 256, &blk_chg);
+ if (blk_chg)
+ write_block(block, (char *)dind);
+ block = result;
+ read_block(block, (char *)ind);
+ blk_chg = 0;
+ result = check_zone_nr2(ind + blknr % 256, &blk_chg);
+ if (blk_chg)
+ write_block(block, (char *)ind);
+ return result;
+}
+
+static void
+write_super_block(void) {
+ /* Set the state of the filesystem based on whether or not there are
+ * uncorrected errors. The filesystem valid flag is unconditionally
+ * set if we get this far. */
+ Super.s_state |= MINIX_VALID_FS;
+ if (errors_uncorrected)
+ Super.s_state |= MINIX_ERROR_FS;
+ else
+ Super.s_state &= ~MINIX_ERROR_FS;
+
+ if (MINIX_BLOCK_SIZE != lseek(IN, MINIX_BLOCK_SIZE, SEEK_SET))
+ die(_("seek failed in write_super_block"));
+ if (MINIX_BLOCK_SIZE != write(IN, super_block_buffer, MINIX_BLOCK_SIZE))
+ die(_("unable to write super-block"));
+ return;
+}
+
+static void
+write_tables(void) {
+ write_super_block();
+ unsigned long buffsz = get_inode_buffer_size();
+ unsigned long imaps = get_nimaps();
+ unsigned long zmaps = get_nzmaps();
+
+ if (write_all(IN, inode_map, imaps * MINIX_BLOCK_SIZE))
+ die(_("Unable to write inode map"));
+
+ if (write_all(IN, zone_map, zmaps * MINIX_BLOCK_SIZE))
+ die(_("Unable to write zone map"));
+
+ if (write_all(IN, inode_buffer, buffsz))
+ die(_("Unable to write inodes"));
+}
+
+static void
+get_dirsize(void) {
+ int block;
+ char blk[MINIX_BLOCK_SIZE];
+ size_t size;
+
+ if (fs_version == 2)
+ block = Inode2[ROOT_INO].i_zone[0];
+ else
+ block = Inode[ROOT_INO].i_zone[0];
+ read_block(block, blk);
+
+ for (size = 16; size < MINIX_BLOCK_SIZE; size <<= 1) {
+ if (strcmp(blk + size + 2, "..") == 0) {
+ dirsize = size;
+ namelen = size - 2;
+ return;
+ }
+ }
+ /* use defaults */
+}
+
+static void
+read_superblock(void) {
+ if (MINIX_BLOCK_SIZE != lseek(IN, MINIX_BLOCK_SIZE, SEEK_SET))
+ die(_("seek failed"));
+
+ super_block_buffer = calloc(1, MINIX_BLOCK_SIZE);
+ if (!super_block_buffer)
+ die(_("unable to alloc buffer for superblock"));
+
+ if (MINIX_BLOCK_SIZE != read(IN, super_block_buffer, MINIX_BLOCK_SIZE))
+ die(_("unable to read super block"));
+ if (MAGIC == MINIX_SUPER_MAGIC) {
+ namelen = 14;
+ dirsize = 16;
+ fs_version = 1;
+ } else if (MAGIC == MINIX_SUPER_MAGIC2) {
+ namelen = 30;
+ dirsize = 32;
+ fs_version = 1;
+ } else if (MAGIC == MINIX2_SUPER_MAGIC) {
+ namelen = 14;
+ dirsize = 16;
+ fs_version = 2;
+ } else if (MAGIC == MINIX2_SUPER_MAGIC2) {
+ namelen = 30;
+ dirsize = 32;
+ fs_version = 2;
+ } else
+ die(_("bad magic number in super-block"));
+ if (get_zone_size() != 0 || MINIX_BLOCK_SIZE != 1024)
+ die(_("Only 1k blocks/zones supported"));
+ if (get_nimaps() * MINIX_BLOCK_SIZE * 8 < get_ninodes() + 1)
+ die(_("bad s_imap_blocks field in super-block"));
+ if (get_nzmaps() * MINIX_BLOCK_SIZE * 8 <
+ get_nzones() - get_first_zone() + 1)
+ die(_("bad s_zmap_blocks field in super-block"));
+}
+
+static void
+read_tables(void) {
+ unsigned long inodes = get_ninodes();
+ unsigned long buffsz = get_inode_buffer_size();
+ unsigned long norm_first_zone = first_zone_data();
+ unsigned long first_zone = get_first_zone();
+ unsigned long zones = get_nzones();
+ unsigned long imaps = get_nimaps();
+ unsigned long zmaps = get_nzmaps();
+ ssize_t rc;
+
+ inode_map = malloc(imaps * MINIX_BLOCK_SIZE);
+ if (!inode_map)
+ die(_("Unable to allocate buffer for inode map"));
+ zone_map = malloc(zmaps * MINIX_BLOCK_SIZE);
+ if (!zone_map)
+ die(_("Unable to allocate buffer for zone map"));
+ inode_buffer = malloc(buffsz);
+ if (!inode_buffer)
+ die(_("Unable to allocate buffer for inodes"));
+ inode_count = calloc(1, inodes + 1);
+ if (!inode_count)
+ die(_("Unable to allocate buffer for inode count"));
+ zone_count = calloc(1, zones);
+ if (!zone_count)
+ die(_("Unable to allocate buffer for zone count"));
+
+ rc = read(IN, inode_map, imaps * MINIX_BLOCK_SIZE);
+ if (rc < 0 || imaps * MINIX_BLOCK_SIZE != (size_t) rc)
+ die(_("Unable to read inode map"));
+
+ rc = read(IN, zone_map, zmaps * MINIX_BLOCK_SIZE);
+ if (rc < 0 || zmaps * MINIX_BLOCK_SIZE != (size_t) rc)
+ die(_("Unable to read zone map"));
+
+ rc = read(IN, inode_buffer, buffsz);
+ if (rc < 0 || buffsz != (size_t) rc)
+ die(_("Unable to read inodes"));
+ if (norm_first_zone != first_zone) {
+ printf(_("Warning: Firstzone != Norm_firstzone\n"));
+ errors_uncorrected = 1;
+ }
+ get_dirsize();
+ if (show) {
+ printf(_("%ld inodes\n"), inodes);
+ printf(_("%ld blocks\n"), zones);
+ printf(_("Firstdatazone=%ld (%ld)\n"), first_zone, norm_first_zone);
+ printf(_("Zonesize=%d\n"), MINIX_BLOCK_SIZE << get_zone_size());
+ printf(_("Maxsize=%ld\n"), get_max_size());
+ printf(_("Filesystem state=%d\n"), Super.s_state);
+ printf(_("namelen=%zd\n\n"), namelen);
+ }
+}
+
+static struct minix_inode *
+get_inode(unsigned int nr) {
+ struct minix_inode *inode;
+
+ if (!nr || nr > get_ninodes())
+ return NULL;
+ total++;
+ inode = Inode + nr;
+ if (!inode_count[nr]) {
+ if (!inode_in_use(nr)) {
+ get_current_name();
+ printf(_("Inode %d marked unused, "
+ "but used for file '%s'\n"), nr, current_name);
+ if (repair) {
+ if (ask(_("Mark in use"), 1))
+ mark_inode(nr);
+ } else {
+ errors_uncorrected = 1;
+ }
+ }
+ if (S_ISDIR(inode->i_mode))
+ directory++;
+ else if (S_ISREG(inode->i_mode))
+ regular++;
+ else if (S_ISCHR(inode->i_mode))
+ chardev++;
+ else if (S_ISBLK(inode->i_mode))
+ blockdev++;
+ else if (S_ISLNK(inode->i_mode))
+ symlinks++;
+ else if (S_ISSOCK(inode->i_mode))
+ ;
+ else if (S_ISFIFO(inode->i_mode))
+ ;
+ else {
+ get_current_name();
+ printf(_("The file `%s' has mode %05o\n"),
+ current_name, inode->i_mode);
+ }
+
+ } else
+ links++;
+ if (!++inode_count[nr]) {
+ printf(_("Warning: inode count too big.\n"));
+ inode_count[nr]--;
+ errors_uncorrected = 1;
+ }
+ return inode;
+}
+
+static struct minix2_inode *
+get_inode2(unsigned int nr) {
+ struct minix2_inode *inode;
+
+ if (!nr || nr > get_ninodes())
+ return NULL;
+ total++;
+ inode = Inode2 + nr;
+ if (!inode_count[nr]) {
+ if (!inode_in_use(nr)) {
+ get_current_name();
+ printf(_("Inode %d marked unused, "
+ "but used for file '%s'\n"), nr, current_name);
+ if (repair) {
+ if (ask(_("Mark in use"), 1))
+ mark_inode(nr);
+ else
+ errors_uncorrected = 1;
+ }
+ }
+ if (S_ISDIR(inode->i_mode))
+ directory++;
+ else if (S_ISREG(inode->i_mode))
+ regular++;
+ else if (S_ISCHR(inode->i_mode))
+ chardev++;
+ else if (S_ISBLK(inode->i_mode))
+ blockdev++;
+ else if (S_ISLNK(inode->i_mode))
+ symlinks++;
+ else if (S_ISSOCK(inode->i_mode)) ;
+ else if (S_ISFIFO(inode->i_mode)) ;
+ else {
+ get_current_name();
+ printf(_("The file `%s' has mode %05o\n"),
+ current_name, inode->i_mode);
+ }
+ } else
+ links++;
+ if (!++inode_count[nr]) {
+ printf(_("Warning: inode count too big.\n"));
+ inode_count[nr]--;
+ errors_uncorrected = 1;
+ }
+ return inode;
+}
+
+static void
+check_root(void) {
+ struct minix_inode *inode = Inode + ROOT_INO;
+
+ if (!inode || !S_ISDIR(inode->i_mode))
+ die(_("root inode isn't a directory"));
+}
+
+static void
+check_root2(void) {
+ struct minix2_inode *inode = Inode2 + ROOT_INO;
+
+ if (!inode || !S_ISDIR(inode->i_mode))
+ die(_("root inode isn't a directory"));
+}
+
+static int
+add_zone(unsigned short *znr, int *corrected) {
+ int block;
+
+ block = check_zone_nr(znr, corrected);
+ if (!block)
+ return 0;
+ if (zone_count[block]) {
+ get_current_name();
+ printf(_("Block has been used before. Now in file `%s'."),
+ current_name);
+ if (ask(_("Clear"), 1)) {
+ *znr = 0;
+ block = 0;
+ *corrected = 1;
+ }
+ }
+ if (!block)
+ return 0;
+ if (!zone_in_use(block)) {
+ get_current_name();
+ printf(_("Block %d in file `%s' is marked not in use."),
+ block, current_name);
+ if (ask(_("Correct"), 1))
+ mark_zone(block);
+ }
+ if (!++zone_count[block])
+ zone_count[block]--;
+ return block;
+}
+
+static int
+add_zone2(unsigned int *znr, int *corrected) {
+ int block;
+
+ block = check_zone_nr2(znr, corrected);
+ if (!block)
+ return 0;
+ if (zone_count[block]) {
+ get_current_name();
+ printf(_("Block has been used before. Now in file `%s'."),
+ current_name);
+ if (ask(_("Clear"), 1)) {
+ *znr = 0;
+ block = 0;
+ *corrected = 1;
+ }
+ }
+ if (!block)
+ return 0;
+ if (!zone_in_use(block)) {
+ get_current_name();
+ printf(_("Block %d in file `%s' is marked not in use."),
+ block, current_name);
+ if (ask(_("Correct"), 1))
+ mark_zone(block);
+ }
+ if (!++zone_count[block])
+ zone_count[block]--;
+ return block;
+}
+
+static void
+add_zone_ind(unsigned short *znr, int *corrected) {
+ static char blk[MINIX_BLOCK_SIZE];
+ int i, chg_blk = 0;
+ int block;
+
+ block = add_zone(znr, corrected);
+ if (!block)
+ return;
+ read_block(block, blk);
+ for (i = 0; i < (MINIX_BLOCK_SIZE >> 1); i++)
+ add_zone(i + (unsigned short *)blk, &chg_blk);
+ if (chg_blk)
+ write_block(block, blk);
+}
+
+static void
+add_zone_ind2(unsigned int *znr, int *corrected) {
+ static char blk[MINIX_BLOCK_SIZE];
+ int i, chg_blk = 0;
+ int block;
+
+ block = add_zone2(znr, corrected);
+ if (!block)
+ return;
+ read_block(block, blk);
+ for (i = 0; i < MINIX_BLOCK_SIZE >> 2; i++)
+ add_zone2(i + (unsigned int *)blk, &chg_blk);
+ if (chg_blk)
+ write_block(block, blk);
+}
+
+static void
+add_zone_dind(unsigned short *znr, int *corrected) {
+ static char blk[MINIX_BLOCK_SIZE];
+ int i, blk_chg = 0;
+ int block;
+
+ block = add_zone(znr, corrected);
+ if (!block)
+ return;
+ read_block(block, blk);
+ for (i = 0; i < (MINIX_BLOCK_SIZE >> 1); i++)
+ add_zone_ind(i + (unsigned short *)blk, &blk_chg);
+ if (blk_chg)
+ write_block(block, blk);
+}
+
+static void
+add_zone_dind2(unsigned int *znr, int *corrected) {
+ static char blk[MINIX_BLOCK_SIZE];
+ int i, blk_chg = 0;
+ int block;
+
+ block = add_zone2(znr, corrected);
+ if (!block)
+ return;
+ read_block(block, blk);
+ for (i = 0; i < MINIX_BLOCK_SIZE >> 2; i++)
+ add_zone_ind2(i + (unsigned int *)blk, &blk_chg);
+ if (blk_chg)
+ write_block(block, blk);
+}
+
+static void
+add_zone_tind2(unsigned int *znr, int *corrected) {
+ static char blk[MINIX_BLOCK_SIZE];
+ int i, blk_chg = 0;
+ int block;
+
+ block = add_zone2(znr, corrected);
+ if (!block)
+ return;
+ read_block(block, blk);
+ for (i = 0; i < MINIX_BLOCK_SIZE >> 2; i++)
+ add_zone_dind2(i + (unsigned int *)blk, &blk_chg);
+ if (blk_chg)
+ write_block(block, blk);
+}
+
+static void
+check_zones(unsigned int i) {
+ struct minix_inode *inode;
+
+ if (!i || i > get_ninodes())
+ return;
+ if (inode_count[i] > 1) /* have we counted this file already? */
+ return;
+ inode = Inode + i;
+ if (!S_ISDIR(inode->i_mode) && !S_ISREG(inode->i_mode) &&
+ !S_ISLNK(inode->i_mode))
+ return;
+ for (i = 0; i < 7; i++)
+ add_zone(i + inode->i_zone, &changed);
+ add_zone_ind(7 + inode->i_zone, &changed);
+ add_zone_dind(8 + inode->i_zone, &changed);
+}
+
+static void
+check_zones2(unsigned int i) {
+ struct minix2_inode *inode;
+
+ if (!i || i > get_ninodes())
+ return;
+ if (inode_count[i] > 1) /* have we counted this file already? */
+ return;
+ inode = Inode2 + i;
+ if (!S_ISDIR(inode->i_mode) && !S_ISREG(inode->i_mode)
+ && !S_ISLNK(inode->i_mode))
+ return;
+ for (i = 0; i < 7; i++)
+ add_zone2(i + inode->i_zone, &changed);
+ add_zone_ind2(7 + inode->i_zone, &changed);
+ add_zone_dind2(8 + inode->i_zone, &changed);
+ add_zone_tind2(9 + inode->i_zone, &changed);
+}
+
+static void
+check_file(struct minix_inode *dir, unsigned int offset) {
+ static char blk[MINIX_BLOCK_SIZE];
+ struct minix_inode *inode;
+ unsigned int ino;
+ char *name;
+ int block;
+
+ block = map_block(dir, offset / MINIX_BLOCK_SIZE);
+ read_block(block, blk);
+ name = blk + (offset % MINIX_BLOCK_SIZE) + 2;
+ ino = *(unsigned short *)(name - 2);
+ if (ino > get_ninodes()) {
+ get_current_name();
+ printf(_("The directory '%s' contains a bad inode number "
+ "for file '%.*s'."), current_name, (int)namelen, name);
+ if (ask(_(" Remove"), 1)) {
+ *(unsigned short *)(name - 2) = 0;
+ write_block(block, blk);
+ }
+ ino = 0;
+ }
+ if (name_depth < MAX_DEPTH)
+ strncpy(name_list[name_depth], name, namelen);
+ name_depth++;
+ inode = get_inode(ino);
+ name_depth--;
+ if (!offset) {
+ if (!inode || strcmp(".", name)) {
+ get_current_name();
+ printf(_("%s: bad directory: '.' isn't first\n"),
+ current_name);
+ errors_uncorrected = 1;
+ } else
+ return;
+ }
+ if (offset == dirsize) {
+ if (!inode || strcmp("..", name)) {
+ get_current_name();
+ printf(_("%s: bad directory: '..' isn't second\n"),
+ current_name);
+ errors_uncorrected = 1;
+ } else
+ return;
+ }
+ if (!inode)
+ return;
+ if (name_depth < MAX_DEPTH)
+ strncpy(name_list[name_depth], name, namelen);
+ name_depth++;
+ if (list) {
+ if (verbose)
+ printf("%6d %07o %3d ", ino,
+ inode->i_mode, inode->i_nlinks);
+ get_current_name();
+ printf("%s", current_name);
+ if (S_ISDIR(inode->i_mode))
+ printf(":\n");
+ else
+ printf("\n");
+ }
+ check_zones(ino);
+ if (inode && S_ISDIR(inode->i_mode))
+ recursive_check(ino);
+ name_depth--;
+ return;
+}
+
+static void
+check_file2(struct minix2_inode *dir, unsigned int offset) {
+ static char blk[MINIX_BLOCK_SIZE];
+ struct minix2_inode *inode;
+ unsigned long ino;
+ char *name;
+ int block;
+
+ block = map_block2(dir, offset / MINIX_BLOCK_SIZE);
+ read_block(block, blk);
+ name = blk + (offset % MINIX_BLOCK_SIZE) + 2;
+ ino = *(unsigned short *)(name - 2);
+ if (ino > get_ninodes()) {
+ get_current_name();
+ printf(_("The directory '%s' contains a bad inode number "
+ "for file '%.*s'."), current_name, (int)namelen, name);
+ if (ask(_(" Remove"), 1)) {
+ *(unsigned short *)(name - 2) = 0;
+ write_block(block, blk);
+ }
+ ino = 0;
+ }
+ if (name_depth < MAX_DEPTH)
+ strncpy(name_list[name_depth], name, namelen);
+ name_depth++;
+ inode = get_inode2(ino);
+ name_depth--;
+ if (!offset) {
+ if (!inode || strcmp(".", name)) {
+ get_current_name();
+ printf(_("%s: bad directory: '.' isn't first\n"),
+ current_name);
+ errors_uncorrected = 1;
+ } else
+ return;
+ }
+ if (offset == dirsize) {
+ if (!inode || strcmp("..", name)) {
+ get_current_name();
+ printf(_("%s: bad directory: '..' isn't second\n"),
+ current_name);
+ errors_uncorrected = 1;
+ } else
+ return;
+ }
+ if (!inode)
+ return;
+ name_depth++;
+ if (list) {
+ if (verbose)
+ printf("%6zd %07o %3d ", ino, inode->i_mode,
+ inode->i_nlinks);
+ get_current_name();
+ printf("%s", current_name);
+ if (S_ISDIR(inode->i_mode))
+ printf(":\n");
+ else
+ printf("\n");
+ }
+ check_zones2(ino);
+ if (inode && S_ISDIR(inode->i_mode))
+ recursive_check2(ino);
+ name_depth--;
+ return;
+}
+
+static void
+recursive_check(unsigned int ino) {
+ struct minix_inode *dir;
+ unsigned int offset;
+
+ dir = Inode + ino;
+ if (!S_ISDIR(dir->i_mode))
+ die(_("internal error"));
+ if (dir->i_size < 2 * dirsize) {
+ get_current_name();
+ printf(_("%s: bad directory: size < 32"), current_name);
+ errors_uncorrected = 1;
+ }
+ for (offset = 0; offset < dir->i_size; offset += dirsize)
+ check_file(dir, offset);
+}
+
+static void
+recursive_check2(unsigned int ino) {
+ struct minix2_inode *dir;
+ unsigned int offset;
+
+ dir = Inode2 + ino;
+ if (!S_ISDIR(dir->i_mode))
+ die(_("internal error"));
+ if (dir->i_size < 2 * dirsize) {
+ get_current_name();
+ printf(_("%s: bad directory: size < 32"), current_name);
+ errors_uncorrected = 1;
+ }
+ for (offset = 0; offset < dir->i_size; offset += dirsize)
+ check_file2(dir, offset);
+}
+
+static int
+bad_zone(int i) {
+ char buffer[1024];
+
+ if (MINIX_BLOCK_SIZE * i != lseek(IN, MINIX_BLOCK_SIZE * i, SEEK_SET))
+ die(_("seek failed in bad_zone"));
+ return (MINIX_BLOCK_SIZE != read(IN, buffer, MINIX_BLOCK_SIZE));
+}
+
+static void
+check_counts(void) {
+ unsigned long i;
+
+ for (i = 1; i <= get_ninodes(); i++) {
+ if (!inode_in_use(i) && Inode[i].i_mode && warn_mode) {
+ printf(_("Inode %lu mode not cleared."), i);
+ if (ask(_("Clear"), 1)) {
+ Inode[i].i_mode = 0;
+ changed = 1;
+ }
+ }
+ if (!inode_count[i]) {
+ if (!inode_in_use(i))
+ continue;
+ printf(_("Inode %lu not used, marked used in the bitmap."), i);
+ if (ask(_("Clear"), 1))
+ unmark_inode(i);
+ continue;
+ }
+ if (!inode_in_use(i)) {
+ printf(_("Inode %lu used, marked unused in the bitmap."), i);
+ if (ask(_("Set"), 1))
+ mark_inode(i);
+ }
+ if (Inode[i].i_nlinks != inode_count[i]) {
+ printf(_("Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."),
+ i, Inode[i].i_mode, Inode[i].i_nlinks,
+ inode_count[i]);
+ if (ask(_("Set i_nlinks to count"), 1)) {
+ Inode[i].i_nlinks = inode_count[i];
+ changed = 1;
+ }
+ }
+ }
+ for (i = get_first_zone(); i < get_nzones(); i++) {
+ if (zone_in_use(i) == zone_count[i])
+ continue;
+ if (!zone_count[i]) {
+ if (bad_zone(i))
+ continue;
+ printf(_("Zone %lu: marked in use, no file uses it."),
+ i);
+ if (ask(_("Unmark"), 1))
+ unmark_zone(i);
+ continue;
+ }
+ if (zone_in_use(i))
+ printf(_("Zone %lu: in use, counted=%d\n"),
+ i, zone_count[i]);
+ else
+ printf(_("Zone %lu: not in use, counted=%d\n"),
+ i, zone_count[i]);
+ }
+}
+
+static void
+check_counts2(void) {
+ unsigned long i;
+
+ for (i = 1; i <= get_ninodes(); i++) {
+ if (!inode_in_use(i) && Inode2[i].i_mode && warn_mode) {
+ printf(_("Inode %lu mode not cleared."), i);
+ if (ask(_("Clear"), 1)) {
+ Inode2[i].i_mode = 0;
+ changed = 1;
+ }
+ }
+ if (!inode_count[i]) {
+ if (!inode_in_use(i))
+ continue;
+ printf(_("Inode %lu not used, marked used in the bitmap."), i);
+ if (ask(_("Clear"), 1))
+ unmark_inode(i);
+ continue;
+ }
+ if (!inode_in_use(i)) {
+ printf(_("Inode %lu used, marked unused in the bitmap."), i);
+ if (ask(_("Set"), 1))
+ mark_inode(i);
+ }
+ if (Inode2[i].i_nlinks != inode_count[i]) {
+ printf(_("Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."),
+ i, Inode2[i].i_mode, Inode2[i].i_nlinks,
+ inode_count[i]);
+ if (ask(_("Set i_nlinks to count"), 1)) {
+ Inode2[i].i_nlinks = inode_count[i];
+ changed = 1;
+ }
+ }
+ }
+ for (i = get_first_zone(); i < get_nzones(); i++) {
+ if (zone_in_use(i) == zone_count[i])
+ continue;
+ if (!zone_count[i]) {
+ if (bad_zone(i))
+ continue;
+ printf(_("Zone %lu: marked in use, no file uses it."),
+ i);
+ if (ask(_("Unmark"), 1))
+ unmark_zone(i);
+ continue;
+ }
+ if (zone_in_use(i))
+ printf(_("Zone %lu: in use, counted=%d\n"),
+ i, zone_count[i]);
+ else
+ printf(_("Zone %lu: not in use, counted=%d\n"),
+ i, zone_count[i]);
+ }
+}
+
+static void
+check(void) {
+ memset(inode_count, 0, (get_ninodes() + 1) * sizeof(*inode_count));
+ memset(zone_count, 0, get_nzones() * sizeof(*zone_count));
+ check_zones(ROOT_INO);
+ recursive_check(ROOT_INO);
+ check_counts();
+}
+
+static void
+check2(void) {
+ memset(inode_count, 0, (get_ninodes() + 1) * sizeof(*inode_count));
+ memset(zone_count, 0, get_nzones() * sizeof(*zone_count));
+ check_zones2(ROOT_INO);
+ recursive_check2(ROOT_INO);
+ check_counts2();
+}
+
+int
+main(int argc, char **argv) {
+ struct termios tmp;
+ int count;
+ int retcode = 0;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc == 2 &&
+ (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
+ printf(UTIL_LINUX_VERSION);
+ exit(FSCK_EX_OK);
+ }
+
+ if (INODE_SIZE * MINIX_INODES_PER_BLOCK != MINIX_BLOCK_SIZE)
+ die(_("bad inode size"));
+ if (INODE2_SIZE * MINIX2_INODES_PER_BLOCK != MINIX_BLOCK_SIZE)
+ die(_("bad v2 inode size"));
+
+ while (argc-- > 1) {
+ argv++;
+ if (argv[0][0] != '-') {
+ if (device_name)
+ usage();
+ else
+ device_name = argv[0];
+ } else
+ while (*++argv[0])
+ switch (argv[0][0]) {
+ case 'l':
+ list = 1;
+ break;
+ case 'a':
+ automatic = 1;
+ repair = 1;
+ break;
+ case 'r':
+ automatic = 0;
+ repair = 1;
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ case 's':
+ show = 1;
+ break;
+ case 'm':
+ warn_mode = 1;
+ break;
+ case 'f':
+ force = 1;
+ break;
+ default:
+ usage();
+ }
+ }
+ if (!device_name)
+ usage();
+ check_mount(); /* trying to check a mounted filesystem? */
+ if (repair && !automatic) {
+ if (!isatty(0) || !isatty(1))
+ die(_("need terminal for interactive repairs"));
+ }
+ IN = open(device_name, repair ? O_RDWR : O_RDONLY);
+ if (IN < 0)
+ die(_("cannot open %s: %s"), device_name, strerror(errno));
+ for (count = 0; count < 3; count++)
+ sync();
+ read_superblock();
+
+ /* Determine whether or not we should continue with the checking. This
+ * is based on the status of the filesystem valid and error flags and
+ * whether or not the -f switch was specified on the command line. */
+ if (!(Super.s_state & MINIX_ERROR_FS) &&
+ (Super.s_state & MINIX_VALID_FS) && !force) {
+ if (repair)
+ printf(_("%s is clean, no check.\n"), device_name);
+ return retcode;
+ } else if (force)
+ printf(_("Forcing filesystem check on %s.\n"), device_name);
+ else if (repair)
+ printf(_("Filesystem on %s is dirty, needs checking.\n"),
+ device_name);
+
+ read_tables();
+
+ /* Restore the terminal state on fatal signals. We don't do this for
+ * SIGALRM, SIGUSR1 or SIGUSR2. */
+ signal(SIGINT, fatalsig);
+ signal(SIGQUIT, fatalsig);
+ signal(SIGTERM, fatalsig);
+
+ if (repair && !automatic) {
+ tcgetattr(0, &termios);
+ tmp = termios;
+ tmp.c_lflag &= ~(ICANON | ECHO);
+ tcsetattr(0, TCSANOW, &tmp);
+ termios_set = 1;
+ }
+
+ if (fs_version == 2) {
+ check_root2();
+ check2();
+ } else {
+ check_root();
+ check();
+ }
+ if (verbose) {
+ unsigned long i, free;
+
+ for (i = 1, free = 0; i <= get_ninodes(); i++)
+ if (!inode_in_use(i))
+ free++;
+ printf(_("\n%6ld inodes used (%ld%%)\n"),
+ (get_ninodes() - free),
+ 100 * (get_ninodes() - free) / get_ninodes());
+ for (i = get_first_zone(), free = 0; i < get_nzones(); i++)
+ if (!zone_in_use(i))
+ free++;
+ printf(_("%6ld zones used (%ld%%)\n"), (get_nzones() - free),
+ 100 * (get_nzones() - free) / get_nzones());
+ printf(_("\n%6d regular files\n"
+ "%6d directories\n"
+ "%6d character device files\n"
+ "%6d block device files\n"
+ "%6d links\n"
+ "%6d symbolic links\n"
+ "------\n"
+ "%6d files\n"),
+ regular, directory, chardev, blockdev,
+ links - 2 * directory + 1, symlinks,
+ total - 2 * directory + 1);
+ }
+ if (changed) {
+ write_tables();
+ printf(_("----------------------------\n"
+ "FILE SYSTEM HAS BEEN CHANGED\n"
+ "----------------------------\n"));
+ for (count = 0; count < 3; count++)
+ sync();
+ } else if (repair)
+ write_super_block();
+
+ if (repair && !automatic)
+ tcsetattr(0, TCSANOW, &termios);
+
+ if (changed)
+ retcode += 3;
+ if (errors_uncorrected)
+ retcode += 4;
+ return retcode;
+}
diff --git a/disk-utils/isosize.8 b/disk-utils/isosize.8
new file mode 100644
index 0000000..6cbc1ff
--- /dev/null
+++ b/disk-utils/isosize.8
@@ -0,0 +1,35 @@
+.TH ISOSIZE 8 "June 2011" "util-linux" "System Administration"
+.SH NAME
+isosize \- output the length of an iso9660 filesystem
+.SH SYNOPSIS
+.B isosize
+.RI [ options ] " iso9660_image_file"
+.SH DESCRIPTION
+.\" Add any additional description here
+.PP
+This command outputs the length of an iso9660 file system that
+is contained in the given file. That file may be a normal file or
+a block device (e.g. /dev/hdd or /dev/sr0). In the absence of
+any switches (and errors) it will output the size of the iso9660
+filesystem in bytes. This can now be a large number (>> 4 GB).
+.SH OPTIONS
+.TP
+.BR \-x , " \-\-sectors"
+Show the block count and block size in human-readable form.
+The output uses the term "sectors" for "blocks".
+.TP
+.BR \-d , " \-\-divisor " \fInumber\fR
+Only has an effect when
+.B \-x
+is not given. The value shown (if no errors)
+is the iso9660 file size in bytes divided by
+.IR number .
+So if
+.I number
+is the block size then the shown value will be the block count.
+.PP
+The size of the file (or block device) holding an iso9660
+filesystem can be marginally larger than the actual size of the
+iso9660 filesystem. One reason for this is that cd writers
+are allowed to add "run out" sectors at the end of an iso9660
+image.
diff --git a/disk-utils/isosize.c b/disk-utils/isosize.c
new file mode 100644
index 0000000..e5defae
--- /dev/null
+++ b/disk-utils/isosize.c
@@ -0,0 +1,219 @@
+/*
+ * isosize.c - Andries Brouwer, 000608
+ *
+ * use header info to find size of iso9660 file system
+ * output a number - useful in scripts
+ *
+ * Synopsis:
+ * isosize [-x] [-d <num>] <filename>
+ * where "-x" gives length in sectors and sector size while
+ * without this argument the size is given in bytes
+ * without "-x" gives length in bytes unless "-d <num>" is
+ * given. In the latter case the length in bytes divided
+ * by <num> is given
+ *
+ * Version 2.03 2000/12/21
+ * - add "-d <num>" option and use long long to fix things > 2 GB
+ * Version 2.02 2000/10/11
+ * - error messages on IO failures [D. Gilbert]
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "nls.h"
+#include "c.h"
+#include "strutils.h"
+#include "closestream.h"
+
+#define ISODCL(from, to) (to - from + 1)
+
+static int isonum_721(unsigned char *p)
+{
+ return ((p[0] & 0xff)
+ | ((p[1] & 0xff) << 8));
+}
+
+static int isonum_722(unsigned char *p)
+{
+ return ((p[1] & 0xff)
+ | ((p[0] & 0xff) << 8));
+}
+
+static int isonum_723(unsigned char *p, int xflag)
+{
+ int le = isonum_721(p);
+ int be = isonum_722(p + 2);
+ if (xflag && le != be)
+ /* translation is useless */
+ warnx("723error: le=%d be=%d", le, be);
+ return (le);
+}
+
+static int isonum_731(unsigned char *p)
+{
+ return ((p[0] & 0xff)
+ | ((p[1] & 0xff) << 8)
+ | ((p[2] & 0xff) << 16)
+ | ((p[3] & 0xff) << 24));
+}
+
+static int isonum_732(unsigned char *p)
+{
+ return ((p[3] & 0xff)
+ | ((p[2] & 0xff) << 8)
+ | ((p[1] & 0xff) << 16)
+ | ((p[0] & 0xff) << 24));
+}
+
+static int isonum_733(unsigned char *p, int xflag)
+{
+ int le = isonum_731(p);
+ int be = isonum_732(p + 4);
+ if (xflag && le != be)
+ /* translation is useless */
+ warn("733error: le=%d be=%d", le, be);
+ return (le);
+}
+
+struct iso_primary_descriptor
+{
+ unsigned char type [ISODCL ( 1, 1)]; /* 711 */
+ unsigned char id [ISODCL ( 2, 6)];
+ unsigned char version [ISODCL ( 7, 7)]; /* 711 */
+ unsigned char unused1 [ISODCL ( 8, 8)];
+ unsigned char system_id [ISODCL ( 9, 40)]; /* auchars */
+ unsigned char volume_id [ISODCL ( 41, 72)]; /* duchars */
+ unsigned char unused2 [ISODCL ( 73, 80)];
+ unsigned char volume_space_size [ISODCL ( 81, 88)]; /* 733 */
+ unsigned char unused3 [ISODCL ( 89, 120)];
+ unsigned char volume_set_size [ISODCL ( 121, 124)]; /* 723 */
+ unsigned char volume_sequence_number [ISODCL ( 125, 128)]; /* 723 */
+ unsigned char logical_block_size [ISODCL ( 129, 132)]; /* 723 */
+ unsigned char path_table_size [ISODCL ( 133, 140)]; /* 733 */
+ unsigned char type_l_path_table [ISODCL ( 141, 144)]; /* 731 */
+ unsigned char opt_type_l_path_table [ISODCL ( 145, 148)]; /* 731 */
+ unsigned char type_m_path_table [ISODCL ( 149, 152)]; /* 732 */
+ unsigned char opt_type_m_path_table [ISODCL ( 153, 156)]; /* 732 */
+ unsigned char root_directory_record [ISODCL ( 157, 190)]; /* 9.1 */
+ unsigned char volume_set_id [ISODCL ( 191, 318)]; /* duchars */
+ unsigned char publisher_id [ISODCL ( 319, 446)]; /* achars */
+ unsigned char preparer_id [ISODCL ( 447, 574)]; /* achars */
+ unsigned char application_id [ISODCL ( 575, 702)]; /* achars */
+ unsigned char copyright_file_id [ISODCL ( 703, 739)]; /* 7.5 dchars */
+ unsigned char abstract_file_id [ISODCL ( 740, 776)]; /* 7.5 dchars */
+ unsigned char bibliographic_file_id [ISODCL ( 777, 813)]; /* 7.5 dchars */
+ unsigned char creation_date [ISODCL ( 814, 830)]; /* 8.4.26.1 */
+ unsigned char modification_date [ISODCL ( 831, 847)]; /* 8.4.26.1 */
+ unsigned char expiration_date [ISODCL ( 848, 864)]; /* 8.4.26.1 */
+ unsigned char effective_date [ISODCL ( 865, 881)]; /* 8.4.26.1 */
+ unsigned char file_structure_version [ISODCL ( 882, 882)]; /* 711 */
+ unsigned char unused4 [ISODCL ( 883, 883)];
+ unsigned char application_data [ISODCL ( 884, 1395)];
+ unsigned char unused5 [ISODCL (1396, 2048)];
+};
+
+static void isosize(char *filenamep, int xflag, long divisor)
+{
+ int fd, nsecs, ssize;
+ struct iso_primary_descriptor ipd;
+
+ if ((fd = open(filenamep, O_RDONLY)) < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), filenamep);
+
+ if (lseek(fd, 16 << 11, 0) == (off_t) - 1)
+ err(EXIT_FAILURE, _("seek error on %s"), filenamep);
+
+ if (read(fd, &ipd, sizeof(ipd)) < 0)
+ err(EXIT_FAILURE, _("read error on %s"), filenamep);
+
+ nsecs = isonum_733(ipd.volume_space_size, xflag);
+ /* isonum_723 returns nowadays always 2048 */
+ ssize = isonum_723(ipd.logical_block_size, xflag);
+
+ if (xflag) {
+ printf(_("sector count: %d, sector size: %d\n"), nsecs, ssize);
+ } else {
+ long long product = nsecs;
+
+ if (divisor == 0)
+ printf("%lld\n", product * ssize);
+ else if (divisor == ssize)
+ printf("%d\n", nsecs);
+ else
+ printf("%lld\n", (product * ssize) / divisor);
+ }
+
+ close(fd);
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fprintf(out, _("\nUsage:\n"
+ " %s [options] iso9660_image_file\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _("\nOptions:\n"
+ " -d, --divisor=NUM divide bytes NUM\n"
+ " -x, --sectors show sector count and size\n"
+ " -V, --version output version information and exit\n"
+ " -H, --help display this help and exit\n\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int j, ct, opt, xflag = 0;
+ long divisor = 0;
+
+ static const struct option longopts[] = {
+ {"divisor", no_argument, 0, 'd'},
+ {"sectors", no_argument, 0, 'x'},
+ {"version", no_argument, 0, 'V'},
+ {"help", no_argument, 0, 'h'},
+ {NULL, 0, 0, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((opt = getopt_long(argc, argv, "d:xVh", longopts, NULL)) != -1)
+ switch (opt) {
+ case 'd':
+ divisor =
+ strtol_or_err(optarg,
+ _("invalid divisor argument"));
+ break;
+ case 'x':
+ xflag = 1;
+ break;
+ case 'V':
+ printf(_("%s (%s)\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ ct = argc - optind;
+
+ if (ct <= 0)
+ usage(stderr);
+
+ for (j = optind; j < argc; j++) {
+ if (ct > 1)
+ printf("%s: ", argv[j]);
+ isosize(argv[j], xflag, divisor);
+ }
+
+ return EXIT_SUCCESS;
+}
diff --git a/disk-utils/minix_programs.h b/disk-utils/minix_programs.h
new file mode 100644
index 0000000..4af1a34
--- /dev/null
+++ b/disk-utils/minix_programs.h
@@ -0,0 +1,118 @@
+#ifndef UTIL_LINUX_MINIX_PROGRAMS_H
+#define UTIL_LINUX_MINIX_PROGRAMS_H
+
+#include "minix.h"
+
+/*
+ * Global variables.
+ */
+extern int fs_version;
+extern char *super_block_buffer;
+
+#define Super (*(struct minix_super_block *) super_block_buffer)
+#define Super3 (*(struct minix3_super_block *) super_block_buffer)
+
+#define INODE_SIZE (sizeof(struct minix_inode))
+#define INODE2_SIZE (sizeof(struct minix2_inode))
+
+#define BITS_PER_BLOCK (MINIX_BLOCK_SIZE << 3)
+
+#define UPPER(size,n) ((size+((n)-1))/(n))
+
+/*
+ * Inline functions.
+ */
+static inline unsigned long get_ninodes(void)
+{
+ switch (fs_version) {
+ case 3:
+ return Super3.s_ninodes;
+ default:
+ return (unsigned long)Super.s_ninodes;
+ }
+}
+
+static inline unsigned long get_nzones(void)
+{
+ switch (fs_version) {
+ case 3:
+ return (unsigned long)Super3.s_zones;
+ case 2:
+ return (unsigned long)Super.s_zones;
+ default:
+ return (unsigned long)Super.s_nzones;
+ }
+}
+
+static inline unsigned long get_nimaps(void)
+{
+ switch (fs_version) {
+ case 3:
+ return (unsigned long)Super3.s_imap_blocks;
+ default:
+ return (unsigned long)Super.s_imap_blocks;
+ }
+}
+
+static inline unsigned long get_nzmaps(void)
+{
+ switch (fs_version) {
+ case 3:
+ return (unsigned long)Super3.s_zmap_blocks;
+ default:
+ return (unsigned long)Super.s_zmap_blocks;
+ }
+}
+
+static inline unsigned long get_first_zone(void)
+{
+ switch (fs_version) {
+ case 3:
+ return (unsigned long)Super3.s_firstdatazone;
+ default:
+ return (unsigned long)Super.s_firstdatazone;
+ }
+}
+
+static inline unsigned long get_zone_size(void)
+{
+ switch (fs_version) {
+ case 3:
+ return (unsigned long)Super3.s_log_zone_size;
+ default:
+ return (unsigned long)Super.s_log_zone_size;
+ }
+}
+
+static inline unsigned long get_max_size(void)
+{
+ switch (fs_version) {
+ case 3:
+ return (unsigned long)Super3.s_max_size;
+ default:
+ return (unsigned long)Super.s_max_size;
+ }
+}
+
+static unsigned long inode_blocks(void)
+{
+ switch (fs_version) {
+ case 3:
+ case 2:
+ return UPPER(get_ninodes(), MINIX2_INODES_PER_BLOCK);
+ default:
+ return UPPER(get_ninodes(), MINIX_INODES_PER_BLOCK);
+ }
+}
+
+static inline unsigned long first_zone_data(void)
+{
+ return 2 + get_nimaps() + get_nzmaps() + inode_blocks();
+}
+
+static inline unsigned long get_inode_buffer_size(void)
+{
+ return inode_blocks() * MINIX_BLOCK_SIZE;
+}
+
+#endif /* UTIL_LINUX_MINIX_PROGRAMS_H */
diff --git a/disk-utils/mkfs.8 b/disk-utils/mkfs.8
new file mode 100644
index 0000000..af9304b
--- /dev/null
+++ b/disk-utils/mkfs.8
@@ -0,0 +1,110 @@
+.\" -*- nroff -*-
+.TH MKFS 8 "June 2011" "util-linux" "System Administration"
+.SH NAME
+mkfs \- build a Linux filesystem
+.SH SYNOPSIS
+.SH SYNOPSIS
+.B mkfs
+.RI [ options ]
+.RB [ \-t
+.IR "type fs-options" ] " device " [ size ]
+.SH DESCRIPTION
+.B mkfs
+is used to build a Linux filesystem on a device, usually
+a hard disk partition. The
+.I device
+argument is either the device name (e.g.
+.IR /dev/hda1 ,
+.IR /dev/sdb2 ),
+or a regular file that shall contain the filesystem. The
+.I size
+argument is the number of blocks to be used for the filesystem.
+.PP
+The exit code returned by
+.B mkfs
+is 0 on success and 1 on failure.
+.PP
+In actuality,
+.B mkfs
+is simply a front-end for the various filesystem builders
+(\fBmkfs.\fIfstype\fR)
+available under Linux.
+The filesystem-specific builder is searched for in a number
+of directories, like perhaps
+.IR /sbin ,
+.IR /sbin/fs ,
+.IR /sbin/fs.d ,
+.IR /etc/fs ,
+.I /etc
+(the precise list is defined at compile time but at least
+contains
+.I /sbin
+and
+.IR /sbin/fs ),
+and finally in the directories
+listed in the PATH environment variable.
+Please see the filesystem-specific builder manual pages for
+further details.
+.SH OPTIONS
+.TP
+.BR \-t , " \-\-type " \fItype\fR
+Specify the \fItype\fR of filesystem to be built.
+If not specified, the default filesystem type
+(currently ext2) is used.
+.TP
+.I fs-options
+Filesystem-specific options to be passed to the real filesystem builder.
+Although not guaranteed, the following options are supported
+by most filesystem builders.
+.TP
+.BR \-V , " \-\-verbose"
+Produce verbose output, including all filesystem-specific commands
+that are executed.
+Specifying this option more than once inhibits execution of any
+filesystem-specific commands.
+This is really only useful for testing.
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit. (Option \fB\-V\fR will display
+version information only when it is the only parameter, otherwise it
+will work as \fB\-\-verbose\fR.)
+.TP
+.BR \-h , " \-\-help"
+Display help and exit.
+.SH BUGS
+All generic options must precede and not be combined with
+filesystem-specific options.
+Some filesystem-specific programs do not support the
+.B -V
+(verbose) option, nor return meaningful exit codes.
+Also, some filesystem-specific programs do not automatically
+detect the device size and require the
+.I size
+parameter to be specified.
+.SH AUTHORS
+David Engel (david@ods.com)
+.br
+Fred N. van Kempen (waltje@uwalt.nl.mugnet.org)
+.br
+Ron Sommeling (sommel@sci.kun.nl)
+.br
+The manual page was shamelessly adapted from Remy Card's version
+for the ext2 filesystem.
+.SH SEE ALSO
+.BR fs (5),
+.BR badblocks (8),
+.BR fsck (8),
+.BR mkdosfs (8),
+.BR mke2fs (8),
+.BR mkfs.bfs (8),
+.BR mkfs.ext2 (8),
+.BR mkfs.ext3 (8),
+.BR mkfs.ext4 (8),
+.BR mkfs.minix (8),
+.BR mkfs.msdos (8),
+.BR mkfs.vfat (8),
+.BR mkfs.xfs (8),
+.BR mkfs.xiafs (8)
+.SH AVAILABILITY
+The mkfs command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/mkfs.bfs.8 b/disk-utils/mkfs.bfs.8
new file mode 100644
index 0000000..c1794e5
--- /dev/null
+++ b/disk-utils/mkfs.bfs.8
@@ -0,0 +1,58 @@
+.\" Copyright 1999 Andries E. Brouwer (aeb@cwi.nl)
+.\" May be freely distributed.
+.TH MKFS.BFS 8 "July 2011" "util-linux" "System Administration"
+.SH NAME
+mkfs.bfs \- make an SCO bfs filesystem
+.SH SYNOPSIS
+.B mkfs.bfs
+.RI [ options ] " device " [ block-count ]
+.SH DESCRIPTION
+.B mkfs.bfs
+creates an SCO bfs filesystem on a block device
+(usually a disk partition or a file accessed via the loop device).
+.PP
+The
+.I block-count
+parameter is the desired size of the filesystem, in blocks.
+If nothing is specified, the entire partition will be used.
+.SH OPTIONS
+.TP
+.BR \-N , " \-\-inodes " \fInumber\fR
+Specify the desired \fInumber\fR of inodes (at most 512).
+If nothing is specified, some default number in the range 48-512 is picked
+depending on the size of the partition.
+.TP
+.BR \-V , " \-\-vname " \fIlabel\fR
+Specify the volume \fIlabel\fR. I have no idea if/where this is used.
+.TP
+.BR \-F , " \-\-fname " \fIname\fR
+Specify the filesystem \fIname\fR. I have no idea if/where this is used.
+.TP
+.BR \-v , " \-\-verbose"
+Explain what is being done.
+.TP
+.B \-c
+This option is silently ignored.
+.TP
+.B \-l
+This option is silently ignored.
+.TP
+.BR \-h , " \-\-help"
+Display help text and exit.
+.TP
+.BR \-V , " \-\-version"
+Output version information and exit.
+Option
+.B \-V
+only works as
+.B \-\-version
+when it is the only option.
+.SH "EXIT CODES"
+The exit code returned by
+.B mkfs.bfs
+is 0 when all went well, and 1 when something went wrong.
+.SH "SEE ALSO"
+.BR mkfs (8).
+.SH AVAILABILITY
+The mkfs.bfs command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/mkfs.bfs.c b/disk-utils/mkfs.bfs.c
new file mode 100644
index 0000000..d83f9e0
--- /dev/null
+++ b/disk-utils/mkfs.bfs.c
@@ -0,0 +1,296 @@
+/*
+ * mkfs.bfs - Create SCO BFS filesystem - aeb, 1999-09-07
+ *
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "blkdev.h"
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "strutils.h"
+#include "xalloc.h"
+
+#define BFS_ROOT_INO 2
+#define BFS_NAMELEN 14
+#define BFS_BLOCKSIZE 512
+#define BFS_SUPER_MAGIC 0x1badface
+
+/* superblock - 512 bytes */
+struct bfssb {
+ unsigned int s_magic;
+ unsigned int s_start; /* byte offset of start of data */
+ unsigned int s_end; /* sizeof(slice)-1 */
+
+ /* for recovery during compaction */
+ int s_from, s_to; /* src and dest block of current transfer */
+ int s_backup_from, s_backup_to;
+
+ /* labels - may well contain garbage */
+ char s_fsname[6];
+ char s_volume[6];
+ char s_pad[472];
+};
+
+/* inode - 64 bytes */
+struct bfsi {
+ unsigned short i_ino;
+ unsigned char i_pad1[2];
+ unsigned long i_first_block;
+ unsigned long i_last_block;
+ unsigned long i_bytes_to_end;
+ unsigned long i_type; /* 1: file, 2: the unique dir */
+ unsigned long i_mode;
+ unsigned long i_uid, i_gid;
+ unsigned long i_nlinks;
+ unsigned long i_atime, i_mtime, i_ctime;
+ unsigned char i_pad2[16];
+};
+
+#define BFS_DIR_TYPE 2
+
+/* directory entry - 16 bytes */
+struct bfsde {
+ unsigned short d_ino;
+ char d_name[BFS_NAMELEN];
+};
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out,
+ _("Usage: %s [options] device [block-count]\n"),
+ program_invocation_short_name);
+ fprintf(out, _("\nOptions:\n"
+ " -N, --inodes=NUM specify desired number of inodes\n"
+ " -V, --vname=NAME specify volume name\n"
+ " -F, --fname=NAME specify file system name\n"
+ " -v, --verbose explain what is being done\n"
+ " -c this option is silently ignored\n"
+ " -l this option is silently ignored\n"
+ " -V, --version output version information and exit\n"
+ " -V as version must be only option\n"
+ " -h, --help display this help and exit\n\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void __attribute__ ((__noreturn__)) print_version(void)
+{
+ printf(_("%s from %s\n"), program_invocation_short_name, PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ char *device, *volume, *fsname;
+ long inodes;
+ unsigned long long total_blocks, ino_bytes, ino_blocks, data_blocks;
+ unsigned long long user_specified_total_blocks = 0;
+ int verbose = 0;
+ int fd;
+ struct bfssb sb;
+ struct bfsi ri;
+ struct bfsde de;
+ struct stat statbuf;
+ time_t now;
+ int c, i, len;
+
+ enum { VERSION_OPTION = CHAR_MAX + 1 };
+ static const struct option longopts[] = {
+ {"inodes", required_argument, NULL, 'N'},
+ {"vname", required_argument, NULL, 'V'},
+ {"fname", required_argument, NULL, 'F'},
+ {"verbose", no_argument, NULL, 'v'},
+ {"version", no_argument, NULL, VERSION_OPTION},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc < 2)
+ usage(stderr);
+
+ if (argc == 2 && !strcmp(argv[1], "-V"))
+ print_version();
+
+ volume = fsname = " "; /* is there a default? */
+ inodes = 0;
+
+ while ((c = getopt_long(argc, argv, "N:V:F:vhcl", longopts, NULL)) != -1) {
+ switch (c) {
+ case 'N':
+ inodes = strtol_or_err(optarg, _("invalid number of inodes"));
+ break;
+
+ case 'V':
+ len = strlen(optarg);
+ if (len <= 0 || len > 6)
+ errx(EXIT_FAILURE, _("volume name too long"));
+ volume = xstrdup(optarg);
+ break;
+
+ case 'F':
+ len = strlen(optarg);
+ if (len <= 0 || len > 6)
+ errx(EXIT_FAILURE, _("fsname name too long"));
+ fsname = xstrdup(optarg);
+ break;
+
+ case 'v':
+ verbose = 1;
+ break;
+
+ case 'c':
+ case 'l':
+ /* when called via mkfs we may get options c,l,v */
+ break;
+
+ case VERSION_OPTION:
+ print_version();
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (optind == argc)
+ usage(stderr);
+
+ device = argv[optind++];
+
+ if (stat(device, &statbuf) < 0)
+ err(EXIT_FAILURE, _("stat failed %s"), device);
+
+ if (!S_ISBLK(statbuf.st_mode))
+ errx(EXIT_FAILURE, _("%s is not a block special device"), device);
+
+ fd = open(device, O_RDWR | O_EXCL);
+ if (fd < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), device);
+
+ if (optind == argc - 1)
+ user_specified_total_blocks =
+ strtou64_or_err(argv[optind], _("invalid block-count"));
+ else if (optind != argc)
+ usage(stderr);
+
+ if (blkdev_get_sectors(fd, &total_blocks) == -1) {
+ if (!user_specified_total_blocks)
+ err(EXIT_FAILURE, _("cannot get size of %s"), device);
+ total_blocks = user_specified_total_blocks;
+ } else if (user_specified_total_blocks) {
+ if (user_specified_total_blocks > total_blocks)
+ errx(EXIT_FAILURE,
+ _("blocks argument too large, max is %llu"),
+ total_blocks);
+ total_blocks = user_specified_total_blocks;
+ }
+
+ if (!inodes) {
+ /* pick some reasonable default */
+ inodes = 8 * (total_blocks / 800);
+ if (inodes < 48)
+ inodes = 48;
+ if (512 < inodes)
+ inodes = 512;
+ } else {
+ /* believe the user */
+ if (512 < inodes)
+ errx(EXIT_FAILURE, _("too many inodes - max is 512"));
+ }
+
+ ino_bytes = inodes * sizeof(struct bfsi);
+ ino_blocks = (ino_bytes + BFS_BLOCKSIZE - 1) / BFS_BLOCKSIZE;
+ data_blocks = total_blocks - ino_blocks - 1;
+
+ /* mimic the behaviour of SCO's mkfs - maybe this limit is needed */
+ if (data_blocks < 32)
+ errx(EXIT_FAILURE,
+ _("not enough space, need at least %llu blocks"),
+ ino_blocks + 33);
+
+ memset(&sb, 0, sizeof(sb));
+ sb.s_magic = BFS_SUPER_MAGIC;
+ sb.s_start = ino_bytes + sizeof(struct bfssb);
+ sb.s_end = total_blocks * BFS_BLOCKSIZE - 1;
+ sb.s_from = sb.s_to = sb.s_backup_from = sb.s_backup_to = -1;
+ memcpy(sb.s_fsname, fsname, 6);
+ memcpy(sb.s_volume, volume, 6);
+
+ if (verbose) {
+ fprintf(stderr, _("Device: %s\n"), device);
+ fprintf(stderr, _("Volume: <%-6s>\n"), volume);
+ fprintf(stderr, _("FSname: <%-6s>\n"), fsname);
+ fprintf(stderr, _("BlockSize: %d\n"), BFS_BLOCKSIZE);
+ if (ino_blocks == 1)
+ fprintf(stderr, _("Inodes: %lu (in 1 block)\n"),
+ inodes);
+ else
+ fprintf(stderr, _("Inodes: %lu (in %llu blocks)\n"),
+ inodes, ino_blocks);
+ fprintf(stderr, _("Blocks: %lld\n"), total_blocks);
+ fprintf(stderr, _("Inode end: %d, Data end: %d\n"),
+ sb.s_start - 1, sb.s_end);
+ }
+
+ if (write(fd, &sb, sizeof(sb)) != sizeof(sb))
+ err(EXIT_FAILURE, _("error writing superblock"));
+
+ memset(&ri, 0, sizeof(ri));
+ ri.i_ino = BFS_ROOT_INO;
+ ri.i_first_block = 1 + ino_blocks;
+ ri.i_last_block = ri.i_first_block +
+ (inodes * sizeof(de) - 1) / BFS_BLOCKSIZE;
+ ri.i_bytes_to_end = ri.i_first_block * BFS_BLOCKSIZE
+ + 2 * sizeof(struct bfsde) - 1;
+ ri.i_type = BFS_DIR_TYPE;
+ ri.i_mode = S_IFDIR | 0755; /* or just 0755 */
+ ri.i_uid = 0;
+ ri.i_gid = 1; /* random */
+ ri.i_nlinks = 2;
+ time(&now);
+ ri.i_atime = now;
+ ri.i_mtime = now;
+ ri.i_ctime = now;
+
+ if (write(fd, &ri, sizeof(ri)) != sizeof(ri))
+ err(EXIT_FAILURE, _("error writing root inode"));
+
+ memset(&ri, 0, sizeof(ri));
+ for (i = 1; i < inodes; i++)
+ if (write(fd, &ri, sizeof(ri)) != sizeof(ri))
+ err(EXIT_FAILURE, _("error writing inode"));
+
+ if (lseek(fd, (1 + ino_blocks) * BFS_BLOCKSIZE, SEEK_SET) == -1)
+ err(EXIT_FAILURE, _("seek error"));
+
+ memset(&de, 0, sizeof(de));
+ de.d_ino = BFS_ROOT_INO;
+ memcpy(de.d_name, ".", 1);
+ if (write(fd, &de, sizeof(de)) != sizeof(de))
+ err(EXIT_FAILURE, _("error writing . entry"));
+
+ memcpy(de.d_name, "..", 2);
+ if (write(fd, &de, sizeof(de)) != sizeof(de))
+ err(EXIT_FAILURE, _("error writing .. entry"));
+
+ if (close(fd) < 0)
+ err(EXIT_FAILURE, _("error closing %s"), device);
+
+ return EXIT_SUCCESS;
+}
diff --git a/disk-utils/mkfs.c b/disk-utils/mkfs.c
new file mode 100644
index 0000000..dc2d2fd
--- /dev/null
+++ b/disk-utils/mkfs.c
@@ -0,0 +1,144 @@
+/*
+ * mkfs A simple generic frontend for the for the mkfs program
+ * under Linux. See the manual page for details.
+ *
+ * Authors: David Engel, <david@ods.com>
+ * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
+ * Ron Sommeling, <sommel@sci.kun.nl>
+ *
+ * Mon Jul 1 18:52:58 1996: janl@math.uio.no (Nicolai Langfeldt):
+ * Incorporated fix by Jonathan Kamens <jik@annex-1-slip-jik.cam.ov.com>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ */
+
+#include <getopt.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "xalloc.h"
+
+#ifndef DEFAULT_FSTYPE
+#define DEFAULT_FSTYPE "ext2"
+#endif
+
+#define SEARCH_PATH "PATH=" FS_SEARCH_PATH
+#define PROGNAME "mkfs.%s"
+
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out,
+ _("Usage: %s [options] [-t type fs-options] device [size]\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _("\nOptions:\n"
+ " -t, --type=TYPE file system type, when undefined ext2 is used\n"
+ " fs-options parameters to real file system builder\n"
+ " device path to a device\n"
+ " size number of blocks on the device\n"
+ " -V, --verbose explain what is done\n"
+ " defining -V more than once will cause a dry-run\n"
+ " -V, --version output version information and exit\n"
+ " -V as version must be only option\n"
+ " -h, --help display this help and exit\n"));
+
+ fprintf(out, _("\nFor more information see mkfs(8).\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void __attribute__ ((__noreturn__)) print_version(void)
+{
+ printf(_("%s (%s)\n"),
+ program_invocation_short_name, PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ char *progname; /* name of executable to be called */
+ char *fstype = NULL;
+ int i, more = 0, verbose = 0;
+ char *oldpath, *newpath;
+
+ enum { VERSION_OPTION = CHAR_MAX + 1 };
+
+ static const struct option longopts[] = {
+ {"type", required_argument, NULL, 't'},
+ {"version", no_argument, NULL, VERSION_OPTION},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc == 2 && !strcmp(argv[1], "-V"))
+ print_version();
+
+ /* Check commandline options. */
+ opterr = 0;
+ while ((more == 0)
+ && ((i = getopt_long(argc, argv, "Vt:h", longopts, NULL))
+ != -1))
+ switch (i) {
+ case 'V':
+ verbose++;
+ break;
+ case 't':
+ fstype = optarg;
+ break;
+ case 'h':
+ usage(stdout);
+ case VERSION_OPTION:
+ print_version();
+ default:
+ optind--;
+ more = 1;
+ break; /* start of specific arguments */
+ }
+ if (optind == argc)
+ usage(stderr);
+
+ /* If -t wasn't specified, use the default */
+ if (fstype == NULL)
+ fstype = DEFAULT_FSTYPE;
+
+ /* Set PATH and program name */
+ oldpath = getenv("PATH");
+ if (!oldpath)
+ oldpath = "/bin";
+
+ newpath = xmalloc(strlen(oldpath) + sizeof(SEARCH_PATH) + 3);
+ sprintf(newpath, "%s:%s\n", SEARCH_PATH, oldpath);
+ putenv(newpath);
+
+ progname = xmalloc(sizeof(PROGNAME) + strlen(fstype) + 1);
+ sprintf(progname, PROGNAME, fstype);
+ argv[--optind] = progname;
+
+ if (verbose) {
+ printf(_("mkfs (%s)\n"), PACKAGE_STRING);
+ i = optind;
+ while (argv[i])
+ printf("%s ", argv[i++]);
+ printf("\n");
+ if (verbose > 1)
+ return EXIT_SUCCESS;
+ }
+
+ /* Execute the program */
+ execvp(progname, argv + optind);
+ perror(progname);
+ return EXIT_FAILURE;
+}
diff --git a/disk-utils/mkfs.cramfs.c b/disk-utils/mkfs.cramfs.c
new file mode 100644
index 0000000..f504a32
--- /dev/null
+++ b/disk-utils/mkfs.cramfs.c
@@ -0,0 +1,913 @@
+/*
+ * mkcramfs - make a cramfs file system
+ *
+ * Copyright (C) 1999-2002 Transmeta Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/*
+ * Old version would die on largish filesystems. Change to mmap the
+ * files one by one instaed of all simultaneously. - aeb, 2002-11-01
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <sys/mman.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <getopt.h>
+#include <zconf.h>
+#include <zlib.h>
+
+#include "c.h"
+#include "cramfs.h"
+#include "closestream.h"
+#include "md5.h"
+#include "nls.h"
+#include "exitcodes.h"
+#include "strutils.h"
+#define XALLOC_EXIT_CODE MKFS_EX_ERROR
+#include "xalloc.h"
+
+/* The kernel only supports PAD_SIZE of 0 and 512. */
+#define PAD_SIZE 512
+
+static int verbose = 0;
+
+static unsigned int blksize; /* settable via -b option */
+static long total_blocks = 0, total_nodes = 1; /* pre-count the root node */
+static int image_length = 0;
+static int cramfs_is_big_endian = 0; /* target is big endian */
+
+/*
+ * If opt_holes is set, then mkcramfs can create explicit holes in the
+ * data, which saves 26 bytes per hole (which is a lot smaller a
+ * saving than for most filesystems).
+ *
+ * Note that kernels up to at least 2.3.39 don't support cramfs holes,
+ * which is why this is turned off by default.
+ */
+static unsigned int opt_edition = 0;
+static int opt_errors = 0;
+static int opt_holes = 0;
+static int opt_pad = 0;
+static char *opt_image = NULL;
+static char *opt_name = NULL;
+
+static int warn_dev = 0;
+static int warn_gid = 0;
+static int warn_namelen = 0;
+static int warn_skip = 0;
+static int warn_size = 0;
+static int warn_uid = 0;
+
+/* entry.flags */
+#define CRAMFS_EFLAG_MD5 1
+#define CRAMFS_EFLAG_INVALID 2
+
+/* In-core version of inode / directory entry. */
+struct entry {
+ /* stats */
+ unsigned char *name;
+ unsigned int mode, size, uid, gid;
+ unsigned char md5sum[MD5LENGTH];
+ unsigned char flags; /* CRAMFS_EFLAG_* */
+
+ /* FS data */
+ char *path;
+ int fd; /* temporarily open files while mmapped */
+ struct entry *same; /* points to other identical file */
+ unsigned int offset; /* pointer to compressed data in archive */
+ unsigned int dir_offset; /* offset of directory entry in archive */
+
+ /* organization */
+ struct entry *child; /* NULL for non-directory and empty dir */
+ struct entry *next;
+};
+
+/*
+ * Width of various bitfields in struct cramfs_inode.
+ * Used only to generate warnings.
+ */
+#define CRAMFS_SIZE_WIDTH 24
+#define CRAMFS_UID_WIDTH 16
+#define CRAMFS_GID_WIDTH 8
+#define CRAMFS_OFFSET_WIDTH 26
+
+/* Input status of 0 to print help and exit without an error. */
+static void
+usage(int status) {
+ FILE *stream = status ? stderr : stdout;
+
+ fprintf(stream,
+ _("usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] "
+ "[-n name] dirname outfile\n"
+ " -h print this help\n"
+ " -v be verbose\n"
+ " -E make all warnings errors "
+ "(non-zero exit status)\n"
+ " -b blksize use this blocksize, must equal page size\n"
+ " -e edition set edition number (part of fsid)\n"
+ " -N endian set cramfs endianness (big|little|host), default host\n"
+ " -i file insert a file image into the filesystem "
+ "(requires >= 2.4.0)\n"
+ " -n name set name of cramfs filesystem\n"
+ " -p pad by %d bytes for boot code\n"
+ " -s sort directory entries (old option, ignored)\n"
+ " -z make explicit holes (requires >= 2.3.39)\n"
+ " dirname root of the filesystem to be compressed\n"
+ " outfile output file\n"),
+ program_invocation_short_name, PAD_SIZE);
+
+ exit(status);
+}
+
+static char *
+do_mmap(char *path, unsigned int size, unsigned int mode){
+ int fd;
+ char *start;
+
+ if (!size)
+ return NULL;
+
+ if (S_ISLNK(mode)) {
+ start = xmalloc(size);
+ if (readlink(path, start, size) < 0) {
+ perror(path);
+ warn_skip = 1;
+ start = NULL;
+ }
+ return start;
+ }
+
+ fd = open(path, O_RDONLY);
+ if (fd < 0) {
+ perror(path);
+ warn_skip = 1;
+ return NULL;
+ }
+
+ start = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0);
+ if (-1 == (int) (long) start)
+ err(MKFS_EX_ERROR, "mmap");
+ close(fd);
+
+ return start;
+}
+
+static void
+do_munmap(char *start, unsigned int size, unsigned int mode){
+ if (S_ISLNK(mode))
+ free(start);
+ else
+ munmap(start, size);
+}
+
+/* compute md5sums, so that we do not have to compare every pair of files */
+static void
+mdfile(struct entry *e) {
+ MD5_CTX ctx;
+ char *start;
+
+ start = do_mmap(e->path, e->size, e->mode);
+ if (start == NULL) {
+ e->flags |= CRAMFS_EFLAG_INVALID;
+ } else {
+ MD5Init(&ctx);
+ MD5Update(&ctx, (unsigned char *) start, e->size);
+ MD5Final(e->md5sum, &ctx);
+
+ do_munmap(start, e->size, e->mode);
+
+ e->flags |= CRAMFS_EFLAG_MD5;
+ }
+}
+
+/* md5 digests are equal; files are almost certainly the same,
+ but just to be sure, do the comparison */
+static int
+identical_file(struct entry *e1, struct entry *e2){
+ char *start1, *start2;
+ int equal;
+
+ start1 = do_mmap(e1->path, e1->size, e1->mode);
+ if (!start1)
+ return 0;
+ start2 = do_mmap(e2->path, e2->size, e2->mode);
+ if (!start2)
+ return 0;
+ equal = !memcmp(start1, start2, e1->size);
+ do_munmap(start1, e1->size, e1->mode);
+ do_munmap(start2, e2->size, e2->mode);
+ return equal;
+}
+
+/*
+ * The longest file name component to allow for in the input directory tree.
+ * Ext2fs (and many others) allow up to 255 bytes. A couple of filesystems
+ * allow longer (e.g. smbfs 1024), but there isn't much use in supporting
+ * >255-byte names in the input directory tree given that such names get
+ * truncated to 255 bytes when written to cramfs.
+ */
+#define MAX_INPUT_NAMELEN 255
+
+static int find_identical_file(struct entry *orig, struct entry *new, loff_t *fslen_ub)
+{
+ if (orig == new)
+ return 1;
+ if (!orig)
+ return 0;
+ if (orig->size == new->size && orig->path) {
+ if (!orig->flags)
+ mdfile(orig);
+ if (!new->flags)
+ mdfile(new);
+
+ if ((orig->flags & CRAMFS_EFLAG_MD5) &&
+ (new->flags & CRAMFS_EFLAG_MD5) &&
+ !memcmp(orig->md5sum, new->md5sum, MD5LENGTH) &&
+ identical_file(orig, new)) {
+ new->same = orig;
+ *fslen_ub -= new->size;
+ return 1;
+ }
+ }
+ return find_identical_file(orig->child, new, fslen_ub) ||
+ find_identical_file(orig->next, new, fslen_ub);
+}
+
+static void eliminate_doubles(struct entry *root, struct entry *orig, loff_t *fslen_ub) {
+ if (orig) {
+ if (orig->size && orig->path)
+ find_identical_file(root,orig, fslen_ub);
+ eliminate_doubles(root,orig->child, fslen_ub);
+ eliminate_doubles(root,orig->next, fslen_ub);
+ }
+}
+
+/*
+ * We define our own sorting function instead of using alphasort which
+ * uses strcoll and changes ordering based on locale information.
+ */
+static int cramsort (const struct dirent **a, const struct dirent **b)
+{
+ return strcmp((*a)->d_name, (*b)->d_name);
+}
+
+static unsigned int parse_directory(struct entry *root_entry, const char *name, struct entry **prev, loff_t *fslen_ub)
+{
+ struct dirent **dirlist;
+ int totalsize = 0, dircount, dirindex;
+ char *path, *endpath;
+ size_t len = strlen(name);
+
+ /* Set up the path. */
+ /* TODO: Reuse the parent's buffer to save memcpy'ing and duplication. */
+ path = xmalloc(len + 1 + MAX_INPUT_NAMELEN + 1);
+ memcpy(path, name, len);
+ endpath = path + len;
+ *endpath = '/';
+ endpath++;
+
+ /* read in the directory and sort */
+ dircount = scandir(name, &dirlist, 0, cramsort);
+
+ if (dircount < 0)
+ err(MKFS_EX_ERROR, _("could not read directory %s"), name);
+
+ /* process directory */
+ for (dirindex = 0; dirindex < dircount; dirindex++) {
+ struct dirent *dirent;
+ struct entry *entry;
+ struct stat st;
+ int size;
+ size_t namelen;
+
+ dirent = dirlist[dirindex];
+
+ /* Ignore "." and ".." - we won't be adding them
+ to the archive */
+ if (dirent->d_name[0] == '.') {
+ if (dirent->d_name[1] == '\0')
+ continue;
+ if (dirent->d_name[1] == '.') {
+ if (dirent->d_name[2] == '\0')
+ continue;
+ }
+ }
+ namelen = strlen(dirent->d_name);
+ if (namelen > MAX_INPUT_NAMELEN)
+ errx(MKFS_EX_ERROR,
+ _("Very long (%zu bytes) filename `%s' found.\n"
+ " Please increase MAX_INPUT_NAMELEN in "
+ "mkcramfs.c and recompile. Exiting."),
+ namelen, dirent->d_name);
+ memcpy(endpath, dirent->d_name, namelen + 1);
+
+ if (lstat(path, &st) < 0) {
+ perror(endpath);
+ warn_skip = 1;
+ continue;
+ }
+ entry = xcalloc(1, sizeof(struct entry));
+ entry->name = (unsigned char *)xstrdup(dirent->d_name);
+ if (namelen > 255) {
+ /* Can't happen when reading from ext2fs. */
+
+ /* TODO: we ought to avoid chopping in half
+ multi-byte UTF8 characters. */
+ entry->name[namelen = 255] = '\0';
+ warn_namelen = 1;
+ }
+ entry->mode = st.st_mode;
+ entry->size = st.st_size;
+ entry->uid = st.st_uid;
+ if (entry->uid >= 1 << CRAMFS_UID_WIDTH)
+ warn_uid = 1;
+ entry->gid = st.st_gid;
+ if (entry->gid >= 1 << CRAMFS_GID_WIDTH)
+ /* TODO: We ought to replace with a default
+ gid instead of truncating; otherwise there
+ are security problems. Maybe mode should
+ be &= ~070. Same goes for uid once Linux
+ supports >16-bit uids. */
+ warn_gid = 1;
+ size = sizeof(struct cramfs_inode) + ((namelen + 3) & ~3);
+ *fslen_ub += size;
+ if (S_ISDIR(st.st_mode)) {
+ entry->size = parse_directory(root_entry, path, &entry->child, fslen_ub);
+ } else if (S_ISREG(st.st_mode)) {
+ entry->path = xstrdup(path);
+ if (entry->size) {
+ if (entry->size >= (1 << CRAMFS_SIZE_WIDTH)) {
+ warn_size = 1;
+ entry->size = (1 << CRAMFS_SIZE_WIDTH) - 1;
+ }
+ }
+ } else if (S_ISLNK(st.st_mode)) {
+ entry->path = xstrdup(path);
+ } else if (S_ISFIFO(st.st_mode) || S_ISSOCK(st.st_mode)) {
+ /* maybe we should skip sockets */
+ entry->size = 0;
+ } else {
+ entry->size = st.st_rdev;
+ if (entry->size & -(1<<CRAMFS_SIZE_WIDTH))
+ warn_dev = 1;
+ }
+
+ if (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode)) {
+ int blocks = ((entry->size - 1) / blksize + 1);
+
+ /* block pointers & data expansion allowance + data */
+ if (entry->size)
+ *fslen_ub += (4+26)*blocks + entry->size + 3;
+ }
+
+ /* Link it into the list */
+ *prev = entry;
+ prev = &entry->next;
+ totalsize += size;
+ }
+ free(path);
+ free(dirlist); /* allocated by scandir() with malloc() */
+ return totalsize;
+}
+
+/* Returns sizeof(struct cramfs_super), which includes the root inode. */
+static unsigned int write_superblock(struct entry *root, char *base, int size)
+{
+ struct cramfs_super *super = (struct cramfs_super *) base;
+ unsigned int offset = sizeof(struct cramfs_super) + image_length;
+
+ if (opt_pad) {
+ offset += opt_pad;
+ }
+
+ super->magic = CRAMFS_MAGIC;
+ super->flags = CRAMFS_FLAG_FSID_VERSION_2 | CRAMFS_FLAG_SORTED_DIRS;
+ if (opt_holes)
+ super->flags |= CRAMFS_FLAG_HOLES;
+ if (image_length > 0)
+ super->flags |= CRAMFS_FLAG_SHIFTED_ROOT_OFFSET;
+ super->size = size;
+ memcpy(super->signature, CRAMFS_SIGNATURE, sizeof(super->signature));
+
+ super->fsid.crc = crc32(0L, Z_NULL, 0);
+ super->fsid.edition = opt_edition;
+ super->fsid.blocks = total_blocks;
+ super->fsid.files = total_nodes;
+
+ memset(super->name, 0x00, sizeof(super->name));
+ if (opt_name)
+ strncpy((char *)super->name, opt_name, sizeof(super->name));
+ else
+ strncpy((char *)super->name, "Compressed", sizeof(super->name));
+
+ super->root.mode = root->mode;
+ super->root.uid = root->uid;
+ super->root.gid = root->gid;
+ super->root.size = root->size;
+ super->root.offset = offset >> 2;
+
+ super_toggle_endianness(cramfs_is_big_endian, super);
+ inode_from_host(cramfs_is_big_endian, &super->root, &super->root);
+
+ return offset;
+}
+
+static void set_data_offset(struct entry *entry, char *base, unsigned long offset)
+{
+ struct cramfs_inode *inode = (struct cramfs_inode *) (base + entry->dir_offset);
+ inode_to_host(cramfs_is_big_endian, inode, inode);
+ if (offset >= (1 << (2 + CRAMFS_OFFSET_WIDTH)))
+ errx(MKFS_EX_ERROR, _("filesystem too big. Exiting."));
+ inode->offset = (offset >> 2);
+ inode_from_host(cramfs_is_big_endian, inode, inode);
+}
+
+
+/*
+ * We do a width-first printout of the directory
+ * entries, using a stack to remember the directories
+ * we've seen.
+ */
+static unsigned int write_directory_structure(struct entry *entry, char *base, unsigned int offset)
+{
+ int stack_entries = 0;
+ int stack_size = 64;
+ struct entry **entry_stack;
+
+ entry_stack = xmalloc(stack_size * sizeof(struct entry *));
+
+ for (;;) {
+ int dir_start = stack_entries;
+ while (entry) {
+ struct cramfs_inode *inode =
+ (struct cramfs_inode *) (base + offset);
+ size_t len = strlen((const char *)entry->name);
+
+ entry->dir_offset = offset;
+
+ inode->mode = entry->mode;
+ inode->uid = entry->uid;
+ inode->gid = entry->gid;
+ inode->size = entry->size;
+ inode->offset = 0;
+ /* Non-empty directories, regfiles and symlinks will
+ write over inode->offset later. */
+
+ offset += sizeof(struct cramfs_inode);
+ total_nodes++; /* another node */
+ memcpy(base + offset, entry->name, len);
+ /* Pad up the name to a 4-byte boundary */
+ while (len & 3) {
+ *(base + offset + len) = '\0';
+ len++;
+ }
+ inode->namelen = len >> 2;
+ offset += len;
+
+ if (verbose)
+ printf(" %s\n", entry->name);
+ if (entry->child) {
+ if (stack_entries >= stack_size) {
+ stack_size *= 2;
+ entry_stack = xrealloc(entry_stack, stack_size * sizeof(struct entry *));
+ }
+ entry_stack[stack_entries] = entry;
+ stack_entries++;
+ }
+ inode_from_host(cramfs_is_big_endian, inode, inode);
+ entry = entry->next;
+ }
+
+ /*
+ * Reverse the order the stack entries pushed during
+ * this directory, for a small optimization of disk
+ * access in the created fs. This change makes things
+ * `ls -UR' order.
+ */
+ {
+ struct entry **lo = entry_stack + dir_start;
+ struct entry **hi = entry_stack + stack_entries;
+ struct entry *tmp;
+
+ while (lo < --hi) {
+ tmp = *lo;
+ *lo++ = *hi;
+ *hi = tmp;
+ }
+ }
+
+ /* Pop a subdirectory entry from the stack, and recurse. */
+ if (!stack_entries)
+ break;
+ stack_entries--;
+ entry = entry_stack[stack_entries];
+
+ set_data_offset(entry, base, offset);
+ if (verbose)
+ printf("'%s':\n", entry->name);
+ entry = entry->child;
+ }
+ free(entry_stack);
+ return offset;
+}
+
+static int is_zero(unsigned char const *begin, unsigned len)
+{
+ if (opt_holes)
+ /* Returns non-zero iff the first LEN bytes from BEGIN are
+ all NULs. */
+ return (len-- == 0 ||
+ (begin[0] == '\0' &&
+ (len-- == 0 ||
+ (begin[1] == '\0' &&
+ (len-- == 0 ||
+ (begin[2] == '\0' &&
+ (len-- == 0 ||
+ (begin[3] == '\0' &&
+ memcmp(begin, begin + 4, len) == 0))))))));
+ else
+ /* Never create holes. */
+ return 0;
+}
+
+/*
+ * One 4-byte pointer per block and then the actual blocked
+ * output. The first block does not need an offset pointer,
+ * as it will start immediately after the pointer block;
+ * so the i'th pointer points to the end of the i'th block
+ * (i.e. the start of the (i+1)'th block or past EOF).
+ *
+ * Note that size > 0, as a zero-sized file wouldn't ever
+ * have gotten here in the first place.
+ */
+static unsigned int
+do_compress(char *base, unsigned int offset, unsigned char const *name,
+ char *path, unsigned int size, unsigned int mode)
+{
+ unsigned long original_size, original_offset, new_size, blocks, curr;
+ long change;
+ char *start;
+ Bytef *p;
+
+ /* get uncompressed data */
+ start = do_mmap(path, size, mode);
+ if (start == NULL)
+ return offset;
+ p = (Bytef *) start;
+
+ original_size = size;
+ original_offset = offset;
+ blocks = (size - 1) / blksize + 1;
+ curr = offset + 4 * blocks;
+
+ total_blocks += blocks;
+
+ do {
+ uLongf len = 2 * blksize;
+ uLongf input = size;
+ if (input > blksize)
+ input = blksize;
+ size -= input;
+ if (!is_zero (p, input)) {
+ compress((Bytef *)(base + curr), &len, p, input);
+ curr += len;
+ }
+ p += input;
+
+ if (len > blksize*2) {
+ /* (I don't think this can happen with zlib.) */
+ printf(_("AIEEE: block \"compressed\" to > "
+ "2*blocklength (%ld)\n"),
+ len);
+ exit(MKFS_EX_ERROR);
+ }
+
+ *(uint32_t *) (base + offset) = u32_toggle_endianness(cramfs_is_big_endian, curr);
+ offset += 4;
+ } while (size);
+
+ do_munmap(start, original_size, mode);
+
+ curr = (curr + 3) & ~3;
+ new_size = curr - original_offset;
+ /* TODO: Arguably, original_size in these 2 lines should be
+ st_blocks * 512. But if you say that, then perhaps
+ administrative data should also be included in both. */
+ change = new_size - original_size;
+ if (verbose)
+ printf(_("%6.2f%% (%+ld bytes)\t%s\n"),
+ (change * 100) / (double) original_size, change, name);
+
+ return curr;
+}
+
+
+/*
+ * Traverse the entry tree, writing data for every item that has
+ * non-null entry->path (i.e. every symlink and non-empty
+ * regfile).
+ */
+static unsigned int
+write_data(struct entry *entry, char *base, unsigned int offset) {
+ struct entry *e;
+
+ for (e = entry; e; e = e->next) {
+ if (e->path) {
+ if (e->same) {
+ set_data_offset(e, base, e->same->offset);
+ e->offset = e->same->offset;
+ } else if (e->size) {
+ set_data_offset(e, base, offset);
+ e->offset = offset;
+ offset = do_compress(base, offset, e->name,
+ e->path, e->size,e->mode);
+ }
+ } else if (e->child)
+ offset = write_data(e->child, base, offset);
+ }
+ return offset;
+}
+
+static unsigned int write_file(char *file, char *base, unsigned int offset)
+{
+ int fd;
+ char *buf;
+
+ fd = open(file, O_RDONLY);
+ if (fd < 0)
+ err(MKFS_EX_ERROR, _("cannot open %s"), file);
+ buf = mmap(NULL, image_length, PROT_READ, MAP_PRIVATE, fd, 0);
+ memcpy(base + offset, buf, image_length);
+ munmap(buf, image_length);
+ if (close (fd) < 0)
+ err(MKFS_EX_ERROR, _("cannot close file %s"), file);
+ /* Pad up the image_length to a 4-byte boundary */
+ while (image_length & 3) {
+ *(base + offset + image_length) = '\0';
+ image_length++;
+ }
+ return (offset + image_length);
+}
+
+/*
+ * Maximum size fs you can create is roughly 256MB. (The last file's
+ * data must begin within 256MB boundary but can extend beyond that.)
+ *
+ * Note that if you want it to fit in a ROM then you're limited to what the
+ * hardware and kernel can support (64MB?).
+ */
+static unsigned int
+maxfslen(void) {
+ return (((1 << CRAMFS_OFFSET_WIDTH) - 1) << 2) /* offset */
+ + (1 << CRAMFS_SIZE_WIDTH) - 1 /* filesize */
+ + (1 << CRAMFS_SIZE_WIDTH) * 4 / blksize; /* block pointers */
+}
+
+/*
+ * Usage:
+ *
+ * mkcramfs directory-name outfile
+ *
+ * where "directory-name" is simply the root of the directory
+ * tree that we want to generate a compressed filesystem out
+ * of.
+ */
+int main(int argc, char **argv)
+{
+ struct stat st; /* used twice... */
+ struct entry *root_entry;
+ char *rom_image;
+ ssize_t offset, written;
+ int fd;
+ /* initial guess (upper-bound) of required filesystem size */
+ loff_t fslen_ub = sizeof(struct cramfs_super);
+ unsigned int fslen_max;
+ char const *dirname, *outfile;
+ uint32_t crc = crc32(0L, Z_NULL, 0);
+ int c;
+ cramfs_is_big_endian = HOST_IS_BIG_ENDIAN; /* default is to use host order */
+
+ blksize = getpagesize();
+ total_blocks = 0;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ /* command line options */
+ while ((c = getopt(argc, argv, "hb:Ee:i:n:N:psVvz")) != EOF) {
+ switch (c) {
+ case 'h':
+ usage(MKFS_EX_OK);
+ case 'b':
+ blksize = strtou32_or_err(optarg, _("invalid blocksize argument"));
+ break;
+ case 'E':
+ opt_errors = 1;
+ break;
+ case 'e':
+ opt_edition = strtou32_or_err(optarg, _("edition number argument failed"));
+ break;
+ case 'N':
+ if (strcmp(optarg, "big") == 0)
+ cramfs_is_big_endian = 1;
+ else if (strcmp(optarg, "little") == 0)
+ cramfs_is_big_endian = 0;
+ else if (strcmp(optarg, "host") == 0)
+ /* default */ ;
+ else
+ errx(MKFS_EX_USAGE, _("invalid endianness given."
+ " Must be 'big', 'little', or 'host'"));
+ break;
+ case 'i':
+ opt_image = optarg;
+ if (lstat(opt_image, &st) < 0)
+ err(MKFS_EX_USAGE, _("stat failed %s"), opt_image);
+ image_length = st.st_size; /* may be padded later */
+ fslen_ub += (image_length + 3); /* 3 is for padding */
+ break;
+ case 'n':
+ opt_name = optarg;
+ break;
+ case 'p':
+ opt_pad = PAD_SIZE;
+ fslen_ub += PAD_SIZE;
+ break;
+ case 's':
+ /* old option, ignored */
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name, PACKAGE_STRING);
+ exit(MKFS_EX_OK);
+ case 'v':
+ verbose = 1;
+ break;
+ case 'z':
+ opt_holes = 1;
+ break;
+ default:
+ usage(FSCK_EX_USAGE);
+ }
+ }
+
+ if ((argc - optind) != 2)
+ usage(MKFS_EX_USAGE);
+ dirname = argv[optind];
+ outfile = argv[optind + 1];
+
+ if (stat(dirname, &st) < 0)
+ err(MKFS_EX_USAGE, _("stat failed %s"), dirname);
+ fd = open(outfile, O_WRONLY | O_CREAT | O_TRUNC, 0666);
+ if (fd < 0)
+ err(MKFS_EX_USAGE, _("cannot open %s"), outfile);
+
+ root_entry = xcalloc(1, sizeof(struct entry));
+ root_entry->mode = st.st_mode;
+ root_entry->uid = st.st_uid;
+ root_entry->gid = st.st_gid;
+
+ root_entry->size = parse_directory(root_entry, dirname, &root_entry->child, &fslen_ub);
+
+ /* find duplicate files */
+ eliminate_doubles(root_entry,root_entry, &fslen_ub);
+
+ /* always allocate a multiple of blksize bytes because that's
+ what we're going to write later on */
+ fslen_ub = ((fslen_ub - 1) | (blksize - 1)) + 1;
+ fslen_max = maxfslen();
+
+ if (fslen_ub > fslen_max) {
+ warnx( _("warning: guestimate of required size (upper bound) "
+ "is %lldMB, but maximum image size is %uMB. "
+ "We might die prematurely."),
+ (long long)fslen_ub >> 20,
+ fslen_max >> 20);
+ fslen_ub = fslen_max;
+ }
+
+ /* TODO: Why do we use a private/anonymous mapping here
+ followed by a write below, instead of just a shared mapping
+ and a couple of ftruncate calls? Is it just to save us
+ having to deal with removing the file afterwards? If we
+ really need this huge anonymous mapping, we ought to mmap
+ in smaller chunks, so that the user doesn't need nn MB of
+ RAM free. If the reason is to be able to write to
+ un-mmappable block devices, then we could try shared mmap
+ and revert to anonymous mmap if the shared mmap fails. */
+ rom_image = mmap(NULL,
+ fslen_ub?fslen_ub:1,
+ PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS,
+ -1, 0);
+
+ if (-1 == (int) (long) rom_image)
+ err(MKFS_EX_ERROR, _("ROM image map"));
+
+ /* Skip the first opt_pad bytes for boot loader code */
+ offset = opt_pad;
+ memset(rom_image, 0x00, opt_pad);
+
+ /* Skip the superblock and come back to write it later. */
+ offset += sizeof(struct cramfs_super);
+
+ /* Insert a file image. */
+ if (opt_image) {
+ if (verbose)
+ printf(_("Including: %s\n"), opt_image);
+ offset = write_file(opt_image, rom_image, offset);
+ }
+
+ offset = write_directory_structure(root_entry->child, rom_image, offset);
+ if (verbose)
+ printf(_("Directory data: %zd bytes\n"), offset);
+
+ offset = write_data(root_entry, rom_image, offset);
+
+ /* We always write a multiple of blksize bytes, so that
+ losetup works. */
+ offset = ((offset - 1) | (blksize - 1)) + 1;
+ if (verbose)
+ printf(_("Everything: %zd kilobytes\n"), offset >> 10);
+
+ /* Write the superblock now that we can fill in all of the fields. */
+ write_superblock(root_entry, rom_image+opt_pad, offset);
+ if (verbose)
+ printf(_("Super block: %zd bytes\n"),
+ sizeof(struct cramfs_super));
+
+ /* Put the checksum in. */
+ crc = crc32(crc, (unsigned char *) (rom_image+opt_pad), (offset-opt_pad));
+ ((struct cramfs_super *) (rom_image+opt_pad))->fsid.crc = u32_toggle_endianness(cramfs_is_big_endian, crc);
+ if (verbose)
+ printf(_("CRC: %x\n"), crc);
+
+ /* Check to make sure we allocated enough space. */
+ if (fslen_ub < offset)
+ errx(MKFS_EX_ERROR,
+ _("not enough space allocated for ROM image "
+ "(%lld allocated, %zu used)"),
+ (long long) fslen_ub, offset);
+
+ written = write(fd, rom_image, offset);
+ close(fd);
+ if (written < 0)
+ err(MKFS_EX_ERROR, _("ROM image"));
+ if (offset != written)
+ errx(MKFS_EX_ERROR, _("ROM image write failed (%zd %zd)"),
+ written, offset);
+
+ /*
+ * (These warnings used to come at the start, but they scroll off
+ * the screen too quickly.)
+ */
+ if (warn_namelen)
+ /* Can't happen when reading from ext2fs. */
+ /* Bytes, not chars: think UTF8. */
+ warnx(_("warning: filenames truncated to 255 bytes."));
+ if (warn_skip)
+ warnx(_("warning: files were skipped due to errors."));
+ if (warn_size)
+ warnx(_("warning: file sizes truncated to %luMB "
+ "(minus 1 byte)."), 1L << (CRAMFS_SIZE_WIDTH - 20));
+ if (warn_uid)
+ /* (not possible with current Linux versions) */
+ warnx(_("warning: uids truncated to %u bits. "
+ "(This may be a security concern.)"), CRAMFS_UID_WIDTH);
+ if (warn_gid)
+ warnx(_("warning: gids truncated to %u bits. "
+ "(This may be a security concern.)"), CRAMFS_GID_WIDTH);
+ if (warn_dev)
+ warnx(_("WARNING: device numbers truncated to %u bits. "
+ "This almost certainly means\n"
+ "that some device files will be wrong."),
+ CRAMFS_OFFSET_WIDTH);
+ if (opt_errors &&
+ (warn_namelen|warn_skip|warn_size|warn_uid|warn_gid|warn_dev))
+ exit(MKFS_EX_ERROR);
+
+ return EXIT_SUCCESS;
+}
diff --git a/disk-utils/mkfs.minix.8 b/disk-utils/mkfs.minix.8
new file mode 100644
index 0000000..a65a711
--- /dev/null
+++ b/disk-utils/mkfs.minix.8
@@ -0,0 +1,86 @@
+.\" Copyright 1992, 1993, 1994 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be freely distributed.
+.TH MKFS.MINIX 8 "June 2011" "util-linux" "System Administration"
+.SH NAME
+mkfs.minix \- make a Minix filesystem
+.SH SYNOPSIS
+.B mkfs.minix
+.RB [ \-c | \-l
+.IR filename ]
+.RB [ \-n
+.IR namelength ]
+.RB [ \-i
+.IR inodecount ]
+.RB [ \-v ]
+.I device
+.RI [ size-in-blocks ]
+.SH DESCRIPTION
+.B mkfs.minix
+creates a Linux MINIX filesystem on a device (usually a disk partition).
+
+The
+.I device
+is usually of the following form:
+
+.nf
+.RS
+/dev/hda[1-8] (IDE disk 1)
+/dev/hdb[1-8] (IDE disk 2)
+/dev/sda[1-8] (SCSI disk 1)
+/dev/sdb[1-8] (SCSI disk 2)
+.RE
+.fi
+
+The
+.I size-in-blocks
+parameter is the desired size of the file system, in blocks.
+It is present only for backwards compatibility.
+If omitted the size will be determined automatically.
+Only block counts strictly greater than 10 and strictly less than
+65536 are allowed.
+.SH OPTIONS
+.TP
+.B \-c
+Check the device for bad blocks before creating the filesystem. If any
+are found, the count is printed.
+.TP
+.BI \-n " namelength"
+Specify the maximum length of filenames.
+Currently, the only allowable values are 14 and 30.
+The default is 30. Note that kernels older than 0.99p7
+only accept namelength 14.
+.TP
+.BI \-i " inodecount"
+Specify the number of inodes for the filesystem.
+.TP
+.BI \-l " filename"
+Read the list of bad blocks from
+.IR filename .
+The file has one bad-block number per line. The count of bad blocks read
+is printed.
+.TP
+.B \-1
+Make a Minix version 1 filesystem.
+.TP
+.BR \-2 , " \-v"
+Make a Minix version 2 filesystem.
+.TP
+.B \-3
+Make a Minix version 3 filesystem.
+.SH "EXIT CODES"
+The exit code returned by
+.B mkfs.minix
+is one of the following:
+.IP 0
+No errors
+.IP 8
+Operational error
+.IP 16
+Usage or syntax error
+.SH "SEE ALSO"
+.BR mkfs (8),
+.BR fsck (8),
+.BR reboot (8)
+.SH AVAILABILITY
+The mkfs.minix command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/mkfs.minix.c b/disk-utils/mkfs.minix.c
new file mode 100644
index 0000000..49626bf
--- /dev/null
+++ b/disk-utils/mkfs.minix.c
@@ -0,0 +1,815 @@
+/*
+ * mkfs.minix.c - make a linux (minix) file-system.
+ *
+ * (C) 1991 Linus Torvalds. This file may be redistributed as per
+ * the Linux copyright.
+ */
+
+/*
+ * DD.MM.YY
+ *
+ * 24.11.91 - Time began. Used the fsck sources to get started.
+ *
+ * 25.11.91 - Corrected some bugs. Added support for ".badblocks"
+ * The algorithm for ".badblocks" is a bit weird, but
+ * it should work. Oh, well.
+ *
+ * 25.01.92 - Added the -l option for getting the list of bad blocks
+ * out of a named file. (Dave Rivers, rivers@ponds.uucp)
+ *
+ * 28.02.92 - Added %-information when using -c.
+ *
+ * 28.02.93 - Added support for other namelengths than the original
+ * 14 characters so that I can test the new kernel routines..
+ *
+ * 09.10.93 - Make exit status conform to that required by fsutil
+ * (Rik Faith, faith@cs.unc.edu)
+ *
+ * 31.10.93 - Added inode request feature, for backup floppies: use
+ * 32 inodes, for a news partition use more.
+ * (Scott Heavner, sdh@po.cwru.edu)
+ *
+ * 03.01.94 - Added support for file system valid flag.
+ * (Dr. Wettstein, greg%wind.uucp@plains.nodak.edu)
+ *
+ * 30.10.94 - Added support for v2 filesystem
+ * (Andreas Schwab, schwab@issan.informatik.uni-dortmund.de)
+ *
+ * 09.11.94 - Added test to prevent overwrite of mounted fs adapted
+ * from Theodore Ts'o's (tytso@athena.mit.edu) mke2fs
+ * program. (Daniel Quinlan, quinlan@yggdrasil.com)
+ *
+ * 03.20.95 - Clear first 512 bytes of filesystem to make certain that
+ * the filesystem is not misidentified as a MS-DOS FAT filesystem.
+ * (Daniel Quinlan, quinlan@yggdrasil.com)
+ *
+ * 02.07.96 - Added small patch from Russell King to make the program a
+ * good deal more portable (janl@math.uio.no)
+ *
+ * 06.29.11 - Overall cleanups for util-linux and v3 support
+ * Davidlohr Bueso <dave@gnu.org>
+ *
+ * Usage: mkfs [-c | -l filename ] [-12v3] [-nXX] [-iXX] device [size-in-blocks]
+ *
+ * -c for readablility checking (SLOW!)
+ * -l for getting a list of bad blocks from a file.
+ * -n for namelength (currently the kernel only uses 14 or 30)
+ * -i for number of inodes
+ * -1 for v1 filesystem
+ * -2,-v for v2 filesystem
+ * -3 for v3 filesystem
+ *
+ * The device may be a block device or a image of one, but this isn't
+ * enforced (but it's not much fun on a character device :-).
+ */
+
+#include <stdio.h>
+#include <time.h>
+#include <unistd.h>
+#include <string.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <termios.h>
+#include <sys/stat.h>
+#include <mntent.h>
+#include <getopt.h>
+#include <err.h>
+
+#include "blkdev.h"
+#include "minix_programs.h"
+#include "nls.h"
+#include "pathnames.h"
+#include "bitops.h"
+#include "exitcodes.h"
+#include "strutils.h"
+#include "all-io.h"
+#include "closestream.h"
+
+#define MINIX_ROOT_INO 1
+#define MINIX_BAD_INO 2
+
+#define TEST_BUFFER_BLOCKS 16
+#define MAX_GOOD_BLOCKS 512
+
+#define MINIX_MAX_INODES 65535
+
+/*
+ * Global variables used in minix_programs.h inline fuctions
+ */
+int fs_version = 1;
+char *super_block_buffer;
+
+static char *inode_buffer = NULL;
+
+#define Inode (((struct minix_inode *) inode_buffer) - 1)
+#define Inode2 (((struct minix2_inode *) inode_buffer) - 1)
+
+static char *program_name = "mkfs";
+static char *device_name;
+static int DEV = -1;
+static unsigned long long BLOCKS;
+static int check;
+static int badblocks;
+
+/*
+ * default (changed to 30, per Linus's
+ * suggestion, Sun Nov 21 08:05:07 1993)
+ * This should be changed in the future to 60,
+ * since v3 needs to be the default nowadays (2011)
+ */
+static size_t namelen = 30;
+static size_t dirsize = 32;
+static int magic = MINIX_SUPER_MAGIC2;
+
+static char root_block[MINIX_BLOCK_SIZE];
+
+static char boot_block_buffer[512];
+
+static unsigned short good_blocks_table[MAX_GOOD_BLOCKS];
+static int used_good_blocks;
+static unsigned long req_nr_inodes;
+
+
+static char *inode_map;
+static char *zone_map;
+
+#define zone_in_use(x) (isset(zone_map,(x)-get_first_zone()+1) != 0)
+
+#define mark_inode(x) (setbit(inode_map,(x)))
+#define unmark_inode(x) (clrbit(inode_map,(x)))
+
+#define mark_zone(x) (setbit(zone_map,(x)-get_first_zone()+1))
+#define unmark_zone(x) (clrbit(zone_map,(x)-get_first_zone()+1))
+
+
+static void __attribute__((__noreturn__))
+usage(void) {
+ errx(MKFS_EX_USAGE, _("Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"),
+ program_name);
+}
+
+/*
+ * Check to make certain that our new filesystem won't be created on
+ * an already mounted partition. Code adapted from mke2fs, Copyright
+ * (C) 1994 Theodore Ts'o. Also licensed under GPL.
+ */
+static void check_mount(void) {
+ FILE * f;
+ struct mntent * mnt;
+
+ if ((f = setmntent (_PATH_MOUNTED, "r")) == NULL)
+ return;
+ while ((mnt = getmntent (f)) != NULL)
+ if (strcmp (device_name, mnt->mnt_fsname) == 0)
+ break;
+ endmntent (f);
+ if (!mnt)
+ return;
+
+ errx(MKFS_EX_ERROR, _("%s is mounted; will not make a filesystem here!"),
+ device_name);
+}
+
+static void super_set_state(void)
+{
+ switch (fs_version) {
+ case 1:
+ case 2:
+ Super.s_state |= MINIX_VALID_FS;
+ Super.s_state &= ~MINIX_ERROR_FS;
+ break;
+ default: /* v3 */
+ break;
+ }
+}
+
+static void write_tables(void) {
+ unsigned long imaps = get_nimaps();
+ unsigned long zmaps = get_nzmaps();
+ unsigned long buffsz = get_inode_buffer_size();
+
+ /* Mark the super block valid. */
+ super_set_state();
+
+ if (lseek(DEV, 0, SEEK_SET))
+ err(MKFS_EX_ERROR, _("%s: seek to boot block failed "
+ " in write_tables"), device_name);
+ if (write_all(DEV, boot_block_buffer, 512))
+ err(MKFS_EX_ERROR, _("%s: unable to clear boot sector"), device_name);
+ if (MINIX_BLOCK_SIZE != lseek(DEV, MINIX_BLOCK_SIZE, SEEK_SET))
+ err(MKFS_EX_ERROR, _("%s: seek failed in write_tables"), device_name);
+
+ if (write_all(DEV, super_block_buffer, MINIX_BLOCK_SIZE))
+ err(MKFS_EX_ERROR, _("%s: unable to write super-block"), device_name);
+
+ if (write_all(DEV, inode_map, imaps * MINIX_BLOCK_SIZE))
+ err(MKFS_EX_ERROR, _("%s: unable to write inode map"), device_name);
+
+ if (write_all(DEV, zone_map, zmaps * MINIX_BLOCK_SIZE))
+ err(MKFS_EX_ERROR, _("%s: unable to write zone map"), device_name);
+
+ if (write_all(DEV, inode_buffer, buffsz))
+ err(MKFS_EX_ERROR, _("%s: unable to write inodes"), device_name);
+}
+
+static void write_block(int blk, char * buffer) {
+ if (blk*MINIX_BLOCK_SIZE != lseek(DEV, blk*MINIX_BLOCK_SIZE, SEEK_SET))
+ errx(MKFS_EX_ERROR, _("%s: seek failed in write_block"), device_name);
+
+ if (write_all(DEV, buffer, MINIX_BLOCK_SIZE))
+ errx(MKFS_EX_ERROR, _("%s: write failed in write_block"), device_name);
+}
+
+static int get_free_block(void) {
+ unsigned int blk;
+ unsigned int zones = get_nzones();
+ unsigned int first_zone = get_first_zone();
+
+ if (used_good_blocks+1 >= MAX_GOOD_BLOCKS)
+ errx(MKFS_EX_ERROR, _("%s: too many bad blocks"), device_name);
+ if (used_good_blocks)
+ blk = good_blocks_table[used_good_blocks-1]+1;
+ else
+ blk = first_zone;
+ while (blk < zones && zone_in_use(blk))
+ blk++;
+ if (blk >= zones)
+ errx(MKFS_EX_ERROR, _("%s: not enough good blocks"), device_name);
+ good_blocks_table[used_good_blocks] = blk;
+ used_good_blocks++;
+ return blk;
+}
+
+static void mark_good_blocks(void) {
+ int blk;
+
+ for (blk=0 ; blk < used_good_blocks ; blk++)
+ mark_zone(good_blocks_table[blk]);
+}
+
+static inline int next(unsigned long zone) {
+ unsigned long zones = get_nzones();
+ unsigned long first_zone = get_first_zone();
+
+ if (!zone)
+ zone = first_zone-1;
+ while (++zone < zones)
+ if (zone_in_use(zone))
+ return zone;
+ return 0;
+}
+
+static void make_bad_inode_v1(void)
+{
+ struct minix_inode * inode = &Inode[MINIX_BAD_INO];
+ int i,j,zone;
+ int ind=0,dind=0;
+ unsigned short ind_block[MINIX_BLOCK_SIZE>>1];
+ unsigned short dind_block[MINIX_BLOCK_SIZE>>1];
+
+#define NEXT_BAD (zone = next(zone))
+
+ if (!badblocks)
+ return;
+ mark_inode(MINIX_BAD_INO);
+ inode->i_nlinks = 1;
+ inode->i_time = time(NULL);
+ inode->i_mode = S_IFREG + 0000;
+ inode->i_size = badblocks*MINIX_BLOCK_SIZE;
+ zone = next(0);
+ for (i=0 ; i<7 ; i++) {
+ inode->i_zone[i] = zone;
+ if (!NEXT_BAD)
+ goto end_bad;
+ }
+ inode->i_zone[7] = ind = get_free_block();
+ memset(ind_block,0,MINIX_BLOCK_SIZE);
+ for (i=0 ; i<512 ; i++) {
+ ind_block[i] = zone;
+ if (!NEXT_BAD)
+ goto end_bad;
+ }
+ inode->i_zone[8] = dind = get_free_block();
+ memset(dind_block,0,MINIX_BLOCK_SIZE);
+ for (i=0 ; i<512 ; i++) {
+ write_block(ind,(char *) ind_block);
+ dind_block[i] = ind = get_free_block();
+ memset(ind_block,0,MINIX_BLOCK_SIZE);
+ for (j=0 ; j<512 ; j++) {
+ ind_block[j] = zone;
+ if (!NEXT_BAD)
+ goto end_bad;
+ }
+ }
+ errx(MKFS_EX_ERROR, _("%s: too many bad blocks"), device_name);
+end_bad:
+ if (ind)
+ write_block(ind, (char *) ind_block);
+ if (dind)
+ write_block(dind, (char *) dind_block);
+}
+
+static void make_bad_inode_v2_v3 (void)
+{
+ struct minix2_inode *inode = &Inode2[MINIX_BAD_INO];
+ int i, j, zone;
+ int ind = 0, dind = 0;
+ unsigned long ind_block[MINIX_BLOCK_SIZE >> 2];
+ unsigned long dind_block[MINIX_BLOCK_SIZE >> 2];
+
+ if (!badblocks)
+ return;
+ mark_inode (MINIX_BAD_INO);
+ inode->i_nlinks = 1;
+ inode->i_atime = inode->i_mtime = inode->i_ctime = time (NULL);
+ inode->i_mode = S_IFREG + 0000;
+ inode->i_size = badblocks * MINIX_BLOCK_SIZE;
+ zone = next (0);
+ for (i = 0; i < 7; i++) {
+ inode->i_zone[i] = zone;
+ if (!NEXT_BAD)
+ goto end_bad;
+ }
+ inode->i_zone[7] = ind = get_free_block ();
+ memset (ind_block, 0, MINIX_BLOCK_SIZE);
+ for (i = 0; i < 256; i++) {
+ ind_block[i] = zone;
+ if (!NEXT_BAD)
+ goto end_bad;
+ }
+ inode->i_zone[8] = dind = get_free_block ();
+ memset (dind_block, 0, MINIX_BLOCK_SIZE);
+ for (i = 0; i < 256; i++) {
+ write_block (ind, (char *) ind_block);
+ dind_block[i] = ind = get_free_block ();
+ memset (ind_block, 0, MINIX_BLOCK_SIZE);
+ for (j = 0; j < 256; j++) {
+ ind_block[j] = zone;
+ if (!NEXT_BAD)
+ goto end_bad;
+ }
+ }
+ /* Could make triple indirect block here */
+ errx(MKFS_EX_ERROR, _("%s: too many bad blocks"), device_name);
+ end_bad:
+ if (ind)
+ write_block (ind, (char *) ind_block);
+ if (dind)
+ write_block (dind, (char *) dind_block);
+}
+
+static void make_bad_inode(void)
+{
+ if (fs_version < 2)
+ return make_bad_inode_v1();
+ return make_bad_inode_v2_v3();
+}
+
+static void make_root_inode_v1(void) {
+ struct minix_inode * inode = &Inode[MINIX_ROOT_INO];
+
+ mark_inode(MINIX_ROOT_INO);
+ inode->i_zone[0] = get_free_block();
+ inode->i_nlinks = 2;
+ inode->i_time = time(NULL);
+ if (badblocks)
+ inode->i_size = 3*dirsize;
+ else {
+ root_block[2*dirsize] = '\0';
+ root_block[2*dirsize+1] = '\0';
+ inode->i_size = 2*dirsize;
+ }
+ inode->i_mode = S_IFDIR + 0755;
+ inode->i_uid = getuid();
+ if (inode->i_uid)
+ inode->i_gid = getgid();
+ write_block(inode->i_zone[0],root_block);
+}
+
+static void make_root_inode_v2_v3 (void) {
+ struct minix2_inode *inode = &Inode2[MINIX_ROOT_INO];
+
+ mark_inode (MINIX_ROOT_INO);
+ inode->i_zone[0] = get_free_block ();
+ inode->i_nlinks = 2;
+ inode->i_atime = inode->i_mtime = inode->i_ctime = time (NULL);
+
+ if (badblocks)
+ inode->i_size = 3 * dirsize;
+ else {
+ root_block[2 * dirsize] = '\0';
+ inode->i_size = 2 * dirsize;
+ }
+
+ inode->i_mode = S_IFDIR + 0755;
+ inode->i_uid = getuid();
+ if (inode->i_uid)
+ inode->i_gid = getgid();
+ write_block (inode->i_zone[0], root_block);
+}
+
+static void make_root_inode(void)
+{
+ if (fs_version < 2)
+ return make_root_inode_v1();
+ return make_root_inode_v2_v3();
+}
+
+static void super_set_nzones(void)
+{
+ switch (fs_version) {
+ case 3:
+ Super3.s_zones = BLOCKS;
+ break;
+ case 2:
+ Super.s_zones = BLOCKS;
+ break;
+ default: /* v1 */
+ Super.s_nzones = BLOCKS;
+ break;
+ }
+}
+
+static void super_init_maxsize(void)
+{
+ switch (fs_version) {
+ case 3:
+ Super3.s_max_size = 2147483647L;
+ break;
+ case 2:
+ Super.s_max_size = 0x7fffffff;
+ break;
+ default: /* v1 */
+ Super.s_max_size = (7+512+512*512)*1024;
+ break;
+ }
+}
+
+static void super_set_map_blocks(unsigned long inodes)
+{
+ switch (fs_version) {
+ case 3:
+ Super3.s_imap_blocks = UPPER(inodes + 1, BITS_PER_BLOCK);
+ Super3.s_zmap_blocks = UPPER(BLOCKS - (1+get_nimaps()+inode_blocks()),
+ BITS_PER_BLOCK+1);
+ Super3.s_firstdatazone = first_zone_data();
+ break;
+ default:
+ Super.s_imap_blocks = UPPER(inodes + 1, BITS_PER_BLOCK);
+ Super.s_zmap_blocks = UPPER(BLOCKS - (1+get_nimaps()+inode_blocks()),
+ BITS_PER_BLOCK+1);
+ Super.s_firstdatazone = first_zone_data();
+ break;
+ }
+}
+
+static void super_set_magic(void)
+{
+ switch (fs_version) {
+ case 3:
+ Super3.s_magic = magic;
+ break;
+ default:
+ Super.s_magic = magic;
+ break;
+ }
+}
+
+static void setup_tables(void) {
+ unsigned long inodes, zmaps, imaps, zones, i;
+
+ super_block_buffer = calloc(1, MINIX_BLOCK_SIZE);
+ if (!super_block_buffer)
+ err(MKFS_EX_ERROR, _("%s: unable to alloc buffer for superblock"),
+ device_name);
+
+ memset(boot_block_buffer,0,512);
+ super_set_magic();
+
+ if (fs_version == 3) {
+ Super3.s_log_zone_size = 0;
+ Super3.s_blocksize = MINIX_BLOCK_SIZE;
+ }
+ else {
+ Super.s_log_zone_size = 0;
+ }
+
+ super_init_maxsize();
+ super_set_nzones();
+ zones = get_nzones();
+
+ /* some magic nrs: 1 inode / 3 blocks */
+ if ( req_nr_inodes == 0 )
+ inodes = BLOCKS/3;
+ else
+ inodes = req_nr_inodes;
+ /* Round up inode count to fill block size */
+ if (fs_version == 2 || fs_version == 3)
+ inodes = ((inodes + MINIX2_INODES_PER_BLOCK - 1) &
+ ~(MINIX2_INODES_PER_BLOCK - 1));
+ else
+ inodes = ((inodes + MINIX_INODES_PER_BLOCK - 1) &
+ ~(MINIX_INODES_PER_BLOCK - 1));
+
+ if (fs_version == 3)
+ Super3.s_ninodes = inodes;
+ else {
+ Super.s_ninodes = inodes;
+ if (inodes > MINIX_MAX_INODES)
+ inodes = MINIX_MAX_INODES;
+ }
+
+ super_set_map_blocks(inodes);
+ imaps = get_nimaps();
+ zmaps = get_nzmaps();
+
+ inode_map = malloc(imaps * MINIX_BLOCK_SIZE);
+ zone_map = malloc(zmaps * MINIX_BLOCK_SIZE);
+ if (!inode_map || !zone_map)
+ err(MKFS_EX_ERROR, _("%s: unable to allocate buffers for maps"),
+ device_name);
+ memset(inode_map,0xff,imaps * MINIX_BLOCK_SIZE);
+ memset(zone_map,0xff,zmaps * MINIX_BLOCK_SIZE);
+ for (i = get_first_zone() ; i<zones ; i++)
+ unmark_zone(i);
+ for (i = MINIX_ROOT_INO ; i<=inodes; i++)
+ unmark_inode(i);
+ inode_buffer = malloc(get_inode_buffer_size());
+ if (!inode_buffer)
+ err(MKFS_EX_ERROR, _("%s: unable to allocate buffer for inodes"),
+ device_name);
+ memset(inode_buffer,0, get_inode_buffer_size());
+ printf(_("%lu inodes\n"), inodes);
+ printf(_("%lu blocks\n"), zones);
+ printf(_("Firstdatazone=%ld (%ld)\n"), get_first_zone(), first_zone_data());
+ printf(_("Zonesize=%d\n"),MINIX_BLOCK_SIZE<<get_zone_size());
+ printf(_("Maxsize=%ld\n\n"),get_max_size());
+}
+
+/*
+ * Perform a test of a block; return the number of
+ * blocks readable/writeable.
+ */
+static long do_check(char * buffer, int try, unsigned int current_block) {
+ long got;
+
+ /* Seek to the correct loc. */
+ if (lseek(DEV, current_block * MINIX_BLOCK_SIZE, SEEK_SET) !=
+ current_block * MINIX_BLOCK_SIZE )
+ err(MKFS_EX_ERROR, _("%s: seek failed during testing of blocks"),
+ device_name);
+
+ /* Try the read */
+ got = read(DEV, buffer, try * MINIX_BLOCK_SIZE);
+ if (got < 0) got = 0;
+ if (got & (MINIX_BLOCK_SIZE - 1 )) {
+ printf(_("Weird values in do_check: probably bugs\n"));
+ }
+ got /= MINIX_BLOCK_SIZE;
+ return got;
+}
+
+static unsigned int currently_testing = 0;
+
+static void alarm_intr(int alnum __attribute__ ((__unused__))) {
+ unsigned long zones = get_nzones();
+
+ if (currently_testing >= zones)
+ return;
+ signal(SIGALRM,alarm_intr);
+ alarm(5);
+ if (!currently_testing)
+ return;
+ printf("%d ...", currently_testing);
+ fflush(stdout);
+}
+
+static void check_blocks(void) {
+ int try,got;
+ static char buffer[MINIX_BLOCK_SIZE * TEST_BUFFER_BLOCKS];
+ unsigned long zones = get_nzones();
+ unsigned long first_zone = get_first_zone();
+
+ currently_testing=0;
+ signal(SIGALRM,alarm_intr);
+ alarm(5);
+ while (currently_testing < zones) {
+ if (lseek(DEV,currently_testing*MINIX_BLOCK_SIZE,SEEK_SET) !=
+ currently_testing*MINIX_BLOCK_SIZE)
+ errx(MKFS_EX_ERROR, _("%s: seek failed in check_blocks"),
+ device_name);
+ try = TEST_BUFFER_BLOCKS;
+ if (currently_testing + try > zones)
+ try = zones-currently_testing;
+ got = do_check(buffer, try, currently_testing);
+ currently_testing += got;
+ if (got == try)
+ continue;
+ if (currently_testing < first_zone)
+ errx(MKFS_EX_ERROR, _("%s: bad blocks before data-area: "
+ "cannot make fs"), device_name);
+ mark_zone(currently_testing);
+ badblocks++;
+ currently_testing++;
+ }
+ if (badblocks > 1)
+ printf(_("%d bad blocks\n"), badblocks);
+ else if (badblocks == 1)
+ printf(_("one bad block\n"));
+}
+
+static void get_list_blocks(char *filename) {
+ FILE *listfile;
+ unsigned long blockno;
+
+ listfile = fopen(filename,"r");
+ if (listfile == NULL)
+ err(MKFS_EX_ERROR, _("%s: can't open file of bad blocks"),
+ device_name);
+
+ while (!feof(listfile)) {
+ if (fscanf(listfile,"%ld\n", &blockno) != 1) {
+ printf(_("badblock number input error on line %d\n"), badblocks + 1);
+ errx(MKFS_EX_ERROR, _("%s: cannot read badblocks file"),
+ device_name);
+ }
+ mark_zone(blockno);
+ badblocks++;
+ }
+ fclose(listfile);
+
+ if(badblocks > 1)
+ printf(_("%d bad blocks\n"), badblocks);
+ else if (badblocks == 1)
+ printf(_("one bad block\n"));
+}
+
+int main(int argc, char ** argv) {
+ int i;
+ char * tmp;
+ struct stat statbuf;
+ char * listfile = NULL;
+ char * p;
+
+ if (argc && *argv)
+ program_name = *argv;
+ if ((p = strrchr(program_name, '/')) != NULL)
+ program_name = p+1;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc == 2 &&
+ (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
+ printf(_("%s (%s)\n"), program_name, PACKAGE_STRING);
+ exit(0);
+ }
+
+ if (INODE_SIZE * MINIX_INODES_PER_BLOCK != MINIX_BLOCK_SIZE)
+ errx(MKFS_EX_ERROR, _("%s: bad inode size"), device_name);
+ if (INODE2_SIZE * MINIX2_INODES_PER_BLOCK != MINIX_BLOCK_SIZE)
+ errx(MKFS_EX_ERROR, _("%s: bad inode size"), device_name);
+
+ opterr = 0;
+ while ((i = getopt(argc, argv, "ci:l:n:v123")) != -1)
+ switch (i) {
+ case 'c':
+ check=1; break;
+ case 'i':
+ req_nr_inodes = (unsigned long) atol(optarg);
+ break;
+ case 'l':
+ listfile = optarg; break;
+ case 'n':
+ i = strtoul(optarg,&tmp,0);
+ if (*tmp)
+ usage();
+ if (i == 14)
+ magic = MINIX_SUPER_MAGIC;
+ else if (i == 30)
+ magic = MINIX_SUPER_MAGIC2;
+ else
+ usage();
+ namelen = i;
+ dirsize = i+2;
+ break;
+ case '1':
+ fs_version = 1;
+ break;
+ case '2':
+ case 'v': /* kept for backwards compatiblitly */
+ fs_version = 2;
+ break;
+ case '3':
+ fs_version = 3;
+ namelen = 60;
+ dirsize = 64;
+ break;
+ default:
+ usage();
+ }
+ argc -= optind;
+ argv += optind;
+ if (argc > 0 && !device_name) {
+ device_name = argv[0];
+ argc--;
+ argv++;
+ }
+ if (argc > 0) {
+ BLOCKS = strtol(argv[0],&tmp,0);
+ if (*tmp) {
+ printf(_("strtol error: number of blocks not specified"));
+ usage();
+ }
+ }
+
+ if (!device_name) {
+ usage();
+ }
+ check_mount(); /* is it already mounted? */
+ tmp = root_block;
+ if (fs_version == 3) {
+ *(uint32_t *)tmp = 1;
+ strcpy(tmp+4,".");
+ tmp += dirsize;
+ *(uint32_t *)tmp = 1;
+ strcpy(tmp+4,"..");
+ tmp += dirsize;
+ *(uint32_t *)tmp = 2;
+ strcpy(tmp+4, ".badblocks");
+ } else {
+ *(uint16_t *)tmp = 1;
+ strcpy(tmp+2,".");
+ tmp += dirsize;
+ *(uint16_t *)tmp = 1;
+ strcpy(tmp+2,"..");
+ tmp += dirsize;
+ *(uint16_t *)tmp = 2;
+ strcpy(tmp+2, ".badblocks");
+ }
+ if (stat(device_name, &statbuf) < 0)
+ err(MKFS_EX_ERROR, _("stat failed %s"), device_name);
+ if (S_ISBLK(statbuf.st_mode))
+ DEV = open(device_name,O_RDWR | O_EXCL);
+ else
+ DEV = open(device_name,O_RDWR);
+
+ if (DEV<0)
+ err(MKFS_EX_ERROR, _("cannot open %s"), device_name);
+
+ if (S_ISBLK(statbuf.st_mode)) {
+ int sectorsize;
+
+ if (blkdev_get_sector_size(DEV, &sectorsize) == -1)
+ sectorsize = DEFAULT_SECTOR_SIZE; /* kernel < 2.3.3 */
+
+ if (blkdev_is_misaligned(DEV))
+ warnx(_("%s: device is misaligned"), device_name);
+
+ if (MINIX_BLOCK_SIZE < sectorsize)
+ errx(MKFS_EX_ERROR, _("block size smaller than physical "
+ "sector size of %s"), device_name);
+ if (!BLOCKS) {
+ if (blkdev_get_size(DEV, &BLOCKS) == -1)
+ errx(MKFS_EX_ERROR, _("cannot determine size of %s"),
+ device_name);
+ BLOCKS /= MINIX_BLOCK_SIZE;
+ }
+ } else if (!S_ISBLK(statbuf.st_mode)) {
+ if (!BLOCKS)
+ BLOCKS = statbuf.st_size / MINIX_BLOCK_SIZE;
+ check=0;
+ } else if (statbuf.st_rdev == 0x0300 || statbuf.st_rdev == 0x0340)
+ errx(MKFS_EX_ERROR, _("will not try to make filesystem on '%s'"), device_name);
+ if (BLOCKS < 10)
+ errx(MKFS_EX_ERROR, _("%s: number of blocks too small"), device_name);
+
+ if (fs_version == 3)
+ magic = MINIX3_SUPER_MAGIC;
+ else if (fs_version == 2) {
+ if (namelen == 14)
+ magic = MINIX2_SUPER_MAGIC;
+ else
+ magic = MINIX2_SUPER_MAGIC2;
+ } else /* fs_version == 1 */
+ if (BLOCKS > MINIX_MAX_INODES)
+ BLOCKS = MINIX_MAX_INODES;
+ setup_tables();
+ if (check)
+ check_blocks();
+ else if (listfile)
+ get_list_blocks(listfile);
+
+ make_root_inode();
+ make_bad_inode();
+
+ mark_good_blocks();
+ write_tables();
+ close(DEV);
+
+ return 0;
+}
diff --git a/disk-utils/mkswap.8 b/disk-utils/mkswap.8
new file mode 100644
index 0000000..c653171
--- /dev/null
+++ b/disk-utils/mkswap.8
@@ -0,0 +1,148 @@
+.\" Copyright 1998 Andries E. Brouwer (aeb@cwi.nl)
+.\"
+.\" May be distributed under the GNU General Public License
+.\" Rewritten for 2.1.117, aeb, 981010.
+.\"
+.TH MKSWAP 8 "March 2009" "util-linux" "System Administration"
+.SH NAME
+mkswap \- set up a Linux swap area
+.SH SYNOPSIS
+.B mkswap
+.RI [ options ]
+.I device
+.RI [ size ]
+.SH DESCRIPTION
+.B mkswap
+sets up a Linux swap area on a device or in a file.
+
+The
+.I device
+argument will usually be a disk partition (something like
+.IR /dev/sdb7 )
+but can also be a file.
+The Linux kernel does not look at partition IDs, but
+many installation scripts will assume that partitions
+of hex type 82 (LINUX_SWAP) are meant to be swap partitions.
+(\fBWarning: Solaris also uses this type. Be careful not to kill
+your Solaris partitions.\fP)
+
+The
+.I size
+parameter is superfluous but retained for backwards compatibility.
+(It specifies the desired size of the swap area in 1024-byte blocks.
+.B mkswap
+will use the entire partition or file if it is omitted.
+Specifying it is unwise -- a typo may destroy your disk.)
+
+After creating the swap area, you need the
+.B swapon
+command to start using it. Usually swap areas are listed in
+.I /etc/fstab
+so that they can be taken into use at boot time by a
+.B swapon -a
+command in some boot script.
+
+.SH WARNING
+The swap header does not touch the first block. A boot loader or disk label
+can be there, but it is not a recommended setup. The recommended setup is to
+use a separate partition for a Linux swap area.
+
+.BR mkswap ,
+like many others mkfs-like utils,
+.B erases the first partition block to make any previous filesystem invisible.
+
+However,
+.B mkswap
+refuses to erase the first block on a device with a disk
+label (SUN, BSD, ...) and on a whole disk (e.g. /dev/sda).
+
+.SH OPTIONS
+.TP
+.BR \-c , " \-\-check"
+Check the device (if it is a block device) for bad blocks
+before creating the swap area.
+If any bad blocks are found, the count is printed.
+.TP
+.BR \-f , " \-\-force"
+Go ahead even if the command is stupid.
+This allows the creation of a swap area larger than the file
+or partition it resides on.
+
+Also, without this option,
+.B mkswap
+will refuse to erase the first block on a device with a partition table and on
+a whole disk (e.g. /dev/sda).
+.TP
+.BR \-L , " \-\-label " \fIlabel\fR
+Specify a \fIlabel\fR for the device, to allow
+.B swapon
+by label.
+.TP
+.BR \-p , " \-\-pagesize " \fIsize\fR
+Specify the page \fIsize\fR (in bytes) to use. This option is usually unnecessary;
+.B mkswap
+reads the size from the kernel.
+.TP
+.BR \-U , " \-\-uuid " \fIUUID\fR
+Specify the \fIUUID\fR to use. The default is to generate a UUID.
+.TP
+.BR \-v , " \-\-swapversion 1"
+Specify the swap-space version. (This option is currently pointless, as the old
+.B \-v 0
+option has become obsolete and now only
+.B \-v 1
+is supported.
+The kernel has not supported v0 swap-space format since 2.5.22 (June 2002).
+The new version v1 is supported since 2.1.117 (August 1998).)
+.TP
+.BR \-h , " \-\-help"
+Display help text and exit.
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit.
+
+.SH NOTES
+The maximum useful size of a swap area depends on the architecture and
+the kernel version.
+It is roughly 2GiB on i386, PPC, m68k and ARM, 1GiB on sparc, 512MiB on mips,
+128GiB on alpha, and 3TiB on sparc64. For kernels after 2.3.3 (May 1999) there is no
+such limitation.
+
+Note that before version 2.1.117 the kernel allocated one byte for each page,
+while it now allocates two bytes, so that taking into use a swap area of 2 GiB
+might require 2 MiB of kernel memory.
+
+Presently, Linux allows 32 swap areas (this was 8 before Linux 2.4.10 (Sep 2001)).
+The areas in use can be seen in the file
+.I /proc/swaps
+(since 2.1.25 (Sep 1997)).
+
+.B mkswap
+refuses areas smaller than 10 pages.
+
+If you don't know the page size that your machine uses, you may be
+able to look it up with "cat /proc/cpuinfo" (or you may not --
+the contents of this file depend on architecture and kernel version).
+
+To set up a swap file, it is necessary to create that file before
+initializing it with
+.BR mkswap ,
+e.g. using a command like
+
+.nf
+.RS
+# dd if=/dev/zero of=swapfile bs=1024 count=65536
+.RE
+.fi
+
+Note that a swap file must not contain any holes (so, using
+.BR cp (1)
+to create the file is not acceptable).
+
+
+.SH "SEE ALSO"
+.BR fdisk (8),
+.BR swapon (8)
+.SH AVAILABILITY
+The mkswap command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/mkswap.c b/disk-utils/mkswap.c
new file mode 100644
index 0000000..34fe687
--- /dev/null
+++ b/disk-utils/mkswap.c
@@ -0,0 +1,672 @@
+/*
+ * mkswap.c - set up a linux swap device
+ *
+ * (C) 1991 Linus Torvalds. This file may be redistributed as per
+ * the Linux copyright.
+ */
+
+/*
+ * 20.12.91 - time began. Got VM working yesterday by doing this by hand.
+ *
+ * Usage: mkswap [-c] [-vN] [-f] device [size-in-blocks]
+ *
+ * -c for readability checking. (Use it unless you are SURE!)
+ * -vN for swap areas version N. (Only N=0,1 known today.)
+ * -f for forcing swap creation even if it would smash partition table.
+ *
+ * The device may be a block device or an image of one, but this isn't
+ * enforced (but it's not much fun on a character device :-).
+ *
+ * Patches from jaggy@purplet.demon.co.uk (Mike Jagdis) to make the
+ * size-in-blocks parameter optional added Wed Feb 8 10:33:43 1995.
+ *
+ * Version 1 swap area code (for kernel 2.1.117), aeb, 981010.
+ *
+ * Sparc fixes, jj@ultra.linux.cz (Jakub Jelinek), 981201 - mangled by aeb.
+ * V1_MAX_PAGES fixes, jj, 990325.
+ * sparc64 fixes, jj, 000219.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <mntent.h>
+#include <sys/utsname.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <getopt.h>
+#ifdef HAVE_LIBSELINUX
+#include <selinux/selinux.h>
+#include <selinux/context.h>
+#endif
+
+#include "linux_version.h"
+#include "swapheader.h"
+#include "strutils.h"
+#include "nls.h"
+#include "blkdev.h"
+#include "pathnames.h"
+#include "wholedisk.h"
+#include "all-io.h"
+#include "xalloc.h"
+#include "c.h"
+#include "closestream.h"
+#include "ismounted.h"
+
+#ifdef HAVE_LIBUUID
+# include <uuid.h>
+#endif
+
+#ifdef HAVE_LIBBLKID
+# include <blkid.h>
+#endif
+
+static char *device_name = NULL;
+static int DEV = -1;
+static unsigned long long PAGES = 0;
+static unsigned long badpages = 0;
+static int check = 0;
+
+#define SELINUX_SWAPFILE_TYPE "swapfile_t"
+
+#ifdef __sparc__
+# ifdef __arch64__
+# define is_sparc64() 1
+# define is_be64() 1
+# else /* sparc32 */
+static int
+is_sparc64(void)
+{
+ struct utsname un;
+ static int sparc64 = -1;
+
+ if (sparc64 != -1)
+ return sparc64;
+ sparc64 = 0;
+
+ if (uname(&un) < 0)
+ return 0;
+ if (! strcmp(un.machine, "sparc64")) {
+ sparc64 = 1;
+ return 1;
+ }
+ if (strcmp(un.machine, "sparc"))
+ return 0; /* Should not happen */
+
+#ifdef HAVE_PERSONALITY
+ {
+ extern int personality(unsigned long);
+ int oldpers;
+#define PERS_LINUX 0x00000000
+#define PERS_LINUX_32BIT 0x00800000
+#define PERS_LINUX32 0x00000008
+
+ oldpers = personality(PERS_LINUX_32BIT);
+ if (oldpers != -1) {
+ if (personality(PERS_LINUX) != -1) {
+ uname(&un);
+ if (! strcmp(un.machine, "sparc64")) {
+ sparc64 = 1;
+ oldpers = PERS_LINUX32;
+ }
+ }
+ personality(oldpers);
+ }
+ }
+#endif
+
+ return sparc64;
+}
+# define is_be64() is_sparc64()
+# endif /* sparc32 */
+#else /* !sparc */
+# define is_be64() 0
+#endif
+
+/*
+ * The definition of the union swap_header uses the kernel constant PAGE_SIZE.
+ * Unfortunately, on some architectures this depends on the hardware model, and
+ * can only be found at run time -- we use getpagesize(), so that we do not
+ * need separate binaries e.g. for sun4, sun4c/d/m and sun4u.
+ *
+ * Even more unfortunately, getpagesize() does not always return the right
+ * information. For example, libc4, libc5 and glibc 2.0 do not use the system
+ * call but invent a value themselves (EXEC_PAGESIZE or NBPG * CLSIZE or NBPC),
+ * and thus it may happen that e.g. on a sparc kernel PAGE_SIZE=4096 and
+ * getpagesize() returns 8192.
+ *
+ * What to do? Let us allow the user to specify the pagesize explicitly.
+ *
+ */
+static unsigned int user_pagesize;
+static unsigned int pagesize;
+static unsigned long *signature_page = NULL;
+
+static void
+init_signature_page(void)
+{
+
+ unsigned int kernel_pagesize = pagesize = getpagesize();
+
+ if (user_pagesize) {
+ if (!is_power_of_2(user_pagesize) ||
+ user_pagesize < sizeof(struct swap_header_v1_2) + 10)
+ errx(EXIT_FAILURE,
+ _("Bad user-specified page size %u"),
+ user_pagesize);
+ pagesize = user_pagesize;
+ }
+
+ if (user_pagesize && user_pagesize != kernel_pagesize)
+ warnx(_("Using user-specified page size %d, "
+ "instead of the system value %d"),
+ pagesize, kernel_pagesize);
+
+ signature_page = (unsigned long *) xcalloc(1, pagesize);
+}
+
+static void
+write_signature(char *sig)
+{
+ char *sp = (char *) signature_page;
+
+ strncpy(sp + pagesize - 10, sig, 10);
+}
+
+static void
+write_uuid_and_label(unsigned char *uuid, char *volume_name)
+{
+ struct swap_header_v1_2 *h;
+
+ /* Sanity check */
+ if (sizeof(struct swap_header_v1) !=
+ sizeof(struct swap_header_v1_2)) {
+ warnx(_("Bad swap header size, no label written."));
+ return;
+ }
+
+ h = (struct swap_header_v1_2 *) signature_page;
+ if (uuid)
+ memcpy(h->uuid, uuid, sizeof(h->uuid));
+ if (volume_name) {
+ xstrncpy(h->volume_name, volume_name, sizeof(h->volume_name));
+ if (strlen(volume_name) > strlen(h->volume_name))
+ warnx(_("Label was truncated."));
+ }
+ if (uuid || volume_name) {
+ if (volume_name)
+ printf("LABEL=%s, ", h->volume_name);
+ else
+ printf(_("no label, "));
+#ifdef HAVE_LIBUUID
+ if (uuid) {
+ char uuid_string[37];
+ uuid_unparse(uuid, uuid_string);
+ printf("UUID=%s\n", uuid_string);
+ } else
+#endif
+ printf(_("no uuid\n"));
+ }
+}
+
+/*
+ * Find out what the maximum amount of swap space is that the kernel will
+ * handle. This wouldn't matter if the kernel just used as much of the
+ * swap space as it can handle, but until 2.3.4 it would return an error
+ * to swapon() if the swapspace was too large.
+ */
+/* Before 2.2.0pre9 */
+#define V1_OLD_MAX_PAGES ((0x7fffffff / pagesize) - 1)
+/* Since 2.2.0pre9, before 2.3.4:
+ error if nr of pages >= SWP_OFFSET(SWP_ENTRY(0,~0UL))
+ with variations on
+ #define SWP_ENTRY(type,offset) (((type) << 1) | ((offset) << 8))
+ #define SWP_OFFSET(entry) ((entry) >> 8)
+ on the various architectures. Below the result - yuk.
+
+ Machine pagesize SWP_ENTRY SWP_OFFSET bound+1 oldbound+2
+ i386 2^12 o<<8 e>>8 1<<24 1<<19
+ mips 2^12 o<<15 e>>15 1<<17 1<<19
+ alpha 2^13 o<<40 e>>40 1<<24 1<<18
+ m68k 2^12 o<<12 e>>12 1<<20 1<<19
+ sparc 2^{12,13} (o&0x3ffff)<<9 (e>>9)&0x3ffff 1<<18 1<<{19,18}
+ sparc64 2^13 o<<13 e>>13 1<<51 1<<18
+ ppc 2^12 o<<8 e>>8 1<<24 1<<19
+ armo 2^{13,14,15} o<<8 e>>8 1<<24 1<<{18,17,16}
+ armv 2^12 o<<9 e>>9 1<<23 1<<19
+
+ assuming that longs have 64 bits on alpha and sparc64 and 32 bits elsewhere.
+
+ The bad part is that we need to know this since the kernel will
+ refuse a swap space if it is too large.
+*/
+/* patch from jj - why does this differ from the above? */
+/* 32bit kernels have a second limitation of 2GB, sparc64 is limited by
+ the size of virtual address space allocation for vmalloc */
+#if defined(__alpha__)
+#define V1_MAX_PAGES ((1 << 24) - 1)
+#elif defined(__mips__)
+#define V1_MAX_PAGES ((1 << 17) - 1)
+#elif defined(__sparc__)
+#define V1_MAX_PAGES (is_sparc64() ? ((3 << 29) - 1) : ((1 << 18) - 1))
+#elif defined(__ia64__)
+/*
+ * The actual size will depend on the amount of virtual address space
+ * available to vmalloc the swap map.
+ */
+#define V1_MAX_PAGES ((1UL << 54) - 1)
+#else
+#define V1_MAX_PAGES V1_OLD_MAX_PAGES
+#endif
+/* man page now says:
+The maximum useful size of a swap area now depends on the architecture.
+It is roughly 2GB on i386, PPC, m68k, ARM, 1GB on sparc, 512MB on mips,
+128GB on alpha and 3TB on sparc64.
+*/
+
+#define MAX_BADPAGES ((pagesize-1024-128*sizeof(int)-10)/sizeof(int))
+#define MIN_GOODPAGES 10
+
+static void __attribute__ ((__noreturn__)) usage(FILE *out)
+{
+ fprintf(out,
+ _("\nUsage:\n"
+ " %s [options] device [size]\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _(
+ "\nOptions:\n"
+ " -c, --check check bad blocks before creating the swap area\n"
+ " -f, --force allow swap size area be larger than device\n"
+ " -p, --pagesize SIZE specify page size in bytes\n"
+ " -L, --label LABEL specify label\n"
+ " -v, --swapversion NUM specify swap-space version number\n"
+ " -U, --uuid UUID specify the uuid to use\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void
+page_bad(int page)
+{
+ struct swap_header_v1_2 *p = (struct swap_header_v1_2 *) signature_page;
+
+ if (badpages == MAX_BADPAGES)
+ errx(EXIT_FAILURE, _("too many bad pages"));
+ p->badpages[badpages] = page;
+ badpages++;
+}
+
+static void
+check_blocks(void)
+{
+ unsigned int current_page;
+ int do_seek = 1;
+ char *buffer;
+
+ buffer = xmalloc(pagesize);
+ current_page = 0;
+ while (current_page < PAGES) {
+ if (do_seek && lseek(DEV,current_page*pagesize,SEEK_SET) !=
+ current_page*pagesize)
+ errx(EXIT_FAILURE, _("seek failed in check_blocks"));
+ if ((do_seek = (pagesize != read(DEV, buffer, pagesize))))
+ page_bad(current_page);
+ current_page++;
+ }
+ if (badpages == 1)
+ printf(_("one bad page\n"));
+ else if (badpages > 1)
+ printf(_("%lu bad pages\n"), badpages);
+ free(buffer);
+}
+
+/* return size in pages */
+static unsigned long long
+get_size(const char *file)
+{
+ int fd;
+ unsigned long long size;
+
+ fd = open(file, O_RDONLY);
+ if (fd < 0) {
+ perror(file);
+ exit(EXIT_FAILURE);
+ }
+ if (blkdev_get_size(fd, &size) == 0)
+ size /= pagesize;
+
+ close(fd);
+ return size;
+}
+
+#ifdef HAVE_LIBBLKID
+static blkid_probe
+new_prober(int fd)
+{
+ blkid_probe pr = blkid_new_probe();
+ if (!pr)
+ errx(EXIT_FAILURE, _("unable to alloc new libblkid probe"));
+ if (blkid_probe_set_device(pr, fd, 0, 0))
+ errx(EXIT_FAILURE, _("unable to assign device to libblkid probe"));
+ return pr;
+}
+#endif
+
+static void
+wipe_device(int fd, const char *devname, int force, int is_blkdevice)
+{
+ char *type = NULL;
+ int whole = 0;
+ int zap = 1;
+#ifdef HAVE_LIBBLKID
+ blkid_probe pr = NULL;
+#endif
+ if (!force) {
+ if (lseek(fd, 0, SEEK_SET) != 0)
+ errx(EXIT_FAILURE, _("unable to rewind swap-device"));
+
+ if (is_blkdevice && is_whole_disk_fd(fd, devname)) {
+ /* don't zap bootbits on whole disk -- we know nothing
+ * about bootloaders on the device */
+ whole = 1;
+ zap = 0;
+ } else {
+#ifdef HAVE_LIBBLKID
+ pr = new_prober(fd);
+ blkid_probe_enable_partitions(pr, 1);
+ blkid_probe_enable_superblocks(pr, 0);
+
+ if (blkid_do_fullprobe(pr) == 0 &&
+ blkid_probe_lookup_value(pr, "PTTYPE",
+ (const char **) &type, NULL) == 0 &&
+ type) {
+ type = xstrdup(type);
+ zap = 0;
+ }
+#else
+ /* don't zap if compiled without libblkid */
+ zap = 0;
+#endif
+ }
+ }
+
+ if (zap) {
+ /*
+ * Wipe boodbits
+ */
+ char buf[1024];
+
+ if (lseek(fd, 0, SEEK_SET) != 0)
+ errx(EXIT_FAILURE, _("unable to rewind swap-device"));
+
+ memset(buf, 0, sizeof(buf));
+ if (write_all(fd, buf, sizeof(buf)))
+ errx(EXIT_FAILURE, _("unable to erase bootbits sectors"));
+#ifdef HAVE_LIBBLKID
+ /*
+ * Wipe rest of the device
+ */
+ if (!pr)
+ pr = new_prober(fd);
+
+ blkid_probe_enable_superblocks(pr, 1);
+ blkid_probe_enable_partitions(pr, 0);
+ blkid_probe_set_superblocks_flags(pr, BLKID_SUBLKS_MAGIC);
+
+ while (blkid_do_probe(pr) == 0)
+ blkid_do_wipe(pr, 0);
+#endif
+ } else {
+ warnx(_("%s: warning: don't erase bootbits sectors"),
+ devname);
+ if (type)
+ fprintf(stderr, _(" (%s partition table detected). "), type);
+ else if (whole)
+ fprintf(stderr, _(" on whole disk. "));
+ else
+ fprintf(stderr, _(" (compiled without libblkid). "));
+ fprintf(stderr, "Use -f to force.\n");
+ }
+#ifdef HAVE_LIBBLKID
+ blkid_free_probe(pr);
+#endif
+}
+
+int
+main(int argc, char **argv) {
+ struct stat statbuf;
+ struct swap_header_v1_2 *hdr;
+ int c;
+ unsigned long long maxpages;
+ unsigned long long goodpages;
+ unsigned long long sz;
+ off_t offset;
+ int force = 0;
+ int version = 1;
+ char *block_count = 0;
+ char *opt_label = NULL;
+ unsigned char *uuid = NULL;
+#ifdef HAVE_LIBUUID
+ const char *opt_uuid = NULL;
+ uuid_t uuid_dat;
+#endif
+ static const struct option longopts[] = {
+ { "check", no_argument, 0, 'c' },
+ { "force", no_argument, 0, 'f' },
+ { "pagesize", required_argument, 0, 'p' },
+ { "label", required_argument, 0, 'L' },
+ { "swapversion", required_argument, 0, 'v' },
+ { "uuid", required_argument, 0, 'U' },
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'h' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while((c = getopt_long(argc, argv, "cfp:L:v:U:Vh", longopts, NULL)) != -1) {
+ switch (c) {
+ case 'c':
+ check=1;
+ break;
+ case 'f':
+ force=1;
+ break;
+ case 'p':
+ user_pagesize = strtou32_or_err(optarg, _("parse page size failed"));
+ break;
+ case 'L':
+ opt_label = optarg;
+ break;
+ case 'v':
+ version = strtos32_or_err(optarg, _("parse version number failed"));
+ break;
+ case 'U':
+#ifdef HAVE_LIBUUID
+ opt_uuid = optarg;
+#else
+ warnx(_("warning: ignore -U (UUIDs are unsupported by %s)"),
+ program_invocation_short_name);
+#endif
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ exit(EXIT_SUCCESS);
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ }
+ if (optind < argc)
+ device_name = argv[optind++];
+ if (optind < argc)
+ block_count = argv[optind++];
+ if (optind != argc) {
+ warnx(("only one device as argument is currently supported."));
+ usage(stderr);
+ }
+
+ if (version != 1)
+ errx(EXIT_FAILURE,
+ _("does not support swapspace version %d."), version);
+
+#ifdef HAVE_LIBUUID
+ if(opt_uuid) {
+ if (uuid_parse(opt_uuid, uuid_dat) != 0)
+ errx(EXIT_FAILURE, _("error: UUID parsing failed"));
+ } else
+ uuid_generate(uuid_dat);
+ uuid = uuid_dat;
+#endif
+
+ init_signature_page(); /* get pagesize */
+
+ if (!device_name) {
+ warnx(_("error: Nowhere to set up swap on?"));
+ usage(stderr);
+ }
+ if (block_count) {
+ /* this silly user specified the number of blocks explicitly */
+ uint64_t blks = strtou64_or_err(block_count,
+ _("invalid block count argument"));
+ PAGES = blks / (pagesize / 1024);
+ }
+ sz = get_size(device_name);
+ if (!PAGES)
+ PAGES = sz;
+ else if (PAGES > sz && !force) {
+ errx(EXIT_FAILURE,
+ _("error: "
+ "size %llu KiB is larger than device size %llu KiB"),
+ PAGES*(pagesize/1024), sz*(pagesize/1024));
+ }
+
+ if (PAGES < MIN_GOODPAGES) {
+ warnx(_("error: swap area needs to be at least %ld KiB"),
+ (long)(MIN_GOODPAGES * pagesize/1024));
+ usage(stderr);
+ }
+
+#ifdef __linux__
+ if (get_linux_version() >= KERNEL_VERSION(2,3,4))
+ maxpages = UINT_MAX + 1ULL;
+ else if (get_linux_version() >= KERNEL_VERSION(2,2,1))
+ maxpages = V1_MAX_PAGES;
+ else
+#endif
+ maxpages = V1_OLD_MAX_PAGES;
+
+ if (PAGES > maxpages) {
+ PAGES = maxpages;
+ warnx(_("warning: truncating swap area to %llu KiB"),
+ PAGES * pagesize / 1024);
+ }
+
+ if (is_mounted(device_name))
+ errx(EXIT_FAILURE, _("error: "
+ "%s is mounted; will not make swapspace."),
+ device_name);
+
+ if (stat(device_name, &statbuf) < 0) {
+ perror(device_name);
+ exit(EXIT_FAILURE);
+ }
+ if (S_ISBLK(statbuf.st_mode))
+ DEV = open(device_name, O_RDWR | O_EXCL);
+ else
+ DEV = open(device_name, O_RDWR);
+
+ if (DEV < 0) {
+ perror(device_name);
+ exit(EXIT_FAILURE);
+ }
+
+ if (!S_ISBLK(statbuf.st_mode))
+ check=0;
+ else if (blkdev_is_misaligned(DEV))
+ warnx(_("warning: %s is misaligned"), device_name);
+
+ if (check)
+ check_blocks();
+
+ wipe_device(DEV, device_name, force, S_ISBLK(statbuf.st_mode));
+
+ hdr = (struct swap_header_v1_2 *) signature_page;
+ hdr->version = 1;
+ hdr->last_page = PAGES - 1;
+ hdr->nr_badpages = badpages;
+
+ if (badpages > PAGES - MIN_GOODPAGES)
+ errx(EXIT_FAILURE, _("Unable to set up swap-space: unreadable"));
+
+ goodpages = PAGES - badpages - 1;
+ printf(_("Setting up swapspace version 1, size = %llu KiB\n"),
+ goodpages * pagesize / 1024);
+
+ write_signature("SWAPSPACE2");
+ write_uuid_and_label(uuid, opt_label);
+
+ offset = 1024;
+ if (lseek(DEV, offset, SEEK_SET) != offset)
+ errx(EXIT_FAILURE, _("unable to rewind swap-device"));
+ if (write_all(DEV, (char *) signature_page + offset,
+ pagesize - offset) == -1)
+ err(EXIT_FAILURE,
+ _("%s: unable to write signature page"),
+ device_name);
+
+ /*
+ * A subsequent swapon() will fail if the signature
+ * is not actually on disk. (This is a kernel bug.)
+ */
+#ifdef HAVE_FSYNC
+ if (fsync(DEV))
+ errx(EXIT_FAILURE, _("fsync failed"));
+#endif
+
+#ifdef HAVE_LIBSELINUX
+ if (S_ISREG(statbuf.st_mode) && is_selinux_enabled() > 0) {
+ security_context_t context_string;
+ security_context_t oldcontext;
+ context_t newcontext;
+
+ if (fgetfilecon(DEV, &oldcontext) < 0) {
+ if (errno != ENODATA)
+ err(EXIT_FAILURE,
+ _("%s: unable to obtain selinux file label"),
+ device_name);
+ if (matchpathcon(device_name, statbuf.st_mode, &oldcontext))
+ errx(EXIT_FAILURE, _("unable to matchpathcon()"));
+ }
+ if (!(newcontext = context_new(oldcontext)))
+ errx(EXIT_FAILURE, _("unable to create new selinux context"));
+ if (context_type_set(newcontext, SELINUX_SWAPFILE_TYPE))
+ errx(EXIT_FAILURE, _("couldn't compute selinux context"));
+
+ context_string = context_str(newcontext);
+
+ if (strcmp(context_string, oldcontext)!=0) {
+ if (fsetfilecon(DEV, context_string))
+ err(EXIT_FAILURE, _("unable to relabel %s to %s"),
+ device_name, context_string);
+ }
+ context_free(newcontext);
+ freecon(oldcontext);
+ }
+#endif
+ return EXIT_SUCCESS;
+}
diff --git a/disk-utils/partx.8 b/disk-utils/partx.8
new file mode 100644
index 0000000..be1608d
--- /dev/null
+++ b/disk-utils/partx.8
@@ -0,0 +1,173 @@
+.\" partx.8 --
+.\" Copyright 2007 Karel Zak <kzak@redhat.com>
+.\" Copyright 2007 Red Hat, Inc.
+.\" Copyright 2010 Davidlohr Bueso <dave@gnu.org>
+.\" May be distributed under the GNU General Public License
+.TH PARTX "8" "June 2012" "util-linux" "System Administration"
+.SH NAME
+partx \- tell the Linux kernel about the presence and numbering of
+on-disk partitions
+.SH SYNOPSIS
+partx [\-a|\-d|\-s] [\-t TYPE] [\-n M:N] [\-] disk
+.br
+partx [\-a|\-d|\-s] [\-t TYPE] partition [disk]
+.SH DESCRIPTION
+Given a device or disk-image,
+.B partx
+tries to parse the partition table and list its contents. It
+optionally adds or removes partitions.
+.PP
+The
+.I disk
+argument is optional when a
+.I partition
+argument is provided. To force scanning a partition as if it were a whole disk
+(for example to list nested subpartitions), use the argument "-". For example:
+
+.RS 7
+.TP
+partx \-\-show \- /dev/sda3
+.RE
+.PP
+This will see sda3 as a whole-disk rather than a partition.
+.PP
+The
+.B partx is not an fdisk program
+\-\- adding and removing partitions does not change the disk, it just
+tells the kernel about the presence and numbering of on-disk
+partitions.
+.SH OPTIONS
+.IP "\fB\-a\fR, \fB\-\-add\fP"
+Add the specified partitions, or read the disk and add all partitions.
+.IP "\fB\-b\fR, \fB\-\-bytes\fP"
+Print the SIZE column in bytes rather than in human-readable format.
+.IP "\fB\-d\fR, \fB\-\-delete\fP"
+Delete the specified partitions or all partitions.
+.IP "\fB\-g\fR, \fB\-\-noheadings\fP"
+Do not print a header line.
+.IP "\fB\-h\fR, \fB\-\-help\fP"
+Print a help text and exit.
+.IP "\fB\-l\fR, \fB\-\-list\fP"
+List the partitions. Note that all numbers are in 512-byte sectors.
+This output format is DEPRECATED in favour of
+.BR \-\-show .
+Do not use it in newly written scripts.
+.IP "\fB\-o\fR, \fB\-\-output \fIlist\fP"
+Define the output columns to use for
+.B \-\-show
+and
+.B \-\-raw
+output. If no output arrangement is specified, then a default set is
+used. Use
+.B \-\-help
+to get
+.I list
+of all supported columns. This option cannot be combined with
+.BR \-\-add ,
+.B \-\-delete
+or
+.B \-\-list
+options.
+.IP "\fB\-P\fR, \fB\-\-pairs\fP"
+Output using key="value" format.
+.IP "\fB\-n\fR, \fB\-\-nr \fIM:N\fP"
+Specify the range of partitions. For backward compatibility also the
+format
+.I M-N
+is supported. The range may contain negative numbers, for example
+.BI \-\-nr \ :\-1
+means the last partition, and
+.BI \-\-nr \ \-2:\-1
+means the last two partitions. Supported range specifications are:
+.RS 14
+.TP
+.I M
+Specifies just one partition (e.g. \fB\-\-nr\fR
+.IR 3 ).
+.TP
+.I M:
+Specifies lower limit only (e.g. \fB\-\-nr\fR
+.IR 2: ).
+.TP
+.I :N
+Specifies upper limit only (e.g. \fB\-\-nr\fR
+.IR :4 ).
+.TP
+.IR M:N \ or
+.TQ
+.I M-N
+Specifies lower and upper limits (e.g. \fB--nr\fR
+.IR 2:4 ).
+.RE
+.IP "\fB\-r\fR, \fB\-\-raw\fP"
+Use the raw output format.
+.IP "\fB\-s\fR, \fB\-\-show\fP"
+List the partitions. All numbers (except SIZE) are in 512-byte
+sectors. The output columns can be rearranged with the
+.B \-\-output
+option.
+.IP "\fB\-t\fR, \fB\-\-type \fItype\fP"
+Specify the partition table type
+.IR aix ,
+.IR bsd ,
+.IR dos ,
+.IR gpt ,
+.IR mac ,
+.IR minix ,
+.IR sgi ,
+.IR solaris_x86 ,
+.IR sun ,
+.I ultrix
+or
+.IR unixware .
+.IP "\fB\-v\fR, \fB\-\-verbose\fP"
+Verbose mode.
+.SH EXAMPLES
+.TP
+partx \-\-show /dev/sdb3
+.TQ
+partx \-\-show --nr 3 /dev/sdb
+.TQ
+partx \-\-show /dev/sdb3 /dev/sdb
+All three commands list partition 3 of /dev/sdb.
+.TP
+partx \-\-show \- /dev/sdb3
+Lists all subpartitions on /dev/sdb3 (the device is used as
+whole-disk).
+.TP
+partx \-o START -g --nr 5 /dev/sdb
+Prints the start sector of partition 5 on /dev/sdb without header.
+.TP
+partx \-o SECTORS,SIZE /dev/sda5 /dev/sda
+Lists the length in sectors and human-readable size of partition 5 on
+/dev/sda.
+.TP
+partx \-\-add --nr 3:5 /dev/sdd
+Adds all available partitions from 3 to 5 (inclusive) on /dev/sdd.
+.TP
+partx \-d --nr :-1 /dev/sdd
+Removes the last partition on /dev/sdd.
+.SH SEE ALSO
+.BR addpart (8),
+.BR delpart (8),
+.BR fdisk (8),
+.BR parted (8),
+.BR partprobe (8)
+.SH AUTHORS
+.MT dave@gnu.org
+Davidlohr Bueso
+.ME
+.br
+.MT kzak@redhat.com
+Karel Zak
+.ME
+.PP
+The original version was written by
+.MT aeb@cwi.nl
+Andries E. Brouwer
+.ME .
+.SH AVAILABILITY
+The partx command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/disk-utils/partx.c b/disk-utils/partx.c
new file mode 100644
index 0000000..9764478
--- /dev/null
+++ b/disk-utils/partx.c
@@ -0,0 +1,891 @@
+/*
+ * partx: tell the kernel about your disk's partitions
+ * [This is not an fdisk - adding and removing partitions
+ * is not a change of the disk, but just telling the kernel
+ * about presence and numbering of on-disk partitions.]
+ *
+ * aeb, 2000-03-21 -- sah is 42 now
+ *
+ * Copyright (C) 2010 Davidlohr Bueso <dave@gnu.org>
+ * Rewritten to use libblkid for util-linux
+ * based on ideas from Karel Zak <kzak@redhat.com>
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <assert.h>
+#include <dirent.h>
+
+#include <blkid.h>
+
+#include "c.h"
+#include "pathnames.h"
+#include "nls.h"
+#include "tt.h"
+#include "blkdev.h"
+#include "strutils.h"
+#include "xalloc.h"
+#include "partx.h"
+#include "sysfs.h"
+#include "loopdev.h"
+#include "at.h"
+#include "closestream.h"
+#include "optutils.h"
+
+/* this is the default upper limit, could be modified by --nr */
+#define SLICES_MAX 256
+
+/* all the columns (-o option) */
+enum {
+ COL_PARTNO,
+ COL_START,
+ COL_END,
+ COL_SECTORS,
+ COL_SIZE,
+ COL_NAME,
+ COL_UUID,
+ COL_TYPE,
+ COL_FLAGS,
+ COL_SCHEME,
+};
+
+#define ACT_ERROR "--{add,delete,show,list,raw,pairs}"
+enum {
+ ACT_NONE,
+ ACT_LIST,
+ ACT_SHOW,
+ ACT_ADD,
+ ACT_DELETE
+};
+
+enum {
+ FL_BYTES = (1 << 1)
+};
+
+/* column names */
+struct colinfo {
+ const char *name; /* header */
+ double whint; /* width hint (N < 1 is in percent of termwidth) */
+ int flags; /* TT_FL_* */
+ const char *help;
+};
+
+/* columns descriptions */
+struct colinfo infos[] = {
+ [COL_PARTNO] = { "NR", 0.25, TT_FL_RIGHT, N_("partition number") },
+ [COL_START] = { "START", 0.30, TT_FL_RIGHT, N_("start of the partition in sectors") },
+ [COL_END] = { "END", 0.30, TT_FL_RIGHT, N_("end of the partition in sectors") },
+ [COL_SECTORS] = { "SECTORS", 0.30, TT_FL_RIGHT, N_("number of sectors") },
+ [COL_SIZE] = { "SIZE", 0.30, TT_FL_RIGHT, N_("human readable size") },
+ [COL_NAME] = { "NAME", 0.30, TT_FL_TRUNC, N_("partition name") },
+ [COL_UUID] = { "UUID", 36, 0, N_("partition UUID")},
+ [COL_SCHEME] = { "SCHEME", 0.1, TT_FL_TRUNC, N_("partition table type (dos, gpt, ...)")},
+ [COL_FLAGS] = { "FLAGS", 0.1, TT_FL_TRUNC, N_("partition flags")},
+ [COL_TYPE] = { "TYPE", 1, TT_FL_RIGHT, N_("partition type hex or uuid")},
+};
+
+#define NCOLS ARRAY_SIZE(infos)
+
+/* array with IDs of enabled columns */
+static int columns[NCOLS], ncolumns;
+
+static int verbose;
+static int partx_flags;
+static struct loopdev_cxt lc;
+static int loopdev;
+
+static void assoc_loopdev(const char *fname)
+{
+ int rc;
+
+ if (loopcxt_init(&lc, 0))
+ err(EXIT_FAILURE, _("failed to initialize loopcxt"));
+
+ rc = loopcxt_find_unused(&lc);
+ if (rc)
+ err(EXIT_FAILURE, _("%s: failed to find unused loop device"),
+ fname);
+
+ if (verbose)
+ printf(_("Trying to use '%s' for the loop device\n"),
+ loopcxt_get_device(&lc));
+
+ if (loopcxt_set_backing_file(&lc, fname))
+ err(EXIT_FAILURE, _("%s: failed to set backing file"), fname);
+
+ rc = loopcxt_setup_device(&lc);
+
+ if (rc == -EBUSY)
+ err(EXIT_FAILURE, _("%s: failed to setup loop device"), fname);
+
+ loopdev = 1;
+}
+
+static inline int get_column_id(int num)
+{
+ assert(ARRAY_SIZE(columns) == NCOLS);
+ assert(num < ncolumns);
+ assert(columns[num] < (int) NCOLS);
+ return columns[num];
+}
+
+static inline struct colinfo *get_column_info(int num)
+{
+ return &infos[ get_column_id(num) ];
+}
+
+static int column_name_to_id(const char *name, size_t namesz)
+{
+ size_t i;
+
+ assert(name);
+
+ for (i = 0; i < NCOLS; i++) {
+ const char *cn = infos[i].name;
+
+ if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ return i;
+ }
+ warnx(_("unknown column: %s"), name);
+ return -1;
+}
+
+/*
+ * Given a partition return the corresponding partition number.
+ *
+ * Note that this function tries to use sysfs, otherwise it assumes that the
+ * last characters are always numeric (sda1, sdc20, etc).
+ */
+static int get_partno_from_device(char *partition, dev_t devno)
+{
+ int partno = 0;
+ size_t sz;
+ char *p, *end = NULL;
+
+ assert(partition);
+
+ if (devno) {
+ struct sysfs_cxt cxt;
+ int rc;
+
+ if (sysfs_init(&cxt, devno, NULL))
+ goto err;
+
+ rc = sysfs_read_int(&cxt, "partition", &partno);
+ sysfs_deinit(&cxt);
+
+ if (rc == 0)
+ return partno;
+ }
+
+ sz = strlen(partition);
+ p = partition + sz - 1;
+
+ if (!isdigit((unsigned int) *p))
+ goto err;
+
+ while (isdigit((unsigned int) *(p - 1))) p--;
+
+ errno = 0;
+ partno = strtol(p, &end, 10);
+ if (errno || !end || *end || p == end)
+ goto err;
+
+ return partno;
+err:
+ errx(EXIT_FAILURE, _("%s: failed to get partition number"), partition);
+}
+
+static int get_max_partno(const char *disk, dev_t devno)
+{
+ char path[PATH_MAX], *parent, *dirname = NULL;
+ struct stat st;
+ DIR *dir;
+ struct dirent *d;
+ int partno = 0;
+
+ if (!devno && !stat(disk, &st))
+ devno = st.st_rdev;
+ if (!devno)
+ goto dflt;
+ parent = strrchr(disk, '/');
+ if (!parent)
+ goto dflt;
+ parent++;
+
+ snprintf(path, sizeof(path), _PATH_SYS_DEVBLOCK "/%d:%d/",
+ major(devno), minor(devno));
+
+ dir = opendir(path);
+ if (!dir)
+ goto dflt;
+
+ dirname = xstrdup(path);
+
+ while ((d = readdir(dir))) {
+ int fd;
+
+ if (!strcmp(d->d_name, ".") ||
+ !strcmp(d->d_name, ".."))
+ continue;
+#ifdef _DIRENT_HAVE_D_TYPE
+ if (d->d_type != DT_DIR)
+ continue;
+#endif
+ if (strncmp(parent, d->d_name, strlen(parent)))
+ continue;
+ snprintf(path, sizeof(path), "%s/partition", d->d_name);
+
+ fd = open_at(dirfd(dir), dirname, path, O_RDONLY);
+ if (fd) {
+ int x = 0;
+ FILE *f = fdopen(fd, "r");
+ if (f) {
+ if (fscanf(f, "%d", &x) == 1 && x > partno)
+ partno = x;
+ fclose(f);
+ }
+ }
+ }
+
+ free(dirname);
+ closedir(dir);
+ return partno;
+dflt:
+ return SLICES_MAX;
+}
+
+static void del_parts_warnx(const char *device, int first, int last)
+{
+ if (first == last)
+ warnx(_("%s: error deleting partition %d"), device, first);
+ else
+ warnx(_("%s: error deleting partitions %d-%d"),
+ device, first, last);
+}
+
+static int del_parts(int fd, const char *device, dev_t devno,
+ int lower, int upper)
+{
+ int rc = 0, i, errfirst = 0, errlast = 0;
+
+ assert(fd >= 0);
+ assert(device);
+
+ if (!lower)
+ lower = 1;
+ if (!upper || lower < 0 || upper < 0) {
+ int n = get_max_partno(device, devno);
+ if (!upper)
+ upper = n;
+ else if (upper < 0)
+ upper = n + upper + 1;
+ if (lower < 0)
+ lower = n + lower + 1;
+ }
+ if (lower > upper) {
+ warnx(_("specified range <%d:%d> "
+ "does not make sense"), lower, upper);
+ return -1;
+ }
+
+ for (i = lower; i <= upper; i++) {
+ rc = partx_del_partition(fd, i);
+ if (rc == 0) {
+ if (verbose)
+ printf(_("%s: partition #%d removed\n"), device, i);
+ continue;
+ } else if (errno == ENXIO) {
+ if (verbose)
+ printf(_("%s: partition #%d already doesn't exist\n"), device, i);
+ continue;
+ }
+ rc = -1;
+ if (verbose)
+ warn(_("%s: deleting partition #%d failed"), device, i);
+ if (!errfirst)
+ errlast = errfirst = i;
+ else if (errlast + 1 == i)
+ errlast++;
+ else {
+ del_parts_warnx(device, errfirst, errlast);
+ errlast = errfirst = i;
+ }
+ }
+
+ if (errfirst)
+ del_parts_warnx(device, errfirst, errlast);
+ return rc;
+}
+
+
+static void add_parts_warnx(const char *device, int first, int last)
+{
+ if (first == last)
+ warnx(_("%s: error adding partition %d"), device, first);
+ else
+ warnx(_("%s: error adding partitions %d-%d"),
+ device, first, last);
+}
+
+static int add_parts(int fd, const char *device,
+ blkid_partlist ls, int lower, int upper)
+{
+ int i, nparts, rc = 0, errfirst = 0, errlast = 0;
+
+ assert(fd >= 0);
+ assert(device);
+ assert(ls);
+
+ nparts = blkid_partlist_numof_partitions(ls);
+
+ for (i = 0; i < nparts; i++) {
+ blkid_partition par = blkid_partlist_get_partition(ls, i);
+ int n = blkid_partition_get_partno(par);
+ uintmax_t start, size;
+
+ if (lower && n < lower)
+ continue;
+ if (upper && n > upper)
+ continue;
+
+ start = blkid_partition_get_start(par);
+ size = blkid_partition_get_size(par);
+
+ if (blkid_partition_is_extended(par))
+ /*
+ * Let's follow the Linux kernel and reduce
+ * DOS extended partition to 1 or 2 sectors.
+ */
+ size = min(size, (uintmax_t) 2);
+
+ if (partx_add_partition(fd, n, start, size) == 0) {
+ if (verbose)
+ printf(_("%s: partition #%d added\n"), device, n);
+ continue;
+ }
+ rc = -1;
+ if (verbose)
+ warn(_("%s: adding partition #%d failed"), device, n);
+ if (!errfirst)
+ errlast = errfirst = n;
+ else if (errlast + 1 == n)
+ errlast++;
+ else {
+ add_parts_warnx(device, errfirst, errlast);
+ errlast = errfirst = n;
+ }
+ }
+
+ if (errfirst)
+ add_parts_warnx(device, errfirst, errlast);
+
+ /*
+ * The kernel with enabled partitions scanner for loop devices add *all*
+ * partitions, so we should delete any extra, unwanted ones, when the -n
+ * option is passed.
+ */
+ if (loopdev && loopcxt_is_partscan(&lc) && (lower || upper)) {
+ for (i = 0; i < nparts; i++) {
+ blkid_partition par = blkid_partlist_get_partition(ls, i);
+ int n = blkid_partition_get_partno(par);
+
+ if (n < lower || n > upper)
+ partx_del_partition(fd, n);
+ }
+ }
+
+ return rc;
+}
+
+static int list_parts(blkid_partlist ls, int lower, int upper)
+{
+ int i, nparts;
+
+ assert(ls);
+
+ nparts = blkid_partlist_numof_partitions(ls);
+
+ for (i = 0; i < nparts; i++) {
+ blkid_partition par = blkid_partlist_get_partition(ls, i);
+ int n = blkid_partition_get_partno(par);
+ uintmax_t start, size;
+
+ if (lower && n < lower)
+ continue;
+ if (upper && n > upper)
+ continue;
+
+ start = blkid_partition_get_start(par);
+ size = blkid_partition_get_size(par);
+
+ printf(_("#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"),
+ n, start, start + size -1,
+ size, (size << 9) / 1000000);
+ }
+ return 0;
+}
+
+static void add_tt_line(struct tt *tt, blkid_partition par)
+{
+ struct tt_line *line;
+ int i;
+
+ assert(tt);
+ assert(par);
+
+ line = tt_add_line(tt, NULL);
+ if (!line) {
+ warn(_("failed to add line to output"));
+ return;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ char *str = NULL;
+ int rc = 0;
+
+ switch (get_column_id(i)) {
+ case COL_PARTNO:
+ rc = xasprintf(&str, "%d",
+ blkid_partition_get_partno(par));
+ break;
+ case COL_START:
+ rc = xasprintf(&str, "%ju",
+ blkid_partition_get_start(par));
+ break;
+ case COL_END:
+ rc = xasprintf(&str, "%ju",
+ blkid_partition_get_start(par) +
+ blkid_partition_get_size(par) - 1);
+ break;
+ case COL_SECTORS:
+ rc = xasprintf(&str, "%ju",
+ blkid_partition_get_size(par));
+ break;
+ case COL_SIZE:
+ if (partx_flags & FL_BYTES)
+ rc = xasprintf(&str, "%ju", (uintmax_t)
+ blkid_partition_get_size(par) << 9);
+ else
+ str = size_to_human_string(SIZE_SUFFIX_1LETTER,
+ blkid_partition_get_size(par) << 9);
+ break;
+ case COL_NAME:
+ str = (char *) blkid_partition_get_name(par);
+ if (str)
+ str = xstrdup(str);
+ break;
+ case COL_UUID:
+ str = (char *) blkid_partition_get_uuid(par);
+ if (str)
+ str = xstrdup(str);
+ break;
+ case COL_TYPE:
+ str = (char *) blkid_partition_get_type_string(par);
+ if (str)
+ str = xstrdup(str);
+ else
+ rc = xasprintf(&str, "0x%x",
+ blkid_partition_get_type(par));
+ break;
+ case COL_FLAGS:
+ rc = xasprintf(&str, "0x%llx", blkid_partition_get_flags(par));
+ break;
+ case COL_SCHEME:
+ {
+ blkid_parttable tab = blkid_partition_get_table(par);
+ if (tab) {
+ str = (char *) blkid_parttable_get_type(tab);
+ if (str)
+ str = xstrdup(str);
+ }
+ break;
+ }
+ default:
+ break;
+ }
+
+ if (rc || str)
+ tt_line_set_data(line, i, str);
+ }
+}
+
+static int show_parts(blkid_partlist ls, int tt_flags, int lower, int upper)
+{
+ int i, rc = -1;
+ struct tt *tt;
+ int nparts;
+
+ assert(ls);
+
+ nparts = blkid_partlist_numof_partitions(ls);
+ if (!nparts)
+ return 0;
+
+ tt = tt_new_table(tt_flags);
+ if (!tt) {
+ warn(_("failed to initialize output table"));
+ return -1;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ struct colinfo *col = get_column_info(i);
+
+ if (!tt_define_column(tt, col->name, col->whint, col->flags)) {
+ warnx(_("failed to initialize output column"));
+ goto done;
+ }
+ }
+
+ for (i = 0; i < nparts; i++) {
+ blkid_partition par = blkid_partlist_get_partition(ls, i);
+ int n = blkid_partition_get_partno(par);
+
+ if (lower && n < lower)
+ continue;
+ if (upper && n > upper)
+ continue;
+
+ add_tt_line(tt, par);
+ }
+
+ rc = 0;
+ tt_print_table(tt);
+done:
+ tt_free_table(tt);
+ return rc;
+}
+
+static blkid_partlist get_partlist(blkid_probe pr,
+ const char *device, char *type)
+{
+ blkid_partlist ls;
+ blkid_parttable tab;
+
+ assert(pr);
+ assert(device);
+
+ if (type) {
+ char *name[] = { type, NULL };
+
+ if (blkid_probe_filter_partitions_type(pr,
+ BLKID_FLTR_ONLYIN, name)) {
+ warnx(_("failed to initialize blkid "
+ "filter for '%s'"), type);
+ return NULL;
+ }
+ }
+
+ ls = blkid_probe_get_partitions(pr);
+ if (!ls) {
+ warnx(_("%s: failed to read partition table"), device);
+ return NULL;
+ }
+
+ tab = blkid_partlist_get_table(ls);
+ if (verbose && tab) {
+ printf(_("%s: partition table type '%s' detected\n"),
+ device, blkid_parttable_get_type(tab));
+
+ if (!blkid_partlist_numof_partitions(ls))
+ printf(_("%s: partition table with no partitions"), device);
+ }
+
+ return ls;
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ size_t i;
+
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"),
+ program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -a, --add add specified partitions or all of them\n"
+ " -d, --delete delete specified partitions or all of them\n"
+ " -l, --list list partitions (DEPRECATED)\n"
+ " -s, --show list partitions\n\n"
+
+ " -b, --bytes print SIZE in bytes rather than in human readable format\n"
+ " -g, --noheadings don't print headings for --show\n"
+ " -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+ " -o, --output <type> define which output columns to use\n"
+ " -P, --pairs use key=\"value\" output format\n"
+ " -r, --raw use raw output format\n"
+ " -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+ " -v, --verbose verbose mode\n"), out);
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+
+ fputs(_("\nAvailable columns (for --show, --raw or --pairs):\n"), out);
+
+ for (i = 0; i < NCOLS; i++)
+ fprintf(out, " %10s %s\n", infos[i].name, _(infos[i].help));
+
+ fprintf(out, USAGE_MAN_TAIL("partx(8)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int fd, c, what = ACT_NONE, lower = 0, upper = 0, rc = 0;
+ int tt_flags = 0;
+ char *type = NULL;
+ char *device = NULL; /* pointer to argv[], ie: /dev/sda1 */
+ char *wholedisk = NULL; /* allocated, ie: /dev/sda */
+ char *outarg = NULL;
+ dev_t disk_devno = 0, part_devno = 0;
+
+ static const struct option long_opts[] = {
+ { "bytes", no_argument, NULL, 'b' },
+ { "noheadings", no_argument, NULL, 'g' },
+ { "raw", no_argument, NULL, 'r' },
+ { "list", no_argument, NULL, 'l' },
+ { "show", no_argument, NULL, 's' },
+ { "add", no_argument, NULL, 'a' },
+ { "delete", no_argument, NULL, 'd' },
+ { "type", required_argument, NULL, 't' },
+ { "nr", required_argument, NULL, 'n' },
+ { "output", required_argument, NULL, 'o' },
+ { "pairs", no_argument, NULL, 'P' },
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, 'V' },
+ { "verbose", no_argument, NULL, 'v' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'P','a','d','l','r','s' },
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv,
+ "abdglrsvn:t:o:PhV", long_opts, NULL)) != -1) {
+
+ err_exclusive_options(c, long_opts, excl, excl_st);
+
+ switch(c) {
+ case 'a':
+ what = ACT_ADD;
+ break;
+ case 'b':
+ partx_flags |= FL_BYTES;
+ break;
+ case 'd':
+ what = ACT_DELETE;
+ break;
+ case 'g':
+ tt_flags |= TT_FL_NOHEADINGS;
+ break;
+ case 'l':
+ what = ACT_LIST;
+ break;
+ case 'n':
+ if (parse_range(optarg, &lower, &upper, 0))
+ errx(EXIT_FAILURE, _("failed to parse --nr <M-N> range"));
+ break;
+ case 'o':
+ outarg = optarg;
+ break;
+ case 'P':
+ tt_flags |= TT_FL_EXPORT;
+ what = ACT_SHOW;
+ break;
+ case 'r':
+ tt_flags |= TT_FL_RAW;
+ what = ACT_SHOW;
+ break;
+ case 's':
+ what = ACT_SHOW;
+ break;
+ case 't':
+ type = optarg;
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ case 'h':
+ usage(stdout);
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case '?':
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (what == ACT_NONE)
+ what = ACT_SHOW;
+
+ /* --show default, could by modified by -o */
+ if (what == ACT_SHOW && !ncolumns) {
+ columns[ncolumns++] = COL_PARTNO;
+ columns[ncolumns++] = COL_START;
+ columns[ncolumns++] = COL_END;
+ columns[ncolumns++] = COL_SECTORS;
+ columns[ncolumns++] = COL_SIZE;
+ columns[ncolumns++] = COL_NAME;
+ columns[ncolumns++] = COL_UUID;
+ }
+
+ if (what == ACT_SHOW && outarg &&
+ string_add_to_idarray(outarg, columns, ARRAY_SIZE(columns),
+ &ncolumns, column_name_to_id) < 0)
+ return EXIT_FAILURE;
+
+ /*
+ * Note that 'partx /dev/sda1' == 'partx /dev/sda1 /dev/sda'
+ * so assume that the device and/or disk are always the last
+ * arguments to be passed to partx.
+ */
+ if (optind == argc - 2) {
+ /* passed 2 arguments:
+ * /dev/sda1 /dev/sda : partition + whole-disk
+ * -- /dev/sda1 : partition that should be used as a whole-disk
+ */
+ device = argv[optind];
+
+ if (strcmp(device, "-") == 0) {
+ device = NULL;
+ wholedisk = xstrdup(argv[optind + 1]);
+ } else {
+ device = argv[optind];
+ wholedisk = xstrdup(argv[optind + 1]);
+ }
+ } else if (optind == argc - 1) {
+ /* passed only one arg (ie: /dev/sda3 or /dev/sda) */
+ struct stat sb;
+
+ device = argv[optind];
+
+ if (stat(device, &sb))
+ err(EXIT_FAILURE, _("stat failed %s"), device);
+
+ part_devno = sb.st_rdev;
+
+ if (blkid_devno_to_wholedisk(part_devno,
+ NULL, 0, &disk_devno) == 0 &&
+ part_devno != disk_devno)
+ wholedisk = blkid_devno_to_devname(disk_devno);
+
+ if (!wholedisk) {
+ wholedisk = xstrdup(device);
+ disk_devno = part_devno;
+ device = NULL;
+ part_devno = 0;
+ }
+ } else
+ usage(stderr);
+
+ if (device && (upper || lower))
+ errx(EXIT_FAILURE, _("--nr and <partition> are mutually exclusive"));
+
+ assert(wholedisk);
+
+ if (device) {
+ /* use partno from given partition instead of --nr range, e.g:
+ * partx -d /dev/sda3
+ * is the same like:
+ * partx -d --nr 3 /dev/sda
+ */
+ struct stat sb;
+
+ if (!part_devno && !stat(device, &sb))
+ part_devno = sb.st_rdev;
+
+ lower = upper = get_partno_from_device(device, part_devno);
+ }
+
+ if (verbose)
+ printf(_("partition: %s, disk: %s, lower: %d, upper: %d\n"),
+ device ? device : "none", wholedisk, lower, upper);
+
+ if (what == ACT_ADD || what == ACT_DELETE) {
+ struct stat x;
+
+ if (stat(wholedisk, &x))
+ errx(EXIT_FAILURE, "%s", wholedisk);
+
+ if (S_ISREG(x.st_mode)) {
+ /* not a blkdev, try to associate it to a loop device */
+ if (what == ACT_DELETE)
+ errx(EXIT_FAILURE, _("%s: cannot delete partitions"),
+ wholedisk);
+ if (!loopmod_supports_partscan())
+ errx(EXIT_FAILURE, _("%s: partitioned loop devices unsupported"),
+ wholedisk);
+ assoc_loopdev(wholedisk);
+ wholedisk = xstrdup(lc.device);
+ } else if (!S_ISBLK(x.st_mode))
+ errx(EXIT_FAILURE, _("%s: not a block device"), wholedisk);
+ }
+ if ((fd = open(wholedisk, O_RDONLY)) == -1)
+ err(EXIT_FAILURE, _("cannot open %s"), wholedisk);
+
+ if (what == ACT_DELETE)
+ rc = del_parts(fd, wholedisk, disk_devno, lower, upper);
+ else {
+ blkid_probe pr = blkid_new_probe();
+ blkid_partlist ls = NULL;
+
+ if (!pr || blkid_probe_set_device(pr, fd, 0, 0))
+ warnx(_("%s: failed to initialize blkid prober"),
+ wholedisk);
+ else
+ ls = get_partlist(pr, wholedisk, type);
+
+ if (ls) {
+ int n = blkid_partlist_numof_partitions(ls);
+
+ if (lower < 0)
+ lower = n + lower + 1;
+ if (upper < 0)
+ upper = n + upper + 1;
+ if (lower > upper) {
+ warnx(_("specified range <%d:%d> "
+ "does not make sense"), lower, upper);
+ rc = -1, what = ACT_NONE;
+ }
+
+ switch (what) {
+ case ACT_SHOW:
+ rc = show_parts(ls, tt_flags, lower, upper);
+ break;
+ case ACT_LIST:
+ rc = list_parts(ls, lower, upper);
+ break;
+ case ACT_ADD:
+ rc = add_parts(fd, wholedisk, ls, lower, upper);
+ break;
+ case ACT_NONE:
+ break;
+ default:
+ abort();
+ }
+ }
+ blkid_free_probe(pr);
+ }
+
+ if (loopdev)
+ loopcxt_deinit(&lc);
+
+ close(fd);
+ return rc ? EXIT_FAILURE : EXIT_SUCCESS;
+}
diff --git a/disk-utils/partx.h b/disk-utils/partx.h
new file mode 100644
index 0000000..254cd85
--- /dev/null
+++ b/disk-utils/partx.h
@@ -0,0 +1,75 @@
+#ifndef UTIL_LINUX_PARTX_H
+#define UTIL_LINUX_PARTX_H
+
+#include <sys/ioctl.h>
+#include <linux/blkpg.h>
+
+#ifndef BLKPG_ADD_PARTITION
+# define BLKPG_ADD_PARTITION 1
+#endif
+
+#ifndef BLKPG_DEL_PARTITION
+# define BLKPG_DEL_PARTITION 2
+#endif
+
+#ifndef BLKPG_RESIZE_PARTITION
+# define BLKPG_RESIZE_PARTITION 3 /* since Linux 3.6 */
+#endif
+
+static inline int partx_del_partition(int fd, unsigned int partno)
+{
+ struct blkpg_ioctl_arg a;
+ struct blkpg_partition p;
+
+ p.pno = partno;
+ p.start = 0;
+ p.length = 0;
+ p.devname[0] = 0;
+ p.volname[0] = 0;
+ a.op = BLKPG_DEL_PARTITION;
+ a.flags = 0;
+ a.datalen = sizeof(p);
+ a.data = &p;
+
+ return ioctl(fd, BLKPG, &a);
+}
+
+static inline int partx_add_partition(int fd, int partno,
+ uint64_t start, uint64_t size)
+{
+ struct blkpg_ioctl_arg a;
+ struct blkpg_partition p;
+
+ p.pno = partno;
+ p.start = start << 9;
+ p.length = size << 9;
+ p.devname[0] = 0;
+ p.volname[0] = 0;
+ a.op = BLKPG_ADD_PARTITION;
+ a.flags = 0;
+ a.datalen = sizeof(p);
+ a.data = &p;
+
+ return ioctl(fd, BLKPG, &a);
+}
+
+static inline int partx_resize_partition(int fd, int partno,
+ uint64_t start, uint64_t size)
+{
+ struct blkpg_ioctl_arg a;
+ struct blkpg_partition p;
+
+ p.pno = partno;
+ p.start = start << 9;
+ p.length = size << 9;
+ p.devname[0] = 0;
+ p.volname[0] = 0;
+ a.op = BLKPG_RESIZE_PARTITION;
+ a.flags = 0;
+ a.datalen = sizeof(p);
+ a.data = &p;
+
+ return ioctl(fd, BLKPG, &a);
+}
+
+#endif /* UTIL_LINUX_PARTX_H */
diff --git a/disk-utils/raw.8 b/disk-utils/raw.8
new file mode 100644
index 0000000..0e47843
--- /dev/null
+++ b/disk-utils/raw.8
@@ -0,0 +1,92 @@
+.\" -*- nroff -*-
+.TH RAW 8 "August 1999" "util-linux" "System Administration"
+.SH NAME
+raw \- bind a Linux raw character device
+.SH SYNOPSIS
+.B raw
+.I /dev/raw/raw<N> <major> <minor>
+.PP
+.B raw
+.I /dev/raw/raw<N> /dev/<blockdev>
+.PP
+.B raw \-q
+.I /dev/raw/raw<N>
+.PP
+.B raw \-qa
+.SH DESCRIPTION
+.B raw
+is used to bind a Linux raw character device to a block device. Any
+block device may be used: at the time of binding, the device driver does
+not even have to be accessible (it may be loaded on demand as a kernel
+module later).
+.PP
+.B raw
+is used in two modes: it either sets raw device bindings, or it queries
+existing bindings. When setting a raw device,
+.I /dev/raw/raw<N>
+is the device name of an existing raw device node in the filesystem.
+The block device to which it is to be bound can be specified either in
+terms of its
+.I major
+and
+.I minor
+device numbers, or as a path name
+.I /dev/<blockdev>
+to an existing block device file.
+.PP
+The bindings already in existence can be queried with the
+.I \-q
+option, which is used either with a raw device filename to query that one
+device, or with the
+.I \-a
+option to query all bound raw devices.
+.PP
+Unbinding can be done by specifying major and minor 0.
+.PP
+Once bound to a block device, a raw device can be opened, read and
+written, just like the block device it is bound to. However, the raw
+device does not behave exactly like the block device. In particular,
+access to the raw device bypasses the kernel's block buffer cache
+entirely: all I/O is done directly to and from the address space of the
+process performing the I/O. If the underlying block device driver can
+support DMA, then no data copying at all is required to complete the
+I/O.
+.PP
+Because raw I/O involves direct hardware access to a process's memory, a
+few extra restrictions must be observed. All I/Os must be correctly
+aligned in memory and on disk: they must start at a sector offset on
+disk, they must be an exact number of sectors long, and the data buffer
+in virtual memory must also be aligned to a multiple of the sector
+size. The sector size is 512 bytes for most devices.
+.SH OPTIONS
+.TP
+.B -q
+Set query mode.
+.B raw
+will query an existing binding instead of setting a new one.
+.TP
+.B -a
+With
+.B -q
+, specify that all bound raw devices should be queried.
+.TP
+.B -h
+Provide a usage summary.
+.SH BUGS
+The Linux
+.BR dd (1)
+command should be used without the \fBbs=\fR option, or the blocksize
+needs to be a multiple of the sector size of the device (512 bytes usually),
+otherwise it will fail with "Invalid Argument" messages (EINVAL).
+
+.PP
+Raw I/O devices do not maintain cache coherency with the Linux block
+device buffer cache. If you use raw I/O to overwrite data already in
+the buffer cache, the buffer cache will no longer correspond to the
+contents of the actual storage device underneath. This is deliberate,
+but is regarded either a bug or a feature depending on who you ask!
+.SH AUTHOR
+Stephen Tweedie (sct@redhat.com)
+.SH AVAILABILITY
+The raw command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/raw.c b/disk-utils/raw.c
new file mode 100644
index 0000000..eb58e96
--- /dev/null
+++ b/disk-utils/raw.c
@@ -0,0 +1,270 @@
+/*
+ * raw.c: User mode tool to bind and query raw character devices.
+ *
+ * Stephen Tweedie, 1999, 2000
+ *
+ * This file may be redistributed under the terms of the GNU General
+ * Public License, version 2.
+ *
+ * Copyright Red Hat Software, 1999, 2000
+ *
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <linux/major.h>
+#include <linux/raw.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "pathnames.h"
+
+#define EXIT_RAW_ACCESS 3
+#define EXIT_RAW_IOCTL 4
+
+#define RAW_NR_MINORS 8192
+
+int do_query;
+int do_query_all;
+
+int master_fd;
+int raw_minor;
+
+void open_raw_ctl(void);
+static int query(int minor_raw, const char *raw_name, int quiet);
+static int bind(int minor_raw, int block_major, int block_minor);
+
+static void __attribute__ ((__noreturn__)) usage(int err)
+{
+ FILE *out = err == EXIT_SUCCESS ? stdout : stderr;
+
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %1$s %2$srawN <major> <minor>\n"
+ " %1$s %2$srawN /dev/<blockdevice>\n"
+ " %1$s -q %2$srawN\n"
+ " %1$s -qa\n"), program_invocation_short_name,
+ _PATH_RAWDEVDIR);
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -q, --query set query mode\n"), out);
+ fputs(_(" -a, --all query all raw devices\n"), out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("raw(8)"));
+ exit(err);
+}
+
+static long strtol_octal_or_err(const char *str, const char *errmesg)
+{
+ long num;
+ char *end = NULL;
+
+ if (str == NULL || *str == '\0')
+ goto err;
+ errno = 0;
+ num = strtol(str, &end, 0);
+
+ if (errno || str == end || (end && *end))
+ goto err;
+
+ return num;
+ err:
+ if (errno)
+ err(EXIT_FAILURE, "%s: '%s'", errmesg, str);
+ else
+ errx(EXIT_FAILURE, "%s: '%s'", errmesg, str);
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+ int c;
+ char *raw_name;
+ char *block_name;
+ int retval;
+ int block_major, block_minor;
+ int i, rc;
+
+ struct stat statbuf;
+
+ static const struct option longopts[] = {
+ {"query", no_argument, 0, 'q'},
+ {"all", no_argument, 0, 'a'},
+ {"version", no_argument, 0, 'V'},
+ {"help", no_argument, 0, 'h'},
+ {NULL, no_argument, 0, '0'},
+ };
+
+ setlocale(LC_MESSAGES, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "qaVh", longopts, NULL)) != -1)
+ switch (c) {
+ case 'q':
+ do_query = 1;
+ break;
+ case 'a':
+ do_query_all = 1;
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(EXIT_SUCCESS);
+ default:
+ usage(EXIT_FAILURE);
+ }
+
+ /*
+ * Check for, and open, the master raw device, /dev/raw
+ */
+ open_raw_ctl();
+
+ if (do_query_all) {
+ if (optind < argc)
+ usage(EXIT_FAILURE);
+ for (i = 1; i < RAW_NR_MINORS; i++)
+ query(i, NULL, 1);
+ exit(EXIT_SUCCESS);
+ }
+
+ /*
+ * It's a bind or a single query. Either way we need a raw device.
+ */
+
+ if (optind >= argc)
+ usage(EXIT_FAILURE);
+ raw_name = argv[optind++];
+
+ /*
+ * try to check the device name before stat(), because on systems with
+ * udev the raw0 causes a create udev event for char 162/0, which
+ * causes udev to *remove* /dev/rawctl
+ */
+ rc = sscanf(raw_name, _PATH_RAWDEVDIR "raw%d", &raw_minor);
+ if (rc != 1)
+ usage(EXIT_FAILURE);
+
+ if (raw_minor == 0)
+ errx(EXIT_RAW_ACCESS,
+ _("Device '%s' is the control raw device "
+ "(use raw<N> where <N> is greater than zero)"),
+ raw_name);
+
+ if (do_query)
+ return query(raw_minor, raw_name, 0);
+
+ /*
+ * It's not a query, so we still have some parsing to do. Have we been
+ * given a block device filename or a major/minor pair?
+ */
+ switch (argc - optind) {
+ case 1:
+ block_name = argv[optind];
+ retval = stat(block_name, &statbuf);
+ if (retval)
+ err(EXIT_RAW_ACCESS,
+ _("Cannot locate block device '%s'"), block_name);
+ if (!S_ISBLK(statbuf.st_mode))
+ errx(EXIT_RAW_ACCESS,
+ _("Device '%s' is not a block device"),
+ block_name);
+ block_major = major(statbuf.st_rdev);
+ block_minor = minor(statbuf.st_rdev);
+ break;
+
+ case 2:
+ block_major =
+ strtol_octal_or_err(argv[optind],
+ _("failed to parse argument"));
+ block_minor =
+ strtol_octal_or_err(argv[optind + 1],
+ _("failed to parse argument"));
+ break;
+
+ default:
+ usage(EXIT_FAILURE);
+ }
+
+ return bind(raw_minor, block_major, block_minor);
+}
+
+void open_raw_ctl(void)
+{
+ master_fd = open(_PATH_RAWDEVCTL, O_RDWR, 0);
+ if (master_fd < 0) {
+ master_fd = open(_PATH_RAWDEVCTL_OLD, O_RDWR, 0);
+ if (master_fd < 0)
+ err(EXIT_RAW_ACCESS,
+ _("Cannot open master raw device '%s'"),
+ _PATH_RAWDEVCTL);
+ }
+}
+
+static int query(int minor_raw, const char *raw_name, int quiet)
+{
+ struct raw_config_request rq;
+ static int has_worked = 0;
+
+ if (raw_name) {
+ struct stat statbuf;
+
+ if (!stat(raw_name, &statbuf))
+ err(EXIT_RAW_ACCESS,
+ _("Cannot locate raw device '%s'"), raw_name);
+ if (!S_ISCHR(statbuf.st_mode))
+ errx(EXIT_RAW_ACCESS,
+ _("Raw device '%s' is not a character dev"),
+ raw_name);
+ if (major(statbuf.st_rdev) != RAW_MAJOR)
+ errx(EXIT_RAW_ACCESS,
+ _("Device '%s' is not a raw dev"), raw_name);
+ minor_raw = minor(statbuf.st_rdev);
+ }
+
+ rq.raw_minor = minor_raw;
+ if (ioctl(master_fd, RAW_GETBIND, &rq) < 0) {
+ if (quiet && errno == ENODEV)
+ return 3;
+ if (has_worked && errno == EINVAL)
+ return 0;
+ err(EXIT_RAW_IOCTL, _("Error querying raw device"));
+ }
+
+ /* If one query has worked, mark that fact so that we don't report
+ * spurious fatal errors if raw(8) has been built to support more raw
+ * minor numbers than the kernel has. */
+ has_worked = 1;
+ if (quiet && !rq.block_major && !rq.block_minor)
+ return 0;
+ printf(_("%sraw%d: bound to major %d, minor %d\n"),
+ _PATH_RAWDEVDIR, minor_raw, (int)rq.block_major,
+ (int)rq.block_minor);
+ return 0;
+}
+
+static int bind(int minor_raw, int block_major, int block_minor)
+{
+ struct raw_config_request rq;
+
+ rq.raw_minor = minor_raw;
+ rq.block_major = block_major;
+ rq.block_minor = block_minor;
+ if (!ioctl(master_fd, RAW_SETBIND, &rq))
+ err(EXIT_RAW_IOCTL, _("Error setting raw device"));
+ printf(_("%sraw%d: bound to major %d, minor %d\n"),
+ _PATH_RAWDEVDIR, raw_minor, (int)rq.block_major,
+ (int)rq.block_minor);
+ return 0;
+}
diff --git a/disk-utils/resizepart.8 b/disk-utils/resizepart.8
new file mode 100644
index 0000000..c009cc3
--- /dev/null
+++ b/disk-utils/resizepart.8
@@ -0,0 +1,38 @@
+.\" resizepart.8 --
+.\" Copyright 2012 Vivek Goyal <vgoyal@redhat.com>
+.\" Copyright 2012 Red Hat, Inc.
+.\" May be distributed under the GNU General Public License
+.TH RESIZEPART 8 "February 2012" "util-linux" "System Administration"
+.SH NAME
+resizepart \-
+simple wrapper around the "resize partition" ioctl
+.SH SYNOPSIS
+.B resizepart
+.I device partition length
+.SH DESCRIPTION
+.B resizepart
+is a program that informs the Linux kernel of new partition size.
+
+This command doesn't manipulate partitions on hard drive.
+
+.SH PARAMETERS
+.TP
+.I device
+Specify the disk device.
+.TP
+.I partition
+Specify the partition number.
+.TP
+.I length
+Specify the length of the partition (in 512-byte sectors).
+
+.SH SEE ALSO
+.BR addpart (8),
+.BR delpart (8),
+.BR fdisk (8),
+.BR parted (8),
+.BR partprobe (8),
+.BR partx (8)
+.SH AVAILABILITY
+The resizepart command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/disk-utils/resizepart.c b/disk-utils/resizepart.c
new file mode 100644
index 0000000..5517c4f
--- /dev/null
+++ b/disk-utils/resizepart.c
@@ -0,0 +1,106 @@
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "nls.h"
+#include "partx.h"
+#include "sysfs.h"
+#include "strutils.h"
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(" %s <disk device> <partition number> <length>\n"),
+ program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("resizepart(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static int get_partition_start(int fd, int partno, uint64_t *start)
+{
+ struct stat st;
+ struct sysfs_cxt disk = UL_SYSFSCXT_EMPTY,
+ part = UL_SYSFSCXT_EMPTY;
+ dev_t devno = 0;
+ int rc = -1;
+
+ /*
+ * wholedisk
+ */
+ if (fstat(fd, &st) || !S_ISBLK(st.st_mode))
+ goto done;
+ devno = st.st_rdev;
+ if (sysfs_init(&disk, devno, NULL))
+ goto done;
+ /*
+ * partition
+ */
+ devno = sysfs_partno_to_devno(&disk, partno);
+ if (!devno)
+ goto done;
+ if (sysfs_init(&part, devno, &disk))
+ goto done;
+ if (sysfs_read_u64(&part, "start", start))
+ goto done;
+
+ rc = 0;
+done:
+ sysfs_deinit(&part);
+ sysfs_deinit(&disk);
+ return rc;
+}
+
+int main(int argc, char **argv)
+{
+ int c, fd, partno;
+ const char *wholedisk;
+ uint64_t start;
+
+ static const struct option longopts[] = {
+ {"help", no_argument, 0, 'h'},
+ {"version", no_argument, 0, 'V'},
+ {NULL, no_argument, 0, '0'},
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+
+ while ((c = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
+ switch (c) {
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (argc != 4)
+ usage(stderr);
+
+ wholedisk = argv[1];
+ partno = strtou32_or_err(argv[2], _("invalid partition number argument"));
+
+ if ((fd = open(wholedisk, O_RDONLY)) < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), wholedisk);
+
+ if (get_partition_start(fd, partno, &start))
+ err(EXIT_FAILURE, _("%s: failed to get start of the partition number %s"),
+ wholedisk, argv[2]);
+
+ if (partx_resize_partition(fd, partno, start,
+ strtou64_or_err(argv[3], _("invalid length argument"))))
+ err(EXIT_FAILURE, _("failed to resize partition"));
+
+ return 0;
+}
diff --git a/disk-utils/swaplabel.8 b/disk-utils/swaplabel.8
new file mode 100644
index 0000000..0d47456
--- /dev/null
+++ b/disk-utils/swaplabel.8
@@ -0,0 +1,67 @@
+.\" Copyright 2010 Jason Borden <jborden@bluehost.com>
+.\"
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH SWAPLABEL 8 "April 2010" "util-linux" "System Administration"
+.SH NAME
+swaplabel \- print or change the label or UUID of a swap area
+.SH SYNOPSIS
+.B swaplabel
+.RB [ \-L
+.IR label ]
+.RB [ \-U
+.IR UUID ]
+.I device
+.SH DESCRIPTION
+.B swaplabel
+will display or change the label or UUID of a swap partition located on
+.IR device
+(or regular file).
+.PP
+If the optional arguments
+.B \-L
+and
+.B \-U
+are not given,
+.B swaplabel
+will simply display the current swap-area label and UUID of
+.IR device .
+.PP
+If an optional argument is present, then
+.B swaplabel
+will change the appropriate value on
+.IR device .
+These values can also be set during swap creation using
+.BR mkswap (8).
+The
+.B swaplabel
+utility allows to change the label or UUID on an actively used swap device.
+.SH OPTIONS
+.TP
+.BR \-h , " \-\-help"
+Display help text and exit.
+.TP
+.BR \-L , " \-\-label " \fIlabel\fR
+Specify a new \fIlabel\fR for the device.
+Swap partition labels can be at most 16 characters long. If
+.I label
+is longer than 16 characters,
+.B swaplabel
+will truncate it and print a warning message.
+.TP
+.BR \-U , " \-\-uuid " \fIUUID\fR
+Specify a new \fIUUID\fR for the device.
+The \fI UUID\fR
+must be in the standard 8-4-4-4-12 character format, such as is output by
+.BR uuidgen (1) .
+.PP
+.SH AUTHOR
+.B swaplabel
+was written by Jason Borden <jborden@bluehost.com> and Karel Zak <kzak@redhat.com>.
+.SH AVAILABILITY
+The swaplabel command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH SEE ALSO
+.BR mkswap (8),
+.BR swapon (8),
+.BR uuidgen (1)
diff --git a/disk-utils/swaplabel.c b/disk-utils/swaplabel.c
new file mode 100644
index 0000000..3e3e78b
--- /dev/null
+++ b/disk-utils/swaplabel.c
@@ -0,0 +1,228 @@
+/*
+ * swaplabel.c - Print or change the label / UUID of a swap partition
+ *
+ * Copyright (C) 2010 Jason Borden <jborden@bluehost.com>
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * Usage: swaplabel [-L label] [-U UUID] device
+ *
+ * This file may be redistributed under the terms of the GNU Public License
+ * version 2 or later.
+ *
+ */
+#include <stdio.h>
+#include <stddef.h>
+#include <string.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <blkid.h>
+#include <getopt.h>
+
+#ifdef HAVE_LIBUUID
+# include <uuid.h>
+#endif
+
+#include "c.h"
+#include "closestream.h"
+#include "all-io.h"
+#include "swapheader.h"
+#include "strutils.h"
+#include "nls.h"
+
+#define SWAP_UUID_OFFSET (offsetof(struct swap_header_v1_2, uuid))
+#define SWAP_LABEL_OFFSET (offsetof(struct swap_header_v1_2, volume_name))
+
+/*
+ * Returns new libblkid prober. This function call exit() on error.
+ */
+static blkid_probe get_swap_prober(const char *devname)
+{
+ blkid_probe pr;
+ int rc;
+ const char *version = NULL;
+ char *swap_filter[] = { "swap", NULL };
+
+ pr = blkid_new_probe_from_filename(devname);
+ if (!pr) {
+ warn(_("%s: unable to probe device"), devname);
+ return NULL;
+ }
+
+ blkid_probe_enable_superblocks(pr, TRUE);
+ blkid_probe_set_superblocks_flags(pr,
+ BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
+ BLKID_SUBLKS_VERSION);
+
+ blkid_probe_filter_superblocks_type(pr, BLKID_FLTR_ONLYIN, swap_filter);
+
+ rc = blkid_do_safeprobe(pr);
+ if (rc == -1)
+ warn(_("%s: unable to probe device"), devname);
+ else if (rc == -2)
+ warnx(_("%s: ambivalent probing result, use wipefs(8)"), devname);
+ else if (rc == 1)
+ warnx(_("%s: not a valid swap partition"), devname);
+
+ if (rc == 0) {
+ /* supported is SWAPSPACE2 only */
+ if (blkid_probe_lookup_value(pr, "VERSION", &version, NULL) == 0
+ && version
+ && strcmp(version, "2"))
+ warnx(_("%s: unsupported swap version '%s'"),
+ devname, version);
+ else
+ return pr;
+ }
+
+ blkid_free_probe(pr);
+ return NULL;
+}
+
+/* Print the swap partition information */
+static int print_info(blkid_probe pr)
+{
+ const char *data;
+
+ if (!blkid_probe_lookup_value(pr, "LABEL", &data, NULL))
+ printf("LABEL: %s\n", data);
+
+ if (!blkid_probe_lookup_value(pr, "UUID", &data, NULL))
+ printf("UUID: %s\n", data);
+
+ return 0;
+}
+
+/* Change the swap partition info */
+static int change_info(const char *devname, const char *label, const char *uuid)
+{
+ int fd;
+
+ fd = open(devname, O_RDWR);
+ if (fd < 0) {
+ warn(_("cannot open %s"), devname);
+ goto err;
+ }
+#ifdef HAVE_LIBUUID
+ /* Write the uuid if it was provided */
+ if (uuid) {
+ uuid_t newuuid;
+
+ if (uuid_parse(uuid, newuuid) == -1)
+ warnx(_("failed to parse UUID: %s"), uuid);
+ else {
+ if (lseek(fd, SWAP_UUID_OFFSET, SEEK_SET) !=
+ SWAP_UUID_OFFSET) {
+ warn(_("%s: failed to seek to swap UUID"), devname);
+ goto err;
+
+ } else if (write_all(fd, newuuid, sizeof(newuuid))) {
+ warn(_("%s: failed to write UUID"), devname);
+ goto err;
+ }
+ }
+ }
+#endif
+ /* Write the label if it was provided */
+ if (label) {
+ char newlabel[SWAP_LABEL_LENGTH];
+
+ if (lseek(fd, SWAP_LABEL_OFFSET, SEEK_SET) != SWAP_LABEL_OFFSET) {
+ warn(_("%s: failed to seek to swap label "), devname);
+ goto err;
+ }
+ memset(newlabel, 0, sizeof(newlabel));
+ xstrncpy(newlabel, label, sizeof(newlabel));
+
+ if (strlen(label) > strlen(newlabel))
+ warnx(_("label is too long. Truncating it to '%s'"),
+ newlabel);
+ if (write_all(fd, newlabel, sizeof(newlabel))) {
+ warn(_("%s: failed to write label"), devname);
+ goto err;
+ }
+ }
+
+ close(fd);
+ return 0;
+err:
+ if (fd >= 0)
+ close(fd);
+ return -1;
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(" %s [options] <device>\n"),
+ program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -L, --label <label> specify a new label\n"
+ " -U, --uuid <uuid> specify a new uuid\n"), out);
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("swaplabel(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ blkid_probe pr = NULL;
+ char *uuid = NULL, *label = NULL, *devname;
+ int c, rc = -1;
+
+ static const struct option longopts[] = {
+ { "help", 0, 0, 'h' },
+ { "version", 0, 0, 'V' },
+ { "label", 1, 0, 'L' },
+ { "uuid", 1, 0, 'U' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "hVL:U:", longopts, NULL)) != -1) {
+ switch (c) {
+ case 'h':
+ usage(stdout);
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'L':
+ label = optarg;
+ break;
+ case 'U':
+#ifdef HAVE_LIBUUID
+ uuid = optarg;
+#else
+ warnx(_("ignore -U (UUIDs are unsupported)"));
+#endif
+ break;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ if (optind == argc)
+ usage(stderr);
+
+ devname = argv[optind];
+ pr = get_swap_prober(devname);
+ if (pr) {
+ if (uuid || label)
+ rc = change_info(devname, label, uuid);
+ else
+ rc = print_info(pr);
+ blkid_free_probe(pr);
+ }
+ return rc ? EXIT_FAILURE : EXIT_SUCCESS;
+}
+
diff --git a/fdisks/Makemodule.am b/fdisks/Makemodule.am
new file mode 100644
index 0000000..f586769
--- /dev/null
+++ b/fdisks/Makemodule.am
@@ -0,0 +1,87 @@
+
+fdisk_common_sources = \
+ fdisks/common.h \
+ fdisks/gpt.c \
+ fdisks/gpt.h \
+ fdisks/i386_sys_types.c
+
+if !ARCH_M68K
+
+sbin_PROGRAMS += fdisk
+dist_man_MANS += fdisks/fdisk.8
+fdisk_SOURCES = \
+ fdisks/utils.c \
+ fdisks/fdisk.c \
+ fdisks/fdisk.h \
+ fdisks/fdiskaixlabel.c \
+ fdisks/fdiskaixlabel.h \
+ fdisks/fdiskbsdlabel.c \
+ fdisks/fdiskbsdlabel.h \
+ fdisks/fdiskmaclabel.c \
+ fdisks/fdiskmaclabel.h \
+ fdisks/fdisksgilabel.c \
+ fdisks/fdisksgilabel.h \
+ fdisks/fdisksunlabel.c \
+ fdisks/fdisksunlabel.h \
+ fdisks/fdiskdoslabel.c \
+ fdisks/fdiskdoslabel.h \
+ fdisks/partname.c \
+ $(fdisk_common_sources)
+
+fdisk_LDADD = $(LDADD) libcommon.la
+
+if BUILD_LIBBLKID
+fdisk_CFLAGS = -I$(ul_libblkid_incdir)
+fdisk_LDADD += libblkid.la
+endif
+
+if HAVE_STATIC_FDISK
+sbin_PROGRAMS += fdisk.static
+fdisk_static_SOURCES = $(fdisk_SOURCES)
+fdisk_static_LDFLAGS = -all-static
+fdisk_static_CFLAGS = $(fdisk_CFLAGS)
+fdisk_static_LDADD = $(fdisk_LDADD)
+endif
+
+
+if !ARCH_SPARC
+
+sbin_PROGRAMS += sfdisk
+dist_man_MANS += fdisks/sfdisk.8
+sfdisk_SOURCES = \
+ fdisks/partname.c \
+ fdisks/sfdisk.c \
+ $(fdisk_common_sources)
+sfdisk_LDADD = $(LDADD) libcommon.la
+
+if HAVE_STATIC_SFDISK
+sbin_PROGRAMS += sfdisk.static
+sfdisk_static_SOURCES = $(sfdisk_SOURCES)
+sfdisk_static_LDFLAGS = -all-static
+sfdisk_static_LDADD = $(sfdisk_LDADD)
+endif
+
+
+if BUILD_CFDISK
+sbin_PROGRAMS += cfdisk
+dist_man_MANS += fdisks/cfdisk.8
+cfdisk_SOURCES = fdisks/cfdisk.c $(fdisk_common_sources)
+cfdisk_CFLAGS =
+cfdisk_LDADD = $(LDADD) libcommon.la
+
+if BUILD_LIBBLKID
+cfdisk_CFLAGS += -I$(ul_libblkid_incdir)
+cfdisk_LDADD += libblkid.la
+endif
+
+if HAVE_SLANG
+cfdisk_LDADD += -lslang
+else
+if HAVE_NCURSES
+cfdisk_LDADD += @NCURSES_LIBS@
+endif
+endif
+endif # BUILD_CFDISK
+
+endif # !ARCH_SPARC
+endif # !ARCH_M68K
diff --git a/fdisks/cfdisk.8 b/fdisks/cfdisk.8
new file mode 100644
index 0000000..28ddad6
--- /dev/null
+++ b/fdisks/cfdisk.8
@@ -0,0 +1,452 @@
+.\" cfdisk.8 -- man page for cfdisk
+.\" Copyright 1994 Kevin E. Martin (martin@cs.unc.edu)
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" " for hilit mode
+.TH CFDISK 8 "July 2009" "util-linux" "System Administration"
+.SH NAME
+cfdisk \- display or manipulate disk partition table
+.SH SYNOPSIS
+.B cfdisk
+.RB [ \-agvz ]
+.RB [ \-c
+.IR cylinders ]
+.RB [ \-h
+.IR heads ]
+.RB [ \-s
+.IR sectors-per-track ]
+.RB [ \-P
+.IR opt ]
+.RI [ device ]
+.SH DESCRIPTION
+.B cfdisk
+is a curses-based program for partitioning any hard disk drive.
+Typical values of the
+.I device
+argument are:
+.sp
+.nf
+.RS
+/dev/hda [default]
+/dev/hdb
+/dev/sda
+/dev/sdb
+/dev/sdc
+/dev/sdd
+.RE
+.fi
+
+Note that
+.B cfdisk
+does not align partitions to block device I/O limits. This functionality is
+provided by
+.BR fdisk (8).
+
+In order to write the partition table
+.B cfdisk
+needs something called the `geometry' of the disk: the number
+of `heads' and the number of `sectors per track'. Linux does not
+use any geometry, so if the disk will not be accessed by other
+operating systems, you can safely accept the defaults that
+.B cfdisk
+chooses for you. The geometry used by
+.B cfdisk
+is found as follows. First the partition table is examined,
+to see what geometry was used by the previous program that
+changed it. If the partition table is empty, or contains garbage,
+or does not point at a consistent geometry, the kernel is
+asked for advice. If nothing works 255 heads and 63 sectors/track
+is assumed. The geometry can be overridden on the command line
+or by use of the `g' command. When partitioning an empty large modern
+disk, picking 255 heads and 63 sectors/track is always a good idea.
+There is no need to set the number of cylinders, since
+.B cfdisk
+knows the disk size.
+
+Next,
+.B cfdisk
+tries to read the current partition table from the disk drive. If it
+is unable to figure out the partition table, an error is displayed and
+the program will exit. This might also be caused by incorrect
+geometry information, and can be overridden on the command line.
+Another way around this problem is with the
+.B \-z
+option. This will ignore the partition table on the disk.
+
+The main display is composed of four sections, from top to bottom: the
+header, the partitions, the command line and a warning line. The
+header contains the program name and version number followed by the
+disk drive and its geometry. The partitions section always displays
+the current partition table. The command line is the place where
+commands and text are entered. The available commands are usually
+displayed in brackets. The warning line is usually empty except when
+there is important information to be displayed. The current partition
+is highlighted with reverse video (or an arrow if the
+.B \-a
+option is given). All partition specific commands apply to the
+current partition.
+
+The format of the partition table in the partitions section is, from
+left to right: Name, Flags, Partition Type, Filesystem Type and Size.
+The name is the partition device name. The flags can be
+.IR Boot ,
+which designates a bootable partition or
+.IR NC ,
+which stands for "Not Compatible with DOS or OS/2". DOS, OS/2 and
+possibly other operating systems require the first sector of the first
+partition on the disk and all logical partitions to begin on the
+second head. This wastes the second through the last sector of the
+first track of the first head (the first sector is taken by the
+partition table itself).
+.B cfdisk
+allows you to recover these "lost" sectors with the maximize command
+.RB ( m ).
+.I Note:
+.BR fdisk (8)
+and some early versions of DOS create all partitions with the number
+of sectors already maximized. For more information, see the maximize
+command below. The partition type can be one of
+.IR Primary " or " Logical .
+For unallocated space on the drive, the partition type can also be
+.IR Pri/Log ,
+or empty (if the space is unusable). The filesystem type section
+displays the name of the filesystem used on the partition, if known.
+If it is unknown, then
+.I Unknown
+and the hex value of the filesystem type are displayed. A special
+case occurs when there are sections of the disk drive that cannot be
+used (because all of the primary partitions are used). When this is
+detected, the filesystem type is displayed as
+.IR Unusable .
+The size field displays the size of the partition in megabytes (by
+default). It can also display the size in sectors and cylinders (see
+the change units command below). If an asterisk
+.RB ( * )
+appears after the size, this means that the partition is not aligned
+on cylinder boundaries.
+.SH "DOS 6.x WARNING"
+
+The DOS 6.x FORMAT command looks for some information in the first
+sector of the data area of the partition, and treats this information
+as more reliable than the information in the partition table. DOS
+FORMAT expects DOS FDISK to clear the first 512 bytes of the data area
+of a partition whenever a size change occurs. DOS FORMAT will look at
+this extra information even if the /U flag is given -- we consider
+this a bug in DOS FORMAT and DOS FDISK.
+
+The bottom line is that if you use cfdisk or fdisk to change the size of a
+DOS partition table entry, then you must also use
+.B dd
+to zero the first 512 bytes of that partition before using DOS FORMAT to
+format the partition. For example, if you were using cfdisk to make a DOS
+partition table entry for /dev/hda1, then (after exiting fdisk or cfdisk
+and rebooting Linux so that the partition table information is valid) you
+would use the command "dd if=/dev/zero of=/dev/hda1 bs=512 count=1" to zero
+the first 512 bytes of the partition. Note:
+
+.B BE EXTREMELY CAREFUL
+if you use the
+.B dd
+command, since a small typo can make all of the data on your disk useless.
+
+For best results, you should always use an OS-specific partition table
+program. For example, you should make DOS partitions with the DOS FDISK
+program and Linux partitions with the Linux fdisk or Linux cfdisk program.
+
+.SH COMMANDS
+.B cfdisk
+commands can be entered by pressing the desired key (pressing
+.I Enter
+after the command is not necessary). Here is a list of the available
+commands:
+.TP
+.B b
+Toggle bootable flag of the current partition. This allows you to
+select which primary partition is bootable on the drive.
+.TP
+.B d
+Delete the current partition. This will convert the current partition
+into free space and merge it with any free space immediately
+surrounding the current partition. A partition already marked as free
+space or marked as unusable cannot be deleted.
+.TP
+.B g
+Change the disk geometry (cylinders, heads, or sectors-per-track).
+.B WARNING:
+This option should only be used by people who know what they are
+doing. A command line option is also available to change the disk
+geometry. While at the change disk geometry command line, you can
+choose to change cylinders
+.RB ( c ),
+heads
+.RB ( h ),
+and sectors per track
+.RB ( s ).
+The default value will be printed at the prompt which you can accept
+by simply pressing the
+.I Enter
+key, or you can exit without changes by pressing the
+.I ESC
+key. If you want to change the default value, simply enter the
+desired value and press
+.IR Enter .
+The altered disk parameter values do not take effect until you return
+to the main menu (by pressing
+.IR Enter " or " ESC
+at the change disk geometry command line). If you change the geometry
+such that the disk appears larger, the extra sectors are added at the
+end of the disk as free space. If the disk appears smaller, the
+partitions that are beyond the new last sector are deleted and the
+last partition on the drive (or the free space at the end of the
+drive) is made to end at the new last sector.
+.TP
+.B h
+Print the help screen.
+.TP
+.B m
+Maximize disk usage of the current partition. This command will
+recover the unused space between the partition table and the
+beginning of the partition, but at the cost of making the partition
+incompatible with DOS, OS/2 and possibly other operating systems.
+This option will toggle between maximal disk usage and DOS, OS/2,
+etc. compatible disk usage. The default when creating a partition is
+to create DOS, OS/2, etc. compatible partitions.
+.TP
+.B n
+Create new partition from free space. If the partition type is
+.IR Primary " or " Logical ,
+a partition of that type will be created, but if the partition type is
+.IR Pri/Log ,
+you will be prompted for the type you want to create. Be aware that
+(1) there are only four slots available for primary partitions and (2)
+since there can be only one extended partition, which contains all of
+the logical drives, all of the logical drives must be contiguous (with
+no intervening primary partition).
+.B cfdisk
+next prompts you for the size of the partition you want to create.
+The default size, equal to the entire free space of the current
+partition, is displayed in megabytes. You can either press the
+.I Enter
+key to accept the default size or enter a different size at the
+prompt.
+.B cfdisk
+accepts size entries in megabytes
+.RB ( M )
+[default], kilobytes
+.RB ( K ),
+cylinders
+.RB ( C )
+and sectors
+.RB ( S )
+by entering the number immediately followed by one of
+.RB ( M ", " K ", " C " or " S ).
+If the partition fills the free space available, the partition is
+created and you are returned to the main command line. Otherwise, the
+partition can be created at the beginning or the end of the free
+space, and
+.B cfdisk
+will ask you to choose where to place the partition. After the
+partition is created,
+.B cfdisk
+automatically adjusts the other partitions' partition types if all of
+the primary partitions are used.
+.TP
+.B p
+Print the partition table to the screen or to a file. There are
+several different formats for the partition that you can choose from:
+.sp
+.RS
+.TP
+.B r
+Raw data format (exactly what would be written to disk)
+.TP
+.B s
+Partition table in sector order format
+.TP
+.B t
+Partition table in raw format
+.RE
+
+.RS
+The
+.I raw data format
+will print the sectors that would be written to disk if a
+.BR w rite
+command is selected. First, the primary partition table is printed,
+followed by the partition tables associated with each logical
+partition. The data is printed in hex byte by byte with 16 bytes per
+line.
+
+The
+.I partition table in sector order format
+will print the partition table ordered by sector number. The fields,
+from left to right, are the number of the partition, the partition
+type, the first sector, the last sector, the offset from the first
+sector of the partition to the start of the data, the length of the
+partition, the filesystem type (with the hex value in parenthesis),
+and the flags (with the hex value in parenthesis). In addition to the
+primary and logical partitions, free and unusable space is printed and
+the extended partition is printed before the first logical partition.
+
+If a partition does not start or end on a cylinder boundary or if the
+partition length is not divisible by the cylinder size, an asterisk
+.RB ( * )
+is printed after the non-aligned sector number/count. This usually
+indicates that a partition was created by an operating system that
+either does not align partitions to cylinder boundaries or that used
+different disk geometry information. If you know the disk geometry of
+the other operating system, you could enter the geometry information
+with the change geometry command
+.RB ( g ).
+
+For the first partition on the disk and for all logical partitions, if
+the offset from the beginning of the partition is not equal to the
+number of sectors per track (i.e., the data does not start on the
+first head), a number sign
+.RB ( # )
+is printed after the offset. For the remaining partitions, if the
+offset is not zero, a number sign will be printed after the offset.
+This corresponds to the
+.I NC
+flag in the partitions section of the main display.
+
+The
+.I partition table in raw format
+will print the partition table ordered by partition number. It will
+leave out all free and unusable space. The fields, from left to
+right, are the number of the partition, the flags (in hex), the
+starting head, sector and cylinder, the filesystem ID (in hex), the
+ending head, sector and cylinder, the starting sector in the partition
+and the number of sectors in the partition. The information in this
+table can be directly translated to the
+.IR "raw data format" .
+
+The partition table entries only have 10 bits available to represent
+the starting and ending cylinders. Thus, when the absolute starting
+(ending) sector number is on a cylinder greater than 1023, the maximal
+values for starting (ending) head, sector and cylinder are printed.
+This is the method used by OS/2, and thus fixes the problems
+associated with OS/2's fdisk rewriting the partition table when it is
+not in this format. Since Linux and OS/2 use absolute sector counts,
+the values in the starting and ending head, sector and cylinder are
+not used.
+.RE
+.TP
+.B q
+Quit program. This will exit the program without writing any data to
+disk.
+.TP
+.B t
+Change the filesystem type. By default, new partitions are created as
+.I Linux
+partitions, but since
+.B cfdisk
+can create partitions for other operating systems, change partition
+type allows you to enter the hex value of the filesystem you desire.
+A list of the know filesystem types is displayed. You can type in the
+filesystem type at the prompt or accept the default filesystem type
+.RI [ Linux ].
+.TP
+.B u
+Change units of the partition size display. It will rotate through
+megabytes, sectors and cylinders.
+.TP
+.B W
+Write partition table to disk (must enter an upper case W). Since
+this might destroy data on the disk, you must either confirm or deny
+the write by entering `yes' or `no'. If you enter `yes',
+.B cfdisk
+will write the partition table to disk and the tell the kernel to re-read the
+partition table from the disk. The re-reading of the partition table does not
+work in some cases, for example for device-mapper devices. In
+particular case you need to inform kernel about new
+partitions by
+.B partprobe(8),
+.B kpartx(8)
+or reboot the system.
+.TP
+.I Up Arrow
+.TP
+.I Down Arrow
+Move cursor to the previous or next partition. If there are more
+partitions than can be displayed on a screen, you can display the next
+(previous) set of partitions by moving down (up) at the last (first)
+partition displayed on the screen.
+.TP
+.I CTRL-L
+Redraws the screen. In case something goes wrong and you cannot read
+anything, you can refresh the screen from the main command line.
+.TP
+.B ?
+Print the help screen.
+
+.RE
+All of the commands can be entered with either upper or lower case
+letters (except for
+.BR W rites).
+When in a sub-menu or at a prompt to enter a filename, you can hit the
+.I ESC
+key to return to the main command line.
+.SH OPTIONS
+.TP
+.B \-a
+Use an arrow cursor instead of reverse video for highlighting the
+current partition.
+.TP
+.B \-g
+Do not use the geometry given by the disk driver, but try to
+guess a geometry from the partition table.
+.TP
+.B \-v
+Print the version number and copyright.
+.TP
+.B \-z
+Start with zeroed partition table. This option is useful when you
+want to repartition your entire disk.
+.I Note:
+this option does not zero the partition table on the disk; rather, it
+simply starts the program without reading the existing partition
+table.
+.TP
+.BI \-c " cylinders"
+.TP
+.BI \-h " heads"
+.TP
+.BI \-s " sectors-per-track"
+Override the number of cylinders, heads and sectors per track read
+from the BIOS. If your BIOS or adapter does not supply this
+information or if it supplies incorrect information, use these options
+to set the disk geometry values.
+.TP
+.BI \-P " opt"
+Prints the partition table in specified formats.
+.I opt
+can be one or more of "r", "s" or "t". See the
+.BR p rint
+command (above) for more information on the print formats.
+.SH "EXIT STATUS"
+0: No errors; 1: Invocation error; 2: I/O error;
+3: cannot get geometry; 4: bad partition table on disk.
+.SH "SEE ALSO"
+.BR fdisk (8),
+.BR sfdisk (8),
+.BR mkfs (8),
+.BR parted (8),
+.BR partprobe (8),
+.BR kpartx(8)
+.SH BUGS
+The current version does not support multiple disks.
+.SH AUTHOR
+Kevin E. Martin (martin@cs.unc.edu)
+
+.SH AVAILABILITY
+The cfdisk command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/fdisks/cfdisk.c b/fdisks/cfdisk.c
new file mode 100644
index 0000000..0ceed33
--- /dev/null
+++ b/fdisks/cfdisk.c
@@ -0,0 +1,2854 @@
+/****************************************************************************
+ *
+ * CFDISK
+ *
+ * cfdisk is a curses based disk drive partitioning program that can
+ * create partitions for a wide variety of operating systems including
+ * Linux, MS-DOS and OS/2.
+ *
+ * cfdisk was inspired by the fdisk program, by A. V. Le Blanc
+ * (LeBlanc@mcc.ac.uk).
+ *
+ * Copyright (C) 1994 Kevin E. Martin (martin@cs.unc.edu)
+ *
+ * cfdisk is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * cfdisk is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Created: Fri Jan 28 22:46:58 1994, martin@cs.unc.edu
+ * >2GB patches: Sat Feb 11 09:08:10 1995, faith@cs.unc.edu
+ * Prettier menus: Sat Feb 11 09:08:25 1995, Janne Kukonlehto
+ * <jtklehto@stekt.oulu.fi>
+ * Versions 0.8e-p: aeb@cwi.nl
+ * Rebaptised 2.9p, following util-linux versioning.
+ *
+ * Recognition of NTFS / HPFS difference inspired by patches
+ * from Marty Leisner <leisner@sdsp.mc.xerox.com>
+ * Exit codes by Enrique Zanardi <ezanardi@ull.es>:
+ * 0: all went well
+ * 1: command line error, out of memory
+ * 2: hardware problems [Cannot open/seek/read/write disk drive].
+ * 3: ioctl(fd, HDIO_GETGEO,...) failed. (Probably it is not a disk.)
+ * 4: bad partition table on disk. [Bad primary/logical partition].
+ *
+ * Sat, 23 Jan 1999 19:34:45 +0100 <Vincent.Renardias@ldsol.com>
+ * Internationalized + provided initial French translation.
+ * Sat Mar 20 09:26:34 EST 1999 <acme@conectiva.com.br>
+ * Some more i18n.
+ * Sun Jul 18 03:19:42 MEST 1999 <aeb@cwi.nl>
+ * Terabyte-sized disks.
+ * Sat Jun 30 05:23:19 EST 2001 <nathans@sgi.com>
+ * XFS label recognition.
+ * Thu Nov 22 15:42:56 CET 2001 <flavio.stanchina@tin.it>
+ * ext3 and ReiserFS recognition.
+ * Sun Oct 12 17:43:43 CEST 2003 <flavio.stanchina@tin.it>
+ * JFS recognition; ReiserFS label recognition.
+ *
+ ****************************************************************************/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <errno.h>
+#include <getopt.h>
+#include <fcntl.h>
+
+#ifdef HAVE_SLANG_H
+#include <slang.h>
+#elif defined(HAVE_SLANG_SLANG_H)
+#include <slang/slang.h>
+#endif
+
+#ifdef HAVE_SLCURSES_H
+#include <slcurses.h>
+#elif defined(HAVE_SLANG_SLCURSES_H)
+#include <slang/slcurses.h>
+#elif defined(HAVE_NCURSESW_NCURSES_H) && defined(HAVE_WIDECHAR)
+#include <ncursesw/ncurses.h>
+#elif defined(HAVE_NCURSES_H)
+#include <ncurses.h>
+#elif defined(HAVE_NCURSES_NCURSES_H)
+#include <ncurses/ncurses.h>
+#endif
+
+#include <signal.h>
+#include <math.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+
+#ifdef HAVE_LIBBLKID
+#include <blkid.h>
+#endif
+
+#ifdef HAVE_WIDECHAR
+#include <wctype.h>
+#endif
+
+#include "closestream.h"
+#include "nls.h"
+#include "rpmatch.h"
+#include "blkdev.h"
+#include "strutils.h"
+#include "common.h"
+#include "gpt.h"
+#include "mbsalign.h"
+#include "widechar.h"
+
+#ifdef __GNU__
+#define DEFAULT_DEVICE "/dev/hd0"
+#define ALTERNATE_DEVICE "/dev/sd0"
+#elif defined(__FreeBSD__)
+#define DEFAULT_DEVICE "/dev/ad0"
+#define ALTERNATE_DEVICE "/dev/da0"
+#else
+#define DEFAULT_DEVICE "/dev/hda"
+#define ALTERNATE_DEVICE "/dev/sda"
+#endif
+
+/* With K=1024 we have `binary' megabytes, gigabytes, etc.
+ Some misguided hackers like that.
+ With K=1000 we have MB and GB that follow the standards
+ [SI, ATA, IEEE etc] and the disk manufacturers and the law. */
+#define K 1000
+
+#define LINE_LENGTH 80
+#define MAXIMUM_PARTS 60
+
+#define SECTOR_SIZE 512
+
+#define MAX_HEADS 256
+#define MAX_SECTORS 63
+
+#define ACTIVE_FLAG 0x80
+#define PART_TABLE_FLAG0 0x55
+#define PART_TABLE_FLAG1 0xAA
+
+#define UNUSABLE -1
+#define FREE_SPACE 0x00
+#define DOS_EXTENDED 0x05
+#define OS2_OR_NTFS 0x07
+#define WIN98_EXTENDED 0x0f
+#define LINUX_EXTENDED 0x85
+#define LINUX_MINIX 0x81
+#define LINUX_SWAP 0x82
+#define LINUX 0x83
+
+#define PRI_OR_LOG -1
+#define PRIMARY -2
+#define LOGICAL -3
+
+#define COL_ID_WIDTH 25
+
+#define ESC '\033'
+#define DEL '\177'
+#define BELL '\007'
+#define REDRAWKEY '\014' /* ^L */
+
+/* Display units */
+#define GIGABYTES 1
+#define MEGABYTES 2
+#define SECTORS 3
+#define CYLINDERS 4
+
+#define GS_DEFAULT -1
+#define GS_ESCAPE -2
+
+#define PRINT_RAW_TABLE 1
+#define PRINT_SECTOR_TABLE 2
+#define PRINT_PARTITION_TABLE 4
+
+#define IS_PRIMARY(p) ((p) >= 0 && (p) < 4)
+#define IS_LOGICAL(p) ((p) > 3)
+
+#define round_int(d) ((double)((int)(d+0.5)))
+#define ceiling(d) ((double)(((d) != (int)(d)) ? (int)(d+1.0) : (int)(d)))
+
+struct partition {
+ unsigned char boot_ind; /* 0x80 - active */
+ unsigned char head; /* starting head */
+ unsigned char sector; /* starting sector */
+ unsigned char cyl; /* starting cylinder */
+ unsigned char sys_ind; /* What partition type */
+ unsigned char end_head; /* end head */
+ unsigned char end_sector; /* end sector */
+ unsigned char end_cyl; /* end cylinder */
+ unsigned char start4[4]; /* starting sector counting from 0 */
+ unsigned char size4[4]; /* nr of sectors in partition */
+};
+
+int heads = 0;
+int sectors = 0;
+long long cylinders = 0;
+int cylinder_size = 0; /* heads * sectors */
+long long actual_size = 0; /* (in 512-byte sectors) - set using ioctl */
+ /* explicitly given user values */
+int user_heads = 0, user_sectors = 0;
+long long user_cylinders = 0;
+ /* kernel values; ignore the cylinders */
+int kern_heads = 0, kern_sectors = 0;
+ /* partition-table derived values */
+int pt_heads = 0, pt_sectors = 0;
+
+
+static void
+set_hsc0(unsigned char *h, unsigned char *s, int *c, long long sector) {
+ *s = sector % sectors + 1;
+ sector /= sectors;
+ *h = sector % heads;
+ sector /= heads;
+ *c = sector;
+}
+
+static void
+set_hsc(unsigned char *h, unsigned char *s, unsigned char *c,
+ long long sector) {
+ int cc;
+
+ if (sector >= 1024*cylinder_size)
+ sector = 1024*cylinder_size - 1;
+ set_hsc0(h, s, &cc, sector);
+ *c = cc & 0xFF;
+ *s |= (cc >> 2) & 0xC0;
+}
+
+static void
+set_hsc_begin(struct partition *p, long long sector) {
+ set_hsc(& p->head, & p->sector, & p->cyl, sector);
+}
+
+static void
+set_hsc_end(struct partition *p, long long sector) {
+ set_hsc(& p->end_head, & p->end_sector, & p->end_cyl, sector);
+}
+
+#define is_extended(x) ((x) == DOS_EXTENDED || (x) == WIN98_EXTENDED || \
+ (x) == LINUX_EXTENDED)
+
+/* start_sect and nr_sects are stored little endian on all machines */
+/* moreover, they are not aligned correctly */
+static void
+store4_little_endian(unsigned char *cp, unsigned int val) {
+ cp[0] = (val & 0xff);
+ cp[1] = ((val >> 8) & 0xff);
+ cp[2] = ((val >> 16) & 0xff);
+ cp[3] = ((val >> 24) & 0xff);
+}
+
+static unsigned int
+read4_little_endian(unsigned char *cp) {
+ return (unsigned int)(cp[0]) + ((unsigned int)(cp[1]) << 8)
+ + ((unsigned int)(cp[2]) << 16)
+ + ((unsigned int)(cp[3]) << 24);
+}
+
+static void
+set_start_sect(struct partition *p, unsigned int start_sect) {
+ store4_little_endian(p->start4, start_sect);
+}
+
+static unsigned int
+get_start_sect(struct partition *p) {
+ return read4_little_endian(p->start4);
+}
+
+static void
+set_nr_sects(struct partition *p, unsigned int nr_sects) {
+ store4_little_endian(p->size4, nr_sects);
+}
+
+static unsigned int
+get_nr_sects(struct partition *p) {
+ return read4_little_endian(p->size4);
+}
+
+#define ALIGNMENT 2
+typedef union {
+ struct {
+ unsigned char align[ALIGNMENT];
+ unsigned char b[SECTOR_SIZE];
+ } c;
+ struct {
+ unsigned char align[ALIGNMENT];
+ unsigned char buffer[0x1BE];
+ struct partition part[4];
+ unsigned char magicflag[2];
+ } p;
+} partition_table;
+
+typedef struct {
+ long long first_sector; /* first sector in partition */
+ long long last_sector; /* last sector in partition */
+ long offset; /* offset from first sector to start of data */
+ int flags; /* active == 0x80 */
+ int id; /* filesystem type */
+ int num; /* number of partition -- primary vs. logical */
+#define LABELSZ 16
+ char volume_label[LABELSZ+1];
+#define OSTYPESZ 8
+ char ostype[OSTYPESZ+1];
+#define FSTYPESZ 12
+ char fstype[FSTYPESZ+1];
+} partition_info;
+
+char *disk_device = DEFAULT_DEVICE;
+int fd;
+int changed = FALSE;
+int opened = FALSE;
+int opentype;
+int curses_started = 0;
+
+partition_info p_info[MAXIMUM_PARTS];
+partition_info ext_info;
+int num_parts = 0;
+
+int logical = 0;
+long long logical_sectors[MAXIMUM_PARTS];
+
+__sighandler_t old_SIGINT, old_SIGTERM;
+
+int arrow_cursor = FALSE;
+int display_units = MEGABYTES;
+int zero_table = FALSE;
+int use_partition_table_geometry = FALSE;
+int print_only = 0;
+
+/* Curses screen information */
+int cur_part = 0;
+int warning_last_time = FALSE;
+int defined = FALSE;
+int COLUMNS = 80;
+int NUM_ON_SCREEN = 1;
+
+/* Y coordinates */
+int HEADER_START = 0;
+int DISK_TABLE_START = 6;
+int WARNING_START = 23;
+int COMMAND_LINE_Y = 21;
+
+/* X coordinates */
+int NAME_START = 4;
+int FLAGS_START = 16;
+int PTYPE_START = 28;
+int FSTYPE_START = 38;
+int LABEL_START = 54;
+int SIZE_START = 68;
+int COMMAND_LINE_X = 5;
+
+static void die_x(int ret);
+static void draw_screen(void);
+
+/* Guaranteed alloc */
+static void *
+xmalloc (size_t size) {
+ void *t;
+
+ if (size == 0)
+ return NULL;
+
+ t = malloc (size);
+ if (t == NULL) {
+ fprintf (stderr, _("%s: Out of memory!\n"), "cfdisk");
+ die_x(1);
+ }
+ return t;
+}
+
+/* Some libc's have their own basename() */
+static char *
+my_basename(char *devname) {
+ char *s = strrchr(devname, '/');
+ return s ? s+1 : devname;
+}
+
+static char *
+partition_type_name(unsigned char type) {
+ struct systypes *s = i386_sys_types;
+
+ while(s->name && s->type != type)
+ s++;
+ return s->name;
+}
+
+static char *
+partition_type_text(int i) {
+ if (p_info[i].id == UNUSABLE)
+ return _("Unusable");
+ else if (p_info[i].id == FREE_SPACE)
+ return _("Free Space");
+ else if (*p_info[i].fstype)
+ return p_info[i].fstype;
+ else
+ return _(partition_type_name(p_info[i].id));
+}
+
+static void
+fdexit(int ret) {
+ if (opened) {
+ if (changed)
+ fsync(fd);
+ close(fd);
+ }
+ if (changed) {
+ fprintf(stderr, _("Disk has been changed.\n"));
+#if 0
+ fprintf(stderr, _("Reboot the system to ensure the partition "
+ "table is correctly updated.\n"));
+#endif
+
+ fprintf( stderr, _("\nWARNING: If you have created or modified any\n"
+ "DOS 6.x partitions, please see the cfdisk manual\n"
+ "page for additional information.\n") );
+ }
+
+ exit(ret);
+}
+
+/*
+ * Note that @len is size of @str buffer.
+ *
+ * Returns number of read bytes (without \0).
+ */
+static int
+get_string(char *str, int len, char *def) {
+ size_t cells = 0;
+ ssize_t i = 0;
+ int x, y;
+ int use_def = FALSE;
+ wint_t c;
+
+ getyx(stdscr, y, x);
+ clrtoeol();
+
+ str[i] = 0;
+
+ if (def != NULL) {
+ mvaddstr(y, x, def);
+ move(y, x);
+ use_def = TRUE;
+ }
+
+ refresh();
+
+ while (1) {
+#if !defined(HAVE_SLCURSES_H) && !defined(HAVE_SLANG_SLCURSES_H) && \
+ defined(HAVE_LIBNCURSESW) && defined(HAVE_WIDECHAR)
+ if (get_wch(&c) == ERR) {
+#else
+ if ((c = getch()) == ERR) {
+#endif
+ if (!isatty(STDIN_FILENO))
+ exit(2);
+ else
+ break;
+ }
+ if (c == '\r' || c == '\n' || c == KEY_ENTER)
+ break;
+
+ switch (c) {
+ case ESC:
+ move(y, x);
+ clrtoeol();
+ refresh();
+ return GS_ESCAPE;
+ case DEL:
+ case '\b':
+ case KEY_BACKSPACE:
+ if (i > 0) {
+ cells--;
+ i = mbs_truncate(str, &cells);
+ if (i < 0)
+ return GS_ESCAPE;
+ mvaddch(y, x + cells, ' ');
+ move(y, x + cells);
+ } else if (use_def) {
+ clrtoeol();
+ use_def = FALSE;
+ } else
+ putchar(BELL);
+ break;
+ default:
+#if defined(HAVE_LIBNCURSESW) && defined(HAVE_WIDECHAR)
+ if (i + 1 < len && iswprint(c)) {
+ wchar_t wc = (wchar_t) c;
+ char s[MB_CUR_MAX + 1];
+ int sz = wctomb(s, wc);
+
+ if (sz > 0 && sz + i < len) {
+ s[sz] = '\0';
+ mvaddnstr(y, x + cells, s, sz);
+ if (use_def) {
+ clrtoeol();
+ use_def = FALSE;
+ }
+ memcpy(str + i, s, sz);
+ i += sz;
+ str[i] = '\0';
+ cells += wcwidth(wc);
+ } else
+ putchar(BELL);
+ }
+#else
+ if (i + 1 < len && isprint(c)) {
+ mvaddch(y, x + cells, c);
+ if (use_def) {
+ clrtoeol();
+ use_def = FALSE;
+ }
+ str[i++] = c;
+ str[i] = 0;
+ cells++;
+ }
+#endif
+ else
+ putchar(BELL);
+ }
+ refresh();
+ }
+
+ if (use_def)
+ return GS_DEFAULT;
+ else
+ return i;
+}
+
+static void
+clear_warning(void) {
+ int i;
+
+ if (!curses_started || !warning_last_time)
+ return;
+
+ move(WARNING_START,0);
+ for (i = 0; i < COLS; i++)
+ addch(' ');
+
+ warning_last_time = FALSE;
+}
+
+static void
+print_warning(char *s) {
+ if (!curses_started) {
+ fprintf(stderr, "%s\n", s);
+ } else {
+ mvaddstr(WARNING_START, (COLS-strlen(s))/2, s);
+ putchar(BELL); /* CTRL-G */
+
+ warning_last_time = TRUE;
+ }
+}
+
+static void
+fatal(char *s, int ret) {
+ char *err1 = _("FATAL ERROR");
+ char *err2 = _("Press any key to exit cfdisk");
+
+ if (curses_started) {
+ char *str = xmalloc(strlen(s) + strlen(err1) + strlen(err2) + 10);
+
+ sprintf(str, "%s: %s", err1, s);
+ if (strlen(str) > (size_t) COLS)
+ str[COLS] = 0;
+ mvaddstr(WARNING_START, (COLS-strlen(str))/2, str);
+ sprintf(str, "%s", err2);
+ if (strlen(str) > (size_t) COLS)
+ str[COLS] = 0;
+ mvaddstr(WARNING_START+1, (COLS-strlen(str))/2, str);
+ putchar(BELL); /* CTRL-G */
+ refresh();
+ (void)getch();
+ die_x(ret);
+ } else {
+ fprintf(stderr, "%s: %s\n", err1, s);
+ exit(ret);
+ }
+}
+
+static void
+die(int dummy __attribute__((__unused__))) {
+ die_x(0);
+}
+
+static void
+die_x(int ret) {
+ signal(SIGINT, old_SIGINT);
+ signal(SIGTERM, old_SIGTERM);
+#if defined(HAVE_SLCURSES_H) || defined(HAVE_SLANG_SLCURSES_H)
+ SLsmg_gotorc(LINES-1, 0);
+ SLsmg_refresh();
+#else
+ mvcur(0, COLS-1, LINES-1, 0);
+#endif
+ nl();
+ endwin();
+ printf("\n");
+ fdexit(ret);
+}
+
+static void
+read_sector(unsigned char *buffer, long long sect_num) {
+ if (lseek(fd, sect_num*SECTOR_SIZE, SEEK_SET) < 0)
+ fatal(_("Cannot seek on disk drive"), 2);
+ if (read(fd, buffer, SECTOR_SIZE) != SECTOR_SIZE)
+ fatal(_("Cannot read disk drive"), 2);
+}
+
+static void
+write_sector(unsigned char *buffer, long long sect_num) {
+ if (lseek(fd, sect_num*SECTOR_SIZE, SEEK_SET) < 0)
+ fatal(_("Cannot seek on disk drive"), 2);
+ if (write(fd, buffer, SECTOR_SIZE) != SECTOR_SIZE)
+ fatal(_("Cannot write disk drive"), 2);
+}
+
+#ifdef HAVE_LIBBLKID
+static void
+get_fsinfo(int i)
+{
+ blkid_probe pr;
+ blkid_loff_t offset, size;
+ const char *data;
+
+ offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE;
+ size = (p_info[i].last_sector - p_info[i].first_sector + 1) * SECTOR_SIZE;
+ pr = blkid_new_probe();
+ if (!pr)
+ return;
+ blkid_probe_enable_superblocks(pr, 1);
+ blkid_probe_set_superblocks_flags(pr, BLKID_SUBLKS_LABEL |
+ BLKID_SUBLKS_TYPE);
+ if (blkid_probe_set_device(pr, fd, offset, size))
+ goto done;
+ if (blkid_do_safeprobe(pr))
+ goto done;
+
+ if (!blkid_probe_lookup_value(pr, "TYPE", &data, 0))
+ strncpy(p_info[i].fstype, data, FSTYPESZ);
+
+ if (!blkid_probe_lookup_value(pr, "LABEL", &data, 0))
+ strncpy(p_info[i].volume_label, data, LABELSZ);
+done:
+ blkid_free_probe(pr);
+}
+#endif
+
+static void
+check_part_info(void) {
+ int i, pri = 0, log = 0;
+
+ for (i = 0; i < num_parts; i++)
+ if (p_info[i].id > 0 && IS_PRIMARY(p_info[i].num))
+ pri++;
+ else if (p_info[i].id > 0 && IS_LOGICAL(p_info[i].num))
+ log++;
+ if (is_extended(ext_info.id)) {
+ if (log > 0)
+ pri++;
+ else {
+ ext_info.first_sector = 0;
+ ext_info.last_sector = 0;
+ ext_info.offset = 0;
+ ext_info.flags = 0;
+ ext_info.id = FREE_SPACE;
+ ext_info.num = PRIMARY;
+ }
+ }
+
+ if (pri >= 4) {
+ for (i = 0; i < num_parts; i++)
+ if (p_info[i].id == FREE_SPACE || p_info[i].id == UNUSABLE) {
+ if (is_extended(ext_info.id)) {
+ if (p_info[i].first_sector >= ext_info.first_sector &&
+ p_info[i].last_sector <= ext_info.last_sector) {
+ p_info[i].id = FREE_SPACE;
+ p_info[i].num = LOGICAL;
+ } else if (i > 0 &&
+ p_info[i-1].first_sector >=
+ ext_info.first_sector &&
+ p_info[i-1].last_sector <=
+ ext_info.last_sector) {
+ p_info[i].id = FREE_SPACE;
+ p_info[i].num = LOGICAL;
+ } else if (i < num_parts-1 &&
+ p_info[i+1].first_sector >=
+ ext_info.first_sector &&
+ p_info[i+1].last_sector <=
+ ext_info.last_sector) {
+ p_info[i].id = FREE_SPACE;
+ p_info[i].num = LOGICAL;
+ } else
+ p_info[i].id = UNUSABLE;
+ } else /* if (!is_extended(ext_info.id)) */
+ p_info[i].id = UNUSABLE;
+ } else /* if (p_info[i].id > 0) */
+ while (0); /* Leave these alone */
+ } else { /* if (pri < 4) */
+ for (i = 0; i < num_parts; i++) {
+ if (p_info[i].id == UNUSABLE)
+ p_info[i].id = FREE_SPACE;
+ if (p_info[i].id == FREE_SPACE) {
+ if (is_extended(ext_info.id)) {
+ if (p_info[i].first_sector >= ext_info.first_sector &&
+ p_info[i].last_sector <= ext_info.last_sector)
+ p_info[i].num = LOGICAL;
+ else if (i > 0 &&
+ p_info[i-1].first_sector >=
+ ext_info.first_sector &&
+ p_info[i-1].last_sector <=
+ ext_info.last_sector)
+ p_info[i].num = PRI_OR_LOG;
+ else if (i < num_parts-1 &&
+ p_info[i+1].first_sector >=
+ ext_info.first_sector &&
+ p_info[i+1].last_sector <=
+ ext_info.last_sector)
+ p_info[i].num = PRI_OR_LOG;
+ else
+ p_info[i].num = PRIMARY;
+ } else /* if (!is_extended(ext_info.id)) */
+ p_info[i].num = PRI_OR_LOG;
+ } else /* if (p_info[i].id > 0) */
+ while (0); /* Leave these alone */
+ }
+ }
+}
+
+static void
+remove_part(int i) {
+ int p;
+
+ for (p = i; p < num_parts; p++)
+ p_info[p] = p_info[p+1];
+
+ num_parts--;
+ if (cur_part == num_parts)
+ cur_part--;
+}
+
+static void
+insert_empty_part(int i, long long first, long long last) {
+ int p;
+
+ for (p = num_parts; p > i; p--)
+ p_info[p] = p_info[p-1];
+
+ p_info[i].first_sector = first;
+ p_info[i].last_sector = last;
+ p_info[i].offset = 0;
+ p_info[i].flags = 0;
+ p_info[i].id = FREE_SPACE;
+ p_info[i].num = PRI_OR_LOG;
+ p_info[i].volume_label[0] = 0;
+ p_info[i].fstype[0] = 0;
+ p_info[i].ostype[0] = 0;
+
+ num_parts++;
+}
+
+static void
+del_part(int i) {
+ int num = p_info[i].num;
+
+ if (i > 0 && (p_info[i-1].id == FREE_SPACE ||
+ p_info[i-1].id == UNUSABLE)) {
+ /* Merge with previous partition */
+ p_info[i-1].last_sector = p_info[i].last_sector;
+ remove_part(i--);
+ }
+
+ if (i < num_parts - 1 && (p_info[i+1].id == FREE_SPACE ||
+ p_info[i+1].id == UNUSABLE)) {
+ /* Merge with next partition */
+ p_info[i+1].first_sector = p_info[i].first_sector;
+ remove_part(i);
+ }
+
+ if (i > 0)
+ p_info[i].first_sector = p_info[i-1].last_sector + 1;
+ else
+ p_info[i].first_sector = 0;
+
+ if (i < num_parts - 1)
+ p_info[i].last_sector = p_info[i+1].first_sector - 1;
+ else
+ p_info[i].last_sector = actual_size - 1;
+
+ p_info[i].offset = 0;
+ p_info[i].flags = 0;
+ p_info[i].id = FREE_SPACE;
+ p_info[i].num = PRI_OR_LOG;
+
+ if (IS_LOGICAL(num)) {
+ /* We have a logical partition --> shrink the extended partition
+ * if (1) this is the first logical drive, or (2) this is the
+ * last logical drive; and if there are any other logical drives
+ * then renumber the ones after "num".
+ */
+ if (i == 0 || (i > 0 && IS_PRIMARY(p_info[i-1].num))) {
+ ext_info.first_sector = p_info[i].last_sector + 1;
+ ext_info.offset = 0;
+ }
+ if (i == num_parts-1 ||
+ (i < num_parts-1 && IS_PRIMARY(p_info[i+1].num)))
+ ext_info.last_sector = p_info[i].first_sector - 1;
+ for (i = 0; i < num_parts; i++)
+ if (p_info[i].num > num)
+ p_info[i].num--;
+ }
+
+ /* Clean up the rest of the partitions */
+ check_part_info();
+}
+
+static int
+add_part(int num, int id, int flags, long long first, long long last,
+ long long offset, int want_label, char **errmsg) {
+ int i, pri = 0, log = 0;
+
+ if (num_parts == MAXIMUM_PARTS) {
+ *errmsg = _("Too many partitions");
+ return -1;
+ }
+
+ if (first < 0) {
+ *errmsg = _("Partition begins before sector 0");
+ return -1;
+ }
+
+ if (last < 0) {
+ *errmsg = _("Partition ends before sector 0");
+ return -1;
+ }
+
+ if (first >= actual_size) {
+ *errmsg = _("Partition begins after end-of-disk");
+ return -1;
+ }
+
+ if (last >= actual_size) {
+ *errmsg = _("Partition ends after end-of-disk");
+ return -1;
+ }
+
+ for (i = 0; i < num_parts; i++) {
+ if (p_info[i].id > 0 && IS_PRIMARY(p_info[i].num))
+ pri++;
+ else if (p_info[i].id > 0 && IS_LOGICAL(p_info[i].num))
+ log++;
+ }
+ if (is_extended(ext_info.id) && log > 0)
+ pri++;
+
+ if (IS_PRIMARY(num)) {
+ if (pri >= 4) {
+ return -1; /* no room for more */
+ } else
+ pri++;
+ }
+
+ for (i = 0; i < num_parts && p_info[i].last_sector < first; i++);
+
+ if (i < num_parts && p_info[i].id != FREE_SPACE) {
+ if (last < p_info[i].first_sector)
+ *errmsg = _("logical partitions not in disk order");
+ else if (first + offset <= p_info[i].last_sector &&
+ p_info[i].first_sector + p_info[i].offset <= last)
+ *errmsg = _("logical partitions overlap");
+ else
+ /* the enlarged logical partition starts at the
+ partition table sector that defines it */
+ *errmsg = _("enlarged logical partitions overlap");
+ return -1;
+ }
+
+ if (i == num_parts || last > p_info[i].last_sector) {
+ return -1;
+ }
+
+ if (is_extended(id)) {
+ if (ext_info.id != FREE_SPACE) {
+ return -1; /* second extended */
+ }
+ else if (IS_PRIMARY(num)) {
+ ext_info.first_sector = first;
+ ext_info.last_sector = last;
+ ext_info.offset = offset;
+ ext_info.flags = flags;
+ ext_info.id = id;
+ ext_info.num = num;
+ ext_info.volume_label[0] = 0;
+ ext_info.fstype[0] = 0;
+ ext_info.ostype[0] = 0;
+ return 0;
+ } else {
+ return -1; /* explicit extended logical */
+ }
+ }
+
+ if (IS_LOGICAL(num)) {
+ if (!is_extended(ext_info.id)) {
+ print_warning(_("!!!! Internal error creating logical "
+ "drive with no extended partition !!!!"));
+ } else {
+ /* We might have a logical partition outside of the extended
+ * partition's range --> we have to extend the extended
+ * partition's range to encompass this new partition, but we
+ * must make sure that there are no primary partitions between
+ * it and the closest logical drive in extended partition.
+ */
+ if (first < ext_info.first_sector) {
+ if (i < num_parts-1 && IS_PRIMARY(p_info[i+1].num)) {
+ print_warning(_("Cannot create logical drive here -- would create two extended partitions"));
+ return -1;
+ } else {
+ if (first == 0) {
+ ext_info.first_sector = 0;
+ ext_info.offset = first = offset;
+ } else {
+ ext_info.first_sector = first;
+ }
+ }
+ } else if (last > ext_info.last_sector) {
+ if (i > 0 && IS_PRIMARY(p_info[i-1].num)) {
+ print_warning(_("Cannot create logical drive here -- would create two extended partitions"));
+ return -1;
+ } else {
+ ext_info.last_sector = last;
+ }
+ }
+ }
+ }
+
+ if (first != p_info[i].first_sector &&
+ !(IS_LOGICAL(num) && first == offset)) {
+ insert_empty_part(i, p_info[i].first_sector, first-1);
+ i++;
+ }
+
+ if (last != p_info[i].last_sector)
+ insert_empty_part(i+1, last+1, p_info[i].last_sector);
+
+ p_info[i].first_sector = first;
+ p_info[i].last_sector = last;
+ p_info[i].offset = offset;
+ p_info[i].flags = flags;
+ p_info[i].id = id;
+ p_info[i].num = num;
+ p_info[i].volume_label[0] = 0;
+ p_info[i].fstype[0] = 0;
+ p_info[i].ostype[0] = 0;
+
+#ifdef HAVE_LIBBLKID
+ if (want_label)
+ get_fsinfo(i);
+#endif
+ check_part_info();
+
+ return 0;
+}
+
+static int
+find_primary(void) {
+ int num = 0, cur = 0;
+
+ while (cur < num_parts && IS_PRIMARY(num))
+ if ((p_info[cur].id > 0 && p_info[cur].num == num) ||
+ (is_extended(ext_info.id) && ext_info.num == num)) {
+ num++;
+ cur = 0;
+ } else
+ cur++;
+
+ if (!IS_PRIMARY(num))
+ return -1;
+ else
+ return num;
+}
+
+static int
+find_logical(int i) {
+ int num = -1;
+ int j;
+
+ for (j = i; j < num_parts && num == -1; j++)
+ if (p_info[j].id > 0 && IS_LOGICAL(p_info[j].num))
+ num = p_info[j].num;
+
+ if (num == -1) {
+ num = 4;
+ for (j = 0; j < num_parts; j++)
+ if (p_info[j].id > 0 && p_info[j].num == num)
+ num++;
+ }
+
+ return num;
+}
+
+/*
+ * Command menu support by Janne Kukonlehto <jtklehto@phoenix.oulu.fi>
+ * September 1994
+ */
+
+/* Constants for menuType parameter of menuSelect function */
+#define MENU_ACCEPT_OTHERS 4
+#define MENU_BUTTON 8
+/* Miscellenous constants */
+#define MENU_SPACING 2
+#define MENU_MAX_ITEMS 256 /* for simpleMenu function */
+
+struct MenuItem
+{
+ int key; /* Keyboard shortcut; if zero, then there is no more items in the menu item table */
+ char *name; /* Item name, should be eight characters with current implementation */
+ char *desc; /* Item description to be printed when item is selected */
+};
+
+/*
+ * Actual function which prints the button bar and highlights the active button
+ * Should not be called directly. Call function menuSelect instead.
+ */
+
+static int
+menuUpdate( int y, int x, struct MenuItem *menuItems, int itemLength,
+ char *available, int menuType, int current ) {
+ int i, lmargin = x;
+ char *mcd;
+
+ /* Print available buttons */
+ move( y, x ); clrtoeol();
+
+ for( i = 0; menuItems[i].key; i++ ) {
+ char buff[20];
+ int lenName;
+ const char *mi;
+
+ /* Search next available button */
+ while( menuItems[i].key && !strchr(available, menuItems[i].key) )
+ i++;
+
+ if( !menuItems[i].key ) break; /* No more menu items */
+
+ /* If selected item is not available and we have bypassed it,
+ make current item selected */
+ if( current < i && menuItems[current].key < 0 ) current = i;
+
+ /* If current item is selected, highlight it */
+ if( current == i ) /*attron( A_REVERSE )*/ standout ();
+
+ /* Print item */
+ /* Because of a bug in gettext() we must not translate empty strings */
+ if (menuItems[i].name[0])
+ mi = _(menuItems[i].name);
+ else
+ mi = "";
+ lenName = strlen( mi );
+#if 0
+ if(lenName > itemLength || lenName >= sizeof(buff))
+ print_warning(_("Menu item too long. Menu may look odd."));
+#endif
+ if ((size_t) lenName >= sizeof(buff)) { /* truncate ridiculously long string */
+ xstrncpy(buff, mi, sizeof(buff));
+ } else if (lenName >= itemLength) {
+ snprintf(buff, sizeof(buff),
+ (menuType & MENU_BUTTON) ? "[%s]" : "%s", mi);
+ } else {
+ snprintf(buff, sizeof(buff),
+ (menuType & MENU_BUTTON) ? "[%*s%-*s]" : "%*s%-*s",
+ (itemLength - lenName) / 2, "",
+ (itemLength - lenName + 1) / 2 + lenName, mi);
+ }
+ mvaddstr( y, x, buff );
+
+ /* Lowlight after selected item */
+ if( current == i ) /*attroff( A_REVERSE )*/ standend ();
+
+ /* Calculate position for the next item */
+ x += itemLength + MENU_SPACING;
+ if( menuType & MENU_BUTTON ) x += 2;
+ if( x > COLUMNS - lmargin - 12 )
+ {
+ x = lmargin;
+ y ++ ;
+ }
+ }
+
+ /* Print the description of selected item */
+ mcd = _(menuItems[current].desc);
+ mvaddstr( WARNING_START + 1, (COLUMNS - strlen( mcd )) / 2, mcd );
+ return y;
+}
+
+/* This function takes a list of menu items, lets the user choose one *
+ * and returns the keyboard shortcut value of the selected menu item */
+
+static int
+menuSelect( int y, int x, struct MenuItem *menuItems, int itemLength,
+ char *available, int menuType, int menuDefault ) {
+ int i, ylast = y, key = 0, current = menuDefault;
+
+ /* Make sure that the current is one of the available items */
+ while( !strchr(available, menuItems[current].key) ) {
+ current ++ ;
+ if( !menuItems[current].key ) current = 0;
+ }
+
+ keypad(stdscr, TRUE);
+
+ /* Repeat until allowable choice has been made */
+ while( !key ) {
+ /* Display the menu and read a command */
+ ylast = menuUpdate( y, x, menuItems, itemLength, available,
+ menuType, current );
+ refresh();
+ key = getch();
+
+ if (key == ERR)
+ if (!isatty(STDIN_FILENO))
+ exit(2);
+
+ /* Clear out all prompts and such */
+ clear_warning();
+ for (i = y; i < ylast; i++) {
+ move(i, x);
+ clrtoeol();
+ }
+ move( WARNING_START + 1, 0 );
+ clrtoeol();
+
+ switch (key) {
+ case KEY_RIGHT:
+ case '\t':
+ /* Select next menu item */
+ do {
+ current++;
+ if (!menuItems[current].key)
+ current = 0;
+ } while (!strchr(available, menuItems[current].key));
+ key = 0;
+ break;
+ case KEY_LEFT:
+#ifdef KEY_BTAB
+ case KEY_BTAB: /* Back tab */
+#endif
+ /* Select previous menu item */
+ do {
+ current--;
+ if (current < 0) {
+ while (menuItems[current + 1].key)
+ current++;
+ }
+ } while (!strchr(available, menuItems[current].key));
+ key = 0;
+ break;
+ case KEY_ENTER:
+ case '\n':
+ case '\r':
+ /* Enter equals the keyboard shortcut of current menu item */
+ key = menuItems[current].key;
+ break;
+ }
+
+ /* Should all keys to be accepted? */
+ if( key && (menuType & MENU_ACCEPT_OTHERS) ) break;
+
+ /* Is pressed key among acceptable ones? */
+ if( key && (strchr(available, tolower(key)) || strchr(available, key)))
+ break;
+
+ /* The key has not been accepted so far -> let's reject it */
+ if (key) {
+ key = 0;
+ putchar( BELL );
+ print_warning(_("Illegal key"));
+ }
+ }
+
+ keypad(stdscr, FALSE);
+
+ /* Clear out prompts and such */
+ clear_warning();
+ for( i = y; i <= ylast; i ++ ) {
+ move( i, x );
+ clrtoeol();
+ }
+ move( WARNING_START + 1, 0 );
+ clrtoeol();
+ return key;
+}
+
+/* A function which displays "Press a key to continue" *
+ * and waits for a keypress. *
+ * Perhaps calling function menuSelect is a bit overkill but who cares? */
+
+static void
+menuContinue(void) {
+ static struct MenuItem menuContinueBtn[]=
+ {
+ { 'c', "", N_("Press a key to continue") },
+ { 0, NULL, NULL }
+ };
+
+ menuSelect(COMMAND_LINE_Y, COMMAND_LINE_X,
+ menuContinueBtn, 0, "c", MENU_ACCEPT_OTHERS, 0 );
+}
+
+/* Function menuSelect takes way too many parameters *
+ * Luckily, most of time we can do with this function */
+
+static int
+menuSimple(struct MenuItem *menuItems, int menuDefault) {
+ int i, j, itemLength = 0;
+ char available[MENU_MAX_ITEMS];
+
+ for(i = 0; menuItems[i].key; i++)
+ {
+ j = strlen( _(menuItems[i].name) );
+ if( j > itemLength ) itemLength = j;
+ available[i] = menuItems[i].key;
+ }
+ available[i] = 0;
+ return menuSelect(COMMAND_LINE_Y, COMMAND_LINE_X, menuItems, itemLength,
+ available, MENU_BUTTON, menuDefault);
+}
+
+/* End of command menu support code */
+
+static void
+new_part(int i) {
+ char response[LINE_LENGTH], def[LINE_LENGTH];
+ char c;
+ long long first = p_info[i].first_sector;
+ long long last = p_info[i].last_sector;
+ long long offset = 0;
+ int flags = 0;
+ int id = LINUX;
+ int num = -1;
+ long long num_sects = last - first + 1;
+ int len, ext, j;
+ char *errmsg;
+ double sectors_per_MB = K*K / 512.0;
+
+ if (p_info[i].num == PRI_OR_LOG) {
+ static struct MenuItem menuPartType[]=
+ {
+ { 'p', N_("Primary"), N_("Create a new primary partition") },
+ { 'l', N_("Logical"), N_("Create a new logical partition") },
+ { ESC, N_("Cancel"), N_("Don't create a partition") },
+ { 0, NULL, NULL }
+ };
+
+ c = menuSimple( menuPartType, 0 );
+ if (toupper(c) == 'P')
+ num = find_primary();
+ else if (toupper(c) == 'L')
+ num = find_logical(i);
+ else
+ return;
+ } else if (p_info[i].num == PRIMARY)
+ num = find_primary();
+ else if (p_info[i].num == LOGICAL)
+ num = find_logical(i);
+ else
+ print_warning(_("!!! Internal error !!!"));
+
+ snprintf(def, sizeof(def), "%.2f", num_sects/sectors_per_MB);
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X, _("Size (in MB): "));
+ if ((len = get_string(response, LINE_LENGTH, def)) <= 0 &&
+ len != GS_DEFAULT)
+ return;
+ else if (len > 0) {
+#define num_cyls(bytes) (round_int(bytes/SECTOR_SIZE/cylinder_size))
+ for (j = 0;
+ j < len-1 && (isdigit(response[j]) || response[j] == '.');
+ j++);
+ if (toupper(response[j]) == 'K') {
+ num_sects = num_cyls(atof(response)*K)*cylinder_size;
+ } else if (toupper(response[j]) == 'M') {
+ num_sects = num_cyls(atof(response)*K*K)*cylinder_size;
+ } else if (toupper(response[j]) == 'G') {
+ num_sects = num_cyls(atof(response)*K*K*K)*cylinder_size;
+ } else if (toupper(response[j]) == 'C') {
+ num_sects = round_int(atof(response))*cylinder_size;
+ } else if (toupper(response[j]) == 'S') {
+ num_sects = round_int(atof(response));
+ } else {
+ num_sects = num_cyls(atof(response)*K*K)*cylinder_size;
+ }
+ }
+
+ if (num_sects <= 0 ||
+ num_sects > p_info[i].last_sector - p_info[i].first_sector + 1)
+ return;
+
+ move( COMMAND_LINE_Y, COMMAND_LINE_X ); clrtoeol();
+ if (num_sects < p_info[i].last_sector - p_info[i].first_sector + 1) {
+ /* Determine where inside free space to put partition.
+ */
+ static struct MenuItem menuPlace[]=
+ {
+ { 'b', N_("Beginning"), N_("Add partition at beginning of free space") },
+ { 'e', N_("End"), N_("Add partition at end of free space") },
+ { ESC, N_("Cancel"), N_("Don't create a partition") },
+ { 0, NULL, NULL }
+ };
+ c = menuSimple( menuPlace, 0 );
+ if (toupper(c) == 'B')
+ last = first + num_sects - 1;
+ else if (toupper(c) == 'E')
+ first = last - num_sects + 1;
+ else
+ return;
+ }
+
+ if (IS_LOGICAL(num) && !is_extended(ext_info.id)) {
+ /* We want to add a logical partition, but need to create an
+ * extended partition first.
+ */
+ if ((ext = find_primary()) < 0) {
+ print_warning(_("No room to create the extended partition"));
+ return;
+ }
+ errmsg = 0;
+ if (add_part(ext, DOS_EXTENDED, 0, first, last,
+ (first == 0 ? sectors : 0), 0, &errmsg) && errmsg)
+ print_warning(errmsg);
+ first = ext_info.first_sector + ext_info.offset;
+ }
+
+ /* increment number of all partitions past this one */
+ if (IS_LOGICAL(num)) {
+#if 0
+ /* original text - ok, but fails when partitions not in disk order */
+ for (j = i; j < num_parts; j++)
+ if (p_info[j].id > 0 && IS_LOGICAL(p_info[j].num))
+ p_info[j].num++;
+#else
+ /* always ok */
+ for (j = 0; j < num_parts; j++)
+ if (p_info[j].id > 0 && p_info[j].num >= num)
+ p_info[j].num++;
+#endif
+ }
+
+ /* Now we have a complete partition to ourselves */
+ if (first == 0 || IS_LOGICAL(num))
+ offset = sectors;
+
+ errmsg = 0;
+ if (add_part(num, id, flags, first, last, offset, 0, &errmsg) && errmsg)
+ print_warning(errmsg);
+}
+
+static void
+get_kernel_geometry(void) {
+#ifdef HDIO_GETGEO
+ struct hd_geometry geometry;
+
+ if (!ioctl(fd, HDIO_GETGEO, &geometry)) {
+ kern_heads = geometry.heads;
+ kern_sectors = geometry.sectors;
+ }
+#endif
+}
+
+static int
+said_yes(char answer) {
+ char reply[2];
+
+ reply[0] = answer;
+ reply[1] = 0;
+
+ return (rpmatch(reply) == 1) ? 1 : 0;
+}
+
+static void
+get_partition_table_geometry(partition_table *bufp) {
+ struct partition *p;
+ int i,h,s,hh,ss;
+ int first = TRUE;
+ int bad = FALSE;
+
+ for (i=0; i<66; i++)
+ if (bufp->c.b[446+i])
+ goto nonz;
+
+ /* zero table */
+ if (!curses_started) {
+ fatal(_("No partition table.\n"), 3);
+ return;
+ } else {
+ mvaddstr(WARNING_START, 0,
+ _("No partition table. Starting with zero table."));
+ putchar(BELL);
+ refresh();
+ zero_table = TRUE;
+ return;
+ }
+ nonz:
+ if (bufp->p.magicflag[0] != PART_TABLE_FLAG0 ||
+ bufp->p.magicflag[1] != PART_TABLE_FLAG1) {
+ if (!curses_started)
+ fatal(_("Bad signature on partition table"), 3);
+
+ /* Matthew Wilcox */
+ mvaddstr(WARNING_START, 0,
+ _("Unknown partition table type"));
+ mvaddstr(WARNING_START+1, 0,
+ _("Do you wish to start with a zero table [y/N] ?"));
+ putchar(BELL);
+ refresh();
+ {
+ int cont = getch();
+ if (cont == EOF || !said_yes(cont))
+ die_x(3);
+ }
+ zero_table = TRUE;
+ return;
+ }
+
+ hh = ss = 0;
+ for (i=0; i<4; i++) {
+ p = &(bufp->p.part[i]);
+ if (p->sys_ind != 0) {
+ h = p->end_head + 1;
+ s = (p->end_sector & 077);
+ if (first) {
+ hh = h;
+ ss = s;
+ first = FALSE;
+ } else if (hh != h || ss != s)
+ bad = TRUE;
+ }
+ }
+
+ if (!first && !bad) {
+ pt_heads = hh;
+ pt_sectors = ss;
+ }
+}
+
+static void
+decide_on_geometry(void) {
+ heads = (user_heads ? user_heads :
+ pt_heads ? pt_heads :
+ kern_heads ? kern_heads : 255);
+ sectors = (user_sectors ? user_sectors :
+ pt_sectors ? pt_sectors :
+ kern_sectors ? kern_sectors : 63);
+ cylinder_size = heads*sectors;
+ cylinders = actual_size/cylinder_size;
+ if (user_cylinders > 0)
+ cylinders = user_cylinders;
+
+ if (cylinder_size * cylinders > actual_size)
+ print_warning(_("You specified more cylinders than fit on disk"));
+}
+
+static void
+clear_p_info(void) {
+ num_parts = 1;
+ p_info[0].first_sector = 0;
+ p_info[0].last_sector = actual_size - 1;
+ p_info[0].offset = 0;
+ p_info[0].flags = 0;
+ p_info[0].id = FREE_SPACE;
+ p_info[0].num = PRI_OR_LOG;
+
+ ext_info.first_sector = 0;
+ ext_info.last_sector = 0;
+ ext_info.offset = 0;
+ ext_info.flags = 0;
+ ext_info.id = FREE_SPACE;
+ ext_info.num = PRIMARY;
+}
+
+static void
+fill_p_info(void) {
+ int pn, i;
+ long long bs, bsz;
+ unsigned long long llsectors;
+ struct partition *p;
+ partition_table buffer;
+ partition_info tmp_ext;
+
+ memset(&tmp_ext, 0, sizeof tmp_ext);
+ tmp_ext.id = FREE_SPACE;
+ tmp_ext.num = PRIMARY;
+
+ if ((fd = open(disk_device, O_RDWR)) < 0) {
+ if ((fd = open(disk_device, O_RDONLY)) < 0)
+ fatal(_("Cannot open disk drive"), 2);
+ opentype = O_RDONLY;
+ print_warning(_("Opened disk read-only - you have no permission to write"));
+ if (curses_started) {
+ refresh();
+ getch();
+ clear_warning();
+ }
+ } else
+ opentype = O_RDWR;
+ opened = TRUE;
+
+ if (gpt_probe_signature_fd(fd)) {
+ print_warning(_("Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."));
+ refresh();
+ getch();
+ clear_warning();
+ }
+
+#ifdef BLKFLSBUF
+ /* Blocks are visible in more than one way:
+ e.g. as block on /dev/hda and as block on /dev/hda3
+ By a bug in the Linux buffer cache, we will see the old
+ contents of /dev/hda when the change was made to /dev/hda3.
+ In order to avoid this, discard all blocks on /dev/hda.
+ Note that partition table blocks do not live in /dev/hdaN,
+ so this only plays a role if we want to show volume labels. */
+ ioctl(fd, BLKFLSBUF); /* ignore errors */
+ /* e.g. Permission Denied */
+#endif
+
+ if (blkdev_get_sectors(fd, &llsectors) == -1)
+ fatal(_("Cannot get disk size"), 3);
+ actual_size = llsectors;
+
+ read_sector(buffer.c.b, 0);
+
+ get_kernel_geometry();
+
+ if (!zero_table || use_partition_table_geometry)
+ get_partition_table_geometry(& buffer);
+
+ decide_on_geometry();
+
+ clear_p_info();
+
+ if (!zero_table) {
+ char *errmsg = "";
+
+ for (i = 0; i < 4; i++) {
+ p = & buffer.p.part[i];
+ bs = get_start_sect(p);
+ bsz = get_nr_sects(p);
+
+ if (p->sys_ind > 0 &&
+ add_part(i, p->sys_ind, p->boot_ind,
+ ((bs <= sectors) ? 0 : bs), bs + bsz - 1,
+ ((bs <= sectors) ? bs : 0), 1, &errmsg)) {
+ char *bad = _("Bad primary partition");
+ char *msg = (char *) xmalloc(strlen(bad) + strlen(errmsg) + 30);
+ sprintf(msg, "%s %d: %s", bad, i + 1, errmsg);
+ fatal(msg, 4);
+ }
+ if (is_extended(buffer.p.part[i].sys_ind))
+ tmp_ext = ext_info;
+ }
+
+ if (is_extended(tmp_ext.id)) {
+ ext_info = tmp_ext;
+ logical_sectors[logical] =
+ ext_info.first_sector + ext_info.offset;
+ read_sector(buffer.c.b, logical_sectors[logical++]);
+ i = 4;
+ do {
+ for (pn = 0;
+ pn < 4 && (!buffer.p.part[pn].sys_ind ||
+ is_extended(buffer.p.part[pn].sys_ind));
+ pn++);
+
+ if (pn < 4) {
+ p = & buffer.p.part[pn];
+ bs = get_start_sect(p);
+ bsz = get_nr_sects(p);
+
+ if (add_part(i++, p->sys_ind, p->boot_ind,
+ logical_sectors[logical-1],
+ logical_sectors[logical-1] + bs + bsz - 1,
+ bs, 1, &errmsg)) {
+ char *bad = _("Bad logical partition");
+ char *msg = (char *) xmalloc(strlen(bad) + strlen(errmsg) + 30);
+ sprintf(msg, "%s %d: %s", bad, i, errmsg);
+ fatal(msg, 4);
+ }
+ }
+
+ for (pn = 0;
+ pn < 4 && !is_extended(buffer.p.part[pn].sys_ind);
+ pn++);
+ if (pn < 4) {
+ p = & buffer.p.part[pn];
+ bs = get_start_sect(p);
+ logical_sectors[logical] = ext_info.first_sector
+ + ext_info.offset + bs;
+ read_sector(buffer.c.b, logical_sectors[logical++]);
+ }
+ } while (pn < 4 && logical < MAXIMUM_PARTS-4);
+ }
+ }
+}
+
+static void
+fill_part_table(struct partition *p, partition_info *pi) {
+ long long begin;
+
+ p->boot_ind = pi->flags;
+ p->sys_ind = pi->id;
+ begin = pi->first_sector + pi->offset;
+ if (IS_LOGICAL(pi->num))
+ set_start_sect(p,pi->offset);
+ else
+ set_start_sect(p,begin);
+ set_nr_sects(p, pi->last_sector - begin + 1);
+ set_hsc_begin(p, begin);
+ set_hsc_end(p, pi->last_sector);
+}
+
+static void
+fill_primary_table(partition_table *buffer) {
+ int i;
+
+ /* Zero out existing table */
+ for (i = 0x1BE; i < SECTOR_SIZE; i++)
+ buffer->c.b[i] = 0;
+
+ for (i = 0; i < num_parts; i++)
+ if (IS_PRIMARY(p_info[i].num))
+ fill_part_table(&(buffer->p.part[p_info[i].num]), &(p_info[i]));
+
+ if (is_extended(ext_info.id))
+ fill_part_table(&(buffer->p.part[ext_info.num]), &ext_info);
+
+ buffer->p.magicflag[0] = PART_TABLE_FLAG0;
+ buffer->p.magicflag[1] = PART_TABLE_FLAG1;
+}
+
+static void
+fill_logical_table(partition_table *buffer, partition_info *pi) {
+ struct partition *p;
+ int i;
+
+ for (i = 0; i < logical && pi->first_sector != logical_sectors[i]; i++);
+ if (i == logical || buffer->p.magicflag[0] != PART_TABLE_FLAG0
+ || buffer->p.magicflag[1] != PART_TABLE_FLAG1)
+ for (i = 0; i < SECTOR_SIZE; i++)
+ buffer->c.b[i] = 0;
+
+ /* Zero out existing table */
+ for (i = 0x1BE; i < SECTOR_SIZE; i++)
+ buffer->c.b[i] = 0;
+
+ fill_part_table(&(buffer->p.part[0]), pi);
+
+ for (i = 0;
+ i < num_parts && pi->num != p_info[i].num - 1;
+ i++);
+
+ if (i < num_parts) {
+ p = &(buffer->p.part[1]);
+ pi = &(p_info[i]);
+
+ p->boot_ind = 0;
+ p->sys_ind = DOS_EXTENDED;
+ set_start_sect(p, pi->first_sector - ext_info.first_sector - ext_info.offset);
+ set_nr_sects(p, pi->last_sector - pi->first_sector + 1);
+ set_hsc_begin(p, pi->first_sector);
+ set_hsc_end(p, pi->last_sector);
+ }
+
+ buffer->p.magicflag[0] = PART_TABLE_FLAG0;
+ buffer->p.magicflag[1] = PART_TABLE_FLAG1;
+}
+
+static void
+write_part_table(void) {
+ int i, ct, done = FALSE, len;
+ partition_table buffer;
+ struct stat s;
+ int is_bdev;
+ char response[LINE_LENGTH];
+
+ if (opentype == O_RDONLY) {
+ print_warning(_("Opened disk read-only - you have no permission to write"));
+ refresh();
+ getch();
+ clear_warning();
+ return;
+ }
+
+ is_bdev = 0;
+ if(fstat(fd, &s) == 0 && S_ISBLK(s.st_mode))
+ is_bdev = 1;
+
+ if (is_bdev) {
+ print_warning(_("Warning!! This may destroy data on your disk!"));
+
+ while (!done) {
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X,
+ _("Are you sure you want to write the partition table "
+ "to disk? (yes or no): "));
+ len = get_string(response, LINE_LENGTH, NULL);
+ clear_warning();
+ if (len == GS_ESCAPE)
+ return;
+ else if (strcasecmp(response, _("no")) == 0 ||
+ strcasecmp(response, "no") == 0) {
+ print_warning(_("Did not write partition table to disk"));
+ return;
+ } else if (strcasecmp(response, _("yes")) == 0 ||
+ strcasecmp(response, "yes") == 0)
+ done = TRUE;
+ else
+ print_warning(_("Please enter `yes' or `no'"));
+ }
+
+ clear_warning();
+ print_warning(_("Writing partition table to disk..."));
+ refresh();
+ }
+
+ read_sector(buffer.c.b, 0);
+ fill_primary_table(&buffer);
+ write_sector(buffer.c.b, 0);
+
+ for (i = 0; i < num_parts; i++)
+ if (IS_LOGICAL(p_info[i].num)) {
+ read_sector(buffer.c.b, p_info[i].first_sector);
+ fill_logical_table(&buffer, &(p_info[i]));
+ write_sector(buffer.c.b, p_info[i].first_sector);
+ }
+
+ if (is_bdev) {
+#ifdef BLKRRPART
+ sync();
+ if (!ioctl(fd,BLKRRPART))
+ changed = TRUE;
+#endif
+ sync();
+
+ clear_warning();
+ if (changed)
+ print_warning(_("Wrote partition table to disk"));
+ else
+ print_warning(_("Wrote partition table, but re-read table failed. Run partprobe(8), kpartx(8) or reboot to update table."));
+ } else
+ print_warning(_("Wrote partition table to disk"));
+
+ /* Check: unique bootable primary partition? */
+ ct = 0;
+ for (i = 0; i < num_parts; i++)
+ if (IS_PRIMARY(i) && p_info[i].flags == ACTIVE_FLAG)
+ ct++;
+ if (ct == 0)
+ print_warning(_("No primary partitions are marked bootable. DOS MBR cannot boot this."));
+ if (ct > 1)
+ print_warning(_("More than one primary partition is marked bootable. DOS MBR cannot boot this."));
+}
+
+static void
+fp_printf(FILE *fp, char *format, ...) {
+ va_list args;
+ char buf[1024];
+ int y, x __attribute__((unused));
+
+ va_start(args, format);
+ vsnprintf(buf, sizeof(buf), format, args);
+ va_end(args);
+
+ if (fp == NULL) {
+ /* The following works best if the string to be printed has at
+ most only one newline. */
+ printw("%s", buf);
+ getyx(stdscr, y, x);
+ if (y >= COMMAND_LINE_Y-2) {
+ menuContinue();
+ erase();
+ move(0, 0);
+ }
+ } else
+ fprintf(fp, "%s", buf);
+}
+
+#define MAX_PER_LINE 16
+static void
+print_file_buffer(FILE *fp, unsigned char *buffer) {
+ int i,l;
+
+ for (i = 0, l = 0; i < SECTOR_SIZE; i++, l++) {
+ if (l == 0)
+ fp_printf(fp, "0x%03X:", i);
+ fp_printf(fp, " %02X", buffer[i]);
+ if (l == MAX_PER_LINE - 1) {
+ fp_printf(fp, "\n");
+ l = -1;
+ }
+ }
+ if (l > 0)
+ fp_printf(fp, "\n");
+ fp_printf(fp, "\n");
+}
+
+static void
+print_raw_table(void) {
+ int i, to_file;
+ partition_table buffer;
+ char fname[LINE_LENGTH];
+ FILE *fp;
+
+ if (print_only) {
+ fp = stdout;
+ to_file = TRUE;
+ } else {
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X,
+ _("Enter filename or press RETURN to display on screen: "));
+
+ if ((to_file = get_string(fname, LINE_LENGTH, NULL)) < 0)
+ return;
+
+ if (to_file) {
+ if ((fp = fopen(fname, "w")) == NULL) {
+ char errstr[LINE_LENGTH];
+ snprintf(errstr, sizeof(errstr),
+ _("cannot open %s"), fname);
+ print_warning(errstr);
+ return;
+ }
+ } else {
+ fp = NULL;
+ erase();
+ move(0, 0);
+ }
+ }
+
+ fp_printf(fp, _("Disk Drive: %s\n"), disk_device);
+
+ fp_printf(fp, _("Sector 0:\n"));
+ read_sector(buffer.c.b, 0);
+ fill_primary_table(&buffer);
+ print_file_buffer(fp, buffer.c.b);
+
+ for (i = 0; i < num_parts; i++)
+ if (IS_LOGICAL(p_info[i].num)) {
+ fp_printf(fp, _("Sector %d:\n"), p_info[i].first_sector);
+ read_sector(buffer.c.b, p_info[i].first_sector);
+ fill_logical_table(&buffer, &(p_info[i]));
+ print_file_buffer(fp, buffer.c.b);
+ }
+
+ if (to_file) {
+ if (!print_only)
+ fclose(fp);
+ } else {
+ menuContinue();
+ }
+}
+
+static void
+print_p_info_entry(FILE *fp, partition_info *p) {
+ long long size;
+ char part_str[40];
+
+ if (p->id == UNUSABLE)
+ fp_printf(fp, _(" None "));
+ else if (p->id == FREE_SPACE && p->num == PRI_OR_LOG)
+ fp_printf(fp, _(" Pri/Log"));
+ else if (p->id == FREE_SPACE && p->num == PRIMARY)
+ fp_printf(fp, _(" Primary"));
+ else if (p->id == FREE_SPACE && p->num == LOGICAL)
+ fp_printf(fp, _(" Logical"));
+ else
+ fp_printf(fp, "%2d %-7.7s", p->num+1,
+ IS_LOGICAL(p->num) ? _("Logical") : _("Primary"));
+
+ fp_printf(fp, " ");
+
+ fp_printf(fp, "%11lld%c", p->first_sector,
+ ((p->first_sector/cylinder_size) !=
+ ((float)p->first_sector/cylinder_size) ?
+ '*' : ' '));
+
+ fp_printf(fp, "%11lld%c", p->last_sector,
+ (((p->last_sector+1)/cylinder_size) !=
+ ((float)(p->last_sector+1)/cylinder_size) ?
+ '*' : ' '));
+
+ fp_printf(fp, "%6ld%c", p->offset,
+ ((((p->first_sector == 0 || IS_LOGICAL(p->num)) &&
+ (p->offset != sectors)) ||
+ (p->first_sector != 0 && IS_PRIMARY(p->num) &&
+ p->offset != 0)) ?
+ '#' : ' '));
+
+ size = p->last_sector - p->first_sector + 1;
+ fp_printf(fp, "%11lld%c", size,
+ ((size/cylinder_size) != ((float)size/cylinder_size) ?
+ '*' : ' '));
+
+ /* fp_printf(fp, " "); */
+
+ if (p->id == UNUSABLE)
+ sprintf(part_str, "%.15s", _("Unusable"));
+ else if (p->id == FREE_SPACE)
+ sprintf(part_str, "%.15s", _("Free Space"));
+ else if (partition_type_name(p->id))
+ sprintf(part_str, "%.15s (%02X)", _(partition_type_name(p->id)), p->id);
+ else
+ sprintf(part_str, "%.15s (%02X)", _("Unknown"), p->id);
+ fp_printf(fp, "%-20.20s", part_str);
+
+ fp_printf(fp, " ");
+
+ if (p->flags == ACTIVE_FLAG)
+ fp_printf(fp, _("Boot"), p->flags);
+ else if (p->flags != 0)
+ fp_printf(fp, _("(%02X)"), p->flags);
+ else
+ fp_printf(fp, _("None"), p->flags);
+
+ fp_printf(fp, "\n");
+}
+
+static void
+print_p_info(void) {
+ char fname[LINE_LENGTH];
+ FILE *fp;
+ int i, to_file, pext = is_extended(ext_info.id);
+
+ if (print_only) {
+ fp = stdout;
+ to_file = TRUE;
+ } else {
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X,
+ _("Enter filename or press RETURN to display on screen: "));
+
+ if ((to_file = get_string(fname, LINE_LENGTH, NULL)) < 0)
+ return;
+
+ if (to_file) {
+ if ((fp = fopen(fname, "w")) == NULL) {
+ char errstr[LINE_LENGTH];
+ snprintf(errstr, LINE_LENGTH, _("cannot open %s"), fname);
+ print_warning(errstr);
+ return;
+ }
+ } else {
+ fp = NULL;
+ erase();
+ move(0, 0);
+ }
+ }
+
+ fp_printf(fp, _("Partition Table for %s\n"), disk_device);
+ fp_printf(fp, "\n");
+ fp_printf(fp, _(" First Last\n"));
+ fp_printf(fp, _(" # Type Sector Sector Offset Length Filesystem Type (ID) Flag\n"));
+ fp_printf(fp, _("-- ------- ----------- ----------- ------ ----------- -------------------- ----\n"));
+
+ for (i = 0; i < num_parts; i++) {
+ if (pext && (p_info[i].first_sector >= ext_info.first_sector)) {
+ print_p_info_entry(fp,&ext_info);
+ pext = FALSE;
+ }
+ print_p_info_entry(fp, &(p_info[i]));
+ }
+
+ if (to_file) {
+ if (!print_only)
+ fclose(fp);
+ } else {
+ menuContinue();
+ }
+}
+
+static void
+print_part_entry(FILE *fp, int num, partition_info *pi) {
+ long long first = 0, start = 0, end = 0, size = 0;
+ unsigned char ss, es, sh, eh;
+ int sc, ec;
+ int flags = 0, id = 0;
+
+ ss = sh = es = eh = 0;
+ sc = ec = 0;
+
+ if (pi != NULL) {
+ flags = pi->flags;
+ id = pi->id;
+
+ if (IS_LOGICAL(num))
+ first = pi->offset;
+ else
+ first = pi->first_sector + pi->offset;
+
+ start = pi->first_sector + pi->offset;
+ end = pi->last_sector;
+ size = end - start + 1;
+
+ set_hsc0(&sh, &ss, &sc, start);
+ set_hsc0(&eh, &es, &ec, end);
+ }
+
+ fp_printf(fp, "%2d 0x%02X %4d %4d %5d 0x%02X %4d %4d %5d %11lld %11lld\n",
+ num+1, flags, sh, ss, sc, id, eh, es, ec, first, size);
+}
+
+
+static void
+print_part_table(void) {
+ int i, j, to_file;
+ char fname[LINE_LENGTH];
+ FILE *fp;
+
+ if (print_only) {
+ fp = stdout;
+ to_file = TRUE;
+ } else {
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X,
+ _("Enter filename or press RETURN to display on screen: "));
+
+ if ((to_file = get_string(fname, LINE_LENGTH, NULL)) < 0)
+ return;
+
+ if (to_file) {
+ if ((fp = fopen(fname, "w")) == NULL) {
+ char errstr[LINE_LENGTH];
+ snprintf(errstr, LINE_LENGTH, _("cannot open %s"), fname);
+ print_warning(errstr);
+ return;
+ }
+ } else {
+ fp = NULL;
+ erase();
+ move(0, 0);
+ }
+ }
+
+ fp_printf(fp, _("Partition Table for %s\n"), disk_device);
+ fp_printf(fp, "\n");
+ /* Three-line heading. Read "Start Sector" etc vertically. */
+ fp_printf(fp, _(" ---Starting---- ----Ending----- Start Number of\n"));
+ fp_printf(fp, _(" # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"));
+ fp_printf(fp, _("-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"));
+
+ for (i = 0; i < 4; i++) {
+ for (j = 0;
+ j < num_parts && (p_info[j].id <= 0 || p_info[j].num != i);
+ j++);
+ if (j < num_parts) {
+ print_part_entry(fp, i, &(p_info[j]));
+ } else if (is_extended(ext_info.id) && ext_info.num == i) {
+ print_part_entry(fp, i, &ext_info);
+ } else {
+ print_part_entry(fp, i, NULL);
+ }
+ }
+
+ for (i = 0; i < num_parts; i++)
+ if (IS_LOGICAL(p_info[i].num))
+ print_part_entry(fp, p_info[i].num, &(p_info[i]));
+
+ if (to_file) {
+ if (!print_only)
+ fclose(fp);
+ } else {
+ menuContinue();
+ }
+}
+
+static void
+print_tables(void) {
+ int done = FALSE;
+
+ static struct MenuItem menuFormat[]=
+ {
+ { 'r', N_("Raw"), N_("Print the table using raw data format") },
+ { 's', N_("Sectors"), N_("Print the table ordered by sectors") },
+ { 't', N_("Table"), N_("Just print the partition table") },
+ { ESC, N_("Cancel"), N_("Don't print the table") },
+ { 0, NULL, NULL }
+ };
+
+ while (!done)
+ switch ( toupper(menuSimple( menuFormat, 2)) ) {
+ case 'R':
+ print_raw_table();
+ done = TRUE;
+ break;
+ case 'S':
+ print_p_info();
+ done = TRUE;
+ break;
+ case 'T':
+ print_part_table();
+ done = TRUE;
+ break;
+ case ESC:
+ done = TRUE;
+ break;
+ }
+}
+
+#define END_OF_HELP "EOHS!"
+static void
+display_help(void) {
+ char *help_text[] = {
+ N_("Help Screen for cfdisk"),
+ "",
+ N_("This is cfdisk, a curses based disk partitioning program, which"),
+ N_("allows you to create, delete and modify partitions on your hard"),
+ N_("disk drive."),
+ "",
+ N_("Copyright (C) 1994-1999 Kevin E. Martin & aeb"),
+ "",
+ N_("Command Meaning"),
+ N_("------- -------"),
+ N_(" b Toggle bootable flag of the current partition"),
+ N_(" d Delete the current partition"),
+ N_(" g Change cylinders, heads, sectors-per-track parameters"),
+ N_(" WARNING: This option should only be used by people who"),
+ N_(" know what they are doing."),
+ N_(" h Print this screen"),
+ N_(" m Maximize disk usage of the current partition"),
+ N_(" Note: This may make the partition incompatible with"),
+ N_(" DOS, OS/2, ..."),
+ N_(" n Create new partition from free space"),
+ N_(" p Print partition table to the screen or to a file"),
+ N_(" There are several different formats for the partition"),
+ N_(" that you can choose from:"),
+ N_(" r - Raw data (exactly what would be written to disk)"),
+ N_(" s - Table ordered by sectors"),
+ N_(" t - Table in raw format"),
+ N_(" q Quit program without writing partition table"),
+ N_(" t Change the filesystem type"),
+ N_(" u Change units of the partition size display"),
+ N_(" Rotates through MB, sectors and cylinders"),
+ N_(" W Write partition table to disk (must enter upper case W)"),
+ N_(" Since this might destroy data on the disk, you must"),
+ N_(" either confirm or deny the write by entering `yes' or"),
+ N_(" `no'"),
+ N_("Up Arrow Move cursor to the previous partition"),
+ N_("Down Arrow Move cursor to the next partition"),
+ N_("CTRL-L Redraws the screen"),
+ N_(" ? Print this screen"),
+ "",
+ N_("Note: All of the commands can be entered with either upper or lower"),
+ N_("case letters (except for Writes)."),
+ END_OF_HELP
+ };
+
+ int cur_line = 0;
+ FILE *fp = NULL;
+
+ erase();
+ move(0, 0);
+ while (strcmp(help_text[cur_line], END_OF_HELP)) {
+ if (help_text[cur_line][0])
+ fp_printf(fp, "%s\n", _(help_text[cur_line]));
+ else
+ fp_printf(fp, "\n");
+ cur_line++;
+ }
+ menuContinue();
+}
+
+static int
+change_geometry(void) {
+ int ret_val = FALSE;
+ int done = FALSE;
+ char def[LINE_LENGTH];
+ char response[LINE_LENGTH];
+ long long tmp_val;
+ int i;
+
+ while (!done) {
+ static struct MenuItem menuGeometry[]=
+ {
+ { 'c', N_("Cylinders"), N_("Change cylinder geometry") },
+ { 'h', N_("Heads"), N_("Change head geometry") },
+ { 's', N_("Sectors"), N_("Change sector geometry") },
+ { 'd', N_("Done"), N_("Done with changing geometry") },
+ { 0, NULL, NULL }
+ };
+ move(COMMAND_LINE_Y, COMMAND_LINE_X);
+ clrtoeol();
+ refresh();
+
+ clear_warning();
+
+ switch (toupper( menuSimple(menuGeometry, 3) )) {
+ case 'C':
+ sprintf(def, "%llu", actual_size/cylinder_size);
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X,
+ _("Enter the number of cylinders: "));
+ i = get_string(response, LINE_LENGTH, def);
+ if (i == GS_DEFAULT) {
+ user_cylinders = actual_size/cylinder_size;
+ ret_val = TRUE;
+ } else if (i > 0) {
+ tmp_val = atoll(response);
+ if (tmp_val > 0) {
+ user_cylinders = tmp_val;
+ ret_val = TRUE;
+ } else
+ print_warning(_("Illegal cylinders value"));
+ }
+ break;
+ case 'H':
+ sprintf(def, "%d", heads);
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X,
+ _("Enter the number of heads: "));
+ if (get_string(response, LINE_LENGTH, def) > 0) {
+ tmp_val = atoll(response);
+ if (tmp_val > 0 && tmp_val <= MAX_HEADS) {
+ user_heads = tmp_val;
+ ret_val = TRUE;
+ } else
+ print_warning(_("Illegal heads value"));
+ }
+ break;
+ case 'S':
+ sprintf(def, "%d", sectors);
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X,
+ _("Enter the number of sectors per track: "));
+ if (get_string(response, LINE_LENGTH, def) > 0) {
+ tmp_val = atoll(response);
+ if (tmp_val > 0 && tmp_val <= MAX_SECTORS) {
+ user_sectors = tmp_val;
+ ret_val = TRUE;
+ } else
+ print_warning(_("Illegal sectors value"));
+ }
+ break;
+ case ESC:
+ case 'D':
+ done = TRUE;
+ break;
+ default:
+ putchar(BELL);
+ break;
+ }
+
+ if (ret_val) {
+ decide_on_geometry();
+ draw_screen();
+ }
+ }
+
+ if (ret_val) {
+ long long disk_end;
+
+ disk_end = actual_size-1;
+
+ if (p_info[num_parts-1].last_sector > disk_end) {
+ while (p_info[num_parts-1].first_sector > disk_end) {
+ if (p_info[num_parts-1].id == FREE_SPACE ||
+ p_info[num_parts-1].id == UNUSABLE)
+ remove_part(num_parts-1);
+ else
+ del_part(num_parts-1);
+ }
+
+ p_info[num_parts-1].last_sector = disk_end;
+
+ if (ext_info.last_sector > disk_end)
+ ext_info.last_sector = disk_end;
+ } else if (p_info[num_parts-1].last_sector < disk_end) {
+ if (p_info[num_parts-1].id == FREE_SPACE ||
+ p_info[num_parts-1].id == UNUSABLE) {
+ p_info[num_parts-1].last_sector = disk_end;
+ } else {
+ insert_empty_part(num_parts,
+ p_info[num_parts-1].last_sector+1,
+ disk_end);
+ }
+ }
+
+ /* Make sure the partitions are correct */
+ check_part_info();
+ }
+
+ return ret_val;
+}
+
+static void
+change_id(int i) {
+ char id[LINE_LENGTH], def[LINE_LENGTH];
+ int num_types = 0;
+ int num_across, num_down;
+ int len, new_id = ((p_info[i].id == LINUX) ? LINUX_SWAP : LINUX);
+ int y_start, y_end, row, row_min, row_max, row_offset, j, needmore;
+
+ for (j = 1; i386_sys_types[j].name; j++) ;
+ num_types = j-1; /* do not count the Empty type */
+
+ num_across = COLS/COL_ID_WIDTH;
+ num_down = (((float)num_types)/num_across + 1);
+ y_start = COMMAND_LINE_Y - 1 - num_down;
+ if (y_start < 1) {
+ y_start = 1;
+ y_end = COMMAND_LINE_Y - 2;
+ } else {
+ if (y_start > DISK_TABLE_START+cur_part+4)
+ y_start = DISK_TABLE_START+cur_part+4;
+ y_end = y_start + num_down - 1;
+ }
+
+ row_min = 1;
+ row_max = COMMAND_LINE_Y - 2;
+ row_offset = 0;
+ do {
+ for (j = y_start - 1; j <= y_end + 1; j++) {
+ move(j, 0);
+ clrtoeol();
+ }
+ needmore = 0;
+ for (j = 1; i386_sys_types[j].name; j++) {
+ row = y_start + (j-1) % num_down - row_offset;
+ if (row >= row_min && row <= row_max) {
+ move(row, ((j-1)/num_down)*COL_ID_WIDTH + 1);
+ printw("%02X %-20.20s",
+ i386_sys_types[j].type,
+ _(i386_sys_types[j].name));
+ }
+ if (row > row_max)
+ needmore = 1;
+ }
+ if (needmore)
+ menuContinue();
+ row_offset += (row_max - row_min + 1);
+ } while(needmore);
+
+ sprintf(def, "%02X", new_id);
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X, _("Enter filesystem type: "));
+ if ((len = get_string(id, 3, def)) <= 0 && len != GS_DEFAULT)
+ return;
+
+ if (len != GS_DEFAULT) {
+ if (!isxdigit(id[0]))
+ return;
+ new_id = (isdigit(id[0]) ? id[0] - '0' : tolower(id[0]) - 'a' + 10);
+ if (len == 2) {
+ if (isxdigit(id[1]))
+ new_id = new_id*16 +
+ (isdigit(id[1]) ? id[1] - '0' : tolower(id[1]) - 'a' + 10);
+ else
+ return;
+ }
+ }
+
+ if (new_id == 0)
+ print_warning(_("Cannot change FS Type to empty"));
+ else if (is_extended(new_id))
+ print_warning(_("Cannot change FS Type to extended"));
+ else
+ p_info[i].id = new_id;
+}
+
+static void
+draw_partition(int i) {
+ int j;
+ int y = i + DISK_TABLE_START + 2 - (cur_part/NUM_ON_SCREEN)*NUM_ON_SCREEN;
+ char *t;
+ long long size;
+ double fsize;
+
+ if (!arrow_cursor) {
+ move(y, 0);
+ for (j = 0; j < COLS; j++)
+ addch(' ');
+ }
+
+ if (p_info[i].id > 0) {
+ char *dbn = my_basename(disk_device);
+ int l = strlen(dbn);
+ int digit_last = isdigit(dbn[l-1]);
+
+ mvprintw(y, NAME_START,
+ "%s%s%d", dbn, (digit_last ? "p" : ""),
+ p_info[i].num+1);
+ if (p_info[i].flags) {
+ if (p_info[i].flags == ACTIVE_FLAG)
+ mvaddstr(y, FLAGS_START, _("Boot"));
+ else
+ mvprintw(y, FLAGS_START, _("Unk(%02X)"), p_info[i].flags);
+ if (p_info[i].first_sector == 0 || IS_LOGICAL(p_info[i].num)) {
+ if (p_info[i].offset != sectors)
+ addstr(_(", NC"));
+ } else {
+ if (p_info[i].offset != 0)
+ addstr(_(", NC"));
+ }
+ } else {
+ if (p_info[i].first_sector == 0 || IS_LOGICAL(p_info[i].num)) {
+ if (p_info[i].offset != sectors)
+ mvaddstr(y, FLAGS_START, _("NC"));
+ } else {
+ if (p_info[i].offset != 0)
+ mvaddstr(y, FLAGS_START, _("NC"));
+ }
+ }
+ }
+ mvaddstr(y, PTYPE_START,
+ (p_info[i].id == UNUSABLE ? "" :
+ (IS_LOGICAL(p_info[i].num) ? _("Logical") :
+ (p_info[i].num >= 0 ? _("Primary") :
+ (p_info[i].num == PRI_OR_LOG ? _("Pri/Log") :
+ (p_info[i].num == PRIMARY ? _("Primary") : _("Logical")))))));
+
+ t = partition_type_text(i);
+ if (t)
+ mvaddstr(y, FSTYPE_START, t);
+ else
+ mvprintw(y, FSTYPE_START, _("Unknown (%02X)"), p_info[i].id);
+
+ if (p_info[i].volume_label[0]) {
+ int l = strlen(p_info[i].volume_label);
+ int s = SIZE_START-5-l;
+ mvprintw(y, (s > LABEL_START) ? LABEL_START : s,
+ " [%s] ", p_info[i].volume_label);
+ }
+
+ size = p_info[i].last_sector - p_info[i].first_sector + 1;
+ fsize = (double) size * SECTOR_SIZE;
+ if (display_units == SECTORS)
+ mvprintw(y, SIZE_START, "%11lld", size);
+ else if (display_units == CYLINDERS)
+ mvprintw(y, SIZE_START, "%11lld", size/cylinder_size);
+ else if (display_units == MEGABYTES)
+ mvprintw(y, SIZE_START, "%11.2f", ceiling((100*fsize)/(K*K))/100);
+ else if (display_units == GIGABYTES)
+ mvprintw(y, SIZE_START, "%11.2f", ceiling((100*fsize)/(K*K*K))/100);
+ if (size % cylinder_size != 0 ||
+ p_info[i].first_sector % cylinder_size != 0)
+ mvprintw(y, COLUMNS-1, "*");
+}
+
+static void
+init_const(void) {
+ if (!defined) {
+ NAME_START = (((float)NAME_START)/COLUMNS)*COLS;
+ FLAGS_START = (((float)FLAGS_START)/COLUMNS)*COLS;
+ PTYPE_START = (((float)PTYPE_START)/COLUMNS)*COLS;
+ FSTYPE_START = (((float)FSTYPE_START)/COLUMNS)*COLS;
+ LABEL_START = (((float)LABEL_START)/COLUMNS)*COLS;
+ SIZE_START = (((float)SIZE_START)/COLUMNS)*COLS;
+ COMMAND_LINE_X = (((float)COMMAND_LINE_X)/COLUMNS)*COLS;
+
+ COMMAND_LINE_Y = LINES - 4;
+ WARNING_START = LINES - 2;
+
+ if ((NUM_ON_SCREEN = COMMAND_LINE_Y - DISK_TABLE_START - 3) <= 0)
+ NUM_ON_SCREEN = 1;
+
+ COLUMNS = COLS;
+ defined = TRUE;
+ }
+}
+
+static void
+draw_screen(void) {
+ int i;
+ char *line;
+
+ line = (char *) xmalloc((COLS+1)*sizeof(char));
+
+ if (warning_last_time) {
+ for (i = 0; i < COLS; i++) {
+ move(WARNING_START, i);
+ line[i] = inch();
+ }
+ line[COLS] = 0;
+ }
+
+ erase();
+
+ if (warning_last_time)
+ mvaddstr(WARNING_START, 0, line);
+
+
+ snprintf(line, COLS+1, "cfdisk (%s)", PACKAGE_STRING);
+ mvaddstr(HEADER_START, (COLS-strlen(line))/2, line);
+ snprintf(line, COLS+1, _("Disk Drive: %s"), disk_device);
+ mvaddstr(HEADER_START+2, (COLS-strlen(line))/2, line);
+ {
+ long long bytes = actual_size*(long long) SECTOR_SIZE;
+ long long megabytes = bytes/(K*K);
+
+ if (megabytes < 10000)
+ sprintf(line, _("Size: %lld bytes, %lld MB"),
+ bytes, megabytes);
+ else
+ sprintf(line, _("Size: %lld bytes, %lld.%lld GB"),
+ bytes, megabytes/K, (10*megabytes/K)%10);
+ }
+ mvaddstr(HEADER_START+3, (COLS-strlen(line))/2, line);
+ snprintf(line, COLS+1, _("Heads: %d Sectors per Track: %d Cylinders: %lld"),
+ heads, sectors, cylinders);
+ mvaddstr(HEADER_START+4, (COLS-strlen(line))/2, line);
+
+ mvaddstr(DISK_TABLE_START, NAME_START, _("Name"));
+ mvaddstr(DISK_TABLE_START, FLAGS_START, _("Flags"));
+ mvaddstr(DISK_TABLE_START, PTYPE_START-1, _("Part Type"));
+ mvaddstr(DISK_TABLE_START, FSTYPE_START, _("FS Type"));
+ mvaddstr(DISK_TABLE_START, LABEL_START+1, _("[Label]"));
+ if (display_units == SECTORS)
+ mvaddstr(DISK_TABLE_START, SIZE_START, _(" Sectors"));
+ else if (display_units == CYLINDERS)
+ mvaddstr(DISK_TABLE_START, SIZE_START, _(" Cylinders"));
+ else if (display_units == MEGABYTES)
+ mvaddstr(DISK_TABLE_START, SIZE_START, _(" Size (MB)"));
+ else if (display_units == GIGABYTES)
+ mvaddstr(DISK_TABLE_START, SIZE_START, _(" Size (GB)"));
+
+ move(DISK_TABLE_START+1, 1);
+ for (i = 1; i < COLS-1; i++)
+ addch('-');
+
+ if (NUM_ON_SCREEN >= num_parts)
+ for (i = 0; i < num_parts; i++)
+ draw_partition(i);
+ else
+ for (i = (cur_part/NUM_ON_SCREEN)*NUM_ON_SCREEN;
+ i < NUM_ON_SCREEN + (cur_part/NUM_ON_SCREEN)*NUM_ON_SCREEN &&
+ i < num_parts;
+ i++)
+ draw_partition(i);
+
+ free(line);
+}
+
+static void
+draw_cursor(int move) {
+ if (move != 0 && (cur_part + move < 0 || cur_part + move >= num_parts)) {
+ print_warning(_("No more partitions"));
+ return;
+ }
+
+ if (arrow_cursor)
+ mvaddstr(DISK_TABLE_START + cur_part + 2
+ - (cur_part/NUM_ON_SCREEN)*NUM_ON_SCREEN, 0, " ");
+ else
+ draw_partition(cur_part);
+
+ cur_part += move;
+
+ if (((cur_part - move)/NUM_ON_SCREEN)*NUM_ON_SCREEN !=
+ (cur_part/NUM_ON_SCREEN)*NUM_ON_SCREEN)
+ draw_screen();
+
+ if (arrow_cursor)
+ mvaddstr(DISK_TABLE_START + cur_part + 2
+ - (cur_part/NUM_ON_SCREEN)*NUM_ON_SCREEN, 0, "-->");
+ else {
+ standout();
+ draw_partition(cur_part);
+ standend();
+ }
+}
+
+static void
+do_curses_fdisk(void) {
+ int done = FALSE;
+ int command;
+ int is_first_run = TRUE;
+
+ static struct MenuItem menuMain[] = {
+ { 'b', N_("Bootable"), N_("Toggle bootable flag of the current partition") },
+ { 'd', N_("Delete"), N_("Delete the current partition") },
+ { 'g', N_("Geometry"), N_("Change disk geometry (experts only)") },
+ { 'h', N_("Help"), N_("Print help screen") },
+ { 'm', N_("Maximize"), N_("Maximize disk usage of the current partition (experts only)") },
+ { 'n', N_("New"), N_("Create new partition from free space") },
+ { 'p', N_("Print"), N_("Print partition table to the screen or to a file") },
+ { 'q', N_("Quit"), N_("Quit program without writing partition table") },
+ { 't', N_("Type"), N_("Change the filesystem type (DOS, Linux, OS/2 and so on)") },
+ { 'u', N_("Units"), N_("Change units of the partition size display (MB, sect, cyl)") },
+ { 'W', N_("Write"), N_("Write partition table to disk (this might destroy data)") },
+ { 0, NULL, NULL }
+ };
+ curses_started = 1;
+ initscr();
+ init_const();
+
+ old_SIGINT = signal(SIGINT, die);
+ old_SIGTERM = signal(SIGTERM, die);
+#ifdef DEBUG
+ signal(SIGINT, old_SIGINT);
+ signal(SIGTERM, old_SIGTERM);
+#endif
+
+ cbreak();
+ noecho();
+ nonl();
+
+ fill_p_info();
+
+ draw_screen();
+
+ while (!done) {
+ char *s;
+
+ draw_cursor(0);
+
+ if (p_info[cur_part].id == FREE_SPACE) {
+ s = ((opentype == O_RDWR) ? "hnpquW" : "hnpqu");
+ command = menuSelect(COMMAND_LINE_Y, COMMAND_LINE_X, menuMain, 10,
+ s, MENU_BUTTON | MENU_ACCEPT_OTHERS, 5);
+ } else if (p_info[cur_part].id > 0) {
+ s = ((opentype == O_RDWR) ? "bdhmpqtuW" : "bdhmpqtu");
+ command = menuSelect(COMMAND_LINE_Y, COMMAND_LINE_X, menuMain, 10,
+ s, MENU_BUTTON | MENU_ACCEPT_OTHERS, is_first_run ? 7 : 0);
+ } else {
+ s = ((opentype == O_RDWR) ? "hpquW" : "hpqu");
+ command = menuSelect(COMMAND_LINE_Y, COMMAND_LINE_X, menuMain, 10,
+ s, MENU_BUTTON | MENU_ACCEPT_OTHERS, 0);
+ }
+ is_first_run = FALSE;
+ switch ( command ) {
+ case 'B':
+ case 'b':
+ if (p_info[cur_part].id > 0)
+ p_info[cur_part].flags ^= 0x80;
+ else
+ print_warning(_("Cannot make this partition bootable"));
+ break;
+ case 'D':
+ case 'd':
+ if (p_info[cur_part].id > 0) {
+ del_part(cur_part);
+ if (cur_part >= num_parts)
+ cur_part = num_parts - 1;
+ draw_screen();
+ } else
+ print_warning(_("Cannot delete an empty partition"));
+ break;
+ case 'G':
+ case 'g':
+ if (change_geometry())
+ draw_screen();
+ break;
+ case 'M':
+ case 'm':
+ if (p_info[cur_part].id > 0) {
+ if (p_info[cur_part].first_sector == 0 ||
+ IS_LOGICAL(p_info[cur_part].num)) {
+ if (p_info[cur_part].offset == sectors)
+ p_info[cur_part].offset = 1;
+ else
+ p_info[cur_part].offset = sectors;
+ draw_screen();
+ } else if (p_info[cur_part].offset != 0)
+ p_info[cur_part].offset = 0;
+ else
+ print_warning(_("Cannot maximize this partition"));
+ } else
+ print_warning(_("Cannot maximize this partition"));
+ break;
+ case 'N':
+ case 'n':
+ if (p_info[cur_part].id == FREE_SPACE) {
+ new_part(cur_part);
+ draw_screen();
+ } else if (p_info[cur_part].id == UNUSABLE)
+ print_warning(_("This partition is unusable"));
+ else
+ print_warning(_("This partition is already in use"));
+ break;
+ case 'P':
+ case 'p':
+ print_tables();
+ draw_screen();
+ break;
+ case 'Q':
+ case 'q':
+ done = TRUE;
+ break;
+ case 'T':
+ case 't':
+ if (p_info[cur_part].id > 0) {
+ change_id(cur_part);
+ draw_screen();
+ } else
+ print_warning(_("Cannot change the type of an empty partition"));
+ break;
+ case 'U':
+ case 'u':
+ if (display_units == GIGABYTES)
+ display_units = MEGABYTES;
+ else if (display_units == MEGABYTES)
+ display_units = SECTORS;
+ else if (display_units == SECTORS)
+ display_units = CYLINDERS;
+ else if (display_units == CYLINDERS)
+ display_units = MEGABYTES; /* not yet GIGA */
+ draw_screen();
+ break;
+ case 'W':
+ write_part_table();
+ break;
+ case 'H':
+ case 'h':
+ case '?':
+ display_help();
+ draw_screen();
+ break;
+ case KEY_UP: /* Up arrow key */
+ case '\020': /* ^P */
+ case 'k': /* Vi-like alternative */
+ draw_cursor(-1);
+ break;
+ case KEY_DOWN: /* Down arrow key */
+ case '\016': /* ^N */
+ case 'j': /* Vi-like alternative */
+ draw_cursor(1);
+ break;
+ case REDRAWKEY:
+ clear();
+ draw_screen();
+ break;
+ case KEY_HOME:
+ draw_cursor(-cur_part);
+ break;
+ case KEY_END:
+ draw_cursor(num_parts - cur_part - 1);
+ break;
+ default:
+ print_warning(_("Illegal command"));
+ putchar(BELL); /* CTRL-G */
+ }
+ }
+
+ die_x(0);
+}
+
+static void
+copyright(void) {
+ fprintf(stderr, _("Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"));
+}
+
+static void
+usage(char *prog_name) {
+ /* Unfortunately, xgettext does not handle multi-line strings */
+ /* so, let's use explicit \n's instead */
+ fprintf(stderr, _("\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n\n"),
+ prog_name, prog_name, prog_name);
+
+ copyright();
+}
+
+int
+main(int argc, char **argv)
+{
+ int c;
+ int i, len;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt(argc, argv, "ac:gh:s:vzP:")) != -1)
+ switch (c) {
+ case 'a':
+ arrow_cursor = TRUE;
+ break;
+ case 'c':
+ user_cylinders = cylinders = strtos64_or_err(optarg, _("cannot parse number of cylinders"));
+ if (cylinders <= 0) {
+ fprintf(stderr, "%s: %s\n", argv[0], _("Illegal cylinders value"));
+ exit(1);
+ }
+ break;
+ case 'g':
+ use_partition_table_geometry = TRUE;
+ break;
+ case 'h':
+ user_heads = heads = strtol_or_err(optarg, _("cannot parse number of heads"));
+ if (heads <= 0 || heads > MAX_HEADS) {
+ fprintf(stderr, "%s: %s\n", argv[0], _("Illegal heads value"));
+ exit(1);
+ }
+ break;
+ case 's':
+ user_sectors = sectors = strtol_or_err(optarg, _("cannot parse number of sectors"));
+ if (sectors <= 0 || sectors > MAX_SECTORS) {
+ fprintf(stderr, "%s: %s\n", argv[0], _("Illegal sectors value"));
+ exit(1);
+ }
+ break;
+ case 'v':
+ fprintf(stderr, "cfdisk (%s)\n", PACKAGE_STRING);
+ copyright();
+ exit(0);
+ case 'z':
+ zero_table = TRUE;
+ break;
+ case 'P':
+ len = strlen(optarg);
+ for (i = 0; i < len; i++) {
+ switch (optarg[i]) {
+ case 'r':
+ print_only |= PRINT_RAW_TABLE;
+ break;
+ case 's':
+ print_only |= PRINT_SECTOR_TABLE;
+ break;
+ case 't':
+ print_only |= PRINT_PARTITION_TABLE;
+ break;
+ default:
+ usage(argv[0]);
+ exit(1);
+ }
+ }
+ break;
+ default:
+ usage(argv[0]);
+ exit(1);
+ }
+
+ if (argc-optind == 1)
+ disk_device = argv[optind];
+ else if (argc-optind != 0) {
+ usage(argv[0]);
+ exit(1);
+ } else if ((fd = open(DEFAULT_DEVICE, O_RDONLY)) < 0)
+ disk_device = ALTERNATE_DEVICE;
+ else close(fd);
+
+ if (print_only) {
+ fill_p_info();
+ if (print_only & PRINT_RAW_TABLE)
+ print_raw_table();
+ if (print_only & PRINT_SECTOR_TABLE)
+ print_p_info();
+ if (print_only & PRINT_PARTITION_TABLE)
+ print_part_table();
+ } else
+ do_curses_fdisk();
+
+ return 0;
+}
diff --git a/fdisks/common.h b/fdisks/common.h
new file mode 100644
index 0000000..352b9a5
--- /dev/null
+++ b/fdisks/common.h
@@ -0,0 +1,15 @@
+#ifndef FDISK_COMMON_H
+#define FDISK_COMMON_H
+
+/* common stuff for fdisk, cfdisk, sfdisk */
+
+struct systypes {
+ unsigned char type;
+ char *name;
+};
+
+extern struct systypes i386_sys_types[];
+
+extern char *partname(char *dev, int pno, int lth);
+
+#endif /* FDISK_COMMON_H */
diff --git a/fdisks/fdisk.8 b/fdisks/fdisk.8
new file mode 100644
index 0000000..3c53473
--- /dev/null
+++ b/fdisks/fdisk.8
@@ -0,0 +1,288 @@
+.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" Copyright 1998 Andries E. Brouwer (aeb@cwi.nl)
+.\" Copyright 2012 Davidlohr Bueso <dave@gnu.org>
+.\" May be distributed under the GNU General Public License
+.TH FDISK 8 "June 2012" "util-linux" "System Administration"
+.SH NAME
+fdisk \- manipulate disk partition table
+.SH SYNOPSIS
+.B fdisk
+.RB [ \-uc ]
+.RB [ \-b
+.IR sectorsize ]
+.RB [ \-C
+.IR cyls ]
+.RB [ \-H
+.IR heads ]
+.RB [ \-S
+.IR sects ]
+.I device
+.sp
+.B fdisk \-l
+.RB [ \-u ]
+.RI [ device ...]
+.sp
+.B fdisk \-s
+.IR partition ...
+.sp
+.B fdisk \-v
+.sp
+.B fdisk \-h
+.SH DESCRIPTION
+.B fdisk
+(in the first form of invocation)
+is a menu-driven program for creation and manipulation of
+partition tables.
+It understands DOS-type partition tables and BSD- or SUN-type disklabels.
+
+.B fdisk
+does not understand GUID partition tables (GPTs) and it is not designed
+for large partitions. In these cases, use the more advanced GNU
+.BR parted (8).
+
+.B fdisk
+does not use DOS-compatible mode and cylinders as display units by default.
+The old deprecated DOS behavior can be enabled with
+the '-c=dos -u=cylinders' command-line options.
+
+Hard disks can be divided into one or more logical disks called
+.IR partitions .
+This division is recorded in the
+.IR "partition table" ,
+found in sector 0 of the disk.
+(In the BSD world one talks about `disk slices' and a `disklabel'.)
+
+Linux needs at least one partition, namely for its root file system.
+It can use swap files and/or swap partitions, but the latter are more
+efficient. So, usually one will want a second Linux partition
+dedicated as swap partition.
+On Intel-compatible hardware, the BIOS that boots the system
+can often only access the first 1024 cylinders of the disk.
+For this reason people with large disks often create a third partition,
+just a few MB large, typically mounted on
+.IR /boot ,
+to store the kernel image and a few auxiliary files needed at boot time,
+so as to make sure that this stuff is accessible to the BIOS.
+There may be reasons of security, ease of administration and backup,
+or testing, to use more than the minimum number of partitions.
+
+.SH DEVICES
+The
+.I device
+is usually /dev/sda, /dev/sdb or so. A device name refers to the entire disk.
+Old systems without libata (a library used inside the Linux kernel to
+support ATA host controllers and devices) make a difference between IDE and
+SCSI disks. In such cases the device name will be /dev/hd* (IDE) or /dev/sd*
+(SCSI).
+
+The
+.I partition
+is a device name followed by a partition number. For example, /dev/sda1
+is the first partition on the first hard disk in the system.
+See also Linux kernel documentation (the Documentation/devices.txt file).
+
+.SH DISK LABELS
+A BSD/SUN-type disklabel can describe 8 partitions,
+the third of which should be a `whole disk' partition.
+Do not start a partition that actually uses its first sector
+(like a swap partition) at cylinder 0, since that will
+destroy the disklabel.
+
+An IRIX/SGI-type disklabel can describe 16 partitions,
+the eleventh of which should be an entire `volume' partition,
+while the ninth should be labeled `volume header'.
+The volume header will also cover the partition table, i.e.,
+it starts at block zero and extends by default over five cylinders.
+The remaining space in the volume header may be used by header
+directory entries. No partitions may overlap with the volume header.
+Also do not change its type or make some filesystem on it, since
+you will lose the partition table. Use this type of label only when
+working with Linux on IRIX/SGI machines or IRIX/SGI disks under Linux.
+
+A DOS-type partition table can describe an unlimited number
+of partitions. In sector 0 there is room for the description
+of 4 partitions (called `primary'). One of these may be an
+extended partition; this is a box holding logical partitions,
+with descriptors found in a linked list of sectors, each
+preceding the corresponding logical partitions.
+The four primary partitions, present or not, get numbers 1-4.
+Logical partitions start numbering from 5.
+
+In a DOS-type partition table the starting offset and the size
+of each partition is stored in two ways: as an absolute number
+of sectors (given in 32 bits), and as a Cylinders/Heads/Sectors
+triple (given in 10+8+6 bits). The former is OK -- with 512-byte
+sectors this will work up to 2 TB. The latter has two
+problems. First, these C/H/S fields can be filled only
+when the number of heads and the number of sectors per track
+are known. And second, even if we know what these numbers should be,
+the 24 bits that are available do not suffice.
+DOS uses C/H/S only, Windows uses both, Linux never uses C/H/S.
+
+If possible,
+.B fdisk
+will obtain the disk geometry automatically. This is not
+necessarily the physical disk geometry (indeed, modern disks do not
+really have anything like a physical geometry, certainly not something
+that can be described in simplistic Cylinders/Heads/Sectors form),
+but it is the disk geometry that MS-DOS uses for the partition table.
+
+Usually all goes well by default, and there are no problems if
+Linux is the only system on the disk. However, if the disk has
+to be shared with other operating systems, it is often a good idea
+to let an fdisk from another operating system make at least one
+partition. When Linux boots it looks at the partition table, and
+tries to deduce what (fake) geometry is required for good
+cooperation with other systems.
+
+Whenever a partition table is printed out, a consistency check is performed
+on the partition table entries. This check verifies that the physical and
+logical start and end points are identical, and that each partition starts
+and ends on a cylinder boundary (except for the first partition).
+
+Some versions of MS-DOS create a first partition which does not begin
+on a cylinder boundary, but on sector 2 of the first cylinder.
+Partitions beginning in cylinder 1 cannot begin on a cylinder boundary, but
+this is unlikely to cause difficulty unless you have OS/2 on your machine.
+
+A sync() and an ioctl(BLKRRPART) (reread partition table from disk)
+are performed before exiting when the partition table has been updated.
+Long ago it used to be necessary to reboot after the use of fdisk.
+I do not think this is the case anymore -- indeed, rebooting too quickly
+might cause loss of not-yet-written data. Note that both the kernel
+and the disk hardware may buffer data.
+
+.SH "DOS 6.x WARNING"
+
+The DOS 6.x FORMAT command looks for some information in the first
+sector of the data area of the partition, and treats this information
+as more reliable than the information in the partition table. DOS
+FORMAT expects DOS FDISK to clear the first 512 bytes of the data area
+of a partition whenever a size change occurs. DOS FORMAT will look at
+this extra information even if the /U flag is given -- we consider
+this a bug in DOS FORMAT and DOS FDISK.
+
+The bottom line is that if you use cfdisk or fdisk to change the size of a
+DOS partition table entry, then you must also use
+.B dd
+to zero the first 512 bytes of that partition before using DOS FORMAT to
+format the partition. For example, if you were using cfdisk to make a DOS
+partition table entry for /dev/sda1, then (after exiting fdisk or cfdisk
+and rebooting Linux so that the partition table information is valid) you
+would use the command "dd if=/dev/zero of=/dev/sda1 bs=512 count=1" to zero
+the first 512 bytes of the partition.
+
+.B BE EXTREMELY CAREFUL
+if you use the
+.B dd
+command, since a small typo can make all of the data on your disk useless.
+
+For best results, you should always use an OS-specific partition table
+program. For example, you should make DOS partitions with the DOS FDISK
+program and Linux partitions with the Linux fdisk or Linux cfdisk program.
+
+.SH OPTIONS
+.TP
+.BI "\-b " sectorsize
+Specify the sector size of the disk. Valid values are 512, 1024, 2048 or 4096.
+(Recent kernels know the sector size. Use this only on old kernels or
+to override the kernel's ideas.) Since util-linux-2.17, fdisk differentiates
+between logical and physical sector size. This option changes both sector sizes to
+.IB sectorsize .
+.TP
+.BI "\-c"[=mode]
+Specify the compatibility mode, 'dos' or 'nondos'. The default is non-DOS
+mode. For backward compatibility, it is possible to use the option without
+the <mode> argument -- then the default is used. Note that the optional
+<mode> argument cannot be separated from the -c option by a space, the correct
+form is for example '-c=dos'. This option is DEPRECATED.
+.TP
+.BI "\-C " cyls
+Specify the number of cylinders of the disk.
+I have no idea why anybody would want to do so. This option is DEPRECATED.
+.TP
+.BI "\-H " heads
+Specify the number of heads of the disk. (Not the physical number,
+of course, but the number used for partition tables.)
+Reasonable values are 255 and 16. This option is DEPRECATED.
+.TP
+.BI "\-S " sects
+Specify the number of sectors per track of the disk.
+(Not the physical number, of course, but the number used for
+partition tables.)
+A reasonable value is 63. This option is DEPRECATED.
+.TP
+.BI \-h
+Print help and then exit.
+.TP
+.B \-l
+List the partition tables for the specified devices and then exit.
+If no devices are given, those mentioned in
+.I /proc/partitions
+(if that exists) are used.
+.TP
+.BI "\-s " partition...
+Print the size (in blocks) of each given partition.
+.TP
+.BI "\-u"[=unit]
+When listing partition tables, show sizes in 'sectors' or in 'cylinders'. The
+default is to show sizes in sectors. For backward compatibility, it is possible
+to use the option without the <units> argument -- then the default is used.
+Note that the optional <unit> argument cannot be separated from the -u option
+by a space, the correct form is for example '-u=cylinders'.
+.TP
+.B \-v
+Print version number of
+.B fdisk
+program and exit.
+.SH BUGS
+There are several *fdisk programs around.
+Each has its problems and strengths.
+Try them in the order
+.BR cfdisk ,
+.BR fdisk ,
+.BR sfdisk .
+(Indeed,
+.B cfdisk
+is a beautiful program that has strict requirements on
+the partition tables it accepts, and produces high quality partition
+tables. Use it if you can.
+.B fdisk
+is a buggy program that does fuzzy things - usually it happens to
+produce reasonable results. Its single advantage is that it has
+some support for BSD disk labels and other non-DOS partition tables.
+Avoid it if you can.
+.B sfdisk
+is for hackers only -- the user interface is terrible, but it is
+more correct than fdisk and more powerful than both fdisk and cfdisk.
+Moreover, it can be used noninteractively.)
+.PP
+There also is
+.BR parted
+which supports many types of different partition table formats.
+.PP
+The IRIX/SGI-type disklabel is currently not supported by the kernel.
+Moreover, IRIX/SGI header directories are not fully supported yet.
+.PP
+The option `dump partition table to file' is missing.
+.\" .SH AUTHORS
+.\" A. V. Le Blanc (LeBlanc@mcc.ac.uk)
+.\" Bernhard Fastenrath (fasten@informatik.uni-bonn.de)
+.\" Jakub Jelinek (jj@sunsite.mff.cuni.cz)
+.\" Andreas Neuper (ANeuper@GUUG.de)
+.\" and many others.
+
+.SH ENVIRONMENT
+.IP FDISK_DEBUG=0xffff
+enables debug output
+
+.SH "SEE ALSO"
+.BR cfdisk (8),
+.BR sfdisk (8),
+.BR mkfs (8),
+.BR parted (8),
+.BR partprobe (8),
+.BR kpartx (8)
+.SH AVAILABILITY
+The fdisk command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/fdisks/fdisk.c b/fdisks/fdisk.c
new file mode 100644
index 0000000..3a16c5f
--- /dev/null
+++ b/fdisks/fdisk.c
@@ -0,0 +1,1935 @@
+/* fdisk.c -- Partition table manipulator for Linux.
+ *
+ * Copyright (C) 1992 A. V. Le Blanc (LeBlanc@mcc.ac.uk)
+ * Copyright (C) 2012 Davidlohr Bueso <dave@gnu.org>
+ *
+ * This program is free software. You can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation: either version 1 or
+ * (at your option) any later version.
+ */
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <errno.h>
+#include <getopt.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <time.h>
+#include <limits.h>
+
+#include "xalloc.h"
+#include "nls.h"
+#include "rpmatch.h"
+#include "blkdev.h"
+#include "common.h"
+#include "mbsalign.h"
+#include "fdisk.h"
+#include "wholedisk.h"
+#include "pathnames.h"
+#include "canonicalize.h"
+#include "strutils.h"
+#include "closestream.h"
+
+#include "fdisksunlabel.h"
+#include "fdisksgilabel.h"
+#include "fdiskaixlabel.h"
+#include "fdiskmaclabel.h"
+#include "fdiskdoslabel.h"
+#include "fdiskbsdlabel.h"
+
+#ifdef HAVE_LINUX_COMPILER_H
+#include <linux/compiler.h>
+#endif
+#ifdef HAVE_LINUX_BLKPG_H
+#include <linux/blkpg.h>
+#endif
+
+#include "gpt.h"
+
+int MBRbuffer_changed;
+
+#define hex_val(c) ({ \
+ char _c = (c); \
+ isdigit(_c) ? _c - '0' : \
+ tolower(_c) + 10 - 'a'; \
+ })
+
+
+#define sector(s) ((s) & 0x3f)
+#define cylinder(s, c) ((c) | (((s) & 0xc0) << 2))
+
+/* menu list description */
+
+struct menulist_descr {
+ char command; /* command key */
+ char *description; /* command description */
+ enum fdisk_labeltype label[2]; /* disklabel types associated with main and expert menu */
+};
+
+static const struct menulist_descr menulist[] = {
+ {'a', N_("toggle a bootable flag"), {DOS_LABEL, 0}},
+ {'a', N_("toggle a read only flag"), {SUN_LABEL, 0}},
+ {'a', N_("select bootable partition"), {SGI_LABEL, 0}},
+ {'a', N_("change number of alternate cylinders"), {0, SUN_LABEL}},
+ {'b', N_("edit bsd disklabel"), {DOS_LABEL, 0}},
+ {'b', N_("edit bootfile entry"), {SGI_LABEL, 0}},
+ {'b', N_("move beginning of data in a partition"), {0, DOS_LABEL}},
+ {'c', N_("toggle the dos compatibility flag"), {DOS_LABEL, 0}},
+ {'c', N_("toggle the mountable flag"), {SUN_LABEL, 0}},
+ {'c', N_("select sgi swap partition"), {SGI_LABEL, 0}},
+ {'c', N_("change number of cylinders"), {0, DOS_LABEL | SUN_LABEL}},
+ {'d', N_("delete a partition"), {DOS_LABEL | SUN_LABEL | SGI_LABEL | OSF_LABEL, 0}},
+ {'d', N_("print the raw data in the partition table"), {0, ANY_LABEL}},
+ {'e', N_("change number of extra sectors per cylinder"), {0, SUN_LABEL}},
+ {'e', N_("list extended partitions"), {0, DOS_LABEL}},
+ {'e', N_("edit drive data"), {OSF_LABEL, 0}},
+ {'f', N_("fix partition order"), {0, DOS_LABEL}},
+ {'g', N_("create an IRIX (SGI) partition table"), {0, ANY_LABEL}},
+ {'h', N_("change number of heads"), {0, DOS_LABEL | SUN_LABEL}},
+ {'i', N_("change interleave factor"), {0, SUN_LABEL}},
+ {'i', N_("change the disk identifier"), {0, DOS_LABEL}},
+ {'i', N_("install bootstrap"), {OSF_LABEL, 0}},
+ {'l', N_("list known partition types"), {DOS_LABEL | SUN_LABEL | SGI_LABEL | OSF_LABEL, 0}},
+ {'m', N_("print this menu"), {ANY_LABEL, ANY_LABEL}},
+ {'n', N_("add a new partition"), {DOS_LABEL | SUN_LABEL | SGI_LABEL | OSF_LABEL, 0}},
+ {'o', N_("create a new empty DOS partition table"), {~OSF_LABEL, 0}},
+ {'o', N_("change rotation speed (rpm)"), {0, SUN_LABEL}},
+ {'p', N_("print the partition table"), {DOS_LABEL | SUN_LABEL | SGI_LABEL | OSF_LABEL, DOS_LABEL | SUN_LABEL}},
+ {'q', N_("quit without saving changes"), {ANY_LABEL, ANY_LABEL}},
+ {'r', N_("return to main menu"), {OSF_LABEL, DOS_LABEL | SUN_LABEL | SGI_LABEL | OSF_LABEL}},
+ {'s', N_("create a new empty Sun disklabel"), {~OSF_LABEL, 0}},
+ {'s', N_("change number of sectors/track"), {0, DOS_LABEL | SUN_LABEL}},
+ {'s', N_("show complete disklabel"), {OSF_LABEL, 0}},
+ {'t', N_("change a partition's system id"), {DOS_LABEL | SUN_LABEL | SGI_LABEL | OSF_LABEL, 0}},
+ {'u', N_("change display/entry units"), {DOS_LABEL | SUN_LABEL | SGI_LABEL | OSF_LABEL, 0}},
+ {'v', N_("verify the partition table"), {DOS_LABEL | SUN_LABEL | SGI_LABEL, DOS_LABEL | SUN_LABEL | SGI_LABEL}},
+ {'w', N_("write table to disk and exit"), {DOS_LABEL | SUN_LABEL | SGI_LABEL, DOS_LABEL | SUN_LABEL | SGI_LABEL}},
+ {'w', N_("write disklabel to disk"), {OSF_LABEL, 0}},
+ {'x', N_("extra functionality (experts only)"), {DOS_LABEL | SUN_LABEL | SGI_LABEL, 0}},
+#if !defined (__alpha__)
+ {'x', N_("link BSD partition to non-BSD partition"), {OSF_LABEL, 0}},
+#endif
+ {'y', N_("change number of physical cylinders"), {0, SUN_LABEL}},
+};
+
+sector_t get_nr_sects(struct partition *p) {
+ return read4_little_endian(p->size4);
+}
+
+char *line_ptr, /* interactive input */
+ line_buffer[LINE_LENGTH];
+
+int nowarn = 0, /* no warnings for fdisk -l/-s */
+ dos_compatible_flag = 0, /* disabled by default */
+ dos_changed = 0,
+ partitions = 4; /* maximum partition + 1 */
+
+unsigned int user_cylinders, user_heads, user_sectors;
+sector_t sector_offset = 1;
+unsigned int units_per_sector = 1, display_in_cyl_units = 0;
+enum fdisk_labeltype disklabel; /* Current disklabel */
+
+static void __attribute__ ((__noreturn__)) usage(FILE *out)
+{
+ fprintf(out, _("Usage:\n"
+ " %1$s [options] <disk> change partition table\n"
+ " %1$s [options] -l <disk> list partition table(s)\n"
+ " %1$s -s <partition> give partition size(s) in blocks\n"
+ "\nOptions:\n"
+ " -b <size> sector size (512, 1024, 2048 or 4096)\n"
+ " -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+ " -h print this help text\n"
+ " -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+ " -v print program version\n"
+ " -C <number> specify the number of cylinders\n"
+ " -H <number> specify the number of heads\n"
+ " -S <number> specify the number of sectors per track\n"
+ "\n"), program_invocation_short_name);
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+void __attribute__((__noreturn__))
+fatal(struct fdisk_context *cxt, enum failure why)
+{
+ close(cxt->dev_fd);
+ switch (why) {
+ case unable_to_read:
+ err(EXIT_FAILURE, _("unable to read %s"), cxt->dev_path);
+
+ case unable_to_seek:
+ err(EXIT_FAILURE, _("unable to seek on %s"), cxt->dev_path);
+
+ case unable_to_write:
+ err(EXIT_FAILURE, _("unable to write %s"), cxt->dev_path);
+
+ case ioctl_error:
+ err(EXIT_FAILURE, _("BLKGETSIZE ioctl failed on %s"), cxt->dev_path);
+
+ default:
+ err(EXIT_FAILURE, _("fatal error"));
+ }
+}
+
+struct partition *
+get_part_table(int i) {
+ return ptes[i].part_table;
+}
+
+void
+set_all_unchanged(void) {
+ int i;
+
+ for (i = 0; i < MAXIMUM_PARTS; i++)
+ ptes[i].changed = 0;
+}
+
+void
+set_changed(int i) {
+ ptes[i].changed = 1;
+}
+
+static int
+is_garbage_table(void) {
+ int i;
+
+ for (i = 0; i < 4; i++) {
+ struct pte *pe = &ptes[i];
+ struct partition *p = pe->part_table;
+
+ if (p->boot_ind != 0 && p->boot_ind != 0x80)
+ return 1;
+ }
+ return 0;
+}
+
+void print_menu(enum menutype menu)
+{
+ size_t i;
+
+ puts(_("Command action"));
+
+ for (i = 0; i < ARRAY_SIZE(menulist); i++)
+ if (menulist[i].label[menu] & disklabel)
+ printf(" %c %s\n", menulist[i].command, menulist[i].description);
+}
+
+static int
+get_sysid(struct fdisk_context *cxt, int i) {
+ return (
+ disklabel == SUN_LABEL ? sun_get_sysid(cxt, i) :
+ disklabel == SGI_LABEL ? sgi_get_sysid(cxt, i) :
+ ptes[i].part_table->sys_ind);
+}
+
+static struct systypes *
+get_sys_types(void) {
+ return (
+ disklabel == SUN_LABEL ? sun_sys_types :
+ disklabel == SGI_LABEL ? sgi_sys_types :
+ i386_sys_types);
+}
+
+char *partition_type(unsigned char type)
+{
+ int i;
+ struct systypes *types = get_sys_types();
+
+ for (i=0; types[i].name; i++)
+ if (types[i].type == type)
+ return _(types[i].name);
+
+ return NULL;
+}
+
+void list_types(struct systypes *sys)
+{
+ unsigned int last[4], done = 0, next = 0, size;
+ int i;
+
+ for (i = 0; sys[i].name; i++);
+ size = i;
+
+ for (i = 3; i >= 0; i--)
+ last[3 - i] = done += (size + i - done) / (i + 1);
+ i = done = 0;
+
+ do {
+ #define NAME_WIDTH 15
+ char name[NAME_WIDTH * MB_LEN_MAX];
+ size_t width = NAME_WIDTH;
+
+ printf("%c%2x ", i ? ' ' : '\n', sys[next].type);
+ size_t ret = mbsalign(_(sys[next].name), name, sizeof(name),
+ &width, MBS_ALIGN_LEFT, 0);
+ if (ret == (size_t)-1 || ret >= sizeof(name))
+ printf("%-15.15s", _(sys[next].name));
+ else
+ fputs(name, stdout);
+
+ next = last[i++] + done;
+ if (i > 3 || next >= last[i]) {
+ i = 0;
+ next = ++done;
+ }
+ } while (done < last[0]);
+ putchar('\n');
+}
+
+static int
+test_c(char **m, char *mesg) {
+ int val = 0;
+ if (!*m)
+ fprintf(stderr, _("You must set"));
+ else {
+ fprintf(stderr, " %s", *m);
+ val = 1;
+ }
+ *m = mesg;
+ return val;
+}
+
+static int
+lba_is_aligned(struct fdisk_context *cxt, sector_t lba)
+{
+ unsigned int granularity = max(cxt->phy_sector_size, cxt->min_io_size);
+ unsigned long long offset;
+
+ if (cxt->grain > granularity)
+ granularity = cxt->grain;
+ offset = (lba * cxt->sector_size) & (granularity - 1);
+
+ return !((granularity + cxt->alignment_offset - offset) & (granularity - 1));
+}
+
+static int
+lba_is_phy_aligned(struct fdisk_context *cxt, unsigned long long lba)
+{
+ unsigned int granularity = max(cxt->phy_sector_size, cxt->min_io_size);
+ unsigned long long offset = (lba * cxt->sector_size) & (granularity - 1);
+
+ return !((granularity + cxt->alignment_offset - offset) & (granularity - 1));
+}
+
+sector_t align_lba(struct fdisk_context *cxt, sector_t lba, int direction)
+{
+ sector_t res;
+
+ if (lba_is_aligned(cxt, lba))
+ res = lba;
+ else {
+ sector_t sects_in_phy = cxt->grain / cxt->sector_size;
+
+ if (lba < sector_offset)
+ res = sector_offset;
+
+ else if (direction == ALIGN_UP)
+ res = ((lba + sects_in_phy) / sects_in_phy) * sects_in_phy;
+
+ else if (direction == ALIGN_DOWN)
+ res = (lba / sects_in_phy) * sects_in_phy;
+
+ else /* ALIGN_NEAREST */
+ res = ((lba + sects_in_phy / 2) / sects_in_phy) * sects_in_phy;
+
+ if (cxt->alignment_offset && !lba_is_aligned(cxt, res) &&
+ res > cxt->alignment_offset / cxt->sector_size) {
+ /*
+ * apply alignment_offset
+ *
+ * On disk with alignment compensation physical blocks starts
+ * at LBA < 0 (usually LBA -1). It means we have to move LBA
+ * according the offset to be on the physical boundary.
+ */
+ /* fprintf(stderr, "LBA: %llu apply alignment_offset\n", res); */
+ res -= (max(cxt->phy_sector_size, cxt->min_io_size) -
+ cxt->alignment_offset) / cxt->sector_size;
+
+ if (direction == ALIGN_UP && res < lba)
+ res += sects_in_phy;
+ }
+ }
+
+ /***
+ fprintf(stderr, "LBA %llu (%s) --align-(%s)--> %llu (%s)\n",
+ lba,
+ lba_is_aligned(lba) ? "OK" : "FALSE",
+ direction == ALIGN_UP ? "UP " :
+ direction == ALIGN_DOWN ? "DOWN " : "NEAREST",
+ res,
+ lba_is_aligned(res) ? "OK" : "FALSE");
+ ***/
+ return res;
+}
+
+int warn_geometry(struct fdisk_context *cxt)
+{
+ char *m = NULL;
+ int prev = 0;
+
+ if (disklabel == SGI_LABEL) /* cannot set cylinders etc anyway */
+ return 0;
+ if (!cxt->geom.heads)
+ prev = test_c(&m, _("heads"));
+ if (!cxt->geom.sectors)
+ prev = test_c(&m, _("sectors"));
+ if (!cxt->geom.cylinders)
+ prev = test_c(&m, _("cylinders"));
+ if (!m)
+ return 0;
+ fprintf(stderr,
+ _("%s%s.\nYou can do this from the extra functions menu.\n"),
+ prev ? _(" and ") : " ", m);
+ return 1;
+}
+
+void update_units(struct fdisk_context *cxt)
+{
+ int cyl_units = cxt->geom.heads * cxt->geom.sectors;
+
+ if (display_in_cyl_units && cyl_units)
+ units_per_sector = cyl_units;
+ else
+ units_per_sector = 1; /* in sectors */
+}
+
+void warn_limits(struct fdisk_context *cxt)
+{
+ if (cxt->total_sectors > UINT_MAX && !nowarn) {
+ unsigned long long bytes = cxt->total_sectors * cxt->sector_size;
+ int giga = bytes / 1000000000;
+ int hectogiga = (giga + 50) / 100;
+
+ fprintf(stderr, _("\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n\n"),
+ hectogiga / 10, hectogiga % 10,
+ bytes,
+ (sector_t ) UINT_MAX * cxt->sector_size,
+ cxt->sector_size);
+ }
+}
+
+void warn_alignment(struct fdisk_context *cxt)
+{
+ if (nowarn)
+ return;
+
+ if (cxt->sector_size != cxt->phy_sector_size)
+ fprintf(stderr, _("\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"));
+
+ if (dos_compatible_flag)
+ fprintf(stderr, _("\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."));
+
+ if (display_in_cyl_units)
+ fprintf(stderr, _("\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"));
+
+}
+
+/*
+ * Sets LBA of the first partition
+ */
+void
+update_sector_offset(struct fdisk_context *cxt)
+{
+ cxt->grain = cxt->io_size;
+
+ if (dos_compatible_flag)
+ sector_offset = cxt->geom.sectors; /* usually 63 sectors */
+ else {
+ /*
+ * Align the begin of partitions to:
+ *
+ * a) topology
+ * a2) alignment offset
+ * a1) or physical sector (minimal_io_size, aka "grain")
+ *
+ * b) or default to 1MiB (2048 sectrors, Windows Vista default)
+ *
+ * c) or for very small devices use 1 phy.sector
+ */
+ sector_t x = 0;
+
+ if (fdisk_dev_has_topology(cxt)) {
+ if (cxt->alignment_offset)
+ x = cxt->alignment_offset;
+ else if (cxt->io_size > 2048 * 512)
+ x = cxt->io_size;
+ }
+ /* default to 1MiB */
+ if (!x)
+ x = 2048 * 512;
+
+ sector_offset = x / cxt->sector_size;
+
+ /* don't use huge offset on small devices */
+ if (cxt->total_sectors <= sector_offset * 4)
+ sector_offset = cxt->phy_sector_size / cxt->sector_size;
+
+ /* use 1MiB grain always when possible */
+ if (cxt->grain < 2048 * 512)
+ cxt->grain = 2048 * 512;
+
+ /* don't use huge grain on small devices */
+ if (cxt->total_sectors <= (cxt->grain * 4 / cxt->sector_size))
+ cxt->grain = cxt->phy_sector_size;
+ }
+}
+
+static int is_partition_table_changed(void)
+{
+ int i;
+
+ for (i = 0; i < partitions; i++)
+ if (ptes[i].changed)
+ return 1;
+ return 0;
+}
+
+static void maybe_exit(int rc, int *asked)
+{
+ char line[LINE_LENGTH];
+
+ putchar('\n');
+ if (asked)
+ *asked = 0;
+
+ if (is_partition_table_changed() || MBRbuffer_changed) {
+ fprintf(stderr, _("Do you really want to quit? "));
+
+ if (!fgets(line, LINE_LENGTH, stdin) || rpmatch(line) == 1)
+ exit(rc);
+ if (asked)
+ *asked = 1;
+ } else
+ exit(rc);
+}
+
+/* read line; return 0 or first char */
+int
+read_line(int *asked)
+{
+ line_ptr = line_buffer;
+ if (!fgets(line_buffer, LINE_LENGTH, stdin)) {
+ maybe_exit(1, asked);
+ return 0;
+ }
+ if (asked)
+ *asked = 0;
+ while (*line_ptr && !isgraph(*line_ptr))
+ line_ptr++;
+ return *line_ptr;
+}
+
+char
+read_char(char *mesg)
+{
+ do {
+ fputs(mesg, stdout);
+ fflush (stdout); /* requested by niles@scyld.com */
+ } while (!read_line(NULL));
+ return *line_ptr;
+}
+
+char
+read_chars(char *mesg)
+{
+ int rc, asked = 0;
+
+ do {
+ fputs(mesg, stdout);
+ fflush (stdout); /* niles@scyld.com */
+ rc = read_line(&asked);
+ } while (asked);
+
+ if (!rc) {
+ *line_ptr = '\n';
+ line_ptr[1] = 0;
+ }
+ return *line_ptr;
+}
+
+int
+read_hex(struct systypes *sys)
+{
+ int hex;
+
+ while (1)
+ {
+ read_char(_("Hex code (type L to list codes): "));
+ if (tolower(*line_ptr) == 'l')
+ list_types(sys);
+ else if (isxdigit (*line_ptr))
+ {
+ hex = 0;
+ do
+ hex = hex << 4 | hex_val(*line_ptr++);
+ while (isxdigit(*line_ptr));
+ return hex;
+ }
+ }
+}
+
+unsigned int
+read_int_with_suffix(struct fdisk_context *cxt,
+ unsigned int low, unsigned int dflt, unsigned int high,
+ unsigned int base, char *mesg, int *is_suffix_used)
+{
+ unsigned int res;
+ int default_ok = 1;
+ int absolute = 0;
+ static char *ms = NULL;
+ static size_t mslen = 0;
+
+ if (!ms || strlen(mesg)+100 > mslen) {
+ mslen = strlen(mesg)+200;
+ ms = xrealloc(ms,mslen);
+ }
+
+ if (dflt < low || dflt > high)
+ default_ok = 0;
+
+ if (default_ok)
+ snprintf(ms, mslen, _("%s (%u-%u, default %u): "),
+ mesg, low, high, dflt);
+ else
+ snprintf(ms, mslen, "%s (%u-%u): ",
+ mesg, low, high);
+
+ while (1) {
+ int use_default = default_ok;
+
+ /* ask question and read answer */
+ while (read_chars(ms) != '\n' && !isdigit(*line_ptr)
+ && *line_ptr != '-' && *line_ptr != '+')
+ continue;
+
+ if (*line_ptr == '+' || *line_ptr == '-') {
+ int minus = (*line_ptr == '-');
+ int suflen;
+
+ absolute = 0;
+ res = atoi(line_ptr + 1);
+
+ while (isdigit(*++line_ptr))
+ use_default = 0;
+
+ while (isspace(*line_ptr))
+ line_ptr++;
+
+ suflen = strlen(line_ptr) - 1;
+
+ while(isspace(*(line_ptr + suflen)))
+ *(line_ptr + suflen--) = '\0';
+
+ if ((*line_ptr == 'C' || *line_ptr == 'c') &&
+ *(line_ptr + 1) == '\0') {
+ /*
+ * Cylinders
+ */
+ if (!display_in_cyl_units)
+ res *= cxt->geom.heads * cxt->geom.sectors;
+ } else if (*line_ptr &&
+ *(line_ptr + 1) == 'B' &&
+ *(line_ptr + 2) == '\0') {
+ /*
+ * 10^N
+ */
+ if (*line_ptr == 'K')
+ absolute = 1000;
+ else if (*line_ptr == 'M')
+ absolute = 1000000;
+ else if (*line_ptr == 'G')
+ absolute = 1000000000;
+ else
+ absolute = -1;
+ } else if (*line_ptr &&
+ *(line_ptr + 1) == '\0') {
+ /*
+ * 2^N
+ */
+ if (*line_ptr == 'K')
+ absolute = 1 << 10;
+ else if (*line_ptr == 'M')
+ absolute = 1 << 20;
+ else if (*line_ptr == 'G')
+ absolute = 1 << 30;
+ else
+ absolute = -1;
+ } else if (*line_ptr != '\0')
+ absolute = -1;
+
+ if (absolute == -1) {
+ printf(_("Unsupported suffix: '%s'.\n"), line_ptr);
+ printf(_("Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+ " 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"));
+ continue;
+ }
+
+ if (absolute && res) {
+ unsigned long long bytes;
+ unsigned long unit;
+
+ bytes = (unsigned long long) res * absolute;
+ unit = cxt->sector_size * units_per_sector;
+ bytes += unit/2; /* round */
+ bytes /= unit;
+ res = bytes;
+ }
+ if (minus)
+ res = -res;
+ res += base;
+ } else {
+ res = atoi(line_ptr);
+ while (isdigit(*line_ptr)) {
+ line_ptr++;
+ use_default = 0;
+ }
+ }
+ if (use_default) {
+ printf(_("Using default value %u\n"), dflt);
+ return dflt;
+ }
+ if (res >= low && res <= high)
+ break;
+ else
+ printf(_("Value out of range.\n"));
+ }
+ if (is_suffix_used)
+ *is_suffix_used = absolute > 0;
+ return res;
+}
+
+/*
+ * Print the message MESG, then read an integer in LOW..HIGH.
+ * If the user hits Enter, DFLT is returned, provided that is in LOW..HIGH.
+ * Answers like +10 are interpreted as offsets from BASE.
+ *
+ * There is no default if DFLT is not between LOW and HIGH.
+ */
+unsigned int
+read_int(struct fdisk_context *cxt,
+ unsigned int low, unsigned int dflt, unsigned int high,
+ unsigned int base, char *mesg)
+{
+ return read_int_with_suffix(cxt, low, dflt, high, base, mesg, NULL);
+}
+
+int
+get_partition_dflt(struct fdisk_context *cxt, int warn, int max, int dflt) {
+ struct pte *pe;
+ int i;
+
+ i = read_int(cxt, 1, dflt, max, 0, _("Partition number")) - 1;
+ pe = &ptes[i];
+
+ if (warn) {
+ if ((disklabel != SUN_LABEL && disklabel != SGI_LABEL && !pe->part_table->sys_ind)
+ || (disklabel == SUN_LABEL &&
+ (!sunlabel->partitions[i].num_sectors ||
+ !sunlabel->part_tags[i].tag))
+ || (disklabel == SGI_LABEL && (!sgi_get_num_sectors(cxt, i)))
+ )
+ fprintf(stderr,
+ _("Warning: partition %d has empty type\n"),
+ i+1);
+ }
+ return i;
+}
+
+int
+get_partition(struct fdisk_context *cxt, int warn, int max) {
+ return get_partition_dflt(cxt, warn, max, 0);
+}
+
+/* User partition selection unless one partition only is available */
+
+static int
+get_existing_partition(struct fdisk_context *cxt, int warn, int max) {
+ int pno = -1;
+ int i;
+
+ if (disklabel != DOS_LABEL)
+ goto not_implemented;
+
+ for (i = 0; i < max; i++) {
+ struct pte *pe = &ptes[i];
+ struct partition *p = pe->part_table;
+
+ if (p && !is_cleared_partition(p)) {
+ if (pno >= 0)
+ goto not_unique;
+ pno = i;
+ }
+ }
+
+ if (pno >= 0) {
+ printf(_("Selected partition %d\n"), pno+1);
+ return pno;
+ }
+ printf(_("No partition is defined yet!\n"));
+ return -1;
+
+not_implemented:
+not_unique:
+ return get_partition(cxt, warn, max);
+}
+
+const char *
+str_units(int n)
+{
+ if (display_in_cyl_units)
+ return P_("cylinder", "cylinders", n);
+ return P_("sector", "sectors", n);
+}
+
+void change_units(struct fdisk_context *cxt)
+{
+ display_in_cyl_units = !display_in_cyl_units;
+ update_units(cxt);
+
+ if (display_in_cyl_units)
+ printf(_("Changing display/entry units to cylinders (DEPRECATED!)\n"));
+ else
+ printf(_("Changing display/entry units to sectors\n"));
+}
+
+static void
+toggle_active(int i) {
+ struct pte *pe = &ptes[i];
+ struct partition *p = pe->part_table;
+
+ if (IS_EXTENDED (p->sys_ind) && !p->boot_ind)
+ fprintf(stderr,
+ _("WARNING: Partition %d is an extended partition\n"),
+ i + 1);
+ p->boot_ind = (p->boot_ind ? 0 : ACTIVE_FLAG);
+ pe->changed = 1;
+}
+
+static void
+toggle_dos_compatibility_flag(struct fdisk_context *cxt) {
+ dos_compatible_flag = ~dos_compatible_flag;
+ if (dos_compatible_flag)
+ printf(_("DOS Compatibility flag is set (DEPRECATED!)\n"));
+ else
+ printf(_("DOS Compatibility flag is not set\n"));
+
+ update_sector_offset(cxt);
+}
+
+static void delete_partition(struct fdisk_context *cxt, int partnum)
+{
+ if (partnum < 0 || warn_geometry(cxt))
+ return;
+
+ ptes[partnum].changed = 1;
+ fdisk_delete_partition(cxt, partnum);
+ printf(_("Partition %d is deleted\n"), partnum + 1);
+}
+
+static void change_sysid(struct fdisk_context *cxt)
+{
+ char *temp;
+ int i, sys, origsys;
+ struct partition *p;
+
+ i = get_existing_partition(cxt, 0, partitions);
+
+ if (i == -1)
+ return;
+ p = ptes[i].part_table;
+ origsys = sys = get_sysid(cxt, i);
+
+ /* if changing types T to 0 is allowed, then
+ the reverse change must be allowed, too */
+ if (!sys && disklabel != SGI_LABEL && disklabel != SUN_LABEL && !get_nr_sects(p))
+ printf(_("Partition %d does not exist yet!\n"), i + 1);
+ else while (1) {
+ sys = read_hex (get_sys_types());
+
+ if (!sys && disklabel != SGI_LABEL && disklabel != SUN_LABEL) {
+ printf(_("Type 0 means free space to many systems\n"
+ "(but not to Linux). Having partitions of\n"
+ "type 0 is probably unwise. You can delete\n"
+ "a partition using the `d' command.\n"));
+ /* break; */
+ }
+
+ if (disklabel != SGI_LABEL && disklabel != SUN_LABEL) {
+ if (IS_EXTENDED (sys) != IS_EXTENDED (p->sys_ind)) {
+ printf(_("You cannot change a partition into"
+ " an extended one or vice versa\n"
+ "Delete it first.\n"));
+ break;
+ }
+ }
+
+ if (sys < 256) {
+ if (disklabel == SUN_LABEL && i == 2 && sys != SUN_TAG_BACKUP)
+ printf(_("Consider leaving partition 3 "
+ "as Whole disk (5),\n"
+ "as SunOS/Solaris expects it and "
+ "even Linux likes it.\n\n"));
+ if (disklabel == SGI_LABEL && ((i == 10 && sys != ENTIRE_DISK)
+ || (i == 8 && sys != 0)))
+ printf(_("Consider leaving partition 9 "
+ "as volume header (0),\nand "
+ "partition 11 as entire volume (6), "
+ "as IRIX expects it.\n\n"));
+ if (sys == origsys)
+ break;
+ if (disklabel == SUN_LABEL) {
+ ptes[i].changed = sun_change_sysid(cxt, i, sys);
+ } else
+ if (disklabel == SGI_LABEL) {
+ ptes[i].changed = sgi_change_sysid(cxt, i, sys);
+ } else {
+ p->sys_ind = sys;
+ ptes[i].changed = 1;
+ }
+ temp = partition_type(sys) ? : _("Unknown");
+ if (ptes[i].changed)
+ printf (_("Changed system type of partition %d "
+ "to %x (%s)\n"), i + 1, sys, temp);
+ else
+ printf (_("System type of partition %d is unchanged: "
+ "%x (%s)\n"), i + 1, sys, temp);
+ if (is_dos_partition(origsys) ||
+ is_dos_partition(sys))
+ dos_changed = 1;
+ break;
+ }
+ }
+}
+
+/* check_consistency() and long2chs() added Sat Mar 6 12:28:16 1993,
+ * faith@cs.unc.edu, based on code fragments from pfdisk by Gordon W. Ross,
+ * Jan. 1990 (version 1.2.1 by Gordon W. Ross Aug. 1990; Modified by S.
+ * Lubkin Oct. 1991). */
+
+static void
+long2chs(struct fdisk_context *cxt, unsigned long ls,
+ unsigned int *c, unsigned int *h, unsigned int *s) {
+ int spc = cxt->geom.heads * cxt->geom.sectors;
+
+ *c = ls / spc;
+ ls = ls % spc;
+ *h = ls / cxt->geom.sectors;
+ *s = ls % cxt->geom.sectors + 1; /* sectors count from 1 */
+}
+
+void check_consistency(struct fdisk_context *cxt, struct partition *p, int partition)
+{
+ unsigned int pbc, pbh, pbs; /* physical beginning c, h, s */
+ unsigned int pec, peh, pes; /* physical ending c, h, s */
+ unsigned int lbc, lbh, lbs; /* logical beginning c, h, s */
+ unsigned int lec, leh, les; /* logical ending c, h, s */
+
+ if (!dos_compatible_flag)
+ return;
+
+ if (!cxt->geom.heads || !cxt->geom.sectors || (partition >= 4))
+ return; /* do not check extended partitions */
+
+/* physical beginning c, h, s */
+ pbc = (p->cyl & 0xff) | ((p->sector << 2) & 0x300);
+ pbh = p->head;
+ pbs = p->sector & 0x3f;
+
+/* physical ending c, h, s */
+ pec = (p->end_cyl & 0xff) | ((p->end_sector << 2) & 0x300);
+ peh = p->end_head;
+ pes = p->end_sector & 0x3f;
+
+/* compute logical beginning (c, h, s) */
+ long2chs(cxt, get_start_sect(p), &lbc, &lbh, &lbs);
+
+/* compute logical ending (c, h, s) */
+ long2chs(cxt, get_start_sect(p) + get_nr_sects(p) - 1, &lec, &leh, &les);
+
+/* Same physical / logical beginning? */
+ if (cxt->geom.cylinders <= 1024 && (pbc != lbc || pbh != lbh || pbs != lbs)) {
+ printf(_("Partition %d has different physical/logical "
+ "beginnings (non-Linux?):\n"), partition + 1);
+ printf(_(" phys=(%d, %d, %d) "), pbc, pbh, pbs);
+ printf(_("logical=(%d, %d, %d)\n"),lbc, lbh, lbs);
+ }
+
+/* Same physical / logical ending? */
+ if (cxt->geom.cylinders <= 1024 && (pec != lec || peh != leh || pes != les)) {
+ printf(_("Partition %d has different physical/logical "
+ "endings:\n"), partition + 1);
+ printf(_(" phys=(%d, %d, %d) "), pec, peh, pes);
+ printf(_("logical=(%d, %d, %d)\n"),lec, leh, les);
+ }
+
+/* Ending on cylinder boundary? */
+ if (peh != (cxt->geom.heads - 1) || pes != cxt->geom.sectors) {
+ printf(_("Partition %i does not end on cylinder boundary.\n"),
+ partition + 1);
+ }
+}
+
+void check_alignment(struct fdisk_context *cxt, sector_t lba, int partition)
+{
+ if (!lba_is_phy_aligned(cxt, lba))
+ printf(_("Partition %i does not start on physical sector boundary.\n"),
+ partition + 1);
+}
+
+static void
+list_disk_geometry(struct fdisk_context *cxt) {
+ unsigned long long bytes = cxt->total_sectors * cxt->sector_size;
+ long megabytes = bytes/1000000;
+
+ if (megabytes < 10000)
+ printf(_("\nDisk %s: %ld MB, %lld bytes"),
+ cxt->dev_path, megabytes, bytes);
+ else {
+ long hectomega = (megabytes + 50) / 100;
+ printf(_("\nDisk %s: %ld.%ld GB, %llu bytes"),
+ cxt->dev_path, hectomega / 10, hectomega % 10, bytes);
+ }
+ printf(_(", %llu sectors\n"), cxt->total_sectors);
+ if (dos_compatible_flag)
+ printf(_("%d heads, %llu sectors/track, %llu cylinders\n"),
+ cxt->geom.heads, cxt->geom.sectors, cxt->geom.cylinders);
+ printf(_("Units = %s of %d * %ld = %ld bytes\n"),
+ str_units(PLURAL),
+ units_per_sector, cxt->sector_size, units_per_sector * cxt->sector_size);
+
+ printf(_("Sector size (logical/physical): %lu bytes / %lu bytes\n"),
+ cxt->sector_size, cxt->phy_sector_size);
+ printf(_("I/O size (minimum/optimal): %lu bytes / %lu bytes\n"),
+ cxt->min_io_size, cxt->io_size);
+ if (cxt->alignment_offset)
+ printf(_("Alignment offset: %lu bytes\n"), cxt->alignment_offset);
+ if (disklabel == DOS_LABEL)
+ dos_print_mbr_id(cxt);
+ printf("\n");
+}
+
+/*
+ * Check whether partition entries are ordered by their starting positions.
+ * Return 0 if OK. Return i if partition i should have been earlier.
+ * Two separate checks: primary and logical partitions.
+ */
+static int
+wrong_p_order(int *prev) {
+ struct pte *pe;
+ struct partition *p;
+ unsigned int last_p_start_pos = 0, p_start_pos;
+ int i, last_i = 0;
+
+ for (i = 0 ; i < partitions; i++) {
+ if (i == 4) {
+ last_i = 4;
+ last_p_start_pos = 0;
+ }
+ pe = &ptes[i];
+ if ((p = pe->part_table)->sys_ind) {
+ p_start_pos = get_partition_start(pe);
+
+ if (last_p_start_pos > p_start_pos) {
+ if (prev)
+ *prev = last_i;
+ return i;
+ }
+
+ last_p_start_pos = p_start_pos;
+ last_i = i;
+ }
+ }
+ return 0;
+}
+
+/*
+ * Fix the chain of logicals.
+ * extended_offset is unchanged, the set of sectors used is unchanged
+ * The chain is sorted so that sectors increase, and so that
+ * starting sectors increase.
+ *
+ * After this it may still be that cfdisk doesn't like the table.
+ * (This is because cfdisk considers expanded parts, from link to
+ * end of partition, and these may still overlap.)
+ * Now
+ * sfdisk /dev/hda > ohda; sfdisk /dev/hda < ohda
+ * may help.
+ */
+static void
+fix_chain_of_logicals(void) {
+ int j, oj, ojj, sj, sjj;
+ struct partition *pj,*pjj,tmp;
+
+ /* Stage 1: sort sectors but leave sector of part 4 */
+ /* (Its sector is the global extended_offset.) */
+ stage1:
+ for (j = 5; j < partitions-1; j++) {
+ oj = ptes[j].offset;
+ ojj = ptes[j+1].offset;
+ if (oj > ojj) {
+ ptes[j].offset = ojj;
+ ptes[j+1].offset = oj;
+ pj = ptes[j].part_table;
+ set_start_sect(pj, get_start_sect(pj)+oj-ojj);
+ pjj = ptes[j+1].part_table;
+ set_start_sect(pjj, get_start_sect(pjj)+ojj-oj);
+ set_start_sect(ptes[j-1].ext_pointer,
+ ojj-extended_offset);
+ set_start_sect(ptes[j].ext_pointer,
+ oj-extended_offset);
+ goto stage1;
+ }
+ }
+
+ /* Stage 2: sort starting sectors */
+ stage2:
+ for (j = 4; j < partitions-1; j++) {
+ pj = ptes[j].part_table;
+ pjj = ptes[j+1].part_table;
+ sj = get_start_sect(pj);
+ sjj = get_start_sect(pjj);
+ oj = ptes[j].offset;
+ ojj = ptes[j+1].offset;
+ if (oj+sj > ojj+sjj) {
+ tmp = *pj;
+ *pj = *pjj;
+ *pjj = tmp;
+ set_start_sect(pj, ojj+sjj-oj);
+ set_start_sect(pjj, oj+sj-ojj);
+ goto stage2;
+ }
+ }
+
+ /* Probably something was changed */
+ for (j = 4; j < partitions; j++)
+ ptes[j].changed = 1;
+}
+
+static void
+fix_partition_table_order(void) {
+ struct pte *pei, *pek;
+ int i,k;
+
+ if (!wrong_p_order(NULL)) {
+ printf(_("Nothing to do. Ordering is correct already.\n\n"));
+ return;
+ }
+
+ while ((i = wrong_p_order(&k)) != 0 && i < 4) {
+ /* partition i should have come earlier, move it */
+ /* We have to move data in the MBR */
+ struct partition *pi, *pk, *pe, pbuf;
+ pei = &ptes[i];
+ pek = &ptes[k];
+
+ pe = pei->ext_pointer;
+ pei->ext_pointer = pek->ext_pointer;
+ pek->ext_pointer = pe;
+
+ pi = pei->part_table;
+ pk = pek->part_table;
+
+ memmove(&pbuf, pi, sizeof(struct partition));
+ memmove(pi, pk, sizeof(struct partition));
+ memmove(pk, &pbuf, sizeof(struct partition));
+
+ pei->changed = pek->changed = 1;
+ }
+
+ if (i)
+ fix_chain_of_logicals();
+
+ printf(_("Done.\n"));
+
+}
+
+static void
+list_table(struct fdisk_context *cxt, int xtra) {
+ struct partition *p;
+ char *type;
+ int i, w;
+
+ if (disklabel == SUN_LABEL) {
+ sun_list_table(cxt, xtra);
+ return;
+ }
+
+ if (disklabel == SGI_LABEL) {
+ sgi_list_table(cxt, xtra);
+ return;
+ }
+
+ list_disk_geometry(cxt);
+
+ if (disklabel == OSF_LABEL) {
+ xbsd_print_disklabel(cxt, xtra);
+ return;
+ }
+
+ if (is_garbage_table()) {
+ printf(_("This doesn't look like a partition table\n"
+ "Probably you selected the wrong device.\n\n"));
+ }
+
+ /* Heuristic: we list partition 3 of /dev/foo as /dev/foo3,
+ but if the device name ends in a digit, say /dev/foo1,
+ then the partition is called /dev/foo1p3. */
+ w = strlen(cxt->dev_path);
+ if (w && isdigit(cxt->dev_path[w-1]))
+ w++;
+ if (w < 5)
+ w = 5;
+
+ printf(_("%*s Boot Start End Blocks Id System\n"),
+ w+1, _("Device"));
+
+ for (i = 0; i < partitions; i++) {
+ struct pte *pe = &ptes[i];
+
+ p = pe->part_table;
+ if (p && !is_cleared_partition(p)) {
+ unsigned int psects = get_nr_sects(p);
+ unsigned int pblocks = psects;
+ unsigned int podd = 0;
+
+ if (cxt->sector_size < 1024) {
+ pblocks /= (1024 / cxt->sector_size);
+ podd = psects % (1024 / cxt->sector_size);
+ }
+ if (cxt->sector_size > 1024)
+ pblocks *= (cxt->sector_size / 1024);
+ printf(
+ "%s %c %11lu %11lu %11lu%c %2x %s\n",
+ partname(cxt->dev_path, i+1, w+2),
+/* boot flag */ !p->boot_ind ? ' ' : p->boot_ind == ACTIVE_FLAG
+ ? '*' : '?',
+/* start */ (unsigned long) cround(get_partition_start(pe)),
+/* end */ (unsigned long) cround(get_partition_start(pe) + psects
+ - (psects ? 1 : 0)),
+/* odd flag on end */ (unsigned long) pblocks, podd ? '+' : ' ',
+/* type id */ p->sys_ind,
+/* type name */ (type = partition_type(p->sys_ind)) ?
+ type : _("Unknown"));
+ check_consistency(cxt, p, i);
+ check_alignment(cxt, get_partition_start(pe), i);
+ }
+ }
+
+ /* Is partition table in disk order? It need not be, but... */
+ /* partition table entries are not checked for correct order if this
+ is a sgi, sun or aix labeled disk... */
+ if (disklabel == DOS_LABEL && wrong_p_order(NULL)) {
+ printf(_("\nPartition table entries are not in disk order\n"));
+ }
+}
+
+static void
+x_list_table(struct fdisk_context *cxt, int extend) {
+ struct pte *pe;
+ struct partition *p;
+ int i;
+
+ printf(_("\nDisk %s: %d heads, %llu sectors, %llu cylinders\n\n"),
+ cxt->dev_path, cxt->geom.heads, cxt->geom.sectors, cxt->geom.cylinders);
+ printf(_("Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"));
+ for (i = 0 ; i < partitions; i++) {
+ pe = &ptes[i];
+ p = (extend ? pe->ext_pointer : pe->part_table);
+ if (p != NULL) {
+ printf("%2d %02x%4d%4d%5d%4d%4d%5d%11lu%11lu %02x\n",
+ i + 1, p->boot_ind, p->head,
+ sector(p->sector),
+ cylinder(p->sector, p->cyl), p->end_head,
+ sector(p->end_sector),
+ cylinder(p->end_sector, p->end_cyl),
+ (unsigned long) get_start_sect(p),
+ (unsigned long) get_nr_sects(p), p->sys_ind);
+ if (p->sys_ind) {
+ check_consistency(cxt, p, i);
+ check_alignment(cxt, get_partition_start(pe), i);
+ }
+ }
+ }
+}
+
+void fill_bounds(sector_t *first, sector_t *last)
+{
+ int i;
+ struct pte *pe = &ptes[0];
+ struct partition *p;
+
+ for (i = 0; i < partitions; pe++,i++) {
+ p = pe->part_table;
+ if (!p->sys_ind || IS_EXTENDED (p->sys_ind)) {
+ first[i] = 0xffffffff;
+ last[i] = 0;
+ } else {
+ first[i] = get_partition_start(pe);
+ last[i] = first[i] + get_nr_sects(p) - 1;
+ }
+ }
+}
+
+void check(struct fdisk_context *cxt, int n,
+ unsigned int h, unsigned int s, unsigned int c,
+ unsigned int start)
+{
+ unsigned int total, real_s, real_c;
+
+ real_s = sector(s) - 1;
+ real_c = cylinder(s, c);
+ total = (real_c * cxt->geom.sectors + real_s) * cxt->geom.heads + h;
+ if (!total)
+ fprintf(stderr, _("Warning: partition %d contains sector 0\n"), n);
+ if (h >= cxt->geom.heads)
+ fprintf(stderr,
+ _("Partition %d: head %d greater than maximum %d\n"),
+ n, h + 1, cxt->geom.heads);
+ if (real_s >= cxt->geom.sectors)
+ fprintf(stderr, _("Partition %d: sector %d greater than "
+ "maximum %llu\n"), n, s, cxt->geom.sectors);
+ if (real_c >= cxt->geom.cylinders)
+ fprintf(stderr, _("Partitions %d: cylinder %d greater than "
+ "maximum %llu\n"), n, real_c + 1, cxt->geom.cylinders);
+ if (cxt->geom.cylinders <= 1024 && start != total)
+ fprintf(stderr,
+ _("Partition %d: previous sectors %d disagrees with "
+ "total %d\n"), n, start, total);
+}
+
+static void verify(struct fdisk_context *cxt)
+{
+ if (warn_geometry(cxt))
+ return;
+
+ fdisk_verify_disklabel(cxt);
+}
+
+void print_partition_size(struct fdisk_context *cxt,
+ int num, sector_t start, sector_t stop, int sysid)
+{
+ char *str = size_to_human_string(SIZE_SUFFIX_3LETTER | SIZE_SUFFIX_SPACE,
+ (uint64_t)(stop - start + 1) * cxt->sector_size);
+ printf(_("Partition %d of type %s and of size %s is set\n"), num, partition_type(sysid), str);
+ free(str);
+}
+
+static void new_partition(struct fdisk_context *cxt)
+{
+ int partnum = 0;
+
+ if (warn_geometry(cxt))
+ return;
+
+ if (disklabel == SUN_LABEL || disklabel == SGI_LABEL)
+ partnum = get_partition(cxt, 0, partitions);
+
+ /*
+ * Use default LINUX_NATIVE partition type, DOS labels
+ * may override this internally.
+ */
+ fdisk_add_partition(cxt, partnum, LINUX_NATIVE);
+}
+
+static void write_table(struct fdisk_context *cxt)
+{
+ int rc;
+
+ rc = fdisk_write_disklabel(cxt);
+ if (rc)
+ err(EXIT_FAILURE, _("cannot write disk label"));
+
+ printf(_("The partition table has been altered!\n\n"));
+ reread_partition_table(cxt, 1);
+}
+
+void
+reread_partition_table(struct fdisk_context *cxt, int leave) {
+ int i;
+ struct stat statbuf;
+
+ i = fstat(cxt->dev_fd, &statbuf);
+ if (i == 0 && S_ISBLK(statbuf.st_mode)) {
+ sync();
+#ifdef BLKRRPART
+ printf(_("Calling ioctl() to re-read partition table.\n"));
+ i = ioctl(cxt->dev_fd, BLKRRPART);
+#else
+ errno = ENOSYS;
+ i = 1;
+#endif
+ }
+
+ if (i) {
+ printf(_("\nWARNING: Re-reading the partition table failed with error %d: %m.\n"
+ "The kernel still uses the old table. The new table will be used at\n"
+ "the next reboot or after you run partprobe(8) or kpartx(8)\n"),
+ errno);
+ }
+
+ if (dos_changed)
+ printf(
+ _("\nWARNING: If you have created or modified any DOS 6.x\n"
+ "partitions, please see the fdisk manual page for additional\n"
+ "information.\n"));
+
+ if (leave) {
+ if (fsync(cxt->dev_fd) || close(cxt->dev_fd)) {
+ fprintf(stderr, _("\nError closing file\n"));
+ exit(1);
+ }
+
+ printf(_("Syncing disks.\n"));
+ sync();
+ exit(!!i);
+ }
+}
+
+#define MAX_PER_LINE 16
+static void
+print_buffer(struct fdisk_context *cxt, unsigned char pbuffer[]) {
+ unsigned int i, l;
+
+ for (i = 0, l = 0; i < cxt->sector_size; i++, l++) {
+ if (l == 0)
+ printf("0x%03X:", i);
+ printf(" %02X", pbuffer[i]);
+ if (l == MAX_PER_LINE - 1) {
+ printf("\n");
+ l = -1;
+ }
+ }
+ if (l > 0)
+ printf("\n");
+ printf("\n");
+}
+
+static void print_raw(struct fdisk_context *cxt)
+{
+ int i;
+
+ printf(_("Device: %s\n"), cxt->dev_path);
+ if (disklabel == SUN_LABEL || disklabel == SGI_LABEL)
+ print_buffer(cxt, cxt->firstsector);
+ else for (i = 3; i < partitions; i++)
+ print_buffer(cxt, ptes[i].sectorbuffer);
+}
+
+static void
+move_begin(struct fdisk_context *cxt, int i) {
+ struct pte *pe = &ptes[i];
+ struct partition *p = pe->part_table;
+ unsigned int new, free_start, curr_start, last;
+ int x;
+
+ if (warn_geometry(cxt))
+ return;
+ if (!p->sys_ind || !get_nr_sects(p) || IS_EXTENDED (p->sys_ind)) {
+ printf(_("Partition %d has no data area\n"), i + 1);
+ return;
+ }
+
+ /* the default start is at the second sector of the disk or at the
+ * second sector of the extended partition
+ */
+ free_start = pe->offset ? pe->offset + 1 : 1;
+
+ curr_start = get_partition_start(pe);
+
+ /* look for a free space before the current start of the partition */
+ for (x = 0; x < partitions; x++) {
+ unsigned int end;
+ struct pte *prev_pe = &ptes[x];
+ struct partition *prev_p = prev_pe->part_table;
+
+ if (!prev_p)
+ continue;
+ end = get_partition_start(prev_pe) + get_nr_sects(prev_p);
+
+ if (!is_cleared_partition(prev_p) &&
+ end > free_start && end <= curr_start)
+ free_start = end;
+ }
+
+ last = get_partition_start(pe) + get_nr_sects(p) - 1;
+
+ new = read_int(cxt, free_start, curr_start, last, free_start,
+ _("New beginning of data")) - pe->offset;
+
+ if (new != get_nr_sects(p)) {
+ unsigned int sects = get_nr_sects(p) + get_start_sect(p) - new;
+ set_nr_sects(p, sects);
+ set_start_sect(p, new);
+ pe->changed = 1;
+ }
+}
+
+static void __attribute__ ((__noreturn__)) handle_quit(struct fdisk_context *cxt)
+{
+ fdisk_free_context(cxt);
+ printf("\n");
+ exit(EXIT_SUCCESS);
+}
+
+static void
+expert_command_prompt(struct fdisk_context *cxt)
+{
+ char c;
+
+ while(1) {
+ putchar('\n');
+ c = tolower(read_char(_("Expert command (m for help): ")));
+ switch (c) {
+ case 'a':
+ if (disklabel == SUN_LABEL)
+ sun_set_alt_cyl(cxt);
+ break;
+ case 'b':
+ if (disklabel == DOS_LABEL)
+ move_begin(cxt, get_partition(cxt, 0, partitions));
+ break;
+ case 'c':
+ user_cylinders = cxt->geom.cylinders =
+ read_int(cxt, 1, cxt->geom.cylinders, 1048576, 0,
+ _("Number of cylinders"));
+ if (disklabel == SUN_LABEL)
+ sun_set_ncyl(cxt, cxt->geom.cylinders);
+ break;
+ case 'd':
+ print_raw(cxt);
+ break;
+ case 'e':
+ if (disklabel == SGI_LABEL)
+ sgi_set_xcyl();
+ else if (disklabel == SUN_LABEL)
+ sun_set_xcyl(cxt);
+ else
+ if (disklabel == DOS_LABEL)
+ x_list_table(cxt, 1);
+ break;
+ case 'f':
+ if (disklabel == DOS_LABEL)
+ fix_partition_table_order();
+ break;
+ case 'g':
+ fdisk_create_disklabel(cxt, "sgi");
+ break;
+ case 'h':
+ user_heads = cxt->geom.heads = read_int(cxt, 1, cxt->geom.heads, 256, 0,
+ _("Number of heads"));
+ update_units(cxt);
+ break;
+ case 'i':
+ if (disklabel == SUN_LABEL)
+ sun_set_ilfact(cxt);
+ else if (disklabel == DOS_LABEL)
+ dos_set_mbr_id(cxt);
+ break;
+ case 'o':
+ if (disklabel == SUN_LABEL)
+ sun_set_rspeed(cxt);
+ break;
+ case 'p':
+ if (disklabel == SUN_LABEL)
+ list_table(cxt, 1);
+ else
+ x_list_table(cxt, 0);
+ break;
+ case 'q':
+ handle_quit(cxt);
+ case 'r':
+ return;
+ case 's':
+ user_sectors = cxt->geom.sectors = read_int(cxt, 1, cxt->geom.sectors, 63, 0,
+ _("Number of sectors"));
+ if (dos_compatible_flag)
+ fprintf(stderr, _("Warning: setting "
+ "sector offset for DOS "
+ "compatibility\n"));
+ update_sector_offset(cxt);
+ update_units(cxt);
+ break;
+ case 'v':
+ verify(cxt);
+ break;
+ case 'w':
+ write_table(cxt);
+ break;
+ case 'y':
+ if (disklabel == SUN_LABEL)
+ sun_set_pcylcount(cxt);
+ break;
+ default:
+ print_menu(EXPERT_MENU);
+ }
+ }
+}
+
+static int is_ide_cdrom_or_tape(char *device)
+{
+ int fd, ret;
+
+ if ((fd = open(device, O_RDONLY)) < 0)
+ return 0;
+ ret = blkdev_is_cdrom(fd);
+
+ close(fd);
+ return ret;
+}
+
+static void
+gpt_warning(char *dev)
+{
+ if (dev && gpt_probe_signature_devname(dev))
+ fprintf(stderr, _("\nWARNING: GPT (GUID Partition Table) detected on '%s'! "
+ "The util fdisk doesn't support GPT. Use GNU Parted.\n\n"), dev);
+}
+
+/* Print disk geometry and partition table of a specified device (-l option) */
+static void print_partition_table_from_option(char *device, unsigned long sector_size)
+{
+ struct fdisk_context *cxt;
+
+ cxt = fdisk_new_context_from_filename(device, 1); /* read-only */
+ if (!cxt)
+ err(EXIT_FAILURE, _("cannot open %s"), device);
+
+ if (sector_size) /* passed -b option, override autodiscovery */
+ fdisk_context_force_sector_size(cxt, sector_size);
+
+ if (user_cylinders || user_heads || user_sectors)
+ fdisk_context_set_user_geometry(cxt, user_cylinders,
+ user_heads, user_sectors);
+ gpt_warning(device);
+
+ if (!fdisk_dev_has_disklabel(cxt)) {
+ /*
+ * Try BSD -- TODO: move to list_table() too
+ */
+ list_disk_geometry(cxt);
+ if (disklabel != AIX_LABEL && disklabel != MAC_LABEL)
+ btrydev(cxt);
+ }
+ else
+ list_table(cxt, 0);
+
+ fdisk_free_context(cxt);
+ cxt = NULL;
+}
+
+/*
+ * for fdisk -l:
+ * try all things in /proc/partitions that look like a full disk
+ */
+static void
+print_all_partition_table_from_option(unsigned long sector_size)
+{
+ FILE *procpt;
+ char line[128 + 1], ptname[128 + 1], devname[256];
+ int ma, mi;
+ unsigned long long sz;
+
+ procpt = fopen(_PATH_PROC_PARTITIONS, "r");
+ if (procpt == NULL) {
+ fprintf(stderr, _("cannot open %s\n"), _PATH_PROC_PARTITIONS);
+ return;
+ }
+
+ while (fgets(line, sizeof(line), procpt)) {
+ if (sscanf (line, " %d %d %llu %128[^\n ]",
+ &ma, &mi, &sz, ptname) != 4)
+ continue;
+ snprintf(devname, sizeof(devname), "/dev/%s", ptname);
+ if (is_whole_disk(devname)) {
+ char *cn = canonicalize_path(devname);
+ if (cn) {
+ if (!is_ide_cdrom_or_tape(cn))
+ print_partition_table_from_option(cn, sector_size);
+ free(cn);
+ }
+ }
+ }
+ fclose(procpt);
+}
+
+static void
+unknown_command(int c) {
+ printf(_("%c: unknown command\n"), c);
+}
+
+static void print_welcome(void)
+{
+ printf(_("Welcome to fdisk (%s).\n\n"
+ "Changes will remain in memory only, until you decide to write them.\n"
+ "Be careful before using the write command.\n\n"), PACKAGE_STRING);
+
+ fflush(stdout);
+}
+
+static void command_prompt(struct fdisk_context *cxt)
+{
+ int c;
+
+ if (disklabel == OSF_LABEL) {
+ putchar('\n');
+ /* OSF label, and no DOS label */
+ printf(_("Detected an OSF/1 disklabel on %s, entering "
+ "disklabel mode.\n"),
+ cxt->dev_path);
+ bsd_command_prompt(cxt);
+ /* If we return we may want to make an empty DOS label? */
+ disklabel = DOS_LABEL;
+ }
+
+ while (1) {
+ putchar('\n');
+ c = tolower(read_char(_("Command (m for help): ")));
+ switch (c) {
+ case 'a':
+ if (disklabel == DOS_LABEL)
+ toggle_active(get_partition(cxt, 1, partitions));
+ else if (disklabel == SUN_LABEL)
+ toggle_sunflags(cxt, get_partition(cxt, 1, partitions),
+ SUN_FLAG_UNMNT);
+ else if (disklabel == SGI_LABEL)
+ sgi_set_bootpartition(cxt,
+ get_partition(cxt, 1, partitions));
+ else
+ unknown_command(c);
+ break;
+ case 'b':
+ if (disklabel == SGI_LABEL)
+ sgi_set_bootfile(cxt);
+ else if (disklabel == DOS_LABEL) {
+ disklabel = OSF_LABEL;
+ bsd_command_prompt(cxt);
+ disklabel = DOS_LABEL;
+ } else
+ unknown_command(c);
+ break;
+ case 'c':
+ if (disklabel == DOS_LABEL)
+ toggle_dos_compatibility_flag(cxt);
+ else if (disklabel == SUN_LABEL)
+ toggle_sunflags(cxt, get_partition(cxt, 1, partitions),
+ SUN_FLAG_RONLY);
+ else if (disklabel == SGI_LABEL)
+ sgi_set_swappartition(cxt,
+ get_partition(cxt, 1, partitions));
+ else
+ unknown_command(c);
+ break;
+ case 'd':
+ delete_partition(cxt, get_existing_partition(cxt, 1, partitions));
+ break;
+ case 'i':
+ if (disklabel == SGI_LABEL)
+ create_sgiinfo(cxt);
+ else
+ unknown_command(c);
+ break;
+ case 'l':
+ list_types(get_sys_types());
+ break;
+ case 'm':
+ print_menu(MAIN_MENU);
+ break;
+ case 'n':
+ new_partition(cxt);
+ break;
+ case 'o':
+ fdisk_create_disklabel(cxt, "dos");
+ break;
+ case 'p':
+ list_table(cxt, 0);
+ break;
+ case 'q':
+ handle_quit(cxt);
+ case 's':
+ fdisk_create_disklabel(cxt, "sun");
+ break;
+ case 't':
+ change_sysid(cxt);
+ break;
+ case 'u':
+ change_units(cxt);
+ break;
+ case 'v':
+ verify(cxt);
+ break;
+ case 'w':
+ write_table(cxt);
+ break;
+ case 'x':
+ expert_command_prompt(cxt);
+ break;
+ default:
+ unknown_command(c);
+ print_menu(MAIN_MENU);
+ }
+ }
+}
+
+static sector_t get_dev_blocks(char *dev)
+{
+ int fd;
+ sector_t size;
+
+ if ((fd = open(dev, O_RDONLY)) < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), dev);
+ if (blkdev_get_sectors(fd, &size) == -1) {
+ close(fd);
+ err(EXIT_FAILURE, _("BLKGETSIZE ioctl failed on %s"), dev);
+ }
+ close(fd);
+ return size/2;
+}
+
+int main(int argc, char **argv)
+{
+ int c, optl = 0, opts = 0;
+ unsigned long sector_size = 0;
+ struct fdisk_context *cxt = NULL;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt(argc, argv, "b:c::C:hH:lsS:u::vV")) != -1) {
+ switch (c) {
+ case 'b':
+ /* Ugly: this sector size is really per device,
+ so cannot be combined with multiple disks,
+ and te same goes for the C/H/S options.
+ */
+ sector_size = strtou32_or_err(optarg, _("invalid sector size argument"));
+ if (sector_size != 512 && sector_size != 1024 &&
+ sector_size != 2048 && sector_size != 4096)
+ usage(stderr);
+ sector_offset = 2;
+ break;
+ case 'C':
+ user_cylinders = strtou32_or_err(optarg, _("invalid cylinders argument"));
+ break;
+ case 'c':
+ dos_compatible_flag = 0; /* default */
+
+ if (optarg && !strcmp(optarg, "=dos"))
+ dos_compatible_flag = ~0;
+ else if (optarg && strcmp(optarg, "=nondos"))
+ usage(stderr);
+ break;
+ case 'H':
+ user_heads = strtou32_or_err(optarg, _("invalid heads argument"));
+ if (user_heads > 256)
+ user_heads = 0;
+ break;
+ case 'S':
+ user_sectors = strtou32_or_err(optarg, _("invalid sectors argument"));
+ if (user_sectors >= 64)
+ user_sectors = 0;
+ break;
+ case 'l':
+ optl = 1;
+ break;
+ case 's':
+ opts = 1;
+ break;
+ case 'u':
+ display_in_cyl_units = 0; /* default */
+ if (optarg && strcmp(optarg, "=cylinders") == 0)
+ display_in_cyl_units = !display_in_cyl_units;
+ else if (optarg && strcmp(optarg, "=sectors"))
+ usage(stderr);
+ break;
+ case 'V':
+ case 'v':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ }
+
+ fdisk_init_debug(0);
+
+ if (sector_size && argc-optind != 1)
+ printf(_("Warning: the -b (set sector size) option should"
+ " be used with one specified device\n"));
+
+ if (optl) {
+ nowarn = 1;
+ if (argc > optind) {
+ int k;
+ for (k = optind; k < argc; k++)
+ print_partition_table_from_option(argv[k], sector_size);
+ } else
+ print_all_partition_table_from_option(sector_size);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opts) {
+ /* print partition size for one or more devices */
+ int i, ndevs = argc - optind;
+ if (ndevs <= 0)
+ usage(stderr);
+
+ for (i = optind; i < argc; i++) {
+ if (ndevs == 1)
+ printf("%llu\n", get_dev_blocks(argv[i]));
+ else
+ printf("%s: %llu\n", argv[i], get_dev_blocks(argv[i]));
+ }
+ exit(EXIT_SUCCESS);
+ }
+
+ if (argc-optind != 1)
+ usage(stderr);
+
+ cxt = fdisk_new_context_from_filename(argv[optind], 0);
+ if (!cxt)
+ err(EXIT_FAILURE, _("cannot open %s"), argv[optind]);
+
+ if (sector_size) /* passed -b option, override autodiscovery */
+ fdisk_context_force_sector_size(cxt, sector_size);
+
+ if (user_cylinders || user_heads || user_sectors)
+ fdisk_context_set_user_geometry(cxt, user_cylinders,
+ user_heads, user_sectors);
+
+ print_welcome();
+
+ if (!fdisk_dev_sectsz_is_default(cxt))
+ printf(_("Note: sector size is %ld (not %d)\n"),
+ cxt->sector_size, DEFAULT_SECTOR_SIZE);
+
+ gpt_warning(cxt->dev_path);
+
+ if (!fdisk_dev_has_disklabel(cxt)) {
+ fprintf(stderr,
+ _("Device does not contain a recognized partition table\n"));
+ fdisk_create_disklabel(cxt, NULL);
+ }
+
+ command_prompt(cxt);
+
+ return 0;
+}
diff --git a/fdisks/fdisk.h b/fdisks/fdisk.h
new file mode 100644
index 0000000..05dc8a8
--- /dev/null
+++ b/fdisks/fdisk.h
@@ -0,0 +1,294 @@
+/*
+ fdisk.h
+*/
+
+#include "c.h"
+
+#define DEFAULT_SECTOR_SIZE 512
+#define MAX_SECTOR_SIZE 2048
+#define SECTOR_SIZE 512 /* still used in BSD code */
+#define MAXIMUM_PARTS 60
+
+#define ACTIVE_FLAG 0x80
+
+#define EXTENDED 0x05
+#define WIN98_EXTENDED 0x0f
+#define LINUX_PARTITION 0x81
+#define LINUX_SWAP 0x82
+#define LINUX_NATIVE 0x83
+#define LINUX_EXTENDED 0x85
+#define LINUX_LVM 0x8e
+#define LINUX_RAID 0xfd
+
+#define ALIGN_UP 1
+#define ALIGN_DOWN 2
+#define ALIGN_NEAREST 3
+
+#define LINE_LENGTH 800
+
+#define IS_EXTENDED(i) \
+ ((i) == EXTENDED || (i) == WIN98_EXTENDED || (i) == LINUX_EXTENDED)
+
+#define cround(n) (display_in_cyl_units ? ((n)/units_per_sector)+1 : (n))
+#define scround(x) (((x)+units_per_sector-1)/units_per_sector)
+
+/* fdisk debugging flags/options */
+#define FDISK_DEBUG_INIT (1 << 1)
+#define FDISK_DEBUG_CONTEXT (1 << 2)
+#define FDISK_DEBUG_TOPOLOGY (1 << 3)
+#define FDISK_DEBUG_GEOMETRY (1 << 4)
+#define FDISK_DEBUG_LABEL (1 << 5)
+#define FDISK_DEBUG_ALL 0xFFFF
+
+# define ON_DBG(m, x) do { \
+ if ((FDISK_DEBUG_ ## m) & fdisk_debug_mask) { \
+ x; \
+ } \
+ } while (0)
+
+# define DBG(m, x) do { \
+ if ((FDISK_DEBUG_ ## m) & fdisk_debug_mask) { \
+ fprintf(stderr, "%d: fdisk: %8s: ", getpid(), # m); \
+ x; \
+ } \
+ } while (0)
+
+# define DBG_FLUSH do { \
+ if (fdisk_debug_mask && \
+ fdisk_debug_mask != FDISK_DEBUG_INIT) \
+ fflush(stderr); \
+ } while(0)
+
+static inline void __attribute__ ((__format__ (__printf__, 1, 2)))
+dbgprint(const char *mesg, ...)
+{
+ va_list ap;
+ va_start(ap, mesg);
+ vfprintf(stderr, mesg, ap);
+ va_end(ap);
+ fputc('\n', stderr);
+}
+
+extern int fdisk_debug_mask;
+extern void fdisk_init_debug(int mask);
+
+struct partition {
+ unsigned char boot_ind; /* 0x80 - active */
+ unsigned char head; /* starting head */
+ unsigned char sector; /* starting sector */
+ unsigned char cyl; /* starting cylinder */
+ unsigned char sys_ind; /* What partition type */
+ unsigned char end_head; /* end head */
+ unsigned char end_sector; /* end sector */
+ unsigned char end_cyl; /* end cylinder */
+ unsigned char start4[4]; /* starting sector counting from 0 */
+ unsigned char size4[4]; /* nr of sectors in partition */
+} __attribute__ ((packed));
+
+enum menutype {
+ MAIN_MENU,
+ EXPERT_MENU,
+};
+
+enum failure {
+ ioctl_error,
+ unable_to_read,
+ unable_to_seek,
+ unable_to_write
+};
+
+typedef unsigned long long sector_t;
+
+/*
+ * Legacy CHS based geometry
+ */
+struct fdisk_geometry {
+ unsigned int heads;
+ sector_t sectors;
+ sector_t cylinders;
+};
+
+struct fdisk_context {
+ int dev_fd; /* device descriptor */
+ char *dev_path; /* device path */
+ unsigned char *firstsector; /* buffer with master boot record */
+
+ /* topology */
+ unsigned long io_size; /* I/O size used by fdisk */
+ unsigned long optimal_io_size; /* optional I/O returned by device */
+ unsigned long min_io_size; /* minimal I/O size */
+ unsigned long phy_sector_size; /* physical size */
+ unsigned long sector_size; /* logical size */
+ unsigned long alignment_offset;
+
+ unsigned long grain; /* alignment unit */
+
+ /* geometry */
+ sector_t total_sectors; /* in logical sectors */
+ struct fdisk_geometry geom;
+
+ /* label operations and description */
+ const struct fdisk_label *label;
+};
+
+/*
+ * Label specific operations
+ */
+struct fdisk_label {
+ const char *name;
+
+ /* probe disk label */
+ int (*probe)(struct fdisk_context *cxt);
+ /* write in-memory changes to disk */
+ int (*write)(struct fdisk_context *cxt);
+ /* verify the partition table */
+ int (*verify)(struct fdisk_context *cxt);
+ /* create new disk label */
+ int (*create)(struct fdisk_context *cxt);
+ /* new partition */
+ void (*part_add)(struct fdisk_context *cxt, int partnum, int parttype);
+ /* delete partition */
+ void (*part_delete)(struct fdisk_context *cxt, int partnum);
+};
+
+/*
+ * labels
+ */
+extern const struct fdisk_label aix_label;
+extern const struct fdisk_label dos_label;
+extern const struct fdisk_label bsd_label;
+extern const struct fdisk_label mac_label;
+extern const struct fdisk_label sun_label;
+extern const struct fdisk_label sgi_label;
+
+extern struct fdisk_context *fdisk_new_context_from_filename(const char *fname, int readonly);
+extern int fdisk_dev_has_topology(struct fdisk_context *cxt);
+extern int fdisk_dev_has_disklabel(struct fdisk_context *cxt);
+extern int fdisk_dev_sectsz_is_default(struct fdisk_context *cxt);
+extern void fdisk_free_context(struct fdisk_context *cxt);
+extern void fdisk_zeroize_firstsector(struct fdisk_context *cxt);
+extern int fdisk_context_force_sector_size(struct fdisk_context *cxt, sector_t s);
+extern int fdisk_context_set_user_geometry(struct fdisk_context *cxt,
+ unsigned int cylinders, unsigned int heads,
+ unsigned int sectors);
+extern int fdisk_delete_partition(struct fdisk_context *cxt, int partnum);
+extern int fdisk_add_partition(struct fdisk_context *cxt, int partnum, int parttype);
+extern int fdisk_write_disklabel(struct fdisk_context *cxt);
+extern int fdisk_verify_disklabel(struct fdisk_context *cxt);
+extern int fdisk_create_disklabel(struct fdisk_context *cxt, const char *name);
+
+/* prototypes for fdisk.c */
+extern char *line_ptr;
+extern int partitions;
+extern unsigned int display_in_cyl_units, units_per_sector;
+
+extern void check_consistency(struct fdisk_context *cxt, struct partition *p, int partition);
+extern void check_alignment(struct fdisk_context *cxt, sector_t lba, int partition);
+extern void check(struct fdisk_context *cxt, int n, unsigned int h, unsigned int s, unsigned int c, unsigned int start);
+
+extern void change_units(struct fdisk_context *cxt);
+extern void fatal(struct fdisk_context *cxt, enum failure why);
+extern int get_partition(struct fdisk_context *cxt, int warn, int max);
+extern void list_types(struct systypes *sys);
+extern int read_line (int *asked);
+extern char read_char(char *mesg);
+extern int read_hex(struct systypes *sys);
+extern void reread_partition_table(struct fdisk_context *cxt, int leave);
+extern struct partition *get_part_table(int);
+extern unsigned int read_int(struct fdisk_context *cxt,
+ unsigned int low, unsigned int dflt,
+ unsigned int high, unsigned int base, char *mesg);
+extern void print_menu(enum menutype);
+extern void print_partition_size(struct fdisk_context *cxt, int num, sector_t start, sector_t stop, int sysid);
+
+extern void fill_bounds(sector_t *first, sector_t *last);
+
+extern char *partition_type(unsigned char type);
+extern void update_units(struct fdisk_context *cxt);
+extern char read_chars(char *mesg);
+extern void set_changed(int);
+extern void set_all_unchanged(void);
+extern int warn_geometry(struct fdisk_context *cxt);
+extern void warn_limits(struct fdisk_context *cxt);
+extern void warn_alignment(struct fdisk_context *cxt);
+extern unsigned int read_int_with_suffix(struct fdisk_context *cxt,
+ unsigned int low, unsigned int dflt, unsigned int high,
+ unsigned int base, char *mesg, int *is_suffix_used);
+extern sector_t align_lba(struct fdisk_context *cxt, sector_t lba, int direction);
+extern int get_partition_dflt(struct fdisk_context *cxt, int warn, int max, int dflt);
+extern void update_sector_offset(struct fdisk_context *cxt);
+
+#define PLURAL 0
+#define SINGULAR 1
+extern const char * str_units(int);
+
+extern sector_t get_nr_sects(struct partition *p);
+
+/*
+ * Supported partition table types (labels)
+ */
+enum fdisk_labeltype {
+ DOS_LABEL = 1,
+ SUN_LABEL = 2,
+ SGI_LABEL = 4,
+ AIX_LABEL = 8,
+ OSF_LABEL = 16,
+ MAC_LABEL = 32,
+ ANY_LABEL = -1
+};
+
+extern enum fdisk_labeltype disklabel;
+extern int MBRbuffer_changed;
+
+/* start_sect and nr_sects are stored little endian on all machines */
+/* moreover, they are not aligned correctly */
+static inline void
+store4_little_endian(unsigned char *cp, unsigned int val) {
+ cp[0] = (val & 0xff);
+ cp[1] = ((val >> 8) & 0xff);
+ cp[2] = ((val >> 16) & 0xff);
+ cp[3] = ((val >> 24) & 0xff);
+}
+
+static inline unsigned int read4_little_endian(const unsigned char *cp)
+{
+ return (unsigned int)(cp[0]) + ((unsigned int)(cp[1]) << 8)
+ + ((unsigned int)(cp[2]) << 16)
+ + ((unsigned int)(cp[3]) << 24);
+}
+
+static inline void set_nr_sects(struct partition *p, sector_t nr_sects)
+{
+ store4_little_endian(p->size4, nr_sects);
+}
+
+static inline void set_start_sect(struct partition *p, unsigned int start_sect)
+{
+ store4_little_endian(p->start4, start_sect);
+}
+
+static inline void seek_sector(struct fdisk_context *cxt, sector_t secno)
+{
+ off_t offset = (off_t) secno * cxt->sector_size;
+ if (lseek(cxt->dev_fd, offset, SEEK_SET) == (off_t) -1)
+ fatal(cxt, unable_to_seek);
+}
+
+static inline void read_sector(struct fdisk_context *cxt, sector_t secno, unsigned char *buf)
+{
+ seek_sector(cxt, secno);
+ if (read(cxt->dev_fd, buf, cxt->sector_size) != (ssize_t) cxt->sector_size)
+ fatal(cxt, unable_to_read);
+}
+
+static inline sector_t get_start_sect(struct partition *p)
+{
+ return read4_little_endian(p->start4);
+}
+
+static inline int is_cleared_partition(struct partition *p)
+{
+ return !(!p || p->boot_ind || p->head || p->sector || p->cyl ||
+ p->sys_ind || p->end_head || p->end_sector || p->end_cyl ||
+ get_start_sect(p) || get_nr_sects(p));
+}
diff --git a/fdisks/fdiskaixlabel.c b/fdisks/fdiskaixlabel.c
new file mode 100644
index 0000000..6fe7b59
--- /dev/null
+++ b/fdisks/fdiskaixlabel.c
@@ -0,0 +1,90 @@
+/*
+ Changes:
+ Sat Mar 20 09:51:38 EST 1999 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ Internationalization
+*/
+#include <stdio.h> /* stderr */
+#include <string.h> /* strstr */
+#include <unistd.h> /* write */
+
+#include <endian.h>
+
+#include "common.h"
+#include "fdisk.h"
+#include "fdiskaixlabel.h"
+#include "nls.h"
+
+static int other_endian = 0;
+static short volumes=1;
+
+/*
+ * only dealing with free blocks here
+ */
+
+static void
+aix_info( void ) {
+ puts(
+ _("\n\tThere is a valid AIX label on this disk.\n"
+ "\tUnfortunately Linux cannot handle these\n"
+ "\tdisks at the moment. Nevertheless some\n"
+ "\tadvice:\n"
+ "\t1. fdisk will destroy its contents on write.\n"
+ "\t2. Be sure that this disk is NOT a still vital\n"
+ "\t part of a volume group. (Otherwise you may\n"
+ "\t erase the other disks as well, if unmirrored.)\n"
+ "\t3. Before deleting this physical volume be sure\n"
+ "\t to remove the disk logically from your AIX\n"
+ "\t machine. (Otherwise you become an AIXpert).")
+ );
+}
+
+static void aix_nolabel(struct fdisk_context *cxt)
+{
+ struct aix_partition *aixlabel = (struct aix_partition *) cxt->firstsector;
+
+ aixlabel->magic = 0;
+ partitions = 4;
+ fdisk_zeroize_firstsector(cxt);
+ return;
+}
+
+static int aix_probe_label(struct fdisk_context *cxt)
+{
+ struct aix_partition *aixlabel = (struct aix_partition *) cxt->firstsector;
+
+ if (aixlabel->magic != AIX_LABEL_MAGIC &&
+ aixlabel->magic != AIX_LABEL_MAGIC_SWAPPED) {
+ other_endian = 0;
+ return 0;
+ }
+ other_endian = (aixlabel->magic == AIX_LABEL_MAGIC_SWAPPED);
+ disklabel = AIX_LABEL;
+ partitions= 1016;
+ volumes = 15;
+ aix_info();
+ aix_nolabel(cxt); /* %% */
+ return 1;
+}
+
+static void aix_add_partition(
+ struct fdisk_context *cxt __attribute__((__unused__)),
+ int partnum __attribute__((__unused__)),
+ int parttype __attribute__((__unused__)))
+{
+ printf(_("\tSorry - this fdisk cannot handle AIX disk labels."
+ "\n\tIf you want to add DOS-type partitions, create"
+ "\n\ta new empty DOS partition table first. (Use o.)"
+ "\n\tWARNING: "
+ "This will destroy the present disk contents.\n"));
+}
+
+const struct fdisk_label aix_label =
+{
+ .name = "aix",
+ .probe = aix_probe_label,
+ .write = NULL,
+ .verify = NULL,
+ .create = NULL,
+ .part_add = aix_add_partition,
+ .part_delete = NULL,
+};
diff --git a/fdisks/fdiskaixlabel.h b/fdisks/fdiskaixlabel.h
new file mode 100644
index 0000000..c3af9a0
--- /dev/null
+++ b/fdisks/fdiskaixlabel.h
@@ -0,0 +1,25 @@
+#ifndef FDISK_AIX_LABEL_H
+#define FDISK_AIX_LABEL_H
+
+#include <stdint.h>
+/*
+ * Copyright (C) Andreas Neuper, Sep 1998.
+ * This file may be redistributed under
+ * the terms of the GNU Public License.
+ */
+
+struct aix_partition {
+ unsigned int magic; /* expect AIX_LABEL_MAGIC */
+ unsigned int fillbytes1[124];
+ unsigned int physical_volume_id;
+ unsigned int fillbytes2[124];
+};
+
+#define AIX_LABEL_MAGIC 0xc9c2d4c1
+#define AIX_LABEL_MAGIC_SWAPPED 0xc1d4c2c9
+#define AIX_INFO_MAGIC 0x00072959
+#define AIX_INFO_MAGIC_SWAPPED 0x59290700
+
+/* fdiskaixlabel.c */
+extern struct systypes aix_sys_types[];
+#endif /* FDISK_AIX_LABEL_H */
diff --git a/fdisks/fdiskbsdlabel.c b/fdisks/fdiskbsdlabel.c
new file mode 100644
index 0000000..442a79f
--- /dev/null
+++ b/fdisks/fdiskbsdlabel.c
@@ -0,0 +1,855 @@
+/*
+ NetBSD disklabel editor for Linux fdisk
+ Written by Bernhard Fastenrath (fasten@informatik.uni-bonn.de)
+ with code from the NetBSD disklabel command:
+
+ Copyright (c) 1987, 1988 Regents of the University of California.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ Changes:
+ 19990319 - Arnaldo Carvalho de Melo <acme@conectiva.com.br> - i18n/nls
+
+ 20000101 - David Huggins-Daines <dhuggins@linuxcare.com> - Better
+ support for OSF/1 disklabels on Alpha.
+ Also fixed unaligned accesses in alpha_bootblock_checksum()
+*/
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <setjmp.h>
+#include <errno.h>
+#include "nls.h"
+
+#include <sys/param.h>
+
+#include "common.h"
+#include "fdisk.h"
+#define FREEBSD_PARTITION 0xa5
+#define NETBSD_PARTITION 0xa9
+#define DKTYPENAMES
+#include "fdiskbsdlabel.h"
+
+static void xbsd_delete_part (struct fdisk_context *cxt, int partnum);
+static void xbsd_edit_disklabel (void);
+static void xbsd_write_bootstrap (struct fdisk_context *cxt);
+static void xbsd_change_fstype (void);
+static int xbsd_get_part_index (int max);
+static int xbsd_check_new_partition (int *i);
+static void xbsd_list_types (void);
+static unsigned short xbsd_dkcksum (struct xbsd_disklabel *lp);
+static int xbsd_initlabel (struct fdisk_context *cxt,
+ struct partition *p, struct xbsd_disklabel *d,
+ int pindex);
+static int xbsd_readlabel (struct fdisk_context *cxt,
+ struct partition *p, struct xbsd_disklabel *d);
+static int xbsd_writelabel (struct fdisk_context *cxt, struct partition *p, struct xbsd_disklabel *d);
+static void sync_disks (void);
+
+#if defined (__alpha__)
+void alpha_bootblock_checksum (char *boot);
+#endif
+
+#if !defined (__alpha__)
+static int xbsd_translate_fstype (int linux_type);
+static void xbsd_link_part (struct fdisk_context *cxt);
+static struct partition *xbsd_part;
+static int xbsd_part_index;
+#endif
+
+#if defined (__alpha__)
+/* We access this through a u_int64_t * when checksumming */
+static char disklabelbuffer[BSD_BBSIZE] __attribute__((aligned(8)));
+#else
+static char disklabelbuffer[BSD_BBSIZE];
+#endif
+
+static struct xbsd_disklabel xbsd_dlabel;
+
+#define bsd_cround(n) \
+ (display_in_cyl_units ? ((n)/xbsd_dlabel.d_secpercyl) + 1 : (n))
+
+/*
+ * Test whether the whole disk has BSD disk label magic.
+ *
+ * Note: often reformatting with DOS-type label leaves the BSD magic,
+ * so this does not mean that there is a BSD disk label.
+ */
+static int
+osf_probe_label(struct fdisk_context *cxt) {
+ if (xbsd_readlabel (cxt, NULL, &xbsd_dlabel) == 0)
+ return 0;
+ return 1;
+}
+
+int
+btrydev (struct fdisk_context *cxt) {
+ if (xbsd_readlabel (cxt, NULL, &xbsd_dlabel) == 0)
+ return -1;
+ printf(_("\nBSD label for device: %s\n"), cxt->dev_path);
+ xbsd_print_disklabel (cxt, 0);
+ return 0;
+}
+
+#if !defined (__alpha__)
+static int
+hidden(int type) {
+ return type ^ 0x10;
+}
+
+static int
+is_bsd_partition_type(int type) {
+ return (type == FREEBSD_PARTITION ||
+ type == hidden(FREEBSD_PARTITION) ||
+ type == NETBSD_PARTITION ||
+ type == hidden(NETBSD_PARTITION));
+}
+#endif
+
+static int xbsd_write_disklabel (struct fdisk_context *cxt)
+{
+#if defined (__alpha__)
+ printf (_("Writing disklabel to %s.\n"), cxt->dev_path);
+ xbsd_writelabel (cxt, NULL, &xbsd_dlabel);
+#else
+ printf (_("Writing disklabel to %s.\n"),
+ partname(cxt->dev_path, xbsd_part_index+1, 0));
+ xbsd_writelabel (cxt, xbsd_part, &xbsd_dlabel);
+#endif
+ reread_partition_table(cxt, 0); /* no exit yet */
+
+ return 0;
+}
+
+static void xbsd_add_part (struct fdisk_context *cxt,
+ int partnum __attribute__((__unused__)),
+ int parttype __attribute__((__unused__)))
+{
+ unsigned int begin, end;
+ char mesg[256];
+ int i;
+
+ if (!xbsd_check_new_partition (&i))
+ return;
+
+#if !defined (__alpha__) && !defined (__powerpc__) && !defined (__hppa__)
+ begin = get_start_sect(xbsd_part);
+ end = begin + get_nr_sects(xbsd_part) - 1;
+#else
+ begin = 0;
+ end = xbsd_dlabel.d_secperunit - 1;
+#endif
+
+ snprintf (mesg, sizeof(mesg), _("First %s"), str_units(SINGULAR));
+ begin = read_int (cxt, bsd_cround (begin), bsd_cround (begin), bsd_cround (end),
+ 0, mesg);
+
+ if (display_in_cyl_units)
+ begin = (begin - 1) * xbsd_dlabel.d_secpercyl;
+
+ snprintf (mesg, sizeof(mesg), _("Last %s or +size or +sizeM or +sizeK"),
+ str_units(SINGULAR));
+ end = read_int (cxt, bsd_cround (begin), bsd_cround (end), bsd_cround (end),
+ bsd_cround (begin), mesg);
+
+ if (display_in_cyl_units)
+ end = end * xbsd_dlabel.d_secpercyl - 1;
+
+ xbsd_dlabel.d_partitions[i].p_size = end - begin + 1;
+ xbsd_dlabel.d_partitions[i].p_offset = begin;
+ xbsd_dlabel.d_partitions[i].p_fstype = BSD_FS_UNUSED;
+}
+
+static int xbsd_create_disklabel (struct fdisk_context *cxt)
+{
+ char c;
+
+#if defined (__alpha__)
+ fprintf (stderr, _("%s contains no disklabel.\n"), cxt->dev_path);
+#else
+ fprintf (stderr, _("%s contains no disklabel.\n"),
+ partname(cxt->dev_path, xbsd_part_index+1, 0));
+#endif
+
+ while (1) {
+ c = read_char (_("Do you want to create a disklabel? (y/n) "));
+ if (tolower(c) == 'y') {
+ if (xbsd_initlabel (cxt,
+#if defined (__alpha__) || defined (__powerpc__) || defined (__hppa__) || \
+ defined (__s390__) || defined (__s390x__)
+ NULL, &xbsd_dlabel, 0
+#else
+ xbsd_part, &xbsd_dlabel, xbsd_part_index
+#endif
+ ) == 1) {
+ xbsd_print_disklabel (cxt, 1);
+ return 1;
+ } else
+ return 0;
+ } else if (c == 'n')
+ return 0;
+ }
+}
+
+void
+bsd_command_prompt (struct fdisk_context *cxt)
+{
+#if !defined (__alpha__)
+ int t, ss;
+ struct partition *p;
+
+ for (t=0; t<4; t++) {
+ p = get_part_table(t);
+ if (p && is_bsd_partition_type(p->sys_ind)) {
+ xbsd_part = p;
+ xbsd_part_index = t;
+ ss = get_start_sect(xbsd_part);
+ if (ss == 0) {
+ fprintf (stderr, _("Partition %s has invalid starting sector 0.\n"),
+ partname(cxt->dev_path, t+1, 0));
+ return;
+ }
+ printf (_("Reading disklabel of %s at sector %d.\n"),
+ partname(cxt->dev_path, t+1, 0), ss + BSD_LABELSECTOR);
+ if (xbsd_readlabel (cxt, xbsd_part, &xbsd_dlabel) == 0)
+ if (xbsd_create_disklabel (cxt) == 0)
+ return;
+ break;
+ }
+ }
+
+ if (t == 4) {
+ printf (_("There is no *BSD partition on %s.\n"), cxt->dev_path);
+ return;
+ }
+
+#elif defined (__alpha__)
+
+ if (xbsd_readlabel (cxt, NULL, &xbsd_dlabel) == 0)
+ if (xbsd_create_disklabel (cxt) == 0)
+ exit ( EXIT_SUCCESS );
+
+#endif
+
+ while (1) {
+ putchar ('\n');
+ switch (tolower (read_char (_("BSD disklabel command (m for help): ")))) {
+ case 'd':
+ xbsd_delete_part(cxt, xbsd_get_part_index(xbsd_dlabel.d_npartitions));
+ break;
+ case 'e':
+ xbsd_edit_disklabel ();
+ break;
+ case 'i':
+ xbsd_write_bootstrap (cxt);
+ break;
+ case 'l':
+ xbsd_list_types ();
+ break;
+ case 'n':
+ xbsd_add_part (cxt, 0, 0);
+ break;
+ case 'p':
+ xbsd_print_disklabel (cxt, 0);
+ break;
+ case 'q':
+ close (cxt->dev_fd);
+ exit ( EXIT_SUCCESS );
+ case 'r':
+ return;
+ case 's':
+ xbsd_print_disklabel (cxt, 1);
+ break;
+ case 't':
+ xbsd_change_fstype ();
+ break;
+ case 'u':
+ change_units(cxt);
+ break;
+ case 'w':
+ xbsd_write_disklabel (cxt);
+ break;
+#if !defined (__alpha__)
+ case 'x':
+ xbsd_link_part (cxt);
+ break;
+#endif
+ default:
+ print_menu(MAIN_MENU);
+ break;
+ }
+ }
+}
+
+static void xbsd_delete_part(struct fdisk_context *cxt __attribute__((__unused__)),
+ int partnum)
+{
+ xbsd_dlabel.d_partitions[partnum].p_size = 0;
+ xbsd_dlabel.d_partitions[partnum].p_offset = 0;
+ xbsd_dlabel.d_partitions[partnum].p_fstype = BSD_FS_UNUSED;
+ if (xbsd_dlabel.d_npartitions == partnum + 1)
+ while (!xbsd_dlabel.d_partitions[xbsd_dlabel.d_npartitions-1].p_size)
+ xbsd_dlabel.d_npartitions--;
+}
+
+void
+xbsd_print_disklabel (struct fdisk_context *cxt, int show_all) {
+ struct xbsd_disklabel *lp = &xbsd_dlabel;
+ struct xbsd_partition *pp;
+ FILE *f = stdout;
+ int i, j;
+
+ if (show_all) {
+#if defined (__alpha__)
+ fprintf(f, "# %s:\n", cxt->dev_path);
+#else
+ fprintf(f, "# %s:\n", partname(cxt->dev_path, xbsd_part_index+1, 0));
+#endif
+ if ((unsigned) lp->d_type < BSD_DKMAXTYPES)
+ fprintf(f, _("type: %s\n"), xbsd_dktypenames[lp->d_type]);
+ else
+ fprintf(f, _("type: %d\n"), lp->d_type);
+ fprintf(f, _("disk: %.*s\n"), (int) sizeof(lp->d_typename), lp->d_typename);
+ fprintf(f, _("label: %.*s\n"), (int) sizeof(lp->d_packname), lp->d_packname);
+ fprintf(f, _("flags:"));
+ if (lp->d_flags & BSD_D_REMOVABLE)
+ fprintf(f, _(" removable"));
+ if (lp->d_flags & BSD_D_ECC)
+ fprintf(f, _(" ecc"));
+ if (lp->d_flags & BSD_D_BADSECT)
+ fprintf(f, _(" badsect"));
+ fprintf(f, "\n");
+ /* On various machines the fields of *lp are short/int/long */
+ /* In order to avoid problems, we cast them all to long. */
+ fprintf(f, _("bytes/sector: %ld\n"), (long) lp->d_secsize);
+ fprintf(f, _("sectors/track: %ld\n"), (long) lp->d_nsectors);
+ fprintf(f, _("tracks/cylinder: %ld\n"), (long) lp->d_ntracks);
+ fprintf(f, _("sectors/cylinder: %ld\n"), (long) lp->d_secpercyl);
+ fprintf(f, _("cylinders: %ld\n"), (long) lp->d_ncylinders);
+ fprintf(f, _("rpm: %d\n"), lp->d_rpm);
+ fprintf(f, _("interleave: %d\n"), lp->d_interleave);
+ fprintf(f, _("trackskew: %d\n"), lp->d_trackskew);
+ fprintf(f, _("cylinderskew: %d\n"), lp->d_cylskew);
+ fprintf(f, _("headswitch: %ld\t\t# milliseconds\n"),
+ (long) lp->d_headswitch);
+ fprintf(f, _("track-to-track seek: %ld\t# milliseconds\n"),
+ (long) lp->d_trkseek);
+ fprintf(f, _("drivedata: "));
+ for (i = NDDATA - 1; i >= 0; i--)
+ if (lp->d_drivedata[i])
+ break;
+ if (i < 0)
+ i = 0;
+ for (j = 0; j <= i; j++)
+ fprintf(f, "%ld ", (long) lp->d_drivedata[j]);
+ }
+ fprintf (f, _("\n%d partitions:\n"), lp->d_npartitions);
+ fprintf (f, _("# start end size fstype [fsize bsize cpg]\n"));
+ pp = lp->d_partitions;
+ for (i = 0; i < lp->d_npartitions; i++, pp++) {
+ if (pp->p_size) {
+ if (display_in_cyl_units && lp->d_secpercyl) {
+ fprintf(f, " %c: %8ld%c %8ld%c %8ld%c ",
+ 'a' + i,
+ (long) pp->p_offset / lp->d_secpercyl + 1,
+ (pp->p_offset % lp->d_secpercyl) ? '*' : ' ',
+ (long) (pp->p_offset + pp->p_size + lp->d_secpercyl - 1)
+ / lp->d_secpercyl,
+ ((pp->p_offset + pp->p_size) % lp->d_secpercyl) ? '*' : ' ',
+ (long) pp->p_size / lp->d_secpercyl,
+ (pp->p_size % lp->d_secpercyl) ? '*' : ' ');
+ } else {
+ fprintf(f, " %c: %8ld %8ld %8ld ",
+ 'a' + i,
+ (long) pp->p_offset,
+ (long) pp->p_offset + pp->p_size - 1,
+ (long) pp->p_size);
+ }
+ if ((unsigned) pp->p_fstype < BSD_FSMAXTYPES)
+ fprintf(f, "%8.8s", xbsd_fstypes[pp->p_fstype].name);
+ else
+ fprintf(f, "%8x", pp->p_fstype);
+ switch (pp->p_fstype) {
+ case BSD_FS_UNUSED:
+ fprintf(f, " %5ld %5ld %5.5s ",
+ (long) pp->p_fsize, (long) pp->p_fsize * pp->p_frag, "");
+ break;
+
+ case BSD_FS_BSDFFS:
+ fprintf(f, " %5ld %5ld %5d ",
+ (long) pp->p_fsize, (long) pp->p_fsize * pp->p_frag,
+ pp->p_cpg);
+ break;
+
+ default:
+ fprintf(f, "%22.22s", "");
+ break;
+ }
+ fprintf(f, "\n");
+ }
+ }
+}
+
+static int
+edit_int (int def, char *mesg)
+{
+ do {
+ fputs (mesg, stdout);
+ printf (" (%d): ", def);
+ if (!read_line (NULL))
+ return def;
+ }
+ while (!isdigit (*line_ptr));
+ return atoi (line_ptr);
+}
+
+static void
+xbsd_edit_disklabel (void)
+{
+ struct xbsd_disklabel *d;
+
+ d = &xbsd_dlabel;
+
+#if defined (__alpha__) || defined (__ia64__)
+ d -> d_secsize = (unsigned long) edit_int ((unsigned long) d -> d_secsize ,_("bytes/sector"));
+ d -> d_nsectors = (unsigned long) edit_int ((unsigned long) d -> d_nsectors ,_("sectors/track"));
+ d -> d_ntracks = (unsigned long) edit_int ((unsigned long) d -> d_ntracks ,_("tracks/cylinder"));
+ d -> d_ncylinders = (unsigned long) edit_int ((unsigned long) d -> d_ncylinders ,_("cylinders"));
+#endif
+
+ /* d -> d_secpercyl can be != d -> d_nsectors * d -> d_ntracks */
+ while (1)
+ {
+ d -> d_secpercyl = (unsigned long) edit_int ((unsigned long) d -> d_nsectors * d -> d_ntracks,
+ _("sectors/cylinder"));
+ if (d -> d_secpercyl <= d -> d_nsectors * d -> d_ntracks)
+ break;
+
+ printf (_("Must be <= sectors/track * tracks/cylinder (default).\n"));
+ }
+ d -> d_rpm = (unsigned short) edit_int ((unsigned short) d -> d_rpm ,_("rpm"));
+ d -> d_interleave = (unsigned short) edit_int ((unsigned short) d -> d_interleave,_("interleave"));
+ d -> d_trackskew = (unsigned short) edit_int ((unsigned short) d -> d_trackskew ,_("trackskew"));
+ d -> d_cylskew = (unsigned short) edit_int ((unsigned short) d -> d_cylskew ,_("cylinderskew"));
+ d -> d_headswitch = (unsigned long) edit_int ((unsigned long) d -> d_headswitch ,_("headswitch"));
+ d -> d_trkseek = (unsigned long) edit_int ((unsigned long) d -> d_trkseek ,_("track-to-track seek"));
+
+ d -> d_secperunit = d -> d_secpercyl * d -> d_ncylinders;
+}
+
+static int
+xbsd_get_bootstrap (char *path, void *ptr, int size)
+{
+ int fd;
+
+ if ((fd = open (path, O_RDONLY)) < 0)
+ {
+ perror (path);
+ return 0;
+ }
+ if (read (fd, ptr, size) < 0)
+ {
+ perror (path);
+ close (fd);
+ return 0;
+ }
+ printf (" ... %s\n", path);
+ close (fd);
+ return 1;
+}
+
+static void
+xbsd_write_bootstrap (struct fdisk_context *cxt)
+{
+ char *bootdir = BSD_LINUX_BOOTDIR;
+ char path[sizeof(BSD_LINUX_BOOTDIR) + 1 + 2 + 4]; /* BSD_LINUX_BOOTDIR + / + {sd,wd} + boot */
+ char *dkbasename;
+ struct xbsd_disklabel dl;
+ char *d, *p, *e;
+ int sector;
+
+ if (xbsd_dlabel.d_type == BSD_DTYPE_SCSI)
+ dkbasename = "sd";
+ else
+ dkbasename = "wd";
+
+ printf (_("Bootstrap: %sboot -> boot%s (%s): "),
+ dkbasename, dkbasename, dkbasename);
+ if (read_line (NULL)) {
+ line_ptr[strlen (line_ptr)-1] = '\0';
+ dkbasename = line_ptr;
+ }
+ snprintf (path, sizeof(path), "%s/%sboot", bootdir, dkbasename);
+ if (!xbsd_get_bootstrap (path, disklabelbuffer, (int) xbsd_dlabel.d_secsize))
+ return;
+
+ /* We need a backup of the disklabel (xbsd_dlabel might have changed). */
+ d = &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE];
+ memmove (&dl, d, sizeof (struct xbsd_disklabel));
+
+ /* The disklabel will be overwritten by 0's from bootxx anyway */
+ memset (d, 0, sizeof (struct xbsd_disklabel));
+
+ snprintf (path, sizeof(path), "%s/boot%s", bootdir, dkbasename);
+ if (!xbsd_get_bootstrap (path, &disklabelbuffer[xbsd_dlabel.d_secsize],
+ (int) xbsd_dlabel.d_bbsize - xbsd_dlabel.d_secsize))
+ return;
+
+ e = d + sizeof (struct xbsd_disklabel);
+ for (p=d; p < e; p++)
+ if (*p) {
+ fprintf (stderr, _("Bootstrap overlaps with disk label!\n"));
+ exit ( EXIT_FAILURE );
+ }
+
+ memmove (d, &dl, sizeof (struct xbsd_disklabel));
+
+#if defined (__powerpc__) || defined (__hppa__)
+ sector = 0;
+#elif defined (__alpha__)
+ sector = 0;
+ alpha_bootblock_checksum (disklabelbuffer);
+#else
+ sector = get_start_sect(xbsd_part);
+#endif
+
+ if (lseek (cxt->dev_fd, (off_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
+ fatal (cxt, unable_to_seek);
+ if (BSD_BBSIZE != write (cxt->dev_fd, disklabelbuffer, BSD_BBSIZE))
+ fatal (cxt, unable_to_write);
+
+#if defined (__alpha__)
+ printf (_("Bootstrap installed on %s.\n"), cxt->dev_path);
+#else
+ printf (_("Bootstrap installed on %s.\n"),
+ partname (cxt->dev_path, xbsd_part_index+1, 0));
+#endif
+
+ sync_disks ();
+}
+
+static void
+xbsd_change_fstype (void)
+{
+ int i;
+
+ i = xbsd_get_part_index (xbsd_dlabel.d_npartitions);
+ xbsd_dlabel.d_partitions[i].p_fstype = read_hex (xbsd_fstypes);
+}
+
+static int
+xbsd_get_part_index (int max)
+{
+ char prompt[256];
+ char l;
+
+ snprintf (prompt, sizeof(prompt), _("Partition (a-%c): "), 'a' + max - 1);
+ do
+ l = tolower (read_char (prompt));
+ while (l < 'a' || l > 'a' + max - 1);
+ return l - 'a';
+}
+
+static int
+xbsd_check_new_partition (int *i) {
+
+ /* room for more? various BSD flavours have different maxima */
+ if (xbsd_dlabel.d_npartitions == BSD_MAXPARTITIONS) {
+ int t;
+
+ for (t = 0; t < BSD_MAXPARTITIONS; t++)
+ if (xbsd_dlabel.d_partitions[t].p_size == 0)
+ break;
+
+ if (t == BSD_MAXPARTITIONS) {
+ fprintf (stderr, _("The maximum number of partitions "
+ "has been created\n"));
+ return 0;
+ }
+ }
+
+ *i = xbsd_get_part_index (BSD_MAXPARTITIONS);
+
+ if (*i >= xbsd_dlabel.d_npartitions)
+ xbsd_dlabel.d_npartitions = (*i) + 1;
+
+ if (xbsd_dlabel.d_partitions[*i].p_size != 0) {
+ fprintf (stderr, _("This partition already exists.\n"));
+ return 0;
+ }
+
+ return 1;
+}
+
+static void
+xbsd_list_types (void) {
+ list_types (xbsd_fstypes);
+}
+
+static unsigned short
+xbsd_dkcksum (struct xbsd_disklabel *lp) {
+ unsigned short *start, *end;
+ unsigned short sum = 0;
+
+ start = (unsigned short *) lp;
+ end = (unsigned short *) &lp->d_partitions[lp->d_npartitions];
+ while (start < end)
+ sum ^= *start++;
+ return sum;
+}
+
+static int
+xbsd_initlabel (struct fdisk_context *cxt, struct partition *p, struct xbsd_disklabel *d,
+ int pindex __attribute__((__unused__))) {
+ struct xbsd_partition *pp;
+
+ memset (d, 0, sizeof (struct xbsd_disklabel));
+
+ d -> d_magic = BSD_DISKMAGIC;
+
+ if (strncmp (cxt->dev_path, "/dev/sd", 7) == 0)
+ d -> d_type = BSD_DTYPE_SCSI;
+ else
+ d -> d_type = BSD_DTYPE_ST506;
+
+#if 0 /* not used (at least not written to disk) by NetBSD/i386 1.0 */
+ d -> d_subtype = BSD_DSTYPE_INDOSPART & pindex;
+#endif
+
+#if !defined (__alpha__)
+ d -> d_flags = BSD_D_DOSPART;
+#else
+ d -> d_flags = 0;
+#endif
+ d -> d_secsize = SECTOR_SIZE; /* bytes/sector */
+ d -> d_nsectors = cxt->geom.sectors; /* sectors/track */
+ d -> d_ntracks = cxt->geom.heads; /* tracks/cylinder (heads) */
+ d -> d_ncylinders = cxt->geom.cylinders;
+ d -> d_secpercyl = cxt->geom.sectors * cxt->geom.heads;/* sectors/cylinder */
+ if (d -> d_secpercyl == 0)
+ d -> d_secpercyl = 1; /* avoid segfaults */
+ d -> d_secperunit = d -> d_secpercyl * d -> d_ncylinders;
+
+ d -> d_rpm = 3600;
+ d -> d_interleave = 1;
+ d -> d_trackskew = 0;
+ d -> d_cylskew = 0;
+ d -> d_headswitch = 0;
+ d -> d_trkseek = 0;
+
+ d -> d_magic2 = BSD_DISKMAGIC;
+ d -> d_bbsize = BSD_BBSIZE;
+ d -> d_sbsize = BSD_SBSIZE;
+
+#if !defined (__alpha__)
+ d -> d_npartitions = 4;
+ pp = &d -> d_partitions[2]; /* Partition C should be
+ the NetBSD partition */
+ pp -> p_offset = get_start_sect(p);
+ pp -> p_size = get_nr_sects(p);
+ pp -> p_fstype = BSD_FS_UNUSED;
+ pp = &d -> d_partitions[3]; /* Partition D should be
+ the whole disk */
+ pp -> p_offset = 0;
+ pp -> p_size = d -> d_secperunit;
+ pp -> p_fstype = BSD_FS_UNUSED;
+#elif defined (__alpha__)
+ d -> d_npartitions = 3;
+ pp = &d -> d_partitions[2]; /* Partition C should be
+ the whole disk */
+ pp -> p_offset = 0;
+ pp -> p_size = d -> d_secperunit;
+ pp -> p_fstype = BSD_FS_UNUSED;
+#endif
+
+ return 1;
+}
+
+/*
+ * Read a xbsd_disklabel from sector 0 or from the starting sector of p.
+ * If it has the right magic, return 1.
+ */
+static int
+xbsd_readlabel (struct fdisk_context *cxt, struct partition *p, struct xbsd_disklabel *d)
+{
+ int t, sector;
+
+ /* p is used only to get the starting sector */
+#if !defined (__alpha__)
+ sector = (p ? get_start_sect(p) : 0);
+#elif defined (__alpha__)
+ sector = 0;
+#endif
+
+ if (lseek (cxt->dev_fd, (off_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
+ fatal (cxt, unable_to_seek);
+ if (BSD_BBSIZE != read (cxt->dev_fd, disklabelbuffer, BSD_BBSIZE))
+ fatal (cxt, unable_to_read);
+
+ memmove (d,
+ &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
+ sizeof (struct xbsd_disklabel));
+
+ if (d -> d_magic != BSD_DISKMAGIC || d -> d_magic2 != BSD_DISKMAGIC)
+ return 0;
+
+ for (t = d -> d_npartitions; t < BSD_MAXPARTITIONS; t++) {
+ d -> d_partitions[t].p_size = 0;
+ d -> d_partitions[t].p_offset = 0;
+ d -> d_partitions[t].p_fstype = BSD_FS_UNUSED;
+ }
+
+ if (d -> d_npartitions > BSD_MAXPARTITIONS)
+ fprintf (stderr, _("Warning: too many partitions "
+ "(%d, maximum is %d).\n"),
+ d -> d_npartitions, BSD_MAXPARTITIONS);
+ return 1;
+}
+
+static int
+xbsd_writelabel (struct fdisk_context *cxt, struct partition *p, struct xbsd_disklabel *d)
+{
+ unsigned int sector;
+
+#if !defined (__alpha__) && !defined (__powerpc__) && !defined (__hppa__)
+ sector = get_start_sect(p) + BSD_LABELSECTOR;
+#else
+ sector = BSD_LABELSECTOR;
+#endif
+
+ d -> d_checksum = 0;
+ d -> d_checksum = xbsd_dkcksum (d);
+
+ /* This is necessary if we want to write the bootstrap later,
+ otherwise we'd write the old disklabel with the bootstrap.
+ */
+ memmove (&disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET], d,
+ sizeof (struct xbsd_disklabel));
+
+#if defined (__alpha__) && BSD_LABELSECTOR == 0
+ alpha_bootblock_checksum (disklabelbuffer);
+ if (lseek (cxt->dev_fd, (off_t) 0, SEEK_SET) == -1)
+ fatal (cxt, unable_to_seek);
+ if (BSD_BBSIZE != write (cxt->dev_fd, disklabelbuffer, BSD_BBSIZE))
+ fatal (cxt, unable_to_write);
+#else
+ if (lseek (cxt->dev_fd, (off_t) sector * SECTOR_SIZE + BSD_LABELOFFSET,
+ SEEK_SET) == -1)
+ fatal (cxt, unable_to_seek);
+ if (sizeof (struct xbsd_disklabel) != write (cxt->dev_fd, d, sizeof (struct xbsd_disklabel)))
+ fatal (cxt, unable_to_write);
+#endif
+
+ sync_disks ();
+
+ return 1;
+}
+
+static void
+sync_disks (void)
+{
+ printf (_("\nSyncing disks.\n"));
+ sync ();
+ sleep (4);
+}
+
+#if !defined (__alpha__)
+static int
+xbsd_translate_fstype (int linux_type)
+{
+ switch (linux_type)
+ {
+ case 0x01: /* DOS 12-bit FAT */
+ case 0x04: /* DOS 16-bit <32M */
+ case 0x06: /* DOS 16-bit >=32M */
+ case 0xe1: /* DOS access */
+ case 0xe3: /* DOS R/O */
+ case 0xf2: /* DOS secondary */
+ return BSD_FS_MSDOS;
+ case 0x07: /* OS/2 HPFS */
+ return BSD_FS_HPFS;
+ default:
+ return BSD_FS_OTHER;
+ }
+}
+
+static void
+xbsd_link_part (struct fdisk_context *cxt)
+{
+ int k, i;
+ struct partition *p;
+
+ k = get_partition (cxt, 1, partitions);
+
+ if (!xbsd_check_new_partition (&i))
+ return;
+
+ p = get_part_table(k);
+
+ xbsd_dlabel.d_partitions[i].p_size = get_nr_sects(p);
+ xbsd_dlabel.d_partitions[i].p_offset = get_start_sect(p);
+ xbsd_dlabel.d_partitions[i].p_fstype = xbsd_translate_fstype(p->sys_ind);
+}
+#endif
+
+#if defined (__alpha__)
+
+#if !defined(__GLIBC__)
+typedef unsigned long long u_int64_t;
+#endif
+
+void
+alpha_bootblock_checksum (char *boot)
+{
+ u_int64_t *dp, sum;
+ int i;
+
+ dp = (u_int64_t *)boot;
+ sum = 0;
+ for (i = 0; i < 63; i++)
+ sum += dp[i];
+ dp[63] = sum;
+}
+#endif /* __alpha__ */
+
+const struct fdisk_label bsd_label =
+{
+ .name = "bsd",
+ .probe = osf_probe_label,
+ .write = xbsd_write_disklabel,
+ .verify = NULL,
+ .create = xbsd_create_disklabel,
+ .part_add = xbsd_add_part,
+ .part_delete = xbsd_delete_part,
+};
diff --git a/fdisks/fdiskbsdlabel.h b/fdisks/fdiskbsdlabel.h
new file mode 100644
index 0000000..ab6877e
--- /dev/null
+++ b/fdisks/fdiskbsdlabel.h
@@ -0,0 +1,245 @@
+#ifndef FDISK_BSD_LABEL_H
+#define FDISK_BSD_LABEL_H
+
+/*
+ * Copyright (c) 1987, 1988 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <stdint.h>
+
+#ifndef BSD_DISKMAGIC
+#define BSD_DISKMAGIC ((uint32_t) 0x82564557)
+#endif
+
+#ifndef BSD_MAXPARTITIONS
+#define BSD_MAXPARTITIONS 16
+#endif
+
+#define BSD_LINUX_BOOTDIR "/usr/ucb/mdec"
+
+#if defined (__i386__) || defined (__sparc__) || defined (__arm__) || \
+ defined (__mips__) || defined (__s390__) || defined (__sh__) || \
+ defined(__x86_64__) || defined (__avr32__) || defined(__cris__)
+#define BSD_LABELSECTOR 1
+#define BSD_LABELOFFSET 0
+#elif defined (__alpha__) || defined (__powerpc__) || defined (__ia64__) || defined (__hppa__)
+#define BSD_LABELSECTOR 0
+#define BSD_LABELOFFSET 64
+#elif defined (__s390__) || defined (__s390x__)
+#define BSD_LABELSECTOR 1
+#define BSD_LABELOFFSET 0
+#else
+#error unknown architecture
+#endif
+
+#define BSD_BBSIZE 8192 /* size of boot area, with label */
+#define BSD_SBSIZE 8192 /* max size of fs superblock */
+
+struct xbsd_disklabel {
+ uint32_t d_magic; /* the magic number */
+ int16_t d_type; /* drive type */
+ int16_t d_subtype; /* controller/d_type specific */
+ char d_typename[16]; /* type name, e.g. "eagle" */
+ char d_packname[16]; /* pack identifier */
+ /* disk geometry: */
+ uint32_t d_secsize; /* # of bytes per sector */
+ uint32_t d_nsectors; /* # of data sectors per track */
+ uint32_t d_ntracks; /* # of tracks per cylinder */
+ uint32_t d_ncylinders; /* # of data cylinders per unit */
+ uint32_t d_secpercyl; /* # of data sectors per cylinder */
+ uint32_t d_secperunit; /* # of data sectors per unit */
+ /*
+ * Spares (bad sector replacements) below
+ * are not counted in d_nsectors or d_secpercyl.
+ * Spare sectors are assumed to be physical sectors
+ * which occupy space at the end of each track and/or cylinder.
+ */
+ uint16_t d_sparespertrack; /* # of spare sectors per track */
+ uint16_t d_sparespercyl; /* # of spare sectors per cylinder */
+ /*
+ * Alternate cylinders include maintenance, replacement,
+ * configuration description areas, etc.
+ */
+ uint32_t d_acylinders; /* # of alt. cylinders per unit */
+
+ /* hardware characteristics: */
+ /*
+ * d_interleave, d_trackskew and d_cylskew describe perturbations
+ * in the media format used to compensate for a slow controller.
+ * Interleave is physical sector interleave, set up by the formatter
+ * or controller when formatting. When interleaving is in use,
+ * logically adjacent sectors are not physically contiguous,
+ * but instead are separated by some number of sectors.
+ * It is specified as the ratio of physical sectors traversed
+ * per logical sector. Thus an interleave of 1:1 implies contiguous
+ * layout, while 2:1 implies that logical sector 0 is separated
+ * by one sector from logical sector 1.
+ * d_trackskew is the offset of sector 0 on track N
+ * relative to sector 0 on track N-1 on the same cylinder.
+ * Finally, d_cylskew is the offset of sector 0 on cylinder N
+ * relative to sector 0 on cylinder N-1.
+ */
+ uint16_t d_rpm; /* rotational speed */
+ uint16_t d_interleave; /* hardware sector interleave */
+ uint16_t d_trackskew; /* sector 0 skew, per track */
+ uint16_t d_cylskew; /* sector 0 skew, per cylinder */
+ uint32_t d_headswitch; /* head switch time, usec */
+ uint32_t d_trkseek; /* track-to-track seek, usec */
+ uint32_t d_flags; /* generic flags */
+#define NDDATA 5
+ uint32_t d_drivedata[NDDATA]; /* drive-type specific information */
+#define NSPARE 5
+ uint32_t d_spare[NSPARE]; /* reserved for future use */
+ uint32_t d_magic2; /* the magic number (again) */
+ uint16_t d_checksum; /* xor of data incl. partitions */
+ /* filesystem and partition information: */
+ uint16_t d_npartitions; /* number of partitions in following */
+ uint32_t d_bbsize; /* size of boot area at sn0, bytes */
+ uint32_t d_sbsize; /* max size of fs superblock, bytes */
+ struct xbsd_partition { /* the partition table */
+ uint32_t p_size; /* number of sectors in partition */
+ uint32_t p_offset; /* starting sector */
+ uint32_t p_fsize; /* filesystem basic fragment size */
+ uint8_t p_fstype; /* filesystem type, see below */
+ uint8_t p_frag; /* filesystem fragments per block */
+ uint16_t p_cpg; /* filesystem cylinders per group */
+ } d_partitions[BSD_MAXPARTITIONS]; /* actually may be more */
+};
+
+/* d_type values: */
+#define BSD_DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */
+#define BSD_DTYPE_MSCP 2 /* MSCP */
+#define BSD_DTYPE_DEC 3 /* other DEC (rk, rl) */
+#define BSD_DTYPE_SCSI 4 /* SCSI */
+#define BSD_DTYPE_ESDI 5 /* ESDI interface */
+#define BSD_DTYPE_ST506 6 /* ST506 etc. */
+#define BSD_DTYPE_HPIB 7 /* CS/80 on HP-IB */
+#define BSD_DTYPE_HPFL 8 /* HP Fiber-link */
+#define BSD_DTYPE_FLOPPY 10 /* floppy */
+
+/* d_subtype values: */
+#define BSD_DSTYPE_INDOSPART 0x8 /* is inside dos partition */
+#define BSD_DSTYPE_DOSPART(s) ((s) & 3) /* dos partition number */
+#define BSD_DSTYPE_GEOMETRY 0x10 /* drive params in label */
+
+#ifdef DKTYPENAMES
+static char *xbsd_dktypenames[] = {
+ "unknown",
+ "SMD",
+ "MSCP",
+ "old DEC",
+ "SCSI",
+ "ESDI",
+ "ST506",
+ "HP-IB",
+ "HP-FL",
+ "type 9",
+ "floppy",
+ 0
+};
+#define BSD_DKMAXTYPES (sizeof(xbsd_dktypenames) / sizeof(xbsd_dktypenames[0]) - 1)
+#endif
+
+/*
+ * Filesystem type and version.
+ * Used to interpret other filesystem-specific
+ * per-partition information.
+ */
+#define BSD_FS_UNUSED 0 /* unused */
+#define BSD_FS_SWAP 1 /* swap */
+#define BSD_FS_V6 2 /* Sixth Edition */
+#define BSD_FS_V7 3 /* Seventh Edition */
+#define BSD_FS_SYSV 4 /* System V */
+#define BSD_FS_V71K 5 /* V7 with 1K blocks (4.1, 2.9) */
+#define BSD_FS_V8 6 /* Eighth Edition, 4K blocks */
+#define BSD_FS_BSDFFS 7 /* 4.2BSD fast file system */
+#define BSD_FS_BSDLFS 9 /* 4.4BSD log-structured file system */
+#define BSD_FS_OTHER 10 /* in use, but unknown/unsupported */
+#define BSD_FS_HPFS 11 /* OS/2 high-performance file system */
+#define BSD_FS_ISO9660 12 /* ISO-9660 filesystem (cdrom) */
+#define BSD_FS_ISOFS BSD_FS_ISO9660
+#define BSD_FS_BOOT 13 /* partition contains bootstrap */
+#define BSD_FS_ADOS 14 /* AmigaDOS fast file system */
+#define BSD_FS_HFS 15 /* Macintosh HFS */
+#define BSD_FS_ADVFS 16 /* Digital Unix AdvFS */
+
+/* this is annoying, but it's also the way it is :-( */
+#ifdef __alpha__
+#define BSD_FS_EXT2 8 /* ext2 file system */
+#else
+#define BSD_FS_MSDOS 8 /* MS-DOS file system */
+#endif
+
+#ifdef DKTYPENAMES
+static struct systypes xbsd_fstypes[] = {
+ {BSD_FS_UNUSED, "unused"},
+ {BSD_FS_SWAP, "swap"},
+ {BSD_FS_V6, "Version 6"},
+ {BSD_FS_V7, "Version 7"},
+ {BSD_FS_SYSV, "System V"},
+ {BSD_FS_V71K, "4.1BSD"},
+ {BSD_FS_V8, "Eighth Edition"},
+ {BSD_FS_BSDFFS, "4.2BSD"},
+#ifdef __alpha__
+ {BSD_FS_EXT2, "ext2"},
+#else
+ {BSD_FS_MSDOS, "MS-DOS"},
+#endif
+ {BSD_FS_BSDLFS, "4.4LFS"},
+ {BSD_FS_OTHER, "unknown"},
+ {BSD_FS_HPFS, "HPFS"},
+ {BSD_FS_ISO9660,"ISO-9660"},
+ {BSD_FS_BOOT, "boot"},
+ {BSD_FS_ADOS, "ADOS"},
+ {BSD_FS_HFS, "HFS"},
+ {BSD_FS_ADVFS, "AdvFS"},
+ { 0, NULL }
+};
+#define BSD_FSMAXTYPES (ARRAY_SIZE(xbsd_fstypes)-1)
+
+#endif
+
+/*
+ * flags shared by various drives:
+ */
+#define BSD_D_REMOVABLE 0x01 /* removable media */
+#define BSD_D_ECC 0x02 /* supports ECC */
+#define BSD_D_BADSECT 0x04 /* supports bad sector forw. */
+#define BSD_D_RAMDISK 0x08 /* disk emulator */
+#define BSD_D_CHAIN 0x10 /* can do back-back transfers */
+#define BSD_D_DOSPART 0x20 /* within MSDOS partition */
+
+extern void bsd_command_prompt(struct fdisk_context *cxt);
+extern int btrydev(struct fdisk_context *cxt);
+extern void xbsd_print_disklabel(struct fdisk_context *cxt, int);
+
+#endif /* FDISK_BSD_LABEL_H */
diff --git a/fdisks/fdiskdoslabel.c b/fdisks/fdiskdoslabel.c
new file mode 100644
index 0000000..cc17a03
--- /dev/null
+++ b/fdisks/fdiskdoslabel.c
@@ -0,0 +1,833 @@
+/*
+ * Many, many hands.
+ * Specific DOS label file - Davidlohr Bueso <dave@gnu.org>
+ */
+
+#include <unistd.h>
+#include <ctype.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "randutils.h"
+#include "common.h"
+#include "fdisk.h"
+#include "fdiskdoslabel.h"
+
+#define set_hsc(h,s,c,sector) { \
+ s = sector % cxt->geom.sectors + 1; \
+ sector /= cxt->geom.sectors; \
+ h = sector % cxt->geom.heads; \
+ sector /= cxt->geom.heads; \
+ c = sector & 0xff; \
+ s |= (sector >> 2) & 0xc0; \
+ }
+
+#define alignment_required (cxt->grain != cxt->sector_size)
+
+struct pte ptes[MAXIMUM_PARTS];
+sector_t extended_offset;
+int ext_index;
+
+static int get_nonexisting_partition(struct fdisk_context *cxt, int warn, int max)
+{
+ int pno = -1;
+ int i;
+ int dflt = 0;
+
+ for (i = 0; i < max; i++) {
+ struct pte *pe = &ptes[i];
+ struct partition *p = pe->part_table;
+
+ if (p && is_cleared_partition(p)) {
+ if (pno >= 0) {
+ dflt = pno + 1;
+ goto not_unique;
+ }
+ pno = i;
+ }
+ }
+ if (pno >= 0) {
+ printf(_("Selected partition %d\n"), pno+1);
+ return pno;
+ }
+ printf(_("All primary partitions have been defined already!\n"));
+ return -1;
+
+ not_unique:
+ return get_partition_dflt(cxt, warn, max, dflt);
+}
+
+
+/* Allocate a buffer and read a partition table sector */
+static void read_pte(struct fdisk_context *cxt, int pno, sector_t offset)
+{
+ struct pte *pe = &ptes[pno];
+
+ pe->offset = offset;
+ pe->sectorbuffer = xmalloc(cxt->sector_size);
+ read_sector(cxt, offset, pe->sectorbuffer);
+ pe->changed = 0;
+ pe->part_table = pe->ext_pointer = NULL;
+}
+
+static void mbr_set_id(unsigned char *b, unsigned int id)
+{
+ store4_little_endian(&b[440], id);
+}
+
+static void mbr_set_magic(unsigned char *b)
+{
+ b[510] = 0x55;
+ b[511] = 0xaa;
+}
+
+int mbr_is_valid_magic(unsigned char *b)
+{
+ return (b[510] == 0x55 && b[511] == 0xaa);
+}
+
+static unsigned int mbr_get_id(const unsigned char *b)
+{
+ return read4_little_endian(&b[440]);
+}
+
+static void clear_partition(struct partition *p)
+{
+ if (!p)
+ return;
+ p->boot_ind = 0;
+ p->head = 0;
+ p->sector = 0;
+ p->cyl = 0;
+ p->sys_ind = 0;
+ p->end_head = 0;
+ p->end_sector = 0;
+ p->end_cyl = 0;
+ set_start_sect(p,0);
+ set_nr_sects(p,0);
+}
+
+void dos_init(struct fdisk_context *cxt)
+{
+ int i;
+
+ disklabel = DOS_LABEL;
+ partitions = 4;
+ ext_index = 0;
+ extended_offset = 0;
+
+ for (i = 0; i < 4; i++) {
+ struct pte *pe = &ptes[i];
+
+ pe->part_table = pt_offset(cxt->firstsector, i);
+ pe->ext_pointer = NULL;
+ pe->offset = 0;
+ pe->sectorbuffer = cxt->firstsector;
+ pe->changed = 0;
+ }
+
+ warn_geometry(cxt);
+ warn_limits(cxt);
+ warn_alignment(cxt);
+}
+
+static void dos_delete_partition(
+ struct fdisk_context *cxt __attribute__ ((__unused__)),
+ int partnum)
+{
+ struct pte *pe = &ptes[partnum];
+ struct partition *p = pe->part_table;
+ struct partition *q = pe->ext_pointer;
+
+ /* Note that for the fifth partition (partnum == 4) we don't actually
+ decrement partitions. */
+
+ if (partnum < 4) {
+ if (IS_EXTENDED (p->sys_ind) && partnum == ext_index) {
+ partitions = 4;
+ ptes[ext_index].ext_pointer = NULL;
+ extended_offset = 0;
+ }
+ clear_partition(p);
+ } else if (!q->sys_ind && partnum > 4) {
+ /* the last one in the chain - just delete */
+ --partitions;
+ --partnum;
+ clear_partition(ptes[partnum].ext_pointer);
+ ptes[partnum].changed = 1;
+ } else {
+ /* not the last one - further ones will be moved down */
+ if (partnum > 4) {
+ /* delete this link in the chain */
+ p = ptes[partnum-1].ext_pointer;
+ *p = *q;
+ set_start_sect(p, get_start_sect(q));
+ set_nr_sects(p, get_nr_sects(q));
+ ptes[partnum-1].changed = 1;
+ } else if (partitions > 5) { /* 5 will be moved to 4 */
+ /* the first logical in a longer chain */
+ struct pte *pe = &ptes[5];
+
+ if (pe->part_table) /* prevent SEGFAULT */
+ set_start_sect(pe->part_table,
+ get_partition_start(pe) -
+ extended_offset);
+ pe->offset = extended_offset;
+ pe->changed = 1;
+ }
+
+ if (partitions > 5) {
+ partitions--;
+ while (partnum < partitions) {
+ ptes[partnum] = ptes[partnum+1];
+ partnum++;
+ }
+ } else
+ /* the only logical: clear only */
+ clear_partition(ptes[partnum].part_table);
+ }
+}
+
+static void read_extended(struct fdisk_context *cxt, int ext)
+{
+ int i;
+ struct pte *pex;
+ struct partition *p, *q;
+
+ ext_index = ext;
+ pex = &ptes[ext];
+ pex->ext_pointer = pex->part_table;
+
+ p = pex->part_table;
+ if (!get_start_sect(p)) {
+ fprintf(stderr,
+ _("Bad offset in primary extended partition\n"));
+ return;
+ }
+
+ while (IS_EXTENDED (p->sys_ind)) {
+ struct pte *pe = &ptes[partitions];
+
+ if (partitions >= MAXIMUM_PARTS) {
+ /* This is not a Linux restriction, but
+ this program uses arrays of size MAXIMUM_PARTS.
+ Do not try to `improve' this test. */
+ struct pte *pre = &ptes[partitions-1];
+
+ fprintf(stderr,
+ _("Warning: omitting partitions after #%d.\n"
+ "They will be deleted "
+ "if you save this partition table.\n"),
+ partitions);
+ clear_partition(pre->ext_pointer);
+ pre->changed = 1;
+ return;
+ }
+
+ read_pte(cxt, partitions, extended_offset + get_start_sect(p));
+
+ if (!extended_offset)
+ extended_offset = get_start_sect(p);
+
+ q = p = pt_offset(pe->sectorbuffer, 0);
+ for (i = 0; i < 4; i++, p++) if (get_nr_sects(p)) {
+ if (IS_EXTENDED (p->sys_ind)) {
+ if (pe->ext_pointer)
+ fprintf(stderr,
+ _("Warning: extra link "
+ "pointer in partition table"
+ " %d\n"), partitions + 1);
+ else
+ pe->ext_pointer = p;
+ } else if (p->sys_ind) {
+ if (pe->part_table)
+ fprintf(stderr,
+ _("Warning: ignoring extra "
+ "data in partition table"
+ " %d\n"), partitions + 1);
+ else
+ pe->part_table = p;
+ }
+ }
+
+ /* very strange code here... */
+ if (!pe->part_table) {
+ if (q != pe->ext_pointer)
+ pe->part_table = q;
+ else
+ pe->part_table = q + 1;
+ }
+ if (!pe->ext_pointer) {
+ if (q != pe->part_table)
+ pe->ext_pointer = q;
+ else
+ pe->ext_pointer = q + 1;
+ }
+
+ p = pe->ext_pointer;
+ partitions++;
+ }
+
+ /* remove empty links */
+ remove:
+ for (i = 4; i < partitions; i++) {
+ struct pte *pe = &ptes[i];
+
+ if (!get_nr_sects(pe->part_table) &&
+ (partitions > 5 || ptes[4].part_table->sys_ind)) {
+ printf(_("omitting empty partition (%d)\n"), i+1);
+ dos_delete_partition(cxt, i);
+ goto remove; /* numbering changed */
+ }
+ }
+}
+
+void dos_print_mbr_id(struct fdisk_context *cxt)
+{
+ printf(_("Disk identifier: 0x%08x\n"), mbr_get_id(cxt->firstsector));
+}
+
+static int dos_create_disklabel(struct fdisk_context *cxt)
+{
+ unsigned int id;
+
+ /* random disk signature */
+ random_get_bytes(&id, sizeof(id));
+
+ fprintf(stderr, _("Building a new DOS disklabel with disk identifier 0x%08x.\n"), id);
+
+ dos_init(cxt);
+ fdisk_zeroize_firstsector(cxt);
+ set_all_unchanged();
+ set_changed(0);
+
+ /* Generate an MBR ID for this disk */
+ mbr_set_id(cxt->firstsector, id);
+
+ /* Put MBR signature */
+ mbr_set_magic(cxt->firstsector);
+ return 0;
+}
+
+void dos_set_mbr_id(struct fdisk_context *cxt)
+{
+ unsigned long new_id;
+ char *ep;
+ char ps[64];
+
+ snprintf(ps, sizeof ps, _("New disk identifier (current 0x%08x): "),
+ mbr_get_id(cxt->firstsector));
+
+ if (read_chars(ps) == '\n')
+ return;
+
+ new_id = strtoul(line_ptr, &ep, 0);
+ if (*ep != '\n')
+ return;
+
+ mbr_set_id(cxt->firstsector, new_id);
+ MBRbuffer_changed = 1;
+ dos_print_mbr_id(cxt);
+}
+
+static void get_partition_table_geometry(struct fdisk_context *cxt,
+ unsigned int *ph, unsigned int *ps)
+{
+ unsigned char *bufp = cxt->firstsector;
+ struct partition *p;
+ int i, h, s, hh, ss;
+ int first = 1;
+ int bad = 0;
+
+ hh = ss = 0;
+ for (i=0; i<4; i++) {
+ p = pt_offset(bufp, i);
+ if (p->sys_ind != 0) {
+ h = p->end_head + 1;
+ s = (p->end_sector & 077);
+ if (first) {
+ hh = h;
+ ss = s;
+ first = 0;
+ } else if (hh != h || ss != s)
+ bad = 1;
+ }
+ }
+
+ if (!first && !bad) {
+ *ph = hh;
+ *ps = ss;
+ }
+}
+
+
+static int dos_probe_label(struct fdisk_context *cxt)
+{
+ int i;
+ unsigned int h = 0, s = 0;
+
+ if (!mbr_is_valid_magic(cxt->firstsector))
+ return 0;
+
+ dos_init(cxt);
+
+ get_partition_table_geometry(cxt, &h, &s);
+ if (h && s) {
+ cxt->geom.heads = h;
+ cxt->geom.sectors = s;
+ }
+
+ for (i = 0; i < 4; i++) {
+ struct pte *pe = &ptes[i];
+
+ if (IS_EXTENDED (pe->part_table->sys_ind)) {
+ if (partitions != 4)
+ fprintf(stderr, _("Ignoring extra extended "
+ "partition %d\n"), i + 1);
+ else
+ read_extended(cxt, i);
+ }
+ }
+
+ for (i = 3; i < partitions; i++) {
+ struct pte *pe = &ptes[i];
+
+ if (!mbr_is_valid_magic(pe->sectorbuffer)) {
+ fprintf(stderr,
+ _("Warning: invalid flag 0x%04x of partition "
+ "table %d will be corrected by w(rite)\n"),
+ part_table_flag(pe->sectorbuffer), i + 1);
+ pe->changed = 1;
+ }
+ }
+
+ return 1;
+}
+
+/*
+ * Avoid warning about DOS partitions when no DOS partition was changed.
+ * Here a heuristic "is probably dos partition".
+ * We might also do the opposite and warn in all cases except
+ * for "is probably nondos partition".
+ */
+int is_dos_partition(int t)
+{
+ return (t == 1 || t == 4 || t == 6 ||
+ t == 0x0b || t == 0x0c || t == 0x0e ||
+ t == 0x11 || t == 0x12 || t == 0x14 || t == 0x16 ||
+ t == 0x1b || t == 0x1c || t == 0x1e || t == 0x24 ||
+ t == 0xc1 || t == 0xc4 || t == 0xc6);
+}
+
+static void set_partition(struct fdisk_context *cxt,
+ int i, int doext, sector_t start,
+ sector_t stop, int sysid)
+{
+ struct partition *p;
+ sector_t offset;
+
+ if (doext) {
+ p = ptes[i].ext_pointer;
+ offset = extended_offset;
+ } else {
+ p = ptes[i].part_table;
+ offset = ptes[i].offset;
+ }
+ p->boot_ind = 0;
+ p->sys_ind = sysid;
+ set_start_sect(p, start - offset);
+ set_nr_sects(p, stop - start + 1);
+
+ if (!doext)
+ print_partition_size(cxt, i + 1, start, stop, sysid);
+
+ if (dos_compatible_flag && (start/(cxt->geom.sectors*cxt->geom.heads) > 1023))
+ start = cxt->geom.heads*cxt->geom.sectors*1024 - 1;
+ set_hsc(p->head, p->sector, p->cyl, start);
+ if (dos_compatible_flag && (stop/(cxt->geom.sectors*cxt->geom.heads) > 1023))
+ stop = cxt->geom.heads*cxt->geom.sectors*1024 - 1;
+ set_hsc(p->end_head, p->end_sector, p->end_cyl, stop);
+ ptes[i].changed = 1;
+}
+
+static sector_t get_unused_start(int part_n, sector_t start,
+ sector_t first[], sector_t last[])
+{
+ int i;
+
+ for (i = 0; i < partitions; i++) {
+ sector_t lastplusoff;
+
+ if (start == ptes[i].offset)
+ start += sector_offset;
+ lastplusoff = last[i] + ((part_n < 4) ? 0 : sector_offset);
+ if (start >= first[i] && start <= lastplusoff)
+ start = lastplusoff + 1;
+ }
+
+ return start;
+}
+
+static sector_t align_lba_in_range(struct fdisk_context *cxt,
+ sector_t lba, sector_t start, sector_t stop)
+{
+ start = align_lba(cxt, start, ALIGN_UP);
+ stop = align_lba(cxt, stop, ALIGN_DOWN);
+
+ lba = align_lba(cxt, lba, ALIGN_NEAREST);
+
+ if (lba < start)
+ return start;
+ else if (lba > stop)
+ return stop;
+ return lba;
+}
+
+static void add_partition(struct fdisk_context *cxt, int n, int sys)
+{
+ char mesg[256]; /* 48 does not suffice in Japanese */
+ int i, read = 0;
+ struct partition *p = ptes[n].part_table;
+ struct partition *q = ptes[ext_index].part_table;
+ sector_t start, stop = 0, limit, temp,
+ first[partitions], last[partitions];
+
+ if (p && p->sys_ind) {
+ printf(_("Partition %d is already defined. Delete "
+ "it before re-adding it.\n"), n + 1);
+ return;
+ }
+ fill_bounds(first, last);
+ if (n < 4) {
+ start = sector_offset;
+ if (display_in_cyl_units || !cxt->total_sectors)
+ limit = cxt->geom.heads * cxt->geom.sectors * cxt->geom.cylinders - 1;
+ else
+ limit = cxt->total_sectors - 1;
+
+ if (limit > UINT_MAX)
+ limit = UINT_MAX;
+
+ if (extended_offset) {
+ first[ext_index] = extended_offset;
+ last[ext_index] = get_start_sect(q) +
+ get_nr_sects(q) - 1;
+ }
+ } else {
+ start = extended_offset + sector_offset;
+ limit = get_start_sect(q) + get_nr_sects(q) - 1;
+ }
+ if (display_in_cyl_units)
+ for (i = 0; i < partitions; i++)
+ first[i] = (cround(first[i]) - 1) * units_per_sector;
+
+ snprintf(mesg, sizeof(mesg), _("First %s"), str_units(SINGULAR));
+ do {
+ sector_t dflt, aligned;
+
+ temp = start;
+ dflt = start = get_unused_start(n, start, first, last);
+
+ /* the default sector should be aligned and unused */
+ do {
+ aligned = align_lba_in_range(cxt, dflt, dflt, limit);
+ dflt = get_unused_start(n, aligned, first, last);
+ } while (dflt != aligned && dflt > aligned && dflt < limit);
+
+ if (dflt >= limit)
+ dflt = start;
+ if (start > limit)
+ break;
+ if (start >= temp+units_per_sector && read) {
+ printf(_("Sector %llu is already allocated\n"), temp);
+ temp = start;
+ read = 0;
+ }
+ if (!read && start == temp) {
+ sector_t i = start;
+
+ start = read_int(cxt, cround(i), cround(dflt), cround(limit),
+ 0, mesg);
+ if (display_in_cyl_units) {
+ start = (start - 1) * units_per_sector;
+ if (start < i) start = i;
+ }
+ read = 1;
+ }
+ } while (start != temp || !read);
+ if (n > 4) { /* NOT for fifth partition */
+ struct pte *pe = &ptes[n];
+
+ pe->offset = start - sector_offset;
+ if (pe->offset == extended_offset) { /* must be corrected */
+ pe->offset++;
+ if (sector_offset == 1)
+ start++;
+ }
+ }
+
+ for (i = 0; i < partitions; i++) {
+ struct pte *pe = &ptes[i];
+
+ if (start < pe->offset && limit >= pe->offset)
+ limit = pe->offset - 1;
+ if (start < first[i] && limit >= first[i])
+ limit = first[i] - 1;
+ }
+ if (start > limit) {
+ printf(_("No free sectors available\n"));
+ if (n > 4)
+ partitions--;
+ return;
+ }
+ if (cround(start) == cround(limit)) {
+ stop = limit;
+ } else {
+ int is_suffix_used = 0;
+
+ snprintf(mesg, sizeof(mesg),
+ _("Last %1$s, +%2$s or +size{K,M,G}"),
+ str_units(SINGULAR), str_units(PLURAL));
+
+ stop = read_int_with_suffix(cxt,
+ cround(start), cround(limit), cround(limit),
+ cround(start), mesg, &is_suffix_used);
+ if (display_in_cyl_units) {
+ stop = stop * units_per_sector - 1;
+ if (stop >limit)
+ stop = limit;
+ }
+
+ if (is_suffix_used && alignment_required) {
+ /* the last sector has not been exactly requested (but
+ * defined by +size{K,M,G} convention), so be smart
+ * and align the end of the partition. The next
+ * partition will start at phy.block boundary.
+ */
+ stop = align_lba_in_range(cxt, stop, start, limit) - 1;
+ if (stop > limit)
+ stop = limit;
+ }
+ }
+
+ set_partition(cxt, n, 0, start, stop, sys);
+ if (n > 4)
+ set_partition(cxt, n - 1, 1, ptes[n].offset, stop, EXTENDED);
+
+ if (IS_EXTENDED (sys)) {
+ struct pte *pe4 = &ptes[4];
+ struct pte *pen = &ptes[n];
+
+ ext_index = n;
+ pen->ext_pointer = p;
+ pe4->offset = extended_offset = start;
+ pe4->sectorbuffer = xcalloc(1, cxt->sector_size);
+ pe4->part_table = pt_offset(pe4->sectorbuffer, 0);
+ pe4->ext_pointer = pe4->part_table + 1;
+ pe4->changed = 1;
+ partitions = 5;
+ }
+}
+
+static void add_logical(struct fdisk_context *cxt)
+{
+ if (partitions > 5 || ptes[4].part_table->sys_ind) {
+ struct pte *pe = &ptes[partitions];
+
+ pe->sectorbuffer = xcalloc(1, cxt->sector_size);
+ pe->part_table = pt_offset(pe->sectorbuffer, 0);
+ pe->ext_pointer = pe->part_table + 1;
+ pe->offset = 0;
+ pe->changed = 1;
+ partitions++;
+ }
+ printf(_("Adding logical partition %d\n"), partitions);
+ add_partition(cxt, partitions - 1, LINUX_NATIVE);
+}
+
+static int dos_verify_disklabel(struct fdisk_context *cxt)
+{
+ int i, j;
+ sector_t total = 1, n_sectors = cxt->total_sectors;
+ unsigned long long first[partitions], last[partitions];
+ struct partition *p;
+
+ fill_bounds(first, last);
+ for (i = 0; i < partitions; i++) {
+ struct pte *pe = &ptes[i];
+
+ p = pe->part_table;
+ if (p->sys_ind && !IS_EXTENDED (p->sys_ind)) {
+ check_consistency(cxt, p, i);
+ check_alignment(cxt, get_partition_start(pe), i);
+ if (get_partition_start(pe) < first[i])
+ printf(_("Warning: bad start-of-data in "
+ "partition %d\n"), i + 1);
+ check(cxt, i + 1, p->end_head, p->end_sector, p->end_cyl,
+ last[i]);
+ total += last[i] + 1 - first[i];
+ for (j = 0; j < i; j++)
+ if ((first[i] >= first[j] && first[i] <= last[j])
+ || ((last[i] <= last[j] && last[i] >= first[j]))) {
+ printf(_("Warning: partition %d overlaps "
+ "partition %d.\n"), j + 1, i + 1);
+ total += first[i] >= first[j] ?
+ first[i] : first[j];
+ total -= last[i] <= last[j] ?
+ last[i] : last[j];
+ }
+ }
+ }
+
+ if (extended_offset) {
+ struct pte *pex = &ptes[ext_index];
+ sector_t e_last = get_start_sect(pex->part_table) +
+ get_nr_sects(pex->part_table) - 1;
+
+ for (i = 4; i < partitions; i++) {
+ total++;
+ p = ptes[i].part_table;
+ if (!p->sys_ind) {
+ if (i != 4 || i + 1 < partitions)
+ printf(_("Warning: partition %d "
+ "is empty\n"), i + 1);
+ }
+ else if (first[i] < extended_offset ||
+ last[i] > e_last)
+ printf(_("Logical partition %d not entirely in "
+ "partition %d\n"), i + 1, ext_index + 1);
+ }
+ }
+
+ if (total > n_sectors)
+ printf(_("Total allocated sectors %llu greater than the maximum"
+ " %llu\n"), total, n_sectors);
+ else if (total < n_sectors)
+ printf(_("Remaining %lld unallocated %ld-byte sectors\n"),
+ n_sectors - total, cxt->sector_size);
+
+ return 0;
+}
+
+/*
+ * Ask the user for new partition type information (logical, extended).
+ * This function calls the actual partition adding logic - add_partition.
+ *
+ * API callback.
+ */
+static void dos_add_partition(
+ struct fdisk_context *cxt,
+ int partnum __attribute__ ((__unused__)),
+ int parttype)
+{
+ int i, free_primary = 0;
+
+ /* default */
+ parttype = LINUX_NATIVE;
+
+ for (i = 0; i < 4; i++)
+ free_primary += !ptes[i].part_table->sys_ind;
+
+ if (!free_primary && partitions >= MAXIMUM_PARTS) {
+ printf(_("The maximum number of partitions has been created\n"));
+ return;
+ }
+
+ if (!free_primary) {
+ if (extended_offset) {
+ printf(_("All primary partitions are in use\n"));
+ add_logical(cxt);
+ } else
+ printf(_("If you want to create more than four partitions, you must replace a\n"
+ "primary partition with an extended partition first.\n"));
+ } else if (partitions >= MAXIMUM_PARTS) {
+ printf(_("All logical partitions are in use\n"));
+ printf(_("Adding a primary partition\n"));
+ add_partition(cxt, get_partition(cxt, 0, 4), parttype);
+ } else {
+ char c, dflt, line[LINE_LENGTH];
+
+ dflt = (free_primary == 1 && !extended_offset) ? 'e' : 'p';
+ snprintf(line, sizeof(line),
+ _("Partition type:\n"
+ " p primary (%d primary, %d extended, %d free)\n"
+ "%s\n"
+ "Select (default %c): "),
+ 4 - (extended_offset ? 1 : 0) - free_primary, extended_offset ? 1 : 0, free_primary,
+ extended_offset ? _(" l logical (numbered from 5)") : _(" e extended"),
+ dflt);
+
+ c = tolower(read_chars(line));
+ if (c == '\n') {
+ c = dflt;
+ printf(_("Using default response %c\n"), c);
+ }
+ if (c == 'p') {
+ int i = get_nonexisting_partition(cxt, 0, 4);
+ if (i >= 0)
+ add_partition(cxt, i, parttype);
+ return;
+ } else if (c == 'l' && extended_offset) {
+ add_logical(cxt);
+ return;
+ } else if (c == 'e' && !extended_offset) {
+ int i = get_nonexisting_partition(cxt, 0, 4);
+ if (i >= 0)
+ add_partition(cxt, i, EXTENDED);
+ return;
+ } else
+ printf(_("Invalid partition type `%c'\n"), c);
+ }
+}
+
+static int write_sector(struct fdisk_context *cxt, sector_t secno,
+ unsigned char *buf)
+{
+ seek_sector(cxt, secno);
+ if (write(cxt->dev_fd, buf, cxt->sector_size) != (ssize_t) cxt->sector_size)
+ return -errno;
+ return 0;
+}
+
+static int dos_write_disklabel(struct fdisk_context *cxt)
+{
+ int i, rc = 0;
+
+ /* MBR (primary partitions) */
+ if (!MBRbuffer_changed) {
+ for (i = 0; i < 4; i++)
+ if (ptes[i].changed)
+ MBRbuffer_changed = 1;
+ }
+ if (MBRbuffer_changed) {
+ mbr_set_magic(cxt->firstsector);
+ rc = write_sector(cxt, 0, cxt->firstsector);
+ if (rc)
+ goto done;
+ }
+ /* EBR (logical partitions) */
+ for (i = 4; i < partitions; i++) {
+ struct pte *pe = &ptes[i];
+
+ if (pe->changed) {
+ mbr_set_magic(pe->sectorbuffer);
+ rc = write_sector(cxt, pe->offset, pe->sectorbuffer);
+ if (rc)
+ goto done;
+ }
+ }
+
+done:
+ return rc;
+}
+
+const struct fdisk_label dos_label =
+{
+ .name = "dos",
+ .probe = dos_probe_label,
+ .write = dos_write_disklabel,
+ .verify = dos_verify_disklabel,
+ .create = dos_create_disklabel,
+ .part_add = dos_add_partition,
+ .part_delete = dos_delete_partition,
+};
diff --git a/fdisks/fdiskdoslabel.h b/fdisks/fdiskdoslabel.h
new file mode 100644
index 0000000..0754b17
--- /dev/null
+++ b/fdisks/fdiskdoslabel.h
@@ -0,0 +1,47 @@
+#ifndef FDISK_DOS_LABEL_H
+#define FDISK_DOS_LABEL_H
+
+/*
+ * per partition table entry data
+ *
+ * The four primary partitions have the same sectorbuffer (MBRbuffer)
+ * and have NULL ext_pointer.
+ * Each logical partition table entry has two pointers, one for the
+ * partition and one link to the next one.
+ */
+struct pte {
+ struct partition *part_table; /* points into sectorbuffer */
+ struct partition *ext_pointer; /* points into sectorbuffer */
+ char changed; /* boolean */
+ sector_t offset; /* disk sector number */
+ unsigned char *sectorbuffer; /* disk sector contents */
+};
+
+extern struct pte ptes[MAXIMUM_PARTS];
+extern int dos_compatible_flag;
+
+#define pt_offset(b, n) ((struct partition *)((b) + 0x1be + \
+ (n) * sizeof(struct partition)))
+
+extern int ext_index; /* the prime extended partition */
+extern sector_t extended_offset, sector_offset;
+
+/* A valid partition table sector ends in 0x55 0xaa */
+static inline unsigned int part_table_flag(unsigned char *b)
+{
+ return ((unsigned int) b[510]) + (((unsigned int) b[511]) << 8);
+}
+
+static inline sector_t get_partition_start(struct pte *pe)
+{
+ return pe->offset + get_start_sect(pe->part_table);
+}
+
+extern void dos_print_mbr_id(struct fdisk_context *cxt);
+extern void dos_set_mbr_id(struct fdisk_context *cxt);
+extern int is_dos_partition(int t);
+extern void dos_init(struct fdisk_context *cxt);
+
+extern int mbr_is_valid_magic(unsigned char *b);
+
+#endif
diff --git a/fdisks/fdiskmaclabel.c b/fdisks/fdiskmaclabel.c
new file mode 100644
index 0000000..34db9d6
--- /dev/null
+++ b/fdisks/fdiskmaclabel.c
@@ -0,0 +1,108 @@
+/*
+ Changes:
+ Sat Mar 20 09:51:38 EST 1999 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ Internationalization
+*/
+#include <stdio.h> /* stderr */
+#include <string.h> /* strstr */
+#include <unistd.h> /* write */
+
+#include <endian.h>
+
+#include "common.h"
+#include "fdisk.h"
+#include "fdiskmaclabel.h"
+#include "nls.h"
+
+#define MAC_BITMASK 0xffff0000
+
+
+static int other_endian = 0;
+static short volumes=1;
+
+/*
+ * only dealing with free blocks here
+ */
+
+static void
+mac_info( void ) {
+ puts(
+ _("\n\tThere is a valid Mac label on this disk.\n"
+ "\tUnfortunately fdisk(1) cannot handle these disks.\n"
+ "\tUse either pdisk or parted to modify the partition table.\n"
+ "\tNevertheless some advice:\n"
+ "\t1. fdisk will destroy its contents on write.\n"
+ "\t2. Be sure that this disk is NOT a still vital\n"
+ "\t part of a volume group. (Otherwise you may\n"
+ "\t erase the other disks as well, if unmirrored.)\n")
+ );
+}
+
+void
+mac_nolabel(struct fdisk_context *cxt)
+{
+ struct mac_partition *maclabel = (struct mac_partition *) cxt->firstsector;
+
+ maclabel->magic = 0;
+ partitions = 4;
+ fdisk_zeroize_firstsector(cxt);
+ return;
+}
+
+static int
+mac_probe_label(struct fdisk_context *cxt)
+{
+ struct mac_partition *maclabel = (struct mac_partition *) cxt->firstsector;
+
+ /*
+ Conversion: only 16 bit should compared
+ e.g.: HFS Label is only 16bit long
+ */
+ int magic_masked = 0 ;
+ magic_masked = maclabel->magic & MAC_BITMASK ;
+
+ switch (magic_masked) {
+ case MAC_LABEL_MAGIC :
+ case MAC_LABEL_MAGIC_2:
+ case MAC_LABEL_MAGIC_3:
+ goto IS_MAC;
+ break;
+ default:
+ other_endian = 0;
+ return 0;
+
+
+ }
+
+IS_MAC:
+ other_endian = (maclabel->magic == MAC_LABEL_MAGIC_SWAPPED); // =?
+ disklabel = MAC_LABEL;
+ partitions= 1016; // =?
+ volumes = 15; // =?
+ mac_info();
+ mac_nolabel(cxt); /* %% */
+ return 1;
+}
+
+static void mac_add_partition(
+ struct fdisk_context *cxt __attribute__ ((__unused__)),
+ int partnum __attribute__ ((__unused__)),
+ int parttype __attribute__ ((__unused__)))
+{
+ printf(_("\tSorry - this fdisk cannot handle Mac disk labels."
+ "\n\tIf you want to add DOS-type partitions, create"
+ "\n\ta new empty DOS partition table first. (Use o.)"
+ "\n\tWARNING: "
+ "This will destroy the present disk contents.\n"));
+}
+
+const struct fdisk_label mac_label =
+{
+ .name = "mac",
+ .probe = mac_probe_label,
+ .write = NULL,
+ .verify = NULL,
+ .create = NULL,
+ .part_add = mac_add_partition,
+ .part_delete = NULL,
+};
diff --git a/fdisks/fdiskmaclabel.h b/fdisks/fdiskmaclabel.h
new file mode 100644
index 0000000..4aaaadd
--- /dev/null
+++ b/fdisks/fdiskmaclabel.h
@@ -0,0 +1,34 @@
+#ifndef FDISK_MAC_LABEL_H
+#define FDISK_MAC_LABEL_H
+
+#include <sys/types.h>
+/*
+ * Copyright (C) Andreas Neuper, Sep 1998.
+ * This file may be redistributed under
+ * the terms of the GNU Public License.
+ */
+
+struct mac_partition {
+ unsigned int magic; /* expect MAC_LABEL_MAGIC */
+ unsigned int fillbytes1[124];
+ unsigned int physical_volume_id;
+ unsigned int fillbytes2[124];
+};
+
+/* MAC magic number only 16bits, do I always know that there are 0200
+ * following? Problem, after magic the uint16_t res1; follows, I donnno know
+ * about the 200k */
+#define MAC_LABEL_MAGIC 0x45520000
+#define MAC_LABEL_MAGIC_2 0x50530000
+#define MAC_LABEL_MAGIC_3 0x504d0000
+
+#define MAC_LABEL_MAGIC_SWAPPED 0x00002554
+
+#define MAC_LABEL_MAGIC_2_SWAPPED 0x00003505
+#define MAC_LABEL_MAGIC_3_SWAPPED 0x0000d405
+
+/* fdiskmaclabel.c */
+extern struct systypes mac_sys_types[];
+extern void mac_nolabel(struct fdisk_context *cxt);
+
+#endif /* FDISK_MAC_LABEL_H */
diff --git a/fdisks/fdisksgilabel.c b/fdisks/fdisksgilabel.c
new file mode 100644
index 0000000..7253d21
--- /dev/null
+++ b/fdisks/fdisksgilabel.c
@@ -0,0 +1,907 @@
+/*
+ *
+ * fdisksgilabel.c
+ *
+ * Copyright (C) Andreas Neuper, Sep 1998.
+ * This file may be modified and redistributed under
+ * the terms of the GNU Public License.
+ *
+ * 1999-03-20 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ * Internationalization
+ *
+ * 2003-03-20 Phillip Kesling <pkesling@sgi.com>
+ * Some fixes
+ *
+ * 2012-06-16 Davidlohr Bueso <dave@gnu.org>
+ * Adapt to fdisk context and add heap sort for partitions
+ */
+
+#include <stdio.h> /* stderr */
+#include <stdlib.h> /* exit */
+#include <string.h> /* strstr */
+#include <unistd.h> /* write */
+#include <sys/ioctl.h> /* ioctl */
+#include <sys/stat.h> /* stat */
+#include <assert.h> /* assert */
+
+#include <endian.h>
+#include "nls.h"
+#include "xalloc.h"
+
+#include "blkdev.h"
+
+#include "common.h"
+#include "fdisk.h"
+#include "fdisksgilabel.h"
+#include "fdiskdoslabel.h"
+
+static int other_endian = 0;
+static int debug = 0;
+static short volumes=1;
+
+static sgiinfo *fill_sgiinfo(void);
+
+/*
+ * only dealing with free blocks here
+ */
+
+typedef struct { unsigned int first; unsigned int last; } freeblocks;
+static freeblocks freelist[17]; /* 16 partitions can produce 17 vacant slots */
+
+static void
+setfreelist(int i, unsigned int f, unsigned int l) {
+ if (i < 17) {
+ freelist[i].first = f;
+ freelist[i].last = l;
+ }
+}
+
+static void
+add2freelist(unsigned int f, unsigned int l) {
+ int i = 0;
+ for ( ; i < 17 ; i++)
+ if (freelist[i].last == 0)
+ break;
+ setfreelist(i, f, l);
+}
+
+static void
+clearfreelist(void) {
+ int i;
+
+ for (i = 0; i < 17 ; i++)
+ setfreelist(i, 0, 0);
+}
+
+static unsigned int
+isinfreelist(unsigned int b) {
+ int i;
+
+ for (i = 0; i < 17 ; i++)
+ if (freelist[i].first <= b && freelist[i].last >= b)
+ return freelist[i].last;
+ return 0;
+}
+ /* return last vacant block of this stride (never 0). */
+ /* the '>=' is not quite correct, but simplifies the code */
+/*
+ * end of free blocks section
+ */
+struct systypes sgi_sys_types[] = {
+ {SGI_VOLHDR, N_("SGI volhdr")},
+ {0x01, N_("SGI trkrepl")},
+ {0x02, N_("SGI secrepl")},
+ {SGI_SWAP, N_("SGI raw")},
+ {0x04, N_("SGI bsd")},
+ {0x05, N_("SGI sysv")},
+ {ENTIRE_DISK, N_("SGI volume")},
+ {SGI_EFS, N_("SGI efs")},
+ {0x08, N_("SGI lvol")},
+ {0x09, N_("SGI rlvol")},
+ {SGI_XFS, N_("SGI xfs")},
+ {SGI_XFSLOG, N_("SGI xfslog")},
+ {SGI_XLV, N_("SGI xlv")},
+ {SGI_XVM, N_("SGI xvm")},
+ {LINUX_SWAP, N_("Linux swap")},
+ {LINUX_NATIVE, N_("Linux native")},
+ {LINUX_LVM, N_("Linux LVM")},
+ {LINUX_RAID, N_("Linux RAID")},
+ {0, NULL }
+};
+
+static int
+sgi_get_nsect(struct fdisk_context *cxt) {
+ return SSWAP16(sgilabel->devparam.nsect);
+}
+
+static int
+sgi_get_ntrks(struct fdisk_context *cxt) {
+ return SSWAP16(sgilabel->devparam.ntrks);
+}
+
+static unsigned int
+two_s_complement_32bit_sum(unsigned int *base, int size /* in bytes */) {
+ int i = 0;
+ unsigned int sum = 0;
+
+ size /= sizeof(unsigned int);
+ for (i = 0; i < size; i++)
+ sum -= SSWAP32(base[i]);
+ return sum;
+}
+
+static int
+sgi_probe_label(struct fdisk_context *cxt) {
+ if (sizeof(sgilabel) > 512) {
+ fprintf(stderr,
+ _("According to MIPS Computer Systems, Inc the "
+ "Label must not contain more than 512 bytes\n"));
+ exit(1);
+ }
+
+ if (sgilabel->magic != SGI_LABEL_MAGIC &&
+ sgilabel->magic != SGI_LABEL_MAGIC_SWAPPED) {
+ other_endian = 0;
+ return 0;
+ }
+
+ other_endian = (sgilabel->magic == SGI_LABEL_MAGIC_SWAPPED);
+ /*
+ * test for correct checksum
+ */
+ if (two_s_complement_32bit_sum((unsigned int*)sgilabel,
+ sizeof(*sgilabel))) {
+ fprintf(stderr,
+ _("Detected sgi disklabel with wrong checksum.\n"));
+ }
+ disklabel = SGI_LABEL;
+ partitions= 16;
+ volumes = 15;
+ return 1;
+}
+
+void
+sgi_list_table(struct fdisk_context *cxt, int xtra) {
+ int i, w;
+ int kpi = 0; /* kernel partition ID */
+ char *type;
+
+ w = strlen(cxt->dev_path);
+
+ if (xtra) {
+ printf(_("\nDisk %s (SGI disk label): %d heads, %llu sectors\n"
+ "%llu cylinders, %d physical cylinders\n"
+ "%d extra sects/cyl, interleave %d:1\n"
+ "%s\n"
+ "Units = %s of %d * %ld bytes\n\n"),
+ cxt->dev_path, cxt->geom.heads, cxt->geom.sectors, cxt->geom.cylinders,
+ SSWAP16(sgiparam.pcylcount),
+ (int) sgiparam.sparecyl, SSWAP16(sgiparam.ilfact),
+ (char *)sgilabel,
+ str_units(PLURAL), units_per_sector,
+ cxt->sector_size);
+ } else {
+ printf(_("\nDisk %s (SGI disk label): "
+ "%d heads, %llu sectors, %llu cylinders\n"
+ "Units = %s of %d * %ld bytes\n\n"),
+ cxt->dev_path, cxt->geom.heads, cxt->geom.sectors, cxt->geom.cylinders,
+ str_units(PLURAL), units_per_sector,
+ cxt->sector_size);
+ }
+ printf(_("----- partitions -----\n"
+ "Pt# %*s Info Start End Sectors Id System\n"),
+ w + 1, _("Device"));
+ for (i = 0 ; i < partitions; i++) {
+ if (sgi_get_num_sectors(cxt, i) || debug) {
+ uint32_t start = sgi_get_start_sector(cxt, i);
+ uint32_t len = sgi_get_num_sectors(cxt, i);
+ kpi++; /* only count nonempty partitions */
+ printf(
+ "%2d: %s %4s %9ld %9ld %9ld %2x %s\n",
+/* fdisk part number */ i+1,
+/* device */ partname(cxt->dev_path, kpi, w+2),
+/* flags */ (sgi_get_swappartition(cxt) == i) ? "swap" :
+/* flags */ (sgi_get_bootpartition(cxt) == i) ? "boot" : " ",
+/* start */ (long) scround(start),
+/* end */ (long) scround(start+len)-1,
+/* no odd flag on end */ (long) len,
+/* type id */ sgi_get_sysid(cxt, i),
+/* type name */ (type = partition_type(sgi_get_sysid(cxt, i)))
+ ? type : _("Unknown"));
+ }
+ }
+ printf(_("----- Bootinfo -----\nBootfile: %s\n"
+ "----- Directory Entries -----\n"),
+ sgilabel->boot_file);
+ for (i = 0 ; i < volumes; i++) {
+ if (sgilabel->directory[i].vol_file_size) {
+ uint32_t start = SSWAP32(sgilabel->directory[i].vol_file_start);
+ uint32_t len = SSWAP32(sgilabel->directory[i].vol_file_size);
+ unsigned char *name = sgilabel->directory[i].vol_file_name;
+ printf(_("%2d: %-10s sector%5u size%8u\n"),
+ i, name, (unsigned int) start,
+ (unsigned int) len);
+ }
+ }
+}
+
+unsigned int
+sgi_get_start_sector(struct fdisk_context *cxt, int i) {
+ return SSWAP32(sgilabel->partitions[i].start_sector);
+}
+
+unsigned int
+sgi_get_num_sectors(struct fdisk_context *cxt, int i) {
+ return SSWAP32(sgilabel->partitions[i].num_sectors);
+}
+
+int
+sgi_get_sysid(struct fdisk_context *cxt, int i)
+{
+ return SSWAP32(sgilabel->partitions[i].id);
+}
+
+int
+sgi_get_bootpartition(struct fdisk_context *cxt)
+{
+ return (short) SSWAP16(sgilabel->boot_part);
+}
+
+int
+sgi_get_swappartition(struct fdisk_context *cxt)
+{
+ return (short) SSWAP16(sgilabel->swap_part);
+}
+
+void
+sgi_set_bootpartition(struct fdisk_context *cxt, int i)
+{
+ sgilabel->boot_part = SSWAP16(((short)i));
+}
+
+static unsigned int
+sgi_get_lastblock(struct fdisk_context *cxt) {
+ return cxt->geom.heads * cxt->geom.sectors * cxt->geom.cylinders;
+}
+
+void
+sgi_set_swappartition(struct fdisk_context *cxt, int i) {
+ sgilabel->swap_part = SSWAP16(((short)i));
+}
+
+static int
+sgi_check_bootfile(struct fdisk_context *cxt, const char* aFile) {
+ if (strlen(aFile) < 3) /* "/a\n" is minimum */ {
+ printf(_("\nInvalid Bootfile!\n"
+ "\tThe bootfile must be an absolute non-zero pathname,\n"
+ "\te.g. \"/unix\" or \"/unix.save\".\n"));
+ return 0;
+ } else {
+ if (strlen(aFile) > 16) {
+ printf(_("\n\tName of Bootfile too long: "
+ "16 bytes maximum.\n"));
+ return 0;
+ } else {
+ if (aFile[0] != '/') {
+ printf(_("\n\tBootfile must have a "
+ "fully qualified pathname.\n"));
+ return 0;
+ }
+ }
+ }
+ if (strncmp(aFile, (char *) sgilabel->boot_file, 16)) {
+ printf(_("\n\tBe aware, that the bootfile is not checked for existence.\n\t"
+ "SGI's default is \"/unix\" and for backup \"/unix.save\".\n"));
+ /* filename is correct and did change */
+ return 1;
+ }
+ return 0; /* filename did not change */
+}
+
+void
+sgi_set_bootfile(struct fdisk_context *cxt)
+{
+ printf(_("\nThe current boot file is: %s\n"), sgilabel->boot_file);
+ if (read_chars(_("Please enter the name of the new boot file: ")) == '\n') {
+ printf(_("Boot file unchanged\n"));
+ return;
+ }
+
+ if (sgi_check_bootfile(cxt, line_ptr)) {
+ size_t i = 0;
+ while (i < 16) {
+ if ((line_ptr[i] != '\n') /* in principle caught again by next line */
+ && (strlen(line_ptr) > i))
+ sgilabel->boot_file[i] = line_ptr[i];
+ else
+ sgilabel->boot_file[i] = 0;
+ i++;
+ }
+ printf(_("\n\tBootfile is changed to \"%s\".\n"),
+ sgilabel->boot_file);
+ }
+}
+
+void
+create_sgiinfo(struct fdisk_context *cxt) {
+ /* I keep SGI's habit to write the sgilabel to the second block */
+ sgilabel->directory[0].vol_file_start = SSWAP32(2);
+ sgilabel->directory[0].vol_file_size = SSWAP32(sizeof(sgiinfo));
+ strncpy((char *) sgilabel->directory[0].vol_file_name, "sgilabel", 8);
+}
+
+
+static int sgi_write_disklabel(struct fdisk_context *cxt)
+{
+ sgiinfo *info = NULL;
+
+ sgilabel->csum = 0;
+ sgilabel->csum = SSWAP32(two_s_complement_32bit_sum(
+ (unsigned int*)sgilabel,
+ sizeof(*sgilabel)));
+ assert(two_s_complement_32bit_sum(
+ (unsigned int*)sgilabel, sizeof(*sgilabel)) == 0);
+ if (lseek(cxt->dev_fd, 0, SEEK_SET) < 0)
+ goto err;
+ if (write(cxt->dev_fd, sgilabel, SECTOR_SIZE) != SECTOR_SIZE)
+ goto err;
+ if (!strncmp((char *) sgilabel->directory[0].vol_file_name, "sgilabel", 8)) {
+ /*
+ * keep this habit of first writing the "sgilabel".
+ * I never tested whether it works without (AN 981002).
+ */
+ int infostartblock
+ = SSWAP32(sgilabel->directory[0].vol_file_start);
+
+ if (lseek(cxt->dev_fd, (off_t) infostartblock *
+ SECTOR_SIZE, SEEK_SET) < 0)
+ goto err;
+
+ info = fill_sgiinfo();
+ if (!info)
+ goto err;
+
+ if (write(cxt->dev_fd, info, SECTOR_SIZE) != SECTOR_SIZE)
+ goto err;
+ }
+
+ free(info);
+ return 0;
+err:
+ free(info);
+ return -errno;
+}
+
+static int
+compare_start(struct fdisk_context *cxt, const void *x, const void *y) {
+ /*
+ * sort according to start sectors
+ * and prefers largest partition:
+ * entry zero is entire disk entry
+ */
+ unsigned int i = *(int *) x;
+ unsigned int j = *(int *) y;
+ unsigned int a = sgi_get_start_sector(cxt, i);
+ unsigned int b = sgi_get_start_sector(cxt, j);
+ unsigned int c = sgi_get_num_sectors(cxt, i);
+ unsigned int d = sgi_get_num_sectors(cxt, j);
+
+ if (a == b)
+ return (d > c) ? 1 : (d == c) ? 0 : -1;
+ return (a > b) ? 1 : -1;
+}
+
+static void generic_swap(void *a, void *b, int size)
+{
+ char t;
+
+ do {
+ t = *(char *)a;
+ *(char *)a++ = *(char *)b;
+ *(char *)b++ = t;
+ } while (--size > 0);
+}
+
+
+/* heap sort, based on Matt Mackall's linux kernel version */
+static void sort(void *base, size_t num, size_t size, struct fdisk_context *cxt,
+ int (*cmp_func)(struct fdisk_context *, const void *, const void *))
+{
+ /* pre-scale counters for performance */
+ int i = (num/2 - 1) * size;
+ size_t n = num * size, c, r;
+
+ /* heapify */
+ for ( ; i >= 0; i -= size) {
+ for (r = i; r * 2 + size < n; r = c) {
+ c = r * 2 + size;
+ if (c < n - size &&
+ cmp_func(cxt, base + c, base + c + size) < 0)
+ c += size;
+ if (cmp_func(cxt, base + r, base + c) >= 0)
+ break;
+ generic_swap(base + r, base + c, size);
+ }
+ }
+
+ /* sort */
+ for (i = n - size; i > 0; i -= size) {
+ generic_swap(base, base + i, size);
+ for (r = 0; r * 2 + size < (size_t) i; r = c) {
+ c = r * 2 + size;
+ if (c < i - size &&
+ cmp_func(cxt, base + c, base + c + size) < 0)
+ c += size;
+ if (cmp_func(cxt, base + r, base + c) >= 0)
+ break;
+ generic_swap(base + r, base + c, size);
+ }
+ }
+}
+
+static int sgi_verify_disklabel(struct fdisk_context *cxt)
+{
+ int Index[16]; /* list of valid partitions */
+ int sortcount = 0; /* number of used partitions, i.e. non-zero lengths */
+ int entire = 0, i = 0, verbose = 1;
+ unsigned int start = 0;
+ long long gap = 0; /* count unused blocks */
+ unsigned int lastblock = sgi_get_lastblock(cxt);
+
+ clearfreelist();
+ for (i=0; i<16; i++) {
+ if (sgi_get_num_sectors(cxt, i) != 0) {
+ Index[sortcount++]=i;
+ if (sgi_get_sysid(cxt, i) == ENTIRE_DISK) {
+ if (entire++ == 1) {
+ if (verbose)
+ printf(_("More than one entire disk entry present.\n"));
+ }
+ }
+ }
+ }
+ if (sortcount == 0) {
+ if (verbose)
+ printf(_("No partitions defined\n"));
+ return (lastblock > 0) ? 1 : (lastblock == 0) ? 0 : -1;
+ }
+
+ sort(Index, sortcount, sizeof(Index[0]), cxt, compare_start);
+
+ if (sgi_get_sysid(cxt, Index[0]) == ENTIRE_DISK) {
+ if ((Index[0] != 10) && verbose)
+ printf(_("IRIX likes when Partition 11 covers the entire disk.\n"));
+ if ((sgi_get_start_sector(cxt, Index[0]) != 0) && verbose)
+ printf(_("The entire disk partition should start "
+ "at block 0,\n"
+ "not at diskblock %d.\n"),
+ sgi_get_start_sector(cxt, Index[0]));
+ if (debug) /* I do not understand how some disks fulfil it */
+ if ((sgi_get_num_sectors(cxt, Index[0]) != lastblock) && verbose)
+ printf(_("The entire disk partition is only %d diskblock large,\n"
+ "but the disk is %d diskblocks long.\n"),
+ sgi_get_num_sectors(cxt, Index[0]), lastblock);
+ lastblock = sgi_get_num_sectors(cxt, Index[0]);
+ } else {
+ if (verbose)
+ printf(_("Partition 11 should cover the entire disk.\n"));
+ if (debug>2)
+ printf("sysid=%d\tpartition=%d\n",
+ sgi_get_sysid(cxt, Index[0]), Index[0]+1);
+ }
+ for (i=1, start=0; i<sortcount; i++) {
+ int cylsize = sgi_get_nsect(cxt) * sgi_get_ntrks(cxt);
+ if ((sgi_get_start_sector(cxt, Index[i]) % cylsize) != 0) {
+ if (debug) /* I do not understand how some disks fulfil it */
+ if (verbose)
+ printf(_("Partition %d does not start on cylinder boundary.\n"),
+ Index[i]+1);
+ }
+ if (sgi_get_num_sectors(cxt, Index[i]) % cylsize != 0) {
+ if (debug) /* I do not understand how some disks fulfil it */
+ if (verbose)
+ printf(_("Partition %d does not end on cylinder boundary.\n"),
+ Index[i]+1);
+ }
+ /* We cannot handle several "entire disk" entries. */
+ if (sgi_get_sysid(cxt, Index[i]) == ENTIRE_DISK) continue;
+ if (start > sgi_get_start_sector(cxt, Index[i])) {
+ if (verbose)
+ printf(_("The Partition %d and %d overlap by %d sectors.\n"),
+ Index[i-1]+1, Index[i]+1,
+ start - sgi_get_start_sector(cxt, Index[i]));
+ if (gap > 0) gap = -gap;
+ if (gap == 0) gap = -1;
+ }
+ if (start < sgi_get_start_sector(cxt, Index[i])) {
+ if (verbose)
+ printf(_("Unused gap of %8u sectors - sectors %8u-%u\n"),
+ sgi_get_start_sector(cxt, Index[i]) - start,
+ start, sgi_get_start_sector(cxt, Index[i])-1);
+ gap += sgi_get_start_sector(cxt, Index[i]) - start;
+ add2freelist(start, sgi_get_start_sector(cxt, Index[i]));
+ }
+ start = sgi_get_start_sector(cxt, Index[i])
+ + sgi_get_num_sectors(cxt, Index[i]);
+ /* Align free space on cylinder boundary */
+ if (start % cylsize)
+ start += cylsize - (start % cylsize);
+ if (debug > 1) {
+ if (verbose)
+ printf("%2d:%12d\t%12d\t%12d\n", Index[i],
+ sgi_get_start_sector(cxt, Index[i]),
+ sgi_get_num_sectors(cxt, Index[i]),
+ sgi_get_sysid(cxt, Index[i]));
+ }
+ }
+ if (start < lastblock) {
+ if (verbose)
+ printf(_("Unused gap of %8u sectors - sectors %8u-%u\n"),
+ lastblock - start, start, lastblock-1);
+ gap += lastblock - start;
+ add2freelist(start, lastblock);
+ }
+ /*
+ * Done with arithmetics
+ * Go for details now
+ */
+ if (verbose) {
+ if (sgi_get_bootpartition(cxt) < 0 || !sgi_get_num_sectors(cxt, sgi_get_bootpartition(cxt))) {
+ printf(_("\nThe boot partition does not exist.\n"));
+ }
+ if (sgi_get_swappartition(cxt) < 0 || !sgi_get_num_sectors(cxt, sgi_get_swappartition(cxt))) {
+ printf(_("\nThe swap partition does not exist.\n"));
+ } else {
+ if ((sgi_get_sysid(cxt, sgi_get_swappartition(cxt)) != SGI_SWAP)
+ && (sgi_get_sysid(cxt, sgi_get_swappartition(cxt)) != LINUX_SWAP))
+ printf(_("\nThe swap partition has no swap type.\n"));
+ }
+ if (sgi_check_bootfile(cxt, "/unix"))
+ printf(_("\tYou have chosen an unusual boot file name.\n"));
+ }
+ return (gap > 0) ? 1 : (gap == 0) ? 0 : -1;
+}
+
+static int
+sgi_gaps(struct fdisk_context *cxt) {
+ /*
+ * returned value is:
+ * = 0 : disk is properly filled to the rim
+ * < 0 : there is an overlap
+ * > 0 : there is still some vacant space
+ */
+ return sgi_verify_disklabel(cxt);
+}
+
+int
+sgi_change_sysid(struct fdisk_context *cxt, int i, int sys)
+{
+ if (sgi_get_num_sectors(cxt, i) == 0) /* caught already before, ... */ {
+ printf(_("Sorry, only for non-empty partitions you can change the tag.\n"));
+ return 0;
+ }
+ if (((sys != ENTIRE_DISK) && (sys != SGI_VOLHDR))
+ && (sgi_get_start_sector(cxt, i)<1)) {
+ read_chars(
+ _("It is highly recommended that the partition at offset 0\n"
+ "is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+ "retrieve from its directory standalone tools like sash and fx.\n"
+ "Only the \"SGI volume\" entire disk section may violate this.\n"
+ "Type YES if you are sure about tagging this partition differently.\n"));
+ if (strcmp (line_ptr, _("YES\n")))
+ return 0;
+ }
+ sgilabel->partitions[i].id = SSWAP32(sys);
+ return 1;
+}
+
+/* returns partition index of first entry marked as entire disk */
+static int
+sgi_entire(struct fdisk_context *cxt) {
+ int i;
+
+ for (i=0; i<16; i++)
+ if (sgi_get_sysid(cxt, i) == SGI_VOLUME)
+ return i;
+ return -1;
+}
+
+static void
+sgi_set_partition(struct fdisk_context *cxt,
+ int i, unsigned int start, unsigned int length, int sys) {
+ sgilabel->partitions[i].id = SSWAP32(sys);
+ sgilabel->partitions[i].num_sectors = SSWAP32(length);
+ sgilabel->partitions[i].start_sector = SSWAP32(start);
+ set_changed(i);
+ if (sgi_gaps(cxt) < 0) /* rebuild freelist */
+ printf(_("Partition overlap on the disk.\n"));
+ if (length)
+ print_partition_size(cxt, i + 1, start, start + length, sys);
+}
+
+static void
+sgi_set_entire(struct fdisk_context *cxt) {
+ int n;
+
+ for (n=10; n<partitions; n++) {
+ if (!sgi_get_num_sectors(cxt, n)) {
+ sgi_set_partition(cxt, n, 0, sgi_get_lastblock(cxt), SGI_VOLUME);
+ break;
+ }
+ }
+}
+
+static
+void
+sgi_set_volhdr(struct fdisk_context *cxt)
+{
+ int n;
+
+ for (n=8; n<partitions; n++) {
+ if (!sgi_get_num_sectors(cxt, n)) {
+ /*
+ * Choose same default volume header size
+ * as IRIX fx uses.
+ */
+ if (4096 < sgi_get_lastblock(cxt))
+ sgi_set_partition(cxt, n, 0, 4096, SGI_VOLHDR);
+ break;
+ }
+ }
+}
+
+static void sgi_delete_partition(struct fdisk_context *cxt, int partnum)
+{
+ sgi_set_partition(cxt, partnum, 0, 0, 0);
+}
+
+static void sgi_add_partition(struct fdisk_context *cxt, int n, int sys)
+{
+ char mesg[256];
+ unsigned int first=0, last=0;
+
+ if (n == 10) {
+ sys = SGI_VOLUME;
+ } else if (n == 8) {
+ sys = 0;
+ }
+ if (sgi_get_num_sectors(cxt, n)) {
+ printf(_("Partition %d is already defined. Delete "
+ "it before re-adding it.\n"), n + 1);
+ return;
+ }
+ if ((sgi_entire(cxt) == -1)
+ && (sys != SGI_VOLUME)) {
+ printf(_("Attempting to generate entire disk entry automatically.\n"));
+ sgi_set_entire(cxt);
+ sgi_set_volhdr(cxt);
+ }
+ if ((sgi_gaps(cxt) == 0) && (sys != SGI_VOLUME)) {
+ printf(_("The entire disk is already covered with partitions.\n"));
+ return;
+ }
+ if (sgi_gaps(cxt) < 0) {
+ printf(_("You got a partition overlap on the disk. Fix it first!\n"));
+ return;
+ }
+ snprintf(mesg, sizeof(mesg), _("First %s"), str_units(SINGULAR));
+ for (;;) {
+ if (sys == SGI_VOLUME) {
+ last = sgi_get_lastblock(cxt);
+ first = read_int(cxt, 0, 0, last-1, 0, mesg);
+ if (first != 0) {
+ printf(_("It is highly recommended that eleventh partition\n"
+ "covers the entire disk and is of type `SGI volume'\n"));
+ }
+ } else {
+ first = freelist[0].first;
+ last = freelist[0].last;
+ first = read_int(cxt, scround(first), scround(first), scround(last)-1,
+ 0, mesg);
+ }
+ if (display_in_cyl_units)
+ first *= units_per_sector;
+ /*else
+ first = first; * align to cylinder if you know how ... */
+ if (!last)
+ last = isinfreelist(first);
+ if (last == 0) {
+ printf(_("You will get a partition overlap on the disk. "
+ "Fix it first!\n"));
+ } else
+ break;
+ }
+ snprintf(mesg, sizeof(mesg), _(" Last %s"), str_units(SINGULAR));
+ last = read_int(cxt, scround(first), scround(last)-1, scround(last)-1,
+ scround(first), mesg)+1;
+ if (display_in_cyl_units)
+ last *= units_per_sector;
+ /*else
+ last = last; * align to cylinder if You know how ... */
+ if ((sys == SGI_VOLUME) && (first != 0 || last != sgi_get_lastblock(cxt)))
+ printf(_("It is highly recommended that eleventh partition\n"
+ "covers the entire disk and is of type `SGI volume'\n"));
+ sgi_set_partition(cxt, n, first, last-first, sys);
+}
+
+static int sgi_create_disklabel(struct fdisk_context *cxt)
+{
+ struct hd_geometry geometry;
+ struct {
+ unsigned int start;
+ unsigned int nsect;
+ int sysid;
+ } old[4];
+ int i=0;
+ sector_t llsectors;
+ int res; /* the result from the ioctl */
+ int sec_fac; /* the sector factor */
+
+ sec_fac = cxt->sector_size / 512; /* determine the sector factor */
+
+ fprintf(stderr,
+ _("Building a new SGI disklabel.\n"));
+
+ other_endian = (BYTE_ORDER == LITTLE_ENDIAN);
+
+ res = blkdev_get_sectors(cxt->dev_fd, &llsectors);
+
+#ifdef HDIO_GETGEO
+ if (ioctl(cxt->dev_fd, HDIO_GETGEO, &geometry) < 0)
+ err(EXIT_FAILURE, _("HDIO_GETGEO ioctl failed on %s"), cxt->dev_path);
+
+ cxt->geom.heads = geometry.heads;
+ cxt->geom.sectors = geometry.sectors;
+ if (res == 0) {
+ /* the get device size ioctl was successful */
+ sector_t llcyls;
+ llcyls = llsectors / (cxt->geom.heads * cxt->geom.sectors * sec_fac);
+ cxt->geom.cylinders = llcyls;
+ if (cxt->geom.cylinders != llcyls) /* truncated? */
+ cxt->geom.cylinders = ~0;
+ } else {
+ /* otherwise print error and use truncated version */
+ cxt->geom.cylinders = geometry.cylinders;
+ fprintf(stderr,
+ _("Warning: BLKGETSIZE ioctl failed on %s. "
+ "Using geometry cylinder value of %llu.\n"
+ "This value may be truncated for devices"
+ " > 33.8 GB.\n"), cxt->dev_path, cxt->geom.cylinders);
+ }
+#endif
+ /*
+ * Convert old MBR to SGI label, make it DEPRECATED, this feature
+ * has to be handled in by any top-level fdisk command.
+ */
+ for (i = 0; i < 4; i++) {
+ old[i].sysid = 0;
+ if (mbr_is_valid_magic(cxt->firstsector)) {
+ if (get_part_table(i)->sys_ind) {
+ old[i].sysid = get_part_table(i)->sys_ind;
+ old[i].start = get_start_sect(get_part_table(i));
+ old[i].nsect = get_nr_sects(get_part_table(i));
+ if (debug)
+ printf(_("ID=%02x\tSTART=%d\tLENGTH=%d\n"),
+ old[i].sysid, old[i].start, old[i].nsect);
+ }
+ }
+ }
+
+ for (i = 0; i < 4; i++)
+ if (old[i].sysid) {
+ printf(_("Trying to keep parameters of partitions already set.\n"));
+ break;
+ }
+
+ fdisk_zeroize_firstsector(cxt);
+ sgilabel->magic = SSWAP32(SGI_LABEL_MAGIC);
+ sgilabel->boot_part = SSWAP16(0);
+ sgilabel->swap_part = SSWAP16(1);
+
+ /* sizeof(sgilabel->boot_file) = 16 > 6 */
+ memset(sgilabel->boot_file, 0, 16);
+ strcpy((char *) sgilabel->boot_file, "/unix");
+
+ sgilabel->devparam.skew = (0);
+ sgilabel->devparam.gap1 = (0);
+ sgilabel->devparam.gap2 = (0);
+ sgilabel->devparam.sparecyl = (0);
+ sgilabel->devparam.pcylcount = SSWAP16(geometry.cylinders);
+ sgilabel->devparam.head_vol0 = SSWAP16(0);
+ sgilabel->devparam.ntrks = SSWAP16(geometry.heads);
+ /* tracks/cylinder (heads) */
+ sgilabel->devparam.cmd_tag_queue_depth = (0);
+ sgilabel->devparam.unused0 = (0);
+ sgilabel->devparam.unused1 = SSWAP16(0);
+ sgilabel->devparam.nsect = SSWAP16(geometry.sectors);
+ /* sectors/track */
+ sgilabel->devparam.bytes = SSWAP16(cxt->sector_size);
+ sgilabel->devparam.ilfact = SSWAP16(1);
+ sgilabel->devparam.flags = SSWAP32(TRACK_FWD|\
+ IGNORE_ERRORS|RESEEK);
+ sgilabel->devparam.datarate = SSWAP32(0);
+ sgilabel->devparam.retries_on_error = SSWAP32(1);
+ sgilabel->devparam.ms_per_word = SSWAP32(0);
+ sgilabel->devparam.xylogics_gap1 = SSWAP16(0);
+ sgilabel->devparam.xylogics_syncdelay = SSWAP16(0);
+ sgilabel->devparam.xylogics_readdelay = SSWAP16(0);
+ sgilabel->devparam.xylogics_gap2 = SSWAP16(0);
+ sgilabel->devparam.xylogics_readgate = SSWAP16(0);
+ sgilabel->devparam.xylogics_writecont = SSWAP16(0);
+ memset(&(sgilabel->directory), 0, sizeof(struct volume_directory)*15);
+ memset(&(sgilabel->partitions), 0, sizeof(struct sgi_partition)*16);
+ disklabel = SGI_LABEL;
+ partitions = 16;
+ volumes = 15;
+ sgi_set_entire(cxt);
+ sgi_set_volhdr(cxt);
+ for (i = 0; i < 4; i++) {
+ if (old[i].sysid) {
+ sgi_set_partition(cxt, i, old[i].start, old[i].nsect, old[i].sysid);
+ }
+ }
+ return 0;
+}
+
+void
+sgi_set_ilfact(void)
+{
+ /* do nothing in the beginning */
+}
+
+void
+sgi_set_rspeed(void)
+{
+ /* do nothing in the beginning */
+}
+
+void
+sgi_set_pcylcount(void)
+{
+ /* do nothing in the beginning */
+}
+
+void
+sgi_set_xcyl(void)
+{
+ /* do nothing in the beginning */
+}
+
+void
+sgi_set_ncyl(void)
+{
+ /* do nothing in the beginning */
+}
+
+/* _____________________________________________________________
+ */
+
+static sgiinfo *fill_sgiinfo(void)
+{
+ sgiinfo *info = xcalloc(1, sizeof(sgiinfo));
+
+ if (!info)
+ return NULL;
+
+ info->magic=SSWAP32(SGI_INFO_MAGIC);
+ info->b1=SSWAP32(-1);
+ info->b2=SSWAP16(-1);
+ info->b3=SSWAP16(1);
+ /* You may want to replace this string !!!!!!! */
+ strcpy((char *) info->scsi_string, "IBM OEM 0662S12 3 30");
+ strcpy((char *) info->serial, "0000");
+ info->check1816 = SSWAP16(18*256 +16);
+ strcpy((char *) info->installer, "Sfx version 5.3, Oct 18, 1994");
+ return info;
+}
+
+const struct fdisk_label sgi_label =
+{
+ .name = "sgi",
+ .probe = sgi_probe_label,
+ .write = sgi_write_disklabel,
+ .verify = sgi_verify_disklabel,
+ .create = sgi_create_disklabel,
+ .part_add = sgi_add_partition,
+ .part_delete = sgi_delete_partition,
+};
diff --git a/fdisks/fdisksgilabel.h b/fdisks/fdisksgilabel.h
new file mode 100644
index 0000000..4d51113
--- /dev/null
+++ b/fdisks/fdisksgilabel.h
@@ -0,0 +1,131 @@
+#ifndef FDISK_SGI_LABEL_H
+#define FDISK_SGI_LABEL_H
+
+#include <stdint.h>
+
+#include "bitops.h"
+
+/*
+ * Copyright (C) Andreas Neuper, Sep 1998.
+ * This file may be modified and redistributed under
+ * the terms of the GNU Public License.
+ */
+
+struct device_parameter { /* 48 bytes */
+ unsigned char skew;
+ unsigned char gap1;
+ unsigned char gap2;
+ unsigned char sparecyl;
+ unsigned short pcylcount;
+ unsigned short head_vol0;
+ unsigned short ntrks; /* tracks in cyl 0 or vol 0 */
+ unsigned char cmd_tag_queue_depth;
+ unsigned char unused0;
+ unsigned short unused1;
+ unsigned short nsect; /* sectors/tracks in cyl 0 or vol 0 */
+ unsigned short bytes;
+ unsigned short ilfact;
+ unsigned int flags; /* controller flags */
+ unsigned int datarate;
+ unsigned int retries_on_error;
+ unsigned int ms_per_word;
+ unsigned short xylogics_gap1;
+ unsigned short xylogics_syncdelay;
+ unsigned short xylogics_readdelay;
+ unsigned short xylogics_gap2;
+ unsigned short xylogics_readgate;
+ unsigned short xylogics_writecont;
+};
+
+#define SGI_VOLHDR 0x00
+/* 1 and 2 were used for drive types no longer supported by SGI */
+#define SGI_SWAP 0x03
+/* 4 and 5 were for filesystem types SGI haven't ever supported on MIPS CPUs */
+#define SGI_VOLUME 0x06
+#define SGI_EFS 0x07
+#define SGI_LVOL 0x08
+#define SGI_RLVOL 0x09
+#define SGI_XFS 0x0a
+#define SGI_XFSLOG 0x0b
+#define SGI_XLV 0x0c
+#define SGI_XVM 0x0d
+#define ENTIRE_DISK SGI_VOLUME
+/*
+ * controller flags
+ */
+#define SECTOR_SLIP 0x01
+#define SECTOR_FWD 0x02
+#define TRACK_FWD 0x04
+#define TRACK_MULTIVOL 0x08
+#define IGNORE_ERRORS 0x10
+#define RESEEK 0x20
+#define CMDTAGQ_ENABLE 0x40
+
+typedef struct {
+ unsigned int magic; /* expect SGI_LABEL_MAGIC */
+ short boot_part; /* active boot partition */
+ short swap_part; /* active swap partition */
+ unsigned char boot_file[16]; /* name of the bootfile */
+ struct device_parameter devparam; /* 1 * 48 bytes */
+ struct volume_directory { /* 15 * 16 bytes */
+ unsigned char vol_file_name[8]; /* a character array */
+ unsigned int vol_file_start; /* number of logical block */
+ unsigned int vol_file_size; /* number of bytes */
+ } directory[15];
+ struct sgi_partition { /* 16 * 12 bytes */
+ unsigned int num_sectors; /* number of blocks */
+ unsigned int start_sector; /* must be cylinder aligned */
+ unsigned int id;
+ } partitions[16];
+ unsigned int csum;
+ unsigned int fillbytes;
+} sgi_partition;
+
+typedef struct {
+ unsigned int magic; /* looks like a magic number */
+ unsigned int a2;
+ unsigned int a3;
+ unsigned int a4;
+ unsigned int b1;
+ unsigned short b2;
+ unsigned short b3;
+ unsigned int c[16];
+ unsigned short d[3];
+ unsigned char scsi_string[50];
+ unsigned char serial[137];
+ unsigned short check1816;
+ unsigned char installer[225];
+} sgiinfo;
+
+#define SGI_LABEL_MAGIC 0x0be5a941
+#define SGI_LABEL_MAGIC_SWAPPED 0x41a9e50b
+#define SGI_INFO_MAGIC 0x00072959
+#define SGI_INFO_MAGIC_SWAPPED 0x59290700
+
+#define SSWAP16(x) (other_endian ? swab16(x) : (uint16_t)(x))
+#define SSWAP32(x) (other_endian ? swab32(x) : (uint32_t)(x))
+
+/* fdisk.c */
+#define sgilabel ((sgi_partition *)cxt->firstsector)
+#define sgiparam (sgilabel->devparam)
+
+/* fdisksgilabel.c */
+extern struct systypes sgi_sys_types[];
+extern void sgi_list_table( struct fdisk_context *cxt, int xtra );
+extern int sgi_change_sysid(struct fdisk_context *cxt, int i, int sys);
+extern unsigned int sgi_get_start_sector(struct fdisk_context *cxt, int i );
+extern unsigned int sgi_get_num_sectors(struct fdisk_context *cxt, int i );
+extern int sgi_get_sysid(struct fdisk_context *cxt, int i );
+extern void create_sgiinfo(struct fdisk_context *cxt);
+extern void sgi_set_ilfact( void );
+extern void sgi_set_rspeed( void );
+extern void sgi_set_pcylcount( void );
+extern void sgi_set_xcyl( void );
+extern void sgi_set_ncyl( void );
+extern void sgi_set_bootpartition(struct fdisk_context *cxt, int i );
+extern void sgi_set_swappartition(struct fdisk_context *cxt, int i );
+extern int sgi_get_bootpartition(struct fdisk_context *cxt);
+extern int sgi_get_swappartition(struct fdisk_context *cxt);
+extern void sgi_set_bootfile(struct fdisk_context *cxt);
+
+#endif /* FDISK_SGI_LABEL_H */
diff --git a/fdisks/fdisksunlabel.c b/fdisks/fdisksunlabel.c
new file mode 100644
index 0000000..9d17ed2
--- /dev/null
+++ b/fdisks/fdisksunlabel.c
@@ -0,0 +1,661 @@
+/*
+ * fdisksunlabel.c
+ *
+ * I think this is mostly, or entirely, due to
+ * Jakub Jelinek (jj@sunsite.mff.cuni.cz), July 1996
+ *
+ * Merged with fdisk for other architectures, aeb, June 1998.
+ *
+ * Sat Mar 20 EST 1999 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ * Internationalization
+ */
+
+#include <stdio.h> /* stderr */
+#include <stdlib.h> /* qsort */
+#include <string.h> /* strstr */
+#include <unistd.h> /* write */
+#include <sys/ioctl.h> /* ioctl */
+
+#include "nls.h"
+#include "blkdev.h"
+
+#include <endian.h>
+
+#include "common.h"
+#include "fdisk.h"
+#include "fdisksunlabel.h"
+
+static int other_endian = 0;
+
+struct systypes sun_sys_types[] = {
+ {SUN_TAG_UNASSIGNED, N_("Unassigned")},
+ {SUN_TAG_BOOT, N_("Boot")},
+ {SUN_TAG_ROOT, N_("SunOS root")},
+ {SUN_TAG_SWAP, N_("SunOS swap")},
+ {SUN_TAG_USR, N_("SunOS usr")},
+ {SUN_TAG_BACKUP, N_("Whole disk")},
+ {SUN_TAG_STAND, N_("SunOS stand")},
+ {SUN_TAG_VAR, N_("SunOS var")},
+ {SUN_TAG_HOME, N_("SunOS home")},
+ {SUN_TAG_ALTSCTR, N_("SunOS alt sectors")},
+ {SUN_TAG_CACHE, N_("SunOS cachefs")},
+ {SUN_TAG_RESERVED, N_("SunOS reserved")},
+ {SUN_TAG_LINUX_SWAP, N_("Linux swap")},
+ {SUN_TAG_LINUX_NATIVE, N_("Linux native")},
+ {SUN_TAG_LINUX_LVM, N_("Linux LVM")},
+ {SUN_TAG_LINUX_RAID, N_("Linux raid autodetect")},
+ { 0, NULL }
+};
+
+static inline unsigned short __swap16(unsigned short x) {
+ return (((uint16_t)(x) & 0xFF) << 8) | (((uint16_t)(x) & 0xFF00) >> 8);
+}
+static inline uint32_t __swap32(uint32_t x) {
+ return (((uint32_t)(x) & 0xFF) << 24) | (((uint32_t)(x) & 0xFF00) << 8) | (((uint32_t)(x) & 0xFF0000) >> 8) | (((uint32_t)(x) & 0xFF000000) >> 24);
+}
+
+#define SSWAP16(x) (other_endian ? __swap16(x) \
+ : (uint16_t)(x))
+#define SSWAP32(x) (other_endian ? __swap32(x) \
+ : (uint32_t)(x))
+
+static void set_sun_partition(struct fdisk_context *cxt,
+ int i, uint32_t start, uint32_t stop, uint16_t sysid)
+{
+ sunlabel->part_tags[i].tag = SSWAP16(sysid);
+ sunlabel->part_tags[i].flag = SSWAP16(0);
+ sunlabel->partitions[i].start_cylinder =
+ SSWAP32(start / (cxt->geom.heads * cxt->geom.sectors));
+ sunlabel->partitions[i].num_sectors =
+ SSWAP32(stop - start);
+ set_changed(i);
+ print_partition_size(cxt, i + 1, start, stop, sysid);
+}
+
+static void init(void)
+{
+ disklabel = SUN_LABEL;
+ partitions = SUN_NUM_PARTITIONS;
+}
+
+static int sun_probe_label(struct fdisk_context *cxt)
+{
+ unsigned short *ush;
+ int csum;
+
+ if (sunlabel->magic != SUN_LABEL_MAGIC &&
+ sunlabel->magic != SUN_LABEL_MAGIC_SWAPPED) {
+ other_endian = 0;
+ return 0;
+ }
+
+ init();
+ other_endian = (sunlabel->magic == SUN_LABEL_MAGIC_SWAPPED);
+
+ ush = ((unsigned short *) (sunlabel + 1)) - 1;
+ for (csum = 0; ush >= (unsigned short *)sunlabel;)
+ csum ^= *ush--;
+
+ if (csum) {
+ fprintf(stderr,_("Detected sun disklabel with wrong checksum.\n"
+ "Probably you'll have to set all the values,\n"
+ "e.g. heads, sectors, cylinders and partitions\n"
+ "or force a fresh label (s command in main menu)\n"));
+ } else {
+ int need_fixing = 0;
+
+ cxt->geom.heads = SSWAP16(sunlabel->nhead);
+ cxt->geom.cylinders = SSWAP16(sunlabel->ncyl);
+ cxt->geom.sectors = SSWAP16(sunlabel->nsect);
+
+ if (sunlabel->version != SSWAP32(SUN_LABEL_VERSION)) {
+ fprintf(stderr,_("Detected sun disklabel with wrong version [0x%08x].\n"),
+ SSWAP32(sunlabel->version));
+ need_fixing = 1;
+ }
+ if (sunlabel->sanity != SSWAP32(SUN_LABEL_SANE)) {
+ fprintf(stderr,_("Detected sun disklabel with wrong sanity [0x%08x].\n"),
+ SSWAP32(sunlabel->sanity));
+ need_fixing = 1;
+ }
+ if (sunlabel->num_partitions != SSWAP16(SUN_NUM_PARTITIONS)) {
+ fprintf(stderr,_("Detected sun disklabel with wrong num_partitions [%u].\n"),
+ SSWAP16(sunlabel->num_partitions));
+ need_fixing = 1;
+ }
+ if (need_fixing) {
+ fprintf(stderr, _("Warning: Wrong values need to be "
+ "fixed up and will be corrected "
+ "by w(rite)\n"));
+ sunlabel->version = SSWAP32(SUN_LABEL_VERSION);
+ sunlabel->sanity = SSWAP32(SUN_LABEL_SANE);
+ sunlabel->num_partitions = SSWAP16(SUN_NUM_PARTITIONS);
+
+ ush = (unsigned short *)sunlabel;
+ csum = 0;
+ while(ush < (unsigned short *)(&sunlabel->cksum))
+ csum ^= *ush++;
+ sunlabel->cksum = csum;
+
+ set_changed(0);
+ }
+ }
+ update_units(cxt);
+ return 1;
+}
+
+static int sun_create_disklabel(struct fdisk_context *cxt)
+{
+ struct hd_geometry geometry;
+ sector_t llsectors, llcyls;
+ unsigned int ndiv, sec_fac;
+ int res;
+
+ fprintf(stderr,
+ _("Building a new Sun disklabel.\n"));
+#if BYTE_ORDER == LITTLE_ENDIAN
+ other_endian = 1;
+#else
+ other_endian = 0;
+#endif
+
+ init();
+ fdisk_zeroize_firstsector(cxt);
+
+ sunlabel->magic = SSWAP16(SUN_LABEL_MAGIC);
+ sunlabel->sanity = SSWAP32(SUN_LABEL_SANE);
+ sunlabel->version = SSWAP32(SUN_LABEL_VERSION);
+ sunlabel->num_partitions = SSWAP16(SUN_NUM_PARTITIONS);
+
+ res = blkdev_get_sectors(cxt->dev_fd, &llsectors);
+ sec_fac = cxt->sector_size / 512;
+
+#ifdef HDIO_GETGEO
+ if (!ioctl(cxt->dev_fd, HDIO_GETGEO, &geometry)) {
+ cxt->geom.heads = geometry.heads;
+ cxt->geom.sectors = geometry.sectors;
+ if (res == 0) {
+ llcyls = llsectors / (cxt->geom.heads * cxt->geom.sectors * sec_fac);
+ cxt->geom.cylinders = llcyls;
+ if (cxt->geom.cylinders != llcyls)
+ cxt->geom.cylinders = ~0;
+ } else {
+ cxt->geom.cylinders = geometry.cylinders;
+ fprintf(stderr,
+ _("Warning: BLKGETSIZE ioctl failed on %s. "
+ "Using geometry cylinder value of %llu.\n"
+ "This value may be truncated for devices"
+ " > 33.8 GB.\n"), cxt->dev_path, cxt->geom.cylinders);
+ }
+ } else
+#endif
+ {
+ cxt->geom.heads = read_int(cxt, 1,1,1024,0,_("Heads"));
+ cxt->geom.sectors = read_int(cxt, 1,1,1024,0,_("Sectors/track"));
+ cxt->geom.cylinders = read_int(cxt, 1,1,65535,0,_("Cylinders"));
+ }
+
+ sunlabel->acyl = SSWAP16(2);
+ sunlabel->pcyl = SSWAP16(cxt->geom.cylinders);
+ sunlabel->ncyl = SSWAP16(cxt->geom.cylinders - 2);
+ sunlabel->rpm = SSWAP16(5400);
+ sunlabel->intrlv = SSWAP16(1);
+ sunlabel->apc = SSWAP16(0);
+
+ sunlabel->nhead = SSWAP16(cxt->geom.heads);
+ sunlabel->nsect = SSWAP16(cxt->geom.sectors);
+ sunlabel->ncyl = SSWAP16(cxt->geom.cylinders);
+
+ snprintf(sunlabel->label_id, sizeof(sunlabel->label_id),
+ "Linux cyl %llu alt %d hd %d sec %llu",
+ cxt->geom.cylinders, SSWAP16(sunlabel->acyl), cxt->geom.heads, cxt->geom.sectors);
+
+ if (cxt->geom.cylinders * cxt->geom.heads * cxt->geom.sectors >= 150 * 2048) {
+ ndiv = cxt->geom.cylinders - (50 * 2048 / (cxt->geom.heads * cxt->geom.sectors)); /* 50M swap */
+ } else
+ ndiv = cxt->geom.cylinders * 2 / 3;
+
+ set_sun_partition(cxt, 0, 0, ndiv * cxt->geom.heads * cxt->geom.sectors,
+ SUN_TAG_LINUX_NATIVE);
+ set_sun_partition(cxt, 1, ndiv * cxt->geom.heads * cxt->geom.sectors,
+ cxt->geom.cylinders * cxt->geom.heads * cxt->geom.sectors,
+ SUN_TAG_LINUX_SWAP);
+ sunlabel->part_tags[1].flag |= SSWAP16(SUN_FLAG_UNMNT);
+
+ set_sun_partition(cxt, 2, 0, cxt->geom.cylinders * cxt->geom.heads * cxt->geom.sectors, SUN_TAG_BACKUP);
+
+ {
+ unsigned short *ush = (unsigned short *)sunlabel;
+ unsigned short csum = 0;
+ while(ush < (unsigned short *)(&sunlabel->cksum))
+ csum ^= *ush++;
+ sunlabel->cksum = csum;
+ }
+
+ set_all_unchanged();
+ set_changed(0);
+
+ return 0;
+}
+
+void toggle_sunflags(struct fdisk_context *cxt, int i, uint16_t mask)
+{
+ struct sun_tag_flag *p = &sunlabel->part_tags[i];
+
+ p->flag ^= SSWAP16(mask);
+
+ set_changed(i);
+}
+
+static void fetch_sun(struct fdisk_context *cxt, uint32_t *starts,
+ uint32_t *lens, uint32_t *start, uint32_t *stop)
+{
+ int i, continuous = 1;
+
+ *start = 0;
+ *stop = cxt->geom.cylinders * cxt->geom.heads * cxt->geom.sectors;
+
+ for (i = 0; i < partitions; i++) {
+ struct sun_partition *part = &sunlabel->partitions[i];
+ struct sun_tag_flag *tag = &sunlabel->part_tags[i];
+
+ if (part->num_sectors &&
+ tag->tag != SSWAP16(SUN_TAG_UNASSIGNED) &&
+ tag->tag != SSWAP16(SUN_TAG_BACKUP)) {
+ starts[i] = (SSWAP32(part->start_cylinder) *
+ cxt->geom.heads * cxt->geom.sectors);
+ lens[i] = SSWAP32(part->num_sectors);
+ if (continuous) {
+ if (starts[i] == *start)
+ *start += lens[i];
+ else if (starts[i] + lens[i] >= *stop)
+ *stop = starts[i];
+ else
+ continuous = 0;
+ /* There will be probably more gaps
+ than one, so lets check afterwards */
+ }
+ } else {
+ starts[i] = 0;
+ lens[i] = 0;
+ }
+ }
+}
+
+static unsigned int *verify_sun_starts;
+
+static int verify_sun_cmp(int *a, int *b)
+{
+ if (*a == -1)
+ return 1;
+ if (*b == -1)
+ return -1;
+ if (verify_sun_starts[*a] > verify_sun_starts[*b])
+ return 1;
+ return -1;
+}
+
+static int sun_verify_disklabel(struct fdisk_context *cxt)
+{
+ uint32_t starts[SUN_NUM_PARTITIONS], lens[SUN_NUM_PARTITIONS], start, stop;
+ uint32_t i,j,k,starto,endo;
+ int array[SUN_NUM_PARTITIONS];
+
+ verify_sun_starts = starts;
+
+ fetch_sun(cxt, starts, lens, &start, &stop);
+
+ for (k = 0; k < 7; k++) {
+ for (i = 0; i < SUN_NUM_PARTITIONS; i++) {
+ if (k && (lens[i] % (cxt->geom.heads * cxt->geom.sectors))) {
+ printf(_("Partition %d doesn't end on cylinder boundary\n"), i+1);
+ }
+ if (lens[i]) {
+ for (j = 0; j < i; j++)
+ if (lens[j]) {
+ if (starts[j] == starts[i]+lens[i]) {
+ starts[j] = starts[i]; lens[j] += lens[i];
+ lens[i] = 0;
+ } else if (starts[i] == starts[j]+lens[j]){
+ lens[j] += lens[i];
+ lens[i] = 0;
+ } else if (!k) {
+ if (starts[i] < starts[j]+lens[j] &&
+ starts[j] < starts[i]+lens[i]) {
+ starto = starts[i];
+ if (starts[j] > starto)
+ starto = starts[j];
+ endo = starts[i]+lens[i];
+ if (starts[j]+lens[j] < endo)
+ endo = starts[j]+lens[j];
+ printf(_("Partition %d overlaps with others in "
+ "sectors %d-%d\n"), i+1, starto, endo);
+ }
+ }
+ }
+ }
+ }
+ }
+ for (i = 0; i < SUN_NUM_PARTITIONS; i++) {
+ if (lens[i])
+ array[i] = i;
+ else
+ array[i] = -1;
+ }
+ qsort(array,ARRAY_SIZE(array),sizeof(array[0]),
+ (int (*)(const void *,const void *)) verify_sun_cmp);
+
+ if (array[0] == -1) {
+ printf(_("No partitions defined\n"));
+ return 0;
+ }
+ stop = cxt->geom.cylinders * cxt->geom.heads * cxt->geom.sectors;
+ if (starts[array[0]])
+ printf(_("Unused gap - sectors 0-%d\n"), starts[array[0]]);
+ for (i = 0; i < 7 && array[i+1] != -1; i++) {
+ printf(_("Unused gap - sectors %d-%d\n"),
+ (starts[array[i]] + lens[array[i]]),
+ starts[array[i+1]]);
+ }
+ start = (starts[array[i]] + lens[array[i]]);
+ if (start < stop)
+ printf(_("Unused gap - sectors %d-%d\n"), start, stop);
+
+ return 0;
+}
+
+static void sun_add_partition(struct fdisk_context *cxt, int n, int sys)
+{
+ uint32_t starts[SUN_NUM_PARTITIONS], lens[SUN_NUM_PARTITIONS];
+ struct sun_partition *part = &sunlabel->partitions[n];
+ struct sun_tag_flag *tag = &sunlabel->part_tags[n];
+ uint32_t start, stop, stop2;
+ int whole_disk = 0;
+
+ char mesg[256];
+ int i;
+ unsigned int first, last;
+
+ if (part->num_sectors && tag->tag != SSWAP16(SUN_TAG_UNASSIGNED)) {
+ printf(_("Partition %d is already defined. Delete "
+ "it before re-adding it.\n"), n + 1);
+ return;
+ }
+
+ fetch_sun(cxt, starts, lens, &start, &stop);
+
+ if (stop <= start) {
+ if (n == 2)
+ whole_disk = 1;
+ else {
+ printf(_("Other partitions already cover the whole disk.\nDelete "
+ "some/shrink them before retry.\n"));
+ return;
+ }
+ }
+ snprintf(mesg, sizeof(mesg), _("First %s"), str_units(SINGULAR));
+ for (;;) {
+ if (whole_disk)
+ first = read_int(cxt, 0, 0, 0, 0, mesg);
+ else
+ first = read_int(cxt, scround(start), scround(stop)+1,
+ scround(stop), 0, mesg);
+ if (display_in_cyl_units)
+ first *= units_per_sector;
+ else {
+ /* Starting sector has to be properly aligned */
+ int cs = cxt->geom.heads * cxt->geom.sectors;
+ int x = first % cs;
+
+ if (x)
+ first += cs - x;
+ }
+ if (n == 2 && first != 0)
+ printf (_("\
+It is highly recommended that the third partition covers the whole disk\n\
+and is of type `Whole disk'\n"));
+ /* ewt asks to add: "don't start a partition at cyl 0"
+ However, edmundo@rano.demon.co.uk writes:
+ "In addition to having a Sun partition table, to be able to
+ boot from the disc, the first partition, /dev/sdX1, must
+ start at cylinder 0. This means that /dev/sdX1 contains
+ the partition table and the boot block, as these are the
+ first two sectors of the disc. Therefore you must be
+ careful what you use /dev/sdX1 for. In particular, you must
+ not use a partition starting at cylinder 0 for Linux swap,
+ as that would overwrite the partition table and the boot
+ block. You may, however, use such a partition for a UFS
+ or EXT2 file system, as these file systems leave the first
+ 1024 bytes undisturbed. */
+ /* On the other hand, one should not use partitions
+ starting at block 0 in an md, or the label will
+ be trashed. */
+ for (i = 0; i < partitions; i++)
+ if (lens[i] && starts[i] <= first
+ && starts[i] + lens[i] > first)
+ break;
+ if (i < partitions && !whole_disk) {
+ if (n == 2 && !first) {
+ whole_disk = 1;
+ break;
+ }
+ printf(_("Sector %d is already allocated\n"), first);
+ } else
+ break;
+ }
+ stop = cxt->geom.cylinders * cxt->geom.heads * cxt->geom.sectors; /* ancient */
+ stop2 = stop;
+ for (i = 0; i < partitions; i++) {
+ if (starts[i] > first && starts[i] < stop)
+ stop = starts[i];
+ }
+ snprintf(mesg, sizeof(mesg),
+ _("Last %s or +size or +sizeM or +sizeK"),
+ str_units(SINGULAR));
+ if (whole_disk)
+ last = read_int(cxt, scround(stop2), scround(stop2), scround(stop2),
+ 0, mesg);
+ else if (n == 2 && !first)
+ last = read_int(cxt, scround(first), scround(stop2), scround(stop2),
+ scround(first), mesg);
+ else
+ last = read_int(cxt, scround(first), scround(stop), scround(stop),
+ scround(first), mesg);
+ if (display_in_cyl_units)
+ last *= units_per_sector;
+ if (n == 2 && !first) {
+ if (last >= stop2) {
+ whole_disk = 1;
+ last = stop2;
+ } else if (last > stop) {
+ printf (
+ _("You haven't covered the whole disk with the 3rd partition, but your value\n"
+ "%d %s covers some other partition. Your entry has been changed\n"
+ "to %d %s\n"),
+ scround(last), str_units(SINGULAR),
+ scround(stop), str_units(SINGULAR));
+ last = stop;
+ }
+ } else if (!whole_disk && last > stop)
+ last = stop;
+
+ if (whole_disk)
+ sys = SUN_TAG_BACKUP;
+
+ set_sun_partition(cxt, n, first, last, sys);
+}
+
+static void sun_delete_partition(struct fdisk_context *cxt, int partnum)
+{
+ struct sun_partition *part = &sunlabel->partitions[partnum];
+ struct sun_tag_flag *tag = &sunlabel->part_tags[partnum];
+ unsigned int nsec;
+
+ if (partnum == 2 &&
+ tag->tag == SSWAP16(SUN_TAG_BACKUP) &&
+ !part->start_cylinder &&
+ (nsec = SSWAP32(part->num_sectors))
+ == cxt->geom.heads * cxt->geom.sectors * cxt->geom.cylinders)
+ printf(_("If you want to maintain SunOS/Solaris compatibility, "
+ "consider leaving this\n"
+ "partition as Whole disk (5), starting at 0, with %u "
+ "sectors\n"), nsec);
+ tag->tag = SSWAP16(SUN_TAG_UNASSIGNED);
+ part->num_sectors = 0;
+}
+
+int sun_change_sysid(struct fdisk_context *cxt, int i, uint16_t sys)
+{
+ struct sun_partition *part = &sunlabel->partitions[i];
+ struct sun_tag_flag *tag = &sunlabel->part_tags[i];
+
+ if (sys == SUN_TAG_LINUX_SWAP && !part->start_cylinder) {
+ read_chars(
+ _("It is highly recommended that the partition at offset 0\n"
+ "is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+ "there may destroy your partition table and bootblock.\n"
+ "Type YES if you're very sure you would like that partition\n"
+ "tagged with 82 (Linux swap): "));
+ if (strcmp (line_ptr, _("YES\n")))
+ return 0;
+ }
+ switch (sys) {
+ case SUN_TAG_SWAP:
+ case SUN_TAG_LINUX_SWAP:
+ /* swaps are not mountable by default */
+ tag->flag |= SSWAP16(SUN_FLAG_UNMNT);
+ break;
+ default:
+ /* assume other types are mountable;
+ user can change it anyway */
+ tag->flag &= ~SSWAP16(SUN_FLAG_UNMNT);
+ break;
+ }
+ tag->tag = SSWAP16(sys);
+ return 1;
+}
+
+void sun_list_table(struct fdisk_context *cxt, int xtra)
+{
+ int i, w;
+ char *type;
+
+ w = strlen(cxt->dev_path);
+ if (xtra)
+ printf(
+ _("\nDisk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+ "%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+ "%d extra sects/cyl, interleave %d:1\n"
+ "Label ID: %s\n"
+ "Volume ID: %s\n"
+ "Units = %s of %d * 512 bytes\n\n"),
+ cxt->dev_path, cxt->geom.heads, cxt->geom.sectors, SSWAP16(sunlabel->rpm),
+ cxt->geom.cylinders, SSWAP16(sunlabel->acyl),
+ SSWAP16(sunlabel->pcyl),
+ SSWAP16(sunlabel->apc),
+ SSWAP16(sunlabel->intrlv),
+ sunlabel->label_id,
+ sunlabel->volume_id,
+ str_units(PLURAL), units_per_sector);
+ else
+ printf(
+ _("\nDisk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+ "Units = %s of %d * 512 bytes\n\n"),
+ cxt->dev_path, cxt->geom.heads, cxt->geom.sectors, cxt->geom.cylinders,
+ str_units(PLURAL), units_per_sector);
+
+ printf(_("%*s Flag Start End Blocks Id System\n"),
+ w + 1, _("Device"));
+ for (i = 0 ; i < partitions; i++) {
+ struct sun_partition *part = &sunlabel->partitions[i];
+ struct sun_tag_flag *tag = &sunlabel->part_tags[i];
+
+ if (part->num_sectors) {
+ uint32_t start = SSWAP32(part->start_cylinder) * cxt->geom.heads * cxt->geom.sectors;
+ uint32_t len = SSWAP32(part->num_sectors);
+ printf(
+ "%s %c%c %9lu %9lu %9lu%c %2x %s\n",
+/* device */ partname(cxt->dev_path, i+1, w),
+/* flags */ (tag->flag & SSWAP16(SUN_FLAG_UNMNT)) ? 'u' : ' ',
+ (tag->flag & SSWAP16(SUN_FLAG_RONLY)) ? 'r' : ' ',
+/* start */ (unsigned long) scround(start),
+/* end */ (unsigned long) scround(start+len),
+/* odd flag on end */ (unsigned long) len / 2, len & 1 ? '+' : ' ',
+/* type id */ SSWAP16(tag->tag),
+/* type name */ (type = partition_type(SSWAP16(tag->tag)))
+ ? type : _("Unknown"));
+ }
+ }
+}
+
+void sun_set_alt_cyl(struct fdisk_context *cxt)
+{
+ sunlabel->acyl =
+ SSWAP16(read_int(cxt, 0,SSWAP16(sunlabel->acyl), 65535, 0,
+ _("Number of alternate cylinders")));
+}
+
+void sun_set_ncyl(struct fdisk_context *cxt, int cyl)
+{
+ sunlabel->ncyl = SSWAP16(cyl);
+}
+
+void sun_set_xcyl(struct fdisk_context *cxt)
+{
+ sunlabel->apc =
+ SSWAP16(read_int(cxt, 0, SSWAP16(sunlabel->apc), cxt->geom.sectors, 0,
+ _("Extra sectors per cylinder")));
+}
+
+void sun_set_ilfact(struct fdisk_context *cxt)
+{
+ sunlabel->intrlv =
+ SSWAP16(read_int(cxt, 1, SSWAP16(sunlabel->intrlv), 32, 0,
+ _("Interleave factor")));
+}
+
+void sun_set_rspeed(struct fdisk_context *cxt)
+{
+ sunlabel->rpm =
+ SSWAP16(read_int(cxt, 1, SSWAP16(sunlabel->rpm), 100000, 0,
+ _("Rotation speed (rpm)")));
+}
+
+void sun_set_pcylcount(struct fdisk_context *cxt)
+{
+ sunlabel->pcyl =
+ SSWAP16(read_int(cxt, 0, SSWAP16(sunlabel->pcyl), 65535, 0,
+ _("Number of physical cylinders")));
+}
+
+static int sun_write_disklabel(struct fdisk_context *cxt)
+{
+ unsigned short *ush = (unsigned short *)sunlabel;
+ unsigned short csum = 0;
+
+ while(ush < (unsigned short *)(&sunlabel->cksum))
+ csum ^= *ush++;
+ sunlabel->cksum = csum;
+ if (lseek(cxt->dev_fd, 0, SEEK_SET) < 0)
+ return -errno;
+ if (write(cxt->dev_fd, sunlabel, SECTOR_SIZE) != SECTOR_SIZE)
+ return -errno;
+
+ return 0;
+}
+
+int sun_get_sysid(struct fdisk_context *cxt, int i)
+{
+ return SSWAP16(sunlabel->part_tags[i].tag);
+}
+
+const struct fdisk_label sun_label =
+{
+ .name = "sun",
+ .probe = sun_probe_label,
+ .write = sun_write_disklabel,
+ .verify = sun_verify_disklabel,
+ .create = sun_create_disklabel,
+ .part_add = sun_add_partition,
+ .part_delete = sun_delete_partition,
+};
diff --git a/fdisks/fdisksunlabel.h b/fdisks/fdisksunlabel.h
new file mode 100644
index 0000000..12cccb1
--- /dev/null
+++ b/fdisks/fdisksunlabel.h
@@ -0,0 +1,91 @@
+#ifndef FDISK_SUN_LABEL_H
+#define FDISK_SUN_LABEL_H
+
+#include <stdint.h>
+
+struct sun_partition {
+ uint32_t start_cylinder;
+ uint32_t num_sectors;
+};
+
+struct sun_tag_flag {
+ uint16_t tag;
+#define SUN_TAG_UNASSIGNED 0x00 /* Unassigned partition */
+#define SUN_TAG_BOOT 0x01 /* Boot partition */
+#define SUN_TAG_ROOT 0x02 /* Root filesystem */
+#define SUN_TAG_SWAP 0x03 /* Swap partition */
+#define SUN_TAG_USR 0x04 /* /usr filesystem */
+#define SUN_TAG_BACKUP 0x05 /* Full-disk slice */
+#define SUN_TAG_STAND 0x06 /* Stand partition */
+#define SUN_TAG_VAR 0x07 /* /var filesystem */
+#define SUN_TAG_HOME 0x08 /* /home filesystem */
+#define SUN_TAG_ALTSCTR 0x09 /* Alt sector partition */
+#define SUN_TAG_CACHE 0x0a /* Cachefs partition */
+#define SUN_TAG_RESERVED 0x0b /* SMI reserved data */
+#define SUN_TAG_LINUX_SWAP 0x82 /* Linux SWAP */
+#define SUN_TAG_LINUX_NATIVE 0x83 /* Linux filesystem */
+#define SUN_TAG_LINUX_LVM 0x8e /* Linux LVM */
+#define SUN_TAG_LINUX_RAID 0xfd /* LInux RAID */
+
+ uint16_t flag;
+#define SUN_FLAG_UNMNT 0x01 /* Unmountable partition*/
+#define SUN_FLAG_RONLY 0x10 /* Read only */
+};
+
+#define SUN_LABEL_SIZE 512
+
+#define SUN_LABEL_ID_SIZE 128
+#define SUN_VOLUME_ID_SIZE 8
+
+#define SUN_LABEL_VERSION 0x00000001
+#define SUN_LABEL_SANE 0x600ddeee
+#define SUN_NUM_PARTITIONS 8
+
+struct sun_disk_label {
+ char label_id[SUN_LABEL_ID_SIZE];
+ uint32_t version;
+ char volume_id[SUN_VOLUME_ID_SIZE];
+ uint16_t num_partitions;
+ struct sun_tag_flag part_tags[SUN_NUM_PARTITIONS];
+ uint32_t bootinfo[3];
+ uint32_t sanity;
+ uint32_t resv[10];
+ uint32_t part_timestamps[SUN_NUM_PARTITIONS];
+ uint32_t write_reinstruct;
+ uint32_t read_reinstruct;
+ uint8_t pad[148];
+ uint16_t rpm;
+ uint16_t pcyl;
+ uint16_t apc;
+ uint16_t resv1;
+ uint16_t resv2;
+ uint16_t intrlv;
+ uint16_t ncyl;
+ uint16_t acyl;
+ uint16_t nhead;
+ uint16_t nsect;
+ uint16_t resv3;
+ uint16_t resv4;
+ struct sun_partition partitions[SUN_NUM_PARTITIONS];
+ uint16_t magic;
+ uint16_t cksum;
+};
+
+#define SUN_LABEL_MAGIC 0xDABE
+#define SUN_LABEL_MAGIC_SWAPPED 0xBEDA
+#define sunlabel ((struct sun_disk_label *)cxt->firstsector)
+
+/* fdisksunlabel.c */
+extern struct systypes sun_sys_types[];
+extern int sun_change_sysid(struct fdisk_context *cxt, int i, uint16_t sys);
+extern void sun_list_table(struct fdisk_context *cxt, int xtra);
+extern void sun_set_alt_cyl(struct fdisk_context *cxt);
+extern void sun_set_ncyl(struct fdisk_context *cxt, int cyl);
+extern void sun_set_xcyl(struct fdisk_context *cxt);
+extern void sun_set_ilfact(struct fdisk_context *cxt);
+extern void sun_set_rspeed(struct fdisk_context *cxt);
+extern void sun_set_pcylcount(struct fdisk_context *cxt);
+extern void toggle_sunflags(struct fdisk_context *cxt, int i, uint16_t mask);
+extern int sun_get_sysid(struct fdisk_context *cxt, int i);
+
+#endif /* FDISK_SUN_LABEL_H */
diff --git a/fdisks/gpt.c b/fdisks/gpt.c
new file mode 100644
index 0000000..bb6911a
--- /dev/null
+++ b/fdisks/gpt.c
@@ -0,0 +1,216 @@
+/*
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ *
+ * GPT (GUID Partition Table) signature detection. Based on libparted and
+ * util-linux/partx.
+ *
+ * Warning: this code doesn't do all GPT checks (CRC32, Protective MBR, ..).
+ * It's really GPT signature detection only.
+ *
+ * Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+ *
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <sys/stat.h>
+#include <sys/utsname.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "gpt.h"
+#include "blkdev.h"
+#include "bitops.h"
+#include "closestream.h"
+
+#define GPT_HEADER_SIGNATURE 0x5452415020494645LL
+#define GPT_PRIMARY_PARTITION_TABLE_LBA 1
+
+typedef struct {
+ uint32_t time_low;
+ uint16_t time_mid;
+ uint16_t time_hi_and_version;
+ uint8_t clock_seq_hi_and_reserved;
+ uint8_t clock_seq_low;
+ uint8_t node[6];
+} /* __attribute__ ((packed)) */ efi_guid_t;
+/* commented out "__attribute__ ((packed))" to work around gcc bug (fixed
+ * in gcc3.1): __attribute__ ((packed)) breaks addressing on initialized
+ * data. It turns out we don't need it in this case, so it doesn't break
+ * anything :)
+ */
+
+typedef struct _GuidPartitionTableHeader_t {
+ uint64_t Signature;
+ uint32_t Revision;
+ uint32_t HeaderSize;
+ uint32_t HeaderCRC32;
+ uint32_t Reserved1;
+ uint64_t MyLBA;
+ uint64_t AlternateLBA;
+ uint64_t FirstUsableLBA;
+ uint64_t LastUsableLBA;
+ efi_guid_t DiskGUID;
+ uint64_t PartitionEntryLBA;
+ uint32_t NumberOfPartitionEntries;
+ uint32_t SizeOfPartitionEntry;
+ uint32_t PartitionEntryArrayCRC32;
+ uint8_t Reserved2[512 - 92];
+} __attribute__ ((packed)) GuidPartitionTableHeader_t;
+
+static int
+_get_sector_size (int fd)
+{
+ int sector_size;
+
+ if (blkdev_get_sector_size(fd, &sector_size) == -1)
+ return DEFAULT_SECTOR_SIZE;
+ return sector_size;
+}
+
+static uint64_t
+_get_num_sectors(int fd)
+{
+ unsigned long long bytes=0;
+
+ if (blkdev_get_size(fd, &bytes) == -1)
+ return 0;
+ return bytes / _get_sector_size(fd);
+}
+
+static uint64_t
+last_lba(int fd)
+{
+ int rc;
+ uint64_t sectors = 0;
+ struct stat s;
+
+ memset(&s, 0, sizeof (s));
+ rc = fstat(fd, &s);
+ if (rc == -1)
+ {
+ fprintf(stderr, "last_lba() could not stat: %m\n");
+ return 0;
+ }
+ if (S_ISBLK(s.st_mode))
+ sectors = _get_num_sectors(fd);
+ else if (S_ISREG(s.st_mode))
+ sectors = s.st_size >> _get_sector_size(fd);
+ else
+ {
+ fprintf(stderr,
+ "last_lba(): I don't know how to handle files with mode %o\n",
+ s.st_mode);
+ sectors = 1;
+ }
+ return sectors - 1;
+}
+
+static ssize_t
+read_lba(int fd, uint64_t lba, void *buffer, size_t bytes)
+{
+ int sector_size = _get_sector_size(fd);
+ off_t offset = lba * sector_size;
+
+ lseek(fd, offset, SEEK_SET);
+ return read(fd, buffer, bytes);
+}
+
+static GuidPartitionTableHeader_t *
+alloc_read_gpt_header(int fd, uint64_t lba)
+{
+ GuidPartitionTableHeader_t *gpt =
+ (GuidPartitionTableHeader_t *) malloc(sizeof (GuidPartitionTableHeader_t));
+ if (!gpt)
+ return NULL;
+ memset(gpt, 0, sizeof (*gpt));
+ if (!read_lba(fd, lba, gpt, sizeof (GuidPartitionTableHeader_t)))
+ {
+ free(gpt);
+ return NULL;
+ }
+ return gpt;
+}
+
+static int
+gpt_check_signature(int fd, uint64_t lba)
+{
+ GuidPartitionTableHeader_t *gpt;
+ int res=0;
+
+ if ((gpt = alloc_read_gpt_header(fd, lba)))
+ {
+ if (gpt->Signature == cpu_to_le64(GPT_HEADER_SIGNATURE))
+ res = 1;
+ free(gpt);
+ }
+ return res;
+}
+
+/* returns:
+ * 0 not found GPT
+ * 1 for valid primary GPT header
+ * 2 for valid alternative GPT header
+ */
+int
+gpt_probe_signature_fd(int fd)
+{
+ int res = 0;
+
+ /* check primary GPT header */
+ if (gpt_check_signature(fd, GPT_PRIMARY_PARTITION_TABLE_LBA))
+ res = 1;
+ else
+ {
+ /* check alternative GPT header */
+ uint64_t lastlba = last_lba(fd);
+ if (gpt_check_signature(fd, lastlba))
+ res = 2;
+ }
+ return res;
+}
+
+int
+gpt_probe_signature_devname(char *devname)
+{
+ int res, fd;
+ if ((fd = open(devname, O_RDONLY)) < 0)
+ return 0;
+ res = gpt_probe_signature_fd(fd);
+ close(fd);
+ return res;
+}
+
+#ifdef GPT_TEST_MAIN
+int
+main(int argc, char **argv)
+{
+ atexit(close_stdout);
+ if (argc!=2)
+ {
+ fprintf(stderr, "usage: %s <dev>\n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ if (gpt_probe_signature_devname(argv[1]))
+ printf("GPT (GUID Partition Table) detected on %s\n", argv[1]);
+ exit(EXIT_SUCCESS);
+}
+#endif
diff --git a/fdisks/gpt.h b/fdisks/gpt.h
new file mode 100644
index 0000000..2ac21c4
--- /dev/null
+++ b/fdisks/gpt.h
@@ -0,0 +1,7 @@
+#ifndef FDISK_GPT_H
+#define FDISK_GPT_H
+
+extern int gpt_probe_signature_fd(int fd);
+extern int gpt_probe_signature_devname(char *devname);
+
+#endif /* FDISK_GPT_H */
diff --git a/fdisks/i386_sys_types.c b/fdisks/i386_sys_types.c
new file mode 100644
index 0000000..916daf6
--- /dev/null
+++ b/fdisks/i386_sys_types.c
@@ -0,0 +1,110 @@
+/* DOS partition types */
+#include "common.h"
+#include "nls.h"
+
+struct systypes i386_sys_types[] = {
+ {0x00, N_("Empty")},
+ {0x01, N_("FAT12")},
+ {0x02, N_("XENIX root")},
+ {0x03, N_("XENIX usr")},
+ {0x04, N_("FAT16 <32M")},
+ {0x05, N_("Extended")}, /* DOS 3.3+ extended partition */
+ {0x06, N_("FAT16")}, /* DOS 16-bit >=32M */
+ {0x07, N_("HPFS/NTFS/exFAT")}, /* OS/2 IFS, eg, HPFS or NTFS or QNX or exFAT */
+ {0x08, N_("AIX")}, /* AIX boot (AIX -- PS/2 port) or SplitDrive */
+ {0x09, N_("AIX bootable")}, /* AIX data or Coherent */
+ {0x0a, N_("OS/2 Boot Manager")},/* OS/2 Boot Manager */
+ {0x0b, N_("W95 FAT32")},
+ {0x0c, N_("W95 FAT32 (LBA)")},/* LBA really is `Extended Int 13h' */
+ {0x0e, N_("W95 FAT16 (LBA)")},
+ {0x0f, N_("W95 Ext'd (LBA)")},
+ {0x10, N_("OPUS")},
+ {0x11, N_("Hidden FAT12")},
+ {0x12, N_("Compaq diagnostics")},
+ {0x14, N_("Hidden FAT16 <32M")},
+ {0x16, N_("Hidden FAT16")},
+ {0x17, N_("Hidden HPFS/NTFS")},
+ {0x18, N_("AST SmartSleep")},
+ {0x1b, N_("Hidden W95 FAT32")},
+ {0x1c, N_("Hidden W95 FAT32 (LBA)")},
+ {0x1e, N_("Hidden W95 FAT16 (LBA)")},
+ {0x24, N_("NEC DOS")},
+ {0x27, N_("Hidden NTFS WinRE")},
+ {0x39, N_("Plan 9")},
+ {0x3c, N_("PartitionMagic recovery")},
+ {0x40, N_("Venix 80286")},
+ {0x41, N_("PPC PReP Boot")},
+ {0x42, N_("SFS")},
+ {0x4d, N_("QNX4.x")},
+ {0x4e, N_("QNX4.x 2nd part")},
+ {0x4f, N_("QNX4.x 3rd part")},
+ {0x50, N_("OnTrack DM")},
+ {0x51, N_("OnTrack DM6 Aux1")}, /* (or Novell) */
+ {0x52, N_("CP/M")}, /* CP/M or Microport SysV/AT */
+ {0x53, N_("OnTrack DM6 Aux3")},
+ {0x54, N_("OnTrackDM6")},
+ {0x55, N_("EZ-Drive")},
+ {0x56, N_("Golden Bow")},
+ {0x5c, N_("Priam Edisk")},
+ {0x61, N_("SpeedStor")},
+ {0x63, N_("GNU HURD or SysV")}, /* GNU HURD or Mach or Sys V/386 (such as ISC UNIX) */
+ {0x64, N_("Novell Netware 286")},
+ {0x65, N_("Novell Netware 386")},
+ {0x70, N_("DiskSecure Multi-Boot")},
+ {0x75, N_("PC/IX")},
+ {0x80, N_("Old Minix")}, /* Minix 1.4a and earlier */
+ {0x81, N_("Minix / old Linux")},/* Minix 1.4b and later */
+ {0x82, N_("Linux swap / Solaris")},
+ {0x83, N_("Linux")},
+ {0x84, N_("OS/2 hidden C: drive")},
+ {0x85, N_("Linux extended")},
+ {0x86, N_("NTFS volume set")},
+ {0x87, N_("NTFS volume set")},
+ {0x88, N_("Linux plaintext")},
+ {0x8e, N_("Linux LVM")},
+ {0x93, N_("Amoeba")},
+ {0x94, N_("Amoeba BBT")}, /* (bad block table) */
+ {0x9f, N_("BSD/OS")}, /* BSDI */
+ {0xa0, N_("IBM Thinkpad hibernation")},
+ {0xa5, N_("FreeBSD")}, /* various BSD flavours */
+ {0xa6, N_("OpenBSD")},
+ {0xa7, N_("NeXTSTEP")},
+ {0xa8, N_("Darwin UFS")},
+ {0xa9, N_("NetBSD")},
+ {0xab, N_("Darwin boot")},
+ {0xaf, N_("HFS / HFS+")},
+ {0xb7, N_("BSDI fs")},
+ {0xb8, N_("BSDI swap")},
+ {0xbb, N_("Boot Wizard hidden")},
+ {0xbe, N_("Solaris boot")},
+ {0xbf, N_("Solaris")},
+ {0xc1, N_("DRDOS/sec (FAT-12)")},
+ {0xc4, N_("DRDOS/sec (FAT-16 < 32M)")},
+ {0xc6, N_("DRDOS/sec (FAT-16)")},
+ {0xc7, N_("Syrinx")},
+ {0xda, N_("Non-FS data")},
+ {0xdb, N_("CP/M / CTOS / ...")},/* CP/M or Concurrent CP/M or
+ Concurrent DOS or CTOS */
+ {0xde, N_("Dell Utility")}, /* Dell PowerEdge Server utilities */
+ {0xdf, N_("BootIt")}, /* BootIt EMBRM */
+ {0xe1, N_("DOS access")}, /* DOS access or SpeedStor 12-bit FAT
+ extended partition */
+ {0xe3, N_("DOS R/O")}, /* DOS R/O or SpeedStor */
+ {0xe4, N_("SpeedStor")}, /* SpeedStor 16-bit FAT extended
+ partition < 1024 cyl. */
+ {0xeb, N_("BeOS fs")},
+ {0xee, N_("GPT")}, /* Intel EFI GUID Partition Table */
+ {0xef, N_("EFI (FAT-12/16/32)")},/* Intel EFI System Partition */
+ {0xf0, N_("Linux/PA-RISC boot")},/* Linux/PA-RISC boot loader */
+ {0xf1, N_("SpeedStor")},
+ {0xf4, N_("SpeedStor")}, /* SpeedStor large partition */
+ {0xf2, N_("DOS secondary")}, /* DOS 3.3+ secondary */
+ {0xfb, N_("VMware VMFS")},
+ {0xfc, N_("VMware VMKCORE")}, /* VMware kernel dump partition */
+ {0xfd, N_("Linux raid autodetect")},/* New (2.2.x) raid partition with
+ autodetect using persistent
+ superblock */
+ {0xfe, N_("LANstep")}, /* SpeedStor >1024 cyl. or LANstep */
+ {0xff, N_("BBT")}, /* Xenix Bad Block Table */
+ { 0, 0 }
+};
diff --git a/fdisks/partname.c b/fdisks/partname.c
new file mode 100644
index 0000000..1671e19
--- /dev/null
+++ b/fdisks/partname.c
@@ -0,0 +1,48 @@
+#include <ctype.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "blkdev.h"
+#include "pathnames.h"
+#include "common.h"
+#include "c.h"
+
+/*
+ * return partition name - uses static storage unless buf is supplied
+ */
+char *
+partname(char *dev, int pno, int lth) {
+ static char bufp[PATH_MAX];
+ char *p;
+ int w, wp;
+
+ w = strlen(dev);
+ p = "";
+
+ if (isdigit(dev[w-1]))
+ p = "p";
+
+ /* devfs kludge - note: fdisk partition names are not supposed
+ to equal kernel names, so there is no reason to do this */
+ if (strcmp (dev + w - 4, "disc") == 0) {
+ w -= 4;
+ p = "part";
+ }
+
+ /* udev names partitions by appending -partN
+ e.g. ata-SAMSUNG_SV8004H_0357J1FT712448-part1 */
+ if ((strncmp(dev, _PATH_DEV_BYID, strlen(_PATH_DEV_BYID)) == 0) ||
+ strncmp(dev, _PATH_DEV_BYPATH, strlen(_PATH_DEV_BYPATH)) == 0) {
+ p = "-part";
+ }
+
+ wp = strlen(p);
+
+ if (lth) {
+ snprintf(bufp, sizeof(bufp), "%*.*s%s%-2u",
+ lth-wp-2, w, dev, p, pno);
+ } else {
+ snprintf(bufp, sizeof(bufp), "%.*s%s%-2u", w, dev, p, pno);
+ }
+ return bufp;
+}
diff --git a/fdisks/sfdisk.8 b/fdisks/sfdisk.8
new file mode 100644
index 0000000..32907e3
--- /dev/null
+++ b/fdisks/sfdisk.8
@@ -0,0 +1,603 @@
+.\" Copyright 1995 Andries E. Brouwer (aeb@cwi.nl)
+.\" May be distributed under the GNU General Public License
+.\" The `DOS 6.x Warning' was taken from the old fdisk.8, which says
+.\" -- Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" -- May be distributed under the GNU General Public License
+.\" The `DRDOS Warning' was taken from a net post by Stephen Tweedie.
+.\"
+.TH SFDISK 8 "August 2011" "util-linux" "System Administration"
+.SH NAME
+sfdisk \- partition table manipulator for Linux
+.SH SYNOPSIS
+.B sfdisk
+.RI [ options ]
+.I device
+.br
+.B sfdisk \-s
+.RI [ partition ]
+.SH DESCRIPTION
+.B sfdisk
+has four (main) uses: list the size of a partition, list the partitions
+on a device, check the partitions on a device, and \- very dangerous \-
+repartition a device.
+
+.B sfdisk
+doesn't understand the GUID Partition Table (GPT) format and it is not
+designed for large partitions. In these cases use the more advanced GNU
+.BR parted (8).
+
+Note that
+.B sfdisk
+does not align partitions to block device I/O limits. This functionality is
+provided by
+.BR fdisk (8).
+
+.SS "List sizes"
+.BI "sfdisk \-s " partition
+gives the size of
+.I partition
+in blocks. This may be useful in connection with programs like
+.BR mkswap (8).
+Here
+.I partition
+is usually something like
+.I /dev/hda1
+or
+.IR /dev/sdb12 ,
+but may also be an entire disk, like
+.IR /dev/xda .
+
+.RS
+.nf
+.if t .ft CW
+% sfdisk \-s /dev/hda9
+81599
+.if t .ft R
+.fi
+.RE
+
+If the partition argument is omitted,
+.B sfdisk
+will list the sizes of all disks, and the total:
+
+.RS
+.nf
+.if t .ft CW
+% sfdisk \-s
+/dev/hda: 208896
+/dev/hdb: 1025136
+/dev/hdc: 1031063
+/dev/sda: 8877895
+/dev/sdb: 1758927
+total: 12901917 blocks
+.if t .ft R
+.fi
+.RE
+
+.SS "List partitions"
+The second type of invocation:
+.BI "sfdisk \-l " device
+will list the partitions on the specified device. If the
+.I device
+argument is omitted, the partitions on all hard disks are listed.
+
+.RS
+.nf
+.if t .ft CW
+% sfdisk \-l /dev/hdc
+
+Disk /dev/hdc: 16 heads, 63 sectors, 2045 cylinders
+Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0
+
+ Device Boot Start End #cyls #blocks Id System
+/dev/hdc1 0+ 406 407\- 205096+ 83 Linux native
+/dev/hdc2 407 813 407 205128 83 Linux native
+/dev/hdc3 814 2044 1231 620424 83 Linux native
+/dev/hdc4 0 \- 0 0 0 Empty
+.if t .ft R
+.fi
+.RE
+
+The trailing \- and + signs indicate that rounding has taken place,
+and that the actual value is slightly less or more. To see the
+exact values, ask for a listing with sectors as unit (\fB\-u S\fR).
+
+.SS "Check partitions"
+The third type of invocation:
+.BI "sfdisk \-V " device
+will apply various consistency checks to the partition tables on
+.IR device .
+It prints `OK' or complains. The \fB\-V\fR option can be used
+together with \fB\-l\fR. In a shell script one might use
+.BI "sfdisk \-V \-q " device
+which only returns a status.
+
+.SS "Create partitions"
+The fourth type of invocation:
+.BI "sfdisk " device
+will cause
+.B sfdisk
+to read the specification for the desired partitioning of
+.I device
+from standard input, and then to change the partition tables
+on that disk. Thus it is possible to use
+.B sfdisk
+from a shell script. When
+.B sfdisk
+determines that its standard input is a terminal, it will be
+conversational; otherwise it will abort on any error.
+.LP
+BE EXTREMELY CAREFUL - ONE TYPING MISTAKE AND ALL YOUR DATA IS LOST
+.LP
+As a precaution, one can save the sectors changed by
+.BR sfdisk :
+
+.RS
+.nf
+.if t .ft CW
+% sfdisk /dev/hdd \-O hdd-partition-sectors.save
+\&...
+.if t .ft R
+.fi
+.RE
+
+.LP
+Then, if you discover that you did something stupid before anything
+else has been written to disk, it may be possible to recover
+the old situation with:
+
+.RS
+.nf
+.if t .ft CW
+% sfdisk /dev/hdd \-I hdd-partition-sectors.save
+.if t .ft R
+.fi
+.RE
+
+.LP
+(This is not the same as saving the old partition table:
+a readable version of the old partition table can be saved
+using the \fB\-d\fR option. However, if you create logical partitions,
+the sectors describing them are located somewhere on disk,
+possibly on sectors that were not part of the partition table
+before. Thus, the information the \fB\-O\fR option saves
+is not a binary version of the output of \fB\-d\fR.)
+
+There are many options.
+
+.SH OPTIONS
+.TP
+.BR \-v ", " \-\-version
+Print version number of
+.B sfdisk
+and exit immediately.
+.TP
+.BR \-h ", " \-\-help
+Print a usage message and exit immediately.
+.TP
+.BR \-T ", " \-\-list\-types
+Print the recognized types (system Id's).
+.TP
+.BR \-s ", " \-\-show\-size
+List the size of a partition.
+.TP
+.BR \-g ", " \-\-show\-geometry
+List the kernel's idea of the geometry of the indicated disk(s).
+.TP
+.BR \-G ", " \-\-show\-pt\-geometry
+List the geometry of the indicated disks guessed by looking at
+the partition table.
+.TP
+.BR \-l ", " \-\-list
+List the partitions of a device.
+.TP
+.BR \-d ", " \-\-dump
+Dump the partitions of a device in a format that is usable as input
+to /fBsfdisk/fR. For example,
+.br
+.nf
+.if t .ft CW
+ % sfdisk -d /dev/hda > hda.out
+ % sfdisk /dev/hda < hda.out
+.if t .ft R
+.fi
+will correct the bad last extended partition that the OS/2
+fdisk creates.
+.TP
+.BR \-V ", " \-\-verify
+Test whether partitions seem correct. (See the third invocation type above.)
+.TP
+.BR \-i ", " \-\-increment
+Number cylinders etc. starting from 1 instead of 0.
+.TP
+.BI \-N " number"
+Change only the single partition indicated. For example:
+.nf
+.if t .ft CW
+ % sfdisk /dev/hdb \-N5
+ ,,,*
+.if t .ft R
+.fi
+will make the fifth partition on /dev/hdb bootable (`active')
+and change nothing else. (Probably this fifth partition
+is called /dev/hdb5, but you are free to call it something else,
+like `/my_equipment/disks/2/5' or so).
+.TP
+.BR \-A ", " \-\-activate " \fInumber\fR"
+Make the indicated partition(s) active, and all others inactive.
+.TP
+.BR \-c ", " \-\-id " \fInumber\fR [\fIId\fR]"
+If no \fIId\fR argument given: print the partition Id of the indicated
+partition. If an \fIId\fR argument is present: change the type (Id) of
+the indicated partition to the given value.
+This option has two longer forms, \fB\-\-print\-id\fR and \fB\-\-change\-id\fR.
+For example:
+.br
+.nf
+.if t .ft CW
+ % sfdisk --print-id /dev/hdb 5
+ 6
+ % sfdisk --change-id /dev/hdb 5 83
+ OK
+.if t .ft R
+.fi
+first reports that /dev/hdb5 has Id 6, and then changes that into 83.
+.TP
+.BR \-u ", " \-\-unit " \fIletter\fR"
+Interpret the input and show the output in the units specified by
+.IR letter .
+This \fIletter\fR can be one of S, C, B or M, meaning Sectors, Cylinders,
+Blocks and Megabytes, respectively. The default is
+cylinders, at least when the geometry is known.
+.TP
+.BR \-x ", " \-\-show\-extended
+Also list non-primary extended partitions on output,
+and expect descriptors for them on input.
+.TP
+.BR \-C ", " \-\-cylinders " \fIcylinders\fR"
+Specify the number of cylinders, possibly overriding what the kernel thinks.
+.TP
+.BR \-H ", " \-\-heads " \fIheads\fR"
+Specify the number of heads, possibly overriding what the kernel thinks.
+.TP
+.BR \-S ", " \-\-sectors " \fIsectors\fR"
+Specify the number of sectors, possibly overriding what the kernel thinks.
+.TP
+.BR \-f ", " \-\-force
+Do what I say, even if it is stupid.
+.TP
+.BR \-q ", " \-\-quiet
+Suppress warning messages.
+.TP
+.BR \-L ", " \-\-Linux
+Do not complain about things irrelevant for Linux.
+.TP
+.BR \-D ", " \-\-DOS
+For DOS-compatibility: waste a little space.
+(More precisely: if a partition cannot contain sector 0,
+e.g. because that is the MBR of the device, or contains
+the partition table of an extended partition, then
+.B sfdisk
+would make it start the next sector. However, when this
+option is given it skips to the start of the next track,
+wasting for example 33 sectors (in case of 34 sectors/track),
+just like certain versions of DOS do.)
+Certain Disk Managers and boot loaders (such as OSBS, but not
+LILO or the OS/2 Boot Manager) also live in this empty space,
+so maybe you want this option if you use one.
+.TP
+.BR \-E ", " \-\-DOS\-extended
+Take the starting sector numbers of "inner" extended partitions
+to be relative to the starting cylinder boundary of the outer one
+(like some versions of DOS do), rather than relative to the actual
+starting sector (like Linux does).
+(The fact that there is a difference here means that one should
+always let extended partitions start at cylinder boundaries if
+DOS and Linux should interpret the partition table in the same way.
+Of course one can only know where cylinder boundaries are when
+one knows what geometry DOS will use for this disk.)
+.TP
+.BR \-\-IBM ", " \-\-leave\-last
+Certain IBM diagnostic programs assume that they can use the
+last cylinder on a disk for disk-testing purposes. If you think
+you might ever run such programs, use this option to tell
+.B sfdisk
+that it should not allocate the last cylinder.
+Sometimes the last cylinder contains a bad sector table.
+.TP
+.B \-n
+Go through all the motions, but do not actually write to disk.
+.TP
+.BR \-R ", " \-\-re-read
+Only execute the BLKRRPART ioctl (to make the kernel re-read
+the partition table). This can be useful for checking in advance
+that the final BLKRRPART will be successful, and also when you
+changed the partition table `by hand' (e.g., using dd from a backup).
+If the kernel complains (`device busy for revalidation (usage = 2)')
+then something still uses the device, and you still have to unmount
+some file system, or say swapoff to some swap partition.
+.TP
+.B \-\-no\-reread
+When starting a repartitioning of a disk, \fBsfdisk\fR checks that this disk
+is not mounted, or in use as a swap device, and refuses to continue
+if it is. This option suppresses the test. (On the other hand, the \fB\-f\fR
+option would force \fBsfdisk\fR to continue even when this test fails.)
+.TP
+.B \-\-in\-order
+Caution, see warning section. To be documented.
+.TP
+.B \-\-not\-in\-order
+Caution, see warning section. To be documented.
+.TP
+.B \-\-inside\-outer
+Caution, see warning section. Chaining order.
+.TP
+.B \-\-not\-inside\-outer
+Caution, see warning section. Chaining order.
+.TP
+.B \-\-nested
+Caution, see warning section. Every partition is contained in the
+surrounding partitions and is disjoint from all others.
+.TP
+.B \-\-chained
+Caution, see warning section. Every data partition is contained in
+the surrounding partitions and disjoint from all others, but
+extended partitions may lie outside (insofar as allowed by
+all_logicals_inside_outermost_extended).
+.TP
+.B \-\-onesector
+Caution, see warning section. All data partitions are mutually
+disjoint; extended partitions each use one sector only (except
+perhaps for the outermost one).
+.TP
+.BI \-O " file"
+Just before writing the new partition, output the sectors
+that are going to be overwritten to
+.I file
+(where hopefully
+.I file
+resides on another disk, or on a floppy).
+.TP
+.BI \-I " file"
+After destroying your filesystems with an unfortunate
+.B sfdisk
+command, you would have been able to restore the old situation
+if only you had preserved it using the \fB\-O\fR flag.
+
+.SH THEORY
+Block 0 of a disk (the Master Boot Record) contains among
+other things four partition descriptors. The partitions
+described here are called
+.I primary
+partitions.
+.LP
+A partition descriptor has 6 fields:
+.br
+.nf
+.RS
+struct partition {
+ unsigned char bootable; /* 0 or 0x80 */
+ hsc begin_hsc;
+ unsigned char id;
+ hsc end_hsc;
+ unsigned int starting_sector;
+ unsigned int nr_of_sectors;
+}
+.RE
+.fi
+.LP
+The two hsc fields indicate head, sector and cylinder of the
+begin and the end of the partition. Since each hsc field only
+takes 3 bytes, only 24 bits are available, which does not
+suffice for big disks (say > 8GB). In fact, due to the wasteful
+representation (that uses a byte for the number of heads, which
+is typically 16), problems already start with 0.5GB.
+However Linux does not use these fields, and problems can arise
+only at boot time, before Linux has been started. For more
+details, see the
+.B lilo
+documentation.
+.LP
+Each partition has a type, its `Id', and if this type is 5 or f
+.IR "" "(`" "extended partition" "')"
+the starting sector of the partition
+again contains 4 partition descriptors. MSDOS only uses the
+first two of these: the first one an actual data partition,
+and the second one again an extended partition (or empty).
+In this way one gets a chain of extended partitions.
+Other operating systems have slightly different conventions.
+Linux also accepts type 85 as equivalent to 5 and f - this can be
+useful if one wants to have extended partitions under Linux past
+the 1024 cylinder boundary, without DOS FDISK hanging.
+(If there is no good reason, you should just use 5, which is
+understood by other systems.)
+.LP
+Partitions that are not primary or extended are called
+.IR logical .
+Often, one cannot boot from logical partitions (because the
+process of finding them is more involved than just looking
+at the MBR).
+Note that of an extended partition only the Id and the start
+are used. There are various conventions about what to write
+in the other fields. One should not try to use extended partitions
+for data storage or swap.
+
+.SH "INPUT FORMAT"
+.B sfdisk
+reads lines of the form
+.br
+.RS
+<start> <size> <id> <bootable> <c,h,s> <c,h,s>
+.RE
+where each line fills one partition descriptor.
+.LP
+Fields are separated by whitespace, or comma or semicolon possibly
+followed by whitespace; initial and trailing whitespace is ignored.
+Numbers can be octal, decimal or hexadecimal, decimal is default.
+When a field is absent or empty, a default value is used.
+.LP
+The <c,h,s> parts can (and probably should) be omitted -
+.B sfdisk
+computes them from <start> and <size> and the disk geometry
+as given by the kernel or specified using the \-H, \-S, \-C flags.
+.LP
+Bootable is specified as [*|\-], with as default not-bootable.
+(The value of this field is irrelevant for Linux - when Linux
+runs it has been booted already - but might play a role for
+certain boot loaders and for other operating systems.
+For example, when there are several primary DOS partitions,
+DOS assigns C: to the first among these that is bootable.)
+.LP
+Id is given in hex, without the 0x prefix, or is [E|S|L|X], where
+L (LINUX_NATIVE (83)) is the default, S is LINUX_SWAP (82), E
+is EXTENDED_PARTITION (5), and X is LINUX_EXTENDED (85).
+.LP
+The default value of start is the first nonassigned sector/cylinder/...
+.LP
+The default value of size is as much as possible (until next
+partition or end-of-disk).
+.LP
+However, for the four partitions inside an extended partition,
+the defaults are: Linux partition, Extended partition, Empty, Empty.
+.LP
+But when the \-N option (change a single partition only) is given,
+the default for each field is its previous value.
+.LP
+A '+' can be specified instead of a number for size, which means
+as much as possible. This is useful with the \-N option.
+.SH EXAMPLE
+The command
+.RS
+.nf
+.if t .ft CW
+sfdisk /dev/hdc << EOF
+0,407
+,407
+;
+;
+EOF
+.if t .ft R
+.fi
+.RE
+will partition /dev/hdc just as indicated above.
+
+The command
+.RS
+.nf
+.if t .ft CW
+sfdisk /dev/hdb << EOF
+,3,L
+,60,L
+,19,S
+,,E
+,130,L
+,130,L
+,130,L
+,,L
+EOF
+.if t .ft R
+.fi
+.RE
+will partition /dev/hdb into two Linux partitions of 3 and 60
+cylinders, a swap space of 19 cylinders, and an extended partition
+covering the rest. Inside the extended partition there are four
+Linux logical partitions, three of 130 cylinders and one
+covering the rest.
+
+With the \-x option, the number of input lines must be a multiple of 4:
+you have to list the two empty partitions that you never want
+using two blank lines. Without the \-x option, you give one line
+for the partitions inside a extended partition, instead of four,
+and terminate with end-of-file (^D).
+(And
+.B sfdisk
+will assume that your input line represents the first of four,
+that the second one is extended, and the 3rd and 4th are empty.)
+.SH "CAUTION WARNINGS"
+
+The options marked with caution in the manual page are dangerous.
+For example not all functionality is completely implemented,
+which can be a reason for unexpected results.
+.SH "DOS 6.x WARNING"
+
+The DOS 6.x FORMAT command looks for some information in the first
+sector of the data area of the partition, and treats this information
+as more reliable than the information in the partition table. DOS
+FORMAT expects DOS FDISK to clear the first 512 bytes of the data area
+of a partition whenever a size change occurs. DOS FORMAT will look at
+this extra information even if the /U flag is given -- we consider
+this a bug in DOS FORMAT and DOS FDISK.
+.LP
+The bottom line is that if you use sfdisk to change the size of a
+DOS partition table entry, then you must also use
+.B dd
+to zero the first 512 bytes of that partition before using DOS FORMAT to
+format the partition. For example, if you were using sfdisk to make a DOS
+partition table entry for /dev/hda1, then (after exiting sfdisk and
+rebooting Linux so that the partition table information is valid) you
+would use the command "dd if=/dev/zero of=/dev/hda1 bs=512 count=1" to zero
+the first 512 bytes of the partition.
+.B BE EXTREMELY CAREFUL
+if you use the
+.B dd
+command, since a small typo can make all of the data on your disk useless.
+
+For best results, you should always use an OS-specific partition table
+program. For example, you should make DOS partitions with the DOS FDISK
+program and Linux partitions with the Linux sfdisk program.
+
+.SH "DRDOS WARNINGS"
+
+Stephen Tweedie reported (930515): `Most reports of superblock
+corruption turn out to be due to bad partitioning, with one filesystem
+overrunning the start of the next and corrupting its superblock.
+I have even had this problem with the supposedly-reliable DRDOS. This
+was quite possibly due to DRDOS-6.0's FDISK command. Unless I created
+a blank track or cylinder between the DRDOS partition and the
+immediately following one, DRDOS would happily stamp all over the
+start of the next partition. Mind you, as long as I keep a little
+free disk space after any DRDOS partition, I don't have any other
+problems with the two coexisting on the one drive.'
+
+A. V. Le Blanc writes in README.efdisk: `Dr. DOS 5.0 and 6.0 has been
+reported to have problems cooperating with Linux, and with this version
+of efdisk in particular. This efdisk sets the system type
+to hexadecimal 81. Dr. DOS seems to confuse
+this with hexadecimal 1, a DOS code. If you use Dr. DOS, use the
+efdisk command 't' to change the system code of any Linux partitions
+to some number less than hexadecimal 80; I suggest 41 and 42 for
+the moment.'
+
+A. V. Le Blanc writes in his README.fdisk: `DR-DOS 5.0 and 6.0
+are reported to have difficulties with partition ID codes of 80 or more.
+The Linux `fdisk' used to set the system type
+of new partitions to hexadecimal 81. DR-DOS seems to confuse this with
+hexadecimal 1, a DOS code. The values 82 for swap and 83 for file
+systems should not cause problems with DR-DOS. If they do, you may use
+the `fdisk' command `t' to change the system code of any Linux
+partitions to some number less than hexadecimal 80; I suggest 42 and 43
+for the moment.'
+
+In fact, it seems that only 4 bits are significant for the DRDOS FDISK,
+so that for example 11 and 21 are listed as DOS 2.0. However, DRDOS
+itself seems to use the full byte. I have not been able to reproduce
+any corruption with DRDOS or its fdisk.
+
+.SH BUGS
+There are too many options.
+.LP
+There is no support for non-DOS partition types.
+
+.\" .SH AUTHOR
+.\" A. E. Brouwer (aeb@cwi.nl)
+.\"
+.SH "SEE ALSO"
+.BR cfdisk (8),
+.BR fdisk (8),
+.BR mkfs (8),
+.BR parted (8),
+.BR partprobe (8),
+.BR kpartx (8)
+.SH AVAILABILITY
+The sfdisk command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/fdisks/sfdisk.c b/fdisks/sfdisk.c
new file mode 100644
index 0000000..15c6d33
--- /dev/null
+++ b/fdisks/sfdisk.c
@@ -0,0 +1,3242 @@
+/*
+ * sfdisk version 3.0 - aeb - 950813
+ *
+ * Copyright (C) 1995 Andries E. Brouwer (aeb@cwi.nl)
+ *
+ * This program is free software. You can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation: either Version 1
+ * or (at your option) any later version.
+ *
+ * A.V. Le Blanc (LeBlanc@mcc.ac.uk) wrote Linux fdisk 1992-1994,
+ * patched by various people (faith@cs.unc.edu, martin@cs.unc.edu,
+ * leisner@sdsp.mc.xerox.com, esr@snark.thyrsus.com, aeb@cwi.nl)
+ * 1993-1995, with version numbers (as far as I have seen) 0.93 - 2.0e.
+ * This program had (head,sector,cylinder) as basic unit, and was
+ * (therefore) broken in several ways for the use on larger disks -
+ * for example, my last patch (from 2.0d to 2.0e) was required
+ * to allow a partition to cross cylinder 8064, and to write an
+ * extended partition past the 4GB mark.
+ *
+ * The current program is a rewrite from scratch, and I started a
+ * version numbering at 3.0.
+ * Andries Brouwer, aeb@cwi.nl, 950813
+ *
+ * Well, a good user interface is still lacking. On the other hand,
+ * many configurations cannot be handled by any other fdisk.
+ * I changed the name to sfdisk to prevent confusion. - aeb, 970501
+ */
+
+#define PROGNAME "sfdisk"
+
+#include <stdio.h>
+#include <stdlib.h> /* atoi, free */
+#include <stdarg.h> /* varargs */
+#include <unistd.h> /* read, write */
+#include <fcntl.h> /* O_RDWR */
+#include <errno.h> /* ERANGE */
+#include <string.h> /* strchr(), strrchr() */
+#include <ctype.h>
+#include <getopt.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/utsname.h>
+#include <limits.h>
+
+#include "c.h"
+#include "nls.h"
+#include "xalloc.h"
+#include "blkdev.h"
+#include "linux_version.h"
+#include "common.h"
+#include "wholedisk.h"
+#include "gpt.h"
+#include "pathnames.h"
+#include "canonicalize.h"
+#include "rpmatch.h"
+#include "closestream.h"
+#include "strutils.h"
+
+/*
+ * Table of contents:
+ * A. About seeking
+ * B. About sectors
+ * C. About heads, sectors and cylinders
+ * D. About system Ids
+ * E. About partitions
+ * F. The standard input
+ * G. The command line
+ * H. Listing the current situation
+ * I. Writing the new situation
+ */
+int exit_status = 0;
+
+int force = 0; /* 1: do what I say, even if it is stupid ... */
+int quiet = 0; /* 1: suppress all warnings */
+/* IA-64 gcc spec file currently does -DLinux... */
+#undef Linux
+int Linux = 0; /* 1: suppress warnings irrelevant for Linux */
+int DOS = 0; /* 1: shift extended partitions by #sectors, not 1 */
+int DOS_extended = 0; /* 1: use starting cylinder boundary of extd partn */
+int dump = 0; /* 1: list in a format suitable for later input */
+int verify = 0; /* 1: check that listed partition is reasonable */
+int no_write = 0; /* 1: do not actually write to disk */
+int no_reread = 0; /* 1: skip the BLKRRPART ioctl test at startup */
+int leave_last = 0; /* 1: don't allocate the last cylinder */
+int opt_list = 0;
+char *save_sector_file = NULL;
+char *restore_sector_file = NULL;
+
+static void
+my_warn(char *s, ...) {
+ va_list p;
+
+ va_start(p, s);
+ if (!quiet) {
+ fflush(stdout);
+ vfprintf(stderr, s, p);
+ fflush(stderr);
+ }
+ va_end(p);
+}
+
+static void
+error(char *s, ...) {
+ va_list p;
+
+ va_start(p, s);
+ fflush(stdout);
+ fprintf(stderr, "\n" PROGNAME ": ");
+ vfprintf(stderr, s, p);
+ fflush(stderr);
+ va_end(p);
+}
+
+/*
+ * A. About seeking
+ */
+
+/*
+ * sseek: seek to specified sector - return 0 on failure
+ *
+ * Note: we use 512-byte sectors here, irrespective of the hardware ss.
+ */
+
+static int
+sseek(char *dev, int fd, unsigned long s) {
+ off_t in, out;
+ in = ((off_t) s << 9);
+
+ if ((out = lseek(fd, in, SEEK_SET)) != in) {
+ perror("lseek");
+ error(_("seek error on %s - cannot seek to %lu\n"), dev, s);
+ return 0;
+ }
+
+ if (in != out) {
+ error(_("seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"),
+ (unsigned int)(in >> 32), (unsigned int)(in & 0xffffffff),
+ (unsigned int)(out >> 32), (unsigned int)(out & 0xffffffff));
+ return 0;
+ }
+ return 1;
+}
+
+/*
+ * B. About sectors
+ */
+
+/*
+ * We preserve all sectors read in a chain - some of these will
+ * have to be modified and written back.
+ */
+struct sector {
+ struct sector *next;
+ unsigned long long sectornumber;
+ int to_be_written;
+ char data[512];
+} *sectorhead;
+
+static void
+free_sectors(void) {
+ struct sector *s;
+
+ while (sectorhead) {
+ s = sectorhead;
+ sectorhead = s->next;
+ free(s);
+ }
+}
+
+static struct sector *
+get_sector(char *dev, int fd, unsigned long long sno) {
+ struct sector *s;
+
+ for (s = sectorhead; s; s = s->next)
+ if (s->sectornumber == sno)
+ return s;
+
+ if (!sseek(dev, fd, sno))
+ return 0;
+
+ s = xmalloc(sizeof(struct sector));
+
+ if (read(fd, s->data, sizeof(s->data)) != sizeof(s->data)) {
+ if (errno) /* 0 in case we read past end-of-disk */
+ perror("read");
+ error(_("read error on %s - cannot read sector %lu\n"), dev, sno);
+ free(s);
+ return 0;
+ }
+
+ s->next = sectorhead;
+ sectorhead = s;
+ s->sectornumber = sno;
+ s->to_be_written = 0;
+
+ return s;
+}
+
+static int
+msdos_signature(struct sector *s) {
+ unsigned char *data = (unsigned char *)s->data;
+ if (data[510] == 0x55 && data[511] == 0xaa)
+ return 1;
+ return 0;
+}
+
+static int
+write_sectors(char *dev, int fd) {
+ struct sector *s;
+
+ for (s = sectorhead; s; s = s->next)
+ if (s->to_be_written) {
+ if (!sseek(dev, fd, s->sectornumber))
+ return 0;
+ if (write(fd, s->data, sizeof(s->data)) != sizeof(s->data)) {
+ perror("write");
+ error(_("write error on %s - cannot write sector %lu\n"),
+ dev, s->sectornumber);
+ return 0;
+ }
+ s->to_be_written = 0;
+ }
+ return 1;
+}
+
+static void
+ulong_to_chars(unsigned long u, char *uu) {
+ int i;
+
+ for (i = 0; i < 4; i++) {
+ uu[i] = (u & 0xff);
+ u >>= 8;
+ }
+}
+
+static unsigned long
+chars_to_ulong(unsigned char *uu) {
+ int i;
+ unsigned long u = 0;
+
+ for (i = 3; i >= 0; i--)
+ u = (u << 8) | uu[i];
+ return u;
+}
+
+static int
+save_sectors(char *dev, int fdin) {
+ struct sector *s;
+ char ss[516];
+ int fdout = -1;
+
+ fdout = open(save_sector_file, O_WRONLY | O_CREAT, 0444);
+ if (fdout < 0) {
+ perror(save_sector_file);
+ error(_("cannot open partition sector save file (%s)\n"),
+ save_sector_file);
+ goto err;
+ }
+
+ for (s = sectorhead; s; s = s->next)
+ if (s->to_be_written) {
+ ulong_to_chars(s->sectornumber, ss);
+ if (!sseek(dev, fdin, s->sectornumber))
+ goto err;
+ if (read(fdin, ss + 4, 512) != 512) {
+ perror("read");
+ error(_("read error on %s - cannot read sector %lu\n"),
+ dev, s->sectornumber);
+ goto err;
+ }
+ if (write(fdout, ss, sizeof(ss)) != sizeof(ss)) {
+ perror("write");
+ error(_("write error on %s\n"), save_sector_file);
+ goto err;
+ }
+ }
+
+ close(fdout);
+ return 1;
+
+ err:
+ if (fdout >= 0)
+ close(fdout);
+ return 0;
+}
+
+static int reread_disk_partition(char *dev, int fd);
+
+static int
+restore_sectors(char *dev) {
+ int fdin = -1, fdout = -1;
+ int ct;
+ struct stat statbuf;
+ char *ss0 = NULL, *ss;
+ unsigned long sno;
+
+ if (stat(restore_sector_file, &statbuf) < 0) {
+ perror(restore_sector_file);
+ error(_("cannot stat partition restore file (%s)\n"),
+ restore_sector_file);
+ goto err;
+ }
+ if (statbuf.st_size % 516) {
+ error(_("partition restore file has wrong size - not restoring\n"));
+ goto err;
+ }
+
+ ss0 = xmalloc(statbuf.st_size);
+ ss = ss0;
+
+ fdin = open(restore_sector_file, O_RDONLY);
+ if (fdin < 0) {
+ perror(restore_sector_file);
+ error(_("cannot open partition restore file (%s)\n"),
+ restore_sector_file);
+ goto err;
+ }
+ if (read(fdin, ss, statbuf.st_size) != statbuf.st_size) {
+ perror("read");
+ error(_("error reading %s\n"), restore_sector_file);
+ goto err;
+ }
+
+ fdout = open(dev, O_WRONLY);
+ if (fdout < 0) {
+ perror(dev);
+ error(_("cannot open device %s for writing\n"), dev);
+ goto err;
+ }
+
+ ct = statbuf.st_size / 516;
+ while (ct--) {
+ sno = chars_to_ulong((unsigned char *)ss);
+ if (!sseek(dev, fdout, sno))
+ goto err;
+ if (write(fdout, ss + 4, 512) != 512) {
+ perror(dev);
+ error(_("error writing sector %lu on %s\n"), sno, dev);
+ goto err;
+ }
+ ss += 516;
+ }
+ free(ss0);
+ ss0 = NULL;
+
+ if (!reread_disk_partition(dev, fdout)) /* closes fdout */
+ goto err;
+ close(fdin);
+
+ return 1;
+
+ err:
+ free(ss0);
+ if (fdin >= 0)
+ close(fdin);
+ if (fdout >= 0)
+ close(fdout);
+
+ return 0;
+}
+
+/*
+ * C. About heads, sectors and cylinders
+ */
+
+/*
+ * <linux/hdreg.h> defines HDIO_GETGEO and
+ * struct hd_geometry {
+ * unsigned char heads;
+ * unsigned char sectors;
+ * unsigned short cylinders;
+ * unsigned long start;
+ * };
+ *
+ * For large disks g.cylinders is truncated, so we use BLKGETSIZE.
+ */
+
+/*
+ * We consider several geometries for a disk:
+ * B - the BIOS geometry, gotten from the kernel via HDIO_GETGEO
+ * F - the fdisk geometry
+ * U - the user-specified geometry
+ *
+ * 0 means unspecified / unknown
+ */
+struct geometry {
+ unsigned long long total_size; /* in sectors */
+ unsigned long cylindersize; /* in sectors */
+ unsigned long heads, sectors, cylinders;
+ unsigned long start;
+} B, F, U;
+
+static struct geometry
+get_geometry(char *dev, int fd, int silent) {
+ struct hd_geometry g;
+ unsigned long cyls;
+ unsigned long long sectors;
+ struct geometry R;
+
+#ifdef HDIO_GETGEO
+ if (ioctl(fd, HDIO_GETGEO, &g))
+#endif
+ {
+ g.heads = g.sectors = g.cylinders = g.start = 0;
+ if (!silent)
+ warnx(_("Disk %s: cannot get geometry\n"), dev);
+ }
+
+ R.start = g.start;
+ R.heads = g.heads;
+ R.sectors = g.sectors;
+ R.cylindersize = R.heads * R.sectors;
+ R.cylinders = 0;
+ R.total_size = 0;
+
+ if (blkdev_get_sectors(fd, &sectors) == -1) {
+ /* maybe an ordinary file */
+ struct stat s;
+
+ if (fstat(fd, &s) == 0 && S_ISREG(s.st_mode))
+ R.total_size = (s.st_size >> 9);
+ else if (!silent)
+ warnx(_("Disk %s: cannot get size\n"), dev);
+ } else
+ R.total_size = sectors;
+
+ if (R.cylindersize && R.total_size) {
+ sectors /= R.cylindersize;
+ cyls = sectors;
+ if (cyls != sectors)
+ cyls = ~0;
+ R.cylinders = cyls;
+ }
+
+ return R;
+}
+
+static void
+get_cylindersize(char *dev, int fd, int silent) {
+ struct geometry R;
+
+ R = get_geometry(dev, fd, silent);
+
+ B.heads = (U.heads ? U.heads : R.heads ? R.heads : 255);
+ B.sectors = (U.sectors ? U.sectors : R.sectors ? R.sectors : 63);
+ B.cylinders = (U.cylinders ? U.cylinders : R.cylinders);
+
+ B.cylindersize = B.heads * B.sectors;
+ B.total_size = R.total_size;
+
+ if (B.cylinders == 0 && B.cylindersize != 0)
+ B.cylinders = B.total_size / B.cylindersize;
+
+ if (R.start && !force) {
+ my_warn(_("Warning: start=%lu - this looks like a partition rather than\n"
+ "the entire disk. Using fdisk on it is probably meaningless.\n"
+ "[Use the --force option if you really want this]\n"),
+ R.start);
+ exit(1);
+ }
+#if 0
+ if (R.heads && B.heads != R.heads)
+ my_warn(_("Warning: HDIO_GETGEO says that there are %lu heads\n"),
+ R.heads);
+ if (R.sectors && B.sectors != R.sectors)
+ my_warn(_("Warning: HDIO_GETGEO says that there are %lu sectors\n"),
+ R.sectors);
+ if (R.cylinders && B.cylinders != R.cylinders
+ && B.cylinders < 65536 && R.cylinders < 65536)
+ my_warn(_("Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"),
+ R.cylinders);
+#endif
+
+ if (B.sectors > 63)
+ my_warn(_("Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+ "This will give problems with all software that uses C/H/S addressing.\n"),
+ B.sectors);
+ if (!silent)
+ printf(_("\nDisk %s: %lu cylinders, %lu heads, %lu sectors/track\n"),
+ dev, B.cylinders, B.heads, B.sectors);
+}
+
+typedef struct {
+ unsigned char h, s, c;
+} __attribute__ ((packed)) chs; /* has some c bits in s */
+chs zero_chs = { 0, 0, 0 };
+
+typedef struct {
+ unsigned long h, s, c;
+} longchs;
+longchs zero_longchs;
+
+static chs
+longchs_to_chs(longchs aa, struct geometry G) {
+ chs a;
+
+ if (aa.h < 256 && aa.s < 64 && aa.c < 1024) {
+ a.h = aa.h;
+ a.s = aa.s | ((aa.c >> 2) & 0xc0);
+ a.c = (aa.c & 0xff);
+ } else if (G.heads && G.sectors) {
+ a.h = G.heads - 1;
+ a.s = G.sectors | 0xc0;
+ a.c = 0xff;
+ } else
+ a = zero_chs;
+ return a;
+}
+
+static longchs
+chs_to_longchs(chs a) {
+ longchs aa;
+
+ aa.h = a.h;
+ aa.s = (a.s & 0x3f);
+ aa.c = (a.s & 0xc0);
+ aa.c = (aa.c << 2) + a.c;
+ return aa;
+}
+
+static longchs
+ulong_to_longchs(unsigned long sno, struct geometry G) {
+ longchs aa;
+
+ if (G.heads && G.sectors && G.cylindersize) {
+ aa.s = 1 + sno % G.sectors;
+ aa.h = (sno / G.sectors) % G.heads;
+ aa.c = sno / G.cylindersize;
+ return aa;
+ } else {
+ return zero_longchs;
+ }
+}
+
+static chs
+ulong_to_chs(unsigned long sno, struct geometry G) {
+ return longchs_to_chs(ulong_to_longchs(sno, G), G);
+}
+
+#if 0
+static unsigned long
+longchs_to_ulong(longchs aa, struct geometry G) {
+ return (aa.c * G.cylindersize + aa.h * G.sectors + aa.s - 1);
+}
+
+static unsigned long
+chs_to_ulong(chs a, struct geometry G) {
+ return longchs_to_ulong(chs_to_longchs(a), G);
+}
+#endif
+
+static int
+is_equal_chs(chs a, chs b) {
+ return (a.h == b.h && a.s == b.s && a.c == b.c);
+}
+
+static int
+chs_ok(chs a, char *v, char *w) {
+ longchs aa = chs_to_longchs(a);
+ int ret = 1;
+
+ if (is_equal_chs(a, zero_chs))
+ return 1;
+ if (B.heads && aa.h >= B.heads) {
+ my_warn(_("%s of partition %s has impossible value for head: "
+ "%lu (should be in 0-%lu)\n"), w, v, aa.h, B.heads - 1);
+ ret = 0;
+ }
+ if (B.sectors && (aa.s == 0 || aa.s > B.sectors)) {
+ my_warn(_("%s of partition %s has impossible value for sector: "
+ "%lu (should be in 1-%lu)\n"), w, v, aa.s, B.sectors);
+ ret = 0;
+ }
+ if (B.cylinders && aa.c >= B.cylinders) {
+ my_warn(_("%s of partition %s has impossible value for cylinders: "
+ "%lu (should be in 0-%lu)\n"), w, v, aa.c, B.cylinders - 1);
+ ret = 0;
+ }
+ return ret;
+}
+
+/*
+ * D. About system Ids
+ */
+
+#define EMPTY_PARTITION 0
+#define EXTENDED_PARTITION 5
+#define WIN98_EXTENDED 0x0f
+#define DM6_AUX1PARTITION 0x51
+#define DM6_AUX3PARTITION 0x53
+#define DM6_PARTITION 0x54
+#define EZD_PARTITION 0x55
+#define LINUX_SWAP 0x82
+#define LINUX_NATIVE 0x83
+#define LINUX_EXTENDED 0x85
+#define BSD_PARTITION 0xa5
+#define NETBSD_PARTITION 0xa9
+
+/* List of partition types now in i386_sys_types.c */
+
+static const char *
+sysname(unsigned char type) {
+ struct systypes *s;
+
+ for (s = i386_sys_types; s->name; s++)
+ if (s->type == type)
+ return _(s->name);
+ return _("Unknown");
+}
+
+static void
+list_types(void) {
+ struct systypes *s;
+
+ printf(_("Id Name\n\n"));
+ for (s = i386_sys_types; s->name; s++)
+ printf("%2x %s\n", s->type, _(s->name));
+}
+
+static int
+is_extended(unsigned char type) {
+ return (type == EXTENDED_PARTITION
+ || type == LINUX_EXTENDED || type == WIN98_EXTENDED);
+}
+
+static int
+is_bsd(unsigned char type) {
+ return (type == BSD_PARTITION || type == NETBSD_PARTITION);
+}
+
+/*
+ * E. About partitions
+ */
+
+/* MS/DOS partition */
+
+struct partition {
+ unsigned char bootable; /* 0 or 0x80 */
+ chs begin_chs;
+ unsigned char sys_type;
+ chs end_chs;
+ unsigned int start_sect; /* starting sector counting from 0 */
+ unsigned int nr_sects; /* nr of sectors in partition */
+} __attribute__ ((packed));
+
+/* Unfortunately, partitions are not aligned, and non-Intel machines
+ are unhappy with non-aligned integers. So, we need a copy by hand. */
+static int
+copy_to_int(unsigned char *cp) {
+ unsigned int m;
+
+ m = *cp++;
+ m += (*cp++ << 8);
+ m += (*cp++ << 16);
+ m += (*cp++ << 24);
+ return m;
+}
+
+static void
+copy_from_int(int m, char *cp) {
+ *cp++ = (m & 0xff);
+ m >>= 8;
+ *cp++ = (m & 0xff);
+ m >>= 8;
+ *cp++ = (m & 0xff);
+ m >>= 8;
+ *cp++ = (m & 0xff);
+}
+
+static void
+copy_to_part(char *cp, struct partition *p) {
+ p->bootable = *cp++;
+ p->begin_chs.h = *cp++;
+ p->begin_chs.s = *cp++;
+ p->begin_chs.c = *cp++;
+ p->sys_type = *cp++;
+ p->end_chs.h = *cp++;
+ p->end_chs.s = *cp++;
+ p->end_chs.c = *cp++;
+ p->start_sect = copy_to_int((unsigned char *)cp);
+ p->nr_sects = copy_to_int((unsigned char *)cp + 4);
+}
+
+static void
+copy_from_part(struct partition *p, char *cp) {
+ *cp++ = p->bootable;
+ *cp++ = p->begin_chs.h;
+ *cp++ = p->begin_chs.s;
+ *cp++ = p->begin_chs.c;
+ *cp++ = p->sys_type;
+ *cp++ = p->end_chs.h;
+ *cp++ = p->end_chs.s;
+ *cp++ = p->end_chs.c;
+ copy_from_int(p->start_sect, cp);
+ copy_from_int(p->nr_sects, cp + 4);
+}
+
+/* Roughly speaking, Linux doesn't use any of the above fields except
+ for partition type, start sector and number of sectors. (However,
+ see also linux/drivers/scsi/fdomain.c.)
+ The only way partition type is used (in the kernel) is the comparison
+ for equality with EXTENDED_PARTITION (and these Disk Manager types). */
+
+struct part_desc {
+ unsigned long long start;
+ unsigned long long size;
+ unsigned long long sector, offset; /* disk location of this info */
+ struct partition p;
+ struct part_desc *ep; /* extended partition containing this one */
+ int ptype;
+#define DOS_TYPE 0
+#define BSD_TYPE 1
+} zero_part_desc;
+
+static struct part_desc *
+outer_extended_partition(struct part_desc *p) {
+ while (p->ep)
+ p = p->ep;
+ return p;
+}
+
+static int
+is_parent(struct part_desc *pp, struct part_desc *p) {
+ while (p) {
+ if (pp == p)
+ return 1;
+ p = p->ep;
+ }
+ return 0;
+}
+
+struct disk_desc {
+ struct part_desc partitions[512];
+ int partno;
+} oldp, newp;
+
+/* determine where on the disk this information goes */
+static void
+add_sector_and_offset(struct disk_desc *z) {
+ int pno;
+ struct part_desc *p;
+
+ for (pno = 0; pno < z->partno; pno++) {
+ p = &(z->partitions[pno]);
+ p->offset = 0x1be + (pno % 4) * sizeof(struct partition);
+ p->sector = (p->ep ? p->ep->start : 0);
+ }
+}
+
+/* tell the kernel to reread the partition tables */
+static int
+reread_ioctl(int fd) {
+#ifdef BLKRRPART
+ if (ioctl(fd, BLKRRPART))
+#else
+ errno = ENOSYS;
+#endif
+ {
+ /* perror might change errno */
+ int err = errno;
+
+ perror("BLKRRPART");
+
+ /* 2.6.8 returns EIO for a zero table */
+ if (err == EBUSY)
+ return -1;
+ }
+ return 0;
+}
+
+/* reread after writing */
+static int
+reread_disk_partition(char *dev, int fd) {
+ printf(_("Re-reading the partition table ...\n"));
+ fflush(stdout);
+ sync();
+
+ if (reread_ioctl(fd) && is_blkdev(fd)) {
+ warnx(_("The command to re-read the partition table failed.\n"
+ "Run partprobe(8), kpartx(8) or reboot your system now,\n"
+ "before using mkfs\n"));
+ return 0;
+ }
+
+ if (fsync(fd) || close(fd)) {
+ perror(dev);
+ warnx(_("Error closing %s\n"), dev);
+ return 0;
+ }
+ printf("\n");
+
+ return 1;
+}
+
+/* find Linux name of this partition, assuming that it will have a name */
+static int
+index_to_linux(int pno, struct disk_desc *z) {
+ int i, ct = 1;
+ struct part_desc *p = &(z->partitions[0]);
+ for (i = 0; i < pno; i++, p++)
+ if (i < 4 || (p->size > 0 && !is_extended(p->p.sys_type)))
+ ct++;
+ return ct;
+}
+
+static int
+linux_to_index(int lpno, struct disk_desc *z) {
+ int i, ct = 0;
+ struct part_desc *p = &(z->partitions[0]);
+ for (i = 0; i < z->partno && ct < lpno; i++, p++)
+ if ((i < 4 || (p->size > 0 && !is_extended(p->p.sys_type)))
+ && ++ct == lpno)
+ return i;
+ return -1;
+}
+
+static int
+asc_to_index(char *pnam, struct disk_desc *z) {
+ int pnum, pno;
+
+ if (*pnam == '#') {
+ pno = atoi(pnam + 1);
+ } else {
+ pnum = atoi(pnam);
+ pno = linux_to_index(pnum, z);
+ }
+ if (!(pno >= 0 && pno < z->partno))
+ errx(EXIT_FAILURE, _("%s: no such partition\n"), pnam);
+ return pno;
+}
+
+/*
+ * List partitions - in terms of sectors, blocks or cylinders
+ */
+#define F_SECTOR 1
+#define F_BLOCK 2
+#define F_CYLINDER 3
+#define F_MEGABYTE 4
+
+int default_format = F_MEGABYTE;
+int specified_format = 0;
+int show_extended = 0;
+int one_only = 0;
+int one_only_pno;
+int increment = 0;
+
+static void
+set_format(char c) {
+ switch (c) {
+ default:
+ warnx(_("unrecognized format - using sectors\n"));
+ /* fallthrough */
+ case 'S':
+ specified_format = F_SECTOR;
+ break;
+ case 'B':
+ specified_format = F_BLOCK;
+ break;
+ case 'C':
+ specified_format = F_CYLINDER;
+ break;
+ case 'M':
+ specified_format = F_MEGABYTE;
+ break;
+ }
+}
+
+static unsigned long
+unitsize(int format) {
+ default_format = (B.cylindersize ? F_CYLINDER : F_MEGABYTE);
+ if (!format && !(format = specified_format))
+ format = default_format;
+
+ switch (format) {
+ default:
+ case F_CYLINDER:
+ if (B.cylindersize)
+ return B.cylindersize;
+ case F_SECTOR:
+ return 1;
+ case F_BLOCK:
+ return 2;
+ case F_MEGABYTE:
+ return 2048;
+ }
+}
+
+static unsigned long long
+get_disksize(int format) {
+ if (B.total_size && leave_last)
+ /* don't use last cylinder (--leave-last option) */
+ return (B.total_size - B.cylindersize) / unitsize(format);
+
+ return B.total_size / unitsize(format);
+}
+
+static void
+out_partition_header(char *dev, int format, struct geometry G) {
+ if (dump) {
+ printf("# partition table of %s\n", dev);
+ printf("unit: sectors\n\n");
+ return;
+ }
+
+ default_format = (G.cylindersize ? F_CYLINDER : F_MEGABYTE);
+ if (!format && !(format = specified_format))
+ format = default_format;
+
+ switch (format) {
+ default:
+ warnx(_("unimplemented format - using %s\n"),
+ G.cylindersize ? _("cylinders") : _("sectors"));
+ case F_CYLINDER:
+ if (G.cylindersize) {
+ printf(_("Units: cylinders of %lu bytes, blocks of 1024 bytes"
+ ", counting from %d\n\n"), G.cylindersize << 9, increment);
+ printf(_(" Device Boot Start End #cyls #blocks Id System\n"));
+ break;
+ }
+ /* fall through */
+ case F_SECTOR:
+ printf(_("Units: sectors of 512 bytes, counting from %d\n\n"),
+ increment);
+ printf(_(" Device Boot Start End #sectors Id System\n"));
+ break;
+ case F_BLOCK:
+ printf(_("Units: blocks of 1024 bytes, counting from %d\n\n"),
+ increment);
+ printf(_(" Device Boot Start End #blocks Id System\n"));
+ break;
+ case F_MEGABYTE:
+ printf(_("Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes"
+ ", counting from %d\n\n"), increment);
+ printf(_(" Device Boot Start End MiB #blocks Id System\n"));
+ break;
+ }
+}
+
+static void
+out_rounddown(int width, unsigned long long n, unsigned long unit, int inc) {
+ printf("%*llu", width, inc + n / unit);
+ if (unit != 1)
+ putchar((n % unit) ? '+' : ' ');
+ putchar(' ');
+}
+
+static void
+out_roundup(int width, unsigned long long n, unsigned long unit, int inc) {
+ if (n == (unsigned long long)(-1))
+ printf("%*s", width, "-");
+ else
+ printf("%*llu", width, inc + n / unit);
+ if (unit != 1)
+ putchar(((n + 1) % unit) ? '-' : ' ');
+ putchar(' ');
+}
+
+static void
+out_roundup_size(int width, unsigned long long n, unsigned long unit) {
+ printf("%*llu", width, (n + unit - 1) / unit);
+ if (unit != 1)
+ putchar((n % unit) ? '-' : ' ');
+ putchar(' ');
+}
+
+static struct geometry
+get_fdisk_geometry_one(struct part_desc *p) {
+ struct geometry G;
+
+ memset(&G, 0, sizeof(struct geometry));
+ chs b = p->p.end_chs;
+ longchs bb = chs_to_longchs(b);
+ G.heads = bb.h + 1;
+ G.sectors = bb.s;
+ G.cylindersize = G.heads * G.sectors;
+ return G;
+}
+
+static int
+get_fdisk_geometry(struct disk_desc *z) {
+ struct part_desc *p;
+ int pno, agree;
+ struct geometry G0, G;
+
+ memset(&G0, 0, sizeof(struct geometry));
+ agree = 0;
+ for (pno = 0; pno < z->partno; pno++) {
+ p = &(z->partitions[pno]);
+ if (p->size != 0 && p->p.sys_type != 0) {
+ G = get_fdisk_geometry_one(p);
+ if (!G0.heads) {
+ G0 = G;
+ agree = 1;
+ } else if (G.heads != G0.heads || G.sectors != G0.sectors) {
+ agree = 0;
+ break;
+ }
+ }
+ }
+ F = (agree ? G0 : B);
+ return (F.sectors != B.sectors || F.heads != B.heads);
+}
+
+static void
+out_partition(char *dev, int format, struct part_desc *p,
+ struct disk_desc *z, struct geometry G) {
+ unsigned long long start, end, size;
+ int pno, lpno;
+
+ if (!format && !(format = specified_format))
+ format = default_format;
+
+ pno = p - &(z->partitions[0]); /* our index */
+ lpno = index_to_linux(pno, z); /* name of next one that has a name */
+ if (pno == linux_to_index(lpno, z)) /* was that us? */
+ printf("%s", partname(dev, lpno, 10)); /* yes */
+ else if (show_extended)
+ printf(" - ");
+ else
+ return;
+ putchar(dump ? ':' : ' ');
+
+ start = p->start;
+ end = p->start + p->size - 1;
+ size = p->size;
+
+ if (dump) {
+ printf(" start=%9llu", start);
+ printf(", size=%9llu", size);
+ if (p->ptype == DOS_TYPE) {
+ printf(", Id=%2x", p->p.sys_type);
+ if (p->p.bootable == 0x80)
+ printf(", bootable");
+ }
+ printf("\n");
+ return;
+ }
+
+ if (p->ptype != DOS_TYPE || p->p.bootable == 0)
+ printf(" ");
+ else if (p->p.bootable == 0x80)
+ printf(" * ");
+ else
+ printf(" ? "); /* garbage */
+
+ switch (format) {
+ case F_CYLINDER:
+ if (G.cylindersize) {
+ out_rounddown(6, start, G.cylindersize, increment);
+ out_roundup(6, end, G.cylindersize, increment);
+ out_roundup_size(6, size, G.cylindersize);
+ out_rounddown(9, size, 2, 0);
+ break;
+ }
+ /* fall through */
+ default:
+ case F_SECTOR:
+ out_rounddown(9, start, 1, increment);
+ out_roundup(9, end, 1, increment);
+ out_rounddown(10, size, 1, 0);
+ break;
+ case F_BLOCK:
+#if 0
+ printf("%8lu,%3lu ",
+ p->sector / 2, ((p->sector & 1) ? 512 : 0) + p->offset);
+#endif
+ out_rounddown(8, start, 2, increment);
+ out_roundup(8, end, 2, increment);
+ out_rounddown(9, size, 2, 0);
+ break;
+ case F_MEGABYTE:
+ out_rounddown(5, start, 2048, increment);
+ out_roundup(5, end, 2048, increment);
+ out_roundup_size(5, size, 2048);
+ out_rounddown(9, size, 2, 0);
+ break;
+ }
+ if (p->ptype == DOS_TYPE) {
+ printf(" %2x %s\n", p->p.sys_type, sysname(p->p.sys_type));
+ } else {
+ printf("\n");
+ }
+
+ /* Is chs as we expect? */
+ if (!quiet && p->ptype == DOS_TYPE) {
+ chs a, b;
+ longchs aa, bb;
+ a = (size ? ulong_to_chs(start, G) : zero_chs);
+ b = p->p.begin_chs;
+ aa = chs_to_longchs(a);
+ bb = chs_to_longchs(b);
+ if (a.s && !is_equal_chs(a, b))
+ warnx(_("\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
+ aa.c, aa.h, aa.s, bb.c, bb.h, bb.s);
+ a = (size ? ulong_to_chs(end, G) : zero_chs);
+ b = p->p.end_chs;
+ aa = chs_to_longchs(a);
+ bb = chs_to_longchs(b);
+ if (a.s && !is_equal_chs(a, b))
+ warnx(_("\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
+ aa.c, aa.h, aa.s, bb.c, bb.h, bb.s);
+ if (G.cylinders && G.cylinders < 1024 && bb.c > G.cylinders)
+ warnx(_("partition ends on cylinder %ld, beyond the end of the disk\n"),
+ bb.c);
+ }
+}
+
+static void
+out_partitions(char *dev, struct disk_desc *z) {
+ int pno, format = 0;
+
+ if (z->partno == 0) {
+ if (!opt_list)
+ warnx(_("No partitions found\n"));
+ } else {
+ if (get_fdisk_geometry(z) && !dump) {
+ warnx(_("Warning: The partition table looks like it was made\n"
+ " for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+ "For this listing I'll assume that geometry.\n"),
+ F.heads, F.sectors, B.cylinders, B.heads, B.sectors);
+ }
+
+ out_partition_header(dev, format, F);
+ for (pno = 0; pno < z->partno; pno++) {
+ out_partition(dev, format, &(z->partitions[pno]), z, F);
+ if (show_extended && pno % 4 == 3)
+ printf("\n");
+ }
+ }
+}
+
+static int
+disj(struct part_desc *p, struct part_desc *q) {
+ return ((p->start + p->size <= q->start)
+ || (is_extended(p->p.sys_type)
+ && q->start + q->size <= p->start + p->size));
+}
+
+static char *
+pnumber(struct part_desc *p, struct disk_desc *z) {
+ static char buf[20];
+ int this, next;
+ struct part_desc *p0 = &(z->partitions[0]);
+
+ this = index_to_linux(p - p0, z);
+ next = index_to_linux(p - p0 + 1, z);
+
+ if (next > this)
+ sprintf(buf, "%d", this);
+ else
+ sprintf(buf, "[%d]", this);
+ return buf;
+}
+
+static int
+partitions_ok(int fd, struct disk_desc *z) {
+ struct part_desc *partitions = &(z->partitions[0]), *p, *q;
+ int partno = z->partno;
+
+#define PNO(p) pnumber(p, z)
+
+ /* Have at least 4 partitions been defined? */
+ if (partno < 4) {
+ if (!partno)
+ errx(EXIT_FAILURE, _("no partition table present."));
+ else
+ errx(EXIT_FAILURE, _("strange, only %d partitions defined."), partno);
+ return 0;
+ }
+
+ /* Are the partitions of size 0 marked empty?
+ And do they have start = 0? And bootable = 0? */
+ for (p = partitions; p - partitions < partno; p++)
+ if (p->size == 0) {
+ if (p->p.sys_type != EMPTY_PARTITION)
+ my_warn(_("Warning: partition %s has size 0 but is not marked Empty\n"),
+ PNO(p));
+ else if (p->p.bootable != 0)
+ my_warn(_("Warning: partition %s has size 0 and is bootable\n"),
+ PNO(p));
+ else if (p->p.start_sect != 0)
+ my_warn(_("Warning: partition %s has size 0 and nonzero start\n"),
+ PNO(p));
+ /* all this is probably harmless, no error return */
+ }
+
+ /* Are the logical partitions contained in their extended partitions? */
+ for (p = partitions + 4; p < partitions + partno; p++)
+ if (p->ptype == DOS_TYPE)
+ if (p->size && !is_extended(p->p.sys_type)) {
+ q = p->ep;
+ if (p->start < q->start
+ || p->start + p->size > q->start + q->size) {
+ my_warn(_("Warning: partition %s is not contained in "
+ "partition %s\n"), PNO(p), PNO(q));
+ return 0;
+ }
+ }
+
+ /* Are the data partitions mutually disjoint? */
+ for (p = partitions; p < partitions + partno; p++)
+ if (p->size && !is_extended(p->p.sys_type))
+ for (q = p + 1; q < partitions + partno; q++)
+ if (q->size && !is_extended(q->p.sys_type))
+ if (!((p->start > q->start) ? disj(q, p) : disj(p, q))) {
+ my_warn(_("Warning: partitions %s and %s overlap\n"),
+ PNO(p), PNO(q));
+ return 0;
+ }
+
+ /* Are the data partitions and the extended partition
+ table sectors disjoint? */
+ for (p = partitions; p < partitions + partno; p++)
+ if (p->size && !is_extended(p->p.sys_type))
+ for (q = partitions; q < partitions + partno; q++)
+ if (is_extended(q->p.sys_type))
+ if (p->start <= q->start && p->start + p->size > q->start) {
+ my_warn(_("Warning: partition %s contains part of "
+ "the partition table (sector %llu),\n"
+ "and will destroy it when filled\n"),
+ PNO(p), q->start);
+ return 0;
+ }
+
+ /* Do they start past zero and end before end-of-disk? */
+ {
+ unsigned long long ds = get_disksize(F_SECTOR);
+ for (p = partitions; p < partitions + partno; p++)
+ if (p->size) {
+ if (p->start == 0) {
+ my_warn(_("Warning: partition %s starts at sector 0\n"),
+ PNO(p));
+ return 0;
+ }
+ if (p->size && p->start + p->size > ds) {
+ my_warn(_("Warning: partition %s extends past end of disk\n"),
+ PNO(p));
+ return 0;
+ }
+ }
+ }
+
+ int sector_size;
+ if (blkdev_get_sector_size(fd, &sector_size) == -1)
+ sector_size = DEFAULT_SECTOR_SIZE;
+
+ /* Is the size of partitions less than 2^32 sectors limit? */
+ for (p = partitions; p < partitions + partno; p++)
+ if (p->size > UINT_MAX) {
+ unsigned long long bytes = p->size * sector_size;
+ int giga = bytes / 1000000000;
+ int hectogiga = (giga + 50) / 100;
+ my_warn(_("Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+ "which is larger than the %llu bytes limit imposed\n"
+ "by the DOS partition table for %d-byte sectors\n"),
+ PNO(p), hectogiga / 10, hectogiga % 10,
+ bytes,
+ (unsigned long long) UINT_MAX * sector_size,
+ sector_size);
+ return 0;
+ }
+
+ /* Do the partitions start below the 2^32 sectors limit? */
+ for (p = partitions; p < partitions + partno; p++)
+ if (p->start > UINT_MAX) {
+ unsigned long long bytes = p->start * sector_size;
+ int giga = bytes / 1000000000;
+ int hectogiga = (giga + 50) / 100;
+ my_warn(_("Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+ "which exceeds the DOS partition table limit of %llu sectors\n"),
+ PNO(p),
+ p->start,
+ hectogiga / 10,
+ hectogiga % 10,
+ sector_size,
+ (unsigned long long) UINT_MAX);
+ return 0;
+ }
+
+ /* At most one chain of DOS extended partitions ? */
+ /* It seems that the OS/2 fdisk has the additional requirement
+ that the extended partition must be the fourth one */
+ {
+ int ect = 0;
+ for (p = partitions; p < partitions + 4; p++)
+ if (p->p.sys_type == EXTENDED_PARTITION)
+ ect++;
+ if (ect > 1 && !Linux) {
+ my_warn(_("Among the primary partitions, at most one can be extended\n"
+ " (although this is not a problem under Linux)\n"));
+ return 0;
+ }
+ }
+
+ /*
+ * Do all partitions start at a cylinder boundary ?
+ * (this is not required for Linux)
+ * The first partition starts after MBR.
+ * Logical partitions start slightly after the containing extended partn.
+ */
+ if (B.cylindersize && !Linux) {
+ for (p = partitions; p < partitions + partno; p++)
+ if (p->size) {
+ if (p->start % B.cylindersize != 0
+ && (!p->ep
+ || p->start / B.cylindersize !=
+ p->ep->start / B.cylindersize)
+ && (p->p.start_sect >= B.cylindersize)) {
+ my_warn(_("Warning: partition %s does not start "
+ "at a cylinder boundary\n"), PNO(p));
+ if (specified_format == F_CYLINDER)
+ return 0;
+ }
+ if ((p->start + p->size) % B.cylindersize) {
+ my_warn(_("Warning: partition %s does not end "
+ "at a cylinder boundary\n"), PNO(p));
+ if (specified_format == F_CYLINDER)
+ return 0;
+ }
+ }
+ }
+
+ /* Usually, one can boot only from primary partitions. */
+ /* In fact, from a unique one only. */
+ /* do not warn about bootable extended partitions -
+ often LILO is there */
+ {
+ int pno = -1;
+ for (p = partitions; p < partitions + partno; p++)
+ if (p->p.bootable) {
+ if (pno == -1)
+ pno = p - partitions;
+ else if (p - partitions < 4) {
+ my_warn(_("Warning: more than one primary partition is marked "
+ "bootable (active)\n"
+ "This does not matter for LILO, but the DOS MBR will "
+ "not boot this disk.\n"));
+ break;
+ }
+ if (p - partitions >= 4) {
+ my_warn(_("Warning: usually one can boot from primary partitions "
+ "only\nLILO disregards the `bootable' flag.\n"));
+ break;
+ }
+ }
+ if (pno == -1 || pno >= 4)
+ my_warn(_("Warning: no primary partition is marked bootable (active)\n"
+ "This does not matter for LILO, but the DOS MBR will "
+ "not boot this disk.\n"));
+ }
+
+ /* Is chs as we expect? */
+ for (p = partitions; p < partitions + partno; p++)
+ if (p->ptype == DOS_TYPE) {
+ chs a, b;
+ longchs aa, bb;
+ a = p->size ? ulong_to_chs(p->start, B) : zero_chs;
+ b = p->p.begin_chs;
+ aa = chs_to_longchs(a);
+ bb = chs_to_longchs(b);
+ if (!Linux && !chs_ok(b, PNO(p), _("start")))
+ return 0;
+ if (a.s && !is_equal_chs(a, b))
+ my_warn(_("partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
+ PNO(p), aa.c, aa.h, aa.s, bb.c, bb.h, bb.s);
+ a = p->size ? ulong_to_chs(p->start + p->size - 1, B) : zero_chs;
+ b = p->p.end_chs;
+ aa = chs_to_longchs(a);
+ bb = chs_to_longchs(b);
+ if (!Linux && !chs_ok(b, PNO(p), _("end")))
+ return 0;
+ if (a.s && !is_equal_chs(a, b))
+ my_warn(_("partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"),
+ PNO(p), aa.c, aa.h, aa.s, bb.c, bb.h, bb.s);
+ if (B.cylinders && B.cylinders < 1024 && bb.c > B.cylinders)
+ my_warn(_("partition %s ends on cylinder %ld, beyond the end of the disk\n"),
+ PNO(p), bb.c);
+ }
+
+ return 1;
+
+#undef PNO
+}
+
+static void
+extended_partition(char *dev, int fd, struct part_desc *ep, struct disk_desc *z) {
+ char *cp;
+ struct sector *s;
+ unsigned long long start, here, next;
+ int i, moretodo = 1;
+ struct partition p;
+ struct part_desc *partitions = &(z->partitions[0]);
+ size_t pno = z->partno;
+
+ here = start = ep->start;
+
+ if (B.cylindersize && start % B.cylindersize) {
+ /* This is BAD */
+ if (DOS_extended) {
+ here = start -= (start % B.cylindersize);
+ warnx(_("Warning: shifted start of the extd partition "
+ "from %lld to %lld\n"
+ "(For listing purposes only. "
+ "Do not change its contents.)\n"), ep->start, start);
+ } else {
+ warnx(_("Warning: extended partition does not start at a "
+ "cylinder boundary.\n"
+ "DOS and Linux will interpret the contents differently.\n"));
+ }
+ }
+
+ while (moretodo) {
+ moretodo = 0;
+
+ if (!(s = get_sector(dev, fd, here)))
+ break;
+
+ if (!msdos_signature(s)) {
+ error(_("ERROR: sector %lu does not have an msdos signature\n"),
+ s->sectornumber);
+ break;
+ }
+ cp = s->data + 0x1be;
+
+ if (pno + 4 >= ARRAY_SIZE(z->partitions)) {
+ warnx(_("too many partitions - ignoring those past nr (%ld)\n"),
+ pno - 1);
+ break;
+ }
+
+ next = 0;
+
+ for (i = 0; i < 4; i++, cp += sizeof(struct partition)) {
+ partitions[pno].sector = here;
+ partitions[pno].offset = cp - s->data;
+ partitions[pno].ep = ep;
+ copy_to_part(cp, &p);
+ if (is_extended(p.sys_type)) {
+ partitions[pno].start = start + p.start_sect;
+ if (next)
+ warnx(_("tree of partitions?\n"));
+ else
+ next = partitions[pno].start; /* follow `upper' branch */
+ moretodo = 1;
+ } else {
+ partitions[pno].start = here + p.start_sect;
+ }
+ partitions[pno].size = p.nr_sects;
+ partitions[pno].ptype = DOS_TYPE;
+ partitions[pno].p = p;
+ pno++;
+ }
+ here = next;
+ }
+
+ z->partno = pno;
+}
+
+#define BSD_DISKMAGIC (0x82564557UL)
+#define BSD_MAXPARTITIONS 16
+#define BSD_FS_UNUSED 0
+typedef unsigned char u8;
+typedef unsigned short u16;
+typedef unsigned int u32;
+struct bsd_disklabel {
+ u32 d_magic;
+ char d_junk1[4];
+ char d_typename[16];
+ char d_packname[16];
+ char d_junk2[92];
+ u32 d_magic2;
+ char d_junk3[2];
+ u16 d_npartitions; /* number of partitions in following */
+ char d_junk4[8];
+ struct bsd_partition { /* the partition table */
+ u32 p_size; /* number of sectors in partition */
+ u32 p_offset; /* starting sector */
+ u32 p_fsize; /* filesystem basic fragment size */
+ u8 p_fstype; /* filesystem type, see below */
+ u8 p_frag; /* filesystem fragments per block */
+ u16 p_cpg; /* filesystem cylinders per group */
+ } d_partitions[BSD_MAXPARTITIONS]; /* actually may be more */
+};
+
+static void
+bsd_partition(char *dev, int fd, struct part_desc *ep, struct disk_desc *z) {
+ struct bsd_disklabel *l;
+ struct bsd_partition *bp, *bp0;
+ unsigned long long start = ep->start;
+ struct sector *s;
+ struct part_desc *partitions = &(z->partitions[0]);
+ size_t pno = z->partno;
+
+ if (!(s = get_sector(dev, fd, start + 1)))
+ return;
+ l = (struct bsd_disklabel *)(s->data);
+ if (l->d_magic != BSD_DISKMAGIC || l->d_magic2 != BSD_DISKMAGIC)
+ return;
+
+ bp = bp0 = &l->d_partitions[0];
+ while (bp - bp0 < BSD_MAXPARTITIONS && bp - bp0 < l->d_npartitions) {
+ if (pno + 1 >= ARRAY_SIZE(z->partitions)) {
+ warnx(_("too many partitions - ignoring those "
+ "past nr (%ld)\n"), pno - 1);
+ break;
+ }
+ if (bp->p_fstype != BSD_FS_UNUSED) {
+ partitions[pno].start = bp->p_offset;
+ partitions[pno].size = bp->p_size;
+ partitions[pno].sector = start + 1;
+ partitions[pno].offset = (char *)bp - (char *)bp0;
+ partitions[pno].ep = 0;
+ partitions[pno].ptype = BSD_TYPE;
+ pno++;
+ }
+ bp++;
+ }
+ z->partno = pno;
+}
+
+static int
+msdos_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
+ int i;
+ char *cp;
+ struct partition pt;
+ struct sector *s;
+ struct part_desc *partitions = &(z->partitions[0]);
+ int pno = z->partno;
+ int bsd_later = 1;
+#ifdef __linux__
+ bsd_later = (get_linux_version() >= KERNEL_VERSION(2, 3, 40));
+#endif
+
+ if (!(s = get_sector(dev, fd, start)))
+ return 0;
+
+ if (!msdos_signature(s))
+ return 0;
+
+ cp = s->data + 0x1be;
+ copy_to_part(cp, &pt);
+
+ /* If I am not mistaken, recent kernels will hide this from us,
+ so we will never actually see traces of a Disk Manager */
+ if (pt.sys_type == DM6_PARTITION
+ || pt.sys_type == EZD_PARTITION
+ || pt.sys_type == DM6_AUX1PARTITION
+ || pt.sys_type == DM6_AUX3PARTITION) {
+ warnx(_("detected Disk Manager - unable to handle that\n"));
+ return 0;
+ }
+
+ unsigned int sig = *(unsigned short *)(s->data + 2);
+ if (sig <= 0x1ae
+ && *(unsigned short *)(s->data + sig) == 0x55aa
+ && (1 & *(unsigned char *)(s->data + sig + 2))) {
+ warnx(_("DM6 signature found - giving up\n"));
+ return 0;
+ }
+
+ for (pno = 0; pno < 4; pno++, cp += sizeof(struct partition)) {
+ partitions[pno].sector = start;
+ partitions[pno].offset = cp - s->data;
+ copy_to_part(cp, &pt);
+ partitions[pno].start = start + pt.start_sect;
+ partitions[pno].size = pt.nr_sects;
+ partitions[pno].ep = 0;
+ partitions[pno].p = pt;
+ }
+
+ z->partno = pno;
+
+ for (i = 0; i < 4; i++) {
+ if (is_extended(partitions[i].p.sys_type)) {
+ if (!partitions[i].size) {
+ warnx(_("strange..., an extended partition of size 0?\n"));
+ continue;
+ }
+ extended_partition(dev, fd, &partitions[i], z);
+ }
+ if (!bsd_later && is_bsd(partitions[i].p.sys_type)) {
+ if (!partitions[i].size) {
+ warnx(_("strange..., a BSD partition of size 0?\n"));
+ continue;
+ }
+ bsd_partition(dev, fd, &partitions[i], z);
+ }
+ }
+
+ if (bsd_later) {
+ for (i = 0; i < 4; i++) {
+ if (is_bsd(partitions[i].p.sys_type)) {
+ if (!partitions[i].size) {
+ warnx(_("strange..., a BSD partition of size 0?\n"));
+ continue;
+ }
+ bsd_partition(dev, fd, &partitions[i], z);
+ }
+ }
+ }
+
+ return 1;
+}
+
+static int
+osf_partition(char *dev __attribute__ ((__unused__)),
+ int fd __attribute__ ((__unused__)),
+ unsigned long start __attribute__ ((__unused__)),
+ struct disk_desc *z __attribute__ ((__unused__))) {
+ return 0;
+}
+
+static int
+sun_partition(char *dev __attribute__ ((__unused__)),
+ int fd __attribute__ ((__unused__)),
+ unsigned long start __attribute__ ((__unused__)),
+ struct disk_desc *z __attribute__ ((__unused__))) {
+ return 0;
+}
+
+static int
+amiga_partition(char *dev __attribute__ ((__unused__)),
+ int fd __attribute__ ((__unused__)),
+ unsigned long start __attribute__ ((__unused__)),
+ struct disk_desc *z __attribute__ ((__unused__))) {
+ return 0;
+}
+
+static void
+get_partitions(char *dev, int fd, struct disk_desc *z) {
+ z->partno = 0;
+
+ if (!msdos_partition(dev, fd, 0, z)
+ && !osf_partition(dev, fd, 0, z)
+ && !sun_partition(dev, fd, 0, z)
+ && !amiga_partition(dev, fd, 0, z)) {
+ if (!opt_list)
+ warnx(_(" %s: unrecognized partition table type\n"), dev);
+ return;
+ }
+}
+
+static int
+write_partitions(char *dev, int fd, struct disk_desc *z) {
+ struct sector *s;
+ struct part_desc *partitions = &(z->partitions[0]), *p;
+ int pno = z->partno;
+
+ if (no_write) {
+ warnx(_("-n flag was given: Nothing changed\n"));
+ exit(0);
+ }
+
+ for (p = partitions; p < partitions + pno; p++) {
+ s = get_sector(dev, fd, p->sector);
+ if (!s)
+ return 0;
+ s->to_be_written = 1;
+ if (p->ptype == DOS_TYPE) {
+ copy_from_part(&(p->p), s->data + p->offset);
+ s->data[510] = 0x55;
+ s->data[511] = (unsigned char)0xaa;
+ }
+ }
+ if (save_sector_file) {
+ if (!save_sectors(dev, fd)) {
+ errx(EXIT_FAILURE, _("Failed saving the old sectors - aborting\n"));
+ return 0;
+ }
+ }
+ if (!write_sectors(dev, fd)) {
+ error(_("Failed writing the partition on %s\n"), dev);
+ return 0;
+ }
+ if (fsync(fd)) {
+ perror(dev);
+ error(_("Failed writing the partition on %s\n"), dev);
+ return 0;
+ }
+ return 1;
+}
+
+/*
+ * F. The standard input
+ */
+
+/*
+ * Input format:
+ * <start> <size> <type> <bootable> <c,h,s> <c,h,s>
+ * Fields are separated by whitespace or comma or semicolon possibly
+ * followed by whitespace; initial and trailing whitespace is ignored.
+ * Numbers can be octal, decimal or hexadecimal, decimal is default
+ * The <c,h,s> parts can (and probably should) be omitted.
+ * Bootable is specified as [*|-], with as default not-bootable.
+ * Type is given in hex, without the 0x prefix, or is [E|S|L|X], where
+ * L (LINUX_NATIVE (83)) is the default, S is LINUX_SWAP (82), and E
+ * is EXTENDED_PARTITION (5), X is LINUX_EXTENDED (85).
+ * The default value of start is the first nonassigned sector/cylinder/...
+ * The default value of size is as much as possible (until next
+ * partition or end-of-disk).
+ * .: end of chain of extended partitions.
+ *
+ * On interactive input an empty line means: all defaults.
+ * Otherwise empty lines are ignored.
+ */
+
+int eof, eob;
+
+struct dumpfld {
+ int fldno;
+ char *fldname;
+ int is_bool;
+} dumpflds[] = {
+ {
+ 0, "start", 0}, {
+ 1, "size", 0}, {
+ 2, "Id", 0}, {
+ 3, "bootable", 1}, {
+ 4, "bh", 0}, {
+ 5, "bs", 0}, {
+ 6, "bc", 0}, {
+ 7, "eh", 0}, {
+ 8, "es", 0}, {
+ 9, "ec", 0}
+};
+
+/*
+ * Read a line, split it into fields
+ *
+ * (some primitive handwork, but a more elaborate parser seems
+ * unnecessary)
+ */
+#define RD_EOF (-1)
+#define RD_CMD (-2)
+
+static int
+read_stdin(char **fields, char *line, int fieldssize, int linesize) {
+ char *lp, *ip;
+ int c, fno;
+
+ /* boolean true and empty string at start */
+ line[0] = '*';
+ line[1] = 0;
+ for (fno = 0; fno < fieldssize; fno++)
+ fields[fno] = line + 1;
+ fno = 0;
+
+ /* read a line from stdin */
+ lp = fgets(line + 2, linesize - 2, stdin);
+ if (lp == NULL) {
+ eof = 1;
+ return RD_EOF;
+ }
+ if (!(lp = strchr(lp, '\n')))
+ errx(EXIT_FAILURE, _("long or incomplete input line - quitting"));
+ *lp = 0;
+
+ /* remove comments, if any */
+ if ((lp = strchr(line + 2, '#')) != 0)
+ *lp = 0;
+
+ /* recognize a few commands - to be expanded */
+ if (!strcmp(line + 2, "unit: sectors")) {
+ specified_format = F_SECTOR;
+ return RD_CMD;
+ }
+
+ /* dump style? - then bad input is fatal */
+ if ((ip = strchr(line + 2, ':')) != 0) {
+ struct dumpfld *d;
+
+ nxtfld:
+ ip++;
+ while (isspace(*ip))
+ ip++;
+ if (*ip == 0)
+ return fno;
+ for (d = dumpflds; (size_t) (d - dumpflds) < ARRAY_SIZE(dumpflds); d++) {
+ if (!strncmp(ip, d->fldname, strlen(d->fldname))) {
+ ip += strlen(d->fldname);
+ while (isspace(*ip))
+ ip++;
+ if (d->is_bool)
+ fields[d->fldno] = line;
+ else if (*ip == '=') {
+ while (isspace(*++ip)) ;
+ fields[d->fldno] = ip;
+ while (isalnum(*ip)) /* 0x07FF */
+ ip++;
+ } else
+ errx(EXIT_FAILURE, _("input error: `=' expected after %s field"),
+ d->fldname);
+ if (fno <= d->fldno)
+ fno = d->fldno + 1;
+ if (*ip == 0)
+ return fno;
+ if (*ip != ',' && *ip != ';')
+ errx(EXIT_FAILURE, _("input error: unexpected character %c after %s field"),
+ *ip, d->fldname);
+ *ip = 0;
+ goto nxtfld;
+ }
+ }
+ errx(EXIT_FAILURE, _("unrecognized input: %s"), ip);
+ }
+
+ /* split line into fields */
+ lp = ip = line + 2;
+ fields[fno++] = lp;
+ while ((c = *ip++) != 0) {
+ if (!lp[-1] && (c == '\t' || c == ' ')) ;
+ else if (c == '\t' || c == ' ' || c == ',' || c == ';') {
+ *lp++ = 0;
+ if (fno < fieldssize)
+ fields[fno++] = lp;
+ continue;
+ } else
+ *lp++ = c;
+ }
+
+ if (lp == fields[fno - 1])
+ fno--;
+ return fno;
+}
+
+/* read a number, use default if absent */
+/* a sign gives an offset from the default */
+static int
+get_ul(char *u, unsigned long *up, unsigned long def, int base) {
+ char *nu;
+ int sign = 0;
+ unsigned long val;
+
+ if (*u == '+') {
+ sign = 1;
+ u++;
+ } else if (*u == '-') {
+ sign = -1;
+ u++;
+ }
+ if (*u) {
+ errno = 0;
+ val = strtoul(u, &nu, base);
+ if (errno == ERANGE) {
+ warnx(_("number too big\n"));
+ return -1;
+ }
+ if (*nu) {
+ warnx(_("trailing junk after number\n"));
+ return -1;
+ }
+ if (sign == 1)
+ val = def + val;
+ else if (sign == -1)
+ val = def - val;
+ *up = val;
+ } else
+ *up = def;
+ return 0;
+}
+
+
+/* read a number, use default if absent */
+/* a sign gives an offset from the default */
+static int
+get_ull(char *u, unsigned long long *up, unsigned long long def, int base) {
+ char *nu;
+ int sign = 0;
+ unsigned long long val;
+
+ if (*u == '+') {
+ sign = 1;
+ u++;
+ } else if (*u == '-') {
+ sign = -1;
+ u++;
+ }
+ if (*u) {
+ errno = 0;
+ val = strtoull(u, &nu, base);
+ if (errno == ERANGE) {
+ warnx(_("number too big\n"));
+ return -1;
+ }
+ if (*nu) {
+ warnx(_("trailing junk after number\n"));
+ return -1;
+ }
+ if (sign == 1)
+ val = def + val;
+ else if (sign == -1)
+ val = def - val;
+ *up = val;
+ } else
+ *up = def;
+ return 0;
+}
+
+
+/* There are two common ways to structure extended partitions:
+ as nested boxes, and as a chain. Sometimes the partitions
+ must be given in order. Sometimes all logical partitions
+ must lie inside the outermost extended partition.
+NESTED: every partition is contained in the surrounding partitions
+ and is disjoint from all others.
+CHAINED: every data partition is contained in the surrounding partitions
+ and disjoint from all others, but extended partitions may lie outside
+ (insofar as allowed by all_logicals_inside_outermost_extended).
+ONESECTOR: all data partitions are mutually disjoint; extended partitions
+ each use one sector only (except perhaps for the outermost one).
+*/
+int partitions_in_order = 0;
+int all_logicals_inside_outermost_extended = 1;
+enum { NESTED, CHAINED, ONESECTOR } boxes = NESTED;
+
+/* find the default value for <start> - assuming entire units */
+static unsigned long long
+first_free(int pno, int is_extended, struct part_desc *ep, int format,
+ unsigned long long mid, struct disk_desc *z) {
+ unsigned long long ff, fff;
+ unsigned long unit = unitsize(format);
+ struct part_desc *partitions = &(z->partitions[0]), *pp = 0;
+
+ /* if containing ep undefined, look at its container */
+ if (ep && ep->p.sys_type == EMPTY_PARTITION)
+ ep = ep->ep;
+
+ if (ep) {
+ if (boxes == NESTED || (boxes == CHAINED && !is_extended))
+ pp = ep;
+ else if (all_logicals_inside_outermost_extended)
+ pp = outer_extended_partition(ep);
+ }
+#if 0
+ ff = pp ? (pp->start + unit - 1) / unit : 0;
+#else
+ /* rounding up wastes almost an entire cylinder - round down
+ and leave it to compute_start_sect() to fix the difference */
+ ff = pp ? pp->start / unit : 0;
+#endif
+ /* MBR and 1st sector of an extended partition are never free */
+ if (unit == 1)
+ ff++;
+
+ again:
+ for (pp = partitions; pp < partitions + pno; pp++) {
+ if (!is_parent(pp, ep) && pp->size > 0) {
+ if ((partitions_in_order || pp->start / unit <= ff
+ || (mid && pp->start / unit <= mid))
+ && (fff = (pp->start + pp->size + unit - 1) / unit) > ff) {
+ ff = fff;
+ goto again;
+ }
+ }
+ }
+
+ return ff;
+}
+
+/* find the default value for <size> - assuming entire units */
+static unsigned long long
+max_length(int pno, int is_extended, struct part_desc *ep, int format,
+ unsigned long long start, struct disk_desc *z) {
+ unsigned long long fu;
+ unsigned long unit = unitsize(format);
+ struct part_desc *partitions = &(z->partitions[0]), *pp = 0;
+
+ /* if containing ep undefined, look at its container */
+ if (ep && ep->p.sys_type == EMPTY_PARTITION)
+ ep = ep->ep;
+
+ if (ep) {
+ if (boxes == NESTED || (boxes == CHAINED && !is_extended))
+ pp = ep;
+ else if (all_logicals_inside_outermost_extended)
+ pp = outer_extended_partition(ep);
+ }
+ fu = pp ? (pp->start + pp->size) / unit : get_disksize(format);
+
+ for (pp = partitions; pp < partitions + pno; pp++)
+ if (!is_parent(pp, ep) && pp->size > 0
+ && pp->start / unit >= start && pp->start / unit < fu)
+ fu = pp->start / unit;
+
+ return (fu > start) ? fu - start : 0;
+}
+
+/* compute starting sector of a partition inside an extended one */
+/* return 0 on failure */
+/* ep is 0 or points to surrounding extended partition */
+static int
+compute_start_sect(struct part_desc *p, struct part_desc *ep) {
+ unsigned long long base;
+ int inc = (DOS && B.sectors) ? B.sectors : 1;
+ long long delta;
+
+ if (ep && p->start + p->size >= ep->start + 1)
+ delta = p->start - ep->start - inc;
+ else if (p->start == 0 && p->size > 0)
+ delta = -inc;
+ else
+ delta = 0;
+
+ if (delta < 0) {
+ unsigned long long old_size = p->size;
+ p->start -= delta;
+ p->size += delta;
+ if (is_extended(p->p.sys_type) && boxes == ONESECTOR)
+ p->size = inc;
+ else if ((long long) old_size <= -delta) {
+ my_warn(_("no room for partition descriptor\n"));
+ return 0;
+ }
+ }
+ base = (!ep ? 0
+ : (is_extended(p->p.sys_type) ?
+ outer_extended_partition(ep) : ep)->start);
+ p->ep = ep;
+ if (p->p.sys_type == EMPTY_PARTITION && p->size == 0) {
+ p->p.start_sect = 0;
+ p->p.begin_chs = zero_chs;
+ p->p.end_chs = zero_chs;
+ } else {
+ p->p.start_sect = p->start - base;
+ p->p.begin_chs = ulong_to_chs(p->start, B);
+ p->p.end_chs = ulong_to_chs(p->start + p->size - 1, B);
+ }
+ p->p.nr_sects = p->size;
+ return 1;
+}
+
+/* build the extended partition surrounding a given logical partition */
+static int
+build_surrounding_extended(struct part_desc *p, struct part_desc *ep,
+ struct disk_desc *z) {
+ int inc = (DOS && B.sectors) ? B.sectors : 1;
+ int format = F_SECTOR;
+ struct part_desc *p0 = &(z->partitions[0]), *eep = ep->ep;
+
+ if (boxes == NESTED) {
+ ep->start = first_free(ep - p0, 1, eep, format, p->start, z);
+ ep->size = max_length(ep - p0, 1, eep, format, ep->start, z);
+ if (ep->start > p->start || ep->start + ep->size < p->start + p->size) {
+ my_warn(_("cannot build surrounding extended partition\n"));
+ return 0;
+ }
+ } else {
+ ep->start = p->start;
+ if (boxes == CHAINED)
+ ep->size = p->size;
+ else
+ ep->size = inc;
+ }
+
+ ep->p.nr_sects = ep->size;
+ ep->p.bootable = 0;
+ ep->p.sys_type = EXTENDED_PARTITION;
+ if (!compute_start_sect(ep, eep) || !compute_start_sect(p, ep)) {
+ ep->p.sys_type = EMPTY_PARTITION;
+ ep->size = 0;
+ return 0;
+ }
+
+ return 1;
+}
+
+static int
+read_line(int pno, struct part_desc *ep, char *dev, int interactive,
+ struct disk_desc *z) {
+ char line[1000];
+ char *fields[11];
+ int fno, pct = pno % 4;
+ struct part_desc p, *orig;
+ unsigned long long ff, ff1, ul, ml, ml1, def;
+ int format, lpno, is_extd;
+
+ if (eof || eob)
+ return -1;
+
+ lpno = index_to_linux(pno, z);
+
+ if (interactive) {
+ if (pct == 0 && (show_extended || pno == 0))
+ my_warn("\n");
+ my_warn("%s:", partname(dev, lpno, 10));
+ }
+
+ /* read input line - skip blank lines when reading from a file */
+ do {
+ fno = read_stdin(fields, line, ARRAY_SIZE(fields), ARRAY_SIZE(line));
+ } while (fno == RD_CMD || (fno == 0 && !interactive));
+ if (fno == RD_EOF) {
+ return -1;
+ } else if (fno > 10 && *(fields[10]) != 0) {
+ warnx(_("too many input fields\n"));
+ return 0;
+ }
+
+ if (fno == 1 && !strcmp(fields[0], ".")) {
+ eob = 1;
+ return -1;
+ }
+
+ /* use specified format, but round to cylinders if F_MEGABYTE specified */
+ format = 0;
+ if (B.cylindersize && specified_format == F_MEGABYTE && !Linux)
+ format = F_CYLINDER;
+
+ orig = (one_only ? &(oldp.partitions[pno]) : 0);
+
+ p = zero_part_desc;
+ p.ep = ep;
+
+ /* first read the type - we need to know whether it is extended */
+ /* stop reading when input blank (defaults) and all is full */
+ is_extd = 0;
+ if (fno == 0) { /* empty line */
+ if (orig && is_extended(orig->p.sys_type))
+ is_extd = 1;
+ ff = first_free(pno, is_extd, ep, format, 0, z);
+ ml = max_length(pno, is_extd, ep, format, ff, z);
+ if (ml == 0 && is_extd == 0) {
+ is_extd = 1;
+ ff = first_free(pno, is_extd, ep, format, 0, z);
+ ml = max_length(pno, is_extd, ep, format, ff, z);
+ }
+ if (ml == 0 && pno >= 4) {
+ /* no free blocks left - don't read any further */
+ my_warn(_("No room for more\n"));
+ return -1;
+ }
+ }
+ if (fno < 3 || !*(fields[2]))
+ ul = orig ? orig->p.sys_type :
+ (is_extd || (pno > 3 && pct == 1 && show_extended))
+ ? EXTENDED_PARTITION : LINUX_NATIVE;
+ else if (!strcmp(fields[2], "L"))
+ ul = LINUX_NATIVE;
+ else if (!strcmp(fields[2], "S"))
+ ul = LINUX_SWAP;
+ else if (!strcmp(fields[2], "E"))
+ ul = EXTENDED_PARTITION;
+ else if (!strcmp(fields[2], "X"))
+ ul = LINUX_EXTENDED;
+ else if (get_ull(fields[2], &ul, LINUX_NATIVE, 16))
+ return 0;
+ if (ul > 255) {
+ my_warn(_("Illegal type\n"));
+ return 0;
+ }
+ p.p.sys_type = ul;
+ is_extd = is_extended(ul);
+
+ /* find start */
+ ff = first_free(pno, is_extd, ep, format, 0, z);
+ ff1 = ff * unitsize(format);
+ def = orig ? orig->start : (pno > 4 && pct > 1) ? 0 : ff1;
+ if (fno < 1 || !*(fields[0]))
+ p.start = def;
+ else {
+ if (get_ull(fields[0], &ul, def / unitsize(0), 0))
+ return 0;
+ p.start = ul * unitsize(0);
+ p.start -= (p.start % unitsize(format));
+ }
+
+ /* find length */
+ ml = max_length(pno, is_extd, ep, format, p.start / unitsize(format), z);
+ ml1 = ml * unitsize(format);
+ def = orig ? orig->size : (pno > 4 && pct > 1) ? 0 : ml1;
+ if (fno < 2 || !*(fields[1]))
+ p.size = def;
+ else if (!strcmp(fields[1], "+"))
+ p.size = ml1;
+ else {
+ if (get_ull(fields[1], &ul, def / unitsize(0), 0))
+ return 0;
+ p.size = ul * unitsize(0) + unitsize(format) - 1;
+ p.size -= (p.size % unitsize(format));
+ }
+ if (p.size > ml1) {
+ my_warn(_("Warning: given size (%lu) exceeds max allowable size (%lu)\n"),
+ (p.size + unitsize(0) - 1) / unitsize(0), ml1 / unitsize(0));
+ if (!force)
+ return 0;
+ }
+ if (p.size == 0 && pno >= 4 && (fno < 2 || !*(fields[1]))) {
+ my_warn(_("Warning: empty partition\n"));
+ if (!force)
+ return 0;
+ }
+ p.p.nr_sects = p.size;
+
+ if (p.size == 0 && !orig) {
+ if (fno < 1 || !*(fields[0]))
+ p.start = 0;
+ if (fno < 3 || !*(fields[2]))
+ p.p.sys_type = EMPTY_PARTITION;
+ }
+
+ if (p.start < ff1 && p.size > 0) {
+ my_warn(_("Warning: bad partition start (earliest %lu)\n"),
+ (ff1 + unitsize(0) - 1) / unitsize(0));
+ if (!force)
+ return 0;
+ }
+
+ if (fno < 4 || !*(fields[3]))
+ ul = (orig ? orig->p.bootable : 0);
+ else if (!strcmp(fields[3], "-"))
+ ul = 0;
+ else if (!strcmp(fields[3], "*") || !strcmp(fields[3], "+"))
+ ul = 0x80;
+ else {
+ my_warn(_("unrecognized bootable flag - choose - or *\n"));
+ return 0;
+ }
+ p.p.bootable = ul;
+
+ if (ep && ep->p.sys_type == EMPTY_PARTITION) {
+ if (!build_surrounding_extended(&p, ep, z))
+ return 0;
+ } else if (!compute_start_sect(&p, ep))
+ return 0;
+
+ {
+ longchs aa = chs_to_longchs(p.p.begin_chs), bb;
+
+ if (fno < 5) {
+ bb = aa;
+ } else if (fno < 7) {
+ my_warn(_("partial c,h,s specification?\n"));
+ return 0;
+ } else if (get_ul(fields[4], &bb.c, aa.c, 0) ||
+ get_ul(fields[5], &bb.h, aa.h, 0) ||
+ get_ul(fields[6], &bb.s, aa.s, 0))
+ return 0;
+ p.p.begin_chs = longchs_to_chs(bb, B);
+ }
+ {
+ longchs aa = chs_to_longchs(p.p.end_chs), bb;
+
+ if (fno < 8) {
+ bb = aa;
+ } else if (fno < 10) {
+ my_warn(_("partial c,h,s specification?\n"));
+ return 0;
+ } else if (get_ul(fields[7], &bb.c, aa.c, 0) ||
+ get_ul(fields[8], &bb.h, aa.h, 0) ||
+ get_ul(fields[9], &bb.s, aa.s, 0))
+ return 0;
+ p.p.end_chs = longchs_to_chs(bb, B);
+ }
+
+ if (pno > 3 && p.size && show_extended && p.p.sys_type != EMPTY_PARTITION
+ && (is_extended(p.p.sys_type) != (pct == 1))) {
+ my_warn(_("Extended partition not where expected\n"));
+ if (!force)
+ return 0;
+ }
+
+ z->partitions[pno] = p;
+ if (pno >= z->partno)
+ z->partno += 4; /* reqd for out_partition() */
+
+ if (interactive)
+ out_partition(dev, 0, &(z->partitions[pno]), z, B);
+
+ return 1;
+}
+
+/* ep either points to the extended partition to contain this one,
+ or to the empty partition that may become extended or is 0 */
+static int
+read_partition(char *dev, int interactive, int pno, struct part_desc *ep,
+ struct disk_desc *z) {
+ struct part_desc *p = &(z->partitions[pno]);
+ int i;
+
+ if (one_only) {
+ *p = oldp.partitions[pno];
+ if (one_only_pno != pno)
+ goto ret;
+ } else if (!show_extended && pno > 4 && pno % 4)
+ goto ret;
+
+ while (!(i = read_line(pno, ep, dev, interactive, z)))
+ if (!interactive)
+ errx(EXIT_FAILURE, _("bad input"));
+ if (i < 0) {
+ p->ep = ep;
+ return 0;
+ }
+
+ ret:
+ p->ep = ep;
+ if (pno >= z->partno)
+ z->partno += 4;
+ return 1;
+}
+
+static void
+read_partition_chain(char *dev, int interactive, struct part_desc *ep,
+ struct disk_desc *z) {
+ int i;
+ size_t base;
+
+ eob = 0;
+ while (1) {
+ base = z->partno;
+ if (base + 4 > ARRAY_SIZE(z->partitions)) {
+ warnx(_("too many partitions\n"));
+ break;
+ }
+ for (i = 0; i < 4; i++)
+ if (!read_partition(dev, interactive, base + i, ep, z))
+ return;
+ for (i = 0; i < 4; i++) {
+ ep = &(z->partitions[base + i]);
+ if (is_extended(ep->p.sys_type) && ep->size)
+ break;
+ }
+ if (i == 4) {
+ /* nothing found - maybe an empty partition is going
+ to be extended */
+ if (one_only || show_extended)
+ break;
+ ep = &(z->partitions[base + 1]);
+ if (ep->size || ep->p.sys_type != EMPTY_PARTITION)
+ break;
+ }
+ }
+}
+
+static void
+read_input(char *dev, int interactive, struct disk_desc *z) {
+ size_t i;
+ struct part_desc *partitions = &(z->partitions[0]), *ep;
+
+ for (i = 0; i < ARRAY_SIZE(z->partitions); i++)
+ partitions[i] = zero_part_desc;
+ z->partno = 0;
+
+ if (interactive)
+ my_warn(_("Input in the following format; absent fields get a default value.\n"
+ "<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+ "Usually you only need to specify <start> and <size> (and perhaps <type>).\n"));
+ eof = 0;
+
+ for (i = 0; i < 4; i++)
+ read_partition(dev, interactive, i, 0, z);
+ for (i = 0; i < 4; i++) {
+ ep = partitions + i;
+ if (is_extended(ep->p.sys_type) && ep->size)
+ read_partition_chain(dev, interactive, ep, z);
+ }
+ add_sector_and_offset(z);
+}
+
+/*
+ * G. The command line
+ */
+static void usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] <device> [...]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -s, --show-size list size of a partition\n"
+ " -c, --id change or print partition Id\n"
+ " --change-id change Id\n"
+ " --print-id print Id\n"), out);
+ fputs(_(" -l, --list list partitions of each device\n"
+ " -d, --dump idem, but in a format suitable for later input\n"
+ " -i, --increment number cylinders etc. from 1 instead of from 0\n"
+ " -u, --unit <letter> units to be used; <letter> can be one of\n"
+ " S (sectors), C (cylinders), B (blocks), or M (MB)\n"), out);
+ fputs(_(" -1, --one-only reserved option that does nothing currently\n"
+ " -T, --list-types list the known partition types\n"
+ " -D, --DOS for DOS-compatibility: waste a little space\n"
+ " -E, --DOS-extended DOS extended partition compatibility\n"
+ " -R, --re-read make the kernel reread the partition table\n"), out);
+ fputs(_(" -N <number> change only the partition with this <number>\n"
+ " -n do not actually write to disk\n"
+ " -O <file> save the sectors that will be overwritten to <file>\n"
+ " -I <file> restore sectors from <file>\n"), out);
+ fputs(_(" -V, --verify check that the listed partitions are reasonable\n"
+ " -v, --version display version information and exit\n"
+ " -h, --help display this help text and exit\n"), out);
+
+ fputs(_("\nDangerous options:\n"), out);
+ fputs(_(" -f, --force disable all consistency checking\n"
+ " --no-reread do not check whether the partition is in use\n"
+ " -q, --quiet suppress warning messages\n"
+ " -L, --Linux do not complain about things irrelevant for Linux\n"), out);
+ fputs(_(" -g, --show-geometry print the kernel's idea of the geometry\n"
+ " -G, --show-pt-geometry print geometry guessed from the partition table\n"), out);
+ fputs(_(" -A, --activate[=<device>] activate bootable flag\n"
+ " -U, --unhide[=<dev>] set partition unhidden\n"
+ " -x, --show-extended also list extended partitions in the output,\n"
+ " or expect descriptors for them in the input\n"), out);
+ fputs(_(" --leave-last do not allocate the last cylinder\n"
+ " --IBM same as --leave-last\n"), out);
+ fputs(_(" --in-order partitions are in order\n"
+ " --not-in-order partitions are not in order\n"
+ " --inside-outer all logicals inside outermost extended\n"
+ " --not-inside-outer not all logicals inside outermost extended\n"), out);
+ fputs(_(" --nested every partition is disjoint from all others\n"
+ " --chained like nested, but extended partitions may lie outside\n"
+ " --onesector partitions are mutually disjoint\n"), out);
+
+ fputs(_("\nOverride the detected geometry using:\n"
+ " -C, --cylinders <number> set the number of cylinders to use\n"
+ " -H, --heads <number> set the number of heads to use\n"
+ " -S, --sectors <number> set the number of sectors to use\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void
+activate_usage(char *progn) {
+ puts(_("Usage:"));
+ printf(_("%s device list active partitions on device\n"), progn);
+ printf(_("%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"),
+ progn);
+ printf(_("%s -An device activate partition n, inactivate the other ones\n"),
+ PROGNAME);
+ exit(1);
+}
+
+static void
+unhide_usage(char *progn __attribute__ ((__unused__))) {
+ exit(1);
+}
+
+static const char short_opts[] = "cdfghilnqsu:vx1A::C:DGH:I:LN:O:RS:TU::V";
+
+#define PRINT_ID 0400
+#define CHANGE_ID 01000
+
+enum {
+ OPT_NO_REREAD = CHAR_MAX + 1,
+ OPT_LEAVE_LAST,
+ OPT_IN_ORDER,
+ OPT_NOT_IN_ORDER,
+ OPT_INSIDE_OUTER,
+ OPT_NOT_INSIDE_OUTER,
+ OPT_NESTED,
+ OPT_CHAINED,
+ OPT_ONESECTOR
+};
+
+static const struct option long_opts[] = {
+ { "change-id", no_argument, NULL, 'c' + CHANGE_ID },
+ { "print-id", no_argument, NULL, 'c' + PRINT_ID },
+ { "id", no_argument, NULL, 'c' },
+ { "dump", no_argument, NULL, 'd' },
+ { "force", no_argument, NULL, 'f' },
+ { "show-geometry", no_argument, NULL, 'g' },
+ { "help", no_argument, NULL, 'h' },
+ { "increment", no_argument, NULL, 'i' },
+ { "list", no_argument, NULL, 'l' },
+ { "quiet", no_argument, NULL, 'q' },
+ { "show-size", no_argument, NULL, 's' },
+ { "unit", required_argument, NULL, 'u' },
+ { "version", no_argument, NULL, 'v' },
+ { "show-extended", no_argument, NULL, 'x' },
+ { "one-only", no_argument, NULL, '1' },
+ { "cylinders", required_argument, NULL, 'C' },
+ { "heads", required_argument, NULL, 'H' },
+ { "sectors", required_argument, NULL, 'S' },
+ { "show-pt-geometry", no_argument, NULL, 'G' },
+ { "activate", optional_argument, NULL, 'A' },
+ { "DOS", no_argument, NULL, 'D' },
+ { "DOS-extended", no_argument, NULL, 'E' },
+ { "Linux", no_argument, NULL, 'L' },
+ { "re-read", no_argument, NULL, 'R' },
+ { "list-types", no_argument, NULL, 'T' },
+ { "unhide", optional_argument, NULL, 'U' },
+ { "no-reread", no_argument, NULL, OPT_NO_REREAD },
+ { "IBM", no_argument, NULL, OPT_LEAVE_LAST },
+ { "leave-last", no_argument, NULL, OPT_LEAVE_LAST },
+/* dangerous flags - not all completely implemented */
+ { "in-order", no_argument, NULL, OPT_IN_ORDER },
+ { "not-in-order", no_argument, NULL, OPT_NOT_IN_ORDER },
+ { "inside-outer", no_argument, NULL, OPT_INSIDE_OUTER },
+ { "not-inside-outer", no_argument, NULL, OPT_NOT_INSIDE_OUTER },
+ { "nested", no_argument, NULL, OPT_NESTED },
+ { "chained", no_argument, NULL, OPT_CHAINED },
+ { "onesector", no_argument, NULL, OPT_ONESECTOR },
+ { NULL, 0, NULL, 0 }
+};
+
+static int is_ide_cdrom_or_tape(char *device)
+{
+ int fd, ret;
+
+ if ((fd = open(device, O_RDONLY)) < 0)
+ return 0;
+ ret = blkdev_is_cdrom(fd);
+
+ close(fd);
+ return ret;
+}
+
+static char *
+nextproc(FILE * procf) {
+ static char devname[256];
+ char line[1024], ptname[128 + 1];
+ int ma, mi;
+ unsigned long long sz;
+
+ if (procf == NULL)
+ return NULL;
+ while (fgets(line, sizeof(line), procf) != NULL) {
+ if (sscanf(line, " %d %d %llu %128[^\n ]", &ma, &mi, &sz, ptname) != 4)
+ continue;
+ snprintf(devname, sizeof(devname), "/dev/%s", ptname);
+ if (!is_whole_disk(devname))
+ continue;
+ return canonicalize_path(devname);
+ }
+
+ return NULL;
+}
+
+static void
+gpt_warning(char *dev, int warn_only) {
+ if (force)
+ warn_only = 1;
+
+ if (dev && gpt_probe_signature_devname(dev)) {
+ fflush(stdout);
+ fprintf(stderr,
+ _("\nWARNING: GPT (GUID Partition Table) detected on '%s'! "
+ "The util sfdisk doesn't support GPT. Use GNU Parted.\n\n"),
+ dev);
+ if (!warn_only) {
+ fprintf(stderr,
+ _("Use the --force flag to overrule this check.\n"));
+ exit(1);
+ }
+ }
+}
+
+static void do_list(char *dev, int silent);
+static void do_size(char *dev, int silent);
+static void do_geom(char *dev, int silent);
+static void do_pt_geom(char *dev, int silent);
+static void do_fdisk(char *dev);
+static void do_reread(char *dev);
+static void do_change_id(char *dev, char *part, char *id);
+static void do_unhide(char **av, int ac, char *arg);
+static void do_activate(char **av, int ac, char *arg);
+
+unsigned long long total_size;
+
+int
+main(int argc, char **argv) {
+ char *progn;
+ int c;
+ char *dev;
+ int opt_size = 0;
+ int opt_out_geom = 0;
+ int opt_out_pt_geom = 0;
+ int opt_reread = 0;
+ int activate = 0;
+ int do_id = 0;
+ int unhide = 0;
+ int fdisk = 0;
+ char *activatearg = 0;
+ char *unhidearg = 0;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc < 1)
+ errx(EXIT_FAILURE, _("no command?"));
+ if ((progn = strrchr(argv[0], '/')) == NULL)
+ progn = argv[0];
+ else
+ progn++;
+ if (!strcmp(progn, "activate"))
+ activate = 1; /* equivalent to `sfdisk -A' */
+#if 0 /* not important enough to deserve a name */
+ else if (!strcmp(progn, "unhide"))
+ unhide = 1; /* equivalent to `sfdisk -U' */
+#endif
+ else
+ fdisk = 1;
+
+ while ((c = getopt_long(argc, argv, short_opts, long_opts, NULL)) != -1) {
+ switch (c) {
+ case 'f':
+ force = 1;
+ break; /* does not imply quiet */
+ case 'g':
+ opt_out_geom = 1;
+ break;
+ case 'G':
+ opt_out_pt_geom = 1;
+ break;
+ case 'i':
+ increment = 1;
+ break;
+ case 'c':
+ case 'c' + PRINT_ID:
+ case 'c' + CHANGE_ID:
+ do_id = c;
+ break;
+ case 'd':
+ dump = 1; /* fall through */
+ case 'l':
+ opt_list = 1;
+ break;
+ case 'n':
+ no_write = 1;
+ break;
+ case 'q':
+ quiet = 1;
+ break;
+ case 's':
+ opt_size = 1;
+ break;
+ case 'u':
+ set_format(*optarg);
+ break;
+ case 'v':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ return EXIT_SUCCESS;
+ case 'x':
+ show_extended = 1;
+ break;
+ case 'A':
+ activatearg = optarg;
+ activate = 1;
+ break;
+ case 'C':
+ U.cylinders = strtoul_or_err(optarg, _("invalid cylinders argument"));
+ break;
+ case 'D':
+ DOS = 1;
+ break;
+ case 'E':
+ DOS_extended = 1;
+ break;
+ case 'H':
+ U.heads = strtoul_or_err(optarg, _("invalid heads argument"));
+ break;
+ case 'L':
+ Linux = 1;
+ break;
+ case 'N':
+ one_only = strtol_or_err(optarg, _("invalid number of partitions argument"));
+ break;
+ case 'I':
+ restore_sector_file = optarg;
+ break;
+ case 'O':
+ save_sector_file = optarg;
+ break;
+ case 'R':
+ opt_reread = 1;
+ break;
+ case 'S':
+ U.sectors = strtoul_or_err(optarg, _("invalid sectors argument"));
+ break;
+ case 'T':
+ list_types();
+ exit(0);
+ case 'U':
+ unhidearg = optarg;
+ unhide = 1;
+ break;
+ case 'V':
+ verify = 1;
+ break;
+ default:
+ usage(stderr);
+ break;
+
+ /* dangerous flags */
+ case OPT_IN_ORDER:
+ partitions_in_order = 1;
+ break;
+ case OPT_NOT_IN_ORDER:
+ partitions_in_order = 0;
+ break;
+ case OPT_INSIDE_OUTER:
+ all_logicals_inside_outermost_extended = 1;
+ break;
+ case OPT_NOT_INSIDE_OUTER:
+ all_logicals_inside_outermost_extended = 0;
+ break;
+ case OPT_NESTED:
+ boxes = NESTED;
+ break;
+ case OPT_CHAINED:
+ boxes = CHAINED;
+ break;
+ case OPT_ONESECTOR:
+ boxes = ONESECTOR;
+ break;
+
+ /* more flags */
+ case OPT_NO_REREAD:
+ no_reread = 1;
+ break;
+ case OPT_LEAVE_LAST:
+ leave_last = 1;
+ break;
+ }
+ }
+
+ if (optind == argc &&
+ (opt_list || opt_out_geom || opt_out_pt_geom || opt_size || verify)) {
+ FILE *procf;
+
+ /* try all known devices */
+ total_size = 0;
+
+ procf = fopen(_PATH_PROC_PARTITIONS, "r");
+ if (!procf)
+ fprintf(stderr, _("cannot open %s\n"), _PATH_PROC_PARTITIONS);
+ else {
+ while ((dev = nextproc(procf)) != NULL) {
+ if (!is_ide_cdrom_or_tape(dev)) {
+ gpt_warning(dev, 1);
+ if (opt_out_geom)
+ do_geom(dev, 1);
+ if (opt_out_pt_geom)
+ do_pt_geom(dev, 1);
+ if (opt_size)
+ do_size(dev, 1);
+ if (opt_list || verify)
+ do_list(dev, 1);
+ }
+ free(dev);
+ }
+ fclose(procf);
+ }
+
+ if (opt_size)
+ printf(_("total: %llu blocks\n"), total_size);
+
+ exit(exit_status);
+ }
+
+ if (optind == argc) {
+ if (activate)
+ activate_usage(fdisk ? "sfdisk -A" : progn);
+ else if (unhide)
+ unhide_usage(fdisk ? "sfdisk -U" : progn);
+ else
+ usage(stderr);
+ }
+
+ if (opt_list || opt_out_geom || opt_out_pt_geom || opt_size || verify) {
+ while (optind < argc) {
+ gpt_warning(argv[optind], 1);
+ if (opt_out_geom)
+ do_geom(argv[optind], 0);
+ if (opt_out_pt_geom)
+ do_pt_geom(argv[optind], 0);
+ if (opt_size)
+ do_size(argv[optind], 0);
+ if (opt_list || verify)
+ do_list(argv[optind], 0);
+ optind++;
+ }
+ exit(exit_status);
+ }
+
+ if (optind != argc - 1)
+ gpt_warning(argv[optind], 0);
+
+ if (activate) {
+ do_activate(argv + optind, argc - optind, activatearg);
+ exit(exit_status);
+ }
+ if (unhide) {
+ do_unhide(argv + optind, argc - optind, unhidearg);
+ exit(exit_status);
+ }
+ if (do_id) {
+ if ((do_id & PRINT_ID) != 0 && optind != argc - 2)
+ errx(EXIT_FAILURE, _("usage: sfdisk --print-id device partition-number"));
+ else if ((do_id & CHANGE_ID) != 0 && optind != argc - 3)
+ errx(EXIT_FAILURE, _("usage: sfdisk --change-id device partition-number Id"));
+ else if (optind != argc - 3 && optind != argc - 2)
+ errx(EXIT_FAILURE, _("usage: sfdisk --id device partition-number [Id]"));
+ do_change_id(argv[optind], argv[optind + 1],
+ (optind == argc - 2) ? 0 : argv[optind + 2]);
+ exit(exit_status);
+ }
+
+ if (optind != argc - 1)
+ errx(EXIT_FAILURE, _("can specify only one device (except with -l or -s)"));
+ dev = argv[optind];
+
+ if (opt_reread)
+ do_reread(dev);
+ else if (restore_sector_file)
+ restore_sectors(dev);
+ else
+ do_fdisk(dev);
+
+ return 0;
+}
+
+/*
+ * H. Listing the current situation
+ */
+
+static int
+my_open(char *dev, int rw, int silent) {
+ int fd, mode;
+
+ mode = (rw ? O_RDWR : O_RDONLY);
+ fd = open(dev, mode);
+ if (fd < 0 && !silent) {
+ perror(dev);
+ if (rw)
+ errx(EXIT_FAILURE, _("cannot open %s read-write"), dev);
+ else
+ errx(EXIT_FAILURE, _("cannot open %s for reading"), dev);
+ }
+ return fd;
+}
+
+static void
+do_list(char *dev, int silent) {
+ int fd;
+ struct disk_desc *z;
+
+ fd = my_open(dev, 0, silent);
+ if (fd < 0)
+ return;
+
+ z = &oldp;
+
+ free_sectors();
+ get_cylindersize(dev, fd, dump ? 1 : opt_list ? 0 : 1);
+ get_partitions(dev, fd, z);
+
+ if (opt_list)
+ out_partitions(dev, z);
+
+ if (verify) {
+ if (partitions_ok(fd, z))
+ my_warn(_("%s: OK\n"), dev);
+ else
+ exit_status = 1;
+ }
+
+ close(fd);
+}
+
+static void
+do_geom(char *dev, int silent) {
+ int fd;
+ struct geometry R;
+
+ fd = my_open(dev, 0, silent);
+ if (fd < 0)
+ return;
+
+ R = get_geometry(dev, fd, silent);
+ if (R.cylinders)
+ printf(_("%s: %ld cylinders, %ld heads, %ld sectors/track\n"),
+ dev, R.cylinders, R.heads, R.sectors);
+
+ close(fd);
+}
+
+static void
+do_pt_geom(char *dev, int silent) {
+ int fd;
+ struct disk_desc *z;
+ struct geometry R;
+
+ fd = my_open(dev, 0, silent);
+ if (fd < 0)
+ return;
+
+ z = &oldp;
+
+ free_sectors();
+ get_cylindersize(dev, fd, 1);
+ get_partitions(dev, fd, z);
+
+ R = B;
+
+ if (z->partno != 0 && get_fdisk_geometry(z)) {
+ R.heads = F.heads;
+ R.sectors = F.sectors;
+ R.cylindersize = R.heads * R.sectors;
+ R.cylinders = (R.cylindersize == 0) ? 0 : R.total_size / R.cylindersize;
+ }
+
+ if (R.cylinders)
+ printf(_("%s: %ld cylinders, %ld heads, %ld sectors/track\n"),
+ dev, R.cylinders, R.heads, R.sectors);
+
+ close(fd);
+}
+
+/* for compatibility with earlier fdisk: provide option -s */
+static void
+do_size(char *dev, int silent) {
+ int fd;
+ unsigned long long size;
+
+ fd = my_open(dev, 0, silent);
+ if (fd < 0)
+ return;
+
+ if (blkdev_get_sectors(fd, &size) == -1) {
+ if (!silent) {
+ perror(dev);
+ errx(EXIT_FAILURE, _("Cannot get size of %s"), dev);
+ }
+ goto done;
+ }
+
+ size /= 2; /* convert sectors to blocks */
+
+ /* a CDROM drive without mounted CD yields MAXINT */
+ if (silent && size == ((1 << 30) - 1))
+ goto done;
+
+ if (silent)
+ printf("%s: %9llu\n", dev, size);
+ else
+ printf("%llu\n", size);
+
+ total_size += size;
+
+done:
+ close(fd);
+}
+
+/*
+ * Activate: usually one wants to have a single primary partition
+ * to be active. OS/2 fdisk makes non-bootable logical partitions
+ * active - I don't know what that means to OS/2 Boot Manager.
+ *
+ * Call: activate /dev/hda 2 5 7 make these partitions active
+ * and the remaining ones inactive
+ * Or: sfdisk -A /dev/hda 2 5 7
+ *
+ * If only a single partition must be active, one may also use the form
+ * sfdisk -A2 /dev/hda
+ *
+ * With "activate /dev/hda" or "sfdisk -A /dev/hda" the active partitions
+ * are listed but not changed. To get zero active partitions, use
+ * "activate /dev/hda none" or "sfdisk -A /dev/hda none".
+ * Use something like `echo ",,,*" | sfdisk -N2 /dev/hda' to only make
+ * /dev/hda2 active, without changing other partitions.
+ *
+ * A warning will be given if after the change not precisely one primary
+ * partition is active.
+ *
+ * The present syntax was chosen to be (somewhat) compatible with the
+ * activate from the LILO package.
+ */
+static void
+set_active(struct disk_desc *z, char *pnam) {
+ int pno;
+
+ pno = asc_to_index(pnam, z);
+ if (z->partitions[pno].ptype == DOS_TYPE)
+ z->partitions[pno].p.bootable = 0x80;
+}
+
+static void
+do_activate(char **av, int ac, char *arg) {
+ char *dev = av[0];
+ int fd;
+ int rw, i, pno, lpno;
+ struct disk_desc *z;
+
+ z = &oldp;
+
+ rw = (!no_write && (arg || ac > 1));
+ fd = my_open(dev, rw, 0);
+
+ free_sectors();
+ get_cylindersize(dev, fd, 1);
+ get_partitions(dev, fd, z);
+
+ if (!arg && ac == 1) {
+ /* list active partitions */
+ for (pno = 0; pno < z->partno; pno++) {
+ if (z->partitions[pno].p.bootable) {
+ lpno = index_to_linux(pno, z);
+ if (pno == linux_to_index(lpno, z))
+ printf("%s\n", partname(dev, lpno, 0));
+ else
+ printf("%s#%d\n", dev, pno);
+ if (z->partitions[pno].p.bootable != 0x80)
+ my_warn(_("bad active byte: 0x%x instead of 0x80\n"),
+ z->partitions[pno].p.bootable);
+ }
+ }
+ } else {
+ /* clear `active byte' everywhere */
+ for (pno = 0; pno < z->partno; pno++)
+ if (z->partitions[pno].ptype == DOS_TYPE)
+ z->partitions[pno].p.bootable = 0;
+
+ /* then set where desired */
+ if (ac == 1)
+ set_active(z, arg);
+ else
+ for (i = 1; i < ac; i++)
+ set_active(z, av[i]);
+
+ /* then write to disk */
+ if (write_partitions(dev, fd, z))
+ my_warn(_("Done\n\n"));
+ else
+ exit_status = 1;
+ }
+ i = 0;
+ for (pno = 0; pno < z->partno && pno < 4; pno++)
+ if (z->partitions[pno].p.bootable)
+ i++;
+ if (i != 1)
+ my_warn(_("You have %d active primary partitions. This does not matter for LILO,\n"
+ "but the DOS MBR will only boot a disk with 1 active partition.\n"),
+ i);
+
+ close(fd);
+}
+
+static void
+set_unhidden(struct disk_desc *z, char *pnam) {
+ int pno;
+ unsigned char id;
+
+ pno = asc_to_index(pnam, z);
+ id = z->partitions[pno].p.sys_type;
+ if (id == 0x11 || id == 0x14 || id == 0x16 || id == 0x17)
+ id -= 0x10;
+ else
+ errx(EXIT_FAILURE, _("partition %s has id %x and is not hidden"), pnam, id);
+ z->partitions[pno].p.sys_type = id;
+}
+
+/*
+ * maybe remove and make part of --change-id
+ */
+static void
+do_unhide(char **av, int ac, char *arg) {
+ char *dev = av[0];
+ int fd, rw, i;
+ struct disk_desc *z;
+
+ z = &oldp;
+
+ rw = !no_write;
+ fd = my_open(dev, rw, 0);
+
+ free_sectors();
+ get_cylindersize(dev, fd, 1);
+ get_partitions(dev, fd, z);
+
+ /* unhide where desired */
+ if (ac == 1)
+ set_unhidden(z, arg);
+ else
+ for (i = 1; i < ac; i++)
+ set_unhidden(z, av[i]);
+
+ /* then write to disk */
+ if (write_partitions(dev, fd, z))
+ my_warn(_("Done\n\n"));
+ else
+ exit_status = 1;
+
+ close(fd);
+}
+
+static void
+do_change_id(char *dev, char *pnam, char *id) {
+ int fd, rw, pno;
+ struct disk_desc *z;
+ unsigned long i;
+
+ z = &oldp;
+
+ rw = !no_write;
+ fd = my_open(dev, rw, 0);
+
+ free_sectors();
+ get_cylindersize(dev, fd, 1);
+ get_partitions(dev, fd, z);
+
+ pno = asc_to_index(pnam, z);
+ if (id == 0) {
+ printf("%x\n", z->partitions[pno].p.sys_type);
+ goto done;
+ }
+ i = strtoul(id, NULL, 16);
+ if (i > 255)
+ errx(EXIT_FAILURE, _("Bad Id %lx"), i);
+ z->partitions[pno].p.sys_type = i;
+
+ if (write_partitions(dev, fd, z))
+ my_warn(_("Done\n\n"));
+ else
+ exit_status = 1;
+
+done:
+ close(fd);
+}
+
+static void
+do_reread(char *dev) {
+ int fd;
+
+ fd = my_open(dev, 0, 0);
+ if (reread_ioctl(fd)) {
+ warnx(_("This disk is currently in use.\n"));
+ exit(1);
+ }
+
+ close(fd);
+}
+
+/*
+ * I. Writing the new situation
+ */
+
+static void
+do_fdisk(char *dev) {
+ int fd;
+ char answer[32];
+ struct stat statbuf;
+ int interactive = isatty(0);
+ struct disk_desc *z;
+
+ if (stat(dev, &statbuf) < 0) {
+ perror(dev);
+ errx(EXIT_FAILURE, _("Fatal error: cannot find %s"), dev);
+ }
+ if (!S_ISBLK(statbuf.st_mode)) {
+ warnx(_("Warning: %s is not a block device\n"), dev);
+ no_reread = 1;
+ }
+ fd = my_open(dev, !no_write, 0);
+
+ if (!no_write && !no_reread) {
+ my_warn(_("Checking that no-one is using this disk right now ...\n"));
+ if (reread_ioctl(fd)) {
+ warnx(_("\nThis disk is currently in use - repartitioning is probably a bad idea.\n"
+ "Umount all file systems, and swapoff all swap partitions on this disk.\n"
+ "Use the --no-reread flag to suppress this check.\n"));
+ if (!force) {
+ warnx(_("Use the --force flag to overrule all checks.\n"));
+ exit(1);
+ }
+ } else
+ my_warn(_("OK\n"));
+ }
+
+ z = &oldp;
+
+ free_sectors();
+ get_cylindersize(dev, fd, 0);
+ get_partitions(dev, fd, z);
+
+ printf(_("Old situation:\n"));
+ out_partitions(dev, z);
+
+ if (one_only && (one_only_pno = linux_to_index(one_only, z)) < 0)
+ errx(EXIT_FAILURE, _("Partition %d does not exist, cannot change it"), one_only);
+
+ z = &newp;
+
+ while (1) {
+
+ read_input(dev, interactive, z);
+
+ printf(_("New situation:\n"));
+ out_partitions(dev, z);
+
+ if (!partitions_ok(fd, z) && !force) {
+ if (!interactive)
+ errx(EXIT_FAILURE, _("I don't like these partitions - nothing changed.\n"
+ "(If you really want this, use the --force option.)"));
+ else
+ warnx(_("I don't like this - probably you should answer No\n"));
+ }
+ if (interactive) {
+ ask:
+ if (no_write)
+ /* TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+ * should be translated, but that is not the case with q answer. */
+ printf(_("Are you satisfied with this? [ynq] "));
+ else
+ printf(_("Do you want to write this to disk? [ynq] "));
+ ignore_result( fgets(answer, sizeof(answer), stdin) );
+ if (answer[0] == 'q' || answer[0] == 'Q') {
+ errx(EXIT_FAILURE, _("Quitting - nothing changed"));
+ } else if (rpmatch(answer) == 1) {
+ continue;
+ } else if (rpmatch(answer) == 0) {
+ break;
+ } else {
+ printf(_("Please answer one of y,n,q\n"));
+ goto ask;
+ }
+ } else
+ break;
+ }
+
+ if (write_partitions(dev, fd, z))
+ printf(_("Successfully wrote the new partition table\n\n"));
+ else
+ exit_status = 1;
+
+ if (!reread_disk_partition(dev, fd)) { /* close fd on success */
+ close(fd);
+ exit_status = 1;
+ }
+ my_warn(_("If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+ "to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+ "(See fdisk(8).)\n"));
+
+ sync(); /* superstition */
+ exit(exit_status);
+}
diff --git a/fdisks/utils.c b/fdisks/utils.c
new file mode 100644
index 0000000..85e09c5
--- /dev/null
+++ b/fdisks/utils.c
@@ -0,0 +1,523 @@
+/*
+ * Copyright (C) 2012 Davidlohr Bueso <dave@gnu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#ifdef HAVE_LIBBLKID
+#include <blkid.h>
+#endif
+
+#include "nls.h"
+#include "blkdev.h"
+#include "common.h"
+#include "fdisk.h"
+
+#include "fdiskdoslabel.h"
+#include "fdisksunlabel.h"
+
+int fdisk_debug_mask;
+
+/*
+ * Label probing functions.
+ */
+static const struct fdisk_label *labels[] =
+{
+ &dos_label,
+ &sun_label,
+ &sgi_label,
+ &aix_label,
+ &bsd_label,
+ &mac_label,
+};
+
+/**
+ * fdisk_write_disklabel
+ * @cxt: fdisk context
+ *
+ * Write in-memory changes to disk
+ *
+ * Returns 0 on success, otherwise, a corresponding error.
+ */
+int fdisk_write_disklabel(struct fdisk_context *cxt)
+{
+ if (!cxt || !cxt->label)
+ return -EINVAL;
+ if (!cxt->label->write)
+ return -ENOSYS;
+
+ return cxt->label->write(cxt);
+}
+
+/**
+ * fdisk_verify_disklabel:
+ * @cxt: fdisk context
+ *
+ * Verifies the partition tabe.
+ *
+ * Returns 0.
+ */
+int fdisk_verify_disklabel(struct fdisk_context *cxt)
+{
+ if (!cxt || !cxt->label)
+ return -EINVAL;
+ if (!cxt->label->verify)
+ return -ENOSYS;
+
+ return cxt->label->verify(cxt);
+}
+
+/**
+ * fdisk_add_partition:
+ * @cxt: fdisk context
+ * @partnum: partition number to create
+ * @parttype: partition type to create
+ *
+ * Creates a new partition, with number @partnum and type @parttype.
+ *
+ * Returns 0.
+ */
+int fdisk_add_partition(struct fdisk_context *cxt, int partnum, int parttype)
+{
+ if (!cxt || !cxt->label)
+ return -EINVAL;
+ if (!cxt->label->part_add)
+ return -ENOSYS;
+
+ cxt->label->part_add(cxt, partnum, parttype);
+ return 0;
+}
+
+/**
+ * fdisk_delete_partition:
+ * @cxt: fdisk context
+ * @partnum: partition number to delete
+ *
+ * Deletes a @partnum partition.
+ *
+ * Returns 0 on success, otherwise, a corresponding error.
+ */
+int fdisk_delete_partition(struct fdisk_context *cxt, int partnum)
+{
+ if (!cxt || !cxt->label)
+ return -EINVAL;
+ if (!cxt->label->part_delete)
+ return -ENOSYS;
+
+ DBG(LABEL, dbgprint("deleting %s partition number %d",
+ cxt->label->name, partnum));
+ cxt->label->part_delete(cxt, partnum);
+ return 0;
+}
+
+static int __probe_labels(struct fdisk_context *cxt)
+{
+ size_t i;
+
+ disklabel = ANY_LABEL;
+ update_units(cxt);
+
+ for (i = 0; i < ARRAY_SIZE(labels); i++) {
+ if (!labels[i]->probe || labels[i]->probe(cxt) != 1)
+ continue;
+
+ cxt->label = labels[i];
+
+ DBG(LABEL, dbgprint("detected a %s label", cxt->label->name));
+ return 0;
+ }
+
+ return 1; /* not found */
+}
+
+static int __init_firstsector_buffer(struct fdisk_context *cxt)
+{
+ DBG(TOPOLOGY, dbgprint("initialize first sector buffer"));
+
+ cxt->firstsector = calloc(1, MAX_SECTOR_SIZE);
+ if (!cxt->firstsector)
+ goto fail;
+
+ /* read MBR */
+ if (512 != read(cxt->dev_fd, cxt->firstsector, 512)) {
+ if (errno == 0)
+ errno = EINVAL; /* probably too small file/device */
+ goto fail;
+ }
+
+ return 0;
+fail:
+ return -errno;
+}
+
+static unsigned long __get_sector_size(int fd)
+{
+ int sect_sz;
+
+ if (!blkdev_get_sector_size(fd, &sect_sz))
+ return (unsigned long) sect_sz;
+ return DEFAULT_SECTOR_SIZE;
+}
+
+/**
+ * fdisk_context_force_sector_size:
+ * @cxt: fdisk context
+ * @s: required sector size
+ *
+ * Overwrites logical and physical sector size. Note that the default sector
+ * size is discovered by fdisk_new_context_from_device() from device topology.
+ *
+ * Don't use this function, rely on the default behavioer is more safe.
+ *
+ * Returns: 0 on success, < 0 on error.
+ */
+int fdisk_context_force_sector_size(struct fdisk_context *cxt, sector_t s)
+{
+ if (!cxt)
+ return -EINVAL;
+
+ cxt->phy_sector_size = cxt->sector_size = s;
+ cxt->min_io_size = cxt->io_size = s;
+
+ update_sector_offset(cxt);
+ return 0;
+}
+
+static void recount_geometry(struct fdisk_context *cxt)
+{
+ cxt->geom.cylinders = cxt->total_sectors /
+ (cxt->geom.heads * cxt->geom.sectors);
+}
+
+/**
+ * fdisk_context_set_user_geometry:
+ * @cxt: fdisk context
+ * @cylinders: user specified cylinders
+ * @heads: user specified heads
+ * @sectors: user specified sectors
+ *
+ * Overrides autodiscovery and apply user specified geometry.
+ *
+ * Returns: 0 on success, < 0 on error.
+ */
+int fdisk_context_set_user_geometry(struct fdisk_context *cxt,
+ unsigned int cylinders,
+ unsigned int heads,
+ unsigned int sectors)
+{
+ if (!cxt)
+ return -EINVAL;
+ if (heads)
+ cxt->geom.heads = heads;
+ if (sectors)
+ cxt->geom.sectors = sectors;
+
+ if (cylinders)
+ cxt->geom.cylinders = cylinders;
+ else
+ recount_geometry(cxt);
+
+ update_sector_offset(cxt);
+ return 0;
+}
+
+/*
+ * Generic (label independent) geometry
+ */
+static int __discover_system_geometry(struct fdisk_context *cxt)
+{
+ sector_t nsects;
+ unsigned int h = 0, s = 0;
+
+ /* get number of 512-byte sectors, and convert it the real sectors */
+ if (!blkdev_get_sectors(cxt->dev_fd, &nsects))
+ cxt->total_sectors = (nsects / (cxt->sector_size >> 9));
+
+ /* what the kernel/bios thinks the geometry is */
+ blkdev_get_geometry(cxt->dev_fd, &h, &s);
+ if (!h && !s) {
+ /* unable to discover geometry, use default values */
+ s = 63;
+ h = 255;
+ }
+
+ /* obtained heads and sectors */
+ cxt->geom.heads = h;
+ cxt->geom.sectors = s;
+ recount_geometry(cxt);
+
+ DBG(GEOMETRY, dbgprint("geometry discovered for %s: C/H/S: %lld/%d/%lld",
+ cxt->dev_path, cxt->geom.cylinders,
+ cxt->geom.heads, cxt->geom.sectors));
+ return 0;
+}
+
+static int __discover_topology(struct fdisk_context *cxt)
+{
+#ifdef HAVE_LIBBLKID
+ blkid_probe pr;
+
+ DBG(TOPOLOGY, dbgprint("initialize libblkid prober"));
+
+ pr = blkid_new_probe();
+ if (pr && blkid_probe_set_device(pr, cxt->dev_fd, 0, 0) == 0) {
+ blkid_topology tp = blkid_probe_get_topology(pr);
+
+ if (tp) {
+ cxt->min_io_size = blkid_topology_get_minimum_io_size(tp);
+ cxt->optimal_io_size = blkid_topology_get_optimal_io_size(tp);
+ cxt->phy_sector_size = blkid_topology_get_physical_sector_size(tp);
+ cxt->alignment_offset = blkid_topology_get_alignment_offset(tp);
+
+ /* I/O size used by fdisk */
+ cxt->io_size = cxt->optimal_io_size;
+ if (!cxt->io_size)
+ /* optimal IO is optional, default to minimum IO */
+ cxt->io_size = cxt->min_io_size;
+ }
+ }
+ blkid_free_probe(pr);
+#endif
+
+ /* no blkid or error, use default values */
+ if (!cxt->min_io_size)
+ cxt->min_io_size = DEFAULT_SECTOR_SIZE;
+ if (!cxt->io_size)
+ cxt->io_size = DEFAULT_SECTOR_SIZE;
+
+ cxt->sector_size = __get_sector_size(cxt->dev_fd);
+ if (!cxt->phy_sector_size) /* could not discover physical size */
+ cxt->phy_sector_size = cxt->sector_size;
+
+ DBG(TOPOLOGY, dbgprint("topology discovered for %s:\n"
+ "\tlogical/physical sector sizes: %ld/%ld\n"
+ "\tfdisk/minimal/optimal io sizes: %ld/%ld/%ld\n",
+ cxt->dev_path, cxt->sector_size, cxt->phy_sector_size,
+ cxt->io_size, cxt->optimal_io_size, cxt->min_io_size));
+ return 0;
+}
+
+/**
+ * fdisk_zeroize_firstsector:
+ * @cxt: fdisk context
+ *
+ * Zeros in-memory first sector buffer
+ */
+void fdisk_zeroize_firstsector(struct fdisk_context *cxt)
+{
+ if (!cxt)
+ return;
+
+ if (cxt->firstsector) {
+ DBG(CONTEXT, dbgprint("zeroize in-memory first sector buffer"));
+ memset(cxt->firstsector, 0, MAX_SECTOR_SIZE);
+ }
+}
+
+/**
+ * fdisk_dev_sectsz_is_default:
+ * @cxt: fdisk context
+ *
+ * Returns 1 if the device's sector size is the default value, otherwise 0.
+ */
+int fdisk_dev_sectsz_is_default(struct fdisk_context *cxt)
+{
+ if (!cxt)
+ return -EINVAL;
+
+ return cxt->sector_size == DEFAULT_SECTOR_SIZE;
+}
+
+/**
+ * fdisk_dev_has_topology:
+ * @cxt: fdisk context
+ *
+ * Returns 1 if the device provides topology information, otherwise 0.
+ */
+int fdisk_dev_has_topology(struct fdisk_context *cxt)
+{
+ /*
+ * Assume that the device provides topology info if
+ * optimal_io_size is set or alignment_offset is set or
+ * minimum_io_size is not power of 2.
+ */
+ if (cxt &&
+ (cxt->optimal_io_size ||
+ cxt->alignment_offset ||
+ !is_power_of_2(cxt->min_io_size)))
+ return 1;
+ return 0;
+}
+
+/**
+ * fdisk_dev_has_disklabel:
+ * @cxt: fdisk context
+ *
+ * Returns: return 1 if there is label on the device.
+ */
+int fdisk_dev_has_disklabel(struct fdisk_context *cxt)
+{
+ return cxt && disklabel != ANY_LABEL;
+}
+
+/**
+ * fdisk_create_disklabel:
+ * @cxt: fdisk context
+ * @name: label name
+ *
+ * Creates a new disk label of type @name. If @name is NULL, then it
+ * will create a default system label type, either SUN or DOS.
+ *
+ * Returns 0 on success, otherwise, a corresponding error.
+ */
+int fdisk_create_disklabel(struct fdisk_context *cxt, const char *name)
+{
+ if (!cxt)
+ return -EINVAL;
+
+ cxt->label = NULL;
+
+ if (!name) { /* use default label creation */
+#ifdef __sparc__
+ cxt->label = &sun_label;
+#else
+ cxt->label = &dos_label;
+#endif
+ } else {
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(labels); i++) {
+ if (strcmp(name, labels[i]->name) != 0)
+ continue;
+
+ cxt->label = labels[i];
+ DBG(LABEL, dbgprint("changing to %s label\n", cxt->label->name));
+ break;
+ }
+ }
+
+ if (!cxt->label)
+ return -EINVAL;
+ if (!cxt->label->create)
+ return -ENOSYS;
+
+ return cxt->label->create(cxt);
+}
+
+/**
+ * fdisk_init_debug:
+ * @mask: debug mask (0xffff to enable full debuging)
+ *
+ * If the @mask is not specified then this function reads
+ * FDISK_DEBUG environment variable to get the mask.
+ *
+ * Already initialized debugging stuff cannot be changed. It does not
+ * have effect to call this function twice.
+ */
+void fdisk_init_debug(int mask)
+{
+ if (fdisk_debug_mask & FDISK_DEBUG_INIT)
+ return;
+ if (!mask) {
+ char *str = getenv("FDISK_DEBUG");
+ if (str)
+ fdisk_debug_mask = strtoul(str, 0, 0);
+ } else
+ fdisk_debug_mask = mask;
+
+ if (fdisk_debug_mask)
+ fprintf(stderr, "fdisk: debug mask set to 0x%04x.\n",
+ fdisk_debug_mask);
+ fdisk_debug_mask |= FDISK_DEBUG_INIT;
+}
+
+/**
+ * fdisk_new_context:
+ * @filename: path to the device to be handled
+ * @readonly: how to open the device
+ *
+ * If the @readonly flag is set to false, fdisk will attempt to open
+ * the device with read-write mode and will fallback to read-only if
+ * unsuccessful.
+ *
+ * Returns: newly allocated fdisk context
+ */
+struct fdisk_context *fdisk_new_context_from_filename(const char *fname, int readonly)
+{
+ int fd, errsv = 0;
+ struct fdisk_context *cxt = NULL;
+
+ DBG(CONTEXT, dbgprint("initializing context for %s", fname));
+
+ if (readonly == 1 || (fd = open(fname, O_RDWR)) < 0) {
+ if ((fd = open(fname, O_RDONLY)) < 0)
+ return NULL;
+ readonly = 1;
+ }
+
+ cxt = calloc(1, sizeof(*cxt));
+ if (!cxt)
+ goto fail;
+
+ cxt->dev_fd = fd;
+ cxt->dev_path = strdup(fname);
+ if (!cxt->dev_path)
+ goto fail;
+
+ if (__init_firstsector_buffer(cxt) < 0)
+ goto fail;
+
+ __discover_topology(cxt);
+ __discover_system_geometry(cxt);
+
+ /* detect labels and apply labes specific stuff (e.g geomery)
+ * to the context */
+ __probe_labels(cxt);
+
+ update_sector_offset(cxt);
+
+ DBG(CONTEXT, dbgprint("context initialized for %s [%s]",
+ fname, readonly ? "READ-ONLY" : "READ-WRITE"));
+ return cxt;
+fail:
+ errsv = errno;
+ fdisk_free_context(cxt);
+ errno = errsv;
+
+ DBG(CONTEXT, dbgprint("failed to initialize context for %s: %m", fname));
+ return NULL;
+}
+
+/**
+ * fdisk_free_context:
+ * @cxt: fdisk context
+ *
+ * Deallocates context struct.
+ */
+void fdisk_free_context(struct fdisk_context *cxt)
+{
+ if (!cxt)
+ return;
+
+ DBG(CONTEXT, dbgprint("freeing context for %s", cxt->dev_path));
+ close(cxt->dev_fd);
+ free(cxt->dev_path);
+ free(cxt->firstsector);
+ free(cxt);
+}
diff --git a/include/Makemodule.am b/include/Makemodule.am
new file mode 100644
index 0000000..9f9b78e
--- /dev/null
+++ b/include/Makemodule.am
@@ -0,0 +1,45 @@
+
+dist_noinst_HEADERS += \
+ include/all-io.h \
+ include/at.h \
+ include/bitops.h \
+ include/blkdev.h \
+ include/c.h \
+ include/canonicalize.h \
+ include/carefulputc.h \
+ include/closestream.h \
+ include/cpuset.h \
+ include/crc32.h \
+ include/env.h \
+ include/exitcodes.h \
+ include/fileutils.h \
+ include/ismounted.h \
+ include/linux_reboot.h \
+ include/linux_version.h \
+ include/list.h \
+ include/loopdev.h \
+ include/mangle.h \
+ include/match.h \
+ include/mbsalign.h \
+ include/md5.h \
+ include/minix.h \
+ include/nls.h \
+ include/optutils.h \
+ include/pager.h \
+ include/pamfail.h \
+ include/path.h \
+ include/pathnames.h \
+ include/procutils.h \
+ include/randutils.h \
+ include/rpmatch.h \
+ include/setproctitle.h \
+ include/strutils.h \
+ include/swapheader.h \
+ include/sysfs.h \
+ include/tt.h \
+ include/ttyutils.h \
+ include/usleep.h \
+ include/wholedisk.h \
+ include/widechar.h \
+ include/xalloc.h \
+ include/xgetpass.h
diff --git a/include/all-io.h b/include/all-io.h
new file mode 100644
index 0000000..38a760f
--- /dev/null
+++ b/include/all-io.h
@@ -0,0 +1,72 @@
+#ifndef UTIL_LINUX_ALL_IO_H
+#define UTIL_LINUX_ALL_IO_H
+
+#include <string.h>
+#include <unistd.h>
+#include <errno.h>
+
+static inline int write_all(int fd, const void *buf, size_t count)
+{
+ while (count) {
+ ssize_t tmp;
+
+ errno = 0;
+ tmp = write(fd, buf, count);
+ if (tmp > 0) {
+ count -= tmp;
+ if (count)
+ buf = (void *) ((char *) buf + tmp);
+ } else if (errno != EINTR && errno != EAGAIN)
+ return -1;
+ if (errno == EAGAIN) /* Try later, *sigh* */
+ usleep(10000);
+ }
+ return 0;
+}
+
+static inline int fwrite_all(const void *ptr, size_t size,
+ size_t nmemb, FILE *stream)
+{
+ while (nmemb) {
+ size_t tmp;
+
+ errno = 0;
+ tmp = fwrite(ptr, size, nmemb, stream);
+ if (tmp > 0) {
+ nmemb -= tmp;
+ if (nmemb)
+ ptr = (void *) ((char *) ptr + (tmp * size));
+ } else if (errno != EINTR && errno != EAGAIN)
+ return -1;
+ if (errno == EAGAIN) /* Try later, *sigh* */
+ usleep(10000);
+ }
+ return 0;
+}
+
+static inline ssize_t read_all(int fd, char *buf, size_t count)
+{
+ ssize_t ret;
+ ssize_t c = 0;
+ int tries = 0;
+
+ memset(buf, 0, count);
+ while (count > 0) {
+ ret = read(fd, buf, count);
+ if (ret <= 0) {
+ if ((errno == EAGAIN || errno == EINTR || ret == 0) &&
+ (tries++ < 5))
+ continue;
+ return c ? c : -1;
+ }
+ if (ret > 0)
+ tries = 0;
+ count -= ret;
+ buf += ret;
+ c += ret;
+ }
+ return c;
+}
+
+
+#endif /* UTIL_LINUX_ALL_IO_H */
diff --git a/include/at.h b/include/at.h
new file mode 100644
index 0000000..63a80f0
--- /dev/null
+++ b/include/at.h
@@ -0,0 +1,32 @@
+/*
+ * wrappers for "at" functions.
+ *
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#ifndef UTIL_LINUX_AT_H
+#define UTIL_LINUX_AT_H
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include "c.h"
+
+extern int fstat_at(int dir, const char *dirname,
+ const char *filename, struct stat *st, int nofollow);
+
+extern int open_at(int dir, const char *dirname,
+ const char *filename, int flags);
+
+extern FILE *fopen_at(int dir, const char *dirname, const char *filename,
+ int flags, const char *mode);
+
+extern ssize_t readlink_at(int dir, const char *dirname, const char *pathname,
+ char *buf, size_t bufsiz);
+
+
+#endif /* UTIL_LINUX_AT_H */
diff --git a/include/bitops.h b/include/bitops.h
new file mode 100644
index 0000000..81375d0
--- /dev/null
+++ b/include/bitops.h
@@ -0,0 +1,84 @@
+#ifndef BITOPS_H
+#define BITOPS_H
+
+#include <stdint.h>
+
+/*
+ * Bit map related macros. Usually provided by libc.
+ */
+#include <sys/param.h>
+
+#ifndef NBBY
+# define NBBY CHAR_BIT
+#endif
+
+#ifndef setbit
+# define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
+# define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
+# define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
+# define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
+#endif
+
+/*
+ * Byte swab macros (based on linux/byteorder/swab.h)
+ */
+#define swab16(x) \
+ ((uint16_t)( \
+ (((uint16_t)(x) & (uint16_t)0x00ffU) << 8) | \
+ (((uint16_t)(x) & (uint16_t)0xff00U) >> 8) ))
+
+#define swab32(x) \
+ ((uint32_t)( \
+ (((uint32_t)(x) & (uint32_t)0x000000ffUL) << 24) | \
+ (((uint32_t)(x) & (uint32_t)0x0000ff00UL) << 8) | \
+ (((uint32_t)(x) & (uint32_t)0x00ff0000UL) >> 8) | \
+ (((uint32_t)(x) & (uint32_t)0xff000000UL) >> 24) ))
+
+#define swab64(x) \
+ ((uint64_t)( \
+ (uint64_t)(((uint64_t)(x) & (uint64_t)0x00000000000000ffULL) << 56) | \
+ (uint64_t)(((uint64_t)(x) & (uint64_t)0x000000000000ff00ULL) << 40) | \
+ (uint64_t)(((uint64_t)(x) & (uint64_t)0x0000000000ff0000ULL) << 24) | \
+ (uint64_t)(((uint64_t)(x) & (uint64_t)0x00000000ff000000ULL) << 8) | \
+ (uint64_t)(((uint64_t)(x) & (uint64_t)0x000000ff00000000ULL) >> 8) | \
+ (uint64_t)(((uint64_t)(x) & (uint64_t)0x0000ff0000000000ULL) >> 24) | \
+ (uint64_t)(((uint64_t)(x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \
+ (uint64_t)(((uint64_t)(x) & (uint64_t)0xff00000000000000ULL) >> 56) ))
+
+
+#ifdef WORDS_BIGENDIAN
+
+#define cpu_to_le16(x) swab16(x)
+#define cpu_to_le32(x) swab32(x)
+#define cpu_to_le64(x) swab64(x)
+#define cpu_to_be16(x) ((uint16_t)(x))
+#define cpu_to_be32(x) ((uint32_t)(x))
+#define cpu_to_be64(x) ((uint64_t)(x))
+
+#define le16_to_cpu(x) swab16(x)
+#define le32_to_cpu(x) swab32(x)
+#define le64_to_cpu(x) swab64(x)
+#define be16_to_cpu(x) ((uint16_t)(x))
+#define be32_to_cpu(x) ((uint32_t)(x))
+#define be64_to_cpu(x) ((uint64_t)(x))
+
+#else /* !WORDS_BIGENDIAN */
+
+#define cpu_to_le16(x) ((uint16_t)(x))
+#define cpu_to_le32(x) ((uint32_t)(x))
+#define cpu_to_le64(x) ((uint64_t)(x))
+#define cpu_to_be16(x) swab16(x)
+#define cpu_to_be32(x) swab32(x)
+#define cpu_to_be64(x) swab64(x)
+
+#define le16_to_cpu(x) ((uint16_t)(x))
+#define le32_to_cpu(x) ((uint32_t)(x))
+#define le64_to_cpu(x) ((uint64_t)(x))
+#define be16_to_cpu(x) swab16(x)
+#define be32_to_cpu(x) swab32(x)
+#define be64_to_cpu(x) swab64(x)
+
+#endif /* WORDS_BIGENDIAN */
+
+#endif /* BITOPS_H */
+
diff --git a/include/blkdev.h b/include/blkdev.h
new file mode 100644
index 0000000..93586a0
--- /dev/null
+++ b/include/blkdev.h
@@ -0,0 +1,140 @@
+#ifndef BLKDEV_H
+#define BLKDEV_H
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#ifdef HAVE_SYS_IOCCOM_H
+# include <sys/ioccom.h> /* for _IO macro on e.g. Solaris */
+#endif
+#include <fcntl.h>
+#include <unistd.h>
+
+#ifdef HAVE_SYS_MKDEV_H
+# include <sys/mkdev.h> /* major and minor on Solaris */
+#endif
+
+#define DEFAULT_SECTOR_SIZE 512
+
+#ifdef __linux__
+/* very basic ioclts, should be available everywhere */
+# ifndef BLKROSET
+# define BLKROSET _IO(0x12,93) /* set device read-only (0 = read-write) */
+# define BLKROGET _IO(0x12,94) /* get read-only status (0 = read_write) */
+# define BLKRRPART _IO(0x12,95) /* re-read partition table */
+# define BLKGETSIZE _IO(0x12,96) /* return device size /512 (long *arg) */
+# define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */
+# define BLKRASET _IO(0x12,98) /* set read ahead for block device */
+# define BLKRAGET _IO(0x12,99) /* get current read ahead setting */
+# define BLKFRASET _IO(0x12,100) /* set filesystem (mm/filemap.c) read-ahead */
+# define BLKFRAGET _IO(0x12,101) /* get filesystem (mm/filemap.c) read-ahead */
+# define BLKSECTSET _IO(0x12,102) /* set max sectors per request (ll_rw_blk.c) */
+# define BLKSECTGET _IO(0x12,103) /* get max sectors per request (ll_rw_blk.c) */
+# define BLKSSZGET _IO(0x12,104) /* get block device sector size */
+
+/* ioctls introduced in 2.2.16, removed in 2.5.58 */
+# define BLKELVGET _IOR(0x12,106,size_t) /* elevator get */
+# define BLKELVSET _IOW(0x12,107,size_t) /* elevator set */
+
+# define BLKBSZGET _IOR(0x12,112,size_t)
+# define BLKBSZSET _IOW(0x12,113,size_t)
+# endif /* !BLKROSET */
+
+# ifndef BLKGETSIZE64
+# define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size in bytes (u64 *arg) */
+# endif
+
+/* block device topology ioctls, introduced in 2.6.32 (commit ac481c20) */
+# ifndef BLKIOMIN
+# define BLKIOMIN _IO(0x12,120)
+# define BLKIOOPT _IO(0x12,121)
+# define BLKALIGNOFF _IO(0x12,122)
+# define BLKPBSZGET _IO(0x12,123)
+# endif
+
+/* discard zeroes support, introduced in 2.6.33 (commit 98262f27) */
+# ifndef BLKDISCARDZEROES
+# define BLKDISCARDZEROES _IO(0x12,124)
+# endif
+
+/* filesystem freeze, introduced in 2.6.29 (commit fcccf502) */
+# ifndef FIFREEZE
+# define FIFREEZE _IOWR('X', 119, int) /* Freeze */
+# define FITHAW _IOWR('X', 120, int) /* Thaw */
+# endif
+
+/* uniform CD-ROM information */
+# ifndef CDROM_GET_CAPABILITY
+# define CDROM_GET_CAPABILITY 0x5331
+# endif
+
+#endif /* __linux */
+
+
+#ifdef APPLE_DARWIN
+# define BLKGETSIZE DKIOCGETBLOCKCOUNT32
+#endif
+
+#ifndef HDIO_GETGEO
+# ifdef __linux__
+# define HDIO_GETGEO 0x0301
+# endif
+
+struct hd_geometry {
+ unsigned char heads;
+ unsigned char sectors;
+ unsigned short cylinders; /* truncated */
+ unsigned long start;
+};
+#endif /* HDIO_GETGEO */
+
+
+/* are we working with block device? */
+int is_blkdev(int fd);
+
+/* Determine size in bytes */
+off_t blkdev_find_size (int fd);
+
+/* get size in bytes */
+int blkdev_get_size(int fd, unsigned long long *bytes);
+
+/* get 512-byte sector count */
+int blkdev_get_sectors(int fd, unsigned long long *sectors);
+
+/* get hardware sector size */
+int blkdev_get_sector_size(int fd, int *sector_size);
+
+/* specifies whether or not the device is misaligned */
+int blkdev_is_misaligned(int fd);
+
+/* get physical block device size */
+int blkdev_get_physector_size(int fd, int *sector_size);
+
+/* is the device cdrom capable? */
+int blkdev_is_cdrom(int fd);
+
+/* get device's geometry - legacy */
+int blkdev_get_geometry(int fd, unsigned int *h, unsigned int *s);
+
+/* SCSI device types. Copied almost as-is from kernel header.
+ * http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=include/scsi/scsi.h */
+#define SCSI_TYPE_DISK 0x00
+#define SCSI_TYPE_TAPE 0x01
+#define SCSI_TYPE_PRINTER 0x02
+#define SCSI_TYPE_PROCESSOR 0x03 /* HP scanners use this */
+#define SCSI_TYPE_WORM 0x04 /* Treated as ROM by our system */
+#define SCSI_TYPE_ROM 0x05
+#define SCSI_TYPE_SCANNER 0x06
+#define SCSI_TYPE_MOD 0x07 /* Magneto-optical disk - treated as SCSI_TYPE_DISK */
+#define SCSI_TYPE_MEDIUM_CHANGER 0x08
+#define SCSI_TYPE_COMM 0x09 /* Communications device */
+#define SCSI_TYPE_RAID 0x0c
+#define SCSI_TYPE_ENCLOSURE 0x0d /* Enclosure Services Device */
+#define SCSI_TYPE_RBC 0x0e
+#define SCSI_TYPE_OSD 0x11
+#define SCSI_TYPE_NO_LUN 0x7f
+
+/* convert scsi type code to name */
+const char *blkdev_scsi_type_to_name(int type);
+
+
+#endif /* BLKDEV_H */
diff --git a/include/c.h b/include/c.h
new file mode 100644
index 0000000..64c0138
--- /dev/null
+++ b/include/c.h
@@ -0,0 +1,269 @@
+/*
+ * Fundamental C definitions.
+ */
+
+#ifndef UTIL_LINUX_C_H
+#define UTIL_LINUX_C_H
+
+#include <limits.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#ifdef HAVE_ERR_H
+# include <err.h>
+#endif
+
+/*
+ * Compiler specific stuff
+ */
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+# define __GNUC_PREREQ(maj, min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# else
+# define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#ifdef __GNUC__
+
+/* &a[0] degrades to a pointer: a different type from an array */
+# define __must_be_array(a) \
+ UL_BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(__typeof__(a), __typeof__(&a[0])))
+
+# define ignore_result(x) ({ \
+ __typeof__(x) __dummy __attribute__((__unused__)) = (x); (void) __dummy; \
+})
+
+#else /* !__GNUC__ */
+# define __must_be_array(a) 0
+# define __attribute__(_arg_)
+# define ignore_result(x) ((void) (x))
+#endif /* !__GNUC__ */
+
+/*
+ * Function attributes
+ */
+#ifndef __ul_alloc_size
+# if __GNUC_PREREQ (4, 3)
+# define __ul_alloc_size(s) __attribute__((alloc_size(s)))
+# else
+# define __ul_alloc_size(s)
+# endif
+#endif
+
+#ifndef __ul_calloc_size
+# if __GNUC_PREREQ (4, 3)
+# define __ul_calloc_size(n, s) __attribute__((alloc_size(n, s)))
+# else
+# define __ul_calloc_size(n, s)
+# endif
+#endif
+
+/* Force a compilation error if condition is true, but also produce a
+ * result (of value 0 and type size_t), so the expression can be used
+ * e.g. in a structure initializer (or where-ever else comma expressions
+ * aren't permitted).
+ */
+#define UL_BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
+#define BUILD_BUG_ON_NULL(e) ((void *)sizeof(struct { int:-!!(e); }))
+
+#ifndef ARRAY_SIZE
+# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
+#endif
+
+#ifndef PATH_MAX
+# define PATH_MAX 4096
+#endif
+
+#ifndef TRUE
+# define TRUE 1
+#endif
+
+#ifndef FALSE
+# define FALSE 0
+#endif
+
+#ifndef min
+# define min(x, y) ({ \
+ __typeof__(x) _min1 = (x); \
+ __typeof__(y) _min2 = (y); \
+ (void) (&_min1 == &_min2); \
+ _min1 < _min2 ? _min1 : _min2; })
+#endif
+
+#ifndef max
+# define max(x, y) ({ \
+ __typeof__(x) _max1 = (x); \
+ __typeof__(y) _max2 = (y); \
+ (void) (&_max1 == &_max2); \
+ _max1 > _max2 ? _max1 : _max2; })
+#endif
+
+#ifndef offsetof
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+#endif
+
+#ifndef container_of
+#define container_of(ptr, type, member) ({ \
+ const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \
+ (type *)( (char *)__mptr - offsetof(type,member) );})
+#endif
+
+#ifndef HAVE_PROGRAM_INVOCATION_SHORT_NAME
+# ifdef HAVE___PROGNAME
+extern char *__progname;
+# define program_invocation_short_name __progname
+# else
+# ifdef HAVE_GETEXECNAME
+# define program_invocation_short_name \
+ prog_inv_sh_nm_from_file(getexecname(), 0)
+# else
+# define program_invocation_short_name \
+ prog_inv_sh_nm_from_file(__FILE__, 1)
+# endif
+static char prog_inv_sh_nm_buf[256];
+static inline char *
+prog_inv_sh_nm_from_file(char *f, char stripext)
+{
+ char *t;
+
+ if ((t = strrchr(f, '/')) != NULL)
+ t++;
+ else
+ t = f;
+
+ strncpy(prog_inv_sh_nm_buf, t, sizeof(prog_inv_sh_nm_buf) - 1);
+ prog_inv_sh_nm_buf[sizeof(prog_inv_sh_nm_buf) - 1] = '\0';
+
+ if (stripext && (t = strrchr(prog_inv_sh_nm_buf, '.')) != NULL)
+ *t = '\0';
+
+ return prog_inv_sh_nm_buf;
+}
+# endif
+#endif
+
+
+#ifndef HAVE_ERR_H
+static inline void
+errmsg(char doexit, int excode, char adderr, const char *fmt, ...)
+{
+ fprintf(stderr, "%s: ", program_invocation_short_name);
+ if (fmt != NULL) {
+ va_list argp;
+ va_start(argp, fmt);
+ vfprintf(stderr, fmt, argp);
+ va_end(argp);
+ if (adderr)
+ fprintf(stderr, ": ");
+ }
+ if (adderr)
+ fprintf(stderr, "%m");
+ fprintf(stderr, "\n");
+ if (doexit)
+ exit(excode);
+}
+
+#ifndef HAVE_ERR
+# define err(E, FMT...) errmsg(1, E, 1, FMT)
+#endif
+
+#ifndef HAVE_ERRX
+# define errx(E, FMT...) errmsg(1, E, 0, FMT)
+#endif
+
+#ifndef HAVE_WARN
+# define warn(FMT...) errmsg(0, 0, 1, FMT)
+#endif
+
+#ifndef HAVE_WARNX
+# define warnx(FMT...) errmsg(0, 0, 0, FMT)
+#endif
+#endif /* !HAVE_ERR_H */
+
+
+static inline __attribute__((const)) int is_power_of_2(unsigned long num)
+{
+ return (num != 0 && ((num & (num - 1)) == 0));
+}
+
+#ifndef HAVE_LOFF_T
+typedef int64_t loff_t;
+#endif
+
+#if !defined(HAVE_DIRFD) && (!defined(HAVE_DECL_DIRFD) || HAVE_DECL_DIRFD == 0) && defined(HAVE_DIR_DD_FD)
+#include <sys/types.h>
+#include <dirent.h>
+static inline int dirfd(DIR *d)
+{
+ return d->dd_fd;
+}
+#endif
+
+/*
+ * Fallback defines for old versions of glibc
+ */
+#include <fcntl.h>
+#ifndef O_CLOEXEC
+#define O_CLOEXEC 0
+#endif
+
+#ifndef AI_ADDRCONFIG
+#define AI_ADDRCONFIG 0x0020
+#endif
+
+#ifndef IUTF8
+#define IUTF8 0040000
+#endif
+
+/*
+ * Fallback for MAXHOSTNAMELEN
+ */
+#ifndef MAXHOSTNAMELEN
+# ifdef HOST_NAME_MAX
+# define MAXHOSTNAMELEN HOST_NAME_MAX
+# else
+# define MAXHOSTNAMELEN 64
+# endif
+#endif
+
+/*
+ * Constant strings for usage() functions. For more info see
+ * Documentation/howto-usage-function.txt and sys-utils/arch.c
+ */
+#define USAGE_HEADER _("\nUsage:\n")
+#define USAGE_OPTIONS _("\nOptions:\n")
+#define USAGE_SEPARATOR _("\n")
+#define USAGE_HELP _(" -h, --help display this help and exit\n")
+#define USAGE_VERSION _(" -V, --version output version information and exit\n")
+#define USAGE_MAN_TAIL(_man) _("\nFor more details see %s.\n"), _man
+
+#define UTIL_LINUX_VERSION _("%s from %s\n"), program_invocation_short_name, PACKAGE_STRING
+
+/*
+ * scanf modifiers for "strings allocation"
+ */
+#ifdef HAVE_SCANF_MS_MODIFIER
+#define UL_SCNsA "%ms"
+#elif defined(HAVE_SCANF_AS_MODIFIER)
+#define UL_SCNsA "%as"
+#endif
+
+/*
+ * seek stuff
+ */
+#ifndef SEEK_DATA
+# define SEEK_DATA 3
+#endif
+#ifndef SEEK_HOLE
+# define SEEK_HOLE 4
+#endif
+
+#endif /* UTIL_LINUX_C_H */
diff --git a/include/canonicalize.h b/include/canonicalize.h
new file mode 100644
index 0000000..f26df18
--- /dev/null
+++ b/include/canonicalize.h
@@ -0,0 +1,9 @@
+#ifndef CANONICALIZE_H
+#define CANONICALIZE_H
+
+#include "c.h" /* for PATH_MAX */
+
+extern char *canonicalize_path(const char *path);
+extern char *canonicalize_dm_name(const char *ptname);
+
+#endif /* CANONICALIZE_H */
diff --git a/include/carefulputc.h b/include/carefulputc.h
new file mode 100644
index 0000000..2d857eb
--- /dev/null
+++ b/include/carefulputc.h
@@ -0,0 +1,29 @@
+#ifndef _CAREFUULPUTC_H
+#define _CAREFUULPUTC_H
+
+/* putc() for use in write and wall (that sometimes are sgid tty) */
+/* Avoid control characters in our locale, and also ASCII control characters.
+ Note that the locale of the recipient is unknown. */
+#include <stdio.h>
+#include <ctype.h>
+
+#define iso8859x_iscntrl(c) \
+ (((c) & 0x7f) < 0x20 || (c) == 0x7f)
+
+static inline int carefulputc(int c, FILE *fp) {
+ int ret;
+
+ if (c == '\007' || c == '\t' || c == '\r' || c == '\n' ||
+ (!iso8859x_iscntrl(c) && (isprint(c) || isspace(c))))
+ ret = putc(c, fp);
+ else if ((c & 0x80) || !isprint(c^0x40))
+ ret = fprintf(fp, "\\%3o", (unsigned char) c);
+ else {
+ ret = putc('^', fp);
+ if (ret != EOF)
+ ret = putc(c^0x40, fp);
+ }
+ return (ret < 0) ? EOF : 0;
+}
+
+#endif /* _CAREFUULPUTC_H */
diff --git a/include/closestream.h b/include/closestream.h
new file mode 100644
index 0000000..d61b83b
--- /dev/null
+++ b/include/closestream.h
@@ -0,0 +1,51 @@
+#ifndef UTIL_LINUX_CLOSESTREAM_H
+#define UTIL_LINUX_CLOSESTREAM_H
+
+#include <stdio.h>
+#ifdef HAVE_STDIO_EXT_H
+#include <stdio_ext.h>
+#endif
+#include <unistd.h>
+
+#include "c.h"
+#include "nls.h"
+
+#ifndef HAVE___FPENDING
+static inline int
+__fpending(FILE *stream __attribute__((__unused__)))
+{
+ return 0;
+}
+#endif
+
+static inline int
+close_stream(FILE * stream)
+{
+ const int some_pending = (__fpending(stream) != 0);
+ const int prev_fail = (ferror(stream) != 0);
+ const int fclose_fail = (fclose(stream) != 0);
+ if (prev_fail || (fclose_fail && (some_pending || errno != EBADF))) {
+ if (!fclose_fail)
+ errno = 0;
+ return EOF;
+ }
+ return 0;
+}
+
+/* Meant to be used atexit(close_stdout); */
+static inline void
+close_stdout(void)
+{
+ if (close_stream(stdout) != 0 && !(errno == EPIPE)) {
+ if (errno)
+ warn(_("write error"));
+ else
+ warnx(_("write error"));
+ _exit(EXIT_FAILURE);
+ }
+
+ if (close_stream(stderr) != 0)
+ _exit(EXIT_FAILURE);
+}
+
+#endif /* UTIL_LINUX_CLOSESTREAM_H */
diff --git a/include/cpuset.h b/include/cpuset.h
new file mode 100644
index 0000000..47ddfe2
--- /dev/null
+++ b/include/cpuset.h
@@ -0,0 +1,95 @@
+#ifndef UTIL_LINUX_CPUSET_H
+#define UTIL_LINUX_CPUSET_H
+
+#include <sched.h>
+
+/*
+ * Fallback for old or obscure libcs without dynamically allocated cpusets
+ *
+ * The following macros are based on code from glibc.
+ *
+ * The GNU C Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ */
+#if !HAVE_DECL_CPU_ALLOC
+
+# define CPU_ZERO_S(setsize, cpusetp) \
+ do { \
+ size_t __i; \
+ size_t __imax = (setsize) / sizeof (__cpu_mask); \
+ __cpu_mask *__bits = (cpusetp)->__bits; \
+ for (__i = 0; __i < __imax; ++__i) \
+ __bits[__i] = 0; \
+ } while (0)
+
+# define CPU_SET_S(cpu, setsize, cpusetp) \
+ ({ size_t __cpu = (cpu); \
+ __cpu < 8 * (setsize) \
+ ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
+ |= __CPUMASK (__cpu)) \
+ : 0; })
+
+# define CPU_ISSET_S(cpu, setsize, cpusetp) \
+ ({ size_t __cpu = (cpu); \
+ __cpu < 8 * (setsize) \
+ ? ((((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
+ & __CPUMASK (__cpu))) != 0 \
+ : 0; })
+
+# define CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
+ ({ __cpu_mask *__arr1 = (cpusetp1)->__bits; \
+ __cpu_mask *__arr2 = (cpusetp2)->__bits; \
+ size_t __imax = (setsize) / sizeof (__cpu_mask); \
+ size_t __i; \
+ for (__i = 0; __i < __imax; ++__i) \
+ if (__arr1[__i] != __arr2[__i]) \
+ break; \
+ __i == __imax; })
+
+extern int __cpuset_count_s(size_t setsize, const cpu_set_t *set);
+# define CPU_COUNT_S(setsize, cpusetp) __cpuset_count_s(setsize, cpusetp)
+
+# define CPU_ALLOC_SIZE(count) \
+ ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))
+# define CPU_ALLOC(count) (malloc(CPU_ALLOC_SIZE(count)))
+# define CPU_FREE(cpuset) (free(cpuset))
+
+#endif /* !HAVE_DECL_CPU_ALLOC */
+
+
+#define cpuset_nbits(setsize) (8 * (setsize))
+
+/*
+ * The @idx parametr returns an index of the first mask from @ary array where
+ * the @cpu is set.
+ *
+ * Returns: 0 if found, otherwise 1.
+ */
+static inline int cpuset_ary_isset(size_t cpu, cpu_set_t **ary, size_t nmemb,
+ size_t setsize, size_t *idx)
+{
+ size_t i;
+
+ for (i = 0; i < nmemb; i++) {
+ if (CPU_ISSET_S(cpu, setsize, ary[i])) {
+ *idx = i;
+ return 0;
+ }
+ }
+ return 1;
+}
+
+extern int get_max_number_of_cpus(void);
+
+extern cpu_set_t *cpuset_alloc(int ncpus, size_t *setsize, size_t *nbits);
+extern void cpuset_free(cpu_set_t *set);
+
+extern char *cpulist_create(char *str, size_t len, cpu_set_t *set, size_t setsize);
+extern int cpulist_parse(const char *str, cpu_set_t *set, size_t setsize, int fail);
+
+extern char *cpumask_create(char *str, size_t len, cpu_set_t *set, size_t setsize);
+extern int cpumask_parse(const char *str, cpu_set_t *set, size_t setsize);
+
+#endif /* UTIL_LINUX_CPUSET_H */
diff --git a/include/crc32.h b/include/crc32.h
new file mode 100644
index 0000000..b454be9
--- /dev/null
+++ b/include/crc32.h
@@ -0,0 +1,9 @@
+#ifndef UL_NG_CRC32_H
+#define UL_NG_CRC32_H
+
+#include <stdint.h>
+
+extern uint32_t crc32(uint32_t seed, const unsigned char *buf, size_t len);
+
+#endif
+
diff --git a/include/env.h b/include/env.h
new file mode 100644
index 0000000..df692bc
--- /dev/null
+++ b/include/env.h
@@ -0,0 +1,17 @@
+#ifndef UTIL_LINUX_ENV_H
+#define UTIL_LINUX_ENV_H
+
+#include "c.h"
+
+extern void sanitize_env (void);
+extern char *safe_getenv(const char *arg);
+
+static inline void
+xsetenv (char const *name, char const *val, int overwrite)
+{
+ if (setenv (name, val, overwrite) != 0)
+ err (EXIT_FAILURE, "failed to set the %s environment variable", name);
+}
+
+#endif /* UTIL_LINUX_ENV_H */
+
diff --git a/include/exitcodes.h b/include/exitcodes.h
new file mode 100644
index 0000000..24ee123
--- /dev/null
+++ b/include/exitcodes.h
@@ -0,0 +1,35 @@
+#ifndef UTIL_LINUX_EXITCODES_H
+#define UTIL_LINUX_EXITCODES_H
+/*
+ * BE CAREFUL
+ *
+ * These exit codes are part of the official interface for mount,
+ * fsck, mkfs, etc. wrappers.
+ */
+
+/* Exit codes used by mkfs-type programs */
+#define MKFS_EX_OK 0 /* No errors */
+#define MKFS_EX_ERROR 8 /* Operational error */
+#define MKFS_EX_USAGE 16 /* Usage or syntax error */
+
+/* Exit codes used by fsck-type programs */
+#define FSCK_EX_OK 0 /* No errors */
+#define FSCK_EX_NONDESTRUCT 1 /* File system errors corrected */
+#define FSCK_EX_REBOOT 2 /* System should be rebooted */
+#define FSCK_EX_DESTRUCT FSCK_EX_REBOOT /* Alias */
+#define FSCK_EX_UNCORRECTED 4 /* File system errors left uncorrected */
+#define FSCK_EX_ERROR 8 /* Operational error */
+#define FSCK_EX_USAGE 16 /* Usage or syntax error */
+#define FSCK_EX_LIBRARY 128 /* Shared library error */
+
+/* Exit codes used by mount-line programs */
+#define MOUNT_EX_SUCCESS 0 /* No errors */
+#define MOUNT_EX_USAGE 1 /* incorrect invocation or permission */
+#define MOUNT_EX_SYSERR 2 /* out of memory, cannot fork, ... */
+#define MOUNT_EX_SOFTWARE 4 /* internal mount bug or wrong version */
+#define MOUNT_EX_USER 8 /* user interrupt */
+#define MOUNT_EX_FILEIO 16 /* problems writing, locking, ... mtab/fstab */
+#define MOUNT_EX_FAIL 32 /* mount failure */
+#define MOUNT_EX_SOMEOK 64 /* some mount succeeded */
+
+#endif /* UTIL_LINUX_EXITCODES_H */
diff --git a/include/fileutils.h b/include/fileutils.h
new file mode 100644
index 0000000..cf29e1b
--- /dev/null
+++ b/include/fileutils.h
@@ -0,0 +1,23 @@
+#ifndef UTIL_LINUX_FILEUTILS
+#define UTIL_LINUX_FILEUTILS
+
+extern int xmkstemp(char **tmpname, char *dir);
+
+static inline FILE *xfmkstemp(char **tmpname, char *dir)
+{
+ int fd;
+ FILE *ret;
+ fd = xmkstemp(tmpname, dir);
+ if (fd == -1) {
+ return NULL;
+ }
+ if (!(ret = fdopen(fd, "w+"))) {
+ close(fd);
+ return NULL;
+ }
+ return ret;
+}
+
+extern int get_fd_tabsize(void);
+
+#endif /* UTIL_LINUX_FILEUTILS */
diff --git a/include/ismounted.h b/include/ismounted.h
new file mode 100644
index 0000000..57918cb
--- /dev/null
+++ b/include/ismounted.h
@@ -0,0 +1,14 @@
+#ifndef IS_MOUNTED_H
+#define IS_MOUNTED_H
+
+#define MF_MOUNTED 1
+#define MF_ISROOT 2
+#define MF_READONLY 4
+#define MF_SWAP 8
+#define MF_BUSY 16
+
+extern int is_mounted(const char *file);
+extern int check_mount_point(const char *device, int *mount_flags,
+ char *mtpt, int mtlen);
+
+#endif /* IS_MOUNTED_H */
diff --git a/include/linux_reboot.h b/include/linux_reboot.h
new file mode 100644
index 0000000..9cebc67
--- /dev/null
+++ b/include/linux_reboot.h
@@ -0,0 +1,72 @@
+#ifndef _LINUX_REBOOT_H
+#define _LINUX_REBOOT_H
+
+/*
+ * Magic values required to use _reboot() system call.
+ */
+
+#define LINUX_REBOOT_MAGIC1 0xfee1dead
+#define LINUX_REBOOT_MAGIC2 672274793
+#define LINUX_REBOOT_MAGIC2A 85072278
+#define LINUX_REBOOT_MAGIC2B 369367448
+
+
+/*
+ * Commands accepted by the _reboot() system call.
+ *
+ * RESTART Restart system using default command and mode.
+ * HALT Stop OS and give system control to ROM monitor, if any.
+ * CAD_ON Ctrl-Alt-Del sequence causes RESTART command.
+ * CAD_OFF Ctrl-Alt-Del sequence sends SIGINT to init task.
+ * POWER_OFF Stop OS and remove all power from system, if possible.
+ * RESTART2 Restart system using given command string.
+ */
+
+#define LINUX_REBOOT_CMD_RESTART 0x01234567
+#define LINUX_REBOOT_CMD_HALT 0xCDEF0123
+#define LINUX_REBOOT_CMD_CAD_ON 0x89ABCDEF
+#define LINUX_REBOOT_CMD_CAD_OFF 0x00000000
+#define LINUX_REBOOT_CMD_POWER_OFF 0x4321FEDC
+#define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4
+
+/* Including <unistd.h> makes sure that on a glibc system
+ <features.h> is included, which again defines __GLIBC__ */
+#include <unistd.h>
+#include "linux_reboot.h"
+
+#define USE_LIBC
+
+#ifdef USE_LIBC
+
+/* libc version */
+#if defined __GLIBC__ && __GLIBC__ >= 2
+# include <sys/reboot.h>
+# define REBOOT(cmd) reboot(cmd)
+#else
+extern int reboot(int, int, int);
+# define REBOOT(cmd) reboot(LINUX_REBOOT_MAGIC1,LINUX_REBOOT_MAGIC2,(cmd))
+#endif
+static inline int my_reboot(int cmd) {
+ return REBOOT(cmd);
+}
+
+#else /* no USE_LIBC */
+
+/* direct syscall version */
+#include <linux/unistd.h>
+
+#ifdef _syscall3
+_syscall3(int, reboot, int, magic, int, magic_too, int, cmd);
+#else
+/* Let us hope we have a 3-argument reboot here */
+extern int reboot(int, int, int);
+#endif
+
+static inline int my_reboot(int cmd) {
+ return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd);
+}
+
+#endif
+
+
+#endif /* _LINUX_REBOOT_H */
diff --git a/include/linux_version.h b/include/linux_version.h
new file mode 100644
index 0000000..a6a1e99
--- /dev/null
+++ b/include/linux_version.h
@@ -0,0 +1,14 @@
+#ifndef LINUX_VERSION_H
+#define LINUX_VERSION_H
+
+#ifdef HAVE_LINUX_VERSION_H
+# include <linux/version.h>
+#endif
+
+#ifndef KERNEL_VERSION
+# define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
+#endif
+
+int get_linux_version(void);
+
+#endif /* LINUX_VERSION_H */
diff --git a/include/list.h b/include/list.h
new file mode 100644
index 0000000..1824af0
--- /dev/null
+++ b/include/list.h
@@ -0,0 +1,333 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ * Copyright (C) 1999-2008 by Theodore Ts'o
+ *
+ * (based on list.h from e2fsprogs)
+ * Merge sort based on kernel's implementation.
+ */
+
+#ifndef UTIL_LINUX_LIST_H
+#define UTIL_LINUX_LIST_H
+
+/* TODO: use AC_C_INLINE */
+#ifdef __GNUC__
+#define _INLINE_ static __inline__
+#else /* For Watcom C */
+#define _INLINE_ static inline
+#endif
+
+/*
+ * Simple doubly linked list implementation.
+ *
+ * Some of the internal functions ("__xxx") are useful when
+ * manipulating whole lists rather than single entries, as
+ * sometimes we already know the next/prev entries and we can
+ * generate better code by using them directly rather than
+ * using the generic single-entry routines.
+ */
+
+struct list_head {
+ struct list_head *next, *prev;
+};
+
+#define LIST_HEAD_INIT(name) { &(name), &(name) }
+
+#define LIST_HEAD(name) \
+ struct list_head name = LIST_HEAD_INIT(name)
+
+#define INIT_LIST_HEAD(ptr) do { \
+ (ptr)->next = (ptr); (ptr)->prev = (ptr); \
+} while (0)
+
+/*
+ * Insert a new entry between two known consecutive entries.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ */
+_INLINE_ void __list_add(struct list_head * add,
+ struct list_head * prev,
+ struct list_head * next)
+{
+ next->prev = add;
+ add->next = next;
+ add->prev = prev;
+ prev->next = add;
+}
+
+/**
+ * list_add - add a new entry
+ * @add: new entry to be added
+ * @head: list head to add it after
+ *
+ * Insert a new entry after the specified head.
+ * This is good for implementing stacks.
+ */
+_INLINE_ void list_add(struct list_head *add, struct list_head *head)
+{
+ __list_add(add, head, head->next);
+}
+
+/**
+ * list_add_tail - add a new entry
+ * @add: new entry to be added
+ * @head: list head to add it before
+ *
+ * Insert a new entry before the specified head.
+ * This is useful for implementing queues.
+ */
+_INLINE_ void list_add_tail(struct list_head *add, struct list_head *head)
+{
+ __list_add(add, head->prev, head);
+}
+
+/*
+ * Delete a list entry by making the prev/next entries
+ * point to each other.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ */
+_INLINE_ void __list_del(struct list_head * prev,
+ struct list_head * next)
+{
+ next->prev = prev;
+ prev->next = next;
+}
+
+/**
+ * list_del - deletes entry from list.
+ * @entry: the element to delete from the list.
+ *
+ * list_empty() on @entry does not return true after this, @entry is
+ * in an undefined state.
+ */
+_INLINE_ void list_del(struct list_head *entry)
+{
+ __list_del(entry->prev, entry->next);
+}
+
+/**
+ * list_del_init - deletes entry from list and reinitialize it.
+ * @entry: the element to delete from the list.
+ */
+_INLINE_ void list_del_init(struct list_head *entry)
+{
+ __list_del(entry->prev, entry->next);
+ INIT_LIST_HEAD(entry);
+}
+
+/**
+ * list_empty - tests whether a list is empty
+ * @head: the list to test.
+ */
+_INLINE_ int list_empty(struct list_head *head)
+{
+ return head->next == head;
+}
+
+/**
+ * list_last_entry - tests whether is entry last in the list
+ * @entry: the entry to test.
+ * @head: the list to test.
+ */
+_INLINE_ int list_last_entry(struct list_head *entry, struct list_head *head)
+{
+ return head->prev == entry;
+}
+
+/**
+ * list_splice - join two lists
+ * @list: the new list to add.
+ * @head: the place to add it in the first list.
+ */
+_INLINE_ void list_splice(struct list_head *list, struct list_head *head)
+{
+ struct list_head *first = list->next;
+
+ if (first != list) {
+ struct list_head *last = list->prev;
+ struct list_head *at = head->next;
+
+ first->prev = head;
+ head->next = first;
+
+ last->next = at;
+ at->prev = last;
+ }
+}
+
+/**
+ * list_entry - get the struct for this entry
+ * @ptr: the &struct list_head pointer.
+ * @type: the type of the struct this is embedded in.
+ * @member: the name of the list_struct within the struct.
+ */
+#define list_entry(ptr, type, member) \
+ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
+
+
+#define list_first_entry(head, type, member) \
+ ((head) && (head)->next != (head) ? list_entry((head)->next, type, member) : NULL)
+
+/**
+ * list_for_each - iterate over elements in a list
+ * @pos: the &struct list_head to use as a loop counter.
+ * @head: the head for your list.
+ */
+#define list_for_each(pos, head) \
+ for (pos = (head)->next; pos != (head); pos = pos->next)
+
+/**
+ * list_for_each_backwardly - iterate over elements in a list in reverse
+ * @pos: the &struct list_head to use as a loop counter.
+ * @head: the head for your list.
+ */
+#define list_for_each_backwardly(pos, head) \
+ for (pos = (head)->prev; pos != (head); pos = pos->prev)
+
+/**
+ * list_for_each_safe - iterate over elements in a list, but don't dereference
+ * pos after the body is done (in case it is freed)
+ * @pos: the &struct list_head to use as a loop counter.
+ * @pnext: the &struct list_head to use as a pointer to the next item.
+ * @head: the head for your list (not included in iteration).
+ */
+#define list_for_each_safe(pos, pnext, head) \
+ for (pos = (head)->next, pnext = pos->next; pos != (head); \
+ pos = pnext, pnext = pos->next)
+
+#define MAX_LIST_LENGTH_BITS 20
+
+/*
+ * Returns a list organized in an intermediate format suited
+ * to chaining of merge() calls: null-terminated, no reserved or
+ * sentinel head node, "prev" links not maintained.
+ */
+_INLINE_ struct list_head *merge(int (*cmp)(struct list_head *a,
+ struct list_head *b),
+ struct list_head *a, struct list_head *b)
+{
+ struct list_head head, *tail = &head;
+
+ while (a && b) {
+ /* if equal, take 'a' -- important for sort stability */
+ if ((*cmp)(a, b) <= 0) {
+ tail->next = a;
+ a = a->next;
+ } else {
+ tail->next = b;
+ b = b->next;
+ }
+ tail = tail->next;
+ }
+ tail->next = a ? a : b;
+ return head.next;
+}
+
+/*
+ * Combine final list merge with restoration of standard doubly-linked
+ * list structure. This approach duplicates code from merge(), but
+ * runs faster than the tidier alternatives of either a separate final
+ * prev-link restoration pass, or maintaining the prev links
+ * throughout.
+ */
+_INLINE_ void merge_and_restore_back_links(int (*cmp)(struct list_head *a,
+ struct list_head *b),
+ struct list_head *head,
+ struct list_head *a, struct list_head *b)
+{
+ struct list_head *tail = head;
+
+ while (a && b) {
+ /* if equal, take 'a' -- important for sort stability */
+ if ((*cmp)(a, b) <= 0) {
+ tail->next = a;
+ a->prev = tail;
+ a = a->next;
+ } else {
+ tail->next = b;
+ b->prev = tail;
+ b = b->next;
+ }
+ tail = tail->next;
+ }
+ tail->next = a ? a : b;
+
+ do {
+ /*
+ * In worst cases this loop may run many iterations.
+ * Continue callbacks to the client even though no
+ * element comparison is needed, so the client's cmp()
+ * routine can invoke cond_resched() periodically.
+ */
+ (*cmp)(tail->next, tail->next);
+
+ tail->next->prev = tail;
+ tail = tail->next;
+ } while (tail->next);
+
+ tail->next = head;
+ head->prev = tail;
+}
+
+
+/**
+ * list_sort - sort a list
+ * @head: the list to sort
+ * @cmp: the elements comparison function
+ *
+ * This function implements "merge sort", which has O(nlog(n))
+ * complexity.
+ *
+ * The comparison function @cmp must return a negative value if @a
+ * should sort before @b, and a positive value if @a should sort after
+ * @b. If @a and @b are equivalent, and their original relative
+ * ordering is to be preserved, @cmp must return 0.
+ */
+_INLINE_ void list_sort(struct list_head *head,
+ int (*cmp)(struct list_head *a,
+ struct list_head *b))
+{
+ struct list_head *part[MAX_LIST_LENGTH_BITS+1]; /* sorted partial lists
+ -- last slot is a sentinel */
+ size_t lev; /* index into part[] */
+ size_t max_lev = 0;
+ struct list_head *list;
+
+ if (list_empty(head))
+ return;
+
+ memset(part, 0, sizeof(part));
+
+ head->prev->next = NULL;
+ list = head->next;
+
+ while (list) {
+ struct list_head *cur = list;
+ list = list->next;
+ cur->next = NULL;
+
+ for (lev = 0; part[lev]; lev++) {
+ cur = merge(cmp, part[lev], cur);
+ part[lev] = NULL;
+ }
+ if (lev > max_lev) {
+ /* list passed to list_sort() too long for efficiency */
+ if (lev >= ARRAY_SIZE(part) - 1)
+ lev--;
+ max_lev = lev;
+ }
+ part[lev] = cur;
+ }
+
+ for (lev = 0; lev < max_lev; lev++)
+ if (part[lev])
+ list = merge(cmp, part[lev], list);
+
+ merge_and_restore_back_links(cmp, head, part[max_lev], list);
+}
+
+#undef _INLINE_
+
+#endif /* UTIL_LINUX_LIST_H */
diff --git a/include/loopdev.h b/include/loopdev.h
new file mode 100644
index 0000000..5c45878
--- /dev/null
+++ b/include/loopdev.h
@@ -0,0 +1,195 @@
+#ifndef UTIL_LINUX_LOOPDEV_H
+#define UTIL_LINUX_LOOPDEV_H
+
+#include "sysfs.h"
+
+/*
+ * loop_info.lo_encrypt_type
+ */
+#define LO_CRYPT_NONE 0
+#define LO_CRYPT_XOR 1
+#define LO_CRYPT_DES 2
+#define LO_CRYPT_CRYPTOAPI 18
+
+#define LOOP_SET_FD 0x4C00
+#define LOOP_CLR_FD 0x4C01
+/*
+ * Obsolete (kernel < 2.6)
+ *
+ * #define LOOP_SET_STATUS 0x4C02
+ * #define LOOP_GET_STATUS 0x4C03
+ */
+#define LOOP_SET_STATUS64 0x4C04
+#define LOOP_GET_STATUS64 0x4C05
+/* #define LOOP_CHANGE_FD 0x4C06 */
+#define LOOP_SET_CAPACITY 0x4C07
+
+/* /dev/loop-control interface */
+#ifndef LOOP_CTL_ADD
+# define LOOP_CTL_ADD 0x4C80
+# define LOOP_CTL_REMOVE 0x4C81
+# define LOOP_CTL_GET_FREE 0x4C82
+#endif
+
+/*
+ * loop_info.lo_flags
+ */
+enum {
+ LO_FLAGS_READ_ONLY = 1,
+ LO_FLAGS_USE_AOPS = 2,
+ LO_FLAGS_AUTOCLEAR = 4, /* kernel >= 2.6.25 */
+ LO_FLAGS_PARTSCAN = 8, /* kernel >= 3.2 */
+};
+
+#define LO_NAME_SIZE 64
+#define LO_KEY_SIZE 32
+
+/*
+ * Linux LOOP_{SET,GET}_STATUS64 ioclt struct
+ */
+struct loop_info64 {
+ uint64_t lo_device;
+ uint64_t lo_inode;
+ uint64_t lo_rdevice;
+ uint64_t lo_offset;
+ uint64_t lo_sizelimit; /* bytes, 0 == max available */
+ uint32_t lo_number;
+ uint32_t lo_encrypt_type;
+ uint32_t lo_encrypt_key_size;
+ uint32_t lo_flags;
+ uint8_t lo_file_name[LO_NAME_SIZE];
+ uint8_t lo_crypt_name[LO_NAME_SIZE];
+ uint8_t lo_encrypt_key[LO_KEY_SIZE];
+ uint64_t lo_init[2];
+};
+
+#define LOOPDEV_MAJOR 7 /* loop major number */
+#define LOOPDEV_DEFAULT_NNODES 8 /* default number of loop devices */
+
+struct loopdev_iter {
+ FILE *proc; /* /proc/partitions */
+ DIR *sysblock; /* /sys/block */
+ int ncur; /* current position */
+ int *minors; /* ary of minor numbers (when scan whole /dev) */
+ int nminors; /* number of items in *minors */
+ int ct_perm; /* count permission problems */
+ int ct_succ; /* count number of detected devices */
+
+ unsigned int done:1; /* scanning done */
+ unsigned int default_check:1;/* check first LOOPDEV_NLOOPS */
+ int flags; /* LOOPITER_FL_* flags */
+};
+
+enum {
+ LOOPITER_FL_FREE = (1 << 0),
+ LOOPITER_FL_USED = (1 << 1)
+};
+
+/*
+ * handler for work with loop devices
+ */
+struct loopdev_cxt {
+ char device[128]; /* device path (e.g. /dev/loop<N>) */
+ char *filename; /* backing file for loopcxt_set_... */
+ int fd; /* open(/dev/looo<N>) */
+ int mode; /* fd mode O_{RDONLY,RDWR} */
+
+ int flags; /* LOOPDEV_FL_* flags */
+ unsigned int has_info:1; /* .info contains data */
+ unsigned int extra_check:1; /* unusual stuff for iterator */
+ unsigned int debug:1; /* debug mode ON/OFF */
+ unsigned int info_failed:1; /* LOOP_GET_STATUS ioctl failed */
+
+ struct sysfs_cxt sysfs; /* pointer to /sys/dev/block/<maj:min>/ */
+ struct loop_info64 info; /* for GET/SET ioctl */
+ struct loopdev_iter iter; /* scans /sys or /dev for used/free devices */
+};
+
+#define UL_LOOPDEVCXT_EMPTY { .fd = -1, .sysfs = UL_SYSFSCXT_EMPTY }
+
+/*
+ * loopdev_cxt.flags
+ */
+enum {
+ LOOPDEV_FL_RDONLY = (1 << 0), /* open(/dev/loop) mode; default */
+ LOOPDEV_FL_RDWR = (1 << 1), /* necessary for loop setup only */
+ LOOPDEV_FL_OFFSET = (1 << 4),
+ LOOPDEV_FL_NOSYSFS = (1 << 5),
+ LOOPDEV_FL_NOIOCTL = (1 << 6),
+ LOOPDEV_FL_DEVSUBDIR = (1 << 7),
+ LOOPDEV_FL_CONTROL = (1 << 8), /* system with /dev/loop-control */
+ LOOPDEV_FL_SIZELIMIT = (1 << 9)
+};
+
+/*
+ * High-level
+ */
+extern int loopmod_supports_partscan(void);
+
+extern int is_loopdev(const char *device);
+extern int loopdev_is_autoclear(const char *device);
+
+extern char *loopdev_get_backing_file(const char *device);
+extern int loopdev_is_used(const char *device, const char *filename,
+ uint64_t offset, int flags);
+extern char *loopdev_find_by_backing_file(const char *filename,
+ uint64_t offset, int flags);
+extern int loopcxt_find_unused(struct loopdev_cxt *lc);
+extern int loopdev_delete(const char *device);
+extern int loopdev_count_by_backing_file(const char *filename, char **loopdev);
+
+/*
+ * Low-level
+ */
+extern int loopcxt_init(struct loopdev_cxt *lc, int flags)
+ __attribute__ ((warn_unused_result));
+extern void loopcxt_deinit(struct loopdev_cxt *lc);
+extern void loopcxt_enable_debug(struct loopdev_cxt *lc, int enable);
+
+extern int loopcxt_set_device(struct loopdev_cxt *lc, const char *device)
+ __attribute__ ((warn_unused_result));
+extern int loopcxt_has_device(struct loopdev_cxt *lc);
+extern char *loopcxt_strdup_device(struct loopdev_cxt *lc);
+extern const char *loopcxt_get_device(struct loopdev_cxt *lc);
+extern struct sysfs_cxt *loopcxt_get_sysfs(struct loopdev_cxt *lc);
+extern struct loop_info64 *loopcxt_get_info(struct loopdev_cxt *lc);
+
+extern int loopcxt_get_fd(struct loopdev_cxt *lc);
+extern int loopcxt_set_fd(struct loopdev_cxt *lc, int fd, int mode);
+
+extern int loopcxt_init_iterator(struct loopdev_cxt *lc, int flags);
+extern int loopcxt_deinit_iterator(struct loopdev_cxt *lc);
+extern int loopcxt_next(struct loopdev_cxt *lc);
+
+extern int loopcxt_setup_device(struct loopdev_cxt *lc);
+extern int loopcxt_delete_device(struct loopdev_cxt *lc);
+
+int loopcxt_set_offset(struct loopdev_cxt *lc, uint64_t offset);
+int loopcxt_set_sizelimit(struct loopdev_cxt *lc, uint64_t sizelimit);
+int loopcxt_set_flags(struct loopdev_cxt *lc, uint32_t flags);
+int loopcxt_set_backing_file(struct loopdev_cxt *lc, const char *filename);
+int loopcxt_set_encryption(struct loopdev_cxt *lc,
+ const char *encryption,
+ const char *password);
+
+extern char *loopcxt_get_backing_file(struct loopdev_cxt *lc);
+extern int loopcxt_get_backing_devno(struct loopdev_cxt *lc, dev_t *devno);
+extern int loopcxt_get_backing_inode(struct loopdev_cxt *lc, ino_t *ino);
+extern int loopcxt_get_offset(struct loopdev_cxt *lc, uint64_t *offset);
+extern int loopcxt_get_sizelimit(struct loopdev_cxt *lc, uint64_t *size);
+extern int loopcxt_get_encrypt_type(struct loopdev_cxt *lc, uint32_t *type);
+extern const char *loopcxt_get_crypt_name(struct loopdev_cxt *lc);
+extern int loopcxt_is_autoclear(struct loopdev_cxt *lc);
+extern int loopcxt_is_readonly(struct loopdev_cxt *lc);
+extern int loopcxt_is_partscan(struct loopdev_cxt *lc);
+extern int loopcxt_find_by_backing_file(struct loopdev_cxt *lc,
+ const char *filename,
+ uint64_t offset, int flags);
+
+extern int loopcxt_is_used(struct loopdev_cxt *lc,
+ struct stat *st,
+ const char *backing_file,
+ uint64_t offset,
+ int flags);
+
+#endif /* UTIL_LINUX_LOOPDEV_H */
diff --git a/include/mangle.h b/include/mangle.h
new file mode 100644
index 0000000..ec492b5
--- /dev/null
+++ b/include/mangle.h
@@ -0,0 +1,26 @@
+#ifndef UTIL_LINUX_MANGLE_H
+#define UTIL_LINUX_MANGLE_H
+
+/*
+ * Functions for \oct encoding used in mtab/fstab/swaps/etc.
+ */
+
+extern char *mangle(const char *s);
+
+extern void unmangle_to_buffer(const char *s, char *buf, size_t len);
+void unhexmangle_to_buffer(const char *s, char *buf, size_t len);
+
+extern char *unmangle(const char *s, char **end);
+
+static inline void unmangle_string(char *s)
+{
+ unmangle_to_buffer(s, s, strlen(s) + 1);
+}
+
+static inline void unhexmangle_string(char *s)
+{
+ unhexmangle_to_buffer(s, s, strlen(s) + 1);
+}
+
+#endif /* UTIL_LINUX_MANGLE_H */
+
diff --git a/include/match.h b/include/match.h
new file mode 100644
index 0000000..94440c2
--- /dev/null
+++ b/include/match.h
@@ -0,0 +1,12 @@
+/*
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#ifndef UTIL_LINUX_MATCH_H
+#define UTIL_LINUX_MATCH_H
+
+extern int match_fstype(const char *type, const char *pattern);
+
+#endif /* UTIL_LINUX_MATCH_H */
diff --git a/include/mbsalign.h b/include/mbsalign.h
new file mode 100644
index 0000000..fd957b3
--- /dev/null
+++ b/include/mbsalign.h
@@ -0,0 +1,45 @@
+/* Align/Truncate a string in a given screen width
+ Copyright (C) 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <stddef.h>
+
+typedef enum { MBS_ALIGN_LEFT, MBS_ALIGN_RIGHT, MBS_ALIGN_CENTER } mbs_align_t;
+
+enum {
+ /* Use unibyte mode for invalid multibyte strings or
+ or when heap memory is exhausted. */
+ MBA_UNIBYTE_FALLBACK = 0x0001,
+
+#if 0 /* Other possible options. */
+ /* Skip invalid multibyte chars rather than failing */
+ MBA_IGNORE_INVALID = 0x0002,
+
+ /* Align multibyte strings using "figure space" (\u2007) */
+ MBA_USE_FIGURE_SPACE = 0x0004,
+
+ /* Don't add any padding */
+ MBA_TRUNCATE_ONLY = 0x0008,
+
+ /* Don't truncate */
+ MBA_PAD_ONLY = 0x0010,
+#endif
+};
+
+extern size_t mbs_truncate(char *str, size_t *width);
+
+extern size_t mbsalign (const char *src, char *dest,
+ size_t dest_size, size_t *width,
+ mbs_align_t align, int flags);
diff --git a/include/md5.h b/include/md5.h
new file mode 100644
index 0000000..d997e37
--- /dev/null
+++ b/include/md5.h
@@ -0,0 +1,29 @@
+#ifndef MD5_H
+#define MD5_H
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#else
+typedef unsigned int uint32_t;
+#endif
+
+#define MD5LENGTH 16
+
+struct MD5Context {
+ uint32_t buf[4];
+ uint32_t bits[2];
+ unsigned char in[64];
+};
+
+void MD5Init(struct MD5Context *context);
+void MD5Update(struct MD5Context *context, unsigned char const *buf,
+ unsigned len);
+void MD5Final(unsigned char digest[MD5LENGTH], struct MD5Context *context);
+void MD5Transform(uint32_t buf[4], uint32_t const in[16]);
+
+/*
+ * This is needed to make RSAREF happy on some MS-DOS compilers.
+ */
+typedef struct MD5Context MD5_CTX;
+
+#endif /* !MD5_H */
diff --git a/include/minix.h b/include/minix.h
new file mode 100644
index 0000000..57be239
--- /dev/null
+++ b/include/minix.h
@@ -0,0 +1,82 @@
+#ifndef UTIL_LINUX_MINIX_H
+#define UTIL_LINUX_MINIX_H
+
+#include <stdint.h>
+
+struct minix_inode {
+ uint16_t i_mode;
+ uint16_t i_uid;
+ uint32_t i_size;
+ uint32_t i_time;
+ uint8_t i_gid;
+ uint8_t i_nlinks;
+ uint16_t i_zone[9];
+};
+
+struct minix2_inode {
+ uint16_t i_mode;
+ uint16_t i_nlinks;
+ uint16_t i_uid;
+ uint16_t i_gid;
+ uint32_t i_size;
+ uint32_t i_atime;
+ uint32_t i_mtime;
+ uint32_t i_ctime;
+ uint32_t i_zone[10];
+};
+
+struct minix_super_block {
+ uint16_t s_ninodes;
+ uint16_t s_nzones;
+ uint16_t s_imap_blocks;
+ uint16_t s_zmap_blocks;
+ uint16_t s_firstdatazone;
+ uint16_t s_log_zone_size;
+ uint32_t s_max_size;
+ uint16_t s_magic;
+ uint16_t s_state;
+ uint32_t s_zones;
+};
+
+/* V3 minix super-block data on disk */
+struct minix3_super_block {
+ uint32_t s_ninodes;
+ uint16_t s_pad0;
+ uint16_t s_imap_blocks;
+ uint16_t s_zmap_blocks;
+ uint16_t s_firstdatazone;
+ uint16_t s_log_zone_size;
+ uint16_t s_pad1;
+ uint32_t s_max_size;
+ uint32_t s_zones;
+ uint16_t s_magic;
+ uint16_t s_pad2;
+ uint16_t s_blocksize;
+ uint8_t s_disk_version;
+};
+
+/*
+ * Minix subpartitions are always within primary dos partition.
+ */
+#define MINIX_MAXPARTITIONS 4
+
+#define MINIX_BLOCK_SIZE_BITS 10
+#define MINIX_BLOCK_SIZE (1 << MINIX_BLOCK_SIZE_BITS)
+
+#define MINIX_NAME_MAX 255 /* # chars in a file name */
+#define MINIX_MAX_INODES 65535
+
+#define MINIX_INODES_PER_BLOCK ((MINIX_BLOCK_SIZE)/(sizeof (struct minix_inode)))
+#define MINIX2_INODES_PER_BLOCK ((MINIX_BLOCK_SIZE)/(sizeof (struct minix2_inode)))
+
+/* minix_super_block.s_state */
+#define MINIX_VALID_FS 0x0001 /* Clean fs. */
+#define MINIX_ERROR_FS 0x0002 /* fs has errors. */
+
+#define MINIX_SUPER_MAGIC 0x137F /* original minix fs */
+#define MINIX_SUPER_MAGIC2 0x138F /* minix fs, 30 char names */
+#define MINIX2_SUPER_MAGIC 0x2468 /* minix V2 fs */
+#define MINIX2_SUPER_MAGIC2 0x2478 /* minix V2 fs, 30 char names */
+#define MINIX3_SUPER_MAGIC 0x4d5a /* minix V3 fs (60 char names) */
+
+#endif /* UTIL_LINUX_MINIX_H */
diff --git a/include/nls.h b/include/nls.h
new file mode 100644
index 0000000..3eabfe6
--- /dev/null
+++ b/include/nls.h
@@ -0,0 +1,115 @@
+#ifndef UTIL_LINUX_NLS_H
+#define UTIL_LINUX_NLS_H
+
+int main(int argc, char *argv[]);
+
+#ifndef LOCALEDIR
+#define LOCALEDIR "/usr/share/locale"
+#endif
+
+#ifdef HAVE_LOCALE_H
+# include <locale.h>
+#else
+# undef setlocale
+# define setlocale(Category, Locale) /* empty */
+struct lconv
+{
+ char *decimal_point;
+};
+# undef localeconv
+# define localeconv() NULL
+#endif
+
+#ifdef ENABLE_NLS
+# include <libintl.h>
+# define _(Text) gettext (Text)
+# ifdef gettext_noop
+# define N_(String) gettext_noop (String)
+# else
+# define N_(String) (String)
+# endif
+# define P_(Singular, Plural, n) ngettext (Singular, Plural, n)
+#else
+# undef bindtextdomain
+# define bindtextdomain(Domain, Directory) /* empty */
+# undef textdomain
+# define textdomain(Domain) /* empty */
+# define _(Text) (Text)
+# define N_(Text) (Text)
+# define P_(Singular, Plural, n) ((n) == 1 ? (Singular) : (Plural))
+#endif
+
+#ifdef HAVE_LANGINFO_H
+# include <langinfo.h>
+#else
+
+typedef int nl_item;
+extern char *langinfo_fallback(nl_item item);
+
+# define nl_langinfo langinfo_fallback
+
+enum {
+ CODESET = 1,
+ RADIXCHAR,
+ THOUSEP,
+ D_T_FMT,
+ D_FMT,
+ T_FMT,
+ T_FMT_AMPM,
+ AM_STR,
+ PM_STR,
+
+ DAY_1,
+ DAY_2,
+ DAY_3,
+ DAY_4,
+ DAY_5,
+ DAY_6,
+ DAY_7,
+
+ ABDAY_1,
+ ABDAY_2,
+ ABDAY_3,
+ ABDAY_4,
+ ABDAY_5,
+ ABDAY_6,
+ ABDAY_7,
+
+ MON_1,
+ MON_2,
+ MON_3,
+ MON_4,
+ MON_5,
+ MON_6,
+ MON_7,
+ MON_8,
+ MON_9,
+ MON_10,
+ MON_11,
+ MON_12,
+
+ ABMON_1,
+ ABMON_2,
+ ABMON_3,
+ ABMON_4,
+ ABMON_5,
+ ABMON_6,
+ ABMON_7,
+ ABMON_8,
+ ABMON_9,
+ ABMON_10,
+ ABMON_11,
+ ABMON_12,
+
+ ERA_D_FMT,
+ ERA_D_T_FMT,
+ ERA_T_FMT,
+ ALT_DIGITS,
+ CRNCYSTR,
+ YESEXPR,
+ NOEXPR
+};
+
+#endif /* !HAVE_LANGINFO_H */
+
+#endif /* UTIL_LINUX_NLS_H */
diff --git a/include/optutils.h b/include/optutils.h
new file mode 100644
index 0000000..28a54b2
--- /dev/null
+++ b/include/optutils.h
@@ -0,0 +1,95 @@
+#ifndef UTIL_LINUX_OPTUTILS_H
+#define UTIL_LINUX_OPTUTILS_H
+
+#include "c.h"
+#include "nls.h"
+
+static inline const char *option_to_longopt(int c, const struct option *opts)
+{
+ const struct option *o;
+
+ for (o = opts; o->name; o++)
+ if (o->val == c)
+ return o->name;
+ return NULL;
+}
+
+#ifndef OPTUTILS_EXIT_CODE
+# define OPTUTILS_EXIT_CODE EXIT_FAILURE
+#endif
+
+/*
+ * Check collisions between options.
+ *
+ * The conflicts between options are described in ul_excl_t array. The
+ * array contains groups of mutually exclusive options. For example
+ *
+ * static const ul_excl_t excl[] = {
+ * { 'Z','b','c' }, // first group
+ * { 'b','x' }, // second group
+ * { 0 }
+ * };
+ *
+ * int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+ *
+ * while ((c = getopt_long(argc, argv, "Zbcx", longopts, NULL)) != -1) {
+ *
+ * err_exclusive_options(c, longopts, excl, excl_st);
+ *
+ * switch (c) {
+ * case 'Z':
+ * ....
+ * }
+ * }
+ *
+ * The array excl[] defines two groups of the mutually exclusive options. The
+ * option '-b' is in the both groups.
+ *
+ * Note that the options in the group have to be in ASCII order (ABC..abc..) and
+ * groups have to be also in ASCII order.
+ *
+ * The current status of options is stored in excl_st array. The size of the array
+ * must be the same as number of the groups in the ul_excl_t array.
+ *
+ * If you're unsure then see sys-utils/mount.c or misc-utils/findmnt.c.
+ */
+#define UL_EXCL_STATUS_INIT { 0 }
+typedef int ul_excl_t[16];
+
+static inline void err_exclusive_options(
+ int c,
+ const struct option *opts,
+ const ul_excl_t *excl,
+ int *status)
+{
+ int e;
+
+ for (e = 0; excl[e][0] && excl[e][0] <= c; e++) {
+ const int *op = excl[e];
+
+ for (; *op && *op <= c; op++) {
+ if (*op != c)
+ continue;
+ if (status[e] == 0)
+ status[e] = c;
+ else if (status[e] != c) {
+ fprintf(stderr, _("%s: options "),
+ program_invocation_short_name);
+ for (op = excl[e]; *op; op++) {
+ if (opts)
+ fprintf(stderr, "--%s ",
+ option_to_longopt(*op, opts));
+ else
+ fprintf(stderr, "-%c ", *op);
+ }
+ fprintf(stderr, _("are mutually exclusive."));
+ fputc('\n', stderr);
+ exit(OPTUTILS_EXIT_CODE);
+ }
+ break;
+ }
+ }
+}
+
+#endif
+
diff --git a/include/pager.h b/include/pager.h
new file mode 100644
index 0000000..9ca42eb
--- /dev/null
+++ b/include/pager.h
@@ -0,0 +1,6 @@
+#ifndef UTIL_LINUX_PAGER
+#define UTIL_LINUX_PAGER
+
+void setup_pager(void);
+
+#endif
diff --git a/include/pamfail.h b/include/pamfail.h
new file mode 100644
index 0000000..8008ce3
--- /dev/null
+++ b/include/pamfail.h
@@ -0,0 +1,16 @@
+#ifndef UTIL_LINUX_PAMFAIL_H
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include "c.h"
+
+static inline int
+pam_fail_check(pam_handle_t *pamh, int retcode)
+{
+ if (retcode == PAM_SUCCESS)
+ return 0;
+ warnx("%s", pam_strerror(pamh, retcode));
+ pam_end(pamh, retcode);
+ return 1;
+}
+
+#endif /* UTIL_LINUX_PAMFAIL_H */
diff --git a/include/path.h b/include/path.h
new file mode 100644
index 0000000..8e79a85
--- /dev/null
+++ b/include/path.h
@@ -0,0 +1,17 @@
+#include <stdio.h>
+
+extern FILE *path_fopen(const char *mode, int exit_on_err, const char *path, ...)
+ __attribute__ ((__format__ (__printf__, 3, 4)));
+extern void path_getstr(char *result, size_t len, const char *path, ...)
+ __attribute__ ((__format__ (__printf__, 3, 4)));
+extern int path_writestr(const char *str, const char *path, ...)
+ __attribute__ ((__format__ (__printf__, 2, 3)));
+extern int path_getnum(const char *path, ...)
+ __attribute__ ((__format__ (__printf__, 1, 2)));
+extern int path_exist(const char *path, ...)
+ __attribute__ ((__format__ (__printf__, 1, 2)));
+extern cpu_set_t *path_cpuset(int, const char *path, ...)
+ __attribute__ ((__format__ (__printf__, 2, 3)));
+extern cpu_set_t *path_cpulist(int, const char *path, ...)
+ __attribute__ ((__format__ (__printf__, 2, 3)));
+extern void path_setprefix(const char *);
diff --git a/include/pathnames.h b/include/pathnames.h
new file mode 100644
index 0000000..d0ed7a1
--- /dev/null
+++ b/include/pathnames.h
@@ -0,0 +1,154 @@
+/*
+ * Vaguely based on
+ * @(#)pathnames.h 5.3 (Berkeley) 5/9/89
+ * This code is in the public domain.
+ */
+#ifndef PATHNAMES_H
+#define PATHNAMES_H
+
+#ifdef HAVE_PATHS_H
+#include <paths.h>
+#endif
+
+#ifndef __STDC__
+# error "we need an ANSI compiler"
+#endif
+
+/* used by kernel in /proc (e.g. /proc/swaps) for deleted files */
+#define PATH_DELETED_SUFFIX "\\040(deleted)"
+#define PATH_DELETED_SUFFIX_SZ (sizeof(PATH_DELETED_SUFFIX) - 1)
+
+/* DEFPATHs from <paths.h> don't include /usr/local */
+#undef _PATH_DEFPATH
+#define _PATH_DEFPATH "/usr/local/bin:/bin:/usr/bin"
+
+#undef _PATH_DEFPATH_ROOT
+#define _PATH_DEFPATH_ROOT "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
+
+#define _PATH_SECURETTY "/etc/securetty"
+#define _PATH_WTMPLOCK "/etc/wtmplock"
+
+#define _PATH_HUSHLOGIN ".hushlogin"
+#define _PATH_HUSHLOGINS "/etc/hushlogins"
+
+#ifndef _PATH_MAILDIR
+#define _PATH_MAILDIR "/var/spool/mail"
+#endif
+#define _PATH_MOTDFILE "/etc/motd"
+#define _PATH_NOLOGIN "/etc/nologin"
+
+#define _PATH_LOGIN "/bin/login"
+#define _PATH_INITTAB "/etc/inittab"
+#define _PATH_RC "/etc/rc"
+#define _PATH_REBOOT "/sbin/reboot"
+#define _PATH_SHUTDOWN "/sbin/shutdown"
+#define _PATH_SINGLE "/etc/singleboot"
+#define _PATH_SHUTDOWN_CONF "/etc/shutdown.conf"
+
+#define _PATH_SECURE "/etc/securesingle"
+#define _PATH_USERTTY "/etc/usertty"
+
+/* used in login-utils/shutdown.c */
+
+/* used in login-utils/setpwnam.h and login-utils/islocal.c */
+#define _PATH_PASSWD "/etc/passwd"
+
+/* used in login-utils/newgrp and login-utils/setpwnam.h*/
+#define _PATH_GSHADOW "/etc/gshadow"
+
+/* used in login-utils/setpwnam.h */
+#define _PATH_GROUP "/etc/group"
+#define _PATH_SHADOW_PASSWD "/etc/shadow"
+#define _PATH_SHELLS "/etc/shells"
+
+/* used in term-utils/agetty.c */
+#define _PATH_ISSUE "/etc/issue"
+#define _PATH_NUMLOCK_ON _PATH_LOCALSTATEDIR "/numlock-on"
+
+#define _PATH_LOGINDEFS "/etc/login.defs"
+
+/* used in misc-utils/look.c */
+#define _PATH_WORDS "/usr/share/dict/words"
+#define _PATH_WORDS_ALT "/usr/share/dict/web2"
+
+/* mount paths */
+#define _PATH_UMOUNT "/bin/umount"
+
+#define _PATH_FILESYSTEMS "/etc/filesystems"
+#define _PATH_PROC_SWAPS "/proc/swaps"
+#define _PATH_PROC_FILESYSTEMS "/proc/filesystems"
+#define _PATH_PROC_MOUNTS "/proc/mounts"
+#define _PATH_PROC_PARTITIONS "/proc/partitions"
+#define _PATH_PROC_DEVICES "/proc/devices"
+#define _PATH_PROC_MOUNTINFO "/proc/self/mountinfo"
+#define _PATH_PROC_LOCKS "/proc/locks"
+#define _PATH_PROC_CDROMINFO "/proc/sys/dev/cdrom/info"
+
+#define _PATH_SYS_BLOCK "/sys/block"
+#define _PATH_SYS_DEVBLOCK "/sys/dev/block"
+
+#ifndef _PATH_MOUNTED
+# ifdef MOUNTED /* deprecated */
+# define _PATH_MOUNTED MOUNTED
+# else
+# define _PATH_MOUNTED "/etc/mtab"
+# endif
+#endif
+
+#ifndef _PATH_MNTTAB
+# ifdef MNTTAB /* deprecated */
+# define _PATH_MNTTAB MNTTAB
+# else
+# define _PATH_MNTTAB "/etc/fstab"
+# endif
+#endif
+
+#define _PATH_MNTTAB_DIR _PATH_MNTTAB ".d"
+
+#define _PATH_MOUNTED_LOCK _PATH_MOUNTED "~"
+#define _PATH_MOUNTED_TMP _PATH_MOUNTED ".tmp"
+
+#ifndef _PATH_DEV
+ /*
+ * The tailing '/' in _PATH_DEV is there for compatibility with libc.
+ */
+# define _PATH_DEV "/dev/"
+#endif
+
+#define _PATH_DEV_LOOP "/dev/loop"
+#define _PATH_DEV_LOOPCTL "/dev/loop-control"
+#define _PATH_DEV_TTY "/dev/tty"
+
+
+/* udev paths */
+#define _PATH_DEV_BYLABEL "/dev/disk/by-label"
+#define _PATH_DEV_BYUUID "/dev/disk/by-uuid"
+#define _PATH_DEV_BYID "/dev/disk/by-id"
+#define _PATH_DEV_BYPATH "/dev/disk/by-path"
+#define _PATH_DEV_BYPARTLABEL "/dev/disk/by-partlabel"
+#define _PATH_DEV_BYPARTUUID "/dev/disk/by-partuuid"
+
+/* hwclock paths */
+#define _PATH_ADJPATH "/etc/adjtime"
+#define _PATH_LASTDATE "/var/lib/lastdate"
+#ifdef __ia64__
+# define _PATH_RTC_DEV "/dev/efirtc"
+#else
+# define _PATH_RTC_DEV "/dev/rtc"
+#endif
+
+#ifndef _PATH_BTMP
+#define _PATH_BTMP "/var/log/btmp"
+#endif
+
+/* raw paths*/
+#define _PATH_RAWDEVDIR "/dev/raw/"
+#define _PATH_RAWDEVCTL _PATH_RAWDEVDIR "rawctl"
+/* deprecated */
+#define _PATH_RAWDEVCTL_OLD "/dev/rawctl"
+
+/* wdctl path */
+#define _PATH_WATCHDOG_DEV "/dev/watchdog"
+
+#endif /* PATHNAMES_H */
+
diff --git a/include/procutils.h b/include/procutils.h
new file mode 100644
index 0000000..ca7087a
--- /dev/null
+++ b/include/procutils.h
@@ -0,0 +1,14 @@
+#ifndef UTIL_LINUX_PROCUTILS
+#define UTIL_LINUX_PROCUTILS
+
+#include <dirent.h>
+
+struct proc_tasks {
+ DIR *dir;
+};
+
+extern struct proc_tasks *proc_open_tasks(pid_t pid);
+extern void proc_close_tasks(struct proc_tasks *tasks);
+extern int proc_next_tid(struct proc_tasks *tasks, pid_t *tid);
+
+#endif /* UTIL_LINUX_PROCUTILS */
diff --git a/include/randutils.h b/include/randutils.h
new file mode 100644
index 0000000..dec5e35
--- /dev/null
+++ b/include/randutils.h
@@ -0,0 +1,12 @@
+#ifndef UTIL_LINUX_RANDUTILS
+#define UTIL_LINUX_RANDUTILS
+
+#ifdef HAVE_SRANDOM
+#define srand(x) srandom(x)
+#define rand() random()
+#endif
+
+extern int random_get_fd(void);
+extern void random_get_bytes(void *buf, size_t nbytes);
+
+#endif
diff --git a/include/rpmatch.h b/include/rpmatch.h
new file mode 100644
index 0000000..d62634b
--- /dev/null
+++ b/include/rpmatch.h
@@ -0,0 +1,9 @@
+#ifndef UTIL_LINUX_RPMATCH_H
+#define UTIL_LINUX_RPMATCH_H
+
+#ifndef HAVE_RPMATCH
+#define rpmatch(r) \
+ (*r == 'y' || *r == 'Y' ? 1 : *r == 'n' || *r == 'N' ? 0 : -1)
+#endif
+
+#endif /* UTIL_LINUX_RPMATCH_H */
diff --git a/include/setproctitle.h b/include/setproctitle.h
new file mode 100644
index 0000000..70a9efa
--- /dev/null
+++ b/include/setproctitle.h
@@ -0,0 +1,7 @@
+#ifndef UTIL_LINUX_SETPROCTITLE_H
+#define UTIL_LINUX_SETPROCTITLE_H
+
+extern void initproctitle (int argc, char **argv);
+extern void setproctitle (const char *prog, const char *txt);
+
+#endif
diff --git a/include/strutils.h b/include/strutils.h
new file mode 100644
index 0000000..123907f
--- /dev/null
+++ b/include/strutils.h
@@ -0,0 +1,76 @@
+#ifndef UTIL_LINUX_STRUTILS
+#define UTIL_LINUX_STRUTILS
+
+#include <inttypes.h>
+#include <string.h>
+#include <sys/types.h>
+
+/* default strtoxx_or_err() exit code */
+#ifndef STRTOXX_EXIT_CODE
+# define STRTOXX_EXIT_CODE EXIT_FAILURE
+#endif
+
+
+extern int strtosize(const char *str, uintmax_t *res);
+extern uintmax_t strtosize_or_err(const char *str, const char *errmesg);
+
+extern int16_t strtos16_or_err(const char *str, const char *errmesg);
+extern uint16_t strtou16_or_err(const char *str, const char *errmesg);
+
+extern int32_t strtos32_or_err(const char *str, const char *errmesg);
+extern uint32_t strtou32_or_err(const char *str, const char *errmesg);
+
+extern int64_t strtos64_or_err(const char *str, const char *errmesg);
+extern uint64_t strtou64_or_err(const char *str, const char *errmesg);
+
+extern double strtod_or_err(const char *str, const char *errmesg);
+
+extern long strtol_or_err(const char *str, const char *errmesg);
+extern unsigned long strtoul_or_err(const char *str, const char *errmesg);
+
+#ifndef HAVE_STRNLEN
+extern size_t strnlen(const char *s, size_t maxlen);
+#endif
+#ifndef HAVE_STRNDUP
+extern char *strndup(const char *s, size_t n);
+#endif
+#ifndef HAVE_STRNCHR
+extern char *strnchr(const char *s, size_t maxlen, int c);
+#endif
+
+/* caller guarantees n > 0 */
+static inline void xstrncpy(char *dest, const char *src, size_t n)
+{
+ strncpy(dest, src, n-1);
+ dest[n-1] = 0;
+}
+
+extern void strmode(mode_t mode, char *str);
+
+/* Options for size_to_human_string() */
+enum
+{
+ SIZE_SUFFIX_1LETTER = 0,
+ SIZE_SUFFIX_3LETTER = 1,
+ SIZE_SUFFIX_SPACE = 2
+};
+
+extern char *size_to_human_string(int options, uint64_t bytes);
+
+extern int string_to_idarray(const char *list, int ary[], size_t arysz,
+ int (name2id)(const char *, size_t));
+extern int string_add_to_idarray(const char *list, int ary[],
+ size_t arysz, int *ary_pos,
+ int (name2id)(const char *, size_t));
+
+extern int string_to_bitarray(const char *list, char *ary,
+ int (*name2bit)(const char *, size_t));
+
+extern int string_to_bitmask(const char *list,
+ unsigned long *mask,
+ long (*name2flag)(const char *, size_t));
+extern int parse_range(const char *str, int *lower, int *upper, int def);
+
+extern int streq_except_trailing_slash(const char *s1, const char *s2);
+
+#endif
diff --git a/include/swapheader.h b/include/swapheader.h
new file mode 100644
index 0000000..42d521a
--- /dev/null
+++ b/include/swapheader.h
@@ -0,0 +1,28 @@
+#ifndef _SWAPHEADER_H
+#define _SWAPHEADER_H
+
+struct swap_header_v1 {
+ char bootbits[1024]; /* Space for disklabel etc. */
+ unsigned int version;
+ unsigned int last_page;
+ unsigned int nr_badpages;
+ unsigned int padding[125];
+ unsigned int badpages[1];
+};
+
+
+#define SWAP_UUID_LENGTH 16
+#define SWAP_LABEL_LENGTH 16
+
+struct swap_header_v1_2 {
+ char bootbits[1024]; /* Space for disklabel etc. */
+ unsigned int version;
+ unsigned int last_page;
+ unsigned int nr_badpages;
+ unsigned char uuid[SWAP_UUID_LENGTH];
+ char volume_name[SWAP_LABEL_LENGTH];
+ unsigned int padding[117];
+ unsigned int badpages[1];
+};
+
+#endif /* _SWAPHEADER_H */
diff --git a/include/sysfs.h b/include/sysfs.h
new file mode 100644
index 0000000..9e47a55
--- /dev/null
+++ b/include/sysfs.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ */
+#ifndef UTIL_LINUX_SYSFS_H
+#define UTIL_LINUX_SYSFS_H
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <string.h>
+#include <inttypes.h>
+#include <dirent.h>
+
+struct sysfs_cxt {
+ dev_t devno;
+ int dir_fd; /* /sys/block/<name> */
+ char *dir_path;
+ struct sysfs_cxt *parent;
+};
+
+#define UL_SYSFSCXT_EMPTY { 0, -1, NULL, NULL }
+
+extern char *sysfs_devno_attribute_path(dev_t devno, char *buf,
+ size_t bufsiz, const char *attr);
+extern int sysfs_devno_has_attribute(dev_t devno, const char *attr);
+extern char *sysfs_devno_path(dev_t devno, char *buf, size_t bufsiz);
+extern char *sysfs_devno_to_devpath(dev_t devno, char *buf, size_t bufsiz);
+extern dev_t sysfs_devname_to_devno(const char *name, const char *parent);
+
+extern int sysfs_init(struct sysfs_cxt *cxt, dev_t devno, struct sysfs_cxt *parent)
+ __attribute__ ((warn_unused_result));
+extern void sysfs_deinit(struct sysfs_cxt *cxt);
+
+extern DIR *sysfs_opendir(struct sysfs_cxt *cxt, const char *attr);
+
+extern int sysfs_stat(struct sysfs_cxt *cxt, const char *attr, struct stat *st);
+extern ssize_t sysfs_readlink(struct sysfs_cxt *cxt, const char *attr,
+ char *buf, size_t bufsiz);
+extern int sysfs_has_attribute(struct sysfs_cxt *cxt, const char *attr);
+
+extern int sysfs_scanf(struct sysfs_cxt *cxt, const char *attr,
+ const char *fmt, ...)
+ __attribute__ ((format (scanf, 3, 4)));
+
+extern int sysfs_read_s64(struct sysfs_cxt *cxt, const char *attr, int64_t *res);
+extern int sysfs_read_u64(struct sysfs_cxt *cxt, const char *attr, uint64_t *res);
+extern int sysfs_read_int(struct sysfs_cxt *cxt, const char *attr, int *res);
+
+extern char *sysfs_get_devname(struct sysfs_cxt *cxt, char *buf, size_t bufsiz);
+
+extern char *sysfs_strdup(struct sysfs_cxt *cxt, const char *attr);
+
+extern int sysfs_count_dirents(struct sysfs_cxt *cxt, const char *attr);
+extern int sysfs_count_partitions(struct sysfs_cxt *cxt, const char *devname);
+extern dev_t sysfs_partno_to_devno(struct sysfs_cxt *cxt, int partno);
+extern char *sysfs_get_slave(struct sysfs_cxt *cxt);
+
+extern int sysfs_is_partition_dirent(DIR *dir, struct dirent *d,
+ const char *parent_name);
+
+extern int sysfs_devno_to_wholedisk(dev_t dev, char *diskname,
+ size_t len, dev_t *diskdevno);
+#endif /* UTIL_LINUX_SYSFS_H */
diff --git a/include/tt.h b/include/tt.h
new file mode 100644
index 0000000..212150a
--- /dev/null
+++ b/include/tt.h
@@ -0,0 +1,93 @@
+/*
+ * Prints table or tree. See lib/table.c for more details and example.
+ *
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#ifndef UTIL_LINUX_TT_H
+#define UTIL_LINUX_TT_H
+
+#include "list.h"
+
+enum {
+ /*
+ * Global flags
+ */
+ TT_FL_RAW = (1 << 1),
+ TT_FL_ASCII = (1 << 2),
+ TT_FL_NOHEADINGS = (1 << 3),
+ TT_FL_EXPORT = (1 << 4),
+
+ /*
+ * Column flags
+ */
+ TT_FL_TRUNC = (1 << 5), /* truncate fields data if necessary */
+ TT_FL_TREE = (1 << 6), /* use tree "ascii art" */
+ TT_FL_RIGHT = (1 << 7), /* align to the right */
+ TT_FL_STRICTWIDTH = (1 << 8), /* don't reduce width if column is empty */
+ TT_FL_NOEXTREMES = (1 << 9) /* ignore extreme fields when count column width*/
+};
+
+struct tt {
+ size_t ncols; /* number of columns */
+ size_t termwidth; /* terminal width */
+ int flags;
+ int first_run;
+
+ struct list_head tb_columns;
+ struct list_head tb_lines;
+
+ const struct tt_symbols *symbols;
+};
+
+struct tt_column {
+ const char *name; /* header */
+ size_t seqnum;
+
+ size_t width; /* real column width */
+ size_t width_min; /* minimal width (usually header width) */
+ size_t width_max; /* maximal width */
+ size_t width_avg; /* average width, used to detect extreme fields */
+ double width_hint; /* hint (N < 1 is in percent of termwidth) */
+
+ int flags;
+ int is_extreme;
+
+ struct list_head cl_columns;
+};
+
+struct tt_line {
+ struct tt *table;
+ char const **data;
+ void *userdata;
+ size_t data_sz; /* strlen of all data */
+
+ struct list_head ln_lines; /* table lines */
+
+ struct list_head ln_branch; /* begin of branch (head of ln_children) */
+ struct list_head ln_children;
+
+ struct tt_line *parent;
+};
+
+extern struct tt *tt_new_table(int flags);
+extern void tt_free_table(struct tt *tb);
+extern void tt_remove_lines(struct tt *tb);
+extern int tt_print_table(struct tt *tb);
+
+extern struct tt_column *tt_define_column(struct tt *tb, const char *name,
+ double whint, int flags);
+
+extern struct tt_column *tt_get_column(struct tt *tb, size_t colnum);
+
+extern struct tt_line *tt_add_line(struct tt *tb, struct tt_line *parent);
+
+extern int tt_line_set_data(struct tt_line *ln, int colnum, const char *data);
+extern int tt_line_set_userdata(struct tt_line *ln, void *data);
+
+extern void tt_fputs_quoted(const char *data, FILE *out);
+extern void tt_fputs_nonblank(const char *data, FILE *out);
+
+#endif /* UTIL_LINUX_TT_H */
diff --git a/include/ttyutils.h b/include/ttyutils.h
new file mode 100644
index 0000000..3c40d72
--- /dev/null
+++ b/include/ttyutils.h
@@ -0,0 +1,116 @@
+#ifndef UTIL_LINUX_TTYUTILS_H
+#define UTIL_LINUX_TTYUTILS_H
+
+#include <stdlib.h>
+#include <termios.h>
+#include <limits.h>
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+
+#define UL_TTY_KEEPCFLAGS (1 << 1)
+#define UL_TTY_UTF8 (1 << 2)
+
+static inline void reset_virtual_console(struct termios *tp, int flags)
+{
+ /* Use defaults of <sys/ttydefaults.h> for base settings */
+ tp->c_iflag |= TTYDEF_IFLAG;
+ tp->c_oflag |= TTYDEF_OFLAG;
+ tp->c_lflag |= TTYDEF_LFLAG;
+
+ if ((flags & UL_TTY_KEEPCFLAGS) == 0) {
+#ifdef CBAUD
+ tp->c_lflag &= ~CBAUD;
+#endif
+ tp->c_cflag |= (B38400 | TTYDEF_CFLAG);
+ }
+
+ /* Sane setting, allow eight bit characters, no carriage return delay
+ * the same result as `stty sane cr0 pass8'
+ */
+ tp->c_iflag |= (BRKINT | ICRNL | IMAXBEL);
+ tp->c_iflag &= ~(IGNBRK | INLCR | IGNCR | IXOFF | IUCLC | IXANY | ISTRIP);
+ tp->c_oflag |= (OPOST | ONLCR | NL0 | CR0 | TAB0 | BS0 | VT0 | FF0);
+ tp->c_oflag &= ~(OLCUC | OCRNL | ONOCR | ONLRET | OFILL | \
+ NLDLY|CRDLY|TABDLY|BSDLY|VTDLY|FFDLY);
+ tp->c_lflag |= (ISIG | ICANON | IEXTEN | ECHO|ECHOE|ECHOK|ECHOKE);
+ tp->c_lflag &= ~(ECHONL|ECHOCTL|ECHOPRT | NOFLSH | TOSTOP);
+
+ if ((flags & UL_TTY_KEEPCFLAGS) == 0) {
+ tp->c_cflag |= (CREAD | CS8 | HUPCL);
+ tp->c_cflag &= ~(PARODD | PARENB);
+ }
+#ifdef OFDEL
+ tp->c_oflag &= ~OFDEL;
+#endif
+#ifdef XCASE
+ tp->c_lflag &= ~XCASE;
+#endif
+#ifdef IUTF8
+ if (flags & UL_TTY_UTF8)
+ tp->c_iflag |= IUTF8; /* Set UTF-8 input flag */
+ else
+ tp->c_iflag &= ~IUTF8;
+#endif
+ /* VTIME and VMIN can overlap with VEOF and VEOL since they are
+ * only used for non-canonical mode. We just set the at the
+ * beginning, so nothing bad should happen.
+ */
+ tp->c_cc[VTIME] = 0;
+ tp->c_cc[VMIN] = 1;
+ tp->c_cc[VINTR] = CINTR;
+ tp->c_cc[VQUIT] = CQUIT;
+ tp->c_cc[VERASE] = CERASE; /* ASCII DEL (0177) */
+ tp->c_cc[VKILL] = CKILL;
+ tp->c_cc[VEOF] = CEOF;
+#ifdef VSWTC
+ tp->c_cc[VSWTC] = _POSIX_VDISABLE;
+#elif defined(VSWTCH)
+ tp->c_cc[VSWTCH] = _POSIX_VDISABLE;
+#endif
+ tp->c_cc[VSTART] = CSTART;
+ tp->c_cc[VSTOP] = CSTOP;
+ tp->c_cc[VSUSP] = CSUSP;
+ tp->c_cc[VEOL] = _POSIX_VDISABLE;
+ tp->c_cc[VREPRINT] = CREPRINT;
+ tp->c_cc[VDISCARD] = CDISCARD;
+ tp->c_cc[VWERASE] = CWERASE;
+ tp->c_cc[VLNEXT] = CLNEXT;
+ tp->c_cc[VEOL2] = _POSIX_VDISABLE;
+}
+
+static inline int get_terminal_width(void)
+{
+#ifdef TIOCGSIZE
+ struct ttysize t_win;
+#endif
+#ifdef TIOCGWINSZ
+ struct winsize w_win;
+#endif
+ const char *cp;
+
+#ifdef TIOCGSIZE
+ if (ioctl (0, TIOCGSIZE, &t_win) == 0)
+ return t_win.ts_cols;
+#endif
+#ifdef TIOCGWINSZ
+ if (ioctl (0, TIOCGWINSZ, &w_win) == 0)
+ return w_win.ws_col;
+#endif
+ cp = getenv("COLUMNS");
+ if (cp) {
+ char *end = NULL;
+ long c;
+
+ errno = 0;
+ c = strtol(cp, &end, 10);
+
+ if (errno == 0 && end && *end == '\0' && end > cp &&
+ c > 0 && c <= INT_MAX)
+ return c;
+ }
+ return 0;
+}
+
+
+#endif /* UTIL_LINUX_TTYUTILS_H */
diff --git a/include/usleep.h b/include/usleep.h
new file mode 100644
index 0000000..f64477c
--- /dev/null
+++ b/include/usleep.h
@@ -0,0 +1,18 @@
+#ifndef UTIL_LINUX_USLEEP_H
+#define UTIL_LINUX_USLEEP_H
+
+#ifndef HAVE_USLEEP
+/*
+ * This function is marked obsolete in POSIX.1-2001 and removed in
+ * POSIX.1-2008. It is replaced with nanosleep().
+ */
+# define usleep(x) \
+ do { \
+ struct timespec xsleep; \
+ xsleep.tv_sec = x / 1000 / 1000; \
+ xsleep.tv_nsec = (x - xsleep.tv_sec * 1000 * 1000) * 1000; \
+ nanosleep(&xsleep, NULL); \
+ } while (0)
+#endif
+
+#endif /* UTIL_LINUX_USLEEP_H */
diff --git a/include/wholedisk.h b/include/wholedisk.h
new file mode 100644
index 0000000..251479e
--- /dev/null
+++ b/include/wholedisk.h
@@ -0,0 +1,8 @@
+#ifndef WHOLEDISK_H
+#define WHOLEDISK_H
+
+extern int is_whole_disk(const char *name);
+extern int is_whole_disk_fd(int fd, const char *name);
+
+#endif /* WHOLEDISK_H */
+
diff --git a/include/widechar.h b/include/widechar.h
new file mode 100644
index 0000000..b023b5f
--- /dev/null
+++ b/include/widechar.h
@@ -0,0 +1,38 @@
+/* Declarations for wide characters */
+/* This file must be included last because the redefinition of wchar_t may
+ cause conflicts when system include files were included after it. */
+
+#ifdef HAVE_WIDECHAR
+
+# include <wchar.h>
+# include <wctype.h>
+
+#else /* !HAVE_WIDECHAR */
+
+# include <ctype.h>
+ /* Fallback for types */
+# define wchar_t char
+# define wint_t int
+# define WEOF EOF
+ /* Fallback for input operations */
+# define fgetwc fgetc
+# define getwc getc
+# define getwchar getchar
+# define fgetws fgets
+ /* Fallback for output operations */
+# define fputwc fputc
+# define putwc putc
+# define putwchar putchar
+# define fputws fputs
+ /* Fallback for character classification */
+# define iswgraph isgraph
+# define iswprint isprint
+# define iswspace isspace
+ /* Fallback for string functions */
+# define wcschr strchr
+# define wcsdup strdup
+# define wcslen strlen
+
+# define wcwidth(c) 1
+
+#endif /* HAVE_WIDECHAR */
diff --git a/include/xalloc.h b/include/xalloc.h
new file mode 100644
index 0000000..1704259
--- /dev/null
+++ b/include/xalloc.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2010 Davidlohr Bueso <dave@gnu.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ * General memory allocation wrappers for malloc, realloc, calloc and strdup
+ */
+
+#ifndef UTIL_LINUX_XALLOC_H
+#define UTIL_LINUX_XALLOC_H
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "c.h"
+
+#ifndef XALLOC_EXIT_CODE
+# define XALLOC_EXIT_CODE EXIT_FAILURE
+#endif
+
+static inline __ul_alloc_size(1)
+void *xmalloc(const size_t size)
+{
+ void *ret = malloc(size);
+
+ if (!ret && size)
+ err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
+ return ret;
+}
+
+static inline __ul_alloc_size(2)
+void *xrealloc(void *ptr, const size_t size)
+{
+ void *ret = realloc(ptr, size);
+
+ if (!ret && size)
+ err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
+ return ret;
+}
+
+static inline __ul_calloc_size(1, 2)
+void *xcalloc(const size_t nelems, const size_t size)
+{
+ void *ret = calloc(nelems, size);
+
+ if (!ret && size && nelems)
+ err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
+ return ret;
+}
+
+static inline char *xstrdup(const char *str)
+{
+ char *ret;
+
+ if (!str)
+ return NULL;
+
+ ret = strdup(str);
+
+ if (!ret)
+ err(XALLOC_EXIT_CODE, "cannot duplicate string");
+ return ret;
+}
+
+static inline int __attribute__ ((__format__(printf, 2, 3)))
+ xasprintf(char **strp, const char *fmt, ...)
+{
+ int ret;
+ va_list args;
+ va_start(args, fmt);
+ ret = vasprintf(&(*strp), fmt, args);
+ va_end(args);
+ if (ret < 0)
+ err(XALLOC_EXIT_CODE, "cannot allocate string");
+ return ret;
+}
+#endif
diff --git a/include/xgetpass.h b/include/xgetpass.h
new file mode 100644
index 0000000..b5a3c87
--- /dev/null
+++ b/include/xgetpass.h
@@ -0,0 +1,6 @@
+#ifndef UTIL_LINUX_XGETPASS_H
+#define UTIL_LINUX_XGETPASS_H
+
+extern char *xgetpass(int pfd, const char *prompt);
+
+#endif /* UTIL_LINUX_XGETPASS_H */
diff --git a/lib/Makemodule.am b/lib/Makemodule.am
new file mode 100644
index 0000000..33a3eb8
--- /dev/null
+++ b/lib/Makemodule.am
@@ -0,0 +1,111 @@
+
+noinst_LTLIBRARIES += libcommon.la
+libcommon_la_CFLAGS = $(AM_CFLAGS)
+libcommon_la_SOURCES = \
+ lib/at.c \
+ lib/blkdev.c \
+ lib/canonicalize.c \
+ lib/cpuset.c \
+ lib/crc32.c \
+ lib/env.c \
+ lib/fileutils.c \
+ lib/ismounted.c \
+ lib/mangle.c \
+ lib/match.c \
+ lib/mbsalign.c \
+ lib/md5.c \
+ lib/pager.c \
+ lib/path.c \
+ lib/procutils.c \
+ lib/randutils.c \
+ lib/setproctitle.c \
+ lib/strutils.c \
+ lib/sysfs.c \
+ lib/tt.c \
+ lib/wholedisk.c \
+ lib/xgetpass.c
+
+if LINUX
+libcommon_la_SOURCES += \
+ lib/linux_version.c \
+ lib/loopdev.c
+endif
+
+if !HAVE_LANGINFO
+libcommon_la_SOURCES += lib/langinfo.c
+endif
+
+check_PROGRAMS += \
+ test_at \
+ test_blkdev \
+ test_canonicalize \
+ test_fileutils \
+ test_ismounted \
+ test_mangle \
+ test_procutils \
+ test_randutils \
+ test_strutils \
+ test_tt \
+ test_wholedisk
+
+if LINUX
+if HAVE_CPU_SET_T
+check_PROGRAMS += test_cpuset
+endif
+check_PROGRAMS += \
+ test_sysfs \
+ test_loopdev \
+ test_pager
+endif
+
+test_blkdev_SOURCES = lib/blkdev.c
+test_blkdev_CFLAGS = -DTEST_PROGRAM
+test_blkdev_LDADD = libcommon.la
+
+test_ismounted_SOURCES = lib/ismounted.c
+test_ismounted_CFLAGS = -DTEST_PROGRAM
+
+test_wholedisk_SOURCES = lib/wholedisk.c
+test_wholedisk_CFLAGS = -DTEST_PROGRAM
+
+test_mangle_SOURCES = lib/mangle.c
+test_mangle_CFLAGS = -DTEST_PROGRAM
+
+test_at_SOURCES = lib/at.c
+test_at_CFLAGS = -DTEST_PROGRAM_AT
+
+test_strutils_SOURCES = lib/strutils.c
+test_strutils_CFLAGS = -DTEST_PROGRAM
+
+test_randutils_SOURCES = lib/randutils.c
+test_randutils_CFLAGS = -DTEST_PROGRAM
+
+test_procutils_SOURCES = lib/procutils.c
+test_procutils_CFLAGS = -DTEST_PROGRAM
+
+if LINUX
+test_cpuset_SOURCES = lib/cpuset.c
+test_cpuset_CFLAGS = -DTEST_PROGRAM
+
+test_sysfs_SOURCES = lib/sysfs.c
+test_sysfs_CFLAGS = -DTEST_PROGRAM_SYSFS
+test_sysfs_LDADD = libcommon.la
+
+test_pager_SOURCES = lib/pager.c
+test_pager_CFLAGS = -DTEST_PROGRAM
+
+test_loopdev_SOURCES = lib/loopdev.c
+test_loopdev_CFLAGS = -DTEST_PROGRAM_LOOPDEV
+test_loopdev_LDADD = libcommon.la
+endif
+
+test_fileutils_SOURCES = lib/fileutils.c
+test_fileutils_CFLAGS = -DTEST_PROGRAM
+
+test_tt_SOURCES = lib/tt.c
+test_tt_CFLAGS = -DTEST_PROGRAM
+test_tt_LDADD = libcommon.la
+
+test_canonicalize_SOURCES = lib/canonicalize.c
+test_canonicalize_CFLAGS = -DTEST_PROGRAM_CANONICALIZE
+
diff --git a/lib/at.c b/lib/at.c
new file mode 100644
index 0000000..bbce516
--- /dev/null
+++ b/lib/at.c
@@ -0,0 +1,140 @@
+/*
+ * Portable xxxat() functions.
+ *
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#include "at.h"
+#include "c.h"
+
+#ifdef HAVE_FSTATAT
+int fstat_at(int dir, const char *dirname __attribute__ ((__unused__)),
+ const char *filename, struct stat *st, int nofollow)
+{
+ return fstatat(dir, filename, st,
+ nofollow ? AT_SYMLINK_NOFOLLOW : 0);
+}
+#else
+int fstat_at(int dir, const char *dirname, const char *filename,
+ struct stat *st, int nofollow)
+{
+
+ if (*filename != '/') {
+ char path[PATH_MAX];
+ int len;
+
+ len = snprintf(path, sizeof(path), "%s/%s", dirname, filename);
+ if (len < 0 || len + 1 > sizeof(path))
+ return -1;
+
+ return nofollow ? lstat(path, st) : stat(path, st);
+ }
+
+ return nofollow ? lstat(filename, st) : stat(filename, st);
+}
+#endif
+
+#ifdef HAVE_FSTATAT
+int open_at(int dir, const char *dirname __attribute__ ((__unused__)),
+ const char *filename, int flags)
+{
+ return openat(dir, filename, flags);
+}
+#else
+int open_at(int dir, const char *dirname, const char *filename, int flags)
+{
+ if (*filename != '/') {
+ char path[PATH_MAX];
+ int len;
+
+ len = snprintf(path, sizeof(path), "%s/%s", dirname, filename);
+ if (len < 0 || len + 1 > sizeof(path))
+ return -1;
+
+ return open(path, flags);
+ }
+ return open(filename, flags);
+}
+#endif
+
+FILE *fopen_at(int dir, const char *dirname, const char *filename, int flags,
+ const char *mode)
+{
+ int fd = open_at(dir, dirname, filename, flags);
+
+ if (fd < 0)
+ return NULL;
+
+ return fdopen(fd, mode);
+}
+
+#ifdef HAVE_FSTATAT
+ssize_t readlink_at(int dir, const char *dirname __attribute__ ((__unused__)),
+ const char *pathname, char *buf, size_t bufsiz)
+{
+ return readlinkat(dir, pathname, buf, bufsiz);
+}
+#else
+ssize_t readlink_at(int dir, const char *dirname, const char *pathname,
+ char *buf, size_t bufsiz)
+{
+ if (*pathname != '/') {
+ char path[PATH_MAX];
+ int len;
+
+ len = snprintf(path, sizeof(path), "%s/%s", dirname, pathname);
+ if (len < 0 || len + 1 > sizeof(path))
+ return -1;
+
+ return readlink(path, buf, bufsiz);
+ }
+ return readlink(pathname, buf, bufsiz);
+}
+#endif
+
+#ifdef TEST_PROGRAM_AT
+#include <errno.h>
+#include <sys/types.h>
+#include <dirent.h>
+#include <string.h>
+
+int main(int argc, char *argv[])
+{
+ DIR *dir;
+ struct dirent *d;
+ char *dirname;
+
+ if (argc != 2) {
+ fprintf(stderr, "usage: %s <directory>\n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ dirname = argv[1];
+
+ dir = opendir(dirname);
+ if (!dir)
+ err(EXIT_FAILURE, "cannot open %s", dirname);
+
+ while ((d = readdir(dir))) {
+ struct stat st;
+ FILE *f;
+
+ printf("%32s ", d->d_name);
+
+ if (fstat_at(dirfd(dir), dirname, d->d_name, &st, 0) == 0)
+ printf("%16jd bytes ", st.st_size);
+ else
+ printf("%16s bytes ", "???");
+
+ f = fopen_at(dirfd(dir), dirname, d->d_name, O_RDONLY, "r");
+ printf(" %s\n", f ? "OK" : strerror(errno));
+ if (f)
+ fclose(f);
+ }
+ closedir(dir);
+ return EXIT_SUCCESS;
+}
+#endif
diff --git a/lib/blkdev.c b/lib/blkdev.c
new file mode 100644
index 0000000..9193b64
--- /dev/null
+++ b/lib/blkdev.c
@@ -0,0 +1,370 @@
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <unistd.h>
+#include <stdint.h>
+
+#ifdef HAVE_LINUX_FD_H
+#include <linux/fd.h>
+#endif
+
+#ifdef HAVE_SYS_DISKLABEL_H
+#include <sys/disklabel.h>
+#endif
+
+#ifdef HAVE_SYS_DISK_H
+#ifdef HAVE_SYS_QUEUE_H
+#include <sys/queue.h> /* for LIST_HEAD */
+#endif
+#include <sys/disk.h>
+#endif
+
+#include "blkdev.h"
+#include "c.h"
+#include "linux_version.h"
+#include "xalloc.h"
+
+static long
+blkdev_valid_offset (int fd, off_t offset) {
+ char ch;
+
+ if (lseek (fd, offset, 0) < 0)
+ return 0;
+ if (read (fd, &ch, 1) < 1)
+ return 0;
+ return 1;
+}
+
+int is_blkdev(int fd)
+{
+ struct stat st;
+ return (fstat(fd, &st) == 0 && S_ISBLK(st.st_mode));
+}
+
+off_t
+blkdev_find_size (int fd) {
+ uintmax_t high, low = 0;
+
+ for (high = 1024; blkdev_valid_offset (fd, high); ) {
+ if (high == UINTMAX_MAX)
+ return -1;
+
+ low = high;
+
+ if (high >= UINTMAX_MAX/2)
+ high = UINTMAX_MAX;
+ else
+ high *= 2;
+ }
+
+ while (low < high - 1)
+ {
+ uintmax_t mid = (low + high) / 2;
+
+ if (blkdev_valid_offset (fd, mid))
+ low = mid;
+ else
+ high = mid;
+ }
+ blkdev_valid_offset (fd, 0);
+ return (low + 1);
+}
+
+/* get size in bytes */
+int
+blkdev_get_size(int fd, unsigned long long *bytes)
+{
+#ifdef DKIOCGETBLOCKCOUNT
+ /* Apple Darwin */
+ if (ioctl(fd, DKIOCGETBLOCKCOUNT, bytes) >= 0) {
+ *bytes <<= 9;
+ return 0;
+ }
+#endif
+
+#ifdef BLKGETSIZE64
+ {
+#ifdef __linux__
+ int ver = get_linux_version();
+
+ /* kernels 2.4.15-2.4.17, had a broken BLKGETSIZE64 */
+ if (ver >= KERNEL_VERSION (2,6,0) ||
+ (ver >= KERNEL_VERSION (2,4,18) && ver < KERNEL_VERSION (2,5,0)))
+#endif
+ if (ioctl(fd, BLKGETSIZE64, bytes) >= 0)
+ return 0;
+ }
+#endif /* BLKGETSIZE64 */
+
+#ifdef BLKGETSIZE
+ {
+ unsigned long size;
+
+ if (ioctl(fd, BLKGETSIZE, &size) >= 0) {
+ *bytes = ((unsigned long long)size << 9);
+ return 0;
+ }
+ }
+
+#endif /* BLKGETSIZE */
+
+#ifdef DIOCGMEDIASIZE
+ /* FreeBSD */
+ if (ioctl(fd, DIOCGMEDIASIZE, bytes) >= 0)
+ return 0;
+#endif
+
+#ifdef FDGETPRM
+ {
+ struct floppy_struct this_floppy;
+
+ if (ioctl(fd, FDGETPRM, &this_floppy) >= 0) {
+ *bytes = this_floppy.size << 9;
+ return 0;
+ }
+ }
+#endif /* FDGETPRM */
+
+#ifdef HAVE_SYS_DISKLABEL_H
+ {
+ /*
+ * This code works for FreeBSD 4.11 i386, except for the full device
+ * (such as /dev/ad0). It doesn't work properly for newer FreeBSD
+ * though. FreeBSD >= 5.0 should be covered by the DIOCGMEDIASIZE
+ * above however.
+ *
+ * Note that FreeBSD >= 4.0 has disk devices as unbuffered (raw,
+ * character) devices, so we need to check for S_ISCHR, too.
+ */
+ int part = -1;
+ struct disklabel lab;
+ struct partition *pp;
+ char ch;
+ struct stat st;
+
+ if ((fstat(fd, &st) >= 0) &&
+ (S_ISBLK(st.st_mode) || S_ISCHR(st.st_mode)))
+ part = st.st_rdev & 7;
+
+ if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= 0)) {
+ pp = &lab.d_partitions[part];
+ if (pp->p_size) {
+ *bytes = pp->p_size << 9;
+ return 0;
+ }
+ }
+ }
+#endif /* HAVE_SYS_DISKLABEL_H */
+
+ {
+ struct stat st;
+
+ if (fstat(fd, &st) == 0 && S_ISREG(st.st_mode)) {
+ *bytes = st.st_size;
+ return 0;
+ }
+ if (!S_ISBLK(st.st_mode))
+ return -1;
+ }
+
+ *bytes = blkdev_find_size(fd);
+ return 0;
+}
+
+/* get 512-byte sector count */
+int
+blkdev_get_sectors(int fd, unsigned long long *sectors)
+{
+ unsigned long long bytes;
+
+ if (blkdev_get_size(fd, &bytes) == 0) {
+ *sectors = (bytes >> 9);
+ return 0;
+ }
+
+ return -1;
+}
+
+/*
+ * Get logical sector size.
+ *
+ * This is the smallest unit the storage device can
+ * address. It is typically 512 bytes.
+ */
+int blkdev_get_sector_size(int fd, int *sector_size)
+{
+#ifdef BLKSSZGET
+ if (ioctl(fd, BLKSSZGET, sector_size) >= 0)
+ return 0;
+ return -1;
+#else
+ *sector_size = DEFAULT_SECTOR_SIZE;
+ return 0;
+#endif
+}
+
+/*
+ * Get physical block device size. The BLKPBSZGET is supported since Linux
+ * 2.6.32. For old kernels is probably the best to assume that physical sector
+ * size is the same as logical sector size.
+ *
+ * Example:
+ *
+ * rc = blkdev_get_physector_size(fd, &physec);
+ * if (rc || physec == 0) {
+ * rc = blkdev_get_sector_size(fd, &physec);
+ * if (rc)
+ * physec = DEFAULT_SECTOR_SIZE;
+ * }
+ */
+int blkdev_get_physector_size(int fd, int *sector_size)
+{
+#ifdef BLKPBSZGET
+ if (ioctl(fd, BLKPBSZGET, &sector_size) >= 0)
+ return 0;
+ return -1;
+#else
+ *sector_size = DEFAULT_SECTOR_SIZE;
+ return 0;
+#endif
+}
+
+/*
+ * Return the alignment status of a device
+ */
+int blkdev_is_misaligned(int fd)
+{
+#ifdef BLKALIGNOFF
+ int aligned;
+
+ if (ioctl(fd, BLKALIGNOFF, &aligned) < 0)
+ return 0; /* probably kernel < 2.6.32 */
+ /*
+ * Note that kernel returns -1 as alignement offset if no compatible
+ * sizes and alignments exist for stacked devices
+ */
+ return aligned != 0 ? 1 : 0;
+#else
+ return 0;
+#endif
+}
+
+int blkdev_is_cdrom(int fd)
+{
+#ifdef CDROM_GET_CAPABILITY
+ int ret;
+
+ if ((ret = ioctl(fd, CDROM_GET_CAPABILITY, NULL)) < 0)
+ return 0;
+ else
+ return ret;
+#else
+ return 0;
+#endif
+}
+
+/*
+ * Get kernel's interpretation of the device's geometry.
+ *
+ * Returns the heads and sectors - but not cylinders
+ * as it's truncated for disks with more than 65535 tracks.
+ *
+ * Note that this is deprecated in favor of LBA addressing.
+ */
+int blkdev_get_geometry(int fd, unsigned int *h, unsigned int *s)
+{
+#ifdef HDIO_GETGEO
+ struct hd_geometry geometry;
+
+ if (ioctl(fd, HDIO_GETGEO, &geometry) == 0) {
+ *h = geometry.heads;
+ *s = geometry.sectors;
+ return 0;
+ }
+#else
+ *h = 0;
+ *s = 0;
+#endif
+ return -1;
+}
+
+/*
+ * Convert scsi type to human readable string.
+ */
+const char *blkdev_scsi_type_to_name(int type)
+{
+ switch (type) {
+ case SCSI_TYPE_DISK:
+ return "disk";
+ case SCSI_TYPE_TAPE:
+ return "tape";
+ case SCSI_TYPE_PRINTER:
+ return "printer";
+ case SCSI_TYPE_PROCESSOR:
+ return "processor";
+ case SCSI_TYPE_WORM:
+ return "worm";
+ case SCSI_TYPE_ROM:
+ return "rom";
+ case SCSI_TYPE_SCANNER:
+ return "scanner";
+ case SCSI_TYPE_MOD:
+ return "mo-disk";
+ case SCSI_TYPE_MEDIUM_CHANGER:
+ return "changer";
+ case SCSI_TYPE_COMM:
+ return "comm";
+ case SCSI_TYPE_RAID:
+ return "raid";
+ case SCSI_TYPE_ENCLOSURE:
+ return "enclosure";
+ case SCSI_TYPE_RBC:
+ return "rbc";
+ case SCSI_TYPE_OSD:
+ return "osd";
+ case SCSI_TYPE_NO_LUN:
+ return "no-lun";
+ default:
+ break;
+ }
+ return NULL;
+}
+
+#ifdef TEST_PROGRAM
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+int
+main(int argc, char **argv)
+{
+ unsigned long long bytes;
+ unsigned long long sectors;
+ int sector_size, phy_sector_size;
+ int fd;
+
+ if (argc != 2) {
+ fprintf(stderr, "usage: %s device\n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+
+ if ((fd = open(argv[1], O_RDONLY)) < 0)
+ err(EXIT_FAILURE, "open %s failed", argv[1]);
+
+ if (blkdev_get_size(fd, &bytes) < 0)
+ err(EXIT_FAILURE, "blkdev_get_size() failed");
+ if (blkdev_get_sectors(fd, &sectors) < 0)
+ err(EXIT_FAILURE, "blkdev_get_sectors() failed");
+ if (blkdev_get_sector_size(fd, &sector_size) < 0)
+ err(EXIT_FAILURE, "blkdev_get_sector_size() failed");
+ if (blkdev_get_physector_size(fd, &phy_sector_size) < 0)
+ err(EXIT_FAILURE, "blkdev_get_physector_size() failed");
+
+ printf(" bytes: %llu\n", bytes);
+ printf(" sectors: %llu\n", sectors);
+ printf(" sector size: %d\n", sector_size);
+ printf("phy-sector size: %d\n", phy_sector_size);
+
+ return EXIT_SUCCESS;
+}
+#endif /* TEST_PROGRAM */
diff --git a/lib/canonicalize.c b/lib/canonicalize.c
new file mode 100644
index 0000000..ab32c10
--- /dev/null
+++ b/lib/canonicalize.c
@@ -0,0 +1,205 @@
+/*
+ * canonicalize.c -- canonicalize pathname by removing symlinks
+ * Copyright (C) 1993 Rick Sladkey <jrs@world.std.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library Public License for more details.
+ *
+ */
+
+/*
+ * This routine is part of libc. We include it nevertheless,
+ * since the libc version has some security flaws.
+ *
+ * TODO: use canonicalize_file_name() when exist in glibc
+ */
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <unistd.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#include "canonicalize.h"
+
+#ifndef MAXSYMLINKS
+# define MAXSYMLINKS 256
+#endif
+
+static char *
+myrealpath(const char *path, char *resolved_path, int maxreslth) {
+ int readlinks = 0;
+ char *npath;
+ char link_path[PATH_MAX+1];
+ int n;
+ char *buf = NULL;
+
+ npath = resolved_path;
+
+ /* If it's a relative pathname use getcwd for starters. */
+ if (*path != '/') {
+ if (!getcwd(npath, maxreslth-2))
+ return NULL;
+ npath += strlen(npath);
+ if (npath[-1] != '/')
+ *npath++ = '/';
+ } else {
+ *npath++ = '/';
+ path++;
+ }
+
+ /* Expand each slash-separated pathname component. */
+ while (*path != '\0') {
+ /* Ignore stray "/" */
+ if (*path == '/') {
+ path++;
+ continue;
+ }
+ if (*path == '.' && (path[1] == '\0' || path[1] == '/')) {
+ /* Ignore "." */
+ path++;
+ continue;
+ }
+ if (*path == '.' && path[1] == '.' &&
+ (path[2] == '\0' || path[2] == '/')) {
+ /* Backup for ".." */
+ path += 2;
+ while (npath > resolved_path+1 &&
+ (--npath)[-1] != '/')
+ ;
+ continue;
+ }
+ /* Safely copy the next pathname component. */
+ while (*path != '\0' && *path != '/') {
+ if (npath-resolved_path > maxreslth-2) {
+ errno = ENAMETOOLONG;
+ goto err;
+ }
+ *npath++ = *path++;
+ }
+
+ /* Protect against infinite loops. */
+ if (readlinks++ > MAXSYMLINKS) {
+ errno = ELOOP;
+ goto err;
+ }
+
+ /* See if last pathname component is a symlink. */
+ *npath = '\0';
+ n = readlink(resolved_path, link_path, PATH_MAX);
+ if (n < 0) {
+ /* EINVAL means the file exists but isn't a symlink. */
+ if (errno != EINVAL)
+ goto err;
+ } else {
+ int m;
+ char *newbuf;
+
+ /* Note: readlink doesn't add the null byte. */
+ link_path[n] = '\0';
+ if (*link_path == '/')
+ /* Start over for an absolute symlink. */
+ npath = resolved_path;
+ else
+ /* Otherwise back up over this component. */
+ while (*(--npath) != '/')
+ ;
+
+ /* Insert symlink contents into path. */
+ m = strlen(path);
+ newbuf = malloc(m + n + 1);
+ if (!newbuf)
+ goto err;
+ memcpy(newbuf, link_path, n);
+ memcpy(newbuf + n, path, m + 1);
+ free(buf);
+ path = buf = newbuf;
+ }
+ *npath++ = '/';
+ }
+ /* Delete trailing slash but don't whomp a lone slash. */
+ if (npath != resolved_path+1 && npath[-1] == '/')
+ npath--;
+ /* Make sure it's null terminated. */
+ *npath = '\0';
+
+ free(buf);
+ return resolved_path;
+
+ err:
+ free(buf);
+ return NULL;
+}
+
+/*
+ * Converts private "dm-N" names to "/dev/mapper/<name>"
+ *
+ * Since 2.6.29 (patch 784aae735d9b0bba3f8b9faef4c8b30df3bf0128) kernel sysfs
+ * provides the real DM device names in /sys/block/<ptname>/dm/name
+ */
+char *
+canonicalize_dm_name(const char *ptname)
+{
+ FILE *f;
+ size_t sz;
+ char path[256], name[256], *res = NULL;
+
+ snprintf(path, sizeof(path), "/sys/block/%s/dm/name", ptname);
+ if (!(f = fopen(path, "r")))
+ return NULL;
+
+ /* read "<name>\n" from sysfs */
+ if (fgets(name, sizeof(name), f) && (sz = strlen(name)) > 1) {
+ name[sz - 1] = '\0';
+ snprintf(path, sizeof(path), "/dev/mapper/%s", name);
+ res = strdup(path);
+ }
+ fclose(f);
+ return res;
+}
+
+char *
+canonicalize_path(const char *path)
+{
+ char canonical[PATH_MAX+2];
+ char *p;
+
+ if (path == NULL)
+ return NULL;
+
+ if (!myrealpath(path, canonical, PATH_MAX+1))
+ return strdup(path);
+
+
+ p = strrchr(canonical, '/');
+ if (p && strncmp(p, "/dm-", 4) == 0 && isdigit(*(p + 4))) {
+ p = canonicalize_dm_name(p+1);
+ if (p)
+ return p;
+ }
+
+ return strdup(canonical);
+}
+
+
+#ifdef TEST_PROGRAM_CANONICALIZE
+int main(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <device>\n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+
+ fprintf(stdout, "orig: %s\n", argv[1]);
+ fprintf(stdout, "real: %s\n", canonicalize_path(argv[1]));
+
+ exit(EXIT_SUCCESS);
+}
+#endif
diff --git a/lib/cpuset.c b/lib/cpuset.c
new file mode 100644
index 0000000..26b0a90
--- /dev/null
+++ b/lib/cpuset.c
@@ -0,0 +1,399 @@
+/*
+ * Terminology:
+ *
+ * cpuset - (libc) cpu_set_t data structure represents set of CPUs
+ * cpumask - string with hex mask (e.g. "0x00000001")
+ * cpulist - string with CPU ranges (e.g. "0-3,5,7,8")
+ *
+ * Based on code from taskset.c and Linux kernel.
+ *
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sched.h>
+#include <errno.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/syscall.h>
+
+#include "cpuset.h"
+#include "c.h"
+
+static inline int val_to_char(int v)
+{
+ if (v >= 0 && v < 10)
+ return '0' + v;
+ else if (v >= 10 && v < 16)
+ return ('a' - 10) + v;
+ else
+ return -1;
+}
+
+static inline int char_to_val(int c)
+{
+ int cl;
+
+ cl = tolower(c);
+ if (c >= '0' && c <= '9')
+ return c - '0';
+ else if (cl >= 'a' && cl <= 'f')
+ return cl + (10 - 'a');
+ else
+ return -1;
+}
+
+static const char *nexttoken(const char *q, int sep)
+{
+ if (q)
+ q = strchr(q, sep);
+ if (q)
+ q++;
+ return q;
+}
+
+/*
+ * Number of bits in a CPU bitmask on current system
+ */
+int get_max_number_of_cpus(void)
+{
+#ifdef SYS_sched_getaffinity
+ int n, cpus = 2048;
+ size_t setsize;
+ cpu_set_t *set = cpuset_alloc(cpus, &setsize, NULL);
+
+ if (!set)
+ return -1; /* error */
+
+ for (;;) {
+ CPU_ZERO_S(setsize, set);
+
+ /* the library version does not return size of cpumask_t */
+ n = syscall(SYS_sched_getaffinity, 0, setsize, set);
+
+ if (n < 0 && errno == EINVAL && cpus < 1024 * 1024) {
+ cpuset_free(set);
+ cpus *= 2;
+ set = cpuset_alloc(cpus, &setsize, NULL);
+ if (!set)
+ return -1; /* error */
+ continue;
+ }
+ cpuset_free(set);
+ return n * 8;
+ }
+#endif
+ return -1;
+}
+
+/*
+ * Allocates a new set for ncpus and returns size in bytes and size in bits
+ */
+cpu_set_t *cpuset_alloc(int ncpus, size_t *setsize, size_t *nbits)
+{
+ cpu_set_t *set = CPU_ALLOC(ncpus);
+
+ if (!set)
+ return NULL;
+ if (setsize)
+ *setsize = CPU_ALLOC_SIZE(ncpus);
+ if (nbits)
+ *nbits = cpuset_nbits(CPU_ALLOC_SIZE(ncpus));
+ return set;
+}
+
+void cpuset_free(cpu_set_t *set)
+{
+ CPU_FREE(set);
+}
+
+#if !HAVE_DECL_CPU_ALLOC
+/* Please, use CPU_COUNT_S() macro. This is fallback */
+int __cpuset_count_s(size_t setsize, const cpu_set_t *set)
+{
+ int s = 0;
+ const __cpu_mask *p = set->__bits;
+ const __cpu_mask *end = &set->__bits[setsize / sizeof (__cpu_mask)];
+
+ while (p < end) {
+ __cpu_mask l = *p++;
+
+ if (l == 0)
+ continue;
+# if LONG_BIT > 32
+ l = (l & 0x5555555555555555ul) + ((l >> 1) & 0x5555555555555555ul);
+ l = (l & 0x3333333333333333ul) + ((l >> 2) & 0x3333333333333333ul);
+ l = (l & 0x0f0f0f0f0f0f0f0ful) + ((l >> 4) & 0x0f0f0f0f0f0f0f0ful);
+ l = (l & 0x00ff00ff00ff00fful) + ((l >> 8) & 0x00ff00ff00ff00fful);
+ l = (l & 0x0000ffff0000fffful) + ((l >> 16) & 0x0000ffff0000fffful);
+ l = (l & 0x00000000fffffffful) + ((l >> 32) & 0x00000000fffffffful);
+# else
+ l = (l & 0x55555555ul) + ((l >> 1) & 0x55555555ul);
+ l = (l & 0x33333333ul) + ((l >> 2) & 0x33333333ul);
+ l = (l & 0x0f0f0f0ful) + ((l >> 4) & 0x0f0f0f0ful);
+ l = (l & 0x00ff00fful) + ((l >> 8) & 0x00ff00fful);
+ l = (l & 0x0000fffful) + ((l >> 16) & 0x0000fffful);
+# endif
+ s += l;
+ }
+ return s;
+}
+#endif
+
+/*
+ * Returns human readable representation of the cpuset. The output format is
+ * a list of CPUs with ranges (for example, "0,1,3-9").
+ */
+char *cpulist_create(char *str, size_t len,
+ cpu_set_t *set, size_t setsize)
+{
+ size_t i;
+ char *ptr = str;
+ int entry_made = 0;
+ size_t max = cpuset_nbits(setsize);
+
+ for (i = 0; i < max; i++) {
+ if (CPU_ISSET_S(i, setsize, set)) {
+ int rlen;
+ size_t j, run = 0;
+ entry_made = 1;
+ for (j = i + 1; j < max; j++) {
+ if (CPU_ISSET_S(j, setsize, set))
+ run++;
+ else
+ break;
+ }
+ if (!run)
+ rlen = snprintf(ptr, len, "%zd,", i);
+ else if (run == 1) {
+ rlen = snprintf(ptr, len, "%zd,%zd,", i, i + 1);
+ i++;
+ } else {
+ rlen = snprintf(ptr, len, "%zd-%zd,", i, i + run);
+ i += run;
+ }
+ if (rlen < 0 || (size_t) rlen + 1 > len)
+ return NULL;
+ ptr += rlen;
+ if (rlen > 0 && len > (size_t) rlen)
+ len -= rlen;
+ else
+ len = 0;
+ }
+ }
+ ptr -= entry_made;
+ *ptr = '\0';
+
+ return str;
+}
+
+/*
+ * Returns string with CPU mask.
+ */
+char *cpumask_create(char *str, size_t len,
+ cpu_set_t *set, size_t setsize)
+{
+ char *ptr = str;
+ char *ret = NULL;
+ int cpu;
+
+ for (cpu = cpuset_nbits(setsize) - 4; cpu >= 0; cpu -= 4) {
+ char val = 0;
+
+ if (len == (size_t) (ptr - str))
+ break;
+
+ if (CPU_ISSET_S(cpu, setsize, set))
+ val |= 1;
+ if (CPU_ISSET_S(cpu + 1, setsize, set))
+ val |= 2;
+ if (CPU_ISSET_S(cpu + 2, setsize, set))
+ val |= 4;
+ if (CPU_ISSET_S(cpu + 3, setsize, set))
+ val |= 8;
+
+ if (!ret && val)
+ ret = ptr;
+ *ptr++ = val_to_char(val);
+ }
+ *ptr = '\0';
+ return ret ? ret : ptr - 1;
+}
+
+/*
+ * Parses string with CPUs mask.
+ */
+int cpumask_parse(const char *str, cpu_set_t *set, size_t setsize)
+{
+ int len = strlen(str);
+ const char *ptr = str + len - 1;
+ int cpu = 0;
+
+ /* skip 0x, it's all hex anyway */
+ if (len > 1 && !memcmp(str, "0x", 2L))
+ str += 2;
+
+ CPU_ZERO_S(setsize, set);
+
+ while (ptr >= str) {
+ char val;
+
+ /* cpu masks in /sys uses comma as a separator */
+ if (*ptr == ',')
+ ptr--;
+
+ val = char_to_val(*ptr);
+ if (val == (char) -1)
+ return -1;
+ if (val & 1)
+ CPU_SET_S(cpu, setsize, set);
+ if (val & 2)
+ CPU_SET_S(cpu + 1, setsize, set);
+ if (val & 4)
+ CPU_SET_S(cpu + 2, setsize, set);
+ if (val & 8)
+ CPU_SET_S(cpu + 3, setsize, set);
+ len--;
+ ptr--;
+ cpu += 4;
+ }
+
+ return 0;
+}
+
+/*
+ * Parses string with list of CPU ranges.
+ * Returns 0 on success.
+ * Returns 1 on error.
+ * Returns 2 if fail is set and a cpu number passed in the list doesn't fit
+ * into the cpu_set. If fail is not set cpu numbers that do not fit are
+ * ignored and 0 is returned instead.
+ */
+int cpulist_parse(const char *str, cpu_set_t *set, size_t setsize, int fail)
+{
+ size_t max = cpuset_nbits(setsize);
+ const char *p, *q;
+ int r = 0;
+
+ q = str;
+ CPU_ZERO_S(setsize, set);
+
+ while (p = q, q = nexttoken(q, ','), p) {
+ unsigned int a; /* beginning of range */
+ unsigned int b; /* end of range */
+ unsigned int s; /* stride */
+ const char *c1, *c2;
+ char c;
+
+ if ((r = sscanf(p, "%u%c", &a, &c)) < 1)
+ return 1;
+ b = a;
+ s = 1;
+
+ c1 = nexttoken(p, '-');
+ c2 = nexttoken(p, ',');
+ if (c1 != NULL && (c2 == NULL || c1 < c2)) {
+ if ((r = sscanf(c1, "%u%c", &b, &c)) < 1)
+ return 1;
+ c1 = nexttoken(c1, ':');
+ if (c1 != NULL && (c2 == NULL || c1 < c2)) {
+ if ((r = sscanf(c1, "%u%c", &s, &c)) < 1)
+ return 1;
+ if (s == 0)
+ return 1;
+ }
+ }
+
+ if (!(a <= b))
+ return 1;
+ while (a <= b) {
+ if (fail && (a >= max))
+ return 2;
+ CPU_SET_S(a, setsize, set);
+ a += s;
+ }
+ }
+
+ if (r == 2)
+ return 1;
+ return 0;
+}
+
+#ifdef TEST_PROGRAM
+
+#include <getopt.h>
+
+int main(int argc, char *argv[])
+{
+ cpu_set_t *set;
+ size_t setsize, buflen, nbits;
+ char *buf, *mask = NULL, *range = NULL;
+ int ncpus = 2048, rc, c;
+
+ static const struct option longopts[] = {
+ { "ncpus", 1, 0, 'n' },
+ { "mask", 1, 0, 'm' },
+ { "range", 1, 0, 'r' },
+ { NULL, 0, 0, 0 }
+ };
+
+ while ((c = getopt_long(argc, argv, "n:m:r:", longopts, NULL)) != -1) {
+ switch(c) {
+ case 'n':
+ ncpus = atoi(optarg);
+ break;
+ case 'm':
+ mask = strdup(optarg);
+ break;
+ case 'r':
+ range = strdup(optarg);
+ break;
+ default:
+ goto usage_err;
+ }
+ }
+
+ if (!mask && !range)
+ goto usage_err;
+
+ set = cpuset_alloc(ncpus, &setsize, &nbits);
+ if (!set)
+ err(EXIT_FAILURE, "failed to allocate cpu set");
+
+ /*
+ fprintf(stderr, "ncpus: %d, cpuset bits: %zd, cpuset bytes: %zd\n",
+ ncpus, nbits, setsize);
+ */
+
+ buflen = 7 * nbits;
+ buf = malloc(buflen);
+ if (!buf)
+ err(EXIT_FAILURE, "failed to allocate cpu set buffer");
+
+ if (mask)
+ rc = cpumask_parse(mask, set, setsize);
+ else
+ rc = cpulist_parse(range, set, setsize, 0);
+
+ if (rc)
+ errx(EXIT_FAILURE, "failed to parse string: %s", mask ? : range);
+
+ printf("%-15s = %15s ", mask ? : range,
+ cpumask_create(buf, buflen, set, setsize));
+ printf("[%s]\n", cpulist_create(buf, buflen, set, setsize));
+
+ free(buf);
+ free(range);
+ cpuset_free(set);
+
+ return EXIT_SUCCESS;
+
+usage_err:
+ fprintf(stderr,
+ "usage: %s [--ncpus <num>] --mask <mask> | --range <list>",
+ program_invocation_short_name);
+ exit(EXIT_FAILURE);
+}
+#endif
diff --git a/lib/crc32.c b/lib/crc32.c
new file mode 100644
index 0000000..eaaa06a
--- /dev/null
+++ b/lib/crc32.c
@@ -0,0 +1,116 @@
+/*
+ * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or
+ * code or tables extracted from it, as desired without restriction.
+ *
+ * First, the polynomial itself and its table of feedback terms. The
+ * polynomial is
+ * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0
+ *
+ * Note that we take it "backwards" and put the highest-order term in
+ * the lowest-order bit. The X^32 term is "implied"; the LSB is the
+ * X^31 term, etc. The X^0 term (usually shown as "+1") results in
+ * the MSB being 1.
+ *
+ * Note that the usual hardware shift register implementation, which
+ * is what we're using (we're merely optimizing it by doing eight-bit
+ * chunks at a time) shifts bits into the lowest-order term. In our
+ * implementation, that means shifting towards the right. Why do we
+ * do it this way? Because the calculated CRC must be transmitted in
+ * order from highest-order term to lowest-order term. UARTs transmit
+ * characters in order from LSB to MSB. By storing the CRC this way,
+ * we hand it to the UART in the order low-byte to high-byte; the UART
+ * sends each low-bit to hight-bit; and the result is transmission bit
+ * by bit from highest- to lowest-order term without requiring any bit
+ * shuffling on our part. Reception works similarly.
+ *
+ * The feedback terms table consists of 256, 32-bit entries. Notes
+ *
+ * The table can be generated at runtime if desired; code to do so
+ * is shown later. It might not be obvious, but the feedback
+ * terms simply represent the results of eight shift/xor opera-
+ * tions for all combinations of data and CRC register values.
+ *
+ * The values must be right-shifted by eight bits by the "updcrc"
+ * logic; the shift must be unsigned (bring in zeroes). On some
+ * hardware you could probably optimize the shift in assembler by
+ * using byte-swap instructions.
+ * polynomial $edb88320
+ *
+ */
+
+#include <stdio.h>
+
+#include "crc32.h"
+
+
+static const uint32_t crc32_tab[] = {
+ 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L,
+ 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L,
+ 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L,
+ 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL,
+ 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L,
+ 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L,
+ 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L,
+ 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL,
+ 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L,
+ 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL,
+ 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L,
+ 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L,
+ 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L,
+ 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL,
+ 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL,
+ 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L,
+ 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL,
+ 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L,
+ 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L,
+ 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L,
+ 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL,
+ 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L,
+ 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L,
+ 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL,
+ 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L,
+ 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L,
+ 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L,
+ 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L,
+ 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L,
+ 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL,
+ 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL,
+ 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L,
+ 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L,
+ 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL,
+ 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL,
+ 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L,
+ 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL,
+ 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L,
+ 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL,
+ 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L,
+ 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL,
+ 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L,
+ 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L,
+ 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL,
+ 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L,
+ 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L,
+ 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L,
+ 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L,
+ 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L,
+ 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L,
+ 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL,
+ 0x2d02ef8dL
+};
+
+/*
+ * This a generic crc32() function, it takes seed as an argument,
+ * and does __not__ xor at the end. Then individual users can do
+ * whatever they need.
+ */
+uint32_t crc32(uint32_t seed, const unsigned char *buf, size_t len)
+{
+ uint32_t crc = seed;
+ const unsigned char *p = buf;
+
+ while(len-- > 0)
+ crc = crc32_tab[(crc ^ *p++) & 0xff] ^ (crc >> 8);
+
+ return crc;
+}
+
diff --git a/lib/env.c b/lib/env.c
new file mode 100644
index 0000000..04e0f0b
--- /dev/null
+++ b/lib/env.c
@@ -0,0 +1,109 @@
+/*
+ * Security checks of environment
+ * Added from shadow-utils package
+ * by Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#ifdef HAVE_SYS_PRCTL_H
+#include <sys/prctl.h>
+#else
+#define PR_GET_DUMPABLE 3
+#endif
+#if (!defined(HAVE_PRCTL) && defined(linux))
+#include <sys/syscall.h>
+#endif
+#include <unistd.h>
+#include <sys/types.h>
+
+#include "env.h"
+
+#ifndef HAVE_ENVIRON_DECL
+extern char **environ;
+#endif
+
+static char * const forbid[] = {
+ "_RLD_=",
+ "BASH_ENV=", /* GNU creeping featurism strikes again... */
+ "ENV=",
+ "HOME=",
+ "IFS=",
+ "KRB_CONF=",
+ "LD_", /* anything with the LD_ prefix */
+ "LIBPATH=",
+ "MAIL=",
+ "NLSPATH=",
+ "PATH=",
+ "SHELL=",
+ "SHLIB_PATH=",
+ (char *) 0
+};
+
+/* these are allowed, but with no slashes inside
+ (to work around security problems in GNU gettext) */
+static char * const noslash[] = {
+ "LANG=",
+ "LANGUAGE=",
+ "LC_", /* anything with the LC_ prefix */
+ (char *) 0
+};
+
+void
+sanitize_env(void)
+{
+ char **envp = environ;
+ char * const *bad;
+ char **cur;
+ char **move;
+
+ for (cur = envp; *cur; cur++) {
+ for (bad = forbid; *bad; bad++) {
+ if (strncmp(*cur, *bad, strlen(*bad)) == 0) {
+ for (move = cur; *move; move++)
+ *move = *(move + 1);
+ cur--;
+ break;
+ }
+ }
+ }
+
+ for (cur = envp; *cur; cur++) {
+ for (bad = noslash; *bad; bad++) {
+ if (strncmp(*cur, *bad, strlen(*bad)) != 0)
+ continue;
+ if (!strchr(*cur, '/'))
+ continue; /* OK */
+ for (move = cur; *move; move++)
+ *move = *(move + 1);
+ cur--;
+ break;
+ }
+ }
+}
+
+
+char *safe_getenv(const char *arg)
+{
+ uid_t ruid = getuid();
+
+ if (ruid != 0 || (ruid != geteuid()) || (getgid() != getegid()))
+ return NULL;
+#ifdef HAVE_PRCTL
+ if (prctl(PR_GET_DUMPABLE, 0, 0, 0, 0) == 0)
+ return NULL;
+#else
+#if (defined(linux) && defined(SYS_prctl))
+ if (syscall(SYS_prctl, PR_GET_DUMPABLE, 0, 0, 0, 0) == 0)
+ return NULL;
+#endif
+#endif
+
+#ifdef HAVE___SECURE_GETENV
+ return __secure_getenv(arg);
+#else
+ return getenv(arg);
+#endif
+}
diff --git a/lib/fileutils.c b/lib/fileutils.c
new file mode 100644
index 0000000..ff8bb86
--- /dev/null
+++ b/lib/fileutils.c
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2012 Sami Kerola <kerolasa@iki.fi>
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+
+#include "c.h"
+#include "fileutils.h"
+#include "pathnames.h"
+#include "xalloc.h"
+
+/* Create open temporary file in safe way. Please notice that the
+ * file permissions are -rw------- by default. */
+int xmkstemp(char **tmpname, char *dir)
+{
+ char *localtmp;
+ char *tmpenv;
+ mode_t old_mode;
+ int fd;
+
+ /* Some use cases must be capable of being moved atomically
+ * with rename(2), which is the reason why dir is here. */
+ if (dir != NULL)
+ tmpenv = dir;
+ else
+ tmpenv = getenv("TMPDIR");
+
+ if (tmpenv)
+ xasprintf(&localtmp, "%s/%s.XXXXXX", tmpenv,
+ program_invocation_short_name);
+ else
+ xasprintf(&localtmp, "%s/%s.XXXXXX", _PATH_TMP,
+ program_invocation_short_name);
+ old_mode = umask(077);
+ fd = mkstemp(localtmp);
+ umask(old_mode);
+ if (fd == -1) {
+ free(localtmp);
+ localtmp = NULL;
+ }
+ *tmpname = localtmp;
+ return fd;
+}
+
+/*
+ * portable getdtablesize()
+ */
+int get_fd_tabsize(void)
+{
+ int m;
+
+#if defined(HAVE_GETDTABLESIZE)
+ m = getdtablesize();
+#elif defined(HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE)
+ struct rlimit rl;
+
+ getrlimit(RLIMIT_NOFILE, &rl);
+ m = rl.rlim_cur;
+#elif defined(HAVE_SYSCONF) && defined(_SC_OPEN_MAX)
+ m = sysconf(_SC_OPEN_MAX);
+#else
+ m = OPEN_MAX;
+#endif
+ return m;
+}
+
+#ifdef TEST_PROGRAM
+int main(void)
+{
+ FILE *f;
+ char *tmpname;
+ f = xfmkstemp(&tmpname, NULL);
+ unlink(tmpname);
+ free(tmpname);
+ fclose(f);
+ return EXIT_FAILURE;
+}
+#endif
diff --git a/lib/ismounted.c b/lib/ismounted.c
new file mode 100644
index 0000000..273a7d9
--- /dev/null
+++ b/lib/ismounted.c
@@ -0,0 +1,372 @@
+/*
+ * ismounted.c --- Check to see if the filesystem was mounted
+ *
+ * Copyright (C) 1995,1996,1997,1998,1999,2000,2008 Theodore Ts'o.
+ *
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ */
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <fcntl.h>
+#ifdef HAVE_MNTENT_H
+#include <mntent.h>
+#endif
+#include <string.h>
+#include <sys/stat.h>
+#include <ctype.h>
+#include <sys/param.h>
+#ifdef __APPLE__
+#include <sys/ucred.h>
+#include <sys/mount.h>
+#endif
+
+#include "pathnames.h"
+#include "ismounted.h"
+#include "c.h"
+
+#ifdef HAVE_MNTENT_H
+/*
+ * Helper function which checks a file in /etc/mtab format to see if a
+ * filesystem is mounted. Returns an error if the file doesn't exist
+ * or can't be opened.
+ */
+static int check_mntent_file(const char *mtab_file, const char *file,
+ int *mount_flags, char *mtpt, int mtlen)
+{
+ struct mntent *mnt;
+ struct stat st_buf;
+ int retval = 0;
+ dev_t file_dev=0, file_rdev=0;
+ ino_t file_ino=0;
+ FILE *f;
+ int fd;
+
+ *mount_flags = 0;
+ if ((f = setmntent (mtab_file, "r")) == NULL)
+ return errno;
+ if (stat(file, &st_buf) == 0) {
+ if (S_ISBLK(st_buf.st_mode)) {
+#ifndef __GNU__ /* The GNU hurd is broken with respect to stat devices */
+ file_rdev = st_buf.st_rdev;
+#endif /* __GNU__ */
+ } else {
+ file_dev = st_buf.st_dev;
+ file_ino = st_buf.st_ino;
+ }
+ }
+ while ((mnt = getmntent (f)) != NULL) {
+ if (mnt->mnt_fsname[0] != '/')
+ continue;
+ if (strcmp(file, mnt->mnt_fsname) == 0)
+ break;
+ if (stat(mnt->mnt_fsname, &st_buf) == 0) {
+ if (S_ISBLK(st_buf.st_mode)) {
+#ifndef __GNU__
+ if (file_rdev && (file_rdev == st_buf.st_rdev))
+ break;
+#endif /* __GNU__ */
+ } else {
+ if (file_dev && ((file_dev == st_buf.st_dev) &&
+ (file_ino == st_buf.st_ino)))
+ break;
+ }
+ }
+ }
+
+ if (mnt == 0) {
+#ifndef __GNU__ /* The GNU hurd is broken with respect to stat devices */
+ /*
+ * Do an extra check to see if this is the root device. We
+ * can't trust /etc/mtab, and /proc/mounts will only list
+ * /dev/root for the root filesystem. Argh. Instead we
+ * check if the given device has the same major/minor number
+ * as the device that the root directory is on.
+ */
+ if (file_rdev && stat("/", &st_buf) == 0 &&
+ st_buf.st_dev == file_rdev) {
+ *mount_flags = MF_MOUNTED;
+ if (mtpt)
+ strncpy(mtpt, "/", mtlen);
+ goto is_root;
+ }
+#endif /* __GNU__ */
+ goto errout;
+ }
+#ifndef __GNU__ /* The GNU hurd is deficient; what else is new? */
+ /* Validate the entry in case /etc/mtab is out of date */
+ /*
+ * We need to be paranoid, because some broken distributions
+ * (read: Slackware) don't initialize /etc/mtab before checking
+ * all of the non-root filesystems on the disk.
+ */
+ if (stat(mnt->mnt_dir, &st_buf) < 0) {
+ retval = errno;
+ if (retval == ENOENT) {
+#ifdef DEBUG
+ printf("Bogus entry in %s! (%s does not exist)\n",
+ mtab_file, mnt->mnt_dir);
+#endif /* DEBUG */
+ retval = 0;
+ }
+ goto errout;
+ }
+ if (file_rdev && (st_buf.st_dev != file_rdev)) {
+#ifdef DEBUG
+ printf("Bogus entry in %s! (%s not mounted on %s)\n",
+ mtab_file, file, mnt->mnt_dir);
+#endif /* DEBUG */
+ goto errout;
+ }
+#endif /* __GNU__ */
+ *mount_flags = MF_MOUNTED;
+
+#ifdef MNTOPT_RO
+ /* Check to see if the ro option is set */
+ if (hasmntopt(mnt, MNTOPT_RO))
+ *mount_flags |= MF_READONLY;
+#endif
+
+ if (mtpt)
+ strncpy(mtpt, mnt->mnt_dir, mtlen);
+ /*
+ * Check to see if we're referring to the root filesystem.
+ * If so, do a manual check to see if we can open /etc/mtab
+ * read/write, since if the root is mounted read/only, the
+ * contents of /etc/mtab may not be accurate.
+ */
+ if (!strcmp(mnt->mnt_dir, "/")) {
+is_root:
+#define TEST_FILE "/.ismount-test-file"
+ *mount_flags |= MF_ISROOT;
+ fd = open(TEST_FILE, O_RDWR|O_CREAT, 0600);
+ if (fd < 0) {
+ if (errno == EROFS)
+ *mount_flags |= MF_READONLY;
+ } else
+ close(fd);
+ (void) unlink(TEST_FILE);
+ }
+ retval = 0;
+errout:
+ endmntent (f);
+ return retval;
+}
+
+static int check_mntent(const char *file, int *mount_flags,
+ char *mtpt, int mtlen)
+{
+ int retval;
+
+#ifdef DEBUG
+ retval = check_mntent_file("/tmp/mtab", file, mount_flags,
+ mtpt, mtlen);
+ if (retval == 0)
+ return 0;
+#endif /* DEBUG */
+#ifdef __linux__
+ retval = check_mntent_file("/proc/mounts", file, mount_flags,
+ mtpt, mtlen);
+ if (retval == 0 && (*mount_flags != 0))
+ return 0;
+ if (access("/proc/mounts", R_OK) == 0) {
+ *mount_flags = 0;
+ return retval;
+ }
+#endif /* __linux__ */
+#if defined(MOUNTED) || defined(_PATH_MOUNTED)
+#ifndef MOUNTED
+#define MOUNTED _PATH_MOUNTED
+#endif /* MOUNTED */
+ retval = check_mntent_file(MOUNTED, file, mount_flags, mtpt, mtlen);
+ return retval;
+#else
+ *mount_flags = 0;
+ return 0;
+#endif /* defined(MOUNTED) || defined(_PATH_MOUNTED) */
+}
+
+#else
+#if defined(HAVE_GETMNTINFO)
+
+static int check_getmntinfo(const char *file, int *mount_flags,
+ char *mtpt, int mtlen)
+{
+ struct statfs *mp;
+ int len, n;
+ const char *s1;
+ char *s2;
+
+ n = getmntinfo(&mp, MNT_NOWAIT);
+ if (n == 0)
+ return errno;
+
+ len = sizeof(_PATH_DEV) - 1;
+ s1 = file;
+ if (strncmp(_PATH_DEV, s1, len) == 0)
+ s1 += len;
+
+ *mount_flags = 0;
+ while (--n >= 0) {
+ s2 = mp->f_mntfromname;
+ if (strncmp(_PATH_DEV, s2, len) == 0) {
+ s2 += len - 1;
+ *s2 = 'r';
+ }
+ if (strcmp(s1, s2) == 0 || strcmp(s1, &s2[1]) == 0) {
+ *mount_flags = MF_MOUNTED;
+ break;
+ }
+ ++mp;
+ }
+ if (mtpt)
+ strncpy(mtpt, mp->f_mntonname, mtlen);
+ return 0;
+}
+#endif /* HAVE_GETMNTINFO */
+#endif /* HAVE_MNTENT_H */
+
+/*
+ * Check to see if we're dealing with the swap device.
+ */
+static int is_swap_device(const char *file)
+{
+ FILE *f;
+ char buf[1024], *cp;
+ dev_t file_dev;
+ struct stat st_buf;
+ int ret = 0;
+
+ file_dev = 0;
+#ifndef __GNU__ /* The GNU hurd is broken with respect to stat devices */
+ if ((stat(file, &st_buf) == 0) &&
+ S_ISBLK(st_buf.st_mode))
+ file_dev = st_buf.st_rdev;
+#endif /* __GNU__ */
+
+ if (!(f = fopen("/proc/swaps", "r")))
+ return 0;
+ /* Skip the first line */
+ if (!fgets(buf, sizeof(buf), f))
+ goto leave;
+ if (*buf && strncmp(buf, "Filename\t", 9))
+ /* Linux <=2.6.19 contained a bug in the /proc/swaps
+ * code where the header would not be displayed
+ */
+ goto valid_first_line;
+
+ while (fgets(buf, sizeof(buf), f)) {
+valid_first_line:
+ if ((cp = strchr(buf, ' ')) != NULL)
+ *cp = 0;
+ if ((cp = strchr(buf, '\t')) != NULL)
+ *cp = 0;
+ if (strcmp(buf, file) == 0) {
+ ret++;
+ break;
+ }
+#ifndef __GNU__
+ if (file_dev && (stat(buf, &st_buf) == 0) &&
+ S_ISBLK(st_buf.st_mode) &&
+ file_dev == st_buf.st_rdev) {
+ ret++;
+ break;
+ }
+#endif /* __GNU__ */
+ }
+
+leave:
+ fclose(f);
+ return ret;
+}
+
+
+/*
+ * check_mount_point() fills determines if the device is mounted or otherwise
+ * busy, and fills in mount_flags with one or more of the following flags:
+ * MF_MOUNTED, MF_ISROOT, MF_READONLY, MF_SWAP, and MF_BUSY. If mtpt is
+ * non-NULL, the directory where the device is mounted is copied to where mtpt
+ * is pointing, up to mtlen characters.
+ */
+#ifdef __TURBOC__
+ #pragma argsused
+#endif
+int check_mount_point(const char *device, int *mount_flags,
+ char *mtpt, int mtlen)
+{
+ struct stat st_buf;
+ int retval = 0;
+ int fd;
+
+ if (is_swap_device(device)) {
+ *mount_flags = MF_MOUNTED | MF_SWAP;
+ strncpy(mtpt, "<swap>", mtlen);
+ } else {
+#ifdef HAVE_MNTENT_H
+ retval = check_mntent(device, mount_flags, mtpt, mtlen);
+#else
+#ifdef HAVE_GETMNTINFO
+ retval = check_getmntinfo(device, mount_flags, mtpt, mtlen);
+#else
+#ifdef __GNUC__
+ #warning "Can't use getmntent or getmntinfo to check for mounted filesystems!"
+#endif
+ *mount_flags = 0;
+#endif /* HAVE_GETMNTINFO */
+#endif /* HAVE_MNTENT_H */
+ }
+ if (retval)
+ return retval;
+
+#ifdef __linux__ /* This only works on Linux 2.6+ systems */
+ if ((stat(device, &st_buf) != 0) ||
+ !S_ISBLK(st_buf.st_mode))
+ return 0;
+ fd = open(device, O_RDONLY | O_EXCL);
+ if (fd < 0) {
+ if (errno == EBUSY)
+ *mount_flags |= MF_BUSY;
+ } else
+ close(fd);
+#endif
+
+ return 0;
+}
+
+int is_mounted(const char *file)
+{
+ int retval;
+ int mount_flags = 0;
+
+ retval = check_mount_point(file, &mount_flags, NULL, 0);
+ if (retval)
+ return 0;
+ return mount_flags & MF_MOUNTED;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char **argv)
+{
+ int flags = 0;
+ char devname[PATH_MAX];
+
+ if (argc < 2) {
+ fprintf(stderr, "Usage: %s device\n", argv[0]);
+ return EXIT_FAILURE;
+ }
+
+ if (check_mount_point(argv[1], &flags, devname, sizeof(devname)) == 0 &&
+ (flags & MF_MOUNTED)) {
+ if (flags & MF_SWAP)
+ printf("used swap device\n");
+ else
+ printf("mounted on %s\n", devname);
+ return EXIT_SUCCESS;
+ }
+
+ printf("not mounted\n");
+ return EXIT_FAILURE;
+}
+#endif /* DEBUG */
diff --git a/lib/langinfo.c b/lib/langinfo.c
new file mode 100644
index 0000000..deeab9b
--- /dev/null
+++ b/lib/langinfo.c
@@ -0,0 +1,121 @@
+/*
+ * This is callback solution for systems without nl_langinfo(), this function
+ * returns hardcoded and on locale setting independed value.
+ *
+ * See langinfo.h man page for more details.
+ *
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ */
+#include "nls.h"
+
+char *langinfo_fallback(nl_item item)
+{
+ switch (item) {
+ case CODESET:
+ return "ISO-8859-1";
+ case THOUSEP:
+ return ",";
+ case D_T_FMT:
+ case ERA_D_T_FMT:
+ return "%a %b %e %H:%M:%S %Y";
+ case D_FMT:
+ case ERA_D_FMT:
+ return "%m/%d/%y";
+ case T_FMT:
+ case ERA_T_FMT:
+ return "%H:%M:%S";
+ case T_FMT_AMPM:
+ return "%I:%M:%S %p";
+ case AM_STR:
+ return "AM";
+ case PM_STR:
+ return "PM";
+ case DAY_1:
+ return "Sunday";
+ case DAY_2:
+ return "Monday";
+ case DAY_3:
+ return "Tuesday";
+ case DAY_4:
+ return "Wednesday";
+ case DAY_5:
+ return "Thursday";
+ case DAY_6:
+ return "Friday";
+ case DAY_7:
+ return "Saturday";
+ case ABDAY_1:
+ return "Sun";
+ case ABDAY_2:
+ return "Mon";
+ case ABDAY_3:
+ return "Tue";
+ case ABDAY_4:
+ return "Wed";
+ case ABDAY_5:
+ return "Thu";
+ case ABDAY_6:
+ return "Fri";
+ case ABDAY_7:
+ return "Sat";
+ case MON_1:
+ return "January";
+ case MON_2:
+ return "February";
+ case MON_3:
+ return "March";
+ case MON_4:
+ return "April";
+ case MON_5:
+ return "May";
+ case MON_6:
+ return "June";
+ case MON_7:
+ return "July";
+ case MON_8:
+ return "August";
+ case MON_9:
+ return "September";
+ case MON_10:
+ return "October";
+ case MON_11:
+ return "November";
+ case MON_12:
+ return "December";
+ case ABMON_1:
+ return "Jan";
+ case ABMON_2:
+ return "Feb";
+ case ABMON_3:
+ return "Mar";
+ case ABMON_4:
+ return "Apr";
+ case ABMON_5:
+ return "May";
+ case ABMON_6:
+ return "Jun";
+ case ABMON_7:
+ return "Jul";
+ case ABMON_8:
+ return "Aug";
+ case ABMON_9:
+ return "Sep";
+ case ABMON_10:
+ return "Oct";
+ case ABMON_11:
+ return "Nov";
+ case ABMON_12:
+ return "Dec";
+ case ALT_DIGITS:
+ return "\0\0\0\0\0\0\0\0\0\0";
+ case CRNCYSTR:
+ return "-";
+ case YESEXPR:
+ return "^[yY]";
+ case NOEXPR:
+ return "^[nN]";
+ default:
+ return "";
+ }
+}
+
diff --git a/lib/linux_version.c b/lib/linux_version.c
new file mode 100644
index 0000000..2bcc2cc
--- /dev/null
+++ b/lib/linux_version.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+#include <sys/utsname.h>
+
+#include "linux_version.h"
+
+int get_linux_version (void)
+{
+ static int kver = -1;
+ struct utsname uts;
+ int major = 0;
+ int minor = 0;
+ int teeny = 0;
+ int n;
+
+ if (kver != -1)
+ return kver;
+ if (uname (&uts))
+ return kver = 0;
+
+ n = sscanf(uts.release, "%d.%d.%d", &major, &minor, &teeny);
+ if (n < 1 || n > 3)
+ return kver = 0;
+
+ return kver = KERNEL_VERSION(major, minor, teeny);
+}
diff --git a/lib/loopdev.c b/lib/loopdev.c
new file mode 100644
index 0000000..a9f6df2
--- /dev/null
+++ b/lib/loopdev.c
@@ -0,0 +1,1592 @@
+/*
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ *
+ * -- based on mount/losetup.c
+ *
+ * Simple library for work with loop devices.
+ *
+ * - requires kernel 2.6.x
+ * - reads info from /sys/block/loop<N>/loop/<attr> (new kernels)
+ * - reads info by ioctl
+ * - supports *unlimited* number of loop devices
+ * - supports /dev/loop<N> as well as /dev/loop/<N>
+ * - minimize overhead (fd, loopinfo, ... are shared for all operations)
+ * - setup (associate device and backing file)
+ * - delete (dis-associate file)
+ * - old LOOP_{SET,GET}_STATUS (32bit) ioctls are unsupported
+ * - extendible
+ */
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <ctype.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+#include <sys/sysmacros.h>
+#include <inttypes.h>
+#include <dirent.h>
+#include <linux/posix_types.h>
+
+#include "linux_version.h"
+#include "c.h"
+#include "sysfs.h"
+#include "pathnames.h"
+#include "loopdev.h"
+#include "canonicalize.h"
+#include "at.h"
+
+#define CONFIG_LOOPDEV_DEBUG
+
+#ifdef CONFIG_LOOPDEV_DEBUG
+# include <stdarg.h>
+
+# define DBG(l,x) do { \
+ if ((l)->debug) {\
+ fprintf(stderr, "loopdev: [%p]: ", (l)); \
+ x; \
+ } \
+ } while(0)
+
+static inline void __attribute__ ((__format__ (__printf__, 1, 2)))
+loopdev_debug(const char *mesg, ...)
+{
+ va_list ap;
+ va_start(ap, mesg);
+ vfprintf(stderr, mesg, ap);
+ va_end(ap);
+ fputc('\n', stderr);
+}
+
+#else /* !CONFIG_LOOPDEV_DEBUG */
+# define DBG(m,x) do { ; } while(0)
+#endif
+
+/*
+ * see loopcxt_init()
+ */
+#define loopcxt_ioctl_enabled(_lc) (!((_lc)->flags & LOOPDEV_FL_NOIOCTL))
+#define loopcxt_sysfs_available(_lc) (!((_lc)->flags & LOOPDEV_FL_NOSYSFS)) \
+ && !loopcxt_ioctl_enabled(_lc)
+
+/*
+ * @lc: context
+ * @device: device name, absolute device path or NULL to reset the current setting
+ *
+ * Sets device, absolute paths (e.g. "/dev/loop<N>") are unchanged, device
+ * names ("loop<N>") are converted to the path (/dev/loop<N> or to
+ * /dev/loop/<N>)
+ *
+ * Returns: <0 on error, 0 on success
+ */
+int loopcxt_set_device(struct loopdev_cxt *lc, const char *device)
+{
+ if (!lc)
+ return -EINVAL;
+
+ if (lc->fd >= 0)
+ close(lc->fd);
+ lc->fd = -1;
+ lc->mode = 0;
+ lc->has_info = 0;
+ lc->info_failed = 0;
+ *lc->device = '\0';
+ memset(&lc->info, 0, sizeof(lc->info));
+
+ /* set new */
+ if (device) {
+ if (*device != '/') {
+ const char *dir = _PATH_DEV;
+
+ /* compose device name for /dev/loop<n> or /dev/loop/<n> */
+ if (lc->flags & LOOPDEV_FL_DEVSUBDIR) {
+ if (strlen(device) < 5)
+ return -1;
+ device += 4;
+ dir = _PATH_DEV_LOOP "/"; /* _PATH_DEV uses tailing slash */
+ }
+ snprintf(lc->device, sizeof(lc->device), "%s%s",
+ dir, device);
+ } else {
+ strncpy(lc->device, device, sizeof(lc->device));
+ lc->device[sizeof(lc->device) - 1] = '\0';
+ }
+ DBG(lc, loopdev_debug("%s successfully assigned", device));
+ }
+
+ sysfs_deinit(&lc->sysfs);
+ return 0;
+}
+
+int loopcxt_has_device(struct loopdev_cxt *lc)
+{
+ return lc && *lc->device;
+}
+
+/*
+ * @lc: context
+ * @flags: LOOPDEV_FL_* flags
+ *
+ * Initilize loop handler.
+ *
+ * We have two sets of the flags:
+ *
+ * * LOOPDEV_FL_* flags control loopcxt_* API behavior
+ *
+ * * LO_FLAGS_* are kernel flags used for LOOP_{SET,GET}_STAT64 ioctls
+ *
+ * Note about LOOPDEV_FL_{RDONLY,RDWR} flags. These flags are used for open(2)
+ * syscall to open loop device. By default is the device open read-only.
+ *
+ * The expection is loopcxt_setup_device(), where the device is open read-write
+ * if LO_FLAGS_READ_ONLY flags is not set (see loopcxt_set_flags()).
+ *
+ * Returns: <0 on error, 0 on success.
+ */
+int loopcxt_init(struct loopdev_cxt *lc, int flags)
+{
+ int rc;
+ struct stat st;
+ struct loopdev_cxt dummy = UL_LOOPDEVCXT_EMPTY;
+
+ if (!lc)
+ return -EINVAL;
+
+ memcpy(lc, &dummy, sizeof(dummy));
+ lc->flags = flags;
+
+ rc = loopcxt_set_device(lc, NULL);
+ if (rc)
+ return rc;
+
+ if (!(lc->flags & LOOPDEV_FL_NOSYSFS) &&
+ get_linux_version() >= KERNEL_VERSION(2,6,37))
+ /*
+ * Use only sysfs for basic information about loop devices
+ */
+ lc->flags |= LOOPDEV_FL_NOIOCTL;
+
+ if (!(lc->flags & LOOPDEV_FL_CONTROL) && !stat(_PATH_DEV_LOOPCTL, &st))
+ lc->flags |= LOOPDEV_FL_CONTROL;
+
+ return 0;
+}
+
+/*
+ * @lc: context
+ *
+ * Deinitialize loop context
+ */
+void loopcxt_deinit(struct loopdev_cxt *lc)
+{
+ int errsv = errno;
+
+ if (!lc)
+ return;
+
+ DBG(lc, loopdev_debug("de-initialize"));
+
+ free(lc->filename);
+ lc->filename = NULL;
+
+ ignore_result( loopcxt_set_device(lc, NULL) );
+ loopcxt_deinit_iterator(lc);
+
+ errno = errsv;
+}
+
+/*
+ * @lc: context
+ * @enable: TRUE/FALSE
+ *
+ * Enabled/disables debug messages
+ */
+void loopcxt_enable_debug(struct loopdev_cxt *lc, int enable)
+{
+ if (lc)
+ lc->debug = enable ? 1 : 0;
+}
+
+/*
+ * @lc: context
+ *
+ * Returns newly allocated device path.
+ */
+char *loopcxt_strdup_device(struct loopdev_cxt *lc)
+{
+ if (!lc || !*lc->device)
+ return NULL;
+ return strdup(lc->device);
+}
+
+/*
+ * @lc: context
+ *
+ * Returns pointer device name in the @lc struct.
+ */
+const char *loopcxt_get_device(struct loopdev_cxt *lc)
+{
+ return lc ? lc->device : NULL;
+}
+
+/*
+ * @lc: context
+ *
+ * Returns pointer to the sysfs context (see lib/sysfs.c)
+ */
+struct sysfs_cxt *loopcxt_get_sysfs(struct loopdev_cxt *lc)
+{
+ if (!lc || !*lc->device || (lc->flags & LOOPDEV_FL_NOSYSFS))
+ return NULL;
+
+ if (!lc->sysfs.devno) {
+ dev_t devno = sysfs_devname_to_devno(lc->device, NULL);
+ if (!devno) {
+ DBG(lc, loopdev_debug("sysfs: failed devname to devno"));
+ return NULL;
+ }
+ if (sysfs_init(&lc->sysfs, devno, NULL)) {
+ DBG(lc, loopdev_debug("sysfs: init failed"));
+ return NULL;
+ }
+ }
+
+ return &lc->sysfs;
+}
+
+/*
+ * @lc: context
+ *
+ * Returns: file descriptor to the open loop device or <0 on error. The mode
+ * depends on LOOPDEV_FL_{RDWR,RDONLY} context flags. Default is
+ * read-only.
+ */
+int loopcxt_get_fd(struct loopdev_cxt *lc)
+{
+ if (!lc || !*lc->device)
+ return -EINVAL;
+
+ if (lc->fd < 0) {
+ lc->mode = lc->flags & LOOPDEV_FL_RDWR ? O_RDWR : O_RDONLY;
+ lc->fd = open(lc->device, lc->mode);
+ DBG(lc, loopdev_debug("open %s", lc->fd < 0 ? "failed" : "ok"));
+ }
+ return lc->fd;
+}
+
+int loopcxt_set_fd(struct loopdev_cxt *lc, int fd, int mode)
+{
+ if (!lc)
+ return -EINVAL;
+
+ lc->fd = fd;
+ lc->mode = mode;
+ return 0;
+}
+
+/*
+ * @lc: context
+ * @flags: LOOPITER_FL_* flags
+ *
+ * Iterator allows to scan list of the free or used loop devices.
+ *
+ * Returns: <0 on error, 0 on success
+ */
+int loopcxt_init_iterator(struct loopdev_cxt *lc, int flags)
+{
+ struct loopdev_iter *iter;
+ struct stat st;
+
+ if (!lc)
+ return -EINVAL;
+
+ DBG(lc, loopdev_debug("iter: initialize"));
+
+ iter = &lc->iter;
+
+ /* always zeroize
+ */
+ memset(iter, 0, sizeof(*iter));
+ iter->ncur = -1;
+ iter->flags = flags;
+ iter->default_check = 1;
+
+ if (!lc->extra_check) {
+ /*
+ * Check for /dev/loop/<N> subdirectory
+ */
+ if (!(lc->flags & LOOPDEV_FL_DEVSUBDIR) &&
+ stat(_PATH_DEV_LOOP, &st) == 0 && S_ISDIR(st.st_mode))
+ lc->flags |= LOOPDEV_FL_DEVSUBDIR;
+
+ lc->extra_check = 1;
+ }
+ return 0;
+}
+
+/*
+ * @lc: context
+ *
+ * Returns: <0 on error, 0 on success
+ */
+int loopcxt_deinit_iterator(struct loopdev_cxt *lc)
+{
+ struct loopdev_iter *iter;
+
+ if (!lc)
+ return -EINVAL;
+
+ DBG(lc, loopdev_debug("iter: de-initialize"));
+
+ iter = &lc->iter;
+
+ free(iter->minors);
+ if (iter->proc)
+ fclose(iter->proc);
+ if (iter->sysblock)
+ closedir(iter->sysblock);
+ iter->minors = NULL;
+ iter->proc = NULL;
+ iter->sysblock = NULL;
+ iter->done = 1;
+ return 0;
+}
+
+/*
+ * Same as loopcxt_set_device, but also checks if the device is
+ * associeted with any file.
+ *
+ * Returns: <0 on error, 0 on success, 1 device does not match with
+ * LOOPITER_FL_{USED,FREE} flags.
+ */
+static int loopiter_set_device(struct loopdev_cxt *lc, const char *device)
+{
+ int rc = loopcxt_set_device(lc, device);
+ int used;
+
+ if (rc)
+ return rc;
+
+ if (!(lc->iter.flags & LOOPITER_FL_USED) &&
+ !(lc->iter.flags & LOOPITER_FL_FREE))
+ return 0; /* caller does not care about device status */
+
+ used = loopcxt_get_offset(lc, NULL) == 0;
+
+ if ((lc->iter.flags & LOOPITER_FL_USED) && used)
+ return 0;
+
+ if ((lc->iter.flags & LOOPITER_FL_FREE) && !used)
+ return 0;
+
+ DBG(lc, loopdev_debug("iter: unset device"));
+ ignore_result( loopcxt_set_device(lc, NULL) );
+ return 1;
+}
+
+static int cmpnum(const void *p1, const void *p2)
+{
+ return (((* (int *) p1) > (* (int *) p2)) -
+ ((* (int *) p1) < (* (int *) p2)));
+}
+
+/*
+ * The classic scandir() is more expensive and less portable.
+ * We needn't full loop device names -- loop numbers (loop<N>)
+ * are enough.
+ */
+static int loop_scandir(const char *dirname, int **ary, int hasprefix)
+{
+ DIR *dir;
+ struct dirent *d;
+ unsigned int n, count = 0, arylen = 0;
+
+ if (!dirname || !ary)
+ return 0;
+ dir = opendir(dirname);
+ if (!dir)
+ return 0;
+ free(*ary);
+ *ary = NULL;
+
+ while((d = readdir(dir))) {
+#ifdef _DIRENT_HAVE_D_TYPE
+ if (d->d_type != DT_BLK && d->d_type != DT_UNKNOWN &&
+ d->d_type != DT_LNK)
+ continue;
+#endif
+ if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, ".."))
+ continue;
+
+ if (hasprefix) {
+ /* /dev/loop<N> */
+ if (sscanf(d->d_name, "loop%u", &n) != 1)
+ continue;
+ } else {
+ /* /dev/loop/<N> */
+ char *end = NULL;
+
+ n = strtol(d->d_name, &end, 10);
+ if (d->d_name == end || (end && *end) || errno)
+ continue;
+ }
+ if (n < LOOPDEV_DEFAULT_NNODES)
+ continue; /* ignore loop<0..7> */
+
+ if (count + 1 > arylen) {
+ int *tmp;
+
+ arylen += 1;
+
+ tmp = realloc(*ary, arylen * sizeof(int));
+ if (!tmp) {
+ free(*ary);
+ closedir(dir);
+ return -1;
+ }
+ *ary = tmp;
+ }
+ if (*ary)
+ (*ary)[count++] = n;
+ }
+ if (count && *ary)
+ qsort(*ary, count, sizeof(int), cmpnum);
+
+ closedir(dir);
+ return count;
+}
+
+/*
+ * Set the next *used* loop device according to /proc/partitions.
+ *
+ * Loop devices smaller than 512 bytes are invisible for this function.
+ */
+static int loopcxt_next_from_proc(struct loopdev_cxt *lc)
+{
+ struct loopdev_iter *iter = &lc->iter;
+ char buf[BUFSIZ];
+
+ DBG(lc, loopdev_debug("iter: scan /proc/partitions"));
+
+ if (!iter->proc)
+ iter->proc = fopen(_PATH_PROC_PARTITIONS, "r");
+ if (!iter->proc)
+ return 1;
+
+ while (fgets(buf, sizeof(buf), iter->proc)) {
+ unsigned int m;
+ char name[128 + 1];
+
+
+ if (sscanf(buf, " %u %*s %*s %128[^\n ]",
+ &m, name) != 2 || m != LOOPDEV_MAJOR)
+ continue;
+
+ DBG(lc, loopdev_debug("iter: check %s", name));
+
+ if (loopiter_set_device(lc, name) == 0)
+ return 0;
+ }
+
+ return 1;
+}
+
+/*
+ * Set the next *used* loop device according to
+ * /sys/block/loopN/loop/backing_file (kernel >= 2.6.37 is required).
+ *
+ * This is preferred method.
+ */
+static int loopcxt_next_from_sysfs(struct loopdev_cxt *lc)
+{
+ struct loopdev_iter *iter = &lc->iter;
+ struct dirent *d;
+ int fd;
+
+ DBG(lc, loopdev_debug("iter: scan /sys/block"));
+
+ if (!iter->sysblock)
+ iter->sysblock = opendir(_PATH_SYS_BLOCK);
+
+ if (!iter->sysblock)
+ return 1;
+
+ fd = dirfd(iter->sysblock);
+
+ while ((d = readdir(iter->sysblock))) {
+ char name[256];
+ struct stat st;
+
+ DBG(lc, loopdev_debug("iter: check %s", d->d_name));
+
+ if (strcmp(d->d_name, ".") == 0
+ || strcmp(d->d_name, "..") == 0
+ || strncmp(d->d_name, "loop", 4) != 0)
+ continue;
+
+ snprintf(name, sizeof(name), "%s/loop/backing_file", d->d_name);
+ if (fstat_at(fd, _PATH_SYS_BLOCK, name, &st, 0) != 0)
+ continue;
+
+ if (loopiter_set_device(lc, d->d_name) == 0)
+ return 0;
+ }
+
+ return 1;
+}
+
+/*
+ * @lc: context, has to initialized by loopcxt_init_iterator()
+ *
+ * Returns: 0 on success, -1 on error, 1 at the end of scanning. The details
+ * about the current loop device are available by
+ * loopcxt_get_{fd,backing_file,device,offset, ...} functions.
+ */
+int loopcxt_next(struct loopdev_cxt *lc)
+{
+ struct loopdev_iter *iter;
+
+ if (!lc)
+ return -EINVAL;
+
+ DBG(lc, loopdev_debug("iter: next"));
+
+ iter = &lc->iter;
+ if (iter->done)
+ return 1;
+
+ /* A) Look for used loop devices in /proc/partitions ("losetup -a" only)
+ */
+ if (iter->flags & LOOPITER_FL_USED) {
+ int rc;
+
+ if (loopcxt_sysfs_available(lc))
+ rc = loopcxt_next_from_sysfs(lc);
+ else
+ rc = loopcxt_next_from_proc(lc);
+ if (rc == 0)
+ return 0;
+ goto done;
+ }
+
+ /* B) Classic way, try first eight loop devices (default number
+ * of loop devices). This is enough for 99% of all cases.
+ */
+ if (iter->default_check) {
+ for (++iter->ncur; iter->ncur < LOOPDEV_DEFAULT_NNODES;
+ iter->ncur++) {
+ char name[16];
+ snprintf(name, sizeof(name), "loop%d", iter->ncur);
+
+ if (loopiter_set_device(lc, name) == 0)
+ return 0;
+ }
+ iter->default_check = 0;
+ }
+
+ /* C) the worst possibility, scan whole /dev or /dev/loop/<N>
+ */
+ if (!iter->minors) {
+ iter->nminors = (lc->flags & LOOPDEV_FL_DEVSUBDIR) ?
+ loop_scandir(_PATH_DEV_LOOP, &iter->minors, 0) :
+ loop_scandir(_PATH_DEV, &iter->minors, 1);
+ iter->ncur = -1;
+ }
+ for (++iter->ncur; iter->ncur < iter->nminors; iter->ncur++) {
+ char name[16];
+ snprintf(name, sizeof(name), "loop%d", iter->minors[iter->ncur]);
+
+ if (loopiter_set_device(lc, name) == 0)
+ return 0;
+ }
+done:
+ loopcxt_deinit_iterator(lc);
+ return 1;
+}
+
+/*
+ * @device: path to device
+ */
+int is_loopdev(const char *device)
+{
+ struct stat st;
+
+ if (!device)
+ return 0;
+
+ return (stat(device, &st) == 0 &&
+ S_ISBLK(st.st_mode) &&
+ major(st.st_rdev) == LOOPDEV_MAJOR);
+}
+
+/*
+ * @lc: context
+ *
+ * Returns result from LOOP_GET_STAT64 ioctl or NULL on error.
+ */
+struct loop_info64 *loopcxt_get_info(struct loopdev_cxt *lc)
+{
+ int fd;
+
+ if (!lc || lc->info_failed)
+ return NULL;
+ if (lc->has_info)
+ return &lc->info;
+
+ fd = loopcxt_get_fd(lc);
+ if (fd < 0)
+ return NULL;
+
+ if (ioctl(fd, LOOP_GET_STATUS64, &lc->info) == 0) {
+ lc->has_info = 1;
+ lc->info_failed = 0;
+ DBG(lc, loopdev_debug("reading loop_info64 OK"));
+ return &lc->info;
+ } else {
+ lc->info_failed = 1;
+ DBG(lc, loopdev_debug("reading loop_info64 FAILED"));
+ }
+
+ return NULL;
+}
+
+/*
+ * @lc: context
+ *
+ * Returns (allocated) string with path to the file assicieted
+ * with the current loop device.
+ */
+char *loopcxt_get_backing_file(struct loopdev_cxt *lc)
+{
+ struct sysfs_cxt *sysfs = loopcxt_get_sysfs(lc);
+ char *res = NULL;
+
+ if (sysfs)
+ /*
+ * This is always preffered, the loop_info64
+ * has too small buffer for the filename.
+ */
+ res = sysfs_strdup(sysfs, "loop/backing_file");
+
+ if (!res && loopcxt_ioctl_enabled(lc)) {
+ struct loop_info64 *lo = loopcxt_get_info(lc);
+
+ if (lo) {
+ lo->lo_file_name[LO_NAME_SIZE - 2] = '*';
+ lo->lo_file_name[LO_NAME_SIZE - 1] = '\0';
+ res = strdup((char *) lo->lo_file_name);
+ }
+ }
+
+ DBG(lc, loopdev_debug("get_backing_file [%s]", res));
+ return res;
+}
+
+/*
+ * @lc: context
+ * @offset: returns offset number for the given device
+ *
+ * Returns: <0 on error, 0 on success
+ */
+int loopcxt_get_offset(struct loopdev_cxt *lc, uint64_t *offset)
+{
+ struct sysfs_cxt *sysfs = loopcxt_get_sysfs(lc);
+ int rc = -EINVAL;
+
+ if (sysfs)
+ rc = sysfs_read_u64(sysfs, "loop/offset", offset);
+
+ if (rc && loopcxt_ioctl_enabled(lc)) {
+ struct loop_info64 *lo = loopcxt_get_info(lc);
+ if (lo) {
+ if (offset)
+ *offset = lo->lo_offset;
+ rc = 0;
+ }
+ }
+
+ DBG(lc, loopdev_debug("get_offset [rc=%d]", rc));
+ return rc;
+}
+
+/*
+ * @lc: context
+ * @sizelimit: returns size limit for the given device
+ *
+ * Returns: <0 on error, 0 on success
+ */
+int loopcxt_get_sizelimit(struct loopdev_cxt *lc, uint64_t *size)
+{
+ struct sysfs_cxt *sysfs = loopcxt_get_sysfs(lc);
+ int rc = -EINVAL;
+
+ if (sysfs)
+ rc = sysfs_read_u64(sysfs, "loop/sizelimit", size);
+
+ if (rc && loopcxt_ioctl_enabled(lc)) {
+ struct loop_info64 *lo = loopcxt_get_info(lc);
+ if (lo) {
+ if (size)
+ *size = lo->lo_sizelimit;
+ rc = 0;
+ }
+ }
+
+ DBG(lc, loopdev_debug("get_sizelimit [rc=%d]", rc));
+ return rc;
+}
+
+/*
+ * @lc: context
+ * @devno: returns encryption type
+ *
+ * Cryptoloop is DEPRECATED!
+ *
+ * Returns: <0 on error, 0 on success
+ */
+int loopcxt_get_encrypt_type(struct loopdev_cxt *lc, uint32_t *type)
+{
+ struct loop_info64 *lo = loopcxt_get_info(lc);
+ int rc = -EINVAL;
+
+ if (lo) {
+ if (type)
+ *type = lo->lo_encrypt_type;
+ rc = 0;
+ }
+ DBG(lc, loopdev_debug("get_encrypt_type [rc=%d]", rc));
+ return rc;
+}
+
+/*
+ * @lc: context
+ * @devno: returns crypt name
+ *
+ * Cryptoloop is DEPRECATED!
+ *
+ * Returns: <0 on error, 0 on success
+ */
+const char *loopcxt_get_crypt_name(struct loopdev_cxt *lc)
+{
+ struct loop_info64 *lo = loopcxt_get_info(lc);
+
+ if (lo)
+ return (char *) lo->lo_crypt_name;
+
+ DBG(lc, loopdev_debug("get_crypt_name failed"));
+ return NULL;
+}
+
+/*
+ * @lc: context
+ * @devno: returns backing file devno
+ *
+ * Returns: <0 on error, 0 on success
+ */
+int loopcxt_get_backing_devno(struct loopdev_cxt *lc, dev_t *devno)
+{
+ struct loop_info64 *lo = loopcxt_get_info(lc);
+ int rc = -EINVAL;
+
+ if (lo) {
+ if (devno)
+ *devno = lo->lo_device;
+ rc = 0;
+ }
+ DBG(lc, loopdev_debug("get_backing_devno [rc=%d]", rc));
+ return rc;
+}
+
+/*
+ * @lc: context
+ * @ino: returns backing file inode
+ *
+ * Returns: <0 on error, 0 on success
+ */
+int loopcxt_get_backing_inode(struct loopdev_cxt *lc, ino_t *ino)
+{
+ struct loop_info64 *lo = loopcxt_get_info(lc);
+ int rc = -EINVAL;
+
+ if (lo) {
+ if (ino)
+ *ino = lo->lo_inode;
+ rc = 0;
+ }
+ DBG(lc, loopdev_debug("get_backing_inode [rc=%d]", rc));
+ return rc;
+}
+
+/*
+ * Check if the kernel supports partitioned loop devices.
+ *
+ * Notes:
+ * - kernels < 3.2 support partitioned loop devices and PT scanning
+ * only if max_part= module paremeter is non-zero
+ *
+ * - kernels >= 3.2 always support partitioned loop devices
+ *
+ * - kernels >= 3.2 always support BLKPG_{ADD,DEL}_PARTITION ioctls
+ *
+ * - kernels >= 3.2 enable PT scanner only if max_part= is non-zero or if the
+ * LO_FLAGS_PARTSCAN flag is set for the device. The PT scanner is disabled
+ * by default.
+ *
+ * See kernel commit e03c8dd14915fabc101aa495828d58598dc5af98.
+ */
+int loopmod_supports_partscan(void)
+{
+ int rc, ret = 0;
+ FILE *f;
+
+ if (get_linux_version() >= KERNEL_VERSION(3,2,0))
+ return 1;
+
+ f = fopen("/sys/module/loop/parameters/max_part", "r");
+ if (!f)
+ return 0;
+ rc = fscanf(f, "%d", &ret);
+ fclose(f);
+ return rc == 1 ? ret : 0;
+}
+
+/*
+ * @lc: context
+ *
+ * Returns: 1 if the partscan flags is set *or* (for old kernels) partitions
+ * scannig is enabled for all loop devices.
+ */
+int loopcxt_is_partscan(struct loopdev_cxt *lc)
+{
+ struct sysfs_cxt *sysfs = loopcxt_get_sysfs(lc);
+
+ if (sysfs) {
+ /* kernel >= 3.2 */
+ int fl;
+ if (sysfs_read_int(sysfs, "loop/partscan", &fl) == 0)
+ return fl;
+ }
+
+ /* old kernels (including kernels without loopN/loop/<flags> directory */
+ return loopmod_supports_partscan();
+}
+
+/*
+ * @lc: context
+ *
+ * Returns: 1 if the autoclear flags is set.
+ */
+int loopcxt_is_autoclear(struct loopdev_cxt *lc)
+{
+ struct sysfs_cxt *sysfs = loopcxt_get_sysfs(lc);
+
+ if (sysfs) {
+ int fl;
+ if (sysfs_read_int(sysfs, "loop/autoclear", &fl) == 0)
+ return fl;
+ }
+
+ if (loopcxt_ioctl_enabled(lc)) {
+ struct loop_info64 *lo = loopcxt_get_info(lc);
+ if (lo)
+ return lo->lo_flags & LO_FLAGS_AUTOCLEAR;
+ }
+ return 0;
+}
+
+/*
+ * @lc: context
+ *
+ * Returns: 1 if the readonly flags is set.
+ */
+int loopcxt_is_readonly(struct loopdev_cxt *lc)
+{
+ struct sysfs_cxt *sysfs = loopcxt_get_sysfs(lc);
+
+ if (sysfs) {
+ int fl;
+ if (sysfs_read_int(sysfs, "ro", &fl) == 0)
+ return fl;
+ }
+
+ if (loopcxt_ioctl_enabled(lc)) {
+ struct loop_info64 *lo = loopcxt_get_info(lc);
+ if (lo)
+ return lo->lo_flags & LO_FLAGS_READ_ONLY;
+ }
+ return 0;
+}
+
+/*
+ * @lc: context
+ * @st: backing file stat or NULL
+ * @backing_file: filename
+ * @offset: offset
+ * @flags: LOOPDEV_FL_OFFSET if @offset should not be ignored
+ *
+ * Returns 1 if the current @lc loopdev is associated with the given backing
+ * file. Note that the preferred way is to use devno and inode number rather
+ * than filename. The @backing_file filename is poor solution usable in case
+ * that you don't have rights to call stat().
+ *
+ * Don't forget that old kernels provide very restricted (in size) backing
+ * filename by LOOP_GET_STAT64 ioctl only.
+ */
+int loopcxt_is_used(struct loopdev_cxt *lc,
+ struct stat *st,
+ const char *backing_file,
+ uint64_t offset,
+ int flags)
+{
+ ino_t ino;
+ dev_t dev;
+
+ if (!lc)
+ return 0;
+
+ DBG(lc, loopdev_debug("checking %s vs. %s",
+ loopcxt_get_device(lc),
+ backing_file));
+
+ if (st && loopcxt_get_backing_inode(lc, &ino) == 0 &&
+ loopcxt_get_backing_devno(lc, &dev) == 0) {
+
+ if (ino == st->st_ino && dev == st->st_dev)
+ goto found;
+
+ /* don't use filename if we have devno and inode */
+ return 0;
+ }
+
+ /* poor man's solution */
+ if (backing_file) {
+ char *name = loopcxt_get_backing_file(lc);
+ int rc = name && strcmp(name, backing_file) == 0;
+
+ free(name);
+ if (rc)
+ goto found;
+ }
+
+ return 0;
+found:
+ if (flags & LOOPDEV_FL_OFFSET) {
+ uint64_t off;
+
+ return loopcxt_get_offset(lc, &off) == 0 && off == offset;
+ }
+ return 1;
+}
+
+/*
+ * The setting is removed by loopcxt_set_device() loopcxt_next()!
+ */
+int loopcxt_set_offset(struct loopdev_cxt *lc, uint64_t offset)
+{
+ if (!lc)
+ return -EINVAL;
+ lc->info.lo_offset = offset;
+
+ DBG(lc, loopdev_debug("set offset=%jd", offset));
+ return 0;
+}
+
+/*
+ * The setting is removed by loopcxt_set_device() loopcxt_next()!
+ */
+int loopcxt_set_sizelimit(struct loopdev_cxt *lc, uint64_t sizelimit)
+{
+ if (!lc)
+ return -EINVAL;
+ lc->info.lo_sizelimit = sizelimit;
+
+ DBG(lc, loopdev_debug("set sizelimit=%jd", sizelimit));
+ return 0;
+}
+
+/*
+ * @lc: context
+ * @flags: kernel LO_FLAGS_{READ_ONLY,USE_AOPS,AUTOCLEAR} flags
+ *
+ * The setting is removed by loopcxt_set_device() loopcxt_next()!
+ *
+ * Returns: 0 on success, <0 on error.
+ */
+int loopcxt_set_flags(struct loopdev_cxt *lc, uint32_t flags)
+{
+ if (!lc)
+ return -EINVAL;
+ lc->info.lo_flags = flags;
+
+ DBG(lc, loopdev_debug("set flags=%u", (unsigned) flags));
+ return 0;
+}
+
+/*
+ * @lc: context
+ * @filename: backing file path (the path will be canonicalized)
+ *
+ * The setting is removed by loopcxt_set_device() loopcxt_next()!
+ *
+ * Returns: 0 on success, <0 on error.
+ */
+int loopcxt_set_backing_file(struct loopdev_cxt *lc, const char *filename)
+{
+ if (!lc)
+ return -EINVAL;
+
+ lc->filename = canonicalize_path(filename);
+ if (!lc->filename)
+ return -errno;
+
+ strncpy((char *)lc->info.lo_file_name, lc->filename, LO_NAME_SIZE);
+ lc->info.lo_file_name[LO_NAME_SIZE- 1] = '\0';
+
+ DBG(lc, loopdev_debug("set backing file=%s", lc->info.lo_file_name));
+ return 0;
+}
+
+static int digits_only(const char *s)
+{
+ while (*s)
+ if (!isdigit(*s++))
+ return 0;
+ return 1;
+}
+
+/*
+ * @lc: context
+ * @encryption: encryption name / type (see lopsetup man page)
+ * @password
+ *
+ * Note that the encryption functionality is deprecated an unmaintained. Use
+ * cryptsetup (it also supports AES-loops).
+ *
+ * The setting is removed by loopcxt_set_device() loopcxt_next()!
+ *
+ * Returns: 0 on success, <0 on error.
+ */
+int loopcxt_set_encryption(struct loopdev_cxt *lc,
+ const char *encryption,
+ const char *password)
+{
+ if (!lc)
+ return -EINVAL;
+
+ DBG(lc, loopdev_debug("setting encryption '%s'", encryption));
+
+ if (encryption && *encryption) {
+ if (digits_only(encryption)) {
+ lc->info.lo_encrypt_type = atoi(encryption);
+ } else {
+ lc->info.lo_encrypt_type = LO_CRYPT_CRYPTOAPI;
+ snprintf((char *)lc->info.lo_crypt_name, LO_NAME_SIZE,
+ "%s", encryption);
+ }
+ }
+
+ switch (lc->info.lo_encrypt_type) {
+ case LO_CRYPT_NONE:
+ lc->info.lo_encrypt_key_size = 0;
+ break;
+ default:
+ DBG(lc, loopdev_debug("setting encryption key"));
+ memset(lc->info.lo_encrypt_key, 0, LO_KEY_SIZE);
+ strncpy((char *)lc->info.lo_encrypt_key, password, LO_KEY_SIZE);
+ lc->info.lo_encrypt_key[LO_KEY_SIZE - 1] = '\0';
+ lc->info.lo_encrypt_key_size = LO_KEY_SIZE;
+ break;
+ }
+
+ DBG(lc, loopdev_debug("encryption successfully set"));
+ return 0;
+}
+
+/*
+ * @cl: context
+ *
+ * Associate the current device (see loopcxt_{set,get}_device()) with
+ * a file (see loopcxt_set_backing_file()).
+ *
+ * The device is initialized read-write by default. If you want read-only
+ * device then set LO_FLAGS_READ_ONLY by loopcxt_set_flags(). The LOOPDEV_FL_*
+ * flags are ignored and modified according to LO_FLAGS_*.
+ *
+ * If the device is already open by loopcxt_get_fd() then this setup device
+ * function will re-open the device to fix read/write mode.
+ *
+ * The device is also initialized read-only if the backing file is not
+ * possible to open read-write (e.g. read-only FS).
+ *
+ * Returns: <0 on error, 0 on success.
+ */
+int loopcxt_setup_device(struct loopdev_cxt *lc)
+{
+ int file_fd, dev_fd, mode = O_RDWR, rc = -1;
+
+ if (!lc || !*lc->device || !lc->filename)
+ return -EINVAL;
+
+ DBG(lc, loopdev_debug("device setup requested"));
+
+ /*
+ * Open backing file and device
+ */
+ if (lc->info.lo_flags & LO_FLAGS_READ_ONLY)
+ mode = O_RDONLY;
+
+ if ((file_fd = open(lc->filename, mode)) < 0) {
+ if (mode != O_RDONLY && (errno == EROFS || errno == EACCES))
+ file_fd = open(lc->filename, mode = O_RDONLY);
+
+ if (file_fd < 0) {
+ DBG(lc, loopdev_debug("open backing file failed: %m"));
+ return -errno;
+ }
+ }
+ DBG(lc, loopdev_debug("setup: backing file open: OK"));
+
+ if (lc->fd != -1 && lc->mode != mode) {
+ close(lc->fd);
+ lc->fd = -1;
+ lc->mode = 0;
+ }
+
+ if (mode == O_RDONLY) {
+ lc->flags |= LOOPDEV_FL_RDONLY; /* open() mode */
+ lc->info.lo_flags |= LO_FLAGS_READ_ONLY; /* kernel loopdev mode */
+ } else {
+ lc->flags |= LOOPDEV_FL_RDWR; /* open() mode */
+ lc->info.lo_flags &= ~LO_FLAGS_READ_ONLY;
+ lc->flags &= ~LOOPDEV_FL_RDONLY;
+ }
+
+ dev_fd = loopcxt_get_fd(lc);
+ if (dev_fd < 0) {
+ rc = -errno;
+ goto err;
+ }
+
+ DBG(lc, loopdev_debug("setup: device open: OK"));
+
+ /*
+ * Set FD
+ */
+ if (ioctl(dev_fd, LOOP_SET_FD, file_fd) < 0) {
+ rc = -errno;
+ DBG(lc, loopdev_debug("LOOP_SET_FD failed: %m"));
+ goto err;
+ }
+
+ DBG(lc, loopdev_debug("setup: LOOP_SET_FD: OK"));
+
+ close(file_fd);
+ file_fd = -1;
+
+ if (ioctl(dev_fd, LOOP_SET_STATUS64, &lc->info)) {
+ DBG(lc, loopdev_debug("LOOP_SET_STATUS64 failed: %m"));
+ goto err;
+ }
+
+ DBG(lc, loopdev_debug("setup: LOOP_SET_STATUS64: OK"));
+
+ memset(&lc->info, 0, sizeof(lc->info));
+ lc->has_info = 0;
+ lc->info_failed = 0;
+
+ DBG(lc, loopdev_debug("setup success [rc=0]"));
+ return 0;
+err:
+ if (file_fd >= 0)
+ close(file_fd);
+ if (dev_fd >= 0)
+ ioctl(dev_fd, LOOP_CLR_FD, 0);
+
+ DBG(lc, loopdev_debug("setup failed [rc=%d]", rc));
+ return rc;
+}
+
+int loopcxt_delete_device(struct loopdev_cxt *lc)
+{
+ int fd = loopcxt_get_fd(lc);
+
+ if (fd < 0)
+ return -EINVAL;
+
+ if (ioctl(fd, LOOP_CLR_FD, 0) < 0) {
+ DBG(lc, loopdev_debug("LOOP_CLR_FD failed: %m"));
+ return -errno;
+ }
+
+ DBG(lc, loopdev_debug("device removed"));
+ return 0;
+}
+
+/*
+ * Note that LOOP_CTL_GET_FREE ioctl is supported since kernel 3.1. In older
+ * kernels we have to check all loop devices to found unused one.
+ *
+ * See kernel commit 770fe30a46a12b6fb6b63fbe1737654d28e8484.
+ */
+int loopcxt_find_unused(struct loopdev_cxt *lc)
+{
+ int rc = -1;
+
+ DBG(lc, loopdev_debug("find_unused requested"));
+
+ if (lc->flags & LOOPDEV_FL_CONTROL) {
+ int ctl = open(_PATH_DEV_LOOPCTL, O_RDWR);
+
+ if (ctl >= 0)
+ rc = ioctl(ctl, LOOP_CTL_GET_FREE);
+ if (rc >= 0) {
+ char name[16];
+ snprintf(name, sizeof(name), "loop%d", rc);
+
+ rc = loopiter_set_device(lc, name);
+ }
+ if (ctl >= 0)
+ close(ctl);
+ DBG(lc, loopdev_debug("find_unused by loop-control [rc=%d]", rc));
+ }
+
+ if (rc < 0) {
+ rc = loopcxt_init_iterator(lc, LOOPITER_FL_FREE);
+ if (rc)
+ return rc;
+
+ rc = loopcxt_next(lc);
+ loopcxt_deinit_iterator(lc);
+ DBG(lc, loopdev_debug("find_unused by scan [rc=%d]", rc));
+ }
+ return rc;
+}
+
+
+
+/*
+ * Return: TRUE/FALSE
+ */
+int loopdev_is_autoclear(const char *device)
+{
+ struct loopdev_cxt lc;
+ int rc;
+
+ if (!device)
+ return 0;
+
+ rc = loopcxt_init(&lc, 0);
+ if (!rc)
+ rc = loopcxt_set_device(&lc, device);
+ if (!rc)
+ rc = loopcxt_is_autoclear(&lc);
+
+ loopcxt_deinit(&lc);
+ return rc;
+}
+
+char *loopdev_get_backing_file(const char *device)
+{
+ struct loopdev_cxt lc;
+ char *res = NULL;
+
+ if (!device)
+ return NULL;
+ if (loopcxt_init(&lc, 0))
+ return NULL;
+ if (loopcxt_set_device(&lc, device) == 0)
+ res = loopcxt_get_backing_file(&lc);
+
+ loopcxt_deinit(&lc);
+ return res;
+}
+
+/*
+ * Returns: TRUE/FALSE
+ */
+int loopdev_is_used(const char *device, const char *filename,
+ uint64_t offset, int flags)
+{
+ struct loopdev_cxt lc;
+ struct stat st;
+ int rc = 0;
+
+ if (!device || !filename)
+ return 0;
+
+ rc = loopcxt_init(&lc, 0);
+ if (!rc)
+ rc = loopcxt_set_device(&lc, device);
+ if (rc)
+ return rc;
+
+ rc = !stat(filename, &st);
+ rc = loopcxt_is_used(&lc, rc ? &st : NULL, filename, offset, flags);
+
+ loopcxt_deinit(&lc);
+ return rc;
+}
+
+int loopdev_delete(const char *device)
+{
+ struct loopdev_cxt lc;
+ int rc;
+
+ if (!device)
+ return -EINVAL;
+
+ rc = loopcxt_init(&lc, 0);
+ if (!rc)
+ rc = loopcxt_set_device(&lc, device);
+ if (!rc)
+ rc = loopcxt_delete_device(&lc);
+ loopcxt_deinit(&lc);
+ return rc;
+}
+
+/*
+ * Returns: 0 = success, < 0 error, 1 not found
+ */
+int loopcxt_find_by_backing_file(struct loopdev_cxt *lc, const char *filename,
+ uint64_t offset, int flags)
+{
+ int rc, hasst;
+ struct stat st;
+
+ if (!filename)
+ return -EINVAL;
+
+ hasst = !stat(filename, &st);
+
+ rc = loopcxt_init_iterator(lc, LOOPITER_FL_USED);
+ if (rc)
+ return rc;
+
+ while ((rc = loopcxt_next(lc)) == 0) {
+
+ if (loopcxt_is_used(lc, hasst ? &st : NULL,
+ filename, offset, flags))
+ break;
+ }
+
+ loopcxt_deinit_iterator(lc);
+ return rc;
+}
+
+/*
+ * Returns allocated string with device name
+ */
+char *loopdev_find_by_backing_file(const char *filename, uint64_t offset, int flags)
+{
+ struct loopdev_cxt lc;
+ char *res = NULL;
+
+ if (!filename)
+ return NULL;
+
+ if (loopcxt_init(&lc, 0))
+ return NULL;
+ if (loopcxt_find_by_backing_file(&lc, filename, offset, flags))
+ res = loopcxt_strdup_device(&lc);
+ loopcxt_deinit(&lc);
+
+ return res;
+}
+
+/*
+ * Returns number of loop devices associated with @file, if only one loop
+ * device is associeted with the given @filename and @loopdev is not NULL then
+ * @loopdev returns name of the device.
+ */
+int loopdev_count_by_backing_file(const char *filename, char **loopdev)
+{
+ struct loopdev_cxt lc;
+ int count = 0, rc;
+
+ if (!filename)
+ return -1;
+
+ rc = loopcxt_init(&lc, 0);
+ if (rc)
+ return rc;
+ if (loopcxt_init_iterator(&lc, LOOPITER_FL_USED))
+ return -1;
+
+ while(loopcxt_next(&lc) == 0) {
+ char *backing = loopcxt_get_backing_file(&lc);
+
+ if (!backing || strcmp(backing, filename)) {
+ free(backing);
+ continue;
+ }
+
+ free(backing);
+ if (loopdev && count == 0)
+ *loopdev = loopcxt_strdup_device(&lc);
+ count++;
+ }
+
+ loopcxt_deinit(&lc);
+
+ if (loopdev && count > 1) {
+ free(*loopdev);
+ *loopdev = NULL;
+ }
+ return count;
+}
+
+
+#ifdef TEST_PROGRAM_LOOPDEV
+#include <errno.h>
+#include <err.h>
+
+static void test_loop_info(const char *device, int flags, int debug)
+{
+ struct loopdev_cxt lc;
+ char *p;
+ uint64_t u64;
+
+ if (loopcxt_init(&lc, flags))
+ return;
+ loopcxt_enable_debug(&lc, debug);
+
+ if (loopcxt_set_device(&lc, device))
+ err(EXIT_FAILURE, "failed to set device");
+
+ p = loopcxt_get_backing_file(&lc);
+ printf("\tBACKING FILE: %s\n", p);
+ free(p);
+
+ if (loopcxt_get_offset(&lc, &u64) == 0)
+ printf("\tOFFSET: %jd\n", u64);
+
+ if (loopcxt_get_sizelimit(&lc, &u64) == 0)
+ printf("\tSIZE LIMIT: %jd\n", u64);
+
+ printf("\tAUTOCLEAR: %s\n", loopcxt_is_autoclear(&lc) ? "YES" : "NOT");
+
+ loopcxt_deinit(&lc);
+}
+
+static void test_loop_scan(int flags, int debug)
+{
+ struct loopdev_cxt lc;
+ int rc;
+
+ if (loopcxt_init(&lc, 0))
+ return;
+ loopcxt_enable_debug(&lc, debug);
+
+ if (loopcxt_init_iterator(&lc, flags))
+ err(EXIT_FAILURE, "iterator initlization failed");
+
+ while((rc = loopcxt_next(&lc)) == 0) {
+ const char *device = loopcxt_get_device(&lc);
+
+ if (flags & LOOPITER_FL_USED) {
+ char *backing = loopcxt_get_backing_file(&lc);
+ printf("\t%s: %s\n", device, backing);
+ free(backing);
+ } else
+ printf("\t%s\n", device);
+ }
+
+ if (rc < 0)
+ err(EXIT_FAILURE, "loopdevs scanning failed");
+
+ loopcxt_deinit(&lc);
+}
+
+static int test_loop_setup(const char *filename, const char *device, int debug)
+{
+ struct loopdev_cxt lc;
+ int rc;
+
+ rc = loopcxt_init(&lc, 0);
+ if (rc)
+ return rc;
+ loopcxt_enable_debug(&lc, debug);
+
+ if (device) {
+ rc = loopcxt_set_device(&lc, device);
+ if (rc)
+ err(EXIT_FAILURE, "failed to set device: %s", device);
+ }
+
+ do {
+ if (!device) {
+ rc = loopcxt_find_unused(&lc);
+ if (rc)
+ err(EXIT_FAILURE, "failed to find unused device");
+ printf("Trying to use '%s'\n", loopcxt_get_device(&lc));
+ }
+
+ if (loopcxt_set_backing_file(&lc, filename))
+ err(EXIT_FAILURE, "failed to set backing file");
+
+ rc = loopcxt_setup_device(&lc);
+ if (rc == 0)
+ break; /* success */
+
+ if (device || rc != -EBUSY)
+ err(EXIT_FAILURE, "failed to setup device for %s",
+ lc.filename);
+
+ printf("device stolen...trying again\n");
+ } while (1);
+
+ loopcxt_deinit(&lc);
+
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+ int dbg;
+
+ if (argc < 2)
+ goto usage;
+
+ dbg = getenv("LOOPDEV_DEBUG") == NULL ? 0 : 1;
+
+ if (argc == 3 && strcmp(argv[1], "--info") == 0) {
+ printf("---sysfs & ioctl:---\n");
+ test_loop_info(argv[2], 0, dbg);
+ printf("---sysfs only:---\n");
+ test_loop_info(argv[2], LOOPDEV_FL_NOIOCTL, dbg);
+ printf("---ioctl only:---\n");
+ test_loop_info(argv[2], LOOPDEV_FL_NOSYSFS, dbg);
+
+ } else if (argc == 2 && strcmp(argv[1], "--used") == 0) {
+ printf("---all used devices---\n");
+ test_loop_scan(LOOPITER_FL_USED, dbg);
+
+ } else if (argc == 2 && strcmp(argv[1], "--free") == 0) {
+ printf("---all free devices---\n");
+ test_loop_scan(LOOPITER_FL_FREE, dbg);
+
+ } else if (argc >= 3 && strcmp(argv[1], "--setup") == 0) {
+ test_loop_setup(argv[2], argv[3], dbg);
+
+ } else if (argc == 3 && strcmp(argv[1], "--delete") == 0) {
+ if (loopdev_delete(argv[2]))
+ errx(EXIT_FAILURE, "failed to deinitialize device %s", argv[2]);
+ } else
+ goto usage;
+
+ return EXIT_SUCCESS;
+
+usage:
+ errx(EXIT_FAILURE, "usage: \n"
+ " %1$s --info <device>\n"
+ " %1$s --free\n"
+ " %1$s --used\n"
+ " %1$s --setup <filename> [<device>]\n"
+ " %1$s --delete\n",
+ argv[0]);
+}
+
+#endif /* TEST_PROGRAM */
diff --git a/lib/mangle.c b/lib/mangle.c
new file mode 100644
index 0000000..5236e97
--- /dev/null
+++ b/lib/mangle.c
@@ -0,0 +1,166 @@
+/*
+ * Functions for \oct encoding used in mtab/fstab/swaps/etc.
+ *
+ * Based on code from mount(8).
+ *
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "mangle.h"
+#include "c.h"
+
+#define isoctal(a) (((a) & ~7) == '0')
+
+#define from_hex(c) (isdigit(c) ? c - '0' : tolower(c) - 'a' + 10)
+
+#define is_unwanted_char(x) (strchr(" \t\n\\", (unsigned int) x) != NULL)
+
+
+char *mangle(const char *s)
+{
+ char *ss, *sp;
+
+ if (!s)
+ return NULL;
+
+ ss = sp = malloc(4 * strlen(s) + 1);
+ if (!sp)
+ return NULL;
+ while(1) {
+ if (!*s) {
+ *sp = '\0';
+ break;
+ }
+ if (is_unwanted_char(*s)) {
+ *sp++ = '\\';
+ *sp++ = '0' + ((*s & 0300) >> 6);
+ *sp++ = '0' + ((*s & 070) >> 3);
+ *sp++ = '0' + (*s & 07);
+ } else
+ *sp++ = *s;
+ s++;
+ }
+ return ss;
+}
+
+
+void unmangle_to_buffer(const char *s, char *buf, size_t len)
+{
+ size_t sz = 0;
+
+ if (!s)
+ return;
+
+ while(*s && sz < len - 1) {
+ if (*s == '\\' && sz + 3 < len - 1 && isoctal(s[1]) &&
+ isoctal(s[2]) && isoctal(s[3])) {
+
+ *buf++ = 64*(s[1] & 7) + 8*(s[2] & 7) + (s[3] & 7);
+ s += 4;
+ sz += 4;
+ } else {
+ *buf++ = *s++;
+ sz++;
+ }
+ }
+ *buf = '\0';
+}
+
+void unhexmangle_to_buffer(const char *s, char *buf, size_t len)
+{
+ size_t sz = 0;
+
+ if (!s)
+ return;
+
+ while(*s && sz < len - 1) {
+ if (*s == '\\' && sz + 3 < len - 1 && s[1] == 'x' &&
+ isxdigit(s[2]) && isxdigit(s[3])) {
+
+ *buf++ = from_hex(s[2]) << 4 | from_hex(s[3]);
+ s += 4;
+ sz += 4;
+ } else {
+ *buf++ = *s++;
+ sz++;
+ }
+ }
+ *buf = '\0';
+}
+
+static inline char *skip_nonspaces(const char *s)
+{
+ while (*s && !(*s == ' ' || *s == '\t'))
+ s++;
+ return (char *) s;
+}
+
+/*
+ * Returns mallocated buffer or NULL in case of error.
+ */
+char *unmangle(const char *s, char **end)
+{
+ char *buf;
+ char *e;
+ size_t sz;
+
+ if (!s)
+ return NULL;
+
+ e = skip_nonspaces(s);
+ sz = e - s + 1;
+
+ if (end)
+ *end = e;
+ if (e == s)
+ return NULL; /* empty string */
+
+ buf = malloc(sz);
+ if (!buf)
+ return NULL;
+
+ unmangle_to_buffer(s, buf, sz);
+ return buf;
+}
+
+#ifdef TEST_PROGRAM
+#include <errno.h>
+int main(int argc, char *argv[])
+{
+ char *p = NULL;
+ if (argc < 3) {
+ fprintf(stderr, "usage: %s --mangle|unmangle <string>\n",
+ program_invocation_short_name);
+ return EXIT_FAILURE;
+ }
+
+ if (!strcmp(argv[1], "--mangle")) {
+ p = mangle(argv[2]);
+ printf("mangled: '%s'\n", p);
+ free(p);
+ }
+
+ else if (!strcmp(argv[1], "--unmangle")) {
+ char *x = unmangle(argv[2], NULL);
+
+ if (x) {
+ printf("unmangled: '%s'\n", x);
+ free(x);
+ }
+
+ x = strdup(argv[2]);
+ unmangle_to_buffer(x, x, strlen(x) + 1);
+
+ if (x) {
+ printf("self-unmangled: '%s'\n", x);
+ free(x);
+ }
+ }
+
+ return EXIT_SUCCESS;
+}
+#endif /* TEST_PROGRAM */
diff --git a/lib/match.c b/lib/match.c
new file mode 100644
index 0000000..9be82b0
--- /dev/null
+++ b/lib/match.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <string.h>
+
+#include "match.h"
+
+/*
+ * match_fstype:
+ * @type: filesystem type
+ * @pattern: filesystem name or comma delimited list of names
+ *
+ * The @pattern list of filesystem can be prefixed with a global
+ * "no" prefix to invert matching of the whole list. The "no" could
+ * also be used for individual items in the @pattern list. So,
+ * "nofoo,bar" has the same meaning as "nofoo,nobar".
+ */
+int match_fstype(const char *type, const char *pattern)
+{
+ int no = 0; /* negated types list */
+ int len;
+ const char *p;
+
+ if (!pattern && !type)
+ return 1;
+ if (!pattern)
+ return 0;
+
+ if (!strncmp(pattern, "no", 2)) {
+ no = 1;
+ pattern += 2;
+ }
+
+ /* Does type occur in types, separated by commas? */
+ len = strlen(type);
+ p = pattern;
+ while(1) {
+ if (!strncmp(p, "no", 2) && !strncmp(p+2, type, len) &&
+ (p[len+2] == 0 || p[len+2] == ','))
+ return 0;
+ if (strncmp(p, type, len) == 0 && (p[len] == 0 || p[len] == ','))
+ return !no;
+ p = strchr(p,',');
+ if (!p)
+ break;
+ p++;
+ }
+ return no;
+}
diff --git a/lib/mbsalign.c b/lib/mbsalign.c
new file mode 100644
index 0000000..d97bbd5
--- /dev/null
+++ b/lib/mbsalign.c
@@ -0,0 +1,290 @@
+/* Align/Truncate a string in a given screen width
+ Copyright (C) 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Pádraig Brady. */
+
+#include <config.h>
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include <limits.h>
+
+#include "c.h"
+#include "mbsalign.h"
+#include "widechar.h"
+
+
+#ifdef HAVE_WIDECHAR
+/* Replace non printable chars.
+ Note \t and \n etc. are non printable.
+ Return 1 if replacement made, 0 otherwise. */
+
+static bool
+wc_ensure_printable (wchar_t *wchars)
+{
+ bool replaced = false;
+ wchar_t *wc = wchars;
+ while (*wc)
+ {
+ if (!iswprint ((wint_t) *wc))
+ {
+ *wc = 0xFFFD; /* L'\uFFFD' (replacement char) */
+ replaced = true;
+ }
+ wc++;
+ }
+ return replaced;
+}
+
+/* Truncate wchar string to width cells.
+ * Returns number of cells used. */
+
+static size_t
+wc_truncate (wchar_t *wc, size_t width)
+{
+ size_t cells = 0;
+ int next_cells = 0;
+
+ while (*wc)
+ {
+ next_cells = wcwidth (*wc);
+ if (next_cells == -1) /* non printable */
+ {
+ *wc = 0xFFFD; /* L'\uFFFD' (replacement char) */
+ next_cells = 1;
+ }
+ if (cells + next_cells > width)
+ break;
+ cells += next_cells;
+ wc++;
+ }
+ *wc = L'\0';
+ return cells;
+}
+
+/* FIXME: move this function to gnulib as it's missing on:
+ OpenBSD 3.8, IRIX 5.3, Solaris 2.5.1, mingw, BeOS */
+
+static int
+rpl_wcswidth (const wchar_t *s, size_t n)
+{
+ int ret = 0;
+
+ while (n-- > 0 && *s != L'\0')
+ {
+ int nwidth = wcwidth (*s++);
+ if (nwidth == -1) /* non printable */
+ return -1;
+ if (ret > (INT_MAX - nwidth)) /* overflow */
+ return -1;
+ ret += nwidth;
+ }
+
+ return ret;
+}
+#endif
+
+/* Truncate multi-byte string to @width and returns number of
+ * bytes of the new string @str, and in @width returns number
+ * of cells.
+ */
+size_t
+mbs_truncate(char *str, size_t *width)
+{
+ ssize_t bytes = strlen(str);
+#ifdef HAVE_WIDECHAR
+ ssize_t sz = mbstowcs(NULL, str, 0);
+ wchar_t *wcs = NULL;
+
+ if (sz == (ssize_t) -1)
+ goto done;
+
+ wcs = malloc((sz + 1) * sizeof(wchar_t));
+ if (!wcs)
+ goto done;
+
+ if (!mbstowcs(wcs, str, sz))
+ goto done;
+ *width = wc_truncate(wcs, *width);
+ bytes = wcstombs(str, wcs, bytes);
+done:
+ free(wcs);
+#else
+ if (*width < bytes)
+ bytes = *width;
+#endif
+ if (bytes >= 0)
+ str[bytes] = '\0';
+ return bytes;
+}
+
+/* Write N_SPACES space characters to DEST while ensuring
+ nothing is written beyond DEST_END. A terminating NUL
+ is always added to DEST.
+ A pointer to the terminating NUL is returned. */
+
+static char*
+mbs_align_pad (char *dest, const char* dest_end, size_t n_spaces)
+{
+ /* FIXME: Should we pad with "figure space" (\u2007)
+ if non ascii data present? */
+ while (n_spaces-- && (dest < dest_end))
+ *dest++ = ' ';
+ *dest = '\0';
+ return dest;
+}
+
+/* Align a string, SRC, in a field of *WIDTH columns, handling multi-byte
+ characters; write the result into the DEST_SIZE-byte buffer, DEST.
+ ALIGNMENT specifies whether to left- or right-justify or to center.
+ If SRC requires more than *WIDTH columns, truncate it to fit.
+ When centering, the number of trailing spaces may be one less than the
+ number of leading spaces. The FLAGS parameter is unused at present.
+ Return the length in bytes required for the final result, not counting
+ the trailing NUL. A return value of DEST_SIZE or larger means there
+ wasn't enough space. DEST will be NUL terminated in any case.
+ Return (size_t) -1 upon error (invalid multi-byte sequence in SRC,
+ or malloc failure), unless MBA_UNIBYTE_FALLBACK is specified.
+ Update *WIDTH to indicate how many columns were used before padding. */
+
+size_t
+mbsalign (const char *src, char *dest, size_t dest_size,
+ size_t *width, mbs_align_t align, int flags)
+{
+ size_t ret = -1;
+ size_t src_size = strlen (src) + 1;
+ char *newstr = NULL;
+ wchar_t *str_wc = NULL;
+ const char *str_to_print = src;
+ size_t n_cols = src_size - 1;
+ size_t n_used_bytes = n_cols; /* Not including NUL */
+ size_t n_spaces = 0;
+ bool conversion = false;
+ bool wc_enabled = false;
+
+#ifdef HAVE_WIDECHAR
+ /* In multi-byte locales convert to wide characters
+ to allow easy truncation. Also determine number
+ of screen columns used. */
+ if (MB_CUR_MAX > 1)
+ {
+ size_t src_chars = mbstowcs (NULL, src, 0);
+ if (src_chars == (size_t) -1)
+ {
+ if (flags & MBA_UNIBYTE_FALLBACK)
+ goto mbsalign_unibyte;
+ else
+ goto mbsalign_cleanup;
+ }
+ src_chars += 1; /* make space for NUL */
+ str_wc = malloc (src_chars * sizeof (wchar_t));
+ if (str_wc == NULL)
+ {
+ if (flags & MBA_UNIBYTE_FALLBACK)
+ goto mbsalign_unibyte;
+ else
+ goto mbsalign_cleanup;
+ }
+ if (mbstowcs (str_wc, src, src_chars) != 0)
+ {
+ str_wc[src_chars - 1] = L'\0';
+ wc_enabled = true;
+ conversion = wc_ensure_printable (str_wc);
+ n_cols = rpl_wcswidth (str_wc, src_chars);
+ }
+ }
+
+ /* If we transformed or need to truncate the source string
+ then create a modified copy of it. */
+ if (wc_enabled && (conversion || (n_cols > *width)))
+ {
+ if (conversion)
+ {
+ /* May have increased the size by converting
+ \t to \uFFFD for example. */
+ src_size = wcstombs(NULL, str_wc, 0) + 1;
+ }
+ newstr = malloc (src_size);
+ if (newstr == NULL)
+ {
+ if (flags & MBA_UNIBYTE_FALLBACK)
+ goto mbsalign_unibyte;
+ else
+ goto mbsalign_cleanup;
+ }
+ str_to_print = newstr;
+ n_cols = wc_truncate (str_wc, *width);
+ n_used_bytes = wcstombs (newstr, str_wc, src_size);
+ }
+#endif
+
+mbsalign_unibyte:
+
+ if (n_cols > *width) /* Unibyte truncation required. */
+ {
+ n_cols = *width;
+ n_used_bytes = n_cols;
+ }
+
+ if (*width > n_cols) /* Padding required. */
+ n_spaces = *width - n_cols;
+
+ /* indicate to caller how many cells needed (not including padding). */
+ *width = n_cols;
+
+ /* indicate to caller how many bytes needed (not including NUL). */
+ ret = n_used_bytes + (n_spaces * 1);
+
+ /* Write as much NUL terminated output to DEST as possible. */
+ if (dest_size != 0)
+ {
+ char *dest_end = dest + dest_size - 1;
+ size_t start_spaces = n_spaces / 2 + n_spaces % 2;
+ size_t end_spaces = n_spaces / 2;
+
+ switch (align)
+ {
+ case MBS_ALIGN_CENTER:
+ start_spaces = n_spaces / 2 + n_spaces % 2;
+ end_spaces = n_spaces / 2;
+ break;
+ case MBS_ALIGN_LEFT:
+ start_spaces = 0;
+ end_spaces = n_spaces;
+ break;
+ case MBS_ALIGN_RIGHT:
+ start_spaces = n_spaces;
+ end_spaces = 0;
+ break;
+ default:
+ abort();
+ }
+
+ dest = mbs_align_pad (dest, dest_end, start_spaces);
+ size_t space_left = dest_end - dest;
+ dest = mempcpy (dest, str_to_print, min (n_used_bytes, space_left));
+ mbs_align_pad (dest, dest_end, end_spaces);
+ }
+
+mbsalign_cleanup:
+
+ free (str_wc);
+ free (newstr);
+
+ return ret;
+}
diff --git a/lib/md5.c b/lib/md5.c
new file mode 100644
index 0000000..26ec4bb
--- /dev/null
+++ b/lib/md5.c
@@ -0,0 +1,254 @@
+/*
+ * This code implements the MD5 message-digest algorithm.
+ * The algorithm is due to Ron Rivest. This code was
+ * written by Colin Plumb in 1993, no copyright is claimed.
+ * This code is in the public domain; do with it what you wish.
+ *
+ * Equivalent code is available from RSA Data Security, Inc.
+ * This code has been tested against that, and is equivalent,
+ * except that you don't need to include two pages of legalese
+ * with every copy.
+ *
+ * To compute the message digest of a chunk of bytes, declare an
+ * MD5Context structure, pass it to MD5Init, call MD5Update as
+ * needed on buffers full of bytes, and then call MD5Final, which
+ * will fill a supplied 16-byte array with the digest.
+ */
+#include <string.h> /* for memcpy() */
+
+#include "md5.h"
+
+#if !defined(WORDS_BIGENDIAN)
+#define byteReverse(buf, len) /* Nothing */
+#else
+void byteReverse(unsigned char *buf, unsigned longs);
+
+#ifndef ASM_MD5
+/*
+ * Note: this code is harmless on little-endian machines.
+ */
+void byteReverse(unsigned char *buf, unsigned longs)
+{
+ uint32_t t;
+ do {
+ t = (uint32_t) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
+ ((unsigned) buf[1] << 8 | buf[0]);
+ *(uint32_t *) buf = t;
+ buf += 4;
+ } while (--longs);
+}
+#endif
+#endif
+
+/*
+ * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
+ * initialization constants.
+ */
+void MD5Init(struct MD5Context *ctx)
+{
+ ctx->buf[0] = 0x67452301;
+ ctx->buf[1] = 0xefcdab89;
+ ctx->buf[2] = 0x98badcfe;
+ ctx->buf[3] = 0x10325476;
+
+ ctx->bits[0] = 0;
+ ctx->bits[1] = 0;
+}
+
+/*
+ * Update context to reflect the concatenation of another buffer full
+ * of bytes.
+ */
+void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
+{
+ uint32_t t;
+
+ /* Update bitcount */
+
+ t = ctx->bits[0];
+ if ((ctx->bits[0] = t + ((uint32_t) len << 3)) < t)
+ ctx->bits[1]++; /* Carry from low to high */
+ ctx->bits[1] += len >> 29;
+
+ t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
+
+ /* Handle any leading odd-sized chunks */
+
+ if (t) {
+ unsigned char *p = (unsigned char *) ctx->in + t;
+
+ t = 64 - t;
+ if (len < t) {
+ memcpy(p, buf, len);
+ return;
+ }
+ memcpy(p, buf, t);
+ byteReverse(ctx->in, 16);
+ MD5Transform(ctx->buf, (uint32_t *) ctx->in);
+ buf += t;
+ len -= t;
+ }
+ /* Process data in 64-byte chunks */
+
+ while (len >= 64) {
+ memcpy(ctx->in, buf, 64);
+ byteReverse(ctx->in, 16);
+ MD5Transform(ctx->buf, (uint32_t *) ctx->in);
+ buf += 64;
+ len -= 64;
+ }
+
+ /* Handle any remaining bytes of data. */
+
+ memcpy(ctx->in, buf, len);
+}
+
+/*
+ * Final wrapup - pad to 64-byte boundary with the bit pattern
+ * 1 0* (64-bit count of bits processed, MSB-first)
+ */
+void MD5Final(unsigned char digest[MD5LENGTH], struct MD5Context *ctx)
+{
+ unsigned count;
+ unsigned char *p;
+
+ /* Compute number of bytes mod 64 */
+ count = (ctx->bits[0] >> 3) & 0x3F;
+
+ /* Set the first char of padding to 0x80. This is safe since there is
+ always at least one byte free */
+ p = ctx->in + count;
+ *p++ = 0x80;
+
+ /* Bytes of padding needed to make 64 bytes */
+ count = 64 - 1 - count;
+
+ /* Pad out to 56 mod 64 */
+ if (count < 8) {
+ /* Two lots of padding: Pad the first block to 64 bytes */
+ memset(p, 0, count);
+ byteReverse(ctx->in, 16);
+ MD5Transform(ctx->buf, (uint32_t *) ctx->in);
+
+ /* Now fill the next block with 56 bytes */
+ memset(ctx->in, 0, 56);
+ } else {
+ /* Pad block to 56 bytes */
+ memset(p, 0, count - 8);
+ }
+ byteReverse(ctx->in, 14);
+
+ /* Append length in bits and transform */
+ ((uint32_t *) ctx->in)[14] = ctx->bits[0];
+ ((uint32_t *) ctx->in)[15] = ctx->bits[1];
+
+ MD5Transform(ctx->buf, (uint32_t *) ctx->in);
+ byteReverse((unsigned char *) ctx->buf, 4);
+ memcpy(digest, ctx->buf, MD5LENGTH);
+ memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
+}
+
+#ifndef ASM_MD5
+
+/* The four core functions - F1 is optimized somewhat */
+
+/* #define F1(x, y, z) (x & y | ~x & z) */
+#define F1(x, y, z) (z ^ (x & (y ^ z)))
+#define F2(x, y, z) F1(z, x, y)
+#define F3(x, y, z) (x ^ y ^ z)
+#define F4(x, y, z) (y ^ (x | ~z))
+
+/* This is the central step in the MD5 algorithm. */
+#define MD5STEP(f, w, x, y, z, data, s) \
+ ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )
+
+/*
+ * The core of the MD5 algorithm, this alters an existing MD5 hash to
+ * reflect the addition of 16 longwords of new data. MD5Update blocks
+ * the data and converts bytes into longwords for this routine.
+ */
+void MD5Transform(uint32_t buf[4], uint32_t const in[16])
+{
+ register uint32_t a, b, c, d;
+
+ a = buf[0];
+ b = buf[1];
+ c = buf[2];
+ d = buf[3];
+
+ MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
+ MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
+ MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
+ MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
+ MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
+ MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
+ MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
+ MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
+ MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
+ MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
+ MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
+ MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
+ MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
+ MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
+ MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
+ MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
+
+ MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
+ MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
+ MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
+ MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
+ MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
+ MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
+ MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
+ MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
+ MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
+ MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
+ MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
+ MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
+ MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
+ MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
+ MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
+ MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
+
+ MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
+ MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
+ MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
+ MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
+ MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
+ MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
+ MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
+ MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
+ MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
+ MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
+ MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
+ MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
+ MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
+ MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
+ MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
+ MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
+
+ MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
+ MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
+ MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
+ MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
+ MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
+ MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
+ MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
+ MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
+ MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
+ MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
+ MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
+ MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
+ MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
+ MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
+ MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
+ MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
+
+ buf[0] += a;
+ buf[1] += b;
+ buf[2] += c;
+ buf[3] += d;
+}
+
+#endif
+
diff --git a/lib/pager.c b/lib/pager.c
new file mode 100644
index 0000000..1fce5bf
--- /dev/null
+++ b/lib/pager.c
@@ -0,0 +1,215 @@
+/*
+ * Based on linux-perf/git scm
+ *
+ * Some modifications and simplifications for util-linux
+ * by Davidlohr Bueso <dave@xxxxxxx> - March 2012.
+ */
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <err.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+
+#include "c.h"
+#include "xalloc.h"
+#include "nls.h"
+
+void setup_pager(void);
+
+static const char *pager_argv[] = { "sh", "-c", NULL, NULL };
+
+struct child_process {
+ const char **argv;
+ pid_t pid;
+ int in;
+ int out;
+ int err;
+ unsigned no_stdin:1;
+ void (*preexec_cb)(void);
+};
+static struct child_process pager_process;
+
+static inline void close_pair(int fd[2])
+{
+ close(fd[0]);
+ close(fd[1]);
+}
+
+static inline void dup_devnull(int to)
+{
+ int fd = open("/dev/null", O_RDWR);
+ dup2(fd, to);
+ close(fd);
+}
+
+static int start_command(struct child_process *cmd)
+{
+ int need_in;
+ int fdin[2];
+
+ /*
+ * In case of errors we must keep the promise to close FDs
+ * that have been passed in via ->in and ->out.
+ */
+ need_in = !cmd->no_stdin && cmd->in < 0;
+ if (need_in) {
+ if (pipe(fdin) < 0) {
+ if (cmd->out > 0)
+ close(cmd->out);
+ return -1;
+ }
+ cmd->in = fdin[1];
+ }
+
+ fflush(NULL);
+ cmd->pid = fork();
+ if (!cmd->pid) {
+ if (need_in) {
+ dup2(fdin[0], 0);
+ close_pair(fdin);
+ } else if (cmd->in) {
+ dup2(cmd->in, 0);
+ close(cmd->in);
+ }
+
+ cmd->preexec_cb();
+ execvp(cmd->argv[0], (char *const*) cmd->argv);
+ exit(127); /* cmd not found */
+ }
+
+ if (cmd->pid < 0) {
+ if (need_in)
+ close_pair(fdin);
+ else if (cmd->in)
+ close(cmd->in);
+ return -1;
+ }
+
+ if (need_in)
+ close(fdin[0]);
+ else if (cmd->in)
+ close(cmd->in);
+ return 0;
+}
+
+static int wait_or_whine(pid_t pid)
+{
+ for (;;) {
+ int status, code;
+ pid_t waiting = waitpid(pid, &status, 0);
+
+ if (waiting < 0) {
+ if (errno == EINTR)
+ continue;
+ err(EXIT_FAILURE, _("waitpid failed (%s)"), strerror(errno));
+ }
+ if (waiting != pid)
+ return -1;
+ if (WIFSIGNALED(status))
+ return -1;
+
+ if (!WIFEXITED(status))
+ return -1;
+ code = WEXITSTATUS(status);
+ switch (code) {
+ case 127:
+ return -1;
+ case 0:
+ return 0;
+ default:
+ return -1;
+ }
+ }
+}
+
+static int finish_command(struct child_process *cmd)
+{
+ return wait_or_whine(cmd->pid);
+}
+
+static void pager_preexec(void)
+{
+ /*
+ * Work around bug in "less" by not starting it until we
+ * have real input
+ */
+ fd_set in;
+
+ FD_ZERO(&in);
+ FD_SET(0, &in);
+ select(1, &in, NULL, &in, NULL);
+
+ setenv("LESS", "FRSX", 0);
+}
+
+static void wait_for_pager(void)
+{
+ fflush(stdout);
+ fflush(stderr);
+ /* signal EOF to pager */
+ close(1);
+ close(2);
+ finish_command(&pager_process);
+}
+
+static void wait_for_pager_signal(int signo)
+{
+ wait_for_pager();
+ raise(signo);
+}
+
+void setup_pager(void)
+{
+ const char *pager = getenv("PAGER");
+
+ if (!isatty(1))
+ return;
+
+ if (!pager)
+ pager = "less";
+ else if (!*pager || !strcmp(pager, "cat"))
+ return;
+
+ /* spawn the pager */
+ pager_argv[2] = pager;
+ pager_process.argv = pager_argv;
+ pager_process.in = -1;
+ pager_process.preexec_cb = pager_preexec;
+
+ if (start_command(&pager_process))
+ return;
+
+ /* original process continues, but writes to the pipe */
+ dup2(pager_process.in, 1);
+ if (isatty(2))
+ dup2(pager_process.in, 2);
+ close(pager_process.in);
+
+ /* this makes sure that the parent terminates after the pager */
+ signal(SIGINT, wait_for_pager_signal);
+ signal(SIGHUP, wait_for_pager_signal);
+ signal(SIGTERM, wait_for_pager_signal);
+ signal(SIGQUIT, wait_for_pager_signal);
+ signal(SIGPIPE, wait_for_pager_signal);
+
+ atexit(wait_for_pager);
+}
+
+#ifdef TEST_PROGRAM
+
+#define MAX 255
+
+int main(int argc __attribute__ ((__unused__)),
+ char *argv[] __attribute__ ((__unused__)))
+{
+ int i;
+
+ setup_pager();
+ for (i = 0; i < MAX; i++)
+ printf("%d\n", i);
+ return EXIT_SUCCESS;
+}
+#endif /* TEST_PROGRAM */
diff --git a/lib/path.c b/lib/path.c
new file mode 100644
index 0000000..8437c02
--- /dev/null
+++ b/lib/path.c
@@ -0,0 +1,218 @@
+/*
+ * Simple functions to access files.
+ *
+ * Taken from lscpu.c
+ *
+ * Copyright (C) 2008 Cai Qian <qcai@redhat.com>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <stdarg.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <errno.h>
+
+#include "all-io.h"
+#include "cpuset.h"
+#include "path.h"
+#include "nls.h"
+#include "c.h"
+
+static size_t prefixlen;
+static char pathbuf[PATH_MAX];
+
+static const char *
+path_vcreate(const char *path, va_list ap)
+{
+ if (prefixlen)
+ vsnprintf(pathbuf + prefixlen,
+ sizeof(pathbuf) - prefixlen, path, ap);
+ else
+ vsnprintf(pathbuf, sizeof(pathbuf), path, ap);
+ return pathbuf;
+}
+
+static FILE *
+path_vfopen(const char *mode, int exit_on_error, const char *path, va_list ap)
+{
+ FILE *f;
+ const char *p = path_vcreate(path, ap);
+
+ f = fopen(p, mode);
+ if (!f && exit_on_error)
+ err(EXIT_FAILURE, _("cannot open %s"), p);
+ return f;
+}
+
+static int
+path_vopen(int flags, const char *path, va_list ap)
+{
+ int fd;
+ const char *p = path_vcreate(path, ap);
+
+ fd = open(p, flags);
+ if (fd == -1)
+ err(EXIT_FAILURE, _("cannot open %s"), p);
+ return fd;
+}
+
+FILE *
+path_fopen(const char *mode, int exit_on_error, const char *path, ...)
+{
+ FILE *fd;
+ va_list ap;
+
+ va_start(ap, path);
+ fd = path_vfopen(mode, exit_on_error, path, ap);
+ va_end(ap);
+
+ return fd;
+}
+
+void
+path_getstr(char *result, size_t len, const char *path, ...)
+{
+ FILE *fd;
+ va_list ap;
+
+ va_start(ap, path);
+ fd = path_vfopen("r", 1, path, ap);
+ va_end(ap);
+
+ if (!fgets(result, len, fd))
+ err(EXIT_FAILURE, _("failed to read: %s"), pathbuf);
+ fclose(fd);
+
+ len = strlen(result);
+ if (result[len - 1] == '\n')
+ result[len - 1] = '\0';
+}
+
+int
+path_getnum(const char *path, ...)
+{
+ FILE *fd;
+ va_list ap;
+ int result;
+
+ va_start(ap, path);
+ fd = path_vfopen("r", 1, path, ap);
+ va_end(ap);
+
+ if (fscanf(fd, "%d", &result) != 1) {
+ if (ferror(fd))
+ err(EXIT_FAILURE, _("failed to read: %s"), pathbuf);
+ else
+ errx(EXIT_FAILURE, _("parse error: %s"), pathbuf);
+ }
+ fclose(fd);
+ return result;
+}
+
+int
+path_writestr(const char *str, const char *path, ...)
+{
+ int fd, result;
+ va_list ap;
+
+ va_start(ap, path);
+ fd = path_vopen(O_WRONLY, path, ap);
+ va_end(ap);
+ result = write_all(fd, str, strlen(str));
+ close(fd);
+ return result;
+}
+
+int
+path_exist(const char *path, ...)
+{
+ va_list ap;
+ const char *p;
+
+ va_start(ap, path);
+ p = path_vcreate(path, ap);
+ va_end(ap);
+
+ return access(p, F_OK) == 0;
+}
+
+static cpu_set_t *
+path_cpuparse(int maxcpus, int islist, const char *path, va_list ap)
+{
+ FILE *fd;
+ cpu_set_t *set;
+ size_t setsize, len = maxcpus * 7;
+ char buf[len];
+
+ fd = path_vfopen("r", 1, path, ap);
+
+ if (!fgets(buf, len, fd))
+ err(EXIT_FAILURE, _("failed to read: %s"), pathbuf);
+ fclose(fd);
+
+ len = strlen(buf);
+ if (buf[len - 1] == '\n')
+ buf[len - 1] = '\0';
+
+ set = cpuset_alloc(maxcpus, &setsize, NULL);
+ if (!set)
+ err(EXIT_FAILURE, _("failed to callocate cpu set"));
+
+ if (islist) {
+ if (cpulist_parse(buf, set, setsize, 0))
+ errx(EXIT_FAILURE, _("failed to parse CPU list %s"), buf);
+ } else {
+ if (cpumask_parse(buf, set, setsize))
+ errx(EXIT_FAILURE, _("failed to parse CPU mask %s"), buf);
+ }
+ return set;
+}
+
+cpu_set_t *
+path_cpuset(int maxcpus, const char *path, ...)
+{
+ va_list ap;
+ cpu_set_t *set;
+
+ va_start(ap, path);
+ set = path_cpuparse(maxcpus, 0, path, ap);
+ va_end(ap);
+
+ return set;
+}
+
+cpu_set_t *
+path_cpulist(int maxcpus, const char *path, ...)
+{
+ va_list ap;
+ cpu_set_t *set;
+
+ va_start(ap, path);
+ set = path_cpuparse(maxcpus, 1, path, ap);
+ va_end(ap);
+
+ return set;
+}
+
+void
+path_setprefix(const char *prefix)
+{
+ prefixlen = strlen(prefix);
+ strncpy(pathbuf, prefix, sizeof(pathbuf));
+ pathbuf[sizeof(pathbuf) - 1] = '\0';
+}
diff --git a/lib/procutils.c b/lib/procutils.c
new file mode 100644
index 0000000..52e9ee3
--- /dev/null
+++ b/lib/procutils.c
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2011 Davidlohr Bueso <dave@gnu.org>
+ *
+ * procutils.c: General purpose procfs parsing utilities
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library Public License for more details.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <dirent.h>
+#include <ctype.h>
+
+#include "procutils.h"
+#include "c.h"
+
+/*
+ * @pid: process ID for which we want to obtain the threads group
+ *
+ * Returns: newly allocated tasks structure
+ */
+struct proc_tasks *proc_open_tasks(pid_t pid)
+{
+ struct proc_tasks *tasks;
+ char path[PATH_MAX];
+
+ sprintf(path, "/proc/%d/task/", pid);
+
+ tasks = malloc(sizeof(struct proc_tasks));
+ if (tasks) {
+ tasks->dir = opendir(path);
+ if (tasks->dir)
+ return tasks;
+ }
+
+ free(tasks);
+ return NULL;
+}
+
+/*
+ * @tasks: allocated tasks structure
+ *
+ * Returns: nothing
+ */
+void proc_close_tasks(struct proc_tasks *tasks)
+{
+ if (tasks && tasks->dir)
+ closedir(tasks->dir);
+ free(tasks);
+}
+
+/*
+ * @tasks: allocated task structure
+ * @tid: [output] one of the thread IDs belonging to the thread group
+ * If when an error occurs, it is set to 0.
+ *
+ * Returns: 0 on success, 1 on end, -1 on failure or no more threads
+ */
+int proc_next_tid(struct proc_tasks *tasks, pid_t *tid)
+{
+ struct dirent *d;
+ char *end;
+
+ if (!tasks || !tid)
+ return -1;
+
+ *tid = 0;
+ errno = 0;
+
+ do {
+ d = readdir(tasks->dir);
+ if (!d)
+ return errno ? -1 : 1; /* error or end-of-dir */
+
+ if (!isdigit((unsigned char) *d->d_name))
+ continue;
+
+ *tid = (pid_t) strtol(d->d_name, &end, 10);
+ if (errno || d->d_name == end || (end && *end))
+ return -1;
+
+ } while (!*tid);
+
+ return 0;
+}
+
+#ifdef TEST_PROGRAM
+
+int main(int argc, char *argv[])
+{
+ pid_t tid, pid;
+ struct proc_tasks *ts;
+
+ if (argc != 2) {
+ fprintf(stderr, "usage: %s <pid>\n", argv[0]);
+ return EXIT_FAILURE;
+ }
+
+ pid = strtol(argv[1], (char **) NULL, 10);
+ printf("PID=%d, TIDs:", pid);
+
+ ts = proc_open_tasks(pid);
+ if (!ts)
+ err(EXIT_FAILURE, "open list of tasks failed");
+
+ while (proc_next_tid(ts, &tid) == 0)
+ printf(" %d", tid);
+
+ printf("\n");
+ proc_close_tasks(ts);
+ return EXIT_SUCCESS;
+}
+#endif /* TEST_PROGRAM */
diff --git a/lib/randutils.c b/lib/randutils.c
new file mode 100644
index 0000000..85cb1a9
--- /dev/null
+++ b/lib/randutils.c
@@ -0,0 +1,121 @@
+/*
+ * General purpose random utilities
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+
+#include <sys/syscall.h>
+
+#include "randutils.h"
+
+#ifdef HAVE_TLS
+#define THREAD_LOCAL static __thread
+#else
+#define THREAD_LOCAL static
+#endif
+
+#if defined(__linux__) && defined(__NR_gettid) && defined(HAVE_JRAND48)
+#define DO_JRAND_MIX
+THREAD_LOCAL unsigned short ul_jrand_seed[3];
+#endif
+
+int random_get_fd(void)
+{
+ int i, fd;
+ struct timeval tv;
+
+ gettimeofday(&tv, 0);
+ fd = open("/dev/urandom", O_RDONLY);
+ if (fd == -1)
+ fd = open("/dev/random", O_RDONLY | O_NONBLOCK);
+ if (fd >= 0) {
+ i = fcntl(fd, F_GETFD);
+ if (i >= 0)
+ fcntl(fd, F_SETFD, i | FD_CLOEXEC);
+ }
+ srand((getpid() << 16) ^ getuid() ^ tv.tv_sec ^ tv.tv_usec);
+
+#ifdef DO_JRAND_MIX
+ ul_jrand_seed[0] = getpid() ^ (tv.tv_sec & 0xFFFF);
+ ul_jrand_seed[1] = getppid() ^ (tv.tv_usec & 0xFFFF);
+ ul_jrand_seed[2] = (tv.tv_sec ^ tv.tv_usec) >> 16;
+#endif
+ /* Crank the random number generator a few times */
+ gettimeofday(&tv, 0);
+ for (i = (tv.tv_sec ^ tv.tv_usec) & 0x1F; i > 0; i--)
+ rand();
+ return fd;
+}
+
+
+/*
+ * Generate a stream of random nbytes into buf.
+ * Use /dev/urandom if possible, and if not,
+ * use glibc pseudo-random functions.
+ */
+void random_get_bytes(void *buf, size_t nbytes)
+{
+ size_t i, n = nbytes;
+ int fd = random_get_fd();
+ int lose_counter = 0;
+ unsigned char *cp = (unsigned char *) buf;
+
+ if (fd >= 0) {
+ while (n > 0) {
+ ssize_t x = read(fd, cp, n);
+ if (x <= 0) {
+ if (lose_counter++ > 16)
+ break;
+ continue;
+ }
+ n -= x;
+ cp += x;
+ lose_counter = 0;
+ }
+
+ close(fd);
+ }
+
+ /*
+ * We do this all the time, but this is the only source of
+ * randomness if /dev/random/urandom is out to lunch.
+ */
+ for (cp = buf, i = 0; i < nbytes; i++)
+ *cp++ ^= (rand() >> 7) & 0xFF;
+
+#ifdef DO_JRAND_MIX
+ {
+ unsigned short tmp_seed[3];
+
+ memcpy(tmp_seed, ul_jrand_seed, sizeof(tmp_seed));
+ ul_jrand_seed[2] = ul_jrand_seed[2] ^ syscall(__NR_gettid);
+ for (cp = buf, i = 0; i < nbytes; i++)
+ *cp++ ^= (jrand48(tmp_seed) >> 7) & 0xFF;
+ memcpy(ul_jrand_seed, tmp_seed,
+ sizeof(ul_jrand_seed)-sizeof(unsigned short));
+ }
+#endif
+
+ return;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc __attribute__ ((__unused__)),
+ char *argv[] __attribute__ ((__unused__)))
+{
+ unsigned int v, i;
+
+ /* generate and print 10 random numbers */
+ for (i = 0; i < 10; i++) {
+ random_get_bytes(&v, sizeof(v));
+ printf("%d\n", v);
+ }
+
+ return EXIT_SUCCESS;
+}
+#endif /* TEST_PROGRAM */
diff --git a/lib/setproctitle.c b/lib/setproctitle.c
new file mode 100644
index 0000000..4bcf8c8
--- /dev/null
+++ b/lib/setproctitle.c
@@ -0,0 +1,74 @@
+/*
+ * set process title for ps (from sendmail)
+ *
+ * Clobbers argv of our main procedure so ps(1) will display the title.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+
+#include "setproctitle.h"
+
+#ifndef SPT_BUFSIZE
+# define SPT_BUFSIZE 2048
+#endif
+
+extern char **environ;
+
+static char **argv0;
+static int argv_lth;
+
+void initproctitle (int argc, char **argv)
+{
+ int i;
+ char **envp = environ;
+
+ /*
+ * Move the environment so we can reuse the memory.
+ * (Code borrowed from sendmail.)
+ * WARNING: ugly assumptions on memory layout here;
+ * if this ever causes problems, #undef DO_PS_FIDDLING
+ */
+ for (i = 0; envp[i] != NULL; i++)
+ continue;
+
+ environ = (char **) malloc(sizeof(char *) * (i + 1));
+ if (environ == NULL)
+ return;
+
+ for (i = 0; envp[i] != NULL; i++)
+ if ((environ[i] = strdup(envp[i])) == NULL)
+ return;
+ environ[i] = NULL;
+
+ argv0 = argv;
+ if (i > 0)
+ argv_lth = envp[i-1] + strlen(envp[i-1]) - argv0[0];
+ else
+ argv_lth = argv0[argc-1] + strlen(argv0[argc-1]) - argv0[0];
+}
+
+void setproctitle (const char *prog, const char *txt)
+{
+ int i;
+ char buf[SPT_BUFSIZE];
+
+ if (!argv0)
+ return;
+
+ if (strlen(prog) + strlen(txt) + 5 > SPT_BUFSIZE)
+ return;
+
+ sprintf(buf, "%s -- %s", prog, txt);
+
+ i = strlen(buf);
+ if (i > argv_lth - 2) {
+ i = argv_lth - 2;
+ buf[i] = '\0';
+ }
+ memset(argv0[0], '\0', argv_lth); /* clear the memory area */
+ strcpy(argv0[0], buf);
+
+ argv0[1] = NULL;
+}
diff --git a/lib/strutils.c b/lib/strutils.c
new file mode 100644
index 0000000..5dda138
--- /dev/null
+++ b/lib/strutils.c
@@ -0,0 +1,696 @@
+/*
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ * Copyright (C) 2010 Davidlohr Bueso <dave@gnu.org>
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <ctype.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <string.h>
+
+#include "c.h"
+#include "nls.h"
+#include "strutils.h"
+#include "bitops.h"
+
+static int do_scale_by_power (uintmax_t *x, int base, int power)
+{
+ while (power--) {
+ if (UINTMAX_MAX / base < *x)
+ return -2;
+ *x *= base;
+ }
+ return 0;
+}
+
+/*
+ * strtosize() - convert string to size (uintmax_t).
+ *
+ * Supported suffixes:
+ *
+ * XiB or X for 2^N
+ * where X = {K,M,G,T,P,E,Y,Z}
+ * or X = {k,m,g,t,p,e} (undocumented for backward compatibility only)
+ * for example:
+ * 10KiB = 10240
+ * 10K = 10240
+ *
+ * XB for 10^N
+ * where X = {K,M,G,T,P,E,Y,Z}
+ * for example:
+ * 10KB = 10000
+ *
+ * Note that the function does not accept numbers with '-' (negative sign)
+ * prefix.
+ */
+int strtosize(const char *str, uintmax_t *res)
+{
+ char *p;
+ uintmax_t x;
+ int base = 1024, rc = 0;
+
+ *res = 0;
+
+ if (!str || !*str)
+ goto err;
+
+ /* Only positive numbers are acceptable
+ *
+ * Note that this check is not perfect, it would be better to
+ * use lconv->negative_sign. But coreutils use the same solution,
+ * so it's probably good enough...
+ */
+ p = (char *) str;
+ while (isspace((unsigned char) *p))
+ p++;
+ if (*p == '-')
+ goto err;
+ p = NULL;
+
+ errno = 0;
+ x = strtoumax(str, &p, 0);
+
+ if (p == str ||
+ (errno != 0 && (x == UINTMAX_MAX || x == 0)))
+ goto err;
+
+ if (!p || !*p)
+ goto done; /* without suffix */
+
+ /*
+ * Check size suffixes
+ */
+ if (*(p + 1) == 'i' && *(p + 2) == 'B' && !*(p + 3))
+ base = 1024; /* XiB, 2^N */
+ else if (*(p + 1) == 'B' && !*(p + 2))
+ base = 1000; /* XB, 10^N */
+ else if (*(p + 1))
+ goto err; /* unexpected suffix */
+
+ switch(*p) {
+ case 'K':
+ case 'k':
+ rc = do_scale_by_power(&x, base, 1);
+ break;
+ case 'M':
+ case 'm':
+ rc = do_scale_by_power(&x, base, 2);
+ break;
+ case 'G':
+ case 'g':
+ rc = do_scale_by_power(&x, base, 3);
+ break;
+ case 'T':
+ case 't':
+ rc = do_scale_by_power(&x, base, 4);
+ break;
+ case 'P':
+ case 'p':
+ rc = do_scale_by_power(&x, base, 5);
+ break;
+ case 'E':
+ case 'e':
+ rc = do_scale_by_power(&x, base, 6);
+ break;
+ case 'Z':
+ rc = do_scale_by_power(&x, base, 7);
+ break;
+ case 'Y':
+ rc = do_scale_by_power(&x, base, 8);
+ break;
+ default:
+ goto err;
+ }
+
+done:
+ *res = x;
+ return rc;
+err:
+ return -1;
+}
+
+#ifndef HAVE_STRNLEN
+size_t strnlen(const char *s, size_t maxlen)
+{
+ int i;
+
+ for (i = 0; i < maxlen; i++) {
+ if (s[i] == '\0')
+ return i + 1;
+ }
+ return maxlen;
+}
+#endif
+
+#ifndef HAVE_STRNCHR
+char *strnchr(const char *s, size_t maxlen, int c)
+{
+ for (; maxlen-- && *s != '\0'; ++s)
+ if (*s == (char)c)
+ return (char *)s;
+ return NULL;
+}
+#endif
+
+#ifndef HAVE_STRNDUP
+char *strndup(const char *s, size_t n)
+{
+ size_t len = strnlen(s, n);
+ char *new = (char *) malloc((len + 1) * sizeof(char));
+ if (!new)
+ return NULL;
+ new[len] = '\0';
+ return (char *) memcpy(new, s, len);
+}
+#endif
+
+int16_t strtos16_or_err(const char *str, const char *errmesg)
+{
+ int32_t num = strtos32_or_err(str, errmesg);
+
+ if (num < INT16_MIN || num > INT16_MAX)
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+
+ return num;
+}
+
+uint16_t strtou16_or_err(const char *str, const char *errmesg)
+{
+ uint32_t num = strtou32_or_err(str, errmesg);
+
+ if (num > UINT16_MAX)
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+
+ return num;
+}
+
+int32_t strtos32_or_err(const char *str, const char *errmesg)
+{
+ int64_t num = strtos64_or_err(str, errmesg);
+
+ if (num < INT32_MIN || num > INT32_MAX)
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+
+ return num;
+}
+
+uint32_t strtou32_or_err(const char *str, const char *errmesg)
+{
+ uint64_t num = strtou64_or_err(str, errmesg);
+
+ if (num > UINT32_MAX)
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+
+ return num;
+}
+
+int64_t strtos64_or_err(const char *str, const char *errmesg)
+{
+ int64_t num;
+ char *end = NULL;
+
+ if (str == NULL || *str == '\0')
+ goto err;
+ errno = 0;
+ num = strtoimax(str, &end, 10);
+
+ if (errno || str == end || (end && *end))
+ goto err;
+
+ return num;
+err:
+ if (errno)
+ err(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+}
+
+uint64_t strtou64_or_err(const char *str, const char *errmesg)
+{
+ uintmax_t num;
+ char *end = NULL;
+
+ if (str == NULL || *str == '\0')
+ goto err;
+ errno = 0;
+ num = strtoumax(str, &end, 10);
+
+ if (errno || str == end || (end && *end))
+ goto err;
+
+ return num;
+err:
+ if (errno)
+ err(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+}
+
+
+double strtod_or_err(const char *str, const char *errmesg)
+{
+ double num;
+ char *end = NULL;
+
+ if (str == NULL || *str == '\0')
+ goto err;
+ errno = 0;
+ num = strtod(str, &end);
+
+ if (errno || str == end || (end && *end))
+ goto err;
+
+ return num;
+err:
+ if (errno)
+ err(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+}
+
+long strtol_or_err(const char *str, const char *errmesg)
+{
+ long num;
+ char *end = NULL;
+
+ if (str == NULL || *str == '\0')
+ goto err;
+ errno = 0;
+ num = strtol(str, &end, 10);
+
+ if (errno || str == end || (end && *end))
+ goto err;
+
+ return num;
+err:
+ if (errno)
+ err(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+}
+
+unsigned long strtoul_or_err(const char *str, const char *errmesg)
+{
+ unsigned long num;
+ char *end = NULL;
+
+ if (str == NULL || *str == '\0')
+ goto err;
+ errno = 0;
+ num = strtoul(str, &end, 10);
+
+ if (errno || str == end || (end && *end))
+ goto err;
+
+ return num;
+err:
+ if (errno)
+ err(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+}
+
+uintmax_t strtosize_or_err(const char *str, const char *errmesg)
+{
+ uintmax_t num;
+
+ if (strtosize(str, &num) == 0)
+ return num;
+
+ if (errno)
+ err(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+
+ errx(STRTOXX_EXIT_CODE, "%s: '%s'", errmesg, str);
+}
+
+/*
+ * Converts stat->st_mode to ls(1)-like mode string. The size of "str" must
+ * be 10 bytes.
+ */
+void strmode(mode_t mode, char *str)
+{
+ if (S_ISDIR(mode))
+ str[0] = 'd';
+ else if (S_ISLNK(mode))
+ str[0] = 'l';
+ else if (S_ISCHR(mode))
+ str[0] = 'c';
+ else if (S_ISBLK(mode))
+ str[0] = 'b';
+ else if (S_ISSOCK(mode))
+ str[0] = 's';
+ else if (S_ISFIFO(mode))
+ str[0] = 'p';
+ else if (S_ISREG(mode))
+ str[0] = '-';
+
+ str[1] = mode & S_IRUSR ? 'r' : '-';
+ str[2] = mode & S_IWUSR ? 'w' : '-';
+ str[3] = (mode & S_ISUID
+ ? (mode & S_IXUSR ? 's' : 'S')
+ : (mode & S_IXUSR ? 'x' : '-'));
+ str[4] = mode & S_IRGRP ? 'r' : '-';
+ str[5] = mode & S_IWGRP ? 'w' : '-';
+ str[6] = (mode & S_ISGID
+ ? (mode & S_IXGRP ? 's' : 'S')
+ : (mode & S_IXGRP ? 'x' : '-'));
+ str[7] = mode & S_IROTH ? 'r' : '-';
+ str[8] = mode & S_IWOTH ? 'w' : '-';
+ str[9] = (mode & S_ISVTX
+ ? (mode & S_IXOTH ? 't' : 'T')
+ : (mode & S_IXOTH ? 'x' : '-'));
+ str[10] = '\0';
+}
+
+/*
+ * returns exponent (2^x=n) in range KiB..PiB
+ */
+static int get_exp(uint64_t n)
+{
+ int shft;
+
+ for (shft = 10; shft <= 60; shft += 10) {
+ if (n < (1ULL << shft))
+ break;
+ }
+ return shft - 10;
+}
+
+char *size_to_human_string(int options, uint64_t bytes)
+{
+ char buf[32];
+ int dec, exp;
+ uint64_t frac;
+ const char *letters = "BKMGTPE";
+ char suffix[sizeof(" KiB")], *psuf = suffix;
+ char c;
+
+ if (options & SIZE_SUFFIX_SPACE)
+ *psuf++ = ' ';
+
+ exp = get_exp(bytes);
+ c = *(letters + (exp ? exp / 10 : 0));
+ dec = exp ? bytes / (1ULL << exp) : bytes;
+ frac = exp ? bytes % (1ULL << exp) : 0;
+
+ *psuf++ = c;
+
+ if ((options & SIZE_SUFFIX_3LETTER) && (c != 'B')) {
+ *psuf++ = 'i';
+ *psuf++ = 'B';
+ }
+
+ *psuf = '\0';
+
+ /* fprintf(stderr, "exp: %d, unit: %c, dec: %d, frac: %jd\n",
+ * exp, suffix[0], dec, frac);
+ */
+
+ if (frac) {
+ /* round */
+ frac = (frac / (1ULL << (exp - 10)) + 50) / 100;
+ if (frac == 10)
+ dec++, frac = 0;
+ }
+
+ if (frac) {
+ struct lconv const *l = localeconv();
+ char *dp = l ? l->decimal_point : NULL;
+
+ if (!dp || !*dp)
+ dp = ".";
+ snprintf(buf, sizeof(buf), "%d%s%jd%s", dec, dp, frac, suffix);
+ } else
+ snprintf(buf, sizeof(buf), "%d%s", dec, suffix);
+
+ return strdup(buf);
+}
+
+/*
+ * Parses comma delimited list to array with IDs, for example:
+ *
+ * "aaa,bbb,ccc" --> ary[0] = FOO_AAA;
+ * ary[1] = FOO_BBB;
+ * ary[3] = FOO_CCC;
+ *
+ * The function name2id() provides conversion from string to ID.
+ *
+ * Returns: >= 0 : number of items added to ary[]
+ * -1 : parse error or unknown item
+ * -2 : arysz reached
+ */
+int string_to_idarray(const char *list, int ary[], size_t arysz,
+ int (name2id)(const char *, size_t))
+{
+ const char *begin = NULL, *p;
+ size_t n = 0;
+
+ if (!list || !*list || !ary || !arysz || !name2id)
+ return -1;
+
+ for (p = list; p && *p; p++) {
+ const char *end = NULL;
+ int id;
+
+ if (n >= arysz)
+ return -2;
+ if (!begin)
+ begin = p; /* begin of the column name */
+ if (*p == ',')
+ end = p; /* terminate the name */
+ if (*(p + 1) == '\0')
+ end = p + 1; /* end of string */
+ if (!begin || !end)
+ continue;
+ if (end <= begin)
+ return -1;
+
+ id = name2id(begin, end - begin);
+ if (id == -1)
+ return -1;
+ ary[ n++ ] = id;
+ begin = NULL;
+ if (end && !*end)
+ break;
+ }
+ return n;
+}
+
+/*
+ * Parses the array like string_to_idarray but if format is "+aaa,bbb"
+ * it adds fields to array instead of replacing them.
+ */
+int string_add_to_idarray(const char *list, int ary[], size_t arysz,
+ int *ary_pos, int (name2id)(const char *, size_t))
+{
+ const char *list_add;
+ int r;
+
+ if (!list || !*list || !ary_pos ||
+ *ary_pos < 0 || (size_t) *ary_pos > arysz)
+ return -1;
+
+ if (list[0] == '+')
+ list_add = &list[1];
+ else {
+ list_add = list;
+ *ary_pos = 0;
+ }
+
+ r = string_to_idarray(list_add, &ary[*ary_pos], arysz - *ary_pos, name2id);
+ if (r > 0)
+ *ary_pos += r;
+ return r;
+}
+
+/*
+ * LIST ::= <item> [, <item>]
+ *
+ * The <item> is translated to 'id' by name2id() function and the 'id' is used
+ * as a position in the 'ary' bit array. It means that the 'id' has to be in
+ * range <0..N> where N < sizeof(ary) * NBBY.
+ *
+ * Returns: 0 on success, <0 on error.
+ */
+int string_to_bitarray(const char *list,
+ char *ary,
+ int (*name2bit)(const char *, size_t))
+{
+ const char *begin = NULL, *p;
+
+ if (!list || !name2bit || !ary)
+ return -EINVAL;
+
+ for (p = list; p && *p; p++) {
+ const char *end = NULL;
+ int bit;
+
+ if (!begin)
+ begin = p; /* begin of the level name */
+ if (*p == ',')
+ end = p; /* terminate the name */
+ if (*(p + 1) == '\0')
+ end = p + 1; /* end of string */
+ if (!begin || !end)
+ continue;
+ if (end <= begin)
+ return -1;
+
+ bit = name2bit(begin, end - begin);
+ if (bit < 0)
+ return bit;
+ setbit(ary, bit);
+ begin = NULL;
+ if (end && !*end)
+ break;
+ }
+ return 0;
+}
+
+/*
+ * LIST ::= <item> [, <item>]
+ *
+ * The <item> is translated to 'id' by name2flag() function and the flags is
+ * set to the 'mask'
+*
+ * Returns: 0 on success, <0 on error.
+ */
+int string_to_bitmask(const char *list,
+ unsigned long *mask,
+ long (*name2flag)(const char *, size_t))
+{
+ const char *begin = NULL, *p;
+
+ if (!list || !name2flag || !mask)
+ return -EINVAL;
+
+ for (p = list; p && *p; p++) {
+ const char *end = NULL;
+ long flag;
+
+ if (!begin)
+ begin = p; /* begin of the level name */
+ if (*p == ',')
+ end = p; /* terminate the name */
+ if (*(p + 1) == '\0')
+ end = p + 1; /* end of string */
+ if (!begin || !end)
+ continue;
+ if (end <= begin)
+ return -1;
+
+ flag = name2flag(begin, end - begin);
+ if (flag < 0)
+ return flag; /* error */
+ *mask |= flag;
+ begin = NULL;
+ if (end && !*end)
+ break;
+ }
+ return 0;
+}
+
+/*
+ * Parse the lower and higher values in a string containing
+ * "lower:higher" or "lower-higher" format. Note that either
+ * the lower or the higher values may be missing, and the def
+ * value will be assigned to it by default.
+ *
+ * Returns: 0 on success, <0 on error.
+ */
+int parse_range(const char *str, int *lower, int *upper, int def)
+{
+ char *end = NULL;
+
+ if (!str)
+ return 0;
+
+ *upper = *lower = def;
+ errno = 0;
+
+ if (*str == ':') { /* <:N> */
+ str++;
+ *upper = strtol(str, &end, 10);
+ if (errno || !end || *end || end == str)
+ return -1;
+ } else {
+ *upper = *lower = strtol(str, &end, 10);
+ if (errno || !end || end == str)
+ return -1;
+
+ if (*end == ':' && !*(end + 1)) /* <M:> */
+ *upper = 0;
+ else if (*end == '-' || *end == ':') { /* <M:N> <M-N> */
+ str = end + 1;
+ end = NULL;
+ errno = 0;
+ *upper = strtol(str, &end, 10);
+
+ if (errno || !end || *end || end == str)
+ return -1;
+ }
+ }
+ return 0;
+}
+
+/*
+ * Compare two strings for equality, ignoring at most one trailing
+ * slash.
+ */
+int streq_except_trailing_slash(const char *s1, const char *s2)
+{
+ int equal;
+
+ if (!s1 && !s2)
+ return 1;
+ if (!s1 || !s2)
+ return 0;
+
+ equal = !strcmp(s1, s2);
+
+ if (!equal) {
+ size_t len1 = strlen(s1);
+ size_t len2 = strlen(s2);
+
+ if (len1 && *(s1 + len1 - 1) == '/')
+ len1--;
+ if (len2 && *(s2 + len2 - 1) == '/')
+ len2--;
+ if (len1 != len2)
+ return 0;
+
+ equal = !strncmp(s1, s2, len1);
+ }
+
+ return equal;
+}
+
+
+#ifdef TEST_PROGRAM
+
+int main(int argc, char *argv[])
+{
+ uintmax_t size = 0;
+ char *hum, *hum2;
+
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <number>[suffix]\n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+
+ if (strtosize(argv[1], &size))
+ errx(EXIT_FAILURE, "invalid size '%s' value", argv[1]);
+
+ hum = size_to_human_string(SIZE_SUFFIX_1LETTER, size);
+ hum2 = size_to_human_string(SIZE_SUFFIX_3LETTER |
+ SIZE_SUFFIX_SPACE, size);
+
+ printf("%25s : %20ju : %8s : %12s\n", argv[1], size, hum, hum2);
+ free(hum);
+ free(hum2);
+
+ return EXIT_SUCCESS;
+}
+#endif /* TEST_PROGRAM */
diff --git a/lib/sysfs.c b/lib/sysfs.c
new file mode 100644
index 0000000..7b2c5f7
--- /dev/null
+++ b/lib/sysfs.c
@@ -0,0 +1,705 @@
+/*
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ */
+
+#include <ctype.h>
+
+#include "c.h"
+#include "at.h"
+#include "pathnames.h"
+#include "sysfs.h"
+
+char *sysfs_devno_attribute_path(dev_t devno, char *buf,
+ size_t bufsiz, const char *attr)
+{
+ int len;
+
+ if (attr)
+ len = snprintf(buf, bufsiz, _PATH_SYS_DEVBLOCK "/%d:%d/%s",
+ major(devno), minor(devno), attr);
+ else
+ len = snprintf(buf, bufsiz, _PATH_SYS_DEVBLOCK "/%d:%d",
+ major(devno), minor(devno));
+
+ return (len < 0 || (size_t) len + 1 > bufsiz) ? NULL : buf;
+}
+
+int sysfs_devno_has_attribute(dev_t devno, const char *attr)
+{
+ char path[PATH_MAX];
+ struct stat info;
+
+ if (!sysfs_devno_attribute_path(devno, path, sizeof(path), attr))
+ return 0;
+ if (stat(path, &info) == 0)
+ return 1;
+ return 0;
+}
+
+char *sysfs_devno_path(dev_t devno, char *buf, size_t bufsiz)
+{
+ return sysfs_devno_attribute_path(devno, buf, bufsiz, NULL);
+}
+
+dev_t sysfs_devname_to_devno(const char *name, const char *parent)
+{
+ char buf[PATH_MAX], *path = NULL;
+ dev_t dev = 0;
+
+ if (strncmp("/dev/", name, 5) == 0) {
+ /*
+ * Read from /dev
+ */
+ struct stat st;
+
+ if (stat(name, &st) == 0)
+ dev = st.st_rdev;
+ else
+ name += 5; /* unaccesible, or not node in /dev */
+ }
+
+ if (!dev && parent) {
+ /*
+ * Create path to /sys/block/<parent>/<name>/dev
+ */
+ int len = snprintf(buf, sizeof(buf),
+ _PATH_SYS_BLOCK "/%s/%s/dev", parent, name);
+ if (len < 0 || (size_t) len + 1 > sizeof(buf))
+ return 0;
+ path = buf;
+
+ } else if (!dev) {
+ /*
+ * Create path to /sys/block/<name>/dev
+ */
+ int len = snprintf(buf, sizeof(buf),
+ _PATH_SYS_BLOCK "/%s/dev", name);
+ if (len < 0 || (size_t) len + 1 > sizeof(buf))
+ return 0;
+ path = buf;
+ }
+
+ if (path) {
+ /*
+ * read devno from sysfs
+ */
+ FILE *f;
+ int maj = 0, min = 0;
+
+ f = fopen(path, "r");
+ if (!f)
+ return 0;
+
+ if (fscanf(f, "%d:%d", &maj, &min) == 2)
+ dev = makedev(maj, min);
+ fclose(f);
+ }
+ return dev;
+}
+
+/*
+ * Returns devname (e.g. "/dev/sda1") for the given devno.
+ *
+ * Note that the @buf has to be large enough to store /sys/dev/block/<maj:min>
+ * symlinks.
+ *
+ * Please, use more robust blkid_devno_to_devname() in your applications.
+ */
+char *sysfs_devno_to_devpath(dev_t devno, char *buf, size_t bufsiz)
+{
+ struct sysfs_cxt cxt;
+ char *name;
+ size_t sz;
+ struct stat st;
+
+ if (sysfs_init(&cxt, devno, NULL))
+ return NULL;
+
+ name = sysfs_get_devname(&cxt, buf, bufsiz);
+ sysfs_deinit(&cxt);
+
+ if (!name)
+ return NULL;
+
+ sz = strlen(name);
+
+ if (sz + sizeof("/dev/") > bufsiz)
+ return NULL;
+
+ /* create the final "/dev/<name>" string */
+ memmove(buf + 5, name, sz + 1);
+ memcpy(buf, "/dev/", 5);
+
+ if (!stat(buf, &st) && S_ISBLK(st.st_mode) && st.st_rdev == devno)
+ return buf;
+
+ return NULL;
+}
+
+int sysfs_init(struct sysfs_cxt *cxt, dev_t devno, struct sysfs_cxt *parent)
+{
+ char path[PATH_MAX];
+ int fd, rc;
+
+ memset(cxt, 0, sizeof(*cxt));
+ cxt->dir_fd = -1;
+
+ if (!sysfs_devno_path(devno, path, sizeof(path)))
+ goto err;
+
+ fd = open(path, O_RDONLY);
+ if (fd < 0)
+ goto err;
+ cxt->dir_fd = fd;
+
+ cxt->dir_path = strdup(path);
+ if (!cxt->dir_path)
+ goto err;
+ cxt->devno = devno;
+ cxt->parent = parent;
+ return 0;
+err:
+ rc = errno > 0 ? -errno : -1;
+ sysfs_deinit(cxt);
+ return rc;
+}
+
+void sysfs_deinit(struct sysfs_cxt *cxt)
+{
+ if (!cxt)
+ return;
+
+ if (cxt->dir_fd >= 0)
+ close(cxt->dir_fd);
+ free(cxt->dir_path);
+
+ cxt->devno = 0;
+ cxt->dir_fd = -1;
+ cxt->parent = NULL;
+ cxt->dir_path = NULL;
+}
+
+int sysfs_stat(struct sysfs_cxt *cxt, const char *attr, struct stat *st)
+{
+ int rc = fstat_at(cxt->dir_fd, cxt->dir_path, attr, st, 0);
+
+ if (rc != 0 && errno == ENOENT &&
+ strncmp(attr, "queue/", 6) == 0 && cxt->parent) {
+
+ /* Exception for "queue/<attr>". These attributes are available
+ * for parental devices only
+ */
+ return fstat_at(cxt->parent->dir_fd,
+ cxt->parent->dir_path, attr, st, 0);
+ }
+ return rc;
+}
+
+int sysfs_has_attribute(struct sysfs_cxt *cxt, const char *attr)
+{
+ struct stat st;
+
+ return sysfs_stat(cxt, attr, &st) == 0;
+}
+
+static int sysfs_open(struct sysfs_cxt *cxt, const char *attr)
+{
+ int fd = open_at(cxt->dir_fd, cxt->dir_path, attr, O_RDONLY);
+
+ if (fd == -1 && errno == ENOENT &&
+ strncmp(attr, "queue/", 6) == 0 && cxt->parent) {
+
+ /* Exception for "queue/<attr>". These attributes are available
+ * for parental devices only
+ */
+ fd = open_at(cxt->parent->dir_fd, cxt->dir_path, attr, O_RDONLY);
+ }
+ return fd;
+}
+
+ssize_t sysfs_readlink(struct sysfs_cxt *cxt, const char *attr,
+ char *buf, size_t bufsiz)
+{
+ if (!cxt->dir_path)
+ return -1;
+
+ if (attr)
+ return readlink_at(cxt->dir_fd, cxt->dir_path, attr, buf, bufsiz);
+
+ /* read /sys/dev/block/<maj:min> link */
+ return readlink(cxt->dir_path, buf, bufsiz);
+}
+
+DIR *sysfs_opendir(struct sysfs_cxt *cxt, const char *attr)
+{
+ DIR *dir;
+ int fd;
+
+ if (attr)
+ fd = sysfs_open(cxt, attr);
+ else
+ /* request to open root of device in sysfs (/sys/block/<dev>)
+ * -- we cannot use cxt->sysfs_fd directly, because closedir()
+ * will close this our persistent file descriptor.
+ */
+ fd = dup(cxt->dir_fd);
+
+ if (fd < 0)
+ return NULL;
+
+ dir = fdopendir(fd);
+ if (!dir) {
+ close(fd);
+ return NULL;
+ }
+ if (!attr)
+ rewinddir(dir);
+ return dir;
+}
+
+
+static FILE *sysfs_fopen(struct sysfs_cxt *cxt, const char *attr)
+{
+ int fd = sysfs_open(cxt, attr);
+
+ return fd < 0 ? NULL : fdopen(fd, "r");
+}
+
+
+static struct dirent *xreaddir(DIR *dp)
+{
+ struct dirent *d;
+
+ while ((d = readdir(dp))) {
+ if (!strcmp(d->d_name, ".") ||
+ !strcmp(d->d_name, ".."))
+ continue;
+
+ /* blacklist here? */
+ break;
+ }
+ return d;
+}
+
+int sysfs_is_partition_dirent(DIR *dir, struct dirent *d, const char *parent_name)
+{
+ char path[256];
+
+#ifdef _DIRENT_HAVE_D_TYPE
+ if (d->d_type != DT_DIR &&
+ d->d_type != DT_LNK)
+ return 0;
+#endif
+ if (parent_name) {
+ const char *p = parent_name;
+ size_t len;
+
+ /* /dev/sda --> "sda" */
+ if (*parent_name == '/') {
+ p = strrchr(parent_name, '/');
+ if (!p)
+ return 0;
+ p++;
+ }
+
+ len = strlen(p);
+ if (strlen(d->d_name) <= len)
+ return 0;
+
+ /* partitions subdir name is
+ * "<parent>[:digit:]" or "<parent>p[:digit:]"
+ */
+ return strncmp(p, d->d_name, len) == 0 &&
+ ((*(d->d_name + len) == 'p' && isdigit(*(d->d_name + len + 1)))
+ || isdigit(*(d->d_name + len)));
+ }
+
+ /* Cannot use /partition file, not supported on old sysfs */
+ snprintf(path, sizeof(path), "%s/start", d->d_name);
+
+ return faccessat(dirfd(dir), path, R_OK, 0) == 0;
+}
+
+/*
+ * Converts @partno (partition number) to devno of the partition.
+ * The @cxt handles wholedisk device.
+ *
+ * Note that this code does not expect any special format of the
+ * partitions devnames.
+ */
+dev_t sysfs_partno_to_devno(struct sysfs_cxt *cxt, int partno)
+{
+ DIR *dir;
+ struct dirent *d;
+ char path[256];
+ dev_t devno = 0;
+
+ dir = sysfs_opendir(cxt, NULL);
+ if (!dir)
+ return 0;
+
+ while ((d = xreaddir(dir))) {
+ int n, maj, min;
+
+ if (!sysfs_is_partition_dirent(dir, d, NULL))
+ continue;
+
+ snprintf(path, sizeof(path), "%s/partition", d->d_name);
+ if (sysfs_read_int(cxt, path, &n))
+ continue;
+
+ if (n == partno) {
+ snprintf(path, sizeof(path), "%s/dev", d->d_name);
+ if (sysfs_scanf(cxt, path, "%d:%d", &maj, &min) == 2)
+ devno = makedev(maj, min);
+ break;
+ }
+ }
+
+ closedir(dir);
+ return devno;
+}
+
+
+int sysfs_scanf(struct sysfs_cxt *cxt, const char *attr, const char *fmt, ...)
+{
+ FILE *f = sysfs_fopen(cxt, attr);
+ va_list ap;
+ int rc;
+
+ if (!f)
+ return -EINVAL;
+ va_start(ap, fmt);
+ rc = vfscanf(f, fmt, ap);
+ va_end(ap);
+
+ fclose(f);
+ return rc;
+}
+
+
+int sysfs_read_s64(struct sysfs_cxt *cxt, const char *attr, int64_t *res)
+{
+ int64_t x = 0;
+
+ if (sysfs_scanf(cxt, attr, "%"SCNd64, &x) == 1) {
+ if (res)
+ *res = x;
+ return 0;
+ }
+ return -1;
+}
+
+int sysfs_read_u64(struct sysfs_cxt *cxt, const char *attr, uint64_t *res)
+{
+ uint64_t x = 0;
+
+ if (sysfs_scanf(cxt, attr, "%"SCNu64, &x) == 1) {
+ if (res)
+ *res = x;
+ return 0;
+ }
+ return -1;
+}
+
+int sysfs_read_int(struct sysfs_cxt *cxt, const char *attr, int *res)
+{
+ int x = 0;
+
+ if (sysfs_scanf(cxt, attr, "%d", &x) == 1) {
+ if (res)
+ *res = x;
+ return 0;
+ }
+ return -1;
+}
+
+char *sysfs_strdup(struct sysfs_cxt *cxt, const char *attr)
+{
+ char buf[1024];
+ return sysfs_scanf(cxt, attr, "%1023[^\n]", buf) == 1 ?
+ strdup(buf) : NULL;
+}
+
+int sysfs_count_dirents(struct sysfs_cxt *cxt, const char *attr)
+{
+ DIR *dir;
+ int r = 0;
+
+ if (!(dir = sysfs_opendir(cxt, attr)))
+ return 0;
+
+ while (xreaddir(dir)) r++;
+
+ closedir(dir);
+ return r;
+}
+
+int sysfs_count_partitions(struct sysfs_cxt *cxt, const char *devname)
+{
+ DIR *dir;
+ struct dirent *d;
+ int r = 0;
+
+ if (!(dir = sysfs_opendir(cxt, NULL)))
+ return 0;
+
+ while ((d = xreaddir(dir))) {
+ if (sysfs_is_partition_dirent(dir, d, devname))
+ r++;
+ }
+
+ closedir(dir);
+ return r;
+}
+
+/*
+ * Returns slave name if there is only one slave, otherwise returns NULL.
+ * The result should be deallocated by free().
+ */
+char *sysfs_get_slave(struct sysfs_cxt *cxt)
+{
+ DIR *dir;
+ struct dirent *d;
+ char *name = NULL;
+
+ if (!(dir = sysfs_opendir(cxt, "slaves")))
+ return NULL;
+
+ while ((d = xreaddir(dir))) {
+ if (name)
+ goto err; /* more slaves */
+
+ name = strdup(d->d_name);
+ }
+
+ closedir(dir);
+ return name;
+err:
+ free(name);
+ closedir(dir);
+ return NULL;
+}
+
+/*
+ * Note that the @buf has to be large enough to store /sys/dev/block/<maj:min>
+ * symlinks.
+ */
+char *sysfs_get_devname(struct sysfs_cxt *cxt, char *buf, size_t bufsiz)
+{
+ char *name = NULL;
+ ssize_t sz;
+
+ sz = sysfs_readlink(cxt, NULL, buf, bufsiz - 1);
+ if (sz < 0)
+ return NULL;
+
+ buf[sz] = '\0';
+ name = strrchr(buf, '/');
+ if (!name)
+ return NULL;
+
+ name++;
+ sz = strlen(name);
+
+ memmove(buf, name, sz + 1);
+ return buf;
+}
+
+/* returns basename and keeps dirname in the @path */
+static char *stripoff_last_component(char *path)
+{
+ char *p = strrchr(path, '/');
+
+ if (!p)
+ return NULL;
+ *p = '\0';
+ return ++p;
+}
+
+static int get_dm_wholedisk(struct sysfs_cxt *cxt, char *diskname,
+ size_t len, dev_t *diskdevno)
+{
+ int rc = 0;
+ char *name;
+
+ /* Note, sysfs_get_slave() returns the first slave only,
+ * if there is more slaves, then return NULL
+ */
+ name = sysfs_get_slave(cxt);
+ if (!name)
+ return -1;
+
+ if (diskname && len) {
+ strncpy(diskname, name, len);
+ diskname[len - 1] = '\0';
+ }
+
+ if (diskdevno) {
+ *diskdevno = sysfs_devname_to_devno(name, NULL);
+ if (!*diskdevno)
+ rc = -1;
+ }
+
+ free(name);
+ return rc;
+}
+
+int sysfs_devno_to_wholedisk(dev_t dev, char *diskname,
+ size_t len, dev_t *diskdevno)
+{
+ struct sysfs_cxt cxt;
+ int is_part = 0;
+
+ if (!dev || sysfs_init(&cxt, dev, NULL) != 0)
+ return -1;
+
+ is_part = sysfs_has_attribute(&cxt, "partition");
+ if (!is_part) {
+ /*
+ * Extra case for partitions mapped by device-mapper.
+ *
+ * All regualar partitions (added by BLKPG ioctl or kernel PT
+ * parser) have the /sys/.../partition file. The partitions
+ * mapped by DM don't have such file, but they have "part"
+ * prefix in DM UUID.
+ */
+ char *uuid = sysfs_strdup(&cxt, "dm/uuid");
+ char *tmp = uuid;
+ char *prefix = uuid ? strsep(&tmp, "-") : NULL;
+
+ if (prefix && strncasecmp(prefix, "part", 4) == 0)
+ is_part = 1;
+ free(uuid);
+
+ if (is_part &&
+ get_dm_wholedisk(&cxt, diskname, len, diskdevno) == 0)
+ /*
+ * partitioned device, mapped by DM
+ */
+ goto done;
+
+ is_part = 0;
+ }
+
+ if (!is_part) {
+ /*
+ * unpartitioned device
+ */
+ if (diskname && len) {
+ if (!sysfs_get_devname(&cxt, diskname, len))
+ goto err;
+ }
+ if (diskdevno)
+ *diskdevno = dev;
+
+ } else {
+ /*
+ * partitioned device
+ * - readlink /sys/dev/block/8:1 = ../../block/sda/sda1
+ * - dirname ../../block/sda/sda1 = ../../block/sda
+ * - basename ../../block/sda = sda
+ */
+ char linkpath[PATH_MAX];
+ char *name;
+ int linklen;
+
+ linklen = sysfs_readlink(&cxt, NULL,
+ linkpath, sizeof(linkpath) - 1);
+ if (linklen < 0)
+ goto err;
+ linkpath[linklen] = '\0';
+
+ stripoff_last_component(linkpath); /* dirname */
+ name = stripoff_last_component(linkpath); /* basename */
+ if (!name)
+ goto err;
+
+ if (diskname && len) {
+ strncpy(diskname, name, len);
+ diskname[len - 1] = '\0';
+ }
+
+ if (diskdevno) {
+ *diskdevno = sysfs_devname_to_devno(name, NULL);
+ if (!*diskdevno)
+ goto err;
+ }
+ }
+
+done:
+ sysfs_deinit(&cxt);
+ return 0;
+err:
+ sysfs_deinit(&cxt);
+ return -1;
+}
+
+#ifdef TEST_PROGRAM_SYSFS
+#include <errno.h>
+#include <err.h>
+#include <stdlib.h>
+
+int main(int argc, char *argv[])
+{
+ struct sysfs_cxt cxt = UL_SYSFSCXT_EMPTY;
+ char *devname;
+ dev_t devno;
+ char path[PATH_MAX];
+ int i, is_part;
+ uint64_t u64;
+ ssize_t len;
+
+ if (argc != 2)
+ errx(EXIT_FAILURE, "usage: %s <devname>", argv[0]);
+
+ devname = argv[1];
+ devno = sysfs_devname_to_devno(devname, NULL);
+
+ if (!devno)
+ err(EXIT_FAILURE, "failed to read devno");
+
+ is_part = sysfs_devno_has_attribute(devno, "partition");
+
+ printf("NAME: %s\n", devname);
+ printf("DEVNO: %u (%d:%d)\n", (unsigned int) devno, major(devno), minor(devno));
+ printf("DEVNOPATH: %s\n", sysfs_devno_path(devno, path, sizeof(path)));
+ printf("DEVPATH: %s\n", sysfs_devno_to_devpath(devno, path, sizeof(path)));
+ printf("PARTITION: %s\n", is_part ? "YES" : "NOT");
+
+ if (sysfs_init(&cxt, devno, NULL))
+ return EXIT_FAILURE;
+
+ len = sysfs_readlink(&cxt, NULL, path, sizeof(path) - 1);
+ if (len > 0) {
+ path[len] = '\0';
+ printf("DEVNOLINK: %s\n", path);
+ }
+
+ if (!is_part) {
+ printf("First 5 partitions:\n");
+ for (i = 1; i <= 5; i++) {
+ dev_t dev = sysfs_partno_to_devno(&cxt, i);
+ if (dev)
+ printf("\t#%d %d:%d\n", i, major(dev), minor(dev));
+ }
+ }
+
+ printf("SLAVES: %d\n", sysfs_count_dirents(&cxt, "slaves"));
+
+ if (sysfs_read_u64(&cxt, "size", &u64))
+ printf("read SIZE failed\n");
+ else
+ printf("SIZE: %jd\n", u64);
+
+ if (sysfs_read_int(&cxt, "queue/hw_sector_size", &i))
+ printf("read SECTOR failed\n");
+ else
+ printf("SECTOR: %d\n", i);
+
+ printf("DEVNAME: %s\n", sysfs_get_devname(&cxt, path, sizeof(path)));
+
+ sysfs_deinit(&cxt);
+ return EXIT_SUCCESS;
+}
+#endif
diff --git a/lib/tt.c b/lib/tt.c
new file mode 100644
index 0000000..6ec967d
--- /dev/null
+++ b/lib/tt.c
@@ -0,0 +1,998 @@
+/*
+ * TT - Table or Tree, features:
+ * - column width could be defined as absolute or relative to the terminal width
+ * - allows to truncate or wrap data in columns
+ * - prints tree if parent->child relation is defined
+ * - draws the tree by ASCII or UTF8 lines (depends on terminal setting)
+ *
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <termios.h>
+#include <ctype.h>
+
+#include "c.h"
+#include "nls.h"
+#include "widechar.h"
+#include "tt.h"
+#include "mbsalign.h"
+#include "ttyutils.h"
+
+struct tt_symbols {
+ const char *branch;
+ const char *vert;
+ const char *right;
+};
+
+static const struct tt_symbols ascii_tt_symbols = {
+ .branch = "|-",
+ .vert = "| ",
+ .right = "`-",
+};
+
+#ifdef HAVE_WIDECHAR
+#define UTF_V "\342\224\202" /* U+2502, Vertical line drawing char */
+#define UTF_VR "\342\224\234" /* U+251C, Vertical and right */
+#define UTF_H "\342\224\200" /* U+2500, Horizontal */
+#define UTF_UR "\342\224\224" /* U+2514, Up and right */
+
+static const struct tt_symbols utf8_tt_symbols = {
+ .branch = UTF_VR UTF_H,
+ .vert = UTF_V " ",
+ .right = UTF_UR UTF_H,
+};
+#endif /* !HAVE_WIDECHAR */
+
+#define is_last_column(_tb, _cl) \
+ list_last_entry(&(_cl)->cl_columns, &(_tb)->tb_columns)
+
+/*
+ * Counts number of cells in multibyte string. For all control and
+ * non-printable chars is the result width enlarged to store \x?? hex
+ * sequence. See mbs_safe_encode().
+ */
+static size_t mbs_safe_width(const char *s)
+{
+ mbstate_t st;
+ const char *p = s;
+ size_t width = 0;
+
+ memset(&st, 0, sizeof(st));
+
+ while (p && *p) {
+ if (iscntrl((unsigned char) *p)) {
+ width += 4; /* *p encoded to \x?? */
+ p++;
+ }
+#ifdef HAVE_WIDECHAR
+ else {
+ wchar_t wc;
+ size_t len = mbrtowc(&wc, p, MB_CUR_MAX, &st);
+
+ if (len == 0)
+ break;
+
+ if (len == (size_t) -1 || len == (size_t) -2) {
+ len = 1;
+ width += (isprint((unsigned char) *p) ? 1 : 4);
+
+ } if (!iswprint(wc))
+ width += len * 4; /* hex encode whole sequence */
+ else
+ width += wcwidth(wc); /* number of cells */
+ p += len;
+ }
+#else
+ else if (!isprint((unsigned char) *p)) {
+ width += 4; /* *p encoded to \x?? */
+ p++;
+ } else {
+ width++;
+ p++;
+ }
+#endif
+ }
+
+ return width;
+}
+
+/*
+ * Returns allocated string where all control and non-printable chars are
+ * replaced with \x?? hex sequence.
+ */
+static char *mbs_safe_encode(const char *s, size_t *width)
+{
+ mbstate_t st;
+ const char *p = s;
+ char *res, *r;
+ size_t sz = s ? strlen(s) : 0;
+
+
+ if (!sz)
+ return NULL;
+
+ memset(&st, 0, sizeof(st));
+
+ res = malloc((sz * 4) + 1);
+ if (!res)
+ return NULL;
+
+ r = res;
+ *width = 0;
+
+ while (p && *p) {
+ if (iscntrl((unsigned char) *p)) {
+ sprintf(r, "\\x%02x", (unsigned char) *p);
+ r += 4;
+ *width += 4;
+ p++;
+ }
+#ifdef HAVE_WIDECHAR
+ else {
+ wchar_t wc;
+ size_t len = mbrtowc(&wc, p, MB_CUR_MAX, &st);
+
+ if (len == 0)
+ break; /* end of string */
+
+ if (len == (size_t) -1 || len == (size_t) -2) {
+ len = 1;
+ /*
+ * Not valid multibyte sequence -- maybe it's
+ * printable char according to the current locales.
+ */
+ if (!isprint((unsigned char) *p)) {
+ sprintf(r, "\\x%02x", (unsigned char) *p);
+ r += 4;
+ *width += 4;
+ } else {
+ width++;
+ *r++ = *p;
+ }
+ } else if (!iswprint(wc)) {
+ size_t i;
+ for (i = 0; i < len; i++) {
+ sprintf(r, "\\x%02x", (unsigned char) *p);
+ r += 4;
+ *width += 4;
+ }
+ } else {
+ memcpy(r, p, len);
+ r += len;
+ *width += wcwidth(wc);
+ }
+ p += len;
+ }
+#else
+ else if (!isprint((unsigned char) *p)) {
+ sprintf(r, "\\x%02x", (unsigned char) *p);
+ p++;
+ r += 4;
+ *width += 4;
+ } else {
+ *r++ = *p++;
+ *width++;
+ }
+#endif
+ }
+
+ *r = '\0';
+
+ return res;
+}
+
+/*
+ * @flags: TT_FL_* flags (usually TT_FL_{ASCII,RAW})
+ *
+ * Returns: newly allocated table
+ */
+struct tt *tt_new_table(int flags)
+{
+ struct tt *tb;
+
+ tb = calloc(1, sizeof(struct tt));
+ if (!tb)
+ return NULL;
+
+ tb->flags = flags;
+ INIT_LIST_HEAD(&tb->tb_lines);
+ INIT_LIST_HEAD(&tb->tb_columns);
+
+#if defined(HAVE_WIDECHAR)
+ if (!(flags & TT_FL_ASCII) && !strcmp(nl_langinfo(CODESET), "UTF-8"))
+ tb->symbols = &utf8_tt_symbols;
+ else
+#endif
+ tb->symbols = &ascii_tt_symbols;
+
+ tb->first_run = TRUE;
+ return tb;
+}
+
+void tt_remove_lines(struct tt *tb)
+{
+ if (!tb)
+ return;
+
+ while (!list_empty(&tb->tb_lines)) {
+ struct tt_line *ln = list_entry(tb->tb_lines.next,
+ struct tt_line, ln_lines);
+ list_del(&ln->ln_lines);
+ free(ln->data);
+ free(ln);
+ }
+}
+
+void tt_free_table(struct tt *tb)
+{
+ if (!tb)
+ return;
+
+ tt_remove_lines(tb);
+
+ while (!list_empty(&tb->tb_columns)) {
+ struct tt_column *cl = list_entry(tb->tb_columns.next,
+ struct tt_column, cl_columns);
+ list_del(&cl->cl_columns);
+ free(cl);
+ }
+ free(tb);
+}
+
+
+/*
+ * @tb: table
+ * @name: column header
+ * @whint: column width hint (absolute width: N > 1; relative width: N < 1)
+ * @flags: usually TT_FL_{TREE,TRUNCATE}
+ *
+ * The column width is possible to define by three ways:
+ *
+ * @whint = 0..1 : relative width, percent of terminal width
+ *
+ * @whint = 1..N : absolute width, empty colum will be truncated to
+ * the column header width
+ *
+ * @whint = 1..N
+ * @flags = TT_FL_STRICTWIDTH
+ * : absolute width, empty colum won't be truncated
+ *
+ * The column is necessary to address (for example for tt_line_set_data()) by
+ * sequential number. The first defined column has the colnum = 0. For example:
+ *
+ * tt_define_column(tab, "FOO", 0.5, 0); // colnum = 0
+ * tt_define_column(tab, "BAR", 0.5, 0); // colnum = 1
+ * .
+ * .
+ * tt_line_set_data(line, 0, "foo-data"); // FOO column
+ * tt_line_set_data(line, 1, "bar-data"); // BAR column
+ *
+ * Returns: newly allocated column definition
+ */
+struct tt_column *tt_define_column(struct tt *tb, const char *name,
+ double whint, int flags)
+{
+ struct tt_column *cl;
+
+ if (!tb)
+ return NULL;
+ cl = calloc(1, sizeof(*cl));
+ if (!cl)
+ return NULL;
+
+ cl->name = name;
+ cl->width_hint = whint;
+ cl->flags = flags;
+ cl->seqnum = tb->ncols++;
+
+ if (flags & TT_FL_TREE)
+ tb->flags |= TT_FL_TREE;
+
+ INIT_LIST_HEAD(&cl->cl_columns);
+ list_add_tail(&cl->cl_columns, &tb->tb_columns);
+ return cl;
+}
+
+/*
+ * @tb: table
+ * @parent: parental line or NULL
+ *
+ * Returns: newly allocate line
+ */
+struct tt_line *tt_add_line(struct tt *tb, struct tt_line *parent)
+{
+ struct tt_line *ln = NULL;
+
+ if (!tb || !tb->ncols)
+ goto err;
+ ln = calloc(1, sizeof(*ln));
+ if (!ln)
+ goto err;
+ ln->data = calloc(tb->ncols, sizeof(char *));
+ if (!ln->data)
+ goto err;
+
+ ln->table = tb;
+ ln->parent = parent;
+ INIT_LIST_HEAD(&ln->ln_lines);
+ INIT_LIST_HEAD(&ln->ln_children);
+ INIT_LIST_HEAD(&ln->ln_branch);
+
+ list_add_tail(&ln->ln_lines, &tb->tb_lines);
+
+ if (parent)
+ list_add_tail(&ln->ln_children, &parent->ln_branch);
+ return ln;
+err:
+ free(ln);
+ return NULL;
+}
+
+/*
+ * @tb: table
+ * @colnum: number of column (0..N)
+ *
+ * Returns: pointer to column or NULL
+ */
+struct tt_column *tt_get_column(struct tt *tb, size_t colnum)
+{
+ struct list_head *p;
+
+ list_for_each(p, &tb->tb_columns) {
+ struct tt_column *cl =
+ list_entry(p, struct tt_column, cl_columns);
+ if (cl->seqnum == colnum)
+ return cl;
+ }
+ return NULL;
+}
+
+/*
+ * @ln: line
+ * @colnum: number of column (0..N)
+ * @data: printable data
+ *
+ * Stores data that will be printed to the table cell.
+ */
+int tt_line_set_data(struct tt_line *ln, int colnum, const char *data)
+{
+ struct tt_column *cl;
+
+ if (!ln)
+ return -1;
+ cl = tt_get_column(ln->table, colnum);
+ if (!cl)
+ return -1;
+
+ if (ln->data[cl->seqnum]) {
+ size_t sz = strlen(ln->data[cl->seqnum]);;
+ ln->data_sz = ln->data_sz > sz ? ln->data_sz - sz : 0;
+ }
+
+ ln->data[cl->seqnum] = data;
+ if (data)
+ ln->data_sz += strlen(data);
+ return 0;
+}
+
+int tt_line_set_userdata(struct tt_line *ln, void *data)
+{
+ if (!ln)
+ return -1;
+ ln->userdata = data;
+ return 0;
+}
+
+static char *line_get_ascii_art(struct tt_line *ln, char *buf, size_t *bufsz)
+{
+ const char *art;
+ size_t len;
+
+ if (!ln->parent)
+ return buf;
+
+ buf = line_get_ascii_art(ln->parent, buf, bufsz);
+ if (!buf)
+ return NULL;
+
+ if (list_last_entry(&ln->ln_children, &ln->parent->ln_branch))
+ art = " ";
+ else
+ art = ln->table->symbols->vert;
+
+ len = strlen(art);
+ if (*bufsz < len)
+ return NULL; /* no space, internal error */
+
+ memcpy(buf, art, len);
+ *bufsz -= len;
+ return buf + len;
+}
+
+static char *line_get_data(struct tt_line *ln, struct tt_column *cl,
+ char *buf, size_t bufsz)
+{
+ const char *data = ln->data[cl->seqnum];
+ const struct tt_symbols *sym;
+ char *p = buf;
+
+ memset(buf, 0, bufsz);
+
+ if (!data)
+ return NULL;
+ if (!(cl->flags & TT_FL_TREE)) {
+ strncpy(buf, data, bufsz);
+ buf[bufsz - 1] = '\0';
+ return buf;
+ }
+
+ /*
+ * Tree stuff
+ */
+ if (ln->parent) {
+ p = line_get_ascii_art(ln->parent, buf, &bufsz);
+ if (!p)
+ return NULL;
+ }
+
+ sym = ln->table->symbols;
+
+ if (!ln->parent)
+ snprintf(p, bufsz, "%s", data); /* root node */
+ else if (list_last_entry(&ln->ln_children, &ln->parent->ln_branch))
+ snprintf(p, bufsz, "%s%s", sym->right, data); /* last chaild */
+ else
+ snprintf(p, bufsz, "%s%s", sym->branch, data); /* any child */
+
+ return buf;
+}
+
+/*
+ * This function counts column width.
+ *
+ * For the TT_FL_NOEXTREMES columns is possible to call this function two
+ * times. The first pass counts width and average width. If the column
+ * contains too large fields (width greater than 2 * average) then the column
+ * is marked as "extreme". In the second pass all extreme fields are ignored
+ * and column width is counted from non-extreme fields only.
+ */
+static void count_column_width(struct tt *tb, struct tt_column *cl,
+ char *buf, size_t bufsz)
+{
+ struct list_head *lp;
+ int count = 0;
+ size_t sum = 0;
+
+ cl->width = 0;
+
+ list_for_each(lp, &tb->tb_lines) {
+ struct tt_line *ln = list_entry(lp, struct tt_line, ln_lines);
+ char *data = line_get_data(ln, cl, buf, bufsz);
+ size_t len = data ? mbs_safe_width(data) : 0;
+
+ if (len == (size_t) -1) /* ignore broken multibyte strings */
+ len = 0;
+
+ if (len > cl->width_max)
+ cl->width_max = len;
+
+ if (cl->is_extreme && len > cl->width_avg * 2)
+ continue;
+ else if (cl->flags & TT_FL_NOEXTREMES) {
+ sum += len;
+ count++;
+ }
+ if (len > cl->width)
+ cl->width = len;
+ }
+
+ if (count && cl->width_avg == 0) {
+ cl->width_avg = sum / count;
+
+ if (cl->width_max > cl->width_avg * 2)
+ cl->is_extreme = 1;
+ }
+
+ /* check and set minimal column width */
+ if (cl->name)
+ cl->width_min = mbs_safe_width(cl->name);
+
+ /* enlarge to minimal width */
+ if (cl->width < cl->width_min && !(cl->flags & TT_FL_STRICTWIDTH))
+ cl->width = cl->width_min;
+
+ /* use relative size for large columns */
+ else if (cl->width_hint >= 1 && cl->width < (size_t) cl->width_hint &&
+ cl->width_min < (size_t) cl->width_hint)
+
+ cl->width = (size_t) cl->width_hint;
+}
+
+/*
+ * This is core of the tt_* voodo...
+ */
+static void recount_widths(struct tt *tb, char *buf, size_t bufsz)
+{
+ struct list_head *p;
+ size_t width = 0; /* output width */
+ int trunc_only;
+ int extremes = 0;
+
+ /* set basic columns width
+ */
+ list_for_each(p, &tb->tb_columns) {
+ struct tt_column *cl =
+ list_entry(p, struct tt_column, cl_columns);
+
+ count_column_width(tb, cl, buf, bufsz);
+ width += cl->width + (is_last_column(tb, cl) ? 0 : 1);
+ extremes += cl->is_extreme;
+ }
+
+ /* reduce columns with extreme fields
+ */
+ if (width > tb->termwidth && extremes) {
+ list_for_each(p, &tb->tb_columns) {
+ struct tt_column *cl = list_entry(p, struct tt_column, cl_columns);
+ size_t org_width;
+
+ if (!cl->is_extreme)
+ continue;
+
+ org_width = cl->width;
+ count_column_width(tb, cl, buf, bufsz);
+
+ if (org_width > cl->width)
+ width -= org_width - cl->width;
+ else
+ extremes--; /* hmm... nothing reduced */
+ }
+ }
+
+ if (width < tb->termwidth) {
+ /* try to found extreme column which fits into available space
+ */
+ if (extremes) {
+ /* enlarge the first extreme column */
+ list_for_each(p, &tb->tb_columns) {
+ struct tt_column *cl =
+ list_entry(p, struct tt_column, cl_columns);
+ size_t add;
+
+ if (!cl->is_extreme)
+ continue;
+
+ if (cl->width_max - cl->width >
+ (tb->termwidth - width))
+ /* this column is tooo large, ignore */
+ continue;
+
+ add = tb->termwidth - width;
+ if (add && cl->width + add > cl->width_max)
+ add = cl->width_max - cl->width;
+
+ cl->width += add;
+ width += add;
+
+ if (width == tb->termwidth)
+ break;
+ }
+ }
+ if (width < tb->termwidth) {
+ /* enalarge the last column */
+ struct tt_column *cl = list_entry(
+ tb->tb_columns.prev, struct tt_column, cl_columns);
+
+ if (!(cl->flags & TT_FL_RIGHT) && tb->termwidth - width > 0) {
+ cl->width += tb->termwidth - width;
+ width = tb->termwidth;
+ }
+ }
+ }
+
+ /* bad, we have to reduce output width, this is done in two steps:
+ * 1/ reduce columns with a relative width and with truncate flag
+ * 2) reduce columns with a relative width without truncate flag
+ */
+ trunc_only = 1;
+ while (width > tb->termwidth) {
+ size_t org = width;
+
+ list_for_each(p, &tb->tb_columns) {
+ struct tt_column *cl =
+ list_entry(p, struct tt_column, cl_columns);
+
+ if (width <= tb->termwidth)
+ break;
+ if (cl->width_hint > 1 && !(cl->flags & TT_FL_TRUNC))
+ continue; /* never truncate columns with absolute sizes */
+ if (cl->flags & TT_FL_TREE)
+ continue; /* never truncate the tree */
+ if (trunc_only && !(cl->flags & TT_FL_TRUNC))
+ continue;
+ if (cl->width == cl->width_min)
+ continue;
+
+ /* truncate column with relative sizes */
+ if (cl->width_hint < 1 && cl->width > 0 && width > 0 &&
+ cl->width > cl->width_hint * tb->termwidth) {
+ cl->width--;
+ width--;
+ }
+ /* truncate column with absolute size */
+ if (cl->width_hint > 1 && cl->width > 0 && width > 0 &&
+ !trunc_only) {
+ cl->width--;
+ width--;
+ }
+
+ }
+ if (org == width) {
+ if (trunc_only)
+ trunc_only = 0;
+ else
+ break;
+ }
+ }
+
+/*
+ fprintf(stderr, "terminal: %d, output: %d\n", tb->termwidth, width);
+
+ list_for_each(p, &tb->tb_columns) {
+ struct tt_column *cl =
+ list_entry(p, struct tt_column, cl_columns);
+
+ fprintf(stderr, "width: %s=%zd [hint=%d, avg=%zd, max=%zd, extreme=%s]\n",
+ cl->name, cl->width,
+ cl->width_hint > 1 ? (int) cl->width_hint :
+ (int) (cl->width_hint * tb->termwidth),
+ cl->width_avg,
+ cl->width_max,
+ cl->is_extreme ? "yes" : "not");
+ }
+*/
+ return;
+}
+
+void tt_fputs_quoted(const char *data, FILE *out)
+{
+ const char *p;
+
+ fputc('"', out);
+ for (p = data; p && *p; p++) {
+ if ((unsigned char) *p == 0x22 || /* " */
+ (unsigned char) *p == 0x5c || /* \ */
+ !isprint((unsigned char) *p) ||
+ iscntrl((unsigned char) *p)) {
+
+ fprintf(out, "\\x%02x", (unsigned char) *p);
+ } else
+ fputc(*p, out);
+ }
+ fputc('"', out);
+}
+
+void tt_fputs_nonblank(const char *data, FILE *out)
+{
+ const char *p;
+
+ for (p = data; p && *p; p++) {
+ if (isblank((unsigned char) *p) ||
+ (unsigned char) *p == 0x5c || /* \ */
+ !isprint((unsigned char) *p) ||
+ iscntrl((unsigned char) *p)) {
+
+ fprintf(out, "\\x%02x", (unsigned char) *p);
+
+ } else
+ fputc(*p, out);
+ }
+}
+
+/*
+ * Prints data, data maybe be printed in more formats (raw, NAME=xxx pairs) and
+ * control and non-printable chars maybe encoded in \x?? hex encoding.
+ */
+static void print_data(struct tt *tb, struct tt_column *cl, char *data)
+{
+ size_t len = 0, i, width;
+ char *buf;
+
+ if (!data)
+ data = "";
+
+ /* raw mode */
+ if (tb->flags & TT_FL_RAW) {
+ tt_fputs_nonblank(data, stdout);
+ if (!is_last_column(tb, cl))
+ fputc(' ', stdout);
+ return;
+ }
+
+ /* NAME=value mode */
+ if (tb->flags & TT_FL_EXPORT) {
+ fprintf(stdout, "%s=", cl->name);
+ tt_fputs_quoted(data, stdout);
+ if (!is_last_column(tb, cl))
+ fputc(' ', stdout);
+ return;
+ }
+
+ /* note that 'len' and 'width' are number of cells, not bytes */
+ buf = mbs_safe_encode(data, &len);
+ data = buf;
+ if (!data)
+ data = "";
+
+ if (!len || len == (size_t) -1) {
+ len = 0;
+ data = NULL;
+ }
+ width = cl->width;
+
+ if (is_last_column(tb, cl) && len < width)
+ width = len;
+
+ /* truncate data */
+ if (len > width && (cl->flags & TT_FL_TRUNC)) {
+ if (data)
+ len = mbs_truncate(data, &width);
+ if (!data || len == (size_t) -1) {
+ len = 0;
+ data = NULL;
+ }
+ }
+ if (data) {
+ if (!(tb->flags & TT_FL_RAW) && (cl->flags & TT_FL_RIGHT)) {
+ size_t xw = cl->width;
+ fprintf(stdout, "%*s", (int) xw, data);
+ if (len < xw)
+ len = xw;
+ }
+ else
+ fputs(data, stdout);
+ }
+ for (i = len; i < width; i++)
+ fputc(' ', stdout); /* padding */
+
+ if (!is_last_column(tb, cl)) {
+ if (len > width && !(cl->flags & TT_FL_TRUNC)) {
+ fputc('\n', stdout);
+ for (i = 0; i <= (size_t) cl->seqnum; i++) {
+ struct tt_column *x = tt_get_column(tb, i);
+ printf("%*s ", -((int)x->width), " ");
+ }
+ } else
+ fputc(' ', stdout); /* columns separator */
+ }
+
+ free(buf);
+}
+
+static void print_line(struct tt_line *ln, char *buf, size_t bufsz)
+{
+ struct list_head *p;
+
+ /* set width according to the size of data
+ */
+ list_for_each(p, &ln->table->tb_columns) {
+ struct tt_column *cl =
+ list_entry(p, struct tt_column, cl_columns);
+
+ print_data(ln->table, cl, line_get_data(ln, cl, buf, bufsz));
+ }
+ fputc('\n', stdout);
+}
+
+static void print_header(struct tt *tb, char *buf, size_t bufsz)
+{
+ struct list_head *p;
+
+ if (!tb->first_run ||
+ (tb->flags & TT_FL_NOHEADINGS) ||
+ (tb->flags & TT_FL_EXPORT) ||
+ list_empty(&tb->tb_lines))
+ return;
+
+ /* set width according to the size of data
+ */
+ list_for_each(p, &tb->tb_columns) {
+ struct tt_column *cl =
+ list_entry(p, struct tt_column, cl_columns);
+
+ strncpy(buf, cl->name, bufsz);
+ buf[bufsz - 1] = '\0';
+ print_data(tb, cl, buf);
+ }
+ fputc('\n', stdout);
+}
+
+static void print_table(struct tt *tb, char *buf, size_t bufsz)
+{
+ struct list_head *p;
+
+ print_header(tb, buf, bufsz);
+
+ list_for_each(p, &tb->tb_lines) {
+ struct tt_line *ln = list_entry(p, struct tt_line, ln_lines);
+
+ print_line(ln, buf, bufsz);
+ }
+}
+
+static void print_tree_line(struct tt_line *ln, char *buf, size_t bufsz)
+{
+ struct list_head *p;
+
+ print_line(ln, buf, bufsz);
+
+ if (list_empty(&ln->ln_branch))
+ return;
+
+ /* print all children */
+ list_for_each(p, &ln->ln_branch) {
+ struct tt_line *chld =
+ list_entry(p, struct tt_line, ln_children);
+ print_tree_line(chld, buf, bufsz);
+ }
+}
+
+static void print_tree(struct tt *tb, char *buf, size_t bufsz)
+{
+ struct list_head *p;
+
+ print_header(tb, buf, bufsz);
+
+ list_for_each(p, &tb->tb_lines) {
+ struct tt_line *ln = list_entry(p, struct tt_line, ln_lines);
+
+ if (ln->parent)
+ continue;
+
+ print_tree_line(ln, buf, bufsz);
+ }
+}
+
+/*
+ * @tb: table
+ *
+ * Prints the table to stdout
+ */
+int tt_print_table(struct tt *tb)
+{
+ char *line;
+ size_t line_sz;
+ struct list_head *p;
+
+ if (!tb)
+ return -1;
+
+ if (tb->first_run && !tb->termwidth) {
+ tb->termwidth = get_terminal_width();
+ if (tb->termwidth <= 0)
+ tb->termwidth = 80;
+ }
+
+ line_sz = tb->termwidth;
+
+ list_for_each(p, &tb->tb_lines) {
+ struct tt_line *ln = list_entry(p, struct tt_line, ln_lines);
+ if (ln->data_sz > line_sz)
+ line_sz = ln->data_sz;
+ }
+
+ line_sz++; /* make a space for \0 */
+ line = malloc(line_sz);
+ if (!line)
+ return -1;
+
+ if (tb->first_run &&
+ !((tb->flags & TT_FL_RAW) || (tb->flags & TT_FL_EXPORT)))
+ recount_widths(tb, line, line_sz);
+
+ if (tb->flags & TT_FL_TREE)
+ print_tree(tb, line, line_sz);
+ else
+ print_table(tb, line, line_sz);
+
+ free(line);
+
+ tb->first_run = FALSE;
+ return 0;
+}
+
+#ifdef TEST_PROGRAM
+#include <errno.h>
+
+enum { MYCOL_NAME, MYCOL_FOO, MYCOL_BAR, MYCOL_PATH };
+
+int main(int argc, char *argv[])
+{
+ struct tt *tb;
+ struct tt_line *ln, *pr, *root;
+ int flags = 0, notree = 0, i;
+
+ if (argc == 2 && !strcmp(argv[1], "--help")) {
+ printf("%s [--ascii | --raw | --list]\n",
+ program_invocation_short_name);
+ return EXIT_SUCCESS;
+ } else if (argc == 2 && !strcmp(argv[1], "--ascii")) {
+ flags |= TT_FL_ASCII;
+ } else if (argc == 2 && !strcmp(argv[1], "--raw")) {
+ flags |= TT_FL_RAW;
+ notree = 1;
+ } else if (argc == 2 && !strcmp(argv[1], "--export")) {
+ flags |= TT_FL_EXPORT;
+ notree = 1;
+ } else if (argc == 2 && !strcmp(argv[1], "--list"))
+ notree = 1;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+
+ tb = tt_new_table(flags);
+ if (!tb)
+ err(EXIT_FAILURE, "table initialization failed");
+
+ tt_define_column(tb, "NAME", 0.3, notree ? 0 : TT_FL_TREE);
+ tt_define_column(tb, "FOO", 0.3, TT_FL_TRUNC);
+ tt_define_column(tb, "BAR", 0.3, 0);
+ tt_define_column(tb, "PATH", 0.3, 0);
+
+ for (i = 0; i < 2; i++) {
+ root = ln = tt_add_line(tb, NULL);
+ tt_line_set_data(ln, MYCOL_NAME, "AAA");
+ tt_line_set_data(ln, MYCOL_FOO, "a-foo-foo");
+ tt_line_set_data(ln, MYCOL_BAR, "barBar-A");
+ tt_line_set_data(ln, MYCOL_PATH, "/mnt/AAA");
+
+ pr = ln = tt_add_line(tb, ln);
+ tt_line_set_data(ln, MYCOL_NAME, "AAA.A");
+ tt_line_set_data(ln, MYCOL_FOO, "a.a-foo-foo");
+ tt_line_set_data(ln, MYCOL_BAR, "barBar-A.A");
+ tt_line_set_data(ln, MYCOL_PATH, "/mnt/AAA/A");
+
+ ln = tt_add_line(tb, pr);
+ tt_line_set_data(ln, MYCOL_NAME, "AAA.A.AAA");
+ tt_line_set_data(ln, MYCOL_FOO, "a.a.a-foo-foo");
+ tt_line_set_data(ln, MYCOL_BAR, "barBar-A.A.A");
+ tt_line_set_data(ln, MYCOL_PATH, "/mnt/AAA/A/AAA");
+
+ ln = tt_add_line(tb, root);
+ tt_line_set_data(ln, MYCOL_NAME, "AAA.B");
+ tt_line_set_data(ln, MYCOL_FOO, "a.b-foo-foo");
+ tt_line_set_data(ln, MYCOL_BAR, "barBar-A.B");
+ tt_line_set_data(ln, MYCOL_PATH, "/mnt/AAA/B");
+
+ ln = tt_add_line(tb, pr);
+ tt_line_set_data(ln, MYCOL_NAME, "AAA.A.BBB");
+ tt_line_set_data(ln, MYCOL_FOO, "a.a.b-foo-foo");
+ tt_line_set_data(ln, MYCOL_BAR, "barBar-A.A.BBB");
+ tt_line_set_data(ln, MYCOL_PATH, "/mnt/AAA/A/BBB");
+
+ ln = tt_add_line(tb, pr);
+ tt_line_set_data(ln, MYCOL_NAME, "AAA.A.CCC");
+ tt_line_set_data(ln, MYCOL_FOO, "a.a.c-foo-foo");
+ tt_line_set_data(ln, MYCOL_BAR, "barBar-A.A.CCC");
+ tt_line_set_data(ln, MYCOL_PATH, "/mnt/AAA/A/CCC");
+
+ ln = tt_add_line(tb, root);
+ tt_line_set_data(ln, MYCOL_NAME, "AAA.C");
+ tt_line_set_data(ln, MYCOL_FOO, "a.c-foo-foo");
+ tt_line_set_data(ln, MYCOL_BAR, "barBar-A.C");
+ tt_line_set_data(ln, MYCOL_PATH, "/mnt/AAA/C");
+ }
+
+ tt_print_table(tb);
+ tt_free_table(tb);
+
+ return EXIT_SUCCESS;
+}
+#endif
diff --git a/lib/wholedisk.c b/lib/wholedisk.c
new file mode 100644
index 0000000..4a53052
--- /dev/null
+++ b/lib/wholedisk.c
@@ -0,0 +1,57 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#include "blkdev.h"
+#include "wholedisk.h"
+
+int is_whole_disk_fd(int fd, const char *name)
+{
+#ifdef HDIO_GETGEO
+ if (fd != -1) {
+ struct hd_geometry geometry;
+ int i = ioctl(fd, HDIO_GETGEO, &geometry);
+ if (i == 0)
+ return geometry.start == 0;
+ }
+#endif
+ /*
+ * The "silly heuristic" is still sexy for us, because
+ * for example Xen doesn't implement HDIO_GETGEO for virtual
+ * block devices (/dev/xvda).
+ *
+ * -- kzak@redhat.com (23-Feb-2006)
+ */
+ while (*name)
+ name++;
+ return !isdigit(name[-1]);
+}
+
+int is_whole_disk(const char *name)
+{
+ int fd = -1, res = 0;
+#ifdef HDIO_GETGEO
+ fd = open(name, O_RDONLY);
+ if (fd != -1)
+#endif
+ res = is_whole_disk_fd(fd, name);
+
+ if (fd != -1)
+ close(fd);
+ return res;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <device>\n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+
+ printf("%s: is%s whole disk\n", argv[1],
+ is_whole_disk(argv[1]) ? "" : " NOT");
+ exit(EXIT_SUCCESS);
+}
+#endif
diff --git a/lib/xgetpass.c b/lib/xgetpass.c
new file mode 100644
index 0000000..ba20894
--- /dev/null
+++ b/lib/xgetpass.c
@@ -0,0 +1,46 @@
+/*
+ * A function to read the passphrase either from the terminal or from
+ * an open file descriptor.
+ *
+ * Public domain.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+
+#include "c.h"
+#include "xgetpass.h"
+
+char *xgetpass(int pfd, const char *prompt)
+{
+ char *pass = NULL;
+ int len = 0, i;
+
+ if (pfd < 0) /* terminal */
+ return getpass(prompt);
+
+ for (i=0; ; i++) {
+ if (i >= len-1) {
+ char *tmppass = pass;
+ len += 128;
+
+ pass = realloc(tmppass, len);
+ if (!pass) {
+ pass = tmppass; /* the old buffer hasn't changed */
+ break;
+ }
+ }
+ if (pass && (read(pfd, pass + i, 1) != 1 ||
+ pass[i] == '\n' || pass[i] == 0))
+ break;
+ }
+
+ if (pass)
+ pass[i] = '\0';
+ return pass;
+}
+
diff --git a/libblkid/COPYING b/libblkid/COPYING
new file mode 100644
index 0000000..41fe6fd
--- /dev/null
+++ b/libblkid/COPYING
@@ -0,0 +1,8 @@
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later
+version.
+
+The complete text of the license is available at the
+Documentation/licenses/COPYING.LGPLv2.1 file.
diff --git a/libblkid/Makemodule.am b/libblkid/Makemodule.am
new file mode 100644
index 0000000..b4f6f9c
--- /dev/null
+++ b/libblkid/Makemodule.am
@@ -0,0 +1,16 @@
+if BUILD_LIBBLKID
+
+include libblkid/src/Makemodule.am
+include libblkid/samples/Makemodule.am
+
+if ENABLE_GTK_DOC
+# Docs uses separate Makefiles
+SUBDIRS += libblkid/docs
+endif
+
+pkgconfig_DATA += libblkid/blkid.pc
+PATHFILES += libblkid/blkid.pc
+dist_man_MANS += libblkid/libblkid.3
+EXTRA_DIST += libblkid/libblkid.3 libblkid/COPYING
+
+endif # BUILD_LIBBLKID
diff --git a/libblkid/blkid.pc.in b/libblkid/blkid.pc.in
new file mode 100644
index 0000000..40ec8a9
--- /dev/null
+++ b/libblkid/blkid.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@usrlib_execdir@
+includedir=@includedir@
+
+Name: blkid
+Description: Block device id library
+Version: @LIBBLKID_VERSION@
+Requires.private: uuid
+Cflags: -I${includedir}/blkid
+Libs: -L${libdir} -lblkid
diff --git a/libblkid/docs/Makefile.am b/libblkid/docs/Makefile.am
new file mode 100644
index 0000000..d06038e
--- /dev/null
+++ b/libblkid/docs/Makefile.am
@@ -0,0 +1,94 @@
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.10 at least.
+AUTOMAKE_OPTIONS = 1.10
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=libblkid
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk
+DOC_SOURCE_DIR=../src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=--deprecated-guards="BLKID_DISABLE_DEPRECATED"
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space blkid
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_builddir)/libblkid/src/blkid.h
+CFILE_GLOB=$(top_srcdir)/libblkid/src/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files to ignore when scanning. Use base file name, no paths
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
+IGNORE_HFILES=blkidP.h list.h partitions.h superblocks.h topology.h aix.h dos.h
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files = $(builddir)/version.xml $(srcdir)/libblkid-config.xml
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS=
+GTKDOC_LIBS=
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/config/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST += version.xml.in $(srcdir)/libblkid-config.xml
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+DISTCLEANFILES += version.xml
+
diff --git a/libblkid/docs/Makefile.in b/libblkid/docs/Makefile.in
new file mode 100644
index 0000000..60f31ed
--- /dev/null
+++ b/libblkid/docs/Makefile.in
@@ -0,0 +1,728 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# WARNING: this is not gtk-doc.make file from gtk-doc project. This
+# file has been modified to match with util-linux requirements:
+#
+# * install files to $datadir
+# * don't maintain generated files in git repository
+# * don't distribute the final html files
+# * don't require --enable-gtk-doc for "make dist"
+# * support out-of-tree build ($srcdir != $builddir)
+#
+# -- kzak, Nov 2009
+#
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/version.xml.in $(top_srcdir)/config/gtk-doc.make
+subdir = libblkid/docs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/compiler.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/ul.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = version.xml
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBBLKID_DATE = @LIBBLKID_DATE@
+LIBBLKID_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMOUNT_VERSION = @LIBMOUNT_VERSION@
+LIBMOUNT_VERSION_INFO = @LIBMOUNT_VERSION_INFO@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBUUID_VERSION = @LIBUUID_VERSION@
+LIBUUID_VERSION_INFO = @LIBUUID_VERSION_INFO@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGMERGE = @MSGMERGE@
+NCURSES_LIBS = @NCURSES_LIBS@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOCKET_LIBS = @SOCKET_LIBS@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libdirname = @libdirname@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+ruman1dir = @ruman1dir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+systemdsystemunitdir = @systemdsystemunitdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+usrbin_execdir = @usrbin_execdir@
+usrlib_execdir = @usrlib_execdir@
+usrsbin_execdir = @usrsbin_execdir@
+
+# We require automake 1.10 at least.
+AUTOMAKE_OPTIONS = 1.10
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE = libblkid
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk
+DOC_SOURCE_DIR = ../src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS = --deprecated-guards="BLKID_DISABLE_DEPRECATED"
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS = --sgml-mode --output-format=xml --name-space blkid
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS =
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS =
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB = $(top_builddir)/libblkid/src/blkid.h
+CFILE_GLOB = $(top_srcdir)/libblkid/src/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES =
+
+# Header files to ignore when scanning. Use base file name, no paths
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
+IGNORE_HFILES = blkidP.h list.h partitions.h superblocks.h topology.h aix.h dos.h
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files = $(builddir)/version.xml $(srcdir)/libblkid-config.xml
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files =
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS =
+GTKDOC_LIBS =
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+TARGET_DIR = $(docdir)/$(DOC_MODULE)
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+DISTCLEANFILES = version.xml
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST = $(content_files) $(HTML_IMAGES) $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt version.xml.in \
+ $(srcdir)/libblkid-config.xml
+# $(DOC_MODULE)-overrides.txt
+DOC_STAMPS = scan-build.stamp sgml-build.stamp html-build.stamp \
+ $(srcdir)/setup.stamp $(srcdir)/sgml.stamp \
+ $(srcdir)/html.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals \
+ $(DOC_MODULE).types # util-linux: we don't use types
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/config/gtk-doc.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libblkid/docs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libblkid/docs/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool clean-local distclean distclean-generic \
+ distclean-libtool distclean-local distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-data-local install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-local
+
+
+@ENABLE_GTK_DOC_TRUE@all-local: html-build.stamp
+@ENABLE_GTK_DOC_FALSE@all-local:
+
+docs: html-build.stamp
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo 'gtk-doc: Preparing build'; \
+ files=`echo $(EXTRA_DIST) $(expand_content_files) $(srcdir)/$(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -p $(abs_srcdir)/$$file $(abs_builddir)/; \
+ done \
+ fi \
+ fi
+ @touch setup-build.stamp
+
+setup.stamp: setup-build.stamp
+ @true
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) $(srcdir)/$(DOC_MODULE)-*.txt $(content_files)
+
+ @test -f $(DOC_MODULE)-sections.txt || \
+ cp $(srcdir)/$(DOC_MODULE)-sections.txt $(builddir)
+
+ $(AM_V_GEN)gtkdoc-scan --module=$(DOC_MODULE) \
+ --source-dir=$(srcdir)/$(DOC_SOURCE_DIR) \
+ --source-dir=$(builddir)/$(DOC_SOURCE_DIR) \
+ --ignore-headers="$(IGNORE_HFILES)" \
+ --output-dir=$(builddir) \
+ $(SCAN_OPTIONS) $(EXTRA_HFILES)
+
+ @ if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" \
+ CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) \
+ $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) \
+ --module=$(DOC_MODULE) --output-dir=$(builddir) ; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @ touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### templates ####
+#
+#tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(srcdir)/$(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+# @echo 'gtk-doc: Rebuilding template files'
+# test -z $(builddir)/tmpl || $(MKDIR_P) $(builddir)/tmpl
+# gtkdoc-mktmpl --module=$(DOC_MODULE) \
+# $(MKTMPL_OPTIONS)
+# touch tmpl-build.stamp
+#
+#tmpl.stamp: tmpl-build.stamp
+# @true
+#
+#tmpl/*.sgml:
+# @true
+#
+
+#### xml ####
+
+sgml-build.stamp: setup.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(expand_content_files)
+ $(AM_V_GEN)gtkdoc-mkdb --module=$(DOC_MODULE) \
+ --source-dir=$(srcdir)/$(DOC_SOURCE_DIR) \
+ --source-dir=$(builddir)/$(DOC_SOURCE_DIR) \
+ --output-format=xml \
+ --ignore-files="$(IGNORE_HFILES)" \
+ --expand-content-files="$(expand_content_files)" \
+ --main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
+ $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(srcdir)/$(DOC_MAIN_SGML_FILE) $(content_files)
+ @rm -rf $(builddir)/html
+ @$(MKDIR_P) $(builddir)/html
+ $(AM_V_GEN)cd $(builddir)/html && \
+ gtkdoc-mkhtml --path="$(abs_builddir):$(abs_builddir)/xml:$(abs_srcdir)" \
+ $(MKHTML_OPTIONS) \
+ $(DOC_MODULE) \
+ $(abs_srcdir)/$(DOC_MAIN_SGML_FILE)
+
+ @test "x$(HTML_IMAGES)" = "x" || \
+ ( cd $(srcdir) && cp $(HTML_IMAGES) $(abs_builddir)/html )
+
+ $(AM_V_GEN)gtkdoc-fixxref --module-dir=html \
+ --html-dir=$(HTML_DIR) \
+ $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+##############
+
+clean-local:
+ rm -f *~ *.bak
+ rm -rf .libs
+
+distclean-local:
+ rm -rf xml html $(REPORT_FILES) *.stamp \
+ $(DOC_MODULE)-overrides.txt \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ test $(abs_builddir) == $(abs_srcdir) || \
+ rm -f $(DOC_MODULE)-*.txt $(DOC_MODULE)-*.xml *.xml.in
+
+install-data-local:
+ installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo '-- Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo '-- Installing '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
+ fi; \
+ ! which gtkdoc-rebase >/dev/null 2>&1 || \
+ gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \
+ fi
+
+uninstall-local:
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+@ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc:
+@ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+@ENABLE_GTK_DOC_FALSE@ @false
+
+#dist-hook: dist-check-gtkdoc dist-hook-local sgml.stamp html-build.stamp
+# mkdir $(distdir)/tmpl
+# mkdir $(distdir)/xml
+# mkdir $(distdir)/html
+# -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+# -cp $(srcdir)/xml/*.xml $(distdir)/xml
+# cp $(srcdir)/html/* $(distdir)/html
+# -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
+# -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
+# cd $(distdir) && rm -f $(DISTCLEANFILES)
+# ! which gtkdoc-rebase >/dev/null 2>&1 || \
+# gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
+#
+#.PHONY : dist-hook-local docs
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libblkid/docs/libblkid-config.xml b/libblkid/docs/libblkid-config.xml
new file mode 100644
index 0000000..89fbb7f
--- /dev/null
+++ b/libblkid/docs/libblkid-config.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY version SYSTEM "version.xml">
+]>
+<refentry id="libblkid-config">
+<refmeta>
+<refentrytitle role="top_of_page" id="libblkid-config.top_of_page">Config file</refentrytitle>
+<manvolnum>3</manvolnum>
+<refmiscinfo>LIBBLKID Library</refmiscinfo>
+</refmeta>
+
+<refnamediv>
+<refname>Config file</refname>
+<refpurpose>config file to control paths and basic library behavior</refpurpose>
+</refnamediv>
+
+<refsect1 id="libblkid-config.description" role="desc">
+<title role="desc.title">Description</title>
+<para>
+The standard location of the
+/etc/blkid.conf config file can be overridden by the environment variable
+BLKID_CONF. The following options control the libblkid library:
+</para>
+
+<variablelist role="params">
+ <varlistentry>
+ <term>SEND_UEVENT=<parameter>yes|not</parameter></term>
+ <listitem><simpara>
+ Sends uevent when /dev/disk/by-{label,uuid}/
+ symlink does not match with LABEL or UUID on the device. Default is "yes".
+ </simpara></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>CACHE_FILE=<parameter>path</parameter></term>
+ <listitem><simpara>
+ Overrides the standard location of the cache file. This
+ setting can be overridden by the environment variable BLKID_FILE. Default is
+ /etc/blkid.tab.
+ </simpara></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>EVALUATE=<parameter>method</parameter></term>
+ <listitem><simpara>
+ Defines LABEL and UUID evaluation method(s). Currently,
+ the libblkid library supports "udev" and "scan" methods. More than one methods
+ may be specified in a comma separated list. Default is "udev,scan". The "udev"
+ method uses udev /dev/disk/by-* symlinks and the "scan" method scans all
+ block devices from the /proc/partitions file.
+ </simpara></listitem>
+ </varlistentry>
+</variablelist>
+
+</refsect1>
+
+</refentry>
diff --git a/libblkid/docs/libblkid-docs.xml b/libblkid/docs/libblkid-docs.xml
new file mode 100644
index 0000000..da5c1ad
--- /dev/null
+++ b/libblkid/docs/libblkid-docs.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY version SYSTEM "version.xml">
+]>
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+ <bookinfo>
+ <title>libblkid Reference Manual</title>
+ <releaseinfo>for libblkid version &version;</releaseinfo>
+ <copyright>
+ <year>2009-2012</year>
+ <holder>Karel Zak &lt;kzak@redhat.com&gt;</holder>
+ </copyright>
+ </bookinfo>
+
+ <part id="gtk">
+ <title>libblkid Overview</title>
+ <partintro>
+ <para>
+The libblkid library is used to identify block devices (disks) as to their
+content (e.g. filesystem type, partitions) as well as extracting additional
+information such as filesystem labels/volume names, partitions, unique
+identifiers/serial numbers, etc. A common use is to allow use of LABEL= and
+UUID= tags instead of hard-coding specific block device names into
+configuration files.
+ </para>
+ <para>
+The libblkid librray
+was written by Andreas Dilger for the ext2 filesystem utilties, with input
+from Ted Ts'o. The library was subsequently heavily modified by Ted Ts'o.
+ </para>
+ <para>
+The low-level probing code, topology and partitions support was written
+by Karel Zak. Currently, the library is mainatned by Karel Zak.
+ </para>
+ <para>
+The library is part of the util-linux package since version 2.15 and is
+available from ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+ </para>
+ </partintro>
+ <xi:include href="xml/libblkid-config.xml"/>
+ </part>
+
+ <part>
+ <title>High-level</title>
+ <xi:include href="xml/evaluate.xml"/>
+ <xi:include href="xml/cache.xml"/>
+ <xi:include href="xml/search.xml"/>
+ </part>
+ <part>
+ <title>Low-level</title>
+ <xi:include href="xml/lowprobe.xml"/>
+ <xi:include href="xml/lowprobe-tags.xml"/>
+ <xi:include href="xml/superblocks.xml"/>
+ <xi:include href="xml/partitions.xml"/>
+ <xi:include href="xml/topology.xml"/>
+ </part>
+ <part>
+ <title>Common utils</title>
+ <xi:include href="xml/encode.xml"/>
+ <xi:include href="xml/misc.xml"/>
+ </part>
+
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+</book>
diff --git a/libblkid/docs/libblkid-sections.txt b/libblkid/docs/libblkid-sections.txt
new file mode 100644
index 0000000..511fc30
--- /dev/null
+++ b/libblkid/docs/libblkid-sections.txt
@@ -0,0 +1,192 @@
+<SECTION>
+<FILE>evaluate</FILE>
+blkid_evaluate_tag
+blkid_evaluate_spec
+</SECTION>
+
+<SECTION>
+<FILE>cache</FILE>
+blkid_cache
+blkid_gc_cache
+blkid_get_cache
+blkid_put_cache
+blkid_probe_all
+blkid_probe_all_removable
+blkid_probe_all_new
+blkid_verify
+</SECTION>
+
+<SECTION>
+<FILE>search</FILE>
+blkid_dev
+blkid_dev_devname
+blkid_dev_has_tag
+blkid_dev_iterate
+blkid_dev_iterate_begin
+blkid_dev_iterate_end
+blkid_dev_next
+blkid_dev_set_search
+blkid_find_dev_with_tag
+blkid_get_dev
+blkid_get_devname
+blkid_get_tag_value
+blkid_tag_iterate
+blkid_tag_iterate_begin
+blkid_tag_iterate_end
+blkid_tag_next
+</SECTION>
+
+<SECTION>
+<FILE>lowprobe</FILE>
+blkid_probe
+blkid_free_probe
+blkid_new_probe
+blkid_new_probe_from_filename
+blkid_probe_get_devno
+blkid_probe_get_fd
+blkid_probe_get_sectorsize
+blkid_probe_get_sectors
+blkid_probe_get_size
+blkid_probe_get_offset
+blkid_probe_get_wholedisk_devno
+blkid_probe_set_device
+blkid_probe_is_wholedisk
+blkid_reset_probe
+</SECTION>
+
+<SECTION>
+<FILE>lowprobe-tags</FILE>
+blkid_do_fullprobe
+blkid_do_wipe
+blkid_do_probe
+blkid_do_safeprobe
+<SUBSECTION>
+blkid_probe_get_value
+blkid_probe_has_value
+blkid_probe_lookup_value
+blkid_probe_numof_values
+</SECTION>
+
+<SECTION>
+<FILE>partitions</FILE>
+blkid_partlist
+blkid_partition
+blkid_parttable
+blkid_probe_enable_partitions
+blkid_probe_set_partitions_flags
+blkid_probe_filter_partitions_type
+blkid_probe_invert_partitions_filter
+blkid_probe_reset_partitions_filter
+<SUBSECTION>
+blkid_known_pttype
+<SUBSECTION>
+blkid_partition_get_name
+blkid_partition_get_flags
+blkid_partition_get_partno
+blkid_partition_get_size
+blkid_partition_get_start
+blkid_partition_get_table
+blkid_partition_get_type
+blkid_partition_get_type_string
+blkid_partition_get_uuid
+blkid_partition_is_extended
+blkid_partition_is_logical
+blkid_partition_is_primary
+<SUBSECTION>
+blkid_partlist_get_partition
+blkid_partlist_numof_partitions
+blkid_partlist_devno_to_partition
+blkid_partlist_get_table
+<SUBSECTION>
+blkid_parttable_get_offset
+blkid_parttable_get_parent
+blkid_parttable_get_type
+<SUBSECTION>
+blkid_probe_get_partitions
+</SECTION>
+
+<SECTION>
+<FILE>superblocks</FILE>
+blkid_probe_enable_superblocks
+<SUBSECTION>
+blkid_known_fstype
+blkid_superblocks_get_name
+<SUBSECTION>
+blkid_probe_filter_superblocks_type
+blkid_probe_filter_superblocks_usage
+blkid_probe_invert_superblocks_filter
+blkid_probe_reset_superblocks_filter
+blkid_probe_set_superblocks_flags
+<SUBSECTION>
+blkid_probe_reset_filter
+blkid_probe_filter_types
+blkid_probe_filter_usage
+blkid_probe_invert_filter
+blkid_probe_set_request
+</SECTION>
+
+<SECTION>
+<FILE>topology</FILE>
+blkid_topology
+blkid_probe_enable_topology
+<SUBSECTION>
+blkid_probe_get_topology
+blkid_topology_get_alignment_offset
+blkid_topology_get_logical_sector_size
+blkid_topology_get_minimum_io_size
+blkid_topology_get_optimal_io_size
+blkid_topology_get_physical_sector_size
+</SECTION>
+
+<SECTION>
+<FILE>encode</FILE>
+blkid_encode_string
+blkid_safe_string
+</SECTION>
+
+<SECTION>
+<FILE>misc</FILE>
+blkid_loff_t
+blkid_devno_to_devname
+blkid_devno_to_wholedisk
+blkid_get_dev_size
+blkid_get_library_version
+blkid_parse_tag_string
+blkid_parse_version_string
+blkid_send_uevent
+BLKID_VERSION
+BLKID_DATE
+BLKID_FLTR_NOTIN
+BLKID_FLTR_ONLYIN
+BLKID_DEV_CREATE
+BLKID_DEV_FIND
+BLKID_DEV_NORMAL
+BLKID_DEV_VERIFY
+BLKID_PARTS_ENTRY_DETAILS
+BLKID_PARTS_FORCE_GPT
+BLKID_PARTS_MAGIC
+BLKID_PROBREQ_LABEL
+BLKID_PROBREQ_LABELRAW
+BLKID_PROBREQ_SECTYPE
+BLKID_PROBREQ_TYPE
+BLKID_PROBREQ_USAGE
+BLKID_PROBREQ_UUID
+BLKID_PROBREQ_UUIDRAW
+BLKID_PROBREQ_VERSION
+BLKID_SUBLKS_DEFAULT
+BLKID_SUBLKS_LABEL
+BLKID_SUBLKS_LABELRAW
+BLKID_SUBLKS_MAGIC
+BLKID_SUBLKS_SECTYPE
+BLKID_SUBLKS_TYPE
+BLKID_SUBLKS_USAGE
+BLKID_SUBLKS_UUID
+BLKID_SUBLKS_UUIDRAW
+BLKID_SUBLKS_VERSION
+BLKID_USAGE_CRYPTO
+BLKID_USAGE_FILESYSTEM
+BLKID_USAGE_OTHER
+BLKID_USAGE_RAID
+</SECTION>
+
+
diff --git a/libblkid/docs/version.xml b/libblkid/docs/version.xml
new file mode 100644
index 0000000..4699fb0
--- /dev/null
+++ b/libblkid/docs/version.xml
@@ -0,0 +1 @@
+2.22
diff --git a/libblkid/docs/version.xml.in b/libblkid/docs/version.xml.in
new file mode 100644
index 0000000..d78bda9
--- /dev/null
+++ b/libblkid/docs/version.xml.in
@@ -0,0 +1 @@
+@VERSION@
diff --git a/libblkid/libblkid.3 b/libblkid/libblkid.3
new file mode 100644
index 0000000..e6c20b1
--- /dev/null
+++ b/libblkid/libblkid.3
@@ -0,0 +1,79 @@
+.\" Copyright 2001 Andreas Dilger (adilger@turbolinux.com)
+.\"
+.\" This man page was created for libblkid.so.1.0 from e2fsprogs-1.24.
+.\"
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.\" Created Wed Sep 14 12:02:12 2001, Andreas Dilger
+.TH LIBBLKID 3 "May 2009" "util-linux" "Programmer's Manual"
+.SH NAME
+libblkid \- block device identification library
+.SH SYNOPSIS
+.B #include <blkid.h>
+.sp
+.B cc
+.I file.c
+.B \-lblkid
+.SH DESCRIPTION
+The
+.B libblkid
+library is used to identify block devices (disks) as to their content (e.g.
+filesystem type) as well as extracting additional information such as
+filesystem labels/volume names, unique identifiers/serial numbers.
+A common use is to allow use of LABEL= and UUID= tags instead of hard-coding
+specific block device names into configuration files.
+.P
+The low-level part of the library also allows to extract information about
+partitions and block device topology.
+.P
+The high-level part of the library keeps information about block devices in a
+cache file and is verified to still be valid before being returned to the user
+(if the user has read permission on the raw block device, otherwise not).
+The cache file also allows unprivileged users (normally anyone other
+than root, or those not in the "disk" group) to locate devices by label/id.
+The standard location of the cache file can be overridden by the
+environment variable BLKID_FILE.
+.P
+In situations where one is getting information about a single known device, it
+does not impact performance whether the cache is used or not (unless you are
+not able to read the block device directly).
+.P
+The high-level part of the library supports two methods to evaluate LABEL/UUID.
+It reads information directly from a block device or read information from
+/dev/disk/by-* udev symlinks. The udev is preferred method by default.
+.P
+If you are dealing with
+multiple devices, use of the cache is highly recommended (even if empty) as
+devices will be scanned at most one time and the on-disk cache will be
+updated if possible.
+.P
+In some cases (modular kernels), block devices are not even visible until
+after they are accessed the first time, so it is critical that there is
+some way to locate these devices without enumerating only visible devices,
+so the use of the cache file is
+.B required
+in this situation.
+.SH CONFIGURATION FILE
+The standard location of the
+.I /etc/blkid.conf
+config file can be overridden by the environment variable BLKID_CONF. For more
+details about the config file see
+.BR blkid (8)
+man page.
+.SH AUTHOR
+.B libblkid
+was written by Andreas Dilger for the ext2 filesystem utilties, with input
+from Ted Ts'o. The library was subsequently heavily modified by Ted Ts'o.
+
+The low-level probing code was rewritten by Karel Zak.
+.SH AVAILABILITY
+.B libblkid
+is part of the util-linux package since version 2.15 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH COPYING
+.B libblkid
+is available under the terms of the GNU Library General Public License (LGPL),
+version 2 (or at your discretion any later version).
+.SH "SEE ALSO"
+.BR blkid (8)
+.BR findfs (8)
diff --git a/libblkid/samples/Makemodule.am b/libblkid/samples/Makemodule.am
new file mode 100644
index 0000000..0ffbf14
--- /dev/null
+++ b/libblkid/samples/Makemodule.am
@@ -0,0 +1,22 @@
+
+check_PROGRAMS += \
+ sample-mkfs \
+ sample-partitions \
+ sample-superblocks \
+ sample-topology
+
+sample_mkfs_SOURCES = libblkid/samples/mkfs.c
+sample_mkfs_LDADD = libblkid.la
+sample_mkfs_CFLAGS = -I$(ul_libblkid_incdir)
+
+sample_partitions_SOURCES = libblkid/samples/partitions.c
+sample_partitions_LDADD = libblkid.la
+sample_partitions_CFLAGS = -I$(ul_libblkid_incdir)
+
+sample_superblocks_SOURCES = libblkid/samples/superblocks.c
+sample_superblocks_LDADD = libblkid.la
+sample_superblocks_CFLAGS = -I$(ul_libblkid_incdir)
+
+sample_topology_SOURCES = libblkid/samples/topology.c
+sample_topology_LDADD = libblkid.la
+sample_topology_CFLAGS = -I$(ul_libblkid_incdir)
diff --git a/libblkid/samples/mkfs.c b/libblkid/samples/mkfs.c
new file mode 100644
index 0000000..5c3ebe7
--- /dev/null
+++ b/libblkid/samples/mkfs.c
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include <blkid.h>
+
+#include "c.h"
+
+int main(int argc, char *argv[])
+{
+ int rc;
+ char *devname;
+ blkid_probe pr;
+ blkid_topology tp;
+
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <device> "
+ "-- checks based on libblkid for mkfs-like programs.\n",
+ program_invocation_short_name);
+ return EXIT_FAILURE;
+ }
+
+ devname = argv[1];
+ pr = blkid_new_probe_from_filename(devname);
+ if (!pr)
+ err(EXIT_FAILURE, "%s: faild to create a new libblkid probe",
+ devname);
+
+ /*
+ * check Filesystems / Partitions overwrite
+ */
+
+ /* enable partitions probing (superblocks are enabled by default) */
+ blkid_probe_enable_partitions(pr, TRUE);
+
+ rc = blkid_do_fullprobe(pr);
+ if (rc == -1)
+ errx(EXIT_FAILURE, "%s: blkid_do_fullprobe() failed", devname);
+ else if (rc == 0) {
+ const char *type;
+
+ if (!blkid_probe_lookup_value(pr, "TYPE", &type, NULL))
+ errx(EXIT_FAILURE, "%s: appears to contain an existing "
+ "%s superblock", devname, type);
+
+ if (!blkid_probe_lookup_value(pr, "PTTYPE", &type, NULL))
+ errx(EXIT_FAILURE, "%s: appears to contain an partition "
+ "table (%s)", devname, type);
+ }
+
+ /*
+ * get topology details
+ */
+ tp = blkid_probe_get_topology(pr);
+ if (!tp)
+ errx(EXIT_FAILURE, "%s: failed to read topology", devname);
+
+
+ /* ... your mkfs.<type> code or so ...
+
+ off = blkid_topology_get_alignment_offset(tp);
+
+ */
+
+ blkid_free_probe(pr);
+
+ return EXIT_SUCCESS;
+}
diff --git a/libblkid/samples/partitions.c b/libblkid/samples/partitions.c
new file mode 100644
index 0000000..3b52736
--- /dev/null
+++ b/libblkid/samples/partitions.c
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include <blkid.h>
+#include "c.h"
+
+int main(int argc, char *argv[])
+{
+ int i, nparts;
+ char *devname;
+ blkid_probe pr;
+ blkid_partlist ls;
+ blkid_parttable root_tab;
+
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <device|file> "
+ "-- prints partitions\n",
+ program_invocation_short_name);
+ return EXIT_FAILURE;
+ }
+
+ devname = argv[1];
+ pr = blkid_new_probe_from_filename(devname);
+ if (!pr)
+ err(EXIT_FAILURE, "%s: faild to create a new libblkid probe",
+ devname);
+ /* Binary interface */
+ ls = blkid_probe_get_partitions(pr);
+ if (!ls)
+ errx(EXIT_FAILURE, "%s: failed to read partitions\n", devname);
+
+ /*
+ * Print info about the primary (root) partition table
+ */
+ root_tab = blkid_partlist_get_table(ls);
+ if (!root_tab)
+ errx(EXIT_FAILURE, "%s: does not contains any "
+ "known partition table\n", devname);
+
+ printf("size: %jd, sector size: %u, PT: %s, offset: %jd\n---\n",
+ blkid_probe_get_size(pr),
+ blkid_probe_get_sectorsize(pr),
+ blkid_parttable_get_type(root_tab),
+ blkid_parttable_get_offset(root_tab));
+
+ /*
+ * List partitions
+ */
+ nparts = blkid_partlist_numof_partitions(ls);
+ if (!nparts)
+ goto done;
+
+ for (i = 0; i < nparts; i++) {
+ const char *p;
+ blkid_partition par = blkid_partlist_get_partition(ls, i);
+ blkid_parttable tab = blkid_partition_get_table(par);
+
+ printf("#%d: %10llu %10llu 0x%x",
+ blkid_partition_get_partno(par),
+ (unsigned long long) blkid_partition_get_start(par),
+ (unsigned long long) blkid_partition_get_size(par),
+ blkid_partition_get_type(par));
+
+ if (root_tab != tab)
+ /* subpartition (BSD, Minix, ...) */
+ printf(" (%s)", blkid_parttable_get_type(tab));
+
+ p = blkid_partition_get_name(par);
+ if (p)
+ printf(" name='%s'", p);
+ p = blkid_partition_get_uuid(par);
+ if (p)
+ printf(" uuid='%s'", p);
+ p = blkid_partition_get_type_string(par);
+ if (p)
+ printf(" type='%s'", p);
+
+ putc('\n', stdout);
+ }
+
+done:
+ blkid_free_probe(pr);
+ return EXIT_SUCCESS;
+}
diff --git a/libblkid/samples/superblocks.c b/libblkid/samples/superblocks.c
new file mode 100644
index 0000000..20e39c9
--- /dev/null
+++ b/libblkid/samples/superblocks.c
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include <blkid.h>
+
+#include "c.h"
+
+int main(int argc, char *argv[])
+{
+ int rc;
+ char *devname;
+ blkid_probe pr;
+
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <device> "
+ "-- prints superblocks details about the device\n",
+ program_invocation_short_name);
+ return EXIT_FAILURE;
+ }
+
+ devname = argv[1];
+ pr = blkid_new_probe_from_filename(devname);
+ if (!pr)
+ err(EXIT_FAILURE, "%s: faild to create a new libblkid probe",
+ devname);
+
+ /* enable topology probing */
+ blkid_probe_enable_superblocks(pr, TRUE);
+
+ /* set all flags */
+ blkid_probe_set_superblocks_flags(pr,
+ BLKID_SUBLKS_LABEL | BLKID_SUBLKS_LABELRAW |
+ BLKID_SUBLKS_UUID | BLKID_SUBLKS_UUIDRAW |
+ BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
+ BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION |
+ BLKID_SUBLKS_MAGIC);
+
+ rc = blkid_do_safeprobe(pr);
+ if (rc == -1)
+ errx(EXIT_FAILURE, "%s: blkid_do_safeprobe() failed", devname);
+ else if (rc == 1)
+ warnx("%s: cannot gather information about superblocks", devname);
+ else {
+ int i, nvals = blkid_probe_numof_values(pr);
+
+ for (i = 0; i < nvals; i++) {
+ const char *name, *data;
+
+ blkid_probe_get_value(pr, i, &name, &data, NULL);
+ printf("\t%s = %s\n", name, data);
+ }
+ }
+
+ blkid_free_probe(pr);
+ return EXIT_SUCCESS;
+}
diff --git a/libblkid/samples/topology.c b/libblkid/samples/topology.c
new file mode 100644
index 0000000..de1c3a5
--- /dev/null
+++ b/libblkid/samples/topology.c
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include <blkid.h>
+
+#include "c.h"
+
+int main(int argc, char *argv[])
+{
+ int rc;
+ char *devname;
+ blkid_probe pr;
+ blkid_topology tp;
+
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <device> "
+ "-- prints topology details about the device\n",
+ program_invocation_short_name);
+ return EXIT_FAILURE;
+ }
+
+ devname = argv[1];
+ pr = blkid_new_probe_from_filename(devname);
+ if (!pr)
+ err(EXIT_FAILURE, "%s: faild to create a new libblkid probe",
+ devname);
+ /*
+ * Binary interface
+ */
+ tp = blkid_probe_get_topology(pr);
+ if (tp) {
+ printf("----- binary interface:\n");
+ printf("\talignment offset : %lu\n",
+ blkid_topology_get_alignment_offset(tp));
+ printf("\tminimum io size : %lu\n",
+ blkid_topology_get_minimum_io_size(tp));
+ printf("\toptimal io size : %lu\n",
+ blkid_topology_get_optimal_io_size(tp));
+ printf("\tlogical sector size : %lu\n",
+ blkid_topology_get_logical_sector_size(tp));
+ printf("\tphysical sector size : %lu\n",
+ blkid_topology_get_physical_sector_size(tp));
+ }
+
+ /*
+ * NAME=value interface
+ */
+
+ /* enable topology probing */
+ blkid_probe_enable_topology(pr, TRUE);
+
+ /* disable superblocks probing (enabled by default) */
+ blkid_probe_enable_superblocks(pr, FALSE);
+
+ rc = blkid_do_fullprobe(pr);
+ if (rc == -1)
+ errx(EXIT_FAILURE, "%s: blkid_do_fullprobe() failed", devname);
+ else if (rc == 1)
+ warnx("%s: missing topology information", devname);
+ else {
+ int i, nvals = blkid_probe_numof_values(pr);
+
+ printf("----- NAME=value interface (values: %d):\n", nvals);
+
+ for (i = 0; i < nvals; i++) {
+ const char *name, *data;
+
+ blkid_probe_get_value(pr, i, &name, &data, NULL);
+ printf("\t%s = %s\n", name, data);
+ }
+ }
+
+ blkid_free_probe(pr);
+ return EXIT_SUCCESS;
+}
diff --git a/libblkid/src/Makemodule.am b/libblkid/src/Makemodule.am
new file mode 100644
index 0000000..de60458
--- /dev/null
+++ b/libblkid/src/Makemodule.am
@@ -0,0 +1,233 @@
+
+# blkid.h is generated, so it's store in builddir!
+blkidincdir = $(includedir)/blkid
+nodist_blkidinc_HEADERS = $(top_builddir)/libblkid/src/blkid.h
+
+usrlib_exec_LTLIBRARIES += libblkid.la
+libblkid_la_SOURCES = \
+ include/list.h \
+ \
+ libblkid/src/blkidP.h \
+ libblkid/src/cache.c \
+ libblkid/src/config.c \
+ libblkid/src/dev.c \
+ libblkid/src/devname.c \
+ libblkid/src/devno.c \
+ libblkid/src/encode.c \
+ libblkid/src/evaluate.c \
+ libblkid/src/getsize.c \
+ libblkid/src/llseek.c \
+ libblkid/src/probe.c \
+ libblkid/src/read.c \
+ libblkid/src/resolve.c \
+ libblkid/src/save.c \
+ libblkid/src/superblocks/superblocks.h \
+ libblkid/src/tag.c \
+ libblkid/src/verify.c \
+ libblkid/src/version.c \
+ $(blkidinc_HEADERS) \
+ \
+ libblkid/src/partitions/aix.c \
+ libblkid/src/partitions/aix.h \
+ libblkid/src/partitions/blkid_parttypes.h \
+ libblkid/src/partitions/bsd.c \
+ libblkid/src/partitions/dos.c \
+ libblkid/src/partitions/dos.h \
+ libblkid/src/partitions/gpt.c \
+ libblkid/src/partitions/mac.c \
+ libblkid/src/partitions/minix.c \
+ libblkid/src/partitions/partitions.c \
+ libblkid/src/partitions/partitions.h \
+ libblkid/src/partitions/sgi.c \
+ libblkid/src/partitions/solaris_x86.c \
+ libblkid/src/partitions/sun.c \
+ libblkid/src/partitions/ultrix.c \
+ libblkid/src/partitions/unixware.c \
+ \
+ libblkid/src/superblocks/adaptec_raid.c \
+ libblkid/src/superblocks/befs.c \
+ libblkid/src/superblocks/bfs.c \
+ libblkid/src/superblocks/btrfs.c \
+ libblkid/src/superblocks/cramfs.c \
+ libblkid/src/superblocks/ddf_raid.c \
+ libblkid/src/superblocks/drbd.c \
+ libblkid/src/superblocks/drbdproxy_datalog.c \
+ libblkid/src/superblocks/exfat.c \
+ libblkid/src/superblocks/ext.c \
+ libblkid/src/superblocks/gfs.c \
+ libblkid/src/superblocks/hfs.c \
+ libblkid/src/superblocks/highpoint_raid.c \
+ libblkid/src/superblocks/hpfs.c \
+ libblkid/src/superblocks/iso9660.c \
+ libblkid/src/superblocks/isw_raid.c \
+ libblkid/src/superblocks/jfs.c \
+ libblkid/src/superblocks/jmicron_raid.c \
+ libblkid/src/superblocks/linux_raid.c \
+ libblkid/src/superblocks/lsi_raid.c \
+ libblkid/src/superblocks/luks.c \
+ libblkid/src/superblocks/lvm.c \
+ libblkid/src/superblocks/minix.c \
+ libblkid/src/superblocks/netware.c \
+ libblkid/src/superblocks/nilfs.c \
+ libblkid/src/superblocks/ntfs.c \
+ libblkid/src/superblocks/nvidia_raid.c \
+ libblkid/src/superblocks/ocfs.c \
+ libblkid/src/superblocks/promise_raid.c \
+ libblkid/src/superblocks/reiserfs.c \
+ libblkid/src/superblocks/romfs.c \
+ libblkid/src/superblocks/silicon_raid.c \
+ libblkid/src/superblocks/squashfs.c \
+ libblkid/src/superblocks/superblocks.c \
+ libblkid/src/superblocks/superblocks.h \
+ libblkid/src/superblocks/swap.c \
+ libblkid/src/superblocks/sysv.c \
+ libblkid/src/superblocks/ubifs.c \
+ libblkid/src/superblocks/udf.c \
+ libblkid/src/superblocks/ufs.c \
+ libblkid/src/superblocks/vfat.c \
+ libblkid/src/superblocks/via_raid.c \
+ libblkid/src/superblocks/vmfs.c \
+ libblkid/src/superblocks/vxfs.c \
+ libblkid/src/superblocks/xfs.c \
+ libblkid/src/superblocks/zfs.c \
+ \
+ libblkid/src/topology/topology.c \
+ libblkid/src/topology/topology.h
+
+if LINUX
+libblkid_la_SOURCES += \
+ libblkid/src/topology/dm.c \
+ libblkid/src/topology/evms.c \
+ libblkid/src/topology/ioctl.c \
+ libblkid/src/topology/lvm.c \
+ libblkid/src/topology/md.c \
+ libblkid/src/topology/sysfs.c
+endif
+
+nodist_libblkid_la_SOURCES = libblkid/src/blkid.h
+libblkid_la_LIBADD = libcommon.la
+
+
+libblkid_la_CFLAGS = \
+ -I$(ul_libblkid_incdir) \
+ -I$(top_srcdir)/libblkid/src
+
+if BUILD_LIBUUID
+libblkid_la_LIBADD += libuuid.la
+libblkid_la_CFLAGS += -I$(ul_libuuid_incdir)
+endif
+
+
+libblkid_la_DEPENDENCIES = \
+ $(libblkid_la_LIBADD) \
+ libblkid/src/blkid.sym \
+ libblkid/src/blkid.h.in
+
+libblkid_la_LDFLAGS = \
+ -Wl,--version-script=$(top_srcdir)/libblkid/src/blkid.sym \
+ -version-info $(LIBBLKID_VERSION_INFO)
+
+EXTRA_DIST += \
+ libblkid/src/blkid.sym \
+ libblkid/src/blkid.h.in
+
+if BUILD_LIBBLKID_TESTS
+check_PROGRAMS += \
+ test_blkid_cache \
+ test_blkid_config \
+ test_blkid_dev \
+ test_blkid_devname \
+ test_blkid_devno \
+ test_blkid_evaluate \
+ test_blkid_read \
+ test_blkid_resolve \
+ test_blkid_save \
+ test_blkid_tag \
+ test_blkid_verify
+
+blkid_tests_cflags = -DTEST_PROGRAM $(libblkid_la_CFLAGS)
+blkid_tests_ldflags =
+blkid_tests_ldadd = libblkid.la
+
+if BUILD_LIBUUID
+blkid_tests_ldflags += libuuid.la
+blkid_tests_ldadd += $(UUID_LIBS)
+endif
+
+blkid_tests_ldflags += -static
+
+test_blkid_cache_SOURCES = libblkid/src/cache.c
+test_blkid_cache_CFLAGS = $(blkid_tests_cflags)
+test_blkid_cache_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_cache_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_config_SOURCES = libblkid/src/config.c
+test_blkid_config_CFLAGS = $(blkid_tests_cflags)
+test_blkid_config_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_config_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_dev_SOURCES = libblkid/src/dev.c
+test_blkid_dev_CFLAGS = $(blkid_tests_cflags)
+test_blkid_dev_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_dev_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_devname_SOURCES = libblkid/src/devname.c
+test_blkid_devname_CFLAGS = $(blkid_tests_cflags)
+test_blkid_devname_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_devname_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_devno_SOURCES = libblkid/src/devno.c
+test_blkid_devno_CFLAGS = $(blkid_tests_cflags)
+test_blkid_devno_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_devno_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_evaluate_SOURCES = libblkid/src/evaluate.c
+test_blkid_evaluate_CFLAGS = $(blkid_tests_cflags)
+test_blkid_evaluate_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_evaluate_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_read_SOURCES = libblkid/src/read.c
+test_blkid_read_CFLAGS = $(blkid_tests_cflags)
+test_blkid_read_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_read_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_resolve_SOURCES = libblkid/src/resolve.c
+test_blkid_resolve_CFLAGS = $(blkid_tests_cflags)
+test_blkid_resolve_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_resolve_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_save_SOURCES = libblkid/src/save.c
+test_blkid_save_CFLAGS = $(blkid_tests_cflags)
+test_blkid_save_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_save_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_tag_SOURCES = libblkid/src/tag.c
+test_blkid_tag_CFLAGS = $(blkid_tests_cflags)
+test_blkid_tag_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_tag_LDADD = $(blkid_tests_ldadd)
+
+test_blkid_verify_SOURCES = libblkid/src/verify.c
+test_blkid_verify_CFLAGS = $(blkid_tests_cflags)
+test_blkid_verify_LDFLAGS = $(blkid_tests_ldflags)
+test_blkid_verify_LDADD = $(blkid_tests_ldadd)
+
+endif # BUILD_LIBBLKID_TESTS
+
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+install-exec-hook-libblkid:
+ if test "$(usrlib_execdir)" != "$(libdir)"; then \
+ mkdir -p $(DESTDIR)$(libdir); \
+ mv $(DESTDIR)$(usrlib_execdir)/libblkid.so.* $(DESTDIR)$(libdir); \
+ so_img_name=$$(readlink $(DESTDIR)$(usrlib_execdir)/libblkid.so); \
+ so_img_rel_target=$$(echo $(usrlib_execdir) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
+ (cd $(DESTDIR)$(usrlib_execdir) && \
+ rm -f libblkid.so && \
+ $(LN_S) $$so_img_rel_target$(libdir)/$$so_img_name libblkid.so); \
+ fi
+
+uninstall-hook-libblkid:
+ rm -f $(DESTDIR)$(libdir)/libblkid.so*
+
+INSTALL_EXEC_HOOKS += install-exec-hook-libblkid
+UNINSTALL_HOOKS += uninstall-hook-libblkid
diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in
new file mode 100644
index 0000000..8f6d336
--- /dev/null
+++ b/libblkid/src/blkid.h.in
@@ -0,0 +1,351 @@
+/*
+ * blkid.h - Interface for libblkid, a library to identify block devices
+ *
+ * Copyright (C) 2001 Andreas Dilger
+ * Copyright (C) 2003 Theodore Ts'o
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _BLKID_BLKID_H
+#define _BLKID_BLKID_H
+
+#include <stdint.h>
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define BLKID_VERSION "@LIBBLKID_VERSION@"
+#define BLKID_DATE "@LIBBLKID_DATE@"
+
+/**
+ * blkid_dev:
+ *
+ * The device object keeps information about one device
+ */
+typedef struct blkid_struct_dev *blkid_dev;
+
+/**
+ * blkid_cache:
+ *
+ * information about all system devices
+ */
+typedef struct blkid_struct_cache *blkid_cache;
+
+/**
+ * blkid_probe:
+ *
+ * low-level probing setting
+ */
+typedef struct blkid_struct_probe *blkid_probe;
+
+/**
+ * blkid_topology:
+ *
+ * device topology information
+ */
+typedef struct blkid_struct_topology *blkid_topology;
+
+/**
+ * blkid_partlist
+ *
+ * list of all detected partitions and partitions tables
+ */
+typedef struct blkid_struct_partlist *blkid_partlist;
+
+/**
+ * blkid_partition:
+ *
+ * information about a partition
+ */
+typedef struct blkid_struct_partition *blkid_partition;
+
+/**
+ * blkid_parttable:
+ *
+ * information about a partition table
+ */
+typedef struct blkid_struct_parttable *blkid_parttable;
+
+/**
+ * blkid_loff_t:
+ *
+ * 64-bit signed number for offsets and sizes
+ */
+typedef int64_t blkid_loff_t;
+
+/**
+ * blkid_tag_iterate:
+ *
+ * tags iterator for high-level (blkid_cache) API
+ */
+typedef struct blkid_struct_tag_iterate *blkid_tag_iterate;
+
+/**
+ * blkid_dev_iterate:
+ *
+ * devices iterator for high-level (blkid_cache) API
+ */
+typedef struct blkid_struct_dev_iterate *blkid_dev_iterate;
+
+/*
+ * Flags for blkid_get_dev
+ *
+ * BLKID_DEV_CREATE Create an empty device structure if not found
+ * in the cache.
+ * BLKID_DEV_VERIFY Make sure the device structure corresponds
+ * with reality.
+ * BLKID_DEV_FIND Just look up a device entry, and return NULL
+ * if it is not found.
+ * BLKID_DEV_NORMAL Get a valid device structure, either from the
+ * cache or by probing the device.
+ */
+#define BLKID_DEV_FIND 0x0000
+#define BLKID_DEV_CREATE 0x0001
+#define BLKID_DEV_VERIFY 0x0002
+#define BLKID_DEV_NORMAL (BLKID_DEV_CREATE | BLKID_DEV_VERIFY)
+
+/* cache.c */
+extern void blkid_put_cache(blkid_cache cache);
+extern int blkid_get_cache(blkid_cache *cache, const char *filename);
+extern void blkid_gc_cache(blkid_cache cache);
+
+/* dev.c */
+extern const char *blkid_dev_devname(blkid_dev dev);
+
+extern blkid_dev_iterate blkid_dev_iterate_begin(blkid_cache cache);
+extern int blkid_dev_set_search(blkid_dev_iterate iter,
+ char *search_type, char *search_value);
+extern int blkid_dev_next(blkid_dev_iterate iterate, blkid_dev *dev);
+extern void blkid_dev_iterate_end(blkid_dev_iterate iterate);
+
+/* devno.c */
+extern char *blkid_devno_to_devname(dev_t devno);
+extern int blkid_devno_to_wholedisk(dev_t dev, char *diskname,
+ size_t len, dev_t *diskdevno);
+
+/* devname.c */
+extern int blkid_probe_all(blkid_cache cache);
+extern int blkid_probe_all_new(blkid_cache cache);
+extern int blkid_probe_all_removable(blkid_cache cache);
+extern blkid_dev blkid_get_dev(blkid_cache cache, const char *devname,
+ int flags);
+
+/* getsize.c */
+extern blkid_loff_t blkid_get_dev_size(int fd);
+
+/* verify.c */
+extern blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev);
+
+/* read.c */
+
+/* resolve.c */
+extern char *blkid_get_tag_value(blkid_cache cache, const char *tagname,
+ const char *devname);
+extern char *blkid_get_devname(blkid_cache cache, const char *token,
+ const char *value);
+
+/* tag.c */
+extern blkid_tag_iterate blkid_tag_iterate_begin(blkid_dev dev);
+extern int blkid_tag_next(blkid_tag_iterate iterate,
+ const char **type, const char **value);
+extern void blkid_tag_iterate_end(blkid_tag_iterate iterate);
+extern int blkid_dev_has_tag(blkid_dev dev, const char *type,
+ const char *value);
+extern blkid_dev blkid_find_dev_with_tag(blkid_cache cache,
+ const char *type,
+ const char *value);
+extern int blkid_parse_tag_string(const char *token, char **ret_type,
+ char **ret_val);
+
+/* version.c */
+extern int blkid_parse_version_string(const char *ver_string);
+extern int blkid_get_library_version(const char **ver_string,
+ const char **date_string);
+
+/* encode.c */
+extern int blkid_encode_string(const char *str, char *str_enc, size_t len);
+extern int blkid_safe_string(const char *str, char *str_safe, size_t len);
+
+/* evaluate.c */
+extern int blkid_send_uevent(const char *devname, const char *action);
+extern char *blkid_evaluate_tag(const char *token, const char *value,
+ blkid_cache *cache);
+extern char *blkid_evaluate_spec(const char *spec, blkid_cache *cache);
+
+/* probe.c */
+extern blkid_probe blkid_new_probe(void);
+extern blkid_probe blkid_new_probe_from_filename(const char *filename);
+extern void blkid_free_probe(blkid_probe pr);
+extern void blkid_reset_probe(blkid_probe pr);
+
+extern int blkid_probe_set_device(blkid_probe pr, int fd,
+ blkid_loff_t off, blkid_loff_t size);
+
+extern dev_t blkid_probe_get_devno(blkid_probe pr);
+extern dev_t blkid_probe_get_wholedisk_devno(blkid_probe pr);
+extern int blkid_probe_is_wholedisk(blkid_probe pr);
+
+extern blkid_loff_t blkid_probe_get_size(blkid_probe pr);
+extern blkid_loff_t blkid_probe_get_offset(blkid_probe pr);
+extern unsigned int blkid_probe_get_sectorsize(blkid_probe pr);
+extern blkid_loff_t blkid_probe_get_sectors(blkid_probe pr);
+
+extern int blkid_probe_get_fd(blkid_probe pr);
+
+/*
+ * superblocks probing
+ */
+extern int blkid_known_fstype(const char *fstype);
+extern int blkid_superblocks_get_name(size_t idx, const char **name, int *usage);
+
+extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable);
+
+#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */
+#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/
+#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */
+#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */
+#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */
+#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */
+#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */
+#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */
+#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */
+
+#define BLKID_SUBLKS_DEFAULT (BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | \
+ BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE)
+
+extern int blkid_probe_set_superblocks_flags(blkid_probe pr, int flags);
+
+extern int blkid_probe_reset_superblocks_filter(blkid_probe pr);
+extern int blkid_probe_invert_superblocks_filter(blkid_probe pr);
+
+/**
+ * BLKID_FLTR_NOTIN
+ */
+#define BLKID_FLTR_NOTIN 1
+/**
+ * BLKID_FLTR_ONLYIN
+ */
+#define BLKID_FLTR_ONLYIN 2
+extern int blkid_probe_filter_superblocks_type(blkid_probe pr, int flag, char *names[]);
+
+#define BLKID_USAGE_FILESYSTEM (1 << 1)
+#define BLKID_USAGE_RAID (1 << 2)
+#define BLKID_USAGE_CRYPTO (1 << 3)
+#define BLKID_USAGE_OTHER (1 << 4)
+extern int blkid_probe_filter_superblocks_usage(blkid_probe pr, int flag, int usage);
+
+/*
+ * topology probing
+ */
+extern int blkid_probe_enable_topology(blkid_probe pr, int enable);
+
+/* binary interface */
+extern blkid_topology blkid_probe_get_topology(blkid_probe pr);
+
+extern unsigned long blkid_topology_get_alignment_offset(blkid_topology tp);
+extern unsigned long blkid_topology_get_minimum_io_size(blkid_topology tp);
+extern unsigned long blkid_topology_get_optimal_io_size(blkid_topology tp);
+extern unsigned long blkid_topology_get_logical_sector_size(blkid_topology tp);
+extern unsigned long blkid_topology_get_physical_sector_size(blkid_topology tp);
+
+/*
+ * partitions probing
+ */
+extern int blkid_known_pttype(const char *pttype);
+extern int blkid_probe_enable_partitions(blkid_probe pr, int enable);
+
+extern int blkid_probe_reset_partitions_filter(blkid_probe pr);
+extern int blkid_probe_invert_partitions_filter(blkid_probe pr);
+extern int blkid_probe_filter_partitions_type(blkid_probe pr, int flag, char *names[]);
+
+
+/* partitions probing flags */
+#define BLKID_PARTS_FORCE_GPT (1 << 1)
+#define BLKID_PARTS_ENTRY_DETAILS (1 << 2)
+#define BLKID_PARTS_MAGIC (1 << 3)
+extern int blkid_probe_set_partitions_flags(blkid_probe pr, int flags);
+
+/* binary interface */
+extern blkid_partlist blkid_probe_get_partitions(blkid_probe pr);
+
+extern int blkid_partlist_numof_partitions(blkid_partlist ls);
+extern blkid_parttable blkid_partlist_get_table(blkid_partlist ls);
+extern blkid_partition blkid_partlist_get_partition(blkid_partlist ls, int n);
+extern blkid_partition blkid_partlist_devno_to_partition(blkid_partlist ls, dev_t devno);
+
+extern blkid_parttable blkid_partition_get_table(blkid_partition par);
+extern const char *blkid_partition_get_name(blkid_partition par);
+extern const char *blkid_partition_get_uuid(blkid_partition par);
+extern int blkid_partition_get_partno(blkid_partition par);
+extern blkid_loff_t blkid_partition_get_start(blkid_partition par);
+extern blkid_loff_t blkid_partition_get_size(blkid_partition par);
+extern int blkid_partition_get_type(blkid_partition par);
+extern const char *blkid_partition_get_type_string(blkid_partition par);
+extern unsigned long long blkid_partition_get_flags(blkid_partition par);
+extern int blkid_partition_is_logical(blkid_partition par);
+extern int blkid_partition_is_extended(blkid_partition par);
+extern int blkid_partition_is_primary(blkid_partition par);
+
+extern const char *blkid_parttable_get_type(blkid_parttable tab);
+extern blkid_loff_t blkid_parttable_get_offset(blkid_parttable tab);
+extern blkid_partition blkid_parttable_get_parent(blkid_parttable tab);
+
+/*
+ * NAME=value low-level interface
+ */
+extern int blkid_do_probe(blkid_probe pr);
+extern int blkid_do_safeprobe(blkid_probe pr);
+extern int blkid_do_fullprobe(blkid_probe pr);
+
+extern int blkid_probe_numof_values(blkid_probe pr);
+extern int blkid_probe_get_value(blkid_probe pr, int num, const char **name,
+ const char **data, size_t *len);
+extern int blkid_probe_lookup_value(blkid_probe pr, const char *name,
+ const char **data, size_t *len);
+extern int blkid_probe_has_value(blkid_probe pr, const char *name);
+
+extern int blkid_do_wipe(blkid_probe pr, int dryrun);
+
+/*
+ * Deprecated functions/macros
+ */
+#ifndef BLKID_DISABLE_DEPRECATED
+
+#define BLKID_PROBREQ_LABEL BLKID_SUBLKS_LABEL
+#define BLKID_PROBREQ_LABELRAW BLKID_SUBLKS_LABELRAW
+#define BLKID_PROBREQ_UUID BLKID_SUBLKS_UUID
+#define BLKID_PROBREQ_UUIDRAW BLKID_SUBLKS_UUIDRAW
+#define BLKID_PROBREQ_TYPE BLKID_SUBLKS_TYPE
+#define BLKID_PROBREQ_SECTYPE BLKID_SUBLKS_SECTYPE
+#define BLKID_PROBREQ_USAGE BLKID_SUBLKS_USAGE
+#define BLKID_PROBREQ_VERSION BLKID_SUBLKS_VERSION
+
+extern int blkid_probe_set_request(blkid_probe pr, int flags);
+extern int blkid_probe_filter_usage(blkid_probe pr, int flag, int usage);
+extern int blkid_probe_filter_types(blkid_probe pr, int flag, char *names[]);
+extern int blkid_probe_invert_filter(blkid_probe pr);
+extern int blkid_probe_reset_filter(blkid_probe pr);
+
+#endif /* BLKID_DISABLE_DEPRECATED */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _BLKID_BLKID_H */
diff --git a/libblkid/src/blkid.sym b/libblkid/src/blkid.sym
new file mode 100644
index 0000000..62f981f
--- /dev/null
+++ b/libblkid/src/blkid.sym
@@ -0,0 +1,148 @@
+/*
+ * The symbol versioning ensures that a new application requiring symbol foo()
+ * can't run with old libblkid.so not providing foo() - the global SONAME
+ * version info can't enforce this since we never change the SONAME.
+ *
+ * The original libblkid from e2fsprogs (<=1.41.4) does not to use
+ * symbol versioning -- all the original symbols are in BLKID_1.0 now.
+ */
+BLKID_1.0 {
+global:
+ blkid_dev_devname;
+ blkid_dev_has_tag;
+ blkid_dev_iterate_begin;
+ blkid_dev_iterate_end;
+ blkid_dev_next;
+ blkid_devno_to_devname;
+ blkid_dev_set_search;
+ blkid_find_dev_with_tag;
+ blkid_gc_cache;
+ blkid_get_cache;
+ blkid_get_dev;
+ blkid_get_devname;
+ blkid_get_dev_size;
+ blkid_get_library_version;
+ blkid_get_tag_value;
+ blkid_known_fstype;
+ blkid_parse_tag_string;
+ blkid_parse_version_string;
+ blkid_probe_all;
+ blkid_probe_all_new;
+ blkid_put_cache;
+ blkid_tag_iterate_begin;
+ blkid_tag_iterate_end;
+ blkid_tag_next;
+ blkid_verify;
+local:
+ *;
+};
+
+
+/*
+ * symbols since util-linux 2.15
+ */
+BLKID_2.15 {
+global:
+ blkid_do_probe;
+ blkid_do_safeprobe;
+ blkid_encode_string;
+ blkid_evaluate_tag;
+ blkid_free_probe;
+ blkid_new_probe;
+ blkid_probe_filter_types;
+ blkid_probe_filter_usage;
+ blkid_probe_get_value;
+ blkid_probe_has_value;
+ blkid_probe_invert_filter;
+ blkid_probe_lookup_value;
+ blkid_probe_numof_values;
+ blkid_probe_reset_filter;
+ blkid_probe_set_device;
+ blkid_probe_set_request;
+ blkid_reset_probe;
+ blkid_safe_string;
+ blkid_send_uevent;
+} BLKID_1.0;
+
+/*
+ * symbols since util-linux 2.17
+ */
+BLKID_2.17 {
+global:
+ blkid_devno_to_wholedisk;
+ blkid_do_fullprobe;
+ blkid_known_pttype;
+ blkid_new_probe_from_filename;
+ blkid_partition_get_name;
+ blkid_partition_get_partno;
+ blkid_partition_get_size;
+ blkid_partition_get_start;
+ blkid_partition_get_table;
+ blkid_partition_get_type;
+ blkid_partition_get_type_string;
+ blkid_partition_get_uuid;
+ blkid_partition_is_extended;
+ blkid_partition_is_logical;
+ blkid_partition_is_primary;
+ blkid_partlist_get_partition;
+ blkid_partlist_numof_partitions;
+ blkid_parttable_get_offset;
+ blkid_parttable_get_parent;
+ blkid_parttable_get_type;
+ blkid_probe_enable_partitions;
+ blkid_probe_enable_superblocks;
+ blkid_probe_enable_topology;
+ blkid_probe_filter_partitions_type;
+ blkid_probe_filter_superblocks_type;
+ blkid_probe_filter_superblocks_usage;
+ blkid_probe_get_devno;
+ blkid_probe_get_partitions;
+ blkid_probe_get_sectorsize;
+ blkid_probe_get_sectors;
+ blkid_probe_get_size;
+ blkid_probe_get_topology;
+ blkid_probe_invert_partitions_filter;
+ blkid_probe_invert_superblocks_filter;
+ blkid_probe_reset_partitions_filter;
+ blkid_probe_reset_superblocks_filter;
+ blkid_probe_set_partitions_flags;
+ blkid_probe_set_superblocks_flags;
+ blkid_topology_get_alignment_offset;
+ blkid_topology_get_logical_sector_size;
+ blkid_topology_get_minimum_io_size;
+ blkid_topology_get_optimal_io_size;
+ blkid_topology_get_physical_sector_size;
+} BLKID_2.15;
+
+/*
+ * symbols since util-linux 2.18
+ */
+BLKID_2.18 {
+global:
+ blkid_partition_get_flags;
+ blkid_partlist_devno_to_partition;
+ blkid_partlist_get_table;
+ blkid_probe_all_removable;
+ blkid_probe_get_fd;
+ blkid_probe_get_offset;
+ blkid_probe_get_wholedisk_devno;
+ blkid_probe_is_wholedisk;
+} BLKID_2.17;
+
+/*
+ * symbols since util-linux 2.20
+ */
+BLKID_2.20 {
+global:
+ blkid_evaluate_spec;
+ blkid_superblocks_get_name;
+} BLKID_2.18;
+
+/*
+ * symbols since util-linux 2.21
+ */
+BLKID_2.21 {
+global:
+ blkid_do_wipe;
+} BLKID_2.20;
+
diff --git a/libblkid/src/blkidP.h b/libblkid/src/blkidP.h
new file mode 100644
index 0000000..f2151ac
--- /dev/null
+++ b/libblkid/src/blkidP.h
@@ -0,0 +1,481 @@
+/*
+ * blkidP.h - Internal interfaces for libblkid
+ *
+ * Copyright (C) 2001 Andreas Dilger
+ * Copyright (C) 2003 Theodore Ts'o
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#ifndef _BLKID_BLKIDP_H
+#define _BLKID_BLKIDP_H
+
+/* support debug output if LIBBLKID_DEBUG env. variable is set */
+#define CONFIG_BLKID_DEBUG 1
+
+/* Always confirm that /dev/disk-by symlinks match with LABEL/UUID on device */
+/* #define CONFIG_BLKID_VERIFY_UDEV 1 */
+
+#include <sys/types.h>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <stdint.h>
+
+#include "c.h"
+#include "bitops.h" /* $(top_srcdir)/include/ */
+#include "blkdev.h"
+
+#include "blkid.h"
+#include "list.h"
+
+/*
+ * This describes the attributes of a specific device.
+ * We can traverse all of the tags by bid_tags (linking to the tag bit_names).
+ * The bid_label and bid_uuid fields are shortcuts to the LABEL and UUID tag
+ * values, if they exist.
+ */
+struct blkid_struct_dev
+{
+ struct list_head bid_devs; /* All devices in the cache */
+ struct list_head bid_tags; /* All tags for this device */
+ blkid_cache bid_cache; /* Dev belongs to this cache */
+ char *bid_name; /* Device inode pathname */
+ char *bid_type; /* Preferred device TYPE */
+ int bid_pri; /* Device priority */
+ dev_t bid_devno; /* Device major/minor number */
+ time_t bid_time; /* Last update time of device */
+ suseconds_t bid_utime; /* Last update time (microseconds) */
+ unsigned int bid_flags; /* Device status bitflags */
+ char *bid_label; /* Shortcut to device LABEL */
+ char *bid_uuid; /* Shortcut to binary UUID */
+};
+
+#define BLKID_BID_FL_VERIFIED 0x0001 /* Device data validated from disk */
+#define BLKID_BID_FL_INVALID 0x0004 /* Device is invalid */
+#define BLKID_BID_FL_REMOVABLE 0x0008 /* Device added by blkid_probe_all_removable() */
+
+/*
+ * Each tag defines a NAME=value pair for a particular device. The tags
+ * are linked via bit_names for a single device, so that traversing the
+ * names list will get you a list of all tags associated with a device.
+ * They are also linked via bit_values for all devices, so one can easily
+ * search all tags with a given NAME for a specific value.
+ */
+struct blkid_struct_tag
+{
+ struct list_head bit_tags; /* All tags for this device */
+ struct list_head bit_names; /* All tags with given NAME */
+ char *bit_name; /* NAME of tag (shared) */
+ char *bit_val; /* value of tag */
+ blkid_dev bit_dev; /* pointer to device */
+};
+typedef struct blkid_struct_tag *blkid_tag;
+
+/*
+ * Chain IDs
+ */
+enum {
+ BLKID_CHAIN_SUBLKS, /* FS/RAID superblocks (enabled by default) */
+ BLKID_CHAIN_TOPLGY, /* Block device topology */
+ BLKID_CHAIN_PARTS, /* Partition tables */
+
+ BLKID_NCHAINS /* number of chains */
+};
+
+struct blkid_chain {
+ const struct blkid_chaindrv *driver; /* chain driver */
+
+ int enabled; /* boolean */
+ int flags; /* BLKID_<chain>_* */
+ int binary; /* boolean */
+ int idx; /* index of the current prober (or -1) */
+ unsigned long *fltr; /* filter or NULL */
+ void *data; /* private chain data or NULL */
+};
+
+/*
+ * Chain driver
+ */
+struct blkid_chaindrv {
+ const size_t id; /* BLKID_CHAIN_* */
+ const char *name; /* name of chain (for debug purpose) */
+ const int dflt_flags; /* default chain flags */
+ const int dflt_enabled; /* default enabled boolean */
+ int has_fltr; /* boolean */
+
+ const struct blkid_idinfo **idinfos; /* description of probing functions */
+ const size_t nidinfos; /* number of idinfos */
+
+ /* driver operations */
+ int (*probe)(blkid_probe, struct blkid_chain *);
+ int (*safeprobe)(blkid_probe, struct blkid_chain *);
+ void (*free_data)(blkid_probe, void *);
+};
+
+/*
+ * Low-level probe result
+ */
+#define BLKID_PROBVAL_BUFSIZ 64
+
+#define BLKID_NVALS_SUBLKS 14
+#define BLKID_NVALS_TOPLGY 5
+#define BLKID_NVALS_PARTS 13
+
+/* Max number of all values in probing result */
+#define BLKID_NVALS (BLKID_NVALS_SUBLKS + \
+ BLKID_NVALS_TOPLGY + \
+ BLKID_NVALS_PARTS)
+
+struct blkid_prval
+{
+ const char *name; /* value name */
+ unsigned char data[BLKID_PROBVAL_BUFSIZ]; /* value data */
+ size_t len; /* length of value data */
+
+ struct blkid_chain *chain; /* owner */
+};
+
+/*
+ * Filesystem / Raid magic strings
+ */
+struct blkid_idmag
+{
+ const char *magic; /* magic string */
+ unsigned int len; /* length of magic */
+
+ long kboff; /* kilobyte offset of superblock */
+ unsigned int sboff; /* byte offset within superblock */
+};
+
+/*
+ * Filesystem / Raid description
+ */
+struct blkid_idinfo
+{
+ const char *name; /* fs, raid or partition table name */
+ int usage; /* BLKID_USAGE_* flag */
+ int flags; /* BLKID_IDINFO_* flags */
+ int minsz; /* minimal device size */
+
+ /* probe function */
+ int (*probefunc)(blkid_probe pr, const struct blkid_idmag *mag);
+
+ struct blkid_idmag magics[]; /* NULL or array with magic strings */
+};
+
+#define BLKID_NONE_MAGIC {{ NULL }}
+
+/*
+ * tolerant FS - can share the same device with more filesystems (e.g. typical
+ * on CD-ROMs). We need this flag to detect ambivalent results (e.g. valid fat
+ * and valid linux swap on the same device).
+ */
+#define BLKID_IDINFO_TOLERANT (1 << 1)
+
+struct blkid_bufinfo {
+ unsigned char *data;
+ blkid_loff_t off;
+ blkid_loff_t len;
+ struct list_head bufs; /* list of buffers */
+};
+
+/*
+ * Low-level probing control struct
+ */
+struct blkid_struct_probe
+{
+ int fd; /* device file descriptor */
+ blkid_loff_t off; /* begin of data on the device */
+ blkid_loff_t size; /* end of data on the device */
+
+ dev_t devno; /* device number (st.st_rdev) */
+ dev_t disk_devno; /* devno of the whole-disk or 0 */
+ unsigned int blkssz; /* sector size (BLKSSZGET ioctl) */
+ mode_t mode; /* struct stat.sb_mode */
+
+ int flags; /* private libray flags */
+ int prob_flags; /* always zeroized by blkid_do_*() */
+
+ blkid_loff_t wipe_off; /* begin of the wiped area */
+ blkid_loff_t wipe_size; /* size of the wiped area */
+ struct blkid_chain *wipe_chain; /* superblock, partition, ... */
+
+ struct list_head buffers; /* list of buffers */
+
+ struct blkid_chain chains[BLKID_NCHAINS]; /* array of chains */
+ struct blkid_chain *cur_chain; /* current chain */
+
+ struct blkid_prval vals[BLKID_NVALS]; /* results */
+ int nvals; /* number of assigned vals */
+
+ struct blkid_struct_probe *parent; /* for clones */
+ struct blkid_struct_probe *disk_probe; /* whole-disk probing */
+};
+
+/* private flags library flags */
+#define BLKID_FL_PRIVATE_FD (1 << 1) /* see blkid_new_probe_from_filename() */
+#define BLKID_FL_TINY_DEV (1 << 2) /* <= 1.47MiB (floppy or so) */
+#define BLKID_FL_CDROM_DEV (1 << 3) /* is a CD/DVD drive */
+
+/* private per-probing flags */
+#define BLKID_PROBE_FL_IGNORE_PT (1 << 1) /* ignore partition table */
+
+extern blkid_probe blkid_clone_probe(blkid_probe parent);
+extern blkid_probe blkid_probe_get_wholedisk_probe(blkid_probe pr);
+
+/*
+ * Evaluation methods (for blkid_eval_* API)
+ */
+enum {
+ BLKID_EVAL_UDEV = 0,
+ BLKID_EVAL_SCAN,
+
+ __BLKID_EVAL_LAST
+};
+
+/*
+ * Library config options
+ */
+struct blkid_config {
+ int eval[__BLKID_EVAL_LAST]; /* array with EVALUATION=<udev,cache> options */
+ int nevals; /* number of elems in eval array */
+ int uevent; /* SEND_UEVENT=<yes|not> option */
+ char *cachefile; /* CACHE_FILE=<path> option */
+};
+
+extern struct blkid_config *blkid_read_config(const char *filename);
+extern void blkid_free_config(struct blkid_config *conf);
+
+/*
+ * Minimum number of seconds between device probes, even when reading
+ * from the cache. This is to avoid re-probing all devices which were
+ * just probed by another program that does not share the cache.
+ */
+#define BLKID_PROBE_MIN 2
+
+/*
+ * Time in seconds an entry remains verified in the in-memory cache
+ * before being reverified (in case of long-running processes that
+ * keep a cache in memory and continue to use it for a long time).
+ */
+#define BLKID_PROBE_INTERVAL 200
+
+/* This describes an entire blkid cache file and probed devices.
+ * We can traverse all of the found devices via bic_list.
+ * We can traverse all of the tag types by bic_tags, which hold empty tags
+ * for each tag type. Those tags can be used as list_heads for iterating
+ * through all devices with a specific tag type (e.g. LABEL).
+ */
+struct blkid_struct_cache
+{
+ struct list_head bic_devs; /* List head of all devices */
+ struct list_head bic_tags; /* List head of all tag types */
+ time_t bic_time; /* Last probe time */
+ time_t bic_ftime; /* Mod time of the cachefile */
+ unsigned int bic_flags; /* Status flags of the cache */
+ char *bic_filename; /* filename of cache */
+ blkid_probe probe; /* low-level probing stuff */
+};
+
+#define BLKID_BIC_FL_PROBED 0x0002 /* We probed /proc/partition devices */
+#define BLKID_BIC_FL_CHANGED 0x0004 /* Cache has changed from disk */
+
+extern char *blkid_strdup(const char *s);
+extern char *blkid_strndup(const char *s, const int length);
+extern char *blkid_strconcat(const char *a, const char *b, const char *c);
+
+/* config file */
+#define BLKID_CONFIG_FILE "/etc/blkid.conf"
+
+/* cache file on systemds with /run */
+#define BLKID_RUNTIME_TOPDIR "/run"
+#define BLKID_RUNTIME_DIR BLKID_RUNTIME_TOPDIR "/blkid"
+#define BLKID_CACHE_FILE BLKID_RUNTIME_DIR "/blkid.tab"
+
+/* old systems */
+#define BLKID_CACHE_FILE_OLD "/etc/blkid.tab"
+
+#define BLKID_ERR_IO 5
+#define BLKID_ERR_PROC 9
+#define BLKID_ERR_MEM 12
+#define BLKID_ERR_CACHE 14
+#define BLKID_ERR_DEV 19
+#define BLKID_ERR_PARAM 22
+#define BLKID_ERR_BIG 27
+
+/*
+ * Priority settings for different types of devices
+ */
+#define BLKID_PRI_UBI 50
+#define BLKID_PRI_DM 40
+#define BLKID_PRI_EVMS 30
+#define BLKID_PRI_LVM 20
+#define BLKID_PRI_MD 10
+
+#if defined(TEST_PROGRAM) && !defined(CONFIG_BLKID_DEBUG)
+#define CONFIG_BLKID_DEBUG
+#endif
+
+#define DEBUG_CACHE 0x0001
+#define DEBUG_DUMP 0x0002
+#define DEBUG_DEV 0x0004
+#define DEBUG_DEVNAME 0x0008
+#define DEBUG_DEVNO 0x0010
+#define DEBUG_PROBE 0x0020
+#define DEBUG_READ 0x0040
+#define DEBUG_RESOLVE 0x0080
+#define DEBUG_SAVE 0x0100
+#define DEBUG_TAG 0x0200
+#define DEBUG_LOWPROBE 0x0400
+#define DEBUG_CONFIG 0x0800
+#define DEBUG_EVALUATE 0x1000
+#define DEBUG_INIT 0x8000
+#define DEBUG_ALL 0xFFFF
+
+#ifdef CONFIG_BLKID_DEBUG
+extern int blkid_debug_mask;
+extern void blkid_init_debug(int mask);
+extern void blkid_debug_dump_dev(blkid_dev dev);
+extern void blkid_debug_dump_tag(blkid_tag tag);
+
+#define DBG(m,x) if ((m) & blkid_debug_mask) x;
+
+#else /* !CONFIG_BLKID_DEBUG */
+#define DBG(m,x)
+#define blkid_init_debug(x)
+#endif /* CONFIG_BLKID_DEBUG */
+
+/* devno.c */
+struct dir_list {
+ char *name;
+ struct dir_list *next;
+};
+extern void blkid__scan_dir(char *, dev_t, struct dir_list **, char **);
+extern int blkid_driver_has_major(const char *drvname, int major);
+
+/* lseek.c */
+extern blkid_loff_t blkid_llseek(int fd, blkid_loff_t offset, int whence);
+
+/* read.c */
+extern void blkid_read_cache(blkid_cache cache);
+
+/* save.c */
+extern int blkid_flush_cache(blkid_cache cache);
+
+/* cache */
+extern char *blkid_safe_getenv(const char *arg);
+extern char *blkid_get_cache_filename(struct blkid_config *conf);
+
+/*
+ * Functions to create and find a specific tag type: tag.c
+ */
+extern void blkid_free_tag(blkid_tag tag);
+extern blkid_tag blkid_find_tag_dev(blkid_dev dev, const char *type);
+extern int blkid_set_tag(blkid_dev dev, const char *name,
+ const char *value, const int vlength);
+
+/*
+ * Functions to create and find a specific tag type: dev.c
+ */
+extern blkid_dev blkid_new_dev(void);
+extern void blkid_free_dev(blkid_dev dev);
+
+/* probe.c */
+extern int blkid_probe_is_tiny(blkid_probe pr);
+extern int blkid_probe_is_cdrom(blkid_probe pr);
+extern unsigned char *blkid_probe_get_buffer(blkid_probe pr,
+ blkid_loff_t off, blkid_loff_t len);
+
+extern unsigned char *blkid_probe_get_sector(blkid_probe pr, unsigned int sector);
+
+extern int blkid_probe_get_dimension(blkid_probe pr,
+ blkid_loff_t *off, blkid_loff_t *size);
+
+extern int blkid_probe_set_dimension(blkid_probe pr,
+ blkid_loff_t off, blkid_loff_t size);
+
+extern int blkid_probe_get_idmag(blkid_probe pr, const struct blkid_idinfo *id,
+ blkid_loff_t *offset, const struct blkid_idmag **res);
+
+/* returns superblok according to 'struct blkid_idmag' */
+#define blkid_probe_get_sb(_pr, _mag, type) \
+ ((type *) blkid_probe_get_buffer((_pr),\
+ (_mag)->kboff << 10, sizeof(type)))
+
+extern blkid_partlist blkid_probe_get_partlist(blkid_probe pr);
+
+extern int blkid_probe_is_covered_by_pt(blkid_probe pr,
+ blkid_loff_t offset, blkid_loff_t size);
+
+extern void blkid_probe_chain_reset_vals(blkid_probe pr, struct blkid_chain *chn);
+extern int blkid_probe_chain_copy_vals(blkid_probe pr, struct blkid_chain *chn,
+ struct blkid_prval *vals, int nvals);
+extern struct blkid_prval *blkid_probe_assign_value(blkid_probe pr, const char *name);
+extern int blkid_probe_reset_last_value(blkid_probe pr);
+extern void blkid_probe_append_vals(blkid_probe pr, struct blkid_prval *vals, int nvals);
+
+extern struct blkid_chain *blkid_probe_get_chain(blkid_probe pr);
+
+extern struct blkid_prval *__blkid_probe_get_value(blkid_probe pr, int num);
+extern struct blkid_prval *__blkid_probe_lookup_value(blkid_probe pr, const char *name);
+
+extern unsigned long *blkid_probe_get_filter(blkid_probe pr, int chain, int create);
+extern int __blkid_probe_invert_filter(blkid_probe pr, int chain);
+extern int __blkid_probe_reset_filter(blkid_probe pr, int chain);
+extern int __blkid_probe_filter_types(blkid_probe pr, int chain, int flag, char *names[]);
+
+extern void *blkid_probe_get_binary_data(blkid_probe pr, struct blkid_chain *chn);
+
+extern int blkid_probe_set_value(blkid_probe pr, const char *name,
+ unsigned char *data, size_t len);
+extern int blkid_probe_vsprintf_value(blkid_probe pr, const char *name,
+ const char *fmt, va_list ap);
+
+extern int blkid_probe_sprintf_value(blkid_probe pr, const char *name,
+ const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
+
+extern int blkid_probe_set_magic(blkid_probe pr, blkid_loff_t offset,
+ size_t len, unsigned char *magic);
+
+extern void blkid_unparse_uuid(const unsigned char *uuid, char *str, size_t len);
+extern size_t blkid_rtrim_whitespace(unsigned char *str);
+
+extern void blkid_probe_set_wiper(blkid_probe pr, blkid_loff_t off,
+ blkid_loff_t size);
+extern int blkid_probe_is_wiped(blkid_probe pr, struct blkid_chain **chn,
+ blkid_loff_t off, blkid_loff_t size);
+extern void blkid_probe_use_wiper(blkid_probe pr, blkid_loff_t off, blkid_loff_t size);
+
+/* filter bitmap macros */
+#define blkid_bmp_wordsize (8 * sizeof(unsigned long))
+#define blkid_bmp_idx_bit(item) (1UL << ((item) % blkid_bmp_wordsize))
+#define blkid_bmp_idx_byte(item) ((item) / blkid_bmp_wordsize)
+
+#define blkid_bmp_set_item(bmp, item) \
+ ((bmp)[ blkid_bmp_idx_byte(item) ] |= blkid_bmp_idx_bit(item))
+
+#define blkid_bmp_unset_item(bmp, item) \
+ ((bmp)[ blkid_bmp_idx_byte(item) ] &= ~blkid_bmp_idx_bit(item))
+
+#define blkid_bmp_get_item(bmp, item) \
+ ((bmp)[ blkid_bmp_idx_byte(item) ] & blkid_bmp_idx_bit(item))
+
+#define blkid_bmp_nwords(max_items) \
+ (((max_items) + blkid_bmp_wordsize) / blkid_bmp_wordsize)
+
+#define blkid_bmp_nbytes(max_items) \
+ (blkid_bmp_nwords(max_items) * sizeof(unsigned long))
+
+/* encode.c */
+extern size_t blkid_encode_to_utf8(int enc, unsigned char *dest, size_t len,
+ const unsigned char *src, size_t count);
+
+#define BLKID_ENC_UTF16BE 0
+#define BLKID_ENC_UTF16LE 1
+
+#endif /* _BLKID_BLKIDP_H */
diff --git a/libblkid/src/cache.c b/libblkid/src/cache.c
new file mode 100644
index 0000000..a60495a
--- /dev/null
+++ b/libblkid/src/cache.c
@@ -0,0 +1,272 @@
+/*
+ * cache.c - allocation/initialization/free routines for cache
+ *
+ * Copyright (C) 2001 Andreas Dilger
+ * Copyright (C) 2003 Theodore Ts'o
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#include "blkidP.h"
+#include "env.h"
+
+int blkid_debug_mask = 0;
+
+/**
+ * SECTION:cache
+ * @title: Cache
+ * @short_description: basic routines to work with libblkid cache
+ *
+ * Block device information is normally kept in a cache file blkid.tab and is
+ * verified to still be valid before being returned to the user (if the user has
+ * read permission on the raw block device, otherwise not). The cache file also
+ * allows unprivileged users (normally anyone other than root, or those not in the
+ * "disk" group) to locate devices by label/id. The standard location of the
+ * cache file can be overridden by the environment variable BLKID_FILE.
+ *
+ * In situations where one is getting information about a single known device, it
+ * does not impact performance whether the cache is used or not (unless you are
+ * not able to read the block device directly). If you are dealing with multiple
+ * devices, use of the cache is highly recommended (even if empty) as devices will
+ * be scanned at most one time and the on-disk cache will be updated if possible.
+ * There is rarely a reason not to use the cache.
+ *
+ * In some cases (modular kernels), block devices are not even visible until after
+ * they are accessed the first time, so it is critical that there is some way to
+ * locate these devices without enumerating only visible devices, so the use of
+ * the cache file is required in this situation.
+ */
+
+#if 0 /* ifdef CONFIG_BLKID_DEBUG */
+static blkid_debug_dump_cache(int mask, blkid_cache cache)
+{
+ struct list_head *p;
+
+ if (!cache) {
+ printf("cache: NULL\n");
+ return;
+ }
+
+ printf("cache: time = %lu\n", cache->bic_time);
+ printf("cache: flags = 0x%08X\n", cache->bic_flags);
+
+ list_for_each(p, &cache->bic_devs) {
+ blkid_dev dev = list_entry(p, struct blkid_struct_dev, bid_devs);
+ blkid_debug_dump_dev(dev);
+ }
+}
+#endif
+
+#ifdef CONFIG_BLKID_DEBUG
+void blkid_init_debug(int mask)
+{
+ if (blkid_debug_mask & DEBUG_INIT)
+ return;
+
+ if (!mask)
+ {
+ char *dstr = getenv("LIBBLKID_DEBUG");
+
+ if (!dstr)
+ dstr = getenv("BLKID_DEBUG"); /* for backward compatibility */
+ if (dstr)
+ blkid_debug_mask = strtoul(dstr, 0, 0);
+ } else
+ blkid_debug_mask = mask;
+
+ if (blkid_debug_mask)
+ printf("libblkid: debug mask set to 0x%04x.\n", blkid_debug_mask);
+
+ blkid_debug_mask |= DEBUG_INIT;
+}
+#endif
+
+static const char *get_default_cache_filename(void)
+{
+ struct stat st;
+
+ if (stat(BLKID_RUNTIME_TOPDIR, &st) == 0 && S_ISDIR(st.st_mode))
+ return BLKID_CACHE_FILE; /* cache in /run */
+
+ return BLKID_CACHE_FILE_OLD; /* cache in /etc */
+}
+
+/* returns allocated path to cache */
+char *blkid_get_cache_filename(struct blkid_config *conf)
+{
+ char *filename;
+
+ filename = safe_getenv("BLKID_FILE");
+ if (filename)
+ filename = blkid_strdup(filename);
+ else if (conf)
+ filename = blkid_strdup(conf->cachefile);
+ else {
+ struct blkid_config *c = blkid_read_config(NULL);
+ if (!c)
+ filename = blkid_strdup(get_default_cache_filename());
+ else {
+ filename = c->cachefile; /* already allocated */
+ c->cachefile = NULL;
+ blkid_free_config(c);
+ }
+ }
+ return filename;
+}
+
+/**
+ * blkid_get_cache:
+ * @cache: pointer to return cache handler
+ * @filename: path to the cache file or NULL for the default path
+ *
+ * Allocates and initialize librray cache handler.
+ *
+ * Returns: 0 on success or number less than zero in case of error.
+ */
+int blkid_get_cache(blkid_cache *ret_cache, const char *filename)
+{
+ blkid_cache cache;
+
+ blkid_init_debug(0);
+
+ DBG(DEBUG_CACHE, printf("creating blkid cache (using %s)\n",
+ filename ? filename : "default cache"));
+
+ if (!(cache = (blkid_cache) calloc(1, sizeof(struct blkid_struct_cache))))
+ return -BLKID_ERR_MEM;
+
+ INIT_LIST_HEAD(&cache->bic_devs);
+ INIT_LIST_HEAD(&cache->bic_tags);
+
+ if (filename && !*filename)
+ filename = NULL;
+ if (filename)
+ cache->bic_filename = blkid_strdup(filename);
+ else
+ cache->bic_filename = blkid_get_cache_filename(NULL);
+
+ blkid_read_cache(cache);
+ *ret_cache = cache;
+ return 0;
+}
+
+/**
+ * blkid_put_cache:
+ * @cache: cache handler
+ *
+ * Saves changes to cache file.
+ */
+void blkid_put_cache(blkid_cache cache)
+{
+ if (!cache)
+ return;
+
+ (void) blkid_flush_cache(cache);
+
+ DBG(DEBUG_CACHE, printf("freeing cache struct\n"));
+
+ /* DBG(DEBUG_CACHE, blkid_debug_dump_cache(cache)); */
+
+ while (!list_empty(&cache->bic_devs)) {
+ blkid_dev dev = list_entry(cache->bic_devs.next,
+ struct blkid_struct_dev,
+ bid_devs);
+ blkid_free_dev(dev);
+ }
+
+ while (!list_empty(&cache->bic_tags)) {
+ blkid_tag tag = list_entry(cache->bic_tags.next,
+ struct blkid_struct_tag,
+ bit_tags);
+
+ while (!list_empty(&tag->bit_names)) {
+ blkid_tag bad = list_entry(tag->bit_names.next,
+ struct blkid_struct_tag,
+ bit_names);
+
+ DBG(DEBUG_CACHE, printf("warning: unfreed tag %s=%s\n",
+ bad->bit_name, bad->bit_val));
+ blkid_free_tag(bad);
+ }
+ blkid_free_tag(tag);
+ }
+
+ blkid_free_probe(cache->probe);
+
+ free(cache->bic_filename);
+ free(cache);
+}
+
+/**
+ * blkid_gc_cache:
+ * @cache: cache handler
+ *
+ * Removes garbage (non-existing devices) from the cache.
+ */
+void blkid_gc_cache(blkid_cache cache)
+{
+ struct list_head *p, *pnext;
+ struct stat st;
+
+ if (!cache)
+ return;
+
+ list_for_each_safe(p, pnext, &cache->bic_devs) {
+ blkid_dev dev = list_entry(p, struct blkid_struct_dev, bid_devs);
+ if (stat(dev->bid_name, &st) < 0) {
+ DBG(DEBUG_CACHE,
+ printf("freeing %s\n", dev->bid_name));
+ blkid_free_dev(dev);
+ cache->bic_flags |= BLKID_BIC_FL_CHANGED;
+ } else {
+ DBG(DEBUG_CACHE,
+ printf("Device %s exists\n", dev->bid_name));
+ }
+ }
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char** argv)
+{
+ blkid_cache cache = NULL;
+ int ret;
+
+ blkid_init_debug(DEBUG_ALL);
+
+ if ((argc > 2)) {
+ fprintf(stderr, "Usage: %s [filename] \n", argv[0]);
+ exit(1);
+ }
+
+ if ((ret = blkid_get_cache(&cache, argv[1])) < 0) {
+ fprintf(stderr, "error %d parsing cache file %s\n", ret,
+ argv[1] ? argv[1] : blkid_get_cache_filename(NULL));
+ exit(1);
+ }
+ if ((ret = blkid_get_cache(&cache, "/dev/null")) != 0) {
+ fprintf(stderr, "%s: error creating cache (%d)\n",
+ argv[0], ret);
+ exit(1);
+ }
+ if ((ret = blkid_probe_all(cache)) < 0)
+ fprintf(stderr, "error probing devices\n");
+
+ blkid_put_cache(cache);
+
+ return ret;
+}
+#endif
diff --git a/libblkid/src/config.c b/libblkid/src/config.c
new file mode 100644
index 0000000..110251a
--- /dev/null
+++ b/libblkid/src/config.c
@@ -0,0 +1,201 @@
+/*
+ * config.c - blkid.conf routines
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <stdint.h>
+#include <stdarg.h>
+
+#include "blkidP.h"
+#include "env.h"
+
+static int parse_evaluate(struct blkid_config *conf, char *s)
+{
+ while(s && *s) {
+ char *sep;
+
+ if (conf->nevals >= __BLKID_EVAL_LAST)
+ goto err;
+ sep = strchr(s, ',');
+ if (sep)
+ *sep = '\0';
+ if (strcmp(s, "udev") == 0)
+ conf->eval[conf->nevals] = BLKID_EVAL_UDEV;
+ else if (strcmp(s, "scan") == 0)
+ conf->eval[conf->nevals] = BLKID_EVAL_SCAN;
+ else
+ goto err;
+ conf->nevals++;
+ if (sep)
+ s = sep + 1;
+ else
+ break;
+ }
+ return 0;
+err:
+ DBG(DEBUG_CONFIG, printf(
+ "config file: unknown evaluation method '%s'.\n", s));
+ return -1;
+}
+
+static int parse_next(FILE *fd, struct blkid_config *conf)
+{
+ char buf[BUFSIZ];
+ char *s;
+
+ /* read the next non-blank non-comment line */
+ do {
+ if (fgets (buf, sizeof(buf), fd) == NULL)
+ return feof(fd) ? 0 : -1;
+ s = strchr (buf, '\n');
+ if (!s) {
+ /* Missing final newline? Otherwise extremely */
+ /* long line - assume file was corrupted */
+ if (feof(fd))
+ s = strchr (buf, '\0');
+ else {
+ DBG(DEBUG_CONFIG, fprintf(stderr,
+ "libblkid: config file: missing newline at line '%s'.\n",
+ buf));
+ return -1;
+ }
+ }
+ *s = '\0';
+ if (--s >= buf && *s == '\r')
+ *s = '\0';
+
+ s = buf;
+ while (*s == ' ' || *s == '\t') /* skip space */
+ s++;
+
+ } while (*s == '\0' || *s == '#');
+
+ if (!strncmp(s, "SEND_UEVENT=", 12)) {
+ s += 13;
+ if (*s && !strcasecmp(s, "yes"))
+ conf->uevent = TRUE;
+ else if (*s)
+ conf->uevent = FALSE;
+ } else if (!strncmp(s, "CACHE_FILE=", 11)) {
+ s += 11;
+ if (*s)
+ conf->cachefile = blkid_strdup(s);
+ } else if (!strncmp(s, "EVALUATE=", 9)) {
+ s += 9;
+ if (*s && parse_evaluate(conf, s) == -1)
+ return -1;
+ } else {
+ DBG(DEBUG_CONFIG, printf(
+ "config file: unknown option '%s'.\n", s));
+ return -1;
+ }
+ return 0;
+}
+
+/* return real config data or built-in default */
+struct blkid_config *blkid_read_config(const char *filename)
+{
+ struct blkid_config *conf;
+ FILE *f;
+
+ if (!filename)
+ filename = safe_getenv("BLKID_CONF");
+ if (!filename)
+ filename = BLKID_CONFIG_FILE;
+
+ conf = (struct blkid_config *) calloc(1, sizeof(*conf));
+ if (!conf)
+ return NULL;
+ conf->uevent = -1;
+
+ DBG(DEBUG_CONFIG, fprintf(stderr,
+ "reading config file: %s.\n", filename));
+
+ f = fopen(filename, "r");
+ if (!f) {
+ DBG(DEBUG_CONFIG, fprintf(stderr,
+ "%s: does not exist, using built-in default\n", filename));
+ goto dflt;
+ }
+ while (!feof(f)) {
+ if (parse_next(f, conf)) {
+ DBG(DEBUG_CONFIG, fprintf(stderr,
+ "%s: parse error\n", filename));
+ goto err;
+ }
+ }
+dflt:
+ if (!conf->nevals) {
+ conf->eval[0] = BLKID_EVAL_UDEV;
+ conf->eval[1] = BLKID_EVAL_SCAN;
+ conf->nevals = 2;
+ }
+ if (!conf->cachefile)
+ conf->cachefile = blkid_strdup(BLKID_CACHE_FILE);
+ if (conf->uevent == -1)
+ conf->uevent = TRUE;
+ if (f)
+ fclose(f);
+ return conf;
+err:
+ free(conf);
+ fclose(f);
+ return NULL;
+}
+
+void blkid_free_config(struct blkid_config *conf)
+{
+ if (!conf)
+ return;
+ free(conf->cachefile);
+ free(conf);
+}
+
+#ifdef TEST_PROGRAM
+/*
+ * usage: tst_config [<filename>]
+ */
+int main(int argc, char *argv[])
+{
+ int i;
+ struct blkid_config *conf;
+ char *filename = NULL;
+
+ blkid_init_debug(DEBUG_ALL);
+
+ if (argc == 2)
+ filename = argv[1];
+
+ conf = blkid_read_config(filename);
+ if (!conf)
+ return EXIT_FAILURE;
+
+ printf("EVALUATE: ");
+ for (i = 0; i < conf->nevals; i++)
+ printf("%s ", conf->eval[i] == BLKID_EVAL_UDEV ? "udev" : "scan");
+ printf("\n");
+
+ printf("SEND UEVENT: %s\n", conf->uevent ? "TRUE" : "FALSE");
+ printf("CACHE_FILE: %s\n", conf->cachefile);
+
+ blkid_free_config(conf);
+ return EXIT_SUCCESS;
+}
+#endif
diff --git a/libblkid/src/dev.c b/libblkid/src/dev.c
new file mode 100644
index 0000000..58ee6f8
--- /dev/null
+++ b/libblkid/src/dev.c
@@ -0,0 +1,272 @@
+/*
+ * dev.c - allocation/initialization/free routines for dev
+ *
+ * Copyright (C) 2001 Andreas Dilger
+ * Copyright (C) 2003 Theodore Ts'o
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "blkidP.h"
+
+/*
+ * NOTE: reference manual is not structured as code. The following section is a generic
+ * section for all high-level cache search+iterate routines.
+ */
+
+/**
+ * SECTION:search
+ * @title: Search and iterate
+ * @short_description: search devices and iterate over devices in the cache.
+ *
+ * Note that high-level probing API provides information about superblocks
+ * (filesystems/raids) only. For partitions and topology is necessary to use
+ * the low-level API.
+ */
+
+blkid_dev blkid_new_dev(void)
+{
+ blkid_dev dev;
+
+ if (!(dev = (blkid_dev) calloc(1, sizeof(struct blkid_struct_dev))))
+ return NULL;
+
+ INIT_LIST_HEAD(&dev->bid_devs);
+ INIT_LIST_HEAD(&dev->bid_tags);
+
+ return dev;
+}
+
+void blkid_free_dev(blkid_dev dev)
+{
+ if (!dev)
+ return;
+
+ DBG(DEBUG_DEV,
+ printf(" freeing dev %s (%s)\n", dev->bid_name, dev->bid_type ?
+ dev->bid_type : "(null)"));
+ DBG(DEBUG_DEV, blkid_debug_dump_dev(dev));
+
+ list_del(&dev->bid_devs);
+ while (!list_empty(&dev->bid_tags)) {
+ blkid_tag tag = list_entry(dev->bid_tags.next,
+ struct blkid_struct_tag,
+ bit_tags);
+ blkid_free_tag(tag);
+ }
+ free(dev->bid_name);
+ free(dev);
+}
+
+/*
+ * Given a blkid device, return its name
+ */
+extern const char *blkid_dev_devname(blkid_dev dev)
+{
+ return dev->bid_name;
+}
+
+#ifdef CONFIG_BLKID_DEBUG
+void blkid_debug_dump_dev(blkid_dev dev)
+{
+ struct list_head *p;
+
+ if (!dev) {
+ printf(" dev: NULL\n");
+ return;
+ }
+
+ printf(" dev: name = %s\n", dev->bid_name);
+ printf(" dev: DEVNO=\"0x%0llx\"\n", (long long)dev->bid_devno);
+ printf(" dev: TIME=\"%ld.%ld\"\n", (long)dev->bid_time, (long)dev->bid_utime);
+ printf(" dev: PRI=\"%d\"\n", dev->bid_pri);
+ printf(" dev: flags = 0x%08X\n", dev->bid_flags);
+
+ list_for_each(p, &dev->bid_tags) {
+ blkid_tag tag = list_entry(p, struct blkid_struct_tag, bit_tags);
+ if (tag)
+ printf(" tag: %s=\"%s\"\n", tag->bit_name,
+ tag->bit_val);
+ else
+ printf(" tag: NULL\n");
+ }
+ printf("\n");
+}
+#endif
+
+/*
+ * dev iteration routines for the public libblkid interface.
+ *
+ * These routines do not expose the list.h implementation, which are a
+ * contamination of the namespace, and which force us to reveal far, far
+ * too much of our internal implemenation. I'm not convinced I want
+ * to keep list.h in the long term, anyway. It's fine for kernel
+ * programming, but performance is not the #1 priority for this
+ * library, and I really don't like the tradeoff of type-safety for
+ * performance for this application. [tytso:20030125.2007EST]
+ */
+
+/*
+ * This series of functions iterate over all devices in a blkid cache
+ */
+#define DEV_ITERATE_MAGIC 0x01a5284c
+
+struct blkid_struct_dev_iterate {
+ int magic;
+ blkid_cache cache;
+ char *search_type;
+ char *search_value;
+ struct list_head *p;
+};
+
+extern blkid_dev_iterate blkid_dev_iterate_begin(blkid_cache cache)
+{
+ blkid_dev_iterate iter;
+
+ iter = malloc(sizeof(struct blkid_struct_dev_iterate));
+ if (iter) {
+ iter->magic = DEV_ITERATE_MAGIC;
+ iter->cache = cache;
+ iter->p = cache->bic_devs.next;
+ iter->search_type = 0;
+ iter->search_value = 0;
+ }
+ return (iter);
+}
+
+extern int blkid_dev_set_search(blkid_dev_iterate iter,
+ char *search_type, char *search_value)
+{
+ char *new_type, *new_value;
+
+ if (!iter || iter->magic != DEV_ITERATE_MAGIC || !search_type ||
+ !search_value)
+ return -1;
+ new_type = malloc(strlen(search_type)+1);
+ new_value = malloc(strlen(search_value)+1);
+ if (!new_type || !new_value) {
+ free(new_type);
+ free(new_value);
+ return -1;
+ }
+ strcpy(new_type, search_type);
+ strcpy(new_value, search_value);
+ free(iter->search_type);
+ free(iter->search_value);
+ iter->search_type = new_type;
+ iter->search_value = new_value;
+ return 0;
+}
+
+/*
+ * Return 0 on success, -1 on error
+ */
+extern int blkid_dev_next(blkid_dev_iterate iter,
+ blkid_dev *ret_dev)
+{
+ blkid_dev dev;
+
+ *ret_dev = 0;
+ if (!iter || iter->magic != DEV_ITERATE_MAGIC)
+ return -1;
+ while (iter->p != &iter->cache->bic_devs) {
+ dev = list_entry(iter->p, struct blkid_struct_dev, bid_devs);
+ iter->p = iter->p->next;
+ if (iter->search_type &&
+ !blkid_dev_has_tag(dev, iter->search_type,
+ iter->search_value))
+ continue;
+ *ret_dev = dev;
+ return 0;
+ }
+ return -1;
+}
+
+extern void blkid_dev_iterate_end(blkid_dev_iterate iter)
+{
+ if (!iter || iter->magic != DEV_ITERATE_MAGIC)
+ return;
+ iter->magic = 0;
+ free(iter->search_type);
+ free(iter->search_value);
+ free(iter);
+}
+
+#ifdef TEST_PROGRAM
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#else
+extern char *optarg;
+extern int optind;
+#endif
+
+void __attribute__((__noreturn__)) usage(char *prog)
+{
+ fprintf(stderr, "Usage: %s [-f blkid_file] [-m debug_mask]\n", prog);
+ fprintf(stderr, "\tList all devices and exit\n");
+ exit(1);
+}
+
+int main(int argc, char **argv)
+{
+ blkid_dev_iterate iter;
+ blkid_cache cache = NULL;
+ blkid_dev dev;
+ int c, ret;
+ char *tmp;
+ char *file = NULL;
+ char *search_type = NULL;
+ char *search_value = NULL;
+
+ while ((c = getopt (argc, argv, "m:f:")) != EOF)
+ switch (c) {
+ case 'f':
+ file = optarg;
+ break;
+ case 'm':
+ {
+ int mask = strtoul (optarg, &tmp, 0);
+ if (*tmp) {
+ fprintf(stderr, "Invalid debug mask: %s\n",
+ optarg);
+ exit(1);
+ }
+ blkid_init_debug(mask);
+ break;
+ }
+ case '?':
+ usage(argv[0]);
+ }
+ if (argc >= optind+2) {
+ search_type = argv[optind];
+ search_value = argv[optind+1];
+ optind += 2;
+ }
+ if (argc != optind)
+ usage(argv[0]);
+
+ if ((ret = blkid_get_cache(&cache, file)) != 0) {
+ fprintf(stderr, "%s: error creating cache (%d)\n",
+ argv[0], ret);
+ exit(1);
+ }
+
+ iter = blkid_dev_iterate_begin(cache);
+ if (search_type)
+ blkid_dev_set_search(iter, search_type, search_value);
+ while (blkid_dev_next(iter, &dev) == 0) {
+ printf("Device: %s\n", blkid_dev_devname(dev));
+ }
+ blkid_dev_iterate_end(iter);
+
+
+ blkid_put_cache(cache);
+ return (0);
+}
+#endif
diff --git a/libblkid/src/devname.c b/libblkid/src/devname.c
new file mode 100644
index 0000000..17a9e50
--- /dev/null
+++ b/libblkid/src/devname.c
@@ -0,0 +1,676 @@
+/*
+ * devname.c - get a dev by its device inode name
+ *
+ * Copyright (C) Andries Brouwer
+ * Copyright (C) 1999, 2000, 2001, 2002, 2003 Theodore Ts'o
+ * Copyright (C) 2001 Andreas Dilger
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#define _GNU_SOURCE 1
+
+#include <stdio.h>
+#include <string.h>
+#include <limits.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#include <ctype.h>
+#include <fcntl.h>
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#include <dirent.h>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <time.h>
+
+#include "blkidP.h"
+
+#include "canonicalize.h" /* $(top_srcdir)/include */
+#include "pathnames.h"
+#include "sysfs.h"
+#include "at.h"
+
+/*
+ * Find a dev struct in the cache by device name, if available.
+ *
+ * If there is no entry with the specified device name, and the create
+ * flag is set, then create an empty device entry.
+ */
+blkid_dev blkid_get_dev(blkid_cache cache, const char *devname, int flags)
+{
+ blkid_dev dev = NULL, tmp;
+ struct list_head *p, *pnext;
+
+ if (!cache || !devname)
+ return NULL;
+
+ list_for_each(p, &cache->bic_devs) {
+ tmp = list_entry(p, struct blkid_struct_dev, bid_devs);
+ if (strcmp(tmp->bid_name, devname))
+ continue;
+
+ DBG(DEBUG_DEVNAME,
+ printf("found devname %s in cache\n", tmp->bid_name));
+ dev = tmp;
+ break;
+ }
+
+ if (!dev && (flags & BLKID_DEV_CREATE)) {
+ if (access(devname, F_OK) < 0)
+ return NULL;
+ dev = blkid_new_dev();
+ if (!dev)
+ return NULL;
+ dev->bid_time = INT_MIN;
+ dev->bid_name = blkid_strdup(devname);
+ dev->bid_cache = cache;
+ list_add_tail(&dev->bid_devs, &cache->bic_devs);
+ cache->bic_flags |= BLKID_BIC_FL_CHANGED;
+ }
+
+ if (flags & BLKID_DEV_VERIFY) {
+ dev = blkid_verify(cache, dev);
+ if (!dev || !(dev->bid_flags & BLKID_BID_FL_VERIFIED))
+ return dev;
+ /*
+ * If the device is verified, then search the blkid
+ * cache for any entries that match on the type, uuid,
+ * and label, and verify them; if a cache entry can
+ * not be verified, then it's stale and so we remove
+ * it.
+ */
+ list_for_each_safe(p, pnext, &cache->bic_devs) {
+ blkid_dev dev2 = list_entry(p, struct blkid_struct_dev, bid_devs);
+ if (dev2->bid_flags & BLKID_BID_FL_VERIFIED)
+ continue;
+ if (!dev->bid_type || !dev2->bid_type ||
+ strcmp(dev->bid_type, dev2->bid_type))
+ continue;
+ if (dev->bid_label && dev2->bid_label &&
+ strcmp(dev->bid_label, dev2->bid_label))
+ continue;
+ if (dev->bid_uuid && dev2->bid_uuid &&
+ strcmp(dev->bid_uuid, dev2->bid_uuid))
+ continue;
+ if ((dev->bid_label && !dev2->bid_label) ||
+ (!dev->bid_label && dev2->bid_label) ||
+ (dev->bid_uuid && !dev2->bid_uuid) ||
+ (!dev->bid_uuid && dev2->bid_uuid))
+ continue;
+ dev2 = blkid_verify(cache, dev2);
+ if (dev2 && !(dev2->bid_flags & BLKID_BID_FL_VERIFIED))
+ blkid_free_dev(dev2);
+ }
+ }
+ return dev;
+}
+
+/* Directories where we will try to search for device names */
+static const char *dirlist[] = { "/dev", "/devfs", "/devices", NULL };
+
+static int is_dm_leaf(const char *devname)
+{
+ struct dirent *de, *d_de;
+ DIR *dir, *d_dir;
+ char path[256];
+ int ret = 1;
+
+ if ((dir = opendir("/sys/block")) == NULL)
+ return 0;
+ while ((de = readdir(dir)) != NULL) {
+ if (!strcmp(de->d_name, ".") || !strcmp(de->d_name, "..") ||
+ !strcmp(de->d_name, devname) ||
+ strncmp(de->d_name, "dm-", 3) ||
+ strlen(de->d_name) > sizeof(path)-32)
+ continue;
+ sprintf(path, "/sys/block/%s/slaves", de->d_name);
+ if ((d_dir = opendir(path)) == NULL)
+ continue;
+ while ((d_de = readdir(d_dir)) != NULL) {
+ if (!strcmp(d_de->d_name, devname)) {
+ ret = 0;
+ break;
+ }
+ }
+ closedir(d_dir);
+ if (!ret)
+ break;
+ }
+ closedir(dir);
+ return ret;
+}
+
+/*
+ * Probe a single block device to add to the device cache.
+ */
+static void probe_one(blkid_cache cache, const char *ptname,
+ dev_t devno, int pri, int only_if_new, int removable)
+{
+ blkid_dev dev = NULL;
+ struct list_head *p, *pnext;
+ const char **dir;
+ char *devname = NULL;
+
+ /* See if we already have this device number in the cache. */
+ list_for_each_safe(p, pnext, &cache->bic_devs) {
+ blkid_dev tmp = list_entry(p, struct blkid_struct_dev,
+ bid_devs);
+ if (tmp->bid_devno == devno) {
+ if (only_if_new && !access(tmp->bid_name, F_OK))
+ return;
+ dev = blkid_verify(cache, tmp);
+ if (dev && (dev->bid_flags & BLKID_BID_FL_VERIFIED))
+ break;
+ dev = 0;
+ }
+ }
+ if (dev && dev->bid_devno == devno)
+ goto set_pri;
+
+ /* Try to translate private device-mapper dm-<N> names
+ * to standard /dev/mapper/<name>.
+ */
+ if (!strncmp(ptname, "dm-", 3) && isdigit(ptname[3])) {
+ devname = canonicalize_dm_name(ptname);
+ if (!devname)
+ blkid__scan_dir("/dev/mapper", devno, 0, &devname);
+ if (devname)
+ goto get_dev;
+ }
+
+ /*
+ * Take a quick look at /dev/ptname for the device number. We check
+ * all of the likely device directories. If we don't find it, or if
+ * the stat information doesn't check out, use blkid_devno_to_devname()
+ * to find it via an exhaustive search for the device major/minor.
+ */
+ for (dir = dirlist; *dir; dir++) {
+ struct stat st;
+ char device[256];
+
+ sprintf(device, "%s/%s", *dir, ptname);
+ if ((dev = blkid_get_dev(cache, device, BLKID_DEV_FIND)) &&
+ dev->bid_devno == devno)
+ goto set_pri;
+
+ if (stat(device, &st) == 0 &&
+ (S_ISBLK(st.st_mode) ||
+ (S_ISCHR(st.st_mode) && !strncmp(ptname, "ubi", 3))) &&
+ st.st_rdev == devno) {
+ devname = blkid_strdup(device);
+ goto get_dev;
+ }
+ }
+ /* Do a short-cut scan of /dev/mapper first */
+ if (!devname)
+ blkid__scan_dir("/dev/mapper", devno, 0, &devname);
+ if (!devname) {
+ devname = blkid_devno_to_devname(devno);
+ if (!devname)
+ return;
+ }
+
+get_dev:
+ dev = blkid_get_dev(cache, devname, BLKID_DEV_NORMAL);
+ free(devname);
+
+set_pri:
+ if (dev) {
+ if (pri)
+ dev->bid_pri = pri;
+ else if (!strncmp(dev->bid_name, "/dev/mapper/", 11)) {
+ dev->bid_pri = BLKID_PRI_DM;
+ if (is_dm_leaf(ptname))
+ dev->bid_pri += 5;
+ } else if (!strncmp(ptname, "md", 2))
+ dev->bid_pri = BLKID_PRI_MD;
+ if (removable)
+ dev->bid_flags |= BLKID_BID_FL_REMOVABLE;
+ }
+ return;
+}
+
+#define PROC_PARTITIONS "/proc/partitions"
+#define VG_DIR "/proc/lvm/VGs"
+
+/*
+ * This function initializes the UUID cache with devices from the LVM
+ * proc hierarchy. We currently depend on the names of the LVM
+ * hierarchy giving us the device structure in /dev. (XXX is this a
+ * safe thing to do?)
+ */
+#ifdef VG_DIR
+static dev_t lvm_get_devno(const char *lvm_device)
+{
+ FILE *lvf;
+ char buf[1024];
+ int ma, mi;
+ dev_t ret = 0;
+
+ DBG(DEBUG_DEVNAME, printf("opening %s\n", lvm_device));
+ if ((lvf = fopen(lvm_device, "r")) == NULL) {
+ DBG(DEBUG_DEVNAME, printf("%s: (%d) %m\n", lvm_device, errno));
+ return 0;
+ }
+
+ while (fgets(buf, sizeof(buf), lvf)) {
+ if (sscanf(buf, "device: %d:%d", &ma, &mi) == 2) {
+ ret = makedev(ma, mi);
+ break;
+ }
+ }
+ fclose(lvf);
+
+ return ret;
+}
+
+static void lvm_probe_all(blkid_cache cache, int only_if_new)
+{
+ DIR *vg_list;
+ struct dirent *vg_iter;
+ int vg_len = strlen(VG_DIR);
+ dev_t dev;
+
+ if ((vg_list = opendir(VG_DIR)) == NULL)
+ return;
+
+ DBG(DEBUG_DEVNAME, printf("probing LVM devices under %s\n", VG_DIR));
+
+ while ((vg_iter = readdir(vg_list)) != NULL) {
+ DIR *lv_list;
+ char *vdirname;
+ char *vg_name;
+ struct dirent *lv_iter;
+
+ vg_name = vg_iter->d_name;
+ if (!strcmp(vg_name, ".") || !strcmp(vg_name, ".."))
+ continue;
+ vdirname = malloc(vg_len + strlen(vg_name) + 8);
+ if (!vdirname)
+ goto exit;
+ sprintf(vdirname, "%s/%s/LVs", VG_DIR, vg_name);
+
+ lv_list = opendir(vdirname);
+ free(vdirname);
+ if (lv_list == NULL)
+ continue;
+
+ while ((lv_iter = readdir(lv_list)) != NULL) {
+ char *lv_name, *lvm_device;
+
+ lv_name = lv_iter->d_name;
+ if (!strcmp(lv_name, ".") || !strcmp(lv_name, ".."))
+ continue;
+
+ lvm_device = malloc(vg_len + strlen(vg_name) +
+ strlen(lv_name) + 8);
+ if (!lvm_device) {
+ closedir(lv_list);
+ goto exit;
+ }
+ sprintf(lvm_device, "%s/%s/LVs/%s", VG_DIR, vg_name,
+ lv_name);
+ dev = lvm_get_devno(lvm_device);
+ sprintf(lvm_device, "%s/%s", vg_name, lv_name);
+ DBG(DEBUG_DEVNAME, printf("LVM dev %s: devno 0x%04X\n",
+ lvm_device,
+ (unsigned int) dev));
+ probe_one(cache, lvm_device, dev, BLKID_PRI_LVM,
+ only_if_new, 0);
+ free(lvm_device);
+ }
+ closedir(lv_list);
+ }
+exit:
+ closedir(vg_list);
+}
+#endif
+
+#define PROC_EVMS_VOLUMES "/proc/evms/volumes"
+
+static int
+evms_probe_all(blkid_cache cache, int only_if_new)
+{
+ char line[100];
+ int ma, mi, sz, num = 0;
+ FILE *procpt;
+ char device[110];
+
+ procpt = fopen(PROC_EVMS_VOLUMES, "r");
+ if (!procpt)
+ return 0;
+ while (fgets(line, sizeof(line), procpt)) {
+ if (sscanf (line, " %d %d %d %*s %*s %[^\n ]",
+ &ma, &mi, &sz, device) != 4)
+ continue;
+
+ DBG(DEBUG_DEVNAME, printf("Checking partition %s (%d, %d)\n",
+ device, ma, mi));
+
+ probe_one(cache, device, makedev(ma, mi), BLKID_PRI_EVMS,
+ only_if_new, 0);
+ num++;
+ }
+ fclose(procpt);
+ return num;
+}
+
+static void
+ubi_probe_all(blkid_cache cache, int only_if_new)
+{
+ const char **dirname;
+
+ for (dirname = dirlist; *dirname; dirname++) {
+ DBG(DEBUG_DEVNAME, printf("probing UBI volumes under %s\n",
+ *dirname));
+
+ DIR *dir;
+ struct dirent *iter;
+
+ dir = opendir(*dirname);
+ if (dir == NULL)
+ continue ;
+
+ while ((iter = readdir(dir)) != NULL) {
+ char *name;
+ struct stat st;
+ dev_t dev;
+
+ name = iter->d_name;
+#ifdef _DIRENT_HAVE_D_TYPE
+ if (iter->d_type != DT_UNKNOWN &&
+ iter->d_type != DT_CHR && iter->d_type != DT_LNK)
+ continue;
+#endif
+ if (!strcmp(name, ".") || !strcmp(name, "..") ||
+ !strstr(name, "ubi"))
+ continue;
+ if (!strcmp(name, "ubi_ctrl"))
+ continue;
+ if (fstat_at(dirfd(dir), *dirname, name, &st, 0))
+ continue;
+
+ dev = st.st_rdev;
+
+ if (!S_ISCHR(st.st_mode) || !minor(dev))
+ continue;
+ DBG(DEBUG_DEVNAME, printf("UBI vol %s/%s: devno 0x%04X\n",
+ *dirname, name, (int) dev));
+ probe_one(cache, name, dev, BLKID_PRI_UBI, only_if_new, 0);
+ }
+ closedir(dir);
+ }
+}
+
+/*
+ * Read the device data for all available block devices in the system.
+ */
+static int probe_all(blkid_cache cache, int only_if_new)
+{
+ FILE *proc;
+ char line[1024];
+ char ptname0[128 + 1], ptname1[128 + 1], *ptname = 0;
+ char *ptnames[2];
+ dev_t devs[2];
+ int ma, mi;
+ unsigned long long sz;
+ int lens[2] = { 0, 0 };
+ int which = 0, last = 0;
+ struct list_head *p, *pnext;
+
+ ptnames[0] = ptname0;
+ ptnames[1] = ptname1;
+
+ if (!cache)
+ return -BLKID_ERR_PARAM;
+
+ if (cache->bic_flags & BLKID_BIC_FL_PROBED &&
+ time(0) - cache->bic_time < BLKID_PROBE_INTERVAL)
+ return 0;
+
+ blkid_read_cache(cache);
+ evms_probe_all(cache, only_if_new);
+#ifdef VG_DIR
+ lvm_probe_all(cache, only_if_new);
+#endif
+ ubi_probe_all(cache, only_if_new);
+
+ proc = fopen(PROC_PARTITIONS, "r");
+ if (!proc)
+ return -BLKID_ERR_PROC;
+
+ while (fgets(line, sizeof(line), proc)) {
+ last = which;
+ which ^= 1;
+ ptname = ptnames[which];
+
+ if (sscanf(line, " %d %d %llu %128[^\n ]",
+ &ma, &mi, &sz, ptname) != 4)
+ continue;
+ devs[which] = makedev(ma, mi);
+
+ DBG(DEBUG_DEVNAME, printf("read partition name %s\n", ptname));
+
+ /* Skip whole disk devs unless they have no partitions.
+ * If base name of device has changed, also
+ * check previous dev to see if it didn't have a partn.
+ * heuristic: partition name ends in a digit, & partition
+ * names contain whole device name as substring.
+ *
+ * Skip extended partitions.
+ * heuristic: size is 1
+ *
+ * FIXME: skip /dev/{ida,cciss,rd} whole-disk devs
+ */
+
+ lens[which] = strlen(ptname);
+
+ /* ends in a digit, clearly a partition, so check */
+ if (isdigit(ptname[lens[which] - 1])) {
+ DBG(DEBUG_DEVNAME,
+ printf("partition dev %s, devno 0x%04X\n",
+ ptname, (unsigned int) devs[which]));
+
+ if (sz > 1)
+ probe_one(cache, ptname, devs[which], 0,
+ only_if_new, 0);
+ lens[which] = 0; /* mark as checked */
+ }
+
+ /*
+ * If last was a whole disk and we just found a partition
+ * on it, remove the whole-disk dev from the cache if
+ * it exists.
+ */
+ if (lens[last] && !strncmp(ptnames[last], ptname, lens[last])) {
+ list_for_each_safe(p, pnext, &cache->bic_devs) {
+ blkid_dev tmp;
+
+ /* find blkid dev for the whole-disk devno */
+ tmp = list_entry(p, struct blkid_struct_dev,
+ bid_devs);
+ if (tmp->bid_devno == devs[last]) {
+ DBG(DEBUG_DEVNAME,
+ printf("freeing %s\n",
+ tmp->bid_name));
+ blkid_free_dev(tmp);
+ cache->bic_flags |= BLKID_BIC_FL_CHANGED;
+ break;
+ }
+ }
+ lens[last] = 0;
+ }
+ /*
+ * If last was not checked because it looked like a whole-disk
+ * dev, and the device's base name has changed,
+ * check last as well.
+ */
+ if (lens[last] && strncmp(ptnames[last], ptname, lens[last])) {
+ DBG(DEBUG_DEVNAME,
+ printf("whole dev %s, devno 0x%04X\n",
+ ptnames[last], (unsigned int) devs[last]));
+ probe_one(cache, ptnames[last], devs[last], 0,
+ only_if_new, 0);
+ lens[last] = 0;
+ }
+ }
+
+ /* Handle the last device if it wasn't partitioned */
+ if (lens[which])
+ probe_one(cache, ptname, devs[which], 0, only_if_new, 0);
+
+ fclose(proc);
+ blkid_flush_cache(cache);
+ return 0;
+}
+
+/* Don't use it by default -- it's pretty slow (because cdroms, floppy, ...)
+ */
+static int probe_all_removable(blkid_cache cache)
+{
+ DIR *dir;
+ struct dirent *d;
+
+ if (!cache)
+ return -BLKID_ERR_PARAM;
+
+ dir = opendir(_PATH_SYS_BLOCK);
+ if (!dir)
+ return -BLKID_ERR_PROC;
+
+ while((d = readdir(dir))) {
+ struct sysfs_cxt sysfs = UL_SYSFSCXT_EMPTY;
+ int removable = 0;
+ dev_t devno;
+
+#ifdef _DIRENT_HAVE_D_TYPE
+ if (d->d_type != DT_UNKNOWN && d->d_type != DT_LNK)
+ continue;
+#endif
+ if (d->d_name[0] == '.' &&
+ ((d->d_name[1] == 0) ||
+ ((d->d_name[1] == '.') && (d->d_name[2] == 0))))
+ continue;
+
+ devno = sysfs_devname_to_devno(d->d_name, NULL);
+ if (!devno)
+ continue;
+
+ if (sysfs_init(&sysfs, devno, NULL) == 0) {
+ sysfs_read_int(&sysfs, "removable", &removable);
+ sysfs_deinit(&sysfs);
+ }
+
+ if (removable)
+ probe_one(cache, d->d_name, devno, 0, 0, 1);
+ }
+
+ closedir(dir);
+ return 0;
+}
+
+
+/**
+ * blkid_probe_all:
+ * @cache: cache handler
+ *
+ * Probes all block devices.
+ *
+ * Returns: 0 on success, or number less than zero in case of error.
+ */
+int blkid_probe_all(blkid_cache cache)
+{
+ int ret;
+
+ DBG(DEBUG_PROBE, printf("Begin blkid_probe_all()\n"));
+ ret = probe_all(cache, 0);
+ cache->bic_time = time(0);
+ cache->bic_flags |= BLKID_BIC_FL_PROBED;
+ DBG(DEBUG_PROBE, printf("End blkid_probe_all()\n"));
+ return ret;
+}
+
+/**
+ * blkid_probe_all_new:
+ * @cache: cache handler
+ *
+ * Probes all new block devices.
+ *
+ * Returns: 0 on success, or number less than zero in case of error.
+ */
+int blkid_probe_all_new(blkid_cache cache)
+{
+ int ret;
+
+ DBG(DEBUG_PROBE, printf("Begin blkid_probe_all_new()\n"));
+ ret = probe_all(cache, 1);
+ DBG(DEBUG_PROBE, printf("End blkid_probe_all_new()\n"));
+ return ret;
+}
+
+/**
+ * blkid_probe_all_removable:
+ * @cache: cache handler
+ *
+ * The libblkid probing is based on devices from /proc/partitions by default.
+ * This file usually does not contain removable devices (e.g. CDROMs) and this kind
+ * of devices are invisible for libblkid.
+ *
+ * This function adds removable block devices to @cache (probing is based on
+ * information from the /sys directory). Don't forget that removable devices
+ * (floppies, CDROMs, ...) could be pretty slow. It's very bad idea to call
+ * this function by default.
+ *
+ * Note that devices which were detected by this function won't be written to
+ * blkid.tab cache file.
+ *
+ * Returns: 0 on success, or number less than zero in case of error.
+ */
+int blkid_probe_all_removable(blkid_cache cache)
+{
+ int ret;
+
+ DBG(DEBUG_PROBE, printf("Begin blkid_probe_all_removable()\n"));
+ ret = probe_all_removable(cache);
+ DBG(DEBUG_PROBE, printf("End blkid_probe_all_removable()\n"));
+ return ret;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char **argv)
+{
+ blkid_cache cache = NULL;
+ int ret;
+
+ blkid_init_debug(DEBUG_ALL);
+ if (argc != 1) {
+ fprintf(stderr, "Usage: %s\n"
+ "Probe all devices and exit\n", argv[0]);
+ exit(1);
+ }
+ if ((ret = blkid_get_cache(&cache, "/dev/null")) != 0) {
+ fprintf(stderr, "%s: error creating cache (%d)\n",
+ argv[0], ret);
+ exit(1);
+ }
+ if (blkid_probe_all(cache) < 0)
+ printf("%s: error probing devices\n", argv[0]);
+
+ if (blkid_probe_all_removable(cache) < 0)
+ printf("%s: error probing removable devices\n", argv[0]);
+
+ blkid_put_cache(cache);
+ return (0);
+}
+#endif
diff --git a/libblkid/src/devno.c b/libblkid/src/devno.c
new file mode 100644
index 0000000..3024bee
--- /dev/null
+++ b/libblkid/src/devno.c
@@ -0,0 +1,399 @@
+/*
+ * devno.c - find a particular device by its device number (major/minor)
+ *
+ * Copyright (C) 2000, 2001, 2003 Theodore Ts'o
+ * Copyright (C) 2001 Andreas Dilger
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#include <stdio.h>
+#include <string.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#include <dirent.h>
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#ifdef HAVE_SYS_MKDEV_H
+#include <sys/mkdev.h>
+#endif
+#include <fcntl.h>
+#include <inttypes.h>
+
+#include "blkidP.h"
+#include "pathnames.h"
+#include "at.h"
+#include "sysfs.h"
+
+char *blkid_strndup(const char *s, int length)
+{
+ char *ret;
+
+ if (!s)
+ return NULL;
+
+ if (!length)
+ length = strlen(s);
+
+ ret = malloc(length + 1);
+ if (ret) {
+ strncpy(ret, s, length);
+ ret[length] = '\0';
+ }
+ return ret;
+}
+
+char *blkid_strdup(const char *s)
+{
+ return blkid_strndup(s, 0);
+}
+
+char *blkid_strconcat(const char *a, const char *b, const char *c)
+{
+ char *res, *p;
+ size_t len, al, bl, cl;
+
+ al = a ? strlen(a) : 0;
+ bl = b ? strlen(b) : 0;
+ cl = c ? strlen(c) : 0;
+
+ len = al + bl + cl;
+ if (!len)
+ return NULL;
+ p = res = malloc(len + 1);
+ if (!res)
+ return NULL;
+ if (al) {
+ memcpy(p, a, al);
+ p += al;
+ }
+ if (bl) {
+ memcpy(p, b, bl);
+ p += bl;
+ }
+ if (cl) {
+ memcpy(p, c, cl);
+ p += cl;
+ }
+ *p = '\0';
+ return res;
+}
+
+/*
+ * This function adds an entry to the directory list
+ */
+static void add_to_dirlist(const char *dir, const char *subdir,
+ struct dir_list **list)
+{
+ struct dir_list *dp;
+
+ dp = malloc(sizeof(struct dir_list));
+ if (!dp)
+ return;
+ dp->name = subdir ? blkid_strconcat(dir, "/", subdir) :
+ blkid_strdup(dir);
+ if (!dp->name) {
+ free(dp);
+ return;
+ }
+ dp->next = *list;
+ *list = dp;
+}
+
+/*
+ * This function frees a directory list
+ */
+static void free_dirlist(struct dir_list **list)
+{
+ struct dir_list *dp, *next;
+
+ for (dp = *list; dp; dp = next) {
+ next = dp->next;
+ free(dp->name);
+ free(dp);
+ }
+ *list = NULL;
+}
+
+void blkid__scan_dir(char *dirname, dev_t devno, struct dir_list **list,
+ char **devname)
+{
+ DIR *dir;
+ struct dirent *dp;
+ struct stat st;
+
+ if ((dir = opendir(dirname)) == NULL)
+ return;
+
+ while ((dp = readdir(dir)) != 0) {
+#ifdef _DIRENT_HAVE_D_TYPE
+ if (dp->d_type != DT_UNKNOWN && dp->d_type != DT_BLK &&
+ dp->d_type != DT_LNK && dp->d_type != DT_DIR)
+ continue;
+#endif
+ if (dp->d_name[0] == '.' &&
+ ((dp->d_name[1] == 0) ||
+ ((dp->d_name[1] == '.') && (dp->d_name[2] == 0))))
+ continue;
+
+ if (fstat_at(dirfd(dir), dirname, dp->d_name, &st, 0))
+ continue;
+
+ if (S_ISBLK(st.st_mode) && st.st_rdev == devno) {
+ *devname = blkid_strconcat(dirname, "/", dp->d_name);
+ DBG(DEBUG_DEVNO,
+ printf("found 0x%llx at %s\n", (long long)devno,
+ *devname));
+ break;
+ }
+
+ if (!list || !S_ISDIR(st.st_mode))
+ continue;
+
+ /* add subdirectory (but not symlink) to the list */
+#ifdef _DIRENT_HAVE_D_TYPE
+ if (dp->d_type == DT_LNK)
+ continue;
+ if (dp->d_type == DT_UNKNOWN)
+#endif
+ {
+ if (fstat_at(dirfd(dir), dirname, dp->d_name, &st, 1) ||
+ !S_ISDIR(st.st_mode))
+ continue; /* symlink or lstat() failed */
+ }
+
+ if (*dp->d_name == '.' || (
+#ifdef _DIRENT_HAVE_D_TYPE
+ dp->d_type == DT_DIR &&
+#endif
+ strcmp(dp->d_name, "shm") == 0))
+ /* ignore /dev/.{udev,mount,mdadm} and /dev/shm */
+ continue;
+
+ add_to_dirlist(dirname, dp->d_name, list);
+ }
+ closedir(dir);
+ return;
+}
+
+/* Directories where we will try to search for device numbers */
+static const char *devdirs[] = { "/devices", "/devfs", "/dev", NULL };
+
+/**
+ * SECTION: misc
+ * @title: Miscellaneous utils
+ * @short_description: mix of various utils for low-level and high-level API
+ */
+
+
+
+static char *scandev_devno_to_devpath(dev_t devno)
+{
+ struct dir_list *list = NULL, *new_list = NULL;
+ char *devname = NULL;
+ const char **dir;
+
+ /*
+ * Add the starting directories to search in reverse order of
+ * importance, since we are using a stack...
+ */
+ for (dir = devdirs; *dir; dir++)
+ add_to_dirlist(*dir, NULL, &list);
+
+ while (list) {
+ struct dir_list *current = list;
+
+ list = list->next;
+ DBG(DEBUG_DEVNO, printf("directory %s\n", current->name));
+ blkid__scan_dir(current->name, devno, &new_list, &devname);
+ free(current->name);
+ free(current);
+ if (devname)
+ break;
+ /*
+ * If we're done checking at this level, descend to
+ * the next level of subdirectories. (breadth-first)
+ */
+ if (list == NULL) {
+ list = new_list;
+ new_list = NULL;
+ }
+ }
+ free_dirlist(&list);
+ free_dirlist(&new_list);
+
+ return devname;
+}
+
+/**
+ * blkid_devno_to_devname:
+ * @devno: device number
+ *
+ * This function finds the pathname to a block device with a given
+ * device number.
+ *
+ * Returns: a pointer to allocated memory to the pathname on success,
+ * and NULL on failure.
+ */
+char *blkid_devno_to_devname(dev_t devno)
+{
+ char *path = NULL;
+ char buf[PATH_MAX];
+
+ path = sysfs_devno_to_devpath(devno, buf, sizeof(buf));
+ if (path)
+ path = strdup(path);
+ if (!path)
+ path = scandev_devno_to_devpath(devno);
+
+ if (!path) {
+ DBG(DEBUG_DEVNO,
+ printf("blkid: couldn't find devno 0x%04lx\n",
+ (unsigned long) devno));
+ } else {
+ DBG(DEBUG_DEVNO,
+ printf("found devno 0x%04llx as %s\n", (long long)devno, path));
+ }
+
+ return path;
+}
+
+
+/**
+ * blkid_devno_to_wholedisk:
+ * @dev: device number
+ * @diskname: buffer to return diskname (or NULL)
+ * @len: diskname buffer size (or 0)
+ * @diskdevno: pointer to returns devno of entire disk (or NULL)
+ *
+ * This function uses sysfs to convert the @devno device number to the *name*
+ * of the whole disk. The function DOES NOT return full device name. The @dev
+ * argument could be partition or whole disk -- both is converted.
+ *
+ * For example: sda1, 0x0801 --> sda, 0x0800
+ *
+ * For conversion to the full disk *path* use blkid_devno_to_devname(), for
+ * example:
+ *
+ * <informalexample>
+ * <programlisting>
+ *
+ * dev_t dev = 0x0801, disk; // sda1 = 8:1
+ * char *diskpath, diskname[32];
+ *
+ * blkid_devno_to_wholedisk(dev, diskname, sizeof(diskname), &disk);
+ * diskpath = blkid_devno_to_devname(disk);
+ *
+ * // print "0x0801: sda, /dev/sda, 8:0
+ * printf("0x%x: %s, %s, %d:%d\n",
+ * dev, diskname, diskpath, major(disk), minor(disk));
+ *
+ * free(diskpath);
+ *
+ * </programlisting>
+ * </informalexample>
+ *
+ * Returns: 0 on success or -1 in case of error.
+ */
+int blkid_devno_to_wholedisk(dev_t dev, char *diskname,
+ size_t len, dev_t *diskdevno)
+{
+ return sysfs_devno_to_wholedisk( dev, diskname, len, diskdevno);
+}
+
+/*
+ * Returns 1 if the @major number is associated with @drvname.
+ */
+int blkid_driver_has_major(const char *drvname, int major)
+{
+ FILE *f;
+ char buf[128];
+ int match = 0;
+
+ f = fopen(_PATH_PROC_DEVICES, "r");
+ if (!f)
+ return 0;
+
+ while (fgets(buf, sizeof(buf), f)) { /* skip to block dev section */
+ if (strncmp("Block devices:\n", buf, sizeof(buf)) == 0)
+ break;
+ }
+
+ while (fgets(buf, sizeof(buf), f)) {
+ int maj;
+ char name[64 + 1];
+
+ if (sscanf(buf, "%d %64[^\n ]", &maj, name) != 2)
+ continue;
+
+ if (maj == major && strcmp(name, drvname) == 0) {
+ match = 1;
+ break;
+ }
+ }
+
+ fclose(f);
+
+ DBG(DEBUG_DEVNO, printf("major %d %s associated with '%s' driver\n",
+ major, match ? "is" : "is NOT", drvname));
+ return match;
+}
+
+
+#ifdef TEST_PROGRAM
+int main(int argc, char** argv)
+{
+ char *devname, *tmp;
+ char diskname[PATH_MAX];
+ int major, minor;
+ dev_t devno, disk_devno;
+ const char *errmsg = "Couldn't parse %s: %s\n";
+
+ blkid_init_debug(DEBUG_ALL);
+ if ((argc != 2) && (argc != 3)) {
+ fprintf(stderr, "Usage:\t%s device_number\n\t%s major minor\n"
+ "Resolve a device number to a device name\n",
+ argv[0], argv[0]);
+ exit(1);
+ }
+ if (argc == 2) {
+ devno = strtoul(argv[1], &tmp, 0);
+ if (*tmp) {
+ fprintf(stderr, errmsg, "device number", argv[1]);
+ exit(1);
+ }
+ } else {
+ major = strtoul(argv[1], &tmp, 0);
+ if (*tmp) {
+ fprintf(stderr, errmsg, "major number", argv[1]);
+ exit(1);
+ }
+ minor = strtoul(argv[2], &tmp, 0);
+ if (*tmp) {
+ fprintf(stderr, errmsg, "minor number", argv[2]);
+ exit(1);
+ }
+ devno = makedev(major, minor);
+ }
+ printf("Looking for device 0x%04llx\n", (long long)devno);
+ devname = blkid_devno_to_devname(devno);
+ free(devname);
+
+ printf("Looking for whole-device for 0x%04llx\n", (long long)devno);
+ blkid_devno_to_wholedisk(devno, diskname, sizeof(diskname), &disk_devno);
+
+ return 0;
+}
+#endif
diff --git a/libblkid/src/encode.c b/libblkid/src/encode.c
new file mode 100644
index 0000000..9a0570e
--- /dev/null
+++ b/libblkid/src/encode.c
@@ -0,0 +1,338 @@
+
+/*
+ * encode.c - string conversion routines (mostly for compatibility with
+ * udev/volume_id)
+ *
+ * Copyright (C) 2008 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <unistd.h>
+#include <errno.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "blkidP.h"
+
+#define UDEV_ALLOWED_CHARS_INPUT "/ $%?,"
+
+/**
+ * SECTION: encode
+ * @title: Encoding utils
+ * @short_description: encode strings to safe udev-compatible formats
+ *
+ */
+
+/* count of characters used to encode one unicode char */
+static int utf8_encoded_expected_len(const char *str)
+{
+ unsigned char c = (unsigned char)str[0];
+
+ if (c < 0x80)
+ return 1;
+ if ((c & 0xe0) == 0xc0)
+ return 2;
+ if ((c & 0xf0) == 0xe0)
+ return 3;
+ if ((c & 0xf8) == 0xf0)
+ return 4;
+ if ((c & 0xfc) == 0xf8)
+ return 5;
+ if ((c & 0xfe) == 0xfc)
+ return 6;
+ return 0;
+}
+
+/* decode one unicode char */
+static int utf8_encoded_to_unichar(const char *str)
+{
+ int unichar;
+ int len;
+ int i;
+
+ len = utf8_encoded_expected_len(str);
+ switch (len) {
+ case 1:
+ return (int)str[0];
+ case 2:
+ unichar = str[0] & 0x1f;
+ break;
+ case 3:
+ unichar = (int)str[0] & 0x0f;
+ break;
+ case 4:
+ unichar = (int)str[0] & 0x07;
+ break;
+ case 5:
+ unichar = (int)str[0] & 0x03;
+ break;
+ case 6:
+ unichar = (int)str[0] & 0x01;
+ break;
+ default:
+ return -1;
+ }
+
+ for (i = 1; i < len; i++) {
+ if (((int)str[i] & 0xc0) != 0x80)
+ return -1;
+ unichar <<= 6;
+ unichar |= (int)str[i] & 0x3f;
+ }
+
+ return unichar;
+}
+
+/* expected size used to encode one unicode char */
+static int utf8_unichar_to_encoded_len(int unichar)
+{
+ if (unichar < 0x80)
+ return 1;
+ if (unichar < 0x800)
+ return 2;
+ if (unichar < 0x10000)
+ return 3;
+ if (unichar < 0x200000)
+ return 4;
+ if (unichar < 0x4000000)
+ return 5;
+ return 6;
+}
+
+/* check if unicode char has a valid numeric range */
+static int utf8_unichar_valid_range(int unichar)
+{
+ if (unichar > 0x10ffff)
+ return 0;
+ if ((unichar & 0xfffff800) == 0xd800)
+ return 0;
+ if ((unichar > 0xfdcf) && (unichar < 0xfdf0))
+ return 0;
+ if ((unichar & 0xffff) == 0xffff)
+ return 0;
+ return 1;
+}
+
+/* validate one encoded unicode char and return its length */
+static int utf8_encoded_valid_unichar(const char *str)
+{
+ int len;
+ int unichar;
+ int i;
+
+ len = utf8_encoded_expected_len(str);
+ if (len == 0)
+ return -1;
+
+ /* ascii is valid */
+ if (len == 1)
+ return 1;
+
+ /* check if expected encoded chars are available */
+ for (i = 0; i < len; i++)
+ if ((str[i] & 0x80) != 0x80)
+ return -1;
+
+ unichar = utf8_encoded_to_unichar(str);
+
+ /* check if encoded length matches encoded value */
+ if (utf8_unichar_to_encoded_len(unichar) != len)
+ return -1;
+
+ /* check if value has valid range */
+ if (!utf8_unichar_valid_range(unichar))
+ return -1;
+
+ return len;
+}
+
+static int replace_whitespace(const char *str, char *to, size_t len)
+{
+ size_t i, j;
+
+ /* strip trailing whitespace */
+ len = strnlen(str, len);
+ while (len && isspace(str[len-1]))
+ len--;
+
+ /* strip leading whitespace */
+ i = 0;
+ while (isspace(str[i]) && (i < len))
+ i++;
+
+ j = 0;
+ while (i < len) {
+ /* substitute multiple whitespace with a single '_' */
+ if (isspace(str[i])) {
+ while (isspace(str[i]))
+ i++;
+ to[j++] = '_';
+ }
+ to[j++] = str[i++];
+ }
+ to[j] = '\0';
+ return 0;
+}
+
+static int is_whitelisted(char c, const char *white)
+{
+ if ((c >= '0' && c <= '9') ||
+ (c >= 'A' && c <= 'Z') ||
+ (c >= 'a' && c <= 'z') ||
+ strchr("#+-.:=@_", c) != NULL ||
+ (white != NULL && strchr(white, c) != NULL))
+ return 1;
+ return 0;
+}
+
+/* allow chars in whitelist, plain ascii, hex-escaping and valid utf8 */
+static int replace_chars(char *str, const char *white)
+{
+ size_t i = 0;
+ int replaced = 0;
+
+ while (str[i] != '\0') {
+ int len;
+
+ if (is_whitelisted(str[i], white)) {
+ i++;
+ continue;
+ }
+
+ /* accept hex encoding */
+ if (str[i] == '\\' && str[i+1] == 'x') {
+ i += 2;
+ continue;
+ }
+
+ /* accept valid utf8 */
+ len = utf8_encoded_valid_unichar(&str[i]);
+ if (len > 1) {
+ i += len;
+ continue;
+ }
+
+ /* if space is allowed, replace whitespace with ordinary space */
+ if (isspace(str[i]) && white != NULL && strchr(white, ' ') != NULL) {
+ str[i] = ' ';
+ i++;
+ replaced++;
+ continue;
+ }
+
+ /* everything else is replaced with '_' */
+ str[i] = '_';
+ i++;
+ replaced++;
+ }
+ return replaced;
+}
+
+size_t blkid_encode_to_utf8(int enc, unsigned char *dest, size_t len,
+ const unsigned char *src, size_t count)
+{
+ size_t i, j;
+ uint16_t c;
+
+ for (j = i = 0; i + 2 <= count; i += 2) {
+ if (enc == BLKID_ENC_UTF16LE)
+ c = (src[i+1] << 8) | src[i];
+ else /* BLKID_ENC_UTF16BE */
+ c = (src[i] << 8) | src[i+1];
+ if (c == 0) {
+ dest[j] = '\0';
+ break;
+ } else if (c < 0x80) {
+ if (j+1 >= len)
+ break;
+ dest[j++] = (uint8_t) c;
+ } else if (c < 0x800) {
+ if (j+2 >= len)
+ break;
+ dest[j++] = (uint8_t) (0xc0 | (c >> 6));
+ dest[j++] = (uint8_t) (0x80 | (c & 0x3f));
+ } else {
+ if (j+3 >= len)
+ break;
+ dest[j++] = (uint8_t) (0xe0 | (c >> 12));
+ dest[j++] = (uint8_t) (0x80 | ((c >> 6) & 0x3f));
+ dest[j++] = (uint8_t) (0x80 | (c & 0x3f));
+ }
+ }
+ dest[j] = '\0';
+ return j;
+}
+
+/**
+ * blkid_encode_string:
+ * @str: input string to be encoded
+ * @str_enc: output string to store the encoded input string
+ * @len: maximum size of the output string, which may be
+ * four times as long as the input string
+ *
+ * Encode all potentially unsafe characters of a string to the
+ * corresponding hex value prefixed by '\x'.
+ *
+ * Returns: 0 if the entire string was copied, non-zero otherwise.
+ **/
+int blkid_encode_string(const char *str, char *str_enc, size_t len)
+{
+ size_t i, j;
+
+ if (str == NULL || str_enc == NULL)
+ return -1;
+
+ for (i = 0, j = 0; str[i] != '\0'; i++) {
+ int seqlen;
+
+ seqlen = utf8_encoded_valid_unichar(&str[i]);
+ if (seqlen > 1) {
+ if (len-j < (size_t)seqlen)
+ goto err;
+ memcpy(&str_enc[j], &str[i], seqlen);
+ j += seqlen;
+ i += (seqlen-1);
+ } else if (str[i] == '\\' || !is_whitelisted(str[i], NULL)) {
+ if (len-j < 4)
+ goto err;
+ sprintf(&str_enc[j], "\\x%02x", (unsigned char) str[i]);
+ j += 4;
+ } else {
+ if (len-j < 1)
+ goto err;
+ str_enc[j] = str[i];
+ j++;
+ }
+ if (j+3 >= len)
+ goto err;
+ }
+ if (len-j < 1)
+ goto err;
+ str_enc[j] = '\0';
+ return 0;
+err:
+ return -1;
+}
+
+/**
+ * blkid_safe_string:
+ * @str: input string
+ * @str_safe: output string
+ * @len: size of output string
+ *
+ * Allows plain ascii, hex-escaping and valid utf8. Replaces all whitespaces
+ * with '_'.
+ *
+ * Returns: 0 on success or -1 in case of error.
+ */
+int blkid_safe_string(const char *str, char *str_safe, size_t len)
+{
+ replace_whitespace(str, str_safe, len);
+ replace_chars(str_safe, UDEV_ALLOWED_CHARS_INPUT);
+ return 0;
+}
diff --git a/libblkid/src/evaluate.c b/libblkid/src/evaluate.c
new file mode 100644
index 0000000..5a84b43
--- /dev/null
+++ b/libblkid/src/evaluate.c
@@ -0,0 +1,328 @@
+/*
+ * evaluate.c - very high-level API to evaluate LABELs or UUIDs
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <stdint.h>
+#include <stdarg.h>
+
+#include "pathnames.h"
+#include "canonicalize.h"
+
+#include "blkidP.h"
+
+/**
+ * SECTION:evaluate
+ * @title: Tags and Spec evaluation
+ * @short_description: top-level API for LABEL and UUID evaluation.
+ *
+ * This API provides very simple and portable way how evaluate LABEL and UUID
+ * tags. The blkid_evaluate_tag() and blkid_evaluate_spec() work on 2.4 and
+ * 2.6 systems and on systems with or without udev. Currently, the libblkid
+ * library supports "udev" and "scan" methods. The "udev" method uses udev
+ * /dev/disk/by-* symlinks and the "scan" method scans all block devices from
+ * the /proc/partitions file. The evaluation could be controlled by the
+ * /etc/blkid.conf config file. The default is to try "udev" and then "scan"
+ * method.
+ *
+ * The blkid_evaluate_tag() also automatically informs udevd when an obsolete
+ * /dev/disk/by-* symlink is detected.
+ *
+ * If you are not sure how translate LABEL or UUID to the device name use this
+ * API.
+ */
+
+#ifdef CONFIG_BLKID_VERIFY_UDEV
+/* returns zero when the device has NAME=value (LABEL/UUID) */
+static int verify_tag(const char *devname, const char *name, const char *value)
+{
+ blkid_probe pr;
+ int fd = -1, rc = -1;
+ size_t len;
+ const char *data;
+ int errsv = 0;
+
+ pr = blkid_new_probe();
+ if (!pr)
+ return -1;
+
+ blkid_probe_enable_superblocks(pr, TRUE);
+ blkid_probe_set_superblocks_flags(pr,
+ BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID);
+
+ blkid_probe_enable_partitions(pr, TRUE);
+ blkid_probe_set_partitions_flags(pr, BLKID_PARTS_ENTRY_DETAILS);
+
+ fd = open(devname, O_RDONLY);
+ if (fd < 0) {
+ errsv = errno;
+ goto done;
+ }
+ if (blkid_probe_set_device(pr, fd, 0, 0))
+ goto done;
+ rc = blkid_do_safeprobe(pr);
+ if (rc)
+ goto done;
+ rc = blkid_probe_lookup_value(pr, name, &data, &len);
+ if (!rc)
+ rc = memcmp(value, data, len);
+done:
+ DBG(DEBUG_EVALUATE, printf("%s: %s verification %s\n",
+ devname, name, rc == 0 ? "PASS" : "FAILED"));
+ if (fd >= 0)
+ close(fd);
+ blkid_free_probe(pr);
+
+ /* for non-root users we use unverified udev links */
+ return errsv == EACCES ? 0 : rc;
+}
+#endif /* CONFIG_BLKID_VERIFY_UDEV*/
+
+/**
+ * blkid_send_uevent:
+ * @devname: absolute path to the device
+ * @action: event string
+ *
+ * Returns: -1 in case of failure, or 0 on success.
+ */
+int blkid_send_uevent(const char *devname, const char *action)
+{
+ char uevent[PATH_MAX];
+ struct stat st;
+ FILE *f;
+ int rc = -1;
+
+ DBG(DEBUG_EVALUATE, printf("%s: uevent '%s' requested\n", devname, action));
+
+ if (!devname || !action)
+ return -1;
+ if (stat(devname, &st) || !S_ISBLK(st.st_mode))
+ return -1;
+
+ snprintf(uevent, sizeof(uevent), "/sys/dev/block/%d:%d/uevent",
+ major(st.st_rdev), minor(st.st_rdev));
+
+ f = fopen(uevent, "w");
+ if (f) {
+ rc = 0;
+ if (fputs(action, f) >= 0)
+ rc = 0;
+ fclose(f);
+ }
+ DBG(DEBUG_EVALUATE, printf("%s: send uevent %s\n",
+ uevent, rc == 0 ? "SUCCES" : "FAILED"));
+ return rc;
+}
+
+static char *evaluate_by_udev(const char *token, const char *value, int uevent)
+{
+ char dev[PATH_MAX];
+ char *path = NULL;
+ size_t len;
+ struct stat st;
+
+ DBG(DEBUG_EVALUATE,
+ printf("evaluating by udev %s=%s\n", token, value));
+
+ if (!strcmp(token, "UUID"))
+ strcpy(dev, _PATH_DEV_BYUUID "/");
+ else if (!strcmp(token, "LABEL"))
+ strcpy(dev, _PATH_DEV_BYLABEL "/");
+ else if (!strcmp(token, "PARTLABEL"))
+ strcpy(dev, _PATH_DEV_BYPARTLABEL "/");
+ else if (!strcmp(token, "PARTUUID"))
+ strcpy(dev, _PATH_DEV_BYPARTUUID "/");
+ else {
+ DBG(DEBUG_EVALUATE,
+ printf("unsupported token %s\n", token));
+ return NULL; /* unsupported tag */
+ }
+
+ len = strlen(dev);
+ if (blkid_encode_string(value, &dev[len], sizeof(dev) - len) != 0)
+ return NULL;
+
+ DBG(DEBUG_EVALUATE,
+ printf("expected udev link: %s\n", dev));
+
+ if (stat(dev, &st))
+ goto failed; /* link or device does not exist */
+
+ if (!S_ISBLK(st.st_mode))
+ return NULL;
+
+ path = canonicalize_path(dev);
+ if (!path)
+ return NULL;
+
+#ifdef CONFIG_BLKID_VERIFY_UDEV
+ if (verify_tag(path, token, value))
+ goto failed;
+#endif
+ return path;
+
+failed:
+ DBG(DEBUG_EVALUATE, printf("failed to evaluate by udev\n"));
+
+ if (uevent && path)
+ blkid_send_uevent(path, "change");
+ free(path);
+ return NULL;
+}
+
+static char *evaluate_by_scan(const char *token, const char *value,
+ blkid_cache *cache, struct blkid_config *conf)
+{
+ blkid_cache c = cache ? *cache : NULL;
+ char *res;
+
+ DBG(DEBUG_EVALUATE,
+ printf("evaluating by blkid scan %s=%s\n", token, value));
+
+ if (!c) {
+ char *cachefile = blkid_get_cache_filename(conf);
+ blkid_get_cache(&c, cachefile);
+ free(cachefile);
+ }
+ if (!c)
+ return NULL;
+
+ res = blkid_get_devname(c, token, value);
+
+ if (cache)
+ *cache = c;
+ else
+ blkid_put_cache(c);
+
+ return res;
+}
+
+/**
+ * blkid_evaluate_tag:
+ * @token: token name (e.g "LABEL" or "UUID") or unparsed tag (e.g. "LABEL=foo")
+ * @value: token data (e.g. "foo")
+ * @cache: pointer to cache (or NULL when you don't want to re-use the cache)
+ *
+ * Returns: allocated string with a device name.
+ */
+char *blkid_evaluate_tag(const char *token, const char *value, blkid_cache *cache)
+{
+ struct blkid_config *conf = NULL;
+ char *t = NULL, *v = NULL;
+ char *ret = NULL;
+ int i;
+
+ if (!token)
+ return NULL;
+
+ if (!cache || !*cache)
+ blkid_init_debug(0);
+
+ DBG(DEBUG_EVALUATE,
+ printf("evaluating %s%s%s\n", token, value ? "=" : "",
+ value ? value : ""));
+
+ if (!value) {
+ if (!strchr(token, '=')) {
+ ret = blkid_strdup(token);
+ goto out;
+ }
+ blkid_parse_tag_string(token, &t, &v);
+ if (!t || !v)
+ goto out;
+ token = t;
+ value = v;
+ }
+
+ conf = blkid_read_config(NULL);
+ if (!conf)
+ goto out;
+
+ for (i = 0; i < conf->nevals; i++) {
+ if (conf->eval[i] == BLKID_EVAL_UDEV)
+ ret = evaluate_by_udev(token, value, conf->uevent);
+ else if (conf->eval[i] == BLKID_EVAL_SCAN)
+ ret = evaluate_by_scan(token, value, cache, conf);
+ if (ret)
+ break;
+ }
+
+ DBG(DEBUG_EVALUATE,
+ printf("%s=%s evaluated as %s\n", token, value, ret));
+out:
+ blkid_free_config(conf);
+ free(t);
+ free(v);
+ return ret;
+}
+
+/**
+ * blkid_evaluate_spec:
+ * @spec: unparsed tag (e.g. "LABEL=foo") or path (e.g. /dev/dm-0)
+ * @cache: pointer to cache (or NULL when you don't want to re-use the cache)
+ *
+ * All returned paths are canonicalized, device-mapper paths are converted
+ * to the /dev/mapper/name format.
+ *
+ * Returns: allocated string with a device name.
+ */
+char *blkid_evaluate_spec(const char *spec, blkid_cache *cache)
+{
+ char *t = NULL, *v = NULL, *res;
+
+ if (!spec)
+ return NULL;
+
+ if (strchr(spec, '=') &&
+ blkid_parse_tag_string(spec, &t, &v) != 0) /* parse error */
+ return NULL;
+
+ if (v)
+ res = blkid_evaluate_tag(t, v, cache);
+ else
+ res = canonicalize_path(spec);
+
+ free(t);
+ free(v);
+ return res;
+}
+
+
+#ifdef TEST_PROGRAM
+int main(int argc, char *argv[])
+{
+ blkid_cache cache = NULL;
+ char *res;
+
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <tag> | <spec>\n", argv[0]);
+ return EXIT_FAILURE;
+ }
+
+ blkid_init_debug(0);
+
+ res = blkid_evaluate_spec(argv[1], &cache);
+ if (res)
+ printf("%s\n", res);
+ if (cache)
+ blkid_put_cache(cache);
+
+ return res ? EXIT_SUCCESS : EXIT_FAILURE;
+}
+#endif
diff --git a/libblkid/src/getsize.c b/libblkid/src/getsize.c
new file mode 100644
index 0000000..abe6ebc
--- /dev/null
+++ b/libblkid/src/getsize.c
@@ -0,0 +1,34 @@
+/*
+ * getsize.c --- get the size of a partition.
+ *
+ * Copyright (C) 1995, 1995 Theodore Ts'o.
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#include <stdio.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include "blkidP.h"
+
+/**
+ * blkid_get_dev_size:
+ * @fd: file descriptor
+ *
+ * Returns: size (in bytes) of the block device or size of the regular file or 0.
+ */
+blkid_loff_t blkid_get_dev_size(int fd)
+{
+ unsigned long long bytes;
+
+ if (blkdev_get_size(fd, &bytes))
+ return 0;
+
+ return bytes;
+}
+
diff --git a/libblkid/src/llseek.c b/libblkid/src/llseek.c
new file mode 100644
index 0000000..7fb44c4
--- /dev/null
+++ b/libblkid/src/llseek.c
@@ -0,0 +1,142 @@
+/*
+ * llseek.c -- stub calling the llseek system call
+ *
+ * Copyright (C) 1994, 1995, 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#define _LARGEFILE_SOURCE
+#define _LARGEFILE64_SOURCE
+
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef __MSDOS__
+#include <io.h>
+#endif
+
+#include "blkidP.h"
+
+#ifdef __linux__
+
+#if defined(HAVE_LSEEK64) && defined(HAVE_LSEEK64_PROTOTYPE)
+
+#define my_llseek lseek64
+
+#elif defined(HAVE_LLSEEK)
+#include <syscall.h>
+
+#ifndef HAVE_LLSEEK_PROTOTYPE
+extern long long llseek(int fd, long long offset, int origin);
+#endif
+
+#define my_llseek llseek
+
+#else /* ! HAVE_LLSEEK */
+
+#if SIZEOF_LONG == SIZEOF_LONG_LONG
+
+#define llseek lseek
+
+#else /* SIZEOF_LONG != SIZEOF_LONG_LONG */
+
+#include <linux/unistd.h>
+
+#ifndef __NR__llseek
+#define __NR__llseek 140
+#endif
+
+#ifndef __i386__
+static int _llseek(unsigned int, unsigned long, unsigned long,
+ blkid_loff_t *, unsigned int);
+
+static _syscall5(int, _llseek, unsigned int, fd, unsigned long, offset_high,
+ unsigned long, offset_low, blkid_loff_t *, result,
+ unsigned int, origin)
+#endif
+
+static blkid_loff_t my_llseek(int fd, blkid_loff_t offset, int origin)
+{
+ blkid_loff_t result;
+ int retval;
+
+#ifndef __i386__
+ retval = _llseek(fd, ((unsigned long long) offset) >> 32,
+ ((unsigned long long)offset) & 0xffffffff,
+ &result, origin);
+#else
+ retval = syscall(__NR__llseek, fd, ((unsigned long long) offset) >> 32,
+ ((unsigned long long)offset) & 0xffffffff,
+ &result, origin);
+#endif
+ return (retval == -1 ? (blkid_loff_t) retval : result);
+}
+
+#endif /* __alpha__ || __ia64__ */
+
+#endif /* HAVE_LLSEEK */
+
+blkid_loff_t blkid_llseek(int fd, blkid_loff_t offset, int whence)
+{
+ blkid_loff_t result;
+ static int do_compat = 0;
+
+ if ((sizeof(off_t) >= sizeof(blkid_loff_t)) ||
+ (offset < ((blkid_loff_t) 1 << ((sizeof(off_t)*8) -1))))
+ return lseek(fd, (off_t) offset, whence);
+
+ if (do_compat) {
+ errno = EOVERFLOW;
+ return -1;
+ }
+
+ result = my_llseek(fd, offset, whence);
+ if (result == -1 && errno == ENOSYS) {
+ /*
+ * Just in case this code runs on top of an old kernel
+ * which does not support the llseek system call
+ */
+ do_compat++;
+ errno = EOVERFLOW;
+ }
+ return result;
+}
+
+#else /* !linux */
+
+#ifndef EOVERFLOW
+#ifdef EXT2_ET_INVALID_ARGUMENT
+#define EOVERFLOW EXT2_ET_INVALID_ARGUMENT
+#else
+#define EOVERFLOW 112
+#endif
+#endif
+
+blkid_loff_t blkid_llseek(int fd, blkid_loff_t offset, int origin)
+{
+#if defined(HAVE_LSEEK64) && defined(HAVE_LSEEK64_PROTOTYPE)
+ return lseek64 (fd, offset, origin);
+#else
+ if ((sizeof(off_t) < sizeof(blkid_loff_t)) &&
+ (offset >= ((blkid_loff_t) 1 << ((sizeof(off_t)*8) - 1)))) {
+ errno = EOVERFLOW;
+ return -1;
+ }
+ return lseek(fd, (off_t) offset, origin);
+#endif
+}
+
+#endif /* linux */
+
+
diff --git a/libblkid/src/partitions/aix.c b/libblkid/src/partitions/aix.c
new file mode 100644
index 0000000..de397bf
--- /dev/null
+++ b/libblkid/src/partitions/aix.c
@@ -0,0 +1,59 @@
+/*
+ * aix partitions
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "partitions.h"
+#include "aix.h"
+
+static int probe_aix_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ blkid_partlist ls;
+ blkid_parttable tab;
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ tab = blkid_partlist_new_parttable(ls, "aix", 0);
+ if (!tab)
+ goto err;
+
+ return 0;
+err:
+ return -1;
+}
+
+/*
+ * We know nothing about AIX on-disk structures. Everything what we know is the
+ * magic number at begin of the disk.
+ *
+ * Note, Linux kernel is tring to be smart and AIX signature is ignored when
+ * there is a valid DOS partitions table. We don't support such behaviour. All
+ * fdisk-like programs has to properly wipe the fist sector. Everything other
+ * is a bug.
+ */
+const struct blkid_idinfo aix_pt_idinfo =
+{
+ .name = "aix",
+ .probefunc = probe_aix_pt,
+ .magics =
+ {
+ { .magic = BLKID_AIX_MAGIC_STRING, .len = BLKID_AIX_MAGIC_STRLEN },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/partitions/aix.h b/libblkid/src/partitions/aix.h
new file mode 100644
index 0000000..f767c5a
--- /dev/null
+++ b/libblkid/src/partitions/aix.h
@@ -0,0 +1,7 @@
+#ifndef BLKID_PARTITIONS_AIX_H
+#define BLKID_PARTITIONS_AIX_H
+
+#define BLKID_AIX_MAGIC_STRING "\xC9\xC2\xD4\xC1"
+#define BLKID_AIX_MAGIC_STRLEN (sizeof(BLKID_AIX_MAGIC_STRING) - 1)
+
+#endif
diff --git a/libblkid/src/partitions/blkid_parttypes.h b/libblkid/src/partitions/blkid_parttypes.h
new file mode 100644
index 0000000..b0aad86
--- /dev/null
+++ b/libblkid/src/partitions/blkid_parttypes.h
@@ -0,0 +1,121 @@
+/*
+ * Partition types
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/* Note, _L32M means <32M (less), for example FAT16_L32M */
+
+enum {
+ BLKID_EMPTY_PARTITION = 0x00,
+ BLKID_FAT12_PARTITION = 0x01,
+ BLKID_XENIX_ROOT_PARTITION = 0x02,
+ BLKID_XENIX_USR_PARTITION = 0x03,
+ BLKID_FAT16_LESS32M_PARTITION = 0x04,
+ BLKID_DOS_EXTENDED_PARTITION = 0x05,
+ BLKID_FAT16_PARTITION = 0x06, /* DOS 16-bit >=32M */
+ BLKID_HPFS_NTFS_PARTITION = 0x07, /* OS/2 IFS, eg, HPFS or NTFS or QNX */
+ BLKID_AIX_PARTITION = 0x08, /* AIX boot (AIX -- PS/2 port) or SplitDrive */
+ BLKID_AIX_BOOTABLE_PARTITION = 0x09, /* AIX data or Coherent */
+ BLKID_OS2_BOOTMNGR_PARTITION = 0x0a, /* OS/2 Boot Manager */
+ BLKID_W95_FAT32_PARTITION = 0x0b,
+ BLKID_W95_FAT32_LBA_PARTITION = 0x0c, /* LBA really is `Extended Int 13h' */
+ BLKID_W95_FAT16_LBA_PARTITION = 0x0e,
+ BLKID_W95_EXTENDED_PARTITION = 0x0f,
+ BLKID_OPUS_PARTITION = 0x10,
+ BLKID_HIDDEN_FAT12_PARTITION = 0x11,
+ BLKID_COMPAQ_DIAGNOSTICS_PARTITION = 0x12,
+ BLKID_HIDDEN_FAT16_L32M_PARTITION = 0x14,
+ BLKID_HIDDEN_FAT16_PARTITION = 0x16,
+ BLKID_HIDDEN_HPFS_NTFS_PARTITION = 0x17,
+ BLKID_AST_SMARTSLEEP_PARTITION = 0x18,
+ BLKID_HIDDEN_W95_FAT32_PARTITION = 0x1b,
+ BLKID_HIDDEN_W95_FAT32LBA_PARTITION = 0x1c,
+ BLKID_HIDDEN_W95_FAT16LBA_PARTITION = 0x1e,
+ BLKID_NEC_DOS_PARTITION = 0x24,
+ BLKID_PLAN9_PARTITION = 0x39,
+ BLKID_PARTITIONMAGIC_PARTITION = 0x3c,
+ BLKID_VENIX80286_PARTITION = 0x40,
+ BLKID_PPC_PREP_BOOT_PARTITION = 0x41,
+ BLKID_SFS_PARTITION = 0x42,
+ BLKID_QNX_4X_PARTITION = 0x4d,
+ BLKID_QNX_4X_2ND_PARTITION = 0x4e,
+ BLKID_QNX_4X_3RD_PARTITION = 0x4f,
+ BLKID_DM_PARTITION = 0x50,
+ BLKID_DM6_AUX1_PARTITION = 0x51, /* (or Novell) */
+ BLKID_CPM_PARTITION = 0x52, /* CP/M or Microport SysV/AT */
+ BLKID_DM6_AUX3_PARTITION = 0x53,
+ BLKID_DM6_PARTITION = 0x54,
+ BLKID_EZ_DRIVE_PARTITION = 0x55,
+ BLKID_GOLDEN_BOW_PARTITION = 0x56,
+ BLKID_PRIAM_EDISK_PARTITION = 0x5c,
+ BLKID_SPEEDSTOR_PARTITION = 0x61,
+ BLKID_GNU_HURD_PARTITION = 0x63, /* GNU HURD or Mach or Sys V/386 (such as ISC UNIX) */
+ BLKID_UNIXWARE_PARTITION = BLKID_GNU_HURD_PARTITION,
+ BLKID_NETWARE_286_PARTITION = 0x64,
+ BLKID_NETWARE_386_PARTITION = 0x65,
+ BLKID_DISKSECURE_MULTIBOOT_PARTITION = 0x70,
+ BLKID_PC_IX_PARTITION = 0x75,
+ BLKID_OLD_MINIX_PARTITION = 0x80, /* Minix 1.4a and earlier */
+ BLKID_MINIX_PARTITION = 0x81, /* Minix 1.4b and later */
+ BLKID_LINUX_SWAP_PARTITION = 0x82,
+ BLKID_SOLARIS_X86_PARTITION = BLKID_LINUX_SWAP_PARTITION,
+ BLKID_LINUX_DATA_PARTITION = 0x83,
+ BLKID_OS2_HIDDEN_DRIVE_PARTITION = 0x84,
+ BLKID_LINUX_EXTENDED_PARTITION = 0x85,
+ BLKID_NTFS_VOL_SET1_PARTITION = 0x86,
+ BLKID_NTFS_VOL_SET2_PARTITION = 0x87,
+ BLKID_LINUX_PLAINTEXT_PARTITION = 0x88,
+ BLKID_LINUX_LVM_PARTITION = 0x8e,
+ BLKID_AMOEBA_PARTITION = 0x93,
+ BLKID_AMOEBA_BBT_PARTITION = 0x94, /* (bad block table) */
+ BLKID_BSD_OS_PARTITION = 0x9f, /* BSDI */
+ BLKID_THINKPAD_HIBERNATION_PARTITION = 0xa0,
+ BLKID_FREEBSD_PARTITION = 0xa5, /* various BSD flavours */
+ BLKID_OPENBSD_PARTITION = 0xa6,
+ BLKID_NEXTSTEP_PARTITION = 0xa7,
+ BLKID_DARWIN_UFS_PARTITION = 0xa8,
+ BLKID_NETBSD_PARTITION = 0xa9,
+ BLKID_DARWIN_BOOT_PARTITION = 0xab,
+ BLKID_HFS_HFS_PARTITION = 0xaf,
+ BLKID_BSDI_FS_PARTITION = 0xb7,
+ BLKID_BSDI_SWAP_PARTITION = 0xb8,
+ BLKID_BOOTWIZARD_HIDDEN_PARTITION = 0xbb,
+ BLKID_SOLARIS_BOOT_PARTITION = 0xbe,
+ BLKID_SOLARIS_PARTITION = 0xbf,
+ BLKID_DRDOS_FAT12_PARTITION = 0xc1,
+ BLKID_DRDOS_FAT16_L32M_PARTITION = 0xc4,
+ BLKID_DRDOS_FAT16_PARTITION = 0xc6,
+ BLKID_SYRINX_PARTITION = 0xc7,
+ BLKID_NONFS_DATA_PARTITION = 0xda,
+ BLKID_CPM_CTOS_PARTITION = 0xdb, /* CP/M or Concurrent CP/M or Concurrent DOS or CTOS */
+ BLKID_DELL_UTILITY_PARTITION = 0xde, /* Dell PowerEdge Server utilities */
+ BLKID_BOOTIT_PARTITION = 0xdf, /* BootIt EMBRM */
+ BLKID_DOS_ACCESS_PARTITION = 0xe1, /* DOS access or SpeedStor 12-bit FAT extended partition */
+ BLKID_DOS_RO_PARTITION = 0xe3, /* DOS R/O or SpeedStor */
+ BLKID_SPEEDSTOR_EXTENDED_PARTITION = 0xe4, /* SpeedStor 16-bit FAT extended partition < 1024 cyl. */
+ BLKID_BEOS_FS_PARTITION = 0xeb,
+ BLKID_GPT_PARTITION = 0xee, /* Intel EFI GUID Partition Table */
+ BLKID_EFI_SYSTEM_PARTITION = 0xef, /* Intel EFI System Partition */
+ BLKID_LINUX_PARISC_BOOT_PARTITION = 0xf0, /* Linux/PA-RISC boot loader */
+ BLKID_SPEEDSTOR1_PARTITION = 0xf1,
+ BLKID_SPEEDSTOR2_PARTITION = 0xf4, /* SpeedStor large partition */
+ BLKID_DOS_SECONDARY_PARTITION = 0xf2, /* DOS 3.3+ secondary */
+ BLKID_VMWARE_VMFS_PARTITION = 0xfb,
+ BLKID_VMWARE_VMKCORE_PARTITION = 0xfc, /* VMware kernel dump partition */
+ BLKID_LINUX_RAID_PARTITION = 0xfd, /* New (2.2.x) raid partition with autodetect using persistent superblock */
+ BLKID_LANSTEP_PARTITION = 0xfe, /* SpeedStor >1024 cyl. or LANstep */
+ BLKID_XENIX_BBT_PARTITION = 0xff, /* Xenix Bad Block Table */
+};
diff --git a/libblkid/src/partitions/bsd.c b/libblkid/src/partitions/bsd.c
new file mode 100644
index 0000000..ee15ad2
--- /dev/null
+++ b/libblkid/src/partitions/bsd.c
@@ -0,0 +1,243 @@
+/*
+ * BSD/OSF partition parsing code
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ * Inspired by fdisk, partx, Linux kernel, libparted and openbsd header files.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "partitions.h"
+
+#define BSD_MAXPARTITIONS 16
+#define BSD_FS_UNUSED 0
+
+struct bsd_disklabel {
+ uint32_t d_magic; /* the magic number */
+ int16_t d_type; /* drive type */
+ int16_t d_subtype; /* controller/d_type specific */
+ char d_typename[16]; /* type name, e.g. "eagle" */
+ char d_packname[16]; /* pack identifier */
+
+ /* disk geometry: */
+ uint32_t d_secsize; /* # of bytes per sector */
+ uint32_t d_nsectors; /* # of data sectors per track */
+ uint32_t d_ntracks; /* # of tracks per cylinder */
+ uint32_t d_ncylinders; /* # of data cylinders per unit */
+ uint32_t d_secpercyl; /* # of data sectors per cylinder */
+ uint32_t d_secperunit; /* # of data sectors per unit */
+
+ /*
+ * Spares (bad sector replacements) below
+ * are not counted in d_nsectors or d_secpercyl.
+ * Spare sectors are assumed to be physical sectors
+ * which occupy space at the end of each track and/or cylinder.
+ */
+ uint16_t d_sparespertrack; /* # of spare sectors per track */
+ uint16_t d_sparespercyl; /* # of spare sectors per cylinder */
+
+ /*
+ * Alternate cylinders include maintenance, replacement,
+ * configuration description areas, etc.
+ */
+ uint32_t d_acylinders; /* # of alt. cylinders per unit */
+
+ /* hardware characteristics: */
+ /*
+ * d_interleave, d_trackskew and d_cylskew describe perturbations
+ * in the media format used to compensate for a slow controller.
+ * Interleave is physical sector interleave, set up by the formatter
+ * or controller when formatting. When interleaving is in use,
+ * logically adjacent sectors are not physically contiguous,
+ * but instead are separated by some number of sectors.
+ * It is specified as the ratio of physical sectors traversed
+ * per logical sector. Thus an interleave of 1:1 implies contiguous
+ * layout, while 2:1 implies that logical sector 0 is separated
+ * by one sector from logical sector 1.
+ * d_trackskew is the offset of sector 0 on track N
+ * relative to sector 0 on track N-1 on the same cylinder.
+ * Finally, d_cylskew is the offset of sector 0 on cylinder N
+ * relative to sector 0 on cylinder N-1.
+ */
+ uint16_t d_rpm; /* rotational speed */
+ uint16_t d_interleave; /* hardware sector interleave */
+ uint16_t d_trackskew; /* sector 0 skew, per track */
+ uint16_t d_cylskew; /* sector 0 skew, per cylinder */
+ uint32_t d_headswitch; /* head switch time, usec */
+ uint32_t d_trkseek; /* track-to-track seek, usec */
+ uint32_t d_flags; /* generic flags */
+ uint32_t d_drivedata[5]; /* drive-type specific information */
+ uint32_t d_spare[5]; /* reserved for future use */
+ uint32_t d_magic2; /* the magic number (again) */
+ uint16_t d_checksum; /* xor of data incl. partitions */
+
+ /* filesystem and partition information: */
+ uint16_t d_npartitions; /* number of partitions in following */
+ uint32_t d_bbsize; /* size of boot area at sn0, bytes */
+ uint32_t d_sbsize; /* max size of fs superblock, bytes */
+
+ struct bsd_partition { /* the partition table */
+ uint32_t p_size; /* number of sectors in partition */
+ uint32_t p_offset; /* starting sector */
+ uint32_t p_fsize; /* filesystem basic fragment size */
+ uint8_t p_fstype; /* filesystem type, see below */
+ uint8_t p_frag; /* filesystem fragments per block */
+ uint16_t p_cpg; /* filesystem cylinders per group */
+ } __attribute__((packed)) d_partitions[BSD_MAXPARTITIONS]; /* actually may be more */
+} __attribute__((packed));
+
+
+/* Returns 'blkid_idmag' in 512-sectors */
+#define BLKID_MAG_SECTOR(_mag) (((_mag)->kboff * 2) + ((_mag)->sboff >> 9))
+
+/* Returns 'blkid_idmag' in bytes */
+#define BLKID_MAG_OFFSET(_mag) ((_mag)->kboff >> 10) + ((_mag)->sboff)
+
+/* Returns 'blkid_idmag' offset in bytes within the last sector */
+#define BLKID_MAG_LASTOFFSET(_mag) \
+ (BLKID_MAG_OFFSET(_mag) - (BLKID_MAG_SECTOR(_mag) << 9))
+
+static int probe_bsd_pt(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct bsd_disklabel *l;
+ struct bsd_partition *p;
+ const char *name = "bsd" ;
+ blkid_parttable tab = NULL;
+ blkid_partition parent;
+ blkid_partlist ls;
+ int i, nparts = BSD_MAXPARTITIONS;
+ unsigned char *data;
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ data = blkid_probe_get_sector(pr, BLKID_MAG_SECTOR(mag));
+ if (!data)
+ goto nothing;
+
+ l = (struct bsd_disklabel *) data + BLKID_MAG_LASTOFFSET(mag);
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ /* try to determine the real type of BSD system according to
+ * (parental) primary partition */
+ parent = blkid_partlist_get_parent(ls);
+ if (parent) {
+ switch(blkid_partition_get_type(parent)) {
+ case BLKID_FREEBSD_PARTITION:
+ name = "freebsd";
+ break;
+ case BLKID_NETBSD_PARTITION:
+ name = "netbsd";
+ break;
+ case BLKID_OPENBSD_PARTITION:
+ name = "openbsd";
+ break;
+ default:
+ DBG(DEBUG_LOWPROBE, printf(
+ "WARNING: BSD label detected on unknown (0x%x) "
+ "primary partition\n",
+ blkid_partition_get_type(parent)));
+ break;
+ }
+ }
+
+ tab = blkid_partlist_new_parttable(ls, name, BLKID_MAG_OFFSET(mag));
+ if (!tab)
+ goto err;
+
+ if (le16_to_cpu(l->d_npartitions) < BSD_MAXPARTITIONS)
+ nparts = le16_to_cpu(l->d_npartitions);
+
+ else if (le16_to_cpu(l->d_npartitions) > BSD_MAXPARTITIONS)
+ DBG(DEBUG_LOWPROBE, printf(
+ "WARNING: ignore %d more BSD partitions\n",
+ le16_to_cpu(l->d_npartitions) - BSD_MAXPARTITIONS));
+
+ for (i = 0, p = l->d_partitions; i < nparts; i++, p++) {
+ blkid_partition par;
+ uint32_t start, size;
+
+ /* TODO: in fdisk-mode returns all non-zero (p_size) partitions */
+ if (p->p_fstype == BSD_FS_UNUSED)
+ continue;
+
+ start = le32_to_cpu(p->p_offset);
+ size = le32_to_cpu(p->p_size);
+
+ if (parent && !blkid_is_nested_dimension(parent, start, size)) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "WARNING: BSD partition (%d) overflow "
+ "detected, ignore\n", i));
+ continue;
+ }
+
+ par = blkid_partlist_add_partition(ls, tab, start, size);
+ if (!par)
+ goto err;
+
+ blkid_partition_set_type(par, p->p_fstype);
+ }
+
+ return 0;
+
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+
+/*
+ * All BSD variants use the same magic string (little-endian),
+ * and the same disklabel.
+ *
+ * The difference between {Free,Open,...}BSD is in the (parental)
+ * primary partition type.
+ *
+ * See also: http://en.wikipedia.org/wiki/BSD_disklabel
+ *
+ * The location of BSD disk label is architecture specific and in defined by
+ * LABELSECTOR and LABELOFFSET macros in the disklabel.h file. The location
+ * also depends on BSD variant, FreeBSD uses only one location, NetBSD and
+ * OpenBSD are more creative...
+ *
+ * The basic overview:
+ *
+ * arch | LABELSECTOR | LABELOFFSET
+ * ------------------------+-------------+------------
+ * amd64 arm hppa hppa64 | |
+ * i386, macppc, mvmeppc | 1 | 0
+ * sgi, aviion, sh, socppc | |
+ * ------------------------+-------------+------------
+ * alpha luna88k mac68k | 0 | 64
+ * sparc(OpenBSD) vax | |
+ * ------------------------+-------------+------------
+ * spark64 sparc(NetBSD) | 0 | 128
+ * ------------------------+-------------+------------
+ *
+ * ...and more (see http://fxr.watson.org/fxr/ident?v=NETBSD;i=LABELSECTOR)
+ *
+ */
+const struct blkid_idinfo bsd_pt_idinfo =
+{
+ .name = "bsd",
+ .probefunc = probe_bsd_pt,
+ .magics =
+ {
+ { .magic = "\x57\x45\x56\x82", .len = 4, .sboff = 512 },
+ { .magic = "\x57\x45\x56\x82", .len = 4, .sboff = 64 },
+ { .magic = "\x57\x45\x56\x82", .len = 4, .sboff = 128 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/partitions/dos.c b/libblkid/src/partitions/dos.c
new file mode 100644
index 0000000..22d2625
--- /dev/null
+++ b/libblkid/src/partitions/dos.c
@@ -0,0 +1,288 @@
+/*
+ * MS-DOS partition parsing code
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ * Inspired by fdisk, partx, Linux kernel and libparted.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "partitions.h"
+#include "dos.h"
+#include "aix.h"
+
+/* see superblocks/vfat.c */
+extern int blkid_probe_is_vfat(blkid_probe pr);
+
+static const struct dos_subtypes {
+ unsigned char type;
+ const struct blkid_idinfo *id;
+} dos_nested[] = {
+ { BLKID_FREEBSD_PARTITION, &bsd_pt_idinfo },
+ { BLKID_NETBSD_PARTITION, &bsd_pt_idinfo },
+ { BLKID_OPENBSD_PARTITION, &bsd_pt_idinfo },
+ { BLKID_UNIXWARE_PARTITION, &unixware_pt_idinfo },
+ { BLKID_SOLARIS_X86_PARTITION, &solaris_x86_pt_idinfo },
+ { BLKID_MINIX_PARTITION, &minix_pt_idinfo }
+};
+
+static inline int is_extended(struct dos_partition *p)
+{
+ return (p->sys_type == BLKID_DOS_EXTENDED_PARTITION ||
+ p->sys_type == BLKID_W95_EXTENDED_PARTITION ||
+ p->sys_type == BLKID_LINUX_EXTENDED_PARTITION);
+}
+
+static int parse_dos_extended(blkid_probe pr, blkid_parttable tab,
+ uint32_t ex_start, uint32_t ex_size, int ssf)
+{
+ blkid_partlist ls = blkid_probe_get_partlist(pr);
+ uint32_t cur_start = ex_start, cur_size = ex_size;
+ unsigned char *data;
+ int ct_nodata = 0; /* count ext.partitions without data partitions */
+ int i;
+
+ while (1) {
+ struct dos_partition *p, *p0;
+ uint32_t start, size;
+
+ if (++ct_nodata > 100)
+ return 0;
+ data = blkid_probe_get_sector(pr, cur_start);
+ if (!data)
+ goto leave; /* malformed partition? */
+
+ if (!is_valid_mbr_signature(data))
+ goto leave;
+
+ p0 = (struct dos_partition *) (data + BLKID_MSDOS_PT_OFFSET);
+
+ /* Usually, the first entry is the real data partition,
+ * the 2nd entry is the next extended partition, or empty,
+ * and the 3rd and 4th entries are unused.
+ * However, DRDOS sometimes has the extended partition as
+ * the first entry (when the data partition is empty),
+ * and OS/2 seems to use all four entries.
+ * -- Linux kernel fs/partitions/dos.c
+ *
+ * See also http://en.wikipedia.org/wiki/Extended_boot_record
+ */
+
+ /* Parse data partition */
+ for (p = p0, i = 0; i < 4; i++, p++) {
+ uint32_t abs_start;
+ blkid_partition par;
+
+ /* the start is relative to the parental ext.partition */
+ start = dos_partition_start(p) * ssf;
+ size = dos_partition_size(p) * ssf;
+ abs_start = cur_start + start; /* absolute start */
+
+ if (!size || is_extended(p))
+ continue;
+ if (i >= 2) {
+ /* extra checks to detect real data on
+ * 3rd and 4th entries */
+ if (start + size > cur_size)
+ continue;
+ if (abs_start < ex_start)
+ continue;
+ if (abs_start + size > ex_start + ex_size)
+ continue;
+ }
+
+ par = blkid_partlist_add_partition(ls, tab, abs_start, size);
+ if (!par)
+ goto err;
+
+ blkid_partition_set_type(par, p->sys_type);
+ blkid_partition_set_flags(par, p->boot_ind);
+ ct_nodata = 0;
+ }
+ /* The first nested ext.partition should be a link to the next
+ * logical partition. Everything other (recursive ext.partitions)
+ * is junk.
+ */
+ for (p = p0, i = 0; i < 4; i++, p++) {
+ start = dos_partition_start(p) * ssf;
+ size = dos_partition_size(p) * ssf;
+
+ if (size && is_extended(p))
+ break;
+ }
+ if (i == 4)
+ goto leave;
+
+ cur_start = ex_start + start;
+ cur_size = size;
+ }
+leave:
+ return 0;
+err:
+ return -1;
+}
+
+static int probe_dos_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ int i;
+ int ssf;
+ blkid_parttable tab = NULL;
+ blkid_partlist ls;
+ struct dos_partition *p0, *p;
+ unsigned char *data;
+ uint32_t start, size;
+
+ data = blkid_probe_get_sector(pr, 0);
+ if (!data)
+ goto nothing;
+
+ /* ignore disks with AIX magic number -- for more details see aix.c */
+ if (memcmp(data, BLKID_AIX_MAGIC_STRING, BLKID_AIX_MAGIC_STRLEN) == 0)
+ goto nothing;
+
+ /*
+ * Now that the 55aa signature is present, this is probably
+ * either the boot sector of a FAT filesystem or a DOS-type
+ * partition table.
+ */
+ if (blkid_probe_is_vfat(pr)) {
+ DBG(DEBUG_LOWPROBE, printf("probably FAT -- ignore\n"));
+ goto nothing;
+ }
+
+ p0 = (struct dos_partition *) (data + BLKID_MSDOS_PT_OFFSET);
+
+ /*
+ * Reject PT where boot indicator is not 0 or 0x80.
+ */
+ for (p = p0, i = 0; i < 4; i++, p++)
+ if (p->boot_ind != 0 && p->boot_ind != 0x80) {
+ DBG(DEBUG_LOWPROBE, printf("missing boot indicator -- ignore\n"));
+ goto nothing;
+ }
+
+ /*
+ * GPT uses valid MBR
+ */
+ for (p = p0, i = 0; i < 4; i++, p++) {
+ if (p->sys_type == BLKID_GPT_PARTITION) {
+ DBG(DEBUG_LOWPROBE, printf("probably GPT -- ignore\n"));
+ goto nothing;
+ }
+ }
+
+ blkid_probe_use_wiper(pr, BLKID_MSDOS_PT_OFFSET,
+ 512 - BLKID_MSDOS_PT_OFFSET);
+
+ /*
+ * Well, all checks pass, it's MS-DOS partiton table
+ */
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ ls = blkid_probe_get_partlist(pr);
+
+ /* sector size factor (the start and size are in the real sectors, but
+ * we need to convert all sizes to 512 logical sectors
+ */
+ ssf = blkid_probe_get_sectorsize(pr) / 512;
+
+ /* allocate a new partition table */
+ tab = blkid_partlist_new_parttable(ls, "dos", BLKID_MSDOS_PT_OFFSET);
+ if (!tab)
+ goto err;
+
+ /* Parse primary partitions */
+ for (p = p0, i = 0; i < 4; i++, p++) {
+ blkid_partition par;
+
+ start = dos_partition_start(p) * ssf;
+ size = dos_partition_size(p) * ssf;
+
+ if (!size) {
+ /* Linux kernel ignores empty partitions, but partno for
+ * the empty primary partitions is not reused */
+ blkid_partlist_increment_partno(ls);
+ continue;
+ }
+ par = blkid_partlist_add_partition(ls, tab, start, size);
+ if (!par)
+ goto err;
+
+ blkid_partition_set_type(par, p->sys_type);
+ blkid_partition_set_flags(par, p->boot_ind);
+ }
+
+ /* Linux uses partition numbers greater than 4
+ * for all logical partition and all nested partition tables (bsd, ..)
+ */
+ blkid_partlist_set_partno(ls, 5);
+
+ /* Parse logical partitions */
+ for (p = p0, i = 0; i < 4; i++, p++) {
+ start = dos_partition_start(p) * ssf;
+ size = dos_partition_size(p) * ssf;
+
+ if (!size)
+ continue;
+ if (is_extended(p) &&
+ parse_dos_extended(pr, tab, start, size, ssf) == -1)
+ goto err;
+ }
+
+ /* Parse subtypes (nested partitions) on large disks */
+ if (!blkid_probe_is_tiny(pr)) {
+ for (p = p0, i = 0; i < 4; i++, p++) {
+ size_t n;
+
+ if (!dos_partition_size(p) || is_extended(p))
+ continue;
+
+ for (n = 0; n < ARRAY_SIZE(dos_nested); n++) {
+ if (dos_nested[n].type != p->sys_type)
+ continue;
+
+ if (blkid_partitions_do_subprobe(pr,
+ blkid_partlist_get_partition(ls, i),
+ dos_nested[n].id) == -1)
+ goto err;
+ break;
+ }
+ }
+ }
+ return 0;
+
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+
+const struct blkid_idinfo dos_pt_idinfo =
+{
+ .name = "dos",
+ .probefunc = probe_dos_pt,
+ .magics =
+ {
+ /* DOS master boot sector:
+ *
+ * 0 | Code Area
+ * 440 | Optional Disk signature
+ * 446 | Partition table
+ * 510 | 0x55
+ * 511 | 0xAA
+ */
+ { .magic = "\x55\xAA", .len = 2, .sboff = 510 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/partitions/dos.h b/libblkid/src/partitions/dos.h
new file mode 100644
index 0000000..130aa01
--- /dev/null
+++ b/libblkid/src/partitions/dos.h
@@ -0,0 +1,36 @@
+#ifndef BLKID_PARTITIONS_DOS_H
+#define BLKID_PARTITIONS_DOS_H
+
+struct dos_partition {
+ unsigned char boot_ind; /* 0x80 - active */
+ unsigned char bh, bs, bc; /* begin CHS */
+ unsigned char sys_type;
+ unsigned char eh, es, ec; /* end CHS */
+ unsigned char start_sect[4];
+ unsigned char nr_sects[4];
+} __attribute__((packed));
+
+#define BLKID_MSDOS_PT_OFFSET 0x1be
+
+/* assemble badly aligned little endian integer */
+static inline unsigned int assemble4le(unsigned char *p)
+{
+ return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24);
+}
+
+static inline unsigned int dos_partition_start(struct dos_partition *p)
+{
+ return assemble4le(&(p->start_sect[0]));
+}
+
+static inline unsigned int dos_partition_size(struct dos_partition *p)
+{
+ return assemble4le(&(p->nr_sects[0]));
+}
+
+static inline int is_valid_mbr_signature(const unsigned char *mbr)
+{
+ return mbr[510] == 0x55 && mbr[511] == 0xaa ? 1 : 0;
+}
+
+#endif /* BLKID_PARTITIONS_DOS_H */
diff --git a/libblkid/src/partitions/gpt.c b/libblkid/src/partitions/gpt.c
new file mode 100644
index 0000000..ccade6b
--- /dev/null
+++ b/libblkid/src/partitions/gpt.c
@@ -0,0 +1,409 @@
+/*
+ * EFI GPT partition parsing code
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ * This code is not copy & past from any other implementation.
+ *
+ * For more information about GPT start your study at:
+ * http://en.wikipedia.org/wiki/GUID_Partition_Table
+ * http://technet.microsoft.com/en-us/library/cc739412(WS.10).aspx
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <stddef.h>
+
+#include "partitions.h"
+#include "crc32.h"
+#include "dos.h"
+
+#define GPT_PRIMARY_LBA 1
+
+/* Signature - “EFI PART” */
+#define GPT_HEADER_SIGNATURE 0x5452415020494645ULL
+#define GPT_HEADER_SIGNATURE_STR "EFI PART"
+
+/* basic types */
+typedef uint16_t efi_char16_t;
+
+/* UUID */
+typedef struct {
+ uint32_t time_low;
+ uint16_t time_mid;
+ uint16_t time_hi_and_version;
+ uint8_t clock_seq_hi;
+ uint8_t clock_seq_low;
+ uint8_t node[6];
+} efi_guid_t;
+
+
+#define GPT_UNUSED_ENTRY_GUID \
+ ((efi_guid_t) { 0x00000000, 0x0000, 0x0000, 0x00, 0x00, \
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }})
+struct gpt_header {
+ uint64_t signature; /* "EFI PART" */
+ uint32_t revision;
+ uint32_t header_size; /* usually 92 bytes */
+ uint32_t header_crc32; /* checksum of header with this
+ * field zeroed during calculation */
+ uint32_t reserved1;
+
+ uint64_t my_lba; /* location of this header copy */
+ uint64_t alternate_lba; /* location of the other header copy */
+ uint64_t first_usable_lba; /* lirst usable LBA for partitions */
+ uint64_t last_usable_lba; /* last usable LBA for partitions */
+
+ efi_guid_t disk_guid; /* disk UUID */
+
+ uint64_t partition_entries_lba; /* always 2 in primary header copy */
+ uint32_t num_partition_entries;
+ uint32_t sizeof_partition_entry;
+ uint32_t partition_entry_array_crc32;
+
+ /*
+ * The rest of the block is reserved by UEFI and must be zero. EFI
+ * standard handles this by:
+ *
+ * uint8_t reserved2[ BLKSSZGET - 92 ];
+ *
+ * This definition is useless in practice. It is necessary to read
+ * whole block from the device rather than sizeof(struct gpt_header)
+ * only.
+ */
+} __attribute__ ((packed));
+
+/*** not used
+struct gpt_entry_attributes {
+ uint64_t required_to_function:1;
+ uint64_t reserved:47;
+ uint64_t type_guid_specific:16;
+} __attribute__ ((packed));
+***/
+
+struct gpt_entry {
+ efi_guid_t partition_type_guid; /* type UUID */
+ efi_guid_t unique_partition_guid; /* partition UUID */
+ uint64_t starting_lba;
+ uint64_t ending_lba;
+
+ /*struct gpt_entry_attributes attributes;*/
+
+ uint64_t attributes;
+
+ efi_char16_t partition_name[72 / sizeof(efi_char16_t)]; /* UTF-16LE string*/
+} __attribute__ ((packed));
+
+
+/*
+ * EFI uses crc32 with ~0 seed and xor's with ~0 at the end.
+ */
+static inline uint32_t count_crc32(const unsigned char *buf, size_t len)
+{
+ return (crc32(~0L, buf, len) ^ ~0L);
+}
+
+static inline unsigned char *get_lba_buffer(blkid_probe pr,
+ uint64_t lba, size_t bytes)
+{
+ return blkid_probe_get_buffer(pr,
+ blkid_probe_get_sectorsize(pr) * lba, bytes);
+}
+
+static inline int guidcmp(efi_guid_t left, efi_guid_t right)
+{
+ return memcmp(&left, &right, sizeof (efi_guid_t));
+}
+
+/*
+ * UUID is traditionally 16 byte big-endian array, except Intel EFI
+ * specification where the UUID is a structure of little-endian fields.
+ */
+static void swap_efi_guid(efi_guid_t *uid)
+{
+ uid->time_low = swab32(uid->time_low);
+ uid->time_mid = swab16(uid->time_mid);
+ uid->time_hi_and_version = swab16(uid->time_hi_and_version);
+}
+
+static int last_lba(blkid_probe pr, uint64_t *lba)
+{
+ blkid_loff_t sz = blkid_probe_get_size(pr);
+ unsigned int ssz = blkid_probe_get_sectorsize(pr);
+
+ if (sz < ssz)
+ return -1;
+
+ *lba = (sz / ssz) - 1ULL;
+ return 0;
+}
+
+/*
+ * Protective (legacy) MBR.
+ *
+ * This MBR contains standard DOS partition table with a single partition, type
+ * of 0xEE. The partition usually encompassing the entire GPT drive - or 2TiB
+ * for large disks.
+ *
+ * Note that Apple uses GPT/MBR hybrid disks, where the DOS partition table is
+ * synchronized with GPT. This synchronization has many restriction of course
+ * (due DOS PT limitations).
+ *
+ * Note that the PMBR detection is optional (enabled by default) and could be
+ * disabled by BLKID_PARTS_FOPCE_GPT flag (see also blkid_paertitions_set_flags()).
+ */
+static int is_pmbr_valid(blkid_probe pr)
+{
+ int flags = blkid_partitions_get_flags(pr);
+ unsigned char *data;
+ struct dos_partition *p;
+ int i;
+
+ if (flags & BLKID_PARTS_FORCE_GPT)
+ goto ok; /* skip PMBR check */
+
+ data = blkid_probe_get_sector(pr, 0);
+ if (!data)
+ goto failed;
+
+ if (!is_valid_mbr_signature(data))
+ goto failed;
+
+ p = (struct dos_partition *) (data + BLKID_MSDOS_PT_OFFSET);
+
+ for (i = 0; i < 4; i++, p++) {
+ if (p->sys_type == BLKID_GPT_PARTITION)
+ goto ok;
+ }
+failed:
+ return 0;
+ok:
+ return 1;
+}
+
+/*
+ * Reads GPT header to @hdr and returns a pointer to @hdr or NULL in case of
+ * error. The function also returns GPT entries in @ents.
+ *
+ * Note, this function does not allocate any memory. The GPT header has fixed
+ * size so we use stack, and @ents returns memory from libblkid buffer (so the
+ * next blkid_probe_get_buffer() will overwrite this buffer).
+ *
+ * This function checks validity of header and entries array. A corrupted
+ * header is not returned.
+ */
+static struct gpt_header *get_gpt_header(
+ blkid_probe pr, struct gpt_header *hdr,
+ struct gpt_entry **ents, uint64_t lba,
+ uint64_t lastlba)
+{
+ struct gpt_header *h;
+ uint32_t crc, orgcrc;
+ uint64_t lu, fu;
+ size_t esz;
+ uint32_t hsz, ssz;
+
+ ssz = blkid_probe_get_sectorsize(pr);
+
+ /* whole sector is allocated for GPT header */
+ h = (struct gpt_header *) get_lba_buffer(pr, lba, ssz);
+ if (!h)
+ return NULL;
+
+ if (le64_to_cpu(h->signature) != GPT_HEADER_SIGNATURE)
+ return NULL;
+
+ hsz = le32_to_cpu(h->header_size);
+
+ /* EFI: The HeaderSize must be greater than 92 and must be less
+ * than or equal to the logical block size.
+ */
+ if (hsz > ssz || hsz < sizeof(*h))
+ return NULL;
+
+ /* Header has to be verified when header_crc32 is zero */
+ orgcrc = le32_to_cpu(h->header_crc32);
+ h->header_crc32 = 0;
+
+ crc = count_crc32((unsigned char *) h, hsz);
+ if (crc != orgcrc) {
+ DBG(DEBUG_LOWPROBE, printf("GPT header corrupted\n"));
+ return NULL;
+ }
+ h->header_crc32 = cpu_to_le32(orgcrc);
+
+ /* Valid header has to be at MyLBA */
+ if (le64_to_cpu(h->my_lba) != lba) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "GPT->MyLBA mismatch with real position\n"));
+ return NULL;
+ }
+
+ fu = le64_to_cpu(h->first_usable_lba);
+ lu = le64_to_cpu(h->last_usable_lba);
+
+ /* Check if First and Last usable LBA makes sense */
+ if (lu < fu || fu > lastlba || lu > lastlba) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "GPT->{First,Last}UsableLBA out of range\n"));
+ return NULL;
+ }
+
+ /* The header has to be outside usable range */
+ if (fu < lba && lba < lu) {
+ DBG(DEBUG_LOWPROBE, printf("GPT header is inside usable area\n"));
+ return NULL;
+ }
+
+ /* Size of blocks with GPT entries */
+ esz = le32_to_cpu(h->num_partition_entries) *
+ le32_to_cpu(h->sizeof_partition_entry);
+ if (!esz) {
+ DBG(DEBUG_LOWPROBE, printf("GPT entries undefined\n"));
+ return NULL;
+ }
+
+ /* The header seems valid, save it
+ * (we don't care about zeros in hdr->reserved2 area) */
+ memcpy(hdr, h, sizeof(*h));
+ h = hdr;
+
+ /* Read GPT entries */
+ *ents = (struct gpt_entry *) get_lba_buffer(pr,
+ le64_to_cpu(h->partition_entries_lba), esz);
+ if (!*ents) {
+ DBG(DEBUG_LOWPROBE, printf("GPT entries unreadable\n"));
+ return NULL;
+ }
+
+ /* Validate entries */
+ crc = count_crc32((unsigned char *) *ents, esz);
+ if (crc != le32_to_cpu(h->partition_entry_array_crc32)) {
+ DBG(DEBUG_LOWPROBE, printf("GPT entries corrupted\n"));
+ return NULL;
+ }
+
+ return h;
+}
+
+static int probe_gpt_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ uint64_t lastlba = 0, lba;
+ struct gpt_header hdr, *h;
+ struct gpt_entry *e;
+ blkid_parttable tab = NULL;
+ blkid_partlist ls;
+ uint64_t fu, lu;
+ uint32_t ssf, i;
+
+
+ if (last_lba(pr, &lastlba))
+ goto nothing;
+
+ if (!is_pmbr_valid(pr))
+ goto nothing;
+
+ h = get_gpt_header(pr, &hdr, &e, (lba = GPT_PRIMARY_LBA), lastlba);
+ if (!h)
+ h = get_gpt_header(pr, &hdr, &e, (lba = lastlba), lastlba);
+
+ if (!h)
+ goto nothing;
+
+ blkid_probe_use_wiper(pr, lba * blkid_probe_get_size(pr), 8);
+
+ if (blkid_probe_set_magic(pr, lba << 9,
+ sizeof(GPT_HEADER_SIGNATURE_STR) - 1,
+ (unsigned char *) GPT_HEADER_SIGNATURE_STR))
+ goto err;
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ tab = blkid_partlist_new_parttable(ls, "gpt", lba << 9);
+ if (!tab)
+ goto err;
+
+ ssf = blkid_probe_get_sectorsize(pr) / 512;
+
+ fu = le64_to_cpu(h->first_usable_lba);
+ lu = le64_to_cpu(h->last_usable_lba);
+
+ for (i = 0; i < le32_to_cpu(h->num_partition_entries); i++, e++) {
+
+ blkid_partition par;
+ uint64_t start = le64_to_cpu(e->starting_lba);
+ uint64_t size = le64_to_cpu(e->ending_lba) -
+ le64_to_cpu(e->starting_lba) + 1ULL;
+
+ /* 00000000-0000-0000-0000-000000000000 entry */
+ if (!guidcmp(e->partition_type_guid, GPT_UNUSED_ENTRY_GUID)) {
+ blkid_partlist_increment_partno(ls);
+ continue;
+ }
+ /* the partition has to inside usable range */
+ if (start < fu || start + size - 1 > lu) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "GPT entry[%d] overflows usable area - ignore\n",
+ i));
+ blkid_partlist_increment_partno(ls);
+ continue;
+ }
+
+ par = blkid_partlist_add_partition(ls, tab,
+ start * ssf, size * ssf);
+ if (!par)
+ goto err;
+
+ blkid_partition_set_utf8name(par,
+ (unsigned char *) e->partition_name,
+ sizeof(e->partition_name), BLKID_ENC_UTF16LE);
+
+ swap_efi_guid(&e->unique_partition_guid);
+ swap_efi_guid(&e->partition_type_guid);
+
+ blkid_partition_set_uuid(par,
+ (const unsigned char *) &e->unique_partition_guid);
+
+ blkid_partition_set_type_uuid(par,
+ (const unsigned char *) &e->partition_type_guid);
+
+ blkid_partition_set_flags(par, e->attributes);
+ }
+
+ return 0;
+
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+
+const struct blkid_idinfo gpt_pt_idinfo =
+{
+ .name = "gpt",
+ .probefunc = probe_gpt_pt,
+ .minsz = 1024 * 1440 + 1, /* ignore floppies */
+
+ /*
+ * It would be possible to check for DOS signature (0xAA55), but
+ * unfortunately almost all EFI GPT implemenations allow to optionaly
+ * skip the legacy MBR. We follows this behavior and MBR is optional.
+ * See is_valid_pmbr().
+ *
+ * It means we have to always call probe_gpt_pt().
+ */
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/partitions/mac.c b/libblkid/src/partitions/mac.c
new file mode 100644
index 0000000..e18896c
--- /dev/null
+++ b/libblkid/src/partitions/mac.c
@@ -0,0 +1,183 @@
+/*
+ * mac partitions parsing code
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "partitions.h"
+
+#define MAC_PARTITION_MAGIC 0x504d
+#define MAC_PARTITION_MAGIC_OLD 0x5453
+
+/*
+ * Mac partition entry
+ * http://developer.apple.com/legacy/mac/library/documentation/mac/Devices/Devices-126.html
+ */
+struct mac_partition {
+ uint16_t signature; /* expected to be MAC_PARTITION_MAGIC */
+ uint16_t reserved; /* reserved */
+ uint32_t map_count; /* # blocks in partition map */
+ uint32_t start_block; /* absolute starting block # of partition */
+ uint32_t block_count; /* number of blocks in partition */
+ char name[32]; /* partition name */
+ char type[32]; /* string type description */
+ uint32_t data_start; /* rel block # of first data block */
+ uint32_t data_count; /* number of data blocks */
+ uint32_t status; /* partition status bits */
+ uint32_t boot_start; /* first logical block of boot code */
+ uint32_t boot_size; /* size of boot code, in bytes */
+ uint32_t boot_load; /* boot code load address */
+ uint32_t boot_load2; /* reserved */
+ uint32_t boot_entry; /* boot code entry point */
+ uint32_t boot_entry2; /* reserved */
+ uint32_t boot_cksum; /* boot code checksum */
+ char processor[16]; /* identifies ISA of boot */
+
+ /* there is more stuff after this that we don't need */
+} __attribute__((packed));
+
+/*
+ * Driver descriptor structure, in block 0
+ * http://developer.apple.com/legacy/mac/library/documentation/mac/Devices/Devices-121.html
+ */
+struct mac_driver_desc {
+ uint16_t signature; /* expected to be MAC_DRIVER_MAGIC */
+ uint16_t block_size; /* block size of the device */
+ uint32_t block_count; /* number of blocks on the device */
+
+ /* there is more stuff after this that we don't need */
+} __attribute__((packed));
+
+static inline unsigned char *get_mac_block(
+ blkid_probe pr,
+ uint16_t block_size,
+ uint32_t num)
+{
+ return blkid_probe_get_buffer(pr,
+ (blkid_loff_t) num * block_size, block_size);
+}
+
+static inline int has_part_signature(struct mac_partition *p)
+{
+ return be16_to_cpu(p->signature) == MAC_PARTITION_MAGIC ||
+ be16_to_cpu(p->signature) == MAC_PARTITION_MAGIC_OLD;
+}
+
+static int probe_mac_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct mac_driver_desc *md;
+ struct mac_partition *p;
+ blkid_parttable tab = NULL;
+ blkid_partlist ls;
+ uint16_t block_size;
+ uint16_t ssf; /* sector size fragment */
+ uint32_t nblks, i;
+
+
+ /* The driver descriptor record is always located at physical block 0,
+ * the first block on the disk.
+ */
+ md = (struct mac_driver_desc *) blkid_probe_get_sector(pr, 0);
+ if (!md)
+ goto nothing;
+
+ block_size = be16_to_cpu(md->block_size);
+
+ /* The partition map always begins at physical block 1,
+ * the second block on the disk.
+ */
+ p = (struct mac_partition *) get_mac_block(pr, block_size, 1);
+ if (!p)
+ goto nothing;
+
+ /* check the first partition signature */
+ if (!has_part_signature(p))
+ goto nothing;
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ tab = blkid_partlist_new_parttable(ls, "mac", 0);
+ if (!tab)
+ goto err;
+
+ ssf = block_size / 512;
+ nblks = be32_to_cpu(p->map_count);
+
+ for (i = 1; i <= nblks; ++i) {
+ blkid_partition par;
+ uint32_t start;
+ uint32_t size;
+
+ p = (struct mac_partition *) get_mac_block(pr, block_size, i);
+ if (!p)
+ goto nothing;
+ if (!has_part_signature(p))
+ goto nothing;
+
+ if (be32_to_cpu(p->map_count) != nblks) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "mac: inconsisten map_count in partition map, "
+ "entry[0]: %d, entry[%d]: %d\n",
+ nblks, i - 1,
+ be32_to_cpu(p->map_count)));
+ }
+
+ /*
+ * note that libparted ignores some mac partitions according to
+ * the partition name (e.g. "Apple_Free" or "Apple_Void"). We
+ * follows Linux kernel and all partitions are visible
+ */
+
+ start = be32_to_cpu(p->start_block) * ssf;
+ size = be32_to_cpu(p->block_count) * ssf;
+
+ par = blkid_partlist_add_partition(ls, tab, start, size);
+ if (!par)
+ goto err;
+
+ blkid_partition_set_name(par, (unsigned char *) p->name,
+ sizeof(p->name));
+
+ blkid_partition_set_type_string(par, (unsigned char *) p->type,
+ sizeof(p->type));
+ }
+
+ return 0;
+
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+/*
+ * Mac disk always begin with "Driver Descriptor Record"
+ * (struct mac_driver_desc) and magic 0x4552.
+ */
+const struct blkid_idinfo mac_pt_idinfo =
+{
+ .name = "mac",
+ .probefunc = probe_mac_pt,
+ .magics =
+ {
+ /* big-endian magic string */
+ { .magic = "\x45\x52", .len = 2 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/partitions/minix.c b/libblkid/src/partitions/minix.c
new file mode 100644
index 0000000..bd57a6d
--- /dev/null
+++ b/libblkid/src/partitions/minix.c
@@ -0,0 +1,100 @@
+/*
+ * Minix partition parsing code
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "partitions.h"
+#include "dos.h"
+#include "minix.h"
+
+static int probe_minix_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct dos_partition *p;
+ blkid_parttable tab = NULL;
+ blkid_partition parent;
+ blkid_partlist ls;
+ unsigned char *data;
+ int i;
+
+ data = blkid_probe_get_sector(pr, 0);
+ if (!data)
+ goto nothing;
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ /* Parent is required, because Minix uses the same PT as DOS and
+ * difference is only in primary partition (parent) type.
+ */
+ parent = blkid_partlist_get_parent(ls);
+ if (!parent)
+ goto nothing;
+
+ if (blkid_partition_get_type(parent) != BLKID_MINIX_PARTITION)
+ goto nothing;
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ p = (struct dos_partition *) (data + BLKID_MSDOS_PT_OFFSET);
+
+ tab = blkid_partlist_new_parttable(ls, "minix", BLKID_MSDOS_PT_OFFSET);
+ if (!tab)
+ goto err;
+
+ for (i = 0; i < MINIX_MAXPARTITIONS; i++, p++) {
+ uint32_t start, size;
+ blkid_partition par;
+
+ if (p->sys_type != BLKID_MINIX_PARTITION)
+ continue;
+
+ start = dos_partition_start(p);
+ size = dos_partition_size(p);
+
+ if (parent && !blkid_is_nested_dimension(parent, start, size)) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "WARNING: minix partition (%d) overflow "
+ "detected, ignore\n", i));
+ continue;
+ }
+
+ par = blkid_partlist_add_partition(ls, tab, start, size);
+ if (!par)
+ goto err;
+
+ blkid_partition_set_type(par, p->sys_type);
+ blkid_partition_set_flags(par, p->boot_ind);
+ }
+
+ return 0;
+
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+/* same as DOS */
+const struct blkid_idinfo minix_pt_idinfo =
+{
+ .name = "minix",
+ .probefunc = probe_minix_pt,
+ .magics =
+ {
+ { .magic = "\x55\xAA", .len = 2, .sboff = 510 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/partitions/partitions.c b/libblkid/src/partitions/partitions.c
new file mode 100644
index 0000000..c9f7ff6
--- /dev/null
+++ b/libblkid/src/partitions/partitions.c
@@ -0,0 +1,1355 @@
+/*
+ * partitions - partition tables parsing
+ *
+ * Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include <stdarg.h>
+
+#include "partitions.h"
+#include "sysfs.h"
+
+/**
+ * SECTION: partitions
+ * @title: Partitions probing
+ * @short_description: partitions tables detection and parsing
+ *
+ * This chain supports binary and NAME=value interfaces, but complete PT
+ * description is provided by binary interface only. The libblkid prober is
+ * compatible with kernel partition tables parser. The parser does not return
+ * empty (size=0) partitions or special hidden partitions.
+ *
+ * NAME=value interface, supported tags:
+ *
+ * @PTTYPE: partition table type (dos, gpt, etc.).
+ *
+ * @PART_ENTRY_SCHEME: partition table type
+ *
+ * @PART_ENTRY_NAME: partition name (gpt and mac only)
+ *
+ * @PART_ENTRY_UUID: partition UUID (gpt only)
+ *
+ * @PART_ENTRY_TYPE: partition type, 0xNN (e.g 0x82) or type UUID (gpt only) or type string (mac)
+ *
+ * @PART_ENTRY_FLAGS: partition flags (e.g. boot_ind) or attributes (e.g. gpt attributes)
+ *
+ * @PART_ENTRY_NUMBER: partition number
+ *
+ * @PART_ENTRY_OFFSET: the begin of the partition
+ *
+ * @PART_ENTRY_SIZE: size of the partition
+ *
+ * @PART_ENTRY_DISK: whole-disk maj:min
+ *
+ * Example:
+ *
+ * <informalexample>
+ * <programlisting>
+ * blkid_probe pr;
+ * const char *ptname;
+ *
+ * pr = blkid_new_probe_from_filename(devname);
+ * if (!pr)
+ * err("%s: faild to open device", devname);
+ *
+ * blkid_probe_enable_partitions(pr, TRUE);
+ * blkid_do_fullprobe(pr);
+ *
+ * blkid_probe_lookup_value(pr, "PTTYPE", &ptname, NULL);
+ * printf("%s partition type detected\n", pttype);
+ *
+ * blkid_free_probe(pr);
+ *
+ * // don't forget to check return codes in your code!
+ * </programlisting>
+ * </informalexample>
+ *
+ * Binary interface:
+ *
+ * <informalexample>
+ * <programlisting>
+ * blkid_probe pr;
+ * blkid_partlist ls;
+ * int nparts, i;
+ *
+ * pr = blkid_new_probe_from_filename(devname);
+ * if (!pr)
+ * err("%s: faild to open device", devname);
+ *
+ * ls = blkid_probe_get_partitions(pr);
+ * nparts = blkid_partlist_numof_partitions(ls);
+ *
+ * for (i = 0; i < nparts; i++) {
+ * blkid_partition par = blkid_partlist_get_partition(ls, i);
+ * printf("#%d: %llu %llu 0x%x",
+ * blkid_partition_get_partno(par),
+ * blkid_partition_get_start(par),
+ * blkid_partition_get_size(par),
+ * blkid_partition_get_type(par));
+ * }
+ *
+ * blkid_free_probe(pr);
+ *
+ * // don't forget to check return codes in your code!
+ * </programlisting>
+ * </informalexample>
+ */
+
+/*
+ * Chain driver function
+ */
+static int partitions_probe(blkid_probe pr, struct blkid_chain *chn);
+static void partitions_free_data(blkid_probe pr, void *data);
+
+/*
+ * Partitions chain probing functions
+ */
+static const struct blkid_idinfo *idinfos[] =
+{
+ &aix_pt_idinfo,
+ &sgi_pt_idinfo,
+ &sun_pt_idinfo,
+ &dos_pt_idinfo,
+ &gpt_pt_idinfo,
+ &mac_pt_idinfo,
+ &ultrix_pt_idinfo,
+ &bsd_pt_idinfo,
+ &unixware_pt_idinfo,
+ &solaris_x86_pt_idinfo,
+ &minix_pt_idinfo
+};
+
+/*
+ * Driver definition
+ */
+const struct blkid_chaindrv partitions_drv = {
+ .id = BLKID_CHAIN_PARTS,
+ .name = "partitions",
+ .dflt_enabled = FALSE,
+ .idinfos = idinfos,
+ .nidinfos = ARRAY_SIZE(idinfos),
+ .has_fltr = TRUE,
+ .probe = partitions_probe,
+ .safeprobe = partitions_probe,
+ .free_data = partitions_free_data
+};
+
+
+/*
+ * For compatibility with the rest of libblkid API (with the old high-level
+ * API) we use completely opaque typedefs for all structs. Don't forget that
+ * the final blkid_* types are pointers! See blkid.h.
+ *
+ * [Just for the record, I hate typedef for pointers --kzak]
+ */
+
+/* exported as opaque type "blkid_parttable" */
+struct blkid_struct_parttable {
+ const char *type; /* partition table type */
+ blkid_loff_t offset; /* begin of the partition table */
+ int nparts; /* number of partitions */
+ blkid_partition parent; /* parent of nested partition table */
+
+ struct list_head t_tabs; /* all tables */
+};
+
+/* exported as opaque type "blkid_partition" */
+struct blkid_struct_partition {
+ blkid_loff_t start; /* begin of the partition */
+ blkid_loff_t size; /* size of the partitions */
+
+ int type; /* partition type */
+ char typestr[37]; /* partition type string (GPT and Mac) */
+
+ unsigned long long flags; /* partition flags / attributes */
+
+ int partno; /* partition number */
+ char uuid[37]; /* UUID (when supported by PT), e.g GPT */
+ unsigned char name[128]; /* Partition in UTF8 name (when supporte by PT), e.g. Mac */
+
+ blkid_parttable tab; /* partition table */
+};
+
+/* exported as opaque type "blkid_partlist" */
+struct blkid_struct_partlist {
+ int next_partno; /* next partition number */
+ blkid_partition next_parent; /* next parent if parsing nested PT */
+
+ int nparts; /* number of partitions */
+ int nparts_max; /* max.number of partitions */
+ blkid_partition parts; /* array of partitions */
+
+ struct list_head l_tabs; /* list of partition tables */
+};
+
+static int blkid_partitions_probe_partition(blkid_probe pr);
+
+/**
+ * blkid_probe_enable_partitions:
+ * @pr: probe
+ * @enable: TRUE/FALSE
+ *
+ * Enables/disables the partitions probing for non-binary interface.
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_enable_partitions(blkid_probe pr, int enable)
+{
+ if (!pr)
+ return -1;
+ pr->chains[BLKID_CHAIN_PARTS].enabled = enable;
+ return 0;
+}
+
+/**
+ * blkid_probe_set_partitions_flags:
+ * @pr: prober
+ * @flags: BLKID_PARTS_* flags
+ *
+ * Sets probing flags to the partitions prober. This function is optional.
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_set_partitions_flags(blkid_probe pr, int flags)
+{
+ if (!pr)
+ return -1;
+
+ pr->chains[BLKID_CHAIN_PARTS].flags = flags;
+ return 0;
+}
+
+/**
+ * blkid_probe_reset_partitions_filter:
+ * @pr: prober
+ *
+ * Resets partitions probing filter
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_reset_partitions_filter(blkid_probe pr)
+{
+ return __blkid_probe_reset_filter(pr, BLKID_CHAIN_PARTS);
+}
+
+/**
+ * blkid_probe_invert_partitions_filter:
+ * @pr: prober
+ *
+ * Inverts partitions probing filter
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_invert_partitions_filter(blkid_probe pr)
+{
+ return __blkid_probe_invert_filter(pr, BLKID_CHAIN_PARTS);
+}
+
+/**
+ * blkid_probe_filter_partitions_type:
+ * @pr: prober
+ * @flag: filter BLKID_FLTR_{NOTIN,ONLYIN} flag
+ * @names: NULL terminated array of probing function names (e.g. "vfat").
+ *
+ * %BLKID_FLTR_NOTIN - probe for all items which are NOT IN @names
+ *
+ * %BLKID_FLTR_ONLYIN - probe for items which are IN @names
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_filter_partitions_type(blkid_probe pr, int flag, char *names[])
+{
+ return __blkid_probe_filter_types(pr, BLKID_CHAIN_PARTS, flag, names);
+}
+
+/**
+ * blkid_probe_get_partitions:
+ * @pr: probe
+ *
+ * This is a binary interface for partitions. See also blkid_partlist_*
+ * functions.
+ *
+ * This function is independent on blkid_do_[safe,full]probe() and
+ * blkid_probe_enable_partitions() calls.
+ *
+ * WARNING: the returned object will be overwritten by the next
+ * blkid_probe_get_partitions() call for the same @pr. If you want to
+ * use more blkid_partlist objects in the same time you have to create
+ * more blkid_probe handlers (see blkid_new_probe()).
+ *
+ * Returns: list of partitions, or NULL in case of error.
+ */
+blkid_partlist blkid_probe_get_partitions(blkid_probe pr)
+{
+ return (blkid_partlist) blkid_probe_get_binary_data(pr,
+ &pr->chains[BLKID_CHAIN_PARTS]);
+}
+
+/* for internal usage only */
+blkid_partlist blkid_probe_get_partlist(blkid_probe pr)
+{
+ return (blkid_partlist) pr->chains[BLKID_CHAIN_PARTS].data;
+}
+
+static void blkid_probe_set_partlist(blkid_probe pr, blkid_partlist ls)
+{
+ pr->chains[BLKID_CHAIN_PARTS].data = ls;
+}
+
+static void ref_parttable(blkid_parttable tab)
+{
+ tab->nparts++;
+}
+
+static void unref_parttable(blkid_parttable tab)
+{
+ tab->nparts--;
+
+ if (tab->nparts <= 0) {
+ list_del(&tab->t_tabs);
+ free(tab);
+ }
+}
+
+/* free all allocated parttables */
+static void free_parttables(blkid_partlist ls)
+{
+ if (!ls || !ls->l_tabs.next)
+ return;
+
+ /* remove unassigned partition tables */
+ while (!list_empty(&ls->l_tabs)) {
+ blkid_parttable tab = list_entry(ls->l_tabs.next,
+ struct blkid_struct_parttable, t_tabs);
+ unref_parttable(tab);
+ }
+}
+
+static void reset_partlist(blkid_partlist ls)
+{
+ if (!ls)
+ return;
+
+ free_parttables(ls);
+
+ if (ls->next_partno) {
+ /* already initialized - reset */
+ int tmp_nparts = ls->nparts_max;
+ blkid_partition tmp_parts = ls->parts;
+
+ memset(ls, 0, sizeof(struct blkid_struct_partlist));
+
+ ls->nparts_max = tmp_nparts;
+ ls->parts = tmp_parts;
+ }
+
+ ls->nparts = 0;
+ ls->next_partno = 1;
+ INIT_LIST_HEAD(&ls->l_tabs);
+
+ DBG(DEBUG_LOWPROBE, printf("partlist reset\n"));
+}
+
+static blkid_partlist partitions_init_data(struct blkid_chain *chn)
+{
+ blkid_partlist ls;
+
+ if (chn->data)
+ ls = (blkid_partlist) chn->data;
+ else {
+ /* allocate the new list of partitions */
+ ls = calloc(1, sizeof(struct blkid_struct_partlist));
+ if (!ls)
+ return NULL;
+ chn->data = (void *) ls;
+ }
+
+ reset_partlist(ls);
+
+ DBG(DEBUG_LOWPROBE,
+ printf("parts: initialized partitions list (%p, size=%d)\n",
+ ls, ls->nparts_max));
+ return ls;
+}
+
+static void partitions_free_data(blkid_probe pr __attribute__((__unused__)),
+ void *data)
+{
+ blkid_partlist ls = (blkid_partlist) data;
+
+ if (!ls)
+ return;
+
+ free_parttables(ls);
+
+ /* deallocate partitions and partlist */
+ free(ls->parts);
+ free(ls);
+}
+
+blkid_parttable blkid_partlist_new_parttable(blkid_partlist ls,
+ const char *type, blkid_loff_t offset)
+{
+ blkid_parttable tab;
+
+ tab = calloc(1, sizeof(struct blkid_struct_parttable));
+ if (!tab)
+ return NULL;
+ tab->type = type;
+ tab->offset = offset;
+ tab->parent = ls->next_parent;
+
+ INIT_LIST_HEAD(&tab->t_tabs);
+ list_add_tail(&tab->t_tabs, &ls->l_tabs);
+
+ DBG(DEBUG_LOWPROBE,
+ printf("parts: create a new partition table "
+ "(%p, type=%s, offset=%"PRId64")\n", tab, type, offset));
+ return tab;
+}
+
+static blkid_partition new_partition(blkid_partlist ls, blkid_parttable tab)
+{
+ blkid_partition par;
+
+ if (ls->nparts + 1 > ls->nparts_max) {
+ /* Linux kernel has DISK_MAX_PARTS=256, but it's too much for
+ * generic Linux machine -- let start with 32 partititions.
+ */
+ ls->parts = realloc(ls->parts, (ls->nparts_max + 32) *
+ sizeof(struct blkid_struct_partition));
+ if (!ls->parts)
+ return NULL;
+ ls->nparts_max += 32;
+ }
+
+ par = &ls->parts[ls->nparts++];
+ memset(par, 0, sizeof(struct blkid_struct_partition));
+
+ ref_parttable(tab);
+ par->tab = tab;
+ par->partno = blkid_partlist_increment_partno(ls);
+
+ return par;
+}
+
+blkid_partition blkid_partlist_add_partition(blkid_partlist ls,
+ blkid_parttable tab,
+ blkid_loff_t start, blkid_loff_t size)
+{
+ blkid_partition par = new_partition(ls, tab);
+
+ if (!par)
+ return NULL;
+
+ par->start = start;
+ par->size = size;
+
+ DBG(DEBUG_LOWPROBE,
+ printf("parts: add partition (%p start=%"
+ PRId64 ", size=%" PRId64 ", table=%p)\n",
+ par, par->start, par->size, tab));
+ return par;
+}
+
+/* allows to modify used partitions numbers (for example for logical partitions) */
+int blkid_partlist_set_partno(blkid_partlist ls, int partno)
+{
+ if (!ls)
+ return -1;
+ ls->next_partno = partno;
+ return 0;
+}
+
+int blkid_partlist_increment_partno(blkid_partlist ls)
+{
+ return ls ? ls->next_partno++ : -1;
+}
+
+/* allows to set "parent" for the next nested partition */
+int blkid_partlist_set_parent(blkid_partlist ls, blkid_partition par)
+{
+ if (!ls)
+ return -1;
+ ls->next_parent = par;
+ return 0;
+}
+
+blkid_partition blkid_partlist_get_parent(blkid_partlist ls)
+{
+ if (!ls)
+ return NULL;
+ return ls->next_parent;
+}
+
+int blkid_partitions_need_typeonly(blkid_probe pr)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+
+ return chn && chn->data && chn->binary ? FALSE : TRUE;
+}
+
+/* get private chain flags */
+int blkid_partitions_get_flags(blkid_probe pr)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+
+ return chn ? chn->flags : 0;
+}
+
+/* check if @start and @size are within @par partition */
+int blkid_is_nested_dimension(blkid_partition par,
+ blkid_loff_t start, blkid_loff_t size)
+{
+ blkid_loff_t pstart;
+ blkid_loff_t psize;
+
+ if (!par)
+ return 0;
+
+ pstart = blkid_partition_get_start(par);
+ psize = blkid_partition_get_size(par);
+
+ if (start < pstart || start + size > pstart + psize)
+ return 0;
+
+ return 1;
+}
+
+static int idinfo_probe(blkid_probe pr, const struct blkid_idinfo *id,
+ struct blkid_chain *chn)
+{
+ const struct blkid_idmag *mag = NULL;
+ blkid_loff_t off;
+ int rc = 1; /* = nothing detected */
+
+ if (pr->size <= 0 || (id->minsz && id->minsz > pr->size))
+ goto nothing; /* the device is too small */
+
+ if (blkid_probe_get_idmag(pr, id, &off, &mag))
+ goto nothing;
+
+ /* final check by probing function */
+ if (id->probefunc) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "%s: ---> call probefunc()\n", id->name));
+ rc = id->probefunc(pr, mag);
+ if (rc == -1) {
+ /* reset after error */
+ reset_partlist(blkid_probe_get_partlist(pr));
+ if (chn && !chn->binary)
+ blkid_probe_chain_reset_vals(pr, chn);
+ DBG(DEBUG_LOWPROBE, printf(
+ "%s probefunc failed\n", id->name));
+ }
+ if (rc == 0 && mag && chn && !chn->binary)
+ rc = blkid_probe_set_magic(pr, off, mag->len,
+ (unsigned char *) mag->magic);
+
+ DBG(DEBUG_LOWPROBE, printf(
+ "%s: <--- (rc = %d)\n", id->name, rc));
+ }
+
+nothing:
+ return rc;
+}
+
+/*
+ * The blkid_do_probe() backend.
+ */
+static int partitions_probe(blkid_probe pr, struct blkid_chain *chn)
+{
+ int rc = 1;
+ size_t i;
+
+ if (!pr || chn->idx < -1)
+ return -1;
+ blkid_probe_chain_reset_vals(pr, chn);
+
+ if (chn->binary)
+ partitions_init_data(chn);
+
+ if (!pr->wipe_size && (pr->prob_flags & BLKID_PROBE_FL_IGNORE_PT))
+ goto details_only;
+
+ DBG(DEBUG_LOWPROBE,
+ printf("--> starting probing loop [PARTS idx=%d]\n",
+ chn->idx));
+
+ i = chn->idx < 0 ? 0 : chn->idx + 1U;
+
+ for ( ; i < ARRAY_SIZE(idinfos); i++) {
+ const char *name;
+
+ chn->idx = i;
+
+ /* apply filter */
+ if (chn->fltr && blkid_bmp_get_item(chn->fltr, i))
+ continue;
+
+ /* apply checks from idinfo */
+ if (idinfo_probe(pr, idinfos[i], chn) != 0)
+ continue;
+
+ name = idinfos[i]->name;
+
+ /* all checks passed */
+ if (!chn->binary)
+ blkid_probe_set_value(pr, "PTTYPE",
+ (unsigned char *) name,
+ strlen(name) + 1);
+ DBG(DEBUG_LOWPROBE,
+ printf("<-- leaving probing loop (type=%s) [PARTS idx=%d]\n",
+ name, chn->idx));
+ rc = 0;
+ break;
+ }
+
+ if (rc == 1) {
+ DBG(DEBUG_LOWPROBE,
+ printf("<-- leaving probing loop (failed) [PARTS idx=%d]\n",
+ chn->idx));
+ }
+
+details_only:
+ /*
+ * Gather PART_ENTRY_* values if the current device is a partition.
+ */
+ if (!chn->binary &&
+ (blkid_partitions_get_flags(pr) & BLKID_PARTS_ENTRY_DETAILS)) {
+
+ if (!blkid_partitions_probe_partition(pr))
+ rc = 0;
+ }
+
+ return rc;
+}
+
+/* Probe for nested partition table within the parental partition */
+int blkid_partitions_do_subprobe(blkid_probe pr, blkid_partition parent,
+ const struct blkid_idinfo *id)
+{
+ blkid_probe prc;
+ int rc = 1;
+ blkid_partlist ls;
+ blkid_loff_t sz, off;
+
+ DBG(DEBUG_LOWPROBE, printf(
+ "parts: ----> %s subprobe requested (parent=%p)\n",
+ id->name, parent));
+
+ if (!pr || !parent || !parent->size)
+ return -1;
+
+ /* range defined by parent */
+ sz = ((blkid_loff_t) parent->size) << 9;
+ off = ((blkid_loff_t) parent->start) << 9;
+
+ if (off < pr->off || pr->off + pr->size < off + sz) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "ERROR: parts: <---- '%s' subprobe: overflow detected.\n",
+ id->name));
+ return -1;
+ }
+
+ /* create private prober */
+ prc = blkid_clone_probe(pr);
+ if (!prc)
+ return -1;
+
+ blkid_probe_set_dimension(prc, off, sz);
+
+ /* clone is always with reset chain, fix it */
+ prc->cur_chain = blkid_probe_get_chain(pr);
+
+ /*
+ * Set 'parent' to the current list of the partitions and use the list
+ * in cloned prober (so the cloned prober will extend the current list
+ * of partitions rather than create a new).
+ */
+ ls = blkid_probe_get_partlist(pr);
+ blkid_partlist_set_parent(ls, parent);
+
+ blkid_probe_set_partlist(prc, ls);
+
+ rc = idinfo_probe(prc, id, blkid_probe_get_chain(pr));
+
+ blkid_probe_set_partlist(prc, NULL);
+ blkid_partlist_set_parent(ls, NULL);
+
+ blkid_free_probe(prc); /* free cloned prober */
+
+ DBG(DEBUG_LOWPROBE, printf(
+ "parts: <---- %s subprobe done (parent=%p, rc=%d)\n",
+ id->name, parent, rc));
+
+ return rc;
+}
+
+static int blkid_partitions_probe_partition(blkid_probe pr)
+{
+ int rc = 1;
+ blkid_probe disk_pr = NULL;
+ blkid_partlist ls;
+ blkid_partition par;
+ dev_t devno;
+
+ devno = blkid_probe_get_devno(pr);
+ if (!devno)
+ goto nothing;
+
+ disk_pr = blkid_probe_get_wholedisk_probe(pr);
+ if (!disk_pr)
+ goto nothing;
+
+ /* parse PT */
+ ls = blkid_probe_get_partitions(disk_pr);
+ if (!ls)
+ goto nothing;
+
+ par = blkid_partlist_devno_to_partition(ls, devno);
+ if (par) {
+ const char *v;
+ blkid_parttable tab = blkid_partition_get_table(par);
+ dev_t disk = blkid_probe_get_devno(disk_pr);
+
+ if (tab) {
+ v = blkid_parttable_get_type(tab);
+ if (v)
+ blkid_probe_set_value(pr, "PART_ENTRY_SCHEME",
+ (unsigned char *) v, strlen(v) + 1);
+ }
+
+ v = blkid_partition_get_name(par);
+ if (v)
+ blkid_probe_set_value(pr, "PART_ENTRY_NAME",
+ (unsigned char *) v, strlen(v) + 1);
+
+ v = blkid_partition_get_uuid(par);
+ if (v)
+ blkid_probe_set_value(pr, "PART_ENTRY_UUID",
+ (unsigned char *) v, strlen(v) + 1);
+
+ /* type */
+ v = blkid_partition_get_type_string(par);
+ if (v)
+ blkid_probe_set_value(pr, "PART_ENTRY_TYPE",
+ (unsigned char *) v, strlen(v) + 1);
+ else
+ blkid_probe_sprintf_value(pr, "PART_ENTRY_TYPE",
+ "0x%x", blkid_partition_get_type(par));
+
+ if (blkid_partition_get_flags(par))
+ blkid_probe_sprintf_value(pr, "PART_ENTRY_FLAGS",
+ "0x%llx", blkid_partition_get_flags(par));
+
+ blkid_probe_sprintf_value(pr, "PART_ENTRY_NUMBER",
+ "%d", blkid_partition_get_partno(par));
+
+ blkid_probe_sprintf_value(pr, "PART_ENTRY_OFFSET", "%jd",
+ blkid_partition_get_start(par));
+ blkid_probe_sprintf_value(pr, "PART_ENTRY_SIZE", "%jd",
+ blkid_partition_get_size(par));
+
+ blkid_probe_sprintf_value(pr, "PART_ENTRY_DISK", "%u:%u",
+ major(disk), minor(disk));
+ }
+ rc = 0;
+nothing:
+ return rc;
+}
+
+/*
+ * Returns 1 if the device is whole-disk and the area specified by @offset and
+ * @size is covered by any partition.
+ */
+int blkid_probe_is_covered_by_pt(blkid_probe pr,
+ blkid_loff_t offset, blkid_loff_t size)
+{
+ blkid_probe prc;
+ blkid_partlist ls = NULL;
+ blkid_loff_t start, end;
+ int nparts, i, rc = 0;
+
+ DBG(DEBUG_LOWPROBE, printf(
+ "=> checking if off=%jd size=%jd covered by PT\n",
+ offset, size));
+
+ prc = blkid_clone_probe(pr);
+ if (!prc)
+ goto done;
+
+ ls = blkid_probe_get_partitions(prc);
+ if (!ls)
+ goto done;
+
+ nparts = blkid_partlist_numof_partitions(ls);
+ if (!nparts)
+ goto done;
+
+ end = (offset + size) >> 9;
+ start = offset >> 9;
+
+ /* check if the partition table fits into the device */
+ for (i = 0; i < nparts; i++) {
+ blkid_partition par = &ls->parts[i];
+
+ if (par->start + par->size > (pr->size >> 9)) {
+ DBG(DEBUG_LOWPROBE, printf("partition #%d overflows "
+ "device (off=%" PRId64 " size=%" PRId64 ")\n",
+ par->partno, par->start, par->size));
+ goto done;
+ }
+ }
+
+ /* check if the requested area is covered by PT */
+ for (i = 0; i < nparts; i++) {
+ blkid_partition par = &ls->parts[i];
+
+ if (start >= par->start && end <= par->start + par->size) {
+ rc = 1;
+ break;
+ }
+ }
+done:
+ blkid_free_probe(prc);
+
+ DBG(DEBUG_LOWPROBE, printf("<= %s covered by PT\n", rc ? "IS" : "NOT"));
+ return rc;
+}
+
+/**
+ * blkid_known_pttype:
+ * @pttype: partiton name
+ *
+ * Returns: 1 for known or 0 for unknown partition type.
+ */
+int blkid_known_pttype(const char *pttype)
+{
+ size_t i;
+
+ if (!pttype)
+ return 0;
+
+ for (i = 0; i < ARRAY_SIZE(idinfos); i++) {
+ const struct blkid_idinfo *id = idinfos[i];
+ if (strcmp(id->name, pttype) == 0)
+ return 1;
+ }
+ return 0;
+}
+
+/**
+ * blkid_partlist_numof_partitions:
+ * @ls: partitions list
+ *
+ * Returns: number of partitions in the list or -1 in case of error.
+ */
+int blkid_partlist_numof_partitions(blkid_partlist ls)
+{
+ return ls ? ls->nparts : -1;
+}
+
+/**
+ * blkid_partlist_get_table:
+ * @ls: partitions list
+ *
+ * Returns: top-level partition table or NULL of there is not a partition table
+ * on the device.
+ */
+blkid_parttable blkid_partlist_get_table(blkid_partlist ls)
+{
+ if (!ls || list_empty(&ls->l_tabs))
+ return NULL;
+
+ return list_entry(ls->l_tabs.next,
+ struct blkid_struct_parttable, t_tabs);
+}
+
+
+/**
+ * blkid_partlist_get_partition:
+ * @ls: partitions list
+ * @n: partition number in range 0..N, where 'N' is blkid_partlist_numof_partitions().
+ *
+ * It's possible that the list of partitions is *empty*, but there is a valid
+ * partition table on the disk. This happen when on-disk details about
+ * partitions are unknown or the partition table is empty.
+ *
+ * See also blkid_partlist_get_table().
+ *
+ * Returns: partition object or NULL in case or error.
+ */
+blkid_partition blkid_partlist_get_partition(blkid_partlist ls, int n)
+{
+ if (!ls || n < 0 || n >= ls->nparts)
+ return NULL;
+
+ return &ls->parts[n];
+}
+
+/**
+ * blkid_partlist_devno_to_partition:
+ * @ls: partitions list
+ * @devno: requested partition
+ *
+ * This function tries to get start and size for @devno from sysfs and
+ * returns a partition from @ls which matches with the values from sysfs.
+ *
+ * This function is necessary when you want to make a relation between an entry
+ * in the partition table (@ls) and block devices in your system.
+ *
+ * Returns: partition object or NULL in case or error.
+ */
+blkid_partition blkid_partlist_devno_to_partition(blkid_partlist ls, dev_t devno)
+{
+ struct sysfs_cxt sysfs;
+ uint64_t start, size;
+ int i, rc, partno = 0;
+
+ DBG(DEBUG_LOWPROBE,
+ printf("triyng to convert devno 0x%llx to partition\n",
+ (long long) devno));
+
+ if (sysfs_init(&sysfs, devno, NULL)) {
+ DBG(DEBUG_LOWPROBE, printf("failed t init sysfs context\n"));
+ return NULL;
+ }
+ rc = sysfs_read_u64(&sysfs, "size", &size);
+ if (!rc) {
+ rc = sysfs_read_u64(&sysfs, "start", &start);
+ if (rc) {
+ /* try to get partition number from DM uuid.
+ */
+ char *uuid = sysfs_strdup(&sysfs, "dm/uuid");
+ char *tmp = uuid;
+ char *prefix = uuid ? strsep(&tmp, "-") : NULL;
+
+ if (prefix && strncasecmp(prefix, "part", 4) == 0) {
+ char *end = NULL;
+
+ partno = strtol(prefix + 4, &end, 10);
+ if (prefix == end || (end && *end))
+ partno = 0;
+ else
+ rc = 0; /* success */
+ }
+ free(uuid);
+ }
+ }
+
+ sysfs_deinit(&sysfs);
+
+ if (rc)
+ return NULL;
+
+ if (partno) {
+ DBG(DEBUG_LOWPROBE, printf("mapped by DM, using partno %d\n", partno));
+
+ /*
+ * Partition mapped by kpartx does not provide "start" offset
+ * in /sys, but if we know partno and size of the partition
+ * that we can probably make the releation bettween the device
+ * and an entry in partition table.
+ */
+ for (i = 0; i < ls->nparts; i++) {
+ blkid_partition par = &ls->parts[i];
+
+ if (partno != blkid_partition_get_partno(par))
+ continue;
+
+ if ((blkid_loff_t) size == blkid_partition_get_size(par) ||
+ (blkid_partition_is_extended(par) && size <= 1024))
+ return par;
+
+ }
+ return NULL;
+ }
+
+ DBG(DEBUG_LOWPROBE, printf("searching by offset/size\n"));
+
+ for (i = 0; i < ls->nparts; i++) {
+ blkid_partition par = &ls->parts[i];
+
+ if (blkid_partition_get_start(par) == (blkid_loff_t) start &&
+ blkid_partition_get_size(par) == (blkid_loff_t) size)
+ return par;
+
+ /* exception for extended dos partitions */
+ if (blkid_partition_get_start(par) == (blkid_loff_t) start &&
+ blkid_partition_is_extended(par) && size <= 1024)
+ return par;
+
+ }
+
+ DBG(DEBUG_LOWPROBE, printf("not found partition for device\n"));
+ return NULL;
+}
+
+int blkid_partition_set_type(blkid_partition par, int type)
+{
+ if (!par)
+ return -1;
+ par->type = type;
+ return 0;
+}
+
+/**
+ * blkid_parttable_get_type:
+ * @tab: partition table
+ *
+ * Returns: partition table type (type name, e.g. "dos", "gpt", ...)
+ */
+const char *blkid_parttable_get_type(blkid_parttable tab)
+{
+ return tab ? tab->type : NULL;
+}
+
+/**
+ * blkid_parttable_get_parent:
+ * @tab: partition table
+ *
+ * Returns: parent for nexted partitition tables or NULL.
+ */
+blkid_partition blkid_parttable_get_parent(blkid_parttable tab)
+{
+ return tab ? tab->parent : NULL;
+}
+
+/**
+ * blkid_parttable_get_offset:
+ * @tab: partition table
+ *
+ * Note the position is relative to begin of the device as defined by
+ * blkid_probe_set_device() for primary partition table, and relative
+ * to parental partition for nested patition tables.
+ *
+ * <informalexample>
+ * <programlisting>
+ * off_t offset;
+ * blkid_partition parent = blkid_parttable_get_parent(tab);
+ *
+ * offset = blkid_parttable_get_offset(tab);
+ *
+ * if (parent)
+ * / * 'tab' is nested partition table * /
+ * offset += blkid_partition_get_start(parent);
+ * </programlisting>
+ * </informalexample>
+
+ * Returns: position (in bytes) of the partition table or -1 in case of error.
+ *
+ */
+blkid_loff_t blkid_parttable_get_offset(blkid_parttable tab)
+{
+ return tab ? tab->offset : -1;
+}
+
+/**
+ * blkid_partition_get_table:
+ * @par: partition
+ *
+ * The "parttable" describes partition table. The table is usually the same for
+ * all partitions -- except nested partition tables.
+ *
+ * For example bsd, solaris, etc. use a nested partition table within
+ * standard primary dos partition:
+ *
+ * <informalexample>
+ * <programlisting>
+ *
+ * -- dos partition table
+ * 0: sda1 dos primary partition
+ * 1: sda2 dos primary partition
+ * -- bsd partition table (with in sda2)
+ * 2: sda5 bds partition
+ * 3: sda6 bds partition
+ *
+ * </programlisting>
+ * </informalexample>
+ *
+ * The library does not to use a separate partition table object for dos logical
+ * partitions (partitions within extended partition). It's possible to
+ * differentiate between logical, extended and primary partitions by
+ *
+ * blkid_partition_is_{extended,primary,logical}().
+ *
+ * Returns: partition table object or NULL in case of error.
+ */
+blkid_parttable blkid_partition_get_table(blkid_partition par)
+{
+ return par ? par->tab : NULL;
+}
+
+static int partition_get_logical_type(blkid_partition par)
+{
+ blkid_parttable tab;
+
+ if (!par)
+ return -1;
+
+ tab = blkid_partition_get_table(par);
+ if (!tab || !tab->type)
+ return -1;
+
+ if (tab->parent)
+ return 'L'; /* report nested partitions as logical */
+
+ if (!strcmp(tab->type, "dos")) {
+ if (par->partno > 4)
+ return 'L'; /* logical */
+
+ if(par->type == BLKID_DOS_EXTENDED_PARTITION ||
+ par->type == BLKID_W95_EXTENDED_PARTITION ||
+ par->type == BLKID_LINUX_EXTENDED_PARTITION)
+ return 'E';
+ }
+ return 'P';
+}
+
+/**
+ * blkid_partition_is_primary:
+ * @par: partition
+ *
+ * Note, this function returns FALSE for DOS extended partitions and
+ * all partitions in nested partition tables.
+ *
+ * Returns: 1 if the partitions is primary partition or 0 if not.
+ */
+int blkid_partition_is_primary(blkid_partition par)
+{
+ return partition_get_logical_type(par) == 'P' ? TRUE : FALSE;
+}
+
+/**
+ * blkid_partition_is_extended:
+ * @par: partition
+ *
+ * Returns: 1 if the partitions is extended (dos, windows or linux)
+ * partition or 0 if not.
+ */
+int blkid_partition_is_extended(blkid_partition par)
+{
+ return partition_get_logical_type(par) == 'E' ? TRUE : FALSE;
+}
+
+/**
+ * blkid_partition_is_logical:
+ * @par: partition
+ *
+ * Note that this function returns TRUE for all partitions in all
+ * nested partition tables (e.g. BSD labels).
+ *
+ * Returns: 1 if the partitions is logical partition or 0 if not.
+ */
+int blkid_partition_is_logical(blkid_partition par)
+{
+ return partition_get_logical_type(par) == 'L' ? TRUE : FALSE;
+}
+
+static void set_string(unsigned char *item, size_t max,
+ const unsigned char *data, size_t len)
+{
+ if (len >= max)
+ len = max - 1;
+
+ memcpy(item, data, len);
+ item[len] = '\0';
+
+ blkid_rtrim_whitespace(item);
+}
+
+int blkid_partition_set_name(blkid_partition par,
+ const unsigned char *name, size_t len)
+{
+ if (!par)
+ return -1;
+
+ set_string(par->name, sizeof(par->name), name, len);
+ return 0;
+}
+
+int blkid_partition_set_utf8name(blkid_partition par, const unsigned char *name,
+ size_t len, int enc)
+{
+ if (!par)
+ return -1;
+
+ blkid_encode_to_utf8(enc, par->name, sizeof(par->name), name, len);
+ blkid_rtrim_whitespace(par->name);
+ return 0;
+}
+
+int blkid_partition_set_uuid(blkid_partition par, const unsigned char *uuid)
+{
+ if (!par)
+ return -1;
+
+ blkid_unparse_uuid(uuid, par->uuid, sizeof(par->uuid));
+ return 0;
+}
+
+/**
+ * blkid_partition_get_name:
+ * @par: partition
+ *
+ * Returns: partition name string if supported by PT (e.g. Mac) or NULL.
+ */
+const char *blkid_partition_get_name(blkid_partition par)
+{
+ return par && *par->name ? (char *) par->name : NULL;
+}
+
+/**
+ * blkid_partition_get_uuid:
+ * @par: partition
+ *
+ * Returns: partition UUID string if supported by PT (e.g. GPT) or NULL.
+ */
+const char *blkid_partition_get_uuid(blkid_partition par)
+{
+ return par && *par->uuid ? par->uuid : NULL;
+}
+
+/**
+ * blkid_partition_get_partno:
+ * @par: partition
+ *
+ * Returns: proposed partitin number (e.g. 'N' from sda'N') or -1 in case of
+ * error. Note that the number is generate by library independenly on your OS.
+ */
+int blkid_partition_get_partno(blkid_partition par)
+{
+ return par ? par->partno : -1;
+}
+
+/**
+ * blkid_partition_get_start:
+ * @par: partition
+ *
+ * Be careful if you _not_ probe whole disk:
+ *
+ * 1) the offset is usully relative to begin of the disk -- but if you probe a
+ * fragment of the disk only -- then the offset could be still relative to
+ * the begin of the disk rather that relative to the fragment.
+ *
+ * 2) the offset for nested partitions could be releative to parent (e.g. Solaris)
+ * _or_ relative to the begin of the whole disk (e.g. bsd).
+ *
+ * You don't have to care about such details if you proble whole disk. In such
+ * a case libblkid always returns the offset relative to the begin of the disk.
+ *
+ * Returns: start of the partition (in 512-sectors).
+ */
+blkid_loff_t blkid_partition_get_start(blkid_partition par)
+{
+ return par ? par->start : -1;
+}
+
+/**
+ * blkid_partition_get_size:
+ * @par: partition
+ *
+ * WARNING: be very careful when you work with MS-DOS extended partitions. The
+ * library always returns full size of the partition. If you want add
+ * the partition to the Linux system (BLKPG_ADD_PARTITION ioctl) you
+ * need to reduce the size of the partition to 1 or 2 blocks. The
+ * rest of the partition has to be unaccessible for mkfs or mkswap
+ * programs, we need a small space for boot loaders only.
+ *
+ * For some unknown reason this (safe) practice is not to used for
+ * nested BSD, Solaris, ..., partition tables in Linux kernel.
+ *
+ * Returns: size of the partition (in 512-sectors).
+ */
+blkid_loff_t blkid_partition_get_size(blkid_partition par)
+{
+ return par ? par->size : -1;
+}
+
+/**
+ * blkid_partition_get_type:
+ * @par: partition
+ *
+ * Returns: partition type.
+ */
+int blkid_partition_get_type(blkid_partition par)
+{
+ return par ? par->type : 0;
+}
+
+/* Sets partition 'type' for PT where the type is defined by string rather
+ * than by number
+ */
+int blkid_partition_set_type_string(blkid_partition par,
+ const unsigned char *type, size_t len)
+{
+ if (!par)
+ return -1;
+
+ set_string((unsigned char *) par->typestr,
+ sizeof(par->typestr), type, len);
+ return 0;
+}
+
+/* Sets partition 'type' for PT where the type is defined by UUIDrather
+ * than by number
+ */
+int blkid_partition_set_type_uuid(blkid_partition par, const unsigned char *uuid)
+{
+ if (!par)
+ return -1;
+
+ blkid_unparse_uuid(uuid, par->typestr, sizeof(par->typestr));
+ return 0;
+}
+
+/**
+ * blkid_partition_get_type_string:
+ * @par: partition
+ *
+ * The type string is supported by a small subset of partition tables (e.g Mac
+ * and EFI GPT). Note that GPT uses type UUID and this function returns this
+ * UUID as string.
+ *
+ * Returns: partition type string or NULL.
+ */
+const char *blkid_partition_get_type_string(blkid_partition par)
+{
+ return par && *par->typestr ? par->typestr : NULL;
+}
+
+
+int blkid_partition_set_flags(blkid_partition par, unsigned long long flags)
+{
+ if (!par)
+ return -1;
+ par->flags = flags;
+ return 0;
+}
+
+/**
+ * blkid_partition_get_flags
+ * @par: partition
+ *
+ * Returns: partition flags (or attributes for gpt).
+ */
+unsigned long long blkid_partition_get_flags(blkid_partition par)
+{
+ return par ? par->flags : 0;
+}
+
diff --git a/libblkid/src/partitions/partitions.h b/libblkid/src/partitions/partitions.h
new file mode 100644
index 0000000..c4ccd3b
--- /dev/null
+++ b/libblkid/src/partitions/partitions.h
@@ -0,0 +1,62 @@
+#ifndef BLKID_PARTITIONS_H
+#define BLKID_PARTITIONS_H
+
+#include "blkidP.h"
+#include "blkid_parttypes.h"
+
+extern int blkid_partitions_get_flags(blkid_probe pr);
+
+extern blkid_parttable blkid_partlist_new_parttable(blkid_partlist ls,
+ const char *type, blkid_loff_t offset);
+
+extern blkid_partition blkid_partlist_add_partition(blkid_partlist ls,
+ blkid_parttable tab,
+ blkid_loff_t start, blkid_loff_t size);
+
+extern int blkid_partlist_set_partno(blkid_partlist ls, int partno);
+extern int blkid_partlist_increment_partno(blkid_partlist ls);
+
+extern blkid_partition blkid_partlist_get_parent(blkid_partlist ls);
+
+extern int blkid_partitions_do_subprobe(blkid_probe pr,
+ blkid_partition parent, const struct blkid_idinfo *id);
+
+extern int blkid_partitions_need_typeonly(blkid_probe pr);
+extern int blkid_is_nested_dimension(blkid_partition par,
+ blkid_loff_t start, blkid_loff_t size);
+
+extern int blkid_partition_set_name(blkid_partition par,
+ const unsigned char *name, size_t len);
+
+extern int blkid_partition_set_utf8name(blkid_partition par,
+ const unsigned char *name, size_t len, int enc);
+
+extern int blkid_partition_set_uuid(blkid_partition par,
+ const unsigned char *uuid);
+
+extern int blkid_partition_set_type(blkid_partition par, int type);
+
+extern int blkid_partition_set_type_string(blkid_partition par,
+ const unsigned char *type, size_t len);
+
+extern int blkid_partition_set_type_uuid(blkid_partition par,
+ const unsigned char *uuid);
+
+extern int blkid_partition_set_flags(blkid_partition par, unsigned long long flags);
+
+/*
+ * partition probers
+ */
+extern const struct blkid_idinfo aix_pt_idinfo;
+extern const struct blkid_idinfo bsd_pt_idinfo;
+extern const struct blkid_idinfo unixware_pt_idinfo;
+extern const struct blkid_idinfo solaris_x86_pt_idinfo;
+extern const struct blkid_idinfo sun_pt_idinfo;
+extern const struct blkid_idinfo sgi_pt_idinfo;
+extern const struct blkid_idinfo mac_pt_idinfo;
+extern const struct blkid_idinfo dos_pt_idinfo;
+extern const struct blkid_idinfo minix_pt_idinfo;
+extern const struct blkid_idinfo gpt_pt_idinfo;
+extern const struct blkid_idinfo ultrix_pt_idinfo;
+
+#endif /* BLKID_PARTITIONS_H */
diff --git a/libblkid/src/partitions/sgi.c b/libblkid/src/partitions/sgi.c
new file mode 100644
index 0000000..b89e463
--- /dev/null
+++ b/libblkid/src/partitions/sgi.c
@@ -0,0 +1,159 @@
+/*
+ * sgi partition parsing code
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "partitions.h"
+
+#define SGI_MAXPARTITIONS 16
+
+/* partition type */
+#define SGI_TYPE_VOLHDR 0x00
+#define SGI_TYPE_VOLULME 0x06 /* entire disk */
+
+struct sgi_device_parameter {
+ unsigned char skew;
+ unsigned char gap1;
+ unsigned char gap2;
+ unsigned char sparecyl;
+
+ uint16_t pcylcount;
+ uint16_t head_vol0;
+ uint16_t ntrks; /* tracks in cyl 0 or vol 0 */
+
+ unsigned char cmd_tag_queue_depth;
+ unsigned char unused0;
+
+ uint16_t unused1;
+ uint16_t nsect; /* sectors/tracks in cyl 0 or vol 0 */
+ uint16_t bytes;
+ uint16_t ilfact;
+ uint32_t flags; /* controller flags */
+ uint32_t datarate;
+ uint32_t retries_on_error;
+ uint32_t ms_per_word;
+ uint16_t xylogics_gap1;
+ uint16_t xylogics_syncdelay;
+ uint16_t xylogics_readdelay;
+ uint16_t xylogics_gap2;
+ uint16_t xylogics_readgate;
+ uint16_t xylogics_writecont;
+} __attribute__((packed));
+
+struct sgi_disklabel {
+ uint32_t magic; /* magic number */
+ uint16_t root_part_num; /* # root partition */
+ uint16_t swap_part_num; /* # swap partition */
+ unsigned char boot_file[16]; /* name of boot file */
+
+ struct sgi_device_parameter devparam; /* not used now */
+
+ struct sgi_volume {
+ unsigned char name[8]; /* name of volume */
+ uint32_t block_num; /* logical block number */
+ uint32_t num_bytes; /* how big, in bytes */
+ } __attribute__((packed)) volume[15];
+
+ struct sgi_partition {
+ uint32_t num_blocks; /* size in logical blocks */
+ uint32_t first_block; /* first logical block */
+ uint32_t type; /* type of this partition */
+ } __attribute__((packed)) partitions[SGI_MAXPARTITIONS];
+
+ /* checksum is the 32bit 2's complement sum of the disklabel */
+ uint32_t csum; /* disk label checksum */
+ uint32_t padding; /* padding */
+} __attribute__((packed));
+
+static uint32_t count_checksum(struct sgi_disklabel *label)
+{
+ int i;
+ uint32_t *ptr = (uint32_t *) label;
+ uint32_t sum = 0;
+
+ i = sizeof(*label) / sizeof(*ptr);
+
+ while (i--)
+ sum += be32_to_cpu(ptr[i]);
+
+ return sum;
+}
+
+
+static int probe_sgi_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct sgi_disklabel *l;
+ struct sgi_partition *p;
+ blkid_parttable tab = NULL;
+ blkid_partlist ls;
+ int i;
+
+ l = (struct sgi_disklabel *) blkid_probe_get_sector(pr, 0);
+ if (!l)
+ goto nothing;
+
+ if (count_checksum(l)) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "detected corrupted sgi disk label -- ignore\n"));
+ goto nothing;
+ }
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ tab = blkid_partlist_new_parttable(ls, "sgi", 0);
+ if (!tab)
+ goto err;
+
+ for(i = 0, p = &l->partitions[0]; i < SGI_MAXPARTITIONS; i++, p++) {
+ uint32_t size = be32_to_cpu(p->num_blocks);
+ uint32_t start = be32_to_cpu(p->first_block);
+ uint32_t type = be32_to_cpu(p->type);
+ blkid_partition par;
+
+ if (size == 0 || type == SGI_TYPE_VOLULME ||
+ type == SGI_TYPE_VOLHDR) {
+ blkid_partlist_increment_partno(ls);
+ continue;
+ }
+ par = blkid_partlist_add_partition(ls, tab, start, size);
+ if (!par)
+ goto err;
+
+ blkid_partition_set_type(par, type);
+ }
+
+ return 0;
+
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+const struct blkid_idinfo sgi_pt_idinfo =
+{
+ .name = "sgi",
+ .probefunc = probe_sgi_pt,
+ .magics =
+ {
+ { .magic = "\x0B\xE5\xA9\x41", .len = 4 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/partitions/solaris_x86.c b/libblkid/src/partitions/solaris_x86.c
new file mode 100644
index 0000000..7824f4e
--- /dev/null
+++ b/libblkid/src/partitions/solaris_x86.c
@@ -0,0 +1,151 @@
+/*
+ * Solaris x86 partition parsing code
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "partitions.h"
+
+/*
+ * Solaris-x86 is always within primary dos partition (nested PT table). The
+ * solaris-x86 vtoc allows to split the entire partition to "slices". The
+ * offset (start) of the slice is always relatively to the primary dos
+ * partition.
+ *
+ * Note that Solaris-SPARC uses entire disk with a different partitionning
+ * scheme.
+ */
+
+/* some other implementation than Linux kernel assume 8 partitions only */
+#define SOLARIS_MAXPARTITIONS 16
+
+/* disklabel (vtoc) location */
+#define SOLARIS_SECTOR 1 /* in 512-sectors */
+#define SOLARIS_OFFSET (SOLARIS_SECTOR << 9) /* in bytes */
+#define SOLARIS_MAGICOFFSET (SOLARIS_OFFSET + 12) /* v_sanity offset in bytes */
+
+/* slice tags */
+#define SOLARIS_TAG_WHOLEDISK 5
+
+struct solaris_slice {
+ uint16_t s_tag; /* ID tag of partition */
+ uint16_t s_flag; /* permission flags */
+ uint32_t s_start; /* start sector no of partition */
+ uint32_t s_size; /* # of blocks in partition */
+} __attribute__((packed));
+
+struct solaris_vtoc {
+ unsigned int v_bootinfo[3]; /* info needed by mboot (unsupported) */
+
+ uint32_t v_sanity; /* to verify vtoc sanity */
+ uint32_t v_version; /* layout version */
+ char v_volume[8]; /* volume name */
+ uint16_t v_sectorsz; /* sector size in bytes */
+ uint16_t v_nparts; /* number of partitions */
+ unsigned int v_reserved[10]; /* free space */
+
+ struct solaris_slice v_slice[SOLARIS_MAXPARTITIONS]; /* slices */
+
+ unsigned int timestamp[SOLARIS_MAXPARTITIONS]; /* timestamp (unsupported) */
+ char v_asciilabel[128]; /* for compatibility */
+} __attribute__((packed));
+
+static int probe_solaris_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct solaris_vtoc *l; /* disk label */
+ struct solaris_slice *p; /* partitsion */
+ blkid_parttable tab = NULL;
+ blkid_partition parent;
+ blkid_partlist ls;
+ int i;
+ uint16_t nparts;
+
+ l = (struct solaris_vtoc *) blkid_probe_get_sector(pr, SOLARIS_SECTOR);
+ if (!l)
+ goto nothing;
+
+ if (le32_to_cpu(l->v_version) != 1) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "WARNING: unsupported solaris x86 version %d, ignore\n",
+ le32_to_cpu(l->v_version)));
+ goto nothing;
+ }
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ parent = blkid_partlist_get_parent(ls);
+
+ tab = blkid_partlist_new_parttable(ls, "solaris", SOLARIS_OFFSET);
+ if (!tab)
+ goto err;
+
+ nparts = le16_to_cpu(l->v_nparts);
+ if (nparts > SOLARIS_MAXPARTITIONS)
+ nparts = SOLARIS_MAXPARTITIONS;
+
+ for (i = 1, p = &l->v_slice[0]; i < nparts; i++, p++) {
+
+ uint32_t start = le32_to_cpu(p->s_start);
+ uint32_t size = le32_to_cpu(p->s_size);
+ blkid_partition par;
+
+ if (size == 0 || le16_to_cpu(p->s_tag) == SOLARIS_TAG_WHOLEDISK)
+ continue;
+
+ if (parent)
+ /* Solaris slices are relative to the parent (primary
+ * DOS partition) */
+ start += blkid_partition_get_start(parent);
+
+ if (parent && !blkid_is_nested_dimension(parent, start, size)) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "WARNING: solaris partition (%d) overflow "
+ "detected, ignore\n", i));
+ continue;
+ }
+
+ par = blkid_partlist_add_partition(ls, tab, start, size);
+ if (!par)
+ goto err;
+
+ blkid_partition_set_type(par, le16_to_cpu(p->s_tag));
+ blkid_partition_set_flags(par, le16_to_cpu(p->s_flag));
+ }
+
+ return 0;
+
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+const struct blkid_idinfo solaris_x86_pt_idinfo =
+{
+ .name = "solaris",
+ .probefunc = probe_solaris_pt,
+ .magics =
+ {
+ {
+ .magic = "\xEE\xDE\x0D\x60", /* little-endian magic string */
+ .len = 4, /* v_sanity size in bytes */
+ .sboff = SOLARIS_MAGICOFFSET /* offset of v_sanity */
+ },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/partitions/sun.c b/libblkid/src/partitions/sun.c
new file mode 100644
index 0000000..f151f46
--- /dev/null
+++ b/libblkid/src/partitions/sun.c
@@ -0,0 +1,188 @@
+/*
+ * sun (solaris-sparc) partition parsing code
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <stddef.h>
+
+#include "partitions.h"
+
+/* Supported VTOC setting */
+#define SUN_VTOC_SANITY 0x600DDEEE /* magic number */
+#define SUN_VTOC_VERSION 1
+
+#define SUN_MAXPARTITIONS 8
+
+/* Partition IDs */
+#define SUN_TAG_WHOLEDISK 0x05
+
+struct sun_disklabel {
+ unsigned char info[128]; /* Informative text string */
+
+ struct sun_vtoc {
+ uint32_t version; /* version */
+ char volume[8]; /* volume name */
+ uint16_t nparts; /* num of partitions */
+
+ struct sun_info { /* partition information */
+ uint16_t id; /* tag */
+ uint16_t flags;
+ } __attribute__ ((packed)) infos[8];
+
+ uint16_t padding; /* padding */
+ uint32_t bootinfo[3]; /* info needed by mboot */
+ uint32_t sanity; /* magic number */
+ uint32_t reserved[10]; /* padding */
+ uint32_t timestamp[8]; /* partition timestamp */
+ } __attribute__ ((packed)) vtoc;
+
+ uint32_t write_reinstruct; /* sectors to skip, writes */
+ uint32_t read_reinstruct; /* sectors to skip, reads */
+ unsigned char spare[148]; /* padding */
+ uint16_t rspeed; /* disk rotational speed */
+ uint16_t pcylcount; /* physical cylinder count */
+ uint16_t sparecyl; /* extra sects per cylinder */
+ uint16_t obs1;
+ uint16_t obs2;
+ uint16_t ilfact; /* interleave factor */
+ uint16_t ncyl; /* data cylinder count */
+ uint16_t nacyl; /* alt. cylinder count */
+ uint16_t ntrks; /* tracks per cylinder <---- */
+ uint16_t nsect; /* sectors per track <---- */
+ uint16_t obs3;
+ uint16_t obs4;
+
+ struct sun_partition { /* partitions */
+ uint32_t start_cylinder;
+ uint32_t num_sectors;
+ } __attribute__ ((packed)) partitions[8];
+
+ uint16_t magic; /* magic number */
+ uint16_t csum; /* label xor'd checksum */
+} __attribute__ ((packed));
+
+
+uint16_t count_checksum(struct sun_disklabel *label)
+{
+ uint16_t *ptr = ((uint16_t *) (label + 1)) - 1;
+ uint16_t sum;
+
+ for (sum = 0; ptr >= ((uint16_t *) label);)
+ sum ^= *ptr--;
+
+ return sum;
+}
+
+static int probe_sun_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct sun_disklabel *l;
+ struct sun_partition *p;
+ blkid_parttable tab = NULL;
+ blkid_partlist ls;
+ uint16_t nparts;
+ blkid_loff_t spc;
+ int i, use_vtoc;
+
+ l = (struct sun_disklabel *) blkid_probe_get_sector(pr, 0);
+ if (!l)
+ goto nothing;
+
+ if (count_checksum(l)) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "detected corrupted sun disk label -- ignore\n"));
+ goto nothing;
+ }
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ tab = blkid_partlist_new_parttable(ls, "sun", 0);
+ if (!tab)
+ goto err;
+
+ /* sectors per cylinder (partition offset is in cylinders...) */
+ spc = be16_to_cpu(l->ntrks) * be16_to_cpu(l->nsect);
+
+ DBG(DEBUG_LOWPROBE,
+ printf("Sun VTOC sanity=%u version=%u nparts=%u\n",
+ be32_to_cpu(l->vtoc.sanity),
+ be32_to_cpu(l->vtoc.version),
+ be16_to_cpu(l->vtoc.nparts)));
+
+ /* Check to see if we can use the VTOC table */
+ use_vtoc = ((be32_to_cpu(l->vtoc.sanity) == SUN_VTOC_SANITY) &&
+ (be32_to_cpu(l->vtoc.version) == SUN_VTOC_VERSION) &&
+ (be16_to_cpu(l->vtoc.nparts) <= SUN_MAXPARTITIONS));
+
+ /* Use 8 partition entries if not specified in validated VTOC */
+ nparts = use_vtoc ? be16_to_cpu(l->vtoc.nparts) : SUN_MAXPARTITIONS;
+
+ /*
+ * So that old Linux-Sun partitions continue to work,
+ * alow the VTOC to be used under the additional condition ...
+ */
+ use_vtoc = use_vtoc || !(l->vtoc.sanity || l->vtoc.version || l->vtoc.nparts);
+
+ for (i = 0, p = l->partitions; i < nparts; i++, p++) {
+
+ blkid_loff_t start, size;
+ uint16_t type = 0, flags = 0;
+ blkid_partition par;
+
+ start = be32_to_cpu(p->start_cylinder) * spc;
+ size = be32_to_cpu(p->num_sectors);
+ if (use_vtoc) {
+ type = be16_to_cpu(l->vtoc.infos[i].id);
+ flags = be16_to_cpu(l->vtoc.infos[i].flags);
+ }
+
+ if (type == SUN_TAG_WHOLEDISK || !size) {
+ blkid_partlist_increment_partno(ls);
+ continue;
+ }
+ par = blkid_partlist_add_partition(ls, tab, start, size);
+ if (!par)
+ goto err;
+
+ if (type)
+ blkid_partition_set_type(par, type);
+ if (flags)
+ blkid_partition_set_flags(par, flags);
+ }
+ return 0;
+
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+
+const struct blkid_idinfo sun_pt_idinfo =
+{
+ .name = "sun",
+ .probefunc = probe_sun_pt,
+ .magics =
+ {
+ {
+ .magic = "\xDA\xBE", /* big-endian magic string */
+ .len = 2,
+ .sboff = offsetof(struct sun_disklabel, magic)
+ },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/partitions/ultrix.c b/libblkid/src/partitions/ultrix.c
new file mode 100644
index 0000000..853ae6e
--- /dev/null
+++ b/libblkid/src/partitions/ultrix.c
@@ -0,0 +1,96 @@
+/*
+ * uktrix partition parsing code
+ *
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "partitions.h"
+
+#define ULTRIX_MAXPARTITIONS 8
+
+#define ULTRIX_MAGIC 0x032957
+#define ULTRIX_MAGIC_STR "\x02\x29\x57"
+
+/* sector with partition table */
+#define ULTRIX_SECTOR ((16384 - sizeof(struct ultrix_disklabel)) >> 9)
+/* position of partition table within ULTRIX_SECTOR */
+#define ULTRIX_OFFSET (512 - sizeof(struct ultrix_disklabel))
+
+struct ultrix_disklabel {
+ int32_t pt_magic; /* magic no. indicating part. info exits */
+ int32_t pt_valid; /* set by driver if pt is current */
+ struct pt_info {
+ int32_t pi_nblocks; /* no. of sectors */
+ uint32_t pi_blkoff; /* block offset for start */
+ } pt_part[ULTRIX_MAXPARTITIONS];
+} __attribute__((packed));
+
+
+static int probe_ultrix_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ unsigned char *data;
+ struct ultrix_disklabel *l;
+ blkid_parttable tab = NULL;
+ blkid_partlist ls;
+ int i;
+
+ data = blkid_probe_get_sector(pr, ULTRIX_SECTOR);
+ if (!data)
+ goto nothing;
+
+ l = (struct ultrix_disklabel *) (data + ULTRIX_OFFSET);
+
+ if (l->pt_magic != ULTRIX_MAGIC || l->pt_valid != 1)
+ goto nothing;
+
+ if (blkid_probe_set_magic(pr, (ULTRIX_SECTOR << 9) + ULTRIX_OFFSET,
+ sizeof(ULTRIX_MAGIC_STR) - 1,
+ (unsigned char *) ULTRIX_MAGIC_STR))
+ goto err;
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ tab = blkid_partlist_new_parttable(ls, "ultrix", 0);
+ if (!tab)
+ goto err;
+
+ for (i = 0; i < ULTRIX_MAXPARTITIONS; i++) {
+ if (!l->pt_part[i].pi_nblocks)
+ blkid_partlist_increment_partno(ls);
+ else {
+ if (!blkid_partlist_add_partition(ls, tab,
+ l->pt_part[i].pi_blkoff,
+ l->pt_part[i].pi_nblocks))
+ goto err;
+ }
+ }
+
+ return 0;
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+const struct blkid_idinfo ultrix_pt_idinfo =
+{
+ .name = "ultrix",
+ .probefunc = probe_ultrix_pt,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/partitions/unixware.c b/libblkid/src/partitions/unixware.c
new file mode 100644
index 0000000..e9bcba3
--- /dev/null
+++ b/libblkid/src/partitions/unixware.c
@@ -0,0 +1,194 @@
+/*
+ * unixware partition parsing code
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ *
+ * The intersting information about unixware PT:
+ * - Linux kernel / partx
+ * - vtoc(7) SCO UNIX command man page
+ * - evms source code (http://evms.sourceforge.net/)
+ * - vxtools source code (http://martin.hinner.info/fs/vxfs/)
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "partitions.h"
+
+/* disklabel location */
+#define UNIXWARE_SECTOR 29
+#define UNIXWARE_OFFSET (UNIXWARE_SECTOR << 9) /* offset in bytes */
+#define UNIXWARE_KBOFFSET (UNIXWARE_OFFSET >> 10) /* offset in 1024-blocks */
+
+/* disklabel->d_magic offset within the last 1024 block */
+#define UNIXWARE_MAGICOFFSET (UNIXWARE_OFFSET - UNIXWARE_KBOFFSET + 4)
+
+#define UNIXWARE_VTOCMAGIC 0x600DDEEEUL
+#define UNIXWARE_MAXPARTITIONS 16
+
+/* unixware_partition->s_label flags */
+#define UNIXWARE_TAG_UNUSED 0x0000 /* unused partition */
+#define UNIXWARE_TAG_BOOT 0x0001 /* boot fs */
+#define UNIXWARE_TAG_ROOT 0x0002 /* root fs */
+#define UNIXWARE_TAG_SWAP 0x0003 /* swap fs */
+#define UNIXWARE_TAG_USER 0x0004 /* user fs */
+#define UNIXWARE_TAG_ENTIRE_DISK 0x0005 /* whole disk */
+#define UNIXWARE_TAG_ALT_S 0x0006 /* alternate sector space */
+#define UNIXWARE_TAG_OTHER 0x0007 /* non unix */
+#define UNIXWARE_TAG_ALT_T 0x0008 /* alternate track space */
+#define UNIXWARE_TAG_STAND 0x0009 /* stand partition */
+#define UNIXWARE_TAG_VAR 0x000a /* var partition */
+#define UNIXWARE_TAG_HOME 0x000b /* home partition */
+#define UNIXWARE_TAG_DUMP 0x000c /* dump partition */
+#define UNIXWARE_TAG_ALT_ST 0x000d /* alternate sector track */
+#define UNIXWARE_TAG_VM_PUBLIC 0x000e /* volume mgt public partition */
+#define UNIXWARE_TAG_VM_PRIVATE 0x000f /* volume mgt private partition */
+
+
+/* unixware_partition->s_flags flags */
+#define UNIXWARE_FLAG_VALID 0x0200
+
+struct unixware_partition {
+ uint16_t s_label; /* partition label (tag) */
+ uint16_t s_flags; /* permission flags */
+ uint32_t start_sect; /* starting sector */
+ uint32_t nr_sects; /* number of sectors */
+} __attribute__((packed));
+
+struct unixware_disklabel {
+ uint32_t d_type; /* drive type */
+ uint32_t d_magic; /* the magic number */
+ uint32_t d_version; /* version number */
+ char d_serial[12]; /* serial number of the device */
+ uint32_t d_ncylinders; /* # of data cylinders per device */
+ uint32_t d_ntracks; /* # of tracks per cylinder */
+ uint32_t d_nsectors; /* # of data sectors per track */
+ uint32_t d_secsize; /* # of bytes per sector */
+ uint32_t d_part_start; /* # of first sector of this partition */
+ uint32_t d_unknown1[12]; /* ? */
+ uint32_t d_alt_tbl; /* byte offset of alternate table */
+ uint32_t d_alt_len; /* byte length of alternate table */
+ uint32_t d_phys_cyl; /* # of physical cylinders per device */
+ uint32_t d_phys_trk; /* # of physical tracks per cylinder */
+ uint32_t d_phys_sec; /* # of physical sectors per track */
+ uint32_t d_phys_bytes; /* # of physical bytes per sector */
+ uint32_t d_unknown2; /* ? */
+ uint32_t d_unknown3; /* ? */
+ uint32_t d_pad[8]; /* pad */
+
+ struct unixware_vtoc {
+ uint32_t v_magic; /* the magic number */
+ uint32_t v_version; /* version number */
+ char v_name[8]; /* volume name */
+ uint16_t v_nslices; /* # of partitions */
+ uint16_t v_unknown1; /* ? */
+ uint32_t v_reserved[10]; /* reserved */
+
+ struct unixware_partition
+ v_slice[UNIXWARE_MAXPARTITIONS]; /* partition */
+ } __attribute__((packed)) vtoc;
+};
+
+static int probe_unixware_pt(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct unixware_disklabel *l;
+ struct unixware_partition *p;
+ blkid_parttable tab = NULL;
+ blkid_partition parent;
+ blkid_partlist ls;
+ int i;
+
+ l = (struct unixware_disklabel *)
+ blkid_probe_get_sector(pr, UNIXWARE_SECTOR);
+ if (!l)
+ goto nothing;
+
+ if (le32_to_cpu(l->vtoc.v_magic) != UNIXWARE_VTOCMAGIC)
+ goto nothing;
+
+ if (blkid_partitions_need_typeonly(pr))
+ /* caller does not ask for details about partitions */
+ return 0;
+
+ ls = blkid_probe_get_partlist(pr);
+ if (!ls)
+ goto err;
+
+ parent = blkid_partlist_get_parent(ls);
+
+ tab = blkid_partlist_new_parttable(ls, "unixware", UNIXWARE_OFFSET);
+ if (!tab)
+ goto err;
+
+ /* Skip the first partition that describe whole disk
+ */
+ for (i = 1, p = &l->vtoc.v_slice[1];
+ i < UNIXWARE_MAXPARTITIONS; i++, p++) {
+
+ uint32_t start, size;
+ uint16_t tag, flg;
+ blkid_partition par;
+
+ tag = le16_to_cpu(p->s_label);
+ flg = le16_to_cpu(p->s_flags);
+
+ if (tag == UNIXWARE_TAG_UNUSED ||
+ tag == UNIXWARE_TAG_ENTIRE_DISK ||
+ flg != UNIXWARE_FLAG_VALID)
+ continue;
+
+ start = le32_to_cpu(p->start_sect);
+ size = le32_to_cpu(p->nr_sects);
+
+ if (parent && !blkid_is_nested_dimension(parent, start, size)) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "WARNING: unixware partition (%d) overflow "
+ "detected, ignore\n", i));
+ continue;
+ }
+
+ par = blkid_partlist_add_partition(ls, tab, start, size);
+ if (!par)
+ goto err;
+
+ blkid_partition_set_type(par, tag);
+ blkid_partition_set_flags(par, flg);
+ }
+
+ return 0;
+
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+
+/*
+ * The unixware partition table is within primary DOS partition. The PT is
+ * located on 29 sector, PT magic string is d_magic member of 'struct
+ * unixware_disklabel'.
+ */
+const struct blkid_idinfo unixware_pt_idinfo =
+{
+ .name = "unixware",
+ .probefunc = probe_unixware_pt,
+ .minsz = 1024 * 1440 + 1, /* ignore floppies */
+ .magics =
+ {
+ {
+ .magic = "\x0D\x60\xE5\xCA", /* little-endian magic string */
+ .len = 4, /* d_magic size in bytes */
+ .kboff = UNIXWARE_KBOFFSET,
+ .sboff = UNIXWARE_MAGICOFFSET
+ },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c
new file mode 100644
index 0000000..467b1fd
--- /dev/null
+++ b/libblkid/src/probe.c
@@ -0,0 +1,1681 @@
+/*
+ * Low-level libblkid probing API
+ *
+ * Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: lowprobe
+ * @title: Low-level probing
+ * @short_description: low-level prober initialization
+ *
+ * The low-level probing routines always and directly read information from
+ * the selected (see blkid_probe_set_device()) device.
+ *
+ * The probing routines are grouped together into separate chains. Currently,
+ * the library provides superblocks, partitions and topology chains.
+ *
+ * The probing routines is possible to filter (enable/disable) by type (e.g.
+ * fstype "vfat" or partype "gpt") or by usage flags (e.g. BLKID_USAGE_RAID).
+ * These filters are per-chain. Note that always when you touch the chain
+ * filter the current probing position is reset and probing starts from
+ * scratch. It means that the chain filter should not be modified during
+ * probing, for example in loop where you call blkid_do_probe().
+ *
+ * For more details see the chain specific documentation.
+ *
+ * The low-level API provides two ways how access to probing results.
+ *
+ * 1. The NAME=value (tag) interface. This interface is older and returns all data
+ * as strings. This interface is generic for all chains.
+ *
+ * 2. The binary interfaces. These interfaces return data in the native formats.
+ * The interface is always specific to the probing chain.
+ *
+ * Note that the previous probing result (binary or NAME=value) is always
+ * zeroized when a chain probing function is called. For example:
+ *
+ * <informalexample>
+ * <programlisting>
+ * blkid_probe_enable_partitions(pr, TRUE);
+ * blkid_probe_enable_superblocks(pr, FALSE);
+ *
+ * blkid_do_safeprobe(pr);
+ * </programlisting>
+ * </informalexample>
+ *
+ * overwrites the previous probing result for the partitions chain, the superblocks
+ * result is not modified.
+ */
+
+/**
+ * SECTION: lowprobe-tags
+ * @title: Low-level tags
+ * @short_description: generic NAME=value interface.
+ *
+ * The probing routines inside the chain are mutually exclusive by default --
+ * only few probing routines are marked as "tolerant". The "tolerant" probing
+ * routines are used for filesystem which can share the same device with any
+ * other filesystem. The blkid_do_safeprobe() checks for the "tolerant" flag.
+ *
+ * The SUPERBLOCKS chain is enabled by default. The all others chains is
+ * necessary to enable by blkid_probe_enable_'CHAINNAME'(). See chains specific
+ * documentation.
+ *
+ * The blkid_do_probe() function returns a result from only one probing
+ * routine, and the next call from the next probing routine. It means you need
+ * to call the function in loop, for example:
+ *
+ * <informalexample>
+ * <programlisting>
+ * while((blkid_do_probe(pr) == 0)
+ * ... use result ...
+ * </programlisting>
+ * </informalexample>
+ *
+ * The blkid_do_safeprobe() is the same as blkid_do_probe(), but returns only
+ * first probing result for every enabled chain. This function checks for
+ * ambivalent results (e.g. more "intolerant" filesystems superblocks on the
+ * device).
+ *
+ * The probing result is set of NAME=value pairs (the NAME is always unique).
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <sys/types.h>
+#ifdef HAVE_LINUX_CDROM_H
+#include <linux/cdrom.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <inttypes.h>
+#include <stdint.h>
+#include <stdarg.h>
+
+#ifdef HAVE_LIBUUID
+# include <uuid.h>
+#endif
+
+#include "blkidP.h"
+#include "all-io.h"
+
+/* chains */
+extern const struct blkid_chaindrv superblocks_drv;
+extern const struct blkid_chaindrv topology_drv;
+extern const struct blkid_chaindrv partitions_drv;
+
+/*
+ * All supported chains
+ */
+static const struct blkid_chaindrv *chains_drvs[] = {
+ [BLKID_CHAIN_SUBLKS] = &superblocks_drv,
+ [BLKID_CHAIN_TOPLGY] = &topology_drv,
+ [BLKID_CHAIN_PARTS] = &partitions_drv
+};
+
+static void blkid_probe_reset_vals(blkid_probe pr);
+static void blkid_probe_reset_buffer(blkid_probe pr);
+
+/**
+ * blkid_new_probe:
+ *
+ * Returns: a pointer to the newly allocated probe struct or NULL in case of error.
+ */
+blkid_probe blkid_new_probe(void)
+{
+ int i;
+ blkid_probe pr;
+
+ blkid_init_debug(0);
+ pr = calloc(1, sizeof(struct blkid_struct_probe));
+ if (!pr)
+ return NULL;
+
+ DBG(DEBUG_LOWPROBE, printf("allocate a new probe %p\n", pr));
+
+ /* initialize chains */
+ for (i = 0; i < BLKID_NCHAINS; i++) {
+ pr->chains[i].driver = chains_drvs[i];
+ pr->chains[i].flags = chains_drvs[i]->dflt_flags;
+ pr->chains[i].enabled = chains_drvs[i]->dflt_enabled;
+ }
+ INIT_LIST_HEAD(&pr->buffers);
+ return pr;
+}
+
+/*
+ * Clone @parent, the new clone shares all, but except:
+ *
+ * - probing result
+ * - bufferes if another device (or offset) is set to the prober
+ */
+blkid_probe blkid_clone_probe(blkid_probe parent)
+{
+ blkid_probe pr;
+
+ if (!parent)
+ return NULL;
+
+ DBG(DEBUG_LOWPROBE, printf("allocate a probe clone\n"));
+
+ pr = blkid_new_probe();
+ if (!pr)
+ return NULL;
+
+ pr->fd = parent->fd;
+ pr->off = parent->off;
+ pr->size = parent->size;
+ pr->devno = parent->devno;
+ pr->disk_devno = parent->disk_devno;
+ pr->blkssz = parent->blkssz;
+ pr->flags = parent->flags;
+ pr->parent = parent;
+
+ return pr;
+}
+
+
+
+/**
+ * blkid_new_probe_from_filename:
+ * @filename: device or regular file
+ *
+ * This function is same as call open(filename), blkid_new_probe() and
+ * blkid_probe_set_device(pr, fd, 0, 0).
+ *
+ * The @filename is closed by blkid_free_probe() or by the
+ * blkid_probe_set_device() call.
+ *
+ * Returns: a pointer to the newly allocated probe struct or NULL in case of
+ * error.
+ */
+blkid_probe blkid_new_probe_from_filename(const char *filename)
+{
+ int fd = -1;
+ blkid_probe pr = NULL;
+
+ if (!filename)
+ return NULL;
+
+ fd = open(filename, O_RDONLY);
+ if (fd < 0)
+ return NULL;
+
+ pr = blkid_new_probe();
+ if (!pr)
+ goto err;
+
+ if (blkid_probe_set_device(pr, fd, 0, 0))
+ goto err;
+
+ pr->flags |= BLKID_FL_PRIVATE_FD;
+ return pr;
+err:
+ if (fd >= 0)
+ close(fd);
+ blkid_free_probe(pr);
+ return NULL;
+}
+
+/**
+ * blkid_free_probe:
+ * @pr: probe
+ *
+ * Deallocates the probe struct, buffers and all allocated
+ * data that are associated with this probing control struct.
+ */
+void blkid_free_probe(blkid_probe pr)
+{
+ int i;
+
+ if (!pr)
+ return;
+
+ for (i = 0; i < BLKID_NCHAINS; i++) {
+ struct blkid_chain *ch = &pr->chains[i];
+
+ if (ch->driver->free_data)
+ ch->driver->free_data(pr, ch->data);
+ free(ch->fltr);
+ }
+
+ if ((pr->flags & BLKID_FL_PRIVATE_FD) && pr->fd >= 0)
+ close(pr->fd);
+ blkid_probe_reset_buffer(pr);
+ blkid_free_probe(pr->disk_probe);
+
+ DBG(DEBUG_LOWPROBE, printf("free probe %p\n", pr));
+ free(pr);
+}
+
+
+/*
+ * Removes chain values from probing result.
+ */
+void blkid_probe_chain_reset_vals(blkid_probe pr, struct blkid_chain *chn)
+{
+ int nvals = pr->nvals;
+ int i, x;
+
+ for (x = 0, i = 0; i < pr->nvals; i++) {
+ struct blkid_prval *v = &pr->vals[i];
+
+ if (v->chain != chn && x == i) {
+ x++;
+ continue;
+ }
+ if (v->chain == chn) {
+ --nvals;
+ continue;
+ }
+ memcpy(&pr->vals[x++], v, sizeof(struct blkid_prval));
+ }
+ pr->nvals = nvals;
+}
+
+static void blkid_probe_chain_reset_position(struct blkid_chain *chn)
+{
+ if (chn)
+ chn->idx = -1;
+}
+
+/*
+ * Copies chain values from probing result to @vals, the max size of @vals is
+ * @nvals and returns real number of values.
+ */
+int blkid_probe_chain_copy_vals(blkid_probe pr, struct blkid_chain *chn,
+ struct blkid_prval *vals, int nvals)
+{
+ int i, x;
+
+ for (x = 0, i = 0; i < pr->nvals && x < nvals; i++) {
+ struct blkid_prval *v = &pr->vals[i];
+
+ if (v->chain != chn)
+ continue;
+ memcpy(&vals[x++], v, sizeof(struct blkid_prval));
+ }
+ return x;
+}
+
+/*
+ * Appends values from @vals to the probing result
+ */
+void blkid_probe_append_vals(blkid_probe pr, struct blkid_prval *vals, int nvals)
+{
+ int i = 0;
+
+ while (i < nvals && pr->nvals < BLKID_NVALS) {
+ memcpy(&pr->vals[pr->nvals++], &vals[i++],
+ sizeof(struct blkid_prval));
+ }
+}
+
+static void blkid_probe_reset_vals(blkid_probe pr)
+{
+ memset(pr->vals, 0, sizeof(pr->vals));
+ pr->nvals = 0;
+}
+
+struct blkid_chain *blkid_probe_get_chain(blkid_probe pr)
+{
+ return pr->cur_chain;
+}
+
+void *blkid_probe_get_binary_data(blkid_probe pr, struct blkid_chain *chn)
+{
+ int rc, org_prob_flags;
+ struct blkid_chain *org_chn;
+
+ if (!pr || !chn)
+ return NULL;
+
+ /* save the current setting -- the binary API has to be completely
+ * independent on the current probing status
+ */
+ org_chn = pr->cur_chain;
+ org_prob_flags = pr->prob_flags;
+
+ pr->cur_chain = chn;
+ pr->prob_flags = 0;
+ chn->binary = TRUE;
+ blkid_probe_chain_reset_position(chn);
+
+ rc = chn->driver->probe(pr, chn);
+
+ chn->binary = FALSE;
+ blkid_probe_chain_reset_position(chn);
+
+ /* restore the original setting
+ */
+ pr->cur_chain = org_chn;
+ pr->prob_flags = org_prob_flags;
+
+ if (rc != 0)
+ return NULL;
+
+ DBG(DEBUG_LOWPROBE,
+ printf("returning %s binary data\n", chn->driver->name));
+ return chn->data;
+}
+
+
+/**
+ * blkid_reset_probe:
+ * @pr: probe
+ *
+ * Zeroize probing results and resets the current probing (this has impact to
+ * blkid_do_probe() only). This function does not touch probing filters and
+ * keeps assigned device.
+ */
+void blkid_reset_probe(blkid_probe pr)
+{
+ int i;
+
+ if (!pr)
+ return;
+
+ blkid_probe_reset_vals(pr);
+ blkid_probe_set_wiper(pr, 0, 0);
+
+ pr->cur_chain = NULL;
+
+ for (i = 0; i < BLKID_NCHAINS; i++)
+ blkid_probe_chain_reset_position(&pr->chains[i]);
+}
+
+/***
+static int blkid_probe_dump_filter(blkid_probe pr, int chain)
+{
+ struct blkid_chain *chn;
+ int i;
+
+ if (!pr || chain < 0 || chain >= BLKID_NCHAINS)
+ return -1;
+
+ chn = &pr->chains[chain];
+
+ if (!chn->fltr)
+ return -1;
+
+ for (i = 0; i < chn->driver->nidinfos; i++) {
+ const struct blkid_idinfo *id = chn->driver->idinfos[i];
+
+ DBG(DEBUG_LOWPROBE, printf("%d: %s: %s\n",
+ i,
+ id->name,
+ blkid_bmp_get_item(chn->fltr, i)
+ ? "disabled" : "enabled <--"));
+ }
+ return 0;
+}
+***/
+
+/*
+ * Returns properly initialized chain filter
+ */
+unsigned long *blkid_probe_get_filter(blkid_probe pr, int chain, int create)
+{
+ struct blkid_chain *chn;
+
+ if (!pr || chain < 0 || chain >= BLKID_NCHAINS)
+ return NULL;
+
+ chn = &pr->chains[chain];
+
+ /* always when you touch the chain filter all indexes are reset and
+ * probing starts from scratch
+ */
+ blkid_probe_chain_reset_position(chn);
+ pr->cur_chain = NULL;
+
+ if (!chn->driver->has_fltr || (!chn->fltr && !create))
+ return NULL;
+
+ if (!chn->fltr)
+ chn->fltr = calloc(1, blkid_bmp_nbytes(chn->driver->nidinfos));
+ else
+ memset(chn->fltr, 0, blkid_bmp_nbytes(chn->driver->nidinfos));
+
+ /* blkid_probe_dump_filter(pr, chain); */
+ return chn->fltr;
+}
+
+/*
+ * Generic private functions for filter setting
+ */
+int __blkid_probe_invert_filter(blkid_probe pr, int chain)
+{
+ size_t i;
+ struct blkid_chain *chn;
+
+ chn = &pr->chains[chain];
+
+ if (!chn->driver->has_fltr || !chn->fltr)
+ return -1;
+
+ for (i = 0; i < blkid_bmp_nwords(chn->driver->nidinfos); i++)
+ chn->fltr[i] = ~chn->fltr[i];
+
+ DBG(DEBUG_LOWPROBE, printf("probing filter inverted\n"));
+ /* blkid_probe_dump_filter(pr, chain); */
+ return 0;
+}
+
+int __blkid_probe_reset_filter(blkid_probe pr, int chain)
+{
+ return blkid_probe_get_filter(pr, chain, FALSE) ? 0 : -1;
+}
+
+int __blkid_probe_filter_types(blkid_probe pr, int chain, int flag, char *names[])
+{
+ unsigned long *fltr;
+ struct blkid_chain *chn;
+ size_t i;
+
+ fltr = blkid_probe_get_filter(pr, chain, TRUE);
+ if (!fltr)
+ return -1;
+
+ chn = &pr->chains[chain];
+
+ for (i = 0; i < chn->driver->nidinfos; i++) {
+ int has = 0;
+ const struct blkid_idinfo *id = chn->driver->idinfos[i];
+ char **n;
+
+ for (n = names; *n; n++) {
+ if (!strcmp(id->name, *n)) {
+ has = 1;
+ break;
+ }
+ }
+ if (flag & BLKID_FLTR_ONLYIN) {
+ if (!has)
+ blkid_bmp_set_item(fltr, i);
+ } else if (flag & BLKID_FLTR_NOTIN) {
+ if (has)
+ blkid_bmp_set_item(fltr, i);
+ }
+ }
+
+ DBG(DEBUG_LOWPROBE,
+ printf("%s: a new probing type-filter initialized\n",
+ chn->driver->name));
+ /* blkid_probe_dump_filter(pr, chain); */
+ return 0;
+}
+
+unsigned char *blkid_probe_get_buffer(blkid_probe pr,
+ blkid_loff_t off, blkid_loff_t len)
+{
+ struct list_head *p;
+ struct blkid_bufinfo *bf = NULL;
+
+ if (pr->size <= 0)
+ return NULL;
+
+ if (pr->parent &&
+ pr->parent->devno == pr->devno &&
+ pr->parent->off <= pr->off &&
+ pr->parent->off + pr->parent->size >= pr->off + pr->size) {
+ /*
+ * This is a cloned prober and points to the same area as
+ * parent. Let's use parent's buffers.
+ *
+ * Note that pr->off (and pr->parent->off) is always from the
+ * beginig of the device.
+ */
+ return blkid_probe_get_buffer(pr->parent,
+ pr->off + off - pr->parent->off, len);
+ }
+
+ list_for_each(p, &pr->buffers) {
+ struct blkid_bufinfo *x =
+ list_entry(p, struct blkid_bufinfo, bufs);
+
+ if (x->off <= off && off + len <= x->off + x->len) {
+ DBG(DEBUG_LOWPROBE,
+ printf("\treuse buffer: off=%jd len=%jd pr=%p\n",
+ x->off, x->len, pr));
+ bf = x;
+ break;
+ }
+ }
+ if (!bf) {
+ ssize_t ret;
+
+ if (blkid_llseek(pr->fd, pr->off + off, SEEK_SET) < 0)
+ return NULL;
+
+ /* allocate info and space for data by why call */
+ bf = calloc(1, sizeof(struct blkid_bufinfo) + len);
+ if (!bf)
+ return NULL;
+
+ bf->data = ((unsigned char *) bf) + sizeof(struct blkid_bufinfo);
+ bf->len = len;
+ bf->off = off;
+ INIT_LIST_HEAD(&bf->bufs);
+
+ DBG(DEBUG_LOWPROBE,
+ printf("\tbuffer read: off=%jd len=%jd pr=%p\n",
+ off, len, pr));
+
+ ret = read(pr->fd, bf->data, len);
+ if (ret != (ssize_t) len) {
+ free(bf);
+ return NULL;
+ }
+ list_add_tail(&bf->bufs, &pr->buffers);
+ }
+
+ return off ? bf->data + (off - bf->off) : bf->data;
+}
+
+
+static void blkid_probe_reset_buffer(blkid_probe pr)
+{
+ uint64_t read_ct = 0, len_ct = 0;
+
+ if (!pr || list_empty(&pr->buffers))
+ return;
+
+ DBG(DEBUG_LOWPROBE, printf("reseting probing buffers pr=%p\n", pr));
+
+ while (!list_empty(&pr->buffers)) {
+ struct blkid_bufinfo *bf = list_entry(pr->buffers.next,
+ struct blkid_bufinfo, bufs);
+ read_ct++;
+ len_ct += bf->len;
+ list_del(&bf->bufs);
+ free(bf);
+ }
+
+ DBG(DEBUG_LOWPROBE,
+ printf("buffers summary: %"PRIu64" bytes "
+ "by %"PRIu64" read() call(s)\n",
+ len_ct, read_ct));
+
+ INIT_LIST_HEAD(&pr->buffers);
+}
+
+/*
+ * Small devices need a special care.
+ */
+int blkid_probe_is_tiny(blkid_probe pr)
+{
+ return pr && (pr->flags & BLKID_FL_TINY_DEV);
+}
+
+/*
+ * CDROMs may fail when probed for RAID (last sector problem)
+ */
+int blkid_probe_is_cdrom(blkid_probe pr)
+{
+ return pr && (pr->flags & BLKID_FL_CDROM_DEV);
+}
+
+/**
+ * blkid_probe_set_device:
+ * @pr: probe
+ * @fd: device file descriptor
+ * @off: begin of probing area
+ * @size: size of probing area (zero means whole device/file)
+ *
+ * Assigns the device to probe control struct, resets internal buffers and
+ * resets the current probing.
+ *
+ * Returns: -1 in case of failure, or 0 on success.
+ */
+int blkid_probe_set_device(blkid_probe pr, int fd,
+ blkid_loff_t off, blkid_loff_t size)
+{
+ struct stat sb;
+
+ if (!pr)
+ return -1;
+
+ blkid_reset_probe(pr);
+ blkid_probe_reset_buffer(pr);
+
+ if ((pr->flags & BLKID_FL_PRIVATE_FD) && pr->fd >= 0)
+ close(pr->fd);
+
+ pr->flags &= ~BLKID_FL_PRIVATE_FD;
+ pr->flags &= ~BLKID_FL_TINY_DEV;
+ pr->flags &= ~BLKID_FL_CDROM_DEV;
+ pr->prob_flags = 0;
+ pr->fd = fd;
+ pr->off = off;
+ pr->size = 0;
+ pr->devno = 0;
+ pr->disk_devno = 0;
+ pr->mode = 0;
+ pr->blkssz = 0;
+ pr->wipe_off = 0;
+ pr->wipe_size = 0;
+ pr->wipe_chain = NULL;
+
+#if defined(POSIX_FADV_RANDOM) && defined(HAVE_POSIX_FADVISE)
+ /* Disable read-ahead */
+ posix_fadvise(fd, 0, 0, POSIX_FADV_RANDOM);
+#endif
+ if (fstat(fd, &sb))
+ goto err;
+
+ if (!S_ISBLK(sb.st_mode) && !S_ISCHR(sb.st_mode) && !S_ISREG(sb.st_mode))
+ goto err;
+
+ pr->mode = sb.st_mode;
+ if (S_ISBLK(sb.st_mode) || S_ISCHR(sb.st_mode))
+ pr->devno = sb.st_rdev;
+
+ if (size)
+ pr->size = size;
+ else {
+ if (S_ISBLK(sb.st_mode)) {
+ if (blkdev_get_size(fd, (unsigned long long *) &pr->size)) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "failed to get device size\n"));
+ goto err;
+ }
+ } else if (S_ISCHR(sb.st_mode))
+ pr->size = 1; /* UBI devices are char... */
+ else if (S_ISREG(sb.st_mode))
+ pr->size = sb.st_size; /* regular file */
+
+ if (pr->off > pr->size)
+ goto err;
+
+ /* The probing area cannot be larger than whole device, pr->off
+ * is offset within the device */
+ pr->size -= pr->off;
+ }
+
+ if (pr->size <= 1440 * 1024 && !S_ISCHR(sb.st_mode))
+ pr->flags |= BLKID_FL_TINY_DEV;
+
+#ifdef CDROM_GET_CAPABILITY
+ if (S_ISBLK(sb.st_mode) &&
+ !blkid_probe_is_tiny(pr) &&
+ blkid_probe_is_wholedisk(pr) &&
+ ioctl(fd, CDROM_GET_CAPABILITY, NULL) >= 0)
+ pr->flags |= BLKID_FL_CDROM_DEV;
+#endif
+
+ DBG(DEBUG_LOWPROBE, printf("ready for low-probing, offset=%jd, size=%jd\n",
+ pr->off, pr->size));
+ DBG(DEBUG_LOWPROBE, printf("whole-disk: %s, regfile: %s\n",
+ blkid_probe_is_wholedisk(pr) ?"YES" : "NO",
+ S_ISREG(pr->mode) ? "YES" : "NO"));
+
+ return 0;
+err:
+ DBG(DEBUG_LOWPROBE,
+ printf("failed to prepare a device for low-probing\n"));
+ return -1;
+
+}
+
+int blkid_probe_get_dimension(blkid_probe pr,
+ blkid_loff_t *off, blkid_loff_t *size)
+{
+ if (!pr)
+ return -1;
+
+ *off = pr->off;
+ *size = pr->size;
+ return 0;
+}
+
+int blkid_probe_set_dimension(blkid_probe pr,
+ blkid_loff_t off, blkid_loff_t size)
+{
+ if (!pr)
+ return -1;
+
+ DBG(DEBUG_LOWPROBE, printf(
+ "changing probing area pr=%p: size=%llu, off=%llu "
+ "-to-> size=%llu, off=%llu\n",
+ pr,
+ (unsigned long long) pr->size,
+ (unsigned long long) pr->off,
+ (unsigned long long) size,
+ (unsigned long long) off));
+
+ pr->off = off;
+ pr->size = size;
+ pr->flags &= ~BLKID_FL_TINY_DEV;
+
+ if (pr->size <= 1440 * 1024 && !S_ISCHR(pr->mode))
+ pr->flags |= BLKID_FL_TINY_DEV;
+
+ blkid_probe_reset_buffer(pr);
+
+ return 0;
+}
+
+int blkid_probe_get_idmag(blkid_probe pr, const struct blkid_idinfo *id,
+ blkid_loff_t *offset, const struct blkid_idmag **res)
+{
+ const struct blkid_idmag *mag = NULL;
+ blkid_loff_t off = 0;
+
+ if (id)
+ mag = &id->magics[0];
+ if (res)
+ *res = NULL;
+
+ /* try to detect by magic string */
+ while(mag && mag->magic) {
+ unsigned char *buf;
+
+ off = (mag->kboff + (mag->sboff >> 10)) << 10;
+ buf = blkid_probe_get_buffer(pr, off, 1024);
+
+ if (buf && !memcmp(mag->magic,
+ buf + (mag->sboff & 0x3ff), mag->len)) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "\tmagic sboff=%u, kboff=%ld\n",
+ mag->sboff, mag->kboff));
+ if (offset)
+ *offset = off + (mag->sboff & 0x3ff);
+ if (res)
+ *res = mag;
+ return 0;
+ }
+ mag++;
+ }
+
+ if (id && id->magics[0].magic)
+ /* magic string(s) defined, but not found */
+ return 1;
+
+ return 0;
+}
+
+static inline void blkid_probe_start(blkid_probe pr)
+{
+ if (pr) {
+ pr->cur_chain = NULL;
+ pr->prob_flags = 0;
+ blkid_probe_set_wiper(pr, 0, 0);
+ }
+}
+
+static inline void blkid_probe_end(blkid_probe pr)
+{
+ if (pr) {
+ pr->cur_chain = NULL;
+ pr->prob_flags = 0;
+ blkid_probe_set_wiper(pr, 0, 0);
+ }
+}
+
+/**
+ * blkid_do_probe:
+ * @pr: prober
+ *
+ * Calls probing functions in all enabled chains. The superblocks chain is
+ * enabled by default. The blkid_do_probe() stores result from only one
+ * probing function. It's necessary to call this routine in a loop to get
+ * results from all probing functions in all chains. The probing is reset
+ * by blkid_reset_probe() or by filter functions.
+ *
+ * This is string-based NAME=value interface only.
+ *
+ * <example>
+ * <title>basic case - use the first result only</title>
+ * <programlisting>
+ *
+ * if (blkid_do_probe(pr) == 0) {
+ * int nvals = blkid_probe_numof_values(pr);
+ * for (n = 0; n < nvals; n++) {
+ * if (blkid_probe_get_value(pr, n, &name, &data, &len) == 0)
+ * printf("%s = %s\n", name, data);
+ * }
+ * }
+ * </programlisting>
+ * </example>
+ *
+ * <example>
+ * <title>advanced case - probe for all signatures</title>
+ * <programlisting>
+ *
+ * while (blkid_do_probe(pr) == 0) {
+ * int nvals = blkid_probe_numof_values(pr);
+ * ...
+ * }
+ * </programlisting>
+ * </example>
+ *
+ * See also blkid_reset_probe().
+ *
+ * Returns: 0 on success, 1 when probing is done and -1 in case of error.
+ */
+int blkid_do_probe(blkid_probe pr)
+{
+ int rc = 1;
+
+ if (!pr)
+ return -1;
+
+ do {
+ struct blkid_chain *chn = pr->cur_chain;
+
+ if (!chn) {
+ blkid_probe_start(pr);
+ chn = pr->cur_chain = &pr->chains[0];
+ }
+ /* we go to the next chain only when the previous probing
+ * result was nothing (rc == 1) and when the current chain is
+ * disabled or we are at end of the current chain (chain->idx +
+ * 1 == sizeof chain) or the current chain bailed out right at
+ * the start (chain->idx == -1)
+ */
+ else if (rc == 1 && (chn->enabled == FALSE ||
+ chn->idx + 1 == (int) chn->driver->nidinfos ||
+ chn->idx == -1)) {
+
+ size_t idx = chn->driver->id + 1;
+
+ if (idx < BLKID_NCHAINS)
+ chn = pr->cur_chain = &pr->chains[idx];
+ else {
+ blkid_probe_end(pr);
+ return 1; /* all chains already probed */
+ }
+ }
+
+ chn->binary = FALSE; /* for sure... */
+
+ DBG(DEBUG_LOWPROBE, printf("chain probe %s %s (idx=%d)\n",
+ chn->driver->name,
+ chn->enabled? "ENABLED" : "DISABLED",
+ chn->idx));
+
+ if (!chn->enabled)
+ continue;
+
+ /* rc: -1 = error, 0 = success, 1 = no result */
+ rc = chn->driver->probe(pr, chn);
+
+ } while (rc == 1);
+
+ return rc;
+}
+
+/**
+ * blkid_do_wipe:
+ * @pr: prober
+ * @dryrun: if TRUE then don't touch the device.
+ *
+ * This function erases the current signature detected by @pr. The @pr has to
+ * be open in O_RDWR mode, BLKID_SUBLKS_MAGIC or/and BLKID_PARTS_MAGIC flags
+ * has to be enabled.
+ *
+ * After successful signature removing the @pr prober will be moved one step
+ * back and the next blkid_do_probe() call will again call previously called
+ * probing function.
+ *
+ * <example>
+ * <title>wipe all filesystems or raids from the device</title>
+ * <programlisting>
+ * fd = open(devname, O_RDWR);
+ * blkid_probe_set_device(pr, fd, 0, 0);
+ *
+ * blkid_probe_enable_superblocks(pr, 1);
+ * blkid_probe_set_superblocks_flags(pr, BLKID_SUBLKS_MAGIC);
+ *
+ * while (blkid_do_probe(pr) == 0)
+ * blkid_do_wipe(pr, FALSE);
+ * </programlisting>
+ * </example>
+ *
+ * Returns: 0 on success, 1 when probing is done and -1 in case of error.
+ */
+int blkid_do_wipe(blkid_probe pr, int dryrun)
+{
+ const char *off = NULL;
+ size_t len = 0;
+ loff_t offset, l;
+ char buf[BUFSIZ];
+ int fd, rc = 0;
+ struct blkid_chain *chn;
+
+ if (!pr)
+ return -1;
+
+ chn = pr->cur_chain;
+ if (!chn)
+ return -1;
+
+ switch (chn->driver->id) {
+ case BLKID_CHAIN_SUBLKS:
+ rc = blkid_probe_lookup_value(pr, "SBMAGIC_OFFSET", &off, NULL);
+ if (!rc)
+ rc = blkid_probe_lookup_value(pr, "SBMAGIC", NULL, &len);
+ break;
+ case BLKID_CHAIN_PARTS:
+ rc = blkid_probe_lookup_value(pr, "PTMAGIC_OFFSET", &off, NULL);
+ if (!rc)
+ rc = blkid_probe_lookup_value(pr, "PTMAGIC", NULL, &len);
+ break;
+ default:
+ return 0;
+ }
+
+ if (rc || len == 0 || off == NULL)
+ return 0;
+
+ offset = strtoll(off, NULL, 10);
+ fd = blkid_probe_get_fd(pr);
+ if (fd < 0)
+ return -1;
+
+ if (len > sizeof(buf))
+ len = sizeof(buf);
+
+ DBG(DEBUG_LOWPROBE, printf(
+ "do_wipe [offset=0x%jx, len=%zd, chain=%s, idx=%d, dryrun=%s]\n",
+ offset, len, chn->driver->name, chn->idx, dryrun ? "yes" : "not"));
+
+ l = lseek(fd, offset, SEEK_SET);
+ if (l == (off_t) -1)
+ return -1;
+
+ memset(buf, 0, len);
+
+ if (!dryrun && len) {
+ if (write_all(fd, buf, len))
+ return -1;
+ fsync(fd);
+
+ blkid_probe_reset_buffer(pr);
+
+ if (chn->idx >= 0) {
+ chn->idx--;
+ DBG(DEBUG_LOWPROBE,
+ printf("do_wipe: moving %s chain index to %d\n",
+ chn->driver->name,
+ chn->idx));
+ }
+ if (chn->idx == -1) {
+ /* blkid_do_probe() goes to the next chain if the index
+ * of the current chain is -1, so we have to set the
+ * chain pointer to the previos chain.
+ */
+ size_t idx = chn->driver->id > 0 ?
+ chn->driver->id - 1 : 0;
+
+ if (idx > 0)
+ pr->cur_chain = &pr->chains[idx];
+ else if (idx == 0)
+ pr->cur_chain = NULL;
+ }
+ }
+ return 0;
+}
+
+/**
+ * blkid_do_safeprobe:
+ * @pr: prober
+ *
+ * This function gathers probing results from all enabled chains and checks
+ * for ambivalent results (e.g. more filesystems on the device).
+ *
+ * This is string-based NAME=value interface only.
+ *
+ * Note about suberblocks chain -- the function does not check for filesystems
+ * when a RAID signature is detected. The function also does not check for
+ * collision between RAIDs. The first detected RAID is returned. The function
+ * checks for collision between partition table and RAID signature -- it's
+ * recommended to enable partitions chain together with superblocks chain.
+ *
+ * Returns: 0 on success, 1 if nothing is detected, -2 if ambivalen result is
+ * detected and -1 on case of error.
+ */
+int blkid_do_safeprobe(blkid_probe pr)
+{
+ int i, count = 0, rc = 0;
+
+ if (!pr)
+ return -1;
+
+ blkid_probe_start(pr);
+
+ for (i = 0; i < BLKID_NCHAINS; i++) {
+ struct blkid_chain *chn;
+
+ chn = pr->cur_chain = &pr->chains[i];
+ chn->binary = FALSE; /* for sure... */
+
+ DBG(DEBUG_LOWPROBE, printf("chain safeprobe %s %s\n",
+ chn->driver->name,
+ chn->enabled? "ENABLED" : "DISABLED"));
+
+ if (!chn->enabled)
+ continue;
+
+ blkid_probe_chain_reset_position(chn);
+
+ rc = chn->driver->safeprobe(pr, chn);
+
+ blkid_probe_chain_reset_position(chn);
+
+ /* rc: -2 ambivalent, -1 = error, 0 = success, 1 = no result */
+ if (rc < 0)
+ goto done; /* error */
+ if (rc == 0)
+ count++; /* success */
+ }
+
+done:
+ blkid_probe_end(pr);
+ if (rc < 0)
+ return rc;
+ return count ? 0 : 1;
+}
+
+/**
+ * blkid_do_fullprobe:
+ * @pr: prober
+ *
+ * This function gathers probing results from all enabled chains. Same as
+ * blkid_do_safeprobe() but does not check for collision between probing
+ * result.
+ *
+ * This is string-based NAME=value interface only.
+ *
+ * Returns: 0 on success, 1 if nothing is detected or -1 on case of error.
+ */
+int blkid_do_fullprobe(blkid_probe pr)
+{
+ int i, count = 0, rc = 0;
+
+ if (!pr)
+ return -1;
+
+ blkid_probe_start(pr);
+
+ for (i = 0; i < BLKID_NCHAINS; i++) {
+ struct blkid_chain *chn;
+
+ chn = pr->cur_chain = &pr->chains[i];
+ chn->binary = FALSE; /* for sure... */
+
+ DBG(DEBUG_LOWPROBE, printf("chain fullprobe %s: %s\n",
+ chn->driver->name,
+ chn->enabled? "ENABLED" : "DISABLED"));
+
+ if (!chn->enabled)
+ continue;
+
+ blkid_probe_chain_reset_position(chn);
+
+ rc = chn->driver->probe(pr, chn);
+
+ blkid_probe_chain_reset_position(chn);
+
+ /* rc: -1 = error, 0 = success, 1 = no result */
+ if (rc < 0)
+ goto done; /* error */
+ if (rc == 0)
+ count++; /* success */
+ }
+
+done:
+ blkid_probe_end(pr);
+ if (rc < 0)
+ return rc;
+ return count ? 0 : 1;
+}
+
+/* same sa blkid_probe_get_buffer() but works with 512-sectors */
+unsigned char *blkid_probe_get_sector(blkid_probe pr, unsigned int sector)
+{
+ return pr ? blkid_probe_get_buffer(pr,
+ ((blkid_loff_t) sector) << 9, 0x200) : NULL;
+}
+
+struct blkid_prval *blkid_probe_assign_value(
+ blkid_probe pr, const char *name)
+{
+ struct blkid_prval *v;
+
+ if (!name)
+ return NULL;
+ if (pr->nvals >= BLKID_NVALS)
+ return NULL;
+
+ v = &pr->vals[pr->nvals];
+ v->name = name;
+ v->chain = pr->cur_chain;
+ pr->nvals++;
+
+ DBG(DEBUG_LOWPROBE,
+ printf("assigning %s [%s]\n", name, v->chain->driver->name));
+ return v;
+}
+
+int blkid_probe_reset_last_value(blkid_probe pr)
+{
+ struct blkid_prval *v;
+
+ if (pr == NULL || pr->nvals == 0)
+ return -1;
+
+ v = &pr->vals[pr->nvals - 1];
+
+ DBG(DEBUG_LOWPROBE,
+ printf("un-assigning %s [%s]\n", v->name, v->chain->driver->name));
+
+ memset(v, 0, sizeof(struct blkid_prval));
+ pr->nvals--;
+
+ return 0;
+
+}
+
+int blkid_probe_set_value(blkid_probe pr, const char *name,
+ unsigned char *data, size_t len)
+{
+ struct blkid_prval *v;
+
+ if (len > BLKID_PROBVAL_BUFSIZ)
+ len = BLKID_PROBVAL_BUFSIZ;
+
+ v = blkid_probe_assign_value(pr, name);
+ if (!v)
+ return -1;
+
+ memcpy(v->data, data, len);
+ v->len = len;
+ return 0;
+}
+
+int blkid_probe_vsprintf_value(blkid_probe pr, const char *name,
+ const char *fmt, va_list ap)
+{
+ struct blkid_prval *v;
+ ssize_t len;
+
+ v = blkid_probe_assign_value(pr, name);
+ if (!v)
+ return -1;
+
+ len = vsnprintf((char *) v->data, sizeof(v->data), fmt, ap);
+
+ if (len <= 0 || (size_t) len >= sizeof(v->data)) {
+ blkid_probe_reset_last_value(pr);
+ return -1;
+ }
+ v->len = len + 1;
+ return 0;
+}
+
+int blkid_probe_sprintf_value(blkid_probe pr, const char *name,
+ const char *fmt, ...)
+{
+ int rc;
+ va_list ap;
+
+ va_start(ap, fmt);
+ rc = blkid_probe_vsprintf_value(pr, name, fmt, ap);
+ va_end(ap);
+
+ return rc;
+}
+
+int blkid_probe_set_magic(blkid_probe pr, blkid_loff_t offset,
+ size_t len, unsigned char *magic)
+{
+ int rc = 0;
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+
+ if (!chn || !magic || !len || chn->binary)
+ return 0;
+
+ switch (chn->driver->id) {
+ case BLKID_CHAIN_SUBLKS:
+ if (!(chn->flags & BLKID_SUBLKS_MAGIC))
+ return 0;
+ rc = blkid_probe_set_value(pr, "SBMAGIC", magic, len);
+ if (!rc)
+ rc = blkid_probe_sprintf_value(pr,
+ "SBMAGIC_OFFSET", "%llu", (unsigned long long)offset);
+ break;
+ case BLKID_CHAIN_PARTS:
+ if (!(chn->flags & BLKID_PARTS_MAGIC))
+ return 0;
+ rc = blkid_probe_set_value(pr, "PTMAGIC", magic, len);
+ if (!rc)
+ rc = blkid_probe_sprintf_value(pr,
+ "PTMAGIC_OFFSET", "%llu", (unsigned long long)offset);
+ break;
+ default:
+ break;
+ }
+
+ return rc;
+}
+
+/**
+ * blkid_probe_get_devno:
+ * @pr: probe
+ *
+ * Returns: block device number, or 0 for regular files.
+ */
+dev_t blkid_probe_get_devno(blkid_probe pr)
+{
+ return pr->devno;
+}
+
+/**
+ * blkid_probe_get_wholedisk_devno:
+ * @pr: probe
+ *
+ * Returns: device number of the wholedisk, or 0 for regular files.
+ */
+dev_t blkid_probe_get_wholedisk_devno(blkid_probe pr)
+{
+ if (!pr->disk_devno) {
+ dev_t devno, disk_devno = 0;
+
+ devno = blkid_probe_get_devno(pr);
+ if (!devno)
+ return 0;
+
+ if (blkid_devno_to_wholedisk(devno, NULL, 0, &disk_devno) == 0)
+ pr->disk_devno = disk_devno;
+ }
+ return pr->disk_devno;
+}
+
+/**
+ * blkid_probe_is_wholedisk:
+ * @pr: probe
+ *
+ * Returns: 1 if the device is whole-disk or 0.
+ */
+int blkid_probe_is_wholedisk(blkid_probe pr)
+{
+ dev_t devno, disk_devno;
+
+ devno = blkid_probe_get_devno(pr);
+ if (!devno)
+ return 0;
+
+ disk_devno = blkid_probe_get_wholedisk_devno(pr);
+ if (!disk_devno)
+ return 0;
+
+ return devno == disk_devno;
+}
+
+blkid_probe blkid_probe_get_wholedisk_probe(blkid_probe pr)
+{
+ dev_t disk;
+
+ if (blkid_probe_is_wholedisk(pr))
+ return NULL; /* this is not partition */
+
+ if (pr->parent)
+ /* this is cloned blkid_probe, use parent's stuff */
+ return blkid_probe_get_wholedisk_probe(pr->parent);
+
+ disk = blkid_probe_get_wholedisk_devno(pr);
+
+ if (pr->disk_probe && pr->disk_probe->devno != disk) {
+ /* we have disk prober, but for another disk... close it */
+ blkid_free_probe(pr->disk_probe);
+ pr->disk_probe = NULL;
+ }
+
+ if (!pr->disk_probe) {
+ /* Open a new disk prober */
+ char *disk_path = blkid_devno_to_devname(disk);
+
+ if (!disk_path)
+ return NULL;
+
+ DBG(DEBUG_LOWPROBE, printf("allocate a wholedisk probe\n"));
+
+ pr->disk_probe = blkid_new_probe_from_filename(disk_path);
+
+ free(disk_path);
+
+ if (!pr->disk_probe)
+ return NULL; /* ENOMEM? */
+ }
+
+ return pr->disk_probe;
+}
+
+/**
+ * blkid_probe_get_size:
+ * @pr: probe
+ *
+ * This function returns size of probing area as defined by blkid_probe_set_device().
+ * If the size of the probing area is unrestricted then this function returns
+ * the real size of device. See also blkid_get_dev_size().
+ *
+ * Returns: size in bytes or -1 in case of error.
+ */
+blkid_loff_t blkid_probe_get_size(blkid_probe pr)
+{
+ return pr ? pr->size : -1;
+}
+
+/**
+ * blkid_probe_get_offset:
+ * @pr: probe
+ *
+ * This function returns offset of probing area as defined by blkid_probe_set_device().
+ *
+ * Returns: offset in bytes or -1 in case of error.
+ */
+blkid_loff_t blkid_probe_get_offset(blkid_probe pr)
+{
+ return pr ? pr->off : -1;
+}
+
+/**
+ * blkid_probe_get_fd:
+ * @pr: probe
+ *
+ * Returns: file descriptor for assigned device/file.
+ */
+int blkid_probe_get_fd(blkid_probe pr)
+{
+ return pr ? pr->fd : -1;
+}
+
+/**
+ * blkid_probe_get_sectorsize:
+ * @pr: probe or NULL (for NULL returns 512)
+ *
+ * Returns: block device logical sector size (BLKSSZGET ioctl, default 512).
+ */
+unsigned int blkid_probe_get_sectorsize(blkid_probe pr)
+{
+ if (!pr)
+ return DEFAULT_SECTOR_SIZE; /*... and good luck! */
+
+ if (pr->blkssz)
+ return pr->blkssz;
+
+ if (S_ISBLK(pr->mode) &&
+ blkdev_get_sector_size(pr->fd, (int *) &pr->blkssz) == 0)
+ return pr->blkssz;
+
+ pr->blkssz = DEFAULT_SECTOR_SIZE;
+ return pr->blkssz;
+}
+
+/**
+ * blkid_probe_get_sectors:
+ * @pr: probe
+ *
+ * Returns: 512-byte sector count or -1 in case of error.
+ */
+blkid_loff_t blkid_probe_get_sectors(blkid_probe pr)
+{
+ return pr ? pr->size >> 9 : -1;
+}
+
+/**
+ * blkid_probe_numof_values:
+ * @pr: probe
+ *
+ * Returns: number of values in probing result or -1 in case of error.
+ */
+int blkid_probe_numof_values(blkid_probe pr)
+{
+ if (!pr)
+ return -1;
+ return pr->nvals;
+}
+
+/**
+ * blkid_probe_get_value:
+ * @pr: probe
+ * @num: wanted value in range 0..N, where N is blkid_probe_numof_values() - 1
+ * @name: pointer to return value name or NULL
+ * @data: pointer to return value data or NULL
+ * @len: pointer to return value length or NULL
+ *
+ * Note, the @len returns length of the @data, including the terminating
+ * '\0' character.
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_get_value(blkid_probe pr, int num, const char **name,
+ const char **data, size_t *len)
+{
+ struct blkid_prval *v = __blkid_probe_get_value(pr, num);
+
+ if (!v)
+ return -1;
+ if (name)
+ *name = v->name;
+ if (data)
+ *data = (char *) v->data;
+ if (len)
+ *len = v->len;
+
+ DBG(DEBUG_LOWPROBE, printf("returning %s value\n", v->name));
+ return 0;
+}
+
+/**
+ * blkid_probe_lookup_value:
+ * @pr: probe
+ * @name: name of value
+ * @data: pointer to return value data or NULL
+ * @len: pointer to return value length or NULL
+ *
+ * Note, the @len returns length of the @data, including the terminating
+ * '\0' character.
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_lookup_value(blkid_probe pr, const char *name,
+ const char **data, size_t *len)
+{
+ struct blkid_prval *v = __blkid_probe_lookup_value(pr, name);
+
+ if (!v)
+ return -1;
+ if (data)
+ *data = (char *) v->data;
+ if (len)
+ *len = v->len;
+ return 0;
+}
+
+/**
+ * blkid_probe_has_value:
+ * @pr: probe
+ * @name: name of value
+ *
+ * Returns: 1 if value exist in probing result, otherwise 0.
+ */
+int blkid_probe_has_value(blkid_probe pr, const char *name)
+{
+ if (blkid_probe_lookup_value(pr, name, NULL, NULL) == 0)
+ return 1;
+ return 0;
+}
+
+struct blkid_prval *__blkid_probe_get_value(blkid_probe pr, int num)
+{
+ if (pr == NULL || num < 0 || num >= pr->nvals)
+ return NULL;
+
+ return &pr->vals[num];
+}
+
+struct blkid_prval *__blkid_probe_lookup_value(blkid_probe pr, const char *name)
+{
+ int i;
+
+ if (pr == NULL || pr->nvals == 0 || name == NULL)
+ return NULL;
+
+ for (i = 0; i < pr->nvals; i++) {
+ struct blkid_prval *v = &pr->vals[i];
+
+ if (v->name && strcmp(name, v->name) == 0) {
+ DBG(DEBUG_LOWPROBE, printf("returning %s value\n", v->name));
+ return v;
+ }
+ }
+ return NULL;
+}
+
+
+/* converts DCE UUID (uuid[16]) to human readable string
+ * - the @len should be always 37 */
+#ifdef HAVE_LIBUUID
+void blkid_unparse_uuid(const unsigned char *uuid, char *str,
+ size_t len __attribute__((__unused__)))
+{
+ uuid_unparse(uuid, str);
+}
+#else
+void blkid_unparse_uuid(const unsigned char *uuid, char *str, size_t len)
+{
+ snprintf(str, len,
+ "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+ uuid[0], uuid[1], uuid[2], uuid[3],
+ uuid[4], uuid[5],
+ uuid[6], uuid[7],
+ uuid[8], uuid[9],
+ uuid[10], uuid[11], uuid[12], uuid[13], uuid[14],uuid[15]);
+}
+#endif
+
+
+/* Removes whitespace from the right-hand side of a string (trailing
+ * whitespace).
+ *
+ * Returns size of the new string (without \0).
+ */
+size_t blkid_rtrim_whitespace(unsigned char *str)
+{
+ size_t i = strlen((char *) str);
+
+ while (i--) {
+ if (!isspace(str[i]))
+ break;
+ }
+ str[++i] = '\0';
+ return i;
+}
+
+/*
+ * Some mkfs-like utils wipe some parts (usually begin) of the device.
+ * For example LVM (pvcreate) or mkswap(8). This information could be used
+ * for later resolution to conflicts between superblocks.
+ *
+ * For example we found valid LVM superblock, LVM wipes 8KiB at the begin of
+ * the device. If we found another signature (for example MBR) within the
+ * wiped area then the signature has been added later and LVM superblock
+ * should be ignore.
+ *
+ * Note that this heuristic is not 100% reliable, for example "pvcreate --zero
+ * n" allows to keep the begin of the device unmodified. It's probably better
+ * to use this heuristic for conflicts between superblocks and partition tables
+ * than for conflicts between filesystem superblocks -- existence of unwanted
+ * partition table is very unusual, because PT is pretty visible (parsed and
+ * interpreted by kernel).
+ *
+ * Note that we usually expect only one signature on the device, it means that
+ * we have to remember only one wiped area from previously successfully
+ * detected signature.
+ *
+ * blkid_probe_set_wiper() -- defines wiped area (e.g. LVM)
+ * blkid_probe_use_wiper() -- try to use area (e.g. MBR)
+ *
+ * Note that there is not relation between _wiper and blkid_to_wipe().
+ *
+ */
+void blkid_probe_set_wiper(blkid_probe pr, blkid_loff_t off, blkid_loff_t size)
+{
+ struct blkid_chain *chn;
+
+ if (!pr)
+ return;
+
+ if (!size) {
+ DBG(DEBUG_LOWPROBE, printf("zeroize wiper\n"));
+ pr->wipe_size = pr->wipe_off = 0;
+ pr->wipe_chain = NULL;
+ return;
+ }
+
+ chn = pr->cur_chain;
+
+ if (!chn || !chn->driver ||
+ chn->idx < 0 || (size_t) chn->idx >= chn->driver->nidinfos)
+ return;
+
+ pr->wipe_size = size;
+ pr->wipe_off = off;
+ pr->wipe_chain = chn;
+
+ DBG(DEBUG_LOWPROBE,
+ printf("wiper set to %s::%s off=%jd size=%jd\n",
+ chn->driver->name,
+ chn->driver->idinfos[chn->idx]->name,
+ pr->wipe_off, pr->wipe_size));
+ return;
+}
+
+/*
+ * Returns 1 if the <@off,@size> area was wiped
+ */
+int blkid_probe_is_wiped(blkid_probe pr, struct blkid_chain **chn,
+ blkid_loff_t off, blkid_loff_t size)
+{
+ if (!pr || !size)
+ return 0;
+
+ if (pr->wipe_off <= off && off + size <= pr->wipe_off + pr->wipe_size) {
+ if (chn)
+ *chn = pr->wipe_chain;
+ return 1;
+ }
+ return 0;
+}
+
+/*
+ * Try to use any area -- if the area has been previously wiped then the
+ * previous probing result should be ignored (reseted).
+ */
+void blkid_probe_use_wiper(blkid_probe pr, blkid_loff_t off, blkid_loff_t size)
+{
+ struct blkid_chain *chn = NULL;
+
+ if (blkid_probe_is_wiped(pr, &chn, off, size) && chn) {
+ DBG(DEBUG_LOWPROBE, printf("previously wiped area modified "
+ " -- ignore previous results\n"));
+ blkid_probe_set_wiper(pr, 0, 0);
+ blkid_probe_chain_reset_vals(pr, chn);
+ }
+}
+
diff --git a/libblkid/src/read.c b/libblkid/src/read.c
new file mode 100644
index 0000000..60d13db
--- /dev/null
+++ b/libblkid/src/read.c
@@ -0,0 +1,500 @@
+/*
+ * read.c - read the blkid cache from disk, to avoid scanning all devices
+ *
+ * Copyright (C) 2001, 2003 Theodore Y. Ts'o
+ * Copyright (C) 2001 Andreas Dilger
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include <time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+#include "blkidP.h"
+
+#ifdef HAVE_STDLIB_H
+# ifndef _XOPEN_SOURCE
+# define _XOPEN_SOURCE 600 /* for inclusion of strtoull */
+# endif
+# include <stdlib.h>
+#endif
+
+#ifdef HAVE_STRTOULL
+#define STRTOULL strtoull /* defined in stdlib.h if you try hard enough */
+#else
+/* FIXME: need to support real strtoull here */
+#define STRTOULL strtoul
+#endif
+
+#ifdef TEST_PROGRAM
+#define blkid_debug_dump_dev(dev) (debug_dump_dev(dev))
+static void debug_dump_dev(blkid_dev dev);
+#endif
+
+/*
+ * File format:
+ *
+ * <device [<NAME="value"> ...]>device_name</device>
+ *
+ * The following tags are required for each entry:
+ * <ID="id"> unique (within this file) ID number of this device
+ * <TIME="sec.usec"> (time_t and suseconds_t) time this entry was last
+ * read from disk
+ * <TYPE="type"> (detected) type of filesystem/data for this partition
+ *
+ * The following tags may be present, depending on the device contents
+ * <LABEL="label"> (user supplied) label (volume name, etc)
+ * <UUID="uuid"> (generated) universally unique identifier (serial no)
+ */
+
+static char *skip_over_blank(char *cp)
+{
+ while (*cp && isspace(*cp))
+ cp++;
+ return cp;
+}
+
+static char *skip_over_word(char *cp)
+{
+ char ch;
+
+ while ((ch = *cp)) {
+ /* If we see a backslash, skip the next character */
+ if (ch == '\\') {
+ cp++;
+ if (*cp == '\0')
+ break;
+ cp++;
+ continue;
+ }
+ if (isspace(ch) || ch == '<' || ch == '>')
+ break;
+ cp++;
+ }
+ return cp;
+}
+
+static char *strip_line(char *line)
+{
+ char *p;
+
+ line = skip_over_blank(line);
+
+ p = line + strlen(line) - 1;
+
+ while (*line) {
+ if (isspace(*p))
+ *p-- = '\0';
+ else
+ break;
+ }
+
+ return line;
+}
+
+#if 0
+static char *parse_word(char **buf)
+{
+ char *word, *next;
+
+ word = *buf;
+ if (*word == '\0')
+ return NULL;
+
+ word = skip_over_blank(word);
+ next = skip_over_word(word);
+ if (*next) {
+ char *end = next - 1;
+ if (*end == '"' || *end == '\'')
+ *end = '\0';
+ *next++ = '\0';
+ }
+ *buf = next;
+
+ if (*word == '"' || *word == '\'')
+ word++;
+ return word;
+}
+#endif
+
+/*
+ * Start parsing a new line from the cache.
+ *
+ * line starts with "<device" return 1 -> continue parsing line
+ * line starts with "<foo", empty, or # return 0 -> skip line
+ * line starts with other, return -BLKID_ERR_CACHE -> error
+ */
+static int parse_start(char **cp)
+{
+ char *p;
+
+ p = strip_line(*cp);
+
+ /* Skip comment or blank lines. We can't just NUL the first '#' char,
+ * in case it is inside quotes, or escaped.
+ */
+ if (*p == '\0' || *p == '#')
+ return 0;
+
+ if (!strncmp(p, "<device", 7)) {
+ DBG(DEBUG_READ, printf("found device header: %8s\n", p));
+ p += 7;
+
+ *cp = p;
+ return 1;
+ }
+
+ if (*p == '<')
+ return 0;
+
+ return -BLKID_ERR_CACHE;
+}
+
+/* Consume the remaining XML on the line (cosmetic only) */
+static int parse_end(char **cp)
+{
+ *cp = skip_over_blank(*cp);
+
+ if (!strncmp(*cp, "</device>", 9)) {
+ DBG(DEBUG_READ, printf("found device trailer %9s\n", *cp));
+ *cp += 9;
+ return 0;
+ }
+
+ return -BLKID_ERR_CACHE;
+}
+
+/*
+ * Allocate a new device struct with device name filled in. Will handle
+ * finding the device on lines of the form:
+ * <device foo=bar>devname</device>
+ * <device>devname<foo>bar</foo></device>
+ */
+static int parse_dev(blkid_cache cache, blkid_dev *dev, char **cp)
+{
+ char *start, *tmp, *end, *name;
+ int ret;
+
+ if ((ret = parse_start(cp)) <= 0)
+ return ret;
+
+ start = tmp = strchr(*cp, '>');
+ if (!start) {
+ DBG(DEBUG_READ,
+ printf("blkid: short line parsing dev: %s\n", *cp));
+ return -BLKID_ERR_CACHE;
+ }
+ start = skip_over_blank(start + 1);
+ end = skip_over_word(start);
+
+ DBG(DEBUG_READ, printf("device should be %*s\n",
+ (int)(end - start), start));
+
+ if (**cp == '>')
+ *cp = end;
+ else
+ (*cp)++;
+
+ *tmp = '\0';
+
+ if (!(tmp = strrchr(end, '<')) || parse_end(&tmp) < 0) {
+ DBG(DEBUG_READ,
+ printf("blkid: missing </device> ending: %s\n", end));
+ } else if (tmp)
+ *tmp = '\0';
+
+ if (end - start <= 1) {
+ DBG(DEBUG_READ, printf("blkid: empty device name: %s\n", *cp));
+ return -BLKID_ERR_CACHE;
+ }
+
+ name = blkid_strndup(start, end-start);
+ if (name == NULL)
+ return -BLKID_ERR_MEM;
+
+ DBG(DEBUG_READ, printf("found dev %s\n", name));
+
+ if (!(*dev = blkid_get_dev(cache, name, BLKID_DEV_CREATE))) {
+ free(name);
+ return -BLKID_ERR_MEM;
+ }
+
+ free(name);
+ return 1;
+}
+
+/*
+ * Extract a tag of the form NAME="value" from the line.
+ */
+static int parse_token(char **name, char **value, char **cp)
+{
+ char *end;
+
+ if (!name || !value || !cp)
+ return -BLKID_ERR_PARAM;
+
+ if (!(*value = strchr(*cp, '=')))
+ return 0;
+
+ **value = '\0';
+ *name = strip_line(*cp);
+ *value = skip_over_blank(*value + 1);
+
+ if (**value == '"') {
+ end = strchr(*value + 1, '"');
+ if (!end) {
+ DBG(DEBUG_READ,
+ printf("unbalanced quotes at: %s\n", *value));
+ *cp = *value;
+ return -BLKID_ERR_CACHE;
+ }
+ (*value)++;
+ *end = '\0';
+ end++;
+ } else {
+ end = skip_over_word(*value);
+ if (*end) {
+ *end = '\0';
+ end++;
+ }
+ }
+ *cp = end;
+
+ return 1;
+}
+
+/*
+ * Extract a tag of the form <NAME>value</NAME> from the line.
+ */
+/*
+static int parse_xml(char **name, char **value, char **cp)
+{
+ char *end;
+
+ if (!name || !value || !cp)
+ return -BLKID_ERR_PARAM;
+
+ *name = strip_line(*cp);
+
+ if ((*name)[0] != '<' || (*name)[1] == '/')
+ return 0;
+
+ FIXME: finish this.
+}
+*/
+
+/*
+ * Extract a tag from the line.
+ *
+ * Return 1 if a valid tag was found.
+ * Return 0 if no tag found.
+ * Return -ve error code.
+ */
+static int parse_tag(blkid_cache cache, blkid_dev dev, char **cp)
+{
+ char *name = NULL;
+ char *value = NULL;
+ int ret;
+
+ if (!cache || !dev)
+ return -BLKID_ERR_PARAM;
+
+ if ((ret = parse_token(&name, &value, cp)) <= 0 /* &&
+ (ret = parse_xml(&name, &value, cp)) <= 0 */)
+ return ret;
+
+ /* Some tags are stored directly in the device struct */
+ if (!strcmp(name, "DEVNO"))
+ dev->bid_devno = STRTOULL(value, 0, 0);
+ else if (!strcmp(name, "PRI"))
+ dev->bid_pri = strtol(value, 0, 0);
+ else if (!strcmp(name, "TIME")) {
+ char *end = NULL;
+ dev->bid_time = STRTOULL(value, &end, 0);
+ if (end && *end == '.')
+ dev->bid_utime = STRTOULL(end + 1, 0, 0);
+ } else
+ ret = blkid_set_tag(dev, name, value, strlen(value));
+
+ DBG(DEBUG_READ, printf(" tag: %s=\"%s\"\n", name, value));
+
+ return ret < 0 ? ret : 1;
+}
+
+/*
+ * Parse a single line of data, and return a newly allocated dev struct.
+ * Add the new device to the cache struct, if one was read.
+ *
+ * Lines are of the form <device [TAG="value" ...]>/dev/foo</device>
+ *
+ * Returns -ve value on error.
+ * Returns 0 otherwise.
+ * If a valid device was read, *dev_p is non-NULL, otherwise it is NULL
+ * (e.g. comment lines, unknown XML content, etc).
+ */
+static int blkid_parse_line(blkid_cache cache, blkid_dev *dev_p, char *cp)
+{
+ blkid_dev dev;
+ int ret;
+
+ if (!cache || !dev_p)
+ return -BLKID_ERR_PARAM;
+
+ *dev_p = NULL;
+
+ DBG(DEBUG_READ, printf("line: %s\n", cp));
+
+ if ((ret = parse_dev(cache, dev_p, &cp)) <= 0)
+ return ret;
+
+ dev = *dev_p;
+
+ while ((ret = parse_tag(cache, dev, &cp)) > 0) {
+ ;
+ }
+
+ if (dev->bid_type == NULL) {
+ DBG(DEBUG_READ,
+ printf("blkid: device %s has no TYPE\n",dev->bid_name));
+ blkid_free_dev(dev);
+ goto done;
+ }
+
+ DBG(DEBUG_READ, blkid_debug_dump_dev(dev));
+
+done:
+ return ret;
+}
+
+/*
+ * Parse the specified filename, and return the data in the supplied or
+ * a newly allocated cache struct. If the file doesn't exist, return a
+ * new empty cache struct.
+ */
+void blkid_read_cache(blkid_cache cache)
+{
+ FILE *file;
+ char buf[4096];
+ int fd, lineno = 0;
+ struct stat st;
+
+ if (!cache)
+ return;
+
+ /*
+ * If the file doesn't exist, then we just return an empty
+ * struct so that the cache can be populated.
+ */
+ if ((fd = open(cache->bic_filename, O_RDONLY)) < 0)
+ return;
+ if (fstat(fd, &st) < 0)
+ goto errout;
+ if ((st.st_mtime == cache->bic_ftime) ||
+ (cache->bic_flags & BLKID_BIC_FL_CHANGED)) {
+ DBG(DEBUG_CACHE, printf("skipping re-read of %s\n",
+ cache->bic_filename));
+ goto errout;
+ }
+
+ DBG(DEBUG_CACHE, printf("reading cache file %s\n",
+ cache->bic_filename));
+
+ file = fdopen(fd, "r");
+ if (!file)
+ goto errout;
+
+ while (fgets(buf, sizeof(buf), file)) {
+ blkid_dev dev;
+ unsigned int end;
+
+ lineno++;
+ if (buf[0] == 0)
+ continue;
+ end = strlen(buf) - 1;
+ /* Continue reading next line if it ends with a backslash */
+ while (end < (sizeof(buf) - 2) && buf[end] == '\\' &&
+ fgets(buf + end, sizeof(buf) - end, file)) {
+ end = strlen(buf) - 1;
+ lineno++;
+ }
+
+ if (blkid_parse_line(cache, &dev, buf) < 0) {
+ DBG(DEBUG_READ,
+ printf("blkid: bad format on line %d\n", lineno));
+ continue;
+ }
+ }
+ fclose(file);
+
+ /*
+ * Initially we do not need to write out the cache file.
+ */
+ cache->bic_flags &= ~BLKID_BIC_FL_CHANGED;
+ cache->bic_ftime = st.st_mtime;
+
+ return;
+errout:
+ close(fd);
+ return;
+}
+
+#ifdef TEST_PROGRAM
+static void debug_dump_dev(blkid_dev dev)
+{
+ struct list_head *p;
+
+ if (!dev) {
+ printf(" dev: NULL\n");
+ return;
+ }
+
+ printf(" dev: name = %s\n", dev->bid_name);
+ printf(" dev: DEVNO=\"0x%0llx\"\n", (long long)dev->bid_devno);
+ printf(" dev: TIME=\"%ld.%ld\"\n", (long)dev->bid_time, (long)dev->bid_utime);
+ printf(" dev: PRI=\"%d\"\n", dev->bid_pri);
+ printf(" dev: flags = 0x%08X\n", dev->bid_flags);
+
+ list_for_each(p, &dev->bid_tags) {
+ blkid_tag tag = list_entry(p, struct blkid_struct_tag, bit_tags);
+ if (tag)
+ printf(" tag: %s=\"%s\"\n", tag->bit_name,
+ tag->bit_val);
+ else
+ printf(" tag: NULL\n");
+ }
+ printf("\n");
+}
+
+int main(int argc, char**argv)
+{
+ blkid_cache cache = NULL;
+ int ret;
+
+ blkid_init_debug(DEBUG_ALL);
+ if (argc > 2) {
+ fprintf(stderr, "Usage: %s [filename]\n"
+ "Test parsing of the cache (filename)\n", argv[0]);
+ exit(1);
+ }
+ if ((ret = blkid_get_cache(&cache, argv[1])) < 0)
+ fprintf(stderr, "error %d reading cache file %s\n", ret,
+ argv[1] ? argv[1] : blkid_get_cache_filename(NULL));
+
+ blkid_put_cache(cache);
+
+ return ret;
+}
+#endif
diff --git a/libblkid/src/resolve.c b/libblkid/src/resolve.c
new file mode 100644
index 0000000..bf5041d
--- /dev/null
+++ b/libblkid/src/resolve.c
@@ -0,0 +1,139 @@
+/*
+ * resolve.c - resolve names and tags into specific devices
+ *
+ * Copyright (C) 2001, 2003 Theodore Ts'o.
+ * Copyright (C) 2001 Andreas Dilger
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#include <stdio.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#include <fcntl.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "blkidP.h"
+
+/*
+ * Find a tagname (e.g. LABEL or UUID) on a specific device.
+ */
+char *blkid_get_tag_value(blkid_cache cache, const char *tagname,
+ const char *devname)
+{
+ blkid_tag found;
+ blkid_dev dev;
+ blkid_cache c = cache;
+ char *ret = NULL;
+
+ DBG(DEBUG_RESOLVE, printf("looking for %s on %s\n", tagname, devname));
+
+ if (!devname)
+ return NULL;
+
+ if (!cache) {
+ if (blkid_get_cache(&c, NULL) < 0)
+ return NULL;
+ }
+
+ if ((dev = blkid_get_dev(c, devname, BLKID_DEV_NORMAL)) &&
+ (found = blkid_find_tag_dev(dev, tagname)))
+ ret = blkid_strdup(found->bit_val);
+
+ if (!cache)
+ blkid_put_cache(c);
+
+ return ret;
+}
+
+/*
+ * Locate a device name from a token (NAME=value string), or (name, value)
+ * pair. In the case of a token, value is ignored. If the "token" is not
+ * of the form "NAME=value" and there is no value given, then it is assumed
+ * to be the actual devname and a copy is returned.
+ */
+char *blkid_get_devname(blkid_cache cache, const char *token,
+ const char *value)
+{
+ blkid_dev dev;
+ blkid_cache c = cache;
+ char *t = 0, *v = 0;
+ char *ret = NULL;
+
+ if (!token)
+ return NULL;
+
+ if (!cache) {
+ if (blkid_get_cache(&c, NULL) < 0)
+ return NULL;
+ }
+
+ DBG(DEBUG_RESOLVE,
+ printf("looking for %s%s%s %s\n", token, value ? "=" : "",
+ value ? value : "", cache ? "in cache" : "from disk"));
+
+ if (!value) {
+ if (!strchr(token, '=')) {
+ ret = blkid_strdup(token);
+ goto out;
+ }
+ blkid_parse_tag_string(token, &t, &v);
+ if (!t || !v)
+ goto out;
+ token = t;
+ value = v;
+ }
+
+ dev = blkid_find_dev_with_tag(c, token, value);
+ if (!dev)
+ goto out;
+
+ ret = blkid_strdup(blkid_dev_devname(dev));
+
+out:
+ free(t);
+ free(v);
+ if (!cache) {
+ blkid_put_cache(c);
+ }
+ return (ret);
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char **argv)
+{
+ char *value;
+ blkid_cache cache;
+
+ blkid_init_debug(DEBUG_ALL);
+ if (argc != 2 && argc != 3) {
+ fprintf(stderr, "Usage:\t%s tagname=value\n"
+ "\t%s tagname devname\n"
+ "Find which device holds a given token or\n"
+ "Find what the value of a tag is in a device\n",
+ argv[0], argv[0]);
+ exit(1);
+ }
+ if (blkid_get_cache(&cache, "/dev/null") < 0) {
+ fprintf(stderr, "Couldn't get blkid cache\n");
+ exit(1);
+ }
+
+ if (argv[2]) {
+ value = blkid_get_tag_value(cache, argv[1], argv[2]);
+ printf("%s has tag %s=%s\n", argv[2], argv[1],
+ value ? value : "<missing>");
+ } else {
+ value = blkid_get_devname(cache, argv[1], NULL);
+ printf("%s has tag %s\n", value ? value : "<none>", argv[1]);
+ }
+ blkid_put_cache(cache);
+ return value ? 0 : 1;
+}
+#endif
diff --git a/libblkid/src/save.c b/libblkid/src/save.c
new file mode 100644
index 0000000..f0008ae
--- /dev/null
+++ b/libblkid/src/save.c
@@ -0,0 +1,219 @@
+/*
+ * save.c - write the cache struct to disk
+ *
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2003 Theodore Ts'o
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include "blkidP.h"
+
+static int save_dev(blkid_dev dev, FILE *file)
+{
+ struct list_head *p;
+
+ if (!dev || dev->bid_name[0] != '/')
+ return 0;
+
+ DBG(DEBUG_SAVE,
+ printf("device %s, type %s\n", dev->bid_name, dev->bid_type ?
+ dev->bid_type : "(null)"));
+
+ fprintf(file, "<device DEVNO=\"0x%04lx\" TIME=\"%ld.%ld\"",
+ (unsigned long) dev->bid_devno,
+ (long) dev->bid_time,
+ (long) dev->bid_utime);
+
+ if (dev->bid_pri)
+ fprintf(file, " PRI=\"%d\"", dev->bid_pri);
+ list_for_each(p, &dev->bid_tags) {
+ blkid_tag tag = list_entry(p, struct blkid_struct_tag, bit_tags);
+ fprintf(file, " %s=\"%s\"", tag->bit_name,tag->bit_val);
+ }
+ fprintf(file, ">%s</device>\n", dev->bid_name);
+
+ return 0;
+}
+
+/*
+ * Write out the cache struct to the cache file on disk.
+ */
+int blkid_flush_cache(blkid_cache cache)
+{
+ struct list_head *p;
+ char *tmp = NULL;
+ char *opened = NULL;
+ char *filename;
+ FILE *file = NULL;
+ int fd, ret = 0;
+ struct stat st;
+
+ if (!cache)
+ return -BLKID_ERR_PARAM;
+
+ if (list_empty(&cache->bic_devs) ||
+ !(cache->bic_flags & BLKID_BIC_FL_CHANGED)) {
+ DBG(DEBUG_SAVE, printf("skipping cache file write\n"));
+ return 0;
+ }
+
+ filename = cache->bic_filename ? cache->bic_filename :
+ blkid_get_cache_filename(NULL);
+ if (!filename)
+ return -BLKID_ERR_PARAM;
+
+ if (strncmp(filename,
+ BLKID_RUNTIME_DIR "/", sizeof(BLKID_RUNTIME_DIR)) == 0) {
+
+ /* default destination, create the directory if necessary */
+ if (stat(BLKID_RUNTIME_DIR, &st) && errno == ENOENT) {
+
+ mkdir(BLKID_RUNTIME_DIR, S_IWUSR|
+ S_IRUSR|S_IRGRP|S_IROTH|
+ S_IXUSR|S_IXGRP|S_IXOTH);
+ }
+ }
+
+ /* If we can't write to the cache file, then don't even try */
+ if (((ret = stat(filename, &st)) < 0 && errno != ENOENT) ||
+ (ret == 0 && access(filename, W_OK) < 0)) {
+ DBG(DEBUG_SAVE,
+ printf("can't write to cache file %s\n", filename));
+ return 0;
+ }
+
+ /*
+ * Try and create a temporary file in the same directory so
+ * that in case of error we don't overwrite the cache file.
+ * If the cache file doesn't yet exist, it isn't a regular
+ * file (e.g. /dev/null or a socket), or we couldn't create
+ * a temporary file then we open it directly.
+ */
+ if (ret == 0 && S_ISREG(st.st_mode)) {
+ tmp = malloc(strlen(filename) + 8);
+ if (tmp) {
+ sprintf(tmp, "%s-XXXXXX", filename);
+ fd = mkstemp(tmp);
+ if (fd >= 0) {
+ file = fdopen(fd, "w");
+ opened = tmp;
+ }
+ fchmod(fd, 0644);
+ }
+ }
+
+ if (!file) {
+ file = fopen(filename, "w");
+ opened = filename;
+ }
+
+ DBG(DEBUG_SAVE,
+ printf("writing cache file %s (really %s)\n",
+ filename, opened));
+
+ if (!file) {
+ ret = errno;
+ goto errout;
+ }
+
+ list_for_each(p, &cache->bic_devs) {
+ blkid_dev dev = list_entry(p, struct blkid_struct_dev, bid_devs);
+ if (!dev->bid_type || (dev->bid_flags & BLKID_BID_FL_REMOVABLE))
+ continue;
+ if ((ret = save_dev(dev, file)) < 0)
+ break;
+ }
+
+ if (ret >= 0) {
+ cache->bic_flags &= ~BLKID_BIC_FL_CHANGED;
+ ret = 1;
+ }
+
+ fclose(file);
+ if (opened != filename) {
+ if (ret < 0) {
+ unlink(opened);
+ DBG(DEBUG_SAVE,
+ printf("unlinked temp cache %s\n", opened));
+ } else {
+ char *backup;
+
+ backup = malloc(strlen(filename) + 5);
+ if (backup) {
+ sprintf(backup, "%s.old", filename);
+ unlink(backup);
+ if (link(filename, backup)) {
+ DBG(DEBUG_SAVE,
+ printf("can't link %s to %s\n",
+ filename, backup));
+ }
+ free(backup);
+ }
+ if (rename(opened, filename)) {
+ ret = errno;
+ DBG(DEBUG_SAVE,
+ printf("can't rename %s to %s\n",
+ opened, filename));
+ } else {
+ DBG(DEBUG_SAVE,
+ printf("moved temp cache %s\n", opened));
+ }
+ }
+ }
+
+errout:
+ free(tmp);
+ if (filename != cache->bic_filename)
+ free(filename);
+ return ret;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char **argv)
+{
+ blkid_cache cache = NULL;
+ int ret;
+
+ blkid_init_debug(DEBUG_ALL);
+ if (argc > 2) {
+ fprintf(stderr, "Usage: %s [filename]\n"
+ "Test loading/saving a cache (filename)\n", argv[0]);
+ exit(1);
+ }
+
+ if ((ret = blkid_get_cache(&cache, "/dev/null")) != 0) {
+ fprintf(stderr, "%s: error creating cache (%d)\n",
+ argv[0], ret);
+ exit(1);
+ }
+ if ((ret = blkid_probe_all(cache)) < 0) {
+ fprintf(stderr, "error (%d) probing devices\n", ret);
+ exit(1);
+ }
+ cache->bic_filename = blkid_strdup(argv[1]);
+
+ if ((ret = blkid_flush_cache(cache)) < 0) {
+ fprintf(stderr, "error (%d) saving cache\n", ret);
+ exit(1);
+ }
+
+ blkid_put_cache(cache);
+
+ return ret;
+}
+#endif
diff --git a/libblkid/src/superblocks/adaptec_raid.c b/libblkid/src/superblocks/adaptec_raid.c
new file mode 100644
index 0000000..02e900d
--- /dev/null
+++ b/libblkid/src/superblocks/adaptec_raid.c
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct adaptec_metadata {
+
+ uint32_t b0idcode;
+ uint8_t lunsave[8];
+ uint16_t sdtype;
+ uint16_t ssavecyl;
+ uint8_t ssavehed;
+ uint8_t ssavesec;
+ uint8_t sb0flags;
+ uint8_t jbodEnable;
+ uint8_t lundsave;
+ uint8_t svpdirty;
+ uint16_t biosInfo;
+ uint16_t svwbskip;
+ uint16_t svwbcln;
+ uint16_t svwbmax;
+ uint16_t res3;
+ uint16_t svwbmin;
+ uint16_t res4;
+ uint16_t svrcacth;
+ uint16_t svwcacth;
+ uint16_t svwbdly;
+ uint8_t svsdtime;
+ uint8_t res5;
+ uint16_t firmval;
+ uint16_t firmbln;
+ uint32_t firmblk;
+ uint32_t fstrsvrb;
+ uint16_t svBlockStorageTid;
+ uint16_t svtid;
+ uint8_t svseccfl;
+ uint8_t res6;
+ uint8_t svhbanum;
+ uint8_t resver;
+ uint32_t drivemagic;
+ uint8_t reserved[20];
+ uint8_t testnum;
+ uint8_t testflags;
+ uint16_t maxErrorCount;
+ uint32_t count;
+ uint32_t startTime;
+ uint32_t interval;
+ uint8_t tstxt0;
+ uint8_t tstxt1;
+ uint8_t serNum[32];
+ uint8_t res8[102];
+ uint32_t fwTestMagic;
+ uint32_t fwTestSeqNum;
+ uint8_t fwTestRes[8];
+ uint32_t smagic;
+ uint32_t raidtbl;
+ uint16_t raidline;
+ uint8_t res9[0xF6];
+} __attribute__((packed));
+
+#define AD_SIGNATURE 0x4450544D /* "DPTM" */
+#define AD_MAGIC 0x37FC4D1E
+
+static int probe_adraid(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ uint64_t off;
+ struct adaptec_metadata *ad;
+
+ if (pr->size < 0x10000)
+ return -1;
+
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+
+ off = ((pr->size / 0x200)-1) * 0x200;
+ ad = (struct adaptec_metadata *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct adaptec_metadata));
+ if (!ad)
+ return -1;
+ if (ad->smagic != be32_to_cpu(AD_SIGNATURE))
+ return -1;
+ if (ad->b0idcode != be32_to_cpu(AD_MAGIC))
+ return -1;
+ if (blkid_probe_sprintf_version(pr, "%u", ad->resver) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr, off, sizeof(ad->b0idcode),
+ (unsigned char *) &ad->b0idcode))
+ return -1;
+ return 0;
+}
+
+const struct blkid_idinfo adraid_idinfo = {
+ .name = "adaptec_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_adraid,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/befs.c b/libblkid/src/superblocks/befs.c
new file mode 100644
index 0000000..a7f4317
--- /dev/null
+++ b/libblkid/src/superblocks/befs.c
@@ -0,0 +1,478 @@
+/*
+ * Copyright (C) 2010 Jeroen Oortwijn <oortwijn@gmail.com>
+ *
+ * Partly based on the Haiku BFS driver by
+ * Axel Dörfler <axeld@pinc-software.de>
+ *
+ * Also inspired by the Linux BeFS driver by
+ * Will Dyson <will_dyson@pobox.com>, et al.
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <inttypes.h>
+
+#include "superblocks.h"
+
+#define B_OS_NAME_LENGTH 0x20
+#define SUPER_BLOCK_MAGIC1 0x42465331 /* BFS1 */
+#define SUPER_BLOCK_MAGIC2 0xdd121031
+#define SUPER_BLOCK_MAGIC3 0x15b6830e
+#define SUPER_BLOCK_FS_ENDIAN 0x42494745 /* BIGE */
+#define INODE_MAGIC1 0x3bbe0ad9
+#define BPLUSTREE_MAGIC 0x69f6c2e8
+#define BPLUSTREE_NULL -1LL
+#define NUM_DIRECT_BLOCKS 12
+#define B_UINT64_TYPE 0x554c4c47 /* ULLG */
+#define KEY_NAME "be:volume_id"
+#define KEY_SIZE 8
+
+#define FS16_TO_CPU(value, fs_is_le) (fs_is_le ? le16_to_cpu(value) \
+ : be16_to_cpu(value))
+#define FS32_TO_CPU(value, fs_is_le) (fs_is_le ? le32_to_cpu(value) \
+ : be32_to_cpu(value))
+#define FS64_TO_CPU(value, fs_is_le) (fs_is_le ? le64_to_cpu(value) \
+ : be64_to_cpu(value))
+
+typedef struct block_run {
+ int32_t allocation_group;
+ uint16_t start;
+ uint16_t len;
+} __attribute__((packed)) block_run, inode_addr;
+
+struct befs_super_block {
+ char name[B_OS_NAME_LENGTH];
+ int32_t magic1;
+ int32_t fs_byte_order;
+ uint32_t block_size;
+ uint32_t block_shift;
+ int64_t num_blocks;
+ int64_t used_blocks;
+ int32_t inode_size;
+ int32_t magic2;
+ int32_t blocks_per_ag;
+ int32_t ag_shift;
+ int32_t num_ags;
+ int32_t flags;
+ block_run log_blocks;
+ int64_t log_start;
+ int64_t log_end;
+ int32_t magic3;
+ inode_addr root_dir;
+ inode_addr indices;
+ int32_t pad[8];
+} __attribute__((packed));
+
+typedef struct data_stream {
+ block_run direct[NUM_DIRECT_BLOCKS];
+ int64_t max_direct_range;
+ block_run indirect;
+ int64_t max_indirect_range;
+ block_run double_indirect;
+ int64_t max_double_indirect_range;
+ int64_t size;
+} __attribute__((packed)) data_stream;
+
+struct befs_inode {
+ int32_t magic1;
+ inode_addr inode_num;
+ int32_t uid;
+ int32_t gid;
+ int32_t mode;
+ int32_t flags;
+ int64_t create_time;
+ int64_t last_modified_time;
+ inode_addr parent;
+ inode_addr attributes;
+ uint32_t type;
+ int32_t inode_size;
+ uint32_t etc;
+ data_stream data;
+ int32_t pad[4];
+ int32_t small_data[0];
+} __attribute__((packed));
+
+struct small_data {
+ uint32_t type;
+ uint16_t name_size;
+ uint16_t data_size;
+ char name[0];
+} __attribute__((packed));
+
+struct bplustree_header {
+ uint32_t magic;
+ uint32_t node_size;
+ uint32_t max_number_of_levels;
+ uint32_t data_type;
+ int64_t root_node_pointer;
+ int64_t free_node_pointer;
+ int64_t maximum_size;
+} __attribute__((packed));
+
+struct bplustree_node {
+ int64_t left_link;
+ int64_t right_link;
+ int64_t overflow_link;
+ uint16_t all_key_count;
+ uint16_t all_key_length;
+ char name[0];
+} __attribute__((packed));
+
+static unsigned char *get_block_run(blkid_probe pr, const struct befs_super_block *bs,
+ const struct block_run *br, int fs_le)
+{
+ return blkid_probe_get_buffer(pr,
+ ((blkid_loff_t) FS32_TO_CPU(br->allocation_group, fs_le)
+ << FS32_TO_CPU(bs->ag_shift, fs_le)
+ << FS32_TO_CPU(bs->block_shift, fs_le))
+ + ((blkid_loff_t) FS16_TO_CPU(br->start, fs_le)
+ << FS32_TO_CPU(bs->block_shift, fs_le)),
+ (blkid_loff_t) FS16_TO_CPU(br->len, fs_le)
+ << FS32_TO_CPU(bs->block_shift, fs_le));
+}
+
+static unsigned char *get_custom_block_run(blkid_probe pr,
+ const struct befs_super_block *bs,
+ const struct block_run *br,
+ int64_t offset, uint32_t length, int fs_le)
+{
+ if (offset + length > (int64_t) FS16_TO_CPU(br->len, fs_le)
+ << FS32_TO_CPU(bs->block_shift, fs_le))
+ return NULL;
+
+ return blkid_probe_get_buffer(pr,
+ ((blkid_loff_t) FS32_TO_CPU(br->allocation_group, fs_le)
+ << FS32_TO_CPU(bs->ag_shift, fs_le)
+ << FS32_TO_CPU(bs->block_shift, fs_le))
+ + ((blkid_loff_t) FS16_TO_CPU(br->start, fs_le)
+ << FS32_TO_CPU(bs->block_shift, fs_le))
+ + offset,
+ length);
+}
+
+static unsigned char *get_tree_node(blkid_probe pr, const struct befs_super_block *bs,
+ const struct data_stream *ds,
+ int64_t start, uint32_t length, int fs_le)
+{
+ if (start < (int64_t) FS64_TO_CPU(ds->max_direct_range, fs_le)) {
+ int64_t br_len;
+ size_t i;
+
+ for (i = 0; i < NUM_DIRECT_BLOCKS; i++) {
+ br_len = (int64_t) FS16_TO_CPU(ds->direct[i].len, fs_le)
+ << FS32_TO_CPU(bs->block_shift, fs_le);
+ if (start < br_len)
+ return get_custom_block_run(pr, bs,
+ &ds->direct[i],
+ start, length, fs_le);
+ else
+ start -= br_len;
+ }
+ } else if (start < (int64_t) FS64_TO_CPU(ds->max_indirect_range, fs_le)) {
+ struct block_run *br;
+ int64_t max_br, br_len, i;
+
+ start -= FS64_TO_CPU(ds->max_direct_range, fs_le);
+ max_br = ((int64_t) FS16_TO_CPU(ds->indirect.len, fs_le)
+ << FS32_TO_CPU(bs->block_shift, fs_le))
+ / sizeof(struct block_run);
+
+ br = (struct block_run *) get_block_run(pr, bs, &ds->indirect,
+ fs_le);
+ if (!br)
+ return NULL;
+
+ for (i = 0; i < max_br; i++) {
+ br_len = (int64_t) FS16_TO_CPU(br[i].len, fs_le)
+ << FS32_TO_CPU(bs->block_shift, fs_le);
+ if (start < br_len)
+ return get_custom_block_run(pr, bs, &br[i],
+ start, length, fs_le);
+ else
+ start -= br_len;
+ }
+ } else if (start < (int64_t) FS64_TO_CPU(ds->max_double_indirect_range, fs_le)) {
+ struct block_run *br;
+ int64_t di_br_size, br_per_di_br, di_index, i_index;
+
+ start -= (int64_t) FS64_TO_CPU(ds->max_indirect_range, fs_le);
+
+ di_br_size = (int64_t) FS16_TO_CPU(ds->double_indirect.len,
+ fs_le) << FS32_TO_CPU(bs->block_shift, fs_le);
+ if (di_br_size == 0)
+ return NULL;
+
+ br_per_di_br = di_br_size / sizeof(struct block_run);
+ if (br_per_di_br == 0)
+ return NULL;
+
+ di_index = start / (br_per_di_br * di_br_size);
+ i_index = (start % (br_per_di_br * di_br_size)) / di_br_size;
+ start = (start % (br_per_di_br * di_br_size)) % di_br_size;
+
+ br = (struct block_run *) get_block_run(pr, bs,
+ &ds->double_indirect, fs_le);
+ if (!br)
+ return NULL;
+
+ br = (struct block_run *) get_block_run(pr, bs, &br[di_index],
+ fs_le);
+ if (!br)
+ return NULL;
+
+ return get_custom_block_run(pr, bs, &br[i_index], start, length,
+ fs_le);
+ }
+ return NULL;
+}
+
+static int32_t compare_keys(const char keys1[], uint16_t keylengths1[], int32_t index,
+ const char *key2, uint16_t keylength2, int fs_le)
+{
+ const char *key1;
+ uint16_t keylength1;
+ int32_t result;
+
+ key1 = &keys1[index == 0 ? 0 : FS16_TO_CPU(keylengths1[index - 1],
+ fs_le)];
+ keylength1 = FS16_TO_CPU(keylengths1[index], fs_le)
+ - (index == 0 ? 0 : FS16_TO_CPU(keylengths1[index - 1],
+ fs_le));
+
+ result = strncmp(key1, key2, min(keylength1, keylength2));
+
+ if (result == 0)
+ return keylength1 - keylength2;
+
+ return result;
+}
+
+static int64_t get_key_value(blkid_probe pr, const struct befs_super_block *bs,
+ const struct befs_inode *bi, const char *key, int fs_le)
+{
+ struct bplustree_header *bh;
+ struct bplustree_node *bn;
+ uint16_t *keylengths;
+ int64_t *values;
+ int64_t node_pointer;
+ int32_t first, last, mid, cmp;
+
+ bh = (struct bplustree_header *) get_tree_node(pr, bs, &bi->data, 0,
+ sizeof(struct bplustree_header), fs_le);
+ if (!bh)
+ return -1;
+
+ if ((int32_t) FS32_TO_CPU(bh->magic, fs_le) != BPLUSTREE_MAGIC)
+ return -1;
+
+ node_pointer = FS64_TO_CPU(bh->root_node_pointer, fs_le);
+
+ do {
+ bn = (struct bplustree_node *) get_tree_node(pr, bs, &bi->data,
+ node_pointer, FS32_TO_CPU(bh->node_size, fs_le), fs_le);
+ if (!bn)
+ return -1;
+
+ keylengths = (uint16_t *) ((uint8_t *) bn
+ + ((sizeof(struct bplustree_node)
+ + FS16_TO_CPU(bn->all_key_length, fs_le)
+ + sizeof(int64_t) - 1)
+ & ~(sizeof(int64_t) - 1)));
+ values = (int64_t *) ((uint8_t *) keylengths
+ + FS16_TO_CPU(bn->all_key_count, fs_le)
+ * sizeof(uint16_t));
+ first = 0;
+ mid = 0;
+ last = FS16_TO_CPU(bn->all_key_count, fs_le) - 1;
+
+ cmp = compare_keys(bn->name, keylengths, last, key, strlen(key),
+ fs_le);
+ if (cmp == 0) {
+ if ((int64_t) FS64_TO_CPU(bn->overflow_link, fs_le)
+ == BPLUSTREE_NULL)
+ return FS64_TO_CPU(values[last], fs_le);
+ else
+ node_pointer = FS64_TO_CPU(values[last], fs_le);
+ } else if (cmp < 0)
+ node_pointer = FS64_TO_CPU(bn->overflow_link, fs_le);
+ else {
+ while (first <= last) {
+ mid = (first + last) / 2;
+
+ cmp = compare_keys(bn->name, keylengths, mid,
+ key, strlen(key), fs_le);
+ if (cmp == 0) {
+ if ((int64_t) FS64_TO_CPU(bn->overflow_link,
+ fs_le) == BPLUSTREE_NULL)
+ return FS64_TO_CPU(values[mid],
+ fs_le);
+ else
+ break;
+ } else if (cmp < 0)
+ first = mid + 1;
+ else
+ last = mid - 1;
+ }
+ if (cmp < 0)
+ node_pointer = FS64_TO_CPU(values[mid + 1],
+ fs_le);
+ else
+ node_pointer = FS64_TO_CPU(values[mid], fs_le);
+ }
+ } while ((int64_t) FS64_TO_CPU(bn->overflow_link, fs_le)
+ != BPLUSTREE_NULL);
+ return 0;
+}
+
+static int get_uuid(blkid_probe pr, const struct befs_super_block *bs,
+ uint64_t * const uuid, int fs_le)
+{
+ struct befs_inode *bi;
+ struct small_data *sd;
+
+ bi = (struct befs_inode *) get_block_run(pr, bs, &bs->root_dir, fs_le);
+ if (!bi)
+ return -1;
+
+ if (FS32_TO_CPU(bi->magic1, fs_le) != INODE_MAGIC1)
+ return -1;
+
+ sd = (struct small_data *) bi->small_data;
+
+ do {
+ if (FS32_TO_CPU(sd->type, fs_le) == B_UINT64_TYPE
+ && FS16_TO_CPU(sd->name_size, fs_le) == strlen(KEY_NAME)
+ && FS16_TO_CPU(sd->data_size, fs_le) == KEY_SIZE
+ && strcmp(sd->name, KEY_NAME) == 0) {
+ *uuid = *(uint64_t *) ((uint8_t *) sd->name
+ + FS16_TO_CPU(sd->name_size, fs_le)
+ + 3);
+ break;
+ } else if (FS32_TO_CPU(sd->type, fs_le) == 0
+ && FS16_TO_CPU(sd->name_size, fs_le) == 0
+ && FS16_TO_CPU(sd->data_size, fs_le) == 0)
+ break;
+
+ sd = (struct small_data *) ((uint8_t *) sd
+ + sizeof(struct small_data)
+ + FS16_TO_CPU(sd->name_size, fs_le) + 3
+ + FS16_TO_CPU(sd->data_size, fs_le) + 1);
+
+ } while ((intptr_t) sd < (intptr_t) bi
+ + (int32_t) FS32_TO_CPU(bi->inode_size, fs_le)
+ - (int32_t) sizeof(struct small_data));
+ if (*uuid == 0
+ && (FS32_TO_CPU(bi->attributes.allocation_group, fs_le) != 0
+ || FS16_TO_CPU(bi->attributes.start, fs_le) != 0
+ || FS16_TO_CPU(bi->attributes.len, fs_le) != 0)) {
+ int64_t value;
+
+ bi = (struct befs_inode *) get_block_run(pr, bs,
+ &bi->attributes, fs_le);
+ if (!bi)
+ return -1;
+
+ if (FS32_TO_CPU(bi->magic1, fs_le) != INODE_MAGIC1)
+ return -1;
+
+ value = get_key_value(pr, bs, bi, KEY_NAME, fs_le);
+
+ if (value < 0)
+ return value;
+ else if (value > 0) {
+ bi = (struct befs_inode *) blkid_probe_get_buffer(pr,
+ value << FS32_TO_CPU(bs->block_shift, fs_le),
+ FS32_TO_CPU(bs->block_size, fs_le));
+ if (!bi)
+ return -1;
+
+ if (FS32_TO_CPU(bi->magic1, fs_le) != INODE_MAGIC1)
+ return -1;
+
+ if (FS32_TO_CPU(bi->type, fs_le) == B_UINT64_TYPE
+ && FS64_TO_CPU(bi->data.size, fs_le) == KEY_SIZE
+ && FS16_TO_CPU(bi->data.direct[0].len, fs_le)
+ == 1) {
+ uint64_t *attr_data;
+
+ attr_data = (uint64_t *) get_block_run(pr, bs,
+ &bi->data.direct[0], fs_le);
+ if (!attr_data)
+ return -1;
+
+ *uuid = *attr_data;
+ }
+ }
+ }
+ return 0;
+}
+
+static int probe_befs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct befs_super_block *bs;
+ const char *version = NULL;
+ uint64_t volume_id = 0;
+ int fs_le, ret;
+
+ bs = (struct befs_super_block *) blkid_probe_get_buffer(pr,
+ mag->sboff - B_OS_NAME_LENGTH,
+ sizeof(struct befs_super_block));
+ if (!bs)
+ return -1;
+
+ if (le32_to_cpu(bs->magic1) == SUPER_BLOCK_MAGIC1
+ && le32_to_cpu(bs->magic2) == SUPER_BLOCK_MAGIC2
+ && le32_to_cpu(bs->magic3) == SUPER_BLOCK_MAGIC3
+ && le32_to_cpu(bs->fs_byte_order) == SUPER_BLOCK_FS_ENDIAN) {
+ fs_le = 1;
+ version = "little-endian";
+ } else if (be32_to_cpu(bs->magic1) == SUPER_BLOCK_MAGIC1
+ && be32_to_cpu(bs->magic2) == SUPER_BLOCK_MAGIC2
+ && be32_to_cpu(bs->magic3) == SUPER_BLOCK_MAGIC3
+ && be32_to_cpu(bs->fs_byte_order) == SUPER_BLOCK_FS_ENDIAN) {
+ fs_le = 0;
+ version = "big-endian";
+ } else
+ return -1;
+
+ ret = get_uuid(pr, bs, &volume_id, fs_le);
+
+ if (ret < 0)
+ return ret;
+
+ /*
+ * all checks pass, set LABEL, VERSION and UUID
+ */
+ if (strlen(bs->name))
+ blkid_probe_set_label(pr, (unsigned char *) bs->name,
+ sizeof(bs->name));
+ if (version)
+ blkid_probe_set_version(pr, version);
+
+ if (volume_id)
+ blkid_probe_sprintf_uuid(pr, (unsigned char *) &volume_id,
+ sizeof(volume_id), "%016" PRIx64,
+ FS64_TO_CPU(volume_id, fs_le));
+ return 0;
+}
+
+const struct blkid_idinfo befs_idinfo =
+{
+ .name = "befs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_befs,
+ .minsz = 1024 * 1440,
+ .magics = {
+ { .magic = "BFS1", .len = 4, .sboff = B_OS_NAME_LENGTH },
+ { .magic = "1SFB", .len = 4, .sboff = B_OS_NAME_LENGTH },
+ { .magic = "BFS1", .len = 4, .sboff = 0x200 +
+ B_OS_NAME_LENGTH },
+ { .magic = "1SFB", .len = 4, .sboff = 0x200 +
+ B_OS_NAME_LENGTH },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/bfs.c b/libblkid/src/superblocks/bfs.c
new file mode 100644
index 0000000..8a34c58
--- /dev/null
+++ b/libblkid/src/superblocks/bfs.c
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2009 Red Hat, Inc.
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include "superblocks.h"
+
+/*
+ * BFS actually has two different labels in the superblock, each
+ * of them only 6 bytes long. Until we find out what their use
+ * we just ignore them.
+ */
+const struct blkid_idinfo bfs_idinfo =
+{
+ .name = "bfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .magics = {
+ { .magic = "\xce\xfa\xad\x1b", .len = 4 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/btrfs.c b/libblkid/src/superblocks/btrfs.c
new file mode 100644
index 0000000..039be42
--- /dev/null
+++ b/libblkid/src/superblocks/btrfs.c
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct btrfs_super_block {
+ uint8_t csum[32];
+ uint8_t fsid[16];
+ uint64_t bytenr;
+ uint64_t flags;
+ uint8_t magic[8];
+ uint64_t generation;
+ uint64_t root;
+ uint64_t chunk_root;
+ uint64_t log_root;
+ uint64_t log_root_transid;
+ uint64_t total_bytes;
+ uint64_t bytes_used;
+ uint64_t root_dir_objectid;
+ uint64_t num_devices;
+ uint32_t sectorsize;
+ uint32_t nodesize;
+ uint32_t leafsize;
+ uint32_t stripesize;
+ uint32_t sys_chunk_array_size;
+ uint64_t chunk_root_generation;
+ uint64_t compat_flags;
+ uint64_t compat_ro_flags;
+ uint64_t incompat_flags;
+ uint16_t csum_type;
+ uint8_t root_level;
+ uint8_t chunk_root_level;
+ uint8_t log_root_level;
+ struct btrfs_dev_item {
+ uint64_t devid;
+ uint64_t total_bytes;
+ uint64_t bytes_used;
+ uint32_t io_align;
+ uint32_t io_width;
+ uint32_t sector_size;
+ uint64_t type;
+ uint64_t generation;
+ uint64_t start_offset;
+ uint32_t dev_group;
+ uint8_t seek_speed;
+ uint8_t bandwidth;
+ uint8_t uuid[16];
+ uint8_t fsid[16];
+ } __attribute__ ((__packed__)) dev_item;
+ uint8_t label[256];
+} __attribute__ ((__packed__));
+
+static int probe_btrfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct btrfs_super_block *bfs;
+
+ bfs = blkid_probe_get_sb(pr, mag, struct btrfs_super_block);
+ if (!bfs)
+ return -1;
+
+ if (*bfs->label)
+ blkid_probe_set_label(pr,
+ (unsigned char *) bfs->label,
+ sizeof(bfs->label));
+
+ blkid_probe_set_uuid(pr, bfs->fsid);
+ blkid_probe_set_uuid_as(pr, bfs->dev_item.uuid, "UUID_SUB");
+
+ return 0;
+}
+
+const struct blkid_idinfo btrfs_idinfo =
+{
+ .name = "btrfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_btrfs,
+ .minsz = 1024 * 1024,
+ .magics =
+ {
+ { .magic = "_BHRfS_M", .len = 8, .kboff = 64, .sboff = 0x40 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/cramfs.c b/libblkid/src/superblocks/cramfs.c
new file mode 100644
index 0000000..b58ed08
--- /dev/null
+++ b/libblkid/src/superblocks/cramfs.c
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct cramfs_super
+{
+ uint8_t magic[4];
+ uint32_t size;
+ uint32_t flags;
+ uint32_t future;
+ uint8_t signature[16];
+ struct cramfs_info
+ {
+ uint32_t crc;
+ uint32_t edition;
+ uint32_t blocks;
+ uint32_t files;
+ } __attribute__((packed)) info;
+ uint8_t name[16];
+} __attribute__((packed));
+
+static int probe_cramfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct cramfs_super *cs;
+
+ cs = blkid_probe_get_sb(pr, mag, struct cramfs_super);
+ if (!cs)
+ return -1;
+
+ blkid_probe_set_label(pr, cs->name, sizeof(cs->name));
+ return 0;
+}
+
+const struct blkid_idinfo cramfs_idinfo =
+{
+ .name = "cramfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_cramfs,
+ .magics =
+ {
+ { "\x45\x3d\xcd\x28", 4, 0, 0 },
+ { "\x28\xcd\x3d\x45", 4, 0, 0 },
+ { NULL }
+ }
+};
+
+
diff --git a/libblkid/src/superblocks/ddf_raid.c b/libblkid/src/superblocks/ddf_raid.c
new file mode 100644
index 0000000..24df421
--- /dev/null
+++ b/libblkid/src/superblocks/ddf_raid.c
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+/* http://www.snia.org/standards/home */
+#define DDF_GUID_LENGTH 24
+#define DDF_REV_LENGTH 8
+#define DDF_MAGIC 0xDE11DE11
+
+
+struct ddf_header {
+ uint32_t signature;
+ uint32_t crc;
+ uint8_t guid[DDF_GUID_LENGTH];
+ char ddf_rev[8]; /* 01.02.00 */
+ uint32_t seq; /* starts at '1' */
+ uint32_t timestamp;
+ uint8_t openflag;
+ uint8_t foreignflag;
+ uint8_t enforcegroups;
+ uint8_t pad0; /* 0xff */
+ uint8_t pad1[12]; /* 12 * 0xff */
+ /* 64 bytes so far */
+ uint8_t header_ext[32]; /* reserved: fill with 0xff */
+ uint64_t primary_lba;
+ uint64_t secondary_lba;
+ uint8_t type;
+ uint8_t pad2[3]; /* 0xff */
+ uint32_t workspace_len; /* sectors for vendor space -
+ * at least 32768(sectors) */
+ uint64_t workspace_lba;
+ uint16_t max_pd_entries; /* one of 15, 63, 255, 1023, 4095 */
+ uint16_t max_vd_entries; /* 2^(4,6,8,10,12)-1 : i.e. as above */
+ uint16_t max_partitions; /* i.e. max num of configuration
+ record entries per disk */
+ uint16_t config_record_len; /* 1 +ROUNDUP(max_primary_element_entries
+ *12/512) */
+ uint16_t max_primary_element_entries; /* 16, 64, 256, 1024, or 4096 */
+ uint8_t pad3[54]; /* 0xff */
+ /* 192 bytes so far */
+ uint32_t controller_section_offset;
+ uint32_t controller_section_length;
+ uint32_t phys_section_offset;
+ uint32_t phys_section_length;
+ uint32_t virt_section_offset;
+ uint32_t virt_section_length;
+ uint32_t config_section_offset;
+ uint32_t config_section_length;
+ uint32_t data_section_offset;
+ uint32_t data_section_length;
+ uint32_t bbm_section_offset;
+ uint32_t bbm_section_length;
+ uint32_t diag_space_offset;
+ uint32_t diag_space_length;
+ uint32_t vendor_offset;
+ uint32_t vendor_length;
+ /* 256 bytes so far */
+ uint8_t pad4[256]; /* 0xff */
+} __attribute__((packed));
+
+static int probe_ddf(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ int hdrs[] = { 1, 257 };
+ size_t i;
+ struct ddf_header *ddf = NULL;
+ char version[DDF_REV_LENGTH + 1];
+ uint64_t off, lba;
+
+ if (pr->size < 0x30000)
+ return -1;
+
+ for (i = 0; i < ARRAY_SIZE(hdrs); i++) {
+ off = ((pr->size / 0x200) - hdrs[i]) * 0x200;
+
+ ddf = (struct ddf_header *) blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct ddf_header));
+ if (!ddf)
+ return -1;
+
+ if (ddf->signature == cpu_to_be32(DDF_MAGIC) ||
+ ddf->signature == cpu_to_le32(DDF_MAGIC))
+ break;
+ ddf = NULL;
+ }
+
+ if (!ddf)
+ return -1;
+
+ lba = ddf->signature == cpu_to_be32(DDF_MAGIC) ?
+ be64_to_cpu(ddf->primary_lba) :
+ le64_to_cpu(ddf->primary_lba);
+
+ if (lba > 0) {
+ /* check primary header */
+ unsigned char *buf;
+
+ buf = blkid_probe_get_buffer(pr,
+ lba << 9, sizeof(ddf->signature));
+ if (!buf || memcmp(buf, &ddf->signature, 4))
+ return -1;
+ }
+
+ blkid_probe_strncpy_uuid(pr, ddf->guid, sizeof(ddf->guid));
+
+ memcpy(version, ddf->ddf_rev, sizeof(ddf->ddf_rev));
+ *(version + sizeof(ddf->ddf_rev)) = '\0';
+
+ if (blkid_probe_set_version(pr, version) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr, off,
+ sizeof(ddf->signature),
+ (unsigned char *) &ddf->signature))
+ return -1;
+ return 0;
+}
+
+const struct blkid_idinfo ddfraid_idinfo = {
+ .name = "ddf_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_ddf,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/drbd.c b/libblkid/src/superblocks/drbd.c
new file mode 100644
index 0000000..43e544e
--- /dev/null
+++ b/libblkid/src/superblocks/drbd.c
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2009 by Bastian Friedrich <bastian.friedrich@collax.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ * defines, structs taken from drbd source; file names represent drbd source
+ * files.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <inttypes.h>
+#include <stddef.h>
+
+#include "superblocks.h"
+
+/*
+ * drbd/linux/drbd.h
+ */
+#define DRBD_MAGIC 0x83740267
+
+/*
+ * user/drbdmeta.c
+ * We only support v08 for now
+ */
+#define DRBD_MD_MAGIC_08 (DRBD_MAGIC+4)
+#define DRBD_MD_MAGIC_84_UNCLEAN (DRBD_MAGIC+5)
+
+/*
+ * drbd/linux/drbd.h
+ */
+enum drbd_uuid_index {
+ UI_CURRENT,
+ UI_BITMAP,
+ UI_HISTORY_START,
+ UI_HISTORY_END,
+ UI_SIZE, /* nl-packet: number of dirty bits */
+ UI_FLAGS, /* nl-packet: flags */
+ UI_EXTENDED_SIZE /* Everything. */
+};
+
+/*
+ * user/drbdmeta.c
+ * Minor modifications wrt. types
+ */
+struct md_on_disk_08 {
+ uint64_t la_sect; /* last agreed size. */
+ uint64_t uuid[UI_SIZE]; /* UUIDs */
+ uint64_t device_uuid;
+ uint64_t reserved_u64_1;
+ uint32_t flags;
+ uint32_t magic;
+ uint32_t md_size_sect;
+ int32_t al_offset; /* signed sector offset to this block */
+ uint32_t al_nr_extents; /* important for restoring the AL */
+ int32_t bm_offset; /* signed sector offset to the bitmap, from here */
+ uint32_t bm_bytes_per_bit;
+ uint32_t reserved_u32[4];
+
+ char reserved[8 * 512 - (8*(UI_SIZE+3)+4*11)];
+};
+
+
+static int probe_drbd(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct md_on_disk_08 *md;
+ off_t off;
+
+ off = pr->size - sizeof(*md);
+
+ /* Small devices cannot be drbd (?) */
+ if (pr->size < 0x10000)
+ return -1;
+
+ md = (struct md_on_disk_08 *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct md_on_disk_08));
+ if (!md)
+ return -1;
+
+ if (be32_to_cpu(md->magic) != DRBD_MD_MAGIC_08 &&
+ be32_to_cpu(md->magic) != DRBD_MD_MAGIC_84_UNCLEAN)
+ return -1;
+
+ /*
+ * DRBD does not have "real" uuids; the following resembles DRBD's
+ * notion of uuids (64 bit, see struct above)
+ */
+ blkid_probe_sprintf_uuid(pr,
+ (unsigned char *) &md->device_uuid, sizeof(md->device_uuid),
+ "%" PRIx64, be64_to_cpu(md->device_uuid));
+
+ blkid_probe_set_version(pr, "v08");
+
+ if (blkid_probe_set_magic(pr,
+ off + offsetof(struct md_on_disk_08, magic),
+ sizeof(md->magic),
+ (unsigned char *) &md->magic))
+ return -1;
+
+ return 0;
+}
+
+const struct blkid_idinfo drbd_idinfo =
+{
+ .name = "drbd",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_drbd,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/superblocks/drbdproxy_datalog.c b/libblkid/src/superblocks/drbdproxy_datalog.c
new file mode 100644
index 0000000..afe4725
--- /dev/null
+++ b/libblkid/src/superblocks/drbdproxy_datalog.c
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2011 by Philipp Marek <philipp.marek@linbit.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <inttypes.h>
+#include <stddef.h>
+
+#include "superblocks.h"
+
+
+struct log_header_t {
+ uint64_t magic;
+ uint64_t version;
+
+ unsigned char uuid[16];
+
+ uint64_t flags;
+} __attribute__((packed));
+
+
+static int probe_drbdproxy_datalog(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct log_header_t *lh;
+
+ lh = (struct log_header_t *) blkid_probe_get_buffer(pr, 0, sizeof(*lh));
+ if (!lh)
+ return -1;
+
+ blkid_probe_set_uuid(pr, lh->uuid);
+ blkid_probe_sprintf_version(pr, "v%jd", le64_to_cpu(lh->version));
+
+ return 0;
+}
+
+const struct blkid_idinfo drbdproxy_datalog_idinfo =
+{
+ .name = "drbdproxy_datalog",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_drbdproxy_datalog,
+ .minsz = 16*1024,
+ .magics =
+ {
+ { .magic = "DRBDdlh*", .len = 8, .sboff = 0, .kboff = 0 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/exfat.c b/libblkid/src/superblocks/exfat.c
new file mode 100644
index 0000000..215c671
--- /dev/null
+++ b/libblkid/src/superblocks/exfat.c
@@ -0,0 +1,146 @@
+/*
+ * Copyright (C) 2010 Andrew Nayenko <resver@gmail.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include "superblocks.h"
+
+struct exfat_super_block {
+ uint8_t jump[3];
+ uint8_t oem_name[8];
+ uint8_t __unused1[53];
+ uint64_t block_start;
+ uint64_t block_count;
+ uint32_t fat_block_start;
+ uint32_t fat_block_count;
+ uint32_t cluster_block_start;
+ uint32_t cluster_count;
+ uint32_t rootdir_cluster;
+ uint8_t volume_serial[4];
+ struct {
+ uint8_t minor;
+ uint8_t major;
+ } version;
+ uint16_t volume_state;
+ uint8_t block_bits;
+ uint8_t bpc_bits;
+ uint8_t fat_count;
+ uint8_t drive_no;
+ uint8_t allocated_percent;
+} __attribute__((__packed__));
+
+struct exfat_entry_label {
+ uint8_t type;
+ uint8_t length;
+ uint8_t name[30];
+} __attribute__((__packed__));
+
+#define BLOCK_SIZE(sb) (1 << (sb)->block_bits)
+#define CLUSTER_SIZE(sb) (BLOCK_SIZE(sb) << (sb)->bpc_bits)
+#define EXFAT_FIRST_DATA_CLUSTER 2
+#define EXFAT_LAST_DATA_CLUSTER 0xffffff6
+#define EXFAT_ENTRY_SIZE 32
+
+#define EXFAT_ENTRY_EOD 0x00
+#define EXFAT_ENTRY_LABEL 0x83
+
+static blkid_loff_t block_to_offset(const struct exfat_super_block *sb,
+ blkid_loff_t block)
+{
+ return (blkid_loff_t) block << sb->block_bits;
+}
+
+static blkid_loff_t cluster_to_block(const struct exfat_super_block *sb,
+ uint32_t cluster)
+{
+ return le32_to_cpu(sb->cluster_block_start) +
+ ((blkid_loff_t) (cluster - EXFAT_FIRST_DATA_CLUSTER)
+ << sb->bpc_bits);
+}
+
+static blkid_loff_t cluster_to_offset(const struct exfat_super_block *sb,
+ uint32_t cluster)
+{
+ return block_to_offset(sb, cluster_to_block(sb, cluster));
+}
+
+static uint32_t next_cluster(blkid_probe pr,
+ const struct exfat_super_block *sb, uint32_t cluster)
+{
+ uint32_t *next;
+ blkid_loff_t fat_offset;
+
+ fat_offset = block_to_offset(sb, le32_to_cpu(sb->fat_block_start))
+ + (blkid_loff_t) cluster * sizeof(cluster);
+ next = (uint32_t *) blkid_probe_get_buffer(pr, fat_offset,
+ sizeof(uint32_t));
+ if (!next)
+ return 0;
+ return le32_to_cpu(*next);
+}
+
+static struct exfat_entry_label *find_label(blkid_probe pr,
+ const struct exfat_super_block *sb)
+{
+ uint32_t cluster = le32_to_cpu(sb->rootdir_cluster);
+ blkid_loff_t offset = cluster_to_offset(sb, cluster);
+ uint8_t *entry;
+
+ for (;;) {
+ entry = (uint8_t *) blkid_probe_get_buffer(pr, offset,
+ EXFAT_ENTRY_SIZE);
+ if (!entry)
+ return NULL;
+ if (entry[0] == EXFAT_ENTRY_EOD)
+ return NULL;
+ if (entry[0] == EXFAT_ENTRY_LABEL)
+ return (struct exfat_entry_label *) entry;
+ offset += EXFAT_ENTRY_SIZE;
+ if (offset % CLUSTER_SIZE(sb) == 0) {
+ cluster = next_cluster(pr, sb, cluster);
+ if (cluster < EXFAT_FIRST_DATA_CLUSTER)
+ return NULL;
+ if (cluster > EXFAT_LAST_DATA_CLUSTER)
+ return NULL;
+ offset = cluster_to_offset(sb, cluster);
+ }
+ }
+}
+
+static int probe_exfat(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct exfat_super_block *sb;
+ struct exfat_entry_label *label;
+
+ sb = blkid_probe_get_sb(pr, mag, struct exfat_super_block);
+ if (!sb)
+ return -1;
+
+ label = find_label(pr, sb);
+ if (label)
+ blkid_probe_set_utf8label(pr, label->name,
+ min(label->length * 2, 30), BLKID_ENC_UTF16LE);
+
+ blkid_probe_sprintf_uuid(pr, sb->volume_serial, 4,
+ "%02hhX%02hhX-%02hhX%02hhX",
+ sb->volume_serial[3], sb->volume_serial[2],
+ sb->volume_serial[1], sb->volume_serial[0]);
+
+ blkid_probe_sprintf_version(pr, "%u.%u",
+ sb->version.major, sb->version.minor);
+
+ return 0;
+}
+
+const struct blkid_idinfo exfat_idinfo =
+{
+ .name = "exfat",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_exfat,
+ .magics =
+ {
+ { .magic = "EXFAT ", .len = 8, .sboff = 3 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/ext.c b/libblkid/src/superblocks/ext.c
new file mode 100644
index 0000000..eff96a0
--- /dev/null
+++ b/libblkid/src/superblocks/ext.c
@@ -0,0 +1,540 @@
+/*
+ * Copyright (C) 1999, 2001 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+#ifdef __linux__
+#include <sys/utsname.h>
+#endif
+#include <time.h>
+
+#include "linux_version.h"
+#include "superblocks.h"
+
+struct ext2_super_block {
+ uint32_t s_inodes_count;
+ uint32_t s_blocks_count;
+ uint32_t s_r_blocks_count;
+ uint32_t s_free_blocks_count;
+ uint32_t s_free_inodes_count;
+ uint32_t s_first_data_block;
+ uint32_t s_log_block_size;
+ uint32_t s_dummy3[7];
+ unsigned char s_magic[2];
+ uint16_t s_state;
+ uint16_t s_errors;
+ uint16_t s_minor_rev_level;
+ uint32_t s_lastcheck;
+ uint32_t s_checkinterval;
+ uint32_t s_creator_os;
+ uint32_t s_rev_level;
+ uint16_t s_def_resuid;
+ uint16_t s_def_resgid;
+ uint32_t s_first_ino;
+ uint16_t s_inode_size;
+ uint16_t s_block_group_nr;
+ uint32_t s_feature_compat;
+ uint32_t s_feature_incompat;
+ uint32_t s_feature_ro_compat;
+ unsigned char s_uuid[16];
+ char s_volume_name[16];
+ char s_last_mounted[64];
+ uint32_t s_algorithm_usage_bitmap;
+ uint8_t s_prealloc_blocks;
+ uint8_t s_prealloc_dir_blocks;
+ uint16_t s_reserved_gdt_blocks;
+ uint8_t s_journal_uuid[16];
+ uint32_t s_journal_inum;
+ uint32_t s_journal_dev;
+ uint32_t s_last_orphan;
+ uint32_t s_hash_seed[4];
+ uint8_t s_def_hash_version;
+ uint8_t s_jnl_backup_type;
+ uint16_t s_reserved_word_pad;
+ uint32_t s_default_mount_opts;
+ uint32_t s_first_meta_bg;
+ uint32_t s_mkfs_time;
+ uint32_t s_jnl_blocks[17];
+ uint32_t s_blocks_count_hi;
+ uint32_t s_r_blocks_count_hi;
+ uint32_t s_free_blocks_hi;
+ uint16_t s_min_extra_isize;
+ uint16_t s_want_extra_isize;
+ uint32_t s_flags;
+ uint16_t s_raid_stride;
+ uint16_t s_mmp_interval;
+ uint64_t s_mmp_block;
+ uint32_t s_raid_stripe_width;
+ uint32_t s_reserved[163];
+} __attribute__((packed));
+
+/* magic string */
+#define EXT_SB_MAGIC "\123\357"
+/* supper block offset */
+#define EXT_SB_OFF 0x400
+/* supper block offset in kB */
+#define EXT_SB_KBOFF (EXT_SB_OFF >> 10)
+/* magic string offset within super block */
+#define EXT_MAG_OFF 0x38
+
+
+
+/* for s_flags */
+#define EXT2_FLAGS_TEST_FILESYS 0x0004
+
+/* for s_feature_compat */
+#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
+
+/* for s_feature_ro_compat */
+#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
+#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
+#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004
+#define EXT4_FEATURE_RO_COMPAT_HUGE_FILE 0x0008
+#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010
+#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
+#define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040
+
+/* for s_feature_incompat */
+#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002
+#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004
+#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008
+#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010
+#define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040 /* extents support */
+#define EXT4_FEATURE_INCOMPAT_64BIT 0x0080
+#define EXT4_FEATURE_INCOMPAT_MMP 0x0100
+#define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200
+
+#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \
+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
+#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \
+ EXT2_FEATURE_INCOMPAT_META_BG)
+#define EXT2_FEATURE_INCOMPAT_UNSUPPORTED ~EXT2_FEATURE_INCOMPAT_SUPP
+#define EXT2_FEATURE_RO_COMPAT_UNSUPPORTED ~EXT2_FEATURE_RO_COMPAT_SUPP
+
+#define EXT3_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \
+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
+#define EXT3_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \
+ EXT3_FEATURE_INCOMPAT_RECOVER| \
+ EXT2_FEATURE_INCOMPAT_META_BG)
+#define EXT3_FEATURE_INCOMPAT_UNSUPPORTED ~EXT3_FEATURE_INCOMPAT_SUPP
+#define EXT3_FEATURE_RO_COMPAT_UNSUPPORTED ~EXT3_FEATURE_RO_COMPAT_SUPP
+
+/*
+ * Check to see if a filesystem is in /proc/filesystems.
+ * Returns 1 if found, 0 if not
+ */
+static int fs_proc_check(const char *fs_name)
+{
+ FILE *f;
+ char buf[80], *cp, *t;
+
+ f = fopen("/proc/filesystems", "r");
+ if (!f)
+ return 0;
+ while (!feof(f)) {
+ if (!fgets(buf, sizeof(buf), f))
+ break;
+ cp = buf;
+ if (!isspace(*cp)) {
+ while (*cp && !isspace(*cp))
+ cp++;
+ }
+ while (*cp && isspace(*cp))
+ cp++;
+ if ((t = strchr(cp, '\n')) != NULL)
+ *t = 0;
+ if ((t = strchr(cp, '\t')) != NULL)
+ *t = 0;
+ if ((t = strchr(cp, ' ')) != NULL)
+ *t = 0;
+ if (!strcmp(fs_name, cp)) {
+ fclose(f);
+ return 1;
+ }
+ }
+ fclose(f);
+ return (0);
+}
+
+/*
+ * Check to see if a filesystem is available as a module
+ * Returns 1 if found, 0 if not
+ */
+static int check_for_modules(const char *fs_name)
+{
+#ifdef __linux__
+ struct utsname uts;
+ FILE *f;
+ char buf[1024], *cp;
+ int namesz;
+
+ if (uname(&uts))
+ return 0;
+ snprintf(buf, sizeof(buf), "/lib/modules/%s/modules.dep", uts.release);
+
+ f = fopen(buf, "r");
+ if (!f)
+ return 0;
+
+ namesz = strlen(fs_name);
+
+ while (!feof(f)) {
+ if (!fgets(buf, sizeof(buf), f))
+ break;
+ if ((cp = strchr(buf, ':')) != NULL)
+ *cp = 0;
+ else
+ continue;
+ if ((cp = strrchr(buf, '/')) == NULL)
+ continue;
+ cp++;
+
+ if (!strncmp(cp, fs_name, namesz) &&
+ (!strcmp(cp + namesz, ".ko") ||
+ !strcmp(cp + namesz, ".ko.gz"))) {
+ fclose(f);
+ return 1;
+ }
+ }
+ fclose(f);
+#endif /* __linux__ */
+ return 0;
+}
+
+/*
+ * Starting in 2.6.29, ext4 can be used to support filesystems
+ * without a journal.
+ */
+#define EXT4_SUPPORTS_EXT2 KERNEL_VERSION(2, 6, 29)
+
+static int system_supports_ext2(void)
+{
+ static time_t last_check = 0;
+ static int ret = -1;
+ time_t now = time(0);
+
+ if (ret != -1 || (now - last_check) < 5)
+ return ret;
+ last_check = now;
+ ret = (fs_proc_check("ext2") || check_for_modules("ext2"));
+ return ret;
+}
+
+static int system_supports_ext4(void)
+{
+ static time_t last_check = 0;
+ static int ret = -1;
+ time_t now = time(0);
+
+ if (ret != -1 || (now - last_check) < 5)
+ return ret;
+ last_check = now;
+ ret = (fs_proc_check("ext4") || check_for_modules("ext4"));
+ return ret;
+}
+
+static int system_supports_ext4dev(void)
+{
+ static time_t last_check = 0;
+ static int ret = -1;
+ time_t now = time(0);
+
+ if (ret != -1 || (now - last_check) < 5)
+ return ret;
+ last_check = now;
+ ret = (fs_proc_check("ext4dev") || check_for_modules("ext4dev"));
+ return ret;
+}
+
+static int system_supports_ext4_ext2(void)
+{
+#ifdef __linux__
+ return get_linux_version() >= EXT4_SUPPORTS_EXT2;
+#else
+ return 0;
+#endif
+}
+/*
+ * reads superblock and returns:
+ * fc = feature_compat
+ * fi = feature_incompat
+ * frc = feature_ro_compat
+ */
+static struct ext2_super_block *ext_get_super(
+ blkid_probe pr, uint32_t *fc, uint32_t *fi, uint32_t *frc)
+{
+ struct ext2_super_block *es;
+
+ es = (struct ext2_super_block *)
+ blkid_probe_get_buffer(pr, EXT_SB_OFF, 0x200);
+ if (!es)
+ return NULL;
+ if (fc)
+ *fc = le32_to_cpu(es->s_feature_compat);
+ if (fi)
+ *fi = le32_to_cpu(es->s_feature_incompat);
+ if (frc)
+ *frc = le32_to_cpu(es->s_feature_ro_compat);
+
+ return es;
+}
+
+static void ext_get_info(blkid_probe pr, int ver, struct ext2_super_block *es)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+
+ DBG(DEBUG_PROBE, printf("ext2_sb.compat = %08X:%08X:%08X\n",
+ le32_to_cpu(es->s_feature_compat),
+ le32_to_cpu(es->s_feature_incompat),
+ le32_to_cpu(es->s_feature_ro_compat)));
+
+ if (strlen(es->s_volume_name))
+ blkid_probe_set_label(pr, (unsigned char *) es->s_volume_name,
+ sizeof(es->s_volume_name));
+ blkid_probe_set_uuid(pr, es->s_uuid);
+
+ if (le32_to_cpu(es->s_feature_compat) & EXT3_FEATURE_COMPAT_HAS_JOURNAL)
+ blkid_probe_set_uuid_as(pr, es->s_journal_uuid, "EXT_JOURNAL");
+
+ if (ver != 2 && (chn->flags & BLKID_SUBLKS_SECTYPE) &&
+ ((le32_to_cpu(es->s_feature_incompat) & EXT2_FEATURE_INCOMPAT_UNSUPPORTED) == 0))
+ blkid_probe_set_value(pr, "SEC_TYPE",
+ (unsigned char *) "ext2",
+ sizeof("ext2"));
+
+ blkid_probe_sprintf_version(pr, "%u.%u",
+ le32_to_cpu(es->s_rev_level),
+ le16_to_cpu(es->s_minor_rev_level));
+}
+
+
+static int probe_jbd(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct ext2_super_block *es;
+ uint32_t fi;
+
+ es = ext_get_super(pr, NULL, &fi, NULL);
+ if (!es)
+ return -BLKID_ERR_PARAM;
+ if (!(fi & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV))
+ return -BLKID_ERR_PARAM;
+
+ ext_get_info(pr, 2, es);
+ return 0;
+}
+
+static int probe_ext2(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct ext2_super_block *es;
+ uint32_t fc, frc, fi;
+
+ es = ext_get_super(pr, &fc, &fi, &frc);
+ if (!es)
+ return -BLKID_ERR_PARAM;
+
+ /* Distinguish between ext3 and ext2 */
+ if (fc & EXT3_FEATURE_COMPAT_HAS_JOURNAL)
+ return -BLKID_ERR_PARAM;
+
+ /* Any features which ext2 doesn't understand */
+ if ((frc & EXT2_FEATURE_RO_COMPAT_UNSUPPORTED) ||
+ (fi & EXT2_FEATURE_INCOMPAT_UNSUPPORTED))
+ return -BLKID_ERR_PARAM;
+
+ /*
+ * If ext2 is not present, but ext4 or ext4dev are, then
+ * disclaim we are ext2
+ */
+ if (!system_supports_ext2() &&
+ (system_supports_ext4() || system_supports_ext4dev()) &&
+ system_supports_ext4_ext2())
+ return -BLKID_ERR_PARAM;
+
+ ext_get_info(pr, 2, es);
+ return 0;
+}
+
+static int probe_ext3(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct ext2_super_block *es;
+ uint32_t fc, frc, fi;
+
+ es = ext_get_super(pr, &fc, &fi, &frc);
+ if (!es)
+ return -BLKID_ERR_PARAM;
+
+ /* ext3 requires journal */
+ if (!(fc & EXT3_FEATURE_COMPAT_HAS_JOURNAL))
+ return -BLKID_ERR_PARAM;
+
+ /* Any features which ext3 doesn't understand */
+ if ((frc & EXT3_FEATURE_RO_COMPAT_UNSUPPORTED) ||
+ (fi & EXT3_FEATURE_INCOMPAT_UNSUPPORTED))
+ return -BLKID_ERR_PARAM;
+
+ ext_get_info(pr, 3, es);
+ return 0;
+}
+
+
+static int probe_ext4dev(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct ext2_super_block *es;
+ uint32_t fc, frc, fi;
+
+ es = ext_get_super(pr, &fc, &fi, &frc);
+ if (!es)
+ return -BLKID_ERR_PARAM;
+
+ /* Distinguish from jbd */
+ if (fi & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV)
+ return -BLKID_ERR_PARAM;
+
+ /*
+ * If the filesystem does not have a journal and ext2 and ext4
+ * is not present, then force this to be detected as an
+ * ext4dev filesystem.
+ */
+ if (!(fc & EXT3_FEATURE_COMPAT_HAS_JOURNAL) &&
+ !system_supports_ext2() && !system_supports_ext4() &&
+ system_supports_ext4dev() &&
+ system_supports_ext4_ext2())
+ goto force_ext4dev;
+
+ /*
+ * If the filesystem is marked as OK for use by in-development
+ * filesystem code, but ext4dev is not supported, and ext4 is,
+ * then don't call ourselves ext4dev, since we should be
+ * detected as ext4 in that case.
+ *
+ * If the filesystem is marked as in use by production
+ * filesystem, then it can only be used by ext4 and NOT by
+ * ext4dev, so always disclaim we are ext4dev in that case.
+ */
+ if (le32_to_cpu(es->s_flags) & EXT2_FLAGS_TEST_FILESYS) {
+ if (!system_supports_ext4dev() && system_supports_ext4())
+ return -BLKID_ERR_PARAM;
+ } else
+ return -BLKID_ERR_PARAM;
+
+force_ext4dev:
+ ext_get_info(pr, 4, es);
+ return 0;
+}
+
+static int probe_ext4(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct ext2_super_block *es;
+ uint32_t fc, frc, fi;
+
+ es = ext_get_super(pr, &fc, &fi, &frc);
+ if (!es)
+ return -1;
+
+ /* Distinguish from jbd */
+ if (fi & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV)
+ return -BLKID_ERR_PARAM;
+
+ /*
+ * If the filesystem does not have a journal and ext2 is not
+ * present, then force this to be detected as an ext2
+ * filesystem.
+ */
+ if (!(fc & EXT3_FEATURE_COMPAT_HAS_JOURNAL) &&
+ !system_supports_ext2() && system_supports_ext4() &&
+ system_supports_ext4_ext2())
+ goto force_ext4;
+
+ /* Ext4 has at least one feature which ext3 doesn't understand */
+ if (!(frc & EXT3_FEATURE_RO_COMPAT_UNSUPPORTED) &&
+ !(fi & EXT3_FEATURE_INCOMPAT_UNSUPPORTED))
+ return -BLKID_ERR_PARAM;
+
+force_ext4:
+ /*
+ * If the filesystem is a OK for use by in-development
+ * filesystem code, and ext4dev is supported or ext4 is not
+ * supported, then don't call ourselves ext4, so we can redo
+ * the detection and mark the filesystem as ext4dev.
+ *
+ * If the filesystem is marked as in use by production
+ * filesystem, then it can only be used by ext4 and NOT by
+ * ext4dev.
+ */
+ if (le32_to_cpu(es->s_flags) & EXT2_FLAGS_TEST_FILESYS) {
+ if (system_supports_ext4dev() || !system_supports_ext4())
+ return -BLKID_ERR_PARAM;
+ }
+
+ ext_get_info(pr, 4, es);
+ return 0;
+}
+
+#define BLKID_EXT_MAGICS \
+ { \
+ { \
+ .magic = EXT_SB_MAGIC, \
+ .len = sizeof(EXT_SB_MAGIC) - 1, \
+ .kboff = EXT_SB_KBOFF, \
+ .sboff = EXT_MAG_OFF \
+ }, \
+ { NULL } \
+ }
+
+const struct blkid_idinfo jbd_idinfo =
+{
+ .name = "jbd",
+ .usage = BLKID_USAGE_OTHER,
+ .probefunc = probe_jbd,
+ .magics = BLKID_EXT_MAGICS
+};
+
+const struct blkid_idinfo ext2_idinfo =
+{
+ .name = "ext2",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_ext2,
+ .magics = BLKID_EXT_MAGICS
+};
+
+const struct blkid_idinfo ext3_idinfo =
+{
+ .name = "ext3",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_ext3,
+ .magics = BLKID_EXT_MAGICS
+};
+
+const struct blkid_idinfo ext4_idinfo =
+{
+ .name = "ext4",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_ext4,
+ .magics = BLKID_EXT_MAGICS
+};
+
+const struct blkid_idinfo ext4dev_idinfo =
+{
+ .name = "ext4dev",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_ext4dev,
+ .magics = BLKID_EXT_MAGICS
+};
+
diff --git a/libblkid/src/superblocks/gfs.c b/libblkid/src/superblocks/gfs.c
new file mode 100644
index 0000000..b2c0163
--- /dev/null
+++ b/libblkid/src/superblocks/gfs.c
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+/* Common gfs/gfs2 constants: */
+#define GFS_LOCKNAME_LEN 64
+
+/* gfs1 constants: */
+#define GFS_FORMAT_FS 1309
+#define GFS_FORMAT_MULTI 1401
+/* gfs2 constants: */
+#define GFS2_FORMAT_FS 1801
+#define GFS2_FORMAT_MULTI 1900
+
+struct gfs2_meta_header {
+ uint32_t mh_magic;
+ uint32_t mh_type;
+ uint64_t __pad0; /* Was generation number in gfs1 */
+ uint32_t mh_format;
+ uint32_t __pad1; /* Was incarnation number in gfs1 */
+};
+
+struct gfs2_inum {
+ uint64_t no_formal_ino;
+ uint64_t no_addr;
+};
+
+struct gfs2_sb {
+ struct gfs2_meta_header sb_header;
+
+ uint32_t sb_fs_format;
+ uint32_t sb_multihost_format;
+ uint32_t __pad0; /* Was superblock flags in gfs1 */
+
+ uint32_t sb_bsize;
+ uint32_t sb_bsize_shift;
+ uint32_t __pad1; /* Was journal segment size in gfs1 */
+
+ struct gfs2_inum sb_master_dir; /* Was jindex dinode in gfs1 */
+ struct gfs2_inum __pad2; /* Was rindex dinode in gfs1 */
+ struct gfs2_inum sb_root_dir;
+
+ char sb_lockproto[GFS_LOCKNAME_LEN];
+ char sb_locktable[GFS_LOCKNAME_LEN];
+
+ struct gfs2_inum __pad3; /* Was quota inode in gfs1 */
+ struct gfs2_inum __pad4; /* Was licence inode in gfs1 */
+ uint8_t sb_uuid[16]; /* The UUID maybe 0 for backwards compat */
+} __attribute__((packed));
+
+static int probe_gfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct gfs2_sb *sbd;
+
+ sbd = blkid_probe_get_sb(pr, mag, struct gfs2_sb);
+ if (!sbd)
+ return -1;
+
+ if (be32_to_cpu(sbd->sb_fs_format) == GFS_FORMAT_FS &&
+ be32_to_cpu(sbd->sb_multihost_format) == GFS_FORMAT_MULTI)
+ {
+ if (*sbd->sb_locktable)
+ blkid_probe_set_label(pr,
+ (unsigned char *) sbd->sb_locktable,
+ sizeof(sbd->sb_locktable));
+
+ blkid_probe_set_uuid(pr, sbd->sb_uuid);
+ return 0;
+ }
+
+ return -1;
+}
+
+static int probe_gfs2(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct gfs2_sb *sbd;
+
+ sbd = blkid_probe_get_sb(pr, mag, struct gfs2_sb);
+ if (!sbd)
+ return -1;
+
+ if (be32_to_cpu(sbd->sb_fs_format) == GFS2_FORMAT_FS &&
+ be32_to_cpu(sbd->sb_multihost_format) == GFS2_FORMAT_MULTI)
+ {
+ if (*sbd->sb_locktable)
+ blkid_probe_set_label(pr,
+ (unsigned char *) sbd->sb_locktable,
+ sizeof(sbd->sb_locktable));
+ blkid_probe_set_uuid(pr, sbd->sb_uuid);
+ blkid_probe_set_version(pr, "1");
+ return 0;
+ }
+ return -1;
+}
+
+const struct blkid_idinfo gfs_idinfo =
+{
+ .name = "gfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_gfs,
+ .minsz = 32 * 1024 * 1024, /* minimal size of GFS journal */
+ .magics =
+ {
+ { .magic = "\x01\x16\x19\x70", .len = 4, .kboff = 64 },
+ { NULL }
+ }
+};
+
+const struct blkid_idinfo gfs2_idinfo =
+{
+ .name = "gfs2",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_gfs2,
+ .minsz = 32 * 1024 * 1024, /* minimal size of GFS journal */
+ .magics =
+ {
+ { .magic = "\x01\x16\x19\x70", .len = 4, .kboff = 64 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/hfs.c b/libblkid/src/superblocks/hfs.c
new file mode 100644
index 0000000..6d960e9
--- /dev/null
+++ b/libblkid/src/superblocks/hfs.c
@@ -0,0 +1,321 @@
+/*
+ * Copyright (C) 2004-2008 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <inttypes.h>
+
+#include "superblocks.h"
+#include "md5.h"
+
+/* HFS / HFS+ */
+struct hfs_finder_info {
+ uint32_t boot_folder;
+ uint32_t start_app;
+ uint32_t open_folder;
+ uint32_t os9_folder;
+ uint32_t reserved;
+ uint32_t osx_folder;
+ uint8_t id[8];
+} __attribute__((packed));
+
+struct hfs_mdb {
+ uint8_t signature[2];
+ uint32_t cr_date;
+ uint32_t ls_Mod;
+ uint16_t atrb;
+ uint16_t nm_fls;
+ uint16_t vbm_st;
+ uint16_t alloc_ptr;
+ uint16_t nm_al_blks;
+ uint32_t al_blk_size;
+ uint32_t clp_size;
+ uint16_t al_bl_st;
+ uint32_t nxt_cnid;
+ uint16_t free_bks;
+ uint8_t label_len;
+ uint8_t label[27];
+ uint32_t vol_bkup;
+ uint16_t vol_seq_num;
+ uint32_t wr_cnt;
+ uint32_t xt_clump_size;
+ uint32_t ct_clump_size;
+ uint16_t num_root_dirs;
+ uint32_t file_count;
+ uint32_t dir_count;
+ struct hfs_finder_info finder_info;
+ uint8_t embed_sig[2];
+ uint16_t embed_startblock;
+ uint16_t embed_blockcount;
+} __attribute__((packed));
+
+
+#define HFS_NODE_LEAF 0xff
+#define HFSPLUS_POR_CNID 1
+
+struct hfsplus_bnode_descriptor {
+ uint32_t next;
+ uint32_t prev;
+ uint8_t type;
+ uint8_t height;
+ uint16_t num_recs;
+ uint16_t reserved;
+} __attribute__((packed));
+
+struct hfsplus_bheader_record {
+ uint16_t depth;
+ uint32_t root;
+ uint32_t leaf_count;
+ uint32_t leaf_head;
+ uint32_t leaf_tail;
+ uint16_t node_size;
+} __attribute__((packed));
+
+struct hfsplus_catalog_key {
+ uint16_t key_len;
+ uint32_t parent_id;
+ uint16_t unicode_len;
+ uint8_t unicode[255 * 2];
+} __attribute__((packed));
+
+struct hfsplus_extent {
+ uint32_t start_block;
+ uint32_t block_count;
+} __attribute__((packed));
+
+#define HFSPLUS_EXTENT_COUNT 8
+struct hfsplus_fork {
+ uint64_t total_size;
+ uint32_t clump_size;
+ uint32_t total_blocks;
+ struct hfsplus_extent extents[HFSPLUS_EXTENT_COUNT];
+} __attribute__((packed));
+
+struct hfsplus_vol_header {
+ uint8_t signature[2];
+ uint16_t version;
+ uint32_t attributes;
+ uint32_t last_mount_vers;
+ uint32_t reserved;
+ uint32_t create_date;
+ uint32_t modify_date;
+ uint32_t backup_date;
+ uint32_t checked_date;
+ uint32_t file_count;
+ uint32_t folder_count;
+ uint32_t blocksize;
+ uint32_t total_blocks;
+ uint32_t free_blocks;
+ uint32_t next_alloc;
+ uint32_t rsrc_clump_sz;
+ uint32_t data_clump_sz;
+ uint32_t next_cnid;
+ uint32_t write_count;
+ uint64_t encodings_bmp;
+ struct hfs_finder_info finder_info;
+ struct hfsplus_fork alloc_file;
+ struct hfsplus_fork ext_file;
+ struct hfsplus_fork cat_file;
+ struct hfsplus_fork attr_file;
+ struct hfsplus_fork start_file;
+} __attribute__((packed));
+
+#define HFSPLUS_SECTOR_SIZE 512
+
+static int hfs_set_uuid(blkid_probe pr, unsigned char const *hfs_info, size_t len)
+{
+ static unsigned char const hash_init[MD5LENGTH] = {
+ 0xb3, 0xe2, 0x0f, 0x39, 0xf2, 0x92, 0x11, 0xd6,
+ 0x97, 0xa4, 0x00, 0x30, 0x65, 0x43, 0xec, 0xac
+ };
+ unsigned char uuid[MD5LENGTH];
+ struct MD5Context md5c;
+
+ if (memcmp(hfs_info, "\0\0\0\0\0\0\0\0", len) == 0)
+ return -1;
+ MD5Init(&md5c);
+ MD5Update(&md5c, hash_init, MD5LENGTH);
+ MD5Update(&md5c, hfs_info, len);
+ MD5Final(uuid, &md5c);
+ uuid[6] = 0x30 | (uuid[6] & 0x0f);
+ uuid[8] = 0x80 | (uuid[8] & 0x3f);
+ return blkid_probe_set_uuid(pr, uuid);
+}
+
+static int probe_hfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct hfs_mdb *hfs;
+
+ hfs = blkid_probe_get_sb(pr, mag, struct hfs_mdb);
+ if (!hfs)
+ return -1;
+
+ if ((memcmp(hfs->embed_sig, "H+", 2) == 0) ||
+ (memcmp(hfs->embed_sig, "HX", 2) == 0))
+ return 1; /* Not hfs, but an embedded HFS+ */
+
+ hfs_set_uuid(pr, hfs->finder_info.id, sizeof(hfs->finder_info.id));
+
+ blkid_probe_set_label(pr, hfs->label, hfs->label_len);
+ return 0;
+}
+
+static int probe_hfsplus(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct hfsplus_extent extents[HFSPLUS_EXTENT_COUNT];
+ struct hfsplus_bnode_descriptor *descr;
+ struct hfsplus_bheader_record *bnode;
+ struct hfsplus_catalog_key *key;
+ struct hfsplus_vol_header *hfsplus;
+ struct hfs_mdb *sbd;
+ unsigned int alloc_block_size;
+ unsigned int alloc_first_block;
+ unsigned int embed_first_block;
+ unsigned int off = 0;
+ unsigned int blocksize;
+ unsigned int cat_block;
+ unsigned int ext_block_start;
+ unsigned int ext_block_count;
+ unsigned int record_count;
+ unsigned int leaf_node_head;
+ unsigned int leaf_node_count;
+ unsigned int leaf_node_size;
+ unsigned int leaf_block;
+ int ext;
+ uint64_t leaf_off;
+ unsigned char *buf;
+
+ sbd = blkid_probe_get_sb(pr, mag, struct hfs_mdb);
+ if (!sbd)
+ return -1;
+
+ /* Check for a HFS+ volume embedded in a HFS volume */
+ if (memcmp(sbd->signature, "BD", 2) == 0) {
+ if ((memcmp(sbd->embed_sig, "H+", 2) != 0) &&
+ (memcmp(sbd->embed_sig, "HX", 2) != 0))
+ /* This must be an HFS volume, so fail */
+ return 1;
+
+ alloc_block_size = be32_to_cpu(sbd->al_blk_size);
+ alloc_first_block = be16_to_cpu(sbd->al_bl_st);
+ embed_first_block = be16_to_cpu(sbd->embed_startblock);
+ off = (alloc_first_block * 512) +
+ (embed_first_block * alloc_block_size);
+
+ buf = blkid_probe_get_buffer(pr,
+ off + (mag->kboff * 1024),
+ sizeof(struct hfsplus_vol_header));
+ hfsplus = (struct hfsplus_vol_header *) buf;
+
+ } else
+ hfsplus = blkid_probe_get_sb(pr, mag,
+ struct hfsplus_vol_header);
+
+ if (!hfsplus)
+ return -1;
+
+ if ((memcmp(hfsplus->signature, "H+", 2) != 0) &&
+ (memcmp(hfsplus->signature, "HX", 2) != 0))
+ return 1;
+
+ hfs_set_uuid(pr, hfsplus->finder_info.id, sizeof(hfsplus->finder_info.id));
+
+ blocksize = be32_to_cpu(hfsplus->blocksize);
+ if (blocksize < HFSPLUS_SECTOR_SIZE)
+ return -1;
+
+ memcpy(extents, hfsplus->cat_file.extents, sizeof(extents));
+ cat_block = be32_to_cpu(extents[0].start_block);
+
+ buf = blkid_probe_get_buffer(pr,
+ off + ((blkid_loff_t) cat_block * blocksize), 0x2000);
+ if (!buf)
+ return 0;
+
+ bnode = (struct hfsplus_bheader_record *)
+ &buf[sizeof(struct hfsplus_bnode_descriptor)];
+
+ leaf_node_head = be32_to_cpu(bnode->leaf_head);
+ leaf_node_size = be16_to_cpu(bnode->node_size);
+ leaf_node_count = be32_to_cpu(bnode->leaf_count);
+ if (leaf_node_count == 0)
+ return 0;
+
+ leaf_block = (leaf_node_head * leaf_node_size) / blocksize;
+
+ /* get physical location */
+ for (ext = 0; ext < HFSPLUS_EXTENT_COUNT; ext++) {
+ ext_block_start = be32_to_cpu(extents[ext].start_block);
+ ext_block_count = be32_to_cpu(extents[ext].block_count);
+ if (ext_block_count == 0)
+ return 0;
+
+ /* this is our extent */
+ if (leaf_block < ext_block_count)
+ break;
+
+ leaf_block -= ext_block_count;
+ }
+ if (ext == HFSPLUS_EXTENT_COUNT)
+ return 0;
+
+ leaf_off = (ext_block_start + leaf_block) * blocksize;
+
+ buf = blkid_probe_get_buffer(pr,
+ (blkid_loff_t) off + leaf_off,
+ leaf_node_size);
+ if (!buf)
+ return 0;
+
+ descr = (struct hfsplus_bnode_descriptor *) buf;
+ record_count = be16_to_cpu(descr->num_recs);
+ if (record_count == 0)
+ return 0;
+
+ if (descr->type != HFS_NODE_LEAF)
+ return 0;
+
+ key = (struct hfsplus_catalog_key *)
+ &buf[sizeof(struct hfsplus_bnode_descriptor)];
+
+ if (be32_to_cpu(key->parent_id) != HFSPLUS_POR_CNID)
+ return 0;
+
+ blkid_probe_set_utf8label(pr, key->unicode,
+ be16_to_cpu(key->unicode_len) * 2,
+ BLKID_ENC_UTF16BE);
+ return 0;
+}
+
+const struct blkid_idinfo hfs_idinfo =
+{
+ .name = "hfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_hfs,
+ .flags = BLKID_IDINFO_TOLERANT,
+ .magics =
+ {
+ { .magic = "BD", .len = 2, .kboff = 1 },
+ { NULL }
+ }
+};
+
+const struct blkid_idinfo hfsplus_idinfo =
+{
+ .name = "hfsplus",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_hfsplus,
+ .magics =
+ {
+ { .magic = "BD", .len = 2, .kboff = 1 },
+ { .magic = "H+", .len = 2, .kboff = 1 },
+ { .magic = "HX", .len = 2, .kboff = 1 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/highpoint_raid.c b/libblkid/src/superblocks/highpoint_raid.c
new file mode 100644
index 0000000..0b41344
--- /dev/null
+++ b/libblkid/src/superblocks/highpoint_raid.c
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct hpt45x_metadata {
+ uint32_t magic;
+};
+
+#define HPT45X_MAGIC_OK 0x5a7816f3
+#define HPT45X_MAGIC_BAD 0x5a7816fd
+
+static int probe_highpoint45x(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct hpt45x_metadata *hpt;
+ uint64_t off;
+ uint32_t magic;
+
+ if (pr->size < 0x10000)
+ return -1;
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+
+ off = ((pr->size / 0x200) - 11) * 0x200;
+ hpt = (struct hpt45x_metadata *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct hpt45x_metadata));
+ if (!hpt)
+ return -1;
+ magic = le32_to_cpu(hpt->magic);
+ if (magic != HPT45X_MAGIC_OK && magic != HPT45X_MAGIC_BAD)
+ return -1;
+ if (blkid_probe_set_magic(pr, off, sizeof(hpt->magic),
+ (unsigned char *) &hpt->magic))
+ return -1;
+ return 0;
+}
+
+static int probe_highpoint37x(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+ return 0;
+}
+
+
+const struct blkid_idinfo highpoint45x_idinfo = {
+ .name = "hpt45x_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_highpoint45x,
+ .magics = BLKID_NONE_MAGIC
+};
+
+const struct blkid_idinfo highpoint37x_idinfo = {
+ .name = "hpt37x_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_highpoint37x,
+ .magics = {
+ /*
+ * Superblok offset: 4608 bytes (9 sectors)
+ * Magic string offset within superblock: 32 bytes
+ *
+ * kboff = (4608 + 32) / 1024
+ * sboff = (4608 + 32) % kboff
+ */
+ { .magic = "\xf0\x16\x78\x5a", .len = 4, .kboff = 4, .sboff = 544 },
+ { .magic = "\xfd\x16\x78\x5a", .len = 4, .kboff = 4, .sboff = 544 },
+ { NULL }
+ }
+};
+
+
diff --git a/libblkid/src/superblocks/hpfs.c b/libblkid/src/superblocks/hpfs.c
new file mode 100644
index 0000000..f9b851a
--- /dev/null
+++ b/libblkid/src/superblocks/hpfs.c
@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct hpfs_boot_block
+{
+ uint8_t jmp[3];
+ uint8_t oem_id[8];
+ uint8_t bytes_per_sector[2];
+ uint8_t sectors_per_cluster;
+ uint8_t n_reserved_sectors[2];
+ uint8_t n_fats;
+ uint8_t n_rootdir_entries[2];
+ uint8_t n_sectors_s[2];
+ uint8_t media_byte;
+ uint16_t sectors_per_fat;
+ uint16_t sectors_per_track;
+ uint16_t heads_per_cyl;
+ uint32_t n_hidden_sectors;
+ uint32_t n_sectors_l;
+ uint8_t drive_number;
+ uint8_t mbz;
+ uint8_t sig_28h;
+ uint8_t vol_serno[4];
+ uint8_t vol_label[11];
+ uint8_t sig_hpfs[8];
+ uint8_t pad[448];
+ uint8_t magic[2];
+} __attribute__((packed));
+
+struct hpfs_super_block
+{
+ uint8_t magic[4];
+ uint8_t magic1[4];
+ uint8_t version;
+} __attribute__((packed));
+
+struct hpfs_spare_super
+{
+ uint8_t magic[4];
+ uint8_t magic1[4];
+} __attribute__((packed));
+
+
+#define HPFS_SB_OFFSET 0x2000
+#define HPFS_SBSPARE_OFFSET 0x2200
+
+static int probe_hpfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct hpfs_super_block *hs;
+ struct hpfs_spare_super *hss;
+ struct hpfs_boot_block *hbb;
+ uint8_t version;
+
+ /* super block */
+ hs = blkid_probe_get_sb(pr, mag, struct hpfs_super_block);
+ if (!hs)
+ return -1;
+ version = hs->version;
+
+ /* spare super block */
+ hss = (struct hpfs_spare_super *)
+ blkid_probe_get_buffer(pr,
+ HPFS_SBSPARE_OFFSET,
+ sizeof(struct hpfs_spare_super));
+ if (!hss)
+ return -1;
+ if (memcmp(hss->magic, "\x49\x18\x91\xf9", 4) != 0)
+ return -1;
+
+ /* boot block (with UUID and LABEL) */
+ hbb = (struct hpfs_boot_block *)
+ blkid_probe_get_buffer(pr,
+ 0,
+ sizeof(struct hpfs_boot_block));
+ if (!hbb)
+ return -1;
+ if (memcmp(hbb->magic, "\x55\xaa", 2) == 0 &&
+ memcmp(hbb->sig_hpfs, "HPFS", 4) == 0 &&
+ hbb->sig_28h == 0x28) {
+ blkid_probe_set_label(pr, hbb->vol_label, sizeof(hbb->vol_label));
+ blkid_probe_sprintf_uuid(pr,
+ hbb->vol_serno, sizeof(hbb->vol_serno),
+ "%02X%02X-%02X%02X",
+ hbb->vol_serno[3], hbb->vol_serno[2],
+ hbb->vol_serno[1], hbb->vol_serno[0]);
+ }
+ blkid_probe_sprintf_version(pr, "%u", version);
+
+ return 0;
+}
+
+const struct blkid_idinfo hpfs_idinfo =
+{
+ .name = "hpfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_hpfs,
+ .magics =
+ {
+ {
+ .magic = "\x49\xe8\x95\xf9",
+ .len = 4,
+ .kboff = (HPFS_SB_OFFSET >> 10)
+ },
+ { NULL }
+ }
+};
+
+
diff --git a/libblkid/src/superblocks/iso9660.c b/libblkid/src/superblocks/iso9660.c
new file mode 100644
index 0000000..f7d2b76
--- /dev/null
+++ b/libblkid/src/superblocks/iso9660.c
@@ -0,0 +1,215 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired also by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct iso9660_date {
+ unsigned char year[4];
+ unsigned char month[2];
+ unsigned char day[2];
+ unsigned char hour[2];
+ unsigned char minute[2];
+ unsigned char second[2];
+ unsigned char hundredth[2];
+ unsigned char offset;
+} __attribute__ ((packed));
+
+/* PVD - Primary volume descriptor */
+struct iso_volume_descriptor {
+ unsigned char vd_type;
+ unsigned char vd_id[5];
+ unsigned char vd_version;
+ unsigned char flags;
+ unsigned char system_id[32];
+ unsigned char volume_id[32];
+ unsigned char unused[8];
+ unsigned char space_size[8];
+ unsigned char escape_sequences[8];
+ unsigned char unused1[717];
+ struct iso9660_date created;
+ struct iso9660_date modified;
+} __attribute__((packed));
+
+#define ISO_SUPERBLOCK_OFFSET 0x8000
+#define ISO_SECTOR_SIZE 0x800
+#define ISO_VD_OFFSET (ISO_SUPERBLOCK_OFFSET + ISO_SECTOR_SIZE)
+#define ISO_VD_SUPPLEMENTARY 0x2
+#define ISO_VD_END 0xff
+#define ISO_VD_MAX 16
+
+struct high_sierra_volume_descriptor {
+ unsigned char foo[8];
+ unsigned char type;
+ unsigned char id[5];
+ unsigned char version;
+ unsigned char unused1;
+ unsigned char system_id[32];
+ unsigned char volume_id[32];
+} __attribute__((packed));
+
+/* returns 1 if the begin of @ascii is equal to @utf16 string.
+ */
+static int ascii_eq_utf16be(unsigned char *ascii,
+ unsigned char *utf16, size_t len)
+{
+ size_t a, u;
+
+ for (a = 0, u = 0; u < len; a++, u += 2) {
+ if (utf16[u] != 0x0 || ascii[a] != utf16[u + 1])
+ return 0;
+ }
+ return 1;
+}
+
+/* old High Sierra format */
+static int probe_iso9660_hsfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct high_sierra_volume_descriptor *iso;
+
+ iso = blkid_probe_get_sb(pr, mag, struct high_sierra_volume_descriptor);
+ if (!iso)
+ return -1;
+
+ blkid_probe_set_version(pr, "High Sierra");
+ blkid_probe_set_label(pr, iso->volume_id, sizeof(iso->volume_id));
+ return 0;
+}
+
+static int probe_iso9660_set_uuid (blkid_probe pr, const struct iso9660_date *date)
+{
+ unsigned char buffer[16];
+ unsigned int i, zeros = 0;
+
+ buffer[0] = date->year[0];
+ buffer[1] = date->year[1];
+ buffer[2] = date->year[2];
+ buffer[3] = date->year[3];
+ buffer[4] = date->month[0];
+ buffer[5] = date->month[1];
+ buffer[6] = date->day[0];
+ buffer[7] = date->day[1];
+ buffer[8] = date->hour[0];
+ buffer[9] = date->hour[1];
+ buffer[10] = date->minute[0];
+ buffer[11] = date->minute[1];
+ buffer[12] = date->second[0];
+ buffer[13] = date->second[1];
+ buffer[14] = date->hundredth[0];
+ buffer[15] = date->hundredth[1];
+
+ /* count the number of zeros ('0') in the date buffer */
+ for (i = 0, zeros = 0; i < sizeof(buffer); i++)
+ if (buffer[i] == '0')
+ zeros++;
+
+ /* due to the iso9660 standard if all date fields are '0' and offset is 0, the date is unset */
+ if (zeros == sizeof(buffer) && date->offset == 0)
+ return 0;
+
+ /* generate an UUID using this date and return success */
+ blkid_probe_sprintf_uuid (pr, buffer, sizeof(buffer),
+ "%c%c%c%c-%c%c-%c%c-%c%c-%c%c-%c%c-%c%c",
+ buffer[0], buffer[1], buffer[2], buffer[3],
+ buffer[4], buffer[5],
+ buffer[6], buffer[7],
+ buffer[8], buffer[9],
+ buffer[10], buffer[11],
+ buffer[12], buffer[13],
+ buffer[14], buffer[15]);
+
+ return 1;
+}
+
+/* iso9660 [+ Microsoft Joliet Extension] */
+static int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct iso_volume_descriptor *iso;
+ unsigned char label[32];
+ int i;
+ int off;
+
+ if (strcmp(mag->magic, "CDROM") == 0)
+ return probe_iso9660_hsfs(pr, mag);
+
+ iso = blkid_probe_get_sb(pr, mag, struct iso_volume_descriptor);
+ if (!iso)
+ return -1;
+
+ memcpy(label, iso->volume_id, sizeof(label));
+
+ /* create an UUID using the modified/created date */
+ if (! probe_iso9660_set_uuid(pr, &iso->modified))
+ probe_iso9660_set_uuid(pr, &iso->created);
+
+ /* Joliet Extension */
+ off = ISO_VD_OFFSET;
+ for (i = 0; i < ISO_VD_MAX; i++) {
+ iso = (struct iso_volume_descriptor *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct iso_volume_descriptor));
+
+ if (iso == NULL || iso->vd_type == ISO_VD_END)
+ break;
+ if (iso->vd_type != ISO_VD_SUPPLEMENTARY)
+ continue;
+
+ if (memcmp(iso->escape_sequences, "%/@", 3) == 0 ||
+ memcmp(iso->escape_sequences, "%/C", 3) == 0 ||
+ memcmp(iso->escape_sequences, "%/E", 3) == 0) {
+
+ blkid_probe_set_version(pr, "Joliet Extension");
+
+ /* Is the Joliet (UTF16BE) label equal to the label in
+ * the PVD? If yes, use PVD label. The Jolied version
+ * of the label could be trimed (because UTF16..).
+ */
+ if (ascii_eq_utf16be(label, iso->volume_id, 32))
+ break;
+
+ blkid_probe_set_utf8label(pr,
+ iso->volume_id,
+ sizeof(iso->volume_id),
+ BLKID_ENC_UTF16BE);
+ goto has_label;
+ }
+ off += ISO_SECTOR_SIZE;
+ }
+
+ /* Joliet not found, let use standard iso label */
+ blkid_probe_set_label(pr, label, sizeof(label));
+
+has_label:
+ return 0;
+}
+
+const struct blkid_idinfo iso9660_idinfo =
+{
+ .name = "iso9660",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_iso9660,
+ .flags = BLKID_IDINFO_TOLERANT,
+ .magics =
+ {
+ { .magic = "CD001", .len = 5, .kboff = 32, .sboff = 1 },
+ { .magic = "CDROM", .len = 5, .kboff = 32, .sboff = 9 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/isw_raid.c b/libblkid/src/superblocks/isw_raid.c
new file mode 100644
index 0000000..755c1b6
--- /dev/null
+++ b/libblkid/src/superblocks/isw_raid.c
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct isw_metadata {
+ uint8_t sig[32];
+ uint32_t check_sum;
+ uint32_t mpb_size;
+ uint32_t family_num;
+ uint32_t generation_num;
+};
+
+#define ISW_SIGNATURE "Intel Raid ISM Cfg Sig. "
+
+
+static int probe_iswraid(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ uint64_t off;
+ struct isw_metadata *isw;
+
+ if (pr->size < 0x10000)
+ return -1;
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+
+ off = ((pr->size / 0x200) - 2) * 0x200;
+ isw = (struct isw_metadata *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct isw_metadata));
+ if (!isw)
+ return -1;
+ if (memcmp(isw->sig, ISW_SIGNATURE, sizeof(ISW_SIGNATURE)-1) != 0)
+ return -1;
+ if (blkid_probe_sprintf_version(pr, "%6s",
+ &isw->sig[sizeof(ISW_SIGNATURE)-1]) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr, off, sizeof(isw->sig),
+ (unsigned char *) isw->sig))
+ return -1;
+ return 0;
+}
+
+const struct blkid_idinfo iswraid_idinfo = {
+ .name = "isw_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_iswraid,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/jfs.c b/libblkid/src/superblocks/jfs.c
new file mode 100644
index 0000000..78c018c
--- /dev/null
+++ b/libblkid/src/superblocks/jfs.c
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct jfs_super_block {
+ unsigned char js_magic[4];
+ uint32_t js_version;
+ uint64_t js_size;
+ uint32_t js_bsize; /* 4: aggregate block size in bytes */
+ uint16_t js_l2bsize; /* 2: log2 of s_bsize */
+ uint16_t js_l2bfactor; /* 2: log2(s_bsize/hardware block size) */
+ uint32_t js_pbsize; /* 4: hardware/LVM block size in bytes */
+ uint16_t js_l2pbsize; /* 2: log2 of s_pbsize */
+ uint16_t js_pad; /* 2: padding necessary for alignment */
+ uint32_t js_dummy2[26];
+ unsigned char js_uuid[16];
+ unsigned char js_label[16];
+ unsigned char js_loguuid[16];
+};
+
+static int probe_jfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct jfs_super_block *js;
+
+ js = blkid_probe_get_sb(pr, mag, struct jfs_super_block);
+ if (!js)
+ return -1;
+ if (le32_to_cpu(js->js_bsize) != (1U << le16_to_cpu(js->js_l2bsize)))
+ return 1;
+ if (le32_to_cpu(js->js_pbsize) != (1U << le16_to_cpu(js->js_l2pbsize)))
+ return 1;
+ if ((le16_to_cpu(js->js_l2bsize) - le16_to_cpu(js->js_l2pbsize)) !=
+ le16_to_cpu(js->js_l2bfactor))
+ return 1;
+
+ if (strlen((char *) js->js_label))
+ blkid_probe_set_label(pr, js->js_label, sizeof(js->js_label));
+ blkid_probe_set_uuid(pr, js->js_uuid);
+ return 0;
+}
+
+
+const struct blkid_idinfo jfs_idinfo =
+{
+ .name = "jfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_jfs,
+ .minsz = 16 * 1024 * 1024,
+ .magics =
+ {
+ { .magic = "JFS1", .len = 4, .kboff = 32 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/jmicron_raid.c b/libblkid/src/superblocks/jmicron_raid.c
new file mode 100644
index 0000000..c708078
--- /dev/null
+++ b/libblkid/src/superblocks/jmicron_raid.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct jm_metadata {
+ int8_t signature[2];
+ uint8_t minor_version;
+ uint8_t major_version;
+ uint16_t checksum;
+};
+
+#define JM_SIGNATURE "JM"
+
+static int probe_jmraid(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ uint64_t off;
+ struct jm_metadata *jm;
+
+ if (pr->size < 0x10000)
+ return -1;
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+
+ off = ((pr->size / 0x200) - 1) * 0x200;
+ jm = (struct jm_metadata *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct jm_metadata));
+ if (!jm)
+ return -1;
+ if (memcmp(jm->signature, JM_SIGNATURE, sizeof(JM_SIGNATURE) - 1) != 0)
+ return -1;
+ if (blkid_probe_sprintf_version(pr, "%u.%u",
+ jm->major_version, jm->minor_version) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr, off, sizeof(jm->signature),
+ (unsigned char *) jm->signature))
+ return -1;
+ return 0;
+}
+
+const struct blkid_idinfo jmraid_idinfo = {
+ .name = "jmicron_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_jmraid,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/linux_raid.c b/libblkid/src/superblocks/linux_raid.c
new file mode 100644
index 0000000..a3f9d67
--- /dev/null
+++ b/libblkid/src/superblocks/linux_raid.c
@@ -0,0 +1,258 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct mdp0_super_block {
+ uint32_t md_magic;
+ uint32_t major_version;
+ uint32_t minor_version;
+ uint32_t patch_version;
+ uint32_t gvalid_words;
+ uint32_t set_uuid0;
+ uint32_t ctime;
+ uint32_t level;
+ uint32_t size;
+ uint32_t nr_disks;
+ uint32_t raid_disks;
+ uint32_t md_minor;
+ uint32_t not_persistent;
+ uint32_t set_uuid1;
+ uint32_t set_uuid2;
+ uint32_t set_uuid3;
+};
+
+/*
+ * Version-1, little-endian.
+ */
+struct mdp1_super_block {
+ /* constant array information - 128 bytes */
+ uint32_t magic; /* MD_SB_MAGIC: 0xa92b4efc - little endian */
+ uint32_t major_version; /* 1 */
+ uint32_t feature_map; /* 0 for now */
+ uint32_t pad0; /* always set to 0 when writing */
+
+ uint8_t set_uuid[16]; /* user-space generated. */
+ unsigned char set_name[32]; /* set and interpreted by user-space */
+
+ uint64_t ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
+ uint32_t level; /* -4 (multipath), -1 (linear), 0,1,4,5 */
+ uint32_t layout; /* only for raid5 currently */
+ uint64_t size; /* used size of component devices, in 512byte sectors */
+
+ uint32_t chunksize; /* in 512byte sectors */
+ uint32_t raid_disks;
+ uint32_t bitmap_offset; /* sectors after start of superblock that bitmap starts
+ * NOTE: signed, so bitmap can be before superblock
+ * only meaningful of feature_map[0] is set.
+ */
+
+ /* These are only valid with feature bit '4' */
+ uint32_t new_level; /* new level we are reshaping to */
+ uint64_t reshape_position; /* next address in array-space for reshape */
+ uint32_t delta_disks; /* change in number of raid_disks */
+ uint32_t new_layout; /* new layout */
+ uint32_t new_chunk; /* new chunk size (bytes) */
+ uint8_t pad1[128-124]; /* set to 0 when written */
+
+ /* constant this-device information - 64 bytes */
+ uint64_t data_offset; /* sector start of data, often 0 */
+ uint64_t data_size; /* sectors in this device that can be used for data */
+ uint64_t super_offset; /* sector start of this superblock */
+ uint64_t recovery_offset;/* sectors before this offset (from data_offset) have been recovered */
+ uint32_t dev_number; /* permanent identifier of this device - not role in raid */
+ uint32_t cnt_corrected_read; /* number of read errors that were corrected by re-writing */
+ uint8_t device_uuid[16]; /* user-space setable, ignored by kernel */
+ uint8_t devflags; /* per-device flags. Only one defined...*/
+ uint8_t pad2[64-57]; /* set to 0 when writing */
+
+ /* array state information - 64 bytes */
+ uint64_t utime; /* 40 bits second, 24 btes microseconds */
+ uint64_t events; /* incremented when superblock updated */
+ uint64_t resync_offset; /* data before this offset (from data_offset) known to be in sync */
+ uint32_t sb_csum; /* checksum up to dev_roles[max_dev] */
+ uint32_t max_dev; /* size of dev_roles[] array to consider */
+ uint8_t pad3[64-32]; /* set to 0 when writing */
+
+ /* device state information. Indexed by dev_number.
+ * 2 bytes per device
+ * Note there are no per-device state flags. State information is rolled
+ * into the 'roles' value. If a device is spare or faulty, then it doesn't
+ * have a meaningful role.
+ */
+ uint16_t dev_roles[0]; /* role in array, or 0xffff for a spare, or 0xfffe for faulty */
+};
+
+
+#define MD_RESERVED_BYTES 0x10000
+#define MD_SB_MAGIC 0xa92b4efc
+
+static int probe_raid0(blkid_probe pr, blkid_loff_t off)
+{
+ struct mdp0_super_block *mdp0;
+ union {
+ uint32_t ints[4];
+ uint8_t bytes[16];
+ } uuid;
+ uint32_t ma, mi, pa;
+ uint64_t size;
+
+ if (pr->size < MD_RESERVED_BYTES)
+ return -1;
+ mdp0 = (struct mdp0_super_block *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct mdp0_super_block));
+ if (!mdp0)
+ return -1;
+
+ memset(uuid.ints, 0, sizeof(uuid.ints));
+
+ if (le32_to_cpu(mdp0->md_magic) == MD_SB_MAGIC) {
+ uuid.ints[0] = swab32(mdp0->set_uuid0);
+ if (le32_to_cpu(mdp0->minor_version) >= 90) {
+ uuid.ints[1] = swab32(mdp0->set_uuid1);
+ uuid.ints[2] = swab32(mdp0->set_uuid2);
+ uuid.ints[3] = swab32(mdp0->set_uuid3);
+ }
+ ma = le32_to_cpu(mdp0->major_version);
+ mi = le32_to_cpu(mdp0->minor_version);
+ pa = le32_to_cpu(mdp0->patch_version);
+ size = le32_to_cpu(mdp0->size);
+
+ } else if (be32_to_cpu(mdp0->md_magic) == MD_SB_MAGIC) {
+ uuid.ints[0] = mdp0->set_uuid0;
+ if (be32_to_cpu(mdp0->minor_version) >= 90) {
+ uuid.ints[1] = mdp0->set_uuid1;
+ uuid.ints[2] = mdp0->set_uuid2;
+ uuid.ints[3] = mdp0->set_uuid3;
+ }
+ ma = be32_to_cpu(mdp0->major_version);
+ mi = be32_to_cpu(mdp0->minor_version);
+ pa = be32_to_cpu(mdp0->patch_version);
+ size = be32_to_cpu(mdp0->size);
+ } else
+ return 1;
+
+ size <<= 10; /* convert KiB to bytes */
+
+ if (pr->size < 0 || (uint64_t) pr->size < size + MD_RESERVED_BYTES)
+ /* device is too small */
+ return 1;
+
+ if (off < 0 || (uint64_t) off < size)
+ /* no space before superblock */
+ return 1;
+
+ /*
+ * Check for collisions between RAID and partition table
+ *
+ * For example the superblock is at the end of the last partition, it's
+ * the same position as at the end of the disk...
+ */
+ if ((S_ISREG(pr->mode) || blkid_probe_is_wholedisk(pr)) &&
+ blkid_probe_is_covered_by_pt(pr,
+ off - size, /* min. start */
+ size + MD_RESERVED_BYTES)) { /* min. length */
+
+ /* ignore this superblock, it's within any partition and
+ * we are working with whole-disk now */
+ return 1;
+ }
+
+ if (blkid_probe_sprintf_version(pr, "%u.%u.%u", ma, mi, pa) != 0)
+ return -1;
+ if (blkid_probe_set_uuid(pr, (unsigned char *) uuid.bytes) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr, off, sizeof(mdp0->md_magic),
+ (unsigned char *) &mdp0->md_magic))
+ return -1;
+ return 0;
+}
+
+static int probe_raid1(blkid_probe pr, off_t off)
+{
+ struct mdp1_super_block *mdp1;
+
+ mdp1 = (struct mdp1_super_block *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct mdp1_super_block));
+ if (!mdp1)
+ return -1;
+ if (le32_to_cpu(mdp1->magic) != MD_SB_MAGIC)
+ return -1;
+ if (le32_to_cpu(mdp1->major_version) != 1U)
+ return -1;
+ if (le64_to_cpu(mdp1->super_offset) != (uint64_t) off >> 9)
+ return -1;
+ if (blkid_probe_set_uuid(pr, (unsigned char *) mdp1->set_uuid) != 0)
+ return -1;
+ if (blkid_probe_set_uuid_as(pr,
+ (unsigned char *) mdp1->device_uuid, "UUID_SUB") != 0)
+ return -1;
+ if (blkid_probe_set_label(pr, mdp1->set_name,
+ sizeof(mdp1->set_name)) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr, off, sizeof(mdp1->magic),
+ (unsigned char *) &mdp1->magic))
+ return -1;
+ return 0;
+}
+
+int probe_raid(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ const char *ver = NULL;
+
+ if (pr->size > MD_RESERVED_BYTES) {
+ /* version 0 at the end of the device */
+ uint64_t sboff = (pr->size & ~(MD_RESERVED_BYTES - 1))
+ - MD_RESERVED_BYTES;
+ if (probe_raid0(pr, sboff) == 0)
+ return 0;
+
+ /* version 1.0 at the end of the device */
+ sboff = (pr->size & ~(0x1000 - 1)) - 0x2000;
+ if (probe_raid1(pr, sboff) == 0)
+ ver = "1.0";
+ }
+
+ if (!ver) {
+ /* version 1.1 at the start of the device */
+ if (probe_raid1(pr, 0) == 0)
+ ver = "1.1";
+
+ /* version 1.2 at 4k offset from the start */
+ else if (probe_raid1(pr, 0x1000) == 0)
+ ver = "1.2";
+ }
+
+ if (ver) {
+ blkid_probe_set_version(pr, ver);
+ return 0;
+ }
+ return -1;
+}
+
+
+const struct blkid_idinfo linuxraid_idinfo = {
+ .name = "linux_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_raid,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/lsi_raid.c b/libblkid/src/superblocks/lsi_raid.c
new file mode 100644
index 0000000..56721dd
--- /dev/null
+++ b/libblkid/src/superblocks/lsi_raid.c
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct lsi_metadata {
+ uint8_t sig[6];
+};
+
+
+#define LSI_SIGNATURE "$XIDE$"
+
+static int probe_lsiraid(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ uint64_t off;
+ struct lsi_metadata *lsi;
+
+ if (pr->size < 0x10000)
+ return -1;
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+
+ off = ((pr->size / 0x200) - 1) * 0x200;
+ lsi = (struct lsi_metadata *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct lsi_metadata));
+ if (!lsi)
+ return -1;
+
+ if (memcmp(lsi->sig, LSI_SIGNATURE, sizeof(LSI_SIGNATURE)-1) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr, off, sizeof(lsi->sig),
+ (unsigned char *) lsi->sig))
+ return -1;
+ return 0;
+}
+
+const struct blkid_idinfo lsiraid_idinfo = {
+ .name = "lsi_mega_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_lsiraid,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/luks.c b/libblkid/src/superblocks/luks.c
new file mode 100644
index 0000000..f716e31
--- /dev/null
+++ b/libblkid/src/superblocks/luks.c
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+#define LUKS_CIPHERNAME_L 32
+#define LUKS_CIPHERMODE_L 32
+#define LUKS_HASHSPEC_L 32
+#define LUKS_DIGESTSIZE 20
+#define LUKS_SALTSIZE 32
+#define LUKS_MAGIC_L 6
+#define UUID_STRING_L 40
+
+struct luks_phdr {
+ uint8_t magic[LUKS_MAGIC_L];
+ uint16_t version;
+ uint8_t cipherName[LUKS_CIPHERNAME_L];
+ uint8_t cipherMode[LUKS_CIPHERMODE_L];
+ uint8_t hashSpec[LUKS_HASHSPEC_L];
+ uint32_t payloadOffset;
+ uint32_t keyBytes;
+ uint8_t mkDigest[LUKS_DIGESTSIZE];
+ uint8_t mkDigestSalt[LUKS_SALTSIZE];
+ uint32_t mkDigestIterations;
+ uint8_t uuid[UUID_STRING_L];
+} __attribute__((packed));
+
+static int probe_luks(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct luks_phdr *header;
+
+ header = blkid_probe_get_sb(pr, mag, struct luks_phdr);
+ if (header == NULL)
+ return -1;
+
+ blkid_probe_strncpy_uuid(pr, (unsigned char *) header->uuid,
+ sizeof(header->uuid));
+ blkid_probe_sprintf_version(pr, "%u", be16_to_cpu(header->version));
+ return 0;
+}
+
+const struct blkid_idinfo luks_idinfo =
+{
+ .name = "crypto_LUKS",
+ .usage = BLKID_USAGE_CRYPTO,
+ .probefunc = probe_luks,
+ .magics =
+ {
+ { .magic = "LUKS\xba\xbe", .len = 6 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/lvm.c b/libblkid/src/superblocks/lvm.c
new file mode 100644
index 0000000..0afc773
--- /dev/null
+++ b/libblkid/src/superblocks/lvm.c
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ * Copyright (C) 2012 Milan Broz <mbroz@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+#define LVM1_ID_LEN 128
+#define LVM2_ID_LEN 32
+
+struct lvm2_pv_label_header {
+ /* label_header */
+ uint8_t id[8]; /* LABELONE */
+ uint64_t sector_xl; /* Sector number of this label */
+ uint32_t crc_xl; /* From next field to end of sector */
+ uint32_t offset_xl; /* Offset from start of struct to contents */
+ uint8_t type[8]; /* LVM2 001 */
+ /* pv_header */
+ uint8_t pv_uuid[LVM2_ID_LEN];
+} __attribute__ ((packed));
+
+struct lvm1_pv_label_header {
+ uint8_t id[2]; /* HM */
+ uint16_t version; /* version 1 or 2 */
+ uint32_t _notused[10]; /* lvm1 internals */
+ uint8_t pv_uuid[LVM1_ID_LEN];
+} __attribute__ ((packed));
+
+#define LVM2_LABEL_SIZE 512
+static unsigned int lvm2_calc_crc(const void *buf, unsigned int size)
+{
+ static const unsigned int crctab[] = {
+ 0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac,
+ 0x76dc4190, 0x6b6b51f4, 0x4db26158, 0x5005713c,
+ 0xedb88320, 0xf00f9344, 0xd6d6a3e8, 0xcb61b38c,
+ 0x9b64c2b0, 0x86d3d2d4, 0xa00ae278, 0xbdbdf21c
+ };
+ unsigned int i, crc = 0xf597a6cf;
+ const uint8_t *data = (const uint8_t *) buf;
+
+ for (i = 0; i < size; i++) {
+ crc ^= *data++;
+ crc = (crc >> 4) ^ crctab[crc & 0xf];
+ crc = (crc >> 4) ^ crctab[crc & 0xf];
+ }
+ return crc;
+}
+
+/* Length of real UUID is always LVM2_ID_LEN */
+static void format_lvm_uuid(char *dst_uuid, char *src_uuid)
+{
+ unsigned int i, b;
+
+ for (i = 0, b = 1; i < LVM2_ID_LEN; i++, b <<= 1) {
+ if (b & 0x4444440)
+ *dst_uuid++ = '-';
+ *dst_uuid++ = *src_uuid++;
+ }
+ *dst_uuid = '\0';
+}
+
+static int probe_lvm2(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ int sector = mag->kboff << 1;
+ struct lvm2_pv_label_header *label;
+ char uuid[LVM2_ID_LEN + 7];
+ unsigned char *buf;
+
+ buf = blkid_probe_get_buffer(pr,
+ mag->kboff << 10,
+ 512 + sizeof(struct lvm2_pv_label_header));
+ if (!buf)
+ return -1;
+
+ /* buf is at 0k or 1k offset; find label inside */
+ if (memcmp(buf, "LABELONE", 8) == 0) {
+ label = (struct lvm2_pv_label_header *) buf;
+ } else if (memcmp(buf + 512, "LABELONE", 8) == 0) {
+ label = (struct lvm2_pv_label_header *)(buf + 512);
+ sector++;
+ } else {
+ return 1;
+ }
+
+ if (le64_to_cpu(label->sector_xl) != (unsigned) sector)
+ return 1;
+
+ if (lvm2_calc_crc(&label->offset_xl, LVM2_LABEL_SIZE -
+ ((char *) &label->offset_xl - (char *) label)) !=
+ le32_to_cpu(label->crc_xl)) {
+ DBG(DEBUG_PROBE,
+ printf("LVM2: label checksum incorrect at sector %d\n",
+ sector));
+ return 1;
+ }
+
+ format_lvm_uuid(uuid, (char *) label->pv_uuid);
+ blkid_probe_sprintf_uuid(pr, label->pv_uuid, sizeof(label->pv_uuid),
+ "%s", uuid);
+
+ /* the mag->magic is the same string as label->type,
+ * but zero terminated */
+ blkid_probe_set_version(pr, mag->magic);
+
+ /* LVM (pvcreate) wipes begin of the device -- let's remember this
+ * to resolve conflicts bettween LVM and partition tables, ...
+ */
+ blkid_probe_set_wiper(pr, 0, 8 * 1024);
+
+ return 0;
+}
+
+static int probe_lvm1(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct lvm1_pv_label_header *label;
+ char uuid[LVM2_ID_LEN + 7];
+ unsigned int version;
+
+ label = blkid_probe_get_sb(pr, mag, struct lvm1_pv_label_header);
+ if (!label)
+ return -1;
+
+ version = le16_to_cpu(label->version);
+ if (version != 1 && version != 2)
+ return 1;
+
+ format_lvm_uuid(uuid, (char *) label->pv_uuid);
+ blkid_probe_sprintf_uuid(pr, label->pv_uuid, sizeof(label->pv_uuid),
+ "%s", uuid);
+
+ return 0;
+}
+
+struct verity_sb {
+ uint8_t signature[8]; /* "verity\0\0" */
+ uint32_t version; /* superblock version */
+ uint32_t hash_type; /* 0 - Chrome OS, 1 - normal */
+ uint8_t uuid[16]; /* UUID of hash device */
+ uint8_t algorithm[32];/* hash algorithm name */
+ uint32_t data_block_size; /* data block in bytes */
+ uint32_t hash_block_size; /* hash block in bytes */
+ uint64_t data_blocks; /* number of data blocks */
+ uint16_t salt_size; /* salt size */
+ uint8_t _pad1[6];
+ uint8_t salt[256]; /* salt */
+ uint8_t _pad2[168];
+} __attribute__((packed));
+
+static int probe_verity(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct verity_sb *sb;
+ unsigned int version;
+
+ sb = blkid_probe_get_sb(pr, mag, struct verity_sb);
+ if (sb == NULL)
+ return -1;
+
+ version = le32_to_cpu(sb->version);
+ if (version != 1)
+ return 1;
+
+ blkid_probe_set_uuid(pr, sb->uuid);
+ blkid_probe_sprintf_version(pr, "%u", version);
+ return 0;
+}
+
+/* NOTE: the original libblkid uses "lvm2pv" as a name */
+const struct blkid_idinfo lvm2_idinfo =
+{
+ .name = "LVM2_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_lvm2,
+ .magics =
+ {
+ { .magic = "LVM2 001", .len = 8, .sboff = 0x218 },
+ { .magic = "LVM2 001", .len = 8, .sboff = 0x018 },
+ { .magic = "LVM2 001", .len = 8, .kboff = 1, .sboff = 0x018 },
+ { .magic = "LVM2 001", .len = 8, .kboff = 1, .sboff = 0x218 },
+ { NULL }
+ }
+};
+
+const struct blkid_idinfo lvm1_idinfo =
+{
+ .name = "LVM1_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_lvm1,
+ .magics =
+ {
+ { .magic = "HM", .len = 2 },
+ { NULL }
+ }
+};
+
+const struct blkid_idinfo snapcow_idinfo =
+{
+ .name = "DM_snapshot_cow",
+ .usage = BLKID_USAGE_OTHER,
+ .magics =
+ {
+ { .magic = "SnAp", .len = 4 },
+ { NULL }
+ }
+};
+
+const struct blkid_idinfo verity_hash_idinfo =
+{
+ .name = "DM_verity_hash",
+ .usage = BLKID_USAGE_CRYPTO,
+ .probefunc = probe_verity,
+ .magics =
+ {
+ { .magic = "verity\0\0", .len = 8 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/minix.c b/libblkid/src/superblocks/minix.c
new file mode 100644
index 0000000..54e7139
--- /dev/null
+++ b/libblkid/src/superblocks/minix.c
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <string.h>
+#include "superblocks.h"
+#include "minix.h"
+
+static int probe_minix(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ unsigned char *ext;
+ int version;
+
+ /* for more details see magic strings below */
+ switch(mag->magic[1]) {
+ case '\023':
+ version = 1;
+ break;
+ case '\044':
+ version = 2;
+ break;
+ case '\115':
+ version = 3;
+ break;
+ default:
+ return -1;
+ break;
+ }
+
+ if (version <= 2) {
+ struct minix_super_block *sb;
+ uint32_t zones;
+
+ sb = blkid_probe_get_sb(pr, mag, struct minix_super_block);
+ if (!sb || sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0)
+ return -1;
+
+ zones = version == 2 ? sb->s_zones : sb->s_nzones;
+
+ /* sanity checks to be sure that the FS is really minix */
+ if (sb->s_imap_blocks * MINIX_BLOCK_SIZE * 8 < sb->s_ninodes + 1)
+ return -1;
+ if (sb->s_zmap_blocks * MINIX_BLOCK_SIZE * 8 < zones - sb->s_firstdatazone + 1)
+ return -1;
+
+ } else if (version == 3) {
+ struct minix3_super_block *sb;
+
+ sb = blkid_probe_get_sb(pr, mag, struct minix3_super_block);
+ if (!sb || sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0)
+ return -1;
+
+ }
+
+ /* unfortunately, some parts of ext3 is sometimes possible to
+ * interpreted as minix superblock. So check for extN magic
+ * string. (For extN magic string and offsets see ext.c.)
+ */
+ ext = blkid_probe_get_buffer(pr, 0x400 + 0x38, 2);
+ if (ext && memcmp(ext, "\123\357", 2) == 0)
+ return -1;
+
+ blkid_probe_sprintf_version(pr, "%d", version);
+ return 0;
+}
+
+const struct blkid_idinfo minix_idinfo =
+{
+ .name = "minix",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_minix,
+ .magics =
+ {
+ /* version 1 */
+ { .magic = "\177\023", .len = 2, .kboff = 1, .sboff = 0x10 },
+ { .magic = "\217\023", .len = 2, .kboff = 1, .sboff = 0x10 },
+
+ /* version 2 */
+ { .magic = "\150\044", .len = 2, .kboff = 1, .sboff = 0x10 },
+ { .magic = "\170\044", .len = 2, .kboff = 1, .sboff = 0x10 },
+
+ /* version 3 */
+ { .magic = "\132\115", .len = 2, .kboff = 1, .sboff = 0x18 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/netware.c b/libblkid/src/superblocks/netware.c
new file mode 100644
index 0000000..7ef2162
--- /dev/null
+++ b/libblkid/src/superblocks/netware.c
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct netware_super_block {
+ uint8_t SBH_Signature[4];
+ uint16_t SBH_VersionMajor;
+ uint16_t SBH_VersionMinor;
+ uint16_t SBH_VersionMediaMajor;
+ uint16_t SBH_VersionMediaMinor;
+ uint32_t SBH_ItemsMoved;
+ uint8_t SBH_InternalID[16];
+ uint32_t SBH_PackedSize;
+ uint32_t SBH_Checksum;
+ uint32_t supersyncid;
+ int64_t superlocation[4];
+ uint32_t physSizeUsed;
+ uint32_t sizeUsed;
+ uint32_t superTimeStamp;
+ uint32_t reserved0[1];
+ int64_t SBH_LoggedPoolDataBlk;
+ int64_t SBH_PoolDataBlk;
+ uint8_t SBH_OldInternalID[16];
+ uint32_t SBH_PoolToLVStartUTC;
+ uint32_t SBH_PoolToLVEndUTC;
+ uint16_t SBH_VersionMediaMajorCreate;
+ uint16_t SBH_VersionMediaMinorCreate;
+ uint32_t SBH_BlocksMoved;
+ uint32_t SBH_TempBTSpBlk;
+ uint32_t SBH_TempFTSpBlk;
+ uint32_t SBH_TempFTSpBlk1;
+ uint32_t SBH_TempFTSpBlk2;
+ uint32_t nssMagicNumber;
+ uint32_t poolClassID;
+ uint32_t poolID;
+ uint32_t createTime;
+ int64_t SBH_LoggedVolumeDataBlk;
+ int64_t SBH_VolumeDataBlk;
+ int64_t SBH_SystemBeastBlkNum;
+ uint64_t totalblocks;
+ uint16_t SBH_Name[64];
+ uint8_t SBH_VolumeID[16];
+ uint8_t SBH_PoolID[16];
+ uint8_t SBH_PoolInternalID[16];
+ uint64_t SBH_Lsn;
+ uint32_t SBH_SS_Enabled;
+ uint32_t SBH_SS_CreateTime;
+ uint8_t SBH_SS_OriginalPoolID[16];
+ uint8_t SBH_SS_OriginalVolumeID[16];
+ uint8_t SBH_SS_Guid[16];
+ uint16_t SBH_SS_OriginalName[64];
+ uint32_t reserved2[64-(2+46)];
+} __attribute__((__packed__));
+
+static int probe_netware(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct netware_super_block *nw;
+
+ nw = blkid_probe_get_sb(pr, mag, struct netware_super_block);
+ if (!nw)
+ return -1;
+
+ blkid_probe_set_uuid(pr, nw->SBH_PoolID);
+
+ blkid_probe_sprintf_version(pr, "%u.%02u",
+ le16_to_cpu(nw->SBH_VersionMediaMajor),
+ le16_to_cpu(nw->SBH_VersionMediaMinor));
+
+ return 0;
+}
+
+const struct blkid_idinfo netware_idinfo =
+{
+ .name = "nss",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_netware,
+ .magics =
+ {
+ { .magic = "SPB5", .len = 4, .kboff = 4 },
+ { NULL }
+ }
+};
+
+
diff --git a/libblkid/src/superblocks/nilfs.c b/libblkid/src/superblocks/nilfs.c
new file mode 100644
index 0000000..1f8f3a6
--- /dev/null
+++ b/libblkid/src/superblocks/nilfs.c
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2010 by Jiro SEKIBA <jir@unicus.jp>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License
+ */
+#include <stddef.h>
+#include <string.h>
+
+#include "superblocks.h"
+#include "crc32.h"
+
+struct nilfs_super_block {
+ uint32_t s_rev_level;
+ uint16_t s_minor_rev_level;
+ uint16_t s_magic;
+
+ uint16_t s_bytes;
+
+ uint16_t s_flags;
+ uint32_t s_crc_seed;
+ uint32_t s_sum;
+
+ uint32_t s_log_block_size;
+
+ uint64_t s_nsegments;
+ uint64_t s_dev_size;
+ uint64_t s_first_data_block;
+ uint32_t s_blocks_per_segment;
+ uint32_t s_r_segments_percentage;
+
+ uint64_t s_last_cno;
+ uint64_t s_last_pseg;
+ uint64_t s_last_seq;
+ uint64_t s_free_blocks_count;
+
+ uint64_t s_ctime;
+
+ uint64_t s_mtime;
+ uint64_t s_wtime;
+ uint16_t s_mnt_count;
+ uint16_t s_max_mnt_count;
+ uint16_t s_state;
+ uint16_t s_errors;
+ uint64_t s_lastcheck;
+
+ uint32_t s_checkinterval;
+ uint32_t s_creator_os;
+ uint16_t s_def_resuid;
+ uint16_t s_def_resgid;
+ uint32_t s_first_ino;
+
+ uint16_t s_inode_size;
+ uint16_t s_dat_entry_size;
+ uint16_t s_checkpoint_size;
+ uint16_t s_segment_usage_size;
+
+ uint8_t s_uuid[16];
+ char s_volume_name[80];
+
+ uint32_t s_c_interval;
+ uint32_t s_c_block_max;
+ uint32_t s_reserved[192];
+};
+
+/* nilfs2 magic string */
+#define NILFS_SB_MAGIC "\x34\x34"
+/* nilfs2 super block offset */
+#define NILFS_SB_OFF 0x400
+/* nilfs2 super block offset in kB */
+#define NILFS_SB_KBOFF (NILFS_SB_OFF >> 10)
+/* nilfs2 magic string offset within super block */
+#define NILFS_MAG_OFF 6
+
+static int probe_nilfs2(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct nilfs_super_block *sb;
+ static unsigned char sum[4];
+ const int sumoff = offsetof(struct nilfs_super_block, s_sum);
+ size_t bytes;
+ uint32_t crc;
+
+ sb = blkid_probe_get_sb(pr, mag, struct nilfs_super_block);
+ if (!sb)
+ return -1;
+
+ bytes = le16_to_cpu(sb->s_bytes);
+ crc = crc32(le32_to_cpu(sb->s_crc_seed), (unsigned char *)sb, sumoff);
+ crc = crc32(crc, sum, 4);
+ crc = crc32(crc, (unsigned char *)sb + sumoff + 4, bytes - sumoff - 4);
+
+ if (crc != le32_to_cpu(sb->s_sum))
+ return -1;
+
+ if (strlen(sb->s_volume_name))
+ blkid_probe_set_label(pr, (unsigned char *) sb->s_volume_name,
+ sizeof(sb->s_volume_name));
+
+ blkid_probe_set_uuid(pr, sb->s_uuid);
+ blkid_probe_sprintf_version(pr, "%u", le32_to_cpu(sb->s_rev_level));
+
+ return 0;
+}
+
+const struct blkid_idinfo nilfs2_idinfo =
+{
+ .name = "nilfs2",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_nilfs2,
+ .magics =
+ {
+ {
+ .magic = NILFS_SB_MAGIC,
+ .len = 2,
+ .kboff = NILFS_SB_KBOFF,
+ .sboff = NILFS_MAG_OFF
+ },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/ntfs.c b/libblkid/src/superblocks/ntfs.c
new file mode 100644
index 0000000..41c6b9c
--- /dev/null
+++ b/libblkid/src/superblocks/ntfs.c
@@ -0,0 +1,224 @@
+/*
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <inttypes.h>
+
+#include "superblocks.h"
+
+struct ntfs_bios_parameters {
+ uint16_t sector_size; /* Size of a sector in bytes. */
+ uint8_t sectors_per_cluster; /* Size of a cluster in sectors. */
+ uint16_t reserved_sectors; /* zero */
+ uint8_t fats; /* zero */
+ uint16_t root_entries; /* zero */
+ uint16_t sectors; /* zero */
+ uint8_t media_type; /* 0xf8 = hard disk */
+ uint16_t sectors_per_fat; /* zero */
+ uint16_t sectors_per_track; /* irrelevant */
+ uint16_t heads; /* irrelevant */
+ uint32_t hidden_sectors; /* zero */
+ uint32_t large_sectors; /* zero */
+} __attribute__ ((__packed__));
+
+struct ntfs_super_block {
+ uint8_t jump[3];
+ uint8_t oem_id[8]; /* magic string */
+
+ struct ntfs_bios_parameters bpb;
+
+ uint16_t unused[2];
+ uint64_t number_of_sectors;
+ uint64_t mft_cluster_location;
+ uint64_t mft_mirror_cluster_location;
+ int8_t clusters_per_mft_record;
+ uint8_t reserved1[3];
+ int8_t cluster_per_index_record;
+ uint8_t reserved2[3];
+ uint64_t volume_serial;
+ uint32_t checksum;
+} __attribute__((packed));
+
+struct master_file_table_record {
+ uint32_t magic;
+ uint16_t usa_ofs;
+ uint16_t usa_count;
+ uint64_t lsn;
+ uint16_t sequence_number;
+ uint16_t link_count;
+ uint16_t attrs_offset;
+ uint16_t flags;
+ uint32_t bytes_in_use;
+ uint32_t bytes_allocated;
+} __attribute__((__packed__));
+
+struct file_attribute {
+ uint32_t type;
+ uint32_t len;
+ uint8_t non_resident;
+ uint8_t name_len;
+ uint16_t name_offset;
+ uint16_t flags;
+ uint16_t instance;
+ uint32_t value_len;
+ uint16_t value_offset;
+} __attribute__((__packed__));
+
+#define MFT_RECORD_VOLUME 3
+#define NTFS_MAX_CLUSTER_SIZE (64 * 1024)
+
+enum {
+ MFT_RECORD_ATTR_VOLUME_NAME = cpu_to_le32(0x60),
+ MFT_RECORD_ATTR_END = cpu_to_le32(0xffffffff)
+};
+
+static int probe_ntfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct ntfs_super_block *ns;
+ struct master_file_table_record *mft;
+
+ uint32_t sectors_per_cluster, mft_record_size, attr_off;
+ uint16_t sector_size;
+ uint64_t nr_clusters, off;
+ unsigned char *buf_mft;
+
+ ns = blkid_probe_get_sb(pr, mag, struct ntfs_super_block);
+ if (!ns)
+ return -1;
+
+ /*
+ * Check bios parameters block
+ */
+ sector_size = le16_to_cpu(ns->bpb.sector_size);
+ sectors_per_cluster = ns->bpb.sectors_per_cluster;
+
+ if (sector_size < 256 || sector_size > 4096)
+ return 1;
+
+ switch (sectors_per_cluster) {
+ case 1: case 2: case 4: case 8: case 16: case 32: case 64: case 128:
+ break;
+ default:
+ return 1;
+ }
+
+ if ((uint16_t) le16_to_cpu(ns->bpb.sector_size) *
+ ns->bpb.sectors_per_cluster > NTFS_MAX_CLUSTER_SIZE)
+ return 1;
+
+ /* Unused fields must be zero */
+ if (le16_to_cpu(ns->bpb.reserved_sectors)
+ || le16_to_cpu(ns->bpb.root_entries)
+ || le16_to_cpu(ns->bpb.sectors)
+ || le16_to_cpu(ns->bpb.sectors_per_fat)
+ || le32_to_cpu(ns->bpb.large_sectors)
+ || ns->bpb.fats)
+ return 1;
+
+ if ((uint8_t) ns->clusters_per_mft_record < 0xe1
+ || (uint8_t) ns->clusters_per_mft_record > 0xf7) {
+
+ switch (ns->clusters_per_mft_record) {
+ case 1: case 2: case 4: case 8: case 16: case 32: case 64:
+ break;
+ default:
+ return 1;
+ }
+ }
+
+ if (ns->clusters_per_mft_record > 0)
+ mft_record_size = ns->clusters_per_mft_record *
+ sectors_per_cluster * sector_size;
+ else
+ mft_record_size = 1 << (0 - ns->clusters_per_mft_record);
+
+ nr_clusters = le64_to_cpu(ns->number_of_sectors) / sectors_per_cluster;
+
+ if ((le64_to_cpu(ns->mft_cluster_location) > nr_clusters) ||
+ (le64_to_cpu(ns->mft_mirror_cluster_location) > nr_clusters))
+ return 1;
+
+
+ off = le64_to_cpu(ns->mft_cluster_location) * sector_size *
+ sectors_per_cluster;
+
+ DBG(DEBUG_LOWPROBE, printf("NTFS: sector_size=%d, mft_record_size=%d, "
+ "sectors_per_cluster=%d, nr_clusters=%ju "
+ "cluster_offset=%jd\n",
+ (int) sector_size, mft_record_size,
+ sectors_per_cluster, nr_clusters,
+ off));
+
+ buf_mft = blkid_probe_get_buffer(pr, off, mft_record_size);
+ if (!buf_mft)
+ return 1;
+
+ if (memcmp(buf_mft, "FILE", 4))
+ return 1;
+
+ off += MFT_RECORD_VOLUME * mft_record_size;
+
+ buf_mft = blkid_probe_get_buffer(pr, off, mft_record_size);
+ if (!buf_mft)
+ return 1;
+
+ if (memcmp(buf_mft, "FILE", 4))
+ return 1;
+
+ mft = (struct master_file_table_record *) buf_mft;
+ attr_off = le16_to_cpu(mft->attrs_offset);
+
+ while (attr_off < mft_record_size &&
+ attr_off <= le32_to_cpu(mft->bytes_allocated)) {
+
+ uint32_t attr_len;
+ struct file_attribute *attr;
+
+ attr = (struct file_attribute *) (buf_mft + attr_off);
+ attr_len = le32_to_cpu(attr->len);
+ if (!attr_len)
+ break;
+
+ if (attr->type == MFT_RECORD_ATTR_END)
+ break;
+ if (attr->type == MFT_RECORD_ATTR_VOLUME_NAME) {
+ unsigned int val_off = le16_to_cpu(attr->value_offset);
+ unsigned int val_len = le32_to_cpu(attr->value_len);
+ unsigned char *val = ((uint8_t *) attr) + val_off;
+
+ blkid_probe_set_utf8label(pr, val, val_len, BLKID_ENC_UTF16LE);
+ break;
+ }
+
+ if (UINT_MAX - attr_len < attr_off)
+ break;
+ attr_off += attr_len;
+ }
+
+ blkid_probe_sprintf_uuid(pr,
+ (unsigned char *) &ns->volume_serial,
+ sizeof(ns->volume_serial),
+ "%016" PRIX64, le64_to_cpu(ns->volume_serial));
+ return 0;
+}
+
+
+const struct blkid_idinfo ntfs_idinfo =
+{
+ .name = "ntfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_ntfs,
+ .magics =
+ {
+ { .magic = "NTFS ", .len = 8, .sboff = 3 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/nvidia_raid.c b/libblkid/src/superblocks/nvidia_raid.c
new file mode 100644
index 0000000..dd86cdc
--- /dev/null
+++ b/libblkid/src/superblocks/nvidia_raid.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ * Copyright (C) 2005 Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct nv_metadata {
+ uint8_t vendor[8];
+ uint32_t size;
+ uint32_t chksum;
+ uint16_t version;
+} __attribute__((packed));
+
+#define NVIDIA_SIGNATURE "NVIDIA"
+
+static int probe_nvraid(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ uint64_t off;
+ struct nv_metadata *nv;
+
+ if (pr->size < 0x10000)
+ return -1;
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+
+ off = ((pr->size / 0x200) - 2) * 0x200;
+ nv = (struct nv_metadata *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct nv_metadata));
+ if (!nv)
+ return -1;
+
+ if (memcmp(nv->vendor, NVIDIA_SIGNATURE, sizeof(NVIDIA_SIGNATURE)-1) != 0)
+ return -1;
+ if (blkid_probe_sprintf_version(pr, "%u", le16_to_cpu(nv->version)) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr, off, sizeof(nv->vendor),
+ (unsigned char *) nv->vendor))
+ return -1;
+ return 0;
+}
+
+const struct blkid_idinfo nvraid_idinfo = {
+ .name = "nvidia_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_nvraid,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/ocfs.c b/libblkid/src/superblocks/ocfs.c
new file mode 100644
index 0000000..82170ac
--- /dev/null
+++ b/libblkid/src/superblocks/ocfs.c
@@ -0,0 +1,213 @@
+/*
+ * Copyright (C) 1999, 2001 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct ocfs_volume_header {
+ unsigned char minor_version[4];
+ unsigned char major_version[4];
+ unsigned char signature[128];
+ char mount[128];
+ unsigned char mount_len[2];
+} __attribute__((packed));
+
+struct ocfs_volume_label {
+ unsigned char disk_lock[48];
+ char label[64];
+ unsigned char label_len[2];
+ unsigned char vol_id[16];
+ unsigned char vol_id_len[2];
+} __attribute__((packed));
+
+#define ocfsmajor(o) ( (uint32_t) o.major_version[0] \
+ + (((uint32_t) o.major_version[1]) << 8) \
+ + (((uint32_t) o.major_version[2]) << 16) \
+ + (((uint32_t) o.major_version[3]) << 24))
+
+#define ocfsminor(o) ( (uint32_t) o.minor_version[0] \
+ + (((uint32_t) o.minor_version[1]) << 8) \
+ + (((uint32_t) o.minor_version[2]) << 16) \
+ + (((uint32_t) o.minor_version[3]) << 24))
+
+#define ocfslabellen(o) ((uint32_t)o.label_len[0] + (((uint32_t) o.label_len[1]) << 8))
+#define ocfsmountlen(o) ((uint32_t)o.mount_len[0] + (((uint32_t) o.mount_len[1]) << 8))
+
+struct ocfs2_super_block {
+ uint8_t i_signature[8];
+ uint32_t i_generation;
+ int16_t i_suballoc_slot;
+ uint16_t i_suballoc_bit;
+ uint32_t i_reserved0;
+ uint32_t i_clusters;
+ uint32_t i_uid;
+ uint32_t i_gid;
+ uint64_t i_size;
+ uint16_t i_mode;
+ uint16_t i_links_count;
+ uint32_t i_flags;
+ uint64_t i_atime;
+ uint64_t i_ctime;
+ uint64_t i_mtime;
+ uint64_t i_dtime;
+ uint64_t i_blkno;
+ uint64_t i_last_eb_blk;
+ uint32_t i_fs_generation;
+ uint32_t i_atime_nsec;
+ uint32_t i_ctime_nsec;
+ uint32_t i_mtime_nsec;
+ uint64_t i_reserved1[9];
+ uint64_t i_pad1;
+ uint16_t s_major_rev_level;
+ uint16_t s_minor_rev_level;
+ uint16_t s_mnt_count;
+ int16_t s_max_mnt_count;
+ uint16_t s_state;
+ uint16_t s_errors;
+ uint32_t s_checkinterval;
+ uint64_t s_lastcheck;
+ uint32_t s_creator_os;
+ uint32_t s_feature_compat;
+ uint32_t s_feature_incompat;
+ uint32_t s_feature_ro_compat;
+ uint64_t s_root_blkno;
+ uint64_t s_system_dir_blkno;
+ uint32_t s_blocksize_bits;
+ uint32_t s_clustersize_bits;
+ uint16_t s_max_slots;
+ uint16_t s_reserved1;
+ uint32_t s_reserved2;
+ uint64_t s_first_cluster_group;
+ uint8_t s_label[64];
+ uint8_t s_uuid[16];
+} __attribute__((packed));
+
+struct oracle_asm_disk_label {
+ char dummy[32];
+ char dl_tag[8];
+ char dl_id[24];
+} __attribute__((packed));
+
+static int probe_ocfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ unsigned char *buf;
+ struct ocfs_volume_header ovh;
+ struct ocfs_volume_label ovl;
+ uint32_t maj, min;
+
+ /* header */
+ buf = blkid_probe_get_buffer(pr, mag->kboff << 10,
+ sizeof(struct ocfs_volume_header));
+ if (!buf)
+ return -1;
+ memcpy(&ovh, buf, sizeof(ovh));
+
+ /* label */
+ buf = blkid_probe_get_buffer(pr, (mag->kboff << 10) + 512,
+ sizeof(struct ocfs_volume_label));
+ if (!buf)
+ return -1;
+ memcpy(&ovl, buf, sizeof(ovl));
+
+ maj = ocfsmajor(ovh);
+ min = ocfsminor(ovh);
+
+ if (maj == 1)
+ blkid_probe_set_value(pr, "SEC_TYPE",
+ (unsigned char *) "ocfs1", sizeof("ocfs1"));
+ else if (maj >= 9)
+ blkid_probe_set_value(pr, "SEC_TYPE",
+ (unsigned char *) "ntocfs", sizeof("ntocfs"));
+
+ blkid_probe_set_label(pr, (unsigned char *) ovl.label,
+ ocfslabellen(ovl));
+ blkid_probe_set_value(pr, "MOUNT", (unsigned char *) ovh.mount,
+ ocfsmountlen(ovh));
+ blkid_probe_set_uuid(pr, ovl.vol_id);
+ blkid_probe_sprintf_version(pr, "%u.%u", maj, min);
+ return 0;
+}
+
+static int probe_ocfs2(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct ocfs2_super_block *osb;
+
+ osb = blkid_probe_get_sb(pr, mag, struct ocfs2_super_block);
+ if (!osb)
+ return -1;
+
+ blkid_probe_set_label(pr, (unsigned char *) osb->s_label, sizeof(osb->s_label));
+ blkid_probe_set_uuid(pr, osb->s_uuid);
+
+ blkid_probe_sprintf_version(pr, "%u.%u",
+ le16_to_cpu(osb->s_major_rev_level),
+ le16_to_cpu(osb->s_minor_rev_level));
+
+ return 0;
+}
+
+static int probe_oracleasm(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct oracle_asm_disk_label *dl;
+
+ dl = blkid_probe_get_sb(pr, mag, struct oracle_asm_disk_label);
+ if (!dl)
+ return -1;
+
+ blkid_probe_set_label(pr, (unsigned char *) dl->dl_id, sizeof(dl->dl_id));
+ return 0;
+}
+
+
+const struct blkid_idinfo ocfs_idinfo =
+{
+ .name = "ocfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_ocfs,
+ .minsz = 14000 * 1024,
+ .magics =
+ {
+ { .magic = "OracleCFS", .len = 9, .kboff = 8 },
+ { NULL }
+ }
+};
+
+const struct blkid_idinfo ocfs2_idinfo =
+{
+ .name = "ocfs2",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_ocfs2,
+ .minsz = 14000 * 1024,
+ .magics =
+ {
+ { .magic = "OCFSV2", .len = 6, .kboff = 1 },
+ { .magic = "OCFSV2", .len = 6, .kboff = 2 },
+ { .magic = "OCFSV2", .len = 6, .kboff = 4 },
+ { .magic = "OCFSV2", .len = 6, .kboff = 8 },
+ { NULL }
+ }
+};
+
+/* Oracle ASM (Automatic Storage Management) */
+const struct blkid_idinfo oracleasm_idinfo =
+{
+ .name = "oracleasm",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_oracleasm,
+ .magics =
+ {
+ { .magic = "ORCLDISK", .len = 8, .sboff = 32 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/promise_raid.c b/libblkid/src/superblocks/promise_raid.c
new file mode 100644
index 0000000..221146d
--- /dev/null
+++ b/libblkid/src/superblocks/promise_raid.c
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct promise_metadata {
+ uint8_t sig[24];
+};
+
+#define PDC_CONFIG_OFF 0x1200
+#define PDC_SIGNATURE "Promise Technology, Inc."
+
+static int probe_pdcraid(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ unsigned int i;
+ static unsigned int sectors[] = {
+ 63, 255, 256, 16, 399, 0
+ };
+
+ if (pr->size < 0x40000)
+ return -1;
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+
+ for (i = 0; sectors[i] != 0; i++) {
+ uint64_t off;
+ struct promise_metadata *pdc;
+
+ off = ((pr->size / 0x200) - sectors[i]) * 0x200;
+ pdc = (struct promise_metadata *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct promise_metadata));
+ if (!pdc)
+ return -1;
+
+ if (memcmp(pdc->sig, PDC_SIGNATURE,
+ sizeof(PDC_SIGNATURE) - 1) == 0) {
+
+ if (blkid_probe_set_magic(pr, off, sizeof(pdc->sig),
+ (unsigned char *) pdc->sig))
+ return -1;
+ return 0;
+ }
+ }
+ return -1;
+}
+
+const struct blkid_idinfo pdcraid_idinfo = {
+ .name = "promise_fasttrack_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_pdcraid,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/reiserfs.c b/libblkid/src/superblocks/reiserfs.c
new file mode 100644
index 0000000..152571f
--- /dev/null
+++ b/libblkid/src/superblocks/reiserfs.c
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 1999, 2001 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct reiserfs_super_block {
+ uint32_t rs_blocks_count;
+ uint32_t rs_free_blocks;
+ uint32_t rs_root_block;
+ uint32_t rs_journal_block;
+ uint32_t rs_journal_dev;
+ uint32_t rs_orig_journal_size;
+ uint32_t rs_dummy2[5];
+ uint16_t rs_blocksize;
+ uint16_t rs_dummy3[3];
+ unsigned char rs_magic[12];
+ uint32_t rs_dummy4[5];
+ unsigned char rs_uuid[16];
+ char rs_label[16];
+} __attribute__((packed));
+
+struct reiser4_super_block {
+ unsigned char rs4_magic[16];
+ uint16_t rs4_dummy[2];
+ unsigned char rs4_uuid[16];
+ unsigned char rs4_label[16];
+ uint64_t rs4_dummy2;
+} __attribute__((packed));
+
+static int probe_reiser(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct reiserfs_super_block *rs;
+ unsigned int blocksize;
+
+ rs = blkid_probe_get_sb(pr, mag, struct reiserfs_super_block);
+ if (!rs)
+ return -1;
+
+ blocksize = le16_to_cpu(rs->rs_blocksize);
+
+ /* The blocksize must be at least 512B */
+ if ((blocksize >> 9) == 0)
+ return -BLKID_ERR_PARAM;
+
+ /* If the superblock is inside the journal, we have the wrong one */
+ if (mag->kboff / (blocksize >> 9) > le32_to_cpu(rs->rs_journal_block) / 2)
+ return -BLKID_ERR_BIG;
+
+ /* LABEL/UUID are only valid for later versions of Reiserfs v3.6. */
+ if (mag->magic[6] == '2' || mag->magic[6] == '3') {
+ if (*rs->rs_label)
+ blkid_probe_set_label(pr,
+ (unsigned char *) rs->rs_label,
+ sizeof(rs->rs_label));
+ blkid_probe_set_uuid(pr, rs->rs_uuid);
+ }
+
+ if (mag->magic[6] == '3')
+ blkid_probe_set_version(pr, "JR");
+ else if (mag->magic[6] == '2')
+ blkid_probe_set_version(pr, "3.6");
+ else
+ blkid_probe_set_version(pr, "3.5");
+
+ return 0;
+}
+
+static int probe_reiser4(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct reiser4_super_block *rs4;
+
+ rs4 = blkid_probe_get_sb(pr, mag, struct reiser4_super_block);
+ if (!rs4)
+ return -1;
+
+ if (*rs4->rs4_label)
+ blkid_probe_set_label(pr, rs4->rs4_label, sizeof(rs4->rs4_label));
+ blkid_probe_set_uuid(pr, rs4->rs4_uuid);
+ blkid_probe_set_version(pr, "4");
+
+ return 0;
+}
+
+
+const struct blkid_idinfo reiser_idinfo =
+{
+ .name = "reiserfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_reiser,
+ .minsz = 128 * 1024,
+ .magics =
+ {
+ { .magic = "ReIsErFs", .len = 8, .kboff = 8, .sboff = 0x34 },
+ { .magic = "ReIsEr2Fs", .len = 9, .kboff = 64, .sboff = 0x34 },
+ { .magic = "ReIsEr3Fs", .len = 9, .kboff = 64, .sboff = 0x34 },
+ { .magic = "ReIsErFs", .len = 8, .kboff = 64, .sboff = 0x34 },
+ { .magic = "ReIsErFs", .len = 8, .kboff = 8, .sboff = 20 },
+ { NULL }
+ }
+};
+
+const struct blkid_idinfo reiser4_idinfo =
+{
+ .name = "reiser4",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_reiser4,
+ .minsz = 128 * 1024,
+ .magics =
+ {
+ { .magic = "ReIsEr4", .len = 7, .kboff = 64 },
+ { NULL }
+ }
+};
+
+
+
+
diff --git a/libblkid/src/superblocks/romfs.c b/libblkid/src/superblocks/romfs.c
new file mode 100644
index 0000000..91ef996
--- /dev/null
+++ b/libblkid/src/superblocks/romfs.c
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 1999, 2001 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct romfs_super_block {
+ unsigned char ros_magic[8];
+ uint32_t ros_dummy1[2];
+ unsigned char ros_volume[16];
+} __attribute__((packed));
+
+static int probe_romfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct romfs_super_block *ros;
+
+ ros = blkid_probe_get_sb(pr, mag, struct romfs_super_block);
+ if (!ros)
+ return -1;
+
+ if (strlen((char *) ros->ros_volume))
+ blkid_probe_set_label(pr, ros->ros_volume,
+ sizeof(ros->ros_volume));
+ return 0;
+}
+
+const struct blkid_idinfo romfs_idinfo =
+{
+ .name = "romfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_romfs,
+ .magics =
+ {
+ { .magic = "-rom1fs-", .len = 8 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/silicon_raid.c b/libblkid/src/superblocks/silicon_raid.c
new file mode 100644
index 0000000..fef5801
--- /dev/null
+++ b/libblkid/src/superblocks/silicon_raid.c
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ * Copyright (C) 2005 Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+#include <stddef.h>
+
+#include "superblocks.h"
+
+struct silicon_metadata {
+ uint8_t unknown0[0x2E];
+ uint8_t ascii_version[0x36 - 0x2E];
+ uint8_t diskname[0x56 - 0x36];
+ uint8_t unknown1[0x60 - 0x56];
+ uint32_t magic;
+ uint32_t unknown1a[0x6C - 0x64];
+ uint32_t array_sectors_low;
+ uint32_t array_sectors_high;
+ uint8_t unknown2[0x78 - 0x74];
+ uint32_t thisdisk_sectors;
+ uint8_t unknown3[0x100 - 0x7C];
+ uint8_t unknown4[0x104 - 0x100];
+ uint16_t product_id;
+ uint16_t vendor_id;
+ uint16_t minor_ver;
+ uint16_t major_ver;
+} __attribute__((packed));
+
+#define SILICON_MAGIC 0x2F000000
+
+
+static int probe_silraid(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ uint64_t off;
+ struct silicon_metadata *sil;
+
+ if (pr->size < 0x10000)
+ return -1;
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+
+ off = ((pr->size / 0x200) - 1) * 0x200;
+
+ sil = (struct silicon_metadata *)
+ blkid_probe_get_buffer(pr, off,
+ sizeof(struct silicon_metadata));
+ if (!sil)
+ return -1;
+
+ if (le32_to_cpu(sil->magic) != SILICON_MAGIC)
+ return -1;
+
+ if (blkid_probe_sprintf_version(pr, "%u.%u",
+ le16_to_cpu(sil->major_ver),
+ le16_to_cpu(sil->minor_ver)) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr,
+ off + offsetof(struct silicon_metadata, magic),
+ sizeof(sil->magic),
+ (unsigned char *) &sil->magic))
+ return -1;
+ return 0;
+}
+
+const struct blkid_idinfo silraid_idinfo = {
+ .name = "silicon_medley_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_silraid,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/squashfs.c b/libblkid/src/superblocks/squashfs.c
new file mode 100644
index 0000000..45f1029
--- /dev/null
+++ b/libblkid/src/superblocks/squashfs.c
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "bitops.h" /* swab16() */
+#include "superblocks.h"
+
+struct sqsh_super_block {
+ uint32_t s_magic;
+ uint32_t inodes;
+ uint32_t bytes_used_2;
+ uint32_t uid_start_2;
+ uint32_t guid_start_2;
+ uint32_t inode_table_start_2;
+ uint32_t directory_table_start_2;
+ uint16_t s_major;
+ uint16_t s_minor;
+} __attribute__((packed));
+
+static int probe_squashfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct sqsh_super_block *sq;
+
+ sq = blkid_probe_get_sb(pr, mag, struct sqsh_super_block);
+ if (!sq)
+ return -1;
+
+ if (strcmp(mag->magic, "sqsh") == 0 ||
+ strcmp(mag->magic, "qshs") == 0)
+ blkid_probe_sprintf_version(pr, "%u.%u",
+ sq->s_major,
+ sq->s_minor);
+ else
+ blkid_probe_sprintf_version(pr, "%u.%u",
+ swab16(sq->s_major),
+ swab16(sq->s_minor));
+ return 0;
+}
+
+const struct blkid_idinfo squashfs_idinfo =
+{
+ .name = "squashfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_squashfs,
+ .magics =
+ {
+ { .magic = "sqsh", .len = 4 },
+ { .magic = "hsqs", .len = 4 }, /* swap */
+
+ /* LZMA version */
+ { .magic = "qshs", .len = 4 },
+ { .magic = "shsq", .len = 4 }, /* swap */
+ { NULL }
+ }
+};
+
+
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
new file mode 100644
index 0000000..879a40f
--- /dev/null
+++ b/libblkid/src/superblocks/superblocks.c
@@ -0,0 +1,768 @@
+/*
+ * superblocks.c - reads information from filesystem and raid superblocks
+ *
+ * Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <stdint.h>
+#include <stdarg.h>
+
+#include "superblocks.h"
+
+/**
+ * SECTION:superblocks
+ * @title: Superblocks probing
+ * @short_description: filesystems and raids superblocks probing.
+ *
+ * The library API has been originally designed for superblocks probing only.
+ * This is reason why some *deprecated* superblock specific functions don't use
+ * '_superblocks_' namespace in the function name. Please, don't use these
+ * functions in new code.
+ *
+ * The 'superblocks' probers support NAME=value (tags) interface only. The
+ * superblocks probing is enabled by default (and controlled by
+ * blkid_probe_enable_superblocks()).
+ *
+ * Currently supported tags:
+ *
+ * @TYPE: filesystem type
+ *
+ * @SEC_TYPE: secondary filesystem type
+ *
+ * @LABEL: filesystem label
+ *
+ * @LABEL_RAW: raw label from FS superblock
+ *
+ * @UUID: filesystem UUID (lower case)
+ *
+ * @UUID_SUB: subvolume uuid (e.g. btrfs)
+ *
+ * @UUID_RAW: raw UUID from FS superblock
+ *
+ * @EXT_JOURNAL: external journal UUID
+ *
+ * @USAGE: usage string: "raid", "filesystem", ...
+ *
+ * @VERSION: filesystem version
+ *
+ * @MOUNT: cluster mount name (?) -- ocfs only
+ *
+ * @SBMAGIC: super block magic string
+ *
+ * @SBMAGIC_OFFSET: offset of SBMAGIC
+ *
+ * @FSSIZE: size of filessystem [not-implemented yet]
+ */
+
+static int superblocks_probe(blkid_probe pr, struct blkid_chain *chn);
+static int superblocks_safeprobe(blkid_probe pr, struct blkid_chain *chn);
+
+static int blkid_probe_set_usage(blkid_probe pr, int usage);
+
+
+/*
+ * Superblocks chains probing functions
+ */
+static const struct blkid_idinfo *idinfos[] =
+{
+ /* RAIDs */
+ &linuxraid_idinfo,
+ &ddfraid_idinfo,
+ &iswraid_idinfo,
+ &lsiraid_idinfo,
+ &viaraid_idinfo,
+ &silraid_idinfo,
+ &nvraid_idinfo,
+ &pdcraid_idinfo,
+ &highpoint45x_idinfo,
+ &highpoint37x_idinfo,
+ &adraid_idinfo,
+ &jmraid_idinfo,
+
+ &drbd_idinfo,
+ &drbdproxy_datalog_idinfo,
+ &lvm2_idinfo,
+ &lvm1_idinfo,
+ &snapcow_idinfo,
+ &verity_hash_idinfo,
+ &luks_idinfo,
+ &vmfs_volume_idinfo,
+
+ /* Filesystems */
+ &vfat_idinfo,
+ &swsuspend_idinfo,
+ &swap_idinfo,
+ &xfs_idinfo,
+ &ext4dev_idinfo,
+ &ext4_idinfo,
+ &ext3_idinfo,
+ &ext2_idinfo,
+ &jbd_idinfo,
+ &reiser_idinfo,
+ &reiser4_idinfo,
+ &jfs_idinfo,
+ &udf_idinfo,
+ &iso9660_idinfo,
+ &zfs_idinfo,
+ &hfsplus_idinfo,
+ &hfs_idinfo,
+ &ufs_idinfo,
+ &hpfs_idinfo,
+ &sysv_idinfo,
+ &xenix_idinfo,
+ &ntfs_idinfo,
+ &cramfs_idinfo,
+ &romfs_idinfo,
+ &minix_idinfo,
+ &gfs_idinfo,
+ &gfs2_idinfo,
+ &ocfs_idinfo,
+ &ocfs2_idinfo,
+ &oracleasm_idinfo,
+ &vxfs_idinfo,
+ &squashfs_idinfo,
+ &netware_idinfo,
+ &btrfs_idinfo,
+ &ubifs_idinfo,
+ &bfs_idinfo,
+ &vmfs_fs_idinfo,
+ &befs_idinfo,
+ &nilfs2_idinfo,
+ &exfat_idinfo
+};
+
+/*
+ * Driver definition
+ */
+const struct blkid_chaindrv superblocks_drv = {
+ .id = BLKID_CHAIN_SUBLKS,
+ .name = "superblocks",
+ .dflt_enabled = TRUE,
+ .dflt_flags = BLKID_SUBLKS_DEFAULT,
+ .idinfos = idinfos,
+ .nidinfos = ARRAY_SIZE(idinfos),
+ .has_fltr = TRUE,
+ .probe = superblocks_probe,
+ .safeprobe = superblocks_safeprobe,
+};
+
+/**
+ * blkid_probe_enable_superblocks:
+ * @pr: probe
+ * @enable: TRUE/FALSE
+ *
+ * Enables/disables the superblocks probing for non-binary interface.
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_enable_superblocks(blkid_probe pr, int enable)
+{
+ if (!pr)
+ return -1;
+ pr->chains[BLKID_CHAIN_SUBLKS].enabled = enable;
+ return 0;
+}
+
+/**
+ * blkid_probe_set_superblocks_flags:
+ * @pr: prober
+ * @flags: BLKID_SUBLKS_* flags
+ *
+ * Sets probing flags to the superblocks prober. This function is optional, the
+ * default are BLKID_SUBLKS_DEFAULTS flags.
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_set_superblocks_flags(blkid_probe pr, int flags)
+{
+ if (!pr)
+ return -1;
+
+ pr->chains[BLKID_CHAIN_SUBLKS].flags = flags;
+ return 0;
+}
+
+/**
+ * blkid_probe_reset_superblocks_filter:
+ * @pr: prober
+ *
+ * Resets superblocks probing filter
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_reset_superblocks_filter(blkid_probe pr)
+{
+ return __blkid_probe_reset_filter(pr, BLKID_CHAIN_SUBLKS);
+}
+
+/**
+ * blkid_probe_invert_superblocks_filter:
+ * @pr: prober
+ *
+ * Inverts superblocks probing filter
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_invert_superblocks_filter(blkid_probe pr)
+{
+ return __blkid_probe_invert_filter(pr, BLKID_CHAIN_SUBLKS);
+}
+
+/**
+ * blkid_probe_filter_superblocks_type:
+ * @pr: prober
+ * @flag: filter BLKID_FLTR_{NOTIN,ONLYIN} flag
+ * @names: NULL terminated array of probing function names (e.g. "vfat").
+ *
+ * %BLKID_FLTR_NOTIN - probe for all items which are NOT IN @names;
+ *
+ * %BLKID_FLTR_ONLYIN - probe for items which are IN @names
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_filter_superblocks_type(blkid_probe pr, int flag, char *names[])
+{
+ return __blkid_probe_filter_types(pr, BLKID_CHAIN_SUBLKS, flag, names);
+}
+
+/**
+ * blkid_probe_filter_superblocks_usage:
+ * @pr: prober
+ * @flag: filter BLKID_FLTR_{NOTIN,ONLYIN} flag
+ * @usage: BLKID_USAGE_* flags
+ *
+ * %BLKID_FLTR_NOTIN - probe for all items which are NOT IN @usage;
+ *
+ * %BLKID_FLTR_ONLYIN - probe for items which are IN @usage
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_filter_superblocks_usage(blkid_probe pr, int flag, int usage)
+{
+ unsigned long *fltr;
+ struct blkid_chain *chn;
+ size_t i;
+
+ if (!pr)
+ return -1;
+
+ fltr = blkid_probe_get_filter(pr, BLKID_CHAIN_SUBLKS, TRUE);
+ if (!fltr)
+ return -1;
+
+ chn = &pr->chains[BLKID_CHAIN_SUBLKS];
+
+ for (i = 0; i < chn->driver->nidinfos; i++) {
+ const struct blkid_idinfo *id = chn->driver->idinfos[i];
+
+ if (id->usage & usage) {
+ if (flag & BLKID_FLTR_NOTIN)
+ blkid_bmp_set_item(chn->fltr, i);
+ } else if (flag & BLKID_FLTR_ONLYIN)
+ blkid_bmp_set_item(chn->fltr, i);
+ }
+ DBG(DEBUG_LOWPROBE, printf("a new probing usage-filter initialized\n"));
+ return 0;
+}
+
+/**
+ * blkid_known_fstype:
+ * @fstype: filesystem name
+ *
+ * Returns: 1 for known filesytems, or 0 for unknown filesystem.
+ */
+int blkid_known_fstype(const char *fstype)
+{
+ size_t i;
+
+ if (!fstype)
+ return 0;
+
+ for (i = 0; i < ARRAY_SIZE(idinfos); i++) {
+ const struct blkid_idinfo *id = idinfos[i];
+ if (strcmp(id->name, fstype) == 0)
+ return 1;
+ }
+ return 0;
+}
+
+/**
+ * blkid_superblocks_get_name:
+ * @idx: number >= 0
+ * @name: returns name of supported filesystem/raid (optional)
+ * @usage: returns BLKID_USAGE_* flags, (optional)
+ *
+ * Returns: -1 if @idx is out of range, or 0 on success.
+ */
+int blkid_superblocks_get_name(size_t idx, const char **name, int *usage)
+{
+ if (idx < ARRAY_SIZE(idinfos)) {
+ if (name)
+ *name = idinfos[idx]->name;
+ if (usage)
+ *usage = idinfos[idx]->usage;
+ return 0;
+ }
+ return -1;
+}
+
+/*
+ * The blkid_do_probe() backend.
+ */
+static int superblocks_probe(blkid_probe pr, struct blkid_chain *chn)
+{
+ size_t i;
+
+ if (!pr || chn->idx < -1)
+ return -1;
+ blkid_probe_chain_reset_vals(pr, chn);
+
+ DBG(DEBUG_LOWPROBE,
+ printf("--> starting probing loop [SUBLKS idx=%d]\n",
+ chn->idx));
+
+ if (pr->size <= 0 || (pr->size <= 1024 && !S_ISCHR(pr->mode)))
+ /* Ignore very very small block devices or regular files (e.g.
+ * extended partitions). Note that size of the UBI char devices
+ * is 1 byte */
+ goto nothing;
+
+ i = chn->idx < 0 ? 0 : chn->idx + 1U;
+
+ for ( ; i < ARRAY_SIZE(idinfos); i++) {
+ const struct blkid_idinfo *id;
+ const struct blkid_idmag *mag = NULL;
+ blkid_loff_t off = 0;
+ int rc = 0;
+
+ chn->idx = i;
+ id = idinfos[i];
+
+ if (chn->fltr && blkid_bmp_get_item(chn->fltr, i)) {
+ DBG(DEBUG_LOWPROBE, printf("filter out: %s\n", id->name));
+ continue;
+ }
+
+ if (id->minsz && id->minsz > pr->size)
+ continue; /* the device is too small */
+
+ /* don't probe for RAIDs, swap or journal on CD/DVDs */
+ if ((id->usage & (BLKID_USAGE_RAID | BLKID_USAGE_OTHER)) &&
+ blkid_probe_is_cdrom(pr))
+ continue;
+
+ /* don't probe for RAIDs on floppies */
+ if ((id->usage & BLKID_USAGE_RAID) && blkid_probe_is_tiny(pr))
+ continue;
+
+ DBG(DEBUG_LOWPROBE, printf("[%zd] %s:\n", i, id->name));
+
+ if (blkid_probe_get_idmag(pr, id, &off, &mag))
+ continue;
+
+ /* final check by probing function */
+ if (id->probefunc) {
+ DBG(DEBUG_LOWPROBE, printf("\tcall probefunc()\n"));
+ if (id->probefunc(pr, mag) != 0) {
+ blkid_probe_chain_reset_vals(pr, chn);
+ continue;
+ }
+ }
+
+ /* all cheks passed */
+ if (chn->flags & BLKID_SUBLKS_TYPE)
+ rc = blkid_probe_set_value(pr, "TYPE",
+ (unsigned char *) id->name,
+ strlen(id->name) + 1);
+
+ if (!rc)
+ rc = blkid_probe_set_usage(pr, id->usage);
+
+ if (!rc && mag)
+ rc = blkid_probe_set_magic(pr, off, mag->len,
+ (unsigned char *) mag->magic);
+ if (rc) {
+ blkid_probe_chain_reset_vals(pr, chn);
+ DBG(DEBUG_LOWPROBE, printf("failed to set result -- ingnore\n"));
+ continue;
+ }
+
+ DBG(DEBUG_LOWPROBE,
+ printf("<-- leaving probing loop (type=%s) [SUBLKS idx=%d]\n",
+ id->name, chn->idx));
+ return 0;
+ }
+
+nothing:
+ DBG(DEBUG_LOWPROBE,
+ printf("<-- leaving probing loop (failed) [SUBLKS idx=%d]\n",
+ chn->idx));
+ return 1;
+}
+
+/*
+ * This is the same function as blkid_do_probe(), but returns only one result
+ * (cannot be used in while()) and checks for ambivalen results (more
+ * filesystems on the device) -- in such case returns -2.
+ *
+ * The function does not check for filesystems when a RAID or crypto signature
+ * is detected. The function also does not check for collision between RAIDs
+ * and crypto devices. The first detected RAID or crypto device is returned.
+ *
+ * The function does not probe for ambivalent results on very small devices
+ * (e.g. floppies), on small devices the first detected filesystem is returned.
+ */
+static int superblocks_safeprobe(blkid_probe pr, struct blkid_chain *chn)
+{
+ struct blkid_prval vals[BLKID_NVALS_SUBLKS];
+ int nvals = BLKID_NVALS_SUBLKS;
+ int idx = -1;
+ int count = 0;
+ int intol = 0;
+ int rc;
+
+ while ((rc = superblocks_probe(pr, chn)) == 0) {
+
+ if (blkid_probe_is_tiny(pr) && !count)
+ /* floppy or so -- returns the first result. */
+ return 0;
+
+ count++;
+
+ if (chn->idx >= 0 &&
+ idinfos[chn->idx]->usage & (BLKID_USAGE_RAID | BLKID_USAGE_CRYPTO))
+ break;
+
+ if (chn->idx >= 0 &&
+ !(idinfos[chn->idx]->flags & BLKID_IDINFO_TOLERANT))
+ intol++;
+
+ if (count == 1) {
+ /* save the first result */
+ nvals = blkid_probe_chain_copy_vals(pr, chn, vals, nvals);
+ idx = chn->idx;
+ }
+ }
+
+ if (rc < 0)
+ return rc; /* error */
+
+ if (count > 1 && intol) {
+ DBG(DEBUG_LOWPROBE,
+ printf("ERROR: superblocks chain: "
+ "ambivalent result detected (%d filesystems)!\n",
+ count));
+ return -2; /* error, ambivalent result (more FS) */
+ }
+ if (!count)
+ return 1; /* nothing detected */
+
+ if (idx != -1) {
+ /* restore the first result */
+ blkid_probe_chain_reset_vals(pr, chn);
+ blkid_probe_append_vals(pr, vals, nvals);
+ chn->idx = idx;
+ }
+
+ /*
+ * The RAID device could be partitioned. The problem are RAID1 devices
+ * where the partition table is visible from underlaying devices. We
+ * have to ignore such partition tables.
+ */
+ if (chn->idx >= 0 && idinfos[chn->idx]->usage & BLKID_USAGE_RAID)
+ pr->prob_flags |= BLKID_PROBE_FL_IGNORE_PT;
+
+ return 0;
+}
+
+int blkid_probe_set_version(blkid_probe pr, const char *version)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+
+ if (chn->flags & BLKID_SUBLKS_VERSION)
+ return blkid_probe_set_value(pr, "VERSION",
+ (unsigned char *) version, strlen(version) + 1);
+ return 0;
+}
+
+int blkid_probe_sprintf_version(blkid_probe pr, const char *fmt, ...)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+ int rc = 0;
+
+ if (chn->flags & BLKID_SUBLKS_VERSION) {
+ va_list ap;
+
+ va_start(ap, fmt);
+ rc = blkid_probe_vsprintf_value(pr, "VERSION", fmt, ap);
+ va_end(ap);
+ }
+ return rc;
+}
+
+static int blkid_probe_set_usage(blkid_probe pr, int usage)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+ char *u = NULL;
+
+ if (!(chn->flags & BLKID_SUBLKS_USAGE))
+ return 0;
+
+ if (usage & BLKID_USAGE_FILESYSTEM)
+ u = "filesystem";
+ else if (usage & BLKID_USAGE_RAID)
+ u = "raid";
+ else if (usage & BLKID_USAGE_CRYPTO)
+ u = "crypto";
+ else if (usage & BLKID_USAGE_OTHER)
+ u = "other";
+ else
+ u = "unknown";
+
+ return blkid_probe_set_value(pr, "USAGE", (unsigned char *) u, strlen(u) + 1);
+}
+
+int blkid_probe_set_label(blkid_probe pr, unsigned char *label, size_t len)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+ struct blkid_prval *v;
+ if (len > BLKID_PROBVAL_BUFSIZ)
+ len = BLKID_PROBVAL_BUFSIZ;
+
+ if ((chn->flags & BLKID_SUBLKS_LABELRAW) &&
+ blkid_probe_set_value(pr, "LABEL_RAW", label, len) < 0)
+ return -1;
+ if (!(chn->flags & BLKID_SUBLKS_LABEL))
+ return 0;
+ v = blkid_probe_assign_value(pr, "LABEL");
+ if (!v)
+ return -1;
+
+ if (len == BLKID_PROBVAL_BUFSIZ)
+ len--; /* make a space for \0 */
+
+ memcpy(v->data, label, len);
+ v->data[len] = '\0';
+
+ v->len = blkid_rtrim_whitespace(v->data) + 1;
+ if (v->len == 1)
+ blkid_probe_reset_last_value(pr);
+ return 0;
+}
+
+int blkid_probe_set_utf8label(blkid_probe pr, unsigned char *label,
+ size_t len, int enc)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+ struct blkid_prval *v;
+
+ if ((chn->flags & BLKID_SUBLKS_LABELRAW) &&
+ blkid_probe_set_value(pr, "LABEL_RAW", label, len) < 0)
+ return -1;
+ if (!(chn->flags & BLKID_SUBLKS_LABEL))
+ return 0;
+ v = blkid_probe_assign_value(pr, "LABEL");
+ if (!v)
+ return -1;
+
+ blkid_encode_to_utf8(enc, v->data, sizeof(v->data), label, len);
+ v->len = blkid_rtrim_whitespace(v->data) + 1;
+ if (v->len == 1)
+ blkid_probe_reset_last_value(pr);
+ return 0;
+}
+
+/* like uuid_is_null() from libuuid, but works with arbitrary size of UUID */
+static int uuid_is_empty(const unsigned char *buf, size_t len)
+{
+ size_t i;
+
+ for (i = 0; i < len; i++)
+ if (buf[i])
+ return 0;
+ return 1;
+}
+
+int blkid_probe_sprintf_uuid(blkid_probe pr, unsigned char *uuid,
+ size_t len, const char *fmt, ...)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+ int rc = -1;
+ va_list ap;
+
+ if (len > BLKID_PROBVAL_BUFSIZ)
+ len = BLKID_PROBVAL_BUFSIZ;
+
+ if (uuid_is_empty(uuid, len))
+ return 0;
+
+ if ((chn->flags & BLKID_SUBLKS_UUIDRAW) &&
+ blkid_probe_set_value(pr, "UUID_RAW", uuid, len) < 0)
+ return -1;
+ if (!(chn->flags & BLKID_SUBLKS_UUID))
+ return 0;
+
+ va_start(ap, fmt);
+ rc = blkid_probe_vsprintf_value(pr, "UUID", fmt, ap);
+ va_end(ap);
+
+ /* convert to lower case (..be paranoid) */
+ if (!rc) {
+ size_t i;
+ struct blkid_prval *v = __blkid_probe_get_value(pr,
+ blkid_probe_numof_values(pr));
+ if (v) {
+ for (i = 0; i < v->len; i++)
+ if (v->data[i] >= 'A' && v->data[i] <= 'F')
+ v->data[i] = (v->data[i] - 'A') + 'a';
+ }
+ }
+ return rc;
+}
+
+/* function to set UUIDs that are in suberblocks stored as strings */
+int blkid_probe_strncpy_uuid(blkid_probe pr, unsigned char *str, size_t len)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+ struct blkid_prval *v;
+
+ if (str == NULL || *str == '\0')
+ return -1;
+ if (!len)
+ len = strlen((char *) str);
+ if (len > BLKID_PROBVAL_BUFSIZ)
+ len = BLKID_PROBVAL_BUFSIZ;
+
+ if ((chn->flags & BLKID_SUBLKS_UUIDRAW) &&
+ blkid_probe_set_value(pr, "UUID_RAW", str, len) < 0)
+ return -1;
+ if (!(chn->flags & BLKID_SUBLKS_UUID))
+ return 0;
+
+ v = blkid_probe_assign_value(pr, "UUID");
+ if (v) {
+ if (len == BLKID_PROBVAL_BUFSIZ)
+ len--; /* make a space for \0 */
+
+ memcpy((char *) v->data, str, len);
+ v->data[len] = '\0';
+ v->len = len + 1;
+ return 0;
+ }
+ return -1;
+}
+
+/* default _set_uuid function to set DCE UUIDs */
+int blkid_probe_set_uuid_as(blkid_probe pr, unsigned char *uuid, const char *name)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+ struct blkid_prval *v;
+
+ if (uuid_is_empty(uuid, 16))
+ return 0;
+
+ if (!name) {
+ if ((chn->flags & BLKID_SUBLKS_UUIDRAW) &&
+ blkid_probe_set_value(pr, "UUID_RAW", uuid, 16) < 0)
+ return -1;
+ if (!(chn->flags & BLKID_SUBLKS_UUID))
+ return 0;
+
+ v = blkid_probe_assign_value(pr, "UUID");
+ } else
+ v = blkid_probe_assign_value(pr, name);
+
+ blkid_unparse_uuid(uuid, (char *) v->data, sizeof(v->data));
+ v->len = 37;
+
+ return 0;
+}
+
+int blkid_probe_set_uuid(blkid_probe pr, unsigned char *uuid)
+{
+ return blkid_probe_set_uuid_as(pr, uuid, NULL);
+}
+
+/**
+ * blkid_probe_set_request:
+ * @pr: probe
+ * @flags: BLKID_PROBREQ_* (deprecated) or BLKID_SUBLKS_* flags
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ *
+ * Deprecated: Use blkid_probe_set_superblocks_flags().
+ */
+int blkid_probe_set_request(blkid_probe pr, int flags)
+{
+ return blkid_probe_set_superblocks_flags(pr, flags);
+}
+
+/**
+ * blkid_probe_reset_filter:
+ * @pr: prober
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ *
+ * Deprecated: Use blkid_probe_reset_superblocks_filter().
+ */
+int blkid_probe_reset_filter(blkid_probe pr)
+{
+ return __blkid_probe_reset_filter(pr, BLKID_CHAIN_SUBLKS);
+}
+
+/**
+ * blkid_probe_invert_filter:
+ * @pr: prober
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ *
+ * Deprecated: Use blkid_probe_invert_superblocks_filter().
+ */
+int blkid_probe_invert_filter(blkid_probe pr)
+{
+ return __blkid_probe_invert_filter(pr, BLKID_CHAIN_SUBLKS);
+}
+
+/**
+ * blkid_probe_filter_types
+ * @pr: prober
+ * @flag: filter BLKID_FLTR_{NOTIN,ONLYIN} flag
+ * @names: NULL terminated array of probing function names (e.g. "vfat").
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ *
+ * Deprecated: Use blkid_probe_filter_superblocks_types().
+ */
+int blkid_probe_filter_types(blkid_probe pr, int flag, char *names[])
+{
+ return __blkid_probe_filter_types(pr, BLKID_CHAIN_SUBLKS, flag, names);
+}
+
+/**
+ * blkid_probe_filter_usage
+ * @pr: prober
+ * @flag: filter BLKID_FLTR_{NOTIN,ONLYIN} flag
+ * @usage: BLKID_USAGE_* flags
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ *
+ * Deprecated: Use blkid_probe_filter_superblocks_usage().
+ */
+int blkid_probe_filter_usage(blkid_probe pr, int flag, int usage)
+{
+ return blkid_probe_filter_superblocks_usage(pr, flag, usage);
+}
+
+
diff --git a/libblkid/src/superblocks/superblocks.h b/libblkid/src/superblocks/superblocks.h
new file mode 100644
index 0000000..08f1438
--- /dev/null
+++ b/libblkid/src/superblocks/superblocks.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#ifndef _BLKID_SUPERBLOCKS_H
+#define _BLKID_SUPERBLOCKS_H
+
+#include "blkidP.h"
+
+extern const struct blkid_idinfo cramfs_idinfo;
+extern const struct blkid_idinfo swap_idinfo;
+extern const struct blkid_idinfo swsuspend_idinfo;
+extern const struct blkid_idinfo adraid_idinfo;
+extern const struct blkid_idinfo ddfraid_idinfo;
+extern const struct blkid_idinfo iswraid_idinfo;
+extern const struct blkid_idinfo jmraid_idinfo;
+extern const struct blkid_idinfo lsiraid_idinfo;
+extern const struct blkid_idinfo nvraid_idinfo;
+extern const struct blkid_idinfo pdcraid_idinfo;
+extern const struct blkid_idinfo silraid_idinfo;
+extern const struct blkid_idinfo viaraid_idinfo;
+extern const struct blkid_idinfo linuxraid_idinfo;
+extern const struct blkid_idinfo ext4dev_idinfo;
+extern const struct blkid_idinfo ext4_idinfo;
+extern const struct blkid_idinfo ext3_idinfo;
+extern const struct blkid_idinfo ext2_idinfo;
+extern const struct blkid_idinfo jbd_idinfo;
+extern const struct blkid_idinfo jfs_idinfo;
+extern const struct blkid_idinfo xfs_idinfo;
+extern const struct blkid_idinfo gfs_idinfo;
+extern const struct blkid_idinfo gfs2_idinfo;
+extern const struct blkid_idinfo romfs_idinfo;
+extern const struct blkid_idinfo ocfs_idinfo;
+extern const struct blkid_idinfo ocfs2_idinfo;
+extern const struct blkid_idinfo oracleasm_idinfo;
+extern const struct blkid_idinfo reiser_idinfo;
+extern const struct blkid_idinfo reiser4_idinfo;
+extern const struct blkid_idinfo hfs_idinfo;
+extern const struct blkid_idinfo hfsplus_idinfo;
+extern const struct blkid_idinfo ntfs_idinfo;
+extern const struct blkid_idinfo iso9660_idinfo;
+extern const struct blkid_idinfo udf_idinfo;
+extern const struct blkid_idinfo vxfs_idinfo;
+extern const struct blkid_idinfo minix_idinfo;
+extern const struct blkid_idinfo vfat_idinfo;
+extern const struct blkid_idinfo ufs_idinfo;
+extern const struct blkid_idinfo hpfs_idinfo;
+extern const struct blkid_idinfo lvm2_idinfo;
+extern const struct blkid_idinfo lvm1_idinfo;
+extern const struct blkid_idinfo snapcow_idinfo;
+extern const struct blkid_idinfo verity_hash_idinfo;
+extern const struct blkid_idinfo luks_idinfo;
+extern const struct blkid_idinfo highpoint37x_idinfo;
+extern const struct blkid_idinfo highpoint45x_idinfo;
+extern const struct blkid_idinfo squashfs_idinfo;
+extern const struct blkid_idinfo netware_idinfo;
+extern const struct blkid_idinfo sysv_idinfo;
+extern const struct blkid_idinfo xenix_idinfo;
+extern const struct blkid_idinfo btrfs_idinfo;
+extern const struct blkid_idinfo ubifs_idinfo;
+extern const struct blkid_idinfo zfs_idinfo;
+extern const struct blkid_idinfo bfs_idinfo;
+extern const struct blkid_idinfo vmfs_volume_idinfo;
+extern const struct blkid_idinfo vmfs_fs_idinfo;
+extern const struct blkid_idinfo drbd_idinfo;
+extern const struct blkid_idinfo drbdproxy_datalog_idinfo;
+extern const struct blkid_idinfo befs_idinfo;
+extern const struct blkid_idinfo nilfs2_idinfo;
+extern const struct blkid_idinfo exfat_idinfo;
+
+/*
+ * superblock functions
+ */
+extern int blkid_probe_set_version(blkid_probe pr, const char *version);
+extern int blkid_probe_sprintf_version(blkid_probe pr, const char *fmt, ...)
+ __attribute__ ((__format__ (__printf__, 2, 3)));
+
+extern int blkid_probe_set_label(blkid_probe pr, unsigned char *label, size_t len);
+extern int blkid_probe_set_utf8label(blkid_probe pr, unsigned char *label,
+ size_t len, int enc);
+extern int blkid_probe_sprintf_uuid(blkid_probe pr, unsigned char *uuid,
+ size_t len, const char *fmt, ...)
+ __attribute__ ((__format__ (__printf__, 4, 5)));
+extern int blkid_probe_strncpy_uuid(blkid_probe pr, unsigned char *str, size_t len);
+
+extern int blkid_probe_set_uuid(blkid_probe pr, unsigned char *uuid);
+extern int blkid_probe_set_uuid_as(blkid_probe pr, unsigned char *uuid, const char *name);
+
+
+#endif /* _BLKID_SUPERBLOCKS_H */
diff --git a/libblkid/src/superblocks/swap.c b/libblkid/src/superblocks/swap.c
new file mode 100644
index 0000000..7ac119b
--- /dev/null
+++ b/libblkid/src/superblocks/swap.c
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+/* linux-2.6/include/linux/swap.h */
+struct swap_header_v1_2 {
+ /* char bootbits[1024]; */ /* Space for disklabel etc. */
+ uint32_t version;
+ uint32_t lastpage;
+ uint32_t nr_badpages;
+ unsigned char uuid[16];
+ unsigned char volume[16];
+ uint32_t padding[117];
+ uint32_t badpages[1];
+} __attribute__((packed));
+
+#define PAGESIZE_MIN 0xff6 /* 4086 (arm, i386, ...) */
+#define PAGESIZE_MAX 0xfff6 /* 65526 (ia64) */
+
+#define TOI_MAGIC_STRING "\xed\xc3\x02\xe9\x98\x56\xe5\x0c"
+#define TOI_MAGIC_STRLEN (sizeof(TOI_MAGIC_STRING) - 1)
+
+static int swap_set_info(blkid_probe pr, const char *version)
+{
+ struct swap_header_v1_2 *hdr;
+
+ /* Swap header always located at offset of 1024 bytes */
+ hdr = (struct swap_header_v1_2 *) blkid_probe_get_buffer(pr, 1024,
+ sizeof(struct swap_header_v1_2));
+ if (!hdr)
+ return -1;
+
+ /* SWAPSPACE2 - check for wrong version or zeroed pagecount */
+ if (strcmp(version, "2") == 0 &&
+ (hdr->version != 1 || hdr->lastpage == 0))
+ return -1;
+
+ /* arbitrary sanity check.. is there any garbage down there? */
+ if (hdr->padding[32] == 0 && hdr->padding[33] == 0) {
+ if (hdr->volume[0] && blkid_probe_set_label(pr, hdr->volume,
+ sizeof(hdr->volume)) < 0)
+ return -1;
+ if (blkid_probe_set_uuid(pr, hdr->uuid) < 0)
+ return -1;
+ }
+
+ blkid_probe_set_version(pr, version);
+ return 0;
+}
+
+static int probe_swap(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ unsigned char *buf;
+
+ if (!mag)
+ return -1;
+
+ /* TuxOnIce keeps valid swap header at the end of the 1st page */
+ buf = blkid_probe_get_buffer(pr, 0, TOI_MAGIC_STRLEN);
+ if (!buf)
+ return -1;
+
+ if (memcmp(buf, TOI_MAGIC_STRING, TOI_MAGIC_STRLEN) == 0)
+ return 1; /* Ignore swap signature, it's TuxOnIce */
+
+ if (!memcmp(mag->magic, "SWAP-SPACE", mag->len)) {
+ /* swap v0 doesn't support LABEL or UUID */
+ blkid_probe_set_version(pr, "1");
+ return 0;
+
+ } else if (!memcmp(mag->magic, "SWAPSPACE2", mag->len))
+ return swap_set_info(pr, "2");
+
+ return -1;
+}
+
+static int probe_swsuspend(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ if (!mag)
+ return -1;
+ if (!memcmp(mag->magic, "S1SUSPEND", mag->len))
+ return swap_set_info(pr, "s1suspend");
+ if (!memcmp(mag->magic, "S2SUSPEND", mag->len))
+ return swap_set_info(pr, "s2suspend");
+ if (!memcmp(mag->magic, "ULSUSPEND", mag->len))
+ return swap_set_info(pr, "ulsuspend");
+ if (!memcmp(mag->magic, TOI_MAGIC_STRING, mag->len))
+ return swap_set_info(pr, "tuxonice");
+ if (!memcmp(mag->magic, "LINHIB0001", mag->len))
+ return swap_set_info(pr, "linhib0001");
+
+ return -1; /* no signature detected */
+}
+
+const struct blkid_idinfo swap_idinfo =
+{
+ .name = "swap",
+ .usage = BLKID_USAGE_OTHER,
+ .probefunc = probe_swap,
+ .minsz = 10 * 4096, /* 10 pages */
+ .magics =
+ {
+ { "SWAP-SPACE", 10, 0, 0xff6 },
+ { "SWAPSPACE2", 10, 0, 0xff6 },
+ { "SWAP-SPACE", 10, 0, 0x1ff6 },
+ { "SWAPSPACE2", 10, 0, 0x1ff6 },
+ { "SWAP-SPACE", 10, 0, 0x3ff6 },
+ { "SWAPSPACE2", 10, 0, 0x3ff6 },
+ { "SWAP-SPACE", 10, 0, 0x7ff6 },
+ { "SWAPSPACE2", 10, 0, 0x7ff6 },
+ { "SWAP-SPACE", 10, 0, 0xfff6 },
+ { "SWAPSPACE2", 10, 0, 0xfff6 },
+ { NULL }
+ }
+};
+
+
+const struct blkid_idinfo swsuspend_idinfo =
+{
+ .name = "swsuspend",
+ .usage = BLKID_USAGE_OTHER,
+ .probefunc = probe_swsuspend,
+ .minsz = 10 * 4096, /* 10 pages */
+ .magics =
+ {
+ { TOI_MAGIC_STRING, TOI_MAGIC_STRLEN, 0, 0 },
+ { "S1SUSPEND", 9, 0, 0xff6 },
+ { "S2SUSPEND", 9, 0, 0xff6 },
+ { "ULSUSPEND", 9, 0, 0xff6 },
+ { "LINHIB0001",10,0, 0xff6 },
+
+ { "S1SUSPEND", 9, 0, 0x1ff6 },
+ { "S2SUSPEND", 9, 0, 0x1ff6 },
+ { "ULSUSPEND", 9, 0, 0x1ff6 },
+ { "LINHIB0001",10,0, 0x1ff6 },
+
+ { "S1SUSPEND", 9, 0, 0x3ff6 },
+ { "S2SUSPEND", 9, 0, 0x3ff6 },
+ { "ULSUSPEND", 9, 0, 0x3ff6 },
+ { "LINHIB0001",10,0, 0x3ff6 },
+
+ { "S1SUSPEND", 9, 0, 0x7ff6 },
+ { "S2SUSPEND", 9, 0, 0x7ff6 },
+ { "ULSUSPEND", 9, 0, 0x7ff6 },
+ { "LINHIB0001",10,0, 0x7ff6 },
+
+ { "S1SUSPEND", 9, 0, 0xfff6 },
+ { "S2SUSPEND", 9, 0, 0xfff6 },
+ { "ULSUSPEND", 9, 0, 0xfff6 },
+ { "LINHIB0001",10,0, 0xfff6 },
+
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/sysv.c b/libblkid/src/superblocks/sysv.c
new file mode 100644
index 0000000..80b0cc5
--- /dev/null
+++ b/libblkid/src/superblocks/sysv.c
@@ -0,0 +1,154 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This is written from sratch according to Linux kernel fs/sysv/super.c file.
+ * It seems that sysv probing code in libvolume_id and also in the original
+ * blkid is useless.
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <stddef.h>
+
+#include "superblocks.h"
+
+#define XENIX_NICINOD 100
+#define XENIX_NICFREE 100
+
+struct xenix_super_block {
+ uint16_t s_isize;
+ uint32_t s_fsize;
+ uint16_t s_nfree;
+ uint32_t s_free[XENIX_NICFREE];
+ uint16_t s_ninode;
+ uint16_t s_inode[XENIX_NICINOD];
+ uint8_t s_flock;
+ uint8_t s_ilock;
+ uint8_t s_fmod;
+ uint8_t s_ronly;
+ uint32_t s_time;
+ uint32_t s_tfree;
+ uint16_t s_tinode;
+ uint16_t s_dinfo[4];
+ uint8_t s_fname[6];
+ uint8_t s_fpack[6];
+ uint8_t s_clean;
+ uint8_t s_fill[371];
+ uint32_t s_magic;
+ uint32_t s_type;
+} __attribute__((packed));
+
+
+#define SYSV_NICINOD 100
+#define SYSV_NICFREE 50
+
+struct sysv_super_block
+{
+ uint16_t s_isize;
+ uint16_t s_pad0;
+ uint32_t s_fsize;
+ uint16_t s_nfree;
+ uint16_t s_pad1;
+ uint32_t s_free[SYSV_NICFREE];
+ uint16_t s_ninode;
+ uint16_t s_pad2;
+ uint16_t s_inode[SYSV_NICINOD];
+ uint8_t s_flock;
+ uint8_t s_ilock;
+ uint8_t s_fmod;
+ uint8_t s_ronly;
+ uint32_t s_time;
+ uint16_t s_dinfo[4];
+ uint32_t s_tfree;
+ uint16_t s_tinode;
+ uint16_t s_pad3;
+ uint8_t s_fname[6];
+ uint8_t s_fpack[6];
+ uint32_t s_fill[12];
+ uint32_t s_state;
+ uint32_t s_magic;
+ uint32_t s_type;
+};
+
+static int probe_xenix(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct xenix_super_block *sb;
+
+ sb = blkid_probe_get_sb(pr, mag, struct xenix_super_block);
+ if (!sb)
+ return -1;
+ blkid_probe_set_label(pr, sb->s_fname, sizeof(sb->s_fname));
+ return 0;
+}
+
+#define SYSV_BLOCK_SIZE 1024
+
+/* Note that we don't probe for Coherent FS, this FS does not have
+ * magic string. (It requires to probe fname/fpack field..)
+ */
+static int probe_sysv(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct sysv_super_block *sb;
+ int blocks[] = {0, 9, 15, 18};
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(blocks); i++) {
+ int off = blocks[i] * SYSV_BLOCK_SIZE + SYSV_BLOCK_SIZE/2;
+
+ sb = (struct sysv_super_block *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct sysv_super_block));
+ if (!sb)
+ return -1;
+
+ if (sb->s_magic == cpu_to_le32(0xfd187e20) ||
+ sb->s_magic == cpu_to_be32(0xfd187e20)) {
+
+ if (blkid_probe_set_label(pr, sb->s_fname,
+ sizeof(sb->s_fname)))
+ return -1;
+
+ if (blkid_probe_set_magic(pr,
+ off + offsetof(struct sysv_super_block,
+ s_magic),
+ sizeof(sb->s_magic),
+ (unsigned char *) &sb->s_magic))
+ return -1;
+
+ return 0;
+ }
+ }
+ return 1;
+}
+
+const struct blkid_idinfo xenix_idinfo =
+{
+ .name = "xenix",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_xenix,
+ .magics =
+ {
+ { .magic = "\x2b\x55\x44", .len = 3, .kboff = 1, .sboff = 0x400 },
+ { .magic = "\x44\x55\x2b", .len = 3, .kboff = 1, .sboff = 0x400 },
+ { NULL }
+ }
+};
+
+const struct blkid_idinfo sysv_idinfo =
+{
+ .name = "sysv",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_sysv,
+
+ /* SYSV is BE and LE and superblock could be on four positions. It's
+ * simpler to probe for the magic string by .probefunc().
+ */
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/superblocks/ubifs.c b/libblkid/src/superblocks/ubifs.c
new file mode 100644
index 0000000..2d69c2b
--- /dev/null
+++ b/libblkid/src/superblocks/ubifs.c
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2009 Corentin Chary <corentincj@iksaif.net>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+/*
+ * struct ubifs_ch - common header node.
+ * @magic: UBIFS node magic number (%UBIFS_NODE_MAGIC)
+ * @crc: CRC-32 checksum of the node header
+ * @sqnum: sequence number
+ * @len: full node length
+ * @node_type: node type
+ * @group_type: node group type
+ * @padding: reserved for future, zeroes
+ *
+ * Every UBIFS node starts with this common part. If the node has a key, the
+ * key always goes next.
+ */
+struct ubifs_ch {
+ uint32_t magic;
+ uint32_t crc;
+ uint64_t sqnum;
+ uint32_t len;
+ uint8_t node_type;
+ uint8_t group_type;
+ uint8_t padding[2];
+} __attribute__ ((packed));
+
+/*
+ * struct ubifs_sb_node - superblock node.
+ * @ch: common header
+ * @padding: reserved for future, zeroes
+ * @key_hash: type of hash function used in keys
+ * @key_fmt: format of the key
+ * @flags: file-system flags (%UBIFS_FLG_BIGLPT, etc)
+ * @min_io_size: minimal input/output unit size
+ * @leb_size: logical eraseblock size in bytes
+ * @leb_cnt: count of LEBs used by file-system
+ * @max_leb_cnt: maximum count of LEBs used by file-system
+ * @max_bud_bytes: maximum amount of data stored in buds
+ * @log_lebs: log size in logical eraseblocks
+ * @lpt_lebs: number of LEBs used for lprops table
+ * @orph_lebs: number of LEBs used for recording orphans
+ * @jhead_cnt: count of journal heads
+ * @fanout: tree fanout (max. number of links per indexing node)
+ * @lsave_cnt: number of LEB numbers in LPT's save table
+ * @fmt_version: UBIFS on-flash format version
+ * @default_compr: default compression algorithm (%UBIFS_COMPR_LZO, etc)
+ * @padding1: reserved for future, zeroes
+ * @rp_uid: reserve pool UID
+ * @rp_gid: reserve pool GID
+ * @rp_size: size of the reserved pool in bytes
+ * @padding2: reserved for future, zeroes
+ * @time_gran: time granularity in nanoseconds
+ * @uuid: UUID generated when the file system image was created
+ * @ro_compat_version: UBIFS R/O compatibility version
+ */
+struct ubifs_sb_node {
+ struct ubifs_ch ch;
+ uint8_t padding[2];
+ uint8_t key_hash;
+ uint8_t key_fmt;
+ uint32_t flags;
+ uint32_t min_io_size;
+ uint32_t leb_size;
+ uint32_t leb_cnt;
+ uint32_t max_leb_cnt;
+ uint64_t max_bud_bytes;
+ uint32_t log_lebs;
+ uint32_t lpt_lebs;
+ uint32_t orph_lebs;
+ uint32_t jhead_cnt;
+ uint32_t fanout;
+ uint32_t lsave_cnt;
+ uint32_t fmt_version;
+ uint16_t default_compr;
+ uint8_t padding1[2];
+ uint32_t rp_uid;
+ uint32_t rp_gid;
+ uint64_t rp_size;
+ uint32_t time_gran;
+ uint8_t uuid[16];
+ uint32_t ro_compat_version;
+ uint8_t padding2[3968];
+} __attribute__ ((packed));
+
+static int probe_ubifs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct ubifs_sb_node *sb;
+
+ sb = blkid_probe_get_sb(pr, mag, struct ubifs_sb_node);
+ if (!sb)
+ return -1;
+
+ blkid_probe_set_uuid(pr, sb->uuid);
+ blkid_probe_sprintf_version(pr, "w%dr%d",
+ sb->fmt_version, sb->ro_compat_version);
+ return 0;
+}
+
+const struct blkid_idinfo ubifs_idinfo =
+{
+ .name = "ubifs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_ubifs,
+ .magics =
+ {
+ { .magic = "\x31\x18\x10\x06", .len = 4 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/udf.c b/libblkid/src/superblocks/udf.c
new file mode 100644
index 0000000..a5afc5c
--- /dev/null
+++ b/libblkid/src/superblocks/udf.c
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct volume_descriptor {
+ struct descriptor_tag {
+ uint16_t id;
+ uint16_t version;
+ uint8_t checksum;
+ uint8_t reserved;
+ uint16_t serial;
+ uint16_t crc;
+ uint16_t crc_len;
+ uint32_t location;
+ } __attribute__((packed)) tag;
+
+ union {
+ struct anchor_descriptor {
+ uint32_t length;
+ uint32_t location;
+ } __attribute__((packed)) anchor;
+
+ struct primary_descriptor {
+ uint32_t seq_num;
+ uint32_t desc_num;
+ struct dstring {
+ uint8_t clen;
+ uint8_t c[31];
+ } __attribute__((packed)) ident;
+ } __attribute__((packed)) primary;
+
+ } __attribute__((packed)) type;
+
+} __attribute__((packed));
+
+struct volume_structure_descriptor {
+ uint8_t type;
+ uint8_t id[5];
+ uint8_t version;
+} __attribute__((packed));
+
+#define UDF_VSD_OFFSET 0x8000LL
+
+static int probe_udf(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct volume_descriptor *vd;
+ struct volume_structure_descriptor *vsd;
+ unsigned int bs;
+ unsigned int b;
+ unsigned int type;
+ unsigned int count;
+ unsigned int loc;
+
+ /* search Volume Sequence Descriptor (VSD) to get the logical
+ * block size of the volume */
+ for (bs = 0x800; bs < 0x8000; bs += 0x800) {
+ vsd = (struct volume_structure_descriptor *)
+ blkid_probe_get_buffer(pr,
+ UDF_VSD_OFFSET + bs,
+ sizeof(*vsd));
+ if (!vsd)
+ return 1;
+ if (vsd->id[0] != '\0')
+ goto nsr;
+ }
+ return -1;
+
+nsr:
+ /* search the list of VSDs for a NSR descriptor */
+ for (b = 0; b < 64; b++) {
+ vsd = (struct volume_structure_descriptor *)
+ blkid_probe_get_buffer(pr,
+ UDF_VSD_OFFSET + ((blkid_loff_t) b * bs),
+ sizeof(*vsd));
+ if (!vsd)
+ return -1;
+ if (vsd->id[0] == '\0')
+ return -1;
+ if (memcmp(vsd->id, "NSR02", 5) == 0)
+ goto anchor;
+ if (memcmp(vsd->id, "NSR03", 5) == 0)
+ goto anchor;
+ }
+ return -1;
+
+anchor:
+ /* read Anchor Volume Descriptor (AVDP) */
+ vd = (struct volume_descriptor *)
+ blkid_probe_get_buffer(pr, 256 * bs, sizeof(*vd));
+ if (!vd)
+ return -1;
+
+ type = le16_to_cpu(vd->tag.id);
+ if (type != 2) /* TAG_ID_AVDP */
+ return 0;
+
+ /* get desriptor list address and block count */
+ count = le32_to_cpu(vd->type.anchor.length) / bs;
+ loc = le32_to_cpu(vd->type.anchor.location);
+
+ /* pick the primary descriptor from the list */
+ for (b = 0; b < count; b++) {
+ vd = (struct volume_descriptor *)
+ blkid_probe_get_buffer(pr,
+ (blkid_loff_t) (loc + b) * bs,
+ sizeof(*vd));
+ if (!vd)
+ return -1;
+
+ type = le16_to_cpu(vd->tag.id);
+ if (type == 0)
+ break;
+ if (le32_to_cpu(vd->tag.location) != loc + b)
+ break;
+ if (type == 1) { /* TAG_ID_PVD */
+ uint8_t clen = vd->type.primary.ident.clen;
+
+ if (clen == 8)
+ blkid_probe_set_label(pr,
+ vd->type.primary.ident.c, 31);
+ else if (clen == 16)
+ blkid_probe_set_utf8label(pr,
+ vd->type.primary.ident.c,
+ 31, BLKID_ENC_UTF16BE);
+
+ if (clen == 8 || clen == 16)
+ break;
+ }
+ }
+
+ return 0;
+}
+
+
+const struct blkid_idinfo udf_idinfo =
+{
+ .name = "udf",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_udf,
+ .flags = BLKID_IDINFO_TOLERANT,
+ .magics =
+ {
+ { .magic = "BEA01", .len = 5, .kboff = 32, .sboff = 1 },
+ { .magic = "BOOT2", .len = 5, .kboff = 32, .sboff = 1 },
+ { .magic = "CD001", .len = 5, .kboff = 32, .sboff = 1 },
+ { .magic = "CDW02", .len = 5, .kboff = 32, .sboff = 1 },
+ { .magic = "NSR02", .len = 5, .kboff = 32, .sboff = 1 },
+ { .magic = "NSR03", .len = 5, .kboff = 32, .sboff = 1 },
+ { .magic = "TEA01", .len = 5, .kboff = 32, .sboff = 1 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/ufs.c b/libblkid/src/superblocks/ufs.c
new file mode 100644
index 0000000..673a528
--- /dev/null
+++ b/libblkid/src/superblocks/ufs.c
@@ -0,0 +1,258 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+#include <stddef.h>
+
+#include "superblocks.h"
+
+struct ufs_super_block {
+ uint32_t fs_link;
+ uint32_t fs_rlink;
+ uint32_t fs_sblkno;
+ uint32_t fs_cblkno;
+ uint32_t fs_iblkno;
+ uint32_t fs_dblkno;
+ uint32_t fs_cgoffset;
+ uint32_t fs_cgmask;
+ uint32_t fs_time;
+ uint32_t fs_size;
+ uint32_t fs_dsize;
+ uint32_t fs_ncg;
+ uint32_t fs_bsize;
+ uint32_t fs_fsize;
+ uint32_t fs_frag;
+ uint32_t fs_minfree;
+ uint32_t fs_rotdelay;
+ uint32_t fs_rps;
+ uint32_t fs_bmask;
+ uint32_t fs_fmask;
+ uint32_t fs_bshift;
+ uint32_t fs_fshift;
+ uint32_t fs_maxcontig;
+ uint32_t fs_maxbpg;
+ uint32_t fs_fragshift;
+ uint32_t fs_fsbtodb;
+ uint32_t fs_sbsize;
+ uint32_t fs_csmask;
+ uint32_t fs_csshift;
+ uint32_t fs_nindir;
+ uint32_t fs_inopb;
+ uint32_t fs_nspf;
+ uint32_t fs_optim;
+ uint32_t fs_npsect_state;
+ uint32_t fs_interleave;
+ uint32_t fs_trackskew;
+ uint32_t fs_id[2];
+ uint32_t fs_csaddr;
+ uint32_t fs_cssize;
+ uint32_t fs_cgsize;
+ uint32_t fs_ntrak;
+ uint32_t fs_nsect;
+ uint32_t fs_spc;
+ uint32_t fs_ncyl;
+ uint32_t fs_cpg;
+ uint32_t fs_ipg;
+ uint32_t fs_fpg;
+ struct ufs_csum {
+ uint32_t cs_ndir;
+ uint32_t cs_nbfree;
+ uint32_t cs_nifree;
+ uint32_t cs_nffree;
+ } fs_cstotal;
+ int8_t fs_fmod;
+ int8_t fs_clean;
+ int8_t fs_ronly;
+ int8_t fs_flags;
+ union {
+ struct {
+ int8_t fs_fsmnt[512];
+ uint32_t fs_cgrotor;
+ uint32_t fs_csp[31];
+ uint32_t fs_maxcluster;
+ uint32_t fs_cpc;
+ uint16_t fs_opostbl[16][8];
+ } fs_u1;
+ struct {
+ int8_t fs_fsmnt[468];
+ uint8_t fs_volname[32];
+ uint64_t fs_swuid;
+ int32_t fs_pad;
+ uint32_t fs_cgrotor;
+ uint32_t fs_ocsp[28];
+ uint32_t fs_contigdirs;
+ uint32_t fs_csp;
+ uint32_t fs_maxcluster;
+ uint32_t fs_active;
+ int32_t fs_old_cpc;
+ int32_t fs_maxbsize;
+ int64_t fs_sparecon64[17];
+ int64_t fs_sblockloc;
+ struct ufs2_csum_total {
+ uint64_t cs_ndir;
+ uint64_t cs_nbfree;
+ uint64_t cs_nifree;
+ uint64_t cs_nffree;
+ uint64_t cs_numclusters;
+ uint64_t cs_spare[3];
+ } fs_cstotal;
+ struct ufs_timeval {
+ int32_t tv_sec;
+ int32_t tv_usec;
+ } fs_time;
+ int64_t fs_size;
+ int64_t fs_dsize;
+ uint64_t fs_csaddr;
+ int64_t fs_pendingblocks;
+ int32_t fs_pendinginodes;
+ } __attribute__((packed)) fs_u2;
+ } fs_u11;
+ union {
+ struct {
+ int32_t fs_sparecon[53];
+ int32_t fs_reclaim;
+ int32_t fs_sparecon2[1];
+ int32_t fs_state;
+ uint32_t fs_qbmask[2];
+ uint32_t fs_qfmask[2];
+ } fs_sun;
+ struct {
+ int32_t fs_sparecon[53];
+ int32_t fs_reclaim;
+ int32_t fs_sparecon2[1];
+ uint32_t fs_npsect;
+ uint32_t fs_qbmask[2];
+ uint32_t fs_qfmask[2];
+ } fs_sunx86;
+ struct {
+ int32_t fs_sparecon[50];
+ int32_t fs_contigsumsize;
+ int32_t fs_maxsymlinklen;
+ int32_t fs_inodefmt;
+ uint32_t fs_maxfilesize[2];
+ uint32_t fs_qbmask[2];
+ uint32_t fs_qfmask[2];
+ int32_t fs_state;
+ } fs_44;
+ } fs_u2;
+ int32_t fs_postblformat;
+ int32_t fs_nrpos;
+ int32_t fs_postbloff;
+ int32_t fs_rotbloff;
+ uint32_t fs_magic;
+ uint8_t fs_space[1];
+} __attribute__((packed));
+
+#define UFS_MAGIC 0x00011954
+#define UFS2_MAGIC 0x19540119
+#define UFS_MAGIC_FEA 0x00195612
+#define UFS_MAGIC_LFN 0x00095014
+#define UFS_MAGIC_SEC 0x00612195
+#define UFS_MAGIC_4GB 0x05231994
+
+static int probe_ufs(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ int offsets[] = { 0, 8, 64, 256 };
+ uint32_t mags[] = {
+ UFS2_MAGIC, UFS_MAGIC, UFS_MAGIC_FEA, UFS_MAGIC_LFN,
+ UFS_MAGIC_SEC, UFS_MAGIC_4GB
+ };
+ size_t i;
+ uint32_t magic;
+ struct ufs_super_block *ufs;
+ int is_be;
+
+ for (i = 0; i < ARRAY_SIZE(offsets); i++) {
+ uint32_t magLE, magBE;
+ size_t y;
+
+ ufs = (struct ufs_super_block *)
+ blkid_probe_get_buffer(pr,
+ offsets[i] * 1024,
+ sizeof(struct ufs_super_block));
+ if (!ufs)
+ return -1;
+
+ magBE = be32_to_cpu(ufs->fs_magic);
+ magLE = le32_to_cpu(ufs->fs_magic);
+
+ for (y = 0; y < ARRAY_SIZE(mags); y++) {
+ if (magLE == mags[y] || magBE == mags[y]) {
+ magic = mags[y];
+ is_be = (magBE == mags[y]);
+ goto found;
+ }
+ }
+ }
+
+ return 1;
+
+found:
+ if (magic == UFS2_MAGIC) {
+ blkid_probe_set_version(pr, "2");
+ blkid_probe_set_label(pr, ufs->fs_u11.fs_u2.fs_volname,
+ sizeof(ufs->fs_u11.fs_u2.fs_volname));
+ } else
+ blkid_probe_set_version(pr, "1");
+ if (ufs->fs_id[0] || ufs->fs_id[1])
+ {
+ if (is_be)
+ blkid_probe_sprintf_uuid(pr,
+ (unsigned char *) &ufs->fs_id,
+ sizeof(ufs->fs_id),
+ "%08x%08x",
+ be32_to_cpu(ufs->fs_id[0]),
+ be32_to_cpu(ufs->fs_id[1]));
+ else
+ blkid_probe_sprintf_uuid(pr,
+ (unsigned char *) &ufs->fs_id,
+ sizeof(ufs->fs_id),
+ "%08x%08x",
+ le32_to_cpu(ufs->fs_id[0]),
+ le32_to_cpu(ufs->fs_id[1]));
+ }
+
+ if (blkid_probe_set_magic(pr,
+ (offsets[i] * 1024) +
+ offsetof(struct ufs_super_block, fs_magic),
+ sizeof(ufs->fs_magic),
+ (unsigned char *) &ufs->fs_magic))
+ return -1;
+
+ return 0;
+}
+
+/*
+ * According to libvolume_id the UFS superblock could be on four positions.
+ * The original libblkid has checked one position (.kboff=8) only.
+ *
+ * We know four UFS magic strings and UFS could be both little-endian and
+ * big-endian. ... so we have:
+ *
+ * 4 position * 4 string * 2 version = 32 magic strings
+ *
+ * It seems simpler to check for these string in probing function that hardcode
+ * all in the .magic array.
+ */
+const struct blkid_idinfo ufs_idinfo =
+{
+ .name = "ufs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_ufs,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/superblocks/vfat.c b/libblkid/src/superblocks/vfat.c
new file mode 100644
index 0000000..2feb818
--- /dev/null
+++ b/libblkid/src/superblocks/vfat.c
@@ -0,0 +1,427 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+/* Yucky misaligned values */
+struct vfat_super_block {
+/* 00*/ unsigned char vs_ignored[3];
+/* 03*/ unsigned char vs_sysid[8];
+/* 0b*/ unsigned char vs_sector_size[2];
+/* 0d*/ uint8_t vs_cluster_size;
+/* 0e*/ uint16_t vs_reserved;
+/* 10*/ uint8_t vs_fats;
+/* 11*/ unsigned char vs_dir_entries[2];
+/* 13*/ unsigned char vs_sectors[2];
+/* 15*/ unsigned char vs_media;
+/* 16*/ uint16_t vs_fat_length;
+/* 18*/ uint16_t vs_secs_track;
+/* 1a*/ uint16_t vs_heads;
+/* 1c*/ uint32_t vs_hidden;
+/* 20*/ uint32_t vs_total_sect;
+/* 24*/ uint32_t vs_fat32_length;
+/* 28*/ uint16_t vs_flags;
+/* 2a*/ uint8_t vs_version[2];
+/* 2c*/ uint32_t vs_root_cluster;
+/* 30*/ uint16_t vs_fsinfo_sector;
+/* 32*/ uint16_t vs_backup_boot;
+/* 34*/ uint16_t vs_reserved2[6];
+/* 40*/ unsigned char vs_unknown[3];
+/* 43*/ unsigned char vs_serno[4];
+/* 47*/ unsigned char vs_label[11];
+/* 52*/ unsigned char vs_magic[8];
+/* 5a*/ unsigned char vs_dummy2[0x1fe - 0x5a];
+/*1fe*/ unsigned char vs_pmagic[2];
+} __attribute__((packed));
+
+/* Yucky misaligned values */
+struct msdos_super_block {
+/* 00*/ unsigned char ms_ignored[3];
+/* 03*/ unsigned char ms_sysid[8];
+/* 0b*/ unsigned char ms_sector_size[2];
+/* 0d*/ uint8_t ms_cluster_size;
+/* 0e*/ uint16_t ms_reserved;
+/* 10*/ uint8_t ms_fats;
+/* 11*/ unsigned char ms_dir_entries[2];
+/* 13*/ unsigned char ms_sectors[2]; /* =0 iff V3 or later */
+/* 15*/ unsigned char ms_media;
+/* 16*/ uint16_t ms_fat_length; /* Sectors per FAT */
+/* 18*/ uint16_t ms_secs_track;
+/* 1a*/ uint16_t ms_heads;
+/* 1c*/ uint32_t ms_hidden;
+/* V3 BPB */
+/* 20*/ uint32_t ms_total_sect; /* iff ms_sectors == 0 */
+/* V4 BPB */
+/* 24*/ unsigned char ms_unknown[3]; /* Phys drive no., resvd, V4 sig (0x29) */
+/* 27*/ unsigned char ms_serno[4];
+/* 2b*/ unsigned char ms_label[11];
+/* 36*/ unsigned char ms_magic[8];
+/* 3e*/ unsigned char ms_dummy2[0x1fe - 0x3e];
+/*1fe*/ unsigned char ms_pmagic[2];
+} __attribute__((packed));
+
+struct vfat_dir_entry {
+ uint8_t name[11];
+ uint8_t attr;
+ uint16_t time_creat;
+ uint16_t date_creat;
+ uint16_t time_acc;
+ uint16_t date_acc;
+ uint16_t cluster_high;
+ uint16_t time_write;
+ uint16_t date_write;
+ uint16_t cluster_low;
+ uint32_t size;
+} __attribute__((packed));
+
+struct fat32_fsinfo {
+ uint8_t signature1[4];
+ uint32_t reserved1[120];
+ uint8_t signature2[4];
+ uint32_t free_clusters;
+ uint32_t next_cluster;
+ uint32_t reserved2[4];
+} __attribute__((packed));
+
+/* maximum number of clusters */
+#define FAT12_MAX 0xFF4
+#define FAT16_MAX 0xFFF4
+#define FAT32_MAX 0x0FFFFFF6
+
+#define FAT_ATTR_VOLUME_ID 0x08
+#define FAT_ATTR_DIR 0x10
+#define FAT_ATTR_LONG_NAME 0x0f
+#define FAT_ATTR_MASK 0x3f
+#define FAT_ENTRY_FREE 0xe5
+
+static const char *no_name = "NO NAME ";
+
+#define unaligned_le16(x) \
+ (((unsigned char *) x)[0] + (((unsigned char *) x)[1] << 8))
+
+/*
+ * Look for LABEL (name) in the FAT root directory.
+ */
+static unsigned char *search_fat_label(blkid_probe pr,
+ uint64_t offset, uint32_t entries)
+{
+ struct vfat_dir_entry *ent, *dir = NULL;
+ uint32_t i;
+
+ DBG(DEBUG_LOWPROBE,
+ printf("\tlook for label in root-dir "
+ "(entries: %d, offset: %jd)\n", entries, offset));
+
+ if (!blkid_probe_is_tiny(pr)) {
+ /* large disk, read whole root directory */
+ dir = (struct vfat_dir_entry *)
+ blkid_probe_get_buffer(pr,
+ offset,
+ (blkid_loff_t) entries *
+ sizeof(struct vfat_dir_entry));
+ if (!dir)
+ return NULL;
+ }
+
+ for (i = 0; i < entries; i++) {
+ /*
+ * The root directory could be relatively large (4-16kB).
+ * Fortunately, the LABEL is usually the first entry in the
+ * directory. On tiny disks we call read() per entry.
+ */
+ if (!dir)
+ ent = (struct vfat_dir_entry *)
+ blkid_probe_get_buffer(pr,
+ (blkid_loff_t) offset + (i *
+ sizeof(struct vfat_dir_entry)),
+ sizeof(struct vfat_dir_entry));
+ else
+ ent = &dir[i];
+
+ if (!ent || ent->name[0] == 0x00)
+ break;
+
+ if ((ent->name[0] == FAT_ENTRY_FREE) ||
+ (ent->cluster_high != 0 || ent->cluster_low != 0) ||
+ ((ent->attr & FAT_ATTR_MASK) == FAT_ATTR_LONG_NAME))
+ continue;
+
+ if ((ent->attr & (FAT_ATTR_VOLUME_ID | FAT_ATTR_DIR)) ==
+ FAT_ATTR_VOLUME_ID) {
+ DBG(DEBUG_LOWPROBE,
+ printf("\tfound fs LABEL at entry %d\n", i));
+ return ent->name;
+ }
+ }
+ return NULL;
+}
+
+static int fat_valid_superblock(const struct blkid_idmag *mag,
+ struct msdos_super_block *ms,
+ struct vfat_super_block *vs,
+ uint32_t *cluster_count, uint32_t *fat_size)
+{
+ uint16_t sector_size, dir_entries, reserved;
+ uint32_t sect_count, __fat_size, dir_size, __cluster_count, fat_length;
+ uint32_t max_count;
+
+ /* extra check for FATs without magic strings */
+ if (mag->len <= 2) {
+ /* Old floppies have a valid MBR signature */
+ if (ms->ms_pmagic[0] != 0x55 || ms->ms_pmagic[1] != 0xAA)
+ return 0;
+
+ /*
+ * OS/2 and apparently DFSee will place a FAT12/16-like
+ * pseudo-superblock in the first 512 bytes of non-FAT
+ * filesystems --- at least JFS and HPFS, and possibly others.
+ * So we explicitly check for those filesystems at the
+ * FAT12/16 filesystem magic field identifier, and if they are
+ * present, we rule this out as a FAT filesystem, despite the
+ * FAT-like pseudo-header.
+ */
+ if ((memcmp(ms->ms_magic, "JFS ", 8) == 0) ||
+ (memcmp(ms->ms_magic, "HPFS ", 8) == 0))
+ return 0;
+ }
+
+ /* fat counts(Linux kernel expects at least 1 FAT table) */
+ if (!ms->ms_fats)
+ return 0;
+ if (!ms->ms_reserved)
+ return 0;
+ if (!(0xf8 <= ms->ms_media || ms->ms_media == 0xf0))
+ return 0;
+ if (!is_power_of_2(ms->ms_cluster_size))
+ return 0;
+
+ sector_size = unaligned_le16(&ms->ms_sector_size);
+ if (!is_power_of_2(sector_size) ||
+ sector_size < 512 || sector_size > 4096)
+ return 0;
+
+ dir_entries = unaligned_le16(&ms->ms_dir_entries);
+ reserved = le16_to_cpu(ms->ms_reserved);
+ sect_count = unaligned_le16(&ms->ms_sectors);
+
+ if (sect_count == 0)
+ sect_count = le32_to_cpu(ms->ms_total_sect);
+
+ fat_length = le16_to_cpu(ms->ms_fat_length);
+ if (fat_length == 0)
+ fat_length = le32_to_cpu(vs->vs_fat32_length);
+
+ __fat_size = fat_length * ms->ms_fats;
+ dir_size = ((dir_entries * sizeof(struct vfat_dir_entry)) +
+ (sector_size-1)) / sector_size;
+
+ __cluster_count = (sect_count - (reserved + __fat_size + dir_size)) /
+ ms->ms_cluster_size;
+ if (!ms->ms_fat_length && vs->vs_fat32_length)
+ max_count = FAT32_MAX;
+ else
+ max_count = __cluster_count > FAT12_MAX ? FAT16_MAX : FAT12_MAX;
+
+ if (__cluster_count > max_count)
+ return 0;
+
+ if (fat_size)
+ *fat_size = __fat_size;
+ if (cluster_count)
+ *cluster_count = __cluster_count;
+
+ return 1; /* valid */
+}
+
+/*
+ * This function is used by MBR partition table parser to avoid
+ * misinterpretation of FAT filesystem.
+ */
+int blkid_probe_is_vfat(blkid_probe pr)
+{
+ struct vfat_super_block *vs;
+ struct msdos_super_block *ms;
+ const struct blkid_idmag *mag = NULL;
+
+ if (blkid_probe_get_idmag(pr, &vfat_idinfo, NULL, &mag) || !mag)
+ return 0;
+
+ ms = blkid_probe_get_sb(pr, mag, struct msdos_super_block);
+ if (!ms)
+ return 0;
+ vs = blkid_probe_get_sb(pr, mag, struct vfat_super_block);
+ if (!vs)
+ return 0;
+
+ return fat_valid_superblock(mag, ms, vs, NULL, NULL);
+}
+
+/* FAT label extraction from the root directory taken from Kay
+ * Sievers's volume_id library */
+static int probe_vfat(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct vfat_super_block *vs;
+ struct msdos_super_block *ms;
+ const unsigned char *vol_label = 0;
+ unsigned char *vol_serno = NULL, vol_label_buf[11];
+ uint16_t sector_size = 0, reserved;
+ uint32_t cluster_count, fat_size;
+ const char *version = NULL;
+
+ ms = blkid_probe_get_sb(pr, mag, struct msdos_super_block);
+ if (!ms)
+ return 0;
+ vs = blkid_probe_get_sb(pr, mag, struct vfat_super_block);
+ if (!vs)
+ return 0;
+ if (!fat_valid_superblock(mag, ms, vs, &cluster_count, &fat_size))
+ return 1;
+
+ sector_size = unaligned_le16(&ms->ms_sector_size);
+ reserved = le16_to_cpu(ms->ms_reserved);
+
+ if (ms->ms_fat_length) {
+ /* the label may be an attribute in the root directory */
+ uint32_t root_start = (reserved + fat_size) * sector_size;
+ uint32_t root_dir_entries = unaligned_le16(&vs->vs_dir_entries);
+
+ vol_label = search_fat_label(pr, root_start, root_dir_entries);
+ if (vol_label) {
+ memcpy(vol_label_buf, vol_label, 11);
+ vol_label = vol_label_buf;
+ }
+
+ if (!vol_label || !memcmp(vol_label, no_name, 11))
+ vol_label = ms->ms_label;
+ vol_serno = ms->ms_serno;
+
+ blkid_probe_set_value(pr, "SEC_TYPE", (unsigned char *) "msdos",
+ sizeof("msdos"));
+
+ if (cluster_count < FAT12_MAX)
+ version = "FAT12";
+ else if (cluster_count < FAT16_MAX)
+ version = "FAT16";
+
+ } else if (vs->vs_fat32_length) {
+ unsigned char *buf;
+ uint16_t fsinfo_sect;
+ int maxloop = 100;
+
+ /* Search the FAT32 root dir for the label attribute */
+ uint32_t buf_size = vs->vs_cluster_size * sector_size;
+ uint32_t start_data_sect = reserved + fat_size;
+ uint32_t entries = le32_to_cpu(vs->vs_fat32_length) *
+ sector_size / sizeof(uint32_t);
+ uint32_t next = le32_to_cpu(vs->vs_root_cluster);
+
+ while (next && next < entries && --maxloop) {
+ uint32_t next_sect_off;
+ uint64_t next_off, fat_entry_off;
+ int count;
+
+ next_sect_off = (next - 2) * vs->vs_cluster_size;
+ next_off = (uint64_t)(start_data_sect + next_sect_off) *
+ sector_size;
+
+ count = buf_size / sizeof(struct vfat_dir_entry);
+
+ vol_label = search_fat_label(pr, next_off, count);
+ if (vol_label) {
+ memcpy(vol_label_buf, vol_label, 11);
+ vol_label = vol_label_buf;
+ break;
+ }
+
+ /* get FAT entry */
+ fat_entry_off = ((uint64_t) reserved * sector_size) +
+ (next * sizeof(uint32_t));
+ buf = blkid_probe_get_buffer(pr, fat_entry_off, buf_size);
+ if (buf == NULL)
+ break;
+
+ /* set next cluster */
+ next = le32_to_cpu(*((uint32_t *) buf)) & 0x0fffffff;
+ }
+
+ version = "FAT32";
+
+ if (!vol_label || !memcmp(vol_label, no_name, 11))
+ vol_label = vs->vs_label;
+ vol_serno = vs->vs_serno;
+
+ /*
+ * FAT32 should have a valid signature in the fsinfo block,
+ * but also allow all bytes set to '\0', because some volumes
+ * do not set the signature at all.
+ */
+ fsinfo_sect = le16_to_cpu(vs->vs_fsinfo_sector);
+ if (fsinfo_sect) {
+ struct fat32_fsinfo *fsinfo;
+
+ buf = blkid_probe_get_buffer(pr,
+ (blkid_loff_t) fsinfo_sect * sector_size,
+ sizeof(struct fat32_fsinfo));
+ if (buf == NULL)
+ return -1;
+
+ fsinfo = (struct fat32_fsinfo *) buf;
+ if (memcmp(fsinfo->signature1, "\x52\x52\x61\x41", 4) != 0 &&
+ memcmp(fsinfo->signature1, "\x52\x52\x64\x41", 4) != 0 &&
+ memcmp(fsinfo->signature1, "\x00\x00\x00\x00", 4) != 0)
+ return -1;
+ if (memcmp(fsinfo->signature2, "\x72\x72\x41\x61", 4) != 0 &&
+ memcmp(fsinfo->signature2, "\x00\x00\x00\x00", 4) != 0)
+ return -1;
+ }
+ }
+
+ if (vol_label && memcmp(vol_label, no_name, 11))
+ blkid_probe_set_label(pr, (unsigned char *) vol_label, 11);
+
+ /* We can't just print them as %04X, because they are unaligned */
+ if (vol_serno)
+ blkid_probe_sprintf_uuid(pr, vol_serno, 4, "%02X%02X-%02X%02X",
+ vol_serno[3], vol_serno[2], vol_serno[1], vol_serno[0]);
+ if (version)
+ blkid_probe_set_version(pr, version);
+
+ return 0;
+}
+
+
+const struct blkid_idinfo vfat_idinfo =
+{
+ .name = "vfat",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_vfat,
+ .magics =
+ {
+ { .magic = "MSWIN", .len = 5, .sboff = 0x52 },
+ { .magic = "FAT32 ", .len = 8, .sboff = 0x52 },
+ { .magic = "MSDOS", .len = 5, .sboff = 0x36 },
+ { .magic = "FAT16 ", .len = 8, .sboff = 0x36 },
+ { .magic = "FAT12 ", .len = 8, .sboff = 0x36 },
+ { .magic = "FAT ", .len = 8, .sboff = 0x36 },
+ { .magic = "\353", .len = 1, },
+ { .magic = "\351", .len = 1, },
+ { .magic = "\125\252", .len = 2, .sboff = 0x1fe },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/via_raid.c b/libblkid/src/superblocks/via_raid.c
new file mode 100644
index 0000000..eba7e4b
--- /dev/null
+++ b/libblkid/src/superblocks/via_raid.c
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * Inspired by libvolume_id by
+ * Kay Sievers <kay.sievers@vrfy.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct via_metadata {
+ uint16_t signature;
+ uint8_t version_number;
+ struct via_array {
+ uint16_t disk_bit_mask;
+ uint8_t disk_array_ex;
+ uint32_t capacity_low;
+ uint32_t capacity_high;
+ uint32_t serial_checksum;
+ } __attribute__((packed)) array;
+ uint32_t serial_checksum[8];
+ uint8_t checksum;
+} __attribute__((packed));
+
+#define VIA_SIGNATURE 0xAA55
+
+/* 8 bit checksum on first 50 bytes of metadata. */
+static uint8_t via_checksum(struct via_metadata *v)
+{
+ uint8_t i = 50, cs = 0;
+
+ while (i--)
+ cs += ((uint8_t*) v)[i];
+
+ return cs == v->checksum;
+}
+
+static int probe_viaraid(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ uint64_t off;
+ struct via_metadata *v;
+
+ if (pr->size < 0x10000)
+ return -1;
+ if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
+ return -1;
+
+ off = ((pr->size / 0x200)-1) * 0x200;
+
+ v = (struct via_metadata *)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct via_metadata));
+ if (!v)
+ return -1;
+ if (le16_to_cpu(v->signature) != VIA_SIGNATURE)
+ return -1;
+ if (v->version_number > 2)
+ return -1;
+ if (!via_checksum(v))
+ return -1;
+ if (blkid_probe_sprintf_version(pr, "%u", v->version_number) != 0)
+ return -1;
+ if (blkid_probe_set_magic(pr, off,
+ sizeof(v->signature),
+ (unsigned char *) &v->signature))
+ return -1;
+ return 0;
+}
+
+const struct blkid_idinfo viaraid_idinfo = {
+ .name = "via_raid_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_viaraid,
+ .magics = BLKID_NONE_MAGIC
+};
+
+
diff --git a/libblkid/src/superblocks/vmfs.c b/libblkid/src/superblocks/vmfs.c
new file mode 100644
index 0000000..ead09a8
--- /dev/null
+++ b/libblkid/src/superblocks/vmfs.c
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2009 Mike Hommey <mh@glandium.org>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include "superblocks.h"
+
+struct vmfs_fs_info {
+ uint32_t magic;
+ uint32_t volume_version;
+ uint8_t version;
+ uint8_t uuid[16];
+ uint32_t mode;
+ char label[128];
+} __attribute__ ((__packed__));
+
+struct vmfs_volume_info {
+ uint32_t magic;
+ uint32_t ver;
+ uint8_t irrelevant[122];
+ uint8_t uuid[16];
+} __attribute__ ((__packed__));
+
+static int probe_vmfs_fs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct vmfs_fs_info *header;
+
+ header = blkid_probe_get_sb(pr, mag, struct vmfs_fs_info);
+ if (header == NULL)
+ return -1;
+
+ blkid_probe_sprintf_uuid(pr, (unsigned char *) header->uuid, 16,
+ "%02x%02x%02x%02x-%02x%02x%02x%02x-"
+ "%02x%02x-%02x%02x%02x%02x%02x%02x",
+ header->uuid[3], header->uuid[2], header->uuid[1],
+ header->uuid[0], header->uuid[7], header->uuid[6],
+ header->uuid[5], header->uuid[4], header->uuid[9],
+ header->uuid[8], header->uuid[10], header->uuid[11],
+ header->uuid[12], header->uuid[13], header->uuid[14],
+ header->uuid[15]);
+
+ blkid_probe_set_label(pr, (unsigned char *) header->label,
+ sizeof(header->label));
+ blkid_probe_sprintf_version(pr, "%u", header->version);
+ return 0;
+}
+
+static int probe_vmfs_volume(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct vmfs_volume_info *header;
+ unsigned char *lvm_uuid;
+
+ header = blkid_probe_get_sb(pr, mag, struct vmfs_volume_info);
+ if (header == NULL)
+ return -1;
+
+ blkid_probe_sprintf_value(pr, "UUID_SUB",
+ "%02x%02x%02x%02x-%02x%02x%02x%02x-"
+ "%02x%02x-%02x%02x%02x%02x%02x%02x",
+ header->uuid[3], header->uuid[2], header->uuid[1],
+ header->uuid[0], header->uuid[7], header->uuid[6],
+ header->uuid[5], header->uuid[4], header->uuid[9],
+ header->uuid[8], header->uuid[10], header->uuid[11],
+ header->uuid[12], header->uuid[13], header->uuid[14],
+ header->uuid[15]);
+ blkid_probe_sprintf_version(pr, "%u", le32_to_cpu(header->ver));
+
+ lvm_uuid = blkid_probe_get_buffer(pr,
+ 1024 * 1024 /* Start of the volume info */
+ + 512 /* Offset to lvm info */
+ + 20 /* Offset in lvm info */, 35);
+ if (lvm_uuid)
+ blkid_probe_strncpy_uuid(pr, lvm_uuid, 35);
+
+ return 0;
+}
+
+const struct blkid_idinfo vmfs_fs_idinfo =
+{
+ .name = "VMFS",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_vmfs_fs,
+ .magics =
+ {
+ { .magic = "\x5e\xf1\xab\x2f", .len = 4, .kboff = 2048 },
+ { NULL }
+ }
+};
+
+const struct blkid_idinfo vmfs_volume_idinfo =
+{
+ .name = "VMFS_volume_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_vmfs_volume,
+ .magics =
+ {
+ { .magic = "\x0d\xd0\x01\xc0", .len = 4, .kboff = 1024 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/vxfs.c b/libblkid/src/superblocks/vxfs.c
new file mode 100644
index 0000000..fdab85a
--- /dev/null
+++ b/libblkid/src/superblocks/vxfs.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+
+#include "superblocks.h"
+
+struct vxfs_super_block {
+ uint32_t vs_magic;
+ int32_t vs_version;
+};
+
+static int probe_vxfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct vxfs_super_block *vxs;
+
+ vxs = blkid_probe_get_sb(pr, mag, struct vxfs_super_block);
+ if (!vxs)
+ return -1;
+
+ blkid_probe_sprintf_version(pr, "%u", (unsigned int) vxs->vs_version);
+ return 0;
+}
+
+
+const struct blkid_idinfo vxfs_idinfo =
+{
+ .name = "vxfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_vxfs,
+ .magics =
+ {
+ { .magic = "\365\374\001\245", .len = 4, .kboff = 1 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/xfs.c b/libblkid/src/superblocks/xfs.c
new file mode 100644
index 0000000..1399fe1
--- /dev/null
+++ b/libblkid/src/superblocks/xfs.c
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdint.h>
+
+#include "superblocks.h"
+
+struct xfs_super_block {
+ unsigned char xs_magic[4];
+ uint32_t xs_blocksize;
+ uint64_t xs_dblocks;
+ uint64_t xs_rblocks;
+ uint32_t xs_dummy1[2];
+ unsigned char xs_uuid[16];
+ uint32_t xs_dummy2[15];
+ char xs_fname[12];
+ uint32_t xs_dummy3[2];
+ uint64_t xs_icount;
+ uint64_t xs_ifree;
+ uint64_t xs_fdblocks;
+} __attribute__((packed));
+
+static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+ struct xfs_super_block *xs;
+
+ xs = blkid_probe_get_sb(pr, mag, struct xfs_super_block);
+ if (!xs)
+ return -1;
+
+ if (strlen(xs->xs_fname))
+ blkid_probe_set_label(pr, (unsigned char *) xs->xs_fname,
+ sizeof(xs->xs_fname));
+ blkid_probe_set_uuid(pr, xs->xs_uuid);
+ return 0;
+}
+
+const struct blkid_idinfo xfs_idinfo =
+{
+ .name = "xfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_xfs,
+ .magics =
+ {
+ { .magic = "XFSB", .len = 4 },
+ { NULL }
+ }
+};
+
diff --git a/libblkid/src/superblocks/zfs.c b/libblkid/src/superblocks/zfs.c
new file mode 100644
index 0000000..b96c5df
--- /dev/null
+++ b/libblkid/src/superblocks/zfs.c
@@ -0,0 +1,226 @@
+/*
+ * Copyright (C) 2009-2010 by Andreas Dilger <adilger@sun.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <inttypes.h>
+
+#include "superblocks.h"
+
+#define VDEV_LABEL_UBERBLOCK (128 * 1024ULL)
+#define VDEV_LABEL_NVPAIR ( 16 * 1024ULL)
+#define VDEV_LABEL_SIZE (256 * 1024ULL)
+
+/* #include <sys/uberblock_impl.h> */
+#define UBERBLOCK_MAGIC 0x00bab10c /* oo-ba-bloc! */
+struct zfs_uberblock {
+ uint64_t ub_magic; /* UBERBLOCK_MAGIC */
+ uint64_t ub_version; /* SPA_VERSION */
+ uint64_t ub_txg; /* txg of last sync */
+ uint64_t ub_guid_sum; /* sum of all vdev guids */
+ uint64_t ub_timestamp; /* UTC time of last sync */
+ char ub_rootbp; /* MOS objset_phys_t */
+} __attribute__((packed));
+
+#define ZFS_TRIES 64
+#define ZFS_WANT 4
+
+#define DATA_TYPE_UINT64 8
+#define DATA_TYPE_STRING 9
+
+struct nvpair {
+ uint32_t nvp_size;
+ uint32_t nvp_unkown;
+ uint32_t nvp_namelen;
+ char nvp_name[0]; /* aligned to 4 bytes */
+ /* aligned ptr array for string arrays */
+ /* aligned array of data for value */
+};
+
+struct nvstring {
+ uint32_t nvs_type;
+ uint32_t nvs_elem;
+ uint32_t nvs_strlen;
+ unsigned char nvs_string[0];
+};
+
+struct nvuint64 {
+ uint32_t nvu_type;
+ uint32_t nvu_elem;
+ uint64_t nvu_value;
+};
+
+struct nvlist {
+ uint32_t nvl_unknown[3];
+ struct nvpair nvl_nvpair;
+};
+
+#define nvdebug(fmt, ...) do { } while(0)
+/*#define nvdebug(fmt, a...) printf(fmt, ##a)*/
+
+static void zfs_extract_guid_name(blkid_probe pr, loff_t offset)
+{
+ struct nvlist *nvl;
+ struct nvpair *nvp;
+ size_t left = 4096;
+ int found = 0;
+
+ offset = (offset & ~(VDEV_LABEL_SIZE - 1)) + VDEV_LABEL_NVPAIR;
+
+ /* Note that we currently assume that the desired fields are within
+ * the first 4k (left) of the nvlist. This is true for all pools
+ * I've seen, and simplifies this code somewhat, because we don't
+ * have to handle an nvpair crossing a buffer boundary. */
+ nvl = (struct nvlist *)blkid_probe_get_buffer(pr, offset, left);
+ if (nvl == NULL)
+ return;
+
+ nvdebug("zfs_extract: nvlist offset %llu\n", offset);
+
+ nvp = &nvl->nvl_nvpair;
+ while (left > sizeof(*nvp) && nvp->nvp_size != 0 && found < 3) {
+ int avail; /* tracks that name/value data fits in nvp_size */
+ int namesize;
+
+ nvp->nvp_size = be32_to_cpu(nvp->nvp_size);
+ nvp->nvp_namelen = be32_to_cpu(nvp->nvp_namelen);
+ avail = nvp->nvp_size - nvp->nvp_namelen - sizeof(*nvp);
+
+ nvdebug("left %zd nvp_size %u\n", left, nvp->nvp_size);
+ if (left < nvp->nvp_size || avail < 0)
+ break;
+
+ namesize = (nvp->nvp_namelen + 3) & ~3;
+
+ nvdebug("nvlist: size %u, namelen %u, name %*s\n",
+ nvp->nvp_size, nvp->nvp_namelen, nvp->nvp_namelen,
+ nvp->nvp_name);
+ if (strncmp(nvp->nvp_name, "name", nvp->nvp_namelen) == 0) {
+ struct nvstring *nvs = (void *)(nvp->nvp_name+namesize);
+
+ nvs->nvs_type = be32_to_cpu(nvs->nvs_type);
+ nvs->nvs_strlen = be32_to_cpu(nvs->nvs_strlen);
+ avail -= nvs->nvs_strlen + sizeof(*nvs);
+ nvdebug("nvstring: type %u string %*s\n", nvs->nvs_type,
+ nvs->nvs_strlen, nvs->nvs_string);
+ if (nvs->nvs_type == DATA_TYPE_STRING && avail >= 0)
+ blkid_probe_set_label(pr, nvs->nvs_string,
+ nvs->nvs_strlen);
+ found++;
+ } else if (strncmp(nvp->nvp_name, "guid",
+ nvp->nvp_namelen) == 0) {
+ struct nvuint64 *nvu = (void *)(nvp->nvp_name+namesize);
+ uint64_t nvu_value;
+
+ memcpy(&nvu_value, &nvu->nvu_value, sizeof(nvu_value));
+ nvu->nvu_type = be32_to_cpu(nvu->nvu_type);
+ nvu_value = be64_to_cpu(nvu_value);
+ avail -= sizeof(*nvu);
+ nvdebug("nvuint64: type %u value %"PRIu64"\n",
+ nvu->nvu_type, nvu_value);
+ if (nvu->nvu_type == DATA_TYPE_UINT64 && avail >= 0)
+ blkid_probe_sprintf_value(pr, "UUID_SUB",
+ "%"PRIu64, nvu_value);
+ found++;
+ } else if (strncmp(nvp->nvp_name, "pool_guid",
+ nvp->nvp_namelen) == 0) {
+ struct nvuint64 *nvu = (void *)(nvp->nvp_name+namesize);
+ uint64_t nvu_value;
+
+ memcpy(&nvu_value, &nvu->nvu_value, sizeof(nvu_value));
+ nvu->nvu_type = be32_to_cpu(nvu->nvu_type);
+ nvu_value = be64_to_cpu(nvu_value);
+ avail -= sizeof(*nvu);
+ nvdebug("nvuint64: type %u value %"PRIu64"\n",
+ nvu->nvu_type, nvu_value);
+ if (nvu->nvu_type == DATA_TYPE_UINT64 && avail >= 0)
+ blkid_probe_sprintf_uuid(pr, (unsigned char *)
+ &nvu_value,
+ sizeof(nvu_value),
+ "%"PRIu64, nvu_value);
+ found++;
+ }
+ if (left > nvp->nvp_size)
+ left -= nvp->nvp_size;
+ else
+ left = 0;
+ nvp = (struct nvpair *)((char *)nvp + nvp->nvp_size);
+ }
+}
+
+#define zdebug(fmt, ...) do {} while(0)
+/*#define zdebug(fmt, a...) printf(fmt, ##a)*/
+
+/* ZFS has 128x1kB host-endian root blocks, stored in 2 areas at the start
+ * of the disk, and 2 areas at the end of the disk. Check only some of them...
+ * #4 (@ 132kB) is the first one written on a new filesystem. */
+static int probe_zfs(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ uint64_t swab_magic = swab64(UBERBLOCK_MAGIC);
+ struct zfs_uberblock *ub;
+ int swab_endian;
+ loff_t offset;
+ int tried;
+ int found;
+
+ zdebug("probe_zfs\n");
+ /* Look for at least 4 uberblocks to ensure a positive match */
+ for (tried = found = 0, offset = VDEV_LABEL_UBERBLOCK;
+ tried < ZFS_TRIES && found < ZFS_WANT;
+ tried++, offset += 4096) {
+ /* also try the second uberblock copy */
+ if (tried == (ZFS_TRIES / 2))
+ offset = VDEV_LABEL_SIZE + VDEV_LABEL_UBERBLOCK;
+
+ ub = (struct zfs_uberblock *)
+ blkid_probe_get_buffer(pr, offset,
+ sizeof(struct zfs_uberblock));
+ if (ub == NULL)
+ return -1;
+
+ if (ub->ub_magic == UBERBLOCK_MAGIC)
+ found++;
+
+ if ((swab_endian = (ub->ub_magic == swab_magic)))
+ found++;
+
+ zdebug("probe_zfs: found %s-endian uberblock at %llu\n",
+ swab_endian ? "big" : "little", offset >> 10);
+ }
+
+ if (found < 4)
+ return -1;
+
+ /* If we found the 4th uberblock, then we will have exited from the
+ * scanning loop immediately, and ub will be a valid uberblock. */
+ blkid_probe_sprintf_version(pr, "%" PRIu64, swab_endian ?
+ swab64(ub->ub_version) : ub->ub_version);
+
+ zfs_extract_guid_name(pr, offset);
+
+ if (blkid_probe_set_magic(pr, offset,
+ sizeof(ub->ub_magic),
+ (unsigned char *) &ub->ub_magic))
+ return -1;
+
+ return 0;
+}
+
+const struct blkid_idinfo zfs_idinfo =
+{
+ .name = "zfs_member",
+ .usage = BLKID_USAGE_RAID,
+ .probefunc = probe_zfs,
+ .minsz = 64 * 1024 * 1024,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/tag.c b/libblkid/src/tag.c
new file mode 100644
index 0000000..be4ef35
--- /dev/null
+++ b/libblkid/src/tag.c
@@ -0,0 +1,474 @@
+/*
+ * tag.c - allocation/initialization/free routines for tag structs
+ *
+ * Copyright (C) 2001 Andreas Dilger
+ * Copyright (C) 2003 Theodore Ts'o
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "blkidP.h"
+
+static blkid_tag blkid_new_tag(void)
+{
+ blkid_tag tag;
+
+ if (!(tag = (blkid_tag) calloc(1, sizeof(struct blkid_struct_tag))))
+ return NULL;
+
+ INIT_LIST_HEAD(&tag->bit_tags);
+ INIT_LIST_HEAD(&tag->bit_names);
+
+ return tag;
+}
+
+#ifdef CONFIG_BLKID_DEBUG
+void blkid_debug_dump_tag(blkid_tag tag)
+{
+ if (!tag) {
+ printf(" tag: NULL\n");
+ return;
+ }
+
+ printf(" tag: %s=\"%s\"\n", tag->bit_name, tag->bit_val);
+}
+#endif
+
+void blkid_free_tag(blkid_tag tag)
+{
+ if (!tag)
+ return;
+
+ DBG(DEBUG_TAG, printf(" freeing tag %s=%s\n", tag->bit_name,
+ tag->bit_val ? tag->bit_val : "(NULL)"));
+ DBG(DEBUG_TAG, blkid_debug_dump_tag(tag));
+
+ list_del(&tag->bit_tags); /* list of tags for this device */
+ list_del(&tag->bit_names); /* list of tags with this type */
+
+ free(tag->bit_name);
+ free(tag->bit_val);
+
+ free(tag);
+}
+
+/*
+ * Find the desired tag on a device. If value is NULL, then the
+ * first such tag is returned, otherwise return only exact tag if found.
+ */
+blkid_tag blkid_find_tag_dev(blkid_dev dev, const char *type)
+{
+ struct list_head *p;
+
+ if (!dev || !type)
+ return NULL;
+
+ list_for_each(p, &dev->bid_tags) {
+ blkid_tag tmp = list_entry(p, struct blkid_struct_tag,
+ bit_tags);
+
+ if (!strcmp(tmp->bit_name, type))
+ return tmp;
+ }
+ return NULL;
+}
+
+extern int blkid_dev_has_tag(blkid_dev dev, const char *type,
+ const char *value)
+{
+ blkid_tag tag;
+
+ if (!dev || !type)
+ return -1;
+
+ tag = blkid_find_tag_dev(dev, type);
+ if (!value)
+ return (tag != NULL);
+ if (!tag || strcmp(tag->bit_val, value))
+ return 0;
+ return 1;
+}
+
+/*
+ * Find the desired tag type in the cache.
+ * We return the head tag for this tag type.
+ */
+static blkid_tag blkid_find_head_cache(blkid_cache cache, const char *type)
+{
+ blkid_tag head = NULL, tmp;
+ struct list_head *p;
+
+ if (!cache || !type)
+ return NULL;
+
+ list_for_each(p, &cache->bic_tags) {
+ tmp = list_entry(p, struct blkid_struct_tag, bit_tags);
+ if (!strcmp(tmp->bit_name, type)) {
+ DBG(DEBUG_TAG,
+ printf(" found cache tag head %s\n", type));
+ head = tmp;
+ break;
+ }
+ }
+ return head;
+}
+
+/*
+ * Set a tag on an existing device.
+ *
+ * If value is NULL, then delete the tagsfrom the device.
+ */
+int blkid_set_tag(blkid_dev dev, const char *name,
+ const char *value, const int vlength)
+{
+ blkid_tag t = 0, head = 0;
+ char *val = 0;
+ char **dev_var = 0;
+
+ if (!dev || !name)
+ return -BLKID_ERR_PARAM;
+
+ if (!(val = blkid_strndup(value, vlength)) && value)
+ return -BLKID_ERR_MEM;
+
+ /*
+ * Certain common tags are linked directly to the device struct
+ * We need to know what they are before we do anything else because
+ * the function name parameter might get freed later on.
+ */
+ if (!strcmp(name, "TYPE"))
+ dev_var = &dev->bid_type;
+ else if (!strcmp(name, "LABEL"))
+ dev_var = &dev->bid_label;
+ else if (!strcmp(name, "UUID"))
+ dev_var = &dev->bid_uuid;
+
+ t = blkid_find_tag_dev(dev, name);
+ if (!value) {
+ if (t)
+ blkid_free_tag(t);
+ } else if (t) {
+ if (!strcmp(t->bit_val, val)) {
+ /* Same thing, exit */
+ free(val);
+ return 0;
+ }
+ free(t->bit_val);
+ t->bit_val = val;
+ } else {
+ /* Existing tag not present, add to device */
+ if (!(t = blkid_new_tag()))
+ goto errout;
+ t->bit_name = blkid_strdup(name);
+ t->bit_val = val;
+ t->bit_dev = dev;
+
+ list_add_tail(&t->bit_tags, &dev->bid_tags);
+
+ if (dev->bid_cache) {
+ head = blkid_find_head_cache(dev->bid_cache,
+ t->bit_name);
+ if (!head) {
+ head = blkid_new_tag();
+ if (!head)
+ goto errout;
+
+ DBG(DEBUG_TAG,
+ printf(" creating new cache tag head %s\n", name));
+ head->bit_name = blkid_strdup(name);
+ if (!head->bit_name)
+ goto errout;
+ list_add_tail(&head->bit_tags,
+ &dev->bid_cache->bic_tags);
+ }
+ list_add_tail(&t->bit_names, &head->bit_names);
+ }
+ }
+
+ /* Link common tags directly to the device struct */
+ if (dev_var)
+ *dev_var = val;
+
+ if (dev->bid_cache)
+ dev->bid_cache->bic_flags |= BLKID_BIC_FL_CHANGED;
+ return 0;
+
+errout:
+ if (t)
+ blkid_free_tag(t);
+ else
+ free(val);
+ if (head)
+ blkid_free_tag(head);
+ return -BLKID_ERR_MEM;
+}
+
+
+/*
+ * Parse a "NAME=value" string. This is slightly different than
+ * parse_token, because that will end an unquoted value at a space, while
+ * this will assume that an unquoted value is the rest of the token (e.g.
+ * if we are passed an already quoted string from the command-line we don't
+ * have to both quote and escape quote so that the quotes make it to
+ * us).
+ *
+ * Returns 0 on success, and -1 on failure.
+ */
+int blkid_parse_tag_string(const char *token, char **ret_type, char **ret_val)
+{
+ char *name, *value, *cp;
+
+ DBG(DEBUG_TAG, printf("trying to parse '%s' as a tag\n", token));
+
+ if (!token || !(cp = strchr(token, '=')))
+ return -1;
+
+ name = blkid_strdup(token);
+ if (!name)
+ return -1;
+ value = name + (cp - token);
+ *value++ = '\0';
+ if (*value == '"' || *value == '\'') {
+ char c = *value++;
+ if (!(cp = strrchr(value, c)))
+ goto errout; /* missing closing quote */
+ *cp = '\0';
+ }
+ value = blkid_strdup(value);
+ if (!value)
+ goto errout;
+
+ *ret_type = name;
+ *ret_val = value;
+
+ return 0;
+
+errout:
+ free(name);
+ return -1;
+}
+
+/*
+ * Tag iteration routines for the public libblkid interface.
+ *
+ * These routines do not expose the list.h implementation, which are a
+ * contamination of the namespace, and which force us to reveal far, far
+ * too much of our internal implemenation. I'm not convinced I want
+ * to keep list.h in the long term, anyway. It's fine for kernel
+ * programming, but performance is not the #1 priority for this
+ * library, and I really don't like the tradeoff of type-safety for
+ * performance for this application. [tytso:20030125.2007EST]
+ */
+
+/*
+ * This series of functions iterate over all tags in a device
+ */
+#define TAG_ITERATE_MAGIC 0x01a5284c
+
+struct blkid_struct_tag_iterate {
+ int magic;
+ blkid_dev dev;
+ struct list_head *p;
+};
+
+extern blkid_tag_iterate blkid_tag_iterate_begin(blkid_dev dev)
+{
+ blkid_tag_iterate iter;
+
+ iter = malloc(sizeof(struct blkid_struct_tag_iterate));
+ if (iter) {
+ iter->magic = TAG_ITERATE_MAGIC;
+ iter->dev = dev;
+ iter->p = dev->bid_tags.next;
+ }
+ return (iter);
+}
+
+/*
+ * Return 0 on success, -1 on error
+ */
+extern int blkid_tag_next(blkid_tag_iterate iter,
+ const char **type, const char **value)
+{
+ blkid_tag tag;
+
+ *type = 0;
+ *value = 0;
+ if (!iter || iter->magic != TAG_ITERATE_MAGIC ||
+ iter->p == &iter->dev->bid_tags)
+ return -1;
+ tag = list_entry(iter->p, struct blkid_struct_tag, bit_tags);
+ *type = tag->bit_name;
+ *value = tag->bit_val;
+ iter->p = iter->p->next;
+ return 0;
+}
+
+extern void blkid_tag_iterate_end(blkid_tag_iterate iter)
+{
+ if (!iter || iter->magic != TAG_ITERATE_MAGIC)
+ return;
+ iter->magic = 0;
+ free(iter);
+}
+
+/*
+ * This function returns a device which matches a particular
+ * type/value pair. If there is more than one device that matches the
+ * search specification, it returns the one with the highest priority
+ * value. This allows us to give preference to EVMS or LVM devices.
+ */
+extern blkid_dev blkid_find_dev_with_tag(blkid_cache cache,
+ const char *type,
+ const char *value)
+{
+ blkid_tag head;
+ blkid_dev dev;
+ int pri;
+ struct list_head *p;
+ int probe_new = 0;
+
+ if (!cache || !type || !value)
+ return NULL;
+
+ blkid_read_cache(cache);
+
+ DBG(DEBUG_TAG, printf("looking for %s=%s in cache\n", type, value));
+
+try_again:
+ pri = -1;
+ dev = 0;
+ head = blkid_find_head_cache(cache, type);
+
+ if (head) {
+ list_for_each(p, &head->bit_names) {
+ blkid_tag tmp = list_entry(p, struct blkid_struct_tag,
+ bit_names);
+
+ if (!strcmp(tmp->bit_val, value) &&
+ (tmp->bit_dev->bid_pri > pri) &&
+ !access(tmp->bit_dev->bid_name, F_OK)) {
+ dev = tmp->bit_dev;
+ pri = dev->bid_pri;
+ }
+ }
+ }
+ if (dev && !(dev->bid_flags & BLKID_BID_FL_VERIFIED)) {
+ dev = blkid_verify(cache, dev);
+ if (!dev || (dev && (dev->bid_flags & BLKID_BID_FL_VERIFIED)))
+ goto try_again;
+ }
+
+ if (!dev && !probe_new) {
+ if (blkid_probe_all_new(cache) < 0)
+ return NULL;
+ probe_new++;
+ goto try_again;
+ }
+
+ if (!dev && !(cache->bic_flags & BLKID_BIC_FL_PROBED)) {
+ if (blkid_probe_all(cache) < 0)
+ return NULL;
+ goto try_again;
+ }
+ return dev;
+}
+
+#ifdef TEST_PROGRAM
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#else
+extern char *optarg;
+extern int optind;
+#endif
+
+void __attribute__((__noreturn__)) usage(char *prog)
+{
+ fprintf(stderr, "Usage: %s [-f blkid_file] [-m debug_mask] device "
+ "[type value]\n",
+ prog);
+ fprintf(stderr, "\tList all tags for a device and exit\n");
+ exit(1);
+}
+
+int main(int argc, char **argv)
+{
+ blkid_tag_iterate iter;
+ blkid_cache cache = NULL;
+ blkid_dev dev;
+ int c, ret, found;
+ int flags = BLKID_DEV_FIND;
+ char *tmp;
+ char *file = NULL;
+ char *devname = NULL;
+ char *search_type = NULL;
+ char *search_value = NULL;
+ const char *type, *value;
+
+ while ((c = getopt (argc, argv, "m:f:")) != EOF)
+ switch (c) {
+ case 'f':
+ file = optarg;
+ break;
+ case 'm':
+ {
+ int mask = strtoul (optarg, &tmp, 0);
+ if (*tmp) {
+ fprintf(stderr, "Invalid debug mask: %s\n",
+ optarg);
+ exit(1);
+ }
+ blkid_init_debug(mask);
+ break;
+ }
+ case '?':
+ usage(argv[0]);
+ }
+ if (argc > optind)
+ devname = argv[optind++];
+ if (argc > optind)
+ search_type = argv[optind++];
+ if (argc > optind)
+ search_value = argv[optind++];
+ if (!devname || (argc != optind))
+ usage(argv[0]);
+
+ if ((ret = blkid_get_cache(&cache, file)) != 0) {
+ fprintf(stderr, "%s: error creating cache (%d)\n",
+ argv[0], ret);
+ exit(1);
+ }
+
+ dev = blkid_get_dev(cache, devname, flags);
+ if (!dev) {
+ fprintf(stderr, "%s: Can not find device in blkid cache\n",
+ devname);
+ exit(1);
+ }
+ if (search_type) {
+ found = blkid_dev_has_tag(dev, search_type, search_value);
+ printf("Device %s: (%s, %s) %s\n", blkid_dev_devname(dev),
+ search_type, search_value ? search_value : "NULL",
+ found ? "FOUND" : "NOT FOUND");
+ return(!found);
+ }
+ printf("Device %s...\n", blkid_dev_devname(dev));
+
+ iter = blkid_tag_iterate_begin(dev);
+ while (blkid_tag_next(iter, &type, &value) == 0) {
+ printf("\tTag %s has value %s\n", type, value);
+ }
+ blkid_tag_iterate_end(iter);
+
+ blkid_put_cache(cache);
+ return (0);
+}
+#endif
diff --git a/libblkid/src/topology/dm.c b/libblkid/src/topology/dm.c
new file mode 100644
index 0000000..72ec9bd
--- /dev/null
+++ b/libblkid/src/topology/dm.c
@@ -0,0 +1,138 @@
+/*
+ * device-mapper (dm) topology
+ * -- this is fallback for old systems where the topology information is not
+ * exported by sysfs
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ */
+#include <errno.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "topology.h"
+
+static int is_dm_device(dev_t devno)
+{
+ return blkid_driver_has_major("device-mapper", major(devno));
+}
+
+static int probe_dm_tp(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ const char *paths[] = {
+ "/usr/local/sbin/dmsetup",
+ "/usr/sbin/dmsetup",
+ "/sbin/dmsetup"
+ };
+ int dmpipe[] = { -1, -1 }, stripes, stripesize;
+ char *cmd = NULL;
+ FILE *stream = NULL;
+ long long offset, size;
+ size_t i;
+ dev_t devno = blkid_probe_get_devno(pr);
+
+ if (!devno)
+ goto nothing; /* probably not a block device */
+ if (!is_dm_device(devno))
+ goto nothing;
+
+ for (i = 0; i < ARRAY_SIZE(paths); i++) {
+ struct stat sb;
+ if (stat(paths[i], &sb) == 0) {
+ cmd = (char *) paths[i];
+ break;
+ }
+ }
+
+ if (!cmd)
+ goto nothing;
+ if (pipe(dmpipe) < 0) {
+ DBG(DEBUG_LOWPROBE,
+ printf("Failed to open pipe: errno=%d", errno));
+ goto nothing;
+ }
+
+ switch (fork()) {
+ case 0:
+ {
+ char *dmargv[7], maj[16], min[16];
+
+ /* Plumbing */
+ close(dmpipe[0]);
+
+ if (dmpipe[1] != STDOUT_FILENO)
+ dup2(dmpipe[1], STDOUT_FILENO);
+
+ /* The libblkid library could linked with setuid programs */
+ if (setgid(getgid()) < 0)
+ exit(1);
+ if (setuid(getuid()) < 0)
+ exit(1);
+
+ snprintf(maj, sizeof(maj), "%d", major(devno));
+ snprintf(min, sizeof(min), "%d", minor(devno));
+
+ dmargv[0] = cmd;
+ dmargv[1] = "table";
+ dmargv[2] = "-j";
+ dmargv[3] = maj;
+ dmargv[4] = "-m";
+ dmargv[5] = min;
+ dmargv[6] = NULL;
+
+ execv(dmargv[0], dmargv);
+
+ DBG(DEBUG_LOWPROBE,
+ printf("Failed to execute %s: errno=%d", cmd, errno));
+ exit(1);
+ }
+ case -1:
+ DBG(DEBUG_LOWPROBE,
+ printf("Failed to forking: errno=%d", errno));
+ goto nothing;
+ default:
+ break;
+ }
+
+ stream = fdopen(dmpipe[0], "r");
+ if (!stream)
+ goto nothing;
+
+ if (fscanf(stream, "%lld %lld striped %d %d ",
+ &offset, &size, &stripes, &stripesize) != 0)
+ goto nothing;
+
+ blkid_topology_set_minimum_io_size(pr, stripesize << 9);
+ blkid_topology_set_optimal_io_size(pr, (stripes * stripesize) << 9);
+
+ fclose(stream);
+ close(dmpipe[1]);
+ return 0;
+
+nothing:
+ if (stream)
+ fclose(stream);
+ else if (dmpipe[0] != -1)
+ close(dmpipe[0]);
+ if (dmpipe[1] != -1)
+ close(dmpipe[1]);
+ return 1;
+}
+
+const struct blkid_idinfo dm_tp_idinfo =
+{
+ .name = "dm",
+ .probefunc = probe_dm_tp,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/topology/evms.c b/libblkid/src/topology/evms.c
new file mode 100644
index 0000000..7a4fd55
--- /dev/null
+++ b/libblkid/src/topology/evms.c
@@ -0,0 +1,77 @@
+/*
+ * Evms topology
+ * -- this is fallback for old systems where the toplogy information is not
+ * exported by sysfs
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ */
+#include <errno.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "topology.h"
+
+#define EVMS_MAJOR 117
+
+#ifndef _IOT__IOTBASE_u_int32_t
+#define _IOT__IOTBASE_u_int32_t IOT_SIMPLE(uint32_t)
+#endif
+#define _IOT_evms_stripe_info _IOT (_IOTS(uint32_t), 2, 0, 0, 0, 0)
+#define EVMS_GET_STRIPE_INFO _IOR(EVMS_MAJOR, 0xF0, struct evms_stripe_info)
+
+struct evms_stripe_info {
+ uint32_t size; /* stripe unit 512-byte blocks */
+ uint32_t width; /* the number of stripe members or RAID data disks */
+} evms_stripe_info;
+
+static int is_evms_device(dev_t devno)
+{
+ if (major(devno) == EVMS_MAJOR)
+ return 1;
+ return blkid_driver_has_major("evms", major(devno));
+}
+
+static int probe_evms_tp(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ struct evms_stripe_info evms;
+ dev_t devno = blkid_probe_get_devno(pr);
+
+ if (!devno)
+ goto nothing; /* probably not a block device */
+
+ if (!is_evms_device(devno))
+ goto nothing;
+
+ memset(&evms, 0, sizeof(evms));
+
+ if (ioctl(pr->fd, EVMS_GET_STRIPE_INFO, &evms))
+ goto nothing;
+
+ blkid_topology_set_minimum_io_size(pr, evms.size << 9);
+ blkid_topology_set_optimal_io_size(pr, (evms.size * evms.width) << 9);
+
+ return 0;
+
+nothing:
+ return 1;
+}
+
+const struct blkid_idinfo evms_tp_idinfo =
+{
+ .name = "evms",
+ .probefunc = probe_evms_tp,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/topology/ioctl.c b/libblkid/src/topology/ioctl.c
new file mode 100644
index 0000000..3aba09e
--- /dev/null
+++ b/libblkid/src/topology/ioctl.c
@@ -0,0 +1,74 @@
+/*
+ * ioctl based topology -- gathers topology information
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "topology.h"
+
+/*
+ * ioctl topology values
+ */
+static struct topology_val {
+
+ long ioc;
+
+ /* functions to set probing result */
+ int (*set_ulong)(blkid_probe, unsigned long);
+ int (*set_int)(blkid_probe, int);
+
+} topology_vals[] = {
+ { BLKALIGNOFF, NULL, blkid_topology_set_alignment_offset },
+ { BLKIOMIN, blkid_topology_set_minimum_io_size },
+ { BLKIOOPT, blkid_topology_set_optimal_io_size },
+ { BLKPBSZGET, blkid_topology_set_physical_sector_size }
+ /* we read BLKSSZGET in topology.c */
+};
+
+static int probe_ioctl_tp(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(topology_vals); i++) {
+ struct topology_val *val = &topology_vals[i];
+ int rc = 1;
+ unsigned int data;
+
+ if (ioctl(pr->fd, val->ioc, &data) == -1)
+ goto nothing;
+
+ if (val->set_int)
+ rc = val->set_int(pr, (int) data);
+ else
+ rc = val->set_ulong(pr, (unsigned long) data);
+ if (rc)
+ goto err;
+ }
+
+ return 0;
+nothing:
+ return 1;
+err:
+ return -1;
+}
+
+const struct blkid_idinfo ioctl_tp_idinfo =
+{
+ .name = "ioctl",
+ .probefunc = probe_ioctl_tp,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/topology/lvm.c b/libblkid/src/topology/lvm.c
new file mode 100644
index 0000000..632c42b
--- /dev/null
+++ b/libblkid/src/topology/lvm.c
@@ -0,0 +1,150 @@
+/*
+ * lvm topology
+ * -- this is fallback for old systems where the topology information is not
+ * exported by sysfs
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ */
+#include <errno.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "topology.h"
+
+#ifndef LVM_BLK_MAJOR
+# define LVM_BLK_MAJOR 58
+#endif
+
+static int is_lvm_device(dev_t devno)
+{
+ if (major(devno) == LVM_BLK_MAJOR)
+ return 1;
+ return blkid_driver_has_major("lvm", major(devno));
+}
+
+static int probe_lvm_tp(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ const char *paths[] = {
+ "/usr/local/sbin/lvdisplay",
+ "/usr/sbin/lvdisplay",
+ "/sbin/lvdisplay"
+ };
+ int lvpipe[] = { -1, -1 }, stripes = 0, stripesize = 0;
+ FILE *stream = NULL;
+ char *cmd = NULL, *devname = NULL, buf[1024];
+ size_t i;
+ dev_t devno = blkid_probe_get_devno(pr);
+
+ if (!devno)
+ goto nothing; /* probably not a block device */
+ if (!is_lvm_device(devno))
+ goto nothing;
+
+ for (i = 0; i < ARRAY_SIZE(paths); i++) {
+ struct stat sb;
+ if (stat(paths[i], &sb) == 0) {
+ cmd = (char *) paths[i];
+ break;
+ }
+ }
+
+ if (!cmd)
+ goto nothing;
+
+ devname = blkid_devno_to_devname(devno);
+ if (!devname)
+ goto nothing;
+
+ if (pipe(lvpipe) < 0) {
+ DBG(DEBUG_LOWPROBE,
+ printf("Failed to open pipe: errno=%d", errno));
+ goto nothing;
+ }
+
+ switch (fork()) {
+ case 0:
+ {
+ char *lvargv[3];
+
+ /* Plumbing */
+ close(lvpipe[0]);
+
+ if (lvpipe[1] != STDOUT_FILENO)
+ dup2(lvpipe[1], STDOUT_FILENO);
+
+ /* The libblkid library could linked with setuid programs */
+ if (setgid(getgid()) < 0)
+ exit(1);
+ if (setuid(getuid()) < 0)
+ exit(1);
+
+ lvargv[0] = cmd;
+ lvargv[1] = devname;
+ lvargv[2] = NULL;
+
+ execv(lvargv[0], lvargv);
+
+ DBG(DEBUG_LOWPROBE,
+ printf("Failed to execute %s: errno=%d", cmd, errno));
+ exit(1);
+ }
+ case -1:
+ DBG(DEBUG_LOWPROBE,
+ printf("Failed to forking: errno=%d", errno));
+ goto nothing;
+ default:
+ break;
+ }
+
+ stream = fdopen(lvpipe[0], "r");
+ if (!stream)
+ goto nothing;
+
+ while (fgets(buf, sizeof(buf), stream) != NULL) {
+ if (!strncmp(buf, "Stripes", 7))
+ sscanf(buf, "Stripes %d", &stripes);
+
+ if (!strncmp(buf, "Stripe size", 11))
+ sscanf(buf, "Stripe size (KByte) %d", &stripesize);
+ }
+
+ if (!stripes)
+ goto nothing;
+
+ blkid_topology_set_minimum_io_size(pr, stripesize << 10);
+ blkid_topology_set_optimal_io_size(pr, (stripes * stripesize) << 10);
+
+ free(devname);
+ fclose(stream);
+ close(lvpipe[1]);
+ return 0;
+
+nothing:
+ free(devname);
+ if (stream)
+ fclose(stream);
+ else if (lvpipe[0] != -1)
+ close(lvpipe[0]);
+ if (lvpipe[1] != -1)
+ close(lvpipe[1]);
+ return 1;
+}
+
+const struct blkid_idinfo lvm_tp_idinfo =
+{
+ .name = "lvm",
+ .probefunc = probe_lvm_tp,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/topology/md.c b/libblkid/src/topology/md.c
new file mode 100644
index 0000000..a24fbac
--- /dev/null
+++ b/libblkid/src/topology/md.c
@@ -0,0 +1,154 @@
+/*
+ * Linux Software RAID (md) topology
+ * -- this is fallback for old systems where the topology information is not
+ * exported by sysfs
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ */
+#include <errno.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "topology.h"
+
+#ifndef MD_MAJOR
+#define MD_MAJOR 9
+#endif
+
+#ifndef _IOT__IOTBASE_uint32_t
+#define _IOT__IOTBASE_uint32_t IOT_SIMPLE(uint32_t)
+#endif
+#define _IOT_md_array_info _IOT (_IOTS(uint32_t), 18, 0, 0, 0, 0)
+#define GET_ARRAY_INFO _IOR (MD_MAJOR, 0x11, struct md_array_info)
+
+struct md_array_info {
+ /*
+ * Generic constant information
+ */
+ uint32_t major_version;
+ uint32_t minor_version;
+ uint32_t patch_version;
+ uint32_t ctime;
+ uint32_t level;
+ uint32_t size;
+ uint32_t nr_disks;
+ uint32_t raid_disks;
+ uint32_t md_minor;
+ uint32_t not_persistent;
+
+ /*
+ * Generic state information
+ */
+ uint32_t utime; /* 0 Superblock update time */
+ uint32_t state; /* 1 State bits (clean, ...) */
+ uint32_t active_disks; /* 2 Number of currently active disks */
+ uint32_t working_disks; /* 3 Number of working disks */
+ uint32_t failed_disks; /* 4 Number of failed disks */
+ uint32_t spare_disks; /* 5 Number of spare disks */
+
+ /*
+ * Personality information
+ */
+ uint32_t layout; /* 0 the array's physical layout */
+ uint32_t chunk_size; /* 1 chunk size in bytes */
+
+};
+
+static int is_md_device(dev_t devno)
+{
+ if (major(devno) == MD_MAJOR)
+ return 1;
+ return blkid_driver_has_major("md", major(devno));
+}
+
+static int probe_md_tp(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ int fd = -1;
+ dev_t disk = 0;
+ dev_t devno = blkid_probe_get_devno(pr);
+ struct md_array_info md;
+
+ if (!devno)
+ goto nothing; /* probably not a block device */
+
+ if (!is_md_device(devno))
+ goto nothing;
+
+ if (blkid_devno_to_wholedisk(devno, NULL, 0, &disk))
+ goto nothing;
+
+ if (disk == devno)
+ fd = pr->fd;
+ else {
+ char *diskpath = blkid_devno_to_devname(disk);
+
+ if (!diskpath)
+ goto nothing;
+
+ fd = open(diskpath, O_RDONLY);
+ free(diskpath);
+
+ if (fd == -1)
+ goto nothing;
+ }
+
+ memset(&md, 0, sizeof(md));
+
+ if (ioctl(fd, GET_ARRAY_INFO, &md))
+ goto nothing;
+
+ if (fd >= 0 && fd != pr->fd) {
+ close(fd);
+ fd = -1;
+ }
+
+ /*
+ * Ignore levels we don't want aligned (e.g. linear)
+ * and deduct disk(s) from stripe width on RAID4/5/6
+ */
+ switch (md.level) {
+ case 6:
+ md.raid_disks--;
+ /* fallthrough */
+ case 5:
+ case 4:
+ md.raid_disks--;
+ /* fallthrough */
+ case 1:
+ case 0:
+ case 10:
+ break;
+ default:
+ goto nothing;
+ }
+
+ blkid_topology_set_minimum_io_size(pr, md.chunk_size);
+ blkid_topology_set_optimal_io_size(pr, md.chunk_size * md.raid_disks);
+
+ return 0;
+
+nothing:
+ if (fd >= 0 && fd != pr->fd)
+ close(fd);
+ return 1;
+}
+
+const struct blkid_idinfo md_tp_idinfo =
+{
+ .name = "md",
+ .probefunc = probe_md_tp,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/topology/sysfs.c b/libblkid/src/topology/sysfs.c
new file mode 100644
index 0000000..a04b20a
--- /dev/null
+++ b/libblkid/src/topology/sysfs.c
@@ -0,0 +1,119 @@
+/*
+ * sysfs based topology -- gathers topology information from Linux sysfs
+ *
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ * For more information see Linux kernel Documentation/ABI/testing/sysfs-block.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "sysfs.h"
+#include "topology.h"
+
+/*
+ * Sysfs topology values (since 2.6.31, May 2009).
+ */
+static struct topology_val {
+
+ /* /sys/dev/block/<maj>:<min>/<ATTR> */
+ const char *attr;
+
+ /* functions to set probing resut */
+ int (*set_ulong)(blkid_probe, unsigned long);
+ int (*set_int)(blkid_probe, int);
+
+} topology_vals[] = {
+ { "alignment_offset", NULL, blkid_topology_set_alignment_offset },
+ { "queue/minimum_io_size", blkid_topology_set_minimum_io_size },
+ { "queue/optimal_io_size", blkid_topology_set_optimal_io_size },
+ { "queue/physical_block_size", blkid_topology_set_physical_sector_size },
+};
+
+static int probe_sysfs_tp(blkid_probe pr,
+ const struct blkid_idmag *mag __attribute__((__unused__)))
+{
+ dev_t dev, disk = 0;
+ int rc;
+ struct sysfs_cxt sysfs = UL_SYSFSCXT_EMPTY,
+ parent = UL_SYSFSCXT_EMPTY;
+ size_t i, count = 0;
+
+ dev = blkid_probe_get_devno(pr);
+ if (!dev || sysfs_init(&sysfs, dev, NULL) != 0)
+ return 1;
+
+ rc = 1; /* nothing (default) */
+
+ for (i = 0; i < ARRAY_SIZE(topology_vals); i++) {
+ struct topology_val *val = &topology_vals[i];
+ int ok = sysfs_has_attribute(&sysfs, val->attr);
+
+ rc = 1; /* nothing */
+
+ if (!ok) {
+ if (!disk) {
+ /*
+ * Read atrributes from "disk" if the current
+ * device is a partition.
+ */
+ disk = blkid_probe_get_wholedisk_devno(pr);
+ if (disk && disk != dev) {
+ if (sysfs_init(&parent, disk, NULL) != 0)
+ goto done;
+
+ sysfs.parent = &parent;
+ ok = sysfs_has_attribute(&sysfs,
+ val->attr);
+ }
+ }
+ if (!ok)
+ continue; /* attribute does not exist */
+ }
+
+ if (val->set_ulong) {
+ uint64_t data;
+
+ if (sysfs_read_u64(&sysfs, val->attr, &data) != 0)
+ continue;
+ rc = val->set_ulong(pr, (unsigned long) data);
+
+ } else if (val->set_int) {
+ int64_t data;
+
+ if (sysfs_read_s64(&sysfs, val->attr, &data) != 0)
+ continue;
+ rc = val->set_int(pr, (int) data);
+ }
+
+ if (rc < 0)
+ goto done; /* error */
+ if (rc == 0)
+ count++;
+ }
+
+done:
+ sysfs_deinit(&sysfs);
+ sysfs_deinit(&parent);
+
+ if (count)
+ return 0; /* success */
+ return rc; /* error or nothing */
+}
+
+const struct blkid_idinfo sysfs_tp_idinfo =
+{
+ .name = "sysfs",
+ .probefunc = probe_sysfs_tp,
+ .magics = BLKID_NONE_MAGIC
+};
+
diff --git a/libblkid/src/topology/topology.c b/libblkid/src/topology/topology.c
new file mode 100644
index 0000000..73a397a
--- /dev/null
+++ b/libblkid/src/topology/topology.c
@@ -0,0 +1,366 @@
+/*
+ * topology - gathers information about device topology
+ *
+ * Copyright 2009 Red Hat, Inc. All rights reserved.
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "topology.h"
+
+/**
+ * SECTION:topology
+ * @title: Topology information
+ * @short_description: block device topology information.
+ *
+ * The topology chain provides details about Linux block devices, for more
+ * information see:
+ *
+ * Linux kernel Documentation/ABI/testing/sysfs-block
+ *
+ * NAME=value (tags) interface is enabled by blkid_probe_enable_topology(),
+ * and provides:
+ *
+ * @LOGICAL_SECTOR_SIZE: this is the smallest unit the storage device can
+ * address. It is typically 512 bytes.
+ *
+ * @PHYSICAL_SECTOR_SIZE: this is the smallest unit a physical storage device
+ * can write atomically. It is usually the same as the
+ * logical sector size but may be bigger.
+ *
+ * @MINIMUM_IO_SIZE: minimum size which is the device's preferred unit of I/O.
+ * For RAID arrays it is often the stripe chunk size.
+ *
+ * @OPTIMAL_IO_SIZE: usually the stripe width for RAID or zero. For RAID arrays
+ * it is usually the stripe width or the internal track size.
+ *
+ * @ALIGNMENT_OFFSET: indicates how many bytes the beginning of the device is
+ * offset from the disk's natural alignment.
+ *
+ * The NAME=value tags are not defined when the corresponding topology value
+ * is zero. The MINIMUM_IO_SIZE should be always defined if kernel provides
+ * topology information.
+ *
+ * Binary interface:
+ *
+ * blkid_probe_get_topology()
+ *
+ * blkid_topology_get_'VALUENAME'()
+ */
+static int topology_probe(blkid_probe pr, struct blkid_chain *chn);
+static void topology_free(blkid_probe pr, void *data);
+static int topology_is_complete(blkid_probe pr);
+static int topology_set_logical_sector_size(blkid_probe pr);
+
+/*
+ * Binary interface
+ */
+struct blkid_struct_topology {
+ unsigned long alignment_offset;
+ unsigned long minimum_io_size;
+ unsigned long optimal_io_size;
+ unsigned long logical_sector_size;
+ unsigned long physical_sector_size;
+};
+
+/*
+ * Topology chain probing functions
+ */
+static const struct blkid_idinfo *idinfos[] =
+{
+#ifdef __linux__
+ &ioctl_tp_idinfo,
+ &sysfs_tp_idinfo,
+ &md_tp_idinfo,
+ &dm_tp_idinfo,
+ &lvm_tp_idinfo,
+ &evms_tp_idinfo
+#endif
+};
+
+
+/*
+ * Driver definition
+ */
+const struct blkid_chaindrv topology_drv = {
+ .id = BLKID_CHAIN_TOPLGY,
+ .name = "topology",
+ .dflt_enabled = FALSE,
+ .idinfos = idinfos,
+ .nidinfos = ARRAY_SIZE(idinfos),
+ .probe = topology_probe,
+ .safeprobe = topology_probe,
+ .free_data = topology_free
+};
+
+/**
+ * blkid_probe_enable_topology:
+ * @pr: probe
+ * @enable: TRUE/FALSE
+ *
+ * Enables/disables the topology probing for non-binary interface.
+ *
+ * Returns: 0 on success, or -1 in case of error.
+ */
+int blkid_probe_enable_topology(blkid_probe pr, int enable)
+{
+ if (!pr)
+ return -1;
+ pr->chains[BLKID_CHAIN_TOPLGY].enabled = enable;
+ return 0;
+}
+
+/**
+ * blkid_probe_get_topology:
+ * @pr: probe
+ *
+ * This is a binary interface for topology values. See also blkid_topology_*
+ * functions.
+ *
+ * This function is independent on blkid_do_[safe,full]probe() and
+ * blkid_probe_enable_topology() calls.
+ *
+ * WARNING: the returned object will be overwritten by the next
+ * blkid_probe_get_topology() call for the same @pr. If you want to
+ * use more blkid_topopogy objects in the same time you have to create
+ * more blkid_probe handlers (see blkid_new_probe()).
+ *
+ * Returns: blkid_topopogy, or NULL in case of error.
+ */
+blkid_topology blkid_probe_get_topology(blkid_probe pr)
+{
+ return (blkid_topology) blkid_probe_get_binary_data(pr,
+ &pr->chains[BLKID_CHAIN_TOPLGY]);
+}
+
+/*
+ * The blkid_do_probe() backend.
+ */
+static int topology_probe(blkid_probe pr, struct blkid_chain *chn)
+{
+ size_t i;
+
+ if (!pr || chn->idx < -1)
+ return -1;
+
+ if (!S_ISBLK(pr->mode))
+ return -1; /* nothing, works with block devices only */
+
+ if (chn->binary) {
+ DBG(DEBUG_LOWPROBE, printf("initialize topology binary data\n"));
+
+ if (chn->data)
+ /* reset binary data */
+ memset(chn->data, 0,
+ sizeof(struct blkid_struct_topology));
+ else {
+ chn->data = calloc(1,
+ sizeof(struct blkid_struct_topology));
+ if (!chn->data)
+ return -1;
+ }
+ }
+
+ blkid_probe_chain_reset_vals(pr, chn);
+
+ DBG(DEBUG_LOWPROBE,
+ printf("--> starting probing loop [TOPOLOGY idx=%d]\n",
+ chn->idx));
+
+ i = chn->idx < 0 ? 0 : chn->idx + 1U;
+
+ for ( ; i < ARRAY_SIZE(idinfos); i++) {
+ const struct blkid_idinfo *id = idinfos[i];
+
+ chn->idx = i;
+
+ if (id->probefunc) {
+ DBG(DEBUG_LOWPROBE, printf(
+ "%s: call probefunc()\n", id->name));
+ if (id->probefunc(pr, NULL) != 0)
+ continue;
+ }
+
+ if (!topology_is_complete(pr))
+ continue;
+
+ /* generic for all probing drivers */
+ topology_set_logical_sector_size(pr);
+
+ DBG(DEBUG_LOWPROBE,
+ printf("<-- leaving probing loop (type=%s) [TOPOLOGY idx=%d]\n",
+ id->name, chn->idx));
+ return 0;
+ }
+
+ DBG(DEBUG_LOWPROBE,
+ printf("<-- leaving probing loop (failed) [TOPOLOGY idx=%d]\n",
+ chn->idx));
+ return 1;
+}
+
+static void topology_free(blkid_probe pr __attribute__((__unused__)),
+ void *data)
+{
+ free(data);
+}
+
+static int topology_set_value(blkid_probe pr, const char *name,
+ size_t structoff, unsigned long data)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+
+ if (!chn)
+ return -1;
+ if (!data)
+ return 0; /* ignore zeros */
+
+ if (chn->binary) {
+ memcpy(chn->data + structoff, &data, sizeof(data));
+ return 0;
+ }
+ return blkid_probe_sprintf_value(pr, name, "%lu", data);
+}
+
+
+/* the topology info is complete when we have at least "minimum_io_size" which
+ * is provided by all blkid topology drivers */
+static int topology_is_complete(blkid_probe pr)
+{
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
+
+ if (!chn)
+ return FALSE;
+
+ if (chn->binary && chn->data) {
+ blkid_topology tp = (blkid_topology) chn->data;
+ if (tp->minimum_io_size)
+ return TRUE;
+ }
+
+ return __blkid_probe_lookup_value(pr, "MINIMUM_IO_SIZE") ? TRUE : FALSE;
+}
+
+int blkid_topology_set_alignment_offset(blkid_probe pr, int val)
+{
+ unsigned long xval;
+
+ /* Welcome to Hell. The kernel is able to return -1 as an
+ * alignment_offset if no compatible sizes and alignments
+ * exist for stacked devices.
+ *
+ * There is no way how libblkid caller can respond to the value -1, so
+ * we will hide this corner case...
+ *
+ * (TODO: maybe we can export an extra boolean value 'misaligned' rather
+ * then complete hide this problem.)
+ */
+ xval = val < 0 ? 0 : val;
+
+ return topology_set_value(pr,
+ "ALIGNMENT_OFFSET",
+ offsetof(struct blkid_struct_topology, alignment_offset),
+ xval);
+}
+
+int blkid_topology_set_minimum_io_size(blkid_probe pr, unsigned long val)
+{
+ return topology_set_value(pr,
+ "MINIMUM_IO_SIZE",
+ offsetof(struct blkid_struct_topology, minimum_io_size),
+ val);
+}
+
+int blkid_topology_set_optimal_io_size(blkid_probe pr, unsigned long val)
+{
+ return topology_set_value(pr,
+ "OPTIMAL_IO_SIZE",
+ offsetof(struct blkid_struct_topology, optimal_io_size),
+ val);
+}
+
+/* BLKSSZGET is provided on all systems since 2.3.3 -- so we don't have to
+ * waste time with sysfs.
+ */
+static int topology_set_logical_sector_size(blkid_probe pr)
+{
+ unsigned long val = blkid_probe_get_sectorsize(pr);
+
+ if (!val)
+ return -1;
+
+ return topology_set_value(pr,
+ "LOGICAL_SECTOR_SIZE",
+ offsetof(struct blkid_struct_topology, logical_sector_size),
+ val);
+}
+
+int blkid_topology_set_physical_sector_size(blkid_probe pr, unsigned long val)
+{
+ return topology_set_value(pr,
+ "PHYSICAL_SECTOR_SIZE",
+ offsetof(struct blkid_struct_topology, physical_sector_size),
+ val);
+}
+
+/**
+ * blkid_topology_get_alignment_offset:
+ * @tp: topology
+ *
+ * Returns: alignment offset in bytes or 0.
+ */
+unsigned long blkid_topology_get_alignment_offset(blkid_topology tp)
+{
+ return tp ? tp->alignment_offset : 0;
+}
+
+/**
+ * blkid_topology_get_minimum_io_size:
+ * @tp: topology
+ *
+ * Returns: minimum io size in bytes or 0.
+ */
+unsigned long blkid_topology_get_minimum_io_size(blkid_topology tp)
+{
+ return tp ? tp->minimum_io_size : 0;
+}
+
+/**
+ * blkid_topology_get_optimal_io_size
+ * @tp: topology
+ *
+ * Returns: optimal io size in bytes or 0.
+ */
+unsigned long blkid_topology_get_optimal_io_size(blkid_topology tp)
+{
+ return tp ? tp->optimal_io_size : 0;
+}
+
+/**
+ * blkid_topology_get_logical_sector_size
+ * @tp: topology
+ *
+ * Returns: logical sector size (BLKSSZGET ioctl) in bytes or 0.
+ */
+unsigned long blkid_topology_get_logical_sector_size(blkid_topology tp)
+{
+ return tp ? tp->logical_sector_size : 0;
+}
+
+/**
+ * blkid_topology_get_physical_sector_size
+ * @tp: topology
+ *
+ * Returns: logical sector size (BLKSSZGET ioctl) in bytes or 0.
+ */
+unsigned long blkid_topology_get_physical_sector_size(blkid_topology tp)
+{
+ return tp ? tp->physical_sector_size : 0;
+}
+
diff --git a/libblkid/src/topology/topology.h b/libblkid/src/topology/topology.h
new file mode 100644
index 0000000..6d2f433
--- /dev/null
+++ b/libblkid/src/topology/topology.h
@@ -0,0 +1,24 @@
+#ifndef BLKID_TOPOLOGY_H
+#define BLKID_TOPOLOGY_H
+
+#include "blkidP.h"
+
+extern int blkid_topology_set_alignment_offset(blkid_probe pr, int val);
+extern int blkid_topology_set_minimum_io_size(blkid_probe pr, unsigned long val);
+extern int blkid_topology_set_optimal_io_size(blkid_probe pr, unsigned long val);
+extern int blkid_topology_set_physical_sector_size(blkid_probe pr, unsigned long val);
+
+/*
+ * topology probers
+ */
+#ifdef __linux__
+extern const struct blkid_idinfo ioctl_tp_idinfo;
+extern const struct blkid_idinfo md_tp_idinfo;
+extern const struct blkid_idinfo evms_tp_idinfo;
+extern const struct blkid_idinfo sysfs_tp_idinfo;
+extern const struct blkid_idinfo dm_tp_idinfo;
+extern const struct blkid_idinfo lvm_tp_idinfo;
+#endif
+
+#endif /* BLKID_TOPOLOGY_H */
+
diff --git a/libblkid/src/verify.c b/libblkid/src/verify.c
new file mode 100644
index 0000000..cbb4096
--- /dev/null
+++ b/libblkid/src/verify.c
@@ -0,0 +1,243 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include "blkidP.h"
+
+static void blkid_probe_to_tags(blkid_probe pr, blkid_dev dev)
+{
+ const char *data;
+ const char *name;
+ int nvals, n;
+ size_t len;
+
+ nvals = blkid_probe_numof_values(pr);
+
+ for (n = 0; n < nvals; n++) {
+ if (blkid_probe_get_value(pr, n, &name, &data, &len) != 0)
+ continue;
+ if (strncmp(name, "PART_ENTRY_", 11) == 0) {
+ if (strcmp(name, "PART_ENTRY_UUID") == 0)
+ blkid_set_tag(dev, "PARTUUID", data, len);
+ else if (strcmp(name, "PART_ENTRY_NAME") == 0)
+ blkid_set_tag(dev, "PARTLABEL", data, len);
+ } else {
+ /* superblock UUID, LABEL, ... */
+ blkid_set_tag(dev, name, data, len);
+ }
+ }
+}
+
+/*
+ * Verify that the data in dev is consistent with what is on the actual
+ * block device (using the devname field only). Normally this will be
+ * called when finding items in the cache, but for long running processes
+ * is also desirable to revalidate an item before use.
+ *
+ * If we are unable to revalidate the data, we return the old data and
+ * do not set the BLKID_BID_FL_VERIFIED flag on it.
+ */
+blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev)
+{
+ struct stat st;
+ time_t diff, now;
+ char *fltr[2];
+ int fd;
+
+ if (!dev)
+ return NULL;
+
+ now = time(0);
+ diff = now - dev->bid_time;
+
+ if (stat(dev->bid_name, &st) < 0) {
+ DBG(DEBUG_PROBE,
+ printf("blkid_verify: error %m (%d) while "
+ "trying to stat %s\n", errno,
+ dev->bid_name));
+ open_err:
+ if ((errno == EPERM) || (errno == EACCES) || (errno == ENOENT)) {
+ /* We don't have read permission, just return cache data. */
+ DBG(DEBUG_PROBE, printf("returning unverified data for %s\n",
+ dev->bid_name));
+ return dev;
+ }
+ blkid_free_dev(dev);
+ return NULL;
+ }
+
+ if (now >= dev->bid_time &&
+#ifdef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
+ (st.st_mtime < dev->bid_time ||
+ (st.st_mtime == dev->bid_time &&
+ st.st_mtim.tv_nsec / 1000 <= dev->bid_utime)) &&
+#else
+ st.st_mtime <= dev->bid_time &&
+#endif
+ (diff < BLKID_PROBE_MIN ||
+ (dev->bid_flags & BLKID_BID_FL_VERIFIED &&
+ diff < BLKID_PROBE_INTERVAL)))
+ return dev;
+
+#ifndef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
+ DBG(DEBUG_PROBE,
+ printf("need to revalidate %s (cache time %lu, stat time %lu,\n\t"
+ "time since last check %lu)\n",
+ dev->bid_name, (unsigned long)dev->bid_time,
+ (unsigned long)st.st_mtime, (unsigned long)diff));
+#else
+ DBG(DEBUG_PROBE,
+ printf("need to revalidate %s (cache time %lu.%lu, stat time %lu.%lu,\n\t"
+ "time since last check %lu)\n",
+ dev->bid_name,
+ (unsigned long)dev->bid_time, (unsigned long)dev->bid_utime,
+ (unsigned long)st.st_mtime, (unsigned long)st.st_mtim.tv_nsec / 1000,
+ (unsigned long)diff));
+#endif
+
+ if (!cache->probe) {
+ cache->probe = blkid_new_probe();
+ if (!cache->probe) {
+ blkid_free_dev(dev);
+ return NULL;
+ }
+ }
+
+ fd = open(dev->bid_name, O_RDONLY);
+ if (fd < 0) {
+ DBG(DEBUG_PROBE, printf("blkid_verify: error %m (%d) while "
+ "opening %s\n", errno,
+ dev->bid_name));
+ goto open_err;
+ }
+
+ if (blkid_probe_set_device(cache->probe, fd, 0, 0)) {
+ /* failed to read the device */
+ close(fd);
+ blkid_free_dev(dev);
+ return NULL;
+ }
+
+ blkid_probe_enable_superblocks(cache->probe, TRUE);
+
+ blkid_probe_set_superblocks_flags(cache->probe,
+ BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
+ BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE);
+
+ blkid_probe_enable_partitions(cache->probe, TRUE);
+ blkid_probe_set_partitions_flags(cache->probe, BLKID_PARTS_ENTRY_DETAILS);
+
+ /*
+ * If we already know the type, then try that first.
+ */
+ if (dev->bid_type) {
+ blkid_tag_iterate iter;
+ const char *type, *value;
+
+ fltr[0] = dev->bid_type;
+ fltr[1] = NULL;
+
+ blkid_probe_filter_superblocks_type(cache->probe,
+ BLKID_FLTR_ONLYIN, fltr);
+
+ if (!blkid_do_probe(cache->probe))
+ goto found_type;
+ blkid_probe_invert_superblocks_filter(cache->probe);
+
+ /*
+ * Zap the device filesystem information and try again
+ */
+ DBG(DEBUG_PROBE,
+ printf("previous fs type %s not valid, "
+ "trying full probe\n", dev->bid_type));
+ iter = blkid_tag_iterate_begin(dev);
+ while (blkid_tag_next(iter, &type, &value) == 0)
+ blkid_set_tag(dev, type, 0, 0);
+ blkid_tag_iterate_end(iter);
+ }
+
+ /*
+ * Probe for all types.
+ */
+ if (blkid_do_safeprobe(cache->probe)) {
+ /* found nothing or error */
+ blkid_free_dev(dev);
+ dev = NULL;
+ }
+
+found_type:
+ if (dev) {
+#ifdef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
+ struct timeval tv;
+ if (!gettimeofday(&tv, NULL)) {
+ dev->bid_time = tv.tv_sec;
+ dev->bid_utime = tv.tv_usec;
+ } else
+#endif
+ dev->bid_time = time(0);
+
+ dev->bid_devno = st.st_rdev;
+ dev->bid_flags |= BLKID_BID_FL_VERIFIED;
+ cache->bic_flags |= BLKID_BIC_FL_CHANGED;
+
+ blkid_probe_to_tags(cache->probe, dev);
+
+ DBG(DEBUG_PROBE, printf("%s: devno 0x%04llx, type %s\n",
+ dev->bid_name, (long long)st.st_rdev, dev->bid_type));
+ }
+
+ blkid_reset_probe(cache->probe);
+ blkid_probe_reset_superblocks_filter(cache->probe);
+ close(fd);
+ return dev;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char **argv)
+{
+ blkid_dev dev;
+ blkid_cache cache;
+ int ret;
+
+ if (argc != 2) {
+ fprintf(stderr, "Usage: %s device\n"
+ "Probe a single device to determine type\n", argv[0]);
+ exit(1);
+ }
+ if ((ret = blkid_get_cache(&cache, "/dev/null")) != 0) {
+ fprintf(stderr, "%s: error creating cache (%d)\n",
+ argv[0], ret);
+ exit(1);
+ }
+ dev = blkid_get_dev(cache, argv[1], BLKID_DEV_NORMAL);
+ if (!dev) {
+ printf("%s: %s has an unsupported type\n", argv[0], argv[1]);
+ return (1);
+ }
+ printf("TYPE='%s'\n", dev->bid_type ? dev->bid_type : "(null)");
+ if (dev->bid_label)
+ printf("LABEL='%s'\n", dev->bid_label);
+ if (dev->bid_uuid)
+ printf("UUID='%s'\n", dev->bid_uuid);
+
+ blkid_free_dev(dev);
+ return (0);
+}
+#endif
diff --git a/libblkid/src/version.c b/libblkid/src/version.c
new file mode 100644
index 0000000..63f02f6
--- /dev/null
+++ b/libblkid/src/version.c
@@ -0,0 +1,62 @@
+/*
+ * version.c --- Return the version of the blkid library
+ *
+ * Copyright (C) 2004 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ * %End-Header%
+ */
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <string.h>
+#include <stdio.h>
+#include <ctype.h>
+
+#include "blkid.h"
+
+/* LIBBLKID_* defined in the global config.h */
+static const char *lib_version = LIBBLKID_VERSION; /* release version */
+static const char *lib_date = LIBBLKID_DATE;
+
+/**
+ * blkid_parse_version_string:
+ * @ver_string: version string (e.g. "2.16.0")
+ *
+ * Returns: release version code.
+ */
+int blkid_parse_version_string(const char *ver_string)
+{
+ const char *cp;
+ int version = 0;
+
+ for (cp = ver_string; *cp; cp++) {
+ if (*cp == '.')
+ continue;
+ if (!isdigit(*cp))
+ break;
+ version = (version * 10) + (*cp - '0');
+ }
+ return version;
+}
+
+/**
+ * blkid_get_library_version:
+ * @ver_string: returns relese version (!= SONAME version)
+ * @date_string: returns date
+ *
+ * Returns: release version code.
+ */
+int blkid_get_library_version(const char **ver_string,
+ const char **date_string)
+{
+ if (ver_string)
+ *ver_string = lib_version;
+ if (date_string)
+ *date_string = lib_date;
+
+ return blkid_parse_version_string(lib_version);
+}
diff --git a/libmount/COPYING b/libmount/COPYING
new file mode 100644
index 0000000..41fe6fd
--- /dev/null
+++ b/libmount/COPYING
@@ -0,0 +1,8 @@
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later
+version.
+
+The complete text of the license is available at the
+Documentation/licenses/COPYING.LGPLv2.1 file.
diff --git a/libmount/Makemodule.am b/libmount/Makemodule.am
new file mode 100644
index 0000000..81d550a
--- /dev/null
+++ b/libmount/Makemodule.am
@@ -0,0 +1,15 @@
+if BUILD_LIBMOUNT
+
+include libmount/src/Makemodule.am
+
+if ENABLE_GTK_DOC
+# Docs uses separate Makefiles
+SUBDIRS += libmount/docs
+endif
+
+pkgconfig_DATA += libmount/mount.pc
+PATHFILES += libmount/mount.pc
+EXTRA_DIST += libmount/COPYING
+
+
+endif # BUILD_LIBMOUNT
diff --git a/libmount/docs/Makefile.am b/libmount/docs/Makefile.am
new file mode 100644
index 0000000..2c0363f
--- /dev/null
+++ b/libmount/docs/Makefile.am
@@ -0,0 +1,93 @@
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.10 at least.
+AUTOMAKE_OPTIONS = 1.10
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=libmount
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk
+DOC_SOURCE_DIR=../src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space mnt
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_builddir)/libmount/src/libmount.h
+CFILE_GLOB=$(top_srcdir)/libmount/src/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files to ignore when scanning. Use base file name, no paths
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
+IGNORE_HFILES=mountP.h
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files = $(builddir)/version.xml
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS=
+GTKDOC_LIBS=
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/config/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST += version.xml.in
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+DISTCLEANFILES += version.xml
diff --git a/libmount/docs/Makefile.in b/libmount/docs/Makefile.in
new file mode 100644
index 0000000..ec565e7
--- /dev/null
+++ b/libmount/docs/Makefile.in
@@ -0,0 +1,727 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# WARNING: this is not gtk-doc.make file from gtk-doc project. This
+# file has been modified to match with util-linux requirements:
+#
+# * install files to $datadir
+# * don't maintain generated files in git repository
+# * don't distribute the final html files
+# * don't require --enable-gtk-doc for "make dist"
+# * support out-of-tree build ($srcdir != $builddir)
+#
+# -- kzak, Nov 2009
+#
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/version.xml.in $(top_srcdir)/config/gtk-doc.make
+subdir = libmount/docs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/compiler.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/ul.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = version.xml
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBBLKID_DATE = @LIBBLKID_DATE@
+LIBBLKID_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMOUNT_VERSION = @LIBMOUNT_VERSION@
+LIBMOUNT_VERSION_INFO = @LIBMOUNT_VERSION_INFO@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBUUID_VERSION = @LIBUUID_VERSION@
+LIBUUID_VERSION_INFO = @LIBUUID_VERSION_INFO@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGMERGE = @MSGMERGE@
+NCURSES_LIBS = @NCURSES_LIBS@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOCKET_LIBS = @SOCKET_LIBS@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libdirname = @libdirname@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+ruman1dir = @ruman1dir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+systemdsystemunitdir = @systemdsystemunitdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+usrbin_execdir = @usrbin_execdir@
+usrlib_execdir = @usrlib_execdir@
+usrsbin_execdir = @usrsbin_execdir@
+
+# We require automake 1.10 at least.
+AUTOMAKE_OPTIONS = 1.10
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE = libmount
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk
+DOC_SOURCE_DIR = ../src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS = --sgml-mode --output-format=xml --name-space mnt
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS =
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS =
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB = $(top_builddir)/libmount/src/libmount.h
+CFILE_GLOB = $(top_srcdir)/libmount/src/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES =
+
+# Header files to ignore when scanning. Use base file name, no paths
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
+IGNORE_HFILES = mountP.h
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files = $(builddir)/version.xml
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files =
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS =
+GTKDOC_LIBS =
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+TARGET_DIR = $(docdir)/$(DOC_MODULE)
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+DISTCLEANFILES = version.xml
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST = $(content_files) $(HTML_IMAGES) $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt version.xml.in
+# $(DOC_MODULE)-overrides.txt
+DOC_STAMPS = scan-build.stamp sgml-build.stamp html-build.stamp \
+ $(srcdir)/setup.stamp $(srcdir)/sgml.stamp \
+ $(srcdir)/html.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals \
+ $(DOC_MODULE).types # util-linux: we don't use types
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/config/gtk-doc.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libmount/docs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libmount/docs/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool clean-local distclean distclean-generic \
+ distclean-libtool distclean-local distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-data-local install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-local
+
+
+@ENABLE_GTK_DOC_TRUE@all-local: html-build.stamp
+@ENABLE_GTK_DOC_FALSE@all-local:
+
+docs: html-build.stamp
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo 'gtk-doc: Preparing build'; \
+ files=`echo $(EXTRA_DIST) $(expand_content_files) $(srcdir)/$(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -p $(abs_srcdir)/$$file $(abs_builddir)/; \
+ done \
+ fi \
+ fi
+ @touch setup-build.stamp
+
+setup.stamp: setup-build.stamp
+ @true
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) $(srcdir)/$(DOC_MODULE)-*.txt $(content_files)
+
+ @test -f $(DOC_MODULE)-sections.txt || \
+ cp $(srcdir)/$(DOC_MODULE)-sections.txt $(builddir)
+
+ $(AM_V_GEN)gtkdoc-scan --module=$(DOC_MODULE) \
+ --source-dir=$(srcdir)/$(DOC_SOURCE_DIR) \
+ --source-dir=$(builddir)/$(DOC_SOURCE_DIR) \
+ --ignore-headers="$(IGNORE_HFILES)" \
+ --output-dir=$(builddir) \
+ $(SCAN_OPTIONS) $(EXTRA_HFILES)
+
+ @ if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" \
+ CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) \
+ $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) \
+ --module=$(DOC_MODULE) --output-dir=$(builddir) ; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @ touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### templates ####
+#
+#tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(srcdir)/$(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+# @echo 'gtk-doc: Rebuilding template files'
+# test -z $(builddir)/tmpl || $(MKDIR_P) $(builddir)/tmpl
+# gtkdoc-mktmpl --module=$(DOC_MODULE) \
+# $(MKTMPL_OPTIONS)
+# touch tmpl-build.stamp
+#
+#tmpl.stamp: tmpl-build.stamp
+# @true
+#
+#tmpl/*.sgml:
+# @true
+#
+
+#### xml ####
+
+sgml-build.stamp: setup.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(expand_content_files)
+ $(AM_V_GEN)gtkdoc-mkdb --module=$(DOC_MODULE) \
+ --source-dir=$(srcdir)/$(DOC_SOURCE_DIR) \
+ --source-dir=$(builddir)/$(DOC_SOURCE_DIR) \
+ --output-format=xml \
+ --ignore-files="$(IGNORE_HFILES)" \
+ --expand-content-files="$(expand_content_files)" \
+ --main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
+ $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(srcdir)/$(DOC_MAIN_SGML_FILE) $(content_files)
+ @rm -rf $(builddir)/html
+ @$(MKDIR_P) $(builddir)/html
+ $(AM_V_GEN)cd $(builddir)/html && \
+ gtkdoc-mkhtml --path="$(abs_builddir):$(abs_builddir)/xml:$(abs_srcdir)" \
+ $(MKHTML_OPTIONS) \
+ $(DOC_MODULE) \
+ $(abs_srcdir)/$(DOC_MAIN_SGML_FILE)
+
+ @test "x$(HTML_IMAGES)" = "x" || \
+ ( cd $(srcdir) && cp $(HTML_IMAGES) $(abs_builddir)/html )
+
+ $(AM_V_GEN)gtkdoc-fixxref --module-dir=html \
+ --html-dir=$(HTML_DIR) \
+ $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+##############
+
+clean-local:
+ rm -f *~ *.bak
+ rm -rf .libs
+
+distclean-local:
+ rm -rf xml html $(REPORT_FILES) *.stamp \
+ $(DOC_MODULE)-overrides.txt \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ test $(abs_builddir) == $(abs_srcdir) || \
+ rm -f $(DOC_MODULE)-*.txt $(DOC_MODULE)-*.xml *.xml.in
+
+install-data-local:
+ installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo '-- Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo '-- Installing '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
+ fi; \
+ ! which gtkdoc-rebase >/dev/null 2>&1 || \
+ gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \
+ fi
+
+uninstall-local:
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+@ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc:
+@ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+@ENABLE_GTK_DOC_FALSE@ @false
+
+#dist-hook: dist-check-gtkdoc dist-hook-local sgml.stamp html-build.stamp
+# mkdir $(distdir)/tmpl
+# mkdir $(distdir)/xml
+# mkdir $(distdir)/html
+# -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+# -cp $(srcdir)/xml/*.xml $(distdir)/xml
+# cp $(srcdir)/html/* $(distdir)/html
+# -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
+# -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
+# cd $(distdir) && rm -f $(DISTCLEANFILES)
+# ! which gtkdoc-rebase >/dev/null 2>&1 || \
+# gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
+#
+#.PHONY : dist-hook-local docs
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libmount/docs/libmount-docs.xml b/libmount/docs/libmount-docs.xml
new file mode 100644
index 0000000..09a34bf
--- /dev/null
+++ b/libmount/docs/libmount-docs.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY version SYSTEM "version.xml">
+]>
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+ <bookinfo>
+ <title>libmount Reference Manual</title>
+ <releaseinfo>for libmount version &version;</releaseinfo>
+ <copyright>
+ <year>2010-2012</year>
+ <holder>Karel Zak &lt;kzak@redhat.com&gt;</holder>
+ </copyright>
+ </bookinfo>
+
+ <part id="gtk">
+ <title>libmount Overview</title>
+ <partintro>
+ <para>
+The libmount library is used to parse /etc/fstab, /etc/mtab and
+/proc/self/mountinfo files, manage the mtab file, evaluate mount options, etc.
+ </para>
+ <para>
+The library is part of the util-linux package since version 2.18 and is
+available from ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+ </para>
+ </partintro>
+ </part>
+
+ <part>
+ <title>High-level API</title>
+ <xi:include href="xml/context.xml"/>
+ <xi:include href="xml/context-mount.xml"/>
+ <xi:include href="xml/context-umount.xml"/>
+ </part>
+ <part>
+ <title>Files parsing</title>
+ <xi:include href="xml/table.xml"/>
+ <xi:include href="xml/fs.xml"/>
+ </part>
+ <part>
+ <title>Tables management</title>
+ <xi:include href="xml/lock.xml"/>
+ <xi:include href="xml/update.xml"/>
+ <xi:include href="xml/tabdiff.xml"/>
+ </part>
+ <part>
+ <title>Mount options</title>
+ <xi:include href="xml/optstr.xml"/>
+ <xi:include href="xml/optmap.xml"/>
+ </part>
+ <part>
+ <title>Misc</title>
+ <xi:include href="xml/init.xml"/>
+ <xi:include href="xml/cache.xml"/>
+ <xi:include href="xml/iter.xml"/>
+ <xi:include href="xml/utils.xml"/>
+ <xi:include href="xml/version.xml"/>
+ </part>
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+</book>
diff --git a/libmount/docs/libmount-sections.txt b/libmount/docs/libmount-sections.txt
new file mode 100644
index 0000000..e0f8994
--- /dev/null
+++ b/libmount/docs/libmount-sections.txt
@@ -0,0 +1,341 @@
+<SECTION>
+<FILE>cache</FILE>
+libmnt_cache
+mnt_new_cache
+mnt_free_cache
+mnt_cache_device_has_tag
+mnt_cache_find_tag_value
+mnt_cache_read_tags
+mnt_get_fstype
+mnt_pretty_path
+mnt_resolve_path
+mnt_resolve_spec
+mnt_resolve_tag
+</SECTION>
+
+<SECTION>
+<FILE>context</FILE>
+libmnt_context
+mnt_free_context
+mnt_new_context
+mnt_reset_context
+mnt_context_append_options
+mnt_context_apply_fstab
+mnt_context_disable_canonicalize
+mnt_context_disable_helpers
+mnt_context_disable_mtab
+mnt_context_disable_swapmatch
+mnt_context_enable_fake
+mnt_context_enable_force
+mnt_context_enable_fork
+mnt_context_enable_lazy
+mnt_context_enable_loopdel
+mnt_context_enable_rdonly_umount
+mnt_context_enable_sloppy
+mnt_context_enable_verbose
+mnt_context_get_cache
+mnt_context_get_fs
+mnt_context_get_fstab
+mnt_context_get_fstype
+mnt_context_get_helper_status
+mnt_context_get_lock
+mnt_context_get_mflags
+mnt_context_get_mtab
+mnt_context_get_options
+mnt_context_get_optsmode
+mnt_context_get_source
+mnt_context_get_status
+mnt_context_get_syscall_errno
+mnt_context_get_table
+mnt_context_get_target
+mnt_context_get_user_mflags
+mnt_context_helper_executed
+mnt_context_helper_setopt
+mnt_context_init_helper
+mnt_context_is_child
+mnt_context_is_fake
+mnt_context_is_force
+mnt_context_is_fork
+mnt_context_is_fs_mounted
+mnt_context_is_lazy
+mnt_context_is_loopdel
+mnt_context_is_nocanonicalize
+mnt_context_is_nohelpers
+mnt_context_is_nomtab
+mnt_context_is_parent
+mnt_context_is_rdonly_umount
+mnt_context_is_restricted
+mnt_context_is_sloppy
+mnt_context_is_swapmatch
+mnt_context_is_verbose
+mnt_context_reset_status
+mnt_context_set_cache
+mnt_context_set_fs
+mnt_context_set_fstab
+mnt_context_set_fstype
+mnt_context_set_fstype_pattern
+mnt_context_set_mflags
+mnt_context_set_mountdata
+mnt_context_set_options
+mnt_context_set_options_pattern
+mnt_context_set_optsmode
+mnt_context_set_passwd_cb
+mnt_context_set_source
+mnt_context_set_syscall_status
+mnt_context_set_tables_errcb
+mnt_context_set_target
+mnt_context_set_user_mflags
+mnt_context_strerror
+mnt_context_syscall_called
+mnt_context_tab_applied
+mnt_context_wait_for_children
+</SECTION>
+
+<SECTION>
+<FILE>context-mount</FILE>
+mnt_context_do_mount
+mnt_context_finalize_mount
+mnt_context_mount
+mnt_context_next_mount
+mnt_context_prepare_mount
+<SUBSECTION>
+MNT_MS_COMMENT
+MNT_MS_GROUP
+MNT_MS_HELPER
+MNT_MS_LOOP
+MNT_MS_NETDEV
+MNT_MS_NOAUTO
+MNT_MS_NOFAIL
+MNT_MS_OFFSET
+MNT_MS_OWNER
+MNT_MS_SIZELIMIT
+MNT_MS_ENCRYPTION
+MNT_MS_UHELPER
+MNT_MS_USER
+MNT_MS_USERS
+MNT_MS_XCOMMENT
+<SUBSECTION>
+MS_BIND
+MS_DIRSYNC
+MS_I_VERSION
+MS_MANDLOCK
+MS_MGC_MSK
+MS_MGC_VAL
+MS_MOVE
+MS_NOATIME
+MS_NODEV
+MS_NODIRATIME
+MS_NOEXEC
+MS_NOSUID
+MS_OWNERSECURE
+MS_PRIVATE
+MS_PROPAGATION
+MS_RDONLY
+MS_REC
+MS_RELATIME
+MS_REMOUNT
+MS_SECURE
+MS_SHARED
+MS_SILENT
+MS_SLAVE
+MS_STRICTATIME
+MS_SYNCHRONOUS
+MS_UNBINDABLE
+</SECTION>
+
+<SECTION>
+<FILE>context-umount</FILE>
+mnt_context_do_umount
+mnt_context_finalize_umount
+mnt_context_next_umount
+mnt_context_prepare_umount
+mnt_context_umount
+</SECTION>
+
+<SECTION>
+<FILE>fs</FILE>
+libmnt_fs
+mnt_copy_fs
+mnt_free_fs
+mnt_free_mntent
+mnt_fs_append_attributes
+mnt_fs_append_options
+mnt_fs_get_attribute
+mnt_fs_get_attributes
+mnt_fs_get_bindsrc
+mnt_fs_get_devno
+mnt_fs_get_freq
+mnt_fs_get_fs_options
+mnt_fs_get_fstype
+mnt_fs_get_id
+mnt_fs_get_option
+mnt_fs_get_options
+mnt_fs_get_parent_id
+mnt_fs_get_passno
+mnt_fs_get_priority
+mnt_fs_get_root
+mnt_fs_get_size
+mnt_fs_get_source
+mnt_fs_get_srcpath
+mnt_fs_get_swaptype
+mnt_fs_get_tag
+mnt_fs_get_target
+mnt_fs_get_usedsize
+mnt_fs_get_userdata
+mnt_fs_get_user_options
+mnt_fs_get_vfs_options
+mnt_fs_is_kernel
+mnt_fs_is_netfs
+mnt_fs_is_pseudofs
+mnt_fs_is_swaparea
+mnt_fs_match_fstype
+mnt_fs_match_options
+mnt_fs_match_source
+mnt_fs_match_target
+mnt_fs_prepend_attributes
+mnt_fs_prepend_options
+mnt_fs_print_debug
+mnt_fs_set_attributes
+mnt_fs_set_bindsrc
+mnt_fs_set_freq
+mnt_fs_set_fstype
+mnt_fs_set_options
+mnt_fs_set_passno
+mnt_fs_set_root
+mnt_fs_set_source
+mnt_fs_set_target
+mnt_fs_set_userdata
+mnt_fs_strdup_options
+mnt_fs_streq_srcpath
+mnt_fs_streq_target
+mnt_fs_to_mntent
+mnt_new_fs
+mnt_reset_fs
+</SECTION>
+
+<SECTION>
+<FILE>init</FILE>
+mnt_init_debug
+</SECTION>
+
+<SECTION>
+<FILE>iter</FILE>
+libmnt_iter
+mnt_free_iter
+mnt_iter_get_direction
+mnt_new_iter
+mnt_reset_iter
+</SECTION>
+
+<SECTION>
+<FILE>lock</FILE>
+libmnt_lock
+mnt_free_lock
+mnt_lock_file
+mnt_new_lock
+mnt_unlock_file
+mnt_lock_block_signals
+</SECTION>
+
+<SECTION>
+<FILE>optmap</FILE>
+mnt_get_builtin_optmap
+MNT_INVERT
+MNT_NOMTAB
+MNT_PREFIX
+MNT_NOHLPS
+</SECTION>
+
+<SECTION>
+<FILE>optstr</FILE>
+mnt_optstr_append_option
+mnt_optstr_apply_flags
+mnt_optstr_deduplicate_option
+mnt_optstr_get_flags
+mnt_optstr_get_option
+mnt_optstr_get_options
+mnt_optstr_next_option
+mnt_optstr_prepend_option
+mnt_optstr_remove_option
+mnt_optstr_set_option
+mnt_split_optstr
+</SECTION>
+
+<SECTION>
+<FILE>table</FILE>
+libmnt_table
+mnt_free_table
+mnt_new_table
+mnt_reset_table
+mnt_new_table_from_dir
+mnt_new_table_from_file
+mnt_table_add_fs
+mnt_table_find_devno
+mnt_table_find_next_fs
+mnt_table_find_pair
+mnt_table_find_source
+mnt_table_find_srcpath
+mnt_table_find_tag
+mnt_table_find_target
+mnt_table_get_cache
+mnt_table_get_nents
+mnt_table_get_root_fs
+mnt_table_is_fs_mounted
+mnt_table_next_child_fs
+mnt_table_next_fs
+mnt_table_parse_dir
+mnt_table_parse_file
+mnt_table_parse_fstab
+mnt_table_parse_mtab
+mnt_table_parse_stream
+mnt_table_parse_swaps
+mnt_table_remove_fs
+mnt_table_set_cache
+mnt_table_set_iter
+mnt_table_set_parser_errcb
+</SECTION>
+
+<SECTION>
+<FILE>tabdiff</FILE>
+libmnt_tabdiff
+mnt_new_tabdiff
+mnt_free_tabdiff
+mnt_tabdiff_next_change
+mnt_diff_tables
+</SECTION>
+
+<SECTION>
+<FILE>update</FILE>
+libmnt_update
+mnt_free_update
+mnt_new_update
+mnt_update_force_rdonly
+mnt_update_get_filename
+mnt_update_get_fs
+mnt_update_get_mflags
+mnt_update_is_ready
+mnt_update_set_fs
+mnt_update_table
+</SECTION>
+
+<SECTION>
+<FILE>utils</FILE>
+mnt_fstype_is_netfs
+mnt_fstype_is_pseudofs
+mnt_get_fstab_path
+mnt_get_mtab_path
+mnt_get_swaps_path
+mnt_has_regular_mtab
+mnt_mangle
+mnt_match_fstype
+mnt_match_options
+mnt_unmangle
+</SECTION>
+
+<SECTION>
+<FILE>version</FILE>
+mnt_parse_version_string
+mnt_get_library_version
+mnt_get_library_features
+LIBMOUNT_VERSION
+</SECTION>
diff --git a/libmount/docs/version.xml b/libmount/docs/version.xml
new file mode 100644
index 0000000..4699fb0
--- /dev/null
+++ b/libmount/docs/version.xml
@@ -0,0 +1 @@
+2.22
diff --git a/libmount/docs/version.xml.in b/libmount/docs/version.xml.in
new file mode 100644
index 0000000..d78bda9
--- /dev/null
+++ b/libmount/docs/version.xml.in
@@ -0,0 +1 @@
+@VERSION@
diff --git a/libmount/mount.pc.in b/libmount/mount.pc.in
new file mode 100644
index 0000000..2c32797
--- /dev/null
+++ b/libmount/mount.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@usrlib_execdir@
+includedir=@includedir@
+
+Name: mount
+Description: mount library
+Version: @LIBMOUNT_VERSION@
+Requires.private: blkid
+Cflags: -I${includedir}/libmount
+Libs: -L${libdir} -lmount
diff --git a/libmount/src/Makemodule.am b/libmount/src/Makemodule.am
new file mode 100644
index 0000000..494e02a
--- /dev/null
+++ b/libmount/src/Makemodule.am
@@ -0,0 +1,137 @@
+
+# libmount.h is generated, so it's store in builddir!
+mountincdir = $(includedir)/libmount
+nodist_mountinc_HEADERS = $(top_builddir)/libmount/src/libmount.h
+
+usrlib_exec_LTLIBRARIES += libmount.la
+libmount_la_SOURCES = \
+ include/list.h \
+ \
+ libmount/src/cache.c \
+ libmount/src/context.c \
+ libmount/src/context_loopdev.c \
+ libmount/src/context_mount.c \
+ libmount/src/context_umount.c \
+ libmount/src/fs.c \
+ libmount/src/init.c \
+ libmount/src/iter.c \
+ libmount/src/lock.c \
+ libmount/src/mountP.h \
+ libmount/src/optmap.c \
+ libmount/src/optstr.c \
+ libmount/src/tab.c \
+ libmount/src/tab_diff.c \
+ libmount/src/tab_parse.c \
+ libmount/src/tab_update.c \
+ libmount/src/test.c \
+ libmount/src/utils.c \
+ libmount/src/version.c \
+ $(mountinc_HEADERS)
+
+nodist_libmount_la_SOURCES = libmount/src/mountP.h
+
+libmount_la_LIBADD = libcommon.la libblkid.la $(SELINUX_LIBS)
+
+libmount_la_CFLAGS = \
+ -I$(ul_libblkid_incdir) \
+ -I$(ul_libmount_incdir) \
+ -I$(top_srcdir)/libmount/src
+
+libmount_la_DEPENDENCIES = \
+ $(libmount_la_LIBADD) \
+ libmount/src/libmount.sym \
+ libmount/src/libmount.h.in
+
+libmount_la_LDFLAGS = \
+ -Wl,--version-script=$(top_srcdir)/libmount/src/libmount.sym \
+ -version-info $(LIBMOUNT_VERSION_INFO)
+
+EXTRA_DIST += \
+ libmount/src/libmount.sym \
+ libmount/src/libmount.h.in
+
+if BUILD_LIBMOUNT_TESTS
+check_PROGRAMS += \
+ test_mount_cache \
+ test_mount_context \
+ test_mount_lock \
+ test_mount_optstr \
+ test_mount_tab \
+ test_mount_tab_diff \
+ test_mount_tab_update \
+ test_mount_utils \
+ test_mount_version
+
+libmount_tests_cflags = -DTEST_PROGRAM $(libmount_la_CFLAGS)
+libmount_tests_ldflags = libblkid.la -static
+libmount_tests_ldadd = libmount.la $(UUID_LIBS)
+
+if HAVE_SELINUX
+libmount_tests_ldadd += $(SELINUX_LIBS)
+endif
+
+test_mount_cache_SOURCES = libmount/src/cache.c
+test_mount_cache_CFLAGS = $(libmount_tests_cflags)
+test_mount_cache_LDFLAGS = $(libmount_tests_ldflags)
+test_mount_cache_LDADD = $(libmount_tests_ldadd)
+
+test_mount_context_SOURCES = libmount/src/context.c
+test_mount_context_CFLAGS = $(libmount_tests_cflags)
+test_mount_context_LDFLAGS = $(libmount_tests_ldflags)
+test_mount_context_LDADD = $(libmount_tests_ldadd)
+
+test_mount_lock_SOURCES = libmount/src/lock.c
+test_mount_lock_CFLAGS = $(libmount_tests_cflags)
+test_mount_lock_LDFLAGS = $(libmount_tests_ldflags)
+test_mount_lock_LDADD = $(libmount_tests_ldadd)
+
+test_mount_optstr_SOURCES = libmount/src/optstr.c
+test_mount_optstr_CFLAGS = $(libmount_tests_cflags)
+test_mount_optstr_LDFLAGS = $(libmount_tests_ldflags)
+test_mount_optstr_LDADD = $(libmount_tests_ldadd)
+
+test_mount_tab_SOURCES = libmount/src/tab.c
+test_mount_tab_CFLAGS = $(libmount_tests_cflags)
+test_mount_tab_LDFLAGS = $(libmount_tests_ldflags)
+test_mount_tab_LDADD = $(libmount_tests_ldadd)
+
+test_mount_tab_diff_SOURCES = libmount/src/tab_diff.c
+test_mount_tab_diff_CFLAGS = $(libmount_tests_cflags)
+test_mount_tab_diff_LDFLAGS = $(libmount_tests_ldflags)
+test_mount_tab_diff_LDADD = $(libmount_tests_ldadd)
+
+test_mount_tab_update_SOURCES = libmount/src/tab_update.c
+test_mount_tab_update_CFLAGS = $(libmount_tests_cflags)
+test_mount_tab_update_LDFLAGS = $(libmount_tests_ldflags)
+test_mount_tab_update_LDADD = $(libmount_tests_ldadd)
+
+test_mount_utils_SOURCES = libmount/src/utils.c
+test_mount_utils_CFLAGS = $(libmount_tests_cflags)
+test_mount_utils_LDFLAGS = $(libmount_tests_ldflags)
+test_mount_utils_LDADD = $(libmount_tests_ldadd)
+
+test_mount_version_SOURCES = libmount/src/version.c
+test_mount_version_CFLAGS = $(libmount_tests_cflags)
+test_mount_version_LDFLAGS = $(libmount_tests_ldflags)
+test_mount_version_LDADD = $(libmount_tests_ldadd)
+
+endif # BUILD_LIBMOUNT_TESTS
+
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+install-exec-hook-libmount:
+ if test "$(usrlib_execdir)" != "$(libdir)"; then \
+ mkdir -p $(DESTDIR)$(libdir); \
+ mv $(DESTDIR)$(usrlib_execdir)/libmount.so.* $(DESTDIR)$(libdir); \
+ so_img_name=$$(readlink $(DESTDIR)$(usrlib_execdir)/libmount.so); \
+ so_img_rel_target=$$(echo $(usrlib_execdir) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
+ (cd $(DESTDIR)$(usrlib_execdir) && \
+ rm -f libmount.so && \
+ $(LN_S) $$so_img_rel_target$(libdir)/$$so_img_name libmount.so); \
+ fi
+
+uninstall-hook-libmount:
+ rm -f $(DESTDIR)$(libdir)/libmount.so*
+
+INSTALL_EXEC_HOOKS += install-exec-hook-libmount
+UNINSTALL_HOOKS += uninstall-hook-libmount
diff --git a/libmount/src/cache.c b/libmount/src/cache.c
new file mode 100644
index 0000000..34419cb
--- /dev/null
+++ b/libmount/src/cache.c
@@ -0,0 +1,697 @@
+/*
+ * Copyright (C) 2009-2011 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: cache
+ * @title: Cache
+ * @short_description: paths and tags (UUID/LABEL) caching
+ *
+ * The cache is a very simple API for work with tags (LABEL, UUID, ...) and
+ * paths. The cache uses libblkid as a backend for TAGs resolution.
+ *
+ * All returned paths are always canonicalized.
+ */
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <limits.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <blkid.h>
+
+#include "canonicalize.h"
+#include "mountP.h"
+#include "loopdev.h"
+
+/*
+ * Canonicalized (resolved) paths & tags cache
+ */
+#define MNT_CACHE_CHUNKSZ 128
+
+#define MNT_CACHE_ISTAG (1 << 1) /* entry is TAG */
+#define MNT_CACHE_ISPATH (1 << 2) /* entry is path */
+#define MNT_CACHE_TAGREAD (1 << 3) /* tag read by mnt_cache_read_tags() */
+
+/* path cache entry */
+struct mnt_cache_entry {
+ char *key; /* search key (e.g. uncanonicalized path) */
+ char *value; /* value (e.g. canonicalized path) */
+ int flag;
+};
+
+struct libmnt_cache {
+ struct mnt_cache_entry *ents;
+ size_t nents;
+ size_t nallocs;
+
+ /* blkid_evaluate_tag() works in two ways:
+ *
+ * 1/ all tags are evaluated by udev /dev/disk/by-* symlinks,
+ * then the blkid_cache is NULL.
+ *
+ * 2/ all tags are read from blkid.tab and verified by /dev
+ * scanning, then the blkid_cache is not NULL and then it's
+ * better to reuse the blkid_cache.
+ */
+ blkid_cache bc;
+};
+
+/**
+ * mnt_new_cache:
+ *
+ * Returns: new struct libmnt_cache instance or NULL in case of ENOMEM error.
+ */
+struct libmnt_cache *mnt_new_cache(void)
+{
+ struct libmnt_cache *cache = calloc(1, sizeof(*cache));
+ if (!cache)
+ return NULL;
+ DBG(CACHE, mnt_debug_h(cache, "alloc"));
+ return cache;
+}
+
+/**
+ * mnt_free_cache:
+ * @cache: pointer to struct libmnt_cache instance
+ *
+ * Deallocates the cache.
+ */
+void mnt_free_cache(struct libmnt_cache *cache)
+{
+ size_t i;
+
+ if (!cache)
+ return;
+
+ DBG(CACHE, mnt_debug_h(cache, "free"));
+
+ for (i = 0; i < cache->nents; i++) {
+ struct mnt_cache_entry *e = &cache->ents[i];
+ if (e->value != e->key)
+ free(e->value);
+ free(e->key);
+ }
+ free(cache->ents);
+ if (cache->bc)
+ blkid_put_cache(cache->bc);
+ free(cache);
+}
+
+/* note that the @key could be tha same pointer as @value */
+static int cache_add_entry(struct libmnt_cache *cache, char *key,
+ char *value, int flag)
+{
+ struct mnt_cache_entry *e;
+
+ assert(cache);
+ assert(value);
+ assert(key);
+
+ if (cache->nents == cache->nallocs) {
+ size_t sz = cache->nallocs + MNT_CACHE_CHUNKSZ;
+
+ e = realloc(cache->ents, sz * sizeof(struct mnt_cache_entry));
+ if (!e)
+ return -ENOMEM;
+ cache->ents = e;
+ cache->nallocs = sz;
+ }
+
+ e = &cache->ents[cache->nents];
+ e->key = key;
+ e->value = value;
+ e->flag = flag;
+ cache->nents++;
+
+ DBG(CACHE, mnt_debug_h(cache, "add entry [%2zd] (%s): %s: %s",
+ cache->nents,
+ (flag & MNT_CACHE_ISPATH) ? "path" : "tag",
+ value, key));
+ return 0;
+}
+
+/* add tag to the cache, @devname has to be allocated string */
+static int cache_add_tag(struct libmnt_cache *cache, const char *tagname,
+ const char *tagval, char *devname, int flag)
+{
+ size_t tksz, vlsz;
+ char *key;
+ int rc;
+
+ assert(cache);
+ assert(devname);
+ assert(tagname);
+ assert(tagval);
+
+ /* add into cache -- cache format for TAGs is
+ * key = "TAG_NAME\0TAG_VALUE\0"
+ * value = "/dev/foo"
+ */
+ tksz = strlen(tagname);
+ vlsz = strlen(tagval);
+
+ key = malloc(tksz + vlsz + 2);
+ if (!key)
+ return -ENOMEM;
+
+ memcpy(key, tagname, tksz + 1); /* include '\0' */
+ memcpy(key + tksz + 1, tagval, vlsz + 1);
+
+ rc = cache_add_entry(cache, key, devname, flag | MNT_CACHE_ISTAG);
+ if (!rc)
+ return 0;
+
+ free(key);
+ return rc;
+}
+
+
+/*
+ * Returns cached canonicalized path or NULL.
+ */
+static const char *cache_find_path(struct libmnt_cache *cache, const char *path)
+{
+ size_t i;
+
+ assert(cache);
+ assert(path);
+
+ if (!cache || !path)
+ return NULL;
+
+ for (i = 0; i < cache->nents; i++) {
+ struct mnt_cache_entry *e = &cache->ents[i];
+ if (!(e->flag & MNT_CACHE_ISPATH))
+ continue;
+ if (strcmp(path, e->key) == 0)
+ return e->value;
+ }
+ return NULL;
+}
+
+/*
+ * Returns cached path or NULL.
+ */
+static const char *cache_find_tag(struct libmnt_cache *cache,
+ const char *token, const char *value)
+{
+ size_t i;
+ size_t tksz;
+
+ assert(cache);
+ assert(token);
+ assert(value);
+
+ if (!cache || !token || !value)
+ return NULL;
+
+ tksz = strlen(token);
+
+ for (i = 0; i < cache->nents; i++) {
+ struct mnt_cache_entry *e = &cache->ents[i];
+ if (!(e->flag & MNT_CACHE_ISTAG))
+ continue;
+ if (strcmp(token, e->key) == 0 &&
+ strcmp(value, e->key + tksz + 1) == 0)
+ return e->value;
+ }
+ return NULL;
+}
+
+static char *cache_find_tag_value(struct libmnt_cache *cache,
+ const char *devname, const char *token)
+{
+ size_t i;
+
+ assert(cache);
+ assert(devname);
+ assert(token);
+
+ for (i = 0; i < cache->nents; i++) {
+ struct mnt_cache_entry *e = &cache->ents[i];
+ if (!(e->flag & MNT_CACHE_ISTAG))
+ continue;
+ if (strcmp(e->value, devname) == 0 && /* dev name */
+ strcmp(token, e->key) == 0) /* tag name */
+ return e->key + strlen(token) + 1; /* tag value */
+ }
+
+ return NULL;
+}
+
+/**
+ * mnt_cache_read_tags
+ * @cache: pointer to struct libmnt_cache instance
+ * @devname: path device
+ *
+ * Reads @devname LABEL and UUID to the @cache.
+ *
+ * Returns: 0 if at least one tag was added, 1 if no tag was added or
+ * negative number in case of error.
+ */
+int mnt_cache_read_tags(struct libmnt_cache *cache, const char *devname)
+{
+ blkid_probe pr;
+ size_t i, ntags = 0;
+ const char *tags[] = { "LABEL", "UUID", "TYPE", "PARTUUID", "PARTLABEL" };
+ const char *blktags[] = { "LABEL", "UUID", "TYPE", "PART_ENTRY_UUID", "PART_ENTRY_NAME" };
+
+ assert(cache);
+ assert(devname);
+
+ if (!cache || !devname)
+ return -EINVAL;
+
+ DBG(CACHE, mnt_debug_h(cache, "tags for %s requested", devname));
+
+ /* check is device is already cached */
+ for (i = 0; i < cache->nents; i++) {
+ struct mnt_cache_entry *e = &cache->ents[i];
+ if (!(e->flag & MNT_CACHE_TAGREAD))
+ continue;
+ if (strcmp(e->value, devname) == 0)
+ /* tags has been already read */
+ return 0;
+ }
+
+ pr = blkid_new_probe_from_filename(devname);
+ if (!pr)
+ return -1;
+
+ blkid_probe_enable_superblocks(pr, 1);
+ blkid_probe_set_superblocks_flags(pr,
+ BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
+ BLKID_SUBLKS_TYPE);
+
+ blkid_probe_enable_partitions(pr, 1);
+ blkid_probe_set_partitions_flags(pr, BLKID_PARTS_ENTRY_DETAILS);
+
+ if (blkid_do_safeprobe(pr))
+ goto error;
+
+ DBG(CACHE, mnt_debug_h(cache, "reading tags for: %s", devname));
+
+ for (i = 0; i < ARRAY_SIZE(tags); i++) {
+ const char *data;
+ char *dev;
+
+ if (cache_find_tag_value(cache, devname, tags[i])) {
+ DBG(CACHE, mnt_debug_h(cache,
+ "\ntag %s already cached", tags[i]));
+ continue;
+ }
+ if (blkid_probe_lookup_value(pr, blktags[i], &data, NULL))
+ continue;
+ dev = strdup(devname);
+ if (!dev)
+ goto error;
+ if (cache_add_tag(cache, tags[i], data, dev,
+ MNT_CACHE_TAGREAD)) {
+ free(dev);
+ goto error;
+ }
+ ntags++;
+ }
+
+ DBG(CACHE, mnt_debug_h(cache, "\tread %zd tags", ntags));
+ blkid_free_probe(pr);
+ return ntags ? 0 : 1;
+error:
+ blkid_free_probe(pr);
+ return -1;
+}
+
+/**
+ * mnt_cache_device_has_tag:
+ * @cache: paths cache
+ * @devname: path to the device
+ * @token: tag name (e.g "LABEL")
+ * @value: tag value
+ *
+ * Look up @cache to check it @tag+@value are associated with @devname.
+ *
+ * Returns: 1 on success or 0.
+ */
+int mnt_cache_device_has_tag(struct libmnt_cache *cache, const char *devname,
+ const char *token, const char *value)
+{
+ const char *path = cache_find_tag(cache, token, value);
+
+ if (path && strcmp(path, devname) == 0)
+ return 1;
+ return 0;
+}
+
+/**
+ * mnt_cache_find_tag_value:
+ * @cache: cache for results
+ * @devname: device name
+ * @token: tag name ("LABEL" or "UUID")
+ *
+ * Returns: LABEL or UUID for the @devname or NULL in case of error.
+ */
+char *mnt_cache_find_tag_value(struct libmnt_cache *cache,
+ const char *devname, const char *token)
+{
+ if (!cache || !devname || !token)
+ return NULL;
+
+ if (mnt_cache_read_tags(cache, devname) != 0)
+ return NULL;
+
+ return cache_find_tag_value(cache, devname, token);
+}
+
+/**
+ * mnt_get_fstype:
+ * @devname: device name
+ * @ambi: returns TRUE if probing result is ambivalent (optional argument)
+ * @cache: cache for results or NULL
+ *
+ * Returns: filesystem type or NULL in case of error. The result has to be
+ * deallocated by free() if @cache is NULL.
+ */
+char *mnt_get_fstype(const char *devname, int *ambi, struct libmnt_cache *cache)
+{
+ blkid_probe pr;
+ const char *data;
+ char *type = NULL;
+ int rc;
+
+ DBG(CACHE, mnt_debug_h(cache, "get %s FS type", devname));
+
+ if (cache)
+ return mnt_cache_find_tag_value(cache, devname, "TYPE");
+
+ /*
+ * no cache, probe directly
+ */
+ pr = blkid_new_probe_from_filename(devname);
+ if (!pr)
+ return NULL;
+
+ blkid_probe_enable_superblocks(pr, 1);
+
+ blkid_probe_set_superblocks_flags(pr, BLKID_SUBLKS_TYPE);
+
+ rc = blkid_do_safeprobe(pr);
+
+ if (!rc && !blkid_probe_lookup_value(pr, "TYPE", &data, NULL))
+ type = strdup(data);
+
+ if (ambi)
+ *ambi = rc == -2 ? TRUE : FALSE;
+
+ blkid_free_probe(pr);
+ return type;
+}
+
+/**
+ * mnt_resolve_path:
+ * @path: "native" path
+ * @cache: cache for results or NULL
+ *
+ * Converts path:
+ * - to the absolute path
+ * - /dev/dm-N to /dev/mapper/name
+ *
+ * Returns: absolute path or NULL in case of error. The result has to be
+ * deallocated by free() if @cache is NULL.
+ */
+char *mnt_resolve_path(const char *path, struct libmnt_cache *cache)
+{
+ char *p = NULL;
+ char *key = NULL;
+ char *value = NULL;
+
+ /*DBG(CACHE, mnt_debug_h(cache, "resolving path %s", path));*/
+
+ if (!path)
+ return NULL;
+ if (cache)
+ p = (char *) cache_find_path(cache, path);
+
+ if (!p) {
+ p = canonicalize_path(path);
+
+ if (p && cache) {
+ value = p;
+ key = strcmp(path, p) == 0 ? value : strdup(path);
+
+ if (!key || !value)
+ goto error;
+
+ if (cache_add_entry(cache, key, value,
+ MNT_CACHE_ISPATH))
+ goto error;
+ }
+ }
+
+ return p;
+error:
+ if (value != key)
+ free(value);
+ free(key);
+ return NULL;
+}
+
+/**
+ * mnt_pretty_path:
+ * @path: any path
+ * @cache: NULL or pointer to the cache
+ *
+ * Converts path:
+ * - to the absolute path
+ * - /dev/dm-N to /dev/mapper/name
+ * - /dev/loopN to the loop backing filename
+ * - empty path (NULL) to 'none'
+ *
+ * Returns: new allocated string with path, result has to be always deallocated
+ * by free().
+ */
+char *mnt_pretty_path(const char *path, struct libmnt_cache *cache)
+{
+ char *pretty = mnt_resolve_path(path, cache);
+
+ if (!pretty)
+ return strdup("none");
+
+ /* users assume backing file name rather than /dev/loopN in
+ * output if the device has been initialized by mount(8).
+ */
+ if (strncmp(pretty, "/dev/loop", 9) == 0) {
+ struct loopdev_cxt lc;
+
+ if (loopcxt_init(&lc, 0) || loopcxt_set_device(&lc, pretty))
+ goto done;
+
+ if (loopcxt_is_autoclear(&lc)) {
+ char *tmp = loopcxt_get_backing_file(&lc);
+ if (tmp) {
+ if (!cache)
+ free(pretty); /* not cached, deallocate */
+ return tmp; /* return backing file */
+ }
+ }
+ loopcxt_deinit(&lc);
+
+ }
+
+done:
+ /* don't return pointer to the cache, allocate a new string */
+ return cache ? strdup(pretty) : pretty;
+}
+
+/**
+ * mnt_resolve_tag:
+ * @token: tag name
+ * @value: tag value
+ * @cache: for results or NULL
+ *
+ * Returns: device name or NULL in case of error. The result has to be
+ * deallocated by free() if @cache is NULL.
+ */
+char *mnt_resolve_tag(const char *token, const char *value,
+ struct libmnt_cache *cache)
+{
+ char *p = NULL;
+
+ assert(token);
+ assert(value);
+
+ /*DBG(CACHE, mnt_debug_h(cache, "resolving tag token=%s value=%s",
+ token, value));*/
+
+ if (!token || !value)
+ return NULL;
+
+ if (cache)
+ p = (char *) cache_find_tag(cache, token, value);
+
+ if (!p) {
+ /* returns newly allocated string */
+ p = blkid_evaluate_tag(token, value, cache ? &cache->bc : NULL);
+
+ if (p && cache &&
+ cache_add_tag(cache, token, value, p, 0))
+ goto error;
+ }
+
+ return p;
+error:
+ free(p);
+ return NULL;
+}
+
+
+
+/**
+ * mnt_resolve_spec:
+ * @spec: path or tag
+ * @cache: paths cache
+ *
+ * Returns: canonicalized path or NULL. The result has to be
+ * deallocated by free() if @cache is NULL.
+ */
+char *mnt_resolve_spec(const char *spec, struct libmnt_cache *cache)
+{
+ char *cn = NULL;
+
+ if (!spec)
+ return NULL;
+
+ if (strchr(spec, '=')) {
+ char *tag, *val;
+
+ if (!blkid_parse_tag_string(spec, &tag, &val)) {
+ cn = mnt_resolve_tag(tag, val, cache);
+
+ free(tag);
+ free(val);
+ }
+ } else
+ cn = mnt_resolve_path(spec, cache);
+
+ return cn;
+}
+
+
+#ifdef TEST_PROGRAM
+
+int test_resolve_path(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char line[BUFSIZ];
+ struct libmnt_cache *cache;
+
+ cache = mnt_new_cache();
+ if (!cache)
+ return -ENOMEM;
+
+ while(fgets(line, sizeof(line), stdin)) {
+ size_t sz = strlen(line);
+ char *p;
+
+ if (sz > 0 && line[sz - 1] == '\n')
+ line[sz - 1] = '\0';
+
+ p = mnt_resolve_path(line, cache);
+ printf("%s : %s\n", line, p);
+ }
+ mnt_free_cache(cache);
+ return 0;
+}
+
+int test_resolve_spec(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char line[BUFSIZ];
+ struct libmnt_cache *cache;
+
+ cache = mnt_new_cache();
+ if (!cache)
+ return -ENOMEM;
+
+ while(fgets(line, sizeof(line), stdin)) {
+ size_t sz = strlen(line);
+ char *p;
+
+ if (sz > 0 && line[sz - 1] == '\n')
+ line[sz - 1] = '\0';
+
+ p = mnt_resolve_spec(line, cache);
+ printf("%s : %s\n", line, p);
+ }
+ mnt_free_cache(cache);
+ return 0;
+}
+
+int test_read_tags(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char line[BUFSIZ];
+ struct libmnt_cache *cache;
+ size_t i;
+
+ cache = mnt_new_cache();
+ if (!cache)
+ return -ENOMEM;
+
+ while(fgets(line, sizeof(line), stdin)) {
+ size_t sz = strlen(line);
+
+ if (sz > 0 && line[sz - 1] == '\n')
+ line[sz - 1] = '\0';
+
+ if (!strcmp(line, "quit"))
+ break;
+
+ if (*line == '/') {
+ if (mnt_cache_read_tags(cache, line) < 0)
+ fprintf(stderr, "%s: read tags failed\n", line);
+
+ } else if (strchr(line, '=')) {
+ char *tag, *val;
+ const char *cn = NULL;
+
+ if (!blkid_parse_tag_string(line, &tag, &val)) {
+ cn = cache_find_tag(cache, tag, val);
+
+ free(tag);
+ free(val);
+ }
+ if (cn)
+ printf("%s: %s\n", line, cn);
+ else
+ printf("%s: not cached\n", line);
+ }
+ }
+
+ for (i = 0; i < cache->nents; i++) {
+ struct mnt_cache_entry *e = &cache->ents[i];
+ if (!(e->flag & MNT_CACHE_ISTAG))
+ continue;
+
+ printf("%15s : %5s : %s\n", e->value, e->key,
+ e->key + strlen(e->key) + 1);
+ }
+
+ mnt_free_cache(cache);
+ return 0;
+
+}
+
+int main(int argc, char *argv[])
+{
+ struct libmnt_test ts[] = {
+ { "--resolve-path", test_resolve_path, " resolve paths from stdin" },
+ { "--resolve-spec", test_resolve_spec, " evaluate specs from stdin" },
+ { "--read-tags", test_read_tags, " read devname or TAG from stdin (\"quit\" to exit)" },
+ { NULL }
+ };
+
+ return mnt_run_test(ts, argc, argv);
+}
+#endif
diff --git a/libmount/src/context.c b/libmount/src/context.c
new file mode 100644
index 0000000..d6f9050
--- /dev/null
+++ b/libmount/src/context.c
@@ -0,0 +1,2297 @@
+/*
+ * Copyright (C) 2010,2011,2012 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: context
+ * @title: Library high-level context
+ * @short_description: high-level API to mount/umount devices.
+ *
+ * <informalexample>
+ * <programlisting>
+ * struct libmnt_context *cxt = mnt_new_context();
+ *
+ * mnt_context_set_options(cxt, "aaa,bbb,ccc=CCC");
+ * mnt_context_set_mflags(cxt, MS_NOATIME|MS_NOEXEC);
+ * mnt_context_set_target(cxt, "/mnt/foo");
+ *
+ * if (!mnt_context_mount(cxt))
+ * printf("successfully mounted\n");
+ * mnt_free_context(cxt);
+ *
+ * </programlisting>
+ * </informalexample>
+ *
+ * This code is similar to:
+ *
+ * mount -o aaa,bbb,ccc=CCC,noatime,noexec /mnt/foo
+ *
+ */
+
+#include "mountP.h"
+
+#include <sys/wait.h>
+
+/**
+ * mnt_new_context:
+ *
+ * Returns: newly allocated mount context
+ */
+struct libmnt_context *mnt_new_context(void)
+{
+ struct libmnt_context *cxt;
+ uid_t ruid, euid;
+
+ cxt = calloc(1, sizeof(*cxt));
+ if (!cxt)
+ return NULL;
+
+ ruid = getuid();
+ euid = geteuid();
+
+ mnt_context_reset_status(cxt);
+
+ cxt->loopdev_fd = -1;
+
+ /* if we're really root and aren't running setuid */
+ cxt->restricted = (uid_t) 0 == ruid && ruid == euid ? 0 : 1;
+
+ DBG(CXT, mnt_debug_h(cxt, "----> allocate %s",
+ cxt->restricted ? "[RESTRICTED]" : ""));
+
+ mnt_has_regular_mtab(&cxt->mtab_path, &cxt->mtab_writable);
+
+ if (!cxt->mtab_writable)
+ /* use /run/mount/utab if /etc/mtab is useless */
+ mnt_has_regular_utab(&cxt->utab_path, &cxt->utab_writable);
+
+ return cxt;
+}
+
+/**
+ * mnt_free_context:
+ * @cxt: mount context
+ *
+ * Deallocates context struct.
+ */
+void mnt_free_context(struct libmnt_context *cxt)
+{
+ if (!cxt)
+ return;
+
+ mnt_reset_context(cxt);
+
+ free(cxt->fstype_pattern);
+ free(cxt->optstr_pattern);
+
+ if (!(cxt->flags & MNT_FL_EXTERN_FSTAB))
+ mnt_free_table(cxt->fstab);
+ if (!(cxt->flags & MNT_FL_EXTERN_CACHE))
+ mnt_free_cache(cxt->cache);
+
+ mnt_context_clear_loopdev(cxt);
+ mnt_free_lock(cxt->lock);
+ mnt_free_update(cxt->update);
+
+ free(cxt->children);
+
+ DBG(CXT, mnt_debug_h(cxt, "<---- free"));
+ free(cxt);
+}
+
+/**
+ * mnt_reset_context:
+ * @cxt: mount context
+ *
+ * Resets all information in the context that are directly related to
+ * the latest mount (spec, source, target, mount options, ....)
+ *
+ * The match patters, cached fstab, cached canonicalized paths and tags and
+ * [e]uid are not reseted. You have to use
+ *
+ * mnt_context_set_fstab(cxt, NULL);
+ * mnt_context_set_cache(cxt, NULL);
+ * mnt_context_set_fstype_pattern(cxt, NULL);
+ * mnt_context_set_options_pattern(cxt, NULL);
+ *
+ *
+ * to reset these stuff.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_reset_context(struct libmnt_context *cxt)
+{
+ int fl;
+
+ if (!cxt)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug_h(cxt, "<---- reset [status=%d] ---->",
+ mnt_context_get_status(cxt)));
+
+ fl = cxt->flags;
+
+ if (!(cxt->flags & MNT_FL_EXTERN_FS))
+ mnt_free_fs(cxt->fs);
+
+ mnt_free_table(cxt->mtab);
+
+ free(cxt->helper);
+ free(cxt->orig_user);
+
+ cxt->fs = NULL;
+ cxt->mtab = NULL;
+ cxt->ambi = 0;
+ cxt->helper = NULL;
+ cxt->orig_user = NULL;
+ cxt->mountflags = 0;
+ cxt->user_mountflags = 0;
+ cxt->mountdata = NULL;
+ cxt->flags = MNT_FL_DEFAULT;
+
+ mnt_context_reset_status(cxt);
+
+ /* restore non-resetable flags */
+ cxt->flags |= (fl & MNT_FL_EXTERN_FSTAB);
+ cxt->flags |= (fl & MNT_FL_EXTERN_CACHE);
+ cxt->flags |= (fl & MNT_FL_NOMTAB);
+ cxt->flags |= (fl & MNT_FL_FAKE);
+ cxt->flags |= (fl & MNT_FL_SLOPPY);
+ cxt->flags |= (fl & MNT_FL_VERBOSE);
+ cxt->flags |= (fl & MNT_FL_NOHELPERS);
+ cxt->flags |= (fl & MNT_FL_LOOPDEL);
+ cxt->flags |= (fl & MNT_FL_LAZY);
+ cxt->flags |= (fl & MNT_FL_FORK);
+ cxt->flags |= (fl & MNT_FL_FORCE);
+ cxt->flags |= (fl & MNT_FL_NOCANONICALIZE);
+ cxt->flags |= (fl & MNT_FL_RDONLY_UMOUNT);
+ return 0;
+}
+
+/**
+ * mnt_context_reset_status:
+ * @cxt: context
+ *
+ * Resets mount(2) and mount.type statuses, so mnt_context_do_mount() or
+ * mnt_context_do_umount() could be again called with the same settings.
+ *
+ * BE CAREFUL -- after this soft reset the libmount will NOT parse mount
+ * options, evaluate permissions or apply stuff from fstab.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_reset_status(struct libmnt_context *cxt)
+{
+ if (!cxt)
+ return -EINVAL;
+
+ cxt->syscall_status = 1; /* means not called yet */
+ cxt->helper_exec_status = 1;
+ cxt->helper_status = 0;
+ return 0;
+}
+
+static int set_flag(struct libmnt_context *cxt, int flag, int enable)
+{
+ if (!cxt)
+ return -EINVAL;
+ if (enable) {
+ DBG(CXT, mnt_debug_h(cxt, "enabling flag %04x", flag));
+ cxt->flags |= flag;
+ } else {
+ DBG(CXT, mnt_debug_h(cxt, "disabling flag %04x", flag));
+ cxt->flags &= ~flag;
+ }
+ return 0;
+}
+
+/**
+ * mnt_context_is_restricted:
+ * @cxt: mount context
+ *
+ * Returns: 0 for unrestricted mount (user is root), or 1 for non-root mounts
+ */
+int mnt_context_is_restricted(struct libmnt_context *cxt)
+{
+ assert(cxt);
+ return cxt->restricted;
+}
+
+/**
+ * mnt_context_set_optsmode
+ * @cxt: mount context
+ * @mode: MNT_OMASK_* flags
+ *
+ * Controls how to use mount optionsmsource and target paths from fstab/mtab.
+ *
+ * @MNT_OMODE_IGNORE: ignore mtab/fstab options
+ *
+ * @MNT_OMODE_APPEND: append mtab/fstab options to existing options
+ *
+ * @MNT_OMODE_PREPEND: prepend mtab/fstab options to existing options
+ *
+ * @MNT_OMODE_REPLACE: replace existing options with options from mtab/fstab
+ *
+ * @MNT_OMODE_FORCE: always read mtab/fstab (although source and target is defined)
+ *
+ * @MNT_OMODE_FSTAB: read from fstab
+ *
+ * @MNT_OMODE_MTAB: read from mtab if fstab not enabled or failed
+ *
+ * @MNT_OMODE_NOTAB: do not read fstab/mtab at all
+ *
+ * @MNT_OMODE_AUTO: default mode (MNT_OMODE_PREPEND | MNT_OMODE_FSTAB | MNT_OMODE_MTAB)
+ *
+ * @MNT_OMODE_USER: default for non-root users (MNT_OMODE_REPLACE | MNT_OMODE_FORCE | MNT_OMODE_FSTAB)
+ *
+ * Notes:
+ *
+ * - MNT_OMODE_USER is always used if mount context is in restricted mode
+ * - MNT_OMODE_AUTO is used if nothing other is defined
+ * - the flags are eavaluated in this order: MNT_OMODE_NOTAB, MNT_OMODE_FORCE,
+ * MNT_OMODE_FSTAB, MNT_OMODE_MTAB and then the mount options from fstab/mtab
+ * are set according to MNT_OMODE_{IGNORE,APPEND,PREPAND,REPLACE}
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_optsmode(struct libmnt_context *cxt, int mode)
+{
+ if (!cxt)
+ return -EINVAL;
+ cxt->optsmode = mode;
+ return 0;
+}
+
+/**
+ * mnt_context_get_optsmode
+ * @cxt: mount context
+ *
+ * Returns: MNT_OMASK_* mask or zero.
+ */
+
+int mnt_context_get_optsmode(struct libmnt_context *cxt)
+{
+ return cxt ? cxt->optsmode : 0;
+}
+
+/**
+ * mnt_context_disable_canonicalize:
+ * @cxt: mount context
+ * @disable: TRUE or FALSE
+ *
+ * Enable/disable paths canonicalization and tags evaluation. The libmount context
+ * canonicalies paths when search in fstab and when prepare source and target paths
+ * for mount(2) syscall.
+ *
+ * This fuction has effect to the private (within context) fstab instance only
+ * (see mnt_context_set_fstab()). If you want to use an external fstab then you
+ * need manage your private struct libmnt_cache (see mnt_table_set_cache(fstab,
+ * NULL).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_disable_canonicalize(struct libmnt_context *cxt, int disable)
+{
+ return set_flag(cxt, MNT_FL_NOCANONICALIZE, disable);
+}
+
+/**
+ * mnt_context_is_nocanonicalize:
+ * @cxt: mount context
+ *
+ * Returns: 1 if no-canonicalize mode enabled or 0.
+ */
+int mnt_context_is_nocanonicalize(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_NOCANONICALIZE) ? 1 : 0;
+}
+
+/**
+ * mnt_context_enable_lazy:
+ * @cxt: mount context
+ * @enable: TRUE or FALSE
+ *
+ * Enable/disable lazy umount (see umount(8) man page, option -l).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_enable_lazy(struct libmnt_context *cxt, int enable)
+{
+ return set_flag(cxt, MNT_FL_LAZY, enable);
+}
+
+/**
+ * mnt_context_is_lazy:
+ * @cxt: mount context
+ *
+ * Returns: 1 if lazy umount is enabled or 0
+ */
+int mnt_context_is_lazy(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_LAZY) ? 1 : 0;
+}
+
+/**
+ * mnt_context_enable_fork:
+ * @cxt: mount context
+ * @enable: TRUE or FALSE
+ *
+ * Enable/disable fork(2) call in mnt_context_next_mount() (see mount(8) man
+ * page, option -F).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_enable_fork(struct libmnt_context *cxt, int enable)
+{
+ return set_flag(cxt, MNT_FL_FORK, enable);
+}
+
+/**
+ * mnt_context_is_fork:
+ * @cxt: mount context
+ *
+ * Returns: 1 if fork (mount -F) is enabled or 0
+ */
+int mnt_context_is_fork(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_FORK) ? 1 : 0;
+}
+
+/**
+ * mnt_context_is_parent:
+ * @cxt: mount context
+ *
+ * Return: 1 if mount -F enabled and the current context is parent, or 0
+ */
+int mnt_context_is_parent(struct libmnt_context *cxt)
+{
+ return mnt_context_is_fork(cxt) && cxt->pid == 0;
+}
+
+/**
+ * mnt_context_is_child:
+ * @cxt: mount context
+ *
+ * Return: 1 if mount -F enabled and the current context is child, or 0
+ */
+int mnt_context_is_child(struct libmnt_context *cxt)
+{
+ return !mnt_context_is_fork(cxt) && cxt->pid;
+}
+
+/**
+ * mnt_context_enable_rdonly_umount:
+ * @cxt: mount context
+ * @enable: TRUE or FALSE
+ *
+ * Enable/disable read-only remount on failed umount(2)
+ * (see umount(8) man page, option -r).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_enable_rdonly_umount(struct libmnt_context *cxt, int enable)
+{
+ return set_flag(cxt, MNT_FL_RDONLY_UMOUNT, enable);
+}
+
+/**
+ * mnt_context_is_rdonly_umount
+ * @cxt: mount context
+ *
+ * See also mnt_context_enable_rdonly_umount() and see umount(8) man page,
+ * option -r.
+ *
+ * Returns: 1 if read-only remount failed umount(2) is enables or 0
+ */
+int mnt_context_is_rdonly_umount(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_RDONLY_UMOUNT) ? 1 : 0;
+}
+
+/**
+ * mnt_context_disable_helpers:
+ * @cxt: mount context
+ * @disable: TRUE or FALSE
+ *
+ * Enable/disable /sbin/[u]mount.* helpers (see mount(8) man page, option -i).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_disable_helpers(struct libmnt_context *cxt, int disable)
+{
+ return set_flag(cxt, MNT_FL_NOHELPERS, disable);
+}
+
+/**
+ * mnt_context_is_nohelpers
+ * @cxt: mount context
+ *
+ * Returns: 1 if helpers are disabled (mount -i) or 0
+ */
+int mnt_context_is_nohelpers(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_NOHELPERS) ? 1 : 0;
+}
+
+
+/**
+ * mnt_context_enable_sloppy:
+ * @cxt: mount context
+ * @enable: TRUE or FALSE
+ *
+ * Set/unset sloppy mounting (see mount(8) man page, option -s).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_enable_sloppy(struct libmnt_context *cxt, int enable)
+{
+ return set_flag(cxt, MNT_FL_SLOPPY, enable);
+}
+
+/**
+ * mnt_context_is_sloppy:
+ * @cxt: mount context
+ *
+ * Returns: 1 if sloppy flag is enabled or 0
+ */
+int mnt_context_is_sloppy(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_SLOPPY) ? 1 : 0;
+}
+
+/**
+ * mnt_context_enable_fake:
+ * @cxt: mount context
+ * @enable: TRUE or FALSE
+ *
+ * Enable/disable fake mounting (see mount(8) man page, option -f).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_enable_fake(struct libmnt_context *cxt, int enable)
+{
+ return set_flag(cxt, MNT_FL_FAKE, enable);
+}
+
+/**
+ * mnt_context_is_fake:
+ * @cxt: mount context
+ *
+ * Returns: 1 if fake flag is enabled or 0
+ */
+int mnt_context_is_fake(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_FAKE) ? 1 : 0;
+}
+
+/**
+ * mnt_context_disable_mtab:
+ * @cxt: mount context
+ * @disable: TRUE or FALSE
+ *
+ * Disable/enable mtab update (see mount(8) man page, option -n).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_disable_mtab(struct libmnt_context *cxt, int disable)
+{
+ return set_flag(cxt, MNT_FL_NOMTAB, disable);
+}
+
+/**
+ * mnt_context_is_nomtab:
+ * @cxt: mount context
+ *
+ * Returns: 1 if no-mtab is enabled or 0
+ */
+int mnt_context_is_nomtab(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_NOMTAB) ? 1 : 0;
+}
+
+/**
+ * mnt_context_disable_swapmatch:
+ * @cxt: mount context
+ * @disable: TRUE or FALSE
+ *
+ * Disable/enable swap between source and target for mount(8) if only one path
+ * is specified.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_disable_swapmatch(struct libmnt_context *cxt, int disable)
+{
+ return set_flag(cxt, MNT_FL_NOSWAPMATCH, disable);
+}
+
+/**
+ * mnt_context_is_swapmatch:
+ * @cxt: mount context
+ *
+ * Returns: 1 if swap between source and target is allowed (default is 1) or 0.
+ */
+int mnt_context_is_swapmatch(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_NOSWAPMATCH) ? 0 : 1;
+}
+
+/**
+ * mnt_context_enable_force:
+ * @cxt: mount context
+ * @enable: TRUE or FALSE
+ *
+ * Enable/disable force umounting (see umount(8) man page, option -f).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_enable_force(struct libmnt_context *cxt, int enable)
+{
+ return set_flag(cxt, MNT_FL_FORCE, enable);
+}
+
+/**
+ * mnt_context_is_force
+ * @cxt: mount context
+ *
+ * Returns: 1 if force umounting flag is enabled or 0
+ */
+int mnt_context_is_force(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_FORCE) ? 1 : 0;
+}
+
+/**
+ * mnt_context_enable_verbose:
+ * @cxt: mount context
+ * @enable: TRUE or FALSE
+ *
+ * Enable/disable verbose output (TODO: not implemented yet)
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_enable_verbose(struct libmnt_context *cxt, int enable)
+{
+ return set_flag(cxt, MNT_FL_VERBOSE, enable);
+}
+
+/**
+ * mnt_context_is_verbose
+ * @cxt: mount context
+ *
+ * Returns: 1 if verbose flag is enabled or 0
+ */
+int mnt_context_is_verbose(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_VERBOSE) ? 1 : 0;
+}
+
+/**
+ * mnt_context_enable_loopdel:
+ * @cxt: mount context
+ * @enable: TRUE or FALSE
+ *
+ * Enable/disable loop delete (destroy) after umount (see umount(8), option -d)
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_enable_loopdel(struct libmnt_context *cxt, int enable)
+{
+ return set_flag(cxt, MNT_FL_LOOPDEL, enable);
+}
+
+/**
+ * mnt_context_is_loopdel:
+ * @cxt: mount context
+ *
+ * Returns: 1 if loop device should be deleted after umount (umount -d) or 0.
+ */
+int mnt_context_is_loopdel(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_LOOPDEL) ? 1 : 0;
+}
+
+/**
+ * mnt_context_set_fs:
+ * @cxt: mount context
+ * @fs: filesystem description
+ *
+ * The mount context uses private @fs by default. This function allows to
+ * overwrite the private @fs with an external instance. Note that the external
+ * @fs instance is not deallocated by mnt_free_context() or mnt_reset_context().
+ *
+ * The @fs will be modified by mnt_context_set_{source,target,options,fstype}
+ * functions, If the @fs is NULL then all current FS specific setting (source,
+ * target, etc., exclude spec) is reseted.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_fs(struct libmnt_context *cxt, struct libmnt_fs *fs)
+{
+ if (!cxt)
+ return -EINVAL;
+ if (!(cxt->flags & MNT_FL_EXTERN_FS))
+ mnt_free_fs(cxt->fs);
+
+ set_flag(cxt, MNT_FL_EXTERN_FS, fs != NULL);
+ cxt->fs = fs;
+ return 0;
+}
+
+/**
+ * mnt_context_get_fs:
+ * @cxt: mount context
+ *
+ * The FS contains the basic description of mountpoint, fs type and so on.
+ * Note that the FS is modified by mnt_context_set_{source,target,options,fstype}
+ * functions.
+ *
+ * Returns: pointer to FS description or NULL in case of calloc() errrr.
+ */
+struct libmnt_fs *mnt_context_get_fs(struct libmnt_context *cxt)
+{
+ if (!cxt)
+ return NULL;
+ if (!cxt->fs) {
+ cxt->fs = mnt_new_fs();
+ cxt->flags &= ~MNT_FL_EXTERN_FS;
+ }
+ return cxt->fs;
+}
+
+/**
+ * mnt_context_set_source:
+ * @cxt: mount context
+ * @source: mount source (device, directory, UUID, LABEL, ...)
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_source(struct libmnt_context *cxt, const char *source)
+{
+ return mnt_fs_set_source(mnt_context_get_fs(cxt), source);
+}
+
+/**
+ * mnt_context_get_source:
+ * @cxt: mount context
+ *
+ * Returns: returns pointer or NULL in case of error pr if not set.
+ */
+const char *mnt_context_get_source(struct libmnt_context *cxt)
+{
+ return mnt_fs_get_source(mnt_context_get_fs(cxt));
+}
+
+/**
+ * mnt_context_set_target:
+ * @cxt: mount context
+ * @target: mountpoint
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_target(struct libmnt_context *cxt, const char *target)
+{
+ return mnt_fs_set_target(mnt_context_get_fs(cxt), target);
+}
+
+/**
+ * mnt_context_get_target:
+ * @cxt: mount context
+ *
+ * Returns: returns pointer or NULL in case of error pr if not set.
+ */
+const char *mnt_context_get_target(struct libmnt_context *cxt)
+{
+ return mnt_fs_get_target(mnt_context_get_fs(cxt));
+}
+
+/**
+ * mnt_context_set_fstype:
+ * @cxt: mount context
+ * @fstype: filesystem type
+ *
+ * Note that the @fstype has to be the real FS type. For comma-separated list of
+ * filesystems or for "nofs" notation use mnt_context_set_fstype_pattern().
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_fstype(struct libmnt_context *cxt, const char *fstype)
+{
+ if (fstype && strchr(fstype, ','))
+ return -EINVAL;
+ return mnt_fs_set_fstype(mnt_context_get_fs(cxt), fstype);
+}
+
+/**
+ * mnt_context_get_fstype:
+ * @cxt: mount context
+ *
+ * Returns: pointer or NULL in case of error pr if not set.
+ */
+const char *mnt_context_get_fstype(struct libmnt_context *cxt)
+{
+ return mnt_fs_get_fstype(mnt_context_get_fs(cxt));
+}
+
+/**
+ * mnt_context_set_options:
+ * @cxt: mount context
+ * @optstr: comma delimited mount options
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_options(struct libmnt_context *cxt, const char *optstr)
+{
+ return mnt_fs_set_options(mnt_context_get_fs(cxt), optstr);
+}
+
+/**
+ * mnt_context_append_options:
+ * @cxt: mount context
+ * @optstr: comma delimited mount options
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_append_options(struct libmnt_context *cxt, const char *optstr)
+{
+ return mnt_fs_append_options(mnt_context_get_fs(cxt), optstr);
+}
+
+/**
+ * mnt_context_get_options:
+ * @cxt: mount context
+ *
+ * This function returns mount options set by mnt_context_set_options() or
+ * mnt_context_append_options().
+ *
+ * Note that *after* mnt_context_prepare_mount() may the mount options string
+ * also includes options set by mnt_context_set_mflags() or another options
+ * generated by this library.
+ *
+ * Returns: pointer or NULL
+ */
+const char *mnt_context_get_options(struct libmnt_context *cxt)
+{
+ return mnt_fs_get_options(mnt_context_get_fs(cxt));
+}
+
+/**
+ * mnt_context_set_fstype_pattern:
+ * @cxt: mount context
+ * @pattern: FS name pattern (or NULL to reset the current setting)
+ *
+ * See mount(8), option -t.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_fstype_pattern(struct libmnt_context *cxt, const char *pattern)
+{
+ char *p = NULL;
+
+ if (!cxt)
+ return -EINVAL;
+ if (pattern) {
+ p = strdup(pattern);
+ if (!p)
+ return -ENOMEM;
+ }
+ free(cxt->fstype_pattern);
+ cxt->fstype_pattern = p;
+ return 0;
+}
+
+/**
+ * mnt_context_set_options_pattern:
+ * @cxt: mount context
+ * @pattern: options pattern (or NULL to reset the current setting)
+ *
+ * See mount(8), option -O.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_options_pattern(struct libmnt_context *cxt, const char *pattern)
+{
+ char *p = NULL;
+
+ if (!cxt)
+ return -EINVAL;
+ if (pattern) {
+ p = strdup(pattern);
+ if (!p)
+ return -ENOMEM;
+ }
+ free(cxt->optstr_pattern);
+ cxt->optstr_pattern = p;
+ return 0;
+}
+
+/**
+ * mnt_context_set_fstab:
+ * @cxt: mount context
+ * @tb: fstab
+ *
+ * The mount context reads /etc/fstab to the the private struct libmnt_table by default.
+ * This function allows to overwrite the private fstab with an external
+ * instance. Note that the external instance is not deallocated by mnt_free_context().
+ *
+ * The fstab is used read-only and is not modified, it should be possible to
+ * share the fstab between more mount contexts (TODO: tests it.)
+ *
+ * If the @tb argument is NULL then the current private fstab instance is
+ * reseted.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_fstab(struct libmnt_context *cxt, struct libmnt_table *tb)
+{
+ if (!cxt)
+ return -EINVAL;
+ if (!(cxt->flags & MNT_FL_EXTERN_FSTAB))
+ mnt_free_table(cxt->fstab);
+
+ set_flag(cxt, MNT_FL_EXTERN_FSTAB, tb != NULL);
+ cxt->fstab = tb;
+ return 0;
+}
+
+/**
+ * mnt_context_get_fstab:
+ * @cxt: mount context
+ * @tb: returns fstab
+ *
+ * See also mnt_table_parse_fstab() for more details about fstab.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_get_fstab(struct libmnt_context *cxt, struct libmnt_table **tb)
+{
+ struct libmnt_cache *cache;
+
+ if (!cxt)
+ return -EINVAL;
+
+ if (!cxt->fstab) {
+ int rc;
+
+ cxt->fstab = mnt_new_table();
+ if (!cxt->fstab)
+ return -ENOMEM;
+ if (cxt->table_errcb)
+ mnt_table_set_parser_errcb(cxt->fstab, cxt->table_errcb);
+ cxt->flags &= ~MNT_FL_EXTERN_FSTAB;
+ rc = mnt_table_parse_fstab(cxt->fstab, NULL);
+ if (rc)
+ return rc;
+ }
+
+ cache = mnt_context_get_cache(cxt);
+
+ /* never touch an external fstab */
+ if (!(cxt->flags & MNT_FL_EXTERN_FSTAB))
+ mnt_table_set_cache(cxt->fstab, cache);
+
+ if (tb)
+ *tb = cxt->fstab;
+ return 0;
+}
+
+/**
+ * mnt_context_get_mtab:
+ * @cxt: mount context
+ * @tb: returns mtab
+ *
+ * See also mnt_table_parse_mtab() for more details about mtab/mountinfo. The
+ * result will deallocated by mnt_free_context(@cxt).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_get_mtab(struct libmnt_context *cxt, struct libmnt_table **tb)
+{
+ struct libmnt_cache *cache;
+
+ if (!cxt)
+ return -EINVAL;
+
+ if (!cxt->mtab) {
+ int rc;
+
+ cxt->mtab = mnt_new_table();
+ if (!cxt->mtab)
+ return -ENOMEM;
+
+ if (cxt->table_errcb)
+ mnt_table_set_parser_errcb(cxt->mtab, cxt->table_errcb);
+
+ rc = mnt_table_parse_mtab(cxt->mtab, cxt->mtab_path);
+ if (rc)
+ return rc;
+ }
+
+ cache = mnt_context_get_cache(cxt);
+ mnt_table_set_cache(cxt->mtab, cache);
+
+ if (tb)
+ *tb = cxt->mtab;
+ return 0;
+}
+
+/**
+ * mnt_context_get_table:
+ * @cxt: mount context
+ * @filename: e.g. /proc/self/mountinfo
+ * @tb: returns the table
+ *
+ * This function allocates a new table and parses the @file. The parser error
+ * callback and cache for tags and paths is set according to the @cxt setting.
+ * See also mnt_table_parse_file().
+ *
+ * It's strongly recommended use mnt_context_get_mtab() and
+ * mnt_context_get_fstab() functions for mtab and fstab files. This function
+ * does not care about LIBMOUNT_* env.variables and does not merge userspace
+ * options.
+ *
+ * The result will NOT be deallocated by mnt_free_context(@cxt).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_get_table(struct libmnt_context *cxt,
+ const char *filename, struct libmnt_table **tb)
+{
+ struct libmnt_cache *cache;
+ int rc;
+
+ if (!cxt || !tb)
+ return -EINVAL;
+
+ *tb = mnt_new_table();
+ if (!*tb)
+ return -ENOMEM;
+
+ if (cxt->table_errcb)
+ mnt_table_set_parser_errcb(*tb, cxt->table_errcb);
+
+ rc = mnt_table_parse_file(*tb, filename);
+ if (rc) {
+ mnt_free_table(*tb);
+ return rc;
+ }
+
+ cache = mnt_context_get_cache(cxt);
+ if (cache)
+ mnt_table_set_cache(*tb, cache);
+
+ return 0;
+}
+
+/**
+ * mnt_context_set_tables_errcb
+ * @cxt: mount context
+ * @cb: pointer to callback function
+ *
+ * The error callback is used for all tab files (e.g. mtab, fstab)
+ * parsed within the context.
+ *
+ * See also mnt_context_get_mtab(),
+ * mnt_context_get_fstab(),
+ * mnt_table_set_parser_errcb().
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_tables_errcb(struct libmnt_context *cxt,
+ int (*cb)(struct libmnt_table *tb, const char *filename, int line))
+{
+ if (!cxt)
+ return -EINVAL;
+
+ cxt->table_errcb = cb;
+ return 0;
+}
+
+/**
+ * mnt_context_set_cache:
+ * @cxt: mount context
+ * @cache: cache instance or nULL
+ *
+ * The mount context maintains a private struct libmnt_cache by default. This function
+ * allows to overwrite the private cache with an external instance. Note that
+ * the external instance is not deallocated by mnt_free_context().
+ *
+ * If the @cache argument is NULL then the current private cache instance is
+ * reseted.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_cache(struct libmnt_context *cxt, struct libmnt_cache *cache)
+{
+ if (!cxt)
+ return -EINVAL;
+ if (!(cxt->flags & MNT_FL_EXTERN_CACHE))
+ mnt_free_cache(cxt->cache);
+
+ set_flag(cxt, MNT_FL_EXTERN_CACHE, cache != NULL);
+ cxt->cache = cache;
+ return 0;
+}
+
+/**
+ * mnt_context_get_cache
+ * @cxt: mount context
+ *
+ * See also mnt_context_set_cache().
+ *
+ * Returns: pointer to cache or NULL if canonicalization is disabled.
+ */
+struct libmnt_cache *mnt_context_get_cache(struct libmnt_context *cxt)
+{
+ if (!cxt || mnt_context_is_nocanonicalize(cxt))
+ return NULL;
+
+ if (!cxt->cache) {
+ cxt->cache = mnt_new_cache();
+ if (!cxt->cache)
+ return NULL;
+ cxt->flags &= ~MNT_FL_EXTERN_CACHE;
+ }
+ return cxt->cache;
+}
+
+/**
+ * mnt_context_set_passwd_cb:
+ * @cxt: mount context
+ * @get: callback to get password
+ * @release: callback to release (delallocate) password
+ *
+ * Sets callbacks for encryption password (e.g encrypted loopdev)
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_passwd_cb(struct libmnt_context *cxt,
+ char *(*get)(struct libmnt_context *),
+ void (*release)(struct libmnt_context *, char *))
+{
+ if (!cxt)
+ return -EINVAL;
+
+ cxt->pwd_get_cb = get;
+ cxt->pwd_release_cb = release;
+ return 0;
+}
+
+/**
+ * mnt_context_get_lock:
+ * @cxt: mount context
+ *
+ * The libmount applications don't have to care about mtab locking, but with a
+ * small exception: the application has to be able to remove the lock file when
+ * interrupted by signal or signals have to be ignored when the lock is locked.
+ *
+ * The default behavior is to ignore all signals (except SIGALRM and
+ * SIGTRAP for mtab udate) when the lock is locked. If this behavior
+ * is unacceptable then use:
+ *
+ * lc = mnt_context_get_lock(cxt);
+ * if (lc)
+ * mnt_lock_block_signals(lc, FALSE);
+ *
+ * and don't forget to call mnt_unlock_file(lc) before exit.
+ *
+ * Returns: pointer to lock struct or NULL.
+ */
+struct libmnt_lock *mnt_context_get_lock(struct libmnt_context *cxt)
+{
+ /*
+ * DON'T call this function within libmount, it will always allocate
+ * the lock. The mnt_update_* functions are able to allocate the lock
+ * only when mtab/utab update is really necessary.
+ */
+ if (!cxt || mnt_context_is_nomtab(cxt))
+ return NULL;
+
+ if (!cxt->lock) {
+ cxt->lock = mnt_new_lock(cxt->mtab_writable ?
+ cxt->mtab_path : cxt->utab_path, 0);
+ if (cxt->lock)
+ mnt_lock_block_signals(cxt->lock, TRUE);
+ }
+ return cxt->lock;
+}
+
+/**
+ * mnt_context_set_mflags:
+ * @cxt: mount context
+ * @flags: mount(2) flags (MS_* flags)
+ *
+ * Sets mount flags (see mount(2) man page).
+ *
+ * Note that mount context allows to define mount options by mount flags. It
+ * means you can for example use
+ *
+ * mnt_context_set_mflags(cxt, MS_NOEXEC | MS_NOSUID);
+ *
+ * rather than
+ *
+ * mnt_context_set_options(cxt, "noexec,nosuid");
+ *
+ * these both calls have the same effect.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_mflags(struct libmnt_context *cxt, unsigned long flags)
+{
+ if (!cxt)
+ return -EINVAL;
+
+ cxt->mountflags = flags;
+
+ if ((cxt->flags & MNT_FL_MOUNTOPTS_FIXED) && cxt->fs)
+ /*
+ * the final mount options are already generated, refresh...
+ */
+ return mnt_optstr_apply_flags(
+ &cxt->fs->vfs_optstr,
+ cxt->mountflags,
+ mnt_get_builtin_optmap(MNT_LINUX_MAP));
+
+ return 0;
+}
+
+/**
+ * mnt_context_get_mflags:
+ * @cxt: mount context
+ * @flags: returns MS_* mount flags
+ *
+ * Converts mount options string to MS_* flags and bitewise-OR the result with
+ * already defined flags (see mnt_context_set_mflags()).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_get_mflags(struct libmnt_context *cxt, unsigned long *flags)
+{
+ int rc = 0;
+ if (!cxt || !flags)
+ return -EINVAL;
+
+ *flags = 0;
+ if (!(cxt->flags & MNT_FL_MOUNTFLAGS_MERGED) && cxt->fs) {
+ const char *o = mnt_fs_get_options(cxt->fs);
+ if (o)
+ rc = mnt_optstr_get_flags(o, flags,
+ mnt_get_builtin_optmap(MNT_LINUX_MAP));
+ }
+ if (!rc)
+ *flags |= cxt->mountflags;
+ return rc;
+}
+
+/**
+ * mnt_context_set_user_mflags:
+ * @cxt: mount context
+ * @flags: mount(2) flags (MNT_MS_* flags, e.g. MNT_MS_LOOP)
+ *
+ * Sets userspace mount flags.
+ *
+ * See also notest for mnt_context_set_mflags().
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_user_mflags(struct libmnt_context *cxt, unsigned long flags)
+{
+ if (!cxt)
+ return -EINVAL;
+ cxt->user_mountflags = flags;
+ return 0;
+}
+
+/**
+ * mnt_context_get_user_mflags:
+ * @cxt: mount context
+ * @flags: returns mount flags
+ *
+ * Converts mount options string to MNT_MS_* flags and bitewise-OR the result
+ * with already defined flags (see mnt_context_set_user_mflags()).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_get_user_mflags(struct libmnt_context *cxt, unsigned long *flags)
+{
+ int rc = 0;
+ if (!cxt || !flags)
+ return -EINVAL;
+
+ *flags = 0;
+ if (!(cxt->flags & MNT_FL_MOUNTFLAGS_MERGED) && cxt->fs) {
+ const char *o = mnt_fs_get_user_options(cxt->fs);
+ if (o)
+ rc = mnt_optstr_get_flags(o, flags,
+ mnt_get_builtin_optmap(MNT_USERSPACE_MAP));
+ }
+ if (!rc)
+ *flags |= cxt->user_mountflags;
+ return rc;
+}
+
+/**
+ * mnt_context_set_mountdata:
+ * @cxt: mount context
+ * @data: mount(2) data
+ *
+ * The mount context generates mountdata from mount options by default. This
+ * function allows to overwrite this behavior, and @data will be used instead
+ * of mount options.
+ *
+ * The libmount does not deallocated the data by mnt_free_context(). Note that
+ * NULL is also valid mount data.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_set_mountdata(struct libmnt_context *cxt, void *data)
+{
+ if (!cxt)
+ return -EINVAL;
+ cxt->mountdata = data;
+ cxt->flags |= MNT_FL_MOUNTDATA;
+ return 0;
+}
+
+/*
+ * Translates LABEL/UUID/path to mountable path
+ */
+int mnt_context_prepare_srcpath(struct libmnt_context *cxt)
+{
+ const char *path = NULL;
+ struct libmnt_cache *cache;
+ const char *t, *v, *src;
+ int rc = 0;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!cxt || !cxt->fs)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug_h(cxt, "preparing source path"));
+
+ src = mnt_fs_get_source(cxt->fs);
+
+ if (!src && (cxt->mountflags & MS_PROPAGATION))
+ /* mount --make-{shared,private,...} */
+ return mnt_fs_set_source(cxt->fs, "none");
+
+ /* ignore filesystems without source or filesystems
+ * where the source is quasi-path (//foo/bar)
+ */
+ if (!src || mnt_fs_is_netfs(cxt->fs))
+ return 0;
+
+ DBG(CXT, mnt_debug_h(cxt, "srcpath '%s'", src));
+
+ cache = mnt_context_get_cache(cxt);
+
+ if (!mnt_fs_get_tag(cxt->fs, &t, &v)) {
+ /*
+ * Source is TAG (evaluate)
+ */
+ if (cache)
+ path = mnt_resolve_tag(t, v, cache);
+
+ rc = path ? mnt_fs_set_source(cxt->fs, path) : -MNT_ERR_NOSOURCE;
+
+ } else if (cache && !mnt_fs_is_pseudofs(cxt->fs)) {
+ /*
+ * Source is PATH (canonicalize)
+ */
+ path = mnt_resolve_path(src, cache);
+ if (path && strcmp(path, src))
+ rc = mnt_fs_set_source(cxt->fs, path);
+ }
+
+ if (rc) {
+ DBG(CXT, mnt_debug_h(cxt, "failed to prepare srcpath [rc=%d]", rc));
+ return rc;
+ }
+
+ if (!path)
+ path = src;
+
+ if ((cxt->mountflags & (MS_BIND | MS_MOVE | MS_PROPAGATION)) ||
+ mnt_fs_is_pseudofs(cxt->fs)) {
+ DBG(CXT, mnt_debug_h(cxt, "BIND/MOVE/pseudo FS source: %s", path));
+ return rc;
+ }
+
+ /*
+ * Initialize loop device
+ */
+ if (mnt_context_is_loopdev(cxt)) {
+ rc = mnt_context_setup_loopdev(cxt);
+ if (rc)
+ return rc;
+ }
+
+ DBG(CXT, mnt_debug_h(cxt, "final srcpath '%s'",
+ mnt_fs_get_source(cxt->fs)));
+ return 0;
+}
+
+int mnt_context_prepare_target(struct libmnt_context *cxt)
+{
+ const char *tgt;
+ struct libmnt_cache *cache;
+ int rc = 0;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!cxt || !cxt->fs)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug_h(cxt, "preparing target path"));
+
+ tgt = mnt_fs_get_target(cxt->fs);
+ if (!tgt)
+ return 0;
+
+ cache = mnt_context_get_cache(cxt);
+ if (cache) {
+ char *path = mnt_resolve_path(tgt, cache);
+ if (path && strcmp(path, tgt) != 0)
+ rc = mnt_fs_set_target(cxt->fs, path);
+ }
+
+ if (rc)
+ DBG(CXT, mnt_debug_h(cxt, "failed to prepare target '%s'", tgt));
+ else
+ DBG(CXT, mnt_debug_h(cxt, "final target '%s'",
+ mnt_fs_get_target(cxt->fs)));
+ return 0;
+}
+
+/*
+ * It's usully no error when we're not able to detect filesystem type -- we
+ * will try to use types from /{etc,proc}/filesystems.
+ */
+int mnt_context_guess_fstype(struct libmnt_context *cxt)
+{
+ char *type;
+ const char *dev;
+ int rc = 0;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!cxt || !cxt->fs)
+ return -EINVAL;
+
+ if (cxt->mountflags & (MS_BIND | MS_MOVE | MS_PROPAGATION))
+ goto none;
+
+ type = (char *) mnt_fs_get_fstype(cxt->fs);
+ if (type && !strcmp(type, "auto")) {
+ mnt_fs_set_fstype(cxt->fs, NULL);
+ type = NULL;
+ }
+
+ if (type)
+ goto done;
+ if (cxt->flags & MS_REMOUNT)
+ goto none;
+ if (cxt->fstype_pattern)
+ goto done;
+
+ dev = mnt_fs_get_srcpath(cxt->fs);
+ if (!dev)
+ goto done;
+
+ if (access(dev, F_OK) == 0) {
+ struct libmnt_cache *cache = mnt_context_get_cache(cxt);
+
+ type = mnt_get_fstype(dev, &cxt->ambi, cache);
+ if (type) {
+ rc = mnt_fs_set_fstype(cxt->fs, type);
+ if (!cache)
+ free(type); /* type is not cached */
+ }
+ } else {
+ if (strchr(dev, ':') != NULL)
+ rc = mnt_fs_set_fstype(cxt->fs, "nfs");
+ else if (!strncmp(dev, "//", 2))
+ rc = mnt_fs_set_fstype(cxt->fs, "cifs");
+ }
+
+done:
+ DBG(CXT, mnt_debug_h(cxt, "FS type: %s", mnt_fs_get_fstype(cxt->fs)));
+ return rc;
+none:
+ return mnt_fs_set_fstype(cxt->fs, "none");
+}
+
+/*
+ * The default is to use fstype from cxt->fs, this could be overwritten by
+ * @type. The @act is MNT_ACT_{MOUNT,UMOUNT}.
+ *
+ * Returns: 0 on success or negative number in case of error. Note that success
+ * does not mean that there is any usable helper, you have to check cxt->helper.
+ */
+int mnt_context_prepare_helper(struct libmnt_context *cxt, const char *name,
+ const char *type)
+{
+ char search_path[] = FS_SEARCH_PATH; /* from config.h */
+ char *p = NULL, *path;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!type)
+ type = mnt_fs_get_fstype(cxt->fs);
+
+ if (mnt_context_is_nohelpers(cxt)
+ || !type
+ || !strcmp(type, "none")
+ || mnt_fs_is_swaparea(cxt->fs))
+ return 0;
+
+ path = strtok_r(search_path, ":", &p);
+ while (path) {
+ char helper[PATH_MAX];
+ struct stat st;
+ int rc;
+
+ rc = snprintf(helper, sizeof(helper), "%s/%s.%s",
+ path, name, type);
+ path = strtok_r(NULL, ":", &p);
+
+ if (rc < 0 || (size_t) rc >= sizeof(helper))
+ continue;
+
+ rc = stat(helper, &st);
+ if (rc == -1 && errno == ENOENT && strchr(type, '.')) {
+ /* If type ends with ".subtype" try without it */
+ char *hs = strrchr(helper, '.');
+ if (hs)
+ *hs = '\0';
+ rc = stat(helper, &st);
+ }
+
+ DBG(CXT, mnt_debug_h(cxt, "%-25s ... %s", helper,
+ rc ? "not found" : "found"));
+ if (rc)
+ continue;
+
+ free(cxt->helper);
+ cxt->helper = strdup(helper);
+ if (!cxt->helper)
+ return -ENOMEM;
+ return 0;
+ }
+
+ return 0;
+}
+
+int mnt_context_merge_mflags(struct libmnt_context *cxt)
+{
+ unsigned long fl = 0;
+ int rc;
+
+ assert(cxt);
+
+ DBG(CXT, mnt_debug_h(cxt, "merging mount flags"));
+
+ rc = mnt_context_get_mflags(cxt, &fl);
+ if (rc)
+ return rc;
+ cxt->mountflags = fl;
+
+ fl = 0;
+ rc = mnt_context_get_user_mflags(cxt, &fl);
+ if (rc)
+ return rc;
+ cxt->user_mountflags = fl;
+
+ DBG(CXT, mnt_debug_h(cxt, "final flags: VFS=%08lx user=%08lx",
+ cxt->mountflags, cxt->user_mountflags));
+
+ cxt->flags |= MNT_FL_MOUNTFLAGS_MERGED;
+ return 0;
+}
+
+/*
+ * Prepare /etc/mtab or /run/mount/utab
+ */
+int mnt_context_prepare_update(struct libmnt_context *cxt)
+{
+ int rc;
+ const char *target;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(cxt->action);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ DBG(CXT, mnt_debug_h(cxt, "prepare update"));
+
+ if (cxt->mountflags & MS_PROPAGATION) {
+ DBG(CXT, mnt_debug_h(cxt, "skip update: MS_PROPAGATION"));
+ return 0;
+ }
+
+ target = mnt_fs_get_target(cxt->fs);
+
+ if (cxt->action == MNT_ACT_UMOUNT && target && !strcmp(target, "/"))
+ /* Don't try to touch mtab if umounting root FS */
+ mnt_context_disable_mtab(cxt, TRUE);
+
+ if (mnt_context_is_nomtab(cxt)) {
+ DBG(CXT, mnt_debug_h(cxt, "skip update: NOMTAB flag"));
+ return 0;
+ }
+ if (cxt->helper) {
+ DBG(CXT, mnt_debug_h(cxt, "skip update: external helper"));
+ return 0;
+ }
+ if (!cxt->mtab_writable && !cxt->utab_writable) {
+ DBG(CXT, mnt_debug_h(cxt, "skip update: no writable destination"));
+ return 0;
+ }
+ /* 0 = success, 1 = not called yet */
+ if (cxt->syscall_status != 1 && cxt->syscall_status != 0) {
+ DBG(CXT, mnt_debug_h(cxt,
+ "skip update: syscall failed [status=%d]",
+ cxt->syscall_status));
+ return 0;
+ }
+ if (!cxt->update) {
+ cxt->update = mnt_new_update();
+ if (!cxt->update)
+ return -ENOMEM;
+
+ mnt_update_set_filename(cxt->update,
+ cxt->mtab_writable ? cxt->mtab_path : cxt->utab_path,
+ !cxt->mtab_writable);
+ }
+
+ if (cxt->action == MNT_ACT_UMOUNT)
+ rc = mnt_update_set_fs(cxt->update, cxt->mountflags,
+ mnt_context_get_target(cxt), NULL);
+ else
+ rc = mnt_update_set_fs(cxt->update, cxt->mountflags,
+ NULL, cxt->fs);
+
+ return rc < 0 ? rc : 0;
+}
+
+int mnt_context_update_tabs(struct libmnt_context *cxt)
+{
+ unsigned long fl;
+
+ assert(cxt);
+
+ if (mnt_context_is_nomtab(cxt)) {
+ DBG(CXT, mnt_debug_h(cxt, "don't update: NOMTAB flag"));
+ return 0;
+ }
+ if (cxt->helper) {
+ DBG(CXT, mnt_debug_h(cxt, "don't update: external helper"));
+ return 0;
+ }
+ if (!cxt->update || !mnt_update_is_ready(cxt->update)) {
+ DBG(CXT, mnt_debug_h(cxt, "don't update: no update prepared"));
+ return 0;
+ }
+ if (cxt->syscall_status) {
+ DBG(CXT, mnt_debug_h(cxt, "don't update: syscall failed/not called"));
+ return 0;
+ }
+
+ fl = mnt_update_get_mflags(cxt->update);
+ if ((cxt->mountflags & MS_RDONLY) != (fl & MS_RDONLY))
+ /*
+ * fix MS_RDONLY in options
+ */
+ mnt_update_force_rdonly(cxt->update,
+ cxt->mountflags & MS_RDONLY);
+
+ return mnt_update_table(cxt->update, cxt->lock);
+}
+
+static int apply_table(struct libmnt_context *cxt, struct libmnt_table *tb,
+ int direction)
+{
+ struct libmnt_fs *fs = NULL;
+ const char *src = NULL, *tgt = NULL;
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+
+ if (!cxt->fs)
+ return -EINVAL;
+
+ src = mnt_fs_get_source(cxt->fs);
+ tgt = mnt_fs_get_target(cxt->fs);
+
+ if (tgt && src)
+ fs = mnt_table_find_pair(tb, src, tgt, direction);
+ else {
+ if (src)
+ fs = mnt_table_find_source(tb, src, direction);
+ else if (tgt)
+ fs = mnt_table_find_target(tb, tgt, direction);
+
+ if (!fs && mnt_context_is_swapmatch(cxt)) {
+ /* swap source and target (if @src is not LABEL/UUID),
+ * for example in
+ *
+ * mount /foo/bar
+ *
+ * the path could be a mountpoint as well as source (for
+ * example bind mount, symlink to device, ...).
+ */
+ if (src && !mnt_fs_get_tag(cxt->fs, NULL, NULL))
+ fs = mnt_table_find_target(tb, src, direction);
+ if (!fs && tgt)
+ fs = mnt_table_find_source(tb, tgt, direction);
+ }
+ }
+
+ if (!fs)
+ return -MNT_ERR_NOFSTAB; /* not found */
+
+ DBG(CXT, mnt_debug_h(cxt, "apply entry:"));
+ DBG(CXT, mnt_fs_print_debug(fs, stderr));
+
+ /* copy from tab to our FS description
+ */
+ rc = mnt_fs_set_source(cxt->fs, mnt_fs_get_source(fs));
+ if (!rc)
+ rc = mnt_fs_set_target(cxt->fs, mnt_fs_get_target(fs));
+
+ if (!rc && !mnt_fs_get_fstype(cxt->fs))
+ rc = mnt_fs_set_fstype(cxt->fs, mnt_fs_get_fstype(fs));
+
+ if (rc)
+ return rc;
+
+ if (cxt->optsmode & MNT_OMODE_IGNORE)
+ ;
+ else if (cxt->optsmode & MNT_OMODE_REPLACE)
+ rc = mnt_fs_set_options(cxt->fs, mnt_fs_get_options(fs));
+
+ else if (cxt->optsmode & MNT_OMODE_APPEND)
+ rc = mnt_fs_append_options(cxt->fs, mnt_fs_get_options(fs));
+
+ else if (cxt->optsmode & MNT_OMODE_PREPEND)
+ rc = mnt_fs_prepend_options(cxt->fs, mnt_fs_get_options(fs));
+
+ if (!rc)
+ cxt->flags |= MNT_FL_TAB_APPLIED;
+ return rc;
+}
+
+/**
+ * mnt_context_apply_fstab:
+ * @cxt: mount context
+ *
+ * This function is optional.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_apply_fstab(struct libmnt_context *cxt)
+{
+ int rc = -1;
+ struct libmnt_table *tab = NULL;
+ const char *src = NULL, *tgt = NULL;
+
+ assert(cxt);
+ assert(cxt->fs);
+
+ if (!cxt)
+ return -EINVAL;
+
+ if (mnt_context_tab_applied(cxt)) /* already applied */
+ return 0;
+
+ if (mnt_context_is_restricted(cxt)) {
+ DBG(CXT, mnt_debug_h(cxt, "force fstab usage for non-root users!"));
+ cxt->optsmode = MNT_OMODE_USER;
+ } else if (cxt->optsmode == 0) {
+ DBG(CXT, mnt_debug_h(cxt, "use default optmode"));
+ cxt->optsmode = MNT_OMODE_AUTO;
+ } else if (cxt->optsmode & MNT_OMODE_NOTAB) {
+ cxt->optsmode &= ~MNT_OMODE_FSTAB;
+ cxt->optsmode &= ~MNT_OMODE_MTAB;
+ cxt->optsmode &= ~MNT_OMODE_FORCE;
+ }
+
+ if (cxt->fs) {
+ src = mnt_fs_get_source(cxt->fs);
+ tgt = mnt_fs_get_target(cxt->fs);
+ }
+
+ DBG(CXT, mnt_debug_h(cxt, "OPTSMODE: ignore=%d, append=%d, prepend=%d, "
+ "replace=%d, force=%d, fstab=%d, mtab=%d",
+ cxt->optsmode & MNT_OMODE_IGNORE ? 1 : 0,
+ cxt->optsmode & MNT_OMODE_APPEND ? 1 : 0,
+ cxt->optsmode & MNT_OMODE_PREPEND ? 1 : 0,
+ cxt->optsmode & MNT_OMODE_REPLACE ? 1 : 0,
+ cxt->optsmode & MNT_OMODE_FORCE ? 1 : 0,
+ cxt->optsmode & MNT_OMODE_FSTAB ? 1 : 0,
+ cxt->optsmode & MNT_OMODE_MTAB ? 1 : 0));
+
+ /* fstab is not required if source and target are specified */
+ if (src && tgt && !(cxt->optsmode & MNT_OMODE_FORCE)) {
+ DBG(CXT, mnt_debug_h(cxt, "fstab not required -- skip"));
+ return 0;
+ }
+
+ if (!src && tgt
+ && !(cxt->optsmode & MNT_OMODE_FSTAB)
+ && !(cxt->optsmode & MNT_OMODE_MTAB)) {
+ DBG(CXT, mnt_debug_h(cxt, "only target; fstab/mtab not required "
+ "-- skip, probably MS_PROPAGATION"));
+ return 0;
+ }
+
+ DBG(CXT, mnt_debug_h(cxt,
+ "trying to apply fstab (src=%s, target=%s)", src, tgt));
+
+ /* let's initialize cxt->fs */
+ mnt_context_get_fs(cxt);
+
+ /* try fstab */
+ if (cxt->optsmode & MNT_OMODE_FSTAB) {
+ rc = mnt_context_get_fstab(cxt, &tab);
+ if (!rc)
+ rc = apply_table(cxt, tab, MNT_ITER_FORWARD);
+ }
+
+ /* try mtab */
+ if (rc < 0 && (cxt->optsmode & MNT_OMODE_MTAB)) {
+ DBG(CXT, mnt_debug_h(cxt, "trying to apply from mtab"));
+ rc = mnt_context_get_mtab(cxt, &tab);
+ if (!rc)
+ rc = apply_table(cxt, tab, MNT_ITER_BACKWARD);
+ }
+ if (rc)
+ DBG(CXT, mnt_debug_h(cxt, "failed to find entry in fstab/mtab"));
+ return rc;
+}
+
+/**
+ * mnt_context_tab_applied:
+ * @cxt: mount context
+ *
+ * Returns: 1 if fstab (or mtab) has been applied to the context, or 0.
+ */
+int mnt_context_tab_applied(struct libmnt_context *cxt)
+{
+ return cxt && (cxt->flags & MNT_FL_TAB_APPLIED);
+}
+
+/**
+ * mnt_context_get_status:
+ * @cxt: mount context
+ *
+ * Global libmount status.
+ *
+ * The real exit code of the mount.type helper has to be tested by
+ * mnt_context_get_helper_status(). The mnt_context_get_status() only inform
+ * that exec() has been successful.
+ *
+ * Returns: 1 if mount.type or mount(2) syscall has been successfully called.
+ */
+int mnt_context_get_status(struct libmnt_context *cxt)
+{
+ return cxt && (!cxt->syscall_status || !cxt->helper_exec_status);
+}
+
+/**
+ * mnt_context_helper_executed:
+ * @cxt: mount context
+ *
+ * Returns: 1 if mount.type helper has been executed, or 0.
+ */
+int mnt_context_helper_executed(struct libmnt_context *cxt)
+{
+ return cxt->helper_exec_status != 1;
+}
+
+/**
+ * mnt_context_get_helper_status:
+ * @cxt: mount context
+ *
+ * Return: mount.type helper exit status, result is reliable only if
+ * mnt_context_helper_executed() returns 1.
+ */
+int mnt_context_get_helper_status(struct libmnt_context *cxt)
+{
+ return cxt->helper_status;
+}
+
+/**
+ * mnt_context_syscall_called:
+ * @cxt: mount context
+ *
+ * Returns: 1 if mount(2) syscall has been called, or 0.
+ */
+int mnt_context_syscall_called(struct libmnt_context *cxt)
+{
+ return cxt->syscall_status != 1;
+}
+
+/**
+ * mnt_context_get_syscall_errno:
+ * @cxt: mount context
+ *
+ * The result from this function is reliable only if
+ * mnt_context_syscall_called() returns 1.
+ *
+ * Returns: mount(2) errno if the syscall failed or 0.
+ */
+int mnt_context_get_syscall_errno(struct libmnt_context *cxt)
+{
+ if (cxt->syscall_status < 0)
+ return -cxt->syscall_status;
+
+ return 0;
+}
+
+/**
+ * mnt_context_set_syscall_status:
+ * @cxt: mount context
+ * @status: mount(2) status
+ *
+ * The @status should be 0 on success, or negative number on error (-errno).
+ *
+ * This function should be used only if [u]mount(2) syscall is NOT called by
+ * libmount code.
+ *
+ * Returns: 0 or negative number in case of error.
+ */
+int mnt_context_set_syscall_status(struct libmnt_context *cxt, int status)
+{
+ if (!cxt)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug_h(cxt, "syscall status set to: %d", status));
+ cxt->syscall_status = status;
+ return 0;
+}
+
+/**
+ * mnt_context_strerror
+ * @cxt: context
+ * @buf: buffer
+ * @bufsiz: size of the buffer
+ *
+ * Not implemented yet.
+ *
+ * Returns: 0 or negative number in case of error.
+ */
+int mnt_context_strerror(struct libmnt_context *cxt __attribute__((__unused__)),
+ char *buf __attribute__((__unused__)),
+ size_t bufsiz __attribute__((__unused__)))
+{
+ /* TODO: based on cxt->syscall_errno or cxt->helper_status */
+ return 0;
+}
+
+/**
+ * mnt_context_init_helper
+ * @cxt: mount context
+ * @action: MNT_ACT_{UMOUNT,MOUNT}
+ * @flags: not used now
+ *
+ * This function infors libmount that used from [u]mount.type helper.
+ *
+ * The function also calls mnt_context_disable_helpers() to avoid recursive
+ * mount.type helpers calling. It you really want to call another
+ * mount.type helper from your helper than you have to explicitly enable this
+ * feature by:
+ *
+ * mnt_context_disable_helpers(cxt, FALSE);
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_context_init_helper(struct libmnt_context *cxt, int action,
+ int flags __attribute__((__unused__)))
+{
+ int rc = mnt_context_disable_helpers(cxt, TRUE);
+
+ if (!rc)
+ rc = set_flag(cxt, MNT_FL_HELPER, 1);
+ if (!rc)
+ cxt->action = action;
+
+ DBG(CXT, mnt_debug_h(cxt, "initialized for [u]mount.<type> helper [rc=%d]", rc));
+ return rc;
+}
+
+/**
+ * mnt_context_helper_setopt:
+ * @cxt: context
+ * @c: getopt() result
+ * @arg: getopt() optarg
+ *
+ * This function applies [u]mount.type command line option (for example parsed
+ * by getopt or getopt_long) to @cxt. All unknown options are ignored and
+ * then 1 is returned.
+ *
+ * Returns: negative number on error, 1 if @c is unknown option, 0 on success.
+ */
+int mnt_context_helper_setopt(struct libmnt_context *cxt, int c, char *arg)
+{
+ if (cxt) {
+ switch(cxt->action) {
+ case MNT_ACT_MOUNT:
+ return mnt_context_mount_setopt(cxt, c, arg);
+ case MNT_ACT_UMOUNT:
+ return mnt_context_umount_setopt(cxt, c, arg);
+ }
+ }
+ return -EINVAL;
+}
+
+/**
+ * mnt_context_is_fs_mounted:
+ * @cxt: context
+ * @fs: filesystem
+ * @mounted: returns 1 for mounted and 0 for non-mounted filesystems
+ *
+ * Please, read mnt_table_is_fs_mounted() description!
+ *
+ * Returns: 0 on success and negative number in case of error.
+ */
+int mnt_context_is_fs_mounted(struct libmnt_context *cxt,
+ struct libmnt_fs *fs, int *mounted)
+{
+ struct libmnt_table *mtab;
+ int rc;
+
+ if (!cxt || !fs || !mounted)
+ return -EINVAL;
+
+ rc = mnt_context_get_mtab(cxt, &mtab);
+ if (rc)
+ return rc;
+
+ *mounted = mnt_table_is_fs_mounted(mtab, fs);
+ return 0;
+}
+
+static int mnt_context_add_child(struct libmnt_context *cxt, pid_t pid)
+{
+ pid_t *pids;
+
+ if (!cxt)
+ return -EINVAL;
+
+ pids = realloc(cxt->children, sizeof(pid_t) * cxt->nchildren + 1);
+ if (!pids)
+ return -ENOMEM;
+
+ DBG(CXT, mnt_debug_h(cxt, "add new child %d", pid));
+ cxt->children = pids;
+ cxt->children[cxt->nchildren++] = pid;
+
+ return 0;
+}
+
+int mnt_fork_context(struct libmnt_context *cxt)
+{
+ int rc = 0;
+ pid_t pid;
+
+ if (!mnt_context_is_parent(cxt))
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug_h(cxt, "forking context"));
+
+ DBG_FLUSH;
+
+ pid = fork();
+
+ switch (pid) {
+ case -1: /* error */
+ DBG(CXT, mnt_debug_h(cxt, "fork failed %m"));
+ return -errno;
+
+ case 0: /* child */
+ cxt->pid = getpid();
+ mnt_context_enable_fork(cxt, FALSE);
+ DBG(CXT, mnt_debug_h(cxt, "child created"));
+ break;
+
+ default:
+ rc = mnt_context_add_child(cxt, pid);
+ break;
+ }
+
+ return rc;
+}
+
+int mnt_context_wait_for_children(struct libmnt_context *cxt,
+ int *nchildren, int *nerrs)
+{
+ int i;
+
+ if (!cxt)
+ return -EINVAL;
+
+ assert(mnt_context_is_parent(cxt));
+
+ for (i = 0; i < cxt->nchildren; i++) {
+ pid_t pid = cxt->children[i];
+ int rc = 0, ret = 0;
+
+ if (!pid)
+ continue;
+ do {
+ DBG(CXT, mnt_debug_h(cxt,
+ "waiting for child (%d/%d): %d",
+ i + 1, cxt->nchildren, pid));
+ errno = 0;
+ rc = waitpid(pid, &ret, 0);
+
+ } while (rc == -1 && errno == EINTR);
+
+ if (nchildren)
+ (*nchildren)++;
+
+ if (rc != -1 && nerrs) {
+ if (WIFEXITED(ret))
+ (*nerrs) += WEXITSTATUS(ret) == 0 ? 0 : 1;
+ else
+ (*nerrs)++;
+ }
+ cxt->children[i] = 0;
+ }
+
+ cxt->nchildren = 0;
+ free(cxt->children);
+ cxt->children = NULL;
+ return 0;
+}
+
+
+
+#ifdef TEST_PROGRAM
+
+struct libmnt_lock *lock;
+
+static void lock_fallback(void)
+{
+ if (lock)
+ mnt_unlock_file(lock);
+}
+
+int test_mount(struct libmnt_test *ts, int argc, char *argv[])
+{
+ int idx = 1, rc = 0;
+ struct libmnt_context *cxt;
+
+ if (argc < 2)
+ return -EINVAL;
+
+ cxt = mnt_new_context();
+ if (!cxt)
+ return -ENOMEM;
+
+ if (!strcmp(argv[idx], "-o")) {
+ mnt_context_set_options(cxt, argv[idx + 1]);
+ idx += 2;
+ }
+ if (!strcmp(argv[idx], "-t")) {
+ /* TODO: use mnt_context_set_fstype_pattern() */
+ mnt_context_set_fstype(cxt, argv[idx + 1]);
+ idx += 2;
+ }
+
+ if (argc == idx + 1)
+ /* mount <mountpont>|<device> */
+ mnt_context_set_target(cxt, argv[idx++]);
+
+ else if (argc == idx + 2) {
+ /* mount <device> <mountpoint> */
+ mnt_context_set_source(cxt, argv[idx++]);
+ mnt_context_set_target(cxt, argv[idx++]);
+ }
+
+ /* this is unnecessary! -- libmount is able to internaly
+ * create and manage the lock
+ */
+ lock = mnt_context_get_lock(cxt);
+ if (lock)
+ atexit(lock_fallback);
+
+ rc = mnt_context_mount(cxt);
+ if (rc)
+ printf("failed to mount: %m\n");
+ else
+ printf("successfully mounted\n");
+
+ lock = NULL; /* because we use atexit lock_fallback */
+ mnt_free_context(cxt);
+ return rc;
+}
+
+int test_umount(struct libmnt_test *ts, int argc, char *argv[])
+{
+ int idx = 1, rc = 0;
+ struct libmnt_context *cxt;
+
+ if (argc < 2)
+ return -EINVAL;
+
+ cxt = mnt_new_context();
+ if (!cxt)
+ return -ENOMEM;
+
+ if (!strcmp(argv[idx], "-t")) {
+ mnt_context_set_fstype(cxt, argv[idx + 1]);
+ idx += 2;
+ }
+
+ if (!strcmp(argv[idx], "-f")) {
+ mnt_context_enable_force(cxt, TRUE);
+ idx++;
+ }
+
+ if (!strcmp(argv[idx], "-l")) {
+ mnt_context_enable_lazy(cxt, TRUE);
+ idx++;
+ }
+
+ if (!strcmp(argv[idx], "-r")) {
+ mnt_context_enable_rdonly_umount(cxt, TRUE);
+ idx++;
+ }
+
+ if (argc == idx + 1) {
+ /* mount <mountpont>|<device> */
+ mnt_context_set_target(cxt, argv[idx++]);
+ } else {
+ rc = -EINVAL;
+ goto err;
+ }
+
+ lock = mnt_context_get_lock(cxt);
+ if (lock)
+ atexit(lock_fallback);
+
+ rc = mnt_context_umount(cxt);
+ if (rc)
+ printf("failed to umount\n");
+ else
+ printf("successfully umounted\n");
+err:
+ lock = NULL; /* because we use atexit lock_fallback */
+ mnt_free_context(cxt);
+ return rc;
+}
+
+int test_flags(struct libmnt_test *ts, int argc, char *argv[])
+{
+ int idx = 1, rc = 0;
+ struct libmnt_context *cxt;
+ const char *opt = NULL;
+ unsigned long flags = 0;
+
+ if (argc < 2)
+ return -EINVAL;
+
+ cxt = mnt_new_context();
+ if (!cxt)
+ return -ENOMEM;
+
+ if (!strcmp(argv[idx], "-o")) {
+ mnt_context_set_options(cxt, argv[idx + 1]);
+ idx += 2;
+ }
+
+ if (argc == idx + 1)
+ /* mount <mountpont>|<device> */
+ mnt_context_set_target(cxt, argv[idx++]);
+
+ rc = mnt_context_prepare_mount(cxt);
+ if (rc)
+ printf("failed to prepare mount %s\n", strerror(-rc));
+
+ opt = mnt_fs_get_options(cxt->fs);
+ if (opt)
+ fprintf(stdout, "options: %s\n", opt);
+
+ mnt_context_get_mflags(cxt, &flags);
+ fprintf(stdout, "flags: %08lx\n", flags);
+
+ mnt_free_context(cxt);
+ return rc;
+}
+
+int test_mountall(struct libmnt_test *ts, int argc, char *argv[])
+{
+ struct libmnt_context *cxt;
+ struct libmnt_iter *itr;
+ struct libmnt_fs *fs;
+ int mntrc, ignored, idx = 1;
+
+ cxt = mnt_new_context();
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+
+ if (!cxt || !itr)
+ return -ENOMEM;
+
+ if (argc > 2) {
+ if (!strcmp(argv[idx], "-O")) {
+ mnt_context_set_options_pattern(cxt, argv[idx + 1]);
+ idx += 2;
+ }
+ if (!strcmp(argv[idx], "-t")) {
+ mnt_context_set_fstype_pattern(cxt, argv[idx + 1]);
+ idx += 2;
+ }
+ }
+
+ while (mnt_context_next_mount(cxt, itr, &fs, &mntrc, &ignored) == 0) {
+
+ const char *tgt = mnt_fs_get_target(fs);
+
+ if (ignored == 1)
+ printf("%s: ignored: not match\n", tgt);
+ else if (ignored == 2)
+ printf("%s: ignored: already mounted\n", tgt);
+
+ else if (!mnt_context_get_status(cxt)) {
+ if (mntrc > 0) {
+ errno = mntrc;
+ warn("%s: mount failed", tgt);
+ } else
+ warnx("%s: mount failed", tgt);
+ } else
+ printf("%s: successfully mounted\n", tgt);
+ }
+
+ mnt_free_context(cxt);
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+ struct libmnt_test tss[] = {
+ { "--mount", test_mount, "[-o <opts>] [-t <type>] <spec>|<src> <target>" },
+ { "--umount", test_umount, "[-t <type>] [-f][-l][-r] <src>|<target>" },
+ { "--mount-all", test_mountall, "[-O <pattern>] [-t <pattern] mount all filesystems from fstab" },
+ { "--flags", test_flags, "[-o <opts>] <spec>" },
+ { NULL }};
+
+ umask(S_IWGRP|S_IWOTH); /* to be compatible with mount(8) */
+
+ return mnt_run_test(tss, argc, argv);
+}
+
+#endif /* TEST_PROGRAM */
diff --git a/libmount/src/context_loopdev.c b/libmount/src/context_loopdev.c
new file mode 100644
index 0000000..da246e3
--- /dev/null
+++ b/libmount/src/context_loopdev.c
@@ -0,0 +1,368 @@
+/*
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/*
+ * DOCS: - "lo@" prefix for fstype is unsupported
+ * - encyption= mount option for loop device is unssuported
+ */
+
+#include <blkid.h>
+
+#include "mountP.h"
+#include "loopdev.h"
+#include "linux_version.h"
+
+
+int mnt_context_is_loopdev(struct libmnt_context *cxt)
+{
+ const char *type, *src;
+
+ assert(cxt);
+
+ /* The mount flags have to be merged, otherwise we have to use
+ * expensive mnt_context_get_user_mflags() instead of cxt->user_mountflags. */
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!cxt->fs)
+ return 0;
+ src = mnt_fs_get_srcpath(cxt->fs);
+ if (!src)
+ return 0; /* backing file not set */
+
+ if (cxt->user_mountflags & (MNT_MS_LOOP |
+ MNT_MS_OFFSET |
+ MNT_MS_SIZELIMIT |
+ MNT_MS_ENCRYPTION)) {
+
+ DBG(CXT, mnt_debug_h(cxt, "loopdev specific options detected"));
+ return 1;
+ }
+
+ if (cxt->mountflags & (MS_BIND | MS_MOVE | MS_PROPAGATION))
+ return 0;
+
+ /* Automatically create a loop device from a regular file if a
+ * filesystem is not specified or the filesystem is known for libblkid
+ * (these filesystems work with block devices only). The file size
+ * should be at least 1KiB otherwise we will create empty loopdev where
+ * is no mountable filesystem...
+ *
+ * Note that there is not a restriction (on kernel side) that prevents regular
+ * file as a mount(2) source argument. A filesystem that is able to mount
+ * regular files could be implemented.
+ */
+ type = mnt_fs_get_fstype(cxt->fs);
+
+ if (mnt_fs_is_regular(cxt->fs) &&
+ (!type || strcmp(type, "auto") == 0 || blkid_known_fstype(type))) {
+ struct stat st;
+
+ if (stat(src, &st) == 0 && S_ISREG(st.st_mode) &&
+ st.st_size > 1024)
+ return 1;
+ }
+
+ return 0;
+}
+
+
+/* Check, if there already exists a mounted loop device on the mountpoint node
+ * with the same parameters.
+ */
+static int is_mounted_same_loopfile(struct libmnt_context *cxt,
+ const char *target,
+ const char *backing_file,
+ uint64_t offset)
+{
+ struct libmnt_table *tb;
+ struct libmnt_iter itr;
+ struct libmnt_fs *fs;
+ struct libmnt_cache *cache;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!target || !backing_file || mnt_context_get_mtab(cxt, &tb))
+ return 0;
+
+ DBG(CXT, mnt_debug_h(cxt, "checking if %s mounted on %s",
+ backing_file, target));
+
+ cache = mnt_context_get_cache(cxt);
+ mnt_reset_iter(&itr, MNT_ITER_BACKWARD);
+
+ /* Search for mountpoint node in mtab, procceed if any of these has the
+ * loop option set or the device is a loop device
+ */
+ while (mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ const char *src = mnt_fs_get_source(fs);
+ const char *opts = mnt_fs_get_user_options(fs);
+ char *val;
+ size_t len;
+ int res = 0;
+
+ if (!src || !mnt_fs_match_target(fs, target, cache))
+ continue;
+
+ if (strncmp(src, "/dev/loop", 9) == 0) {
+ res = loopdev_is_used((char *) src, backing_file,
+ offset, LOOPDEV_FL_OFFSET);
+
+ } else if (opts && (cxt->user_mountflags & MNT_MS_LOOP) &&
+ mnt_optstr_get_option(opts, "loop", &val, &len) == 0 && val) {
+
+ val = strndup(val, len);
+ res = loopdev_is_used((char *) val, backing_file,
+ offset, LOOPDEV_FL_OFFSET);
+ free(val);
+ }
+
+ if (res) {
+ DBG(CXT, mnt_debug_h(cxt, "%s already mounted", backing_file));
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+int mnt_context_setup_loopdev(struct libmnt_context *cxt)
+{
+ const char *backing_file, *optstr, *loopdev = NULL;
+ char *val = NULL, *enc = NULL, *pwd = NULL;
+ size_t len;
+ struct loopdev_cxt lc;
+ int rc = 0, lo_flags = 0;
+ uint64_t offset = 0, sizelimit = 0;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ backing_file = mnt_fs_get_srcpath(cxt->fs);
+ if (!backing_file)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug_h(cxt, "trying to setup loopdev for %s", backing_file));
+
+ if (cxt->mountflags & MS_RDONLY) {
+ DBG(CXT, mnt_debug_h(cxt, "enabling READ-ONLY flag"));
+ lo_flags |= LO_FLAGS_READ_ONLY;
+ }
+
+ rc = loopcxt_init(&lc, 0);
+ if (rc)
+ return rc;
+
+ ON_DBG(CXT, loopcxt_enable_debug(&lc, 1));
+
+ optstr = mnt_fs_get_user_options(cxt->fs);
+
+ /*
+ * loop=
+ */
+ if (rc == 0 && (cxt->user_mountflags & MNT_MS_LOOP) &&
+ mnt_optstr_get_option(optstr, "loop", &val, &len) == 0 && val) {
+
+ val = strndup(val, len);
+ rc = val ? loopcxt_set_device(&lc, val) : -ENOMEM;
+ free(val);
+
+ if (rc == 0)
+ loopdev = loopcxt_get_device(&lc);
+ }
+
+ /*
+ * offset=
+ */
+ if (rc == 0 && (cxt->user_mountflags & MNT_MS_OFFSET) &&
+ mnt_optstr_get_option(optstr, "offset", &val, &len) == 0) {
+ rc = mnt_parse_offset(val, len, &offset);
+ if (rc) {
+ DBG(CXT, mnt_debug_h(cxt, "failed to parse offset="));
+ rc = -MNT_ERR_MOUNTOPT;
+ }
+ }
+
+ /*
+ * sizelimit=
+ */
+ if (rc == 0 && (cxt->user_mountflags & MNT_MS_SIZELIMIT) &&
+ mnt_optstr_get_option(optstr, "sizelimit", &val, &len) == 0) {
+ rc = mnt_parse_offset(val, len, &sizelimit);
+ if (rc) {
+ DBG(CXT, mnt_debug_h(cxt, "failed to parse sizelimit="));
+ rc = -MNT_ERR_MOUNTOPT;
+ }
+ }
+
+ /*
+ * encryption=
+ */
+ if (rc == 0 && (cxt->user_mountflags & MNT_MS_ENCRYPTION) &&
+ mnt_optstr_get_option(optstr, "encryption", &val, &len) == 0) {
+ enc = strndup(val, len);
+ if (val && !enc)
+ rc = -ENOMEM;
+ if (enc && cxt->pwd_get_cb) {
+ DBG(CXT, mnt_debug_h(cxt, "asking for pass"));
+ pwd = cxt->pwd_get_cb(cxt);
+ }
+ }
+
+ if (rc == 0 && is_mounted_same_loopfile(cxt,
+ mnt_context_get_target(cxt),
+ backing_file, offset))
+ rc = -EBUSY;
+
+ if (rc)
+ goto done;
+
+ /* since 2.6.37 we don't have to store backing filename to mtab
+ * because kernel provides the name in /sys.
+ */
+ if (get_linux_version() >= KERNEL_VERSION(2, 6, 37) ||
+ !cxt->mtab_writable) {
+ DBG(CXT, mnt_debug_h(cxt, "enabling AUTOCLEAR flag"));
+ lo_flags |= LO_FLAGS_AUTOCLEAR;
+ }
+
+ do {
+ /* found free device */
+ if (!loopdev) {
+ rc = loopcxt_find_unused(&lc);
+ if (rc)
+ goto done;
+ DBG(CXT, mnt_debug_h(cxt, "trying to use %s",
+ loopcxt_get_device(&lc)));
+ }
+
+ /* set device attributes
+ * -- note that loopcxt_find_unused() resets "lc"
+ */
+ rc = loopcxt_set_backing_file(&lc, backing_file);
+
+ if (!rc && offset)
+ rc = loopcxt_set_offset(&lc, offset);
+ if (!rc && sizelimit)
+ rc = loopcxt_set_sizelimit(&lc, sizelimit);
+ if (!rc && enc && pwd)
+ loopcxt_set_encryption(&lc, enc, pwd);
+ if (!rc)
+ loopcxt_set_flags(&lc, lo_flags);
+ if (rc) {
+ DBG(CXT, mnt_debug_h(cxt, "failed to set loopdev attributes"));
+ goto done;
+ }
+
+ /* setup the device */
+ rc = loopcxt_setup_device(&lc);
+ if (!rc)
+ break; /* success */
+
+ if (loopdev || rc != -EBUSY) {
+ DBG(CXT, mnt_debug_h(cxt, "failed to setup device"));
+ rc = -MNT_ERR_LOOPDEV;
+ goto done;
+ }
+ DBG(CXT, mnt_debug_h(cxt, "loopdev stolen...trying again"));
+ } while (1);
+
+ if (!rc)
+ rc = mnt_fs_set_source(cxt->fs, loopcxt_get_device(&lc));
+
+ if (!rc) {
+ /* success */
+ cxt->flags |= MNT_FL_LOOPDEV_READY;
+
+ if ((cxt->user_mountflags & MNT_MS_LOOP) &&
+ loopcxt_is_autoclear(&lc)) {
+ /*
+ * autoclear flag accepted by kernel, don't store
+ * the "loop=" option to mtab.
+ */
+ cxt->user_mountflags &= ~MNT_MS_LOOP;
+ mnt_optstr_remove_option(&cxt->fs->user_optstr, "loop");
+ }
+
+ if (!(cxt->mountflags & MS_RDONLY) &&
+ loopcxt_is_readonly(&lc))
+ /*
+ * mount planned read-write, but loopdev is read-only,
+ * let's fix mount options...
+ */
+ mnt_context_set_mflags(cxt, cxt->mountflags | MS_RDONLY);
+
+ /* we have to keep the device open until mount(1),
+ * otherwise it will auto-cleared by kernel
+ */
+ cxt->loopdev_fd = loopcxt_get_fd(&lc);
+ loopcxt_set_fd(&lc, -1, 0);
+ }
+done:
+ free(enc);
+ if (pwd && cxt->pwd_release_cb) {
+ DBG(CXT, mnt_debug_h(cxt, "release pass"));
+ cxt->pwd_release_cb(cxt, pwd);
+ }
+ loopcxt_deinit(&lc);
+ return rc;
+}
+
+/*
+ * Deletes loop device
+ */
+int mnt_context_delete_loopdev(struct libmnt_context *cxt)
+{
+ const char *src;
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+
+ src = mnt_fs_get_srcpath(cxt->fs);
+ if (!src)
+ return -EINVAL;
+
+ if (cxt->loopdev_fd > -1)
+ close(cxt->loopdev_fd);
+
+ rc = loopdev_delete(src);
+ cxt->flags &= ~MNT_FL_LOOPDEV_READY;
+ cxt->loopdev_fd = -1;
+
+ DBG(CXT, mnt_debug_h(cxt, "loopdev deleted [rc=%d]", rc));
+ return rc;
+}
+
+/*
+ * Clears loopdev stuff in context, should be called after
+ * failed or successful mount(2).
+ */
+int mnt_context_clear_loopdev(struct libmnt_context *cxt)
+{
+ assert(cxt);
+
+ if (mnt_context_get_status(cxt) == 0 &&
+ (cxt->flags & MNT_FL_LOOPDEV_READY)) {
+ /*
+ * mount(2) failed, delete loopdev
+ */
+ mnt_context_delete_loopdev(cxt);
+
+ } else if (cxt->loopdev_fd > -1) {
+ /*
+ * mount(2) success, close the device
+ */
+ DBG(CXT, mnt_debug_h(cxt, "closing loopdev FD"));
+ close(cxt->loopdev_fd);
+ }
+ cxt->loopdev_fd = -1;
+ return 0;
+}
+
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
new file mode 100644
index 0000000..f3d8ff1
--- /dev/null
+++ b/libmount/src/context_mount.c
@@ -0,0 +1,935 @@
+/*
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: context-mount
+ * @title: Mount context
+ * @short_description: high-level API to mount operation.
+ */
+
+#ifdef HAVE_LIBSELINUX
+#include <selinux/selinux.h>
+#include <selinux/context.h>
+#endif
+
+#include <sys/wait.h>
+#include <sys/mount.h>
+
+#include "linux_version.h"
+#include "mountP.h"
+
+/*
+ * this has to be called after mnt_context_evaluate_permissions()
+ */
+static int fix_optstr(struct libmnt_context *cxt)
+{
+ int rc = 0;
+ char *next;
+ char *name, *val;
+ size_t namesz, valsz;
+ struct libmnt_fs *fs;
+#ifdef HAVE_LIBSELINUX
+ int se_fix = 0, se_rem = 0;
+#endif
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!cxt)
+ return -EINVAL;
+ if (!cxt->fs || (cxt->flags & MNT_FL_MOUNTOPTS_FIXED))
+ return 0;
+
+ DBG(CXT, mnt_debug_h(cxt, "mount: fixing optstr"));
+
+ fs = cxt->fs;
+
+ /* The propagation flags should not be used together with any other
+ * flags (except MS_REC and MS_SILENT) */
+ if (cxt->mountflags & MS_PROPAGATION)
+ cxt->mountflags &= (MS_PROPAGATION | MS_REC | MS_SILENT);
+
+ /*
+ * The "user" options is our business (so we can modify the option),
+ * but exception is command line for /sbin/mount.<type> helpers. Let's
+ * save the original user=<name> to call the helpers with unchanged
+ * "user" setting.
+ *
+ * Don't check for MNT_MS_USER in cxt->user_mountflags, the flag maybe
+ * removed by evaluate_permissions().
+ */
+ if (!mnt_optstr_get_option(fs->user_optstr, "user", &val, &valsz)) {
+ if (val) {
+ cxt->orig_user = strndup(val, valsz);
+ if (!cxt->orig_user) {
+ rc = -ENOMEM;
+ goto done;
+ }
+ }
+ cxt->flags |= MNT_FL_SAVED_USER;
+ }
+
+ /*
+ * Sync mount options with mount flags
+ */
+ DBG(CXT, mnt_debug_h(cxt, "mount: fixing vfs optstr"));
+ rc = mnt_optstr_apply_flags(&fs->vfs_optstr, cxt->mountflags,
+ mnt_get_builtin_optmap(MNT_LINUX_MAP));
+ if (rc)
+ goto done;
+
+ DBG(CXT, mnt_debug_h(cxt, "mount: fixing user optstr"));
+ rc = mnt_optstr_apply_flags(&fs->user_optstr, cxt->user_mountflags,
+ mnt_get_builtin_optmap(MNT_USERSPACE_MAP));
+ if (rc)
+ goto done;
+
+ if (fs->vfs_optstr && *fs->vfs_optstr == '\0') {
+ free(fs->vfs_optstr);
+ fs->vfs_optstr = NULL;
+ }
+ if (fs->user_optstr && *fs->user_optstr == '\0') {
+ free(fs->user_optstr);
+ fs->user_optstr = NULL;
+ }
+
+ next = fs->fs_optstr;
+
+#ifdef HAVE_LIBSELINUX
+ if (!is_selinux_enabled())
+ /* Always remove SELinux garbage if SELinux disabled */
+ se_rem = 1;
+ else if (cxt->mountflags & MS_REMOUNT)
+ /*
+ * Linux kernel < 2.6.39 does not allow to remount with any
+ * selinux specific mount options.
+ *
+ * Kernel 2.6.39 commits: ff36fe2c845cab2102e4826c1ffa0a6ebf487c65
+ * 026eb167ae77244458fa4b4b9fc171209c079ba7
+ * fix this odd behavior, so we don't have to care about it in
+ * userspace.
+ */
+ se_rem = get_linux_version() < KERNEL_VERSION(2, 6, 39);
+ else
+ /* For normal mount we have translate the contexts */
+ se_fix = 1;
+
+ if (!se_rem) {
+ /* de-duplicate SELinux options */
+ mnt_optstr_deduplicate_option(&fs->fs_optstr, "context");
+ mnt_optstr_deduplicate_option(&fs->fs_optstr, "fscontext");
+ mnt_optstr_deduplicate_option(&fs->fs_optstr, "defcontext");
+ mnt_optstr_deduplicate_option(&fs->fs_optstr, "rootcontext");
+ mnt_optstr_deduplicate_option(&fs->fs_optstr, "seclabel");
+ }
+#endif
+ while (!mnt_optstr_next_option(&next, &name, &namesz, &val, &valsz)) {
+
+ if (namesz == 3 && !strncmp(name, "uid", 3))
+ rc = mnt_optstr_fix_uid(&fs->fs_optstr, val, valsz, &next);
+ else if (namesz == 3 && !strncmp(name, "gid", 3))
+ rc = mnt_optstr_fix_gid(&fs->fs_optstr, val, valsz, &next);
+#ifdef HAVE_LIBSELINUX
+ else if ((se_rem || se_fix) &&
+ namesz >= 7 && (!strncmp(name, "context", 7) ||
+ !strncmp(name, "fscontext", 9) ||
+ !strncmp(name, "defcontext", 10) ||
+ !strncmp(name, "rootcontext", 11) ||
+ !strncmp(name, "seclabel", 8))) {
+ if (se_rem) {
+ /* remove context= option */
+ next = name;
+ rc = mnt_optstr_remove_option_at(&fs->fs_optstr,
+ name,
+ val ? val + valsz :
+ name + namesz);
+ } else if (se_fix && val && valsz)
+ /* translate selinux contexts */
+ rc = mnt_optstr_fix_secontext(&fs->fs_optstr,
+ val, valsz, &next);
+ }
+#endif
+ if (rc)
+ goto done;
+ }
+
+ if (!rc && cxt->user_mountflags & MNT_MS_USER)
+ rc = mnt_optstr_fix_user(&fs->user_optstr);
+
+ /* refresh merged optstr */
+ free(fs->optstr);
+ fs->optstr = NULL;
+ fs->optstr = mnt_fs_strdup_options(fs);
+done:
+ cxt->flags |= MNT_FL_MOUNTOPTS_FIXED;
+
+ DBG(CXT, mnt_debug_h(cxt, "fixed options [rc=%d]: "
+ "vfs: '%s' fs: '%s' user: '%s', optstr: '%s'", rc,
+ fs->vfs_optstr, fs->fs_optstr, fs->user_optstr, fs->optstr));
+
+ if (rc)
+ rc = -MNT_ERR_MOUNTOPT;
+ return rc;
+}
+
+/*
+ * Converts already evaluated and fixed options to the form that is compatible
+ * with /sbin/mount.type helpers.
+ */
+static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr)
+{
+ struct libmnt_optmap const *maps[1];
+ char *next, *name, *val;
+ size_t namesz, valsz;
+ int rc = 0;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(optstr);
+
+ DBG(CXT, mnt_debug_h(cxt, "mount: generate helper mount options"));
+
+ *optstr = mnt_fs_strdup_options(cxt->fs);
+ if (!*optstr)
+ return -ENOMEM;
+
+ if (cxt->flags & MNT_FL_SAVED_USER)
+ rc = mnt_optstr_set_option(optstr, "user", cxt->orig_user);
+ if (rc)
+ goto err;
+
+ /* remove userspace options with MNT_NOHLPS flag */
+ maps[0] = mnt_get_builtin_optmap(MNT_USERSPACE_MAP);
+ next = *optstr;
+
+ while (!mnt_optstr_next_option(&next, &name, &namesz, &val, &valsz)) {
+ const struct libmnt_optmap *ent;
+
+ mnt_optmap_get_entry(maps, 1, name, namesz, &ent);
+ if (ent && ent->id && (ent->mask & MNT_NOHLPS)) {
+ next = name;
+ rc = mnt_optstr_remove_option_at(optstr, name,
+ val ? val + valsz : name + namesz);
+ if (rc)
+ goto err;
+ }
+ }
+
+ return rc;
+err:
+ free(*optstr);
+ *optstr = NULL;
+ return rc;
+}
+
+/*
+ * this has to be called before fix_optstr()
+ *
+ * Note that user=<name> maybe be used by some filesystems as filesystem
+ * specific option (e.g. cifs). Yes, developers of such filesystems have
+ * allocated pretty hot place in hell...
+ */
+static int evaluate_permissions(struct libmnt_context *cxt)
+{
+ unsigned long u_flags = 0;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!cxt)
+ return -EINVAL;
+ if (!cxt->fs)
+ return 0;
+
+ DBG(CXT, mnt_debug_h(cxt, "mount: evaluating permissions"));
+
+ mnt_context_get_user_mflags(cxt, &u_flags);
+
+ if (!mnt_context_is_restricted(cxt)) {
+ /*
+ * superuser mount
+ */
+ cxt->user_mountflags &= ~MNT_MS_OWNER;
+ cxt->user_mountflags &= ~MNT_MS_GROUP;
+ cxt->user_mountflags &= ~MNT_MS_USER;
+ cxt->user_mountflags &= ~MNT_MS_USERS;
+ } else {
+ /*
+ * user mount
+ */
+ if (!(cxt->flags & MNT_FL_TAB_APPLIED))
+ {
+ DBG(CXT, mnt_debug_h(cxt, "perms: fstab not applied, ignore user mount"));
+ return -EPERM;
+ }
+
+ /*
+ * MS_OWNERSECURE and MS_SECURE mount options are already
+ * applied by mnt_optstr_get_flags() in mnt_context_merge_mflags()
+ * if "user" (but no user=<name> !) options is set.
+ *
+ * Let's ignore all user=<name> (if <name> is set) requests.
+ */
+ if (cxt->user_mountflags & MNT_MS_USER) {
+ size_t valsz = 0;
+
+ if (!mnt_optstr_get_option(cxt->fs->user_optstr,
+ "user", NULL, &valsz) && valsz) {
+
+ DBG(CXT, mnt_debug_h(cxt, "perms: user=<name> detected, ignore"));
+ cxt->user_mountflags &= ~MNT_MS_USER;
+ }
+ }
+
+ /*
+ * MS_OWNER: Allow owners to mount when fstab contains the
+ * owner option. Note that this should never be used in a high
+ * security environment, but may be useful to give people at
+ * the console the possibility of mounting a floppy. MS_GROUP:
+ * Allow members of device group to mount. (Martin Dickopp)
+ */
+ if (u_flags & (MNT_MS_OWNER | MNT_MS_GROUP)) {
+ struct stat sb;
+ struct libmnt_cache *cache = NULL;
+ char *xsrc = NULL;
+ const char *srcpath = mnt_fs_get_srcpath(cxt->fs);
+
+ if (!srcpath) { /* Ah... source is TAG */
+ cache = mnt_context_get_cache(cxt);
+ xsrc = mnt_resolve_spec(
+ mnt_context_get_source(cxt),
+ cache);
+ srcpath = xsrc;
+ }
+ if (!srcpath) {
+ DBG(CXT, mnt_debug_h(cxt, "perms: src undefined"));
+ return -EPERM;
+ }
+
+ if (strncmp(srcpath, "/dev/", 5) == 0 &&
+ stat(srcpath, &sb) == 0 &&
+ (((u_flags & MNT_MS_OWNER) && getuid() == sb.st_uid) ||
+ ((u_flags & MNT_MS_GROUP) && mnt_in_group(sb.st_gid))))
+
+ cxt->user_mountflags |= MNT_MS_USER;
+
+ if (!cache)
+ free(xsrc);
+ }
+
+ if (!(cxt->user_mountflags & (MNT_MS_USER | MNT_MS_USERS))) {
+ DBG(CXT, mnt_debug_h(cxt, "permissions evaluation ends with -EPERMS"));
+ return -EPERM;
+ }
+ }
+
+ return 0;
+}
+
+/*
+ * mnt_context_helper_setopt() backend
+ *
+ * This function applies mount.type command line option (for example parsed
+ * by getopt() or getopt_long()) to @cxt. All unknown options are ignored and
+ * then 1 is returned.
+ *
+ * Returns: negative number on error, 1 if @c is unknown option, 0 on success.
+ */
+int mnt_context_mount_setopt(struct libmnt_context *cxt, int c, char *arg)
+{
+ int rc = -EINVAL;
+
+ assert(cxt);
+ assert(cxt->action == MNT_ACT_MOUNT);
+
+ switch(c) {
+ case 'f':
+ rc = mnt_context_enable_fake(cxt, TRUE);
+ break;
+ case 'n':
+ rc = mnt_context_disable_mtab(cxt, TRUE);
+ break;
+ case 'r':
+ rc = mnt_context_append_options(cxt, "ro");
+ break;
+ case 'v':
+ rc = mnt_context_enable_verbose(cxt, TRUE);
+ break;
+ case 'w':
+ rc = mnt_context_append_options(cxt, "rw");
+ break;
+ case 'o':
+ if (arg)
+ rc = mnt_context_append_options(cxt, arg);
+ break;
+ case 's':
+ rc = mnt_context_enable_sloppy(cxt, TRUE);
+ break;
+ case 't':
+ if (arg)
+ rc = mnt_context_set_fstype(cxt, arg);
+ break;
+ default:
+ return 1;
+ break;
+ }
+
+ return rc;
+}
+
+static int exec_helper(struct libmnt_context *cxt)
+{
+ char *o = NULL;
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(cxt->helper);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ DBG(CXT, mnt_debug_h(cxt, "mount: executing helper %s", cxt->helper));
+
+ rc = generate_helper_optstr(cxt, &o);
+ if (rc)
+ return -EINVAL;
+
+ DBG_FLUSH;
+
+ switch (fork()) {
+ case 0:
+ {
+ const char *args[12], *type;
+ int i = 0;
+
+ if (setgid(getgid()) < 0)
+ exit(EXIT_FAILURE);
+
+ if (setuid(getuid()) < 0)
+ exit(EXIT_FAILURE);
+
+ type = mnt_fs_get_fstype(cxt->fs);
+
+ args[i++] = cxt->helper; /* 1 */
+ args[i++] = mnt_fs_get_srcpath(cxt->fs);/* 2 */
+ args[i++] = mnt_fs_get_target(cxt->fs); /* 3 */
+
+ /*
+ * TODO: remove the exception for "nfs", -s is documented
+ * for years should be usable everywhere.
+ */
+ if (mnt_context_is_sloppy(cxt) &&
+ type && startswith(type, "nfs"))
+ args[i++] = "-s"; /* 4 */
+ if (mnt_context_is_fake(cxt))
+ args[i++] = "-f"; /* 5 */
+ if (mnt_context_is_nomtab(cxt))
+ args[i++] = "-n"; /* 6 */
+ if (mnt_context_is_verbose(cxt))
+ args[i++] = "-v"; /* 7 */
+ if (o) {
+ args[i++] = "-o"; /* 8 */
+ args[i++] = o; /* 9 */
+ }
+ if (type && !endswith(cxt->helper, type)) {
+ args[i++] = "-t"; /* 10 */
+ args[i++] = type; /* 11 */
+ }
+ args[i] = NULL; /* 12 */
+#ifdef CONFIG_LIBMOUNT_DEBUG
+ for (i = 0; args[i]; i++)
+ DBG(CXT, mnt_debug_h(cxt, "argv[%d] = \"%s\"",
+ i, args[i]));
+#endif
+ DBG_FLUSH;
+ execv(cxt->helper, (char * const *) args);
+ exit(EXIT_FAILURE);
+ }
+ default:
+ {
+ int st;
+ wait(&st);
+ cxt->helper_status = WIFEXITED(st) ? WEXITSTATUS(st) : -1;
+
+ DBG(CXT, mnt_debug_h(cxt, "%s executed [status=%d]",
+ cxt->helper, cxt->helper_status));
+ cxt->helper_exec_status = rc = 0;
+ break;
+ }
+
+ case -1:
+ cxt->helper_exec_status = rc = -errno;
+ DBG(CXT, mnt_debug_h(cxt, "fork() failed"));
+ break;
+ }
+
+ free(o);
+ return rc;
+}
+
+/*
+ * The default is to use fstype from cxt->fs, this could be overwritten by
+ * @try_type argument.
+ *
+ * Returns: 0 on success,
+ * >0 in case of mount(2) error (returns syscall errno),
+ * <0 in case of other errors.
+ */
+static int do_mount(struct libmnt_context *cxt, const char *try_type)
+{
+ int rc = 0;
+ const char *src, *target, *type;
+ unsigned long flags;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (try_type && !cxt->helper) {
+ rc = mnt_context_prepare_helper(cxt, "mount", try_type);
+ if (rc)
+ return rc;
+ }
+ if (cxt->helper)
+ return exec_helper(cxt);
+
+ flags = cxt->mountflags;
+ src = mnt_fs_get_srcpath(cxt->fs);
+ target = mnt_fs_get_target(cxt->fs);
+
+ if (!target)
+ return -EINVAL;
+ if (!src) {
+ /* unnecessary, should be already resolved in
+ * mnt_context_prepare_srcpath(), but for sure... */
+ DBG(CXT, mnt_debug_h(cxt, "WARNING: source is NULL -- using \"none\"!"));
+ src = "none";
+ }
+ type = try_type ? : mnt_fs_get_fstype(cxt->fs);
+
+ if (!(flags & MS_MGC_MSK))
+ flags |= MS_MGC_VAL;
+
+ DBG(CXT, mnt_debug_h(cxt, "%smount(2) "
+ "[source=%s, target=%s, type=%s, "
+ " mountflags=0x%08lx, mountdata=%s]",
+ mnt_context_is_fake(cxt) ? "(FAKE) " : "",
+ src, target, type,
+ flags, cxt->mountdata ? "yes" : "<none>"));
+
+ if (mnt_context_is_fake(cxt))
+ cxt->syscall_status = 0;
+ else {
+ if (mount(src, target, type, flags, cxt->mountdata)) {
+ cxt->syscall_status = -errno;
+ DBG(CXT, mnt_debug_h(cxt, "mount(2) failed [errno=%d %m]",
+ -cxt->syscall_status));
+ return -cxt->syscall_status;
+ }
+ DBG(CXT, mnt_debug_h(cxt, "mount(2) success"));
+ cxt->syscall_status = 0;
+ }
+
+ if (try_type && cxt->update) {
+ struct libmnt_fs *fs = mnt_update_get_fs(cxt->update);
+ if (fs)
+ rc = mnt_fs_set_fstype(fs, try_type);
+ }
+
+ return rc;
+}
+
+static int do_mount_by_pattern(struct libmnt_context *cxt, const char *pattern)
+{
+ int neg = pattern && strncmp(pattern, "no", 2) == 0;
+ int rc = -EINVAL;
+ char **filesystems, **fp;
+
+ assert(cxt);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!neg && pattern) {
+ /*
+ * try all types from the list
+ */
+ char *p, *p0;
+
+ DBG(CXT, mnt_debug_h(cxt, "trying to mount by FS pattern list"));
+
+ p0 = p = strdup(pattern);
+ if (!p)
+ return -ENOMEM;
+ do {
+ char *end = strchr(p, ',');
+ if (end)
+ *end = '\0';
+ rc = do_mount(cxt, p);
+ p = end ? end + 1 : NULL;
+
+ } while (!mnt_context_get_status(cxt) && p);
+
+ free(p0);
+
+ if (mnt_context_get_status(cxt))
+ return rc;
+ }
+
+ /*
+ * try /etc/filesystems and /proc/filesystems
+ */
+ DBG(CXT, mnt_debug_h(cxt, "trying to mount by filesystems lists"));
+
+ rc = mnt_get_filesystems(&filesystems, neg ? pattern : NULL);
+ if (rc)
+ return rc;
+
+ for (fp = filesystems; *fp; fp++) {
+ rc = do_mount(cxt, *fp);
+ if (mnt_context_get_status(cxt))
+ break;
+ if (mnt_context_get_syscall_errno(cxt) != EINVAL)
+ break;
+ }
+ mnt_free_filesystems(filesystems);
+ return rc;
+}
+
+/**
+ * mnt_context_prepare_mount:
+ * @cxt: context
+ *
+ * Prepare context for mounting, unnecessary for mnt_context_mount().
+ *
+ * Returns: negative number on error, zero on success
+ */
+int mnt_context_prepare_mount(struct libmnt_context *cxt)
+{
+ int rc = -EINVAL;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(cxt->helper_exec_status == 1);
+ assert(cxt->syscall_status == 1);
+
+ if (!cxt || !cxt->fs || mnt_fs_is_swaparea(cxt->fs))
+ return -EINVAL;
+ if (!mnt_fs_get_source(cxt->fs) && !mnt_fs_get_target(cxt->fs))
+ return -EINVAL;
+ if (cxt->flags & MNT_FL_PREPARED)
+ return 0;
+
+ cxt->action = MNT_ACT_MOUNT;
+
+ DBG(CXT, mnt_debug_h(cxt, "mount: preparing"));
+
+ /* TODO: fstab is unnecessary for MS_{MOVE,BIND,STARED,...} */
+ rc = mnt_context_apply_fstab(cxt);
+ if (!rc)
+ rc = mnt_context_merge_mflags(cxt);
+ if (!rc)
+ rc = evaluate_permissions(cxt);
+ if (!rc)
+ rc = fix_optstr(cxt);
+ if (!rc)
+ rc = mnt_context_prepare_srcpath(cxt);
+ if (!rc)
+ rc = mnt_context_prepare_target(cxt);
+ if (!rc)
+ rc = mnt_context_guess_fstype(cxt);
+ if (!rc)
+ rc = mnt_context_prepare_helper(cxt, "mount", NULL);
+ if (rc) {
+ DBG(CXT, mnt_debug_h(cxt, "mount: preparing failed"));
+ return rc;
+ }
+ cxt->flags |= MNT_FL_PREPARED;
+ return rc;
+}
+
+/**
+ * mnt_context_do_mount
+ * @cxt: context
+ *
+ * Call mount(2) or mount.type helper. Unnecessary for mnt_context_mount().
+ *
+ * Note that this function could be called only once. If you want to mount
+ * another source or target than you have to call mnt_reset_context().
+ *
+ * If you want to call mount(2) for the same source and target with a different
+ * mount flags or fstype then call mnt_context_reset_status() and then try
+ * again mnt_context_do_mount().
+ *
+ * WARNING: non-zero return code does not mean that mount(2) syscall or
+ * mount.type helper wasn't successfully called.
+ *
+ * Check mnt_context_get_status() after error!
+*
+ * Returns: 0 on success;
+ * >0 in case of mount(2) error (returns syscall errno),
+ * <0 in case of other errors.
+ */
+int mnt_context_do_mount(struct libmnt_context *cxt)
+{
+ const char *type;
+ int res;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(cxt->helper_exec_status == 1);
+ assert(cxt->syscall_status == 1);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+ assert((cxt->flags & MNT_FL_PREPARED));
+ assert((cxt->action == MNT_ACT_MOUNT));
+
+ DBG(CXT, mnt_debug_h(cxt, "mount: do mount"));
+
+ if (!(cxt->flags & MNT_FL_MOUNTDATA))
+ cxt->mountdata = (char *) mnt_fs_get_fs_options(cxt->fs);
+
+ type = mnt_fs_get_fstype(cxt->fs);
+ if (type)
+ res = do_mount(cxt, NULL);
+ else
+ res = do_mount_by_pattern(cxt, cxt->fstype_pattern);
+
+ if (mnt_context_get_status(cxt)
+ && !mnt_context_is_fake(cxt)
+ && !cxt->helper) {
+ /*
+ * Mounted by mount(2), do some post-mount checks
+ *
+ * Kernel allows to use MS_RDONLY for bind mounts, but the
+ * read-only request could be silently ignored. Check it to
+ * avoid 'ro' in mtab and 'rw' in /proc/mounts.
+ */
+ if ((cxt->mountflags & MS_BIND)
+ && (cxt->mountflags & MS_RDONLY)
+ && !mnt_is_readonly(mnt_context_get_target(cxt)))
+
+ mnt_context_set_mflags(cxt,
+ cxt->mountflags & ~MS_RDONLY);
+
+
+ /* Kernel can silently add MS_RDONLY flag when mounting file
+ * system that does not have write support. Check this to avoid
+ * 'ro' in /proc/mounts and 'rw' in mtab.
+ */
+ if (!(cxt->mountflags & (MS_RDONLY | MS_PROPAGATION | MS_MOVE))
+ && mnt_is_readonly(mnt_context_get_target(cxt)))
+
+ mnt_context_set_mflags(cxt,
+ cxt->mountflags | MS_RDONLY);
+ }
+
+ return res;
+}
+
+/**
+ * mnt_context_finalize_mount:
+ * @cxt: context
+ *
+ * Mtab update, etc. Unnecessary for mnt_context_mount(), but should be called
+ * after mnt_context_do_mount(). See also mnt_context_set_syscall_status().
+ *
+ * Returns: negative number on error, 0 on success.
+ */
+int mnt_context_finalize_mount(struct libmnt_context *cxt)
+{
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+ assert((cxt->flags & MNT_FL_PREPARED));
+
+ rc = mnt_context_prepare_update(cxt);
+ if (!rc)
+ rc = mnt_context_update_tabs(cxt);;
+ return rc;
+}
+
+/**
+ * mnt_context_mount:
+ * @cxt: mount context
+ *
+ * High-level, mounts filesystem by mount(2) or fork()+exec(/sbin/mount.type).
+ *
+ * This is similar to:
+ *
+ * mnt_context_prepare_mount(cxt);
+ * mnt_context_do_mount(cxt);
+ * mnt_context_finalize_mount(cxt);
+ *
+ * See also mnt_context_disable_helpers().
+ *
+ * Note that this function could be called only once. If you want to mount with
+ * different setting than you have to call mnt_reset_context(). It's NOT enough
+ * to call mnt_context_reset_status() if you want call this function more than
+ * once, whole context has to be reseted.
+ *
+ * WARNING: non-zero return code does not mean that mount(2) syscall or
+ * mount.type helper wasn't successfully called.
+ *
+ * Check mnt_context_get_status() after error!
+ *
+ * Returns: 0 on success;
+ * >0 in case of mount(2) error (returns syscall errno),
+ * <0 in case of other errors.
+ */
+int mnt_context_mount(struct libmnt_context *cxt)
+{
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(cxt->helper_exec_status == 1);
+ assert(cxt->syscall_status == 1);
+
+ rc = mnt_context_prepare_mount(cxt);
+ if (!rc)
+ rc = mnt_context_prepare_update(cxt);
+ if (!rc)
+ rc = mnt_context_do_mount(cxt);
+
+ /* TODO: if mtab update is expected then check if the
+ * target is really mounted read-write to avoid 'ro' in
+ * mtab and 'rw' in /proc/mounts.
+ */
+ if (!rc)
+ rc = mnt_context_update_tabs(cxt);
+ return rc;
+}
+
+/**
+ * mnt_context_next_mount:
+ * @cxt: context
+ * @itr: iterator
+ * @fs: returns the current filesystem
+ * @mntrc: returns the return code from mnt_context_mount()
+ * @ignored: returns 1 for not matching and 2 for already mounted filesystems
+ *
+ * This function tries to mount the next filesystem from fstab (as returned by
+ * mnt_context_get_fstab()). See also mnt_context_set_fstab().
+ *
+ * You can filter out filesystems by:
+ * mnt_context_set_options_pattern() to simulate mount -a -O pattern
+ * mnt_context_set_fstype_pattern() to simulate mount -a -t pattern
+ *
+ * If the filesystem is already mounted or does not match defined criteria,
+ * then the mnt_context_next_mount() function returns zero, but the @ignored is
+ * non-zero. Note that the root filesystem and filesystems with "noauto" option
+ * are always ignored.
+ *
+ * If mount(2) syscall or mount.type helper failed, then the
+ * mnt_context_next_mount() function returns zero, but the @mntrc is non-zero.
+ * Use also mnt_context_get_status() to check if the filesystem was
+ * successfully mounted.
+ *
+ * Returns: 0 on success,
+ * <0 in case of error (!= mount(2) errors)
+ * 1 at the end of the list.
+ */
+int mnt_context_next_mount(struct libmnt_context *cxt,
+ struct libmnt_iter *itr,
+ struct libmnt_fs **fs,
+ int *mntrc,
+ int *ignored)
+{
+ struct libmnt_table *fstab, *mtab;
+ const char *o, *tgt;
+ int rc, mounted = 0;
+
+ if (ignored)
+ *ignored = 0;
+ if (mntrc)
+ *mntrc = 0;
+
+ if (!cxt || !fs || !itr)
+ return -EINVAL;
+
+ mtab = cxt->mtab;
+ cxt->mtab = NULL; /* do not reset mtab */
+ mnt_reset_context(cxt);
+ cxt->mtab = mtab;
+
+ rc = mnt_context_get_fstab(cxt, &fstab);
+ if (rc)
+ return rc;
+
+ rc = mnt_table_next_fs(fstab, itr, fs);
+ if (rc != 0)
+ return rc; /* more filesystems (or error) */
+
+ o = mnt_fs_get_user_options(*fs);
+ tgt = mnt_fs_get_target(*fs);
+
+ DBG(CXT, mnt_debug_h(cxt, "next-mount: trying %s", tgt));
+
+ /* ignore swap */
+ if (mnt_fs_is_swaparea(*fs) ||
+
+ /* ignore root filesystem */
+ (tgt && (strcmp(tgt, "/") == 0 || strcmp(tgt, "root") == 0)) ||
+
+ /* ignore noauto filesystems */
+ (o && mnt_optstr_get_option(o, "noauto", NULL, NULL) == 0) ||
+
+ /* ignore filesystems not match with options patterns */
+ (cxt->fstype_pattern && !mnt_fs_match_fstype(*fs,
+ cxt->fstype_pattern)) ||
+
+ /* ignore filesystems not match with type patterns */
+ (cxt->optstr_pattern && !mnt_fs_match_options(*fs,
+ cxt->optstr_pattern))) {
+ if (ignored)
+ *ignored = 1;
+ DBG(CXT, mnt_debug_h(cxt, "next-mount: not-match "
+ "[fstype: %s, t-pattern: %s, options: %s, O-pattern: %s]",
+ mnt_fs_get_fstype(*fs),
+ cxt->fstype_pattern,
+ mnt_fs_get_options(*fs),
+ cxt->optstr_pattern));
+ return 0;
+ }
+
+ /* ignore already mounted filesystems */
+ rc = mnt_context_is_fs_mounted(cxt, *fs, &mounted);
+ if (rc)
+ return rc;
+ if (mounted) {
+ if (ignored)
+ *ignored = 2;
+ return 0;
+ }
+
+ if (mnt_context_is_fork(cxt)) {
+ rc = mnt_fork_context(cxt);
+ if (rc)
+ return rc; /* fork error */
+
+ if (mnt_context_is_parent(cxt)) {
+ return 0; /* parent */
+ }
+ }
+
+ /* child or non-forked */
+
+ rc = mnt_context_set_fs(cxt, *fs);
+ if (!rc) {
+ rc = mnt_context_mount(cxt);
+ if (mntrc)
+ *mntrc = rc;
+ }
+
+ if (mnt_context_is_child(cxt)) {
+ DBG(CXT, mnt_debug_h(cxt, "next-mount: child exit [rc=%d]", rc));
+ DBG_FLUSH;
+ exit(rc);
+ }
+ return 0;
+}
+
diff --git a/libmount/src/context_umount.c b/libmount/src/context_umount.c
new file mode 100644
index 0000000..2c2975e
--- /dev/null
+++ b/libmount/src/context_umount.c
@@ -0,0 +1,856 @@
+/*
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: context-umount
+ * @title: Umount context
+ * @short_description: high-level API to umount operation.
+ */
+
+#include <sys/wait.h>
+#include <sys/mount.h>
+
+#include "pathnames.h"
+#include "loopdev.h"
+#include "strutils.h"
+#include "mountP.h"
+
+/*
+ * umount2 flags
+ */
+#ifndef MNT_FORCE
+# define MNT_FORCE 0x00000001 /* Attempt to forcibily umount */
+#endif
+
+#ifndef MNT_DETACH
+# define MNT_DETACH 0x00000002 /* Just detach from the tree */
+#endif
+
+#ifndef UMOUNT_NOFOLLOW
+# define UMOUNT_NOFOLLOW 0x00000008 /* Don't follow symlink on umount */
+#endif
+
+#ifndef UMOUNT_UNUSED
+# define UMOUNT_UNUSED 0x80000000 /* Flag guaranteed to be unused */
+#endif
+
+
+static int lookup_umount_fs(struct libmnt_context *cxt)
+{
+ int rc, loopdev = 0;
+ const char *tgt;
+ struct libmnt_table *mtab = NULL;
+ struct libmnt_fs *fs;
+
+ assert(cxt);
+ assert(cxt->fs);
+
+ DBG(CXT, mnt_debug_h(cxt, "umount: lookup FS"));
+
+ tgt = mnt_fs_get_target(cxt->fs);
+ if (!tgt) {
+ DBG(CXT, mnt_debug_h(cxt, "umount: undefined target"));
+ return -EINVAL;
+ }
+ rc = mnt_context_get_mtab(cxt, &mtab);
+ if (rc) {
+ DBG(CXT, mnt_debug_h(cxt, "umount: failed to read mtab"));
+ return rc;
+ }
+
+try_loopdev:
+ fs = mnt_table_find_target(mtab, tgt, MNT_ITER_BACKWARD);
+ if (!fs && mnt_context_is_swapmatch(cxt)) {
+ /* maybe the option is source rather than target (mountpoint) */
+ fs = mnt_table_find_source(mtab, tgt, MNT_ITER_BACKWARD);
+
+ if (fs) {
+ struct libmnt_fs *fs1 = mnt_table_find_target(mtab,
+ mnt_fs_get_target(fs),
+ MNT_ITER_BACKWARD);
+ if (!fs1) {
+ DBG(CXT, mnt_debug_h(cxt, "mtab is broken?!?!"));
+ return -EINVAL;
+ }
+ if (fs != fs1) {
+ /* Something was stacked over `file' on the
+ * same mount point. */
+ DBG(CXT, mnt_debug_h(cxt,
+ "umount: %s: %s is mounted "
+ "over it on the same point",
+ tgt, mnt_fs_get_source(fs1)));
+ return -EINVAL;
+ }
+ }
+ }
+
+ if (!fs && !loopdev) {
+ /*
+ * Maybe target is /path/file.img, try to convert to /dev/loopN
+ */
+ struct stat st;
+
+ if (stat(tgt, &st) == 0 && S_ISREG(st.st_mode)) {
+ char *dev = NULL;
+ int count = loopdev_count_by_backing_file(tgt, &dev);
+
+ if (count == 1) {
+ DBG(CXT, mnt_debug_h(cxt,
+ "umount: %s --> %s (retry)", tgt, dev));
+ mnt_fs_set_source(cxt->fs, tgt);
+ mnt_fs_set_target(cxt->fs, dev);
+ free(dev);
+ tgt = mnt_fs_get_target(cxt->fs);
+
+ loopdev = 1; /* to avoid endless loop */
+ goto try_loopdev;
+
+ } else if (count > 1)
+ DBG(CXT, mnt_debug_h(cxt,
+ "umount: warning: %s is associated "
+ "with more than one loodev", tgt));
+ }
+ }
+
+ if (!fs) {
+ DBG(CXT, mnt_debug_h(cxt, "umount: cannot find %s in mtab", tgt));
+ return 0;
+ }
+
+ if (fs != cxt->fs) {
+ /* copy from mtab to our FS description
+ */
+ mnt_fs_set_source(cxt->fs, NULL);
+ mnt_fs_set_target(cxt->fs, NULL);
+
+ if (!mnt_copy_fs(cxt->fs, fs)) {
+ DBG(CXT, mnt_debug_h(cxt, "umount: failed to copy FS"));
+ return -errno;
+ }
+ DBG(CXT, mnt_debug_h(cxt, "umount: mtab applied"));
+ }
+
+ cxt->flags |= MNT_FL_TAB_APPLIED;
+ return rc;
+}
+
+/* check if @devname is loopdev and if the device is associated
+ * with a source from @fstab_fs
+ */
+static int is_associated_fs(const char *devname, struct libmnt_fs *fs)
+{
+ uintmax_t offset = 0;
+ const char *src;
+ char *val, *optstr;
+ size_t valsz;
+ int flags = 0;
+
+ /* check if it begins with /dev/loop */
+ if (strncmp(devname, _PATH_DEV_LOOP, sizeof(_PATH_DEV_LOOP)))
+ return 0;
+
+ src = mnt_fs_get_srcpath(fs);
+ if (!src)
+ return 0;
+
+ /* check for offset option in @fs */
+ optstr = (char *) mnt_fs_get_user_options(fs);
+
+ if (optstr &&
+ mnt_optstr_get_option(optstr, "offset", &val, &valsz) == 0) {
+ flags |= LOOPDEV_FL_OFFSET;
+
+ if (mnt_parse_offset(val, valsz, &offset) != 0)
+ return 0;
+ }
+
+ return loopdev_is_used(devname, src, offset, flags);
+}
+
+static int prepare_helper_from_options(struct libmnt_context *cxt,
+ const char *name)
+{
+ char *suffix = NULL;
+ const char *opts;
+ size_t valsz;
+
+ if (mnt_context_is_nohelpers(cxt))
+ return 0;
+
+ opts = mnt_fs_get_user_options(cxt->fs);
+ if (!opts)
+ return 0;
+
+ if (mnt_optstr_get_option(opts, name, &suffix, &valsz))
+ return 0;
+
+ suffix = strndup(suffix, valsz);
+ if (!suffix)
+ return -ENOMEM;
+
+ DBG(CXT, mnt_debug_h(cxt, "umount: umount.%s %s requested", suffix, name));
+
+ return mnt_context_prepare_helper(cxt, "umount", suffix);
+}
+
+/*
+ * Note that cxt->fs contains relevant mtab entry!
+ */
+static int evaluate_permissions(struct libmnt_context *cxt)
+{
+ struct libmnt_table *fstab;
+ unsigned long u_flags = 0;
+ const char *tgt, *src, *optstr;
+ int rc, ok = 0;
+ struct libmnt_fs *fs;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ if (!cxt || !cxt->fs)
+ return -EINVAL;
+
+ if (!mnt_context_is_restricted(cxt))
+ return 0; /* superuser mount */
+
+ DBG(CXT, mnt_debug_h(cxt, "umount: evaluating permissions"));
+
+ if (!(cxt->flags & MNT_FL_TAB_APPLIED)) {
+ DBG(CXT, mnt_debug_h(cxt,
+ "cannot find %s in mtab and you are not root",
+ mnt_fs_get_target(cxt->fs)));
+ goto eperm;
+ }
+
+ if (cxt->user_mountflags & MNT_MS_UHELPER) {
+ /* on uhelper= mount option based helper */
+ rc = prepare_helper_from_options(cxt, "uhelper");
+ if (rc)
+ return rc;
+ if (cxt->helper)
+ return 0; /* we'll call /sbin/umount.<uhelper> */
+ }
+
+ /*
+ * User mounts has to be in /etc/fstab
+ */
+ rc = mnt_context_get_fstab(cxt, &fstab);
+ if (rc)
+ return rc;
+
+ tgt = mnt_fs_get_target(cxt->fs);
+ src = mnt_fs_get_source(cxt->fs);
+
+ if (mnt_fs_get_bindsrc(cxt->fs)) {
+ src = mnt_fs_get_bindsrc(cxt->fs);
+ DBG(CXT, mnt_debug_h(cxt,
+ "umount: using bind source: %s", src));
+ }
+
+ /* If fstab contains the two lines
+ * /dev/sda1 /mnt/zip auto user,noauto 0 0
+ * /dev/sda4 /mnt/zip auto user,noauto 0 0
+ * then "mount /dev/sda4" followed by "umount /mnt/zip" used to fail.
+ * So, we must not look for file, but for the pair (dev,file) in fstab.
+ */
+ fs = mnt_table_find_pair(fstab, src, tgt, MNT_ITER_FORWARD);
+ if (!fs) {
+ /*
+ * It's possible that there is /path/file.img in fstab and
+ * /dev/loop0 in mtab -- then we have to check releation
+ * between loopdev and the file.
+ */
+ fs = mnt_table_find_target(fstab, tgt, MNT_ITER_FORWARD);
+ if (fs) {
+ const char *dev = mnt_fs_get_srcpath(cxt->fs); /* devname from mtab */
+
+ if (!dev || !is_associated_fs(dev, fs))
+ fs = NULL;
+ }
+ if (!fs) {
+ DBG(CXT, mnt_debug_h(cxt,
+ "umount %s: mtab disagrees with fstab",
+ tgt));
+ goto eperm;
+ }
+ }
+
+ /*
+ * User mounting and unmounting is allowed only if fstab contains one
+ * of the options `user', `users' or `owner' or `group'.
+ *
+ * The option `users' allows arbitrary users to mount and unmount -
+ * this may be a security risk.
+ *
+ * The options `user', `owner' and `group' only allow unmounting by the
+ * user that mounted (visible in mtab).
+ */
+ optstr = mnt_fs_get_user_options(fs); /* FSTAB mount options! */
+ if (!optstr)
+ goto eperm;
+
+ if (mnt_optstr_get_flags(optstr, &u_flags,
+ mnt_get_builtin_optmap(MNT_USERSPACE_MAP)))
+ goto eperm;
+
+ if (u_flags & MNT_MS_USERS) {
+ DBG(CXT, mnt_debug_h(cxt,
+ "umount: promiscuous setting ('users') in fstab"));
+ return 0;
+ }
+ /*
+ * Check user=<username> setting from mtab if there is user, owner or
+ * group option in /etc/fstab
+ */
+ if (u_flags & (MNT_MS_USER | MNT_MS_OWNER | MNT_MS_GROUP)) {
+
+ char *curr_user = NULL;
+ char *mtab_user = NULL;
+ size_t sz;
+
+ DBG(CXT, mnt_debug_h(cxt,
+ "umount: checking user=<username> from mtab"));
+
+ curr_user = mnt_get_username(getuid());
+
+ if (!curr_user) {
+ DBG(CXT, mnt_debug_h(cxt, "umount %s: cannot "
+ "convert %d to username", tgt, getuid()));
+ goto eperm;
+ }
+
+ /* get options from mtab */
+ optstr = mnt_fs_get_user_options(cxt->fs);
+ if (optstr && !mnt_optstr_get_option(optstr,
+ "user", &mtab_user, &sz) && sz)
+ ok = !strncmp(curr_user, mtab_user, sz);
+ }
+
+ if (ok) {
+ DBG(CXT, mnt_debug_h(cxt, "umount %s is allowed", tgt));
+ return 0;
+ }
+eperm:
+ DBG(CXT, mnt_debug_h(cxt, "umount is not allowed for you"));
+ return -EPERM;
+}
+
+static int exec_helper(struct libmnt_context *cxt)
+{
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(cxt->helper);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+ assert(cxt->helper_exec_status == 1);
+
+ DBG_FLUSH;
+
+ switch (fork()) {
+ case 0:
+ {
+ const char *args[10], *type;
+ int i = 0;
+
+ if (setgid(getgid()) < 0)
+ exit(EXIT_FAILURE);
+
+ if (setuid(getuid()) < 0)
+ exit(EXIT_FAILURE);
+
+ type = mnt_fs_get_fstype(cxt->fs);
+
+ args[i++] = cxt->helper; /* 1 */
+ args[i++] = mnt_fs_get_target(cxt->fs); /* 2 */
+
+ if (mnt_context_is_nomtab(cxt))
+ args[i++] = "-n"; /* 3 */
+ if (mnt_context_is_lazy(cxt))
+ args[i++] = "-l"; /* 4 */
+ if (mnt_context_is_force(cxt))
+ args[i++] = "-f"; /* 5 */
+ if (mnt_context_is_verbose(cxt))
+ args[i++] = "-v"; /* 6 */
+ if (mnt_context_is_rdonly_umount(cxt))
+ args[i++] = "-r"; /* 7 */
+ if (type && !endswith(cxt->helper, type)) {
+ args[i++] = "-t"; /* 8 */
+ args[i++] = (char *) type; /* 9 */
+ }
+
+ args[i] = NULL; /* 10 */
+#ifdef CONFIG_LIBMOUNT_DEBUG
+ for (i = 0; args[i]; i++)
+ DBG(CXT, mnt_debug_h(cxt, "argv[%d] = \"%s\"",
+ i, args[i]));
+#endif
+ DBG_FLUSH;
+ execv(cxt->helper, (char * const *) args);
+ exit(EXIT_FAILURE);
+ }
+ default:
+ {
+ int st;
+ wait(&st);
+ cxt->helper_status = WIFEXITED(st) ? WEXITSTATUS(st) : -1;
+
+ DBG(CXT, mnt_debug_h(cxt, "%s executed [status=%d]",
+ cxt->helper, cxt->helper_status));
+ cxt->helper_exec_status = rc = 0;
+ break;
+ }
+
+ case -1:
+ cxt->helper_exec_status = rc = -errno;
+ DBG(CXT, mnt_debug_h(cxt, "fork() failed"));
+ break;
+ }
+
+ return rc;
+}
+
+/*
+ * mnt_context_helper_setopt() backend.
+ *
+ * This function applies umount.type command line option (for example parsed
+ * by getopt() or getopt_long()) to @cxt. All unknown options are ignored and
+ * then 1 is returned.
+ *
+ * Returns: negative number on error, 1 if @c is unknown option, 0 on success.
+ */
+int mnt_context_umount_setopt(struct libmnt_context *cxt, int c, char *arg)
+{
+ int rc = -EINVAL;
+
+ assert(cxt);
+ assert(cxt->action == MNT_ACT_UMOUNT);
+
+ switch(c) {
+ case 'n':
+ rc = mnt_context_disable_mtab(cxt, TRUE);
+ break;
+ case 'l':
+ rc = mnt_context_enable_lazy(cxt, TRUE);
+ break;
+ case 'f':
+ rc = mnt_context_enable_force(cxt, TRUE);
+ break;
+ case 'v':
+ rc = mnt_context_enable_verbose(cxt, TRUE);
+ break;
+ case 'r':
+ rc = mnt_context_enable_rdonly_umount(cxt, TRUE);
+ break;
+ case 't':
+ if (arg)
+ rc = mnt_context_set_fstype(cxt, arg);
+ break;
+ default:
+ return 1;
+ break;
+ }
+
+ return rc;
+}
+
+/* Check whether the kernel supports UMOUNT_NOFOLLOW flag */
+static int umount_nofollow_support(void)
+{
+ int res = umount2("", UMOUNT_UNUSED);
+ if (res != -1 || errno != EINVAL)
+ return 0;
+
+ res = umount2("", UMOUNT_NOFOLLOW);
+ if (res != -1 || errno != ENOENT)
+ return 0;
+
+ return 1;
+}
+
+static int do_umount(struct libmnt_context *cxt)
+{
+ int rc = 0, flags = 0;
+ const char *src, *target;
+ char *tgtbuf = NULL;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+ assert(cxt->syscall_status == 1);
+
+ if (cxt->helper)
+ return exec_helper(cxt);
+
+ src = mnt_fs_get_srcpath(cxt->fs);
+ target = mnt_fs_get_target(cxt->fs);
+
+ if (!target)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug_h(cxt, "do umount"));
+
+ if (cxt->restricted && !mnt_context_is_fake(cxt)) {
+ /*
+ * extra paranoa for non-root users
+ * -- chdir to the parent of the mountpoint and use NOFOLLOW
+ * flag to avoid races and symlink attacks.
+ */
+ if (umount_nofollow_support())
+ flags |= UMOUNT_NOFOLLOW;
+
+ rc = mnt_chdir_to_parent(target, &tgtbuf);
+ if (rc)
+ return rc;
+ target = tgtbuf;
+ }
+
+ if (mnt_context_is_lazy(cxt))
+ flags |= MNT_DETACH;
+
+ else if (mnt_context_is_force(cxt))
+ flags |= MNT_FORCE;
+
+ DBG(CXT, mnt_debug_h(cxt, "umount(2) [target='%s', flags=0x%08x]%s",
+ target, flags,
+ mnt_context_is_fake(cxt) ? " (FAKE)" : ""));
+
+ if (mnt_context_is_fake(cxt))
+ rc = 0;
+ else {
+ rc = flags ? umount2(target, flags) : umount(target);
+ if (rc < 0)
+ cxt->syscall_status = -errno;
+ free(tgtbuf);
+ }
+
+ /*
+ * try remount read-only
+ */
+ if (rc < 0
+ && cxt->syscall_status == -EBUSY
+ && mnt_context_is_rdonly_umount(cxt)
+ && src) {
+
+ mnt_context_set_mflags(cxt, (cxt->mountflags |
+ MS_REMOUNT | MS_RDONLY));
+ mnt_context_enable_loopdel(cxt, FALSE);
+
+ DBG(CXT, mnt_debug_h(cxt,
+ "umount(2) failed [errno=%d] -- trying to remount read-only",
+ -cxt->syscall_status));
+
+ rc = mount(src, mnt_fs_get_target(cxt->fs), NULL,
+ MS_MGC_VAL | MS_REMOUNT | MS_RDONLY, NULL);
+ if (rc < 0) {
+ cxt->syscall_status = -errno;
+ DBG(CXT, mnt_debug_h(cxt,
+ "read-only re-mount(2) failed [errno=%d]",
+ -cxt->syscall_status));
+
+ return -cxt->syscall_status;
+ }
+ cxt->syscall_status = 0;
+ DBG(CXT, mnt_debug_h(cxt, "read-only re-mount(2) success"));
+ return 0;
+ }
+
+ if (rc < 0) {
+ DBG(CXT, mnt_debug_h(cxt, "umount(2) failed [errno=%d]",
+ -cxt->syscall_status));
+ return -cxt->syscall_status;
+ }
+
+ cxt->syscall_status = 0;
+ DBG(CXT, mnt_debug_h(cxt, "umount(2) success"));
+ return 0;
+}
+
+/**
+ * mnt_context_prepare_umount:
+ * @cxt: mount context
+ *
+ * Prepare context for umounting, unnecessary for mnt_context_umount().
+ *
+ * Returns: 0 on success, and negative number in case of error.
+ */
+int mnt_context_prepare_umount(struct libmnt_context *cxt)
+{
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(cxt->helper_exec_status == 1);
+ assert(cxt->syscall_status == 1);
+
+ if (!cxt || !cxt->fs || mnt_fs_is_swaparea(cxt->fs))
+ return -EINVAL;
+ if (!mnt_context_get_source(cxt) && !mnt_context_get_target(cxt))
+ return -EINVAL;
+ if (cxt->flags & MNT_FL_PREPARED)
+ return 0;
+
+ free(cxt->helper); /* be paranoid */
+ cxt->helper = NULL;
+ cxt->action = MNT_ACT_UMOUNT;
+
+ rc = lookup_umount_fs(cxt);
+ if (!rc)
+ rc = mnt_context_merge_mflags(cxt);
+ if (!rc)
+ rc = evaluate_permissions(cxt);
+
+ if (!rc && !cxt->helper) {
+
+ if (cxt->user_mountflags & MNT_MS_HELPER)
+ /* on helper= mount option based helper */
+ rc = prepare_helper_from_options(cxt, "helper");
+
+ if (!rc && !cxt->helper)
+ /* on fstype based helper */
+ rc = mnt_context_prepare_helper(cxt, "umount", NULL);
+ }
+
+ if (!rc && mnt_context_is_loopdel(cxt) && cxt->fs) {
+ const char *src = mnt_fs_get_srcpath(cxt->fs);
+
+ if (src && (!is_loopdev(src) || loopdev_is_autoclear(src)))
+ mnt_context_enable_loopdel(cxt, FALSE);
+ }
+
+ if (rc) {
+ DBG(CXT, mnt_debug_h(cxt, "umount: preparing failed"));
+ return rc;
+ }
+ cxt->flags |= MNT_FL_PREPARED;
+ return rc;
+}
+
+/**
+ * mnt_context_do_umount:
+ * @cxt: mount context
+ *
+ * Umount filesystem by umount(2) or fork()+exec(/sbin/umount.type).
+ * Unnecessary for mnt_context_umount().
+ *
+ * See also mnt_context_disable_helpers().
+ *
+ * WARNING: non-zero return code does not mean that umount(2) syscall or
+ * umount.type helper wasn't successfully called.
+ *
+ * Check mnt_context_get_status() after error!
+*
+ * Returns: 0 on success;
+ * >0 in case of umount(2) error (returns syscall errno),
+ * <0 in case of other errors.
+ */
+int mnt_context_do_umount(struct libmnt_context *cxt)
+{
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(cxt->helper_exec_status == 1);
+ assert(cxt->syscall_status == 1);
+ assert((cxt->flags & MNT_FL_PREPARED));
+ assert((cxt->action == MNT_ACT_UMOUNT));
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ rc = do_umount(cxt);
+ if (rc)
+ return rc;
+
+ if (mnt_context_get_status(cxt) && !mnt_context_is_fake(cxt)) {
+ /*
+ * Umounted, do some post-umount operations
+ * - remove loopdev
+ * - refresh in-memory mtab stuff if remount rather than
+ * umount has been performed
+ */
+ if (mnt_context_is_loopdel(cxt)
+ && !(cxt->mountflags & MS_REMOUNT))
+ rc = mnt_context_delete_loopdev(cxt);
+
+ if (!mnt_context_is_nomtab(cxt)
+ && mnt_context_get_status(cxt)
+ && !cxt->helper
+ && mnt_context_is_rdonly_umount(cxt)
+ && (cxt->mountflags & MS_REMOUNT)) {
+
+ /* use "remount" instead of "umount" in /etc/mtab */
+ if (!rc && cxt->update && cxt->mtab_writable)
+ rc = mnt_update_set_fs(cxt->update,
+ cxt->mountflags, NULL, cxt->fs);
+ }
+ }
+ return rc;
+}
+
+/**
+ * mnt_context_finalize_umount:
+ * @cxt: context
+ *
+ * Mtab update, etc. Unnecessary for mnt_context_umount(), but should be called
+ * after mnt_context_do_umount(). See also mnt_context_set_syscall_status().
+ *
+ * Returns: negative number on error, 0 on success.
+ */
+int mnt_context_finalize_umount(struct libmnt_context *cxt)
+{
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert((cxt->flags & MNT_FL_PREPARED));
+ assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+
+ rc = mnt_context_prepare_update(cxt);
+ if (!rc)
+ rc = mnt_context_update_tabs(cxt);;
+ return rc;
+}
+
+
+/**
+ * mnt_context_umount:
+ * @cxt: umount context
+ *
+ * High-level, umounts filesystem by umount(2) or fork()+exec(/sbin/umount.type).
+ *
+ * This is similar to:
+ *
+ * mnt_context_prepare_umount(cxt);
+ * mnt_context_do_umount(cxt);
+ * mnt_context_finalize_umount(cxt);
+ *
+ * See also mnt_context_disable_helpers().
+ *
+ * WARNING: non-zero return code does not mean that umount(2) syscall or
+ * umount.type helper wasn't successfully called.
+ *
+ * Check mnt_context_get_status() after error!
+ *
+ * Returns: 0 on success;
+ * >0 in case of umount(2) error (returns syscall errno),
+ * <0 in case of other errors.
+ */
+int mnt_context_umount(struct libmnt_context *cxt)
+{
+ int rc;
+
+ assert(cxt);
+ assert(cxt->fs);
+ assert(cxt->helper_exec_status == 1);
+ assert(cxt->syscall_status == 1);
+
+ DBG(CXT, mnt_debug_h(cxt, "umount: %s", mnt_context_get_target(cxt)));
+
+ rc = mnt_context_prepare_umount(cxt);
+ if (!rc)
+ rc = mnt_context_prepare_update(cxt);
+ if (!rc)
+ rc = mnt_context_do_umount(cxt);
+ if (!rc)
+ rc = mnt_context_update_tabs(cxt);
+ return rc;
+}
+
+
+/**
+ * mnt_context_next_umount:
+ * @cxt: context
+ * @itr: iterator
+ * @fs: returns the current filesystem
+ * @mntrc: returns the return code from mnt_context_umount()
+ * @ignored: returns 1 for not matching
+ *
+ * This function tries to umount the next filesystem from mtab (as returned by
+ * mnt_context_get_mtab()).
+ *
+ * You can filter out filesystems by:
+ * mnt_context_set_options_pattern() to simulate umount -a -O pattern
+ * mnt_context_set_fstype_pattern() to simulate umount -a -t pattern
+ *
+ * If the filesystem is not mounted or does not match defined criteria,
+ * then the function mnt_context_next_umount() returns zero, but the @ignored is
+ * non-zero. Note that the root filesystem is always ignored.
+ *
+ * If umount(2) syscall or umount.type helper failed, then the
+ * mnt_context_next_umount() function returns zero, but the @mntrc is non-zero.
+ * Use also mnt_context_get_status() to check if the filesystem was
+ * successfully umounted.
+ *
+ * Returns: 0 on success,
+ * <0 in case of error (!= umount(2) errors)
+ * 1 at the end of the list.
+ */
+int mnt_context_next_umount(struct libmnt_context *cxt,
+ struct libmnt_iter *itr,
+ struct libmnt_fs **fs,
+ int *mntrc,
+ int *ignored)
+{
+ struct libmnt_table *mtab;
+ const char *tgt;
+ int rc;
+
+ if (ignored)
+ *ignored = 0;
+ if (mntrc)
+ *mntrc = 0;
+
+ if (!cxt || !fs || !itr)
+ return -EINVAL;
+
+ rc = mnt_context_get_mtab(cxt, &mtab);
+ cxt->mtab = NULL; /* do not reset mtab */
+ mnt_reset_context(cxt);
+ cxt->mtab = mtab;
+
+ if (rc)
+ return rc;
+
+ do {
+ rc = mnt_table_next_fs(mtab, itr, fs);
+ if (rc != 0)
+ return rc; /* no more filesystems (or error) */
+
+ tgt = mnt_fs_get_target(*fs);
+ } while (!tgt);
+
+ DBG(CXT, mnt_debug_h(cxt, "next-umount: trying %s", tgt));
+
+ /* ignore root filesystem */
+ if ((tgt && (strcmp(tgt, "/") == 0 || strcmp(tgt, "root") == 0)) ||
+
+ /* ignore filesystems not match with options patterns */
+ (cxt->fstype_pattern && !mnt_fs_match_fstype(*fs,
+ cxt->fstype_pattern)) ||
+
+ /* ignore filesystems not match with type patterns */
+ (cxt->optstr_pattern && !mnt_fs_match_options(*fs,
+ cxt->optstr_pattern))) {
+ if (ignored)
+ *ignored = 1;
+ DBG(CXT, mnt_debug_h(cxt, "next-umount: not-match "
+ "[fstype: %s, t-pattern: %s, options: %s, O-pattern: %s]",
+ mnt_fs_get_fstype(*fs),
+ cxt->fstype_pattern,
+ mnt_fs_get_options(*fs),
+ cxt->optstr_pattern));
+ return 0;
+ }
+
+ rc = mnt_context_set_fs(cxt, *fs);
+ if (rc)
+ return rc;
+ rc = mnt_context_umount(cxt);
+ if (mntrc)
+ *mntrc = rc;
+ return 0;
+}
diff --git a/libmount/src/fs.c b/libmount/src/fs.c
new file mode 100644
index 0000000..c3b0cb2
--- /dev/null
+++ b/libmount/src/fs.c
@@ -0,0 +1,1501 @@
+/*
+ * Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: fs
+ * @title: Filesystem
+ * @short_description: represents one entry from fstab, mtab, or mountinfo file
+ *
+ */
+#include <ctype.h>
+#include <blkid.h>
+#include <stddef.h>
+
+#include "mountP.h"
+#include "strutils.h"
+
+/**
+ * mnt_new_fs:
+ *
+ * Returns: newly allocated struct libmnt_fs.
+ */
+struct libmnt_fs *mnt_new_fs(void)
+{
+ struct libmnt_fs *fs = calloc(1, sizeof(*fs));
+ if (!fs)
+ return NULL;
+
+ /*DBG(FS, mnt_debug_h(fs, "alloc"));*/
+ INIT_LIST_HEAD(&fs->ents);
+ return fs;
+}
+
+/**
+ * mnt_free_fs:
+ * @fs: fs pointer
+ *
+ * Deallocates the fs.
+ */
+void mnt_free_fs(struct libmnt_fs *fs)
+{
+ if (!fs)
+ return;
+ list_del(&fs->ents);
+
+ /*DBG(FS, mnt_debug_h(fs, "free"));*/
+
+ free(fs->source);
+ free(fs->bindsrc);
+ free(fs->tagname);
+ free(fs->tagval);
+ free(fs->root);
+ free(fs->swaptype);
+ free(fs->target);
+ free(fs->fstype);
+ free(fs->optstr);
+ free(fs->vfs_optstr);
+ free(fs->fs_optstr);
+ free(fs->user_optstr);
+ free(fs->attrs);
+
+ free(fs);
+}
+
+/**
+ * mnt_reset_fs:
+ * @fs: fs pointer
+ *
+ * Resets (zeroize) @fs.
+ */
+void mnt_reset_fs(struct libmnt_fs *fs)
+{
+ if (fs)
+ memset(fs, 0, sizeof(*fs));
+}
+
+static inline int update_str(char **dest, const char *src)
+{
+ size_t sz;
+ char *x;
+
+ assert(dest);
+
+ if (!src) {
+ free(*dest);
+ *dest = NULL;
+ return 0; /* source (old) is empty */
+ }
+
+ sz = strlen(src) + 1;
+ x = realloc(*dest, sz);
+ if (!x)
+ return -ENOMEM;
+ *dest = x;
+ memcpy(*dest, src, sz);
+ return 0;
+}
+
+static inline int cpy_str_at_offset(void *new, const void *old, size_t offset)
+{
+ char **o = (char **) (old + offset);
+ char **n = (char **) (new + offset);
+
+ if (*n)
+ return 0; /* already set, not overwrite */
+
+ return update_str(n, *o);
+}
+
+/**
+ * mnt_copy_fs:
+ * @dest: destination FS
+ * @src: source FS
+ *
+ * If @dest is NULL, then a new FS is allocated, if any @dest field is already
+ * set then the field is NOT overwrited.
+ *
+ * This function does not copy userdata (se mnt_fs_set_userdata()). A new copy is
+ * not linked with any existing mnt_tab.
+ *
+ * Returns: @dest or NULL in case of error
+ */
+struct libmnt_fs *mnt_copy_fs(struct libmnt_fs *dest,
+ const struct libmnt_fs *src)
+{
+ const struct libmnt_fs *org = dest;
+
+ if (!dest) {
+ dest = mnt_new_fs();
+ if (!dest)
+ return NULL;
+ }
+
+ /*DBG(FS, mnt_debug_h(dest, "copy from %p", src));*/
+
+ dest->id = src->id;
+ dest->parent = src->parent;
+ dest->devno = src->devno;
+ dest->tid = src->tid;
+
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, source)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, tagname)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, tagval)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, root)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, swaptype)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, target)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, fstype)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, optstr)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, vfs_optstr)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, fs_optstr)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, user_optstr)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, attrs)))
+ goto err;
+ if (cpy_str_at_offset(dest, src, offsetof(struct libmnt_fs, bindsrc)))
+ goto err;
+
+ dest->freq = src->freq;
+ dest->passno = src->passno;
+ dest->flags = src->flags;
+ dest->size = src->size;
+ dest->usedsize = src->usedsize;
+ dest->priority = src->priority;
+
+ return dest;
+err:
+ if (!org)
+ mnt_free_fs(dest);
+ return NULL;
+}
+
+/*
+ * This function copies all @fs description except information that does not
+ * belong to /etc/mtab (e.g. VFS and userspace mount options with MNT_NOMTAB
+ * mask).
+ *
+ * Returns: copy of @fs.
+ */
+struct libmnt_fs *mnt_copy_mtab_fs(const struct libmnt_fs *fs)
+{
+ struct libmnt_fs *n = mnt_new_fs();
+
+ if (!n)
+ return NULL;
+
+ if (cpy_str_at_offset(n, fs, offsetof(struct libmnt_fs, source)))
+ goto err;
+ if (cpy_str_at_offset(n, fs, offsetof(struct libmnt_fs, target)))
+ goto err;
+ if (cpy_str_at_offset(n, fs, offsetof(struct libmnt_fs, fstype)))
+ goto err;
+
+ if (fs->vfs_optstr) {
+ char *p = NULL;
+ mnt_optstr_get_options(fs->vfs_optstr, &p,
+ mnt_get_builtin_optmap(MNT_LINUX_MAP),
+ MNT_NOMTAB);
+ n->vfs_optstr = p;
+ }
+
+ if (fs->user_optstr) {
+ char *p = NULL;
+ mnt_optstr_get_options(fs->user_optstr, &p,
+ mnt_get_builtin_optmap(MNT_USERSPACE_MAP),
+ MNT_NOMTAB);
+ n->user_optstr = p;
+ }
+
+ if (cpy_str_at_offset(n, fs, offsetof(struct libmnt_fs, fs_optstr)))
+ goto err;
+
+ /* we cannot copy original optstr, the new optstr has to be without
+ * non-mtab options -- so, let's generate a new string */
+ n->optstr = mnt_fs_strdup_options(n);
+
+ n->freq = fs->freq;
+ n->passno = fs->passno;
+ n->flags = fs->flags;
+
+ return n;
+err:
+ mnt_free_fs(n);
+ return NULL;
+
+}
+
+/**
+ * mnt_fs_get_userdata:
+ * @fs: struct libmnt_file instance
+ *
+ * Returns: private data set by mnt_fs_set_userdata() or NULL.
+ */
+void *mnt_fs_get_userdata(struct libmnt_fs *fs)
+{
+ return fs ? fs->userdata : NULL;
+}
+
+/**
+ * mnt_fs_set_userdata:
+ * @fs: struct libmnt_file instance
+ * @data: user data
+ *
+ * The "userdata" are library independent data.
+ *
+ * Returns: 0 or negative number in case of error (if @fs is NULL).
+ */
+int mnt_fs_set_userdata(struct libmnt_fs *fs, void *data)
+{
+ if (!fs)
+ return -EINVAL;
+ fs->userdata = data;
+ return 0;
+}
+
+/**
+ * mnt_fs_get_srcpath:
+ * @fs: struct libmnt_file (fstab/mtab/mountinfo) fs
+ *
+ * The mount "source path" is:
+ * - a directory for 'bind' mounts (in fstab or mtab only)
+ * - a device name for standard mounts
+ *
+ * See also mnt_fs_get_tag() and mnt_fs_get_source().
+ *
+ * Returns: mount source path or NULL in case of error or when the path
+ * is not defined.
+ */
+const char *mnt_fs_get_srcpath(struct libmnt_fs *fs)
+{
+ assert(fs);
+ if (!fs)
+ return NULL;
+
+ /* fstab-like fs */
+ if (fs->tagname)
+ return NULL; /* the source contains a "NAME=value" */
+ return fs->source;
+}
+
+/**
+ * mnt_fs_get_source:
+ * @fs: struct libmnt_file (fstab/mtab/mountinfo) fs
+ *
+ * Returns: mount source. Note that the source could be unparsed TAG
+ * (LABEL/UUID). See also mnt_fs_get_srcpath() and mnt_fs_get_tag().
+ */
+const char *mnt_fs_get_source(struct libmnt_fs *fs)
+{
+ return fs ? fs->source : NULL;
+}
+
+/*
+ * Used by parser ONLY (@source has to be allocated on error)
+ */
+int __mnt_fs_set_source_ptr(struct libmnt_fs *fs, char *source)
+{
+ char *t = NULL, *v = NULL;
+
+ assert(fs);
+
+ if (source && strchr(source, '=')) {
+ if (blkid_parse_tag_string(source, &t, &v) != 0)
+ return -1;
+ }
+
+ if (fs->source != source)
+ free(fs->source);
+
+ free(fs->tagname);
+ free(fs->tagval);
+
+ fs->source = source;
+ fs->tagname = t;
+ fs->tagval = v;
+ return 0;
+}
+
+/**
+ * mnt_fs_set_source:
+ * @fs: fstab/mtab/mountinfo entry
+ * @source: new source
+ *
+ * This function creates a private copy (strdup()) of @source.
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_set_source(struct libmnt_fs *fs, const char *source)
+{
+ char *p = NULL;
+ int rc;
+
+ if (!fs)
+ return -EINVAL;
+
+ if (source) {
+ p = strdup(source);
+ if (!p)
+ return -ENOMEM;
+ }
+
+ rc = __mnt_fs_set_source_ptr(fs, p);
+ if (rc)
+ free(p);
+ return rc;
+}
+
+/**
+ * mnt_fs_streq_srcpath:
+ * @fs: fs
+ * @path: source path
+ *
+ * Compares @fs source path with @path. The tailing slash is ignored.
+ * See also mnt_fs_match_source().
+ *
+ * Returns: 1 if @fs source path equal to @path, otherwise 0.
+ */
+int mnt_fs_streq_srcpath(struct libmnt_fs *fs, const char *path)
+{
+ const char *p;
+
+ if (!fs)
+ return 0;
+
+ p = mnt_fs_get_srcpath(fs);
+
+ if (!mnt_fs_is_pseudofs(fs))
+ return streq_except_trailing_slash(p, path);
+
+ if (!p && !path)
+ return 1;
+
+ return p && path && strcmp(p, path) == 0;
+}
+
+/**
+ * mnt_fs_streq_target:
+ * @fs: fs
+ * @path: mount point
+ *
+ * Compares @fs target path with @path. The tailing slash is ignored.
+ * See also mnt_fs_match_target().
+ *
+ * Returns: 1 if @fs target path equal to @path, otherwise 0.
+ */
+int mnt_fs_streq_target(struct libmnt_fs *fs, const char *path)
+{
+ return fs && streq_except_trailing_slash(mnt_fs_get_target(fs), path);
+}
+
+/**
+ * mnt_fs_get_tag:
+ * @fs: fs
+ * @name: returns pointer to NAME string
+ * @value: returns pointer to VALUE string
+ *
+ * "TAG" is NAME=VALUE (e.g. LABEL=foo)
+ *
+ * The TAG is the first column in the fstab file. The TAG or "srcpath" has to
+ * be always set for all entries.
+ *
+ * See also mnt_fs_get_source().
+ *
+ * <informalexample>
+ * <programlisting>
+ * char *src;
+ * struct libmnt_fs *fs = mnt_table_find_target(tb, "/home", MNT_ITER_FORWARD);
+ *
+ * if (!fs)
+ * goto err;
+ *
+ * src = mnt_fs_get_srcpath(fs);
+ * if (!src) {
+ * char *tag, *val;
+ * if (mnt_fs_get_tag(fs, &tag, &val) == 0)
+ * printf("%s: %s\n", tag, val); // LABEL or UUID
+ * } else
+ * printf("device: %s\n", src); // device or bind path
+ * </programlisting>
+ * </informalexample>
+ *
+ * Returns: 0 on success or negative number in case that a TAG is not defined.
+ */
+int mnt_fs_get_tag(struct libmnt_fs *fs, const char **name, const char **value)
+{
+ if (fs == NULL || !fs->tagname)
+ return -EINVAL;
+ if (name)
+ *name = fs->tagname;
+ if (value)
+ *value = fs->tagval;
+ return 0;
+}
+
+/**
+ * mnt_fs_get_target:
+ * @fs: fstab/mtab/mountinfo entry pointer
+ *
+ * Returns: pointer to mountpoint path or NULL
+ */
+const char *mnt_fs_get_target(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->target : NULL;
+}
+
+/**
+ * mnt_fs_set_target:
+ * @fs: fstab/mtab/mountinfo entry
+ * @target: mountpoint
+ *
+ * This function creates a private copy (strdup()) of @target.
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_set_target(struct libmnt_fs *fs, const char *target)
+{
+ char *p = NULL;
+
+ assert(fs);
+
+ if (!fs)
+ return -EINVAL;
+ if (target) {
+ p = strdup(target);
+ if (!p)
+ return -ENOMEM;
+ }
+ free(fs->target);
+ fs->target = p;
+
+ return 0;
+}
+
+static int mnt_fs_get_flags(struct libmnt_fs *fs)
+{
+ return fs ? fs->flags : 0;
+}
+
+/**
+ * mnt_fs_is_kernel:
+ * @fs: filesystem
+ *
+ * Returns: 1 if the filesystem description is read from kernel e.g. /proc/mounts.
+ */
+int mnt_fs_is_kernel(struct libmnt_fs *fs)
+{
+ return mnt_fs_get_flags(fs) & MNT_FS_KERNEL;
+}
+
+/**
+ * mnt_fs_is_swaparea:
+ * @fs: filesystem
+ *
+ * Returns: 1 if the filesystem uses "swap" as a type
+ */
+int mnt_fs_is_swaparea(struct libmnt_fs *fs)
+{
+ return mnt_fs_get_flags(fs) & MNT_FS_SWAP;
+}
+
+/**
+ * mnt_fs_is_pseudofs:
+ * @fs: filesystem
+ *
+ * Returns: 1 if the filesystem is a pseudo fs type (proc, cgroups)
+ */
+int mnt_fs_is_pseudofs(struct libmnt_fs *fs)
+{
+ return mnt_fs_get_flags(fs) & MNT_FS_PSEUDO;
+}
+
+/**
+ * mnt_fs_is_netfs:
+ * @fs: filesystem
+ *
+ * Returns: 1 if the filesystem is a network filesystem
+ */
+int mnt_fs_is_netfs(struct libmnt_fs *fs)
+{
+ return mnt_fs_get_flags(fs) & MNT_FS_NET;
+}
+
+/**
+ * mnt_fs_get_fstype:
+ * @fs: fstab/mtab/mountinfo entry pointer
+ *
+ * Returns: pointer to filesystem type.
+ */
+const char *mnt_fs_get_fstype(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->fstype : NULL;
+}
+
+/* Used by struct libmnt_file parser only */
+int __mnt_fs_set_fstype_ptr(struct libmnt_fs *fs, char *fstype)
+{
+ assert(fs);
+
+ if (fstype != fs->fstype)
+ free(fs->fstype);
+
+ fs->fstype = fstype;
+ fs->flags &= ~MNT_FS_PSEUDO;
+ fs->flags &= ~MNT_FS_NET;
+ fs->flags &= ~MNT_FS_SWAP;
+
+ /* save info about pseudo filesystems */
+ if (fs->fstype) {
+ if (mnt_fstype_is_pseudofs(fs->fstype))
+ fs->flags |= MNT_FS_PSEUDO;
+ else if (mnt_fstype_is_netfs(fs->fstype))
+ fs->flags |= MNT_FS_NET;
+ else if (!strcmp(fs->fstype, "swap"))
+ fs->flags |= MNT_FS_SWAP;
+ }
+ return 0;
+}
+
+/**
+ * mnt_fs_set_fstype:
+ * @fs: fstab/mtab/mountinfo entry
+ * @fstype: filesystem type
+ *
+ * This function creates a private copy (strdup()) of @fstype.
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_set_fstype(struct libmnt_fs *fs, const char *fstype)
+{
+ char *p = NULL;
+
+ if (!fs)
+ return -EINVAL;
+ if (fstype) {
+ p = strdup(fstype);
+ if (!p)
+ return -ENOMEM;
+ }
+ return __mnt_fs_set_fstype_ptr(fs, p);
+}
+
+/*
+ * Merges @vfs and @fs options strings into a new string.
+ * This function cares about 'ro/rw' options. The 'ro' is
+ * always used if @vfs or @fs is read-only.
+ * For example:
+ *
+ * mnt_merge_optstr("rw,noexec", "ro,journal=update")
+ *
+ * returns: "ro,noexec,journal=update"
+ *
+ * mnt_merge_optstr("rw,noexec", "rw,journal=update")
+ *
+ * returns: "rw,noexec,journal=update"
+ */
+static char *merge_optstr(const char *vfs, const char *fs)
+{
+ char *res, *p;
+ size_t sz;
+ int ro = 0, rw = 0;
+
+ if (!vfs && !fs)
+ return NULL;
+ if (!vfs || !fs)
+ return strdup(fs ? fs : vfs);
+ if (!strcmp(vfs, fs))
+ return strdup(vfs); /* e.g. "aaa" and "aaa" */
+
+ /* leave space for leading "r[ow],", "," and trailing zero */
+ sz = strlen(vfs) + strlen(fs) + 5;
+ res = malloc(sz);
+ if (!res)
+ return NULL;
+ p = res + 3; /* make a room for rw/ro flag */
+
+ snprintf(p, sz - 3, "%s,%s", vfs, fs);
+
+ /* remove 'rw' flags */
+ rw += !mnt_optstr_remove_option(&p, "rw"); /* from vfs */
+ rw += !mnt_optstr_remove_option(&p, "rw"); /* from fs */
+
+ /* remove 'ro' flags if necessary */
+ if (rw != 2) {
+ ro += !mnt_optstr_remove_option(&p, "ro");
+ if (ro + rw < 2)
+ ro += !mnt_optstr_remove_option(&p, "ro");
+ }
+
+ if (!strlen(p))
+ memcpy(res, ro ? "ro" : "rw", 3);
+ else
+ memcpy(res, ro ? "ro," : "rw,", 3);
+ return res;
+}
+
+/**
+ * mnt_fs_strdup_options:
+ * @fs: fstab/mtab/mountinfo entry pointer
+ *
+ * Merges all mount options (VFS, FS and userspace) to the one options string
+ * and returns the result. This function does not modigy @fs.
+ *
+ * Returns: pointer to string (can be freed by free(3)) or NULL in case of error.
+ */
+char *mnt_fs_strdup_options(struct libmnt_fs *fs)
+{
+ char *res;
+
+ assert(fs);
+
+ errno = 0;
+
+ if (fs->optstr)
+ return strdup(fs->optstr);
+
+ res = merge_optstr(fs->vfs_optstr, fs->fs_optstr);
+ if (!res && errno)
+ return NULL;
+ if (fs->user_optstr) {
+ if (mnt_optstr_append_option(&res, fs->user_optstr, NULL)) {
+ free(res);
+ res = NULL;
+ }
+ }
+ return res;
+}
+
+/**
+ * mnt_fs_get_options:
+ * @fs: fstab/mtab/mountinfo entry pointer
+ *
+ * Returns: pointer to string or NULL in case of error.
+ */
+const char *mnt_fs_get_options(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->optstr : NULL;
+}
+
+
+/**
+ * mnt_fs_set_options:
+ * @fs: fstab/mtab/mountinfo entry pointer
+ * @optstr: options string
+ *
+ * Splits @optstr to VFS, FS and userspace mount options and update relevat
+ * parts of @fs.
+ *
+ * Returns: 0 on success, or negative number icase of error.
+ */
+int mnt_fs_set_options(struct libmnt_fs *fs, const char *optstr)
+{
+ char *v = NULL, *f = NULL, *u = NULL, *n = NULL;
+
+ assert(fs);
+
+ if (!fs)
+ return -EINVAL;
+ if (optstr) {
+ int rc = mnt_split_optstr(optstr, &u, &v, &f, 0, 0);
+ if (rc)
+ return rc;
+ n = strdup(optstr);
+ if (!n)
+ return -ENOMEM;
+ }
+
+ free(fs->fs_optstr);
+ free(fs->vfs_optstr);
+ free(fs->user_optstr);
+ free(fs->optstr);
+
+ fs->fs_optstr = f;
+ fs->vfs_optstr = v;
+ fs->user_optstr = u;
+ fs->optstr = n;
+
+ return 0;
+}
+
+/**
+ * mnt_fs_append_options:
+ * @fs: fstab/mtab/mountinfo entry
+ * @optstr: mount options
+ *
+ * Parses (splits) @optstr and appends results to VFS, FS and userspace lists
+ * of options.
+ *
+ * If @optstr is NULL then @fs is not modified and 0 is returned.
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_append_options(struct libmnt_fs *fs, const char *optstr)
+{
+ char *v = NULL, *f = NULL, *u = NULL;
+ int rc;
+
+ assert(fs);
+
+ if (!fs)
+ return -EINVAL;
+ if (!optstr)
+ return 0;
+
+ rc = mnt_split_optstr((char *) optstr, &u, &v, &f, 0, 0);
+ if (!rc && v)
+ rc = mnt_optstr_append_option(&fs->vfs_optstr, v, NULL);
+ if (!rc && f)
+ rc = mnt_optstr_append_option(&fs->fs_optstr, f, NULL);
+ if (!rc && u)
+ rc = mnt_optstr_append_option(&fs->user_optstr, u, NULL);
+ if (!rc)
+ rc = mnt_optstr_append_option(&fs->optstr, optstr, NULL);
+
+ free(v);
+ free(f);
+ free(u);
+
+ return rc;
+}
+
+/**
+ * mnt_fs_prepend_options:
+ * @fs: fstab/mtab/mountinfo entry
+ * @optstr: mount options
+ *
+ * Parses (splits) @optstr and prepands results to VFS, FS and userspace lists
+ * of options.
+ *
+ * If @optstr is NULL then @fs is not modified and 0 is returned.
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_prepend_options(struct libmnt_fs *fs, const char *optstr)
+{
+ char *v = NULL, *f = NULL, *u = NULL;
+ int rc;
+
+ assert(fs);
+
+ if (!fs)
+ return -EINVAL;
+ if (!optstr)
+ return 0;
+
+ rc = mnt_split_optstr((char *) optstr, &u, &v, &f, 0, 0);
+ if (!rc && v)
+ rc = mnt_optstr_prepend_option(&fs->vfs_optstr, v, NULL);
+ if (!rc && f)
+ rc = mnt_optstr_prepend_option(&fs->fs_optstr, f, NULL);
+ if (!rc && u)
+ rc = mnt_optstr_prepend_option(&fs->user_optstr, u, NULL);
+ if (!rc)
+ rc = mnt_optstr_prepend_option(&fs->optstr, optstr, NULL);
+
+ free(v);
+ free(f);
+ free(u);
+
+ return rc;
+}
+
+/*
+ * mnt_fs_get_fs_options:
+ * @fs: fstab/mtab/mountinfo entry pointer
+ *
+ * Returns: pointer to superblock (fs-depend) mount option string or NULL.
+ */
+const char *mnt_fs_get_fs_options(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->fs_optstr : NULL;
+}
+
+/**
+ * mnt_fs_get_vfs_options:
+ * @fs: fstab/mtab entry pointer
+ *
+ * Returns: pointer to fs-independent (VFS) mount option string or NULL.
+ */
+const char *mnt_fs_get_vfs_options(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->vfs_optstr : NULL;
+}
+
+/**
+ * mnt_fs_get_user_options:
+ * @fs: fstab/mtab entry pointer
+ *
+ * Returns: pointer to userspace mount option string or NULL.
+ */
+const char *mnt_fs_get_user_options(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->user_optstr : NULL;
+}
+
+/**
+ * mnt_fs_get_attributes:
+ * @fs: fstab/mtab entry pointer
+ *
+ * Returns: pointer to attributes string or NULL.
+ */
+const char *mnt_fs_get_attributes(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->attrs : NULL;
+}
+
+/**
+ * mnt_fs_set_attributes:
+ * @fs: fstab/mtab/mountinfo entry
+ * @optstr: options string
+ *
+ * Sets mount attributes. The attributes are mount(2) and mount(8) independent
+ * options, these options are not send to kernel and are not interpreted by
+ * libmount. The attributes are stored in /run/mount/utab only.
+ *
+ * The atrtributes are managed by libmount in userspace only. It's possible
+ * that information stored in userspace will not be available for libmount
+ * after CLONE_FS unshare. Be careful, and don't use attributes if possible.
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_set_attributes(struct libmnt_fs *fs, const char *optstr)
+{
+ char *p = NULL;
+
+ if (!fs)
+ return -EINVAL;
+ if (optstr) {
+ p = strdup(optstr);
+ if (!p)
+ return -ENOMEM;
+ }
+ free(fs->attrs);
+ fs->attrs = p;
+
+ return 0;
+}
+
+/**
+ * mnt_fs_append_attributes
+ * @fs: fstab/mtab/mountinfo entry
+ * @optstr: options string
+ *
+ * Appends mount attributes. (See mnt_fs_set_attributes()).
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_append_attributes(struct libmnt_fs *fs, const char *optstr)
+{
+ if (!fs)
+ return -EINVAL;
+ if (!optstr)
+ return 0;
+ return mnt_optstr_append_option(&fs->attrs, optstr, NULL);
+}
+
+/**
+ * mnt_fs_prepend_attributes
+ * @fs: fstab/mtab/mountinfo entry
+ * @optstr: options string
+ *
+ * Prepends mount attributes. (See mnt_fs_set_attributes()).
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_prepend_attributes(struct libmnt_fs *fs, const char *optstr)
+{
+ if (!fs)
+ return -EINVAL;
+ if (!optstr)
+ return 0;
+ return mnt_optstr_prepend_option(&fs->attrs, optstr, NULL);
+}
+
+
+/**
+ * mnt_fs_get_freq:
+ * @fs: fstab/mtab/mountinfo entry pointer
+ *
+ * Returns: dump frequency in days.
+ */
+int mnt_fs_get_freq(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->freq : 0;
+}
+
+/**
+ * mnt_fs_set_freq:
+ * @fs: fstab/mtab entry pointer
+ * @freq: dump frequency in days
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_set_freq(struct libmnt_fs *fs, int freq)
+{
+ assert(fs);
+ if (!fs)
+ return -EINVAL;
+ fs->freq = freq;
+ return 0;
+}
+
+/**
+ * mnt_fs_get_passno:
+ * @fs: fstab/mtab entry pointer
+ *
+ * Returns: "pass number on parallel fsck".
+ */
+int mnt_fs_get_passno(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->passno: 0;
+}
+
+/**
+ * mnt_fs_set_passno:
+ * @fs: fstab/mtab entry pointer
+ * @passno: pass number
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_set_passno(struct libmnt_fs *fs, int passno)
+{
+ assert(fs);
+ if (!fs)
+ return -EINVAL;
+ fs->passno = passno;
+ return 0;
+}
+
+/**
+ * mnt_fs_get_root:
+ * @fs: /proc/self/mountinfo entry
+ *
+ * Returns: root of the mount within the filesystem or NULL
+ */
+const char *mnt_fs_get_root(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->root : NULL;
+}
+
+/**
+ * mnt_fs_set_root:
+ * @fs: mountinfo entry
+ * @root: path
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_set_root(struct libmnt_fs *fs, const char *root)
+{
+ char *p = NULL;
+
+ assert(fs);
+ if (!fs)
+ return -EINVAL;
+ if (root) {
+ p = strdup(root);
+ if (!p)
+ return -ENOMEM;
+ }
+ free(fs->root);
+ fs->root = p;
+ return 0;
+}
+
+/**
+ * mnt_fs_get_swaptype:
+ * @fs: /proc/swaps entry
+ *
+ * Returns: swap type or NULL
+ */
+const char *mnt_fs_get_swaptype(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->swaptype : NULL;
+}
+
+/**
+ * mnt_fs_get_size:
+ * @fs: /proc/swaps entry
+ *
+ * Returns: size
+ */
+off_t mnt_fs_get_size(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->size : 0;
+}
+
+/**
+ * mnt_fs_get_usedsize:
+ * @fs: /proc/swaps entry
+ *
+ * Returns: used size
+ */
+off_t mnt_fs_get_usedsize(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->usedsize : 0;
+}
+
+/**
+ * mnt_fs_get_priority:
+ * @fs: /proc/swaps entry
+ *
+ * Returns: priority
+ */
+int mnt_fs_get_priority(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->priority : 0;
+}
+
+/**
+ * mnt_fs_set_priority:
+ * @fs: /proc/swaps entry
+ *
+ * Returns: 0 or -1 in case of error
+ */
+int mnt_fs_set_priority(struct libmnt_fs *fs, int prio)
+{
+ assert(fs);
+ if (!fs)
+ return -EINVAL;
+ fs->priority = prio;
+ return 0;
+}
+
+/**
+ * mnt_fs_get_bindsrc:
+ * @fs: /run/mount/utab entry
+ *
+ * Returns: full path that was used for mount(2) on MS_BIND
+ */
+const char *mnt_fs_get_bindsrc(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->bindsrc : NULL;
+}
+
+/**
+ * mnt_fs_set_bindsrc:
+ * @fs: filesystem
+ * @src: path
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_set_bindsrc(struct libmnt_fs *fs, const char *src)
+{
+ char *p = NULL;
+
+ assert(fs);
+ if (!fs)
+ return -EINVAL;
+ if (src) {
+ p = strdup(src);
+ if (!p)
+ return -ENOMEM;
+ }
+ free(fs->bindsrc);
+ fs->bindsrc = p;
+ return 0;
+}
+
+/**
+ * mnt_fs_get_id:
+ * @fs: /proc/self/mountinfo entry
+ *
+ * Returns: mount ID (unique identifier of the mount) or negative number in case of error.
+ */
+int mnt_fs_get_id(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->id : -EINVAL;
+}
+
+/**
+ * mnt_fs_get_parent_id:
+ * @fs: /proc/self/mountinfo entry
+ *
+ * Returns: parent mount ID or negative number in case of error.
+ */
+int mnt_fs_get_parent_id(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->parent : -EINVAL;
+}
+
+/**
+ * mnt_fs_get_devno:
+ * @fs: /proc/self/mountinfo entry
+ *
+ * Returns: value of st_dev for files on filesystem or 0 in case of error.
+ */
+dev_t mnt_fs_get_devno(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->devno : 0;
+}
+
+/**
+ * mnt_fs_get_tid:
+ * @fs: /proc/<tid>/mountinfo entry
+ *
+ * Returns: TID (task ID) for filesystems read from mountinfo file
+ */
+pid_t mnt_fs_get_tid(struct libmnt_fs *fs)
+{
+ assert(fs);
+ return fs ? fs->tid : 0;
+}
+
+/**
+ * mnt_fs_get_option:
+ * @fs: fstab/mtab/mountinfo entry pointer
+ * @name: option name
+ * @value: returns pointer to the begin of the value (e.g. name=VALUE) or NULL
+ * @valsz: returns size of options value or 0
+ *
+ * Returns: 0 on success, 1 when not found the @name or negative number in case of error.
+ */
+int mnt_fs_get_option(struct libmnt_fs *fs, const char *name,
+ char **value, size_t *valsz)
+{
+ char rc = 1;
+
+ if (fs->fs_optstr)
+ rc = mnt_optstr_get_option(fs->fs_optstr, name, value, valsz);
+ if (rc == 1 && fs->vfs_optstr)
+ rc = mnt_optstr_get_option(fs->vfs_optstr, name, value, valsz);
+ if (rc == 1 && fs->user_optstr)
+ rc = mnt_optstr_get_option(fs->user_optstr, name, value, valsz);
+ return rc;
+}
+
+/**
+ * mnt_fs_get_attribute:
+ * @fs: fstab/mtab/mountinfo entry pointer
+ * @name: option name
+ * @value: returns pointer to the begin of the value (e.g. name=VALUE) or NULL
+ * @valsz: returns size of options value or 0
+ *
+ * Returns: 0 on success, 1 when not found the @name or negative number in case of error.
+ */
+int mnt_fs_get_attribute(struct libmnt_fs *fs, const char *name,
+ char **value, size_t *valsz)
+{
+ char rc = 1;
+
+ if (fs->attrs)
+ rc = mnt_optstr_get_option(fs->attrs, name, value, valsz);
+ return rc;
+}
+
+/**
+ * mnt_fs_match_target:
+ * @fs: filesystem
+ * @target: mountpoint path
+ * @cache: tags/paths cache or NULL
+ *
+ * Possible are three attempts:
+ * 1) compare @target with @fs->target
+ * 2) realpath(@target) with @fs->target
+ * 3) realpath(@target) with realpath(@fs->target) if @fs is not from
+ * /proc/self/mountinfo.
+ *
+ * The 2nd and 3rd attempts are not performed when @cache is NULL.
+ *
+ * Returns: 1 if @fs target is equal to @target else 0.
+ */
+int mnt_fs_match_target(struct libmnt_fs *fs, const char *target,
+ struct libmnt_cache *cache)
+{
+ int rc = 0;
+
+ if (!fs || !target || !fs->target)
+ return 0;
+
+ /* 1) native paths */
+ rc = mnt_fs_streq_target(fs, target);
+
+ if (!rc && cache) {
+ /* 2) - canonicalized and non-canonicalized */
+ char *cn = mnt_resolve_path(target, cache);
+ rc = (cn && strcmp(cn, fs->target) == 0);
+
+ /* 3) - canonicalized and canonicalized */
+ if (!rc && cn && !mnt_fs_is_kernel(fs)) {
+ char *tcn = mnt_resolve_path(fs->target, cache);
+ rc = (tcn && strcmp(cn, tcn) == 0);
+ }
+ }
+
+ return rc;
+}
+
+/**
+ * mnt_fs_match_source:
+ * @fs: filesystem
+ * @source: tag or path (device or so) or NULL
+ * @cache: tags/paths cache or NULL
+ *
+ * Possible are four attempts:
+ * 1) compare @source with @fs->source
+ * 2) compare realpath(@source) with @fs->source
+ * 3) compare realpath(@source) with realpath(@fs->source)
+ * 4) compare realpath(@source) with evaluated tag from @fs->source
+ *
+ * The 2nd, 3rd and 4th attempts are not performed when @cache is NULL. The
+ * 2nd and 3rd attempts are not performed if @fs->source is tag.
+ *
+ * Returns: 1 if @fs source is equal to @source else 0.
+ */
+int mnt_fs_match_source(struct libmnt_fs *fs, const char *source,
+ struct libmnt_cache *cache)
+{
+ char *cn;
+ const char *src, *t, *v;
+
+ if (!fs)
+ return 0;
+
+ /* 1) native paths... */
+ if (mnt_fs_streq_srcpath(fs, source) == 1)
+ return 1;
+
+ if (!source || !fs->source)
+ return 0;
+
+ /* ... and tags */
+ if (fs->tagname && strcmp(source, fs->source) == 0)
+ return 1;
+
+ if (!cache)
+ return 0;
+ if (fs->flags & (MNT_FS_NET | MNT_FS_PSEUDO))
+ return 0;
+
+ cn = mnt_resolve_spec(source, cache);
+ if (!cn)
+ return 0;
+
+ /* 2) canonicalized and native */
+ src = mnt_fs_get_srcpath(fs);
+ if (src && mnt_fs_streq_srcpath(fs, cn))
+ return 1;
+
+ /* 3) canonicalized and canonicalized */
+ if (src) {
+ src = mnt_resolve_path(src, cache);
+ if (src && !strcmp(cn, src))
+ return 1;
+ }
+ if (src || mnt_fs_get_tag(fs, &t, &v))
+ /* src path does not match and tag is not defined */
+ return 0;
+
+ /* read @source's tags to the cache */
+ if (mnt_cache_read_tags(cache, cn) < 0) {
+ if (errno == EACCES) {
+ /* we don't have permissions to read TAGs from
+ * @source, but can translate @fs tag to devname.
+ *
+ * (because libblkid uses udev symlinks and this is
+ * accessible for non-root uses)
+ */
+ char *x = mnt_resolve_tag(t, v, cache);
+ if (x && !strcmp(x, cn))
+ return 1;
+ }
+ return 0;
+ }
+
+ /* 4) has the @source a tag that matches with tag from @fs ? */
+ if (mnt_cache_device_has_tag(cache, cn, t, v))
+ return 1;
+
+ return 0;
+}
+
+/**
+ * mnt_fs_match_fstype:
+ * @fs: filesystem
+ * @types: filesystem name or comma delimited list of filesystems
+ *
+ * For more details see mnt_match_fstype().
+ *
+ * Returns: 1 if @fs type is matching to @types else 0. The function returns
+ * 0 when types is NULL.
+ */
+int mnt_fs_match_fstype(struct libmnt_fs *fs, const char *types)
+{
+ return mnt_match_fstype(fs->fstype, types);
+}
+
+/**
+ * mnt_fs_match_options:
+ * @fs: filesystem
+ * @options: comma delimited list of options (and nooptions)
+ *
+ * For more details see mnt_match_options().
+ *
+ * Returns: 1 if @fs type is matching to @options else 0. The function returns
+ * 0 when types is NULL.
+ */
+int mnt_fs_match_options(struct libmnt_fs *fs, const char *options)
+{
+ return mnt_match_options(mnt_fs_get_options(fs), options);
+}
+
+/**
+ * mnt_fs_print_debug
+ * @fs: fstab/mtab/mountinfo entry
+ * @file: file stream
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_fs_print_debug(struct libmnt_fs *fs, FILE *file)
+{
+ if (!fs)
+ return -EINVAL;
+ fprintf(file, "------ fs: %p\n", fs);
+ fprintf(file, "source: %s\n", mnt_fs_get_source(fs));
+ fprintf(file, "target: %s\n", mnt_fs_get_target(fs));
+ fprintf(file, "fstype: %s\n", mnt_fs_get_fstype(fs));
+
+ if (mnt_fs_get_options(fs))
+ fprintf(file, "optstr: %s\n", mnt_fs_get_options(fs));
+ if (mnt_fs_get_vfs_options(fs))
+ fprintf(file, "VFS-optstr: %s\n", mnt_fs_get_vfs_options(fs));
+ if (mnt_fs_get_fs_options(fs))
+ fprintf(file, "FS-opstr: %s\n", mnt_fs_get_fs_options(fs));
+ if (mnt_fs_get_user_options(fs))
+ fprintf(file, "user-optstr: %s\n", mnt_fs_get_user_options(fs));
+ if (mnt_fs_get_attributes(fs))
+ fprintf(file, "attributes: %s\n", mnt_fs_get_attributes(fs));
+
+ if (mnt_fs_get_root(fs))
+ fprintf(file, "root: %s\n", mnt_fs_get_root(fs));
+
+ if (mnt_fs_get_swaptype(fs))
+ fprintf(file, "swaptype: %s\n", mnt_fs_get_swaptype(fs));
+ if (mnt_fs_get_size(fs))
+ fprintf(file, "size: %jd\n", mnt_fs_get_size(fs));
+ if (mnt_fs_get_usedsize(fs))
+ fprintf(file, "usedsize: %jd\n", mnt_fs_get_usedsize(fs));
+ if (mnt_fs_get_priority(fs))
+ fprintf(file, "priority: %d\n", mnt_fs_get_priority(fs));
+
+ if (mnt_fs_get_bindsrc(fs))
+ fprintf(file, "bindsrc: %s\n", mnt_fs_get_bindsrc(fs));
+ if (mnt_fs_get_freq(fs))
+ fprintf(file, "freq: %d\n", mnt_fs_get_freq(fs));
+ if (mnt_fs_get_passno(fs))
+ fprintf(file, "pass: %d\n", mnt_fs_get_passno(fs));
+ if (mnt_fs_get_id(fs))
+ fprintf(file, "id: %d\n", mnt_fs_get_id(fs));
+ if (mnt_fs_get_parent_id(fs))
+ fprintf(file, "parent: %d\n", mnt_fs_get_parent_id(fs));
+ if (mnt_fs_get_devno(fs))
+ fprintf(file, "devno: %d:%d\n", major(mnt_fs_get_devno(fs)),
+ minor(mnt_fs_get_devno(fs)));
+ if (mnt_fs_get_tid(fs))
+ fprintf(file, "tid: %d\n", mnt_fs_get_tid(fs));
+
+ return 0;
+}
+
+/**
+ * mnt_free_mntent:
+ * @mnt: mount entry
+ *
+ * Deallocates "mntent.h" mount entry.
+ */
+void mnt_free_mntent(struct mntent *mnt)
+{
+ if (mnt) {
+ free(mnt->mnt_fsname);
+ free(mnt->mnt_dir);
+ free(mnt->mnt_type);
+ free(mnt->mnt_opts);
+ free(mnt);
+ }
+}
+
+/**
+ * mnt_fs_to_mntent:
+ * @fs: filesystem
+ * @mnt: mount description (as described in mntent.h)
+ *
+ * Copies information from @fs to struct mntent @mnt. If @mnt is already set
+ * then the struct mntent items are reallocated and updated. See also
+ * mnt_free_mntent().
+ *
+ * Returns: 0 on success and negative number in case of error.
+ */
+int mnt_fs_to_mntent(struct libmnt_fs *fs, struct mntent **mnt)
+{
+ int rc;
+ struct mntent *m;
+
+ if (!fs || !mnt)
+ return -EINVAL;
+
+ m = *mnt;
+ if (!m) {
+ m = calloc(1, sizeof(*m));
+ if (!m)
+ return -ENOMEM;
+ }
+
+ if ((rc = update_str(&m->mnt_fsname, mnt_fs_get_source(fs))))
+ goto err;
+ if ((rc = update_str(&m->mnt_dir, mnt_fs_get_target(fs))))
+ goto err;
+ if ((rc = update_str(&m->mnt_type, mnt_fs_get_fstype(fs))))
+ goto err;
+
+ errno = 0;
+ m->mnt_opts = mnt_fs_strdup_options(fs);
+ if (!m->mnt_opts && errno) {
+ rc = -errno;
+ goto err;
+ }
+
+ m->mnt_freq = mnt_fs_get_freq(fs);
+ m->mnt_passno = mnt_fs_get_passno(fs);
+
+ if (!m->mnt_fsname) {
+ m->mnt_fsname = strdup("none");
+ if (!m->mnt_fsname)
+ goto err;
+ }
+ *mnt = m;
+
+ return 0;
+err:
+ if (m != *mnt)
+ mnt_free_mntent(m);
+ return rc;
+}
diff --git a/libmount/src/init.c b/libmount/src/init.c
new file mode 100644
index 0000000..58d4c18
--- /dev/null
+++ b/libmount/src/init.c
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: init
+ * @title: Library initialization
+ * @short_description: initialize debuging
+ */
+
+#include <stdarg.h>
+
+#include "mountP.h"
+
+int libmount_debug_mask;
+
+/**
+ * mnt_init_debug:
+ * @mask: debug mask (0xffff to enable full debuging)
+ *
+ * If the @mask is not specified then this function reads
+ * LIBMOUNT_DEBUG environment variable to get the mask.
+ *
+ * Already initialized debugging stuff cannot be changed. It does not
+ * have effect to call this function twice.
+ */
+void mnt_init_debug(int mask)
+{
+ if (libmount_debug_mask & MNT_DEBUG_INIT)
+ return;
+ if (!mask) {
+ char *str = getenv("LIBMOUNT_DEBUG");
+ if (str)
+ libmount_debug_mask = strtoul(str, 0, 0);
+ } else
+ libmount_debug_mask = mask;
+
+ if (libmount_debug_mask)
+ fprintf(stderr, "libmount: debug mask set to 0x%04x.\n",
+ libmount_debug_mask);
+ libmount_debug_mask |= MNT_DEBUG_INIT;
+}
diff --git a/libmount/src/iter.c b/libmount/src/iter.c
new file mode 100644
index 0000000..393c23e
--- /dev/null
+++ b/libmount/src/iter.c
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: iter
+ * @title: Iterator
+ * @short_description: unified iterator
+ *
+ * The iterator keeps direction and last position for access to the internal
+ * library tables/lists.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "mountP.h"
+
+/**
+ * mnt_new_iter:
+ * @direction: MNT_INTER_{FOR,BACK}WARD direction
+ *
+ * Returns: newly allocated generic libmount iterator.
+ */
+struct libmnt_iter *mnt_new_iter(int direction)
+{
+ struct libmnt_iter *itr = calloc(1, sizeof(*itr));
+ if (!itr)
+ return NULL;
+ itr->direction = direction;
+ return itr;
+}
+
+/**
+ * mnt_free_iter:
+ * @itr: iterator pointer
+ *
+ * Deallocates iterator.
+ */
+void mnt_free_iter(struct libmnt_iter *itr)
+{
+ free(itr);
+}
+
+/**
+ * mnt_reset_iter:
+ * @itr: iterator pointer
+ * @direction: MNT_INTER_{FOR,BACK}WARD or -1 to keep the derection unchanged
+ *
+ * Resets iterator.
+ */
+void mnt_reset_iter(struct libmnt_iter *itr, int direction)
+{
+ assert(itr);
+
+ if (direction == -1 && itr)
+ direction = itr->direction;
+
+ if (itr) {
+ memset(itr, 0, sizeof(*itr));
+ itr->direction = direction;
+ }
+}
+
+/**
+ * mnt_iter_get_direction:
+ * @itr: iterator pointer
+ *
+ * Returns: MNT_INTER_{FOR,BACK}WARD or negative number in case of error.
+ */
+int mnt_iter_get_direction(struct libmnt_iter *itr)
+{
+ assert(itr);
+ return itr ? itr->direction : -EINVAL;
+}
diff --git a/libmount/src/libmount.h.in b/libmount/src/libmount.h.in
new file mode 100644
index 0000000..43646ac
--- /dev/null
+++ b/libmount/src/libmount.h.in
@@ -0,0 +1,653 @@
+/*
+ * mount.h - libmount API
+ *
+ * Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef _LIBMOUNT_MOUNT_H
+#define _LIBMOUNT_MOUNT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdio.h>
+#include <mntent.h>
+#include <sys/types.h>
+
+#define LIBMOUNT_VERSION "@LIBMOUNT_VERSION@"
+
+/**
+ * libmnt_cache:
+ *
+ * Stores canonicalized paths and evaluated tags
+ */
+struct libmnt_cache;
+
+/**
+ * libmnt_lock:
+ *
+ * Stores information about locked file (e.g. /etc/mtab)
+ */
+struct libmnt_lock;
+
+/**
+ * libmnt_iter:
+ *
+ * Generic iterator (stores state about lists)
+ */
+struct libmnt_iter;
+
+/**
+ * libmnt_optmap:
+ *
+ * Mount options description (map)
+ */
+struct libmnt_optmap
+{
+ const char *name; /* option name[=%<type>] (e.g. "loop[=%s]") */
+ int id; /* option ID or MS_* flags (e.g MS_RDONLY) */
+ int mask; /* MNT_{NOMTAB,INVERT,...} mask */
+};
+
+/*
+ * mount options map masks
+ */
+#define MNT_INVERT (1 << 1) /* invert the mountflag */
+#define MNT_NOMTAB (1 << 2) /* skip in the mtab option string */
+#define MNT_PREFIX (1 << 3) /* prefix used for some options (e.g. "x-foo") */
+#define MNT_NOHLPS (1 << 4) /* don't add the option to mount.<type> helpers command line */
+
+/**
+ * libmnt_fs:
+ *
+ * Parsed fstab/mtab/mountinfo entry
+ */
+struct libmnt_fs;
+
+/**
+ * libmnt_table:
+ *
+ * List of struct libmnt_fs entries (parsed fstab/mtab/mountinfo)
+ */
+struct libmnt_table;
+
+/**
+ * libmnt_update
+ *
+ * /etc/mtab or utab update description
+ */
+struct libmnt_update;
+
+/**
+ * libmnt_context
+ *
+ * Mount/umount status
+ */
+struct libmnt_context;
+
+/**
+ * libmnt_tabdiff:
+ *
+ * Stores mountinfo state
+ */
+struct libmnt_tabdiff;
+
+/*
+ * Actions
+ */
+enum {
+ MNT_ACT_MOUNT = 1,
+ MNT_ACT_UMOUNT
+};
+
+/*
+ * Errors -- by default libmount returns -errno for generic errors (ENOMEM,
+ * EINVAL, ...) and for mount(2) errors, but for some specific operations it
+ * returns private error codes. Note that maximum system errno value should be
+ * 4095 on UNIXes.
+ *
+ * See also mnt_context_get_syscall_errno() and mnt_context_get_helper_status().
+ */
+#define MNT_ERR_NOFSTAB 5000 /* not found required entry in fstab */
+#define MNT_ERR_NOFSTYPE 5001 /* failed to detect filesystem type */
+#define MNT_ERR_NOSOURCE 5002 /* required mount source undefined */
+#define MNT_ERR_LOOPDEV 5003 /* loopdev setup failed, errno set by libc */
+#define MNT_ERR_MOUNTOPT 5004 /* failed to parse/use userspace mount options */
+
+/* init.c */
+extern void mnt_init_debug(int mask);
+
+/* version.c */
+extern int mnt_parse_version_string(const char *ver_string);
+extern int mnt_get_library_version(const char **ver_string);
+extern int mnt_get_library_features(const char ***features);
+
+/* utils.c */
+extern char *mnt_mangle(const char *str);
+extern char *mnt_unmangle(const char *str);
+extern int mnt_fstype_is_netfs(const char *type);
+extern int mnt_fstype_is_pseudofs(const char *type);
+extern int mnt_match_fstype(const char *type, const char *pattern);
+extern int mnt_match_options(const char *optstr, const char *pattern);
+extern const char *mnt_get_fstab_path(void);
+extern const char *mnt_get_swaps_path(void);
+extern const char *mnt_get_mtab_path(void);
+extern int mnt_has_regular_mtab(const char **mtab, int *writable);
+extern char *mnt_get_mountpoint(const char *path);
+
+/* cache.c */
+extern struct libmnt_cache *mnt_new_cache(void);
+extern void mnt_free_cache(struct libmnt_cache *cache);
+extern int mnt_cache_read_tags(struct libmnt_cache *cache, const char *devname);
+extern int mnt_cache_device_has_tag(struct libmnt_cache *cache,
+ const char *devname,
+ const char *token,
+ const char *value);
+
+extern char *mnt_cache_find_tag_value(struct libmnt_cache *cache,
+ const char *devname, const char *token);
+
+extern char *mnt_get_fstype(const char *devname, int *ambi,
+ struct libmnt_cache *cache);
+extern char *mnt_resolve_path(const char *path, struct libmnt_cache *cache);
+extern char *mnt_resolve_tag(const char *token, const char *value,
+ struct libmnt_cache *cache);
+extern char *mnt_resolve_spec(const char *spec, struct libmnt_cache *cache);
+
+extern char *mnt_pretty_path(const char *path, struct libmnt_cache *cache);
+
+/* optstr.c */
+extern int mnt_optstr_next_option(char **optstr, char **name, size_t *namesz,
+ char **value, size_t *valuesz);
+extern int mnt_optstr_append_option(char **optstr, const char *name,
+ const char *value);
+extern int mnt_optstr_prepend_option(char **optstr, const char *name,
+ const char *value);
+extern int mnt_optstr_get_option(const char *optstr, const char *name,
+ char **value, size_t *valsz);
+extern int mnt_optstr_set_option(char **optstr, const char *name,
+ const char *value);
+extern int mnt_optstr_remove_option(char **optstr, const char *name);
+extern int mnt_optstr_deduplicate_option(char **optstr, const char *name);
+
+extern int mnt_split_optstr(const char *optstr,
+ char **user, char **vfs, char **fs,
+ int ignore_user, int ignore_vfs);
+
+extern int mnt_optstr_get_options(const char *optstr, char **subset,
+ const struct libmnt_optmap *map, int ignore);
+
+extern int mnt_optstr_get_flags(const char *optstr, unsigned long *flags,
+ const struct libmnt_optmap *map);
+extern int mnt_optstr_apply_flags(char **optstr, unsigned long flags,
+ const struct libmnt_optmap *map);
+
+
+/* iter.c */
+enum {
+
+ MNT_ITER_FORWARD = 0,
+ MNT_ITER_BACKWARD
+};
+extern struct libmnt_iter *mnt_new_iter(int direction);
+extern void mnt_free_iter(struct libmnt_iter *itr);
+extern void mnt_reset_iter(struct libmnt_iter *itr, int direction);
+extern int mnt_iter_get_direction(struct libmnt_iter *itr);
+
+/* optmap.c */
+enum {
+ MNT_LINUX_MAP = 1,
+ MNT_USERSPACE_MAP
+};
+extern const struct libmnt_optmap *mnt_get_builtin_optmap(int id);
+
+/* lock.c */
+extern struct libmnt_lock *mnt_new_lock(const char *datafile, pid_t id);
+extern void mnt_free_lock(struct libmnt_lock *ml);
+extern void mnt_unlock_file(struct libmnt_lock *ml);
+extern int mnt_lock_file(struct libmnt_lock *ml);
+extern int mnt_lock_block_signals(struct libmnt_lock *ml, int enable);
+
+/* fs.c */
+extern struct libmnt_fs *mnt_new_fs(void);
+extern void mnt_free_fs(struct libmnt_fs *fs);
+extern void mnt_reset_fs(struct libmnt_fs *fs);
+extern struct libmnt_fs *mnt_copy_fs(struct libmnt_fs *dest,
+ const struct libmnt_fs *src);
+extern void *mnt_fs_get_userdata(struct libmnt_fs *fs);
+extern int mnt_fs_set_userdata(struct libmnt_fs *fs, void *data);
+extern const char *mnt_fs_get_source(struct libmnt_fs *fs);
+extern int mnt_fs_set_source(struct libmnt_fs *fs, const char *source);
+extern const char *mnt_fs_get_srcpath(struct libmnt_fs *fs);
+extern int mnt_fs_get_tag(struct libmnt_fs *fs, const char **name,
+ const char **value);
+extern const char *mnt_fs_get_target(struct libmnt_fs *fs);
+extern int mnt_fs_set_target(struct libmnt_fs *fs, const char *target);
+extern const char *mnt_fs_get_fstype(struct libmnt_fs *fs);
+extern int mnt_fs_set_fstype(struct libmnt_fs *fs, const char *fstype);
+
+extern int mnt_fs_streq_srcpath(struct libmnt_fs *fs, const char *path);
+extern int mnt_fs_streq_target(struct libmnt_fs *fs, const char *path);
+
+extern char *mnt_fs_strdup_options(struct libmnt_fs *fs);
+extern const char *mnt_fs_get_options(struct libmnt_fs *fs);
+extern int mnt_fs_set_options(struct libmnt_fs *fs, const char *optstr);
+extern int mnt_fs_append_options(struct libmnt_fs *fs, const char *optstr);
+extern int mnt_fs_prepend_options(struct libmnt_fs *fs, const char *optstr);
+
+extern int mnt_fs_get_option(struct libmnt_fs *fs, const char *name,
+ char **value, size_t *valsz);
+
+
+extern const char *mnt_fs_get_fs_options(struct libmnt_fs *fs);
+extern const char *mnt_fs_get_vfs_options(struct libmnt_fs *fs);
+extern const char *mnt_fs_get_user_options(struct libmnt_fs *fs);
+
+extern const char *mnt_fs_get_attributes(struct libmnt_fs *fs);
+extern int mnt_fs_set_attributes(struct libmnt_fs *fs, const char *optstr);
+extern int mnt_fs_get_attribute(struct libmnt_fs *fs, const char *name,
+ char **value, size_t *valsz);
+extern int mnt_fs_append_attributes(struct libmnt_fs *fs, const char *optstr);
+extern int mnt_fs_prepend_attributes(struct libmnt_fs *fs, const char *optstr);
+
+extern int mnt_fs_get_freq(struct libmnt_fs *fs);
+extern int mnt_fs_set_freq(struct libmnt_fs *fs, int freq);
+extern int mnt_fs_get_passno(struct libmnt_fs *fs);
+extern int mnt_fs_set_passno(struct libmnt_fs *fs, int passno);
+extern const char *mnt_fs_get_root(struct libmnt_fs *fs);
+extern int mnt_fs_set_root(struct libmnt_fs *fs, const char *root);
+extern const char *mnt_fs_get_bindsrc(struct libmnt_fs *fs);
+extern int mnt_fs_set_bindsrc(struct libmnt_fs *fs, const char *src);
+extern int mnt_fs_get_id(struct libmnt_fs *fs);
+extern int mnt_fs_get_parent_id(struct libmnt_fs *fs);
+extern dev_t mnt_fs_get_devno(struct libmnt_fs *fs);
+extern pid_t mnt_fs_get_tid(struct libmnt_fs *fs);
+
+extern const char *mnt_fs_get_swaptype(struct libmnt_fs *fs);
+extern off_t mnt_fs_get_size(struct libmnt_fs *fs);
+extern off_t mnt_fs_get_usedsize(struct libmnt_fs *fs);
+extern int mnt_fs_get_priority(struct libmnt_fs *fs);
+
+extern int mnt_fs_match_target(struct libmnt_fs *fs, const char *target,
+ struct libmnt_cache *cache);
+extern int mnt_fs_match_source(struct libmnt_fs *fs, const char *source,
+ struct libmnt_cache *cache);
+extern int mnt_fs_match_fstype(struct libmnt_fs *fs, const char *types);
+extern int mnt_fs_match_options(struct libmnt_fs *fs, const char *options);
+extern int mnt_fs_print_debug(struct libmnt_fs *fs, FILE *file);
+
+extern int mnt_fs_is_kernel(struct libmnt_fs *fs);
+extern int mnt_fs_is_swaparea(struct libmnt_fs *fs);
+extern int mnt_fs_is_netfs(struct libmnt_fs *fs);
+extern int mnt_fs_is_pseudofs(struct libmnt_fs *fs);
+
+extern void mnt_free_mntent(struct mntent *mnt);
+extern int mnt_fs_to_mntent(struct libmnt_fs *fs, struct mntent **mnt);
+
+/* tab-parse.c */
+extern struct libmnt_table *mnt_new_table_from_file(const char *filename);
+extern struct libmnt_table *mnt_new_table_from_dir(const char *dirname);
+extern int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f,
+ const char *filename);
+extern int mnt_table_parse_file(struct libmnt_table *tb, const char *filename);
+extern int mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname);
+
+extern int mnt_table_parse_fstab(struct libmnt_table *tb, const char *filename);
+extern int mnt_table_parse_swaps(struct libmnt_table *tb, const char *filename);
+extern int mnt_table_parse_mtab(struct libmnt_table *tb, const char *filename);
+extern int mnt_table_set_parser_errcb(struct libmnt_table *tb,
+ int (*cb)(struct libmnt_table *tb, const char *filename, int line));
+
+/* tab.c */
+extern struct libmnt_table *mnt_new_table(void);
+extern void mnt_free_table(struct libmnt_table *tb);
+extern int mnt_reset_table(struct libmnt_table *tb);
+extern int mnt_table_get_nents(struct libmnt_table *tb);
+extern int mnt_table_set_cache(struct libmnt_table *tb, struct libmnt_cache *mpc);
+extern struct libmnt_cache *mnt_table_get_cache(struct libmnt_table *tb);
+extern int mnt_table_add_fs(struct libmnt_table *tb, struct libmnt_fs *fs);
+extern int mnt_table_remove_fs(struct libmnt_table *tb, struct libmnt_fs *fs);
+extern int mnt_table_next_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
+ struct libmnt_fs **fs);
+extern int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
+ struct libmnt_fs *parent, struct libmnt_fs **chld);
+extern int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root);
+extern int mnt_table_set_iter(struct libmnt_table *tb, struct libmnt_iter *itr,
+ struct libmnt_fs *fs);
+
+extern struct libmnt_fs *mnt_table_find_target(struct libmnt_table *tb,
+ const char *path, int direction);
+extern struct libmnt_fs *mnt_table_find_srcpath(struct libmnt_table *tb,
+ const char *path, int direction);
+extern struct libmnt_fs *mnt_table_find_tag(struct libmnt_table *tb, const char *tag,
+ const char *val, int direction);
+extern struct libmnt_fs *mnt_table_find_source(struct libmnt_table *tb,
+ const char *source, int direction);
+extern struct libmnt_fs *mnt_table_find_pair(struct libmnt_table *tb,
+ const char *source,
+ const char *target, int direction);
+extern struct libmnt_fs *mnt_table_find_devno(struct libmnt_table *tb,
+ dev_t devno, int direction);
+
+extern int mnt_table_find_next_fs(struct libmnt_table *tb,
+ struct libmnt_iter *itr,
+ int (*match_func)(struct libmnt_fs *, void *), void *userdata,
+ struct libmnt_fs **fs);
+
+extern int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs);
+
+
+/* tab_update.c */
+extern struct libmnt_update *mnt_new_update(void);
+extern void mnt_free_update(struct libmnt_update *upd);
+extern int mnt_update_is_ready(struct libmnt_update *upd);
+extern int mnt_update_set_fs(struct libmnt_update *upd, unsigned long mountflags,
+ const char *target, struct libmnt_fs *fs);
+extern int mnt_update_table(struct libmnt_update *upd, struct libmnt_lock *lc);
+extern unsigned long mnt_update_get_mflags(struct libmnt_update *upd);
+extern int mnt_update_force_rdonly(struct libmnt_update *upd, int rdonly);
+extern const char *mnt_update_get_filename(struct libmnt_update *upd);
+extern struct libmnt_fs *mnt_update_get_fs(struct libmnt_update *upd);
+
+/* tab_diff.c */
+enum {
+ MNT_TABDIFF_MOUNT = 1,
+ MNT_TABDIFF_UMOUNT,
+ MNT_TABDIFF_MOVE,
+ MNT_TABDIFF_REMOUNT,
+ MNT_TABDIFF_PROPAGATION, /* not implemented yet (TODO) */
+};
+
+extern struct libmnt_tabdiff *mnt_new_tabdiff(void);
+extern void mnt_free_tabdiff(struct libmnt_tabdiff *df);
+
+extern int mnt_diff_tables(struct libmnt_tabdiff *df,
+ struct libmnt_table *old_tab,
+ struct libmnt_table *new_tab);
+
+extern int mnt_tabdiff_next_change(struct libmnt_tabdiff *df,
+ struct libmnt_iter *itr,
+ struct libmnt_fs **old_fs,
+ struct libmnt_fs **new_fs,
+ int *oper);
+
+/* context.c */
+
+/*
+ * Mode for mount options from fstab (or mtab), see mnt_context_set_optsmode().
+ */
+enum {
+ MNT_OMODE_IGNORE = (1 << 1), /* ignore mtab/fstab options */
+ MNT_OMODE_APPEND = (1 << 2), /* append mtab/fstab options to existing options */
+ MNT_OMODE_PREPEND = (1 << 3), /* prepend mtab/fstab options to existing options */
+ MNT_OMODE_REPLACE = (1 << 4), /* replace existing options with options from mtab/fstab */
+
+ MNT_OMODE_FORCE = (1 << 5), /* always read mtab/fstab options */
+
+ MNT_OMODE_FSTAB = (1 << 10), /* read from fstab */
+ MNT_OMODE_MTAB = (1 << 11), /* read from mtab if fstab not enabled or failed */
+ MNT_OMODE_NOTAB = (1 << 12), /* do not read fstab/mtab at all */
+
+ /* default */
+ MNT_OMODE_AUTO = (MNT_OMODE_PREPEND | MNT_OMODE_FSTAB | MNT_OMODE_MTAB),
+ /* non-root users */
+ MNT_OMODE_USER = (MNT_OMODE_REPLACE | MNT_OMODE_FORCE | MNT_OMODE_FSTAB)
+};
+
+extern struct libmnt_context *mnt_new_context(void);
+extern void mnt_free_context(struct libmnt_context *cxt);
+extern int mnt_reset_context(struct libmnt_context *cxt);
+extern int mnt_context_is_restricted(struct libmnt_context *cxt);
+
+extern int mnt_context_init_helper(struct libmnt_context *cxt,
+ int action, int flags);
+extern int mnt_context_helper_setopt(struct libmnt_context *cxt, int c, char *arg);
+
+extern int mnt_context_set_optsmode(struct libmnt_context *cxt, int mode);
+extern int mnt_context_disable_canonicalize(struct libmnt_context *cxt, int disable);
+extern int mnt_context_enable_lazy(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_rdonly_umount(struct libmnt_context *cxt, int enable);
+extern int mnt_context_disable_helpers(struct libmnt_context *cxt, int disable);
+extern int mnt_context_enable_sloppy(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_fake(struct libmnt_context *cxt, int enable);
+extern int mnt_context_disable_mtab(struct libmnt_context *cxt, int disable);
+extern int mnt_context_enable_force(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_verbose(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_loopdel(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_fork(struct libmnt_context *cxt, int enable);
+extern int mnt_context_disable_swapmatch(struct libmnt_context *cxt, int disable);
+
+extern int mnt_context_get_optsmode(struct libmnt_context *cxt);
+extern int mnt_context_is_lazy(struct libmnt_context *cxt);
+extern int mnt_context_is_rdonly_umount(struct libmnt_context *cxt);
+extern int mnt_context_is_sloppy(struct libmnt_context *cxt);
+extern int mnt_context_is_fake(struct libmnt_context *cxt);
+extern int mnt_context_is_nomtab(struct libmnt_context *cxt);
+extern int mnt_context_is_force(struct libmnt_context *cxt);
+extern int mnt_context_is_verbose(struct libmnt_context *cxt);
+extern int mnt_context_is_loopdel(struct libmnt_context *cxt);
+extern int mnt_context_is_nohelpers(struct libmnt_context *cxt);
+extern int mnt_context_is_nocanonicalize(struct libmnt_context *cxt);
+extern int mnt_context_is_swapmatch(struct libmnt_context *cxt);
+
+extern int mnt_context_is_fork(struct libmnt_context *cxt);
+extern int mnt_context_is_parent(struct libmnt_context *cxt);
+extern int mnt_context_is_child(struct libmnt_context *cxt);
+
+extern int mnt_context_wait_for_children(struct libmnt_context *cxt,
+ int *nchildren, int *nerrs);
+
+extern int mnt_context_is_fs_mounted(struct libmnt_context *cxt,
+ struct libmnt_fs *fs, int *mounted);
+
+extern int mnt_context_set_fs(struct libmnt_context *cxt, struct libmnt_fs *fs);
+extern struct libmnt_fs *mnt_context_get_fs(struct libmnt_context *cxt);
+extern int mnt_context_set_source(struct libmnt_context *cxt, const char *source);
+extern int mnt_context_set_target(struct libmnt_context *cxt, const char *target);
+extern int mnt_context_set_fstype(struct libmnt_context *cxt, const char *fstype);
+extern const char *mnt_context_get_source(struct libmnt_context *cxt);
+extern const char *mnt_context_get_target(struct libmnt_context *cxt);
+extern const char *mnt_context_get_fstype(struct libmnt_context *cxt);
+
+extern int mnt_context_set_options(struct libmnt_context *cxt, const char *optstr);
+extern int mnt_context_append_options(struct libmnt_context *cxt,
+ const char *optstr);
+extern const char *mnt_context_get_options(struct libmnt_context *cxt);
+
+extern int mnt_context_set_fstype_pattern(struct libmnt_context *cxt,
+ const char *pattern);
+extern int mnt_context_set_options_pattern(struct libmnt_context *cxt,
+ const char *pattern);
+
+extern int mnt_context_set_passwd_cb(struct libmnt_context *cxt,
+ char *(*get)(struct libmnt_context *),
+ void (*release)(struct libmnt_context *, char *));
+
+extern int mnt_context_set_tables_errcb(struct libmnt_context *cxt,
+ int (*cb)(struct libmnt_table *tb, const char *filename, int line));
+extern int mnt_context_set_fstab(struct libmnt_context *cxt,
+ struct libmnt_table *tb);
+extern int mnt_context_get_fstab(struct libmnt_context *cxt,
+ struct libmnt_table **tb);
+extern int mnt_context_get_mtab(struct libmnt_context *cxt,
+ struct libmnt_table **tb);
+extern int mnt_context_get_table(struct libmnt_context *cxt,
+ const char *filename,
+ struct libmnt_table **tb);
+extern int mnt_context_set_cache(struct libmnt_context *cxt,
+ struct libmnt_cache *cache);
+extern struct libmnt_cache *mnt_context_get_cache(struct libmnt_context *cxt);
+extern struct libmnt_lock *mnt_context_get_lock(struct libmnt_context *cxt);
+
+extern int mnt_context_set_mflags(struct libmnt_context *cxt,
+ unsigned long flags);
+extern int mnt_context_get_mflags(struct libmnt_context *cxt,
+ unsigned long *flags);
+extern int mnt_context_set_user_mflags(struct libmnt_context *cxt,
+ unsigned long flags);
+extern int mnt_context_get_user_mflags(struct libmnt_context *cxt,
+ unsigned long *flags);
+
+extern int mnt_context_set_mountdata(struct libmnt_context *cxt, void *data);
+extern int mnt_context_apply_fstab(struct libmnt_context *cxt);
+
+extern int mnt_context_reset_status(struct libmnt_context *cxt);
+extern int mnt_context_get_status(struct libmnt_context *cxt);
+
+extern int mnt_context_helper_executed(struct libmnt_context *cxt);
+extern int mnt_context_get_helper_status(struct libmnt_context *cxt);
+
+extern int mnt_context_syscall_called(struct libmnt_context *cxt);
+extern int mnt_context_get_syscall_errno(struct libmnt_context *cxt);
+
+extern int mnt_context_strerror(struct libmnt_context *cxt, char *buf,
+ size_t bufsiz);
+
+extern int mnt_context_mount(struct libmnt_context *cxt);
+extern int mnt_context_umount(struct libmnt_context *cxt);
+extern int mnt_context_next_mount(struct libmnt_context *cxt,
+ struct libmnt_iter *itr, struct libmnt_fs **fs,
+ int *mntrc, int *ignored);
+extern int mnt_context_next_umount(struct libmnt_context *cxt,
+ struct libmnt_iter *itr, struct libmnt_fs **fs,
+ int *mntrc, int *ignored);
+
+extern int mnt_context_prepare_mount(struct libmnt_context *cxt);
+extern int mnt_context_do_mount(struct libmnt_context *cxt);
+extern int mnt_context_finalize_mount(struct libmnt_context *cxt);
+
+extern int mnt_context_prepare_umount(struct libmnt_context *cxt);
+extern int mnt_context_do_umount(struct libmnt_context *cxt);
+extern int mnt_context_finalize_umount(struct libmnt_context *cxt);
+
+
+extern int mnt_context_tab_applied(struct libmnt_context *cxt);
+extern int mnt_context_set_syscall_status(struct libmnt_context *cxt, int status);
+
+/*
+ * mount(8) userspace options masks (MNT_MAP_USERSPACE map)
+ */
+#define MNT_MS_NOAUTO (1 << 2)
+#define MNT_MS_USER (1 << 3)
+#define MNT_MS_USERS (1 << 4)
+#define MNT_MS_OWNER (1 << 5)
+#define MNT_MS_GROUP (1 << 6)
+#define MNT_MS_NETDEV (1 << 7)
+#define MNT_MS_COMMENT (1 << 8)
+#define MNT_MS_LOOP (1 << 9)
+#define MNT_MS_NOFAIL (1 << 10)
+#define MNT_MS_UHELPER (1 << 11)
+#define MNT_MS_HELPER (1 << 12)
+#define MNT_MS_XCOMMENT (1 << 13)
+#define MNT_MS_OFFSET (1 << 14)
+#define MNT_MS_SIZELIMIT (1 << 15)
+#define MNT_MS_ENCRYPTION (1 << 16)
+
+/*
+ * mount(2) MS_* masks (MNT_MAP_LINUX map)
+ */
+#ifndef MS_RDONLY
+#define MS_RDONLY 1 /* Mount read-only */
+#endif
+#ifndef MS_NOSUID
+#define MS_NOSUID 2 /* Ignore suid and sgid bits */
+#endif
+#ifndef MS_NODEV
+#define MS_NODEV 4 /* Disallow access to device special files */
+#endif
+#ifndef MS_NOEXEC
+#define MS_NOEXEC 8 /* Disallow program execution */
+#endif
+#ifndef MS_SYNCHRONOUS
+#define MS_SYNCHRONOUS 16 /* Writes are synced at once */
+#endif
+#ifndef MS_REMOUNT
+#define MS_REMOUNT 32 /* Alter flags of a mounted FS */
+#endif
+#ifndef MS_MANDLOCK
+#define MS_MANDLOCK 64 /* Allow mandatory locks on an FS */
+#endif
+#ifndef MS_DIRSYNC
+#define MS_DIRSYNC 128 /* Directory modifications are synchronous */
+#endif
+#ifndef MS_NOATIME
+#define MS_NOATIME 0x400 /* 1024: Do not update access times. */
+#endif
+#ifndef MS_NODIRATIME
+#define MS_NODIRATIME 0x800 /* 2048: Don't update directory access times */
+#endif
+#ifndef MS_BIND
+#define MS_BIND 0x1000 /* 4096: Mount existing tree also elsewhere */
+#endif
+#ifndef MS_MOVE
+#define MS_MOVE 0x2000 /* 8192: Atomically move tree */
+#endif
+#ifndef MS_REC
+#define MS_REC 0x4000 /* 16384: Recursive loopback */
+#endif
+#ifndef MS_SILENT
+#define MS_SILENT 0x8000 /* 32768 */
+#endif
+#ifndef MS_RELATIME
+#define MS_RELATIME 0x200000 /* 200000: Update access times relative
+ to mtime/ctime */
+#endif
+#ifndef MS_UNBINDABLE
+#define MS_UNBINDABLE (1<<17) /* 131072 unbindable*/
+#endif
+#ifndef MS_PRIVATE
+#define MS_PRIVATE (1<<18) /* 262144 Private*/
+#endif
+#ifndef MS_SLAVE
+#define MS_SLAVE (1<<19) /* 524288 Slave*/
+#endif
+#ifndef MS_SHARED
+#define MS_SHARED (1<<20) /* 1048576 Shared*/
+#endif
+#ifndef MS_I_VERSION
+#define MS_I_VERSION (1<<23) /* update inode I_version field */
+#endif
+#ifndef MS_STRICTATIME
+#define MS_STRICTATIME (1<<24) /* strict atime semantics */
+#endif
+
+/*
+ * Magic mount flag number. Had to be or-ed to the flag values.
+ */
+#ifndef MS_MGC_VAL
+#define MS_MGC_VAL 0xC0ED0000 /* magic flag number to indicate "new" flags */
+#endif
+#ifndef MS_MGC_MSK
+#define MS_MGC_MSK 0xffff0000 /* magic flag number mask */
+#endif
+
+
+/* Shared-subtree options */
+#define MS_PROPAGATION (MS_SHARED|MS_SLAVE|MS_UNBINDABLE|MS_PRIVATE)
+
+/* Options that we make ordinary users have by default. */
+#define MS_SECURE (MS_NOEXEC|MS_NOSUID|MS_NODEV)
+
+/* Options that we make owner-mounted devices have by default */
+#define MS_OWNERSECURE (MS_NOSUID|MS_NODEV)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _LIBMOUNT_MOUNT_H */
diff --git a/libmount/src/libmount.sym b/libmount/src/libmount.sym
new file mode 100644
index 0000000..9e0f2c4
--- /dev/null
+++ b/libmount/src/libmount.sym
@@ -0,0 +1,250 @@
+/*
+ * The symbol versioning ensures that a new application requiring symbol foo;
+ * can't run with old libblkid.so not providing foo;
+ * version info can't enforce this since we never change the SONAME.
+ */
+MOUNT_2.19 {
+global:
+ mnt_cache_device_has_tag;
+ mnt_cache_find_tag_value;
+ mnt_cache_read_tags;
+ mnt_context_append_options;
+ mnt_context_apply_fstab;
+ mnt_context_disable_canonicalize;
+ mnt_context_disable_helpers;
+ mnt_context_disable_mtab;
+ mnt_context_do_mount;
+ mnt_context_do_umount;
+ mnt_context_enable_fake;
+ mnt_context_enable_force;
+ mnt_context_enable_lazy;
+ mnt_context_enable_loopdel;
+ mnt_context_enable_rdonly_umount;
+ mnt_context_enable_sloppy;
+ mnt_context_enable_verbose;
+ mnt_context_finalize_mount;
+ mnt_context_finalize_umount;
+ mnt_context_get_cache;
+ mnt_context_get_fs;
+ mnt_context_get_fstab;
+ mnt_context_get_fstype;
+ mnt_context_get_lock;
+ mnt_context_get_mflags;
+ mnt_context_get_mtab;
+ mnt_context_get_optsmode;
+ mnt_context_get_source;
+ mnt_context_get_status;
+ mnt_context_get_target;
+ mnt_context_get_user_mflags;
+ mnt_context_helper_setopt;
+ mnt_context_init_helper;
+ mnt_context_is_fake;
+ mnt_context_is_force;
+ mnt_context_is_lazy;
+ mnt_context_is_nomtab;
+ mnt_context_is_rdonly_umount;
+ mnt_context_is_restricted;
+ mnt_context_is_sloppy;
+ mnt_context_is_verbose;
+ mnt_context_mount;
+ mnt_context_prepare_mount;
+ mnt_context_prepare_umount;
+ mnt_context_set_cache;
+ mnt_context_set_fs;
+ mnt_context_set_fstab;
+ mnt_context_set_fstype;
+ mnt_context_set_fstype_pattern;
+ mnt_context_set_mflags;
+ mnt_context_set_mountdata;
+ mnt_context_set_options;
+ mnt_context_set_options_pattern;
+ mnt_context_set_optsmode;
+ mnt_context_set_source;
+ mnt_context_set_syscall_status;
+ mnt_context_set_target;
+ mnt_context_set_user_mflags;
+ mnt_context_strerror;
+ mnt_context_umount;
+ mnt_copy_fs;
+ mnt_free_cache;
+ mnt_free_context;
+ mnt_free_fs;
+ mnt_free_iter;
+ mnt_free_lock;
+ mnt_free_mntent;
+ mnt_free_table;
+ mnt_free_update;
+ mnt_fs_append_attributes;
+ mnt_fs_append_options;
+ mnt_fs_get_attribute;
+ mnt_fs_get_attributes;
+ mnt_fs_get_bindsrc;
+ mnt_fs_get_devno;
+ mnt_fs_get_freq;
+ mnt_fs_get_fs_options;
+ mnt_fs_get_fstype;
+ mnt_fs_get_id;
+ mnt_fs_get_option;
+ mnt_fs_get_parent_id;
+ mnt_fs_get_passno;
+ mnt_fs_get_root;
+ mnt_fs_get_source;
+ mnt_fs_get_srcpath;
+ mnt_fs_get_tag;
+ mnt_fs_get_target;
+ mnt_fs_get_userdata;
+ mnt_fs_get_user_options;
+ mnt_fs_get_vfs_options;
+ mnt_fs_is_kernel;
+ mnt_fs_match_fstype;
+ mnt_fs_match_options;
+ mnt_fs_match_source;
+ mnt_fs_match_target;
+ mnt_fs_prepend_attributes;
+ mnt_fs_prepend_options;
+ mnt_fs_print_debug;
+ mnt_fs_set_attributes;
+ mnt_fs_set_bindsrc;
+ mnt_fs_set_freq;
+ mnt_fs_set_fstype;
+ mnt_fs_set_options;
+ mnt_fs_set_passno;
+ mnt_fs_set_root;
+ mnt_fs_set_source;
+ mnt_fs_set_target;
+ mnt_fs_set_userdata;
+ mnt_fs_strdup_options;
+ mnt_fs_to_mntent;
+ mnt_fstype_is_netfs;
+ mnt_fstype_is_pseudofs;
+ mnt_get_builtin_optmap;
+ mnt_get_fstab_path;
+ mnt_get_fstype;
+ mnt_get_library_version;
+ mnt_get_mtab_path;
+ mnt_has_regular_mtab;
+ mnt_init_debug;
+ mnt_iter_get_direction;
+ mnt_lock_file;
+ mnt_mangle;
+ mnt_match_fstype;
+ mnt_match_options;
+ mnt_new_cache;
+ mnt_new_context;
+ mnt_new_fs;
+ mnt_new_iter;
+ mnt_new_lock;
+ mnt_new_table;
+ mnt_new_table_from_dir;
+ mnt_new_table_from_file;
+ mnt_new_update;
+ mnt_optstr_append_option;
+ mnt_optstr_apply_flags;
+ mnt_optstr_get_flags;
+ mnt_optstr_get_option;
+ mnt_optstr_get_options;
+ mnt_optstr_next_option;
+ mnt_optstr_prepend_option;
+ mnt_optstr_remove_option;
+ mnt_optstr_set_option;
+ mnt_parse_version_string;
+ mnt_reset_context;
+ mnt_reset_fs;
+ mnt_reset_iter;
+ mnt_resolve_path;
+ mnt_resolve_spec;
+ mnt_resolve_tag;
+ mnt_split_optstr;
+ mnt_table_add_fs;
+ mnt_table_find_next_fs;
+ mnt_table_find_pair;
+ mnt_table_find_source;
+ mnt_table_find_srcpath;
+ mnt_table_find_tag;
+ mnt_table_find_target;
+ mnt_table_get_cache;
+ mnt_table_get_nents;
+ mnt_table_get_root_fs;
+ mnt_table_next_child_fs;
+ mnt_table_next_fs;
+ mnt_table_parse_file;
+ mnt_table_parse_fstab;
+ mnt_table_parse_mtab;
+ mnt_table_parse_stream;
+ mnt_table_remove_fs;
+ mnt_table_set_cache;
+ mnt_table_set_iter;
+ mnt_table_set_parser_errcb;
+ mnt_unlock_file;
+ mnt_unmangle;
+ mnt_update_force_rdonly;
+ mnt_update_get_filename;
+ mnt_update_get_fs;
+ mnt_update_get_mflags;
+ mnt_update_is_ready;
+ mnt_update_set_fs;
+ mnt_update_table;
+local:
+ *;
+};
+
+MOUNT_2.20 {
+global:
+ mnt_context_get_table;
+ mnt_context_is_fs_mounted;
+ mnt_context_next_mount;
+ mnt_context_set_tables_errcb;
+ mnt_diff_tables;
+ mnt_free_tabdiff;
+ mnt_fs_get_options;
+ mnt_lock_block_signals;
+ mnt_new_tabdiff;
+ mnt_pretty_path;
+ mnt_reset_table;
+ mnt_tabdiff_next_change;
+ mnt_table_is_fs_mounted;
+} MOUNT_2.19;
+
+MOUNT_2.21 {
+global:
+ mnt_context_enable_fork;
+ mnt_context_get_helper_status;
+ mnt_context_get_syscall_errno;
+ mnt_context_helper_executed;
+ mnt_context_is_child;
+ mnt_context_is_fork;
+ mnt_context_is_parent;
+ mnt_context_next_umount;
+ mnt_context_reset_status;
+ mnt_context_set_passwd_cb;
+ mnt_context_syscall_called;
+ mnt_context_wait_for_children;
+ mnt_fs_is_netfs;
+ mnt_fs_is_pseudofs;
+ mnt_fs_is_swaparea;
+ mnt_get_library_features;
+ mnt_table_parse_dir;
+} MOUNT_2.20;
+
+MOUNT_2.22 {
+global:
+ mnt_context_disable_swapmatch;
+ mnt_context_get_options;
+ mnt_context_is_loopdel;
+ mnt_context_is_nocanonicalize;
+ mnt_context_is_nohelpers;
+ mnt_context_is_swapmatch;
+ mnt_context_tab_applied;
+ mnt_fs_get_priority;
+ mnt_fs_get_size;
+ mnt_fs_get_swaptype;
+ mnt_fs_get_tid;
+ mnt_fs_get_usedsize;
+ mnt_fs_streq_srcpath;
+ mnt_fs_streq_target;
+ mnt_get_mountpoint;
+ mnt_get_swaps_path;
+ mnt_optstr_deduplicate_option;
+ mnt_table_find_devno;
+ mnt_table_parse_swaps;
+} MOUNT_2.21;
diff --git a/libmount/src/lock.c b/libmount/src/lock.c
new file mode 100644
index 0000000..9f04725
--- /dev/null
+++ b/libmount/src/lock.c
@@ -0,0 +1,697 @@
+/*
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: lock
+ * @title: Locking
+ * @short_description: locking methods for /etc/mtab or another libmount files
+ *
+ * The mtab lock is backwardly compatible with the standard linux /etc/mtab
+ * locking. Note, it's necessary to use the same locking schema in all
+ * application that access the file.
+ */
+#include <sys/time.h>
+#include <time.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <sys/file.h>
+
+#include "pathnames.h"
+#include "mountP.h"
+
+/*
+ * lock handler
+ */
+struct libmnt_lock {
+ char *lockfile; /* path to lock file (e.g. /etc/mtab~) */
+ char *linkfile; /* path to link file (e.g. /etc/mtab~.<id>) */
+ int lockfile_fd; /* lock file descriptor */
+
+ unsigned int locked :1, /* do we own the lock? */
+ sigblock :1, /* block signals when locked */
+ simplelock :1; /* use flock rather than normal mtab lock */
+
+ sigset_t oldsigmask;
+};
+
+
+/**
+ * mnt_new_lock:
+ * @datafile: the file that should be covered by the lock
+ * @id: unique linkfile identifier or 0 (default is getpid())
+ *
+ * Returns: newly allocated lock handler or NULL on case of error.
+ */
+struct libmnt_lock *mnt_new_lock(const char *datafile, pid_t id)
+{
+ struct libmnt_lock *ml = NULL;
+ char *lo = NULL, *ln = NULL;
+ size_t losz;
+
+ if (!datafile)
+ return NULL;
+
+ /* for flock we use "foo.lock, for mtab "foo~"
+ */
+ losz = strlen(datafile) + sizeof(".lock");
+ lo = malloc(losz);
+ if (!lo)
+ goto err;
+
+ /* default is mtab~ lock */
+ snprintf(lo, losz, "%s~", datafile);
+
+ if (asprintf(&ln, "%s~.%d", datafile, id ? : getpid()) == -1) {
+ ln = NULL;
+ goto err;
+ }
+ ml = calloc(1, sizeof(*ml) );
+ if (!ml)
+ goto err;
+
+ ml->lockfile_fd = -1;
+ ml->linkfile = ln;
+ ml->lockfile = lo;
+
+ DBG(LOCKS, mnt_debug_h(ml, "alloc: default linkfile=%s, lockfile=%s", ln, lo));
+ return ml;
+err:
+ free(lo);
+ free(ln);
+ free(ml);
+ return NULL;
+}
+
+
+/**
+ * mnt_free_lock:
+ * @ml: struct libmnt_lock handler
+ *
+ * Deallocates mnt_lock.
+ */
+void mnt_free_lock(struct libmnt_lock *ml)
+{
+ if (!ml)
+ return;
+ DBG(LOCKS, mnt_debug_h(ml, "free%s", ml->locked ? " !!! LOCKED !!!" : ""));
+ free(ml->lockfile);
+ free(ml->linkfile);
+ free(ml);
+}
+
+/**
+ * mnt_lock_block_signals:
+ * @ml: struct libmnt_lock handler
+ * @enable: TRUE/FALSE
+ *
+ * Block/unblock signals when the lock is locked, the signals are not blocked
+ * by default.
+ *
+ * Returns: <0 on error, 0 on success.
+ */
+int mnt_lock_block_signals(struct libmnt_lock *ml, int enable)
+{
+ if (!ml)
+ return -EINVAL;
+ DBG(LOCKS, mnt_debug_h(ml, "signals: %s", enable ? "BLOCKED" : "UNBLOCKED"));
+ ml->sigblock = enable ? 1 : 0;
+ return 0;
+}
+
+/* don't export this to API
+ */
+int mnt_lock_use_simplelock(struct libmnt_lock *ml, int enable)
+{
+ size_t sz;
+
+ if (!ml)
+ return -EINVAL;
+
+ assert(ml->lockfile);
+
+ DBG(LOCKS, mnt_debug_h(ml, "flock: %s", enable ? "ENABLED" : "DISABLED"));
+ ml->simplelock = enable ? 1 : 0;
+
+ sz = strlen(ml->lockfile);
+ assert(sz);
+
+ if (sz < 1)
+ return -EINVAL;
+
+ /* Change lock name:
+ *
+ * flock: "<name>.lock"
+ * mtab lock: "<name>~"
+ */
+ if (ml->simplelock && endswith(ml->lockfile, "~"))
+ memcpy(ml->lockfile + sz - 1, ".lock", 6);
+
+ else if (!ml->simplelock && endswith(ml->lockfile, ".lock"))
+ memcpy(ml->lockfile + sz - 5, "~", 2);
+
+ DBG(LOCKS, mnt_debug_h(ml, "new lock filename: '%s'", ml->lockfile));
+ return 0;
+}
+
+/*
+ * Returns path to lockfile.
+ */
+static const char *mnt_lock_get_lockfile(struct libmnt_lock *ml)
+{
+ return ml ? ml->lockfile : NULL;
+}
+
+/*
+ * Note that the filename is generated by mnt_new_lock() and depends on
+ * getpid() or 'id' argument of the mnt_new_lock() function.
+ *
+ * Returns: unique (per process/thread) path to linkfile.
+ */
+static const char *mnt_lock_get_linkfile(struct libmnt_lock *ml)
+{
+ return ml ? ml->linkfile : NULL;
+}
+
+/*
+ * Simple flocking
+ */
+static void unlock_simplelock(struct libmnt_lock *ml)
+{
+ assert(ml);
+ assert(ml->simplelock);
+
+ if (ml->lockfile_fd >= 0) {
+ DBG(LOCKS, mnt_debug_h(ml, "%s: unflocking",
+ mnt_lock_get_lockfile(ml)));
+ close(ml->lockfile_fd);
+ }
+}
+
+static int lock_simplelock(struct libmnt_lock *ml)
+{
+ const char *lfile;
+ int rc;
+
+ assert(ml);
+ assert(ml->simplelock);
+
+ lfile = mnt_lock_get_lockfile(ml);
+
+ DBG(LOCKS, mnt_debug_h(ml, "%s: locking", lfile));
+
+ if (ml->sigblock) {
+ sigset_t sigs;
+ sigemptyset(&ml->oldsigmask);
+ sigfillset(&sigs);
+ sigprocmask(SIG_BLOCK, &sigs, &ml->oldsigmask);
+ }
+
+ ml->lockfile_fd = open(lfile, O_RDONLY|O_CREAT|O_CLOEXEC,
+ S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH);
+ if (ml->lockfile_fd < 0) {
+ rc = -errno;
+ goto err;
+ }
+
+ while (flock(ml->lockfile_fd, LOCK_EX) < 0) {
+ int errsv;
+ if ((errno == EAGAIN) || (errno == EINTR))
+ continue;
+ errsv = errno;
+ close(ml->lockfile_fd);
+ ml->lockfile_fd = -1;
+ rc = -errsv;
+ goto err;
+ }
+ ml->locked = 1;
+ return 0;
+err:
+ if (ml->sigblock)
+ sigprocmask(SIG_SETMASK, &ml->oldsigmask, NULL);
+ return rc;
+}
+
+/*
+ * traditional mtab locking
+ */
+
+static void mnt_lockalrm_handler(int sig __attribute__((__unused__)))
+{
+ /* do nothing, say nothing, be nothing */
+}
+
+/*
+ * Waits for F_SETLKW, unfortunately we have to use SIGALRM here to interrupt
+ * fcntl() to avoid never ending waiting.
+ *
+ * Returns: 0 on success, 1 on timeout, -errno on error.
+ */
+static int mnt_wait_mtab_lock(struct libmnt_lock *ml, struct flock *fl, time_t maxtime)
+{
+ struct timeval now;
+ struct sigaction sa, osa;
+ int ret = 0;
+
+ gettimeofday(&now, NULL);
+
+ if (now.tv_sec >= maxtime)
+ return 1; /* timeout */
+
+ /* setup ALARM handler -- we don't want to wait forever */
+ sa.sa_flags = 0;
+ sa.sa_handler = mnt_lockalrm_handler;
+ sigfillset (&sa.sa_mask);
+
+ sigaction(SIGALRM, &sa, &osa);
+
+ DBG(LOCKS, mnt_debug_h(ml, "(%d) waiting for F_SETLKW", getpid()));
+
+ alarm(maxtime - now.tv_sec);
+ if (fcntl(ml->lockfile_fd, F_SETLKW, fl) == -1)
+ ret = errno == EINTR ? 1 : -errno;
+ alarm(0);
+
+ /* restore old sigaction */
+ sigaction(SIGALRM, &osa, NULL);
+
+ DBG(LOCKS, mnt_debug_h(ml, "(%d) leaving mnt_wait_setlkw(), rc=%d",
+ getpid(), ret));
+ return ret;
+}
+
+/*
+ * Create the mtab lock file.
+ *
+ * The old code here used flock on a lock file /etc/mtab~ and deleted
+ * this lock file afterwards. However, as rgooch remarks, that has a
+ * race: a second mount may be waiting on the lock and proceed as
+ * soon as the lock file is deleted by the first mount, and immediately
+ * afterwards a third mount comes, creates a new /etc/mtab~, applies
+ * flock to that, and also proceeds, so that the second and third mount
+ * now both are scribbling in /etc/mtab.
+ *
+ * The new code uses a link() instead of a creat(), where we proceed
+ * only if it was us that created the lock, and hence we always have
+ * to delete the lock afterwards. Now the use of flock() is in principle
+ * superfluous, but avoids an arbitrary sleep().
+ *
+ * Where does the link point to? Obvious choices are mtab and mtab~~.
+ * HJLu points out that the latter leads to races. Right now we use
+ * mtab~.pid instead.
+ *
+ *
+ * The original mount locking code has used sleep(1) between attempts and
+ * maximal number of attempts has been 5.
+ *
+ * There was very small number of attempts and extremely long waiting (1s)
+ * that is useless on machines with large number of mount processes.
+ *
+ * Now we wait few thousand microseconds between attempts and we have a global
+ * time limit (30s) rather than limit for number of attempts. The advantage
+ * is that this method also counts time which we spend in fcntl(F_SETLKW) and
+ * number of attempts is not restricted.
+ * -- kzak@redhat.com [Mar-2007]
+ *
+ *
+ * This mtab locking code has been refactored and moved to libmount. The mtab
+ * locking is really not perfect (e.g. SIGALRM), but it's stable, reliable and
+ * backwardly compatible code.
+ *
+ * Don't forget that this code has to be compatible with 3rd party mounts
+ * (/sbin/mount.foo) and has to work with NFS.
+ * -- kzak@redhat.com [May-2009]
+ */
+
+/* maximum seconds between first and last attempt */
+#define MOUNTLOCK_MAXTIME 30
+
+/* sleep time (in microseconds, max=999999) between attempts */
+#define MOUNTLOCK_WAITTIME 5000
+
+static void unlock_mtab(struct libmnt_lock *ml)
+{
+ if (!ml)
+ return;
+
+ if (!ml->locked && ml->lockfile && ml->linkfile)
+ {
+ /* We have (probably) all files, but we don't own the lock,
+ * Really? Check it! Maybe ml->locked wasn't set properly
+ * because code was interrupted by signal. Paranoia? Yes.
+ *
+ * We own the lock when linkfile == lockfile.
+ */
+ struct stat lo, li;
+
+ if (!stat(ml->lockfile, &lo) && !stat(ml->linkfile, &li) &&
+ lo.st_dev == li.st_dev && lo.st_ino == li.st_ino)
+ ml->locked = 1;
+ }
+
+ if (ml->linkfile)
+ unlink(ml->linkfile);
+ if (ml->lockfile_fd >= 0)
+ close(ml->lockfile_fd);
+ if (ml->locked && ml->lockfile) {
+ unlink(ml->lockfile);
+ DBG(LOCKS, mnt_debug_h(ml, "unlink %s", ml->lockfile));
+ }
+}
+
+static int lock_mtab(struct libmnt_lock *ml)
+{
+ int i, rc = -1;
+ struct timespec waittime;
+ struct timeval maxtime;
+ const char *lockfile, *linkfile;
+
+ if (!ml)
+ return -EINVAL;
+ if (ml->locked)
+ return 0;
+
+ lockfile = mnt_lock_get_lockfile(ml);
+ if (!lockfile)
+ return -EINVAL;
+ linkfile = mnt_lock_get_linkfile(ml);
+ if (!linkfile)
+ return -EINVAL;
+
+ if (ml->sigblock) {
+ /*
+ * Block all signals when locked, mnt_unlock_file() will
+ * restore the old mask.
+ */
+ sigset_t sigs;
+
+ sigemptyset(&ml->oldsigmask);
+ sigfillset(&sigs);
+ sigdelset(&sigs, SIGTRAP);
+ sigdelset(&sigs, SIGALRM);
+ sigprocmask(SIG_BLOCK, &sigs, &ml->oldsigmask);
+ }
+
+ i = open(linkfile, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);
+ if (i < 0) {
+ /* linkfile does not exist (as a file) and we cannot create it.
+ * Read-only or full filesystem? Too many files open in the system?
+ */
+ if (errno > 0)
+ rc = -errno;
+ goto failed;
+ }
+ close(i);
+
+ gettimeofday(&maxtime, NULL);
+ maxtime.tv_sec += MOUNTLOCK_MAXTIME;
+
+ waittime.tv_sec = 0;
+ waittime.tv_nsec = (1000 * MOUNTLOCK_WAITTIME);
+
+ /* Repeat until it was us who made the link */
+ while (!ml->locked) {
+ struct timeval now;
+ struct flock flock;
+ int j;
+
+ j = link(linkfile, lockfile);
+ if (j == 0)
+ ml->locked = 1;
+
+ if (j < 0 && errno != EEXIST) {
+ if (errno > 0)
+ rc = -errno;
+ goto failed;
+ }
+ ml->lockfile_fd = open(lockfile, O_WRONLY);
+
+ if (ml->lockfile_fd < 0) {
+ /* Strange... Maybe the file was just deleted? */
+ int errsv = errno;
+ gettimeofday(&now, NULL);
+ if (errsv == ENOENT && now.tv_sec < maxtime.tv_sec) {
+ ml->locked = 0;
+ continue;
+ }
+ if (errsv > 0)
+ rc = -errsv;
+ goto failed;
+ }
+
+ flock.l_type = F_WRLCK;
+ flock.l_whence = SEEK_SET;
+ flock.l_start = 0;
+ flock.l_len = 0;
+
+ if (ml->locked) {
+ /* We made the link. Now claim the lock. */
+ if (fcntl (ml->lockfile_fd, F_SETLK, &flock) == -1) {
+ DBG(LOCKS, mnt_debug_h(ml,
+ "%s: can't F_SETLK lockfile, errno=%d\n",
+ lockfile, errno));
+ /* proceed, since it was us who created the lockfile anyway */
+ }
+ break;
+ } else {
+ /* Someone else made the link. Wait. */
+ int err = mnt_wait_mtab_lock(ml, &flock, maxtime.tv_sec);
+
+ if (err == 1) {
+ DBG(LOCKS, mnt_debug_h(ml,
+ "%s: can't create link: time out (perhaps "
+ "there is a stale lock file?)", lockfile));
+ rc = -ETIMEDOUT;
+ goto failed;
+
+ } else if (err < 0) {
+ rc = err;
+ goto failed;
+ }
+ nanosleep(&waittime, NULL);
+ close(ml->lockfile_fd);
+ ml->lockfile_fd = -1;
+ }
+ }
+ DBG(LOCKS, mnt_debug_h(ml, "%s: (%d) successfully locked",
+ lockfile, getpid()));
+ unlink(linkfile);
+ return 0;
+
+failed:
+ mnt_unlock_file(ml);
+ return rc;
+}
+
+
+/**
+ * mnt_lock_file
+ * @ml: pointer to struct libmnt_lock instance
+ *
+ * Creates lock file (e.g. /etc/mtab~). Note that this function may
+ * use alarm().
+ *
+ * Your application has to always call mnt_unlock_file() before exit.
+ *
+ * Traditional mtab locking scheme:
+ *
+ * 1. create linkfile (e.g. /etc/mtab~.$PID)
+ * 2. link linkfile --> lockfile (e.g. /etc/mtab~.$PID --> /etc/mtab~)
+ * 3. a) link() success: setups F_SETLK lock (see fcnlt(2))
+ * b) link() failed: wait (max 30s) on F_SETLKW lock, goto 2.
+ *
+ * Returns: 0 on success or negative number in case of error (-ETIMEOUT is case
+ * of stale lock file).
+ */
+int mnt_lock_file(struct libmnt_lock *ml)
+{
+ if (!ml)
+ return -EINVAL;
+
+ if (ml->simplelock)
+ return lock_simplelock(ml);
+
+ return lock_mtab(ml);
+}
+
+/**
+ * mnt_unlock_file:
+ * @ml: lock struct
+ *
+ * Unlocks the file. The function could be called independently on the
+ * lock status (for example from exit(3)).
+ */
+void mnt_unlock_file(struct libmnt_lock *ml)
+{
+ if (!ml)
+ return;
+
+ DBG(LOCKS, mnt_debug_h(ml, "(%d) %s", getpid(),
+ ml->locked ? "unlocking" : "cleaning"));
+
+ if (ml->simplelock)
+ unlock_simplelock(ml);
+ else
+ unlock_mtab(ml);
+
+ ml->locked = 0;
+ ml->lockfile_fd = -1;
+
+ if (ml->sigblock) {
+ DBG(LOCKS, mnt_debug_h(ml, "restoring sigmask"));
+ sigprocmask(SIG_SETMASK, &ml->oldsigmask, NULL);
+ }
+}
+
+#ifdef TEST_PROGRAM
+
+struct libmnt_lock *lock;
+
+/*
+ * read number from @filename, increment the number and
+ * write the number back to the file
+ */
+void increment_data(const char *filename, int verbose, int loopno)
+{
+ long num;
+ FILE *f;
+ char buf[256];
+
+ if (!(f = fopen(filename, "r")))
+ err(EXIT_FAILURE, "%d: failed to open: %s", getpid(), filename);
+
+ if (!fgets(buf, sizeof(buf), f))
+ err(EXIT_FAILURE, "%d failed read: %s", getpid(), filename);
+
+ fclose(f);
+ num = atol(buf) + 1;
+
+ if (!(f = fopen(filename, "w")))
+ err(EXIT_FAILURE, "%d: failed to open: %s", getpid(), filename);
+
+ fprintf(f, "%ld", num);
+ fclose(f);
+
+ if (verbose)
+ fprintf(stderr, "%d: %s: %ld --> %ld (loop=%d)\n", getpid(),
+ filename, num - 1, num, loopno);
+}
+
+void clean_lock(void)
+{
+ if (!lock)
+ return;
+ mnt_unlock_file(lock);
+ mnt_free_lock(lock);
+}
+
+void __attribute__((__noreturn__)) sig_handler(int sig)
+{
+ errx(EXIT_FAILURE, "\n%d: catch signal: %s\n", getpid(), strsignal(sig));
+}
+
+int test_lock(struct libmnt_test *ts, int argc, char *argv[])
+{
+ time_t synctime = 0;
+ unsigned int usecs;
+ struct timeval tv;
+ const char *datafile = NULL;
+ int verbose = 0, loops = 0, l, idx = 1;
+
+ if (argc < 3)
+ return -EINVAL;
+
+ if (strcmp(argv[idx], "--synctime") == 0) {
+ synctime = (time_t) atol(argv[idx + 1]);
+ idx += 2;
+ }
+ if (idx < argc && strcmp(argv[idx], "--verbose") == 0) {
+ verbose = 1;
+ idx++;
+ }
+
+ if (idx < argc)
+ datafile = argv[idx++];
+ if (idx < argc)
+ loops = atoi(argv[idx++]);
+
+ if (!datafile || !loops)
+ return -EINVAL;
+
+ if (verbose)
+ fprintf(stderr, "%d: start: synctime=%u, datafile=%s, loops=%d\n",
+ getpid(), (int) synctime, datafile, loops);
+
+ atexit(clean_lock);
+
+ /* be paranoid and call exit() (=clean_lock()) for all signals */
+ {
+ int sig = 0;
+ struct sigaction sa;
+
+ sa.sa_handler = sig_handler;
+ sa.sa_flags = 0;
+ sigfillset(&sa.sa_mask);
+
+ while (sigismember(&sa.sa_mask, ++sig) != -1 && sig != SIGCHLD)
+ sigaction (sig, &sa, (struct sigaction *) 0);
+ }
+
+ /* start the test in exactly defined time */
+ if (synctime) {
+ gettimeofday(&tv, NULL);
+ if (synctime && synctime - tv.tv_sec > 1) {
+ usecs = ((synctime - tv.tv_sec) * 1000000UL) -
+ (1000000UL - tv.tv_usec);
+ usleep(usecs);
+ }
+ }
+
+ for (l = 0; l < loops; l++) {
+ lock = mnt_new_lock(datafile, 0);
+ if (!lock)
+ return -1;
+
+ if (mnt_lock_file(lock) != 0) {
+ fprintf(stderr, "%d: failed to lock %s file\n",
+ getpid(), datafile);
+ return -1;
+ }
+
+ increment_data(datafile, verbose, l);
+
+ mnt_unlock_file(lock);
+ mnt_free_lock(lock);
+ lock = NULL;
+
+ /* The mount command usually finish after mtab update. We
+ * simulate this via short sleep -- it's also enough to make
+ * concurrent processes happy.
+ */
+ if (synctime)
+ usleep(25000);
+ }
+
+ return 0;
+}
+
+/*
+ * Note that this test should be executed from a script that creates many
+ * parallel processes, otherwise this test does not make sense.
+ */
+int main(int argc, char *argv[])
+{
+ struct libmnt_test tss[] = {
+ { "--lock", test_lock, " [--synctime <time_t>] [--verbose] <datafile> <loops> "
+ "increment a number in datafile" },
+ { NULL }
+ };
+
+ return mnt_run_test(tss, argc, argv);
+}
+
+#endif /* TEST_PROGRAM */
diff --git a/libmount/src/mountP.h b/libmount/src/mountP.h
new file mode 100644
index 0000000..0ef073a
--- /dev/null
+++ b/libmount/src/mountP.h
@@ -0,0 +1,402 @@
+/*
+ * mountP.h - private library header file
+ *
+ * Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#ifndef _LIBMOUNT_PRIVATE_H
+#define _LIBMOUNT_PRIVATE_H
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "list.h"
+#include "libmount.h"
+
+/* features */
+#define CONFIG_LIBMOUNT_ASSERT
+#define CONFIG_LIBMOUNT_DEBUG
+
+#ifdef CONFIG_LIBMOUNT_ASSERT
+#include <assert.h>
+#endif
+
+/*
+ * Debug
+ */
+#if defined(TEST_PROGRAM) && !defined(LIBMOUNT_DEBUG)
+#define CONFIG_LIBMOUNT_DEBUG
+#endif
+
+#define MNT_DEBUG_INIT (1 << 1)
+#define MNT_DEBUG_CACHE (1 << 2)
+#define MNT_DEBUG_OPTIONS (1 << 3)
+#define MNT_DEBUG_LOCKS (1 << 4)
+#define MNT_DEBUG_TAB (1 << 5)
+#define MNT_DEBUG_FS (1 << 6)
+#define MNT_DEBUG_OPTS (1 << 7)
+#define MNT_DEBUG_UPDATE (1 << 8)
+#define MNT_DEBUG_UTILS (1 << 9)
+#define MNT_DEBUG_CXT (1 << 10)
+#define MNT_DEBUG_DIFF (1 << 11)
+#define MNT_DEBUG_ALL 0xFFFF
+
+#ifdef CONFIG_LIBMOUNT_DEBUG
+# include <stdio.h>
+# include <stdarg.h>
+
+# define ON_DBG(m, x) do { \
+ if ((MNT_DEBUG_ ## m) & libmount_debug_mask) { \
+ x; \
+ } \
+ } while (0)
+
+# define DBG(m, x) do { \
+ if ((MNT_DEBUG_ ## m) & libmount_debug_mask) { \
+ fprintf(stderr, "%d: libmount: %8s: ", getpid(), # m); \
+ x; \
+ } \
+ } while (0)
+
+# define DBG_FLUSH do { \
+ if (libmount_debug_mask && \
+ libmount_debug_mask != MNT_DEBUG_INIT) \
+ fflush(stderr); \
+ } while(0)
+
+extern int libmount_debug_mask;
+
+static inline void __attribute__ ((__format__ (__printf__, 1, 2)))
+mnt_debug(const char *mesg, ...)
+{
+ va_list ap;
+ va_start(ap, mesg);
+ vfprintf(stderr, mesg, ap);
+ va_end(ap);
+ fputc('\n', stderr);
+}
+
+static inline void __attribute__ ((__format__ (__printf__, 2, 3)))
+mnt_debug_h(void *handler, const char *mesg, ...)
+{
+ va_list ap;
+
+ fprintf(stderr, "[%p]: ", handler);
+ va_start(ap, mesg);
+ vfprintf(stderr, mesg, ap);
+ va_end(ap);
+ fputc('\n', stderr);
+}
+
+#else /* !CONFIG_LIBMOUNT_DEBUG */
+# define ON_DBG(m,x) do { ; } while (0)
+# define DBG(m,x) do { ; } while (0)
+# define DBG_FLUSH do { ; } while(0)
+#endif
+
+/* extension for files in the directory */
+#define MNT_MNTTABDIR_EXT ".fstab"
+
+/* library private paths */
+#define MNT_RUNTIME_TOPDIR "/run"
+#define MNT_RUNTIME_TOPDIR_OLD "/dev"
+
+#define MNT_PATH_UTAB MNT_RUNTIME_TOPDIR "/mount/utab"
+#define MNT_PATH_UTAB_OLD MNT_RUNTIME_TOPDIR_OLD "/.mount/utab"
+
+#define MNT_UTAB_HEADER "# libmount utab file\n"
+
+#ifdef TEST_PROGRAM
+struct libmnt_test {
+ const char *name;
+ int (*body)(struct libmnt_test *ts, int argc, char *argv[]);
+ const char *usage;
+};
+
+/* test.c */
+extern int mnt_run_test(struct libmnt_test *tests, int argc, char *argv[]);
+#endif
+
+/* utils.c */
+extern int endswith(const char *s, const char *sx);
+extern int startswith(const char *s, const char *sx);
+
+extern int mnt_is_readonly(const char *path);
+
+extern int mnt_parse_offset(const char *str, size_t len, uintmax_t *res);
+
+extern int mnt_chdir_to_parent(const char *target, char **filename);
+extern char *mnt_get_username(const uid_t uid);
+extern int mnt_get_uid(const char *username, uid_t *uid);
+extern int mnt_get_gid(const char *groupname, gid_t *gid);
+extern int mnt_in_group(gid_t gid);
+
+extern char *mnt_get_fs_root(const char *path, const char *mountpoint);
+extern int mnt_open_uniq_filename(const char *filename, char **name);
+extern int mnt_has_regular_utab(const char **utab, int *writable);
+extern const char *mnt_get_utab_path(void);
+
+extern int mnt_get_filesystems(char ***filesystems, const char *pattern);
+extern void mnt_free_filesystems(char **filesystems);
+
+/* tab.c */
+extern struct libmnt_fs *mnt_table_get_fs_root(struct libmnt_table *tb,
+ struct libmnt_fs *fs,
+ unsigned long mountflags,
+ char **fsroot);
+
+/*
+ * Generic iterator
+ */
+struct libmnt_iter {
+ struct list_head *p; /* current position */
+ struct list_head *head; /* start position */
+ int direction; /* MNT_ITER_{FOR,BACK}WARD */
+};
+
+#define IS_ITER_FORWARD(_i) ((_i)->direction == MNT_ITER_FORWARD)
+#define IS_ITER_BACKWARD(_i) ((_i)->direction == MNT_ITER_BACKWARD)
+
+#define MNT_ITER_INIT(itr, list) \
+ do { \
+ (itr)->p = IS_ITER_FORWARD(itr) ? \
+ (list)->next : (list)->prev; \
+ (itr)->head = (list); \
+ } while(0)
+
+#define MNT_ITER_ITERATE(itr, res, restype, member) \
+ do { \
+ res = list_entry((itr)->p, restype, member); \
+ (itr)->p = IS_ITER_FORWARD(itr) ? \
+ (itr)->p->next : (itr)->p->prev; \
+ } while(0)
+
+
+/*
+ * This struct represents one entry in mtab/fstab/mountinfo file.
+ * (note that fstab[1] means the first column from fstab, and so on...)
+ */
+struct libmnt_fs {
+ struct list_head ents;
+
+ int id; /* mountinfo[1]: ID */
+ int parent; /* mountinfo[2]: parent */
+ dev_t devno; /* mountinfo[3]: st_dev */
+
+ char *bindsrc; /* utab, full path from fstab[1] for bind mounts */
+
+ char *source; /* fstab[1], mountinfo[10], swaps[1]:
+ * source dev, file, dir or TAG */
+ char *tagname; /* fstab[1]: tag name - "LABEL", "UUID", ..*/
+ char *tagval; /* tag value */
+
+ char *root; /* mountinfo[4]: root of the mount within the FS */
+ char *target; /* mountinfo[5], fstab[2]: mountpoint */
+ char *fstype; /* mountinfo[9], fstab[3]: filesystem type */
+
+ char *optstr; /* fstab[4], merged options */
+ char *vfs_optstr; /* mountinfo[6]: fs-independent (VFS) options */
+ char *fs_optstr; /* mountinfo[11]: fs-dependent options */
+ char *user_optstr; /* userspace mount options */
+ char *attrs; /* mount attributes */
+
+ int freq; /* fstab[5]: dump frequency in days */
+ int passno; /* fstab[6]: pass number on parallel fsck */
+
+ /* /proc/swaps */
+ char *swaptype; /* swaps[2]: device type (partition, file, ...) */
+ off_t size; /* swaps[3]: swaparea size */
+ off_t usedsize; /* swaps[4]: used size */
+ int priority; /* swaps[5]: swap priority */
+
+ int flags; /* MNT_FS_* flags */
+ pid_t tid; /* /proc/<tid>/mountinfo otherwise zero */
+
+ void *userdata; /* library independent data */
+};
+
+/*
+ * fs flags
+ */
+#define MNT_FS_PSEUDO (1 << 1) /* pseudo filesystem */
+#define MNT_FS_NET (1 << 2) /* network filesystem */
+#define MNT_FS_SWAP (1 << 3) /* swap device */
+#define MNT_FS_KERNEL (1 << 4) /* data from /proc/{mounts,self/mountinfo} */
+#define MNT_FS_MERGED (1 << 5) /* already merged data from /run/mount/utab */
+
+#define mnt_fs_is_regular(_f) (!(mnt_fs_is_pseudofs(_f) \
+ || mnt_fs_is_netfs(_f) \
+ || mnt_fs_is_swaparea(_f)))
+
+/*
+ * mtab/fstab/mountinfo file
+ */
+struct libmnt_table {
+ int fmt; /* MNT_FMT_* file format */
+ int nents; /* number of valid entries */
+
+ struct libmnt_cache *cache; /* canonicalized paths/tags cache */
+
+ int (*errcb)(struct libmnt_table *tb,
+ const char *filename, int line);
+
+ struct list_head ents; /* list of entries (libmnt_fs) */
+};
+
+extern struct libmnt_table *__mnt_new_table_from_file(const char *filename, int fmt);
+
+/*
+ * Tab file format
+ */
+enum {
+ MNT_FMT_GUESS,
+ MNT_FMT_FSTAB, /* /etc/{fs,m}tab */
+ MNT_FMT_MTAB = MNT_FMT_FSTAB, /* alias */
+ MNT_FMT_MOUNTINFO, /* /proc/#/mountinfo */
+ MNT_FMT_UTAB, /* /run/mount/utab */
+ MNT_FMT_SWAPS /* /proc/swaps */
+};
+
+
+/*
+ * Mount context -- high-level API
+ */
+struct libmnt_context
+{
+ int action; /* MNT_ACT_{MOUNT,UMOUNT} */
+ int restricted; /* root or not? */
+
+ char *fstype_pattern; /* for mnt_match_fstype() */
+ char *optstr_pattern; /* for mnt_match_options() */
+
+ struct libmnt_fs *fs; /* filesystem description (type, mountpoint, device, ...) */
+
+ struct libmnt_table *fstab; /* fstab (or mtab for some remounts) entries */
+ struct libmnt_table *mtab; /* mtab entries */
+
+ int (*table_errcb)(struct libmnt_table *tb, /* callback for libmnt_table structs */
+ const char *filename, int line);
+
+ char *(*pwd_get_cb)(struct libmnt_context *); /* get encryption password */
+ void (*pwd_release_cb)(struct libmnt_context *, char *); /* release password */
+
+ int optsmode; /* fstab optstr mode MNT_OPTSMODE_{AUTO,FORCE,IGNORE} */
+ int loopdev_fd; /* open loopdev */
+
+ unsigned long mountflags; /* final mount(2) flags */
+ const void *mountdata; /* final mount(2) data, string or binary data */
+
+ unsigned long user_mountflags; /* MNT_MS_* (loop=, user=, ...) */
+
+ struct libmnt_cache *cache; /* paths cache */
+ struct libmnt_lock *lock; /* mtab lock */
+ struct libmnt_update *update;/* mtab/utab update */
+
+ const char *mtab_path; /* path to mtab */
+ int mtab_writable; /* is mtab writable */
+
+ const char *utab_path; /* path to utab */
+ int utab_writable; /* is utab writable */
+
+ int flags; /* private context flags */
+ int ambi; /* libblkid returns ambivalent result */
+
+ char *helper; /* name of the used /sbin/[u]mount.<type> helper */
+ int helper_status; /* helper wait(2) status */
+ int helper_exec_status; /* 1: not called yet, 0: success, <0: -errno */
+
+ char *orig_user; /* original (non-fixed) user= option */
+
+ pid_t *children; /* "mount -a --fork" PIDs */
+ int nchildren; /* number of children */
+ pid_t pid; /* 0=parent; PID=child */
+
+
+ int syscall_status; /* 1: not called yet, 0: success, <0: -errno */
+};
+
+/* flags */
+#define MNT_FL_NOMTAB (1 << 1)
+#define MNT_FL_FAKE (1 << 2)
+#define MNT_FL_SLOPPY (1 << 3)
+#define MNT_FL_VERBOSE (1 << 4)
+#define MNT_FL_NOHELPERS (1 << 5)
+#define MNT_FL_LOOPDEL (1 << 6)
+#define MNT_FL_LAZY (1 << 7)
+#define MNT_FL_FORCE (1 << 8)
+#define MNT_FL_NOCANONICALIZE (1 << 9)
+#define MNT_FL_RDONLY_UMOUNT (1 << 11) /* remount,ro after EBUSY umount(2) */
+#define MNT_FL_FORK (1 << 12)
+#define MNT_FL_NOSWAPMATCH (1 << 13)
+
+#define MNT_FL_EXTERN_FS (1 << 15) /* cxt->fs is not private */
+#define MNT_FL_EXTERN_FSTAB (1 << 16) /* cxt->fstab is not private */
+#define MNT_FL_EXTERN_CACHE (1 << 17) /* cxt->cache is not private */
+
+#define MNT_FL_MOUNTDATA (1 << 20)
+#define MNT_FL_TAB_APPLIED (1 << 21) /* mtab/fstab merged to cxt->fs */
+#define MNT_FL_MOUNTFLAGS_MERGED (1 << 22) /* MS_* flags was read from optstr */
+#define MNT_FL_SAVED_USER (1 << 23)
+#define MNT_FL_PREPARED (1 << 24)
+#define MNT_FL_HELPER (1 << 25) /* [u]mount.<type> */
+#define MNT_FL_LOOPDEV_READY (1 << 26) /* /dev/loop<N> initialized by library */
+#define MNT_FL_MOUNTOPTS_FIXED (1 << 27)
+
+/* default flags */
+#define MNT_FL_DEFAULT 0
+
+/* lock.c */
+extern int mnt_lock_use_simplelock(struct libmnt_lock *ml, int enable);
+
+/* optmap.c */
+extern const struct libmnt_optmap *mnt_optmap_get_entry(
+ struct libmnt_optmap const **maps,
+ int nmaps, const char *name,
+ size_t namelen,
+ const struct libmnt_optmap **mapent);
+
+/* optstr.c */
+extern int mnt_optstr_remove_option_at(char **optstr, char *begin, char *end);
+extern int mnt_optstr_fix_gid(char **optstr, char *value, size_t valsz, char **next);
+extern int mnt_optstr_fix_uid(char **optstr, char *value, size_t valsz, char **next);
+extern int mnt_optstr_fix_secontext(char **optstr, char *value, size_t valsz, char **next);
+extern int mnt_optstr_fix_user(char **optstr);
+
+/* fs.c */
+extern struct libmnt_fs *mnt_copy_mtab_fs(const struct libmnt_fs *fs);
+extern int __mnt_fs_set_source_ptr(struct libmnt_fs *fs, char *source);
+extern int __mnt_fs_set_fstype_ptr(struct libmnt_fs *fs, char *fstype);
+
+/* context.c */
+extern int mnt_context_prepare_srcpath(struct libmnt_context *cxt);
+extern int mnt_context_prepare_target(struct libmnt_context *cxt);
+extern int mnt_context_guess_fstype(struct libmnt_context *cxt);
+extern int mnt_context_prepare_helper(struct libmnt_context *cxt,
+ const char *name, const char *type);
+extern int mnt_context_prepare_update(struct libmnt_context *cxt);
+extern int mnt_context_merge_mflags(struct libmnt_context *cxt);
+extern int mnt_context_update_tabs(struct libmnt_context *cxt);
+
+extern int mnt_context_umount_setopt(struct libmnt_context *cxt, int c, char *arg);
+extern int mnt_context_mount_setopt(struct libmnt_context *cxt, int c, char *arg);
+
+extern int mnt_context_is_loopdev(struct libmnt_context *cxt);
+extern int mnt_context_setup_loopdev(struct libmnt_context *cxt);
+extern int mnt_context_delete_loopdev(struct libmnt_context *cxt);
+extern int mnt_context_clear_loopdev(struct libmnt_context *cxt);
+
+extern int mnt_fork_context(struct libmnt_context *cxt);
+
+/* tab_update.c */
+extern int mnt_update_set_filename(struct libmnt_update *upd,
+ const char *filename, int userspace_only);
+
+#endif /* _LIBMOUNT_PRIVATE_H */
diff --git a/libmount/src/optmap.c b/libmount/src/optmap.c
new file mode 100644
index 0000000..68217ce
--- /dev/null
+++ b/libmount/src/optmap.c
@@ -0,0 +1,233 @@
+/*
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: optmap
+ * @title: Option maps
+ * @short_description: description for mount options
+ *
+ * The mount(2) linux syscall uses two arguments for mount options:
+ *
+ * @mountflags: (see MS_* macros in linux/fs.h)
+ *
+ * @mountdata: (usully a comma separated string of options)
+ *
+ * The libmount uses options-map(s) to describe mount options.
+ *
+ * The option description (map entry) includes:
+ *
+ * @name: and argument name
+ *
+ * @id: (in the map unique identifier or a mountflags, e.g MS_RDONLY)
+ *
+ * @mask: (MNT_INVERT, MNT_NOMTAB)
+ *
+ * The option argument value is defined by:
+ *
+ * "=" -- required argument, e.g "comment="
+ *
+ * "[=]" -- optional argument, e.g. "loop[=]"
+ *
+ * Example:
+ *
+ * <informalexample>
+ * <programlisting>
+ * #define MY_MS_FOO (1 << 1)
+ * #define MY_MS_BAR (1 << 2)
+ *
+ * libmnt_optmap myoptions[] = {
+ * { "foo", MY_MS_FOO },
+ * { "nofoo", MY_MS_FOO | MNT_INVERT },
+ * { "bar=", MY_MS_BAR },
+ * { NULL }
+ * };
+ * </programlisting>
+ * </informalexample>
+ *
+ * The libmount defines two basic built-in options maps:
+ *
+ * @MNT_LINUX_MAP: fs-independent kernel mount options (usually MS_* flags)
+ *
+ * @MNT_USERSPACE_MAP: userspace specific mount options (e.g. "user", "loop")
+ *
+ * For more details about option map struct see "struct mnt_optmap" in
+ * mount/mount.h.
+ */
+#include "mountP.h"
+
+/*
+ * fs-independent mount flags (built-in MNT_LINUX_MAP)
+ */
+static const struct libmnt_optmap linux_flags_map[] =
+{
+ { "ro", MS_RDONLY }, /* read-only */
+ { "rw", MS_RDONLY, MNT_INVERT }, /* read-write */
+ { "exec", MS_NOEXEC, MNT_INVERT }, /* permit execution of binaries */
+ { "noexec", MS_NOEXEC }, /* don't execute binaries */
+ { "suid", MS_NOSUID, MNT_INVERT }, /* honor suid executables */
+ { "nosuid", MS_NOSUID }, /* don't honor suid executables */
+ { "dev", MS_NODEV, MNT_INVERT }, /* interpret device files */
+ { "nodev", MS_NODEV }, /* don't interpret devices */
+
+ { "sync", MS_SYNCHRONOUS }, /* synchronous I/O */
+ { "async", MS_SYNCHRONOUS, MNT_INVERT },/* asynchronous I/O */
+
+ { "dirsync", MS_DIRSYNC }, /* synchronous directory modifications */
+ { "remount", MS_REMOUNT, MNT_NOMTAB }, /* alter flags of mounted FS */
+ { "bind", MS_BIND }, /* Remount part of tree elsewhere */
+ { "rbind", MS_BIND | MS_REC }, /* Idem, plus mounted subtrees */
+#ifdef MS_NOSUB
+ { "sub", MS_NOSUB, MNT_INVERT }, /* allow submounts */
+ { "nosub", MS_NOSUB }, /* don't allow submounts */
+#endif
+#ifdef MS_SILENT
+ { "silent", MS_SILENT }, /* be quiet */
+ { "loud", MS_SILENT, MNT_INVERT }, /* print out messages. */
+#endif
+#ifdef MS_MANDLOCK
+ { "mand", MS_MANDLOCK }, /* Allow mandatory locks on this FS */
+ { "nomand", MS_MANDLOCK, MNT_INVERT }, /* Forbid mandatory locks on this FS */
+#endif
+#ifdef MS_NOATIME
+ { "atime", MS_NOATIME, MNT_INVERT }, /* Update access time */
+ { "noatime", MS_NOATIME }, /* Do not update access time */
+#endif
+#ifdef MS_I_VERSION
+ { "iversion", MS_I_VERSION }, /* Update inode I_version time */
+ { "noiversion", MS_I_VERSION, MNT_INVERT},/* Don't update inode I_version time */
+#endif
+#ifdef MS_NODIRATIME
+ { "diratime", MS_NODIRATIME, MNT_INVERT }, /* Update dir access times */
+ { "nodiratime", MS_NODIRATIME }, /* Do not update dir access times */
+#endif
+#ifdef MS_RELATIME
+ { "relatime", MS_RELATIME }, /* Update access times relative to mtime/ctime */
+ { "norelatime", MS_RELATIME, MNT_INVERT }, /* Update access time without regard to mtime/ctime */
+#endif
+#ifdef MS_STRICTATIME
+ { "strictatime", MS_STRICTATIME }, /* Strict atime semantics */
+ { "nostrictatime", MS_STRICTATIME, MNT_INVERT }, /* kernel default atime */
+#endif
+ { NULL, 0, 0 }
+};
+
+/*
+ * userspace mount option (built-in MNT_USERSPACE_MAP)
+ */
+static const struct libmnt_optmap userspace_opts_map[] =
+{
+ { "defaults", 0, 0 }, /* default options */
+
+ { "auto", MNT_MS_NOAUTO, MNT_NOHLPS | MNT_INVERT | MNT_NOMTAB }, /* Can be mounted using -a */
+ { "noauto", MNT_MS_NOAUTO, MNT_NOHLPS | MNT_NOMTAB }, /* Can only be mounted explicitly */
+
+ { "user[=]", MNT_MS_USER }, /* Allow ordinary user to mount (mtab) */
+ { "nouser", MNT_MS_USER, MNT_INVERT | MNT_NOMTAB }, /* Forbid ordinary user to mount */
+
+ { "users", MNT_MS_USERS, MNT_NOMTAB }, /* Allow ordinary users to mount */
+ { "nousers", MNT_MS_USERS, MNT_INVERT | MNT_NOMTAB }, /* Forbid ordinary users to mount */
+
+ { "owner", MNT_MS_OWNER, MNT_NOMTAB }, /* Let the owner of the device mount */
+ { "noowner", MNT_MS_OWNER, MNT_INVERT | MNT_NOMTAB }, /* Device owner has no special privs */
+
+ { "group", MNT_MS_GROUP, MNT_NOMTAB }, /* Let the group of the device mount */
+ { "nogroup", MNT_MS_GROUP, MNT_INVERT | MNT_NOMTAB }, /* Device group has no special privs */
+
+ /*
+ * Note that traditional init scripts assume _netdev option in /etc/mtab to
+ * umount network block devices on shutdown.
+ */
+ { "_netdev", MNT_MS_NETDEV }, /* Device requires network */
+
+ { "comment=", MNT_MS_COMMENT, MNT_NOHLPS | MNT_NOMTAB },/* fstab comment only */
+ { "x-", MNT_MS_XCOMMENT, MNT_NOHLPS | MNT_NOMTAB | MNT_PREFIX }, /* x- options */
+
+ { "loop[=]", MNT_MS_LOOP, MNT_NOHLPS }, /* use the loop device */
+ { "offset=", MNT_MS_OFFSET, MNT_NOHLPS | MNT_NOMTAB }, /* loop device offset */
+ { "sizelimit=", MNT_MS_SIZELIMIT, MNT_NOHLPS | MNT_NOMTAB }, /* loop device size limit */
+ { "encryption=", MNT_MS_ENCRYPTION, MNT_NOHLPS | MNT_NOMTAB }, /* loop device encryption */
+
+ { "nofail", MNT_MS_NOFAIL, MNT_NOMTAB }, /* Do not fail if ENOENT on dev */
+
+ { "uhelper=", MNT_MS_UHELPER }, /* /sbin/umount.<helper> */
+
+ { "helper=", MNT_MS_HELPER }, /* /sbin/mount.<helper> */
+
+ { NULL, 0, 0 }
+};
+
+/**
+ * mnt_get_builtin_map:
+ * @id: map id -- MNT_LINUX_MAP or MNT_USERSPACE_MAP
+ *
+ * MNT_LINUX_MAP - Linux kernel fs-independent mount options
+ * (usually MS_* flags, see linux/fs.h)
+ *
+ * MNT_USERSPACE_MAP - userpace mount(8) specific mount options
+ * (e.g user=, _netdev, ...)
+ *
+ * Returns: static built-in libmount map.
+ */
+const struct libmnt_optmap *mnt_get_builtin_optmap(int id)
+{
+ assert(id);
+
+ if (id == MNT_LINUX_MAP)
+ return linux_flags_map;
+ else if (id == MNT_USERSPACE_MAP)
+ return userspace_opts_map;
+ return NULL;
+}
+
+/*
+ * Lookups for the @name in @maps and returns a map and in @mapent
+ * returns the map entry
+ */
+const struct libmnt_optmap *mnt_optmap_get_entry(
+ struct libmnt_optmap const **maps,
+ int nmaps,
+ const char *name,
+ size_t namelen,
+ const struct libmnt_optmap **mapent)
+{
+ int i;
+
+ assert(maps);
+ assert(nmaps);
+ assert(name);
+ assert(namelen);
+
+ if (mapent)
+ *mapent = NULL;
+
+ for (i = 0; i < nmaps; i++) {
+ const struct libmnt_optmap *map = maps[i];
+ const struct libmnt_optmap *ent;
+ const char *p;
+
+ for (ent = map; ent && ent->name; ent++) {
+ if (ent->mask & MNT_PREFIX) {
+ if (startswith(name, ent->name)) {
+ if (mapent)
+ *mapent = ent;
+ return map;
+ }
+ continue;
+ }
+ if (strncmp(ent->name, name, namelen))
+ continue;
+ p = ent->name + namelen;
+ if (*p == '\0' || *p == '=' || *p == '[') {
+ if (mapent)
+ *mapent = ent;
+ return map;
+ }
+ }
+ }
+ return NULL;
+}
+
diff --git a/libmount/src/optstr.c b/libmount/src/optstr.c
new file mode 100644
index 0000000..16d6d13
--- /dev/null
+++ b/libmount/src/optstr.c
@@ -0,0 +1,1303 @@
+/*
+ * Copyright (C) 2008,2009,2012 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: optstr
+ * @title: Options string
+ * @short_description: low-level API for work with mount options
+ *
+ * This is simple and low-level API to work with mount options that are stored
+ * in string.
+ */
+#include <ctype.h>
+
+#ifdef HAVE_LIBSELINUX
+#include <selinux/selinux.h>
+#include <selinux/context.h>
+#endif
+
+#include "mountP.h"
+
+/*
+ * Option location
+ */
+struct libmnt_optloc {
+ char *begin;
+ char *end;
+ char *value;
+ size_t valsz;
+ size_t namesz;
+};
+
+#define mnt_init_optloc(_ol) (memset((_ol), 0, sizeof(struct libmnt_optloc)))
+
+/*
+ * Parses the first option from @optstr. The @optstr pointer is set to begin of
+ * the next option.
+ *
+ * Returns -EINVAL on parse error, 1 at the end of optstr and 0 on success.
+ */
+static int mnt_optstr_parse_next(char **optstr, char **name, size_t *namesz,
+ char **value, size_t *valsz)
+{
+ int open_quote = 0;
+ char *start = NULL, *stop = NULL, *p, *sep = NULL;
+ char *optstr0;
+
+ assert(optstr);
+ assert(*optstr);
+
+ optstr0 = *optstr;
+
+ if (name)
+ *name = NULL;
+ if (namesz)
+ *namesz = 0;
+ if (value)
+ *value = NULL;
+ if (valsz)
+ *valsz = 0;
+
+ /* trim leading commas as to not invalidate option
+ * strings with multiple consecutive commas */
+ while (optstr0 && *optstr0 == ',')
+ optstr0++;
+
+ for (p = optstr0; p && *p; p++) {
+ if (!start)
+ start = p; /* begin of the option item */
+ if (*p == '"')
+ open_quote ^= 1; /* reverse the status */
+ if (open_quote)
+ continue; /* still in quoted block */
+ if (!sep && *p == '=')
+ sep = p; /* name and value separator */
+ if (*p == ',')
+ stop = p; /* terminate the option item */
+ else if (*(p + 1) == '\0')
+ stop = p + 1; /* end of optstr */
+ if (!start || !stop)
+ continue;
+ if (stop <= start)
+ goto error;
+
+ if (name)
+ *name = start;
+ if (namesz)
+ *namesz = sep ? sep - start : stop - start;
+ *optstr = *stop ? stop + 1 : stop;
+
+ if (sep) {
+ if (value)
+ *value = sep + 1;
+ if (valsz)
+ *valsz = stop - sep - 1;
+ }
+ return 0;
+ }
+
+ return 1; /* end of optstr */
+
+error:
+ DBG(OPTIONS, mnt_debug("parse error: \"%s\"", optstr0));
+ return -EINVAL;
+}
+
+/*
+ * Locates the first option that match with @name. The @end is set to
+ * char behind the option (it means ',' or \0).
+ *
+ * Returns negative number on parse error, 1 when not found and 0 on success.
+ */
+static int mnt_optstr_locate_option(char *optstr, const char *name,
+ struct libmnt_optloc *ol)
+{
+ char *n;
+ size_t namesz, nsz;
+ int rc;
+
+ if (!optstr)
+ return 1;
+
+ assert(name);
+ assert(optstr);
+
+ namesz = strlen(name);
+
+ do {
+ rc = mnt_optstr_parse_next(&optstr, &n, &nsz,
+ &ol->value, &ol->valsz);
+ if (rc)
+ break;
+
+ if (namesz == nsz && strncmp(n, name, nsz) == 0) {
+ ol->begin = n;
+ ol->end = *(optstr - 1) == ',' ? optstr - 1 : optstr;
+ ol->namesz = nsz;
+ return 0;
+ }
+ } while(1);
+
+ return rc;
+}
+
+/**
+ * mnt_optstr_next_option:
+ * @optstr: option string, returns position to next option
+ * @name: returns option name
+ * @namesz: returns option name length
+ * @value: returns option value or NULL
+ * @valuesz: returns option value length or zero
+ *
+ * Parses the first option in @optstr.
+ *
+ * Returns: 0 on success, 1 at the end of @optstr or negative number in case of
+ * error.
+ */
+int mnt_optstr_next_option(char **optstr, char **name, size_t *namesz,
+ char **value, size_t *valuesz)
+{
+ if (!optstr || !*optstr)
+ return -EINVAL;
+ return mnt_optstr_parse_next(optstr, name, namesz, value, valuesz);
+}
+
+static int __mnt_optstr_append_option(char **optstr,
+ const char *name, size_t nsz,
+ const char *value, size_t vsz)
+{
+ char *p;
+ size_t sz, osz;
+
+ assert(name);
+ assert(*name);
+ assert(nsz);
+
+ osz = *optstr ? strlen(*optstr) : 0;
+
+ sz = osz + nsz + 1; /* 1: '\0' */
+ if (osz)
+ sz++; /* ',' options separator */
+ if (vsz)
+ sz += vsz + 1; /* 1: '=' */
+
+ p = realloc(*optstr, sz);
+ if (!p)
+ return -ENOMEM;
+ *optstr = p;
+
+ if (osz) {
+ p += osz;
+ *p++ = ',';
+ }
+
+ memcpy(p, name, nsz);
+ p += nsz;
+
+ if (vsz) {
+ *p++ = '=';
+ memcpy(p, value, vsz);
+ p += vsz;
+ }
+ *p = '\0';
+
+ return 0;
+}
+
+/**
+ * mnt_optstr_append_option:
+ * @optstr: option string or NULL, returns reallocated string
+ * @name: value name
+ * @value: value
+ *
+ * Returns: 0 on success or -1 in case of error. After error the @optstr should
+ * be unmodified.
+ */
+int mnt_optstr_append_option(char **optstr, const char *name, const char *value)
+{
+ size_t vsz, nsz;
+
+ if (!name || !*name)
+ return 0;
+
+ nsz = strlen(name);
+ vsz = value ? strlen(value) : 0;
+
+ return __mnt_optstr_append_option(optstr, name, nsz, value, vsz);
+}
+
+/**
+ * mnt_optstr_prepend_option:
+ * @optstr: option string or NULL, returns reallocated string
+ * @name: value name
+ * @value: value
+ *
+ * Returns: 0 on success or -1 in case of error. After error the @optstr should
+ * be unmodified.
+ */
+int mnt_optstr_prepend_option(char **optstr, const char *name, const char *value)
+{
+ int rc = 0;
+ char *tmp = *optstr;
+
+ *optstr = NULL;
+
+ rc = mnt_optstr_append_option(optstr, name, value);
+ if (!rc && tmp && *tmp)
+ rc = mnt_optstr_append_option(optstr, tmp, NULL);
+ if (!rc) {
+ free(tmp);
+ return 0;
+ }
+
+ free(*optstr);
+ *optstr = tmp;
+
+ DBG(OPTIONS, mnt_debug("failed to prepend '%s[=%s]' to '%s'",
+ name, value, *optstr));
+ return rc;
+}
+
+/**
+ * mnt_optstr_get_option:
+ * @optstr: string with comma separated list of options
+ * @name: requested option name
+ * @value: returns pointer to the begin of the value (e.g. name=VALUE) or NULL
+ * @valsz: returns size of the value or 0
+ *
+ * Returns: 0 on success, 1 when not found the @name or negative number in case
+ * of error.
+ */
+int mnt_optstr_get_option(const char *optstr, const char *name,
+ char **value, size_t *valsz)
+{
+ struct libmnt_optloc ol;
+ int rc;
+
+ mnt_init_optloc(&ol);
+
+ rc = mnt_optstr_locate_option((char *) optstr, name, &ol);
+ if (!rc) {
+ if (value)
+ *value = ol.value;
+ if (valsz)
+ *valsz = ol.valsz;
+ }
+ return rc;
+}
+
+/**
+ * mnt_optstr_deduplicate_option:
+ * @optstr: string with comma separated list of options
+ * @name: requested option name
+ *
+ * Removes all instances of @name except the last one.
+ *
+ * Returns: 0 on success, 1 when not found the @name or negative number in case
+ * of error.
+ */
+int mnt_optstr_deduplicate_option(char **optstr, const char *name)
+{
+ int rc;
+ char *begin = NULL, *end = NULL, *opt = *optstr;
+
+ do {
+ struct libmnt_optloc ol;
+
+ mnt_init_optloc(&ol);
+
+ rc = mnt_optstr_locate_option(opt, name, &ol);
+ if (!rc) {
+ if (begin) {
+ /* remove previous instance */
+ size_t shift = strlen(*optstr);
+
+ mnt_optstr_remove_option_at(optstr, begin, end);
+
+ /* now all offset are not valied anymore - recount */
+ shift -= strlen(*optstr);
+ ol.begin -= shift;
+ ol.end -= shift;
+ }
+ begin = ol.begin;
+ end = ol.end;
+ opt = end && *end ? end + 1 : NULL;
+ }
+ } while (rc == 0 && opt && *opt);
+
+ return rc < 0 ? rc : begin ? 0 : 1;
+}
+
+/*
+ * The result never starts or ends with comma or contains two commas
+ * (e.g. ",aaa,bbb" or "aaa,,bbb" or "aaa,")
+ */
+int mnt_optstr_remove_option_at(char **optstr, char *begin, char *end)
+{
+ size_t sz;
+
+ if (!optstr || !begin || !end)
+ return -EINVAL;
+
+ if ((begin == *optstr || *(begin - 1) == ',') && *end == ',')
+ end++;
+
+ sz = strlen(end);
+
+ memmove(begin, end, sz + 1);
+ if (!*begin && (begin > *optstr) && *(begin - 1) == ',')
+ *(begin - 1) = '\0';
+
+ return 0;
+}
+
+/* insert 'substr' or '=substr' to @str on position @pos */
+static int insert_value(char **str, char *pos, const char *substr, char **next)
+{
+ size_t subsz = strlen(substr); /* substring size */
+ size_t strsz = strlen(*str);
+ size_t possz = strlen(pos);
+ size_t posoff;
+ char *p = NULL;
+ int sep;
+
+ /* is it necessary to prepend '=' before the substring ? */
+ sep = !(pos > *str && *(pos - 1) == '=');
+
+ /* save an offset of the place where we need add substr */
+ posoff = pos - *str;
+
+ p = realloc(*str, strsz + sep + subsz + 1);
+ if (!p)
+ return -ENOMEM;
+
+ /* zeroize new allocated memory -- valgind loves is... */
+ memset(p + strsz, 0, sep + subsz + 1);
+
+ /* set pointers to the reallocated string */
+ *str = p;
+ pos = p + posoff;
+
+ if (possz)
+ /* create a room for new substring */
+ memmove(pos + subsz + sep, pos, possz + 1);
+ if (sep)
+ *pos++ = '=';
+
+ memcpy(pos, substr, subsz);
+
+ if (next) {
+ /* set pointer to the next option */
+ *next = pos + subsz;
+ if (**next == ',')
+ (*next)++;
+ }
+ return 0;
+}
+
+/**
+ * mnt_optstr_set_option:
+ * @optstr: string with comma separated list of options
+ * @name: requested option
+ * @value: new value or NULL
+ *
+ * Set or unset option @value.
+ *
+ * Returns: 0 on success, 1 when not found the @name or negative number in case
+ * of error.
+ */
+int mnt_optstr_set_option(char **optstr, const char *name, const char *value)
+{
+ struct libmnt_optloc ol;
+ char *nameend;
+ int rc = 1;
+
+ if (!optstr)
+ return -EINVAL;
+
+ mnt_init_optloc(&ol);
+
+ if (*optstr)
+ rc = mnt_optstr_locate_option(*optstr, name, &ol);
+ if (rc < 0)
+ return rc; /* parse error */
+ if (rc == 1)
+ return mnt_optstr_append_option(optstr, name, value); /* not found */
+
+ nameend = ol.begin + ol.namesz;
+
+ if (value == NULL && ol.value && ol.valsz)
+ /* remove unwanted "=value" */
+ mnt_optstr_remove_option_at(optstr, nameend, ol.end);
+
+ else if (value && ol.value == NULL)
+ /* insert "=value" */
+ rc = insert_value(optstr, nameend, value, NULL);
+
+ else if (value && ol.value && strlen(value) == ol.valsz)
+ /* simply replace =value */
+ memcpy(ol.value, value, ol.valsz);
+
+ else if (value && ol.value) {
+ mnt_optstr_remove_option_at(optstr, nameend, ol.end);
+ rc = insert_value(optstr, nameend, value, NULL);
+ }
+ return rc;
+}
+
+/**
+ * mnt_optstr_remove_option:
+ * @optstr: string with comma separated list of options
+ * @name: requested option name
+ *
+ * Returns: 0 on success, 1 when not found the @name or negative number in case
+ * of error.
+ */
+int mnt_optstr_remove_option(char **optstr, const char *name)
+{
+ struct libmnt_optloc ol;
+ int rc;
+
+ mnt_init_optloc(&ol);
+
+ rc = mnt_optstr_locate_option(*optstr, name, &ol);
+ if (rc != 0)
+ return rc;
+
+ mnt_optstr_remove_option_at(optstr, ol.begin, ol.end);
+ return 0;
+}
+
+/**
+ * mnt_split_optstr:
+ * @optstr: string with comma separated list of options
+ * @user: returns newly allocated string with userspace options
+ * @vfs: returns newly allocated string with VFS options
+ * @fs: returns newly allocated string with FS options
+ * @ignore_user: option mask for options that should be ignored
+ * @ignore_vfs: option mask for options that should be ignored
+ *
+ * For example:
+ *
+ * mnt_split_optstr(optstr, &u, NULL, NULL, MNT_NOMTAB, 0);
+ *
+ * returns all userspace options, the options that does not belong to
+ * mtab are ignored.
+ *
+ * Note that FS options are all options that are undefined in MNT_USERSPACE_MAP
+ * or MNT_LINUX_MAP.
+ *
+ * Returns: 0 on success, or negative number in case of error.
+ */
+int mnt_split_optstr(const char *optstr, char **user, char **vfs,
+ char **fs, int ignore_user, int ignore_vfs)
+{
+ char *name, *val, *str = (char *) optstr;
+ size_t namesz, valsz;
+ struct libmnt_optmap const *maps[2];
+
+ assert(optstr);
+
+ if (!optstr)
+ return -EINVAL;
+
+ maps[0] = mnt_get_builtin_optmap(MNT_LINUX_MAP);
+ maps[1] = mnt_get_builtin_optmap(MNT_USERSPACE_MAP);
+
+ if (vfs)
+ *vfs = NULL;
+ if (fs)
+ *fs = NULL;
+ if (user)
+ *user = NULL;
+
+ while(!mnt_optstr_next_option(&str, &name, &namesz, &val, &valsz)) {
+ int rc = 0;
+ const struct libmnt_optmap *ent = NULL;
+ const struct libmnt_optmap *m =
+ mnt_optmap_get_entry(maps, 2, name, namesz, &ent);
+
+ if (ent && !ent->id)
+ continue; /* ignore undefined options (comments) */
+
+ if (ent && m && m == maps[0] && vfs) {
+ if (ignore_vfs && (ent->mask & ignore_vfs))
+ continue;
+ rc = __mnt_optstr_append_option(vfs, name, namesz,
+ val, valsz);
+ } else if (ent && m && m == maps[1] && user) {
+ if (ignore_user && (ent->mask & ignore_user))
+ continue;
+ rc = __mnt_optstr_append_option(user, name, namesz,
+ val, valsz);
+ } else if (!m && fs)
+ rc = __mnt_optstr_append_option(fs, name, namesz,
+ val, valsz);
+ if (rc) {
+ if (vfs)
+ free(*vfs);
+ if (fs)
+ free(*fs);
+ if (user)
+ free(*user);
+ return rc;
+ }
+ }
+
+ return 0;
+}
+
+/**
+ * mnt_optstr_get_options
+ * @optstr: string with comma separated list of options
+ * @subset: returns newly allocated string with options
+ * @map: options map
+ * @ignore: mask of the options that should be ignored
+ *
+ * Extracts options from @optstr that belongs to the @map, for example:
+ *
+ * mnt_optstr_get_options(optstr, &p,
+ * mnt_get_builtin_optmap(MNT_LINUX_MAP),
+ * MNT_NOMTAB);
+ *
+ * the 'p' returns all VFS options, the options that does not belong to mtab
+ * are ignored.
+ *
+ * Returns: 0 on success, or negative number in case of error.
+ */
+int mnt_optstr_get_options(const char *optstr, char **subset,
+ const struct libmnt_optmap *map, int ignore)
+{
+ struct libmnt_optmap const *maps[1];
+ char *name, *val, *str = (char *) optstr;
+ size_t namesz, valsz;
+
+ if (!optstr || !subset)
+ return -EINVAL;
+
+ maps[0] = map;
+ *subset = NULL;
+
+ while(!mnt_optstr_next_option(&str, &name, &namesz, &val, &valsz)) {
+ int rc = 0;
+ const struct libmnt_optmap *ent;
+
+ mnt_optmap_get_entry(maps, 1, name, namesz, &ent);
+
+ if (!ent || !ent->id)
+ continue; /* ignore undefined options (comments) */
+
+ if (ignore && (ent->mask & ignore))
+ continue;
+ rc = __mnt_optstr_append_option(subset, name, namesz, val, valsz);
+ if (rc) {
+ free(*subset);
+ return rc;
+ }
+ }
+
+ return 0;
+}
+
+
+/**
+ * mnt_optstr_get_flags:
+ * @optstr: string with comma separated list of options
+ * @flags: returns mount flags
+ * @map: options map
+ *
+ * Returns in @flags IDs of options from @optstr as defined in the @map.
+ *
+ * For example:
+ *
+ * "bind,exec,foo,bar" --returns-> MS_BIND
+ *
+ * "bind,noexec,foo,bar" --returns-> MS_BIND|MS_NOEXEC
+ *
+ * Note that @flags are not zeroized by this function! This function set/unset
+ * bites in the @flags only.
+ *
+ * Returns: 0 on success or negative number in case of error
+ */
+int mnt_optstr_get_flags(const char *optstr, unsigned long *flags,
+ const struct libmnt_optmap *map)
+{
+ struct libmnt_optmap const *maps[2];
+ char *name, *str = (char *) optstr;
+ size_t namesz = 0, valsz = 0;
+ int nmaps = 0;
+
+ assert(optstr);
+
+ if (!optstr || !flags || !map)
+ return -EINVAL;
+
+ maps[nmaps++] = map;
+
+ if (map == mnt_get_builtin_optmap(MNT_LINUX_MAP))
+ /*
+ * Add userspace map -- the "user" is interpreted as
+ * MS_NO{EXEC,SUID,DEV}.
+ */
+ maps[nmaps++] = mnt_get_builtin_optmap(MNT_USERSPACE_MAP);
+
+ while(!mnt_optstr_next_option(&str, &name, &namesz, NULL, &valsz)) {
+ const struct libmnt_optmap *ent;
+ const struct libmnt_optmap *m;
+
+ m = mnt_optmap_get_entry(maps, nmaps, name, namesz, &ent);
+ if (!m || !ent || !ent->id)
+ continue;
+
+ if (m == map) { /* requested map */
+ if (ent->mask & MNT_INVERT)
+ *flags &= ~ent->id;
+ else
+ *flags |= ent->id;
+
+ } else if (nmaps == 2 && m == maps[1] && valsz == 0) {
+ /*
+ * Special case -- translate "user" (but no user=) to
+ * MS_ options
+ */
+ if (ent->mask & MNT_INVERT)
+ continue;
+ if (ent->id & (MNT_MS_OWNER | MNT_MS_GROUP))
+ *flags |= MS_OWNERSECURE;
+ else if (ent->id & (MNT_MS_USER | MNT_MS_USERS))
+ *flags |= MS_SECURE;
+ }
+ }
+
+ return 0;
+}
+
+/**
+ * mnt_optstr_apply_flags:
+ * @optstr: string with comma separated list of options
+ * @flags: returns mount flags
+ * @map: options map
+ *
+ * Removes/adds options to the @optstr according to flags. For example:
+ *
+ * MS_NOATIME and "foo,bar,noexec" --returns-> "foo,bar,noatime"
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_optstr_apply_flags(char **optstr, unsigned long flags,
+ const struct libmnt_optmap *map)
+{
+ struct libmnt_optmap const *maps[1];
+ char *name, *next, *val;
+ size_t namesz = 0, valsz = 0;
+ unsigned long fl;
+ int rc = 0;
+
+ assert(optstr);
+
+ if (!optstr || !map)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug("applying 0x%08lu flags to '%s'", flags, *optstr));
+
+ maps[0] = map;
+ next = *optstr;
+ fl = flags;
+
+ /*
+ * There is a convetion that 'rw/ro' flags is always at the begin of
+ * the string (athough the 'rw' is unnecessary).
+ */
+ if (map == mnt_get_builtin_optmap(MNT_LINUX_MAP)) {
+ const char *o = (fl & MS_RDONLY) ? "ro" : "rw";
+
+ if (next &&
+ (!strncmp(next, "rw", 2) || !strncmp(next, "ro", 2)) &&
+ (*(next + 2) == '\0' || *(next + 2) == ',')) {
+
+ /* already set, be paranoid and fix it */
+ memcpy(next, o, 2);
+ } else {
+ rc = mnt_optstr_prepend_option(optstr, o, NULL);
+ if (rc)
+ goto err;
+ next = *optstr; /* because realloc() */
+ }
+ fl &= ~MS_RDONLY;
+ next += 2;
+ if (*next == ',')
+ next++;
+ }
+
+ if (next && *next) {
+ /*
+ * scan @optstr and remove options that are missing in
+ * the @flags
+ */
+ while(!mnt_optstr_next_option(&next, &name, &namesz,
+ &val, &valsz)) {
+ const struct libmnt_optmap *ent;
+
+ if (mnt_optmap_get_entry(maps, 1, name, namesz, &ent)) {
+ /*
+ * remove unwanted option (rw/ro is already set)
+ */
+ if (!ent->id)
+ continue;
+ if (ent->id == MS_RDONLY ||
+ (ent->mask & MNT_INVERT) ||
+ (fl & ent->id) != (unsigned long) ent->id) {
+
+ char *end = val ? val + valsz :
+ name + namesz;
+ next = name;
+ rc = mnt_optstr_remove_option_at(
+ optstr, name, end);
+ if (rc)
+ goto err;
+ }
+ if (!(ent->mask & MNT_INVERT))
+ fl &= ~ent->id;
+ }
+ }
+ }
+
+ /* add missing options */
+ if (fl) {
+ const struct libmnt_optmap *ent;
+ char *p;
+
+ for (ent = map; ent && ent->name; ent++) {
+ if ((ent->mask & MNT_INVERT)
+ || ent->id == 0
+ || (fl & ent->id) != (unsigned long) ent->id)
+ continue;
+
+ /* don't add options which require values (e.g. offset=%d) */
+ p = strchr(ent->name, '=');
+ if (p) {
+ if (p > ent->name && *(p - 1) == '[')
+ p--; /* name[=] */
+ else
+ continue; /* name= */
+
+ p = strndup(ent->name, p - ent->name);
+ if (!p) {
+ rc = -ENOMEM;
+ goto err;
+ }
+ mnt_optstr_append_option(optstr, p, NULL);
+ free(p);
+ } else
+ mnt_optstr_append_option(optstr, ent->name, NULL);
+ }
+ }
+
+ DBG(CXT, mnt_debug("new optstr '%s'", *optstr));
+ return rc;
+err:
+ DBG(CXT, mnt_debug("failed to apply flags [rc=%d]", rc));
+ return rc;
+}
+
+/*
+ * @optstr: string with comma separated list of options
+ * @value: pointer to the begin of the context value
+ * @valsz: size of the value
+ * @next: returns pointer to the next option (optional argument)
+ *
+ * Translates SELinux context from human to raw format. The function does not
+ * modify @optstr and returns zero if libmount is compiled without SELinux
+ * support.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+#ifndef HAVE_LIBSELINUX
+int mnt_optstr_fix_secontext(char **optstr __attribute__ ((__unused__)),
+ char *value __attribute__ ((__unused__)),
+ size_t valsz __attribute__ ((__unused__)),
+ char **next __attribute__ ((__unused__)))
+{
+ return 0;
+}
+#else
+int mnt_optstr_fix_secontext(char **optstr,
+ char *value,
+ size_t valsz,
+ char **next)
+{
+ int rc = 0;
+
+ security_context_t raw = NULL;
+ char *p, *val, *begin, *end;
+ size_t sz;
+
+ if (!optstr || !*optstr || !value || !valsz)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug("fixing SELinux context"));
+
+ begin = value;
+ end = value + valsz;
+
+ /* the selinux contexts are quoted */
+ if (*value == '"') {
+ if (valsz <= 2 || *(value + valsz - 1) != '"')
+ return -EINVAL; /* improperly quoted option string */
+ value++;
+ valsz -= 2;
+ }
+
+ p = strndup(value, valsz);
+ if (!p)
+ return -ENOMEM;
+
+
+ /* translate the context */
+ rc = selinux_trans_to_raw_context((security_context_t) p, &raw);
+
+ DBG(CXT, mnt_debug("SELinux context '%s' translated to '%s'",
+ p, rc == -1 ? "FAILED" : (char *) raw));
+
+ free(p);
+ if (rc == -1 || !raw)
+ return -EINVAL;
+
+
+ /* create quoted string from the raw context */
+ sz = strlen((char *) raw);
+ if (!sz)
+ return -EINVAL;
+
+ p = val = malloc(valsz + 3);
+ if (!val)
+ return -ENOMEM;
+
+ *p++ = '"';
+ memcpy(p, raw, sz);
+ p += sz;
+ *p++ = '"';
+ *p = '\0';
+
+ freecon(raw);
+
+ /* set new context */
+ mnt_optstr_remove_option_at(optstr, begin, end);
+ rc = insert_value(optstr, begin, val, next);
+ free(val);
+
+ return rc;
+}
+#endif
+
+static int set_uint_value(char **optstr, unsigned int num,
+ char *begin, char *end, char **next)
+{
+ char buf[40];
+ snprintf(buf, sizeof(buf), "%u", num);
+
+ mnt_optstr_remove_option_at(optstr, begin, end);
+ return insert_value(optstr, begin, buf, next);
+}
+
+/*
+ * @optstr: string with comma separated list of options
+ * @value: pointer to the begin of the uid value
+ * @valsz: size of the value
+ * @next: returns pointer to the next option (optional argument)
+
+ * Translates "username" or "useruid" to the real UID.
+ *
+ * For example:
+ * if (!mnt_optstr_get_option(optstr, "uid", &val, &valsz))
+ * mnt_optstr_fix_uid(&optstr, val, valsz, NULL);
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_optstr_fix_uid(char **optstr, char *value, size_t valsz, char **next)
+{
+ int rc = 0;
+ char *end;
+
+ if (!optstr || !*optstr || !value || !valsz)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug("fixing uid"));
+
+ end = value + valsz;
+
+ if (valsz == 7 && !strncmp(value, "useruid", 7) &&
+ (*(value + 7) == ',' || !*(value + 7)))
+ rc = set_uint_value(optstr, getuid(), value, end, next);
+
+ else if (!isdigit(*value)) {
+ uid_t id;
+ char *p = strndup(value, valsz);
+ if (!p)
+ return -ENOMEM;
+ rc = mnt_get_uid(p, &id);
+ free(p);
+
+ if (!rc)
+ rc = set_uint_value(optstr, id, value, end, next);
+
+ } else if (next) {
+ /* nothing */
+ *next = value + valsz;
+ if (**next == ',')
+ (*next)++;
+ }
+
+ return rc;
+}
+
+/*
+ * @optstr: string with comma separated list of options
+ * @value: pointer to the begin of the uid value
+ * @valsz: size of the value
+ * @next: returns pointer to the next option (optional argument)
+
+ * Translates "groupname" or "usergid" to the real GID.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_optstr_fix_gid(char **optstr, char *value, size_t valsz, char **next)
+{
+ int rc = 0;
+ char *end;
+
+ if (!optstr || !*optstr || !value || !valsz)
+ return -EINVAL;
+
+ DBG(CXT, mnt_debug("fixing gid"));
+
+ end = value + valsz;
+
+ if (valsz == 7 && !strncmp(value, "usergid", 7) &&
+ (*(value + 7) == ',' || !*(value + 7)))
+ rc = set_uint_value(optstr, getgid(), value, end, next);
+
+ else if (!isdigit(*value)) {
+ gid_t id;
+ char *p = strndup(value, valsz);
+ if (!p)
+ return -ENOMEM;
+ rc = mnt_get_gid(p, &id);
+ free(p);
+
+ if (!rc)
+ rc = set_uint_value(optstr, id, value, end, next);
+
+ } else if (next) {
+ /* nothing */
+ *next = value + valsz;
+ if (**next == ',')
+ (*next)++;
+ }
+ return rc;
+}
+
+/*
+ * Converts "user" to "user=<username>".
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_optstr_fix_user(char **optstr)
+{
+ char *username;
+ struct libmnt_optloc ol;
+ int rc = 0;
+
+ DBG(CXT, mnt_debug("fixing user"));
+
+ mnt_init_optloc(&ol);
+
+ rc = mnt_optstr_locate_option(*optstr, "user", &ol);
+ if (rc)
+ return rc == 1 ? 0 : rc; /* 1: user= not found */
+
+ username = mnt_get_username(getuid());
+ if (!username)
+ return -ENOMEM;
+
+ if (!ol.valsz || (ol.value && strncmp(ol.value, username, ol.valsz))) {
+ if (ol.valsz)
+ /* remove old value */
+ mnt_optstr_remove_option_at(optstr, ol.value, ol.end);
+
+ rc = insert_value(optstr, ol.value ? ol.value : ol.end,
+ username, NULL);
+ }
+
+ free(username);
+ return rc;
+}
+
+#ifdef TEST_PROGRAM
+
+int test_append(struct libmnt_test *ts, int argc, char *argv[])
+{
+ const char *value = NULL, *name;
+ char *optstr;
+ int rc;
+
+ if (argc < 3)
+ return -EINVAL;
+ optstr = strdup(argv[1]);
+ name = argv[2];
+
+ if (argc == 4)
+ value = argv[3];
+
+ rc = mnt_optstr_append_option(&optstr, name, value);
+ if (!rc)
+ printf("result: >%s<\n", optstr);
+ free(optstr);
+ return rc;
+}
+
+int test_prepend(struct libmnt_test *ts, int argc, char *argv[])
+{
+ const char *value = NULL, *name;
+ char *optstr;
+ int rc;
+
+ if (argc < 3)
+ return -EINVAL;
+ optstr = strdup(argv[1]);
+ name = argv[2];
+
+ if (argc == 4)
+ value = argv[3];
+
+ rc = mnt_optstr_prepend_option(&optstr, name, value);
+ if (!rc)
+ printf("result: >%s<\n", optstr);
+ free(optstr);
+ return rc;
+}
+
+int test_split(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *optstr, *user = NULL, *fs = NULL, *vfs = NULL;
+ int rc;
+
+ if (argc < 2)
+ return -EINVAL;
+
+ optstr = strdup(argv[1]);
+
+ rc = mnt_split_optstr(optstr, &user, &vfs, &fs, 0, 0);
+ if (!rc) {
+ printf("user : %s\n", user);
+ printf("vfs : %s\n", vfs);
+ printf("fs : %s\n", fs);
+ }
+
+ free(user);
+ free(vfs);
+ free(fs);
+ free(optstr);
+ return rc;
+}
+
+int test_flags(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *optstr;
+ int rc;
+ unsigned long fl = 0;
+
+ if (argc < 2)
+ return -EINVAL;
+
+ optstr = strdup(argv[1]);
+
+ rc = mnt_optstr_get_flags(optstr, &fl, mnt_get_builtin_optmap(MNT_LINUX_MAP));
+ if (rc)
+ return rc;
+ printf("mountflags: 0x%08lx\n", fl);
+
+ fl = 0;
+ rc = mnt_optstr_get_flags(optstr, &fl, mnt_get_builtin_optmap(MNT_USERSPACE_MAP));
+ if (rc)
+ return rc;
+ printf("userspace-mountflags: 0x%08lx\n", fl);
+
+ free(optstr);
+ return rc;
+}
+
+int test_apply(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *optstr;
+ int rc, map;
+ unsigned long flags;
+
+ if (argc < 4)
+ return -EINVAL;
+
+ if (!strcmp(argv[1], "--user"))
+ map = MNT_USERSPACE_MAP;
+ else if (!strcmp(argv[1], "--linux"))
+ map = MNT_LINUX_MAP;
+ else {
+ fprintf(stderr, "unknown option '%s'\n", argv[1]);
+ return -EINVAL;
+ }
+
+ optstr = strdup(argv[2]);
+ flags = strtoul(argv[3], NULL, 16);
+
+ printf("flags: 0x%08lx\n", flags);
+
+ rc = mnt_optstr_apply_flags(&optstr, flags, mnt_get_builtin_optmap(map));
+ printf("optstr: %s\n", optstr);
+
+ free(optstr);
+ return rc;
+}
+
+int test_set(struct libmnt_test *ts, int argc, char *argv[])
+{
+ const char *value = NULL, *name;
+ char *optstr;
+ int rc;
+
+ if (argc < 3)
+ return -EINVAL;
+ optstr = strdup(argv[1]);
+ name = argv[2];
+
+ if (argc == 4)
+ value = argv[3];
+
+ rc = mnt_optstr_set_option(&optstr, name, value);
+ if (!rc)
+ printf("result: >%s<\n", optstr);
+ free(optstr);
+ return rc;
+}
+
+int test_get(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *optstr;
+ const char *name;
+ char *val = NULL;
+ size_t sz = 0;
+ int rc;
+
+ if (argc < 2)
+ return -EINVAL;
+ optstr = argv[1];
+ name = argv[2];
+
+ rc = mnt_optstr_get_option(optstr, name, &val, &sz);
+ if (rc == 0) {
+ printf("found; name: %s", name);
+ if (sz) {
+ printf(", argument: size=%zd data=", sz);
+ if (fwrite(val, 1, sz, stdout) != sz)
+ return -1;
+ }
+ printf("\n");
+ } else if (rc == 1)
+ printf("%s: not found\n", name);
+ else
+ printf("parse error: %s\n", optstr);
+ return rc;
+}
+
+int test_remove(struct libmnt_test *ts, int argc, char *argv[])
+{
+ const char *name;
+ char *optstr;
+ int rc;
+
+ if (argc < 3)
+ return -EINVAL;
+ optstr = strdup(argv[1]);
+ name = argv[2];
+
+ rc = mnt_optstr_remove_option(&optstr, name);
+ if (!rc)
+ printf("result: >%s<\n", optstr);
+ free(optstr);
+ return rc;
+}
+
+int test_dedup(struct libmnt_test *ts, int argc, char *argv[])
+{
+ const char *name;
+ char *optstr;
+ int rc;
+
+ if (argc < 3)
+ return -EINVAL;
+ optstr = strdup(argv[1]);
+ name = argv[2];
+
+ rc = mnt_optstr_deduplicate_option(&optstr, name);
+ if (!rc)
+ printf("result: >%s<\n", optstr);
+ free(optstr);
+ return rc;
+}
+
+int test_fix(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *optstr;
+ int rc = 0;
+ char *name, *val, *next;
+ size_t valsz, namesz;
+
+ if (argc < 2)
+ return -EINVAL;
+
+ next = optstr = strdup(argv[1]);
+
+ printf("optstr: %s\n", optstr);
+
+ while (!mnt_optstr_next_option(&next, &name, &namesz, &val, &valsz)) {
+
+ if (!strncmp(name, "uid", 3))
+ rc = mnt_optstr_fix_uid(&optstr, val, valsz, &next);
+ else if (!strncmp(name, "gid", 3))
+ rc = mnt_optstr_fix_gid(&optstr, val, valsz, &next);
+ else if (!strncmp(name, "context", 7))
+ rc = mnt_optstr_fix_secontext(&optstr, val, valsz, &next);
+ if (rc)
+ break;
+ }
+ if (rc)
+ rc = mnt_optstr_fix_user(&optstr);
+
+ printf("fixed: %s\n", optstr);
+
+ free(optstr);
+ return rc;
+
+}
+
+int main(int argc, char *argv[])
+{
+ struct libmnt_test tss[] = {
+ { "--append", test_append, "<optstr> <name> [<value>] append value to optstr" },
+ { "--prepend",test_prepend,"<optstr> <name> [<value>] prepend value to optstr" },
+ { "--set", test_set, "<optstr> <name> [<value>] (un)set value" },
+ { "--get", test_get, "<optstr> <name> search name in optstr" },
+ { "--remove", test_remove, "<optstr> <name> remove name in optstr" },
+ { "--dedup", test_dedup, "<optstr> <name> deduplicate name in optstr" },
+ { "--split", test_split, "<optstr> split into FS, VFS and userspace" },
+ { "--flags", test_flags, "<optstr> convert options to MS_* flags" },
+ { "--apply", test_apply, "--{linux,user} <optstr> <mask> apply mask to optstr" },
+ { "--fix", test_fix, "<optstr> fix uid=, gid=, user, and context=" },
+
+ { NULL }
+ };
+ return mnt_run_test(tss, argc, argv);
+}
+#endif /* TEST_PROGRAM */
diff --git a/libmount/src/tab.c b/libmount/src/tab.c
new file mode 100644
index 0000000..1c159b5
--- /dev/null
+++ b/libmount/src/tab.c
@@ -0,0 +1,1195 @@
+/*
+ * Copyright (C) 2008-2010 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: table
+ * @title: Table of filesystems
+ * @short_description: container for entries from fstab, mtab or mountinfo
+ *
+ * Note that mnt_table_find_* functions are mount(8) compatible. These functions
+ * try to find an entry in more iterations where the first attempt is always
+ * based on comparison with unmodified (non-canonicalized or un-evaluated)
+ * paths or tags. For example fstab with two entries:
+ * <informalexample>
+ * <programlisting>
+ * LABEL=foo /foo auto rw
+ * /dev/foo /foo auto rw
+ * </programlisting>
+ * </informalexample>
+ *
+ * where both lines are used for the *same* device, then
+ * <informalexample>
+ * <programlisting>
+ * mnt_table_find_source(tb, "/dev/foo", &fs);
+ * </programlisting>
+ * </informalexample>
+ * will returns the second line, and
+ * <informalexample>
+ * <programlisting>
+ * mnt_table_find_source(tb, "LABEL=foo", &fs);
+ * </programlisting>
+ * </informalexample>
+ * will returns the first entry, and
+ * <informalexample>
+ * <programlisting>
+ * mnt_table_find_source(tb, "UUID=anyuuid", &fs);
+ * </programlisting>
+ * </informalexample>
+ * will returns the first entry (if UUID matches with the device).
+ */
+#include <blkid.h>
+
+#include "mountP.h"
+#include "strutils.h"
+
+/**
+ * mnt_new_table:
+ *
+ * The tab is a container for struct libmnt_fs entries that usually represents a fstab,
+ * mtab or mountinfo file from your system.
+ *
+ * See also mnt_table_parse_file().
+ *
+ * Returns: newly allocated tab struct.
+ */
+struct libmnt_table *mnt_new_table(void)
+{
+ struct libmnt_table *tb = NULL;
+
+ tb = calloc(1, sizeof(*tb));
+ if (!tb)
+ return NULL;
+
+ DBG(TAB, mnt_debug_h(tb, "alloc"));
+
+ INIT_LIST_HEAD(&tb->ents);
+ return tb;
+}
+
+/**
+ * mnt_reset_table:
+ * @tb: tab pointer
+ *
+ * Dealocates all entries (filesystems) from the table
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_reset_table(struct libmnt_table *tb)
+{
+ if (!tb)
+ return -EINVAL;
+
+ DBG(TAB, mnt_debug_h(tb, "reset"));
+
+ while (!list_empty(&tb->ents)) {
+ struct libmnt_fs *fs = list_entry(tb->ents.next,
+ struct libmnt_fs, ents);
+ mnt_free_fs(fs);
+ }
+
+ tb->nents = 0;
+ return 0;
+}
+
+/**
+ * mnt_free_table:
+ * @tb: tab pointer
+ *
+ * Deallocates tab struct and all entries.
+ */
+void mnt_free_table(struct libmnt_table *tb)
+{
+ if (!tb)
+ return;
+
+ mnt_reset_table(tb);
+
+ DBG(TAB, mnt_debug_h(tb, "free"));
+ free(tb);
+}
+
+/**
+ * mnt_table_get_nents:
+ * @tb: pointer to tab
+ *
+ * Returns: number of valid entries in tab.
+ */
+int mnt_table_get_nents(struct libmnt_table *tb)
+{
+ assert(tb);
+ return tb ? tb->nents : 0;
+}
+
+/**
+ * mnt_table_set_cache:
+ * @tb: pointer to tab
+ * @mpc: pointer to struct libmnt_cache instance
+ *
+ * Setups a cache for canonicalized paths and evaluated tags (LABEL/UUID). The
+ * cache is recommended for mnt_table_find_*() functions.
+ *
+ * The cache could be shared between more tabs. Be careful when you share the
+ * same cache between more threads -- currently the cache does not provide any
+ * locking method.
+ *
+ * See also mnt_new_cache().
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_table_set_cache(struct libmnt_table *tb, struct libmnt_cache *mpc)
+{
+ assert(tb);
+ if (!tb)
+ return -EINVAL;
+ tb->cache = mpc;
+ return 0;
+}
+
+/**
+ * mnt_table_get_cache:
+ * @tb: pointer to tab
+ *
+ * Returns: pointer to struct libmnt_cache instance or NULL.
+ */
+struct libmnt_cache *mnt_table_get_cache(struct libmnt_table *tb)
+{
+ assert(tb);
+ return tb ? tb->cache : NULL;
+}
+
+/**
+ * mnt_table_add_fs:
+ * @tb: tab pointer
+ * @fs: new entry
+ *
+ * Adds a new entry to tab.
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_table_add_fs(struct libmnt_table *tb, struct libmnt_fs *fs)
+{
+ assert(tb);
+ assert(fs);
+
+ if (!tb || !fs)
+ return -EINVAL;
+
+ list_add_tail(&fs->ents, &tb->ents);
+
+ DBG(TAB, mnt_debug_h(tb, "add entry: %s %s",
+ mnt_fs_get_source(fs), mnt_fs_get_target(fs)));
+ tb->nents++;
+ return 0;
+}
+
+/**
+ * mnt_table_remove_fs:
+ * @tb: tab pointer
+ * @fs: new entry
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_table_remove_fs(struct libmnt_table *tb, struct libmnt_fs *fs)
+{
+ assert(tb);
+ assert(fs);
+
+ if (!tb || !fs)
+ return -EINVAL;
+ list_del(&fs->ents);
+ tb->nents--;
+ return 0;
+}
+
+/**
+ * mnt_table_get_root_fs:
+ * @tb: mountinfo file (/proc/self/mountinfo)
+ * @root: returns pointer to the root filesystem (/)
+ *
+ * Returns: 0 on success or -1 case of error.
+ */
+int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
+{
+ struct libmnt_iter itr;
+ struct libmnt_fs *fs;
+ int root_id = 0;
+
+ assert(tb);
+ assert(root);
+
+ if (!tb || !root)
+ return -EINVAL;
+
+ DBG(TAB, mnt_debug_h(tb, "lookup root fs"));
+
+ mnt_reset_iter(&itr, MNT_ITER_FORWARD);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ int id = mnt_fs_get_parent_id(fs);
+ if (!id)
+ break; /* @tab is not mountinfo file? */
+
+ if (!*root || id < root_id) {
+ *root = fs;
+ root_id = id;
+ }
+ }
+
+ return root_id ? 0 : -EINVAL;
+}
+
+/**
+ * mnt_table_next_child_fs:
+ * @tb: mountinfo file (/proc/self/mountinfo)
+ * @itr: iterator
+ * @parent: parental FS
+ * @chld: returns the next child filesystem
+ *
+ * Note that filesystems are returned in the order how was mounted (according to
+ * IDs in /proc/self/mountinfo).
+ *
+ * Returns: 0 on success, negative number in case of error or 1 at end of list.
+ */
+int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
+ struct libmnt_fs *parent, struct libmnt_fs **chld)
+{
+ struct libmnt_fs *fs;
+ int parent_id, lastchld_id = 0, chld_id = 0;
+
+ if (!tb || !itr || !parent)
+ return -EINVAL;
+
+ DBG(TAB, mnt_debug_h(tb, "lookup next child of %s",
+ mnt_fs_get_target(parent)));
+
+ parent_id = mnt_fs_get_id(parent);
+ if (!parent_id)
+ return -EINVAL;
+
+ /* get ID of the previously returned child */
+ if (itr->head && itr->p != itr->head) {
+ MNT_ITER_ITERATE(itr, fs, struct libmnt_fs, ents);
+ lastchld_id = mnt_fs_get_id(fs);
+ }
+
+ *chld = NULL;
+
+ mnt_reset_iter(itr, MNT_ITER_FORWARD);
+ while(mnt_table_next_fs(tb, itr, &fs) == 0) {
+ int id;
+
+ if (mnt_fs_get_parent_id(fs) != parent_id)
+ continue;
+
+ id = mnt_fs_get_id(fs);
+
+ /* avoid infinite loop. This only happens in rare cases
+ * such as in early userspace when the rootfs is its own parent */
+ if (id == parent_id)
+ continue;
+
+ if ((!lastchld_id || id > lastchld_id) &&
+ (!*chld || id < chld_id)) {
+ *chld = fs;
+ chld_id = id;
+ }
+ }
+
+ if (!chld_id)
+ return 1; /* end of iterator */
+
+ /* set the iterator to the @chld for the next call */
+ mnt_table_set_iter(tb, itr, *chld);
+
+ return 0;
+}
+
+/**
+ * mnt_table_next_fs:
+ * @tb: tab pointer
+ * @itr: iterator
+ * @fs: returns the next tab entry
+ *
+ * Returns: 0 on success, negative number in case of error or 1 at end of list.
+ *
+ * Example:
+ * <informalexample>
+ * <programlisting>
+ * while(mnt_table_next_fs(tb, itr, &fs) == 0) {
+ * const char *dir = mnt_fs_get_target(fs);
+ * printf("mount point: %s\n", dir);
+ * }
+ * mnt_free_table(fi);
+ * </programlisting>
+ * </informalexample>
+ *
+ * lists all mountpoints from fstab in backward order.
+ */
+int mnt_table_next_fs(struct libmnt_table *tb, struct libmnt_iter *itr, struct libmnt_fs **fs)
+{
+ int rc = 1;
+
+ assert(tb);
+ assert(itr);
+ assert(fs);
+
+ if (!tb || !itr || !fs)
+ return -EINVAL;
+ *fs = NULL;
+
+ if (!itr->head)
+ MNT_ITER_INIT(itr, &tb->ents);
+ if (itr->p != itr->head) {
+ MNT_ITER_ITERATE(itr, *fs, struct libmnt_fs, ents);
+ rc = 0;
+ }
+
+ return rc;
+}
+
+/**
+ * mnt_table_find_next_fs:
+ * @tb: table
+ * @itr: iterator
+ * @match_func: function returns 1 or 0
+ * @userdata: extra data for match_func
+ * @fs: returns pointer to the next matching table entry
+ *
+ * This function allows search in @tb.
+ *
+ * Returns: negative number in case of error, 1 at end of table or 0 o success.
+ */
+int mnt_table_find_next_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
+ int (*match_func)(struct libmnt_fs *, void *), void *userdata,
+ struct libmnt_fs **fs)
+{
+ if (!tb || !itr || !fs || !match_func)
+ return -EINVAL;
+
+ DBG(TAB, mnt_debug_h(tb, "lookup next fs"));
+
+ if (!itr->head)
+ MNT_ITER_INIT(itr, &tb->ents);
+
+ do {
+ if (itr->p != itr->head)
+ MNT_ITER_ITERATE(itr, *fs, struct libmnt_fs, ents);
+ else
+ break; /* end */
+
+ if (match_func(*fs, userdata))
+ return 0;
+ } while(1);
+
+ *fs = NULL;
+ return 1;
+}
+
+/**
+ * mnt_table_set_iter:
+ * @tb: tab pointer
+ * @itr: iterator
+ * @fs: tab entry
+ *
+ * Sets @iter to the position of @fs in the file @tb.
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_table_set_iter(struct libmnt_table *tb, struct libmnt_iter *itr, struct libmnt_fs *fs)
+{
+ assert(tb);
+ assert(itr);
+ assert(fs);
+
+ if (!tb || !itr || !fs)
+ return -EINVAL;
+
+ MNT_ITER_INIT(itr, &tb->ents);
+ itr->p = &fs->ents;
+
+ return 0;
+}
+
+/**
+ * mnt_table_find_target:
+ * @tb: tab pointer
+ * @path: mountpoint directory
+ * @direction: MNT_ITER_{FORWARD,BACKWARD}
+ *
+ * Try to lookup an entry in given tab, possible are three iterations, first
+ * with @path, second with realpath(@path) and third with realpath(@path)
+ * against realpath(fs->target). The 2nd and 3rd iterations are not performed
+ * when @tb cache is not set (see mnt_table_set_cache()).
+ *
+ * Returns: a tab entry or NULL.
+ */
+struct libmnt_fs *mnt_table_find_target(struct libmnt_table *tb, const char *path, int direction)
+{
+ struct libmnt_iter itr;
+ struct libmnt_fs *fs = NULL;
+ char *cn;
+
+ assert(tb);
+ assert(path);
+
+ if (!tb || !path)
+ return NULL;
+
+ DBG(TAB, mnt_debug_h(tb, "lookup TARGET: %s", path));
+
+ /* native @target */
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ if (mnt_fs_streq_target(fs, path))
+ return fs;
+ }
+ if (!tb->cache || !(cn = mnt_resolve_path(path, tb->cache)))
+ return NULL;
+
+ /* canonicalized paths in struct libmnt_table */
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ if (mnt_fs_streq_target(fs, cn))
+ return fs;
+ }
+
+ /* non-canonicaled path in struct libmnt_table
+ * -- note that mountpoint in /proc/self/mountinfo is already
+ * canonicalized by kernel
+ */
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ char *p;
+
+ if (!fs->target
+ || mnt_fs_is_swaparea(fs)
+ || mnt_fs_is_kernel(fs)
+ || (*fs->target == '/' && *(fs->target + 1) == '\0'))
+ continue;
+
+ p = mnt_resolve_path(fs->target, tb->cache);
+ /* both canonicalized, strcmp() is fine here */
+ if (p && strcmp(cn, p) == 0)
+ return fs;
+ }
+ return NULL;
+}
+
+/**
+ * mnt_table_find_srcpath:
+ * @tb: tab pointer
+ * @path: source path (devname or dirname) or NULL
+ * @direction: MNT_ITER_{FORWARD,BACKWARD}
+ *
+ * Try to lookup an entry in given tab, possible are four iterations, first
+ * with @path, second with realpath(@path), third with tags (LABEL, UUID, ..)
+ * from @path and fourth with realpath(@path) against realpath(entry->srcpath).
+ *
+ * The 2nd, 3rd and 4th iterations are not performed when @tb cache is not
+ * set (see mnt_table_set_cache()).
+ *
+ * Note that NULL is a valid source path; it will be replaced with "none". The
+ * "none" is used in /proc/{mounts,self/mountinfo} for pseudo filesystems.
+ *
+ * Returns: a tab entry or NULL.
+ */
+struct libmnt_fs *mnt_table_find_srcpath(struct libmnt_table *tb, const char *path, int direction)
+{
+ struct libmnt_iter itr;
+ struct libmnt_fs *fs = NULL;
+ int ntags = 0;
+ char *cn;
+ const char *p;
+
+ assert(tb);
+
+ DBG(TAB, mnt_debug_h(tb, "lookup srcpath: %s", path));
+
+ /* native paths */
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ if (mnt_fs_streq_srcpath(fs, path))
+ return fs;
+ if (mnt_fs_get_tag(fs, NULL, NULL) == 0)
+ ntags++;
+ }
+
+ if (!path || !tb->cache || !(cn = mnt_resolve_path(path, tb->cache)))
+ return NULL;
+
+ /* canonicalized paths in struct libmnt_table */
+ if (ntags < mnt_table_get_nents(tb)) {
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ if (mnt_fs_streq_srcpath(fs, cn))
+ return fs;
+ }
+ }
+
+ /* evaluated tag */
+ if (ntags) {
+ int rc = mnt_cache_read_tags(tb->cache, cn);
+
+ mnt_reset_iter(&itr, direction);
+
+ if (rc == 0) {
+ /* @path's TAGs are in the cache */
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ const char *t, *v;
+
+ if (mnt_fs_get_tag(fs, &t, &v))
+ continue;
+
+ if (mnt_cache_device_has_tag(tb->cache, cn, t, v))
+ return fs;
+ }
+ } else if (rc < 0 && errno == EACCES) {
+ /* @path is unaccessible, try evaluate all TAGs in @tb
+ * by udev symlinks -- this could be expensive on systems
+ * with huge fstab/mtab */
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ const char *t, *v, *x;
+ if (mnt_fs_get_tag(fs, &t, &v))
+ continue;
+ x = mnt_resolve_tag(t, v, tb->cache);
+
+ /* both canonicalized, strcmp() is fine here */
+ if (x && strcmp(x, cn) == 0)
+ return fs;
+ }
+ }
+ }
+
+ /* non-canonicalized paths in struct libmnt_table */
+ if (ntags <= mnt_table_get_nents(tb)) {
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ if (mnt_fs_is_netfs(fs) || mnt_fs_is_pseudofs(fs))
+ continue;
+ p = mnt_fs_get_srcpath(fs);
+ if (p)
+ p = mnt_resolve_path(p, tb->cache);
+
+ /* both canonicalized, strcmp() is fine here */
+ if (p && strcmp(p, cn) == 0)
+ return fs;
+ }
+ }
+
+ return NULL;
+}
+
+
+/**
+ * mnt_table_find_tag:
+ * @tb: tab pointer
+ * @tag: tag name (e.g "LABEL", "UUID", ...)
+ * @val: tag value
+ * @direction: MNT_ITER_{FORWARD,BACKWARD}
+ *
+ * Try to lookup an entry in given tab, first attempt is lookup by @tag and
+ * @val, for the second attempt the tag is evaluated (converted to the device
+ * name) and mnt_table_find_srcpath() is preformed. The second attempt is not
+ * performed when @tb cache is not set (see mnt_table_set_cache()).
+
+ * Returns: a tab entry or NULL.
+ */
+struct libmnt_fs *mnt_table_find_tag(struct libmnt_table *tb, const char *tag,
+ const char *val, int direction)
+{
+ struct libmnt_iter itr;
+ struct libmnt_fs *fs = NULL;
+
+ assert(tb);
+ assert(tag);
+ assert(val);
+
+ if (!tb || !tag || !val)
+ return NULL;
+
+ DBG(TAB, mnt_debug_h(tb, "lookup by TAG: %s %s", tag, val));
+
+ /* look up by TAG */
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ if (fs->tagname && fs->tagval &&
+ strcmp(fs->tagname, tag) == 0 &&
+ strcmp(fs->tagval, val) == 0)
+ return fs;
+ }
+
+ if (tb->cache) {
+ /* look up by device name */
+ char *cn = mnt_resolve_tag(tag, val, tb->cache);
+ if (cn)
+ return mnt_table_find_srcpath(tb, cn, direction);
+ }
+ return NULL;
+}
+
+/**
+ * mnt_table_find_source:
+ * @tb: tab pointer
+ * @source: TAG or path
+ * @direction: MNT_ITER_{FORWARD,BACKWARD}
+ *
+ * This is high-level API for mnt_table_find_{srcpath,tag}. You needn't to care
+ * about @source format (device, LABEL, UUID, ...). This function parses @source
+ * and calls mnt_table_find_tag() or mnt_table_find_srcpath().
+ *
+ * Returns: a tab entry or NULL.
+ */
+struct libmnt_fs *mnt_table_find_source(struct libmnt_table *tb,
+ const char *source, int direction)
+{
+ struct libmnt_fs *fs = NULL;
+
+ assert(tb);
+
+ if (!tb)
+ return NULL;
+
+ DBG(TAB, mnt_debug_h(tb, "lookup SOURCE: %s", source));
+
+ if (source && strchr(source, '=')) {
+ char *tag, *val;
+
+ if (blkid_parse_tag_string(source, &tag, &val) == 0) {
+
+ fs = mnt_table_find_tag(tb, tag, val, direction);
+
+ free(tag);
+ free(val);
+ }
+ } else
+ fs = mnt_table_find_srcpath(tb, source, direction);
+
+ return fs;
+}
+
+/**
+ * mnt_table_find_pair
+ * @tb: tab pointer
+ * @source: TAG or path
+ * @target: mountpoint
+ * @direction: MNT_ITER_{FORWARD,BACKWARD}
+ *
+ * This function is implemented by mnt_fs_match_source() and
+ * mnt_fs_match_target() functions. It means that this is more expensive that
+ * others mnt_table_find_* function, because every @tab entry is fully evaluated.
+ *
+ * Returns: a tab entry or NULL.
+ */
+struct libmnt_fs *mnt_table_find_pair(struct libmnt_table *tb, const char *source,
+ const char *target, int direction)
+{
+ struct libmnt_fs *fs = NULL;
+ struct libmnt_iter itr;
+
+ assert(tb);
+ assert(target);
+
+ if (!tb || !target)
+ return NULL;
+
+ DBG(TAB, mnt_debug_h(tb, "lookup SOURCE: %s TARGET: %s", source, target));
+
+ mnt_reset_iter(&itr, direction);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+
+ if (mnt_fs_match_target(fs, target, tb->cache) &&
+ mnt_fs_match_source(fs, source, tb->cache))
+ return fs;
+ }
+
+ return NULL;
+}
+
+/**
+ * mnt_table_find_devno
+ * @tb: /proc/self/mountinfo
+ * @devno: device number
+ * @direction: MNT_ITER_{FORWARD,BACKWARD}
+ *
+ * Note that zero could be valid device number for root pseudo filesystem (e.g.
+ * tmpfs).
+ *
+ * Returns: a tab entry or NULL.
+ */
+struct libmnt_fs *mnt_table_find_devno(struct libmnt_table *tb,
+ dev_t devno, int direction)
+{
+ struct libmnt_fs *fs = NULL;
+ struct libmnt_iter itr;
+
+ assert(tb);
+
+ if (!tb)
+ return NULL;
+
+ DBG(TAB, mnt_debug_h(tb, "lookup DEVNO: %d", (int) devno));
+
+ mnt_reset_iter(&itr, direction);
+
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ if (mnt_fs_get_devno(fs) == devno)
+ return fs;
+ }
+
+ return NULL;
+}
+
+/*
+ * tb: /proc/self/mountinfo
+ * fs: filesystem
+ * mountflags: MS_BIND or 0
+ * fsroot: fs-root that will be probably used in the mountinfo file
+ * for @fs after mount(2)
+ *
+ * For btrfs subvolumes this function returns NULL, but @fsroot properly set.
+ *
+ * Returns: entry from @tb that will be used as a source for @fs if the @fs is
+ * bindmount.
+ *
+ * Don't export to library API!
+ */
+struct libmnt_fs *mnt_table_get_fs_root(struct libmnt_table *tb,
+ struct libmnt_fs *fs,
+ unsigned long mountflags,
+ char **fsroot)
+{
+ char *root = NULL, *mnt = NULL;
+ const char *fstype;
+ struct libmnt_fs *src_fs = NULL;
+
+ assert(fs);
+ assert(fsroot);
+
+ DBG(TAB, mnt_debug("lookup fs-root for %s", mnt_fs_get_source(fs)));
+
+ fstype = mnt_fs_get_fstype(fs);
+
+ if (tb && (mountflags & MS_BIND)) {
+ const char *src, *src_root;
+ char *xsrc = NULL;
+
+ DBG(TAB, mnt_debug("fs-root for bind"));
+
+ src = xsrc = mnt_resolve_spec(mnt_fs_get_source(fs), tb->cache);
+ if (src)
+ mnt = mnt_get_mountpoint(src);
+ if (mnt)
+ root = mnt_get_fs_root(src, mnt);
+
+ if (xsrc && !tb->cache) {
+ free(xsrc);
+ src = NULL;
+ }
+ if (!mnt)
+ goto err;
+
+ src_fs = mnt_table_find_target(tb, mnt, MNT_ITER_BACKWARD);
+ if (!src_fs) {
+ DBG(TAB, mnt_debug("not found '%s' in mountinfo -- using default", mnt));
+ goto dflt;
+ }
+
+ /* on btrfs the subvolume is used as fs-root in
+ * /proc/self/mountinfo, so we have to get the original subvolume
+ * name from src_fs and prepend the subvolume name to the
+ * fs-root path
+ */
+ src_root = mnt_fs_get_root(src_fs);
+ if (src_root && !startswith(root, src_root)) {
+ size_t sz = strlen(root) + strlen(src_root) + 1;
+ char *tmp = malloc(sz);
+
+ if (!tmp)
+ goto err;
+ snprintf(tmp, sz, "%s%s", src_root, root);
+ free(root);
+ root = tmp;
+ }
+ }
+
+ /*
+ * btrfs-subvolume mount -- get subvolume name and use it as a root-fs path
+ */
+ else if (fstype && !strcmp(fstype, "btrfs")) {
+ char *vol = NULL, *p;
+ size_t sz, volsz = 0;
+
+ if (mnt_fs_get_option(fs, "subvol", &vol, &volsz))
+ goto dflt;
+
+ DBG(TAB, mnt_debug("setting FS root: btrfs subvol"));
+
+ sz = volsz;
+ if (*vol != '/')
+ sz++;
+ root = malloc(sz + 1);
+ if (!root)
+ goto err;
+ p = root;
+ if (*vol != '/')
+ *p++ = '/';
+ memcpy(p, vol, volsz);
+ *(root + sz) = '\0';
+ }
+dflt:
+ if (!root) {
+ root = strdup("/");
+ if (!root)
+ goto err;
+ }
+ *fsroot = root;
+
+ DBG(TAB, mnt_debug("FS root result: %s", root));
+
+ free(mnt);
+ return src_fs;
+err:
+ free(root);
+ free(mnt);
+ return NULL;
+}
+
+static int is_mountinfo(struct libmnt_table *tb)
+{
+ struct libmnt_fs *fs;
+
+ if (!tb)
+ return 0;
+
+ fs = list_first_entry(&tb->ents, struct libmnt_fs, ents);
+ if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs))
+ return 1;
+
+ return 0;
+}
+
+/**
+ * mnt_table_is_mounted:
+ * @tb: /proc/self/mountinfo file
+ * @fstab_fs: /etc/fstab entry
+ *
+ * Checks if the @fstab_fs entry is already in the @tb table. The "swap" is
+ * ignored. This function explicitly compares source, target and root of the
+ * filesystems.
+ *
+ * Note that source and target are canonicalized only if a cache for @tb is
+ * defined (see mnt_table_set_cache()). The target canonicalization may
+ * triggers automount on autofs mountpoints!
+ *
+ * Don't use it if you want to know if a device is mounted, just use
+ * mnt_table_find_source() for the device.
+ *
+ * This function is designed mostly for "mount -a".
+ *
+ * TODO: check for loopdev (see mount/mount.c is_fstab_entry_mounted().
+ *
+ * Returns: 0 or 1
+ */
+int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
+{
+ char *root = NULL;
+ const char *src = NULL, *tgt = NULL;
+ char *xtgt = NULL;
+ int rc = 0;
+
+ assert(tb);
+ assert(fstab_fs);
+
+ if (mnt_fs_is_swaparea(fstab_fs) || mnt_table_get_nents(tb) == 0)
+ return 0;
+
+ if (is_mountinfo(tb)) {
+ /* @tb is mountinfo, so we can try to use fs-roots */
+ struct libmnt_fs *fs;
+ int flags = 0;
+
+ if (mnt_fs_get_option(fstab_fs, "bind", NULL, NULL) == 0)
+ flags = MS_BIND;
+
+ fs = mnt_table_get_fs_root(tb, fstab_fs, flags, &root);
+ if (fs)
+ src = mnt_fs_get_srcpath(fs);
+ }
+
+ if (!src)
+ src = mnt_fs_get_source(fstab_fs);
+
+ if (src && tb->cache && !mnt_fs_is_pseudofs(fstab_fs))
+ src = mnt_resolve_spec(src, tb->cache);
+
+ tgt = mnt_fs_get_target(fstab_fs);
+
+ if (tgt && src) {
+ struct libmnt_iter itr;
+ struct libmnt_fs *fs;
+
+ mnt_reset_iter(&itr, MNT_ITER_FORWARD);
+
+ while (mnt_table_next_fs(tb, &itr, &fs) == 0) {
+
+ if (!mnt_fs_streq_srcpath(fs, src))
+ continue;
+
+ if (root) {
+ const char *r = mnt_fs_get_root(fs);
+ if (!r || strcmp(r, root) != 0)
+ continue;
+ }
+
+ /*
+ * Compare target, try to minimize number of situations
+ * when we need to canonicalize the path to avoid
+ * readlink() on mountpoints.
+ */
+ if (!xtgt) {
+ if (mnt_fs_streq_target(fs, tgt))
+ break;
+ if (tb->cache)
+ xtgt = mnt_resolve_path(tgt, tb->cache);
+ }
+ if (xtgt && mnt_fs_streq_target(fs, xtgt))
+ break;
+
+ }
+ if (fs)
+ rc = 1; /* success */
+ }
+
+ free(root);
+ return rc;
+}
+
+#ifdef TEST_PROGRAM
+
+static int parser_errcb(struct libmnt_table *tb, const char *filename, int line)
+{
+ fprintf(stderr, "%s:%d: parse error\n", filename, line);
+
+ return 1; /* all errors are recoverable -- this is default */
+}
+
+struct libmnt_table *create_table(const char *file)
+{
+ struct libmnt_table *tb;
+
+ if (!file)
+ return NULL;
+ tb = mnt_new_table();
+ if (!tb)
+ goto err;
+
+ mnt_table_set_parser_errcb(tb, parser_errcb);
+
+ if (mnt_table_parse_file(tb, file) != 0)
+ goto err;
+ return tb;
+err:
+ fprintf(stderr, "%s: parsing failed\n", file);
+ mnt_free_table(tb);
+ return NULL;
+}
+
+int test_copy_fs(struct libmnt_test *ts, int argc, char *argv[])
+{
+ struct libmnt_table *tb;
+ struct libmnt_fs *fs;
+ int rc = -1;
+
+ tb = create_table(argv[1]);
+ if (!tb)
+ return -1;
+
+ fs = mnt_table_find_target(tb, "/", MNT_ITER_FORWARD);
+ if (!fs)
+ goto done;
+
+ printf("ORIGINAL:\n");
+ mnt_fs_print_debug(fs, stdout);
+
+ fs = mnt_copy_fs(NULL, fs);
+ if (!fs)
+ goto done;
+
+ printf("COPY:\n");
+ mnt_fs_print_debug(fs, stdout);
+ mnt_free_fs(fs);
+ rc = 0;
+done:
+ mnt_free_table(tb);
+ return rc;
+}
+
+int test_parse(struct libmnt_test *ts, int argc, char *argv[])
+{
+ struct libmnt_table *tb = NULL;
+ struct libmnt_iter *itr = NULL;
+ struct libmnt_fs *fs;
+ int rc = -1;
+
+ tb = create_table(argv[1]);
+ if (!tb)
+ return -1;
+
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+ if (!itr)
+ goto done;
+
+ while(mnt_table_next_fs(tb, itr, &fs) == 0)
+ mnt_fs_print_debug(fs, stdout);
+ rc = 0;
+done:
+ mnt_free_iter(itr);
+ mnt_free_table(tb);
+ return rc;
+}
+
+int test_find(struct libmnt_test *ts, int argc, char *argv[], int dr)
+{
+ struct libmnt_table *tb;
+ struct libmnt_fs *fs = NULL;
+ struct libmnt_cache *mpc = NULL;
+ const char *file, *find, *what;
+ int rc = -1;
+
+ if (argc != 4) {
+ fprintf(stderr, "try --help\n");
+ return -EINVAL;
+ }
+
+ file = argv[1], find = argv[2], what = argv[3];
+
+ tb = create_table(file);
+ if (!tb)
+ goto done;
+
+ /* create a cache for canonicalized paths */
+ mpc = mnt_new_cache();
+ if (!mpc)
+ goto done;
+ mnt_table_set_cache(tb, mpc);
+
+ if (strcasecmp(find, "source") == 0)
+ fs = mnt_table_find_source(tb, what, dr);
+ else if (strcasecmp(find, "target") == 0)
+ fs = mnt_table_find_target(tb, what, dr);
+
+ if (!fs)
+ fprintf(stderr, "%s: not found %s '%s'\n", file, find, what);
+ else {
+ mnt_fs_print_debug(fs, stdout);
+ rc = 0;
+ }
+done:
+ mnt_free_table(tb);
+ mnt_free_cache(mpc);
+ return rc;
+}
+
+int test_find_bw(struct libmnt_test *ts, int argc, char *argv[])
+{
+ return test_find(ts, argc, argv, MNT_ITER_BACKWARD);
+}
+
+int test_find_fw(struct libmnt_test *ts, int argc, char *argv[])
+{
+ return test_find(ts, argc, argv, MNT_ITER_FORWARD);
+}
+
+int test_find_pair(struct libmnt_test *ts, int argc, char *argv[])
+{
+ struct libmnt_table *tb;
+ struct libmnt_fs *fs;
+ struct libmnt_cache *mpc = NULL;
+ int rc = -1;
+
+ tb = create_table(argv[1]);
+ if (!tb)
+ return -1;
+ mpc = mnt_new_cache();
+ if (!mpc)
+ goto done;
+ mnt_table_set_cache(tb, mpc);
+
+ fs = mnt_table_find_pair(tb, argv[2], argv[3], MNT_ITER_FORWARD);
+ if (!fs)
+ goto done;
+
+ mnt_fs_print_debug(fs, stdout);
+ rc = 0;
+done:
+ mnt_free_table(tb);
+ mnt_free_cache(mpc);
+ return rc;
+}
+
+static int test_is_mounted(struct libmnt_test *ts, int argc, char *argv[])
+{
+ struct libmnt_table *tb = NULL, *fstab = NULL;
+ struct libmnt_fs *fs;
+ struct libmnt_iter *itr = NULL;
+ struct libmnt_cache *mpc = NULL;
+ int rc;
+
+ tb = mnt_new_table_from_file("/proc/self/mountinfo");
+ if (!tb) {
+ fprintf(stderr, "failed to parse mountinfo\n");
+ return -1;
+ }
+
+ fstab = create_table(argv[1]);
+ if (!fstab)
+ goto done;
+
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+ if (!itr)
+ goto done;
+
+ mpc = mnt_new_cache();
+ if (!mpc)
+ goto done;
+ mnt_table_set_cache(tb, mpc);
+
+ while(mnt_table_next_fs(fstab, itr, &fs) == 0) {
+ if (mnt_table_is_fs_mounted(tb, fs))
+ printf("%s already mounted on %s\n",
+ mnt_fs_get_source(fs),
+ mnt_fs_get_target(fs));
+ else
+ printf("%s not mounted on %s\n",
+ mnt_fs_get_source(fs),
+ mnt_fs_get_target(fs));
+ }
+
+ rc = 0;
+done:
+ mnt_free_table(tb);
+ mnt_free_table(fstab);
+ mnt_free_cache(mpc);
+ mnt_free_iter(itr);
+ return rc;
+}
+
+int main(int argc, char *argv[])
+{
+ struct libmnt_test tss[] = {
+ { "--parse", test_parse, "<file> parse and print tab" },
+ { "--find-forward", test_find_fw, "<file> <source|target> <string>" },
+ { "--find-backward", test_find_bw, "<file> <source|target> <string>" },
+ { "--find-pair", test_find_pair, "<file> <source> <target>" },
+ { "--copy-fs", test_copy_fs, "<file> copy root FS from the file" },
+ { "--is-mounted", test_is_mounted, "<fstab> check what from <file> are already mounted" },
+ { NULL }
+ };
+
+ return mnt_run_test(tss, argc, argv);
+}
+
+#endif /* TEST_PROGRAM */
diff --git a/libmount/src/tab_diff.c b/libmount/src/tab_diff.c
new file mode 100644
index 0000000..f01f889
--- /dev/null
+++ b/libmount/src/tab_diff.c
@@ -0,0 +1,362 @@
+/*
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: tabdiff
+ * @title: Monitor mountinfo changes
+ * @short_description: monitor changes in the list of the mounted filesystems
+ */
+#include "mountP.h"
+
+struct tabdiff_entry {
+ int oper; /* MNT_TABDIFF_* flags; */
+
+ struct libmnt_fs *old_fs; /* pointer to the old FS */
+ struct libmnt_fs *new_fs; /* pointer to the new FS */
+
+ struct list_head changes;
+};
+
+struct libmnt_tabdiff {
+ int nchanges; /* number of changes */
+
+ struct list_head changes; /* list with modified entries */
+ struct list_head unused; /* list with unuused entries */
+};
+
+/**
+ * mnt_new_tabdiff:
+ *
+ * Allocates a new table diff struct.
+ *
+ * Returns: new diff handler or NULL.
+ */
+struct libmnt_tabdiff *mnt_new_tabdiff(void)
+{
+ struct libmnt_tabdiff *df = calloc(1, sizeof(*df));
+
+ if (!df)
+ return NULL;
+
+ DBG(DIFF, mnt_debug_h(df, "alloc"));
+
+ INIT_LIST_HEAD(&df->changes);
+ INIT_LIST_HEAD(&df->unused);
+ return df;
+}
+
+static void free_tabdiff_entry(struct tabdiff_entry *de)
+{
+ if (!de)
+ return;
+ list_del(&de->changes);
+ free(de);
+}
+
+/**
+ * mnt_free_tabdiff:
+ * @df: tab diff
+ *
+ * Deallocates tab diff struct and all entries.
+ */
+void mnt_free_tabdiff(struct libmnt_tabdiff *df)
+{
+ if (!df)
+ return;
+
+ DBG(DIFF, mnt_debug_h(df, "free"));
+
+ while (!list_empty(&df->changes)) {
+ struct tabdiff_entry *de = list_entry(df->changes.next,
+ struct tabdiff_entry, changes);
+ free_tabdiff_entry(de);
+ }
+
+ free(df);
+}
+
+/**
+ * mnt_tabdiff_next_change:
+ * @df: tabdiff pointer
+ * @itr: iterator
+ * @old_fs: returns the old entry or NULL if new entry added
+ * @new_fs: returns the new entry or NULL if old entry removed
+ * @oper: MNT_TABDIFF_{MOVE,UMOUNT,REMOUNT,MOUNT} flags
+ *
+ * The options @old_fs, @new_fs and @oper are optional.
+ *
+ * Returns: 0 on success, negative number in case of error or 1 at end of list.
+ */
+int mnt_tabdiff_next_change(struct libmnt_tabdiff *df, struct libmnt_iter *itr,
+ struct libmnt_fs **old_fs, struct libmnt_fs **new_fs, int *oper)
+{
+ int rc = 1;
+ struct tabdiff_entry *de = NULL;
+
+ assert(df);
+ assert(df);
+
+ if (!df || !itr)
+ return -EINVAL;
+
+ if (!itr->head)
+ MNT_ITER_INIT(itr, &df->changes);
+ if (itr->p != itr->head) {
+ MNT_ITER_ITERATE(itr, de, struct tabdiff_entry, changes);
+ rc = 0;
+ }
+
+ if (old_fs)
+ *old_fs = de ? de->old_fs : NULL;
+ if (new_fs)
+ *new_fs = de ? de->new_fs : NULL;
+ if (oper)
+ *oper = de ? de->oper : 0;
+
+ return rc;
+}
+
+static int tabdiff_reset(struct libmnt_tabdiff *df)
+{
+ assert(df);
+
+ DBG(DIFF, mnt_debug_h(df, "reseting"));
+
+ /* zeroize all entries and move them to the list of unuused
+ */
+ while (!list_empty(&df->changes)) {
+ struct tabdiff_entry *de = list_entry(df->changes.next,
+ struct tabdiff_entry, changes);
+
+ list_del(&de->changes);
+ list_add_tail(&de->changes, &df->unused);
+
+ de->new_fs = de->old_fs = NULL;
+ de->oper = 0;
+ }
+
+ df->nchanges = 0;
+ return 0;
+}
+
+static int tabdiff_add_entry(struct libmnt_tabdiff *df, struct libmnt_fs *old,
+ struct libmnt_fs *new, int oper)
+{
+ struct tabdiff_entry *de;
+
+ assert(df);
+
+ DBG(DIFF, mnt_debug_h(df, "add change on %s",
+ mnt_fs_get_target(new ? new : old)));
+
+ if (!list_empty(&df->unused)) {
+ de = list_entry(df->unused.next, struct tabdiff_entry, changes);
+ list_del(&de->changes);
+ } else {
+ de = calloc(1, sizeof(*de));
+ if (!de)
+ return -ENOMEM;
+ }
+
+ INIT_LIST_HEAD(&de->changes);
+
+ de->old_fs = old;
+ de->new_fs = new;
+ de->oper = oper;
+
+ list_add_tail(&de->changes, &df->changes);
+ df->nchanges++;
+ return 0;
+}
+
+static struct tabdiff_entry *tabdiff_get_mount(struct libmnt_tabdiff *df,
+ const char *src,
+ int id)
+{
+ struct list_head *p;
+
+ assert(df);
+
+ list_for_each(p, &df->changes) {
+ struct tabdiff_entry *de;
+
+ de = list_entry(p, struct tabdiff_entry, changes);
+
+ if (de->oper == MNT_TABDIFF_MOUNT && de->new_fs &&
+ mnt_fs_get_id(de->new_fs) == id) {
+
+ const char *s = mnt_fs_get_source(de->new_fs);
+
+ if (s == NULL && src == NULL)
+ return de;
+ if (s && src && strcmp(s, src) == 0)
+ return de;
+ }
+ }
+ return NULL;
+}
+
+/**
+ * mnt_diff_tables:
+ * @df: diff handler
+ * @old_tab: old table
+ * @new_tab: new table
+ *
+ * Compares @old_tab and @new_tab, the result is stored in @df and accessible by
+ * mnt_tabdiff_next_change().
+ *
+ * Returns: number of changes, negative number in case of error.
+ */
+int mnt_diff_tables(struct libmnt_tabdiff *df, struct libmnt_table *old_tab,
+ struct libmnt_table *new_tab)
+{
+ struct libmnt_fs *fs;
+ struct libmnt_iter itr;
+ int no, nn;
+
+ if (!df || !old_tab || !new_tab)
+ return -EINVAL;
+
+ tabdiff_reset(df);
+
+ no = mnt_table_get_nents(old_tab);
+ nn = mnt_table_get_nents(new_tab);
+
+ if (!no && !nn) /* both tables are empty */
+ return 0;
+
+ DBG(DIFF, mnt_debug_h(df, "analyze new=%p (%d entries), "
+ "old=%p (%d entries)",
+ new_tab, nn, old_tab, no));
+
+ mnt_reset_iter(&itr, MNT_ITER_FORWARD);
+
+ /* all mounted or umounted */
+ if (!no && nn) {
+ while(mnt_table_next_fs(new_tab, &itr, &fs) == 0)
+ tabdiff_add_entry(df, NULL, fs, MNT_TABDIFF_MOUNT);
+ goto done;
+
+ } else if (no && !nn) {
+ while(mnt_table_next_fs(old_tab, &itr, &fs) == 0)
+ tabdiff_add_entry(df, fs, NULL, MNT_TABDIFF_UMOUNT);
+ goto done;
+ }
+
+ /* search newly mounted or modified */
+ while(mnt_table_next_fs(new_tab, &itr, &fs) == 0) {
+ struct libmnt_fs *o_fs;
+ const char *src = mnt_fs_get_source(fs),
+ *tgt = mnt_fs_get_target(fs);
+
+ o_fs = mnt_table_find_pair(old_tab, src, tgt, MNT_ITER_FORWARD);
+ if (!o_fs)
+ /* 'fs' is not in the old table -- so newly mounted */
+ tabdiff_add_entry(df, NULL, fs, MNT_TABDIFF_MOUNT);
+ else {
+ /* is modified? */
+ const char *v1 = mnt_fs_get_vfs_options(o_fs),
+ *v2 = mnt_fs_get_vfs_options(fs),
+ *f1 = mnt_fs_get_fs_options(o_fs),
+ *f2 = mnt_fs_get_fs_options(fs);
+
+ if ((v1 && v2 && strcmp(v1, v2)) || (f1 && f2 && strcmp(f1, f2)))
+ tabdiff_add_entry(df, o_fs, fs, MNT_TABDIFF_REMOUNT);
+ }
+ }
+
+ /* search umounted or moved */
+ mnt_reset_iter(&itr, MNT_ITER_FORWARD);
+ while(mnt_table_next_fs(old_tab, &itr, &fs) == 0) {
+ const char *src = mnt_fs_get_source(fs),
+ *tgt = mnt_fs_get_target(fs);
+
+ if (!mnt_table_find_pair(new_tab, src, tgt, MNT_ITER_FORWARD)) {
+ struct tabdiff_entry *de;
+
+ de = tabdiff_get_mount(df, src, mnt_fs_get_id(fs));
+ if (de) {
+ de->oper = MNT_TABDIFF_MOVE;
+ de->old_fs = fs;
+ } else
+ tabdiff_add_entry(df, fs, NULL, MNT_TABDIFF_UMOUNT);
+ }
+ }
+done:
+ DBG(DIFF, mnt_debug_h(df, "%d changes detected", df->nchanges));
+ return df->nchanges;
+}
+
+#ifdef TEST_PROGRAM
+
+int test_diff(struct libmnt_test *ts, int argc, char *argv[])
+{
+ struct libmnt_table *tb_old = NULL, *tb_new = NULL;
+ struct libmnt_tabdiff *diff = NULL;
+ struct libmnt_iter *itr;
+ struct libmnt_fs *old, *new;
+ int rc = -1, change;
+
+ tb_old = mnt_new_table_from_file(argv[1]);
+ tb_new = mnt_new_table_from_file(argv[2]);
+ diff = mnt_new_tabdiff();
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+
+ if (!tb_old || !tb_new || !diff || !itr) {
+ warnx("failed to allocate resources");
+ goto done;
+ }
+
+ rc = mnt_diff_tables(diff, tb_old, tb_new);
+ if (rc < 0)
+ goto done;
+
+ while(mnt_tabdiff_next_change(diff, itr, &old, &new, &change) == 0) {
+
+ printf("%s on %s: ", mnt_fs_get_source(new ? new : old),
+ mnt_fs_get_target(new ? new : old));
+
+ switch(change) {
+ case MNT_TABDIFF_MOVE:
+ printf("MOVED to %s\n", mnt_fs_get_target(new));
+ break;
+ case MNT_TABDIFF_UMOUNT:
+ printf("UMOUNTED\n");
+ break;
+ case MNT_TABDIFF_REMOUNT:
+ printf("REMOUNTED from '%s' to '%s'\n",
+ mnt_fs_get_options(old),
+ mnt_fs_get_options(new));
+ break;
+ case MNT_TABDIFF_MOUNT:
+ printf("MOUNTED\n");
+ break;
+ default:
+ printf("unknown change!\n");
+ }
+ }
+
+ rc = 0;
+done:
+ mnt_free_table(tb_old);
+ mnt_free_table(tb_new);
+ mnt_free_tabdiff(diff);
+ mnt_free_iter(itr);
+ return rc;
+}
+
+int main(int argc, char *argv[])
+{
+ struct libmnt_test tss[] = {
+ { "--diff", test_diff, "<old> <new> prints change" },
+ { NULL }
+ };
+
+ return mnt_run_test(tss, argc, argv);
+}
+
+#endif /* TEST_PROGRAM */
diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c
new file mode 100644
index 0000000..ab5d51a
--- /dev/null
+++ b/libmount/src/tab_parse.c
@@ -0,0 +1,944 @@
+/*
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#ifdef HAVE_SCANDIRAT
+#ifndef __USE_GNU
+#define __USE_GNU
+#endif /* !__USE_GNU */
+#endif /* HAVE_SCANDIRAT */
+
+#include <ctype.h>
+#include <limits.h>
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "at.h"
+#include "mangle.h"
+#include "mountP.h"
+#include "pathnames.h"
+#include "strutils.h"
+
+static inline char *skip_spaces(char *s)
+{
+ assert(s);
+
+ while (*s == ' ' || *s == '\t')
+ s++;
+ return s;
+}
+
+static int next_number(char **s, int *num)
+{
+ char *end = NULL;
+
+ assert(num);
+ assert(s);
+
+ *s = skip_spaces(*s);
+ if (!**s)
+ return -1;
+ *num = strtol(*s, &end, 10);
+ if (end == NULL || *s == end)
+ return -1;
+
+ *s = end;
+
+ /* valid end of number is space or terminator */
+ if (*end == ' ' || *end == '\t' || *end == '\0')
+ return 0;
+ return -1;
+}
+
+/*
+ * Parses one line from {fs,m}tab
+ */
+static int mnt_parse_table_line(struct libmnt_fs *fs, char *s)
+{
+ int rc, n = 0, xrc;
+ char *src = NULL, *fstype = NULL, *optstr = NULL;
+
+ rc = sscanf(s, UL_SCNsA" " /* (1) source */
+ UL_SCNsA" " /* (2) target */
+ UL_SCNsA" " /* (3) FS type */
+ UL_SCNsA" " /* (4) options */
+ "%n", /* byte count */
+
+ &src,
+ &fs->target,
+ &fstype,
+ &optstr,
+ &n);
+ xrc = rc;
+
+ if (rc == 3 || rc == 4) { /* options are optional */
+ unmangle_string(src);
+ unmangle_string(fs->target);
+ unmangle_string(fstype);
+
+ if (optstr && *optstr)
+ unmangle_string(optstr);
+
+ /* note that __foo functions does not reallocate the string
+ */
+ rc = __mnt_fs_set_source_ptr(fs, src);
+ if (!rc) {
+ src = NULL;
+ rc = __mnt_fs_set_fstype_ptr(fs, fstype);
+ if (!rc)
+ fstype = NULL;
+ }
+ if (!rc && optstr)
+ rc = mnt_fs_set_options(fs, optstr);
+ free(optstr);
+ optstr = NULL;
+ } else {
+ DBG(TAB, mnt_debug("tab parse error: [sscanf rc=%d]: '%s'", rc, s));
+ rc = -EINVAL;
+ }
+
+ if (rc) {
+ free(src);
+ free(fstype);
+ free(optstr);
+ DBG(TAB, mnt_debug("tab parse error: [set vars, rc=%d]\n", rc));
+ return rc; /* error */
+ }
+
+ fs->passno = fs->freq = 0;
+
+ if (xrc == 4 && n)
+ s = skip_spaces(s + n);
+ if (xrc == 4 && *s) {
+ if (next_number(&s, &fs->freq) != 0) {
+ if (*s) {
+ DBG(TAB, mnt_debug("tab parse error: [freq]"));
+ rc = -EINVAL;
+ }
+ } else if (next_number(&s, &fs->passno) != 0 && *s) {
+ DBG(TAB, mnt_debug("tab parse error: [passno]"));
+ rc = -EINVAL;
+ }
+ }
+
+ return rc;
+}
+
+/*
+ * Parses one line from mountinfo file
+ */
+static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s)
+{
+ int rc, end = 0;
+ unsigned int maj, min;
+ char *fstype = NULL, *src = NULL, *p;
+
+ rc = sscanf(s, "%u " /* (1) id */
+ "%u " /* (2) parent */
+ "%u:%u " /* (3) maj:min */
+ UL_SCNsA" " /* (4) mountroot */
+ UL_SCNsA" " /* (5) target */
+ UL_SCNsA /* (6) vfs options (fs-independent) */
+ "%n", /* number of read bytes */
+
+ &fs->id,
+ &fs->parent,
+ &maj, &min,
+ &fs->root,
+ &fs->target,
+ &fs->vfs_optstr,
+ &end);
+
+ if (rc >= 7 && end > 0)
+ s += end;
+
+ /* (7) optional fields, terminated by " - " */
+ p = strstr(s, " - ");
+ if (!p) {
+ DBG(TAB, mnt_debug("mountinfo parse error: not found separator"));
+ return -EINVAL;
+ }
+ s = p + 3;
+
+ rc += sscanf(s, UL_SCNsA" " /* (8) FS type */
+ UL_SCNsA" " /* (9) source */
+ UL_SCNsA, /* (10) fs options (fs specific) */
+
+ &fstype,
+ &src,
+ &fs->fs_optstr);
+
+ if (rc >= 10) {
+ fs->flags |= MNT_FS_KERNEL;
+ fs->devno = makedev(maj, min);
+
+ unmangle_string(fs->root);
+ unmangle_string(fs->target);
+ unmangle_string(fs->vfs_optstr);
+ unmangle_string(fstype);
+ unmangle_string(src);
+ unmangle_string(fs->fs_optstr);
+
+ rc = __mnt_fs_set_fstype_ptr(fs, fstype);
+ if (!rc) {
+ fstype = NULL;
+ rc = __mnt_fs_set_source_ptr(fs, src);
+ if (!rc)
+ src = NULL;
+ }
+
+ /* merge VFS and FS options to the one string */
+ fs->optstr = mnt_fs_strdup_options(fs);
+ if (!fs->optstr)
+ rc = -ENOMEM;
+ } else {
+ free(fstype);
+ free(src);
+ DBG(TAB, mnt_debug(
+ "mountinfo parse error [sscanf rc=%d]: '%s'", rc, s));
+ rc = -EINVAL;
+ }
+ return rc;
+}
+
+/*
+ * Parses one line from utab file
+ */
+static int mnt_parse_utab_line(struct libmnt_fs *fs, const char *s)
+{
+ const char *p = s;
+
+ assert(fs);
+ assert(s);
+ assert(!fs->source);
+ assert(!fs->target);
+
+ while (p && *p) {
+ char *end = NULL;
+
+ while (*p == ' ') p++;
+ if (!*p)
+ break;
+
+ if (!fs->source && !strncmp(p, "SRC=", 4)) {
+ char *v = unmangle(p + 4, &end);
+ if (!v)
+ goto enomem;
+ __mnt_fs_set_source_ptr(fs, v);
+
+ } else if (!fs->target && !strncmp(p, "TARGET=", 7)) {
+ fs->target = unmangle(p + 7, &end);
+ if (!fs->target)
+ goto enomem;
+
+ } else if (!fs->root && !strncmp(p, "ROOT=", 5)) {
+ fs->root = unmangle(p + 5, &end);
+ if (!fs->root)
+ goto enomem;
+
+ } else if (!fs->bindsrc && !strncmp(p, "BINDSRC=", 8)) {
+ fs->bindsrc = unmangle(p + 8, &end);
+ if (!fs->bindsrc)
+ goto enomem;
+
+ } else if (!fs->user_optstr && !strncmp(p, "OPTS=", 5)) {
+ fs->user_optstr = unmangle(p + 5, &end);
+ if (!fs->user_optstr)
+ goto enomem;
+
+ } else if (!fs->attrs && !strncmp(p, "ATTRS=", 6)) {
+ fs->attrs = unmangle(p + 6, &end);
+ if (!fs->attrs)
+ goto enomem;
+
+ } else {
+ /* unknown variable */
+ while (*p && *p != ' ') p++;
+ }
+ if (end)
+ p = end;
+ }
+
+ return 0;
+enomem:
+ DBG(TAB, mnt_debug("utab parse error: ENOMEM"));
+ return -ENOMEM;
+}
+
+/*
+ * Parses one line from /proc/swaps
+ */
+static int mnt_parse_swaps_line(struct libmnt_fs *fs, char *s)
+{
+ uintmax_t fsz, usz;
+ int rc;
+ char *src = NULL;
+
+ rc = sscanf(s, UL_SCNsA" " /* (1) source */
+ UL_SCNsA" " /* (2) type */
+ "%jd" /* (3) size */
+ "%jd" /* (4) used */
+ "%d", /* priority */
+
+ &src,
+ &fs->swaptype,
+ &fsz,
+ &usz,
+ &fs->priority);
+
+ if (rc == 5) {
+ size_t sz;
+
+ fs->size = fsz;
+ fs->usedsize = usz;
+
+ unmangle_string(src);
+
+ /* remove "(deleted)" suffix */
+ sz = strlen(src);
+ if (sz > PATH_DELETED_SUFFIX_SZ) {
+ char *p = src + (sz - PATH_DELETED_SUFFIX_SZ);
+ if (strcmp(p, PATH_DELETED_SUFFIX) == 0)
+ *p = '\0';
+ }
+
+ rc = mnt_fs_set_source(fs, src);
+ if (!rc)
+ mnt_fs_set_fstype(fs, "swap");
+ free(src);
+ } else {
+ DBG(TAB, mnt_debug("tab parse error: [sscanf rc=%d]: '%s'", rc, s));
+ rc = -EINVAL;
+ }
+
+ return rc;
+}
+
+
+/*
+ * Returns {m,fs}tab or mountinfo file format (MNT_FMT_*)
+ *
+ * Note that we aren't trying to guess utab file format, because this file has
+ * to be always parsed by private libmount routines with explicitly defined
+ * format.
+ *
+ * mountinfo: "<number> <number> ... "
+ */
+static int guess_table_format(char *line)
+{
+ unsigned int a, b;
+
+ DBG(TAB, mnt_debug("trying to guess table type"));
+
+ if (sscanf(line, "%u %u", &a, &b) == 2)
+ return MNT_FMT_MOUNTINFO;
+
+ if (strncmp(line, "Filename\t", 9) == 0)
+ return MNT_FMT_SWAPS;
+
+ return MNT_FMT_FSTAB; /* fstab, mtab or /proc/mounts */
+}
+
+/*
+ * Read and parse the next line from {fs,m}tab or mountinfo
+ */
+static int mnt_table_parse_next(struct libmnt_table *tb, FILE *f, struct libmnt_fs *fs,
+ const char *filename, int *nlines)
+{
+ char buf[BUFSIZ];
+ char *s;
+ int rc;
+
+ assert(tb);
+ assert(f);
+ assert(fs);
+
+ /* read the next non-blank non-comment line */
+next_line:
+ do {
+ if (fgets(buf, sizeof(buf), f) == NULL)
+ return -EINVAL;
+ ++*nlines;
+ s = index (buf, '\n');
+ if (!s) {
+ /* Missing final newline? Otherwise extremely */
+ /* long line - assume file was corrupted */
+ if (feof(f)) {
+ DBG(TAB, mnt_debug_h(tb,
+ "%s: no final newline", filename));
+ s = index (buf, '\0');
+ } else {
+ DBG(TAB, mnt_debug_h(tb,
+ "%s:%d: missing newline at line",
+ filename, *nlines));
+ goto err;
+ }
+ }
+ *s = '\0';
+ if (--s >= buf && *s == '\r')
+ *s = '\0';
+ s = skip_spaces(buf);
+ } while (*s == '\0' || *s == '#');
+
+ if (tb->fmt == MNT_FMT_GUESS) {
+ tb->fmt = guess_table_format(s);
+ if (tb->fmt == MNT_FMT_SWAPS)
+ goto next_line; /* skip swap header */
+ }
+
+ switch (tb->fmt) {
+ case MNT_FMT_FSTAB:
+ rc = mnt_parse_table_line(fs, s);
+ break;
+ case MNT_FMT_MOUNTINFO:
+ rc = mnt_parse_mountinfo_line(fs, s);
+ break;
+ case MNT_FMT_UTAB:
+ rc = mnt_parse_utab_line(fs, s);
+ break;
+ case MNT_FMT_SWAPS:
+ if (strncmp(s, "Filename\t", 9) == 0)
+ goto next_line; /* skip swap header */
+ rc = mnt_parse_swaps_line(fs, s);
+ break;
+ default:
+ rc = -1; /* unknown format */
+ break;
+ }
+
+ if (rc == 0)
+ return 0;
+err:
+ DBG(TAB, mnt_debug_h(tb, "%s:%d: %s parse error", filename, *nlines,
+ tb->fmt == MNT_FMT_MOUNTINFO ? "mountinfo" :
+ tb->fmt == MNT_FMT_SWAPS ? "swaps" :
+ tb->fmt == MNT_FMT_FSTAB ? "tab" : "utab"));
+
+ /* by default all errors are recoverable, otherwise behavior depends on
+ * errcb() function. See mnt_table_set_parser_errcb().
+ */
+ return tb->errcb ? tb->errcb(tb, filename, *nlines) : 1;
+}
+
+static pid_t path_to_tid(const char *filename)
+{
+ char *path = mnt_resolve_path(filename, NULL);
+ char *p, *end = NULL;
+ pid_t tid = 0;
+
+ if (!path)
+ goto done;
+ p = strrchr(path, '/');
+ if (!p)
+ goto done;
+ *p = '\0';
+ p = strrchr(path, '/');
+ if (!p)
+ goto done;
+ p++;
+
+ errno = 0;
+ tid = strtol(p, &end, 10);
+ if (errno || p == end || (end && *end)) {
+ tid = 0;
+ goto done;
+ }
+ DBG(TAB, mnt_debug("TID for %s is %d", filename, tid));
+done:
+ free(path);
+ return tid;
+}
+
+/**
+ * mnt_table_parse_stream:
+ * @tb: tab pointer
+ * @f: file stream
+ * @filename: filename used for debug and error messages
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename)
+{
+ int nlines = 0;
+ int rc = -1;
+ int flags = 0;
+ pid_t tid = -1;
+
+ assert(tb);
+ assert(f);
+ assert(filename);
+
+ DBG(TAB, mnt_debug_h(tb, "%s: start parsing (%d entries)",
+ filename, mnt_table_get_nents(tb)));
+
+ /* necessary for /proc/mounts only, the /proc/self/mountinfo
+ * parser sets the flag properly
+ */
+ if (filename && strcmp(filename, _PATH_PROC_MOUNTS) == 0)
+ flags = MNT_FS_KERNEL;
+
+ while (!feof(f)) {
+ struct libmnt_fs *fs = mnt_new_fs();
+
+ if (!fs)
+ goto err;
+
+ rc = mnt_table_parse_next(tb, f, fs, filename, &nlines);
+ if (!rc) {
+ rc = mnt_table_add_fs(tb, fs);
+ fs->flags |= flags;
+ if (tb->fmt == MNT_FMT_MOUNTINFO && filename) {
+ if (tid == -1)
+ tid = path_to_tid(filename);
+ fs->tid = tid;
+ }
+ }
+ if (rc) {
+ mnt_free_fs(fs);
+ if (rc == 1)
+ continue; /* recoverable error */
+ if (feof(f))
+ break;
+ goto err; /* fatal error */
+ }
+ }
+
+ DBG(TAB, mnt_debug_h(tb, "%s: stop parsing (%d entries)",
+ filename, mnt_table_get_nents(tb)));
+ return 0;
+err:
+ DBG(TAB, mnt_debug_h(tb, "%s: parse error (rc=%d)", filename, rc));
+ return rc;
+}
+
+/**
+ * mnt_table_parse_file:
+ * @tb: tab pointer
+ * @filename: file
+ *
+ * Parses whole table (e.g. /etc/mtab) and appends new records to the @tab.
+ *
+ * The libmount parser ignores broken (syntax error) lines, these lines are
+ * reported to caller by errcb() function (see mnt_table_set_parser_errcb()).
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_table_parse_file(struct libmnt_table *tb, const char *filename)
+{
+ FILE *f;
+ int rc;
+
+ assert(tb);
+ assert(filename);
+
+ if (!filename || !tb)
+ return -EINVAL;
+
+ f = fopen(filename, "r");
+ if (f) {
+ rc = mnt_table_parse_stream(tb, f, filename);
+ fclose(f);
+ } else
+ return -errno;
+
+ return rc;
+}
+
+static int mnt_table_parse_dir_filter(const struct dirent *d)
+{
+ size_t namesz;
+
+#ifdef _DIRENT_HAVE_D_TYPE
+ if (d->d_type != DT_UNKNOWN && d->d_type != DT_REG &&
+ d->d_type != DT_LNK)
+ return 0;
+#endif
+ if (*d->d_name == '.')
+ return 0;
+
+#define MNT_MNTTABDIR_EXTSIZ (sizeof(MNT_MNTTABDIR_EXT) - 1)
+
+ namesz = strlen(d->d_name);
+ if (!namesz || namesz < MNT_MNTTABDIR_EXTSIZ + 1 ||
+ strcmp(d->d_name + (namesz - MNT_MNTTABDIR_EXTSIZ),
+ MNT_MNTTABDIR_EXT))
+ return 0;
+
+ /* Accept this */
+ return 1;
+}
+
+#ifdef HAVE_SCANDIRAT
+static int __mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname)
+{
+ int n = 0, i;
+ int dd;
+ struct dirent **namelist = NULL;
+
+ dd = open(dirname, O_RDONLY|O_CLOEXEC|O_DIRECTORY);
+ if (dd < 0)
+ return -errno;
+
+ n = scandirat(dd, ".", &namelist, mnt_table_parse_dir_filter, versionsort);
+ if (n <= 0) {
+ close(dd);
+ return 0;
+ }
+
+ for (i = 0; i < n; i++) {
+ struct dirent *d = namelist[i];
+ struct stat st;
+ FILE *f;
+
+ if (fstat_at(dd, ".", d->d_name, &st, 0) ||
+ !S_ISREG(st.st_mode))
+ continue;
+
+ f = fopen_at(dd, ".", d->d_name, O_RDONLY, "r");
+ if (f) {
+ mnt_table_parse_stream(tb, f, d->d_name);
+ fclose(f);
+ }
+ }
+
+ for (i = 0; i < n; i++)
+ free(namelist[i]);
+ free(namelist);
+ close(dd);
+ return 0;
+}
+#else
+static int __mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname)
+{
+ int n = 0, i, r = 0;
+ DIR *dir = NULL;
+ struct dirent **namelist = NULL;
+
+ n = scandir(dirname, &namelist, mnt_table_parse_dir_filter, versionsort);
+ if (n <= 0)
+ return 0;
+
+ /* let use "at" functions rather than play crazy games with paths... */
+ dir = opendir(dirname);
+ if (!dir) {
+ r = -errno;
+ goto out;
+ }
+
+ for (i = 0; i < n; i++) {
+ struct dirent *d = namelist[i];
+ struct stat st;
+ FILE *f;
+
+ if (fstat_at(dirfd(dir), _PATH_MNTTAB_DIR, d->d_name, &st, 0) ||
+ !S_ISREG(st.st_mode))
+ continue;
+
+ f = fopen_at(dirfd(dir), _PATH_MNTTAB_DIR,
+ d->d_name, O_RDONLY, "r");
+ if (f) {
+ mnt_table_parse_stream(tb, f, d->d_name);
+ fclose(f);
+ }
+ }
+
+out:
+ for (i = 0; i < n; i++)
+ free(namelist[i]);
+ free(namelist);
+ if (dir)
+ closedir(dir);
+ return r;
+}
+#endif
+
+/**
+ * mnt_table_parse_dir:
+ * @tb: mount table
+ * @dirname: directory
+ *
+ * The directory:
+ * - files are sorted by strverscmp(3)
+ * - files that starts with "." are ignored (e.g. ".10foo.fstab")
+ * - files without the ".fstab" extension are ignored
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname)
+{
+ return __mnt_table_parse_dir(tb, dirname);
+}
+
+struct libmnt_table *__mnt_new_table_from_file(const char *filename, int fmt)
+{
+ struct libmnt_table *tb;
+ struct stat st;
+
+ assert(filename);
+
+ if (!filename)
+ return NULL;
+ if (stat(filename, &st))
+ return NULL;
+ tb = mnt_new_table();
+ if (tb) {
+ tb->fmt = fmt;
+ if (mnt_table_parse_file(tb, filename) != 0) {
+ mnt_free_table(tb);
+ tb = NULL;
+ }
+ }
+ return tb;
+}
+
+/**
+ * mnt_new_table_from_file:
+ * @filename: /etc/{m,fs}tab or /proc/self/mountinfo path
+ *
+ * Same as mnt_new_table() + mnt_table_parse_file(). Use this function for private
+ * files only. This function does not allow to use error callback, so you
+ * cannot provide any feedback to end-users about broken records in files (e.g.
+ * fstab).
+ *
+ * Returns: newly allocated tab on success and NULL in case of error.
+ */
+struct libmnt_table *mnt_new_table_from_file(const char *filename)
+{
+ return __mnt_new_table_from_file(filename, MNT_FMT_GUESS);
+}
+
+/**
+ * mnt_new_table_from_dir
+ * @dirname: directory with *.fstab files
+ *
+ * Returns: newly allocated tab on success and NULL in case of error.
+ */
+struct libmnt_table *mnt_new_table_from_dir(const char *dirname)
+{
+ struct libmnt_table *tb;
+
+ assert(dirname);
+
+ if (!dirname)
+ return NULL;
+ tb = mnt_new_table();
+ if (tb && mnt_table_parse_dir(tb, dirname) != 0) {
+ mnt_free_table(tb);
+ tb = NULL;
+ }
+ return tb;
+}
+
+/**
+ * mnt_table_set_parser_errcb:
+ * @tb: pointer to table
+ * @cb: pointer to callback function
+ *
+ * The error callback function is called by table parser (mnt_table_parse_file())
+ * in case of syntax error. The callback function could be used for errors
+ * evaluation, libmount will continue/stop parsing according to callback return
+ * codes:
+ *
+ * <0 : fatal error (abort parsing)
+ * 0 : success (parsing continue)
+ * >0 : recoverable error (the line is ignored, parsing continue).
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_table_set_parser_errcb(struct libmnt_table *tb,
+ int (*cb)(struct libmnt_table *tb, const char *filename, int line))
+{
+ assert(tb);
+ tb->errcb = cb;
+ return 0;
+}
+
+/**
+ * mnt_table_parse_swaps:
+ * @tb: table
+ * @filename: overwrites default (/proc/swaps or $LIBMOUNT_SWAPS) or NULL
+ *
+ * This function parses /proc/swaps and appends new lines to the @tab.
+ *
+ * See also mnt_table_set_parser_errcb().
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_table_parse_swaps(struct libmnt_table *tb, const char *filename)
+{
+ assert(tb);
+
+ if (!tb)
+ return -EINVAL;
+ if (!filename) {
+ filename = mnt_get_swaps_path();
+ if (!filename)
+ return -EINVAL;
+ }
+
+ tb->fmt = MNT_FMT_SWAPS;
+
+ return mnt_table_parse_file(tb, filename);
+}
+
+/**
+ * mnt_table_parse_fstab:
+ * @tb: table
+ * @filename: overwrites default (/etc/fstab or $LIBMOUNT_FSTAB) or NULL
+ *
+ * This function parses /etc/fstab and appends new lines to the @tab. If the
+ * @filename is a directory then mnt_table_parse_dir() is called.
+ *
+ * See also mnt_table_set_parser_errcb().
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_table_parse_fstab(struct libmnt_table *tb, const char *filename)
+{
+ struct stat st;
+ int rc = 0;
+
+ assert(tb);
+
+ if (!tb)
+ return -EINVAL;
+ if (!filename)
+ filename = mnt_get_fstab_path();
+
+ if (!filename || stat(filename, &st))
+ return -EINVAL;
+
+ tb->fmt = MNT_FMT_FSTAB;
+
+ if (S_ISREG(st.st_mode))
+ rc = mnt_table_parse_file(tb, filename);
+ else if (S_ISDIR(st.st_mode))
+ rc = mnt_table_parse_dir(tb, filename);
+ else
+ rc = -EINVAL;
+
+ return rc;
+}
+
+/*
+ * This function uses @uf to found corresponding record in @tb, then the record
+ * from @tb is updated (user specific mount options are added).
+ *
+ * Note that @uf must contain only user specific mount options instead of
+ * VFS options (note that FS options are ignored).
+ *
+ * Returns modified filesystem (from @tb) or NULL.
+ */
+static struct libmnt_fs *mnt_table_merge_user_fs(struct libmnt_table *tb, struct libmnt_fs *uf)
+{
+ struct libmnt_fs *fs;
+ struct libmnt_iter itr;
+ const char *optstr, *src, *target, *root, *attrs;
+
+ assert(tb);
+ assert(uf);
+ if (!tb || !uf)
+ return NULL;
+
+ DBG(TAB, mnt_debug_h(tb, "merging user fs"));
+
+ src = mnt_fs_get_srcpath(uf);
+ target = mnt_fs_get_target(uf);
+ optstr = mnt_fs_get_user_options(uf);
+ attrs = mnt_fs_get_attributes(uf);
+ root = mnt_fs_get_root(uf);
+
+ if (!src || !target || !root || (!attrs && !optstr))
+ return NULL;
+
+ mnt_reset_iter(&itr, MNT_ITER_BACKWARD);
+
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ const char *r = mnt_fs_get_root(fs);
+
+ if (fs->flags & MNT_FS_MERGED)
+ continue;
+
+ if (r && strcmp(r, root) == 0
+ && mnt_fs_streq_target(fs, target)
+ && mnt_fs_streq_srcpath(fs, src))
+ break;
+ }
+
+ if (fs) {
+ DBG(TAB, mnt_debug_h(tb, "found fs -- appending user optstr"));
+ mnt_fs_append_options(fs, optstr);
+ mnt_fs_append_attributes(fs, attrs);
+ mnt_fs_set_bindsrc(fs, mnt_fs_get_bindsrc(uf));
+ fs->flags |= MNT_FS_MERGED;
+
+ DBG(TAB, mnt_debug_h(tb, "found fs:"));
+ DBG(TAB, mnt_fs_print_debug(fs, stderr));
+ }
+ return fs;
+}
+
+/**
+ * mnt_table_parse_mtab:
+ * @tb: table
+ * @filename: overwrites default (/etc/mtab or $LIBMOUNT_MTAB) or NULL
+ *
+ * This function parses /etc/mtab or /proc/self/mountinfo +
+ * /run/mount/utabs or /proc/mounts.
+ *
+ * See also mnt_table_set_parser_errcb().
+ *
+ * Returns: 0 on success or negative number in case of error.
+ */
+int mnt_table_parse_mtab(struct libmnt_table *tb, const char *filename)
+{
+ int rc;
+ const char *utab = NULL;
+
+ if (mnt_has_regular_mtab(&filename, NULL)) {
+
+ DBG(TAB, mnt_debug_h(tb, "force %s usage", filename));
+
+ rc = mnt_table_parse_file(tb, filename);
+ if (!rc)
+ return 0;
+ filename = NULL; /* failed */
+ }
+
+ /*
+ * useless /etc/mtab
+ * -- read kernel information from /proc/self/mountinfo
+ */
+ tb->fmt = MNT_FMT_MOUNTINFO;
+ rc = mnt_table_parse_file(tb, _PATH_PROC_MOUNTINFO);
+ if (rc) {
+ /* hmm, old kernel? ...try /proc/mounts */
+ tb->fmt = MNT_FMT_MTAB;
+ return mnt_table_parse_file(tb, _PATH_PROC_MOUNTS);
+ }
+
+ /*
+ * try to read user specific information from /run/mount/utabs
+ */
+ utab = mnt_get_utab_path();
+ if (utab) {
+ struct libmnt_table *u_tb = __mnt_new_table_from_file(utab, MNT_FMT_UTAB);
+
+ if (u_tb) {
+ struct libmnt_fs *u_fs;
+ struct libmnt_iter itr;
+
+ mnt_reset_iter(&itr, MNT_ITER_BACKWARD);
+
+ /* merge user options into mountinfo from kernel */
+ while(mnt_table_next_fs(u_tb, &itr, &u_fs) == 0)
+ mnt_table_merge_user_fs(tb, u_fs);
+
+ mnt_free_table(u_tb);
+ }
+ }
+ return 0;
+}
diff --git a/libmount/src/tab_update.c b/libmount/src/tab_update.c
new file mode 100644
index 0000000..4f04c8e
--- /dev/null
+++ b/libmount/src/tab_update.c
@@ -0,0 +1,862 @@
+/*
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: update
+ * @title: Tables update
+ * @short_description: userspace mount information management
+ *
+ * The struct libmnt_update provides abstraction to manage mount options in
+ * userspace independently on system configuration. This low-level API works on
+ * system with and without /etc/mtab. On systems without the regular /etc/mtab
+ * file are userspace mount options (e.g. user=) stored to the /run/mount/utab
+ * file.
+ *
+ * It's recommended to use high-level struct libmnt_context API.
+ */
+#include <sys/file.h>
+#include <fcntl.h>
+#include <signal.h>
+
+#include "mountP.h"
+#include "mangle.h"
+#include "pathnames.h"
+
+struct libmnt_update {
+ char *target;
+ struct libmnt_fs *fs;
+ char *filename;
+ unsigned long mountflags;
+ int userspace_only;
+ int ready;
+
+ struct libmnt_table *mountinfo;
+};
+
+static int set_fs_root(struct libmnt_update *upd, struct libmnt_fs *fs, unsigned long mountflags);
+static int utab_new_entry(struct libmnt_update *upd, struct libmnt_fs *fs, unsigned long mountflags);
+
+/**
+ * mnt_new_update:
+ *
+ * Returns: newly allocated update handler
+ */
+struct libmnt_update *mnt_new_update(void)
+{
+ struct libmnt_update *upd;
+
+ upd = calloc(1, sizeof(*upd));
+ if (!upd)
+ return NULL;
+
+ DBG(UPDATE, mnt_debug_h(upd, "allocate"));
+ return upd;
+}
+
+/**
+ * mnt_free_update:
+ * @upd: update
+ *
+ * Deallocates struct libmnt_update handler.
+ */
+void mnt_free_update(struct libmnt_update *upd)
+{
+ if (!upd)
+ return;
+
+ DBG(UPDATE, mnt_debug_h(upd, "free"));
+
+ mnt_free_fs(upd->fs);
+ mnt_free_table(upd->mountinfo);
+ free(upd->target);
+ free(upd->filename);
+ free(upd);
+}
+
+/*
+ * Returns 0 on success, <0 in case of error.
+ */
+int mnt_update_set_filename(struct libmnt_update *upd, const char *filename,
+ int userspace_only)
+{
+ const char *path = NULL;
+ int rw = 0;
+
+ assert(upd);
+
+ /* filename explicitly defined */
+ if (filename) {
+ char *p = strdup(filename);
+ if (!p)
+ return -ENOMEM;
+
+ upd->userspace_only = userspace_only;
+ free(upd->filename);
+ upd->filename = p;
+ }
+
+ if (upd->filename)
+ return 0;
+
+ /* detect tab filename -- /etc/mtab or /run/mount/utab
+ */
+ mnt_has_regular_mtab(&path, &rw);
+ if (!rw) {
+ path = NULL;
+ mnt_has_regular_utab(&path, &rw);
+ if (!rw)
+ return -EACCES;
+ upd->userspace_only = TRUE;
+ }
+ upd->filename = strdup(path);
+ if (!upd->filename)
+ return -ENOMEM;
+
+ return 0;
+}
+
+/**
+ * mnt_update_get_filename:
+ * @upd: update
+ *
+ * This function returns file name (e.g. /etc/mtab) for the up-dated file.
+ *
+ * Returns: pointer to filename that will be updated or NULL in case of error.
+ */
+const char *mnt_update_get_filename(struct libmnt_update *upd)
+{
+ return upd ? upd->filename : NULL;
+}
+
+/**
+ * mnt_update_is_ready:
+ * @upd: update handler
+ *
+ * Returns: 1 if entry described by @upd is successfully prepared and will be
+ * written to mtab/utab file.
+ */
+int mnt_update_is_ready(struct libmnt_update *upd)
+{
+ return upd ? upd->ready : FALSE;
+}
+
+/**
+ * mnt_update_set_fs:
+ * @upd: update handler
+ * @mountflags: MS_* flags
+ * @target: umount target, must be NULL for mount
+ * @fs: mount filesystem description, must be NULL for umount
+ *
+ * Returns: <0 in case on error, 0 on success, 1 if update is unnecessary.
+ */
+int mnt_update_set_fs(struct libmnt_update *upd, unsigned long mountflags,
+ const char *target, struct libmnt_fs *fs)
+{
+ int rc;
+
+ assert(upd);
+ assert(target || fs);
+
+ if (!upd)
+ return -EINVAL;
+ if ((mountflags & MS_MOVE) && (!fs || !mnt_fs_get_srcpath(fs)))
+ return -EINVAL;
+ if (target && fs)
+ return -EINVAL;
+
+ DBG(UPDATE, mnt_debug_h(upd,
+ "resetting FS [fs=0x%p, target=%s, flags=0x%08lx]",
+ fs, target, mountflags));
+ if (fs) {
+ DBG(UPDATE, mnt_debug_h(upd, "FS template:"));
+ DBG(UPDATE, mnt_fs_print_debug(fs, stderr));
+ }
+
+ mnt_free_fs(upd->fs);
+ free(upd->target);
+ upd->ready = FALSE;
+ upd->fs = NULL;
+ upd->target = NULL;
+ upd->mountflags = 0;
+
+ if (mountflags & MS_PROPAGATION)
+ return 1;
+
+ upd->mountflags = mountflags;
+
+ rc = mnt_update_set_filename(upd, NULL, 0);
+ if (rc) {
+ DBG(UPDATE, mnt_debug_h(upd, "no writable file available [rc=%d]", rc));
+ return rc; /* error or no file available (rc = 1) */
+ }
+ if (target) {
+ upd->target = strdup(target);
+ if (!upd->target)
+ return -ENOMEM;
+
+ } else if (fs) {
+ if (upd->userspace_only && !(mountflags & MS_MOVE)) {
+ rc = utab_new_entry(upd, fs, mountflags);
+ if (rc)
+ return rc;
+ } else {
+ upd->fs = mnt_copy_mtab_fs(fs);
+ if (!upd->fs)
+ return -ENOMEM;
+
+ }
+ }
+
+
+ DBG(UPDATE, mnt_debug_h(upd, "ready"));
+ upd->ready = TRUE;
+ return 0;
+}
+
+/**
+ * mnt_update_get_fs:
+ * @upd: update
+ *
+ * Returns: update filesystem entry or NULL
+ */
+struct libmnt_fs *mnt_update_get_fs(struct libmnt_update *upd)
+{
+ return upd ? upd->fs : NULL;
+}
+
+/**
+ * mnt_update_get_mflags:
+ * @upd: update
+ *
+ * Returns: mount flags as was set by mnt_update_set_fs()
+ */
+unsigned long mnt_update_get_mflags(struct libmnt_update *upd)
+{
+ return upd ? upd->mountflags : 0;
+}
+
+/**
+ * mnt_update_force_rdonly:
+ * @upd: update
+ * @rdonly: is read-only?
+ *
+ * Returns: 0 on success and negative number in case of error.
+ */
+int mnt_update_force_rdonly(struct libmnt_update *upd, int rdonly)
+{
+ int rc = 0;
+
+ if (!upd || !upd->fs)
+ return -EINVAL;
+
+ if (rdonly && (upd->mountflags & MS_RDONLY))
+ return 0;
+ if (!rdonly && !(upd->mountflags & MS_RDONLY))
+ return 0;
+
+ if (!upd->userspace_only) {
+ /* /etc/mtab -- we care about VFS options there */
+ const char *o = mnt_fs_get_options(upd->fs);
+ char *n = o ? strdup(o) : NULL;
+
+ if (n)
+ mnt_optstr_remove_option(&n, rdonly ? "rw" : "ro");
+ if (!mnt_optstr_prepend_option(&n, rdonly ? "ro" : "rw", NULL))
+ rc = mnt_fs_set_options(upd->fs, n);
+
+ free(n);
+ }
+
+ if (rdonly)
+ upd->mountflags &= ~MS_RDONLY;
+ else
+ upd->mountflags |= MS_RDONLY;
+
+ return rc;
+}
+
+/*
+ * Allocates utab entry (upd->fs) for mount/remount. This function should be
+ * called *before* mount(2) syscall. The @fs is used as a read-only template.
+ *
+ * Returns: 0 on success, negative number on error, 1 if utabs update is
+ * unnecessary.
+ */
+static int utab_new_entry(struct libmnt_update *upd, struct libmnt_fs *fs,
+ unsigned long mountflags)
+{
+ int rc = 0;
+ const char *o = NULL, *a = NULL;
+ char *u = NULL;
+
+ assert(fs);
+ assert(upd);
+ assert(upd->fs == NULL);
+ assert(!(mountflags & MS_MOVE));
+
+ DBG(UPDATE, mnt_debug("prepare utab entry"));
+
+ o = mnt_fs_get_user_options(fs);
+ a = mnt_fs_get_attributes(fs);
+ upd->fs = NULL;
+
+ if (o) {
+ /* remove non-mtab options */
+ rc = mnt_optstr_get_options(o, &u,
+ mnt_get_builtin_optmap(MNT_USERSPACE_MAP),
+ MNT_NOMTAB);
+ if (rc)
+ goto err;
+ }
+
+ if (!u && !a) {
+ DBG(UPDATE, mnt_debug("utab entry unnecessary (no options)"));
+ return 1;
+ }
+
+ /* allocate the entry */
+ upd->fs = mnt_copy_fs(NULL, fs);
+ if (!upd->fs) {
+ rc = -ENOMEM;
+ goto err;
+ }
+
+ rc = mnt_fs_set_options(upd->fs, u);
+ if (rc)
+ goto err;
+ rc = mnt_fs_set_attributes(upd->fs, a);
+ if (rc)
+ goto err;
+
+ if (!(mountflags & MS_REMOUNT)) {
+ rc = set_fs_root(upd, fs, mountflags);
+ if (rc)
+ goto err;
+ }
+
+ free(u);
+ DBG(UPDATE, mnt_debug("utab entry OK"));
+ return 0;
+err:
+ free(u);
+ mnt_free_fs(upd->fs);
+ upd->fs = NULL;
+ return rc;
+}
+
+/*
+ * Sets fs-root and fs-type to @upd->fs according to the @fs template and
+ * @mountfalgs. For MS_BIND mountflag it reads information about source
+ * filesystem from /proc/self/mountinfo.
+ */
+static int set_fs_root(struct libmnt_update *upd, struct libmnt_fs *fs,
+ unsigned long mountflags)
+{
+ struct libmnt_fs *src_fs;
+ char *fsroot = NULL;
+ const char *src;
+ int rc = 0;
+
+ DBG(UPDATE, mnt_debug("setting FS root"));
+
+ assert(upd);
+ assert(upd->fs);
+ assert(fs);
+
+ if (mountflags & MS_BIND) {
+ if (!upd->mountinfo)
+ upd->mountinfo = mnt_new_table_from_file(_PATH_PROC_MOUNTINFO);
+
+ src = mnt_fs_get_srcpath(fs);
+ if (src) {
+ rc = mnt_fs_set_bindsrc(upd->fs, src);
+ if (rc)
+ goto err;
+ }
+ }
+
+ src_fs = mnt_table_get_fs_root(upd->mountinfo, fs,
+ mountflags, &fsroot);
+ if (src_fs) {
+ src = mnt_fs_get_srcpath(src_fs);
+ rc = mnt_fs_set_source(upd->fs, src);
+ if (rc)
+ goto err;
+
+ mnt_fs_set_fstype(upd->fs, mnt_fs_get_fstype(src_fs));
+ }
+
+ upd->fs->root = fsroot;
+ return 0;
+err:
+ free(fsroot);
+ return rc;
+}
+
+/* mtab and fstab update -- returns zero on success
+ */
+static int fprintf_mtab_fs(FILE *f, struct libmnt_fs *fs)
+{
+ const char *o, *src, *fstype;
+ char *m1, *m2, *m3, *m4;
+ int rc;
+
+ assert(fs);
+ assert(f);
+
+ src = mnt_fs_get_source(fs);
+ fstype = mnt_fs_get_fstype(fs);
+ o = mnt_fs_get_options(fs);
+
+ m1 = src ? mangle(src) : "none";
+ m2 = mangle(mnt_fs_get_target(fs));
+ m3 = fstype ? mangle(fstype) : "none";
+ m4 = o ? mangle(o) : "rw";
+
+ if (m1 && m2 && m3 && m4) {
+ rc = fprintf(f, "%s %s %s %s %d %d\n",
+ m1, m2, m3, m4,
+ mnt_fs_get_freq(fs),
+ mnt_fs_get_passno(fs));
+ if (rc > 0)
+ rc = 0;
+ } else
+ rc = -ENOMEM;
+
+ if (src)
+ free(m1);
+ free(m2);
+ if (fstype)
+ free(m3);
+ if (o)
+ free(m4);
+
+ return rc;
+}
+
+static int fprintf_utab_fs(FILE *f, struct libmnt_fs *fs)
+{
+ char *p;
+ int rc = 0;
+
+ assert(fs);
+ assert(f);
+
+ if (!fs || !f)
+ return -EINVAL;
+
+ p = mangle(mnt_fs_get_source(fs));
+ if (p) {
+ rc = fprintf(f, "SRC=%s ", p);
+ free(p);
+ }
+ if (rc >= 0) {
+ p = mangle(mnt_fs_get_target(fs));
+ if (p) {
+ rc = fprintf(f, "TARGET=%s ", p);
+ free(p);
+ }
+ }
+ if (rc >= 0) {
+ p = mangle(mnt_fs_get_root(fs));
+ if (p) {
+ rc = fprintf(f, "ROOT=%s ", p);
+ free(p);
+ }
+ }
+ if (rc >= 0) {
+ p = mangle(mnt_fs_get_bindsrc(fs));
+ if (p) {
+ rc = fprintf(f, "BINDSRC=%s ", p);
+ free(p);
+ }
+ }
+ if (rc >= 0) {
+ p = mangle(mnt_fs_get_attributes(fs));
+ if (p) {
+ rc = fprintf(f, "ATTRS=%s ", p);
+ free(p);
+ }
+ }
+ if (rc >= 0) {
+ p = mangle(mnt_fs_get_user_options(fs));
+ if (p) {
+ rc = fprintf(f, "OPTS=%s", p);
+ free(p);
+ }
+ }
+ if (rc >= 0)
+ rc = fprintf(f, "\n");
+
+ if (rc > 0)
+ rc = 0; /* success */
+ return rc;
+}
+
+static int update_table(struct libmnt_update *upd, struct libmnt_table *tb)
+{
+ FILE *f;
+ int rc, fd;
+ char *uq = NULL;
+
+ if (!tb || !upd->filename)
+ return -EINVAL;
+
+ DBG(UPDATE, mnt_debug_h(upd, "%s: updating", upd->filename));
+
+ fd = mnt_open_uniq_filename(upd->filename, &uq);
+ if (fd < 0)
+ return fd; /* error */
+
+ f = fdopen(fd, "w");
+ if (f) {
+ struct stat st;
+ struct libmnt_iter itr;
+ struct libmnt_fs *fs;
+
+ mnt_reset_iter(&itr, MNT_ITER_FORWARD);
+ while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ if (upd->userspace_only)
+ rc = fprintf_utab_fs(f, fs);
+ else
+ rc = fprintf_mtab_fs(f, fs);
+ if (rc) {
+ DBG(UPDATE, mnt_debug_h(upd,
+ "%s: write entry failed: %m", uq));
+ goto leave;
+ }
+ }
+
+ if (fflush(f) != 0) {
+ rc = -errno;
+ DBG(UPDATE, mnt_debug_h(upd, "%s: fflush failed: %m", uq));
+ goto leave;
+ }
+
+ rc = fchmod(fd, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH) ? -errno : 0;
+
+ if (!rc && stat(upd->filename, &st) == 0)
+ /* Copy uid/gid from the present file before renaming. */
+ rc = fchown(fd, st.st_uid, st.st_gid) ? -errno : 0;
+
+ fclose(f);
+ f = NULL;
+
+ if (!rc)
+ rc = rename(uq, upd->filename) ? -errno : 0;
+ } else {
+ rc = -errno;
+ close(fd);
+ }
+
+leave:
+ if (f)
+ fclose(f);
+
+ unlink(uq); /* be paranoid */
+ free(uq);
+ return rc;
+}
+
+static int add_file_entry(struct libmnt_table *tb, struct libmnt_update *upd)
+{
+ struct libmnt_fs *fs = mnt_copy_fs(NULL, upd->fs);
+
+ if (!fs)
+ return -ENOMEM;
+
+ mnt_table_add_fs(tb, fs);
+ return update_table(upd, tb);
+}
+
+static int update_add_entry(struct libmnt_update *upd, struct libmnt_lock *lc)
+{
+ struct libmnt_table *tb;
+ int rc = 0;
+
+ assert(upd);
+ assert(upd->fs);
+
+ DBG(UPDATE, mnt_debug_h(upd, "%s: add entry", upd->filename));
+
+ if (lc)
+ rc = mnt_lock_file(lc);
+ if (rc)
+ return rc;
+
+ tb = __mnt_new_table_from_file(upd->filename,
+ upd->userspace_only ? MNT_FMT_UTAB : MNT_FMT_MTAB);
+ if (tb)
+ rc = add_file_entry(tb, upd);
+ if (lc)
+ mnt_unlock_file(lc);
+
+ mnt_free_table(tb);
+ return rc;
+}
+
+static int update_remove_entry(struct libmnt_update *upd, struct libmnt_lock *lc)
+{
+ struct libmnt_table *tb;
+ int rc = 0;
+
+ assert(upd);
+ assert(upd->target);
+
+ DBG(UPDATE, mnt_debug_h(upd, "%s: remove entry", upd->filename));
+
+ if (lc)
+ rc = mnt_lock_file(lc);
+ if (rc)
+ return rc;
+
+ tb = __mnt_new_table_from_file(upd->filename,
+ upd->userspace_only ? MNT_FMT_UTAB : MNT_FMT_MTAB);
+ if (tb) {
+ struct libmnt_fs *rem = mnt_table_find_target(tb, upd->target, MNT_ITER_BACKWARD);
+ if (rem) {
+ mnt_table_remove_fs(tb, rem);
+ rc = update_table(upd, tb);
+ mnt_free_fs(rem);
+ }
+ }
+ if (lc)
+ mnt_unlock_file(lc);
+
+ mnt_free_table(tb);
+ return rc;
+}
+
+static int update_modify_target(struct libmnt_update *upd, struct libmnt_lock *lc)
+{
+ struct libmnt_table *tb = NULL;
+ int rc = 0;
+
+ DBG(UPDATE, mnt_debug_h(upd, "%s: modify target", upd->filename));
+
+ if (lc)
+ rc = mnt_lock_file(lc);
+ if (rc)
+ return rc;
+
+ tb = __mnt_new_table_from_file(upd->filename,
+ upd->userspace_only ? MNT_FMT_UTAB : MNT_FMT_MTAB);
+ if (tb) {
+ struct libmnt_fs *cur = mnt_table_find_target(tb,
+ mnt_fs_get_srcpath(upd->fs), MNT_ITER_BACKWARD);
+ if (cur) {
+ rc = mnt_fs_set_target(cur, mnt_fs_get_target(upd->fs));
+ if (!rc)
+ rc = update_table(upd, tb);
+ }
+ }
+
+ if (lc)
+ mnt_unlock_file(lc);
+
+ mnt_free_table(tb);
+ return rc;
+}
+
+static int update_modify_options(struct libmnt_update *upd, struct libmnt_lock *lc)
+{
+ struct libmnt_table *tb = NULL;
+ int rc = 0;
+ struct libmnt_fs *fs;
+
+ assert(upd);
+ assert(upd->fs);
+
+ DBG(UPDATE, mnt_debug_h(upd, "%s: modify options", upd->filename));
+
+ fs = upd->fs;
+
+ if (lc)
+ rc = mnt_lock_file(lc);
+ if (rc)
+ return rc;
+
+ tb = __mnt_new_table_from_file(upd->filename,
+ upd->userspace_only ? MNT_FMT_UTAB : MNT_FMT_MTAB);
+ if (tb) {
+ struct libmnt_fs *cur = mnt_table_find_target(tb,
+ mnt_fs_get_target(fs),
+ MNT_ITER_BACKWARD);
+ if (cur) {
+ if (upd->userspace_only)
+ rc = mnt_fs_set_attributes(cur, mnt_fs_get_attributes(fs));
+ if (!rc)
+ rc = mnt_fs_set_options(cur, mnt_fs_get_options(fs));
+ if (!rc)
+ rc = update_table(upd, tb);
+ } else
+ rc = add_file_entry(tb, upd); /* not found, add new */
+ }
+
+ if (lc)
+ mnt_unlock_file(lc);
+
+ mnt_free_table(tb);
+ return rc;
+}
+
+/**
+ * mnt_update_table:
+ * @upd: update
+ * @lc: lock or NULL
+ *
+ * High-level API to update /etc/mtab (or private /run/mount/utab file).
+ *
+ * The @lc lock is optional and will be created if necessary. Note that
+ * the automatically created lock blocks all signals.
+ *
+ * See also mnt_lock_block_signals() and mnt_context_get_lock().
+ *
+ * Returns: 0 on success, negative number on error.
+ */
+int mnt_update_table(struct libmnt_update *upd, struct libmnt_lock *lc)
+{
+ struct libmnt_lock *lc0 = lc;
+ int rc = -EINVAL;
+
+ assert(upd);
+
+ if (!upd || !upd->filename)
+ return -EINVAL;
+ if (!upd->ready)
+ return 0;
+
+ DBG(UPDATE, mnt_debug_h(upd, "%s: update tab", upd->filename));
+ if (upd->fs) {
+ DBG(UPDATE, mnt_fs_print_debug(upd->fs, stderr));
+ }
+ if (!lc) {
+ lc = mnt_new_lock(upd->filename, 0);
+ if (lc)
+ mnt_lock_block_signals(lc, TRUE);
+ }
+ if (lc && upd->userspace_only)
+ mnt_lock_use_simplelock(lc, TRUE); /* use flock */
+
+ if (!upd->fs && upd->target)
+ rc = update_remove_entry(upd, lc); /* umount */
+ else if (upd->mountflags & MS_MOVE)
+ rc = update_modify_target(upd, lc); /* move */
+ else if (upd->mountflags & MS_REMOUNT)
+ rc = update_modify_options(upd, lc); /* remount */
+ else if (upd->fs)
+ rc = update_add_entry(upd, lc); /* mount */
+
+ upd->ready = FALSE;
+ DBG(UPDATE, mnt_debug_h(upd, "%s: update tab: done [rc=%d]",
+ upd->filename, rc));
+ if (lc != lc0)
+ mnt_free_lock(lc);
+ return rc;
+}
+
+#ifdef TEST_PROGRAM
+
+static int update(const char *target, struct libmnt_fs *fs, unsigned long mountflags)
+{
+ int rc;
+ struct libmnt_update *upd;
+
+ DBG(UPDATE, mnt_debug("update test"));
+
+ upd = mnt_new_update();
+ if (!upd)
+ return -ENOMEM;
+
+ rc = mnt_update_set_fs(upd, mountflags, target, fs);
+ if (rc == 1) {
+ /* update is unnecessary */
+ rc = 0;
+ goto done;
+ }
+ if (rc) {
+ fprintf(stderr, "failed to set FS\n");
+ goto done;
+ }
+
+ /* [... here should be mount(2) call ...] */
+
+ rc = mnt_update_table(upd, NULL);
+done:
+ mnt_free_update(upd);
+ return rc;
+}
+
+static int test_add(struct libmnt_test *ts, int argc, char *argv[])
+{
+ struct libmnt_fs *fs = mnt_new_fs();
+ int rc;
+
+ if (argc < 5 || !fs)
+ return -1;
+ mnt_fs_set_source(fs, argv[1]);
+ mnt_fs_set_target(fs, argv[2]);
+ mnt_fs_set_fstype(fs, argv[3]);
+ mnt_fs_set_options(fs, argv[4]);
+
+ rc = update(NULL, fs, 0);
+ mnt_free_fs(fs);
+ return rc;
+}
+
+static int test_remove(struct libmnt_test *ts, int argc, char *argv[])
+{
+ if (argc < 2)
+ return -1;
+ return update(argv[1], NULL, 0);
+}
+
+static int test_move(struct libmnt_test *ts, int argc, char *argv[])
+{
+ struct libmnt_fs *fs = mnt_new_fs();
+ int rc;
+
+ if (argc < 3)
+ return -1;
+ mnt_fs_set_source(fs, argv[1]);
+ mnt_fs_set_target(fs, argv[2]);
+
+ rc = update(NULL, fs, MS_MOVE);
+
+ mnt_free_fs(fs);
+ return rc;
+}
+
+static int test_remount(struct libmnt_test *ts, int argc, char *argv[])
+{
+ struct libmnt_fs *fs = mnt_new_fs();
+ int rc;
+
+ if (argc < 3)
+ return -1;
+ mnt_fs_set_target(fs, argv[1]);
+ mnt_fs_set_options(fs, argv[2]);
+
+ rc = update(NULL, fs, MS_REMOUNT);
+ mnt_free_fs(fs);
+ return rc;
+}
+
+int main(int argc, char *argv[])
+{
+ struct libmnt_test tss[] = {
+ { "--add", test_add, "<src> <target> <type> <options> add line to mtab" },
+ { "--remove", test_remove, "<target> MS_REMOUNT mtab change" },
+ { "--move", test_move, "<old_target> <target> MS_MOVE mtab change" },
+ { "--remount",test_remount, "<target> <options> MS_REMOUNT mtab change" },
+ { NULL }
+ };
+
+ return mnt_run_test(tss, argc, argv);
+}
+
+#endif /* TEST_PROGRAM */
diff --git a/libmount/src/test.c b/libmount/src/test.c
new file mode 100644
index 0000000..2da00b4
--- /dev/null
+++ b/libmount/src/test.c
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ *
+ * Routines for TEST_PROGRAMs
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#ifndef TEST_PROGRAM
+#define TEST_PROGRAM
+#endif
+
+#include "mountP.h"
+
+int mnt_run_test(struct libmnt_test *tests, int argc, char *argv[])
+{
+ int rc = -1;
+ struct libmnt_test *ts;
+
+ assert(tests);
+ assert(argc);
+ assert(argv);
+
+ if (argc < 2 ||
+ strcmp(argv[1], "--help") == 0 ||
+ strcmp(argv[1], "-h") == 0)
+ goto usage;
+
+ mnt_init_debug(0);
+
+ for (ts = tests; ts->name; ts++) {
+ if (strcmp(ts->name, argv[1]) == 0) {
+ rc = ts->body(ts, argc - 1, argv + 1);
+ if (rc)
+ printf("FAILED [rc=%d]", rc);
+ break;
+ }
+ }
+
+ if (rc < 0 && ts->name == NULL)
+ goto usage;
+
+ return rc == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
+usage:
+ printf("\nUsage:\n\t%s <test> [testoptions]\nTests:\n",
+ program_invocation_short_name);
+ for (ts = tests; ts->name; ts++) {
+ printf("\t%-15s", ts->name);
+ if (ts->usage)
+ printf(" %s\n", ts->usage);
+ }
+ printf("\n");
+ return EXIT_FAILURE;
+}
diff --git a/libmount/src/utils.c b/libmount/src/utils.c
new file mode 100644
index 0000000..63d1079
--- /dev/null
+++ b/libmount/src/utils.c
@@ -0,0 +1,991 @@
+/*
+ * Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+/**
+ * SECTION: utils
+ * @title: Utils
+ * @short_description: misc utils.
+ */
+#include <ctype.h>
+#include <fcntl.h>
+#include <pwd.h>
+#include <grp.h>
+
+#include "strutils.h"
+#include "pathnames.h"
+#include "mountP.h"
+#include "mangle.h"
+#include "canonicalize.h"
+#include "env.h"
+#include "match.h"
+
+int endswith(const char *s, const char *sx)
+{
+ ssize_t off;
+
+ assert(s);
+ assert(sx);
+
+ off = strlen(s);
+ if (!off)
+ return 0;
+ off -= strlen(sx);
+ if (off < 0)
+ return 0;
+
+ return !strcmp(s + off, sx);
+}
+
+int startswith(const char *s, const char *sx)
+{
+ size_t off;
+
+ assert(s);
+ assert(sx);
+
+ off = strlen(sx);
+ if (!off)
+ return 0;
+
+ return !strncmp(s, sx, off);
+}
+
+int mnt_parse_offset(const char *str, size_t len, uintmax_t *res)
+{
+ char *p;
+ int rc = 0;
+
+ if (!str || !*str)
+ return -EINVAL;
+
+ p = strndup(str, len);
+ if (!p)
+ return -errno;
+
+ if (strtosize(p, res))
+ rc = -EINVAL;
+ free(p);
+ return rc;
+}
+
+/* used as a callback by bsearch in mnt_fstype_is_pseudofs() */
+static int fstype_cmp(const void *v1, const void *v2)
+{
+ const char *s1 = *(const char **)v1;
+ const char *s2 = *(const char **)v2;
+
+ return strcmp(s1, s2);
+}
+
+/* returns basename and keeps dirname in the @path, if @path is "/" (root)
+ * then returns empty string */
+static char *stripoff_last_component(char *path)
+{
+ char *p = path ? strrchr(path, '/') : NULL;
+
+ if (!p)
+ return NULL;
+ *p = '\0';
+ return p + 1;
+}
+
+/*
+ * Note that the @target has to be absolute path (so at least "/"). The
+ * @filename returns allocated buffer with last path component, for example:
+ *
+ * mnt_chdir_to_parent("/mnt/test", &buf) ==> chdir("/mnt"), buf="test"
+ */
+int mnt_chdir_to_parent(const char *target, char **filename)
+{
+ char *buf, *parent, *last = NULL;
+ char cwd[PATH_MAX];
+ int rc = -EINVAL;
+
+ if (!target || *target != '/')
+ return -EINVAL;
+
+ DBG(UTILS, mnt_debug("moving to %s parent", target));
+
+ buf = strdup(target);
+ if (!buf)
+ return -ENOMEM;
+
+ if (*(buf + 1) != '\0') {
+ last = stripoff_last_component(buf);
+ if (!last)
+ goto err;
+ }
+
+ parent = buf && *buf ? buf : "/";
+
+ if (chdir(parent) == -1) {
+ DBG(UTILS, mnt_debug("failed to chdir to %s: %m", parent));
+ rc = -errno;
+ goto err;
+ }
+ if (!getcwd(cwd, sizeof(cwd))) {
+ DBG(UTILS, mnt_debug("failed to obtain current directory: %m"));
+ rc = -errno;
+ goto err;
+ }
+ if (strcmp(cwd, parent) != 0) {
+ DBG(UTILS, mnt_debug(
+ "unexpected chdir (expected=%s, cwd=%s)", parent, cwd));
+ goto err;
+ }
+
+ DBG(CXT, mnt_debug(
+ "current directory moved to %s [last_component='%s']",
+ parent, last));
+
+ *filename = buf;
+
+ if (!last || !*last)
+ memcpy(*filename, ".", 2);
+ else
+ memcpy(*filename, last, strlen(last) + 1);
+ return 0;
+err:
+ free(buf);
+ return rc;
+}
+
+/*
+ * Check if @path is on read-only filesystem independently on file permissions.
+ */
+int mnt_is_readonly(const char *path)
+{
+ if (access(path, W_OK) == 0)
+ return 0;
+ if (errno == EROFS)
+ return 1;
+ if (errno != EACCES)
+ return 0;
+
+#ifdef HAVE_FUTIMENS
+ /*
+ * access(2) returns EACCES on read-only FS:
+ *
+ * - for set-uid application if one component of the path is not
+ * accessible for the current rUID. (Note that euidaccess(2) does not
+ * check for EROFS at all).
+ *
+ * - for read-write filesystem with read-only VFS node (aka -o remount,ro,bind)
+ */
+ {
+ struct timespec times[2];
+
+ times[0].tv_nsec = UTIME_NOW; /* atime */
+ times[1].tv_nsec = UTIME_OMIT; /* mtime */
+
+ if (utimensat(AT_FDCWD, path, times, 0) == -1)
+ return errno == EROFS;
+ }
+#endif
+ return 0;
+}
+
+/**
+ * mnt_mangle:
+ * @str: string
+ *
+ * Encode @str to be compatible with fstab/mtab
+ *
+ * Returns: new allocated string or NULL in case of error.
+ */
+char *mnt_mangle(const char *str)
+{
+ return mangle(str);
+}
+
+/**
+ * mnt_unmangle:
+ * @str: string
+ *
+ * Decode @str from fstab/mtab
+ *
+ * Returns: new allocated string or NULL in case of error.
+ */
+char *mnt_unmangle(const char *str)
+{
+ return unmangle(str, NULL);
+}
+
+/**
+ * mnt_fstype_is_pseudofs:
+ * @type: filesystem name
+ *
+ * Returns: 1 for filesystems like proc, sysfs, ... or 0.
+ */
+int mnt_fstype_is_pseudofs(const char *type)
+{
+ /* This array must remain sorted when adding new fstypes */
+ static const char *pseudofs[] = {
+ "anon_inodefs",
+ "autofs",
+ "bdev",
+ "binfmt_misc",
+ "cgroup",
+ "configfs",
+ "cpuset",
+ "debugfs",
+ "devfs",
+ "devpts",
+ "devtmpfs",
+ "dlmfs",
+ "fuse.gvfs-fuse-daemon",
+ "fusectl",
+ "hugetlbfs",
+ "mqueue",
+ "nfsd",
+ "none",
+ "pipefs",
+ "proc",
+ "pstore",
+ "ramfs",
+ "rootfs",
+ "rpc_pipefs",
+ "securityfs",
+ "sockfs",
+ "spufs",
+ "sysfs",
+ "tmpfs"
+ };
+
+ return !(bsearch(&type, pseudofs, ARRAY_SIZE(pseudofs),
+ sizeof(char*), fstype_cmp) == NULL);
+}
+
+/**
+ * mnt_fstype_is_netfs:
+ * @type: filesystem name
+ *
+ * Returns: 1 for filesystems like cifs, nfs, ... or 0.
+ */
+int mnt_fstype_is_netfs(const char *type)
+{
+ if (!type)
+ return 0;
+ if (strcmp(type, "cifs") == 0 ||
+ strcmp(type, "smbfs") == 0 ||
+ strncmp(type,"nfs", 3) == 0 ||
+ strcmp(type, "afs") == 0 ||
+ strcmp(type, "ncpfs") == 0 ||
+ strncmp(type,"9p", 2) == 0)
+ return 1;
+ return 0;
+}
+
+/**
+ * mnt_match_fstype:
+ * @type: filesystem type
+ * @pattern: filesystem name or comma delimited list of names
+ *
+ * The @pattern list of filesystem can be prefixed with a global
+ * "no" prefix to invert matching of the whole list. The "no" could
+ * also be used for individual items in the @pattern list. So,
+ * "nofoo,bar" has the same meaning as "nofoo,nobar".
+ *
+ * "bar" : "nofoo,bar" -> False (global "no" prefix)
+ *
+ * "bar" : "foo,bar" -> True
+ *
+ * "bar" : "foo,nobar" -> False
+ *
+ * Returns: 1 if type is matching, else 0. This function also returns
+ * 0 if @pattern is NULL and @type is non-NULL.
+ */
+int mnt_match_fstype(const char *type, const char *pattern)
+{
+ return match_fstype(type, pattern);
+}
+
+
+/* Returns 1 if needle found or noneedle not found in haystack
+ * Otherwise returns 0
+ */
+static int check_option(const char *haystack, size_t len,
+ const char *needle, size_t needle_len)
+{
+ const char *p;
+ int no = 0;
+
+ if (needle_len >= 1 && *needle == '+') {
+ needle++;
+ needle_len--;
+ } else if (needle_len >= 2 && !strncmp(needle, "no", 2)) {
+ no = 1;
+ needle += 2;
+ needle_len -= 2;
+ }
+
+ for (p = haystack; p && p < haystack + len; p++) {
+ char *sep = strchr(p, ',');
+ size_t plen = sep ? (size_t) (sep - p) :
+ len - (p - haystack);
+
+ if (plen == needle_len) {
+ if (!strncmp(p, needle, plen))
+ return !no; /* foo or nofoo was found */
+ }
+ p += plen;
+ }
+
+ return no; /* foo or nofoo was not found */
+}
+
+/**
+ * mnt_match_options:
+ * @optstr: options string
+ * @pattern: comma delimited list of options
+ *
+ * The "no" could used for individual items in the @options list. The "no"
+ * prefix does not have a global meaning.
+ *
+ * Unlike fs type matching, nonetdev,user and nonetdev,nouser have
+ * DIFFERENT meanings; each option is matched explicitly as specified.
+ *
+ * The "no" prefix interpretation could be disable by "+" prefix, for example
+ * "+noauto" matches if @optstr literally contains "noauto" string.
+ *
+ * "xxx,yyy,zzz" : "nozzz" -> False
+ *
+ * "xxx,yyy,zzz" : "xxx,noeee" -> True
+ *
+ * "bar,zzz" : "nofoo" -> True
+ *
+ * "nofoo,bar" : "+nofoo" -> True
+ *
+ * "bar,zzz" : "+nofoo" -> False
+ *
+ *
+ * Returns: 1 if pattern is matching, else 0. This function also returns 0
+ * if @pattern is NULL and @optstr is non-NULL.
+ */
+int mnt_match_options(const char *optstr, const char *pattern)
+{
+ const char *p;
+ size_t len, optstr_len = 0;
+
+ if (!pattern && !optstr)
+ return 1;
+ if (!pattern)
+ return 0;
+
+ len = strlen(pattern);
+ if (optstr)
+ optstr_len = strlen(optstr);
+
+ for (p = pattern; p < pattern + len; p++) {
+ char *sep = strchr(p, ',');
+ size_t plen = sep ? (size_t) (sep - p) :
+ len - (p - pattern);
+
+ if (!plen)
+ continue; /* if two ',' appear in a row */
+
+ if (!check_option(optstr, optstr_len, p, plen))
+ return 0; /* any match failure means failure */
+
+ p += plen;
+ }
+
+ /* no match failures in list means success */
+ return 1;
+}
+
+void mnt_free_filesystems(char **filesystems)
+{
+ char **p;
+
+ if (!filesystems)
+ return;
+ for (p = filesystems; *p; p++)
+ free(*p);
+ free(filesystems);
+}
+
+static int add_filesystem(char ***filesystems, char *name)
+{
+ int n = 0;
+
+ assert(filesystems);
+ assert(name);
+
+ if (*filesystems) {
+ char **p;
+ for (n = 0, p = *filesystems; *p; p++, n++) {
+ if (strcmp(*p, name) == 0)
+ return 0;
+ }
+ }
+
+ #define MYCHUNK 16
+
+ if (n == 0 || !((n + 1) % MYCHUNK)) {
+ size_t items = ((n + 1 + MYCHUNK) / MYCHUNK) * MYCHUNK;
+ char **x = realloc(*filesystems, items * sizeof(char *));
+
+ if (!x)
+ goto err;
+ *filesystems = x;
+ }
+ name = strdup(name);
+ if (!name)
+ goto err;
+ (*filesystems)[n] = name;
+ (*filesystems)[n + 1] = NULL;
+ return 0;
+err:
+ mnt_free_filesystems(*filesystems);
+ return -ENOMEM;
+}
+
+static int get_filesystems(const char *filename, char ***filesystems, const char *pattern)
+{
+ int rc = 0;
+ FILE *f;
+ char line[128];
+
+ f = fopen(filename, "r");
+ if (!f)
+ return 0;
+
+ while (fgets(line, sizeof(line), f)) {
+ char name[sizeof(line)];
+
+ if (*line == '#' || strncmp(line, "nodev", 5) == 0)
+ continue;
+ if (sscanf(line, " %128[^\n ]\n", name) != 1)
+ continue;
+ if (pattern && !mnt_match_fstype(name, pattern))
+ continue;
+ rc = add_filesystem(filesystems, name);
+ if (rc)
+ break;
+ }
+
+ fclose(f);
+ return rc;
+}
+
+int mnt_get_filesystems(char ***filesystems, const char *pattern)
+{
+ int rc;
+
+ if (!filesystems)
+ return -EINVAL;
+ *filesystems = NULL;
+
+ rc = get_filesystems(_PATH_FILESYSTEMS, filesystems, pattern);
+ if (rc)
+ return rc;
+ return get_filesystems(_PATH_PROC_FILESYSTEMS, filesystems, pattern);
+}
+
+static size_t get_pw_record_size(void)
+{
+#ifdef _SC_GETPW_R_SIZE_MAX
+ long sz = sysconf(_SC_GETPW_R_SIZE_MAX);
+ if (sz > 0)
+ return sz;
+#endif
+ return 16384;
+}
+
+/*
+ * Returns allocated string with username or NULL.
+ */
+char *mnt_get_username(const uid_t uid)
+{
+ struct passwd pwd;
+ struct passwd *res;
+ size_t sz = get_pw_record_size();
+ char *buf, *username = NULL;
+
+ buf = malloc(sz);
+ if (!buf)
+ return NULL;
+
+ if (!getpwuid_r(uid, &pwd, buf, sz, &res) && res)
+ username = strdup(pwd.pw_name);
+
+ free(buf);
+ return username;
+}
+
+int mnt_get_uid(const char *username, uid_t *uid)
+{
+ int rc = -1;
+ struct passwd pwd;
+ struct passwd *pw;
+ size_t sz = get_pw_record_size();
+ char *buf;
+
+ if (!username || !uid)
+ return -EINVAL;
+
+ buf = malloc(sz);
+ if (!buf)
+ return -ENOMEM;
+
+ if (!getpwnam_r(username, &pwd, buf, sz, &pw) && pw) {
+ *uid= pw->pw_uid;
+ rc = 0;
+ } else {
+ DBG(UTILS, mnt_debug(
+ "cannot convert '%s' username to UID", username));
+ rc = errno ? -errno : -EINVAL;
+ }
+
+ free(buf);
+ return rc;
+}
+
+int mnt_get_gid(const char *groupname, gid_t *gid)
+{
+ int rc = -1;
+ struct group grp;
+ struct group *gr;
+ size_t sz = get_pw_record_size();
+ char *buf;
+
+ if (!groupname || !gid)
+ return -EINVAL;
+
+ buf = malloc(sz);
+ if (!buf)
+ return -ENOMEM;
+
+ if (!getgrnam_r(groupname, &grp, buf, sz, &gr) && gr) {
+ *gid= gr->gr_gid;
+ rc = 0;
+ } else {
+ DBG(UTILS, mnt_debug(
+ "cannot convert '%s' groupname to GID", groupname));
+ rc = errno ? -errno : -EINVAL;
+ }
+
+ free(buf);
+ return rc;
+}
+
+int mnt_in_group(gid_t gid)
+{
+ int rc = 0, n, i;
+ gid_t *grps = NULL;
+
+ if (getgid() == gid)
+ return 1;
+
+ n = getgroups(0, NULL);
+ if (n <= 0)
+ goto done;
+
+ grps = malloc(n * sizeof(*grps));
+ if (!grps)
+ goto done;
+
+ if (getgroups(n, grps) == n) {
+ for (i = 0; i < n; i++) {
+ if (grps[i] == gid) {
+ rc = 1;
+ break;
+ }
+ }
+ }
+done:
+ free(grps);
+ return rc;
+}
+
+static int try_write(const char *filename)
+{
+ int fd;
+
+ if (!filename)
+ return -EINVAL;
+
+ fd = open(filename, O_RDWR|O_CREAT, S_IWUSR| \
+ S_IRUSR|S_IRGRP|S_IROTH);
+ if (fd >= 0) {
+ close(fd);
+ return 0;
+ }
+ return -errno;
+}
+
+/**
+ * mnt_has_regular_mtab:
+ * @mtab: returns path to mtab
+ * @writable: returns 1 if the file is writable
+ *
+ * If the file does not exist and @writable argument is not NULL then it will
+ * try to create the file
+ *
+ * Returns: 1 if /etc/mtab is a regular file, and 0 in case of error (check
+ * errno for more details).
+ */
+int mnt_has_regular_mtab(const char **mtab, int *writable)
+{
+ struct stat st;
+ int rc;
+ const char *filename = mtab && *mtab ? *mtab : mnt_get_mtab_path();
+
+ if (writable)
+ *writable = 0;
+ if (mtab && !*mtab)
+ *mtab = filename;
+
+ DBG(UTILS, mnt_debug("mtab: %s", filename));
+
+ rc = lstat(filename, &st);
+
+ if (rc == 0) {
+ /* file exist */
+ if (S_ISREG(st.st_mode)) {
+ if (writable)
+ *writable = !try_write(filename);
+ return 1;
+ }
+ goto done;
+ }
+
+ /* try to create the file */
+ if (writable) {
+ *writable = !try_write(filename);
+ if (*writable)
+ return 1;
+ }
+
+done:
+ DBG(UTILS, mnt_debug("%s: irregular/non-writable", filename));
+ return 0;
+}
+
+/*
+ * Don't export this to libmount API -- utab is private library stuff.
+ *
+ * If the file does not exist and @writable argument is not NULL then it will
+ * try to create the directory (e.g. /run/mount) and the file.
+ *
+ * Returns: 1 if utab is a regular file, and 0 in case of
+ * error (check errno for more details).
+ */
+int mnt_has_regular_utab(const char **utab, int *writable)
+{
+ struct stat st;
+ int rc;
+ const char *filename = utab && *utab ? *utab : mnt_get_utab_path();
+
+ if (writable)
+ *writable = 0;
+ if (utab && !*utab)
+ *utab = filename;
+
+ DBG(UTILS, mnt_debug("utab: %s", filename));
+
+ rc = lstat(filename, &st);
+
+ if (rc == 0) {
+ /* file exist */
+ if (S_ISREG(st.st_mode)) {
+ if (writable)
+ *writable = !try_write(filename);
+ return 1;
+ }
+ goto done; /* it's not regular file */
+ }
+
+ if (writable) {
+ char *dirname = strdup(filename);
+
+ if (!dirname)
+ goto done;
+
+ stripoff_last_component(dirname); /* remove filename */
+
+ rc = mkdir(dirname, S_IWUSR|
+ S_IRUSR|S_IRGRP|S_IROTH|
+ S_IXUSR|S_IXGRP|S_IXOTH);
+ free(dirname);
+ if (rc && errno != EEXIST)
+ goto done; /* probably EACCES */
+
+ *writable = !try_write(filename);
+ if (*writable)
+ return 1;
+ }
+done:
+ DBG(UTILS, mnt_debug("%s: irregular/non-writable file", filename));
+ return 0;
+}
+
+/**
+ * mnt_get_swaps_path:
+ *
+ * Returns: path to /proc/swaps or $LIBMOUNT_SWAPS.
+ */
+const char *mnt_get_swaps_path(void)
+{
+ const char *p = safe_getenv("LIBMOUNT_SWAPS");
+ return p ? : _PATH_PROC_SWAPS;
+}
+
+/**
+ * mnt_get_fstab_path:
+ *
+ * Returns: path to /etc/fstab or $LIBMOUNT_FSTAB.
+ */
+const char *mnt_get_fstab_path(void)
+{
+ const char *p = safe_getenv("LIBMOUNT_FSTAB");
+ return p ? : _PATH_MNTTAB;
+}
+
+/**
+ * mnt_get_mtab_path:
+ *
+ * This function returns *default* location of the mtab file. The result does
+ * not have to be writable. See also mnt_has_regular_mtab().
+ *
+ * Returns: path to /etc/mtab or $LIBMOUNT_MTAB.
+ */
+const char *mnt_get_mtab_path(void)
+{
+ const char *p = safe_getenv("LIBMOUNT_MTAB");
+ return p ? : _PATH_MOUNTED;
+}
+
+/*
+ * Don't export this to libmount API -- utab is private library stuff.
+ *
+ * Returns: path to /run/mount/utab (or /dev/.mount/utab) or $LIBMOUNT_UTAB.
+ */
+const char *mnt_get_utab_path(void)
+{
+ struct stat st;
+ const char *p = safe_getenv("LIBMOUNT_UTAB");
+
+ if (p)
+ return p;
+
+ if (stat(MNT_RUNTIME_TOPDIR, &st) == 0)
+ return MNT_PATH_UTAB;
+
+ return MNT_PATH_UTAB_OLD;
+}
+
+
+/* returns file descriptor or -errno, @name returns uniques filename
+ */
+int mnt_open_uniq_filename(const char *filename, char **name)
+{
+ int rc, fd;
+ char *n;
+
+ assert(filename);
+
+ if (name)
+ *name = NULL;
+
+ rc = asprintf(&n, "%s.XXXXXX", filename);
+ if (rc <= 0)
+ return -errno;
+
+ fd = mkstemp(n);
+ if (fd >= 0 && name)
+ *name = n;
+ else
+ free(n);
+
+ return fd < 0 ? -errno : fd;
+}
+
+/**
+ * mnt_get_mountpoint:
+ * @path: pathname
+ *
+ * This function finds the mountpoint that a given path resides in. @path
+ * should be canonicalized. The returned pointer should be freed by the caller.
+ *
+ * Returns: target of mounted device or NULL on error
+ */
+char *mnt_get_mountpoint(const char *path)
+{
+ char *mnt = strdup(path);
+ struct stat st;
+ dev_t dir, base;
+
+ if (!mnt)
+ return NULL;
+ if (*mnt == '/' && *(mnt + 1) == '\0')
+ goto done;
+
+ if (stat(mnt, &st))
+ goto err;
+ base = st.st_dev;
+
+ do {
+ char *p = stripoff_last_component(mnt);
+
+ if (!p)
+ break;
+ if (stat(*mnt ? mnt : "/", &st))
+ goto err;
+ dir = st.st_dev;
+ if (dir != base) {
+ if (p > mnt)
+ *(p - 1) = '/';
+ goto done;
+ }
+ base = dir;
+ } while (mnt && *(mnt + 1) != '\0');
+
+ memcpy(mnt, "/", 2);
+done:
+ DBG(UTILS, mnt_debug("%s mountpoint is %s", path, mnt));
+ return mnt;
+err:
+ free(mnt);
+ return NULL;
+}
+
+char *mnt_get_fs_root(const char *path, const char *mnt)
+{
+ char *m = (char *) mnt, *res;
+ const char *p;
+ size_t sz;
+
+ if (!m)
+ m = mnt_get_mountpoint(path);
+ if (!m)
+ return NULL;
+
+ sz = strlen(m);
+ p = sz > 1 ? path + sz : path;
+
+ if (m != mnt)
+ free(m);
+
+ res = *p ? strdup(p) : strdup("/");
+ DBG(UTILS, mnt_debug("%s fs-root is %s", path, res));
+ return res;
+}
+
+#ifdef TEST_PROGRAM
+int test_match_fstype(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *type = argv[1];
+ char *pattern = argv[2];
+
+ printf("%s\n", mnt_match_fstype(type, pattern) ? "MATCH" : "NOT-MATCH");
+ return 0;
+}
+
+int test_match_options(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *optstr = argv[1];
+ char *pattern = argv[2];
+
+ printf("%s\n", mnt_match_options(optstr, pattern) ? "MATCH" : "NOT-MATCH");
+ return 0;
+}
+
+int test_startswith(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *optstr = argv[1];
+ char *pattern = argv[2];
+
+ printf("%s\n", startswith(optstr, pattern) ? "YES" : "NOT");
+ return 0;
+}
+
+int test_endswith(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *optstr = argv[1];
+ char *pattern = argv[2];
+
+ printf("%s\n", endswith(optstr, pattern) ? "YES" : "NOT");
+ return 0;
+}
+
+int test_mountpoint(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *path = canonicalize_path(argv[1]),
+ *mnt = path ? mnt_get_mountpoint(path) : NULL;
+
+ printf("%s: %s\n", argv[1], mnt ? : "unknown");
+ free(mnt);
+ free(path);
+ return 0;
+}
+
+int test_fsroot(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char *path = canonicalize_path(argv[1]),
+ *mnt = path ? mnt_get_fs_root(path, NULL) : NULL;
+
+ printf("%s: %s\n", argv[1], mnt ? : "unknown");
+ free(mnt);
+ free(path);
+ return 0;
+}
+
+int test_filesystems(struct libmnt_test *ts, int argc, char *argv[])
+{
+ char **filesystems = NULL;
+ int rc;
+
+ rc = mnt_get_filesystems(&filesystems, argc ? argv[1] : NULL);
+ if (!rc) {
+ char **p;
+ for (p = filesystems; *p; p++)
+ printf("%s\n", *p);
+ mnt_free_filesystems(filesystems);
+ }
+ return rc;
+}
+
+int test_chdir(struct libmnt_test *ts, int argc, char *argv[])
+{
+ int rc;
+ char *path = canonicalize_path(argv[1]),
+ *last = NULL;
+
+ if (!path)
+ return -errno;
+
+ rc = mnt_chdir_to_parent(path, &last);
+ if (!rc) {
+ printf("path='%s', abs='%s', last='%s'\n",
+ argv[1], path, last);
+ }
+ free(path);
+ free(last);
+ return rc;
+}
+
+
+int main(int argc, char *argv[])
+{
+ struct libmnt_test tss[] = {
+ { "--match-fstype", test_match_fstype, "<type> <pattern> FS types matching" },
+ { "--match-options", test_match_options, "<options> <pattern> options matching" },
+ { "--filesystems", test_filesystems, "[<pattern>] list /{etc,proc}/filesystems" },
+ { "--starts-with", test_startswith, "<string> <prefix>" },
+ { "--ends-with", test_endswith, "<string> <prefix>" },
+ { "--mountpoint", test_mountpoint, "<path>" },
+ { "--fs-root", test_fsroot, "<path>" },
+ { "--cd-parent", test_chdir, "<path>" },
+ { NULL }
+ };
+
+ return mnt_run_test(tss, argc, argv);
+}
+
+#endif /* TEST_PROGRAM */
diff --git a/libmount/src/version.c b/libmount/src/version.c
new file mode 100644
index 0000000..00e4f99
--- /dev/null
+++ b/libmount/src/version.c
@@ -0,0 +1,127 @@
+/*
+ * version.c - Return the version of the blkid library
+ *
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ * [Based on libblkid/version.c by Theodore Ts'o]
+ *
+ * See COPYING.libmount for the License of this software.
+ */
+
+/**
+ * SECTION: version
+ * @title: Version functions
+ * @short_description: functions to get library version.
+ */
+
+#include <ctype.h>
+
+#include "mountP.h"
+
+static const char *lib_version = LIBMOUNT_VERSION;
+static const char *lib_features[] = {
+#ifdef HAVE_LIBSELINUX
+ "selinux",
+#endif
+#ifdef CONFIG_LIBMOUNT_DEBUG
+ "debug",
+#endif
+ NULL
+};
+
+/**
+ * mnt_parse_version_string:
+ * @ver_string: version string (e.g "2.18.0")
+ *
+ * Returns: release version code.
+ */
+int mnt_parse_version_string(const char *ver_string)
+{
+ const char *cp;
+ int version = 0;
+
+ for (cp = ver_string; *cp; cp++) {
+ if (*cp == '.')
+ continue;
+ if (!isdigit(*cp))
+ break;
+ version = (version * 10) + (*cp - '0');
+ }
+ return version;
+}
+
+/**
+ * mnt_get_library_version:
+ * @ver_string: return pointer to the static library version string if not NULL
+ *
+ * Returns: release version number.
+ */
+int mnt_get_library_version(const char **ver_string)
+{
+ if (ver_string)
+ *ver_string = lib_version;
+
+ return mnt_parse_version_string(lib_version);
+}
+
+/**
+ * mnt_get_library_features:
+ * @features: returns pointer to the static array of strings, the array is
+ * terminated by NULL.
+ *
+ * Returns: number of items in the features array not including the last NULL,
+ * or less then zero in case of error
+ *
+ * Example:
+ * <informalexample>
+ * <programlisting>
+ * const char *features;
+ *
+ * mnt_get_library_features(&features);
+ * while (features && *features)
+ * printf("%s\n", *features++);
+ * </programlisting>
+ * </informalexample>
+ *
+ */
+int mnt_get_library_features(const char ***features)
+{
+ if (!features)
+ return -EINVAL;
+
+ *features = lib_features;
+ return ARRAY_SIZE(lib_features) - 1;
+}
+
+#ifdef TEST_PROGRAM
+int test_version(struct libmnt_test *ts, int argc, char *argv[])
+{
+ const char *ver;
+ const char **features;
+
+ mnt_get_library_version(&ver);
+
+ printf("Library version: %s\n", ver);
+ printf("Library API version: " LIBMOUNT_VERSION "\n");
+ printf("Library features:");
+
+ mnt_get_library_features(&features);
+ while (features && *features)
+ printf(" %s", *features++);
+
+ if (mnt_get_library_version(NULL) ==
+ mnt_parse_version_string(LIBMOUNT_VERSION))
+ return 0;
+
+ return -1;
+}
+
+int main(int argc, char *argv[])
+{
+ struct libmnt_test ts[] = {
+ { "--print", test_version, "print versions" },
+ { NULL }
+ };
+
+ return mnt_run_test(ts, argc, argv);
+}
+#endif
diff --git a/libuuid/COPYING b/libuuid/COPYING
new file mode 100644
index 0000000..6935c28
--- /dev/null
+++ b/libuuid/COPYING
@@ -0,0 +1,5 @@
+This library is free software; you can redistribute it and/or
+modify it under the terms of the Modified BSD License.
+
+The complete text of the license is available at the
+Documentation/licenses/COPYING.BSD-3 file.
diff --git a/libuuid/Makemodule.am b/libuuid/Makemodule.am
new file mode 100644
index 0000000..166be5c
--- /dev/null
+++ b/libuuid/Makemodule.am
@@ -0,0 +1,10 @@
+if BUILD_LIBUUID
+
+include libuuid/man/Makemodule.am
+include libuuid/src/Makemodule.am
+
+pkgconfig_DATA += libuuid/uuid.pc
+PATHFILES += libuuid/uuid.pc
+EXTRA_DIST += libuuid/COPYING
+
+endif # BUILD_LIBUUID
diff --git a/libuuid/man/Makemodule.am b/libuuid/man/Makemodule.am
new file mode 100644
index 0000000..81287d5
--- /dev/null
+++ b/libuuid/man/Makemodule.am
@@ -0,0 +1,14 @@
+
+dist_man_MANS += \
+ libuuid/man/uuid.3 \
+ libuuid/man/uuid_clear.3 \
+ libuuid/man/uuid_compare.3 \
+ libuuid/man/uuid_copy.3 \
+ libuuid/man/uuid_generate.3 \
+ libuuid/man/uuid_is_null.3 \
+ libuuid/man/uuid_parse.3 \
+ libuuid/man/uuid_time.3 \
+ libuuid/man/uuid_unparse.3 \
+ libuuid/man/uuid_generate_random.3 \
+ libuuid/man/uuid_generate_time.3 \
+ libuuid/man/uuid_generate_time_safe.3
diff --git a/libuuid/man/uuid.3 b/libuuid/man/uuid.3
new file mode 100644
index 0000000..62b99eb
--- /dev/null
+++ b/libuuid/man/uuid.3
@@ -0,0 +1,65 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" %Begin-Header%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, and the entire permission notice in its entirety,
+.\" including the disclaimer of warranties.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote
+.\" products derived from this software without specific prior
+.\" written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+.\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\" %End-Header%
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUID 3 "May 2009" "util-linux" "Libuuid API"
+.SH NAME
+uuid \- DCE compatible Universally Unique Identifier library
+.SH SYNOPSIS
+.B #include <uuid.h>
+.SH DESCRIPTION
+The UUID library is used to generate unique identifiers for objects
+that may be accessible beyond the local system. This library
+generates UUIDs compatible with those created by the Open Software
+Foundation (OSF) Distributed Computing Environment (DCE) utility
+.BR uuidgen .
+.sp
+The UUIDs generated by this library can be reasonably expected to be
+unique within a system, and unique across all systems. They could
+be used, for instance, to generate unique HTTP cookies across multiple
+web servers without communication between the servers, and without fear
+of a name clash.
+.SH "CONFORMING TO"
+OSF DCE 1.1
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid_clear (3),
+.BR uuid_compare (3),
+.BR uuid_copy (3),
+.BR uuid_generate (3),
+.BR uuid_is_null (3),
+.BR uuid_parse (3),
+.BR uuid_time (3),
+.BR uuid_unparse (3)
diff --git a/libuuid/man/uuid_clear.3 b/libuuid/man/uuid_clear.3
new file mode 100644
index 0000000..edb80d6
--- /dev/null
+++ b/libuuid/man/uuid_clear.3
@@ -0,0 +1,60 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" %Begin-Header%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, and the entire permission notice in its entirety,
+.\" including the disclaimer of warranties.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote
+.\" products derived from this software without specific prior
+.\" written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+.\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\" %End-Header%
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUID_CLEAR 3 "May 2009" "util-linux" "Libuuid API"
+.SH NAME
+uuid_clear \- reset value of UUID variable to the NULL value
+.SH SYNOPSIS
+.nf
+.B #include <uuid.h>
+.sp
+.BI "void uuid_clear(uuid_t " uu );
+.fi
+.SH DESCRIPTION
+The
+.B uuid_clear
+function sets the value of the supplied uuid variable
+.I uu
+to the NULL value.
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuid_compare (3),
+.BR uuid_copy (3),
+.BR uuid_generate (3),
+.BR uuid_is_null (3),
+.BR uuid_parse (3),
+.BR uuid_unparse (3)
diff --git a/libuuid/man/uuid_compare.3 b/libuuid/man/uuid_compare.3
new file mode 100644
index 0000000..9300c51
--- /dev/null
+++ b/libuuid/man/uuid_compare.3
@@ -0,0 +1,66 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" %Begin-Header%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, and the entire permission notice in its entirety,
+.\" including the disclaimer of warranties.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote
+.\" products derived from this software without specific prior
+.\" written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+.\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\" %End-Header%
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUID_COMPARE 3 "May 2009" "util-linux" "Libuuid API"
+.SH NAME
+uuid_compare \- compare whether two UUIDs are the same
+.SH SYNOPSIS
+.nf
+.B #include <uuid.h>
+.sp
+.BI "int uuid_compare(uuid_t " uu1 ", uuid_t " uu2)
+.fi
+.SH DESCRIPTION
+The
+.B uuid_compare
+function compares the two supplied uuid variables
+.IR uu1 " and " uu2
+to each other.
+.SH RETURN VALUE
+Returns an integer less than, equal to, or greater than zero if
+.I uu1
+is found, respectively, to be lexicographically less than, equal, or
+greater than
+.IR uu2 .
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuid_clear (3),
+.BR uuid_copy (3),
+.BR uuid_generate (3),
+.BR uuid_is_null (3),
+.BR uuid_parse (3),
+.BR uuid_unparse (3)
diff --git a/libuuid/man/uuid_copy.3 b/libuuid/man/uuid_copy.3
new file mode 100644
index 0000000..f31d94e
--- /dev/null
+++ b/libuuid/man/uuid_copy.3
@@ -0,0 +1,62 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" %Begin-Header%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, and the entire permission notice in its entirety,
+.\" including the disclaimer of warranties.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote
+.\" products derived from this software without specific prior
+.\" written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+.\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\" %End-Header%
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUID_COPY 3 "May 2009" "util-linux" "Libuuid API"
+.SH NAME
+uuid_copy \- copy a UUID value
+.SH SYNOPSIS
+.nf
+.B #include <uuid.h>
+.sp
+.BI "void uuid_copy(uuid_t " dst ", uuid_t " src);
+.fi
+.SH DESCRIPTION
+The
+.B uuid_copy
+function copies the UUID variable
+.IR src " to " dst .
+.SH RETURN VALUE
+The copied UUID is returned in the location pointed to by
+.IR dst .
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuid_clear (3),
+.BR uuid_compare (3),
+.BR uuid_generate (3),
+.BR uuid_is_null (3),
+.BR uuid_parse (3),
+.BR uuid_unparse (3)
diff --git a/libuuid/man/uuid_generate.3 b/libuuid/man/uuid_generate.3
new file mode 100644
index 0000000..07ad94c
--- /dev/null
+++ b/libuuid/man/uuid_generate.3
@@ -0,0 +1,126 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" %Begin-Header%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, and the entire permission notice in its entirety,
+.\" including the disclaimer of warranties.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote
+.\" products derived from this software without specific prior
+.\" written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+.\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\" %End-Header%
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUID_GENERATE 3 "May 2009" "util-linux" "Libuuid API"
+.SH NAME
+uuid_generate, uuid_generate_random, uuid_generate_time,
+uuid_generate_time_safe \- create a new unique UUID value
+.SH SYNOPSIS
+.nf
+.B #include <uuid.h>
+.sp
+.BI "void uuid_generate(uuid_t " out );
+.BI "void uuid_generate_random(uuid_t " out );
+.BI "void uuid_generate_time(uuid_t " out );
+.BI "int uuid_generate_time_safe(uuid_t " out );
+.fi
+.SH DESCRIPTION
+The
+.B uuid_generate
+function creates a new universally unique identifier (UUID). The uuid will
+be generated based on high-quality randomness from
+.IR /dev/urandom ,
+if available. If it is not available, then
+.B uuid_generate
+will use an alternative algorithm which uses the current time, the
+local ethernet MAC address (if available), and random data generated
+using a pseudo-random generator.
+.sp
+The
+.B uuid_generate_random
+function forces the use of the all-random UUID format, even if
+a high-quality random number generator (i.e.,
+.IR /dev/urandom )
+is not available, in which case a pseudo-random
+generator will be substituted. Note that the use of a pseudo-random
+generator may compromise the uniqueness of UUIDs
+generated in this fashion.
+.sp
+The
+.B uuid_generate_time
+function forces the use of the alternative algorithm which uses the
+current time and the local ethernet MAC address (if available).
+This algorithm used to be the default one used to generate UUID, but
+because of the use of the ethernet MAC address, it can leak
+information about when and where the UUID was generated. This can cause
+privacy problems in some applications, so the
+.B uuid_generate
+function only uses this algorithm if a high-quality source of
+randomness is not available. To guarantee uniqueness of UUIDs generated
+by concurrently running processes, the uuid library uses global
+clock state counter (if the process has permissions to gain exclusive access
+to this file) and/or the
+.B uuidd
+daemon, if it is running already or can be be spawned by the process (if
+installed and the process has enough permissions to run it). If neither of
+these two synchronization mechanisms can be used, it is theoretically possible
+that two concurrently running processes obtain the same UUID(s). To tell
+whether the UUID has been generated in a safe manner, use
+.BR uuid_generate_time_safe .
+.sp
+The
+.B uuid_generate_time_safe
+is similar to
+.BR uuid_generate_time ,
+except that it returns a value which denotes whether any of the synchronization
+mechanisms (see above) has been used.
+.sp
+The UUID is 16 bytes (128 bits) long, which gives approximately 3.4x10^38
+unique values (there are approximately 10^80 elementary particles in
+the universe according to Carl Sagan's
+.IR Cosmos ).
+The new UUID can reasonably be considered unique among all UUIDs created
+on the local system, and among UUIDs created on other systems in the past
+and in the future.
+.SH RETURN VALUE
+The newly created UUID is returned in the memory location pointed to by
+.IR out .
+.B uuid_generate_time_safe
+returns zero if the UUID has been generated in a safe manner, -1 otherwise.
+.SH "CONFORMING TO"
+OSF DCE 1.1
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuidgen (1),
+.BR uuidd (8),
+.BR uuid_clear (3),
+.BR uuid_compare (3),
+.BR uuid_copy (3),
+.BR uuid_is_null (3),
+.BR uuid_parse (3),
+.BR uuid_time (3),
+.BR uuid_unparse (3)
diff --git a/libuuid/man/uuid_generate_random.3 b/libuuid/man/uuid_generate_random.3
new file mode 100644
index 0000000..8405486
--- /dev/null
+++ b/libuuid/man/uuid_generate_random.3
@@ -0,0 +1 @@
+.so man3/uuid_generate.3
diff --git a/libuuid/man/uuid_generate_time.3 b/libuuid/man/uuid_generate_time.3
new file mode 100644
index 0000000..8405486
--- /dev/null
+++ b/libuuid/man/uuid_generate_time.3
@@ -0,0 +1 @@
+.so man3/uuid_generate.3
diff --git a/libuuid/man/uuid_generate_time_safe.3 b/libuuid/man/uuid_generate_time_safe.3
new file mode 100644
index 0000000..8405486
--- /dev/null
+++ b/libuuid/man/uuid_generate_time_safe.3
@@ -0,0 +1 @@
+.so man3/uuid_generate.3
diff --git a/libuuid/man/uuid_is_null.3 b/libuuid/man/uuid_is_null.3
new file mode 100644
index 0000000..ccf24ed
--- /dev/null
+++ b/libuuid/man/uuid_is_null.3
@@ -0,0 +1,62 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" %Begin-Header%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, and the entire permission notice in its entirety,
+.\" including the disclaimer of warranties.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote
+.\" products derived from this software without specific prior
+.\" written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+.\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\" %End-Header%
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUID_IS_NULL 3 "May 2009" "util-linux" "Libuuid API"
+.SH NAME
+uuid_is_null \- compare the value of the UUID to the NULL value
+.SH SYNOPSIS
+.nf
+.B #include <uuid.h>
+.sp
+.BI "int uuid_is_null(uuid_t " uu );
+.fi
+.SH DESCRIPTION
+The
+.B uuid_is_null
+function compares the value of the supplied UUID variable
+.I uu
+to the NULL value. If the value is equal to the NULL UUID, 1 is returned,
+otherwise 0 is returned.
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuid_clear (3),
+.BR uuid_compare (3),
+.BR uuid_copy (3),
+.BR uuid_generate (3),
+.BR uuid_time (3),
+.BR uuid_parse (3),
+.BR uuid_unparse (3)
diff --git a/libuuid/man/uuid_parse.3 b/libuuid/man/uuid_parse.3
new file mode 100644
index 0000000..9030345
--- /dev/null
+++ b/libuuid/man/uuid_parse.3
@@ -0,0 +1,71 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" %Begin-Header%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, and the entire permission notice in its entirety,
+.\" including the disclaimer of warranties.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote
+.\" products derived from this software without specific prior
+.\" written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+.\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\" %End-Header%
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUID_PARSE 3 "May 2009" "util-linux" "Libuuid API"
+.SH NAME
+uuid_parse \- convert an input UUID string into binary representation
+.SH SYNOPSIS
+.nf
+.B #include <uuid.h>
+.sp
+.BI "int uuid_parse( char *" in ", uuid_t " uu );
+.fi
+.SH DESCRIPTION
+The
+.B uuid_parse
+function converts the UUID string given by
+.I in
+into the binary representation. The input UUID is a string of the form
+1b4e28ba\-2fa1\-11d2\-883f\-b9a761bde3fb (in
+.BR printf (3)
+format "%08x\-%04x\-%04x\-%04x\-%012x", 36 bytes plus the trailing '\\0').
+.SH RETURN VALUE
+Upon successfully parsing the input string, 0 is returned, and the UUID is
+stored in the location pointed to by
+.IR uu ,
+otherwise \-1 is returned.
+.SH "CONFORMING TO"
+OSF DCE 1.1
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuid_clear (3),
+.BR uuid_compare (3),
+.BR uuid_copy (3),
+.BR uuid_generate (3),
+.BR uuid_is_null (3),
+.BR uuid_time (3),
+.BR uuid_unparse (3)
diff --git a/libuuid/man/uuid_time.3 b/libuuid/man/uuid_time.3
new file mode 100644
index 0000000..c2af0b6
--- /dev/null
+++ b/libuuid/man/uuid_time.3
@@ -0,0 +1,76 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" %Begin-Header%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, and the entire permission notice in its entirety,
+.\" including the disclaimer of warranties.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote
+.\" products derived from this software without specific prior
+.\" written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+.\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\" %End-Header%
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUID_TIME 3 "May 2009" "util-linux" "Libuuid API"
+.SH NAME
+uuid_time \- extract the time at which the UUID was created
+.SH SYNOPSIS
+.nf
+.B #include <uuid.h>
+.sp
+.BI "time_t uuid_time(uuid_t " uu ", struct timeval *" ret_tv )
+.fi
+.SH DESCRIPTION
+The
+.B uuid_time
+function extracts the time at which the supplied time-based UUID
+.I uu
+was created. Note that the UUID creation time is only encoded within
+certain types of UUIDs. This function can only reasonably expect to
+extract the creation time for UUIDs created with the
+.BR uuid_generate_time (3)
+and
+.BR uuid_generate_time_safe (3)
+functions. It may or may not work with UUIDs created by other mechanisms.
+.SH "RETURN VALUES"
+The time at which the UUID was created, in seconds since January 1, 1970 GMT
+(the epoch), is returned (see
+.BR time "(2))."
+The time at which the UUID was created, in seconds and microseconds since
+the epoch, is also stored in the location pointed to by
+.I ret_tv
+(see
+.BR gettimeofday "(2))."
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuid_clear (3),
+.BR uuid_compare (3),
+.BR uuid_copy (3),
+.BR uuid_generate (3),
+.BR uuid_is_null (3),
+.BR uuid_parse (3),
+.BR uuid_unparse (3)
diff --git a/libuuid/man/uuid_unparse.3 b/libuuid/man/uuid_unparse.3
new file mode 100644
index 0000000..a7ab5d8
--- /dev/null
+++ b/libuuid/man/uuid_unparse.3
@@ -0,0 +1,79 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" %Begin-Header%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, and the entire permission notice in its entirety,
+.\" including the disclaimer of warranties.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote
+.\" products derived from this software without specific prior
+.\" written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+.\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\" %End-Header%
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUID_UNPARSE 3 "May 2009" "util-linux" "Libuuid API"
+.SH NAME
+uuid_unparse \- convert an UUID from binary representation to a string
+.SH SYNOPSIS
+.nf
+.B #include <uuid.h>
+.sp
+.BI "void uuid_unparse(uuid_t " uu ", char *" out );
+.BI "void uuid_unparse_upper(uuid_t " uu ", char *" out );
+.BI "void uuid_unparse_lower(uuid_t " uu ", char *" out );
+.fi
+.SH DESCRIPTION
+The
+.B uuid_unparse
+function converts the supplied UUID
+.I uu
+from the binary representation into a 36\-byte string (plus tailing '\\0')
+of the form 1b4e28ba\-2fa1\-11d2\-883f\-0016d3cca427 and stores this
+value in the character string pointed to by
+.IR out .
+The case of the hex digits returned by
+.B uuid_unparse
+may be upper or lower case, and is
+dependent on the system-dependent local default.
+.PP
+If the case of the
+hex digits is important then the functions
+.B uuid_unparse_upper
+and
+.B uuid_unparse_lower
+may be used.
+.SH "CONFORMING TO"
+OSF DCE 1.1
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuid_clear (3),
+.BR uuid_compare (3),
+.BR uuid_copy (3),
+.BR uuid_generate (3),
+.BR uuid_time (3),
+.BR uuid_is_null (3),
+.BR uuid_parse (3)
diff --git a/libuuid/src/Makemodule.am b/libuuid/src/Makemodule.am
new file mode 100644
index 0000000..73f1ba9
--- /dev/null
+++ b/libuuid/src/Makemodule.am
@@ -0,0 +1,56 @@
+
+check_PROGRAMS += test_uuid
+test_uuid_SOURCES = libuuid/src/test_uuid.c
+test_uuid_LDADD = libuuid.la $(SOCKET_LIBS)
+test_uuid_CFLAGS = -I$(ul_libuuid_incdir)
+
+# includes
+uuidincdir = $(includedir)/uuid
+uuidinc_HEADERS = libuuid/src/uuid.h
+
+usrlib_exec_LTLIBRARIES += libuuid.la
+
+libuuid_la_SOURCES = \
+ libuuid/src/clear.c \
+ libuuid/src/compare.c \
+ libuuid/src/copy.c \
+ libuuid/src/gen_uuid.c \
+ libuuid/src/isnull.c \
+ libuuid/src/pack.c \
+ libuuid/src/parse.c \
+ libuuid/src/unpack.c \
+ libuuid/src/unparse.c \
+ libuuid/src/uuidd.h \
+ libuuid/src/uuidd.h \
+ libuuid/src/uuidP.h \
+ libuuid/src/uuid_time.c \
+ $(uuidinc_HEADERS) \
+ lib/randutils.c
+
+libuuid_la_DEPENDENCIES = libuuid/src/uuid.sym
+libuuid_la_LIBADD = $(SOCKET_LIBS)
+libuuid_la_CFLAGS = -I$(ul_libuuid_incdir) -Ilibuuid/src
+
+libuuid_la_LDFLAGS = \
+ -Wl,--version-script=$(top_srcdir)/libuuid/src/uuid.sym \
+ -version-info $(LIBUUID_VERSION_INFO)
+
+EXTRA_DIST += libuuid/src/uuid.sym
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+install-exec-hook-libuuid:
+ if test "$(usrlib_execdir)" != "$(libdir)"; then \
+ mkdir -p $(DESTDIR)$(libdir); \
+ mv $(DESTDIR)$(usrlib_execdir)/libuuid.so.* $(DESTDIR)$(libdir); \
+ so_img_name=$$(readlink $(DESTDIR)$(usrlib_execdir)/libuuid.so); \
+ so_img_rel_target=$$(echo $(usrlib_execdir) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
+ (cd $(DESTDIR)$(usrlib_execdir) && \
+ rm -f libuuid.so && \
+ $(LN_S) $$so_img_rel_target$(libdir)/$$so_img_name libuuid.so); \
+ fi
+
+uninstall-hook-libuuid:
+ rm -f $(DESTDIR)$(libdir)/libuuid.so*
+
+INSTALL_EXEC_HOOKS += install-exec-hook-libuuid
+UNINSTALL_HOOKS += uninstall-hook-libuuid
diff --git a/libuuid/src/clear.c b/libuuid/src/clear.c
new file mode 100644
index 0000000..2d91fee
--- /dev/null
+++ b/libuuid/src/clear.c
@@ -0,0 +1,43 @@
+/*
+ * clear.c -- Clear a UUID
+ *
+ * Copyright (C) 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#include "string.h"
+
+#include "uuidP.h"
+
+void uuid_clear(uuid_t uu)
+{
+ memset(uu, 0, 16);
+}
+
diff --git a/libuuid/src/compare.c b/libuuid/src/compare.c
new file mode 100644
index 0000000..8f3437a
--- /dev/null
+++ b/libuuid/src/compare.c
@@ -0,0 +1,55 @@
+/*
+ * compare.c --- compare whether or not two UUIDs are the same
+ *
+ * Returns 0 if the two UUIDs are different, and 1 if they are the same.
+ *
+ * Copyright (C) 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#include "uuidP.h"
+#include <string.h>
+
+#define UUCMP(u1,u2) if (u1 != u2) return((u1 < u2) ? -1 : 1);
+
+int uuid_compare(const uuid_t uu1, const uuid_t uu2)
+{
+ struct uuid uuid1, uuid2;
+
+ uuid_unpack(uu1, &uuid1);
+ uuid_unpack(uu2, &uuid2);
+
+ UUCMP(uuid1.time_low, uuid2.time_low);
+ UUCMP(uuid1.time_mid, uuid2.time_mid);
+ UUCMP(uuid1.time_hi_and_version, uuid2.time_hi_and_version);
+ UUCMP(uuid1.clock_seq, uuid2.clock_seq);
+ return memcmp(uuid1.node, uuid2.node, 6);
+}
+
diff --git a/libuuid/src/copy.c b/libuuid/src/copy.c
new file mode 100644
index 0000000..ead33aa
--- /dev/null
+++ b/libuuid/src/copy.c
@@ -0,0 +1,45 @@
+/*
+ * copy.c --- copy UUIDs
+ *
+ * Copyright (C) 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#include "uuidP.h"
+
+void uuid_copy(uuid_t dst, const uuid_t src)
+{
+ unsigned char *cp1;
+ const unsigned char *cp2;
+ int i;
+
+ for (i=0, cp1 = dst, cp2 = src; i < 16; i++)
+ *cp1++ = *cp2++;
+}
diff --git a/libuuid/src/gen_uuid.c b/libuuid/src/gen_uuid.c
new file mode 100644
index 0000000..02e7f49
--- /dev/null
+++ b/libuuid/src/gen_uuid.c
@@ -0,0 +1,551 @@
+/*
+ * gen_uuid.c --- generate a DCE-compatible uuid
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+/*
+ * Force inclusion of SVID stuff since we need it if we're compiling in
+ * gcc-wall wall mode
+ */
+#define _SVID_SOURCE
+
+#ifdef _WIN32
+#define _WIN32_WINNT 0x0500
+#include <windows.h>
+#define UUID MYUUID
+#endif
+#include <stdio.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#include <string.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <limits.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <sys/stat.h>
+#ifdef HAVE_SYS_FILE_H
+#include <sys/file.h>
+#endif
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_SYS_UN_H
+#include <sys/un.h>
+#endif
+#ifdef HAVE_SYS_SOCKIO_H
+#include <sys/sockio.h>
+#endif
+#ifdef HAVE_NET_IF_H
+#include <net/if.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_NET_IF_DL_H
+#include <net/if_dl.h>
+#endif
+#if defined(__linux__) && defined(HAVE_SYS_SYSCALL_H)
+#include <sys/syscall.h>
+#endif
+
+#include "all-io.h"
+#include "uuidP.h"
+#include "uuidd.h"
+#include "randutils.h"
+#include "c.h"
+
+#ifdef HAVE_TLS
+#define THREAD_LOCAL static __thread
+#else
+#define THREAD_LOCAL static
+#endif
+
+#ifdef _WIN32
+static void gettimeofday (struct timeval *tv, void *dummy)
+{
+ FILETIME ftime;
+ uint64_t n;
+
+ GetSystemTimeAsFileTime (&ftime);
+ n = (((uint64_t) ftime.dwHighDateTime << 32)
+ + (uint64_t) ftime.dwLowDateTime);
+ if (n) {
+ n /= 10;
+ n -= ((369 * 365 + 89) * (uint64_t) 86400) * 1000000;
+ }
+
+ tv->tv_sec = n / 1000000;
+ tv->tv_usec = n % 1000000;
+}
+
+static int getuid (void)
+{
+ return 1;
+}
+#endif
+
+/*
+ * Get the ethernet hardware address, if we can find it...
+ *
+ * XXX for a windows version, probably should use GetAdaptersInfo:
+ * http://www.codeguru.com/cpp/i-n/network/networkinformation/article.php/c5451
+ * commenting out get_node_id just to get gen_uuid to compile under windows
+ * is not the right way to go!
+ */
+static int get_node_id(unsigned char *node_id)
+{
+#ifdef HAVE_NET_IF_H
+ int sd;
+ struct ifreq ifr, *ifrp;
+ struct ifconf ifc;
+ char buf[1024];
+ int n, i;
+ unsigned char *a;
+#ifdef HAVE_NET_IF_DL_H
+ struct sockaddr_dl *sdlp;
+#endif
+
+/*
+ * BSD 4.4 defines the size of an ifreq to be
+ * max(sizeof(ifreq), sizeof(ifreq.ifr_name)+ifreq.ifr_addr.sa_len
+ * However, under earlier systems, sa_len isn't present, so the size is
+ * just sizeof(struct ifreq)
+ */
+#ifdef HAVE_SA_LEN
+#define ifreq_size(i) max(sizeof(struct ifreq),\
+ sizeof((i).ifr_name)+(i).ifr_addr.sa_len)
+#else
+#define ifreq_size(i) sizeof(struct ifreq)
+#endif /* HAVE_SA_LEN */
+
+ sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
+ if (sd < 0) {
+ return -1;
+ }
+ memset(buf, 0, sizeof(buf));
+ ifc.ifc_len = sizeof(buf);
+ ifc.ifc_buf = buf;
+ if (ioctl (sd, SIOCGIFCONF, (char *)&ifc) < 0) {
+ close(sd);
+ return -1;
+ }
+ n = ifc.ifc_len;
+ for (i = 0; i < n; i+= ifreq_size(*ifrp) ) {
+ ifrp = (struct ifreq *)((char *) ifc.ifc_buf+i);
+ strncpy(ifr.ifr_name, ifrp->ifr_name, IFNAMSIZ);
+#ifdef SIOCGIFHWADDR
+ if (ioctl(sd, SIOCGIFHWADDR, &ifr) < 0)
+ continue;
+ a = (unsigned char *) &ifr.ifr_hwaddr.sa_data;
+#else
+#ifdef SIOCGENADDR
+ if (ioctl(sd, SIOCGENADDR, &ifr) < 0)
+ continue;
+ a = (unsigned char *) ifr.ifr_enaddr;
+#else
+#ifdef HAVE_NET_IF_DL_H
+ sdlp = (struct sockaddr_dl *) &ifrp->ifr_addr;
+ if ((sdlp->sdl_family != AF_LINK) || (sdlp->sdl_alen != 6))
+ continue;
+ a = (unsigned char *) &sdlp->sdl_data[sdlp->sdl_nlen];
+#else
+ /*
+ * XXX we don't have a way of getting the hardware
+ * address
+ */
+ close(sd);
+ return 0;
+#endif /* HAVE_NET_IF_DL_H */
+#endif /* SIOCGENADDR */
+#endif /* SIOCGIFHWADDR */
+ if (!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5])
+ continue;
+ if (node_id) {
+ memcpy(node_id, a, 6);
+ close(sd);
+ return 1;
+ }
+ }
+ close(sd);
+#endif
+ return 0;
+}
+
+/* Assume that the gettimeofday() has microsecond granularity */
+#define MAX_ADJUSTMENT 10
+
+/*
+ * Get clock from global sequence clock counter.
+ *
+ * Return -1 if the clock counter could not be opened/locked (in this case
+ * pseudorandom value is returned in @ret_clock_seq), otherwise return 0.
+ */
+static int get_clock(uint32_t *clock_high, uint32_t *clock_low,
+ uint16_t *ret_clock_seq, int *num)
+{
+ THREAD_LOCAL int adjustment = 0;
+ THREAD_LOCAL struct timeval last = {0, 0};
+ THREAD_LOCAL int state_fd = -2;
+ THREAD_LOCAL FILE *state_f;
+ THREAD_LOCAL uint16_t clock_seq;
+ struct timeval tv;
+ uint64_t clock_reg;
+ mode_t save_umask;
+ int len;
+ int ret = 0;
+
+ if (state_fd == -2) {
+ save_umask = umask(0);
+ state_fd = open(LIBUUID_CLOCK_FILE, O_RDWR|O_CREAT, 0660);
+ (void) umask(save_umask);
+ if (state_fd != -1) {
+ state_f = fdopen(state_fd, "r+");
+ if (!state_f) {
+ close(state_fd);
+ state_fd = -1;
+ ret = -1;
+ }
+ }
+ else
+ ret = -1;
+ }
+ if (state_fd >= 0) {
+ rewind(state_f);
+ while (flock(state_fd, LOCK_EX) < 0) {
+ if ((errno == EAGAIN) || (errno == EINTR))
+ continue;
+ fclose(state_f);
+ close(state_fd);
+ state_fd = -1;
+ ret = -1;
+ break;
+ }
+ }
+ if (state_fd >= 0) {
+ unsigned int cl;
+ unsigned long tv1, tv2;
+ int a;
+
+ if (fscanf(state_f, "clock: %04x tv: %lu %lu adj: %d\n",
+ &cl, &tv1, &tv2, &a) == 4) {
+ clock_seq = cl & 0x3FFF;
+ last.tv_sec = tv1;
+ last.tv_usec = tv2;
+ adjustment = a;
+ }
+ }
+
+ if ((last.tv_sec == 0) && (last.tv_usec == 0)) {
+ random_get_bytes(&clock_seq, sizeof(clock_seq));
+ clock_seq &= 0x3FFF;
+ gettimeofday(&last, 0);
+ last.tv_sec--;
+ }
+
+try_again:
+ gettimeofday(&tv, 0);
+ if ((tv.tv_sec < last.tv_sec) ||
+ ((tv.tv_sec == last.tv_sec) &&
+ (tv.tv_usec < last.tv_usec))) {
+ clock_seq = (clock_seq+1) & 0x3FFF;
+ adjustment = 0;
+ last = tv;
+ } else if ((tv.tv_sec == last.tv_sec) &&
+ (tv.tv_usec == last.tv_usec)) {
+ if (adjustment >= MAX_ADJUSTMENT)
+ goto try_again;
+ adjustment++;
+ } else {
+ adjustment = 0;
+ last = tv;
+ }
+
+ clock_reg = tv.tv_usec*10 + adjustment;
+ clock_reg += ((uint64_t) tv.tv_sec)*10000000;
+ clock_reg += (((uint64_t) 0x01B21DD2) << 32) + 0x13814000;
+
+ if (num && (*num > 1)) {
+ adjustment += *num - 1;
+ last.tv_usec += adjustment / 10;
+ adjustment = adjustment % 10;
+ last.tv_sec += last.tv_usec / 1000000;
+ last.tv_usec = last.tv_usec % 1000000;
+ }
+
+ if (state_fd >= 0) {
+ rewind(state_f);
+ len = fprintf(state_f,
+ "clock: %04x tv: %016lu %08lu adj: %08d\n",
+ clock_seq, last.tv_sec, last.tv_usec, adjustment);
+ fflush(state_f);
+ if (ftruncate(state_fd, len) < 0) {
+ fprintf(state_f, " \n");
+ fflush(state_f);
+ }
+ rewind(state_f);
+ flock(state_fd, LOCK_UN);
+ }
+
+ *clock_high = clock_reg >> 32;
+ *clock_low = clock_reg;
+ *ret_clock_seq = clock_seq;
+ return ret;
+}
+
+#if defined(HAVE_UUIDD) && defined(HAVE_SYS_UN_H)
+/*
+ * Try using the uuidd daemon to generate the UUID
+ *
+ * Returns 0 on success, non-zero on failure.
+ */
+static int get_uuid_via_daemon(int op, uuid_t out, int *num)
+{
+ char op_buf[64];
+ int op_len;
+ int s;
+ ssize_t ret;
+ int32_t reply_len = 0, expected = 16;
+ struct sockaddr_un srv_addr;
+
+ if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
+ return -1;
+
+ srv_addr.sun_family = AF_UNIX;
+ strcpy(srv_addr.sun_path, UUIDD_SOCKET_PATH);
+
+ if (connect(s, (const struct sockaddr *) &srv_addr,
+ sizeof(struct sockaddr_un)) < 0)
+ goto fail;
+
+ op_buf[0] = op;
+ op_len = 1;
+ if (op == UUIDD_OP_BULK_TIME_UUID) {
+ memcpy(op_buf+1, num, sizeof(*num));
+ op_len += sizeof(*num);
+ expected += sizeof(*num);
+ }
+
+ ret = write(s, op_buf, op_len);
+ if (ret < 1)
+ goto fail;
+
+ ret = read_all(s, (char *) &reply_len, sizeof(reply_len));
+ if (ret < 0)
+ goto fail;
+
+ if (reply_len != expected)
+ goto fail;
+
+ ret = read_all(s, op_buf, reply_len);
+
+ if (op == UUIDD_OP_BULK_TIME_UUID)
+ memcpy(op_buf+16, num, sizeof(int));
+
+ memcpy(out, op_buf, 16);
+
+ close(s);
+ return ((ret == expected) ? 0 : -1);
+
+fail:
+ close(s);
+ return -1;
+}
+
+#else /* !defined(HAVE_UUIDD) && defined(HAVE_SYS_UN_H) */
+static int get_uuid_via_daemon(int op, uuid_t out, int *num)
+{
+ return -1;
+}
+#endif
+
+int __uuid_generate_time(uuid_t out, int *num)
+{
+ static unsigned char node_id[6];
+ static int has_init = 0;
+ struct uuid uu;
+ uint32_t clock_mid;
+ int ret;
+
+ if (!has_init) {
+ if (get_node_id(node_id) <= 0) {
+ random_get_bytes(node_id, 6);
+ /*
+ * Set multicast bit, to prevent conflicts
+ * with IEEE 802 addresses obtained from
+ * network cards
+ */
+ node_id[0] |= 0x01;
+ }
+ has_init = 1;
+ }
+ ret = get_clock(&clock_mid, &uu.time_low, &uu.clock_seq, num);
+ uu.clock_seq |= 0x8000;
+ uu.time_mid = (uint16_t) clock_mid;
+ uu.time_hi_and_version = ((clock_mid >> 16) & 0x0FFF) | 0x1000;
+ memcpy(uu.node, node_id, 6);
+ uuid_pack(&uu, out);
+ return ret;
+}
+
+/*
+ * Generate time-based UUID and store it to @out
+ *
+ * Tries to guarantee uniqueness of the generated UUIDs by obtaining them from the uuidd daemon,
+ * or, if uuidd is not usable, by using the global clock state counter (see get_clock()).
+ * If neither of these is possible (e.g. because of insufficient permissions), it generates
+ * the UUID anyway, but returns -1. Otherwise, returns 0.
+ */
+static int uuid_generate_time_generic(uuid_t out) {
+#ifdef HAVE_TLS
+ THREAD_LOCAL int num = 0;
+ THREAD_LOCAL struct uuid uu;
+ THREAD_LOCAL time_t last_time = 0;
+ time_t now;
+
+ if (num > 0) {
+ now = time(0);
+ if (now > last_time+1)
+ num = 0;
+ }
+ if (num <= 0) {
+ num = 1000;
+ if (get_uuid_via_daemon(UUIDD_OP_BULK_TIME_UUID,
+ out, &num) == 0) {
+ last_time = time(0);
+ uuid_unpack(out, &uu);
+ num--;
+ return 0;
+ }
+ num = 0;
+ }
+ if (num > 0) {
+ uu.time_low++;
+ if (uu.time_low == 0) {
+ uu.time_mid++;
+ if (uu.time_mid == 0)
+ uu.time_hi_and_version++;
+ }
+ num--;
+ uuid_pack(&uu, out);
+ return 0;
+ }
+#else
+ if (get_uuid_via_daemon(UUIDD_OP_TIME_UUID, out, 0) == 0)
+ return 0;
+#endif
+
+ return __uuid_generate_time(out, 0);
+}
+
+/*
+ * Generate time-based UUID and store it to @out.
+ *
+ * Discards return value from uuid_generate_time_generic()
+ */
+void uuid_generate_time(uuid_t out)
+{
+ (void)uuid_generate_time_generic(out);
+}
+
+
+int uuid_generate_time_safe(uuid_t out)
+{
+ return uuid_generate_time_generic(out);
+}
+
+
+void __uuid_generate_random(uuid_t out, int *num)
+{
+ uuid_t buf;
+ struct uuid uu;
+ int i, n;
+
+ if (!num || !*num)
+ n = 1;
+ else
+ n = *num;
+
+ for (i = 0; i < n; i++) {
+ random_get_bytes(buf, sizeof(buf));
+ uuid_unpack(buf, &uu);
+
+ uu.clock_seq = (uu.clock_seq & 0x3FFF) | 0x8000;
+ uu.time_hi_and_version = (uu.time_hi_and_version & 0x0FFF)
+ | 0x4000;
+ uuid_pack(&uu, out);
+ out += sizeof(uuid_t);
+ }
+}
+
+void uuid_generate_random(uuid_t out)
+{
+ int num = 1;
+ /* No real reason to use the daemon for random uuid's -- yet */
+
+ __uuid_generate_random(out, &num);
+}
+
+/*
+ * Check whether good random source (/dev/random or /dev/urandom)
+ * is available.
+ */
+static int have_random_source(void)
+{
+ struct stat s;
+
+ return (!stat("/dev/random", &s) || !stat("/dev/urandom", &s));
+}
+
+
+/*
+ * This is the generic front-end to uuid_generate_random and
+ * uuid_generate_time. It uses uuid_generate_random only if
+ * /dev/urandom is available, since otherwise we won't have
+ * high-quality randomness.
+ */
+void uuid_generate(uuid_t out)
+{
+ if (have_random_source())
+ uuid_generate_random(out);
+ else
+ uuid_generate_time(out);
+}
diff --git a/libuuid/src/isnull.c b/libuuid/src/isnull.c
new file mode 100644
index 0000000..931e7e7
--- /dev/null
+++ b/libuuid/src/isnull.c
@@ -0,0 +1,48 @@
+/*
+ * isnull.c --- Check whether or not the UUID is null
+ *
+ * Copyright (C) 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#include "uuidP.h"
+
+/* Returns 1 if the uuid is the NULL uuid */
+int uuid_is_null(const uuid_t uu)
+{
+ const unsigned char *cp;
+ int i;
+
+ for (i=0, cp = uu; i < 16; i++)
+ if (*cp++)
+ return 0;
+ return 1;
+}
+
diff --git a/libuuid/src/pack.c b/libuuid/src/pack.c
new file mode 100644
index 0000000..6e12476
--- /dev/null
+++ b/libuuid/src/pack.c
@@ -0,0 +1,69 @@
+/*
+ * Internal routine for packing UUIDs
+ *
+ * Copyright (C) 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#include <string.h>
+#include "uuidP.h"
+
+void uuid_pack(const struct uuid *uu, uuid_t ptr)
+{
+ uint32_t tmp;
+ unsigned char *out = ptr;
+
+ tmp = uu->time_low;
+ out[3] = (unsigned char) tmp;
+ tmp >>= 8;
+ out[2] = (unsigned char) tmp;
+ tmp >>= 8;
+ out[1] = (unsigned char) tmp;
+ tmp >>= 8;
+ out[0] = (unsigned char) tmp;
+
+ tmp = uu->time_mid;
+ out[5] = (unsigned char) tmp;
+ tmp >>= 8;
+ out[4] = (unsigned char) tmp;
+
+ tmp = uu->time_hi_and_version;
+ out[7] = (unsigned char) tmp;
+ tmp >>= 8;
+ out[6] = (unsigned char) tmp;
+
+ tmp = uu->clock_seq;
+ out[9] = (unsigned char) tmp;
+ tmp >>= 8;
+ out[8] = (unsigned char) tmp;
+
+ memcpy(out+10, uu->node, 6);
+}
+
diff --git a/libuuid/src/parse.c b/libuuid/src/parse.c
new file mode 100644
index 0000000..074383e
--- /dev/null
+++ b/libuuid/src/parse.c
@@ -0,0 +1,79 @@
+/*
+ * parse.c --- UUID parsing
+ *
+ * Copyright (C) 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+
+#include "uuidP.h"
+
+int uuid_parse(const char *in, uuid_t uu)
+{
+ struct uuid uuid;
+ int i;
+ const char *cp;
+ char buf[3];
+
+ if (strlen(in) != 36)
+ return -1;
+ for (i=0, cp = in; i <= 36; i++,cp++) {
+ if ((i == 8) || (i == 13) || (i == 18) ||
+ (i == 23)) {
+ if (*cp == '-')
+ continue;
+ else
+ return -1;
+ }
+ if (i== 36)
+ if (*cp == 0)
+ continue;
+ if (!isxdigit(*cp))
+ return -1;
+ }
+ uuid.time_low = strtoul(in, NULL, 16);
+ uuid.time_mid = strtoul(in+9, NULL, 16);
+ uuid.time_hi_and_version = strtoul(in+14, NULL, 16);
+ uuid.clock_seq = strtoul(in+19, NULL, 16);
+ cp = in+24;
+ buf[2] = 0;
+ for (i=0; i < 6; i++) {
+ buf[0] = *cp++;
+ buf[1] = *cp++;
+ uuid.node[i] = strtoul(buf, NULL, 16);
+ }
+
+ uuid_pack(&uuid, uu);
+ return 0;
+}
diff --git a/libuuid/src/test_uuid.c b/libuuid/src/test_uuid.c
new file mode 100644
index 0000000..e03138f
--- /dev/null
+++ b/libuuid/src/test_uuid.c
@@ -0,0 +1,180 @@
+/*
+ * tst_uuid.c --- test program from the UUID library
+ *
+ * Copyright (C) 1996, 1997, 1998 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#ifdef _WIN32
+#define _WIN32_WINNT 0x0500
+#include <windows.h>
+#define UUID MYUUID
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "uuid.h"
+
+static int test_uuid(const char * uuid, int isValid)
+{
+ static const char * validStr[2] = {"invalid", "valid"};
+ uuid_t uuidBits;
+ int parsedOk;
+
+ parsedOk = uuid_parse(uuid, uuidBits) == 0;
+
+ printf("%s is %s", uuid, validStr[isValid]);
+ if (parsedOk != isValid) {
+ printf(" but uuid_parse says %s\n", validStr[parsedOk]);
+ return 1;
+ }
+ printf(", OK\n");
+ return 0;
+}
+
+#ifdef __GNUC__
+#define ATTR(x) __attribute__(x)
+#else
+#define ATTR(x)
+#endif
+
+int
+main(int argc ATTR((unused)) , char **argv ATTR((unused)))
+{
+ uuid_t buf, tst;
+ char str[100];
+ struct timeval tv;
+ time_t time_reg;
+ unsigned char *cp;
+ int i;
+ int failed = 0;
+ int type, variant;
+
+ uuid_generate(buf);
+ uuid_unparse(buf, str);
+ printf("UUID generate = %s\n", str);
+ printf("UUID: ");
+ for (i=0, cp = (unsigned char *) &buf; i < 16; i++) {
+ printf("%02x", *cp++);
+ }
+ printf("\n");
+ type = uuid_type(buf); variant = uuid_variant(buf);
+ printf("UUID type = %d, UUID variant = %d\n", type, variant);
+ if (variant != UUID_VARIANT_DCE) {
+ printf("Incorrect UUID Variant; was expecting DCE!\n");
+ failed++;
+ }
+ printf("\n");
+
+ uuid_generate_random(buf);
+ uuid_unparse(buf, str);
+ printf("UUID random string = %s\n", str);
+ printf("UUID: ");
+ for (i=0, cp = (unsigned char *) &buf; i < 16; i++) {
+ printf("%02x", *cp++);
+ }
+ printf("\n");
+ type = uuid_type(buf); variant = uuid_variant(buf);
+ printf("UUID type = %d, UUID variant = %d\n", type, variant);
+ if (variant != UUID_VARIANT_DCE) {
+ printf("Incorrect UUID Variant; was expecting DCE!\n");
+ failed++;
+ }
+ if (type != 4) {
+ printf("Incorrect UUID type; was expecting "
+ "4 (random type)!\n");
+ failed++;
+ }
+ printf("\n");
+
+ uuid_generate_time(buf);
+ uuid_unparse(buf, str);
+ printf("UUID string = %s\n", str);
+ printf("UUID time: ");
+ for (i=0, cp = (unsigned char *) &buf; i < 16; i++) {
+ printf("%02x", *cp++);
+ }
+ printf("\n");
+ type = uuid_type(buf); variant = uuid_variant(buf);
+ printf("UUID type = %d, UUID variant = %d\n", type, variant);
+ if (variant != UUID_VARIANT_DCE) {
+ printf("Incorrect UUID Variant; was expecting DCE!\n");
+ failed++;
+ }
+ if (type != 1) {
+ printf("Incorrect UUID type; was expecting "
+ "1 (time-based type)!\\n");
+ failed++;
+ }
+ tv.tv_sec = 0;
+ tv.tv_usec = 0;
+ time_reg = uuid_time(buf, &tv);
+ printf("UUID time is: (%ld, %ld): %s\n", tv.tv_sec, tv.tv_usec,
+ ctime(&time_reg));
+ uuid_parse(str, tst);
+ if (!uuid_compare(buf, tst))
+ printf("UUID parse and compare succeeded.\n");
+ else {
+ printf("UUID parse and compare failed!\n");
+ failed++;
+ }
+ uuid_clear(tst);
+ if (uuid_is_null(tst))
+ printf("UUID clear and is null succeeded.\n");
+ else {
+ printf("UUID clear and is null failed!\n");
+ failed++;
+ }
+ uuid_copy(buf, tst);
+ if (!uuid_compare(buf, tst))
+ printf("UUID copy and compare succeeded.\n");
+ else {
+ printf("UUID copy and compare failed!\n");
+ failed++;
+ }
+ failed += test_uuid("84949cc5-4701-4a84-895b-354c584a981b", 1);
+ failed += test_uuid("84949CC5-4701-4A84-895B-354C584A981B", 1);
+ failed += test_uuid("84949cc5-4701-4a84-895b-354c584a981bc", 0);
+ failed += test_uuid("84949cc5-4701-4a84-895b-354c584a981", 0);
+ failed += test_uuid("84949cc5x4701-4a84-895b-354c584a981b", 0);
+ failed += test_uuid("84949cc504701-4a84-895b-354c584a981b", 0);
+ failed += test_uuid("84949cc5-470104a84-895b-354c584a981b", 0);
+ failed += test_uuid("84949cc5-4701-4a840895b-354c584a981b", 0);
+ failed += test_uuid("84949cc5-4701-4a84-895b0354c584a981b", 0);
+ failed += test_uuid("g4949cc5-4701-4a84-895b-354c584a981b", 0);
+ failed += test_uuid("84949cc5-4701-4a84-895b-354c584a981g", 0);
+
+ if (failed) {
+ printf("%d failures.\n", failed);
+ exit(1);
+ }
+ return 0;
+}
diff --git a/libuuid/src/unpack.c b/libuuid/src/unpack.c
new file mode 100644
index 0000000..beaaff3
--- /dev/null
+++ b/libuuid/src/unpack.c
@@ -0,0 +1,63 @@
+/*
+ * Internal routine for unpacking UUID
+ *
+ * Copyright (C) 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#include <string.h>
+#include "uuidP.h"
+
+void uuid_unpack(const uuid_t in, struct uuid *uu)
+{
+ const uint8_t *ptr = in;
+ uint32_t tmp;
+
+ tmp = *ptr++;
+ tmp = (tmp << 8) | *ptr++;
+ tmp = (tmp << 8) | *ptr++;
+ tmp = (tmp << 8) | *ptr++;
+ uu->time_low = tmp;
+
+ tmp = *ptr++;
+ tmp = (tmp << 8) | *ptr++;
+ uu->time_mid = tmp;
+
+ tmp = *ptr++;
+ tmp = (tmp << 8) | *ptr++;
+ uu->time_hi_and_version = tmp;
+
+ tmp = *ptr++;
+ tmp = (tmp << 8) | *ptr++;
+ uu->clock_seq = tmp;
+
+ memcpy(uu->node, ptr, 6);
+}
+
diff --git a/libuuid/src/unparse.c b/libuuid/src/unparse.c
new file mode 100644
index 0000000..a95bbb0
--- /dev/null
+++ b/libuuid/src/unparse.c
@@ -0,0 +1,76 @@
+/*
+ * unparse.c -- convert a UUID to string
+ *
+ * Copyright (C) 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#include <stdio.h>
+
+#include "uuidP.h"
+
+static const char *fmt_lower =
+ "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x";
+
+static const char *fmt_upper =
+ "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X";
+
+#ifdef UUID_UNPARSE_DEFAULT_UPPER
+#define FMT_DEFAULT fmt_upper
+#else
+#define FMT_DEFAULT fmt_lower
+#endif
+
+static void uuid_unparse_x(const uuid_t uu, char *out, const char *fmt)
+{
+ struct uuid uuid;
+
+ uuid_unpack(uu, &uuid);
+ sprintf(out, fmt,
+ uuid.time_low, uuid.time_mid, uuid.time_hi_and_version,
+ uuid.clock_seq >> 8, uuid.clock_seq & 0xFF,
+ uuid.node[0], uuid.node[1], uuid.node[2],
+ uuid.node[3], uuid.node[4], uuid.node[5]);
+}
+
+void uuid_unparse_lower(const uuid_t uu, char *out)
+{
+ uuid_unparse_x(uu, out, fmt_lower);
+}
+
+void uuid_unparse_upper(const uuid_t uu, char *out)
+{
+ uuid_unparse_x(uu, out, fmt_upper);
+}
+
+void uuid_unparse(const uuid_t uu, char *out)
+{
+ uuid_unparse_x(uu, out, FMT_DEFAULT);
+}
diff --git a/libuuid/src/uuid.h b/libuuid/src/uuid.h
new file mode 100644
index 0000000..874d65a
--- /dev/null
+++ b/libuuid/src/uuid.h
@@ -0,0 +1,104 @@
+/*
+ * Public include file for the UUID library
+ *
+ * Copyright (C) 1996, 1997, 1998 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#ifndef _UUID_UUID_H
+#define _UUID_UUID_H
+
+#include <sys/types.h>
+#ifndef _WIN32
+#include <sys/time.h>
+#endif
+#include <time.h>
+
+typedef unsigned char uuid_t[16];
+
+/* UUID Variant definitions */
+#define UUID_VARIANT_NCS 0
+#define UUID_VARIANT_DCE 1
+#define UUID_VARIANT_MICROSOFT 2
+#define UUID_VARIANT_OTHER 3
+
+/* UUID Type definitions */
+#define UUID_TYPE_DCE_TIME 1
+#define UUID_TYPE_DCE_RANDOM 4
+
+/* Allow UUID constants to be defined */
+#ifdef __GNUC__
+#define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \
+ static const uuid_t name __attribute__ ((unused)) = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}
+#else
+#define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \
+ static const uuid_t name = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* clear.c */
+void uuid_clear(uuid_t uu);
+
+/* compare.c */
+int uuid_compare(const uuid_t uu1, const uuid_t uu2);
+
+/* copy.c */
+void uuid_copy(uuid_t dst, const uuid_t src);
+
+/* gen_uuid.c */
+void uuid_generate(uuid_t out);
+void uuid_generate_random(uuid_t out);
+void uuid_generate_time(uuid_t out);
+int uuid_generate_time_safe(uuid_t out);
+
+/* isnull.c */
+int uuid_is_null(const uuid_t uu);
+
+/* parse.c */
+int uuid_parse(const char *in, uuid_t uu);
+
+/* unparse.c */
+void uuid_unparse(const uuid_t uu, char *out);
+void uuid_unparse_lower(const uuid_t uu, char *out);
+void uuid_unparse_upper(const uuid_t uu, char *out);
+
+/* uuid_time.c */
+time_t uuid_time(const uuid_t uu, struct timeval *ret_tv);
+int uuid_type(const uuid_t uu);
+int uuid_variant(const uuid_t uu);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UUID_UUID_H */
diff --git a/libuuid/src/uuid.sym b/libuuid/src/uuid.sym
new file mode 100644
index 0000000..2cad51b
--- /dev/null
+++ b/libuuid/src/uuid.sym
@@ -0,0 +1,46 @@
+/*
+ * The symbol versioning ensures that a new application requiring symbol foo()
+ * can't run with old libuuid.so not providing foo() - the global SONAME
+ * version info can't enforce this since we never change the SONAME.
+ *
+ * The original libuuid from e2fsprogs (<=1.41.5) does not to use
+ * symbol versioning -- all the original symbols are in UUID_1.0 now.
+ */
+UUID_1.0 {
+global:
+ uuid_clear;
+ uuid_compare;
+ uuid_copy;
+ uuid_generate;
+ uuid_generate_random;
+ uuid_generate_time;
+ uuid_is_null;
+ uuid_parse;
+ uuid_unparse;
+ uuid_unparse_lower;
+ uuid_unparse_upper;
+ uuid_time;
+ uuid_type;
+ uuid_variant;
+};
+
+/*
+ * version(s) since util-linux 2.20
+ */
+UUID_2.20 {
+global:
+ uuid_generate_time_safe;
+} UUID_1.0;
+
+
+/*
+ * __uuid_* this is not part of the official API, this is
+ * uuidd (uuid daemon) specific stuff. Hell.
+ */
+UUIDD_PRIVATE {
+global:
+ __uuid_generate_time;
+ __uuid_generate_random;
+local:
+ *;
+};
diff --git a/libuuid/src/uuidP.h b/libuuid/src/uuidP.h
new file mode 100644
index 0000000..86a5e26
--- /dev/null
+++ b/libuuid/src/uuidP.h
@@ -0,0 +1,61 @@
+/*
+ * uuid.h -- private header file for uuids
+ *
+ * Copyright (C) 1996, 1997 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#include <inttypes.h>
+#include <sys/types.h>
+
+#include "uuid.h"
+
+#define LIBUUID_CLOCK_FILE "/var/lib/libuuid/clock.txt"
+
+/*
+ * Offset between 15-Oct-1582 and 1-Jan-70
+ */
+#define TIME_OFFSET_HIGH 0x01B21DD2
+#define TIME_OFFSET_LOW 0x13814000
+
+struct uuid {
+ uint32_t time_low;
+ uint16_t time_mid;
+ uint16_t time_hi_and_version;
+ uint16_t clock_seq;
+ uint8_t node[6];
+};
+
+
+/*
+ * prototypes
+ */
+void uuid_pack(const struct uuid *uu, uuid_t ptr);
+void uuid_unpack(const uuid_t in, struct uuid *uu);
diff --git a/libuuid/src/uuid_time.c b/libuuid/src/uuid_time.c
new file mode 100644
index 0000000..f25f5c9
--- /dev/null
+++ b/libuuid/src/uuid_time.c
@@ -0,0 +1,171 @@
+/*
+ * uuid_time.c --- Interpret the time field from a uuid. This program
+ * violates the UUID abstraction barrier by reaching into the guts
+ * of a UUID and interpreting it.
+ *
+ * Copyright (C) 1998, 1999 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#ifdef _WIN32
+#define _WIN32_WINNT 0x0500
+#include <windows.h>
+#define UUID MYUUID
+#endif
+
+#include <stdio.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <time.h>
+
+#include "uuidP.h"
+
+time_t uuid_time(const uuid_t uu, struct timeval *ret_tv)
+{
+ struct timeval tv;
+ struct uuid uuid;
+ uint32_t high;
+ uint64_t clock_reg;
+
+ uuid_unpack(uu, &uuid);
+
+ high = uuid.time_mid | ((uuid.time_hi_and_version & 0xFFF) << 16);
+ clock_reg = uuid.time_low | ((uint64_t) high << 32);
+
+ clock_reg -= (((uint64_t) 0x01B21DD2) << 32) + 0x13814000;
+ tv.tv_sec = clock_reg / 10000000;
+ tv.tv_usec = (clock_reg % 10000000) / 10;
+
+ if (ret_tv)
+ *ret_tv = tv;
+
+ return tv.tv_sec;
+}
+
+int uuid_type(const uuid_t uu)
+{
+ struct uuid uuid;
+
+ uuid_unpack(uu, &uuid);
+ return ((uuid.time_hi_and_version >> 12) & 0xF);
+}
+
+int uuid_variant(const uuid_t uu)
+{
+ struct uuid uuid;
+ int var;
+
+ uuid_unpack(uu, &uuid);
+ var = uuid.clock_seq;
+
+ if ((var & 0x8000) == 0)
+ return UUID_VARIANT_NCS;
+ if ((var & 0x4000) == 0)
+ return UUID_VARIANT_DCE;
+ if ((var & 0x2000) == 0)
+ return UUID_VARIANT_MICROSOFT;
+ return UUID_VARIANT_OTHER;
+}
+
+#ifdef DEBUG
+static const char *variant_string(int variant)
+{
+ switch (variant) {
+ case UUID_VARIANT_NCS:
+ return "NCS";
+ case UUID_VARIANT_DCE:
+ return "DCE";
+ case UUID_VARIANT_MICROSOFT:
+ return "Microsoft";
+ default:
+ return "Other";
+ }
+}
+
+
+int
+main(int argc, char **argv)
+{
+ uuid_t buf;
+ time_t time_reg;
+ struct timeval tv;
+ int type, variant;
+
+ if (argc != 2) {
+ fprintf(stderr, "Usage: %s uuid\n", argv[0]);
+ exit(1);
+ }
+ if (uuid_parse(argv[1], buf)) {
+ fprintf(stderr, "Invalid UUID: %s\n", argv[1]);
+ exit(1);
+ }
+ variant = uuid_variant(buf);
+ type = uuid_type(buf);
+ time_reg = uuid_time(buf, &tv);
+
+ printf("UUID variant is %d (%s)\n", variant, variant_string(variant));
+ if (variant != UUID_VARIANT_DCE) {
+ printf("Warning: This program only knows how to interpret "
+ "DCE UUIDs.\n\tThe rest of the output is likely "
+ "to be incorrect!!\n");
+ }
+ printf("UUID type is %d", type);
+ switch (type) {
+ case 1:
+ printf(" (time based)\n");
+ break;
+ case 2:
+ printf(" (DCE)\n");
+ break;
+ case 3:
+ printf(" (name-based)\n");
+ break;
+ case 4:
+ printf(" (random)\n");
+ break;
+ default:
+ printf("\n");
+ }
+ if (type != 1) {
+ printf("Warning: not a time-based UUID, so UUID time "
+ "decoding will likely not work!\n");
+ }
+ printf("UUID time is: (%ld, %ld): %s\n", tv.tv_sec, tv.tv_usec,
+ ctime(&time_reg));
+
+ return 0;
+}
+#endif
diff --git a/libuuid/src/uuidd.h b/libuuid/src/uuidd.h
new file mode 100644
index 0000000..2f70968
--- /dev/null
+++ b/libuuid/src/uuidd.h
@@ -0,0 +1,54 @@
+/*
+ * Definitions used by the uuidd daemon
+ *
+ * Copyright (C) 2007 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, and the entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ * %End-Header%
+ */
+
+#ifndef _UUID_UUIDD_H
+#define _UUID_UUIDD_H
+
+#define UUIDD_DIR _PATH_LOCALSTATEDIR "/uuidd"
+#define UUIDD_SOCKET_PATH UUIDD_DIR "/request"
+#define UUIDD_PIDFILE_PATH UUIDD_DIR "/uuidd.pid"
+#define UUIDD_PATH "/usr/sbin/uuidd"
+
+#define UUIDD_OP_GETPID 0
+#define UUIDD_OP_GET_MAXOP 1
+#define UUIDD_OP_TIME_UUID 2
+#define UUIDD_OP_RANDOM_UUID 3
+#define UUIDD_OP_BULK_TIME_UUID 4
+#define UUIDD_OP_BULK_RANDOM_UUID 5
+#define UUIDD_MAX_OP UUIDD_OP_BULK_RANDOM_UUID
+
+extern int __uuid_generate_time(uuid_t out, int *num);
+extern void __uuid_generate_random(uuid_t out, int *num);
+
+#endif /* _UUID_UUID_H */
diff --git a/libuuid/uuid.pc.in b/libuuid/uuid.pc.in
new file mode 100644
index 0000000..875de19
--- /dev/null
+++ b/libuuid/uuid.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@usrlib_execdir@
+includedir=@includedir@
+
+Name: uuid
+Description: Universally unique id library
+Version: @LIBUUID_VERSION@
+Requires:
+Cflags: -I${includedir}/uuid
+Libs: -L${libdir} -luuid
diff --git a/login-utils/Makemodule.am b/login-utils/Makemodule.am
new file mode 100644
index 0000000..41e32aa
--- /dev/null
+++ b/login-utils/Makemodule.am
@@ -0,0 +1,146 @@
+
+if BUILD_LAST
+usrbin_exec_PROGRAMS += last
+dist_man_MANS += login-utils/last.1
+last_SOURCES = login-utils/last.c
+endif
+
+if BUILD_SULOGIN
+sbin_PROGRAMS += sulogin
+dist_man_MANS += login-utils/sulogin.8
+sulogin_SOURCES = \
+ login-utils/sulogin.c
+sulogin_LDADD = $(LDADD) libcommon.la
+if HAVE_LIBCRYPT
+sulogin_LDADD += -lcrypt
+endif
+if HAVE_SELINUX
+sulogin_LDADD += -lselinux
+endif
+endif # BUILD_SULOGIN
+
+
+if BUILD_LOGIN
+bin_PROGRAMS += login
+dist_man_MANS += login-utils/login.1
+login_SOURCES = \
+ login-utils/login.c \
+ login-utils/logindefs.c \
+ login-utils/logindefs.h
+login_LDADD = $(LDADD) libcommon.la -lpam -lpam_misc
+if HAVE_AUDIT
+login_LDADD += -laudit
+endif
+if HAVE_SELINUX
+login_LDADD += -lselinux
+endif
+endif # BUILD_LOGIN
+
+
+if BUILD_UTMPDUMP
+usrbin_exec_PROGRAMS += utmpdump
+dist_man_MANS += login-utils/utmpdump.1
+utmpdump_SOURCES = login-utils/utmpdump.c
+endif
+
+
+if BUILD_CHFN_CHSH
+usrbin_exec_PROGRAMS += chfn chsh
+dist_man_MANS += \
+ login-utils/chfn.1 \
+ login-utils/chsh.1
+
+chfn_chsh_sources = \
+ login-utils/islocal.c \
+ login-utils/islocal.h \
+ login-utils/setpwnam.c \
+ login-utils/setpwnam.h
+chfn_chsh_cflags = $(SUID_CFLAGS) $(AM_CFLAGS)
+chfn_chsh_ldflags = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+chfn_chsh_ldadd = libcommon.la -lpam -lpam_misc
+
+if HAVE_SELINUX
+chfn_chsh_sources += \
+ login-utils/selinux_utils.c \
+ login-utils/selinux_utils.h
+chfn_chsh_ldadd += -lselinux
+endif
+
+chfn_SOURCES = login-utils/chfn.c $(chfn_chsh_sources)
+chfn_CFLAGS = $(chfn_chsh_cflags)
+chfn_LDFLAGS = $(chfn_chsh_ldflags)
+chfn_LDADD = $(LDADD) $(chfn_chsh_ldadd)
+
+chsh_SOURCES = login-utils/chsh.c $(chfn_chsh_sources)
+chsh_CFLAGS = $(chfn_chsh_cflags)
+chsh_LDFLAGS = $(chfn_chsh_ldflags)
+chsh_LDADD = $(LDADD) $(chfn_chsh_ldadd)
+endif # BUILD_CHFN_CHSH
+
+
+if BUILD_SU
+bin_PROGRAMS += su
+su_SOURCES = \
+ login-utils/su.c \
+ login-utils/logindefs.c \
+ login-utils/logindefs.h
+su_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+su_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+su_LDADD = $(LDADD) -lpam -lpam_misc
+endif
+
+
+if BUILD_NEWGRP
+usrbin_exec_PROGRAMS += newgrp
+dist_man_MANS += login-utils/newgrp.1
+newgrp_SOURCES = login-utils/newgrp.c
+newgrp_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+newgrp_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+newgrp_LDADD = $(LDADD)
+if HAVE_LIBCRYPT
+newgrp_LDADD += -lcrypt
+endif
+endif # BUILD_NEWGRP
+
+
+if BUILD_VIPW
+usrsbin_exec_PROGRAMS += vipw
+dist_man_MANS += \
+ login-utils/vigr.8 \
+ login-utils/vipw.8
+vipw_SOURCES = \
+ login-utils/vipw.c \
+ login-utils/setpwnam.h
+vipw_LDADD = $(LDADD) libcommon.la
+if HAVE_SELINUX
+vipw_LDADD += -lselinux
+endif
+install-exec-hook-vipw::
+ cd $(DESTDIR)$(usrsbin_execdir) && ln -sf vipw vigr
+
+INSTALL_EXEC_HOOKS += install-exec-hook-vipw
+endif # BUILD_VIPW
+
+
+check_PROGRAMS += \
+ test_islocal \
+ test_logindefs
+
+test_islocal_SOURCES = login-utils/islocal.c
+test_islocal_CPPFLAGS = -DTEST_PROGRAM $(AM_CPPFLAGS)
+
+test_logindefs_SOURCES = \
+ login-utils/logindefs.c \
+ login-utils/logindefs.h
+test_logindefs_CPPFLAGS = -DTEST_PROGRAM $(AM_CPPFLAGS)
+
+
+install-exec-hook:
+if BUILD_SU
+if MAKEINSTALL_DO_SETUID
+ chmod 4755 $(DESTDIR)$(bindir)/su
+endif
+endif
+if BUILD_VIPW
+ cd $(DESTDIR)$(usrsbin_execdir) && ln -sf vipw vigr
+endif
diff --git a/login-utils/chfn.1 b/login-utils/chfn.1
new file mode 100644
index 0000000..5329408
--- /dev/null
+++ b/login-utils/chfn.1
@@ -0,0 +1,82 @@
+.\"
+.\" chfn.1 -- change your finger information
+.\" (c) 1994 by salvatore valente <svalente@athena.mit.edu>
+.\"
+.\" this program is free software. you can redistribute it and
+.\" modify it under the terms of the gnu general public license.
+.\" there is no warranty.
+.\"
+.\" $Author: faith $
+.\" $Revision: 1.1 $
+.\" $Date: 1995/03/12 01:29:16 $
+.\"
+.TH CHFN 1 "July 2009" "util-linux" "User Commands"
+.SH NAME
+chfn \- change your finger information
+.SH SYNOPSIS
+.B chfn
+.RB [ \-f
+.IR full-name ]
+.RB [ \-o
+.IR office ]
+,RB [ \-p
+.IR office-phone ]
+.RB [ \-h
+.IR home-phone ]
+.BR \-u ]
+.RB [ \-v ]
+.RI [ username ]
+.SH DESCRIPTION
+.B chfn
+is used to change your finger information. This information is
+stored in the
+.I /etc/passwd
+file, and is displayed by the
+.B finger
+program. The Linux
+.B finger
+command will display four pieces of information that can be changed by
+.BR chfn :
+your real name, your work room and phone, and your home phone.
+
+.B chfn
+is used to change local entries only. Use ypchfn, lchfn or any other
+implementation for non-local entries.
+.SS COMMAND LINE
+Any of the four pieces of information can be specified on the command
+line. If no information is given on the command line,
+.B chfn
+enters interactive mode.
+.SS INTERACTIVE MODE
+In interactive mode,
+.B chfn
+will prompt for each field. At a prompt, you can enter the new information,
+or just press return to leave the field unchanged. Enter the keyword
+"none" to make the field blank.
+.SH OPTIONS
+.TP
+.BI "\-f, \-\-full-name " full-name
+Specify your real name.
+.TP
+.BI "\-o, \-\-office " office
+Specify your office room number.
+.TP
+.BI "\-p, \-\-office-phone " office-phone
+Specify your office phone number.
+.TP
+.BI "\-h, \-\-home-phone " home-phone
+Specify your home phone number.
+.TP
+.B "\-u, \-\-help"
+Print a usage message and exit.
+.TP
+.B "-v, \-\-version"
+Print version information and exit.
+.SH "SEE ALSO"
+.BR finger (1),
+.BR passwd (5)
+.SH AUTHOR
+Salvatore Valente <svalente@mit.edu>
+.SH AVAILABILITY
+The chfn command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/login-utils/chfn.c b/login-utils/chfn.c
new file mode 100644
index 0000000..02014c7
--- /dev/null
+++ b/login-utils/chfn.c
@@ -0,0 +1,486 @@
+/*
+ * chfn.c -- change your finger information
+ * (c) 1994 by salvatore valente <svalente@athena.mit.edu>
+ *
+ * this program is free software. you can redistribute it and
+ * modify it under the terms of the gnu general public license.
+ * there is no warranty.
+ *
+ * $Author: aebr $
+ * $Revision: 1.18 $
+ * $Date: 1998/06/11 22:30:11 $
+ *
+ * Updated Thu Oct 12 09:19:26 1995 by faith@cs.unc.edu with security
+ * patches from Zefram <A.Main@dcs.warwick.ac.uk>
+ *
+ * Hacked by Peter Breitenlohner, peb@mppmu.mpg.de,
+ * to remove trailing empty fields. Oct 5, 96.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <ctype.h>
+#include <errno.h>
+#include <getopt.h>
+#include <pwd.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "env.h"
+#include "closestream.h"
+#include "islocal.h"
+#include "nls.h"
+#include "pamfail.h"
+#include "setpwnam.h"
+#include "strutils.h"
+#include "xalloc.h"
+
+#ifdef HAVE_LIBSELINUX
+# include <selinux/selinux.h>
+# include <selinux/av_permissions.h>
+# include "selinux_utils.h"
+#endif
+
+static char buf[1024];
+
+struct finfo {
+ struct passwd *pw;
+ char *username;
+ char *full_name;
+ char *office;
+ char *office_phone;
+ char *home_phone;
+ char *other;
+};
+
+static int parse_argv(int argc, char *argv[], struct finfo *pinfo);
+static void parse_passwd(struct passwd *pw, struct finfo *pinfo);
+static void ask_info(struct finfo *oldfp, struct finfo *newfp);
+static char *prompt(char *question, char *def_val);
+static int check_gecos_string(char *msg, char *gecos);
+static int set_changed_data(struct finfo *oldfp, struct finfo *newfp);
+static int save_new_data(struct finfo *pinfo);
+
+/* we do not accept gecos field sizes longer than MAX_FIELD_SIZE */
+#define MAX_FIELD_SIZE 256
+
+static void __attribute__((__noreturn__)) usage(FILE *fp)
+{
+ fputs(USAGE_HEADER, fp);
+ fprintf(fp, _(" %s [options] [username]\n"), program_invocation_short_name);
+ fputs(USAGE_OPTIONS, fp);
+ fputs(_(" -f, --full-name <full-name> real name\n"), fp);
+ fputs(_(" -o, --office <office> office number\n"), fp);
+ fputs(_(" -p, --office-phone <phone> office phone number\n"), fp);
+ fputs(_(" -h, --home-phone <phone> home phone number\n"), fp);
+ fputs(USAGE_SEPARATOR, fp);
+ fputs(_(" -u, --help display this help and exit\n"), fp);
+ fputs(_(" -v, --version output version information and exit\n"), fp);
+ fprintf(fp, USAGE_MAN_TAIL("chfn(1)"));
+ exit(fp == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ uid_t uid;
+ struct finfo oldf, newf;
+ int interactive;
+ int status;
+
+ sanitize_env();
+ setlocale(LC_ALL, ""); /* both for messages and for iscntrl() below */
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ /*
+ * "oldf" contains the users original finger information.
+ * "newf" contains the changed finger information, and contains NULL
+ * in fields that haven't been changed.
+ * in the end, "newf" is folded into "oldf".
+ *
+ * the reason the new finger information is not put _immediately_
+ * into "oldf" is that on the command line, new finger information
+ * can be specified before we know what user the information is
+ * being specified for.
+ */
+ uid = getuid();
+ memset(&oldf, 0, sizeof(oldf));
+ memset(&newf, 0, sizeof(newf));
+
+ interactive = parse_argv(argc, argv, &newf);
+ if (!newf.username) {
+ parse_passwd(getpwuid(uid), &oldf);
+ if (!oldf.username)
+ errx(EXIT_FAILURE, _("you (user %d) don't exist."),
+ uid);
+ } else {
+ parse_passwd(getpwnam(newf.username), &oldf);
+ if (!oldf.username)
+ errx(EXIT_FAILURE, _("user \"%s\" does not exist."),
+ newf.username);
+ }
+
+ if (!(is_local(oldf.username)))
+ errx(EXIT_FAILURE, _("can only change local entries"));
+
+#ifdef HAVE_LIBSELINUX
+ if (is_selinux_enabled() > 0) {
+ if (uid == 0) {
+ if (checkAccess(oldf.username, PASSWD__CHFN) != 0) {
+ security_context_t user_context;
+ if (getprevcon(&user_context) < 0)
+ user_context = NULL;
+ errx(EXIT_FAILURE,
+ _("%s is not authorized to change "
+ "the finger info of %s"),
+ user_context ? : _("Unknown user context"),
+ oldf.username);
+ }
+ }
+ if (setupDefaultContext(_PATH_PASSWD))
+ errx(EXIT_FAILURE,
+ _("can't set default context for %s"), _PATH_PASSWD);
+ }
+#endif
+
+ /* Reality check */
+ if (uid != 0 && uid != oldf.pw->pw_uid) {
+ errno = EACCES;
+ err(EXIT_FAILURE, NULL);
+ }
+
+ printf(_("Changing finger information for %s.\n"), oldf.username);
+
+#ifdef REQUIRE_PASSWORD
+ if (uid != 0) {
+ pam_handle_t *pamh = NULL;
+ struct pam_conv conv = { misc_conv, NULL };
+ int retcode;
+
+ retcode = pam_start("chfn", oldf.username, &conv, &pamh);
+ if (pam_fail_check(pamh, retcode))
+ exit(EXIT_FAILURE);
+
+ retcode = pam_authenticate(pamh, 0);
+ if (pam_fail_check(pamh, retcode))
+ exit(EXIT_FAILURE);
+
+ retcode = pam_acct_mgmt(pamh, 0);
+ if (retcode == PAM_NEW_AUTHTOK_REQD)
+ retcode =
+ pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
+ if (pam_fail_check(pamh, retcode))
+ exit(EXIT_FAILURE);
+
+ retcode = pam_setcred(pamh, 0);
+ if (pam_fail_check(pamh, retcode))
+ exit(EXIT_FAILURE);
+
+ pam_end(pamh, 0);
+ /* no need to establish a session; this isn't a
+ * session-oriented activity... */
+ }
+#endif /* REQUIRE_PASSWORD */
+
+ if (interactive)
+ ask_info(&oldf, &newf);
+
+ if (!set_changed_data(&oldf, &newf)) {
+ printf(_("Finger information not changed.\n"));
+ return EXIT_SUCCESS;
+ }
+ status = save_new_data(&oldf);
+ return status;
+}
+
+/*
+ * parse_argv () --
+ * parse the command line arguments.
+ * returns true if no information beyond the username was given.
+ */
+static int parse_argv(int argc, char *argv[], struct finfo *pinfo)
+{
+ int index, c, status;
+ int info_given;
+
+ static struct option long_options[] = {
+ {"full-name", required_argument, 0, 'f'},
+ {"office", required_argument, 0, 'o'},
+ {"office-phone", required_argument, 0, 'p'},
+ {"home-phone", required_argument, 0, 'h'},
+ {"help", no_argument, 0, 'u'},
+ {"version", no_argument, 0, 'v'},
+ {NULL, no_argument, 0, '0'},
+ };
+
+ optind = 0;
+ info_given = false;
+ while (true) {
+ c = getopt_long(argc, argv, "f:r:p:h:o:uv", long_options,
+ &index);
+ if (c == -1)
+ break;
+ /* version? output version and exit. */
+ if (c == 'v') {
+ printf(UTIL_LINUX_VERSION);
+ exit(EXIT_SUCCESS);
+ }
+ if (c == 'u')
+ usage(stdout);
+ /* all other options must have an argument. */
+ if (!optarg)
+ usage(stderr);
+ /* ok, we were given an argument */
+ info_given = true;
+ status = 0;
+
+ /* now store the argument */
+ switch (c) {
+ case 'f':
+ pinfo->full_name = optarg;
+ status = check_gecos_string(_("Name"), optarg);
+ break;
+ case 'o':
+ pinfo->office = optarg;
+ status = check_gecos_string(_("Office"), optarg);
+ break;
+ case 'p':
+ pinfo->office_phone = optarg;
+ status = check_gecos_string(_("Office Phone"), optarg);
+ break;
+ case 'h':
+ pinfo->home_phone = optarg;
+ status = check_gecos_string(_("Home Phone"), optarg);
+ break;
+ default:
+ usage(stderr);
+ }
+ if (status < 0)
+ exit(status);
+ }
+ /* done parsing arguments. check for a username. */
+ if (optind < argc) {
+ if (optind + 1 < argc)
+ usage(stderr);
+ pinfo->username = argv[optind];
+ }
+ return (!info_given);
+}
+
+/*
+ * parse_passwd () --
+ * take a struct password and fill in the fields of the struct finfo.
+ */
+static void parse_passwd(struct passwd *pw, struct finfo *pinfo)
+{
+ char *gecos;
+ char *cp;
+
+ if (pw) {
+ pinfo->pw = pw;
+ pinfo->username = pw->pw_name;
+ /* use pw_gecos - we take a copy since PAM destroys the original */
+ gecos = xstrdup(pw->pw_gecos);
+ cp = (gecos ? gecos : "");
+ pinfo->full_name = cp;
+ cp = strchr(cp, ',');
+ if (cp) {
+ *cp = 0, cp++;
+ } else
+ return;
+ pinfo->office = cp;
+ cp = strchr(cp, ',');
+ if (cp) {
+ *cp = 0, cp++;
+ } else
+ return;
+ pinfo->office_phone = cp;
+ cp = strchr(cp, ',');
+ if (cp) {
+ *cp = 0, cp++;
+ } else
+ return;
+ pinfo->home_phone = cp;
+ /* extra fields contain site-specific information, and can
+ * not be changed by this version of chfn. */
+ cp = strchr(cp, ',');
+ if (cp) {
+ *cp = 0, cp++;
+ } else
+ return;
+ pinfo->other = cp;
+ }
+}
+
+/*
+ * ask_info () --
+ * prompt the user for the finger information and store it.
+ */
+static void ask_info(struct finfo *oldfp, struct finfo *newfp)
+{
+ newfp->full_name = prompt(_("Name"), oldfp->full_name);
+ newfp->office = prompt(_("Office"), oldfp->office);
+ newfp->office_phone = prompt(_("Office Phone"), oldfp->office_phone);
+ newfp->home_phone = prompt(_("Home Phone"), oldfp->home_phone);
+ printf("\n");
+}
+
+/*
+ * prompt () --
+ * ask the user for a given field and check that the string is legal.
+ */
+static char *prompt(char *question, char *def_val)
+{
+ static char *blank = "none";
+ int len;
+ char *ans, *cp;
+
+ while (true) {
+ if (!def_val)
+ def_val = "";
+ printf("%s [%s]: ", question, def_val);
+ *buf = 0;
+ if (fgets(buf, sizeof(buf), stdin) == NULL)
+ errx(EXIT_FAILURE, _("Aborted."));
+ /* remove the newline at the end of buf. */
+ ans = buf;
+ while (isspace(*ans))
+ ans++;
+ len = strlen(ans);
+ while (len > 0 && isspace(ans[len - 1]))
+ len--;
+ if (len <= 0)
+ return NULL;
+ ans[len] = 0;
+ if (!strcasecmp(ans, blank))
+ return "";
+ if (check_gecos_string(NULL, ans) >= 0)
+ break;
+ }
+ cp = (char *)xmalloc(len + 1);
+ strcpy(cp, ans);
+ return cp;
+}
+
+/*
+ * check_gecos_string () --
+ * check that the given gecos string is legal. if it's not legal,
+ * output "msg" followed by a description of the problem, and return (-1).
+ */
+static int check_gecos_string(char *msg, char *gecos)
+{
+ unsigned int i, c;
+
+ if (strlen(gecos) > MAX_FIELD_SIZE) {
+ if (msg)
+ warnx(_("field %s is too long"), msg);
+ else
+ warnx(_("field is too long"));
+ return -1;
+ }
+
+ for (i = 0; i < strlen(gecos); i++) {
+ c = gecos[i];
+ if (c == ',' || c == ':' || c == '=' || c == '"' || c == '\n') {
+ if (msg)
+ warnx(_("%s: '%c' is not allowed"), msg, c);
+ else
+ warnx(_("'%c' is not allowed"), c);
+ return -1;
+ }
+ if (iscntrl(c)) {
+ if (msg)
+ warnx(_
+ ("%s: control characters are not allowed"),
+ msg);
+ else
+ warnx(_("control characters are not allowed"));
+ return -1;
+ }
+ }
+ return 0;
+}
+
+/*
+ * set_changed_data () --
+ * incorporate the new data into the old finger info.
+ */
+static int set_changed_data(struct finfo *oldfp, struct finfo *newfp)
+{
+ int changed = false;
+
+ if (newfp->full_name) {
+ oldfp->full_name = newfp->full_name;
+ changed = true;
+ }
+ if (newfp->office) {
+ oldfp->office = newfp->office;
+ changed = true;
+ }
+ if (newfp->office_phone) {
+ oldfp->office_phone = newfp->office_phone;
+ changed = true;
+ }
+ if (newfp->home_phone) {
+ oldfp->home_phone = newfp->home_phone;
+ changed = true;
+ }
+
+ return changed;
+}
+
+/*
+ * save_new_data () --
+ * save the given finger info in /etc/passwd.
+ * return zero on success.
+ */
+static int save_new_data(struct finfo *pinfo)
+{
+ char *gecos;
+ int len;
+
+ /* null fields will confuse printf(). */
+ if (!pinfo->full_name)
+ pinfo->full_name = "";
+ if (!pinfo->office)
+ pinfo->office = "";
+ if (!pinfo->office_phone)
+ pinfo->office_phone = "";
+ if (!pinfo->home_phone)
+ pinfo->home_phone = "";
+ if (!pinfo->other)
+ pinfo->other = "";
+
+ /* create the new gecos string */
+ len = (strlen(pinfo->full_name) + strlen(pinfo->office) +
+ strlen(pinfo->office_phone) + strlen(pinfo->home_phone) +
+ strlen(pinfo->other) + 4);
+ gecos = (char *)xmalloc(len + 1);
+ sprintf(gecos, "%s,%s,%s,%s,%s", pinfo->full_name, pinfo->office,
+ pinfo->office_phone, pinfo->home_phone, pinfo->other);
+
+ /* remove trailing empty fields (but not subfields of pinfo->other) */
+ if (!pinfo->other[0]) {
+ while (len > 0 && gecos[len - 1] == ',')
+ len--;
+ gecos[len] = 0;
+ }
+
+ /* write the new struct passwd to the passwd file. */
+ pinfo->pw->pw_gecos = gecos;
+ if (setpwnam(pinfo->pw) < 0) {
+ warn("setpwnam");
+ printf(_
+ ("Finger information *NOT* changed. Try again later.\n"));
+ return -1;
+ }
+ printf(_("Finger information changed.\n"));
+ return 0;
+}
diff --git a/login-utils/chsh.1 b/login-utils/chsh.1
new file mode 100644
index 0000000..393ccb7
--- /dev/null
+++ b/login-utils/chsh.1
@@ -0,0 +1,65 @@
+.\"
+.\" chsh.1 -- change your login shell
+.\" (c) 1994 by salvatore valente <svalente@athena.mit.edu>
+.\"
+.\" this program is free software. you can redistribute it and
+.\" modify it under the terms of the gnu general public license.
+.\" there is no warranty.
+.\"
+.\" $Author: faith $
+.\" $Revision: 1.1 $
+.\" $Date: 1995/03/12 01:28:58 $
+.\"
+.TH CHSH 1 "July 2009" "util-linux" "User Commands"
+.SH NAME
+chsh \- change your login shell
+.SH SYNOPSIS
+.B chsh
+.RB [ \-s
+.IR shell ]
+.RB [ \-l ]
+.RB [ \-u ]
+.RB [ \-v ]
+.RI [ username ]
+.SH DESCRIPTION
+.B chsh
+is used to change your login shell.
+If a shell is not given on the command line,
+.B chsh
+prompts for one.
+
+.B chsh
+is used to change local entries only. Use ypchsh, lchsh or any other
+implementation for non-local entries.
+.SS VALID SHELLS
+.B chsh
+will accept the full pathname of any executable file on the system.
+However, it will issue a warning if the shell is not listed in the
+.I /etc/shells
+file.
+On the other hand, it can also be configured such that it will
+only accept shells listed in this file, unless you are root.
+.SH OPTIONS
+.TP
+.BI "\-s, \-\-shell " shell
+Specify your login shell.
+.TP
+.B "\-l, \-\-list-shells"
+Print the list of shells listed in
+.I /etc/shells
+and exit.
+.TP
+.B "\-u, \-\-help"
+Print a usage message and exit.
+.TP
+.B "-v, \-\-version"
+Print version information and exit.
+.SH "SEE ALSO"
+.BR login (1),
+.BR passwd (5),
+.BR shells (5)
+.SH AUTHOR
+Salvatore Valente <svalente@mit.edu>
+.SH AVAILABILITY
+The chsh command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/login-utils/chsh.c b/login-utils/chsh.c
new file mode 100644
index 0000000..7d944e1
--- /dev/null
+++ b/login-utils/chsh.c
@@ -0,0 +1,380 @@
+/*
+ * chsh.c -- change your login shell
+ * (c) 1994 by salvatore valente <svalente@athena.mit.edu>
+ *
+ * this program is free software. you can redistribute it and
+ * modify it under the terms of the gnu general public license.
+ * there is no warranty.
+ *
+ * $Author: aebr $
+ * $Revision: 1.19 $
+ * $Date: 1998/06/11 22:30:14 $
+ *
+ * Updated Thu Oct 12 09:33:15 1995 by faith@cs.unc.edu with security
+ * patches from Zefram <A.Main@dcs.warwick.ac.uk>
+ *
+ * Updated Mon Jul 1 18:46:22 1996 by janl@math.uio.no with security
+ * suggestion from Zefram. Disallowing users with shells not in /etc/shells
+ * from changing their shell.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <ctype.h>
+#include <errno.h>
+#include <getopt.h>
+#include <pwd.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "env.h"
+#include "closestream.h"
+#include "islocal.h"
+#include "nls.h"
+#include "pamfail.h"
+#include "pathnames.h"
+#include "setpwnam.h"
+#include "xalloc.h"
+
+#ifdef HAVE_LIBSELINUX
+# include <selinux/selinux.h>
+# include <selinux/av_permissions.h>
+# include "selinux_utils.h"
+#endif
+
+struct sinfo {
+ char *username;
+ char *shell;
+};
+
+static void parse_argv(int argc, char **argv, struct sinfo *pinfo);
+static char *prompt(char *question, char *def_val);
+static int check_shell(char *shell);
+static int get_shell_list(char *shell);
+
+static void __attribute__((__noreturn__)) usage (FILE *fp)
+{
+ fputs(USAGE_HEADER, fp);
+ fprintf(fp, _(" %s [options] [username]\n"), program_invocation_short_name);
+ fputs(USAGE_OPTIONS, fp);
+ fputs(_(" -s, --shell <shell> specify login shell\n"), fp);
+ fputs(_(" -l, --list-shells print list of shells and exit\n"), fp);
+ fputs(USAGE_SEPARATOR, fp);
+ fputs(_(" -u, --help display this help and exit\n"), fp);
+ fputs(_(" -v, --version output version information and exit\n"), fp);
+ fprintf(fp, USAGE_MAN_TAIL("chsh(1)"));
+ exit(fp == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ char *shell, *oldshell;
+ uid_t uid;
+ struct sinfo info;
+ struct passwd *pw;
+
+ sanitize_env();
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ uid = getuid();
+ memset(&info, 0, sizeof(info));
+
+ parse_argv(argc, argv, &info);
+ pw = NULL;
+ if (!info.username) {
+ pw = getpwuid(uid);
+ if (!pw)
+ errx(EXIT_FAILURE, _("you (user %d) don't exist."),
+ uid);
+ } else {
+ pw = getpwnam(info.username);
+ if (!pw)
+ errx(EXIT_FAILURE, _("user \"%s\" does not exist."),
+ info.username);
+ }
+
+ if (!(is_local(pw->pw_name)))
+ errx(EXIT_FAILURE, _("can only change local entries."));
+
+#ifdef HAVE_LIBSELINUX
+ if (is_selinux_enabled() > 0) {
+ if (uid == 0) {
+ if (checkAccess(pw->pw_name, PASSWD__CHSH) != 0) {
+ security_context_t user_context;
+ if (getprevcon(&user_context) < 0)
+ user_context =
+ (security_context_t) NULL;
+
+ errx(EXIT_FAILURE,
+ _("%s is not authorized to change the shell of %s"),
+ user_context ? : _("Unknown user context"),
+ pw->pw_name);
+ }
+ }
+ if (setupDefaultContext(_PATH_PASSWD) != 0)
+ errx(EXIT_FAILURE,
+ _("can't set default context for %s"), _PATH_PASSWD);
+ }
+#endif
+
+ oldshell = pw->pw_shell;
+ if (oldshell == NULL || *oldshell == '\0')
+ oldshell = _PATH_BSHELL; /* default */
+
+ /* reality check */
+ if (uid != 0 && uid != pw->pw_uid) {
+ errno = EACCES;
+ err(EXIT_FAILURE,
+ _("running UID doesn't match UID of user we're "
+ "altering, shell change denied"));
+ }
+ if (uid != 0 && !get_shell_list(oldshell)) {
+ errno = EACCES;
+ err(EXIT_FAILURE, _("your shell is not in %s, "
+ "shell change denied"), _PATH_SHELLS);
+ }
+
+ shell = info.shell;
+
+ printf(_("Changing shell for %s.\n"), pw->pw_name);
+
+#ifdef REQUIRE_PASSWORD
+ if (uid != 0) {
+ pam_handle_t *pamh = NULL;
+ struct pam_conv conv = { misc_conv, NULL };
+ int retcode;
+
+ retcode = pam_start("chsh", pw->pw_name, &conv, &pamh);
+ if (pam_fail_check(pamh, retcode))
+ exit(EXIT_FAILURE);
+
+ retcode = pam_authenticate(pamh, 0);
+ if (pam_fail_check(pamh, retcode))
+ exit(EXIT_FAILURE);
+
+ retcode = pam_acct_mgmt(pamh, 0);
+ if (retcode == PAM_NEW_AUTHTOK_REQD)
+ retcode =
+ pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
+ if (pam_fail_check(pamh, retcode))
+ exit(EXIT_FAILURE);
+
+ retcode = pam_setcred(pamh, 0);
+ if (pam_fail_check(pamh, retcode))
+ exit(EXIT_FAILURE);
+
+ pam_end(pamh, 0);
+ /* no need to establish a session; this isn't a
+ * session-oriented activity... */
+ }
+#endif /* REQUIRE_PASSWORD */
+
+ if (!shell) {
+ shell = prompt(_("New shell"), oldshell);
+ if (!shell)
+ return EXIT_SUCCESS;
+ }
+
+ if (check_shell(shell) < 0)
+ return EXIT_FAILURE;
+
+ if (strcmp(oldshell, shell) == 0)
+ errx(EXIT_SUCCESS, _("Shell not changed."));
+ pw->pw_shell = shell;
+ if (setpwnam(pw) < 0) {
+ warn(_("setpwnam failed\n"
+ "Shell *NOT* changed. Try again later."));
+ return EXIT_FAILURE;
+ }
+ printf(_("Shell changed.\n"));
+ return EXIT_SUCCESS;
+}
+
+/*
+ * parse_argv () --
+ * parse the command line arguments, and fill in "pinfo" with any
+ * information from the command line.
+ */
+static void parse_argv(int argc, char **argv, struct sinfo *pinfo)
+{
+ int index, c;
+
+ static struct option long_options[] = {
+ {"shell", required_argument, 0, 's'},
+ {"list-shells", no_argument, 0, 'l'},
+ {"help", no_argument, 0, 'u'},
+ {"version", no_argument, 0, 'v'},
+ {NULL, no_argument, 0, '0'},
+ };
+
+ optind = c = 0;
+ while (c != EOF) {
+ c = getopt_long(argc, argv, "s:luv", long_options, &index);
+ switch (c) {
+ case -1:
+ break;
+ case 'v':
+ printf(UTIL_LINUX_VERSION);
+ exit(EXIT_SUCCESS);
+ case 'u':
+ usage(stdout);
+ case 'l':
+ get_shell_list(NULL);
+ exit(EXIT_SUCCESS);
+ case 's':
+ if (!optarg)
+ usage(stderr);
+ pinfo->shell = optarg;
+ break;
+ default:
+ usage(stderr);
+ }
+ }
+ /* done parsing arguments. check for a username. */
+ if (optind < argc) {
+ if (optind + 1 < argc)
+ usage(stderr);
+ pinfo->username = argv[optind];
+ }
+}
+
+/*
+ * prompt () --
+ * ask the user for a given field and return it.
+ */
+static char *prompt(char *question, char *def_val)
+{
+ int len;
+ char *ans, *cp;
+ char buf[BUFSIZ];
+
+ if (!def_val)
+ def_val = "";
+ printf("%s [%s]: ", question, def_val);
+ *buf = 0;
+ if (fgets(buf, sizeof(buf), stdin) == NULL)
+ errx(EXIT_FAILURE, _("Aborted."));
+ /* remove the newline at the end of buf. */
+ ans = buf;
+ while (isspace(*ans))
+ ans++;
+ len = strlen(ans);
+ while (len > 0 && isspace(ans[len - 1]))
+ len--;
+ if (len <= 0)
+ return NULL;
+ ans[len] = 0;
+ cp = (char *)xmalloc(len + 1);
+ strcpy(cp, ans);
+ return cp;
+}
+
+/*
+ * check_shell () -- if the shell is completely invalid, print
+ * an error and return (-1).
+ * if the shell is a bad idea, print a warning.
+ */
+static int check_shell(char *shell)
+{
+ unsigned int i, c;
+
+ if (!shell)
+ return -1;
+
+ if (*shell != '/') {
+ warnx(_("shell must be a full path name"));
+ return -1;
+ }
+ if (access(shell, F_OK) < 0) {
+ warnx(_("\"%s\" does not exist"), shell);
+ return -1;
+ }
+ if (access(shell, X_OK) < 0) {
+ printf(_("\"%s\" is not executable"), shell);
+ return -1;
+ }
+ /* keep /etc/passwd clean. */
+ for (i = 0; i < strlen(shell); i++) {
+ c = shell[i];
+ if (c == ',' || c == ':' || c == '=' || c == '"' || c == '\n') {
+ warnx(_("'%c' is not allowed"), c);
+ return -1;
+ }
+ if (iscntrl(c)) {
+ warnx(_("control characters are not allowed"));
+ return -1;
+ }
+ }
+#ifdef ONLY_LISTED_SHELLS
+ if (!get_shell_list(shell)) {
+ if (!getuid())
+ warnx(_
+ ("Warning: \"%s\" is not listed in %s."),
+ shell, _PATH_SHELLS);
+ else
+ errx(EXIT_FAILURE,
+ _("\"%s\" is not listed in %s.\n"
+ "Use %s -l to see list."), shell, _PATH_SHELLS,
+ program_invocation_short_name);
+ }
+#else
+ if (!get_shell_list(shell)) {
+ warnx(_("\"%s\" is not listed in %s.\n"
+ "Use %s -l to see list."), shell, _PATH_SHELLS,
+ program_invocation_short_name);
+ }
+#endif
+ return 0;
+}
+
+/*
+ * get_shell_list () -- if the given shell appears in /etc/shells,
+ * return true. if not, return false.
+ * if the given shell is NULL, /etc/shells is outputted to stdout.
+ */
+static int get_shell_list(char *shell_name)
+{
+ FILE *fp;
+ int found;
+ int len;
+ char buf[PATH_MAX];
+
+ found = false;
+ fp = fopen(_PATH_SHELLS, "r");
+ if (!fp) {
+ if (!shell_name)
+ warnx(_("No known shells."));
+ return true;
+ }
+ while (fgets(buf, sizeof(buf), fp) != NULL) {
+ /* ignore comments */
+ if (*buf == '#')
+ continue;
+ len = strlen(buf);
+ /* strip the ending newline */
+ if (buf[len - 1] == '\n')
+ buf[len - 1] = 0;
+ /* ignore lines that are too damn long */
+ else
+ continue;
+ /* check or output the shell */
+ if (shell_name) {
+ if (!strcmp(shell_name, buf)) {
+ found = true;
+ break;
+ }
+ } else
+ printf("%s\n", buf);
+ }
+ fclose(fp);
+ return found;
+}
diff --git a/login-utils/islocal.c b/login-utils/islocal.c
new file mode 100644
index 0000000..1f85166
--- /dev/null
+++ b/login-utils/islocal.c
@@ -0,0 +1,115 @@
+/*
+ * islocal.c - returns true if user is registered in the local
+ * /etc/passwd file. Written by Alvaro Martinez Echevarria,
+ * alvaro@enano.etsit.upm.es, to allow peaceful coexistence with yp. Nov 94.
+ *
+ * Hacked a bit by poe@daimi.aau.dk
+ * See also ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil*
+ *
+ * Hacked by Peter Breitenlohner, peb@mppmu.mpg.de,
+ * to distinguish user names where one is a prefix of the other,
+ * and to use "pathnames.h". Oct 5, 96.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 2008-04-06 James Youngman, jay@gnu.org
+ * - Completely rewritten to remove assumption that /etc/passwd
+ * lines are < 1024 characters long. Also added unit tests.
+ */
+
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "closestream.h"
+#include "islocal.h"
+#include "nls.h"
+#include "pathnames.h"
+
+static int is_local_in_file(const char *user, const char *filename)
+{
+ int local = 0;
+ size_t match;
+ int chin, skip;
+ FILE *f;
+
+ if (NULL == (f = fopen(filename, "r")))
+ return -1;
+
+ match = 0u;
+ skip = 0;
+ while ((chin = getc(f)) != EOF) {
+ if (skip) {
+ /* Looking for the start of the next line. */
+ if ('\n' == chin) {
+ /* Start matching username at the next char. */
+ skip = 0;
+ match = 0u;
+ }
+ } else {
+ if (':' == chin) {
+ if (0 == user[match]) {
+ /* Success. */
+ local = 1;
+ /* next line has no test coverage,
+ * but it is just an optimisation
+ * anyway. */
+ break;
+ } else {
+ /* we read a whole username, but it
+ * is the wrong user. Skip to the
+ * next line. */
+ skip = 1;
+ }
+ } else if ('\n' == chin) {
+ /* This line contains no colon; it's
+ * malformed. No skip since we are already
+ * at the start of the next line. */
+ match = 0u;
+ } else if (chin != user[match]) {
+ /* username does not match. */
+ skip = 1;
+ } else {
+ ++match;
+ }
+ }
+ }
+ fclose(f);
+ return local;
+}
+
+int is_local(const char *user)
+{
+ int rv;
+ if ((rv = is_local_in_file(user, _PATH_PASSWD)) < 0) {
+ perror(_PATH_PASSWD);
+ fprintf(stderr, _("cannot open %s"), _PATH_PASSWD);
+ exit(1);
+ } else {
+ return rv;
+ }
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char *argv[])
+{
+ atexit(close_stdout);
+ if (argc <= 2) {
+ fprintf(stderr, "usage: %s <passwdfile> <username> [...]\n",
+ argv[0]);
+ return 1;
+ } else {
+ int i;
+ for (i = 2; i < argc; i++) {
+ const int rv = is_local_in_file(argv[i], argv[1]);
+ if (rv < 0) {
+ perror(argv[1]);
+ return 2;
+ }
+ printf("%d:%s\n", rv, argv[i]);
+ }
+ return 0;
+ }
+}
+#endif
diff --git a/login-utils/islocal.h b/login-utils/islocal.h
new file mode 100644
index 0000000..2c58799
--- /dev/null
+++ b/login-utils/islocal.h
@@ -0,0 +1 @@
+extern int is_local(const char *user);
diff --git a/login-utils/last.1 b/login-utils/last.1
new file mode 100644
index 0000000..beb6917
--- /dev/null
+++ b/login-utils/last.1
@@ -0,0 +1,62 @@
+.TH LAST 1 "March 1992" "util-linux" "User Commands"
+.SH NAME
+last \(em indicate last logins by user or terminal
+.SH SYNOPSIS
+.ad l
+.B last
+.RB [ \-\fP\fInumber\fP ]
+.RB [ \-f
+.IR filename ]
+.RB [ \-t
+.IR tty ]
+.RB [ \-h
+.IR hostname ]
+.RB [ \-i
+.IR address ]
+.RB [ \-l ]
+.RB [ \-y ]
+.RI [ name ...]
+.ad b
+.SH DESCRIPTION
+\fBLast\fP looks back in the \fBwtmp\fP file which records all logins
+and logouts for information about a user, a teletype or any group of
+users and teletypes. Arguments specify names of users or teletypes of
+interest. If multiple arguments are given, the information which
+applies to any of the arguments is printed. For example ``\fBlast root
+console\fP'' would list all of root's sessions as well as all sessions
+on the console terminal. \fBLast\fP displays the sessions of the
+specified users and teletypes, most recent first, indicating the times
+at which the session began, the duration of the session, and the
+teletype which the session took place on. If the session is still
+continuing or was cut short by a reboot, \fBlast\fP so indicates.
+.LP
+The pseudo-user \fBreboot\fP logs in at reboots of the system.
+.LP
+\fBLast\fP with no arguments displays a record of all logins and
+logouts, in reverse order.
+.LP
+If \fBlast\fP is interrupted, it indicates how far the search has
+progressed in \fBwtmp\fP. If interrupted with a quit signal \fBlast\fP
+indicates how far the search has progressed so far, and the search
+continues.
+.SH OPTIONS
+.IP \fB\-\fP\fInumber\fP
+limit the number of entries displayed to that specified by \fInumber\fP.
+.IP "\fB\-f\fP \fIfilename\fP"
+Use \fIfilename\fP as the name of the accounting file instead of
+.BR /var/log/wtmp .
+.IP "\fB\-h\fP \fIhostname\fP"
+List only logins from \fIhostname\fP.
+.IP "\fB\-i\fP \fIIP address\fP"
+List only logins from \fIIP address\fP.
+.IP "\fB\-l\fP"
+List IP addresses of remote hosts instead of truncated host names.
+.IP "\fB\-t\fP \fItty\fP"
+List only logins on \fItty\fP.
+.IP "\fB\-y\fP"
+Also report year of dates.
+.SH FILES
+/var/log/wtmp \(em login data base
+.SH AVAILABILITY
+The last command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/login-utils/last.c b/login-utils/last.c
new file mode 100644
index 0000000..77a890a
--- /dev/null
+++ b/login-utils/last.c
@@ -0,0 +1,481 @@
+/*
+ * Berkeley last for Linux. Currently maintained by poe@daimi.aau.dk at
+ * ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil*
+ *
+ * Copyright (c) 1987 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+ /* 2001-02-14 Marek Zelem <marek@fornax.sk>
+ * - using mmap() on Linux - great speed improvement
+ */
+
+/*
+ * This command is deprecated. The utility is in maintenance mode,
+ * meaning we keep them in source tree for backward compatibility
+ * only. Do not waste time making this command better, unless the
+ * fix is about security or other very critical issue.
+ *
+ * See Documentation/deprecated.txt for more information.
+ */
+
+/*
+ * last
+ */
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <sys/file.h>
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <signal.h>
+#include <string.h>
+#include <time.h>
+#include <utmp.h>
+#include <stdio.h>
+#include <getopt.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include "closestream.h"
+#include "pathnames.h"
+#include "nls.h"
+#include "xalloc.h"
+#include "c.h"
+
+#define SECDAY (24*60*60) /* seconds in a day */
+#define NO 0 /* false/no */
+#define YES 1 /* true/yes */
+
+static struct utmp utmpbuf;
+
+#define HMAX (int)sizeof(utmpbuf.ut_host) /* size of utmp host field */
+#define LMAX (int)sizeof(utmpbuf.ut_line) /* size of utmp tty field */
+#define NMAX (int)sizeof(utmpbuf.ut_name) /* size of utmp name field */
+
+/* maximum sizes used for printing */
+/* probably we want a two-pass version that computes the right length */
+#define P_HMAX min(HMAX, 16)
+#define P_LMAX min(LMAX, 8)
+#define P_NMAX min(NMAX, 16)
+
+typedef struct arg {
+ char *name; /* argument */
+#define HOST_TYPE -2
+#define TTY_TYPE -3
+#define USER_TYPE -4
+#define INET_TYPE -5
+ int type; /* type of arg */
+ struct arg *next; /* linked list pointer */
+} ARG;
+ARG *arglist; /* head of linked list */
+
+typedef struct ttytab {
+ long logout; /* log out time */
+ char tty[LMAX + 1]; /* terminal name */
+ struct ttytab *next; /* linked list pointer */
+} TTY;
+TTY *ttylist; /* head of linked list */
+
+static long currentout, /* current logout value */
+ maxrec; /* records to display */
+static char *file = _PATH_WTMP; /* wtmp file */
+
+static int doyear = 0; /* output year in dates */
+static int dolong = 0; /* print also ip-addr */
+
+static void wtmp(void);
+static void addarg(int, char *);
+static void hostconv(char *);
+static void onintr(int);
+static int want(struct utmp *, int);
+TTY *addtty(char *);
+static char *ttyconv(char *);
+
+int
+main(int argc, char **argv) {
+ int ch;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((ch = getopt(argc, argv, "0123456789yli:f:h:t:")) != -1)
+ switch((char)ch) {
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ /*
+ * kludge: last was originally designed to take
+ * a number after a dash.
+ */
+ if (!maxrec)
+ maxrec = atol(argv[optind - 1] + 1);
+ break;
+ case 'f':
+ file = optarg;
+ break;
+ case 'h':
+ hostconv(optarg);
+ addarg(HOST_TYPE, optarg);
+ break;
+ case 't':
+ addarg(TTY_TYPE, ttyconv(optarg));
+ break;
+ case 'y':
+ doyear = 1;
+ break;
+ case 'l':
+ dolong = 1;
+ break;
+ case 'i':
+ addarg(INET_TYPE, optarg);
+ break;
+ case '?':
+ default:
+ fputs(_("usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"), stderr);
+ exit(EXIT_FAILURE);
+ }
+ for (argv += optind; *argv; ++argv) {
+#define COMPATIBILITY
+#ifdef COMPATIBILITY
+ /* code to allow "last p5" to work */
+ addarg(TTY_TYPE, ttyconv(*argv));
+#endif
+ addarg(USER_TYPE, *argv);
+ }
+ wtmp();
+
+ return EXIT_SUCCESS;
+}
+
+static char *utmp_ctime(struct utmp *u)
+{
+ time_t t = (time_t) u->ut_time;
+ return ctime(&t);
+}
+
+/*
+ * print_partial_line --
+ * print the first part of each output line according to specified format
+ */
+static void
+print_partial_line(struct utmp *bp) {
+ char *ct;
+
+ ct = utmp_ctime(bp);
+ printf("%-*.*s %-*.*s ", P_NMAX, P_NMAX, bp->ut_name,
+ P_LMAX, P_LMAX, bp->ut_line);
+
+ if (dolong) {
+ if (bp->ut_addr) {
+ struct in_addr foo;
+ foo.s_addr = bp->ut_addr;
+ printf("%-*.*s ", P_HMAX, P_HMAX, inet_ntoa(foo));
+ } else {
+ printf("%-*.*s ", P_HMAX, P_HMAX, "");
+ }
+ } else {
+ printf("%-*.*s ", P_HMAX, P_HMAX, bp->ut_host);
+ }
+
+ if (doyear) {
+ printf("%10.10s %4.4s %5.5s ", ct, ct + 20, ct + 11);
+ } else {
+ printf("%10.10s %5.5s ", ct, ct + 11);
+ }
+}
+
+/*
+ * wtmp --
+ * read through the wtmp file
+ */
+static void
+wtmp(void) {
+ register struct utmp *bp; /* current structure */
+ register TTY *T; /* tty list entry */
+ long delta; /* time difference */
+ char *crmsg = NULL;
+ char *ct = NULL;
+ int fd;
+ struct utmp *utl;
+ struct stat st;
+ int utl_len;
+ int listnr = 0;
+ int i;
+
+ utmpname(file);
+
+ {
+#if defined(_HAVE_UT_TV)
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+ utmpbuf.ut_tv.tv_sec = tv.tv_sec;
+ utmpbuf.ut_tv.tv_usec = tv.tv_usec;
+#else
+ time_t t;
+ time(&t);
+ utmpbuf.ut_time = t;
+#endif
+ }
+
+ (void)signal(SIGINT, onintr);
+ (void)signal(SIGQUIT, onintr);
+
+ if ((fd = open(file,O_RDONLY)) < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), file);
+
+ fstat(fd, &st);
+ utl_len = st.st_size;
+ utl = mmap(NULL, utl_len, PROT_READ|PROT_WRITE,
+ MAP_PRIVATE|MAP_FILE, fd, 0);
+ if (utl == NULL)
+ err(EXIT_FAILURE, _("%s: mmap failed"), file);
+
+ listnr = utl_len/sizeof(struct utmp);
+
+ if(listnr)
+ ct = utmp_ctime(&utl[0]);
+
+ for(i = listnr - 1; i >= 0; i--) {
+ bp = utl+i;
+ /*
+ * if the terminal line is '~', the machine stopped.
+ * see utmp(5) for more info.
+ */
+ if (!strncmp(bp->ut_line, "~", LMAX)) {
+ /*
+ * utmp(5) also mentions that the user
+ * name should be 'shutdown' or 'reboot'.
+ * Not checking the name causes e.g. runlevel
+ * changes to be displayed as 'crash'. -thaele
+ */
+ if (!strncmp(bp->ut_user, "reboot", NMAX) ||
+ !strncmp(bp->ut_user, "shutdown", NMAX)) {
+ /* everybody just logged out */
+ for (T = ttylist; T; T = T->next)
+ T->logout = -bp->ut_time;
+ }
+
+ currentout = -bp->ut_time;
+ crmsg = (strncmp(bp->ut_name, "shutdown", NMAX)
+ ? "crash" : "down ");
+ if (!bp->ut_name[0])
+ (void)strcpy(bp->ut_name, "reboot");
+ if (want(bp, NO)) {
+ ct = utmp_ctime(bp);
+ if(bp->ut_type != LOGIN_PROCESS) {
+ print_partial_line(bp);
+ putchar('\n');
+ }
+ if (maxrec && !--maxrec)
+ return;
+ }
+ continue;
+ }
+ /* find associated tty */
+ for (T = ttylist;; T = T->next) {
+ if (!T) {
+ /* add new one */
+ T = addtty(bp->ut_line);
+ break;
+ }
+ if (!strncmp(T->tty, bp->ut_line, LMAX))
+ break;
+ }
+ if (bp->ut_name[0] && bp->ut_type != LOGIN_PROCESS
+ && bp->ut_type != DEAD_PROCESS
+ && want(bp, YES)) {
+
+ print_partial_line(bp);
+
+ if (!T->logout)
+ puts(_(" still logged in"));
+ else {
+ if (T->logout < 0) {
+ T->logout = -T->logout;
+ printf("- %s", crmsg);
+ }
+ else
+ printf("- %5.5s", ctime(&T->logout)+11);
+ delta = T->logout - bp->ut_time;
+ if (delta < SECDAY)
+ printf(" (%5.5s)\n", asctime(gmtime(&delta))+11);
+ else
+ printf(" (%ld+%5.5s)\n", delta / SECDAY, asctime(gmtime(&delta))+11);
+ }
+ if (maxrec != -1 && !--maxrec)
+ return;
+ }
+ T->logout = bp->ut_time;
+ utmpbuf.ut_time = bp->ut_time;
+ }
+ munmap(utl,utl_len);
+ close(fd);
+ if(ct) printf(_("\nwtmp begins %s"), ct); /* ct already ends in \n */
+}
+
+/*
+ * want --
+ * see if want this entry
+ */
+static int
+want(struct utmp *bp, int check) {
+ register ARG *step;
+
+ if (check) {
+ /*
+ * when uucp and ftp log in over a network, the entry in
+ * the utmp file is the name plus their process id. See
+ * etc/ftpd.c and usr.bin/uucp/uucpd.c for more information.
+ */
+ if (!strncmp(bp->ut_line, "ftp", sizeof("ftp") - 1))
+ bp->ut_line[3] = '\0';
+ else if (!strncmp(bp->ut_line, "uucp", sizeof("uucp") - 1))
+ bp->ut_line[4] = '\0';
+ }
+ if (!arglist)
+ return YES;
+
+ for (step = arglist; step; step = step->next)
+ switch(step->type) {
+ case HOST_TYPE:
+ if (!strncmp(step->name, bp->ut_host, HMAX))
+ return YES;
+ break;
+ case TTY_TYPE:
+ if (!strncmp(step->name, bp->ut_line, LMAX))
+ return YES;
+ break;
+ case USER_TYPE:
+ if (!strncmp(step->name, bp->ut_name, NMAX))
+ return YES;
+ break;
+ case INET_TYPE:
+ if ((in_addr_t) bp->ut_addr == inet_addr(step->name))
+ return YES;
+ break;
+ default:
+ abort();
+ }
+ return NO;
+}
+
+/*
+ * addarg --
+ * add an entry to a linked list of arguments
+ */
+static void
+addarg(int type, char *arg) {
+ register ARG *cur;
+
+ cur = xmalloc(sizeof(ARG));
+ cur->next = arglist;
+ cur->type = type;
+ cur->name = arg;
+ arglist = cur;
+}
+
+/*
+ * addtty --
+ * add an entry to a linked list of ttys
+ */
+TTY *
+addtty(char *ttyname) {
+ register TTY *cur;
+
+ cur = xmalloc(sizeof(TTY));
+ cur->next = ttylist;
+ cur->logout = currentout;
+ memcpy(cur->tty, ttyname, LMAX);
+ return(ttylist = cur);
+}
+
+/*
+ * hostconv --
+ * convert the hostname to search pattern; if the supplied host name
+ * has a domain attached that is the same as the current domain, rip
+ * off the domain suffix since that's what login(1) does.
+ */
+static void
+hostconv(char *arg) {
+ static int first = 1;
+ static char *hostdot,
+ name[MAXHOSTNAMELEN];
+ char *argdot;
+
+ if (!(argdot = strchr(arg, '.')))
+ return;
+ if (first) {
+ first = 0;
+ if (gethostname(name, sizeof(name)))
+ err(EXIT_FAILURE, _("gethostname failed"));
+
+ hostdot = strchr(name, '.');
+ }
+ if (hostdot && !strcmp(hostdot, argdot))
+ *argdot = '\0';
+}
+
+/*
+ * ttyconv --
+ * convert tty to correct name.
+ */
+static char *
+ttyconv(char *arg) {
+ char *mval;
+
+ /*
+ * kludge -- we assume that all tty's end with
+ * a two character suffix.
+ */
+ if (strlen(arg) == 2) {
+ /* either 6 for "ttyxx" or 8 for "console" */
+ mval = xmalloc(8);
+ if (!strncmp(arg, "co", 2))
+ (void)strcpy(mval, "console");
+ else {
+ (void)strcpy(mval, "tty");
+ (void)strncpy(mval + 3, arg, 4);
+ }
+ return mval;
+ }
+ if (!strncmp(arg, "/dev/", sizeof("/dev/") - 1))
+ return arg + 5;
+
+ return arg;
+}
+
+/*
+ * onintr --
+ * on interrupt, we inform the user how far we've gotten
+ */
+static void
+onintr(int signo) {
+ char *ct;
+
+ ct = utmp_ctime(&utmpbuf);
+ printf(_("\ninterrupted %10.10s %5.5s \n"), ct, ct + 11);
+ if (signo == SIGINT)
+ _exit(EXIT_FAILURE);
+ fflush(stdout); /* fix required for rsh */
+}
diff --git a/login-utils/login.1 b/login-utils/login.1
new file mode 100644
index 0000000..092213d
--- /dev/null
+++ b/login-utils/login.1
@@ -0,0 +1,334 @@
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH LOGIN "1" "June 2012" "util-linux" "User Commands"
+.SH NAME
+login \- begin session on the system
+.SH SYNOPSIS
+.B login
+[
+.BR \-p
+] [
+.BR \-h
+.IR host
+] [
+.BR \-H
+] [
+.BR \-f
+.IR username
+|
+.IR username
+]
+.SH DESCRIPTION
+.B login
+is used when signing onto a system. If no argument is given,
+.B login
+prompts for the username.
+.PP
+The user is then prompted for a password, where approprate. Echoing
+is disabled to prevent revealing the password. Only a small number
+of password failures are permitted before
+.B login
+exits and the communications link is severed.
+.PP
+If password aging has been enabled for the account, the user may be
+prompted for a new password before proceeding. He will be forced to
+provide his old password and the new password before continuing.
+Please refer to
+.BR passwd (1)
+for more information.
+.PP
+The user and group ID will be set according to their values in the
+.I /etc/passwd
+file. There is one exception if the user ID is zero: in this case,
+only the primary group ID of the account is set. This should allow
+the system adminitrator to login even in case of network problems.
+The value for
+.BR $HOME ,
+.BR $USER ,
+.BR $SHELL ,
+.BR $PATH ,
+.BR $LOGNAME ,
+and
+.B $MAIL
+are set according to the appropriate fields in the password entry.
+.B $PATH
+defaults to
+.I /usr\:/local\:/bin:\:/bin:\:/usr\:/bin
+for normal users, and to
+.I /usr\:/local\:/sbin:\:/usr\:/local\:/bin:\:/sbin:\:/bin:\:/usr\:/sbin:\:/usr\:/bin
+for root if not other configured.
+.P
+The environment variable
+.B $TERM
+will be preserved, if it exists (other environment variables are
+preserved if the
+.B \-p
+option is given) or be initialize to the terminal type on your tty.
+.PP
+Then the user's shell is started. If no shell is specified for the
+user in
+.BR /etc\:/passwd ,
+then
+.B /bin\:/sh
+is used. If there is no directory specified in
+.IR /etc\:/passwd ,
+then
+.I /
+is used (the home directory is checked for the
+.I .hushlogin
+file described below).
+.PP
+If the file
+.I .hushlogin
+exists, then a "quiet" login is performed (this disables the checking
+of mail and the printing of the last login time and message of the
+day). Otherwise, if
+.I /var\:/log\:/lastlog
+exists, the last login time is printed (and the current login is
+recorded).
+.SH OPTIONS
+.TP
+.B \-p
+Used by
+.BR getty (8)
+to tell
+.B login
+not to destroy the environment.
+.TP
+.B \-f
+Used to skip a second login authentication. This specifically does
+.B not
+work for root, and does not appear to work well under Linux.
+.TP
+.B \-h
+Used by other servers (i.e.,
+.BR telnetd (8))
+to pass the name of the remote host to
+.B login
+so that it may be placed in utmp and wtmp. Only the superuser may
+use this option.
+.IP
+Note that the
+.B \-h
+option has impact on the
+.B PAM service
+.BR name .
+The standard service name is
+.IR login ,
+with the
+.B \-h
+option the name is
+.IR remote .
+It is necessary to create a proper PAM config files (e.g.
+.I /etc\:/pam.d\:/login
+and
+.IR /etc\:/pam.d\:/remote ).
+.TP
+.B \-H
+Used by other servers (i.e.,
+.BR telnetd (8))
+to tell
+.B login
+that printing the hostname should be suppressed in the login: prompt.
+.TP
+.B \-V
+Print version and exit.
+.SH CONFIG FILE ITEMS
+.B login
+reads the
+.IR /etc\:/login.defs (5)
+configuration file. Note that the configuration file could be
+distributed with another package (e.g. shadow-utils). The following
+configuration items are relevant for
+.BR login (1):
+.PP
+.B MOTD_FILE
+(string)
+.RS 4
+If defined, ":" delimited list of "message of the day" files to be
+displayed upon login. The default value is
+.IR /etc\:/motd .
+If the
+.B MOTD_FILE
+item is empty or quiet login is enabled then the message of the day
+is not displayed. Note that the same functionality is also provided
+by
+.BR pam_motd (8)
+PAM module.
+.RE
+.PP
+.B LOGIN_TIMEOUT
+(number)
+.RS 4
+Max time in seconds for login. The default value is
+.IR 60 .
+.RE
+.PP
+.B LOGIN_RETRIES
+(number)
+.RS 4
+Maximum number of login retries in case of bad password. The default
+value is
+.IR 3 .
+.RE
+.PP
+.B FAIL_DELAY
+(number)
+.RS 4
+Delay in seconds before being allowed another three tries after a
+login failure. The default value is
+.IR 5 .
+.RE
+.PP
+.B TTYPERM
+(string)
+.RS 4
+The terminal permissions. The default value is
+.IR 0600 .
+.RE
+.PP
+.B TTYGROUP
+(string)
+.RS 4
+The login tty will be owned by the
+.BR TTYGROUP .
+The default value is
+.IR tty .
+If the
+.B TTYGROUP
+does not exist then the ownership of the terminal is set to the
+user\'s primary group.
+.PP
+The
+.B TTYGROUP
+can be either the name of a group or a numeric group identifier.
+.RE
+.PP
+.B HUSHLOGIN_FILE
+(string)
+.RS 4
+If defined, this file can inhibit all the usual chatter during the
+login sequence. If a full pathname (e.g.
+.IR /etc\:/hushlogins )
+is specified, then hushed mode will be enabled if the user\'s name or
+shell are found in the file. If this global hush login file is empty
+then the hushed mode will be enabled for all users.
+.PP
+If not a full pathname is specified, then hushed mode will be enabled
+if the file exists in the user\'s home directory.
+.PP
+The default is to check
+.I /etc\:/hushlogins
+and if does not exist then
+.I ~/.hushlogin
+.PP
+If the
+.B HUSHLOGIN_FILE
+item is empty then all checks are disabled.
+.RE
+.PP
+.B DEFAULT_HOME
+(boolean)
+.RS 4
+Indicate if login is allowed if we can not change directory to the
+home directory. If set to
+.IR yes ,
+the user will login in the root (/) directory if it is not possible
+to change directory to her home. The default value is
+.IR yes .
+.RE
+.PP
+.B LOG_UNKFAIL_ENAB
+(boolean)
+.RS 4
+Enable display of unknown usernames when login failures are recorded.
+The default value is
+.IR no .
+.PP
+Note that logging unknown usernames may be a security issue if an
+user enter her password instead of her login name.
+.RE
+.PP
+.B ENV_PATH
+(string)
+.RS 4
+If set, it will be used to define the PATH environment variable when
+a regular user login. The default value is
+.I /usr\:/local\:/bin:\:/bin:\:/usr\:/bin
+.RE
+.PP
+.B ENV_ROOTPATH
+(string)
+.br
+.B ENV_SUPATH
+(string)
+.RS 4
+If set, it will be used to define the PATH environment variable when
+the superuser login. The default value is
+.I /usr\:/local\:/sbin:\:/usr\:/local\:/bin:\:/sbin:\:/bin:\:/usr\:/sbin:\:/usr\:/bin
+.RE
+.SH FILES
+.nf
+.I /var/run/utmp
+.I /var/log/wtmp
+.I /var/log/lastlog
+.I /var/spool/mail/*
+.I /etc/motd
+.I /etc/passwd
+.I /etc/nologin
+.I /etc/pam.d/login
+.I /etc/pam.d/remote
+.I /etc/hushlogins
+.I .hushlogin
+.fi
+.SH "SEE ALSO"
+.BR init (8),
+.BR getty (8),
+.BR mail (1),
+.BR passwd (1),
+.BR passwd (5),
+.BR environ (7),
+.BR shutdown (8)
+.SH BUGS
+The undocumented BSD
+.B \-r
+option is not supported. This may be required by some
+.BR rlogind (8)
+programs.
+.PP
+A recursive login, as used to be possible in the good old days, no
+longer works; for most purposes
+.BR su (1)
+is a satisfactory substitute. Indeed, for security reasons, login
+does a vhangup() system call to remove any possible listening
+processes on the tty. This is to avoid password sniffing. If one
+uses the command
+.BR login ,
+then the surrounding shell gets killed by vhangup() because it's no
+longer the true owner of the tty. This can be avoided by using
+.B exec login
+in a top-level shell or xterm.
+.SH AUTHOR
+Derived from BSD login 5.40 (5/9/89) by
+.MT glad@\:daimi.\:dk
+Michael Glad
+.ME
+for HP-UX
+.br
+Ported to Linux 0.12:
+.MT poe@\:daimi.\:aau.\:dk
+Peter Orbaek
+.ME
+.br
+Rewritten to PAM-only version by
+.MT kzak@\:redhat.\:com
+Karel Zak
+.ME
+.SH AVAILABILITY
+The
+.B login
+command is part of the util-linux package and is
+available from
+.UR ftp:\://ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/login-utils/login.c b/login-utils/login.c
new file mode 100644
index 0000000..c0cc00a
--- /dev/null
+++ b/login-utils/login.c
@@ -0,0 +1,1477 @@
+/*
+ * login(1)
+ *
+ * This program is derived from 4.3 BSD software and is subject to the
+ * copyright notice below.
+ *
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ * Rewritten to PAM-only version.
+ *
+ * Michael Glad (glad@daimi.dk)
+ * Computer Science Department, Aarhus University, Denmark
+ * 1990-07-04
+ *
+ * Copyright (c) 1980, 1987, 1988 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+#include <sys/param.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <memory.h>
+#include <time.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/file.h>
+#include <termios.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <errno.h>
+#include <grp.h>
+#include <pwd.h>
+#include <utmp.h>
+#include <stdlib.h>
+#include <sys/syslog.h>
+#include <sys/sysmacros.h>
+#ifdef HAVE_LINUX_MAJOR_H
+# include <linux/major.h>
+#endif
+#include <netdb.h>
+#include <lastlog.h>
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <sys/sendfile.h>
+
+#ifdef HAVE_LIBAUDIT
+# include <libaudit.h>
+#endif
+
+#include "c.h"
+#include "setproctitle.h"
+#include "pathnames.h"
+#include "strutils.h"
+#include "nls.h"
+#include "xalloc.h"
+#include "all-io.h"
+#include "fileutils.h"
+
+#include "logindefs.h"
+
+#define is_pam_failure(_rc) ((_rc) != PAM_SUCCESS)
+
+#define LOGIN_MAX_TRIES 3
+#define LOGIN_EXIT_TIMEOUT 5
+#define LOGIN_TIMEOUT 60
+
+#ifdef USE_TTY_GROUP
+# define TTY_MODE 0620
+#else
+# define TTY_MODE 0600
+#endif
+
+#define TTYGRPNAME "tty" /* name of group to own ttys */
+#define VCS_PATH_MAX 64
+
+/*
+ * Login control struct
+ */
+struct login_context {
+ const char *tty_path; /* ttyname() return value */
+ const char *tty_name; /* tty_path without /dev prefix */
+ const char *tty_number; /* end of the tty_path */
+ mode_t tty_mode; /* chmod() mode */
+
+ char *username; /* from command line or PAM */
+
+ struct passwd *pwd; /* user info */
+
+ pam_handle_t *pamh; /* PAM handler */
+ struct pam_conv conv; /* PAM conversation */
+
+#ifdef LOGIN_CHOWN_VCS
+ char vcsn[VCS_PATH_MAX]; /* virtual console name */
+ char vcsan[VCS_PATH_MAX];
+#endif
+
+ char thishost[MAXHOSTNAMELEN + 1]; /* this machine */
+ char *thisdomain; /* this machine domain */
+ char *hostname; /* remote machine */
+ char hostaddress[16]; /* remote address */
+
+ pid_t pid;
+ int quiet; /* 1 is hush file exists */
+
+ unsigned int remote:1, /* login -h */
+ nohost:1, /* login -H */
+ noauth:1, /* login -f */
+ keep_env:1; /* login -p */
+};
+
+/*
+ * This bounds the time given to login. Not a define so it can
+ * be patched on machines where it's too small.
+ */
+static unsigned int timeout = LOGIN_TIMEOUT;
+static int child_pid = 0;
+static volatile int got_sig = 0;
+
+#ifdef LOGIN_CHOWN_VCS
+/* true if the filedescriptor fd is a console tty, very Linux specific */
+static int is_consoletty(int fd)
+{
+ struct stat stb;
+
+ if ((fstat(fd, &stb) >= 0)
+ && (major(stb.st_rdev) == TTY_MAJOR)
+ && (minor(stb.st_rdev) < 64)) {
+ return 1;
+ }
+ return 0;
+}
+#endif
+
+
+/*
+ * Robert Ambrose writes:
+ * A couple of my users have a problem with login processes hanging around
+ * soaking up pts's. What they seem to hung up on is trying to write out the
+ * message 'Login timed out after %d seconds' when the connection has already
+ * been dropped.
+ * What I did was add a second timeout while trying to write the message so
+ * the process just exits if the second timeout expires.
+ */
+static void __attribute__ ((__noreturn__))
+timedout2(int sig __attribute__ ((__unused__)))
+{
+ struct termios ti;
+
+ /* reset echo */
+ tcgetattr(0, &ti);
+ ti.c_lflag |= ECHO;
+ tcsetattr(0, TCSANOW, &ti);
+ exit(EXIT_SUCCESS); /* %% */
+}
+
+static void timedout(int sig __attribute__ ((__unused__)))
+{
+ signal(SIGALRM, timedout2);
+ alarm(10);
+ /* TRANSLATORS: The standard value for %u is 60. */
+ warnx(_("timed out after %u seconds"), timeout);
+ signal(SIGALRM, SIG_IGN);
+ alarm(0);
+ timedout2(0);
+}
+
+/*
+ * This handler allows to inform a shell about signals to login. If you have
+ * (root) permissions you can kill all login childrent by one signal to login
+ * process.
+ *
+ * Also, parent who is session leader is able (before setsid() in child) to
+ * inform child when controlling tty goes away (e.g. modem hangup, SIGHUP).
+ */
+static void sig_handler(int signal)
+{
+ if (child_pid)
+ kill(-child_pid, signal);
+ else
+ got_sig = 1;
+ if (signal == SIGTERM)
+ kill(-child_pid, SIGHUP); /* because the shell often ignores SIGTERM */
+}
+
+/*
+ * Let use delay for all exit() calls when user is not authenticated or
+ * session fully initialized (loginpam_session()).
+ */
+static void __attribute__ ((__noreturn__)) sleepexit(int eval)
+{
+ sleep((unsigned int)getlogindefs_num("FAIL_DELAY", LOGIN_EXIT_TIMEOUT));
+ exit(eval);
+}
+
+static const char *get_thishost(struct login_context *cxt, const char **domain)
+{
+ if (!*cxt->thishost) {
+ if (gethostname(cxt->thishost, sizeof(cxt->thishost))) {
+ if (domain)
+ *domain = NULL;
+ return NULL;
+ }
+ cxt->thishost[sizeof(cxt->thishost) -1] = '\0';
+ cxt->thisdomain = strchr(cxt->thishost, '.');
+ if (cxt->thisdomain)
+ *cxt->thisdomain++ = '\0';
+ }
+
+ if (domain)
+ *domain = cxt->thisdomain;
+ return cxt->thishost;
+}
+
+/*
+ * Output the /etc/motd file
+ *
+ * motd() determines the name of a login announcement file and outputs it to
+ * the user's terminal at login time. The MOTD_FILE configuration option is a
+ * colon-delimited list of filenames. The empty MOTD_FILE option disables motd
+ * printing at all.
+ */
+static void motd(void)
+{
+ char *motdlist, *motdfile;
+ const char *mb;
+
+ mb = getlogindefs_str("MOTD_FILE", _PATH_MOTDFILE);
+ if (!mb || !*mb)
+ return;
+
+ motdlist = xstrdup(mb);
+
+ for (motdfile = strtok(motdlist, ":"); motdfile;
+ motdfile = strtok(NULL, ":")) {
+
+ struct stat st;
+ int fd;
+
+ if (stat(motdfile, &st) || !st.st_size)
+ continue;
+ fd = open(motdfile, O_RDONLY, 0);
+ if (fd < 0)
+ continue;
+
+ sendfile(fileno(stdout), fd, NULL, st.st_size);
+ close(fd);
+ }
+
+ free(motdlist);
+}
+
+/*
+ * Nice and simple code provided by Linus Torvalds 16-Feb-93
+ * Nonblocking stuff by Maciej W. Rozycki, macro@ds2.pg.gda.pl, 1999.
+ *
+ * He writes: "Login performs open() on a tty in a blocking mode.
+ * In some cases it may make login wait in open() for carrier infinitely,
+ * for example if the line is a simplistic case of a three-wire serial
+ * connection. I believe login should open the line in the non-blocking mode
+ * leaving the decision to make a connection to getty (where it actually
+ * belongs).
+ */
+static void open_tty(const char *tty)
+{
+ int i, fd, flags;
+
+ fd = open(tty, O_RDWR | O_NONBLOCK);
+ if (fd == -1) {
+ syslog(LOG_ERR, _("FATAL: can't reopen tty: %m"));
+ sleepexit(EXIT_FAILURE);
+ }
+
+ if (!isatty(fd)) {
+ close(fd);
+ syslog(LOG_ERR, _("FATAL: %s is not a terminal"), tty);
+ sleepexit(EXIT_FAILURE);
+ }
+
+ flags = fcntl(fd, F_GETFL);
+ flags &= ~O_NONBLOCK;
+ fcntl(fd, F_SETFL, flags);
+
+ for (i = 0; i < fd; i++)
+ close(i);
+ for (i = 0; i < 3; i++)
+ if (fd != i)
+ dup2(fd, i);
+ if (fd >= 3)
+ close(fd);
+}
+
+#define chown_err(_what, _uid, _gid) \
+ syslog(LOG_ERR, _("chown (%s, %lu, %lu) failed: %m"), \
+ (_what), (unsigned long) (_uid), (unsigned long) (_gid))
+
+#define chmod_err(_what, _mode) \
+ syslog(LOG_ERR, _("chmod (%s, %u) failed: %m"), (_what), (_mode))
+
+static void chown_tty(struct login_context *cxt)
+{
+ const char *grname;
+ uid_t uid = cxt->pwd->pw_uid;
+ gid_t gid = cxt->pwd->pw_gid;
+
+ grname = getlogindefs_str("TTYGROUP", TTYGRPNAME);
+ if (grname && *grname) {
+ struct group *gr = getgrnam(grname);
+ if (gr) /* group by name */
+ gid = gr->gr_gid;
+ else /* group by ID */
+ gid = (gid_t) getlogindefs_num("TTYGROUP", gid);
+ }
+ if (fchown(0, uid, gid)) /* tty */
+ chown_err(cxt->tty_name, uid, gid);
+ if (fchmod(0, cxt->tty_mode))
+ chmod_err(cxt->tty_name, cxt->tty_mode);
+
+#ifdef LOGIN_CHOWN_VCS
+ if (is_consoletty(0)) {
+ if (chown(cxt->vcsn, uid, gid)) /* vcs */
+ chown_err(cxt->vcsn, uid, gid);
+ if (chmod(cxt->vcsn, cxt->tty_mode))
+ chmod_err(cxt->vcsn, cxt->tty_mode);
+
+ if (chown(cxt->vcsan, uid, gid)) /* vcsa */
+ chown_err(cxt->vcsan, uid, gid);
+ if (chmod(cxt->vcsan, cxt->tty_mode))
+ chmod_err(cxt->vcsan, cxt->tty_mode);
+ }
+#endif
+}
+
+/*
+ * Reads the currect terminal path and initialize cxt->tty_* variables.
+ */
+static void init_tty(struct login_context *cxt)
+{
+ const char *p;
+ struct stat st;
+ struct termios tt, ttt;
+
+ cxt->tty_mode = (mode_t) getlogindefs_num("TTYPERM", TTY_MODE);
+
+ cxt->tty_path = ttyname(0); /* libc calls istty() here */
+
+ /*
+ * In case login is suid it was possible to use a hardlink as stdin
+ * and exploit races for a local root exploit. (Wojciech Purczynski).
+ *
+ * More precisely, the problem is ttyn := ttyname(0); ...; chown(ttyn);
+ * here ttyname() might return "/tmp/x", a hardlink to a pseudotty.
+ * All of this is a problem only when login is suid, which it isn't.
+ */
+ if (!cxt->tty_path || !*cxt->tty_path ||
+ lstat(cxt->tty_path, &st) != 0 || !S_ISCHR(st.st_mode) ||
+ (st.st_nlink > 1 && strncmp(cxt->tty_path, "/dev/", 5)) ||
+ access(cxt->tty_path, R_OK | W_OK) != 0) {
+
+ syslog(LOG_ERR, _("FATAL: bad tty"));
+ sleepexit(EXIT_FAILURE);
+ }
+
+ if (strncmp(cxt->tty_path, "/dev/", 5) == 0)
+ cxt->tty_name = cxt->tty_path + 5;
+ else
+ cxt->tty_name = cxt->tty_path;
+
+ for (p = cxt->tty_name; p && *p; p++) {
+ if (isdigit(*p)) {
+ cxt->tty_number = p;
+ break;
+ }
+ }
+
+#ifdef LOGIN_CHOWN_VCS
+ if (cxt->tty_number) {
+ /* find names of Virtual Console devices, for later mode change */
+ snprintf(cxt->vcsn, sizeof(cxt->vcsn), "/dev/vcs%s", cxt->tty_number);
+ snprintf(cxt->vcsan, sizeof(cxt->vcsan), "/dev/vcsa%s", cxt->tty_number);
+ }
+#endif
+
+ tcgetattr(0, &tt);
+ ttt = tt;
+ ttt.c_cflag &= ~HUPCL;
+
+ if ((fchown(0, 0, 0) || fchmod(0, cxt->tty_mode)) && errno != EROFS) {
+
+ syslog(LOG_ERR, _("FATAL: %s: change permissions failed: %m"),
+ cxt->tty_path);
+ sleepexit(EXIT_FAILURE);
+ }
+
+ /* Kill processes left on this tty */
+ tcsetattr(0, TCSAFLUSH, &ttt);
+
+ /*
+ * Let's close file decriptors before vhangup
+ * https://lkml.org/lkml/2012/6/5/145
+ */
+ close(STDIN_FILENO);
+ close(STDOUT_FILENO);
+ close(STDERR_FILENO);
+
+ signal(SIGHUP, SIG_IGN); /* so vhangup() wont kill us */
+ vhangup();
+ signal(SIGHUP, SIG_DFL);
+
+ /* open stdin,stdout,stderr to the tty */
+ open_tty(cxt->tty_path);
+
+ /* restore tty modes */
+ tcsetattr(0, TCSAFLUSH, &tt);
+}
+
+
+/*
+ * Log failed login attempts in _PATH_BTMP if that exists.
+ * Must be called only with username the name of an actual user.
+ * The most common login failure is to give password instead of username.
+ */
+static void log_btmp(struct login_context *cxt)
+{
+ struct utmp ut;
+ struct timeval tv;
+
+ memset(&ut, 0, sizeof(ut));
+
+ strncpy(ut.ut_user,
+ cxt->username ? cxt->username : "(unknown)",
+ sizeof(ut.ut_user));
+
+ if (cxt->tty_number)
+ strncpy(ut.ut_id, cxt->tty_number, sizeof(ut.ut_id));
+ if (cxt->tty_name)
+ xstrncpy(ut.ut_line, cxt->tty_name, sizeof(ut.ut_line));
+
+#if defined(_HAVE_UT_TV) /* in <utmpbits.h> included by <utmp.h> */
+ gettimeofday(&tv, NULL);
+ ut.ut_tv.tv_sec = tv.tv_sec;
+ ut.ut_tv.tv_usec = tv.tv_usec;
+#else
+ {
+ time_t t;
+ time(&t);
+ ut.ut_time = t; /* ut_time is not always a time_t */
+ }
+#endif
+
+ ut.ut_type = LOGIN_PROCESS; /* XXX doesn't matter */
+ ut.ut_pid = cxt->pid;
+
+ if (cxt->hostname) {
+ xstrncpy(ut.ut_host, cxt->hostname, sizeof(ut.ut_host));
+ if (*cxt->hostaddress)
+ memcpy(&ut.ut_addr_v6, cxt->hostaddress,
+ sizeof(ut.ut_addr_v6));
+ }
+
+ updwtmp(_PATH_BTMP, &ut);
+}
+
+
+#ifdef HAVE_LIBAUDIT
+static void log_audit(struct login_context *cxt, int status)
+{
+ int audit_fd;
+ struct passwd *pwd = cxt->pwd;
+
+ audit_fd = audit_open();
+ if (audit_fd == -1)
+ return;
+ if (!pwd && cxt->username)
+ pwd = getpwnam(cxt->username);
+
+ audit_log_acct_message(audit_fd,
+ AUDIT_USER_LOGIN,
+ NULL,
+ "login",
+ cxt->username ? cxt->username : "(unknown)",
+ pwd ? pwd->pw_uid : (unsigned int) -1,
+ cxt->hostname,
+ NULL,
+ cxt->tty_name,
+ status);
+
+ close(audit_fd);
+}
+#else /* !HAVE_LIBAUDIT */
+# define log_audit(cxt, status)
+#endif /* HAVE_LIBAUDIT */
+
+static void log_lastlog(struct login_context *cxt)
+{
+ struct lastlog ll;
+ time_t t;
+ int fd;
+
+ if (!cxt->pwd)
+ return;
+
+ fd = open(_PATH_LASTLOG, O_RDWR, 0);
+ if (fd < 0)
+ return;
+
+ lseek(fd, (off_t) cxt->pwd->pw_uid * sizeof(ll), SEEK_SET);
+
+ /*
+ * Print last log message
+ */
+ if (!cxt->quiet) {
+ if (read(fd, (char *)&ll, sizeof(ll)) == sizeof(ll) &&
+ ll.ll_time != 0) {
+ time_t ll_time = (time_t) ll.ll_time;
+
+ printf(_("Last login: %.*s "), 24 - 5, ctime(&ll_time));
+ if (*ll.ll_host != '\0')
+ printf(_("from %.*s\n"),
+ (int)sizeof(ll.ll_host), ll.ll_host);
+ else
+ printf(_("on %.*s\n"),
+ (int)sizeof(ll.ll_line), ll.ll_line);
+ }
+ lseek(fd, (off_t) cxt->pwd->pw_uid * sizeof(ll), SEEK_SET);
+ }
+
+ memset((char *)&ll, 0, sizeof(ll));
+
+ time(&t);
+ ll.ll_time = t; /* ll_time is always 32bit */
+
+ if (cxt->tty_name)
+ xstrncpy(ll.ll_line, cxt->tty_name, sizeof(ll.ll_line));
+ if (cxt->hostname)
+ xstrncpy(ll.ll_host, cxt->hostname, sizeof(ll.ll_host));
+
+ if (write_all(fd, (char *)&ll, sizeof(ll)))
+ warn(_("write lastlog failed"));
+
+ close(fd);
+}
+
+/*
+ * Update wtmp and utmp logs
+ */
+static void log_utmp(struct login_context *cxt)
+{
+ struct utmp ut;
+ struct utmp *utp;
+ struct timeval tv;
+
+ utmpname(_PATH_UTMP);
+ setutent();
+
+ /* Find pid in utmp.
+ *
+ * login sometimes overwrites the runlevel entry in /var/run/utmp,
+ * confusing sysvinit. I added a test for the entry type, and the
+ * problem was gone. (In a runlevel entry, st_pid is not really a pid
+ * but some number calculated from the previous and current runlevel).
+ * -- Michael Riepe <michael@stud.uni-hannover.de>
+ */
+ while ((utp = getutent()))
+ if (utp->ut_pid == cxt->pid
+ && utp->ut_type >= INIT_PROCESS
+ && utp->ut_type <= DEAD_PROCESS)
+ break;
+
+ /* If we can't find a pre-existing entry by pid, try by line.
+ * BSD network daemons may rely on this.
+ */
+ if (utp == NULL) {
+ setutent();
+ ut.ut_type = LOGIN_PROCESS;
+ if (cxt->tty_name)
+ strncpy(ut.ut_line, cxt->tty_name, sizeof(ut.ut_line));
+ utp = getutline(&ut);
+ }
+
+ if (utp)
+ memcpy(&ut, utp, sizeof(ut));
+ else
+ /* some gettys/telnetds don't initialize utmp... */
+ memset(&ut, 0, sizeof(ut));
+
+ if (cxt->tty_number && ut.ut_id[0] == 0)
+ strncpy(ut.ut_id, cxt->tty_number, sizeof(ut.ut_id));
+ if (cxt->username)
+ strncpy(ut.ut_user, cxt->username, sizeof(ut.ut_user));
+ if (cxt->tty_name)
+ xstrncpy(ut.ut_line, cxt->tty_name, sizeof(ut.ut_line));
+
+#ifdef _HAVE_UT_TV /* in <utmpbits.h> included by <utmp.h> */
+ gettimeofday(&tv, NULL);
+ ut.ut_tv.tv_sec = tv.tv_sec;
+ ut.ut_tv.tv_usec = tv.tv_usec;
+#else
+ {
+ time_t t;
+ time(&t);
+ ut.ut_time = t; /* ut_time is not always a time_t */
+ /* glibc2 #defines it as ut_tv.tv_sec */
+ }
+#endif
+ ut.ut_type = USER_PROCESS;
+ ut.ut_pid = cxt->pid;
+ if (cxt->hostname) {
+ xstrncpy(ut.ut_host, cxt->hostname, sizeof(ut.ut_host));
+ if (*cxt->hostaddress)
+ memcpy(&ut.ut_addr_v6, cxt->hostaddress,
+ sizeof(ut.ut_addr_v6));
+ }
+
+ pututline(&ut);
+ endutent();
+
+ updwtmp(_PATH_WTMP, &ut);
+}
+
+static void log_syslog(struct login_context *cxt)
+{
+ struct passwd *pwd = cxt->pwd;
+
+ if (!cxt->tty_name)
+ return;
+
+ if (!strncmp(cxt->tty_name, "ttyS", 4))
+ syslog(LOG_INFO, _("DIALUP AT %s BY %s"),
+ cxt->tty_name, pwd->pw_name);
+
+ if (!pwd->pw_uid) {
+ if (cxt->hostname)
+ syslog(LOG_NOTICE, _("ROOT LOGIN ON %s FROM %s"),
+ cxt->tty_name, cxt->hostname);
+ else
+ syslog(LOG_NOTICE, _("ROOT LOGIN ON %s"), cxt->tty_name);
+ } else {
+ if (cxt->hostname)
+ syslog(LOG_INFO, _("LOGIN ON %s BY %s FROM %s"),
+ cxt->tty_name, pwd->pw_name, cxt->hostname);
+ else
+ syslog(LOG_INFO, _("LOGIN ON %s BY %s"), cxt->tty_name,
+ pwd->pw_name);
+ }
+}
+
+static struct passwd *get_passwd_entry(const char *username,
+ char **pwdbuf,
+ struct passwd *pwd)
+{
+ struct passwd *res = NULL;
+ size_t sz = 16384;
+ int x;
+
+ if (!pwdbuf || !username)
+ return NULL;
+
+#ifdef _SC_GETPW_R_SIZE_MAX
+ {
+ long xsz = sysconf(_SC_GETPW_R_SIZE_MAX);
+ if (xsz > 0)
+ sz = (size_t) xsz;
+ }
+#endif
+ *pwdbuf = xrealloc(*pwdbuf, sz);
+
+ x = getpwnam_r(username, pwd, *pwdbuf, sz, &res);
+ if (!res) {
+ errno = x;
+ return NULL;
+ }
+ return res;
+}
+
+/* encapsulate stupid "void **" pam_get_item() API */
+static int loginpam_get_username(pam_handle_t *pamh, char **name)
+{
+ const void *item = (void *)*name;
+ int rc;
+ rc = pam_get_item(pamh, PAM_USER, &item);
+ *name = (char *)item;
+ return rc;
+}
+
+static void loginpam_err(pam_handle_t *pamh, int retcode)
+{
+ const char *msg = pam_strerror(pamh, retcode);
+
+ if (msg) {
+ fprintf(stderr, "\n%s\n", msg);
+ syslog(LOG_ERR, "%s", msg);
+ }
+ pam_end(pamh, retcode);
+ sleepexit(EXIT_FAILURE);
+}
+
+/*
+ * Composes "<host> login: " string; or returns "login: " is -H is given
+ */
+static const char *loginpam_get_prompt(struct login_context *cxt)
+{
+ const char *host;
+ char *prompt, *dflt_prompt = _("login: ");
+ size_t sz;
+
+ if (cxt->nohost || !(host = get_thishost(cxt, NULL)))
+ return dflt_prompt;
+
+ sz = strlen(host) + 1 + strlen(dflt_prompt) + 1;
+
+ prompt = xmalloc(sz);
+ snprintf(prompt, sz, "%s %s", host, dflt_prompt);
+
+ return prompt;
+}
+
+static pam_handle_t *init_loginpam(struct login_context *cxt)
+{
+ pam_handle_t *pamh = NULL;
+ int rc;
+
+ /*
+ * username is initialized to NULL and if specified on the command line
+ * it is set. Therefore, we are safe not setting it to anything
+ */
+ rc = pam_start(cxt->remote ? "remote" : "login",
+ cxt->username, &cxt->conv, &pamh);
+ if (rc != PAM_SUCCESS) {
+ warnx(_("PAM failure, aborting: %s"), pam_strerror(pamh, rc));
+ syslog(LOG_ERR, _("Couldn't initialize PAM: %s"),
+ pam_strerror(pamh, rc));
+ sleepexit(EXIT_FAILURE);
+ }
+
+ /* hostname & tty are either set to NULL or their correct values,
+ * depending on how much we know
+ */
+ rc = pam_set_item(pamh, PAM_RHOST, cxt->hostname);
+ if (is_pam_failure(rc))
+ loginpam_err(pamh, rc);
+
+ rc = pam_set_item(pamh, PAM_TTY, cxt->tty_name);
+ if (is_pam_failure(rc))
+ loginpam_err(pamh, rc);
+
+ /*
+ * Andrew.Taylor@cal.montage.ca: Provide a user prompt to PAM so that
+ * the "login: " prompt gets localized. Unfortunately, PAM doesn't have
+ * an interface to specify the "Password: " string (yet).
+ */
+ rc = pam_set_item(pamh, PAM_USER_PROMPT, loginpam_get_prompt(cxt));
+ if (is_pam_failure(rc))
+ loginpam_err(pamh, rc);
+
+ /* we need't the original username. We have to follow PAM. */
+ free(cxt->username);
+ cxt->username = NULL;
+ cxt->pamh = pamh;
+
+ return pamh;
+}
+
+static void loginpam_auth(struct login_context *cxt)
+{
+ int rc, show_unknown;
+ unsigned int retries, failcount = 0;
+ const char *hostname = cxt->hostname ? cxt->hostname :
+ cxt->tty_name ? cxt->tty_name : "<unknown>";
+ pam_handle_t *pamh = cxt->pamh;
+
+ /* if we didn't get a user on the command line, set it to NULL */
+ loginpam_get_username(pamh, &cxt->username);
+
+ show_unknown = getlogindefs_bool("LOG_UNKFAIL_ENAB", 0);
+ retries = getlogindefs_num("LOGIN_RETRIES", LOGIN_MAX_TRIES);
+
+ /*
+ * There may be better ways to deal with some of these conditions, but
+ * at least this way I don't think we'll be giving away information...
+ *
+ * Perhaps someday we can trust that all PAM modules will pay attention
+ * to failure count and get rid of LOGIN_MAX_TRIES?
+ */
+ rc = pam_authenticate(pamh, 0);
+
+ while ((++failcount < retries) &&
+ ((rc == PAM_AUTH_ERR) ||
+ (rc == PAM_USER_UNKNOWN) ||
+ (rc == PAM_CRED_INSUFFICIENT) ||
+ (rc == PAM_AUTHINFO_UNAVAIL))) {
+
+ if (rc == PAM_USER_UNKNOWN && !show_unknown)
+ /*
+ * logging unknown usernames may be a security issue if
+ * an user enter her password instead of her login name
+ */
+ cxt->username = NULL;
+ else
+ loginpam_get_username(pamh, &cxt->username);
+
+ syslog(LOG_NOTICE,
+ _("FAILED LOGIN %u FROM %s FOR %s, %s"),
+ failcount, hostname,
+ cxt->username ? cxt->username : "(unknown)",
+ pam_strerror(pamh, rc));
+
+ log_btmp(cxt);
+ log_audit(cxt, 0);
+
+ fprintf(stderr, _("Login incorrect\n\n"));
+
+ pam_set_item(pamh, PAM_USER, NULL);
+ rc = pam_authenticate(pamh, 0);
+ }
+
+ if (is_pam_failure(rc)) {
+
+ if (rc == PAM_USER_UNKNOWN && !show_unknown)
+ cxt->username = NULL;
+ else
+ loginpam_get_username(pamh, &cxt->username);
+
+ if (rc == PAM_MAXTRIES)
+ syslog(LOG_NOTICE,
+ _("TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"),
+ failcount, hostname,
+ cxt->username ? cxt->username : "(unknown)",
+ pam_strerror(pamh, rc));
+ else
+ syslog(LOG_NOTICE,
+ _("FAILED LOGIN SESSION FROM %s FOR %s, %s"),
+ hostname,
+ cxt->username ? cxt->username : "(unknown)",
+ pam_strerror(pamh, rc));
+
+ log_btmp(cxt);
+ log_audit(cxt, 0);
+
+ fprintf(stderr, _("\nLogin incorrect\n"));
+ pam_end(pamh, rc);
+ sleepexit(EXIT_SUCCESS);
+ }
+}
+
+static void loginpam_acct(struct login_context *cxt)
+{
+ int rc;
+ pam_handle_t *pamh = cxt->pamh;
+
+ rc = pam_acct_mgmt(pamh, 0);
+
+ if (rc == PAM_NEW_AUTHTOK_REQD)
+ rc = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
+
+ if (is_pam_failure(rc))
+ loginpam_err(pamh, rc);
+
+ /*
+ * Grab the user information out of the password file for future usage
+ * First get the username that we are actually using, though.
+ */
+ rc = loginpam_get_username(pamh, &cxt->username);
+ if (is_pam_failure(rc))
+ loginpam_err(pamh, rc);
+
+ if (!cxt->username || !*cxt->username) {
+ warnx(_("\nSession setup problem, abort."));
+ syslog(LOG_ERR, _("NULL user name in %s:%d. Abort."),
+ __FUNCTION__, __LINE__);
+ pam_end(pamh, PAM_SYSTEM_ERR);
+ sleepexit(EXIT_FAILURE);
+ }
+}
+
+/*
+ * Note that position of the pam_setcred() call is discussable:
+ *
+ * - the PAM docs recommends pam_setcred() before pam_open_session()
+ * - but the original RFC http://www.opengroup.org/rfc/mirror-rfc/rfc86.0.txt
+ * uses pam_setcred() after pam_open_session()
+ *
+ * The old login versions (before year 2011) followed the RFC. This is probably
+ * not optimal, because there could be dependence between some session modules
+ * and user's credentials.
+ *
+ * The best is probably to follow openssh and call pam_setcred() before and
+ * after pam_open_session(). -- kzak@redhat.com (18-Nov-2011)
+ *
+ */
+static void loginpam_session(struct login_context *cxt)
+{
+ int rc;
+ pam_handle_t *pamh = cxt->pamh;
+
+ rc = pam_setcred(pamh, PAM_ESTABLISH_CRED);
+ if (is_pam_failure(rc))
+ loginpam_err(pamh, rc);
+
+ rc = pam_open_session(pamh, 0);
+ if (is_pam_failure(rc)) {
+ pam_setcred(cxt->pamh, PAM_DELETE_CRED);
+ loginpam_err(pamh, rc);
+ }
+
+ rc = pam_setcred(pamh, PAM_REINITIALIZE_CRED);
+ if (is_pam_failure(rc)) {
+ pam_close_session(pamh, 0);
+ loginpam_err(pamh, rc);
+ }
+}
+
+/*
+ * We need to check effective UID/GID. For example $HOME could be on root
+ * squashed NFS or on NFS with UID mapping and access(2) uses real UID/GID.
+ * The open(2) seems as the surest solution.
+ * -- kzak@redhat.com (10-Apr-2009)
+ */
+static int effective_access(const char *path, int mode)
+{
+ int fd = open(path, mode);
+ if (fd != -1)
+ close(fd);
+ return fd == -1 ? -1 : 0;
+}
+
+/*
+ * Check per accout or global hush-login setting.
+ *
+ * Hushed mode is enabled:
+ *
+ * a) if global (e.g. /etc/hushlogins) hush file exists:
+ * 1) for ALL ACCOUNTS if the file is empty
+ * 2) for the current user if the username or shell are found in the file
+ *
+ * b) if ~/.hushlogin file exists
+ *
+ * The ~/.hushlogin is ignored if the global hush file exists.
+ *
+ * The HUSHLOGIN_FILE login.def variable overwrites the default hush filename.
+ *
+ * Note that shadow-utils login(1) does not support "a1)". The "a1)" is
+ * necessary if you want to use PAM for "Last login" message.
+ *
+ * -- Karel Zak <kzak@redhat.com> (26-Aug-2011)
+ *
+ *
+ * Per-account check requires some explanation: As root we may not be able to
+ * read the directory of the user if it is on an NFS mounted filesystem. We
+ * temporarily set our effective uid to the user-uid making sure that we keep
+ * root privs. in the real uid.
+ *
+ * A portable solution would require a fork(), but we rely on Linux having the
+ * BSD setreuid()
+ */
+static int get_hushlogin_status(struct passwd *pwd)
+{
+ const char *files[] = { _PATH_HUSHLOGINS, _PATH_HUSHLOGIN, NULL };
+ const char *file;
+ char buf[BUFSIZ];
+ int i;
+
+ file = getlogindefs_str("HUSHLOGIN_FILE", NULL);
+ if (file) {
+ if (!*file)
+ return 0; /* empty HUSHLOGIN_FILE defined */
+
+ files[0] = file;
+ files[1] = NULL;
+ }
+
+ for (i = 0; files[i]; i++) {
+ int ok = 0;
+
+ file = files[i];
+
+ /* Global hush-file*/
+ if (*file == '/') {
+ struct stat st;
+ FILE *f;
+
+ if (stat(file, &st) != 0)
+ continue; /* file does not exist */
+
+ if (st.st_size == 0)
+ return 1; /* for all accounts */
+
+ f = fopen(file, "r");
+ if (!f)
+ continue; /* ignore errors... */
+
+ while (ok == 0 && fgets(buf, sizeof(buf), f)) {
+ buf[strlen(buf) - 1] = '\0';
+ ok = !strcmp(buf, *buf == '/' ? pwd->pw_shell :
+ pwd->pw_name);
+ }
+ fclose(f);
+ if (ok)
+ return 1; /* found username/shell */
+
+ return 0; /* ignore per-account files */
+ }
+
+ /* Per-account setting */
+ if (strlen(pwd->pw_dir) + sizeof(file) + 2 > sizeof(buf))
+ continue;
+ else {
+ uid_t ruid = getuid();
+ gid_t egid = getegid();
+
+ sprintf(buf, "%s/%s", pwd->pw_dir, file);
+ setregid(-1, pwd->pw_gid);
+ setreuid(0, pwd->pw_uid);
+ ok = effective_access(buf, O_RDONLY) == 0;
+ setuid(0); /* setreuid doesn't do it alone! */
+ setreuid(ruid, 0);
+ setregid(-1, egid);
+
+ if (ok)
+ return 1; /* enabled by user */
+ }
+ }
+
+ return 0;
+}
+
+/*
+ * Detach the controlling terminal, fork, restore syslog stuff and create a new
+ * session.
+ */
+static void fork_session(struct login_context *cxt)
+{
+ struct sigaction sa, oldsa_hup, oldsa_term;
+
+ signal(SIGALRM, SIG_DFL);
+ signal(SIGQUIT, SIG_DFL);
+ signal(SIGTSTP, SIG_IGN);
+
+ memset(&sa, 0, sizeof(sa));
+ sa.sa_handler = SIG_IGN;
+ sigaction(SIGINT, &sa, NULL);
+
+ sigaction(SIGHUP, &sa, &oldsa_hup); /* ignore when TIOCNOTTY */
+
+ /*
+ * detach the controlling tty
+ * -- we needn't the tty in parent who waits for child only.
+ * The child calls setsid() that detach from the tty as well.
+ */
+ ioctl(0, TIOCNOTTY, NULL);
+
+ /*
+ * We have care about SIGTERM, because leave PAM session without
+ * pam_close_session() is pretty bad thing.
+ */
+ sa.sa_handler = sig_handler;
+ sigaction(SIGHUP, &sa, NULL);
+ sigaction(SIGTERM, &sa, &oldsa_term);
+
+ closelog();
+
+ /*
+ * We must fork before setuid() because we need to call
+ * pam_close_session() as root.
+ */
+ child_pid = fork();
+ if (child_pid < 0) {
+ /*
+ * fork() error
+ */
+ warn(_("fork failed"));
+
+ pam_setcred(cxt->pamh, PAM_DELETE_CRED);
+ pam_end(cxt->pamh, pam_close_session(cxt->pamh, 0));
+ sleepexit(EXIT_FAILURE);
+ }
+
+ if (child_pid) {
+ /*
+ * parent - wait for child to finish, then cleanup session
+ */
+ close(0);
+ close(1);
+ close(2);
+ sa.sa_handler = SIG_IGN;
+ sigaction(SIGQUIT, &sa, NULL);
+ sigaction(SIGINT, &sa, NULL);
+
+ /* wait as long as any child is there */
+ while (wait(NULL) == -1 && errno == EINTR) ;
+ openlog("login", LOG_ODELAY, LOG_AUTHPRIV);
+
+ pam_setcred(cxt->pamh, PAM_DELETE_CRED);
+ pam_end(cxt->pamh, pam_close_session(cxt->pamh, 0));
+ exit(EXIT_SUCCESS);
+ }
+
+ /*
+ * child
+ */
+ sigaction(SIGHUP, &oldsa_hup, NULL); /* restore old state */
+ sigaction(SIGTERM, &oldsa_term, NULL);
+ if (got_sig)
+ exit(EXIT_FAILURE);
+
+ /*
+ * Problem: if the user's shell is a shell like ash that doesn't do
+ * setsid() or setpgrp(), then a ctrl-\, sending SIGQUIT to every
+ * process in the pgrp, will kill us.
+ */
+
+ /* start new session */
+ setsid();
+
+ /* make sure we have a controlling tty */
+ open_tty(cxt->tty_path);
+ openlog("login", LOG_ODELAY, LOG_AUTHPRIV); /* reopen */
+
+ /*
+ * TIOCSCTTY: steal tty from other process group.
+ */
+ if (ioctl(0, TIOCSCTTY, 1))
+ syslog(LOG_ERR, _("TIOCSCTTY failed: %m"));
+ signal(SIGINT, SIG_DFL);
+}
+
+/*
+ * Initialize $TERM, $HOME, ...
+ */
+static void init_environ(struct login_context *cxt)
+{
+ struct passwd *pwd = cxt->pwd;
+ char *termenv = NULL, **env;
+ char tmp[PATH_MAX];
+ int len, i;
+
+ termenv = getenv("TERM");
+ termenv = termenv ? xstrdup(termenv) : "dumb";
+
+ /* destroy environment unless user has requested preservation (-p) */
+ if (!cxt->keep_env) {
+ environ = (char **) xmalloc(sizeof(char *));
+ memset(environ, 0, sizeof(char *));
+ }
+
+ setenv("HOME", pwd->pw_dir, 0); /* legal to override */
+ setenv("USER", pwd->pw_name, 1);
+ setenv("SHELL", pwd->pw_shell, 1);
+ setenv("TERM", termenv, 1);
+
+ if (pwd->pw_uid)
+ logindefs_setenv("PATH", "ENV_PATH", _PATH_DEFPATH);
+
+ else if (logindefs_setenv("PATH", "ENV_ROOTPATH", NULL) != 0)
+ logindefs_setenv("PATH", "ENV_SUPATH", _PATH_DEFPATH_ROOT);
+
+ /* mailx will give a funny error msg if you forget this one */
+ len = snprintf(tmp, sizeof(tmp), "%s/%s", _PATH_MAILDIR, pwd->pw_name);
+ if (len > 0 && (size_t) len + 1 <= sizeof(tmp))
+ setenv("MAIL", tmp, 0);
+
+ /* LOGNAME is not documented in login(1) but HP-UX 6.5 does it. We'll
+ * not allow modifying it.
+ */
+ setenv("LOGNAME", pwd->pw_name, 1);
+
+ env = pam_getenvlist(cxt->pamh);
+ for (i = 0; env && env[i]; i++)
+ putenv(env[i]);
+}
+
+/*
+ * Called for -h option, initialize cxt->{hostname,hostaddress}
+ */
+static void init_remote_info(struct login_context *cxt, char *remotehost)
+{
+ const char *domain;
+ char *p;
+ struct addrinfo hints, *info = NULL;
+
+ cxt->remote = 1;
+
+ get_thishost(cxt, &domain);
+
+ if (domain && (p = strchr(remotehost, '.')) &&
+ strcasecmp(p + 1, domain) == 0)
+ *p = '\0';
+
+ cxt->hostname = xstrdup(remotehost);
+
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_flags = AI_ADDRCONFIG;
+ cxt->hostaddress[0] = 0;
+
+ if (getaddrinfo(cxt->hostname, NULL, &hints, &info) == 0 && info) {
+ if (info->ai_family == AF_INET) {
+ struct sockaddr_in *sa =
+ (struct sockaddr_in *) info->ai_addr;
+
+ memcpy(cxt->hostaddress, &(sa->sin_addr), sizeof(sa->sin_addr));
+
+ } else if (info->ai_family == AF_INET6) {
+ struct sockaddr_in6 *sa =
+ (struct sockaddr_in6 *) info->ai_addr;
+
+ memcpy(cxt->hostaddress, &(sa->sin6_addr), sizeof(sa->sin6_addr));
+ }
+ freeaddrinfo(info);
+ }
+}
+
+int main(int argc, char **argv)
+{
+ int c;
+ int cnt;
+ char *childArgv[10];
+ char *buff;
+ int childArgc = 0;
+ int retcode;
+
+ char *pwdbuf = NULL;
+ struct passwd *pwd = NULL, _pwd;
+
+ struct login_context cxt = {
+ .tty_mode = TTY_MODE, /* tty chmod() */
+ .pid = getpid(), /* PID */
+ .conv = { misc_conv, NULL } /* PAM conversation function */
+ };
+
+ timeout = (unsigned int)getlogindefs_num("LOGIN_TIMEOUT", LOGIN_TIMEOUT);
+
+ signal(SIGALRM, timedout);
+ siginterrupt(SIGALRM, 1); /* we have to interrupt syscalls like ioclt() */
+ alarm(timeout);
+ signal(SIGQUIT, SIG_IGN);
+ signal(SIGINT, SIG_IGN);
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+
+ setpriority(PRIO_PROCESS, 0, 0);
+ initproctitle(argc, argv);
+
+ /*
+ * -p is used by getty to tell login not to destroy the environment
+ * -f is used to skip a second login authentication
+ * -h is used by other servers to pass the name of the remote
+ * host to login so that it may be placed in utmp and wtmp
+ */
+ while ((c = getopt(argc, argv, "fHh:pV")) != -1)
+ switch (c) {
+ case 'f':
+ cxt.noauth = 1;
+ break;
+
+ case 'H':
+ cxt.nohost = 1;
+ break;
+
+ case 'h':
+ if (getuid()) {
+ fprintf(stderr,
+ _("login: -h for super-user only.\n"));
+ exit(EXIT_FAILURE);
+ }
+ init_remote_info(&cxt, optarg);
+ break;
+
+ case 'p':
+ cxt.keep_env = 1;
+ break;
+
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case '?':
+ default:
+ fprintf(stderr, _("usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"));
+ exit(EXIT_FAILURE);
+ }
+ argc -= optind;
+ argv += optind;
+
+ if (*argv) {
+ char *p = *argv;
+ cxt.username = xstrdup(p);
+
+ /* wipe name - some people mistype their password here */
+ /* (of course we are too late, but perhaps this helps a little ..) */
+ while (*p)
+ *p++ = ' ';
+ }
+
+ for (cnt = get_fd_tabsize() - 1; cnt > 2; cnt--)
+ close(cnt);
+
+ setpgrp(); /* set pgid to pid this means that setsid() will fail */
+
+ openlog("login", LOG_ODELAY, LOG_AUTHPRIV);
+
+ init_tty(&cxt);
+ init_loginpam(&cxt);
+
+ /* login -f, then the user has already been authenticated */
+ cxt.noauth = cxt.noauth && getuid() == 0 ? 1 : 0;
+
+ if (!cxt.noauth)
+ loginpam_auth(&cxt);
+
+ /*
+ * Authentication may be skipped (for example, during krlogin, rlogin,
+ * etc...), but it doesn't mean that we can skip other account checks.
+ * The account could be disabled or password expired (although
+ * kerberos ticket is valid). -- kzak@redhat.com (22-Feb-2006)
+ */
+ loginpam_acct(&cxt);
+
+ if (!(cxt.pwd = get_passwd_entry(cxt.username, &pwdbuf, &_pwd))) {
+ warnx(_("\nSession setup problem, abort."));
+ syslog(LOG_ERR, _("Invalid user name \"%s\" in %s:%d. Abort."),
+ cxt.username, __FUNCTION__, __LINE__);
+ pam_end(cxt.pamh, PAM_SYSTEM_ERR);
+ sleepexit(EXIT_FAILURE);
+ }
+
+ pwd = cxt.pwd;
+ cxt.username = pwd->pw_name;
+
+ /*
+ * Initialize the supplementary group list. This should be done before
+ * pam_setcred because the PAM modules might add groups during
+ * pam_setcred.
+ *
+ * For root we don't call initgroups, instead we call setgroups with
+ * group 0. This avoids the need to step through the whole group file,
+ * which can cause problems if NIS, NIS+, LDAP or something similar
+ * is used and the machine has network problems.
+ */
+ retcode = pwd->pw_uid ? initgroups(cxt.username, pwd->pw_gid) : /* user */
+ setgroups(0, NULL); /* root */
+ if (retcode < 0) {
+ syslog(LOG_ERR, _("groups initialization failed: %m"));
+ warnx(_("\nSession setup problem, abort."));
+ pam_end(cxt.pamh, PAM_SYSTEM_ERR);
+ sleepexit(EXIT_FAILURE);
+ }
+
+ /*
+ * Open PAM session (after successful authentication and account check)
+ */
+ loginpam_session(&cxt);
+
+ /* committed to login -- turn off timeout */
+ alarm((unsigned int)0);
+
+ endpwent();
+
+ cxt.quiet = get_hushlogin_status(pwd);
+
+ log_utmp(&cxt);
+ log_audit(&cxt, 1);
+ log_lastlog(&cxt);
+
+ chown_tty(&cxt);
+
+ if (setgid(pwd->pw_gid) < 0 && pwd->pw_gid) {
+ syslog(LOG_ALERT, _("setgid() failed"));
+ exit(EXIT_FAILURE);
+ }
+
+ if (pwd->pw_shell == NULL || *pwd->pw_shell == '\0')
+ pwd->pw_shell = _PATH_BSHELL;
+
+ init_environ(&cxt); /* init $HOME, $TERM ... */
+
+ setproctitle("login", cxt.username);
+
+ log_syslog(&cxt);
+
+ if (!cxt.quiet) {
+ motd();
+
+#ifdef LOGIN_STAT_MAIL
+ /*
+ * This turns out to be a bad idea: when the mail spool
+ * is NFS mounted, and the NFS connection hangs, the
+ * login hangs, even root cannot login.
+ * Checking for mail should be done from the shell.
+ */
+ {
+ struct stat st;
+ char *mail;
+
+ mail = getenv("MAIL");
+ if (mail && stat(mail, &st) == 0 && st.st_size != 0) {
+ if (st.st_mtime > st.st_atime)
+ printf(_("You have new mail.\n"));
+ else
+ printf(_("You have mail.\n"));
+ }
+ }
+#endif
+ }
+
+ /*
+ * Detach the controlling terminal, fork() and create, new session
+ * and reinilizalize syslog stuff.
+ */
+ fork_session(&cxt);
+
+ /* discard permissions last so can't get killed and drop core */
+ if (setuid(pwd->pw_uid) < 0 && pwd->pw_uid) {
+ syslog(LOG_ALERT, _("setuid() failed"));
+ exit(EXIT_FAILURE);
+ }
+
+ /* wait until here to change directory! */
+ if (chdir(pwd->pw_dir) < 0) {
+ warn(_("%s: change directory failed"), pwd->pw_dir);
+
+ if (!getlogindefs_bool("DEFAULT_HOME", 1))
+ exit(0);
+ if (chdir("/"))
+ exit(EXIT_FAILURE);
+ pwd->pw_dir = "/";
+ printf(_("Logging in with home = \"/\".\n"));
+ }
+
+ /* if the shell field has a space: treat it like a shell script */
+ if (strchr(pwd->pw_shell, ' ')) {
+ buff = xmalloc(strlen(pwd->pw_shell) + 6);
+
+ strcpy(buff, "exec ");
+ strcat(buff, pwd->pw_shell);
+ childArgv[childArgc++] = "/bin/sh";
+ childArgv[childArgc++] = "-sh";
+ childArgv[childArgc++] = "-c";
+ childArgv[childArgc++] = buff;
+ } else {
+ char tbuf[PATH_MAX + 2], *p;
+
+ tbuf[0] = '-';
+ xstrncpy(tbuf + 1, ((p = strrchr(pwd->pw_shell, '/')) ?
+ p + 1 : pwd->pw_shell), sizeof(tbuf) - 1);
+
+ childArgv[childArgc++] = pwd->pw_shell;
+ childArgv[childArgc++] = xstrdup(tbuf);
+ }
+
+ childArgv[childArgc++] = NULL;
+
+ execvp(childArgv[0], childArgv + 1);
+
+ if (!strcmp(childArgv[0], "/bin/sh"))
+ warn(_("couldn't exec shell script"));
+ else
+ warn(_("no shell"));
+
+ exit(EXIT_SUCCESS);
+}
+
+
diff --git a/login-utils/logindefs.c b/login-utils/logindefs.c
new file mode 100644
index 0000000..84f8d93
--- /dev/null
+++ b/login-utils/logindefs.c
@@ -0,0 +1,297 @@
+/*
+ * Copyright (C) 2003, 2004, 2005 Thorsten Kukuk
+ * Author: Thorsten Kukuk <kukuk@suse.de>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain any existing copyright
+ * notice, and this entire permission notice in its entirety,
+ * including the disclaimer of warranties.
+ *
+ * 2. Redistributions in binary form must reproduce all prior and current
+ * copyright notices, this list of conditions, and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ *
+ * 3. The name of any author may not be used to endorse or promote
+ * products derived from this software without their specific prior
+ * written permission.
+ */
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/syslog.h>
+
+#include "c.h"
+#include "closestream.h"
+#include "logindefs.h"
+#include "nls.h"
+#include "pathnames.h"
+#include "xalloc.h"
+
+struct item {
+ char *name; /* name of the option. */
+ char *value; /* value of the option. */
+ char *path; /* name of config file for this option. */
+
+ struct item *next; /* pointer to next option. */
+};
+
+static struct item *list = NULL;
+
+void (*logindefs_load_defaults)(void) = NULL;
+
+void free_getlogindefs_data(void)
+{
+ struct item *ptr;
+
+ ptr = list;
+ while (ptr) {
+ struct item *tmp = ptr->next;
+
+ free(ptr->path);
+ free(ptr->name);
+ free(ptr->value);
+ free(ptr);
+ ptr = tmp;
+ }
+
+ list = NULL;
+}
+
+static void store(const char *name, const char *value, const char *path)
+{
+ struct item *new = xmalloc(sizeof(struct item));
+
+ if (!name)
+ abort();
+
+ new->name = xstrdup(name);
+ new->value = value && *value ? xstrdup(value) : NULL;
+ new->path = xstrdup(path);
+ new->next = list;
+ list = new;
+}
+
+void logindefs_load_file(const char *filename)
+{
+ FILE *f;
+ char buf[BUFSIZ];
+
+ f = fopen(filename, "r");
+ if (!f)
+ return;
+
+ while (fgets(buf, sizeof(buf), f)) {
+
+ char *p, *name, *data = NULL;
+
+ if (*buf == '#' || *buf == '\n')
+ continue; /* only comment or empty line */
+
+ p = strchr(buf, '#');
+ if (p)
+ *p = '\0';
+ else {
+ size_t n = strlen(buf);
+ if (n && *(buf + n - 1) == '\n')
+ *(buf + n - 1) = '\0';
+ }
+
+ if (!*buf)
+ continue; /* empty line */
+
+ /* ignore space at begin of the line */
+ name = buf;
+ while (*name && isspace((unsigned)*name))
+ name++;
+
+ /* go to the end of the name */
+ data = name;
+ while (*data && !(isspace((unsigned)*data) || *data == '='))
+ data++;
+ if (data > name && *data)
+ *data++ = '\0';
+
+ if (!*name || data == name)
+ continue;
+
+ /* go to the begin of the value */
+ while (*data
+ && (isspace((unsigned)*data) || *data == '='
+ || *data == '"'))
+ data++;
+
+ /* remove space at the end of the value */
+ p = data + strlen(data);
+ if (p > data)
+ p--;
+ while (p > data && (isspace((unsigned)*p) || *p == '"'))
+ *p-- = '\0';
+
+ store(name, data, filename);
+ }
+
+ fclose(f);
+}
+
+static void load_defaults()
+{
+ if (logindefs_load_defaults)
+ logindefs_load_defaults();
+ else
+ logindefs_load_file(_PATH_LOGINDEFS);
+}
+
+static struct item *search(const char *name)
+{
+ struct item *ptr;
+
+ if (!list)
+ load_defaults();
+
+ ptr = list;
+ while (ptr != NULL) {
+ if (strcasecmp(name, ptr->name) == 0)
+ return ptr;
+ ptr = ptr->next;
+ }
+
+ return NULL;
+}
+
+static const char *search_config(const char *name)
+{
+ struct item *ptr;
+
+ ptr = list;
+ while (ptr != NULL) {
+ if (strcasecmp(name, ptr->name) == 0)
+ return ptr->path;
+ ptr = ptr->next;
+ }
+
+ return NULL;
+}
+
+int getlogindefs_bool(const char *name, int dflt)
+{
+ struct item *ptr = search(name);
+ return ptr && ptr->value ? (strcasecmp(ptr->value, "yes") == 0) : dflt;
+}
+
+unsigned long getlogindefs_num(const char *name, long dflt)
+{
+ struct item *ptr = search(name);
+ char *end = NULL;
+ unsigned long retval;
+
+ if (!ptr || !ptr->value)
+ return dflt;
+
+ errno = 0;
+ retval = strtoul(ptr->value, &end, 0);
+ if (end && *end == '\0' && !errno)
+ return retval;
+
+ syslog(LOG_NOTICE, _("%s: %s contains invalid numerical value: %s"),
+ search_config(name), name, ptr->value);
+ return dflt;
+}
+
+/*
+ * Returns:
+ * @dflt if @name not found
+ * "" (empty string) if found, but value not defined
+ * "string" if found
+ */
+const char *getlogindefs_str(const char *name, const char *dflt)
+{
+ struct item *ptr = search(name);
+
+ if (!ptr)
+ return dflt;
+ if (!ptr->value)
+ return "";
+ return ptr->value;
+}
+
+/*
+ * For compatibility with shadow-utils we have to support additional
+ * syntax for environment variables in login.defs(5) file. The standard
+ * syntax is:
+ *
+ * ENV_FOO data
+ *
+ * but shadow-utils supports also
+ *
+ * ENV_FOO FOO=data
+ *
+ * the FOO= prefix has to be remove before we call setenv().
+ */
+int logindefs_setenv(const char *name, const char *conf, const char *dflt)
+{
+ const char *val = getlogindefs_str(conf, dflt);
+ const char *p;
+
+ if (!val)
+ return -1;
+
+ p = strchr(val, '=');
+ if (p) {
+ size_t sz = strlen(name);
+
+ if (strncmp(val, name, sz) == 0 && *(p + 1)) {
+ val = p + 1;
+ if (*val == '"')
+ val++;
+ if (!*val)
+ val = dflt;
+ }
+ }
+
+ return val ? setenv(name, val, 1) : -1;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char *argv[])
+{
+ char *name, *type;
+ atexit(close_stdout);
+
+ if (argc <= 1)
+ errx(EXIT_FAILURE, "usage: %s <filename> "
+ "[<str|num|bool> <valname>]", argv[0]);
+
+ logindefs_load_file(argv[1]);
+
+ if (argc != 4) { /* list all */
+ struct item *ptr;
+
+ for (ptr = list; ptr; ptr = ptr->next)
+ printf("%s: $%s: '%s'\n", ptr->path, ptr->name,
+ ptr->value);
+
+ return EXIT_SUCCESS;
+ }
+
+ type = argv[2];
+ name = argv[3];
+
+ if (strcmp(type, "str") == 0)
+ printf("$%s: '%s'\n", name, getlogindefs_str(name, "DEFAULT"));
+ else if (strcmp(type, "num") == 0)
+ printf("$%s: '%ld'\n", name, getlogindefs_num(name, 0));
+ else if (strcmp(type, "bool") == 0)
+ printf("$%s: '%s'\n", name,
+ getlogindefs_bool(name, 0) ? "Y" : "N");
+
+ return EXIT_SUCCESS;
+}
+#endif
diff --git a/login-utils/logindefs.h b/login-utils/logindefs.h
new file mode 100644
index 0000000..c5ccbc9
--- /dev/null
+++ b/login-utils/logindefs.h
@@ -0,0 +1,12 @@
+#ifndef UTIL_LINUX_LOGINDEFS_H
+#define UTIL_LINUX_LOGINDEFS_H
+
+extern void logindefs_load_file(const char *filename);
+extern void (*logindefs_load_defaults)(void);
+extern int getlogindefs_bool(const char *name, int dflt);
+extern unsigned long getlogindefs_num(const char *name, long dflt);
+extern const char *getlogindefs_str(const char *name, const char *dflt);
+extern void free_getlogindefs_data(void);
+extern int logindefs_setenv(const char *name, const char *conf, const char *dflt);
+
+#endif /* UTIL_LINUX_LOGINDEFS_H */
diff --git a/login-utils/newgrp.1 b/login-utils/newgrp.1
new file mode 100644
index 0000000..bb5eb00
--- /dev/null
+++ b/login-utils/newgrp.1
@@ -0,0 +1,34 @@
+.\" Original author unknown. This man page is in the public domain.
+.\" Modified Sat Oct 9 17:46:48 1993 by faith@cs.unc.edu
+.TH NEWGRP 1 "October 1993" "util-linux" "User Commands"
+.SH NAME
+newgrp \- log in to a new group
+.SH SYNOPSIS
+.B newgrp
+.RI [ group ]
+.SH DESCRIPTION
+.B newgrp
+changes the group identification of its caller, analogously to
+.BR login (1).
+The same person remains logged in, and the current directory
+is unchanged, but calculations of access permissions to files are performed
+with respect to the new group ID.
+.LP
+If no group is specified, the GID is changed to the login GID.
+.LP
+.SH FILES
+.I /etc/group
+.br
+.I /etc/passwd
+
+.SH "SEE ALSO"
+.BR login (1),
+.BR group (5)
+
+.SH AUTHOR
+Originally by Michael Haardt. Currently maintained by
+Peter Orbaek (poe@daimi.aau.dk).
+
+.SH AVAILABILITY
+The newgrp command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/login-utils/newgrp.c b/login-utils/newgrp.c
new file mode 100644
index 0000000..4f6de12
--- /dev/null
+++ b/login-utils/newgrp.c
@@ -0,0 +1,185 @@
+/* setgrp.c - by Michael Haardt. Set the gid if possible
+ * Added a bit more error recovery/reporting - poe
+ * Vesa Roukonen added code for asking password */
+
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+/*
+ * This command is deprecated. The utility is in maintenance mode,
+ * meaning we keep them in source tree for backward compatibility
+ * only. Do not waste time making this command better, unless the
+ * fix is about security or other very critical issue.
+ *
+ * See Documentation/deprecated.txt for more information.
+ */
+
+#include <errno.h>
+#include <getopt.h>
+#include <grp.h>
+#include <pwd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifdef HAVE_CRYPT_H
+# include <crypt.h>
+#endif
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "pathnames.h"
+
+/* try to read password from gshadow */
+static char *get_gshadow_pwd(char *groupname)
+{
+ char buf[BUFSIZ];
+ char *pwd = NULL;
+ FILE *f;
+
+ if (groupname == NULL || *groupname == '\0')
+ return NULL;
+
+ f = fopen(_PATH_GSHADOW, "r");
+ if (!f)
+ return NULL;
+
+ while (fgets(buf, sizeof buf, f)) {
+ char *cp = strchr(buf, ':');
+ if (!cp)
+ /* any junk in gshadow? */
+ continue;
+ *cp = '\0';
+ if (strcmp(buf, groupname) == 0) {
+ if (cp - buf >= BUFSIZ)
+ /* only group name on line */
+ break;
+ pwd = cp + 1;
+ if ((cp = strchr(pwd, ':')) && pwd == cp + 1)
+ /* empty password */
+ pwd = NULL;
+ else if (cp)
+ *cp = '\0';
+ break;
+ }
+ }
+ fclose(f);
+ return pwd ? strdup(pwd) : NULL;
+}
+
+static int allow_setgid(struct passwd *pe, struct group *ge)
+{
+ char **look;
+ int notfound = 1;
+ char *pwd, *xpwd;
+
+ if (getuid() == 0)
+ /* root may do anything */
+ return TRUE;
+ if (ge->gr_gid == pe->pw_gid)
+ /* You can switch back to your default group */
+ return TRUE;
+
+ look = ge->gr_mem;
+ while (*look && (notfound = strcmp(*look++, pe->pw_name))) ;
+
+ if (!notfound)
+ /* member of group => OK */
+ return TRUE;
+
+ /* Ask for password. Often there is no password in /etc/group, so
+ * contrary to login et al. we let an empty password mean the same
+ * as in /etc/passwd */
+
+ /* check /etc/gshadow */
+ if (!(pwd = get_gshadow_pwd(ge->gr_name)))
+ pwd = ge->gr_passwd;
+
+ if (pwd && *pwd && (xpwd = getpass(_("Password: "))))
+ if (strcmp(pwd, crypt(xpwd, pwd)) == 0)
+ /* password accepted */
+ return TRUE;
+
+ /* default to denial */
+ return FALSE;
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, USAGE_HEADER);
+ fprintf(out, _(" %s <group>\n"), program_invocation_short_name);
+ fprintf(out, USAGE_OPTIONS);
+ fprintf(out, USAGE_HELP);
+ fprintf(out, USAGE_VERSION);
+ fprintf(out, USAGE_MAN_TAIL("newgrp(1)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ struct passwd *pw_entry;
+ struct group *gr_entry;
+ char *shell;
+ char ch;
+ static const struct option longopts[] = {
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((ch = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
+ switch (ch) {
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (!(pw_entry = getpwuid(getuid())))
+ err(EXIT_FAILURE, _("who are you?"));
+
+ shell = (pw_entry->pw_shell && *pw_entry->pw_shell ?
+ pw_entry->pw_shell : _PATH_BSHELL);
+
+ if (argc < 2) {
+ if (setgid(pw_entry->pw_gid) < 0)
+ err(EXIT_FAILURE, _("setgid failed"));
+ } else {
+ errno = 0;
+ if (!(gr_entry = getgrnam(argv[1]))) {
+ if (errno)
+ err(EXIT_FAILURE, _("no such group"));
+ else
+ /* No group */
+ errx(EXIT_FAILURE, _("no such group"));
+ } else {
+ if (allow_setgid(pw_entry, gr_entry)) {
+ if (setgid(gr_entry->gr_gid) < 0)
+ err(EXIT_FAILURE, _("setgid failed"));
+ } else
+ errx(EXIT_FAILURE, _("permission denied"));
+ }
+ }
+
+ if (setuid(getuid()) < 0)
+ err(EXIT_FAILURE, _("setuid failed"));
+
+ fflush(stdout);
+ fflush(stderr);
+ execl(shell, shell, (char *)0);
+ warn(_("exec %s failed"), shell);
+ fflush(stderr);
+
+ return EXIT_FAILURE;
+}
diff --git a/login-utils/selinux_utils.c b/login-utils/selinux_utils.c
new file mode 100644
index 0000000..e709d00
--- /dev/null
+++ b/login-utils/selinux_utils.c
@@ -0,0 +1,51 @@
+#include <selinux/av_permissions.h>
+#include <selinux/context.h>
+#include <selinux/flask.h>
+#include <selinux/selinux.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include "selinux_utils.h"
+
+int checkAccess(char *chuser, int access)
+{
+ int status = -1;
+ security_context_t user_context;
+ const char *user = NULL;
+ if (getprevcon(&user_context) == 0) {
+ context_t c = context_new(user_context);
+ user = context_user_get(c);
+ if (strcmp(chuser, user) == 0) {
+ status = 0;
+ } else {
+ struct av_decision avd;
+ int retval = security_compute_av(user_context,
+ user_context,
+ SECCLASS_PASSWD,
+ access,
+ &avd);
+ if ((retval == 0) &&
+ ((access & avd.allowed) == (unsigned)access))
+ status = 0;
+ }
+ context_free(c);
+ freecon(user_context);
+ }
+ return status;
+}
+
+int setupDefaultContext(char *orig_file)
+{
+ if (is_selinux_enabled() > 0) {
+ security_context_t scontext;
+ if (getfilecon(orig_file, &scontext) < 0)
+ return 1;
+ if (setfscreatecon(scontext) < 0) {
+ freecon(scontext);
+ return 1;
+ }
+ freecon(scontext);
+ }
+ return 0;
+}
diff --git a/login-utils/selinux_utils.h b/login-utils/selinux_utils.h
new file mode 100644
index 0000000..5bf393c
--- /dev/null
+++ b/login-utils/selinux_utils.h
@@ -0,0 +1,2 @@
+extern int checkAccess(char *name,int access);
+extern int setupDefaultContext(char *orig_file);
diff --git a/login-utils/setpwnam.c b/login-utils/setpwnam.c
new file mode 100644
index 0000000..23aef53
--- /dev/null
+++ b/login-utils/setpwnam.c
@@ -0,0 +1,218 @@
+/*
+ * setpwnam.c -- edit an entry in a password database.
+ *
+ * (c) 1994 Salvatore Valente <svalente@mit.edu>
+ * This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * Edited 11/10/96 (DD/MM/YY ;-) by Nicolai Langfeldt (janl@math.uio.no)
+ * to read /etc/passwd directly so that passwd, chsh and chfn can work on
+ * machines that run NIS (né YP). Changes will not be made to usernames
+ * starting with +.
+ *
+ * This file is distributed with no warranty.
+ *
+ * Usage:
+ * 1) get a struct passwd * from getpwnam().
+ * You should assume a struct passwd has an infinite number of fields, so
+ * you should not try to create one from scratch.
+ * 2) edit the fields you want to edit.
+ * 3) call setpwnam() with the edited struct passwd.
+ *
+ * A _normal user_ program should never directly manipulate etc/passwd but
+ * /use getpwnam() and (family, as well as) setpwnam().
+ *
+ * But, setpwnam was made to _edit_ the password file. For use by chfn,
+ * chsh and passwd. _I_ _HAVE_ to read and write /etc/passwd directly. Let
+ * those who say nay be forever silent and think about how getpwnam (and
+ * family) works on a machine running YP.
+ *
+ * Added checks for failure of malloc() and removed error reporting to
+ * stderr, this is a library function and should not print on the screen,
+ * but return appropriate error codes.
+ * 27-Jan-97 - poe@daimi.aau.dk
+ *
+ * Thanks to "two guys named Ian".
+ *
+ * $Author: poer $
+ * $Revision: 1.13 $
+ * $Date: 1997/06/23 08:26:29 $
+ */
+
+#undef DEBUG
+
+#include <errno.h>
+#include <fcntl.h>
+#include <paths.h>
+#include <pwd.h>
+#include <shadow.h>
+#include <signal.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "fileutils.h"
+#include "closestream.h"
+#include "setpwnam.h"
+
+static void pw_init(void);
+
+/*
+ * setpwnam () --
+ * takes a struct passwd in which every field is filled in and valid.
+ * If the given username exists in the passwd file, the entry is
+ * replaced with the given entry.
+ */
+int setpwnam(struct passwd *pwd)
+{
+ FILE *fp = NULL, *pwf = NULL;
+ int save_errno;
+ int found;
+ int namelen;
+ int buflen = 256;
+ int contlen, rc;
+ char *linebuf = NULL;
+ char *tmpname = NULL;
+ char *atomic_dir = "/etc";
+
+ pw_init();
+
+ if ((fp = xfmkstemp(&tmpname, atomic_dir)) == NULL)
+ return -1;
+
+ /* ptmp should be owned by root.root or root.wheel */
+ if (fchown(fileno(fp), (uid_t) 0, (gid_t) 0) < 0)
+ goto fail;
+
+ /* acquire exclusive lock */
+ if (lckpwdf() < 0)
+ goto fail;
+ pwf = fopen(PASSWD_FILE, "r");
+ if (!pwf)
+ goto fail;
+
+ namelen = strlen(pwd->pw_name);
+
+ linebuf = malloc(buflen);
+ if (!linebuf)
+ goto fail;
+
+ /* parse the passwd file */
+ found = false;
+
+ /* Do you wonder why I don't use getpwent? Read comments at top of
+ * file */
+ while (fgets(linebuf, buflen, pwf) != NULL) {
+ contlen = strlen(linebuf);
+ while (linebuf[contlen - 1] != '\n' && !feof(pwf)) {
+ char *tmp;
+ /* Extend input buffer if it failed getting the whole line,
+ * so now we double the buffer size */
+ buflen *= 2;
+ tmp = realloc(linebuf, buflen);
+ if (tmp == NULL)
+ goto fail;
+ linebuf = tmp;
+ /* And fill the rest of the buffer */
+ if (fgets(&linebuf[contlen], buflen / 2, pwf) == NULL)
+ break;
+ contlen = strlen(linebuf);
+ /* That was a lot of work for nothing. Gimme perl! */
+ }
+
+ /* Is this the username we were sent to change? */
+ if (!found && linebuf[namelen] == ':' &&
+ !strncmp(linebuf, pwd->pw_name, namelen)) {
+ /* Yes! So go forth in the name of the Lord and
+ * change it! */
+ if (putpwent(pwd, fp) < 0)
+ goto fail;
+ found = true;
+ continue;
+ }
+ /* Nothing in particular happened, copy input to output */
+ fputs(linebuf, fp);
+ }
+
+ /* xfmkstemp is too restrictive by default for passwd file */
+ if (fchmod(fileno(fp), 0644) < 0)
+ goto fail;
+ rc = close_stream(fp);
+ fp = NULL;
+ if (rc != 0)
+ goto fail;
+
+ fclose(pwf); /* I don't think I want to know if this failed */
+ pwf = NULL;
+
+ if (!found) {
+ errno = ENOENT; /* give me something better */
+ goto fail;
+ }
+
+ /* we don't care if we can't remove the backup file */
+ unlink(PASSWD_FILE ".OLD");
+ /* we don't care if we can't create the backup file */
+ ignore_result(link(PASSWD_FILE, PASSWD_FILE ".OLD"));
+ /* we DO care if we can't rename to the passwd file */
+ if (rename(tmpname, PASSWD_FILE) < 0)
+ goto fail;
+ /* finally: success */
+ ulckpwdf();
+ return 0;
+
+ fail:
+ save_errno = errno;
+ ulckpwdf();
+ if (fp != NULL)
+ fclose(fp);
+ if (tmpname != NULL)
+ unlink(tmpname);
+ free(tmpname);
+ if (pwf != NULL)
+ fclose(pwf);
+ free(linebuf);
+ errno = save_errno;
+ return -1;
+}
+
+/* Set up the limits so that we're not foiled */
+static void pw_init(void)
+{
+ struct rlimit rlim;
+
+ /* Unlimited resource limits. */
+ rlim.rlim_cur = rlim.rlim_max = RLIM_INFINITY;
+ setrlimit(RLIMIT_CPU, &rlim);
+ setrlimit(RLIMIT_FSIZE, &rlim);
+ setrlimit(RLIMIT_STACK, &rlim);
+ setrlimit(RLIMIT_DATA, &rlim);
+ setrlimit(RLIMIT_RSS, &rlim);
+
+#ifndef DEBUG
+ /* Don't drop core (not really necessary, but GP's). */
+ rlim.rlim_cur = rlim.rlim_max = 0;
+ setrlimit(RLIMIT_CORE, &rlim);
+#endif
+
+ /* Turn off signals. */
+ signal(SIGALRM, SIG_IGN);
+ signal(SIGHUP, SIG_IGN);
+ signal(SIGINT, SIG_IGN);
+ signal(SIGPIPE, SIG_IGN);
+ signal(SIGQUIT, SIG_IGN);
+ signal(SIGTERM, SIG_IGN);
+ signal(SIGTSTP, SIG_IGN);
+ signal(SIGTTOU, SIG_IGN);
+
+ /* Create with exact permissions. */
+ umask(0);
+}
diff --git a/login-utils/setpwnam.h b/login-utils/setpwnam.h
new file mode 100644
index 0000000..7d69445
--- /dev/null
+++ b/login-utils/setpwnam.h
@@ -0,0 +1,29 @@
+/*
+ * setpwnam.h --
+ * define several paths
+ *
+ * (c) 1994 Martin Schulze <joey@infodrom.north.de>
+ * This file is based on setpwnam.c which is
+ * (c) 1994 Salvatore Valente <svalente@mit.edu>
+ *
+ * This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ */
+
+#include "pathnames.h"
+
+#ifndef DEBUG
+# define PASSWD_FILE _PATH_PASSWD
+# define GROUP_FILE _PATH_GROUP
+# define SHADOW_FILE _PATH_SHADOW_PASSWD
+# define SGROUP_FILE _PATH_GSHADOW
+#else
+# define PASSWD_FILE "/tmp/passwd"
+# define GROUP_FILE "/tmp/group"
+# define SHADOW_FILE "/tmp/shadow"
+# define SGROUP_FILE "/tmp/gshadow"
+#endif
+
+extern int setpwnam (struct passwd *pwd);
diff --git a/login-utils/su.c b/login-utils/su.c
new file mode 100644
index 0000000..35a4277
--- /dev/null
+++ b/login-utils/su.c
@@ -0,0 +1,813 @@
+/* su for Linux. Run a shell with substitute user and group IDs.
+ Copyright (C) 1992-2006 Free Software Foundation, Inc.
+ Copyright (C) 2012 SUSE Linux Products GmbH, Nuernberg
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Run a shell with the real and effective UID and GID and groups
+ of USER, default `root'.
+
+ The shell run is taken from USER's password entry, /bin/sh if
+ none is specified there. If the account has a password, su
+ prompts for a password unless run by a user with real UID 0.
+
+ Does not change the current directory.
+ Sets `HOME' and `SHELL' from the password entry for USER, and if
+ USER is not root, sets `USER' and `LOGNAME' to USER.
+ The subshell is not a login shell.
+
+ If one or more ARGs are given, they are passed as additional
+ arguments to the subshell.
+
+ Does not handle /bin/sh or other shells specially
+ (setting argv[0] to "-su", passing -c only to certain shells, etc.).
+ I don't see the point in doing that, and it's ugly.
+
+ Based on an implemenation by David MacKenzie <djm@gnu.ai.mit.edu>. */
+
+enum
+{
+ EXIT_CANNOT_INVOKE = 126,
+ EXIT_ENOENT = 127
+};
+
+#include <config.h>
+#include <stdio.h>
+#include <getopt.h>
+#include <sys/types.h>
+#include <pwd.h>
+#include <grp.h>
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+#include <signal.h>
+#include <sys/wait.h>
+#include <syslog.h>
+
+#include "err.h"
+
+#include <stdbool.h>
+#include "c.h"
+#include "xalloc.h"
+#include "nls.h"
+#include "pathnames.h"
+#include "env.h"
+
+/* name of the pam configuration files. separate configs for su and su - */
+#define PAM_SERVICE_NAME "su"
+#define PAM_SERVICE_NAME_L "su-l"
+
+#define is_pam_failure(_rc) ((_rc) != PAM_SUCCESS)
+
+#include "logindefs.h"
+
+/* The shell to run if none is given in the user's passwd entry. */
+#define DEFAULT_SHELL "/bin/sh"
+
+/* The user to become if none is specified. */
+#define DEFAULT_USER "root"
+
+#ifndef HAVE_ENVIRON_DECL
+extern char **environ;
+#endif
+
+static void run_shell (char const *, char const *, char **, size_t)
+ __attribute__ ((__noreturn__));
+
+/* If true, pass the `-f' option to the subshell. */
+static bool fast_startup;
+
+/* If true, simulate a login instead of just starting a shell. */
+static bool simulate_login;
+
+/* If true, change some environment vars to indicate the user su'd to. */
+static bool change_environment;
+
+/* If true, then don't call setsid() with a command. */
+int same_session = 0;
+
+static bool _pam_session_opened;
+static bool _pam_cred_established;
+static sig_atomic_t volatile caught_signal = false;
+static pam_handle_t *pamh = NULL;
+
+static struct option const longopts[] =
+{
+ {"command", required_argument, NULL, 'c'},
+ {"session-command", required_argument, NULL, 'C'},
+ {"fast", no_argument, NULL, 'f'},
+ {"login", no_argument, NULL, 'l'},
+ {"preserve-environment", no_argument, NULL, 'p'},
+ {"shell", required_argument, NULL, 's'},
+ {"help", no_argument, 0, 'h'},
+ {"version", no_argument, 0, 'V'},
+ {NULL, 0, NULL, 0}
+};
+
+/* Log the fact that someone has run su to the user given by PW;
+ if SUCCESSFUL is true, they gave the correct password, etc. */
+
+static void
+log_su (struct passwd const *pw, bool successful)
+{
+ const char *new_user, *old_user, *tty;
+
+ new_user = pw->pw_name;
+ /* The utmp entry (via getlogin) is probably the best way to identify
+ the user, especially if someone su's from a su-shell. */
+ old_user = getlogin ();
+ if (!old_user)
+ {
+ /* getlogin can fail -- usually due to lack of utmp entry.
+ Resort to getpwuid. */
+ struct passwd *pwd = getpwuid (getuid ());
+ old_user = (pwd ? pwd->pw_name : "");
+ }
+ tty = ttyname (STDERR_FILENO);
+ if (!tty)
+ tty = "none";
+
+ openlog (program_invocation_short_name, 0 , LOG_AUTH);
+ syslog (LOG_NOTICE, "%s(to %s) %s on %s",
+ successful ? "" : "FAILED SU ",
+ new_user, old_user, tty);
+ closelog ();
+}
+
+static struct pam_conv conv =
+{
+ misc_conv,
+ NULL
+};
+
+static void
+cleanup_pam (int retcode)
+{
+ int saved_errno = errno;
+
+ if (_pam_session_opened)
+ pam_close_session (pamh, 0);
+
+ if (_pam_cred_established)
+ pam_setcred (pamh, PAM_DELETE_CRED | PAM_SILENT);
+
+ pam_end(pamh, retcode);
+
+ errno = saved_errno;
+}
+
+/* Signal handler for parent process. */
+static void
+su_catch_sig (int sig __attribute__((__unused__)))
+{
+ caught_signal = true;
+}
+
+/* Export env variables declared by PAM modules. */
+static void
+export_pamenv (void)
+{
+ char **env;
+
+ /* This is a copy but don't care to free as we exec later anyways. */
+ env = pam_getenvlist (pamh);
+ while (env && *env)
+ {
+ if (putenv (*env) != 0)
+ err (EXIT_FAILURE, NULL);
+ env++;
+ }
+}
+
+static void
+create_watching_parent (void)
+{
+ pid_t child;
+ sigset_t ourset;
+ int status = 0;
+ int retval;
+
+ retval = pam_open_session (pamh, 0);
+ if (is_pam_failure(retval))
+ {
+ cleanup_pam (retval);
+ errx (EXIT_FAILURE, _("cannot not open session: %s"),
+ pam_strerror (pamh, retval));
+ }
+ else
+ _pam_session_opened = 1;
+
+ child = fork ();
+ if (child == (pid_t) -1)
+ {
+ cleanup_pam (PAM_ABORT);
+ err (EXIT_FAILURE, _("cannot create child process"));
+ }
+
+ /* the child proceeds to run the shell */
+ if (child == 0)
+ return;
+
+ /* In the parent watch the child. */
+
+ /* su without pam support does not have a helper that keeps
+ sitting on any directory so let's go to /. */
+ if (chdir ("/") != 0)
+ warn (_("cannot change directory to %s"), "/");
+
+ sigfillset (&ourset);
+ if (sigprocmask (SIG_BLOCK, &ourset, NULL))
+ {
+ warn (_("cannot block signals"));
+ caught_signal = true;
+ }
+ if (!caught_signal)
+ {
+ struct sigaction action;
+ action.sa_handler = su_catch_sig;
+ sigemptyset (&action.sa_mask);
+ action.sa_flags = 0;
+ sigemptyset (&ourset);
+ if (!same_session)
+ {
+ if (sigaddset(&ourset, SIGINT) || sigaddset(&ourset, SIGQUIT))
+ {
+ warn (_("cannot set signal handler"));
+ caught_signal = true;
+ }
+ }
+ if (!caught_signal && (sigaddset(&ourset, SIGTERM)
+ || sigaddset(&ourset, SIGALRM)
+ || sigaction(SIGTERM, &action, NULL)
+ || sigprocmask(SIG_UNBLOCK, &ourset, NULL))) {
+ warn (_("cannot set signal handler"));
+ caught_signal = true;
+ }
+ if (!caught_signal && !same_session && (sigaction(SIGINT, &action, NULL)
+ || sigaction(SIGQUIT, &action, NULL)))
+ {
+ warn (_("cannot set signal handler"));
+ caught_signal = true;
+ }
+ }
+ if (!caught_signal)
+ {
+ pid_t pid;
+ for (;;)
+ {
+ pid = waitpid (child, &status, WUNTRACED);
+
+ if (pid != (pid_t)-1 && WIFSTOPPED (status))
+ {
+ kill (getpid (), SIGSTOP);
+ /* once we get here, we must have resumed */
+ kill (pid, SIGCONT);
+ }
+ else
+ break;
+ }
+ if (pid != (pid_t)-1)
+ if (WIFSIGNALED (status))
+ status = WTERMSIG (status) + 128;
+ else
+ status = WEXITSTATUS (status);
+ else
+ status = 1;
+ }
+ else
+ status = 1;
+
+ if (caught_signal)
+ {
+ fprintf (stderr, _("\nSession terminated, killing shell..."));
+ kill (child, SIGTERM);
+ }
+
+ cleanup_pam (PAM_SUCCESS);
+
+ if (caught_signal)
+ {
+ sleep (2);
+ kill (child, SIGKILL);
+ fprintf (stderr, _(" ...killed.\n"));
+ }
+ exit (status);
+}
+
+static void
+authenticate (const struct passwd *pw)
+{
+ const struct passwd *lpw;
+ const char *cp;
+ int retval;
+
+ retval = pam_start (simulate_login ? PAM_SERVICE_NAME_L : PAM_SERVICE_NAME,
+ pw->pw_name, &conv, &pamh);
+ if (is_pam_failure(retval))
+ goto done;
+
+ if (isatty (0) && (cp = ttyname (0)) != NULL)
+ {
+ const char *tty;
+
+ if (strncmp (cp, "/dev/", 5) == 0)
+ tty = cp + 5;
+ else
+ tty = cp;
+ retval = pam_set_item (pamh, PAM_TTY, tty);
+ if (is_pam_failure(retval))
+ goto done;
+ }
+
+ lpw = getpwuid (getuid ());
+ if (lpw && lpw->pw_name)
+ {
+ retval = pam_set_item (pamh, PAM_RUSER, (const void *) lpw->pw_name);
+ if (is_pam_failure(retval))
+ goto done;
+ }
+
+ retval = pam_authenticate (pamh, 0);
+ if (is_pam_failure(retval))
+ goto done;
+
+ retval = pam_acct_mgmt (pamh, 0);
+ if (retval == PAM_NEW_AUTHTOK_REQD)
+ {
+ /* Password has expired. Offer option to change it. */
+ retval = pam_chauthtok (pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
+ }
+
+done:
+
+ log_su (pw, !is_pam_failure(retval));
+
+ if (is_pam_failure(retval))
+ {
+ const char *msg = pam_strerror(pamh, retval);
+ pam_end(pamh, retval);
+ sleep (getlogindefs_num ("FAIL_DELAY", 1));
+ errx (EXIT_FAILURE, "%s", msg?msg:_("incorrect password"));
+ }
+}
+
+/* Add or clear /sbin and /usr/sbin for the su command
+ used without `-'. */
+
+/* Set if /sbin is found in path. */
+#define SBIN_MASK 0x01
+/* Set if /usr/sbin is found in path. */
+#define USBIN_MASK 0x02
+
+static char *
+addsbin (const char *const path)
+{
+ unsigned char smask = 0;
+ char *ptr, *tmp, *cur, *ret = NULL;
+ size_t len;
+
+ if (!path || *path == 0)
+ return NULL;
+
+ tmp = xstrdup (path);
+ cur = tmp;
+ for (ptr = strsep (&cur, ":"); ptr != NULL; ptr = strsep (&cur, ":"))
+ {
+ if (!strcmp (ptr, "/sbin"))
+ smask |= SBIN_MASK;
+ if (!strcmp (ptr, "/usr/sbin"))
+ smask |= USBIN_MASK;
+ }
+
+ if ((smask & (USBIN_MASK|SBIN_MASK)) == (USBIN_MASK|SBIN_MASK))
+ {
+ free (tmp);
+ return NULL;
+ }
+
+ len = strlen (path);
+ if (!(smask & USBIN_MASK))
+ len += strlen ("/usr/sbin:");
+
+ if (!(smask & SBIN_MASK))
+ len += strlen (":/sbin");
+
+ ret = xmalloc (len + 1);
+ strcpy (tmp, path);
+
+ *ret = 0;
+ cur = tmp;
+ for (ptr = strsep (&cur, ":"); ptr; ptr = strsep (&cur, ":"))
+ {
+ if (!strcmp (ptr, "."))
+ continue;
+ if (*ret)
+ strcat (ret, ":");
+ if (!(smask & USBIN_MASK) && !strcmp (ptr, "/bin"))
+ {
+ strcat (ret, "/usr/sbin:");
+ strcat (ret, ptr);
+ smask |= USBIN_MASK;
+ continue;
+ }
+ if (!(smask & SBIN_MASK) && !strcmp (ptr, "/usr/bin"))
+ {
+ strcat (ret, ptr);
+ strcat (ret, ":/sbin");
+ smask |= SBIN_MASK;
+ continue;
+ }
+ strcat (ret, ptr);
+ }
+ free (tmp);
+
+ if (!(smask & USBIN_MASK))
+ strcat (ret, ":/usr/sbin");
+
+ if (!(smask & SBIN_MASK))
+ strcat (ret, ":/sbin");
+
+ return ret;
+}
+
+static char *
+clearsbin (const char *const path)
+{
+ char *ptr, *tmp, *cur, *ret = NULL;
+
+ if (!path || *path == 0)
+ return NULL;
+
+ tmp = xstrdup (path);
+
+ ret = xmalloc (strlen (path) + 1);
+ *ret = 0;
+ cur = tmp;
+ for (ptr = strsep (&cur, ":"); ptr; ptr = strsep (&cur, ":"))
+ {
+ if (!strcmp (ptr, "/sbin"))
+ continue;
+ if (!strcmp (ptr, "/usr/sbin"))
+ continue;
+ if (!strcmp (ptr, "/usr/local/sbin"))
+ continue;
+ if (*ret)
+ strcat (ret, ":");
+ strcat (ret, ptr);
+ }
+ free (tmp);
+
+ return ret;
+}
+
+static void
+set_path(const struct passwd* pw)
+{
+ int r;
+ if (pw->pw_uid)
+ r = logindefs_setenv("PATH", "ENV_PATH", _PATH_DEFPATH);
+
+ else if ((r = logindefs_setenv("PATH", "ENV_ROOTPATH", NULL)) != 0)
+ r = logindefs_setenv("PATH", "ENV_SUPATH", _PATH_DEFPATH_ROOT);
+
+ if (r != 0)
+ err (EXIT_FAILURE, _("failed to set PATH"));
+}
+
+/* Update `environ' for the new shell based on PW, with SHELL being
+ the value for the SHELL environment variable. */
+
+static void
+modify_environment (const struct passwd *pw, const char *shell)
+{
+ if (simulate_login)
+ {
+ /* Leave TERM unchanged. Set HOME, SHELL, USER, LOGNAME, PATH.
+ Unset all other environment variables. */
+ char const *term = getenv ("TERM");
+ if (term)
+ term = xstrdup (term);
+ environ = xmalloc ((6 + !!term) * sizeof (char *));
+ environ[0] = NULL;
+ if (term)
+ xsetenv ("TERM", term, 1);
+ xsetenv ("HOME", pw->pw_dir, 1);
+ xsetenv ("SHELL", shell, 1);
+ xsetenv ("USER", pw->pw_name, 1);
+ xsetenv ("LOGNAME", pw->pw_name, 1);
+ set_path(pw);
+ }
+ else
+ {
+ /* Set HOME, SHELL, and if not becoming a super-user,
+ USER and LOGNAME. */
+ if (change_environment)
+ {
+ xsetenv ("HOME", pw->pw_dir, 1);
+ xsetenv ("SHELL", shell, 1);
+ if (getlogindefs_bool ("ALWAYS_SET_PATH", 0))
+ set_path(pw);
+ else
+ {
+ char const *path = getenv ("PATH");
+ char *new = NULL;
+
+ if (pw->pw_uid)
+ new = clearsbin (path);
+ else
+ new = addsbin (path);
+
+ if (new)
+ {
+ xsetenv ("PATH", new, 1);
+ free (new);
+ }
+ }
+ if (pw->pw_uid)
+ {
+ xsetenv ("USER", pw->pw_name, 1);
+ xsetenv ("LOGNAME", pw->pw_name, 1);
+ }
+ }
+ }
+
+ export_pamenv ();
+}
+
+/* Become the user and group(s) specified by PW. */
+
+static void
+init_groups (const struct passwd *pw)
+{
+ int retval;
+ errno = 0;
+ if (initgroups (pw->pw_name, pw->pw_gid) == -1)
+ {
+ cleanup_pam (PAM_ABORT);
+ err (EXIT_FAILURE, _("cannot set groups"));
+ }
+ endgrent ();
+
+ retval = pam_setcred (pamh, PAM_ESTABLISH_CRED);
+ if (is_pam_failure(retval))
+ errx (EXIT_FAILURE, "%s", pam_strerror (pamh, retval));
+ else
+ _pam_cred_established = 1;
+}
+
+static void
+change_identity (const struct passwd *pw)
+{
+ if (setgid (pw->pw_gid))
+ err (EXIT_FAILURE, _("cannot set group id"));
+ if (setuid (pw->pw_uid))
+ err (EXIT_FAILURE, _("cannot set user id"));
+}
+
+/* Run SHELL, or DEFAULT_SHELL if SHELL is empty.
+ If COMMAND is nonzero, pass it to the shell with the -c option.
+ Pass ADDITIONAL_ARGS to the shell as more arguments; there
+ are N_ADDITIONAL_ARGS extra arguments. */
+
+static void
+run_shell (char const *shell, char const *command, char **additional_args,
+ size_t n_additional_args)
+{
+ size_t n_args = 1 + fast_startup + 2 * !!command + n_additional_args + 1;
+ char const **args = xcalloc (n_args, sizeof *args);
+ size_t argno = 1;
+
+ if (simulate_login)
+ {
+ char *arg0;
+ char *shell_basename;
+
+ shell_basename = basename (shell);
+ arg0 = xmalloc (strlen (shell_basename) + 2);
+ arg0[0] = '-';
+ strcpy (arg0 + 1, shell_basename);
+ args[0] = arg0;
+ }
+ else
+ args[0] = basename (shell);
+ if (fast_startup)
+ args[argno++] = "-f";
+ if (command)
+ {
+ args[argno++] = "-c";
+ args[argno++] = command;
+ }
+ memcpy (args + argno, additional_args, n_additional_args * sizeof *args);
+ args[argno + n_additional_args] = NULL;
+ execv (shell, (char **) args);
+
+ {
+ int exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE);
+ warn ("%s", shell);
+ exit (exit_status);
+ }
+}
+
+/* Return true if SHELL is a restricted shell (one not returned by
+ getusershell), else false, meaning it is a standard shell. */
+
+static bool
+restricted_shell (const char *shell)
+{
+ char *line;
+
+ setusershell ();
+ while ((line = getusershell ()) != NULL)
+ {
+ if (*line != '#' && !strcmp (line, shell))
+ {
+ endusershell ();
+ return false;
+ }
+ }
+ endusershell ();
+ return true;
+}
+
+static void __attribute__((__noreturn__))
+usage (int status)
+{
+ if (status != EXIT_SUCCESS)
+ fprintf (stderr, _("Try `%s --help' for more information.\n"),
+ program_invocation_short_name);
+ else
+ {
+ fputs(USAGE_HEADER, stdout);
+ printf (_(" %s [options] [-] [USER [arg]...]\n"), program_invocation_short_name);
+ fputs (_("\n\
+ Change the effective user id and group id to that of USER.\n\
+ A mere - implies -l. If USER not given, assume root.\n"), stdout);
+ fputs(USAGE_OPTIONS, stdout);
+ fputs (_("\
+ -, -l, --login make the shell a login shell\n\
+ -c, --command <command> pass a single command to the shell with -c\n\
+ --session-command <command> pass a single command to the shell with -c\n\
+ and do not create a new session\n\
+ -f, --fast pass -f to the shell (for csh or tcsh)\n\
+ -m, --preserve-environment do not reset environment variables\n\
+ -p same as -m\n\
+ -s, --shell <shell> run shell if /etc/shells allows it\n\
+"), stdout);
+
+ fputs(USAGE_SEPARATOR, stdout);
+ fputs(USAGE_HELP, stdout);
+ fputs(USAGE_VERSION, stdout);
+ printf(USAGE_MAN_TAIL("su(1)"));
+ }
+ exit (status);
+}
+
+static
+void load_config(void)
+{
+ logindefs_load_file("/etc/default/su");
+ logindefs_load_file(_PATH_LOGINDEFS);
+}
+
+int
+main (int argc, char **argv)
+{
+ int optc;
+ const char *new_user = DEFAULT_USER;
+ char *command = NULL;
+ int request_same_session = 0;
+ char *shell = NULL;
+ struct passwd *pw;
+ struct passwd pw_copy;
+
+ setlocale (LC_ALL, "");
+ bindtextdomain (PACKAGE, LOCALEDIR);
+ textdomain (PACKAGE);
+
+ fast_startup = false;
+ simulate_login = false;
+ change_environment = true;
+
+ while ((optc = getopt_long (argc, argv, "c:flmps:hV", longopts, NULL)) != -1)
+ {
+ switch (optc)
+ {
+ case 'c':
+ command = optarg;
+ break;
+
+ case 'C':
+ command = optarg;
+ request_same_session = 1;
+ break;
+
+ case 'f':
+ fast_startup = true;
+ break;
+
+ case 'l':
+ simulate_login = true;
+ break;
+
+ case 'm':
+ case 'p':
+ change_environment = false;
+ break;
+
+ case 's':
+ shell = optarg;
+ break;
+
+ case 'h':
+ usage(0);
+
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ exit(EXIT_SUCCESS);
+
+ default:
+ usage (EXIT_FAILURE);
+ }
+ }
+
+ if (optind < argc && !strcmp (argv[optind], "-"))
+ {
+ simulate_login = true;
+ ++optind;
+ }
+ if (optind < argc)
+ new_user = argv[optind++];
+
+ logindefs_load_defaults = load_config;
+
+ pw = getpwnam (new_user);
+ if (! (pw && pw->pw_name && pw->pw_name[0] && pw->pw_dir && pw->pw_dir[0]
+ && pw->pw_passwd))
+ errx (EXIT_FAILURE, _("user %s does not exist"), new_user);
+
+ /* Make a copy of the password information and point pw at the local
+ copy instead. Otherwise, some systems (e.g. Linux) would clobber
+ the static data through the getlogin call from log_su.
+ Also, make sure pw->pw_shell is a nonempty string.
+ It may be NULL when NEW_USER is a username that is retrieved via NIS (YP),
+ but that doesn't have a default shell listed. */
+ pw_copy = *pw;
+ pw = &pw_copy;
+ pw->pw_name = xstrdup (pw->pw_name);
+ pw->pw_passwd = xstrdup (pw->pw_passwd);
+ pw->pw_dir = xstrdup (pw->pw_dir);
+ pw->pw_shell = xstrdup (pw->pw_shell && pw->pw_shell[0]
+ ? pw->pw_shell
+ : DEFAULT_SHELL);
+ endpwent ();
+
+ authenticate (pw);
+
+ if (request_same_session || !command || !pw->pw_uid)
+ same_session = 1;
+
+ if (!shell && !change_environment)
+ shell = getenv ("SHELL");
+ if (shell && getuid () != 0 && restricted_shell (pw->pw_shell))
+ {
+ /* The user being su'd to has a nonstandard shell, and so is
+ probably a uucp account or has restricted access. Don't
+ compromise the account by allowing access with a standard
+ shell. */
+ warnx (_("using restricted shell %s"), pw->pw_shell);
+ shell = NULL;
+ }
+ shell = xstrdup (shell ? shell : pw->pw_shell);
+
+ init_groups (pw);
+
+ create_watching_parent ();
+ /* Now we're in the child. */
+
+ change_identity (pw);
+ if (!same_session)
+ setsid ();
+
+ /* Set environment after pam_open_session, which may put KRB5CCNAME
+ into the pam_env, etc. */
+
+ modify_environment (pw, shell);
+
+ if (simulate_login && chdir (pw->pw_dir) != 0)
+ warn (_("warning: cannot change directory to %s"), pw->pw_dir);
+
+ run_shell (shell, command, argv + optind, max (0, argc - optind));
+}
+
+// vim: sw=2 cinoptions=>4,n-2,{2,^-2,\:2,=2,g0,h2,p5,t0,+2,(0,u0,w1,m1
diff --git a/login-utils/sulogin.8 b/login-utils/sulogin.8
new file mode 100644
index 0000000..b9dec16
--- /dev/null
+++ b/login-utils/sulogin.8
@@ -0,0 +1,90 @@
+'\" -*- coding: UTF-8 -*-
+.\" Copyright (C) 1998-2006 Miquel van Smoorenburg.
+.\" Copyright (C) 2012 Karel Zak <kzak@redhat.com>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; if not, write to the Free Software
+.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+.\"
+.TH SULOGIN "8" "Jul 2012" "util-linux" "System Administration"
+.SH NAME
+sulogin \- Single-user login
+.SH SYNOPSIS
+.B sulogin
+.RB [ options ]
+.RB [ tty ]
+.SH DESCRIPTION
+.I sulogin
+is invoked by
+.B init
+when the system goes into single user mode.
+.PP
+The user is prompted:
+.IP "" .5i
+Give root password for system maintenance
+.br
+(or type Control\-D for normal startup):
+.PP
+.I sulogin
+will be connected to the current terminal, or to the optional tty device that
+can be specified on the command line (typically
+.BR /dev/console ).
+.PP
+After the user exits the single-user shell or presses control\-D at the
+prompt, the system will continue to boot.
+.SH OPTIONS
+.IP "\fB\-e\fR, \fB\-\-force\fP"
+If the default method of obtaining the root password via
+.BR getpwnam (3)
+from the system fails, manually examine
+.I /etc/passwd
+and
+.I /etc/shadow
+to get the password. If they are damaged or nonexistent, sulogin will start
+a root shell without asking for a password.
+.IP
+Only use the
+.B \-e
+option if you are sure the console is physically protected against
+unauthorized access.
+.IP "\fB\-p\fR, \fB\-\-login\-shell\fP"
+Specifying this option causes sulogin to start the shell process as a login
+shell.
+.IP "\fB\-t\fR, \fB\-\-timeout \fIseconds\fP"
+Specify the maximum amount of time to wait for user input. By default,
+sulogin will wait forever.
+.IP "\fB\-h\fR, \fB\-\-help\fP"
+Print a help message.
+.IP "\fB\-V\fR, \fB\-\-version\fP"
+Output version.
+.SH ENVIRONMENT VARIABLES
+.I sulogin
+looks for the environment variable
+.B SUSHELL
+or
+.B sushell
+to determine what shell to start. If the environment variable is not set, it
+will try to execute root's shell from
+.IR /etc/passwd .
+If that fails it
+will fall back to
+.IR /bin/sh .
+.SH AUTHOR
+.B sulogin
+was written by Miquel van Smoorenburg for sysvinit and later ported
+to util-linux by Dave Reisner and Karel Zak.
+.SH AVAILABILITY
+The sulogin command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c
new file mode 100644
index 0000000..d7d44b6
--- /dev/null
+++ b/login-utils/sulogin.c
@@ -0,0 +1,609 @@
+/*
+ * sulogin
+ *
+ * This program gives Linux machines a reasonable secure way to boot single
+ * user. It forces the user to supply the root password before a shell is
+ * started. If there is a shadow password file and the encrypted root password
+ * is "x" the shadow password will be used.
+ *
+ * Copyright (C) 1998-2003 Miquel van Smoorenburg.
+ * Copyright (C) 2012 Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <pwd.h>
+#include <shadow.h>
+#include <termios.h>
+#include <errno.h>
+#include <getopt.h>
+#include <sys/ioctl.h>
+#ifdef HAVE_CRYPT_H
+# include <crypt.h>
+#endif
+
+#ifdef HAVE_LIBSELINUX
+# include <selinux/selinux.h>
+# include <selinux/get_context_list.h>
+#endif
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "pathnames.h"
+#include "strutils.h"
+#include "ttyutils.h"
+
+static unsigned int timeout;
+static int profile;
+
+struct sigaction saved_sigint;
+struct sigaction saved_sigtstp;
+struct sigaction saved_sigquit;
+
+/*
+ * Called at timeout.
+ */
+static void alrm_handler(int sig __attribute__((unused)))
+{
+ return;
+}
+
+static void mask_signal(int signal, void (*handler)(int),
+ struct sigaction *origaction)
+{
+ struct sigaction newaction;
+
+ newaction.sa_handler = handler;
+ sigemptyset(&newaction.sa_mask);
+ newaction.sa_flags = 0;
+
+ sigaction(signal, NULL, origaction);
+ sigaction(signal, &newaction, NULL);
+}
+
+static void unmask_signal(int signal, struct sigaction *sa)
+{
+ sigaction(signal, sa, NULL);
+}
+
+/*
+ * See if an encrypted password is valid. The encrypted password is checked for
+ * traditional-style DES and FreeBSD-style MD5 encryption.
+ */
+static int valid(const char *pass)
+{
+ const char *s;
+ char id[5];
+ size_t len;
+ off_t off;
+
+ if (pass[0] == 0)
+ return 1;
+ if (pass[0] != '$')
+ goto check_des;
+
+ /*
+ * up to 4 bytes for the signature e.g. $1$
+ */
+ for (s = pass+1; *s && *s != '$'; s++);
+
+ if (*s++ != '$')
+ return 0;
+
+ if ((off = (off_t)(s-pass)) > 4 || off < 3)
+ return 0;
+
+ memset(id, '\0', sizeof(id));
+ strncpy(id, pass, off);
+
+ /*
+ * up to 16 bytes for the salt
+ */
+ for (; *s && *s != '$'; s++);
+
+ if (*s++ != '$')
+ return 0;
+
+ if ((off_t)(s-pass) > 16)
+ return 0;
+
+ len = strlen(s);
+
+ /*
+ * the MD5 hash (128 bits or 16 bytes) encoded in base64 = 22 bytes
+ */
+ if ((strcmp(id, "$1$") == 0) && (len < 22 || len > 24))
+ return 0;
+
+ /*
+ * the SHA-256 hash 43 bytes
+ */
+ if ((strcmp(id, "$5$") == 0) && (len < 42 || len > 44))
+ return 0;
+
+ /*
+ * the SHA-512 hash 86 bytes
+ */
+ if ((strcmp(id, "$6$") == 0) && (len < 85 || len > 87))
+ return 0;
+
+ /*
+ * e.g. Blowfish hash
+ */
+ return 1;
+check_des:
+ if (strlen(pass) != 13)
+ return 0;
+
+ for (s = pass; *s; s++) {
+ if ((*s < '0' || *s > '9') &&
+ (*s < 'a' || *s > 'z') &&
+ (*s < 'A' || *s > 'Z') &&
+ *s != '.' && *s != '/')
+ return 0;
+ }
+ return 1;
+}
+
+/*
+ * Set a variable if the value is not NULL.
+ */
+static inline void set(char **var, char *val)
+{
+ if (val)
+ *var = val;
+}
+
+/*
+ * Get the root password entry.
+ */
+static struct passwd *getrootpwent(int try_manually)
+{
+ static struct passwd pwd;
+ struct passwd *pw;
+ struct spwd *spw;
+ FILE *fp;
+ static char line[256];
+ static char sline[256];
+ char *p;
+
+ /*
+ * First, we try to get the password the standard way using normal
+ * library calls.
+ */
+ if ((pw = getpwnam("root")) &&
+ !strcmp(pw->pw_passwd, "x") &&
+ (spw = getspnam("root")))
+ pw->pw_passwd = spw->sp_pwdp;
+
+ if (pw || !try_manually)
+ return pw;
+
+ /*
+ * If we come here, we could not retrieve the root password through
+ * library calls and we try to read the password and shadow files
+ * manually.
+ */
+ pwd.pw_name = "root";
+ pwd.pw_passwd = "";
+ pwd.pw_gecos = "Super User";
+ pwd.pw_dir = "/";
+ pwd.pw_shell = "";
+ pwd.pw_uid = 0;
+ pwd.pw_gid = 0;
+
+ if ((fp = fopen(_PATH_PASSWD, "r")) == NULL) {
+ warn(_("cannot open %s"), _PATH_PASSWD);
+ return &pwd;
+ }
+
+ /*
+ * Find root in the password file.
+ */
+ while ((p = fgets(line, 256, fp)) != NULL) {
+ if (strncmp(line, "root:", 5) != 0)
+ continue;
+ p += 5;
+ set(&pwd.pw_passwd, strsep(&p, ":"));
+ strsep(&p, ":");
+ strsep(&p, ":");
+ set(&pwd.pw_gecos, strsep(&p, ":"));
+ set(&pwd.pw_dir, strsep(&p, ":"));
+ set(&pwd.pw_shell, strsep(&p, "\n"));
+ p = line;
+ break;
+ }
+
+ fclose(fp);
+
+ /*
+ * If the encrypted password is valid or not found, return.
+ */
+ if (p == NULL) {
+ warnx(_("%s: no entry for root\n"), _PATH_PASSWD);
+ return &pwd;
+ }
+ if (valid(pwd.pw_passwd))
+ return &pwd;
+
+ /*
+ * The password is invalid. If there is a shadow password, try it.
+ */
+ strcpy(pwd.pw_passwd, "");
+ if ((fp = fopen(_PATH_SHADOW_PASSWD, "r")) == NULL) {
+ warn(_("cannot open %s"), _PATH_PASSWD);
+ return &pwd;
+ }
+ while ((p = fgets(sline, 256, fp)) != NULL) {
+ if (strncmp(sline, "root:", 5) != 0)
+ continue;
+ p += 5;
+ set(&pwd.pw_passwd, strsep(&p, ":"));
+ break;
+ }
+ fclose(fp);
+
+ /*
+ * If the password is still invalid, NULL it, and return.
+ */
+ if (p == NULL) {
+ warnx(_("%s: no entry for root"), _PATH_SHADOW_PASSWD);
+ strcpy(pwd.pw_passwd, "");
+ }
+ if (!valid(pwd.pw_passwd)) {
+ warnx(_("%s: root password garbled"), _PATH_SHADOW_PASSWD);
+ strcpy(pwd.pw_passwd, "");
+ }
+ return &pwd;
+}
+
+/*
+ * Ask for the password. Note that there is no default timeout as we normally
+ * skip this during boot.
+ */
+static char *getpasswd(char *crypted)
+{
+ struct sigaction sa;
+ struct termios old, tty;
+ static char pass[128];
+ char *ret = pass;
+ size_t i;
+
+ if (crypted[0])
+ printf(_("Give root password for maintenance\n"));
+ else
+ printf(_("Press enter for maintenance"));
+ printf(_("(or type Control-D to continue): "));
+ fflush(stdout);
+
+ tcgetattr(0, &old);
+ tcgetattr(0, &tty);
+ tty.c_iflag &= ~(IUCLC|IXON|IXOFF|IXANY);
+ tty.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|TOSTOP);
+ tcsetattr(0, TCSANOW, &tty);
+
+ pass[sizeof(pass) - 1] = 0;
+
+ sa.sa_handler = alrm_handler;
+ sa.sa_flags = 0;
+ sigaction(SIGALRM, &sa, NULL);
+ if (timeout)
+ alarm(timeout);
+
+ if (read(0, pass, sizeof(pass) - 1) <= 0)
+ ret = NULL;
+ else {
+ for (i = 0; i < sizeof(pass) && pass[i]; i++)
+ if (pass[i] == '\r' || pass[i] == '\n') {
+ pass[i] = 0;
+ break;
+ }
+ }
+ alarm(0);
+ tcsetattr(0, TCSANOW, &old);
+ printf("\n");
+
+ return ret;
+}
+
+/*
+ * Password was OK, execute a shell.
+ */
+static void sushell(struct passwd *pwd)
+{
+ char shell[PATH_MAX];
+ char home[PATH_MAX];
+ char *p;
+ char *su_shell;
+
+ /*
+ * Set directory and shell.
+ */
+ if (chdir(pwd->pw_dir) != 0) {
+ warn(_("%s: change directory failed"), pwd->pw_dir);
+ printf(_("Logging in with home = \"/\".\n"));
+
+ if (chdir("/") != 0)
+ warn(_("change directory to system root failed"));
+ }
+
+ if ((p = getenv("SUSHELL")) != NULL)
+ su_shell = p;
+ else if ((p = getenv("sushell")) != NULL)
+ su_shell = p;
+ else {
+ if (pwd->pw_shell[0])
+ su_shell = pwd->pw_shell;
+ else
+ su_shell = "/bin/sh";
+ }
+ if ((p = strrchr(su_shell, '/')) == NULL)
+ p = su_shell;
+ else
+ p++;
+
+ snprintf(shell, sizeof(shell), profile ? "-%s" : "%s", p);
+
+ /*
+ * Set some important environment variables.
+ */
+ if (getcwd(home, sizeof(home)) != NULL)
+ setenv("HOME", home, 1);
+
+ setenv("LOGNAME", "root", 1);
+ setenv("USER", "root", 1);
+ if (!profile)
+ setenv("SHLVL","0",1);
+
+ /*
+ * Try to execute a shell.
+ */
+ setenv("SHELL", su_shell, 1);
+ unmask_signal(SIGINT, &saved_sigint);
+ unmask_signal(SIGTSTP, &saved_sigtstp);
+ unmask_signal(SIGQUIT, &saved_sigquit);
+
+#ifdef HAVE_LIBSELINUX
+ if (is_selinux_enabled() > 0) {
+ security_context_t scon=NULL;
+ char *seuser=NULL;
+ char *level=NULL;
+ if (getseuserbyname("root", &seuser, &level) == 0) {
+ if (get_default_context_with_level(seuser, level, 0, &scon) == 0) {
+ if (setexeccon(scon) != 0)
+ warnx(_("setexeccon failed"));
+ freecon(scon);
+ }
+ }
+ free(seuser);
+ free(level);
+ }
+#endif
+ execl(su_shell, shell, NULL);
+ warn(_("%s: exec failed"), su_shell);
+
+ setenv("SHELL", "/bin/sh", 1);
+ execl("/bin/sh", profile ? "-sh" : "sh", NULL);
+ warn(_("%s: exec failed"), "/bin/sh");
+}
+
+static void fixtty(void)
+{
+ struct termios tp;
+ int x = 0, fl = 0;
+
+ /* Skip serial console */
+ if (ioctl(STDIN_FILENO, TIOCMGET, (char *) &x) == 0)
+ return;
+
+#if defined(IUTF8) && defined(KDGKBMODE)
+ /* Detect mode of current keyboard setup, e.g. for UTF-8 */
+ if (ioctl(STDIN_FILENO, KDGKBMODE, &x) == 0 && x == K_UNICODE) {
+ setlocale(LC_CTYPE, "C.UTF-8");
+ fl |= UL_TTY_UTF8;
+ }
+#else
+ setlocale(LC_CTYPE, "POSIX");
+#endif
+ memset(&tp, 0, sizeof(struct termios));
+ if (tcgetattr(STDIN_FILENO, &tp) < 0) {
+ warn(_("tcgetattr failed"));
+ return;
+ }
+
+ reset_virtual_console(&tp, fl);
+
+ if (tcsetattr(0, TCSADRAIN, &tp))
+ warn(_("tcsetattr failed"));
+}
+
+static void usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(
+ " %s [options] [tty device]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -p, --login-shell start a login shell\n"
+ " -t, --timeout <seconds> max time to wait for a password (default: no limit)\n"
+ " -e, --force examine password files directly if getpwnam(3) fails\n"),
+ out);
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("sulogin(8)"));
+}
+
+int main(int argc, char **argv)
+{
+ char *tty = NULL;
+ char *p;
+ struct passwd *pwd;
+ int c, fd = -1;
+ int opt_e = 0;
+ pid_t pid, pgrp, ppgrp, ttypgrp;
+ struct sigaction saved_sighup;
+
+ static const struct option longopts[] = {
+ { "login-shell", 0, 0, 'p' },
+ { "timeout", 1, 0, 't' },
+ { "force", 0, 0, 'e' },
+ { "help", 0, 0, 'h' },
+ { "version", 0, 0, 'V' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ /*
+ * See if we have a timeout flag.
+ */
+ while ((c = getopt_long(argc, argv, "ehpt:V", longopts, NULL)) != -1) {
+ switch(c) {
+ case 't':
+ timeout = strtou32_or_err(optarg, _("invalid timeout argument"));
+ break;
+ case 'p':
+ profile = 1;
+ break;
+ case 'e':
+ opt_e = 1;
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ return EXIT_SUCCESS;
+ default:
+ usage(stderr);
+ /* Do not exit! */
+ break;
+ }
+ }
+
+ if (geteuid() != 0)
+ errx(EXIT_FAILURE, _("only root can run this program."));
+
+ /*
+ * See if we need to open an other tty device.
+ */
+ mask_signal(SIGQUIT, SIG_IGN, &saved_sigquit);
+ mask_signal(SIGTSTP, SIG_IGN, &saved_sigtstp);
+ mask_signal(SIGINT, SIG_IGN, &saved_sigint);
+ if (optind < argc)
+ tty = argv[optind];
+
+ if (tty || (tty = getenv("CONSOLE"))) {
+
+ if ((fd = open(tty, O_RDWR)) < 0) {
+ warn(_("cannot open %s"), tty);
+ fd = dup(0);
+ }
+
+ if (!isatty(fd)) {
+ warn(_("%s: not a tty"), tty);
+ close(fd);
+ } else {
+
+ /*
+ * Only go through this trouble if the new tty doesn't
+ * fall in this process group.
+ */
+ pid = getpid();
+ pgrp = getpgid(0);
+ ppgrp = getpgid(getppid());
+ ttypgrp = tcgetpgrp(fd);
+
+ if (pgrp != ttypgrp && ppgrp != ttypgrp) {
+ if (pid != getsid(0)) {
+ if (pid == getpgid(0))
+ setpgid(0, getpgid(getppid()));
+ setsid();
+ }
+
+ sigaction(SIGHUP, NULL, &saved_sighup);
+ if (ttypgrp > 0)
+ ioctl(0, TIOCNOTTY, (char *)1);
+ sigaction(SIGHUP, &saved_sighup, NULL);
+ close(0);
+ close(1);
+ close(2);
+ if (fd > 2)
+ close(fd);
+ if ((fd = open(tty, O_RDWR|O_NOCTTY)) < 0)
+ warn(_("cannot open %s"), tty);
+ else {
+ ioctl(0, TIOCSCTTY, (char *)1);
+ tcsetpgrp(fd, ppgrp);
+ dup2(fd, 0);
+ dup2(fd, 1);
+ dup2(fd, 2);
+ if (fd > 2)
+ close(fd);
+ }
+ } else
+ if (fd > 2)
+ close(fd);
+ }
+ } else if (getpid() == 1) {
+ /* We are init. We hence need to set a session anyway */
+ setsid();
+ if (ioctl(0, TIOCSCTTY, (char *)1))
+ warn(_("TIOCSCTTY: ioctl failed"));
+ }
+
+ fixtty();
+
+ /*
+ * Get the root password.
+ */
+ if ((pwd = getrootpwent(opt_e)) == NULL) {
+ warnx(_("cannot open password database."));
+ sleep(2);
+ }
+
+ /*
+ * Ask for the password.
+ */
+ while (pwd) {
+ if ((p = getpasswd(pwd->pw_passwd)) == NULL)
+ break;
+ if (pwd->pw_passwd[0] == 0 ||
+ strcmp(crypt(p, pwd->pw_passwd), pwd->pw_passwd) == 0)
+ sushell(pwd);
+ mask_signal(SIGQUIT, SIG_IGN, &saved_sigquit);
+ mask_signal(SIGTSTP, SIG_IGN, &saved_sigtstp);
+ mask_signal(SIGINT, SIG_IGN, &saved_sigint);
+ fprintf(stderr, _("Login incorrect\n\n"));
+ }
+
+ /*
+ * User pressed Control-D.
+ */
+ return EXIT_SUCCESS;
+}
diff --git a/login-utils/utmpdump.1 b/login-utils/utmpdump.1
new file mode 100644
index 0000000..35565a4
--- /dev/null
+++ b/login-utils/utmpdump.1
@@ -0,0 +1,74 @@
+'\" -*- coding: UTF-8 -*-
+.\" Copyright (C) 2010 Michael Krapp
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; if not, write to the Free Software
+.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+.\"
+.TH UTMPDUMP "1" "July 2012" "util-linux" "System Administration"
+.SH NAME
+utmpdump \- dump UTMP and WTMP files in raw format
+.SH SYNOPSIS
+utmpdump [\-frh] [ filename ]
+.SH DESCRIPTION
+.B utmpdump
+is a simple program to dump UTMP and WTMP files in raw format, so they
+can be examined.
+.B utmpdump
+eads from stdin unless a
+.I filename
+is passed.
+.SH OPTIONS
+.IP "\fB\-f\fR, \fB\-\-follow\fP"
+Output appended data as the file grows.
+.IP "\fB\-r\fR, \fB\-\-reverse\fP
+Undump, write back edited login information into utmp or wtmp files.
+.IP "\fB\-h\fR, \fB\-\-help\fP"
+Print a help text and exit.
+.IP "\fB\-V\fR, \fB\-\-version\fP"
+Output version information and exit.
+.SH NOTES
+.B utmpdump
+can be useful in cases of corrupted utmp or wtmp entries. It can dump
+out utmp/wtmp to an ASCII file, then that file can be edited to remove
+bogus entries and reintegrated, using
+.PP
+.RS
+utmpdump -r < ascii_file > wtmp
+.RE
+.PP
+but be warned as
+.B utmpdump
+was written for debugging purpose only.
+.SH BUGS
+You may
+.B not
+use the option
+.B \-r
+as the format for the utmp/wtmp files strongly depends on the input
+format. This tool was
+.B not
+written for normal use but for debugging.
+.SH AUTHOR
+Michael Krapp
+.SH "SEE ALSO"
+.BR last (1),
+.BR w (1),
+.BR who (1),
+.BR utmp (5)
+.SH AVAILABILITY
+The utmpdump command is part of the util-linux package and is available
+from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/login-utils/utmpdump.c b/login-utils/utmpdump.c
new file mode 100644
index 0000000..b015e1b
--- /dev/null
+++ b/login-utils/utmpdump.c
@@ -0,0 +1,363 @@
+/*
+ * utmpdump
+ *
+ * Simple program to dump UTMP and WTMP files in raw format, so they can be
+ * examined.
+ *
+ * Based on utmpdump dump from sysvinit suite.
+ *
+ * Copyright (C) 1991-2000 Miquel van Smoorenburg <miquels@cistron.nl>
+ *
+ * Copyright (C) 1998 Danek Duvall <duvall@alumni.princeton.edu>
+ * Copyright (C) 2012 Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <utmp.h>
+#include <time.h>
+#include <ctype.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <sys/stat.h>
+#ifdef HAVE_INOTIFY_INIT
+#include <sys/inotify.h>
+#endif
+
+#include "c.h"
+#include "nls.h"
+#include "xalloc.h"
+#include "closestream.h"
+
+static char *timetostr(const time_t time)
+{
+ static char s[29]; /* [Sun Sep 01 00:00:00 1998 PST] */
+
+ if (time != 0)
+ strftime(s, 29, "%a %b %d %T %Y %Z", localtime(&time));
+ else
+ s[0] = '\0';
+
+ return s;
+}
+
+static time_t strtotime(const char *s_time)
+{
+ struct tm tm;
+
+ memset(&tm, '\0', sizeof(struct tm));
+
+ if (s_time[0] == ' ' || s_time[0] == '\0')
+ return (time_t)0;
+
+ strptime(s_time, "%a %b %d %T %Y", &tm);
+
+ /* Cheesy way of checking for DST */
+ if (s_time[26] == 'D')
+ tm.tm_isdst = 1;
+
+ return mktime(&tm);
+}
+
+#define cleanse(x) xcleanse(x, sizeof(x))
+static void xcleanse(char *s, int len)
+{
+ for ( ; *s && len-- > 0; s++)
+ if (!isprint(*s) || *s == '[' || *s == ']')
+ *s = '?';
+}
+
+static void print_utline(struct utmp ut)
+{
+ char *addr_string, *time_string;
+ struct in_addr in;
+
+ in.s_addr = ut.ut_addr;
+ addr_string = inet_ntoa(in);
+ time_string = timetostr(ut.ut_time);
+ cleanse(ut.ut_id);
+ cleanse(ut.ut_user);
+ cleanse(ut.ut_line);
+ cleanse(ut.ut_host);
+
+ /* pid id user line host addr time */
+ printf("[%d] [%05d] [%-4.4s] [%-*.*s] [%-*.*s] [%-*.*s] [%-15.15s] [%-28.28s]\n",
+ ut.ut_type, ut.ut_pid, ut.ut_id, 8, UT_NAMESIZE, ut.ut_user,
+ 12, UT_LINESIZE, ut.ut_line, 20, UT_HOSTSIZE, ut.ut_host,
+ addr_string, time_string);
+}
+
+#ifdef HAVE_INOTIFY_INIT
+#define EVENTS (IN_MODIFY|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT)
+#define NEVENTS 4
+
+static void roll_file(const char *filename, off_t *size)
+{
+ FILE *fp;
+ struct stat st;
+ struct utmp ut;
+ off_t pos;
+
+ if (!(fp = fopen(filename, "r")))
+ err(EXIT_FAILURE, _("cannot open %s"), filename);
+
+ if (fstat(fileno(fp), &st) == -1)
+ err(EXIT_FAILURE, _("%s: stat failed"), filename);
+
+ if (st.st_size == *size)
+ goto done;
+
+ if (fseek(fp, *size, SEEK_SET) != (off_t) -1) {
+ while (fread(&ut, sizeof(ut), 1, fp) == 1)
+ print_utline(ut);
+ }
+
+ pos = ftello(fp);
+ /* If we've successfully read something, use the file position, this
+ * avoids data duplication. If we read nothing or hit an error,
+ * reset to the reported size, this handles truncated files.
+ */
+ *size = (pos != -1 && pos != *size) ? pos : st.st_size;
+
+done:
+ fclose(fp);
+}
+
+static int follow_by_inotify(FILE *fp, const char *filename)
+{
+ char buf[NEVENTS * sizeof(struct inotify_event)];
+ int fd, wd, event;
+ ssize_t length;
+ off_t size;
+
+ fd = inotify_init();
+ if (fd == -1)
+ return -1; /* probably reached any limit ... */
+
+ size = ftello(fp);
+ fclose(fp);
+
+ wd = inotify_add_watch(fd, filename, EVENTS);
+ if (wd == -1)
+ err(EXIT_FAILURE, _("%s: cannot add inotify watch."), filename);
+
+ while (wd >= 0) {
+ errno = 0;
+ length = read(fd, buf, sizeof(buf));
+
+ if (length < 0 && (errno == EINTR || errno == EAGAIN))
+ continue;
+ if (length < 0)
+ err(EXIT_FAILURE, _("%s: cannot read inotify events"),
+ filename);
+
+ for (event = 0; event < length;) {
+ struct inotify_event *ev =
+ (struct inotify_event *) &buf[event];
+
+ if (ev->mask & IN_MODIFY)
+ roll_file(filename, &size);
+ else {
+ close(wd);
+ wd = -1;
+ break;
+ }
+ event += sizeof(struct inotify_event) + ev->len;
+ }
+ }
+
+ close(fd);
+ return 0;
+}
+#endif /* HAVE_INOTIFY_INIT */
+
+static FILE *dump(FILE *fp, const char *filename, int follow)
+{
+ struct utmp ut;
+
+ if (follow)
+ fseek(fp, -10 * sizeof(ut), SEEK_END);
+
+ while (fread(&ut, sizeof(ut), 1, fp) == 1)
+ print_utline(ut);
+
+ if (!follow)
+ return fp;
+
+#ifdef HAVE_INOTIFY_INIT
+ if (follow_by_inotify(fp, filename) == 0)
+ return NULL; /* file already closed */
+ else
+#endif
+ /* fallback for systems without inotify or with non-free
+ * inotify instances */
+ for (;;) {
+ while (fread(&ut, sizeof(ut), 1, fp) == 1)
+ print_utline(ut);
+ sleep(1);
+ }
+
+ return fp;
+}
+
+
+/* This function won't work properly if there's a ']' or a ' ' in the real
+ * token. Thankfully, this should never happen. */
+static int gettok(char *line, char *dest, int size, int eatspace)
+{
+ int bpos, epos, eaten;
+
+ bpos = strchr(line, '[') - line;
+ if (bpos < 0)
+ errx(EXIT_FAILURE, _("Extraneous newline in file. Exiting."));
+
+ line += 1 + bpos;
+ epos = strchr(line, ']') - line;
+ if (epos < 0)
+ errx(EXIT_FAILURE, _("Extraneous newline in file. Exiting."));
+
+ line[epos] = '\0';
+ eaten = bpos + epos + 1;
+
+ if (eatspace) {
+ char *t;
+ if ((t = strchr(line, ' ')))
+ *t = 0;
+ }
+ strncpy(dest, line, size);
+
+ return eaten + 1;
+}
+
+static void undump(FILE *fp)
+{
+ struct utmp ut;
+ char s_addr[16], s_time[29], *linestart, *line;
+ int count = 0;
+
+ line = linestart = xmalloc(1024 * sizeof(*linestart));
+ s_addr[15] = 0;
+ s_time[28] = 0;
+
+ while (fgets(linestart, 1023, fp)) {
+ line = linestart;
+ memset(&ut, '\0', sizeof(ut));
+ sscanf(line, "[%hd] [%d] [%4c] ", &ut.ut_type, &ut.ut_pid, ut.ut_id);
+
+ line += 19;
+ line += gettok(line, ut.ut_user, sizeof(ut.ut_user), 1);
+ line += gettok(line, ut.ut_line, sizeof(ut.ut_line), 1);
+ line += gettok(line, ut.ut_host, sizeof(ut.ut_host), 1);
+ line += gettok(line, s_addr, sizeof(s_addr) - 1, 1);
+ line += gettok(line, s_time, sizeof(s_time) - 1, 0);
+
+ ut.ut_addr = inet_addr(s_addr);
+ ut.ut_time = strtotime(s_time);
+
+ ignore_result( fwrite(&ut, sizeof(ut), 1, stdout) );
+
+ ++count;
+ }
+
+ free(linestart);
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+
+ fprintf(out,
+ _(" %s [options] [filename]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -f, --follow output appended data as the file grows\n"
+ " -r, --reverse write back dumped data into utmp file\n"), out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+
+ fprintf(out, USAGE_MAN_TAIL("utmpdump(1)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int c;
+ FILE *fp = NULL;
+ int reverse = 0, follow = 0;
+ const char *filename = NULL;
+
+ static const struct option longopts[] = {
+ { "follow", 0, 0, 'f' },
+ { "reverse", 0, 0, 'r' },
+ { "help", 0, 0, 'h' },
+ { "version", 0, 0, 'V' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "frhV", longopts, NULL)) != -1) {
+ switch (c) {
+ case 'r':
+ reverse = 1;
+ break;
+
+ case 'f':
+ follow = 1;
+ break;
+
+ case 'h':
+ usage(stdout);
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (optind < argc) {
+ filename = argv[optind];
+ fp = fopen(filename, "r");
+ if (!fp)
+ err(EXIT_FAILURE, _("cannot open %s"), filename);
+ } else {
+ if (follow)
+ errx(EXIT_FAILURE, _("following standard input is unsupported"));
+ filename = "/dev/stdin";
+ fp = stdin;
+ }
+
+ if (reverse) {
+ fprintf(stderr, _("Utmp undump of %s\n"), filename);
+ undump(fp);
+ } else {
+ fprintf(stderr, _("Utmp dump of %s\n"), filename);
+ fp = dump(fp, filename, follow);
+ }
+
+ if (fp && fp != stdin)
+ fclose(fp);
+
+ return EXIT_SUCCESS;
+}
diff --git a/login-utils/vigr.8 b/login-utils/vigr.8
new file mode 100644
index 0000000..ff72d7a
--- /dev/null
+++ b/login-utils/vigr.8
@@ -0,0 +1 @@
+.so man8/vipw.8
diff --git a/login-utils/vipw.8 b/login-utils/vipw.8
new file mode 100644
index 0000000..62dcc85
--- /dev/null
+++ b/login-utils/vipw.8
@@ -0,0 +1,90 @@
+.\" Copyright (c) 1983, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)vipw.8 6.7 (Berkeley) 3/16/91
+.\"
+.TH VIPW "8" "September 2011" "util-linux" "System Administration"
+.SH NAME
+vipw, vigr \- edit the password or group file
+.SH SYNOPSIS
+.B vipw
+[options]
+.br
+.B vigr
+[options]
+.SH DESCRIPTION
+.B vipw
+edits the password file after setting the appropriate locks,
+and does any necessary processing after the password file is unlocked.
+If the password file is already locked for editing by another user,
+.B vipw
+will ask you
+to try again later. The default editor for
+.B vipw
+and
+.B vigr
+is
+.BR vi (1).
+.B vigr
+edits the group file in the same manner as
+.B vipw
+does the passwd file.
+.SH ENVIRONMENT
+If the following environment variable exists it will be utilized by
+.B vipw
+and
+.BR vigr :
+.I
+.TP
+.B EDITOR
+The editor specified by the string
+.B EDITOR
+will be invoked instead of the default editor
+.BR vi (1).
+.El
+.SH SEE ALSO
+.BR passwd (1),
+.BR flock (2),
+.BR vi (1),
+.BR passwd (5)
+.SH HISTORY
+The
+.B vipw
+command appeared in 4.0BSD.
+.br
+The
+.B vigr
+command appeared in Util-Linux 2.6.
+.SH AVAILABILITY
+The vigr and vipw commands are part of the util-linux package and are available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/login-utils/vipw.c b/login-utils/vipw.c
new file mode 100644
index 0000000..1eeeb0d
--- /dev/null
+++ b/login-utils/vipw.c
@@ -0,0 +1,353 @@
+/*
+ * Copyright (c) 1987 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Updated Thu Oct 12 09:56:55 1995 by faith@cs.unc.edu with security
+ * patches from Zefram <A.Main@dcs.warwick.ac.uk>
+ *
+ * Updated Thu Nov 9 21:58:53 1995 by Martin Schulze
+ * <joey@finlandia.infodrom.north.de>. Support for vigr.
+ *
+ * Martin Schulze's patches adapted to Util-Linux by Nicolai Langfeldt.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ * - fixed strerr(errno) in gettext calls
+ */
+
+/*
+ * This command is deprecated. The utility is in maintenance mode,
+ * meaning we keep them in source tree for backward compatibility
+ * only. Do not waste time making this command better, unless the
+ * fix is about security or other very critical issue.
+ *
+ * See Documentation/deprecated.txt for more information.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <paths.h>
+#include <pwd.h>
+#include <shadow.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/file.h>
+#include <sys/param.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "fileutils.h"
+#include "closestream.h"
+#include "nls.h"
+#include "setpwnam.h"
+#include "strutils.h"
+#include "xalloc.h"
+
+#ifdef HAVE_LIBSELINUX
+# include <selinux/selinux.h>
+#endif
+
+#define FILENAMELEN 67
+
+enum {
+ VIPW,
+ VIGR
+};
+int program;
+char orig_file[FILENAMELEN]; /* original file /etc/passwd or /etc/group */
+char *tmp_file; /* tmp file */
+
+void pw_error __P((char *, int, int));
+
+static void copyfile(int from, int to)
+{
+ int nr, nw, off;
+ char buf[8 * 1024];
+
+ while ((nr = read(from, buf, sizeof(buf))) > 0)
+ for (off = 0; off < nr; nr -= nw, off += nw)
+ if ((nw = write(to, buf + off, nr)) < 0)
+ pw_error(tmp_file, 1, 1);
+
+ if (nr < 0)
+ pw_error(orig_file, 1, 1);
+}
+
+static void pw_init(void)
+{
+ struct rlimit rlim;
+
+ /* Unlimited resource limits. */
+ rlim.rlim_cur = rlim.rlim_max = RLIM_INFINITY;
+ (void)setrlimit(RLIMIT_CPU, &rlim);
+ (void)setrlimit(RLIMIT_FSIZE, &rlim);
+ (void)setrlimit(RLIMIT_STACK, &rlim);
+ (void)setrlimit(RLIMIT_DATA, &rlim);
+ (void)setrlimit(RLIMIT_RSS, &rlim);
+
+ /* Don't drop core (not really necessary, but GP's). */
+ rlim.rlim_cur = rlim.rlim_max = 0;
+ (void)setrlimit(RLIMIT_CORE, &rlim);
+
+ /* Turn off signals. */
+ (void)signal(SIGALRM, SIG_IGN);
+ (void)signal(SIGHUP, SIG_IGN);
+ (void)signal(SIGINT, SIG_IGN);
+ (void)signal(SIGPIPE, SIG_IGN);
+ (void)signal(SIGQUIT, SIG_IGN);
+ (void)signal(SIGTERM, SIG_IGN);
+ (void)signal(SIGTSTP, SIG_IGN);
+ (void)signal(SIGTTOU, SIG_IGN);
+
+ /* Create with exact permissions. */
+ (void)umask(0);
+}
+
+static FILE * pw_tmpfile(int lockfd)
+{
+ FILE *fd;
+ char *tmpname = NULL;
+ char *dir = "/etc";
+
+ if ((fd = xfmkstemp(&tmpname, dir)) == NULL) {
+ ulckpwdf();
+ err(EXIT_FAILURE, _("can't open temporary file"));
+ }
+
+ copyfile(lockfd, fileno(fd));
+ tmp_file = tmpname;
+ return fd;
+}
+
+static void pw_write(void)
+{
+ char tmp[FILENAMELEN + 4];
+
+ sprintf(tmp, "%s%s", orig_file, ".OLD");
+ unlink(tmp);
+
+ if (link(orig_file, tmp))
+ warn(_("%s: create a link to %s failed"), orig_file, tmp);
+
+#ifdef HAVE_LIBSELINUX
+ if (is_selinux_enabled() > 0) {
+ security_context_t passwd_context = NULL;
+ int ret = 0;
+ if (getfilecon(orig_file, &passwd_context) < 0) {
+ warnx(_("Can't get context for %s"), orig_file);
+ pw_error(orig_file, 1, 1);
+ }
+ ret = setfilecon(tmp_file, passwd_context);
+ freecon(passwd_context);
+ if (ret != 0) {
+ warnx(_("Can't set context for %s"), tmp_file);
+ pw_error(tmp_file, 1, 1);
+ }
+ }
+#endif
+
+ if (rename(tmp_file, orig_file) == -1) {
+ int errsv = errno;
+ errx(EXIT_FAILURE,
+ ("cannot write %s: %s (your changes are still in %s)"),
+ orig_file, strerror(errsv), tmp_file);
+ }
+ unlink(tmp_file);
+ free(tmp_file);
+}
+
+static void pw_edit(int notsetuid)
+{
+ int pstat;
+ pid_t pid;
+ char *p, *editor, *tk;
+
+ editor = getenv("EDITOR");
+ editor = xstrdup(editor ? editor : _PATH_VI);
+
+ tk = strtok(editor, " \t");
+ if (tk && (p = strrchr(tk, '/')) != NULL)
+ ++p;
+ else
+ p = editor;
+
+ pid = fork();
+ if (pid < 0)
+ err(EXIT_FAILURE, _("fork failed"));
+
+ if (!pid) {
+ if (notsetuid) {
+ (void)setgid(getgid());
+ (void)setuid(getuid());
+ }
+ execlp(editor, p, tmp_file, NULL);
+ /* Shouldn't get here */
+ _exit(EXIT_FAILURE);
+ }
+ for (;;) {
+ pid = waitpid(pid, &pstat, WUNTRACED);
+ if (WIFSTOPPED(pstat)) {
+ /* the editor suspended, so suspend us as well */
+ kill(getpid(), SIGSTOP);
+ kill(pid, SIGCONT);
+ } else {
+ break;
+ }
+ }
+ if (pid == -1 || !WIFEXITED(pstat) || WEXITSTATUS(pstat) != 0)
+ pw_error(editor, 1, 1);
+
+ free(editor);
+}
+
+void __attribute__((__noreturn__))
+pw_error(char *name, int err, int eval)
+{
+ if (err) {
+ if (name)
+ warn("%s: ", name);
+ else
+ warn(NULL);
+ }
+ warnx(_("%s unchanged"), orig_file);
+ unlink(tmp_file);
+ ulckpwdf();
+ exit(eval);
+}
+
+static void edit_file(int is_shadow)
+{
+ struct stat begin, end;
+ int passwd_file, ch_ret;
+ FILE *tmp_fd;
+
+ pw_init();
+
+ /* acquire exclusive lock */
+ if (lckpwdf() < 0)
+ err(EXIT_FAILURE, _("cannot get lock"));
+
+ passwd_file = open(orig_file, O_RDONLY, 0);
+ if (passwd_file < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), orig_file);
+ tmp_fd = pw_tmpfile(passwd_file);
+
+ if (fstat(fileno(tmp_fd), &begin))
+ pw_error(tmp_file, 1, 1);
+
+ pw_edit(0);
+
+ if (fstat(fileno(tmp_fd), &end))
+ pw_error(tmp_file, 1, 1);
+ /* Some editors, such as Vim with 'writebackup' mode enabled,
+ * use "atomic save" in which the old file is deleted and a new
+ * one with the same name created in its place. */
+ if (end.st_nlink == 0) {
+ if (close_stream(tmp_fd) != 0)
+ err(EXIT_FAILURE, _("write error"));
+ tmp_fd = fopen(tmp_file, "r");
+ if (!tmp_file)
+ err(EXIT_FAILURE, _("cannot open %s"), tmp_file);
+ if (fstat(fileno(tmp_fd), &end))
+ pw_error(tmp_file, 1, 1);
+ }
+ if (begin.st_mtime == end.st_mtime) {
+ warnx(_("no changes made"));
+ pw_error((char *)NULL, 0, 0);
+ }
+ /* pw_tmpfile() will create the file with mode 600 */
+ if (!is_shadow)
+ ch_ret = fchmod(fileno(tmp_fd), 0644);
+ else
+ ch_ret = fchmod(fileno(tmp_fd), 0400);
+ if (ch_ret < 0)
+ err(EXIT_FAILURE, "%s: %s", _("cannot chmod file"), orig_file);
+ if (close_stream(tmp_fd) != 0)
+ err(EXIT_FAILURE, _("write error"));
+ pw_write();
+ close(passwd_file);
+ ulckpwdf();
+}
+
+int main(int argc, char *argv[])
+{
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (!strcmp(program_invocation_short_name, "vigr")) {
+ program = VIGR;
+ xstrncpy(orig_file, GROUP_FILE, sizeof(orig_file));
+ } else {
+ program = VIPW;
+ xstrncpy(orig_file, PASSWD_FILE, sizeof(orig_file));
+ }
+
+ if ((argc > 1) &&
+ (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
+ printf(UTIL_LINUX_VERSION);
+ exit(EXIT_SUCCESS);
+ }
+
+ edit_file(0);
+
+ if (program == VIGR) {
+ strncpy(orig_file, SGROUP_FILE, FILENAMELEN - 1);
+ } else {
+ strncpy(orig_file, SHADOW_FILE, FILENAMELEN - 1);
+ }
+
+ if (access(orig_file, F_OK) == 0) {
+ char response[80];
+
+ printf((program == VIGR)
+ ? _("You are using shadow groups on this system.\n")
+ : _("You are using shadow passwords on this system.\n"));
+ /* TRANSLATORS: this program uses for y and n rpmatch(3),
+ * which means they can be translated. */
+ printf(_("Would you like to edit %s now [y/n]? "), orig_file);
+
+ if (fgets(response, sizeof(response), stdin)) {
+ if (rpmatch(response) == 1)
+ edit_file(1);
+ }
+ }
+ exit(EXIT_SUCCESS);
+}
diff --git a/m4/compiler.m4 b/m4/compiler.m4
new file mode 100644
index 0000000..eb94510
--- /dev/null
+++ b/m4/compiler.m4
@@ -0,0 +1,32 @@
+dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Simon Josefsson
+dnl -- derivated from coreutils m4/warnings.m4
+
+# UL_AS_VAR_APPEND(VAR, VALUE)
+# ----------------------------
+# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it.
+m4_ifdef([AS_VAR_APPEND],
+[m4_copy([AS_VAR_APPEND], [UL_AS_VAR_APPEND])],
+[m4_define([UL_AS_VAR_APPEND],
+[AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])])
+
+# UL_ADD_WARN([parameter])
+# ------------------------
+# Adds parameter to WARN_CFLAGS if the compiler supports it.
+AC_DEFUN([UL_WARN_ADD], [
+ AS_VAR_PUSHDEF([ul_Warn], [ul_cv_warn_$1])dnl
+ AC_CACHE_CHECK([whether compiler handles $1], m4_defn([ul_Warn]), [
+ ul_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-Werror ${CPPFLAGS} $1"
+ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
+ [AS_VAR_SET(ul_Warn, [yes])],
+ [AS_VAR_SET(ul_Warn, [no])])
+ CPPFLAGS="$ul_save_CPPFLAGS"
+ ])
+ AS_VAR_IF(ul_Warn, [yes], [UL_AS_VAR_APPEND([WARN_CFLAGS], [" $1"])])
+])
+
diff --git a/m4/gettext.m4 b/m4/gettext.m4
new file mode 100644
index 0000000..a374f03
--- /dev/null
+++ b/m4/gettext.m4
@@ -0,0 +1,487 @@
+# gettext.m4 serial 28 (gettext-0.13)
+dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl default (if it is not specified or empty) is 'no-libtool'.
+dnl INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl depending on --{enable,disable}-{shared,static} and on the presence of
+dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl implementations (in libc or libintl) without the ngettext() function
+dnl will be ignored. If NEEDSYMBOL is specified and is
+dnl 'need-formatstring-macros', then GNU gettext implementations that don't
+dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries. If empty,
+dnl the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl and used.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl Catalog format: none
+dnl Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+ dnl Argument checking.
+ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+ define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
+ define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
+
+ AC_REQUIRE([AM_PO_SUBDIRS])dnl
+ ifelse(gt_included_intl, yes, [
+ AC_REQUIRE([AM_INTL_SUBDIR])dnl
+ ])
+
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
+ dnl Ideally we would do this search only after the
+ dnl if test "$USE_NLS" = "yes"; then
+ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+ dnl the configure script would need to contain the same shell code
+ dnl again, outside any 'if'. There are two solutions:
+ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+ dnl documented, we avoid it.
+ ifelse(gt_included_intl, yes, , [
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+ ])
+
+ dnl Set USE_NLS.
+ AM_NLS
+
+ ifelse(gt_included_intl, yes, [
+ BUILD_INCLUDED_LIBINTL=no
+ USE_INCLUDED_LIBINTL=no
+ ])
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ dnl If we use NLS figure out what method
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+ ifelse(gt_included_intl, yes, [
+ AC_MSG_CHECKING([whether included gettext is requested])
+ AC_ARG_WITH(included-gettext,
+ [ --with-included-gettext use the GNU gettext library included here],
+ nls_cv_force_use_gnu_gettext=$withval,
+ nls_cv_force_use_gnu_gettext=no)
+ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+ ])
+ dnl User does not insist on using GNU NLS library. Figure out what
+ dnl to use. If GNU gettext is available we use this. Else we have
+ dnl to fall back to GNU NLS library.
+
+ dnl Add a version number to the cache macros.
+ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
+ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
+ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
+
+ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
+ [AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;],
+ [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
+ gt_cv_func_gnugettext_libc=yes,
+ gt_cv_func_gnugettext_libc=no)])
+
+ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
+ ifelse(gt_included_intl, yes, , [
+ AM_ICONV_LINK
+ ])
+ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+ dnl even if libiconv doesn't exist.
+ AC_LIB_LINKFLAGS_BODY([intl])
+ AC_CACHE_CHECK([for GNU gettext in libintl],
+ gt_cv_func_gnugettext_libintl,
+ [gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ dnl Now see whether libintl exists and does not depend on libiconv.
+ AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();],
+ [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
+ gt_cv_func_gnugettext_libintl=yes,
+ gt_cv_func_gnugettext_libintl=no)
+ dnl Now see whether libintl exists and depends on libiconv.
+ if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();],
+ [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
+ [LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ gt_cv_func_gnugettext_libintl=yes
+ ])
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"])
+ fi
+
+ dnl If an already present or preinstalled GNU gettext() is found,
+ dnl use it. But if this macro is used in GNU gettext, and GNU
+ dnl gettext is already preinstalled in libintl, we update this
+ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
+ if test "$gt_cv_func_gnugettext_libc" = "yes" \
+ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ dnl Reset the values set by searching for libintl.
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+ ifelse(gt_included_intl, yes, [
+ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+ dnl GNU gettext is not found in the C library.
+ dnl Fall back on included GNU gettext library.
+ nls_cv_use_gnu_gettext=yes
+ fi
+ fi
+
+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions used to generate GNU NLS library.
+ BUILD_INCLUDED_LIBINTL=yes
+ USE_INCLUDED_LIBINTL=yes
+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions to use GNU gettext tools.
+ CATOBJEXT=.gmo
+ fi
+ ])
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ AC_DEFINE(ENABLE_NLS, 1,
+ [Define to 1 if translation of program messages to the user's native language
+ is requested.])
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ AC_MSG_CHECKING([whether to use NLS])
+ AC_MSG_RESULT([$USE_NLS])
+ if test "$USE_NLS" = "yes"; then
+ AC_MSG_CHECKING([where the gettext function comes from])
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ AC_MSG_RESULT([$gt_source])
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+ AC_MSG_CHECKING([how to link with libintl])
+ AC_MSG_RESULT([$LIBINTL])
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+ fi
+
+ dnl For backward compatibility. Some packages may be using this.
+ AC_DEFINE(HAVE_GETTEXT, 1,
+ [Define if the GNU gettext() function is already present or preinstalled.])
+ AC_DEFINE(HAVE_DCGETTEXT, 1,
+ [Define if the GNU dcgettext() function is already present or preinstalled.])
+ fi
+
+ dnl We need to process the po/ directory.
+ POSUB=po
+ fi
+
+ ifelse(gt_included_intl, yes, [
+ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+ dnl to 'yes' because some of the testsuite requires it.
+ if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+ BUILD_INCLUDED_LIBINTL=yes
+ fi
+
+ dnl Make all variables we use known to autoconf.
+ AC_SUBST(BUILD_INCLUDED_LIBINTL)
+ AC_SUBST(USE_INCLUDED_LIBINTL)
+ AC_SUBST(CATOBJEXT)
+
+ dnl For backward compatibility. Some configure.ins may be using this.
+ nls_cv_header_intl=
+ nls_cv_header_libgt=
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ DATADIRNAME=share
+ AC_SUBST(DATADIRNAME)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INSTOBJEXT=.mo
+ AC_SUBST(INSTOBJEXT)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ GENCAT=gencat
+ AC_SUBST(GENCAT)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ if test "$USE_INCLUDED_LIBINTL" = yes; then
+ INTLOBJS="\$(GETTOBJS)"
+ fi
+ AC_SUBST(INTLOBJS)
+
+ dnl Enable libtool support if the surrounding package wishes it.
+ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+ ])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INTLLIBS="$LIBINTL"
+ AC_SUBST(INTLLIBS)
+
+ dnl Make all documented variables known to autoconf.
+ AC_SUBST(LIBINTL)
+ AC_SUBST(LTLIBINTL)
+ AC_SUBST(POSUB)
+])
+
+
+dnl Checks for all prerequisites of the intl subdirectory,
+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
+dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
+AC_DEFUN([AM_INTL_SUBDIR],
+[
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+ AC_REQUIRE([AC_PROG_CC])dnl
+ AC_REQUIRE([AC_CANONICAL_HOST])dnl
+ AC_REQUIRE([AC_PROG_RANLIB])dnl
+ AC_REQUIRE([AC_ISC_POSIX])dnl
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+ AC_REQUIRE([AC_C_CONST])dnl
+ AC_REQUIRE([bh_C_SIGNED])dnl
+ AC_REQUIRE([AC_C_INLINE])dnl
+ AC_REQUIRE([AC_TYPE_OFF_T])dnl
+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+ AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl
+ AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
+ AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
+ AC_REQUIRE([gt_TYPE_WINT_T])dnl
+ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
+ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
+ AC_REQUIRE([gt_TYPE_INTMAX_T])
+ AC_REQUIRE([gt_PRINTF_POSIX])
+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+ AC_REQUIRE([AC_FUNC_MMAP])dnl
+ AC_REQUIRE([jm_GLIBC21])dnl
+ AC_REQUIRE([gt_INTDIV0])dnl
+ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
+ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
+ AC_REQUIRE([gt_INTTYPES_PRI])dnl
+ AC_REQUIRE([gl_XSIZE])dnl
+
+ AC_CHECK_TYPE([ptrdiff_t], ,
+ [AC_DEFINE([ptrdiff_t], [long],
+ [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
+ ])
+ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h])
+ AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
+mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
+strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
+__fsetlocking])
+
+ dnl Use the _snprintf function only if it is declared (because on NetBSD it
+ dnl is defined as a weak alias of snprintf; we prefer to use the latter).
+ gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
+ gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
+
+ dnl Use the *_unlocked functions only if they are declared.
+ dnl (because some of them were defined without being declared in Solaris
+ dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
+ dnl on Solaris 2.5.1 to run on Solaris 2.6).
+ dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
+ gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
+ gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
+ gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
+
+ case $gt_cv_func_printf_posix in
+ *yes) HAVE_POSIX_PRINTF=1 ;;
+ *) HAVE_POSIX_PRINTF=0 ;;
+ esac
+ AC_SUBST([HAVE_POSIX_PRINTF])
+ if test "$ac_cv_func_asprintf" = yes; then
+ HAVE_ASPRINTF=1
+ else
+ HAVE_ASPRINTF=0
+ fi
+ AC_SUBST([HAVE_ASPRINTF])
+ if test "$ac_cv_func_snprintf" = yes; then
+ HAVE_SNPRINTF=1
+ else
+ HAVE_SNPRINTF=0
+ fi
+ AC_SUBST([HAVE_SNPRINTF])
+ if test "$ac_cv_func_wprintf" = yes; then
+ HAVE_WPRINTF=1
+ else
+ HAVE_WPRINTF=0
+ fi
+ AC_SUBST([HAVE_WPRINTF])
+
+ AM_ICONV
+ AM_LANGINFO_CODESET
+ if test $ac_cv_header_locale_h = yes; then
+ AM_LC_MESSAGES
+ fi
+
+ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
+ dnl because plural.y uses bison specific features. It requires at least
+ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
+ dnl compile.
+ dnl bison is only needed for the maintainer (who touches plural.y). But in
+ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
+ dnl the rule in general Makefile. Now, some people carelessly touch the
+ dnl files or have a broken "make" program, hence the plural.c rule will
+ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
+ dnl present or too old.
+ AC_CHECK_PROGS([INTLBISON], [bison])
+ if test -z "$INTLBISON"; then
+ ac_verc_fail=yes
+ else
+ dnl Found it, now check the version.
+ AC_MSG_CHECKING([version of bison])
+changequote(<<,>>)dnl
+ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+changequote([,])dnl
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+ esac
+ AC_MSG_RESULT([$ac_prog_version])
+ fi
+ if test $ac_verc_fail = yes; then
+ INTLBISON=:
+ fi
+])
+
+
+dnl gt_CHECK_DECL(FUNC, INCLUDES)
+dnl Check whether a function is declared.
+AC_DEFUN([gt_CHECK_DECL],
+[
+ AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
+ [AC_TRY_COMPILE([$2], [
+#ifndef $1
+ char *p = (char *) $1;
+#endif
+], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
+ if test $ac_cv_have_decl_$1 = yes; then
+ gt_value=1
+ else
+ gt_value=0
+ fi
+ AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
+ [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
diff --git a/m4/gtk-doc.m4 b/m4/gtk-doc.m4
new file mode 100644
index 0000000..bfdfa1d
--- /dev/null
+++ b/m4/gtk-doc.m4
@@ -0,0 +1,39 @@
+dnl -*- mode: autoconf -*-
+
+# serial 1
+
+dnl Usage:
+dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
+AC_DEFUN([GTK_DOC_CHECK],
+[
+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ dnl for overriding the documentation installation directory
+ AC_ARG_WITH([html-dir],
+ AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
+ [with_html_dir='${datadir}/gtk-doc/html'])
+ HTML_DIR="$with_html_dir"
+ AC_SUBST([HTML_DIR])
+
+ dnl enable/disable documentation building
+ AC_ARG_ENABLE([gtk-doc],
+ AS_HELP_STRING([--enable-gtk-doc],
+ [use gtk-doc to build documentation [[default=no]]]),,
+ [enable_gtk_doc=no])
+
+ if test x$enable_gtk_doc = xyes; then
+ ifelse([$1],[],
+ [PKG_CHECK_EXISTS([gtk-doc],,
+ AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
+ [PKG_CHECK_EXISTS([gtk-doc >= $1],,
+ AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build gtk-doc]))])
+ fi
+
+ AC_MSG_CHECKING([whether to build gtk-doc documentation])
+ AC_MSG_RESULT($enable_gtk_doc)
+
+ AC_PATH_PROGS(GTKDOC_CHECK,gtkdoc-check,)
+
+ AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
+ AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
+])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
new file mode 100644
index 0000000..c5f3579
--- /dev/null
+++ b/m4/iconv.m4
@@ -0,0 +1,103 @@
+# iconv.m4 serial AM4 (gettext-0.11.3)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+ dnl those with the standalone portable GNU libiconv installed).
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed libiconv and not disabled its use
+ dnl via --without-libiconv-prefix, he wants to use it. The first
+ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+ am_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ am_cv_func_iconv=yes)
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes)
+ LIBS="$am_save_LIBS"
+ fi
+ ])
+ if test "$am_cv_func_iconv" = yes; then
+ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ AC_MSG_CHECKING([how to link with libiconv])
+ AC_MSG_RESULT([$LIBICONV])
+ else
+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+ dnl either.
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+ AC_SUBST(LIBICONV)
+ AC_SUBST(LTLIBICONV)
+])
+
+AC_DEFUN([AM_ICONV],
+[
+ AM_ICONV_LINK
+ if test "$am_cv_func_iconv" = yes; then
+ AC_MSG_CHECKING([for iconv declaration])
+ AC_CACHE_VAL(am_cv_proto_iconv, [
+ AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ AC_MSG_RESULT([$]{ac_t:-
+ }[$]am_cv_proto_iconv)
+ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+ [Define as const if the declaration of iconv() needs const.])
+ fi
+])
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
new file mode 100644
index 0000000..38aeaec
--- /dev/null
+++ b/m4/lib-ld.m4
@@ -0,0 +1,112 @@
+# lib-ld.m4 serial 3 (gettext-0.13)
+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
+dnl with libtool.m4.
+
+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes ;;
+*)
+ acl_cv_prog_gnu_ld=no ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-1.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by GCC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]* | [A-Za-z]:[\\/]*)]
+ [re_direlt='/[^/][^/]*/\.\./']
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(acl_cv_path_LD,
+[if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break ;;
+ *)
+ test "$with_gnu_ld" != yes && break ;;
+ esac
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
new file mode 100644
index 0000000..eeb200d
--- /dev/null
+++ b/m4/lib-link.m4
@@ -0,0 +1,551 @@
+# lib-link.m4 serial 4 (gettext-0.12)
+dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ define([Name],[translit([$1],[./-], [___])])
+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+ ])
+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+ dnl results of this search when this library appears as a dependency.
+ HAVE_LIB[]NAME=yes
+ undefine([Name])
+ undefine([NAME])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. If found, it
+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ define([Name],[translit([$1],[./-], [___])])
+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+
+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed lib[]Name and not disabled its use
+ dnl via --without-lib[]Name-prefix, he wants to use it.
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIB[]NAME"
+ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+ LIBS="$ac_save_LIBS"
+ ])
+ if test "$ac_cv_lib[]Name" = yes; then
+ HAVE_LIB[]NAME=yes
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+ AC_MSG_CHECKING([how to link with lib[]$1])
+ AC_MSG_RESULT([$LIB[]NAME])
+ else
+ HAVE_LIB[]NAME=no
+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+ dnl $INC[]NAME either.
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIB[]NAME=
+ LTLIB[]NAME=
+ fi
+ AC_SUBST([HAVE_LIB]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ undefine([Name])
+ undefine([NAME])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
+dnl hardcode_direct, hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+ ])
+ wl="$acl_cv_wl"
+ libext="$acl_cv_libext"
+ shlibext="$acl_cv_shlibext"
+ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ hardcode_direct="$acl_cv_hardcode_direct"
+ hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ dnl Determine whether the user wants rpath handling at all.
+ AC_ARG_ENABLE(rpath,
+ [ --disable-rpath do not hardcode runtime library paths],
+ :, enable_rpath=yes)
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_LIB_ARG_WITH([lib$1-prefix],
+[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
+ --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/lib"
+ fi
+ fi
+])
+ dnl Search the library and its dependencies in $additional_libdir and
+ dnl $LDFLAGS. Using breadth-first-seach.
+ LIB[]NAME=
+ LTLIB[]NAME=
+ INC[]NAME=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='$1 $2'
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+ dnl or AC_LIB_HAVE_LINKFLAGS call.
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+ else
+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+ dnl that this library doesn't exist. So just drop it.
+ :
+ fi
+ else
+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+ dnl and the already constructed $LIBNAME/$LTLIBNAME.
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ if test $use_additional = yes; then
+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_dir="$additional_libdir"
+ found_so="$additional_libdir/lib$name.$shlibext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ else
+ if test -f "$additional_libdir/lib$name.$libext"; then
+ found_dir="$additional_libdir"
+ found_a="$additional_libdir/lib$name.$libext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+ found_dir="$dir"
+ found_so="$dir/lib$name.$shlibext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ else
+ if test -f "$dir/lib$name.$libext"; then
+ found_dir="$dir"
+ found_a="$dir/lib$name.$libext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ dnl Found the library.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ dnl Linking with a shared library. We attempt to hardcode its
+ dnl directory into the executable's runpath, unless it's the
+ dnl standard /usr/lib.
+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ dnl No hardcoding is needed.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ dnl The hardcoding into $LIBNAME is system dependent.
+ if test "$hardcode_direct" = yes; then
+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+ dnl resulting binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ dnl Rely on "-L$found_dir".
+ dnl But don't add it if it's already contained in the LDFLAGS
+ dnl or the already constructed $LIBNAME
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+ fi
+ if test "$hardcode_minus_L" != no; then
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+ dnl here, because this doesn't fit in flags passed to the
+ dnl compiler. So give up. No hardcoding. This affects only
+ dnl very old systems.
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ dnl Linking with a static library.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+ else
+ dnl We shouldn't come here, but anyway it's good to have a
+ dnl fallback.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+ fi
+ fi
+ dnl Assume the include files are nearby.
+ additional_includedir=
+ case "$found_dir" in
+ */lib | */lib/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ dnl Potentially add $additional_includedir to $INCNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 3. if it's already present in $CPPFLAGS or the already
+ dnl constructed $INCNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INC[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $INCNAME.
+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ dnl Look for dependencies.
+ if test -n "$found_la"; then
+ dnl Read the .la file. It defines the variables
+ dnl dlname, library_names, old_library, dependency_libs, current,
+ dnl age, revision, installed, dlopen, dlpreopen, libdir.
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ dnl We use only dependency_libs.
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 3. if it's already present in $LDFLAGS or the already
+ dnl constructed $LIBNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/lib"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LIBNAME.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LTLIBNAME.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ dnl Handle this in the next round.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ dnl Handle this in the next round. Throw away the .la's
+ dnl directory; it is already contained in a preceding -L
+ dnl option.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ dnl Most likely an immediate library name.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ dnl Didn't find the library; assume it is in the system directories
+ dnl known to the linker and runtime loader. (All the system
+ dnl directories known to the linker should also be known to the
+ dnl runtime loader, otherwise the system is severely misconfigured.)
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user must
+ dnl pass all path elements in one option. We can arrange that for a
+ dnl single library, but not when more than one $LIBNAMEs are used.
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ done
+ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ dnl When using libtool, the option that works for both libraries and
+ dnl executables is -R. The -R options are cumulative.
+ for found_dir in $ltrpathdirs; do
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+ done
+ fi
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+ for element in [$2]; do
+ haveit=
+ for x in $[$1]; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ [$1]="${[$1]}${[$1]:+ }$element"
+ fi
+ done
+])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
new file mode 100644
index 0000000..8aff5a9
--- /dev/null
+++ b/m4/lib-prefix.m4
@@ -0,0 +1,155 @@
+# lib-prefix.m4 serial 3 (gettext-0.13)
+dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_LIB_ARG_WITH([lib-prefix],
+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+ --without-lib-prefix don't search for libraries in includedir and libdir],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/lib"
+ fi
+ fi
+])
+ if test $use_additional = yes; then
+ dnl Potentially add $additional_includedir to $CPPFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's already present in $CPPFLAGS,
+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ for x in $CPPFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $CPPFLAGS.
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ dnl Potentially add $additional_libdir to $LDFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's already present in $LDFLAGS,
+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/lib"; then
+ haveit=
+ for x in $LDFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LDFLAGS.
+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ $1
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 0000000..88de383
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,7835 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+# Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+# Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 57 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_REPLACE_SHELLFNS
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+case "$ECHO" in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[ --with-sysroot[=DIR] Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+ ])
+ ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[123]]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ F* | *Sun*Fortran*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*) ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ freebsd1*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS="$save_LDFLAGS"])
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+ [[If ld is used when linking, flag to hardcode $libdir into a binary
+ during linking. This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd[[12]]*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test "$pre_test_object_deps_done" = no; then
+ case ${prev} in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+ CFLAGS="$lt_save_CFLAGS"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
+
+
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+ func_split_long_opt_name=${1%%=*}
+ func_split_long_opt_arg=${1#*=}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
+
+ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
+
+ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+ func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 0000000..17cfd51
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,369 @@
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 7 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 0000000..9000a05
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 0000000..9c7b5d4
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 3293 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4])
+m4_define([LT_PACKAGE_REVISION], [1.3293])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4'
+macro_revision='1.3293'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 0000000..c573da9
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,98 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644
index 0000000..36bc493
--- /dev/null
+++ b/m4/nls.m4
@@ -0,0 +1,49 @@
+# nls.m4 serial 1 (gettext-0.12)
+dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_DEFUN([AM_NLS],
+[
+ AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE(nls,
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT($USE_NLS)
+ AC_SUBST(USE_NLS)
+])
+
+AC_DEFUN([AM_MKINSTALLDIRS],
+[
+ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
+ dnl Try to locate it.
+ MKINSTALLDIRS=
+ if test -n "$ac_aux_dir"; then
+ case "$ac_aux_dir" in
+ /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
+ *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
+ esac
+ fi
+ if test -z "$MKINSTALLDIRS"; then
+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+ fi
+ AC_SUBST(MKINSTALLDIRS)
+])
diff --git a/m4/po.m4 b/m4/po.m4
new file mode 100644
index 0000000..e161998
--- /dev/null
+++ b/m4/po.m4
@@ -0,0 +1,426 @@
+# po.m4 serial 3 (gettext-0.14)
+dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+ AC_REQUIRE([AM_NLS])dnl
+
+ dnl Perform the following tests also if --disable-nls has been given,
+ dnl because they are needed for "make dist" to work.
+
+ dnl Search for GNU msgfmt in the PATH.
+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+ dnl The second test excludes FreeBSD msgfmt.
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+ dnl Search for GNU xgettext 0.12 or newer in the PATH.
+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+ dnl The second test excludes FreeBSD xgettext.
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ dnl Remove leftover from FreeBSD xgettext call.
+ rm -f messages.po
+
+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
+
+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+ dnl Test whether we really found GNU msgfmt.
+ if test "$GMSGFMT" != ":"; then
+ dnl If it is no GNU msgfmt we define it as : so that the
+ dnl Makefiles still can work.
+ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+ AC_MSG_RESULT(
+ [found $GMSGFMT program is not GNU msgfmt; ignore it])
+ GMSGFMT=":"
+ fi
+ fi
+
+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+ dnl Test whether we really found GNU xgettext.
+ if test "$XGETTEXT" != ":"; then
+ dnl If it is no GNU xgettext we define it as : so that the
+ dnl Makefiles still can work.
+ if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found xgettext program is not GNU xgettext; ignore it])
+ XGETTEXT=":"
+ fi
+ dnl Remove leftover from FreeBSD xgettext call.
+ rm -f messages.po
+ fi
+
+ AC_OUTPUT_COMMANDS([
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assigment from automake.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done],
+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+ ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+ # When this code is run, in config.status, two variables have already been
+ # set:
+ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+ # - LINGUAS is the value of the environment variable LINGUAS at configure
+ # time.
+
+changequote(,)dnl
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ # Find a way to echo strings without interpreting backslash.
+ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='echo'
+ else
+ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='printf %s\n'
+ else
+ echo_func () {
+ cat <<EOT
+$*
+EOT
+ }
+ gt_echo='echo_func'
+ fi
+ fi
+
+ # A sed script that extracts the value of VARIABLE from a Makefile.
+ sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^[ ]*VARIABLE[ ]*=/{
+ # Seen the first line of the variable definition.
+ s/^[ ]*VARIABLE[ ]*=//
+ ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+ # Set POTFILES to the value of the Makefile variable POTFILES.
+ sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
+ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+ # Compute POTFILES_DEPS as
+ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+ POTFILES_DEPS=
+ for file in $POTFILES; do
+ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+ done
+ POMAKEFILEDEPS=""
+
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+ sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
+ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+ fi
+ # Hide the ALL_LINGUAS assigment from automake.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ # Compute PROPERTIESFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+ # Compute CLASSFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+ # Compute QMFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+ # Compute MSGFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+ # Compute RESOURCESDLLFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ PROPERTIESFILES=
+ CLASSFILES=
+ QMFILES=
+ MSGFILES=
+ RESOURCESDLLFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+ QMFILES="$QMFILES $srcdirpre$lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g'`
+ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ JAVACATALOGS=
+ QTCATALOGS=
+ TCLCATALOGS=
+ CSHARPCATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+ QTCATALOGS="$QTCATALOGS $lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g'`
+ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ fi
+
+ sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+ @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+ \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/_/-/g'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+ @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+ \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if test -n "$POMAKEFILEDEPS"; then
+ cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+ fi
+ mv "$ac_file.tmp" "$ac_file"
+])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
new file mode 100644
index 0000000..8fe527c
--- /dev/null
+++ b/m4/progtest.m4
@@ -0,0 +1,91 @@
+# progtest.m4 serial 3 (gettext-0.12)
+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+ [[\\/]]* | ?:[[\\/]]*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+ AC_MSG_RESULT([$]$1)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
diff --git a/m4/tls.m4 b/m4/tls.m4
new file mode 100644
index 0000000..d2243aa
--- /dev/null
+++ b/m4/tls.m4
@@ -0,0 +1,111 @@
+#
+# AX_CHECK_TLS -- check whether the target supports TLS (thread-local storage)
+#
+# Based on tls.m4 from gcc and extended by TLS link test for cross-compiling
+# support from http://old.nabble.com/Improve-TLS-link-test-for-cross-compiling-td24312975.html
+#
+# Note that AX_TLS from http://autoconf-archive.cryp.to/ax_tls.html supports
+# more keywords for TLS. We are happy with the "__thread" only.
+#
+# -- Karel Zak (04-Dec-2009)
+#
+dnl Check whether the target supports TLS.
+AC_DEFUN([AX_CHECK_TLS], [
+
+ AC_REQUIRE([AC_CANONICAL_HOST])
+
+ AC_ARG_ENABLE([tls],
+ AS_HELP_STRING([--disable-tls], [disable use of thread local support]),
+ [], enable_tls=yes)
+
+ AC_CACHE_CHECK([whether the target supports thread-local storage],
+ ax_cv_have_tls, [
+ AC_RUN_IFELSE([AC_LANG_SOURCE([__thread int a; int b; int main() { return a = b; }])],
+ [dnl If the test case passed with dynamic linking, try again with
+ dnl static linking, but only if static linking is supported (not
+ dnl on Solaris 10). This fails with some older Red Hat releases.
+ chktls_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="-static $LDFLAGS"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main() { return 0; }])],
+ AC_RUN_IFELSE([AC_LANG_SOURCE([__thread int a; int b; int main() { return a = b; }])],
+ [ax_cv_have_tls=yes], [ax_cv_have_tls=no],[]),
+ [ax_cv_have_tls=yes])
+ LDFLAGS="$chktls_save_LDFLAGS"
+ if test $ax_cv_have_tls = yes; then
+ dnl So far, the binutils and the compiler support TLS.
+ dnl Also check whether the libc supports TLS, i.e. whether a variable
+ dnl with __thread linkage has a different address in different threads.
+ dnl First, find the thread_CFLAGS necessary for linking a program that
+ dnl calls pthread_create.
+ chktls_save_CFLAGS="$CFLAGS"
+ thread_CFLAGS=failed
+ for flag in '' '-pthread' '-lpthread'; do
+ CFLAGS="$flag $chktls_save_CFLAGS"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <pthread.h>
+ void *g(void *d) { return NULL; }],
+ [pthread_t t; pthread_create(&t,NULL,g,NULL);])],
+ [thread_CFLAGS="$flag"])
+ if test "X$thread_CFLAGS" != Xfailed; then
+ break
+ fi
+ done
+ CFLAGS="$chktls_save_CFLAGS"
+ if test "X$thread_CFLAGS" != Xfailed; then
+ CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <pthread.h>
+ __thread int a;
+ static int *a_in_other_thread;
+ static void *
+ thread_func (void *arg)
+ {
+ a_in_other_thread = &a;
+ return (void *)0;
+ }],
+ [pthread_t thread;
+ void *thread_retval;
+ int *a_in_main_thread;
+ if (pthread_create (&thread, (pthread_attr_t *)0,
+ thread_func, (void *)0))
+ return 0;
+ a_in_main_thread = &a;
+ if (pthread_join (thread, &thread_retval))
+ return 0;
+ return (a_in_other_thread == a_in_main_thread);])],
+ [ax_cv_have_tls=yes], [ax_cv_have_tls=no], [])
+ CFLAGS="$chktls_save_CFLAGS"
+ fi
+ fi],
+ [ax_cv_have_tls=no],
+ [dnl This is the cross-compiling case. Assume libc supports TLS if the
+ dnl binutils and the compiler do.
+ AC_LINK_IFELSE([AC_LANG_SOURCE([__thread int a; int b; int main() { return a = b; }])],
+ [chktls_save_LDFLAGS="$LDFLAGS"
+ dnl Shared library options may depend on the host; this check
+ dnl is only known to be needed for GNU/Linux.
+ case $host in
+ *-*-linux*)
+ LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
+ ;;
+ esac
+ chktls_save_CFLAGS="$CFLAGS"
+ CFLAGS="-fPIC $CFLAGS"
+ dnl If -shared works, test if TLS works in a shared library.
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int f() { return 0; }])],
+ [AC_LINK_IFELSE([AC_LANG_SOURCE([__thread int a; int b; int f() { return a = b; }])],
+ [ax_cv_have_tls=yes],
+ [ax_cv_have_tls=no])],
+ [ax_cv_have_tls=yes])
+ CFLAGS="$chktls_save_CFLAGS"
+ LDFLAGS="$chktls_save_LDFLAGS"], [ax_cv_have_tls=no])
+ ]
+ )])
+
+ if test "$enable_tls $ax_cv_have_tls" = "yes yes"; then
+ AC_DEFINE(HAVE_TLS, 1,
+ [Define to 1 if the target supports thread-local storage.])
+ fi
+])
diff --git a/m4/ul.m4 b/m4/ul.m4
new file mode 100644
index 0000000..2109aaa
--- /dev/null
+++ b/m4/ul.m4
@@ -0,0 +1,301 @@
+
+dnl UL_PKG_STATIC(VARIABLE, MODULES)
+dnl
+dnl Calls pkg-config --static
+dnl
+AC_DEFUN([UL_PKG_STATIC], [
+ if AC_RUN_LOG([pkg-config --exists --print-errors "$2"]); then
+ $1=`pkg-config --libs --static "$2"`
+ else
+ AC_MSG_ERROR([pkg-config description of $2, needed for static build, is not available])
+ fi
+])
+
+dnl UL_CHECK_LIB(LIBRARY, FUNCTION, [VARSUFFIX = $1]))
+dnl
+dnl The VARSUFFIX is optional and overrides the default behaviour. For example:
+dnl UL_CHECK_LIB(yyy, func, xxx) generates have_xxx and HAVE_LIBXXX
+dnl UL_CHECK_LIB(yyy, func) generates have_yyy and HAVE_LIBYYY
+dnl
+AC_DEFUN([UL_CHECK_LIB], [
+ m4_define([suffix], m4_default([$3],$1))
+ [have_]suffix=yes
+ m4_ifdef([$3],
+ [AC_CHECK_LIB([$1], [$2], [AC_DEFINE(AS_TR_CPP([HAVE_LIB]suffix), 1)], [[have_]suffix=no])],
+ [AC_CHECK_LIB([$1], [$2], [], [[have_]suffix=no])])
+ AM_CONDITIONAL(AS_TR_CPP([HAVE_]suffix), [test [$have_]suffix = yes])
+])
+
+
+dnl UL_SET_ARCH(ARCHNAME, PATTERN)
+dnl
+dnl Define ARCH_<archname> condition if the pattern match with the current
+dnl architecture
+dnl
+AC_DEFUN([UL_SET_ARCH], [
+ cpu_$1=false
+ case "$host" in
+ $2) cpu_$1=true ;;
+ esac
+ AM_CONDITIONAL(AS_TR_CPP(ARCH_$1), [test "x$cpu_$1" = xtrue])
+])
+
+
+dnl UL_SET_FLAGS(CFLAGS, CPPFLAGS, LDFLAGS)
+dnl
+dnl Sets new global CFLAGS, CPPFLAGS and LDFLAG, the original
+dnl setting could be restored by UL_RESTORE_FLAGS()
+dnl
+AC_DEFUN([UL_SET_FLAGS], [
+ old_CFLAGS="$CFLAGS"
+ old_CPPFLAGS="$CPPFLAGS"
+ old_LDFLAGS="$LDFLAGS"
+ CFLAGS="$CFLAGS $1"
+ CPPFLAGS="$CPPFLAGS $2"
+ LDFLAGS="$LDFLAGS $3"
+])
+
+dnl UL_RESTORE_FLAGS()
+dnl
+dnl Restores CFLAGS, CPPFLAGS and LDFLAG previously saved by UL_SET_FLAGS()
+dnl
+AC_DEFUN([UL_RESTORE_FLAGS], [
+ CFLAGS="$old_CFLAGS"
+ CPPFLAGS="$old_CPPFLAGS"
+ LDFLAGS="$old_LDFLAGS"
+])
+
+
+dnl UL_CHECK_SYSCALL(SYSCALL, FALLBACK, ...)
+dnl
+dnl Only specify FALLBACK if the SYSCALL you're checking for is a "newish" one
+dnl
+AC_DEFUN([UL_CHECK_SYSCALL], [
+ dnl This macro uses host_cpu.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_CACHE_CHECK([for syscall $1],
+ [ul_cv_syscall_$1],
+ [_UL_SYSCALL_CHECK_DECL([SYS_$1],
+ [syscall=SYS_$1],
+ [dnl Our libc failed use, so see if we can get the kernel
+ dnl headers to play ball ...
+ _UL_SYSCALL_CHECK_DECL([_NR_$1],
+ [syscall=_NR_$1],
+ [
+ syscall=no
+ if test "x$linux_os" = xyes; then
+ case $host_cpu in
+ _UL_CHECK_SYSCALL_FALLBACK(m4_shift($@))
+ esac
+ fi
+ ])
+ ])
+ ul_cv_syscall_$1=$syscall
+ ])
+ AM_CONDITIONAL([HAVE_]m4_toupper($1), [test "x$ul_cv_syscall_$1" != xno])
+ case $ul_cv_syscall_$1 in #(
+ no) AC_MSG_WARN([Unable to detect syscall $1.]) ;;
+ SYS_*) ;;
+ *) AC_DEFINE_UNQUOTED([SYS_$1], [$ul_cv_syscall_$1],
+ [Fallback syscall number for $1]) ;;
+ esac
+])
+
+
+dnl _UL_SYSCALL_CHECK_DECL(SYMBOL, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
+dnl
+dnl Check if SYMBOL is declared, using the headers needed for syscall checks.
+dnl
+m4_define([_UL_SYSCALL_CHECK_DECL],
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/syscall.h>
+#include <unistd.h>
+]], [[int test = $1;]])],
+[$2], [$3])
+])
+
+dnl _UL_CHECK_SYSCALL_FALLBACK(PATTERN, VALUE, ...)
+dnl
+dnl Helper macro to create the body for the above `case'.
+dnl
+m4_define([_UL_CHECK_SYSCALL_FALLBACK],
+[m4_ifval([$1],
+ [#(
+ $1) syscall="$2" ;;dnl
+ _UL_CHECK_SYSCALL_FALLBACK(m4_shiftn(2, $@))])dnl
+])
+
+
+dnl UL_REQUIRES_LINUX(NAME, [VARSUFFIX = $1])
+dnl
+dnl Modifies $build_<name> variable according to $enable_<name> and OS type. The
+dnl $enable_<name> could be "yes", "no" and "check". If build_<name> is "no" then
+dnl all checks are skiped.
+dnl
+dnl The default <name> for $build_ and $enable_ could be overwrited by option $2.
+dnl
+AC_DEFUN([UL_REQUIRES_LINUX], [
+ m4_define([suffix], m4_default([$2],$1))
+ if test "x$[build_]suffix" != xno; then
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ case $[enable_]suffix:$linux_os in #(
+ no:*)
+ [build_]suffix=no ;;
+ yes:yes)
+ [build_]suffix=yes ;;
+ yes:*)
+ AC_MSG_ERROR([$1 selected for non-linux system]);;
+ check:yes)
+ [build_]suffix=yes ;;
+ check:*)
+ AC_MSG_WARN([non-linux system; do not build $1])
+ [build_]suffix=no ;;
+ esac
+ fi
+])
+
+dnl UL_REQUIRES_HAVE(NAME, HAVENAME, HAVEDESC [VARSUFFIX=$1])
+dnl
+dnl Modifies $build_<name> variable according to $enable_<name> and
+dnl $have_<havename>. The <havedesc> is description used ifor warning/error
+dnl message (e.g. "function").
+dnl
+dnl The default <name> for $build_ and $enable_ could be overwrited by option $3.
+dnl
+AC_DEFUN([UL_REQUIRES_HAVE], [
+ m4_define([suffix], m4_default([$4],$1))
+
+ if test "x$[build_]suffix" != xno; then
+ case $[enable_]suffix:$[have_]$2 in #(
+ no:*)
+ [build_]suffix=no ;;
+ yes:yes)
+ [build_]suffix=yes ;;
+ yes:*)
+ AC_MSG_ERROR([$1 selected, but required $3 not available]);;
+ check:yes)
+ [build_]suffix=yes ;;
+ check:*)
+ AC_MSG_WARN([$3 not found; do not build $1])
+ [build_]suffix=no ;;
+ esac
+ fi
+])
+
+
+dnl
+dnl UL_CONFLICTS_BUILD(NAME, ANOTHER, ANOTHERDESC [VARSUFFIX=$1])
+dnl
+dnl - ends with error if $enable_<name> and $build_<another>
+dnl are both set to 'yes'
+dnl - sets $build_<name> to 'no' if $build_<another> is 'yes' and
+dnl $enable_<name> is 'check' or 'no'
+dnl
+dnl The <havedesc> is description used for warning/error
+dnl message (e.g. "function").
+dnl
+dnl The default <name> for $build_ and $enable_ could be overwrited by option $3.
+dnl
+AC_DEFUN([UL_CONFLICTS_BUILD], [
+ m4_define([suffix], m4_default([$4],$1))
+
+ if test "x$[build_]suffix" != xno; then
+ case $[enable_]suffix:$[build_]$2 in #(
+ no:*)
+ [build_]suffix=no ;;
+ check:yes)
+ [build_]suffix=no ;;
+ yes:yes)
+ AC_MSG_ERROR([$1 selected, but it conflicts with $3]);;
+ esac
+ fi
+])
+
+
+dnl UL_REQUIRES_BUILD(NAME, BUILDNAME, [VARSUFFIX=$1])
+dnl
+dnl Modifies $build_<name> variable according to $enable_<name> and $have_funcname.
+dnl
+dnl The default <name> for $build_ and $enable_ could be overwrited by option $3.
+dnl
+AC_DEFUN([UL_REQUIRES_BUILD], [
+ m4_define([suffix], m4_default([$3],$1))
+
+ if test "x$[build_]suffix" != xno; then
+ case $[enable_]suffix:$[build_]$2 in #(
+ no:*)
+ [build_]suffix=no ;;
+ yes:yes)
+ [build_]suffix=yes ;;
+ yes:*)
+ AC_MSG_ERROR([$2 is needed to build $1]);;
+ check:yes)
+ [build_]suffix=yes ;;
+ check:*)
+ AC_MSG_WARN([$2 disabled; do not build $1])
+ [build_]suffix=no ;;
+ esac
+ fi
+])
+
+dnl UL_REQUIRES_SYSCALL_CHECK(NAME, SYSCALL-TEST, [SYSCALLNAME=$1], [VARSUFFIX=$1])
+dnl
+dnl Modifies $build_<name> variable according to $enable_<name> and SYSCALL-TEST
+dnl result. The $enable_<name> variable could be "yes", "no" and "check". If build_<name>
+dnl is "no" then all checks are skiped.
+dnl
+dnl Note that SYSCALL-TEST has to define $ul_cv_syscall_<name> variable, see
+dnl also UL_CHECK_SYSCALL().
+dnl
+dnl The default <name> for $build_ and $enable_ count be overwrited by option $4 and
+dnl $ul_cv_syscall_ could be overwrited by $3.
+dnl
+AC_DEFUN([UL_REQUIRES_SYSCALL_CHECK], [
+ m4_define([suffix], m4_default([$4],$1))
+ m4_define([callname], m4_default([$3],$1))
+
+ dnl This is default, $3 will redefine the condition
+ dnl
+ dnl TODO: remove this junk, AM_CONDITIONAL should not be used for any HAVE_*
+ dnl variables, all we need is BUILD_* only.
+ dnl
+ AM_CONDITIONAL([HAVE_]m4_toupper(callname), [false])
+
+ if test "x$[build_]suffix" != xno; then
+ if test "x$[enable_]suffix" = xno; then
+ [build_]suffix=no
+ else
+ $2
+ case $[enable_]suffix:$[ul_cv_syscall_]callname in #(
+ no:*)
+ [build_]suffix=no ;;
+ yes:no)
+ AC_MSG_ERROR([$1 selected but callname syscall not found]) ;;
+ check:no)
+ AC_MSG_WARN([callname syscall not found; do not build $1])
+ [build_]suffix=no ;;
+ *)
+ dnl default $ul_cv_syscall_ is SYS_ value
+ [build_]suffix=yes ;;
+ esac
+ fi
+ fi
+])
+
+dnl UL_INIT_BUILD(NAME, [ENABLE_STATE], [VARSUFFIX = $1])
+dnl
+dnl Initializes $build_<name> variable according to $enable_<name>. If
+dnl $enable_<name> is undefined then ENABLE_STATE is used and $enable_<name> is
+dnl set to ENABLE_STATE.
+dnl
+dnl The default <name> for $build_ and $enable_ could be overwrited by option $2.
+dnl
+AC_DEFUN([UL_BUILD_INIT], [
+ m4_define([suffix], m4_default([$3],$1))
+ m4_define([estate], m4_default([$2],$enable_[]suffix))
+
+ifelse(estate, [check], [build_[]suffix='yes' enable_[]suffix='check'],
+ estate, [yes], [build_[]suffix='yes' enable_[]suffix='yes'],
+ estate, [no], [build_[]suffix='no' enable_[]suffix='no'],
+ [build_[]suffix=$enable_[]suffix])
+])
diff --git a/man/ru/ddate.1 b/man/ru/ddate.1
new file mode 100644
index 0000000..cb10c57
--- /dev/null
+++ b/man/ru/ddate.1
@@ -0,0 +1,123 @@
+.\" All Rites Reversed. This file is in the PUBLIC DOMAIN.
+.\" Kallisti.
+.TH DDATE 1 "59 Bureaucracy 3161" "" "Emperor Norton Utilities"
+.SH ĐМЯ
+ddate \- преобразŃет Đ´Đ°Ń‚Ń Đ˛ григорианŃком формате в ŃоответŃтвŃющŃŃŽ Đ´Đ°Ń‚Ń Đ˛
+диŃкордианŃком формате
+.SH ОБЗОР
+.B ddate
+.RI [ \fB+\fPформат]
+.RI [ Đ´Đ°Ń‚Đ° ]
+.SH ОПĐСĐĐťĐĐ•
+.B ddate
+выводит Đ´Đ°Ń‚Ń Đ˛ диŃкордианŃком формате.
+.PP
+Đ•Ńли команда
+.B ddate
+вызвана без параметров, она полŃчает текŃщŃŃŽ ŃиŃтемнŃŃŽ Đ´Đ°Ń‚Ń, преобразŃет её в
+диŃкордианŃкий формат и выводит на Ńтандартный вывод. Также можно Ńказать в
+командной Ńтроке Đ´Đ°Ń‚Ń Đ˛ григорианŃком формате, Ńказав в чиŃловом виде день,
+меŃяц и год.
+.PP
+Đ•Ńли Ńказан Ńпецификатор формата вывода, Đ´Đ°Ń‚Đ° в диŃкордианŃком формате бŃдет
+отображена в том виде, как ŃŤŃ‚Đľ определено Ńпецификатором. Этот механизм
+работает подобно ĐĽĐµŃ…Đ°Đ˝Đ¸Đ·ĐĽŃ Ń„ĐľŃ€ĐĽĐ°Ń‚Đ¸Ń€ĐľĐ˛Đ°Đ˝Đ¸ŃŹ команды
+.B date(1),
+но почти полноŃŃ‚ŃŚŃŽ иначе. Поля Ńпецификатора ŃледŃющие:
+.IP %A
+Полное название дня недели (например, Sweetmorn)
+.IP %a
+День недели в Ńокращенном формате (например, SM)
+.IP %B
+Полное название Ńезона (времени года) (например, Chaos)
+.IP %b
+Сокращенное название Ńезона (например, Chs)
+.IP %d
+Порядковый номер дня в Ńезоне (например, 23)
+.IP %e
+ЧиŃловое предŃтавление номера дня в Ńезоне (например, 23rd)
+.IP %H
+Название текŃщего праздника, еŃли таковой имеетŃŃŹ
+.IP %N
+ВолŃебный код для предотвращения вывода ŃледŃющего Đ·Đ° ним форматирования,
+в ŃĐ»Ńчае, еŃли Đ´Đ°Ń‚Đ° не являетŃŃŹ праздником.
+.IP %n
+Новая Ńтрока
+.IP %t
+ТабŃляция
+.IP %X
+ЧиŃло дней Đ´Đľ наŃŃ‚Ńпления Дня X (X-Day). Опция не дейŃтвŃет, еŃли Ńтилита
+без опции SubGenius.
+.IP %{
+.IP %}
+ĐŃпользŃетŃŃŹ для Ńказания чаŃти Ńтроки, которая бŃдет заменена Ńловами
+"St. Tib's Day", еŃли текŃщий день являетŃŃŹ Днем Ńвятого Тиба (St. Tib's day).
+.IP %\.
+ПопробŃйте и Ńвидите.
+.bp
+.SH ПРĐМЕРЫ
+.nf
+% ddate
+.br
+Sweetmorn, Bureaucracy 42, 3161 YOLD
+.PP
+% ddate +'Today is %{%A, the %e of %B%}, %Y. %N%nCelebrate %H'
+.br
+Today is Sweetmorn, the 42nd of Bureaucracy, 3161.
+.PP
+% ddate +"It's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 26 9 1995
+.br
+It's Prickle-Prickle, the 50th of Bureaucracy, 3161.
+.br
+Celebrate Bureflux
+.PP
+% ddate +"Today's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 29 2 1996
+.br
+Today's St. Tib's Day, 3162.
+.br
+
+.SH ОШĐĐ‘ĐšĐ
+
+.B ddate(1)
+бŃдет веŃти Ńебя непредŃказŃемо, еŃли попроŃить вывеŃти Đ´Đ°Ń‚Ń Đ”Đ˝ŃŹ Ńвятого Тиба
+но Ńтрока Ńпецификатора форматирования при этом не Ńодержит разделителей,
+предŃŃмотренных Ńпециально для этого ŃĐ»Ńчая (%{ и %}).
+
+.SH Đ—ĐМЕЧĐĐťĐĐŻ
+
+ПоŃле того, как День ĐĐşŃ (5 июля 1998 года - прим. пер.) проŃел без
+проиŃŃеŃтвий, Церковь СŃбГения (Church of the SubGenius) провозглаŃила,
+что он должен наŃŃ‚Ńпить в 'ĐłĐľĐ´Ń Đ˛Đ˛ĐµŃ€Ń… тормаŃками' - День ĐĐşŃ Đ˝Đ°ŃŃ‚Ńпит в 8661
+ĐłĐľĐ´Ń Đ˝. ŃŤ., Đ° не в 1998 Đ˝. ŃŤ. Таким образом, ĐŃтинный День ĐĐşŃ - ŃŤŃ‚Đľ 40 день
+Ńезона ЗамеŃательŃтва 9827 года (Cfn 40, 9827).
+
+.SH ĐВТОРЫ
+.nh
+Đвтор оригинальной программы Druel the Chaotic aka Jeremy Johnson
+(mpython@gnu.ai.mit.edu)
+.br
+ПерепиŃана преимŃщеŃтвенно Lee H:. O:. Smith, KYTP, aka Andrew Bulhak
+(acb@dev.null.org)
+.br
+Пять тонн льна.
+
+.SH Đ ĐСПРОСТРĐНЕНĐĐ•
+
+Свободно раŃпроŃтраняемое ПО. Đ’Ńе права защищены.
+
+.SH СМ. ТĐКЖЕ
+
+date(1),
+.br
+http://www.subgenius.com/
+.br
+ĐśĐ°Đ»Đ°ĐşĐ»Đ¸ĐżŃ ĐśĐ»Đ°Đ´Ńий (Malaclypse the Younger),
+.I "Principia Discordia, или Как ŃŹ наŃел Богиню и что ŃŹ Ń ĐťĐµĐą Ńделал когда
+наŃел"
+
+.SH ДОСТУПНОСТЬ
+Команда ddate являетŃŃŹ чаŃŃ‚ŃŚŃŽ пакета util-linux и Đ´ĐľŃŃ‚Ńпна по
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+
+.SH ПЕРЕВОД
+Перевод Rino_ap_Codkelden <mavladi@gmail.com> 2010 \ No newline at end of file
diff --git a/misc-utils/Makemodule.am b/misc-utils/Makemodule.am
new file mode 100644
index 0000000..910e428
--- /dev/null
+++ b/misc-utils/Makemodule.am
@@ -0,0 +1,175 @@
+
+usrbin_exec_PROGRAMS += cal
+dist_man_MANS += misc-utils/cal.1
+cal_SOURCES = \
+ misc-utils/cal.c \
+ lib/mbsalign.c \
+ lib/strutils.c
+
+if !HAVE_LANGINFO
+cal_SOURCES += lib/langinfo.c
+endif
+
+cal_LDADD = $(LDADD)
+
+if HAVE_TINFO
+cal_LDADD += -ltinfo @NCURSES_LIBS@
+else
+if HAVE_NCURSES
+cal_LDADD += @NCURSES_LIBS@
+else
+if HAVE_TERMCAP
+cal_LDADD += -ltermcap
+endif
+endif # !HAVE_NCURSES
+endif # !HAVE_TINFO
+
+
+usrbin_exec_PROGRAMS += logger
+dist_man_MANS += misc-utils/logger.1
+logger_SOURCES = misc-utils/logger.c lib/strutils.c
+
+usrbin_exec_PROGRAMS += look
+dist_man_MANS += misc-utils/look.1
+look_SOURCES = misc-utils/look.c
+
+usrbin_exec_PROGRAMS += mcookie
+dist_man_MANS += misc-utils/mcookie.1
+mcookie_SOURCES = misc-utils/mcookie.c lib/md5.c
+
+usrbin_exec_PROGRAMS += namei
+dist_man_MANS += misc-utils/namei.1
+namei_SOURCES = misc-utils/namei.c lib/strutils.c
+
+usrbin_exec_PROGRAMS += whereis
+dist_man_MANS += misc-utils/whereis.1
+whereis_SOURCES = misc-utils/whereis.c
+
+
+if BUILD_CHKDUPEXE
+dist_usrbin_exec_SCRIPTS += misc-utils/chkdupexe
+CLEANFILES += misc-utils/chkdupexe
+dist_man_MANS += misc-utils/chkdupexe.1
+endif
+
+if BUILD_DDATE
+usrbin_exec_PROGRAMS += ddate
+dist_man_MANS += misc-utils/ddate.1
+ddate_SOURCES = misc-utils/ddate.c
+ruman1_DATA += man/ru/ddate.1
+endif
+
+if BUILD_LSLOCKS
+usrbin_exec_PROGRAMS += lslocks
+dist_man_MANS += misc-utils/lslocks.8
+lslocks_SOURCES = \
+ misc-utils/lslocks.c \
+ lib/at.c \
+ lib/strutils.c \
+ lib/tt.c \
+ lib/mbsalign.c
+endif
+
+if BUILD_LSBLK
+bin_PROGRAMS += lsblk
+dist_man_MANS += misc-utils/lsblk.8
+lsblk_SOURCES = misc-utils/lsblk.c
+lsblk_LDADD = $(LDADD) libblkid.la libmount.la libcommon.la
+lsblk_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir) -I$(ul_libmount_incdir)
+if HAVE_UDEV
+lsblk_LDADD += -ludev
+endif
+endif
+
+if BUILD_LIBUUID
+usrbin_exec_PROGRAMS += uuidgen
+dist_man_MANS += misc-utils/uuidgen.1
+uuidgen_SOURCES = misc-utils/uuidgen.c
+uuidgen_LDADD = $(LDADD) libuuid.la
+uuidgen_CFLAGS = $(AM_CFLAGS) -I$(ul_libuuid_incdir)
+endif
+
+if BUILD_UUIDD
+usrsbin_exec_PROGRAMS += uuidd
+dist_man_MANS += misc-utils/uuidd.8
+uuidd_LDADD = $(LDADD) libuuid.la
+uuidd_CFLAGS = $(AM_CFLAGS) -I$(ul_libuuid_incdir)
+uuidd_SOURCES = misc-utils/uuidd.c
+if USE_SOCKET_ACTIVATION
+uuidd_SOURCES += misc-utils/sd-daemon.c misc-utils/sd-daemon.h
+uuidd_LDADD += -lrt
+endif
+if HAVE_SYSTEMD
+systemdsystemunit_DATA += \
+ misc-utils/uuidd.service \
+ misc-utils/uuidd.socket
+endif
+endif # BUILD_UUIDD
+
+PATHFILES += \
+ misc-utils/uuidd.8 \
+ misc-utils/uuidd.rc \
+ misc-utils/uuidd.service \
+ misc-utils/uuidd.socket
+
+if BUILD_LIBBLKID
+sbin_PROGRAMS += blkid
+dist_man_MANS += misc-utils/blkid.8
+blkid_SOURCES = misc-utils/blkid.c
+blkid_LDADD = $(LDADD) libblkid.la libcommon.la
+blkid_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+
+sbin_PROGRAMS += findfs
+dist_man_MANS += misc-utils/findfs.8
+findfs_LDADD = $(LDADD) libblkid.la
+findfs_SOURCES = misc-utils/findfs.c
+findfs_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+
+sbin_PROGRAMS += wipefs
+dist_man_MANS += misc-utils/wipefs.8
+wipefs_SOURCES = misc-utils/wipefs.c
+wipefs_LDADD = $(LDADD) libblkid.la libcommon.la
+wipefs_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+
+if HAVE_STATIC_BLKID
+sbin_PROGRAMS += blkid.static
+blkid_static_SOURCES = $(blkid_SOURCES)
+blkid_static_LDFLAGS = -all-static
+blkid_static_LDADD = $(LDADD) libblkid.la
+blkid_static_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+endif
+endif # BUILD_LIBBLKID
+
+
+if BUILD_LIBMOUNT
+bin_PROGRAMS += findmnt
+dist_man_MANS += misc-utils/findmnt.8
+findmnt_LDADD = $(LDADD) libmount.la libcommon.la
+findmnt_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+findmnt_SOURCES = misc-utils/findmnt.c
+endif # BUILD_LIBMOUNT
+
+
+if BUILD_KILL
+bin_PROGRAMS += kill
+kill_SOURCES = \
+ misc-utils/kill.c \
+ misc-utils/kill.h \
+ misc-utils/procs.c
+kill_LDADD = $(LDADD) libcommon.la
+dist_man_MANS += misc-utils/kill.1
+endif
+
+if BUILD_RENAME
+usrbin_exec_PROGRAMS += rename
+dist_man_MANS += misc-utils/rename.1
+rename_SOURCES = misc-utils/rename.c
+endif
+
+usrbin_exec_PROGRAMS += getopt
+dist_man_MANS += misc-utils/getopt.1
+getopt_SOURCES = misc-utils/getopt.c
+getoptexampledir = $(datadir)/getopt/
+dist_getoptexample_SCRIPTS = \
+ misc-utils/getopt-parse.bash \
+ misc-utils/getopt-parse.tcsh
diff --git a/misc-utils/blkid.8 b/misc-utils/blkid.8
new file mode 100644
index 0000000..dc1e68f
--- /dev/null
+++ b/misc-utils/blkid.8
@@ -0,0 +1,299 @@
+.\" Copyright 2000 Andreas Dilger (adilger@turbolinux.com)
+.\"
+.\" This man page was created for blkid from e2fsprogs-1.25.
+.\"
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.\" Based on uuidgen, Mon Sep 17 10:42:12 2000, Andreas Dilger
+.TH BLKID 8 "February 2011" "util-linux" "System Administration"
+.SH NAME
+blkid \- locate/print block device attributes
+.SH SYNOPSIS
+.B blkid
+.RB \-L
+.IR label " | "
+.RB \-U
+.IR uuid
+
+.B blkid
+.RB [ \-dghlv ]
+.RB [ \-c
+.IR file ]
+.RB [ \-o
+.IR format ]
+.in +6
+.RB [ \-s
+.IR tag ]
+.RB [ \-t
+.IR NAME=value ]
+[\fIdevice\fR ...]
+.in -6
+
+.B blkid
+.RB -p
+.RB [ \-O
+.IR offset ]
+.RB [ \-S
+.IR size ]
+.RB [ \-o
+.IR format ]
+.RB [ \-s
+.IR tag ]
+.in +9
+.RB [ \-n
+.IR list ]
+.RB [ \-u
+.IR list ]
+.IR device " ... "
+.in -9
+
+.B blkid
+.RB -i
+.RB [ \-o
+.IR format ]
+.RB [ \-s
+.IR tag ]
+.IR device " ... "
+
+.SH DESCRIPTION
+The
+.B blkid
+program is the command-line interface to working with the
+.BR libblkid (3)
+library. It can determine the type of content (e.g. filesystem or swap)
+that a block device holds, and also attributes (tokens, NAME=value pairs)
+from the content metadata (e.g. LABEL or UUID fields).
+.PP
+.B blkid
+has two main forms of operation: either searching for a device with a
+specific NAME=value pair, or displaying NAME=value pairs for one or
+more specified devices.
+.SH OPTIONS
+The \fIsize\fR and \fIoffset\fR arguments may be followed by the multiplicative
+suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB
+(the "iB" is optional, e.g. "K" has the same meaning as "KiB") or the suffixes
+KB=1000, MB=1000*1000, and so on for GB, PB, EB, ZB and YB.
+.TP
+.BI \-c " cachefile"
+Read from
+.I cachefile
+instead of reading from the default cache file (see CONFIGURATION FILE section
+for more details). If you want to start with a clean cache (i.e. don't report
+devices previously scanned but not necessarily available at this time), specify
+.IR /dev/null .
+.TP
+.B \-d
+Don't encode non-printing characters. The non-printing characters are encoded
+by ^ and M- notation by default. Note that \fB-o udev\fR output format uses
+a different encoding and this encoding cannot be disabled.
+.TP
+.B \-g
+Perform a garbage collection pass on the blkid cache to remove
+devices which no longer exist.
+.TP
+.B \-h
+Display a usage message and exit.
+.TP
+.B \-i
+Display I/O Limits (aka I/O topology) information. The 'export' output format is
+automatically enabled. This option can be used together with the \fB-p\fR option.
+.TP
+.B \-l
+Look up only one device that matches the search parameter specified with \fB-t\fR.
+.TP
+.B \-k
+List all known filesystems and RAIDs and exit.
+.TP
+.B \-t
+option. If there are multiple devices that match the specified search
+parameter, then the device with the highest priority is returned, and/or
+the first device found at a given priority. Device types in order of
+decreasing priority are Device Mapper, EVMS, LVM, MD, and finally regular
+block devices. If this option is not specified,
+.B blkid
+will print all of the devices that match the search parameter.
+.TP
+.BI \-L " label"
+Look up the device that uses this filesystem \fIlabel\fR (equal to: -l -o device -t
+LABEL=<label>). This lookup method is able to reliably use /dev/disk/by-label
+udev symlinks (dependent on a setting in /etc/blkid.conf). Avoid using the
+symlinks directly; it is not reliable to use the symlinks without verification.
+The \fB-L\fR option works on systems with and without udev.
+
+Unfortunately, the original
+.B blkid(8)
+from e2fsprogs use the \fB-L\fR option as a
+synonym for the \fB-o list\fR option. For better portability, use \fB-l -o device
+-t LABEL=<label>\fR and \fB-o list\fR in your scripts rather than the \fB-L\fR option.
+.TP
+.BI \-n " list "
+Restrict the probing functions to the specified (comma-separated) \fIlist\fR of
+superblock types (names).
+The list items may be prefixed with "no" to specify the types which should be ignored.
+For example:
+.sp
+ blkid -p -n vfat,ext3,ext4 /dev/sda1
+.sp
+probes for vfat, ext3 and ext4 filesystems, and
+.sp
+ blkid -p -n nominix /dev/sda1
+.sp
+probes for all supported formats except minix filesystems.
+This option is only useful together with \fB-p\fR.
+.TP
+.BI \-o " format"
+Display
+.BR blkid 's
+output using the specified format. Note that the variables order and
+devices order is variable. See also \fB-s\fR. The
+.I format
+parameter may be:
+.RS
+.TP
+.B full
+print all tags (the default)
+.TP
+.B value
+print the value of the tags
+.TP
+.B list
+print the devices in a user-friendly format; this output format is unsupported
+for low-level probing (\fB-p\fR or \fB-i\fR). This output format is \fBDEPRECATED\fR
+in favour of
+.BR lsblk (8)
+command.
+.TP
+.B device
+print the device name only; this output format is always enabled for \fB-L\fR
+and \fB-U\fR options
+.TP
+.B udev
+print key="value" pairs for easy import into the udev environment; the keys are
+prefixed by ID_FS_ or ID_PART_ prefixes
+
+The udev output returns the ID_FS_AMBIVALENT tag if more superblocks are detected,
+and ID_PART_ENTRY_* tags are always returned for all partitions including empty
+partitions. This output format is \fBDEPRECATED\fR.
+.TP
+.B export
+print key=value pairs for easy import into the environment; this output format
+is automatically enabled when I/O Limits (\fB-i\fR option) are requested
+.RE
+.TP
+.BI \-O " offset"
+Probe at the given \fIoffset\fR (only useful with \fB-p\fR). This option can be
+used together with the \fB-i\fR option.
+.TP
+.BI \-p
+Switch to low-level superblock probing mode (bypass cache).
+
+Note that low-level probing also returns information about partition table type
+(PTTYPE tag) and partitions (PART_ENTRY_* tags).
+.TP
+.BI \-s " tag"
+For each (specified) device, show only the tags that match
+.IR tag .
+It is possible to specify multiple
+.B \-s
+options. If no tag is specified, then all tokens are shown for all
+(specified) devices.
+In order to just refresh the cache without showing any tokens, use
+.B "-s none"
+with no other options.
+.TP
+.BI \-S " size"
+Overwrite device/file size (only useful with \fB-p\fR).
+.TP
+.BI \-t " NAME" = "value"
+Search for block devices with tokens named
+.I NAME
+that have the value
+.IR value ,
+and display any devices which are found.
+Common values for
+.I NAME
+include
+.BR TYPE ,
+.BR LABEL ,
+and
+.BR UUID .
+If there are no devices specified on the command line, all block devices
+will be searched; otherwise only the specified devices are searched.
+.TP
+.BI \-u " list "
+Restrict the probing functions to the specified (comma-separated) \fIlist\fR of "usage" types.
+Supported usage types are: filesystem, raid, crypto and other. The list items may be
+prefixed with "no" to specify the usage types which should be ignored. For example:
+.sp
+ blkid -p -u filesystem,other /dev/sda1
+.sp
+probes for all filesystem and other (e.g. swap) formats, and
+.sp
+ blkid -p -u noraid /dev/sda1
+.sp
+probes for all supported formats except RAIDs.
+This option is only useful together with \fB-p\fR.
+.TP
+.BI \-U " uuid "
+Look up the device that uses this filesystem \fIuuid\fR. For more details see the \fB-L\fR option.
+.TP
+.B \-v
+Display version number and exit.
+.TP
+.I device
+Display tokens from only the specified device. It is possible to
+give multiple
+.I device
+options on the command line. If none is given, all devices which
+appear in
+.I /proc/partitions
+are shown, if they are recognized.
+.SH "RETURN CODE"
+If the specified token was found, or if any tags were shown from (specified)
+devices, 0 is returned.
+
+If the specified token was not found, or no (specified) devices could be
+identified, an exit code of 2 is returned.
+
+For usage or other errors, an exit code of 4 is returned.
+
+If the ambivalent low-level probing result was detected, an exit code of 8 is
+returned.
+.SH CONFIGURATION FILE
+The standard location of the
+.I /etc/blkid.conf
+config file can be overridden by the environment variable BLKID_CONF.
+The following options control the libblkid library:
+.TP
+.I SEND_UEVENT=<yes|not>
+Sends uevent when
+.I /dev/disk/by-{label,uuid,partuuid,partlabel}/
+symlink does not match with LABEL, UUID, PARTUUID or PARTLABEL on the device. Default is "yes".
+.TP
+.I CACHE_FILE=<path>
+Overrides the standard location of the cache file. This setting can be
+overridden by the environment variable BLKID_FILE. Default is
+.I /run/blkid/blkid.tab
+or
+.I /etc/blkid.tab
+on systems without /run direcotry
+.TP
+.I EVALUATE=<methods>
+Defines LABEL and UUID evaluation method(s). Currently, the libblkid library
+supports "udev" and "scan" methods. More than one methods may be specified in
+a comma separated list. Default is "udev,scan". The "udev" method uses udev
+.I /dev/disk/by-*
+symlinks and the "scan" method scans all block devices from the
+.I /proc/partitions
+file.
+.SH AUTHOR
+.B blkid
+was written by Andreas Dilger for libblkid and improved by Theodore Ts'o
+and Karel Zak.
+.SH AVAILABILITY
+The blkid command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR libblkid (3)
+.BR findfs (8)
+.BR wipefs (8)
diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c
new file mode 100644
index 0000000..fa38d82
--- /dev/null
+++ b/misc-utils/blkid.c
@@ -0,0 +1,957 @@
+/*
+ * blkid.c - User command-line interface for libblkid
+ *
+ * Copyright (C) 2001 Andreas Dilger
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ * %End-Header%
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#else
+extern int getopt(int argc, char * const argv[], const char *optstring);
+extern char *optarg;
+extern int optind;
+#endif
+
+#define OUTPUT_VALUE_ONLY (1 << 1)
+#define OUTPUT_DEVICE_ONLY (1 << 2)
+#define OUTPUT_PRETTY_LIST (1 << 3) /* deprecated */
+#define OUTPUT_UDEV_LIST (1 << 4) /* deprecated */
+#define OUTPUT_EXPORT_LIST (1 << 5)
+
+#define LOWPROBE_TOPOLOGY (1 << 1)
+#define LOWPROBE_SUPERBLOCKS (1 << 2)
+
+#define BLKID_EXIT_NOTFOUND 2 /* token or device not found */
+#define BLKID_EXIT_OTHER 4 /* bad usage or other error */
+#define BLKID_EXIT_AMBIVAL 8 /* ambivalent low-level probing detected */
+
+#include <blkid.h>
+
+#include "ismounted.h"
+
+#define STRTOXX_EXIT_CODE BLKID_EXIT_OTHER /* strtoxx_or_err() */
+#include "strutils.h"
+#define OPTUTILS_EXIT_CODE BLKID_EXIT_OTHER /* exclusive_option() */
+#include "optutils.h"
+
+#include "closestream.h"
+#include "ttyutils.h"
+
+const char *progname = "blkid";
+
+int raw_chars;
+
+static void print_version(FILE *out)
+{
+ fprintf(out, "%s from %s (libblkid %s, %s)\n",
+ progname, PACKAGE_STRING, LIBBLKID_VERSION, LIBBLKID_DATE);
+}
+
+static void usage(int error)
+{
+ FILE *out = error ? stderr : stdout;
+
+ print_version(out);
+ fprintf(out,
+ "Usage:\n"
+ " %1$s -L <label> | -U <uuid>\n\n"
+ " %1$s [-c <file>] [-ghlLv] [-o <format>] [-s <tag>] \n"
+ " [-t <token>] [<dev> ...]\n\n"
+ " %1$s -p [-s <tag>] [-O <offset>] [-S <size>] \n"
+ " [-o <format>] <dev> ...\n\n"
+ " %1$s -i [-s <tag>] [-o <format>] <dev> ...\n\n"
+ "Options:\n"
+ " -c <file> read from <file> instead of reading from the default\n"
+ " cache file (-c /dev/null means no cache)\n"
+ " -d don't encode non-printing characters\n"
+ " -h print this usage message and exit\n"
+ " -g garbage collect the blkid cache\n"
+ " -o <format> output format; can be one of:\n"
+ " value, device, export or full; (default: full)\n"
+ " -k list all known filesystems/RAIDs and exit\n"
+ " -s <tag> show specified tag(s) (default show all tags)\n"
+ " -t <token> find device with a specific token (NAME=value pair)\n"
+ " -l look up only first device with token specified by -t\n"
+ " -L <label> convert LABEL to device name\n"
+ " -U <uuid> convert UUID to device name\n"
+ " -v print version and exit\n"
+ " <dev> specify device(s) to probe (default: all devices)\n\n"
+ "Low-level probing options:\n"
+ " -p low-level superblocks probing (bypass cache)\n"
+ " -i gather information about I/O limits\n"
+ " -S <size> overwrite device size\n"
+ " -O <offset> probe at the given offset\n"
+ " -u <list> filter by \"usage\" (e.g. -u filesystem,raid)\n"
+ " -n <list> filter by filesystem type (e.g. -n vfat,ext3)\n"
+ "\n", progname);
+
+ exit(error);
+}
+
+/*
+ * This function does "safe" printing. It will convert non-printable
+ * ASCII characters using '^' and M- notation.
+ */
+static void safe_print(const char *cp, int len)
+{
+ unsigned char ch;
+
+ if (len < 0)
+ len = strlen(cp);
+
+ while (len--) {
+ ch = *cp++;
+ if (!raw_chars) {
+ if (ch >= 128) {
+ fputs("M-", stdout);
+ ch -= 128;
+ }
+ if ((ch < 32) || (ch == 0x7f)) {
+ fputc('^', stdout);
+ ch ^= 0x40; /* ^@, ^A, ^B; ^? for DEL */
+ }
+ }
+ fputc(ch, stdout);
+ }
+}
+
+static int pretty_print_word(const char *str, int max_len,
+ int left_len, int overflow_nl)
+{
+ int len = strlen(str) + left_len;
+ int ret = 0;
+
+ fputs(str, stdout);
+ if (overflow_nl && len > max_len) {
+ fputc('\n', stdout);
+ len = 0;
+ } else if (len > max_len)
+ ret = len - max_len;
+ do
+ fputc(' ', stdout);
+ while (len++ < max_len);
+ return ret;
+}
+
+static void pretty_print_line(const char *device, const char *fs_type,
+ const char *label, const char *mtpt,
+ const char *uuid)
+{
+ static int device_len = 10, fs_type_len = 7;
+ static int label_len = 8, mtpt_len = 14;
+ static int term_width = -1;
+ int len, w;
+
+ if (term_width < 0) {
+ term_width = get_terminal_width();
+ if (term_width <= 0)
+ term_width = 80;
+ }
+ if (term_width > 80) {
+ term_width -= 80;
+ w = term_width / 10;
+ if (w > 8)
+ w = 8;
+ term_width -= 2*w;
+ label_len += w;
+ fs_type_len += w;
+ w = term_width/2;
+ device_len += w;
+ mtpt_len +=w;
+ }
+
+ len = pretty_print_word(device, device_len, 0, 1);
+ len = pretty_print_word(fs_type, fs_type_len, len, 0);
+ len = pretty_print_word(label, label_len, len, 0);
+ pretty_print_word(mtpt, mtpt_len, len, 0);
+
+ fputs(uuid, stdout);
+ fputc('\n', stdout);
+}
+
+static void pretty_print_dev(blkid_dev dev)
+{
+ blkid_tag_iterate iter;
+ const char *type, *value, *devname;
+ const char *uuid = "", *fs_type = "", *label = "";
+ int len, mount_flags;
+ char mtpt[80];
+ int retval;
+
+ if (dev == NULL) {
+ pretty_print_line("device", "fs_type", "label",
+ "mount point", "UUID");
+ for (len=get_terminal_width()-1; len > 0; len--)
+ fputc('-', stdout);
+ fputc('\n', stdout);
+ return;
+ }
+
+ devname = blkid_dev_devname(dev);
+ if (access(devname, F_OK))
+ return;
+
+ /* Get the uuid, label, type */
+ iter = blkid_tag_iterate_begin(dev);
+ while (blkid_tag_next(iter, &type, &value) == 0) {
+ if (!strcmp(type, "UUID"))
+ uuid = value;
+ if (!strcmp(type, "TYPE"))
+ fs_type = value;
+ if (!strcmp(type, "LABEL"))
+ label = value;
+ }
+ blkid_tag_iterate_end(iter);
+
+ /* Get the mount point */
+ mtpt[0] = 0;
+ retval = check_mount_point(devname, &mount_flags, mtpt, sizeof(mtpt));
+ if (retval == 0) {
+ if (mount_flags & MF_MOUNTED) {
+ if (!mtpt[0])
+ strcpy(mtpt, "(mounted, mtpt unknown)");
+ } else if (mount_flags & MF_BUSY)
+ strcpy(mtpt, "(in use)");
+ else
+ strcpy(mtpt, "(not mounted)");
+ }
+
+ pretty_print_line(devname, fs_type, label, mtpt, uuid);
+}
+
+static void print_udev_format(const char *name, const char *value)
+{
+ char enc[265], safe[256];
+ size_t namelen = strlen(name);
+
+ *safe = *enc = '\0';
+
+ if (!strcmp(name, "TYPE") || !strcmp(name, "VERSION")) {
+ blkid_encode_string(value, enc, sizeof(enc));
+ printf("ID_FS_%s=%s\n", name, enc);
+
+ } else if (!strcmp(name, "UUID") ||
+ !strcmp(name, "LABEL") ||
+ !strcmp(name, "UUID_SUB")) {
+
+ blkid_safe_string(value, safe, sizeof(safe));
+ printf("ID_FS_%s=%s\n", name, safe);
+
+ blkid_encode_string(value, enc, sizeof(enc));
+ printf("ID_FS_%s_ENC=%s\n", name, enc);
+
+ } else if (!strcmp(name, "PTTYPE")) {
+ printf("ID_PART_TABLE_TYPE=%s\n", value);
+
+ } else if (!strcmp(name, "PART_ENTRY_NAME") ||
+ !strcmp(name, "PART_ENTRY_TYPE")) {
+
+ blkid_encode_string(value, enc, sizeof(enc));
+ printf("ID_%s=%s\n", name, enc);
+
+ } else if (!strncmp(name, "PART_ENTRY_", 11))
+ printf("ID_%s=%s\n", name, value);
+
+ else if (namelen >= 15 && (
+ !strcmp(name + (namelen - 12), "_SECTOR_SIZE") ||
+ !strcmp(name + (namelen - 8), "_IO_SIZE") ||
+ !strcmp(name, "ALIGNMENT_OFFSET")))
+ printf("ID_IOLIMIT_%s=%s\n", name, value);
+ else
+ printf("ID_FS_%s=%s\n", name, value);
+}
+
+static int has_item(char *ary[], const char *item)
+{
+ char **p;
+
+ for (p = ary; *p != NULL; p++)
+ if (!strcmp(item, *p))
+ return 1;
+ return 0;
+}
+
+static void print_value(int output, int num, const char *devname,
+ const char *value, const char *name, size_t valsz)
+{
+ if (output & OUTPUT_VALUE_ONLY) {
+ fputs(value, stdout);
+ fputc('\n', stdout);
+
+ } else if (output & OUTPUT_UDEV_LIST) {
+ print_udev_format(name, value);
+
+ } else if (output & OUTPUT_EXPORT_LIST) {
+ if (num == 1 && devname)
+ printf("DEVNAME=%s\n", devname);
+ fputs(name, stdout);
+ fputs("=", stdout);
+ safe_print(value, valsz);
+ fputs("\n", stdout);
+
+ } else {
+ if (num == 1 && devname)
+ printf("%s: ", devname);
+ fputs(name, stdout);
+ fputs("=\"", stdout);
+ safe_print(value, valsz);
+ fputs("\" ", stdout);
+ }
+}
+
+static void print_tags(blkid_dev dev, char *show[], int output)
+{
+ blkid_tag_iterate iter;
+ const char *type, *value, *devname;
+ int num = 1;
+ static int first = 1;
+
+ if (!dev)
+ return;
+
+ if (output & OUTPUT_PRETTY_LIST) {
+ pretty_print_dev(dev);
+ return;
+ }
+
+ devname = blkid_dev_devname(dev);
+
+ if (output & OUTPUT_DEVICE_ONLY) {
+ printf("%s\n", devname);
+ return;
+ }
+
+ iter = blkid_tag_iterate_begin(dev);
+ while (blkid_tag_next(iter, &type, &value) == 0) {
+ if (show[0] && !has_item(show, type))
+ continue;
+
+ if (num == 1 && !first &&
+ (output & (OUTPUT_UDEV_LIST | OUTPUT_EXPORT_LIST)))
+ /* add extra line between output from more devices */
+ fputc('\n', stdout);
+
+ print_value(output, num++, devname, value, type, strlen(value));
+ }
+ blkid_tag_iterate_end(iter);
+
+ if (num > 1) {
+ if (!(output & (OUTPUT_VALUE_ONLY | OUTPUT_UDEV_LIST |
+ OUTPUT_EXPORT_LIST)))
+ printf("\n");
+ first = 0;
+ }
+}
+
+
+static int append_str(char **res, size_t *sz, const char *a, const char *b)
+{
+ char *str = *res;
+ size_t asz = a ? strlen(a) : 0;
+ size_t bsz = b ? strlen(b) : 0;
+ size_t len = *sz + asz + bsz;
+
+ if (!len)
+ return -1;
+
+ str = realloc(str, len + 1);
+ if (!str) {
+ free(*res);
+ return -1;
+ }
+
+ *res = str;
+ str += *sz;
+
+ if (a) {
+ memcpy(str, a, asz);
+ str += asz;
+ }
+ if (b) {
+ memcpy(str, b, bsz);
+ str += bsz;
+ }
+ *str = '\0';
+ *sz = len;
+ return 0;
+}
+
+/*
+ * Compose and print ID_FS_AMBIVALENT for udev
+ */
+static int print_udev_ambivalent(blkid_probe pr)
+{
+ char *val = NULL;
+ size_t valsz = 0;
+ int count = 0, rc = -1;
+
+ while (!blkid_do_probe(pr)) {
+ const char *usage_txt = NULL, *type = NULL, *version = NULL;
+ char enc[256];
+
+ blkid_probe_lookup_value(pr, "USAGE", &usage_txt, NULL);
+ blkid_probe_lookup_value(pr, "TYPE", &type, NULL);
+ blkid_probe_lookup_value(pr, "VERSION", &version, NULL);
+
+ if (!usage_txt || !type)
+ continue;
+
+ blkid_encode_string(usage_txt, enc, sizeof(enc));
+ if (append_str(&val, &valsz, enc, ":"))
+ goto done;
+
+ blkid_encode_string(type, enc, sizeof(enc));
+ if (append_str(&val, &valsz, enc, version ? ":" : " "))
+ goto done;
+
+ if (version) {
+ blkid_encode_string(version, enc, sizeof(enc));
+ if (append_str(&val, &valsz, enc, " "))
+ goto done;
+ }
+ count++;
+ }
+
+ if (count > 1) {
+ *(val + valsz - 1) = '\0'; /* rem tailing whitespace */
+ printf("ID_FS_AMBIVALEN=%s\n", val);
+ rc = 0;
+ }
+done:
+ free(val);
+ return rc;
+}
+
+static int lowprobe_superblocks(blkid_probe pr)
+{
+ struct stat st;
+ int rc, fd = blkid_probe_get_fd(pr);
+
+ if (fd < 0 || fstat(fd, &st))
+ return -1;
+
+ blkid_probe_enable_partitions(pr, 1);
+
+ if (!S_ISCHR(st.st_mode) && blkid_probe_get_size(pr) <= 1024 * 1440 &&
+ blkid_probe_is_wholedisk(pr)) {
+ /*
+ * check if the small disk is partitioned, if yes then
+ * don't probe for filesystems.
+ */
+ blkid_probe_enable_superblocks(pr, 0);
+
+ rc = blkid_do_fullprobe(pr);
+ if (rc < 0)
+ return rc; /* -1 = error, 1 = nothing, 0 = succes */
+
+ if (blkid_probe_lookup_value(pr, "PTTYPE", NULL, NULL) == 0)
+ return 0; /* partition table detected */
+ }
+
+ blkid_probe_set_partitions_flags(pr, BLKID_PARTS_ENTRY_DETAILS);
+ blkid_probe_enable_superblocks(pr, 1);
+
+ return blkid_do_safeprobe(pr);
+}
+
+static int lowprobe_topology(blkid_probe pr)
+{
+ /* enable topology probing only */
+ blkid_probe_enable_topology(pr, 1);
+
+ blkid_probe_enable_superblocks(pr, 0);
+ blkid_probe_enable_partitions(pr, 0);
+
+ return blkid_do_fullprobe(pr);
+}
+
+static int lowprobe_device(blkid_probe pr, const char *devname,
+ int chain, char *show[], int output,
+ blkid_loff_t offset, blkid_loff_t size)
+{
+ const char *data;
+ const char *name;
+ int nvals = 0, n, num = 1;
+ size_t len;
+ int fd;
+ int rc = 0;
+ static int first = 1;
+
+ fd = open(devname, O_RDONLY);
+ if (fd < 0) {
+ fprintf(stderr, "error: %s: %m\n", devname);
+ return BLKID_EXIT_NOTFOUND;
+ }
+ if (blkid_probe_set_device(pr, fd, offset, size))
+ goto done;
+
+ if (chain & LOWPROBE_TOPOLOGY)
+ rc = lowprobe_topology(pr);
+ if (rc >= 0 && (chain & LOWPROBE_SUPERBLOCKS))
+ rc = lowprobe_superblocks(pr);
+ if (rc < 0)
+ goto done;
+
+ if (!rc)
+ nvals = blkid_probe_numof_values(pr);
+
+ if (nvals &&
+ !(chain & LOWPROBE_TOPOLOGY) &&
+ !(output & OUTPUT_UDEV_LIST) &&
+ !blkid_probe_has_value(pr, "TYPE") &&
+ !blkid_probe_has_value(pr, "PTTYPE"))
+ /*
+ * Ignore probing result if there is not any filesystem or
+ * partition table on the device and udev output is not
+ * requested.
+ *
+ * The udev db stores information about partitions, so
+ * PART_ENTRY_* values are alway important.
+ */
+ nvals = 0;
+
+ if (nvals && !first && output & (OUTPUT_UDEV_LIST | OUTPUT_EXPORT_LIST))
+ /* add extra line between output from devices */
+ fputc('\n', stdout);
+
+ if (nvals && (output & OUTPUT_DEVICE_ONLY)) {
+ printf("%s\n", devname);
+ goto done;
+ }
+
+ for (n = 0; n < nvals; n++) {
+ if (blkid_probe_get_value(pr, n, &name, &data, &len))
+ continue;
+ if (show[0] && !has_item(show, name))
+ continue;
+ len = strnlen((char *) data, len);
+ print_value(output, num++, devname, (char *) data, name, len);
+ }
+
+ if (first)
+ first = 0;
+ if (nvals >= 1 && !(output & (OUTPUT_VALUE_ONLY |
+ OUTPUT_UDEV_LIST | OUTPUT_EXPORT_LIST)))
+ printf("\n");
+done:
+ if (rc == -2) {
+ if (output & OUTPUT_UDEV_LIST)
+ print_udev_ambivalent(pr);
+ else
+ fprintf(stderr,
+ "%s: ambivalent result (probably more "
+ "filesystems on the device, use wipefs(8) "
+ "to see more details)\n",
+ devname);
+ }
+ close(fd);
+
+ if (rc == -2)
+ return BLKID_EXIT_AMBIVAL; /* ambivalent probing result */
+ if (!nvals)
+ return BLKID_EXIT_NOTFOUND; /* nothing detected */
+
+ return 0; /* success */
+}
+
+/* converts comma separated list to BLKID_USAGE_* mask */
+static int list_to_usage(const char *list, int *flag)
+{
+ int mask = 0;
+ const char *word = NULL, *p = list;
+
+ if (p && strncmp(p, "no", 2) == 0) {
+ *flag = BLKID_FLTR_NOTIN;
+ p += 2;
+ }
+ if (!p || !*p)
+ goto err;
+ while(p) {
+ word = p;
+ p = strchr(p, ',');
+ if (p)
+ p++;
+ if (!strncmp(word, "filesystem", 10))
+ mask |= BLKID_USAGE_FILESYSTEM;
+ else if (!strncmp(word, "raid", 4))
+ mask |= BLKID_USAGE_RAID;
+ else if (!strncmp(word, "crypto", 6))
+ mask |= BLKID_USAGE_CRYPTO;
+ else if (!strncmp(word, "other", 5))
+ mask |= BLKID_USAGE_OTHER;
+ else
+ goto err;
+ }
+ return mask;
+err:
+ *flag = 0;
+ fprintf(stderr, "unknown kerword in -u <list> argument: '%s'\n",
+ word ? word : list);
+ exit(BLKID_EXIT_OTHER);
+}
+
+/* converts comma separated list to types[] */
+static char **list_to_types(const char *list, int *flag)
+{
+ int i;
+ const char *p = list;
+ char **res = NULL;
+
+ if (p && strncmp(p, "no", 2) == 0) {
+ *flag = BLKID_FLTR_NOTIN;
+ p += 2;
+ }
+ if (!p || !*p) {
+ fprintf(stderr, "error: -u <list> argument is empty\n");
+ goto err;
+ }
+ for (i = 1; p && (p = strchr(p, ',')); i++, p++);
+
+ res = calloc(i + 1, sizeof(char *));
+ if (!res)
+ goto err_mem;
+ p = *flag & BLKID_FLTR_NOTIN ? list + 2 : list;
+ i = 0;
+
+ while(p) {
+ const char *word = p;
+ p = strchr(p, ',');
+ res[i] = p ? strndup(word, p - word) : strdup(word);
+ if (!res[i++])
+ goto err_mem;
+ if (p)
+ p++;
+ }
+ res[i] = NULL;
+ return res;
+err_mem:
+ fprintf(stderr, "out of memory\n");
+err:
+ *flag = 0;
+ free(res);
+ exit(BLKID_EXIT_OTHER);
+}
+
+static void free_types_list(char *list[])
+{
+ char **n;
+
+ if (!list)
+ return;
+ for (n = list; *n; n++)
+ free(*n);
+ free(list);
+}
+
+int main(int argc, char **argv)
+{
+ blkid_cache cache = NULL;
+ char **devices = NULL;
+ char *show[128] = { NULL, };
+ char *search_type = NULL, *search_value = NULL;
+ char *read = NULL;
+ int fltr_usage = 0;
+ char **fltr_type = NULL;
+ int fltr_flag = BLKID_FLTR_ONLYIN;
+ unsigned int numdev = 0, numtag = 0;
+ int version = 0;
+ int err = BLKID_EXIT_OTHER;
+ unsigned int i;
+ int output_format = 0;
+ int lookup = 0, gc = 0, lowprobe = 0, eval = 0;
+ int c;
+ uintmax_t offset = 0, size = 0;
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'n','u' },
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ show[0] = NULL;
+ atexit(close_stdout);
+
+ while ((c = getopt (argc, argv,
+ "c:df:ghilL:n:ko:O:ps:S:t:u:U:w:v")) != EOF) {
+
+ err_exclusive_options(c, NULL, excl, excl_st);
+
+ switch (c) {
+ case 'c':
+ if (optarg && !*optarg)
+ read = NULL;
+ else
+ read = optarg;
+ break;
+ case 'd':
+ raw_chars = 1;
+ break;
+ case 'L':
+ eval++;
+ search_value = strdup(optarg);
+ search_type = strdup("LABEL");
+ break;
+ case 'n':
+ fltr_type = list_to_types(optarg, &fltr_flag);
+ break;
+ case 'u':
+ fltr_usage = list_to_usage(optarg, &fltr_flag);
+ break;
+ case 'U':
+ eval++;
+ search_value = strdup(optarg);
+ search_type = strdup("UUID");
+ break;
+ case 'i':
+ lowprobe |= LOWPROBE_TOPOLOGY;
+ break;
+ case 'l':
+ lookup++;
+ break;
+ case 'g':
+ gc = 1;
+ break;
+ case 'k':
+ {
+ size_t idx = 0;
+ const char *name = NULL;
+
+ while (blkid_superblocks_get_name(idx++, &name, NULL) == 0)
+ printf("%s\n", name);
+ exit(EXIT_SUCCESS);
+ }
+ case 'o':
+ if (!strcmp(optarg, "value"))
+ output_format = OUTPUT_VALUE_ONLY;
+ else if (!strcmp(optarg, "device"))
+ output_format = OUTPUT_DEVICE_ONLY;
+ else if (!strcmp(optarg, "list"))
+ output_format = OUTPUT_PRETTY_LIST; /* deprecated */
+ else if (!strcmp(optarg, "udev"))
+ output_format = OUTPUT_UDEV_LIST;
+ else if (!strcmp(optarg, "export"))
+ output_format = OUTPUT_EXPORT_LIST;
+ else if (!strcmp(optarg, "full"))
+ output_format = 0;
+ else {
+ fprintf(stderr, "Invalid output format %s. "
+ "Choose from value,\n\t"
+ "device, list, udev or full\n", optarg);
+ exit(BLKID_EXIT_OTHER);
+ }
+ break;
+ case 'O':
+ offset = strtosize_or_err(optarg, "invalid offset argument");
+ break;
+ case 'p':
+ lowprobe |= LOWPROBE_SUPERBLOCKS;
+ break;
+ case 's':
+ if (numtag + 1 >= sizeof(show) / sizeof(*show)) {
+ fprintf(stderr, "Too many tags specified\n");
+ usage(err);
+ }
+ show[numtag++] = optarg;
+ show[numtag] = NULL;
+ break;
+ case 'S':
+ size = strtosize_or_err(optarg, "invalid size argument");
+ break;
+ case 't':
+ if (search_type) {
+ fprintf(stderr, "Can only search for "
+ "one NAME=value pair\n");
+ usage(err);
+ }
+ if (blkid_parse_tag_string(optarg,
+ &search_type,
+ &search_value)) {
+ fprintf(stderr, "-t needs NAME=value pair\n");
+ usage(err);
+ }
+ break;
+ case 'v':
+ version = 1;
+ break;
+ case 'w':
+ /* ignore - backward compatibility */
+ break;
+ case 'h':
+ err = 0;
+ /* fallthrough */
+ default:
+ usage(err);
+ }
+ }
+
+
+ /* The rest of the args are device names */
+ if (optind < argc) {
+ devices = calloc(argc - optind, sizeof(char *));
+ if (!devices) {
+ fprintf(stderr, "Failed to allocate device name array\n");
+ goto exit;
+ }
+
+ while (optind < argc)
+ devices[numdev++] = argv[optind++];
+ }
+
+ if (version) {
+ print_version(stdout);
+ goto exit;
+ }
+
+ /* convert LABEL/UUID lookup to evaluate request */
+ if (lookup && output_format == OUTPUT_DEVICE_ONLY && search_type &&
+ (!strcmp(search_type, "LABEL") || !strcmp(search_type, "UUID"))) {
+ eval++;
+ lookup = 0;
+ }
+
+ if (!lowprobe && !eval && blkid_get_cache(&cache, read) < 0)
+ goto exit;
+
+ if (gc) {
+ blkid_gc_cache(cache);
+ err = 0;
+ goto exit;
+ }
+ err = BLKID_EXIT_NOTFOUND;
+
+ if (eval == 0 && (output_format & OUTPUT_PRETTY_LIST)) {
+ if (lowprobe) {
+ fprintf(stderr, "The low-level probing mode does not "
+ "support 'list' output format\n");
+ exit(BLKID_EXIT_OTHER);
+ }
+ pretty_print_dev(NULL);
+ }
+
+ if (lowprobe) {
+ /*
+ * Low-level API
+ */
+ blkid_probe pr;
+
+ if (!numdev) {
+ fprintf(stderr, "The low-level probing mode "
+ "requires a device\n");
+ exit(BLKID_EXIT_OTHER);
+ }
+
+ /* automatically enable 'export' format for I/O Limits */
+ if (!output_format && (lowprobe & LOWPROBE_TOPOLOGY))
+ output_format = OUTPUT_EXPORT_LIST;
+
+ pr = blkid_new_probe();
+ if (!pr)
+ goto exit;
+
+ if (lowprobe & LOWPROBE_SUPERBLOCKS) {
+ blkid_probe_set_superblocks_flags(pr,
+ BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
+ BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
+ BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION);
+
+ if (fltr_usage && blkid_probe_filter_superblocks_usage(
+ pr, fltr_flag, fltr_usage))
+ goto exit;
+
+ else if (fltr_type && blkid_probe_filter_superblocks_type(
+ pr, fltr_flag, fltr_type))
+ goto exit;
+ }
+
+ for (i = 0; i < numdev; i++) {
+ err = lowprobe_device(pr, devices[i], lowprobe, show,
+ output_format,
+ (blkid_loff_t) offset,
+ (blkid_loff_t) size);
+ if (err)
+ break;
+ }
+ blkid_free_probe(pr);
+ } else if (eval) {
+ /*
+ * Evaluate API
+ */
+ char *res = blkid_evaluate_tag(search_type, search_value, NULL);
+ if (res) {
+ err = 0;
+ printf("%s\n", res);
+ }
+ } else if (lookup) {
+ /*
+ * Classic (cache based) API
+ */
+ blkid_dev dev;
+
+ if (!search_type) {
+ fprintf(stderr, "The lookup option requires a "
+ "search type specified using -t\n");
+ exit(BLKID_EXIT_OTHER);
+ }
+ /* Load any additional devices not in the cache */
+ for (i = 0; i < numdev; i++)
+ blkid_get_dev(cache, devices[i], BLKID_DEV_NORMAL);
+
+ if ((dev = blkid_find_dev_with_tag(cache, search_type,
+ search_value))) {
+ print_tags(dev, show, output_format);
+ err = 0;
+ }
+ /* If we didn't specify a single device, show all available devices */
+ } else if (!numdev) {
+ blkid_dev_iterate iter;
+ blkid_dev dev;
+
+ blkid_probe_all(cache);
+
+ iter = blkid_dev_iterate_begin(cache);
+ blkid_dev_set_search(iter, search_type, search_value);
+ while (blkid_dev_next(iter, &dev) == 0) {
+ dev = blkid_verify(cache, dev);
+ if (!dev)
+ continue;
+ print_tags(dev, show, output_format);
+ err = 0;
+ }
+ blkid_dev_iterate_end(iter);
+ /* Add all specified devices to cache (optionally display tags) */
+ } else for (i = 0; i < numdev; i++) {
+ blkid_dev dev = blkid_get_dev(cache, devices[i],
+ BLKID_DEV_NORMAL);
+
+ if (dev) {
+ if (search_type &&
+ !blkid_dev_has_tag(dev, search_type,
+ search_value))
+ continue;
+ print_tags(dev, show, output_format);
+ err = 0;
+ }
+ }
+
+exit:
+ free(search_type);
+ free(search_value);
+ free_types_list(fltr_type);
+ if (!lowprobe && !eval)
+ blkid_put_cache(cache);
+ free(devices);
+ return err;
+}
diff --git a/misc-utils/cal.1 b/misc-utils/cal.1
new file mode 100644
index 0000000..4d9b3d1
--- /dev/null
+++ b/misc-utils/cal.1
@@ -0,0 +1,97 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Kim Letkeman.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)cal.1 8.1 (Berkeley) 6/6/93
+.\"
+.TH CAL 1 "June 2011" "util-linux" "User Commands"
+.SH NAME
+cal \- display a calendar
+.SH SYNOPSIS
+.B cal
+[\fIoptions\fR] [[[\fIday\fR] \fImonth\fR] \fIyear\fR]
+.SH DESCRIPTION
+.B cal
+displays a simple calendar. If no arguments are specified, the current
+month is displayed.
+.SH OPTIONS
+.TP
+\fB\-1\fR, \fB\-\-one\fR
+Display single month output.
+(This is the default.)
+.TP
+\fB\-3\fR, \fB\-\-three\fR
+Display prev/current/next month output.
+.TP
+\fB\-s\fR, \fB\-\-sunday\fR
+Display Sunday as the first day of the week.
+.TP
+\fB\-m\fR, \fB\-\-monday\fR
+Display Monday as the first day of the week.
+.TP
+\fB\-j\fR, \fB\-\-julian\fR
+Display Julian dates (days one-based, numbered from January 1).
+.TP
+\fB\-y\fR, \fB\-\-year\fR
+Display a calendar for the current year.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help screen and exit.
+.SH PARAMETERS
+A single parameter specifies the year (1 - 9999) to be displayed; note the
+year must be fully specified:
+.B "cal 89"
+will not display a calendar for 1989.
+.PP
+Two parameters denote the month (1 - 12) and year.
+.PP
+Three parameters denote the day (1-31), month and year, and the day will be
+highlighted if the calendar is displayed on a terminal. If no parameters are
+specified, the current month's calendar is displayed.
+.PP
+A year starts on Jan 1. The first day of the week is determined by the
+locale.
+.PP
+The Gregorian Reformation is assumed to have occurred in 1752 on the 3rd of
+September. By this time, most countries had recognized the reformation
+(although a few did not recognize it until the early 1900's). Ten days
+following that date were eliminated by the reformation, so the calendar for
+that month is a bit unusual.
+.SH HISTORY
+A cal command appeared in Version 6 AT&T UNIX.
+.SH AVAILABILITY
+The cal command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/cal.c b/misc-utils/cal.c
new file mode 100644
index 0000000..60e85df
--- /dev/null
+++ b/misc-utils/cal.c
@@ -0,0 +1,800 @@
+/*
+ * Copyright (c) 1989, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Kim Letkeman.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/* 1999-02-01 Jean-Francois Bignolles: added option '-m' to display
+ * monday as the first day of the week.
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 2000-09-01 Michael Charles Pruznick <dummy@netwiz.net>
+ * Added "-3" option to print prev/next month with current.
+ * Added over-ridable default NUM_MONTHS and "-1" option to
+ * get traditional output when -3 is the default. I hope that
+ * enough people will like -3 as the default that one day the
+ * product can be shipped that way.
+ *
+ * 2001-05-07 Pablo Saratxaga <pablo@mandrakesoft.com>
+ * Fixed the bugs with multi-byte charset (zg: cjk, utf-8)
+ * displaying. made the 'month year' ("%s %d") header translatable
+ * so it can be adapted to conventions used by different languages
+ * added support to read "first_weekday" locale information
+ * still to do: support for 'cal_direction' (will require a major
+ * rewrite of the displaying) and proper handling of RTL scripts
+ */
+
+#include <sys/types.h>
+
+#include <ctype.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "mbsalign.h"
+#include "strutils.h"
+
+#if defined(HAVE_LIBNCURSES) || defined(HAVE_LIBNCURSESW)
+
+#ifdef HAVE_NCURSES_H
+#include <ncurses.h>
+#elif defined(HAVE_NCURSES_NCURSES_H)
+#include <ncurses/ncurses.h>
+#endif
+
+#include <term.h> /* include after <curses.h> */
+
+static void
+my_setupterm(const char *term, int fildes, int *errret) {
+ setupterm((char*)term, fildes, errret);
+}
+
+static void
+my_putstring(char *s) {
+ putp(s);
+}
+
+static const char *
+my_tgetstr(char *s __attribute__ ((__unused__)), char *ss) {
+ const char* ret = tigetstr(ss);
+ if (!ret || ret==(char*)-1)
+ return "";
+ else
+ return ret;
+}
+
+#elif defined(HAVE_LIBTERMCAP)
+
+#include <termcap.h>
+
+char termbuffer[4096];
+char tcbuffer[4096];
+char *strbuf = termbuffer;
+
+static void
+my_setupterm(const char *term, int fildes, int *errret) {
+ *errret = tgetent(tcbuffer, term);
+}
+
+static void
+my_putstring(char *s) {
+ tputs (s, 1, putchar);
+}
+
+static const char *
+my_tgetstr(char *s, char *ss __attribute__ ((__unused__))) {
+ const char* ret = tgetstr(s, &strbuf);
+ if (!ret)
+ return "";
+ else
+ return ret;
+}
+
+#else /* ! (HAVE_LIBTERMCAP || HAVE_LIBNCURSES || HAVE_LIBNCURSESW) */
+
+static void
+my_putstring(char *s) {
+ fputs(s, stdout);
+}
+
+#endif
+
+
+const char *term="";
+const char *Senter="", *Sexit="";/* enter and exit standout mode */
+int Slen; /* strlen of Senter+Sexit */
+char *Hrow; /* pointer to highlighted row in month */
+
+#include "widechar.h"
+
+/* allow compile-time define to over-ride default */
+#ifndef NUM_MONTHS
+#define NUM_MONTHS 1
+#endif
+
+#if ( NUM_MONTHS != 1 && NUM_MONTHS !=3 )
+#error NUM_MONTHS must be 1 or 3
+#endif
+
+#define THURSDAY 4 /* for reformation */
+#define SATURDAY 6 /* 1 Jan 1 was a Saturday */
+
+#define FIRST_MISSING_DAY 639799 /* 3 Sep 1752 */
+#define NUMBER_MISSING_DAYS 11 /* 11 day correction */
+
+#define MAXDAYS 42 /* slots in a month array */
+#define SPACE -1 /* used in day array */
+
+static int days_in_month[2][13] = {
+ {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
+ {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
+};
+
+#define SEP1752_OFS 4 /* sep1752[4] is a Sunday */
+
+/* 1 Sep 1752 is represented by sep1752[6] and j_sep1752[6] */
+int sep1752[MAXDAYS+6] = {
+ SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, 1, 2, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE
+}, j_sep1752[MAXDAYS+6] = {
+ SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, 245, 246, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE
+}, empty[MAXDAYS] = {
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE,
+ SPACE, SPACE, SPACE, SPACE, SPACE, SPACE, SPACE
+};
+
+#define DAY_LEN 3 /* 3 spaces per day */
+#define J_DAY_LEN 4 /* 4 spaces per day */
+#define WEEK_LEN 21 /* 7 days * 3 characters */
+#define J_WEEK_LEN 28 /* 7 days * 4 characters */
+#define HEAD_SEP 2 /* spaces between day headings */
+#define J_HEAD_SEP 2
+
+/* utf-8 can have up to 6 bytes per char; and an extra byte for ending \0 */
+char day_headings[WEEK_LEN*6+1];
+/* weekstart = 1 => " M Tu W Th F S S " */
+char j_day_headings[J_WEEK_LEN*6+1];
+/* weekstart = 1 => " M Tu W Th F S S " */
+const char *full_month[12];
+
+/* leap year -- account for gregorian reformation in 1752 */
+#define leap_year(yr) \
+ ((yr) <= 1752 ? !((yr) % 4) : \
+ (!((yr) % 4) && ((yr) % 100)) || !((yr) % 400))
+
+/* number of centuries since 1700, not inclusive */
+#define centuries_since_1700(yr) \
+ ((yr) > 1700 ? (yr) / 100 - 17 : 0)
+
+/* number of centuries since 1700 whose modulo of 400 is 0 */
+#define quad_centuries_since_1700(yr) \
+ ((yr) > 1600 ? ((yr) - 1600) / 400 : 0)
+
+/* number of leap years between year 1 and this year, not inclusive */
+#define leap_years_since_year_1(yr) \
+ ((yr) / 4 - centuries_since_1700(yr) + quad_centuries_since_1700(yr))
+
+/* 0 => sunday, 1 => monday */
+int weekstart=0;
+int julian;
+
+#define TODAY_FLAG 0x400 /* flag day for highlighting */
+
+#define FMT_ST_LINES 8
+#define FMT_ST_CHARS 300 /* 90 suffices in most locales */
+struct fmt_st
+{
+ char s[FMT_ST_LINES][FMT_ST_CHARS];
+};
+
+char * ascii_day(char *, int);
+int center_str(const char* src, char* dest, size_t dest_size, size_t width);
+void center(const char *, size_t, int);
+void day_array(int, int, int, int *);
+int day_in_week(int, int, int);
+int day_in_year(int, int, int);
+void yearly(int, int);
+void j_yearly(int, int);
+void do_monthly(int, int, int, struct fmt_st*);
+void monthly(int, int, int);
+void monthly3(int, int, int);
+void trim_trailing_spaces(char *);
+static void __attribute__ ((__noreturn__)) usage(FILE * out);
+void headers_init(void);
+
+int
+main(int argc, char **argv) {
+ struct tm *local_time;
+ time_t now;
+ int ch, day, month, year, yflag;
+ int num_months = NUM_MONTHS;
+
+ static const struct option longopts[] = {
+ {"one", no_argument, NULL, '1'},
+ {"three", no_argument, NULL, '3'},
+ {"sunday", no_argument, NULL, 's'},
+ {"monday", no_argument, NULL, 'm'},
+ {"julian", no_argument, NULL, 'j'},
+ {"year", no_argument, NULL, 'y'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+#if defined(HAVE_LIBNCURSES) || defined(HAVE_LIBNCURSESW) || defined(HAVE_LIBTERMCAP)
+ if ((term = getenv("TERM"))) {
+ int ret;
+ my_setupterm(term, 1, &ret);
+ if (ret > 0) {
+ Senter = my_tgetstr("so","smso");
+ Sexit = my_tgetstr("se","rmso");
+ Slen = strlen(Senter) + strlen(Sexit);
+ }
+ }
+#endif
+
+/*
+ * The traditional Unix cal utility starts the week at Sunday,
+ * while ISO 8601 starts at Monday. We read the start day from
+ * the locale database, which can be overridden with the
+ * -s (Sunday) or -m (Monday) options.
+ */
+#if HAVE_DECL__NL_TIME_WEEK_1STDAY
+ /*
+ * You need to use 2 locale variables to get the first day of the week.
+ * This is needed to support first_weekday=2 and first_workday=1 for
+ * the rare case where working days span across 2 weeks.
+ * This shell script shows the combinations and calculations involved:
+ *
+ * for LANG in en_US ru_RU fr_FR csb_PL POSIX; do
+ * printf "%s:\t%s + %s -1 = " $LANG $(locale week-1stday first_weekday)
+ * date -d"$(locale week-1stday) +$(($(locale first_weekday)-1))day" +%w
+ * done
+ *
+ * en_US: 19971130 + 1 -1 = 0 #0 = sunday
+ * ru_RU: 19971130 + 2 -1 = 1
+ * fr_FR: 19971201 + 1 -1 = 1
+ * csb_PL: 19971201 + 2 -1 = 2
+ * POSIX: 19971201 + 7 -1 = 0
+ */
+ {
+ int wfd;
+ union { unsigned int word; char *string; } val;
+ val.string = nl_langinfo(_NL_TIME_WEEK_1STDAY);
+
+ wfd = val.word;
+ wfd = day_in_week(wfd % 100, (wfd / 100) % 100, wfd / (100 * 100));
+ weekstart = (wfd + *nl_langinfo(_NL_TIME_FIRST_WEEKDAY) - 1) % 7;
+ }
+#endif
+
+ yflag = 0;
+ while ((ch = getopt_long(argc, argv, "13mjsyVh", longopts, NULL)) != -1)
+ switch(ch) {
+ case '1':
+ num_months = 1; /* default */
+ break;
+ case '3':
+ num_months = 3;
+ break;
+ case 's':
+ weekstart = 0; /* default */
+ break;
+ case 'm':
+ weekstart = 1;
+ break;
+ case 'j':
+ julian = 1;
+ break;
+ case 'y':
+ yflag = 1;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ case '?':
+ default:
+ usage(stderr);
+ }
+ argc -= optind;
+ argv += optind;
+
+ time(&now);
+ local_time = localtime(&now);
+
+ day = month = year = 0;
+ switch(argc) {
+ case 3:
+ day = strtos32_or_err(*argv++, _("illegal day value"));
+ if (day < 1 || 31 < day)
+ errx(EXIT_FAILURE, _("illegal day value: use 1-%d"), 31);
+ /* FALLTHROUGH */
+ case 2:
+ month = strtos32_or_err(*argv++, _("illegal month value: use 1-12"));
+ if (month < 1 || 12 < month)
+ errx(EXIT_FAILURE, _("illegal month value: use 1-12"));
+ /* FALLTHROUGH */
+ case 1:
+ year = strtos32_or_err(*argv++, _("illegal year value: use 1-9999"));
+ if (year < 1 || 9999 < year)
+ errx(EXIT_FAILURE, _("illegal year value: use 1-9999"));
+ if (day) {
+ int dm = days_in_month[leap_year(year)][month];
+ if (day > dm)
+ errx(EXIT_FAILURE, _("illegal day value: use 1-%d"), dm);
+ day = day_in_year(day, month, year);
+ } else if ((local_time->tm_year + 1900) == year) {
+ day = local_time->tm_yday + 1;
+ }
+ if (!month)
+ yflag=1;
+ break;
+ case 0:
+ day = local_time->tm_yday + 1;
+ year = local_time->tm_year + 1900;
+ month = local_time->tm_mon + 1;
+ break;
+ default:
+ usage(stderr);
+ }
+ headers_init();
+
+ if (!isatty(1))
+ day = 0; /* don't highlight */
+
+ if (yflag && julian)
+ j_yearly(day, year);
+ else if (yflag)
+ yearly(day, year);
+ else if (num_months == 1)
+ monthly(day, month, year);
+ else if (num_months == 3)
+ monthly3(day, month, year);
+
+ return EXIT_SUCCESS;
+}
+
+void headers_init(void)
+{
+ int i, wd;
+ char *cur_dh = day_headings, *cur_j_dh = j_day_headings;
+
+ strcpy(day_headings, "");
+ strcpy(j_day_headings, "");
+
+ for (i = 0; i < 7; i++) {
+ ssize_t space_left;
+ wd = (i + weekstart) % 7;
+
+ if (i)
+ strcat(cur_dh++, " ");
+ space_left =
+ sizeof(day_headings) - (cur_dh - day_headings);
+ if (space_left <= 2)
+ break;
+ cur_dh +=
+ center_str(nl_langinfo(ABDAY_1 + wd), cur_dh,
+ space_left, 2);
+
+ if (i)
+ strcat(cur_j_dh++, " ");
+ space_left =
+ sizeof(j_day_headings) - (cur_j_dh - j_day_headings);
+ if (space_left <= 3)
+ break;
+ cur_j_dh +=
+ center_str(nl_langinfo(ABDAY_1 + wd), cur_j_dh,
+ space_left, 3);
+ }
+
+ for (i = 0; i < 12; i++)
+ full_month[i] = nl_langinfo(MON_1 + i);
+}
+
+void
+do_monthly(int day, int month, int year, struct fmt_st *out) {
+ int col, row, days[MAXDAYS];
+ char *p, lineout[FMT_ST_CHARS];
+ int width = (julian ? J_WEEK_LEN : WEEK_LEN) - 1;
+
+ day_array(day, month, year, days);
+
+ /*
+ * %s is the month name, %d the year number.
+ * you can change the order and/or add something here; eg for
+ * Basque the translation should be: "%2$dko %1$s", and
+ * the Vietnamese should be "%s na(m %d", etc.
+ */
+ snprintf(lineout, sizeof(lineout), _("%s %d"),
+ full_month[month - 1], year);
+ center_str(lineout, out->s[0], ARRAY_SIZE(out->s[0]), width);
+
+ snprintf(out->s[1], FMT_ST_CHARS, "%s",
+ julian ? j_day_headings : day_headings);
+ for (row = 0; row < 6; row++) {
+ int has_hl = 0;
+ for (col = 0, p = lineout; col < 7; col++) {
+ int xd = days[row * 7 + col];
+ if (xd != SPACE && (xd & TODAY_FLAG))
+ has_hl = 1;
+ p = ascii_day(p, xd);
+ }
+ *p = '\0';
+ trim_trailing_spaces(lineout);
+ snprintf(out->s[row+2], FMT_ST_CHARS, "%s", lineout);
+ if (has_hl)
+ Hrow = out->s[row+2];
+ }
+}
+
+void
+monthly(int day, int month, int year) {
+ int i;
+ struct fmt_st out;
+
+ do_monthly(day, month, year, &out);
+ for (i = 0; i < FMT_ST_LINES; i++) {
+ my_putstring(out.s[i]);
+ putchar('\n');
+ }
+}
+
+void
+monthly3(int day, int month, int year) {
+ char lineout[FMT_ST_CHARS];
+ int i;
+ int width;
+ struct fmt_st out_prev;
+ struct fmt_st out_curm;
+ struct fmt_st out_next;
+ int prev_month, prev_year;
+ int next_month, next_year;
+
+ if (month == 1) {
+ prev_month = 12;
+ prev_year = year - 1;
+ } else {
+ prev_month = month - 1;
+ prev_year = year;
+ }
+ if (month == 12) {
+ next_month = 1;
+ next_year = year + 1;
+ } else {
+ next_month = month + 1;
+ next_year = year;
+ }
+
+ do_monthly(day, prev_month, prev_year, &out_prev);
+ do_monthly(day, month, year, &out_curm);
+ do_monthly(day, next_month, next_year, &out_next);
+
+ width = (julian ? J_WEEK_LEN : WEEK_LEN) -1;
+ for (i = 0; i < 2; i++)
+ printf("%s %s %s\n", out_prev.s[i], out_curm.s[i], out_next.s[i]);
+ for (i = 2; i < FMT_ST_LINES; i++) {
+ int w1, w2, w3;
+ w1 = w2 = w3 = width;
+
+#if defined(HAVE_LIBNCURSES) || defined(HAVE_LIBNCURSESW) || defined(HAVE_LIBTERMCAP)
+ /* adjust width to allow for non printable characters */
+ w1 += (out_prev.s[i] == Hrow ? Slen : 0);
+ w2 += (out_curm.s[i] == Hrow ? Slen : 0);
+ w3 += (out_next.s[i] == Hrow ? Slen : 0);
+#endif
+ snprintf(lineout, sizeof(lineout), "%-*s %-*s %-*s\n",
+ w1, out_prev.s[i],
+ w2, out_curm.s[i],
+ w3, out_next.s[i]);
+
+ my_putstring(lineout);
+ }
+}
+
+void
+j_yearly(int day, int year) {
+ int col, *dp, i, month, row, which_cal;
+ int days[12][MAXDAYS];
+ char *p, lineout[80];
+
+ snprintf(lineout, sizeof(lineout), "%d", year);
+ center(lineout, J_WEEK_LEN*2 + J_HEAD_SEP - 1, 0);
+ printf("\n\n");
+
+ for (i = 0; i < 12; i++)
+ day_array(day, i + 1, year, days[i]);
+ memset(lineout, ' ', sizeof(lineout) - 1);
+ lineout[sizeof(lineout) - 1] = '\0';
+ for (month = 0; month < 12; month += 2) {
+ center(full_month[month], J_WEEK_LEN-1, J_HEAD_SEP+1);
+ center(full_month[month + 1], J_WEEK_LEN-1, 0);
+ printf("\n%s%*s %s\n", j_day_headings, J_HEAD_SEP, "",
+ j_day_headings);
+ for (row = 0; row < 6; row++) {
+ p = lineout;
+ for (which_cal = 0; which_cal < 2; which_cal++) {
+ dp = &days[month + which_cal][row * 7];
+ for (col = 0; col < 7; col++)
+ p = ascii_day(p, *dp++);
+ p += sprintf(p, " ");
+ }
+ *p = '\0';
+ trim_trailing_spaces(lineout);
+ my_putstring(lineout);
+ putchar('\n');
+ }
+ }
+ printf("\n");
+}
+
+void
+yearly(int day, int year) {
+ int col, *dp, i, month, row, which_cal;
+ int days[12][MAXDAYS];
+ char *p, lineout[100];
+
+ snprintf(lineout, sizeof(lineout), "%d", year);
+ center(lineout, WEEK_LEN*3 + HEAD_SEP*2 - 1, 0);
+ printf("\n\n");
+
+ for (i = 0; i < 12; i++)
+ day_array(day, i + 1, year, days[i]);
+ memset(lineout, ' ', sizeof(lineout) - 1);
+ lineout[sizeof(lineout) - 1] = '\0';
+ for (month = 0; month < 12; month += 3) {
+ center(full_month[month], WEEK_LEN-1, HEAD_SEP+1);
+ center(full_month[month + 1], WEEK_LEN-1, HEAD_SEP+1);
+ center(full_month[month + 2], WEEK_LEN-1, 0);
+ printf("\n%s%*s %s%*s %s\n", day_headings, HEAD_SEP,
+ "", day_headings, HEAD_SEP, "", day_headings);
+ for (row = 0; row < 6; row++) {
+ p = lineout;
+ for (which_cal = 0; which_cal < 3; which_cal++) {
+ dp = &days[month + which_cal][row * 7];
+ for (col = 0; col < 7; col++)
+ p = ascii_day(p, *dp++);
+ p += sprintf(p, " ");
+ }
+ *p = '\0';
+ trim_trailing_spaces(lineout);
+ my_putstring(lineout);
+ putchar('\n');
+ }
+ }
+ putchar('\n');
+}
+
+/*
+ * day_array --
+ * Fill in an array of 42 integers with a calendar. Assume for a moment
+ * that you took the (maximum) 6 rows in a calendar and stretched them
+ * out end to end. You would have 42 numbers or spaces. This routine
+ * builds that array for any month from Jan. 1 through Dec. 9999.
+ */
+void
+day_array(int day, int month, int year, int *days) {
+ int julday, daynum, dw, dm;
+ int *d_sep1752;
+
+ if (month == 9 && year == 1752) {
+ int sep1752_ofs = (weekstart + SEP1752_OFS) % 7;
+ d_sep1752 = julian ? j_sep1752 : sep1752;
+ memcpy(days, d_sep1752 + sep1752_ofs, MAXDAYS * sizeof(int));
+ for (dm=0; dm<MAXDAYS; dm++)
+ if (j_sep1752[dm + sep1752_ofs] == day)
+ days[dm] |= TODAY_FLAG;
+ return;
+ }
+ memcpy(days, empty, MAXDAYS * sizeof(int));
+ dm = days_in_month[leap_year(year)][month];
+ dw = (day_in_week(1, month, year) - weekstart + 7) % 7;
+ julday = day_in_year(1, month, year);
+ daynum = julian ? julday : 1;
+ while (dm--) {
+ days[dw] = daynum++;
+ if (julday++ == day)
+ days[dw] |= TODAY_FLAG;
+ dw++;
+ }
+}
+
+/*
+ * day_in_year --
+ * return the 1 based day number within the year
+ */
+int
+day_in_year(int day, int month, int year) {
+ int i, leap;
+
+ leap = leap_year(year);
+ for (i = 1; i < month; i++)
+ day += days_in_month[leap][i];
+ return day;
+}
+
+/*
+ * day_in_week
+ * return the 0 based day number for any date from 1 Jan. 1 to
+ * 31 Dec. 9999. Assumes the Gregorian reformation eliminates
+ * 3 Sep. 1752 through 13 Sep. 1752. Returns Thursday for all
+ * missing days.
+ */
+int
+day_in_week(int day, int month, int year) {
+ long temp;
+
+ temp = (long)(year - 1) * 365 + leap_years_since_year_1(year - 1)
+ + day_in_year(day, month, year);
+ if (temp < FIRST_MISSING_DAY)
+ return ((temp - 1 + SATURDAY) % 7);
+ if (temp >= (FIRST_MISSING_DAY + NUMBER_MISSING_DAYS))
+ return (((temp - 1 + SATURDAY) - NUMBER_MISSING_DAYS) % 7);
+ return (THURSDAY);
+}
+
+char *
+ascii_day(char *p, int day) {
+ int display, val;
+ int highlight = 0;
+ static char *aday[] = {
+ "",
+ " 1", " 2", " 3", " 4", " 5", " 6", " 7",
+ " 8", " 9", "10", "11", "12", "13", "14",
+ "15", "16", "17", "18", "19", "20", "21",
+ "22", "23", "24", "25", "26", "27", "28",
+ "29", "30", "31",
+ };
+
+ if (day == SPACE) {
+ int len = julian ? J_DAY_LEN : DAY_LEN;
+ memset(p, ' ', len);
+ return p+len;
+ }
+ if (day & TODAY_FLAG) {
+ day &= ~TODAY_FLAG;
+ p += sprintf(p, "%s", Senter);
+ highlight = 1;
+ }
+ if (julian) {
+ if ((val = day / 100)) {
+ day %= 100;
+ *p++ = val + '0';
+ display = 1;
+ } else {
+ *p++ = ' ';
+ display = 0;
+ }
+ val = day / 10;
+ if (val || display)
+ *p++ = val + '0';
+ else
+ *p++ = ' ';
+ *p++ = day % 10 + '0';
+ } else {
+ *p++ = aday[day][0];
+ *p++ = aday[day][1];
+ }
+ if (highlight)
+ p += sprintf(p, "%s", Sexit);
+ *p++ = ' ';
+ return p;
+}
+
+void
+trim_trailing_spaces(char *s)
+{
+ char *p;
+
+ for (p = s; *p; ++p)
+ continue;
+ while (p > s && isspace(*--p))
+ continue;
+ if (p > s)
+ ++p;
+ *p = '\0';
+}
+
+/*
+ * Center string, handling multibyte characters appropriately.
+ * In addition if the string is too large for the width it's truncated.
+ * The number of trailing spaces may be 1 less than the number of leading spaces.
+ */
+int
+center_str(const char* src, char* dest, size_t dest_size, size_t width)
+{
+ return mbsalign(src, dest, dest_size, &width,
+ MBS_ALIGN_CENTER, MBA_UNIBYTE_FALLBACK);
+}
+
+void
+center(const char *str, size_t len, int separate)
+{
+ char lineout[FMT_ST_CHARS];
+ center_str(str, lineout, ARRAY_SIZE(lineout), len);
+ fputs(lineout, stdout);
+ if (separate)
+ printf("%*s", separate, "");
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] [[[day] month] year]\n"),
+ program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -1, --one show only current month (default)\n"
+ " -3, --three show previous, current and next month\n"
+ " -s, --sunday Sunday as first day of week\n"
+ " -m, --monday Monday as first day of week\n"
+ " -j, --julian output Julian dates\n"
+ " -y, --year show whole current year\n"
+ " -V, --version display version information and exit\n"
+ " -h, --help display this help text and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
diff --git a/misc-utils/chkdupexe b/misc-utils/chkdupexe
new file mode 100644
index 0000000..b82b102
--- /dev/null
+++ b/misc-utils/chkdupexe
@@ -0,0 +1,120 @@
+#! -w
+#
+# chkdupexe version 2.1.1
+#
+# Simple script to look for and list duplicate executables and dangling
+# symlinks in the system executable directories.
+#
+# Copyright 1993 Nicolai Langfeldt. janl@math.uio.no
+# Distribute under gnu copyleft (included in perl package)
+#
+# Modified 1995-07-04 Michael Shields <shields@tembel.org>
+# Don't depend on GNU ls.
+# Cleanups.
+# Merge together $ENV{'PATH'} and $execdirs.
+# Don't break if there are duplicates in $PATH.
+#
+# Modified 1996-02-16 Nicolai Langfeldt (janl@math.uio.no).
+# I was thinking admins would edit the $execdirs list to suit their
+# machine(s) when I wrote this. This is ofcourse not the case, thus
+# Michaels fixes. And my fixes to his :-)
+# - Working duplicate dirs detection.
+# - Added more checks
+# - Took out $PATH from the list of checked directories and added a
+# check for $execdirs and $PATH consistency instead
+# - Made it possible to run with perl -w
+
+$execdirs='/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin '.
+ '/usr/X11/bin /usr/bin/X11 /usr/local/X11/bin '.
+ '/usr/TeX/bin /usr/tex/bin /usr/games '.
+ '/usr/local/games';
+
+# Turn off buffering for the output channel.
+$|=1;
+
+# Values from /usr/include/linux/errno.h. Existence of linux/errno.ph is not
+# something to count on... :-(
+$ENOENT=2;
+
+%didthis=();
+
+foreach $dir (split(/\s+/, "$execdirs"), "\0", split(/:/, $ENV{PATH})) {
+
+ if ($dir eq "\0") { $checkingpath = 1; next; }
+
+ # It's like this: One directory corresponds to one $device,$inode tuple
+ # If a symlink points to a directory we already checked that directory
+ # will have the same $device,$inode tuple.
+
+ # Does this directory have any real exstence outside the ravings of
+ # symlinks pointing hither and dither?
+ ($device,$inode)=stat($dir);
+ if (!defined($device)) {
+ # Nonexistant directory, or dangling symlink?
+ ($dum)=lstat($dir);
+ next if $! == $ENOENT;
+ if (!$dum) {
+ print "Dangling symlink: $dir\n";
+ next;
+ }
+ warn "Nonexistent directory: $dir\n" if ($checkingpath);
+ next;
+ }
+
+ if (!-d _) {
+ print "Not a directory: $dir\n";
+ next;
+ }
+
+ next if defined($didthis{$device,$inode});
+
+ $didthis{$device,$inode}=1;
+
+ chdir($dir) || die "Could not chdir $dir: $!\n";
+# This would give us the true directory name, do we want that?
+# chop($dir=`pwd`);
+ opendir(DIR,".") ||
+ die "NUTS! Personaly I think your perl or filesystem is broken.\n".
+ "I've done all sorts of checks on $dir, and now I can't open it!\n";
+ foreach $_ (readdir(DIR)) {
+ lstat($_);
+ if (-l _) {
+ ($dum)=stat($_);
+ print "Dangling symlink: $dir/$_\n" unless defined($dum);
+ next;
+ }
+ next unless -f _ && -x _; # Only handle regular executable files
+ if (defined($count{$_})) {
+ $progs{$_}.=" $dir/$_";
+ $count{$_}++;
+ } else {
+ $progs{$_}="$dir/$_";
+ $count{$_}=1;
+ }
+ }
+ closedir(DIR);
+}
+
+open(LS,"| xargs -r ls -ldU");
+while (($prog,$paths)=each %progs) {
+ print LS "$paths\n" if ($count{$prog}>1);
+}
+close(LS);
+
+exit 0;
+
+@unchecked=();
+# Check if the users PATH contains something I've not checked. The site admin
+# might want to know about inconsistencies in user PATHs and chkdupexec
+# configuration
+foreach $dir (split(/:/,$ENV{'PATH'})) {
+ ($device,$inode)=stat($dir);
+ next unless defined($device);
+ next if defined($didthis{$device,$inode});
+ push(@unchecked,$dir);
+ $didthis{$device,$inode}=1;
+}
+
+print "Warning: Your path contains these directories which chkdupexe has not checked:\n",join(',',@unchecked),
+ ".\nPlease review the execdirs list in chkdupexe.\n"
+ if ($#unchecked>=$[);
diff --git a/misc-utils/chkdupexe.1 b/misc-utils/chkdupexe.1
new file mode 100644
index 0000000..dd3664a
--- /dev/null
+++ b/misc-utils/chkdupexe.1
@@ -0,0 +1,38 @@
+.\" chkdupexe.1 --
+.\" Created: Sat Mar 11 18:19:44 1995 by faith@cs.unc.edu
+.\" Revised: Sat Mar 11 19:07:05 1995 by faith@cs.unc.edu
+.\" Revised: Wed Jul 5 01:56:26 1995 by shields@tembel.org
+.\" Copyright 1995 Rickard E. Faith (faith@cs.unc.edu)
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.TH CHKDUPEXE 1 "March 1995" "util-linux" "User Commands"
+.SH NAME
+chkdupexe \- find duplicate executables
+.SH SYNOPSIS
+.B chkdupexe
+.SH DESCRIPTION
+.B chkdupexe
+will scan the union of $PATH and a hardcoded list of common locations
+for binaries. It will report dangling symlinks and duplicately-named
+binaries.
+.SH AUTHOR
+Nicolai Langfeldt, Michael Shields.
diff --git a/misc-utils/chkdupexe.pl b/misc-utils/chkdupexe.pl
new file mode 100755
index 0000000..c2c2384
--- /dev/null
+++ b/misc-utils/chkdupexe.pl
@@ -0,0 +1,120 @@
+#!@PERL@ -w
+#
+# chkdupexe version 2.1.1
+#
+# Simple script to look for and list duplicate executables and dangling
+# symlinks in the system executable directories.
+#
+# Copyright 1993 Nicolai Langfeldt. janl@math.uio.no
+# Distribute under gnu copyleft (included in perl package)
+#
+# Modified 1995-07-04 Michael Shields <shields@tembel.org>
+# Don't depend on GNU ls.
+# Cleanups.
+# Merge together $ENV{'PATH'} and $execdirs.
+# Don't break if there are duplicates in $PATH.
+#
+# Modified 1996-02-16 Nicolai Langfeldt (janl@math.uio.no).
+# I was thinking admins would edit the $execdirs list to suit their
+# machine(s) when I wrote this. This is ofcourse not the case, thus
+# Michaels fixes. And my fixes to his :-)
+# - Working duplicate dirs detection.
+# - Added more checks
+# - Took out $PATH from the list of checked directories and added a
+# check for $execdirs and $PATH consistency instead
+# - Made it possible to run with perl -w
+
+$execdirs='/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin '.
+ '/usr/X11/bin /usr/bin/X11 /usr/local/X11/bin '.
+ '/usr/TeX/bin /usr/tex/bin /usr/games '.
+ '/usr/local/games';
+
+# Turn off buffering for the output channel.
+$|=1;
+
+# Values from /usr/include/linux/errno.h. Existence of linux/errno.ph is not
+# something to count on... :-(
+$ENOENT=2;
+
+%didthis=();
+
+foreach $dir (split(/\s+/, "$execdirs"), "\0", split(/:/, $ENV{PATH})) {
+
+ if ($dir eq "\0") { $checkingpath = 1; next; }
+
+ # It's like this: One directory corresponds to one $device,$inode tuple
+ # If a symlink points to a directory we already checked that directory
+ # will have the same $device,$inode tuple.
+
+ # Does this directory have any real exstence outside the ravings of
+ # symlinks pointing hither and dither?
+ ($device,$inode)=stat($dir);
+ if (!defined($device)) {
+ # Nonexistant directory, or dangling symlink?
+ ($dum)=lstat($dir);
+ next if $! == $ENOENT;
+ if (!$dum) {
+ print "Dangling symlink: $dir\n";
+ next;
+ }
+ warn "Nonexistent directory: $dir\n" if ($checkingpath);
+ next;
+ }
+
+ if (!-d _) {
+ print "Not a directory: $dir\n";
+ next;
+ }
+
+ next if defined($didthis{$device,$inode});
+
+ $didthis{$device,$inode}=1;
+
+ chdir($dir) || die "Could not chdir $dir: $!\n";
+# This would give us the true directory name, do we want that?
+# chop($dir=`pwd`);
+ opendir(DIR,".") ||
+ die "NUTS! Personaly I think your perl or filesystem is broken.\n".
+ "I've done all sorts of checks on $dir, and now I can't open it!\n";
+ foreach $_ (readdir(DIR)) {
+ lstat($_);
+ if (-l _) {
+ ($dum)=stat($_);
+ print "Dangling symlink: $dir/$_\n" unless defined($dum);
+ next;
+ }
+ next unless -f _ && -x _; # Only handle regular executable files
+ if (defined($count{$_})) {
+ $progs{$_}.=" $dir/$_";
+ $count{$_}++;
+ } else {
+ $progs{$_}="$dir/$_";
+ $count{$_}=1;
+ }
+ }
+ closedir(DIR);
+}
+
+open(LS,"| xargs -r ls -ldU");
+while (($prog,$paths)=each %progs) {
+ print LS "$paths\n" if ($count{$prog}>1);
+}
+close(LS);
+
+exit 0;
+
+@unchecked=();
+# Check if the users PATH contains something I've not checked. The site admin
+# might want to know about inconsistencies in user PATHs and chkdupexec
+# configuration
+foreach $dir (split(/:/,$ENV{'PATH'})) {
+ ($device,$inode)=stat($dir);
+ next unless defined($device);
+ next if defined($didthis{$device,$inode});
+ push(@unchecked,$dir);
+ $didthis{$device,$inode}=1;
+}
+
+print "Warning: Your path contains these directories which chkdupexe has not checked:\n",join(',',@unchecked),
+ ".\nPlease review the execdirs list in chkdupexe.\n"
+ if ($#unchecked>=$[);
diff --git a/misc-utils/ddate.1 b/misc-utils/ddate.1
new file mode 100644
index 0000000..0b01e09
--- /dev/null
+++ b/misc-utils/ddate.1
@@ -0,0 +1,114 @@
+.\" All Rites Reversed. This file is in the PUBLIC DOMAIN.
+.\" Kallisti.
+.TH DDATE 1 "Bureaucracy 3161" "util-linux" "Emperor Norton User Command"
+.SH NAME
+ddate \- convert Gregorian dates to Discordian dates
+.SH SYNOPSIS
+.B ddate
+.RI [ \fB+\fPformat]
+.RI [ date ]
+.SH DESCRIPTION
+.B ddate
+prints the date in Discordian date format.
+.PP
+If called with no arguments,
+.B ddate
+will get the current system date, convert this to the Discordian
+date format and print this on the standard output. Alternatively, a
+Gregorian date may be specified on the command line, in the form of a numerical
+day, month and year.
+.PP
+If a format string is specified, the Discordian date will be printed in
+a format specified by the string. This mechanism works similarly to the
+format string mechanism of
+.B date(1),
+only almost completely differently. The fields are:
+.IP %A
+Full name of the day of the week (i.e., Sweetmorn)
+.IP %a
+Abbreviated name of the day of the week (i.e., SM)
+.IP %B
+Full name of the season (i.e., Chaos)
+.IP %b
+Abbreviated name of the season (i.e., Chs)
+.IP %d
+Ordinal number of day in season (i.e., 23)
+.IP %e
+Cardinal number of day in season (i.e., 23rd)
+.IP %H
+Name of current Holyday, if any
+.IP %N
+Magic code to prevent rest of format from being printed unless today is
+a Holyday.
+.IP %n
+Newline
+.IP %t
+Tab
+.IP %X
+Number of days remaining until X-Day. (Not valid if the SubGenius options
+are not compiled in.)
+.IP %{
+.IP %}
+Used to enclose the part of the string which is to be replaced with the
+words "St. Tib's Day" if the current day is St. Tib's Day.
+.IP %\.
+Try it and see.
+.bp
+.SH EXAMPLES
+.nf
+% ddate
+.br
+Sweetmorn, Bureaucracy 42, 3161 YOLD
+.PP
+% ddate +'Today is %{%A, the %e of %B%}, %Y. %N%nCelebrate %H'
+.br
+Today is Sweetmorn, the 42nd of Bureaucracy, 3161.
+.PP
+% ddate +"It's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 26 9 1995
+.br
+It's Prickle-Prickle, the 50th of Bureaucracy, 3161.
+.br
+Celebrate Bureflux
+.PP
+% ddate +"Today's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 29 2 1996
+.br
+Today's St. Tib's Day, 3162.
+.br
+
+.SH BUGS
+
+.B ddate(1)
+will produce undefined behavior if asked to produce the date for St. Tib's
+day and its format string does not contain the St. Tib's Day delimiters
+%{ and %}.
+
+.SH NOTE
+
+After `X-Day' passed without incident, the Church of the SubGenius
+declared that it had got the year upside down - X-Day is actually in 8661 AD
+rather than 1998 AD. Thus, the True X-Day is Cfn 40, 9827.
+
+.SH AUTHOR
+.nh
+Original program by Druel the Chaotic aka Jeremy Johnson (mpython@gnu.ai.mit.edu)
+.br
+Major rewrite by Lee H:. O:. Smith, KYTP, aka Andrew Bulhak (acb@dev.null.org)
+.br
+Five tons of flax.
+
+.SH DISTRIBUTION POLICY
+
+Public domain. All rites reversed.
+
+.SH SEE ALSO
+
+date(1),
+.br
+http://www.subgenius.com/
+.br
+Malaclypse the Younger,
+.I "Principia Discordia, Or How I Found Goddess And What I Did To Her When I Found Her"
+
+.SH AVAILABILITY
+The ddate command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/ddate.c b/misc-utils/ddate.c
new file mode 100644
index 0000000..c0b4ce4
--- /dev/null
+++ b/misc-utils/ddate.c
@@ -0,0 +1,374 @@
+/* $ DVCS ID: $jer|,523/lhos,KYTP!41023161\b"?" <<= DO NOT DELETE! */
+
+/* ddate.c .. converts boring normal dates to fun Discordian Date -><-
+ written the 65th day of The Aftermath in the Year of Our Lady of
+ Discord 3157 by Druel the Chaotic aka Jeremy Johnson aka
+ mpython@gnu.ai.mit.edu
+ 28 Sever St Apt #3
+ Worcester MA 01609
+
+ and I'm not responsible if this program messes anything up (except your
+ mind, I'm responsible for that)
+
+ (k) YOLD 3161 and all time before and after.
+ Reprint, reuse, and recycle what you wish.
+ This program is in the public domain. Distribute freely. Or not.
+
+ Majorly hacked, extended and bogotified/debogotified on
+ Sweetmorn, Bureaucracy 42, 3161 YOLD, by Lee H:. O:. Smith, KYTP,
+ aka Andrew Bulhak, aka acb@dev.null.org
+
+ and I'm not responsible if this program messes anything up (except your
+ mind, I'm responsible for that) (and that goes for me as well --lhos)
+
+ Version history:
+ Bureflux 3161: First release of enhanced ddate with format strings
+ 59 Bcy, 3161: PRAISE_BOB and KILL_BOB options split, other minor
+ changes.
+
+ 1999-02-22 Arkadiusz Miskiewicz <misiek@pld.ORG.PL>
+ - added Native Language Support
+
+ 2000-03-17 Burt Holzman <bnh@iname.com>
+ - added range checks for dates
+*/
+
+/* configuration options VVVVV READ THIS!!! */
+
+/* If you wish ddate(1) to print the date in the same format as Druel's
+ * original ddate when called in immediate mode, define OLD_IMMEDIATE_FMT
+ */
+
+#define OLD_IMMEDIATE_FMT
+
+/* If you wish to use the US format for aneristic dates (m-d-y), as opposed to
+ * the Commonwealth format, define US_FORMAT.
+ */
+
+/* #define US_FORMAT */
+
+/* If you are ideologically, theologically or otherwise opposed to the
+ * Church of the SubGenius and do not wish your copy of ddate(1) to contain
+ * code for counting down to X-Day, undefine KILL_BOB */
+
+#define KILL_BOB 13013
+
+/* If you wish ddate(1) to contain SubGenius slogans, define PRAISE_BOB */
+
+/*#define PRAISE_BOB 13013*/
+
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <stdio.h>
+
+#include "nls.h"
+#include "closestream.h"
+#include "c.h"
+
+#ifndef __GNUC__
+#define inline /* foo */
+#endif
+
+#ifdef KILL_BOB
+int xday_countdown(int yday, int year);
+#endif
+
+
+/* string constants */
+
+char *day_long[5] = {
+ "Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange"
+};
+
+char *day_short[5] = {"SM","BT","PD","PP","SO"};
+
+char *season_long[5] = {
+ "Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath"
+};
+
+char *season_short[5] = {"Chs", "Dsc", "Cfn", "Bcy", "Afm"};
+
+char *holyday[5][2] = {
+ { "Mungday", "Chaoflux" },
+ { "Mojoday", "Discoflux" },
+ { "Syaday", "Confuflux" },
+ { "Zaraday", "Bureflux" },
+ { "Maladay", "Afflux" }
+};
+
+struct disc_time {
+ int season; /* 0-4 */
+ int day; /* 0-72 */
+ int yday; /* 0-365 */
+ int year; /* 3066- */
+};
+
+char *excl[] = {
+ "Hail Eris!", "All Hail Discordia!", "Kallisti!", "Fnord.", "Or not.",
+ "Wibble.", "Pzat!", "P'tang!", "Frink!",
+#ifdef PRAISE_BOB
+ "Slack!", "Praise \"Bob\"!", "Or kill me.",
+#endif /* PRAISE_BOB */
+ /* randomness, from the Net and other places. Feel free to add (after
+ checking with the relevant authorities, of course). */
+ "Grudnuk demand sustenance!", "Keep the Lasagna flying!",
+ "You are what you see.",
+ "Or is it?", "This statement is false.",
+#if defined(linux) || defined (__linux__) || defined (__linux)
+ "Hail Eris, Hack Linux!",
+#endif
+ ""
+};
+
+char default_fmt[] = "%{%A, %B %d%}, %Y YOLD";
+char *default_immediate_fmt=
+#ifdef OLD_IMMEDIATE_FMT
+"Today is %{%A, the %e day of %B%} in the YOLD %Y%N%nCelebrate %H"
+#else
+default_fmt
+#endif
+;
+
+#define DY(y) (y+1166)
+
+static inline char *ending(int i) {
+ return i/10==1?"th":(i%10==1?"st":(i%10==2?"nd":(i%10==3?"rd":"th")));
+}
+
+static inline int leapp(int i) {
+ return (!(DY(i)%4))&&((DY(i)%100)||(!(DY(i)%400)));
+}
+
+/* select a random string */
+static inline char *sel(char **strings, int num) {
+ return(strings[random()%num]);
+}
+
+void print(struct disc_time,char **); /* old */
+void format(char *buf, const char* fmt, struct disc_time dt);
+/* read a fortune file */
+int load_fortunes(char *fn, char *delim, char** result);
+
+struct disc_time convert(int,int);
+struct disc_time makeday(int,int,int);
+
+int
+main (int argc, char *argv[]) {
+ long t;
+ struct tm *eris;
+ int bob,raw;
+ struct disc_time hastur;
+ char schwa[23*17], *fnord=0;
+ int pi;
+ char *progname, *p;
+
+ progname = argv[0];
+ if ((p = strrchr(progname, '/')) != NULL)
+ progname = p+1;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ srandom(time(NULL));
+ /* do args here */
+ for(pi=1; pi<argc; pi++) {
+ switch(argv[pi][0]) {
+ case '+': fnord=argv[pi]+1; break;
+ case '-':
+ switch(argv[pi][1]) {
+ case 'V':
+ printf(_("%s (%s)\n"), progname, PACKAGE_STRING);
+ default: goto usage;
+ }
+ default: goto thud;
+ }
+ }
+
+ thud:
+ if (argc-pi==3){
+ int moe=atoi(argv[pi]), larry=atoi(argv[pi+1]), curly=atoi(argv[pi+2]);
+ hastur=makeday(
+#ifdef US_FORMAT
+ moe,larry,
+#else
+ larry,moe,
+#endif
+ curly);
+ if (hastur.season == -1) {
+ printf("Invalid date -- out of range\n");
+ return -1;
+ }
+ fnord=fnord?fnord:default_fmt;
+ } else if (argc!=pi) {
+ usage:
+ fprintf(stderr,_("usage: %s [+format] [day month year]\n"), argv[0]);
+ exit(1);
+ } else {
+ t= time(NULL);
+ eris=localtime(&t);
+ bob=eris->tm_yday; /* days since Jan 1. */
+ raw=eris->tm_year; /* years since 1980 */
+ hastur=convert(bob,raw);
+ fnord=fnord?fnord:default_immediate_fmt;
+ }
+ format(schwa, fnord, hastur);
+ printf("%s\n", schwa);
+
+ return 0;
+}
+
+void format(char *buf, const char* fmt, struct disc_time dt)
+{
+ int tib_start=-1, tib_end=0;
+ int i, fmtlen=strlen(fmt);
+ char *bufptr=buf;
+
+/* fprintf(stderr, "format(%p, \"%s\", dt)\n", buf, fmt);*/
+
+ /* first, find extents of St. Tib's Day area, if defined */
+ for(i=0; i<fmtlen; i++) {
+ if(fmt[i]=='%') {
+ switch(fmt[i+1]) {
+ case 'A':
+ case 'a':
+ case 'd':
+ case 'e':
+ if(tib_start>0) tib_end=i+1;
+ else tib_start=i;
+ break;
+ case '{': tib_start=i; break;
+ case '}': tib_end=i+1; break;
+ }
+ }
+ }
+
+ /* now do the formatting */
+ buf[0]=0;
+
+ for(i=0; i<fmtlen; i++) {
+ if((i==tib_start) && (dt.day==-1)) {
+ /* handle St. Tib's Day */
+ strcpy(bufptr, _("St. Tib's Day"));
+ bufptr += strlen(bufptr);
+ i=tib_end;
+ } else {
+ if(fmt[i]=='%') {
+ char *wibble=0, snarf[23];
+ switch(fmt[++i]) {
+ case 'A': wibble=day_long[dt.yday%5]; break;
+ case 'a': wibble=day_short[dt.yday%5]; break;
+ case 'B': wibble=season_long[dt.season]; break;
+ case 'b': wibble=season_short[dt.season]; break;
+ case 'd': sprintf(snarf, "%d", dt.day+1); wibble=snarf; break;
+ case 'e': sprintf(snarf, "%d%s", dt.day+1, ending(dt.day+1));
+ wibble=snarf; break;
+ case 'H': if(dt.day==4||dt.day==49)
+ wibble=holyday[dt.season][dt.day==49]; break;
+ case 'N': if(dt.day!=4&&dt.day!=49) goto eschaton; break;
+ case 'n': *(bufptr++)='\n'; break;
+ case 't': *(bufptr++)='\t'; break;
+
+ case 'Y': sprintf(snarf, "%d", dt.year); wibble=snarf; break;
+ case '.': wibble=sel(excl, ARRAY_SIZE(excl));
+ break;
+#ifdef KILL_BOB
+ case 'X': sprintf(snarf, "%d",
+ xday_countdown(dt.yday, dt.year));
+ wibble = snarf; break;
+#endif /* KILL_BOB */
+ }
+ if(wibble) {
+/* fprintf(stderr, "wibble = (%s)\n", wibble);*/
+ strcpy(bufptr, wibble); bufptr+=strlen(wibble);
+ }
+ } else {
+ *(bufptr++) = fmt[i];
+ }
+ }
+ }
+ eschaton:
+ *(bufptr)=0;
+}
+
+struct disc_time makeday(int imonth,int iday,int iyear) /*i for input */
+{
+ struct disc_time funkychickens;
+
+ int cal[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
+ int dayspast=0;
+
+ memset(&funkychickens,0,sizeof(funkychickens));
+ /* basic range checks */
+ if (imonth < 1 || imonth > 12) {
+ funkychickens.season = -1;
+ return funkychickens;
+ }
+ if (iday < 1 || iday > cal[imonth-1]) {
+ if (!(imonth == 2 && iday == 29 && iyear%4 == 0 &&
+ (iyear%100 != 0 || iyear%400 == 0))) {
+ funkychickens.season = -1;
+ return funkychickens;
+ }
+ }
+
+ imonth--;
+ funkychickens.year= iyear+1166;
+ while(imonth>0) { dayspast+=cal[--imonth]; }
+ funkychickens.day=dayspast+iday-1;
+ funkychickens.season=0;
+ if((funkychickens.year%4)==2) {
+ if (funkychickens.day==59 && iday==29) funkychickens.day=-1;
+ }
+ funkychickens.yday=funkychickens.day;
+/* note: EQUAL SIGN...hopefully that fixes it */
+ while(funkychickens.day>=73) {
+ funkychickens.season++;
+ funkychickens.day-=73;
+ }
+ return funkychickens;
+}
+
+struct disc_time convert(int nday, int nyear)
+{ struct disc_time funkychickens;
+
+ funkychickens.year = nyear+3066;
+ funkychickens.day=nday;
+ funkychickens.season=0;
+ if ((funkychickens.year%4)==2)
+ {if (funkychickens.day==59)
+ funkychickens.day=-1;
+ else if (funkychickens.day >59)
+ funkychickens.day-=1;
+ }
+ funkychickens.yday=funkychickens.day;
+ while (funkychickens.day>=73)
+ { funkychickens.season++;
+ funkychickens.day-=73;
+ }
+ return funkychickens;
+
+ }
+
+#ifdef KILL_BOB
+
+/* Code for counting down to X-Day, X-Day being Cfn 40, 3164
+ *
+ * After `X-Day' passed without incident, the CoSG declared that it had
+ * got the year upside down --- X-Day is actually in 8661 AD rather than
+ * 1998 AD.
+ *
+ * Thus, the True X-Day is Cfn 40, 9827.
+ *
+ */
+
+int xday_countdown(int yday, int year) {
+ int r=(185-yday)+(((yday<59)&&(leapp(year)))?1:0);
+ while(year<9827) r+=(leapp(++year)?366:365);
+ while(year>9827) r-=(leapp(year--)?366:365);
+ return r;
+}
+
+#endif
diff --git a/misc-utils/findfs.8 b/misc-utils/findfs.8
new file mode 100644
index 0000000..b754903
--- /dev/null
+++ b/misc-utils/findfs.8
@@ -0,0 +1,34 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH FINDFS 8 "February 2009" "util-linux" "System Administration"
+.SH NAME
+findfs \- find a filesystem by label or UUID
+.SH SYNOPSIS
+.B findfs
+.BI LABEL= label
+.sp
+.B findfs
+.BI UUID= uuid
+.SH DESCRIPTION
+.B findfs
+will search the disks in the system looking for a filesystem which has
+a label matching
+.I label
+or a UUID equal to
+.IR uuid .
+If the filesystem is found, the device name for the filesystem will
+be printed on stdout.
+.PP
+.SH AUTHOR
+.B findfs
+was originally written by Theodore Ts'o (tytso@mit.edu) and re-written for
+the util-linux package by Karel Zak (kzak@redhat.com).
+.SH AVAILABILITY
+The findfs command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH SEE ALSO
+.BR blkid (8)
+.BR fsck (8)
+
diff --git a/misc-utils/findfs.c b/misc-utils/findfs.c
new file mode 100644
index 0000000..bc4a843
--- /dev/null
+++ b/misc-utils/findfs.c
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#include <blkid.h>
+
+#include "nls.h"
+#include "closestream.h"
+#include "c.h"
+
+static void __attribute__((__noreturn__)) usage(int rc)
+{
+ FILE *out = rc ? stderr : stdout;
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(" %1$s [options] LABEL=<label>\n"
+ " %1$s [options] UUID=<uuid>\n"),
+ program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("findfs(8)"));
+ exit(rc);
+}
+
+int main(int argc, char **argv)
+{
+ char *dev, *tk, *vl;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc != 2)
+ /* we return '2' for backward compatibility
+ * with version from e2fsprogs */
+ usage(2);
+
+ if (!strncmp(argv[1], "LABEL=", 6)) {
+ tk = "LABEL";
+ vl = argv[1] + 6;
+ } else if (!strncmp(argv[1], "UUID=", 5)) {
+ tk = "UUID";
+ vl = argv[1] + 5;
+ } else if (strcmp(argv[1], "-V") == 0 ||
+ strcmp(argv[1], "--version") == 0) {
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ } else if (strcmp(argv[1], "-h") == 0 ||
+ strcmp(argv[1], "--help") == 0) {
+ usage(EXIT_SUCCESS);
+ } else
+ usage(2);
+
+ dev = blkid_evaluate_tag(tk, vl, NULL);
+ if (!dev)
+ errx(EXIT_FAILURE, _("unable to resolve '%s'"), argv[1]);
+
+ puts(dev);
+ exit(EXIT_SUCCESS);
+}
+
diff --git a/misc-utils/findmnt.8 b/misc-utils/findmnt.8
new file mode 100644
index 0000000..2072c52
--- /dev/null
+++ b/misc-utils/findmnt.8
@@ -0,0 +1,217 @@
+.\" -*- nroff -*-
+.TH FINDMNT 8 "April 2010" "util-linux" "System Administration"
+.SH NAME
+findmnt \- find a filesystem
+.SH SYNOPSIS
+.B findmnt
+.RB [ options ]
+.sp
+.B findmnt
+.RB [ options ]
+.IR device | mountpoint
+.sp
+.B findmnt
+.RB [ options ]
+.RB [ \--source ]
+.IR device
+.RB [ \--target ]
+.IR mountpoint
+.SH DESCRIPTION
+.B findmnt
+will list all mounted filesytems or search for a filesystem. The
+.B findmnt
+command is able to search in
+.IR /etc/fstab ,
+.IR /etc/mtab
+or
+.IR /proc/self/mountinfo .
+If
+.IR device
+or
+.IR mountpoint
+is not given, all filesystems are shown.
+.PP
+The device may be specified by device name, maj:min, filesystem LABEL or UUID
+or partition PARTUUID or PARTLABEL. Note that device name may be interpreted
+as mountpoint (and vice versa) if --target or --source options are not
+specified.
+.PP
+The command prints all mounted filesystems in the tree-like format by default.
+.SH OPTIONS
+.IP "\fB\-h, \-\-help\fP"
+Print help and exit.
+.IP "\fB\-s, \-\-fstab\fP"
+Search in
+.IR /etc/fstab .
+The output is in the list format (see --list).
+.IP "\fB\-m, \-\-mtab\fP"
+Search in
+.IR /etc/mtab .
+The output is in the list format (see \fB\-\-list\fP).
+.IP "\fB\-k, \-\-kernel\fP"
+Search in
+.IR /proc/self/mountinfo .
+The output is in the tree-like format. This is the default.
+
+.IP "\fB\-A, \-\-all\fP"
+Disable all built-in filters and print all filesystems.
+.IP "\fB\-a, \-\-ascii\fP"
+Use ascii characters for tree formatting.
+.IP "\fB\-c, \-\-canonicalize\fP"
+Canonicalize all printed paths.
+.IP "\fB\-D, \-\-df\fP"
+Imitate the output of df(1). This option is equivalent to
+"-o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET", but excludes all
+pseudo filesystem. Use \fB\-\-all\fP to print all filesystems.
+.IP "\fB\-d, \-\-direction \fIword\fP"
+The search direction -
+.IR forward
+or
+.IR backward .
+.IP "\fB\-e, \-\-evaluate\fP"
+Convert all tags (LABEL, UUID, PARTUUID or PARTLABEL) to the device names.
+.IP "\fB\-F, \-\-tab\-file \fIpath\fP"
+Search in an alternative file, if used with \fB\-\-fstab\fP, \fB\-\-mtab\fP
+or \fB\-\-kernel\fP then overwrites the default paths, if specified more than
+once, then tree-like output is disabled (see the \fB\-\-list\fP option).
+.IP "\fB\-f, \-\-first\-only\fP"
+Print the first matching filesystem only.
+.IP "\fB\-i, \-\-invert\fP"
+Invert the sense of matching.
+.IP "\fB\-l, \-\-list\fP"
+Use the list output format. This output format is automatically enabled if the
+output is restricted by \fB\-t\fP, \fB\-O\fP, \fB\-S\fP or \fB\-T\fP
+option and the option \fB\-\-submounts\fP is not used or if more that one
+source file (the option \fB\-F\fP) is specified.
+.IP "\fB\-v, \-\-nofsroot\fP"
+Do not print a [/dir] in the SOURCE column for bind-mounts or btrfs subvolumes.
+.IP "\fB\-N, \-\-task \fItid\fP"
+Use alternative namespace /proc/<tid>/mountinfo rather than the default
+/proc/self/mountinfo. If the option is specified more than once, then
+tree-like output is disabled (see the \fB\-\-list\fP option). See also
+.BR unshare (1)
+command.
+.IP "\fB\-n, \-\-noheadings\fP"
+Do not print a header line.
+.IP "\fB\-u, \-\-notruncate\fP"
+Do not truncate text in columns. The default is to not truncate the
+.BR TARGET ,
+.BR SOURCE ,
+.BR UUID ,
+.BR LABEL ,
+.BR PARTUUID ,
+.BR PARTLABEL
+columns. This option disables text truncation also in all other columns.
+.IP "\fB\-O, \-\-options \fIlist\fP"
+Limit the set of printed filesystems. More than one option
+may be specified in a comma-separated list. The
+.B \-t
+and
+.B \-O
+options are cumulative in effect. It is different from
+.B \-t
+in that each option is matched exactly; a leading
+.I no
+at the beginning does not have global meaning. The "no" could used for
+individual items in the list. The "no" prefix interpratation could be disabled
+by "+" prefix.
+.IP "\fB\-o, \-\-output \fIlist\fP"
+Define output columns. See the \fB\-\-help\fP output to get list of the
+currently supported columns. The
+.BR TARGET
+column contains tree formatting if the
+.B \-\-list
+or
+.B \-\-raw
+options are not specified.
+.IP "\fB\-p, \-\-poll\fR[\fI=list\fR]\fP"
+Monitor changes in the /proc/self/mountinfo file. Supported actions are: mount,
+umount, remount and move. More than one action may be specified in a
+comma-separated list. All actions are monitored by default.
+
+The time for which \fB--poll\fR will block can be restricted with the \fB\-\-timeout\fP
+or \fB\-\-first-only\fP options.
+
+The standard columns always use the new version of the information from the
+mountinfo file, except the umount action which is based on the original
+information cached by
+.BR findmnt (8) .
+The poll mode allows to use extra columns:
+.RS
+.TP
+.B ACTION
+mount, umount, move or remount action name; this column is enabled by default
+.TP
+.B OLD-TARGET
+available for umount and move actions
+.TP
+.B OLD-OPTIONS
+available for umount and remount actions
+.RE
+.IP "\fB\-P, \-\-pairs\fP"
+Use key="value" output format. All potentially unsafe characters are hex-escaped (\\x<code>).
+.IP "\fB\-r, \-\-raw\fP"
+Use raw output format. All potentially unsafe characters are hex-escaped (\\x<code>).
+.IP "\fB\-t, \-\-types \fIlist\fP"
+Limit the set of printed filesystems. More than one type may be
+specified in a comma-separated list. The list of filesystem types can be
+prefixed with
+.I no
+to specify the filesystem types on which no action should be taken. For
+more details see
+.BR mount (8).
+.IP "\fB\-R, \-\-submounts\fP"
+Print recursively all submounts for the selected filesystems. The restrictions
+defined by options \fB\-t\fP, \fB\-O\fP, \fB\-S\fP, \fB\-T\fP and
+\fB\--direction\fP are not applied to submounts. All submounts are always
+printed in tree-like order. The option enables the tree-like output format by
+default. This option has no effect for \fB\-\-mtab\fP or \fB\-\-fstab\fP.
+.IP "\fB\-S, \-\-source \fIspec\fP"
+Explicitly define the mount source. Supported are \fIdevice\fR, \fImaj:min\fR,
+\fILABEL=\fR, \fIUUID=\fR, \fIPARTLABEL=\fR or \fIPARTUUID=\fR.
+.IP "\fB\-T, \-\-target \fIdir\fP"
+Explicitly define the mount target (mountpoint directory).
+.IP "\fB\-w, \-\-timeout \fImilliseconds\fP"
+Specify an upper limit on the time for which \fB--poll\fR will block, in milliseconds.
+.SH EXAMPLES
+.IP "\fBfindmnt \-\-fstab \-t nfs\fP"
+Prints all nfs filesystems defined in
+.IR /etc/fstab .
+.IP "\fBfindmnt \-\-fstab /mnt/foo\fP"
+Prints all
+.IR /etc/fstab
+filesystems where the mountpoint directory is /mnt/foo. It also prints bind mounts where /mnt/foo
+is a source.
+.IP "\fBfindmnt \-\-fstab --target /mnt/foo\fP"
+Prints all
+.IR /etc/fstab
+filesystems where the mountpoint directory is /mnt/foo.
+.IP "\fBfindmnt --fstab --evaluate\fP"
+Prints all
+.IR /etc/fstab
+filesystems and converts LABEL= and UUID= tags to the real device names.
+.IP "\fBfindmnt -n --raw --evaluate --output=target LABEL=/boot\fP"
+Prints only the mountpoint where the filesystem with label "/boot" is mounted.
+.IP "\fBfindmnt --poll --target /mnt/foo\fP"
+Monitors mount, umount, remount and move on /mnt/foo.
+.IP "\fBfindmnt --poll=umount --first-only --target /mnt/foo\fP"
+Waits for /mnt/foo umount.
+.IP "\fBfindmnt --poll=remount -t ext3 -O ro\fP"
+Monitors remounts to read-only mode on all ext3 filesystems.
+.SH ENVIRONMENT
+.IP LIBMOUNT_FSTAB=<path>
+overrides the default location of the fstab file
+.IP LIBMOUNT_MTAB=<path>
+overrides the default location of the mtab file
+.IP LIBMOUNT_DEBUG=0xffff
+enables debug output
+.SH AUTHORS
+.nf
+Karel Zak <kzak@redhat.com>
+.fi
+.SH SEE ALSO
+.BR mount (8),
+.BR fstab (5)
+.SH AVAILABILITY
+The findmnt command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c
new file mode 100644
index 0000000..853fae0
--- /dev/null
+++ b/misc-utils/findmnt.c
@@ -0,0 +1,1368 @@
+/*
+ * findmnt(8)
+ *
+ * Copyright (C) 2010,2011 Red Hat, Inc. All rights reserved.
+ * Written by Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <string.h>
+#include <termios.h>
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+#include <assert.h>
+#include <poll.h>
+#include <sys/statvfs.h>
+#include <sys/types.h>
+
+#include <libmount.h>
+
+#include "pathnames.h"
+#include "nls.h"
+#include "closestream.h"
+#include "c.h"
+#include "tt.h"
+#include "strutils.h"
+#include "xalloc.h"
+#include "optutils.h"
+
+/* flags */
+enum {
+ FL_EVALUATE = (1 << 1),
+ FL_CANONICALIZE = (1 << 2),
+ FL_FIRSTONLY = (1 << 3),
+ FL_INVERT = (1 << 4),
+ FL_NOSWAPMATCH = (1 << 6),
+ FL_NOFSROOT = (1 << 7),
+ FL_SUBMOUNTS = (1 << 8),
+ FL_POLL = (1 << 9),
+ FL_DF = (1 << 10),
+ FL_ALL = (1 << 11)
+};
+
+/* column IDs */
+enum {
+ COL_SOURCE,
+ COL_TARGET,
+ COL_FSTYPE,
+ COL_OPTIONS,
+ COL_VFS_OPTIONS,
+ COL_FS_OPTIONS,
+ COL_LABEL,
+ COL_UUID,
+ COL_PARTLABEL,
+ COL_PARTUUID,
+ COL_MAJMIN,
+ COL_ACTION,
+ COL_OLD_TARGET,
+ COL_OLD_OPTIONS,
+ COL_SIZE,
+ COL_AVAIL,
+ COL_USED,
+ COL_USEPERC,
+ COL_FSROOT,
+ COL_TID,
+
+ FINDMNT_NCOLUMNS
+};
+
+enum {
+ TABTYPE_FSTAB = 1,
+ TABTYPE_MTAB,
+ TABTYPE_KERNEL
+};
+
+/* column names */
+struct colinfo {
+ const char *name; /* header */
+ double whint; /* width hint (N < 1 is in percent of termwidth) */
+ int flags; /* tt flags */
+ const char *help; /* column description */
+ const char *match; /* pattern for match_func() */
+ void *match_data; /* match specific data */
+};
+
+/* columns descriptions (don't use const, this is writable) */
+static struct colinfo infos[FINDMNT_NCOLUMNS] = {
+ [COL_SOURCE] = { "SOURCE", 0.25, TT_FL_NOEXTREMES, N_("source device") },
+ [COL_TARGET] = { "TARGET", 0.30, TT_FL_TREE | TT_FL_NOEXTREMES, N_("mountpoint") },
+ [COL_FSTYPE] = { "FSTYPE", 0.10, TT_FL_TRUNC, N_("filesystem type") },
+ [COL_OPTIONS] = { "OPTIONS", 0.10, TT_FL_TRUNC, N_("all mount options") },
+ [COL_VFS_OPTIONS] = { "VFS-OPTIONS", 0.20, TT_FL_TRUNC, N_("VFS specific mount options") },
+ [COL_FS_OPTIONS] = { "FS-OPTIONS", 0.10, TT_FL_TRUNC, N_("FS specific mount options") },
+ [COL_LABEL] = { "LABEL", 0.10, 0, N_("filesystem label") },
+ [COL_UUID] = { "UUID", 36, 0, N_("filesystem UUID") },
+ [COL_PARTLABEL] = { "PARTLABEL", 0.10, 0, N_("partition label") },
+ [COL_PARTUUID] = { "PARTUUID", 36, 0, N_("partition UUID") },
+ [COL_MAJMIN] = { "MAJ:MIN", 6, 0, N_("major:minor device number") },
+ [COL_ACTION] = { "ACTION", 10, TT_FL_STRICTWIDTH, N_("action detected by --poll") },
+ [COL_OLD_OPTIONS] = { "OLD-OPTIONS", 0.10, TT_FL_TRUNC, N_("old mount options saved by --poll") },
+ [COL_OLD_TARGET] = { "OLD-TARGET", 0.30, 0, N_("old mountpoint saved by --poll") },
+ [COL_SIZE] = { "SIZE", 5, TT_FL_RIGHT, N_("filesystem size") },
+ [COL_AVAIL] = { "AVAIL", 5, TT_FL_RIGHT, N_("filesystem size available") },
+ [COL_USED] = { "USED", 5, TT_FL_RIGHT, N_("filesystem size used") },
+ [COL_USEPERC] = { "USE%", 3, TT_FL_RIGHT, N_("filesystem use percentage") },
+ [COL_FSROOT] = { "FSROOT", 0.25, TT_FL_NOEXTREMES, N_("filesystem root") },
+ [COL_TID] = { "TID", 4, TT_FL_RIGHT, N_("task ID") },
+};
+
+/* global flags */
+static int flags;
+static int tt_flags;
+
+/* array with IDs of enabled columns */
+static int columns[FINDMNT_NCOLUMNS];
+static int ncolumns;
+
+/* poll actions (parsed --poll=<list> */
+#define FINDMNT_NACTIONS 4 /* mount, umount, move, remount */
+static int actions[FINDMNT_NACTIONS];
+static int nactions;
+
+/* libmount cache */
+static struct libmnt_cache *cache;
+
+static int get_column_id(int num)
+{
+ assert(num < ncolumns);
+ assert(columns[num] < FINDMNT_NCOLUMNS);
+ return columns[num];
+}
+
+static struct colinfo *get_column_info(int num)
+{
+ return &infos[ get_column_id(num) ];
+}
+
+static const char *column_id_to_name(int id)
+{
+ assert(id < FINDMNT_NCOLUMNS);
+ return infos[id].name;
+}
+
+static const char *get_column_name(int num)
+{
+ return get_column_info(num)->name;
+}
+
+static float get_column_whint(int num)
+{
+ return get_column_info(num)->whint;
+}
+
+static int get_column_flags(int num)
+{
+ return get_column_info(num)->flags;
+}
+
+static const char *get_match(int id)
+{
+ assert(id < FINDMNT_NCOLUMNS);
+ return infos[id].match;
+}
+
+static void *get_match_data(int id)
+{
+ assert(id < FINDMNT_NCOLUMNS);
+ return infos[id].match_data;
+}
+
+static void set_match(int id, const char *match)
+{
+ assert(id < FINDMNT_NCOLUMNS);
+ infos[id].match = match;
+}
+
+static void set_match_data(int id, void *data)
+{
+ assert(id < FINDMNT_NCOLUMNS);
+ infos[id].match_data = data;
+}
+
+/*
+ * source match means COL_SOURCE *or* COL_MAJMIN, depends on
+ * data format.
+ */
+static void set_source_match(const char *data)
+{
+ int maj, min;
+
+ if (sscanf(data, "%d:%d", &maj, &min) == 2) {
+ dev_t *devno = xmalloc(sizeof(dev_t));
+
+ *devno = makedev(maj, min);
+ set_match(COL_MAJMIN, data);
+ set_match_data(COL_MAJMIN, (void *) devno);
+ flags |= FL_NOSWAPMATCH;
+ } else
+ set_match(COL_SOURCE, data);
+}
+
+static void enable_extra_target_match(void)
+{
+ char *cn = NULL, *mnt = NULL;
+
+ /*
+ * Check if match pattern is mountpoint, if not use the
+ * real mountpoint.
+ */
+ cn = mnt_resolve_path(get_match(COL_TARGET), cache);
+ if (!cn)
+ return;
+
+ mnt = mnt_get_mountpoint(cn);
+ if (!mnt || strcmp(mnt, cn) == 0)
+ return;
+
+ /* replace the current setting with the real mountpoint */
+ set_match(COL_TARGET, mnt);
+}
+
+
+static int is_tabdiff_column(int id)
+{
+ assert(id < FINDMNT_NCOLUMNS);
+
+ switch(id) {
+ case COL_ACTION:
+ case COL_OLD_TARGET:
+ case COL_OLD_OPTIONS:
+ return 1;
+ default:
+ break;
+ }
+ return 0;
+}
+
+/*
+ * "findmnt" without any filter
+ */
+static int is_listall_mode(void)
+{
+ if ((flags & FL_DF) && !(flags & FL_ALL))
+ return 0;
+
+ return (!get_match(COL_SOURCE) &&
+ !get_match(COL_TARGET) &&
+ !get_match(COL_FSTYPE) &&
+ !get_match(COL_OPTIONS) &&
+ !get_match(COL_MAJMIN));
+}
+
+/*
+ * Returns 1 if the @act is in the --poll=<list>
+ */
+static int has_poll_action(int act)
+{
+ int i;
+
+ if (!nactions)
+ return 1; /* all actions enabled */
+ for (i = 0; i < nactions; i++)
+ if (actions[i] == act)
+ return 1;
+ return 0;
+}
+
+static int poll_action_name_to_id(const char *name, size_t namesz)
+{
+ int id = -1;
+
+ if (strncasecmp(name, "move", namesz) == 0 && namesz == 4)
+ id = MNT_TABDIFF_MOVE;
+ else if (strncasecmp(name, "mount", namesz) == 0 && namesz == 5)
+ id = MNT_TABDIFF_MOUNT;
+ else if (strncasecmp(name, "umount", namesz) == 0 && namesz == 6)
+ id = MNT_TABDIFF_UMOUNT;
+ else if (strncasecmp(name, "remount", namesz) == 0 && namesz == 7)
+ id = MNT_TABDIFF_REMOUNT;
+ else
+ warnx(_("unknown action: %s"), name);
+
+ return id;
+}
+
+/*
+ * findmnt --first-only <devname|TAG=|mountpoint>
+ *
+ * ... it works like "mount <devname|TAG=|mountpoint>"
+ */
+static int is_mount_compatible_mode(void)
+{
+ if (!get_match(COL_SOURCE))
+ return 0; /* <devname|TAG=|mountpoint> is required */
+ if (get_match(COL_FSTYPE) || get_match(COL_OPTIONS))
+ return 0; /* cannot be restricted by -t or -O */
+ if (!(flags & FL_FIRSTONLY))
+ return 0; /* we have to return the first entry only */
+
+ return 1; /* ok */
+}
+
+static void disable_columns_truncate(void)
+{
+ int i;
+
+ for (i = 0; i < FINDMNT_NCOLUMNS; i++)
+ infos[i].flags &= ~TT_FL_TRUNC;
+}
+
+/*
+ * converts @name to column ID
+ */
+static int column_name_to_id(const char *name, size_t namesz)
+{
+ int i;
+
+ for (i = 0; i < FINDMNT_NCOLUMNS; i++) {
+ const char *cn = column_id_to_name(i);
+
+ if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ return i;
+ }
+ warnx(_("unknown column: %s"), name);
+ return -1;
+}
+
+/* Returns LABEL or UUID */
+static const char *get_tag(struct libmnt_fs *fs, const char *tagname)
+{
+ const char *t, *v, *res;
+
+ if (!mnt_fs_get_tag(fs, &t, &v) && !strcmp(t, tagname))
+ res = v;
+ else {
+ res = mnt_fs_get_source(fs);
+ if (res)
+ res = mnt_resolve_spec(res, cache);
+ if (res)
+ res = mnt_cache_find_tag_value(cache, res, tagname);
+ }
+
+ return res;
+}
+
+static const char *get_vfs_attr(struct libmnt_fs *fs, int sizetype)
+{
+ struct statvfs buf;
+ uint64_t vfs_attr = 0;
+ char *sizestr;
+
+ if (statvfs(mnt_fs_get_target(fs), &buf) != 0)
+ return NULL;
+
+ switch(sizetype) {
+ case COL_SIZE:
+ vfs_attr = buf.f_frsize * buf.f_blocks;
+ break;
+ case COL_AVAIL:
+ vfs_attr = buf.f_frsize * buf.f_bavail;
+ break;
+ case COL_USED:
+ vfs_attr = buf.f_frsize * (buf.f_blocks - buf.f_bfree);
+ break;
+ case COL_USEPERC:
+ if (buf.f_blocks == 0)
+ return "-";
+
+ xasprintf(&sizestr, "%.0f%%",
+ (double)(buf.f_blocks - buf.f_bfree) /
+ buf.f_blocks * 100);
+ return sizestr;
+ }
+
+ return vfs_attr == 0 ? "0" :
+ size_to_human_string(SIZE_SUFFIX_1LETTER, vfs_attr);
+}
+
+/* reads FS data from libmount
+ */
+static const char *get_data(struct libmnt_fs *fs, int num)
+{
+ const char *str = NULL;
+ int col_id = get_column_id(num);
+
+ switch (col_id) {
+ case COL_SOURCE:
+ {
+ const char *root = mnt_fs_get_root(fs);
+
+ str = mnt_fs_get_srcpath(fs);
+
+ if (str && (flags & FL_CANONICALIZE))
+ str = mnt_resolve_path(str, cache);
+ if (!str) {
+ str = mnt_fs_get_source(fs);
+
+ if (str && (flags & FL_EVALUATE))
+ str = mnt_resolve_spec(str, cache);
+ }
+ if (root && str && !(flags & FL_NOFSROOT) && strcmp(root, "/")) {
+ char *tmp;
+
+ if (xasprintf(&tmp, "%s[%s]", str, root) > 0)
+ str = tmp;
+ }
+ break;
+ }
+ case COL_TARGET:
+ str = mnt_fs_get_target(fs);
+ break;
+ case COL_FSTYPE:
+ str = mnt_fs_get_fstype(fs);
+ break;
+ case COL_OPTIONS:
+ str = mnt_fs_get_options(fs);
+ break;
+ case COL_VFS_OPTIONS:
+ str = mnt_fs_get_vfs_options(fs);
+ break;
+ case COL_FS_OPTIONS:
+ str = mnt_fs_get_fs_options(fs);
+ break;
+ case COL_UUID:
+ str = get_tag(fs, "UUID");
+ break;
+ case COL_PARTUUID:
+ str = get_tag(fs, "PARTUUID");
+ break;
+ case COL_LABEL:
+ str = get_tag(fs, "LABEL");
+ break;
+ case COL_PARTLABEL:
+ str = get_tag(fs, "PARTLABEL");
+ break;
+
+ case COL_MAJMIN:
+ {
+ dev_t devno = mnt_fs_get_devno(fs);
+ if (devno) {
+ char *tmp;
+ int rc = 0;
+ if ((tt_flags & TT_FL_RAW) || (tt_flags & TT_FL_EXPORT))
+ rc = xasprintf(&tmp, "%u:%u",
+ major(devno), minor(devno));
+ else
+ rc = xasprintf(&tmp, "%3u:%-3u",
+ major(devno), minor(devno));
+ if (rc)
+ str = tmp;
+ }
+ break;
+ }
+ case COL_SIZE:
+ case COL_AVAIL:
+ case COL_USED:
+ case COL_USEPERC:
+ str = get_vfs_attr(fs, col_id);
+ break;
+ case COL_FSROOT:
+ str = mnt_fs_get_root(fs);
+ break;
+ case COL_TID:
+ if (mnt_fs_get_tid(fs)) {
+ char *tmp;
+ if (xasprintf(&tmp, "%d", mnt_fs_get_tid(fs)) > 0)
+ str = tmp;
+ }
+ break;
+ default:
+ break;
+ }
+ return str;
+}
+
+static const char *get_tabdiff_data(struct libmnt_fs *old_fs,
+ struct libmnt_fs *new_fs,
+ int change,
+ int num)
+{
+ const char *str = NULL;
+
+ switch (get_column_id(num)) {
+ case COL_ACTION:
+ switch (change) {
+ case MNT_TABDIFF_MOUNT:
+ str = _("mount");
+ break;
+ case MNT_TABDIFF_UMOUNT:
+ str = _("umount");
+ break;
+ case MNT_TABDIFF_REMOUNT:
+ str = _("remount");
+ break;
+ case MNT_TABDIFF_MOVE:
+ str = _("move");
+ break;
+ default:
+ str = _("unknown");
+ break;
+ }
+ break;
+ case COL_OLD_OPTIONS:
+ if (old_fs && (change == MNT_TABDIFF_REMOUNT ||
+ change == MNT_TABDIFF_UMOUNT))
+ str = mnt_fs_get_options(old_fs);
+ break;
+ case COL_OLD_TARGET:
+ if (old_fs && (change == MNT_TABDIFF_MOVE ||
+ change == MNT_TABDIFF_UMOUNT))
+ str = mnt_fs_get_target(old_fs);
+ break;
+ default:
+ if (new_fs)
+ str = get_data(new_fs, num);
+ else
+ str = get_data(old_fs, num);
+ break;
+ }
+ return str;
+}
+
+/* adds one line to the output @tab */
+static struct tt_line *add_line(struct tt *tt, struct libmnt_fs *fs,
+ struct tt_line *parent)
+{
+ int i;
+ struct tt_line *line = tt_add_line(tt, parent);
+
+ if (!line) {
+ warn(_("failed to add line to output"));
+ return NULL;
+ }
+ for (i = 0; i < ncolumns; i++)
+ tt_line_set_data(line, i, get_data(fs, i));
+
+ tt_line_set_userdata(line, fs);
+ return line;
+}
+
+static struct tt_line *add_tabdiff_line(struct tt *tt, struct libmnt_fs *new_fs,
+ struct libmnt_fs *old_fs, int change)
+{
+ int i;
+ struct tt_line *line = tt_add_line(tt, NULL);
+
+ if (!line) {
+ warn(_("failed to add line to output"));
+ return NULL;
+ }
+ for (i = 0; i < ncolumns; i++)
+ tt_line_set_data(line, i,
+ get_tabdiff_data(old_fs, new_fs, change, i));
+
+ return line;
+}
+
+static int has_line(struct tt *tt, struct libmnt_fs *fs)
+{
+ struct list_head *p;
+
+ list_for_each(p, &tt->tb_lines) {
+ struct tt_line *ln = list_entry(p, struct tt_line, ln_lines);
+ if ((struct libmnt_fs *) ln->userdata == fs)
+ return 1;
+ }
+ return 0;
+}
+
+/* reads filesystems from @tb (libmount) and fillin @tt (output table) */
+static int create_treenode(struct tt *tt, struct libmnt_table *tb,
+ struct libmnt_fs *fs, struct tt_line *parent_line)
+{
+ struct libmnt_fs *chld = NULL;
+ struct libmnt_iter *itr = NULL;
+ struct tt_line *line;
+ int rc = -1;
+
+ if (!fs) {
+ /* first call, get root FS */
+ if (mnt_table_get_root_fs(tb, &fs))
+ goto leave;
+ parent_line = NULL;
+
+ } else if ((flags & FL_SUBMOUNTS) && has_line(tt, fs))
+ return 0;
+
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+ if (!itr)
+ goto leave;
+
+ line = add_line(tt, fs, parent_line);
+ if (!line)
+ goto leave;
+
+ /*
+ * add all children to the output table
+ */
+ while(mnt_table_next_child_fs(tb, itr, fs, &chld) == 0) {
+ if (create_treenode(tt, tb, chld, line))
+ goto leave;
+ }
+ rc = 0;
+leave:
+ mnt_free_iter(itr);
+ return rc;
+}
+
+/* error callback */
+static int parser_errcb(struct libmnt_table *tb __attribute__ ((__unused__)),
+ const char *filename, int line)
+{
+ warnx(_("%s: parse error at line %d"), filename, line);
+ return 0;
+}
+
+static char **append_tabfile(char **files, int *nfiles, char *filename)
+{
+ files = xrealloc(files, sizeof(char *) * (*nfiles + 1));
+ files[(*nfiles)++] = filename;
+ return files;
+}
+
+static char **append_pid_tabfile(char **files, int *nfiles, pid_t pid)
+{
+ char *path = NULL;
+
+ xasprintf(&path, "/proc/%d/mountinfo", (int) pid);
+ return append_tabfile(files, nfiles, path);
+}
+
+/* calls libmount fstab/mtab/mountinfo parser */
+static struct libmnt_table *parse_tabfiles(char **files,
+ int nfiles,
+ int tabtype)
+{
+ struct libmnt_table *tb;
+ int rc = 0;
+
+ tb = mnt_new_table();
+ if (!tb) {
+ warn(_("failed to initialize libmount table"));
+ return NULL;
+ }
+ mnt_table_set_parser_errcb(tb, parser_errcb);
+
+ do {
+ /* NULL means that libmount will use default paths */
+ const char *path = nfiles ? *files++ : NULL;
+
+ switch (tabtype) {
+ case TABTYPE_FSTAB:
+ rc = mnt_table_parse_fstab(tb, path);
+ break;
+ case TABTYPE_MTAB:
+ rc = mnt_table_parse_mtab(tb, path);
+ break;
+ case TABTYPE_KERNEL:
+ if (!path)
+ path = access(_PATH_PROC_MOUNTINFO, R_OK) == 0 ?
+ _PATH_PROC_MOUNTINFO :
+ _PATH_PROC_MOUNTS;
+
+ rc = mnt_table_parse_file(tb, path);
+ break;
+ }
+ if (rc) {
+ mnt_free_table(tb);
+ warn(_("can't read %s"), path);
+ return NULL;
+ }
+ } while (--nfiles > 0);
+
+ return tb;
+}
+
+/* checks if @tb contains parent->child relations */
+static int tab_is_tree(struct libmnt_table *tb)
+{
+ struct libmnt_fs *fs = NULL;
+ struct libmnt_iter *itr = NULL;
+ int rc = 0;
+
+ itr = mnt_new_iter(MNT_ITER_BACKWARD);
+ if (!itr)
+ return 0;
+
+ if (mnt_table_next_fs(tb, itr, &fs) == 0)
+ rc = mnt_fs_get_id(fs) > 0 && mnt_fs_get_parent_id(fs) > 0;
+
+ mnt_free_iter(itr);
+ return rc;
+}
+
+
+/* filter function for libmount (mnt_table_find_next_fs()) */
+static int match_func(struct libmnt_fs *fs,
+ void *data __attribute__ ((__unused__)))
+{
+ int rc = flags & FL_INVERT ? 1 : 0;
+ const char *m;
+ void *md;
+
+ m = get_match(COL_TARGET);
+ if (m && !mnt_fs_match_target(fs, m, cache))
+ return rc;
+
+ m = get_match(COL_SOURCE);
+ if (m && !mnt_fs_match_source(fs, m, cache))
+ return rc;
+
+ m = get_match(COL_FSTYPE);
+ if (m && !mnt_fs_match_fstype(fs, m))
+ return rc;
+
+ m = get_match(COL_OPTIONS);
+ if (m && !mnt_fs_match_options(fs, m))
+ return rc;
+
+ md = get_match_data(COL_MAJMIN);
+ if (md && mnt_fs_get_devno(fs) != *((dev_t *) md))
+ return rc;
+
+ if ((flags & FL_DF) && !(flags & FL_ALL)) {
+ const char *type = mnt_fs_get_fstype(fs);
+
+ if (type && strstr(type, "tmpfs")) /* tmpfs is wanted */
+ return !rc;
+
+ if (mnt_fs_is_pseudofs(fs))
+ return rc;
+ }
+
+ return !rc;
+}
+
+/* iterate over filesystems in @tb */
+static struct libmnt_fs *get_next_fs(struct libmnt_table *tb,
+ struct libmnt_iter *itr)
+{
+ struct libmnt_fs *fs = NULL;
+
+ if (is_listall_mode()) {
+ /*
+ * Print whole file
+ */
+ if (mnt_table_next_fs(tb, itr, &fs) != 0)
+ return NULL;
+
+ } else if (is_mount_compatible_mode()) {
+ /*
+ * Look up for FS in the same way how mount(8) searchs in fstab
+ *
+ * findmnt -f <spec>
+ */
+ fs = mnt_table_find_source(tb, get_match(COL_SOURCE),
+ mnt_iter_get_direction(itr));
+
+ if (!fs && !(flags & FL_NOSWAPMATCH))
+ fs = mnt_table_find_target(tb, get_match(COL_SOURCE),
+ mnt_iter_get_direction(itr));
+ } else {
+ /*
+ * Look up for all matching entries
+ *
+ * findmnt [-l] <source> <target> [-O <options>] [-t <types>]
+ * findmnt [-l] <spec> [-O <options>] [-t <types>]
+ */
+again:
+ mnt_table_find_next_fs(tb, itr, match_func, NULL, &fs);
+
+ if (!fs &&
+ !(flags & FL_NOSWAPMATCH) &&
+ !get_match(COL_TARGET) && get_match(COL_SOURCE)) {
+
+ /* swap 'spec' and target. */
+ set_match(COL_TARGET, get_match(COL_SOURCE));
+ set_match(COL_SOURCE, NULL);
+ mnt_reset_iter(itr, -1);
+
+ goto again;
+ }
+ }
+
+ return fs;
+}
+
+static int add_matching_lines(struct libmnt_table *tb,
+ struct tt *tt, int direction)
+{
+ struct libmnt_iter *itr = NULL;
+ struct libmnt_fs *fs;
+ int nlines = 0, rc = -1;
+
+ itr = mnt_new_iter(direction);
+ if (!itr) {
+ warn(_("failed to initialize libmount iterator"));
+ goto done;
+ }
+
+ while((fs = get_next_fs(tb, itr))) {
+ if ((tt_flags & TT_FL_TREE) || (flags & FL_SUBMOUNTS))
+ rc = create_treenode(tt, tb, fs, NULL);
+ else
+ rc = !add_line(tt, fs, NULL);
+ if (rc)
+ goto done;
+ nlines++;
+ if (flags & FL_FIRSTONLY)
+ break;
+ flags |= FL_NOSWAPMATCH;
+ }
+
+ if (nlines)
+ rc = 0;
+done:
+ mnt_free_iter(itr);
+ return rc;
+}
+
+static int poll_match(struct libmnt_fs *fs)
+{
+ int rc = match_func(fs, NULL);
+
+ if (rc == 0 && !(flags & FL_NOSWAPMATCH) &&
+ get_match(COL_SOURCE) && !get_match(COL_TARGET)) {
+ /*
+ * findmnt --poll /foo
+ * The '/foo' maybe source as well as target.
+ */
+ const char *str = get_match(COL_SOURCE);
+
+ set_match(COL_TARGET, str); /* swap */
+ set_match(COL_SOURCE, NULL);
+
+ rc = match_func(fs, NULL);
+
+ set_match(COL_TARGET, NULL); /* restore */
+ set_match(COL_SOURCE, str);
+
+ }
+ return rc;
+}
+
+static int poll_table(struct libmnt_table *tb, const char *tabfile,
+ int timeout, struct tt *tt, int direction)
+{
+ FILE *f = NULL;
+ int rc = -1;
+ struct libmnt_iter *itr = NULL;
+ struct libmnt_table *tb_new = NULL;
+ struct libmnt_tabdiff *diff = NULL;
+ struct pollfd fds[1];
+
+ tb_new = mnt_new_table();
+ if (!tb_new) {
+ warn(_("failed to initialize libmount table"));
+ goto done;
+ }
+
+ itr = mnt_new_iter(direction);
+ if (!itr) {
+ warn(_("failed to initialize libmount iterator"));
+ goto done;
+ }
+
+ diff = mnt_new_tabdiff();
+ if (!diff) {
+ warn(_("failed to initialize libmount tabdiff"));
+ goto done;
+ }
+
+ /* cache is unnecessary to detect changes */
+ mnt_table_set_cache(tb, NULL);
+ mnt_table_set_cache(tb_new, NULL);
+
+ f = fopen(tabfile, "r");
+ if (!f) {
+ warn(_("cannot open %s"), tabfile);
+ goto done;
+ }
+
+ mnt_table_set_parser_errcb(tb_new, parser_errcb);
+
+ fds[0].fd = fileno(f);
+ fds[0].events = POLLPRI;
+
+ while (1) {
+ struct libmnt_table *tmp;
+ struct libmnt_fs *old, *new;
+ int change, count;
+
+ count = poll(fds, 1, timeout);
+ if (count == 0)
+ break; /* timeout */
+ if (count < 0) {
+ warn(_("poll() failed"));
+ goto done;
+ }
+
+ rewind(f);
+ rc = mnt_table_parse_stream(tb_new, f, tabfile);
+ if (!rc)
+ rc = mnt_diff_tables(diff, tb, tb_new);
+ if (rc < 0)
+ goto done;
+
+ count = 0;
+ mnt_reset_iter(itr, direction);
+ while(mnt_tabdiff_next_change(
+ diff, itr, &old, &new, &change) == 0) {
+
+ if (!has_poll_action(change))
+ continue;
+ if (!poll_match(new ? new : old))
+ continue;
+ count++;
+ rc = !add_tabdiff_line(tt, new, old, change);
+ if (rc)
+ goto done;
+ if (flags & FL_FIRSTONLY)
+ break;
+ }
+
+ if (count) {
+ rc = tt_print_table(tt);
+ if (rc)
+ goto done;
+ }
+
+ /* swap tables */
+ tmp = tb;
+ tb = tb_new;
+ tb_new = tmp;
+
+ tt_remove_lines(tt);
+ mnt_reset_table(tb_new);
+
+ if (count && (flags & FL_FIRSTONLY))
+ break;
+ }
+
+ rc = 0;
+done:
+ mnt_free_table(tb_new);
+ mnt_free_tabdiff(diff);
+ mnt_free_iter(itr);
+ if (f)
+ fclose(f);
+ return rc;
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ int i;
+
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(
+ " %1$s [options]\n"
+ " %1$s [options] <device> | <mountpoint>\n"
+ " %1$s [options] <device> <mountpoint>\n"
+ " %1$s [options] [--source <device>] [--target <mountpoint>]\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _(
+ "\nOptions:\n"
+ " -s, --fstab search in static table of filesystems\n"
+ " -m, --mtab search in table of mounted filesystems\n"
+ " -k, --kernel search in kernel table of mounted\n"
+ " filesystems (default)\n\n"));
+
+ fprintf(out, _(
+ " -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+ " -w, --timeout <num> upper limit in milliseconds that --poll will block\n\n"));
+
+ fprintf(out, _(
+ " -A, --all disable all built-in filters, print all filesystems\n"
+ " -a, --ascii use ASCII chars for tree formatting\n"
+ " -c, --canonicalize canonicalize printed paths\n"
+ " -D, --df imitate the output of df(1)\n"
+ " -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+ " -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+ " to device names\n"
+ " -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel options\n"
+ " -f, --first-only print the first found filesystem only\n"));
+
+ fprintf(out, _(
+ " -i, --invert invert the sense of matching\n"
+ " -l, --list use list format output\n"
+ " -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo file)\n"
+ " -n, --noheadings don't print column headings\n"
+ " -u, --notruncate don't truncate text in columns\n"));
+ fprintf(out, _(
+ " -O, --options <list> limit the set of filesystems by mount options\n"
+ " -o, --output <list> the output columns to be shown\n"
+ " -P, --pairs use key=\"value\" output format\n"
+ " -r, --raw use raw output format\n"
+ " -t, --types <list> limit the set of filesystems by FS types\n"));
+ fprintf(out, _(
+ " -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+ " -R, --submounts print all submounts for the matching filesystems\n"
+ " -S, --source <string> the device to mount (by name, maj:min, \n"
+ " LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+ " -T, --target <string> the mountpoint to use\n"));
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+
+ fprintf(out, _("\nAvailable columns:\n"));
+
+ for (i = 0; i < FINDMNT_NCOLUMNS; i++)
+ fprintf(out, " %11s %s\n", infos[i].name, _(infos[i].help));
+
+ fprintf(out, USAGE_MAN_TAIL("findmnt(8)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ struct libmnt_table *tb = NULL;
+ char **tabfiles = NULL;
+ int direction = MNT_ITER_FORWARD;
+ int i, c, rc = -1, timeout = -1;
+ int ntabfiles = 0, tabtype = 0;
+ char *outarg = NULL;
+
+ struct tt *tt = NULL;
+
+ static const struct option longopts[] = {
+ { "all", 0, 0, 'A' },
+ { "ascii", 0, 0, 'a' },
+ { "canonicalize", 0, 0, 'c' },
+ { "direction", 1, 0, 'd' },
+ { "df", 0, 0, 'D' },
+ { "evaluate", 0, 0, 'e' },
+ { "first-only", 0, 0, 'f' },
+ { "fstab", 0, 0, 's' },
+ { "help", 0, 0, 'h' },
+ { "invert", 0, 0, 'i' },
+ { "kernel", 0, 0, 'k' },
+ { "list", 0, 0, 'l' },
+ { "mtab", 0, 0, 'm' },
+ { "noheadings", 0, 0, 'n' },
+ { "notruncate", 0, 0, 'u' },
+ { "options", 1, 0, 'O' },
+ { "output", 1, 0, 'o' },
+ { "poll", 2, 0, 'p' },
+ { "pairs", 0, 0, 'P' },
+ { "raw", 0, 0, 'r' },
+ { "types", 1, 0, 't' },
+ { "fsroot", 0, 0, 'v' },
+ { "submounts", 0, 0, 'R' },
+ { "source", 1, 0, 'S' },
+ { "tab-file", 1, 0, 'F' },
+ { "task", 1, 0, 'N' },
+ { "target", 1, 0, 'T' },
+ { "timeout", 1, 0, 'w' },
+ { "version", 0, 0, 'V' },
+
+ { NULL, 0, 0, 0 }
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'N','k','m','s' }, /* task,kernel,mtab,fstab */
+ { 'P','l','r' }, /* pairs,list,raw */
+ { 'm','p','s' }, /* mtab,poll,fstab */
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ assert(ARRAY_SIZE(columns) == FINDMNT_NCOLUMNS);
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ /* default output format */
+ tt_flags |= TT_FL_TREE;
+
+ while ((c = getopt_long(argc, argv,
+ "AacDd:ehifF:o:O:p::PklmnN:rst:uvRS:T:w:V",
+ longopts, NULL)) != -1) {
+
+ err_exclusive_options(c, longopts, excl, excl_st);
+
+ switch(c) {
+ case 'A':
+ flags |= FL_ALL;
+ break;
+ case 'a':
+ tt_flags |= TT_FL_ASCII;
+ break;
+ case 'c':
+ flags |= FL_CANONICALIZE;
+ break;
+ case 'D':
+ tt_flags &= ~TT_FL_TREE;
+ flags |= FL_DF;
+ break;
+ case 'd':
+ if (!strcmp(optarg, "forward"))
+ direction = MNT_ITER_FORWARD;
+ else if (!strcmp(optarg, "backward"))
+ direction = MNT_ITER_BACKWARD;
+ else
+ errx(EXIT_FAILURE,
+ _("unknown direction '%s'"), optarg);
+ break;
+ case 'e':
+ flags |= FL_EVALUATE;
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case 'i':
+ flags |= FL_INVERT;
+ break;
+ case 'f':
+ flags |= FL_FIRSTONLY;
+ break;
+ case 'F':
+ tabfiles = append_tabfile(tabfiles, &ntabfiles, optarg);
+ break;
+ case 'u':
+ disable_columns_truncate();
+ break;
+ case 'o':
+ outarg = optarg;
+ break;
+ case 'O':
+ set_match(COL_OPTIONS, optarg);
+ break;
+ case 'p':
+ if (optarg) {
+ nactions = string_to_idarray(optarg,
+ actions, ARRAY_SIZE(actions),
+ poll_action_name_to_id);
+ if (nactions < 0)
+ exit(EXIT_FAILURE);
+ }
+ flags |= FL_POLL;
+ tt_flags &= ~TT_FL_TREE;
+ break;
+ case 'P':
+ tt_flags |= TT_FL_EXPORT;
+ tt_flags &= ~TT_FL_TREE;
+ break;
+ case 'm': /* mtab */
+ tabtype = TABTYPE_MTAB;
+ tt_flags &= ~TT_FL_TREE;
+ break;
+ case 's': /* fstab */
+ tabtype = TABTYPE_FSTAB;
+ tt_flags &= ~TT_FL_TREE;
+ break;
+ case 'k': /* kernel (mountinfo) */
+ tabtype = TABTYPE_KERNEL;
+ break;
+ case 't':
+ set_match(COL_FSTYPE, optarg);
+ break;
+ case 'r':
+ tt_flags &= ~TT_FL_TREE; /* disable the default */
+ tt_flags |= TT_FL_RAW; /* enable raw */
+ break;
+ case 'l':
+ tt_flags &= ~TT_FL_TREE; /* disable the default */
+ break;
+ case 'n':
+ tt_flags |= TT_FL_NOHEADINGS;
+ break;
+ case 'N':
+ tabtype = TABTYPE_KERNEL;
+ tabfiles = append_pid_tabfile(tabfiles, &ntabfiles,
+ strtou32_or_err(optarg,
+ _("invalid TID argument")));
+ break;
+ case 'v':
+ flags |= FL_NOFSROOT;
+ break;
+ case 'R':
+ flags |= FL_SUBMOUNTS;
+ break;
+ case 'S':
+ set_source_match(optarg);
+ flags |= FL_NOSWAPMATCH;
+ break;
+ case 'T':
+ set_match(COL_TARGET, optarg);
+ flags |= FL_NOSWAPMATCH;
+ break;
+ case 'w':
+ timeout = strtos32_or_err(optarg, _("invalid timeout argument"));
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ if (!ncolumns && (flags & FL_DF)) {
+ columns[ncolumns++] = COL_SOURCE;
+ columns[ncolumns++] = COL_FSTYPE;
+ columns[ncolumns++] = COL_SIZE;
+ columns[ncolumns++] = COL_USED;
+ columns[ncolumns++] = COL_AVAIL;
+ columns[ncolumns++] = COL_USEPERC;
+ columns[ncolumns++] = COL_TARGET;
+ }
+
+ /* default columns */
+ if (!ncolumns) {
+ if (flags & FL_POLL)
+ columns[ncolumns++] = COL_ACTION;
+
+ columns[ncolumns++] = COL_TARGET;
+ columns[ncolumns++] = COL_SOURCE;
+ columns[ncolumns++] = COL_FSTYPE;
+ columns[ncolumns++] = COL_OPTIONS;
+ }
+
+ if (outarg && string_add_to_idarray(outarg, columns, ARRAY_SIZE(columns),
+ &ncolumns, column_name_to_id) < 0)
+ return EXIT_FAILURE;
+
+ if (!tabtype)
+ tabtype = TABTYPE_KERNEL;
+
+ if ((flags & FL_POLL) && ntabfiles > 1)
+ errx(EXIT_FAILURE, _("--poll accepts only one file, but more specified by --tab-file"));
+
+ if (optind < argc && (get_match(COL_SOURCE) || get_match(COL_TARGET)))
+ errx(EXIT_FAILURE, _(
+ "options --target and --source can't be used together "
+ "with command line element that is not an option"));
+
+ if (optind < argc)
+ set_source_match(argv[optind++]); /* dev/tag/mountpoint/maj:min */
+ if (optind < argc)
+ set_match(COL_TARGET, argv[optind++]); /* mountpoint */
+
+ if ((flags & FL_SUBMOUNTS) && is_listall_mode())
+ /* don't care about submounts if list all mounts */
+ flags &= ~FL_SUBMOUNTS;
+
+ if (!(flags & FL_SUBMOUNTS) &&
+ (!is_listall_mode() || (flags & FL_FIRSTONLY)))
+ tt_flags &= ~TT_FL_TREE;
+
+ if (!(flags & FL_NOSWAPMATCH) &&
+ !get_match(COL_TARGET) && get_match(COL_SOURCE)) {
+ /*
+ * Check if we can swap source and target, it's
+ * not possible if the source is LABEL=/UUID=
+ */
+ const char *x = get_match(COL_SOURCE);
+
+ if (!strncmp(x, "LABEL=", 6) || !strncmp(x, "UUID=", 5) ||
+ !strncmp(x, "PARTLABEL=", 10) || !strncmp(x, "PARTUUID=", 9))
+ flags |= FL_NOSWAPMATCH;
+ }
+
+ /*
+ * initialize libmount
+ */
+ mnt_init_debug(0);
+
+ tb = parse_tabfiles(tabfiles, ntabfiles, tabtype);
+ if (!tb)
+ goto leave;
+
+ if ((tt_flags & TT_FL_TREE) && (ntabfiles > 1 || !tab_is_tree(tb)))
+ tt_flags &= ~TT_FL_TREE;
+
+ cache = mnt_new_cache();
+ if (!cache) {
+ warn(_("failed to initialize libmount cache"));
+ goto leave;
+ }
+ mnt_table_set_cache(tb, cache);
+
+ if (tabtype == TABTYPE_KERNEL
+ && (flags & FL_NOSWAPMATCH)
+ && get_match(COL_TARGET))
+ /*
+ * enable extra functionality for target match
+ */
+ enable_extra_target_match();
+
+ /*
+ * initialize output formatting (tt.h)
+ */
+ tt = tt_new_table(tt_flags);
+ if (!tt) {
+ warn(_("failed to initialize output table"));
+ goto leave;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ int fl = get_column_flags(i);
+ int id = get_column_id(i);
+
+ if (!(tt_flags & TT_FL_TREE))
+ fl &= ~TT_FL_TREE;
+
+ if (!(flags & FL_POLL) && is_tabdiff_column(id)) {
+ warnx(_("%s column is requested, but --poll "
+ "is not enabled"), get_column_name(i));
+ goto leave;
+ }
+ if (!tt_define_column(tt, get_column_name(i),
+ get_column_whint(i), fl)) {
+ warn(_("failed to initialize output column"));
+ goto leave;
+ }
+ }
+
+ /*
+ * Fill in data to the output table
+ */
+ if (flags & FL_POLL) {
+ /* poll mode (accept the first tabfile only) */
+ rc = poll_table(tb, tabfiles ? *tabfiles : _PATH_PROC_MOUNTINFO, timeout, tt, direction);
+
+ } else if ((tt_flags & TT_FL_TREE) && is_listall_mode())
+ /* whole tree */
+ rc = create_treenode(tt, tb, NULL, NULL);
+ else
+ /* whole lits of sub-tree */
+ rc = add_matching_lines(tb, tt, direction);
+
+ /*
+ * Print the output table for non-poll modes
+ */
+ if (!rc && !(flags & FL_POLL))
+ tt_print_table(tt);
+leave:
+ tt_free_table(tt);
+
+ mnt_free_table(tb);
+ mnt_free_cache(cache);
+ free(tabfiles);
+
+ return rc ? EXIT_FAILURE : EXIT_SUCCESS;
+}
diff --git a/misc-utils/getopt-parse.bash b/misc-utils/getopt-parse.bash
new file mode 100644
index 0000000..29e7f6f
--- /dev/null
+++ b/misc-utils/getopt-parse.bash
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+# A small example program for using the new getopt(1) program.
+# This program will only work with bash(1)
+# An similar program using the tcsh(1) script language can be found
+# as parse.tcsh
+
+# Example input and output (from the bash prompt):
+# ./parse.bash -a par1 'another arg' --c-long 'wow!*\?' -cmore -b " very long "
+# Option a
+# Option c, no argument
+# Option c, argument `more'
+# Option b, argument ` very long '
+# Remaining arguments:
+# --> `par1'
+# --> `another arg'
+# --> `wow!*\?'
+
+# Note that we use `"$@"' to let each command-line parameter expand to a
+# separate word. The quotes around `$@' are essential!
+# We need TEMP as the `eval set --' would nuke the return value of getopt.
+TEMP=`getopt -o ab:c:: --long a-long,b-long:,c-long:: \
+ -n 'example.bash' -- "$@"`
+
+if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
+
+# Note the quotes around `$TEMP': they are essential!
+eval set -- "$TEMP"
+
+while true ; do
+ case "$1" in
+ -a|--a-long) echo "Option a" ; shift ;;
+ -b|--b-long) echo "Option b, argument \`$2'" ; shift 2 ;;
+ -c|--c-long)
+ # c has an optional argument. As we are in quoted mode,
+ # an empty parameter will be generated if its optional
+ # argument is not found.
+ case "$2" in
+ "") echo "Option c, no argument"; shift 2 ;;
+ *) echo "Option c, argument \`$2'" ; shift 2 ;;
+ esac ;;
+ --) shift ; break ;;
+ *) echo "Internal error!" ; exit 1 ;;
+ esac
+done
+echo "Remaining arguments:"
+for arg do echo '--> '"\`$arg'" ; done
diff --git a/misc-utils/getopt-parse.tcsh b/misc-utils/getopt-parse.tcsh
new file mode 100644
index 0000000..408c470
--- /dev/null
+++ b/misc-utils/getopt-parse.tcsh
@@ -0,0 +1,77 @@
+#!/bin/tcsh
+
+# A small example program for using the new getopt(1) program.
+# This program will only work with tcsh(1)
+# An similar program using the bash(1) script language can be found
+# as parse.bash
+
+# Example input and output (from the tcsh prompt):
+# ./parse.tcsh -a par1 'another arg' --c-long 'wow\!*\?' -cmore -b " very long "
+# Option a
+# Option c, no argument
+# Option c, argument `more'
+# Option b, argument ` very long '
+# Remaining arguments:
+# --> `par1'
+# --> `another arg'
+# --> `wow!*\?'
+
+# Note that we had to escape the exclamation mark in the wow-argument. This
+# is _not_ a problem with getopt, but with the tcsh command parsing. If you
+# would give the same line from the bash prompt (ie. call ./parse.tcsh),
+# you could remove the exclamation mark.
+
+# This is a bit tricky. We use a temp variable, to be able to check the
+# return value of getopt (eval nukes it). argv contains the command arguments
+# as a list. The ':q` copies that list without doing any substitutions:
+# each element of argv becomes a separate argument for getopt. The braces
+# are needed because the result is also a list.
+set temp=(`getopt -s tcsh -o ab:c:: --long a-long,b-long:,c-long:: -- $argv:q`)
+if ($? != 0) then
+ echo "Terminating..." >/dev/stderr
+ exit 1
+endif
+
+# Now we do the eval part. As the result is a list, we need braces. But they
+# must be quoted, because they must be evaluated when the eval is called.
+# The 'q` stops doing any silly substitutions.
+eval set argv=\($temp:q\)
+
+while (1)
+ switch($1:q)
+ case -a:
+ case --a-long:
+ echo "Option a" ; shift
+ breaksw;
+ case -b:
+ case --b-long:
+ echo "Option b, argument "\`$2:q\' ; shift ; shift
+ breaksw
+ case -c:
+ case --c-long:
+ # c has an optional argument. As we are in quoted mode,
+ # an empty parameter will be generated if its optional
+ # argument is not found.
+
+ if ($2:q == "") then
+ echo "Option c, no argument"
+ else
+ echo "Option c, argument "\`$2:q\'
+ endif
+ shift; shift
+ breaksw
+ case --:
+ shift
+ break
+ default:
+ echo "Internal error!" ; exit 1
+ endsw
+end
+
+echo "Remaining arguments:"
+# foreach el ($argv:q) created problems for some tcsh-versions (at least
+# 6.02). So we use another shift-loop here:
+while ($#argv > 0)
+ echo '--> '\`$1:q\'
+ shift
+end
diff --git a/misc-utils/getopt.1 b/misc-utils/getopt.1
new file mode 100644
index 0000000..6558e12
--- /dev/null
+++ b/misc-utils/getopt.1
@@ -0,0 +1,448 @@
+.TH GETOPT "1" "June 2012" "util-linux" "User Commands"
+.SH NAME
+getopt \- parse command options (enhanced)
+.SH SYNOPSIS
+getopt optstring parameters
+.br
+getopt [options] [\-\-] optstring parameters
+.br
+getopt [options] \-o|\-\-options optstring [options] [\-\-]
+.I parameters
+.SH DESCRIPTION
+.B getopt
+is used to break up
+.RI ( parse )
+options in command lines for easy parsing by shell procedures, and to
+check for legal options. It uses the
+.SM GNU
+.BR getopt (3)
+routines to do this.
+.PP
+The parameters
+.B getopt
+is called with can be divided into two parts: options which modify
+the way getopt will parse
+.RI ( options
+and
+.BR \-o | \-\-options
+.I optstring
+in the
+.BR SYNOPSIS ),
+and the parameters which are to be parsed
+.RI ( parameters
+in the
+.BR SYNOPSIS ).
+The second part will start at the first non\-option parameter that is
+not an option argument, or after the first occurrence of
+.RB ' \-\- '.
+If no
+.RB ' \-o '
+or
+.RB ' \-\-options '
+option is found in the first part, the first parameter of the second
+part is used as the short options string.
+.PP
+If the environment variable
+.B GETOPT_COMPATIBLE
+is set, or if its first parameter is not an option (does not start
+with a
+.RB ' \- ',
+this is the first format in the
+.BR SYNOPSIS ),
+.B getopt
+will generate output that is compatible with that of other versions of
+.BR getopt (1).
+It will still do parameter shuffling and recognize optional arguments
+(see section
+.B COMPATIBILITY
+for more information).
+.PP
+Traditional implementations of
+.BR getopt (1)
+are unable to cope with whitespace and other (shell\-specific)
+special characters in arguments and non\-option parameters. To solve
+this problem, this implementation can generate quoted output which
+must once again be interpreted by the shell (usually by using the
+.B eval
+command). This has the effect of preserving those characters, but
+you must call
+.B getopt
+in a way that is no longer compatible with other versions (the second
+or third format in the
+.BR SYNOPSIS ).
+To determine whether this enhanced version of
+.BR getopt (1)
+is installed, a special test option
+.RB ( \-T )
+can be used.
+.SH OPTIONS
+.TP
+.BR \-a , " \-\-alternative"
+Allow long options to start with a single
+.RB ' \- '.
+.TP
+.BR \-h , " \-\-help"
+Output a small usage guide and exit successfully. No other output is
+generated.
+.TP
+.BR \-l , " \-\-longoptions \fIlongopts\fP"
+The long (multi\-character) options to be recognized. More than one
+option name may be specified at once, by separating the names with
+commas. This option may be given more than once, the
+.I longopts
+are cumulative. Each long option name in
+.I longopts
+may be followed by one colon to indicate it has a required argument,
+and by two colons to indicate it has an optional argument.
+.TP
+.BR \-n , " \-\-name \fIprogname\fP"
+The name that will be used by the
+.BR getopt (3)
+routines when it reports errors. Note that errors of
+.BR getopt (1)
+are still reported as coming from getopt.
+.TP
+.BR \-o , " \-\-options \fIshortopts\fP"
+The short (one\-character) options to be recognized. If this option
+is not found, the first parameter of
+.B getopt
+that does not start with a
+.RB ' \- '
+(and is not an option argument) is used as the short options string.
+Each short option character in
+.I shortopts
+may be followed by one colon to indicate it has a required argument,
+and by two colons to indicate it has an optional argument. The first
+character of shortopts may be
+.RB ' + '
+or
+.RB ' \- '
+to influence the way options are parsed and output is generated (see
+section
+.B SCANNING MODES
+for details).
+.TP
+.BR \-q , " \-\-quiet"
+Disable error reporting by getopt(3).
+.TP
+.BR \-Q , " \-\-quiet\-output"
+Do not generate normal output. Errors are still reported by
+.BR getopt (3),
+unless you also use
+.IR \-q .
+.TP
+.BR \-s , " \-\-shell \fIshell\fP"
+Set quoting conventions to those of shell. If no \-s argument is
+found, the
+.SM BASH
+conventions are used. Valid arguments are currently
+.RB ' sh '
+.RB ' bash ',
+.RB ' csh ',
+and
+.RB ' tcsh '.
+.TP
+.BR \-u , " \-\-unquoted"
+Do not quote the output. Note that whitespace and special
+(shell\-dependent) characters can cause havoc in this mode (like they
+do with other
+.BR getopt (1)
+implementations).
+.TP
+.BR \-T , " \-\-test"
+Test if your
+.BR getopt (1)
+is this enhanced version or an old version. This generates no
+output, and sets the error status to 4. Other implementations of
+.BR getopt (1),
+and this version if the environment variable
+.B GETOPT_COMPATIBLE
+is set, will return
+.RB ' \-\- '
+and error status 0.
+.TP
+.BR \-V , " \-\-version"
+Output version information and exit successfully. No other output is
+generated.
+.SH PARSING
+This section specifies the format of the second part of the
+parameters of
+.B getopt
+(the
+.I parameters
+in the
+.BR SYNOPSIS ).
+The next section
+.RB ( OUTPUT )
+describes the output that is generated. These parameters were
+typically the parameters a shell function was called with. Care must
+be taken that each parameter the shell function was called with
+corresponds to exactly one parameter in the parameter list of
+.B getopt
+(see the
+.BR EXAMPLES ).
+All parsing is done by the GNU
+.BR getopt (3)
+routines.
+.PP
+The parameters are parsed from left to right. Each parameter is
+classified as a short option, a long option, an argument to an
+option, or a non\-option parameter.
+.PP
+A simple short option is a
+.RB ' \- '
+followed by a short option character. If the option has a required
+argument, it may be written directly after the option character or as
+the next parameter (ie. separated by whitespace on the command
+line). If the option has an optional argument, it must be written
+directly after the option character if present.
+.PP
+It is possible to specify several short options after one
+.RB ' \- ',
+as long as all (except possibly the last) do not have required or
+optional arguments.
+.PP
+A long option normally begins with
+.RB ' \-\- '
+followed by the long option name. If the option has a required
+argument, it may be written directly after the long option name,
+separated by
+.RB ' = ',
+or as the next argument (i.e. separated by whitespace on the command
+line). If the option has an optional argument, it must be written
+directly after the long option name, separated by
+.RB ' = ',
+if present (if you add the
+.RB ' = '
+but nothing behind it, it is interpreted as if no argument was
+present; this is a slight bug, see the
+.BR BUGS ).
+Long options may be abbreviated, as long as the abbreviation is not
+ambiguous.
+.PP
+Each parameter not starting with a
+.RB ' \- ',
+and not a required argument of a previous option, is a non\-option
+parameter. Each parameter after a
+.RB ' \-\- '
+parameter is always interpreted as a non\-option parameter. If the
+environment variable
+.B POSIXLY_CORRECT
+is set, or if the short option string started with a
+.RB ' + ',
+all remaining parameters are interpreted as non\-option parameters as
+soon as the first non\-option parameter is found.
+.SH OUTPUT
+Output is generated for each element described in the previous
+section. Output is done in the same order as the elements are
+specified in the input, except for non\-option parameters. Output
+can be done in
+.I compatible
+.RI ( unquoted )
+mode, or in such way that whitespace and other special characters
+within arguments and non\-option parameters are preserved (see
+.BR QUOTING ).
+When the output is processed in the shell script, it will seem to be
+composed of distinct elements that can be processed one by one (by
+using the shift command in most shell languages). This is imperfect
+in unquoted mode, as elements can be split at unexpected places if
+they contain whitespace or special characters.
+.PP
+If there are problems parsing the parameters, for example because a
+required argument is not found or an option is not recognized, an
+error will be reported on stderr, there will be no output for the
+offending element, and a non\-zero error status is returned.
+.PP
+For a short option, a single
+.RB ' \- '
+and the option character are generated as one parameter. If the
+option has an argument, the next parameter will be the argument. If
+the option takes an optional argument, but none was found, the next
+parameter will be generated but be empty in quoting mode, but no
+second parameter will be generated in unquoted (compatible) mode.
+Note that many other
+.BR getopt (1)
+implementations do not support optional arguments.
+.PP
+If several short options were specified after a single
+.RB ' \- ',
+each will be present in the output as a separate parameter.
+.PP
+For a long option,
+.RB ' \-\- '
+and the full option name are generated as one parameter. This is
+done regardless whether the option was abbreviated or specified with
+a single
+.RB ' \- '
+in the input. Arguments are handled as with short options.
+.PP
+Normally, no non\-option parameters output is generated until all
+options and their arguments have been generated. Then
+.RB ' \-\- '
+is generated as a single parameter, and after it the non\-option
+parameters in the order they were found, each as a separate
+parameter. Only if the first character of the short options string
+was a
+.RB ' \- ',
+non\-option parameter output is generated at the place they are found
+in the input (this is not supported if the first format of the
+.B SYNOPSIS
+is used; in that case all preceding occurrences of
+.RB ' \- '
+and
+.RB ' + '
+are ignored).
+.SH QUOTING
+In compatible mode, whitespace or 'special' characters in arguments
+or non\-option parameters are not handled correctly. As the output
+is fed to the shell script, the script does not know how it is
+supposed to break the output into separate parameters. To circumvent
+this problem, this implementation offers quoting. The idea is that
+output is generated with quotes around each parameter. When this
+output is once again fed to the shell (usually by a shell
+.B eval
+command), it is split correctly into separate parameters.
+.PP
+Quoting is not enabled if the environment variable
+.B GETOPT_COMPATIBLE
+is set, if the first form of the
+.B SYNOPSIS
+is used, or if the option
+.RB ' \-u '
+is found.
+.PP
+Different shells use different quoting conventions. You can use the
+.RB ' \-s '
+option to select the shell you are using. The following shells are
+currently supported:
+.RB ' sh ',
+.RB ' bash ',
+.RB ' csh '
+and
+.RB ' tcsh '.
+Actually, only two 'flavors' are distinguished: sh\-like quoting
+conventions and csh\-like quoting conventions. Chances are that if
+you use another shell script language, one of these flavors can still
+be used.
+.SH "SCANNING MODES"
+The first character of the short options string may be a
+.RB ' \- '
+or a
+.RB ' + '
+to indicate a special scanning mode. If the first calling form in
+the
+.B SYNOPSIS
+is used they are ignored; the environment variable
+.B POSIXLY_CORRECT
+is still examined, though.
+.PP
+If the first character is
+.RB ' + ',
+or if the environment variable
+.B POSIXLY_CORRECT
+is set, parsing stops as soon as the first non\-option parameter (ie.
+a parameter that does not start with a
+.RB ' \- ')
+is found that is not an option argument. The remaining parameters
+are all interpreted as non\-option parameters.
+.PP
+If the first character is a
+.RB ' \- ',
+non\-option parameters are outputted at the place where they are
+found; in normal operation, they are all collected at the end of
+output after a
+.RB ' \-\- '
+parameter has been generated. Note that this
+.RB ' \-\- '
+parameter is still generated, but it will always be the last
+parameter in this mode.
+.SH COMPATIBILITY
+This version of
+.BR getopt (1)
+is written to be as compatible as possible to other versions.
+Usually you can just replace them with this version without any
+modifications, and with some advantages.
+.PP
+If the first character of the first parameter of getopt is not a
+.RB ' \- ',
+getopt goes into compatibility mode. It will interpret its first
+parameter as the string of short options, and all other arguments
+will be parsed. It will still do parameter shuffling (ie. all
+non\-option parameters are outputted at the end), unless the
+environment variable
+.B POSIXLY_CORRECT
+is set.
+.PP
+The environment variable
+.B GETOPT_COMPATIBLE
+forces
+.B getopt
+into compatibility mode. Setting both this environment variable and
+.B POSIXLY_CORRECT
+offers 100% compatibility for 'difficult' programs. Usually, though,
+neither is needed.
+.PP
+In compatibility mode, leading
+.RB ' \- '
+and
+.RB ' + '
+characters in the short options string are ignored.
+.SH RETURN CODES
+.B getopt
+returns error code
+.B 0
+for successful parsing,
+.B 1
+if
+.BR getopt (3)
+returns errors,
+.B 2
+if it does not understand its own parameters,
+.B 3
+if an internal error occurs like out\-of\-memory, and
+.B 4
+if it is called with
+.BR \-T .
+.SH EXAMPLES
+Example scripts for (ba)sh and (t)csh are provided with the
+.BR getopt (1)
+distribution, and are optionally installed in
+.BR /usr/share/getopt/ .
+.SH ENVIRONMENT
+.IP POSIXLY_CORRECT
+This environment variable is examined by the
+.BR getopt (3)
+routines. If it is set, parsing stops as soon as a parameter is
+found that is not an option or an option argument. All remaining
+parameters are also interpreted as non\-option parameters, regardless
+whether they start with a
+.RB ' \- '.
+.IP GETOPT_COMPATIBLE
+Forces
+.B getopt
+to use the first calling format as specified in the
+.BR SYNOPSIS .
+.SH BUGS
+.BR getopt (3)
+can parse long options with optional arguments that are given an
+empty optional argument (but can not do this for short options).
+This
+.BR getopt (1)
+treats optional arguments that are empty as if they were not present.
+.PP
+The syntax if you do not want any short option variables at all is
+not very intuitive (you have to set them explicitly to the empty
+string).
+.SH AUTHOR
+.MT frodo@frodo.looijaard.name
+Frodo Looijaard
+.ME
+.SH "SEE ALSO"
+.BR getopt (3),
+.BR bash (1),
+.BR tcsh (1).
+.SH AVAILABILITY
+The getopt command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/misc-utils/getopt.c b/misc-utils/getopt.c
new file mode 100644
index 0000000..0efe5d8
--- /dev/null
+++ b/misc-utils/getopt.c
@@ -0,0 +1,458 @@
+/*
+ * getopt.c - Enhanced implementation of BSD getopt(1)
+ * Copyright (c) 1997-2005 Frodo Looijaard <frodo@frodo.looijaard.name>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/*
+ * Version 1.0-b4: Tue Sep 23 1997. First public release.
+ * Version 1.0: Wed Nov 19 1997.
+ * Bumped up the version number to 1.0
+ * Fixed minor typo (CSH instead of TCSH)
+ * Version 1.0.1: Tue Jun 3 1998
+ * Fixed sizeof instead of strlen bug
+ * Bumped up the version number to 1.0.1
+ * Version 1.0.2: Thu Jun 11 1998 (not present)
+ * Fixed gcc-2.8.1 warnings
+ * Fixed --version/-V option (not present)
+ * Version 1.0.5: Tue Jun 22 1999
+ * Make -u option work (not present)
+ * Version 1.0.6: Tue Jun 27 2000
+ * No important changes
+ * Version 1.1.0: Tue Jun 30 2000
+ * Added NLS support (partly written by Arkadiusz Mi<B6>kiewicz
+ * <misiek@pld.org.pl>)
+ * Version 1.1.4: Mon Nov 7 2005
+ * Fixed a few type's in the manpage
+ */
+
+/* Exit codes:
+ * 0) No errors, successful operation.
+ * 1) getopt(3) returned an error.
+ * 2) A problem with parameter parsing for getopt(1).
+ * 3) Internal error, out of memory
+ * 4) Returned for -T
+ */
+#define GETOPT_EXIT_CODE 1
+#define PARAMETER_EXIT_CODE 2
+#define XALLOC_EXIT_CODE 3
+#define TEST_EXIT_CODE 4
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <getopt.h>
+
+#include "closestream.h"
+#include "nls.h"
+#include "xalloc.h"
+
+/* NON_OPT is the code that is returned when a non-option is found in '+'
+ * mode */
+#define NON_OPT 1
+/* LONG_OPT is the code that is returned when a long option is found. */
+#define LONG_OPT 2
+
+/* The shells recognized. */
+typedef enum { BASH, TCSH } shell_t;
+
+
+/* Some global variables that tells us how to parse. */
+static shell_t shell = BASH; /* The shell we generate output for. */
+static int quiet_errors = 0; /* 0 is not quiet. */
+static int quiet_output = 0; /* 0 is not quiet. */
+static int quote = 1; /* 1 is do quote. */
+
+/* Allow changing which getopt is in use with function pointer */
+int (*getopt_long_fp) (int argc, char *const *argv, const char *optstr,
+ const struct option * longopts, int *longindex);
+
+/* Function prototypes */
+static const char *normalize(const char *arg);
+static int generate_output(char *argv[], int argc, const char *optstr,
+ const struct option *longopts);
+static void parse_error(const char *message);
+static void add_long_options(char *options);
+static void add_longopt(const char *name, int has_arg);
+static void print_help(void);
+static void set_shell(const char *new_shell);
+
+/*
+ * This function 'normalizes' a single argument: it puts single quotes
+ * around it and escapes other special characters. If quote is false, it
+ * just returns its argument.
+ *
+ * Bash only needs special treatment for single quotes; tcsh also recognizes
+ * exclamation marks within single quotes, and nukes whitespace. This
+ * function returns a pointer to a buffer that is overwritten by each call.
+ */
+static const char *normalize(const char *arg)
+{
+ static char *BUFFER = NULL;
+ const char *argptr = arg;
+ char *bufptr;
+
+ if (!quote) {
+ /* Just copy arg */
+ BUFFER = xmalloc(strlen(arg) + 1);
+ strcpy(BUFFER, arg);
+ return BUFFER;
+ }
+
+ /*
+ * Each character in arg may take up to four characters in the
+ * result: For a quote we need a closing quote, a backslash, a quote
+ * and an opening quote! We need also the global opening and closing
+ * quote, and one extra character for '\0'.
+ */
+ BUFFER = xmalloc(strlen(arg) * 4 + 3);
+
+ bufptr = BUFFER;
+ *bufptr++ = '\'';
+
+ while (*argptr) {
+ if (*argptr == '\'') {
+ /* Quote: replace it with: '\'' */
+ *bufptr++ = '\'';
+ *bufptr++ = '\\';
+ *bufptr++ = '\'';
+ *bufptr++ = '\'';
+ } else if (shell == TCSH && *argptr == '!') {
+ /* Exclamation mark: replace it with: \! */
+ *bufptr++ = '\'';
+ *bufptr++ = '\\';
+ *bufptr++ = '!';
+ *bufptr++ = '\'';
+ } else if (shell == TCSH && *argptr == '\n') {
+ /* Newline: replace it with: \n */
+ *bufptr++ = '\\';
+ *bufptr++ = 'n';
+ } else if (shell == TCSH && isspace(*argptr)) {
+ /* Non-newline whitespace: replace it with \<ws> */
+ *bufptr++ = '\'';
+ *bufptr++ = '\\';
+ *bufptr++ = *argptr;
+ *bufptr++ = '\'';
+ } else
+ /* Just copy */
+ *bufptr++ = *argptr;
+ argptr++;
+ }
+ *bufptr++ = '\'';
+ *bufptr++ = '\0';
+ return BUFFER;
+}
+
+/*
+ * Generate the output. argv[0] is the program name (used for reporting errors).
+ * argv[1..] contains the options to be parsed. argc must be the number of
+ * elements in argv (ie. 1 if there are no options, only the program name),
+ * optstr must contain the short options, and longopts the long options.
+ * Other settings are found in global variables.
+ */
+static int generate_output(char *argv[], int argc, const char *optstr,
+ const struct option *longopts)
+{
+ int exit_code = EXIT_SUCCESS; /* Assume everything will be OK */
+ int opt;
+ int longindex;
+ const char *charptr;
+
+ if (quiet_errors)
+ /* No error reporting from getopt(3) */
+ opterr = 0;
+ /* Reset getopt(3) */
+ optind = 0;
+
+ while ((opt =
+ (getopt_long_fp(argc, argv, optstr, longopts, &longindex)))
+ != EOF)
+ if (opt == '?' || opt == ':')
+ exit_code = GETOPT_EXIT_CODE;
+ else if (!quiet_output) {
+ if (opt == LONG_OPT) {
+ printf(" --%s", longopts[longindex].name);
+ if (longopts[longindex].has_arg)
+ printf(" %s", normalize(optarg ? optarg : ""));
+ } else if (opt == NON_OPT)
+ printf(" %s", normalize(optarg));
+ else {
+ printf(" -%c", opt);
+ charptr = strchr(optstr, opt);
+ if (charptr != NULL && *++charptr == ':')
+ printf(" %s", normalize(optarg ? optarg : ""));
+ }
+ }
+
+ if (!quiet_output) {
+ printf(" --");
+ while (optind < argc)
+ printf(" %s", normalize(argv[optind++]));
+ printf("\n");
+ }
+ return exit_code;
+}
+
+/*
+ * Report an error when parsing getopt's own arguments. If message is NULL,
+ * we already sent a message, we just exit with a helpful hint.
+ */
+static void __attribute__ ((__noreturn__)) parse_error(const char *message)
+{
+ if (message)
+ warnx("%s", message);
+ fprintf(stderr, _("Try `%s --help' for more information.\n"),
+ program_invocation_short_name);
+ exit(PARAMETER_EXIT_CODE);
+}
+
+static struct option *long_options = NULL;
+static int long_options_length = 0; /* Length of array */
+static int long_options_nr = 0; /* Nr of used elements in array */
+#define LONG_OPTIONS_INCR 10
+#define init_longopt() add_longopt(NULL,0)
+
+/* Register a long option. The contents of name is copied. */
+static void add_longopt(const char *name, int has_arg)
+{
+ char *tmp;
+ if (!name) {
+ /* init */
+ free(long_options);
+ long_options = NULL;
+ long_options_length = 0;
+ long_options_nr = 0;
+ }
+
+ if (long_options_nr == long_options_length) {
+ long_options_length += LONG_OPTIONS_INCR;
+ long_options = xrealloc(long_options,
+ sizeof(struct option) *
+ long_options_length);
+ }
+
+ long_options[long_options_nr].name = NULL;
+ long_options[long_options_nr].has_arg = 0;
+ long_options[long_options_nr].flag = NULL;
+ long_options[long_options_nr].val = 0;
+
+ if (long_options_nr) {
+ /* Not for init! */
+ long_options[long_options_nr - 1].has_arg = has_arg;
+ long_options[long_options_nr - 1].flag = NULL;
+ long_options[long_options_nr - 1].val = LONG_OPT;
+ tmp = xmalloc(strlen(name) + 1);
+ strcpy(tmp, name);
+ long_options[long_options_nr - 1].name = tmp;
+ }
+ long_options_nr++;
+}
+
+
+/*
+ * Register several long options. options is a string of long options,
+ * separated by commas or whitespace. This nukes options!
+ */
+static void add_long_options(char *options)
+{
+ int arg_opt;
+ char *tokptr = strtok(options, ", \t\n");
+ while (tokptr) {
+ arg_opt = no_argument;
+ if (strlen(tokptr) > 0) {
+ if (tokptr[strlen(tokptr) - 1] == ':') {
+ if (tokptr[strlen(tokptr) - 2] == ':') {
+ tokptr[strlen(tokptr) - 2] = '\0';
+ arg_opt = optional_argument;
+ } else {
+ tokptr[strlen(tokptr) - 1] = '\0';
+ arg_opt = required_argument;
+ }
+ if (strlen(tokptr) == 0)
+ parse_error(_
+ ("empty long option after "
+ "-l or --long argument"));
+ }
+ add_longopt(tokptr, arg_opt);
+ }
+ tokptr = strtok(NULL, ", \t\n");
+ }
+}
+
+static void set_shell(const char *new_shell)
+{
+ if (!strcmp(new_shell, "bash"))
+ shell = BASH;
+ else if (!strcmp(new_shell, "tcsh"))
+ shell = TCSH;
+ else if (!strcmp(new_shell, "sh"))
+ shell = BASH;
+ else if (!strcmp(new_shell, "csh"))
+ shell = TCSH;
+ else
+ parse_error(_
+ ("unknown shell after -s or --shell argument"));
+}
+
+static void __attribute__ ((__noreturn__)) print_help(void)
+{
+ fputs(_("\nUsage:\n"), stderr);
+
+ fprintf(stderr, _(
+ " %1$s optstring parameters\n"
+ " %1$s [options] [--] optstring parameters\n"
+ " %1$s [options] -o|--options optstring [options] [--] parameters\n"),
+ program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), stderr);
+ fputs(_(" -a, --alternative Allow long options starting with single -\n"), stderr);
+ fputs(_(" -h, --help This small usage guide\n"), stderr);
+ fputs(_(" -l, --longoptions <longopts> Long options to be recognized\n"), stderr);
+ fputs(_(" -n, --name <progname> The name under which errors are reported\n"), stderr);
+ fputs(_(" -o, --options <optstring> Short options to be recognized\n"), stderr);
+ fputs(_(" -q, --quiet Disable error reporting by getopt(3)\n"), stderr);
+ fputs(_(" -Q, --quiet-output No normal output\n"), stderr);
+ fputs(_(" -s, --shell <shell> Set shell quoting conventions\n"), stderr);
+ fputs(_(" -T, --test Test for getopt(1) version\n"), stderr);
+ fputs(_(" -u, --unquote Do not quote the output\n"), stderr);
+ fputs(_(" -V, --version Output version information\n"), stderr);
+ fputc('\n', stderr);
+
+ exit(PARAMETER_EXIT_CODE);
+}
+
+int main(int argc, char *argv[])
+{
+ char *optstr = NULL;
+ char *name = NULL;
+ int opt;
+ int compatible = 0;
+
+ /* Stop scanning as soon as a non-option argument is found! */
+ static const char *shortopts = "+ao:l:n:qQs:TuhV";
+ static const struct option longopts[] = {
+ {"options", required_argument, NULL, 'o'},
+ {"longoptions", required_argument, NULL, 'l'},
+ {"quiet", no_argument, NULL, 'q'},
+ {"quiet-output", no_argument, NULL, 'Q'},
+ {"shell", required_argument, NULL, 's'},
+ {"test", no_argument, NULL, 'T'},
+ {"unquoted", no_argument, NULL, 'u'},
+ {"help", no_argument, NULL, 'h'},
+ {"alternative", no_argument, NULL, 'a'},
+ {"name", required_argument, NULL, 'n'},
+ {"version", no_argument, NULL, 'V'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ init_longopt();
+ getopt_long_fp = getopt_long;
+
+ if (getenv("GETOPT_COMPATIBLE"))
+ compatible = 1;
+
+ if (argc == 1) {
+ if (compatible) {
+ /*
+ * For some reason, the original getopt gave no
+ * error when there were no arguments.
+ */
+ printf(" --\n");
+ return EXIT_SUCCESS;
+ } else
+ parse_error(_("missing optstring argument"));
+ }
+
+ if (argv[1][0] != '-' || compatible) {
+ quote = 0;
+ optstr = xmalloc(strlen(argv[1]) + 1);
+ strcpy(optstr, argv[1] + strspn(argv[1], "-+"));
+ argv[1] = argv[0];
+ return generate_output(argv + 1, argc - 1, optstr,
+ long_options);
+ }
+
+ while ((opt =
+ getopt_long(argc, argv, shortopts, longopts, NULL)) != EOF)
+ switch (opt) {
+ case 'a':
+ getopt_long_fp = getopt_long_only;
+ break;
+ case 'h':
+ print_help();
+ case 'o':
+ free(optstr);
+ optstr = xmalloc(strlen(optarg) + 1);
+ strcpy(optstr, optarg);
+ break;
+ case 'l':
+ add_long_options(optarg);
+ break;
+ case 'n':
+ free(name);
+ name = xmalloc(strlen(optarg) + 1);
+ strcpy(name, optarg);
+ break;
+ case 'q':
+ quiet_errors = 1;
+ break;
+ case 'Q':
+ quiet_output = 1;
+ break;
+ case 's':
+ set_shell(optarg);
+ break;
+ case 'T':
+ return TEST_EXIT_CODE;
+ case 'u':
+ quote = 0;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case '?':
+ case ':':
+ parse_error(NULL);
+ default:
+ parse_error(_("internal error, contact the author."));
+ }
+
+ if (!optstr) {
+ if (optind >= argc)
+ parse_error(_("missing optstring argument"));
+ else {
+ optstr = xmalloc(strlen(argv[optind]) + 1);
+ strcpy(optstr, argv[optind]);
+ optind++;
+ }
+ }
+ if (name)
+ argv[optind - 1] = name;
+ else
+ argv[optind - 1] = argv[0];
+
+ return generate_output(argv + optind - 1, argc-optind + 1,
+ optstr, long_options);
+}
diff --git a/misc-utils/kill.1 b/misc-utils/kill.1
new file mode 100644
index 0000000..09d30e9
--- /dev/null
+++ b/misc-utils/kill.1
@@ -0,0 +1,111 @@
+.\" Copyright 1994 Salvatore Valente (svalente@mit.edu)
+.\" Copyright 1992 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH KILL 1 "February 2011" "util-linux" "User Commands"
+.SH NAME
+kill \- terminate a process
+.SH SYNOPSIS
+.B kill
+.RB [ \-s
+.IR signal | \fB\-p\fP ]
+.RB [ \-q
+.IR sigval ]
+.RB [ \-a ]
+.RB [ \-\- ]
+.IR pid ...
+.br
+.B kill -l
+.RI [ signal ]
+.SH DESCRIPTION
+The command
+.B kill
+sends the specified signal to the specified process or process group.
+If no signal is specified, the TERM signal is sent. The TERM signal
+will kill processes which do not catch this signal. For other processes,
+it may be necessary to use the KILL (9) signal, since this signal cannot
+be caught.
+.PP
+Most modern shells have a builtin kill function, with a usage rather similar
+to that of the command described here. The `-a' and `-p' options,
+and the possibility to specify processes by command name are a local extension.
+.PP
+If sig is 0, then no signal is sent, but error checking is still performed.
+.SH OPTIONS
+.TP
+.IR pid ...
+Specify the list of processes that
+.B kill
+should signal. Each
+.I pid
+can be one of five things:
+
+.RS
+.TP
+.I n
+where
+.I n
+is larger than 0. The process with pid
+.I n
+will be signaled.
+.TP
+.B 0
+All processes in the current process group are signaled.
+.TP
+.B -1
+All processes with pid larger than 1 will be signaled.
+.TP
+.BI - n
+where
+.I n
+is larger than 1.
+All processes in process group
+.I n
+are signaled. When an argument of the form `-n' is given,
+and it is meant to denote a process group,
+either the signal must be specified first, or the argument must be preceded
+by a `--' option, otherwise it will be taken as the signal to send.
+.TP
+.I commandname
+All processes invoked using that name will be signaled.
+.RE
+.TP
+.BI \-s " signal"
+Specify the signal to send.
+The signal may be given as a signal name or number.
+.TP
+.B \-l
+Print a list of signal names. These are found in
+.I /usr/include/linux/signal.h
+.TP
+.B \-a
+Do not restrict the commandname-to-pid conversion to processes
+with the same uid as the present process.
+.TP
+.B \-p
+Specify that
+.B kill
+should only print the process id (pid)
+of the named processes, and not send any signals.
+.TP
+.BI \-q " sigval"
+Use
+.BR sigqueue (2)
+rather than
+.BR kill (2)
+and the sigval argument is used to specify an integer to be sent with the
+signal. If the receiving process has installed a handler for this signal using
+the SA_SIGINFO flag to
+.BR sigaction (2),
+then it can obtain this data via the si_value field of the siginfo_t structure.
+.SH "SEE ALSO"
+.BR bash (1),
+.BR tcsh (1),
+.BR kill (2),
+.BR sigvec (2),
+.BR signal (7)
+.SH AUTHOR
+Taken from BSD 4.4. The ability to translate process names to process
+ids was added by Salvatore Valente <svalente@mit.edu>.
+.SH AVAILABILITY
+The kill command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/kill.c b/misc-utils/kill.c
new file mode 100644
index 0000000..6abfd24
--- /dev/null
+++ b/misc-utils/kill.c
@@ -0,0 +1,439 @@
+/*
+ * Copyright (c) 1988, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * oct 5 1994 -- almost entirely re-written to allow for process names.
+ * modifications (c) salvatore valente <svalente@mit.edu>
+ * may be used / modified / distributed under the same terms as the original.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 1999-11-13 aeb Accept signal numers 128+s.
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h> /* for isdigit() */
+#include <unistd.h>
+#include <signal.h>
+
+#include "c.h"
+#include "kill.h"
+#include "nls.h"
+#include "closestream.h"
+#include "strutils.h"
+
+struct signv {
+ char *name;
+ int val;
+} sys_signame[] = {
+ /* POSIX signals */
+ { "HUP", SIGHUP }, /* 1 */
+ { "INT", SIGINT }, /* 2 */
+ { "QUIT", SIGQUIT }, /* 3 */
+ { "ILL", SIGILL }, /* 4 */
+ { "ABRT", SIGABRT }, /* 6 */
+ { "FPE", SIGFPE }, /* 8 */
+ { "KILL", SIGKILL }, /* 9 */
+ { "SEGV", SIGSEGV }, /* 11 */
+ { "PIPE", SIGPIPE }, /* 13 */
+ { "ALRM", SIGALRM }, /* 14 */
+ { "TERM", SIGTERM }, /* 15 */
+ { "USR1", SIGUSR1 }, /* 10 (arm,i386,m68k,ppc), 30 (alpha,sparc*), 16 (mips) */
+ { "USR2", SIGUSR2 }, /* 12 (arm,i386,m68k,ppc), 31 (alpha,sparc*), 17 (mips) */
+ { "CHLD", SIGCHLD }, /* 17 (arm,i386,m68k,ppc), 20 (alpha,sparc*), 18 (mips) */
+ { "CONT", SIGCONT }, /* 18 (arm,i386,m68k,ppc), 19 (alpha,sparc*), 25 (mips) */
+ { "STOP", SIGSTOP }, /* 19 (arm,i386,m68k,ppc), 17 (alpha,sparc*), 23 (mips) */
+ { "TSTP", SIGTSTP }, /* 20 (arm,i386,m68k,ppc), 18 (alpha,sparc*), 24 (mips) */
+ { "TTIN", SIGTTIN }, /* 21 (arm,i386,m68k,ppc,alpha,sparc*), 26 (mips) */
+ { "TTOU", SIGTTOU }, /* 22 (arm,i386,m68k,ppc,alpha,sparc*), 27 (mips) */
+ /* Miscellaneous other signals */
+#ifdef SIGTRAP
+ { "TRAP", SIGTRAP }, /* 5 */
+#endif
+#ifdef SIGIOT
+ { "IOT", SIGIOT }, /* 6, same as SIGABRT */
+#endif
+#ifdef SIGEMT
+ { "EMT", SIGEMT }, /* 7 (mips,alpha,sparc*) */
+#endif
+#ifdef SIGBUS
+ { "BUS", SIGBUS }, /* 7 (arm,i386,m68k,ppc), 10 (mips,alpha,sparc*) */
+#endif
+#ifdef SIGSYS
+ { "SYS", SIGSYS }, /* 12 (mips,alpha,sparc*) */
+#endif
+#ifdef SIGSTKFLT
+ { "STKFLT", SIGSTKFLT }, /* 16 (arm,i386,m68k,ppc) */
+#endif
+#ifdef SIGURG
+ { "URG", SIGURG }, /* 23 (arm,i386,m68k,ppc), 16 (alpha,sparc*), 21 (mips) */
+#endif
+#ifdef SIGIO
+ { "IO", SIGIO }, /* 29 (arm,i386,m68k,ppc), 23 (alpha,sparc*), 22 (mips) */
+#endif
+#ifdef SIGPOLL
+ { "POLL", SIGPOLL }, /* same as SIGIO */
+#endif
+#ifdef SIGCLD
+ { "CLD", SIGCLD }, /* same as SIGCHLD (mips) */
+#endif
+#ifdef SIGXCPU
+ { "XCPU", SIGXCPU }, /* 24 (arm,i386,m68k,ppc,alpha,sparc*), 30 (mips) */
+#endif
+#ifdef SIGXFSZ
+ { "XFSZ", SIGXFSZ }, /* 25 (arm,i386,m68k,ppc,alpha,sparc*), 31 (mips) */
+#endif
+#ifdef SIGVTALRM
+ { "VTALRM", SIGVTALRM }, /* 26 (arm,i386,m68k,ppc,alpha,sparc*), 28 (mips) */
+#endif
+#ifdef SIGPROF
+ { "PROF", SIGPROF }, /* 27 (arm,i386,m68k,ppc,alpha,sparc*), 29 (mips) */
+#endif
+#ifdef SIGPWR
+ { "PWR", SIGPWR }, /* 30 (arm,i386,m68k,ppc), 29 (alpha,sparc*), 19 (mips) */
+#endif
+#ifdef SIGINFO
+ { "INFO", SIGINFO }, /* 29 (alpha) */
+#endif
+#ifdef SIGLOST
+ { "LOST", SIGLOST }, /* 29 (arm,i386,m68k,ppc,sparc*) */
+#endif
+#ifdef SIGWINCH
+ { "WINCH", SIGWINCH }, /* 28 (arm,i386,m68k,ppc,alpha,sparc*), 20 (mips) */
+#endif
+#ifdef SIGUNUSED
+ { "UNUSED", SIGUNUSED }, /* 31 (arm,i386,m68k,ppc) */
+#endif
+};
+
+extern char *mybasename(char *);
+
+static int arg_to_signum (char *arg, int mask);
+static void nosig (char *name);
+static void printsig (int sig);
+static void printsignals (FILE *fp);
+static int usage (int status);
+static int kill_verbose (char *procname, int pid, int sig);
+
+static char *progname;
+
+#ifdef HAVE_SIGQUEUE
+static int use_sigval;
+static union sigval sigdata;
+#endif
+
+int main (int argc, char *argv[])
+{
+ int errors, numsig, pid;
+ char *ep, *arg, *p;
+ int do_pid, do_kill, check_all;
+ int *pids, *ip;
+
+ progname = argv[0];
+ if ((p = strrchr(progname, '/')) != NULL)
+ progname = p+1;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ numsig = SIGTERM;
+ do_pid = (! strcmp (progname, "pid")); /* Yecch */
+ do_kill = 0;
+ check_all = 0;
+
+ /* loop through the arguments.
+ actually, -a is the only option can be used with other options.
+ `kill' is basically a one-option-at-most program. */
+ for (argc--, argv++; argc > 0; argc--, argv++) {
+ arg = *argv;
+ if (*arg != '-') {
+ break;
+ }
+ if (! strcmp (arg, "--")) {
+ argc--, argv++;
+ break;
+ }
+ if (! strcmp (arg, "-v") || ! strcmp (arg, "-V") ||
+ ! strcmp (arg, "--version")) {
+ printf(_("%s from %s\n"), progname, PACKAGE_STRING);
+ return 0;
+ }
+ if (! strcmp (arg, "-a")) {
+ check_all++;
+ continue;
+ }
+ if (! strcmp (arg, "-l")) {
+ if (argc < 2) {
+ printsignals (stdout);
+ return 0;
+ }
+ if (argc > 2) {
+ return usage (1);
+ }
+ /* argc == 2, accept "kill -l $?" */
+ arg = argv[1];
+ if ((numsig = arg_to_signum (arg, 1)) < 0) {
+ fprintf (stderr, _("%s: unknown signal %s\n"), progname, arg);
+ return 1;
+ }
+ printsig (numsig);
+ return 0;
+ }
+ if (! strcmp (arg, "-p")) {
+ do_pid++;
+ if (do_kill)
+ return usage (1);
+ continue;
+ }
+ if (! strcmp (arg, "-s")) {
+ if (argc < 2) {
+ return usage (1);
+ }
+ do_kill++;
+ if (do_pid)
+ return usage (1);
+ argc--, argv++;
+ arg = *argv;
+ if ((numsig = arg_to_signum (arg, 0)) < 0) {
+ nosig (arg);
+ return 1;
+ }
+ continue;
+ }
+ if (! strcmp (arg, "-q")) {
+ if (argc < 2)
+ return usage (1);
+ argc--, argv++;
+ arg = *argv;
+#ifdef HAVE_SIGQUEUE
+ sigdata.sival_int = strtos32_or_err(arg, _("invalid sigval argument"));
+ use_sigval = 1;
+#endif
+ continue;
+ }
+ /* `arg' begins with a dash but is not a known option.
+ so it's probably something like -HUP, or -1/-n
+ try to deal with it.
+ -n could be signal n, or pid -n (i.e. process group n).
+ In case of doubt POSIX tells us to assume a signal.
+ If a signal has been parsed, assume it's a pid, break */
+ if (do_kill)
+ break;
+ arg++;
+ if ((numsig = arg_to_signum (arg, 0)) < 0) {
+ return usage (1);
+ }
+ do_kill++;
+ if (do_pid)
+ return usage (1);
+ continue;
+ }
+
+ if (! *argv) {
+ return usage (1);
+ }
+ if (do_pid) {
+ numsig = -1;
+ }
+
+ /* we're done with the options.
+ the rest of the arguments should be process ids and names.
+ kill them. */
+ for (errors = 0; (arg = *argv) != NULL; argv++) {
+ pid = strtol (arg, &ep, 10);
+ if (! *ep)
+ errors += kill_verbose (arg, pid, numsig);
+ else {
+ pids = get_pids (arg, check_all);
+ if (! pids) {
+ errors++;
+ fprintf (stderr, _("%s: can't find process \"%s\"\n"),
+ progname, arg);
+ continue;
+ }
+ for (ip = pids; *ip >= 0; ip++)
+ errors += kill_verbose (arg, *ip, numsig);
+ free (pids);
+ }
+ }
+ return (errors);
+}
+
+#ifdef SIGRTMIN
+static int rtsig_to_signum(char *sig)
+{
+ int num, maxi = 0;
+ char *ep = NULL;
+
+ if (strncasecmp(sig, "min+", 4) == 0)
+ sig += 4;
+ else if (strncasecmp(sig, "max-", 4) == 0) {
+ sig += 4;
+ maxi = 1;
+ }
+
+ if (!isdigit(*sig))
+ return -1;
+
+ errno = 0;
+ num = strtol(sig, &ep, 10);
+ if (!ep || sig == ep || errno || num < 0)
+ return -1;
+
+ num = maxi ? SIGRTMAX - num : SIGRTMIN + num;
+
+ if (num < SIGRTMIN || num > SIGRTMAX)
+ return -1;
+
+ return num;
+}
+#endif
+
+static int signame_to_signum (char *sig)
+{
+ size_t n;
+
+ if (! strncasecmp (sig, "sig", 3))
+ sig += 3;
+
+#ifdef SIGRTMIN
+ /* RT signals */
+ if (!strncasecmp(sig, "rt", 2))
+ return rtsig_to_signum(sig + 2);
+#endif
+ /* Normal sugnals */
+ for (n = 0; n < ARRAY_SIZE(sys_signame); n++) {
+ if (! strcasecmp (sys_signame[n].name, sig))
+ return sys_signame[n].val;
+ }
+ return (-1);
+}
+
+static int arg_to_signum (char *arg, int maskbit)
+{
+ int numsig;
+ char *ep;
+
+ if (isdigit (*arg)) {
+ numsig = strtol (arg, &ep, 10);
+ if (numsig >= NSIG && maskbit && (numsig & 128) != 0)
+ numsig -= 128;
+ if (*ep != 0 || numsig < 0 || numsig >= NSIG)
+ return (-1);
+ return (numsig);
+ }
+ return signame_to_signum (arg);
+}
+
+static void nosig (char *name)
+{
+ fprintf (stderr, _("%s: unknown signal %s; valid signals:\n"), progname, name);
+ printsignals (stderr);
+}
+
+static void printsig (int sig)
+{
+ size_t n;
+
+ for (n = 0; n < ARRAY_SIZE(sys_signame); n++) {
+ if (sys_signame[n].val == sig) {
+ printf ("%s\n", sys_signame[n].name);
+ return;
+ }
+ }
+#ifdef SIGRTMIN
+ if (sig >= SIGRTMIN && sig <= SIGRTMAX) {
+ printf ("RT%d\n", sig - SIGRTMIN);
+ return;
+ }
+#endif
+ printf("%d\n", sig);
+}
+
+static void printsignals (FILE *fp)
+{
+ size_t n, lth, lpos = 0;
+
+ for (n = 0; n < ARRAY_SIZE(sys_signame); n++) {
+ lth = 1+strlen(sys_signame[n].name);
+ if (lpos+lth > 72) {
+ fputc ('\n', fp);
+ lpos = 0;
+ } else if (lpos)
+ fputc (' ', fp);
+ lpos += lth;
+ fputs (sys_signame[n].name, fp);
+ }
+#ifdef SIGRTMIN
+ fputs (" RT<N> RTMIN+<N> RTMAX-<N>", fp);
+#endif
+ fputc ('\n', fp);
+}
+
+static int usage (int status)
+{
+ FILE *fp;
+
+ fp = (status == 0 ? stdout : stderr);
+ fprintf (fp, _("usage: %s [ -s signal | -p ] [ -a ] pid ...\n"), progname);
+ fprintf (fp, _(" %s -l [ signal ]\n"), progname);
+ return status;
+}
+
+static int kill_verbose (char *procname, int pid, int sig)
+{
+ int rc;
+
+ if (sig < 0) {
+ printf ("%d\n", pid);
+ return 0;
+ }
+#ifdef HAVE_SIGQUEUE
+ if (use_sigval)
+ rc = sigqueue(pid, sig, sigdata);
+ else
+#endif
+ rc = kill (pid, sig);
+
+ if (rc < 0) {
+ fprintf (stderr, "%s ", progname);
+ perror (procname);
+ return 1;
+ }
+ return 0;
+}
diff --git a/misc-utils/kill.h b/misc-utils/kill.h
new file mode 100644
index 0000000..27a12a8
--- /dev/null
+++ b/misc-utils/kill.h
@@ -0,0 +1 @@
+extern int *get_pids (char *process_name, int get_all);
diff --git a/misc-utils/logger.1 b/misc-utils/logger.1
new file mode 100644
index 0000000..d863ac3
--- /dev/null
+++ b/misc-utils/logger.1
@@ -0,0 +1,155 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)logger.1 8.1 (Berkeley) 6/6/93
+.\"
+.\" Section on valid facility and level strings added by
+.\" and1000@debian.org, 26 Oct 1997.
+.TH LOGGER "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+logger \- a shell command interface to the syslog(3) system log module
+.SH SYNOPSIS
+.B logger
+[options] [message]
+.SH DESCRIPTION
+.B logger
+makes entries in the system log. It provides a shell command
+interface to the
+.BR syslog (3)
+system log module.
+.SH OPTIONS
+.TP
+\fB\-d\fR, \fB\-\-udp\fR
+Use datagram (UDP) instead of the default stream connection (TCP).
+.TP
+\fB\-i\fR, \fB\-\-id\fR
+Log the process ID of the logger process with each line.
+.TP
+\fB\-f\fR, \fB\-\-file\fR \fIfile\fR
+Log the contents of the specified
+.IR file .
+This option cannot be combined with a command-line message.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display a help text and exit.
+.TP
+\fB\-n\fR, \fB\-\-server\fR \fIserver\fR
+Write to the specified remote syslog
+.I server
+using UDP instead of to the builtin syslog routines.
+.TP
+\fB\-P\fR, \fB\-\-port\fR \fIport\fR
+Use the specified UDP
+.IR port .
+The default port number is 514.
+.TP
+\fB\-p\fR, \fB\-\-priority\fR \fIpriority\fR
+Enter the message into the log with the specified
+.IR priority .
+The priority may be specified numerically or as a
+.I facility.level
+pair.
+For example,
+.B -p
+.I local3.info
+logs the message as informational in the local3 facility.
+The default is
+.IR user.notice .
+.TP
+\fB\-s\fR, \fB\-\-stderr\fR
+Output the message to standard error as well as to the system log.
+.TP
+\fB\-t\fR, \fB\-\-tag\fR \fItag\fR
+Mark every line to be logged with the specified
+.IR tag .
+.TP
+\fB\-u\fR, \fB\-\-socket\fR \fIsocket\fR
+Write to the specified
+.I socket
+instead of to the builtin syslog routines.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display version information and exit.
+.TP
+\fB\-\-\fR
+End the argument list. This is to allow the
+.I message
+to start with a hyphen (\-).
+.TP
+.I message
+Write the message to log; if not specified, and the
+.I \-f
+flag is not provided, standard input is logged.
+.PP
+The
+.B logger
+utility exits 0 on success, and >0 if an error occurs.
+.PP
+Valid facility names are:
+.IR auth , \ authpriv
+(for security information of a sensitive nature),
+.IR cron , \ daemon , \ ftp , \ kern
+(can't be generated from user process),
+.IR lpr , \ mail , \ news , \ security
+(deprecated synonym for
+.IR auth ), \ syslog , \ user , \ uucp ,
+and
+.IR local0 \ to \ local7 ,
+inclusive.
+.PP
+Valid level names are:
+.IR alert , \ crit , \ debug , \ emerg , \ err , \ error
+(deprecated synonym for
+.IR err ), \ info , \ notice , \ panic
+(deprecated synonym for
+.IR emerg ), \ warning , \ warn
+(deprecated synonym for
+.IR warning ).
+For the priority order and intended purposes of these levels, see
+.BR syslog (3).
+.SH EXAMPLES
+logger System rebooted
+.br
+logger \-p local0.notice \-t HOSTIDM \-f /dev/idmc
+.br
+logger \-n loghost.example.com System rebooted
+.SH SEE ALSO
+.BR syslog (3),
+.BR syslogd (8)
+.SH STANDARDS
+The
+.B logger
+command is expected to be IEEE Std 1003.2 ("POSIX.2") compatible.
+.SH AVAILABILITY
+The logger command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/misc-utils/logger.c b/misc-utils/logger.c
new file mode 100644
index 0000000..6f9edc2
--- /dev/null
+++ b/misc-utils/logger.c
@@ -0,0 +1,338 @@
+/*
+ * Copyright (c) 1983, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ * - fixed strerr(errno) in gettext calls
+ */
+
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <time.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+#include <getopt.h>
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "strutils.h"
+
+#define SYSLOG_NAMES
+#include <syslog.h>
+
+static int optd = 0;
+static uint16_t udpport = 514;
+
+static int decode(char *name, CODE *codetab)
+{
+ register CODE *c;
+
+ if (isdigit(*name))
+ return (atoi(name));
+
+ for (c = codetab; c->c_name; c++)
+ if (!strcasecmp(name, c->c_name))
+ return (c->c_val);
+
+ return -1;
+}
+
+static int pencode(char *s)
+{
+ char *save;
+ int fac, lev;
+
+ for (save = s; *s && *s != '.'; ++s);
+ if (*s) {
+ *s = '\0';
+ fac = decode(save, facilitynames);
+ if (fac < 0)
+ errx(EXIT_FAILURE, _("unknown facility name: %s."), save);
+ *s++ = '.';
+ }
+ else {
+ fac = LOG_USER;
+ s = save;
+ }
+ lev = decode(s, prioritynames);
+ if (lev < 0)
+ errx(EXIT_FAILURE, _("unknown priority name: %s."), save);
+ return ((lev & LOG_PRIMASK) | (fac & LOG_FACMASK));
+}
+
+static int
+myopenlog(const char *sock) {
+ int fd;
+ static struct sockaddr_un s_addr; /* AF_UNIX address of local logger */
+
+ if (strlen(sock) >= sizeof(s_addr.sun_path))
+ errx(EXIT_FAILURE, _("openlog %s: pathname too long"), sock);
+
+ s_addr.sun_family = AF_UNIX;
+ (void)strcpy(s_addr.sun_path, sock);
+
+ if ((fd = socket(AF_UNIX, optd ? SOCK_DGRAM : SOCK_STREAM, 0)) == -1)
+ err(EXIT_FAILURE, _("socket %s"), sock);
+
+ if (connect(fd, (struct sockaddr *) &s_addr, sizeof(s_addr)) == -1)
+ err(EXIT_FAILURE, _("connect %s"), sock);
+
+ return fd;
+}
+
+static int
+udpopenlog(const char *servername, uint16_t port) {
+ int fd;
+ struct sockaddr_in s_addr;
+ struct hostent *serverhost;
+
+ if ((serverhost = gethostbyname(servername)) == NULL )
+ errx(EXIT_FAILURE, _("unable to resolve '%s'"), servername);
+
+ if ((fd = socket(AF_INET, SOCK_DGRAM , 0)) == -1)
+ err(EXIT_FAILURE, _("socket"));
+
+ memcpy(&s_addr.sin_addr, serverhost->h_addr, serverhost->h_length);
+ s_addr.sin_family=AF_INET;
+ s_addr.sin_port=htons(port);
+
+ if (connect(fd, (struct sockaddr *) &s_addr, sizeof(s_addr)) == -1)
+ err(EXIT_FAILURE, _("connect"));
+
+ return fd;
+}
+static void
+mysyslog(int fd, int logflags, int pri, char *tag, char *msg) {
+ char buf[1000], pid[30], *cp, *tp;
+ time_t now;
+
+ if (fd > -1) {
+ if (logflags & LOG_PID)
+ snprintf (pid, sizeof(pid), "[%d]", getpid());
+ else
+ pid[0] = 0;
+ if (tag)
+ cp = tag;
+ else {
+ cp = getlogin();
+ if (!cp)
+ cp = "<someone>";
+ }
+ (void)time(&now);
+ tp = ctime(&now)+4;
+
+ snprintf(buf, sizeof(buf), "<%d>%.15s %.200s%s: %.400s",
+ pri, tp, cp, pid, msg);
+
+ if (write(fd, buf, strlen(buf)+1) < 0)
+ return; /* error */
+ }
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE *out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] [message]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -d, --udp use UDP (TCP is default)\n"
+ " -i, --id log the process ID too\n"
+ " -f, --file <file> log the contents of this file\n"
+ " -h, --help display this help text and exit\n"), out);
+ fputs(_(" -n, --server <name> write to this remote syslog server\n"
+ " -P, --port <number> use this UDP port\n"
+ " -p, --priority <prio> mark given message with this priority\n"
+ " -s, --stderr output message to standard error as well\n"), out);
+ fputs(_(" -t, --tag <tag> mark every line with this tag\n"
+ " -u, --socket <socket> write to this Unix socket\n"
+ " -V, --version output version information and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+/*
+ * logger -- read and log utility
+ *
+ * Reads from an input and arranges to write the result on the system
+ * log.
+ */
+int
+main(int argc, char **argv) {
+ int ch, logflags, pri;
+ char *tag, buf[1024];
+ char *usock = NULL;
+ char *udpserver = NULL;
+ int LogSock = -1;
+
+ static const struct option longopts[] = {
+ { "id", no_argument, 0, 'i' },
+ { "stderr", no_argument, 0, 's' },
+ { "file", required_argument, 0, 'f' },
+ { "priority", required_argument, 0, 'p' },
+ { "tag", required_argument, 0, 't' },
+ { "socket", required_argument, 0, 'u' },
+ { "udp", no_argument, 0, 'd' },
+ { "server", required_argument, 0, 'n' },
+ { "port", required_argument, 0, 'P' },
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'h' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ tag = NULL;
+ pri = LOG_NOTICE;
+ logflags = 0;
+ while ((ch = getopt_long(argc, argv, "f:ip:st:u:dn:P:Vh",
+ longopts, NULL)) != -1) {
+ switch((char)ch) {
+ case 'f': /* file to log */
+ if (freopen(optarg, "r", stdin) == NULL)
+ err(EXIT_FAILURE, _("file %s"),
+ optarg);
+ break;
+ case 'i': /* log process id also */
+ logflags |= LOG_PID;
+ break;
+ case 'p': /* priority */
+ pri = pencode(optarg);
+ break;
+ case 's': /* log to standard error */
+ logflags |= LOG_PERROR;
+ break;
+ case 't': /* tag */
+ tag = optarg;
+ break;
+ case 'u': /* unix socket */
+ usock = optarg;
+ break;
+ case 'd':
+ optd = 1; /* use datagrams */
+ break;
+ case 'n': /* udp socket */
+ optd = 1; /* use datagrams because udp */
+ udpserver = optarg;
+ break;
+ case 'P': /* change udp port */
+ udpport = strtou16_or_err(optarg,
+ _("invalid port number argument"));
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ case 'h':
+ usage(stdout);
+ case '?':
+ default:
+ usage(stderr);
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+ /* setup for logging */
+ if (!usock && !udpserver)
+ openlog(tag ? tag : getlogin(), logflags, 0);
+ else if (udpserver)
+ LogSock = udpopenlog(udpserver,udpport);
+ else
+ LogSock = myopenlog(usock);
+
+ /* log input line if appropriate */
+ if (argc > 0) {
+ register char *p, *endp;
+ size_t len;
+
+ for (p = buf, endp = buf + sizeof(buf) - 2; *argv;) {
+ len = strlen(*argv);
+ if (p + len > endp && p > buf) {
+ if (!usock && !udpserver)
+ syslog(pri, "%s", buf);
+ else
+ mysyslog(LogSock, logflags, pri, tag, buf);
+ p = buf;
+ }
+ if (len > sizeof(buf) - 1) {
+ if (!usock && !udpserver)
+ syslog(pri, "%s", *argv++);
+ else
+ mysyslog(LogSock, logflags, pri, tag, *argv++);
+ } else {
+ if (p != buf)
+ *p++ = ' ';
+ memmove(p, *argv++, len);
+ *(p += len) = '\0';
+ }
+ }
+ if (p != buf) {
+ if (!usock && !udpserver)
+ syslog(pri, "%s", buf);
+ else
+ mysyslog(LogSock, logflags, pri, tag, buf);
+ }
+ } else {
+ while (fgets(buf, sizeof(buf), stdin) != NULL) {
+ /* glibc is buggy and adds an additional newline,
+ so we have to remove it here until glibc is fixed */
+ int len = strlen(buf);
+
+ if (len > 0 && buf[len - 1] == '\n')
+ buf[len - 1] = '\0';
+
+ if (!usock && !udpserver)
+ syslog(pri, "%s", buf);
+ else
+ mysyslog(LogSock, logflags, pri, tag, buf);
+ }
+ }
+ if (!usock && !udpserver)
+ closelog();
+ else
+ close(LogSock);
+
+ return EXIT_SUCCESS;
+}
diff --git a/misc-utils/look.1 b/misc-utils/look.1
new file mode 100644
index 0000000..fe8d8fd
--- /dev/null
+++ b/misc-utils/look.1
@@ -0,0 +1,116 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)look.1 8.1 (Berkeley) 6/14/93
+.\"
+.TH LOOK 1 "June 2011" "util-linux" "User Commands"
+.SH NAME
+look \- display lines beginning with a given string
+.SH SYNOPSIS
+.B look
+.RI [ options ] " string " [ file ]
+.SH DESCRIPTION
+The
+.B look
+utility displays any lines in
+.I file
+which contain
+.IR string .
+As
+.B look
+performs a binary search, the lines in
+.I file
+must be sorted (where sort(1) got the same options
+.BR "\-d " and/or " \-f " that
+.B look
+is invoked with).
+.PP
+If
+.I file
+is not specified, the file
+.I /usr/share/dict/words
+is used, only alphanumeric characters are compared and the case of
+alphabetic characters is ignored.
+.SH OPTIONS
+.TP
+.BR \-a , " \-\-alternative"
+Use the alternative dictionary file.
+.TP
+.BR \-d , " \-\-alphanum"
+Use normal dictionary character set and order, i.e. only alphanumeric characters
+are compared. (This is on by default if no file is specified.)
+.TP
+.BR \-f , " \-\-ignore\-case"
+Ignore the case of alphabetic characters. (This is on by default if no file is
+specified.)
+.TP
+.BR \-t , " \-\-terminate " \fIcharacter\fR
+Specify a string termination character, i.e. only the characters
+in \fIstring\fR up to and including the first occurrence of \fIcharacter\fR
+are compared.
+.TP
+.BR \-h , " \-\-help"
+Display help text and exit.
+.TP
+.BR \-V , " \-\-version"
+Output version information and exit.
+.PP
+The
+.B look
+utility exits 0 if one or more lines were found and displayed, 1 if
+no lines were found, and >1 if an error occurred.
+.SH EXAMPLE
+.RS
+.nf
+sort -d /etc/passwd -o /tmp/look.dict
+look -t: root:foobar /tmp/look.dict
+.nf
+.RE
+.SH FILES
+.IX Header "FILES"
+.IP "\fB/usr/share/dict/words\fR" 4
+the dictionary
+.IP "\fB/usr/share/dict/web2\fR" 4
+the alternative dictionary
+.SH "SEE ALSO"
+.BR grep (1),
+.BR sort (1)
+.SH COMPATIBILITY
+The original manual page stated that tabs and blank characters participated
+in comparisons when the alphanum option was specified. This was incorrect,
+and the current man page matches the historic implementation.
+.SH HISTORY
+The
+.B look
+utility appeared in Version 7 AT&T Unix.
+.SH AVAILABILITY
+The look command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/look.c b/misc-utils/look.c
new file mode 100644
index 0000000..351d007
--- /dev/null
+++ b/misc-utils/look.c
@@ -0,0 +1,381 @@
+/*-
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * David Hitz of Auspex Systems, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+/*
+ * look -- find lines in a sorted list.
+ *
+ * The man page said that TABs and SPACEs participate in -d comparisons.
+ * In fact, they were ignored. This implements historic practice, not
+ * the manual page.
+ */
+
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <string.h>
+#include <ctype.h>
+#include <getopt.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "pathnames.h"
+#include "closestream.h"
+
+#define EQUAL 0
+#define GREATER 1
+#define LESS (-1)
+
+int dflag, fflag;
+/* uglified the source a bit with globals, so that we only need
+ to allocate comparbuf once */
+int stringlen;
+char *string;
+char *comparbuf;
+
+static char *binary_search (char *, char *);
+static int compare (char *, char *);
+static char *linear_search (char *, char *);
+static int look (char *, char *);
+static void print_from (char *, char *);
+static void __attribute__ ((__noreturn__)) usage(FILE * out);
+
+int
+main(int argc, char *argv[])
+{
+ struct stat sb;
+ int ch, fd, termchar;
+ char *back, *file, *front, *p;
+
+ static const struct option longopts[] = {
+ {"alternative", no_argument, NULL, 'a'},
+ {"alphanum", no_argument, NULL, 'd'},
+ {"ignore-case", no_argument, NULL, 'f'},
+ {"terminate", required_argument, NULL, 't'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ setlocale(LC_ALL, "");
+
+ file = _PATH_WORDS;
+ termchar = '\0';
+ string = NULL; /* just for gcc */
+
+ while ((ch = getopt_long(argc, argv, "adft:Vh", longopts, NULL)) != -1)
+ switch(ch) {
+ case 'a':
+ file = _PATH_WORDS_ALT;
+ break;
+ case 'd':
+ dflag = 1;
+ break;
+ case 'f':
+ fflag = 1;
+ break;
+ case 't':
+ termchar = *optarg;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ case '?':
+ default:
+ usage(stderr);
+ }
+ argc -= optind;
+ argv += optind;
+
+ switch (argc) {
+ case 2: /* Don't set -df for user. */
+ string = *argv++;
+ file = *argv;
+ break;
+ case 1: /* But set -df by default. */
+ dflag = fflag = 1;
+ string = *argv;
+ break;
+ default:
+ usage(stderr);
+ }
+
+ if (termchar != '\0' && (p = strchr(string, termchar)) != NULL)
+ *++p = '\0';
+
+ if ((fd = open(file, O_RDONLY, 0)) < 0 || fstat(fd, &sb))
+ err(EXIT_FAILURE, "%s", file);
+ front = mmap(NULL, (size_t) sb.st_size, PROT_READ,
+#ifdef MAP_FILE
+ MAP_FILE |
+#endif
+ MAP_SHARED, fd, (off_t) 0);
+ if
+#ifdef MAP_FAILED
+ (front == MAP_FAILED)
+#else
+ ((void *)(front) <= (void *)0)
+#endif
+ err(EXIT_FAILURE, "%s", file);
+
+#if 0
+ /* workaround for mmap problem (rmiller@duskglow.com) */
+ if (front == (void *)0)
+ return 1;
+#endif
+
+ back = front + sb.st_size;
+ return look(front, back);
+}
+
+int
+look(char *front, char *back)
+{
+ int ch;
+ char *readp, *writep;
+
+ /* Reformat string string to avoid doing it multiple times later. */
+ if (dflag) {
+ for (readp = writep = string; (ch = *readp++) != 0;) {
+ if (isalnum(ch))
+ *(writep++) = ch;
+ }
+ *writep = '\0';
+ stringlen = writep - string;
+ } else
+ stringlen = strlen(string);
+
+ comparbuf = xmalloc(stringlen+1);
+
+ front = binary_search(front, back);
+ front = linear_search(front, back);
+
+ if (front)
+ print_from(front, back);
+
+ free(comparbuf);
+
+ return (front ? 0 : 1);
+}
+
+
+/*
+ * Binary search for "string" in memory between "front" and "back".
+ *
+ * This routine is expected to return a pointer to the start of a line at
+ * *or before* the first word matching "string". Relaxing the constraint
+ * this way simplifies the algorithm.
+ *
+ * Invariants:
+ * front points to the beginning of a line at or before the first
+ * matching string.
+ *
+ * back points to the beginning of a line at or after the first
+ * matching line.
+ *
+ * Advancing the Invariants:
+ *
+ * p = first newline after halfway point from front to back.
+ *
+ * If the string at "p" is not greater than the string to match,
+ * p is the new front. Otherwise it is the new back.
+ *
+ * Termination:
+ *
+ * The definition of the routine allows it return at any point,
+ * since front is always at or before the line to print.
+ *
+ * In fact, it returns when the chosen "p" equals "back". This
+ * implies that there exists a string is least half as long as
+ * (back - front), which in turn implies that a linear search will
+ * be no more expensive than the cost of simply printing a string or two.
+ *
+ * Trying to continue with binary search at this point would be
+ * more trouble than it's worth.
+ */
+#define SKIP_PAST_NEWLINE(p, back) \
+ while (p < back && *p++ != '\n')
+
+char *
+binary_search(char *front, char *back)
+{
+ char *p;
+
+ p = front + (back - front) / 2;
+ SKIP_PAST_NEWLINE(p, back);
+
+ /*
+ * If the file changes underneath us, make sure we don't
+ * infinitely loop.
+ */
+ while (p < back && back > front) {
+ if (compare(p, back) == GREATER)
+ front = p;
+ else
+ back = p;
+ p = front + (back - front) / 2;
+ SKIP_PAST_NEWLINE(p, back);
+ }
+ return (front);
+}
+
+/*
+ * Find the first line that starts with string, linearly searching from front
+ * to back.
+ *
+ * Return NULL for no such line.
+ *
+ * This routine assumes:
+ *
+ * o front points at the first character in a line.
+ * o front is before or at the first line to be printed.
+ */
+char *
+linear_search(char *front, char *back)
+{
+ while (front < back) {
+ switch (compare(front, back)) {
+ case EQUAL: /* Found it. */
+ return (front);
+ break;
+ case LESS: /* No such string. */
+ return (NULL);
+ break;
+ case GREATER: /* Keep going. */
+ break;
+ }
+ SKIP_PAST_NEWLINE(front, back);
+ }
+ return (NULL);
+}
+
+/*
+ * Print as many lines as match string, starting at front.
+ */
+void
+print_from(char *front, char *back)
+{
+ int eol;
+
+ while (front < back && compare(front, back) == EQUAL) {
+ if (compare(front, back) == EQUAL) {
+ eol = 0;
+ while (front < back && !eol) {
+ if (putchar(*front) == EOF)
+ err(EXIT_FAILURE, "stdout");
+ if (*front++ == '\n')
+ eol = 1;
+ }
+ } else
+ SKIP_PAST_NEWLINE(front, back);
+ }
+}
+
+/*
+ * Return LESS, GREATER, or EQUAL depending on how string compares with
+ * string2 (s1 ??? s2).
+ *
+ * o Matches up to len(s1) are EQUAL.
+ * o Matches up to len(s2) are GREATER.
+ *
+ * Compare understands about the -f and -d flags, and treats comparisons
+ * appropriately.
+ *
+ * The string "string" is null terminated. The string "s2" is '\n' terminated
+ * (or "s2end" terminated).
+ *
+ * We use strcasecmp etc, since it knows how to ignore case also
+ * in other locales.
+ */
+int
+compare(char *s2, char *s2end) {
+ int i;
+ char *p;
+
+ /* copy, ignoring things that should be ignored */
+ p = comparbuf;
+ i = stringlen;
+ while(s2 < s2end && *s2 != '\n' && i) {
+ if (!dflag || isalnum(*s2))
+ {
+ *p++ = *s2;
+ i--;
+ }
+ s2++;
+ }
+ *p = 0;
+
+ /* and compare */
+ if (fflag)
+ i = strncasecmp(comparbuf, string, stringlen);
+ else
+ i = strncmp(comparbuf, string, stringlen);
+
+ return ((i > 0) ? LESS : (i < 0) ? GREATER : EQUAL);
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out),
+ fprintf(out,
+ _(" %s [options] string [file]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -a, --alternative use alternate dictionary\n"
+ " -d, --alphanum compare only alpha numeric characters\n"
+ " -f, --ignore-case ignore when comparing\n"
+ " -t, --terminate <char> define string termination character\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
diff --git a/misc-utils/lsblk.8 b/misc-utils/lsblk.8
new file mode 100644
index 0000000..4ed024f
--- /dev/null
+++ b/misc-utils/lsblk.8
@@ -0,0 +1,104 @@
+.\" -*- nroff -*-
+.TH LSBLK 8 "April 2010" "util-linux" "System Administration"
+.SH NAME
+lsblk \- list block devices
+.SH SYNOPSIS
+.B lsblk
+.RB [ options ]
+.sp
+.B lsblk
+.RB [ options ]
+.IR device...
+.SH DESCRIPTION
+.B lsblk
+lists information about all or the specified block devices. The
+.B lsblk
+command reads the
+.I sysfs
+filesystem to gather information.
+.PP
+The command prints all block devices (except RAM disks) in a tree-like format
+by default. Use
+.B "lsblk --help"
+to get a list of all available columns.
+.PP
+The default output as well as default output from options like --topology and
+--fs is subject to change, so whenever possible you should avoid using default
+outputs in your scripts. Always explicitly define expected columns by
+.B \-\-output
+.IR columns
+in environment where a stable output is required.
+.SH OPTIONS
+.IP "\fB\-a, \-\-all\fP"
+.B lsblk
+does not list empty devices by default. This option disables this restriction.
+.IP "\fB\-b, \-\-bytes\fP"
+Print the SIZE column in bytes rather than in human-readable format.
+.IP "\fB\-d, \-\-nodeps\fP"
+Don't print device holders or slaves. For example "lsblk --nodeps /dev/sda" prints
+information about the sda device only.
+.IP "\fB\-D, \-\-discard\fP"
+Print information about the discard (TRIM, UNMAP) capabilities for each device.
+.IP "\fB\-e, \-\-exclude \fIlist\fP
+Exclude the devices specified by a comma-separated \fIlist\fR of major device numbers.
+Note that RAM disks (major=1) are excluded by default. The filter is applied to the top-level
+devices only.
+.IP "\fB\-I, \-\-include \fIlist\fP
+Include devices specified by a comma-separated \fIlist\fR of major device numbers only.
+The filter is applied to the top-level devices.
+.IP "\fB\-f, \-\-fs\fP
+Output info about filesystems. This option is equivalent to "-o NAME,FSTYPE,LABEL,MOUNTPOINT".
+The authoritative information about filesystems and raids is provided by the
+.BR blkid (8)
+command.
+.IP "\fB\-h, \-\-help\fP"
+Print a help text and exit.
+.IP "\fB\-i, \-\-ascii\fP"
+Use ASCII characters for tree formatting.
+.IP "\fB\-m, \-\-perms\fP
+Output info about device owner, group and mode. This option is equivalent to "-o NAME,SIZE,OWNER,GROUP,MODE".
+.IP "\fB\-l, \-\-list\fP"
+Use the list output format.
+.IP "\fB\-n, \-\-noheadings\fP"
+Do not print a header line.
+.IP "\fB\-o, \-\-output \fIlist\fP"
+Specify which output columns to print. Use
+.B "--help"
+to get a list of all supported columns.
+.IP "\fB\-P, \-\-pairs\fP"
+Use key="value" output format. All potentially unsafe characters are hex-escaped (\\x<code>).
+.IP "\fB\-r, \-\-raw\fP"
+Use the raw output format. All potentially unsafe characters are hex-escaped
+(\\x<code>) in NAME, KNAME, LABEL, PARTLABEL and MOUNTPOINT columns.
+.IP "\fB\-s, \-\-inverse\fP"
+Print dependencies in inverse order.
+.IP "\fB\-t, \-\-topology\fP"
+Output info about block device topology.
+This option is equivalent to "-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE".
+.IP "\fB\-V, \-\-version\fP"
+Output version information and exit.
+.SH NOTES
+For partitions, some information (e.g. queue attributes) is inherited from the
+parent device.
+
+.PP
+The
+.B lsblk
+needs to be able to lookup sysfs path by major:minor, which is done
+done by using
+.BR /sys/dev/block .
+The block sysfs appeared in kernel 2.6.27 (October 2008). In case of
+problem with new enough kernel check that CONFIG_SYSFS was enabled at
+the time of kernel build.
+.SH AUTHORS
+.nf
+Milan Broz <mbroz@redhat.com>
+Karel Zak <kzak@redhat.com>
+.fi
+.SH SEE ALSO
+.BR findmnt (8),
+.BR blkid (8),
+.BR ls (1)
+.SH AVAILABILITY
+The lsblk command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
new file mode 100644
index 0000000..2410de4
--- /dev/null
+++ b/misc-utils/lsblk.c
@@ -0,0 +1,1421 @@
+/*
+ * lsblk(8) - list block devices
+ *
+ * Copyright (C) 2010,2011 Red Hat, Inc. All rights reserved.
+ * Written by Milan Broz <mbroz@redhat.com>
+ * Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <getopt.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <inttypes.h>
+#include <stdarg.h>
+#include <locale.h>
+#include <pwd.h>
+#include <grp.h>
+#include <ctype.h>
+
+#include <blkid.h>
+#include <libmount.h>
+
+#ifdef HAVE_LIBUDEV
+#include <libudev.h>
+#endif
+
+#include <assert.h>
+
+#include "c.h"
+#include "pathnames.h"
+#include "blkdev.h"
+#include "canonicalize.h"
+#include "nls.h"
+#include "tt.h"
+#include "xalloc.h"
+#include "strutils.h"
+#include "at.h"
+#include "sysfs.h"
+#include "closestream.h"
+#include "mangle.h"
+#include "optutils.h"
+
+/* column IDs */
+enum {
+ COL_NAME = 0,
+ COL_KNAME,
+ COL_MAJMIN,
+ COL_FSTYPE,
+ COL_TARGET,
+ COL_LABEL,
+ COL_UUID,
+ COL_PARTLABEL,
+ COL_PARTUUID,
+ COL_RA,
+ COL_RO,
+ COL_RM,
+ COL_MODEL,
+ COL_SIZE,
+ COL_STATE,
+ COL_OWNER,
+ COL_GROUP,
+ COL_MODE,
+ COL_ALIOFF,
+ COL_MINIO,
+ COL_OPTIO,
+ COL_PHYSEC,
+ COL_LOGSEC,
+ COL_ROTA,
+ COL_SCHED,
+ COL_RQ_SIZE,
+ COL_TYPE,
+ COL_DALIGN,
+ COL_DGRAN,
+ COL_DMAX,
+ COL_DZERO,
+ COL_WWN,
+};
+
+/* column names */
+struct colinfo {
+ const char *name; /* header */
+ double whint; /* width hint (N < 1 is in percent of termwidth) */
+ int flags; /* TT_FL_* */
+ const char *help;
+};
+
+/* columns descriptions */
+static struct colinfo infos[] = {
+ [COL_NAME] = { "NAME", 0.25, TT_FL_TREE | TT_FL_NOEXTREMES, N_("device name") },
+ [COL_KNAME] = { "KNAME", 0.3, 0, N_("internal kernel device name") },
+ [COL_MAJMIN] = { "MAJ:MIN", 6, 0, N_("major:minor device number") },
+ [COL_FSTYPE] = { "FSTYPE", 0.1, TT_FL_TRUNC, N_("filesystem type") },
+ [COL_TARGET] = { "MOUNTPOINT", 0.10, TT_FL_TRUNC, N_("where the device is mounted") },
+ [COL_LABEL] = { "LABEL", 0.1, 0, N_("filesystem LABEL") },
+ [COL_UUID] = { "UUID", 36, 0, N_("filesystem UUID") },
+
+ [COL_PARTLABEL] = { "PARTLABEL", 0.1, 0, N_("partition LABEL") },
+ [COL_PARTUUID] = { "PARTUUID", 36, 0, N_("partition UUID") },
+
+ [COL_RA] = { "RA", 4, TT_FL_RIGHT, N_("read-ahead of the device") },
+ [COL_RO] = { "RO", 1, TT_FL_RIGHT, N_("read-only device") },
+ [COL_RM] = { "RM", 1, TT_FL_RIGHT, N_("removable device") },
+ [COL_ROTA] = { "ROTA", 1, TT_FL_RIGHT, N_("rotational device") },
+ [COL_MODEL] = { "MODEL", 0.1, TT_FL_TRUNC, N_("device identifier") },
+ [COL_SIZE] = { "SIZE", 5, TT_FL_RIGHT, N_("size of the device") },
+ [COL_STATE] = { "STATE", 7, TT_FL_TRUNC, N_("state of the device") },
+ [COL_OWNER] = { "OWNER", 0.1, TT_FL_TRUNC, N_("user name"), },
+ [COL_GROUP] = { "GROUP", 0.1, TT_FL_TRUNC, N_("group name") },
+ [COL_MODE] = { "MODE", 10, 0, N_("device node permissions") },
+ [COL_ALIOFF] = { "ALIGNMENT", 6, TT_FL_RIGHT, N_("alignment offset") },
+ [COL_MINIO] = { "MIN-IO", 6, TT_FL_RIGHT, N_("minimum I/O size") },
+ [COL_OPTIO] = { "OPT-IO", 6, TT_FL_RIGHT, N_("optimal I/O size") },
+ [COL_PHYSEC] = { "PHY-SEC", 7, TT_FL_RIGHT, N_("physical sector size") },
+ [COL_LOGSEC] = { "LOG-SEC", 7, TT_FL_RIGHT, N_("logical sector size") },
+ [COL_SCHED] = { "SCHED", 0.1, 0, N_("I/O scheduler name") },
+ [COL_RQ_SIZE]= { "RQ-SIZE", 5, TT_FL_RIGHT, N_("request queue size") },
+ [COL_TYPE] = { "TYPE", 4, 0, N_("device type") },
+ [COL_DALIGN] = { "DISC-ALN", 6, TT_FL_RIGHT, N_("discard alignment offset") },
+ [COL_DGRAN] = { "DISC-GRAN", 6, TT_FL_RIGHT, N_("discard granularity") },
+ [COL_DMAX] = { "DISC-MAX", 6, TT_FL_RIGHT, N_("discard max bytes") },
+ [COL_DZERO] = { "DISC-ZERO", 1, TT_FL_RIGHT, N_("discard zeroes data") },
+ [COL_WWN] = { "WWN", 18, 0, N_("unique storage identifier") },
+
+};
+
+struct lsblk {
+ struct tt *tt; /* output table */
+ unsigned int all_devices:1; /* print all devices, including empty */
+ unsigned int bytes:1; /* print SIZE in bytes */
+ unsigned int inverse:1; /* print inverse dependencies */
+ unsigned int nodeps:1; /* don't print slaves/holders */
+};
+
+struct lsblk *lsblk; /* global handler */
+
+#define NCOLS ARRAY_SIZE(infos)
+static int columns[NCOLS];/* enabled columns */
+static int ncolumns; /* number of enabled columns */
+
+static int excludes[256];
+static size_t nexcludes;
+
+static int includes[256];
+static size_t nincludes;
+
+static struct libmnt_table *mtab, *swaps;
+static struct libmnt_cache *mntcache;
+
+struct blkdev_cxt {
+ struct blkdev_cxt *parent;
+
+ struct tt_line *tt_line;
+ struct stat st;
+
+ char *name; /* kernel name in /sys/block */
+ char *dm_name; /* DM name (dm/block) */
+
+ char *filename; /* path to device node */
+
+ struct sysfs_cxt sysfs;
+
+ int partition; /* is partition? TRUE/FALSE */
+
+ int probed; /* already probed */
+ char *fstype; /* detected fs, NULL or "?" if cannot detect */
+ char *uuid; /* filesystem UUID (or stack uuid) */
+ char *label; /* filesystem label */
+ char *partuuid; /* partition UUID */
+ char *partlabel; /* partiton label */
+ char *wwn; /* storage WWN */
+
+ int npartitions; /* # of partitions this device has */
+ int nholders; /* # of devices mapped directly to this device
+ * /sys/block/.../holders */
+ int nslaves; /* # of devices this device maps to */
+ int maj, min; /* devno */
+ int discard; /* supports discard */
+
+ uint64_t size; /* device size */
+};
+
+static int is_maj_excluded(int maj)
+{
+ size_t i;
+
+ assert(ARRAY_SIZE(excludes) > nexcludes);
+
+ if (!nexcludes)
+ return 0; /* filter not enabled, device not exluded */
+
+ for (i = 0; i < nexcludes; i++)
+ if (excludes[i] == maj)
+ return 1;
+ return 0;
+}
+
+static int is_maj_included(int maj)
+{
+ size_t i;
+
+ assert(ARRAY_SIZE(includes) > nincludes);
+
+ if (!nincludes)
+ return 1; /* filter not enabled, device is included */
+
+ for (i = 0; i < nincludes; i++)
+ if (includes[i] == maj)
+ return 1;
+ return 0;
+}
+
+/* array with IDs of enabled columns */
+static int get_column_id(int num)
+{
+ assert(ARRAY_SIZE(columns) == NCOLS);
+ assert(num < ncolumns);
+ assert(columns[num] < (int) NCOLS);
+ return columns[num];
+}
+
+static struct colinfo *get_column_info(int num)
+{
+ return &infos[ get_column_id(num) ];
+}
+
+static int column_name_to_id(const char *name, size_t namesz)
+{
+ size_t i;
+
+ for (i = 0; i < NCOLS; i++) {
+ const char *cn = infos[i].name;
+
+ if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ return i;
+ }
+ warnx(_("unknown column: %s"), name);
+ return -1;
+}
+
+static void reset_blkdev_cxt(struct blkdev_cxt *cxt)
+{
+ if (!cxt)
+ return;
+ free(cxt->name);
+ free(cxt->dm_name);
+ free(cxt->filename);
+ free(cxt->fstype);
+ free(cxt->uuid);
+ free(cxt->label);
+ free(cxt->partuuid);
+ free(cxt->partlabel);
+ free(cxt->wwn);
+
+ sysfs_deinit(&cxt->sysfs);
+
+ memset(cxt, 0, sizeof(*cxt));
+}
+
+static int is_dm(const char *name)
+{
+ return strncmp(name, "dm-", 3) ? 0 : 1;
+}
+
+static struct dirent *xreaddir(DIR *dp)
+{
+ struct dirent *d;
+
+ assert(dp);
+
+ while ((d = readdir(dp))) {
+ if (!strcmp(d->d_name, ".") ||
+ !strcmp(d->d_name, ".."))
+ continue;
+
+ /* blacklist here? */
+ break;
+ }
+ return d;
+}
+
+static char *get_device_path(struct blkdev_cxt *cxt)
+{
+ char path[PATH_MAX];
+
+ assert(cxt);
+ assert(cxt->name);
+
+ if (is_dm(cxt->name))
+ return canonicalize_dm_name(cxt->name);
+
+ snprintf(path, sizeof(path), "/dev/%s", cxt->name);
+ return xstrdup(path);
+}
+
+static int is_active_swap(const char *filename)
+{
+ if (!swaps) {
+ swaps = mnt_new_table();
+ if (!swaps)
+ return 0;
+ if (!mntcache)
+ mntcache = mnt_new_cache();
+
+ mnt_table_set_cache(swaps, mntcache);
+ mnt_table_parse_swaps(swaps, NULL);
+ }
+
+ return mnt_table_find_srcpath(swaps, filename, MNT_ITER_BACKWARD) != 0;
+}
+
+static char *get_device_mountpoint(struct blkdev_cxt *cxt)
+{
+ struct libmnt_fs *fs;
+ const char *fsroot;
+
+ assert(cxt);
+ assert(cxt->filename);
+
+ if (!mtab) {
+ mtab = mnt_new_table();
+ if (!mtab)
+ return NULL;
+ if (!mntcache)
+ mntcache = mnt_new_cache();
+
+ mnt_table_set_cache(mtab, mntcache);
+ mnt_table_parse_mtab(mtab, NULL);
+ }
+
+ /* try /etc/mtab or /proc/self/mountinfo */
+ fs = mnt_table_find_srcpath(mtab, cxt->filename, MNT_ITER_BACKWARD);
+ if (!fs)
+ return is_active_swap(cxt->filename) ? xstrdup("[SWAP]") : NULL;
+
+ /* found */
+ fsroot = mnt_fs_get_root(fs);
+ if (fsroot && strcmp(fsroot, "/") != 0) {
+ /* hmm.. we found bind mount or btrfs subvolume, let's try to
+ * get real FS root mountpoint */
+ struct libmnt_fs *rfs;
+ struct libmnt_iter *itr = mnt_new_iter(MNT_ITER_BACKWARD);
+
+ mnt_table_set_iter(mtab, itr, fs);
+ while (mnt_table_next_fs(mtab, itr, &rfs) == 0) {
+ fsroot = mnt_fs_get_root(rfs);
+ if ((!fsroot || strcmp(fsroot, "/") == 0)
+ && mnt_fs_match_source(rfs, cxt->filename, mntcache)) {
+ fs = rfs;
+ break;
+ }
+ }
+ mnt_free_iter(itr);
+ }
+
+ return xstrdup(mnt_fs_get_target(fs));
+}
+
+#ifndef HAVE_LIBUDEV
+static int get_udev_properties(struct blkdev_cxt *cxt
+ __attribute__((__unused__)))
+{
+ return -1;
+}
+#else
+static int get_udev_properties(struct blkdev_cxt *cxt)
+{
+ struct udev *udev;
+ struct udev_device *dev;
+
+ if (cxt->probed)
+ return 0; /* already done */
+
+ udev = udev_new();
+ if (!udev)
+ return -1;
+
+ dev = udev_device_new_from_subsystem_sysname(udev, "block", cxt->name);
+ if (dev) {
+ const char *data;
+
+ if ((data = udev_device_get_property_value(dev, "ID_FS_LABEL_ENC"))) {
+ cxt->label = xstrdup(data);
+ unhexmangle_string(cxt->label);
+ }
+ if ((data = udev_device_get_property_value(dev, "ID_FS_UUID_ENC"))) {
+ cxt->uuid = xstrdup(data);
+ unhexmangle_string(cxt->uuid);
+ }
+ if ((data = udev_device_get_property_value(dev, "ID_PART_ENTRY_NAME"))) {
+ cxt->partlabel = xstrdup(data);
+ unhexmangle_string(cxt->partlabel);
+ }
+ if ((data = udev_device_get_property_value(dev, "ID_FS_TYPE")))
+ cxt->fstype = xstrdup(data);
+ if ((data = udev_device_get_property_value(dev, "ID_PART_ENTRY_UUID")))
+ cxt->partuuid = xstrdup(data);
+ if ((data = udev_device_get_property_value(dev, "ID_WWN")))
+ cxt->wwn = xstrdup(data);
+
+ udev_device_unref(dev);
+ cxt->probed = 1;
+ }
+
+ udev_unref(udev);
+
+ return cxt->probed == 1 ? 0 : -1;
+
+}
+#endif /* HAVE_LIBUDEV */
+
+static void probe_device(struct blkdev_cxt *cxt)
+{
+ blkid_probe pr = NULL;
+
+ if (cxt->probed)
+ return;
+
+ if (!cxt->size)
+ return;
+
+ /* try udev DB */
+ if (get_udev_properties(cxt) == 0)
+ return; /* success */
+
+ cxt->probed = 1;
+
+ /* try libblkid (fallback) */
+ if (getuid() != 0)
+ return; /* no permissions to read from the device */
+
+ pr = blkid_new_probe_from_filename(cxt->filename);
+ if (!pr)
+ return;
+
+ blkid_probe_enable_superblocks(pr, 1);
+ blkid_probe_set_superblocks_flags(pr, BLKID_SUBLKS_LABEL |
+ BLKID_SUBLKS_UUID |
+ BLKID_SUBLKS_TYPE);
+ blkid_probe_enable_partitions(pr, 1);
+ blkid_probe_set_partitions_flags(pr, BLKID_PARTS_ENTRY_DETAILS);
+
+ if (!blkid_do_safeprobe(pr)) {
+ const char *data = NULL;
+
+ if (!blkid_probe_lookup_value(pr, "TYPE", &data, NULL))
+ cxt->fstype = xstrdup(data);
+ if (!blkid_probe_lookup_value(pr, "UUID", &data, NULL))
+ cxt->uuid = xstrdup(data);
+ if (!blkid_probe_lookup_value(pr, "LABEL", &data, NULL))
+ cxt->label = xstrdup(data);
+ if (!blkid_probe_lookup_value(pr, "PART_ENTRY_UUID", &data, NULL))
+ cxt->partuuid = xstrdup(data);
+ if (!blkid_probe_lookup_value(pr, "PART_ENTRY_NAME", &data, NULL))
+ cxt->partlabel = xstrdup(data);
+
+ }
+
+ blkid_free_probe(pr);
+ return;
+}
+
+static int is_readonly_device(struct blkdev_cxt *cxt)
+{
+ int fd, ro = 0;
+
+ if (sysfs_scanf(&cxt->sysfs, "ro", "%d", &ro) == 1)
+ return ro;
+
+ /* fallback if "ro" attribute does not exist */
+ fd = open(cxt->filename, O_RDONLY);
+ if (fd != -1) {
+ if (ioctl(fd, BLKROGET, &ro) != 0)
+ ro = 0;
+ close(fd);
+ }
+ return ro;
+}
+
+static char *get_scheduler(struct blkdev_cxt *cxt)
+{
+ char *str = sysfs_strdup(&cxt->sysfs, "queue/scheduler");
+ char *p, *res = NULL;
+
+ if (!str)
+ return NULL;
+ p = strchr(str, '[');
+ if (p) {
+ res = p + 1;
+ p = strchr(res, ']');
+ if (p) {
+ *p = '\0';
+ res = xstrdup(res);
+ } else
+ res = NULL;
+ }
+ free(str);
+ return res;
+}
+
+static char *get_type(struct blkdev_cxt *cxt)
+{
+ char *res = NULL, *p;
+
+ if (is_dm(cxt->name)) {
+ char *dm_uuid = sysfs_strdup(&cxt->sysfs, "dm/uuid");
+
+ /* The DM_UUID prefix should be set to subsystem owning
+ * the device - LVM, CRYPT, DMRAID, MPATH, PART */
+ if (dm_uuid) {
+ char *tmp = dm_uuid;
+ char *dm_uuid_prefix = strsep(&tmp, "-");
+
+ if (dm_uuid_prefix) {
+ /* kpartx hack to remove partition number */
+ if (strncasecmp(dm_uuid_prefix, "part", 4) == 0)
+ dm_uuid_prefix[4] = '\0';
+
+ res = xstrdup(dm_uuid_prefix);
+ }
+ }
+
+ free(dm_uuid);
+ if (!res)
+ /* No UUID or no prefix - just mark it as DM device */
+ res = xstrdup("dm");
+
+ } else if (!strncmp(cxt->name, "loop", 4)) {
+ res = xstrdup("loop");
+
+ } else if (!strncmp(cxt->name, "md", 2)) {
+ char *md_level = sysfs_strdup(&cxt->sysfs, "md/level");
+ res = md_level ? md_level : xstrdup("md");
+
+ } else {
+ const char *type;
+ int x = 0;
+
+ sysfs_read_int(&cxt->sysfs, "device/type", &x);
+
+ type = blkdev_scsi_type_to_name(x);
+ if (!type)
+ type = cxt->partition ? "part" : "disk";
+ res = xstrdup(type);
+ }
+
+ for (p = res; p && *p; p++)
+ *p = tolower((unsigned char) *p);
+ return res;
+}
+
+#define is_parsable(_l) (((_l)->tt->flags & TT_FL_RAW) || \
+ ((_l)->tt->flags & TT_FL_EXPORT))
+
+static void set_tt_data(struct blkdev_cxt *cxt, int col, int id, struct tt_line *ln)
+{
+ char buf[1024];
+ char *p = NULL;
+ int st_rc = 0;
+
+ if (!cxt->st.st_rdev && (id == COL_OWNER || id == COL_GROUP ||
+ id == COL_MODE))
+ st_rc = stat(cxt->filename, &cxt->st);
+
+ switch(id) {
+ case COL_NAME:
+ if (cxt->dm_name) {
+ if (is_parsable(lsblk))
+ tt_line_set_data(ln, col, xstrdup(cxt->dm_name));
+ else {
+ snprintf(buf, sizeof(buf), "%s (%s)",
+ cxt->dm_name, cxt->name);
+ tt_line_set_data(ln, col, xstrdup(buf));
+ }
+ break;
+ }
+ case COL_KNAME:
+ tt_line_set_data(ln, col, xstrdup(cxt->name));
+ break;
+ case COL_OWNER:
+ {
+ struct passwd *pw = st_rc ? NULL : getpwuid(cxt->st.st_uid);
+ if (pw)
+ tt_line_set_data(ln, col, xstrdup(pw->pw_name));
+ break;
+ }
+ case COL_GROUP:
+ {
+ struct group *gr = st_rc ? NULL : getgrgid(cxt->st.st_gid);
+ if (gr)
+ tt_line_set_data(ln, col, xstrdup(gr->gr_name));
+ break;
+ }
+ case COL_MODE:
+ {
+ char md[11];
+
+ if (!st_rc) {
+ strmode(cxt->st.st_mode, md);
+ tt_line_set_data(ln, col, xstrdup(md));
+ }
+ break;
+ }
+ case COL_MAJMIN:
+ if (is_parsable(lsblk))
+ snprintf(buf, sizeof(buf), "%u:%u", cxt->maj, cxt->min);
+ else
+ snprintf(buf, sizeof(buf), "%3u:%-3u", cxt->maj, cxt->min);
+ tt_line_set_data(ln, col, xstrdup(buf));
+ break;
+ case COL_FSTYPE:
+ probe_device(cxt);
+ if (cxt->fstype)
+ tt_line_set_data(ln, col, xstrdup(cxt->fstype));
+ break;
+ case COL_TARGET:
+ if (!(cxt->nholders + cxt->npartitions)) {
+ if ((p = get_device_mountpoint(cxt)))
+ tt_line_set_data(ln, col, p);
+ }
+ break;
+ case COL_LABEL:
+ probe_device(cxt);
+ if (!cxt->label)
+ break;
+
+ tt_line_set_data(ln, col, xstrdup(cxt->label));
+ break;
+ case COL_UUID:
+ probe_device(cxt);
+ if (cxt->uuid)
+ tt_line_set_data(ln, col, xstrdup(cxt->uuid));
+ break;
+ case COL_PARTLABEL:
+ probe_device(cxt);
+ if (!cxt->partlabel)
+ break;
+
+ tt_line_set_data(ln, col, xstrdup(cxt->partlabel));
+ break;
+ case COL_PARTUUID:
+ probe_device(cxt);
+ if (cxt->uuid)
+ tt_line_set_data(ln, col, xstrdup(cxt->partuuid));
+ break;
+ case COL_WWN:
+ get_udev_properties(cxt);
+ if (cxt->wwn)
+ tt_line_set_data(ln, col, xstrdup(cxt->wwn));
+ break;
+ case COL_RA:
+ p = sysfs_strdup(&cxt->sysfs, "queue/read_ahead_kb");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_RO:
+ tt_line_set_data(ln, col, is_readonly_device(cxt) ?
+ xstrdup("1") : xstrdup("0"));
+ break;
+ case COL_RM:
+ p = sysfs_strdup(&cxt->sysfs, "removable");
+ if (!p && cxt->sysfs.parent)
+ p = sysfs_strdup(cxt->sysfs.parent, "removable");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_ROTA:
+ p = sysfs_strdup(&cxt->sysfs, "queue/rotational");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_MODEL:
+ if (!cxt->partition && cxt->nslaves == 0) {
+ p = sysfs_strdup(&cxt->sysfs, "device/model");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ }
+ break;
+ case COL_SIZE:
+ if (cxt->size) {
+ if (lsblk->bytes) {
+ if (xasprintf(&p, "%jd", cxt->size) < 0)
+ p = NULL;
+ } else
+ p = size_to_human_string(SIZE_SUFFIX_1LETTER, cxt->size);
+ if (p)
+ tt_line_set_data(ln, col, p);
+ }
+ break;
+ case COL_STATE:
+ if (!cxt->partition && !cxt->dm_name) {
+ p = sysfs_strdup(&cxt->sysfs, "device/state");
+ } else if (cxt->dm_name) {
+ int x = 0;
+ if (sysfs_read_int(&cxt->sysfs, "dm/suspended", &x) == 0)
+ p = x ? xstrdup("suspended") : xstrdup("running");
+ }
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_ALIOFF:
+ p = sysfs_strdup(&cxt->sysfs, "alignment_offset");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_MINIO:
+ p = sysfs_strdup(&cxt->sysfs, "queue/minimum_io_size");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_OPTIO:
+ p = sysfs_strdup(&cxt->sysfs, "queue/optimal_io_size");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_PHYSEC:
+ p = sysfs_strdup(&cxt->sysfs, "queue/physical_block_size");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_LOGSEC:
+ p = sysfs_strdup(&cxt->sysfs, "queue/logical_block_size");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_SCHED:
+ p = get_scheduler(cxt);
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_RQ_SIZE:
+ p = sysfs_strdup(&cxt->sysfs, "queue/nr_requests");
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_TYPE:
+ p = get_type(cxt);
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_DALIGN:
+ p = sysfs_strdup(&cxt->sysfs, "discard_alignment");
+ if (cxt->discard && p)
+ tt_line_set_data(ln, col, p);
+ else
+ tt_line_set_data(ln, col, "0");
+ break;
+ case COL_DGRAN:
+ if (lsblk->bytes)
+ p = sysfs_strdup(&cxt->sysfs, "queue/discard_granularity");
+ else {
+ uint64_t x;
+
+ if (sysfs_read_u64(&cxt->sysfs,
+ "queue/discard_granularity", &x) == 0)
+ p = size_to_human_string(SIZE_SUFFIX_1LETTER, x);
+ }
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_DMAX:
+ if (lsblk->bytes)
+ p = sysfs_strdup(&cxt->sysfs, "queue/discard_max_bytes");
+ else {
+ uint64_t x;
+
+ if (sysfs_read_u64(&cxt->sysfs,
+ "queue/discard_max_bytes", &x) == 0)
+ p = size_to_human_string(SIZE_SUFFIX_1LETTER, x);
+ }
+ if (p)
+ tt_line_set_data(ln, col, p);
+ break;
+ case COL_DZERO:
+ p = sysfs_strdup(&cxt->sysfs, "queue/discard_zeroes_data");
+ if (cxt->discard && p)
+ tt_line_set_data(ln, col, p);
+ else
+ tt_line_set_data(ln, col, "0");
+ break;
+ };
+}
+
+static void print_device(struct blkdev_cxt *cxt, struct tt_line *tt_parent)
+{
+ int i;
+
+ cxt->tt_line = tt_add_line(lsblk->tt, tt_parent);
+
+ for (i = 0; i < ncolumns; i++)
+ set_tt_data(cxt, i, get_column_id(i), cxt->tt_line);
+}
+
+static int set_cxt(struct blkdev_cxt *cxt,
+ struct blkdev_cxt *parent,
+ struct blkdev_cxt *wholedisk,
+ const char *name)
+{
+ dev_t devno;
+
+ cxt->parent = parent;
+ cxt->name = xstrdup(name);
+ cxt->partition = wholedisk != NULL;
+
+ cxt->filename = get_device_path(cxt);
+ if (!cxt->filename) {
+ warnx(_("%s: failed to get device path"), name);
+ return -1;
+ }
+
+ devno = sysfs_devname_to_devno(name, wholedisk ? wholedisk->name : NULL);
+
+ if (!devno) {
+ warnx(_("%s: unknown device name"), name);
+ return -1;
+ }
+
+ if (lsblk->inverse) {
+ if (sysfs_init(&cxt->sysfs, devno, wholedisk ? &wholedisk->sysfs : NULL)) {
+ warnx(_("%s: failed to initialize sysfs handler"), name);
+ return -1;
+ }
+ if (parent)
+ parent->sysfs.parent = &cxt->sysfs;
+ } else {
+ if (sysfs_init(&cxt->sysfs, devno, parent ? &parent->sysfs : NULL)) {
+ warnx(_("%s: failed to initialize sysfs handler"), name);
+ return -1;
+ }
+ }
+
+ cxt->maj = major(devno);
+ cxt->min = minor(devno);
+ cxt->size = 0;
+
+ if (sysfs_read_u64(&cxt->sysfs, "size", &cxt->size) == 0) /* in sectors */
+ cxt->size <<= 9; /* in bytes */
+
+ sysfs_read_int(&cxt->sysfs, "queue/discard_granularity", &cxt->discard);
+
+ /* Ignore devices of zero size */
+ if (!lsblk->all_devices && cxt->size == 0)
+ return -1;
+
+ if (is_dm(name)) {
+ cxt->dm_name = sysfs_strdup(&cxt->sysfs, "dm/name");
+ if (!cxt->dm_name) {
+ warnx(_("%s: failed to get dm name"), name);
+ return -1;
+ }
+ }
+
+ cxt->npartitions = sysfs_count_partitions(&cxt->sysfs, name);
+ cxt->nholders = sysfs_count_dirents(&cxt->sysfs, "holders");
+ cxt->nslaves = sysfs_count_dirents(&cxt->sysfs, "slaves");
+
+ return 0;
+}
+
+static int process_blkdev(struct blkdev_cxt *cxt, struct blkdev_cxt *parent,
+ int do_partitions, const char *part_name);
+
+/*
+ * List device partitions if any.
+ */
+static int list_partitions(struct blkdev_cxt *wholedisk_cxt, struct blkdev_cxt *parent_cxt,
+ const char *part_name)
+{
+ DIR *dir;
+ struct dirent *d;
+ struct blkdev_cxt part_cxt = {};
+ int r = -1;
+
+ assert(wholedisk_cxt);
+
+ /*
+ * Do not process further if there are no partitions for
+ * this device or the device itself is a partition.
+ */
+ if (!wholedisk_cxt->npartitions || wholedisk_cxt->partition)
+ return -1;
+
+ dir = sysfs_opendir(&wholedisk_cxt->sysfs, NULL);
+ if (!dir)
+ err(EXIT_FAILURE, _("failed to open device directory in sysfs"));
+
+ while ((d = xreaddir(dir))) {
+ /* Process particular partition only? */
+ if (part_name && strcmp(part_name, d->d_name))
+ continue;
+
+ if (!(sysfs_is_partition_dirent(dir, d, wholedisk_cxt->name)))
+ continue;
+
+ if (lsblk->inverse) {
+ /*
+ * <parent_cxt>
+ * `-<part_cxt>
+ * `-<wholedisk_cxt>
+ * `-...
+ */
+ if (set_cxt(&part_cxt, parent_cxt, wholedisk_cxt, d->d_name))
+ goto next;
+
+ if (!parent_cxt && part_cxt.nholders)
+ goto next;
+
+ wholedisk_cxt->parent = &part_cxt;
+ print_device(&part_cxt, parent_cxt ? parent_cxt->tt_line : NULL);
+ if (!lsblk->nodeps)
+ process_blkdev(wholedisk_cxt, &part_cxt, 0, NULL);
+ } else {
+ /*
+ * <parent_cxt>
+ * `-<wholedisk_cxt>
+ * `-<part_cxt>
+ * `-...
+ */
+ if (set_cxt(&part_cxt, wholedisk_cxt, wholedisk_cxt, d->d_name))
+ goto next;
+ /* Print whole disk only once */
+ if (r)
+ print_device(wholedisk_cxt, parent_cxt ? parent_cxt->tt_line : NULL);
+ if (!lsblk->nodeps)
+ process_blkdev(&part_cxt, wholedisk_cxt, 0, NULL);
+ }
+ next:
+ reset_blkdev_cxt(&part_cxt);
+ r = 0;
+ }
+
+ closedir(dir);
+ return r;
+}
+
+static int get_wholedisk_from_partition_dirent(DIR *dir, const char *dirname,
+ struct dirent *d, struct blkdev_cxt *cxt)
+{
+ char path[PATH_MAX];
+ char *p;
+ int len;
+
+ if ((len = readlink_at(dirfd(dir), dirname,
+ d->d_name, path, sizeof(path))) < 0)
+ return 0;
+
+ path[len] = '\0';
+
+ /* The path ends with ".../<device>/<partition>" */
+ p = strrchr(path, '/');
+ if (!p)
+ return 0;
+ *p = '\0';
+
+ p = strrchr(path, '/');
+ if (!p)
+ return 0;
+ p++;
+
+ return set_cxt(cxt, NULL, NULL, p);
+}
+
+/*
+ * List device dependencies: partitions, holders (inverse = 0) or slaves (inverse = 1).
+ */
+static int list_deps(struct blkdev_cxt *cxt)
+{
+ DIR *dir;
+ struct dirent *d;
+ struct blkdev_cxt dep = {};
+ char dirname[PATH_MAX];
+ const char *depname;
+
+ assert(cxt);
+
+ if (lsblk->nodeps)
+ return 0;
+
+ if (!(lsblk->inverse ? cxt->nslaves : cxt->nholders))
+ return 0;
+
+ depname = lsblk->inverse ? "slaves" : "holders";
+ dir = sysfs_opendir(&cxt->sysfs, depname);
+ if (!dir)
+ return 0;
+
+ snprintf(dirname, sizeof(dirname), "%s/%s", cxt->sysfs.dir_path, depname);
+
+ while ((d = xreaddir(dir))) {
+ /* Is the dependency a partition? */
+ if (sysfs_is_partition_dirent(dir, d, NULL)) {
+ if (!get_wholedisk_from_partition_dirent(dir, dirname, d, &dep))
+ process_blkdev(&dep, cxt, 1, d->d_name);
+ }
+ /* The dependency is a whole device. */
+ else if (!set_cxt(&dep, cxt, NULL, d->d_name))
+ process_blkdev(&dep, cxt, 1, NULL);
+
+ reset_blkdev_cxt(&dep);
+ }
+ closedir(dir);
+
+ return 0;
+}
+
+static int process_blkdev(struct blkdev_cxt *cxt, struct blkdev_cxt *parent,
+ int do_partitions, const char *part_name)
+{
+ if (do_partitions && cxt->npartitions)
+ return list_partitions(cxt, parent, part_name);
+
+ print_device(cxt, parent ? parent->tt_line : NULL);
+ return list_deps(cxt);
+}
+
+/* Iterate devices in sysfs */
+static int iterate_block_devices(void)
+{
+ DIR *dir;
+ struct dirent *d;
+ struct blkdev_cxt cxt = {};
+
+ if (!(dir = opendir(_PATH_SYS_BLOCK)))
+ return EXIT_FAILURE;
+
+ while ((d = xreaddir(dir))) {
+ if (set_cxt(&cxt, NULL, NULL, d->d_name))
+ goto next;
+
+ if (is_maj_excluded(cxt.maj) || !is_maj_included(cxt.maj))
+ goto next;
+
+ /* Skip devices in the middle of dependency tree. */
+ if ((lsblk->inverse ? cxt.nholders : cxt.nslaves) > 0)
+ goto next;
+
+ process_blkdev(&cxt, NULL, 1, NULL);
+ next:
+ reset_blkdev_cxt(&cxt);
+ }
+
+ closedir(dir);
+
+ return EXIT_SUCCESS;
+}
+
+static int process_one_device(char *devname)
+{
+ struct blkdev_cxt parent = {}, cxt = {};
+ struct stat st;
+ char buf[PATH_MAX + 1], *diskname = NULL;
+ dev_t disk = 0;
+ int status = EXIT_FAILURE;
+
+ if (stat(devname, &st) || !S_ISBLK(st.st_mode)) {
+ warnx(_("%s: not a block device"), devname);
+ return EXIT_FAILURE;
+ }
+ if (blkid_devno_to_wholedisk(st.st_rdev, buf, sizeof(buf), &disk)) {
+ warn(_("%s: failed to get whole-disk device number"), devname);
+ return EXIT_FAILURE;
+ }
+ if (st.st_rdev == disk) {
+ /*
+ * Device is not a partition.
+ */
+ if (set_cxt(&cxt, NULL, NULL, buf))
+ goto leave;
+ process_blkdev(&cxt, NULL, !lsblk->inverse, NULL);
+ } else {
+ /*
+ * Partition, read sysfs name of the device.
+ */
+ ssize_t len;
+ char path[PATH_MAX], *name;
+
+ if (!sysfs_devno_path(st.st_rdev, path, sizeof(path))) {
+ warn(_("failed to compose sysfs path for %s"), devname);
+ goto leave;
+ }
+
+ diskname = xstrdup(buf);
+ len = readlink(path, buf, PATH_MAX);
+ if (len < 0) {
+ warn(_("%s: failed to read link"), path);
+ goto leave;
+ }
+ buf[len] = '\0';
+
+ /* sysfs device name */
+ name = strrchr(buf, '/') + 1;
+
+ if (set_cxt(&parent, NULL, NULL, diskname))
+ goto leave;
+ if (set_cxt(&cxt, &parent, &parent, name))
+ goto leave;
+
+ if (lsblk->inverse)
+ process_blkdev(&parent, &cxt, 1, cxt.name);
+ else
+ process_blkdev(&cxt, &parent, 1, NULL);
+ }
+
+ status = EXIT_SUCCESS;
+leave:
+ free(diskname);
+ reset_blkdev_cxt(&cxt);
+
+ if (st.st_rdev != disk)
+ reset_blkdev_cxt(&parent);
+
+ return status;
+}
+
+static void parse_excludes(const char *str0)
+{
+ const char *str = str0;
+
+ while (str && *str) {
+ char *end = NULL;
+ unsigned long n;
+
+ errno = 0;
+ n = strtoul(str, &end, 10);
+
+ if (end == str || (end && *end && *end != ','))
+ errx(EXIT_FAILURE, _("failed to parse list '%s'"), str0);
+ if (errno != 0 && (n == ULONG_MAX || n == 0))
+ err(EXIT_FAILURE, _("failed to parse list '%s'"), str0);
+ excludes[nexcludes++] = n;
+
+ if (nexcludes == ARRAY_SIZE(excludes))
+ /* TRANSLATORS: The standard value for %d is 256. */
+ errx(EXIT_FAILURE, _("the list of excluded devices is "
+ "too large (limit is %d devices)"),
+ (int)ARRAY_SIZE(excludes));
+
+ str = end && *end ? end + 1 : NULL;
+ }
+}
+
+static void parse_includes(const char *str0)
+{
+ const char *str = str0;
+
+ while (str && *str) {
+ char *end = NULL;
+ unsigned long n;
+
+ errno = 0;
+ n = strtoul(str, &end, 10);
+
+ if (end == str || (end && *end && *end != ','))
+ errx(EXIT_FAILURE, _("failed to parse list '%s'"), str0);
+ if (errno != 0 && (n == ULONG_MAX || n == 0))
+ err(EXIT_FAILURE, _("failed to parse list '%s'"), str0);
+ includes[nincludes++] = n;
+
+ if (nincludes == ARRAY_SIZE(includes))
+ /* TRANSLATORS: The standard value for %d is 256. */
+ errx(EXIT_FAILURE, _("the list of included devices is "
+ "too large (limit is %d devices)"),
+ (int)ARRAY_SIZE(includes));
+ str = end && *end ? end + 1 : NULL;
+ }
+}
+
+static void __attribute__((__noreturn__)) help(FILE *out)
+{
+ size_t i;
+
+ fprintf(out, _(
+ "\nUsage:\n"
+ " %s [options] [<device> ...]\n"), program_invocation_short_name);
+
+ fprintf(out, _(
+ "\nOptions:\n"
+ " -a, --all print all devices\n"
+ " -b, --bytes print SIZE in bytes rather than in human readable format\n"
+ " -d, --nodeps don't print slaves or holders\n"
+ " -D, --discard print discard capabilities\n"
+ " -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+ " -I, --include <list> show only devices with specified major numbers\n"
+ " -f, --fs output info about filesystems\n"
+ " -h, --help usage information (this)\n"
+ " -i, --ascii use ascii characters only\n"
+ " -m, --perms output info about permissions\n"
+ " -l, --list use list format ouput\n"
+ " -n, --noheadings don't print headings\n"
+ " -o, --output <list> output columns\n"
+ " -P, --pairs use key=\"value\" output format\n"
+ " -r, --raw use raw output format\n"
+ " -s, --inverse inverse dependencies\n"
+ " -t, --topology output info about topology\n"
+ " -V, --version output version information and exit\n"));
+
+ fprintf(out, _("\nAvailable columns (for --output):\n"));
+
+ for (i = 0; i < NCOLS; i++)
+ fprintf(out, " %11s %s\n", infos[i].name, _(infos[i].help));
+
+ fprintf(out, USAGE_MAN_TAIL("lsblk(8)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void check_sysdevblock(void)
+{
+ if (access(_PATH_SYS_DEVBLOCK, R_OK) != 0)
+ err(EXIT_FAILURE, _("failed to access sysfs directory: %s"),
+ _PATH_SYS_DEVBLOCK);
+}
+
+int main(int argc, char *argv[])
+{
+ struct lsblk _ls;
+ int tt_flags = TT_FL_TREE;
+ int i, c, status = EXIT_FAILURE;
+ char *outarg = NULL;
+
+ static const struct option longopts[] = {
+ { "all", 0, 0, 'a' },
+ { "bytes", 0, 0, 'b' },
+ { "nodeps", 0, 0, 'd' },
+ { "discard", 0, 0, 'D' },
+ { "help", 0, 0, 'h' },
+ { "output", 1, 0, 'o' },
+ { "perms", 0, 0, 'm' },
+ { "noheadings", 0, 0, 'n' },
+ { "list", 0, 0, 'l' },
+ { "ascii", 0, 0, 'i' },
+ { "raw", 0, 0, 'r' },
+ { "inverse", 0, 0, 's' },
+ { "fs", 0, 0, 'f' },
+ { "exclude", 1, 0, 'e' },
+ { "include", 1, 0, 'I' },
+ { "topology", 0, 0, 't' },
+ { "pairs", 0, 0, 'P' },
+ { "version", 0, 0, 'V' },
+ { NULL, 0, 0, 0 },
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'I','e' },
+ { 'P','l','r' },
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ lsblk = &_ls;
+ memset(lsblk, 0, sizeof(*lsblk));
+
+ while((c = getopt_long(argc, argv,
+ "abdDe:fhlnmo:PiI:rstV", longopts, NULL)) != -1) {
+
+ err_exclusive_options(c, longopts, excl, excl_st);
+
+ switch(c) {
+ case 'a':
+ lsblk->all_devices = 1;
+ break;
+ case 'b':
+ lsblk->bytes = 1;
+ break;
+ case 'd':
+ lsblk->nodeps = 1;
+ break;
+ case 'D':
+ columns[ncolumns++] = COL_NAME;
+ columns[ncolumns++] = COL_DALIGN;
+ columns[ncolumns++] = COL_DGRAN;
+ columns[ncolumns++] = COL_DMAX;
+ columns[ncolumns++] = COL_DZERO;
+ break;
+ case 'e':
+ parse_excludes(optarg);
+ break;
+ case 'h':
+ help(stdout);
+ break;
+ case 'l':
+ tt_flags &= ~TT_FL_TREE; /* disable the default */
+ break;
+ case 'n':
+ tt_flags |= TT_FL_NOHEADINGS;
+ break;
+ case 'o':
+ outarg = optarg;
+ break;
+ case 'P':
+ tt_flags |= TT_FL_EXPORT;
+ tt_flags &= ~TT_FL_TREE; /* disable the default */
+ break;
+ case 'i':
+ tt_flags |= TT_FL_ASCII;
+ break;
+ case 'I':
+ parse_includes(optarg);
+ break;
+ case 'r':
+ tt_flags &= ~TT_FL_TREE; /* disable the default */
+ tt_flags |= TT_FL_RAW; /* enable raw */
+ break;
+ case 's':
+ lsblk->inverse = 1;
+ break;
+ case 'f':
+ columns[ncolumns++] = COL_NAME;
+ columns[ncolumns++] = COL_FSTYPE;
+ columns[ncolumns++] = COL_LABEL;
+ columns[ncolumns++] = COL_UUID;
+ columns[ncolumns++] = COL_TARGET;
+ break;
+ case 'm':
+ columns[ncolumns++] = COL_NAME;
+ columns[ncolumns++] = COL_SIZE;
+ columns[ncolumns++] = COL_OWNER;
+ columns[ncolumns++] = COL_GROUP;
+ columns[ncolumns++] = COL_MODE;
+ break;
+ case 't':
+ columns[ncolumns++] = COL_NAME;
+ columns[ncolumns++] = COL_ALIOFF;
+ columns[ncolumns++] = COL_MINIO;
+ columns[ncolumns++] = COL_OPTIO;
+ columns[ncolumns++] = COL_PHYSEC;
+ columns[ncolumns++] = COL_LOGSEC;
+ columns[ncolumns++] = COL_ROTA;
+ columns[ncolumns++] = COL_SCHED;
+ columns[ncolumns++] = COL_RQ_SIZE;
+ columns[ncolumns++] = COL_RA;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ default:
+ help(stderr);
+ }
+ }
+
+ check_sysdevblock();
+
+ if (!ncolumns) {
+ columns[ncolumns++] = COL_NAME;
+ columns[ncolumns++] = COL_MAJMIN;
+ columns[ncolumns++] = COL_RM;
+ columns[ncolumns++] = COL_SIZE;
+ columns[ncolumns++] = COL_RO;
+ columns[ncolumns++] = COL_TYPE;
+ columns[ncolumns++] = COL_TARGET;
+ }
+
+ if (outarg && string_add_to_idarray(outarg, columns, ARRAY_SIZE(columns),
+ &ncolumns, column_name_to_id) < 0)
+ return EXIT_FAILURE;
+
+ if (nexcludes == 0 && nincludes == 0)
+ excludes[nexcludes++] = 1; /* default: ignore RAM disks */
+
+ mnt_init_debug(0);
+
+ /*
+ * initialize output columns
+ */
+ if (!(lsblk->tt = tt_new_table(tt_flags)))
+ errx(EXIT_FAILURE, _("failed to initialize output table"));
+
+ for (i = 0; i < ncolumns; i++) {
+ struct colinfo *ci = get_column_info(i);
+ int fl = ci->flags;
+
+ if (!(tt_flags & TT_FL_TREE) && get_column_id(i) == COL_NAME)
+ fl &= ~TT_FL_TREE;
+
+ if (!tt_define_column(lsblk->tt, ci->name, ci->whint, fl)) {
+ warn(_("failed to initialize output column"));
+ goto leave;
+ }
+ }
+
+ if (optind == argc)
+ status = iterate_block_devices();
+ else while (optind < argc)
+ status = process_one_device(argv[optind++]);
+
+ tt_print_table(lsblk->tt);
+
+leave:
+ tt_free_table(lsblk->tt);
+ mnt_free_table(mtab);
+ mnt_free_table(swaps);
+ mnt_free_cache(mntcache);
+ return status;
+}
diff --git a/misc-utils/lslocks.8 b/misc-utils/lslocks.8
new file mode 100644
index 0000000..24cda14
--- /dev/null
+++ b/misc-utils/lslocks.8
@@ -0,0 +1,82 @@
+.\" lslocks.8 --
+.\" Copyright 2012 Davidlohr Bueso <dave@gnu.org>
+.\" May be distributed under the GNU General Public License
+
+.TH LSLOCKS 8 "February 2012" "util-linux" "System Administration"
+.SH NAME
+lslocks \-
+list local system locks
+.SH SYNOPSIS
+.B lslocks
+.RB [options]
+
+.SH DESCRIPTION
+.B lslocks
+lists information about all the file held locks in a Linux system.
+
+.SH OPTIONS
+.IP "\fB\-p, \-\-pid\fP"
+Specify the process id, if none is given, it will display all locks
+.IP "\fB\-h, \-\-help\fP"
+Print a help text and exit.
+.IP "\fB\-o, \-\-output \fIlist\fP"
+Specify which output columns to print. Use
+.B "--help"
+to get a list of all supported columns.
+.IP "\fB\-n, \-\-noheadings\fP"
+Do not print a header line.
+.IP "\fB\-u, \-\-notruncate\fP"
+Do not truncate text in columns.
+.IP "\fB\-r, \-\-raw\fP"
+Use the raw output format.
+
+.SH OUTPUT
+.IP "COMMAND"
+The command name of the process holding the lock.
+
+.IP "PID"
+Process ID which holds the lock.
+
+.IP "TYPE"
+Type of lock, can be FLOCK (created with flock(2)) or POSIX (created with fcntl(2) and lockf(2))
+
+.IP "SIZE"
+Size of the locked file.
+
+.IP "MODE"
+Lock access permissions (read, write).
+
+.IP "M"
+Mandatory state of the lock: 0 if none; 1 if set. (See chmod(1)).
+
+.IP "START"
+Relative byte offset of the lock.
+
+.IP "END"
+Ending offset of the lock.
+
+.IP "PATH"
+Full path of the lock - if none is found or no permissions to read the path it
+will fallback to the device's mountpoint. The path might be truncated, use
+.B "--notruncate"
+to get the full path.
+
+.SH NOTES
+.nf
+The lslocks command is meant to replace the lslk(8) command, originally written by
+Victor A. Abell <abe@purdue.edu> and unmaintained since 2001.
+.fi
+
+.SH AUTHORS
+.nf
+Davidlohr Bueso <dave@gnu.org>
+.fi
+
+.SH "SEE ALSO"
+.BR flock (1)
+.BR fcntl (2)
+.BR lockf (2)
+
+.SH AVAILABILITY
+The lslocks command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/lslocks.c b/misc-utils/lslocks.c
new file mode 100644
index 0000000..45fb6de
--- /dev/null
+++ b/misc-utils/lslocks.c
@@ -0,0 +1,574 @@
+/*
+ * lslocks(8) - list local system locks
+ *
+ * Copyright (C) 2012 Davidlohr Bueso <dave@gnu.org>
+ *
+ * Very generally based on lslk(8) by Victor A. Abell <abe@purdue.edu>
+ * Since it stopped being maingained over a decade ago, this
+ * program should be considered its replacement.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <getopt.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include "pathnames.h"
+#include "canonicalize.h"
+#include "nls.h"
+#include "tt.h"
+#include "xalloc.h"
+#include "at.h"
+#include "strutils.h"
+#include "c.h"
+#include "closestream.h"
+
+/* column IDs */
+enum {
+ COL_SRC = 0,
+ COL_PID,
+ COL_TYPE,
+ COL_SIZE,
+ COL_MODE,
+ COL_M,
+ COL_START,
+ COL_END,
+ COL_PATH,
+};
+
+/* column names */
+struct colinfo {
+ const char *name; /* header */
+ double whint; /* width hint (N < 1 is in percent of termwidth) */
+ int flags; /* TT_FL_* */
+ const char *help;
+};
+
+/* columns descriptions */
+static struct colinfo infos[] = {
+ [COL_SRC] = { "COMMAND",15, 0, N_("command of the process holding the lock") },
+ [COL_PID] = { "PID", 5, TT_FL_RIGHT, N_("PID of the process holding the lock") },
+ [COL_TYPE] = { "TYPE", 5, TT_FL_RIGHT, N_("kind of lock: FL_FLOCK or FL_POSIX.") },
+ [COL_SIZE] = { "SIZE", 4, TT_FL_RIGHT, N_("size of the lock") },
+ [COL_MODE] = { "MODE", 5, 0, N_("lock access mode") },
+ [COL_M] = { "M", 1, 0, N_("mandatory state of the lock: 0 (none), 1 (set)")},
+ [COL_START] = { "START", 10, TT_FL_RIGHT, N_("relative byte offset of the lock")},
+ [COL_END] = { "END", 10, TT_FL_RIGHT, N_("ending offset of the lock")},
+ [COL_PATH] = { "PATH", 0, TT_FL_TRUNC, N_("path of the locked file")},
+};
+#define NCOLS ARRAY_SIZE(infos)
+static int columns[NCOLS], ncolumns;
+static pid_t pid = 0;
+
+struct lock {
+ struct list_head locks;
+
+ char *cmdname;
+ pid_t pid;
+ char *path;
+ char *type;
+ char *mode;
+ off_t start;
+ off_t end;
+ int mandatory;
+ char *size;
+};
+
+static void disable_columns_truncate(void)
+{
+ size_t i;
+
+ for (i = 0; i < NCOLS; i++)
+ infos[i].flags &= ~TT_FL_TRUNC;
+}
+
+/*
+ * Return a PID's command name
+ */
+static char *get_cmdname(pid_t id)
+{
+ FILE *fp;
+ char path[PATH_MAX], *ret = NULL;
+
+ sprintf(path, "/proc/%d/comm", id);
+ if (!(fp = fopen(path, "r")))
+ return NULL;
+
+ if (!fgets(path, sizeof(path), fp))
+ goto out;
+
+ path[strlen(path) - 1] = '\0';
+ ret = xstrdup(path);
+out:
+ fclose(fp);
+ return ret;
+}
+
+/*
+ * Associate the device's mountpoint for a filename
+ */
+static char *get_fallback_filename(dev_t dev)
+{
+ char buf[BUFSIZ], target[PATH_MAX], *ret = NULL;
+ int maj, min;
+ FILE *fp;
+
+ if (!(fp = fopen(_PATH_PROC_MOUNTINFO, "r")))
+ return NULL;
+
+ while (fgets(buf, sizeof(buf), fp)) {
+ sscanf(buf, "%*u %*u %u:%u %*s %s",
+ &maj, &min, target);
+
+ if (dev == makedev(maj, min)) {
+ ret = xstrdup(target);
+ goto out;
+
+ }
+ }
+out:
+ fclose(fp);
+ return ret;
+}
+
+/*
+ * Return the absolute path of a file from
+ * a given inode number (and its size)
+ */
+static char *get_filename_sz(ino_t inode, pid_t pid, size_t *size)
+{
+ struct stat sb;
+ struct dirent *dp;
+ DIR *dirp;
+ size_t len;
+ int fd;
+ char path[PATH_MAX], sym[PATH_MAX], *ret = NULL;
+
+ *size = 0;
+ memset(path, 0, sizeof(path));
+ memset(sym, 0, sizeof(sym));
+
+ /*
+ * We know the pid so we don't have to
+ * iterate the *entire* filesystem searching
+ * for the damn file.
+ */
+ sprintf(path, "/proc/%d/fd/", pid);
+ if (!(dirp = opendir(path)))
+ return NULL;
+
+ if ((len = strlen(path)) >= (sizeof(path) - 2))
+ goto out;
+
+ if ((fd = dirfd(dirp)) < 0 )
+ goto out;
+
+ while ((dp = readdir(dirp))) {
+ if (!strcmp(dp->d_name, ".") ||
+ !strcmp(dp->d_name, ".."))
+ continue;
+
+ /* care only for numerical descriptors */
+ if (!strtol(dp->d_name, (char **) NULL, 10))
+ continue;
+
+ if (!fstat_at(fd, path, dp->d_name, &sb, 0)
+ && inode != sb.st_ino)
+ continue;
+
+ if ((len = readlink_at(fd, path, dp->d_name,
+ sym, sizeof(path))) < 1)
+ goto out;
+
+ *size = sb.st_size;
+ sym[len] = '\0';
+
+ ret = xstrdup(sym);
+ break;
+ }
+out:
+ closedir(dirp);
+ return ret;
+}
+
+/*
+ * Return the inode number from a string
+ */
+static ino_t get_dev_inode(char *str, dev_t *dev)
+{
+ int maj = 0, min = 0;
+ ino_t inum = 0;
+
+ sscanf(str, "%02x:%02x:%lu", &maj, &min, &inum);
+
+ *dev = (dev_t) makedev(maj, min);
+ return inum;
+}
+
+static int get_local_locks(struct list_head *locks)
+{
+ int i;
+ ino_t inode = 0;
+ FILE *fp;
+ char buf[PATH_MAX], *szstr = NULL, *tok = NULL;
+ size_t sz;
+ struct lock *l;
+ dev_t dev = 0;
+
+ if (!(fp = fopen(_PATH_PROC_LOCKS, "r")))
+ return -1;
+
+ while (fgets(buf, sizeof(buf), fp)) {
+
+ l = xcalloc(1, sizeof(*l));
+ INIT_LIST_HEAD(&l->locks);
+
+ for (tok = strtok(buf, " "), i = 0; tok;
+ tok = strtok(NULL, " "), i++) {
+
+ /*
+ * /proc/locks has *exactly* 8 "blocks" of text
+ * separated by ' ' - check <kernel>/fs/locks.c
+ */
+ switch (i) {
+ case 0: /* ignore */
+ break;
+ case 1: /* posix, flock, etc */
+ l->type = xstrdup(tok);
+ break;
+
+ case 2: /* is this a mandatory lock? other values are advisory or noinode */
+ l->mandatory = *tok == 'M' ? TRUE : FALSE;
+ break;
+ case 3: /* lock mode */
+ l->mode = xstrdup(tok);
+ break;
+
+ case 4: /* PID */
+ /*
+ * If user passed a pid we filter it later when adding
+ * to the list, no need to worry now.
+ */
+ l->pid = strtos32_or_err(tok, _("failed to parse pid"));
+ l->cmdname = get_cmdname(l->pid);
+ if (!l->cmdname)
+ l->cmdname = xstrdup(_("(unknown)"));
+ break;
+
+ case 5: /* device major:minor and inode number */
+ inode = get_dev_inode(tok, &dev);
+ break;
+
+ case 6: /* start */
+ l->start = !strcmp(tok, "EOF") ? 0 :
+ strtou64_or_err(tok, _("failed to parse start"));
+ break;
+
+ case 7: /* end */
+ /* replace '\n' character */
+ tok[strlen(tok)-1] = '\0';
+ l->end = !strcmp(tok, "EOF") ? 0 :
+ strtou64_or_err(tok, _("failed to parse end"));
+ break;
+ default:
+ break;
+ }
+
+ l->path = get_filename_sz(inode, l->pid, &sz);
+ if (!l->path)
+ /* probably no permission to peek into l->pid's path */
+ l->path = get_fallback_filename(dev);
+
+ /* avoid leaking */
+ szstr = size_to_human_string(SIZE_SUFFIX_1LETTER, sz);
+ l->size = xstrdup(szstr);
+ free(szstr);
+ }
+
+ if (pid && pid != l->pid) {
+ /*
+ * It's easier to just parse the file then decide if
+ * it should be added to the list - otherwise just
+ * get rid of stored data
+ */
+ free(l->path);
+ free(l->size);
+ free(l->mode);
+ free(l->cmdname);
+ free(l->type);
+ free(l);
+
+ continue;
+ }
+
+ list_add(&l->locks, locks);
+ }
+
+ fclose(fp);
+ return 0;
+}
+
+static int column_name_to_id(const char *name, size_t namesz)
+{
+ size_t i;
+
+ assert(name);
+
+ for (i = 0; i < NCOLS; i++) {
+ const char *cn = infos[i].name;
+
+ if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ return i;
+ }
+ warnx(_("unknown column: %s"), name);
+ return -1;
+}
+
+static inline int get_column_id(int num)
+{
+ assert(ARRAY_SIZE(columns) == NCOLS);
+ assert(num < ncolumns);
+ assert(columns[num] < (int) NCOLS);
+
+ return columns[num];
+}
+
+
+static inline struct colinfo *get_column_info(unsigned num)
+{
+ return &infos[ get_column_id(num) ];
+}
+
+static void rem_lock(struct lock *lock)
+{
+ if (!lock)
+ return;
+
+ free(lock->path);
+ free(lock->size);
+ free(lock->mode);
+ free(lock->cmdname);
+ free(lock->type);
+ list_del(&lock->locks);
+ free(lock);
+}
+
+static void add_tt_line(struct tt *tt, struct lock *l)
+{
+ int i;
+ struct tt_line *line;
+ /*
+ * Whenever cmdname or filename is NULL it is most
+ * likely because there's no read permissions
+ * for the specified process.
+ */
+ const char *notfnd = "";
+
+ assert(l);
+ assert(tt);
+
+ line = tt_add_line(tt, NULL);
+ if (!line) {
+ warn(_("failed to add line to output"));
+ return;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ char *str = NULL;
+ int rc = 0;
+
+ switch (get_column_id(i)) {
+ case COL_SRC:
+ rc = xasprintf(&str, "%s", l->cmdname ? l->cmdname : notfnd);
+ break;
+ case COL_PID:
+ rc = xasprintf(&str, "%d", l->pid);
+ break;
+ case COL_TYPE:
+ rc = xasprintf(&str, "%s", l->type);
+ break;
+ case COL_SIZE:
+ rc = xasprintf(&str, "%s", l->size);
+ break;
+ case COL_MODE:
+ rc = xasprintf(&str, "%s", l->mode);
+ break;
+ case COL_M:
+ rc = xasprintf(&str, "%d", l->mandatory);
+ break;
+ case COL_START:
+ rc = xasprintf(&str, "%ld", l->start);
+ break;
+ case COL_END:
+ rc = xasprintf(&str, "%ld", l->end);
+ break;
+ case COL_PATH:
+ rc = xasprintf(&str, "%s", l->path ? l->path : notfnd);
+ break;
+ default:
+ break;
+ }
+
+ if (rc || str)
+ tt_line_set_data(line, i, str);
+ }
+}
+
+static int show_locks(struct list_head *locks, int tt_flags)
+{
+ int i, rc = 0;
+ struct list_head *p, *pnext;
+ struct tt *tt;
+
+ tt = tt_new_table(tt_flags);
+ if (!tt) {
+ warn(_("failed to initialize output table"));
+ return -1;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ struct colinfo *col = get_column_info(i);
+
+ if (!tt_define_column(tt, col->name, col->whint, col->flags)) {
+ warnx(_("failed to initialize output column"));
+ rc = -1;
+ goto done;
+ }
+ }
+
+ list_for_each_safe(p, pnext, locks) {
+ struct lock *lock = list_entry(p, struct lock, locks);
+ add_tt_line(tt, lock);
+ rem_lock(lock);
+ }
+
+ tt_print_table(tt);
+done:
+ tt_free_table(tt);
+ return rc;
+}
+
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ size_t i;
+
+ fputs(USAGE_HEADER, out);
+
+ fprintf(out,
+ _(" %s [options]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -p, --pid <pid> process id\n"
+ " -o, --output <list> define which output columns to use\n"
+ " -n, --noheadings don't print headings\n"
+ " -r --raw use the raw output format\n"
+ " -u, --notruncate don't truncate text in columns\n"
+ " -h, --help display this help and exit\n"
+ " -V, --version output version information and exit\n"), out);
+
+ fputs(_("\nAvailable columns (for --output):\n"), out);
+
+ for (i = 0; i < NCOLS; i++)
+ fprintf(out, " %11s %s\n", infos[i].name, _(infos[i].help));
+
+ fprintf(out, USAGE_MAN_TAIL("lslocks(8)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ int c, tt_flags = 0, rc = 0;
+ struct list_head locks;
+ static const struct option long_opts[] = {
+ { "pid", required_argument, NULL, 'p' },
+ { "help", no_argument, NULL, 'h' },
+ { "output", required_argument, NULL, 'o' },
+ { "notruncate", no_argument, NULL, 'u' },
+ { "version", no_argument, NULL, 'V' },
+ { "noheadings", no_argument, NULL, 'n' },
+ { "raw", no_argument, NULL, 'r' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv,
+ "p:o:nruhV", long_opts, NULL)) != -1) {
+
+ switch(c) {
+ case 'p':
+ pid = strtos32_or_err(optarg, _("invalid PID argument"));
+ break;
+ case 'o':
+ ncolumns = string_to_idarray(optarg,
+ columns, ARRAY_SIZE(columns),
+ column_name_to_id);
+ if (ncolumns < 0)
+ return EXIT_FAILURE;
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ case 'n':
+ tt_flags |= TT_FL_NOHEADINGS;
+ break;
+ case 'r':
+ tt_flags |= TT_FL_RAW;
+ break;
+ case 'u':
+ disable_columns_truncate();
+ break;
+ case '?':
+ default:
+ usage(stderr);
+ }
+ }
+
+ INIT_LIST_HEAD(&locks);
+
+ if (!ncolumns) {
+ /* default columns */
+ columns[ncolumns++] = COL_SRC;
+ columns[ncolumns++] = COL_PID;
+ columns[ncolumns++] = COL_TYPE;
+ columns[ncolumns++] = COL_SIZE;
+ columns[ncolumns++] = COL_MODE;
+ columns[ncolumns++] = COL_M;
+ columns[ncolumns++] = COL_START;
+ columns[ncolumns++] = COL_END;
+ columns[ncolumns++] = COL_PATH;
+ }
+
+ rc = get_local_locks(&locks);
+
+ if (!rc && !list_empty(&locks))
+ rc = show_locks(&locks, tt_flags);
+
+ return rc;
+}
diff --git a/misc-utils/mcookie.1 b/misc-utils/mcookie.1
new file mode 100644
index 0000000..e7579c4
--- /dev/null
+++ b/misc-utils/mcookie.1
@@ -0,0 +1,65 @@
+.\" mcookie.1 --
+.\" Public Domain 1995 Rickard E. Faith (faith@cs.unc.edu)
+.TH MCOOKIE 1 "June 2011" "util-linux" "User Commands"
+.SH NAME
+mcookie \- generate magic cookies for xauth
+.SH SYNOPSIS
+.B mcookie
+[\fIoptions\fR]
+.SH DESCRIPTION
+.B mcookie
+generates a 128-bit random hexadecimal number for use with the X authority
+system. Typical usage:
+.RS
+xauth add :0 . `mcookie`
+.RE
+.PP
+The "random" number generated is actually the output of the MD5 message
+digest fed with various pieces of random information: the current time, the
+process id, the parent process id, and optionally the contents of an input
+file. and several bytes of information from the first of the following
+devices which is present:
+.IR /dev/random ,
+.IR /dev/urandom ,
+files in
+.IR /proc ,
+.IR /dev/audio .
+.SH OPTIONS
+.TP
+\fB\-f\fR, \fB\-\-file\fR=\fIFILE\fR
+Use file as a macig cookie seed. When file is defined as `-' character
+input is read from stdin.
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+Explain what is being done.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display this help and exit.
+.SH BUGS
+The entropy in the generated 128-bit is probably quite small (and,
+therefore, vulnerable to attack) unless a non-pseudorandom number generator
+is used (e.g.,
+.I /dev/random
+under Linux).
+.PP
+It is assumed that none of the devices opened will block.
+.SH FILES
+.I /dev/random
+.br
+.I /dev/urandom
+.br
+.I /dev/audio
+.br
+.I /proc/stat
+.br
+.I /proc/loadavg
+.SH "SEE ALSO"
+.BR X (1),
+.BR xauth (1),
+.BR md5sum (1)
+.SH AVAILABILITY
+The mcookie command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/mcookie.c b/misc-utils/mcookie.c
new file mode 100644
index 0000000..b7b1762
--- /dev/null
+++ b/misc-utils/mcookie.c
@@ -0,0 +1,190 @@
+/* mcookie.c -- Generates random numbers for xauth
+ * Created: Fri Feb 3 10:42:48 1995 by faith@cs.unc.edu
+ * Revised: Fri Mar 19 07:48:01 1999 by faith@acm.org
+ * Public Domain 1995, 1999 Rickard E. Faith (faith@acm.org)
+ * This program comes with ABSOLUTELY NO WARRANTY.
+ *
+ * This program gathers some random bits of data and used the MD5
+ * message-digest algorithm to generate a 128-bit hexadecimal number for
+ * use with xauth(1).
+ *
+ * NOTE: Unless /dev/random is available, this program does not actually
+ * gather 128 bits of random information, so the magic cookie generated
+ * will be considerably easier to guess than one might expect.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ * 1999-03-21 aeb: Added some fragments of code from Colin Plumb.
+ *
+ */
+
+#include "c.h"
+#include "md5.h"
+#include "nls.h"
+#include "closestream.h"
+
+#include <fcntl.h>
+#include <getopt.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/time.h>
+#include <unistd.h>
+
+#define BUFFERSIZE 4096
+
+struct rngs {
+ const char *path;
+ int minlength, maxlength;
+} rngs[] = {
+ {"/dev/random", 16, 16}, /* 16 bytes = 128 bits suffice */
+ {"/proc/interrupts", 0, 0},
+ {"/proc/slabinfo", 0, 0},
+ {"/proc/stat", 0, 0},
+ {"/dev/urandom", 32, 64},
+};
+
+#define RNGS (sizeof(rngs)/sizeof(struct rngs))
+
+/* The basic function to hash a file */
+static off_t hash_file(struct MD5Context *ctx, int fd)
+{
+ off_t count = 0;
+ ssize_t r;
+ unsigned char buf[BUFFERSIZE];
+
+ while ((r = read(fd, buf, sizeof(buf))) > 0) {
+ MD5Update(ctx, buf, r);
+ count += r;
+ }
+ /* Separate files with a null byte */
+ buf[0] = '\0';
+ MD5Update(ctx, buf, 1);
+ return count;
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -f, --file <file> use file as a cookie seed\n"
+ " -v, --verbose explain what is being done\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ size_t i;
+ struct MD5Context ctx;
+ unsigned char digest[MD5LENGTH];
+ unsigned char buf[BUFFERSIZE];
+ int fd;
+ int c;
+ pid_t pid;
+ char *file = NULL;
+ int verbose = 0;
+ int r;
+ struct timeval tv;
+ struct timezone tz;
+
+ static const struct option longopts[] = {
+ {"file", required_argument, NULL, 'f'},
+ {"verbose", no_argument, NULL, 'v'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c =
+ getopt_long(argc, argv, "f:vVh", longopts, NULL)) != -1)
+ switch (c) {
+ case 'v':
+ verbose = 1;
+ break;
+ case 'f':
+ file = optarg;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ MD5Init(&ctx);
+ gettimeofday(&tv, &tz);
+ MD5Update(&ctx, (unsigned char *) &tv, sizeof(tv));
+
+ pid = getppid();
+ MD5Update(&ctx, (unsigned char *) &pid, sizeof(pid));
+ pid = getpid();
+ MD5Update(&ctx, (unsigned char *) &pid, sizeof(pid));
+
+ if (file) {
+ int count = 0;
+
+ if (file[0] == '-' && !file[1])
+ fd = STDIN_FILENO;
+ else
+ fd = open(file, O_RDONLY);
+
+ if (fd < 0) {
+ warn(_("cannot open %s"), file);
+ } else {
+ count = hash_file(&ctx, fd);
+ if (verbose)
+ fprintf(stderr,
+ _("Got %d bytes from %s\n"), count,
+ file);
+
+ if (fd != STDIN_FILENO)
+ if (close(fd))
+ err(EXIT_FAILURE,
+ _("closing %s failed"), file);
+ }
+ }
+
+ for (i = 0; i < RNGS; i++) {
+ if ((fd = open(rngs[i].path, O_RDONLY | O_NONBLOCK)) >= 0) {
+ int count = sizeof(buf);
+
+ if (rngs[i].maxlength && count > rngs[i].maxlength)
+ count = rngs[i].maxlength;
+ r = read(fd, buf, count);
+ if (r > 0)
+ MD5Update(&ctx, buf, r);
+ else
+ r = 0;
+ close(fd);
+ if (verbose)
+ fprintf(stderr,
+ _("Got %d bytes from %s\n"), r,
+ rngs[i].path);
+ if (rngs[i].minlength && r >= rngs[i].minlength)
+ break;
+ } else if (verbose)
+ warn(_("cannot open %s"), rngs[i].path);
+ }
+
+ MD5Final(digest, &ctx);
+ for (i = 0; i < MD5LENGTH; i++)
+ printf("%02x", digest[i]);
+ putchar('\n');
+
+ return EXIT_SUCCESS;
+}
diff --git a/misc-utils/namei.1 b/misc-utils/namei.1
new file mode 100644
index 0000000..88e249d
--- /dev/null
+++ b/misc-utils/namei.1
@@ -0,0 +1,74 @@
+.\"
+.\" Version 1.4 of namei
+.\"
+.TH NAMEI 1 "June 2011" "util-linux" "User Commands"
+.SH NAME
+namei \- follow a pathname until a terminal point is found
+.SH SYNOPSIS
+.B namei
+.RI [ options ]
+.IR pathname ...
+.SH DESCRIPTION
+.B namei
+uses its arguments as pathnames to any type
+of Unix file (symlinks, files, directories, and so forth).
+.B namei
+then follows each pathname until an endpoint
+is found (a file, a directory, a device node, etc).
+If it finds a symbolic link, it shows the link, and starts
+following it, indenting the output to show the context.
+.PP
+This program is useful for finding "too many levels of
+symbolic links" problems.
+.PP
+For each line of output,
+.B namei
+uses the following characters to identify the file type found:
+.LP
+.nf
+ f: = the pathname currently being resolved
+ d = directory
+ l = symbolic link (both the link and its contents are output)
+ s = socket
+ b = block device
+ c = character device
+ p = FIFO (named pipe)
+ - = regular file
+ ? = an error of some kind
+.fi
+.PP
+.B namei
+prints an informative message when
+the maximum number of symbolic links this system can have has been exceeded.
+.SH OPTIONS
+.IP "\fB\-l, \-\-long\fP"
+Use the long listing format (same as -m -o -v).
+.IP "\fB\-m, \-\-modes\fP"
+Show the mode bits of each file type in the style of ls(1),
+for example 'rwxr-xr-x'.
+.IP "\fB\-o, \-\-owners\fP"
+Show owner and group name of each file.
+.IP "\fB\-n, \-\-nosymlinks\fP"
+Don't follow symlinks.
+.IP "\fB\-v, \-\-vertical\fP"
+Vertically align the modes and owners.
+.IP "\fB\-x, \-\-mountpoints\fP"
+Show mountpoint directories with a 'D' rather than a 'd'.
+.IP "\fB\-h\fR, \fB\-\-help\fR"
+Output help text and exit.
+.IP "\fB\-V\fR, \fB\-\-version\fR"
+Output version information and exit.
+.SH AUTHOR
+The original
+.B namei
+program was written by Roger Southwick <rogers@amadeus.wr.tek.com>.
+
+The program was re-written by Karel Zak <kzak@redhat.com>.
+.SH BUGS
+To be discovered.
+.SH "SEE ALSO"
+.BR ls (1),
+.BR stat (1)
+.SH AVAILABILITY
+The namei command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/namei.c b/misc-utils/namei.c
new file mode 100644
index 0000000..376a2f0
--- /dev/null
+++ b/misc-utils/namei.c
@@ -0,0 +1,528 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file is part of util-linux.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * The original namei(1) was writtent by:
+ * Roger S. Southwick (May 2, 1990)
+ * Steve Tell (March 28, 1991)
+ * Arkadiusz Mikiewicz (1999-02-22)
+ * Li Zefan (2007-09-10).
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+#include <pwd.h>
+#include <grp.h>
+
+#include "c.h"
+#include "xalloc.h"
+#include "nls.h"
+#include "widechar.h"
+#include "strutils.h"
+#include "closestream.h"
+
+#ifndef MAXSYMLINKS
+#define MAXSYMLINKS 256
+#endif
+
+#ifndef LOGIN_NAME_MAX
+#define LOGIN_NAME_MAX 256
+#endif
+
+#define NAMEI_NOLINKS (1 << 1)
+#define NAMEI_MODES (1 << 2)
+#define NAMEI_MNTS (1 << 3)
+#define NAMEI_OWNERS (1 << 4)
+#define NAMEI_VERTICAL (1 << 5)
+
+
+struct namei {
+ struct stat st; /* item lstat() */
+ char *name; /* item name */
+ char *abslink; /* absolute symlink path */
+ int relstart; /* offset of relative path in 'abslink' */
+ struct namei *next; /* next item */
+ int level;
+ int mountpoint; /* is mount point */
+ int noent; /* is this item not existing */
+};
+
+struct idcache {
+ unsigned long int id;
+ char *name;
+ struct idcache *next;
+};
+
+static int flags;
+static int uwidth; /* maximal width of username */
+static int gwidth; /* maximal width of groupname */
+static struct idcache *gcache; /* groupnames */
+static struct idcache *ucache; /* usernames */
+
+static struct idcache *
+get_id(struct idcache *ic, unsigned long int id)
+{
+ while(ic) {
+ if (ic->id == id)
+ return ic;
+ ic = ic->next;
+ }
+ return NULL;
+}
+
+static void
+free_idcache(struct idcache *ic)
+{
+ while(ic) {
+ struct idcache *next = ic->next;
+ free(ic->name);
+ free(ic);
+ ic = next;
+ }
+}
+
+static void
+add_id(struct idcache **ic, char *name, unsigned long int id, int *width)
+{
+ struct idcache *nc, *x;
+ int w = 0;
+
+ nc = xcalloc(1, sizeof(*nc));
+ nc->id = id;
+
+ if (name) {
+#ifdef HAVE_WIDECHAR
+ wchar_t wc[LOGIN_NAME_MAX + 1];
+
+ if (mbstowcs(wc, name, LOGIN_NAME_MAX) > 0) {
+ wc[LOGIN_NAME_MAX] = '\0';
+ w = wcswidth(wc, LOGIN_NAME_MAX);
+ }
+ else
+#endif
+ w = strlen(name);
+ }
+ /* note, we ignore names with non-printable widechars */
+ if (w > 0)
+ nc->name = xstrdup(name);
+ else if (xasprintf(&nc->name, "%lu", id) == -1)
+ nc->name = NULL;
+
+ for (x = *ic; x && x->next; x = x->next);
+
+ /* add 'nc' at end of the 'ic' list */
+ if (x)
+ x->next = nc;
+ else
+ *ic = nc;
+ if (w <= 0)
+ w = nc->name ? strlen(nc->name) : 0;
+
+ *width = *width < w ? w : *width;
+ return;
+}
+
+static void
+add_uid(unsigned long int id)
+{
+ struct idcache *ic = get_id(ucache, id);
+
+ if (!ic) {
+ struct passwd *pw = getpwuid((uid_t) id);
+ add_id(&ucache, pw ? pw->pw_name : NULL, id, &uwidth);
+ }
+}
+
+static void
+add_gid(unsigned long int id)
+{
+ struct idcache *ic = get_id(gcache, id);
+
+ if (!ic) {
+ struct group *gr = getgrgid((gid_t) id);
+ add_id(&gcache, gr ? gr->gr_name : NULL, id, &gwidth);
+ }
+}
+
+static void
+free_namei(struct namei *nm)
+{
+ while (nm) {
+ struct namei *next = nm->next;
+ free(nm->name);
+ free(nm->abslink);
+ free(nm);
+ nm = next;
+ }
+}
+
+static void
+readlink_to_namei(struct namei *nm, const char *path)
+{
+ char sym[PATH_MAX];
+ ssize_t sz;
+ int isrel = 0;
+
+ sz = readlink(path, sym, sizeof(sym));
+ if (sz < 1)
+ err(EXIT_FAILURE, _("failed to read symlink: %s"), path);
+ if (*sym != '/') {
+ char *p = strrchr(path, '/');
+
+ if (p) {
+ isrel = 1;
+ nm->relstart = p ? p - path : 0;
+ sz += nm->relstart + 1;
+ }
+ }
+ nm->abslink = xmalloc(sz + 1);
+
+ if (*sym != '/' && isrel) {
+ /* create the absolute path from the relative symlink */
+ memcpy(nm->abslink, path, nm->relstart);
+ *(nm->abslink + nm->relstart) = '/';
+ nm->relstart++;
+ memcpy(nm->abslink + nm->relstart, sym, sz - nm->relstart);
+ } else
+ /* - absolute link (foo -> /path/bar)
+ * - or link without any subdir (foo -> bar)
+ */
+ memcpy(nm->abslink, sym, sz);
+
+ nm->abslink[sz] = '\0';
+}
+
+static struct stat *
+dotdot_stat(const char *dirname, struct stat *st)
+{
+ char *path;
+ size_t len;
+
+#define DOTDOTDIR "/.."
+
+ if (!dirname)
+ return NULL;
+
+ len = strlen(dirname);
+ path = xmalloc(len + sizeof(DOTDOTDIR));
+
+ memcpy(path, dirname, len);
+ memcpy(path + len, DOTDOTDIR, sizeof(DOTDOTDIR));
+
+ if (stat(path, st))
+ err(EXIT_FAILURE, _("stat failed %s"), path);
+ free(path);
+ return st;
+}
+
+static struct namei *
+new_namei(struct namei *parent, const char *path, const char *fname, int lev)
+{
+ struct namei *nm;
+
+ if (!fname)
+ return NULL;
+ nm = xcalloc(1, sizeof(*nm));
+ if (parent)
+ parent->next = nm;
+
+ nm->level = lev;
+ nm->name = xstrdup(fname);
+
+ nm->noent = (lstat(path, &nm->st) == -1);
+ if (nm->noent)
+ return nm;
+
+ if (S_ISLNK(nm->st.st_mode))
+ readlink_to_namei(nm, path);
+ if (flags & NAMEI_OWNERS) {
+ add_uid(nm->st.st_uid);
+ add_gid(nm->st.st_gid);
+ }
+
+ if ((flags & NAMEI_MNTS) && S_ISDIR(nm->st.st_mode)) {
+ struct stat stbuf, *sb = NULL;
+
+ if (parent && S_ISDIR(parent->st.st_mode))
+ sb = &parent->st;
+ else if (!parent || S_ISLNK(parent->st.st_mode))
+ sb = dotdot_stat(path, &stbuf);
+
+ if (sb && (sb->st_dev != nm->st.st_dev || /* different device */
+ sb->st_ino == nm->st.st_ino)) /* root directory */
+ nm->mountpoint = 1;
+ }
+
+ return nm;
+}
+
+static struct namei *
+add_namei(struct namei *parent, const char *orgpath, int start, struct namei **last)
+{
+ struct namei *nm = NULL, *first = NULL;
+ char *fname, *end, *path;
+ int level = 0;
+
+ if (!orgpath)
+ return NULL;
+ if (parent) {
+ nm = parent;
+ level = parent->level + 1;
+ }
+ path = xstrdup(orgpath);
+ fname = path + start;
+
+ /* root directory */
+ if (*fname == '/') {
+ while (*fname == '/')
+ fname++; /* eat extra '/' */
+ first = nm = new_namei(nm, "/", "/", level);
+ }
+
+ for (end = fname; fname && end; ) {
+ /* set end of filename */
+ if (*fname) {
+ end = strchr(fname, '/');
+ if (end)
+ *end = '\0';
+
+ /* create a new entry */
+ nm = new_namei(nm, path, fname, level);
+ } else
+ end = NULL;
+ if (!first)
+ first = nm;
+ /* set begin of the next filename */
+ if (end) {
+ *end++ = '/';
+ while (*end == '/')
+ end++; /* eat extra '/' */
+ }
+ fname = end;
+ }
+
+ if (last)
+ *last = nm;
+
+ free(path);
+
+ return first;
+}
+
+static int
+follow_symlinks(struct namei *nm)
+{
+ int symcount = 0;
+
+ for (; nm; nm = nm->next) {
+ struct namei *next, *last;
+
+ if (nm->noent)
+ continue;
+ if (!S_ISLNK(nm->st.st_mode))
+ continue;
+ if (++symcount > MAXSYMLINKS) {
+ /* drop the rest of the list */
+ free_namei(nm->next);
+ nm->next = NULL;
+ return -1;
+ }
+ next = nm->next;
+ nm->next = add_namei(nm, nm->abslink, nm->relstart, &last);
+ if (last)
+ last->next = next;
+ else
+ nm->next = next;
+ }
+ return 0;
+}
+
+static int
+print_namei(struct namei *nm, char *path)
+{
+ int i;
+
+ if (path)
+ printf("f: %s\n", path);
+
+ for (; nm; nm = nm->next) {
+ char md[11];
+
+ if (nm->noent) {
+ printf(_("%s - No such file or directory\n"), nm->name);
+ return -1;
+ }
+
+ strmode(nm->st.st_mode, md);
+
+ if (nm->mountpoint)
+ md[0] = 'D';
+
+ if (!(flags & NAMEI_VERTICAL)) {
+ for (i = 0; i < nm->level; i++)
+ fputs(" ", stdout);
+ fputc(' ', stdout);
+ }
+
+ if (flags & NAMEI_MODES)
+ printf("%s", md);
+ else
+ printf("%c", md[0]);
+
+ if (flags & NAMEI_OWNERS) {
+ printf(" %-*s", uwidth,
+ get_id(ucache, nm->st.st_uid)->name);
+ printf(" %-*s", gwidth,
+ get_id(gcache, nm->st.st_gid)->name);
+ }
+
+ if (flags & NAMEI_VERTICAL)
+ for (i = 0; i < nm->level; i++)
+ fputs(" ", stdout);
+
+ if (S_ISLNK(nm->st.st_mode))
+ printf(" %s -> %s\n", nm->name,
+ nm->abslink + nm->relstart);
+ else
+ printf(" %s\n", nm->name);
+ }
+ return 0;
+}
+
+static void usage(int rc)
+{
+ const char *p = program_invocation_short_name;
+ FILE *out = rc == EXIT_FAILURE ? stderr : stdout;
+
+ if (!*p)
+ p = "namei";
+
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] pathname [pathname ...]\n"), p);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -h, --help displays this help text\n"
+ " -V, --version output version information and exit\n"
+ " -x, --mountpoints show mount point directories with a 'D'\n"
+ " -m, --modes show the mode bits of each file\n"
+ " -o, --owners show owner and group name of each file\n"
+ " -l, --long use a long listing format (-m -o -v) \n"
+ " -n, --nosymlinks don't follow symlinks\n"
+ " -v, --vertical vertical align of modes and owners\n"), out);
+
+ fputs(_("\nFor more information see namei(1).\n"), out);
+ exit(rc);
+}
+
+static const struct option longopts[] =
+{
+ { "help", 0, 0, 'h' },
+ { "version", 0, 0, 'V' },
+ { "mountpoints",0, 0, 'x' },
+ { "modes", 0, 0, 'm' },
+ { "owners", 0, 0, 'o' },
+ { "long", 0, 0, 'l' },
+ { "nolinks", 0, 0, 'n' },
+ { "vertical", 0, 0, 'v' },
+ { NULL, 0, 0, 0 },
+};
+
+int
+main(int argc, char **argv)
+{
+ int c;
+ int rc = EXIT_SUCCESS;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "hVlmnovx", longopts, NULL)) != -1) {
+ switch(c) {
+ case 'h':
+ usage(EXIT_SUCCESS);
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'l':
+ flags |= (NAMEI_OWNERS | NAMEI_MODES | NAMEI_VERTICAL);
+ break;
+ case 'm':
+ flags |= NAMEI_MODES;
+ break;
+ case 'n':
+ flags |= NAMEI_NOLINKS;
+ break;
+ case 'o':
+ flags |= NAMEI_OWNERS;
+ break;
+ case 'x':
+ flags |= NAMEI_MNTS;
+ break;
+ case 'v':
+ flags |= NAMEI_VERTICAL;
+ break;
+ default:
+ usage(EXIT_FAILURE);
+ }
+ }
+
+ if (optind == argc) {
+ warnx(_("pathname argument is missing"));
+ usage(EXIT_FAILURE);
+ }
+
+ for(; optind < argc; optind++) {
+ char *path = argv[optind];
+ struct namei *nm = NULL;
+ struct stat st;
+
+ if (stat(path, &st) != 0)
+ rc = EXIT_FAILURE;
+
+ nm = add_namei(NULL, path, 0, NULL);
+ if (nm) {
+ int sml = 0;
+ if (!(flags & NAMEI_NOLINKS))
+ sml = follow_symlinks(nm);
+ if (print_namei(nm, path)) {
+ rc = EXIT_FAILURE;
+ continue;
+ }
+ free_namei(nm);
+ if (sml == -1) {
+ rc = EXIT_FAILURE;
+ warnx(_("%s: exceeded limit of symlinks"), path);
+ continue;
+ }
+ }
+ }
+
+ free_idcache(ucache);
+ free_idcache(gcache);
+
+ return rc;
+}
+
diff --git a/misc-utils/procs.c b/misc-utils/procs.c
new file mode 100644
index 0000000..e76c390
--- /dev/null
+++ b/misc-utils/procs.c
@@ -0,0 +1,126 @@
+/*
+ * procs.c -- functions to parse the linux /proc filesystem.
+ * (c) 1994 salvatore valente <svalente@mit.edu>
+ *
+ * this program is free software. you can redistribute it and
+ * modify it under the terms of the gnu general public license.
+ * there is no warranty.
+ *
+ * faith
+ * 1.2
+ * 1995/02/23 01:20:40
+ *
+ */
+
+#define _POSIX_SOURCE 1
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dirent.h>
+#include <ctype.h>
+#include <unistd.h>
+#include "kill.h"
+#include "xalloc.h"
+
+extern char *mybasename (char *);
+static char *parse_parens (char *buf);
+
+int *
+get_pids (char *process_name, int get_all) {
+ DIR *dir;
+ struct dirent *ent;
+ int status;
+ char *dname, fname[100], *cp, buf[256];
+ struct stat st;
+ uid_t uid;
+ FILE *fp;
+ int pid, *pids, num_pids, pids_size;
+
+ dir = opendir ("/proc");
+ if (! dir) {
+ perror ("opendir /proc");
+ return NULL;
+ }
+ uid = getuid ();
+ pids = NULL;
+ num_pids = pids_size = 0;
+
+ while ((ent = readdir (dir)) != NULL) {
+ dname = ent->d_name;
+ if (! isdigit (*dname)) continue;
+ pid = atoi (dname);
+ sprintf (fname, "/proc/%d/cmdline", pid);
+ /* get the process owner */
+ status = stat (fname, &st);
+ if (status != 0) continue;
+ if (! get_all && uid != st.st_uid) continue;
+ /* get the command line */
+ fp = fopen (fname, "r");
+ if (! fp) continue;
+ cp = fgets (buf, sizeof (buf), fp);
+ fclose (fp);
+ /* an empty command line means the process is swapped out */
+ if (! cp || ! *cp) {
+ /* get the process name from the statfile */
+ sprintf (fname, "/proc/%d/stat", pid);
+ fp = fopen (fname, "r");
+ if (! fp) continue;
+ cp = fgets (buf, sizeof (buf), fp);
+ fclose (fp);
+ if (cp == NULL) continue;
+ cp = parse_parens (buf);
+ if (cp == NULL) continue;
+ }
+ /* ok, we got the process name. */
+ if (strcmp (process_name, mybasename (cp))) continue;
+ while (pids_size < num_pids + 2) {
+ pids_size += 5;
+ pids = (int *) xrealloc (pids, sizeof (int) * pids_size);
+ }
+ if (pids) {
+ pids[num_pids++] = pid;
+ pids[num_pids] = -1;
+ }
+ }
+ closedir (dir);
+ return pids;
+}
+
+/*
+ * parse_parens () -- return an index just past the first open paren in
+ * buf, and terminate the string at the matching close paren.
+ */
+static char *parse_parens (char *buf)
+{
+ char *cp, *ip;
+ int depth;
+
+ cp = strchr (buf, '(');
+ if (cp == NULL) return NULL;
+ cp++;
+ depth = 1;
+ for (ip = cp; *ip; ip++) {
+ if (*ip == '(')
+ depth++;
+ if (*ip == ')') {
+ depth--;
+ if (depth == 0) {
+ *ip = 0;
+ break;
+ }
+ }
+ }
+ return cp;
+}
+
+char *mybasename (char *path)
+{
+ char *cp;
+
+ cp = strrchr (path, '/');
+ return (cp ? cp + 1 : path);
+}
+
diff --git a/misc-utils/rename.1 b/misc-utils/rename.1
new file mode 100644
index 0000000..5f86b23
--- /dev/null
+++ b/misc-utils/rename.1
@@ -0,0 +1,60 @@
+.\" Written by Andries E. Brouwer (aeb@cwi.nl)
+.\" Placed in the public domain
+.\"
+.TH RENAME 1 "June 2011" "util-linux" "User Commands"
+.SH NAME
+rename \- rename files
+.SH SYNOPSIS
+.B rename
+.RI [ options ] " expression replacement file" ...
+.SH DESCRIPTION
+.B rename
+will rename the specified files by replacing the first occurrence of
+.I expression
+in their name by
+.IR replacement .
+.SH OPTIONS
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+Give visual feedback which files where renamed, if any.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help text and exit.
+.SH EXAMPLES
+Given the files
+.IR foo1 ", ..., " foo9 ", " foo10 ", ..., " foo278 ,
+the commands
+.RS
+.PP
+.nf
+rename foo foo0 foo?
+rename foo foo0 foo??
+.fi
+.PP
+.RE
+will turn them into
+.IR foo001 ", ..., " foo009 ", " foo010 ", ..., " foo278 .
+And
+.RS
+.PP
+.nf
+rename .htm .html *.htm
+.fi
+.PP
+.RE
+will fix the extension of your html files.
+.SH WARNING
+The renaming has no safeguards. If the user has permission to rewrite file names,
+the command will perform the action without any questions. For example, the
+result can be quite drastic when the command is run as root in the /lib
+directory. Always make a backup before running the command, unless you truly
+know what you are doing.
+.SH "SEE ALSO"
+.BR mmv (1),
+.BR mv (1)
+.SH AVAILABILITY
+The rename command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/rename.c b/misc-utils/rename.c
new file mode 100644
index 0000000..b17e03b
--- /dev/null
+++ b/misc-utils/rename.c
@@ -0,0 +1,126 @@
+/*
+ * rename.c - aeb 2000-01-01
+ *
+--------------------------------------------------------------
+#!/bin/sh
+if [ $# -le 2 ]; then echo call: rename from to files; exit; fi
+FROM="$1"
+TO="$2"
+shift
+shift
+for i in $@; do N=`echo "$i" | sed "s/$FROM/$TO/g"`; mv "$i" "$N"; done
+--------------------------------------------------------------
+ * This shell script will do renames of files, but may fail
+ * in cases involving special characters. Here a C version.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <getopt.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "c.h"
+#include "closestream.h"
+
+static int do_rename(char *from, char *to, char *s, int verbose)
+{
+ char *newname, *where, *p, *q;
+ int flen, tlen, slen;
+
+ where = strstr(s, from);
+ if (where == NULL)
+ return 0;
+
+ flen = strlen(from);
+ tlen = strlen(to);
+ slen = strlen(s);
+ newname = xmalloc(tlen + slen + 1);
+
+ p = s;
+ q = newname;
+ while (p < where)
+ *q++ = *p++;
+ p = to;
+ while (*p)
+ *q++ = *p++;
+ p = where + flen;
+ while (*p)
+ *q++ = *p++;
+ *q = 0;
+
+ if (rename(s, newname) != 0)
+ err(EXIT_FAILURE, _("renaming %s to %s failed"),
+ s, newname);
+ if (verbose)
+ printf("`%s' -> `%s'\n", s, newname);
+
+ free(newname);
+ return 1;
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] expression replacement file...\n"),
+ program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -v, --verbose explain what is being done\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ char *from, *to;
+ int i, c, verbose = 0;
+
+ static const struct option longopts[] = {
+ {"verbose", no_argument, NULL, 'v'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "vVh", longopts, NULL)) != -1)
+ switch (c) {
+ case 'v':
+ verbose = 1;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ if (argc < 3) {
+ warnx("not enough arguments");
+ usage(stderr);
+ }
+
+ from = argv[0];
+ to = argv[1];
+
+ for (i = 2; i < argc; i++)
+ do_rename(from, to, argv[i], verbose);
+
+ return EXIT_SUCCESS;
+}
diff --git a/misc-utils/sd-daemon.c b/misc-utils/sd-daemon.c
new file mode 100644
index 0000000..763e079
--- /dev/null
+++ b/misc-utils/sd-daemon.c
@@ -0,0 +1,530 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ Copyright 2010 Lennart Poettering
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation files
+ (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+***/
+
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+#ifdef __BIONIC__
+#include <linux/fcntl.h>
+#else
+#include <sys/fcntl.h>
+#endif
+#include <netinet/in.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stddef.h>
+#include <limits.h>
+
+#if defined(__linux__)
+#include <mqueue.h>
+#endif
+
+#include "sd-daemon.h"
+
+#if (__GNUC__ >= 4)
+#ifdef SD_EXPORT_SYMBOLS
+/* Export symbols */
+#define _sd_export_ __attribute__ ((visibility("default")))
+#else
+/* Don't export the symbols */
+#define _sd_export_ __attribute__ ((visibility("hidden")))
+#endif
+#else
+#define _sd_export_
+#endif
+
+_sd_export_ int sd_listen_fds(int unset_environment) {
+
+#if defined(DISABLE_SYSTEMD) || !defined(__linux__)
+ return 0;
+#else
+ int r, fd;
+ const char *e;
+ char *p = NULL;
+ unsigned long l;
+
+ if (!(e = getenv("LISTEN_PID"))) {
+ r = 0;
+ goto finish;
+ }
+
+ errno = 0;
+ l = strtoul(e, &p, 10);
+
+ if (errno != 0) {
+ r = -errno;
+ goto finish;
+ }
+
+ if (!p || *p || l <= 0) {
+ r = -EINVAL;
+ goto finish;
+ }
+
+ /* Is this for us? */
+ if (getpid() != (pid_t) l) {
+ r = 0;
+ goto finish;
+ }
+
+ if (!(e = getenv("LISTEN_FDS"))) {
+ r = 0;
+ goto finish;
+ }
+
+ errno = 0;
+ l = strtoul(e, &p, 10);
+
+ if (errno != 0) {
+ r = -errno;
+ goto finish;
+ }
+
+ if (!p || *p) {
+ r = -EINVAL;
+ goto finish;
+ }
+
+ for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + (int) l; fd ++) {
+ int flags;
+
+ if ((flags = fcntl(fd, F_GETFD)) < 0) {
+ r = -errno;
+ goto finish;
+ }
+
+ if (flags & FD_CLOEXEC)
+ continue;
+
+ if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) < 0) {
+ r = -errno;
+ goto finish;
+ }
+ }
+
+ r = (int) l;
+
+finish:
+ if (unset_environment) {
+ unsetenv("LISTEN_PID");
+ unsetenv("LISTEN_FDS");
+ }
+
+ return r;
+#endif
+}
+
+_sd_export_ int sd_is_fifo(int fd, const char *path) {
+ struct stat st_fd;
+
+ if (fd < 0)
+ return -EINVAL;
+
+ memset(&st_fd, 0, sizeof(st_fd));
+ if (fstat(fd, &st_fd) < 0)
+ return -errno;
+
+ if (!S_ISFIFO(st_fd.st_mode))
+ return 0;
+
+ if (path) {
+ struct stat st_path;
+
+ memset(&st_path, 0, sizeof(st_path));
+ if (stat(path, &st_path) < 0) {
+
+ if (errno == ENOENT || errno == ENOTDIR)
+ return 0;
+
+ return -errno;
+ }
+
+ return
+ st_path.st_dev == st_fd.st_dev &&
+ st_path.st_ino == st_fd.st_ino;
+ }
+
+ return 1;
+}
+
+_sd_export_ int sd_is_special(int fd, const char *path) {
+ struct stat st_fd;
+
+ if (fd < 0)
+ return -EINVAL;
+
+ if (fstat(fd, &st_fd) < 0)
+ return -errno;
+
+ if (!S_ISREG(st_fd.st_mode) && !S_ISCHR(st_fd.st_mode))
+ return 0;
+
+ if (path) {
+ struct stat st_path;
+
+ if (stat(path, &st_path) < 0) {
+
+ if (errno == ENOENT || errno == ENOTDIR)
+ return 0;
+
+ return -errno;
+ }
+
+ if (S_ISREG(st_fd.st_mode) && S_ISREG(st_path.st_mode))
+ return
+ st_path.st_dev == st_fd.st_dev &&
+ st_path.st_ino == st_fd.st_ino;
+ else if (S_ISCHR(st_fd.st_mode) && S_ISCHR(st_path.st_mode))
+ return st_path.st_rdev == st_fd.st_rdev;
+ else
+ return 0;
+ }
+
+ return 1;
+}
+
+static int sd_is_socket_internal(int fd, int type, int listening) {
+ struct stat st_fd;
+
+ if (fd < 0 || type < 0)
+ return -EINVAL;
+
+ if (fstat(fd, &st_fd) < 0)
+ return -errno;
+
+ if (!S_ISSOCK(st_fd.st_mode))
+ return 0;
+
+ if (type != 0) {
+ int other_type = 0;
+ socklen_t l = sizeof(other_type);
+
+ if (getsockopt(fd, SOL_SOCKET, SO_TYPE, &other_type, &l) < 0)
+ return -errno;
+
+ if (l != sizeof(other_type))
+ return -EINVAL;
+
+ if (other_type != type)
+ return 0;
+ }
+
+ if (listening >= 0) {
+ int accepting = 0;
+ socklen_t l = sizeof(accepting);
+
+ if (getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN, &accepting, &l) < 0)
+ return -errno;
+
+ if (l != sizeof(accepting))
+ return -EINVAL;
+
+ if (!accepting != !listening)
+ return 0;
+ }
+
+ return 1;
+}
+
+union sockaddr_union {
+ struct sockaddr sa;
+ struct sockaddr_in in4;
+ struct sockaddr_in6 in6;
+ struct sockaddr_un un;
+ struct sockaddr_storage storage;
+};
+
+_sd_export_ int sd_is_socket(int fd, int family, int type, int listening) {
+ int r;
+
+ if (family < 0)
+ return -EINVAL;
+
+ if ((r = sd_is_socket_internal(fd, type, listening)) <= 0)
+ return r;
+
+ if (family > 0) {
+ union sockaddr_union sockaddr;
+ socklen_t l;
+
+ memset(&sockaddr, 0, sizeof(sockaddr));
+ l = sizeof(sockaddr);
+
+ if (getsockname(fd, &sockaddr.sa, &l) < 0)
+ return -errno;
+
+ if (l < sizeof(sa_family_t))
+ return -EINVAL;
+
+ return sockaddr.sa.sa_family == family;
+ }
+
+ return 1;
+}
+
+_sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) {
+ union sockaddr_union sockaddr;
+ socklen_t l;
+ int r;
+
+ if (family != 0 && family != AF_INET && family != AF_INET6)
+ return -EINVAL;
+
+ if ((r = sd_is_socket_internal(fd, type, listening)) <= 0)
+ return r;
+
+ memset(&sockaddr, 0, sizeof(sockaddr));
+ l = sizeof(sockaddr);
+
+ if (getsockname(fd, &sockaddr.sa, &l) < 0)
+ return -errno;
+
+ if (l < sizeof(sa_family_t))
+ return -EINVAL;
+
+ if (sockaddr.sa.sa_family != AF_INET &&
+ sockaddr.sa.sa_family != AF_INET6)
+ return 0;
+
+ if (family > 0)
+ if (sockaddr.sa.sa_family != family)
+ return 0;
+
+ if (port > 0) {
+ if (sockaddr.sa.sa_family == AF_INET) {
+ if (l < sizeof(struct sockaddr_in))
+ return -EINVAL;
+
+ return htons(port) == sockaddr.in4.sin_port;
+ } else {
+ if (l < sizeof(struct sockaddr_in6))
+ return -EINVAL;
+
+ return htons(port) == sockaddr.in6.sin6_port;
+ }
+ }
+
+ return 1;
+}
+
+_sd_export_ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) {
+ union sockaddr_union sockaddr;
+ socklen_t l;
+ int r;
+
+ if ((r = sd_is_socket_internal(fd, type, listening)) <= 0)
+ return r;
+
+ memset(&sockaddr, 0, sizeof(sockaddr));
+ l = sizeof(sockaddr);
+
+ if (getsockname(fd, &sockaddr.sa, &l) < 0)
+ return -errno;
+
+ if (l < sizeof(sa_family_t))
+ return -EINVAL;
+
+ if (sockaddr.sa.sa_family != AF_UNIX)
+ return 0;
+
+ if (path) {
+ if (length <= 0)
+ length = strlen(path);
+
+ if (length <= 0)
+ /* Unnamed socket */
+ return l == offsetof(struct sockaddr_un, sun_path);
+
+ if (path[0])
+ /* Normal path socket */
+ return
+ (l >= offsetof(struct sockaddr_un, sun_path) + length + 1) &&
+ memcmp(path, sockaddr.un.sun_path, length+1) == 0;
+ else
+ /* Abstract namespace socket */
+ return
+ (l == offsetof(struct sockaddr_un, sun_path) + length) &&
+ memcmp(path, sockaddr.un.sun_path, length) == 0;
+ }
+
+ return 1;
+}
+
+_sd_export_ int sd_is_mq(int fd, const char *path) {
+#if !defined(__linux__)
+ return 0;
+#else
+ struct mq_attr attr;
+
+ if (fd < 0)
+ return -EINVAL;
+
+ if (mq_getattr(fd, &attr) < 0)
+ return -errno;
+
+ if (path) {
+ char fpath[PATH_MAX];
+ struct stat a, b;
+
+ if (path[0] != '/')
+ return -EINVAL;
+
+ if (fstat(fd, &a) < 0)
+ return -errno;
+
+ strncpy(stpcpy(fpath, "/dev/mqueue"), path, sizeof(fpath) - 12);
+ fpath[sizeof(fpath)-1] = 0;
+
+ if (stat(fpath, &b) < 0)
+ return -errno;
+
+ if (a.st_dev != b.st_dev ||
+ a.st_ino != b.st_ino)
+ return 0;
+ }
+
+ return 1;
+#endif
+}
+
+_sd_export_ int sd_notify(int unset_environment, const char *state) {
+#if defined(DISABLE_SYSTEMD) || !defined(__linux__) || !defined(SOCK_CLOEXEC)
+ return 0;
+#else
+ int fd = -1, r;
+ struct msghdr msghdr;
+ struct iovec iovec;
+ union sockaddr_union sockaddr;
+ const char *e;
+
+ if (!state) {
+ r = -EINVAL;
+ goto finish;
+ }
+
+ if (!(e = getenv("NOTIFY_SOCKET")))
+ return 0;
+
+ /* Must be an abstract socket, or an absolute path */
+ if ((e[0] != '@' && e[0] != '/') || e[1] == 0) {
+ r = -EINVAL;
+ goto finish;
+ }
+
+ if ((fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0)) < 0) {
+ r = -errno;
+ goto finish;
+ }
+
+ memset(&sockaddr, 0, sizeof(sockaddr));
+ sockaddr.sa.sa_family = AF_UNIX;
+ strncpy(sockaddr.un.sun_path, e, sizeof(sockaddr.un.sun_path));
+
+ if (sockaddr.un.sun_path[0] == '@')
+ sockaddr.un.sun_path[0] = 0;
+
+ memset(&iovec, 0, sizeof(iovec));
+ iovec.iov_base = (char*) state;
+ iovec.iov_len = strlen(state);
+
+ memset(&msghdr, 0, sizeof(msghdr));
+ msghdr.msg_name = &sockaddr;
+ msghdr.msg_namelen = offsetof(struct sockaddr_un, sun_path) + strlen(e);
+
+ if (msghdr.msg_namelen > sizeof(struct sockaddr_un))
+ msghdr.msg_namelen = sizeof(struct sockaddr_un);
+
+ msghdr.msg_iov = &iovec;
+ msghdr.msg_iovlen = 1;
+
+ if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) {
+ r = -errno;
+ goto finish;
+ }
+
+ r = 1;
+
+finish:
+ if (unset_environment)
+ unsetenv("NOTIFY_SOCKET");
+
+ if (fd >= 0)
+ close(fd);
+
+ return r;
+#endif
+}
+
+_sd_export_ int sd_notifyf(int unset_environment, const char *format, ...) {
+#if defined(DISABLE_SYSTEMD) || !defined(__linux__)
+ return 0;
+#else
+ va_list ap;
+ char *p = NULL;
+ int r;
+
+ va_start(ap, format);
+ r = vasprintf(&p, format, ap);
+ va_end(ap);
+
+ if (r < 0 || !p)
+ return -ENOMEM;
+
+ r = sd_notify(unset_environment, p);
+ free(p);
+
+ return r;
+#endif
+}
+
+_sd_export_ int sd_booted(void) {
+#if defined(DISABLE_SYSTEMD) || !defined(__linux__)
+ return 0;
+#else
+
+ struct stat a, b;
+
+ /* We simply test whether the systemd cgroup hierarchy is
+ * mounted */
+
+ if (lstat("/sys/fs/cgroup", &a) < 0)
+ return 0;
+
+ if (lstat("/sys/fs/cgroup/systemd", &b) < 0)
+ return 0;
+
+ return a.st_dev != b.st_dev;
+#endif
+}
diff --git a/misc-utils/sd-daemon.h b/misc-utils/sd-daemon.h
new file mode 100644
index 0000000..fe51159
--- /dev/null
+++ b/misc-utils/sd-daemon.h
@@ -0,0 +1,282 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#ifndef foosddaemonhfoo
+#define foosddaemonhfoo
+
+/***
+ Copyright 2010 Lennart Poettering
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation files
+ (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+***/
+
+#include <sys/types.h>
+#include <inttypes.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ Reference implementation of a few systemd related interfaces for
+ writing daemons. These interfaces are trivial to implement. To
+ simplify porting we provide this reference implementation.
+ Applications are welcome to reimplement the algorithms described
+ here if they do not want to include these two source files.
+
+ The following functionality is provided:
+
+ - Support for logging with log levels on stderr
+ - File descriptor passing for socket-based activation
+ - Daemon startup and status notification
+ - Detection of systemd boots
+
+ You may compile this with -DDISABLE_SYSTEMD to disable systemd
+ support. This makes all those calls NOPs that are directly related to
+ systemd (i.e. only sd_is_xxx() will stay useful).
+
+ Since this is drop-in code we don't want any of our symbols to be
+ exported in any case. Hence we declare hidden visibility for all of
+ them.
+
+ You may find an up-to-date version of these source files online:
+
+ http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h
+ http://cgit.freedesktop.org/systemd/systemd/plain/src/sd-daemon.c
+
+ This should compile on non-Linux systems, too, but with the
+ exception of the sd_is_xxx() calls all functions will become NOPs.
+
+ See sd-daemon(7) for more information.
+*/
+
+#ifndef _sd_printf_attr_
+#if __GNUC__ >= 4
+#define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
+#else
+#define _sd_printf_attr_(a,b)
+#endif
+#endif
+
+/*
+ Log levels for usage on stderr:
+
+ fprintf(stderr, SD_NOTICE "Hello World!\n");
+
+ This is similar to printk() usage in the kernel.
+*/
+#define SD_EMERG "<0>" /* system is unusable */
+#define SD_ALERT "<1>" /* action must be taken immediately */
+#define SD_CRIT "<2>" /* critical conditions */
+#define SD_ERR "<3>" /* error conditions */
+#define SD_WARNING "<4>" /* warning conditions */
+#define SD_NOTICE "<5>" /* normal but significant condition */
+#define SD_INFO "<6>" /* informational */
+#define SD_DEBUG "<7>" /* debug-level messages */
+
+/* The first passed file descriptor is fd 3 */
+#define SD_LISTEN_FDS_START 3
+
+/*
+ Returns how many file descriptors have been passed, or a negative
+ errno code on failure. Optionally, removes the $LISTEN_FDS and
+ $LISTEN_PID file descriptors from the environment (recommended, but
+ problematic in threaded environments). If r is the return value of
+ this function you'll find the file descriptors passed as fds
+ SD_LISTEN_FDS_START to SD_LISTEN_FDS_START+r-1. Returns a negative
+ errno style error code on failure. This function call ensures that
+ the FD_CLOEXEC flag is set for the passed file descriptors, to make
+ sure they are not passed on to child processes. If FD_CLOEXEC shall
+ not be set, the caller needs to unset it after this call for all file
+ descriptors that are used.
+
+ See sd_listen_fds(3) for more information.
+*/
+int sd_listen_fds(int unset_environment);
+
+/*
+ Helper call for identifying a passed file descriptor. Returns 1 if
+ the file descriptor is a FIFO in the file system stored under the
+ specified path, 0 otherwise. If path is NULL a path name check will
+ not be done and the call only verifies if the file descriptor
+ refers to a FIFO. Returns a negative errno style error code on
+ failure.
+
+ See sd_is_fifo(3) for more information.
+*/
+int sd_is_fifo(int fd, const char *path);
+
+/*
+ Helper call for identifying a passed file descriptor. Returns 1 if
+ the file descriptor is a special character device on the file
+ system stored under the specified path, 0 otherwise.
+ If path is NULL a path name check will not be done and the call
+ only verifies if the file descriptor refers to a special character.
+ Returns a negative errno style error code on failure.
+
+ See sd_is_special(3) for more information.
+*/
+int sd_is_special(int fd, const char *path);
+
+/*
+ Helper call for identifying a passed file descriptor. Returns 1 if
+ the file descriptor is a socket of the specified family (AF_INET,
+ ...) and type (SOCK_DGRAM, SOCK_STREAM, ...), 0 otherwise. If
+ family is 0 a socket family check will not be done. If type is 0 a
+ socket type check will not be done and the call only verifies if
+ the file descriptor refers to a socket. If listening is > 0 it is
+ verified that the socket is in listening mode. (i.e. listen() has
+ been called) If listening is == 0 it is verified that the socket is
+ not in listening mode. If listening is < 0 no listening mode check
+ is done. Returns a negative errno style error code on failure.
+
+ See sd_is_socket(3) for more information.
+*/
+int sd_is_socket(int fd, int family, int type, int listening);
+
+/*
+ Helper call for identifying a passed file descriptor. Returns 1 if
+ the file descriptor is an Internet socket, of the specified family
+ (either AF_INET or AF_INET6) and the specified type (SOCK_DGRAM,
+ SOCK_STREAM, ...), 0 otherwise. If version is 0 a protocol version
+ check is not done. If type is 0 a socket type check will not be
+ done. If port is 0 a socket port check will not be done. The
+ listening flag is used the same way as in sd_is_socket(). Returns a
+ negative errno style error code on failure.
+
+ See sd_is_socket_inet(3) for more information.
+*/
+int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port);
+
+/*
+ Helper call for identifying a passed file descriptor. Returns 1 if
+ the file descriptor is an AF_UNIX socket of the specified type
+ (SOCK_DGRAM, SOCK_STREAM, ...) and path, 0 otherwise. If type is 0
+ a socket type check will not be done. If path is NULL a socket path
+ check will not be done. For normal AF_UNIX sockets set length to
+ 0. For abstract namespace sockets set length to the length of the
+ socket name (including the initial 0 byte), and pass the full
+ socket path in path (including the initial 0 byte). The listening
+ flag is used the same way as in sd_is_socket(). Returns a negative
+ errno style error code on failure.
+
+ See sd_is_socket_unix(3) for more information.
+*/
+int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length);
+
+/*
+ Helper call for identifying a passed file descriptor. Returns 1 if
+ the file descriptor is a POSIX Message Queue of the specified name,
+ 0 otherwise. If path is NULL a message queue name check is not
+ done. Returns a negative errno style error code on failure.
+*/
+int sd_is_mq(int fd, const char *path);
+
+/*
+ Informs systemd about changed daemon state. This takes a number of
+ newline separated environment-style variable assignments in a
+ string. The following variables are known:
+
+ READY=1 Tells systemd that daemon startup is finished (only
+ relevant for services of Type=notify). The passed
+ argument is a boolean "1" or "0". Since there is
+ little value in signaling non-readiness the only
+ value daemons should send is "READY=1".
+
+ STATUS=... Passes a single-line status string back to systemd
+ that describes the daemon state. This is free-from
+ and can be used for various purposes: general state
+ feedback, fsck-like programs could pass completion
+ percentages and failing programs could pass a human
+ readable error message. Example: "STATUS=Completed
+ 66% of file system check..."
+
+ ERRNO=... If a daemon fails, the errno-style error code,
+ formatted as string. Example: "ERRNO=2" for ENOENT.
+
+ BUSERROR=... If a daemon fails, the D-Bus error-style error
+ code. Example: "BUSERROR=org.freedesktop.DBus.Error.TimedOut"
+
+ MAINPID=... The main pid of a daemon, in case systemd did not
+ fork off the process itself. Example: "MAINPID=4711"
+
+ WATCHDOG=1 Tells systemd to update the watchdog timestamp.
+ Services using this feature should do this in
+ regular intervals. A watchdog framework can use the
+ timestamps to detect failed services.
+
+ Daemons can choose to send additional variables. However, it is
+ recommended to prefix variable names not listed above with X_.
+
+ Returns a negative errno-style error code on failure. Returns > 0
+ if systemd could be notified, 0 if it couldn't possibly because
+ systemd is not running.
+
+ Example: When a daemon finished starting up, it could issue this
+ call to notify systemd about it:
+
+ sd_notify(0, "READY=1");
+
+ See sd_notifyf() for more complete examples.
+
+ See sd_notify(3) for more information.
+*/
+int sd_notify(int unset_environment, const char *state);
+
+/*
+ Similar to sd_notify() but takes a format string.
+
+ Example 1: A daemon could send the following after initialization:
+
+ sd_notifyf(0, "READY=1\n"
+ "STATUS=Processing requests...\n"
+ "MAINPID=%lu",
+ (unsigned long) getpid());
+
+ Example 2: A daemon could send the following shortly before
+ exiting, on failure:
+
+ sd_notifyf(0, "STATUS=Failed to start up: %s\n"
+ "ERRNO=%i",
+ strerror(errno),
+ errno);
+
+ See sd_notifyf(3) for more information.
+*/
+int sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_attr_(2,3);
+
+/*
+ Returns > 0 if the system was booted with systemd. Returns < 0 on
+ error. Returns 0 if the system was not booted with systemd. Note
+ that all of the functions above handle non-systemd boots just
+ fine. You should NOT protect them with a call to this function. Also
+ note that this function checks whether the system, not the user
+ session is controlled by systemd. However the functions above work
+ for both user and system services.
+
+ See sd_booted(3) for more information.
+*/
+int sd_booted(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/misc-utils/uuidd.8 b/misc-utils/uuidd.8
new file mode 100644
index 0000000..39f31cb
--- /dev/null
+++ b/misc-utils/uuidd.8
@@ -0,0 +1,94 @@
+.\" -*- nroff -*-
+.\" Copyright 2007 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH UUIDD 8 "June 2011" "util-linux" "System Administration"
+.SH NAME
+uuidd \- UUID generation daemon
+.SH SYNOPSIS
+.B uuidd
+.RI [ options ]
+.SH DESCRIPTION
+The
+.B uuidd
+daemon is used by the UUID library to generate
+universally unique identifiers (UUIDs), especially time-based UUIDs,
+in a secure and guaranteed-unique fashion, even in the face of large
+numbers of threads running on different CPUs trying to grab UUIDs.
+.SH OPTIONS
+.TP
+.B \-d
+Run uuidd in debugging mode. This prevents uuidd from running as a daemon.
+.TP
+.BR \-h , " \-\-help "
+Display help screen and exit.
+.TP
+.BR \-k , " \-\-kill "
+If currently a uuidd daemon is running, kill it.
+.TP
+.BR \-n , " \-\-uuids " \fInumber\fR
+When issuing a test request to a running uuidd, request a bulk response
+of
+.I number
+UUIDs.
+.TP
+.BR \-p , " \-\-pid " \fIpath\fR
+Specify the pathname where the pid file should be written. By default,
+the pid file is written to /run/uuidd/uuidd.pid.
+.TP
+.BR \-P , " \-\-no-pid "
+Do not create pid file.
+.TP
+.BR \-F , " \-\-no-fork "
+Do not daemonize using double-fork.
+.TP
+.BR \-S , " \-\-socket-activation "
+Do not create the socket and instead expect it to be provided by the calling
+process. Implies --no-fork and --no-pid. As of this writing, this option is
+supposed to be used only with systemd. This option must be enabled with a configure
+option.
+.TP
+.B \-q
+Suppress some failure messages.
+.TP
+.BR \-r , " \-\-random "
+Test uuidd by trying to connect to a running uuidd daemon and
+request it to return a random-based UUID.
+.TP
+.BR \-s , " \-\-socket " \fIpath\fR
+Specify the pathname used for the unix-domain socket used by uuidd. By
+default, the pathname used is /run/uuidd/request. This is primarily
+for debugging purposes, since the pathname is hard-coded in the libuuid
+library.
+.TP
+.BR \-T , " \-\-timeout " \fItimeout\fR
+Specify a timeout for uuidd. If specified, then uuidd will exit after
+.I timeout
+seconds of inactivity.
+.TP
+.BR \-t , " \-\-time "
+Test uuidd by trying to connect to a running uuidd daemon and
+request it to return a time-based UUID.
+.TP
+.BR \-V , " \-\-version "
+Output version information and exit.
+.SH EXAMPLE
+Start up a daemon, print 42 random keys, and then stop the daemon.
+.PP
+.RS
+.nf
+uuidd -p /tmp/uuidd.pid -s /tmp/uuidd.socket
+uuidd -d -r -n 42 -s /tmp/uuidd.socket
+uuidd -d -k -s /tmp/uuidd.socket
+.nf
+.RE
+.SH AUTHOR
+The
+.B uuidd
+daemon was written by Theodore Ts'o <tytso@mit.edu>.
+.SH AVAILABILITY
+The uuidd daemon is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuidgen (1)
diff --git a/misc-utils/uuidd.8.in b/misc-utils/uuidd.8.in
new file mode 100644
index 0000000..f35a41e
--- /dev/null
+++ b/misc-utils/uuidd.8.in
@@ -0,0 +1,94 @@
+.\" -*- nroff -*-
+.\" Copyright 2007 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH UUIDD 8 "June 2011" "util-linux" "System Administration"
+.SH NAME
+uuidd \- UUID generation daemon
+.SH SYNOPSIS
+.B uuidd
+.RI [ options ]
+.SH DESCRIPTION
+The
+.B uuidd
+daemon is used by the UUID library to generate
+universally unique identifiers (UUIDs), especially time-based UUIDs,
+in a secure and guaranteed-unique fashion, even in the face of large
+numbers of threads running on different CPUs trying to grab UUIDs.
+.SH OPTIONS
+.TP
+.B \-d
+Run uuidd in debugging mode. This prevents uuidd from running as a daemon.
+.TP
+.BR \-h , " \-\-help "
+Display help screen and exit.
+.TP
+.BR \-k , " \-\-kill "
+If currently a uuidd daemon is running, kill it.
+.TP
+.BR \-n , " \-\-uuids " \fInumber\fR
+When issuing a test request to a running uuidd, request a bulk response
+of
+.I number
+UUIDs.
+.TP
+.BR \-p , " \-\-pid " \fIpath\fR
+Specify the pathname where the pid file should be written. By default,
+the pid file is written to @localstatedir@/uuidd/uuidd.pid.
+.TP
+.BR \-P , " \-\-no-pid "
+Do not create pid file.
+.TP
+.BR \-F , " \-\-no-fork "
+Do not daemonize using double-fork.
+.TP
+.BR \-S , " \-\-socket-activation "
+Do not create the socket and instead expect it to be provided by the calling
+process. Implies --no-fork and --no-pid. As of this writing, this option is
+supposed to be used only with systemd. This option must be enabled with a configure
+option.
+.TP
+.B \-q
+Suppress some failure messages.
+.TP
+.BR \-r , " \-\-random "
+Test uuidd by trying to connect to a running uuidd daemon and
+request it to return a random-based UUID.
+.TP
+.BR \-s , " \-\-socket " \fIpath\fR
+Specify the pathname used for the unix-domain socket used by uuidd. By
+default, the pathname used is @localstatedir@/uuidd/request. This is primarily
+for debugging purposes, since the pathname is hard-coded in the libuuid
+library.
+.TP
+.BR \-T , " \-\-timeout " \fItimeout\fR
+Specify a timeout for uuidd. If specified, then uuidd will exit after
+.I timeout
+seconds of inactivity.
+.TP
+.BR \-t , " \-\-time "
+Test uuidd by trying to connect to a running uuidd daemon and
+request it to return a time-based UUID.
+.TP
+.BR \-V , " \-\-version "
+Output version information and exit.
+.SH EXAMPLE
+Start up a daemon, print 42 random keys, and then stop the daemon.
+.PP
+.RS
+.nf
+uuidd -p /tmp/uuidd.pid -s /tmp/uuidd.socket
+uuidd -d -r -n 42 -s /tmp/uuidd.socket
+uuidd -d -k -s /tmp/uuidd.socket
+.nf
+.RE
+.SH AUTHOR
+The
+.B uuidd
+daemon was written by Theodore Ts'o <tytso@mit.edu>.
+.SH AVAILABILITY
+The uuidd daemon is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuidgen (1)
diff --git a/misc-utils/uuidd.c b/misc-utils/uuidd.c
new file mode 100644
index 0000000..3dde49e
--- /dev/null
+++ b/misc-utils/uuidd.c
@@ -0,0 +1,669 @@
+/*
+ * uuidd.c --- UUID-generation daemon
+ *
+ * Copyright (C) 2007 Theodore Ts'o
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ * %End-Header%
+ */
+#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#include <unistd.h>
+#include <inttypes.h>
+#include <errno.h>
+#include <err.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <string.h>
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#else
+extern int getopt(int argc, char * const argv[], const char *optstring);
+extern char *optarg;
+extern int optind;
+#endif
+
+#include "uuid.h"
+#include "uuidd.h"
+#include "all-io.h"
+#include "c.h"
+#include "closestream.h"
+
+#ifdef USE_SOCKET_ACTIVATION
+#include "sd-daemon.h"
+#endif
+
+#include "nls.h"
+
+#ifdef __GNUC__
+#define CODE_ATTR(x) __attribute__(x)
+#else
+#define CODE_ATTR(x)
+#endif
+
+/* length of textual representation of UUID, including trailing \0 */
+#define UUID_STR_LEN 37
+
+/* length of binary representation of UUID */
+#define UUID_LEN (sizeof(uuid_t))
+
+/* server loop control structure */
+struct uuidd_cxt_t {
+ int timeout;
+ unsigned int debug: 1,
+ quiet: 1,
+ no_fork: 1,
+ no_sock: 1;
+};
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -p, --pid <path> path to pid file\n"
+ " -s, --socket <path> path to socket\n"
+ " -T, --timeout <sec> specify inactivity timeout\n"
+ " -k, --kill kill running daemon\n"
+ " -r, --random test random-based generation\n"
+ " -t, --time test time-based generation\n"
+ " -n, --uuids <num> request number of uuids\n"
+ " -P, --no-pid do not create pid file\n"
+ " -F, --no-fork do not daemonize using double-fork\n"
+ " -S, --socket-activation do not create listening socket\n"
+ " -d, --debug run in debugging mode\n"
+ " -q, --quiet turn on quiet mode\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void create_daemon(void)
+{
+ uid_t euid;
+
+ if (daemon(0, 0))
+ err(EXIT_FAILURE, "daemon");
+
+ euid = geteuid();
+ if (setreuid(euid, euid) < 0)
+ err(EXIT_FAILURE, "setreuid");
+}
+
+static const char *cleanup_pidfile, *cleanup_socket;
+
+static void terminate_intr(int signo CODE_ATTR((unused)))
+{
+ if (cleanup_pidfile)
+ unlink(cleanup_pidfile);
+ if (cleanup_socket)
+ unlink(cleanup_socket);
+ exit(EXIT_SUCCESS);
+}
+
+static int call_daemon(const char *socket_path, int op, char *buf,
+ size_t buflen, int *num, const char **err_context)
+{
+ char op_buf[8];
+ int op_len;
+ int s;
+ ssize_t ret;
+ int32_t reply_len = 0;
+ struct sockaddr_un srv_addr;
+
+ if (((op == UUIDD_OP_BULK_TIME_UUID) ||
+ (op == UUIDD_OP_BULK_RANDOM_UUID)) && !num) {
+ if (err_context)
+ *err_context = _("bad arguments");
+ errno = EINVAL;
+ return -1;
+ }
+
+ if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
+ if (err_context)
+ *err_context = _("socket");
+ return -1;
+ }
+
+ srv_addr.sun_family = AF_UNIX;
+ strncpy(srv_addr.sun_path, socket_path, sizeof(srv_addr.sun_path));
+ srv_addr.sun_path[sizeof(srv_addr.sun_path) - 1] = '\0';
+
+ if (connect(s, (const struct sockaddr *) &srv_addr,
+ sizeof(struct sockaddr_un)) < 0) {
+ if (err_context)
+ *err_context = _("connect");
+ close(s);
+ return -1;
+ }
+
+ if (op == UUIDD_OP_BULK_RANDOM_UUID) {
+ if ((*num) * UUID_LEN > buflen - 4)
+ *num = (buflen - 4) / UUID_LEN;
+ }
+ op_buf[0] = op;
+ op_len = 1;
+ if ((op == UUIDD_OP_BULK_TIME_UUID) ||
+ (op == UUIDD_OP_BULK_RANDOM_UUID)) {
+ memcpy(op_buf + 1, num, sizeof(int));
+ op_len += sizeof(int);
+ }
+
+ ret = write_all(s, op_buf, op_len);
+ if (ret < 0) {
+ if (err_context)
+ *err_context = _("write");
+ close(s);
+ return -1;
+ }
+
+ ret = read_all(s, (char *) &reply_len, sizeof(reply_len));
+ if (ret < 0) {
+ if (err_context)
+ *err_context = _("read count");
+ close(s);
+ return -1;
+ }
+ if (reply_len < 0 || (size_t) reply_len > buflen) {
+ if (err_context)
+ *err_context = _("bad response length");
+ close(s);
+ return -1;
+ }
+ ret = read_all(s, (char *) buf, reply_len);
+
+ if ((ret > 0) && (op == UUIDD_OP_BULK_TIME_UUID)) {
+ if (reply_len >= (int) (UUID_LEN + sizeof(int)))
+ memcpy(buf + UUID_LEN, num, sizeof(int));
+ else
+ *num = -1;
+ }
+ if ((ret > 0) && (op == UUIDD_OP_BULK_RANDOM_UUID)) {
+ if (reply_len >= (int) sizeof(int))
+ memcpy(buf, num, sizeof(int));
+ else
+ *num = -1;
+ }
+
+ close(s);
+
+ return ret;
+}
+
+/*
+ * Exclusively create and open a pid file with path @pidfile_path
+ *
+ * Set cleanup_pidfile global variable for the cleanup
+ * handler. @pidfile_path must not be NULL.
+ *
+ * Return file descriptor of the created pid_file.
+ */
+static int create_pidfile(const char *pidfile_path, int quiet)
+{
+ int fd_pidfile;
+ struct flock fl;
+
+ fd_pidfile = open(pidfile_path, O_CREAT | O_RDWR, 0664);
+ if (fd_pidfile < 0) {
+ if (!quiet)
+ fprintf(stderr, _("Failed to open/create %s: %m\n"),
+ pidfile_path);
+ exit(EXIT_FAILURE);
+ }
+ cleanup_pidfile = pidfile_path;
+
+ fl.l_type = F_WRLCK;
+ fl.l_whence = SEEK_SET;
+ fl.l_start = 0;
+ fl.l_len = 0;
+ fl.l_pid = 0;
+ while (fcntl(fd_pidfile, F_SETLKW, &fl) < 0) {
+ if ((errno == EAGAIN) || (errno == EINTR))
+ continue;
+ if (!quiet)
+ fprintf(stderr, _("Failed to lock %s: %m\n"), pidfile_path);
+ exit(EXIT_FAILURE);
+ }
+
+ return fd_pidfile;
+}
+
+/*
+ * Create AF_UNIX, SOCK_STREAM socket and bind to @socket_path
+ *
+ * If @will_fork is true, then make sure the descriptor
+ * of the socket is >2, so that it wont be later closed
+ * during create_daemon().
+ *
+ * Return file descriptor corresponding to created socket.
+ */
+static int create_socket(const char *socket_path, int will_fork, int quiet)
+{
+ struct sockaddr_un my_addr;
+ mode_t save_umask;
+ int s;
+
+ if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
+ if (!quiet)
+ fprintf(stderr, _("Couldn't create unix stream socket: %m"));
+ exit(EXIT_FAILURE);
+ }
+
+ /*
+ * Make sure the socket isn't using fd numbers 0-2 to avoid it
+ * getting closed by create_daemon()
+ */
+ while (will_fork && s <= 2) {
+ s = dup(s);
+ if (s < 0)
+ err(EXIT_FAILURE, "dup");
+ }
+
+ /*
+ * Create the address we will be binding to.
+ */
+ my_addr.sun_family = AF_UNIX;
+ strncpy(my_addr.sun_path, socket_path, sizeof(my_addr.sun_path));
+ my_addr.sun_path[sizeof(my_addr.sun_path) - 1] = '\0';
+ unlink(socket_path);
+ save_umask = umask(0);
+ if (bind(s, (const struct sockaddr *) &my_addr,
+ sizeof(struct sockaddr_un)) < 0) {
+ if (!quiet)
+ fprintf(stderr,
+ _("Couldn't bind unix socket %s: %m\n"), socket_path);
+ exit(EXIT_FAILURE);
+ }
+ umask(save_umask);
+ cleanup_socket = socket_path;
+
+ return s;
+}
+
+static void server_loop(const char *socket_path, const char *pidfile_path,
+ const struct uuidd_cxt_t *uuidd_cxt)
+{
+ struct sockaddr_un from_addr;
+ socklen_t fromlen;
+ int32_t reply_len = 0;
+ uuid_t uu;
+ char reply_buf[1024], *cp;
+ char op, str[UUID_STR_LEN];
+ int i, ns, len, num;
+ int s = 0;
+ int fd_pidfile = -1;
+ int ret;
+
+#ifdef USE_SOCKET_ACTIVATION
+ if (!uuidd_cxt->no_sock) /* no_sock implies no_fork and no_pid */
+#endif
+ {
+
+ signal(SIGALRM, terminate_intr);
+ alarm(30);
+ if (pidfile_path)
+ fd_pidfile = create_pidfile(pidfile_path, uuidd_cxt->quiet);
+
+ ret = call_daemon(socket_path, UUIDD_OP_GETPID, reply_buf,
+ sizeof(reply_buf), 0, NULL);
+ if (ret > 0) {
+ if (!uuidd_cxt->quiet)
+ fprintf(stderr,
+ _("uuidd daemon already running at pid %s\n"),
+ reply_buf);
+ exit(EXIT_FAILURE);
+ }
+ alarm(0);
+
+ s = create_socket(socket_path,
+ (!uuidd_cxt->debug || !uuidd_cxt->no_fork),
+ uuidd_cxt->quiet);
+ if (listen(s, SOMAXCONN) < 0) {
+ if (!uuidd_cxt->quiet)
+ fprintf(stderr, _("Couldn't listen on unix "
+ "socket %s: %m\n"), socket_path);
+ exit(EXIT_FAILURE);
+ }
+
+ if (!uuidd_cxt->debug && !uuidd_cxt->no_fork)
+ create_daemon();
+
+ if (pidfile_path) {
+ sprintf(reply_buf, "%8d\n", getpid());
+ ignore_result( ftruncate(fd_pidfile, 0) );
+ write_all(fd_pidfile, reply_buf, strlen(reply_buf));
+ if (fd_pidfile > 1)
+ close(fd_pidfile); /* Unlock the pid file */
+ }
+
+ }
+
+ signal(SIGHUP, terminate_intr);
+ signal(SIGINT, terminate_intr);
+ signal(SIGTERM, terminate_intr);
+ signal(SIGALRM, terminate_intr);
+ signal(SIGPIPE, SIG_IGN);
+
+#ifdef USE_SOCKET_ACTIVATION
+ if (uuidd_cxt->no_sock) {
+ if (sd_listen_fds(0) != 1) {
+ fprintf(stderr, _("No or too many file descriptors received.\n"));
+ exit(EXIT_FAILURE);
+ }
+
+ s = SD_LISTEN_FDS_START + 0;
+ }
+#endif
+
+ while (1) {
+ fromlen = sizeof(from_addr);
+ if (uuidd_cxt->timeout > 0)
+ alarm(uuidd_cxt->timeout);
+ ns = accept(s, (struct sockaddr *) &from_addr, &fromlen);
+ alarm(0);
+ if (ns < 0) {
+ if ((errno == EAGAIN) || (errno == EINTR))
+ continue;
+ else
+ err(EXIT_FAILURE, "accept");
+ }
+ len = read(ns, &op, 1);
+ if (len != 1) {
+ if (len < 0)
+ perror("read");
+ else
+ fprintf(stderr, _("Error reading from client, "
+ "len = %d\n"), len);
+ goto shutdown_socket;
+ }
+ if ((op == UUIDD_OP_BULK_TIME_UUID) ||
+ (op == UUIDD_OP_BULK_RANDOM_UUID)) {
+ if (read_all(ns, (char *) &num, sizeof(num)) != 4)
+ goto shutdown_socket;
+ if (uuidd_cxt->debug)
+ fprintf(stderr, _("operation %d, incoming num = %d\n"),
+ op, num);
+ } else if (uuidd_cxt->debug)
+ fprintf(stderr, _("operation %d\n"), op);
+
+ switch (op) {
+ case UUIDD_OP_GETPID:
+ sprintf(reply_buf, "%d", getpid());
+ reply_len = strlen(reply_buf) + 1;
+ break;
+ case UUIDD_OP_GET_MAXOP:
+ sprintf(reply_buf, "%d", UUIDD_MAX_OP);
+ reply_len = strlen(reply_buf) + 1;
+ break;
+ case UUIDD_OP_TIME_UUID:
+ num = 1;
+ __uuid_generate_time(uu, &num);
+ if (uuidd_cxt->debug) {
+ uuid_unparse(uu, str);
+ fprintf(stderr, _("Generated time UUID: %s\n"), str);
+ }
+ memcpy(reply_buf, uu, sizeof(uu));
+ reply_len = sizeof(uu);
+ break;
+ case UUIDD_OP_RANDOM_UUID:
+ num = 1;
+ __uuid_generate_random(uu, &num);
+ if (uuidd_cxt->debug) {
+ uuid_unparse(uu, str);
+ fprintf(stderr, _("Generated random UUID: %s\n"), str);
+ }
+ memcpy(reply_buf, uu, sizeof(uu));
+ reply_len = sizeof(uu);
+ break;
+ case UUIDD_OP_BULK_TIME_UUID:
+ __uuid_generate_time(uu, &num);
+ if (uuidd_cxt->debug) {
+ uuid_unparse(uu, str);
+ fprintf(stderr, P_("Generated time UUID %s "
+ "and %d following\n",
+ "Generated time UUID %s "
+ "and %d following\n", num - 1),
+ str, num - 1);
+ }
+ memcpy(reply_buf, uu, sizeof(uu));
+ reply_len = sizeof(uu);
+ memcpy(reply_buf + reply_len, &num, sizeof(num));
+ reply_len += sizeof(num);
+ break;
+ case UUIDD_OP_BULK_RANDOM_UUID:
+ if (num < 0)
+ num = 1;
+ if (num > 1000)
+ num = 1000;
+ if (num * UUID_LEN > (int) (sizeof(reply_buf) - sizeof(num)))
+ num = (sizeof(reply_buf) - sizeof(num)) / UUID_LEN;
+ __uuid_generate_random((unsigned char *) reply_buf +
+ sizeof(num), &num);
+ if (uuidd_cxt->debug) {
+ fprintf(stderr, P_("Generated %d UUID:\n",
+ "Generated %d UUIDs:\n", num), num);
+ for (i = 0, cp = reply_buf + sizeof(num);
+ i < num;
+ i++, cp += UUID_LEN) {
+ uuid_unparse((unsigned char *)cp, str);
+ fprintf(stderr, "\t%s\n", str);
+ }
+ }
+ reply_len = (num * UUID_LEN) + sizeof(num);
+ memcpy(reply_buf, &num, sizeof(num));
+ break;
+ default:
+ if (uuidd_cxt->debug)
+ fprintf(stderr, _("Invalid operation %d\n"), op);
+ goto shutdown_socket;
+ }
+ write_all(ns, (char *) &reply_len, sizeof(reply_len));
+ write_all(ns, reply_buf, reply_len);
+ shutdown_socket:
+ close(ns);
+ }
+}
+
+static void __attribute__ ((__noreturn__)) unexpected_size(int size)
+{
+ errx(EXIT_FAILURE, _("Unexpected reply length from server %d"), size);
+}
+
+int main(int argc, char **argv)
+{
+ const char *socket_path = UUIDD_SOCKET_PATH;
+ const char *pidfile_path = NULL;
+ const char *pidfile_path_param = NULL;
+ const char *err_context;
+ char buf[1024], *cp;
+ char str[UUID_STR_LEN], *tmp;
+ uuid_t uu;
+ int i, c, ret;
+ int do_type = 0, do_kill = 0, num = 0;
+ int no_pid = 0;
+ int s_flag = 0;
+
+ struct uuidd_cxt_t uuidd_cxt = { .timeout = 0 };
+
+ static const struct option longopts[] = {
+ {"pid", required_argument, NULL, 'p'},
+ {"socket", required_argument, NULL, 's'},
+ {"timeout", required_argument, NULL, 'T'},
+ {"kill", no_argument, NULL, 'k'},
+ {"random", no_argument, NULL, 'r'},
+ {"time", no_argument, NULL, 't'},
+ {"uuids", required_argument, NULL, 'n'},
+ {"no-pid", no_argument, NULL, 'P'},
+ {"no-fork", no_argument, NULL, 'F'},
+ {"socket-activation", no_argument, NULL, 'S'},
+ {"debug", no_argument, NULL, 'd'},
+ {"quiet", no_argument, NULL, 'q'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c =
+ getopt_long(argc, argv, "p:s:T:krtn:PFSdqVh", longopts,
+ NULL)) != -1) {
+ switch (c) {
+ case 'd':
+ uuidd_cxt.debug = 1;
+ break;
+ case 'k':
+ do_kill++;
+ break;
+ case 'n':
+ num = strtol(optarg, &tmp, 0);
+ if ((num < 1) || *tmp) {
+ fprintf(stderr, _("Bad number: %s\n"), optarg);
+ return EXIT_FAILURE;
+ }
+ break;
+ case 'p':
+ pidfile_path_param = optarg;
+ break;
+ case 'P':
+ no_pid = 1;
+ break;
+ case 'F':
+ uuidd_cxt.no_fork = 1;
+ break;
+ case 'S':
+#ifdef USE_SOCKET_ACTIVATION
+ uuidd_cxt.no_sock = 1;
+ uuidd_cxt.no_fork = 1;
+ no_pid = 1;
+#else
+ fprintf(stderr,
+ _("uuidd has been built without support for socket activation.\n"));
+ return EXIT_FAILURE;
+#endif
+ break;
+ case 'q':
+ uuidd_cxt.quiet = 1;
+ break;
+ case 'r':
+ do_type = UUIDD_OP_RANDOM_UUID;
+ break;
+ case 's':
+ socket_path = optarg;
+ s_flag = 1;
+ break;
+ case 't':
+ do_type = UUIDD_OP_TIME_UUID;
+ break;
+ case 'T':
+ uuidd_cxt.timeout = strtol(optarg, &tmp, 0);
+ if (uuidd_cxt.timeout < 0 || *tmp) {
+ fprintf(stderr, _("Bad number: %s\n"), optarg);
+ return EXIT_FAILURE;
+ }
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (no_pid && pidfile_path_param && !uuidd_cxt.quiet)
+ fprintf(stderr, _("Both --pid and --no-pid specified. "
+ "Ignoring --no-pid.\n"));
+
+ if (!no_pid && !pidfile_path_param)
+ pidfile_path = UUIDD_PIDFILE_PATH;
+ else if (pidfile_path_param)
+ pidfile_path = pidfile_path_param;
+
+ /* custom socket path and socket-activation make no sense */
+ if (s_flag && uuidd_cxt.no_sock && !uuidd_cxt.quiet)
+ fprintf(stderr, _("Both --socket-activation and --socket specified. "
+ "Ignoring --socket\n"));
+
+ if (num && do_type) {
+ ret = call_daemon(socket_path, do_type + 2, buf,
+ sizeof(buf), &num, &err_context);
+ if (ret < 0) {
+ printf(_("Error calling uuidd daemon (%s): %m\n"), err_context);
+ return EXIT_FAILURE;
+ }
+ if (do_type == UUIDD_OP_TIME_UUID) {
+ if (ret != sizeof(uu) + sizeof(num))
+ unexpected_size(ret);
+
+ uuid_unparse((unsigned char *) buf, str);
+
+ printf(P_("%s and %d subsequent UUID\n",
+ "%s and %d subsequent UUIDs\n", num - 1),
+ str, num - 1);
+ } else {
+ printf(_("List of UUIDs:\n"));
+ cp = buf + 4;
+ if (ret != (int) (sizeof(num) + num * sizeof(uu)))
+ unexpected_size(ret);
+ for (i = 0; i < num; i++, cp += UUID_LEN) {
+ uuid_unparse((unsigned char *) cp, str);
+ printf("\t%s\n", str);
+ }
+ }
+ return EXIT_SUCCESS;
+ }
+ if (do_type) {
+ ret = call_daemon(socket_path, do_type, (char *) &uu,
+ sizeof(uu), 0, &err_context);
+ if (ret < 0) {
+ printf(_("Error calling uuidd daemon (%s): %m\n"), err_context);
+ return EXIT_FAILURE;
+ }
+ if (ret != sizeof(uu))
+ unexpected_size(ret);
+
+ uuid_unparse(uu, str);
+
+ printf("%s\n", str);
+ return EXIT_SUCCESS;
+ }
+
+ if (do_kill) {
+ ret = call_daemon(socket_path, UUIDD_OP_GETPID, buf, sizeof(buf), 0, NULL);
+ if ((ret > 0) && ((do_kill = atoi((char *) buf)) > 0)) {
+ ret = kill(do_kill, SIGTERM);
+ if (ret < 0) {
+ if (!uuidd_cxt.quiet)
+ fprintf(stderr,
+ _("Couldn't kill uuidd running "
+ "at pid %d: %m\n"), do_kill);
+ return EXIT_FAILURE;
+ }
+ if (!uuidd_cxt.quiet)
+ printf(_("Killed uuidd running at pid %d\n"),
+ do_kill);
+ }
+ return EXIT_SUCCESS;
+ }
+
+ server_loop(socket_path, pidfile_path, &uuidd_cxt);
+ return EXIT_SUCCESS;
+}
diff --git a/misc-utils/uuidd.rc.in b/misc-utils/uuidd.rc.in
new file mode 100644
index 0000000..27b75c6
--- /dev/null
+++ b/misc-utils/uuidd.rc.in
@@ -0,0 +1,71 @@
+#! /bin/sh -e
+### BEGIN INIT INFO
+# Provides: uuidd
+# Required-Start: $time $local_fs
+# Required-Stop: $time $local_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: uuidd daemon
+# Description: Init script for the uuid generation daemon
+### END INIT INFO
+#
+# Author: "Theodore Ts'o" <tytso@mit.edu>
+#
+set -e
+
+# libuuid is able to execute the uuid daemon on-demand -- in such a case
+# the daemon binary must be setuid to an unprivileged user (e.g. uuidd:uuidd).
+# [-- kzak Jun 2009]
+UUIDD_ON_DEMAND_ONLY="no"
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/uuidd
+UUIDD_USER=uuidd
+UUIDD_GROUP=uuidd
+UUIDD_DIR=@localstatedir@/uuidd
+PIDFILE=$UUIDD_DIR/uuidd.pid
+
+test -x $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting uuid generator" "uuidd"
+ if ! test -d $UUIDD_DIR; then
+ mkdir -p $UUIDD_DIR
+ chown -R $UUIDD_USER:$UUIDD_GROUP $UUIDD_DIR
+ fi
+ if test "$UUIDD_ON_DEMAND_ONLY" = yes; then
+ echo -n "(on demand only)"
+ else
+ start_daemon -p $PIDFILE $DAEMON
+ fi
+ log_end_msg $?
+ ;;
+ stop)
+ log_daemon_msg "Stopping uuidd generator" "uuidd"
+ killproc -p $PIDFILE $DAEMON
+ log_end_msg $?
+ ;;
+ status)
+ if pidofproc -p $PIDFILE $DAEMON >/dev/null 2>&1; then
+ echo "$DAEMON is running";
+ exit 0;
+ else
+ echo "$DAEMON is NOT running";
+ if test -f $PIDFILE; then exit 2; fi
+ exit 3;
+ fi
+ ;;
+ force-reload|restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "Usage: /etc/init.d/uuidd {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/misc-utils/uuidd.service.in b/misc-utils/uuidd.service.in
new file mode 100644
index 0000000..89e0eac
--- /dev/null
+++ b/misc-utils/uuidd.service.in
@@ -0,0 +1,12 @@
+[Unit]
+Description=Daemon for generating UUIDs
+Requires=uuidd.socket
+
+[Service]
+ExecStart=@usrsbin_execdir@/uuidd --socket-activation --timeout 60
+Restart=no
+User=uuidd
+Group=uuidd
+
+[Install]
+Also=uuidd.socket
diff --git a/misc-utils/uuidd.socket.in b/misc-utils/uuidd.socket.in
new file mode 100644
index 0000000..d8be72f
--- /dev/null
+++ b/misc-utils/uuidd.socket.in
@@ -0,0 +1,8 @@
+[Unit]
+Description=UUID daemon activation socket
+
+[Socket]
+ListenStream=@localstatedir@/uuidd/request
+
+[Install]
+WantedBy=sockets.target
diff --git a/misc-utils/uuidgen.1 b/misc-utils/uuidgen.1
new file mode 100644
index 0000000..ad409b9
--- /dev/null
+++ b/misc-utils/uuidgen.1
@@ -0,0 +1,63 @@
+.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
+.\"
+.\" This man page was created for libuuid.so.1.1 from e2fsprogs-1.14.
+.\"
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger
+.TH UUIDGEN 1 "June 2011" "util-linux" "User Commands"
+.SH NAME
+uuidgen \- create a new UUID value
+.SH SYNOPSIS
+.B uuidgen
+[\fIoptions\fR]
+.SH DESCRIPTION
+The
+.B uuidgen
+program creates (and prints)
+a new universally unique identifier (UUID) using the
+.BR libuuid (3)
+library. The new UUID can reasonably be considered unique among
+all UUIDs created on the local system,
+and among UUIDs created on other systems in the past
+and in the future.
+.PP
+There are two types of UUIDs which
+.B uuidgen
+can generate: time-based UUIDs and random-based UUIDs. By default
+.B uuidgen
+will generate a random-based UUID if a high-quality random number
+generator is present. Otherwise, it will choose a time-based UUID.
+It is possible to force the generation of one of these two
+UUID types by using the
+.B \-r
+or
+.B \-t
+options.
+.SH OPTIONS
+.TP
+.BR \-r , " \-\-random"
+Generate a random-based UUID. This method creates a UUID consisting mostly
+of random bits. It requires that the operating system have a high
+quality random number generator, such as
+.IR /dev/random .
+.TP
+.BR \-t , " \-\-time"
+Generate a time-based UUID. This method creates a UUID based on the system
+clock plus the system's ethernet hardware address, if present.
+.TP
+.BR \-h , " \-\-help"
+Display help text and exit.
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit.
+.SH "CONFORMING TO"
+OSF DCE 1.1
+.SH AUTHOR
+.B uuidgen
+was written by Andreas Dilger for libuuid.
+.SH AVAILABILITY
+The uuidgen command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH "SEE ALSO"
+.BR libuuid (3)
diff --git a/misc-utils/uuidgen.c b/misc-utils/uuidgen.c
new file mode 100644
index 0000000..219be8b
--- /dev/null
+++ b/misc-utils/uuidgen.c
@@ -0,0 +1,104 @@
+/*
+ * gen_uuid.c --- generate a DCE-compatible uuid
+ *
+ * Copyright (C) 1999, Andreas Dilger and Theodore Ts'o
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ * %End-Header%
+ */
+
+#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#else
+extern int getopt(int argc, char * const argv[], const char *optstring);
+extern char *optarg;
+extern int optind;
+#endif
+
+#include "uuid.h"
+#include "nls.h"
+#include "c.h"
+#include "closestream.h"
+
+#define DO_TYPE_TIME 1
+#define DO_TYPE_RANDOM 2
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -r, --random generate random-based uuid\n"
+ " -t, --time generate time-based uuid\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int c;
+ int do_type = 0;
+ char str[37];
+ uuid_t uu;
+
+ static const struct option longopts[] = {
+ {"random", required_argument, NULL, 'r'},
+ {"time", no_argument, NULL, 't'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "rtVh", longopts, NULL)) != -1)
+ switch (c) {
+ case 't':
+ do_type = DO_TYPE_TIME;
+ break;
+ case 'r':
+ do_type = DO_TYPE_RANDOM;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ switch (do_type) {
+ case DO_TYPE_TIME:
+ uuid_generate_time(uu);
+ break;
+ case DO_TYPE_RANDOM:
+ uuid_generate_random(uu);
+ break;
+ default:
+ uuid_generate(uu);
+ break;
+ }
+
+ uuid_unparse(uu, str);
+
+ printf("%s\n", str);
+
+ return EXIT_SUCCESS;
+}
diff --git a/misc-utils/whereis.1 b/misc-utils/whereis.1
new file mode 100644
index 0000000..988462f
--- /dev/null
+++ b/misc-utils/whereis.1
@@ -0,0 +1,140 @@
+.\" Copyright (c) 1980, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)whereis.1 from UCB 4.2
+.TH WHEREIS 1 "June 2012" "util-linux" "User Commands"
+.SH NAME
+whereis \- locate the binary, source, and manual page files for a command
+.SH SYNOPSIS
+.B whereis
+.RB [ options ]
+.RB [ \-BMS
+.IR directory ...
+.BR \-f ]
+.IR filename ...
+.SH DESCRIPTION
+.B whereis
+locates source/binary and manuals sections for specified files.
+The supplied names are first stripped of leading pathname components
+and any (single) trailing extension of the form
+.BI . ext\fR,\fP
+for example,
+.BR .c .
+Prefixes of
+.B s.
+resulting from use of source code control are also dealt with.
+.B whereis
+then attempts to locate the desired program in
+a list of standard Linux places.
+.SH OPTIONS
+.TP
+.IP "\fB\-b\fP"
+Search only for binaries.
+.IP "\fB\-m\fP"
+Search only for manual sections.
+.IP "\fB\-s\fP"
+Search only for sources.
+.IP "\fB\-u\fP"
+Search for unusual entries. A file is said to be unusual if it does
+not have one entry of each requested type. Thus
+.RB ` "whereis\ \ \-m\ \ \-u\ \ *" '
+asks for those files in the current
+directory which have no documentation.
+.IP "\fB\-B \fIlist\fP"
+Change or otherwise limit the places where
+.B whereis
+searches for binaries by white-space separated list of directories.
+.IP "\fB\-M \fIlist\fP"
+Change or otherwise limit the places where
+.B whereis
+searches for manual sections by white-space separated list of directories.
+.IP "\fB\-S \fIlist\fP"
+.B \-S
+Change or otherwise limit the places where
+.B whereis
+searches for sources white-space separated list of directories.
+.IP "\fB\-f\fP"
+Terminate the last directory list and signals the start of file names,
+and
+.I must
+be used when any of the
+.BR \-B ,
+.BR \-M ,
+or
+.BR \-S
+options are used.
+.SH EXAMPLE
+Find all files in
+.B /usr/bin
+which are not documented
+in
+.B /usr/man/man1
+with source in
+.BR /usr/src :
+.IP
+.nf
+.ft B
+$ cd /usr/bin
+$ whereis \-u \-M /usr/man/man1 \-S /usr/src \-f *
+.fi
+.ft R
+.SH FILES
+.B whereis
+has basic set of hard-coded paths (see below). If the option
+.B \-B
+is not specified then also follows
+.B $PATH
+environment variable (since version 2.21).
+
+.TP 20
+/{bin,sbin,etc}
+.TP
+/usr/{lib,bin,old,new,local,games,include,etc,src,man,sbin,X386,TeX,g++-include}
+.TP
+/usr/local/{X386,TeX,X11,include,lib,man,etc,bin,games,emacs}
+.SH "SEE ALSO"
+.BR chdir (2V)
+.SH BUGS
+Since
+.B whereis
+uses
+.BR chdir (2V)
+to run faster, pathnames given with the
+.BR \-M ,
+.BR \-S ,
+or
+.B \-B
+must be full; that is, they must begin with a
+.RB ` / '.
+.PP
+.SH AVAILABILITY
+The whereis command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c
new file mode 100644
index 0000000..05af8e0
--- /dev/null
+++ b/misc-utils/whereis.c
@@ -0,0 +1,485 @@
+/*-
+ * Copyright (c) 1980 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/* *:aeb */
+
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+/* 2011-08-12 Davidlohr Bueso <dave@gnu.org>
+ * - added $PATH lookup
+ */
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "xalloc.h"
+#include "nls.h"
+#include "c.h"
+#include "closestream.h"
+
+static char *bindirs[] = {
+ "/bin",
+ "/usr/bin",
+ "/sbin",
+ "/usr/sbin",
+ "/etc",
+ "/usr/etc",
+ "/lib",
+ "/usr/lib",
+ "/lib64",
+ "/usr/lib64",
+ "/usr/games",
+ "/usr/games/bin",
+ "/usr/games/lib",
+ "/usr/emacs/etc",
+ "/usr/lib/emacs/*/etc",
+ "/usr/TeX/bin",
+ "/usr/tex/bin",
+ "/usr/interviews/bin/LINUX",
+
+ "/usr/X11R6/bin",
+ "/usr/X386/bin",
+ "/usr/bin/X11",
+ "/usr/X11/bin",
+ "/usr/X11R5/bin",
+
+ "/usr/local/bin",
+ "/usr/local/sbin",
+ "/usr/local/etc",
+ "/usr/local/lib",
+ "/usr/local/games",
+ "/usr/local/games/bin",
+ "/usr/local/emacs/etc",
+ "/usr/local/TeX/bin",
+ "/usr/local/tex/bin",
+ "/usr/local/bin/X11",
+
+ "/usr/contrib",
+ "/usr/hosts",
+ "/usr/include",
+
+ "/usr/g++-include",
+
+ "/usr/ucb",
+ "/usr/old",
+ "/usr/new",
+ "/usr/local",
+ "/usr/libexec",
+ "/usr/share",
+
+ "/opt/*/bin",
+
+ 0
+};
+
+static char *mandirs[] = {
+ "/usr/man/*",
+ "/usr/share/man/*",
+ "/usr/X386/man/*",
+ "/usr/X11/man/*",
+ "/usr/TeX/man/*",
+ "/usr/interviews/man/mann",
+ 0
+};
+
+static char *srcdirs[] = {
+ "/usr/src/*",
+ "/usr/src/lib/libc/*",
+ "/usr/src/lib/libc/net/*",
+ "/usr/src/ucb/pascal",
+ "/usr/src/ucb/pascal/utilities",
+ "/usr/src/undoc",
+ 0
+};
+
+static char sflag = 1, bflag = 1, mflag = 1, uflag;
+static char **Sflag, **Bflag, **Mflag, **pathdir, **pathdir_p;
+static int Scnt, Bcnt, Mcnt, count, print;
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] file\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -f <file> define search scope\n"
+ " -b search only binaries\n"
+ " -B <dirs> define binaries lookup path\n"
+ " -m search only manual paths\n"
+ " -M <dirs> define man lookup path\n"
+ " -s search only sources path\n"
+ " -S <dirs> define sources lookup path\n"
+ " -u search from unusual entities\n"
+ " -V output version information and exit\n"
+ " -h display this help and exit\n\n"), out);
+
+ fputs(_("See how to use file and dirs arguments from whereis(1) manual.\n"), out);
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static int
+itsit(char *cp, char *dp)
+{
+ int i = strlen(dp);
+
+ if (dp[0] == 's' && dp[1] == '.' && itsit(cp, dp + 2))
+ return 1;
+ if (!strcmp(dp + i - 2, ".Z"))
+ i -= 2;
+ else if (!strcmp(dp + i - 3, ".gz"))
+ i -= 3;
+ else if (!strcmp(dp + i - 4, ".bz2"))
+ i -= 4;
+ while (*cp && *dp && *cp == *dp)
+ cp++, dp++, i--;
+ if (*cp == 0 && *dp == 0)
+ return 1;
+ while (isdigit(*dp))
+ dp++;
+ if (*cp == 0 && *dp++ == '.') {
+ --i;
+ while (i > 0 && *dp)
+ if (--i, *dp++ == '.')
+ return (*dp++ == 'C' && *dp++ == 0);
+ return 1;
+ }
+ return 0;
+}
+
+static void
+findin(char *dir, char *cp)
+{
+ DIR *dirp;
+ struct dirent *dp;
+ char *d, *dd;
+ size_t l;
+ char dirbuf[1024];
+ struct stat statbuf;
+
+ dd = strchr(dir, '*');
+ if (!dd) {
+ dirp = opendir(dir);
+ if (dirp == NULL)
+ return;
+ while ((dp = readdir(dirp)) != NULL) {
+ if (itsit(cp, dp->d_name)) {
+ count++;
+ if (print)
+ printf(" %s/%s", dir, dp->d_name);
+ }
+ }
+ closedir(dirp);
+ return;
+ }
+
+ l = strlen(dir);
+ if (l < sizeof(dirbuf)) {
+ /* refuse excessively long names */
+ strcpy(dirbuf, dir);
+ d = strchr(dirbuf, '*');
+ *d = 0;
+ dirp = opendir(dirbuf);
+ if (dirp == NULL)
+ return;
+ while ((dp = readdir(dirp)) != NULL) {
+ if (!strcmp(dp->d_name, ".") ||
+ !strcmp(dp->d_name, ".."))
+ continue;
+ if (strlen(dp->d_name) + l > sizeof(dirbuf))
+ continue;
+ sprintf(d, "%s", dp->d_name);
+ if (stat(dirbuf, &statbuf))
+ continue;
+ if (!S_ISDIR(statbuf.st_mode))
+ continue;
+ strcat(d, dd + 1);
+ findin(dirbuf, cp);
+ }
+ closedir(dirp);
+ }
+ return;
+
+}
+
+static int inpath(const char *str)
+{
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(bindirs) - 1 ; i++)
+ if (!strcmp(bindirs[i], str))
+ return 1;
+
+ for (i = 0; i < ARRAY_SIZE(mandirs) - 1; i++)
+ if (!strcmp(mandirs[i], str))
+ return 1;
+
+ for (i = 0; i < ARRAY_SIZE(srcdirs) - 1; i++)
+ if (!strcmp(srcdirs[i], str))
+ return 1;
+
+ return 0;
+}
+
+static void fillpath(void)
+{
+ char *key=NULL, *tok=NULL, *pathcp, *path = getenv("PATH");
+ int i = 0;
+
+
+ if (!path)
+ return;
+ pathcp = xstrdup(path);
+
+ for (tok = strtok_r(pathcp, ":", &key); tok;
+ tok = strtok_r(NULL, ":", &key)) {
+
+ /* make sure we don't repeat the search path */
+ if (inpath(tok))
+ continue;
+
+ pathdir = xrealloc(pathdir, (i + 1) * sizeof(char *));
+ pathdir[i++] = xstrdup(tok);
+ }
+
+ pathdir = xrealloc(pathdir, (i + 1) * sizeof(char *));
+ pathdir[i] = NULL;
+
+ pathdir_p = pathdir;
+ free(pathcp);
+}
+
+static void freepath(void)
+{
+ free(pathdir);
+}
+
+static void
+findv(char **dirv, int dirc, char *cp)
+{
+
+ while (dirc > 0)
+ findin(*dirv++, cp), dirc--;
+}
+
+static void
+looksrc(char *cp)
+{
+ if (Sflag == 0)
+ findv(srcdirs, ARRAY_SIZE(srcdirs)-1, cp);
+ else
+ findv(Sflag, Scnt, cp);
+}
+
+static void
+lookbin(char *cp)
+{
+ if (Bflag == 0) {
+ findv(bindirs, ARRAY_SIZE(bindirs)-1, cp);
+ while (*pathdir_p)
+ findin(*pathdir_p++, cp); /* look $PATH */
+ } else
+ findv(Bflag, Bcnt, cp);
+}
+
+static void
+lookman(char *cp)
+{
+ if (Mflag == 0)
+ findv(mandirs, ARRAY_SIZE(mandirs)-1, cp);
+ else
+ findv(Mflag, Mcnt, cp);
+}
+
+static void
+getlist(int *argcp, char ***argvp, char ***flagp, int *cntp)
+{
+ (*argvp)++;
+ *flagp = *argvp;
+ *cntp = 0;
+ for ((*argcp)--; *argcp > 0 && (*argvp)[0][0] != '-'; (*argcp)--)
+ (*cntp)++, (*argvp)++;
+ (*argcp)++;
+ (*argvp)--;
+}
+
+static void
+zerof(void)
+{
+ if (sflag && bflag && mflag)
+ sflag = bflag = mflag = 0;
+}
+
+static int
+print_again(char *cp)
+{
+ if (print)
+ printf("%s:", cp);
+ if (sflag) {
+ looksrc(cp);
+ if (uflag && print == 0 && count != 1) {
+ print = 1;
+ return 1;
+ }
+ }
+ count = 0;
+ if (bflag) {
+ lookbin(cp);
+ if (uflag && print == 0 && count != 1) {
+ print = 1;
+ return 1;
+ }
+ }
+ count = 0;
+ if (mflag) {
+ lookman(cp);
+ if (uflag && print == 0 && count != 1) {
+ print = 1;
+ return 1;
+ }
+ }
+ return 0;
+}
+
+static void
+lookup(char *cp)
+{
+ register char *dp;
+
+ for (dp = cp; *dp; dp++)
+ continue;
+ for (; dp > cp; dp--) {
+ if (*dp == '.') {
+ *dp = 0;
+ break;
+ }
+ }
+ for (dp = cp; *dp; dp++)
+ if (*dp == '/')
+ cp = dp + 1;
+ if (uflag) {
+ print = 0;
+ count = 0;
+ } else
+ print = 1;
+
+ while (print_again(cp))
+ /* all in print_again() */ ;
+
+ if (print)
+ printf("\n");
+}
+
+/*
+ * whereis name
+ * look for source, documentation and binaries
+ */
+int
+main(int argc, char **argv)
+{
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ argc--, argv++;
+ if (argc == 0)
+ usage(stderr);
+
+ do
+ if (argv[0][0] == '-') {
+ register char *cp = argv[0] + 1;
+ while (*cp) switch (*cp++) {
+
+ case 'f':
+ break;
+
+ case 'S':
+ getlist(&argc, &argv, &Sflag, &Scnt);
+ break;
+
+ case 'B':
+ getlist(&argc, &argv, &Bflag, &Bcnt);
+ break;
+
+ case 'M':
+ getlist(&argc, &argv, &Mflag, &Mcnt);
+ break;
+
+ case 's':
+ zerof();
+ sflag++;
+ continue;
+
+ case 'u':
+ uflag++;
+ continue;
+
+ case 'b':
+ zerof();
+ bflag++;
+ continue;
+
+ case 'm':
+ zerof();
+ mflag++;
+ continue;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ argv++;
+ } else {
+ if (Bcnt == 0 && pathdir == NULL)
+ fillpath();
+ lookup(*argv++);
+ }
+ while (--argc > 0);
+
+ freepath();
+ return EXIT_SUCCESS;
+}
diff --git a/misc-utils/wipefs.8 b/misc-utils/wipefs.8
new file mode 100644
index 0000000..cecdc44
--- /dev/null
+++ b/misc-utils/wipefs.8
@@ -0,0 +1,74 @@
+.\" -*- nroff -*-
+.\" Copyright 2009 by Karel Zak. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH WIPEFS 8 "October 2009" "util-linux" "System Administration"
+.SH NAME
+wipefs \- wipe a signature from a device
+.SH SYNOPSIS
+.B wipefs
+.RB [ \-ahnptV ]
+.RB [ \-o
+.IR offset ]
+.I device...
+.SH DESCRIPTION
+.B wipefs
+can erase filesystem, raid or partition table signatures (magic strings) from
+the specified
+.I device
+to make the signature invisible for libblkid.
+
+.B wipefs
+does not erase the filesystem itself nor any other data from the device.
+When used without options \fB-a\fR or \fB-o\fR, it lists all visible filesystems
+and the offsets of their basic signatures.
+
+Note that some filesystems or some partition tables store more magic strings on
+the devices. The
+.B wipefs
+lists the first offset where a magic string has been detected. The device is
+not scanned for additional magic strings for the same filesystem. It's possible
+that after \fBwipefs -o <offset>\fR will be the same filesystem or partition
+table visible by another magic string on another offset.
+
+When used with option \fB-a\fR then all for libblkid visible magic strings are
+erased.
+
+.SH OPTIONS
+.IP "\fB\-a, \-\-all\fP"
+Erase all available signatures. This set of erased signatures could be
+restricted by \fB\-t <list>\fP option.
+.IP "\fB\-h, \-\-help\fP"
+Print help and exit.
+.IP "\fB\-n, \-\-no\-act\fP"
+Causes everything to be done except for the write() call.
+.IP "\fB\-o, \-\-offset\fP \fIoffset\fP
+Specify the location (in bytes) of the signature which should be erased from the
+device. The \fIoffset\fR number may include a "0x" prefix; then the number will be
+interpreted as a hex value. It is possible to specify multiple \fB-o\fR options.
+
+The \fIoffset\fR argument may be followed by the multiplicative
+suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB
+(the "iB" is optional, e.g. "K" has the same meaning as "KiB") or the suffixes
+KB=1000, MB=1000*1000, and so on for GB, PB, EB, ZB and YB.
+.IP "\fB\-p, \-\-parsable\fP"
+Print out in parsable instead of printable format. Encode all potentially unsafe
+characters of a string to the corresponding hex value prefixed by '\\x'.
+.IP "\fB\-q, \-\-quiet\fP"
+Suppress output messages after successful signature wipe.
+.IP "\fB\-t, \-\-types\fP \fIlist\fP
+Used to limit the set of printed or erased signatures. More than one type may
+be specified in a comma-separated list. The list of types or individual types
+can be prefixed with 'no' to specify the types on which no action should be
+taken. For more details see mount(8).
+.IP "\fB\-V, \-\-version\fP"
+Output version information and exit.
+.SH AUTHOR
+Karel Zak <kzak@redhat.com>.
+.SH AVAILABILITY
+The wipefs command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH SEE ALSO
+.BR blkid (8)
+.BR findfs (8)
+
diff --git a/misc-utils/wipefs.c b/misc-utils/wipefs.c
new file mode 100644
index 0000000..cddad8a
--- /dev/null
+++ b/misc-utils/wipefs.c
@@ -0,0 +1,472 @@
+/*
+ * wipefs - utility to wipe filesystems from device
+ *
+ * Copyright (C) 2009 Red Hat, Inc. All rights reserved.
+ * Written by Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <string.h>
+#include <limits.h>
+
+#include <blkid.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "strutils.h"
+#include "all-io.h"
+#include "match.h"
+#include "c.h"
+#include "closestream.h"
+#include "optutils.h"
+
+struct wipe_desc {
+ loff_t offset; /* magic string offset */
+ size_t len; /* length of magic string */
+ unsigned char *magic; /* magic string */
+
+ int zap; /* zap this offset? */
+ char *usage; /* raid, filesystem, ... */
+ char *type; /* FS type */
+ char *label; /* FS label */
+ char *uuid; /* FS uuid */
+
+ int on_disk;
+
+ struct wipe_desc *next;
+};
+
+enum {
+ WP_MODE_PRETTY, /* default */
+ WP_MODE_PARSABLE
+};
+
+static const char *type_pattern;
+
+static void
+print_pretty(struct wipe_desc *wp, int line)
+{
+ if (!line) {
+ printf("offset type\n");
+ printf("----------------------------------------------------------------\n");
+ }
+
+ printf("0x%-17jx %s [%s]", wp->offset, wp->type, wp->usage);
+
+ if (wp->label && *wp->label)
+ printf("\n%27s %s", "LABEL:", wp->label);
+ if (wp->uuid)
+ printf("\n%27s %s", "UUID: ", wp->uuid);
+ puts("\n");
+}
+
+static void
+print_parsable(struct wipe_desc *wp, int line)
+{
+ char enc[256];
+
+ if (!line)
+ printf("# offset,uuid,label,type\n");
+
+ printf("0x%jx,", wp->offset);
+
+ if (wp->uuid) {
+ blkid_encode_string(wp->uuid, enc, sizeof(enc));
+ printf("%s,", enc);
+ } else
+ fputc(',', stdout);
+
+ if (wp->label) {
+ blkid_encode_string(wp->label, enc, sizeof(enc));
+ printf("%s,", enc);
+ } else
+ fputc(',', stdout);
+
+ blkid_encode_string(wp->type, enc, sizeof(enc));
+ printf("%s\n", enc);
+}
+
+static void
+print_all(struct wipe_desc *wp, int mode)
+{
+ int n = 0;
+
+ while (wp) {
+ switch (mode) {
+ case WP_MODE_PRETTY:
+ print_pretty(wp, n++);
+ break;
+ case WP_MODE_PARSABLE:
+ print_parsable(wp, n++);
+ break;
+ default:
+ abort();
+ }
+ wp = wp->next;
+ }
+}
+
+static struct wipe_desc *
+add_offset(struct wipe_desc *wp0, loff_t offset, int zap)
+{
+ struct wipe_desc *wp = wp0;
+
+ while (wp) {
+ if (wp->offset == offset)
+ return wp;
+ wp = wp->next;
+ }
+
+ wp = xcalloc(1, sizeof(struct wipe_desc));
+ wp->offset = offset;
+ wp->next = wp0;
+ wp->zap = zap;
+ return wp;
+}
+
+static struct wipe_desc *
+clone_offset(struct wipe_desc *wp0)
+{
+ struct wipe_desc *wp = NULL;
+
+ while(wp0) {
+ wp = add_offset(wp, wp0->offset, wp0->zap);
+ wp0 = wp0->next;
+ }
+
+ return wp;
+}
+
+static struct wipe_desc *
+get_desc_for_probe(struct wipe_desc *wp, blkid_probe pr)
+{
+ const char *off, *type, *mag, *p, *usage = NULL;
+ size_t len;
+ loff_t offset;
+ int rc;
+
+ /* superblocks */
+ if (blkid_probe_lookup_value(pr, "TYPE", &type, NULL) == 0) {
+ rc = blkid_probe_lookup_value(pr, "SBMAGIC_OFFSET", &off, NULL);
+ if (!rc)
+ rc = blkid_probe_lookup_value(pr, "SBMAGIC", &mag, &len);
+ if (rc)
+ return wp;
+
+ /* partitions */
+ } else if (blkid_probe_lookup_value(pr, "PTTYPE", &type, NULL) == 0) {
+ rc = blkid_probe_lookup_value(pr, "PTMAGIC_OFFSET", &off, NULL);
+ if (!rc)
+ rc = blkid_probe_lookup_value(pr, "PTMAGIC", &mag, &len);
+ if (rc)
+ return wp;
+ usage = "partition table";
+ } else
+ return wp;
+
+ if (type_pattern && !match_fstype(type, type_pattern))
+ return wp;
+
+ offset = strtoll(off, NULL, 10);
+
+ wp = add_offset(wp, offset, 0);
+ if (!wp)
+ return NULL;
+
+ if (usage || blkid_probe_lookup_value(pr, "USAGE", &usage, NULL) == 0)
+ wp->usage = xstrdup(usage);
+
+ wp->type = xstrdup(type);
+ wp->on_disk = 1;
+
+ wp->magic = xmalloc(len);
+ memcpy(wp->magic, mag, len);
+ wp->len = len;
+
+ if (blkid_probe_lookup_value(pr, "LABEL", &p, NULL) == 0)
+ wp->label = xstrdup(p);
+
+ if (blkid_probe_lookup_value(pr, "UUID", &p, NULL) == 0)
+ wp->uuid = xstrdup(p);
+
+ return wp;
+}
+
+static blkid_probe
+new_probe(const char *devname, int mode)
+{
+ blkid_probe pr;
+
+ if (!devname)
+ return NULL;
+
+ if (mode) {
+ int fd = open(devname, mode);
+ if (fd < 0)
+ goto error;
+
+ pr = blkid_new_probe();
+ if (pr && blkid_probe_set_device(pr, fd, 0, 0))
+ goto error;
+ } else
+ pr = blkid_new_probe_from_filename(devname);
+
+ if (!pr)
+ goto error;
+
+ blkid_probe_enable_superblocks(pr, 1);
+ blkid_probe_set_superblocks_flags(pr, BLKID_SUBLKS_MAGIC |
+ BLKID_SUBLKS_TYPE | BLKID_SUBLKS_USAGE |
+ BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID);
+
+ blkid_probe_enable_partitions(pr, 1);
+ blkid_probe_set_partitions_flags(pr, BLKID_PARTS_MAGIC);
+
+ return pr;
+error:
+ err(EXIT_FAILURE, _("error: %s: probing initialization failed"), devname);
+ return NULL;
+}
+
+static struct wipe_desc *
+read_offsets(struct wipe_desc *wp, const char *devname)
+{
+ blkid_probe pr = new_probe(devname, 0);
+
+ if (!pr)
+ return NULL;
+
+ while (blkid_do_probe(pr) == 0) {
+ wp = get_desc_for_probe(wp, pr);
+ if (!wp)
+ break;
+ }
+
+ blkid_free_probe(pr);
+ return wp;
+}
+
+static void
+free_wipe(struct wipe_desc *wp)
+{
+ while (wp) {
+ struct wipe_desc *next = wp->next;
+
+ free(wp->usage);
+ free(wp->type);
+ free(wp->magic);
+ free(wp->label);
+ free(wp->uuid);
+ free(wp);
+
+ wp = next;
+ }
+}
+
+static void do_wipe_real(blkid_probe pr, const char *devname, struct wipe_desc *w, int noact, int quiet)
+{
+ size_t i;
+
+ if (blkid_do_wipe(pr, noact))
+ warn(_("%s: failed to erase %s magic string at offset 0x%08jx"),
+ devname, w->type, w->offset);
+
+ if (quiet)
+ return;
+
+ printf(_("%s: %zd bytes were erased at offset 0x%08jx (%s): "),
+ devname, w->len, w->offset, w->type);
+
+ for (i = 0; i < w->len; i++) {
+ printf("%02x", w->magic[i]);
+ if (i + 1 < w->len)
+ fputc(' ', stdout);
+ }
+ putchar('\n');
+}
+
+static struct wipe_desc *
+do_wipe(struct wipe_desc *wp, const char *devname, int noact, int all, int quiet)
+{
+ blkid_probe pr = new_probe(devname, O_RDWR);
+ struct wipe_desc *w, *wp0 = clone_offset(wp);
+ int zap = all ? 1 : wp->zap;
+
+ if (!pr)
+ return NULL;
+
+ while (blkid_do_probe(pr) == 0) {
+ wp = get_desc_for_probe(wp, pr);
+ if (!wp)
+ break;
+
+ /* Check if offset is in provided list */
+ w = wp0;
+ while(w && w->offset != wp->offset)
+ w = w->next;
+ if (wp0 && !w)
+ continue;
+
+ /* Mark done if found in provided list */
+ if (w)
+ w->on_disk = wp->on_disk;
+
+ if (!wp->on_disk)
+ continue;
+
+ if (zap)
+ do_wipe_real(pr, devname, wp, noact, quiet);
+ }
+
+ for (w = wp0; w != NULL; w = w->next) {
+ if (!w->on_disk && !quiet)
+ warnx(_("%s: offset 0x%jx not found"), devname, w->offset);
+ }
+
+ fsync(blkid_probe_get_fd(pr));
+ close(blkid_probe_get_fd(pr));
+ blkid_free_probe(pr);
+ free_wipe(wp0);
+
+ return wp;
+}
+
+
+static void __attribute__((__noreturn__))
+usage(FILE *out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] <device>\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+ " -h, --help show this help text\n"
+ " -n, --no-act do everything except the actual write() call\n"
+ " -o, --offset <num> offset to erase, in bytes\n"
+ " -p, --parsable print out in parsable instead of printable format\n"
+ " -q, --quiet suppress output messages\n"
+ " -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+ " -V, --version output version information and exit\n"), out);
+
+ fprintf(out, _("\nFor more information see wipefs(8).\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+
+int
+main(int argc, char **argv)
+{
+ struct wipe_desc *wp0 = NULL, *wp;
+ int c, all = 0, has_offset = 0, noact = 0, quiet = 0;
+ int mode = WP_MODE_PRETTY;
+
+ static const struct option longopts[] = {
+ { "all", 0, 0, 'a' },
+ { "help", 0, 0, 'h' },
+ { "no-act", 0, 0, 'n' },
+ { "offset", 1, 0, 'o' },
+ { "parsable", 0, 0, 'p' },
+ { "quiet", 0, 0, 'q' },
+ { "types", 1, 0, 't' },
+ { "version", 0, 0, 'V' },
+ { NULL, 0, 0, 0 }
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'a','o' },
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "ahno:pqt:V", longopts, NULL)) != -1) {
+
+ err_exclusive_options(c, longopts, excl, excl_st);
+
+ switch(c) {
+ case 'a':
+ all++;
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case 'n':
+ noact++;
+ break;
+ case 'o':
+ wp0 = add_offset(wp0, strtosize_or_err(optarg,
+ _("invalid offset argument")), 1);
+ has_offset++;
+ break;
+ case 'p':
+ mode = WP_MODE_PARSABLE;
+ break;
+ case 'q':
+ quiet++;
+ break;
+ case 't':
+ type_pattern = optarg;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ if (optind == argc)
+ usage(stderr);
+
+ if (!all && !has_offset) {
+ /*
+ * Print only
+ */
+ while (optind < argc) {
+ wp0 = read_offsets(NULL, argv[optind++]);
+ if (wp0)
+ print_all(wp0, mode);
+ free_wipe(wp0);
+ }
+ } else {
+ /*
+ * Erase
+ */
+ while (optind < argc) {
+ wp = clone_offset(wp0);
+ wp = do_wipe(wp, argv[optind++], noact, all, quiet);
+ free_wipe(wp);
+ }
+ }
+
+ return EXIT_SUCCESS;
+}
diff --git a/mount-deprecated/Makemodule.am b/mount-deprecated/Makemodule.am
new file mode 100644
index 0000000..ac47914
--- /dev/null
+++ b/mount-deprecated/Makemodule.am
@@ -0,0 +1,70 @@
+if BUILD_DEPRECATED_MOUNT
+
+mount_common_sources = \
+ mount-deprecated/sundries.c \
+ mount-deprecated/sundries.h \
+ mount-deprecated/fstab.h \
+ mount-deprecated/mount_mntent.h \
+ mount-deprecated/mount_constants.h \
+ mount-deprecated/getusername.h \
+ mount-deprecated/fsprobe.h \
+ mount-deprecated/devname.c \
+ mount-deprecated/devname.h \
+ mount-deprecated/fstab.c \
+ mount-deprecated/getusername.c \
+ mount-deprecated/mount_mntent.c \
+ mount-deprecated/fsprobe.c
+
+#
+# mount
+#
+bin_PROGRAMS += mount
+dist_man_MANS += mount-deprecated/mount.8
+mount_SOURCES = mount-deprecated/mount.c $(mount_common_sources)
+mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+mount_LDADD = $(LDADD) libblkid.la libcommon.la
+
+if HAVE_SELINUX
+mount_LDADD += $(SELINUX_LIBS)
+endif
+
+if HAVE_STATIC_MOUNT
+bin_PROGRAMS += mount.static
+mount_static_SOURCES = $(mount_SOURCES)
+mount_static_CFLAGS = $(mount_CFLAGS)
+mount_static_LDFLAGS = -all-static
+mount_static_LDADD = $(LDADD) libblkid.la libcommon.la
+if HAVE_SELINUX
+mount_static_LDADD += $(SELINUX_LIBS_STATIC)
+endif
+endif # HAVE_STATIC_MOUNT
+
+#
+# umount
+#
+bin_PROGRAMS += umount
+dist_man_MANS += mount-deprecated/umount.8
+umount_SOURCES = mount-deprecated/umount.c $(mount_common_sources)
+umount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) -I$(ul_libblkid_incdir)
+umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+umount_LDADD = $(LDADD) libblkid.la libcommon.la
+
+if HAVE_STATIC_UMOUNT
+bin_PROGRAMS += umount.static
+umount_static_SOURCES = $(umount_SOURCES)
+umount_static_CFLAGS = $(umount_CFLAGS)
+umount_static_LDFLAGS = -all-static
+umount_static_LDADD = $(LDADD) libblkid.la libcommon.la
+endif
+
+
+if MAKEINSTALL_DO_SETUID
+install-exec-hook-mount:
+ chmod 4755 $(DESTDIR)$(bindir)/mount
+ chmod 4755 $(DESTDIR)$(bindir)/umount
+
+INSTALL_EXEC_HOOKS += install-exec-hook-mount
+endif
+
+endif # BUILD_DEPRECATED_MOUNT
diff --git a/mount-deprecated/devname.c b/mount-deprecated/devname.c
new file mode 100644
index 0000000..76dfe91
--- /dev/null
+++ b/mount-deprecated/devname.c
@@ -0,0 +1,14 @@
+#include "fsprobe.h"
+
+#include "devname.h"
+#include "sundries.h" /* for xstrdup */
+
+const char *
+spec_to_devname(const char *spec)
+{
+ if (!spec)
+ return NULL;
+ if (nocanonicalize || is_pseudo_fs(spec))
+ return xstrdup(spec);
+ return fsprobe_get_devname_by_spec(spec);
+}
diff --git a/mount-deprecated/devname.h b/mount-deprecated/devname.h
new file mode 100644
index 0000000..d6adeff
--- /dev/null
+++ b/mount-deprecated/devname.h
@@ -0,0 +1,6 @@
+#ifndef MOUNT_DEVNAME_H
+#define MOUNT_DEVNAME_H
+
+extern const char *spec_to_devname(const char *spec);
+
+#endif
diff --git a/mount-deprecated/fsprobe.c b/mount-deprecated/fsprobe.c
new file mode 100644
index 0000000..80c2566
--- /dev/null
+++ b/mount-deprecated/fsprobe.c
@@ -0,0 +1,141 @@
+#include <stdio.h>
+#include <string.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <stdlib.h>
+
+#include <blkid.h>
+
+#include "blkdev.h"
+#include "canonicalize.h"
+#include "pathnames.h"
+#include "fsprobe.h"
+
+/*
+ * THIS IS DEPRECATED -- use blkid_evaluate_* API rather than this extra layer
+ */
+
+
+static blkid_cache blcache;
+static blkid_probe blprobe;
+
+void
+fsprobe_init(void)
+{
+ blcache = NULL;
+ blprobe = NULL;
+}
+
+void
+fsprobe_exit(void)
+{
+ if (blprobe)
+ blkid_free_probe(blprobe);
+ if (blcache)
+ blkid_put_cache(blcache);
+}
+
+/*
+ * Parses NAME=value, returns -1 on parse error, 0 success. The success is also
+ * when the 'spec' doesn't contain name=value pair (because the spec could be
+ * a devname too). In particular case the pointer 'name' is set to NULL.
+ */
+int
+fsprobe_parse_spec(const char *spec, char **name, char **value)
+{
+ *name = NULL;
+ *value = NULL;
+
+ if (strchr(spec, '='))
+ return blkid_parse_tag_string(spec, name, value);
+
+ return 0;
+}
+
+char *
+fsprobe_get_devname_by_spec(const char *spec)
+{
+ return blkid_evaluate_spec(spec, &blcache);
+}
+
+int
+fsprobe_known_fstype(const char *fstype)
+{
+ return blkid_known_fstype(fstype);
+}
+
+
+/* returns device LABEL, UUID, FSTYPE, ... by low-level
+ * probing interface
+ */
+static char *
+fsprobe_get_value(const char *name, const char *devname, int *ambi)
+{
+ int fd, rc;
+ const char *data = NULL;
+
+ if (!devname || !name)
+ return NULL;
+ fd = open(devname, O_RDONLY);
+ if (fd < 0)
+ return NULL;
+ if (!blprobe)
+ blprobe = blkid_new_probe();
+ if (!blprobe)
+ goto done;
+ if (blkid_probe_set_device(blprobe, fd, 0, 0))
+ goto done;
+
+ blkid_probe_enable_superblocks(blprobe, 1);
+
+ blkid_probe_set_superblocks_flags(blprobe,
+ BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | BLKID_SUBLKS_TYPE);
+
+ rc = blkid_do_safeprobe(blprobe);
+ if (ambi)
+ *ambi = rc == -2 ? 1 : 0; /* ambivalent probing result */
+ if (!rc)
+ blkid_probe_lookup_value(blprobe, name, &data, NULL);
+done:
+ close(fd);
+ return data ? strdup((char *) data) : NULL;
+}
+
+char *
+fsprobe_get_label_by_devname(const char *devname)
+{
+ return fsprobe_get_value("LABEL", devname, NULL);
+}
+
+char *
+fsprobe_get_uuid_by_devname(const char *devname)
+{
+ return fsprobe_get_value("UUID", devname, NULL);
+}
+
+char *
+fsprobe_get_fstype_by_devname(const char *devname)
+{
+ return fsprobe_get_value("TYPE", devname, NULL);
+}
+
+char *
+fsprobe_get_fstype_by_devname_ambi(const char *devname, int *ambi)
+{
+ return fsprobe_get_value("TYPE", devname, ambi);
+}
+
+char *
+fsprobe_get_devname_by_uuid(const char *uuid)
+{
+ return blkid_evaluate_tag("UUID", uuid, &blcache);
+}
+
+char *
+fsprobe_get_devname_by_label(const char *label)
+{
+ return blkid_evaluate_tag("LABEL", label, &blcache);
+}
diff --git a/mount-deprecated/fsprobe.h b/mount-deprecated/fsprobe.h
new file mode 100644
index 0000000..d9c1dc4
--- /dev/null
+++ b/mount-deprecated/fsprobe.h
@@ -0,0 +1,27 @@
+#ifndef FSPROBE_H
+#define FSPROBE_H
+/*
+ * THIS IS DEPRECATED -- use blkid_evaluate_* API rather than this extra layer
+ *
+ * This is the generic interface for filesystem guessing libraries.
+ * Implementations are provided by
+ */
+extern void fsprobe_init(void);
+extern void fsprobe_exit(void);
+
+extern int fsprobe_parse_spec(const char *spec, char **name, char **value);
+
+/* all routines return newly allocated string */
+extern char *fsprobe_get_devname_by_uuid(const char *uuid);
+extern char *fsprobe_get_devname_by_label(const char *label);
+extern char *fsprobe_get_devname_by_spec(const char *spec);
+
+extern char *fsprobe_get_label_by_devname(const char *devname);
+extern char *fsprobe_get_uuid_by_devname(const char *devname);
+extern char *fsprobe_get_fstype_by_devname(const char *devname);
+extern char *fsprobe_get_fstype_by_devname_ambi(const char *devname, int *ambi);
+
+
+extern int fsprobe_known_fstype(const char *fstype);
+
+#endif /* FSPROBE_H */
diff --git a/mount-deprecated/fstab.c b/mount-deprecated/fstab.c
new file mode 100644
index 0000000..47159a3
--- /dev/null
+++ b/mount-deprecated/fstab.c
@@ -0,0 +1,988 @@
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ * - fixed strerr(errno) in gettext calls
+ */
+
+#include <unistd.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <time.h>
+#include <mntent.h>
+
+#include "mount_mntent.h"
+#include "fstab.h"
+#include "sundries.h"
+#include "fsprobe.h"
+#include "pathnames.h"
+#include "nls.h"
+#include "usleep.h"
+#include "strutils.h"
+
+#define streq(s, t) (strcmp ((s), (t)) == 0)
+
+/* Information about mtab. ------------------------------------*/
+static int have_mtab_info = 0;
+static int var_mtab_does_not_exist = 0;
+static int var_mtab_is_a_symlink = 0;
+
+static void
+get_mtab_info(void) {
+ if (!have_mtab_info) {
+ struct stat mtab_stat;
+
+ var_mtab_does_not_exist = 0;
+ var_mtab_is_a_symlink = 0;
+
+ if (lstat(_PATH_MOUNTED, &mtab_stat))
+ var_mtab_does_not_exist = 1;
+ else if (S_ISLNK(mtab_stat.st_mode))
+ var_mtab_is_a_symlink = 1;
+ have_mtab_info = 1;
+ }
+}
+
+void
+reset_mtab_info(void) {
+ have_mtab_info = 0;
+}
+
+int
+mtab_does_not_exist(void) {
+ get_mtab_info();
+ return var_mtab_does_not_exist;
+}
+
+int
+mtab_is_a_symlink(void) {
+ get_mtab_info();
+ return var_mtab_is_a_symlink;
+}
+
+int
+mtab_is_writable() {
+ int fd;
+
+ /* Should we write to /etc/mtab upon an update?
+ Probably not if it is a symlink to /proc/mounts, since that
+ would create a file /proc/mounts in case the proc filesystem
+ is not mounted. */
+ if (mtab_is_a_symlink())
+ return 0;
+
+ fd = open(_PATH_MOUNTED, O_RDWR | O_CREAT, 0644);
+ if (fd >= 0) {
+ close(fd);
+ return 1;
+ } else
+ return 0;
+}
+
+/* Contents of mtab and fstab ---------------------------------*/
+
+struct mntentchn mounttable, fstab;
+static int got_mtab = 0;
+static int got_fstab = 0;
+
+static void read_mounttable(void), read_fstab(void);
+
+struct mntentchn *
+mtab_head() {
+ if (!got_mtab)
+ read_mounttable();
+ return &mounttable;
+}
+
+struct mntentchn *
+fstab_head() {
+ if (!got_fstab)
+ read_fstab();
+ return &fstab;
+}
+
+static void
+my_free_mc(struct mntentchn *mc) {
+ if (mc) {
+ my_free(mc->m.mnt_fsname);
+ my_free(mc->m.mnt_dir);
+ my_free(mc->m.mnt_type);
+ my_free(mc->m.mnt_opts);
+ free(mc);
+ }
+}
+
+
+static void
+discard_mntentchn(struct mntentchn *mc0) {
+ struct mntentchn *mc, *mc1;
+
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc1) {
+ mc1 = mc->nxt;
+ my_free_mc(mc);
+ }
+}
+
+static void
+read_mntentchn(mntFILE *mfp, const char *fnam, struct mntentchn *mc0) {
+ struct mntentchn *mc = mc0;
+ struct my_mntent *mnt;
+
+ while ((mnt = my_getmntent(mfp)) != NULL) {
+ if (!streq(mnt->mnt_type, MNTTYPE_IGNORE)) {
+ mc->nxt = (struct mntentchn *) xmalloc(sizeof(*mc));
+ mc->nxt->prev = mc;
+ mc = mc->nxt;
+ mc->m = *mnt;
+ mc->nxt = mc0;
+ }
+ }
+ mc0->prev = mc;
+ if (ferror(mfp->mntent_fp)) {
+ int errsv = errno;
+ error(_("warning: error reading %s: %s"),
+ fnam, strerror (errsv));
+ mc0->nxt = mc0->prev = NULL;
+ }
+ my_endmntent(mfp);
+}
+
+/*
+ * Read /etc/mtab. If that fails, try /proc/mounts.
+ * This produces a linked list. The list head mounttable is a dummy.
+ */
+static void
+read_mounttable() {
+ mntFILE *mfp;
+ const char *fnam;
+ struct mntentchn *mc = &mounttable;
+
+ got_mtab = 1;
+ mc->nxt = mc->prev = NULL;
+
+ fnam = _PATH_MOUNTED;
+ mfp = my_setmntent (fnam, "r");
+ if (mfp == NULL || mfp->mntent_fp == NULL) {
+ int errsv = errno;
+ fnam = _PATH_PROC_MOUNTS;
+ mfp = my_setmntent (fnam, "r");
+ if (mfp == NULL || mfp->mntent_fp == NULL) {
+ error(_("warning: can't open %s: %s"),
+ _PATH_MOUNTED, strerror (errsv));
+ return;
+ }
+ if (verbose)
+ printf (_("mount: could not open %s - "
+ "using %s instead\n"),
+ _PATH_MOUNTED, _PATH_PROC_MOUNTS);
+ }
+ read_mntentchn(mfp, fnam, mc);
+}
+
+static void
+read_fstab() {
+ mntFILE *mfp = NULL;
+ const char *fnam;
+ struct mntentchn *mc = &fstab;
+
+ got_fstab = 1;
+ mc->nxt = mc->prev = NULL;
+
+ fnam = _PATH_MNTTAB;
+ mfp = my_setmntent (fnam, "r");
+ if (mfp == NULL || mfp->mntent_fp == NULL) {
+ int errsv = errno;
+ error(_("warning: can't open %s: %s"),
+ _PATH_MNTTAB, strerror (errsv));
+ return;
+ }
+ read_mntentchn(mfp, fnam, mc);
+}
+
+
+/* Given the name NAME, try to find it in mtab. */
+struct mntentchn *
+getmntfile (const char *name) {
+ struct mntentchn *mc, *mc0;
+
+ mc0 = mtab_head();
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt)
+ if (streq(mc->m.mnt_dir, name) ||
+ streq(mc->m.mnt_fsname, name))
+ return mc;
+ return NULL;
+}
+
+/*
+ * Given the name NAME, and the place MCPREV we found it last time,
+ * try to find it in mtab.
+ */
+struct mntentchn *
+getmntfilebackward (const char *name, struct mntentchn *mcprev) {
+ struct mntentchn *mc, *mc0;
+
+ mc0 = mtab_head();
+ if (!mcprev)
+ mcprev = mc0;
+
+ for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev)
+ if (streq(mc->m.mnt_dir, name))
+ return mc;
+
+ for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev)
+ if (streq(mc->m.mnt_fsname, name))
+ return mc;
+
+ return NULL;
+}
+
+/*
+ * Given the directory name NAME, and the place MCPREV we found it last time,
+ * try to find more occurrences.
+ */
+struct mntentchn *
+getmntdirbackward (const char *name, struct mntentchn *mcprev) {
+ struct mntentchn *mc, *mc0;
+
+ mc0 = mtab_head();
+ if (!mcprev)
+ mcprev = mc0;
+ for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev)
+ if (streq(mc->m.mnt_dir, name))
+ return mc;
+ return NULL;
+}
+
+/*
+ * Given the device name NAME, and the place MCPREV we found it last time,
+ * try to find more occurrences.
+ */
+struct mntentchn *
+getmntdevbackward (const char *name, struct mntentchn *mcprev) {
+ struct mntentchn *mc, *mc0;
+
+ mc0 = mtab_head();
+ if (!mcprev)
+ mcprev = mc0;
+
+ /* canonical names in mtab */
+ for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev) {
+ if (streq(mc->m.mnt_fsname, name))
+ return mc;
+ }
+
+ /* non-canonical names in mtab (this is BAD THING!) */
+ for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev) {
+ char *cn = canonicalize(mc->m.mnt_fsname);
+ int res = cn ? streq(cn, name) : 0;
+
+ free(cn);
+ if (res)
+ return mc;
+ }
+
+ return NULL;
+}
+
+/*
+ * Given the name NAME, check that it occurs precisely once as dir or dev.
+ */
+int
+is_mounted_once(const char *name) {
+ struct mntentchn *mc, *mc0;
+ int ct = 0;
+
+ mc0 = mtab_head();
+ for (mc = mc0->prev; mc && mc != mc0; mc = mc->prev)
+ if (streq(mc->m.mnt_dir, name) ||
+ streq(mc->m.mnt_fsname, name))
+ ct++;
+ return (ct == 1);
+}
+
+/* Given the name FILE, try to find the option "loop=FILE" in mtab. */
+struct mntentchn *
+getmntoptfile (const char *file) {
+ struct mntentchn *mc, *mc0;
+ const char *opts, *s;
+ int l;
+
+ if (!file)
+ return NULL;
+
+ l = strlen(file);
+
+ mc0 = mtab_head();
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt)
+ if ((opts = mc->m.mnt_opts) != NULL
+ && (s = strstr(opts, "loop="))
+ && !strncmp(s+5, file, l)
+ && (s == opts || s[-1] == ',')
+ && (s[l+5] == 0 || s[l+5] == ','))
+ return mc;
+ return NULL;
+}
+
+/* compares "quoted" or 'quoted' with unquoted */
+static int
+streq_quoted(const char *quoted, const char *unquoted)
+{
+ if (*quoted == '"' || *quoted == '\'')
+ return !strncmp(quoted + 1, unquoted, strlen(quoted) - 2);
+
+ return streq(quoted, unquoted);
+}
+
+static int
+has_label(const char *device, const char *label) {
+ const char *devlabel;
+ int ret;
+
+ devlabel = fsprobe_get_label_by_devname(device);
+ if (!devlabel)
+ return 0;
+
+ ret = streq_quoted(label, devlabel);
+ my_free(devlabel);
+ return ret;
+}
+
+static int
+has_uuid(const char *device, const char *uuid){
+ const char *devuuid;
+ int ret;
+
+ devuuid = fsprobe_get_uuid_by_devname(device);
+ if (!devuuid)
+ return 0;
+
+ ret = streq_quoted(uuid, devuuid);
+ my_free(devuuid);
+ return ret;
+}
+
+/* Find the entry (DEV,DIR) in fstab -- spec and dir must be canonicalized! */
+struct mntentchn *
+getfs_by_devdir (const char *dev, const char *dir) {
+ struct mntentchn *mc, *mc0;
+
+ mc0 = fstab_head();
+
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt) {
+ int ok = 1;
+
+ /* dir */
+ if (!streq(mc->m.mnt_dir, dir)) {
+ char *dr = canonicalize(mc->m.mnt_dir);
+ ok = streq(dr, dir);
+ my_free(dr);
+ }
+
+ /* spec */
+ if (ok && !streq(mc->m.mnt_fsname, dev)) {
+ const char *fs = mc->m.mnt_fsname;
+
+ if (strncmp (fs, "LABEL=", 6) == 0) {
+ ok = has_label(dev, fs + 6);
+ } else if (strncmp (fs, "UUID=", 5) == 0) {
+ ok = has_uuid(dev, fs + 5);
+ } else {
+ fs = canonicalize_spec(mc->m.mnt_fsname);
+ ok = streq_except_trailing_slash(fs, dev);
+ my_free(fs);
+ }
+ }
+ if (ok)
+ return mc;
+ }
+
+ return NULL;
+}
+
+/* Find the dir DIR in fstab. */
+struct mntentchn *
+getfs_by_dir (const char *dir) {
+ struct mntentchn *mc, *mc0;
+ char *cdir;
+
+ mc0 = fstab_head();
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt)
+ if (streq(mc->m.mnt_dir, dir))
+ return mc;
+
+ cdir = canonicalize(dir);
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt) {
+ int ok = streq(mc->m.mnt_dir, cdir);
+ if (!ok) {
+ char *dr = canonicalize(mc->m.mnt_dir);
+ ok = dr ? streq(dr, cdir) : 0;
+ free(dr);
+ }
+ if (ok) {
+ free(cdir);
+ return mc;
+ }
+ }
+ free(cdir);
+ return NULL;
+}
+
+/* Find the device SPEC in fstab. */
+struct mntentchn *
+getfs_by_spec (const char *spec) {
+ char *name = NULL, *value = NULL, *cspec;
+ struct mntentchn *mc = NULL;
+
+ if (!spec)
+ return NULL;
+
+ if (fsprobe_parse_spec(spec, &name, &value) != 0)
+ return NULL; /* parse error */
+
+ if (name) {
+ if (!strcmp(name,"LABEL"))
+ mc = getfs_by_label (value);
+ else if (!strcmp(name,"UUID"))
+ mc = getfs_by_uuid (value);
+
+ free(name);
+ free(value);
+ return mc;
+ }
+
+ cspec = canonicalize_spec(spec);
+ mc = getfs_by_devname(cspec);
+ free(cspec);
+
+ if (!mc)
+ /* noncanonical name like /dev/cdrom */
+ mc = getfs_by_devname(spec);
+
+ return mc;
+}
+
+/* Find the device in fstab. */
+struct mntentchn *
+getfs_by_devname (const char *devname) {
+ struct mntentchn *mc, *mc0;
+
+ mc0 = fstab_head();
+
+ /* canonical devname in fstab */
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt)
+ if (streq(mc->m.mnt_fsname, devname))
+ return mc;
+
+ /* noncanonical devname in fstab */
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt) {
+ char *fs;
+
+ if (strncmp(mc->m.mnt_fsname, "LABEL=", 6) == 0 ||
+ strncmp(mc->m.mnt_fsname, "UUID=", 5) == 0)
+ continue;
+
+ fs = canonicalize_spec(mc->m.mnt_fsname);
+ if (streq(fs, devname)) {
+ free(fs);
+ return mc;
+ }
+ free(fs);
+ }
+
+ return NULL;
+}
+
+
+/* Find the uuid UUID in fstab. */
+struct mntentchn *
+getfs_by_uuid (const char *uuid) {
+ struct mntentchn *mc, *mc0;
+
+ mc0 = fstab_head();
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt)
+ if (strncmp (mc->m.mnt_fsname, "UUID=", 5) == 0
+ && streq_quoted(mc->m.mnt_fsname + 5, uuid))
+ return mc;
+ return NULL;
+}
+
+/* Find the label LABEL in fstab. */
+struct mntentchn *
+getfs_by_label (const char *label) {
+ struct mntentchn *mc, *mc0;
+
+ mc0 = fstab_head();
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt)
+ if (strncmp (mc->m.mnt_fsname, "LABEL=", 6) == 0
+ && streq_quoted(mc->m.mnt_fsname + 6, label))
+ return mc;
+ return NULL;
+}
+
+/* Updating mtab ----------------------------------------------*/
+
+/* Flag for already existing lock file. */
+static int we_created_lockfile = 0;
+static int lockfile_fd = -1;
+
+/* Flag to indicate that signals have been set up. */
+static int signals_have_been_setup = 0;
+
+/* Ensure that the lock is released if we are interrupted. */
+#ifndef HAVE_STRSIGNAL_DECL
+extern char *strsignal(int sig); /* not always in <string.h> */
+#endif
+
+static void
+handler (int sig) {
+ die(EX_USER, "%s", strsignal(sig));
+}
+
+static void
+setlkw_timeout (int sig __attribute__ ((__unused__))) {
+ /* nothing, fcntl will fail anyway */
+}
+
+/* Remove lock file. */
+void
+unlock_mtab (void) {
+ if (we_created_lockfile) {
+ close(lockfile_fd);
+ lockfile_fd = -1;
+ unlink (_PATH_MOUNTED_LOCK);
+ we_created_lockfile = 0;
+ }
+}
+
+/* Create the lock file.
+ The lock file will be removed if we catch a signal or when we exit. */
+/* The old code here used flock on a lock file /etc/mtab~ and deleted
+ this lock file afterwards. However, as rgooch remarks, that has a
+ race: a second mount may be waiting on the lock and proceed as
+ soon as the lock file is deleted by the first mount, and immediately
+ afterwards a third mount comes, creates a new /etc/mtab~, applies
+ flock to that, and also proceeds, so that the second and third mount
+ now both are scribbling in /etc/mtab.
+ The new code uses a link() instead of a creat(), where we proceed
+ only if it was us that created the lock, and hence we always have
+ to delete the lock afterwards. Now the use of flock() is in principle
+ superfluous, but avoids an arbitrary sleep(). */
+
+/* Where does the link point to? Obvious choices are mtab and mtab~~.
+ HJLu points out that the latter leads to races. Right now we use
+ mtab~.<pid> instead. Use 20 as upper bound for the length of %d. */
+#define MOUNTLOCK_LINKTARGET _PATH_MOUNTED_LOCK "%d"
+#define MOUNTLOCK_LINKTARGET_LTH (sizeof(_PATH_MOUNTED_LOCK)+20)
+
+/*
+ * The original mount locking code has used sleep(1) between attempts and
+ * maximal number of attemps has been 5.
+ *
+ * There was very small number of attempts and extremely long waiting (1s)
+ * that is useless on machines with large number of concurret mount processes.
+ *
+ * Now we wait few thousand microseconds between attempts and we have global
+ * time limit (30s) rather than limit for number of attempts. The advantage
+ * is that this method also counts time which we spend in fcntl(F_SETLKW) and
+ * number of attempts is not so much restricted.
+ *
+ * -- kzak@redhat.com [2007-Mar-2007]
+ */
+
+/* maximum seconds between first and last attempt */
+#define MOUNTLOCK_MAXTIME 30
+
+/* sleep time (in microseconds, max=999999) between attempts */
+#define MOUNTLOCK_WAITTIME 5000
+
+void
+lock_mtab (void) {
+ int i;
+ struct timespec waittime;
+ struct timeval maxtime;
+ char linktargetfile[MOUNTLOCK_LINKTARGET_LTH];
+
+ if (!signals_have_been_setup) {
+ int sig = 0;
+ struct sigaction sa;
+
+ sa.sa_handler = handler;
+ sa.sa_flags = 0;
+ sigfillset (&sa.sa_mask);
+
+ while (sigismember (&sa.sa_mask, ++sig) != -1
+ && sig != SIGCHLD) {
+ if (sig == SIGALRM)
+ sa.sa_handler = setlkw_timeout;
+ else
+ sa.sa_handler = handler;
+ sigaction (sig, &sa, (struct sigaction *) 0);
+ }
+ signals_have_been_setup = 1;
+ }
+
+ sprintf(linktargetfile, MOUNTLOCK_LINKTARGET, getpid ());
+
+ i = open (linktargetfile, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);
+ if (i < 0) {
+ int errsv = errno;
+ /* linktargetfile does not exist (as a file)
+ and we cannot create it. Read-only filesystem?
+ Too many files open in the system?
+ Filesystem full? */
+ die (EX_FILEIO, _("can't create lock file %s: %s "
+ "(use -n flag to override)"),
+ linktargetfile, strerror (errsv));
+ }
+ close(i);
+
+ gettimeofday(&maxtime, NULL);
+ maxtime.tv_sec += MOUNTLOCK_MAXTIME;
+
+ waittime.tv_sec = 0;
+ waittime.tv_nsec = (1000 * MOUNTLOCK_WAITTIME);
+
+ /* Repeat until it was us who made the link */
+ while (!we_created_lockfile) {
+ struct timeval now;
+ struct flock flock;
+ int errsv, j;
+
+ j = link(linktargetfile, _PATH_MOUNTED_LOCK);
+ errsv = errno;
+
+ if (j == 0)
+ we_created_lockfile = 1;
+
+ if (j < 0 && errsv != EEXIST) {
+ (void) unlink(linktargetfile);
+ die (EX_FILEIO, _("can't link lock file %s: %s "
+ "(use -n flag to override)"),
+ _PATH_MOUNTED_LOCK, strerror (errsv));
+ }
+
+ lockfile_fd = open (_PATH_MOUNTED_LOCK, O_WRONLY);
+
+ if (lockfile_fd < 0) {
+ /* Strange... Maybe the file was just deleted? */
+ int errsv = errno;
+ gettimeofday(&now, NULL);
+ if (errno == ENOENT && now.tv_sec < maxtime.tv_sec) {
+ we_created_lockfile = 0;
+ continue;
+ }
+ (void) unlink(linktargetfile);
+ die (EX_FILEIO, _("can't open lock file %s: %s "
+ "(use -n flag to override)"),
+ _PATH_MOUNTED_LOCK, strerror (errsv));
+ }
+
+ flock.l_type = F_WRLCK;
+ flock.l_whence = SEEK_SET;
+ flock.l_start = 0;
+ flock.l_len = 0;
+
+ if (j == 0) {
+ /* We made the link. Now claim the lock. */
+ if (fcntl (lockfile_fd, F_SETLK, &flock) == -1) {
+ if (verbose) {
+ int errsv = errno;
+ printf(_("Can't lock lock file %s: %s\n"),
+ _PATH_MOUNTED_LOCK, strerror (errsv));
+ }
+ /* proceed, since it was us who created the lockfile anyway */
+ }
+ (void) unlink(linktargetfile);
+ } else {
+ /* Someone else made the link. Wait. */
+ gettimeofday(&now, NULL);
+ if (now.tv_sec < maxtime.tv_sec) {
+ alarm(maxtime.tv_sec - now.tv_sec);
+ if (fcntl (lockfile_fd, F_SETLKW, &flock) == -1) {
+ int errsv = errno;
+ (void) unlink(linktargetfile);
+ die (EX_FILEIO, _("can't lock lock file %s: %s"),
+ _PATH_MOUNTED_LOCK, (errno == EINTR) ?
+ _("timed out") : strerror (errsv));
+ }
+ alarm(0);
+
+ nanosleep(&waittime, NULL);
+ } else {
+ (void) unlink(linktargetfile);
+ die (EX_FILEIO, _("Cannot create link %s\n"
+ "Perhaps there is a stale lock file?\n"),
+ _PATH_MOUNTED_LOCK);
+ }
+ close(lockfile_fd);
+ }
+ }
+}
+
+/* returns whole option with name @optname from @src list */
+char *
+get_option(const char *optname, const char *src, size_t *len)
+{
+ char *opt, *end;
+ size_t sz;
+
+ if (!src)
+ return NULL;
+
+ opt = strstr(src, optname);
+ if (!opt)
+ return NULL;
+
+ end = strchr(opt, ',');
+ sz = end && end > opt ? (size_t) (end - opt) : strlen(opt);
+
+ if (len)
+ *len = sz;
+
+ if ((opt == src || *(opt - 1) == ',') &&
+ (*(opt + sz) == '\0' || *(opt + sz) == ','))
+ return opt;
+
+ return NULL;
+}
+
+ /* If @list contains "user=peter" and @s is "user=", return "peter" */
+char *
+get_option_value(const char *list, const char *s)
+{
+ const char *t;
+ size_t n = strlen(s);
+
+ while (list && *list) {
+ if (strncmp(list, s, n) == 0) {
+ s = t = list + n;
+ while (*s && *s != ',')
+ s++;
+ return xstrndup(t, s-t);
+ }
+ while (*list && *list++ != ',') ;
+ }
+ return NULL;
+}
+
+static int
+cpy_option(const char *optname, char *dest, const char *src)
+{
+ char *opt;
+ size_t sz;
+
+ opt = get_option(optname, src, &sz);
+ if (!opt)
+ /* the option doesn't exist */
+ return 0;
+
+ if (get_option(optname, dest, NULL))
+ /* the options is already in dest */
+ return 0;
+
+ if (*dest) {
+ dest = dest + strlen(dest);
+ *dest++ = ','; /* separator */
+ }
+ memcpy(dest, opt, sz); /* copy option */
+ *(dest + sz) = '\0'; /* terminator */
+
+ return 1;
+}
+
+/* Generates (and allocates) new options for remount
+ *
+ * We cannot blindly replace the old options, otherwise we will lost some
+ * internally generated stuff (e.g loop=).
+ */
+static char *
+mk_remount_opts(const char *old, const char *instead)
+{
+ char *new;
+ size_t sz;
+
+ if (old == NULL && instead == NULL)
+ return NULL;
+ if (!old)
+ return xstrdup(instead);
+
+ /* max size of new options is:
+ * old + new + '\0' + separator (for each copied option)
+ */
+ sz = strlen(old) + (instead ? strlen(instead) : 0) + 2;
+ new = xmalloc(sz);
+ if (instead && *instead)
+ strncpy(new, instead, sz);
+ else
+ *new = '\0';
+
+ cpy_option("loop=", new, old);
+
+ return new;
+}
+
+/*
+ * Update the mtab.
+ * Used by umount with null INSTEAD: remove the last DIR entry.
+ * Used by mount upon a remount: update option part,
+ * and complain if a wrong device or type was given.
+ * [Note that often a remount will be a rw remount of /
+ * where there was no entry before, and we'll have to believe
+ * the values given in INSTEAD.]
+ */
+
+void
+update_mtab (const char *dir, struct my_mntent *instead) {
+ mntFILE *mfp, *mftmp;
+ const char *fnam = _PATH_MOUNTED;
+ struct mntentchn mtabhead; /* dummy */
+ struct mntentchn *mc, *mc0 = NULL, *absent = NULL;
+ struct stat sbuf;
+ int fd;
+
+ if (mtab_does_not_exist() || !mtab_is_writable())
+ return;
+
+ lock_mtab();
+
+ /* having locked mtab, read it again */
+ mc0 = mc = &mtabhead;
+ mc->nxt = mc->prev = NULL;
+
+ mfp = my_setmntent(fnam, "r");
+ if (mfp == NULL || mfp->mntent_fp == NULL) {
+ int errsv = errno;
+ error (_("cannot open %s (%s) - mtab not updated"),
+ fnam, strerror (errsv));
+ goto leave;
+ }
+
+ read_mntentchn(mfp, fnam, mc);
+
+ /* find last occurrence of dir */
+ if (dir) {
+ for (mc = mc0->prev; mc && mc != mc0; mc = mc->prev)
+ if (streq(mc->m.mnt_dir, dir))
+ break;
+ }
+ if (dir && mc && mc != mc0) {
+ if (instead == NULL) {
+ /* An umount - remove entry */
+ if (mc && mc != mc0) {
+ mc->prev->nxt = mc->nxt;
+ mc->nxt->prev = mc->prev;
+ my_free_mc(mc);
+ }
+ } else if (!strcmp(mc->m.mnt_dir, instead->mnt_dir)) {
+ /* A remount */
+ char *opts = mk_remount_opts(mc->m.mnt_opts,
+ instead->mnt_opts);
+ my_free(mc->m.mnt_opts);
+ mc->m.mnt_opts = opts;
+ } else {
+ /* A move */
+ my_free(mc->m.mnt_dir);
+ mc->m.mnt_dir = xstrdup(instead->mnt_dir);
+ }
+ } else if (instead) {
+ /* not found, add a new entry */
+ absent = xmalloc(sizeof(*absent));
+ absent->m.mnt_fsname = xstrdup(instead->mnt_fsname);
+ absent->m.mnt_dir = xstrdup(instead->mnt_dir);
+ absent->m.mnt_type = xstrdup(instead->mnt_type);
+ absent->m.mnt_opts = xstrdup(instead->mnt_opts);
+ absent->m.mnt_freq = instead->mnt_freq;
+ absent->m.mnt_passno = instead->mnt_passno;
+ absent->nxt = mc0;
+ if (mc0->prev != NULL) {
+ absent->prev = mc0->prev;
+ mc0->prev->nxt = absent;
+ } else {
+ absent->prev = mc0;
+ }
+ mc0->prev = absent;
+ if (mc0->nxt == NULL)
+ mc0->nxt = absent;
+ }
+
+ /* write chain to mtemp */
+ mftmp = my_setmntent (_PATH_MOUNTED_TMP, "w");
+ if (mftmp == NULL || mftmp->mntent_fp == NULL) {
+ int errsv = errno;
+ error (_("cannot open %s (%s) - mtab not updated"),
+ _PATH_MOUNTED_TMP, strerror (errsv));
+ goto leave;
+ }
+
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt) {
+ if (my_addmntent(mftmp, &(mc->m)) == 1) {
+ int errsv = errno;
+ error(_("error writing %s: %s"),
+ _PATH_MOUNTED_TMP, strerror (errsv));
+ goto leave;
+ }
+ }
+
+ discard_mntentchn(mc0);
+ mc0 = NULL;
+
+ /*
+ * We have to be paranoid with write() to avoid incomplete
+ * /etc/mtab. Users are able to control writing by RLIMIT_FSIZE.
+ */
+ if (fflush(mftmp->mntent_fp) != 0) {
+ int errsv = errno;
+ error (_("%s: cannot fflush changes: %s"),
+ _PATH_MOUNTED_TMP, strerror (errsv));
+ goto leave;
+ }
+
+ fd = fileno(mftmp->mntent_fp);
+
+ /*
+ * It seems that better is incomplete and broken /etc/mtab that
+ * /etc/mtab that is writeable for non-root users.
+ *
+ * We always skip rename() when chown() and chmod() failed.
+ * -- kzak, 11-Oct-2007
+ */
+
+ if (fchmod(fd, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH) < 0) {
+ int errsv = errno;
+ fprintf(stderr, _("error changing mode of %s: %s\n"),
+ _PATH_MOUNTED_TMP, strerror (errsv));
+ goto leave;
+ }
+
+ /*
+ * If mount is setuid and some non-root user mounts sth,
+ * then mtab.tmp might get the group of this user. Copy uid/gid
+ * from the present mtab before renaming.
+ */
+ if (stat(_PATH_MOUNTED, &sbuf) == 0) {
+ if (fchown(fd, sbuf.st_uid, sbuf.st_gid) < 0) {
+ int errsv = errno;
+ fprintf (stderr, _("error changing owner of %s: %s\n"),
+ _PATH_MOUNTED_TMP, strerror(errsv));
+ goto leave;
+ }
+ }
+
+ my_endmntent (mftmp);
+
+ /* rename mtemp to mtab */
+ if (rename (_PATH_MOUNTED_TMP, _PATH_MOUNTED) < 0) {
+ int errsv = errno;
+ fprintf(stderr, _("can't rename %s to %s: %s\n"),
+ _PATH_MOUNTED_TMP, _PATH_MOUNTED, strerror(errsv));
+ }
+
+ leave:
+ if (mc0)
+ discard_mntentchn(mc0);
+ unlink(_PATH_MOUNTED_TMP);
+ unlock_mtab();
+}
+
diff --git a/mount-deprecated/fstab.h b/mount-deprecated/fstab.h
new file mode 100644
index 0000000..4c01fd4
--- /dev/null
+++ b/mount-deprecated/fstab.h
@@ -0,0 +1,39 @@
+#ifndef MOUNT_FSTAB_H
+#define MOUNT_FSTAB_H
+
+#include "mount_mntent.h"
+
+int mtab_is_writable(void);
+int mtab_is_a_symlink(void);
+int mtab_does_not_exist(void);
+void reset_mtab_info(void);
+int is_mounted_once(const char *name);
+
+struct mntentchn {
+ struct mntentchn *nxt, *prev;
+ struct my_mntent m;
+};
+
+struct mntentchn *mtab_head (void);
+struct mntentchn *getmntfile (const char *name);
+struct mntentchn *getmntfilebackward (const char *name, struct mntentchn *mcprev);
+struct mntentchn *getmntoptfile (const char *file);
+struct mntentchn *getmntdirbackward (const char *dir, struct mntentchn *mc);
+struct mntentchn *getmntdevbackward (const char *dev, struct mntentchn *mc);
+
+struct mntentchn *fstab_head (void);
+struct mntentchn *getfs_by_dir (const char *dir);
+struct mntentchn *getfs_by_spec (const char *spec);
+struct mntentchn *getfs_by_devname (const char *devname);
+struct mntentchn *getfs_by_devdir (const char *dev, const char *dir);
+struct mntentchn *getfs_by_uuid (const char *uuid);
+struct mntentchn *getfs_by_label (const char *label);
+
+void lock_mtab (void);
+void unlock_mtab (void);
+void update_mtab (const char *special, struct my_mntent *with);
+
+char *get_option(const char *optname, const char *src, size_t *len);
+char *get_option_value(const char *list, const char *s);
+
+#endif /* MOUNT_FSTAB_H */
diff --git a/mount-deprecated/getusername.c b/mount-deprecated/getusername.c
new file mode 100644
index 0000000..9835768
--- /dev/null
+++ b/mount-deprecated/getusername.c
@@ -0,0 +1,14 @@
+#include <unistd.h>
+#include <pwd.h>
+#include <sys/types.h>
+#include "getusername.h"
+
+char *
+getusername() {
+ char *user = 0;
+ struct passwd *pw = getpwuid(getuid());
+
+ if (pw)
+ user = pw->pw_name;
+ return user;
+}
diff --git a/mount-deprecated/getusername.h b/mount-deprecated/getusername.h
new file mode 100644
index 0000000..808ac9b
--- /dev/null
+++ b/mount-deprecated/getusername.h
@@ -0,0 +1 @@
+extern char *getusername(void);
diff --git a/mount-deprecated/mount.8 b/mount-deprecated/mount.8
new file mode 100644
index 0000000..91dcc24
--- /dev/null
+++ b/mount-deprecated/mount.8
@@ -0,0 +1,2857 @@
+.\" Copyright (c) 1996-2004 Andries Brouwer
+.\"
+.\" This page is somewhat derived from a page that was
+.\" (c) 1980, 1989, 1991 The Regents of the University of California
+.\" and had been heavily modified by Rik Faith and myself.
+.\" (Probably no BSD text remains.)
+.\" Fragments of text were written by Werner Almesberger, Remy Card,
+.\" Stephen Tweedie and Eric Youngdale.
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" 960705, aeb: version for mount-2.7g
+.\" 970114, aeb: xiafs and ext are dead; romfs is new
+.\" 970623, aeb: -F option
+.\" 970914, reg: -s option
+.\" 981111, K.Garloff: /etc/filesystems
+.\" 990111, aeb: documented /sbin/mount.smbfs
+.\" 990730, Yann Droneaud <lch@multimania.com>: updated page
+.\" 991214, Elrond <Elrond@Wunder-Nett.org>: added some docs on devpts
+.\" 010714, Michael K. Johnson <johnsonm@redhat.com> added -O
+.\" 010725, Nikita Danilov <NikitaDanilov@Yahoo.COM>: reiserfs options
+.\" 011124, Karl Eichwalder <ke@gnu.franken.de>: tmpfs options
+.\"
+.TH MOUNT 8 "December 2004" "util-linux" "System Administration"
+.SH NAME
+mount \- mount a filesystem
+.SH SYNOPSIS
+.B mount
+.RB [ \-lhV ]
+.LP
+.BI "mount \-a
+.RB [ \-fFnrsvw ]
+.RB [ \-t
+.IR vfstype ]
+.RB [ \-O
+.IR optlist ]
+.LP
+.B mount
+.RB [ \-fnrsvw ]
+.RB [ \-o
+.IR option [ \fB,\fPoption ]...]
+.IR device | dir
+.LP
+.B mount
+.RB [ \-fnrsvw ]
+.RB [ \-t
+.IB vfstype ]
+.RB [ \-o
+.IR options ]
+.I device dir
+.SH DESCRIPTION
+All files accessible in a Unix system are arranged in one big
+tree, the file hierarchy, rooted at
+.BR / .
+These files can be spread out over several devices. The
+.B mount
+command serves to attach the filesystem found on some device
+to the big file tree. Conversely, the
+.BR umount (8)
+command will detach it again.
+
+The standard form of the
+.B mount
+command, is
+.RS
+
+.br
+.BI "mount \-t" " type device dir"
+.br
+
+.RE
+This tells the kernel to attach the filesystem found on
+.I device
+(which is of type
+.IR type )
+at the directory
+.IR dir .
+The previous contents (if any) and owner and mode of
+.I dir
+become invisible, and as long as this filesystem remains mounted,
+the pathname
+.I dir
+refers to the root of the filesystem on
+.IR device .
+
+If only directory or device is given, for example:
+.RS
+
+.br
+.BI "mount /dir"
+.br
+
+.RE
+then mount looks for a mountpoint and if not found then for a device in the
+/etc/fstab file.
+
+.B The listing and help.
+.RS
+Three forms of invocation do not actually mount anything:
+.TP
+.B "mount \-h"
+prints a help message
+.TP
+.B "mount \-V"
+prints a version string
+.TP
+.BR "mount " [ -l "] [" "-t \fItype\fP" ]
+lists all mounted filesystems (of type
+.IR type ).
+The option \-l adds the labels in this listing.
+See below.
+.RE
+
+.B The device indication.
+.RS
+Most devices are indicated by a file name (of a block special device), like
+.IR /dev/sda1 ,
+but there are other possibilities. For example, in the case of an NFS mount,
+.I device
+may look like
+.IR knuth.cwi.nl:/dir .
+It is possible to indicate a block special device using its
+volume
+.B LABEL
+or
+.B UUID
+(see the \-L and \-U options below).
+
+The recommended setup is to use LABEL=<label> or UUID=<uuid> tags rather than
+.B /dev/disk/by-{label,uuid}
+udev symlinks in the /etc/fstab file. The tags are
+more readable, robust and portable. The
+.BR mount (8)
+command internally uses udev
+symlinks, so use the symlinks in /etc/fstab has no advantage over LABEL=/UUID=.
+For more details see
+.BR libblkid (3).
+
+Note that
+.BR mount (8)
+uses UUIDs as strings. The UUIDs from command line or
+.BR fstab (5)
+are not converted to internal binary representation. The string representation
+of the UUID should be based on lower case characters.
+
+The
+.I proc
+filesystem is not associated with a special device, and when
+mounting it, an arbitrary keyword, such as
+.I proc
+can be used instead of a device specification.
+(The customary choice
+.I none
+is less fortunate: the error message `none busy' from
+.B umount
+can be confusing.)
+.RE
+
+.B The /etc/fstab, /etc/mtab and /proc/mounts files.
+.RS
+The file
+.I /etc/fstab
+(see
+.BR fstab (5)),
+may contain lines describing what devices are usually
+mounted where, using which options.
+.LP
+The command
+.RS
+.sp
+.B mount \-a
+.RB [ \-t
+.IR type ]
+.RB [ \-O
+.IR optlist ]
+.sp
+.RE
+(usually given in a bootscript) causes all filesystems mentioned in
+.I fstab
+(of the proper type and/or having or not having the proper options)
+to be mounted as indicated, except for those whose line contains the
+.B noauto
+keyword. Adding the
+.B \-F
+option will make mount fork, so that the
+filesystems are mounted simultaneously.
+.LP
+When mounting a filesystem mentioned in
+.IR fstab
+or
+.IR mtab ,
+it suffices to give only the device, or only the mount point.
+
+
+The programs
+.B mount
+and
+.B umount
+maintain a list of currently mounted filesystems in the file
+.IR /etc/mtab .
+If no arguments are given to
+.BR mount ,
+this list is printed.
+
+The
+.B mount
+program does not read the
+.I /etc/fstab
+file if
+.I device
+(or LABEL/UUID) and
+.I dir
+are specified. For example:
+.RS
+.sp
+.B "mount /dev/foo /dir"
+.sp
+.RE
+If you want to override mount options from
+.I /etc/fstab
+you have to use:
+.RS
+.sp
+.B "mount device|dir -o <options>"
+.sp
+.RE
+and then the mount options from command line will be appended to
+the list of options from
+.IR /etc/fstab .
+The usual behaviour is that the last option wins if there is more duplicated
+options.
+
+When the
+.I proc
+filesystem is mounted (say at
+.IR /proc ),
+the files
+.I /etc/mtab
+and
+.I /proc/mounts
+have very similar contents. The former has somewhat
+more information, such as the mount options used,
+but is not necessarily up-to-date (cf. the
+.B \-n
+option below). It is possible to replace
+.I /etc/mtab
+by a symbolic link to
+.IR /proc/mounts ,
+and especially when you have very large numbers of mounts
+things will be much faster with that symlink,
+but some information is lost that way, and in particular
+using the "user" option will fail.
+.RE
+
+.B The non-superuser mounts.
+.RS
+Normally, only the superuser can mount filesystems.
+However, when
+.I fstab
+contains the
+.B user
+option on a line, anybody can mount the corresponding system.
+.LP
+Thus, given a line
+.RS
+.sp
+.B "/dev/cdrom /cd iso9660 ro,user,noauto,unhide"
+.sp
+.RE
+any user can mount the iso9660 filesystem found on his CDROM
+using the command
+.RS
+.sp
+.B "mount /dev/cdrom"
+.sp
+.RE
+or
+.RS
+.sp
+.B "mount /cd"
+.sp
+.RE
+For more details, see
+.BR fstab (5).
+Only the user that mounted a filesystem can unmount it again.
+If any user should be able to unmount, then use
+.B users
+instead of
+.B user
+in the
+.I fstab
+line.
+The
+.B owner
+option is similar to the
+.B user
+option, with the restriction that the user must be the owner
+of the special file. This may be useful e.g. for
+.I /dev/fd
+if a login script makes the console user owner of this device.
+The
+.B group
+option is similar, with the restriction that the user must be
+member of the group of the special file.
+.RE
+
+
+.B The bind mounts.
+.RS
+.\" In fact since 2.3.99. At first the syntax was mount -t bind.
+Since Linux 2.4.0 it is possible to remount part of the
+file hierarchy somewhere else. The call is
+.RS
+.br
+.B mount --bind
+.I olddir newdir
+.RE
+or shortoption
+.RS
+.br
+.B mount -B
+.I olddir newdir
+.RE
+or fstab entry is:
+.RS
+.br
+.I /olddir
+.I /newdir
+.B none bind
+.RE
+
+After this call the same contents is accessible in two places.
+One can also remount a single file (on a single file). It's also
+possible to use the bind mount to create a mountpoint from a regular
+directory, for example:
+
+.RS
+.br
+.B mount --bind
+.I foo foo
+.RE
+
+The bind mount call attaches only (part of) a single filesystem, not possible
+submounts. The entire file hierarchy including submounts is attached
+a second place using
+
+.RS
+.br
+.B mount --rbind
+.I olddir newdir
+.RE
+
+or shortoption
+
+.RS
+.br
+.B mount -R
+.I olddir newdir
+.RE
+.\" available since Linux 2.4.11.
+
+Note that the filesystem mount options will remain the same as those
+on the original mount point, and cannot be changed by passing the -o
+option along with --bind/--rbind. The mount options can be
+changed by a separate remount command, for example:
+
+.RS
+.br
+.B mount --bind
+.I olddir newdir
+.br
+.B mount -o remount,ro
+.I newdir
+.RE
+
+Note that behavior of the remount operation depends on the /etc/mtab file. The
+first command stores the 'bind' flag to the /etc/mtab file and the second
+command reads the flag from the file. If you have a system without the
+/etc/mtab file or if you explicitly define source and target for the remount
+command (then mount(8) does not read /etc/mtab), then you have to use bind flag
+(or option) for the remount command too. For example:
+
+.RS
+.br
+.B mount --bind
+.I olddir newdir
+.br
+.B mount -o remount,ro,bind
+.I olddir newdir
+.RE
+.RE
+
+.B The move operation.
+.RS
+Since Linux 2.5.1 it is possible to atomically move a
+.B mounted tree
+to another place. The call is
+.RS
+.br
+.B mount --move
+.I olddir newdir
+.RE
+or shortoption
+.RS
+.br
+.B mount -M
+.I olddir newdir
+.RE
+This will cause the contents which previously appeared under olddir to be
+accessed under newdir. The physical location of the files is not changed.
+Note that the
+.I olddir
+has to be a mountpoint.
+.RE
+
+.B The shared subtrees operations.
+.RS
+Since Linux 2.6.15 it is possible to mark a mount and its submounts as shared,
+private, slave or unbindable. A shared mount provides ability to create mirrors
+of that mount such that mounts and umounts within any of the mirrors propagate
+to the other mirror. A slave mount receives propagation from its master, but
+any not vice-versa. A private mount carries no propagation abilities. A
+unbindable mount is a private mount which cannot be cloned through a bind
+operation. Detailed semantics is documented in Documentation/filesystems/sharedsubtree.txt
+file in the kernel source tree.
+
+.RS
+.nf
+.BI "mount --make-shared " mountpoint
+.BI "mount --make-slave " mountpoint
+.BI "mount --make-private " mountpoint
+.BI "mount --make-unbindable " mountpoint
+.fi
+.RE
+
+The following commands allows one to recursively change the type of all the
+mounts under a given mountpoint.
+
+.RS
+.nf
+.BI "mount --make-rshared " mountpoint
+.BI "mount --make-rslave " mountpoint
+.BI "mount --make-rprivate " mountpoint
+.BI "mount --make-runbindable " mountpoint
+.fi
+.RE
+.RE
+
+.SH COMMAND LINE OPTIONS
+The full set of mount options used by an invocation of
+.B mount
+is determined by first extracting the
+mount options for the filesystem from the
+.I fstab
+table, then applying any options specified by the
+.B \-o
+argument, and finally applying a
+.BR \-r " or " \-w
+option, when present.
+
+Command line options available for the
+.B mount
+command:
+.IP "\fB\-V, \-\-version\fP"
+Output version.
+.IP "\fB\-h, \-\-help\fP"
+Print a help message.
+.IP "\fB\-v, \-\-verbose\fP"
+Verbose mode.
+.IP "\fB\-a, \-\-all\fP"
+Mount all filesystems (of the given types) mentioned in
+.IR fstab .
+.IP "\fB\-F, \-\-fork\fP"
+(Used in conjunction with
+.BR \-a .)
+Fork off a new incarnation of mount for each device.
+This will do the mounts on different devices or different NFS servers
+in parallel.
+This has the advantage that it is faster; also NFS timeouts go in
+parallel. A disadvantage is that the mounts are done in undefined order.
+Thus, you cannot use this option if you want to mount both
+.I /usr
+and
+.IR /usr/spool .
+.IP "\fB\-f, \-\-fake\fP"
+Causes everything to be done except for the actual system call; if it's not
+obvious, this ``fakes'' mounting the filesystem. This option is useful in
+conjunction with the
+.B \-v
+flag to determine what the
+.B mount
+command is trying to do. It can also be used to add entries for devices
+that were mounted earlier with the -n option. The -f option checks for
+existing record in /etc/mtab and fails when the record already
+exists (with regular non-fake mount, this check is done by kernel).
+.IP "\fB\-i, \-\-internal\-only\fP"
+Don't call the /sbin/mount.<filesystem> helper even if it exists.
+.IP "\fB\-l\fP"
+Add the labels in the mount output. Mount must have
+permission to read the disk device (e.g. be suid root) for this to work.
+One can set such a label for ext2, ext3 or ext4 using the
+.BR e2label (8)
+utility, or for XFS using
+.BR xfs_admin (8),
+or for reiserfs using
+.BR reiserfstune (8).
+.IP "\fB\-n, \-\-no\-mtab\fP"
+Mount without writing in
+.IR /etc/mtab .
+This is necessary for example when
+.I /etc
+is on a read-only filesystem.
+.IP "\fB\-\-no\-canonicalize\fP"
+Don't canonicalize paths. The mount command canonicalizes all paths
+(from command line or fstab) and stores canonicalized paths to the
+.IR /etc/mtab
+file. This option can be used together with the
+.B \-f
+flag for already canonicalized absolut paths.
+.IP "\fB\-p, \-\-pass\-fd \fInum\fP"
+In case of a loop mount with encryption, read the passphrase from
+file descriptor
+.I num
+instead of from the terminal.
+.IP "\fB\-s\fP"
+Tolerate sloppy mount options rather than failing. This will ignore
+mount options not supported by a filesystem type. Not all filesystems
+support this option. This option exists for support of the Linux
+autofs\-based automounter.
+.IP "\fB\-r, \-\-read\-only\fP"
+Mount the filesystem read-only. A synonym is
+.BR "\-o ro" .
+
+Note that, depending on the filesystem type, state and kernel behavior, the
+system may still write to the device. For example, Ext3 or ext4 will replay its
+journal if the filesystem is dirty. To prevent this kind of write access, you
+may want to mount ext3 or ext4 filesystem with "ro,noload" mount options or
+set the block device to read-only mode, see command
+.BR blockdev (8).
+.IP "\fB\-w, \-\-rw\fP"
+Mount the filesystem read/write. This is the default. A synonym is
+.BR "\-o rw" .
+.IP "\fB\-L \fIlabel\fP"
+Mount the partition that has the specified
+.IR label .
+.IP "\fB\-U \fIuuid\fP"
+Mount the partition that has the specified
+.IR uuid .
+These two options require the file
+.I /proc/partitions
+(present since Linux 2.1.116) to exist.
+.IP "\fB\-t, \-\-types \fIvfstype\fP"
+The argument following the
+.B \-t
+is used to indicate the filesystem type. The filesystem types which are
+currently supported include:
+.IR adfs ,
+.IR affs ,
+.IR autofs ,
+.IR cifs ,
+.IR coda ,
+.IR coherent ,
+.IR cramfs ,
+.IR debugfs ,
+.IR devpts ,
+.IR efs ,
+.IR ext ,
+.IR ext2 ,
+.IR ext3 ,
+.IR ext4 ,
+.IR hfs ,
+.IR hfsplus ,
+.IR hpfs ,
+.IR iso9660 ,
+.IR jfs ,
+.IR minix ,
+.IR msdos ,
+.IR ncpfs ,
+.IR nfs ,
+.IR nfs4 ,
+.IR ntfs ,
+.IR proc ,
+.IR qnx4 ,
+.IR ramfs ,
+.IR reiserfs ,
+.IR romfs ,
+.IR squashfs ,
+.IR smbfs ,
+.IR sysv ,
+.IR tmpfs ,
+.IR ubifs ,
+.IR udf ,
+.IR ufs ,
+.IR umsdos ,
+.IR usbfs ,
+.IR vfat ,
+.IR xenix ,
+.IR xfs ,
+.IR xiafs .
+Note that coherent, sysv and xenix are equivalent and that
+.I xenix
+and
+.I coherent
+will be removed at some point in the future \(em use
+.I sysv
+instead. Since kernel version 2.1.21 the types
+.I ext
+and
+.I xiafs
+do not exist anymore. Earlier,
+.I usbfs
+was known as
+.IR usbdevfs .
+Note, the real list of all supported filesystems depends on your
+kernel.
+
+The programs
+.B mount
+and
+.B umount
+support filesystem subtypes. The subtype is defined by '.subtype' suffix. For
+example 'fuse.sshfs'. It's recommended to use subtype notation rather than add
+any prefix to the mount source (for example 'sshfs#example.com' is
+depreacated).
+
+For most types all the
+.B mount
+program has to do is issue a simple
+.IR mount (2)
+system call, and no detailed knowledge of the filesystem type is required.
+For a few types however (like nfs, nfs4, cifs, smbfs, ncpfs) ad hoc code is
+necessary. The nfs, nfs4, cifs, smbfs, and ncpfs filesystems
+have a separate mount program. In order to make it possible to
+treat all types in a uniform way, mount will execute the program
+.BI /sbin/mount. TYPE
+(if that exists) when called with type
+.IR TYPE .
+Since various versions of the
+.B smbmount
+program have different calling conventions,
+.B /sbin/mount.smbfs
+may have to be a shell script that sets up the desired call.
+
+If no
+.B \-t
+option is given, or if the
+.B auto
+type is specified, mount will try to guess the desired type.
+Mount uses the blkid library for guessing the filesystem
+type; if that does not turn up anything that looks familiar,
+mount will try to read the file
+.IR /etc/filesystems ,
+or, if that does not exist,
+.IR /proc/filesystems .
+All of the filesystem types listed there will be tried,
+except for those that are labeled "nodev" (e.g.,
+.IR devpts ,
+.I proc
+and
+.IR nfs ).
+If
+.I /etc/filesystems
+ends in a line with a single * only, mount will read
+.I /proc/filesystems
+afterwards.
+
+The
+.B auto
+type may be useful for user-mounted floppies.
+Creating a file
+.I /etc/filesystems
+can be useful to change the probe order (e.g., to try vfat before msdos
+or ext3 before ext2) or if you use a kernel module autoloader.
+
+More than one type may be specified in a comma separated
+list. The list of filesystem types can be prefixed with
+.B no
+to specify the filesystem types on which no action should be taken.
+(This can be meaningful with the
+.B \-a
+option.) For example, the command:
+.RS
+.RS
+.sp
+.B "mount \-a \-t nomsdos,ext"
+.sp
+.RE
+mounts all filesystems except those of type
+.I msdos
+and
+.IR ext .
+.RE
+.IP "\fB\-O, \-\-test-opts \fIopts\fP"
+Used in conjunction with
+.BR \-a ,
+to limit the set of filesystems to which the
+.B \-a
+is applied. Like
+.B \-t
+in this regard except that it is useless except in the context of
+.BR \-a .
+For example, the command:
+.RS
+.RS
+.sp
+.B "mount \-a \-O no_netdev"
+.sp
+.RE
+mounts all filesystems except those which have the option
+.I _netdev
+specified in the options field in the
+.I /etc/fstab
+file.
+
+It is different from
+.B \-t
+in that each option is matched exactly; a leading
+.B no
+at the beginning of one option does not negate the rest.
+
+The
+.B \-t
+and
+.B \-O
+options are cumulative in effect; that is, the command
+.RS
+.sp
+.B "mount \-a \-t ext2 \-O _netdev"
+.sp
+.RE
+mounts all ext2 filesystems with the _netdev option, not all filesystems
+that are either ext2 or have the _netdev option specified.
+.RE
+.IP "\fB\-o, \-\-options \fIopts\fP"
+Options are specified with a
+.B \-o
+flag followed by a comma separated string of options. For example:
+.RS
+.RS
+.sp
+.B "mount LABEL=mydisk \-o noatime,nouser"
+.sp
+.RE
+
+For more details, see
+.B FILESYSTEM INDEPENDENT MOUNT OPTIONS
+and
+.B FILESYSTEM SPECIFIC MOUNT OPTIONS
+sections.
+.RE
+.IP "\fB\-B, \-\-bind\fP"
+Remount a subtree somewhere else (so that its contents are available
+in both places). See above.
+.IP "\fB\-R, \-\-rbind\fP"
+Remount a subtree and all possible submounts somewhere else (so that its
+contents are available in both places). See above.
+.IP "\fB\-M, \-\-move\fP"
+Move a subtree to some other place. See above.
+
+.SH FILESYSTEM INDEPENDENT MOUNT OPTIONS
+Some of these options are only useful when they appear in the
+.I /etc/fstab
+file.
+
+Some of these options could be enabled or disabled by default
+in the system kernel. To check the current setting see the options
+in /proc/mounts.
+
+The following options apply to any filesystem that is being
+mounted (but not every filesystem actually honors them - e.g., the
+.B sync
+option today has effect only for ext2, ext3, fat, vfat and ufs):
+
+.TP
+.B async
+All I/O to the filesystem should be done asynchronously. (See also the
+.B sync
+option.)
+.TP
+.B atime
+Do not use noatime feature, then the inode access time is controlled by kernel
+defaults. See also the description for
+.B strictatime
+and
+.B relatime
+mount options.
+.TP
+.B noatime
+Do not update inode access times on this filesystem (e.g., for faster
+access on the news spool to speed up news servers).
+.TP
+.B auto
+Can be mounted with the
+.B \-a
+option.
+.TP
+.B noauto
+Can only be mounted explicitly (i.e., the
+.B \-a
+option will not cause the filesystem to be mounted).
+.TP
+\fBcontext=\fP\fIcontext\fP, \fBfscontext=\fP\fIcontext\fP, \fBdefcontext=\fP\fIcontext\fP and \fBrootcontext=\fP\fIcontext\fP
+The
+.BR context=
+option is useful when mounting filesystems that do not support
+extended attributes, such as a floppy or hard disk formatted with VFAT, or
+systems that are not normally running under SELinux, such as an ext3 formatted
+disk from a non-SELinux workstation. You can also use
+.BR context=
+on filesystems you do not trust, such as a floppy. It also helps in compatibility with
+xattr-supporting filesystems on earlier 2.4.<x> kernel versions. Even where
+xattrs are supported, you can save time not having to label every file by
+assigning the entire disk one security context.
+
+A commonly used option for removable media is
+.BR context="system_u:object_r:removable_t" .
+
+Two other options are
+.BR fscontext=
+and
+.BR defcontext= ,
+both of which are mutually exclusive of the context option. This means you
+can use fscontext and defcontext with each other, but neither can be used with
+context.
+
+The
+.BR fscontext=
+option works for all filesystems, regardless of their xattr
+support. The fscontext option sets the overarching filesystem label to a
+specific security context. This filesystem label is separate from the
+individual labels on the files. It represents the entire filesystem for
+certain kinds of permission checks, such as during mount or file creation.
+Individual file labels are still obtained from the xattrs on the files
+themselves. The context option actually sets the aggregate context that
+fscontext provides, in addition to supplying the same label for individual
+files.
+
+You can set the default security context for unlabeled files using
+.BR defcontext=
+option. This overrides the value set for unlabeled files in the policy and requires a
+filesystem that supports xattr labeling.
+
+The
+.BR rootcontext=
+option allows you to explicitly label the root inode of a FS being mounted
+before that FS or inode because visible to userspace. This was found to be
+useful for things like stateless linux.
+
+Note that kernel rejects any remount request that includes the context
+option even if unchanged from the current context.
+
+.B Warning that \fIcontext\fP value might contains comma
+and in this case the value has to be properly quoted otherwise
+.BR mount (8)
+will interpret the comma as separator between mount options. Don't forget that
+shell strips off quotes and
+.BR "double quoting is required" ,
+for example:
+.RS
+.RS
+.sp
+mount -t tmpfs none /mnt \-o 'context="system_u:object_r:tmp_t:s0:c127,c456",noexec'
+.sp
+.RE
+
+For more details, see
+.BR selinux (8)
+.RE
+
+.TP
+.B defaults
+Use default options:
+.BR rw ", " suid ", " dev ", " exec ", " auto ", " nouser ", and " async.
+.TP
+.B dev
+Interpret character or block special devices on the filesystem.
+.TP
+.B nodev
+Do not interpret character or block special devices on the file
+system.
+.TP
+.B diratime
+Update directory inode access times on this filesystem. This is the default.
+.TP
+.B nodiratime
+Do not update directory inode access times on this filesystem.
+.TP
+.B dirsync
+All directory updates within the filesystem should be done synchronously.
+This affects the following system calls: creat, link, unlink, symlink,
+mkdir, rmdir, mknod and rename.
+.TP
+.B exec
+Permit execution of binaries.
+.TP
+.B noexec
+Do not allow direct execution of any binaries on the mounted filesystem.
+(Until recently it was possible to run binaries anyway using a command like
+/lib/ld*.so /mnt/binary. This trick fails since Linux 2.4.25 / 2.6.0.)
+.TP
+.B group
+Allow an ordinary (i.e., non-root) user to mount the filesystem if one
+of his groups matches the group of the device.
+This option implies the options
+.BR nosuid " and " nodev
+(unless overridden by subsequent options, as in the option line
+.BR group,dev,suid ).
+.TP
+.B iversion
+Every time the inode is modified, the i_version field will be incremented.
+.TP
+.B noiversion
+Do not increment the i_version inode field.
+.TP
+.B mand
+Allow mandatory locks on this filesystem. See
+.BR fcntl (2).
+.TP
+.B nomand
+Do not allow mandatory locks on this filesystem.
+.TP
+.B _netdev
+The filesystem resides on a device that requires network access
+(used to prevent the system from attempting to mount these filesystems
+until the network has been enabled on the system).
+.TP
+.B nofail
+Do not report errors for this device if it does not exist.
+.TP
+.B relatime
+Update inode access times relative to modify or change time. Access
+time is only updated if the previous access time was earlier than the
+current modify or change time. (Similar to noatime, but doesn't break
+mutt or other applications that need to know if a file has been read
+since the last time it was modified.)
+
+Since Linux 2.6.30, the kernel defaults to the behavior provided by this
+option (unless
+.B noatime
+was specified), and the
+.B strictatime
+option is required to obtain traditional semantics. In addition, since Linux
+2.6.30, the file's last access time is always updated if it is more than 1
+day old.
+.TP
+.B norelatime
+Do not use
+.B relatime
+feature. See also the
+.B strictatime
+mount option.
+.TP
+.B strictatime
+Allows to explicitly requesting full atime updates. This makes it
+possible for kernel to defaults to
+.B relatime
+or
+.B noatime
+but still allow userspace to override it. For more details about the default
+system mount options see /proc/mounts.
+.TP
+.B nostrictatime
+Use the kernel's default behaviour for inode access time updates.
+.TP
+.B suid
+Allow set-user-identifier or set-group-identifier bits to take
+effect.
+.TP
+.B nosuid
+Do not allow set-user-identifier or set-group-identifier bits to take
+effect. (This seems safe, but is in fact rather unsafe if you have
+suidperl(1) installed.)
+.TP
+.B silent
+Turn on the silent flag.
+.TP
+.B loud
+Turn off the silent flag.
+.TP
+.B owner
+Allow an ordinary (i.e., non-root) user to mount the filesystem if he
+is the owner of the device.
+This option implies the options
+.BR nosuid " and " nodev
+(unless overridden by subsequent options, as in the option line
+.BR owner,dev,suid ).
+.TP
+.B remount
+Attempt to remount an already-mounted filesystem. This is commonly
+used to change the mount flags for a filesystem, especially to make a
+readonly filesystem writable. It does not change device or mount point.
+
+The remount functionality follows the standard way how the mount command works
+with options from fstab. It means the mount command doesn't read fstab (or
+mtab) only when a
+.IR device
+and
+.IR dir
+are fully specified.
+
+.BR "mount -o remount,rw /dev/foo /dir"
+
+After this call all old mount options are replaced and arbitrary stuff from
+fstab is ignored, except the loop= option which is internally generated and
+maintained by the mount command.
+
+.BR "mount -o remount,rw /dir"
+
+After this call mount reads fstab (or mtab) and merges these options with
+options from command line (
+.B -o
+).
+.TP
+.B ro
+Mount the filesystem read-only.
+.TP
+.B rw
+Mount the filesystem read-write.
+.TP
+.B sync
+All I/O to the filesystem should be done synchronously. In case of media with limited number of write cycles
+(e.g. some flash drives) "sync" may cause life-cycle shortening.
+.TP
+.B user
+Allow an ordinary user to mount the filesystem.
+The name of the mounting user is written to mtab so that he can unmount
+the filesystem again.
+This option implies the options
+.BR noexec ", " nosuid ", and " nodev
+(unless overridden by subsequent options, as in the option line
+.BR user,exec,dev,suid ).
+.TP
+.B nouser
+Forbid an ordinary (i.e., non-root) user to mount the filesystem.
+This is the default.
+.TP
+.B users
+Allow every user to mount and unmount the filesystem.
+This option implies the options
+.BR noexec ", " nosuid ", and " nodev
+(unless overridden by subsequent options, as in the option line
+.BR users,exec,dev,suid ).
+
+.SH "FILESYSTEM SPECIFIC MOUNT OPTIONS"
+The following options apply only to certain filesystems.
+We sort them by filesystem. They all follow the
+.B \-o
+flag.
+
+What options are supported depends a bit on the running kernel.
+More info may be found in the kernel source subdirectory
+.IR Documentation/filesystems .
+
+.SH "Mount options for adfs"
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Set the owner and group of the files in the filesystem (default: uid=gid=0).
+.TP
+\fBownmask=\fP\fIvalue\fP and \fBothmask=\fP\fIvalue\fP
+Set the permission mask for ADFS 'owner' permissions and 'other' permissions,
+respectively (default: 0700 and 0077, respectively).
+See also
+.IR /usr/src/linux/Documentation/filesystems/adfs.txt .
+.SH "Mount options for affs"
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Set the owner and group of the root of the filesystem (default: uid=gid=0,
+but with option
+.B uid
+or
+.B gid
+without specified value, the uid and gid of the current process are taken).
+.TP
+\fBsetuid=\fP\fIvalue\fP and \fBsetgid=\fP\fIvalue\fP
+Set the owner and group of all files.
+.TP
+.BI mode= value
+Set the mode of all files to
+.IR value " & 0777"
+disregarding the original permissions.
+Add search permission to directories that have read permission.
+The value is given in octal.
+.TP
+.B protect
+Do not allow any changes to the protection bits on the filesystem.
+.TP
+.B usemp
+Set uid and gid of the root of the filesystem to the uid and gid
+of the mount point upon the first sync or umount, and then
+clear this option. Strange...
+.TP
+.B verbose
+Print an informational message for each successful mount.
+.TP
+.BI prefix= string
+Prefix used before volume name, when following a link.
+.TP
+.BI volume= string
+Prefix (of length at most 30) used before '/' when following a symbolic link.
+.TP
+.BI reserved= value
+(Default: 2.) Number of unused blocks at the start of the device.
+.TP
+.BI root= value
+Give explicitly the location of the root block.
+.TP
+.BI bs= value
+Give blocksize. Allowed values are 512, 1024, 2048, 4096.
+.TP
+.BR grpquota | noquota | quota | usrquota
+These options are accepted but ignored.
+(However, quota utilities may react to such strings in
+.IR /etc/fstab .)
+
+.SH "Mount options for cifs"
+See the options section of the
+.BR mount.cifs (8)
+man page (cifs-utils package must be installed).
+
+.SH "Mount options for coherent"
+None.
+
+.SH "Mount options for debugfs"
+The debugfs filesystem is a pseudo filesystem, traditionally mounted on
+.IR /sys/kernel/debug .
+.\" or just /debug
+.\" present since 2.6.11
+There are no mount options.
+
+.SH "Mount options for devpts"
+The devpts filesystem is a pseudo filesystem, traditionally mounted on
+.IR /dev/pts .
+In order to acquire a pseudo terminal, a process opens
+.IR /dev/ptmx ;
+the number of the pseudo terminal is then made available to the process
+and the pseudo terminal slave can be accessed as
+.IR /dev/pts/ <number>.
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+This sets the owner or the group of newly created PTYs to
+the specified values. When nothing is specified, they will
+be set to the UID and GID of the creating process.
+For example, if there is a tty group with GID 5, then
+.B gid=5
+will cause newly created PTYs to belong to the tty group.
+.TP
+.BI mode= value
+Set the mode of newly created PTYs to the specified value.
+The default is 0600.
+A value of
+.B mode=620
+and
+.B gid=5
+makes "mesg y" the default on newly created PTYs.
+.TP
+\fBnewinstance
+Create a private instance of devpts filesystem, such that
+indices of ptys allocated in this new instance are
+independent of indices created in other instances of devpts.
+
+All mounts of devpts without this
+.B newinstance
+option share the same set of pty indices (i.e legacy mode).
+Each mount of devpts with the
+.B newinstance
+option has a private set of pty indices.
+
+This option is mainly used to support containers in the
+linux kernel. It is implemented in linux kernel versions
+starting with 2.6.29. Further, this mount option is valid
+only if CONFIG_DEVPTS_MULTIPLE_INSTANCES is enabled in the
+kernel configuration.
+
+To use this option effectively,
+.IR /dev/ptmx
+must be a symbolic link to
+.IR pts/ptmx.
+See
+.IR Documentation/filesystems/devpts.txt
+in the linux kernel source tree for details.
+.TP
+.BI ptmxmode= value
+
+Set the mode for the new
+.IR ptmx
+device node in the devpts filesystem.
+
+With the support for multiple instances of devpts (see
+.B newinstance
+option above), each instance has a private
+.IR ptmx
+node in the root of the devpts filesystem (typically
+.IR /dev/pts/ptmx).
+
+For compatibility with older versions of the kernel, the
+default mode of the new
+.IR ptmx
+node is 0000.
+.BI ptmxmode= value
+specifies a more useful mode for the
+.IR ptmx
+node and is highly recommended when the
+.B newinstance
+option is specified.
+
+This option is only implemented in linux kernel versions
+starting with 2.6.29. Further this option is valid only if
+CONFIG_DEVPTS_MULTIPLE_INSTANCES is enabled in the kernel
+configuration.
+
+.SH "Mount options for ext"
+None.
+Note that the `ext' filesystem is obsolete. Don't use it.
+Since Linux version 2.1.21 extfs is no longer part of the kernel source.
+
+.SH "Mount options for ext2"
+The `ext2' filesystem is the standard Linux filesystem.
+.\" Due to a kernel bug, it may be mounted with random mount options
+.\" (fixed in Linux 2.0.4).
+Since Linux 2.5.46, for most mount options the default
+is determined by the filesystem superblock. Set them with
+.BR tune2fs (8).
+.TP
+.BR acl | noacl
+Support POSIX Access Control Lists (or not).
+.\" requires CONFIG_EXT2_FS_POSIX_ACL
+.TP
+.BR bsddf | minixdf
+Set the behaviour for the
+.I statfs
+system call. The
+.B minixdf
+behaviour is to return in the
+.I f_blocks
+field the total number of blocks of the filesystem, while the
+.B bsddf
+behaviour (which is the default) is to subtract the overhead blocks
+used by the ext2 filesystem and not available for file storage. Thus
+.nf
+
+% mount /k -o minixdf; df /k; umount /k
+Filesystem 1024-blocks Used Available Capacity Mounted on
+/dev/sda6 2630655 86954 2412169 3% /k
+% mount /k -o bsddf; df /k; umount /k
+Filesystem 1024-blocks Used Available Capacity Mounted on
+/dev/sda6 2543714 13 2412169 0% /k
+
+.fi
+(Note that this example shows that one can add command line options
+to the options given in
+.IR /etc/fstab .)
+
+.TP
+.BR check=none " or " nocheck
+No checking is done at mount time. This is the default. This is fast.
+It is wise to invoke
+.BR e2fsck (8)
+every now and then, e.g. at boot time. The non-default behavior is unssuported
+(check=normal and check=strict options have been removed). Note that these mount options
+don't have to be supported if ext4 kernel driver is used for ext2 and ext3 filesystems.
+.TP
+.B debug
+Print debugging info upon each (re)mount.
+.TP
+.BR errors= { continue | remount-ro | panic }
+Define the behaviour when an error is encountered.
+(Either ignore errors and just mark the filesystem erroneous and continue,
+or remount the filesystem read-only, or panic and halt the system.)
+The default is set in the filesystem superblock, and can be
+changed using
+.BR tune2fs (8).
+.TP
+.BR grpid | bsdgroups " and " nogrpid | sysvgroups
+These options define what group id a newly created file gets.
+When
+.BR grpid
+is set, it takes the group id of the directory in which it is created;
+otherwise (the default) it takes the fsgid of the current process, unless
+the directory has the setgid bit set, in which case it takes the gid
+from the parent directory, and also gets the setgid bit set
+if it is a directory itself.
+.TP
+.BR grpquota | noquota | quota | usrquota
+These options are accepted but ignored.
+.TP
+.BR nouid32
+Disables 32-bit UIDs and GIDs. This is for interoperability with older
+kernels which only store and expect 16-bit values.
+.TP
+.BR oldalloc " or " orlov
+Use old allocator or Orlov allocator for new inodes. Orlov is default.
+.TP
+\fBresgid=\fP\fIn\fP and \fBresuid=\fP\fIn\fP
+The ext2 filesystem reserves a certain percentage of the available
+space (by default 5%, see
+.BR mke2fs (8)
+and
+.BR tune2fs (8)).
+These options determine who can use the reserved blocks.
+(Roughly: whoever has the specified uid, or belongs to the specified group.)
+.TP
+.BI sb= n
+Instead of block 1, use block
+.I n
+as superblock. This could be useful when the filesystem has been damaged.
+(Earlier, copies of the superblock would be made every 8192 blocks: in
+block 1, 8193, 16385, ... (and one got thousands of copies on
+a big filesystem). Since version 1.08,
+.B mke2fs
+has a \-s (sparse superblock) option to reduce the number of backup
+superblocks, and since version 1.15 this is the default. Note
+that this may mean that ext2 filesystems created by a recent
+.B mke2fs
+cannot be mounted r/w under Linux 2.0.*.)
+The block number here uses 1k units. Thus, if you want to use logical
+block 32768 on a filesystem with 4k blocks, use "sb=131072".
+.TP
+.BR user_xattr | nouser_xattr
+Support "user." extended attributes (or not).
+.\" requires CONFIG_EXT2_FS_XATTR
+
+
+.SH "Mount options for ext3"
+The ext3 filesystem is a version of the ext2 filesystem which has been
+enhanced with journalling. It supports the same options as ext2 as
+well as the following additions:
+.\" .TP
+.\" .BR abort
+.\" Mount the filesystem in abort mode, as if a fatal error has occurred.
+.TP
+.BR journal=update
+Update the ext3 filesystem's journal to the current format.
+.TP
+.BR journal=inum
+When a journal already exists, this option is ignored. Otherwise, it
+specifies the number of the inode which will represent the ext3 filesystem's
+journal file; ext3 will create a new journal, overwriting the old contents
+of the file whose inode number is
+.IR inum .
+.TP
+.BR journal_dev=devnum
+When the external journal device's major/minor numbers
+have changed, this option allows the user to specify
+the new journal location. The journal device is
+identified through its new major/minor numbers encoded
+in devnum.
+.TP
+.BR norecovery / noload
+Don't load the journal on mounting. Note that
+if the filesystem was not unmounted cleanly,
+skipping the journal replay will lead to the
+filesystem containing inconsistencies that can
+lead to any number of problems.
+.TP
+.BR data= { journal | ordered | writeback }
+Specifies the journalling mode for file data. Metadata is always journaled.
+To use modes other than
+.B ordered
+on the root filesystem, pass the mode to the kernel as boot parameter, e.g.
+.IR rootflags=data=journal .
+.RS
+.TP
+.B journal
+All data is committed into the journal prior to being written into the
+main filesystem.
+.TP
+.B ordered
+This is the default mode. All data is forced directly out to the main file
+system prior to its metadata being committed to the journal.
+.TP
+.B writeback
+Data ordering is not preserved - data may be written into the main
+filesystem after its metadata has been committed to the journal.
+This is rumoured to be the highest-throughput option. It guarantees
+internal filesystem integrity, however it can allow old data to appear
+in files after a crash and journal recovery.
+.RE
+.TP
+.BR barrier=0 " / " barrier=1 "
+This enables/disables barriers. barrier=0 disables it, barrier=1 enables it.
+Write barriers enforce proper on-disk ordering of journal commits, making
+volatile disk write caches safe to use, at some performance penalty. The ext3
+filesystem does not enable write barriers by default. Be sure to enable
+barriers unless your disks are battery-backed one way or another. Otherwise
+you risk filesystem corruption in case of power failure.
+.TP
+.BI commit= nrsec
+Sync all data and metadata every
+.I nrsec
+seconds. The default value is 5 seconds. Zero means default.
+.TP
+.BR user_xattr
+Enable Extended User Attributes. See the
+.BR attr (5)
+manual page.
+.TP
+.BR acl
+Enable POSIX Access Control Lists. See the
+.BR acl (5)
+manual page.
+
+.SH "Mount options for ext4"
+The ext4 filesystem is an advanced level of the ext3 filesystem which
+incorporates scalability and reliability enhancements for supporting large
+filesystem.
+
+The options
+.B journal_dev, noload, data, commit, orlov, oldalloc, [no]user_xattr
+.B [no]acl, bsddf, minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid
+.B sysvgroups, resgid, resuid, sb, quota, noquota, grpquota and usrquota
+are backwardly compatible with ext3 or ext2.
+.TP
+.BR journal_checksum
+Enable checksumming of the journal transactions. This will allow the recovery
+code in e2fsck and the kernel to detect corruption in the kernel. It is a
+compatible change and will be ignored by older kernels.
+.TP
+.BR journal_async_commit
+Commit block can be written to disk without waiting for descriptor blocks. If
+enabled older kernels cannot mount the device.
+This will enable 'journal_checksum' internally.
+.TP
+.BR journal=update
+Update the ext4 filesystem's journal to the current format.
+.TP
+.BR barrier=0 " / " barrier=1 " / " barrier " / " nobarrier
+This enables/disables the use of write barriers in the jbd code. barrier=0
+disables, barrier=1 enables. This also requires an IO stack which can support
+barriers, and if jbd gets an error on a barrier write, it will disable again
+with a warning. Write barriers enforce proper on-disk ordering of journal
+commits, making volatile disk write caches safe to use, at some performance
+penalty. If your disks are battery-backed in one way or another, disabling
+barriers may safely improve performance. The mount options "barrier" and
+"nobarrier" can also be used to enable or disable barriers, for consistency
+with other ext4 mount options.
+
+The ext4 filesystem enables write barriers by default.
+.TP
+.BI inode_readahead= n
+This tuning parameter controls the maximum number of inode table blocks that
+ext4's inode table readahead algorithm will pre-read into the buffer cache.
+The default value is 32 blocks.
+.TP
+.BI stripe= n
+Number of filesystem blocks that mballoc will try to use for allocation size
+and alignment. For RAID5/6 systems this should be the number of data disks *
+RAID chunk size in filesystem blocks.
+.TP
+.BR delalloc
+Deferring block allocation until write-out time.
+.TP
+.BR nodelalloc
+Disable delayed allocation. Blocks are allocated when data is copied from user
+to page cache.
+.TP
+.BI max_batch_time= usec
+Maximum amount of time ext4 should wait for additional filesystem operations to
+be batch together with a synchronous write operation. Since a synchronous
+write operation is going to force a commit and then a wait for the I/O
+complete, it doesn't cost much, and can be a huge throughput win, we wait for a
+small amount of time to see if any other transactions can piggyback on the
+synchronous write. The algorithm used is designed to automatically tune for
+the speed of the disk, by measuring the amount of time (on average) that it
+takes to finish committing a transaction. Call this time the "commit time".
+If the time that the transaction has been running is less than the commit time,
+ext4 will try sleeping for the commit time to see if other operations will join
+the transaction. The commit time is capped by the max_batch_time, which
+defaults to 15000us (15ms). This optimization can be turned off entirely by
+setting max_batch_time to 0.
+.TP
+.BI min_batch_time= usec
+This parameter sets the commit time (as described above) to be at least
+min_batch_time. It defaults to zero microseconds. Increasing this parameter
+may improve the throughput of multi-threaded, synchronous workloads on very
+fast disks, at the cost of increasing latency.
+.TP
+.BI journal_ioprio= prio
+The I/O priority (from 0 to 7, where 0 is the highest priorty) which should be
+used for I/O operations submitted by kjournald2 during a commit operation.
+This defaults to 3, which is a slightly higher priority than the default I/O
+priority.
+.TP
+.BR abort
+Simulate the effects of calling ext4_abort() for
+debugging purposes. This is normally used while
+remounting a filesystem which is already mounted.
+.TP
+.BR auto_da_alloc | noauto_da_alloc
+Many broken applications don't use fsync() when
+replacing existing files via patterns such as
+
+fd = open("foo.new")/write(fd,..)/close(fd)/ rename("foo.new", "foo")
+
+or worse yet
+
+fd = open("foo", O_TRUNC)/write(fd,..)/close(fd).
+
+If auto_da_alloc is enabled, ext4 will detect the replace-via-rename and
+replace-via-truncate patterns and force that any delayed allocation blocks are
+allocated such that at the next journal commit, in the default data=ordered
+mode, the data blocks of the new file are forced to disk before the rename()
+operation is committed. This provides roughly the same level of guarantees as
+ext3, and avoids the "zero-length" problem that can happen when a system
+crashes before the delayed allocation blocks are forced to disk.
+.TP
+.BR discard / nodiscard
+Controls whether ext4 should issue discard/TRIM commands to the underlying
+block device when blocks are freed. This is useful for SSD devices and
+sparse/thinly-provisioned LUNs, but it is off by default until sufficient
+testing has been done.
+.TP
+.BR nouid32
+Disables 32-bit UIDs and GIDs. This is for
+interoperability with older kernels which only
+store and expect 16-bit values.
+.TP
+.BR resize
+Allows to resize filesystem to the end of the last
+existing block group, further resize has to be done
+with resize2fs either online, or offline. It can be
+used only with conjunction with remount.
+.TP
+.BR block_validity / noblock_validity
+This options allows to enables/disables the in-kernel facility for tracking
+filesystem metadata blocks within internal data structures. This allows multi-
+block allocator and other routines to quickly locate extents which might
+overlap with filesystem metadata blocks. This option is intended for debugging
+purposes and since it negatively affects the performance, it is off by default.
+.TP
+.BR dioread_lock / dioread_nolock
+Controls whether or not ext4 should use the DIO read locking. If the
+dioread_nolock option is specified ext4 will allocate uninitialized extent
+before buffer write and convert the extent to initialized after IO completes.
+This approach allows ext4 code to avoid using inode mutex, which improves
+scalability on high speed storages. However this does not work with data
+journaling and dioread_nolock option will be ignored with kernel warning.
+Note that dioread_nolock code path is only used for extent-based files.
+Because of the restrictions this options comprises it is off by default
+(e.g. dioread_lock).
+.TP
+.BR i_version
+Enable 64-bit inode version support. This option is off by default.
+
+.SH "Mount options for fat"
+(Note:
+.I fat
+is not a separate filesystem, but a common part of the
+.IR msdos ,
+.I umsdos
+and
+.I vfat
+filesystems.)
+.TP
+.BR blocksize= { 512 | 1024 | 2048 }
+Set blocksize (default 512). This option is obsolete.
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Set the owner and group of all files.
+(Default: the uid and gid of the current process.)
+.TP
+.BI umask= value
+Set the umask (the bitmask of the permissions that are
+.B not
+present). The default is the umask of the current process.
+The value is given in octal.
+.TP
+.BI dmask= value
+Set the umask applied to directories only.
+The default is the umask of the current process.
+The value is given in octal.
+.\" Present since Linux 2.5.43.
+.TP
+.BI fmask= value
+Set the umask applied to regular files only.
+The default is the umask of the current process.
+The value is given in octal.
+.\" Present since Linux 2.5.43.
+.TP
+.BI allow_utime= value
+This option controls the permission check of mtime/atime.
+.RS
+.TP
+.B 20
+If current process is in group of file's group ID, you can change timestamp.
+.TP
+.B 2
+Other users can change timestamp.
+.PP
+The default is set from `dmask' option. (If the directory is writable,
+.B utime(2)
+is also allowed. I.e. ~dmask & 022)
+
+Normally
+.B utime(2)
+checks current process is owner of the file, or it has
+CAP_FOWNER capability. But FAT filesystem doesn't have uid/gid on disk, so
+normal check is too unflexible. With this option you can relax it.
+.RE
+.TP
+.BI check= value
+Three different levels of pickyness can be chosen:
+.RS
+.TP
+.BR r [ elaxed ]
+Upper and lower case are accepted and equivalent, long name parts are
+truncated (e.g.
+.I verylongname.foobar
+becomes
+.IR verylong.foo ),
+leading and embedded spaces are accepted in each name part (name and extension).
+.TP
+.BR n [ ormal ]
+Like "relaxed", but many special characters (*, ?, <, spaces, etc.) are
+rejected. This is the default.
+.TP
+.BR s [ trict ]
+Like "normal", but names may not contain long parts and special characters
+that are sometimes used on Linux, but are not accepted by MS-DOS are
+rejected. (+, =, spaces, etc.)
+.RE
+.TP
+.BI codepage= value
+Sets the codepage for converting to shortname characters on FAT
+and VFAT filesystems. By default, codepage 437 is used.
+.TP
+.BR conv= {b [ inary ]| t [ ext ]| a [ uto ]}
+The
+.I fat
+filesystem can perform CRLF<-->NL (MS-DOS text format to UNIX text
+format) conversion in the kernel. The following conversion modes are
+available:
+.RS
+.TP
+.B binary
+no translation is performed. This is the default.
+.TP
+.B text
+CRLF<-->NL translation is performed on all files.
+.TP
+.B auto
+CRLF<-->NL translation is performed on all files that don't have a
+"well-known binary" extension. The list of known extensions can be found at
+the beginning of
+.I fs/fat/misc.c
+(as of 2.0, the list is: exe, com, bin, app, sys, drv, ovl, ovr, obj,
+lib, dll, pif, arc, zip, lha, lzh, zoo, tar, z, arj, tz, taz, tzp, tpz,
+gz, tgz, deb, gif, bmp, tif, gl, jpg, pcx, tfm, vf, gf, pk, pxl, dvi).
+.PP
+Programs that do computed lseeks won't like in-kernel text conversion.
+Several people have had their data ruined by this translation. Beware!
+
+For filesystems mounted in binary mode, a conversion tool
+(fromdos/todos) is available. This option is obsolete.
+.RE
+.TP
+.BI cvf_format= module
+Forces the driver to use the CVF (Compressed Volume File) module
+.RI cvf_ module
+instead of auto-detection. If the kernel supports kmod, the
+cvf_format=xxx option also controls on-demand CVF module loading.
+This option is obsolete.
+.TP
+.BI cvf_option= option
+Option passed to the CVF module. This option is obsolete.
+.TP
+.B debug
+Turn on the
+.I debug
+flag. A version string and a list of filesystem parameters will be
+printed (these data are also printed if the parameters appear to be
+inconsistent).
+.TP
+.BR fat= {12 | 16 | 32 }
+Specify a 12, 16 or 32 bit fat. This overrides
+the automatic FAT type detection routine. Use with caution!
+.TP
+.BI iocharset= value
+Character set to use for converting between 8 bit characters
+and 16 bit Unicode characters. The default is iso8859-1.
+Long filenames are stored on disk in Unicode format.
+.TP
+.BI tz=UTC
+This option disables the conversion of timestamps
+between local time (as used by Windows on FAT) and UTC
+(which Linux uses internally). This is particularly
+useful when mounting devices (like digital cameras)
+that are set to UTC in order to avoid the pitfalls of
+local time.
+.TP
+.B quiet
+Turn on the
+.I quiet
+flag. Attempts to chown or chmod files do not return errors,
+although they fail. Use with caution!
+.TP
+.B showexec
+If set, the execute permission bits of the file will be allowed only if
+the extension part of the name is .EXE, .COM, or .BAT. Not set by default.
+.TP
+.B sys_immutable
+If set, ATTR_SYS attribute on FAT is handled as IMMUTABLE flag on Linux.
+Not set by default.
+.TP
+.B flush
+If set, the filesystem will try to flush to disk more early than normal.
+Not set by default.
+.TP
+.B usefree
+Use the "free clusters" value stored on FSINFO. It'll
+be used to determine number of free clusters without
+scanning disk. But it's not used by default, because
+recent Windows don't update it correctly in some
+case. If you are sure the "free clusters" on FSINFO is
+correct, by this option you can avoid scanning disk.
+.TP
+.BR dots ", " nodots ", " dotsOK= [ yes | no ]
+Various misguided attempts to force Unix or DOS conventions
+onto a FAT filesystem.
+
+.SH "Mount options for hfs"
+.TP
+.BI creator= cccc ", type=" cccc
+Set the creator/type values as shown by the MacOS finder
+used for creating new files. Default values: '????'.
+.TP
+.BI uid= n ", gid=" n
+Set the owner and group of all files.
+(Default: the uid and gid of the current process.)
+.TP
+.BI dir_umask= n ", file_umask=" n ", umask=" n
+Set the umask used for all directories, all regular files, or all
+files and directories. Defaults to the umask of the current process.
+.TP
+.BI session= n
+Select the CDROM session to mount.
+Defaults to leaving that decision to the CDROM driver.
+This option will fail with anything but a CDROM as underlying device.
+.TP
+.BI part= n
+Select partition number n from the device.
+Only makes sense for CDROMs.
+Defaults to not parsing the partition table at all.
+.TP
+.B quiet
+Don't complain about invalid mount options.
+
+.SH "Mount options for hpfs"
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Set the owner and group of all files. (Default: the uid and gid
+of the current process.)
+.TP
+.BI umask= value
+Set the umask (the bitmask of the permissions that are
+.B not
+present). The default is the umask of the current process.
+The value is given in octal.
+.TP
+.BR case= { lower | asis }
+Convert all files names to lower case, or leave them.
+(Default:
+.BR case=lower .)
+.TP
+.BR conv= { binary | text | auto }
+For
+.BR conv=text ,
+delete some random CRs (in particular, all followed by NL)
+when reading a file.
+For
+.BR conv=auto ,
+choose more or less at random between
+.BR conv=binary " and " conv=text .
+For
+.BR conv=binary ,
+just read what is in the file. This is the default.
+.TP
+.B nocheck
+Do not abort mounting when certain consistency checks fail.
+
+.SH "Mount options for iso9660"
+ISO 9660 is a standard describing a filesystem structure to be used
+on CD-ROMs. (This filesystem type is also seen on some DVDs. See also the
+.I udf
+filesystem.)
+
+Normal
+.I iso9660
+filenames appear in a 8.3 format (i.e., DOS-like restrictions on filename
+length), and in addition all characters are in upper case. Also there is
+no field for file ownership, protection, number of links, provision for
+block/character devices, etc.
+
+Rock Ridge is an extension to iso9660 that provides all of these UNIX-like
+features. Basically there are extensions to each directory record that
+supply all of the additional information, and when Rock Ridge is in use,
+the filesystem is indistinguishable from a normal UNIX filesystem (except
+that it is read-only, of course).
+.TP
+.B norock
+Disable the use of Rock Ridge extensions, even if available. Cf.\&
+.BR map .
+.TP
+.B nojoliet
+Disable the use of Microsoft Joliet extensions, even if available. Cf.\&
+.BR map .
+.TP
+.BR check= { r [ elaxed ]| s [ trict ]}
+With
+.BR check=relaxed ,
+a filename is first converted to lower case before doing the lookup.
+This is probably only meaningful together with
+.B norock
+and
+.BR map=normal .
+(Default:
+.BR check=strict .)
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Give all files in the filesystem the indicated user or group id,
+possibly overriding the information found in the Rock Ridge extensions.
+(Default:
+.BR uid=0,gid=0 .)
+.TP
+.BR map= { n [ ormal ]| o [ ff ]| a [ corn ]}
+For non-Rock Ridge volumes, normal name translation maps upper
+to lower case ASCII, drops a trailing `;1', and converts `;' to `.'.
+With
+.B map=off
+no name translation is done. See
+.BR norock .
+(Default:
+.BR map=normal .)
+.B map=acorn
+is like
+.BR map=normal
+but also apply Acorn extensions if present.
+.TP
+.BI mode= value
+For non-Rock Ridge volumes, give all files the indicated mode.
+(Default: read permission for everybody.)
+Since Linux 2.1.37 one no longer needs to specify the mode in
+decimal. (Octal is indicated by a leading 0.)
+.TP
+.B unhide
+Also show hidden and associated files.
+(If the ordinary files and the associated or hidden files have
+the same filenames, this may make the ordinary files inaccessible.)
+.TP
+.BR block= { 512 | 1024 | 2048 }
+Set the block size to the indicated value.
+(Default:
+.BR block=1024 .)
+.TP
+.BR conv= { a [ uto ]| b [ inary ]| m [ text ]| t [ ext ]}
+(Default:
+.BR conv=binary .)
+Since Linux 1.3.54 this option has no effect anymore.
+(And non-binary settings used to be very dangerous,
+possibly leading to silent data corruption.)
+.TP
+.B cruft
+If the high byte of the file length contains other garbage,
+set this mount option to ignore the high order bits of the file length.
+This implies that a file cannot be larger than 16MB.
+.TP
+.BI session= x
+Select number of session on multisession CD. (Since 2.3.4.)
+.TP
+.BI sbsector= xxx
+Session begins from sector xxx. (Since 2.3.4.)
+.LP
+The following options are the same as for vfat and specifying them only makes
+sense when using discs encoded using Microsoft's Joliet extensions.
+.TP
+.BI iocharset= value
+Character set to use for converting 16 bit Unicode characters on CD
+to 8 bit characters. The default is iso8859-1.
+.TP
+.B utf8
+Convert 16 bit Unicode characters on CD to UTF-8.
+
+.SH "Mount options for jfs"
+.TP
+.BI iocharset= name
+Character set to use for converting from Unicode to ASCII. The default is
+to do no conversion. Use
+.B iocharset=utf8
+for UTF8 translations. This requires CONFIG_NLS_UTF8 to be set in
+the kernel
+.I ".config"
+file.
+.TP
+.BI resize= value
+Resize the volume to
+.I value
+blocks. JFS only supports growing a volume, not shrinking it. This option
+is only valid during a remount, when the volume is mounted read-write. The
+.B resize
+keyword with no value will grow the volume to the full size of the partition.
+.TP
+.B nointegrity
+Do not write to the journal. The primary use of this option is to allow
+for higher performance when restoring a volume from backup media. The
+integrity of the volume is not guaranteed if the system abnormally abends.
+.TP
+.B integrity
+Default. Commit metadata changes to the journal. Use this option to remount
+a volume where the
+.B nointegrity
+option was previously specified in order to restore normal behavior.
+.TP
+.BR errors= { continue | remount-ro | panic }
+Define the behaviour when an error is encountered.
+(Either ignore errors and just mark the filesystem erroneous and continue,
+or remount the filesystem read-only, or panic and halt the system.)
+.TP
+.BR noquota | quota | usrquota | grpquota
+These options are accepted but ignored.
+
+.SH "Mount options for minix"
+None.
+
+.SH "Mount options for msdos"
+See mount options for fat.
+If the
+.I msdos
+filesystem detects an inconsistency, it reports an error and sets the file
+system read-only. The filesystem can be made writable again by remounting
+it.
+
+.SH "Mount options for ncpfs"
+Just like
+.IR nfs ", the " ncpfs
+implementation expects a binary argument (a
+.IR "struct ncp_mount_data" )
+to the mount system call. This argument is constructed by
+.BR ncpmount (8)
+and the current version of
+.B mount
+(2.12) does not know anything about ncpfs.
+
+.SH "Mount options for nfs and nfs4"
+See the options section of the
+.BR nfs (5)
+man page (nfs-utils package must be installed).
+
+The
+.IR nfs " and " nfs4
+implementation expects a binary argument (a
+.IR "struct nfs_mount_data" )
+to the mount system call. This argument is constructed by
+.BR mount.nfs (8)
+and the current version of
+.B mount
+(2.13) does not know anything about nfs and nfs4.
+
+.SH "Mount options for ntfs"
+.TP
+.BI iocharset= name
+Character set to use when returning file names.
+Unlike VFAT, NTFS suppresses names that contain
+nonconvertible characters. Deprecated.
+.\" since 2.5.11
+.TP
+.BI nls= name
+New name for the option earlier called
+.IR iocharset .
+.\" since 2.5.11
+.TP
+.BR utf8
+Use UTF-8 for converting file names.
+.TP
+.BR uni_xlate= { 0 | 1 | 2 }
+For 0 (or `no' or `false'), do not use escape sequences
+for unknown Unicode characters.
+For 1 (or `yes' or `true') or 2, use vfat-style 4-byte escape sequences
+starting with ":". Here 2 give a little-endian encoding
+and 1 a byteswapped bigendian encoding.
+.TP
+.B posix=[0|1]
+If enabled (posix=1), the filesystem distinguishes between
+upper and lower case. The 8.3 alias names are presented as
+hard links instead of being suppressed. This option is obsolete.
+.TP
+\fBuid=\fP\fIvalue\fP, \fBgid=\fP\fIvalue\fP and \fBumask=\fP\fIvalue\fP
+Set the file permission on the filesystem.
+The umask value is given in octal.
+By default, the files are owned by root and not readable by somebody else.
+
+.SH "Mount options for proc"
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+These options are recognized, but have no effect as far as I can see.
+
+.SH "Mount options for ramfs"
+Ramfs is a memory based filesystem. Mount it and you have it. Unmount it
+and it is gone. Present since Linux 2.3.99pre4.
+There are no mount options.
+
+.SH "Mount options for reiserfs"
+Reiserfs is a journaling filesystem.
+.TP
+.BR conv
+Instructs version 3.6 reiserfs software to mount a version 3.5 filesystem,
+using the 3.6 format for newly created objects. This filesystem will no
+longer be compatible with reiserfs 3.5 tools.
+.TP
+.BR hash= { rupasov | tea | r5 | detect }
+Choose which hash function reiserfs will use to find files within directories.
+.RS
+.TP
+.B rupasov
+A hash invented by Yury Yu. Rupasov. It is fast and preserves locality,
+mapping lexicographically close file names to close hash values.
+This option should not be used, as it causes a high probability of hash
+collisions.
+.TP
+.B tea
+A Davis-Meyer function implemented by Jeremy Fitzhardinge.
+It uses hash permuting bits in the name. It gets high randomness
+and, therefore, low probability of hash collisions at some CPU cost.
+This may be used if EHASHCOLLISION errors are experienced with the r5 hash.
+.TP
+.B r5
+A modified version of the rupasov hash. It is used by default and is
+the best choice unless the filesystem has huge directories and
+unusual file-name patterns.
+.TP
+.B detect
+Instructs
+.IR mount
+to detect which hash function is in use by examining
+the filesystem being mounted, and to write this information into
+the reiserfs superblock. This is only useful on the first mount of
+an old format filesystem.
+.RE
+.TP
+.BR hashed_relocation
+Tunes the block allocator. This may provide performance improvements
+in some situations.
+.TP
+.BR no_unhashed_relocation
+Tunes the block allocator. This may provide performance improvements
+in some situations.
+.TP
+.BR noborder
+Disable the border allocator algorithm invented by Yury Yu. Rupasov.
+This may provide performance improvements in some situations.
+.TP
+.BR nolog
+Disable journalling. This will provide slight performance improvements in
+some situations at the cost of losing reiserfs's fast recovery from crashes.
+Even with this option turned on, reiserfs still performs all journalling
+operations, save for actual writes into its journalling area. Implementation
+of
+.IR nolog
+is a work in progress.
+.TP
+.BR notail
+By default, reiserfs stores small files and `file tails' directly into its
+tree. This confuses some utilities such as
+.BR LILO (8).
+This option is used to disable packing of files into the tree.
+.TP
+.BR replayonly
+Replay the transactions which are in the journal, but do not actually
+mount the filesystem. Mainly used by
+.IR reiserfsck .
+.TP
+.BI resize= number
+A remount option which permits online expansion of reiserfs partitions.
+Instructs reiserfs to assume that the device has
+.I number
+blocks.
+This option is designed for use with devices which are under logical
+volume management (LVM).
+There is a special
+.I resizer
+utility which can be obtained from
+.IR ftp://ftp.namesys.com/pub/reiserfsprogs .
+.TP
+.BR user_xattr
+Enable Extended User Attributes. See the
+.BR attr (5)
+manual page.
+.TP
+.BR acl
+Enable POSIX Access Control Lists. See the
+.BR acl (5)
+manual page.
+.TP
+.BR barrier=none " / " barrier=flush "
+This enables/disables the use of write barriers in the journaling code.
+barrier=none disables it, barrier=flush enables it. Write barriers enforce
+proper on-disk ordering of journal commits, making volatile disk write caches
+safe to use, at some performance penalty. The reiserfs filesystem does not
+enable write barriers by default. Be sure to enable barriers unless your disks
+are battery-backed one way or another. Otherwise you risk filesystem
+corruption in case of power failure.
+
+.SH "Mount options for romfs"
+None.
+
+.SH "Mount options for squashfs"
+None.
+
+.SH "Mount options for smbfs"
+Just like
+.IR nfs ", the " smbfs
+implementation expects a binary argument (a
+.IR "struct smb_mount_data" )
+to the mount system call. This argument is constructed by
+.BR smbmount (8)
+and the current version of
+.B mount
+(2.12) does not know anything about smbfs.
+
+.SH "Mount options for sysv"
+None.
+
+.SH "Mount options for tmpfs"
+.TP
+.BI size= nbytes
+Override default maximum size of the filesystem.
+The size is given in bytes, and rounded up to entire pages.
+The default is half of the memory. The size parameter also accepts a suffix %
+to limit this tmpfs instance to that percentage of your physical RAM:
+the default, when neither size nor nr_blocks is specified, is size=50%
+.TP
+.B nr_blocks=
+The same as size, but in blocks of PAGE_CACHE_SIZE
+.TP
+.B nr_inodes=
+The maximum number of inodes for this instance. The default
+is half of the number of your physical RAM pages, or (on a
+machine with highmem) the number of lowmem RAM pages,
+whichever is the lower.
+.PP
+The tmpfs mount options for sizing (
+.BR size ,
+.BR nr_blocks ,
+and
+.BR nr_inodes )
+accept a suffix
+.BR k ,
+.B m
+or
+.B g
+for Ki, Mi, Gi (binary kilo, mega and giga) and can be changed on remount.
+
+.TP
+.B mode=
+Set initial permissions of the root directory.
+.TP
+.B uid=
+The user id.
+.TP
+.B gid=
+The group id.
+.TP
+.B mpol=[default|prefer:Node|bind:NodeList|interleave|interleave:NodeList]
+Set the NUMA memory allocation policy for all files in that
+instance (if the kernel CONFIG_NUMA is enabled) - which can be adjusted on the
+fly via 'mount -o remount ...'
+.RS
+.TP
+.B default
+prefers to allocate memory from the local node
+.TP
+.B prefer:Node
+prefers to allocate memory from the given Node
+.TP
+.B bind:NodeList
+allocates memory only from nodes in NodeList
+.TP
+.B interleave
+prefers to allocate from each node in turn
+.TP
+.B interleave:NodeList
+allocates from each node of NodeList in turn.
+.PP
+The NodeList format is a comma-separated list of decimal numbers and ranges, a
+range being two hyphen-separated decimal numbers, the smallest and largest node
+numbers in the range. For example, mpol=bind:0-3,5,7,9-15
+
+Note that trying to mount a tmpfs with an mpol option will fail if the
+running kernel does not support NUMA; and will fail if its nodelist
+specifies a node which is not online. If your system relies on that
+tmpfs being mounted, but from time to time runs a kernel built without
+NUMA capability (perhaps a safe recovery kernel), or with fewer nodes
+online, then it is advisable to omit the mpol option from automatic
+mount options. It can be added later, when the tmpfs is already mounted
+on MountPoint, by 'mount -o remount,mpol=Policy:NodeList MountPoint'.
+
+.SH "Mount options for ubifs"
+UBIFS is a flash file system which works on top of UBI volumes. Note that
+.B
+atime
+is not supported and is always turned off.
+.TP
+The device name may be specified as
+.RS
+.B ubiX_Y
+UBI device number
+.BR X ,
+volume number
+.B Y
+.TP
+.B ubiY
+UBI device number
+.BR 0 ,
+volume number
+.B Y
+.TP
+.B ubiX:NAME
+UBI device number
+.BR X ,
+volume with name
+.B NAME
+.TP
+.B ubi:NAME
+UBI device number
+.BR 0 ,
+volume with name
+.B NAME
+.RE
+Alternative
+.B !
+separator may be used instead of
+.BR : .
+.TP
+The following mount options are available:
+.TP
+.BR bulk_read
+Enable bulk-read. VFS read-ahead is disabled because it slows down the file
+system. Bulk-Read is an internal optimization. Some flashes may read faster if
+the data are read at one go, rather than at several read requests. For
+example, OneNAND can do "read-while-load" if it reads more than one NAND page.
+.TP
+.BR no_bulk_read
+Do not bulk-read. This is the default.
+.TP
+.BR chk_data_crc
+Check data CRC-32 checksums. This is the default.
+.TP
+.BR no_chk_data_crc.
+Do not check data CRC-32 checksums. With this option, the filesystem does not
+check CRC-32 checksum for data, but it does check it for the internal indexing
+information. This option only affects reading, not writing. CRC-32 is always
+calculated when writing the data.
+.TP
+.BR compr= { none | lzo | zlib }
+Select the default compressor which is used when new files are written. It is
+still possible to read compressed files if mounted with the
+.B none
+option.
+
+.SH "Mount options for udf"
+udf is the "Universal Disk Format" filesystem defined by the Optical
+Storage Technology Association, and is often used for DVD-ROM.
+See also
+.IR iso9660 .
+.TP
+.B gid=
+Set the default group.
+.TP
+.B umask=
+Set the default umask.
+The value is given in octal.
+.TP
+.B uid=
+Set the default user.
+.TP
+.B unhide
+Show otherwise hidden files.
+.TP
+.B undelete
+Show deleted files in lists.
+.TP
+.B nostrict
+Unset strict conformance.
+.\" .TP
+.\" .B utf8
+.\" (unused).
+.TP
+.B iocharset
+Set the NLS character set.
+.TP
+.B bs=
+Set the block size. (May not work unless 2048.)
+.TP
+.B novrs
+Skip volume sequence recognition.
+.TP
+.B session=
+Set the CDROM session counting from 0. Default: last session.
+.TP
+.B anchor=
+Override standard anchor location. Default: 256.
+.TP
+.B volume=
+Override the VolumeDesc location. (unused)
+.TP
+.B partition=
+Override the PartitionDesc location. (unused)
+.TP
+.B lastblock=
+Set the last block of the filesystem.
+.TP
+.B fileset=
+Override the fileset block location. (unused)
+.TP
+.B rootdir=
+Override the root directory location. (unused)
+
+.SH "Mount options for ufs"
+.TP
+.BI ufstype= value
+UFS is a filesystem widely used in different operating systems.
+The problem are differences among implementations. Features of some
+implementations are undocumented, so its hard to recognize the
+type of ufs automatically.
+That's why the user must specify the type of ufs by mount option.
+Possible values are:
+.RS
+.TP
+.B old
+Old format of ufs, this is the default, read only.
+(Don't forget to give the \-r option.)
+.TP
+.B 44bsd
+For filesystems created by a BSD-like system (NetBSD,FreeBSD,OpenBSD).
+.TP
+.B ufs2
+Used in FreeBSD 5.x supported as read-write.
+.TP
+.B 5xbsd
+Synonym for ufs2.
+.TP
+.B sun
+For filesystems created by SunOS or Solaris on Sparc.
+.TP
+.B sunx86
+For filesystems created by Solaris on x86.
+.TP
+.B hp
+For filesystems created by HP-UX, read-only.
+.TP
+.B nextstep
+For filesystems created by NeXTStep (on NeXT station) (currently read only).
+.TP
+.B nextstep-cd
+For NextStep CDROMs (block_size == 2048), read-only.
+.TP
+.B openstep
+For filesystems created by OpenStep (currently read only).
+The same filesystem type is also used by Mac OS X.
+.RE
+
+.TP
+.BI onerror= value
+Set behaviour on error:
+.RS
+.TP
+.B panic
+If an error is encountered, cause a kernel panic.
+.TP
+.RB [ lock | umount | repair ]
+These mount options don't do anything at present;
+when an error is encountered only a console message is printed.
+.RE
+
+.SH "Mount options for umsdos"
+See mount options for msdos.
+The
+.B dotsOK
+option is explicitly killed by
+.IR umsdos .
+
+.SH "Mount options for vfat"
+First of all, the mount options for
+.I fat
+are recognized.
+The
+.B dotsOK
+option is explicitly killed by
+.IR vfat .
+Furthermore, there are
+.TP
+.B uni_xlate
+Translate unhandled Unicode characters to special escaped sequences.
+This lets you backup and restore filenames that are created with any
+Unicode characters. Without this option, a '?' is used when no
+translation is possible. The escape character is ':' because it is
+otherwise illegal on the vfat filesystem. The escape sequence
+that gets used, where u is the unicode character,
+is: ':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12).
+.TP
+.B posix
+Allow two files with names that only differ in case.
+This option is obsolete.
+.TP
+.B nonumtail
+First try to make a short name without sequence number,
+before trying
+.IR name~num.ext .
+.TP
+.B utf8
+UTF8 is the filesystem safe 8-bit encoding of Unicode that is used by the
+console. It can be enabled for the filesystem with this option or disabled
+with utf8=0, utf8=no or utf8=false. If `uni_xlate' gets set, UTF8 gets
+disabled.
+.TP
+.BR shortname= { lower | win95 | winnt | mixed }
+
+Defines the behaviour for creation and display of filenames which fit into
+8.3 characters. If a long name for a file exists, it will always be
+preferred display. There are four modes:
+:
+.RS
+.TP
+.I lower
+Force the short name to lower case upon display; store a long name when
+the short name is not all upper case.
+.TP
+.I win95
+Force the short name to upper case upon display; store a long name when
+the short name is not all upper case.
+.TP
+.I winnt
+Display the shortname as is; store a long name when the short name is
+not all lower case or all upper case.
+.TP
+.I mixed
+Display the short name as is; store a long name when the short name is not
+all upper case. This mode is the default since Linux 2.6.32.
+.RE
+
+
+.SH "Mount options for usbfs"
+.TP
+\fBdevuid=\fP\fIuid\fP and \fBdevgid=\fP\fIgid\fP and \fBdevmode=\fP\fImode\fP
+Set the owner and group and mode of the device files in the usbfs filesystem
+(default: uid=gid=0, mode=0644). The mode is given in octal.
+.TP
+\fBbusuid=\fP\fIuid\fP and \fBbusgid=\fP\fIgid\fP and \fBbusmode=\fP\fImode\fP
+Set the owner and group and mode of the bus directories in the usbfs
+filesystem (default: uid=gid=0, mode=0555). The mode is given in octal.
+.TP
+\fBlistuid=\fP\fIuid\fP and \fBlistgid=\fP\fIgid\fP and \fBlistmode=\fP\fImode\fP
+Set the owner and group and mode of the file
+.I devices
+(default: uid=gid=0, mode=0444). The mode is given in octal.
+
+.SH "Mount options for xenix"
+None.
+
+.SH "Mount options for xfs"
+.TP
+.BI allocsize= size
+Sets the buffered I/O end-of-file preallocation size when
+doing delayed allocation writeout (default size is 64KiB).
+Valid values for this option are page size (typically 4KiB)
+through to 1GiB, inclusive, in power-of-2 increments.
+.TP
+.BR attr2 | noattr2
+The options enable/disable (default is enabled) an "opportunistic"
+improvement to be made in the way inline extended attributes are
+stored on-disk.
+When the new form is used for the first time (by setting or
+removing extended attributes) the on-disk superblock feature
+bit field will be updated to reflect this format being in use.
+.TP
+.B barrier
+Enables the use of block layer write barriers for writes into
+the journal and unwritten extent conversion. This allows for
+drive level write caching to be enabled, for devices that
+support write barriers.
+.TP
+.B dmapi
+Enable the DMAPI (Data Management API) event callouts.
+Use with the
+.B mtpt
+option.
+.TP
+.BR grpid | bsdgroups " and " nogrpid | sysvgroups
+These options define what group ID a newly created file gets.
+When grpid is set, it takes the group ID of the directory in
+which it is created; otherwise (the default) it takes the fsgid
+of the current process, unless the directory has the setgid bit
+set, in which case it takes the gid from the parent directory,
+and also gets the setgid bit set if it is a directory itself.
+.TP
+.BI ihashsize= value
+Sets the number of hash buckets available for hashing the
+in-memory inodes of the specified mount point. If a value
+of zero is used, the value selected by the default algorithm
+will be displayed in
+.IR /proc/mounts .
+.TP
+.BR ikeep | noikeep
+When inode clusters are emptied of inodes, keep them around
+on the disk (ikeep) - this is the traditional XFS behaviour
+and is still the default for now. Using the noikeep option,
+inode clusters are returned to the free space pool.
+.TP
+.B inode64
+Indicates that XFS is allowed to create inodes at any location
+in the filesystem, including those which will result in inode
+numbers occupying more than 32 bits of significance. This is
+provided for backwards compatibility, but causes problems for
+backup applications that cannot handle large inode numbers.
+.TP
+.BR largeio | nolargeio
+If
+.B nolargeio
+is specified, the optimal I/O reported in
+st_blksize by
+.BR stat (2)
+will be as small as possible to allow user
+applications to avoid inefficient read/modify/write I/O.
+If
+.B largeio
+is specified, a filesystem that has a
+.B swidth
+specified
+will return the
+.B swidth
+value (in bytes) in st_blksize. If the
+filesystem does not have a
+.B swidth
+specified but does specify
+an
+.B allocsize
+then
+.B allocsize
+(in bytes) will be returned
+instead.
+If neither of these two options are specified, then filesystem
+will behave as if
+.B nolargeio
+was specified.
+.TP
+.BI logbufs= value
+Set the number of in-memory log buffers. Valid numbers range
+from 2-8 inclusive.
+The default value is 8 buffers for any recent kernel.
+.TP
+.BI logbsize= value
+Set the size of each in-memory log buffer.
+Size may be specified in bytes, or in kilobytes with a "k" suffix.
+Valid sizes for version 1 and version 2 logs are 16384 (16k) and
+32768 (32k). Valid sizes for version 2 logs also include
+65536 (64k), 131072 (128k) and 262144 (256k).
+The default value for any recent kernel is 32768.
+.TP
+\fBlogdev=\fP\fIdevice\fP and \fBrtdev=\fP\fIdevice\fP
+Use an external log (metadata journal) and/or real-time device.
+An XFS filesystem has up to three parts: a data section, a log section,
+and a real-time section.
+The real-time section is optional, and the log section can be separate
+from the data section or contained within it.
+Refer to
+.BR xfs (5).
+.TP
+.BI mtpt= mountpoint
+Use with the
+.B dmapi
+option. The value specified here will be
+included in the DMAPI mount event, and should be the path of
+the actual mountpoint that is used.
+.TP
+.B noalign
+Data allocations will not be aligned at stripe unit boundaries.
+.TP
+.B noatime
+Access timestamps are not updated when a file is read.
+.TP
+.B norecovery
+The filesystem will be mounted without running log recovery.
+If the filesystem was not cleanly unmounted, it is likely to
+be inconsistent when mounted in
+.B norecovery
+mode.
+Some files or directories may not be accessible because of this.
+Filesystems mounted
+.B norecovery
+must be mounted read-only or the mount will fail.
+.TP
+.B nouuid
+Don't check for double mounted filesystems using the filesystem uuid.
+This is useful to mount LVM snapshot volumes.
+.TP
+.B osyncisosync
+Make O_SYNC writes implement true O_SYNC. WITHOUT this option,
+Linux XFS behaves as if an
+.B osyncisdsync
+option is used,
+which will make writes to files opened with the O_SYNC flag set
+behave as if the O_DSYNC flag had been used instead.
+This can result in better performance without compromising
+data safety.
+However if this option is not in effect, timestamp updates from
+O_SYNC writes can be lost if the system crashes.
+If timestamp updates are critical, use the
+.B osyncisosync
+option.
+.TP
+.BR uquota | usrquota | uqnoenforce | quota
+User disk quota accounting enabled, and limits (optionally)
+enforced. Refer to
+.BR xfs_quota (8)
+for further details.
+.TP
+.BR gquota | grpquota | gqnoenforce
+Group disk quota accounting enabled and limits (optionally)
+enforced. Refer to
+.BR xfs_quota (8)
+for further details.
+.TP
+.BR pquota | prjquota | pqnoenforce
+Project disk quota accounting enabled and limits (optionally)
+enforced. Refer to
+.BR xfs_quota (8)
+for further details.
+.TP
+\fBsunit=\fP\fIvalue\fP and \fBswidth=\fP\fIvalue\fP
+Used to specify the stripe unit and width for a RAID device or a stripe
+volume.
+.I value
+must be specified in 512-byte block units.
+If this option is not specified and the filesystem was made on a stripe
+volume or the stripe width or unit were specified for the RAID device at
+mkfs time, then the mount system call will restore the value from the
+superblock.
+For filesystems that are made directly on RAID devices, these options can be
+used to override the information in the superblock if the underlying disk
+layout changes after the filesystem has been created.
+The
+.B swidth
+option is required if the
+.B sunit
+option has been specified,
+and must be a multiple of the
+.B sunit
+value.
+.TP
+.B swalloc
+Data allocations will be rounded up to stripe width boundaries
+when the current end of file is being extended and the file
+size is larger than the stripe width size.
+
+.SH "Mount options for xiafs"
+None. Although nothing is wrong with xiafs, it is not used much,
+and is not maintained. Probably one shouldn't use it.
+Since Linux version 2.1.21 xiafs is no longer part of the kernel source.
+
+.SH "THE LOOP DEVICE"
+One further possible type is a mount via the loop device. For example,
+the command
+.RS
+.sp
+.B "mount /tmp/disk.img /mnt -t vfat -o loop=/dev/loop"
+.sp
+.RE
+will set up the loop device
+.I /dev/loop3
+to correspond to the file
+.IR /tmp/disk.img ,
+and then mount this device on
+.IR /mnt .
+
+If no explicit loop device is mentioned
+(but just an option `\fB\-o loop\fP' is given), then
+.B mount
+will try to find some unused loop device and use that, for example
+.RS
+.sp
+.B "mount /tmp/disk.img /mnt -o loop"
+.sp
+.RE
+The mount command
+.B automatically
+creates a loop device from a regular file if a filesystem type is
+not specified or the filesystem is known for libblkid, for example:
+.RS
+.sp
+.B "mount /tmp/disk.img /mnt"
+.sp
+.B "mount -t ext3 /tmp/disk.img /mnt"
+.sp
+.RE
+This type of mount knows about four options, namely
+.BR loop ", " offset ", " sizelimit " and " encryption ,
+that are really options to
+.BR \%losetup (8).
+(These options can be used in addition to those specific
+to the filesystem type.)
+
+Since Linux 2.6.25 is supported auto-destruction of loop devices and
+then any loop device allocated by
+.B mount
+will be freed by
+.B umount
+independently on
+.IR /etc/mtab .
+
+You can also free a loop device by hand, using `losetup -d' or `umount -d`.
+
+.SH RETURN CODES
+.B mount
+has the following return codes (the bits can be ORed):
+.TP
+.BR 0
+success
+.TP
+.BR 1
+incorrect invocation or permissions
+.TP
+.BR 2
+system error (out of memory, cannot fork, no more loop devices)
+.TP
+.BR 4
+internal
+.B mount
+bug
+.TP
+.BR 8
+user interrupt
+.TP
+.BR 16
+problems writing or locking /etc/mtab
+.TP
+.BR 32
+mount failure
+.TP
+.BR 64
+some mount succeeded
+
+.SH NOTES
+The syntax of external mount helpers is:
+
+.RS
+.BI /sbin/mount. <suffix>
+.I spec dir
+.RB [ \-sfnv ]
+.RB [ \-o
+.IR options ]
+.RB [ \-t
+.IR type.subtype ]
+.RE
+
+where the <type> is filesystem type and \-sfnvo options have same meaning like
+standard mount options. The \-t option is used for filesystems with subtypes
+support (for example /sbin/mount.fuse -t fuse.sshfs).
+
+.SH FILES
+.TP 18n
+.I /etc/fstab
+filesystem table
+.TP
+.I /etc/mtab
+table of mounted filesystems
+.TP
+.I /etc/mtab~
+lock file
+.TP
+.I /etc/mtab.tmp
+temporary file
+.TP
+.I /etc/filesystems
+a list of filesystem types to try
+
+.SH "SEE ALSO"
+.BR mount (2),
+.BR umount (2),
+.BR fstab (5),
+.BR umount (8),
+.BR swapon (8),
+.BR nfs (5),
+.BR xfs (5),
+.BR e2label (8),
+.BR xfs_admin (8),
+.BR mountd (8),
+.BR nfsd (8),
+.BR mke2fs (8),
+.BR tune2fs (8),
+.BR losetup (8)
+.SH BUGS
+It is possible for a corrupted filesystem to cause a crash.
+.PP
+Some Linux filesystems don't support
+.B "\-o sync and \-o dirsync"
+(the ext2, ext3, fat and vfat filesystems
+.I do
+support synchronous updates (a la BSD) when mounted with the
+.B sync
+option).
+.PP
+The
+.B "\-o remount"
+may not be able to change mount parameters (all
+.IR ext2fs -specific
+parameters, except
+.BR sb ,
+are changeable with a remount, for example, but you can't change
+.B gid
+or
+.B umask
+for the
+.IR fatfs ).
+.PP
+Mount by label or uuid will work only if your devices have the names listed in
+.IR /proc/partitions .
+In particular, it may well fail if the kernel was compiled with devfs
+but devfs is not mounted.
+.PP
+It is possible that files
+.IR /etc/mtab
+and
+.IR /proc/mounts
+don't match. The first file is based only on the mount command options, but the
+content of the second file also depends on the kernel and others settings (e.g.
+remote NFS server. In particular case the mount command may reports unreliable
+information about a NFS mount point and the /proc/mounts file usually contains
+more reliable information.)
+.PP
+Checking files on NFS filesystem referenced by file descriptors (i.e. the
+.BR fcntl
+and
+.BR ioctl
+families of functions) may lead to inconsistent result due to the lack of
+consistency check in kernel even if noac is used.
+.SH HISTORY
+A
+.B mount
+command existed in Version 5 AT&T UNIX.
+.SH AVAILABILITY
+The mount command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/mount-deprecated/mount.c b/mount-deprecated/mount.c
new file mode 100644
index 0000000..e3e1bfe
--- /dev/null
+++ b/mount-deprecated/mount.c
@@ -0,0 +1,2652 @@
+/*
+ * A mount(8) for Linux.
+ *
+ * Modifications by many people. Distributed under GPL.
+ */
+
+#include <unistd.h>
+#include <ctype.h>
+#include <errno.h>
+#include <string.h>
+#include <getopt.h>
+#include <stdio.h>
+
+#include <pwd.h>
+#include <grp.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <sys/mount.h>
+
+#include <mntent.h>
+
+#ifdef HAVE_LIBSELINUX
+#include <selinux/selinux.h>
+#include <selinux/context.h>
+#endif
+
+#include "pathnames.h"
+#include "fsprobe.h"
+#include "devname.h"
+#include "mount_constants.h"
+#include "sundries.h"
+#include "mount_mntent.h"
+#include "fstab.h"
+#include "loopdev.h"
+#include "linux_version.h"
+#include "getusername.h"
+#include "env.h"
+#include "nls.h"
+#include "blkdev.h"
+#include "strutils.h"
+#include "closestream.h"
+#include "xgetpass.h"
+
+#define DO_PS_FIDDLING
+
+#ifdef DO_PS_FIDDLING
+#include "setproctitle.h"
+#endif
+
+/* True for fake mount (-f). */
+static int fake = 0;
+
+/* True if we are allowed to call /sbin/mount.${FSTYPE} */
+static int external_allowed = 1;
+
+/* Don't write an entry in /etc/mtab (-n). */
+static int nomtab = 0;
+
+/* True for explicit readonly (-r). */
+static int readonly = 0;
+
+/* Nonzero for sloppy (-s). */
+static int sloppy = 0;
+
+/* True for explicit read/write (-w). */
+static int readwrite = 0;
+
+/* True for all mount (-a). */
+static int mount_all = 0;
+
+/* True for fork() during all mount (-F). */
+static int optfork = 0;
+
+/* Add volumelabel in a listing of mounted devices (-l). */
+static int list_with_volumelabel = 0;
+
+/* Nonzero for mount {bind|move|make-shared|make-private|
+ * make-unbindable|make-slave}
+ */
+static int mounttype = 0;
+
+/* True if (ruid != euid) or (0 != ruid), i.e. only "user" mounts permitted. */
+static int restricted = 1;
+
+/* Contains the fd to read the passphrase from, if any. */
+static int pfd = -1;
+
+/* mount(2) options */
+struct mountargs {
+ const char *spec;
+ const char *node;
+ const char *type;
+ int flags;
+ void *data;
+};
+
+/* Map from -o and fstab option strings to the flag argument to mount(2). */
+struct opt_map {
+ const char *opt; /* option name */
+ int skip; /* skip in mtab option string */
+ int inv; /* true if flag value should be inverted */
+ int mask; /* flag mask value */
+ int cmask; /* comments mask */
+};
+
+/* Custom mount options for our own purposes. */
+/* Maybe these should now be freed for kernel use again */
+#define MS_NOAUTO 0x80000000
+#define MS_USERS 0x40000000
+#define MS_USER 0x20000000
+#define MS_OWNER 0x10000000
+#define MS_GROUP 0x08000000
+#define MS_COMMENT 0x02000000
+#define MS_LOOP 0x00010000
+
+#define MS_COMMENT_NOFAIL (1 << 1)
+#define MS_COMMENT_NETDEV (1 << 2)
+
+/* Options that we keep the mount system call from seeing. */
+#define MS_NOSYS (MS_NOAUTO|MS_USERS|MS_USER|MS_COMMENT|MS_LOOP)
+
+/* Options that we keep from appearing in the options field in the mtab. */
+#define MS_NOMTAB (MS_REMOUNT|MS_NOAUTO|MS_USERS|MS_USER)
+
+#define MS_PROPAGATION (MS_SHARED|MS_SLAVE|MS_UNBINDABLE|MS_PRIVATE)
+
+/* Options that we make ordinary users have by default. */
+#define MS_SECURE (MS_NOEXEC|MS_NOSUID|MS_NODEV)
+
+/* Options that we make owner-mounted devices have by default */
+#define MS_OWNERSECURE (MS_NOSUID|MS_NODEV)
+
+static const struct opt_map opt_map[] = {
+ { "defaults", 0, 0, 0 }, /* default options */
+ { "ro", 1, 0, MS_RDONLY }, /* read-only */
+ { "rw", 1, 1, MS_RDONLY }, /* read-write */
+ { "exec", 0, 1, MS_NOEXEC }, /* permit execution of binaries */
+ { "noexec", 0, 0, MS_NOEXEC }, /* don't execute binaries */
+ { "suid", 0, 1, MS_NOSUID }, /* honor suid executables */
+ { "nosuid", 0, 0, MS_NOSUID }, /* don't honor suid executables */
+ { "dev", 0, 1, MS_NODEV }, /* interpret device files */
+ { "nodev", 0, 0, MS_NODEV }, /* don't interpret devices */
+ { "sync", 0, 0, MS_SYNCHRONOUS}, /* synchronous I/O */
+ { "async", 0, 1, MS_SYNCHRONOUS}, /* asynchronous I/O */
+ { "dirsync", 0, 0, MS_DIRSYNC}, /* synchronous directory modifications */
+ { "remount", 0, 0, MS_REMOUNT}, /* Alter flags of mounted FS */
+ { "bind", 0, 0, MS_BIND }, /* Remount part of tree elsewhere */
+ { "rbind", 0, 0, MS_BIND|MS_REC }, /* Idem, plus mounted subtrees */
+ { "auto", 0, 1, MS_NOAUTO }, /* Can be mounted using -a */
+ { "noauto", 0, 0, MS_NOAUTO }, /* Can only be mounted explicitly */
+ { "users", 0, 0, MS_USERS }, /* Allow ordinary user to mount */
+ { "nousers", 0, 1, MS_USERS }, /* Forbid ordinary user to mount */
+ { "user", 0, 0, MS_USER }, /* Allow ordinary user to mount */
+ { "nouser", 0, 1, MS_USER }, /* Forbid ordinary user to mount */
+ { "owner", 0, 0, MS_OWNER }, /* Let the owner of the device mount */
+ { "noowner", 0, 1, MS_OWNER }, /* Device owner has no special privs */
+ { "group", 0, 0, MS_GROUP }, /* Let the group of the device mount */
+ { "nogroup", 0, 1, MS_GROUP }, /* Device group has no special privs */
+ { "_netdev", 0, 0, MS_COMMENT, MS_COMMENT_NETDEV }, /* Device requires network */
+ { "comment", 0, 0, MS_COMMENT}, /* fstab comment only (kudzu,_netdev)*/
+
+ /* add new options here */
+#ifdef MS_NOSUB
+ { "sub", 0, 1, MS_NOSUB }, /* allow submounts */
+ { "nosub", 0, 0, MS_NOSUB }, /* don't allow submounts */
+#endif
+#ifdef MS_SILENT
+ { "silent", 0, 0, MS_SILENT }, /* be quiet */
+ { "loud", 0, 1, MS_SILENT }, /* print out messages. */
+#endif
+#ifdef MS_MANDLOCK
+ { "mand", 0, 0, MS_MANDLOCK }, /* Allow mandatory locks on this FS */
+ { "nomand", 0, 1, MS_MANDLOCK }, /* Forbid mandatory locks on this FS */
+#endif
+ { "loop", 1, 0, MS_LOOP }, /* use a loop device */
+#ifdef MS_NOATIME
+ { "atime", 0, 1, MS_NOATIME }, /* Update access time */
+ { "noatime", 0, 0, MS_NOATIME }, /* Do not update access time */
+#endif
+#ifdef MS_I_VERSION
+ { "iversion", 0, 0, MS_I_VERSION }, /* Update inode I_version time */
+ { "noiversion", 0, 1, MS_I_VERSION }, /* Don't update inode I_version time */
+#endif
+#ifdef MS_NODIRATIME
+ { "diratime", 0, 1, MS_NODIRATIME }, /* Update dir access times */
+ { "nodiratime", 0, 0, MS_NODIRATIME },/* Do not update dir access times */
+#endif
+#ifdef MS_RELATIME
+ { "relatime", 0, 0, MS_RELATIME }, /* Update access times relative to
+ mtime/ctime */
+ { "norelatime", 0, 1, MS_RELATIME }, /* Update access time without regard
+ to mtime/ctime */
+#endif
+#ifdef MS_STRICTATIME
+ { "strictatime", 0, 0, MS_STRICTATIME }, /* Strict atime semantics */
+ { "nostrictatime", 0, 1, MS_STRICTATIME }, /* kernel default atime */
+#endif
+ { "nofail", 0, 0, MS_COMMENT, MS_COMMENT_NOFAIL }, /* Do not fail if ENOENT on dev */
+ { NULL, 0, 0, 0 }
+};
+
+static int opt_nofail;
+static int invuser_flags;
+static int comment_flags;
+
+static const char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_sizelimit,
+ *opt_encryption, *opt_speed, *opt_comment, *opt_uhelper, *opt_helper;
+
+static int is_readonly(const char *node);
+static int mounted (const char *spec0, const char *node0, struct mntentchn *fstab_mc);
+static int check_special_mountprog(const char *spec, const char *node,
+ const char *type, int flags, char *extra_opts, int *status);
+
+static struct string_opt_map {
+ char *tag;
+ int skip;
+ const char **valptr;
+} string_opt_map[] = {
+ { "loop=", 0, &opt_loopdev },
+ { "vfs=", 1, &opt_vfstype },
+ { "offset=", 0, &opt_offset },
+ { "sizelimit=", 0, &opt_sizelimit },
+ { "encryption=", 0, &opt_encryption },
+ { "speed=", 0, &opt_speed },
+ { "comment=", 1, &opt_comment },
+ { "uhelper=", 0, &opt_uhelper },
+ { "helper=", 0, &opt_helper },
+ { NULL, 0, NULL }
+};
+
+static void
+clear_string_opts(void) {
+ struct string_opt_map *m;
+
+ for (m = &string_opt_map[0]; m->tag; m++)
+ *(m->valptr) = NULL;
+}
+
+static void
+clear_flags_opts(void) {
+ invuser_flags = 0;
+ comment_flags = 0;
+ opt_nofail = 0;
+}
+
+static int
+parse_string_opt(char *s) {
+ struct string_opt_map *m;
+ int lth;
+
+ for (m = &string_opt_map[0]; m->tag; m++) {
+ lth = strlen(m->tag);
+ if (!strncmp(s, m->tag, lth)) {
+ *(m->valptr) = xstrdup(s + lth);
+ return 1;
+ }
+ }
+ return 0;
+}
+
+/* Report on a single mount. */
+static void
+print_one (const struct my_mntent *me) {
+
+ char *fsname = NULL;
+
+ if (mount_quiet)
+ return;
+
+ /* users assume backing file name rather than /dev/loopN in
+ * mount(8) output if the device has been initialized by mount(8).
+ */
+ if (strncmp(me->mnt_fsname, "/dev/loop", 9) == 0 &&
+ loopdev_is_autoclear(me->mnt_fsname))
+ fsname = loopdev_get_backing_file(me->mnt_fsname);
+
+ if (!fsname)
+ fsname = (char *) me->mnt_fsname;
+
+ printf ("%s on %s", fsname, me->mnt_dir);
+ if (me->mnt_type != NULL && *(me->mnt_type) != '\0')
+ printf (" type %s", me->mnt_type);
+ if (me->mnt_opts != NULL)
+ printf (" (%s)", me->mnt_opts);
+ if (list_with_volumelabel && is_pseudo_fs(me->mnt_type) == 0) {
+ const char *devname = spec_to_devname(me->mnt_fsname);
+
+ if (devname) {
+ const char *label;
+
+ label = fsprobe_get_label_by_devname(devname);
+ my_free(devname);
+
+ if (label) {
+ printf (" [%s]", label);
+ my_free(label);
+ }
+ }
+ }
+ printf ("\n");
+}
+
+/* Report on everything in mtab (of the specified types if any). */
+static int
+print_all (char *types) {
+ struct mntentchn *mc, *mc0;
+
+ mc0 = mtab_head();
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt) {
+ if (matching_type (mc->m.mnt_type, types))
+ print_one (&(mc->m));
+ }
+
+ if (!mtab_does_not_exist() && !mtab_is_a_symlink() && is_readonly(_PATH_MOUNTED))
+ printf(_("\n"
+ "mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+ " It's possible that information reported by mount(8) is not\n"
+ " up to date. For actual information about system mount points\n"
+ " check the /proc/mounts file.\n\n"));
+
+ exit (0);
+}
+
+/* reallocates its first arg */
+static char *
+append_opt(char *s, const char *opt, const char *val)
+{
+ if (!opt)
+ return s;
+ if (!s) {
+ if (!val)
+ return xstrdup(opt); /* opt */
+
+ return xstrconcat3(NULL, opt, val); /* opt=val */
+ }
+ if (!val)
+ return xstrconcat3(s, ",", opt); /* s,opt */
+
+ return xstrconcat4(s, ",", opt, val); /* s,opt=val */
+}
+
+static char *
+append_numopt(char *s, const char *opt, unsigned int num)
+{
+ char buf[32];
+
+ snprintf(buf, sizeof(buf), "%u", num);
+ return append_opt(s, opt, buf);
+}
+
+#ifdef HAVE_LIBSELINUX
+/* strip quotes from a "string"
+ * Warning: This function modify the "str" argument.
+ */
+static char *
+strip_quotes(char *str)
+{
+ char *end = NULL;
+
+ if (*str != '"')
+ return str;
+
+ end = strrchr(str, '"');
+ if (end == NULL || end == str)
+ die (EX_USAGE, _("mount: improperly quoted option string '%s'"), str);
+
+ *end = '\0';
+ return str+1;
+}
+
+/* translates SELinux context from human to raw format and
+ * appends it to the mount extra options.
+ *
+ * returns -1 on error and 0 on success
+ */
+static int
+append_context(const char *optname, char *optdata, char **extra_opts)
+{
+ security_context_t raw = NULL;
+ char *data = NULL;
+
+ if (is_selinux_enabled() != 1)
+ /* ignore the option if we running without selinux */
+ return 0;
+
+ if (optdata==NULL || *optdata=='\0' || optname==NULL)
+ return -1;
+
+ /* TODO: use strip_quotes() for all mount options? */
+ data = *optdata =='"' ? strip_quotes(optdata) : optdata;
+
+ if (selinux_trans_to_raw_context(
+ (security_context_t) data, &raw) == -1 ||
+ raw == NULL)
+ return -1;
+
+ if (verbose)
+ printf(_("mount: translated %s '%s' to '%s'\n"),
+ optname, data, (char *) raw);
+
+ *extra_opts = append_opt(*extra_opts, optname, NULL);
+ *extra_opts = xstrconcat4(*extra_opts, "\"", (char *) raw, "\"");
+
+ freecon(raw);
+ return 0;
+}
+
+/* returns newly allocated string without *context= options */
+static char *remove_context_options(char *opts)
+{
+ char *begin = NULL, *end = NULL, *p;
+ int open_quote = 0, changed = 0;
+
+ if (!opts)
+ return NULL;
+
+ opts = xstrdup(opts);
+
+ for (p = opts; p && *p; p++) {
+ if (!begin)
+ begin = p; /* begin of the option item */
+ if (*p == '"')
+ open_quote ^= 1; /* reverse the status */
+ if (open_quote)
+ continue; /* still in quoted block */
+ if (*p == ',')
+ end = p; /* terminate the option item */
+ else if (*(p + 1) == '\0')
+ end = p + 1; /* end of optstr */
+ if (!begin || !end)
+ continue;
+
+ if (strncmp(begin, "context=", 8) == 0 ||
+ strncmp(begin, "fscontext=", 10) == 0 ||
+ strncmp(begin, "defcontext=", 11) == 0 ||
+ strncmp(begin, "rootcontext=", 12) == 0 ||
+ strncmp(begin, "seclabel", 8) == 0) {
+ size_t sz;
+
+ if ((begin == opts || *(begin - 1) == ',') && *end == ',')
+ end++;
+ sz = strlen(end);
+
+ memmove(begin, end, sz + 1);
+ if (!*begin && *(begin - 1) == ',')
+ *(begin - 1) = '\0';
+
+ p = begin;
+ changed = 1;
+ }
+ begin = end = NULL;
+ }
+
+ if (changed && verbose)
+ printf (_("mount: SELinux *context= options are ignore on remount.\n"));
+
+ return opts;
+}
+
+static int has_context_option(char *opts)
+{
+ if (get_option("context=", opts, NULL) ||
+ get_option("fscontext=", opts, NULL) ||
+ get_option("defcontext=", opts, NULL) ||
+ get_option("rootcontext=", opts, NULL))
+ return 1;
+
+ return 0;
+}
+
+#endif
+
+/*
+ * Look for OPT in opt_map table and return mask value.
+ * If OPT isn't found, tack it onto extra_opts (which is non-NULL).
+ * For the options uid= and gid= replace user or group name by its value.
+ */
+static inline void
+parse_opt(char *opt, int *mask, int *inv_user, char **extra_opts) {
+ const struct opt_map *om;
+
+ for (om = opt_map; om->opt != NULL; om++)
+ if (streq (opt, om->opt)) {
+ if (om->inv)
+ *mask &= ~om->mask;
+ else
+ *mask |= om->mask;
+ if (om->inv && ((*mask & MS_USER) || (*mask & MS_USERS))
+ && (om->mask & MS_SECURE))
+ *inv_user |= om->mask;
+ if ((om->mask == MS_USER || om->mask == MS_USERS)
+ && !om->inv)
+ *mask |= MS_SECURE;
+ if ((om->mask == MS_OWNER || om->mask == MS_GROUP)
+ && !om->inv)
+ *mask |= MS_OWNERSECURE;
+#ifdef MS_SILENT
+ if (om->mask == MS_SILENT && om->inv) {
+ mount_quiet = 1;
+ verbose = 0;
+ }
+#endif
+ if (om->mask == MS_COMMENT) {
+ comment_flags |= om->cmask;
+ if (om->cmask == MS_COMMENT_NOFAIL)
+ opt_nofail = 1;
+ }
+ return;
+ }
+
+ /* convert nonnumeric ids to numeric */
+ if (!strncmp(opt, "uid=", 4) && !isdigit(opt[4])) {
+ struct passwd *pw = getpwnam(opt+4);
+
+ if (pw) {
+ *extra_opts = append_numopt(*extra_opts,
+ "uid=", pw->pw_uid);
+ return;
+ }
+ }
+ if (!strncmp(opt, "gid=", 4) && !isdigit(opt[4])) {
+ struct group *gr = getgrnam(opt+4);
+
+ if (gr) {
+ *extra_opts = append_numopt(*extra_opts,
+ "gid=", gr->gr_gid);
+ return;
+ }
+ }
+
+#ifdef HAVE_LIBSELINUX
+ if (strncmp(opt, "context=", 8) == 0 && *(opt+8)) {
+ if (append_context("context=", opt+8, extra_opts) == 0)
+ return;
+ }
+ if (strncmp(opt, "fscontext=", 10) == 0 && *(opt+10)) {
+ if (append_context("fscontext=", opt+10, extra_opts) == 0)
+ return;
+ }
+ if (strncmp(opt, "defcontext=", 11) == 0 && *(opt+11)) {
+ if (append_context("defcontext=", opt+11, extra_opts) == 0)
+ return;
+ }
+ if (strncmp(opt, "rootcontext=", 12) == 0 && *(opt+12)) {
+ if (append_context("rootcontext=", opt+12, extra_opts) == 0)
+ return;
+ }
+#endif
+ *extra_opts = append_opt(*extra_opts, opt, NULL);
+}
+
+
+/* Take -o options list and compute 4th and 5th args to mount(2). flags
+ gets the standard options (indicated by bits) and extra_opts all the rest */
+static void
+parse_opts (const char *options, int *flags, char **extra_opts) {
+ *flags = 0;
+ *extra_opts = NULL;
+
+ clear_string_opts();
+ clear_flags_opts();
+
+ if (options != NULL) {
+ char *opts = xstrdup(options);
+ int open_quote = 0;
+ char *opt, *p;
+
+ for (p=opts, opt=NULL; p && *p; p++) {
+ if (!opt)
+ opt = p; /* begin of the option item */
+ if (*p == '"')
+ open_quote ^= 1; /* reverse the status */
+ if (open_quote)
+ continue; /* still in quoted block */
+ if (*p == ',')
+ *p = '\0'; /* terminate the option item */
+ /* end of option item or last item */
+ if (*p == '\0' || *(p+1) == '\0') {
+ if (!parse_string_opt(opt))
+ parse_opt(opt, flags, &invuser_flags, extra_opts);
+ opt = NULL;
+ }
+ }
+ free(opts);
+ }
+
+ if (readonly)
+ *flags |= MS_RDONLY;
+ if (readwrite)
+ *flags &= ~MS_RDONLY;
+
+ *flags |= mounttype;
+
+ /* The propagation flags should not be used together with any
+ * other flags (except MS_REC and MS_SILENT) */
+ if (*flags & MS_PROPAGATION)
+ *flags &= (MS_PROPAGATION | MS_REC | MS_SILENT);
+}
+
+/* Try to build a canonical options string. */
+static char *
+fix_opts_string (int flags, const char *extra_opts,
+ const char *user, int inv_user)
+{
+ const struct opt_map *om;
+ const struct string_opt_map *m;
+ char *new_opts;
+
+ new_opts = append_opt(NULL, (flags & MS_RDONLY) ? "ro" : "rw", NULL);
+ for (om = opt_map; om->opt != NULL; om++) {
+ if (om->skip)
+ continue;
+ if (om->inv || !om->mask || (flags & om->mask) != om->mask)
+ continue;
+ if (om->mask == MS_COMMENT && !(comment_flags & om->cmask))
+ continue;
+ new_opts = append_opt(new_opts, om->opt, NULL);
+ flags &= ~om->mask;
+ }
+ for (m = &string_opt_map[0]; m->tag; m++) {
+ if (!m->skip && *(m->valptr))
+ new_opts = append_opt(new_opts, m->tag, *(m->valptr));
+ }
+ if (extra_opts && *extra_opts)
+ new_opts = append_opt(new_opts, extra_opts, NULL);
+
+ if (user)
+ new_opts = append_opt(new_opts, "user=", user);
+
+ if (inv_user) {
+ for (om = opt_map; om->opt != NULL; om++) {
+ if (om->mask && om->inv
+ && (inv_user & om->mask) == om->mask) {
+ new_opts = append_opt(new_opts, om->opt, NULL);
+ inv_user &= ~om->mask;
+ }
+ }
+ }
+
+ return new_opts;
+}
+
+static int
+already (const char *spec0, const char *node0) {
+ struct mntentchn *mc;
+ int ret = 1;
+ char *spec = canonicalize_spec(spec0);
+ char *node = canonicalize(node0);
+
+ if ((mc = getmntfile(node)) != NULL)
+ error (_("mount: according to mtab, "
+ "%s is already mounted on %s"),
+ mc->m.mnt_fsname, node);
+ else if (spec && strcmp (spec, "none") &&
+ (mc = getmntfile(spec)) != NULL)
+ error (_("mount: according to mtab, %s is mounted on %s"),
+ spec, mc->m.mnt_dir);
+ else
+ ret = 0;
+
+ free(spec);
+ free(node);
+
+ return ret;
+}
+
+/* Create mtab with a root entry. */
+static void
+create_mtab (void) {
+ struct mntentchn *fstab;
+ struct my_mntent mnt;
+ int flags;
+ mntFILE *mfp;
+
+ lock_mtab();
+
+ mfp = my_setmntent (_PATH_MOUNTED, "a+");
+ if (mfp == NULL || mfp->mntent_fp == NULL) {
+ int errsv = errno;
+ die (EX_FILEIO, _("mount: can't open %s for writing: %s"),
+ _PATH_MOUNTED, strerror (errsv));
+ }
+
+ /* Find the root entry by looking it up in fstab */
+ if ((fstab = getfs_by_dir ("/")) || (fstab = getfs_by_dir ("root"))) {
+ char *extra_opts;
+ parse_opts (fstab->m.mnt_opts, &flags, &extra_opts);
+ mnt.mnt_dir = "/";
+ mnt.mnt_fsname = spec_to_devname(fstab->m.mnt_fsname);
+ mnt.mnt_type = fstab->m.mnt_type;
+ mnt.mnt_opts = fix_opts_string (flags, extra_opts, NULL, 0);
+ mnt.mnt_freq = mnt.mnt_passno = 0;
+ free(extra_opts);
+
+ if (my_addmntent (mfp, &mnt) == 1) {
+ int errsv = errno;
+ die (EX_FILEIO, _("mount: error writing %s: %s"),
+ _PATH_MOUNTED, strerror (errsv));
+ }
+ }
+ if (fchmod (fileno (mfp->mntent_fp), 0644) < 0)
+ if (errno != EROFS) {
+ int errsv = errno;
+ die (EX_FILEIO,
+ _("mount: error changing mode of %s: %s"),
+ _PATH_MOUNTED, strerror (errsv));
+ }
+ my_endmntent (mfp);
+
+ unlock_mtab();
+
+ reset_mtab_info();
+}
+
+/* count successful mount system calls */
+static int mountcount = 0;
+
+/*
+ * do_mount_syscall()
+ * Mount a single file system. Keep track of successes.
+ * returns: 0: OK, -1: error in errno
+ */
+static int
+do_mount_syscall (struct mountargs *args) {
+ int flags = args->flags;
+
+ if ((flags & MS_MGC_MSK) == 0)
+ flags |= MS_MGC_VAL;
+
+ if (verbose > 2)
+ printf("mount: mount(2) syscall: source: \"%s\", target: \"%s\", "
+ "filesystemtype: \"%s\", mountflags: %d, data: %s\n",
+ args->spec, args->node, args->type, flags, (char *) args->data);
+
+ return mount (args->spec, args->node, args->type, flags, args->data);
+}
+
+/*
+ * do_mount()
+ * Mount a single file system, possibly invoking an external handler to
+ * do so. Keep track of successes.
+ * returns: 0: OK, -1: error in errno
+ */
+static int
+do_mount (struct mountargs *args, int *special, int *status) {
+ int ret;
+ if (check_special_mountprog(args->spec, args->node, args->type,
+ args->flags, args->data, status)) {
+ *special = 1;
+ ret = 0;
+ } else {
+ ret = do_mount_syscall(args);
+ }
+ if (ret == 0)
+ mountcount++;
+ return ret;
+}
+
+/*
+ * check_special_mountprog()
+ * If there is a special mount program for this type, exec it.
+ * returns: 0: no exec was done, 1: exec was done, status has result
+ */
+static int
+check_special_mountprog(const char *spec, const char *node, const char *type, int flags,
+ char *extra_opts, int *status) {
+ char search_path[] = FS_SEARCH_PATH;
+ char *path, mountprog[150];
+ struct stat statbuf;
+ int res;
+
+ if (!external_allowed)
+ return 0;
+
+ if (type == NULL || strcmp(type, "none") == 0)
+ return 0;
+
+ path = strtok(search_path, ":");
+ while (path) {
+ int type_opt = 0;
+
+ res = snprintf(mountprog, sizeof(mountprog), "%s/mount.%s",
+ path, type);
+ path = strtok(NULL, ":");
+ if (res < 0 || (size_t) res >= sizeof(mountprog))
+ continue;
+
+ res = stat(mountprog, &statbuf);
+ if (res == -1 && errno == ENOENT && strchr(type, '.')) {
+ /* If type ends with ".subtype" try without it */
+ *strrchr(mountprog, '.') = '\0';
+ type_opt = 1;
+ res = stat(mountprog, &statbuf);
+ }
+ if (res)
+ continue;
+
+ if (verbose)
+ fflush(stdout);
+
+ switch (fork()) {
+ case 0: { /* child */
+ char *oo, *mountargs[12];
+ int i = 0;
+
+ if (setgid(getgid()) < 0)
+ die(EX_FAIL, _("mount: cannot set group id: %m"));
+
+ if (setuid(getuid()) < 0)
+ die(EX_FAIL, _("mount: cannot set user id: %m"));
+
+ oo = fix_opts_string(flags, extra_opts, NULL, invuser_flags);
+ mountargs[i++] = mountprog; /* 1 */
+ mountargs[i++] = (char *) spec; /* 2 */
+ mountargs[i++] = (char *) node; /* 3 */
+ if (sloppy && strncmp(type, "nfs", 3) == 0)
+ mountargs[i++] = "-s"; /* 4 */
+ if (fake)
+ mountargs[i++] = "-f"; /* 5 */
+ if (nomtab)
+ mountargs[i++] = "-n"; /* 6 */
+ if (verbose)
+ mountargs[i++] = "-v"; /* 7 */
+ if (oo && *oo) {
+ mountargs[i++] = "-o"; /* 8 */
+ mountargs[i++] = oo; /* 9 */
+ }
+ if (type_opt) {
+ mountargs[i++] = "-t"; /* 10 */
+ mountargs[i++] = (char *) type; /* 11 */
+ }
+ mountargs[i] = NULL; /* 12 */
+
+ if (verbose > 2) {
+ i = 0;
+ while (mountargs[i]) {
+ printf("mount: external mount: argv[%d] = \"%s\"\n",
+ i, mountargs[i]);
+ i++;
+ }
+ fflush(stdout);
+ }
+
+ execv(mountprog, mountargs);
+ exit(1); /* exec failed */
+ }
+
+ default: { /* parent */
+ int st;
+ wait(&st);
+ *status = (WIFEXITED(st) ? WEXITSTATUS(st) : EX_SYSERR);
+ return 1;
+ }
+
+ case -1: { /* error */
+ int errsv = errno;
+ error(_("mount: cannot fork: %s"), strerror(errsv));
+ }
+ }
+ }
+
+ return 0;
+}
+
+
+/* list of already tested filesystems by procfsloop_mount() */
+static struct tried {
+ struct tried *next;
+ char *type;
+} *tried = NULL;
+
+static int
+was_tested(const char *fstype) {
+ struct tried *t;
+
+ for (t = tried; t; t = t->next) {
+ if (!strcmp(t->type, fstype))
+ return 1;
+ }
+ return 0;
+}
+
+static void
+set_tested(const char *fstype) {
+ struct tried *t = xmalloc(sizeof(struct tried));
+
+ t->next = tried;
+ t->type = xstrdup(fstype);
+ tried = t;
+}
+
+static void
+free_tested(void) {
+ struct tried *t, *tt;
+
+ t = tried;
+ while(t) {
+ free(t->type);
+ tt = t->next;
+ free(t);
+ t = tt;
+ }
+ tried = NULL;
+}
+
+static char *
+procfsnext(FILE *procfs) {
+ char line[100];
+ char fsname[100];
+
+ while (fgets(line, sizeof(line), procfs)) {
+ if (sscanf (line, "nodev %[^#\n]\n", fsname) == 1) continue;
+ if (sscanf (line, " %[^# \n]\n", fsname) != 1) continue;
+ return xstrdup(fsname);
+ }
+ return 0;
+}
+
+/* Only use /proc/filesystems here, this is meant to test what
+ the kernel knows about, so /etc/filesystems is irrelevant.
+ Return: 1: yes, 0: no, -1: cannot open procfs */
+static int
+known_fstype_in_procfs(const char *type)
+{
+ FILE *procfs;
+ char *fsname;
+ int ret = -1;
+
+ procfs = fopen(_PATH_PROC_FILESYSTEMS, "r");
+ if (procfs) {
+ ret = 0;
+ while ((fsname = procfsnext(procfs)) != NULL)
+ if (!strcmp(fsname, type)) {
+ ret = 1;
+ break;
+ }
+ fclose(procfs);
+ procfs = NULL;
+ }
+ return ret;
+}
+
+/* Try all types in FILESYSTEMS, except those in *types,
+ in case *types starts with "no" */
+/* return: 0: OK, -1: error in errno, 1: type not found */
+/* when 0 or -1 is returned, *types contains the type used */
+/* when 1 is returned, *types is NULL */
+static int
+procfsloop_mount(int (*mount_fn)(struct mountargs *, int *, int *),
+ struct mountargs *args,
+ const char **types,
+ int *special, int *status)
+{
+ char *files[2] = { _PATH_FILESYSTEMS, _PATH_PROC_FILESYSTEMS };
+ FILE *procfs;
+ char *fsname;
+ const char *notypes = NULL;
+ int no = 0;
+ int ret = 1;
+ int errsv = 0;
+ int i;
+
+ if (*types && !strncmp(*types, "no", 2)) {
+ no = 1;
+ notypes = (*types) + 2;
+ }
+ *types = NULL;
+
+ /* Use _PATH_PROC_FILESYSTEMS only when _PATH_FILESYSTEMS
+ * (/etc/filesystems) does not exist. In some cases trying a
+ * filesystem that the kernel knows about on the wrong data will crash
+ * the kernel; in such cases _PATH_FILESYSTEMS can be used to list the
+ * filesystems that we are allowed to try, and in the order they should
+ * be tried. End _PATH_FILESYSTEMS with a line containing a single '*'
+ * only, if _PATH_PROC_FILESYSTEMS should be tried afterwards.
+ */
+ for (i=0; i<2; i++) {
+ procfs = fopen(files[i], "r");
+ if (!procfs)
+ continue;
+ while ((fsname = procfsnext(procfs)) != NULL) {
+ if (!strcmp(fsname, "*")) {
+ fclose(procfs);
+ goto nexti;
+ }
+ if (was_tested (fsname))
+ continue;
+ if (no && matching_type(fsname, notypes))
+ continue;
+ set_tested (fsname);
+ args->type = fsname;
+ if (verbose)
+ printf(_("Trying %s\n"), fsname);
+ if ((*mount_fn) (args, special, status) == 0) {
+ *types = fsname;
+ ret = 0;
+ break;
+ } else if (errno != EINVAL &&
+ known_fstype_in_procfs(fsname) == 1) {
+ *types = "guess";
+ ret = -1;
+ errsv = errno;
+ break;
+ }
+ }
+ free_tested();
+ fclose(procfs);
+ errno = errsv;
+ return ret;
+ nexti:;
+ }
+ return 1;
+}
+
+static const char *
+guess_fstype_by_devname(const char *devname, int *ambivalent)
+{
+ const char *type = fsprobe_get_fstype_by_devname_ambi(devname, ambivalent);
+
+ if (verbose) {
+ printf (_("mount: you didn't specify a filesystem type for %s\n"), devname);
+
+ if (!type)
+ printf (_(" I will try all types mentioned in %s or %s\n"),
+ _PATH_FILESYSTEMS, _PATH_PROC_FILESYSTEMS);
+ else if (!strcmp(type, MNTTYPE_SWAP))
+ printf (_(" and it looks like this is swapspace\n"));
+ else
+ printf (_(" I will try type %s\n"), type);
+ }
+ return type;
+}
+
+/*
+ * guess_fstype_and_mount()
+ * Mount a single file system. Guess the type when unknown.
+ * returns: 0: OK, -1: error in errno, 1: other error
+ * don't exit on non-fatal errors.
+ * on return types is filled with the type used.
+ */
+static int
+guess_fstype_and_mount(const char *spec, const char *node, const char **types,
+ int flags, char *mount_opts, int *special, int *status) {
+ struct mountargs args = { spec, node, NULL, flags & ~MS_NOSYS, mount_opts };
+ int ambivalent = 0;
+
+ if (*types && strcasecmp (*types, "auto") == 0)
+ *types = NULL;
+
+ if (!*types && !(flags & MS_REMOUNT)) {
+ *types = guess_fstype_by_devname(spec, &ambivalent);
+ if (*types) {
+ if (!strcmp(*types, MNTTYPE_SWAP)) {
+ error(_("%s looks like swapspace - not mounted"), spec);
+ *types = NULL;
+ return 1;
+ } else {
+ args.type = *types;
+ return do_mount (&args, special, status);
+ }
+ } else if (ambivalent) {
+ error(_("mount: %s: more filesystems detected. This should not happen,\n"
+ " use -t <type> to explicitly specify the filesystem type or\n"
+ " use wipefs(8) to clean up the device.\n"), spec);
+ return 1;
+ }
+ }
+
+ /* Accept a comma-separated list of types, and try them one by one */
+ /* A list like "nonfs,.." indicates types not to use */
+ if (*types && strncmp(*types, "no", 2) && strchr(*types,',')) {
+ char *t = strdup(*types);
+ char *p;
+
+ while((p = strchr(t,',')) != NULL) {
+ *p = 0;
+ args.type = *types = t;
+ if (do_mount (&args, special, status) == 0)
+ return 0;
+ t = p+1;
+ }
+ /* do last type below */
+ *types = t;
+ }
+
+ if (*types || (flags & MS_REMOUNT)) {
+ args.type = *types;
+ return do_mount (&args, special, status);
+ }
+
+ return procfsloop_mount(do_mount, &args, types, special, status);
+}
+
+/*
+ * restricted_check()
+ * Die if the user is not allowed to do this.
+ */
+static void
+restricted_check(const char *spec, const char *node, int *flags, char **user) {
+ if (restricted) {
+ /*
+ * MS_OWNER: Allow owners to mount when fstab contains
+ * the owner option. Note that this should never be used
+ * in a high security environment, but may be useful to give
+ * people at the console the possibility of mounting a floppy.
+ * MS_GROUP: Allow members of device group to mount. (Martin Dickopp)
+ */
+ if (*flags & (MS_OWNER | MS_GROUP)) {
+ struct stat sb;
+
+ if (!strncmp(spec, "/dev/", 5) && stat(spec, &sb) == 0) {
+
+ if (*flags & MS_OWNER) {
+ if (getuid() == sb.st_uid)
+ *flags |= MS_USER;
+ }
+
+ if (*flags & MS_GROUP) {
+ if (getgid() == sb.st_gid)
+ *flags |= MS_USER;
+ else {
+ int n = getgroups(0, NULL);
+
+ if (n > 0) {
+ gid_t *groups = xmalloc(n * sizeof(*groups));
+ if (getgroups(n, groups) == n) {
+ int i;
+ for (i = 0; i < n; i++) {
+ if (groups[i] == sb.st_gid) {
+ *flags |= MS_USER;
+ break;
+ }
+ }
+ }
+ free(groups);
+ }
+ }
+ }
+ }
+ }
+
+ /* James Kehl <mkehl@gil.com.au> came with a similar patch:
+ allow an arbitrary user to mount when he is the owner of
+ the mount-point and has write-access to the device.
+ This is even less secure. Let me skip it for the time being;
+ there should be an explicit fstab line allowing such things. */
+
+ if (!(*flags & (MS_USER | MS_USERS))) {
+ if (already (spec, node))
+ die (EX_USAGE, _("mount failed"));
+ else
+ die (EX_USAGE, _("mount: only root can mount %s on %s"), spec, node);
+ }
+ if (*flags & MS_USER)
+ *user = getusername();
+ }
+
+ *flags &= ~(MS_OWNER | MS_GROUP);
+}
+
+/* Check, if there already exists a mounted loop device on the mountpoint node
+ * with the same parameters.
+ */
+static int
+is_mounted_same_loopfile(const char *node0, const char *loopfile, unsigned long long offset)
+{
+ struct mntentchn *mnt = NULL;
+ char *node;
+ int res = 0;
+
+ node = canonicalize(node0);
+
+ /* Search for mountpoint node in mtab,
+ * procceed if any of these has the loop option set or
+ * the device is a loop device
+ */
+ mnt = getmntdirbackward(node, mnt);
+ if (!mnt) {
+ free(node);
+ return 0;
+ }
+ for(; mnt && res == 0; mnt = getmntdirbackward(node, mnt)) {
+ char *p;
+
+ if (strncmp(mnt->m.mnt_fsname, "/dev/loop", 9) == 0)
+ res = loopdev_is_used((char *) mnt->m.mnt_fsname,
+ loopfile, offset, LOOPDEV_FL_OFFSET);
+
+ else if (mnt->m.mnt_opts &&
+ (p = strstr(mnt->m.mnt_opts, "loop=")))
+ {
+ char *dev = xstrdup(p+5);
+ if ((p = strchr(dev, ',')))
+ *p = '\0';
+ res = loopdev_is_used(dev,
+ loopfile, offset, LOOPDEV_FL_OFFSET);
+ free(dev);
+ }
+ }
+
+ free(node);
+ return res;
+}
+
+static int
+parse_offset(const char **opt, uintmax_t *val)
+{
+ char *tmp;
+
+ if (strtosize(*opt, val))
+ return -1;
+
+ tmp = xmalloc(32);
+ snprintf(tmp, 32, "%jd", *val);
+ my_free(*opt);
+ *opt = tmp;
+ return 0;
+}
+
+static int
+loop_check(const char **spec, const char **type, int *flags,
+ int *loop, const char **loopdev, const char **loopfile,
+ const char *node) {
+ int looptype;
+ uintmax_t offset = 0, sizelimit = 0;
+ struct loopdev_cxt lc;
+ char *pwd = NULL;
+ int ret = EX_FAIL;
+
+ /*
+ * In the case of a loop mount, either type is of the form lo@/dev/loop5
+ * or the option "-o loop=/dev/loop5" or just "-o loop" is given, or
+ * mount just has to figure things out for itself from the fact that
+ * spec is not a block device. We do not test for a block device
+ * immediately: maybe later other types of mountable objects will occur.
+ */
+
+ *loopdev = opt_loopdev;
+
+ looptype = (*type && strncmp("lo@", *type, 3) == 0);
+ if (looptype) {
+ if (*loopdev)
+ error(_("mount: loop device specified twice"));
+ *loopdev = *type + 3;
+ *type = opt_vfstype;
+ } else if (opt_vfstype) {
+ if (*type)
+ error(_("mount: type specified twice"));
+ else
+ *type = opt_vfstype;
+ }
+
+ *loop = ((*flags & MS_LOOP) || *loopdev || opt_offset || opt_sizelimit || opt_encryption);
+ *loopfile = *spec;
+
+ /* Automatically create a loop device from a regular file if a filesystem
+ * is not specified or the filesystem is known for libblkid (these
+ * filesystems work with block devices only).
+ *
+ * Note that there is not a restriction (on kernel side) that prevents regular
+ * file as a mount(2) source argument. A filesystem that is able to mount
+ * regular files could be implemented.
+ */
+ if (!*loop && !(*flags & (MS_BIND | MS_MOVE | MS_PROPAGATION)) &&
+ (!*type || strcmp(*type, "auto") == 0 || fsprobe_known_fstype(*type))) {
+
+ struct stat st;
+ if (stat(*loopfile, &st) == 0)
+ *loop = S_ISREG(st.st_mode);
+ }
+
+ if (*loop) {
+ *flags |= MS_LOOP;
+ if (fake) {
+ if (verbose)
+ printf(_("mount: skipping the setup of a loop device\n"));
+ } else {
+ int loop_opts = 0;
+
+ /* since 2.6.37 we don't have to store backing filename to mtab
+ * because kernel provides the name in /sys
+ */
+ if (get_linux_version() >= KERNEL_VERSION(2, 6, 37) ||
+ mtab_is_writable() == 0) {
+
+ if (verbose)
+ printf(_("mount: enabling autoclear loopdev flag\n"));
+ loop_opts = LO_FLAGS_AUTOCLEAR;
+ }
+
+ if (*flags & MS_RDONLY)
+ loop_opts |= LO_FLAGS_READ_ONLY;
+
+ if (opt_offset && parse_offset(&opt_offset, &offset)) {
+ error(_("mount: invalid offset '%s' specified"), opt_offset);
+ return EX_FAIL;
+ }
+ if (opt_sizelimit && parse_offset(&opt_sizelimit, &sizelimit)) {
+ error(_("mount: invalid sizelimit '%s' specified"), opt_sizelimit);
+ return EX_FAIL;
+ }
+
+ if (is_mounted_same_loopfile(node, *loopfile, offset)) {
+ error(_("mount: according to mtab %s is already mounted on %s as loop"), *loopfile, node);
+ return EX_FAIL;
+ }
+
+ if (opt_encryption) {
+#ifdef MCL_FUTURE
+ if (mlockall(MCL_CURRENT | MCL_FUTURE)) {
+ error(_("mount: couldn't lock into memory"));
+ return EX_FAIL;
+ }
+#endif
+ pwd = xgetpass(pfd, _("Password: "));
+ }
+
+ loopcxt_init(&lc, 0);
+ /*loopcxt_enable_debug(&lc, 1);*/
+
+ if (*loopdev && **loopdev)
+ loopcxt_set_device(&lc, *loopdev); /* use loop=<devname> */
+
+ do {
+ int rc;
+
+ if ((!*loopdev || !**loopdev) && loopcxt_find_unused(&lc) == 0)
+ *loopdev = loopcxt_strdup_device(&lc);
+
+ if (!*loopdev) {
+ error(_("mount: failed to found free loop device"));
+ loopcxt_deinit(&lc);
+ goto err; /* no more loop devices */
+ }
+ if (verbose)
+ printf(_("mount: going to use the loop device %s\n"), *loopdev);
+
+ rc = loopcxt_set_backing_file(&lc, *loopfile);
+
+ if (!rc && offset)
+ rc = loopcxt_set_offset(&lc, offset);
+ if (!rc && sizelimit)
+ rc = loopcxt_set_sizelimit(&lc, sizelimit);
+ if (!rc && opt_encryption && pwd)
+ loopcxt_set_encryption(&lc, opt_encryption, pwd);
+ if (!rc)
+ loopcxt_set_flags(&lc, loop_opts);
+
+ if (rc) {
+ error(_("mount: %s: failed to set loopdev attributes"), *loopdev);
+ loopcxt_deinit(&lc);
+ goto err;
+ }
+
+ /* setup the device */
+ rc = loopcxt_setup_device(&lc);
+ if (!rc)
+ break; /* success */
+
+ if (rc != -EBUSY) {
+ error(_("mount: %s: failed setting up loop device: %m"), *loopfile);
+ if (!opt_loopdev) {
+ my_free(*loopdev);
+ *loopdev = NULL;
+ }
+ loopcxt_deinit(&lc);
+ goto err;
+ }
+
+ if (!opt_loopdev) {
+ if (verbose)
+ printf(_("mount: stolen loop=%s ...trying again\n"), *loopdev);
+ my_free(*loopdev);
+ *loopdev = NULL;
+ continue;
+ }
+ error(_("mount: stolen loop=%s"), *loopdev);
+ loopcxt_deinit(&lc);
+ goto err;
+
+ } while (!*loopdev);
+
+ if (verbose > 1)
+ printf(_("mount: setup loop device successfully\n"));
+ *spec = *loopdev;
+
+ if (loopcxt_is_readonly(&lc))
+ *flags |= MS_RDONLY;
+
+ if (loopcxt_is_autoclear(&lc))
+ /* Prevent recording loop dev in mtab for cleanup on umount */
+ *loop = 0;
+
+ /* We have to keep the device open until mount(2), otherwise it will
+ * be auto-cleared by kernel (because LO_FLAGS_AUTOCLEAR) */
+ loopcxt_set_fd(&lc, -1, 0);
+ loopcxt_deinit(&lc);
+ }
+ }
+
+ ret = 0;
+err:
+ if (pwd) {
+ char *p = pwd;
+ while (*p)
+ *p++ = '\0';
+ free(pwd);
+ }
+ return ret;
+}
+
+
+static void
+update_mtab_entry(const char *spec, const char *node, const char *type,
+ const char *opts, int flags, int freq, int pass) {
+ struct my_mntent mnt;
+
+ mnt.mnt_fsname = is_pseudo_fs(type) ? xstrdup(spec) : canonicalize(spec);
+ mnt.mnt_dir = canonicalize (node);
+ mnt.mnt_type = type;
+ mnt.mnt_opts = opts;
+ mnt.mnt_freq = freq;
+ mnt.mnt_passno = pass;
+
+ /* We get chatty now rather than after the update to mtab since the
+ mount succeeded, even if the write to /etc/mtab should fail. */
+ if (verbose)
+ print_one (&mnt);
+
+ if (!nomtab && mtab_does_not_exist()) {
+ if (verbose > 1)
+ printf(_("mount: no %s found - creating it..\n"),
+ _PATH_MOUNTED);
+ create_mtab ();
+
+ }
+
+ if (!nomtab && mtab_is_writable()) {
+ if (flags & MS_REMOUNT)
+ update_mtab (mnt.mnt_dir, &mnt);
+ else if (flags & MS_MOVE)
+ update_mtab(mnt.mnt_fsname, &mnt);
+ else
+ update_mtab(NULL, &mnt);
+ }
+ my_free(mnt.mnt_fsname);
+ my_free(mnt.mnt_dir);
+}
+
+static void
+set_pfd(char *s) {
+ if (!isdigit(*s))
+ die(EX_USAGE,
+ _("mount: argument to -p or --pass-fd must be a number"));
+ pfd = atoi(optarg);
+}
+
+static void
+cdrom_setspeed(const char *spec) {
+#define CDROM_SELECT_SPEED 0x5322 /* Set the CD-ROM speed */
+ if (opt_speed) {
+ int cdrom;
+ int speed = atoi(opt_speed);
+
+ if ((cdrom = open(spec, O_RDONLY | O_NONBLOCK)) < 0)
+ die(EX_FAIL,
+ _("mount: cannot open %s for setting speed"),
+ spec);
+ if (ioctl(cdrom, CDROM_SELECT_SPEED, speed) < 0)
+ die(EX_FAIL, _("mount: cannot set speed: %m"));
+ close(cdrom);
+ }
+}
+
+/*
+ * Check if @path is on read-only filesystem independently on file permissions.
+ */
+static int
+is_readonly(const char *path)
+{
+ if (access(path, W_OK) == 0)
+ return 0;
+ if (errno == EROFS)
+ return 1;
+ if (errno != EACCES)
+ return 0;
+
+#ifdef HAVE_FUTIMENS
+ /*
+ * access(2) returns EACCES on read-only FS:
+ *
+ * - for set-uid application if one component of the path is not
+ * accessible for the current rUID. (Note that euidaccess(2) does not
+ * check for EROFS at all).
+ *
+ * - for read-write filesystem with read-only VFS node (aka -o remount,ro,bind)
+ */
+ {
+ struct timespec times[2];
+
+ times[0].tv_nsec = UTIME_NOW; /* atime */
+ times[1].tv_nsec = UTIME_OMIT; /* mtime */
+
+ if (utimensat(AT_FDCWD, path, times, 0) == -1)
+ return errno == EROFS;
+ }
+#endif
+ return 0;
+}
+
+/*
+ * try_mount_one()
+ * Try to mount one file system.
+ *
+ * returns: 0: OK, EX_SYSERR, EX_FAIL, return code from nfsmount,
+ * return status from wait
+ */
+static int
+try_mount_one (const char *spec0, const char *node0, const char *types0,
+ const char *opts0, int freq, int pass, int ro) {
+ int res = 0, status = 0, special = 0;
+ int mnt5_res = 0; /* only for gcc */
+ int mnt_err;
+ int flags;
+ char *extra_opts; /* written in mtab */
+ char *mount_opts; /* actually used on system call */
+ const char *opts, *spec, *node, *types;
+ char *user = 0;
+ int loop = 0;
+ const char *loopdev = 0, *loopfile = 0;
+ struct stat statbuf;
+
+ /* copies for freeing on exit */
+ const char *opts1, *spec1, *node1, *types1;
+
+ if (verbose > 2) {
+ printf("mount: spec: \"%s\"\n", spec0);
+ printf("mount: node: \"%s\"\n", node0);
+ printf("mount: types: \"%s\"\n", types0);
+ printf("mount: opts: \"%s\"\n", opts0);
+ }
+
+ spec = spec1 = xstrdup(spec0);
+ node = node1 = xstrdup(node0);
+ types = types1 = xstrdup(types0);
+ opts = opts1 = xstrdup(opts0);
+
+ parse_opts (opts, &flags, &extra_opts);
+ mount_opts = xstrdup(extra_opts);
+
+ /* quietly succeed for fstab entries that don't get mounted automatically */
+ if (mount_all && (flags & MS_NOAUTO))
+ goto out;
+
+ restricted_check(spec, node, &flags, &user);
+
+ /* The "mount -f" checks for for existing record in /etc/mtab (with
+ * regular non-fake mount this is usually done by kernel)
+ */
+ if (!(flags & MS_REMOUNT) && fake && mounted (spec, node, NULL))
+ die(EX_USAGE, _("mount: according to mtab, "
+ "%s is already mounted on %s\n"),
+ spec, node);
+
+ if (opt_speed)
+ cdrom_setspeed(spec);
+
+ if (!(flags & MS_REMOUNT)) {
+ /*
+ * Don't set up a (new) loop device if we only remount - this left
+ * stale assignments of files to loop devices. Nasty when used for
+ * encryption.
+ */
+ res = loop_check(&spec, &types, &flags, &loop, &loopdev, &loopfile, node);
+ if (res)
+ goto out;
+ }
+
+ if (loop)
+ opt_loopdev = loopdev;
+
+ if (flags & (MS_BIND | MS_MOVE | MS_PROPAGATION))
+ types = "none";
+
+#ifdef HAVE_LIBSELINUX
+ if (flags & MS_REMOUNT) {
+ /*
+ * Linux kernel does not accept any selinux context option on remount
+ */
+ if (mount_opts) {
+ char *tmp = mount_opts;
+ mount_opts = remove_context_options(mount_opts);
+ my_free(tmp);
+ }
+
+ } else if (types && strcmp(types, "tmpfs") == 0 && is_selinux_enabled() > 0 &&
+ !has_context_option(mount_opts)) {
+ /*
+ * Add rootcontext= mount option for tmpfs
+ * https://bugzilla.redhat.com/show_bug.cgi?id=476964
+ */
+ security_context_t sc = NULL;
+
+ if (getfilecon(node, &sc) > 0 && strcmp("unlabeled", sc))
+ append_context("rootcontext=", (char *) sc, &mount_opts);
+ freecon(sc);
+ }
+#endif
+
+ /*
+ * Call mount.TYPE for types that require a separate mount program.
+ * For the moment these types are ncpfs and smbfs. Maybe also vxfs.
+ * All such special things must occur isolated in the types string.
+ */
+ if (check_special_mountprog(spec, node, types, flags, mount_opts, &status)) {
+ res = status;
+ goto out;
+ }
+
+ block_signals (SIG_BLOCK);
+
+ if (!fake) {
+ mnt5_res = guess_fstype_and_mount (spec, node, &types, flags & ~MS_NOSYS,
+ mount_opts, &special, &status);
+
+ if (special) {
+ block_signals (SIG_UNBLOCK);
+ res = status;
+ goto out;
+ }
+ }
+
+ /* Kernel allows to use MS_RDONLY for bind mounts, but the read-only request
+ * could be silently ignored. Check it to avoid 'ro' in mtab and 'rw' in
+ * /proc/mounts.
+ */
+ if (!fake && mnt5_res == 0 &&
+ (flags & MS_BIND) && (flags & MS_RDONLY) && !is_readonly(node)) {
+
+ printf(_("mount: warning: %s seems to be mounted read-write.\n"), node);
+ flags &= ~MS_RDONLY;
+ }
+
+ /* Kernel can silently add MS_RDONLY flag when mounting file system that
+ * does not have write support. Check this to avoid 'ro' in /proc/mounts
+ * and 'rw' in mtab.
+ */
+ if (!fake && mnt5_res == 0 &&
+ !(flags & (MS_RDONLY | MS_PROPAGATION | MS_MOVE)) &&
+ is_readonly(node)) {
+
+ printf(_("mount: warning: %s seems to be mounted read-only.\n"), node);
+ flags |= MS_RDONLY;
+ }
+
+ if (fake || mnt5_res == 0) {
+ char *mo = fix_opts_string (flags & ~MS_NOMTAB, extra_opts, user, 0);
+ const char *tp = types ? types : "unknown";
+
+ /* Mount succeeded, report this (if verbose) and write mtab entry. */
+ if (!(mounttype & MS_PROPAGATION))
+ update_mtab_entry(loop ? loopfile : spec,
+ node,
+ tp,
+ mo,
+ flags,
+ freq,
+ pass);
+
+ block_signals (SIG_UNBLOCK);
+ free(mo);
+
+ res = 0;
+ goto out;
+ }
+
+ mnt_err = errno;
+
+ if (loop)
+ loopdev_delete(spec);
+
+ block_signals (SIG_UNBLOCK);
+
+ /* Mount failed, complain, but don't die. */
+
+ if (types == 0) {
+ if (restricted)
+ error (_("mount: I could not determine the filesystem type, "
+ "and none was specified"));
+ else
+ error (_("mount: you must specify the filesystem type"));
+ } else if (mnt5_res != -1) {
+ /* should not happen */
+ error (_("mount: mount failed"));
+ } else {
+ switch (mnt_err) {
+ case EPERM:
+ if (geteuid() == 0) {
+ if (stat (node, &statbuf) || !S_ISDIR(statbuf.st_mode))
+ error (_("mount: mount point %s is not a directory"), node);
+ else
+ error (_("mount: permission denied"));
+ } else
+ error (_("mount: must be superuser to use mount"));
+ break;
+ case EBUSY:
+ if (flags & MS_REMOUNT) {
+ error (_("mount: %s is busy"), node);
+ } else if (!strcmp(types, "proc") && !strcmp(node, "/proc")) {
+ /* heuristic: if /proc/version exists, then probably proc is mounted */
+ if (stat ("/proc/version", &statbuf)) /* proc mounted? */
+ error (_("mount: %s is busy"), node); /* no */
+ else if (!mount_all || verbose) /* yes, don't mention it */
+ error (_("mount: proc already mounted"));
+ } else {
+ error (_("mount: %s already mounted or %s busy"), spec, node);
+ already (spec, node);
+ }
+ break;
+ case ENOENT:
+ if (lstat (node, &statbuf))
+ error (_("mount: mount point %s does not exist"), node);
+ else if (stat (node, &statbuf))
+ error (_("mount: mount point %s is a symbolic link to nowhere"),
+ node);
+ else if (stat (spec, &statbuf)) {
+ if (opt_nofail)
+ goto out;
+ error (_("mount: special device %s does not exist"), spec);
+ } else {
+ errno = mnt_err;
+ perror("mount");
+ }
+ break;
+ case ENOTDIR:
+ if (stat (node, &statbuf) || ! S_ISDIR(statbuf.st_mode))
+ error (_("mount: mount point %s is not a directory"), node);
+ else if (stat (spec, &statbuf) && errno == ENOTDIR) {
+ if (opt_nofail)
+ goto out;
+ error (_("mount: special device %s does not exist\n"
+ " (a path prefix is not a directory)\n"), spec);
+ } else {
+ errno = mnt_err;
+ perror("mount");
+ }
+ break;
+ case EINVAL:
+ { int fd;
+ unsigned long long size = 0;
+
+ if (flags & MS_REMOUNT) {
+ error (_("mount: %s not mounted or bad option"), node);
+ } else {
+ error (_("mount: wrong fs type, bad option, bad superblock on %s,\n"
+ " missing codepage or helper program, or other error"),
+ spec);
+
+ if (stat(spec, &statbuf) < 0) {
+ if (errno == ENOENT) /* network FS? */
+ error(_(
+ " (for several filesystems (e.g. nfs, cifs) you might\n"
+ " need a /sbin/mount.<type> helper program)"));
+
+ } else if (S_ISBLK(statbuf.st_mode)
+ && (fd = open(spec, O_RDONLY | O_NONBLOCK)) >= 0) {
+
+ if (blkdev_get_size(fd, &size) == 0) {
+ if (size == 0 && !loop)
+ error(_(
+ " (could this be the IDE device where you in fact use\n"
+ " ide-scsi so that sr0 or sda or so is needed?)"));
+
+ if (size && size <= 2)
+ error(_(
+ " (aren't you trying to mount an extended partition,\n"
+ " instead of some logical partition inside?)"));
+
+ close(fd);
+ }
+ }
+ error(_(
+ " In some cases useful info is found in syslog - try\n"
+ " dmesg | tail or so\n"));
+ }
+ break;
+ }
+ case EMFILE:
+ error (_("mount table full")); break;
+ case EIO:
+ error (_("mount: %s: can't read superblock"), spec); break;
+ case ENODEV:
+ {
+ int pfs = known_fstype_in_procfs(types);
+
+ if (pfs == 1 || !strcmp(types, "guess"))
+ error(_("mount: %s: unknown device"), spec);
+ else if (pfs == 0) {
+ char *lowtype, *p;
+ int u;
+
+ error (_("mount: unknown filesystem type '%s'"), types);
+
+ /* maybe this loser asked for FAT or ISO9660 or isofs */
+ lowtype = xstrdup(types);
+ u = 0;
+ for(p=lowtype; *p; p++) {
+ if(tolower(*p) != *p) {
+ *p = tolower(*p);
+ u++;
+ }
+ }
+ if (u && known_fstype_in_procfs(lowtype) == 1)
+ error (_("mount: probably you meant %s"), lowtype);
+ else if (!strncmp(lowtype, "iso", 3) &&
+ known_fstype_in_procfs("iso9660") == 1)
+ error (_("mount: maybe you meant 'iso9660'?"));
+ else if (!strncmp(lowtype, "fat", 3) &&
+ known_fstype_in_procfs("vfat") == 1)
+ error (_("mount: maybe you meant 'vfat'?"));
+ free(lowtype);
+ } else
+ error (_("mount: %s has wrong device number or fs type %s not supported"),
+ spec, types);
+ break;
+ }
+ case ENOTBLK:
+ if (opt_nofail)
+ goto out;
+ if (stat (spec, &statbuf)) /* strange ... */
+ error (_("mount: %s is not a block device, and stat fails?"), spec);
+ else if (S_ISBLK(statbuf.st_mode))
+ error (_("mount: the kernel does not recognize %s as a block device\n"
+ " (maybe `modprobe driver'?)"), spec);
+ else if (S_ISREG(statbuf.st_mode))
+ error (_("mount: %s is not a block device (maybe try `-o loop'?)"),
+ spec);
+ else
+ error (_("mount: %s is not a block device"), spec);
+ break;
+ case ENXIO:
+ if (opt_nofail)
+ goto out;
+ error (_("mount: %s is not a valid block device"), spec); break;
+ case EACCES: /* pre-linux 1.1.38, 1.1.41 and later */
+ case EROFS: /* linux 1.1.38 and later */
+ { char *bd = (loop ? "" : _("block device "));
+ if (ro || (flags & MS_RDONLY)) {
+ error (_("mount: cannot mount %s%s read-only"),
+ bd, spec);
+ break;
+ } else if (readwrite) {
+ error (_("mount: %s%s is write-protected but explicit `-w' flag given"),
+ bd, spec);
+ break;
+ } else if (flags & MS_REMOUNT) {
+ error (_("mount: cannot remount %s%s read-write, is write-protected"),
+ bd, spec);
+ break;
+ } else {
+ opts = opts0;
+ types = types0;
+
+ if (opts) {
+ char *opts2 = append_opt(xstrdup(opts), "ro", NULL);
+ my_free(opts1);
+ opts = opts1 = opts2;
+ } else
+ opts = "ro";
+ if (types && !strcmp(types, "guess"))
+ types = 0;
+ error (_("mount: %s%s is write-protected, mounting read-only"),
+ bd, spec0);
+ res = try_mount_one (spec0, node0, types, opts, freq, pass, 1);
+ goto out;
+ }
+ break;
+ }
+ case ENOMEDIUM:
+ error(_("mount: no medium found on %s"), spec);
+ break;
+ default:
+ error ("mount: %s", strerror (mnt_err)); break;
+ }
+ }
+ res = EX_FAIL;
+
+ out:
+
+#if defined(HAVE_LIBSELINUX) && defined(HAVE_SECURITY_GET_INITIAL_CONTEXT)
+ if (res != EX_FAIL && verbose && is_selinux_enabled() > 0) {
+ security_context_t raw = NULL, def = NULL;
+
+ if (getfilecon(node, &raw) > 0 &&
+ security_get_initial_context("file", &def) == 0) {
+
+ if (!selinux_file_context_cmp(raw, def))
+ printf(_("mount: %s does not contain SELinux labels.\n"
+ " You just mounted an file system that supports labels which does not\n"
+ " contain labels, onto an SELinux box. It is likely that confined\n"
+ " applications will generate AVC messages and not be allowed access to\n"
+ " this file system. For more details see restorecon(8) and mount(8).\n"),
+ node);
+ }
+ freecon(raw);
+ freecon(def);
+ }
+#endif
+
+ my_free(mount_opts);
+ my_free(extra_opts);
+ my_free(spec1);
+ my_free(node1);
+ my_free(opts1);
+ my_free(types1);
+
+ return res;
+}
+
+static char *
+subst_string(const char *s, const char *sub, int sublen, const char *repl) {
+ char *n;
+
+ n = (char *) xmalloc(strlen(s)-sublen+strlen(repl)+1);
+ strncpy (n, s, sub-s);
+ strcpy (n + (sub-s), repl);
+ strcat (n, sub+sublen);
+ return n;
+}
+
+static char *
+usersubst(const char *opts) {
+ char *s, *w;
+ char id[40];
+
+ if (!opts)
+ return NULL;
+
+ s = "uid=useruid";
+ if (opts && (w = strstr(opts, s)) != NULL) {
+ sprintf(id, "uid=%u", getuid());
+ opts = subst_string(opts, w, strlen(s), id);
+ }
+ s = "gid=usergid";
+ if (opts && (w = strstr(opts, s)) != NULL) {
+ sprintf(id, "gid=%u", getgid());
+ opts = subst_string(opts, w, strlen(s), id);
+ }
+ return xstrdup(opts);
+}
+
+static int
+is_existing_file (const char *s) {
+ struct stat statbuf;
+
+ return (stat(s, &statbuf) == 0);
+}
+
+/*
+ * Return 0 for success (either mounted sth or -a and NOAUTO was given)
+ */
+static int
+mount_one (const char *spec, const char *node, const char *types,
+ const char *fstabopts, char *cmdlineopts, int freq, int pass) {
+ const char *nspec = NULL;
+ char *opts;
+
+ /* Substitute values in opts, if required */
+ opts = usersubst(fstabopts);
+
+ /* Merge the fstab and command line options. */
+ opts = append_opt(opts, cmdlineopts, NULL);
+
+ if (types == NULL && !mounttype && !is_existing_file(spec)) {
+ if (strchr (spec, ':') != NULL) {
+ types = "nfs";
+ if (verbose)
+ printf(_("mount: no type was given - "
+ "I'll assume nfs because of "
+ "the colon\n"));
+ } else if(!strncmp(spec, "//", 2)) {
+ types = "cifs";
+ if (verbose)
+ printf(_("mount: no type was given - "
+ "I'll assume cifs because of "
+ "the // prefix\n"));
+ }
+ }
+
+ /* Handle possible LABEL= and UUID= forms of spec */
+ if (types == NULL || (strncmp(types, "9p", 2) &&
+ strncmp(types, "nfs", 3) &&
+ strncmp(types, "cifs", 4) &&
+ strncmp(types, "smbfs", 5))) {
+ if (!is_pseudo_fs(types))
+ nspec = spec_to_devname(spec);
+ if (nspec)
+ spec = nspec;
+ }
+
+ return try_mount_one (spec, node, types, opts, freq, pass, 0);
+}
+
+static int
+mounted (const char *spec0, const char *node0,
+ struct mntentchn *fstab_mc __attribute__((__unused__))) {
+
+ struct mntentchn *mc, *mc0;
+ const char *spec, *node;
+ int ret = 0;
+
+ /* Handle possible UUID= and LABEL= in spec */
+ spec = spec_to_devname(spec0);
+ if (!spec)
+ return ret;
+
+ node = canonicalize(node0);
+
+
+ mc0 = mtab_head();
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt)
+ if (streq (spec, mc->m.mnt_fsname) &&
+ streq (node, mc->m.mnt_dir)) {
+ ret = 1;
+ break;
+ }
+
+ my_free(spec);
+ my_free(node);
+
+ return ret;
+}
+
+/* returns 0 if not mounted, 1 if mounted and -1 in case of error */
+static int
+is_fstab_entry_mounted(struct mntentchn *mc, int verbose)
+{
+ struct stat st;
+
+ if (mounted(mc->m.mnt_fsname, mc->m.mnt_dir, mc))
+ goto yes;
+
+ /* extra care for loop devices */
+ if ((mc->m.mnt_opts && strstr(mc->m.mnt_opts, "loop=")) ||
+ (stat(mc->m.mnt_fsname, &st) == 0 && S_ISREG(st.st_mode))) {
+
+ char *p = get_option_value(mc->m.mnt_opts, "offset=");
+ uintmax_t offset = 0;
+
+ if (p && strtosize(p, &offset) != 0) {
+ if (verbose)
+ printf(_("mount: ignore %s "
+ "(unparsable offset= option)\n"),
+ mc->m.mnt_fsname);
+ return -1;
+ }
+ free(p);
+ if (is_mounted_same_loopfile(mc->m.mnt_dir, mc->m.mnt_fsname, offset))
+ goto yes;
+ }
+
+ return 0;
+yes:
+ if (verbose)
+ printf(_("mount: %s already mounted on %s\n"),
+ mc->m.mnt_fsname, mc->m.mnt_dir);
+ return 1;
+}
+
+/* avoid using stat() on things we are not going to mount anyway.. */
+static int
+has_noauto (const char *opts) {
+ char *s;
+
+ if (!opts)
+ return 0;
+ s = strstr(opts, "noauto");
+ if (!s)
+ return 0;
+ return (s == opts || s[-1] == ',') && (s[6] == 0 || s[6] == ',');
+}
+
+/* Mount all filesystems of the specified types except swap and root. */
+/* With the --fork option: fork and let different incarnations of
+ mount handle different filesystems. However, try to avoid several
+ simultaneous mounts on the same physical disk, since that is very slow. */
+#define DISKMAJOR(m) (((int) m) & ~0xf)
+
+static int
+do_mount_all (char *types, char *options, char *test_opts) {
+ struct mntentchn *mc, *mc0, *mtmp;
+ int status = 0;
+ struct stat statbuf;
+ struct child {
+ pid_t pid;
+ char *group;
+ struct mntentchn *mec;
+ struct mntentchn *meclast;
+ struct child *nxt;
+ } childhead, *childtail, *cp;
+ char major[22];
+ char *g, *colon;
+
+ /* build a chain of what we have to do, or maybe
+ several chains, one for each major or NFS host */
+ childhead.nxt = 0;
+ childtail = &childhead;
+ mc0 = fstab_head();
+ for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt) {
+ if (has_noauto (mc->m.mnt_opts))
+ continue;
+ if (matching_type (mc->m.mnt_type, types)
+ && matching_opts (mc->m.mnt_opts, test_opts)
+ && !streq (mc->m.mnt_dir, "/")
+ && !streq (mc->m.mnt_dir, "root")
+ && !is_fstab_entry_mounted(mc, verbose)) {
+
+ mtmp = (struct mntentchn *) xmalloc(sizeof(*mtmp));
+ *mtmp = *mc;
+ mtmp->nxt = 0;
+ g = NULL;
+ if (optfork) {
+ if (stat(mc->m.mnt_fsname, &statbuf) == 0 &&
+ S_ISBLK(statbuf.st_mode)) {
+ sprintf(major, "#%x",
+ DISKMAJOR(statbuf.st_rdev));
+ g = major;
+ }
+ if (strcmp(mc->m.mnt_type, "nfs") == 0) {
+ g = xstrdup(mc->m.mnt_fsname);
+ colon = strchr(g, ':');
+ if (colon)
+ *colon = '\0';
+ }
+ }
+ if (g) {
+ for (cp = childhead.nxt; cp; cp = cp->nxt)
+ if (cp->group &&
+ strcmp(cp->group, g) == 0) {
+ cp->meclast->nxt = mtmp;
+ cp->meclast = mtmp;
+ goto fnd;
+ }
+ }
+ cp = (struct child *) xmalloc(sizeof *cp);
+ cp->nxt = 0;
+ cp->mec = cp->meclast = mtmp;
+ cp->group = xstrdup(g);
+ cp->pid = 0;
+ childtail->nxt = cp;
+ childtail = cp;
+ fnd:;
+
+ }
+ }
+
+ /* now do everything */
+ for (cp = childhead.nxt; cp; cp = cp->nxt) {
+ pid_t p = -1;
+ if (optfork) {
+ p = fork();
+ if (p == -1) {
+ int errsv = errno;
+ error(_("mount: cannot fork: %s"),
+ strerror (errsv));
+ }
+ else if (p != 0)
+ cp->pid = p;
+ }
+
+ /* if child, or not forked, do the mounting */
+ if (p == 0 || p == -1) {
+ for (mc = cp->mec; mc; mc = mc->nxt) {
+ status |= mount_one (mc->m.mnt_fsname,
+ mc->m.mnt_dir,
+ mc->m.mnt_type,
+ mc->m.mnt_opts,
+ options, 0, 0);
+ }
+ if (mountcount)
+ status |= EX_SOMEOK;
+ if (p == 0)
+ exit(status);
+ }
+ }
+
+ /* wait for children, if any */
+ while ((cp = childhead.nxt) != NULL) {
+ childhead.nxt = cp->nxt;
+ if (cp->pid) {
+ int ret;
+ keep_waiting:
+ if(waitpid(cp->pid, &ret, 0) == -1) {
+ if (errno == EINTR)
+ goto keep_waiting;
+ perror("waitpid");
+ } else if (WIFEXITED(ret))
+ status |= WEXITSTATUS(ret);
+ else
+ status |= EX_SYSERR;
+ }
+ }
+ if (mountcount)
+ status |= EX_SOMEOK;
+ return status;
+}
+
+static struct option longopts[] = {
+ { "all", 0, 0, 'a' },
+ { "fake", 0, 0, 'f' },
+ { "fork", 0, 0, 'F' },
+ { "help", 0, 0, 'h' },
+ { "no-mtab", 0, 0, 'n' },
+ { "read-only", 0, 0, 'r' },
+ { "ro", 0, 0, 'r' },
+ { "verbose", 0, 0, 'v' },
+ { "version", 0, 0, 'V' },
+ { "read-write", 0, 0, 'w' },
+ { "rw", 0, 0, 'w' },
+ { "options", 1, 0, 'o' },
+ { "test-opts", 1, 0, 'O' },
+ { "pass-fd", 1, 0, 'p' },
+ { "types", 1, 0, 't' },
+ { "bind", 0, 0, 'B' },
+ { "move", 0, 0, 'M' },
+ { "guess-fstype", 1, 0, 134 },
+ { "rbind", 0, 0, 'R' },
+ { "make-shared", 0, 0, 136 },
+ { "make-slave", 0, 0, 137 },
+ { "make-private", 0, 0, 138 },
+ { "make-unbindable", 0, 0, 139 },
+ { "make-rshared", 0, 0, 140 },
+ { "make-rslave", 0, 0, 141 },
+ { "make-rprivate", 0, 0, 142 },
+ { "make-runbindable", 0, 0, 143 },
+ { "no-canonicalize", 0, 0, 144 },
+ { "internal-only", 0, 0, 'i' },
+ { NULL, 0, 0, 0 }
+};
+
+/* Keep the usage message at max 22 lines, each at most 70 chars long.
+ The user should not need a pager to read it. */
+static void
+usage (FILE *fp, int n) {
+ fprintf(fp, _(
+ "Usage: mount -V : print version\n"
+ " mount -h : print this help\n"
+ " mount : list mounted filesystems\n"
+ " mount -l : idem, including volume labels\n"
+ "So far the informational part. Next the mounting.\n"
+ "The command is `mount [-t fstype] something somewhere'.\n"
+ "Details found in /etc/fstab may be omitted.\n"
+ " mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+ " mount device : mount device at the known place\n"
+ " mount directory : mount known device here\n"
+ " mount -t type dev dir : ordinary mount command\n"
+ "Note that one does not really mount a device, one mounts\n"
+ "a filesystem (of the given type) found on the device.\n"
+ "One can also mount an already visible directory tree elsewhere:\n"
+ " mount --bind olddir newdir\n"
+ "or move a subtree:\n"
+ " mount --move olddir newdir\n"
+ "One can change the type of mount containing the directory dir:\n"
+ " mount --make-shared dir\n"
+ " mount --make-slave dir\n"
+ " mount --make-private dir\n"
+ " mount --make-unbindable dir\n"
+ "One can change the type of all the mounts in a mount subtree\n"
+ "containing the directory dir:\n"
+ " mount --make-rshared dir\n"
+ " mount --make-rslave dir\n"
+ " mount --make-rprivate dir\n"
+ " mount --make-runbindable dir\n"
+ "A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+ "or by label, using -L label or by uuid, using -U uuid .\n"
+ "Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+ "For many more details, say man 8 mount .\n"
+ ));
+
+ unlock_mtab();
+ exit (n);
+}
+
+/* returns mount entry from fstab */
+static struct mntentchn *
+getfs(const char *spec, const char *uuid, const char *label)
+{
+ struct mntentchn *mc = NULL;
+ const char *devname = NULL;
+
+ if (!spec && !uuid && !label)
+ return NULL;
+
+ /*
+ * A) 99% of all cases, the spec on cmdline matches
+ * with spec in fstab
+ */
+ if (uuid)
+ mc = getfs_by_uuid(uuid);
+ else if (label)
+ mc = getfs_by_label(label);
+ else {
+ mc = getfs_by_dir(spec);
+
+ if (!mc)
+ mc = getfs_by_spec(spec);
+ }
+ if (mc)
+ return mc;
+
+ /*
+ * B) UUID or LABEL on cmdline, but devname in fstab
+ */
+ if (uuid)
+ devname = fsprobe_get_devname_by_uuid(uuid);
+ else if (label)
+ devname = fsprobe_get_devname_by_label(label);
+ else
+ devname = spec_to_devname(spec);
+
+ if (devname)
+ mc = getfs_by_devname(devname);
+
+ /*
+ * C) mixed
+ */
+ if (!mc && devname) {
+ const char *id = NULL;
+
+ if (!label && (!spec || strncmp(spec, "LABEL=", 6))) {
+ id = fsprobe_get_label_by_devname(devname);
+ if (id)
+ mc = getfs_by_label(id);
+ }
+ if (!mc && !uuid && (!spec || strncmp(spec, "UUID=", 5))) {
+ id = fsprobe_get_uuid_by_devname(devname);
+ if (id)
+ mc = getfs_by_uuid(id);
+ }
+ my_free(id);
+
+ if (mc) {
+ /* use real device name to avoid repetitional
+ * conversion from LABEL/UUID to devname
+ */
+ my_free(mc->m.mnt_fsname);
+ mc->m.mnt_fsname = xstrdup(devname);
+ }
+ }
+
+ /*
+ * D) remount -- try /etc/mtab
+ * Earlier mtab was tried first, but this would sometimes try the
+ * wrong mount in case mtab had the root device entry wrong. Try
+ * the last occurrence first, since that is the visible mount.
+ */
+ if (!mc && (devname || spec))
+ mc = getmntfilebackward (devname ? devname : spec, NULL);
+
+ my_free(devname);
+ return mc;
+}
+
+
+static void
+print_version(int rc) {
+ printf( "mount from %s (with "
+#ifdef HAVE_LIBBLKID
+ "libblkid"
+#else
+ "libvolume_id"
+#endif
+#ifdef HAVE_LIBSELINUX
+ " and selinux"
+#endif
+ " support)\n", PACKAGE_STRING);
+ exit(rc);
+}
+
+int
+main(int argc, char *argv[]) {
+ int c, result = 0, specseen;
+ char *options = NULL, *test_opts = NULL, *node;
+ const char *spec = NULL;
+ char *label = NULL;
+ char *uuid = NULL;
+ char *types = NULL;
+ char *p;
+ struct mntentchn *mc;
+ int fd;
+
+ sanitize_env();
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ progname = argv[0];
+ if ((p = strrchr(progname, '/')) != NULL)
+ progname = p+1;
+
+ umask(022);
+
+ /* People report that a mount called from init without console
+ writes error messages to /etc/mtab
+ Let us try to avoid getting fd's 0,1,2 */
+ while((fd = open("/dev/null", O_RDWR)) == 0 || fd == 1 || fd == 2) ;
+ if (fd > 2)
+ close(fd);
+
+ fsprobe_init();
+
+#ifdef DO_PS_FIDDLING
+ initproctitle(argc, argv);
+#endif
+
+ while ((c = getopt_long (argc, argv, "aBfFhilL:Mno:O:p:rRsU:vVwt:",
+ longopts, NULL)) != -1) {
+ switch (c) {
+ case 'a': /* mount everything in fstab */
+ ++mount_all;
+ break;
+ case 'B': /* bind */
+ mounttype = MS_BIND;
+ break;
+ case 'f': /* fake: don't actually call mount(2) */
+ ++fake;
+ break;
+ case 'F':
+ ++optfork;
+ break;
+ case 'h': /* help */
+ usage (stdout, 0);
+ break;
+ case 'i':
+ external_allowed = 0;
+ break;
+ case 'l':
+ list_with_volumelabel = 1;
+ break;
+ case 'L':
+ label = optarg;
+ break;
+ case 'M': /* move */
+ mounttype = MS_MOVE;
+ break;
+ case 'n': /* do not write /etc/mtab */
+ ++nomtab;
+ break;
+ case 'o': /* specify mount options */
+ options = append_opt(options, optarg, NULL);
+ break;
+ case 'O': /* with -t: mount only if (not) opt */
+ test_opts = append_opt(test_opts, optarg, NULL);
+ break;
+ case 'p': /* fd on which to read passwd */
+ set_pfd(optarg);
+ break;
+ case 'r': /* mount readonly */
+ readonly = 1;
+ readwrite = 0;
+ break;
+ case 'R': /* rbind */
+ mounttype = (MS_BIND | MS_REC);
+ break;
+ case 's': /* allow sloppy mount options */
+ sloppy = 1;
+ break;
+ case 't': /* specify file system types */
+ types = optarg;
+ break;
+ case 'U':
+ uuid = optarg;
+ break;
+ case 'v': /* be chatty - more so if repeated */
+ ++verbose;
+ break;
+ case 'V': /* version */
+ print_version(EXIT_SUCCESS);
+ break;
+ case 'w': /* mount read/write */
+ readwrite = 1;
+ readonly = 0;
+ break;
+ case 0:
+ break;
+
+ case 134:
+ /* undocumented, may go away again:
+ call: mount --guess-fstype device
+ use only for testing purposes -
+ the guessing is not reliable at all */
+ {
+ const char *fstype;
+ fstype = fsprobe_get_fstype_by_devname(optarg);
+ printf("%s\n", fstype ? fstype : "unknown");
+ exit(fstype ? 0 : EX_FAIL);
+ }
+
+ case 136:
+ mounttype = MS_SHARED;
+ break;
+
+ case 137:
+ mounttype = MS_SLAVE;
+ break;
+
+ case 138:
+ mounttype = MS_PRIVATE;
+ break;
+
+ case 139:
+ mounttype = MS_UNBINDABLE;
+ break;
+
+ case 140:
+ mounttype = (MS_SHARED | MS_REC);
+ break;
+
+ case 141:
+ mounttype = (MS_SLAVE | MS_REC);
+ break;
+
+ case 142:
+ mounttype = (MS_PRIVATE | MS_REC);
+ break;
+
+ case 143:
+ mounttype = (MS_UNBINDABLE | MS_REC);
+ break;
+ case 144:
+ nocanonicalize = 1;
+ break;
+ case '?':
+ default:
+ usage (stderr, EX_USAGE);
+ }
+ }
+
+ if (verbose > 2) {
+ printf("mount: fstab path: \"%s\"\n", _PATH_MNTTAB);
+ printf("mount: mtab path: \"%s\"\n", _PATH_MOUNTED);
+ printf("mount: lock path: \"%s\"\n", _PATH_MOUNTED_LOCK);
+ printf("mount: temp path: \"%s\"\n", _PATH_MOUNTED_TMP);
+ printf("mount: UID: %u\n", getuid());
+ printf("mount: eUID: %u\n", geteuid());
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ specseen = (uuid || label) ? 1 : 0; /* yes, .. i know */
+
+ if (argc+specseen == 0 && !mount_all) {
+ if (options || mounttype)
+ usage (stderr, EX_USAGE);
+ return print_all (types);
+ }
+
+ {
+ const uid_t ruid = getuid();
+ const uid_t euid = geteuid();
+
+ /* if we're really root and aren't running setuid */
+ if (((uid_t)0 == ruid) && (ruid == euid)) {
+ restricted = 0;
+ }
+
+ if (restricted &&
+ (types || options || readwrite || nomtab || mount_all ||
+ nocanonicalize || fake || mounttype ||
+ (argc + specseen) != 1)) {
+
+ if (ruid == 0 && euid != 0)
+ /* user is root, but setuid to non-root */
+ die (EX_USAGE, _("mount: only root can do that "
+ "(effective UID is %u)"), euid);
+
+ die (EX_USAGE, _("mount: only root can do that"));
+ }
+ }
+
+ atexit(unlock_mtab);
+
+ switch (argc+specseen) {
+ case 0:
+ /* mount -a */
+ result = do_mount_all (types, options, test_opts);
+ if (result == 0 && verbose && !fake)
+ error(_("nothing was mounted"));
+ break;
+
+ case 1:
+ /* mount [-nfrvw] [-o options] special | node
+ * mount -L label (or -U uuid)
+ * (/etc/fstab is necessary)
+ */
+ if (types != NULL)
+ usage (stderr, EX_USAGE);
+
+ if (uuid || label)
+ mc = getfs(NULL, uuid, label);
+ else
+ mc = getfs(*argv, NULL, NULL);
+
+ if (!mc) {
+ if (uuid || label)
+ die (EX_USAGE, _("mount: no such partition found"));
+
+ die (EX_USAGE,
+ _("mount: can't find %s in %s or %s"),
+ *argv, _PATH_MNTTAB, _PATH_MOUNTED);
+ }
+
+ result = mount_one (xstrdup (mc->m.mnt_fsname),
+ xstrdup (mc->m.mnt_dir),
+ xstrdup (mc->m.mnt_type),
+ mc->m.mnt_opts, options, 0, 0);
+ break;
+
+ case 2:
+ /* mount special node (/etc/fstab is not necessary) */
+ if (specseen) {
+ /* mount -L label node (or -U uuid) */
+ spec = uuid ? fsprobe_get_devname_by_uuid(uuid) :
+ fsprobe_get_devname_by_label(label);
+ node = argv[0];
+ } else {
+ /* mount special node */
+ spec = argv[0];
+ node = argv[1];
+ }
+ if (!spec)
+ die (EX_USAGE, _("mount: no such partition found"));
+
+ result = mount_one (spec, node, types, NULL, options, 0, 0);
+ break;
+
+ default:
+ usage (stderr, EX_USAGE);
+ }
+
+ if (result == EX_SOMEOK)
+ result = 0;
+
+ fsprobe_exit();
+
+ exit (result);
+}
diff --git a/mount-deprecated/mount_constants.h b/mount-deprecated/mount_constants.h
new file mode 100644
index 0000000..ce51887
--- /dev/null
+++ b/mount-deprecated/mount_constants.h
@@ -0,0 +1,73 @@
+#ifndef MS_RDONLY
+#define MS_RDONLY 1 /* Mount read-only */
+#endif
+#ifndef MS_NOSUID
+#define MS_NOSUID 2 /* Ignore suid and sgid bits */
+#endif
+#ifndef MS_NODEV
+#define MS_NODEV 4 /* Disallow access to device special files */
+#endif
+#ifndef MS_NOEXEC
+#define MS_NOEXEC 8 /* Disallow program execution */
+#endif
+#ifndef MS_SYNCHRONOUS
+#define MS_SYNCHRONOUS 16 /* Writes are synced at once */
+#endif
+#ifndef MS_REMOUNT
+#define MS_REMOUNT 32 /* Alter flags of a mounted FS */
+#endif
+#ifndef MS_MANDLOCK
+#define MS_MANDLOCK 64 /* Allow mandatory locks on an FS */
+#endif
+#ifndef MS_DIRSYNC
+#define MS_DIRSYNC 128 /* Directory modifications are synchronous */
+#endif
+#ifndef MS_NOATIME
+#define MS_NOATIME 0x400 /* 1024: Do not update access times. */
+#endif
+#ifndef MS_NODIRATIME
+#define MS_NODIRATIME 0x800 /* 2048: Don't update directory access times */
+#endif
+#ifndef MS_BIND
+#define MS_BIND 0x1000 /* 4096: Mount existing tree also elsewhere */
+#endif
+#ifndef MS_MOVE
+#define MS_MOVE 0x2000 /* 8192: Atomically move tree */
+#endif
+#ifndef MS_REC
+#define MS_REC 0x4000 /* 16384: Recursive loopback */
+#endif
+#ifndef MS_SILENT
+#define MS_SILENT 0x8000 /* 32768 (was MS_VERBOSE) */
+#endif
+#ifndef MS_RELATIME
+#define MS_RELATIME 0x200000 /* 200000: Update access times relative
+ to mtime/ctime */
+#endif
+#ifndef MS_UNBINDABLE
+#define MS_UNBINDABLE (1<<17) /* 131072 unbindable*/
+#endif
+#ifndef MS_PRIVATE
+#define MS_PRIVATE (1<<18) /* 262144 Private*/
+#endif
+#ifndef MS_SLAVE
+#define MS_SLAVE (1<<19) /* 524288 Slave*/
+#endif
+#ifndef MS_SHARED
+#define MS_SHARED (1<<20) /* 1048576 Shared*/
+#endif
+#ifndef MS_I_VERSION
+#define MS_I_VERSION (1<<23) /* update inode I_version field */
+#endif
+#ifndef MS_STRICTATIME
+#define MS_STRICTATIME (1<<24) /* strict atime semantics */
+#endif
+/*
+ * Magic mount flag number. Had to be or-ed to the flag values.
+ */
+#ifndef MS_MGC_VAL
+#define MS_MGC_VAL 0xC0ED0000 /* magic flag number to indicate "new" flags */
+#endif
+#ifndef MS_MGC_MSK
+#define MS_MGC_MSK 0xffff0000 /* magic flag number mask */
+#endif
diff --git a/mount-deprecated/mount_mntent.c b/mount-deprecated/mount_mntent.c
new file mode 100644
index 0000000..88dab10
--- /dev/null
+++ b/mount-deprecated/mount_mntent.c
@@ -0,0 +1,165 @@
+/* Private version of the libc *mntent() routines. */
+/* Note slightly different prototypes. */
+
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <stdio.h>
+#include <string.h> /* for index */
+#include <ctype.h> /* for isdigit */
+#include <sys/stat.h> /* for umask */
+
+#include "mount_mntent.h"
+#include "sundries.h" /* for xmalloc */
+#include "nls.h"
+#include "mangle.h"
+#include "closestream.h"
+
+static int
+is_space_or_tab (char c) {
+ return (c == ' ' || c == '\t');
+}
+
+static char *
+skip_spaces(char *s) {
+ while (is_space_or_tab(*s))
+ s++;
+ return s;
+}
+
+/*
+ * fstat'ing the file and allocating a buffer holding all of it
+ * may be a bad idea: if the file is /proc/mounts, the stat
+ * returns 0.
+ * (On the other hand, mangling and unmangling is meaningless
+ * for /proc/mounts.)
+ */
+
+mntFILE *
+my_setmntent (const char *file, char *mode) {
+ mntFILE *mfp = xmalloc(sizeof(*mfp));
+ mode_t old_umask = umask(077);
+
+ mfp->mntent_fp = fopen(file, mode);
+ umask(old_umask);
+ mfp->mntent_file = xstrdup(file);
+ mfp->mntent_errs = (mfp->mntent_fp == NULL);
+ mfp->mntent_softerrs = 0;
+ mfp->mntent_lineno = 0;
+ return mfp;
+}
+
+void
+my_endmntent(mntFILE * mfp) {
+ if (mfp) {
+ if (mfp->mntent_fp)
+ if (close_stream(mfp->mntent_fp))
+ fprintf(stderr, _("write error"));
+ free(mfp->mntent_file);
+ free(mfp);
+ }
+}
+
+int
+my_addmntent (mntFILE *mfp, struct my_mntent *mnt) {
+ char *m1, *m2, *m3, *m4;
+ int res;
+
+ if (fseek (mfp->mntent_fp, 0, SEEK_END))
+ return 1; /* failure */
+
+ m1 = mangle(mnt->mnt_fsname);
+ m2 = mangle(mnt->mnt_dir);
+ m3 = mangle(mnt->mnt_type);
+ m4 = mnt->mnt_opts ? mangle(mnt->mnt_opts) : "rw";
+
+ res = fprintf (mfp->mntent_fp, "%s %s %s %s %d %d\n",
+ m1, m2, m3, m4, mnt->mnt_freq, mnt->mnt_passno);
+
+ free(m1);
+ free(m2);
+ free(m3);
+ if (mnt->mnt_opts)
+ free(m4);
+ return (res < 0) ? 1 : 0;
+}
+
+/* Read the next entry from the file fp. Stop reading at an incorrect entry. */
+struct my_mntent *
+my_getmntent (mntFILE *mfp) {
+ static char buf[4096];
+ static struct my_mntent me;
+ char *s;
+
+ again:
+ if (mfp->mntent_errs || mfp->mntent_softerrs >= ERR_MAX)
+ return NULL;
+
+ /* read the next non-blank non-comment line */
+ do {
+ if (fgets (buf, sizeof(buf), mfp->mntent_fp) == NULL)
+ return NULL;
+
+ mfp->mntent_lineno++;
+ s = strchr (buf, '\n');
+ if (s == NULL) {
+ /* Missing final newline? Otherwise extremely */
+ /* long line - assume file was corrupted */
+ if (feof(mfp->mntent_fp)) {
+ fprintf(stderr, _("[mntent]: warning: no final "
+ "newline at the end of %s\n"),
+ mfp->mntent_file);
+ s = strchr (buf, 0);
+ } else {
+ mfp->mntent_errs = 1;
+ goto err;
+ }
+ }
+ *s = 0;
+ if (--s >= buf && *s == '\r')
+ *s = 0;
+ s = skip_spaces(buf);
+ } while (*s == '\0' || *s == '#');
+
+ me.mnt_fsname = unmangle(s, &s);
+ s = skip_spaces(s);
+ me.mnt_dir = unmangle(s, &s);
+ s = skip_spaces(s);
+ me.mnt_type = unmangle(s, &s);
+ s = skip_spaces(s);
+ me.mnt_opts = unmangle(s, &s);
+ s = skip_spaces(s);
+
+ if (!me.mnt_fsname || !me.mnt_dir || !me.mnt_type)
+ goto err;
+
+ if (isdigit(*s)) {
+ me.mnt_freq = atoi(s);
+ while(isdigit(*s)) s++;
+ } else
+ me.mnt_freq = 0;
+ if(*s && !is_space_or_tab(*s))
+ goto err;
+
+ s = skip_spaces(s);
+ if(isdigit(*s)) {
+ me.mnt_passno = atoi(s);
+ while(isdigit(*s)) s++;
+ } else
+ me.mnt_passno = 0;
+ if(*s && !is_space_or_tab(*s))
+ goto err;
+
+ /* allow more stuff, e.g. comments, on this line */
+
+ return &me;
+
+ err:
+ mfp->mntent_softerrs++;
+ fprintf(stderr, _("[mntent]: line %d in %s is bad%s\n"),
+ mfp->mntent_lineno, mfp->mntent_file,
+ (mfp->mntent_errs || mfp->mntent_softerrs >= ERR_MAX) ?
+ _("; rest of file ignored") : "");
+ goto again;
+}
diff --git a/mount-deprecated/mount_mntent.h b/mount-deprecated/mount_mntent.h
new file mode 100644
index 0000000..3b74215
--- /dev/null
+++ b/mount-deprecated/mount_mntent.h
@@ -0,0 +1,28 @@
+#ifndef MOUNT_MNTENT_H
+#define MOUNT_MNTENT_H
+
+struct my_mntent {
+ const char *mnt_fsname;
+ const char *mnt_dir;
+ const char *mnt_type;
+ const char *mnt_opts;
+ int mnt_freq;
+ int mnt_passno;
+};
+
+#define ERR_MAX 5
+
+typedef struct mntFILEstruct {
+ FILE *mntent_fp;
+ char *mntent_file;
+ int mntent_lineno;
+ int mntent_errs;
+ int mntent_softerrs;
+} mntFILE;
+
+mntFILE *my_setmntent (const char *file, char *mode);
+void my_endmntent (mntFILE *mfp);
+int my_addmntent (mntFILE *mfp, struct my_mntent *mnt);
+struct my_mntent *my_getmntent (mntFILE *mfp);
+
+#endif /* MOUNT_MNTENT_H */
diff --git a/mount-deprecated/sundries.c b/mount-deprecated/sundries.c
new file mode 100644
index 0000000..9bff997
--- /dev/null
+++ b/mount-deprecated/sundries.c
@@ -0,0 +1,300 @@
+/*
+ * Support functions. Exported functions are prototyped in sundries.h.
+ *
+ * added fcntl locking by Kjetil T. (kjetilho@math.uio.no) - aeb, 950927
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ */
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <mntent.h> /* for MNTTYPE_SWAP */
+
+#include "canonicalize.h"
+
+#include "sundries.h"
+#include "nls.h"
+
+int mount_quiet;
+int verbose;
+int nocanonicalize;
+char *progname;
+
+char *
+xstrndup (const char *s, int n) {
+ char *t;
+
+ if (s == NULL)
+ die (EX_SOFTWARE, _("bug in xstrndup call"));
+
+ t = xmalloc(n+1);
+ strncpy(t,s,n);
+ t[n] = 0;
+
+ return t;
+}
+
+/* reallocates its first arg - typical use: s = xstrconcat3(s,t,u); */
+char *
+xstrconcat3 (char *s, const char *t, const char *u) {
+ size_t len = 0;
+
+ len = (s ? strlen(s) : 0) + (t ? strlen(t) : 0) + (u ? strlen(u) : 0);
+
+ if (!len)
+ return NULL;
+ if (!s) {
+ s = xmalloc(len + 1);
+ *s = '\0';
+ }
+ else
+ s = xrealloc(s, len + 1);
+ if (t)
+ strcat(s, t);
+ if (u)
+ strcat(s, u);
+ return s;
+}
+
+/* frees its first arg - typical use: s = xstrconcat4(s,t,u,v); */
+char *
+xstrconcat4 (char *s, const char *t, const char *u, const char *v) {
+ size_t len = 0;
+
+ len = (s ? strlen(s) : 0) + (t ? strlen(t) : 0) +
+ (u ? strlen(u) : 0) + (v ? strlen(v) : 0);
+
+ if (!len)
+ return NULL;
+ if (!s) {
+ s = xmalloc(len + 1);
+ *s = '\0';
+ }
+ else
+ s = xrealloc(s, len + 1);
+ if (t)
+ strcat(s, t);
+ if (u)
+ strcat(s, u);
+ if (v)
+ strcat(s, v);
+ return s;
+
+
+}
+
+/* Call this with SIG_BLOCK to block and SIG_UNBLOCK to unblock. */
+void
+block_signals (int how) {
+ sigset_t sigs;
+
+ sigfillset (&sigs);
+ sigdelset(&sigs, SIGTRAP);
+ sigdelset(&sigs, SIGSEGV);
+ sigprocmask (how, &sigs, (sigset_t *) 0);
+}
+
+
+/* Non-fatal error. Print message and return. */
+/* (print the message in a single printf, in an attempt
+ to avoid mixing output of several threads) */
+void
+error (const char *fmt, ...) {
+ va_list args;
+
+ if (mount_quiet)
+ return;
+ va_start (args, fmt);
+ vfprintf (stderr, fmt, args);
+ va_end (args);
+ fputc('\n', stderr);
+}
+
+/* Fatal error. Print message and exit. */
+void __attribute__ ((noreturn)) die(int err, const char *fmt, ...)
+{
+ va_list args;
+
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ fprintf(stderr, "\n");
+ va_end(args);
+
+ exit(err);
+}
+
+/* True if fstypes match. Null *TYPES means match anything,
+ except that swap types always return false. */
+/* Accept nonfs,proc,devpts and nonfs,noproc,nodevpts
+ with the same meaning. */
+int
+matching_type (const char *type, const char *types) {
+ int no; /* negated types list */
+ int len;
+ const char *p;
+
+ if (streq (type, MNTTYPE_SWAP))
+ return 0;
+ if (types == NULL)
+ return 1;
+
+ no = 0;
+ if (!strncmp(types, "no", 2)) {
+ no = 1;
+ types += 2;
+ }
+
+ /* Does type occur in types, separated by commas? */
+ len = strlen(type);
+ p = types;
+ while(1) {
+ if (!strncmp(p, "no", 2) && !strncmp(p+2, type, len) &&
+ (p[len+2] == 0 || p[len+2] == ','))
+ return 0;
+ if (strncmp(p, type, len) == 0 &&
+ (p[len] == 0 || p[len] == ','))
+ return !no;
+ p = strchr(p,',');
+ if (!p)
+ break;
+ p++;
+ }
+ return no;
+}
+
+/* Returns 1 if needle found or noneedle not found in haystack
+ * Otherwise returns 0
+ */
+static int
+check_option(const char *haystack, const char *needle) {
+ const char *p, *r;
+ int len, needle_len, this_len;
+ int no;
+
+ no = 0;
+ if (!strncmp(needle, "no", 2)) {
+ no = 1;
+ needle += 2;
+ }
+ needle_len = strlen(needle);
+ len = strlen(haystack);
+
+ for (p = haystack; p < haystack+len; p++) {
+ r = strchr(p, ',');
+ if (r) {
+ this_len = r-p;
+ } else {
+ this_len = strlen(p);
+ }
+ if (this_len != needle_len) {
+ p += this_len;
+ continue;
+ }
+ if (strncmp(p, needle, this_len) == 0)
+ return !no; /* foo or nofoo was found */
+ p += this_len;
+ }
+
+ return no; /* foo or nofoo was not found */
+}
+
+
+/* Returns 1 if each of the test_opts options agrees with the entire
+ * list of options.
+ * Returns 0 if any noopt is found in test_opts and opt is found in options.
+ * Returns 0 if any opt is found in test_opts but is not found in options.
+ * Unlike fs type matching, nonetdev,user and nonetdev,nouser have
+ * DIFFERENT meanings; each option is matched explicitly as specified.
+ */
+int
+matching_opts (const char *options, const char *test_opts) {
+ const char *p, *r;
+ char *q;
+ int len, this_len;
+
+ if (test_opts == NULL)
+ return 1;
+ if (options == NULL)
+ options = "";
+
+ len = strlen(test_opts);
+ q = alloca(len+1);
+ if (q == NULL)
+ die (EX_SYSERR, _("not enough memory"));
+
+ for (p = test_opts; p < test_opts+len; p++) {
+ r = strchr(p, ',');
+ if (r) {
+ this_len = r-p;
+ } else {
+ this_len = strlen(p);
+ }
+ if (!this_len) continue; /* if two ',' appear in a row */
+ strncpy(q, p, this_len);
+ q[this_len] = '\0';
+ if (!check_option(options, q))
+ return 0; /* any match failure means failure */
+ p += this_len;
+ }
+
+ /* no match failures in list means success */
+ return 1;
+}
+
+int
+is_pseudo_fs(const char *type)
+{
+ if (type == NULL || *type == '/')
+ return 0;
+ if (streq(type, "none") ||
+ streq(type, "proc") ||
+ streq(type, "tmpfs") ||
+ streq(type, "sysfs") ||
+ streq(type, "usbfs") ||
+ streq(type, "cgroup") ||
+ streq(type, "cpuset") ||
+ streq(type, "rpc_pipefs") ||
+ streq(type, "devpts") ||
+ streq(type, "securityfs") ||
+ streq(type, "debugfs"))
+ return 1;
+ return 0;
+}
+
+/* Make a canonical pathname from PATH. Returns a freshly malloced string.
+ It is up the *caller* to ensure that the PATH is sensible. i.e.
+ canonicalize ("/dev/fd0/.") returns "/dev/fd0" even though ``/dev/fd0/.''
+ is not a legal pathname for ``/dev/fd0''. Anything we cannot parse
+ we return unmodified. */
+char *
+canonicalize_spec (const char *path)
+{
+ char *res;
+
+ if (!path)
+ return NULL;
+ if (nocanonicalize || is_pseudo_fs(path))
+ return xstrdup(path);
+
+ res = canonicalize_path(path);
+ if (!res)
+ die(EX_SYSERR, _("not enough memory"));
+ return res;
+}
+
+char *canonicalize (const char *path)
+{
+ char *res;
+
+ if (!path)
+ return NULL;
+ else if (nocanonicalize)
+ return xstrdup(path);
+
+ res = canonicalize_path(path);
+ if (!res)
+ die(EX_SYSERR, _("not enough memory"));
+ return res;
+}
diff --git a/mount-deprecated/sundries.h b/mount-deprecated/sundries.h
new file mode 100644
index 0000000..e58fa49
--- /dev/null
+++ b/mount-deprecated/sundries.h
@@ -0,0 +1,55 @@
+/*
+ * sundries.h
+ * Support function prototypes. Functions are in sundries.c.
+ */
+#ifndef SUNDRIES_H
+#define SUNDRIES_H
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stdlib.h>
+
+#define XALLOC_EXIT_CODE 2 /* same as EX_SYSERR, for backwards compatibility */
+#include "xalloc.h"
+
+/* global mount, umount, and losetup variables */
+extern int mount_quiet;
+extern int verbose;
+extern int nocanonicalize;
+extern char *progname;
+
+#define streq(s, t) (strcmp ((s), (t)) == 0)
+#define my_free(_p) free((void *) _p)
+
+void block_signals (int how);
+
+void error (const char *fmt, ...)
+ __attribute__ ((__format__ (__printf__, 1, 2)));
+void die(int err, const char *fmt, ...)
+ __attribute__ ((__format__ (__printf__, 2, 3)));
+
+int matching_type (const char *type, const char *types);
+int matching_opts (const char *options, const char *test_opts);
+char *xstrndup (const char *s, int n);
+char *xstrconcat3 (char *, const char *, const char *);
+char *xstrconcat4 (char *, const char *, const char *, const char *);
+
+int is_pseudo_fs(const char *type);
+
+char *canonicalize (const char *path);
+char *canonicalize_spec (const char *path);
+
+/* exit status - bits below are ORed */
+#define EX_USAGE 1 /* incorrect invocation or permission */
+#define EX_SYSERR 2 /* out of memory, cannot fork, ... */
+#define EX_SOFTWARE 4 /* internal mount bug or wrong version */
+#define EX_USER 8 /* user interrupt */
+#define EX_FILEIO 16 /* problems writing, locking, ... mtab/fstab */
+#define EX_FAIL 32 /* mount failure */
+#define EX_SOMEOK 64 /* some mount succeeded */
+
+#endif /* SUNDRIES_H */
diff --git a/mount-deprecated/umount.8 b/mount-deprecated/umount.8
new file mode 100644
index 0000000..1c7d59a
--- /dev/null
+++ b/mount-deprecated/umount.8
@@ -0,0 +1,179 @@
+.\" Copyright (c) 1996 Andries Brouwer
+.\" This page is somewhat derived from a page that was
+.\" (c) 1980, 1989, 1991 The Regents of the University of California
+.\" and had been heavily modified by Rik Faith and myself.
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.TH UMOUNT 8 "March 2010" "util-linux" "System Administration"
+.SH NAME
+umount \- unmount file systems
+.SH SYNOPSIS
+.B umount
+.RB [ \-hV ]
+.LP
+.B umount \-a
+.RB [ \-dflnrv ]
+.RB [ \-t
+.IR vfstype ]
+.RB [ \-O
+.IR options ]
+.br
+.B umount
+.RB [ \-dflnrv ]
+.RI { dir | device }...
+.SH DESCRIPTION
+The
+.B umount
+command detaches the file system(s) mentioned from the file hierarchy.
+A file system is specified by giving the directory where it
+has been mounted. Giving the special device on which the file system lives
+may also work, but is obsolete, mainly because it will fail
+in case this device was mounted on more than one directory.
+
+Note that a file system cannot be unmounted when it is `busy' -
+for example, when there are open files on it, or when some process
+has its working directory there, or when a swap file on it is in use.
+The offending process could even be
+.B umount
+itself - it opens libc, and libc in its turn may open for example
+locale files.
+A lazy unmount avoids this problem.
+
+Options for the
+.B umount
+command:
+.TP
+.B \-V
+Print version and exit.
+.TP
+.B \-h
+Print help message and exit.
+.TP
+.B \-v
+Verbose mode.
+.TP
+.B \-n
+Unmount without writing in
+.IR /etc/mtab .
+.TP
+.B \-r
+In case unmounting fails, try to remount read-only.
+.TP
+.B \-d
+In case the unmounted device was a loop device, also
+free this loop device.
+.TP
+.B \-i
+Don't call the /sbin/umount.<filesystem> helper even if it exists. By default /sbin/umount.<filesystem> helper is called if one exists.
+.TP
+.B \-a
+All of the file systems described in
+.I /etc/mtab
+are unmounted. (With
+.B umount
+version 2.7 and later: the
+.I proc
+filesystem is not unmounted.)
+.TP
+.BI \-t " vfstype"
+Indicate that the actions should only be taken on file systems of the
+specified type. More than one type may be specified in a comma separated
+list. The list of file system types can be prefixed with
+.B no
+to specify the file system types on which no action should be taken.
+.TP
+.BI \-O " options"
+Indicate that the actions should only be taken on file systems with
+the specified options in
+.IR /etc/fstab .
+More than one option type may be specified in a comma separated
+list. Each option can be prefixed with
+.B no
+to specify options for which no action should be taken.
+.TP
+.B \-f
+Force unmount (in case of an unreachable NFS system).
+(Requires kernel 2.1.116 or later.)
+.TP
+.B \-l
+Lazy unmount. Detach the filesystem from the filesystem hierarchy now,
+and cleanup all references to the filesystem as soon as it is not busy
+anymore.
+(Requires kernel 2.4.11 or later.)
+.IP "\fB\-\-no\-canonicalize\fP"
+Don't canonicalize paths. For more details about this option see the
+.B mount(8)
+man page.
+.IP "\fB\-\-fake\fP"
+Causes everything to be done except for the actual system call; this
+``fakes'' unmounting the filesystem. It can be used to remove
+entries from
+.I /etc/mtab
+that were unmounted earlier with the -n option.
+
+.SH "THE LOOP DEVICE"
+The
+.B umount
+command will free the loop device (if any) associated
+with the mount, in case it finds the option `loop=...' in
+.IR /etc/mtab ,
+or when the \-d option was given.
+Any pending loop devices can be freed using `losetup -d', see
+.BR losetup (8).
+
+.SH NOTES
+The syntax of external umount helpers is:
+
+.br
+.BI /sbin/umount. <suffix>
+.RI { dir | device }
+.RB [ \-nlfvr ]
+.RB [ \-t
+.IR type.subtype ]
+.br
+
+where the <suffix> is filesystem type or a value from "uhelper=" or "helper="
+mtab option. The \-t option is used for filesystems with subtypes support
+(for example /sbin/mount.fuse -t fuse.sshfs).
+
+The uhelper= (unprivileged umount helper) is possible to use when non-root user
+wants to umount a mountpoint which is not defined in the /etc/fstab file (e.g
+devices mounted by udisk).
+
+The helper= mount option redirects all umount requests to the
+/sbin/umount.<helper> independently on UID.
+
+.SH FILES
+.I /etc/mtab
+table of mounted file systems
+
+.SH "SEE ALSO"
+.BR umount (2),
+.BR mount (8),
+.BR losetup (8).
+
+.SH HISTORY
+A
+.B umount
+command appeared in Version 6 AT&T UNIX.
+.SH AVAILABILITY
+The umount command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/mount-deprecated/umount.c b/mount-deprecated/umount.c
new file mode 100644
index 0000000..3820c67
--- /dev/null
+++ b/mount-deprecated/umount.c
@@ -0,0 +1,867 @@
+/*
+ * umount(8) for Linux 0.99 - jrs, 1993
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <sys/mount.h>
+
+#include "mount_constants.h"
+#include "sundries.h"
+#include "getusername.h"
+#include "pathnames.h"
+#include "loopdev.h"
+#include "fstab.h"
+#include "env.h"
+#include "nls.h"
+#include "strutils.h"
+#include "closestream.h"
+
+#if defined(MNT_FORCE)
+/* Interesting ... it seems libc knows about MNT_FORCE and presumably
+ about umount2 as well -- need not do anything */
+#else /* MNT_FORCE */
+
+/* Does the present kernel source know about umount2? */
+#include <linux/unistd.h>
+#ifdef __NR_umount2
+
+static int umount2(const char *path, int flags);
+
+_syscall2(int, umount2, const char *, path, int, flags);
+
+#else /* __NR_umount2 */
+
+static int
+umount2(const char *path, int flags) {
+ fprintf(stderr, _("umount: compiled without support for -f\n"));
+ errno = ENOSYS;
+ return -1;
+}
+#endif /* __NR_umount2 */
+
+#ifndef MNT_FORCE
+# define MNT_FORCE 0x00000001 /* Attempt to forcibily umount */
+#endif
+
+#endif /* MNT_FORCE */
+
+#ifndef MNT_DETACH
+# define MNT_DETACH 0x00000002 /* Just detach from the tree */
+#endif
+
+#ifndef UMOUNT_NOFOLLOW
+# define UMOUNT_NOFOLLOW 0x00000008 /* Don't follow symlink on umount */
+#endif
+
+#ifndef UMOUNT_UNUSED
+# define UMOUNT_UNUSED 0x80000000 /* Flag guaranteed to be unused */
+#endif
+
+
+/* True if we are allowed to call /sbin/umount.${FSTYPE} */
+int external_allowed = 1;
+
+/* Nonzero for force umount (-f). There is kernel support since 2.1.116. */
+int force = 0;
+
+/* Nonzero for lazy umount (-l). There is kernel support since 2.4.11. */
+int lazy = 0;
+
+/* When umount fails, attempt a read-only remount (-r). */
+int remount = 0;
+
+/* Don't write a entry in /etc/mtab (-n). */
+int nomtab = 0;
+
+/* Call losetup -d for each unmounted loop device. */
+int delloop = 0;
+
+/* True if (ruid != euid) or (0 != ruid), i.e. only "user" umounts permitted. */
+int restricted = 1;
+
+/* Last error message */
+int complained_err = 0;
+char *complained_dev = NULL;
+
+/* True for fake umount (--fake). */
+static int fake = 0;
+
+/*
+ * check_special_umountprog()
+ * If there is a special umount program for this type, exec it.
+ * returns: 0: no exec was done, 1: exec was done, status has result
+ */
+static int
+check_special_umountprog(const char *node,
+ const char *type, int *status) {
+ char search_path[] = FS_SEARCH_PATH;
+ char *path, umountprog[150];
+ struct stat statbuf;
+ int res;
+
+ if (!external_allowed)
+ return 0;
+
+ if (type == NULL || strcmp(type, "none") == 0)
+ return 0;
+
+ path = strtok(search_path, ":");
+ while (path) {
+ int type_opt = 0;
+
+ res = snprintf(umountprog, sizeof(umountprog), "%s/umount.%s",
+ path, type);
+ path = strtok(NULL, ":");
+ if (res < 0 || (size_t) res >= sizeof(umountprog))
+ continue;
+
+ res = stat(umountprog, &statbuf);
+ if (res == -1 && errno == ENOENT && strchr(type, '.')) {
+ /* If type ends with ".subtype" try without it */
+ *strrchr(umountprog, '.') = '\0';
+ type_opt = 1;
+ res = stat(umountprog, &statbuf);
+ }
+ if (res == 0) {
+ res = fork();
+ if (res == 0) {
+ char *umountargs[10];
+ int i = 0;
+
+ if(setgid(getgid()) < 0)
+ die(EX_FAIL, _("umount: cannot set group id: %m"));
+
+ if(setuid(getuid()) < 0)
+ die(EX_FAIL, _("umount: cannot set user id: %m"));
+
+ umountargs[i++] = umountprog;
+ umountargs[i++] = xstrdup(node);
+ if (nomtab)
+ umountargs[i++] = "-n";
+ if (lazy)
+ umountargs[i++] = "-l";
+ if (force)
+ umountargs[i++] = "-f";
+ if (verbose)
+ umountargs[i++] = "-v";
+ if (remount)
+ umountargs[i++] = "-r";
+ if (type_opt) {
+ umountargs[i++] = "-t";
+ umountargs[i++] = (char *) type;
+ }
+ umountargs[i] = NULL;
+ execv(umountprog, umountargs);
+ exit(1); /* exec failed */
+ } else if (res != -1) {
+ int st;
+ wait(&st);
+ *status = (WIFEXITED(st) ? WEXITSTATUS(st)
+ : EX_SYSERR);
+ return 1;
+ } else {
+ int errsv = errno;
+ error(_("umount: cannot fork: %s"),
+ strerror(errsv));
+ }
+ }
+ }
+ return 0;
+}
+
+/* complain about a failed umount */
+static void complain(int err, const char *dev) {
+
+ if (complained_err == err && complained_dev && dev &&
+ strcmp(dev, complained_dev) == 0)
+ return;
+
+ complained_err = err;
+ free(complained_dev);
+ complained_dev = xstrdup(dev);
+
+ switch (err) {
+ case ENXIO:
+ error (_("umount: %s: invalid block device"), dev); break;
+ case EINVAL:
+ error (_("umount: %s: not mounted"), dev); break;
+ case EIO:
+ error (_("umount: %s: can't write superblock"), dev); break;
+ case EBUSY:
+ /* Let us hope fstab has a line "proc /proc ..."
+ and not "none /proc ..."*/
+ error (_("umount: %s: device is busy.\n"
+ " (In some cases useful info about processes that use\n"
+ " the device is found by lsof(8) or fuser(1))"), dev);
+ break;
+ case ENOENT:
+ error (_("umount: %s: not found"), dev); break;
+ case EPERM:
+ error (_("umount: %s: must be superuser to umount"), dev); break;
+ case EACCES:
+ error (_("umount: %s: block devices not permitted on fs"), dev); break;
+ default:
+ error (_("umount: %s: %s"), dev, strerror (err)); break;
+ }
+}
+
+/* Check whether the kernel supports UMOUNT_NOFOLLOW flag */
+static int umount_nofollow_support(void)
+{
+ int res = umount2("", UMOUNT_UNUSED);
+ if (res != -1 || errno != EINVAL)
+ return 0;
+
+ res = umount2("", UMOUNT_NOFOLLOW);
+ if (res != -1 || errno != ENOENT)
+ return 0;
+
+ return 1;
+}
+
+static const char *chdir_to_parent(const char *node, char **resbuf)
+{
+ char *tmp, *res;
+ const char *parent;
+ char buf[65536];
+
+ *resbuf = xstrdup(node);
+
+ tmp = strrchr(*resbuf, '/');
+ if (!tmp)
+ die (2, _("umount: internal error: invalid abs path: %s"), node);
+
+ if (tmp != *resbuf) {
+ *tmp = '\0';
+ res = tmp + 1;
+ parent = *resbuf;
+ } else if (tmp[1] != '\0') {
+ res = tmp + 1;
+ parent = "/";
+ } else {
+ res = ".";
+ parent = "/";
+ }
+
+ if (chdir(parent) == -1)
+ die (2, _("umount: failed to chdir to %s: %m"), parent);
+
+ if (!getcwd(buf, sizeof(buf)))
+ die (2, _("umount: failed to obtain current directory: %m"));
+
+ if (strcmp(buf, parent) != 0)
+ die (2, _("umount: mountpoint moved (%s -> %s)"), parent, buf);
+
+ if (verbose)
+ printf(_("current directory moved to %s\n"), res);
+
+ return res;
+}
+
+/* Umount a single device. Return a status code, so don't exit
+ on a non-fatal error. We lock/unlock around each umount. */
+static int
+umount_one (const char *spec, const char *node, const char *type,
+ struct mntentchn *mc) {
+ int umnt_err = 0;
+ int isroot;
+ int res = 0;
+ int status;
+ int extra_flags = 0;
+ const char *loopdev, *target = node;
+ char *targetbuf = NULL;
+
+ /* Special case for root. As of 0.99pl10 we can (almost) unmount root;
+ the kernel will remount it readonly so that we can carry on running
+ afterwards. The readonly remount is illegal if any files are opened
+ for writing at the time, so we can't update mtab for an unmount of
+ root. As it is only really a remount, this doesn't matter too
+ much. [sct May 29, 1993] */
+ isroot = (streq (node, "/") || streq (node, "root")
+ || streq (node, "rootfs"));
+ if (isroot)
+ nomtab++;
+
+ /*
+ * Call umount.TYPE for types that require a separate umount program.
+ * All such special things must occur isolated in the types string.
+ */
+ if (check_special_umountprog(node, type, &status))
+ return status;
+
+ block_signals(SIG_BLOCK);
+
+ /* Skip the actual umounting for --fake */
+ if (fake)
+ goto writemtab;
+
+ if (restricted) {
+ if (umount_nofollow_support())
+ extra_flags |= UMOUNT_NOFOLLOW;
+
+ /* call umount(2) with relative path to avoid races */
+ target = chdir_to_parent(node, &targetbuf);
+ }
+
+ if (lazy) {
+ res = umount2 (target, MNT_DETACH | extra_flags);
+ if (res < 0)
+ umnt_err = errno;
+ goto writemtab;
+ }
+
+ if (force) { /* only supported for NFS */
+ res = umount2 (target, MNT_FORCE | extra_flags);
+ if (res == -1) {
+ int errsv = errno;
+ perror("umount2");
+ errno = errsv;
+ if (errno == ENOSYS) {
+ if (verbose)
+ printf(_("no umount2, trying umount...\n"));
+ res = umount (target);
+ }
+ }
+ } else if (extra_flags)
+ res = umount2 (target, extra_flags);
+ else
+ res = umount (target);
+
+ free(targetbuf);
+
+ if (res < 0)
+ umnt_err = errno;
+
+ if (res < 0 && remount && umnt_err == EBUSY) {
+ /* Umount failed - let us try a remount */
+ res = mount(spec, node, NULL,
+ MS_MGC_VAL | MS_REMOUNT | MS_RDONLY, NULL);
+ if (res == 0) {
+ fprintf(stderr,
+ _("umount: %s busy - remounted read-only\n"),
+ spec);
+ if (mc && !nomtab) {
+ /* update mtab if the entry is there */
+ struct my_mntent remnt;
+ remnt.mnt_fsname = mc->m.mnt_fsname;
+ remnt.mnt_dir = mc->m.mnt_dir;
+ remnt.mnt_type = mc->m.mnt_type;
+ remnt.mnt_opts = "ro";
+ remnt.mnt_freq = 0;
+ remnt.mnt_passno = 0;
+ update_mtab(node, &remnt);
+ }
+ block_signals(SIG_UNBLOCK);
+ return 0;
+ } else if (errno != EBUSY) { /* hmm ... */
+ perror("remount");
+ fprintf(stderr,
+ _("umount: could not remount %s read-only\n"),
+ spec);
+ }
+ }
+
+ loopdev = 0;
+ if (res >= 0) {
+ /* Umount succeeded */
+ if (verbose)
+ printf (_("%s has been unmounted\n"), spec);
+
+ /* Free any loop devices that we allocated ourselves */
+ if (mc) {
+ char *optl;
+
+ /* old style mtab line? */
+ if (streq(mc->m.mnt_type, "loop")) {
+ loopdev = spec;
+ goto gotloop;
+ }
+
+ /* new style mtab line? */
+ optl = mc->m.mnt_opts ? xstrdup(mc->m.mnt_opts) : "";
+ for (optl = strtok (optl, ","); optl;
+ optl = strtok (NULL, ",")) {
+ if (!strncmp(optl, "loop=", 5)) {
+ loopdev = optl+5;
+ goto gotloop;
+ }
+ }
+ } else {
+ /*
+ * If option "-o loop=spec" occurs in mtab,
+ * note the mount point, and delete mtab line.
+ */
+ if ((mc = getmntoptfile (spec)) != NULL)
+ node = mc->m.mnt_dir;
+ }
+
+ /* Also free loop devices when -d flag is given */
+ if (delloop)
+ loopdev = spec;
+ }
+ gotloop:
+ if (loopdev) {
+ struct loopdev_cxt lc;
+
+ loopcxt_init(&lc, 0);
+ loopcxt_set_device(&lc, loopdev);
+
+ if (loopcxt_get_backing_file(&lc)
+ && loopcxt_is_autoclear(&lc) == 0)
+ loopcxt_delete_device(&lc);
+ loopcxt_deinit(&lc);
+ }
+
+ writemtab:
+ if (!nomtab &&
+ (umnt_err == 0 || umnt_err == EINVAL || umnt_err == ENOENT)) {
+
+ update_mtab (node, NULL);
+ }
+
+ block_signals(SIG_UNBLOCK);
+
+ if (res >= 0)
+ return 0;
+ if (umnt_err)
+ complain(umnt_err, node);
+ return 1;
+}
+
+/*
+ * umount_one_bw: unmount FILE that has last occurrence MC0
+ *
+ * Why this loop?
+ * 1. People who boot a system with a bad fstab root entry
+ * will get an incorrect "/dev/foo on /" in mtab.
+ * If later /dev/foo is actually mounted elsewhere,
+ * it will occur twice in mtab.
+ * 2. With overmounting one can get the situation that
+ * the same filename is used as mount point twice.
+ * In both cases, it is best to try the last occurrence first.
+ */
+static int
+umount_one_bw (const char *file, struct mntentchn *mc0) {
+ struct mntentchn *mc;
+ int res = 1;
+
+ mc = mc0;
+ while (res && mc) {
+ res = umount_one(mc->m.mnt_fsname, mc->m.mnt_dir,
+ mc->m.mnt_type, mc);
+ mc = getmntdirbackward(file, mc);
+ }
+ mc = mc0;
+ while (res && mc) {
+ res = umount_one(mc->m.mnt_fsname, mc->m.mnt_dir,
+ mc->m.mnt_type, mc);
+ mc = getmntdevbackward(file, mc);
+ }
+ return res;
+}
+
+/* Unmount all filesystems of type VFSTYPES found in mtab. Since we are
+ concurrently updating mtab after every successful umount, we have to
+ slurp in the entire file before we start. This isn't too bad, because
+ in any case it's important to umount mtab entries in reverse order
+ to mount, e.g. /usr/spool before /usr. */
+static int
+umount_all (char *types, char *test_opts) {
+ struct mntentchn *mc, *hd;
+ int errors = 0;
+
+ hd = mtab_head();
+ if (!hd->prev)
+ die (2, _("umount: cannot find list of filesystems to unmount"));
+ for (mc = hd->prev; mc != hd; mc = mc->prev) {
+ if (matching_type (mc->m.mnt_type, types)
+ && matching_opts (mc->m.mnt_opts, test_opts)) {
+ errors |= umount_one (mc->m.mnt_fsname, mc->m.mnt_dir,
+ mc->m.mnt_type, mc);
+ }
+ }
+
+ return errors;
+}
+
+static struct option longopts[] =
+{
+ { "all", 0, 0, 'a' },
+ { "force", 0, 0, 'f' },
+ { "help", 0, 0, 'h' },
+ { "no-mtab", 0, 0, 'n' },
+ { "test-opts", 1, 0, 'O' },
+ { "verbose", 0, 0, 'v' },
+ { "version", 0, 0, 'V' },
+ { "read-only", 0, 0, 'r' },
+ { "types", 1, 0, 't' },
+
+ { "no-canonicalize", 0, 0, 144 },
+ { "fake", 0, 0, 145 },
+ { NULL, 0, 0, 0 }
+};
+
+static void
+usage (FILE *fp, int n)
+{
+ fprintf (fp, _("Usage: umount -h | -V\n"
+ " umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+ " umount [-d] [-f] [-r] [-n] [-v] special | node...\n"));
+ exit (n);
+}
+
+/*
+ * Look for an option in a comma-separated list
+ */
+static int
+contains(const char *list, const char *s) {
+ int n = strlen(s);
+
+ while (list && *list) {
+ if (strncmp(list, s, n) == 0 &&
+ (list[n] == 0 || list[n] == ','))
+ return 1;
+ while (*list && *list++ != ',') ;
+ }
+ return 0;
+}
+
+/* check if @mc contains a loop device which is associated
+ * with the @file in fs
+ */
+static int
+is_valid_loop(struct mntentchn *mc, struct mntentchn *fs)
+{
+ uintmax_t offset = 0;
+ char *p;
+
+ /* check if it begins with /dev/loop */
+ if (strncmp(mc->m.mnt_fsname, _PATH_DEV_LOOP,
+ sizeof(_PATH_DEV_LOOP) - 1))
+ return 0;
+
+ /* check for loop option in fstab */
+ if (!contains(fs->m.mnt_opts, "loop"))
+ return 0;
+
+ /* check for offset option in fstab */
+ p = get_option_value(fs->m.mnt_opts, "offset=");
+ if (p && strtosize(p, &offset)) {
+ if (verbose > 1)
+ printf(_("failed to parse 'offset=%s' options\n"), p);
+ return 0;
+ }
+
+ /* check association */
+ if (loopdev_is_used((char *) mc->m.mnt_fsname, fs->m.mnt_fsname,
+ offset, LOOPDEV_FL_OFFSET) == 1) {
+ if (verbose > 1)
+ printf(_("device %s is associated with %s\n"),
+ mc->m.mnt_fsname, fs->m.mnt_fsname);
+ return 1;
+ }
+
+ if (verbose > 1)
+ printf(_("device %s is not associated with %s\n"),
+ mc->m.mnt_fsname, fs->m.mnt_fsname);
+ return 0;
+}
+
+/*
+ * umount helper call based on {u,p}helper= mount option
+ */
+static int check_helper_umountprog(const char *node,
+ const char *opts, const char *name,
+ int *status)
+{
+ char *helper;
+
+ if (!external_allowed || !opts)
+ return 0;
+
+ helper = get_option_value(opts, name);
+ if (helper)
+ return check_special_umountprog(node, helper, status);
+
+ return 0;
+}
+
+static int
+umount_file (char *arg) {
+ struct mntentchn *mc, *fs;
+ const char *file, *options;
+ int fstab_has_user, fstab_has_users, fstab_has_owner, fstab_has_group;
+ int ok, status = 0;
+ struct stat statbuf;
+ char *loopdev = NULL;
+
+ if (!*arg) { /* "" would be expanded to `pwd` */
+ die(2, _("Cannot unmount \"\"\n"));
+ return 0;
+ }
+
+ file = canonicalize(arg); /* mtab paths are canonicalized */
+
+try_loopdev:
+ if (verbose > 1)
+ printf(_("Trying to unmount %s\n"), file);
+
+ mc = getmntdirbackward(file, NULL);
+ if (!mc) {
+ mc = getmntdevbackward(file, NULL);
+ if (mc) {
+ struct mntentchn *mc1;
+ char *cn;
+
+ mc1 = getmntdirbackward(mc->m.mnt_dir, NULL);
+ if (!mc1)
+ /* 'mc1' must exist, though not necessarily
+ equals to `mc'. Otherwise we go mad. */
+ die(EX_SOFTWARE,
+ _("umount: confused when analyzing mtab"));
+
+ cn = canonicalize(mc1->m.mnt_fsname);
+ if (cn && strcmp(file, cn)) {
+ /* Something was stacked over `file' on the
+ same mount point. */
+ die(EX_FAIL, _("umount: cannot unmount %s -- %s is "
+ "mounted over it on the same point"),
+ file, mc1->m.mnt_fsname);
+ }
+ free(cn);
+ }
+ }
+ if (!mc && verbose)
+ printf(_("Could not find %s in mtab\n"), file);
+
+ /* not found in mtab - check if it is associated with some loop device
+ * (only if it is a regular file)
+ */
+ if (!mc && !loopdev && !stat(file, &statbuf) && S_ISREG(statbuf.st_mode)) {
+ int count = loopdev_count_by_backing_file(file, &loopdev);
+
+ if (count == 1) {
+ if (verbose)
+ printf(_("%s is associated with %s\n"),
+ arg, loopdev);
+ file = loopdev;
+ goto try_loopdev;
+
+ } else if (count > 1)
+ fprintf(stderr, _("umount: warning: %s is associated "
+ "with more than one loop device\n"), arg);
+ }
+
+ if (mc) {
+ /*
+ * helper - umount helper (e.g. pam_mount)
+ */
+ if (check_helper_umountprog(arg, mc->m.mnt_opts,
+ "helper=", &status))
+ return status;
+ }
+
+ if (restricted) {
+ char *mtab_user = NULL;
+
+ if (!mc)
+ die(2,
+ _("umount: %s is not mounted (according to mtab)"),
+ file);
+ /*
+ * uhelper - unprivileged umount helper (e.g. HAL/udisks mounts)
+ */
+ if (check_helper_umountprog(arg, mc->m.mnt_opts,
+ "uhelper=", &status))
+ return status;
+
+ /* The 2.4 kernel will generally refuse to mount the same
+ filesystem on the same mount point, but will accept NFS.
+ So, unmounting must be possible. */
+ if (!is_mounted_once(file) && strcmp(mc->m.mnt_type,"nfs"))
+ die(2,
+ _("umount: it seems %s is mounted multiple times"),
+ file);
+
+ /* If fstab contains the two lines
+ /dev/sda1 /mnt/zip auto user,noauto 0 0
+ /dev/sda4 /mnt/zip auto user,noauto 0 0
+ then "mount /dev/sda4" followed by "umount /mnt/zip"
+ used to fail. So, we must not look for file, but for
+ the pair (dev,file) in fstab. */
+ fs = getfs_by_devdir(mc->m.mnt_fsname, mc->m.mnt_dir);
+ if (!fs) {
+ fs = getfs_by_dir(file);
+ if (!fs && !getfs_by_spec(file))
+ die (2,
+ _("umount: %s is not in the fstab "
+ "(and you are not root)"),
+ file);
+
+ /* spec could be a file which is loop mounted */
+ if (!fs || !is_valid_loop(mc, fs))
+ die (2, _("umount: %s mount disagrees with "
+ "the fstab"), file);
+ }
+
+ /*
+ * User mounting and unmounting is allowed only
+ * if fstab contains one of the options `user',
+ * `users' or `owner' or `group'.
+ *
+ * The option `users' allows arbitrary users to mount
+ * and unmount - this may be a security risk.
+ *
+ * The options `user', `owner' and `group' only allow
+ * unmounting by the user that mounted (visible in mtab).
+ */
+
+ options = fs->m.mnt_opts;
+ if (!options)
+ options = "";
+ fstab_has_user = contains(options, "user");
+ fstab_has_users = contains(options, "users");
+ fstab_has_owner = contains(options, "owner");
+ fstab_has_group = contains(options, "group");
+ ok = 0;
+
+ if (fstab_has_users)
+ ok = 1;
+
+ if (!ok && (fstab_has_user || fstab_has_owner ||
+ fstab_has_group)) {
+ char *user = getusername();
+
+ options = mc->m.mnt_opts;
+ if (!options)
+ options = "";
+ mtab_user = get_option_value(options, "user=");
+
+ if (user && mtab_user && streq (user, mtab_user))
+ ok = 1;
+ }
+ if (!ok)
+ die (2, _("umount: only %s can unmount %s from %s"),
+ mtab_user ? mtab_user : "root",
+ fs->m.mnt_fsname, fs->m.mnt_dir);
+
+ }
+
+ if (mc)
+ return umount_one_bw (file, mc);
+ else
+ return umount_one (arg, arg, arg, NULL);
+}
+
+int
+main (int argc, char *argv[]) {
+ int c;
+ int all = 0;
+ char *types = NULL, *test_opts = NULL, *p;
+ int result = 0;
+
+ sanitize_env();
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ progname = argv[0];
+ if ((p = strrchr(progname, '/')) != NULL)
+ progname = p+1;
+
+ umask(022);
+
+ while ((c = getopt_long (argc, argv, "adfhlnrit:O:vV",
+ longopts, NULL)) != -1)
+ switch (c) {
+ case 'a': /* umount everything */
+ ++all;
+ break;
+ /* fall through? */
+ case 'd': /* do losetup -d for unmounted loop devices */
+ ++delloop;
+ break;
+ case 'f': /* force umount */
+ ++force;
+ break;
+ case 'h': /* help */
+ usage (stdout, 0);
+ break;
+ case 'l': /* lazy umount */
+ ++lazy;
+ break;
+ case 'n': /* do not write in /etc/mtab */
+ ++nomtab;
+ break;
+ case 'O': /* specify file system options */
+ test_opts = optarg;
+ break;
+ case 'r': /* remount read-only if umount fails */
+ ++remount;
+ break;
+ case 'v': /* make noise */
+ ++verbose;
+ break;
+ case 'V': /* version */
+ printf ("umount (%s)\n", PACKAGE_STRING);
+ exit (0);
+ case 't': /* specify file system type */
+ types = optarg;
+ break;
+ case 'i':
+ external_allowed = 0;
+ break;
+ case 144:
+ nocanonicalize = 1;
+ break;
+ case 145:
+ fake = 1;
+ break;
+ case 0:
+ break;
+ case '?':
+ default:
+ usage (stderr, 1);
+ }
+
+ {
+ const uid_t ruid = getuid();
+ const uid_t euid = geteuid();
+
+ /* if we're really root and aren't running setuid */
+ if (((uid_t)0 == ruid) && (ruid == euid)) {
+ restricted = 0;
+ }
+ }
+
+ if (restricted &&
+ (all || types || nomtab || force || remount || nocanonicalize ||
+ fake)) {
+ die (2, _("umount: only root can do that"));
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ atexit(unlock_mtab);
+
+ if (all) {
+ /* nodev stuff: sysfs, usbfs, oprofilefs, ... */
+ if (types == NULL)
+ types = "noproc,nodevfs,nodevpts,nosysfs,norpc_pipefs,nonfsd";
+ result = umount_all (types, test_opts);
+ } else if (argc < 1) {
+ usage (stderr, 2);
+ } else while (argc--) {
+ result += umount_file(*argv++);
+ }
+ exit (result); /* nonzero on at least one failure */
+}
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644
index 0000000..e08b03e
--- /dev/null
+++ b/po/Makefile.in.in
@@ -0,0 +1,367 @@
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2004 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU General Public
+# License but which still want to provide support for the GNU gettext
+# functionality.
+# Please note that the actual code of GNU gettext is covered by the GNU
+# General Public License and is *not* in the public domain.
+#
+# Origin: gettext-0.14
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = $(datadir)/locale
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
+
+GMSGFMT = @GMSGFMT@
+MSGFMT = @MSGFMT@
+XGETTEXT = @XGETTEXT@
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+ @echo "$(MSGFMT) -c -o $@ $<"; \
+ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+ @lang=`echo $* | sed -e 's,.*/,,'`; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+ sed -e '/^#/d' $< > t-$@
+ mv t-$@ $@
+
+
+all: all-@USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @echo "touch stamp-po"
+ @echo timestamp > stamp-poT
+ @mv stamp-poT stamp-po
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
+ test ! -f $(DOMAIN).po || { \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+ else \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ else \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+ $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(srcdir)/$(DOMAIN).pot
+ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+ if test -f "$(srcdir)/$${lang}.po"; then \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+ else \
+ $(MAKE) $${lang}.po-create; \
+ fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+install-data-no: all
+install-data-yes: all
+ $(mkinstalldirs) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkinstalldirs) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+ fi; \
+ done; \
+ done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+installdirs-data-no:
+installdirs-data-yes:
+ $(mkinstalldirs) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkinstalldirs) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ fi; \
+ done; \
+ done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+uninstall-data-no:
+uninstall-data-yes:
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ done; \
+ done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+ rm -f remove-potcdate.sed
+ rm -f stamp-poT
+ rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+ rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+ rm -f Makefile Makefile.in POTFILES *.mo
+
+maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ rm -f stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+ $(MAKE) update-po
+ @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: $(DISTFILES)
+ dists="$(DISTFILES)"; \
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ dists="$$dists Makevars.template"; \
+ fi; \
+ if test -f $(srcdir)/ChangeLog; then \
+ dists="$$dists ChangeLog"; \
+ fi; \
+ for i in 0 1 2 3 4 5 6 7 8 9; do \
+ if test -f $(srcdir)/ChangeLog.$$i; then \
+ dists="$$dists ChangeLog.$$i"; \
+ fi; \
+ done; \
+ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+ for file in $$dists; do \
+ if test -f $$file; then \
+ cp -p $$file $(distdir); \
+ else \
+ cp -p $(srcdir)/$$file $(distdir); \
+ fi; \
+ done
+
+update-po: Makefile
+ $(MAKE) $(DOMAIN).pot-update
+ test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+ $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+ @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+ exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "msgmerge for $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+ @:
+
+Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
+ $(SHELL) ./config.status
+
+force:
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/po/Makevars b/po/Makevars
new file mode 100644
index 0000000..9938e44
--- /dev/null
+++ b/po/Makevars
@@ -0,0 +1,41 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --keyword=P_:1,2
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Karel Zak <kzak@redhat.com>
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+# in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+# understood.
+# - Strings which make invalid assumptions about notation of date, time or
+# money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = util-linux@vger.kernel.org
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..dc0559a
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,359 @@
+disk-utils/addpart.c
+disk-utils/blockdev.c
+disk-utils/cramfs_common.c
+disk-utils/cramfs.h
+disk-utils/delpart.c
+disk-utils/elvtune.c
+disk-utils/fdformat.c
+disk-utils/fsck.c
+disk-utils/fsck.cramfs.c
+disk-utils/fsck.minix.c
+disk-utils/isosize.c
+disk-utils/minix_programs.h
+disk-utils/mkfs.bfs.c
+disk-utils/mkfs.c
+disk-utils/mkfs.cramfs.c
+disk-utils/mkfs.minix.c
+disk-utils/mkswap.c
+disk-utils/partx.c
+disk-utils/partx.h
+disk-utils/raw.c
+disk-utils/resizepart.c
+disk-utils/swaplabel.c
+fdisks/cfdisk.c
+fdisks/common.h
+fdisks/fdiskaixlabel.c
+fdisks/fdiskaixlabel.h
+fdisks/fdiskbsdlabel.c
+fdisks/fdiskbsdlabel.h
+fdisks/fdisk.c
+fdisks/fdiskdoslabel.c
+fdisks/fdiskdoslabel.h
+fdisks/fdisk.h
+fdisks/fdiskmaclabel.c
+fdisks/fdiskmaclabel.h
+fdisks/fdisksgilabel.c
+fdisks/fdisksgilabel.h
+fdisks/fdisksunlabel.c
+fdisks/fdisksunlabel.h
+fdisks/gpt.c
+fdisks/gpt.h
+fdisks/i386_sys_types.c
+fdisks/partname.c
+fdisks/sfdisk.c
+fdisks/utils.c
+include/all-io.h
+include/at.h
+include/bitops.h
+include/blkdev.h
+include/canonicalize.h
+include/carefulputc.h
+include/c.h
+include/closestream.h
+include/cpuset.h
+include/crc32.h
+include/env.h
+include/exitcodes.h
+include/fileutils.h
+include/ismounted.h
+include/linux_reboot.h
+include/linux_version.h
+include/list.h
+include/loopdev.h
+include/mangle.h
+include/match.h
+include/mbsalign.h
+include/md5.h
+include/minix.h
+include/nls.h
+include/optutils.h
+include/pager.h
+include/pamfail.h
+include/path.h
+include/pathnames.h
+include/procutils.h
+include/randutils.h
+include/rpmatch.h
+include/setproctitle.h
+include/strutils.h
+include/swapheader.h
+include/sysfs.h
+include/tt.h
+include/ttyutils.h
+include/usleep.h
+include/wholedisk.h
+include/widechar.h
+include/xalloc.h
+include/xgetpass.h
+lib/at.c
+lib/blkdev.c
+libblkid/samples/mkfs.c
+libblkid/samples/partitions.c
+libblkid/samples/superblocks.c
+libblkid/samples/topology.c
+libblkid/src/blkidP.h
+libblkid/src/cache.c
+libblkid/src/config.c
+libblkid/src/dev.c
+libblkid/src/devname.c
+libblkid/src/devno.c
+libblkid/src/encode.c
+libblkid/src/evaluate.c
+libblkid/src/getsize.c
+libblkid/src/llseek.c
+libblkid/src/partitions/aix.c
+libblkid/src/partitions/aix.h
+libblkid/src/partitions/blkid_parttypes.h
+libblkid/src/partitions/bsd.c
+libblkid/src/partitions/dos.c
+libblkid/src/partitions/dos.h
+libblkid/src/partitions/gpt.c
+libblkid/src/partitions/mac.c
+libblkid/src/partitions/minix.c
+libblkid/src/partitions/partitions.c
+libblkid/src/partitions/partitions.h
+libblkid/src/partitions/sgi.c
+libblkid/src/partitions/solaris_x86.c
+libblkid/src/partitions/sun.c
+libblkid/src/partitions/ultrix.c
+libblkid/src/partitions/unixware.c
+libblkid/src/probe.c
+libblkid/src/read.c
+libblkid/src/resolve.c
+libblkid/src/save.c
+libblkid/src/superblocks/adaptec_raid.c
+libblkid/src/superblocks/befs.c
+libblkid/src/superblocks/bfs.c
+libblkid/src/superblocks/btrfs.c
+libblkid/src/superblocks/cramfs.c
+libblkid/src/superblocks/ddf_raid.c
+libblkid/src/superblocks/drbd.c
+libblkid/src/superblocks/drbdproxy_datalog.c
+libblkid/src/superblocks/exfat.c
+libblkid/src/superblocks/ext.c
+libblkid/src/superblocks/gfs.c
+libblkid/src/superblocks/hfs.c
+libblkid/src/superblocks/highpoint_raid.c
+libblkid/src/superblocks/hpfs.c
+libblkid/src/superblocks/iso9660.c
+libblkid/src/superblocks/isw_raid.c
+libblkid/src/superblocks/jfs.c
+libblkid/src/superblocks/jmicron_raid.c
+libblkid/src/superblocks/linux_raid.c
+libblkid/src/superblocks/lsi_raid.c
+libblkid/src/superblocks/luks.c
+libblkid/src/superblocks/lvm.c
+libblkid/src/superblocks/minix.c
+libblkid/src/superblocks/netware.c
+libblkid/src/superblocks/nilfs.c
+libblkid/src/superblocks/ntfs.c
+libblkid/src/superblocks/nvidia_raid.c
+libblkid/src/superblocks/ocfs.c
+libblkid/src/superblocks/promise_raid.c
+libblkid/src/superblocks/reiserfs.c
+libblkid/src/superblocks/romfs.c
+libblkid/src/superblocks/silicon_raid.c
+libblkid/src/superblocks/squashfs.c
+libblkid/src/superblocks/superblocks.c
+libblkid/src/superblocks/superblocks.h
+libblkid/src/superblocks/swap.c
+libblkid/src/superblocks/sysv.c
+libblkid/src/superblocks/ubifs.c
+libblkid/src/superblocks/udf.c
+libblkid/src/superblocks/ufs.c
+libblkid/src/superblocks/vfat.c
+libblkid/src/superblocks/via_raid.c
+libblkid/src/superblocks/vmfs.c
+libblkid/src/superblocks/vxfs.c
+libblkid/src/superblocks/xfs.c
+libblkid/src/superblocks/zfs.c
+libblkid/src/tag.c
+libblkid/src/topology/dm.c
+libblkid/src/topology/evms.c
+libblkid/src/topology/ioctl.c
+libblkid/src/topology/lvm.c
+libblkid/src/topology/md.c
+libblkid/src/topology/sysfs.c
+libblkid/src/topology/topology.c
+libblkid/src/topology/topology.h
+libblkid/src/verify.c
+libblkid/src/version.c
+lib/canonicalize.c
+lib/cpuset.c
+lib/crc32.c
+lib/env.c
+lib/fileutils.c
+lib/ismounted.c
+lib/langinfo.c
+lib/linux_version.c
+lib/loopdev.c
+lib/mangle.c
+lib/match.c
+lib/mbsalign.c
+lib/md5.c
+libmount/src/cache.c
+libmount/src/context.c
+libmount/src/context_loopdev.c
+libmount/src/context_mount.c
+libmount/src/context_umount.c
+libmount/src/fs.c
+libmount/src/init.c
+libmount/src/iter.c
+libmount/src/lock.c
+libmount/src/mountP.h
+libmount/src/optmap.c
+libmount/src/optstr.c
+libmount/src/tab.c
+libmount/src/tab_diff.c
+libmount/src/tab_parse.c
+libmount/src/tab_update.c
+libmount/src/test.c
+libmount/src/utils.c
+libmount/src/version.c
+lib/pager.c
+lib/path.c
+lib/procutils.c
+lib/randutils.c
+lib/setproctitle.c
+lib/strutils.c
+lib/sysfs.c
+lib/tt.c
+libuuid/src/clear.c
+libuuid/src/compare.c
+libuuid/src/copy.c
+libuuid/src/gen_uuid.c
+libuuid/src/isnull.c
+libuuid/src/pack.c
+libuuid/src/parse.c
+libuuid/src/test_uuid.c
+libuuid/src/unpack.c
+libuuid/src/unparse.c
+libuuid/src/uuidd.h
+libuuid/src/uuid.h
+libuuid/src/uuidP.h
+libuuid/src/uuid_time.c
+lib/wholedisk.c
+lib/xgetpass.c
+login-utils/chfn.c
+login-utils/chsh.c
+login-utils/islocal.c
+login-utils/islocal.h
+login-utils/last.c
+login-utils/login.c
+login-utils/logindefs.c
+login-utils/logindefs.h
+login-utils/newgrp.c
+login-utils/selinux_utils.c
+login-utils/selinux_utils.h
+login-utils/setpwnam.c
+login-utils/setpwnam.h
+login-utils/su.c
+login-utils/sulogin.c
+login-utils/utmpdump.c
+login-utils/vipw.c
+misc-utils/blkid.c
+misc-utils/cal.c
+misc-utils/ddate.c
+misc-utils/findfs.c
+misc-utils/findmnt.c
+misc-utils/getopt.c
+misc-utils/kill.c
+misc-utils/kill.h
+misc-utils/logger.c
+misc-utils/look.c
+misc-utils/lsblk.c
+misc-utils/lslocks.c
+misc-utils/mcookie.c
+misc-utils/namei.c
+misc-utils/procs.c
+misc-utils/rename.c
+misc-utils/sd-daemon.c
+misc-utils/sd-daemon.h
+misc-utils/uuidd.c
+misc-utils/uuidgen.c
+misc-utils/whereis.c
+misc-utils/wipefs.c
+mount-deprecated/devname.c
+mount-deprecated/devname.h
+mount-deprecated/fsprobe.c
+mount-deprecated/fsprobe.h
+mount-deprecated/fstab.c
+mount-deprecated/fstab.h
+mount-deprecated/getusername.c
+mount-deprecated/getusername.h
+mount-deprecated/mount.c
+mount-deprecated/mount_constants.h
+mount-deprecated/mount_mntent.c
+mount-deprecated/mount_mntent.h
+mount-deprecated/sundries.c
+mount-deprecated/sundries.h
+mount-deprecated/umount.c
+schedutils/chrt.c
+schedutils/ionice.c
+schedutils/taskset.c
+sys-utils/arch.c
+sys-utils/chcpu.c
+sys-utils/ctrlaltdel.c
+sys-utils/cyclades.h
+sys-utils/cytune.c
+sys-utils/dmesg.c
+sys-utils/eject.c
+sys-utils/fallocate.c
+sys-utils/flock.c
+sys-utils/fsfreeze.c
+sys-utils/fstrim.c
+sys-utils/hwclock.c
+sys-utils/hwclock-cmos.c
+sys-utils/hwclock.h
+sys-utils/hwclock-kd.c
+sys-utils/hwclock-rtc.c
+sys-utils/ipcmk.c
+sys-utils/ipcrm.c
+sys-utils/ipcs.c
+sys-utils/ldattach.c
+sys-utils/losetup.c
+sys-utils/lp.h
+sys-utils/lscpu.c
+sys-utils/mount.c
+sys-utils/mountpoint.c
+sys-utils/pivot_root.c
+sys-utils/prlimit.c
+sys-utils/readprofile.c
+sys-utils/renice.c
+sys-utils/rtcwake.c
+sys-utils/setarch.c
+sys-utils/setsid.c
+sys-utils/swapoff.c
+sys-utils/swapon.c
+sys-utils/swapon-common.c
+sys-utils/swapon-common.h
+sys-utils/switch_root.c
+sys-utils/tunelp.c
+sys-utils/umount.c
+sys-utils/unshare.c
+sys-utils/wdctl.c
+term-utils/agetty.c
+term-utils/mesg.c
+term-utils/script.c
+term-utils/scriptreplay.c
+term-utils/setterm.c
+term-utils/ttymsg.c
+term-utils/ttymsg.h
+term-utils/wall.c
+term-utils/write.c
+text-utils/col.c
+text-utils/colcrt.c
+text-utils/colrm.c
+text-utils/column.c
+text-utils/conv.c
+text-utils/display.c
+text-utils/hexdump.c
+text-utils/hexdump.h
+text-utils/hexsyntax.c
+text-utils/line.c
+text-utils/more.c
+text-utils/parse.c
+text-utils/pg.c
+text-utils/rev.c
+text-utils/tailf.c
+text-utils/ul.c
diff --git a/po/Rules-quot b/po/Rules-quot
new file mode 100644
index 0000000..9c2a995
--- /dev/null
+++ b/po/Rules-quot
@@ -0,0 +1,47 @@
+# Special Makefile rules for English message catalogs with quotation marks.
+
+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+
+.SUFFIXES: .insert-header .po-update-en
+
+en@quot.po-create:
+ $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+ $(MAKE) en@boldquot.po-update
+
+en@quot.po-update: en@quot.po-update-en
+en@boldquot.po-update: en@boldquot.po-update-en
+
+.insert-header.po-update-en:
+ @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ ll=`echo $$lang | sed -e 's/@.*//'`; \
+ LC_ALL=C; export LC_ALL; \
+ cd $(srcdir); \
+ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "creation of $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+en@quot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+
+en@boldquot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+
+mostlyclean: mostlyclean-quot
+mostlyclean-quot:
+ rm -f *.insert-header
diff --git a/po/boldquot.sed b/po/boldquot.sed
new file mode 100644
index 0000000..4b937aa
--- /dev/null
+++ b/po/boldquot.sed
@@ -0,0 +1,10 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/â€\1’/g
+s/ '\([^`']*\)' / â€\1’ /g
+s/ '\([^`']*\)'$/ â€\1’/g
+s/^'\([^`']*\)' /â€\1’ /g
+s/“”/""/g
+s/“/“/g
+s/”/”/g
+s/â€/â€/g
+s/’/’/g
diff --git a/po/ca.gmo b/po/ca.gmo
new file mode 100644
index 0000000..2d3832f
--- /dev/null
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 0000000..bd3b230
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,18346 @@
+# translation of util-linux.po to Catalan
+# Copyright © 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Antoni Bella Perez <bella5@teleline.es>, 2002, 2003.
+# Jordi Mallach <jordi@gnu.org>, 2004, 2005.
+# Josep Puigdemont <josep.puigdemont@gmail.com>, 2005
+#
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.13-pre3\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2005-09-17 13:40+0200\n"
+"Last-Translator: Josep Puigdemont <josep.puigdemont@gmail.com>\n"
+"Language-Team: Catalan <ca@dodds.net>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "%s no es pot obrir"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "identificador invĂ lid"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "identificador invĂ lid"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "identificador invĂ lid"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "torna a llegir la taula de particions"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "estableix a només lectura"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "estableix a lectura/escriptura"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "aconsegueix només lectura"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+#, fuzzy
+msgid "get logical block (sector) size"
+msgstr "aconsegueix la mida del sector"
+
+#: disk-utils/blockdev.c:93
+#, fuzzy
+msgid "get physical block (sector) size"
+msgstr "aconsegueix la mida del sector"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "mida de node d'identificaciĂł incorrecte"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "Sectors addicionals per cilindre"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "aconsegueix la mida del bloc"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "estableix la mida del bloc"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "aconsegueix el compte de sectors de 32 bits"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "aconsegueix la mida en octets"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "estableix «readahead»"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "aconsegueix \"readahead\""
+
+#: disk-utils/blockdev.c:162
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "estableix «readahead»"
+
+#: disk-utils/blockdev.c:168
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "aconsegueix \"readahead\""
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "buida la memòria temporal"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "torna a llegir la taula de particions"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "aconsegueix la mida en octets"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "No s'ha pogut obtenir la mida del disc"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Ordre desconeguda: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s requereix un argument\n"
+
+#: disk-utils/blockdev.c:370
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "la cerca ha fallat"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s s'ha completat amb èxit.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: s'ha produĂŻt un error d'ioctl en %s\n"
+
+#: disk-utils/blockdev.c:469
+#, fuzzy, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ SectInici Mida Dispositiu\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "forma d'Ăşs: sfdisk --id dispositiu particiĂł_nĂşmero [Id]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "torna a llegir la taula de particions"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "forma d'Ăşs:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s no Ă©s cap dispositiu de bloc o un fitxer\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "S'estĂ  formatant... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "fet\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "S'estĂ  verificant... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Lectura: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr ""
+"Hi ha un problema en llegir el cilindre %d, s'esperava %d i s'ha llegit %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"dades incorrectes al cilindre %d\n"
+"S'estĂ  continuant... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "(Fitxer segĂĽent: %s)"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: no Ă©s un dispositiu de bloc\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "No es pot determinar l'actual tipus de format"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "Cara %s, %d pistes, %d segons/pista. Capacitat total %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Doble"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Simple"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s estĂ  muntat.\t "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s: no s'ha trobat"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "no es pot fer stat per a %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "s'ha produĂŻt un error en cercar"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "S'estan sincronitzant els discs.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s s'ha completat amb èxit.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "la cerca ha fallat"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "s'ha produĂŻt un error en cercar"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s: no s'ha trobat"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "no s'ha pogut bifurcar\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() ha fallat"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: s'ha produĂŻt un error %d en descomprimir! %p(%d)\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s no Ă©s un dispositiu lp.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: no es reconeix el sitema de fitxers «%s»"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "S'està forçant la comprovació del sistema de fitxers a %s.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: %s no Ă©s un dispositiu lp.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s desmuntat\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "S'estĂ  desmuntant els sistemes de fitxers restants..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "S'estĂ  desmuntant els sistemes de fitxers restants..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: argument desconegut: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Mostra la informaciĂł de la versiĂł\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: avĂ­s; no es pot determinar la mida del sistema de fitxers \n"
+
+#: disk-utils/fsck.cramfs.c:158
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s no Ă©s cap dispositiu de bloc o un fitxer\n"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: el cramfs Ă©s invĂ lid, la longitud del fitxer Ă©s massa curta\n"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Fitxer segĂĽent: %s)"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: disk-utils/fsck.cramfs.c:188
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Nombre de sectors"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Avís: la partició %s s'extén més enllà del final del disc\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: avís; la imatge cramfs és antiga, no té CRC\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+#, fuzzy
+msgid "crc error"
+msgstr ", error"
+
+#: disk-utils/fsck.cramfs.c:324
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " forat a %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " s'estĂ  descomprimint el bloc de %ld a %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: No bloc (%ld) octets\n"
+
+# "No mida" no Ă©s gens correcte... jm
+#: disk-utils/fsck.cramfs.c:394
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: Octets sense mida (%ld vs %ld)\n"
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Fitxer segĂĽent: %s)"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "no s'ha estat possible muntar"
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "no s'ha estat possible muntar"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "valor d'expiraciĂł erroni: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() ha fallat: %m"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "mida de node d'identificaciĂł incorrecte"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: hi ha un error en la mida de l'enllaç simbòlic «%s»\n"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "no s'ha pogut fer fsync"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: mode erroni a «%s» (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:584
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "no s'ha estat possible muntar"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: el cramfs Ă©s invĂ lid, el final de les dades als directoris (%ld)\n"
+"Ă©s diferent de l'inici de les dades dels fitxers (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:625
+#, fuzzy
+msgid "invalid file data offset"
+msgstr ""
+"%s: el cramfs és invàlid, hi ha un desplaçament invàlid de les dades dels "
+"fitxers\n"
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: compilat sense implementar -x\n"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Correcte\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file nom_fitxer_bolcat ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "es necessita un terminal per a reparacions interactives"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Mostra la informaciĂł de la versiĂł\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s estĂ  muntat.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Esteu segur de voler continuar?"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "s'ha avortat la comprovaciĂł.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Número de zona < FIRSTZONE en el fitxer «%s»."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Número de zona >= ZONES en el fitxer «%s»."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Elimina el bloc"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr ""
+"S'ha produït un error de lectura: no es pot cercar el bloc al fitxer «%s»\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "S'ha produït un error de lectura: bloc erroni al fitxer «%s»\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"S'ha produĂŻt un error intern: s'estĂ  intentant escriure un bloc erroni\n"
+"S'ha ignorat la peticiĂł d'escriptura\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "s'ha produĂŻt un error en fer una cerca en write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr ""
+"S'ha produït un error d'escriptura: hi ha un bloc incorrecte al fitxer «%s»\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "s'ha produĂŻt un error en fer una cerca en write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "no es pot escriure el superbloc"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "No es pot escriure el mapa de nodes d'identificaciĂł"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "No es pot escriure el mapa de zona"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "No es poden escriure els nodes d'identificaciĂł"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "la cerca ha fallat"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "no s'ha pogut assignar memòria intermèdia per als mapes"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "no es pot llegir el superbloc"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "nĂşmero mĂ gic incorrecte en el superbloc"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Només es suporten blocs o zones de 1k"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "Camp s_imap_blocks incorrecte al superbloc"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "Camp s_zmap_blocks incorrecte en el superbloc"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr ""
+"No es pot assignar memòria intermèdia per al mapa de nodes d'identificació"
+
+#: disk-utils/fsck.minix.c:600
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr ""
+"No es pot assignar memòria intermèdia per al mapa de nodes d'identificació"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "No es pot assignar memòria intermèdia per als nodes d'identificació"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr ""
+"No es pot assignar memòria intermèdia per al nombre de nodes d'identificació"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "No es pot assignar memòria intermèdia per al nombre de zones"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "No es pot llegir el mapa de nodes d'identificaciĂł"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "No es pot llegir el mapa de zones"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "No es poden llegir els nodes d'identificaciĂł"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "AtenciĂł: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld nodes d'identificaciĂł\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blocs\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Primera zona de dades=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Mida de la zona=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Mida mĂ xima=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Estat del sistema de fitxers=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"longitud del nom=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"El node d'identificació %d està marcat com a no usat, però és usat pel "
+"fitxer «%s»\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Marca'l en Ăşs"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "El fitxer «%s» té el mode %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "AvĂ­s: el nombre de nodes d'identificaciĂł Ă©s massa gran.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "El bloc ja ha estat emprat anteriorment. Ara estĂ  en el fitxer \"%s\"."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Neteja"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "El bloc %d en el fitxer `%s' estĂ  marcat com a no usat."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Corregeix"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+"El directori `%s' conté un nombre de nodes d'identificació incorrecte per al "
+"fitxer «%.*s»."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Elimina"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: directori incorrecte: «.» no és el primer\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: directori incorrecte: «..» no és el segon\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "error intern"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: directori incorrecte: mida < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "s'ha produĂŻt un error en cercar a bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "No s'ha esborrat el mode del node d'identificaciĂł %d."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr ""
+"El node d'identificaciĂł %d no s'usa; s'ha marcat com a usat en el mapa de "
+"bits."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr ""
+"S'estĂ  usant el node d'identificaciĂł %d; marcat com a en desĂşs en el mapa de "
+"bits."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Estableix"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Node d'identificaciĂł %d (mode = %07o), i_nlinks=%d, comptats=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Estableix i_nlinks als comptats"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zona %d: marcada com a en Ăşs; cap fitxer no l'utilitza."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Elimina la marca"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zona %d: en Ăşs, comptada=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zona %d: no en Ăşs, comptada=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "mida de node d'identificaciĂł incorrecte"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "mida de node d'identificaciĂł v2 incorrecte"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "es necessita un terminal per a reparacions interactives"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "%s no es pot obrir"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s estĂ  net; no es comprova.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "S'està forçant la comprovació del sistema de fitxers a %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Hi ha elements estranys al sistema de fitxers %s, s'ha de comprovar.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld nodes d'identificaciĂł usats (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones usades (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d fitxers normals\n"
+"%6d directoris\n"
+"%6d fitxers dispositiu de carĂ cter\n"
+"%6d fitxers dispositiu de bloc\n"
+"%6d enllaços\n"
+"%6d enllaços simbòlics\n"
+"------\n"
+"%6d fitxers\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------------\n"
+"EL SISTEMA DE FITXERS HA CANVIAT\n"
+"----------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: s'ha produĂŻt un error en cercar a %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: s'ha produĂŻt un error de lectura a %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "compte de sectors: %d, mida del sector: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "Nombre invĂ lid: %s\n"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "nom del volum massa llarg"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "nom del sistema de fitxers massa llarg"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s no es un dispositiu de bloc especial"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "identificador invĂ lid"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "no es pot obtenir la mida de %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "el nombre de blocs es massa gran, el mĂ xim Ă©s de %lu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "massa nodes d'identificaciĂł; el mĂ xim Ă©s de 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "no hi ha prou espai, com a mĂ­nim es necessiten %lu blocs"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositiu: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volum: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Nom_Sis.Fit: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "MidaBloc: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Nodes d'identificaciĂł: %d (al 1 bloc)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Nodes d'identificaciĂł: %d (als %ld blocs)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blocs: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Ăšltim node d'identificaciĂł: %d, Dada final: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "s'ha produĂŻt un error en escriure el superbloc"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "s'ha produĂŻt un error en escriure el node d'identificaciĂł arrel"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "s'ha produĂŻt un error en escriure el node d'identificaciĂł"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "s'ha produĂŻt un error en cercar"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "s'ha produĂŻt un error en escriure l'entrada ."
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "s'ha produĂŻt un error en escriure l'entrada .."
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "s'ha produĂŻt un error en tancar %s"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Forma d'Ăşs: mkfs [-V] [-t tipus_sis._fitx.] [opcions_sis._fitx.] dispositiu "
+"[mida]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, fuzzy, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"forma d'Ăşs: %s [-h] [-v] [-b blksz] [-e ediciĂł] [-i fitxer] [-n nom] nom_dir "
+"sortida\n"
+" -h mostra aquesta ajuda\n"
+" -v més missatges\n"
+" -E converteix els avisos en errors (estat de sortida no zero)\n"
+" -b utilitza aquesta mida de bloc, ha de ser igual que la mida\n"
+" de pĂ gina\n"
+" -e ediciĂł estableix el nĂşmero d'ediciĂł (part de fsid)\n"
+" -i fitxer insereix una imatge de fitxer al sistema de fitxers\n"
+" (requereix >= 2.4.0)\n"
+" -n nom estableix el nom del sistema de fitxers cramfs\n"
+" -p desplaça %d octets per al codi d'arrencada\n"
+" -s ordena les entrades de directori (opciĂł antiga, s'ignora)\n"
+" -z crea forats explĂ­cits (requereix >= 2.3.39)\n"
+" nom_dir arrel del sistema de fitxers que es comprimirĂ \n"
+" sortida fitxer de sortida\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"S'ha trobat un nom de fitxer '%2$s' molt llarg (%1$u octets).\n"
+" Incrementeu MAX_INPUT_NAMELEN a mkcramfs.c i recompileu-lo. S'estĂ  "
+"sortint.\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "el sistema de fitxers Ă©s massa gran. S'estĂ  sortint.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "Ep: bloc \"comprimit\" a > 2*longituddelbloc (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d octets)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: dispositiu de blocs no vĂ lid"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "mĂ x. nombre de segments = %lu\n"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"avís: s'estima que la mida requerida (cota superior) és d %LdMB, però la "
+"mida mĂ xima de la imatge Ă©s %uMB. Es podria sortir prematurament.\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "S'estĂ  incloent: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dades del directori: %d octets\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Tot: %d kilooctets\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "SĂşper bloc: %d octets\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr "no hi ha prou espai per a la imatge ROM (assignats %Ld, emprats %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "No Ă©s possible escriure la imatge ROM (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "avĂ­s: els noms de fitxer es trunquen a 255 octets.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "avĂ­s: s'han saltat fitxers degut a errors.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "avĂ­s: la mida dels fitxers es trunca a %luMB (menys 1 octet).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"avĂ­s: els identificadors d'usuari (uid) es trunquen a %u bits, (podria ser "
+"un problema de seguretat).\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"avĂ­s: els identificadors de grup (gid) es trunquen a %u bits. (Podria ser "
+"un problema de seguretat).\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"AVÍS: els nombres de dispositiu es trunquen a %u bits. És gairebé segur que\n"
+"això provocarà que alguns dispositius de fitxers siguin erronis.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Forma d'Ăşs: %s [-c | -l nom_fitxer] [-nXX] [-iXX] /dev/nom [blocs]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s ja estĂ  muntat; no s'hi crearĂ  cap sistema de fitxers."
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "s'ha produĂŻt un error en cercar el bloc d'arrencada a write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "no s'ha pogut netejar el sector d'arrencada"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "s'ha produĂŻt un error en cercar a write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "no es pot escriure el superbloc"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "no s'ha pogut escriure el mapa dels nodes d'identificaciĂł"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "no s'ha pogut escriure el mapa de zones"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "no s'ha pogut escriure els nodes d'identificaciĂł"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "s'ha produĂŻt un error en fer una cerca en write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "no s'ha pogut escriure a write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "hi ha massa blocs incorrectes"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "no hi ha prou blocs correctes"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "no s'ha pogut assignar memòria intermèdia per als mapes"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "no s'ha pogut assignar memòria intermèdia per als mapes"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr ""
+"no s'ha pogut assignar memòria intermèdia per als nodes d'identificació"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld nodes d'identificaciĂł\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld blocs\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Mida_mĂ x.=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "no s'ha pogut cercar durant la comprovaciĂł de blocs"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Hi ha valors estranys a do_check: probablement hi ha errors\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "no s'ha pogut cercar a check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"blocs incorrectes abans de l'Ă rea de dades: no s'ha pogut crear el sistema "
+"de fitxers"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d blocs incorrectes\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "un bloc incorrecte\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "no es pot obrir el fitxer de blocs incorrectes"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "No s'ha pogut llegir la unitat de disc"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "mida de node d'identificaciĂł incorrecte"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "error a strtol: no s'han especificat el nombre de blocs"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "umount: %s: dispositiu ocupat"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "no es pot obtenir la mida de %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "no s'intentarĂ  crear cap sistema de fitxers a '%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "Nombre de sectors"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "La mida de la pĂ gina que ha especificat l'usuari, %d, no Ă©s correcte\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"S'estĂ  fent servir la mida de la pĂ gina %d especificada per l'usuari, en "
+"comptes dels valors del sistema %d/%d\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr ""
+"La mida de la capçalera d'intercanvi és errònia, no s'ha escrit cap "
+"etiqueta.\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "S'ha truncat l'etiqueta.\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "sense etiqueta, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "sense uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "hi ha massa pĂ gines incorrectes"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "no s'ha pogut cercar a check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "una pĂ gina incorrecta\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu pĂ gines incorrectes\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr ""
+"no s'ha pogut assignar memòria intermèdia per als nodes d'identificació"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr ""
+"no s'ha pogut assignar memòria intermèdia per als nodes d'identificació"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "no s'ha pogut netejar el sector d'arrencada"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "no s'ha pogut netejar el sector d'arrencada"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p imprimeix la taula de particions BSD"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s mostra totes les etiquetes del disc"
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr " s mostra totes les etiquetes del disc"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "la cerca ha fallat"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "semĂ fors assignats = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: error: versiĂł desconeguda %d\n"
+
+#: disk-utils/mkswap.c:530
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"S'ha produĂŻt un error en tancar el fitxer\n"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: error: no es pot especificar l'espai d'intercanvi enlloc?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "identificador invĂ lid"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: error: la mida %lu es més gran que a la mida del dispositiu %lu\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: error: l'espai d'intercanvi ha de tenir com a mĂ­nim %ldkB\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: avĂ­s: l'espai d'intercanvi s'ha truncat a %ldkB\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s ja estĂ  muntat; no s'hi crearĂ  cap sistema de fitxers."
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "AvĂ­s: %s no Ă©s un dispositiu de blocs\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "No s'ha pogut configurar l'espai d'intercanvi: no es pot llegir"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "S'estĂ  configurant l'espai d'intercanvi versiĂł %d, mida = %llu kB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "no s'ha pogut escriure la pĂ gina de la signatura"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "no s'ha pogut fer fsync"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "no es pot fer stat per a %s"
+
+#: disk-utils/mkswap.c:656
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "no s'ha pogut escriure els nodes d'identificaciĂł"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "no s'ha pogut tornar a nomenar %s per %s: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Nombre de particiĂł"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Imprimeix només la taula de particions"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Nombre de sectors"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Nombre de particiĂł"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d particions:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "S'estĂ  escrivint la taula de particions al disc..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d particions:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# taula de particions de %s\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: no s'ha trobat cap dispositiu loop lliure"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: s'usarĂ  el dispositiu loop %s\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Ordre desconeguda: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "s'ha produĂŻt un error en cercar a write_tables"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Atenció: s'estan suprimint les particions després de %d\n"
+
+#: disk-utils/partx.c:267
+#, fuzzy, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "Atenció: s'estan suprimint les particions després de %d\n"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "No hi han particions definides\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Aquesta particiĂł ja existeix.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "S'ha seleccionat la particiĂł %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "no estĂ  contingut a dins de la particiĂł %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "AvĂ­s: les particions %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "No hi han particions definides\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "la cerca ha fallat"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "torna a llegir la taula de particions"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p imprimeix la taula de particions BSD"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "El disc %s no conté una taula de particions vàlida\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Ordres disponibles:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "No es pot suprimir una particiĂł buida"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "No s'ha pogut blocar el fitxer de blocat %s: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "AvĂ­s: %s no Ă©s un dispositiu de blocs\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s: no Ă©s un dispositiu de carĂ cter"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s no es un dispositiu de bloc especial"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "s'ha produĂŻt un error en aturar el servei: \"%s\""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "s'ha produĂŻt un error en aturar el servei: \"%s\""
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "forma d'Ăşs: sfdisk --id dispositiu particiĂł_nĂşmero [Id]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "s'ha produĂŻt un error en cercar a write_tables"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "torna a llegir la taula de particions"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: aquesta particiĂł no existeix\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: error: versiĂł desconeguda %d\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "s'ha produĂŻt un error en cercar a write_tables"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: No hi ha prou memòria\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Inutilitzable"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Espai lliure"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "El disc s'ha modificat.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Arrenqueu de nou el sistema per a assegurar-vos de que la taula de "
+"particions s'ha actualitzat correctament.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"ATENCIĂ“: Si heu creat o modificat alguna particiĂł\n"
+"DOS 6.x, consulteu la pĂ gina del manual de cfdisk\n"
+"per a informaciĂł addicional.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "ERROR FATAL"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Premeu una tecla per a sortir del cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "No s'ha pogut cercar a la unitat de disc"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "No s'ha pogut llegir la unitat de disc"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "No s'ha pogut escriure a la unitat de disc"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Hi ha massa particions"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "La partició comença abans del sector 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "La particiĂł acaba abans del sector 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "La partició comença despres de la fí del disc"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "La particiĂł acaba despres de la fĂ­ del disc"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "les particions lògiques no estan en l'ordre del disc"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "les particions lògiques s'encavalquen"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "les particions lògiques ampliades s'encavalquen"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Error intern en crear una unitat lògica sense partició estesa !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"No s'ha pogut crear cap unitat lògica; es crearan dues particions esteses"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "L'element del menĂş Ă©s massa llarg; l'aspecte del menĂş pot ser estrany."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Tecla no permesa"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Premeu una tecla per a continuar"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "PrimĂ ria"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Crea una nova particiĂł primĂ ria"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Lògica"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Crea una nova partició lògica"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Cancel·la"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "No creĂŻs cap particiĂł"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Error intern !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Mida (en MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Principi"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Afegeix particiĂł al principi de l'espai lliure"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Final"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Afegeix particiĂł al final de l'espai lliure"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "No hi ha espai per crear la particiĂł estesa"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "No hi ha cap taula de particions.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr ""
+"No hi ha cap taula de particions. S'està començant amb una taula buida."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "La signatura a la taula de particions és errònia"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Es desconeix el tipus de taula de particions"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Desitgeu començar amb una taula buida [s/N]?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Heu especificat més cilindres dels que caben al disc"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "No s'ha pogut obrir la unitat de disc"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "S'ha obert un disc de només lectura; no teniu permís per a escriure-hi"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "No s'ha pogut obtenir la mida del disc"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "ParticiĂł primĂ ria incorrecta"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Partició lògica incorrecta"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Avís: Això pot destruir les dades del disc!"
+
+#: fdisks/cfdisk.c:1699
+#, fuzzy
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Esteu segur que voleu escriure la taula de particions al disc? (sĂ­ o no): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "no"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "No s'ha escrit la taula de particions al disc"
+
+# FIXME: Ă©s possible que no es puga introduir l'accent. jm
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "sĂ­"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Escriviu «sí» o «no»"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "S'estĂ  escrivint la taula de particions al disc..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "S'ha escrit la taula de particions del disc"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"S'ha escrit la taula de particions, però no s'ha pogut rellegir. Arrenqueu "
+"de nou per actualitzar-la."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"No hi ha particions primĂ ries marcades com a d'arrencada. La MBR del DOS no "
+"podrĂ  arrencar."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Hi ha més d'una partició primària marcada com a d'arrencada. La MBR del DOS "
+"no podrĂ  arrencar."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Escriviu el nom del fitxer o premeu la tecla de retorn per visualitzar-ho en "
+"pantalla: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unitat de disc: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sector 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sector %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Cap "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Lòg"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " PrimĂ ria"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Lògica"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Desconegut"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Arrencada"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Cap"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Taula de particions per a %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Primer Ăšltim\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tipus Sector Sector Despl. Longitud (ID) T. de sist. "
+"fitx. Senyal.\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+"\n"
+"-- ----- ------ ------ ------ -------- "
+"---------------------- ------\n"
+
+#: fdisks/cfdisk.c:2039
+#, fuzzy
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ---Inici--- ----Final---- Inici Nombre de\n"
+
+#: fdisks/cfdisk.c:2040
+#, fuzzy
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Senyal Cap Sec Cil ID Cap Sec Cil Sector Sectors\n"
+
+#: fdisks/cfdisk.c:2041
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ------ --- --- --- -- --- --- --- ------ ------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Crues"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Imprimeix la taula utilitzant el format de dades crues"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sectors"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Imprimeix la taula ordenada per sectors"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Taula"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Imprimeix només la taula de particions"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "No imprimeixes la taula"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Pantalla d'ajuda per a cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Això és el cfdisk, un programa per a la partició de discs basat en"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "curses, que us permet crear, suprimir i modificar particions del"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "disc dur."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright © 1994-1999 Kevin E. Martin i aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Ordre Significat"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "----- ----------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Fixa el senyalador d'arrencada a la particiĂł actual"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Suprimeix l'actual particiĂł"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+" g Canvia paràmetres de cilindres, capçals i sectors per pista"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " Avís: Aquesta opció només l'hauria d'usar aquells qui"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " saben el que es fan."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Imprimeix aquesta pantalla"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maximitza la utilitzaciĂł de disc de la particiĂł actual"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Nota: Aquesta opciĂł pot fer la particiĂł incompatible"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " amb DOS, OS/2..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Crea una nova particiĂł des de l'espai lliure"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr ""
+" p Imprimeix la taula de particions a la pantalla o en un fitxer"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Hi ha diversos formats diferents per a la particiĂł"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " entre els quals podeu escollir:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr " r - Dades crues (exactament el que s'escriurĂ  al disc)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Taula ordenada per sectors"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Taula en format cru"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Surt del programa sense escriure la taula de particions"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Canvia el tipus del sistema de fitxers"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Canvia les unitats de la mida visualitzava de la particiĂł"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Alterna entre MB, sectors i cilindres"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Escriu la taula de particions al disc (W en majĂşscula)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Com que això destruirà les dades del disc, ho haureu"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " de confirmar o denegar escrivint «sí» o"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " «no»"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Fletxa amunt Desplaça el cursor a l'anterior partició"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Fletxa avall Desplaça el cursor a la següent partició"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "Ctrl-L Redibuixa la pantalla"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Imprimeix aquesta pantalla"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Nota: Totes les ordres es poden escriure en majĂşscules o"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "minĂşscules (excepte W per a escriure)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cilindres"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Canvia la geometria dels cilindres"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Capçals"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Canvia la geometria dels capçals"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Canvia la geometria dels sectors"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Fet"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "S'ha finalitzat el canvi de geometria"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "IntroduĂŻu el nombre de cilindres: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Valor dels cilindres no permès"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Introduïu el nombre de capçals: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Valor dels capçals no permès"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "IntroduĂŻu el nombre de sectors per pista: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Valor dels sectors no permès"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "No es pot canviar el tipus del sistema de fitxers a buit"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "No es pot canviar el tipus del sistema de fitxers a estès"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Desc.(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Lòg"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Desconegut (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Unitat de disc: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Mida: %lld octets, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Mida: %lld octets, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Capçals: %d Sectors per pista: %d Cilindres: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nom"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Senyaladors"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Tipus part."
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Tipus Sis.Fitx."
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Etiqueta]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sectors"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cilindres"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Mida (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Mida (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "No hi ha més particions"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Arrencable"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Commuta el senyalador d'arrencada de la particiĂł actual"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Suprimeix"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Suprimeix la particiĂł actual"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Canvia la geometria del disc (només usuaris experts)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Ajuda"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Mostra la pantalla d'ajuda"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maximitza"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Maximitza la utilització del disc en la partició actual (només usuaris "
+"experts)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Nova"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Crea una nova particiĂł des de l'espai lliure"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Imprimeix"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Imprimeix la taula de particions a la pantalla o en un fitxer"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Surt"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Surt del programa sense escriure la taula de particions"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Tipus"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Canvia el tipus del sistema de fitxers (DOS, Linux, OS/2, etc.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Unitats"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Canvia les unitats de la mida de la particiĂł (MB, sectors, cilindres)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Escriu"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Escriu la taula de particions al disc (això pot destruir les dades)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Aquesta particiĂł no es pot fer arrencable"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "No es pot suprimir una particiĂł buida"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "No es pot maximitzar aquesta particiĂł"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Aquesta particiĂł Ă©s inutilitzable"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Aquesta particiĂł ja estĂ  en Ăşs"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "No es pot canviar el tipus d'una particiĂł buida"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Ordre no permesa"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994-2002 Kevin E. Martin i aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Forma d'Ăşs:\n"
+"Imprimeix la versiĂł:\n"
+" %s -v\n"
+"Imprimeix la taula de particions:\n"
+" %s -P {r|s|t} [opcions] dispositiu\n"
+"Ăšs interactiu:\n"
+" %s [opcions] dispositiu\n"
+"\n"
+"Opcions:\n"
+"-a: Utilitza la fletxa en comptes del ressaltat.\n"
+"-z: Comença amb una taula de particions des de zero en comptes de llegir-\n"
+" la del disc.\n"
+"-c C -h H -s S: Modifica la idea del nucli sobre el nombre de cilindres,\n"
+" el nombre de capçals i el nombre de sectors per pista.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c canvia el nombre de cilindres"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "%s no es pot obrir"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "%s no es pot obrir"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tEn aquest disc teniu una etiqueta AIX vĂ lida.\n"
+"\tActualment Linux no pot gestionar aquests discs.\n"
+"\tTot i això, tingueu en compte alguns consells:\n"
+"\t1. fdisk en destruirĂ  el contingut en escriure.\n"
+"\t2. Comproveu que aquest disc no sigui una part vital\n"
+"\t d'un grup de volums. (En cas contrari podrĂ­eu\n"
+"\t esborrar els altres discs, si no estan duplicats.)\n"
+"\t3. Abans d'esborrar aquest volum fĂ­sic, esborreu\n"
+"\t el disc lògicament de la màquina AIX.\n"
+"\t (O convertiu-vos en un AIXpert)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tAquest fdisk no pot gestionar etiquetes de disc AIX.\n"
+"\tSi desitgeu afegir particions DOS, creeu una nova taula de\n"
+"\t particions DOS (Useu o).\n"
+"\tAvís: Això destruirà el contingut actual del disc.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etiqueta BSD per al dispositiu: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "S'estĂ  escrivint l'etiqueta de disc a %s.\n"
+
+# Parla d'etiquetes, segurament Ă©s femenĂ­
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Primera %s"
+
+# Parla d'etiquetes, segurament Ă©s femenĂ­
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Ăšltima %s o +mida o +midaM o +midaK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s no conté cap etiqueta de disc.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Desitgeu crear una etiqueta de disc? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "La partició %s no és vàlida perquè comença pel sector 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "S'estĂ  llegint l'etiqueta de disc de %s en el sector %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "No hi ha cap particiĂł *BSD en %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Ordre d'etiqueta de disc BSD (m per a l'ajuda): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tipus: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tipus: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disc: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiqueta: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "senyaladors:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " extraĂŻble"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " sector dolent"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "octets per sector: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sectors per pista: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "pistes per cilindre: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sectors per cilindre: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindres: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "r.p.m.: %d\n"
+
+# FIXME
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "entrellaçat: %d\n"
+
+# FIXME
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "decalatge: %d\n"
+
+# FIXME
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "decalatge del cilindre: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "canvi de capçal: %ld\t\t# mil·lisegons\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "recerca pista a pista: %ld\t# milisegons\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "dades unitat: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d particions:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "nĂşm inici final mida sist.fitx. [fmida bmida cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "octets/sector"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sectors/pista"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "pistes/cilindre"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cilindres"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sectors/cilindre"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Ha de ser <= sectors/pista * pistes/cilindre (valor per defecte).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "r.p.m."
+
+# FIXME
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "entrellaçat"
+
+# FIXME
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "decalatge de les pistes"
+
+# FIXME
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "decalatge dels cilindres"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "canvi de capçal"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "cerca pista a pista"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Carregador: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "El carregador s'encavalca amb l'etiqueta de disc.\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "S'ha instal·lat el carregador a %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "ParticiĂł (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "S'ha creat el mĂ xim nombre de particions\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Aquesta particiĂł ja existeix.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "AvĂ­s: hi ha massa particions (%d, el mĂ xim sĂłn %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"S'estan sincronitzant els discs.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a estableix un senyalador d'arrencada"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a estableix un senyalador de només lectura"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a selecciona la particiĂł d'arrencada"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a canvia el nombre de cilindres alternatius"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b edita l'etiqueta de disc bsd"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b edita l'entrada del fitxer d'arrencada"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b desplaça les dades d'una partició a l'inici"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c estableix el senyalador de compatibilitat amb DOS"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c estableix senyalador de muntable"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c selecciona la particiĂł d'intercanvi sgi"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c canvia el nombre de cilindres"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d suprimeix una particiĂł"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d imprimeix les dades crues a la taula de particions"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e canvia el nombre de sectors addicionals per cilindre"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e llista les particions esteses"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e edita dades de la unitat"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f arregla l'ordre de les particions"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g crea una taula de particions IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h canvia el nombre de capçals"
+
+# FIXME
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i canvia el factor d'entrellaçat"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " u canvia les unitats de visualitzaciĂł/entrada"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i instal·la el carregador d'arrencada"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l llista els tipus de particions conegudes"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m imprimeix aquest menĂş"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n afegeix una nova particiĂł"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o crea una nova taula de particions DOS buida"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o canvia velocitat de rotaciĂł (r.p.m.)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Imprimeix només la taula de particions"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q surt sense desar els canvis"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r torna al menĂş principal"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s crea una etiqueta de disc Sun nova"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s canvia el nombre de sectors per pista"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s mostra totes les etiquetes del disc"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t canvia l'identificador del sistema d'una particiĂł"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u canvia les unitats de visualitzaciĂł/entrada"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v verifica la taula de particions"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w escriu la taula al disc i surt"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w escriu l'etiqueta de disc al disc"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x funcions addicionals (només experts)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x enllaça la partició BSD a una partició no BSD"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y canvia el nombre de cilindres fĂ­sics"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "No s'ha pogut llegir %s\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "No s'ha pogut cercar en %s\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "No s'ha pogut escriure %s\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "No s'ha pogut executar ioctl BLKGETSIZE a %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Error fatal\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "AcciĂł de l'ordre"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Heu de definir els"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "capçals"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sectors"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Podeu fer això des del menú de funcions addicionals.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " i "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Esteu segur de voler continuar?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Codi hex. (escriviu L per veure la llista de codis): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, valor per defecte %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "S'estĂ  utilitzant el valor per defecte %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "El valor estĂ  fora del rang.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Nombre de particiĂł"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Avís: la partició %d no té tipus\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "S'ha seleccionat la particiĂł %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Encara no hi ha cap particiĂł definida.\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cilindre"
+msgstr[1] "cilindre"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sector"
+msgstr[1] "sector"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "S'estĂ  canviant les unitats de visualitzaciĂł/entrada a %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "S'estĂ  canviant les unitats de visualitzaciĂł/entrada a %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "AvĂ­s: la particiĂł %d Ă©s una particiĂł estesa\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "S'ha establert el senyalador de compatibilitat amb DOS\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "No s'ha establert el senyalador de compatibilitat amb DOS\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "La partició %d no té cap àrea de dades\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "La particiĂł %d encara no existeix.\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"El tipus 0 significa espai lliure per a molts sistemes\n"
+"(però no per a Linux). No és aconsellable tenir\n"
+"particions del tipus 0. Les podeu suprimir amb\n"
+"l'ordre «d».\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"No podeu convertir una partició a estesa, o al revés, primer\n"
+"cal que l'esborreu.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Es recomana deixar la particiĂł 3 com a disc complet (5), ja\n"
+"que aixĂ­ ho espera SunOS/Solaris i fins i tot Ă©s adequat per a\n"
+"Linux.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Es recomana deixar la partició 9 com a capçalera de volum (0)\n"
+"i la particiĂł 11 com a volum complet (6) ja que IRIX aixĂ­ ho\n"
+"espera.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "S'ha canviat el tipus del sistema de la particiĂł %d per %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "S'ha canviat el tipus del sistema de la particiĂł %d per %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "La partició %d té diferents començaments físics/lògics (no Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fĂ­sic=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "lògic=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "La partició %d té diferents finals físics/lògics:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "La particiĂł %i no acaba en un lĂ­mit de cilindre.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "La partició %i no comença en el límit del cilindre:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disc %s: %ld MB, %lld octets\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disc %s: %ld.%ld GB, %lld octets\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", total %llu sectors"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d capçals, %d sectors/pista, %d cilindres"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+"Unitats = %s de %d * %d = %d octets\n"
+"\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "mida de node d'identificaciĂł incorrecte"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Res a fer. L'ordenament ja Ă©s correcte.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Fet\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Això no sembla cap taula de particions\n"
+"Probablement heu seleccionat un dispositiu incorrecte.\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Arrenc. Inici Final Blocs Id Sistema\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Dispositiu"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Les entrades a la taula de particions no estan en l'ordre del disc\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disc %s: %d capçals, %d sectors, %d cilindres\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "N. IA Cap Sect Cil Cap Sect Cil Inici Mida ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Avís: la partició %d conté el sector 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partició %d: el capçal %d supera el màxim %d\n"
+
+#: fdisks/fdisk.c:1304
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "ParticiĂł %d: el sector %d supera el mĂ xim %d\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "ParticiĂł %d: el cilindre %d supera el mĂ xim %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "ParticiĂł %d: sectors anteriors %d difereixen del total %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "La particiĂł %d encara no existeix.\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "No s'ha pogut escriure a la unitat de disc"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"S'ha modificat la taula de particions.\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "S'estĂ  cridant ioctl() per rellegir la taula de particions.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"AvĂ­s: No s'ha pogut rellegir la taula de particions, s'ha produĂŻt l'error "
+"%d: %s.\n"
+"El nucli encara usa l'antiga taula.\n"
+"La taula nova s'usarà després d'arrencar de nou.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"AvĂ­s: Si heu creat o modificat alguna particiĂł\n"
+"DOS 6.x, mireu la pĂ gina del manual de fdisk\n"
+"per a informaciĂł addicional.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"S'ha produĂŻt un error en tancar el fitxer\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "S'estan sincronitzant els discs.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "La partició %d no té cap àrea de dades\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Nou començament de dades"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Ordre d'expert (m per a obtenir ajuda): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Nombre de cilindres"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Nombre de capçals"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Nombre de sectors"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+"Avís: s'està establint el desplaçament del sector per a la compatibilitat "
+"amb DOS\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "no es pot obrir %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: ordre desconeguda\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"S'està construint una nova etiqueta de disc sun. Els canvis només romandran\n"
+"a la memòria fins que decidiu escriure'ls. Després d'això, l'anterior\n"
+"contingut serĂ  irrecuperable.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"En entrar el mode d'etiqueta, s'ha detectat una etiqueta de disc OSF/1 en "
+"%s.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Ordre (m per a obtenir ajuda): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "identificador invĂ lid"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "identificador invĂ lid"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "identificador invĂ lid"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "identificador invĂ lid"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"AvĂ­s: l'opciĂł -b (estableix la mida del sector) s'ha d'usar amb un "
+"dispositiu especĂ­fic\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Nota: la mida del sector Ă©s %d (no %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "El disc %s no conté una taula de particions vàlida\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Ja s'han definit totes les particions primĂ ries.\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Desplaçament incorrecte en particions primàries esteses\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"AvĂ­s: s'estan ometent les particions posteriors a la #%d.\n"
+"S'eliminaran si deseu aquesta taula de particions.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+"Avís: hi ha un punter d'enllaç addicional a la taula de particions %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+"AvĂ­s: s'estĂ  ignorant les dades addicionals de la taula de particions %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "AvĂ­s: particiĂł buida\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "S'estĂ  ignorant la particiĂł estesa addicional %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"AvĂ­s: el senyalador 0x%04x invĂ lid de la taula de particions %d es corregirĂ  "
+"amb w(escriu)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"La particiĂł %d ja estĂ  definida. Esborreu-la abans de tornar-la a afegir.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "El sector %d ja estĂ  assignat\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "No hi ha cap sector lliure disponible\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Partició lògica incorrecta"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "AvĂ­s: inici de dades incorrecte en la particiĂł %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "AvĂ­s: la particiĂł %d cavalca amb la particiĂł %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "AvĂ­s: la particiĂł %d estĂ  buida\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "La partició lògica %d no està integrada en la partició %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "El total de sectors assignats %d supera el mĂ xim de %lld\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld sectors no assignats\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "S'usen totes les particions lògiques\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "S'usen totes les particions lògiques\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "S'estĂ  afegint una particiĂł primĂ ria\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l lògica (5 o superior)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e estesa"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "S'estĂ  utilitzant el valor per defecte %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Nombre de particiĂł no vĂ lid per al tipus `%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+#, fuzzy
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tEn aquest disc teniu una etiqueta AIX vĂ lida.\n"
+"\tActualment Linux no pot gestionar aquests discs.\n"
+"\tTot i això, tingueu en compte alguns consells:\n"
+"\t1. fdisk en destruirĂ  el contingut en escriure.\n"
+"\t2. Comproveu que aquest disc no sigui una part vital\n"
+"\t d'un grup de volums. (En cas contrari podrĂ­eu\n"
+"\t esborrar els altres discs, si no estan duplicats.)\n"
+"\t3. Abans d'esborrar aquest volum fĂ­sic, esborreu\n"
+"\t el disc lògicament de la màquina AIX.\n"
+"\t (O convertiu-vos en un AIXpert)."
+
+#: fdisks/fdiskmaclabel.c:92
+#, fuzzy, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tAquest fdisk no pot gestionar etiquetes de disc AIX.\n"
+"\tSi desitgeu afegir particions DOS, creeu una nova taula de\n"
+"\t particions DOS (Useu o).\n"
+"\tAvís: Això destruirà el contingut actual del disc.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI cru"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "Volum SGI"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI en xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Intercanvi Linux"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux nativa"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "RAID Linux"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Segons MIPS Computer Systems, Inc. l'etiqueta no pot contenir més de 512 "
+"octets\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr ""
+"S'ha detectat una etiqueta de disc sgi amb una suma de comprovaciĂł "
+"incorrecta.\n"
+
+# FIXME
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disc %s (etiqueta de disc SGI): %d capçals, %d sectors\n"
+"%d cilindres, %d cilindres fĂ­sics\n"
+"%d sectors per cilindre addicionals, entrellaçat %d:1\n"
+"%s\n"
+"Unitats = %s de %d * %d octets\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disc %s (etiqueta de disc SGI): %d capçals, %d sectors, %d cilindres\n"
+"Unitats = %s de %d * %d octets\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- particions -----\n"
+"Pt# %*s Info Inici Final Sectors Id Sistema\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- InformaciĂł d'arrencada -----\n"
+"Fitxer d'arrencada: %s\n"
+"----- Entrades de directoris -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sector%5u mida%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"El fitxer d'arrencada no Ă©s vĂ lid!\n"
+"\tEl fitxer d'arrencada ha de ser un camĂ­ absolut\n"
+"\tdiferent de zero, p.e. \"/unix\" o \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tEl nom del fitxer d'arrencada Ă©s massa llarg: mĂ xim de 16 octets.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tEl fitxer d'arrencada ha de tenir un camĂ­ completament qualificat.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tTingueu en compte que no es comprova l'existència del fitxer d'arrencada.\n"
+"\tEl valor per defecte SGI és \"/unix\" i per a la còpia de seguretat \"/"
+"unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"L'actual fitxer d'arrencada Ă©s: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Entreu el nom del nou fitxer d'arrencada: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "No s'ha modificat el fitxer d'arrencada\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tS'ha canviat el fitxer d'arrencada a \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Hi ha present més d'una entrada de disc complet.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "No hi han particions definides\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "Per a IRIX es recomana que la particiĂł 11 abasti tot el disc.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"La partició del disc sencer ha de començar en el bloc 0,\n"
+"no en el bloc de disc %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"La partició de disc sencer sols té un mida de %d blocs,\n"
+"mentre que el disc té una longitud de %d blocs.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Una particiĂł (#11) hauria d'abastar el disc sencer.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "La partició %d no comença en un límit de cilindre.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "La particiĂł %d no acaba en un lĂ­mit de cilindre.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Les particions %d i %d es solapen en %d sectors.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Hi ha un buit que no s'usa de %8u sectors - sectors %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"La particiĂł d'arrencada no existeix.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"La particiĂł d'intercanvi no existeix.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"La particiĂł d'intercanvi no Ă©s del tipus d'intercanvi.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tHeu escollit un nom de fitxer d'arrencada inusual.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Només el superusuari port canviar el rellotge del sistema.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Està altament recomenat que la partició en el desplaçament 0\n"
+"sigui del tipus \"SGI volhdr\"; el sistema IRIX l'usarĂ  per\n"
+"recuperar des del seu directori d'utilitats com ara sash i fx.\n"
+"Només l'entrada de disc sencer \"Volum SGI\" pot infringir això.\n"
+"Escriviu SĂŤ si esteu segur que voleu tornar a etiquetar aquesta particiĂł.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "SĂŤ\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "S'ha produĂŻt un encavalcament de particions al disc. Corregiu-ho.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "S'estĂ  intentant generar una entrada de disc sencer automĂ ticament.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "El disc sencer ja estĂ  cobert de particions.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "S'ha produĂŻt un encavalcament de particions al disc. Corregiu-ho.\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Es recomana especialment que la onzena particiĂł\n"
+"cobreixi el disc sencer i sigui del tipus 'volum SGI'\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Es produirĂ  un encavalcament de particions al disc. Corregiu-ho.\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Ăšltim %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "No s'ha pogut executar ioctl BLKGETSIZE a %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"AvĂ­s: no s'ha pogut executar ioctl BLKGETSIZE a %s. S'estĂ  utilitzant el "
+"valor de la geometria del cilindre %d.\n"
+"Aquest valor es pot truncar per a dispositius > 33.8 GB.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tINICI=%d\tLONGITUD=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "S'estĂ  intentant mantenir els parĂ metres de la particiĂł %d.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS arrel"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS d'intercanvi"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Disc sencer"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS estĂ ndard"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld sectors no assignats\n"
+
+#: fdisks/fdisksunlabel.c:41
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:42
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "AutodetecciĂł RAID Linux"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"S'ha detectat una etiqueta de disc amb una suma de comprovaciĂł incorrecta.\n"
+"Probablement haureu d'establir tots els valors,\n"
+"p.ex. capçals, sectors, cilindres i particions, o forçar\n"
+"una nova etiqueta (ordre s del menĂş principal)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr ""
+"S'ha detectat una etiqueta de disc sgi amb una suma de comprovaciĂł "
+"incorrecta.\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+"S'ha detectat una etiqueta de disc sgi amb una suma de comprovaciĂł "
+"incorrecta.\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr ""
+"S'ha detectat una etiqueta de disc sgi amb una suma de comprovaciĂł "
+"incorrecta.\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"AvĂ­s: el senyalador 0x%04x invĂ lid de la taula de particions %d es corregirĂ  "
+"amb w(escriu)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s no conté cap etiqueta de disc.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sectors/pista"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "La particiĂł %d no acaba en un lĂ­mit de cilindre\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "La particiĂł %d encavalca amb d'altres en els sectors %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Buit no usat - sectors 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Buit no usat - sectors %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Altres particions cobreixen el disc sencer.\n"
+"Abans de tornar-hi esborreu-ne o reduĂŻu-ne la seva mida.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Es recomana especialment que la onzena particiĂł\n"
+"cobreixi el disc sencer i sigui del tipus 'volum SGI'\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "El sector %d ja estĂ  assignat\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"No heu cobert el disc sencer amb la tercera partició, però el\n"
+"valor %d %s encavalca amb d'altres particions. S'ha canviat l'entrada\n"
+"per %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Si desitgeu mantenir la compatibilitat amb SunOS/Solaris, considereu deixar\n"
+"aquesta partició com a Disc sencer (5), començant en 0, amb %u sectors\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Es recomana especialment que la partició en el desplaçament 0\n"
+"sigui UFS, EXT2FS o SunOS d'intercanvi. Si es posa Linux\n"
+"d'intercanvi, es pot destruir la taula de particions i el bloc d'arrencada.\n"
+"Escriviu SĂŤ si esteu segur que desitgeu que s'etiqueti la particiĂł\n"
+"amb el 82 (Linux d'intercanvi): "
+
+# FIXME
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disc %s (etiqueta de disc Sun): %d capçals, %d sectors, %d r.p.m.\n"
+"%d cilindres, %d cilindres alternatius, %d cilindres fĂ­sics\n"
+"%d sectors per cilindre addicionals, entrellaçat %d:1\n"
+"%s\n"
+"Unitats = %s de %d * 512 octets\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disc %s (etiqueta de disc Sun): %d capçals, %d sectors, %d cilindres\n"
+"Unitats = %s de %d * 512 octets\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Senyal. Inici Final Blocs Id Sistema\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Nombre de cilindres alternatius"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Sectors addicionals per cilindre"
+
+# FIXME
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Factor d'entrellaçat"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Velocitat de rotaciĂł (r.p.m.)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Nombre de cilindres fĂ­sics"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Buida"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX arrel"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Estesa"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX arrencable"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "Gestor d'arrencada OS/2"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Estesa (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 oculta"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Diagnòstics Compaq"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 <32M oculta"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 oculta"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS oculta"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "SmartSleep d'AST"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "W95 FAT32 oculta"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA) oculta"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA) oculta"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "HPFS/NTFS oculta"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "RecuperaciĂł PartitionMagic"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC arrencada PReP"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x segona part"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x tercera part"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD o SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Minix antic"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / antic Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Intercanvi Linux / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "Unitat C: oculta d'OS/2"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux estesa"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "Joc de volums NTFS"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux text"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "HivernaciĂł d'IBM Thinkpad"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "UFS de Darwin"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Arrencada de Darwin"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "S.f. BSDI"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "Intercanvi de BSDI"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard ocult"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Arrencada Solaris"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Dades sense S.F."
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Utilitat Dell"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "Accés DOS"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "Sis. Fitx. BeOS"
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Arrencada Linux/PA-RISC"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "SecundĂ ria DOS"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "s'ha produĂŻt un error en cercar a %s - no es pot cercar a %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+"s'ha produĂŻt un error en cercar: s'esperava 0x%08x%08x, s'ha obtingut 0x%08x"
+"%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr ""
+"s'ha produĂŻt un error de lectura a %s - no s'ha pogut llegir el sector %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+"s'ha produĂŻt un error d'escriptura a %s - no s'ha pogut escriure el sector "
+"%lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "no s'ha pogut obrir el sector de la particiĂł del fitxer desat (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "s'ha produĂŻt un error d'escriptura a %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+"no s'ha pogut executar stat al fitxer de restauraciĂł de la particiĂł (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"el fitxer de restauració de la partició té una mida incorrecta - no es "
+"restaurarĂ \n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "no es pot obrir el fitxer de restauraciĂł de la particiĂł (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "s'ha produĂŻt un error en llegir %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "no s'ha pogut obrir per a escriptura el dispositiu %s\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "s'ha produĂŻt un error en escriure el sector %lu en %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disc %s: no s'ha pogut obtenir la geometria\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disc %s : no s'ha pogut obtenir la mida.\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"AvĂ­s: inici=%lu - sembla una particiĂł i no un disc sencer.\n"
+"No té sentit que hi executeu fdisk.[Useu l'opció --force si realment ho "
+"desitgeu.]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Avís: HDIO_GETGEO indica que hi ha %lu capçals\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "AvĂ­s: HDIO_GETGEO indica que hi ha %lu sectors\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "AvĂ­s: HDIO_GETGEO indica que hi ha %lu cilindres\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"AvĂ­s: el nombre de sectors Ă©s improbable (%lu); normalment com a molt 63\n"
+"Això donarà problemes amb el programari que usi adreces C/H/S\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disc %s: %lu cilindres, %lu capçals, %lu sectors/pista\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s de partició %s té un valor impossible per al capçal: %lu (hauria d'estar "
+"entre 0 i %lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s de partició %s té un valor impossible per al sector: %lu (hauria d'estar "
+"entre 1 i %lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s de partició %s té un valor impossible per als cilindres: %lu (hauria "
+"d'estar entre 0 i %lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Nom\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "S'estĂ  rellegint la taula de particions...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"L'ordre per a tornar a llegir la taula de particions ha fallat\n"
+"Torneu a iniciar el sistema ara, abans d'usar mkfs\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "S'ha produĂŻt un error en tancar %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: aquesta particiĂł no existeix\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "format no reconegut; s'estĂ  usant els sectors\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "format no implementat; s'estĂ  usant %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unitats = cilindres de %lu octets, blocs de 1024 octets, contant des de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Disp. Arr. Inici Final #cil. #blocs Id Sistema\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unitats = sectors de 512 octets, contant des de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Disp. Arr Inici Final #sectors Id Sistema\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unitats = blocs de 1024 octets, contant des de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Disp. Arr. Inici Final #blocs Id Sistema\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unitats = mebibytes de 1048576 octets, blocs de 1024 octets, comptant des de "
+"%d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Disp. Arr. Inici Final MiB #blocs Id. sistema\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tcomença: (cil.,capç.,sect.) esperat (%ld,%ld,%ld) trobat (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tfinal: (cil.,capç.,sect.) esperat (%ld,%ld,%ld) trobat (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "la partició acaba en el cilindre %ld, més enllà del final del disc\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "No s'han trobat particions\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"AvĂ­s: La taula de particions sembla haver-se creat\n"
+" per a C/H/S=*/%ld/%ld (en comptes de %ld/%ld/%ld).\n"
+"Per a aquest llistat s'assumirĂ  aquesta geometria.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "no hi ha cap taula de particions.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "és estrany, només hi ha definides %d particions.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Avís: la partició %s té una mida 0 però no està marcada com a buida\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Avís: la partició %s té una mida 0 i és arrencable\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Avís: la partició %s té una mida 0 i no comença en zero\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "no estĂ  contingut a dins de la particiĂł %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "AvĂ­s: la particiĂł %d estĂ  buida\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Avís: la partició %s conté part de la taula de particions\n"
+"(sector %lu) i la destruirĂ  quan s'ompli\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Avís: la partició %s comença en el sector 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Avís: la partició %s s'extén més enllà del final del disc\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Entre les particions primĂ ries, almenys una pot ser estesa\n"
+" (encara que això no és un problema en Linux)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Avís: la partició %s no comença al límit d'un cilindre\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "AvĂ­s: la particiĂł %s no acaba al lĂ­mit d'un cilindre\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Avís: hi ha més d'una partició primària marcada com d'arrencada (activa)\n"
+"Això no és problema per al LILO, però l'MBR del DOS no arrencarà aquest "
+"disc.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Avís: normalment només es pot arrencar des de particions primàries.\n"
+"El LILO no tindrà en compte el senyalador d'«arrencada».\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"AvĂ­s: no hi ha cap particiĂł primĂ ria marcada com d'arrencada (activa).\n"
+"Això no és problema per al LILO, però el MBR de DOS no arrencarà aquest "
+"disc.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "inici"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partició %s: inici: (cil.,capç.,sect.) s'esperava (%ld,%ld,%ld) s'ha trobat "
+"(%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "final"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partició %s: final: (cil.,capç.,sect.) s'esperava (%ld,%ld,%ld) s'ha trobat "
+"(%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+"La partició %s acaba en el cilindre %ld, més enllà del final del disc\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Avís: s'ha desplaçat l'inici de la partició estesa de %ld a %ld\n"
+"(Només per al llistat, no en canvia el contingut.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Avís: la partició estesa no comença al límit d'un cilindre.\n"
+"El DOS i Linux interpretaran el contingut de manera diferent.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERROR: el sector %lu no té cap signatura msdos\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "hi ha massa particions - s'ignoraran les posteriors a la: (%d)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "l'arbre de particions?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "s'ha detectat el gestor de disc - no s'ha pogut gestionar\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "s'ha trobat una signatura DM6 - s'està deixant còrrer\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "estrany..., una particiĂł estesa de mida 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "estrany..., una particiĂł BSD de mida 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: no s'ha pogut reconèixer el tipus de la taula de particions\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "s'ha especificat el senyalador -n: No s'ha canviat res\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "No s'ha pogut desar els sector antics - s'estĂ  avortant\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "lĂ­nia d'entrada llarga o incompleta - s'estĂ  sortint\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr ""
+"s'ha produït un error en l'entrada: s'esperava `=' després del camp %s\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr ""
+"s'ha produït un error en l'entrada: no s'esperava el caràcter %c després del "
+"camp %s\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "no s'ha pogut reconèixer l'entrada: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "el nombre Ă©s massa gran\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "dades estranyes després del nombre\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "no hi ha espai per al descriptor de particiĂł\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "no s'ha pogut crear una particiĂł estesa adjunta\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "hi ha massa camps a l'entrada\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "No queda més espai\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Tipus no permès\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "AvĂ­s: la mida indicada (%lu) excedeix la mĂ xima acceptable (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "AvĂ­s: particiĂł buida\n"
+
+# DUBTE
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "AvĂ­s: l'inici de la particiĂł no Ă©s correcte (mĂ­nim %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "no s'ha pogut reconèixer el senyalador d'arrencada - escolliu - o *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "especificaciĂł parcial de c,h,s?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "La particiĂł estesa no Ă©s on s'esperava\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "entrada dolenta\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "hi ha massa particions\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Entrada en el segĂĽent format; els camps absents obtenen un valor per "
+"defecte.\n"
+"<inici> <mida> <tipus [E,S,L,X,hex]> <arrencable [-,*]> <c,h,s> <c,h,s>\n"
+"Normalment només cal especificar <inici> i <mida> (i potser <tipus>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Forma d'Ăşs:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d particions:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "opcions perilloses:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -G [o --show-pt-geometry]: Imprimeix la geometria que s'ha endevinat\n"
+" partir de la taula de particions"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [o --show-extended]: També llista les particions esteses a la "
+"sortida\n"
+" o els descriptors esperats en l'entrada"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Forma d'Ăşs:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s dispositiu\t\t enumera les particions actives del dispositiu\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s dispositiu n1 n2 ... activa particions n1 ..., desactiva la resta\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -Un perifèric\t activa la partició n, desactiva la resta\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Useu el senyalador --force per a obviar totes les comprovacions.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "cap ordre?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "Nombre invĂ lid: %s\n"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "total: %llu blocs\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "forma d'Ăşs: sfdisk --print-id dispositiu nĂşmero_particiĂł\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "forma d'Ăşs: sfdisk --change-id dispositiu nĂşmero_particiĂł Id\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "forma d'Ăşs: sfdisk --id dispositiu particiĂł_nĂşmero [Id]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "només podeu especificar un dispositiu (excepte amb -l o -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "no es pot obrir %s per a lectura-escriptura\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "no es pot obrir %s per a lectura\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s : %ld cilindres, %ld capçals, %ld sectors/pista\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "No s'ha pogut obtenir la mida de %s\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "octet actiu incorrecte: 0x%x en comptes de 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Fet\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Teniu %d particions primàries actives. Això no és important per al LILO,\n"
+"però l'MBR del DOS només pot arrencar discs amb una partició activa.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "la partició %s té l'identificador %x i no està oculta\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "Identificador dolent %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Aquest disc estĂ  actualment en Ăşs.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "S'ha produĂŻt un error fatal: no s'ha pogut trobar %s\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "AvĂ­s: %s no Ă©s un dispositiu de blocs\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+"S'estĂ  comprovant que en aquest moment ningĂş estigui usant aquest disc...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Aquest disc estĂ  actualment en Ăşs; reparticionar-lo probablement sigui\n"
+"una mala idea. Desmunteu tots els sistemes de fitxers i executeu\n"
+"swapoff en totes les particions d'intercanvi del disc.\n"
+"Useu el senyalador --no-reread per a suprimir aquesta comprovaciĂł.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Useu el senyalador --force per a obviar totes les comprovacions.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "Correcte\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Antiga situaciĂł:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "La particiĂł %d no existeix; no s'ha pogut canviar\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Nova situaciĂł:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Aquestes particions no em semblen bé - no s'ha canviat res.\n"
+"(Si realment desitgeu fer això, useu l'opció --force).\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "No em sembla bé - probablement hagueu de respondre No\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Esteu satisfet amb això? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Desitgeu escriure això al disc? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "S'estĂ  sortint - no s'ha canviat res\n"
+
+# FIXME: 'y', 'n', 'q'. Are they translatable?
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Respongueu amb una: y,n,q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"S'ha escrit correctament la nova taula de particions\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Si heu creat o modificat una particiĂł DOS, com /dev/foo7, useu dd(1)\n"
+"per a posar a zero els primers 512 octets:\n"
+"\tdd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(Mireu fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Mostra la informaciĂł de la versiĂł\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: error d'escriptura.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: Les opcions --adjust i --noadjfile s'exclouen mĂştuament. Les heu "
+"especificat totes dues.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() ha fallat"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "forma d'Ăşs: namei [-mx] camĂ­ [camĂ­ ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p telèfon_oficina ]\n"
+"\t[ -h telèfon_particular ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Mostra la informaciĂł de la versiĂł\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: aquest usuari (%d) no existeix.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: l'usuari \"%s\" no existeix.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "%s: només es poden modificar entrades locals; useu yp%s.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s no estĂ  autoritzat a canviar la informaciĂł del finger de %s\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Es desconeix el context de l'usuari"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: No s'ha pogut establir el context per defecte per a /etc/passwd"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "S'estĂ  canviant la informaciĂł del finger per a l'usuari %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "No s'ha canviat la informaciĂł del finger.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"S'ha avortat.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "el camp Ă©s massa llarg.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "el camp Ă©s massa llarg.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' no està permès.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "«%c» no està permès.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Els carĂ cters de control no estan permesos.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Els carĂ cters de control no estan permesos.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr ""
+"*NO* s'ha canviat la informació del finger. Intenteu-ho de nou més "
+"endavant.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+" -s, --shell=intèrpret_ordres Estableix els mateixos convenis quant a les\n"
+" cometes que l'interpret d'ordres indicat\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "%s: només es poden modificar entrades locals; useu yp%s.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr ""
+"%s: %s no està autoritzat a canviar l'intèrpret d'ordres de l'usuari %s\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: L'UID en execuciĂł no coincideix amb l'UID de l'usuari que s'estĂ  "
+"alterant, s'ha denegat el canvi d'intèrpret d'ordres\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+"%s: El vostre intèrpret d'ordres no està a /etc/shells; s'ha denegat el "
+"canvi d'intèrpret d'ordres\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "S'està canviant l'intèrpret d'ordres per %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Nou intèrpret d'ordres"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "No s'ha canviat l'intèrpret d'ordres.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"No s'ha canviat l'intèrpret d'ordres. Intenteu-ho de nou més endavant.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "S'ha canviat l'intèrpret d'ordres.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: l'intèrpret d'ordres ha de ser un camí complet.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" no existeix.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" no Ă©s executable.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "AvĂ­s: \"%s\" no estĂ  llistat a /etc/shells.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" no estĂ  llistat a /etc/shells.\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "No es coneix cap intèrpret d'ordres.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"forma d'Ăşs: last [-#] [-f fitxer] [-t tty] [-h nom_ordinador] [usuari ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "la cerca ha fallat"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " encara teniu una sessiĂł en el sistema"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp comença %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr ""
+"\n"
+"S'ha produĂŻt un error en tancar el fitxer\n"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interromput %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "S'ha excedit el temps d'espera per a l'entrada al cap de %d segons.\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "S'ha produĂŻt un error fatal: no s'ha pogut reobrir tty: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s no es un dispositiu de bloc especial"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "no s'ha estat possible muntar"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() ha fallat: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "S'ha produĂŻt un error fatal: terminal erroni"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Ăšltima entrada: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "des de %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "a %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "S'ha produĂŻt un error en obrir %s"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "MARCATGE DIRECTE A %s PER %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ENTRADA DEL ROOT A %s DES DE %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ENTRADA DEL ROOT A %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "ENTRADA A %s PER %s DES DE %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "ENTRADA A %s PER %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "entrada: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "login: PAM ha fallat; s'estĂ  avortant: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "No s'ha pogut inicialitzar PAM: %s"
+
+# FIXME, please describe parameters
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "S'HA INTENTAT ACCEDIR SENSE ĂXIT %d VEGADES DES DE %s PER A %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"L'entrada no Ă©s correcta\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "S'HA INTENTAT ENTRAR MASSA VEGADES (%d) DES DE %s PER A %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "NO S'HA POGUT INICIAR LA SESSIĂ“ DES DE %s PER A %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Entrada incorrecta\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"S'ha produĂŻt un problema en iniciar la sessiĂł, s'avortarĂ .\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Nom d'usuari NUL a %s:%d. S'avortarĂ ."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY ha fallat: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: només el superusuari pot fer servir -h.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"forma d'Ăşs: last [-#] [-f fitxer] [-t tty] [-h nom_ordinador] [usuari ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Nom d'usuari invĂ lid \"%s\" a %s:%d. S'avortarĂ ."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+"\n"
+"S'ha produĂŻt un error en tancar el fitxer\n"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() ha fallat"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Teniu correu nou.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Teniu correu.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() ha fallat"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "la cerca ha fallat"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "S'està entrant amb el directori inicial = «/».\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr ""
+"login: no s'ha pogut executar la seqüènca de l'intèrpret d'ordres: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "No hi ha intèrpret d'ordres"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Valor d'interval invĂ lid: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Contrasenya: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: Aquest grup no existeix."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Qui sou?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() ha fallat"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: Aquest grup no existeix."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: s'ha denegat el permĂ­s"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() ha fallat"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "no s'ha pogut executar exec\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "%s no es pot obrir"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "no s'ha pogut suprimir l'id %s (%s)\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: no s'ha pogut obtenir el directori actual - %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "No s'ha pogut determinar el gestor de senyals"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "la cerca ha fallat"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "La contrasenya no Ă©s correcta."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "no es pot fer stat per a %s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Escolliu `getopt --help' per obtenir més informació.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "forma d'Ăşs: %s programa [arg ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: l'usuari \"%s\" no existeix.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: no s'ha pogut obtenir el directori actual - %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: no s'ha obert per a lectura/escriptura"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: no s'ha obert per a lectura/escriptura"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: el fitxer password estĂ  ocupat.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Esteu segur de voler continuar?"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "la cerca ha fallat"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "no s'ha pogut executar exec\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "la cerca ha fallat"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "la cerca ha fallat"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "la cerca ha fallat"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "identificador invĂ lid"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: només l'usuari root pot fer això"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY ha fallat: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "la cerca ha fallat"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: no es pot obrir %s\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: no s'ha pogut obrir el fitxer temporal.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: no s'ha pogut reanomenar %s a %s: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: No s'ha pogut obtenir el context per a %s"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: No s'ha pogut establir el context per a %s"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s no s'ha modificat\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "no s'ha pogut bifurcar"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: no s'ha fet cap canvi\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+# shadow paswords -> contrasenyes ocultes (fedora)
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Aquest sistema utilitza grups ocults.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Aquest sistema utilitza contrasenyes ocultes.\n"
+
+# FIXME here we have 'y' and 'n' translated, is it translateable?
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Desitgeu editar %s ara? [s/n] "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Valor dels capçals no permès"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "el valor de l'any no Ă©s legal: utilitzeu 1-9999"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "el valor del mes és il·legal: utilitzeu 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "el valor de l'any no Ă©s legal: utilitzeu 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%2$d de %1$s"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "forma d'Ăşs: cal [-13smjyV] [[mes] any]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "forma d'Ăşs: %s [+format] [dia mes any]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Dia de Sant Tibb"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "no es pot obrir %s"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "dispositiu de blocs "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "opcions Ăştils:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Nombre de particiĂł"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Ordre desconeguda: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "s'ha llegit %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Elimina"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "desconegut"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "s'ha produĂŻt un error en cercar"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: no s'ha pogut llegir %s.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Ordres disponibles:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "No hi ha cap directori %s\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "id invĂ lid : %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "opció llarga buida després de l'argument -l o --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "intèrpret d'ordres desconegut després de l'argument -s o --shell"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [opcions] -o|--options cadena_opcions [opcions] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Permet opcions llargues amb només un -\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Aquesta petita guia d'Ăşs\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=opc_llarg Opcions llargues a reconèixer\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name=nom_programa El nom amb el que s'informa dels errors\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet Inhabilita els informes d'error mitjançant\n"
+" getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output No hi ha sortida normal\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell=intèrpret_ordres Estableix els mateixos convenis quant a les\n"
+" cometes que l'interpret d'ordres indicat\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Prova la versiĂł del getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote No es posarĂ  la sortida entre cometes\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Mostra la informaciĂł de la versiĂł\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "falta l'argument cadena_opcions"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "s'ha produĂŻt un error intern; contacteu amb l'autor."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: senyal desconegut %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "identificador invĂ lid"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: no s'ha pogut trobar el procés \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: senyal desconegut %s; senyals vĂ lids:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "forma d'Ăşs: %s [ -s senyal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ senyal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: no es coneix el nom de la facilitat: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: nom amb prioritat desconeguda: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "el nom d'entrada Ă©s massa llarg.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "MidaBloc: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "connexiĂł nfs"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "connector nfs"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "connexiĂł nfs"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Fitxer segĂĽent: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "identificador invĂ lid"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Nombre de particiĂł"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "no s'ha pogut executar «stat» al camí\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "estableix a només lectura"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " extraĂŻble"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "no s'ha pogut executar «stat» al camí\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Nom d'usuari il·legal"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "mida de node d'identificaciĂł incorrecte"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "aconsegueix la mida del sector"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "aconsegueix la mida del sector"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "mida de node d'identificaciĂł incorrecte"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " u canvia les unitats de visualitzaciĂł/entrada"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "umount: %s: dispositiu desconegut"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Ordres disponibles:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "no s'ha pogut executar «stat» al camí\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "no es pot obtenir la mida de %s"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "desconegut"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "id invĂ lid : %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "S'han obtingut %d octets de %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "no s'ha pogut executar exec\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "forma d'Ăşs: namei [-mx] camĂ­ [camĂ­ ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "argument --date massa llarg\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: no s'ha pogut reanomenar %s a %s: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: argument -l incorrecte %s.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "Escriu"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "s'ha llegit %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "no es pot fer stat per a %s"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "No s'ha pogut obrir %s: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "No s'ha pogut obrir %s: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "No s'ha pogut obrir %s: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "s'ha produĂŻt un error en llegir %s\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "identificador invĂ lid"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "identificador invĂ lid"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: valor incorrecte\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "s'ha produĂŻt un error en canviar el mode de %s: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "No s'ha pogut obrir %s: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+"\n"
+"S'ha produĂŻt un error en tancar el fitxer\n"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: no s'ha trobat"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "identificador invĂ lid"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "avĂ­s: s'ha produĂŻt un error en llegir %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "avĂ­s: no s'ha pogut obrir %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: no s'ha pogut obrir %s; s'usarĂ  %s\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"no s'ha pogut crear el fitxer de blocat %s: %s (useu el senyalador -n per a "
+"modificar aquest valor)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"no s'ha pogut enllaçar el fitxer de blocat %s: %s (useu el senyalador -n per "
+"a modificar aquest valor)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"no s'ha pogut obrir el fitxer de blocat %s: %s (useu el senyalador -n per a "
+"modificar aquest valor)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "No s'ha pogut blocar el fitxer de blocat %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "no s'ha pogut blocar al fitxer de blocat %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "s'ha exhaurit el temps d'espera"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"No s'ha pogut crear l'enllaç %s\n"
+"Potser hi ha un fitxer de blocat obsolet?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "no s'ha pogut obrir %s (%s) - no s'ha actualitzat mtab"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "s'ha produĂŻt un error en escriure %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: no s'ha pogut fer stat en %s: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "s'ha produĂŻt un error en canviar el mode de %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "s'ha produĂŻt un error en canviar el mode de %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "no s'ha pogut tornar a nomenar %s per %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: no s'ha pogut trobar %s a %s o %s"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: segons mtab, %s ja estĂ  muntat a %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: segons mtab, %s estĂ  muntat a %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: no s'ha pogut obrir %s per a escriptura: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: s'ha produĂŻt un error en escriure %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: s'ha produĂŻt un error en canviar el mode de %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: no s'ha pogut bifurcar: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "S'estĂ  provant amb %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: no heu especificat cap tipus de sistema de fitxers per a %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Es provarĂ  amb tots els tipus indicats a %s o %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " i sembla que això és espai d'intercanvi\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Provaré amb el tipus %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s sembla espai d'intercanvi - no s'ha muntat"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "no s'ha estat possible muntar"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: només l'usuari root pot muntar %s a %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: el dispositiu loop estĂ  especificat dues vegades"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: el tipus estĂ  especificat dues vegades"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: s'estĂ  ometent la configuraciĂł d'un dispositiu loop\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: s'usarĂ  el dispositiu loop %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "Valor establert invĂ lid: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "Valor establert invĂ lid: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: segons mtab, %s ja estĂ  muntat a %s"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "No s'ha pogut blocar en memòria, s'està sortint.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: no ha estat possible configurar el dispositiu loop\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: s'usarĂ  el dispositiu loop %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: no ha estat possible configurar el dispositiu loop\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: no ha estat possible configurar el dispositiu loop\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: s'ha configurat el dispositiu loop amb èxit\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: no s'ha trobat %s; s'estĂ  creant...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: l'argument a -p o --pass-fd ha de ser un nombre"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: no s'ha pogut obrir %s per establir-ne la velocitat"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount-deprecated/mount.c:1564
+#, fuzzy, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: segons mtab, %s ja estĂ  muntat a %s"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: %s ocupat - s'ha tornat a muntar de només lectura\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: %s ocupat - s'ha tornat a muntar de només lectura\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: no s'ha pogut determinar el tipus de sistema de fitxers i no n'heu "
+"especificat cap"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: haureu d'especificar el tipus del sistema de fitxers"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: no ha estat possible muntar"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: el punt de muntatge %s no Ă©s un directori"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: s'ha denegat el permĂ­s"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: haureu de ser un superusuari per a usar mount"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s estĂ  ocupat"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc ja estĂ  muntat"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s ja estĂ  muntat o %s estĂ  ocupat"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: el punt de muntatge %s no existeix"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: el punt de muntatge %s és un enllaç simbòlic sense destí"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: el dispositiu especial %s no existeix"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: el dispositiu especial %s no existeix\n"
+" (un prefix de camĂ­ no Ă©s un directori)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s encara no estĂ  muntat o una opciĂł Ă©s incorrecta"
+
+#: mount-deprecated/mount.c:1758
+#, fuzzy, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: el tipus de sistema de fitxers o Ă©s correcte, la opciĂł no Ă©s "
+"correcta,\n"
+" superbloc incorrecte a %s, manca la pĂ gina de codis o algun altre "
+"error"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (podria ser que aquest fos el dispositiu IDE on utilitzeu ide-scsi\n"
+" de manera que sr0 o sda o siguin necessaris?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (no esteu intentant muntar una particiĂł estesa,\n"
+" en comptes d'alguna partició lògica de dins?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" En alguns casos, es pot trobar informaciĂł Ăştil a syslog,\n"
+" proveu dmesg | tail o aixĂ­\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "la taula de dispositius muntats estĂ  plena"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: no s'ha pogut llegir el superbloc"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: %s: dispositiu desconegut"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: no es reconeix el sitema de fitxers «%s»"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: probablement volĂ­eu dir %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: potser volíeu dir «iso9660»?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: potser volíeu dir «vfat»?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s té un número de dispositiu incorrecte o el tipus de sistema de "
+"fitxers %s no estĂ  implementat"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s no Ă©s cap dispositiu de blocs, i stat falla?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: el nucli no reconeix %s com a dispositiu de blocs\n"
+" (potser fent «insmod controlador»?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s no Ă©s un dispositiu de blocs (proveu amb `-o loop')"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s no Ă©s un dispositiu de blocs"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s no Ă©s un dispositiu de blocs vĂ lid"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "dispositiu de blocs "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount : no s'ha pogut muntar %s%s com a només de lectura"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount : %s%s està protegit contra escriptura però se li ha donat el "
+"senyalador explícit «-w»"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount : no s'ha pogut muntar %s%s com a només de lectura"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+"mount: %s%s està protegit contra escriptura; es muntarà en només lectura"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s ja estĂ  muntat a %s\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: no s'ha especificat cap tipus; s'assumirĂ  nfs per als dos punts\n"
+
+#: mount-deprecated/mount.c:1987
+#, fuzzy, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: no s'ha especificat cap tipus; s'assumirĂ  smb a causa del prefix //\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s ja estĂ  muntat a %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, fuzzy, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"forma d'Ăşs: mount -V : mostra la versiĂł\n"
+" mount -h : mostra aquesta ajuda\n"
+" mount : llista els sistemes de fitxers muntats\n"
+" mount -l : Ă­dem, incloen les etiquetes de volum\n"
+"Fins aquĂ­ la part informativa. Es continua amb el muntatge.\n"
+"L'ordre és «mount [-t tipus_sf] alguna_cosa lloc».\n"
+"Els detalls inclosos en /etc/fstab es poden ometre.\n"
+" mount -a [-t|-O] : munta tot el que s'ha indicat\n"
+" en /etc/fstab\n"
+" mount dispositiu : munta el dispositiu en el lloc conegut\n"
+" mount directori : munta el dispositiu conegut aquĂ­\n"
+" mount -t tipus disp dir : ordre mount ordinaria\n"
+"Tingueu en compte que no muntareu realment un dispositiu, sinó més\n"
+"aviat el seu sistema de fitxers (el tipus donat). També es pot muntar\n"
+"un arbre de directoris ja visible en un altre lloc\n"
+" mount --bind dir_antic dir_nou\n"
+"o moure un subarbre:\n"
+" mount --move dir_antic dir_nou\n"
+"Es pot donar un dispositiu mitjançant el nom, posem-hi /dev/hda1 o\n"
+"/dev/cdrom o mitjançant l'etiqueta, usant -L etiqueta o mitjançant uuid,\n"
+"usant -U uuid.\n"
+"Altres opcions: [-nfFrsvw] [-o opcions] [-p dfcontrasenya].\n"
+"Per a més detalls, consulteu «man 8 mount».\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: només l'usuari root pot fer això"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: només l'usuari root pot fer això"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "no s'ha muntat res"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: no s'ha trobat aquesta particiĂł"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: no s'ha pogut trobar %s a %s o %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: avĂ­s: no hi ha cap nova lĂ­nia al final de %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: la lĂ­nia %d de %s no Ă©s correcta%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; s'ignorarĂ  la resta del fitxer"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "s'ha produĂŻt un error en la crida xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "no hi ha prou memòria"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: estĂ  compilat sense suport per a -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount: no s'ha pogut bifurcar: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: dispositiu de blocs no vĂ lid"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: no estĂ  muntat"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: no s'ha pogut escriure el superbloc"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: no s'ha trobat"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: haureu de ser superusuari per poder usar umount"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: dispositius de blocs no permesos en el sistema de fitxers"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: no s'ha pogut executar chdir a %s - %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: no s'ha pogut obtenir el directori actual - %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: el punt de muntatge %s no existeix"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "umount2 no existeix, s'estĂ  provant amb umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s ocupat - s'ha tornat a muntar de només lectura\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: no s'ha pogut tornar a muntar %s de només lectura\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s desmuntat\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+"umount: no s'ha pogut trobar la llista dels sistemes de fitxers a desmuntar"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Forma d'Ăşs: umount [-hV]\n"
+" umount -a [-f] [-r] [-n] [-v] [-t tipus_sist._fitx._virtuals]\n"
+" [-O opcions]\n"
+" umount [-f] [-r] [-n] [-v] especial | node...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "El sector %d ja estĂ  assignat\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "El sector %d ja estĂ  assignat\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "No s'ha pogut desmuntar «»\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "S'estĂ  intentant desmuntar %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "No s'ha pogut trobar %s a mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "El sector %d ja estĂ  assignat\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s no estĂ  muntat (segons mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: sembla que %s s'ha muntat diverses vegades"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s no estĂ  al fstab (i no sou el root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: el muntatge de %s no concorda amb el fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: només %s pot desmuntar %s des de %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: només el root pot fer això"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS sobre TCP no estĂ  implementat.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: no s'ha pogut trobar el dispositiu per a %s\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "identificador invĂ lid"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "identificador invĂ lid"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "id invĂ lid : %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Ordre desconeguda: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "error desconegut en l'identificador"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "no s'ha pogut executar exec\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "forma d'Ăşs: %s programa [arg ...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr ""
+"\n"
+"S'ha produĂŻt un error en tancar el fitxer\n"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "no es pot obtenir la mida de %s"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" no existeix.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "El sector %d ja estĂ  assignat\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "El sector %d ja estĂ  assignat\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" no Ă©s executable.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "El sector %d ja estĂ  assignat\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "El sector %d ja estĂ  assignat\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "No s'ha pogut fer la configuraciĂł automĂ tica.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "No s'ha pogut fer la configuraciĂł automĂ tica.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "Nombre invĂ lid: %s\n"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: argument desconegut: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Forma d'Ăşs: ctrlaltdel maquin.|progr.\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+"Haureu de ser el root per a establir el comportament de Ctrl-Alt-Supr.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld el llindar i %ld el temps d'espera per defecte\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Aquesta petita guia d'Ăşs\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Fitxer %s, per al valor del llindar %lu, el mĂ xim de carĂ cters en fifo fou "
+"de %d\n"
+"i la velocitat de transferència màxima en caracteres per segon fou de %f\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Fitxer %s, per al valor del llindar %lu i el valor de temps en espera %lu, "
+"el mĂ xim de carĂ cters en fifo fou de %d\n"
+"i la velocitat de transferència màxima en caracteres per segon fou de %f\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "no ha estat possible executar gettimeofday"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "No s'ha pogut emetre CYGETMON a %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "No s'ha pogut obtenir el llindar per a %s: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "No s'ha pogut obtenir el temps d'espera per a %s: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu enters, %lu/%lu carĂ cters; fifo: %lu llindar, %lu temps_espera, %lu "
+"mĂ xim, %lu ara\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f enters/seg.; %f rebut, %f enviat (carĂ cters/seg.)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu enters, %lu carĂ cters; fifo: %lu llindar, %lu temps_espera, %lu "
+"mĂ xim, %lu ara\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f enters/seg.; %f rebut (carĂ cters/seg.)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Valor d'interval invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Valor d'interval invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Valor establert invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Valor establert invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Valor per defecte invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Valor per defecte invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Valor de l'hora establerta invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Valor de l'hora establerta invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Valor de l'hora per defecte invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Valor de l'hora per defecte invĂ lid: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "No s'ha pogut establir %s al llindar %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "No s'ha pogut establir %s al llindar de l'hora %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld el llindar i %ld el temps d'espera actuals\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld el llindar i %ld el temps d'espera per defecte\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Aquesta particiĂł Ă©s inutilitzable"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "s'ha produĂŻt un error en tancar %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "AvĂ­s: la particiĂł %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "missatges"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "IntroduĂŻu el tipus del sistema de fitxers: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "no es pot obtenir la mida de %s"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "no es pot obtenir la mida de %s"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Ordre desconeguda: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "No hi ha cap directori %s\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "no s'ha pogut fer fsync"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "%s no es pot obrir"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "(Fitxer segĂĽent: %s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "identificador invĂ lid"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "no ha estat possible executar gettimeofday"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "cap ordre?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "no s'ha pogut fer fsync"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "id invĂ lid : %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "id invĂ lid : %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+#, fuzzy
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "mount: el tipus del sistema de fitxers %s no estĂ  suportat pel nucli"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+#, fuzzy
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "mount: el tipus del sistema de fitxers %s no estĂ  suportat pel nucli"
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "no es pot fer stat per a %s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "%s no Ă©s cap dispositiu de bloc o un fitxer\n"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "no s'ha estat possible muntar"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "no es pot obrir %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: el punt de muntatge %s no existeix"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: no s'ha pogut reanomenar %s a %s: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s: no s'ha trobat"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " extraĂŻble"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "S'estĂ  utilitzant el valor per defecte %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: no s'ha pogut obrir el dispositiu %s: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s: no s'ha trobat"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: no Ă©s un dispositiu de bloc\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: no s'ha pogut obrir el dispositiu %s: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "umount: %s: dispositiu ocupat"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s s'ha completat amb èxit.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "no s'ha pogut executar exec\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "no s'ha pogut obrir el directori\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Massa arguments.\n"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "Valor establert invĂ lid: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "Valor establert invĂ lid: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "No s'ha especificat l'opciĂł --date.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "mĂ x. nombre de segments = %lu\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "identificador invĂ lid"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s requereix un argument\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() ha fallat"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "No s'ha especificat l'opciĂł --date.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "No s'ha especificat l'opciĂł --date.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "No s'ha especificat l'opciĂł --date.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "%s no es pot obrir"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "S'està assumint que el rellotge del maquinari manté l'hora %s.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "local"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: AvĂ­s: no s'ha reconegut la tercera lĂ­nia del fitxer adjtime\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "L'últim ajust de desfasament es va fer %ld segons després de 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "L'última calibració es va fer %ld segons després de 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "El rellotge del maquinari té l'hora %s\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "S'estĂ  esperant el tic del rellotge...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...s'ha rebut el tic del rellotge\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"Valors incorrectes en el rellotge del maquinari: %4d/%.2d/%.2d %.2d:%.2d:"
+"%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Hora del maquinari : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld segons després de "
+"1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+"Hora llegida del rellotge del maquinari : %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"S'estĂ  establint l'hora del maquinari en %.2d:%.2d:%.2d = %ld segons des de "
+"1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "El rellotge no s'ha modificat - només s'ha provat.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"El temps transcorregut des de l'hora de referència és de %.6f segons.\n"
+"S'ha endarrerit el moment en què s'arribarà al següent segon complet.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Els registres del rellotge del maquinari contenen valores invĂ lids (p.ex. "
+"dia 50 del mes) o excedeixen el rang que poden usar (p.e. l'any 2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f segons\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "No s'ha especificat l'opciĂł --date.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "argument --date massa llarg\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"El valor de l'opciĂł --date no Ă©s una data vĂ lida.\n"
+"En concret, conté cometes.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "S'estĂ  executant l'ordre date: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"No s'ha pogut executar el programa «date» en l'interpret d'ordres /bin/sh. "
+"popen() ha fallat"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "resposta de l'ordre date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"L'ordre date executada per %s ha retornat resultats inesperats.\n"
+"L'ordre era:\n"
+" %s\n"
+"La resposta ha estat:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"L'ordre date executada per %s no ha tornat cap valor enter tot i que "
+"s'esperava el valor de l'hora convertida.\n"
+"L'ordre era:\n"
+" %s\n"
+"La resposta ha estat:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "la cadena de la data %s equival a %ld segons des de 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"El rellotge de maquinari no conté una hora vàlida, pel que no es pot "
+"establir l'hora del sistema a partir d'aquest valor.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Cridant a settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+"No s'està configurant el rellotge del sistema perquè s'està executant en "
+"mode de prova.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Heu de ser el superusuari per configurar rellotge del sistema.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() ha fallat"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"No s'ha ajustat el factor de desfasament perquè el rellotge del maquinari "
+"contenia valors despreciables.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"No s'ha ajustat el factor de desfasament perquè la data de l'última\n"
+"calibraciĂł Ă©s zero, aixĂ­ que l'historial Ă©s dolent, i Ă©s necessĂ ria\n"
+"una calibració des del començament.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"No s'ajusta el factor de desfasament perquè fa menys d'un dia de l'última "
+"calibraciĂł.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"El rellotje s'ha desfasat %.1f segons en els Ăşltims %d segons, tot i emprar "
+"un factor de desfasament de %f segons diaris.\n"
+"S'estĂ  ajustant el factor de desfasament a %f segons diaris\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Han transcorregut %d segons des de l'Ăşltim ajust\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"S'han d'inserir %d segons i referir el temps anterior a fa %.6f segons\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+"No s'actualitzarà el fitxer adjtime perquè s'executa en mode de prova.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"S'hauria escrit el segĂĽent a %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "No s'han actualitzat els parĂ metres d'ajustament del desfasament.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"El rellotje de maquinari no conté una hora vàlida, i no es pot ajustar.\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"No s'ha ajustat el factor de desfasament perquè la data de l'última\n"
+"calibraciĂł Ă©s zero, aixĂ­ que l'historial Ă©s dolent, i Ă©s necessĂ ria\n"
+"una calibració des del començament.\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"L'ajustament necessari Ă©s inferior a un segon, no s'ajustarĂ  el rellotge.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Usant %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "No s'ha trobat cap interfĂ­cie de rellotge usable.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "No es pot establir el rellotge del sistema.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"El nucli només té un valor d'època per al rellotge del maquinari en les "
+"mĂ quines Alpha.\n"
+"Aquesta còpia de hwclock es va compilar per a una màquina no Alpha (pel que\n"
+"possiblement ara no s'executi en cap mĂ quina Alpha). No s'ha executat cap "
+"acciĂł.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "No es pot obtenir el valor d'època del nucli.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "El nucli assumeix un valor d'època de %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Per establir el valor d'època, haureu d'usar l'opció 'epoch' per a indicar a "
+"quin valor s'ha d'establir.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "No s'establirà el valor de l'època a %d - només s'està provant.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "No es pot establir el valor d'època en el nucli.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d particions:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" Indica al RTC el tipus d'Alpha que teniu (vegeu hwclock(8))\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "No es pot establir el rellotge del sistema.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "identificador invĂ lid"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s no admet arguments que no siguin opcions. Heu especificat %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "%s: Amb --noadjfile, haureu d'especificar --utc o --localtime\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr ""
+"L'hora indicada per establir no Ă©s usable. No s'ha tocat el rellotge.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Només el superusuari pot canviar el rellotge del maquinari.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Només el superusuari port canviar el rellotge del sistema.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Només el superusuari pot canviar el valor de l'època del rellotge del "
+"maquinari en el nucli.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+"No s'ha pogut accedir al rellotge del maquinari mitjançant cap dels mètodes "
+"coneguts.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Useu l'opció --debug per veure els detalls de la recerca d'un mètode "
+"d'accés.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "s'ha arrencat des de MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Rellotge BCD Ruffian\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "s'ha ajustat el port del rellotge a 0x%x\n"
+
+# FIXME: what the heck is this supposed to tell?
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+# FIXME: atomic what?
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: comprovació de %s atòmic ha fallat per 1000 iteracions!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "No s'ha pogut obtenir el permís perquè no s'ha intentat.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"%s no pot aconseguir l'accés al port d'E/S: la crida iopl(3) ha fallat.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Probablement necessiteu privilegis de root.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "S'estĂ  esperant en bucle a que canviĂŻ l'hora de KDGHWCLK\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "No s'ha pogut executar ioctl KDGHWCLK per llegir l'hora"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "No s'ha pogut executar ioctl KDGHWCLK per llegir l'hora en el bucle"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "S'ha excedit el temps d'espera per a què canviés l'hora.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "No s'ha pogut executar ioctl KDGHWCLK"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "No s'ha pogut obrir /dev/tty1 o /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "No s'ha pogut executar ioctl KDGHWCLK"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "No s'ha pogut executar ioctl() a %s per llegir l'hora.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "S'estĂ  esperant en bucle per a canviar l'hora de %s\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s no té funcions d'interrupció. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "No s'ha pogut executar read() a %s per esperar el tic del rellotge."
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "No s'ha pogut executar select() a %s per esperar el tic del rellotge."
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr ""
+"S'ha excedit el temps d'espera en executar select() a %s en esperar\n"
+"el tic del rellotge.\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+"No s'ha pogut executar ioctl() a %s per desactivar les interrupcions\n"
+"d'actualitzaciĂł"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"No s'ha pogut executar ioctl() a %s per activar les interrupcions\n"
+"d'actualitzaciĂł, ha fallat inesperadament"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "No s'ha pogut executar ioctl() a %s per establir l'hora.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "S'ha executat ioctl(%s) satisfactòriament.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Per a modificar el valor de l'època del nucli, heu d'accedir al controlador "
+"del dispositiu «rtc» de Linux mitjançant el fitxer especial de dispositiu "
+"%s. Aquest fitxer no existeix en aquest sistema.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "No s'ha pogut executar ioctl(RTC_EPOCH_READ) a %s"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "s'ha llegit el valor de l'època %ld de %s amb ioctl RTC_EPOCH_READ.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "El valor d'època no pot ser inferior a 1900. Heu indicat %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "s'està establint l'època a %ld amb ioctl RTC_EPOCH_SET a %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+"El controlador de dispositiu del nucli per a %s no té el ioctl "
+"RTC_EPOCH_SET.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "No s'ha pogut executar ioctl(RTC_EPOCH_SET) a %s"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output No hi ha sortida normal\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Segment de la memòria compartida shmid=%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Cua de missatges msqid=%d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "semĂ fors assignats = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"semid de la matriu del semĂ for=%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Mostra la informaciĂł de la versiĂł\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Segment de la memòria compartida shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"Cua de missatges msqid=%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"semid de la matriu del semĂ for=%d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "s'ha denegat el permĂ­s per a la clau"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "permisos denegats per l'identificador"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "clau invĂ lida"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "identificador invĂ lid"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "la clau ja s'havia suprimit"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "l'identificador ja s'havia suprimit"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() ha fallat"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "id invĂ lid : %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Massa arguments.\n"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "fonts suprimides\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: clau il·legal (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "el nucli no està configurat per a memòria compartida\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "nucli no configurat per als semĂ fors\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "el nucli no estĂ  configurat per a cues de missatges\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: argument desconegut: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+"-i id [-s -q -m] : detalls sobre els recursos identificats per "
+"l'identificador\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "opcions perilloses:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "el nucli no està configurat per a memòria compartida\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Límits de la memòria compartida --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "mĂ x. nombre de segments = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "mida mĂ x. del segment (kbytes) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "total màx. memòria compartida (kbytes) = %lu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "mida mĂ­n. segment (octets) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Estat de la memòria compartida --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "----- Creadors/Propietaris dels segments memòria compartida -------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "-- Temps de connexiĂł/desconnexiĂł/modifica. mem. comp. --\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "propietari"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "connectat"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "desconnectat"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "modificat"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "-- Creador/últim operador memòria compartida --\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "---- Segments de memòria compartida ----\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "clau"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "octets"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "estat"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "No establert"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "blocat"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "nucli no configurat per als semĂ fors\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "-------- LĂ­mits semĂ for --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "mĂ xim nombre de matrius = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "mĂ x. semĂ fors per matriu = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "mĂ x. semĂ fors al sistema = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "mĂ x. oper. per crida semop = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valor mĂ xim del semĂ for = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Estat del semĂ for ------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "matrius usades = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semĂ fors assignats = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "----- Creadors/propietaris matrius semĂ for -----\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "-- Temps operació/modificació memòria compartida --\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "Ăşltima operaciĂł"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "Ăşltima modificaciĂł"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Matrius del semĂ for ------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "el nucli no estĂ  configurat per a cues de missatges\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Missatges: lĂ­mits -------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "nombre mĂ x. de cues al sistema = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "mida mĂ x. del missatge (octets) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "mida mĂ x. per defecte de la cua (octets) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Missatges: estat --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "cues assignades = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "capçaleres usades = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "espai emprat = %d octets\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "--- Cues de missatges: creadors/propietaris ---\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "--- Temps tramesa./recep./modific. cues de missatges ---\n"
+
+# FIXME
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "envia"
+
+# FIXME
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "rep"
+
+# FIXME
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "modifica"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "-- Els PID de les cues de missatges --\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Cues de missatges -----\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "octets emprats"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "missatges"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "no s'ha pogut fer fsync"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Segment de la memòria compartida shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "octets=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "no s'ha pogut fer fsync"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Cua de missatges msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "coctets=%ld\tqoctets=%ld\tqnĂąm=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid de la matriu del semĂ for=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "valor"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "id invĂ lid : %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "identificador invĂ lid"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "identificador invĂ lid"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "id invĂ lid : %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s no es un dispositiu de bloc especial"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "no es pot obtenir la mida de %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "no es pot obtenir la mida de %s"
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "No s'ha pogut cercar a la unitat de disc"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "no es pot obtenir la mida de %s"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", desplaçament %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", lĂ­mit de mida %lld"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", xifratge %s (tipus %d)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"forma d'Ăşs:\n"
+" %s dispositiu_loop # dona informaciĂł\n"
+" %s -d dispositiu_loop # elimina\n"
+" %s -f # cerca no usats\n"
+" %s [ -e xifratge ] [ -o desplaçament ] {-f|disp_loop} fitxer # configura\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: el dispositiu loop estĂ  especificat dues vegades"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "No s'ha especificat l'opciĂł --date.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "No s'ha pogut blocar en memòria, s'està sortint.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: no s'ha pogut trobar el dispositiu per a %s\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "torna a llegir la taula de particions"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: no ha estat possible muntar"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "Cap"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "aconsegueix la mida del sector"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "aconsegueix la mida del sector"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"S'ha produĂŻt un error en tancar el fitxer\n"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "connector nfs"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Antiga situaciĂł:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: només l'usuari root pot fer això"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: només l'usuari root pot fer això"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: només l'usuari root pot muntar %s a %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: només l'usuari root pot fer això"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s des de %s%s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "s'ha produĂŻt un error en cercar"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "no es pot fer stat per a %s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s ja estĂ  muntat a %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: només l'usuari root pot muntar %s a %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s ja estĂ  muntat a %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: no s'ha pogut trobar %s a %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: no s'ha pogut trobar %s a %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: no s'ha pogut trobar %s a %s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: no s'ha pogut determinar el tipus de sistema de fitxers i no n'heu "
+"especificat cap"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: haureu d'especificar el tipus del sistema de fitxers"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: no s'ha pogut enllaçar %s: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: no ha estat possible muntar"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "no s'ha estat possible muntar"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: no ha estat possible muntar"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: el punt de muntatge %s no Ă©s un directori"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: haureu de ser un superusuari per a usar mount"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s estĂ  ocupat"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s ja estĂ  muntat o %s estĂ  ocupat"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s ja estĂ  muntat a %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: el punt de muntatge %s no existeix"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: el punt de muntatge %s és un enllaç simbòlic sense destí"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: el dispositiu especial %s no existeix"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "no s'ha estat possible muntar"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: el dispositiu especial %s no existeix\n"
+" (un prefix de camĂ­ no Ă©s un directori)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s encara no estĂ  muntat o una opciĂł Ă©s incorrecta"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s encara no estĂ  muntat o una opciĂł Ă©s incorrecta"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: el tipus de sistema de fitxers o Ă©s correcte, la opciĂł no Ă©s "
+"correcta,\n"
+" superbloc incorrecte a %s, manca la pĂ gina de codis o algun altre "
+"error"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" En alguns casos, es pot trobar informaciĂł Ăştil a syslog,\n"
+" proveu dmesg | tail o aixĂ­\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: no s'ha pogut llegir el superbloc"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: no es reconeix el sitema de fitxers «%s»"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s no Ă©s cap dispositiu de blocs, i stat falla?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: el nucli no reconeix %s com a dispositiu de blocs\n"
+" (potser fent «insmod controlador»?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s no Ă©s un dispositiu de blocs (proveu amb `-o loop')"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: no Ă©s un dispositiu de bloc\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s no Ă©s un dispositiu de blocs vĂ lid"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount : no s'ha pogut muntar %s%s com a només de lectura"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount : %s%s està protegit contra escriptura però se li ha donat el "
+"senyalador explícit «-w»"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount : no s'ha pogut muntar %s%s com a només de lectura"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr ""
+"mount: %s%s està protegit contra escriptura; es muntarà en només lectura"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s ja estĂ  muntat a %s\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: no s'ha pogut reanomenar %s a %s: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: no ha estat possible muntar"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s estĂ  muntat.\t "
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld blocs\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "SecundĂ ria DOS"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "mida de node d'identificaciĂł incorrecte"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "mĂ x. nombre de segments = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "mĂ x. nombre de segments = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "mĂ x. nombre de segments = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "missatges"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "mĂ x. nombre de segments = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Nom d'usuari il·legal"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "dispositiu de blocs "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Unitats"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d particions:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "opcions perilloses:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: Les opcions --adjust i --noadjfile s'exclouen mĂştuament. Les heu "
+"especificat totes dues.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Primer Ăšltim\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unqote No es posarĂ  la sortida entre cometes\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Mostra la informaciĂł de la versiĂł\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Aquesta petita guia d'Ăşs\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test Prova la versiĂł del getopt(1)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "s'ha produĂŻt un error en escriure %s: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Passa de probes: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): lĂ­nia del mapa incorrecta\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: no s'ha pogut trobar \"_stext\" a %s\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s adreça del perfil fora del rang. Fitxer `map' incorrecte?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s de %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Ordre desconeguda: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "valor d'expiraciĂł erroni: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "usuari"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: prioritat antiga %d, nova prioritat %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "no ha estat possible executar gettimeofday"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "semĂ fors assignats = %d\n"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr ""
+"\n"
+"S'ha produĂŻt un error en tancar el fitxer\n"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "semĂ fors assignats = %d\n"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "no ha estat possible executar gettimeofday"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: no s'ha pogut reconèixer el tipus de la taula de particions\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "identificador invĂ lid"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "identificador invĂ lid"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Usant %s.\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Usant %s.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s no Ă©s un dispositiu lp.\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "Missatge de %s@%s el %s a les %s ..."
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "Missatge de %s@%s el %s a les %s ..."
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "(Fitxer segĂĽent: %s)"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "forma d'Ăşs: %s programa [arg ...]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr "Escolliu `getopt --help' per obtenir més informació.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr "Escolliu `getopt --help' per obtenir més informació.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: no s'ha pogut reconèixer el tipus de la taula de particions\n"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Massa arguments.\n"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "forma d'Ăşs: %s programa [arg ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "bifurcaciĂł: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() ha fallat"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "no s'ha pogut executar exec\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s a %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "No sou el superusuari.\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d suprimeix una particiĂł"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "no s'ha pogut executar «stat» al camí\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "no s'ha pogut executar «stat» al camí\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Marca'l en Ăşs"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "no s'ha pogut executar exec\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "S'ha produĂŻt un error en obrir %s"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Nom"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"%s: avís: %s té els permisos %04o que són insegurs, se suggereix %04o\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+"%s: avís: %s té els permisos %04o que són insegurs, se suggereix %04o\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: S'està ometent el fitxer %s - sembla que té forats.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s a %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Ordres disponibles:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: no s'ha pogut trobar el dispositiu per a %s\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "el node d'identificaciĂł arrel no Ă©s un directori"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "S'estĂ  intentant desmuntar %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: no s'ha pogut obtenir el directori actual - %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "la cerca ha fallat"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unqote No es posarĂ  la sortida entre cometes\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unqote No es posarĂ  la sortida entre cometes\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "valor d'expiraciĂł erroni: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s no Ă©s un dispositiu lp.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "error de LPGETIRQ"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "l'estat de %s Ă©s %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", ocupat"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", a punt"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", falta paper"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", en lĂ­nia"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", error"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "no s'ha pogut fer fsync"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "error de LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s estĂ  usant la IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s estĂ  usant escrutini\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "no s'ha estat possible muntar"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: no ha estat possible muntar"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: dispositiu de blocs no vĂ lid"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: no s'ha pogut llegir el superbloc"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: haureu de ser superusuari per poder usar umount"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: dispositius de blocs no permesos en el sistema de fitxers"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "forma d'Ăşs: %s programa [arg ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "S'ha excedit el temps d'espera per a l'entrada al cap de %d segons.\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "S'ha excedit el temps d'espera per a l'entrada al cap de %d segons.\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "dispositiu de blocs "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "estat"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "no es pot fer stat per a %s"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "umount: %s: dispositiu desconegut"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: argument desconegut: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: no s'ha pogut obrir el dispositiu %s: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Ordres disponibles:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: senyal desconegut %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "No s'ha pogut obtenir el temps d'espera per a %s: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "s'ha produĂŻt un error en cercar a write_tables"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f segons\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "s'ha exhaurit el temps d'espera"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Dispositiu"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s versiĂł %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: no s'ha pogut executar %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "s'ha produĂŻt un error en canviar el mode de %s: %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: no s'ha pogut trobar el procés \"%s\"\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: no s'ha pogut executar %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "valor d'expiraciĂł erroni: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "velocitat incorrecta: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "massa velocitats alternatives"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: no es pot obrir com a entrada estĂ ndard: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: no Ă©s un dispositiu de carĂ cter"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: no s'ha obert per a lectura/escriptura"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problema de dup: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tipus: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: lectura: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: desbordament de l'entrada"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "usuari"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "usuaris"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "la cerca ha fallat"
+
+# FIXME 'y' untranslateable?
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "Ă©s y\n"
+
+# FIXME 'n' untranslateable?
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "Ă©s n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "semĂ fors assignats = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "id invĂ lid : %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Avís: «%s» és un enllaç.\n"
+"Useu «%s [opcions] %s» si realment desitgeu usar-lo.\n"
+"No s'ha executat script.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "S'ha iniciat l'execuciĂł de script, el fitxer Ă©s %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "S'ha iniciat l'execuciĂł de script a %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: no s'ha pogut trobar el dispositiu per a %s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"S'ha finalitzat l'execuciĂł de script a %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "S'ha fet la seqüència, el fitxer és %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "No queden pty\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "S'ha produĂŻt un error en obrir %s"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "mĂ x. nombre de segments = %lu\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: No s'esperava EOF en el fitxer %s\n"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: Argument erroni, forma d'Ăşs\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "no s'ha pogut bifurcar"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "no s'ha pogut bifurcar"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "no es pot obrir %s\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "no es pot (des)activar el mode d'estalvi d'energia\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "no s'ha pogut obrir per a escriptura el dispositiu %s\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "s'ha produĂŻt un error a klogctl: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "S'ha produĂŻt un error en escriure un bolcat de pantalla\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "No s'ha pogut obrir %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM no estĂ  definit.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: senyal desconegut %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "massa iov (modifiqueu el codi a wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "la lĂ­nia d'arguments Ă©s massa llarga"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "no s'ha pogut bifurcar"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "bifurcaciĂł: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "valor d'expiraciĂł erroni: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "No s'ha pogut obtenir la mida del disc"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Missatge de difusiĂł de %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: no es llegirĂ  de %s; s'utilitzarĂ  l'entrada estĂ ndard.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "(Fitxer segĂĽent: %s)"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "forma d'Ăşs: namei [-mx] camĂ­ [camĂ­ ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: no s'ha pogut trobar el nom de la vostra tty\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: teniu el permĂ­s d'escriptura desactivat.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s no ha entrat a %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s té els missatges inhabilitats a %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s no estĂ  connectat\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s té els missatges inhabilitats\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s està connectat més d'una vegada; s'està escrivint a %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "LĂ­nia d'entrada massa llarga.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Missatge de %s@%s (com a %s) el %s a les %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Missatge de %s@%s el %s a les %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: error d'escriptura.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: argument -l incorrecte %s.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: avís: no s'ha pogut fer la còpia de seguretat de %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "més enllà de la primera línia"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- lĂ­nia ja estĂ  buida"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: argument -l incorrecte %s.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: argument -l incorrecte %s.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "identificador invĂ lid"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "mĂ x. nombre de segments = %lu\n"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: opció desconeguda «-%c»\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: directori ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"**** %s: No Ă©s un fitxer de text ****\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Useu q o Q per a sortir]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--MĂ©s--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Fitxer segĂĽent: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Premeu la barra espaiadora per continuar; «q» per a sortir.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...retrocedeix %d pĂ gines"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...retrocedeix 1 pĂ gina"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...s'estĂ  ometent una lĂ­nia"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...s'estĂ  ometent %d lĂ­nies"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Endarrera***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "S'ha produĂŻt un error en l'expressiĂł regular"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"La majoria de les ordres sĂłn precedides opcionalment per un argument k "
+"enter. Els valors per defecte estan entre parèntesi.\n"
+"L'asterisc (*) indica que l'argument esdevé el nou valor per defecte.\n"
+
+# a.b: Falta arranjar això de "kth"
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<espai> Mostra les segĂĽents k lĂ­nies de text [la mida de la "
+"pantalla]\n"
+"z Mostra les segĂĽents k lĂ­nies de text [la mida de la "
+"pantalla]*\n"
+"<intro> Mostra les segĂĽents k lĂ­nies de text [1]*\n"
+"d o ctrl-D Desplaça k línies [actualment són 11]*\n"
+"q o Q o <interrupciĂł> Surt de more\n"
+"s Salta endavant k lĂ­nies de text [1]\n"
+"f Salta endavant k pantalles de text [1]\n"
+"b o ctrl-B Salta endarrera k pantalles de text [1]\n"
+"' Va a on va començar l'anterior recerca\n"
+"= Mostra el nĂşmero de la lĂ­nia actual\n"
+"/<expressió regular> Cerca l'ocurrència k-enèssima de l'exp.reg. [1]\n"
+"n Cerca l'ocurrència k-enèssima de l'última exp.reg. "
+"[1]\n"
+"!<cmd> o :!<cmd> Executa <cmd> en un altre intèrpret d'ordres\n"
+"v Engega /usr/bin/vi a la lĂ­nia actual\n"
+"ctrl-L Redibuixa la pantalla\n"
+":n Vés al k-enèssim fitxer següent [1]\n"
+":p Vés al k-enèssim fitxer anterior [1]\n"
+":f Mostra el nom del fitxer i el nĂşmero de lĂ­nia\n"
+". Repeteix l'ordre anterior\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Premeu «h» per a les instruccions.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" lĂ­nia %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[No Ă©s un fitxer] lĂ­nia %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Desbordament\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...s'estĂ  ometent\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"No s'ha trobat el patrĂł\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "No s'ha trobat el patrĂł"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "no s'ha pogut executar exec\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "no s'ha pogut bifurcar\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...S'estĂ  ometent"
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...s'estĂ  saltant al fitxer "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...S'estĂ  retrocedint al fitxer "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "LĂ­nia massa llarga"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "No hi ha cap ordre prèvia a substituir"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "lĂ­nia massa llarga"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: nombre total d'octets amb diversos carĂ cters de conversiĂł.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr ""
+"hexdump: nombre total d'octets incorrecte per al carĂ cter de conversiĂł %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr ""
+"hexdump: %%s requereix un valor de precisiĂł o un nombre total d'octets.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: format incorrecte {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: carĂ cter de conversiĂł %%%s incorrecte.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr ""
+" p Imprimeix la taula de particions a la pantalla o en un fitxer"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : No escrigues realment al disc"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Mostra la informaciĂł de la versiĂł\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Mostra la informaciĂł de la versiĂł\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: l'opciĂł requereix un argument -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: opció il·legal -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...s'estĂ  saltant endavant\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...s'estĂ  saltant endarrera\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "No hi ha cap fitxer segĂĽent"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "No hi ha cap fitxer anterior"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: S'ha produĂŻt un error de lectura en el fitxer %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: No s'esperava EOF en el fitxer %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: S'ha produĂŻt un error desconegut en el fitxer %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: No es pot cerar el fitxer temporal\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "Error RE:"
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "No es recorda la cadena de cerca"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "%s no es pot obrir"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "s'ha desat"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": no es permet !ordre en el mode rflag.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "no ha estat possible executar fork(), proveu-ho més endavant\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Fitxer segĂĽent: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "No s'ha especificat l'opciĂł --date.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "hi ha hagut un problema en llegir terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Seqüència d'escapament desconeguda en l'entrada: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "LĂ­nia d'entrada massa llarga.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "no ha estat possible executar openpty\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "No s'ha pogut obrir %s\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "no ha estat possible executar openpty\n"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "no es pot obrir '%s'"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+# NO només es va fer una traducció a partir de la versió
+# espanyola, sinó que a més a més es va fer malament.
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Aquest disc té tan màgia DOS com BSD.\n"
+#~ "Empreu l'ordre «b» per anar al mode BSD.\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "no es pot obrir %s"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: no es pot obrir %s\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "no s'ha pogut obrir %s per a lectura"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "No s'ha pogut obrir %s\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "la cerca ha fallat"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "No s'ha pogut obrir /dev/port: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "No s'ha pogut executar open() de %s"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "S'ha produĂŻt un error en obrir %s"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "No es pot obrir %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "no es pot fer stat per a %s"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "no es pot fer stat per a %s"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "no es pot fer stat per a %s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "(Fitxer segĂĽent: %s)"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#~ msgid "Cannot open "
+#~ msgstr "No s'ha pogut obrir"
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "No s'ha pogut obrir «%s» per a lectura\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "forma d'Ăşs: %s [-hv] [-x dir] fitxer\n"
+#~ " -h mostra aquesta ajuda\n"
+#~ " -x dir extreu dins del directori dir\n"
+#~ " -v mostra més missatges\n"
+#~ " fitxer fitxer a comprovar\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Forma d'Ăşs: %s [-larvsmf] /dev/nom\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "No s'intentarĂ  crear cap dispositiu d'intercanvi a '%s'"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "No podreu escriure la taula de particions.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "La partició %i no comença en el límit del cilindre:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "ha de ser (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "ha de ser (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "El disc %s no conté una taula de particions vàlida\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "No es pot obrir %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Aquest nucli troba la mida del sector automĂ tiament; s'ignorarĂ  l'opciĂł -"
+#~ "b\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "s'ha esgotat la memòria?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: final prematur de l'entrada\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: no s'ha pogut obrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Heu especificat mĂşltiples funcions.\n"
+#~ "Només podeu fer-ne una a la vegada.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: Les opcions --utc i --localtime s'exclouen mĂştuament. Les heu "
+#~ "especificat totes dues.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Les opcions --adjust i --noadjfile s'exclouen mĂştuament. Les heu "
+#~ "especificat totes dues.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Les opcions --adjust i --noadjfile s'exclouen mĂştuament. Les heu "
+#~ "especificat totes dues.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: el fitxer %s estĂ  ocupat (presenta %s).\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "El valor estĂ  fora del rang.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Valor establert invĂ lid: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "no es pot fer stat per a %s"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "No s'ha pogut escriure la particiĂł a %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "id invĂ lid : %s\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Valor establert invĂ lid: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Valor establert invĂ lid: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: no ha estat possible configurar el dispositiu loop\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "%s no es pot obrir"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: No s'esperava EOF en el fitxer %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "argument --date massa llarg\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "semĂ fors assignats = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: valor de la longitud incorrecte.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: valor del salt incorrecte.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Forma d'Ăşs: %s [-nĂşmero] [-p cadena] [-cefnrs] [+lĂ­nia] [+/patrĂł/] "
+#~ "[fitxers]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "s'ha produĂŻt un error en cercar"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "no s'ha pogut bifurcar\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "la cerca ha fallat"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d esborra una particiĂł BSD"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l llista els tipus de sistemes de fitxers coneguts"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n afegeix una nova particiĂł BSD"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p imprimeix la taula de particions BSD"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t canvia l'identificador del sistema de fitxers d'una particiĂł"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u canvia les unitats (cilindres/sectors)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p imprimeix la taula de particions"
+
+#, fuzzy
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "S'està creant una etiqueta de disc DOS nova. Els canvis només\n"
+#~ "romandran a la memòria fins que decidiu escriure'ls. Després\n"
+#~ "d'aquesta operaciĂł, l'anterior contingut no es podrĂ  recuperar.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "El dispositiu no conté ni taula de particions DOS vàlida, ni cap etiqueta "
+#~ "de disc Sun, SGI o OSF\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Error intern\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tNo hi ha menĂş d'usuari expert per a les taules de particions SGI.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Ja sabeu que hi ha un encavalcament de particions al disc?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "S'està construint una nova etiqueta de disc SGI. Els canvis només "
+#~ "romandran\n"
+#~ "a la memòria fins que decidiu escriure'ls. Després d'això, no es podrà\n"
+#~ "recuperar l'anterior contingut.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "s'ha esgotat la memòria - s'està abandonant\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: poca memòria; l'accés podria fallar\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "no es pot executar malloc() per a ttyclass"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "no es pot executar malloc per a grplist"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Per defecte, s'ha denegat l'accés a %s des de %s.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "S'ha denegat l'accés a %s des de %s.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Forma d'Ăşs: %s [ -f nom_complet ] [ -o oficina ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "login: PAM ha fallat; s'estĂ  avortant: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Forma d'ús: %s [ -s intèrpret_d'ordres ] [ --list-shells ] [ --help ] [ --"
+#~ "version ]\n"
+#~ "\t[ nom_usuari ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s: només es poden modificar entrades locals; useu yp%s.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: No s'ha pogut establir el context per defecte per a /etc/passwd"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "la cerca ha fallat"
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: useu l'opciĂł -l per veure'n la llista\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Useu %s -l per veure'n la llista.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "forma d'Ăşs: login [-fp] [nom_usuari]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "no hi ha prou memòria"
+
+#~ msgid "Illegal username"
+#~ msgstr "Nom d'usuari il·legal"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "S'ha refusat l'entrada de %s en aquest terminal.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "S'HA REFUSAT L'ENTRADA DE %s DES DE %s A LA TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "S'HA REFUSAT L'ENTRADA DE %s A LA TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Entrada incorrecta\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "semĂ fors assignats = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: s'ha produĂŻt un error en bifurcar: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "Entrada a %s: "
+
+#~ msgid "NAME too long"
+#~ msgstr "NOM Ă©s massa llarg"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "el nom d'entrada Ă©s massa llarg.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "els noms d'entrada no poden començar per «-».\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "MASSA salts de pĂ gina"
+
+# FIXME
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "massa salts de pĂ gina solitaris.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "HA FALLAT L'ENTRADA DE %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "HA FALLAT L'ENTRADA A %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "HA FALLAT %d VEGADES L'ENTRADA DES DE %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "HA FALLAT %d VEGADES L'ENTRADA A %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: el fitxer group estĂ  ocupat.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr "%s: no s'ha pogut desblocar %s: %s (els canvis encara estan a %s)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "El disc %s no conté una taula de particions vàlida\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "no ha estat possible executar openpty\n"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: l'usuari \"%s\" no existeix.\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: no s'ha pogut obtenir informaciĂł sobre el dispositiu %s: %s\n"
+
+#, fuzzy
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", desplaçament %d"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", tipus de xifratge %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: no s'ha pogut obtenir informaciĂł sobre el dispositiu %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: no s'ha pogut obrir el dispositiu %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: no teniu permisos per llegir /dev/loop#"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: No s'ha pogut trobar cap dispositiu loop. És possible que aquest "
+#~ "nucli\n"
+#~ " no reconegui els dispositius loop? (Si es aixĂ­, recompileu-lo o "
+#~ "feu\n"
+#~ " «modprobe loop».)"
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr ""
+#~ "S'ha esgotat la memòria en augmentar la mida de la memòria intermèdia.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "El sector %d ja estĂ  assignat\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr ""
+#~ "mount: %s%s està protegit contra escriptura; es muntarà en només lectura"
+
+#, fuzzy
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu): èxit\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): èxit\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: no s'ha pogut suprimir el dispositiu %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Aquest mount s'ha compilat sense suport per a loop. Recompileu-lo.\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Quan es va compilar el suport per a loop no estava disponible. Recompileu-"
+#~ "lo.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Forma d'Ăşs: %s [-q [-i interval]] ([-s valor]|[-S valor]) ([-t valor]|[-T "
+#~ "valor]) [-g|-G] fitxer [fitxer...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "No s'ha pogut obrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: no s'ha pogut obrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: valor incorrecte\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "no s'ha pogut bifurcar\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "Ăşs desaprovat: %s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "no es reconeix el tipus de la font: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "forma d'Ăşs: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "error desconegut en la clau"
+
+#~ msgid "unknown error in id"
+#~ msgstr "error desconegut en l'identificador"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s proporciona informació sobre els recursos ipc als que teniu accés de "
+#~ "lectura.\n"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s de %s\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Forma d'Ăşs: \"%s [opcions]\n"
+#~ "\t -m <fitxer_mapa> (valors predeterminats = «%s» i\n"
+#~ "\t\t\t\t «%s»)\n"
+#~ "\t -p <fitxer> (valor predeterminat = «%s»)\n"
+#~ "\t -M <mult> estableix el multiplicador del perfil en <mult>\n"
+#~ "\t -i només mostra la informació sobre el pas de mostreig\n"
+#~ "\t -v mostra dades detallades\n"
+#~ "\t -a mostra tots els sĂ­mbols, fins i tot si el compte Ă©s 0\n"
+#~ "\t -b mostra els histogrames individuals dels comptadors\n"
+#~ "\t -r restableix tots els comptadors (només el root)\n"
+#~ "\t -n inhabilita la detecciĂł automĂ tica de l'ordre dels octets\n"
+#~ "\t -V mostra la versiĂł i surt\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: s'ha produĂŻt un error en escriure %s: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr "Escolliu `getopt --help' per obtenir més informació.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "forma d'Ăşs: %s programa [arg ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Forma d'Ăşs: %s <dispositiu> [ -i <IRQ> | -t <TEMPS> | -c <CARĂ€CT.> | -w "
+#~ "<ESPERA> |\n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s "
+#~ "| \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: valor incorrecte\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr "S'ha canviat la informaciĂł del finger.\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "S'ha produĂŻt un error en tancar el fitxer\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Podeu canviar l'etiqueta de les particions no buides.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "AvĂ­s: la particiĂł %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "AvĂ­s: les particions %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "i %s encavalquen\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "dispositiu: semblant a /dev/hda o /dev/sda"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "octets"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -l [ senyal ]\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [dispositius]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] ordres dispositius\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Ordres disponibles:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: no es pot obrir %s\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "s'ha produĂŻt un error en cercar"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "forma d'Ăşs: %s [ -n ] dispositiu\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: no Ă©s un dispositiu de bloc\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: s'ha produĂŻt un error en analitzar l'opciĂł\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Forma d'Ăşs: %s [-x] [-d <nĂşm>] imatge-iso9660\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Forma d'Ăşs: %s [-v] [-N nr_de_nodes_d'identificaciĂł] [-V nom_volum]\n"
+#~ " [-F nom_sis._fitx.] dispositiu [quants_blocs]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "no es pot fer stat per a %s"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "no es pot obtenir la mida de %s"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "no s'ha pogut bifurcar\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Forma d'Ăşs: %s [-c] [-v0|-v1] [-pMIDAPĂ€G] [-L etiqueta] /dev/_nom_ "
+#~ "[blocs]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "S'ha esgotat la memòria"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "Forma d'Ăşs:\n"
+
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "El menú no té direcció; l'opció per defecte és horitzontal."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr "Primer heu de suprimir alguna particiĂł i afegir-ne una d'estesa\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "AcciĂł de l'ordre\n"
+#~ "%s\n"
+#~ " p particiĂł primĂ ria (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [o --show-size]: Mostra la mida d'una particiĂł"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr ""
+#~ " -c [o --id]: Imprimeix o canvia l'identificador de la particiĂł"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [o --list]: Mostra les particions de cada dispositiu"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [o --dump]: El mateix, però amb un format adequat per a una\n"
+#~ " entrada posterior"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [o --increment]: Nombre de cilindres, etc. des de 1 en comptes de "
+#~ "0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: Accepta/reporta en unitats de sectors/blocs/"
+#~ "cilindres/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [o --list-types]: Llista els tipus de particions conegudes"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [o --DOS]: Per compatibilitat amb DOS: es perd una mica "
+#~ "d'espai"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [o --re-read]: Fa que el nucli rellegeixi la taula de particions"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : Només canvia la partició amb el número #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O fitxer : Desa els sectors que es sobreescriuran en un "
+#~ "fitxer"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I fitxer: Restaura aquests sectors altra vegada"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [o --version]: Imprimeix la versiĂł"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [o --help]: Imprimeix aquest missatge"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [o --show-geometry]: Imprimeix la idea que té el nucli de la "
+#~ "geometria"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [o --Linux]: No mostra avisos sobre aspectes irrellevants "
+#~ "per\n"
+#~ " a Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [o --quiet]: Suprimeix els avisos"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Podeu modificar la geometria detectada usant:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr ""
+#~ " -C# [o --cylinders #]: Estableix el nombre de cilindres que s'usaran"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr ""
+#~ " -H# [o --heads #]: Estableix el nombre de capçals que s'usaran"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr ""
+#~ " -S# [o --sectors #]: Estableix el nombre de sectors que s'usaran"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Podeu desactivar tota comprovació de consistència amb:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [o --force]: FarĂ  el que li digueu, encara que sigui estĂşpid"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: haureu d'especificar el tipus del sistema de fitxers"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Forma d'Ăşs: mkfs [-V] [-t tipus_sis._fitx.] [opcions_sis._fitx.] "
+#~ "dispositiu [mida]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "No s'ha pogut obrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s de %s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "No es pot assignar memòria intermèdia per als nodes d'identificació"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Escolliu `getopt --help' per obtenir més informació.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Forma d'Ăşs: getopt cadena_opcions parĂ metres\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [opcions] [--] cadena_opcions parĂ metres\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parĂ metres\n"
+
+#, fuzzy
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (millorat) 1.1.3\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(S'esperava: `UTC', `LOCAL' o res).\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - Consulta i configura el rellotge de maquinari (RTC)\n"
+#~ "\n"
+#~ "Forma d'Ăşs: hwclock [funciĂł] [opcions...]\n"
+#~ "\n"
+#~ "Funcions:\n"
+#~ " --help Mostra aquesta ajuda\n"
+#~ " --show Llegeix el RTC i n'imprimeix el resultat\n"
+#~ " --set Estableix el RTC a l'hora proporcionada amb --date\n"
+#~ " --hctosys Estableix l'hora del sistema a partir del RTC\n"
+#~ " --systohc Estableix el RTC a l'hora actual del sistema\n"
+#~ " --adjust Ajusta el RTC per a compensar el desfasament sistemĂ tic "
+#~ "des de \n"
+#~ " la Ăşltima vegada que es va establir o ajustar el "
+#~ "rellotge\n"
+#~ " --getepoch Imprimeix el valor de l'època del RTC del nucli\n"
+#~ " --setepoch Estableix el valor de l'època del RTC del nucli \n"
+#~ " al valor proporcionat amb --epoch\n"
+#~ " --version Imprimeix la versiĂł de hwclock a la sortida estĂ ndard\n"
+#~ "\n"
+#~ "Opcions: \n"
+#~ " --utc El RTC estĂ  en temps universal coordinat\n"
+#~ " --localtime El RTC té l'hora local\n"
+#~ " --directisa Accedeix al bus ISA directament en comptes de %s\n"
+#~ " --badyear Ignora l'any del RTC ja que el BIOS no funciona\n"
+#~ " --date Especifica el temps en què es desitja establir el RTC\n"
+#~ " --epoch=any Especifica l'any que correspon al començament del valor "
+#~ "de\n"
+#~ " l'època del RTC\n"
+#~ " --noadjfile No accedeixis a /etc/adjtime. Requereix l'Ăşs de --utc o "
+#~ "bé\n"
+#~ " --localtime\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "no s'ha pogut executar malloc() per a la cadena d'inicialitzaciĂł"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Forma d'ús: %s [-hiLmw] [-l programa_accés] [-t temps_espera] [-I "
+#~ "cadena_inicialització] [-H ordinador_accés] velocitat_bauds,... línia "
+#~ "[tipus_terminal]\n"
+#~ "o bé\n"
+#~ "\t[-hiLmw] [-l programa_accés] [-t temps_espera] [-I "
+#~ "cadena_inicialització] [-H ordinador_accés] línia velocitat_bauds,... "
+#~ "[tipus_terminal]\n"
+
+# FIXME 'y', 'n' untranslateable?
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "forma d'Ăşs: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: ERROR DOLENT"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "forma d'Ăşs: %s [fitxer]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: no s'ha pogut llegir %s.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "forma d'ús: logger [-is] [-f fitxer] [-p pri] [-t etiqueta] [-u sòcol]\n"
+#~ "\t[ missatge ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "forma d'Ăşs: look [-dfa] [-t carĂ cter] cadena [fitxer]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "s'ha esgotat la memòria?\n"
+
+# FIXME "from to"????
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "crida: %s des dels fitxers...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "forma d'Ăşs: script [-a] [-f] [-q] [-t] [fitxer]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "s'ha produĂŻt un error d'escriptura a %s\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "s'ha produĂŻt un error d'escriptura a %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term nom_terminal ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#, fuzzy
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-NĂšM_CONSOLES] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-NĂšM_CONSOLES] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq número_freqüència ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "forma d'Ăşs: last [-#] [-f fitxer] [-t tty] [-h nom_ordinador] "
+#~ "[usuari ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ senyal ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Forma d'Ăşs: %s [opcions] dispositiu ...\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM directori ... -f ] nom...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "forma d'Ăşs: write usuari [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: no s'ha pogut obrir %s: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "desconegut"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Forma d'Ăşs: shutdown [-h|-r] [-fqs] [now|hh:ss|+minuts]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "S'ha avortat el procés d'aturada"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Només l'usuari root pot aturar un sistema.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "Això ha de ser demà, no us podeu esperar fins llavors?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "per al manteniment; saltant, saltant"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "El sistema s'aturarĂ  d'aquĂ­ a 5 minuts"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Per tant no es permet l'entrada."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "%s ha arrencat de nou: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "%s ha aturat: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Com és que encara estic actiu després d'arrencar de nou?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Ara podeu desconnectar la font d'alimentaciĂł..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "S'estĂ  cridant el sistema d'apagada del nucli...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "S'ha produĂŻt un error en apagar\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "S'estĂ  executant el programa \"%s\" ...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "S'ha produĂŻt un error en executar \t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "URGENT: missatge de difusiĂł de %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "El sistema s'aturarĂ  d'aquĂ­ a %d hores i %d minuts"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "El sistema s'aturara d'aquĂ­ a 1 hora i %d minuts"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "El sistema s'aturarĂ  d'aquĂ­ a %d minuts\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "El sistema s'aturarĂ  d'aquĂ­ a 1 minut\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "El sistema s'aturarĂ  IMMEDIATAMENT.\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "No s'ha pogut bifurcar swapoff."
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "No s'ha pogut executar swapoff, esperem que umount ho faci."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "No s'ha pogut bufurcar umount, s'estĂ  provant manualment."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "No s'ha pogut executar %s, s'estĂ  provant umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "No s'ha pogut executar umount, s'estĂ  abandonant l'operaciĂł umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "S'estĂ  desmuntant els sistemes de fitxers restants..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: No s'ha pogut desmuntar %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "S'estĂ  arrencant en el mode d'un sol usuari.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr ""
+#~ "l'execució de l'intèrpret d'ordres en mode d'un sol usuari ha fallat\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "no s'ha pogut bifurcar l'intèrpret d'ordres d'un sol usuari\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "s'ha produĂŻt un error en obrir fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "s'ha produĂŻt un error en inicialitzar close-on-exec a /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "s'ha produĂŻt un error en executar finalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "s'ha produĂŻt un error en bifurcar finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Contrasenya incorrecta.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "no s'ha pogut executar «lstat» al camí\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "no s'ha pogut bifurcar\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "no s'ha pogut obrir inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "no hi ha TERM o no s'ha pogut executar stat a la tty\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "s'ha produĂŻt un error en aturar el servei: \"%s\""
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "s'ha produĂŻt un error en aturar el servei: \"%s\""
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "s'ha produĂŻt un error en aturar el servei: \"%s\""
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Forma d'ús: %s [-c] [-n nivell] [-s mida_memòria_temporal]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "S'ha produĂŻt un error en obrir %s"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "forma d'Ăşs: col [-bfpx] [-l nline]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "forma d'Ăşs: %s [ - ] [ -2 ] [ fitxer ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fitxer_fmt] [-n longitud] [-s omet] "
+#~ "[fitxer ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "forma d'Ăşs: %s [-dflpcsu] [+nĂşm_lĂ­nies | +/patrĂł] nom1 nom2 ...\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: no s'ha pogut llegir %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: lĂ­nia massa llarga.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "forma d'Ăşs: %s [fitxer]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Forma d'Ăşs: tailf fitxer_registre\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "forma d'Ăşs: %s [ -i ] [ -tTerminal ] fitxer...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "No s'ha pogut obrir %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "No s'ha pogut assignar més memòria\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "s'ha obtingut EOF tres vegades - s'estĂ  sortint...\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: no ha estat possible executar malloc.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: No hi ha prou memòria\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "No hi ha cap directori %s\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr ""
+#~ "login: no hi ha prou memòria per a la seqüència de l'intèrpret d'ordres.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: no hi ha l'intèrpret d'ordres: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: S'ha denegat el permĂ­s"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: No s'ha pogut bifurcar\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: no s'ha pogut llegir %s.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: no s'ha pogut executar stat al fitxer temporal.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: no s'hapogut llegir el fitxer temporal.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "s'ha produĂŻt un error d'escriptura a %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "s'ha produĂŻt un error en cercar"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " i "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: usuari desconegut\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: valor incorrecte\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) ha quedat obsolet per a hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: la compatibilitat amb hexdump(1) no permet l'opciĂł -%c %s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; vegeu strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "La particiĂł acaba en l'Ăşltim cilindre parcial"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: no hi ha prou memòria\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "S'ha produĂŻt un error en obrir %s"
+
+#, fuzzy
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: clau il·legal (%s)\n"
+
+#, fuzzy
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: opció il·legal -- %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "no s'ha pogut tornar a nomenar %s per %s: %s\n"
+
+#, fuzzy
+#~ msgid "rtc read"
+#~ msgstr ", a punt"
+
+#~ msgid "malloc error"
+#~ msgstr "error en l'assignació de memòria"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "forma d'Ăşs: column [-tx] [-c columnes] [fitxer ...]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "S'ha esgotat la memòria"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "No s'ha pogut assignar espai de memòria intermèdia\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "forma d'Ăşs: rev [fitxer ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr ""
+#~ "S'ha esgotat la memòria en augmentar la mida de la memòria intermèdia.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: opció il·legal -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "segments assignats %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "pĂ gines assignades %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "pĂ gines residents %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "pĂ gines intercanviades %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Rendiment de l'intercanvi: %ld intents\t %ld encerts\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "s'ha produĂŻt un error en executar finalprog\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "Valor establert invĂ lid: %s\n"
+
+#, fuzzy
+#~ msgid "current"
+#~ msgstr "ncount"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "Nova"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Forma d'Ăşs: fdisk [-b SSZ] [-u] DISC Canvia la taula de particions\n"
+#~ " fdisk -l [-b SSZ] [-u] DISC Llista les taules de particions\n"
+#~ " fdisk -s PARTICIĂ“ Mostra la mida de la parciciĂł en "
+#~ "blocs\n"
+#~ " fdisk -v Mostra la versiĂł de fdisk\n"
+#~ "DISC Ă©s del tipus /dev/hdb o /dev/sda i PARTICIĂ“ Ă©s del tipus /dev/hda7\n"
+#~ "-u: Mostra l'inici i el final de la unitat en sectors (no en cilindres)\n"
+#~ "-b 2048: (per als discs MO) usa 2048 octets per sector\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Forma d'Ăşs: fdisk [-l] [-b SSZ] [-u] dispositiu\n"
+#~ "P.ex.: fdisk /dev/hda (per al primer disc IDE)\n"
+#~ " o: fdisk /dev/sdc (per al tercer disc SCSI)\n"
+#~ " o: fdisk /dev/eda (per a la primera unitat PS/2 ESDI)\n"
+#~ " o: fdisk /dev/rd/c0d0 o: fdisk /dev/ida/c0d0 (per als dispositius "
+#~ "RAID)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "El nombre de cilindres per a aquest disc estĂ  establert en %d.\n"
+#~ "Això no és incorrecte, però és més gran que 1024 i podríeu\n"
+#~ "tenir problemes amb certes configuracions de:\n"
+#~ "1) Programari que s'executa durant d'arrencada (p.ex., versions\n"
+#~ " antigues del LILO)\n"
+#~ "2) En arrencar i particionar des d'un altre SO\n"
+#~ " (p.ex., DOS FDISK, OS/2 FDISK)\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: no s'ha trobat %s; s'estĂ  creant...\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "forma d'Ăşs: %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr " %s [-s -m -q] -i identificador\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr " %s -h per a ajuda.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "EspecificaciĂł dels recursos:\n"
+#~ "\t-m : memòria compartida\n"
+#~ "\t-q : missatges\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semĂ fors\n"
+#~ "\t-a : tot (per defecte)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Format de l'eixida:\n"
+#~ "\t-t : temps\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creador\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : lĂ­mits\n"
+#~ "\t-u : resum\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "Error RE:"
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "s'ha produĂŻt un error en llegir %s\n"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr ""
+#~ "forma d'ús: rdev [ -rv ] [ -o DESPLAÇAMENT ] [ IMATGE [ VALOR "
+#~ "[ DESPLAÇAMENT ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (o rdev /linux, etc.) mostra el dispositiu ROOT actual"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 estableix el ROOT a /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 estableix els ROOTFLAGS (estat de només "
+#~ "lectura)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 estableix la mida del RAMDISK"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr ""
+#~ " rdev -v /dev/fd0 1 estableix el VIDEOMODE de l'arrencada"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... usar el desplaçament d'octets N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... el mateix que rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... el mateix que rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... el mateix que rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Nota: els modes de vídeo són: -3=Pregunta, -2=Estès, -1=NormalVga,\n"
+#~ " 1=tecla1, 2=tecla2, ... "
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " useu -R 1 per muntar l'arrel de només lectura; -R 0 per a lectura/"
+#~ "escriptura."
+
+#~ msgid "missing comma"
+#~ msgstr "falta una coma"
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "no hi ha prou memòria"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "%lld sectors no assignats\n"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "inici"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Mida mĂ xima=%ld\n"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX arrencable"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "No s'ha canviat l'intèrpret d'ordres.\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: error: etiqueta només amb espai d'intercanvi v1\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "fatal: no es pot llegir la primera pĂ gina"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: el dispositiu '%s' conté una etiqueta de disc Sun vàlida.\n"
+#~ "Això probablement significa que si es crea un espai d'intercanvi v0, es\n"
+#~ "destruirĂ  la taula de particions.\n"
+#~ "No s'ha creat l'espai d'intercanvi. Si de realment voleu crear un espai\n"
+#~ "d'intercanvi v0 en aquest dispositiu, useu l'opció -f per a forçar-ho.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: no s'ha pogut executar chdir al directori arrel\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: no s'ha pogut executar stat al directori arrel\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: desbordament de la memòria intermèdia\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? no s'ha pogut executar chdir a %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? hi ha hagut problemes en llegir l'enllaç simbòlic %s - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** S'HA EXCEDIT EL LÍMIT D'ENLLAÇOS SIMBÒLICS DE UNIX ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: tipus de fitxer desconegut 0%06o en el fitxer %s\n"
+
+#, fuzzy
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: es muntarĂ  %s per UUID\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: es muntarĂ  %s per etiqueta\n"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: No s'ha pogut bifurcar\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: s'ha produĂŻt un error en obrir: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "no s'ha pogut executar umount en %s - es provarĂ  amb %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#, fuzzy
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM ha fallat; s'estĂ  avortant: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "No s'ha pogut llegir %s; s'estĂ  sortint."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM ha fallat; s'estĂ  avortant: %s\n"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: s'està executant «%s» en segon plà\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: s'està abandonant «%s»\n"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "«%s»: directori incorrecte: «.» no és el primer\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "«%s»: directori incorrecte: «..» no és el segon\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "s'estĂ  cridant open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "s'estĂ  cridant termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "s'estĂ  escrivint la cadena inicial\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "abans del mode autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "s'estĂ  esperant cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "s'estĂ  llegint el nom d'entrada\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "després del bucle getopt\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "s'estĂ  traient parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "s'ha entrat parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "s'estĂ  traient parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "dup() en curs\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "S'ha produĂŻt un error en la contrasenya."
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "AvĂ­s: \"%s\" no estĂ  llistat a /etc/shells\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "timeout = %d, quiet = %d, reboot = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr ""
+#~ "no s'ha pogut llegir %s, i no s'ha pogut efectuar un bolcat d'ioctl\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", desplaçament %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: no s'ha trobat cap dispositiu /dev/loop#"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "forma d'Ăşs: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p prioritat] especial|ETIQUETA=nom_volum...\n"
+#~ " %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "forma d'Ăşs: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] especial ...\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: no s'ha pogut obrir %s: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "forma d'Ăşs: renice prioritat [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] "
+#~ "usuaris ]\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: opció desconeguda «-%c»\n"
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES. Raise this value in mkcramfs.c and recompile. "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "S'ha excedit MAXENTRIES. Incrementeu aquest valor a mkcramfs.c i\n"
+#~ "recompileu. S'estĂ  sortint.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "S'estĂ  assumint que la mida de les pĂ gines Ă©s de %d (i no %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "La configuraciĂł automĂ tica ha trobat un %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Tipus d'unitat\n"
+#~ " ? Amb configuraciĂł automĂ tica\n"
+#~ " 0 Personalitzada (amb valors per defecte que detecti el maquinari)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Seleccioneu el tipus (? automĂ tica, 0 personalitzada): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Cilindres alternatius"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Cilindres fĂ­sics"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Podeu canviar tots els parĂ metres del disc des del menĂş x"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "Disquet de 3,5 polzades"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux personalitzada"
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s d'util-linux-%s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: error: l'etiqueta %s apareix a %s i %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: no s'ha pogut obrir %s, ja que no es pot fer la conversiĂł UUID i "
+#~ "LABEL.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: UUID erroni"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr ""
+#~ "mount : no ha estat possible muntar la versiĂł 4 de nfs, s'estĂ  intentant "
+#~ "3...\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: s'estĂ  muntant %s\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr ""
+#~ "mount: s'ha produĂŻt un error en intentar endevinar el tipus de sistema de "
+#~ "fitxers\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: argument excessivament llarg host:dir\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: avĂ­s: mĂşltiples noms d'ordinador no estĂ  implementat\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: el directori a muntar no té el format ordinador:dir\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: no s'ha pogut obtenir l'adreça per a %s\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: valor incorrecte per a hp->h_length\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: l'argument de l'opciĂł Ă©s excessivament llarg\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "AvĂ­s: OpciĂł desconeguda proto=\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "AvĂ­s: L'opciĂł namlen no estĂ  implementada.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "no es reconeix el parĂ metre de muntatge de nfs: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "AvĂ­s: l'opciĂł nolock no estĂ  implementada.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "no es creconeix l'opciĂł de muntatge de nfs: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: valor incorrecte per a hp->h_length?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "el servidor nfs informa que el servei no estĂ  disponible"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "s'ha usat l'assignador de ports per trobar el port NFS\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "s'estĂ  usant el port %d per al dimoni de nfs\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "no es reconeix el valor de retorn de l'estat de nfs: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "host: %s, directori: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: no s'ha pogut obtenir l'adreça per a %s\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: valor incorrecte per a hostp->h_length\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: el cramfs és invàlid, la longitud del camí és errònia\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: el cramfs és invàlid, la màgia és errònia\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr ""
+#~ "%s: avĂ­s; la longitud del fitxer Ă©s massa llarga, potser Ă©s una imatge "
+#~ "amb farciment?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: el cramfs Ă©s invĂ lid, error de crc\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: el cramfs Ă©s invĂ lid, el superbloc Ă©s erroni\n"
+
+#~ msgid "flock: unknown option, aborting.\n"
+#~ msgstr "flock: es desconeix l'opciĂł, s'estĂ  avortant.\n"
+
+#~ msgid ""
+#~ "Usage flock [--shared] [--timeout=seconds] filename command {arg arg...}\n"
+#~ msgstr ""
+#~ "Forma d'Ăşs: flock [--shared | --timeout=segons] fitxer ordre {arg "
+#~ "arg...}\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Error de sintaxi: '%s'\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "No s'ha especificat aquet parĂ metre: '%s'\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr " %s [ -p ] nom del dispositiu\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ " %s [ -p ] dispositiu mida sectors capçals pistes stretch gap rate "
+#~ "spec1 fmt_gap\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] dispositiu\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] dispositiu\n"
+
+#~ msgid "version"
+#~ msgstr "versiĂł"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "no es pot obrir /dev/urandom"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "no s'ha pogut llegir les dades aleatòries de /dev/urandom"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "no s'ha pogut executar stat(%s)"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "%s no té els modes de fitxer correctes"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "no s'ha pogut llegir dades de %s"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "Hi ha massa usuaris en actiu en el sistema.\n"
+#~ "Proveu-ho més endavant.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Esteu executant massa processos.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr ""
+#~ "La contrasenya ha de tenir com a mĂ­nim 6 carĂ cters, intenteu-ho de nou.\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "La contrasenya ha de contenir carĂ cters d'alguna de les segĂĽents clases:\n"
+#~ "lletres majúscules i minúscules, dígits i caràcters no alfanumèrics.\n"
+#~ "Per a més informació consulteu passwd(1).\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "No podeu tornar a usar una contrasenya antiga.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr "No useu res similar al vostre nom d'usuari per contrasenya.\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr "No useu res similar al vostre nom real per contrasenya.\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Forma d'Ăşs: passwd [nom_usuari [contrasenya]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "Només l'usuari root pot usar les formes d'un i dos arguments.\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Forma d'Ăşs: passwd [-foqsvV] [usuari [contrasenya]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "No s'ha pogut executar %s: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "No s'ha pogut trobar el nom d'entrada"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Només l'usuari root pot canviar la contrasenya d'altres usuaris.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr ""
+#~ "No s'ha pogut trobar enlloc el nom d'usuari. `%s' Ă©s realment un usuari?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr "Només es poden canviar les contrasenyes locals. Useu yppasswd."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "El UID i el nom d'usuari no coincideixen, sou un impostor."
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "S'estĂ  canviant la contrasenya per a %s\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Entreu l'antiga contrasenya: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Contrasenya il·legal, impostor."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Entreu la nova contrasenya: "
+
+#~ msgid "Password not changed."
+#~ msgstr "No s'ha canviat la contrasenya."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Reescriviu la nova contrasenya: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "L'heu escrit malament. No s'ha canviat."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "s'ha canviat la contrasenya, usuari %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "S'HA CANVIAT LA CONTRASENYA DEL SUPERUSUARI (ROOT)"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "el superusuari (root) ha canviat la contrasenya; usuari %s"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "s'estĂ  cridant setpwnam per establir la contrasenya.\n"
+
+#~ msgid "Password *NOT* changed. Try again later.\n"
+#~ msgstr "*NO* s'ha canviat la contrasenya. Intenteu-ho més endavant.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "S'ha canviat la contrasenya.\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr ""
+#~ "mount: aquesta versiĂł ha estat compilada sense suport per al tipus `nfs'"
+
+#~ msgid "%s: not compiled with minix v2 support\n"
+#~ msgstr "%s: no s'ha compilat amb suport per a minix v2\n"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "Arren.(%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Cap (%02X)"
+
+#~ msgid "BLKGETSIZE ioctl failed for %s\n"
+#~ msgstr "Falla del ioctl BLKGETSIZE per a %s\n"
+
+#~ msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
+#~ msgstr "%s: [%04x]:%ld (%s) desplaçament %d, %s encriptació\n"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ " Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: No es pot trobar cap dispositiu loop.\n"
+#~ " Podria ser que /dev/loop# tingui un nĂşmero major incorrecte?"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device (then recompile or `insmod loop.o'), or\n"
+#~ " maybe /dev/loop# has the wrong major number?"
+#~ msgstr ""
+#~ "mount: No es pot trobar cap dispositiu loop. Potser aquest nucli no\n"
+#~ " el reconegui (si es això, recompileu o feu `insmod loop.o')\n"
+#~ " o també podria ser que /dev/loop# tingui un número major "
+#~ "incorrecte."
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "InicialitzaciĂł (fins a 16 dĂ­gits hexadecimals): "
+
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "DĂ­git no hexadecimal '%c'.\n"
+
+#~ msgid "Don't know how to get key for encryption system %d\n"
+#~ msgstr "No conec com obtindre la clau per al sistema d'encriptaciĂł %d\n"
+
+#~ msgid "mount: %s duplicate - not mounted"
+#~ msgstr "mount: %s duplicada; no es muntarĂ "
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "mount: the label %s occurs on both %s and %s - not mounted\n"
+#~ msgstr "mount: l'etiqueta %s apareix en %s i %s; no s'ha muntat\n"
diff --git a/po/cs.gmo b/po/cs.gmo
new file mode 100644
index 0000000..d55a929
--- /dev/null
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..9301cdd
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,18982 @@
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
+# Czech translation of util-linux.
+# This file is distributed under the same license as the util-linux package.
+#
+# Jiří Pavlovský <pavlovsk@ff.cuni.cz>, 1999 - 2001.
+# Petr PĂ­saĹ™ <petr.pisar@atlas.cz>, 2006.
+# VladimĂ­r Michl <vladimir.michl@seznam.cz>, 2007
+# Petr PĂ­saĹ™ <petr.pisar@atlas.cz>, 2007, 2008, 2009, 2010, 2011, 2012.
+#
+# eject tool messages merged from eject-2.1.5:
+# Jeff Tranter <tranter@pobox.com>, 2005.
+# Marek ÄŚernockĂ˝ <marek@manet.cz>, 2006.
+#
+# bootable → zaveditelný/startovací
+# deconfigured → odnastavený
+# discard (block) → zahodit
+# dispatching mode → režim rozhodování
+# (disc) drive → (disková) mechanika
+# fatal error → nepřekonatelná chyba
+# inode → i-uzel (se spojovníkem) XXX: e2fsprogs spojovník nepíše
+# (file system) label → jmenovka
+# (SELinux) label → značka
+# partition → oddíl
+# personality → charakteristika architektury
+# resource → prostředek
+# swap → odkládací (prostor)
+#
+# TODO: Vyvojáři potvrdili, že nová syntaxe proměnných hodnot je malými písmeny
+# (HODNOTA → <hodnota>). Překlad bude přizpůsoben.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.22-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2012-08-27 20:16+0200\n"
+"Last-Translator: Petr PĂ­saĹ™ <petr.pisar@atlas.cz>\n"
+"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr " %s <zařízení disku> <číslo oddílu> <začátek> <délka>\n"
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "%s nelze otevřít"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+msgid "invalid partition number argument"
+msgstr "neplatnĂ˝ argument ÄŤĂ­sla oddĂ­lu"
+
+#: disk-utils/addpart.c:56
+msgid "invalid start argument"
+msgstr "neplatný argument začátku"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+msgid "invalid length argument"
+msgstr "neplatný argument délky"
+
+#: disk-utils/addpart.c:58
+msgid "failed to add partition"
+msgstr "oddíl se nepodařilo přidat"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "nastavĂ­ pouze pro ÄŤtenĂ­"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "nastaví pro čtení/zápis"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "zjistí zda je zakázán zápis"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr "zjistí podporu zahazování nul"
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "zjistí velikost logického bloku (sektoru)"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "zjistí velikost fyzického bloku (sektoru)"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "zjistí minimální velikost I/O"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "zjistí optimální velikost I/O"
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr "zjistí posun pro zarovnání v bajtech"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "zjistí maximální počet sektorů v požadavku"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "zjistĂ­ velikost bloku"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "nastavĂ­ velikost bloku"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "zjistí počet sektorů jako 32bitové číslo (zastaralé, použijte --getsz)"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "zjistí velikost v bajtech"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "nastaví dopředné čtení sektorů"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "zjistí nastavení dopředného čtení sektorů"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "nastaví dopředné načítání pro souborový systém"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "zjistí nastavení dopředného načítání pro souborový systém"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "vyprázdnit buffery"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "načte znovu tabulku rozdělení disku"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %1$s -V\n"
+" %1$s --report [ZAĹĂŤZENÍ…]\n"
+" %1$s [-v|-q] PĹĂŤKAZY ZAĹĂŤZENÍ…\n"
+"\n"
+"Dostupné příkazy:\n"
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr " %-25s vrátí velikost vyjádřenou v 512bajtových sektorech\n"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s: (%s)\n"
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr "velikost zařízení nebylo možné zjistit"
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr "Neznámý příkaz: %s"
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr "přepínač %s vyžaduje argument"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "Příkaz „%s“ selhal.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s uspěl.\n"
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr "chyba IOCTL na %s"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ PrvníSekt. Velikost Zařízení\n"
+
+#: disk-utils/delpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "%s <zařízení disku> <číslo oddílu>\n"
+
+#: disk-utils/delpart.c:57
+msgid "failed to remove partition"
+msgstr "oddíl se nepodařilo odstranit"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "PouĹľitĂ­:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tPOZNĂMKA: elvtune funguje jen s jádry Ĺ™ady 2.4\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "chybí blokové zařízení, nápovědu získáte pomocí -h\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune se hodí jen pro starší jádra;\n"
+"pro řadu 2.6 použijte sysfs rozhraní pro ladění plánovače I/O.\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formátuje se… "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "hotovo\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Ověřuje se… "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Chyba při čtení: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Chyba při čtení cylindru %d, předpoklad %d, přečteno %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"chybná data v cylindru %d\n"
+"Pokračuje se…"
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "PouĹľitĂ­: %s [PĹEPĂŤNAÄŚE] ZAĹĂŤZENĂŤ\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -n, --no-verify zakáže ověřování po formátování\n"
+" -V, --version vypíše údaje o verzi a skončí\n"
+" -h, --help vypíše tuto nápovědu a skončí\n"
+"\n"
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s z %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, c-format
+msgid "stat failed %s"
+msgstr "volání stat selhalo %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr "%s: není blokové zařízení"
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr "k souboru %s nelze přistoupit"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Typ formátu nelze zjistit"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "stran: %s, stop: %d, sekt/stopu %d. Celková kapacita %'d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "2"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "1"
+
+#: disk-utils/fsck.c:191
+#, c-format
+msgid "%s is mounted\n"
+msgstr "%s je připojeno\n"
+
+#: disk-utils/fsck.c:193
+#, c-format
+msgid "%s is not mounted\n"
+msgstr "%s není připojeno\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr "ÄŤtenĂ­ selhalo: %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "chyba rozebírání: %s"
+
+#: disk-utils/fsck.c:329
+#, c-format
+msgid "Locking disk %s ... "
+msgstr "Zamyká se disk %s… "
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr "(čeká se)"
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr "uspělo"
+
+#: disk-utils/fsck.c:349
+msgid "failed"
+msgstr "selhalo"
+
+#: disk-utils/fsck.c:386
+#, c-format
+msgid "failed to setup description for %s"
+msgstr "nastavení popisu u %s selhalo"
+
+#: disk-utils/fsck.c:412
+#, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "%s: chyba rozboru na řádku %d – ignoruje se"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: fstab se nepodařilo rozebrat"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, c-format
+msgid "%s: not found"
+msgstr "%s: nenalezeno"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "volání fork selhalo"
+
+#: disk-utils/fsck.c:617
+#, c-format
+msgid "%s: execute failed"
+msgstr "%s: spuštění se selhalo"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr "wait: Žádní další potomci?!"
+
+#: disk-utils/fsck.c:708
+msgid "waidpid failed"
+msgstr "volání waitpid selhalo"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr "Varování… %s nad zařízením %s skončil signálem %d."
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr "%s %s: status je %x, to by nikdy nemělo přihodit."
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "%s dokončeno (návratový kód %d)\n"
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "chyba %d při provádění fsck.%s nad %s"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+"Buďto všechny, nebo žádný z typů souborových systémů předaných v -t musí\n"
+"být uvedeny s počátečním „no“ nebo „!“."
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+"%s: přeskakuje se chybný řádek v /etc/fstab: přípojný bod typu bind\n"
+"s nenulovým pořadím kontroly"
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: přeskakuje se neexistující zařízení\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+"%s: neexistující zařízení (zařízení lze vynechat uvedením volby „nofail“ do "
+"fstabu)\n"
+
+#: disk-utils/fsck.c:1060
+#, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "%s: neznámý typ systému souborů bude přeskočen\n"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "%s nelze zkontrolovat: fsck.%s nenalezen"
+
+#: disk-utils/fsck.c:1168
+msgid "failed to allocate iterator"
+msgstr "alokace iterátoru selhala"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "Kontroluji všechny systému souborů.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "– čeká se – (průchod %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [přepínače_fsck] [přepínače_ss] [souborový_systém…]\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -A zkontroluje všechny souborové systémy\n"
+" -R vynechá kořenový souborový systém; užitečné je s „-A“\n"
+" -M nekontroluje připojené souborové systémy\n"
+" -t <typ> určuje druhy souborových systémů, které se mají zkontrolovat;\n"
+" typ smí být čárkou oddělený seznam\n"
+" -P souborové systémy kontroluje paralelně, včetně kořenového\n"
+" -r hlásí statistické údaje pro každé kontrolované zařízení\n"
+" -s serializuje operace fsck\n"
+" -l zamkne zařízení pomocí flock()\n"
+" -N nic nevykoná, pouze zobrazí, co by se udělalo\n"
+" -T při spuštění nezobrazí nadpis\n"
+" -C <fd> zobrazí indikátor postupu; deskriptor souboru je pro GUI\n"
+" -V vysvětlí, co se provádí\n"
+" -? zobrazí tuto nápovědu a skončí\n"
+"\n"
+"přepínače_ss jsou popsány u jednotlivých příkazů fsck.*."
+
+#: disk-utils/fsck.c:1354
+msgid "too many devices"
+msgstr "příliš mnoho zařízení"
+
+#: disk-utils/fsck.c:1366
+msgid "Is /proc mounted?"
+msgstr "Je /proc připojeno?"
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "jen root může hledat odpovídající souborové systémy: %s"
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "nebylo možné nalézt odpovídající systém souborů: %s"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+msgid "too many arguments"
+msgstr "příliš mnoho argumentů"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr "přepínač -l lze použít pouze s jedním zařízením – ignoruje se"
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, c-format
+msgid " %s [options] file\n"
+msgstr " %s [přepínače] soubor\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr " -x, --destination <adresář> vybalí do adresáře\n"
+
+#: disk-utils/fsck.cramfs.c:117
+msgid " -v, --verbose be more verbose\n"
+msgstr " -v, --verbose vypisuje podrobné hlášky\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "IOCTL selhalo: velikost zařízení není možné určit: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "není blokovým zařízením ani souborem: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "délka souboru je příliš krátká"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "volání read selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "magická značka superbloku nenalezena"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "endianita cramfs je %s\n"
+
+# endianity is
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr "velká"
+
+# endianity is
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr "malá"
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "nepodporované vlastnosti systému souborů"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "velikost superbloku (%d) je příliš malá"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "nulovĂ˝ poÄŤet souborĹŻ"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "varování: soubor přesahuje za konec souborového systému\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "varování: starý formát cramfs\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "CRC není možné zkontrolovat: starý formát cramfs"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "chyba CRC"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "kořenový i-uzel není adresářem"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "chybné umístění kořene (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "příliš velký datový blok"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "chyba dekomprese %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " dĂ­ra na %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " rozbaluji blok od %ld do %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "ne-blokové (%ld) bajty"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "ne-velikostnĂ­ (%ld mĂ­sto %ld) bajty"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "volání write selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "volání lchown selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "volání chown selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "volání utime selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "i-uzel adresáře má nulovou pozici a nenulovou velikost: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "volání mkdir selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "délka jména souboru je nulová"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "chybná délka jména souboru"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "chybné umístění i-uzlu"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "i-uzel souboru má nulovou pozici a nenulovou velikost"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "i-uzel souboru má nulovou velikost a nenulovou pozici"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "symbolický odkaz má nulovou pozici"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "symbolický odkaz má nulovou velikost"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "chyba v symbolickém odkazu: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "volání symlink selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "zvláštní soubor má nenulovou pozici: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "FIFO má nenulovou velikost: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "socket má nenulovou velikost: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "podivný mód/práva: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "volání mknod selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+"počátek dat adresáře (%ld) < sizeof(struct cramfs_super) + počátek (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "konec dat adresáře (%ld) != počátek dat souboru (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "chybné umístění dat souboru"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "přeloženo bez podpory pro -x"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, c-format
+msgid " %s [options] <device>\n"
+msgstr " %s [přepínače] <zařízení>\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr " -l vypíše všechny názvy souborů\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr " -a automatická oprava\n"
+
+#: disk-utils/fsck.minix.c:198
+msgid " -r interactive repair\n"
+msgstr " -r oprava s účastí uživatele\n"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr " -v podrobné hlášky\n"
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr " -s vypíše údaje ze superbloku\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr " -m upozorĹuje na nevymazaná přístupová práva\n"
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr " -f vynutĂ­ kontrolu\n"
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr "%s (a/n)? "
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr "%s (n/a)? "
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr "a\n"
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr "n\n"
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s je již připojeno.\t"
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Chcete opravdu pokraÄŤovat"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "prohlĂ­dka ukonÄŤena.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Číslo zóny < PRVNÍ_ZÓNA v souboru „%s“."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Číslo zóny >= počet ZÓN v souboru „%s“."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Odstranit blok"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Chyba při čtení: nelze se posunout na blok v souboru „%s“\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Chyba při čtení: chybný blok v souboru „%s“\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Vnitřní chyba: pokus o zápis chybného bloku.\n"
+"Žádost o zápis ignorována.\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "chyba při posunu ukazovátka ve write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Chyba při zápisu: chybný blok v souboru „%s“\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "chyba při posunu ukazovátka ve write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "superblok nelze zapsat"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "mapu i-uzlĹŻ nelze zapsat"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "mapu zĂłn nelze zapsat"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "i-uzly nelze zapsat"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "chyba při posunu ukazovátka"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "buffer pro superblok nelze alokovat"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "superblok nelze ÄŤĂ­st"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "superblok obsahuje chybné magické číslo"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Podporovány jsou pouze 1kilobajtové bloky/zóny"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "superblok obsahuje chybnou poloĹľku s_imap_blocks"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "superblok obsahuje chybnou poloĹľku s_zmap_blocks"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Buffer pro mapu i-uzlĹŻ nelze alokovat"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Buffer pro mapu zĂłn nelze alokovat"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Buffer pro i-uzly nelze alokovat"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Buffer pro poÄŤĂ­tadlo i-uzlĹŻ nelze alokovat"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Buffer pro poÄŤĂ­tadlo zĂłn nelze alokovat"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Mapu i-uzlĹŻ nelze ÄŤĂ­st"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Mapu zĂłn nelze ÄŤĂ­st"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "I-uzly nelze ÄŤĂ­st"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Varování: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "i-uzlĹŻ: %ld\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "blokĹŻ: %ld\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "PrvnĂ­_zĂłna_dat=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Velikost_zĂłny=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxvelikost=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Stav systému souborů=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"namelen=%zd\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "I-uzel %d je označen jako nepoužívaný, ale je použit pro soubor „%s“\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Označen jako používaný"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Typ souboru „%s“ je %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Varování: počet i-uzlů je příliš veliký.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "root i-uzel není adresářem"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Blok byl použit již předtím. Nyní v souboru „%s“."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Smazat"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Blok %d v souboru „%s“ je označen jako nepoužívaný."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Opravit"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "Adresář „%s“ obsahuje pro soubor „%.*s“ chybné číslo i-uzlu."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Odstranit"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: chybný adresář: „.“ není první\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: chybný adresář: „..“ není druhý\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "vnitřní chyba"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: chybný adresář: velikost < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "chyba při posunu ukazovátka v bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Mód i-uzlu %lu není smazán."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "I-uzel %lu není používán a v bitmapě označen jako používaný."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "I-uzel %lu je používán a v bitmapě označen jako nepoužívaný."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Nastavit"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "I-uzel %lu (mode = %07o), i_nlinks=%d, napočítáno=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Nastavit i_nlinks na poÄŤet"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zóna %lu: je označena jako používaná a žádný soubor ji nepoužívá."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "OdznaÄŤit"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zóna %lu: je používaná, napočítáno=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zóna %lu: není používaná, napočítáno=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "chybná velikost i-uzlu"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "chybná velikost v2 i-uzlu"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "opravy s účastí uživatele vyžadují terminál"
+
+#: disk-utils/fsck.minix.c:1305
+#, c-format
+msgid "cannot open %s: %s"
+msgstr "%s nelze otevřít: %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s je čisté, ověřování vynecháno.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Kontrola systému souborů na %s vynucena.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Systém souborů na %s je špinavý, je třeba jej zkontrolovat.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"používaných i-uzlů: %6ld (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "používaných zón: %6ld (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+" obyčejných souborů: %6d\n"
+" adresářů: %6d\n"
+" znakových zařízení: %6d\n"
+" blokových zařízení: %6d\n"
+" odkazĹŻ: %6d\n"
+" symbolických odkazů: %6d\n"
+"------\n"
+"souborĹŻ: %6d\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"SYSTÉM SOUBORŮ BYL ZMĚNĚN \n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr "chyba při pohybu v %s"
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr "chyba čtení z %s"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "poÄŤet sektorĹŻ: %d, velikost sektoru: %d\n"
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [PĹEPĂŤNAÄŚE] OBRAZ_ISO9660\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -d, --divisor=ČÍSLO vydělí bajty ČÍSLEM\n"
+" -x, --sectors zobrazĂ­ poÄŤet a velikost sektorĹŻ\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -H, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr "neplatný argument dělitele"
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "PouĹľitĂ­: %s [PĹEPĂŤNAÄŚE] ZAĹĂŤZENĂŤ [POÄŚET_BLOKĹ®]\n"
+
+# FIXME: mkfs.bfs does not call setlocale().
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -N, --inodes=POÄŚET urÄŤuje poĹľadovanĂ˝ poÄŤet i-uzlĹŻ\n"
+" -V, --vname=NĂZEV urÄŤuje název svazku\n"
+" -F, --fname=NĂZEV urÄŤuje název souborovĂ©ho systĂ©mu\n"
+" -v, --verbose vysvětluje, co se provádí\n"
+" -c tento přepínač je tiše ignorován\n"
+" -l tento přepínač je tiše ignorován\n"
+" -V, --version vypíše údaje o verzi a skončí\n"
+" -V jako verze musí být jediným přepínačem\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr "neplatnĂ˝ poÄŤet i-uzlĹŻ"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "název svazku je příliš dlouhý"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "název ss je příliš dlouhý"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s není blokovým zařízením"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr "neplatnĂ˝ poÄŤet blokĹŻ"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "nelze zjistit velikost %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "argument počet bloků je příliš veliký, maximum je %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "příliš mnoho i-uzlů – maximum je 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "nedostatek místa, je třeba alespoŠ%llu bloků"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Zařízení: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Svazek: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "NázevSS: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "VelikostBloku: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "I-uzlĹŻ: %lu (v 1 bloku)\n"
+
+# TODO: Pluralize
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "I-uzlů: %lu (v %llu blocích)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "BlokĹŻ: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Konec i-uzlĹŻ: %d, Konec dat: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "chyba při zápisu superbloku"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "chyba při zápisu kořenového i-uzlu"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "chyba při zápisu i-uzlu"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "volání seek selhalo"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "chyba při zápisu . položky"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "chyba při zápisu .. položky"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "Chyba při zavírání %s"
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "PouĹľitĂ­: %s [PĹEPĂŤNAÄŚE] [-t TYP VOLBY_SS] ZAĹĂŤZENĂŤ [VELIKOST]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -t, --type=TYP druh systému souborů, není-li zadáno, použije se ext2\n"
+" VOLBY_SS parametry pro tvořítko konkrétního souborového systému\n"
+" ZAĹĂŤZENĂŤ cesta k zařízenĂ­\n"
+" VELIKOST počet bloků na zařízení\n"
+" -V, --verbose vysvětlí prováděné úkony\n"
+" násobné použití -V způsobí bezzápisový běh\n"
+" -V, --version vypíše údaje o verzi a skončí\n"
+" -V jako verze musí být jediným přepínačem\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"Podrobnosti naleznete v mkfs(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"PouĹľitĂ­: %s [-h] [-v] [-b VELIKOST_BLOKU] [-e VERZE] [-N ENDIANITA]\n"
+" [-i SOUBOR] [-n NĂZEV] NĂZEV_ADRESĂĹE VĂťSTUPNĂŤ_SOUBOR\n"
+" -h vypíše tuto nápovědu\n"
+" -v upovĂ­danĂ˝ reĹľim\n"
+" -E varování budou považována za chyby (nenulový návratový kód)\n"
+" -b VELIKOST_BLOKU\n"
+" použije tuto VELIKOST_BLOKU, musí být rovna velikosti stránky\n"
+" -e VERZE nastaví číslo verze [edice] (součást fsid)\n"
+" -N ENDIANITA\n"
+" vybere endianitu cramfs („big“ [velká] | „little“ [malá] |\n"
+" „host“ [jako tento stroj]), implicitně host\n"
+" -i SOUBOR vloží obraz ze SOUBORU do souborového systému (vyžaduje >= "
+"2.4.0)\n"
+" -n NĂZEV nastavĂ­ název souborovĂ©ho systĂ©mu cramfs\n"
+" -p odsadí o %d bytů kvůli kódu zavaděče\n"
+" -s seřadí položky v adresářích (stará volba, ignorováno)\n"
+" -z vytvoří explicitní díry (vyžaduje >= 2.3.39)\n"
+" NĂZEV_ADRESĂĹE\n"
+" kořen souborového systému, který má být zkomprimován\n"
+" VĂťSTUPNĂŤ_SOUBOR\n"
+" výstupní soubor\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr "z adresáře %s nelze číst"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Byl nalezen velmi dlouhý (%zu bajtů) název souboru „%s“.\n"
+"Prosím, zvyšte MAX_INPUT_NAMELEN v mkcramfs.c a znovu přeložte. Končí se."
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr "Souborový systém je příliš velký. Končí se."
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AJAJ: blok „zkomprimováno“ > 2*blocklength (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bytĹŻ)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr "soubor %s nelze zavřít"
+
+#: disk-utils/mkfs.cramfs.c:726
+msgid "invalid blocksize argument"
+msgstr "neplatnĂ˝ argument velikosti bloku"
+
+# FIXME: failed _to parse_ edition number argument
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr "nezdařilo se rozebrat argument čísla verze"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr "zadána neplatná endianita. Musí být „big“, „little“ nebo „host“"
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"varování: požadovaná velikost (horní hranice) je odhadována na %lld MB, "
+"jenže největší velikost obrazu je %u MB. Můžeme zemřít předčasně."
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "Mapa obrazu ROM"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Zahrnuji: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Adresářová data: %zd bajtů\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Celkem: %zd kilobajtů\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblok: %zd bajtů\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"pro obraz ROM nepřidělen dostatek prostoru (%lld přiděleno, %zu použito)"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "Obraz ROM"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "Zápis obrazu ROM selhal (%zd %zd)"
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "varování: jména souborů zkrácena na 255 bajtů."
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr "varování: soubory byly přeskočeny kvůli chybám."
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "varování: velikosti souboru zkráceny na %'lu MB (mínus 1 bajt)."
+
+# TODO: Pluralize
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr "varování: UID zkrácena na %u bitů. (Může mít dopad na bezpečnost.)"
+
+# TODO: Pluralize
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr "varování: GID zkrácena na %u bitů. (Může mít dopad na bezpečnost.)"
+
+# TODO: Pluralize
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"VAROVĂNĂŤ: ÄŤĂ­sla zařízenĂ­ zkrácena na %u bitĹŻ. Toto jistÄ› znamená, Ĺľe "
+"některé\n"
+"soubory zařízení budou špatné."
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "PouĹľitĂ­: %s [-c | -l SOUBOR] [-nXX] [-iXX] /dev/NĂZEV [BLOKY]"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s je připojeno; systém souborů zde vytvářet nebudu!"
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "%s: chyba při přesunu na startovací blok ve write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%s: startovacĂ­ blok nelze smazat"
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "%s: chyba při změně pozice ve write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr "%s: superblok nelze zapsat"
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr "%s: mapu i-uzlĹŻ nelze zapsat"
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr "%s: mapu zĂłn nelze zapsat"
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr "%s: i-uzly nelze zapsat"
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s: chyba při změně pozice ve write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr "%s: chyba při zápisu ve write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr "%s: příliš mnoho chybných bloků"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr "%s: nedostatek dobrých bloků"
+
+# FIXME: allocate
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "%s: buffer pro superblok nelze alokovat"
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "%s: buffery pro mapy nelze alokovat"
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "%s: buffer pro i-uzly nelze alokovat"
+
+# TODO: Pluralize
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr "i-uzlĹŻ: %lu\n"
+
+# TODO: Pluralize
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr "blokĹŻ: %lu\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxvelikost=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "%s: chyba při změně pozice v průběhu kontroly bloků"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Nesprávné hodnoty v do_check: pravděpodobně chyby\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s: chyba při změně pozice v check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "%s: chybné bloky před datovou oblastí: systém souborů nelze vytvořit"
+
+# TODO: Pluralize
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "chybných bloků: %d\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "chybných bloků: 1\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s: soubor chybných bloků nelze otevřít"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "chyba vstupu u čísla špatného bloku na řádku %d\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s: soubor chybných bloků nelze přečíst"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr "%s: chybná velikost i-uzlu"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "chyba strtol: počet bloků nebyl zadán"
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr "%s: zařízení není správně zarovnáno"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "velikost bloku je menší než velikost fyzického sektoru %s"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "nelze zjistit velikost %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "nebude se zkoušet vytvořit systém souborů na „%s“"
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr "%s: počet bloků je příliš malý"
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Uživatelem zadaná velikost stránky %u je chybná"
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr "Použije se zadaná velikost stránky %d místo systémové hodnoty %d"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr "Chybná velikost hlavičky odkládacího souboru, jmenovka nezapsána."
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr "Jmenovka byla zkrácena."
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "žádná jmenovka, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "žádné UUID\n"
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [PĹEPĂŤNAÄŚE] ZAĹĂŤZENĂŤ [VELIKOST]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -c, --check před vytvořením odkládací oblasti zkontroluje\n"
+" chybné sektory\n"
+" -f, --force dovolí, aby odkládací oblast byla větší než "
+"zařízení\n"
+" -p, --pagesize VELIKOST určí velikost stránky v bajtech\n"
+" -L, --label JMENOVKA urÄŤĂ­ jmenovku\n"
+" -v, --swapversion ČÍSLO určí číslo verze odkládací oblasti\n"
+" -U, --uuid UUID určí, jaké UUID se má použít\n"
+" -V, --version vypíše údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "příliš mnoho chybných stránek"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "chyba při posunu ukazovátka v check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "chybných stránek: 1\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "chybných stránek: %lu\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "nelze alokovat novĂ˝ test libblkid"
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr "zařízení nelze přidat do testu libblkid"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "odkládací prostor nelze převinout"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "zaváděcí bloky nelze smazat"
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s: varování: nemažte zaváděcí sektory"
+
+# Continuation of previous message
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (nalezena tabulka rozdělení disku typu %s). "
+
+# Alternate continuation of previous message
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " na celém disku. "
+
+# Alternate continuation of previous message
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (přeloženo bez libblkid). "
+
+#: disk-utils/mkswap.c:489
+msgid "parse page size failed"
+msgstr "nepodařilo se rozebrat velikost stránky"
+
+#: disk-utils/mkswap.c:495
+msgid "parse version number failed"
+msgstr "nepodařilo se rozebrat číslo verze"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr "varování: -U se ignoruje (%s nepodporuje UUID)"
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr "nepodporuje odkládací prostor verze %d."
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "chyba: rozbor UUID selhal"
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr "chyba: Kde se má vytvořit odkládací prostor?"
+
+#: disk-utils/mkswap.c:545
+msgid "invalid block count argument"
+msgstr "neplatnĂ˝ argument poÄŤtu blokĹŻ"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "chyba: velikost %llu KiB je větší než velikost zařízení %llu KiB"
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "chyba: odkládací prostor potřebuje alespoŠ%ld KiB"
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "varování: odkládací prostor zkrácen na %llu KiB"
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "chyba: %s je připojeno; odkládací prostor nebude vytvořen."
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr "varování: %s není správně zarovnáno"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Odkládací prostor nelze nastavit: nečitelné"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Vytvářím odkládací prostor verze 1, velikost = %llu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: stránku se signaturou nelze zapsat"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "volání fsync selhalo"
+
+# selinux file label - selinuxová nálepka/značka/štítek souboru?
+# UpĹ™ednostĹuji znaÄŤku
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: nelze zĂ­skat selinuxovou znaÄŤku souboru"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "matchpathcon() nelze provést"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "nový kontext selinuxu nelze vytvořit"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "nedokáži vypočíst kontext selinuxu"
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr "nelze změnit jmenovku z %s na %s"
+
+#: disk-utils/partx.c:79
+msgid "partition number"
+msgstr "ÄŤĂ­slo oddĂ­lu"
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr "začátek oddílu v sektorech"
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr "konec oddílu v sektorech"
+
+#: disk-utils/partx.c:82
+msgid "number of sectors"
+msgstr "poÄŤet sektorĹŻ"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr "přehledná velikost"
+
+#: disk-utils/partx.c:84
+msgid "partition name"
+msgstr "název oddílu"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+msgid "partition UUID"
+msgstr "UUID oddĂ­lu"
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr "druh tabulky rozdělení disku (DOS, GPT, …)"
+
+#: disk-utils/partx.c:87
+msgid "partition flags"
+msgstr "příznaky oddílu"
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr "druh oddílu šestnáctkově nebo UUID"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+msgid "failed to initialize loopcxt"
+msgstr "loopctx se nepodařilo inicializovat"
+
+#: disk-utils/partx.c:110
+#, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: žádné nepoužité loop zařízení nebylo možné najít"
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "Pro zařízení loop se zkusí použít „%s“\n"
+
+#: disk-utils/partx.c:118
+#, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: nastavení podkladového souboru selhalo"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s: zařízení loop se nepodařilo nastavit"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "neznámý sloupec: %s"
+
+#: disk-utils/partx.c:200
+#, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s: získání čísla oddílu selhalo"
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr "%s: chyba při mazání oddílu %d"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "%s: chyba při mazání oddílů %d–%d"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr "zadaný rozsah <%d:%d> nedává smysl"
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "%s: oddíl č. %d odstraněn\n"
+
+#: disk-utils/partx.c:304
+#, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "%s: oddíl č. %d již neexistuje\n"
+
+#: disk-utils/partx.c:309
+#, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "%s: odstranění oddílu č. %d selhalo"
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr "%s: chyba při přidávání oddílu %d"
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "%s: chyb při přidávání oddílů %d–%d"
+
+#: disk-utils/partx.c:368
+#, c-format
+msgid "%s: partition #%d added\n"
+msgstr "%s: přidán oddíl č. %d\n"
+
+#: disk-utils/partx.c:373
+#, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s: přidání oddílu č. %d selhalo"
+
+# TODO: Pluralize %ju sectors
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr "č. %2d: %9ju–%9ju (%9ju sectors, %6ju MB)\n"
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr "přidání řádku na výstup selhalo"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr "výstupní tabulku se nepodařilo inicializovat"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr "výstupní sloupec se nepodařilo inicializovat"
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "filtr blkid pro „%s“ se nepodařilo inicializovat"
+
+#: disk-utils/partx.c:585
+#, c-format
+msgid "%s: failed to read partition table"
+msgstr "%s: tabulku rozdělení disku se nepodařilo načíst"
+
+#: disk-utils/partx.c:591
+#, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr "%s: nalezena tabulka rozdělení disku typu „%s“\n"
+
+#: disk-utils/partx.c:595
+#, c-format
+msgid "%s: partition table with no partitions"
+msgstr "%s: tabulka rozdělení disku bez oddílů"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr " %s [-a|-d|-s] [--nr <n:m> | <oddĂ­l>] <disk>\n"
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --add přidá zadané oddíly nebo všechny oddíly\n"
+" -d, --delete smaže zadané oddíly nebo všechny oddíly\n"
+" -l, --list vypíše seznam oddílů (ZASTARALÉ)\n"
+" -s, --show vypíše seznam oddílů\n"
+"\n"
+" -b, --bytes velikosti vypisuje v bajtech namísto podobě vhodné\n"
+" pro člověka\n"
+" -g, --noheadings nezobrazuje záhlaví ve výpisu --show\n"
+" -n, --nr <m:n> urÄŤuje rozsah oddĂ­lĹŻ (--nr 2:4)\n"
+" -o, --output <druh> zobrazí vybrané sloupce\n"
+" -P, --pairs výstup ve formátu klíč=\"hodnota\"\n"
+" -r, --raw neformátovaný výstup\n"
+" -t, --type <druh> urÄŤuje druh oddĂ­lu (dos, bsd, solaris, atd.)\n"
+" -v, --verbose podrobnĂ˝ reĹľim\n"
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+"\n"
+"Dostupné sloupce (pro přepínače --show, --raw nebo --pairs):\n"
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr "rozsah --nr <M–N> se nepodařilo rozebrat"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "argumenty --nr a ODDÍL se vzájemně vylučují"
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr "oddĂ­l: %s, disk %s, dolnĂ­: %d: hornĂ­: %d\n"
+
+#: disk-utils/partx.c:829
+#, c-format
+msgid "%s: cannot delete partitions"
+msgstr "%s: oddĂ­ly nelze smazat"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "%s: zařízení loop rozdělená na oddíly nejsou podporována"
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "%s: nepodařilo inicializovat sondu blkid"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+" %1$s %2$srawN <hlavní> <vedlejší>\n"
+" %1$s %2$srawN /dev/<blokové_zařízení>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr " -q, --query nastavĂ­ dotazovacĂ­ reĹľim\n"
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr " -a, --all dotáže se všech syrových zařízení\n"
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+"Zařízení „%s“ je řídicí syrové zařízení (použijte raw<N>, kde <N> je větší "
+"neĹľ nula)"
+
+#: disk-utils/raw.c:178
+#, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Blokové zařízení „%s“ nelze nalézt"
+
+#: disk-utils/raw.c:181
+#, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Zařízení „%s“ není blokovým zařízením"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+msgid "failed to parse argument"
+msgstr "argument se nepodařilo rozebrat"
+
+#: disk-utils/raw.c:210
+#, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Hlavní syrové zařízení „%s“ nelze otevřít"
+
+#: disk-utils/raw.c:225
+#, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "Syrové zařízení „%s“ nelze nalézt"
+
+#: disk-utils/raw.c:228
+#, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "Syrové zařízení „%s“ není znakovým zařízením"
+
+#: disk-utils/raw.c:232
+#, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "Zařízení „%s“ není syrovým zařízením"
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr "Chyba při dotazování se na syrové zařízené"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr "%sraw%d: napojeno na čísla hlavní %d, vedlejší %d\n"
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr "Chyba při nastavování syrového zařízení"
+
+#: disk-utils/resizepart.c:18
+#, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr " %s <diskové_zařízení> <číslo_oddílu> <délka>\n"
+
+#: disk-utils/resizepart.c:98
+#, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s: získání začátku oddílu číslo %s selhalo"
+
+#: disk-utils/resizepart.c:103
+msgid "failed to resize partition"
+msgstr "změnit velikost oddílu se nepodařilo"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr "%s: zařízení nelze vyzkoušet"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr "%s: víceznačný výsledek zkoušky, použijte wipefs(8)"
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: není neplatným odkládacím oddílem"
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: nepodporovaná verze odkládacího prostoru „%s“"
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr "UUID se nezdařilo rozebrat: %s"
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: přesun na UUID odkládacího prostoru selhal"
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: zápis UUID se nezdařil"
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: přesun na jmenovku odkládacího prostoru selhal"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr "jmenovka je příliš dlouhá. Zkrácena na „%s“"
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr "%s: chyba při zápisu jmenovky"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+" -L, --label <jmenovka> urÄŤuje novou jmenovku\n"
+" -U, --uuid <UUID> určuje nové UUID\n"
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "ignoruje se -U (UUID není podporováno)"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Nedostatek paměti!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Nepoužitelné"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "VolnĂ˝ prostor"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Na disku byly provedeny změny.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Restartujte systém, aby byla jistota, že tabulka rozdělení disku byla\n"
+"korektně změněna.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"VAROVĂNĂŤ: Pokud jste vytvoĹ™ili ÄŤi zmÄ›nili nÄ›jakĂ©\n"
+"DOS 6.x oddíly, přečtěte si prosím návod k programu\n"
+"cfdisk, abyste získali další informace.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "NEPĹEKONATELNĂ CHYBA"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Stiskněte jakoukoliv klávesu pro ukončení programu cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Po diskové mechanice se nelze pohybovat"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Z diskové mechaniky nelze číst"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Do diskové mechaniky nelze zapisovat"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Příliš mnoho oddílů"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Oddíl začíná před sektorem 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Oddíl končí před sektorem 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Oddíl začíná za koncem disku"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "OddĂ­l konÄŤĂ­ za koncem disku"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "logické oddíly neodpovídají pořadí na disku"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "logické oddíly se překrývají"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "zvětšené logické oddíly se překrývají"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Vnitřní chyba při vytváření logického disku bez rozšířených oddílů !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr "Zde nelze vytvořit logický disk – vznikly by dva rozšířené oddíly"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Položka nabídky je příliš dlouhá. Nabídka může vypadat podivně."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Chybná klávesa"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Stiskněte klávesu pro pokračování"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primární"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Vytvořit nový primární oddíl"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "LogickĂ˝"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Vytvořit nový logický oddíl"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Zrušit"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Nevytvářet oddíl"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Vnitřní chyba !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Velikost (v MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Začátek"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Přidat oddíl na začátek volného prostoru"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Konec"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Přidat oddíl na konec volného prostoru"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Pro rozšířený oddíl není dostatek místa"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Nebyla nalezena žádná tabulka rozdělení disku.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Chybí tabulka rozdělení disku. Začínám s prázdnou tabulkou."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Chybná signatura tabulky rozdělení disku"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Neznámý typ tabulky rozdělení disku"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Přejete si začít s prázdnou tabulkou [a/N]?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Zadal jste větší počet cylindrů, než se vejde na disk."
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Disk nelze otevřít"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disk byl otevřen pouze pro čtení - nemáte práva pro zápis"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Varování!! Detekována nepodporovaná GPT (GUID tabulka rozdělení disku). "
+"PouĹľijte GNU Parted."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Velikost disku nelze zjistit"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Chybný primární oddíl"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "ChybnĂ˝ logickĂ˝ oddĂ­l"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Varování!! Toto může vést ke zničení dat na Vašem disku!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Jste si jist, že chcete uložit tabulku rozdělení disku na disk? (ano či ne): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "ne"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Tabulka rozdělení disku nebyla uložena"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "ano"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Zadejte „ano“ či „ne“"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Ukládám tabulku rozdělení disku na disk…"
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Tabulka rozdělení disku byla uložena na disk"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Tabulka rozdělení disku byla uložena, ale nepodařilo se ji znovu načíst.\n"
+"Aby se tabulka aktualizovala, spusĹĄte partprobe(8), kpartx(8) nebo\n"
+"restartujte systém."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr "Žádný primární oddíl není startovací. DOS MBR takto nenastartuje."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Více než jeden primární oddíl je startovací. DOS MBR takto nenastartuje."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Zadejte název souboru či stiskněte RETURN pro zobrazení: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Disk: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Žádný "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primární"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " LogickĂ˝"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Neznámý"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "ZaveditelnĂ˝"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Nic"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabulka rozdělení disku pro %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " PrvnĂ­ PoslednĂ­\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Typ sektor sektor Posun Délka ID systému souborů "
+"Příz\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----Počátek---- -----Konec----- Počáteční Počet\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Příz. Hlav Sekt Cyl. ID Hlav Sekt Cyl. Sektor Sektorů\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Přímý"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Vytisknout tabulku v přímém datovém formátu"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektory"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Vytisknout tabulku seřazenou dle sektorů"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabulka"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Vytisknout pouze tabulku rozdělení disku"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Netisknout tabulku"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Nápověda pro cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Toto je cfdisk, program pro vytváření oddílů založený na"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "knihovnÄ› curses. UmoĹľĹuje vytvářenĂ­, mazánĂ­ a Ăşpravu oddĂ­lĹŻ"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "na vašem pevném disku."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright © 1994–1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Příkaz Význam"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Přepne aktuálnímu oddílu příznak zaveditelnosti"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Smaže aktuální oddíl"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Změní geometrii"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " VAROVĂNĂŤ: Tato volba by mÄ›la bĂ˝t používána pouze lidmi,"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " kteří vědí, co činí."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Vypíše tuto nápovědu"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maximálně zvětší aktuální oddíl "
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Poznámka: Toto může učinit oddíl nekompatibilní"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " s DOS, OS/2, …"
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Vytvořit na volném místě nový oddíl"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Vypíše tabulku rozdělení disku na obrazovku či do souboru"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Při výpisu tabulky rozdělení disku si můžete zvolit"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " z několika formátů:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr " r - Přímý (přesně to, co by bylo zapsáno na disk)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Tabulka seřazená dle sektorů"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Tabulka v přímém formátu"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Ukončí program bez uložení tabulky rozdělení disku"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Změní typ systému souborů"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Změní jednotky pro zobrazení velikosti oddílu"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Cykluje mezi MB, sektory a cylindry"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Uloží tabulku rozdělení disku (pouze velké W)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " JelikoĹľ to mĹŻĹľe zniÄŤit na disku, musĂ­te to potvrdit"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " nebo odmítnout napsáním „yes“ nebo"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " „no“"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Nahoru Přesune kurzor na předcházející oddíl."
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Dolů Přesune kurzor na další oddíl."
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Překreslí obrazovku"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Vypíše tuto nápovědu"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Poznámka: Všechny příkazy mohou být zadány malými i velkými písmeny"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "(s výjimkou zápisu - W)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cylindry"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Změní geometrii cylindrů"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Hlavy"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Změní geometrii hlav"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Změní geometrii sektorů"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Hotovo"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Geometrie změněna"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Zadejte poÄŤet cylindrĹŻ: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "ChybnĂ˝ poÄŤet cylindrĹŻ"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Zadejte poÄŤet hlav: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "ChybnĂ˝ poÄŤet hlav"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Zadejte poÄŤet sektorĹŻ na stopu: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "ChybnĂ˝ poÄŤet sektorĹŻ"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Zadejte typ systému souborů: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Nelze nastavit typ SS na prázdný"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Nelze nastavit typ SS na rozšířený"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Nez(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Neznámý (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Disk: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Velikost %'lld bajtů, %'lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Velikost %'lld bajtů, %'lld,%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Hlav: %d SektorĹŻ na stopu: %d CylindrĹŻ: %'lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Název"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Příznaky"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Typ oddĂ­lu"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Typ SS"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Popis]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " SektorĹŻ"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " CylindrĹŻ"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr "Velik. (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr "Velik. (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Žádné další oddíly"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Zavedit."
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Přepne příznak zaveditelnosti aktuálnímu oddílu"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Smazat"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Smaže aktuální oddíl"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometrie"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Změní geometrii disku (pouze pro odborníky)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Nápověda"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Vypíše nápovědu"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Zvětšit"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Zvětší velikost aktuálního oddílu na maximum (pouze pro odborníky)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "NovĂ˝"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Vytvoří nový oddíl ve volném prostoru"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Tisk"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Vypíše tabulku rozdělení disku (na obrazovku či do souboru)"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Konec"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Ukončí program bez uložení tabulky rozdělení disku"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Druh"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Změní typ systému souborů (DOS, Linux, OS/2 atd.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Jednotky"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Změní jednotky, ve kterých je udávána velikost oddílu (MB, sekt., cyl.)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "UloĹľit"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Uloží tabulku rozdělení disku na disk (může zničit data)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Tento oddĂ­l nelze nastavit jako zaveditelnĂ˝."
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Prázdný oddíl nelze smazat."
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Tento oddíl nelze zvětšit."
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Tento oddĂ­l je nepouĹľitelnĂ˝."
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Tento oddíl je již používán."
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Typ prázdného oddílu nelze změnit."
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Chybný příkaz"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994–2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+"Vypíše informace o verzi:\n"
+" %s -v\n"
+"Vypíše tabulku rozdělení disku:\n"
+" %s -P {r|s|t} [přepínače] zařízení\n"
+"InteraktivnĂ­ reĹľim:\n"
+" %s [přepínače] zařízení\n"
+"\n"
+"Přepínače:\n"
+"-a: NamĂ­sto zvĂ˝razĹovánĂ­ pouĹľije šipku;\n"
+"-z: Začne s nulovou tabulkou rozdělení disku místo, aby ji četl z disku;\n"
+"-c C -h H -s S: Zadání geometrie disku (má přednost před údaji, které "
+"udrĹľuje\n"
+" jádro.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+msgid "cannot parse number of cylinders"
+msgstr "poÄŤet cylindrĹŻ nelze rozebrat"
+
+#: fdisks/cfdisk.c:2789
+msgid "cannot parse number of heads"
+msgstr "poÄŤet hlav nelze rozebrat"
+
+#: fdisks/cfdisk.c:2796
+msgid "cannot parse number of sectors"
+msgstr "poÄŤet sektorĹŻ nelze rozebrat"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tNa tomto disku je AIX tabulka rozdělení disku.\n"
+"\tLinux s těmito disky v současné době neumí pracovat.\n"
+"\tNicméně několik rad pro Vás:\n"
+"\t1. při zápisu fdisk zničí jejich obsah\n"
+"\t2. Ujistěte se, že tento disk NENÍ důležitou součástí\n"
+"\t skupiny svazkĹŻ. (Jinak mĹŻĹľete smazat, pokud nejsou\n"
+"\t zrcadleny, i ostatnĂ­ disky.)\n"
+"\t3. Předtím, než smažete fyzický svazek, se ujistěte, že\n"
+"\t již není logickou součástí Vašeho AIX systému. (Jinak\n"
+"\t se z Vás stává AIXpert)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tPromiĹte, ale tento program neumĂ­ zacházet s AIXovĂ˝mi diskovĂ˝mi\n"
+"\tjmenovkami. Chcete-li přidat oddíl typu DOS, nejprve vytvořte\n"
+"\t novu prázdnou DOSOVOU tabulku rozdělení disku (příkaz „o“).\n"
+"\tVAROVĂNĂŤ: TĂ­mto pĹ™ijdete o souÄŤasnĂ˝ obsah disku.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD tabulka rozdělení disku pro zařízení: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Ukládám popis disku na %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "PrvnĂ­ %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "PoslednĂ­ %s ÄŤi +velikost ÄŤi +velikostM ÄŤi +velikostK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "Na %s se nenachází žádný popis disku.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Chcete vytvořit popis disku? (y/n)"
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Diskový oddíl %s má chybný počáteční sektor 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "ÄŚtu popis disku %s v sektoru %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Na %s se nenachází žádný *BSD oddíl.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Příkaz pro BSD popis disku (m pro nápovědu): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "typ: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "typ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "tabulka: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "příznaky:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " výměnný"
+
+# ???
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " chybnýsekt"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bajtĹŻ/sektor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektorĹŻ/stopu: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "stop/cylindr: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektorĹŻ/cylindr: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindrĹŻ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "otm: %d\n"
+
+# *skew ???
+# zde překlad spíše odhaduji
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "prokládání: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "zakřivení stopy: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "zakřivení cylindru: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "přesun hlavy: %ld\t\t# milisekund\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "posun stopa-stopa: %ld\t# milisekund\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "diskdata: "
+
+# TODO: Pluralize
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"poÄŤet oddĂ­lĹŻ - %d:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# velik konec velikost sstyp [fveli bveli cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "bajtĹŻ/sektor"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektorĹŻ/stopu"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "stop/cylindr"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cylindry"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektorĹŻ/cylindr"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Musí být <= sektorů/stopu * stop/cylindr (implicitní).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "o/m"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "prokládání"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "zakřivení stopy"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "zakřivení cylindru"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "přesun hlavy"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "posun stopa-stopa"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Zavaděč: %sstart -> start%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Zavaděč přesahuje do tabulky rozdělení disku!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Zavaděč instalován na %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "DiskovĂ˝ oddĂ­l (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Již je vytvořeno maximální množství oddílů.\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Tento oddĂ­l jiĹľ existuje.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Varování: příliš mnoho oddílů (%d, maximum %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"SynchronizujĂ­ se disky.\n"
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr "přepne příznak „startovací“"
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr "přepne příznak „pouze pro čtení“"
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr "nastavĂ­ startovacĂ­ oddĂ­l"
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr "změní množství alternativních cylindrů"
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr "Ăşprava BSD popisu disku"
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr "Ăşprava poloĹľky startovacĂ­ho souboru"
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr "posune počátek dat v oddílu"
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr "přepne příznak kompatibility s DOSem"
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr "přepne příznak „připojitelný“"
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr "nastaví SGI odkládací oddíl"
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr "změní množství cylindrů"
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr "smaĹľe oddĂ­l"
+
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr "vypíše tabulku rozdělení disku (tak jak je uložena na disku)"
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr "změní množství extra sektorů na stopu"
+
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr "vypíše rozšířené oddíly"
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr "upravovat data na disku"
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr "opraví řazení oddílů"
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr "vytvoří tabulku rozdělení disku typu IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr "změní množství hlav"
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr "změní prokládací faktor"
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr "změní identifikátor disku"
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr "instalovat zavaděč"
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr "vypíše známé typy oddílů"
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr "vypíše tuto nabídku"
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr "přidá nový oddíl"
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr "vytvoří prázdnou tabulku rozdělení disků typu IBM (DOS)"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr "změní rychlost otáčení"
+
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr "zobrazí tabulku rozdělení disku"
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr "ukončí program bez uložení změn"
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr "návrat do hlavní nabídky"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr "vytvoří prázdný Sun popis disku"
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr "změní počet sektorů na stopu"
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr "zobrazĂ­ ĂşplnĂ˝ popis disku"
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr "změní ID systému oddílu"
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr "změní jednotky v nichž jsou vypisovány informace"
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr "ověří tabulku rozdělení disku"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr "uloží tabulku rozdělení disku a ukončí program"
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr "uloží popis disku na disk"
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr "rozšiřující funkce (pouze pro odborníky)"
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr "připojí BSD oddíl na ne-BSD oddíl"
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr "změní počet fyzických cylindrů"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+"PouĹľitĂ­:\n"
+" %1$s [PĹEPĂŤNAÄŚE] <DISK> zmÄ›nĂ­ tabulku rozdÄ›lenĂ­ disku\n"
+" %1$s [PĹEPĂŤNAÄŚE] -l <DISK> vypíše tabulku(y) rozdÄ›lenĂ­ disku\n"
+" %1$s -s <ODDÍL> vypíše velikost(i) oddílu v blocích\n"
+"\n"
+"Přepínače:\n"
+" -b <VELIKOST> velikost sektoru (512, 1024, 2048 nebo 4096)\n"
+" -c[=<REŽIM>] režim kompatibility: „dos“ nebo "
+"„nondos“ (implic.)\n"
+" -h vypíše tuto nápovědu\n"
+" -u=[<JEDNOTKA>] zobrazuje v jednotkách: „cylinders“ (cylindry)\n"
+" nebo „sectors“ (sektory)\n"
+" -v vypíše verzi programu\n"
+" -C <POÄŚET> urÄŤuje poÄŤet cylindrĹŻ\n"
+" -H <POÄŚET> urÄŤuje poÄŤet hlav\n"
+" -S <POÄŚET> urÄŤuje poÄŤet sektorĹŻ na stopu\n"
+"\n"
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr "%s nelze ÄŤĂ­st"
+
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr "nelze se posunout na %s"
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr "%s nelze zapsat"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "volání ioctl BLKGETSIZE nad %s selhalo"
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr "fatální chyba"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Příkazy"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "MusĂ­te nastavit"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "hlavy"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektory"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Můžete tak učinit z nabídky rozšiřujících funkcí.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " a "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"POZOR: Velikost tohoto disku je %d,%d TB (%'llu bajtů).\n"
+"Tabulka rozdělení disku typu DOS nemůže být použita na jednotkách svazků\n"
+"větších než (%'llu bajtů) při %ldbajtových sektorech.\n"
+"Použijte parted(1) a tabulku rozdělení disku typu GUID (GPT).\n"
+"\n"
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+"\n"
+"Zařízení uvádí, že velikost logického sektoru je menší než velikost sektoru\n"
+"fyzického. Doporučuje se dodržet zarovnání na hranice fyzických sektorů\n"
+"(nebo bloků optimálních pro I/O). V opačném případě může utrpět výkon.\n"
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"POZOR: Režim kompatibility s DOSem je zastaralý. Důrazně se doporučuje "
+"tento\n"
+" režim vypnout (příkaz „c“)."
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+"\n"
+"POZOR: cylindry jakožto jednotky výpisů jsou zastaralé. Jednotky lze změnit\n"
+" na sektory pomocí příkazu „u“.\n"
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr "Chcete opravdu skonÄŤit? "
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Šestnáctkově (L vypíše kódy):"
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, implicitnÄ› %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Nepodporovaná přípona: „%s“.\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"Podporované: 10^N: KB (kilobajt), MB (megabajt), GB (gigabajt)\n"
+" 2^N: K (kibibajt), M (mebibajt), G (gibibajt)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Používám implicitní hodnotu %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Hodnota je mimo meze.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "ÄŚĂ­slo oddĂ­lu"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Varování: oddíl %d nemá určen typ\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Vybrán oddíl %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ještě nejsou definovány žádné oddíly!\n"
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cylindr"
+msgstr[1] "cylindry"
+msgstr[2] "cylindrĹŻ"
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektor"
+msgstr[1] "sektory"
+msgstr[2] "sektorĹŻ"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Jednotky pro zobrazení/vstup změněny na cylindry (ZASTARALÉ!)\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Jednotky pro zobrazení/vstup změněny na sektory\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "VAROVĂNĂŤ: OddĂ­l %d je rozšířenĂ˝m oddĂ­lem\n"
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "Příznak kompatibility s DOSem je nastaven (ZASTARALÉ!)\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Příznak DOSOVÉ kompatibility není nastaven.\n"
+
+#: fdisks/fdisk.c:841
+#, c-format
+msgid "Partition %d is deleted\n"
+msgstr "OddĂ­l %d je smazanĂ˝\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "DiskovĂ˝ oddĂ­l %d zatĂ­m neexistuje!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Na mnoha systémech (ale ne na Linuxu) typ 0 označuje\n"
+"volný prostor. Mít oddíly typu 0 není moudré.\n"
+"Oddíl můžete smazat pomocí příkazu „d“.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr "Nemůžete měnit běžný oddíl na rozšířený a zpět. Nejdříve jej smažte.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Zvažte zda by nebylo vhodné ponechat oddíl 3 jako Celý disk (5),\n"
+"neboť SunOS/Solaris to očekává a i Linux tomu dává přednost.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Zvažte, zda by nebylo vhodné ponechat oddíl 9 jako hlavičku svazku (0) a\n"
+"oddíl 11 jako celý svazek (6), neboť IRIX to očekává.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Typ oddílu %d byl změněn na %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Typ oddílu %d je nezměněn: %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "Oddíl %d má rozdílný fyzický a logický začátek (nelinuxový?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fyz=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logickĂ˝=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Diskový oddíl %d má rozdílný fyzický a logický konec:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "DiskovĂ˝ oddĂ­l %i nekonÄŤĂ­ na hranici cylindru.\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Oddíl %i nezačíná na hranici fyzického sektoru.\n"
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disk %s: %'ld MB, %'lld bajtů"
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disk %s: %'ld,%ld GB, %'llu bajtů"
+
+#: fdisks/fdisk.c:1007
+#, c-format
+msgid ", %llu sectors\n"
+msgstr ", %'llu sektorĹŻ\n"
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "hlav: %'d, sektorĹŻ na stopu: %'llu, cylindrĹŻ: %'llu\n"
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Jednotky = %s po %d * %ld = %'ld bajtech\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "Velikost sektoru (logického/fyzického): %lu bajtů / %lu bajtů\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr "Velikost I/O (minimální/optimální): %lu bajtů / %lu bajtů\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "Zarovnávací posun: %lu bajtů\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Diskové oddíly jsou již seřazeny.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Hotovo.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Toto nevypadá jako tabulka rozdělení disku.\n"
+"Pravděpodobně jste zvolili špatné zařízení.\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Zavádět Začátek Konec Bloky Id Systém\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Zařízení"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Diskové oddíly jsou chybně seřazeny\n"
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: hlav: %'d, sektorĹŻ: %'llu, cylindrĹŻ: %'llu\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Č. AF Hd Sek Cyl Hd Sek Cyl Začátek Vel. Id\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Varování: oddíl %d obsahuje sektor 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Diskový oddíl %d: hlava %d má větší číslo než je maximum %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Diskový oddíl %d: sektor %d má větší číslo než je maximum %llu\n"
+
+# FIXME: s/Partitions/Partition/
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Diskový oddíl %d: cylindr %d má větší číslo než je maximum %llu\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Diskový oddíl %d: předchozí sektory %d nesouhlasí s úhrnem %d\n"
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "OddĂ­l %d typu %s o velikosti %s je nastaven.\n"
+
+#: fdisks/fdisk.c:1355
+msgid "cannot write disk label"
+msgstr "popisek disku nelze zapsat"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Tabulka rozdělení disku byla změněna!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Volám ioctl() pro znovunačtení tabulky rozdělení disku.\n"
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"VAROVĂNĂŤ: ZnovunaÄŤtenĂ­ tabulky rozdÄ›lenĂ­ disku selhalo s chybou %d: %m.\n"
+"Jádro stále používá starou tabulku. Nová tabulka se použije až po příštím\n"
+"restartu nebo po té, co spustíte partprobe(8) nebo kpartx(8).\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"VAROVĂNĂŤ: Pokud jste vytvoĹ™ili ÄŤi zmÄ›nili nÄ›jakĂ©\n"
+"DOS 6.x oddíly, přečtěte si prosím manuálovou\n"
+"stránku programu fdisk, abyste získali další informace.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Chyba při zavírání souboru\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "SynchronizujĂ­ se disky.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "DiskovĂ˝ oddĂ­l %d neobsahuje datovou oblast.\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Nový začátek dat"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Příkaz pro odborníky (m pro nápovědu): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "PoÄŤet cylindrĹŻ"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "PoÄŤet hlav"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "PoÄŤet sektorĹŻ"
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Pozor: nastaven posun sektoru kvůli kompatibilitě s DOSem\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"VAROVĂNĂŤ: Na „%s“ nalezena GPT (GUID tabulka rozdÄ›lenĂ­ disku)! Nástroj fdisk "
+"nepodporuje GPT. Použijte GNU Parted.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s nelze otevřít.\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "příkaz %c není znám\n"
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Vítejte v fdisku (%s).\n"
+"\n"
+"Změny zůstanou pouze v paměti, dokud se nerozhodnete je uložit na disk.\n"
+"Při použití příkazu zápisu buďte obezřetní.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Na %s nalezen OSF/1 popis disku. Spouštím režim popisu disku.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Příkaz (m pro nápovědu): "
+
+#: fdisks/fdisk.c:1821
+msgid "invalid sector size argument"
+msgstr "neplatnĂ˝ argument velikosti sektoru"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+msgid "invalid cylinders argument"
+msgstr "neplatnĂ˝ argument cylindrĹŻ"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+msgid "invalid heads argument"
+msgstr "neplatnĂ˝ argument hlav"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+msgid "invalid sectors argument"
+msgstr "neplatnĂ˝ argument sektorĹŻ"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Varování: přepínač -b (nastavení velikosti sektoru) by měl být použit s "
+"jednĂ­m\n"
+" zadaným zařízením.\n"
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Pozor: velikost sektoru je %ld (nikoliv %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Zařízení neobsahuje známou tabulku rozdělení disku.\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Již jsou definovány všechny primární oddíly!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Chybný posun v primárním rozšířeném oddílu\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Varování: vynechávám oddíly po čísle %d.\n"
+"Pokud tuto tabulku rozdělení disku uložíte, budou ztraceny.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Varování: nadbytečný ukazatel na link v tabulce rozdělení disku %d.\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Varování: nadbytečná data v tabulce rozdělení disku %d ignorována.\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "vynechávám prázdný oddíl (%d)\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identifikátor disku: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+"Sestavuje se nová dosová tabulka rozdělení disku s identifikátorem 0x%08x.\n"
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nový identifikátor disku (současný 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Nadbytečný rozšířený oddíl %d ignorován.\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Varování: chybný příznak 0x%04x tabulky rozdělení disku %d bude opraven "
+"zápisem(w)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"Diskový oddíl %d je již definován. Před opětovným vytvořením jej musíte\n"
+"nejprve smazat.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu je již alokován\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Nejsou žádné volné sektory.\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "PoslednĂ­ %1$s, +%2$s nebo +velikost{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Přidává se logický oddíl %d\n"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Varování: chybný počátek dat v oddílu %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Varování: oddíl %d přesahuje do oddílu %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Varování: oddíl %d je prázdný.\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logický oddíl %d přesahuje mimo oddíl %d.\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Celkový počet alokovaných sektorů %'llu je větší než maximum %'llu.\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "Zbývá %'lld nealokovaných %ldbajtových sektorů\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Všechny primární oddíly jsou obsazeny\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+"Chcete-li vytvořit více něž čtyři oddíly, musíte nejprve nahradit primární\n"
+"oddíl oddílem rozšířeným.\n"
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Všechny logické oddíly jsou obsazeny\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Přidává se primární oddíl\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+"Druh oddĂ­lu:\n"
+" p primární (primárních: %d, rozšířených: %d, volných: %d)\n"
+"%s\n"
+"Vyberte (výchozí %c): "
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr " l logický (číslováno od 5)"
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr " e rozšířený"
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr "Použije se výchozí odpověď %c\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Chybné číslo oddílu pro typ „%c“\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tNa tomto disku je macovská tabulka rozdělení disku.\n"
+"\tNaneštěstí fdisk(1) s těmito disky neumí pracovat.\n"
+"\tTuto tabulku rozdělení disku můžete upravit programem\n"
+"„pdisk“ nebo „parted“.\n"
+"\tNicméně několik rad pro Vás:\n"
+"\t1. Při zápisu fdisk zničí jeho obsah\n"
+"\t2. Ujistěte se, že tento disk NENÍ důležitou součástí\n"
+"\t skupiny svazkĹŻ. (Jinak mĹŻĹľete smazat, pokud nejsou\n"
+"\t zrcadleny, i ostatní disky.)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tPromiĹte, ale tento fdisk neumĂ­ zacházet s macovskĂ˝mi diskovĂ˝mi\n"
+"\tjmenovkami. Chcete-li přidat oddíl typu DOS, nejprve vytvořte\n"
+"\t novu prázdnou DOSOVOU tabulku rozdělení disku (příkaz „o“).\n"
+"\tVAROVĂNĂŤ: TĂ­mto pĹ™ijdete o souÄŤasnĂ˝ obsah disku.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "HlaviÄŤka SGI svazku"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI svazek"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI XFS"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux nativnĂ­"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Popis nesmĂ­ podle MIPS Computer Systems, Inc obsahovat vĂ­ce neĹľ 512 bajtĹŻ\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Nalezl jsem SGI popis disku s chybným kontrolním součtem.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI tabulka rozdělení disku): hlav: %'d, sektorů: %'llu,\n"
+"cylindrů: %'llu, fyzických cylindrů: %'d\n"
+"extra sektorů/cylindr: %d, prokládání: %d:1\n"
+"%s\n"
+"Jednotky = %s po %d * %ld bajtech\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI tabulka rozdělení disku): hlav: %'d, sektorů: %'llu,\n"
+"cylindrĹŻ: %'llu\n"
+"Jednotky = %s po %d * %ld bajtech\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- oddĂ­ly -----\n"
+"Od# %*s Info Začátek Konec Sektory Id Systém\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- bootinfo -----\n"
+"StartovacĂ­ soubor: %s\n"
+"----- adresářové položky -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u velikost%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"ChybnĂ˝ startovacĂ­ soubor!\n"
+"\tStartovací soubor musí být zadán plným názvem, např.\n"
+"\t„/unix“ či “/unix.save“.\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNázev startovacího souboru je příliš dlouhý: 16 bajtů je maximum.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tStartovací soubor musí být zadán plným názvem.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Uvědomte si, že existence startovacího souboru není ověřována.\n"
+"\tImplicitně se použije „/unix“ a jako záloha „/unix.save“.\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Aktuální startovací soubor: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Zadejte název nového startovacího souboru: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Startovací soubor nebyl změněn.\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tStartovací soubor byl změněn na „%s“.\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Existuje více než jedna položka celého disku.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nejsou definovány žádné oddíly\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX preferuje, když Diskový oddíl 11 zaujímá celý disk.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Diskový oddíl zaujímající celý disk by měl začínat blokem 0,\n"
+"nikoliv blokem %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Diskový oddíl zaujímající celý disk má velikost v blocích pouze %d,\n"
+"ale velikost disku v blocĂ­ch je %d.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Oddíl 11 by měl zaujímat celý disk.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Diskový oddíl %d nezačíná na hranici cylindru.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "DiskovĂ˝ oddĂ­l %d nekonÄŤĂ­ na hranici cylindru.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Diskové oddíly %d a %d se navzájem překrývají %d sektory.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Nevyužívaný prostor o velikosti %'8u sektorů – sektory %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"StartovacĂ­ oddĂ­l neexistuje.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Diskový oddíl pro odkládací prostor neexistuje.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Diskový oddíl pro odkládací prostor nemá zadán typ.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tVybral jste si neobvyklý název pro startovací soubor.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Je nám líto, značku lze změnit jen u neprázdných oddílů.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"DoporuÄŤuje se, aby oddĂ­l zaÄŤĂ­najĂ­cĂ­ na pozici 0 byl typu\n"
+"„SGI volhdr“. IRIX jej používá k přístupu k nástrojům jako je sash\n"
+"a fx. Výjimkou je pouze „SGI svazek“ zaujímající celý disk.\n"
+"Zadejte ANO, pokud jste si jisti, Ĺľe chcete oznaÄŤit tento oddĂ­l jinak.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "ANO\n"
+
+# FIXME: Signular or plurál? Missing `s'.
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Oddíly se ne disku překrývají.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Pokouším se automaticky vytvořit položku pro celý disk.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Diskové oddíly již zabírají celý prostor disky.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Diskové oddíly se překrývají. Nejprve to opravte!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Doporučuje se, aby jedenáctý oddíl zaujímal celý\n"
+"prostor disku a byl typu „SGI svazek“\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Takto se oddíly budou navzájem překrývat. Nejprve to opravte!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " PoslednĂ­ %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr "Sestavuje se nová tabulka rozdělení disku typu SGI.\n"
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "Volání ioctl HDIO_GETGEO nad %s selhalo"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Pozor: ioctl BLKGETSIZE selhalo na %s. Pro geometrii se pouĹľije %llu\n"
+"cylindrĹŻ.\n"
+"Tato hodnota může být zkrácena pro zařízení > 33,8 GB.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tZAÄŚĂTEK=%d\tDÉLKA=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Pokouším se zachovat parametry již nastavených oddílů.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Nepřiřazeno"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "CelĂ˝ disk"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "Náhr. sektory SunOS"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "Vyhrazeno pro SunOS"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux RAID samorozpoznatelnĂ˝"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Nalezl jsem sun popis disku s chybných kontrolním součtem.\n"
+"Pravděpodobně budete muset nastavit všechny hodnoty jako hlavy, sektory,\n"
+"cylindry a oddíly, nebo vytvořit novou tabulku (příkaz „s“ v hlavní\n"
+"nabĂ­dce)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Nalezl jsem sunovský popis disku s chybnou verzí [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Nalezl jsem sunovský popis disku s chybným „sanity“ [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Nalezl jsem sunovský popis disku s chybným počtem_oddílů [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Varování: Chybné hodnoty musí být opraveny a bude tak učiněno při zápisu "
+"(w)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "Vytváří se nový sunový popis disku.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "SektorĹŻ/stopu"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "DiskovĂ˝ oddĂ­l %d nekonÄŤĂ­ na hranici cylindru.\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Diskový oddíl %d přesahuje do jiných v sektorech %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Nevyužívaný prostor - sektory 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Nevyužívaný prostor - sektory %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Jiné oddíly již zaujímají celý disk.\n"
+"Smažte/zmenšete nějaké a zkuste to znovu.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Velmi se doporučuje, aby třetí oddíl zaujímal celý prostor disku\n"
+"a byl typu „Celý disk“\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d je již alokován\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Třetí oddíl nezabírá celý disk, ale vaše hodnota %d %s\n"
+"zasahuje jiné oddíly. Vaše údaje byly změněny na %d %s.\n"
+
+# TODO: Pluralize
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Pokud chcete zachovat kompatibilitu se SunOS/Solarisem, zvažte ponechání\n"
+"tohoto oddílu jako Celého disku (5), začínajícího na 0, o délce\n"
+"%u sektorĹŻ\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"DoporuÄŤuje se, aby oddĂ­l zaÄŤĂ­najĂ­cĂ­ na posunu 0 byl typu\n"
+"UFS, EXT2FS či SunOS swap. Vytvoření odkládacího prostoru pro Linux\n"
+"na tomto místě by mohlo zničit tabulku rozdělení disku a startovací blok.\n"
+"Zadejte YES, pokud jste si jisti, Ĺľe chcete tento oddĂ­l oznaÄŤit jako 82\n"
+"(odkládací prostor pro Linux): "
+
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (sunovská tabulka rozdělení disku): hlav: %'u, sektorů: %'llu,\n"
+"o/m: %'d, cylindrů: %'llu, náhradních cylindrů: %'d,\n"
+"fyzických cylindrů: %'d, extra sektorů/cylindr: %'d, prokládání: %d:1\n"
+"ID jmenovky: %s\n"
+"ID svazku: %s\n"
+"Jednotky = %s po %d * 512 bajtech\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (sunovská tabulka rozdělení disku): hlav: %'u, sektorů: %'llu,\n"
+"cylindrĹŻ: %'llu\n"
+"Jednotky = %s po %d * 512 bajtech\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Příznak Začátek Konec Bloky Id Systém\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "PoÄŤet alternativnĂ­ch cylindrĹŻ"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Extra sektory na cylindr"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Interleave faktor"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Rychlost otáčení (otm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Počet fyzických cylindrů"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Prázdný prostor"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Rozšířený"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS/exFAT"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX startovacĂ­"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 zavaděč"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Rozš. (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Skrytá FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Skrytá FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Skrytá FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Skrytá HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Skrytá W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Skrytá W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Skrytá W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr "Skrytá NTFS WinRE"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. část"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. část"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ÄŤi SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell NetWare 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell NetWare 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "StarĂ˝ Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / starĂ˝ Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux swap/Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 skrytĂ˝ C: disk"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux rozšířený"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS svazek"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernace"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin zaveditelnĂ˝"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS/HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI SS"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "SkrytĂ˝ Boot Wizard"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Zavaděč Solarisu"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "data mimo SS"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / …"
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS pro ÄŤtenĂ­"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS SS"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "zavaděč Linux/PA-RISCu"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS sekundární"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "chyba posunu ukazovátka na %s - ukazovátko nelze posunout na %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+"chyba při posunu ukazovátka: požadavek 0x%08x%08x, výsledek 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "chyba ÄŤtenĂ­ na %s - sektor %lu nelze ÄŤĂ­st\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "chyba zápisu na %s - sektor %lu nelze zapsat\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "soubor pro uložení sektorů (%s) nelze otevřít\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "chyba zápisu na %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "volání stat pro soubor s uloženými sektory (%s) selhalo\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "soubor s uloženými sektory má chybnou velikost - nebude obnoven\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "soubor s uloženými sektory (%s) nelze otevřít\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "chyba při čtení %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "zařízení %s nelze otevřít pro zápis\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "chyba při zápisu sektoru %lu na %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: geometrii nelze zjistit\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: velikost nelze zjistit\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Varování: začátek=%lu - to vypadá spíše jako oddíl nežli\n"
+"celý disk. Použití fdisku je v tom případě pravděpodobně zbytečné\n"
+"[Použijte přepínač --force pokud to opravdu chcete.]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Varování: dle HDIO_GETGEO je počet hlav %lu\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Varování: dle HDIO_GETGEO je počet sektorů %lu\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Varování: dle BLKGETSIZE/HDIO_GETGEO je počet cylindrů %lu\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Varování: podivný počet sektorů (%lu) - obvykle nebývá více než 63\n"
+"To způsobí problémy všem programům, které používají CHS adresování.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disk %s: cylindrĹŻ: %lu, hlav: %lu, sektorĹŻ/stopu: %lu\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr "%s oddílu %s má chybný počet hlav: %lu (mělo by být 0-%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr "%s oddílu %s má chybný počet sektorů: %lu (mělo by být 1-%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr "%s oddílu %s má chybný počet cylindrů: %lu (mělo by být 0-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr "Id Název\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Načítám znovu tabulku rozdělení disku…\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Nepodařilo se znovu načíst tabulku rozdělení disku.\n"
+"Dříve než použijete mkfs, spusťte partprobe(8), kpartx(8) nebo restartujte\n"
+"systém.\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Chyba při zavírání %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: oddĂ­l neexistuje\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "Neznámý formát - používám sektory\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "nepoužívaný formát - používám %s\n"
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Jednotky: cylindry po %lu bajtech, bloky po 1024 bajtech, počítáno od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr "Zařízení Boot Začátek Konec Cyldrů Bloků Id Systém\n"
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Jednotky: sektory po 512 bajtech, počítáno od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr "Zařízení Boot Začátek Konec Sektorů Id Systém\n"
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Jednotky: bloky po 1024 bajtech, počítáno od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr "Zařízení Boot Začátek Konec Bloků Id Systém\n"
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Jednotky: 1 MiB = 1024*1024 bajtů, bloky po 1024 bajtech, počítáno od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr "Zařízení Boot Začátek Konec MiB Bloků Id Systém\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tzačátek: (c,h,s) předpoklad (%ld,%ld,%ld) nalezeno (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tkonec: (c,h,s) předpoklad (%ld,%ld,%ld) nalezeno (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "oddĂ­l konÄŤĂ­ na cylindru %ld, t.j. za koncem disku\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Nebyly nalezeny žádné oddíly\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Varování: Zdá se, že tabulka rozdělení disku byla vytvořena\n"
+"pro C/H/S=*/%ld/%ld (mĂ­sto %ld/%ld/%ld).\n"
+"Zobrazuji za použití této geometrie.\n"
+
+#: fdisks/sfdisk.c:1166
+msgid "no partition table present."
+msgstr "není přítomna žádná tabulka rozdělení disku."
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr "zvláštní - počet definovaných oddílů je pouze %d."
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Varování: oddíl %s má velikost 0 a není označen jako prázdný.\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Varování: oddíl %s má velikost 0 a je startovací.\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Varování: oddíl %s má velikost 0 a nenulový začátek.\n"
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "Varování: oddíl %s není obsažen v oddílu %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Varování: oddíly %s a %s se překrývají\n"
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Varování: oddíl %s obsahuje část tabulky rozdělení disku (sektor %llu)\n"
+"a v případě zaplnění ji zničí\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Varování: oddíl %s začíná na sektoru 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Varování: oddíl %s přesahuje za konec disku.\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+"Pozor: oddíl %s má velikost %d,%d TB (%'llu bajtů),\n"
+"což je více, než omezení %'llu bajtů dané dosovou tabulkou\n"
+"rozdělení disku při %dbajtových sektorech.\n"
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+"Pozor: oddíl %s začíná na sektoru %'llu (%d,%d TB\n"
+"při %dbajtových sektorech), což přesahuje omezení dosové tabulky\n"
+"rozdělení disku %'llu sektorů.\n"
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Pouze jeden z primárních oddílů může být rozšířeným.\n"
+"(Ačkoliv v Linux to není problém.)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Varování: oddíl %s nezačíná na hranici cylindru.\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Varování: oddíl %s nekončí na hranici cylindru.\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Varování: více než jeden primární oddíl je označen jako startovací.\n"
+"LILU to nečiní problémy, ale DOS MBR z tohoto disku nenastartuje.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Varování: obyčejně je možné startovat pouze z primárních oddíl|ů.\n"
+"LILO nebude brát ohled na příznak 'startovací'.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Varování: žádný primární oddíl není označen jako startovací.\n"
+"LILU to nečiní problémy, ale DOS z tohoto disku nenastartuje.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "začátek"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"oddíl %s: začátek: (c,h,s) předpoklad (%ld,%ld,%ld), nalezeno (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "konec"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"oddíl %s: konec: (c,h,s) předpoklad (%ld,%ld,%ld), nalezeno (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "oddĂ­l %s konÄŤĂ­ na cylindru %ld, t.j. za koncem disku\n"
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Varování: začátek rozšířeného oddílu posunut z %lld na %lld.\n"
+"(Pouze pro účely vĂ˝pisu. NemÄ›Ĺte jeho obsah.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Varování: rozšířený oddíl nezačíná na hranici cylindru.\n"
+"DOS a Linux budou jeho obsah interpretovat rozdĂ­lnÄ›.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "CHYBA: sektor %lu nenese stopy MS-DOSU\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "příliš mnoho oddílů - ignoruji ty za číslem %ld\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "strom oddĂ­lĹŻ?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "nalezen Disk Manager - s tĂ­m neumĂ­m pracovat\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "nalezen DM6 podpis - konÄŤĂ­m\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "zvláštní…, rozšířený oddíl o velikosti 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "zvláštní…, BSD oddíl o velikosti 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: nerozpoznaný typ tabulky rozdělení disku\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "byl zadán přepínač -n: Nic nebylo změněno\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Chyba při ukládání starých sektorů - končím\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Chyba při zápisu oddílu na %s\n"
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr "příliš dlouhý či neúplný řádek - končím"
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "chyba vstupu: po položce %s je očekáván znak „=“"
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "chyba vstupu: neočekávaný znak %c po položce %s"
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr "nerozpoznanĂ˝ vstup: %s"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "číslo je příliš veliké\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "nesmysly za ÄŤĂ­slem\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "nenĂ­ mĂ­sto pro popis oddĂ­lu\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "okolní rozšiřující oddíl nelze vytvořit\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "příliš mnoho vstupních položek\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Již nejsou volné bloky\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "ChybnĂ˝ typ\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Varování: zadaná velikost(%lu) překračuje maximální povolenou velikost "
+"(%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Varování: prázdný oddíl\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Varování: chybný začátek oddílu (dřívější %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "nerozpoznaný příznak 'startovací' - zvolte - či *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "neúplná c,h,s specifikace?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Rozšířený oddíl na neočekávaném místě\n"
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr "chybnĂ˝ vstup"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "příliš mnoho oddílů\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Vstup v následujícím formátu; chybějící položky budou nahrazeny "
+"implicitnĂ­mi\n"
+"hodnotami.\n"
+"<začátek> <velikost> <typ [E,S,L,X,hex]> <startovací [-,*]> <c,h,s> <c,h,s>\n"
+"Obvykle je třeba zadat pouze <začátek> a <velikost> (a možná <typ>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+
+#: fdisks/sfdisk.c:2368
+#, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] ZAĹĂŤZENĂŤ […]\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+" -s, --show-size vypíše velikost oddílu\n"
+" -c, --id vypíše či změní ID oddílu\n"
+" --change-id změní ID\n"
+" --print-id vypíše ID\n"
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+" -l, --list ke každému zařízení vypíše oddíly\n"
+" -d, --dump taktéž, ale ve formátu vhodném k dalšímu "
+"zpracování\n"
+" -i, --increment ÄŤĂ­sluje cylindry atd. od 1 mĂ­sto od 0\n"
+" -u, --unit PÍSMENO jako jednotky použije; PÍSMENO může být jedno z\n"
+" S (sektory), C (cylindry), B (bloky) nebo M "
+"(MB)\n"
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+" -1, --one-only vyhrazený přepínač, který nyní nic nedělá\n"
+" -T, --list-types vypíše známé typy oddílů\n"
+" -D, --DOS pro kompatibilitu s DOSem: ubere trochu mĂ­sta\n"
+" -E, --DOS-extended kompatibilita s dosovými rozšířenými oddíly\n"
+" -R, --re-read požádá jádro o nové načtení tabulky rozdělení "
+"disku\n"
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+" -N ČÍSLO změní pouze oddíl s tímto ČÍSLEM\n"
+" -n na disk nebudou uloženy žádné změny\n"
+" -O SOUBOR uloží změněné sektory do SOUBORU\n"
+" -I SOUBOR obnovĂ­ sektory ze SOUBORU\n"
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -V, --verify ověří, že vyjmenované oddíly dávají smysl\n"
+" -v, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+
+#: fdisks/sfdisk.c:2393
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr ""
+"\n"
+"Nebezpečné přepínače:\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+" -f, --force vypne všechny kontroly konzistence\n"
+" --no-reread neověřuje, zda-li se oddíl právě používá\n"
+" -q, --quiet nebude vypisovat varovné hlášky\n"
+" -L, --Linux nebude si stěžovat na věci nepodstatné pro Linux\n"
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g, --show-geometry vypíše geometrii, jak ji vidí jádro\n"
+" -G, --show-pt-geometry vypíše geometrii, která byla odhadnuta\n"
+" z tabulky rozdělení disku\n"
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -A, --activate[=ZAĹĂŤZENĂŤ] zapne příznak zaveditelnosti\n"
+" -U, --unhide[=ZAĹĂŤZENĂŤ] zviditelnĂ­ oddĂ­l\n"
+" -x, --show-extended rovněž vypíše rozšířené oddíly nebo\n"
+" na vstupu očekává jejich popis\n"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+" --leave-last nealokuje poslednĂ­ cylindr\n"
+" --IBM stejné jako --leave-last\n"
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+" --in-order oddíly jsou seřazeny\n"
+" --not-in-order oddíly nejsou seřazeny\n"
+" --inside-outer všechny logické oddíly jsou uvnitř "
+"nejvnějšejších\n"
+" rozšířených oddílů\n"
+" --not-inside-outer ne všechny logické oddíly jsou uvnitř "
+"nejvnějšejších\n"
+" rozšířených oddílů\n"
+
+# I do not understand difference between --nested and --onesector.
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+" --nested každý oddíl se nepřekrývá se všemi zbývajícími\n"
+" --chained jako --nested, ale rozšířené oddíly mohou ležet "
+"mimo\n"
+" --onesector oddíly se vzájemně nepřekrývají\n"
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+"\n"
+"Přebije zjištěnou geometrii takto:\n"
+" -C, --cylinders ÄŚĂŤSLO nastavĂ­ poÄŤet cylindrĹŻ\n"
+" -H, --heads ÄŚĂŤSLO nastavĂ­ poÄŤet hlav\n"
+" -S, --sectors ÄŚĂŤSLO nastavĂ­ poÄŤet sektorĹŻ\n"
+"\n"
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "PouĹľitĂ­:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s zařízení\t\t vypíše aktivní oddíly na daném zařízení\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s zařízení n1 n2 ... aktivuje oddíly n1 ..., deaktivuje ostatní\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An zařízení\t aktivuje oddíl n, deaktivuje ostatní\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"VAROVĂNĂŤ: Na „%s“ nalezena GPT (GUID tabulka rozdÄ›lenĂ­ disku)! Nástroj "
+"sfdisk nepodporuje GPT. Použijte GNU Parted.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "K potlačení této kontroly použijte přepínač --force.\n"
+
+#: fdisks/sfdisk.c:2582
+msgid "no command?"
+msgstr "žádný příkaz?"
+
+#: fdisks/sfdisk.c:2662
+msgid "invalid number of partitions argument"
+msgstr "neplatnĂ˝ argument poÄŤtu oddĂ­lĹŻ"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "celkovĂ˝ poÄŤet blokĹŻ: %'llu\n"
+
+#: fdisks/sfdisk.c:2795
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "Použití: sfdisk --print-id zařízení číslo_oddílu"
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "Použití: sfdisk --change-id zařízení číslo_oddílu ID"
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "Použití: sfdisk --id zařízení číslo_oddílu [ID]"
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr "můžete zadat pouze jedno zařízení (výjimkou jsou přepínače -l a -s)"
+
+#: fdisks/sfdisk.c:2832
+#, c-format
+msgid "cannot open %s read-write"
+msgstr "%s nelze otevřít pro čtení i zápis"
+
+#: fdisks/sfdisk.c:2834
+#, c-format
+msgid "cannot open %s for reading"
+msgstr "%s nelze otevřít pro čtení"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylindrĹŻ, %ld hlav, %ld sektorĹŻ/stopu\n"
+
+#: fdisks/sfdisk.c:2929
+#, c-format
+msgid "Cannot get size of %s"
+msgstr "Nelze zjistit velikost %s"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "chybnĂ˝ aktivnĂ­ bajt: 0x%x mĂ­sto 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Hotovo\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Počet aktivních oddílů je %d. LILU to nečiní problémy, ale DOS MBR\n"
+"nastartuje pouze z disku s jednĂ­m aktivnĂ­m oddĂ­lem.\n"
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "oddíl %s má id %x a není skrytý"
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr "ID %lx je chybné"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Tento disk je právě používán.\n"
+
+#: fdisks/sfdisk.c:3154
+#, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Fatální chyba: %s nelze nalézt"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Varování: %s není blokovým zařízením\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Ověřuje se, zda tento disk není právě používán…\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Tento disk je právě používán - vytváření oddílů není dobrým\n"
+"nápadem. Odpojte všechny systémy souborů a pomocí swapoff deaktivujte\n"
+"všechny odkládací prostory na tomto disku. K potlačení této kontroly můžete\n"
+"použít přepínač --no-reread.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Použijte přepínač --force k potlačení veškerých kontrol.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Stará situace:\n"
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Diskový oddíl %d neexistuje. Nelze jej změnit"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Nová situace:\n"
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Toto rozložení oddílů se mi nelíbí - nic nebude změněno.\n"
+"(Pokud jej opravdu chcete použít, pak zadejte přepínač --force.)"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Toto se mi nelíbí - měl byste odpovědět NO\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Vyhovuje Vám to? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "UloĹľit na disk? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr "Končím - nebyly učiněny žádné změny"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Odpovězte prosím y,n či q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Nová tabulka rozdělení disku byla úspěšně uložena.\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Pokud jste vytvořili či změnili nějaké DOSOVÉ oddíly - např. /dev/bla7,\n"
+"použijte dd(1) k vynulování prvních 512 bajtů: 'dd if=/dev/zero of=/dev/"
+"bla7\n"
+"bs=512 count=1' (viz fdisk(8)).\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr "\n"
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help zobrazí tuto nápovědu a skončí\n"
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version vypíše údaje o verzi a skončí\n"
+
+#: include/c.h:246
+#, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"Podrobnosti naleznete v %s.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, c-format
+msgid "write error"
+msgstr "chyba při zápisu"
+
+#: include/optutils.h:76
+#, c-format
+msgid "%s: options "
+msgstr "%s: přepínače "
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr "se vzájemně vylučují."
+
+#: lib/pager.c:107
+#, c-format
+msgid "waitpid failed (%s)"
+msgstr "volání waitpid selhalo (%s)"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr "mnoĹľinu CPU nelze alokovat"
+
+#: lib/path.c:178
+#, c-format
+msgid "failed to parse CPU list %s"
+msgstr "seznam CPU %s se nezdařilo rozebrat"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "masku CPU %s se nezdařilo rozebrat"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, c-format
+msgid " %s [options] [username]\n"
+msgstr " %s [přepínače] [uživatel]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr " -f, --full-name <celé_jméno> skutečné jméno\n"
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr " -o, --office <kancelář> číslo kanceláře\n"
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr " -p, --office-phone <telefon> telefonní číslo do kanceláře\n"
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr " -h, --home-phone <telefon> telefonnĂ­ ÄŤĂ­slo domĹŻ\n"
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr " -u, --help zobrazí tuto nápovědu a skončí\n"
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr " -v, --version vypíše údaje o verzi a skončí\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr "vy (uĹľivatel %d) neexistujete."
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr "uživatel „%s“ neexistuje."
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr "měnit lze pouze místní záznamy"
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s nemá dovoleno měnit finger informace o uživateli %s"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Neznámý kontext uživatele"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, c-format
+msgid "can't set default context for %s"
+msgstr "výchozí kontext pro %s nelze nastavit"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Měním finger informace o uživateli %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger informace nebyly změněny.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "Kancelář"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "Telefon do práce"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "Telefon domĹŻ"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+msgid "Aborted."
+msgstr "UkonÄŤen."
+
+#: login-utils/chfn.c:383
+#, c-format
+msgid "field %s is too long"
+msgstr "položka %s je příliš dlouhá"
+
+#: login-utils/chfn.c:385
+msgid "field is too long"
+msgstr "položka je příliš dlouhá"
+
+#: login-utils/chfn.c:393
+#, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: „%c“ není povoleno"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, c-format
+msgid "'%c' is not allowed"
+msgstr "„%c“ není povoleno"
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: řídicí znaky nejsou povoleny"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr "kontrolnĂ­ znaky nejsou povoleny"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Finger informace *NEBYLY* změněny. Zkuste to opět později.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger informace byly změněny.\n"
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell <shell> nastaví přihlašovací shell\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr " -l, --list-shells vypíše seznam shellů a skončí\n"
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr "měnit lze pouze místní záznamy."
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s není oprávněn měnit shell uživatele %s"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"aktuální UID se neshoduje s UID uživatele, kterého chceme změnit, změna "
+"shellu zamĂ­tnuta"
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "váš shell není v %s, změna shellu zamítnuta"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Měním shell pro %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "NovĂ˝ shell"
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr "Shell nebyl změněn."
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"setpwnam selhal\n"
+"Shell *NEBYL* změněn. Zkuste to později znovu."
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell byl změněn.\n"
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr "shell musí být zadán úplným jménem cesty"
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr "„%s“ neexistuje"
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr "„%s“ není spustitelným souborem"
+
+#: login-utils/chsh.c:321
+#, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Pozor: „%s“ není uveden v %s."
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+"„%s“ není uveden v %s.\n"
+"Seznam lze zobrazit pomocí „%s -l“."
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr "Není znám žádný shell."
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"Použití: last [-#] [-f soubor] [-t tty] [-h název_počítače] [uživatel…]\n"
+
+#: login-utils/last.c:252
+#, c-format
+msgid "%s: mmap failed"
+msgstr "%s: volání mmap selhalo"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " stále přihlášen"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp začíná %s"
+
+#: login-utils/last.c:431
+msgid "gethostname failed"
+msgstr "volání gethostname selhalo"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"přerušen %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr "vypršel časový limit %u sekund"
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "FATĂLNĂŤ: TTY nelze znovu otevřít: %m"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "FATĂLNĂŤ: %s nenĂ­ terminálem"
+
+#: login-utils/login.c:308
+#, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "volání chown(%s, %lu, %lu) selhalo: %m"
+
+#: login-utils/login.c:312
+#, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "volání chdir(%s, %u) selhalo: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "FATĂLNĂŤ: špatnĂ© TTY"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr "FATĂLNĂŤ: %s: zmÄ›na přístupovĂ˝ch práv selhala: %m"
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Poslední přihlášení: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "z %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "%.*s\n"
+
+#: login-utils/login.c:553
+msgid "write lastlog failed"
+msgstr "zápis do protokolu přihlášení (lastlog) se nezdařil"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "PĹĂŤSTUP UĹ˝IVATELE %2$s VYTĂÄŚENOU LINKOU NA TTY %1$s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "PĹIHLĂĹ ENĂŤ UĹ˝IVATELE ROOT Z %2$s NA TTY %1$s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "PĹIHLĂĹ ENĂŤ UĹ˝IVATELE ROOT NA TTY %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %2$s Z %3$s NA TTY %1$s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %2$s NA TTY %1$s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "Přihlašovací jméno:"
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "chyba PAM, konÄŤĂ­ se: %s"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAM nelze inicializovat: %s"
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "%1$u. CHYBNÉ PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %3$s Z %2$s, %4$s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Chybné přihlášení\n"
+"\n"
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "PĹĂŤLIĹ  MNOHO (%1$u) POKUSĹ® UĹ˝IVATELE %3$s O PĹIHLĂĹ ENĂŤ Z %2$s, %4$s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "NEĂšSPĚŠNÉ PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %2$s Z %1$s, %3$s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Chybné přihlášení\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Problém s nastavováním relace. Činnost bude ukončena."
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "NULLOVÉ jméno uživatele v %s:%d. Přerušuji činnost."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "Selhalo TIOCSCTTY: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: přepínač -h může použít pouze superuživatel\n"
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"PouĹľitĂ­: login [ -p ] [ -h poÄŤĂ­taÄŤ ] [ -H ] [ -f uĹľivatel | uĹľivatel ]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Neplatné jméno uživatele „%s“ v %s:%d. Přerušuji činnost."
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr "inicializace skupin se nezdařila: %m"
+
+#: login-utils/login.c:1382
+msgid "setgid() failed"
+msgstr "volání setgid() selhalo"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Máte novou poštu.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Máte starou poštu.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "volání setuid() selhalo"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, c-format
+msgid "%s: change directory failed"
+msgstr "%s: nepodařilo se změnit adresář"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Přihlašuji s domácím adresářem nastaveným na „/“.\n"
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr "shellovĂ˝ skript nelze spustit"
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr "Žádný shell"
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "%s: %s obsahuje neplatnou ÄŤĂ­selnou hodnotu: %s"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Heslo: "
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr " %s <skupina>\n"
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr "Kdo jste?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+msgid "setgid failed"
+msgstr "volání setgid selhalo"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr "žádná taková skupina neexistuje"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr "povolenĂ­ zamĂ­tnuto"
+
+#: login-utils/newgrp.c:176
+msgid "setuid failed"
+msgstr "volání setuid selhalo"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "spuštění %s selhalo"
+
+#: login-utils/su.c:205
+#, c-format
+msgid "cannot not open session: %s"
+msgstr "relaci nelze otevřít: %s"
+
+#: login-utils/su.c:215
+msgid "cannot create child process"
+msgstr "nelze vytvořit proces pro potomka"
+
+#: login-utils/su.c:227
+#, c-format
+msgid "cannot change directory to %s"
+msgstr "nelze přejít do adresáře %s"
+
+#: login-utils/su.c:232
+msgid "cannot block signals"
+msgstr "signály nelze zablokovat"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr "obsluhu signálu nelze nastavit"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+"\n"
+"Relace ukončena, shell bude zabit…"
+
+#: login-utils/su.c:303
+#, c-format
+msgid " ...killed.\n"
+msgstr " …zabit.\n"
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr "chybné heslo"
+
+#: login-utils/su.c:485
+msgid "failed to set PATH"
+msgstr "proměnnou PATH se nepodařilo nastavit"
+
+#: login-utils/su.c:558
+msgid "cannot set groups"
+msgstr "skupiny nelze nastavit"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "ÄŤĂ­slo skupiny (GID) nelze nastavit"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "ÄŤĂ­slo uĹľivatele (UID) nelze nastavit"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Více informací získáte příkazem „%s --help“.\n"
+
+#: login-utils/su.c:652
+#, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr " %s [přepínače] [-] [UŽIVATEL [argument…]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+"\n"
+" Změní efektivní ID uživatele a skupiny na ID daného UŽIVATELE.\n"
+" Samotné „-“ znamená též „-l“. Není-li UŽIVATEL zadán, předpokládá se root.\n"
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+" -, -l, --login nastaví shell jako přihlašovací\n"
+" -c, --command <příkaz> vyvolanému shellu předá jeden příkaz pomocí -"
+"c\n"
+" --session-command <příkaz> vyvolanému shellu předá jeden příkaz pomocí -"
+"c\n"
+" a nevytvoří novou relaci\n"
+" -f, --fast shellu předá -f (pro csh nebo tcsh)\n"
+" -m, --preserve-environment zachová proměnné prostředí\n"
+" -p stejné jako -m\n"
+" -s, --shell <shell> spustĂ­ shell, pokud to /etc/shells dovolĂ­\n"
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr "uĹľivatel %s neexistuje"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr "pouĹľije se omezenĂ˝ shell %s"
+
+#: login-utils/su.c:808
+#, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "pozor: nelze přejít do adresáře %s"
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: root nemá žádný záznam\n"
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr "%s: root nemá žádný záznam"
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr "%s: heslo uživatele root je poškozeno"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr "Pro zahájení údržby je třeba zadat heslo uživatele root\n"
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr "Pro zahájení údržby stiskněte enter"
+
+# FIXME: s/type/press/
+#: login-utils/sulogin.c:296
+#, c-format
+msgid "(or type Control-D to continue): "
+msgstr "(nebo stiskněte Control-D, abyste pokračovali): "
+
+#: login-utils/sulogin.c:347
+msgid "change directory to system root failed"
+msgstr "nepodařilo se přejít do kořenového adresáře"
+
+#: login-utils/sulogin.c:394
+msgid "setexeccon failed"
+msgstr "funkce setexeccon selhala"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, c-format
+msgid "%s: exec failed"
+msgstr "%s: volání exec selhalo"
+
+#: login-utils/sulogin.c:430
+msgid "tcgetattr failed"
+msgstr "funkce tcgetattr selhala"
+
+#: login-utils/sulogin.c:437
+msgid "tcsetattr failed"
+msgstr "funkce tcsetattr selhala"
+
+#: login-utils/sulogin.c:444
+#, c-format
+msgid " %s [options] [tty device]\n"
+msgstr " %s [přepínače] <zařízení_TTY>\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+" -p, --login-shell spustĂ­ login shell\n"
+" -t, --timeout <sekundy> maximální doba čekání na heslo (výchozí: žádný "
+"limit)\n"
+" -e, --force selže-li getpwnam(3), prozkoumá soubory s hesly "
+"přímo\n"
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr "neplatný argument přepínače --timeout"
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr "tento program může spouštět jen superuživatel."
+
+#: login-utils/sulogin.c:529
+#, c-format
+msgid "%s: not a tty"
+msgstr "%s: nenĂ­ TTY"
+
+#: login-utils/sulogin.c:577
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY: volání ioctl selhalo"
+
+#: login-utils/sulogin.c:586
+msgid "cannot open password database."
+msgstr "databázi s hesly nelze otevřít."
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: volání stat selhalo"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s: nelze přidat sledování pomocí inotify."
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: události inotify nelze přečíst"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr "V souboru je přebytečný nový řádek. Končí se."
+
+#: login-utils/utmpdump.c:286
+#, c-format
+msgid " %s [options] [filename]\n"
+msgstr " %s [přepínače] [název_souboru]\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+" -f, --follow vypisuje data přidávaná to souboru\n"
+" -r, --reverse zapíše výpis zpět do utmp souboru\n"
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr "sledování standardního vstupu není podporováno"
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr "Zpětný zápis utmp výpisu %s\n"
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr "Utmp výpis %s\n"
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+msgid "can't open temporary file"
+msgstr "dočasný soubor nelze otevřít"
+
+#: login-utils/vipw.c:166
+#, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: nelze vytvořit odkaz na %s"
+
+#: login-utils/vipw.c:173
+#, c-format
+msgid "Can't get context for %s"
+msgstr "Nelze zjistit kontext pro %s"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr "Nelze nastavit kontext pro %s"
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr "%s nezměněno"
+
+#: login-utils/vipw.c:264
+msgid "cannot get lock"
+msgstr "zámek nelze získat"
+
+#: login-utils/vipw.c:291
+msgid "no changes made"
+msgstr "neprovedeny žádné změny"
+
+#: login-utils/vipw.c:300
+msgid "cannot chmod file"
+msgstr "souboru nelze změnit práva"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Tento systém používá stínové skupiny.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Tento systém používá stínová hesla.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Chcete teÄŹ editovat soubor %s [y/n]?"
+
+#: misc-utils/cal.c:371
+msgid "illegal day value"
+msgstr "Zakázaná hodnota dne"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "chybná hodnota pro den: použijte 1–%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "chybná hodnota pro měsíc: použijte 1–12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "chybná hodnota pro rok: použijte 1–9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] [[[DEN] MÄšSĂŤC] ROK]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+" -1, --one zobrazí pouze současný měsíc (výchozí)\n"
+" -3, --three zobrazí předchozí, současný a následující měsíc\n"
+" -s, --sunday neděle jako první den týdne\n"
+" -m, --monday pondělí jako první den týdne\n"
+" -j, --julian vypíše juliánská data\n"
+" -y, --year zobrazĂ­ celĂ˝ souÄŤasnĂ˝ rok\n"
+" -V, --version vypíše údaje o verzi a skončí\n"
+" -h, --help vypíše tuto nápovědu a skončí\n"
+"\n"
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "PouĹľitĂ­: %s [+FORMĂT] [DEN MÄšSĂŤC ROK]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Den svatého Tiba"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+" %1$s [přepínače] LABEL=<jmenovka>\n"
+" %1$s [přepínače] UUID=<UUID>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "„%s“ nelze přeložit"
+
+#: misc-utils/findmnt.c:105
+msgid "source device"
+msgstr "zdrojové zařízení"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr "bod připojení"
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr "druh systému souborů"
+
+#: misc-utils/findmnt.c:108
+msgid "all mount options"
+msgstr "všechny volby připojení"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr "volby připojení určené pro virtuální souborový systém"
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr "volby připojení určené pro souborový systém"
+
+#: misc-utils/findmnt.c:111
+msgid "filesystem label"
+msgstr "jmenovka souborového systému"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr "UUID souborového systému"
+
+#: misc-utils/findmnt.c:113
+msgid "partition label"
+msgstr "jmenovka oddĂ­lu"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr "hlavní:vedlejší číslo zařízení"
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr "akce zachycené pomocí --poll"
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr "staré volby připojení uložené pomocí --poll"
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr "starý bod připojení uložený pomocí --poll"
+
+#: misc-utils/findmnt.c:119
+msgid "filesystem size"
+msgstr "velikost systému souborů"
+
+#: misc-utils/findmnt.c:120
+msgid "filesystem size available"
+msgstr "velikost souborového systému je známa"
+
+#: misc-utils/findmnt.c:121
+msgid "filesystem size used"
+msgstr "použito z velikosti souborového systému"
+
+#: misc-utils/findmnt.c:122
+msgid "filesystem use percentage"
+msgstr "využití souborového systému v procentech"
+
+#: misc-utils/findmnt.c:123
+msgid "filesystem root"
+msgstr "kořen souborového systému"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr "ID Ăşlohy"
+
+#: misc-utils/findmnt.c:298
+#, c-format
+msgid "unknown action: %s"
+msgstr "neznámá akce: %s"
+
+# Název akce
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr "připojení"
+
+# Název akce
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr "odpojenĂ­"
+
+# Název akce
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr "přepojení"
+
+# Název akce
+#: misc-utils/findmnt.c:513
+msgid "move"
+msgstr "přesun"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "neznámý"
+
+#: misc-utils/findmnt.c:630
+#, c-format
+msgid "%s: parse error at line %d"
+msgstr "%s: chyba rozboru na řádku %d"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+msgid "failed to initialize libmount table"
+msgstr "tabulku libmountu se nepodařilo inicializovat"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, c-format
+msgid "can't read %s"
+msgstr "z %s nelze číst"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr "iterátor libmountu se nepodařilo inicializovat"
+
+#: misc-utils/findmnt.c:886
+msgid "failed to initialize libmount tabdiff"
+msgstr "tabdiff libmountu se nepodařilo inicializovat"
+
+#: misc-utils/findmnt.c:914
+msgid "poll() failed"
+msgstr "volání poll() selhalo"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+" %1$s [volby]\n"
+" %1$s [volby] <zařízení> | <bod_připojení>\n"
+" %1$s [volby] <zařízení> <bod_připojení>\n"
+" %1$s [volby] [--source <zařízení>] [--target <bod_připojení>]\n"
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -s, --fstab hledá ve statické tabulce souborových systémů\n"
+" -m, --mtab hledá v tabulce připojených souborových systémů\n"
+" -k, --kernel hledá v jaderné tabulce připojených souborových\n"
+" systémů (výchozí)\n"
+"\n"
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+" -p, --poll[=<seznam>] sleduje změny v tabulce připojených systémů\n"
+" -w, --timeout <počet> horní hranice v milisekundách, po kterou bude --"
+"poll\n"
+" blokovat\n"
+"\n"
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+" -A, --all vypne všechny vestavěné filtry, vypíše všechny\n"
+" souborové systémy\n"
+" -a, --ascii pro vykreslenĂ­ stromu pouĹľije znaky ASCII\n"
+" -c, --canonicalize cesty vypisuje v kanonickém tvaru\n"
+" -D, --df napodobí výstup df(1)\n"
+" -d, --direction <směr> směr hledání: „forward“ (dopředné) nebo\n"
+" „backward“ (zpětné)\n"
+" -e, --evaluate převede značky (jmenovky, UUID, UUID oddílů,\n"
+" jmenovky oddílů) na názvy zařízení\n"
+" -F, --tab-file <cesta> jiný soubor pro přepínače --fstab, --mtab nebo --"
+"kernel\n"
+" -f, --first-only vypíše pouze první nalezený souborový systém\n"
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+" -i, --invert obrátí smysl vyhledávacích pravidel\n"
+" -l, --list výstup ve formátu seznamu\n"
+" -N, --task <tid> pouĹľije jinĂ˝ jmennĂ˝ prostor (/proc/<tid>/mountinfo)\n"
+" -n, --noheadings nezobrazí záhlaví sloupců\n"
+" -u, --notruncate nezkracuje text ve sloupcĂ­ch\n"
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+" -O, --options <seznam> omezí množinu souborových systémů podle voleb "
+"připojení\n"
+" -o, --output <seznam> zobrazí dané sloupce\n"
+" -P, --pairs výstup ve formátu klíč=\"hodnota\"\n"
+" -r, --raw neformátovaný výstup\n"
+" -t, --types <seznam> omezí množinu souborových systémů podle jejich "
+"druhu\n"
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+" -v, --nofsroot u vázaných nebo btrfs připojení nevypisuje [/"
+"adresář]\n"
+" -R, --submounts u odpovídajících souborových systémů vypisuje "
+"všechny\n"
+" podřízené body přípojení\n"
+" -S, --source <řetězec> připojené zařízení (název, hlavní:vedlejší,\n"
+" LABEL= (jmenovka), UUID=, PARTUUID= (UUID oddĂ­lu),\n"
+" PARTLABEL= (jmenovka oddĂ­lu))\n"
+" -T, --target <řetězec> bod připojení\n"
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+"\n"
+"Dostupné sloupce:\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr "neznámý směr „%s"
+
+#: misc-utils/findmnt.c:1196
+msgid "invalid TID argument"
+msgstr "neplatný argument přepínače --task"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+"přepínač --poll přijímá pouze jeden soubor, ale bylo jich zadáno více skrze "
+"přepínač --tab-file"
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+"volby --target a --source nemohou být použity společně s prvkem příkazového "
+"řádku, který není volbou"
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr "pomocnou paměť libmountu se nepodařilo inicializovat"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr "Požadován je sloupce %s, ale --poll není zapnuto"
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "prázdná dlouhá volba po přepínači -l či --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "neznámý shell po přepínači -s či --shell"
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" %1$s ĹETÄšZEC_S_VOLBAMI PARAMETRY\n"
+" %1$s [PĹEPĂŤNAÄŚE] [--] ĹETÄšZEC_S_VOLBAMI PARAMETRY\n"
+" %1$s [PĹEPĂŤNAÄŚE] -o|--options ĹETÄšZEC_S_VOLBAMI [PĹEPĂŤNAÄŚE] [--] PARAMETRY\n"
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Přijímá dlouhé volby začínající jedním -\n"
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Tato malĂ˝ prĹŻvodce pouĹľitĂ­m\n"
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions DLOUHVOL Rozpoznávané dlouhé volby\n"
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name NĂZEV_PROGRAMU Název, pod kterĂ˝m jsou oznamovány chyby\n"
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options KRĂTKÉ_VOLBY RozpoznávanĂ© krátkĂ© volby\n"
+
+#: misc-utils/getopt.c:328
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr " -q, --quiet Vypne oznamování chyb pomocí getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Žádný normální výstup\n"
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell SHELL NastavĂ­ konvence uzavĂ­ranĂ­ do uvozovek\n"
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Testuje verzi getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote Neuzavře výstup do uvozovek\n"
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Vypíše údaje o verzi\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "chybí řetězec-s-volbami"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "Vnitřní chyba, oznamte ji autorovi."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: neznámý signál %s\n"
+
+#: misc-utils/kill.c:244
+msgid "invalid sigval argument"
+msgstr "neplatný argument hodnoty signálu"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: proces „%s“ nelze nalézt\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: neznámý signál %s; platné signály:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Použití: %s [ -s signál | -p ] [ -a ] PID…\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ signál ]\n"
+
+#: misc-utils/logger.c:88
+#, c-format
+msgid "unknown facility name: %s."
+msgstr "neznámý název oboru (facility): %s."
+
+#: misc-utils/logger.c:97
+#, c-format
+msgid "unknown priority name: %s."
+msgstr "neznámý název priority: %s."
+
+# openlog is function name
+#: misc-utils/logger.c:107
+#, c-format
+msgid "openlog %s: pathname too long"
+msgstr "openlog %s: cesta je příliš dlouhá"
+
+# socket is function name
+#: misc-utils/logger.c:113
+#, c-format
+msgid "socket %s"
+msgstr "socket %s"
+
+# connect is function name
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr "connect %s"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "připojování"
+
+#: misc-utils/logger.c:174
+#, c-format
+msgid " %s [options] [message]\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] [ZPRĂVA]\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -d, --udp použije UDP (výchozí je TCP)\n"
+" -i, --id zaznamená rovněž ID procesu\n"
+" -f, --file SOUBOR zaznamená obsah SOUBORU\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+" -n, --server NĂZEV zapíše do tohoto vzdálenĂ©ho syslogovĂ©ho serveru\n"
+" -P, --port ÄŚĂŤSLO pouĹľije tento UDP port\n"
+" -p, --priority PRIORITA\n"
+" označí zadanou zprávu touto prioritou\n"
+" -s, --stderr zprávu vypíše rovněž na standardní chybový výstup\n"
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+" -t, --tag ZNAČKA každému řádku přidá tuto ZNAČKU\n"
+" -u, --socket SOCKET zapíše do tohoto unixového SOCKETU\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+"\n"
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr "soubor %s"
+
+#: misc-utils/logger.c:261
+msgid "invalid port number argument"
+msgstr "neplatnĂ˝ argument ÄŤĂ­sla portu"
+
+#: misc-utils/look.c:370
+#, c-format
+msgid " %s [options] string [file]\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] ĹETÄšZEC [SOUBOR]\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --alternative použije náhradní slovník\n"
+" -d, --alphanum porovnává pouze písmena a číslice\n"
+" -f, --ignore-case ignoruje při porovnávání\n"
+" -t, --terminate ZNAK určuje znak zakončující řádek\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr "název zařízení"
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr "vnitřní jaderný název zařízení"
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr "kam je zařízení připojeno"
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr "jmenovka souborového systému"
+
+#: misc-utils/lsblk.c:119
+msgid "partition LABEL"
+msgstr "jmenovka oddĂ­lu"
+
+#: misc-utils/lsblk.c:122
+msgid "read-ahead of the device"
+msgstr "přednačítání ze zařízení"
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr "zařízení pouze pro čtení"
+
+#: misc-utils/lsblk.c:124
+msgid "removable device"
+msgstr "výměnné zařízení"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr "otáčivé zařízení"
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr "identifikátor zařízení"
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr "velikost zařízení"
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr "stav zařízení"
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr "uživatelské jméno"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr "název skupiny"
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr "přístupová práva k uzlu zařízení"
+
+#: misc-utils/lsblk.c:132
+msgid "alignment offset"
+msgstr "posun pro zarovnání"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr "minimální velikost I/O"
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr "optimální velikost I/O"
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr "velikost fyzického sektoru"
+
+#: misc-utils/lsblk.c:136
+msgid "logical sector size"
+msgstr "velikost logického sektoru"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr "název plánovače I/O"
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr "velikost fronty poĹľadavkĹŻ"
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr "druh zařízení"
+
+#: misc-utils/lsblk.c:140
+msgid "discard alignment offset"
+msgstr "posun pro zahazovanĂ­ (discard)"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr "stupeŠzahazování"
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr "maximální počet zahoditelných bajtů"
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr "zahozenĂ­ nuluje data"
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr "jedinečný identifikátor úložiště"
+
+#: misc-utils/lsblk.c:828
+#, c-format
+msgid "%s: failed to get device path"
+msgstr "%s: nepodařilo se získat cestu k zařízení"
+
+#: misc-utils/lsblk.c:835
+#, c-format
+msgid "%s: unknown device name"
+msgstr "%s: neznámý název zařízení"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "%s: nepodařilo inicializovat deskriptor sysfs"
+
+#: misc-utils/lsblk.c:869
+#, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: nepodařilo se získat název device mapperu"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr "adresář zařízení v sysfs se nepodařilo otevřít"
+
+#: misc-utils/lsblk.c:1081
+#, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: zjištění čísla zařízení celého disku selhalo"
+
+#: misc-utils/lsblk.c:1099
+#, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "nezdařilo se sestavit cestu v sysfs pro %s"
+
+#: misc-utils/lsblk.c:1106
+#, c-format
+msgid "%s: failed to read link"
+msgstr "%s: nepodařilo se přečíst odkaz"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, c-format
+msgid "failed to parse list '%s'"
+msgstr "nezdařilo se rozebrat seznam „%s“"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr "seznam vynechaných zařízení je příliš dlouhý (hranice je %d zařízení)"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr "seznam zahrnutých zařízení je příliš dlouhý (hranice je %d zařízení)"
+
+#: misc-utils/lsblk.c:1194
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [přepínače] [zařízení…]\n"
+
+# ???: WTF is holder?
+# ???: Překládat jako „obálka“?
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -a, --all vypíše všechna zařízení\n"
+" -b, --bytes velikosti vypíše v bajtech namísto v podobě vhodné\n"
+" pro člověka\n"
+" -d, --nodeps nevypíše podřízená (slave) a nadřízená (holder) "
+"zařízení\n"
+" -D, --discard popíše schopnost zahazovat data (discard)\n"
+" -e, --exclude <seznam>\n"
+" vynechá zařízení podle hlavního čísla (výchozí: RAM "
+"disky)\n"
+" -I, --include <seznam>\n"
+" zobrazí pouze zařízení se zadanými hlavními čísly\n"
+" -f, --fs vypíše údaje o souborovém systému\n"
+" -h, --help návod k použití (tento)\n"
+" -i, --ascii pouĹľije pouze ASCII znaky\n"
+" -m, --perms vypíše údaje o přístupových právech\n"
+" -l, --list výstup formátuje jako seznam\n"
+" -n, --noheadings nevypíše záhlaví\n"
+" -o, --output <seznam>\n"
+" zobrazí dané sloupce\n"
+" -P, --pairs výstup ve formátu klíč=\"hodnota\"\n"
+" -r, --raw neformátovaný výstup\n"
+" -s, --inverse obrátí závislosti\n"
+" -t, --topology vypíše údaje o topologii\n"
+" -V, --version vypíše údaje o verzi a skončí\n"
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr ""
+"\n"
+"Dostupné sloupce (pro --output):\n"
+
+#: misc-utils/lsblk.c:1231
+#, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "nezdařilo se přistoupit k adresáři v sysfs: %s"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr "příkaz procesu, který drží zámek"
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr "ID procesu, který drží zámek"
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr "druh zámku: FL_FLOCK nebo FL_POSIX."
+
+#: misc-utils/lslocks.c:71
+msgid "size of the lock"
+msgstr "velikost zámku"
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr "přístupový režim k zámku"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr "závaznost zámku: 0 (ne), 1 (nastaveno)"
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr "relativní poloha zámku v bajtech"
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr "poloha konce zámku"
+
+#: misc-utils/lslocks.c:76
+msgid "path of the locked file"
+msgstr "cesta k zamknutému souboru"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "PID se nezdařilo rozebrat"
+
+# Unknown command
+#: misc-utils/lslocks.c:274
+msgid "(unknown)"
+msgstr "(neznámý)"
+
+#: misc-utils/lslocks.c:283
+msgid "failed to parse start"
+msgstr "začátek se nepodařilo rozebrat"
+
+#: misc-utils/lslocks.c:290
+msgid "failed to parse end"
+msgstr "konec se nepodařilo rozebrat"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, c-format
+msgid " %s [options]\n"
+msgstr " %s [PĹEPĂŤNAÄŚ]\n"
+
+# FIXME: Missing comma after -r
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <PID> ID procesu\n"
+" -o, --output <seznam> určuje sloupce na výstupu\n"
+" -n, --noheadings nevypíše záhlaví\n"
+" -r, --raw výpis v syrovém formátu\n"
+" -u, --notruncate nezkracuje text ve sloupcĂ­ch\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+msgid "invalid PID argument"
+msgstr "neplatný argument přepínače --pid"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -f, --file SOUBOR použije soubor jako inicializátor (seed) cookie\n"
+" -v, --verbose vysvětlí, co se právě provádí\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+# TODO: Pluralize
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Obdrženo %d B z %s\n"
+
+#: misc-utils/mcookie.c:158
+#, c-format
+msgid "closing %s failed"
+msgstr "uzavření %s selhalo"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "čtení symbolického odkazu selhalo: %s"
+
+#: misc-utils/namei.c:370
+#, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s – Takový soubor nebo adresář neexistuje\n"
+
+#: misc-utils/namei.c:420
+#, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] NĂZEV_CESTY [NĂZEV_CESTY…]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+" -h, --help zobrazí tuto nápovědu\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -x, --mountpoints vyznačí adresáře bodů připojení pomocí „D“\n"
+" -m, --modes zobrazí u každého souboru bity práv\n"
+" -o, --owners zobrazí u každého souboru jméno vlastníka a skupiny\n"
+" -l, --long použije dlouhý tvar výpisu (-m -o -v) \n"
+" -n, --nosymlinks nenásleduje symbolické odkazy\n"
+" -v, --vertical svislé zarovnání práv a vlastníků\n"
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Více informací naleznete v namei(1).\n"
+
+#: misc-utils/namei.c:493
+msgid "pathname argument is missing"
+msgstr "argument s názvem cesty chybí"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s: omezení symbolických odkazů překročeno"
+
+#: misc-utils/rename.c:54
+#, c-format
+msgid "renaming %s to %s failed"
+msgstr "přejmenování z %s na %s selhalo"
+
+#: misc-utils/rename.c:67
+#, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] VĂťRAZ NĂHRADA SOUBOR…\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose vysvětlí, co se právě vykonává\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -p, --pid <cesta> cesta k souboru s PID\n"
+" -s, --socket <cesta> cesta k socketu\n"
+" -T, --timeout <sekundy> urÄŤĂ­ ÄŤasovĂ˝ limit neÄŤinnosti\n"
+" -k, --kill zabije běžícího démona\n"
+" -r, --random vyzkouší generátor založený na náhodě\n"
+" -t, --time vyzkouší generátor založený na čase\n"
+" -n, --uuids <poÄŤet> poĹľaduje poÄŤet UUID\n"
+" -P, --no-pid nevytváří soubor PID\n"
+" -F, --no-fork nedémonizuje se pomocí dvojitého forku\n"
+" -S, --socket-activation nevytváří socket, na kterém by poslouchal\n"
+" -d, --debug běží v ladicím režimu\n"
+" -q, --quiet zapne tichĂ˝ reĹľim\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "chybné argumenty"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "zápis"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr "naÄŤtenĂ­ poÄŤtu"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "chybná délka odpovědi"
+
+#: misc-utils/uuidd.c:220
+#, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "Nezdařilo se otevřít/vytvořit %s: %m\n"
+
+#: misc-utils/uuidd.c:235
+#, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "Nezdařilo se zamknout %s: %m\n"
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Nebylo možné vytvořit unixový proudový socket: %m"
+
+#: misc-utils/uuidd.c:285
+#, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Nebylo možné přilepit unixový socket %s: %m\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "Démon uuidd již běží pod PID %s\n"
+
+#: misc-utils/uuidd.c:334
+#, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Nebylo možné zahájit naslouchání na unixovém socketu %s: %m\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr "Nepřijat žádný nebo přijato příliš mnoho deskriptorů souborů.\n"
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Chyba při čtení z klienta, délka = %d\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "operace %d, příchozí počet = %d\n"
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr "operace %d\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "Vygenerované časové UUID: %s\n"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "Vygenerované náhodné UUID: %s\n"
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] "Vygenerované časové UUID %s a %d následující\n"
+msgstr[1] "Vygenerované časové UUID %s a %d následující\n"
+msgstr[2] "Vygenerované časové UUID %s a %d následujících\n"
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "Vygenerováno %d UUID:\n"
+msgstr[1] "Vygenerována %d UUID:\n"
+msgstr[2] "Vygenerováno %d UUID:\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Neplatná operace %d\n"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "Neočekávaná délka odpovědi od serveru %d"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Chybné číslo: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr "uuidd byl sestaven bez podpory aktivace socketem.\n"
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr "Zadány přepínače --pid i --no-pid. Ignoruje se --no-pid.\n"
+
+# FIXME: Missing full stop.
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+"Zadány přepínače --socket-activation i --socket. Ignoruje se --socket.\n"
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Chyba při volání démona uuidd (%s): %m\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "%s a %d následující UUID\n"
+msgstr[1] "%s a %d následující UUID\n"
+msgstr[2] "%s a %d následujících UUID\n"
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr "Seznam UUID:\n"
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Zabít uuidd běžícího pod PID %d nebylo možné: %m\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "uuidd běžící pod PID %d byl zabit\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -r, --random vytvoří UUID založené na náhodě\n"
+" -t, --time vytvoří UUID založené na čase\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+" -f <soubor> určuje rozsah hledání\n"
+" -b prohledává pouze binární soubory\n"
+" -B <adresáře> určuje cestu pro hledání binárních souborů\n"
+" -m prohledává pouze cesty manuálových stránek\n"
+" -M <adresáře> určuje cestu pro hledání manuálových stránek\n"
+" -s prohledává pouze cesty se zdroji\n"
+" -S <adresáře> určuje cestu pro hledání zdrojů\n"
+" -u hledá neobvyklé entity\n"
+" -V zobrazí údaje o verzi a skončí\n"
+" -h zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+"Jak se používají argumenty souborů a adresářů se lze dozvědět v manuálu\n"
+"whereis(1).\n"
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "chyba: %s: inicializace testování se nezdařila"
+
+#: misc-utils/wipefs.c:292
+#, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: výmaz magického řetězce %s na pozici 0x%08jx selhal"
+
+# TODO: Pluralize
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr "%s: vymazáno %zd B na pozici 0x%08jx (%s): "
+
+#: misc-utils/wipefs.c:344
+#, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "%s: pozice 0x%jx nenalezena"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all zničí všechny magické řetězce (BUĎTE OPATRNÍ!)\n"
+" -h, --help zobrazí tuto nápovědu\n"
+" -n, --no-act provede vše až na samotné volání write()\n"
+" -o, --offset <číslo> pozice v bajtech, na které se bude mazat\n"
+" -p, --parsable vypisuje v strojově zpracovatelném formátu namísto\n"
+" v přehledné podobě\n"
+" -q, --quiet potlačí zprávy\n"
+" -t, --types <seznam> omezí množinu souborových systémů, diskových polí\n"
+" nebo tabulek rozdělení disku\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"VĂ­ce informacĂ­ naleznete ve wipefs(8).\n"
+
+#: misc-utils/wipefs.c:425
+msgid "invalid offset argument"
+msgstr "neplatný argument přepínače --offset"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "varování: chyba při čtení %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "pozor: %s nelze otevřít: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: %s nelze otevřít – použije se %s\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"zamykací soubor %s nelze vytvořit: %s\n"
+"(použijte přepínač -n pro vynechání zápisu do mtab)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"volání link pro zamykací soubor %s selhalo: %s\n"
+"(použijte přepínač -n pro vynechání zápisu do mtab)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"zamykací soubor %s nelze otevřít: %s\n"
+"(použijte přepínač -n pro vynechání zápisu do mtab)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "ZamykacĂ­ soubor %s nelze zamknout: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "ZamykacĂ­ soubor %s nelze zamknout: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "vypršel čas"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Odkaz %s nelze vytvořit.\n"
+"Není někde zastaralý zamykací soubor?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "nelze otevřít %s (%s) - mtab nebyl aktualizován"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "chyba při zápisu %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: změny nelze zapsat pomocí fflush: %s"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "chyba při změně módu %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "chyba při změně vlastníka %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "%s nelze přejmenovat na %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount: pozor: Do /etc/mtab nelze zapsat (například systém souborů je pouze\n"
+" pro čtení). Je možné, že údaje hlášené nástrojem mount(8) nebudou\n"
+" aktuální. Aktuální informace o přípojných bodech lze zjistit\n"
+" v souboru /proc/mounts.\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: řetězec přepínačů „%s“ je nesprávně uzavřen do uvozovek"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: %s přeloženo z „%s“ na „%s“\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr "mount: Při přepojení se volby SELinuxu *context= ignorují.\n"
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: podle mtab je %s již připojeno na %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: podle mtab je %s připojeno na %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: %s nelze otevřít pro zápis: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: chyba při zápisu %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: chyba při změně módu %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: ÄŤĂ­slo skupiny (GID) nelze nastavit: %m"
+
+#: mount-deprecated/mount.c:813
+#, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: ÄŤĂ­slo uĹľivatele (UID) nelze nastavit: %m"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: volání fork selhalo: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Používám %s.\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: nezadal jste typ systému souborů pro %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Vyzkouším všechny typy v %s či %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " a vypadá to, že se jedná o odkládací prostor\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Vyzkouším typ %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s vypadá jako odkládací prostor - nepřipojeno"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+"mount: %s: nalezeno více souborových systémů. To by se nemělo stát.\n"
+" Explicitně uveďte druh souborového systému pomocí „-t DRUH“ nebo\n"
+" vyčistěte zařízení pomocí wipefs(8).\n"
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "připojení se nezdařilo"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: pouze superuživatel může připojit %s na %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: zařízení loop bylo zadáno dvakrát"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: typ byl zadán dvakrát"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: přeskakuji nastavení loop zařízení\n"
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: zapíná se automatické odstranění příznaku loopdev\n"
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "mount: zadán neplatná pozice „%s“"
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "mount: zadáno neplatné omezení délky „%s“"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: podle mtab je %s již připojeno na %s jako loop"
+
+#: mount-deprecated/mount.c:1314
+msgid "mount: couldn't lock into memory"
+msgstr "mount: nebylo možné zamknout v paměti"
+
+#: mount-deprecated/mount.c:1334
+msgid "mount: failed to found free loop device"
+msgstr "mount: nepodařilo se najít volné zařízení loop"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: chystám se použít zařízení loop %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: %s: nepodařilo se nastavit vlastnosti zařízení loop"
+
+#: mount-deprecated/mount.c:1364
+#, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: %s: nepodařilo se nastavit zařízení loop: %m"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: ukradený loop=%s … zkusí se znovu\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: ukradenĂ˝ loop=%s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: zařízení loop bylo korektně nastaveno\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s nebylo nalezeno - vytvářím jej..\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argument přepínačů -p a --pass-fd musí být číslo"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: %s nelze otevřít za účelem nastavení rychlosti"
+
+#: mount-deprecated/mount.c:1473
+#, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: rychlost nelze nastavit: %m"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: podle mtab je %s již připojeno do %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "mount: pozor: %s se zdá být připojen pro čtení i zápis.\n"
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "mount: pozor: %s se zdá být připojen jen pro čtení.\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount: typ systému souborů nebyl zadán a ani jej nelze zjistit"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: musíte zadat typ systému souborů"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: připojení se nezdařilo"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: přípojný bod %s není adresářem"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: přístup odmítnut"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: mount může používat pouze superuživatel"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s se používá"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc je již připojeno"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s je již připojeno, či je %s již používáno"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: přípojný bod %s neexistuje"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: přípojný bod %s je symbolickým odkazem, jenž nikam neukazuje"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: speciální zařízení %s neexistuje"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: speciální zařízení %s neexistuje\n"
+" (název cesty nezačíná adresářem)\n"
+
+#: mount-deprecated/mount.c:1756
+#, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s není připojeno či chybný přepínač"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: chybný typ SS, chybný přepínač, chybný superblok na %s,\n"
+" chybí kódová stránka nebo pomocný program nebo jiná chyba"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (pro většinou souborových systému (např. nfs, cifs) budete\n"
+" potřebovat pomocný program /sbin/mount.<TYP>)"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (mohlo by se jednat o IDE zařízení, kde ve skutečnosti používáte\n"
+" ide-scsi, takže je potřeba sr0 nebo sda nebo něco na ten způsob?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr " (nepokoušíte se připojit rozšířený oddíl namísto logického?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" V jistých případech lze najít potřebné informace v systémovém\n"
+" protokolu – zkuste například „dmesg | tail“ \n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "tabulka připojení je plná"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: superblok nelze přečíst"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: blokové zařízení %s je neznámé"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: neznámý systém souborů „%s“"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: pravděpodobně jste myslel %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: možná jste myslel „iso9660“?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: možná jste myslel „vfat“?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr "mount: %s má chybné číslo zařízení, či ss typ %s není podporován"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s není blokovým zařízením a volání stat selhalo?"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: jádro nerozpoznalo %s jako blokové zařízení\n"
+" (možná „modprobe ovladač“?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s není blokovým zařízením (možná pomůže „-o loop“?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s není blokovým zařízením"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s není platným blokovým zařízením"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "blokové zařízení"
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "umount: %s%s nelze připojit v režimu pouze pro čtení"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s je chráněno proti zápisu, připojuji pouze pro čtení"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+"umount: %s%s nelze znovu připojit pro čtení i zápis, protože je chráněn "
+"proti zápisu"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s je chráněno proti zápisu, připojuji pouze pro čtení"
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: v %s nenalezeno žádné médium"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+"mount: %s neobsahuje znaÄŤky SELinuxu.\n"
+" Právě jste připojili souborový systém, který značky podporuje, ale\n"
+" neobsahuje ani jednu, do stroje s podporou SELinuxu. Je "
+"pravděpodobné,\n"
+" že omezené aplikace budou generovat zprávy AVC a nebude jim dovoleno\n"
+" přistoupit na tento systém souborů. Další rady lze nalézt\n"
+" v restorecon(8) a mount(8).\n"
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: nebyl zadán typ - budu používat nfs kvůli dvojtečce\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount: nebyl zadán typ - budu předpokládat cifs kvůli předponě //\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr "mount: %s se ignoruje (nerozebratelná volba offset=)\n"
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s je již připojeno na %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Použití: mount -V : vypíše informace o verzi\n"
+" mount -h : vypíše tuto nápovědu\n"
+" mount : zobrazí seznam připojených systémů "
+"souborĹŻ\n"
+" mount -l : totéž plus jmenovky svazků\n"
+"Toto byly přepínače sloužící k získání informací. Nyní k přepínačům "
+"sloužícím\n"
+"k připojování systémů souborů.\n"
+"Syntaxe je „mount [-t SSTYP] NĚCO NĚKAM“.\n"
+"Údaje obsažené v /etc/fstab mohou být vynechány.\n"
+" mount -a [-t|-O] … : připojí veškeré položky z /etc/fstab\n"
+" mount ZAĹĂŤZENĂŤ : pĹ™ipojĂ­ ZAĹĂŤZENĂŤ na známĂ© mĂ­sto\n"
+" mount ADRESĂĹ : pĹ™ipojĂ­ známĂ© zařízenĂ­ k ADRESĂĹI\n"
+" mount -t TYP ZAŠADR : běžná podoba příkazu pro připojení\n"
+"Uvědomte si, že tím, co se připojuje, ve skutečnosti není zařízení, ale "
+"systém\n"
+"souborů (daného typu), který se na tomto zařízení nachází.\n"
+"Můžete také připojit již přístupný adresářový strom na jiné místo:\n"
+" mount --bind STARĂť_ADRESĂĹ NOVĂť_ADRESĂĹ\n"
+"nebo přesunout podstrom:\n"
+" mount --move STARĂť_ADRESĂĹ NOVĂť_ADRESĂĹ\n"
+"Můžete změnit typ připojení obsahující adresář ADR:\n"
+" mount --make-shared ADR\n"
+" mount --make-slave ADR\n"
+" mount --make-private ADR\n"
+" mount --make-unbindable ADR\n"
+"Můžete změnit typ všech připojení v podstromu připojení\n"
+"obsahující adresář ADR:\n"
+" mount --make-rshared ADR\n"
+" mount --make-rslave ADR\n"
+" mount --make-rprivate ADR\n"
+" mount --make-runbindable ADR\n"
+"Zařízení může být udáno jménem (např. /dev/hda1 či /dev/cdrom), jmenovkou\n"
+"(pomocí přepínače -L JMENOVKA) nebo UUID (pomocí přepínače -U UUID).\n"
+"Další přepínače: [-nfFrsvw] [-o VOLBY] [-p DESKRIPTOR_S_HESLEM].\n"
+"Mnoho dalších informací získáte příkazem „man 8 mount“.\n"
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: toto může provést pouze superuživatel (efektivní UID je %u)"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: toto může provést pouze superuživatel"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "nebyl připojen žádný oddíl"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: žádný odpovídající oddíl nebyl nalezen"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %s nelze nalézt v %s ani %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: varování: %s není ukončeno novou řádkou\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: řádek %d v %s je chybný%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; ignoruji zbytek souboru"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "chyba ve volání xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "Nedostatek paměti"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount byl přeložen bez podpory pro -f\n"
+
+#: mount-deprecated/umount.c:139
+#, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: ÄŤĂ­slo skupiny (GID) nelze nastavit: %m"
+
+#: mount-deprecated/umount.c:142
+#, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: ÄŤĂ­slo uĹľivatele (UID) nelze nastavit: %m"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: volání fork selhalo: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: blokové zařízení %s je chybné"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s není připojeno"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: superblok nelze na %s zapsat"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: zařízení je používáno.\n"
+" (V některých případech lze získat užitečné informace o procesech,\n"
+" které se zařízením pracují, pomocí nástrojů lsof(8) a fuser(1).)"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s nelze najĂ­t"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: musíte být superuživatelem, abyste mohl odpojit %s"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: bloková zařízení nejsou na systému souborů povolena"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr "umount: vnitřní chyba: nepatní absolutní cesta: %s"
+
+#: mount-deprecated/umount.c:254
+#, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "umount: do adresáře %s nelze přejít: %m"
+
+#: mount-deprecated/umount.c:257
+#, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "umount: aktuální adresář nelze zjistit: %m"
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "umount: přípojný bod přemístěn (%s → %s)"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr "aktuální adresář přemístěn do %s\n"
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "nenalezl jsem umount2, zkouším umount…\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+"umount: %s je právě používáno - znovu připojeno v režimu pro pouze čtení\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: %s nelze znovu připojit v režimu pouze pro čtení\n"
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s bylo odpojeno\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: seznam systémů souborů na odpojení nelze nalézt"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"PouĹľitĂ­: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t TYPY_VFS] [-O VOLBY]\n"
+" umount [-d] [-f] [-r] [-n] [-v] SPECIĂLNĂŤ_SOUBOR | UZEL…\n"
+
+#: mount-deprecated/umount.c:558
+#, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "nezdařilo rozebrat volby „offset=%s“\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "zařízení %s je spojeno s %s\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "zařízení %s není spojeno s %s\n"
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr "„“ nelze odpojit\n"
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Zkouší se odpojit %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: analýza mtab dává matoucí výsledky"
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr "umount: %s nelze odpojit – na stejné místo je přes něj připojeno %s"
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "%s nelze v mtab najĂ­t\n"
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr "%s je spojeno s %s\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr "umount: pozor: %s je spojeno s více jak jedním loop zařízením\n"
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: podle mtab není %s připojeno"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: zdá se, že %s je připojeno více než jednou"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s nenĂ­ ve fstab (a vy nejste root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: připojení %s neodpovídá fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "unmount: pouze uĹľivatel %s mĹŻĹľe odpojit %s ze %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: toto může provést pouze uživatel root"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+"\n"
+"chrt – zachází s vlastnostmi procesu týkajících se plánování v reálném čase\n"
+"\n"
+"NastavĂ­ politiku:\n"
+" chrt [PĹEPĂŤNAÄŚE] <POLITIKA> <PRIORITA> {<PID> | <PĹĂŤKAZ> [<ARGUMENT>…]}\n"
+"\n"
+"Získá politiku:\n"
+" chrt [PĹEPĂŤNAÄŚE] {<PID> | <PĹĂŤKAZ> [<ARGUMENT>…]}\n"
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+"\n"
+"Politiky plánování:\n"
+" -b | --batch nastaví politiku na SCHED_BATCH (dávka)\n"
+" -f | --fifo nastavĂ­ politiku na SCHED_FIFO (fronta)\n"
+" -i | --idle nastaví politiku na SCHED_IDLE (zahálení)\n"
+" -o | --other nastaví politiku na SCHED_OTHER (jiná)\n"
+" -r | --rr nastavĂ­ politiku na SCHED_RR (implicitnĂ­)\n"
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+"\n"
+"Příznaky plánování:\n"
+" -R | --reset-on-fork u FIFO nebo RR nastaví SCHED_RESET_ON_FORK\n"
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -a | --all-tasks pracuje nad všemi úlohami (vlákny) s PID\n"
+" -h | --help zobrazí tuto nápovědu\n"
+" -m | --max zobrazí minimální a maximální platné priority\n"
+" -p | --pid pracuje nad existujícím procesem s PID\n"
+" -v | --verbose zobrazí stavové informace\n"
+" -V | --version vypíše údaje o verzi\n"
+"\n"
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "nepodařilo se získat politiku procesu %d"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "nová plánovací politika procesu %d: "
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "stávající plánovací politika procesu %d: "
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr "nová politika plánování"
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "nepodařilo se získat vlastnosti procesu %d"
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "nová plánovací priorita procesu %d: %d\n"
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "stávající plánovací priorita procesu %d: %d\n"
+
+# First argument just completes literal policy name
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "SCHED_%s min./max. priorita\t: %d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s není podporována?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+msgid "cannot obtain the list of tasks"
+msgstr "nelze zĂ­skat seznam Ăşloh"
+
+#: schedutils/chrt.c:299
+msgid "invalid priority argument"
+msgstr "neplatnĂ˝ argument priority"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+"Příznak SCHED_RESET_ON_FORK je podporován jen u politik SCHED_FIFO a SCHED_RR"
+
+#: schedutils/chrt.c:323
+#, c-format
+msgid "failed to set tid %d's policy"
+msgstr "politiku vlákna s TID %d se nepodařilo nastavit"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "politiku procesu %d se nepodařilo nastavit"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "spuštění %s selhalo"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "volání ioprio_get selhalo"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "volání ioprio_set selhalo"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"%1$s – zjistí nebo nastaví plánovací třídu nebo prioritu I/O.\n"
+"\n"
+"PouĹľitĂ­:\n"
+" %1$s [PĹEPĂŤNAÄŚ] -p PID [PID…]\n"
+" %1$s [PĹEPĂŤNAÄŚ] PĹĂŤKAZ\n"
+"\n"
+"Přepínače:\n"
+" -c, --class TĹĂŤDA název nebo ÄŤĂ­slo plánovacĂ­ třídy\n"
+" 0: none [žádná], 1: realtime [reálný čas],\n"
+" 2: best-effort, 3: idle [zahálení]\n"
+" -n, --classdata ČÍSLO data plánovací třídy\n"
+" 0-7 přo třídy reálného času a best-effort\n"
+" -p, --pid=PID zobrazí nebo změní již běžící proces\n"
+" -t, --ignore ignoruje selhání\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu\n"
+"\n"
+
+#: schedutils/ionice.c:148
+msgid "invalid class data argument"
+msgstr "neplatný argument dat plánovací třídy"
+
+#: schedutils/ionice.c:154
+msgid "invalid class argument"
+msgstr "neplatný argument plánovací třídy"
+
+#: schedutils/ionice.c:159
+#, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "neznámá plánovací třída: „%s“"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr "u třídy žádná se ignorují zadaná data třídy"
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr "u třídy zahálení [idle] se ignorují zadaná data třídy"
+
+#: schedutils/ionice.c:196
+#, c-format
+msgid "unknown prio class %d"
+msgstr "neznámá prioritní třída %d"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "spuštění %s selhalo"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+"PouĹľitĂ­: %s [PĹEPĂŤNAÄŚE] [MASKA | SEZNAM_CPU] [PID | PĹĂŤKAZ [ARGUMENT…]]\n"
+"\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+"Přepínače:\n"
+" -a, --all-tasks pracuje nad všemi úlohami (vlákny) zadaného PID\n"
+" -p, --pid pracuje nad existujícím zadaným PID\n"
+" -c, --cpu-list zobrazĂ­ a urÄŤĂ­ CPU jako seznam\n"
+" -h, --help zobrazí tuto nápovědu\n"
+" -V, --version zobrazí údaje o verzi\n"
+"\n"
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+"Implicitní chování je spuštění nového příkazu:\n"
+" %1$s 03 sshd -b 1024\n"
+"Masku existujĂ­cĂ­ Ăşlohy lze zjistit takto:\n"
+" %1$s -p 700\n"
+"Nebo ji lze nastavit:\n"
+" %1$s -p 03 700\n"
+"Zápis ve tvaru seznamu (místo masky) používá jako oddělovač čárku:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Rozsahy v seznamu mohou mít jako argument krok:\n"
+" např. 0-31:2 je shodné s maskou 0x55555555\n"
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"Více informací naleznete v taskset(1).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr "seznam nové afinity procesu %d: %s\n"
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr "seznam současné afinity procesu %d: %s\n"
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr "maska nové afinity procesu %d: %s\n"
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr "maska současné afinity procesu %d: %s\n"
+
+#: schedutils/taskset.c:97
+msgid "conversion from cpuset to string failed"
+msgstr "převod z cpuset na řetězec selhal"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "nepodařilo se získat afinitu procesu s PID %d"
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "afinitu procesu %d se nepodařilo nastavit"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "nelze zjistit poÄŤet CPU, ÄŤinnost ukonÄŤena"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr "alokace cpuset_alloc selhala"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "seznam CPU se nezdařilo rozebrat: %s"
+
+#: schedutils/taskset.c:217
+#, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "masku CPU se nezdařilo rozebrat: %s"
+
+#: sys-utils/arch.c:79
+msgid "uname failed"
+msgstr "funkce uname selhala"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, c-format
+msgid "CPU %d does not exist\n"
+msgstr "CPU %d neexistuje\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr "CPU %d není vyměnitelné za běhu\n"
+
+#: sys-utils/chcpu.c:88
+#, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "CPU %d jiĹľ je zapnuto\n"
+
+#: sys-utils/chcpu.c:92
+#, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "CPU %d je jiĹľ vypnuto\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr "ZapnutĂ­ CPU %d selhalo (CPU je odnastaveno)\n"
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr "ZapnutĂ­ CPU %d selhalo (%m)\n"
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr "CPU %d zapnuto\n"
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr "Vypnutí CPU %d selhalo (poslední zapnuté CPU)\n"
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr "VypnutĂ­ CPU %d selhalo (%m)\n"
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr "CPU %d vypnuto\n"
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr "Tento systém nepodporuje opakované hledání CPU"
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Spuštění hledání CPU selhalo"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr "Hledání CPU spuštěno\n"
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr "Tento systém nepodporuje nastavování režimu rozhodování CPU"
+
+#: sys-utils/chcpu.c:142
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Selhalo nastavení vodorovného režimu rozhodování"
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Vodorovný režim rozhodování úspěšně nastaven\n"
+
+#: sys-utils/chcpu.c:146
+msgid "Failed to set vertical dispatch mode"
+msgstr "Selhalo nastavení svislého režimu rozhodování"
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Svislý režim rozhodování úspěšně nastaven\n"
+
+#: sys-utils/chcpu.c:165
+#, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "CPU %d není nastavitelné\n"
+
+#: sys-utils/chcpu.c:170
+#, c-format
+msgid "CPU %d is already configured\n"
+msgstr "CPU %d je jiĹľ nastaveno\n"
+
+#: sys-utils/chcpu.c:174
+#, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "CPU %d je jiĹľ odnastaveno\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr "OdnastavenĂ­ CPU %d selhalo (CPU je zapnuto)\n"
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "NastavenĂ­ CPU %d selhalo (%m)\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr "CPU %d nastaveno\n"
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "OdnastavenĂ­ CPU %d selhalo (%m)\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr "CPU %d odnastaveno\n"
+
+#: sys-utils/chcpu.c:208
+#, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "neplatné číslo CPU v seznamu CPU: %s"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [přepínače]\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -h, --help zobrazí tuto nápovědu\n"
+" -e, --enable <seznam_CPU> zapne CPU\n"
+" -d, --disable <seznam_CPU> vypne CPU\n"
+" -c, --configure <seznam_CPU> nastavĂ­ CPU\n"
+" -g, --deconfigure <seznam_cpu> odnastavĂ­ CPU\n"
+" -p, --dispatch <režim> nastaví režim rozhodování\n"
+" -r, --rescan spustí hledání CPU\n"
+" -V, --version vypíše údaje o verzi a skončí\n"
+
+#: sys-utils/chcpu.c:300
+#, c-format
+msgid "unsupported argument: %s"
+msgstr "nepodporovanĂ˝ argument: %s"
+
+#: sys-utils/ctrlaltdel.c:21
+#, c-format
+msgid " %s <hard|soft>\n"
+msgstr " %s <hard|soft>\n"
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Musíte být root, abyste mohli nastavit chování Ctrl-Alt-Del"
+
+#: sys-utils/cytune.c:92
+#, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr " %s [přepínače] <TTY> […]\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+" -s, --set-threshold <číslo> nastaví prahovou hodnotu přerušení\n"
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+" -g, --get-threshold zobrazĂ­ souÄŤasnou prahovou hodnotu\n"
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+" -S, --set-default-threshold <číslo> nastaví výchozí prahovou hodnotu\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+" -t, --set-flush <číslo> nastaví časový limit pro vyprázdnění\n"
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+" -G, --get-glush zobrazí výchozí časový limit pro "
+"vyprázdnění\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+" -T, --set-default-flush <číslo> nastaví výchozí výchozí časový limit\n"
+" pro vyprázdnění\n"
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr " -q, --stats zobrazĂ­ statistiku o tomto TTY\n"
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+" -i, --interval <sekundy> sebere statistické údaje každých "
+"<sekund>\n"
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Soubor %s, pro prahovou hodnotu %lu, maximální počet znaků ve frontě\n"
+"byl %d a maximální přenosová rychlost ve znacích za sekundu byla %f"
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Soubor %s, pro prahovou hodnotu %lu a časový limit %lu, maximální počet "
+"znakĹŻ\n"
+"ve frontě byl %d a maximální přenosová rychlost ve znacích za sekundu\n"
+"byla %f"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "volání gettimeofday selhalo"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "CYGETMON nelze na %s provést"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, c-format
+msgid "cannot get threshold for %s"
+msgstr "prahovou hodnotu pro %s nelze zjistit"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, c-format
+msgid "cannot get timeout for %s"
+msgstr "ÄŤasovĂ˝ limit pro %s nelze zjistit"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu přerušení, %lu/%lu znaků; fifo: %lu práh, %lu časový limit, %lu max, "
+"%lu nynĂ­\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f přer./s; %f příj., %f odesl. (znak/s)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu přerušení, %lu znaků; fifo: %lu práh, %lu časový limit, %lu max, %lu "
+"nynĂ­\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f přer./s; %f příj. (znak/s)\n"
+
+#: sys-utils/cytune.c:326
+msgid "Invalid interval value"
+msgstr "Chybná hodnota rozpětí"
+
+#: sys-utils/cytune.c:328
+#, c-format
+msgid "Invalid interval value: %d"
+msgstr "Chybná hodnota rozpětí: %d"
+
+#: sys-utils/cytune.c:335
+msgid "Invalid set value"
+msgstr "Chybná hodnota k nastavení"
+
+#: sys-utils/cytune.c:337
+#, c-format
+msgid "Invalid set value: %d"
+msgstr "Chybná hodnota k nastavení: %d"
+
+#: sys-utils/cytune.c:344
+msgid "Invalid default value"
+msgstr "Chybná výchozí hodnota"
+
+#: sys-utils/cytune.c:346
+#, c-format
+msgid "Invalid default value: %d"
+msgstr "Chybná výchozí hodnota: %d"
+
+#: sys-utils/cytune.c:354
+msgid "Invalid set time value"
+msgstr "Chybný časový údaj k nastavení"
+
+#: sys-utils/cytune.c:356
+#, c-format
+msgid "Invalid set time value: %d"
+msgstr "Chybný časový údaj k nastavení: %d"
+
+#: sys-utils/cytune.c:364
+msgid "Invalid default time value"
+msgstr "Chybný výchozí časový údaj"
+
+#: sys-utils/cytune.c:366
+#, c-format
+msgid "Invalid default time value: %d"
+msgstr "Chybný výchozí časový údaj: %d"
+
+#: sys-utils/cytune.c:409
+#, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "%s nelze nastavit na prahovou hodnotu %d"
+
+#: sys-utils/cytune.c:423
+#, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "%s nelze nastavit na ÄŤasovĂ˝ limit %d"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld současná prahová hodnota a %ld současný časový limit\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld výchozí prahová hodnota a %ld výchozí časový limit\n"
+
+#: sys-utils/dmesg.c:72
+msgid "system is unusable"
+msgstr "systém je nepoužitelný"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr "je třeba okamžité reakce"
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr "kritickĂ˝ stav"
+
+#: sys-utils/dmesg.c:75
+msgid "error conditions"
+msgstr "chybovĂ˝ stav"
+
+#: sys-utils/dmesg.c:76
+msgid "warning conditions"
+msgstr "stav stojĂ­cĂ­ za pozornost"
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr "běžná, ale významná událost"
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr "informaÄŤnĂ­"
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr "ladicí zprávy"
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr "jaderné zprávy"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr "náhodné uživatelské zprávy"
+
+#: sys-utils/dmesg.c:95
+msgid "mail system"
+msgstr "poštovní systém"
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr "systémoví démoni"
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr "bezpečnostní/autorizační zprávy"
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr "zprávy vnitřně vytvořené démonem syslogd"
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr "tiskový podsystém"
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr "podsystém usenetu (news)"
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr "podsystém UUCP"
+
+#: sys-utils/dmesg.c:102
+msgid "clock daemon"
+msgstr "časový démon"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr "bezpečnostní/autorizační zprávy (soukromé)"
+
+# TODO: Capitalize FTP
+#: sys-utils/dmesg.c:104
+msgid "ftp daemon"
+msgstr "démon FTP"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+" -C, --clear vyprázdní kruhový buffer v jádře\n"
+" -c, --read-clear přečte a vyprázdní zprávy\n"
+" -D, --console-off vypne vypisování zpráv do konzoly\n"
+" -d, --show-delta ukáže časové rozdíly mezi hláškami\n"
+" -e, --reltime ukáže místní čas a časový rozdíl v čitelné "
+"podobÄ›\n"
+" -E, --console-on zapne vypisování zpráv do konzoly\n"
+" -F, --file <soubor> použije zadaný soubor místo jaderného bufferu\n"
+" -f, --facility <seznam> výstup omezí na zadané obory\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+" -k, --kernel zobrazí jaderné zprávy\n"
+" -l, --level <seznam> výstup omezí na zadané úrovně\n"
+" -n, --console-level <ĂşroveĹ> nastavĂ­ ĂşroveĹ zpráv vypisovanĂ˝ch do konzoly\n"
+" -r, --raw vypíše buffer zpráv v neopracované podobě\n"
+" -S, --syslog vynutĂ­ pouĹľitĂ­ syslog(2) mĂ­sto /dev/kmsg\n"
+" -s, --buffer-size <velikost> velikost bufferu, na kterĂ˝ se zeptat "
+"jaderného\n"
+" kruhové bufferu\n"
+" -T, --ctime ukáže časové údaje v podobně vhodné pro "
+"člověka\n"
+" (může být nepřesné, použili-li jste uspání/\n"
+" probuzenĂ­)\n"
+" -t, --notime nevypisuje časy zpráv\n"
+" -u, --userspace vypíše zprávy z uživatelského prostoru\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -w, --follow čeká na nové zprávy\n"
+" -x, --decode obory a úrovně převede na čitelné řetězce\n"
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+"\n"
+"Podporované obory protokolu:\n"
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+"\n"
+"Podporované úrovně (priority) protokolu:\n"
+
+#: sys-utils/dmesg.c:260
+#, c-format
+msgid "failed to parse level '%s'"
+msgstr "nezdařilo se rozebrat úroveŠ„%s“"
+
+#: sys-utils/dmesg.c:262
+#, c-format
+msgid "unknown level '%s'"
+msgstr "neznámá úroveŠ„%s“"
+
+#: sys-utils/dmesg.c:298
+#, c-format
+msgid "failed to parse facility '%s'"
+msgstr "nezdařilo se rozebrat obor „%s“"
+
+#: sys-utils/dmesg.c:300
+#, c-format
+msgid "unknown facility '%s'"
+msgstr "neznámý obor „%s"
+
+#: sys-utils/dmesg.c:415
+msgid "sysinfo failed"
+msgstr "volání sysinfo selhalo"
+
+#: sys-utils/dmesg.c:442
+#, c-format
+msgid "cannot mmap: %s"
+msgstr "nelze namapovat do paměti: %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+msgid "write failed"
+msgstr "zápis selhal"
+
+#: sys-utils/dmesg.c:1132
+msgid "invalid buffer size argument"
+msgstr "neplatnĂ˝ argument velikosti bufferu"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+"přepínač --raw nelze použít spolu s level, facility, decode, delta, ctime "
+"nebo notime"
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr "přepínač --noatime nelze použít spolu s --ctime nebo --reltime"
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr "přepínač --reltime nelze použít spolu s --ctime "
+
+#: sys-utils/dmesg.c:1192
+msgid "read kernel buffer failed"
+msgstr "čtení z jaderného bufferu selhalo"
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr "nepodporovaný příkaz"
+
+#: sys-utils/dmesg.c:1211
+msgid "klogctl failed"
+msgstr "volání klogctl selhalo"
+
+#: sys-utils/eject.c:135
+#, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr " %s [přepínače] [<zařízení>|<bod_připojení>]\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+" -a, --auto <on|off> zapne (on) / vypne (off) automatické vysouvání\n"
+" -c, --changerslot <pozice> vymění disk v CD-ROM měniči\n"
+" -d, --default zobrazí výchozí zařízení\n"
+" -f, --floppy vysune disketu\n"
+" -F, --force nestará se o typ zařízení\n"
+" -i, --manualeject <on|off> zapne (on) / vypne (off) ochrnu proti ruÄŤnĂ­mu\n"
+" vysunutĂ­\n"
+" -m, --no-unmount neodpojí zařízení, i když je připojeno\n"
+" -M, --no-partitions-unmount neodpojí další oddíly\n"
+" -n, --noop nevysunuje, jen ukáže, jestli zařízení "
+"existuje\n"
+" -p, --proc pouĹľije /proc/mounts mĂ­sto /etc/mtab\n"
+" -q, --tape vysune pásku\n"
+" -r, --cdrom vysune CD-ROM\n"
+" -s, --scsi vysune SCSI zařízení\n"
+" -t, --trayclose zavře dvířka\n"
+" -T, --traytoggle změní polohu dvířek\n"
+" -v, --verbose povolí podrobná hlášení\n"
+" -x, --cdspeed <rychlost nastaví nejvyšší rychlost CD-ROM\n"
+" -X, --listspeed vypíše dostupné rychlosti CD-ROM\n"
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+"\n"
+"Jako výchozí se zkouší -r, -s, -f a -q v tomto pořadí, dokud neuspěje.\n"
+
+#: sys-utils/eject.c:208
+msgid "invalid argument to --auto/-a option"
+msgstr "neplatný argument přepínače --auto/-a"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr "neplatný argument přepínače --changerslot/-c"
+
+#: sys-utils/eject.c:216
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "neplatný argument přepínače --cdspeed/-x"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr "neplatný argument přepínače --manualeject/-i"
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr "příkaz pro automatické vysunutí CD-ROM selhal"
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr "příkaz pro zamknutí dvířek CD-ROM selhal"
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr "Jednotka CD NESMÍ být za pomoci tlačítka vysunována"
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr "Jednotka CD smí být za pomoci tlačítka vysunována"
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr "příkaz pro volbu disku CD-ROM selhal"
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr "příkaz pro načtení CD-ROM ze zásobníku měniče selhal"
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr "toto jádro nepodporuje IDE/ATAPI CD-ROM měnič\n"
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr "příkaz pro zavření dvířek CD-ROM selhal"
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "toto jádro nepodporuje příkaz pro zavření dvířek CD-ROM\n"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr "vysunování CD-ROM není podporováno"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr "příkaz pro vysunutí CD-ROM selhal"
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr "údaje o CD-ROM nejsou dostupné"
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr "Jednotka CD-ROM není připravena"
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr "příkaz pro volbu rychlosti CD-ROM selhal"
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "toto jádro nepodporuje příkaz pro volbu rychlosti CD-ROM"
+
+#: sys-utils/eject.c:521
+#, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: chyba při vyhledávání názvu CD-ROM"
+
+#: sys-utils/eject.c:536
+#, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: nepodařilo se přečíst rychlost"
+
+#: sys-utils/eject.c:544
+msgid "failed to read speed"
+msgstr "nepodařilo se přečíst rychlost"
+
+#: sys-utils/eject.c:588
+msgid "not an sg device, or old sg driver"
+msgstr "není SG zařízením, nebo se jedná o starý SG ovladač"
+
+#: sys-utils/eject.c:650
+#, c-format
+msgid "%s: unmounting"
+msgstr "%s: odpojuje se"
+
+#: sys-utils/eject.c:658
+msgid "eject: cannot set user id"
+msgstr "eject: ÄŤĂ­slo uĹľivatele (UID) nelze nastavit"
+
+#: sys-utils/eject.c:665
+#, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "nelze spustit /bin/umount nad „%s“"
+
+#: sys-utils/eject.c:668
+msgid "unable to fork"
+msgstr "nelze rozvětvit proces"
+
+#: sys-utils/eject.c:675
+#, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "odpojení „%s“ neskončilo normálně"
+
+#: sys-utils/eject.c:678
+#, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "odpojení „%s“ selhalo\n"
+
+#: sys-utils/eject.c:719
+msgid "failed to parse mount table"
+msgstr "tabulku připojení se nepodařilo rozebrat"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, c-format
+msgid "%s: mounted on %s"
+msgstr "%s: připojeno do %s"
+
+#: sys-utils/eject.c:877
+#, c-format
+msgid "%s: is removable device"
+msgstr "%s: jedná se o výměnné zařízení"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr "%s: připojeno podsystémem hotplug: %s"
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr "rychlost CD-ROM se nastavuje na automatickou"
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr "rychlost CD-ROM se nastavuje na %ldĂ—"
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr "výchozí zařízení: „%s“"
+
+#: sys-utils/eject.c:952
+#, c-format
+msgid "using default device `%s'"
+msgstr "používá se výchozí zařízení „%s“"
+
+#: sys-utils/eject.c:971
+#, c-format
+msgid "%s: unable to find device"
+msgstr "%s: zařízení nelze nalézt"
+
+#: sys-utils/eject.c:973
+#, c-format
+msgid "device name is `%s'"
+msgstr "název zařízení je „%s“"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, c-format
+msgid "%s: not mounted"
+msgstr "%s: nepřipojeno"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr "%s: zařízení disku: %s (zařízení disku se použije pro vysunutí)"
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr "%s: nebyl nalezen bod připojení nebo zařízení se zadaným jménem"
+
+#: sys-utils/eject.c:994
+#, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: jedná se o zařízení přes celý disk"
+
+#: sys-utils/eject.c:998
+#, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: není zařízením, které lze za běhu zapojit"
+
+#: sys-utils/eject.c:1002
+#, c-format
+msgid "device is `%s'"
+msgstr "zařízení je „%s“"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr "končí se na základě volby -n/--noop"
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr "%s: povoluje režim automatického vysunutí"
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr "%s: zakazuje se režim automatického vysunutí"
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr "%s: zavírají se dvířka"
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr "%s: dvířka se přesunují"
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr "%s: vypisujĂ­ se rychlosti CD-ROM"
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr "chyba: %s: zařízení se právě používá"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr "%s: volí se CD-ROM disk č. %ld"
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr "%s: zkouší se vysunout s použitím příkazu pro vysunutí CD-ROM"
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr "příkaz pro vysunutí CD-ROM uspěl"
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr "%s: zkouší se vysunout s použitím příkazů SCSI"
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr "příkaz SCSI pro vysunutí uspěl"
+
+#: sys-utils/eject.c:1103
+msgid "SCSI eject failed"
+msgstr "příkaz SCSI pro vysunutí selhal"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr "%s: zkouší se vysunout s použitím příkazu pro vysunutí diskety"
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr "příkaz pro vysunutí diskety uspěl"
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr "příkaz pro vysunutí diskety selhal"
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr "%s: zkouší se vysunout s použitím příkazu pro odpojení pásky"
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr "příkaz pro odpojení pásky uspěl"
+
+#: sys-utils/eject.c:1117
+msgid "tape offline command failed"
+msgstr "příkaz pro odpojení pásky selhal"
+
+#: sys-utils/eject.c:1121
+msgid "unable to eject"
+msgstr "nelze vysunout"
+
+#: sys-utils/fallocate.c:60
+#, c-format
+msgid " %s [options] <filename>\n"
+msgstr " %s [přepínače] <název_souboru>\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+" -n, --keep-size nemění délku souboru\n"
+" -p, --punch-hole vyrazĂ­ do souboru dĂ­ry\n"
+" -o, --offset <číslo> pozice alokace v bajtech\n"
+" -l, --length <číslo> délka alokace v bajtech\n"
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr "nezadán argument s délkou"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr "zadána neplatná hodnota délky"
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr "zadána neplatná hodnota pozice"
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr "nezadán název souboru."
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr "neočekávaný počet argumentů"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr "režim neměnné velikosti (přepínač -n) není podporován"
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s: volání fallocate selhalo"
+
+# FIXME: Typo }
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+" %1$s [přepínače] <číslo deskriptoru souboru>\n"
+" %1$s [přepínače] <soubor> -c <příkaz>\n"
+" %1$s [přepínače] <adresář> -c <příkaz>\n"
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr " -s --shared získá sdílený zámek\n"
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr " -x --exclusive získá výlučný zámek (výchozí)\n"
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr " -u --unlock odstraní zámek\n"
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr " -n --nonblock místo čekání selže\n"
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr " -w --timeout <sekundy> čeká nejvýše zadanou dobu\n"
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+" -E --conflict-exit-code <číslo> návratový kód při konfliktu nebo\n"
+" vypršení časového limitu\n"
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+" -o --close před spuštěním příkazu uzavře deskriptor\n"
+" souboru\n"
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr " -c --command <příkaz> spustí řetězec jako jediný příkaz shellu\n"
+
+#: sys-utils/flock.c:86
+msgid "timeout cannot be zero"
+msgstr "časový limit nemůže být nula"
+
+#: sys-utils/flock.c:123
+#, c-format
+msgid "cannot open lock file %s"
+msgstr "soubor zámku %s nelze otevřít"
+
+#: sys-utils/flock.c:206
+msgid "invalid exit code"
+msgstr "neplatné návratový kód"
+
+#: sys-utils/flock.c:226
+#, c-format
+msgid "%s requires exactly one command argument"
+msgstr "přepínač %s vyžaduje přesně jeden příkazový argument"
+
+#: sys-utils/flock.c:247
+msgid "requires file descriptor, file or directory"
+msgstr "vyžaduje deskriptor souboru, soubor nebo adresář"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "volání waitpid selhalo"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, c-format
+msgid " %s [options] <mount point>\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] BOD_PĹIPOJENĂŤ\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+" -h, --help tato nápověda\n"
+" -f, --freeze zmrazí systém souborů\n"
+" -u, --unfreeze rozmrazí systém souborů\n"
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"VĂ­ce informacĂ­ naleznete ve fsfreeze(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr "nezadána žádná akce"
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr "nezadán název souboru"
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr "%s: není adresářem"
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr "%s: zmrazení se nezdařilo"
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr "%s: rozmrazení se nezdařilo"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+" -o, --offset <číslo> začátek zahoditelné oblasti v bajtech\n"
+" -l, --length <číslo> délka zahoditelné oblasti v bajtech\n"
+" -m, --minimum <číslo> délka nejmenšího zahoditelného rozsahu\n"
+" -v, --verbose vypíše počet zahozených bajtů\n"
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+msgid "failed to parse length"
+msgstr "nezdařilo se rozebrat délku"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+msgid "failed to parse offset"
+msgstr "nezdařilo se rozebrat začátek oblasti"
+
+#: sys-utils/fstrim.c:114
+msgid "failed to parse minimum extent length"
+msgstr "nezdařilo se rozebrat délku nejmenšího rozsahu"
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr "nezadán žádný bod připojení."
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, c-format
+msgid "%s: not a directory"
+msgstr "%s: není adresářem"
+
+#: sys-utils/fstrim.c:145
+#, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s: IOCTL volání FITRIM selhalo"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr "%s: %<PRIu64> bajtĹŻ bylo zahozeno\n"
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, c-format
+msgid "cannot write %s"
+msgstr "%s nelze zapsat"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Předpokládám, že hodiny reálného času jsou nastaveny na %s čas.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "mĂ­stnĂ­"
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+"Varování: neznámý formát třetího řádku v souboru adjtime\n"
+"(Očekáváno: „UTC“ nebo „LOCAL“ nebo nic.)"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Poslední oprava posunu proběhla %ld sekund od roku 1969.\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Poslední kalibrace proběhla %ld sekund od roku 1969.\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hodiny reálného času jsou nastaveny na %s čas.\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "čekám na tik hodin…\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "…synchronizace se nezdařila\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "…hodiny tikly\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"Hodiny reálného času obsahují chybné hodnoty: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Hodiny reálného času: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld sekund od roku "
+"1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Hodiny reálného času ukazují %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Nastavuji hodiny reálného času na %.2d:%.2d:%.2d = %ld sekund od roku 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Testovací režim - Čas nezměněn.\n"
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Počet sekund uplynulých od referenčního času: %.6f.\n"
+"Čekám, dokud nebude dosažen nový čas.\n"
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Registry hodin reálného času obsahují hodnoty, které jsou buď chybné (např. "
+"50. den v měsíci), či mimo rozsah, který lze zpracovat (např. rok 2095)."
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f sekundy\n"
+
+#: sys-utils/hwclock.c:617
+msgid "No --date option specified."
+msgstr "Přepínač --date vyžaduje argument."
+
+#: sys-utils/hwclock.c:623
+msgid "--date argument too long"
+msgstr "argument --date je příliš dlouhý"
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Argument přepínače --date není platným datem.\n"
+"Konkrétně obsahuje uvozovky."
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Spouští se příkaz „date„: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Příkaz „date“ nelze v shellu /bin/sh spustit. Volání popen() selhalo."
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "odpověď příkazu „date“ = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"Od příkazu „date“ spuštěného programem %s přišla nečekaná odpověď.\n"
+"Příkaz byl:\n"
+" %s\n"
+"Odpověď byla:\n"
+" %s"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"Příkaz „date“ spuštěný programem %s místo převedeného času vrátil něco,\n"
+"co není celým číslem.\n"
+"Příkaz:\n"
+" %s\n"
+"Odpověď:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "Datum %s odpovídá %ld sekundám od roku 1969.\n"
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Systémový čas nelze podle hodin reálného času nastavit, protože neukazují "
+"platnĂ˝ ÄŤas."
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Volám settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Testovací režim - systémový čas nezměněn.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr "Nastavit systémový čas může pouze superuživatel."
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "volání settimeofday() selhalo"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Současný systémový čas: %ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Neopravuji míru posunu, protože hodiny reálného času posledně obsahovaly\n"
+"neplatné hodnoty.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Neopravuji mĂ­ru posunu, protoĹľe ÄŤas poslednĂ­ kalibrace je nula, takĹľe\n"
+"historie je nepoužitelná a je nutné provézt kalibraci znovu.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Neopravuji míru posunu, protože poslední kalibrace ještě neuplynul celý "
+"den.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Hodiny se za posledních %2$d sekund rozešly o %1$.1f sekund, přestože míra "
+"posunu\n"
+"je nastavena na %3$f sekund/den.\n"
+"Opravuji mĂ­ru posunu o %4$f sekund.\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "PoÄŤet sekund od poslednĂ­ opravy: %d\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "Potřebná změna času: sekund vpřed: %d ; sekund zpět: %.6f\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Testovací režim - soubor adjtime nezměněn.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Do %s by bylo uloženo následující:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr "Soubor s parametry posunu hodin (%s) se nepodařilo otevřít pro zápis"
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr "Soubor s parametry posunu hodin (%s) se nepodařilo aktualizovat"
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr "Parametry opravy posunu nezměněny."
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr "Hodiny reálného času obsahují neplatný čas, tudíž jej nelze opravit."
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Nenastavuji hodiny, protoĹľe ÄŤas poslednĂ­ho posunu je nula, takĹľe historie je "
+"nepoužitelná."
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr "Potřebná oprava je menší než 1 sekunda, proto hodiny nenastavuji.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "PouĹľije se %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Nebylo nalezeno žádné použitelné rozhraní k hodinám.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Systémový čas nelze nastavit.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+"Je předpovězeno, že v čase %'ld sekund po roce 1969 reálné hodiny\n"
+"budou ukazovat %'ld sekund od konce roku 1969.\n"
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Jádro udržuje hodnotu počátku epochy pro hodiny reálného času pouze na\n"
+"systémech Alpha.\n"
+"Tento program nebyl přeložen pro systém Alpha (a tudíž pravděpodobně nyní\n"
+"neběží na Alphě). Žádná akce nebude provedena."
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Počátek epochy nelze z jádra zjistit."
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Jádro pokládá za počátek epochy %lu.\n"
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr "Počátek epochy nastavíte pomocí přepínače „epoch“."
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Testovací režim - počátek epochy na %d neměním.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Hodnotu počátku epochy v jádře nelze nastavit.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr " hwclock [FUNKCE] [PĹEPĂŤNAČ…]\n"
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"Funkce:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+" -h, --help ukáže tuto nápovědu a skončí\n"
+" -r, --show zjistí a vypíše aktuální stav hodin reálného času\n"
+" --set nastaví RTC na hodnotu zadanou přepínačem --date\n"
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+" -s, --hctosys nastaví systémový čas podle hodin reálného času\n"
+" -w, --systohc nastaví hodiny reálného času podle aktuálního "
+"systémového\n"
+" --systz nastaví systémový čas na základě současné časové zóny\n"
+" --adjust opraví RTC o systematický posun, který nastal od "
+"poslednĂ­\n"
+" opravy ÄŤi nastavenĂ­ hodin\n"
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+" --getepoch vypíše počátek epochy hodin reálného času podle jádra\n"
+" --setepoch nastaví jádru počátek epochy hodin reálného času na\n"
+" hodnotu zadanou přepínačem --epoch\n"
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+" --predict předpoví hodnotu RTC v době zadané pomocí --date\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+" -u, --utc hodiny reálného času jdou v UTC\n"
+" --localtime hodiny reálného času jdou v místním čase\n"
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+" -f, --rtc SOUBOR namísto výchozího zařízení použije z /dev/… jiné\n"
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+" --directisa místo %s použije přímo ISA sběrnici\n"
+" --badyear ignoruje rok z RTC, protože BIOS je rozbitý\n"
+" --date ČAS čas, na který budou nastaveny hodiny reálného času\n"
+" --epoch ROK určuje rok, kdy začíná epocha hodin reálného času\n"
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+" --noadjfile nepouĹľije %s. VyĹľaduje pouĹľitĂ­\n"
+" buÄŹ --utc, nebo --localtime.\n"
+" --adjfile SOUBOR\n"
+" určuje cestu k souboru se systematickým posunem\n"
+" (výchozí je %s)\n"
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+" --test nic nenastaví, pouze ukáže, co by se stalo\n"
+" -D, --debug ladicĂ­ reĹľim\n"
+"\n"
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" určí typ vašeho systému Alpha (vizte hwclock(8))\n"
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr "Nelze se připojit ke kontrolnímu systému"
+
+#: sys-utils/hwclock.c:1619
+msgid "invalid epoch argument"
+msgstr "neplatnĂ˝ argument epochy"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr ""
+"%s akceptuje pouze přepínače. Zadáno argumentů, které nejsou přepínači: %d\n"
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "Současně s --noadjfile musíte použít buď --utc, nebo --localtime"
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Nebyl zadán platný čas, který se má nastavit. Hodiny nelze nastavit."
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Hodiny reálného času může nastavit pouze superuživatel."
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Systémové hodiny může nastavit pouze superuživatel."
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Hodnotu počátku epochy hodin reálného času může jádru nastavit pouze "
+"superuĹľivatel."
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "Žádným ze známých způsobů nelze přistoupit k hodinám reálného času."
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Pro zjištění podrobností o přístupových metodách použijte přepínač --debug."
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "spuštěn pomocí MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "hodnoty uloĹľeny v BCD tvaru\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "vstupně/výstupní port pro přístup k hodinám nastaven na 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "1000 neúspěšných pokusů o atomické provedení %s!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr "cmos_read(): zápis na řídící adresu %X selhal: %m\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "cmos_read(): čtení z datové adresy %X selhalo: %m\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr "cmos_write(): zápis na řídící adresu %X selhal: %m\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "cmos_write(): zápis na datovou adresu %X selhal: %m\n"
+
+#: sys-utils/hwclock-cmos.c:644
+msgid "I failed to get permission because I didn't try."
+msgstr "Jelikož nebyla snaha, nepodařilo se získat práva pro přístup."
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "přístup k I/O portu nelze získat: volání iopl(3) selhalo."
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Pravděpodobně je třeba mít práva superuživatele.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Ve smyčce se pokouším zjistit čas pomocí KDGHWCLK.\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "volání KDGHWCLK ioctl selhalo."
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "volání KDGHWCLK ioctl ve smyčce selhalo."
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr "V časovém limitu se nepodařilo změnit čas."
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "čas se pomocí volání ioctl() pro %s nepodařilo zjistit"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "volání ioctl KDSHWCLK selhalo"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "/dev/tty1 ani /dev/vc/1 nelze otevřít"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "volání ioctl KDGHWCLK selhalo"
+
+#: sys-utils/hwclock-rtc.c:195
+#, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "čas se pomocí volání ioctl(%s) nad %s nepodařilo zjistit"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Čekám ve smyčce na změnu času z %s\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s nemá přerušovací funkce. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "tikání hodin nelze z %s číst - volání read() selhalo"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "Čekání na tik hodin pomocí select() nad %s selhal"
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "pomocí volání select() nad %s se nebylo možné tiku hodin dočkat"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "obnovovací přerušení nelze vypnout - volání ioctl() pro %s selhalo"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "obnovovací přerušení nelze zapnout - volání ioctl() pro %s selhalo"
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "nastavení času pomocí volání ioctl(%s) nad %s selhalo."
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "Volání ioctl(%s) bylo úspěšné.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Pro změnu hodnoty počátku epochy v jádře je nutné přistoupit k linuxovému "
+"ovladači zařízení „rtc“ pomocí zvláštního souboru zařízení %s. Tento soubor "
+"na tomto systému souborů neexistuje."
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "volání(RTC_EPOCH_READ) pro %s selhalo"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+"Z %2$s byl pomocí RTC_EPOCH_READ ioctl zjištěn počátek epochy (%1$ld).\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Hodnota počátku epochy nesmí být menší než 1900. Požadovali jste %ld."
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+"Nastavuji pomocí RTC_EPOCH_SET ioctl pro %2$s počátek epochy na %1$ld.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Jaderný ovladač pro zařízení %s nepodporuje IOCTL RTC_EPOCH_SET."
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "volání ioctl(RTC_EPOCH_SET) pro %s selhalo"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+" -M, --shmem <velikost> vytvoří sdílený paměťový segment o dané "
+"<velikosti>\n"
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr " -S, --semaphore <počet> vytvoří pole semaforu s <počtem> prvků\n"
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --queue vytvoří frontu zpráv\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr " -p, --mode <mód> práva pro zdroj (výchozí jsou 0644)\n"
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+msgid "failed to parse size"
+msgstr "velikost se nezdařilo rozebrat"
+
+#: sys-utils/ipcmk.c:114
+msgid "failed to parse elements"
+msgstr "elementy se nepodařilo rozebrat"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr "nepodařilo se vytvořit sdílenou paměť"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "ID sdílené paměti: %d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr "nepodařilo se vytvořit frontu zpráv"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "ID fronty zpráv: %d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "nepodařilo se vytvořit semafor"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "ID semaforu: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+" -m, --shmem-id <ID> odstraní sdílený paměťový segment podle ID\n"
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+" -M, --shmem-key <klíč> odstraní sdílený paměťový segment podle klíče\n"
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr " -q, --queue-id <ID> odstraní frontu zpráv podle ID\n"
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr " -Q, --queue-key <klíč> odstraní frontu zpráv podle klíče\n"
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr " -s, --semaphore-id <ID> odstranĂ­ semafor podle ID\n"
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr " -S, --semaphore-key <klĂ­ÄŤ> odstranĂ­ semafor podle klĂ­ÄŤe\n"
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+" -a, --all[=<shm|msg|sem>] odstraní vše (segment, frontu zpráv, semafor)\n"
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -v, --verbose vysvětlí, co se děje\n"
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr "odstraĹuje se segmentu sdĂ­lenĂ© pamÄ›ti s ID „%d“\n"
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "odstraĹuje se fronta zpráv s ID „%d“\n"
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "odstraĹuje se semafor s ID „%d“\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "pro daný klíč přístup odmítnut"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "pro dané id přístup odmítnut"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "neplatnĂ˝ klĂ­ÄŤ"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "neplatné id"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "již odstraněný klíč"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "již odstraněné ID"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+msgid "key failed"
+msgstr "klĂ­ÄŤ selhal"
+
+#: sys-utils/ipcrm.c:111
+msgid "id failed"
+msgstr "ID selhalo"
+
+#: sys-utils/ipcrm.c:128
+#, c-format
+msgid "invalid id: %s"
+msgstr "neplatné ID: %s"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+msgid "not enough arguments"
+msgstr "málo argumentů"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "prostředky smazány\n"
+
+#: sys-utils/ipcrm.c:194
+#, c-format
+msgid "illegal key (%s)"
+msgstr "nedovolenĂ˝ klĂ­ÄŤ (%s)"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr "jádro nepodporuje sdílenou paměť"
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr "jádro nepodporuje semafory"
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr "jádro nepodporuje fronty zpráv"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, c-format
+msgid "unknown argument: %s"
+msgstr "neznámý argument: %s"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr " -i, --id <ID> zobrazí podrobnosti o prostředku určeném dle ID\n"
+
+#: sys-utils/ipcs.c:126
+msgid "Resource options:\n"
+msgstr "Přepínače zdrojů:\n"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr " -m, --shmems sdílené segmenty paměti\n"
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr " -q, --queues fronty zpráv\n"
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr " -s, --semaphores semafory\n"
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr " -a, --all vše (výchozí)\n"
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr "Formát výstupu:\n"
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr " -t, --time zobrazí časy připojení, odpojení a změny\n"
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr " -p, --pid zobrazĂ­ PID tvĹŻrce a poslednĂ­ operace\n"
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr " -c, --creator zobrazĂ­ tvĹŻrce a vlastnĂ­ka\n"
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr " -l, --limits zobrazĂ­ omezenĂ­ zdrojĹŻ\n"
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr " -u, --summary zobrazĂ­ souhrn stavĹŻ\n"
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "jádro nepodporuje sdílenou paměť\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Omezení pro sdílenou paměť --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "maximální počet segmentů = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maximální velikost segmentu (v kilobajtech) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "celkové maximum pro sdílenou paměť (v kilobajtech) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "minimální velikost segmentu (v bajtech) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Stav sdílené paměti --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+"alokováno segmentů %d\n"
+"alokováno stránek %ld\n"
+"rezidentních stránek %ld\n"
+"odložených stránek %ld\n"
+"účinnost odkládání: %ld pokusů\t %ld úspěšných\n"
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Tvůrci/vlastníci segmentů sdílené paměti ------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "práva"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Časy připojení/odpojení/změny pro sdílenou paměť --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "vlastnĂ­k"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "připojení"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "odpojenĂ­"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "změna"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ Tvůrce sdílené paměti/PID poslední operace --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Segmenty sdílené paměti --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "klĂ­ÄŤ"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "bajty"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "stav"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Nenastaveno"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "cĂ­l"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "zamÄŤeno"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "jádro nepodporuje semafory\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------OmezenĂ­ pro semafory --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maximální počet polí = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maximální počet semaforů v poli = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "celkový maximální počet semaforů = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maximální počet operací na jedno semop volání = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maximální hodnota semaforu = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Stav semaforu --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "použitá pole = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "alokované semafory = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ TvĹŻrci/vlastnĂ­ci polĂ­ semaforĹŻ --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Časy operace/změny semaforu --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "poslednĂ­ operace"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "poslední změna"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Pole semaforĹŻ --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "jádro nepodporuje fronty zpráv\n"
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Omezení zpráv --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "celkový maximální počet front = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximální velikost zprávy (v bajtech) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "implicitní maximální velikost fronty (v bajtech) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Stav zpráv --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "alokované fronty = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "použité hlavičky = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "pouĹľitĂ˝ prostor (v bajtech) = %d\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ Tvůrci/vlastníci front zpráv --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Časy odeslání.příchodu/změny pro fronty zpráv --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "odeslání"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "příjem"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "změna"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID pro fronty zpráv --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Fronty zpráv --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "užité bajty"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "zprávy"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "volání shmctl selhalo"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"shmid segmentu sdílené paměti = %d\n"
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mód=%#o\tpřístupová práva=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bajtĹŻ=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "připoj_čas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "odpoj_ÄŤas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "čas_změny=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "volání msgctl selhalo"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"msgid fronty zpráv=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmĂłd=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "čas odeslání=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "čas příjmu=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "volání semctl selhalo"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid pole semaforĹŻ = %d\n"
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mód=%#o, přístupová práva=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "ÄŤas poslednĂ­ operace = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "čas změny = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "hodnota"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+msgid "invalid iflag"
+msgstr "neplatnĂ˝ iflag"
+
+#: sys-utils/ldattach.c:160
+#, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr " %s [přepínače] <disciplína_linky> <zařízení>\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr " -d, --debug vypisuje podrobné zprávy na chybový výstup\n"
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr " -s, --speed <hodnota> nastaví rychlost sériové linky\n"
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr " -7, --sevenbits nastavĂ­ velikost znaku na 7 bitĹŻ\n"
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr " -8, --eightbits nastavĂ­ velikost znaku na 8 bitĹŻ\n"
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr " -n, --noparity nastaví paritu na žádnou\n"
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr " -e, --evenparity nastavĂ­ paritu na sudou\n"
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr " -o, --oddparity nastavĂ­ paritu na lichou\n"
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr " -1, --onestopbit nastavĂ­ stop-bity na jeden\n"
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr " -2, --twostopbits nastavĂ­ stop-bity na dva\n"
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr " -i, --iflag [-]<iflag> nastaví příznak režimu vstupu\n"
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Známá jména <linkové_disciplíny>:\n"
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"Známá jména <iflag>:\n"
+
+#: sys-utils/ldattach.c:266
+msgid "invalid speed argument"
+msgstr "neplatnĂ˝ argument rychlosti"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "neplatný přepínač"
+
+#: sys-utils/ldattach.c:288
+msgid "invalid line discipline argument"
+msgstr "neplatnĂ˝ argument disciplĂ­ny linky"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s není sériovou linkou"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "nelze zjistit vlastnosti terminálu %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "rychlost %d nepodporována"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "vlastnosti terminálu %s nelze nastavit"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "disciplĂ­nu linky nelze nastavit"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "nelze se démonizovat"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ", odsazenĂ­ %ju"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ", velikostnĂ­ limit %ju"
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", šifrování %s (typ %u)"
+
+#: sys-utils/losetup.c:120
+#, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: nepodařilo se nastavit kapacitu"
+
+#: sys-utils/losetup.c:130
+#, c-format
+msgid "%s: detach failed"
+msgstr "%s: odpojenĂ­ selhalo"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+" %1$s [přepínače] [<loop_zařízení>]\n"
+" %1$s [přepínače] -f | <loop_zařízení> <soubor>\n"
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+" -a, --all vypíše všechna použitá zařízení\n"
+" -d, --detach <loop_zařízení> […]\n"
+" odpojí jedno nebo více zařízení\n"
+" -D, --detach-all odpojí všechna používaná zařízení\n"
+" -f, --find najde první nepoužité zařízení\n"
+" -c, --set-capacity <loop_zařízení>\n"
+" změní velikost\n"
+" -j, --associated <soubor> vypíše všechna zařízení spojená se "
+"<souborem>\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -e, --encryption <typ> zapne šifrování pomocí zadaného <názvu>/"
+"<ÄŤĂ­sla>\n"
+" -o, --offset <číslo> v souboru začne na pozici <číslo>\n"
+" --sizelimit <počet> omezí délku loopu na <počet> bajtů souboru\n"
+" -p, --pass-fd <číslo> načte heslo z deskriptoru souboru <číslo>\n"
+" -P, --partscan vytvoří loop zařízení rozdělené na oddíly\n"
+" -r, --read-only nastaví loop zařízení jen pro čtení\n"
+" -s, --show vypíše název zařízení po nastavení (spolu s -"
+"f)\n"
+" -v, --verbose upovĂ­danĂ˝ reĹľim\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+"%s: pozor: soubor je menší než 512 bajtů, loop zařízení možná bude "
+"nepoužitelné nebo neviditelné pro systémové nástroje."
+
+# FIXME: Missing comman after sector
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+"%s: pozor: soubor není zarovnán na 512bajtové sektory, konec souboru bude "
+"ignorován."
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, c-format
+msgid "%s: failed to use device"
+msgstr "%s: zařízení nebylo možné použít"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr "neplatný deskriptor souboru s heslem"
+
+#: sys-utils/losetup.c:352
+msgid "no loop device specified"
+msgstr "žádné loop zařízení nebylo zadáno"
+
+#: sys-utils/losetup.c:354
+#, c-format
+msgid "%s failed to use device"
+msgstr "%s nemohlo použít zařízení"
+
+#: sys-utils/losetup.c:359
+msgid "no file specified"
+msgstr "nezadán žádný soubor"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr "přepínače %s jsou dovoleny jen při nastavování loop zařízení"
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr "v tomto kontextu není přepínač --offset dovolen."
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+msgid "couldn't lock into memory"
+msgstr "nebylo možné zamknout v paměti"
+
+#: sys-utils/losetup.c:391
+msgid "not found unused device"
+msgstr "nelze nalézt nepoužité zařízení"
+
+#: sys-utils/losetup.c:403
+#, c-format
+msgid "%s: failed to use backing file"
+msgstr "%s: podkladový soubor se nepodařilo použít"
+
+#: sys-utils/losetup.c:442
+msgid "find unused loop device failed"
+msgstr "hledání nepoužitého loop zařízení selhalo"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+# virtualization type
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "žádná"
+
+# virtualization type
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "paravirtualizace"
+
+# virtualization type
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "plná"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr "vodorovná"
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr "svislá"
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr "číslo logického CPU"
+
+#: sys-utils/lscpu.c:238
+msgid "logical core number"
+msgstr "číslo logického jádra"
+
+#: sys-utils/lscpu.c:239
+msgid "logical socket number"
+msgstr "číslo logické zásuvky"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr "číslo logické uzlu NUMA"
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr "číslo logické knihy"
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr "ukáže sdílení keše mezi CPU"
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr "režim rozhodování CPU na virtuálním hardwaru"
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr "fyzická adresa CPU"
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr "ukáže, zda-li hypervizor alokoval CPU"
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr "ukáže, zda-li nyní Linux nutí používat toto CPU"
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "chyba: volání uname selhalo"
+
+#: sys-utils/lscpu.c:551
+msgid "failed to allocate memory"
+msgstr "alokace paměti selhala"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr "A"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "N"
+msgstr "N"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+"# Následuje snadno rozebratelný formát, který lze poslat do jiných\n"
+"# programů. Každá různá položka v každém sloupci má jedinečné ID,\n"
+"# které se počítá od nuly.\n"
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "Architektura:"
+
+# FIXME: value alignment counts bytes instead of columns
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "OperaÄŤnĂ­ reĹľim(y) CPU:"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr "Pořadí bajtů:"
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr "PoÄŤet CPU:"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr "Maska zapnutých CPU:"
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr "Seznam zapnutých CPU:"
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr "Maska vypnutých CPU:"
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr "Seznam vypnutých CPU:"
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "Vláken na jádro:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "Jader na patici:"
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr "Patic na knihu:"
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr "Knihy:"
+
+#: sys-utils/lscpu.c:1164
+msgid "Socket(s):"
+msgstr "Patic:"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "Uzly NUMA:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "ID výrobce:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "Rodina CPU:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Model:"
+
+# ???: Existuje český překlad?
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "Stepping:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr "BogoMIPS:"
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "Virtualizace:"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr "Hypervizor:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Výrobce hypervizoru:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Druh virtualizace:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr "Režim rozhodování:"
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "%s keš:"
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "CPU NUMA uzlu %d:"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+" -a, --all vypíše zapnutá a vypnutá CPU (výchozí pro -e)\n"
+" -b, --online vypíše jen zapnutá CPUs (výchozí pro -p)\n"
+" -c, --offline vypíše jen vypnutá CPU\n"
+" -e, --extended[=<seznam>] výpis v rozšířeném čitelném formátu\n"
+" -h, --help zobrazí tuto nápovědu\n"
+" -p, --parse[=<seznam>] výpis v rozebratelném formátu\n"
+" -s, --sysroot <adresář> jako kořen systému použije <adresář>\n"
+" -V, --version vypíše údaje o verzi a skončí\n"
+" -x, --hex vypíše šestnáctkové masky namísto seznamů CPU\n"
+
+#: sys-utils/lscpu.c:1235
+#, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"Podrobnosti naleznete v lscpu(1).\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+"%s: přepínače --all, --online a --offline lze použít jen\n"
+"s přepínači --extended nebo --parsable.\n"
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "přepínač „--%s“ může použít pouze superuživatel (efektivní UID je %u)"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "toto může provést pouze superuživatel (efektivní UID je %u)"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "pouze superuživatel může použít přepínač „--%s“"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr "toto může provést pouze superuživatel"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s z %s (libmount %s"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "%s: chyba rozboru: záznam na řádku %d bude ignorován."
+
+#: sys-utils/mount.c:158
+msgid "failed to read mtab"
+msgstr "ÄŤtenĂ­ mtab selhalo"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr "%-25s: ignoruje se\n"
+
+#: sys-utils/mount.c:221
+#, c-format
+msgid "%-25s: already mounted\n"
+msgstr "%-25s: již připojeno\n"
+
+#: sys-utils/mount.c:367
+#, c-format
+msgid "only root can mount %s on %s"
+msgstr "pouze superuživatel může připojit %s do %s"
+
+#: sys-utils/mount.c:370
+#, c-format
+msgid "%s is already mounted"
+msgstr "%s je již připojeno"
+
+#: sys-utils/mount.c:374
+#, c-format
+msgid "can't find %s in %s"
+msgstr "%s nelze v %s nalézt"
+
+#: sys-utils/mount.c:381
+#, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "bod připojení %s nelze v %s nalézt"
+
+#: sys-utils/mount.c:384
+#, c-format
+msgid "can't find mount source %s in %s"
+msgstr "zdroj připojení %s nelze v %s nalézt"
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "typ systému souborů nebyl zadán a ani jej nelze zjistit"
+
+#: sys-utils/mount.c:392
+msgid "you must specify the filesystem type"
+msgstr "musíte zadat typ systému souborů"
+
+#: sys-utils/mount.c:396
+#, c-format
+msgid "can't find %s"
+msgstr "%s nelze nalézt"
+
+#: sys-utils/mount.c:398
+msgid "mount source not defined"
+msgstr "zdroj připojení není definován"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+msgid "failed to parse mount options"
+msgstr "nezdařilo se rozebrat volby připojení"
+
+#: sys-utils/mount.c:410
+#, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr ""
+"%s: zařízení loop se nepodařilo nastavit (zřejmě neznámý druh šifrování)"
+
+#: sys-utils/mount.c:416
+#, c-format
+msgid "%s: mount failed"
+msgstr "%s: připojení se nezdařilo"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "%s: souborový systém byl připojen, ale příkaz mount(8) selhal"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, c-format
+msgid "mount point %s is not a directory"
+msgstr "přípojný bod %s není adresářem"
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr "mount může používat pouze superuživatel"
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr "%s se používá"
+
+#: sys-utils/mount.c:459
+#, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "%s je již připojeno, či je %s již používáno"
+
+#: sys-utils/mount.c:471
+#, c-format
+msgid " %s is already mounted on %s\n"
+msgstr " %s je již připojeno do %s\n"
+
+#: sys-utils/mount.c:479
+#, c-format
+msgid "mount point %s does not exist"
+msgstr "přípojný bod %s neexistuje"
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "přípojný bod %s je symbolickým odkazem, jenž nikam neukazuje"
+
+#: sys-utils/mount.c:486
+#, c-format
+msgid "special device %s does not exist"
+msgstr "zvláštní zařízení %s neexistuje"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+msgid "mount(2) failed"
+msgstr "volání mount(2) neuspělo"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr "zvláštní zařízení %s neexistuje (název cesty nezačíná adresářem)"
+
+#: sys-utils/mount.c:510
+#, c-format
+msgid "%s not mounted or bad option"
+msgstr "%s není připojeno či chybný přepínač"
+
+#: sys-utils/mount.c:512
+#, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "%s není bod připojení či chybný přepínač"
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"chybný typ souborového systému, chybný přepínač, chybný superblok na\n"
+" %s, chybí kódová stránka nebo pomocný program nebo jiná chyba"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (pro řadu souborových systémů (např. nfs, cifs) je\n"
+" třeba pomocný program /sbin/mount.<typ>)\n"
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" V jistých případech lze najít potřebné informace v systémovém\n"
+" protokolu – zkuste například „dmesg | tail“\n"
+
+#: sys-utils/mount.c:533
+#, c-format
+msgid "%s: can't read superblock"
+msgstr "%s: superblok nelze přečíst"
+
+#: sys-utils/mount.c:537
+#, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "neznámý typ systému souborů „%s“"
+
+#: sys-utils/mount.c:545
+#, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "%s není blokovým zařízením a volání stat(2-) selhalo?"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"jádro nerozpoznalo %s jako blokové zařízení\n"
+" (možná „modprobe ovladač“?)"
+
+#: sys-utils/mount.c:550
+#, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "%s není blokovým zařízením (možná pomůže „-o loop“?)"
+
+#: sys-utils/mount.c:552
+#, c-format
+msgid " %s is not a block device"
+msgstr " %s není blokovým zařízením"
+
+#: sys-utils/mount.c:559
+#, c-format
+msgid "%s is not a valid block device"
+msgstr "%s není platným blokovým zařízením"
+
+#: sys-utils/mount.c:565
+#, c-format
+msgid "cannot mount %s read-only"
+msgstr "%s nelze připojit v režimu pouze pro čtení"
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "%s je chráněno proti zápisu, třebaže byl zadán příznak „-w“"
+
+#: sys-utils/mount.c:571
+#, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr ""
+"%s nelze znovu připojit pro čtení i zápis, protože je chráněno proti zápisu"
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "%s je chráněno proti zápisu, připojuji pouze pro čtení"
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr "v %s nenalezeno žádné médium"
+
+#: sys-utils/mount.c:591
+#, c-format
+msgid "mount %s on %s failed"
+msgstr "připojení %s do %s selhalo"
+
+#: sys-utils/mount.c:613
+#, c-format
+msgid "%s: failed to parse"
+msgstr "%s: rozbor se nezdařil"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+" %1$s [-lhV]\n"
+" %1$s -a [přepínače]\n"
+" %1$s [přepínače] [--source] <zdroj> | [--target] <adresář>\n"
+" %1$s [přepínače] <zdroj> <adresář>\n"
+" %1$s <operace> <bod_připojení> [<cíl>]\n"
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+" -a, --all připojí veškeré souborové systémy uvedené ve fstab\n"
+" -c, --no-canonicalize nenormalizuje cesty\n"
+" -f, --fake zkušební režim, přeskočí systémové volání mount(2)\n"
+" -F, --fork pro každé zařízení vytvoří potomka (použijte s -a)\n"
+" -T, --fstab <cesta> náhrada za /etc/fstab\n"
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+" -i, --internal-only nevolá podpůrné programy mount.<typ>\n"
+" -l, --show-labels zobrazí všechna připojení s JMENOVKAMI\n"
+" -n, --no-mtab nezapíše do /etc/mtab\n"
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+" -o, --options <seznam> čárkou oddělený seznam parametrů připojení\n"
+" -O, --test-opts <seznam>\n"
+" omezí množinu souborových systémů (použijte s -a)\n"
+" -p, --pass-fd <číslo> heslo načte z deskriptoru souboru\n"
+" -r, --read-only souborový systém připojí jen pro čtení\n"
+" (stejné jako -o ro)\n"
+" -t, --types <seznam> omezí množinu typů souborových systémů\n"
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+" --source <zdroj> výslovně určí zdroj (cesta, jmenovka, UUID)\n"
+" --target <cíl> výslovně určí bod připojení\n"
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+" -v, --verbose vysvětlí, co prováděné úkony\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -w, --read-write souborové systémy připojí i pro zápis (výchozí)\n"
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+"\n"
+"Zdroj:\n"
+" -L, --label <jmenovka> synonymum pro LABEL=<jmenovka>\n"
+" -U, --uuid <UUID> synonymum pro UUID=<UUID>\n"
+" LABEL=<jmenovka> určí zařízení podle jmenovky souborového systému\n"
+" UUID=<UUID> určí zařízení podle UUID souborového systému\n"
+" PARTLABEL=<jmenovka> určí zařízení podle jmenovky oddílu\n"
+" PARTUUID=<uuid> určí zařízení podle UUID oddílu\n"
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+" <zařízení> určí zařízení podle cesty\n"
+" <adresář> bod připojení pro vázaná připojení\n"
+" (vizte --bind/rbind)\n"
+" <soubor> běžný soubor pro sestavení loop zařízení\n"
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+"\n"
+"Operace:\n"
+" -B, --bind připojí podstrom někam jinam (stejné jako -o bind)\n"
+" -M, --move přesune podstrom na jiné místo\n"
+" -R, --rbind připojí podstrom a všechna podřízená připojení "
+"jinam\n"
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+" --make-shared oznaÄŤĂ­ podstrom za sdĂ­lenĂ˝\n"
+" --make-slave označí podstrom za podřízený\n"
+" --make-private oznaÄŤĂ­ podstrom za soukromĂ˝\n"
+" --make-unbindable označí podstrom za nevázatelný\n"
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+" --make-rshared rekurzivnÄ› oznaÄŤĂ­ celĂ˝ podstrom za sdĂ­lenĂ˝\n"
+" --make-rslave rekurzivně označí celý podstrom za podřízený\n"
+" --make-rprivate rekurzivnÄ› oznaÄŤĂ­ celĂ˝ podstrom za soukromĂ˝\n"
+" --make-runbindable rekurzivně označí celý podstrom za nevázatelný\n"
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr "alokace kontextu libmount se nezdařila"
+
+# XXX: Nepřekládat „append“ jako „připojit“, hrozí záměna s „mount“
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+msgid "failed to append options"
+msgstr "nepodařilo se přiřetězit volby"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+msgid "failed to set options pattern"
+msgstr "nepodařilo se nastavit vzorek voleb"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+" %1$s [-qd] /CESTA/K/ADRESĂĹI\n"
+" %1$s -x /dev/ZAĹĂŤZENĂŤ\n"
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+" -q, --quiet tichý režim – nic nevypíše\n"
+" -d, --fs-devno vypíše hlavní:vedlejší číslo zařízení systému souborů\n"
+" -x, --devno vypíše hlavní:vedlejší číslo blokového zařízení\n"
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s není přípojným bodem\n"
+
+#: sys-utils/mountpoint.c:208
+#, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s je přípojným bodem\n"
+
+#: sys-utils/pivot_root.c:33
+#, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr " %s [přepínače] <nový_kořen> <odložit_starý>\n"
+
+#: sys-utils/pivot_root.c:71
+#, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "výměna kořenu z „%s“ na „%s“ selhala"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr "omezenĂ­ adresnĂ­ho prostoru"
+
+#: sys-utils/prlimit.c:71
+msgid "max core file size"
+msgstr "maximální velikost souboru s výpisem paměti"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+msgid "blocks"
+msgstr "bloky"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr "procesorovĂ˝ ÄŤas"
+
+#: sys-utils/prlimit.c:72
+msgid "seconds"
+msgstr "sekundy"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr "maximální velikost dat"
+
+#: sys-utils/prlimit.c:74
+msgid "max file size"
+msgstr "maximální velikost souboru"
+
+#: sys-utils/prlimit.c:75
+msgid "max number of file locks held"
+msgstr "maximální počet zámků na souborech"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr "maximální množství uzamčené paměti"
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr "maximální počet bajtů v posixových frontách zpráv"
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr "maximální priorita nice, kterou lze zvýšit"
+
+#: sys-utils/prlimit.c:79
+msgid "max number of open files"
+msgstr "maximální počet otevřených souborů"
+
+#: sys-utils/prlimit.c:80
+msgid "max number of processes"
+msgstr "maximální počet procesů"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr "maximální velikost rezidentní paměti"
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr "stránky"
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr "maximální priorita reálného času"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr "časový limit pro úlohy reálného času"
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr "mikrosekundy"
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr "maximální počet čekajících signálů"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr "maximální velikost zásobníku"
+
+#: sys-utils/prlimit.c:116
+msgid "resource name"
+msgstr "název zdroje"
+
+#: sys-utils/prlimit.c:117
+msgid "resource description"
+msgstr "popis zdroje"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr "měkké omezení"
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr "tvrdé omezení (zastropování)"
+
+#: sys-utils/prlimit.c:120
+msgid "units"
+msgstr "jednotky"
+
+#: sys-utils/prlimit.c:156
+#, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr " %s [přepínače] [-p PID]\n"
+
+#: sys-utils/prlimit.c:158
+#, c-format
+msgid " %s [options] COMMAND\n"
+msgstr " %s [pĹ™epĂ­naÄŤe] PĹĂŤKAZ\n"
+
+#: sys-utils/prlimit.c:160
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"Obecné přepínače:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <PID> ID procesu\n"
+" -o, --output <seznam> určuje sloupce na výstupu\n"
+" --noheadings nevypíše záhlaví\n"
+" --raw výpis v syrovém formátu\n"
+" --verbose podrobný výstup\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+
+#: sys-utils/prlimit.c:169
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr ""
+"\n"
+"Přepínače zdrojů:\n"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+" -c, --core maximální velikost vytvářených souborů s výpisem "
+"paměti\n"
+" -d, --data maximální velikost datového segmentu procesu\n"
+" -e, --nice maximální priorita nice, kterou je dovoleno zvýšit\n"
+" -f, --fsize maximální velikost souborů zapsatelných procesem\n"
+" -i, --sigpending maximální počet čekajících signálů\n"
+" -l, --memlock maximální velikost paměti, kterou může proces "
+"zamknout\n"
+" -m, --rss maximální velikost rezidentní paměti\n"
+" -n, --nofile maximální počet otevřených souborů\n"
+" -q, --msgqueue maximální počet bajtů v posixových frontách zpráv\n"
+" -r, --rtprio maximální plánovací priorita reálného času\n"
+" -s, --stack maximální velikost zásobníku\n"
+" -t, --cpu maximální množství procesorového času v sekundách\n"
+" -u, --nproc maximální počet procesů uživatele\n"
+" -v, --as velikost virtuální paměti\n"
+" -x, --locks maximální počet souborových zámků\n"
+" -y, --rttime procesorový čas v mikrosekundách procesu "
+"plánovaného\n"
+" plánovačem reálného času\n"
+
+#: sys-utils/prlimit.c:320
+#, c-format
+msgid "failed to get old %s limit"
+msgstr "nepodařilo se získat staré omezení na %s"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr "měkké omezení %s nemůže překročit tvrdé omezení"
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr "Nové omezení %s: "
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr "neomezeno"
+
+#: sys-utils/prlimit.c:365
+#, c-format
+msgid "failed to set the %s resource limit"
+msgstr "nepodařilo se nastavit omezení zdroje na %s"
+
+#: sys-utils/prlimit.c:366
+#, c-format
+msgid "failed to get the %s resource limit"
+msgstr "nepodařilo se zjistit omezení zdroje na %s"
+
+#: sys-utils/prlimit.c:445
+#, c-format
+msgid "failed to parse %s limit"
+msgstr "nezdařilo se rozebrat omezení na %s"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr "přepínač --pid lze zadat jen jednou"
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "pĹ™epĂ­naÄŤ --pid a PĹĂŤKAZ se vzájemnÄ› vyluÄŤujĂ­"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr " -m, --mapfile <mapový_soubor> (výchozí: „%s“ a\n"
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr " „%s“)\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr " -p, --profile <soubor_profilu> (výchozí: „%s“)\n"
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr " -M, --multiplier <činitel> nastaví <činitel> profilování\n"
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -i, --info vypíše údaje pouze o vzorkujícím kroku\n"
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr " -v, --verbose vypíše podrobné údaje\n"
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+" -a, --all vypíše všechny symboly, i když jejich\n"
+" poÄŤĂ­tadlo je 0\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+" -b, --histbin vypíše jednotlivá počítadla histogramu programu\n"
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr " -s, --counters vypíše jednotlivá počítadla uvnitř funkcí\n"
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+" -r, --reset zresetuje všechny počítadla (pouze "
+"superuĹľivatel)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+" -n, --no-auto vypne automatické rozpoznávání pořadí bajtů\n"
+
+#: sys-utils/readprofile.c:237
+#, c-format
+msgid "error writing %s"
+msgstr "chyba při zápisu %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+"Předpokládá se opačné pořadí bajtů. Systémové pořadí lze vynutit pomocí -n."
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "ProfilovacĂ­_krok: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s(%i): chybný řádek v mapě"
+
+#: sys-utils/readprofile.c:310
+#, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "„_stext“ nelze v %s nalézt"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr "adresa profilu je mimo rozsah. ChybnĂ˝ mapovacĂ­ soubor?"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "celkem"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+" %1$s [-n] PRIORITA [-p] PID [PID…]\n"
+" %1$s [-n] PRIORITA -g PGRP [PGRP…]\n"
+" %1$s [-n] PRIORITA -u UŽIVATEL [UŽIVATEL…]\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+" -g, --pgrp ID interpretuje jako ID skupiny procesĹŻ\n"
+" -h, --help zobrazí nápovědu\n"
+" -n, --priority ČÍSLO nastaví přírůstek hodnoty nice\n"
+" -p, --pid ID vynutĂ­ interpretaci jako ID procesu\n"
+" -u, --user JMÉNO|ID interpretuje jako uživatelské jméno nebo ID\n"
+" -v, --version zobrazĂ­ verzi\n"
+
+#: sys-utils/renice.c:70
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"Více informací naleznete v reince(1).\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice z %s\n"
+
+#: sys-utils/renice.c:139
+#, c-format
+msgid "unknown user %s"
+msgstr "neznámý uživatel: %s"
+
+#: sys-utils/renice.c:146
+#, c-format
+msgid "bad value %s"
+msgstr "chybná hodnota %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr "ID procesu"
+
+#: sys-utils/renice.c:161
+msgid "user ID"
+msgstr "ID uĹľivatele"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr "ID skupiny procesĹŻ"
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "selhalo zjištění priority %d (%s)"
+
+#: sys-utils/renice.c:172
+#, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "selhalo nastavenĂ­ priority %d (%s)"
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d (%s): původní priorita %d, nová priorita %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+" -d, --device <zařízení> vybere RTC zařízení (rtc0|rtc1|…)\n"
+" -n, --dry-run provede vše až na uspání\n"
+" -l, --local RTC používá místní časovou zónu\n"
+" -m, --mode <režim> režim spánku (standby|mem|…)\n"
+" [pohotovost|paměť|…]\n"
+" -s, --seconds <sekundy> kolik sekund bude spát\n"
+" -t, --time time_t ÄŤas probuzenĂ­\n"
+" -u, --utc RTC běží v UTC\n"
+" -v, --verbose podrobné zprávy\n"
+
+#: sys-utils/rtcwake.c:156
+msgid "read rtc time failed"
+msgstr "přečtení hodin RTC selhalo"
+
+#: sys-utils/rtcwake.c:161
+msgid "read system time failed"
+msgstr "přečtení systémových hodin selhalo"
+
+#: sys-utils/rtcwake.c:179
+msgid "convert rtc time failed"
+msgstr "převod času RTC selhal"
+
+#: sys-utils/rtcwake.c:239
+msgid "set rtc alarm failed"
+msgstr "nastavenĂ­ budĂ­ku RTC selgalo"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr "zapnutĂ­ budĂ­ku RTC selhalo"
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr "nastavenĂ­ budĂ­ku RTC pro probuzenĂ­ selhalo"
+
+#: sys-utils/rtcwake.c:351
+msgid "read rtc alarm failed"
+msgstr "přečtení budíku RTC selhalo"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr "budĂ­k: vypnut\n"
+
+#: sys-utils/rtcwake.c:374
+msgid "convert time failed"
+msgstr "převod času selhal"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr "budĂ­k: zapnut %s"
+
+#: sys-utils/rtcwake.c:438
+#, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "nerozpoznaný režim spánku „%s“"
+
+#: sys-utils/rtcwake.c:448
+msgid "invalid seconds argument"
+msgstr "neplatnĂ˝ argument sekund"
+
+#: sys-utils/rtcwake.c:455
+msgid "invalid time argument"
+msgstr "neplatnĂ˝ argument ÄŤasu"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: předpokládám, že hodiny reálného času běží v UTC…\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Používám UTC čas.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Používám místní čas.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr "je nezbytné uvést čas probuzení (vizte přepínače -t a -s)"
+
+#: sys-utils/rtcwake.c:508
+#, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s nemá dovoleno reagovat na probouzecí události"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "budík %ld, systémový_čas %ld, reálný_čas %ld, sekund %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr "uspání do režimu „%s“ není dostupné"
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr "hodiny nedojdou pozpátku k %s"
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: probuzení za pomoci %s v %s"
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: probuzení ze stavu „%s“ za pomoci %s v %s"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr "režim spánku: no (žádný); končí se\n"
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr "režim spánku: off (vypnuto); spouští se %s\n"
+
+#: sys-utils/rtcwake.c:578
+#, c-format
+msgid "unable to execute %s"
+msgstr "%s nelze spustit"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr "režim spánky: on (zapnuto); čte se RTC\n"
+
+#: sys-utils/rtcwake.c:592
+msgid "rtc read failed"
+msgstr "čtení hodin reálného času selhalo"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr "režim spánku: disable (zakázáno); budík se vypíná\n"
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr "režim spánku: show; zobrazí se údaje o budíku\n"
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr "reži spánku: %s; systém bude uspán\n"
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr "zakázání přerušení budíku hodin reálného času selhalo"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Zapíná se %s.\n"
+
+#: sys-utils/setarch.c:94
+#, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "%s%s [přepínače] [program [argumenty_programu]]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -v, --verbose vypisuje, které volby jsou zapínány\n"
+" -R, --addr-no-randomize vypne znáhodnění prostoru virtuálních adres\n"
+" -F, --fdpic-funcptrs uÄŤinĂ­ ukazatele funkcĂ­ ukazujĂ­cĂ­ na deskriptory\n"
+" -Z, --mmap-page-zero zapne MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout změní způsob, jakým je virtuální paměť "
+"přidělována\n"
+" -X, --read-implies-exec zapne READ_IMPLIES_EXEC\n"
+" -B, --32bit zapne ADDR_LIMIT_32BIT\n"
+" -I, --short-inode zapne SHORT_INODE\n"
+" -S, --whole-seconds zapne WHOLE_SECONDS\n"
+" -T, --sticky-timeouts zapne STICKY_TIMEOUTS\n"
+" -3, --3gb omezí použitý adresní prostor hranicí 3 GB\n"
+" --4gb ignorováno (jen pro zpětnou kompatibilitu)\n"
+" --uname-2.6 zapne UNAME26\n"
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s\n"
+"Více informací získáte příkazem „%s --help“."
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr "Více informací získáte příkazem „%s --help“."
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: Nerozpoznaná architektura"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Málo argumentů"
+
+# personality – charakteristika architektury
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Selhalo nastavenĂ­ charakteristiky architektury na %s"
+
+#: sys-utils/setsid.c:28
+#, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr " %s [přepínače] <program> [argument…]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr " -c, --ctty nastaví řídicí terminál na současný\n"
+
+#: sys-utils/setsid.c:79
+msgid "fork"
+msgstr "fork"
+
+#: sys-utils/setsid.c:90
+msgid "setsid failed"
+msgstr "volání setsid selhalo"
+
+#: sys-utils/setsid.c:94
+msgid "failed to set the controlling terminal"
+msgstr "nepodařilo se nastavit řídicí terminál"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "funkce execvp selhala"
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr "vypíná se odkládání do %s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "Nejste superuĹľivatel."
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: swapoff selhal"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr " %s [přepínače] [<specifikace>]\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all vypne všechny odkládací oblasti uvedené v /proc/"
+"swaps\n"
+" -v, --verbose upovĂ­danĂ˝ reĹľim\n"
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Parametr <specifikace>:\n"
+" -L JMENOVKA vybere zařízení podle jmenovky\n"
+" -U UUID vybere zařízení podle UUID\n"
+" LABEL=<jmenovka> vybere zařízení podle jmenovky\n"
+" UUID=<UUID> vybere zařízení podle UUID\n"
+" <zařízení> vybere zařízení\n"
+" <soubor> vybere soubor\n"
+"\n"
+
+#: sys-utils/swapon.c:89
+msgid "device file or partition path"
+msgstr "soubor zařízení nebo cesta k oddílu"
+
+#: sys-utils/swapon.c:90
+msgid "type of the device"
+msgstr "druh zařízení"
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr "velikost odkládací oblasti"
+
+#: sys-utils/swapon.c:92
+msgid "bytes in use"
+msgstr "pouĹľito bajtĹŻ"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr "priorita odkládací oblasti"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr "%s\t\t\t\tDruh\t\tVelikost\tPouĹľito\tPriorita\n"
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr "Název souboru"
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: odkládací oblast se znovu inicializuje."
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "funkce execv selhala"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: volání lseek selhalo"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: zápis podpisu selhal"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+"%s: nalezen podpis odkládacího prostoru: verze %d, velikost stránky %d, %s "
+"řazení bajtů"
+
+# Last argument of "page-size %d, %s byte order"
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "odlišné"
+
+# Last argument of "page-size %d, %s byte order"
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "stejné"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: přístupová práva %04o nejsou bezpečná, %04o by byla lepší."
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: vlastník souboru %d není bezpečný, 0 (root) by byl lepší."
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: vynechávám – zdá se, že obsahuje díry."
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: nepodařilo se zjistit velikost"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: nepodařilo se načíst hlavičku odkládací oblasti"
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+"%s: velikost_stránky=%d, velikost_úložiště=%llu, velikost_zařízení=%llu"
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+"%s: last_page 0x%08llx je větší než současní velikost odkládacího prostoru"
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: formát odkládacího prostoru se neshoduje ve velikosti stránky."
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+"%s: formát odkládacího prostoru se neshoduje ve velikosti stránky. (Lze ji "
+"znovu inicializovat pomocĂ­ --fixpgsz.)"
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+"%s: nalezena data ze softwarového uspání. Přepisuji podpis odkládací oblasti."
+
+#: sys-utils/swapon.c:555
+#, c-format
+msgid "swapon %s\n"
+msgstr "zapíná se odkládání do %s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s: swapon selhal"
+
+#: sys-utils/swapon.c:607
+#, c-format
+msgid "failed to parse %s"
+msgstr "%s se nezdařilo rozebrat"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all zapne všechny odkládací oblasti uvedené v /etc/"
+"fstab\n"
+" -d, --discard zahodí uvolněné stránky dříve, než jsou znovu "
+"pouĹľity\n"
+" -e, --ifexists v tichosti přeskočí neexistující zařízení\n"
+" -f, --fixpgsz znovu inicializuje odkládací oblast, je-li to "
+"nutné\n"
+" -p, --priority <priorita>\n"
+" určí prioritu odkládacího zařízení\n"
+" -s, --summary zobrazí přehled o použitých odkládacích zařízeních\n"
+" --show[=<sloupce>] zobrazí přehled podle definice\n"
+" --noheadings nezobrazí záhlaví, použijte s --show\n"
+" --raw neformátovaný výstup, použijte s --show\n"
+" --bytes zobrazí velikosti v bajtech ve výstupu --show\n"
+" -v, --verbose upovĂ­danĂ˝ reĹľim\n"
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Parametr <specifikace>:\n"
+" -L <jmenovka> stejné jako LABEL=<jmenovka>\n"
+" -U <UUID> stejné jako UUID=<UUID>\n"
+" LABEL=<jmenovka> vybere zařízení podle jmenovky odkládací oblasti\n"
+" UUID=<UUID> vybere zařízení podle UUID odkládací oblasti\n"
+" PARTLABEL=<jmenovka> vybere zařízení podle jmenovky oddílu\n"
+" PARTUUID=<UUID> vybere zařízení podle UUID oddílu\n"
+" <zařízení> vybere zařízení\n"
+" <soubor> vybere soubor\n"
+
+#: sys-utils/swapon.c:676
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr ""
+"\n"
+"Dostupné sloupce (pro --show):\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "nelze nalézt zařízení pro %s"
+
+#: sys-utils/switch_root.c:57
+msgid "failed to open directory"
+msgstr "adresář se nepodařilo otevřít"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+msgid "stat failed"
+msgstr "volání stat selhalo"
+
+#: sys-utils/switch_root.c:75
+msgid "failed to read directory"
+msgstr "adresáře nelze přečíst"
+
+#: sys-utils/switch_root.c:107
+#, c-format
+msgid "failed to unlink %s"
+msgstr "%s se nepodařilo smazat"
+
+#: sys-utils/switch_root.c:144
+#, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "přesun přípojného bodu %s do %s se nezdařil"
+
+#: sys-utils/switch_root.c:146
+#, c-format
+msgid "forcing unmount of %s"
+msgstr "vynucuje se odpojenĂ­ %s"
+
+#: sys-utils/switch_root.c:152
+#, c-format
+msgid "failed to change directory to %s"
+msgstr "nepodařilo se přejít do adresáře %s"
+
+#: sys-utils/switch_root.c:160
+#, c-format
+msgid "failed to mount moving %s to /"
+msgstr "přesun přípojného bodu %s do / se nezdařil"
+
+#: sys-utils/switch_root.c:166
+msgid "failed to change root"
+msgstr "změna kořenu se nezdařila"
+
+#: sys-utils/switch_root.c:185
+#, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr " %s [přepínače] <nový_kořenový_adresář> <init> <argumentu_initu>\n"
+
+#: sys-utils/switch_root.c:217
+msgid "failed. Sorry."
+msgstr "neúspěch. Je nám líto."
+
+#: sys-utils/switch_root.c:220
+#, c-format
+msgid "cannot access %s"
+msgstr "k %s nelze přistoupit"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr " -i, --irq <ÄŤĂ­slo> urÄŤuje IRQ paralelnĂ­ portu\n"
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr " -t, --time <ms> čekání na ovladač v milisekundách\n"
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr " -c, --chars <číslo> počet výstupních znaků před usnutím\n"
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+" -w, --wait <µs> čekání na signál strobe v mikrosekundách\n"
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr " -a, --abort <on|off> ukončí činnost při chybě (ano|ne)\n"
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+" -o, --check-status <on|off> před výpisem zkontroluje stav tiskárny (ano|"
+"ne)\n"
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr " -C, --careful <on|off> doplĹujĂ­cĂ­ kontroly stavu (ano|ne)\n"
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr " -s, --status dotáže se na stav tiskárny\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr " -T, --trust-irq <on|off> přinutí ovladač věřit IRQ (ano|ne)\n"
+
+#: sys-utils/tunelp.c:95
+msgid " -r, --reset reset the port\n"
+msgstr " -r, --reset resetuje port\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr " -q, --print-irq <on|off> zobrazí současné nastavení IRQ\n"
+
+#: sys-utils/tunelp.c:109
+msgid "bad value"
+msgstr "chybná hodnota"
+
+#: sys-utils/tunelp.c:271
+#, c-format
+msgid "%s not an lp device"
+msgstr "%s není lp zařízením"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "chyba LPGETSTATUS"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "status %s je %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", zaneprázdněna"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", připravena"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", došel papír"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", zapnuta"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", chyba"
+
+#: sys-utils/tunelp.c:312
+msgid "ioctl failed"
+msgstr "volání ioctl selhalo"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "chyba LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s používá IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s používá poll\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+" %1$s [-hV]\n"
+" %1$s -a [přepínače]\n"
+" %1$s [přepínače] <zdroj> | <adresář>\n"
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+" -a, --all odpojí veškeré souborové systémy\n"
+" -c, --no-canonicalize nenormalizuje cesty\n"
+" -d, --detach-loop je-li připojeno loop zařízení, rovněž jej uvolní\n"
+" --fake zkušební režim, přeskočí systémové volání umount"
+"(2)\n"
+" -f, --force vynutí odpojení (pro případ nedostupného NFS)\n"
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+" -i, --internal-only nevolá pomocné programy umount.<typ>\n"
+" -n, --no-mtab nezapíše do /etc/mtab\n"
+" -l, --lazy souborový systém odpojí teď, zbytek uklidí později\n"
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+" -O, --test-opts <seznam>\n"
+" omezí množinu souborových systémů (použije s -a)\n"
+" -r, --read-only selže-li odpojení, zkusí souborový systém přepojit\n"
+" jen pro ÄŤtenĂ­\n"
+" -t, --types <seznam> omezí množinu typů souborových systémů\n"
+" -v, --verbose popisuje, co se děje\n"
+
+#: sys-utils/umount.c:179
+#, c-format
+msgid "%s: umount failed"
+msgstr "%s: odpojení se nezdařilo"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "%s: souborový systém byl odpojen, ale příkaz mount(8) selhal"
+
+#: sys-utils/umount.c:202
+#, c-format
+msgid "%s: invalid block device"
+msgstr "%s: neplatné blokové zařízení"
+
+#: sys-utils/umount.c:208
+#, c-format
+msgid "%s: can't write superblock"
+msgstr "%s: superblok nelze zapsat"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"%s: zařízení je používáno.\n"
+" (V některých případech lze získat užitečné informace o procesech,\n"
+" které se zařízením pracují, pomocí nástrojů lsof(8) a fuser(1).)"
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr "%s: musíte být superuživatelem, abyste mohl odpojovat"
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "%s: bloková zařízení nejsou na systému souborů povolena"
+
+#: sys-utils/umount.c:272
+msgid "failed to set umount target"
+msgstr "nezdařilo se nastavit cíl odpojení"
+
+#: sys-utils/unshare.c:60
+#, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr " %s [přepínače] <program> [argument…]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+" -m, --mount oddělí jmenný prostor přípojných bodů\n"
+" -u, --uts oddělí jmenný prostor UTS (název stroje atd.)\n"
+" -i, --ipc oddělí jmenný prostor System V IPC\n"
+" -n, --net oddělí síťový jmenný prostor\n"
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "volání unshare selhalo"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr "Karta naposledy resetovala CPU"
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr "Vnější relé 1"
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr "Vnější relé 2"
+
+#: sys-utils/wdctl.c:47
+msgid "Fan failed"
+msgstr "Selhal větrák"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr "Odpověď na keep-alive ping"
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr "Podporuje magický znak uzavření"
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr "Reset kvůli přehřátí CPU"
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr "Přepětí"
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr "Podpětí / výpadek napájení"
+
+# ???
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr "Prvotní časový limit (v sekundách)"
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr "Nastavení časového limitu (v sekundách)"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr "název příznaku"
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr "popis příznaku"
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr "stav příznaku"
+
+#: sys-utils/wdctl.c:73
+msgid "flag boot status"
+msgstr "stav příznaku startu systému"
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr "název hlídacího zařízení"
+
+#: sys-utils/wdctl.c:108
+#, c-format
+msgid "unknown flag: %s"
+msgstr "neznámý příznak: %s"
+
+#: sys-utils/wdctl.c:145
+#, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr " %s [přepínače] [<zařízení>…]\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+" -f, --flags <seznam> vypíše pouze vybrané příznaky\n"
+" -F, --noflags nevypisuje údaje o příznacích\n"
+" -I, --noident nevypisuje identifikační údaje sledovacího zařízení\n"
+" -n, --noheadings nevypisuje záhlaví tabulky příznaků\n"
+" -O, --oneline vypíše všechny údaje na jeden řádek\n"
+" -o, --output <seznam> vypíše sloupce příznaků\n"
+" -r, --raw tabulku příznaků neformátuje\n"
+" -T, --notimeouts nevypisuje časové limity hlídacího zařízení\n"
+" -s, --settimeout <sekundy>\n"
+" nastaví časový limit hlídacího zařízení\n"
+" -x, --flags-only vypíše jen tabulku příznaků (stejné jako -I -T)\n"
+
+#: sys-utils/wdctl.c:165
+#, c-format
+msgid "The default device is %s.\n"
+msgstr "Výchozí zařízení je %s.\n"
+
+#: sys-utils/wdctl.c:168
+msgid "Available columns:\n"
+msgstr "Dostupné sloupce:\n"
+
+#: sys-utils/wdctl.c:254
+#, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: neznámý příznak 0x%x\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr "%s: hlídací zařízení se již používá, končí se."
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s: hlídací zařízení se nepodařilo vypnout"
+
+#: sys-utils/wdctl.c:307
+#, c-format
+msgid "cannot set timeout for %s"
+msgstr "ÄŤasovĂ˝ limit pro %s nelze nastavit"
+
+#: sys-utils/wdctl.c:345
+#, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s: získání údajů o hlídacím zařízení selhalo"
+
+# TODO: Pluralize
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%-15s%2i sekund\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr "ÄŚasovĂ˝ limit:"
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr "PrvotnĂ­ ÄŤasovĂ˝ limit"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr "Zbývá času:"
+
+#: sys-utils/wdctl.c:564
+msgid "Device:"
+msgstr "Zařízení:"
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%-15s%s [verze %x]\n"
+
+#: term-utils/agetty.c:435
+#, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: nelze změnit kořenový adresář %s: %m"
+
+#: term-utils/agetty.c:440
+#, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s: nelze změnit pracovního adresáře %s: %m"
+
+#: term-utils/agetty.c:445
+#, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: nelze změnit prioritu procesu: %m"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: %s nelze spustit: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, c-format
+msgid "failed to allocate memory: %m"
+msgstr "paměť nelze alokovat: %m"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "chybnĂ˝ ÄŤasovĂ˝ limit: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "chybná rychlost %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "příliš mnoho alternativních rychlostí"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s nelze otevřít jako standardní vstup: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s není znakovým zařízením"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: není otevřeno pro čtení/zápis"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: volání dup selhalo: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr "Num Lock vypnut"
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr "Num Lock zapnut"
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr "Caps Lock zapnut"
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr "Scroll Lock zapnut"
+
+#: term-utils/agetty.c:1287
+#, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr ""
+"Nápověda: %s\n"
+"\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: přečteno: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: přetečení vstupu"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %1$s [přepínače] linka baud_rate,… [druh_terminálu]\n"
+" %1$s [přepínače] baud_rate,… linka [druh_terminálu]\n"
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -8, --8bits předpokládat 8bitové TTY\n"
+" -a, --autologin <uživatel> automaticky přihlásí zadaného uživatele\n"
+" -c, --noreset neresetuje řídicí režim\n"
+" -f, --issue-file <soubor> zobrazí soubor s vydáním\n"
+" -h, --flow-control povolí hardwarové řízení toku\n"
+" -H, --host <název_stroje> určí název stroje při přihlášení\n"
+" -i, --noissue nezobrazí soubor s vydáním\n"
+" -I, --init-string <řetězec>\n"
+" nastaví inicializační řetězec\n"
+" -l, --login-program <soubor>\n"
+" urÄŤĂ­ program login\n"
+" -L, --local-line vynutĂ­ mĂ­stnĂ­ linku\n"
+" -m, --extract-baud získá baud rate z připojující se fáze\n"
+" -n, --skip-login neptá se na přihlašovací jméno\n"
+" -o, --login-options <argumenty>\n"
+" argumenty, které budou předány programu login\n"
+" -p, --loginpause před výzvou k přihlášení počká na stisk klávesy\n"
+" -R, --hangup provede virtuální zavěšení linky na TTY\n"
+" -s, --keep-baud pokusí se udržet baud rate i po znaku break\n"
+" -t, --timeout <číslo> časový limit pro přihlášení\n"
+" -U, --detect-case rozpozná terminál podporující jen velká písmena\n"
+" -w, --wait-cr čeká na carriage-return\n"
+" --noclear před výzvou nesmaže obrazovku\n"
+" --nohints nezobrazí upozornění\n"
+" --nonewline neodřádkuje před výpisem vydání\n"
+" --no-hostname nezobrazí název stroje\n"
+" --long-hostname zobrazí plně kvalifikované jméno stroje\n"
+" --version zobrazí údaje o verzi a skončí\n"
+" --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "uĹľivatel"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "uživatelé"
+
+#: term-utils/mesg.c:74
+#, c-format
+msgid " %s [options] [y | n]\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] [y|n]\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose vysvětlí, co se právě provádí\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí nápovědu a skončí\n"
+"\n"
+
+#: term-utils/mesg.c:121
+msgid "ttyname failed"
+msgstr "funkce ttyname selhala"
+
+#: term-utils/mesg.c:128
+msgid "is y"
+msgstr "Příjem zpráv je zapnut"
+
+#: term-utils/mesg.c:131
+msgid "is n"
+msgstr "Příjem zpráv je vypnut"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, c-format
+msgid "change %s mode failed"
+msgstr "změnit režim %s se nepodařilo"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr "přístup pro zápis do vašeho terminálu je povolen"
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr "přístup pro zápis do vašeho terminálu je zakázán"
+
+#: term-utils/mesg.c:153
+#, c-format
+msgid "invalid argument: %s"
+msgstr "neplatnĂ˝ argument: %s"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"výstupní soubor „%s“ je odkaz.\n"
+"Pokud jej opravdu chcete použít, tak použije --force.\n"
+"Program nebyl spuštěn."
+
+#: term-utils/script.c:132
+#, c-format
+msgid " %s [options] [file]\n"
+msgstr " %s [přepínače] [soubor]\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --append připojí výstup\n"
+" -c, --command <příkaz> spustí příkaz místo interaktivního shellu\n"
+" -e, --return vrátí návratový kód potomka\n"
+" -f, --flush po každém zápisu vyprázdní buffer\n"
+" --force použije výstupní soubor, i když se jedná o odkaz\n"
+" -q, --quiet bude zticha\n"
+" -t, --timing[=<soubor>] časovací údaje vypíše na chybový výstup\n"
+" (nebo do SOUBORU)\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script spuštěn. Soubor je %s.\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Script spuštěn %s"
+
+#: term-utils/script.c:401
+msgid "cannot write script file"
+msgstr "skript soubor nelze zapsat"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script ukonÄŤen %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script utils. Soubor je %s\n"
+
+#: term-utils/script.c:513
+msgid "openpty failed"
+msgstr "volání openpty selhalo"
+
+#: term-utils/script.c:549
+msgid "out of pty's"
+msgstr "nedostatek PTY"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr "%s [-t] ÄŚASOVĂť_SOUBOR [ZĂZNAM_VSTUPU] [DÄšLITEL]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -t, --timing SOUBOR výstupní soubor s časováním z nástroje script\n"
+" -s, --typescript SOUBOR výstupní soubor terminálové relace z nástroje "
+"script\n"
+" -d, --divisor ČÍSLO zrychlí nebo zpomalí vykonávání podle dělitele "
+"ÄŤasu\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí nápovědu a skončí\n"
+"\n"
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "očekáváno číslo, ale obdrženo „%s“"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "dělitel „%s“"
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "zápis na standardní výstup selhal"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "neočekávaný konec souboru %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "načtení souboru se záznamem vstupu %s selhalo"
+
+#: term-utils/scriptreplay.c:185
+msgid "wrong number of arguments"
+msgstr "chybnĂ˝ poÄŤet argumentĹŻ"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "čtení z časového souboru %s selhalo"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "časový soubor %s: %lu: neočekávaný formát"
+
+#: term-utils/setterm.c:674
+msgid "Argument error."
+msgstr "ChybnĂ˝ argument."
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+" -term NĂZEV_TERMINĂLU\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs <tab1 tab2 tab3…> (index tabulátoru = 1–160)\n"
+" -clrtabs <tab1 tab2 tab3…> (index tabulátoru = 1–160)\n"
+" -regtabs <1–160>\n"
+" -blank <0–60|force|poke>\n"
+" -dump <1–POČET_KONZOL>\n"
+" -append <1–POČET_KONZOL>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0–8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0–60>\n"
+" -blength <0–2000>\n"
+" -bfreq ÄŚĂŤSLO_FREKVENCE\n"
+" -version\n"
+" -help\n"
+
+#: term-utils/setterm.c:1072
+msgid "cannot force blank"
+msgstr "reĹľim blank nelze vynutit"
+
+#: term-utils/setterm.c:1076
+msgid "cannot force unblank"
+msgstr "reĹľim unblank nelze vynutit"
+
+#: term-utils/setterm.c:1082
+msgid "cannot get blank status"
+msgstr "stav reĹľimu blank nelze zjistit"
+
+#: term-utils/setterm.c:1094
+msgid "cannot (un)set powersave mode"
+msgstr "šetřicí režim nelze vypnout/zapnout"
+
+#: term-utils/setterm.c:1114
+#, c-format
+msgid "can not open dump file %s for output"
+msgstr "soubor s obsahem obrazovky %s nelze otevřít pro zápis"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+msgid "klogctl error"
+msgstr "chyba klogctl"
+
+#: term-utils/setterm.c:1205
+msgid "Error writing screendump"
+msgstr "Chyba při ukládání obsahu obrazovky"
+
+#: term-utils/setterm.c:1212
+#, c-format
+msgid "Couldn't read %s"
+msgstr "%s nelze naÄŤĂ­st"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr "Proměnná TERM není nastavena."
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr "databázi terminfo nelze najít"
+
+#: term-utils/setterm.c:1276
+#, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: neznámý druh terminálu"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr "terminál je čistě výstupní (hardcopy)"
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "příliš mnoho iov (zmÄ›Ĺte kĂłd ve wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "příliš dlouhý řádek s argumenty"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "volání fork selhalo"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr "%s: OŠKLIVà CHYBA, zpráva je opravdu moc dlouhá"
+
+#: term-utils/wall.c:83
+#, c-format
+msgid " %s [options] [<file>]\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] [SOUBOR]\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -n, --nobanner nevypíše hlavičku, funguje je pro superuživatele\n"
+" -t, --timeout LIMIT časový limit na zápis v sekundách\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr "--nobanner je dostupnĂ˝ jen superuĹľivateli"
+
+#: term-utils/wall.c:130
+#, c-format
+msgid "invalid timeout argument: %s"
+msgstr "chybný argument s časovým limitem: %s"
+
+#: term-utils/wall.c:202
+msgid "cannot get passwd uid"
+msgstr "pro UID nelze získat záznam z databáze uživatelů"
+
+#: term-utils/wall.c:207
+msgid "cannot get tty name"
+msgstr "název TTY nelze zjistit"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Všeobecná zpráva od %s@%s"
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr "nebude se číst z %s – použijte standardní vstup."
+
+#: term-utils/wall.c:275
+msgid "fread failed"
+msgstr "funkce fread selhala"
+
+#: term-utils/write.c:81
+#, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr " %s [PĹEPĂŤNAÄŚE] UĹ˝IVATEL [NĂZEV_TTY]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr "název vašeho TTY nelze zjistit"
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr "máte vypnut příjem zpráv"
+
+#: term-utils/write.c:168
+#, c-format
+msgid "%s is not logged in on %s"
+msgstr "uživatel %s není na %s přihlášen"
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr "uživatel %s má na %s vypnut příjem zpráv"
+
+#: term-utils/write.c:269
+#, c-format
+msgid "%s is not logged in"
+msgstr "uživatel %s není přihlášen"
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr "uživatel %s má vypnut příjem zpráv"
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "uživatel %s je přihlášen vícekrát; zapíše se na %s"
+
+#: term-utils/write.c:326
+#, c-format
+msgid "tty path %s too long"
+msgstr "cesta k TTY %s je příliš dlouhá"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Zpráva od %s@%s (jako %s) na %s v %s…"
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Zpráva od %s@%s na %s v %s…"
+
+#: term-utils/write.c:372
+msgid "carefulputc failed"
+msgstr "funkce carefulputc selhala"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -b, --no-backspaces nevypisuje znaky backspaces\n"
+" -f, --fine povolí dopředné půlřádkové posuny\n"
+" -p, --pass propustí neznámé řídicí znaky\n"
+" -h, --tabs mezery převede na tabulátory\n"
+" -x, --spaces tabulátory převede na mezery\n"
+" -l, --lines POČET bufferuje alespoŠPOČET řádků\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -H, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr "%s čte ze standardního vstupu a zapisuje na standardní výstup\n"
+
+#: text-utils/col.c:144
+msgid "write error."
+msgstr "chyba při zápisu."
+
+#: text-utils/col.c:199
+msgid "bad -l argument"
+msgstr "chybný argument přepínače -l"
+
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr "pozor: %s nelze zazálohovat."
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "jsem za prvním řádkem"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- řádek již není v bufru"
+
+#: text-utils/colcrt.c:314
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [PĹEPĂŤNAÄŚE] [SOUBOR…]\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -, --no-underlining potlačí všechna podtržení\n"
+" -2, --half-lines zobrazí všechny půlřádky\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: text-utils/colrm.c:59
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [POÄŚĂTEÄŚNĂŤ_SLOUPEC [KONCOVĂť_SLOUPEC]]\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: text-utils/colrm.c:185
+msgid "first argument"
+msgstr "prvnĂ­ argument"
+
+#: text-utils/colrm.c:187
+msgid "second argument"
+msgstr "druhĂ˝ argument"
+
+#: text-utils/column.c:90
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­: %s [PĹEPĂŤNAÄŚE] [SOUBOR…]\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+" -h, --help zobrazí tento nápovědný text\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -c, --columns Ĺ ĂŤĹKA šířka vĂ˝stupu ve znacĂ­ch\n"
+" -t, --table vytvoří tabulku\n"
+" -s, --separator ĹETÄšZEC oddÄ›lovaÄŤ tabulky\n"
+" -x, --fillrows před sloupci vyplní řádky\n"
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"Více informací naleznete v column(1).\n"
+
+#: text-utils/column.c:150
+msgid "invalid columns argument"
+msgstr "neplatnĂ˝ argument sloupcĹŻ"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr "řádek %d je příliš dlouhý, výstup bude zkrácen"
+
+#: text-utils/display.c:262
+msgid "all input file arguments failed"
+msgstr "všechny argumenty vstupního souboru selhaly"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+"Volání hexdump ve stylu od bylo prohlášeno za zastaralé ve prospěch „od“ "
+"z GNU coreutils."
+
+#: text-utils/hexsyntax.c:123
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [PĹEPĂŤNAÄŚE] SOUBOR…\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -b výpis po bajtech osmičkově\n"
+" -c výpis po bajtech jako znaky\n"
+" -C normovaný výpis šestnáctkově a v ASCII\n"
+" -d výpis po dvou bajtech desítkově\n"
+" -o výpis po dvou bajtech osmičkově\n"
+" -x výpis po dvou bajtech šestnáctkově\n"
+" -e FORMĂT formátovacĂ­ Ĺ™etÄ›zec pouĹľitĂ˝ pĹ™i vĂ˝pisu dat\n"
+" -f FORMĂTOVACĂŤ_SOUBOR\n"
+" soubor obsahující formátovací řetězce\n"
+" -n DÉLKA interpretuje pouze DÉLKU bajtů ze vstupu\n"
+" -s POZICE přeskočí zadaný počet bajtů na začátku vstupu\n"
+" -v ve výpisu nevynechá podobné řádky\n"
+" -V zobrazí údaje o verzi a skončí\n"
+"\n"
+
+#: text-utils/more.c:300
+#, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr ""
+"PouĹľitĂ­: %s [PĹEPĂŤNAÄŚE] SOUBOR…\n"
+"\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+"Přepínače:\n"
+" -d zobrazí nápovědu namísto zvonku\n"
+" -f počítá logicky namísto řádků obrazovky\n"
+" -l potlaÄŤĂ­ pauzu po posunu (po form feed)\n"
+" -p potlaÄŤĂ­ posun, smaĹľe obrazovku a zobrazĂ­ text\n"
+" -c potlačí posun, zobrazí text a odstraní konce řádků\n"
+" -u potlaÄŤĂ­ podtrĹľenĂ­\n"
+" -s opakující se prázdné řádky srazí do jednoho\n"
+" -ČÍSLO určuje počet řádků na obrazovku\n"
+" +ČÍSLO zobrazí soubor počínaje řádkem ČÍSLO\n"
+" +/ĹETÄšZEC zobrazĂ­ soubor poÄŤĂ­naje řádkem shodujĂ­cĂ­m se s ĹĂDKEM\n"
+" -V zobrazí údaje o verzi a skončí\n"
+
+# more is literal name of the tool
+#: text-utils/more.c:540
+#, c-format
+msgid "more (%s)\n"
+msgstr "more (%s)\n"
+
+#: text-utils/more.c:544
+#, c-format
+msgid "unknown option -%s"
+msgstr "neznámý přepínač -%s"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s je adresář ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"***** %s není textovým souborem *****\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Stiskněte q či Q pro ukončení]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Pokračování--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Další soubor: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Stiskněte mezerník pro pokračování, 'q' pro ukončení.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "…přeskakuji zpět o počet stran: %d"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "…přeskakuji zpět o 1 stranu"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "‥přeskakuji o jeden řádek"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "…přeskakuji o počet řádků: %d"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Zpět***\n"
+
+#: text-utils/more.c:1339
+msgid "No previous regular expression"
+msgstr "Žádný předchozí regulární výraz"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"Většině příkazů může jako argument předcházet celé číslo k. Implicitní "
+"hodnoty\n"
+"jsou v hranatých závorkách. Hvězdička (*) znamená, že hodnota argumentu se\n"
+"stane implicitnĂ­.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<mezerník> Zobrazí dalších k řádků textu. [aktuální velikost\n"
+" obrazovky]\n"
+"z Zobrazí dalších k řádků textu. [aktuální velikost\n"
+" obrazovky]*\n"
+"<return> Zobrazí dalších k řádků textu. [1]*\n"
+"d či ctrl-D Posun o k řádků [aktuální velikost posunu, po "
+"spuštění\n"
+" 11]*\n"
+"q ÄŤi Q ÄŤi <interrupt> UkonÄŤenĂ­ programu\n"
+"s Posun vpřed o k řádků [1]\n"
+"f Posun vpřed o k stran [1]\n"
+"b ÄŤi ctrl-B Posun vzad o k stran [1]\n"
+"' Přeskočí na místo, kde bylo zahájeno předchozí "
+"hledání\n"
+"= Zobrazí číslo aktuálního řádku\n"
+"/<regulární výraz> Hledá k. výskyt regulárního výrazu [1]\n"
+"n Hledá k. výrazu posledního regulárního výrazu [1]\n"
+"!<příkaz> či :!<příkaz> Spustí <příkaz> v podshellu\n"
+"v Spustí /usr/bin/vi na aktuálním řádku\n"
+"ctrl-L Překreslí obrazovku\n"
+":n Přeskočí na k. následující soubor [1]\n"
+":p Přeskočí na k. předcházející soubor [1]\n"
+":f Vypíše jméno aktuálního souboru a číslo aktuálního "
+"řádku\n"
+". Zopakuje předcházející příkaz\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Stiskněte „h“ pro nápovědu.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "„%s“ řádek %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Nejedná se o soubor] řádek %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Přetečení\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "…vynechávám\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Vzorek nebyl nalezen\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Vzorek nebyl nalezen"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "volání exec selhalo\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "volání fork selhalo\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"…Vynechávám "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "…Přecházím na soubor "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "…Vracím se na soubor "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Ĺádek je příliš dlouhĂ˝"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Neexistuje žádný příkaz, jenž by bylo možno nahradit"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "řádek je příliš dlouhý"
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr "poÄŤet bajtĹŻ s vĂ­ce neĹľ jednĂ­m konverznĂ­m znakem"
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "chybnĂ˝ poÄŤet bajtĹŻ pro konverznĂ­ znak %s"
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "%%s vyžaduje uvedení přesnosti či počtu bajtů"
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr "chybný formát {%s}"
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr "chybnĂ˝ znak v konverzi %%%s"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+"-------------------------------------------------------\n"
+" h tato obrazovka\n"
+" q nebo Q ukonÄŤit program\n"
+" <nový řádek> další stránka\n"
+" f posunout se o stránku vpřed\n"
+" d nebo ^D další půlstránka\n"
+" l další řádek\n"
+" $ poslední stránka\n"
+" /regvýr/ hledat regulárním výrazem směrem dopředu\n"
+" ?regvýr? nebo ^regvýr^ hledat regulárním výrazem směrem dozadu\n"
+" . nebo ^L překreslit obrazovku\n"
+" w nebo z nastavit velikost stránky a přejít na další "
+"stránku\n"
+" s název_souboru uložit současný soubor pod jménem\n"
+" !příkaz utéct do shellu\n"
+" p přejít na předchozí soubor\n"
+" n přejít na další soubor\n"
+"\n"
+"Mnoho příkazů přijímá předcházející čísla, na příklad: +1<nový řádek> "
+"(další\n"
+"stránka); -1<nový řádek> (předchozí stránka); 1<nový řádek> (první "
+"stránka).\n"
+"\n"
+"Podrobnosti se lze dozvědět z pg(1).\n"
+"-------------------------------------------------------\n"
+
+#: text-utils/pg.c:224
+#, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr " %s [přepínače] [+řádek] [+/vzor/] [soubor]\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr " -number řádků na stránku\n"
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr " -c před zobrazením smazat obrazovku\n"
+
+#: text-utils/pg.c:229
+msgid " -e do not pause at end of a file\n"
+msgstr " -e nezastavit se na konci souboru\n"
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr " -f nedělit dlouhé řádky\n"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr " -n ukončit příkaz novým řádkem\n"
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr " -p <výzva> definuje výzvu\n"
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr " -r zakáže útěk do shellu\n"
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr " -s zprávy vypisuje na standardní výstup\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr " +číslo začne na zadaném řádku\n"
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr " +/vzor/ začne na řádku obsahujícím vzor\n"
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr " -h zobrazí tuto nápovědu a skončí\n"
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr " -V vypíše údaje o verzi a skončí\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: volba „%s“ vyžaduje argument\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: neplatná volba -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "…skáču vpřed\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "…skáču vzad\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Žádný následující soubor"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Žádný předchozí soubor"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Chyba ÄŤtenĂ­ ze souboru %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Neočekávaná značka konce souboru v %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Neznámá chyba v souboru %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Nelze vytvořit dočasný soubor\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "Chyba regulárního výrazu: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(KONEC SOUBORU)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Žádný zapamatovaný řetězec pro vyhledání"
+
+#: text-utils/pg.c:1313
+msgid "cannot open "
+msgstr "nelze otevřít "
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "uloĹľeno"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !příkaz není dovolen v režimu rflag.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() selhal, zkuste to později\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr "%s %s Copyright © 2000–2001 Gunnar Ritter. Všechna práva vyhrazena.\n"
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Další soubor: "
+
+#: text-utils/rev.c:77
+#, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "PouĹľitĂ­: %s [PĹEPĂŤNAÄŚE] [SOUBOR…]\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"Více informací naleznete v rev(1).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "neúplný zápis do „%s“ (zapsáno %zd, očekáváno %zd)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+"%s: nelze přidat sledování pomocí inotify (počet sledování inotify vyčerpán)."
+
+#: text-utils/tailf.c:198
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [PĹEPĂŤNAÄŚ] SOUBOR\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínač:\n"
+" -n, --lines POČET vypíše posledních POČET řádků\n"
+" -ČÍSLO stejné jako „-n ČÍSLO“\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+msgid "failed to parse number of lines"
+msgstr "nezdařilo se rozebrat počet řádků"
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr "nezadán žádný vstupní soubor"
+
+#: text-utils/ul.c:136
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr ""
+"\n"
+"PouĹľitĂ­:\n"
+" %s [PĹEPĂŤNAÄŚE] [SOUBOR…]\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINĂL pĹ™ebije promÄ›nnou prostĹ™edĂ­ TERM\n"
+" -i, --indicated podtržení je vyznačeno samostatným řádkem\n"
+" -V, --version zobrazí údaje o verzi a skončí\n"
+" -h, --help zobrazí tuto nápovědu a skončí\n"
+"\n"
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "chyba při čtení terminfo databáze"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr "terminál „%s“ není znám, použije se „dump“"
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "neznámá posloupnost řídicích znaků na vstupu: %o, %o"
+
+#: text-utils/ul.c:648
+msgid "Input line too long."
+msgstr "Vstupní řádek je příliš dlouhý."
+
+#~ msgid "cannot open file %s"
+#~ msgstr "soubor %s nelze otevřít"
+
+#~ msgid "cannot stat file %s"
+#~ msgstr "volání stat na souboru %s selhalo"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s [-hv] [-x ADRESĂĹ] SOUBOR\n"
+#~ " -h vypíše tuto nápovědu\n"
+#~ " -x ADRESĂĹ extrahuje do ADRESĂĹE\n"
+#~ " -v podrobnější hlášky\n"
+#~ " SOUBOR kontrolovanĂ˝ soubor\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "volání open selhalo: %s"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "PouĹľitĂ­: %s [-larvsmf] NĂZEV_ZAĹĂŤZENĂŤ\n"
+
+#~ msgid "unable to open '%s': %m"
+#~ msgstr "„%s“ nelze otevřít: %m"
+
+#~ msgid "failed to open %s"
+#~ msgstr "%s se nepodařilo otevřít"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "volání stat pro zařízení %s selhalo"
+
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "nezdařilo se rozebrat argument velikosti bloku"
+
+#~ msgid "cannot stat %s"
+#~ msgstr "o %s nelze získat podrobnosti"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s: otevření se nezdařilo"
+
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "chyba: nebude se zkoušet vytvořit odkládací zařízení na „%s“"
+
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "ĹĂ­dicĂ­ syrovĂ© zařízenĂ­ „%s“ nelze otevřít (%s)\n"
+
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: otevření selhalo"
+
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s [PĹEPĂŤNAÄŚE] <ZAĹĂŤZENĂŤ>\n"
+#~ "\n"
+#~ "Přepínače:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "VĂ­ce informacĂ­ naleznete ve swaplabel(8).\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Soubor „%s“ nelze otevřít"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Nebudete moci uložit tabulku rozdělení disku.\n"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Tento disk má magické signatury DOSU i BSD.\n"
+#~ "Pro vstup do BSD režimu použijte příkaz „b“.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Diskový oddíl %i nezačíná na hranici cylindru:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "mělo by být (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "mělo by být (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Na disku %s není korektní tabulka rozdělení disku.\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "%s nelze otevřít.\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Toto jádro detekuje velikost sektoru automaticky - přepínač -b ignorován\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "nedostatek paměti?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: předčasný konec vstupu\n"
+
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "VAROVĂNĂŤ: %s se nepodaĹ™ilo otevřít"
+
+#~ msgid "WARNING: bad format on line %d of %s"
+#~ msgstr "VAROVĂNĂŤ: chybnĂ˝ formát na řádku %d souboru %s"
+
+#~ msgid ""
+#~ "WARNING: Your /etc/fstab does not contain the fsck passno\n"
+#~ "\tfield. I will kludge around things for you, but you\n"
+#~ "\tshould fix your /etc/fstab file as soon as you can.\n"
+#~ msgstr ""
+#~ "VAROVĂNĂŤ: Váš /etc/fstab neobsahuje poloĹľku s poĹ™adĂ­m kontroly [passno].\n"
+#~ "\tNějak se s tím poperu, ale vy byste měli /etc/fstab opravit\n"
+#~ "\tco nejdříve.\n"
+
+#~ msgid "couldn't open %s"
+#~ msgstr "%s nelze otevřít"
+
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "/dev/port nelze otevřít"
+
+#~ msgid "failed to parse epoch"
+#~ msgstr "epochu se nezdařilo rozebrat"
+
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Zadal jste vícero funkčních přepínačů.\n"
+#~ "Program může provést v jeden okamžik právě jednu funkci."
+
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "Přepínače --utc a --localtime se vzájemně vylučují. Zadali jste oba."
+
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "Přepínače --adjust a --noadjfile se vzájemně vylučují. Zadali jste oba."
+
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "Přepínače --adjfile a --noadjfile se vzájemně vylučují. Zadali jste oba."
+
+#~ msgid "open() of %s failed"
+#~ msgstr "%s nelze otevřít - volání open() selhalo"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "%s nebylo možné otevřít."
+
+#~ msgid "Unable to open %s"
+#~ msgstr "%s nelze otevřít"
+
+#~ msgid "error: cannot open %s"
+#~ msgstr "chyba: nelze otevřít %s"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "%s nelze otevřít pro čtení, končím."
+
+#~ msgid "cannot lock group file"
+#~ msgstr "soubor se skupinami nelze zamknout"
+
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s soubor se právě používá (nalezen %s)"
+
+#~ msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+#~ msgstr "PouĹľitĂ­: %s LABEL=<JMENOVKA>|UUID=<UUID>\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "VĂ­ce informacĂ­ naleznete ve findmnt(1).\n"
+
+#~ msgid "failed to parse timeout"
+#~ msgstr "nezdařilo se rozebrat časový limit"
+
+#~ msgid "failed to parse sigval"
+#~ msgstr "nezdařilo rozebrat hodnotu signálu"
+
+#~ msgid "failed to parse port number"
+#~ msgstr "číslo portu se nezdařilo rozebrat"
+
+#~ msgid "port `%ld' out of range"
+#~ msgstr "port „%ld“ je mimo meze"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Více informací naleznete v lsblk(8).\n"
+
+#~ msgid "Could not open %s"
+#~ msgstr "%s nebylo možné otevřít"
+
+#~ msgid "could not stat '%s'"
+#~ msgstr "o „%s“ nelze získat podrobnosti"
+
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "zadána neplatná hodnota pozice „%s“"
+
+#~ msgid "--offset and --all are mutually exclusive"
+#~ msgstr "--offset a --all se vzájemně vylučují"
+
+#~ msgid "only one device as argument is currently supported."
+#~ msgstr "v současnosti je podporováno pouze jedno zařízení v argumentu"
+
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "pozor: mtab se nepodařilo načíst"
+
+#~ msgid "the options %s are mutually exclusive"
+#~ msgstr "volby %s se vzájemně vylučují"
+
+#~ msgid "failed to parse priority"
+#~ msgstr "prioritu se nezdařilo rozebrat"
+
+#~ msgid "failed to parse class data"
+#~ msgstr "nezdařilo rozebrat data třídy"
+
+#~ msgid "failed to parse class"
+#~ msgstr "nezdařilo rozebrat třídu"
+
+#~ msgid ""
+#~ "configure, deconfigure, disable, dispatch, enable and rescan are mutually "
+#~ "exclusive"
+#~ msgstr ""
+#~ "nastavení, odnastavení, vypnutí, režim rozhodování, zapnutí a zahájení "
+#~ "hledání se vzájemně vylučují"
+
+#~ msgid "cannot stat: %s"
+#~ msgstr "nelze zĂ­skat podrobnosti o: %s"
+
+#~ msgid ""
+#~ "clear, read-clear, console-level, console-on, and console-off options are "
+#~ "mutually exclusive"
+#~ msgstr ""
+#~ "přepínače clear, read-clear, console-level, console-on and console-off se "
+#~ "vzájemně vylučují"
+
+#~ msgid "failed to parse buffer size"
+#~ msgstr "nezdařilo se rozebrat velikost bufferu"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "VĂ­ce informacĂ­ naleznete ve fallocate(1).\n"
+
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s: volání fstat selhalo"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Více informací naleznete v fstrim(8).\n"
+
+#~ msgid "invalid speed"
+#~ msgstr "neplatná rychlost"
+
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "zadána neplatná pozice „%s“"
+
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "zadána neplatná velikost „%s“"
+
+#~ msgid "failed to setup loop device"
+#~ msgstr "nepodařilo se nastavit loop zařízení"
+
+#~ msgid "extended and parsable formats are mutually exclusive"
+#~ msgstr "rozšířený a rozebratelný formát se vzájemně vylučují"
+
+#~ msgid "--all, --online and --offline options are mutually exclusive"
+#~ msgstr "argumenty --all, --online a --offline se vzájemně vylučují"
+
+#~ msgid "only one <source> may be specified"
+#~ msgstr "pouze jeden <zdroj> smí být zadán"
+
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "paměť pro zdroj nelze alokovat"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Podrobnosti naleznete v mountpoint(1).\n"
+
+#~ msgid "only use one PID at a time"
+#~ msgstr "najednou lze použít pouze jeden PID"
+
+#~ msgid "cannot parse PID"
+#~ msgstr "PID nelze rozebrat"
+
+#~ msgid "failed to parse seconds value"
+#~ msgstr "nezdařilo se rozebrat hodnotu sekund"
+
+#~ msgid "failed to parse time_t value"
+#~ msgstr "nezdařilo se rozebrat hodnotu time_t"
+
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: neočekávaný formát souboru"
+
+#~ msgid "'%s' is unsupported program name (must be 'swapon' or 'swapoff')."
+#~ msgstr ""
+#~ "„%s“ není název podporovaného programu (musí být „swapon“ nebo „swapoff“)."
+
+#~ msgid "failed to stat directory"
+#~ msgstr "volání stat nad adresářem selhalo"
+
+#~ msgid "failed to stat directory %s"
+#~ msgstr "volání stat nad adresářem %s selhalo"
+
+#~ msgid "stat %s failed"
+#~ msgstr "volání stat nad %s selhalo"
+
+#~ msgid "cannot open timing file %s"
+#~ msgstr "časový soubor %s nelze otevřít"
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "soubor %s se záznamem vstupu nelze otevřít"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Podrobnosti naleznete v lsblk(1).\n"
+
+#~ msgid "argument %lu is too large"
+#~ msgstr "argument %lu je příliš velký"
+
+# FIXME: Getting teminal environment variable...
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "získání terminálové proměnné prostředí COLUMNS selhalo"
+
+#~ msgid "bad columns width value"
+#~ msgstr "chybná hodnota počtu sloupců"
+
+#~ msgid "-%c positive integer expected as an argument"
+#~ msgstr "-%c: jako argument se očekává kladné celé číslo"
+
+#~ msgid "bad length value"
+#~ msgstr "chybná hodnota délky"
+
+#~ msgid "bad skip value"
+#~ msgstr "chybná hodnota přeskočení začátku"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: PouĹľitĂ­: %s [-ÄŚĂŤSLO] [-p ĹETÄšZEC] [-cefnrs] [+ĹĂDEK] [+/VZOREK/] "
+#~ "[SOUBOR…]\n"
+
+#~ msgid "Cannot open "
+#~ msgstr "Nelze otevřít "
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "„%s“ nelze otevřít pro čtení"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "o „%s“ nelze získat podrobnosti"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d smazat BSD oddĂ­l"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l vypsat známé typy systémů souborů"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n vytvořit nový BSD oddíl"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p vytisknout BSD tabulku rozdělení disku"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t změní ID systému souborů daného oddílu"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u změní jednotky (cylindry/sektory)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p vypíše tabulku rozdělení disku"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Vytvářím novou DOSOVOU tabulku rozdělení disku s identifikátorem 0x%08x.\n"
+#~ "Změny budou uloženy pouze v paměti, dokud se nerozhodnete je uložit na "
+#~ "disk.\n"
+#~ "Poté již nebudou stará data pochopitelně dostupná.\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Zařízení neobsahuje ani DOSOVOU tabulku rozdělení disku, ani SUN či SGI "
+#~ "popis\n"
+#~ "disku\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Vnitřní chyba\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tPro SGI oddíly nejsou k dispozici žádné rozšiřující funkce.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Víte, že na vašem disku se oddíly překrývají?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Vytvářím nový SGI popis disku. Změny budou uloženy pouze do paměti,\n"
+#~ "dokud se nerozhodnete je uložit na disk. Poté již nebudou stará data\n"
+#~ "pochopitelně dostupná.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "nedostatek paměti - končím\n"
+
+#~ msgid "%-20s: failed: %s\n"
+#~ msgstr "%-20s: neúspěch: %s\n"
+
+#~ msgid "%-20s: failed\n"
+#~ msgstr "%-20s: neúspěch\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Více informací naleznete v mount(8).\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: nedostatek paměti, přihlášení se nemusí zdařit\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "paměť pro ttyclass nelze alokovat"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "paměť pro grplist nelze alokovat"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Přihlášení z %2$s na tty %1$s implicitně odmítnuto.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Přihlášení z $2%s na $1%s odmítnuto.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Použití: %s [ -f plné-jméno ] [ -o kancelář ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ -- version ]\n"
+
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "%s: chyba PAM, konÄŤĂ­ se: %s"
+
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Použití: %1$s [-s SHELL] [UŽIVATELSKÉ_JMÉNO]\n"
+#~ " nebo: %1$s (--list-shells | --help | --version)\n"
+
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s: měnit lze pouze místní záznamy."
+
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: nelze nastavit výchozí kontext pro /etc/passwd"
+
+#~ msgid "setpwnam failed"
+#~ msgstr "funkce setpwnam selhala"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: Seznam vypíšete přepínačem -l.\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Použijte %s -l pro vypsání seznamu\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "Použití: login [fp] [uživatelské jméno]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "nedostatek paměti"
+
+#~ msgid "Illegal username"
+#~ msgstr "Chybné uživatelské jméno"
+
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "přihlášení uživatele %s na tomto terminálu odmítnuto."
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %s Z %s NA TTY %s ODMĂŤTNUTO"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %s NA TTY %s ODMĂŤTNUTO"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Chybné přihlášení\n"
+
+#~ msgid "change terminal owner failed"
+#~ msgstr "nepodařilo se změnit vlastníka terminálu"
+
+#~ msgid "failure forking"
+#~ msgstr "volání fork selhalo"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "Přihlašovací jméno na %s: "
+
+#~ msgid "NAME too long"
+#~ msgstr "JMÉNO je příliš dlouhé"
+
+#~ msgid "login name much too long."
+#~ msgstr "přihlašovací jméno je příliš dlouhé."
+
+#~ msgid "login names may not start with '-'."
+#~ msgstr "přihlašovací jména nesmí začínat na „-“."
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "PĹĂŤLIĹ  mnoho znakĹŻ odřádkovánĂ­"
+
+#~ msgid "too many bare linefeeds."
+#~ msgstr "příliš mnoho znaků odřádkování."
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "CHYBNÉ PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %2$s Z %1$s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "CHYBNÉ PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %2$s NA TTY %1$s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "POÄŚET CHYBNĂťCH PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %3$s Z %2$s: %1$d"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "POÄŚET CHYBNĂťCH PĹIHLĂĹ ENĂŤ UĹ˝IVATELE %3$s NA TTY %2$s: %1$d"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: soubor se skupinami se právě používá.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr "%s: %s nelze odemknout: %s (Vaše změny jsou stále v %s)\n"
+
+#~ msgid "calloc failed"
+#~ msgstr "funkce calloc selhala"
+
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "POZOR: %s: zdá se, že obsahuje tabulku rozdělení disku „%s“"
+
+#~ msgid "no magic string found at offset 0x%jx -- ignored"
+#~ msgstr "na pozici 0x%jx nebyl nalezen žádný magický řetězec – ignoruje se"
+
+#~ msgid "%s: write failed"
+#~ msgstr "%s: zápis se nezdařil"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: adresář /dev neexistuje."
+
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: zařízení %s nelze nastavit kapacitu: %s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", odsazenĂ­ %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", šifrovací typ %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: informace o zařízení %s nelze získat: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: zařízení %s nelze otevřít: %s\n"
+
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: chybí oprávnění na prohlédnutí /dev/loop%s<N>"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Žádné loop zařízení nelze nalézt Toto jádro možná\n"
+#~ " nezná loop zařízení? (Pokud je tomu tak, pak jej znovu přeložte,\n"
+#~ " či zkuste „modprobe loop“.)"
+
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Během čtení hesla došla paměť"
+
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "varování: %s je již spojeno s %s\n"
+
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr ""
+#~ "varování: %s: je chráněno proti zápisu, připojuji pouze pro čtení.\n"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "selhalo ioctl LOOP_SET_FD: %s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu,%llu): úspěch\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): úspěch\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: zařízení %s nelze smazat: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Tento program byl přeložen bez podpory pro loop. Přeložte jej znovu.\n"
+
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "ukradený loop=%s… zkouším znovu\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Podpora pro loop nebyla při překladu zadána. Přeložte program znovu.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Více informací naleznete v partx(8).\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s [-q [-i interval]] ([-s hodnota]|[-S hodnota]) ([-t hodnota]|"
+#~ "[-T hodnota]) [-g|-G] soubor [soubor…]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "%s nelze otevřít: %s\n"
+
+#~ msgid ""
+#~ " -s --shared Get a shared lock\n"
+#~ " -x --exclusive Get an exclusive lock\n"
+#~ " -u --unlock Remove a lock\n"
+#~ " -n --nonblock Fail rather than wait\n"
+#~ " -w --timeout Wait for a limited amount of time\n"
+#~ " -o --close Close file descriptor before running command\n"
+#~ " -c --command Run a single command string through the shell\n"
+#~ " -h --help Display this text\n"
+#~ " -V --version Display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ " -s --shared Získá sdílený zámek\n"
+#~ " -x --exclusive Získá výlučný zámek\n"
+#~ " -u --unlock Odstraní zámek\n"
+#~ " -n --nonblock Místo čekání selže\n"
+#~ " -w --timeout Čeká nejvýše zadanou dobu\n"
+#~ " -o --close Před spuštěním příkazu uzavře deskriptor souboru\n"
+#~ " -c --command Spustí řetězec jako jediný příkaz shellu\n"
+#~ " -h --help ZobrazĂ­ tento text\n"
+#~ " -V --version ZobrazĂ­ verzi\n"
+
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: soubor zámku %s nelze otevřít: %s\n"
+
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: chybné číslo: %s\n"
+
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s: volání fork selhalo: %s\n"
+
+#~ msgid ""
+#~ " -M <size> create shared memory segment of size <size>\n"
+#~ " -S <nsems> create semaphore array with <nsems> elements\n"
+#~ " -Q create message queue\n"
+#~ " -p <mode> permission for the resource (default is 0644)\n"
+#~ msgstr ""
+#~ " -M VELIKOST vytvoří sdílený paměťový segment o velikost VELIKOST\n"
+#~ " -S POČET vytvoří pole semaforu s POČTEM prvků\n"
+#~ " -Q vytvoří frontu zpráv\n"
+#~ " -p MÓD práva pro zdroj (výchozí jsou 0644)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Podrobnosti naleznete v ipcmk(1).\n"
+
+#~ msgid "cannot remove id %s (%s)\n"
+#~ msgstr "id %s nelze odstranit (%s)\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "Zavrhovaný způsob použití: %s [shm | msg | sem] id…\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "typ zdroje %s není znám\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s [ [-q ID_ZPRĂVY] [-m ID_SDĂŤLENÉ_PAMÄšTI] [-s ID_SEMAFORU]\n"
+#~ " [-Q KLĂŤÄŚ_ZPRĂVY] [-M KLĂŤÄŚ_SDĂŤLENÉ_PAMÄšTI] [-S KLĂŤÄŚ_SEMAFORU] "
+#~ "… ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "neznámá chyba v klíči"
+
+#~ msgid "unknown error in id"
+#~ msgstr "neznámá chyba v id"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h for help\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h pro nápovědu\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [resource]... [output-format]\n"
+#~ " %1$s [resource] -i id\n"
+#~ "\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %1$s [PROSTĹEDEK…] [VĂťSTUPNĂŤ_FORMĂT]\n"
+#~ " %1$s [PROSTĹEDEK] -i ID\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr "Poskytuje informace o prostředcích IPC, které můžete číst.\n"
+
+#~ msgid ""
+#~ "Resource options:\n"
+#~ " -m shared memory segments\n"
+#~ " -q message queues\n"
+#~ " -s semaphores\n"
+#~ " -a all (default)\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Volby prostředků:\n"
+#~ " -m sdílené segmenty paměti\n"
+#~ " -q fronty zpráv\n"
+#~ " -s semafory\n"
+#~ " -a vše (implicitní)\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Output format:\n"
+#~ " -t time\n"
+#~ " -p pid\n"
+#~ " -c creator\n"
+#~ " -l limits\n"
+#~ " -u summary\n"
+#~ msgstr ""
+#~ "Výstupní formát:\n"
+#~ " -t ÄŤas\n"
+#~ " -p PID\n"
+#~ " -c tvĹŻrce\n"
+#~ " -l omezenĂ­\n"
+#~ " -u souhrn\n"
+
+#~ msgid ""
+#~ " %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> <device>\n"
+#~ msgstr " %s [-dhV78neo12] [-s RYCHLOST] [-i [-]IFLAG] LDISC ZAĹĂŤZENĂŤ\n"
+
+#~ msgid "ldattach from %s\n"
+#~ msgstr "ldattach z %s\n"
+
+# FIXME: full stops at the end of some lines
+#~ msgid ""
+#~ " -h, --help print this help\n"
+#~ " -p, --parse <list> print out a parsable instead of a readable format\n"
+#~ " -s, --sysroot <dir> use directory DIR as system root\n"
+#~ " -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+#~ "\n"
+#~ msgstr ""
+#~ " -h, --help zobrazí tuto nápovědu\n"
+#~ " -p, --parse SEZNAM vypíše ve strojově zpracovatelné podobě namísto\n"
+#~ " vhodné pro člověka\n"
+#~ " -s, --sysroot ADRESĂĹ pouĹľije ADRESĂĹ jako koĹ™en systĂ©mu\n"
+#~ " -x, --hex vypíše šestnáctkové masky namísto seznamů CPU\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: PouĹľitĂ­: \"%s [VOLBY]\n"
+#~ "\t -m <MAPSOUBOR> (implicitní: „%s“ a\n"
+#~ "\t\t\t\t „%s“)\n"
+#~ "\t -p <PRO-SOUBOR> (implicitní: „%s“)\n"
+#~ "\t -M <HODNOTA> nastaví HODNOTU profilovacího multiplikátoru\n"
+#~ "\t -i vypíše pouze informace o profilovacím kroku\n"
+#~ "\t -v vypíše podrobné informace\n"
+#~ "\t -a vypíše veškeré symboly i pokud je hodnota čítače 0\n"
+#~ "\t -b vypíše jednotlivé histogram-bin čítače\n"
+#~ "\t -s vypíše jednotlivé čítače uvnitř funkcí\n"
+#~ "\t -r vynuluje veškeré čítače (pouze root)\n"
+#~ "\t -n zakáže autodetekci pořadí bytů\n"
+#~ "\t -V vypíše informace o verzi a skončí\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile: chyba při zápisu %s: %s\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Více informací naleznete v rtcwake(8).\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Více informací naleznete v setarch(8).\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "Více informací získáte příkazem „%s --help“.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "Použití: %s PROGRAM [ARGUMENT…]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s <zařízenĂ­> [ -i <IRQ> | -t <ÄŚAS> | -c <ZNAKY> | -w <ÄŚEKĂNĂŤ> "
+#~ "| \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s |\n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: chybná hodnota\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Více informací naleznete v unshare(1).\n"
+
+#~ msgid " %s -V\n"
+#~ msgstr " %s -V\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [ZAĹĂŤZENÍ…]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] PĹĂŤKAZ… ZAĹĂŤZENÍ…\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Dostupné příkazy:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: nelze otevřít: %s\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "chyba rozebírání\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "PouĹľitĂ­: %s [-n] ZAĹĂŤZENĂŤ\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: není blokové zařízení\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "volání malloc selhalo"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: chyba při analýze přepínačů\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "PouĹľitĂ­: %s [-x] [-d <num>] iso9660-obraz\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Použití: %s [-v] [-N počet i-uzlů] [-V název svazku]\n"
+#~ " [-F název ss] zařízení [počet bloků]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "o %s nelze zĂ­skat informace"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "nelze zjistit velikost sektoru %s"
+
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: volání calloc() selhalo: %s\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s [-c] [-pVELIKOST_STRĂNKY] [-L JMENOVKA] [-U UUID] ZAĹĂŤZENĂŤ "
+#~ "[BLOKY]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Nedostatek paměti"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "PouĹľitĂ­:\n"
+#~ " %s "
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Nabídka beze směru. Používám vodorovný."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr "Musíte nejprve některé oddíly smazat a přidat rozšířený oddíl.\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Příkaz\n"
+#~ " %s\n"
+#~ " p primární oddíl (1-4)\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Lituji, můžete měnit značku neprázdných oddílů.\n"
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Varování: oddíly %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "a %s se navzájem překrývají.\n"
+
+#~ msgid "device: something like /dev/hda or /dev/sda"
+#~ msgstr "Zařízení: něco jako /dev/hda či /dev/sda"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [či --show-size]: vypíše velikost oddílu"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [či --id]: vypíše či změní ID oddílu"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [či --list]: ke každému zařízení vypíše oddíly"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [či --dump]: taktéž, ale ve formátu vhodném k dalšímu "
+#~ "zpracování"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr " -i [ÄŤi --increment]: ÄŤĂ­sluje cylindry etc. od 1 mĂ­sto od 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: jako jednotky pouĹľije Sektory/Bloky/Cylindry ÄŤi "
+#~ "MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [či --list-types]:vypíše známé typy oddílů"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [či --DOS]: pro kompatibilitu s DOSEM: ubírá trochu místa"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [či --re-read]: donutí jádro znovu načíst tabulku rozdělení disku"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : změní pouze oddíl s číslem #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr " -O SOUBOR : uloží změněné sektory do SOUBORU"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I SOUBOR : obnovĂ­ tyto sektory ze SOUBORU"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [či --version]: vypíše informace o verzi"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [či --help]: vypíše tuto nápovědu"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [ÄŤi --show-geometry]:\n"
+#~ " vypíše informace o geometrii, které udržuje jádro"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [či --Linux]: problémy nepodstatné pro Linux budou ignorovány"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [či --quiet]: nebude vypisovat varovné hlášky"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Nalezenou geometrii můžete přepsat pomocí:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# [ÄŤi --cylinders #]:nastavĂ­ poÄŤet cylindrĹŻ"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [ÄŤi --heads #]: nastavĂ­ poÄŤet hlav"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [ÄŤi --sectors #]: nastavĂ­ poÄŤet cylindrĹŻ"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Ověřování konzistence můžete vypnout pomocí:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [či --force]: akceptuje veškeré - i nesmyslné - požadavky"
+
+#~ msgid "success"
+#~ msgstr "úspěch"
+
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "Pro typy souborových systémů nebylo možné alokovat paměť\n"
+
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: fsck [-AMNPRTV] [-C [fd]][-t typ_ss] [volby_ss] "
+#~ "[systém_souborů…]\n"
+
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "%s nebylo možné otevřít: %s\n"
+
+#~ msgid "fsck from %s\n"
+#~ msgstr "fsck z %s\n"
+
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "%s: Paměť pro fsck_path nelze alokovat\n"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Více informací získáte příkazem ?getopt --help“.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Použití: getopt řetězec-s-volbami přepínače\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [volby] [--] řetězec-s-volbami přepínače\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " argumenty\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (rozšířené) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Očekáváno „UTC“, „LOCAL“ či nic.)\n"
+
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock – zjišťuje a nastavuje čas hardwarových hodin (RTC)\n"
+#~ "\n"
+#~ "Použití: hwclock [FUNKCE] [VOLBY…]\n"
+#~ "\n"
+#~ "Funkce:\n"
+#~ " -h | --help ukáže tuto nápovědu\n"
+#~ " -r | --show zjistí a vypíše aktuální stav hodin reálného času\n"
+#~ " --set nastavĂ­ RTC na hodnotu zadanou volbou --date\n"
+#~ " -s | --hctosys nastaví systémový čas podle hodin reálného času\n"
+#~ " -w | --systohc nastaví RTC podle aktuálního systémového času\n"
+#~ " --systz nastaví systémový čas na základě současné časové "
+#~ "zĂłny\n"
+#~ " --adjust opraví RTC o systematický posun, který nastal od "
+#~ "poslednĂ­\n"
+#~ " opravy ÄŤi nastavenĂ­ RTC\n"
+#~ " --getepoch vypíše počátek epochy hodin reálného času podle "
+#~ "jádra\n"
+#~ " --setepoch nastaví jádru počátek epochy hodin reálného času "
+#~ "na\n"
+#~ " hodnotu zadanou volbou --epoch\n"
+#~ " --predict předpoví hodnotu RTC v době zadané pomocí --date\n"
+#~ " -v | --version vypíše verzi hwclocku na standardní výstup\n"
+#~ "\n"
+#~ "Volby: \n"
+#~ " -u | --utc hodiny reálného času jdou v UTC\n"
+#~ " --localtime hodiny reálného času jdou v místním čase\n"
+#~ " -f | --rtc=CESTA namísto výchozího zařízení použije z /dev/… jiné\n"
+#~ " --directisa místo %s použije přímo ISA sběrnici\n"
+#~ " --badyear ignoruje rok z RTC, protože BIOS je rozbitý\n"
+#~ " --date čas, na který budou nastaveny hodiny reálného času\n"
+#~ " --epoch=ROK určuje rok, kdy začíná epocha hodin reálného času\n"
+#~ " --noadjfile nepouĹľije /etc/adjtime. VyĹľaduje pouĹľitĂ­ buÄŹ --"
+#~ "utc,\n"
+#~ " nebo --localtime\n"
+#~ " --adjfile=CESTA\n"
+#~ " určuje cestu k souboru se systematickým posunem\n"
+#~ " (implicitnĂ­ je /etc/adjtime)\n"
+#~ " --test provede vše kromě vlastního nastavení hodin "
+#~ "reálného\n"
+#~ " času nebo čehokoliv jiného\n"
+#~ " -D | --debug ladicĂ­ reĹľim\n"
+#~ "\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "paměť pro inicializační řetězec nelze alokovat"
+
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s [-8hiLmsUw] [-l LOGIN_PROGRAM] [-t ÄŚASOVĂť_LIMIT] [-I "
+#~ "INICIALIZAÄŚNĂŤ_ĹETÄšZEC] [-H POÄŚĂŤTAÄŚ] BAUD_RATE,… LINKA [TYP_TERMINĂLU]\n"
+#~ "ÄŤi\t[-hiLmw] [-l LOGIN_PROGRAM] [-t ÄŚASOVĂť_LIMIT] [-I "
+#~ "INICIALIZAÄŚNĂŤ_ĹETÄšZEC] [-H POÄŚĂŤTAÄŚ] LINKA BAUD_RATE,… [TYP_TERMINĂLU]\n"
+
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "PouĹľitĂ­: %s [y | n]"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: ZĂVAĹ˝NĂ CHYBA"
+
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "PouĹľitĂ­: %s [-n] [SOUBOR]\n"
+
+#~ msgid "can't read: %s"
+#~ msgstr "nelze přečíst: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " -s, --fstab search in static table of filesystems\n"
+#~ " -m, --mtab search in table of mounted filesystems\n"
+#~ " -k, --kernel search in kernel table of mounted \n"
+#~ " filesystems (default)\n"
+#~ "\n"
+#~ " -c, --canonicalize canonicalize printed paths\n"
+#~ " -d, --direction <word> search direction - 'forward' or 'backward'\n"
+#~ " -e, --evaluate print all TAGs (LABEL/UUID) evaluated\n"
+#~ " -f, --first-only print the first found filesystem only\n"
+#~ " -h, --help print this help\n"
+#~ " -i, --invert invert sense of matching\n"
+#~ " -l, --list use list format output\n"
+#~ " -n, --noheadings don't print headings\n"
+#~ " -u, --notruncate don't truncate text in columns\n"
+#~ " -O, --options <list> limit the set of filesystems by mount options\n"
+#~ " -o, --output <list> output columns\n"
+#~ " -r, --raw use raw format output\n"
+#~ " -a, --ascii use ascii chars for tree formatting\n"
+#~ " -t, --types <list> limit the set of filesystem by FS types\n"
+#~ " -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+#~ " -R, --submounts print all submount for the matching filesystems\n"
+#~ " -S, --source <string> device, LABEL= or UUID=device\n"
+#~ " -T, --target <string> mountpoint\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Volby:\n"
+#~ " -s, --fstab hledá ve statické tabulce souborových systémů\n"
+#~ " -m, --mtab hledá v tabulce připojených souborových systémů\n"
+#~ " -k, --kernel hledá v jaderné tabulce připojených souborových\n"
+#~ " systémů (implicitní)\n"
+#~ "\n"
+#~ " -c, --canonicalize cesty vypisuje v kanonickém tvaru\n"
+#~ " -d, --direction <SMĚR> směr hledání – „forward“ (dopředné) nebo\n"
+#~ " „backward“ (zpětné)\n"
+#~ " -e, --evaluate všechny značky (jmenovky/UUID) před zobrazením\n"
+#~ " vyhodnotĂ­\n"
+#~ " -f, --first-only vypíše pouze první nalezený souborový systém\n"
+#~ " -h, --help zobrazí tuto nápovědu\n"
+#~ " -i, --invert obrátí smysl vyhledávacích pravidel\n"
+#~ " -l, --list výstup ve formátu seznamu\n"
+#~ " -n, --noheadings nezobrazí záhlaví\n"
+#~ " -u, --notruncate nezkracuje text ve sloupcĂ­ch\n"
+#~ " -O, --options <SEZNAM> omezí množinu souborových systémů podle voleb\n"
+#~ " připojení\n"
+#~ " -o, --output <SEZNAM> zobrazí dané sloupce\n"
+#~ " -r, --raw neformátovaný výstup\n"
+#~ " -a, --ascii pro vykreslenĂ­ stromu pouĹľije znaky ASCII\n"
+#~ " -t, --types <SEZNAM> omezí množinu souborových systémů podle jejich "
+#~ "druhu\n"
+#~ " -v, --nofsroot u vázaných nebo btrfs připojení nevypisuje [/"
+#~ "adresář]\n"
+#~ " -R, --submounts u odpovídajících souborových systémů vypisuje "
+#~ "všechny\n"
+#~ " podřízené body přípojení\n"
+#~ " -S, --source <ĹETÄšZEC> zařízenĂ­, LABEL= (jmenovka) nebo UUID=\n"
+#~ " -T, --target <ĹETÄšZEC> bod pĹ™ipojenĂ­\n"
+#~ "\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: logger [-is] [-f soubor] [-p pri] [-t znaÄŤka] [-u soket] "
+#~ "[zpráva…]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "Použití: look [-dfa] [-t znak] řetězec [soubor]\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "nedostatek paměti?"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "Použití: %s Z NA SOUBOR…\n"
+
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "pouĹľitĂ­: script [-a] [-f] [-q] [-t] [SOUBOR]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s: chyba zápisu %d: %s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s: chyba zápisu: %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term název terminálu]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ atribut ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60|force|poke] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-POÄŚET_KONZOLĂŤ] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-POÄŚET_KONZOLĂŤ] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq frekvence ]\n"
+
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr "PouĹľitĂ­: %s [-d] [-p PID_SOUBOR] [-s CESTA_K_SOCKETU] [-t LIMIT]\n"
+
+#~ msgid " %s [-r|t] [-n num] [-s socketpath]\n"
+#~ msgstr " %s [-r|t] [-n POÄŚ] [-s CESTA_K_SOCKETU]\n"
+
+#~ msgid " %s -k\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "PouĹľitĂ­: %s [-r] [-t]\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM adresář ... -f ] název...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "PouĹľitĂ­: write uĹľivatel [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: %s nelze otevřít: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-d] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "PouĹľitĂ­:\n"
+#~ " %1$s -a [-e] [-v] [-f] zapne všechny odkládací oblasti\n"
+#~ " uvedené v /etc/fstab\n"
+#~ " %1$s [-p PRIORITA] [-d] [-v] [-f] ZVLĂĹ TNĂŤ\n"
+#~ " zapne vybranou odkládací oblast\n"
+#~ " %1$s -s vypíše souhrnné informace o využití\n"
+#~ " odkládacích oblastí\n"
+#~ " %1$s -h vypíše nápovědu\n"
+#~ " %1$s -V vypíše verzi\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "PouĹľitĂ­:\n"
+#~ " %1$s -a [-v] vypne všechny odkládací oblasti\n"
+#~ " %1$s [-v] ZVLĂĹ TNĂŤ vypne vybranou odkládacĂ­ oblast\n"
+#~ " %1$s -h vypíše nápovědu\n"
+#~ " %1$s -V vypíše verzi\n"
+#~ "\n"
+
+# unknown policy
+#~ msgid "unknown\n"
+#~ msgstr "neznámá\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "ionice - sets or gets process io scheduling class and priority.\n"
+#~ "\n"
+#~ "Usage:\n"
+#~ " ionice [ options ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ options ] <command> [<arg> ...]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -n <classdata> class data (0-7, lower being higher prio)\n"
+#~ " -c <class> scheduling class\n"
+#~ " 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+#~ " -t ignore failures\n"
+#~ " -h this help\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ionice – zjistí nebo nastaví plánovací třídu nebo prioritu I/O.\n"
+#~ "\n"
+#~ "PouĹľitĂ­:\n"
+#~ " ionice [PĹEPĂŤNAÄŚE] -p <PID> [<PID>…]\n"
+#~ " ionice [PĹEPĂŤNAÄŚE] <PĹĂŤKAZ> [<ARGUMENT>…]\n"
+#~ "\n"
+#~ "Přepínače:\n"
+#~ " -n <DATA_TĹĂŤDY> data třídy (0–7, menší ÄŤĂ­slo znamená vyšší "
+#~ "prioritu)\n"
+#~ " -c <TĹĂŤDA> plánovacĂ­ třída: 0 – žádná, 1 – reálnĂ˝ ÄŤas, \n"
+#~ " 2 – best-effort, 3 – zahálení [idle]\n"
+#~ " -t ignorovat selhání\n"
+#~ " -h tato nápověda\n"
+#~ "\n"
+
+#~ msgid "CPU mask"
+#~ msgstr "masku CPU"
+
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " -a, --all mount all filesystems mentioned in fstab\n"
+#~ " -f, --fake dry run, skip mount(2) syscall\n"
+#~ " -F, --fork fork off for each device (use with -a)\n"
+#~ " -h, --help this help\n"
+#~ " -n, --no-mtab don't write to /etc/mtab\n"
+#~ " -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+#~ " -v, --verbose verbose mode\n"
+#~ " -V, --version print version string\n"
+#~ " -w, --read-write mount the filesystem read-write (default)\n"
+#~ " -o, --options <list> comma separated string of mount options\n"
+#~ " -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+#~ " -t, --types <list> indicate the filesystem type\n"
+#~ " -c, --no-canonicalize don't canonicalize paths\n"
+#~ " -i, --internal-only don't call the mount.<type> helpers\n"
+#~ " -l, --show-labels lists all mounts with LABELs\n"
+#~ "\n"
+#~ "Source:\n"
+#~ " -L, --label <label> synonym for LABEL=<label>\n"
+#~ " -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+#~ " LABEL=<label> specifies device by filesystem label\n"
+#~ " UUID=<uuid> specifies device by filesystem UUID\n"
+#~ " <device> specifies device by path\n"
+#~ " <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+#~ " <file> regular file for loopdev setup\n"
+#~ "\n"
+#~ "Operations:\n"
+#~ " -B, --bind mount a subtree somewhere else (same as -o "
+#~ "bind)\n"
+#~ " -M, --move move a subtree to some other place\n"
+#~ " -R, --rbind mount a subtree and all submounts somewhere "
+#~ "else\n"
+#~ " --make-shared mark a subtree as shared\n"
+#~ " --make-slave mark a subtree as slave\n"
+#~ " --make-private mark a subtree as private\n"
+#~ " --make-unbindable mark a subtree as unbindable\n"
+#~ " --make-rshared recursively mark a whole subtree as shared\n"
+#~ " --make-rslave recursively mark a whole subtree as slave\n"
+#~ " --make-rprivate recursively mark a whole subtree as private\n"
+#~ " --make-runbindable recursively mark a whole subtree as unbindable\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Přepínače:\n"
+#~ " -a, --all připojí veškeré souborové systémy uvedené ve "
+#~ "fstab\n"
+#~ " -f, --fake zkušební režim, vynechá volání systému mount(2)\n"
+#~ " -F, --fork pro každé zařízení vytvoří potomka (použít s -"
+#~ "a)\n"
+#~ " -h, --help tato nápověda\n"
+#~ " -n, --no-mtab nezapíše do /etc/mtab\n"
+#~ " -r, --read-only souborový systém připojí jen pro čtení (stejné "
+#~ "jako\n"
+#~ " -o ro)\n"
+#~ " -v, --verbose sdĂ­lnĂ˝ reĹľim\n"
+#~ " -V, --version vypíše verzi programu\n"
+#~ " -w, --read-write souborový systém připojí pro čtení i zápis "
+#~ "(výchozí)\n"
+#~ " -o, --options SEZNAM volby připojení oddělené čárkou\n"
+#~ " -O, --test-opts SEZNAM omezí množinu souborových systémů (použít s -a)\n"
+#~ " -t, --types SEZNAM určí druh souborového systému\n"
+#~ " -c, --no-canonicalize cesty nepřevede na kanonický tvar\n"
+#~ " -i, --internal-only nezavolá pomocný program mount.DRUH\n"
+#~ " -l, --show-labels vypíše všechny připojené systémy a jejich "
+#~ "jmenovky\n"
+#~ "\n"
+#~ "Zdroj:\n"
+#~ " -L, --label JMENOVKA synonymum pro LABEL=JMENOVKA\n"
+#~ " -U, --uuid UUID synonymum pro UUID=UUID\n"
+#~ " LABEL=JMENOVKA určí zařízené podle jmenovky systému souborů\n"
+#~ " UUID=UUID určí zařízení podle UUID systému souborů\n"
+#~ " ZAĹĂŤZENĂŤ urÄŤĂ­ zařízenĂ­ podle cesty\n"
+#~ " ADRESĂĹ bod pĹ™ipojenĂ­ pro vázaná pĹ™ipojenĂ­ (vizte --bind/"
+#~ "rbind)\n"
+#~ " SOUBOR obyčejný soubor pro připojení přes loop "
+#~ "zařízení\n"
+#~ "\n"
+#~ "Operace:\n"
+#~ " -B, --bind připojí podstrom někam jinam (stejné jako -o "
+#~ "bind)\n"
+#~ " -M, --move přesune podstrom na jiné místo\n"
+#~ " -R, --rbind připojí podstrom a všechny podřízené systémy "
+#~ "jinam\n"
+#~ " --make-shared oznaÄŤĂ­ podstrom jako sdĂ­lenĂ˝\n"
+#~ " --make-slave označí podstrom jako podřízený\n"
+#~ " --make-private oznaÄŤĂ­ podstrom jako soukromĂ˝\n"
+#~ " --make-unbindable označí podstrom jako vázaně nepřipojitelný\n"
+#~ " --make-rshared rekurzivnÄ› oznaÄŤĂ­ celĂ˝ podstrom jako sdĂ­lenĂ˝\n"
+#~ " --make-rslave rekurzivně označí celý podstrom jako podřízený\n"
+#~ " --make-rprivate rekurzivnÄ› oznaÄŤĂ­ celĂ˝ podstrom jako soukromĂ˝\n"
+#~ " --make-runbindable rekurzivně označí celý podstrom jako vázaně\n"
+#~ " nepřipojitelný\n"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "PouĹľitĂ­: shutdown [-h|-r] [-fqs] [now|hh:ss|+minuty]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Proces shutdown ukonÄŤen"
+
+#~ msgid "only root can shut a system down."
+#~ msgstr "pouze root může vypnout systém."
+
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "To musí být zítra. To do té doby nemůžete počkat?"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "kvĹŻli ĂşdrĹľbÄ›"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Systém bude za 5 minut vypnut"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Přihlašování je tudíž zakázáno."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "restartováno uživatelem %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "zastaveno uĹľivatelem %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Proč jsem po restartu stále naživu?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Nyní můžete vypnout proud…"
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Volám zařízení jádra pro vypínání proudu…\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Chyba při vypínání proudu\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Spouštím program „%s“…\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Chyba při spuštění\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "NALÉHAVÉ: zpráva pro všechny od %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Systém bude vypnut za %dh %dmin"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Systém bude vypnut za 1h %dmin"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Systém bude vypnut za %dmin\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Systém bude vypnut za 1min\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Systém bude OKAMŽITĚ vypnut!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Swapoff nelze spustit - volání fork selhalo."
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "Swapoff nelze spustit - volání exec selhalo. Snad pomůže umount."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Umount nelze spustit - volání fork selhalo, zkouším to ručně."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "%s nelze spustit - volání exec selhalo, zkouším umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr ""
+#~ "Umount nelze spustit - volání exec selhalo, vzdávám snahu o spuštění "
+#~ "umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Odpojuji všechny zbývající systémy souborů…"
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: %s nelze odpojit: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Startuji do reĹľimu pro jednoho uĹľivatele.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr ""
+#~ "Spuštění shellu pro jednoho uživatele se nezdařilo - volání exec "
+#~ "selhalo.\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr ""
+#~ "Spuštění shellu pro jednoho uživatele se nezdařilo - volání fork "
+#~ "selhalo.\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "Chyba při otevírání pojmenované roury\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr ""
+#~ "chyba během nastavování zavřít-při-spuštění příznaku na /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "chyba při běhu závěrečného programu\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "volání fork pro závěrečný program selhalo\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Chybné heslo.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "volání lstat pro cestu selhalo\n"
+
+#~ msgid "stat of path failed\n"
+#~ msgstr "volání stat pro cestu selhalo\n"
+
+#~ msgid "respawning: \"%s\" too fast: quenching entry\n"
+#~ msgstr "obnovování: „%s“ příliš rychle: tlumím záznam\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "volání fork selhalo\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "inittab nelze otevřít\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "žádný TERM nebo selhalo volání stat pro tty\n"
+
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "chyba při zastavování služby „%s“\n"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "Zastavená služby: %s\n"
+
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "chyba při spouštění služby „%s“\n"
+
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "PouĹľitĂ­: %s [-c] [-n ĂşroveĹ] [-r] [-s velikost_bufferu]\n"
+
+#~ msgid "error: strdup failed"
+#~ msgstr "chyba: funkce strdup selhala"
+
+#~ msgid "error: calloc failed"
+#~ msgstr "chyba: funkce calloc selhala"
+
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s [PĹEPĂŤNAÄŚE]\n"
+#~ "\n"
+#~ "Přepínače:\n"
+
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "PouĹľitĂ­: %s [-bfpx] [-l POÄŚET_ĹĂDKĹ®]"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "Použití: %s [-] [-2] [SOUBOR…]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e FMT] [-f FMT_SOUBOR] [-n DÉLKA] [-s VZDĂLENOST] "
+#~ "[SOUBOR…]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "PouĹľitĂ­: %s [-dflpcsu] [+ÄŚĂŤSLO_ĹĂDKU | +/VZOREK] NĂZEV1 NĂZEV2…\n"
+
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "řádkový buffer se nepodařilo inicializovat\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: %s nelze ÄŤĂ­st.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: řádek je příliš dlouhý.\n"
+
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "Použití: %s [SOUBOR…]\n"
+
+#~ msgid "realloc failed"
+#~ msgstr "volání realloc selhalo"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "PouĹľitĂ­: tailf [-n N | -N] SOUBOR_S_PROTOKOLEM"
+
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "PouĹľitĂ­: %s [-i] [-tTERMINĂL] SOUBOR…\n"
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Diskový oddíl končí v posledním částečném cylindru"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "%s nelze otevřít\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Nelze alokovat více paměti\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "třikrát jsem nalezl EOF - končím..\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: volání malloc selhalo.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Nedostatek paměti\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Adresář %s neexistuje!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: nedostatek paměti pro skript shellu.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: žádný shell: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: Přístup odmítnut"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: volání fork selhalo\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: %s nelze ÄŤĂ­st.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: volání stat pro dočasný soubor selhalo.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: doÄŤasnĂ˝ soubor nelze ÄŤĂ­st.\n"
+
+#~ msgid "%s: parse error: %s"
+#~ msgstr "%s: chyba rozboru: %s"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: nedostatek paměti\n"
+
+#~ msgid "parse error at lines: "
+#~ msgstr "chyba rozboru na řádkách: "
+
+#~ msgid " and %d."
+#~ msgstr " a %d."
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: nepovolená volba – %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "alokované segmenty %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "alokované stránky %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "rezidentní stránky %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "stránky v odkládacím prostoru %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Statistika pro odkládání: pokusů: %ld\t, z toho úspěšných: %ld\n"
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: neznámý uživatel\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: chybná hodnota\n"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: nepovolenĂ˝ interval %s sekund\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: %s není povolená hodnota time_t\n"
+
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: %s nelze spustit: %s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "odečtení hodin reálného času"
+
+#~ msgid "malloc error"
+#~ msgstr "chyba malloc"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "Použití: column [-tx] [-c SLOUPCE] [SOUBOR…]\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: program od(1) je zastaralý, místo něj použijte hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: reĹľim kompatibility s hexdump(1) nepodporuje -%c volbu%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; viz strings(1)."
+
+#~ msgid "Out of memory\n"
+#~ msgstr "Nedostatek paměti\n"
+
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "místo pro buffer nelze přidělit"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "Použití: rev [SOUBOR…]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Buffer nelze naalokovat.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Nedostatek paměti pro rostoucí buffer.\n"
+
+# Dodržet zarovnání se zprávou „POZOR: Režim kompatibility…“
+#~ msgid ""
+#~ " and change display units to\n"
+#~ " sectors (command 'u').\n"
+#~ msgstr ""
+#~ " a změnit jednotky výpisů na sektory\n"
+#~ " (příkaz „u“).\n"
+
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "chyba při spouštění programu: „%s“\n"
+
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "zadána neplatná hodnota pozice „%s“"
+
+#~ msgid ""
+#~ "\n"
+#~ "chrt - manipulate real-time attributes of a process.\n"
+#~ "\n"
+#~ "Set policy:\n"
+#~ " chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+#~ "\n"
+#~ "Get policy:\n"
+#~ " chrt [options] {<pid> | <command> [<arg> ...]}\n"
+#~ "\n"
+#~ "\n"
+#~ "Scheduling policies:\n"
+#~ " -b | --batch set policy to SCHED_BATCH\n"
+#~ " -f | --fifo set policy to SCHED_FIFO\n"
+#~ " -i | --idle set policy to SCHED_IDLE\n"
+#~ " -o | --other set policy to SCHED_OTHER\n"
+#~ " -r | --rr set policy to SCHED_RR (default)\n"
+#~ "\n"
+#~ "Scheduling flags:\n"
+#~ " -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -h | --help display this help\n"
+#~ " -p | --pid operate on existing given pid\n"
+#~ " -m | --max show min and max valid priorities\n"
+#~ " -v | --verbose display status information\n"
+#~ " -V | --version output version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "chrt – zachází s vlastnostmi procesu týkajícími se plánování v reálném "
+#~ "ÄŤase.\n"
+#~ "\n"
+#~ "NastavĂ­ politiku:\n"
+#~ " chrt [PĹEPĂŤNAÄŚE] <POLITIKA> <PRIORITA> {<PID> | <PĹĂŤKAZ> "
+#~ "[<ARGUMENT>…]}\n"
+#~ "\n"
+#~ "Získá politiku:\n"
+#~ " chrt [PĹEPĂŤNAÄŚE] {<PID> | <PĹĂŤKAZ> [<ARGUMENT>…]}\n"
+#~ "\n"
+#~ "\n"
+#~ "Politiky plánování:\n"
+#~ " -b | --batch nastaví politiku na SCHED_BATCH (dávka)\n"
+#~ " -f | --fifo nastavĂ­ politiku na SCHED_FIFO (fronta)\n"
+#~ " -i | --idle nastaví politiku na SCHED_IDLE (zahálení)\n"
+#~ " -o | --other nastaví politiku na SCHED_OTHER (jiná)\n"
+#~ " -r | --rr nastavĂ­ politiku na SCHED_RR (implicitnĂ­)\n"
+#~ "\n"
+#~ "Příznaky plánování:\n"
+#~ " -R | --reset-on-fork u FIFO nebo RR nastaví SCHED_RESET_ON_FORK\n"
+#~ "\n"
+#~ "Přepínače:\n"
+#~ " -h | --help zobrazí tuto nápovědu\n"
+#~ " -p | --pid pracuje nad existujícím procesem s PID\n"
+#~ " -m | --max zobrazí minimální a maximální platné priority\n"
+#~ " -v | --verbose zobrazí stavové informace\n"
+#~ " -V | --version vypíše informace o verzi\n"
+#~ "\n"
+
+# current policy/priority
+#~ msgid "current"
+#~ msgstr "současná"
+
+# pid %d's _new_ scheduling policy
+#~ msgid "new"
+#~ msgstr "nová"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: v %s nenalezeno žádné médium… zkouším znovu\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "PouĹľitĂ­: %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h pro nápovědu.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Zadání prostředku:\n"
+#~ "\t-m : sdílená paměť\n"
+#~ "\t-q : zprávy\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semafory\n"
+#~ "\t-a : vše (implicitní)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Výstupní formát:\n"
+#~ "\t-t : ÄŤas\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : tvĹŻrce\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : omezenĂ­\n"
+#~ "\t-u : shrnutĂ­\n"
+
+#~ msgid "error: %s"
+#~ msgstr "chyba: %s"
+
+#~ msgid "error parse: %s"
+#~ msgstr "chyba při rozebírání: %s"
+
+#~ msgid "error: /sys filesystem is not accessable."
+#~ msgstr "chyba: souborový systém /sys není přístupný."
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr "PouĹľitĂ­: rdev [ -rv ] [ -o POSUN ] [ OBRAZ [ HODNOTA [ POSUN ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (či rdev /linux, etc.) vypíše aktuální ROOT zařízení"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 nastavĂ­ ROOT na /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 nastavĂ­ PĹĂŤZNAKY ROOT (pouze pro ÄŤtenĂ­)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 nastavĂ­ velikost RAMDISKU"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/fd0 1 nastavĂ­ startovacĂ­ VIDEOMĂ“D"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... posun v bajtech"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " root příznaky ... stejné jako rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " velikost ram ... stejné jako rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmód ... stejné jako rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Poznámka: video módy: -3=Ask, -2=Extended, -1=NormalVga, 1=kláv1, "
+#~ "2=kláv2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr " Pomocí -R 1 připojíte pouze pro čtení, -R 0 umožní zápis."
+
+#~ msgid "missing comma"
+#~ msgstr "chybí čárka"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Použití: fdisk [-b SSZ] [-u] DISK Změní tabulku rozdělení disku\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK Vypíše tabulku rozdělení disku\n"
+#~ " fdisk -s ODDÍL Vypíše velikost oddílu\n"
+#~ " v blocích\n"
+#~ " fdisk -v Vypíše informace o verzi\n"
+#~ "DISK je něco jako /dev/hdb či /dev/sda a ODDÍL je něco jako /dev/hda7\n"
+#~ "-u: vrací Začátek a Konec v sektorech (místo cylindrech)\n"
+#~ "-b 2048: (pro některé MO jednotky) použije 2048bajtové sektory\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Použití: fdisk [-l] [-b SSZ] [-u] zařízení\n"
+#~ "NapĹ™: fdisk /dev/hda (pro prvnĂ­ IDE disk)\n"
+#~ " či: fdisk /dev/sdc (pro třetí SCSI disk)\n"
+#~ " ÄŤi: fdisk /dev/eda (pro prvnĂ­ PS/2 ESDI disk)\n"
+#~ " či: fdisk /dev/rd/c0d0 či: fdisk /dev/ida/c0d0 (pro RAID zařízení)\n"
+#~ " …\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "PoÄŤet cylindrĹŻ tohoto disku je nastaven na %d.\n"
+#~ "Na tom není nic špatného, ale jelikož je to více než 1024,\n"
+#~ "může za určitých okolností dojít k problémům:\n"
+#~ "1) s programy spouštěnými při startu (např. staré verze LILA)\n"
+#~ "2) s programy pro správu diskových oddílů z jiných OS\n"
+#~ " (napĹ™. DOS FDISK, OS/2 FDISK)\n"
+
+#~ msgid ""
+#~ "WARNING: The device does not provide compensation (alignment_offset)\n"
+#~ "for DOS-compatible partitioning, but DOS-compatible mode is enabled.\n"
+#~ "Use command 'c' to switch-off DOS mode.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "POZOR: Zařízení neposkytuje vyrovnání (alignment_offset) při dělení "
+#~ "disku\n"
+#~ "podle DOSu, avšak režim kompatibility s DOSem je zapnut.\n"
+#~ "Použijte příkaz „c“ na vypnutí režimu DOSu.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "WARNING: the device provides alignment_offset, but the offset does not\n"
+#~ "match with device geometry.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "POZOR: Zařízení poskytuje alignment_offset (zarovnávací posun), ale "
+#~ "posun\n"
+#~ "neodpovídá geometrii zařízení.\n"
+#~ "\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# tabulka rozdělení disku pro %s\n"
+
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr ""
+#~ "jednotka: sektory\n"
+#~ "\n"
+
+#~ msgid " start=%9lu"
+#~ msgstr " začátek=%9lu"
+
+#~ msgid ", size=%9lu"
+#~ msgstr ", velikost=%9lu"
+
+#~ msgid ", bootable"
+#~ msgstr ", startovacĂ­"
+
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Hodiny v UTC, nezměněno.\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: chyba: jmenovku lze použít pouze u verze 1\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "nepřekonatelná chyba: první stránka je nečitelná"
+
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: Zařízení „%s“ obsahuje korektní Sun popis disku.\n"
+#~ "To znamená, že vytvoření odkládacího prostoru v0 by pravděpodobně "
+#~ "zniÄŤilo\n"
+#~ "tabulku rozdělení disku. Odkládací prostor nebyl vytvořen. Pokud opravdu\n"
+#~ "chcete na tomto zařízení vytvořit odkládací prostor v0, vynuťte si to\n"
+#~ "přepínačem -f.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: do adresáře root nelze přejít!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: volání stat pro adresář root selhalo!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: Přetečení vyrovnávací paměti\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? do adresáře %s nelze přejít - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? problémy při čtení symbolického odkazu %s - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** PĹEKROÄŚEN UNIXOVĂť LIMIT PRO SYMBOLICKÉ ODKAZY ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: typ 0%06o souboru %s je neznámý\n"
+
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: chystám se připojit %s podle %s\n"
+
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr ""
+#~ "mount: žádný LABEL=, žádný UUID=, chystám se připojit %s podle cesty\n"
+
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: sluĹľba fork selhala: %s\n"
+
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: waitpid: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "%s nelze odpojit - zkouším %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "volám open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "volám termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "zapisuji inicializační řetězec\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "před autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "čekám na cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "čtu přihlašovací jméno\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "po zpracování argumentů příkazové řádky\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "opouštím funkci parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "vstupuji do funkce parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "opouštím funkci parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "volám dup\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "chfn: chyba PAM, konÄŤĂ­m: %s\n"
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Varování: „%s“ není v /etc/shells\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "%s nelze ÄŤĂ­st, konÄŤĂ­m."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: chyba PAM, konÄŤĂ­m: %s\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "ÄŤasovĂ˝ limit = %d, klid = %d, restart = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "nelze číst %s a nelze provést dump pomocí volání ioctl\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", odsazenĂ­ %'lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: žádné zařízení /dev/loop# nelze nalézt"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: pracuji na pozadí „%s“\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: končím „%s“\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p PRIORITA] ZVLĂĹ TNĂŤ_SOUBOR|LABEL=NĂZEV_SVAZKU…\n"
+#~ " %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] ZVLĂĹ TNĂŤ_SOUBOR…\n"
+
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: %s nelze převést na kanonický tvar: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "PouĹľitĂ­: renice priorita [ [ -p ] pid ] [[ -g ] pgrp ] [ [ -u ] "
+#~ "uĹľivatel ]\n"
+
+#~ msgid "\t-%c\tEnable %s\n"
+#~ msgstr "\t-%c\tPovolĂ­ %s\n"
+
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "Neznámý přepínač „%c“ ignorován"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "„%s“: chybný adresář: „.“ není první\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "„%s“: chybný adresář: „..“ není druhý\n"
+
+#~ msgid "Password error."
+#~ msgstr "Chybné heslo."
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES. Raise this value in mkcramfs.c and recompile. "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "Překročeno MAXENTRIES. Zvětšete tuto hodnotu v mkcramfs.c a znovu "
+#~ "přeložte.\n"
+#~ "KonÄŤĂ­m.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Předpokládám velikost stránek %d (nikoliv %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "Automatická konfigurace nalezla %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Typ disku\n"
+#~ " ? automatická konfigurace\n"
+#~ " 0 uživatelská konfigurace (s detekovaným implicitním nastavením)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Zadejte typ (? pro auto, 0 pro uĹľivatelskĂ˝): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "AlternativnĂ­ cylindry"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Fyzické cylindry"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Všechny parametry disku můžete změnit z nabídky x"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" pruĹľnĂ˝ disk"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux uĹľivatelskĂ˝"
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s z util-linux-%s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: chyba: jmenovka %s se nachází jak na %s tak i na %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: nelze otevřít %s, takže konverze UUID a JMENOVEK nebude provedena.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: chybné UUID"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: chyba s připojováním NFS verze 4, zkouším verzi 3…\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: připojuji %s\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: během hádání typu systému souborů došlo k chybě\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: příliš dlouhý argument pro počítač:adresář\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: varování: vícenásobné názvy počítačů nejsou podporovány\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: adresář pro připojení není ve tvaru počítač:adresář\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: adresu %s nelze zjistit\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: špatné hp->h_length\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: příliš dlouhý argument pro volbu\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Varování: neznámá volba pro proto=.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Varování: volba namlen není podporována.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "parametr %s=%d pro připojení nfs není znám\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Varování: volba nolock není podporována.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "volba %s%s pro připojení nfs je neznámá\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: špatné hp->h_length?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "tato služba je na tomto nfs serveru nedostupná"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "pro nalezenĂ­ NFS portu jsem pouĹľil portmapper\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "používám port %d pro nfs server\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "návratová hodnota nfs status %d je neznámá"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "počítač: %s, adresář: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: adresu %s nelze zjistit\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: chybná hodnota hostp->h_length\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "%s nelze otevřít"
+
+#~ msgid "Loop device is %s\n"
+#~ msgstr "Loop zařízení je %s\n"
+
+#~ msgid "open of directory failed\n"
+#~ msgstr "adresář nelze otevřít\n"
diff --git a/po/da.gmo b/po/da.gmo
new file mode 100644
index 0000000..c490620
--- /dev/null
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..d695301
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,17505 @@
+# Danish translation util-linux.
+# Copyright (C) 2011 Free Software Foundation, Inc. og nedenstående oversættere.
+# This file is distributed under the same license as the util-linux package.
+# Claus Sørensen <cs@klid.dk>, 2000.
+# Keld Jørn Simonsen <keld@dkuug.dk>, 2000.
+# Claus Hindsgaul <claus_h@image.dk>, 2001-2002, 2004, 2005.
+# Joe Hansen <joedalton2@yahoo.dk>, 2010, 2011, 2012.
+#
+# alloc -> allokere (tildele)
+# argument -> parameter
+# blank -> tom (men meget usikker her)
+# bogus -> bogus (kunne måske godt være vrøvle)
+# buffer -> mellemlager
+# decompression -> dekomprimering
+# deprecated -> forældet
+# descriptor -> beskrivelse
+# divisor -> nævner
+# drift factor -> hastighedsfaktor
+# failed -> mislykkedes
+# get -> indhente (alternativer: finde, fĂĄ)
+# inode -> inode (en inode er noget som alle filer pĂĄ ext3 og lignende
+# filsystemer har. Det angiver vist et logisk sted pĂĄ
+# disken hvor den ligger) Flertal inoder
+# label -> etiket (mærke (bruges for tag), mærkat)
+# link -> henvisning (lænke)
+# loop -> loop (kunne også være løkke)
+# parse -> fortolke
+# policy -> politik (retningslinje)
+# prober -> testprogram
+# save file -> redningsfil (kunne også være gemmefil)
+# semaphore -> semafor (signalmast)
+# set -> angiv
+# SGI volhdr -> SGI volhdr (var tidligere SGI bndhvd, kunne også være dskhdr)
+# stat -> stat (stat (Unix), a system call on POSIX and Unix-like systems)
+# tag -> mærke
+# uncompressing -> udpakker (se decompression)
+# UTC -> GMT
+# (UTC (også kaldet zulutid) er den internationale tidszone, som (næsten)
+# er det samme som Greenwich Mean Time. Tidsforskellen mellem dansk tid
+# og UTC er plus Ă©n time ved normaltid og plus to timer ved sommertid.
+# Bruges ofte som synonymer. Dette til trods for, at UTC og GMT kan afvige
+# få tiendedele af et sekund fra hinanden på grund af Jordens uregelmæssige
+# rotationshastighed.
+# volume -> diskenhed (bind, arkiv, diskomrĂĄde)
+# wakeup -> opvĂĄgning
+# whole disk -> hele disken
+# "", '' -> »«
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-2.22-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2012-08-20 19:30+01:00\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr " %s <diskenhed> <partitionsnummer> <start> <længde>\n"
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "kunne ikke ĂĄbne %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+msgid "invalid partition number argument"
+msgstr "ugyldig parameter for partitionsnummer"
+
+#: disk-utils/addpart.c:56
+msgid "invalid start argument"
+msgstr "ugyldig startparameter"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+msgid "invalid length argument"
+msgstr "ugyldig længdeparameter"
+
+#: disk-utils/addpart.c:58
+msgid "failed to add partition"
+msgstr "kunne ikke tilføje partition"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "angiv skrivebeskyttet"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "angiv læsbar-skrivbar"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "fĂĄ skrivebeskyttet"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr "få understøttelsesstatus for fjern nuller"
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "få logisk blokstørrelse (sektorstørrelse)"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "få fysisk blokstørrelse (sektorstørrelse)"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "få minimal I/O-størrelse"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "få optimal I/O-størrelse"
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr "fĂĄ justeringsforskydning i byte"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "få maks sektorer per forespørgsel"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "få blokstørrelse"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "angiv blokstørrelse"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "få 32-bit sektorantal (forældet, brug --getsz)"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "få størrelse i byte"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "angiv fremlæsning (»readahead«)"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "få fremlæsning (»readahead«)"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "angiv fremlæsning for filsystem (»readahead«)"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "få fremlæsning for filsystem (»readahead«)"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "tøm mellemlagre"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "genlæs partitionstabellen"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr " %-25s få størrelse i 512-byte sektorer\n"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr "kunne ikke få enhedsstørrelse"
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr "Ukendt kommando: %s"
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr "%s kræver en parameter"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s mislykkedes.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s lykkedes.\n"
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr "ioctl-fejl pĂĄ %s"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SST BST StartSekt Størr. Enhed\n"
+
+#: disk-utils/delpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr " %s <diskenhed> <partitionsnummer>\n"
+
+#: disk-utils/delpart.c:57
+msgid "failed to remove partition"
+msgstr "kunne ikke fjerne partition"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "brug:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tBEMÆRK: elvtune virker kun med 2.4-kerner\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "manglende blokenhed, brug -h for hjælp\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune bruges kun på ældre kerner;\n"
+"for 2.6 brug IO scheduler sysfs tunables i steden for..\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formaterer... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "færdig\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Verificerer... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Læs: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problem ved læsning af cylinder %d, ventede %d, læste %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"ugyldige data i cyl %d\n"
+"Fortsætter... "
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Brug: %s [tilvalg] enhed\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+" -n, --no-verify deaktiver verificeringen efter formatet\n"
+" -V, --version vis versionsinformation og afslut\n"
+" -h, --help vis denne hjælpetekst og afslut\n"
+"\n"
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s fra %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, c-format
+msgid "stat failed %s"
+msgstr "stat mislykkedes %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr "%s: er ikke en blokenhed"
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr "kan ikke ĂĄbne filen %s"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Kunne ikke bestemme det eksisterende format"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s-sidet, %d spor, %d sekt/spor. Samlet kapacitet %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Dobbelt"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Enkelt"
+
+#: disk-utils/fsck.c:191
+#, c-format
+msgid "%s is mounted\n"
+msgstr "%s er monteret\n"
+
+#: disk-utils/fsck.c:193
+#, c-format
+msgid "%s is not mounted\n"
+msgstr "%s er ikke monteret\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr "kunne ikke læse: %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "fortolkningsfejl: %s"
+
+#: disk-utils/fsck.c:329
+#, c-format
+msgid "Locking disk %s ... "
+msgstr "LĂĄser disk %s ... "
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr "(venter) "
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr "lykkedes"
+
+#: disk-utils/fsck.c:349
+msgid "failed"
+msgstr "mislykkedes"
+
+#: disk-utils/fsck.c:386
+#, c-format
+msgid "failed to setup description for %s"
+msgstr "kunne ikke opsætte beskrivelse for %s"
+
+# evt. "i linje "
+#: disk-utils/fsck.c:412
+#, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "%s: fortolk fejl pĂĄ linje %d - ignorer"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: kunne ikke fortolke fstab"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, c-format
+msgid "%s: not found"
+msgstr "%s: ikke fundet"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "forgrening mislykkedes"
+
+#: disk-utils/fsck.c:617
+#, c-format
+msgid "%s: execute failed"
+msgstr "%s: kør mislykkedes"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr "vent: Ikke flere underprocesser?!?"
+
+#: disk-utils/fsck.c:708
+msgid "waidpid failed"
+msgstr "waidpid mislykkedes"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr "Advarsel... %s for enhed %s afsluttede med signal %d."
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr "%s %s: status er %x, bør aldrig ske."
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "Afsluttede med %s (afslutningsstatus %d)\n"
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "fejl %d under kørsel af fsck.%s for %s"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+"Enten alle eller ingen af filsystemtyperne videresendt til -t skal være\n"
+"foranstillet med »nej« eller »!«."
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+"%s: springer ugyldig linje i /etc/fstab over: bind montering med fcsk-pass-"
+"tal der er forskelligt fra nul"
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: springer enhed der ikke findes over\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+"%s: ikkeeksisterende enhed (fstab-tilvalget »nofail« kan bruges til at "
+"springe denne enhed over)\n"
+
+#: disk-utils/fsck.c:1060
+#, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "%s: springer ukendt filsystemtype over\n"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "kan ikke tjekke %s: fsck.%s blev ikke fundet"
+
+#: disk-utils/fsck.c:1168
+msgid "failed to allocate iterator"
+msgstr "kunne ikke allokere iterator"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "Tjekker alle filsystemer.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--venter-- (gennemgang %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+"\n"
+"Brug:\n"
+" %s [fsck-tilvalg] [fs-tilvalg] [filsys ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+"\n"
+"Tilvalg:\n"
+" -A kontroller alle filsystemer\n"
+" -R spring root-filsystem over; kun nyttig med »-A«\n"
+" -M kontroller ikke monterede filsystemer\n"
+" -t <type> angiv filsystemtyper der skal kontrolleres;\n"
+" type kan være en kommaadskilt liste\n"
+" -P kontroller filsystemer parallelt, inklusiv root\n"
+" -r rapporter statistik for hver enheds-fsck\n"
+" -s serialiser fsck-handlinger\n"
+" -l lĂĄs enheden med flock()\n"
+" -N kør ikke, vis kun hvad der ville ske\n"
+" -T vis ikke titlen ved opstart\n"
+" -C <fd> vis statusbjælke; filbeskrivelse er for grafiske brugerflader\n"
+" -V forklar hvad der sker\n"
+" -? vis denne hjælpetekst og afslut\n"
+"\n"
+"Se fsck.*-kommandoer for fs-tilvalg."
+
+#: disk-utils/fsck.c:1354
+msgid "too many devices"
+msgstr "for mange enheder"
+
+#: disk-utils/fsck.c:1366
+msgid "Is /proc mounted?"
+msgstr "Er /proc monteret?"
+
+# tror matching er 'passende' til et eller andet kriterium, ikke
+# nødvendigvis ens
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "skal være root (rod) for at skanne for passende filsystemer: %s"
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "kunne ikke finde filsystem der stemmer overens: %s"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+msgid "too many arguments"
+msgstr "for mange parametre"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr "tilvalget -l kan kun bruges med en enhed - ignorer"
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, c-format
+msgid " %s [options] file\n"
+msgstr " %s [tilvalg] fil\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr " -x, --destination <mappe> udtræk til mappe\n"
+
+#: disk-utils/fsck.cramfs.c:117
+msgid " -v, --verbose be more verbose\n"
+msgstr " -v, --verbose vær mere uddybende\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl mislykkedes: Kunne ikke bestemme filsystemets størrelse: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "hverken en blokenhed eller fil: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "fillængde for kort"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "read (læsning) mislykkedes: %s"
+
+# her kan vist godt bruges superblokmagi, eller lidt pænere:
+# magisk superblok-tal blev ...
+# ('magiske tal' er noget som man bruger til at tjekke at filsystemet
+# har det godt, mener jeg.)
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "magisk superbloktal blev ikke fundet"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "cramfs endianness er %s\n"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr "stor"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr "lille"
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "filsystemfunktioner er ikke understøttet"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "superblokstørrelse (%d) er for lille"
+
+# "zero (nul) optælling af fil"
+# Ask: jeg læser det som: filtallet er nul
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "filtallet er nul"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "advarsel: fil nĂĄr ud over filsystemets slutning\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "advarsel: gammelt cramfs-format\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "kan ikke teste CRC: Gammelt cramfs-format"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "crc-fejl"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "rod-inode er ikke en mappe"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "ugyldig rodforskydning (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "datablok er for stor"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "dekomprimeringsfejl %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " hul ved %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " udpakker blok fra %ld til %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "ikke-blok (%ld) byte"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "ikke-størrelse (%ld mod %ld) byte"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "skrivning mislykkedes: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown mislykkedes: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown mislykkedes: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime mislykkedes: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "mappen inode har nulforskydning og størrelse forskellig fra nul: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir mislykkedes: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "længden på filnavnet er nul"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "ugyldig længde på filnavn"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "ugyldig inode-forskydning"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "filen inode har nulforskydning og størrelse forskellig fra nul"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "filen inode har nulstørrelse og forskydning forskellig fra nul"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "symbolsk henvisning har nulforskydning"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "symbolsk henvisning har nulstørrelse"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "størrelsesfejl i symbolsk henvisning: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symbolsk henvisning mislykkedes: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "speciel fil har forskydning forskellig fra nul: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "fifo har størrelse forskellig fra nul: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "sokkel har størrelse forskellig fra nul: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "bogustilstand: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod mislykkedes: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr "mappedatastart (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "mappedataslutning (%ld) != start pĂĄ fildata (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "ugyldig fildataforskydning"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "kompileret uden understøttelse for -x"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: O.k.\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, c-format
+msgid " %s [options] <device>\n"
+msgstr " %s [tilvalg] <enhed>\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr " -l vis alle filnavne\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr " -a automatisk reparation\n"
+
+#: disk-utils/fsck.minix.c:198
+msgid " -r interactive repair\n"
+msgstr " -r interaktiv reparation\n"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr " -v vær uddybende\n"
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr " -s vis superblokinformation\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr " -m aktiver tilstand for ikke ryddede advarsler\n"
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr " -f fremtving kontrol\n"
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, fuzzy, c-format
+msgid "%s (y/n)? "
+msgstr "%s (j/n)? "
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr "%s (n/j)? "
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr "j\n"
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr "n\n"
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s er monteret.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Vil du virkelig fortsætte"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "tjek afbrudt.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zone-nr < FIRSTZONE i filen »%s«."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zone nr >= ZONES i filen »%s«."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Fjern blok"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Læsefejl: kunne ikke søge til blok i filen »%s«\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Læsefejl: ugyldig blok i filen »%s«\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Intern fejl: forsøger at skrive ugyldig blok\n"
+"Skriveforsøg ignoreret\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "søgning mislykkedes i write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Skrivefejl: Ugyldig blok i fil »%s«\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "søgning mislykkedes i write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "kunne ikke skrive super-blok"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Kunne ikke skrive inode-oversigten"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Kunne ikke skrive zone-oversigten"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Kunne ikke skrive inoder"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "søgning mislykkedes"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "kunne ikke allokere mellemlagre for superblok"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "kunne ikke læse super-blok"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "ugyldigt magisk nummer i super-blok"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Kun 1k blokke/zoner understøttes"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "ugyldigt s_imap_blocks-felt i super-blok"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "ugyldigt s_zmap_blocks-felt i super-blok"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Kunne ikke allokere mellemlager til inode-oversigt"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Kunne ikke allokere mellemlager til zoneoversigt"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Kunne ikke allokere mellemlager til inoder"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Kunne ikke allokere mellemlager til inode-optælling"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Kunne ikke allokere mellemlager til zoneoptælling"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Kunne ikke læse inode-oversigt"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Kunne ikke læse zoneoversigt"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Kunne ikke læse inoder"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Advarsel: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inoder\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokke\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Førstedatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonestørrelse=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maksstørrelse=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Filsystem-tilstand=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"navnelængde=%zd\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inode %d er markeret som ubrugt, men bruges af filen »%s«\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Marker i brug"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Filen »%s« har tilstand %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Advarsel: Antal inoder er for stort.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "rod-inode er ikke en mappe"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Blok blev brugt tidligere. Nu i filen »%s«."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Slet"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Blok %d i filen »%s« er markeret som ubrugt."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Korriger"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "Mappen »%s« indeholder forkert inode-antal for filen »%.*s«."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Fjern"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: ugyldig mappe: ».« er ikke først\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: ugyldig mappe: »..« er ikke nummer to\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "intern fejl"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: ugyldig mappe: størrelse < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "mislykket søgning i bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Inode %lu-tilstand ikke slettet."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inode %lu ikke brugt, markeret som brugt i bitoversigten."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inode %lu i brug, markeret som ubrugt i bitoversigten."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Sæt"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %lu (tilstand = %07o), i_nlinks=%d, optalt=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Sæt i_nlinks til det optalte"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zone %lu: markeret som brugt, ingen filer bruger den."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Afmarker"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zone %lu: i brug, optalt=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zone %lu: ikke i brug, optalt=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "ugyldig inode-størrelse"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "ugyldig v2 inode-størrelse"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "kræver terminal til interaktive reparationer"
+
+#: disk-utils/fsck.minix.c:1305
+#, c-format
+msgid "cannot open %s: %s"
+msgstr "kunne ikke ĂĄbne %s: %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s er i orden, tjekkes ikke.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Gennemtvinger tjek af filsystem pĂĄ %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Filsystem på %s er måske ikke i orden, kræver et tjek.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inoder brugt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zoner brugt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d regulære filer\n"
+"%6d mapper\n"
+"%6d tegn-enhedsfiler\n"
+"%6d blok-enhedsfiler\n"
+"%6d henvisninger\n"
+"%6d symbolske henvisninger\n"
+"------\n"
+"%6d filer\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"-FILSYSTEM BLEV MODIFICERET-\n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr "søgefejl på %s"
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr "læsefejl på %s"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektorantal: %d, sektorstørrelse: %d\n"
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+"\n"
+"Brug:\n"
+" %s [tilvalg] iso9660_billed_fil\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+" -d, --divisor=NUM divider byte NUM\n"
+" -x, --sectors vis sektorantal og størrelse\n"
+" -V, --version vis versionsinformation og afslut\n"
+" -H, --help vis denne hjælpetekst og afslut\n"
+"\n"
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr "ugyldig parameter for nævner"
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Brug: %s [tilvalg] enhed [blokantal]\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+" -N, --inodes=ANT angiv ønsket antal inoder\n"
+" -V, --vname=NAVN angiv navn for diskenhed\n"
+" -F, --fname=NAVN angiv navn for filsystem\n"
+" -v, --verbose forklar hvad der sker\n"
+" -c denne indstilling ignoreres i stilhed\n"
+" -l denne indstilling ignoreres i stilhed\n"
+" -V, --version vis versionsinformation og afslut\n"
+" -V som version skal være eneste tilvalg\n"
+" -h, --help vis denne hjælpetekst og afslut\n"
+"\n"
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr "ugyldigt antal inoder"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "navn pĂĄ diskenhed er for langt"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "filsystemnavn er for langt"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s er ikke en blokenhed"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr "ugyldigt blokantal"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "kan ikke indhente størrelsen af %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "blokparameter er for stort, maks er %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "for mange inoder - øvre grænse er 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "ikke plads nok, kræver mindst %llu blokke"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Enhed: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Diskenhed: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSnavn: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blokstørrelse: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inoder: %lu (i en blok)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inoder: %lu (i %llu blokke)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blokke: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode-slut: %d, data-slut: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "fejl under skrivning af superblok"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "fejl under skrivning af rod-inode"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "fejl under skrivning af inode"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "søgefejl"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "fejl under skrivning af .-indgang"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "fejl under skrivning af ..-indgang"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "fejl under lukning af %s"
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "Brug: %s [tilvalg] [-t type for fs-tilvalg] enhed [størrelse]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+" -t, --type=TYPE type af filsystem, uden definition bruges ext2\n"
+" fs-options parametre til reelt filsystembyggeprogram\n"
+" device sti til en enhed\n"
+" size antal blokke pĂĄ enheden\n"
+" -V, --verbose forklar hvad der sker\n"
+" definering af -V mere end en gang vil medføre en "
+"testkørsel\n"
+" -V, --version vis versionsinformation og afslut\n"
+" -V som version skal være eneste tilvalg\n"
+" -h, --help vis denne hjælpetekst og afslut\n"
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"For yderligere information se mkfs(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"brug: %s [-h] [-v] [-b blokstr] [-e udgave] [-N endian] [-i fil] [-n navn] "
+"mappenavn udfil\n"
+" -h vis denne hjælpetekst\n"
+" -v vær mere forklarende\n"
+" -E gør alle advarsler til fejl (afslutningsstatus over nul)\n"
+" -b blokstr benyt denne blokstørrelse, skal svare til sidestørrelsen\n"
+" -e udgave angiv udgavenummer (en del af fsid)\n"
+" -N endian sæt endianness for cramfs (big|little|host), standardvært\n"
+" -i fil indsæt filaftryk i filsystemet (kræver >= 2.4.0)\n"
+" -n navn angiv navnet pĂĄ cramfs-filsystemet\n"
+" -p indsæt %d byte foran opstartskoden\n"
+" -s sortér mappeindgange (gammelt tilvalg, ignoreres)\n"
+" -z lav eksplicitte huller (kræver >= 2.3.39)\n"
+" mappenavn roden af det filsystem, der skal komprimeres\n"
+" udfil uddatafil\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr "kunne ikke læse mappe %s"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Fandt meget langt (%zu byte) filnavn »%s«.\n"
+" Forøg MAX_INPUT_NAMELEN i mkcramfs.c og genoversæt. Afslutter."
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr "for stort filsystem. Afslutter."
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AAARGH: blok blev »komprimeret« til > 2*bloklængden (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld byte)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr "kunne ikke lukke filen »%s«"
+
+#: disk-utils/mkfs.cramfs.c:726
+msgid "invalid blocksize argument"
+msgstr "ugyldig blokstørrelsesparameter"
+
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr "parameter for udgavenummer mislykkedes"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr "ugyldig endianness angivet. Skal være »big«, »little« eller »host«"
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"advarsel: et gæt på den nødvendige størrelse (øvre grænse) er %lldMB, men "
+"den maksimale aftryksstørrelse er %uMB. Vi bliver muligvis ikke færdige."
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "ROM-aftrykskort"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Medtager: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Mappedata: %zd byte\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Alt: %zd kilobyte\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblok: %zd byte\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"der er tildelt for lidt plads til ROM-aftrykket (%lld tildelt, %zu brugt)"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "ROM-aftryk"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "Skrivning af ROM-aftryk mislykkedes (%zd %zd)"
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "advarsel: filnavne afkortet til 255 byte."
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr "advarsel: filer oversprunget pga. fejl."
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "advarsel: filstørrelser afkortet til %luMB (minus 1 byte)."
+
+# spørgsmålet er om det *giver* sikkerhedsproblemer, eller måske bare
+# er et symptom på at der kan være sikkerhedsproblemer :)
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"advarsel: uids forkortet til %u bit. (Dette kan være et sikkerhedsproblem.)"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"advarsel: gids forkortet til %u bit. (Dette kan være et sikkerhedsproblem.)"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"ADVARSEL: enhedsnumre er afkortet til %u bit. Det betyder næsten med\n"
+"sikkerhed, at nogle af enhedsfilerne vil være fejlbehæftede."
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Brug: %s [-c | -l filnavn] [-nXX] [-iXX] /dev/navn [blokke]"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s er monteret; vil ikke oprette et filsystem her!"
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "%s: mislykket søgning til opstartsblok i write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%s: kunne ikke slette opstartssektor"
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "%s: søgning mislykkedes i write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr "%s: kunne ikke skrive super-blok"
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr "%s: kunne ikke skrive inode-oversigt"
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr "%s: kunne ikke skrive zoneoversigt"
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr "%s: kunne ikke skrive inoder"
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s: søgning mislykkedes i write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr "%s: mislykket skrivning i write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr "%s: for mange ugyldige blokke"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr "%s: ikke nok gyldige blokke"
+
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "%s: kunne ikke allokere mellemlagre for superblok"
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "%s: kunne ikke allokere mellemlagre til oversigter"
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "%s: kunne ikke allokere mellemlager til inoder"
+
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr "%lu inoder\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr "%lu blokke\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maksstørrelse=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "%s: søgning mislykkedes under test af blokke"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Mystiske værdier i do_check: sandsynligvis programfejl\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s: søgning mislykkedes i check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "%s: ugyldige blokke før dataområde: kan ikke oprette filsystem"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d ugyldige blokke\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "en ugyldig blok\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s: kan ikke ĂĄbne fil med ugyldige blokke"
+
+# den her kan jeg ikke fortolke. MĂĄske:
+# badblock-talinddatafejl pĂĄ...
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "talinddatafejl af typen badblock pĂĄ linje %d\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s: kan ikke læse badblocks-fil"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr "%s: ugyldig inode-størrelse"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol-fejl: antallet af blokke ikke angivet"
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr "%s: enhed er fejljusteret"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "blokstørrelse mindre end fysisk sektorstørrelse på %s"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "kan ikke bestemme størrelse på %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "vil ikke forsøge at oprette filsystem på »%s«"
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr "%s: for lille antal blokke"
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Ugyldig sidestørrelse %u angivet af bruger"
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr "Benytter brugerbestemt sidestørrelse %d i stedet for systemværdien %d"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr "Ugyldig størrelse på swap-hoved, skrev ikke nogen etiket."
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr "Etiket blev afkortet."
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "ingen etiket, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "ingen uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+"\n"
+"Brug:\n"
+" %s [tilvalg] enhed [størrelse]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+" -c, --check tjek for ugyldige blokke før oprettelse af "
+"swapomrĂĄde\n"
+" -f, --force tillad at størrelsen på swapområdet er større end "
+"enheden\n"
+" -p, --pagesize STĂRRELSE angiv sidestørrelse i byte\n"
+" -L, --label ETIKET angiv etiket\n"
+" -v, --swapversion NUM angiv versionsnummer for swapomrĂĄde\n"
+" -U, --uuid UUID angiv uuid'en der skal bruges\n"
+" -V, --version vis versionsinformation og afslut\n"
+" -h, --help vis denne hjælpetekst og afslut\n"
+"\n"
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "for mange ugyldige sider"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "søgning mislykkedes i check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "en ugyldig side\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu ugyldige sider\n"
+
+# måske libblkid-probe, ikke sikker (allokere ny undersøgelse af libblkid
+# Jeg tror ikke det er en undersøgelse af, men snarere noget som
+# undersøger noget andet. Det kan også sagtens være en probe på dansk.
+# SĂĄ jeg vil foreslĂĄ:
+# "kunne ikke tildele enhede til libblkid-probe
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "kunne ikke allokere ny libblkid-probe"
+
+# mĂĄske libblkid-probe, ikke sikker
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr "kunne ikke tildele enhed til libblkid-probe"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "kunne ikke spole tilbage pĂĄ swap-enheden"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "kunne ikke slette opstartsbit-sektorer"
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s: advarsel: slet ikke opstartsbit-sektorer"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (%s-partitionstabel detekteret). "
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " pĂĄ hele disken. "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (kompileret uden libblkid). "
+
+#: disk-utils/mkswap.c:489
+msgid "parse page size failed"
+msgstr "kunne ikke fortolke sidestørrelse"
+
+#: disk-utils/mkswap.c:495
+msgid "parse version number failed"
+msgstr "kunne ikke fortolke versionsnummer"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr "advarsel: ignorer -U (UUID'er er ikke understøttet af %s)"
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr "understøtter ikke swapspace version %d."
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "fejl: UUID-fortolkning mislykkedes"
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr "fejl: Ingen steder at opsætte swap?"
+
+#: disk-utils/mkswap.c:545
+msgid "invalid block count argument"
+msgstr "ugyldig parameter for blokantal"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "fejl: størrelsen %llu KiB er større end enhedsstørrelsen %llu KiB"
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "fejl: swap-område skal mindst være på %ld KiB"
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "fejl: afkorter swap-omrĂĄdet til %llu KiB"
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "fejl: %s er monteret; vil ikke oprette swapomrĂĄde."
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr "advarsel: %s er ikke korrekt justeret"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Kunne ikke klargøre swap-område: ulæseligt"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Klargør swap-område version 1, størrelse = %llu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: kunne ikke skrive signaturside"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync mislykkedes"
+
+# selinux-filetiket
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: kunne ikke indhente selinux' filetiket"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "kunne ikke matchpathcon()"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "kunne ikke oprette ny selinuxkontekst"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "kunne ikke beregne selinuxkontekst"
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr "kunne ikke omdøbe %s til %s"
+
+#: disk-utils/partx.c:79
+msgid "partition number"
+msgstr "partitionsnummer"
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr "start pĂĄ partitionen i sektorer"
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr "slutning pĂĄ partitionen i sektorer"
+
+#: disk-utils/partx.c:82
+msgid "number of sectors"
+msgstr "antal sektorer"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr "læsbar størrelse"
+
+#: disk-utils/partx.c:84
+msgid "partition name"
+msgstr "partitionsnavn"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+msgid "partition UUID"
+msgstr "partition-UUID"
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr "partitionstabeltype (dos, gpt ...)"
+
+#: disk-utils/partx.c:87
+msgid "partition flags"
+msgstr "partitionsflag"
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr "partitionstype hex eller uuid"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+msgid "failed to initialize loopcxt"
+msgstr "kunne ikke initialisere loopcxt"
+
+#: disk-utils/partx.c:110
+#, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: kunne ikke finde ledig løkkeenhed (loop device)"
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "Forsøger at bruge »%s« for løkkeenheden\n"
+
+#: disk-utils/partx.c:118
+#, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: Kunne ikke angive backing-fil"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s: klargøring af løkkeenhed mislykkedes"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "ukendt kolonne: %s"
+
+#: disk-utils/partx.c:200
+#, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s: kunne ikke indhente partitionsnummer"
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr "%s: fejl under sletning af partition %d"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "%s: fejl under sletning af partitionerne %d-%d"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr "det angivet interval <%d:%d> giver ikke mening"
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "%s: partition #%d fjernet\n"
+
+# den her engelske giver da ikke mening!!!
+#: disk-utils/partx.c:304
+#, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "%s: partition #%d findes allerede ikke.\n"
+
+#: disk-utils/partx.c:309
+#, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "%s: sletning af partition #%d mislykkedes"
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr "%s: fejl under tilføjelse af partition %d"
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "%s: fejl under tilføjelse af partitioner %d-%d"
+
+#: disk-utils/partx.c:368
+#, c-format
+msgid "%s: partition #%d added\n"
+msgstr "%s: partition #%d tilføjet\n"
+
+#: disk-utils/partx.c:373
+#, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s: tilføjelse af partition #%d mislykkedes"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr "#%2d: %9ju-%9ju (%9ju sektorer, %6ju MB)\n"
+
+# mĂĄske udskrift
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr "kunne ikke tilføje linje til uddata"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr "kunne ikke initialisere uddatatabel"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr "kunne ikke initialisere uddatakolonne"
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "kunne ikke initialisere blkid-filter for »%s«"
+
+#: disk-utils/partx.c:585
+#, c-format
+msgid "%s: failed to read partition table"
+msgstr "%s: kunne ikke læse partitionstabel"
+
+#: disk-utils/partx.c:591
+#, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr "%s: partitionstabeltype »%s« detekteret\n"
+
+#: disk-utils/partx.c:595
+#, c-format
+msgid "%s: partition table with no partitions"
+msgstr "%s: partitionstabel uden partitioner"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --add tilføj angivne partitioner eller dem alle\n"
+" -d, --delete slet angivne partitioner eller dem alle\n"
+" -l, --list vis partitioner (FORÆLDET)\n"
+" -s, --show vis partitioner\n"
+"\n"
+" -b, --bytes vis STĂRRELSE i byte fremfor i læsbart format\n"
+" -g, --noheadings vis ikke hoveder for --show\n"
+" -n, --nr <n:m> angiv intervallet af partitioner (f.eks. --nr 2:4)\n"
+" -o, --output <type> definer hvilke resultatkolonner der skal bruges\n"
+" -P, --pairs brug nøgle=»værdi« resultatformat\n"
+" -r, --raw brug rĂĄt resultatformat\n"
+" -t, --type <type> angiv partitionstypen (dos, bsd, solaris, etc.)\n"
+" -v, --verbose uddybende tilstand\n"
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+"\n"
+"Tilgængelige kolonner (for --show, --raw eller --pairs):\n"
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr "kunne ikke fortolke --nr <M-N>-interval"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "--nr og <partition> udelukker hinanden"
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr "partition: %s, disk: %s, nedre: %d, øvre: %d\n"
+
+#: disk-utils/partx.c:829
+#, c-format
+msgid "%s: cannot delete partitions"
+msgstr "%s: kan ikke slette partitioner"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "%s: partitionerede løkkenheder er ikke understøttet"
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "%s: kunne ikke initialisere blkid-testprogram"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+" %1$s %2$srawN <hovednummer> <undernummer>\n"
+" %1$s %2$srawN /dev/<blokenhed>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr " -q, --query angiv forespørgselstilstand\n"
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr " -a, --all forespørg alle rå enheder\n"
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr "Enhed »%s« er control raw dev (brug raw<N> hvor <N> er større end nul)"
+
+#: disk-utils/raw.c:178
+#, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Kunne ikke finde blokenhed »%s«"
+
+#: disk-utils/raw.c:181
+#, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Enhed »%s« er ikke en blokenhed"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+msgid "failed to parse argument"
+msgstr "kunne ikke fortolke parameter"
+
+#: disk-utils/raw.c:210
+#, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Kan ikke åbne master raw-enhed »%s«"
+
+#: disk-utils/raw.c:225
+#, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "Kan ikke lokalisere raw-enhed »%s«"
+
+#: disk-utils/raw.c:228
+#, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "Raw-enhed »%s« er ikke en tegnenhed"
+
+#: disk-utils/raw.c:232
+#, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "Enhed »%s« er ikke en raw-enhed"
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr "Fejl under forespørgsel til raw-enhed (%s)"
+
+# hovednummer %d, undernummer %d
+# (findes under major/minor pĂĄ ordlisten)
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr "%sraw%d: bundet til hovednummer %d, undernummer %d\n"
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr "Fejl under indstilling af raw-enhed"
+
+#: disk-utils/resizepart.c:18
+#, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr " %s <diskenhed> <partitionsnummer> <længde>\n"
+
+#: disk-utils/resizepart.c:98
+#, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s: kunne ikke indhente begyndelse pĂĄ partitionsnummer %s"
+
+#: disk-utils/resizepart.c:103
+msgid "failed to resize partition"
+msgstr "kunne ikke ændre størrelse på partition"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr "%s: Kan ikke undersøge enhed"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr "%s: Ambivalent undersøgelsesresultat, brug wipefs(8)"
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: Ikke en gyldig swap-partition"
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: Understøtter ikke swap-version »%s«"
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr "kunne ikke fortolke UUID: %s"
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: Kunne ikke søge (seek) UUID for swap"
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: Kunne ikke skrive UUID"
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: Kunne ikke søge (seek) til swap-etiket"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr "etiket er for lang. Forkorter den til »%s«"
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr "%s: kunne ikke skrive etiket"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+" -L, --label <etiket> angiv en ny etiket\n"
+" -U, --uuid <uuid> angiv en ny uuid\n"
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "ignorer -U (UUID'er er ikke understøttet)"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Hukommelse opbrugt!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Ubrugelig"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Frit omrĂĄde"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disken er blevet udskiftet.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Genstart systemet for at sikre, at partitionstabellen er opdateret korrekt.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"ADVARSEL: Læs venligst cfdisk manualsiden for\n"
+"yderligere information, hvis du har oprettet eller\n"
+"ændret DOS 6.x-partitioner.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "FATAL FEJL"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Tryk en tast for at afslutte cfdisk"
+
+# egentlig 'diskdrev', ved ikke om det pĂĄ nogen mĂĄde kan give problemer
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Kan ikke søge på drev"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Kan ikke læse drev"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Kan ikke skrive pĂĄ drev"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "For mange partitioner"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Partition starter før sektor 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Partition slutter før sektor 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Partition starter efter slut-pĂĄ-disk"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Partition slutter efter slut-pĂĄ-disk"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "logiske partitioner ikke i diskrækkefølge"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "logisk partitionsoverlap"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "forstørret logisk partitionsoverlap"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Intern fejl under oprettelse af logisk drev uden udvidet partition!!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Kan ikke oprette logisk drev her - ville resultere i to udvidede partitioner"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menupunkt for langt. Menu ser muligvis mærkelig ud."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Ugyldig tast"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Tryk en tast for at fortsætte"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primær"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Opret en ny primær partition"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logisk"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Opret en ny logisk partition"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Fortryd"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Opret ikke partition"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Intern fejl !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Størrelse (i MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Begyndelse"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Tilføj partition i starten af det frie område"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Slut"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Tilføj partition i slutningen af det frie område"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Ikke plads til at oprette udvidet partition"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Ingen partitionstabel.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Ingen partitionstabel. Starter med nulstillet tabel."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Ugyldig signatur i partitionstabel"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Ukendt partitionstabeltype"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Vil du starte med nulstillet tabel [j/N]?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Du angav flere cylindre, end der kan være på disken"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Kan ikke ĂĄbne drev"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Ă…bnede drev skrivebeskyttet - du har ikke adgang til at skrive"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Advarsel!! Der er detekteret en version af GPT (GUID Partition Table), der "
+"ikke er understøttet. Brug GNU Parted."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Kan ikke få diskstørrelsen"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Ugyldig primærpartition"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Ugyldig logisk partition"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Advarsel!! Dette ødelægger muligvis data på din disk!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Er du sikker pĂĄ, at du vil skrive partitionstabellen til disken? (ja eller "
+"nej): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "nej"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Skrev ikke partitionstabellen til disken"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "ja"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Skriv venligst »ja« eller »nej«"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Skriver partitionstabel til disken..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Skrev partitionstabel til disken"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Skrev partitionstabel, men genindlæsning mislykkedes. Kør partprobe(8), "
+"kpartx(8) eller genstart for at opdatere tabellen."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Der er ingen primære opstartspartitioner. DOS MBR vil ikke kunne starte op."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Da der er flere primære opstartspartitioner, vil DOS MBR ikke kunne starte "
+"op."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Angiv filnavn eller tryk RETUR for at vise på skærmen: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Drev: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Ingen "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primær"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logisk"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Ukendt"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Opstart"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Ingen"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitionstabel for %s\n"
+
+# (ordet kan nok rykkes et felt til venstre uden at det ødelægger
+# noget, sĂĄ strengen er lige sĂĄ lang som den engelske)
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Første Sidste\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Type Sektor Sektor Forskydn. Længde Filsystem Type (id) "
+"Flag\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----Starter---- ----Ender---- Start Antal\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Flag Hovd Sekt Cyl ID Hovd Sekt Cyl Sektor Sektorer\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "RĂĄ"
+
+# Jeg tror det er formatet for tabellen, der kan være "råt" (tæt på
+# dens datarepræsentation så programmer kan arbejde på den) eller
+# omskrevet til mere læsevenlig form.
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Vis tabellen i rĂĄt dataformat"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektorer"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Vis tabellen ordnet efter sektorer"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabel"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Vis kun partitionstabellen"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Vis ikke tabellen"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Hjælpeskærm for cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Dette er cfdisk, et curses-baseret diskpartitioneringsprogram, som"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "lader dig oprette, slette eller modificere partitioner pĂĄ din"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "harddisk."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Ophavsret 1994-1999 Kevin E. Martin & aeb"
+
+# se nedenfor
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Kommando Betydning"
+
+# Tror understregerne her skal passe til forrige streng
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "-------- ---------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Skift opstartsflaget for den aktuelle partition"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Slet den aktuelle partition"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Ret parametre for cylinder, hoved og sektorer-per-spor"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " ADVARSEL: Denne kommando bør kun bruges af folk, der"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " er klar over, hvad de gør."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Vis denne skærm"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maksimer partitionens diskforbrug"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Bemærk: Dette kan gøre partitionen inkompatibel med"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Opret ny partition i frit omrĂĄde"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Udlæs partitionstabellen til skærmen eller en fil"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Der er flere forskellige formater pĂĄ partitionen,"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " som du kan vælge mellem:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr " r - Rådata (nøjagtig de, som ville skrives på disken)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Tabel ordnet efter sektorer"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Tabel i rĂĄt format"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Afslut program uden at skrive partitionstabellen"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Skift filsystemtype"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Skift enhed for visning af partitionsstørrelser"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Skifter mellem MB, sektorer og cylindre"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Skriv partitionstabellen til disk (skal være stort W)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Siden dette kan ødelægge data på disken, skal du enten"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " bekræfte eller afvise ved at skrive henholdsvis »ja«"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " eller »nej«"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Pil op Flyt markøren til forrige partition"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Pil ned Flyt markøren til næste partition"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Gentegner skærmen"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Vis denne skærm"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Bemærk: Alle kommandoerne kan angives med enten store eller små"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "bogstaver (undtagen Writes)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cylindre"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Skift cylindergeometri"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Hoveder"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Skift hovedgeometri"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Skift sektorgeometri"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Færdig"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Færdig med geometriændring"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Angiv antallet af cylindre: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Ugyldigt cylinderantal"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Angiv antallet af hoveder: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Ugyldigt hovedantal"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Angiv antallet af sektorer per spor: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Ugyldigt sektorantal"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Angiv filsystemtype: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Kan ikke ændre filsystemtype til tom"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Kan ikke ændre filsystemtype til udvidet"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Ukt(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Ukendt (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Drev: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Størrelse: %lld byte, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Størrelse: %lld byte, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Hoveder: %d Sektorer per spor: %d Cylindre: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Navn"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Flag"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Part-type"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Fs-type"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Etiket]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sektorer"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cylindre"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Størrelse (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Størrelse (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Ikke flere partitioner"
+
+# "Opstartbar"
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Opstartsflag"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Skift opstartsflaget for den aktuelle partition"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Slet"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Slet den aktuelle partition"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometri"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Skift diskgeometri (kun for eksperter)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Hjælp"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Vis hjælpeskærm"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maksimer"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maksimer diskforbruget for partitionen (kun for eksperter)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Ny"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Opret ny partition i frit omrĂĄde"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Udlæs"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Udlæs partitionstabellen til skærmen eller til en fil"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Afslut"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Afslut program uden at ændre partitionstabellen"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Type"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Skift filsystemtype (DOS, Linux, OS/2 osv.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Enheder"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Skift enheder for visning af partitionstabellen (MB, sekt, cyl)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Skriv"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Skriv partitionstabellen til disk (dette kan ødelægge data)"
+
+# el. ..gøre dette til en opstartspartition
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Kan ikke gøre denne partition opstartbar"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Kan ikke slette en tom partition"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Kan ikke maksimere denne partition"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Denne partition er ubrugelig"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Denne partition er allerede i brug"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Kan ikke ændre en tom partitions type"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Ugyldig kommando"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Ophavsret 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Brug:\n"
+"Vis version:\n"
+" %s -v\n"
+"Vi partitionstabellen:\n"
+" %s -P {r|s|t} [tilvalg] enhed\n"
+"Interaktiv brug:\n"
+" %s [tilvalg] enhed\n"
+"\n"
+"Tilvalg:\n"
+"-a: Brug pil i stedet for baggrundsfyld;\n"
+"-z: Start med en tom partitionstabel i stedet for at læse diskens;\n"
+"-c C -h H -s S: Underkend kernens ide om antallet af cylindre,\n"
+" hoveder og sektorer/spor.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+msgid "cannot parse number of cylinders"
+msgstr "kan ikke fortolke antallet af cylindre"
+
+#: fdisks/cfdisk.c:2789
+msgid "cannot parse number of heads"
+msgstr "kan ikke fortolke antallet af hoveder"
+
+#: fdisks/cfdisk.c:2796
+msgid "cannot parse number of sectors"
+msgstr "kan ikke fortolke antallet af sektorer"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tDer er en gyldig AIX-etiket pĂĄ denne disk.\n"
+"\tDesværre kan Linux endnu ikke arbejde med disse\n"
+"\tdiske. Alligevel er her nogle gode rĂĄd:\n"
+"\t1. fdisk vil ødelægge dens indhold når du gemmer.\n"
+"\t2. Vær sikker på at denne disk IKKE er en vital\n"
+"\t del af en diskenhedsgruppe. (Ellers kan du ogsĂĄ slette\n"
+"\t de andre diske, hvis de ikke er spejlede.)\n"
+"\t3. Før du sletter denne fysiske diskenhed så vær sikker på,\n"
+"\t at du fjerne disken logisk fra din AIX-maskine.\n"
+"\t (Ellers bliver du en AIXpert)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tBeklager - denne fdisk kan ikke hĂĄndtere AIX-disketiketter.\n"
+"\tHvis du vil tilføje DOS-partitioner, så opret først en ny,\n"
+"\ttom DOS-partitionstabel. (Brug o.)\n"
+"\tADVARSEL: Dette vil ødelægge diskens nuværende indhold.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD-etiket for enhed: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Skriver disketiket til %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Første %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Sidste %s eller +størrelse eller +størrelseM eller +størrelseK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s har ingen disketiket.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Vil du oprette en disketiket? (j/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partition %s har en ugyldig startsektor 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Læser disketiket for %s fra sektor %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Der er ingen *BSD-partitioner pĂĄ %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD-disketiketkommando (m for hjælp): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "type: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "type: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiket: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "flag:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " flytbar"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " fejlsekt"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte/sektor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektorer/spor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "spor/cylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektorer/cylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindre: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "omdr. per minut: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "sporafvigelse: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderafvigelse: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "hovedskift: %ld\t\t# millisekunder\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "spor-til-spor søgning: %ld\t# millisekunder\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "drevdata: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# start slut størr. fstype [fstr. bstr. cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "byte/sektor"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektorer/spor"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "spor/cylinder"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cylindre"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektorer/cylinder"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Skal være <= sektorer/spor * spor/cylinder (standard).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "omdr. per minut"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "sporafvigelse"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderafvigelse"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "hovedskift"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "spor-til-spor søgning"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Opstartsigangsætter: %sopstart -> opstart%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Opstartsigangsætter overlapper med disketiket!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Opstartsigangsætter installeret på %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partition (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Det maksimale antal partitioner er blevet oprettet\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Denne partition findes allerede.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Advarsel: For mange partitioner (%d, maksimum er %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synkroniserer diske.\n"
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr "skift et opstartsflag (bootable)"
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr "skift et skrivebeskyttelsesflag"
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr "vælg en opstartspartition"
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr "ændr antallet af alternative cylindre"
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr "skift bsd-disketiket"
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr "rediger indgang i opstartsfil"
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr "flyt starten pĂĄ data i en partition"
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr "skift DOS-kompatilitetsflaget"
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr "skift det monterbare flag"
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr "vælg sgi swap-partition"
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr "ændr antallet af cylindre"
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr "slet en partition"
+
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr "vis rĂĄdataene fra partitionstabellen"
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr "ændr antallet af ekstra sektorer per cylinder"
+
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr "vis udvidede partitioner"
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr "rediger drevdata"
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr "ordn partitionsrækkefølgen"
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr "opret en IRIX-partitionstabel (SGI)"
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr "ændr antallet af hoveder"
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr "ændr interleavefaktor"
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr "skift diskidentifikationen"
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr "installer opstartsigangsætter (»bootstrap«)"
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr "vis liste over kendte partitionstyper"
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr "vis denne menu"
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr "tilføj en ny partition"
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr "opret en ny, tom DOS-partitionstabel"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr "ændr rotationshastighed (omdr. per minut)"
+
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr "vis partitionstabellen"
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr "afslut uden at gemme ændringerne"
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr "returner til hovedmenuen"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr "opret en ny, tom Sun-disketiket"
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr "ændr antallet af sektorer/spor"
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr "vis hele disketiketten"
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr "skift system-id for en partition"
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr "skift enheder for visning/indtastning"
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr "verificer partitionstabellen"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr "skriv partitionstabel til disk og afslut"
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr "skriv disketiketten til disken"
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr "ekstra funktionalitet (kun for eksperter)"
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr "lænk en BSD-partition til en ikke-BSD-partition"
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr "ændr antallet af fysiske cylindre"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+"Brug:\n"
+" %1$s [tilvalg] <disk> ændr partitionstabel\n"
+" %1$s [tilvalg] -l <disk> vis partitionstabeller\n"
+" %1$s -s <partition> angiv partitionsstørrelser i blokke\n"
+"\n"
+"Tilvalg:\n"
+" -b <størrelse> sektorstørrelse (512, 1024, 2048 eller 4096)\n"
+" -c[=<tilstand>] kompatibel tilstand: »dos« eller »nondos« (standard)\n"
+" -h vis hjælpeteksten\n"
+" -u[=<enhed>] vis enheder: »cylindre« eller »sektorer« (standard)\n"
+" -v vis version\n"
+" -C <antal> angiv antallet af cylindre\n"
+" -H <antal> angiv antallet af hoveder\n"
+" -S <antal> angiv antallet af sektorer per spor\n"
+"\n"
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr "kunne ikke læse %s"
+
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr "kunne ikke søge på %s"
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr "kunne ikke skrive %s"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl mislykkedes pĂĄ %s"
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr "fatal fejl"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Kommandobeskrivelse"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Du skal angive"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "hoveder"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektorer"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Dette kan du gøre fra menuen med ekstra funktioner.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " og "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"ADVARSEL: Størrelsen på disken er %d.%d TB (%llu byte).\n"
+"DOS' partitionstabelformat kan ikke bruges på drev for diskenheder større\n"
+"end (%llu byte) for %ld-byte sektorer. Brug parted(1) og GUID's \n"
+"partitionstabelformat (GPT).\n"
+"\n"
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+"\n"
+"Enheden viser en logisk sektorstørrelse, som er mindre end den\n"
+"fysiske sektorstørrelse. Justering til en størrelsesgrænse for en\n"
+"fysisk sektor (eller valgfri I/O) anbefales, ellers kan ydelsen blive\n"
+"pĂĄvirket.\n"
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"ADVARSEL: DOS-kompatibel tilstand er forældet. Det anbefales stærkt at \n"
+" slå tilstanden fra (med kommandoen »c«)"
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+"\n"
+"ADVARSEL: Brug af cylindre som visningsenhed er forældet. Brug kommandoen\n"
+" »u« til at ændre enheden til sektorer.\n"
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr "Vil du virkelig fortsætte? "
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Hekskode (tryk L for en liste over koderne): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, standard %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Suffiks er ikke understøttet: »%s«.\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"Understøttet: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Bruger standardværdi %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Værdi uden for området.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Partitionsnummer"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Advarsel: partition %d er af typen »tom«\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partition %d er valgt\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ingen partitioner defineret!\n"
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cylinder"
+msgstr[1] "cylindre"
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektor"
+msgstr[1] "sektorer"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Skifter enheder for visning/indtastning til cylindre (FORÆLDET!)\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Skifter enheder for visning/indtastning til sektorer\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ADVARSEL: Partition %d er en udvidet partition\n"
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOS-kompatilitetsflag er sat (FORÆLDET!)\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-kompatilitetsflag er ikke sat\n"
+
+#: fdisks/fdisk.c:841
+#, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Partition %d er slettet\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partition %d eksisterer ikke endnu!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Type 0 betyder fri plads for mange systemer\n"
+"(men ikke for Linux). At have type 0-partitioner\n"
+"er nok uklogt. Du kan slette en partition med\n"
+"kommandoen »d«.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Du kan ikke ændre en partition mellem at være udvidet eller ikke-udvidet\n"
+"Slet den først.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Overvej at lade partition 3 være »Hele disken« (5), da\n"
+"SunOS/Solaris forventer det og selv Linux foretrækker det.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Overvej at lade partition 9 være disk-hoved (volume header) (0),\n"
+"og partition 11 som »entire volume« (6), da IRIX forventer det.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Ændrede systemtypen for partition %d til %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Systemtypen for partition %d er uændret: %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "Partition %d har forskellig fysisk/logisk begyndelse (ikke-Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fys=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logisk=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partition %d har forskellig fysisk/logisk endelse:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partition %i slutter ikke på en cylindergrænse.\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Partition %i starter ikke på en fysisk sektorgrænse.\n"
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld MB, %lld byte"
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu byte"
+
+#: fdisks/fdisk.c:1007
+#, c-format
+msgid ", %llu sectors\n"
+msgstr ", %llu sektorer\n"
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d hoveder, %llu sektorer/spor, %llu cylindre\n"
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Enheder = %s af %d * %ld = %ld byte\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "Sektorstørrelse (logisk/fysisk): %lu byte / %lu byte\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr "I/O-størrelse (minimum/optimal): %lu byte / %lu byte\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "Justeringsforskydning: %lu byte\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Intet at gøre. Rækkefølgen er allerede korrekt.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Færdig.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Dette ligner ikke en partitionstabel.\n"
+"Du har nok valgt den forkerte enhed.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Opstart Start Slut Blokke Id System\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Enhed"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partitionstabellens indgange er ikke i diskrækkefølge\n"
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d hoveder, %llu sektorer, %llu cylindre\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr AF Hvd Sek Cyl Hvd Sek Cyl Start Str. ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Advarsel: partition %d indeholder sektor 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partition %d: hovedet %d er større end de maksimale %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partition %d: sektor %d er større end de maksimale %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partitionerne %d: cylinder %d større end de maksimale %llu\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Partition %d: forrige sektorer %d stemmer ikke med totalen %d\n"
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Partition %d af type %s og størrelse %s er angivet\n"
+
+#: fdisks/fdisk.c:1355
+msgid "cannot write disk label"
+msgstr "kan ikke skrive disketiket"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Partitionstabellen er ændret!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Kalder ioctl() for at genindlæse partitionstabellen.\n"
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"ADVARSEL: Genindlæsning af partitionstabel mislykkedes med fejlen \n"
+"%d: %m. Denne kerne bruger stadig den gamle tabel. Den nye tabel vil\n"
+"blive brugt fra næste genstart, eller efter du kører partprobe(8) eller\n"
+"kpartx(8)\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"ADVARSEL: Læs venligst fdisks manualside for\n"
+"yderligere information, hvis du har oprettet eller\n"
+"ændret DOS 6.x-partitioner.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Fejl ved lukning af fil\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synkroniserer diske.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partition %d har intet dataomrĂĄde\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Ny begyndelse pĂĄ data"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Ekspertkommando (m for hjælp): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Antal cylindre"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Antal hoveder"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Antal sektorer"
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Advarsel: sætter sektorforskydning for DOS-kompatilitet\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"ADVARSEL: GPT (GUID-partitionstabel) detekteret på »%s«! Værktøjet fdisk "
+"understøtter ikke GPT. Brug GNU Parted.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "kan ikke ĂĄbne %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: ukendt kommando\n"
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Velkommen til fdisk (%s).\n"
+"\n"
+"Ændringer vil holdes i hukommelsen, indtil du beslutter at gemme dem.\n"
+"Vær forsigtig før du bruger kommanden write (skriv).\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Detekterede en OSF/1-disketiket pĂĄ %s. GĂĄr i tilstanden disketiket.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Kommando (m for hjælp): "
+
+#: fdisks/fdisk.c:1821
+msgid "invalid sector size argument"
+msgstr "ugyldig parameter for sektorstørrelse"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+msgid "invalid cylinders argument"
+msgstr "ugyldig parameter for cylindre"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+msgid "invalid heads argument"
+msgstr "ugyldig parameter for hoveder"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+msgid "invalid sectors argument"
+msgstr "ugyldig parameter for sektorer"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Advarsel: Tilvalget -b (angiv sektorstørrelse) kræver angivelse af "
+"diskenhed\n"
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Bemærk: sektorstørrelsen er %ld (ikke %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Enheden indeholder ikke en genkendt partitionstabel\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Alle primære partitioner er allerede definerede!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Ugyldig forskydning i primær udvidet partition\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Advarsel: Udelader partitioner efter #%d.\n"
+"De vil blive slettet, hvis du gemmer denne partitionstabel.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+"Advarsel: ekstra henvisningspeger (link pointer) i partitionstabel %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Advarsel: ignorerer ekstra data i partitionstabel %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "udelader tom partition (%d)\n"
+
+# Evt. kan vi omgĂĄ det lidt mystiske "identifikation" ved bare at bruge
+# forkortelsen id:
+# Disk-id: ...
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Diskidentifikation: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Ny diskidentifikation (aktuel 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ignorerer ekstra udvidet partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Advarsel: Ugyldigt flag 0x%04x for partitionstabel %d vil blive rettet med "
+"»w« (forkortelse for write; dansk=skriv)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"Partition %d er allerede defineret. Slet den før du tilføjer den igen.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu er allerede allokeret\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Ingen tilgængelige frie sektorer\n"
+
+# (lidt specielt men man skriver vist +1024, +1024K, +2048M eller
+# tilsvarende konstruktion)
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Seneste %1$s, +%2$s eller +størrelse{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Tilføjer logisk partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Advarsel: ugyldig start-pĂĄ-data i partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Advarsel: partition %d overlapper med partition %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Advarsel: partition %d er tom\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logisk partition %d ikke fuldstændigt inden for partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+"Det totale antal allokerede sektorer %llu er større end de maksimale %llu\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "Tilbageværende %lld ikke-allokerede %ld-byte sektorer\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Samtlige primære partitioner er i brug\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+"Hvis du ønsker at oprette mere end fire partitioner, så skal du først\n"
+"erstatte en primær partition med en udvidet partition.\n"
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Samtlige logiske partitioner er i brug\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Tilføjer en primærpartition\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+"Partitionstype:\n"
+" p primær (%d primær, %d udvidet, %d ledig)\n"
+"%s\n"
+"Vælg (standard %c): "
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr " l logisk (5 eller derover)"
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr " e udvidet"
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr "Bruger standardsvar %c\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Ugyldig partitionstype »%c«\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tDer er en gyldig Mac-etiket pĂĄ denne disk.\n"
+"\tDesværre kan fdisk(1) endnu ikke arbejde med disse\n"
+"\tdiske. Brug enten pdisk eller parted til at ændre\n"
+"\tpartitionstabellen.\n"
+"tAlligevel er her nogle gode rĂĄd:\n"
+"\t1. fdisk vil ødelægge dens indhold når du gemmer.\n"
+"\t2. Vær sikker på at denne disk IKKE er en vital\n"
+"\t del af en diskenhedsgruppe. (Ellers kan du ogsĂĄ slette\n"
+"\t de andre diske, hvis de ikke er spejlede.)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tBeklager, - denne fdisk kan ikke hĂĄndtere Mac-disketiketter.\n"
+"\tHvis du vil tilføje DOS-partitioner, så opret første en ny,\n"
+"\ttom DOS-partition. (Brug o.)\n"
+"\tADVARSEL: Dette vil ødelægge diskens nuværende indhold.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI sprrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI sekrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux' egen"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Ifølge MIPS Computer Systems, Inc må etiketten ikke fylde mere end 512 byte\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Detekterede SGI-disketiket med forkert tjeksum.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI-disketiket): %d hoveder, %llu sektorer\n"
+"%llu cylindre, %d fysiske cylindre\n"
+"%d ekstra sekt/cyl, interleave %d:1\n"
+"%s\n"
+"Enheder = %s á %d * %ld byte\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI-disketiket): %d hoveder, %llu sektorer, %llu cylindre\n"
+"Enheder = %s á %d * %ld byte\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- partitioner -----\n"
+"Pt# %*s Info Start Slut Sektorer Id System\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Opstartsinfo -----\n"
+"Opstartsfil: %s\n"
+"----- Mappeindgange -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u størrelse%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Ugyldig opstartsfil!\n"
+"\tOpstartsfilen skal være et absolut, ikke-tomt stinavn,\n"
+"\tf.eks. »/unix« eller »/unix.save«.\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tFor langt navn på opstartsfil: højst 16 byte.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tOpstartsfil skal have et komplet stinavn.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tBemærk, at der ikke tjekkes for opstartsfilens eksistens.\n"
+"\tSGIs standard er »/unix« og som sikkerhedskopi »/unix.save«.\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Den nuværende opstartsfil er: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Angiv venligt navnet pĂĄ den nye opstartsfil: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Opstartsfil uændret\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tOpstartsfil er ændret til »%s«.\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Der er mere end én fuldstændig diskindgang.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Ingen partitioner defineret\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX kan lide, nĂĄr partition 11 fylder hele disken.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Hele diskpartitionen bør starte ved blok 0,\n"
+"ikke ved diskblok %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Hele diskpartitionen er kun %d diskblokke stor,\n"
+"men disken er pĂĄ %d diskblokke.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Partition 11 bør fylde hele disken.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partition %d starter ikke på en cylindergrænse.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partition %d slutter ikke på en cylindergrænse.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partition %d og %d overlapper hinanden i %d sektorer.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Ubenyttet hul pĂĄ %8u sektorer - sektor %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Opstartspartitionen findes ikke.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Swappartitionen findes ikke.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Swappartitionen har ikke nogen swaptype.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tDu har valgt et usædvanligt navn på opstartsfilen.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Beklager, du kan kun ændre mærket for tomme partitioner.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Det anbefales kraftigt, at partitionen pĂĄ forskydning 0\n"
+"er af typen »SGI volhdr«. IRIX-systemet vil bruge den til\n"
+"at hente fra dets mappeværktøjer som sash og fx.\n"
+"Kun »SGI volume« hele-disksektionen kan bryde dette.\n"
+"Skriv JA, hvis du er sikker på, at du vil mærke partitionen anderledes.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "JA\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Partitionsoverlap pĂĄ disken.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Forsøger at genere hele-diskindgang automatisk.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Hele disken er allerede fyldt med partitioner.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Du har overlappende partitioner på disken. Ret det først!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Det anbefales kraftigt, at den ellevte partition\n"
+"fylder hele disken og er af typen »SGI volume«\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Du vil få overlappende partitioner på disken. Ret dette først!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Sidste %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr "Bygger en ny SGI-disketiket.\n"
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "HDIO_GETGEO ioctl mislykkedes pĂĄ %s"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Advarsel: BLKGETSIZE ioctl mislykkedes pĂĄ %s. Benytter "
+"geometricylinderværdien %llu.\n"
+"Denne værdi kan blive afkortet på enheder, der er større end 33,8 GB.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tSTART=%d\tLÆNGDE=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Forsøger at bibeholde parametrene for allerede angivne partitioner.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Ikke tildelt"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Hele disken"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt-sektorer"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+# mĂĄske SunOS reserveret
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS-reserverede"
+
+# Autodetekteret Linux-raid
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetekt"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Opdagede SUN-disketiket med forkert tjeksum.\n"
+"Du er nok nødt til at angive alle værdierne\n"
+"dvs. hoveder, sektorer, cylindre og partitioner\n"
+"eller gennemtvinge en helt nyt etiket.\n"
+"(kommandoen s i hovedmenuen\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Detekterede sun-disketiket med forkert version [0x%08x].\n"
+
+# måske "sanity" i gåseøjne. Det er nok en speciel variabel, der
+# (hvis den er forkert) angiver at der er noget 'sindssygt' galt
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Detekterede sun-disketiket med forkert sanitet (sanity) [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Detekterede sun-disketiket med forkert num_partitions [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Advarsel: Forkerte værdier kræver at blive rettet og vil blive rettet af\n"
+"w(rite)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "Bygger en ny Sun-disketieket.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektorer/spor"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partition %d slutter ikke på en cylindergrænse\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partition %d overlapper med andre i sektorerne %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Ubenyttet hul - sektorerne 0­%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Ubenyttet hul - sektorerne %d­%d\n"
+
+# 'nogle' tror jeg er bedre her, det er muligt at 'nogen' ogsĂĄ er rigtigt
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Disken er allerede helt udfyldt med andre partitioner.\n"
+"Slet eller formindsk nogle af dem, før du prøver igen.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Det anbefales kraftigt, at den tredje partition dækker hele disken\n"
+"og er af typen »Hele disken«\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Du har ikke udfyldt hele disken med tredje partition, men din værdi\n"
+"%d %s dækker en anden partition. Din indgang er blevet ændret til\n"
+"%d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Hvis du vil beholde SunOS/Solaris-kompatilitet, bør du beholde denne\n"
+"partition som »Hele disken« (5), der begynder på 0, med %u sektorer\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Det anbefales kraftigt, at partitionen med forskydningen 0\n"
+"er et UFS-, EXT2FS-filsystem eller en SunOS-swap. Ved at\n"
+"lægge en Linux-swap der, kan du ødelægge din partitionstabel\n"
+"og opstartsblok. Skriv JA hvis du er helt sikker pĂĄ, at du vil\n"
+"markere den partition som Linux-swap (82): "
+
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun-disketiket): %u hoveder, %llu sektorer, %d omdrejninger\n"
+"per minut, %llu cylindre, %d alternative cylindre, %d fysiske cylindre\n"
+"%d ekstra sekt/cyl, interleave %d:1\n"
+"Etiket-id: %s\n"
+"Diskenheds-id: %s\n"
+"Enheder = %s a %d * 512 byte\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun-disketiket): %u hoveder, %llu sektorer, %llu cylindre\n"
+"Enheder = %s á %d * 512 byte\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Flag Start Slut Blokke Id System\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Antal alternative cylindre"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Ekstra sektorer per cylinder"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Interleavefaktor"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Rotationshastighed (omdr. per minut)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Antal fysiske cylindre"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Tom"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Udvidet"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS/exFAT"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX opstartbar"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2-opstartshĂĄndtering"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 udvidet (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Skjult FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnosticering"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Skjult FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Skjult FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Skjult HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Skjult W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Skjult W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Skjult W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr "Skjult NTFS WinRE"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic redning"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Opstart"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. part"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. part"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drev"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD eller SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Gammel Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / gammel Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 skjult C-drev"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux udvidet"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS diskenhedssæt"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux rĂĄtekst"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad dvale"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin opstart"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard skjult"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris opstart"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Ikke-filsystemdata"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell-værktøj"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC opstart"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS sekundær"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "søgefejl på %s - kunne ikke søge til %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "søgefejl: ønskede 0x%08x%08x, fik 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "læsefejl på %s - kunne ikke læse sektor %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "skrivefejl pĂĄ %s - kan ikke skrive sektor %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "kunne ikke ĂĄbne partitionssektorens redningsfil (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "skrivefejl pĂĄ %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "kunne ikke køre stat på partitionsgendannelsesfilen (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "partitionsgenskabelsesfilen har forkert størrelse - genskaber ikke\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "kan ikke ĂĄbne partitionsgenskabelsesfilen (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "fejl under læsning af %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "kan ikke ĂĄbne enheden %s til skrivning\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "fejl ved skrivning af sektor %lu pĂĄ %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: kan ikke bestemme geometrien\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: kan ikke bestemme størrelsen\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Advarsel: start=%lu - dette ligner mere en partition end en\n"
+"hel disk. Brug af fdisk på den er sikkert meningsløst.\n"
+"[Brug tilvalget --force hvis du virkelig gerne vil]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Advarsel: HDIO_GETGEO siger, at der er %lu hoveder\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Advarsel: HDIO_GETGEO siger, at der er %lu sektorer\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Advarsel: BLKGETSIZE/HDIO_GETGEO siger, at der er %lu cylindre\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Advarsel: Usandsynligt antal sektorer (%lu) - normalt højst 63\n"
+"Dette vil give problemer med alle programmer, der bruger C/H/S-adressering.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disk %s: %lu cylindre, %lu hoveder, %lu sektorer/spor\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s for partition %s har umulig hovedværdi: %lu (burde være mellem 0-%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s for partition %s har umulig sektorværdi: %lu (burde være mellem 1-%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s for partition %s har umulig cylinderværdi: %lu (burde være mellem 0-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Navn\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Genindlæser partitionstabel ...\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Kommandoen for genindlæsning af partitionstabellen mislykkedes.\n"
+"Kør partprobe(8), kpartx(8) eller genstart dit system nu,\n"
+"før du bruger mkfs\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Fejl ved lukning af %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: ingen sĂĄdan partition\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "ukendt format - benytter sektorer\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "ikke-implementeret format - benytter %s\n"
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder: cylindre á %lu byte, blokke á 1024 byte, tæller fra %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Enhed Opst Start Slut #cyldr. #blokke Id System\n"
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder: sektorer á 512 byte, tæller fra %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Enhed Opstart Start Slut #sektorer Id System\n"
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder = blokke á 1024 byte, tæller fra %d\n"
+"\n"
+
+# Mon ikke tabellen ser o.k. ud hvis Opstrt rykkes en til venstre, sĂĄ
+# a'et kan komme med
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Enhed Opstart Start Slut #blokke Id System\n"
+
+# (programmet skelner mellem megabyte = 1000*1000 byte og mebibyte =
+# 1024*1024 byte) evt. 'tæller fra' jf. de tidl.
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder = 1 MiB =1024*1024 byte, blokke á 1024 byte, tæller fra %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Enhed Opst Start Slut MiB #blokke Id System\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tstart: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tslut: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partitionen slutter pĂĄ cylinder %ld, efter diskens slutning\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Fandt ingen partitioner\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Advarsel: Partitionstabellen ser ud som om, at den var lavet\n"
+" til C/H/S=*/%ld/%ld (i stedet for %ld/%ld/%ld).\n"
+"I denne visning vil jeg gĂĄ ud fra denne geometri.\n"
+
+#: fdisks/sfdisk.c:1166
+msgid "no partition table present."
+msgstr "der er ingen partitionstabel."
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr "mærkeligt, kun %d partitioner er defineret."
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Advarsel: partition %s har størrelsen 0, men er ikke markeret tom\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Advarsel: partition %s har størrelsen 0 og er en opstartspartition\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Advarsel: partition %s har størrelsen 0, men starter ikke i 0\n"
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "Advarsel: partition %s er ikke indeholdt i partition %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Advarsel: partition %s og %s lapper over hinanden\n"
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Advarsel: partitionen %s indeholder en del af partitionstabellen (sektor\n"
+"%llu), og vil ødelægge denne, når der skrives til partitionen.\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Advarsel: partition %s starter i sektor 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Advarsel: partition %s nĂĄr ud over diskens slutning\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+"Advarsel: partition %s har størrelse %d.%d TB (%llu byte),\n"
+"som er større end %llu byte begrænsningen i\n"
+"DOS-partitionstabellen for %d-byte sektorer\n"
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+"Advarsel: partition %s starter ved sektor %llu (%d.%d TB for %d-byte\n"
+"sektorer), som overskrider DOS-partitionstabellens begrænsning på\n"
+"%llu sektorer\n"
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Kun én af primærpartitionerne må være udvidet\n"
+" (dette er dog ikke noget problem under Linux)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Advarsel: Partition %s starter ikke på en cylindergrænse\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Advarsel: Partition %s slutter ikke på en cylindergrænse\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Advarsel: Adskillige primærpartitioner er markeret opstartbare (aktive)\n"
+"Dette generer ikke LILO, men DOS MBR vil ikke kunne starte op fra denne "
+"disk.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Advarsel: Normalt kan man kun starte op fra primærpartitioner\n"
+"LILO ignorerer opstartsflaget.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Advarsel: Ingen primærpartition er markeret opstartbar (aktiv)\n"
+"Det generer ikke LILO, men DOS MBR vil ikke kunne starte op fra denne disk.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "start"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partition %s: start: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "slut"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partition %s: slut: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partition %s slutter pĂĄ cylinder %ld, efter diskens slutning\n"
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Advarsel: Ændrede starten på udvidet partition fra %lld til %lld\n"
+"(Vedrører kun oplistningen. Ændrer ikke indholdet.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Advarsel: Udvidet partition starter ikke på en cylindergrænse.\n"
+"DOS og Linux vil opfatte indholdet forskelligt.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "FEJL: sektor %lu har ikke en MSDOS-signatur\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "for mange partitioner - ignorerer dem efter nr. (%ld)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "træ med partitioner?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "fandt Disk Manager - kan ikke hĂĄndtere sĂĄdan en\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "Fandt DM6-signatur - opgiver\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "mærkeligt..., en udvidet partition med størrelsen 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "mærkeligt..., en BSD-partition med størrelsen 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: Ukendt partitionstabeltype\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "flaget -n blev givet: Intet ændret\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Kunne ikke gemme de gamle sektorer- afbryder\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Mislykket skrivning af partition pĂĄ %s\n"
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr "lang eller uafsluttet inddatalinje - afbryder"
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "inddatafejl: forventer »=« efter %s-felt"
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "inddatafejl: uventet tegn %c efter %s-felt"
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr "ukendt inddata: %s"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "tal for stort\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "uvedkommende tegn efter tallet\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "ikke plads til partitionsbeskrivelse\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "kunne ikke opbygge den omgivende udvidede partition\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "for mange inddatafelter\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Ikke plads til mere\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Ugyldig type\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Advarsel: Den angivne størrelse(%lu) overstiger den maksimalt tilladte "
+"(%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Advarsel: Tom partition\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Advarsel: Ugyldig partitionsbegyndelse (tidligst %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "ukendt opstartsflag, vælg - eller *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "delvis c,h,s-specifikation?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Udvidet partition ikke hvor den forventedes\n"
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr "ugyldige inddata"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "for mange partitioner\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Inddata i følgende format; udeladte felter tildeles standardværdi.\n"
+"<start> <størr> <type [E,S,L,X,hex]> <opstartsflag [-,*]> <c,h,s> <c,h,s>\n"
+"Du behøver normalt kun at angive <start> og <størr> (og måske <type>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"Brug:\n"
+
+#: fdisks/sfdisk.c:2368
+#, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr " %s [tilvalg] <enhed> [...]\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+" -s, --show-size vis størrelse på en partition\n"
+" -c, --id ændr eller vis partitions-id\n"
+" --change-id ændr id\n"
+" --print-id vis id\n"
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+" -l, --list vis partitioner for hver enhed\n"
+" -d, --dump idem, men i et format egnet for senere input\n"
+" -i, --increment antal cylindre etc. fra 1 i stedet for 0\n"
+" -u, --unit <letter> enheder der skal bruges; <bogstav> kan være en "
+"af\n"
+" S (sektorer), C (cylindre), B (blokke), eller M "
+"(MB)\n"
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr ""
+"\n"
+"Farlige tilvalg:\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g, --show-geometry vis kernens opfattelse af geometrien\n"
+" -G, --show-pt-gemometry vis geometri gættet fra partitionstabellen\n"
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -A, --activate[=<enhed>] aktiver opstartsflag\n"
+" -U, --unhide[=<enh>] angiv partition som ej skjult\n"
+" -x, --show-extended vis ogsĂĄ udvidede partitioner i uddata,\n"
+" eller forvent beskrivelser for dem i inddata\n"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Brug:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s enhed\t\t vis aktive partitioner pĂĄ enhed\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s enhed n1 n2 ... aktiver partitionerne pĂĄ n1 ..., deaktiver resten\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An enhed\t aktiver partition n, deaktiver de andre\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"ADVARSEL: GPT (GUID Partition Table) detekteret på »%s«! Værktøjet sfdisk "
+"understøttes ikke af GPT. Brug GNU Parted.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Brug flaget --force for at undertrykke dette tjek.\n"
+
+#: fdisks/sfdisk.c:2582
+msgid "no command?"
+msgstr "ingen kommando?"
+
+#: fdisks/sfdisk.c:2662
+msgid "invalid number of partitions argument"
+msgstr "ugyldigt antal partitionsparametre"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "i alt: %llu blokke\n"
+
+# Det er separate symboler pĂĄ kommandolinjen, sĂĄ mellemrum:
+#: fdisks/sfdisk.c:2795
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "brug: sfdisk --print-id enhed partitionsnummer"
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "brug: sfdisk --change-id enhed partitionsnummer id"
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "brug: sfdisk --id enhed partitionsnummer [id]"
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr "du kan kun angive Ă©n enhed (undtagen med -l eller -s)"
+
+#: fdisks/sfdisk.c:2832
+#, c-format
+msgid "cannot open %s read-write"
+msgstr "kunne ikke ĂĄbne %s til skrivning"
+
+#: fdisks/sfdisk.c:2834
+#, c-format
+msgid "cannot open %s for reading"
+msgstr "kunne ikke åbne %s til læsning"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylindre, %ld hoveder, %ld sektorer/spor\n"
+
+#: fdisks/sfdisk.c:2929
+#, c-format
+msgid "Cannot get size of %s"
+msgstr "Kan ikke få størrelsen %s"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "ugyldig aktiv-byte: 0x%x i stedet for 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Færdig\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Du har %d aktive primærpartitioner. Dette generer ikke LILO,\n"
+"men DOS MBR vil kun kunne starte op fra en disk med Ă©n aktiv partition.\n"
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "partition %s har id %x og er ikke skjult"
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr "Ugyldig id %lx"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Denne disk er i brug for øjeblikket.\n"
+
+#: fdisks/sfdisk.c:3154
+#, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Fatal fejl: kunne ikke finde %s"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Advarsel: %s er ikke en blokenhed\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Tjekker, at ingen benytter denne disk for øjeblikket...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Denne disk er for øjeblikket i brug - genpartitionering er nok en dårlig "
+"ide.\n"
+"Afmonter alle filsystemer og swapoff alle swappartitioner pĂĄ denne disk.\n"
+"Brug flaget --no-reread for at undertrykke dette tjek.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Brug flaget --force for at undertrykke alle tjek.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "O.k.\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Gammel situation:\n"
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Partition %d findes ikke. Kan ikke ændre den"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Ny situation:\n"
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Jeg kan ikke lide disse partitioner - intet blev ændret.\n"
+"(Hvis du virkelig ønsker det, kan du bruge flaget --force.)"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Jeg kan ikke lide dette her - du bør nok svare nej (n)\n"
+
+# Jeg kan se i koden at de ikke har taget højde for internationalisering
+# af ynq, hvilket er temmelig usmart. Jeg har skrevet til
+# Report-Msgid-Bugs-To-adressen. Men det bliver i hvertfald nødt til at
+# være ynq.
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Er du tilfreds med dette? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Vil du virkelig skrive dette til disken? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr "Afslutter - intet blev ændret"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Svar venligst y,n,q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Skrivning af ny partitionstabel lykkedes\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Hvis du oprettede eller ændrede en DOS-partition, f.eks. /dev/xxx7, så brug\n"
+"dd(1) til at nulstille de første 512 byte:\n"
+"'dd if=/dev/zero of=/dev/xxx7 bs=512 count=1' (se fdisk(8))\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr "\n"
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help vis denne hjælpetekst og afslut\n"
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version vis versionsinformation og afslut\n"
+
+#: include/c.h:246
+#, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"For yderligere detaljer se %s.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, c-format
+msgid "write error"
+msgstr "skrivefejl"
+
+#: include/optutils.h:76
+#, c-format
+msgid "%s: options "
+msgstr "%s: tilvalg "
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr "udelukker hinanden"
+
+#: lib/pager.c:107
+#, c-format
+msgid "waitpid failed (%s)"
+msgstr "waitpid mislykkedes (%s)"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr "kunne ikke udføre calloc for cpu-sæt"
+
+#: lib/path.c:178
+#, c-format
+msgid "failed to parse CPU list %s"
+msgstr "kunne ikke fortolke CPU-liste %s"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "kunne ikke fortolke CPU-maske %s"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, c-format
+msgid " %s [options] [username]\n"
+msgstr " %s [tilvalg] [brugernavn]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr " -f, --full-name <fulde-navn> navn\n"
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr " -o, --office <kontor> kontor-nr.\n"
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr " -p, --office-phone <telefon> kontortelefon\n"
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr " -h, --home-phone <telefon> telefonnummer\n"
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr " -u, --help vis denne hjælpetekst og afslut\n"
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr " -v, --version vis versionsinformation og afslut\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr "du (bruger %d) findes ikke."
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr "bruger »%s« findes ikke."
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr "kan kun ændre lokale indgange"
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s er ikke autoriseret til at ændre fingeroplysninger for %s"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Ukendt fejl i brugerkontekst"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, c-format
+msgid "can't set default context for %s"
+msgstr "kan ikke sætte standardkontekst for %s"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Ændrer fingerinformation for %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Fingerinformationer ikke ændret.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "Kontor"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "Kontortelefon"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "Telefon"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+msgid "Aborted."
+msgstr "Afbrudt."
+
+#: login-utils/chfn.c:383
+#, c-format
+msgid "field %s is too long"
+msgstr "felt %s er for langt"
+
+#: login-utils/chfn.c:385
+msgid "field is too long"
+msgstr "felt er for langt"
+
+#: login-utils/chfn.c:393
+#, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: »%c« er ikke tilladt"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, c-format
+msgid "'%c' is not allowed"
+msgstr "»%c« er ikke tilladt"
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Kontroltegn er ikke tilladt"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr "kontroltegn er ikke tilladte"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Fingerinformationer *IKKE* ændret. Prøv igen senere.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Fingerinformationer ændret.\n"
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell <skal> angiv logindskal\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr "kan kun ændre lokale indgange."
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s er ikke autoriseret til at ændre skallen for %s"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"den kørende UID svarer ikke til den UID, vi udfører ændringer for; "
+"skalændring nægtes"
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "din skal er ikke i %s, udskiftning af skal afvist"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Udskifter skal for %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Ny skal"
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr "Skal ikke udskiftet."
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"setpwnam mislykkedes\n"
+"Skal *IKKE* udskiftet. Prøv igen senere."
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Skal udskiftet.\n"
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr "skallen skal angives med hel sti"
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr "»%s« findes ikke"
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr "»%s« er ikke kørbar"
+
+#: login-utils/chsh.c:321
+#, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Advarsel: »%s« er ikke med i %s."
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+"»%s« er ikke med i %s.\n"
+"Brug %s -l for at se listen."
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr "Ingen kendte skaller."
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "brug: last [-#] [-f fil] [-t tty] [-h vært] [bruger ...]\n"
+
+#: login-utils/last.c:252
+#, c-format
+msgid "%s: mmap failed"
+msgstr "%s: mmap mislykkedes"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " stadig logget pĂĄ"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp starter %s"
+
+#: login-utils/last.c:431
+msgid "gethostname failed"
+msgstr "gethostname mislykkedes"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"afbrudt %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr "udløb efter %u sekunder"
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "FATALT: kunne ikke genĂĄbne tty: %m"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "FATALT: %s er ikke en terminal"
+
+#: login-utils/login.c:308
+#, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown (%s, %lu, %lu) mislykkedes: %m"
+
+#: login-utils/login.c:312
+#, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "chmod (%s, %u) mislykkedes: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "FATALT: ugyldig tty"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr "FATALT: %s: ændring af rettigheder mislykkedes: %m"
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Sidste logind: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "fra %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "pĂĄ %.*s\n"
+
+#: login-utils/login.c:553
+msgid "write lastlog failed"
+msgstr "skrivning til lastlog mislykkedes"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "OPRINGNING KLOKKEN %s AF %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT-LOGIND PĂ… %s FRA %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT-LOGIND PĂ… %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIND PĂ… %s AF %s FRA %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIND PĂ… %s AF %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "logind: "
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "PAM-fejl, afbryder: %s"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Kunne ikke klargøre PAM: %s"
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "MISLYKKET LOGIND %u FRA %s FOR %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Logind ugyldigt\n"
+"\n"
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "FOR MANGE LOGINDFORSĂG (%u) FRA %s FOR %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "MISLYKKET LOGINDSESSION FRA %s FOR %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Logind ugyldigt\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Problem med sessionsopsætning, afbryder."
+
+# %s:%d jf. den nedenfor
+# (det angiver nok filnavn:linje)
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "TOMT brugernavn i %s:%d. Afbryder."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY mislykkedes: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h er kun for superbrugeren.\n"
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"brug: logind [ -p ] [ -h vært ] [ -H ] [ -f brugernavn | brugernavn ]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Ugyldigt brugernavn »%s« i %s:%d. Afbryder."
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr "gruppeinitialisering mislykkedes: %m"
+
+#: login-utils/login.c:1382
+msgid "setgid() failed"
+msgstr "setgid() mislykkedes"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Du har ny post.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Du har post.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() mislykkedes"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, c-format
+msgid "%s: change directory failed"
+msgstr "%s: Kunne ikke ændre mappe"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Logger ind med hjemmemappe = \"/\".\n"
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr "kunne ikke køre skal-skript"
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr "ingen skal"
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "%s: %s indeholder ugyldig numerisk værdi: %s"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Adgangskode: "
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr " %s <gruppe>\n"
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr "hvem er du?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+msgid "setgid failed"
+msgstr "setgid mislykkedes"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr "ingen sĂĄdan gruppe"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr "adgang nægtet"
+
+#: login-utils/newgrp.c:176
+msgid "setuid failed"
+msgstr "setuid mislykkedes"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "exec %s mislykkedes"
+
+#: login-utils/su.c:205
+#, c-format
+msgid "cannot not open session: %s"
+msgstr "kunne ikke ĂĄbne session: %s"
+
+#: login-utils/su.c:215
+msgid "cannot create child process"
+msgstr "kunne ikke oprette underproces"
+
+#: login-utils/su.c:227
+#, c-format
+msgid "cannot change directory to %s"
+msgstr "kunne ikke ændre mappe til %s"
+
+#: login-utils/su.c:232
+msgid "cannot block signals"
+msgstr "kunne ikke læse bloksignaler"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr "kunne ikke sætte signalhåndteringen"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+"\n"
+"Session afsluttet, dræber skal ..."
+
+#: login-utils/su.c:303
+#, c-format
+msgid " ...killed.\n"
+msgstr " ...dræbt.\n"
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr "ugyldig adgangskode"
+
+#: login-utils/su.c:485
+msgid "failed to set PATH"
+msgstr "kunne ikke angive STI"
+
+#: login-utils/su.c:558
+msgid "cannot set groups"
+msgstr "kan ikke angive grupper"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "kan ikke angive gruppe-id"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "kan ikke angive bruger-id"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Brug »%s --help« for yderligere detaljer.\n"
+
+#: login-utils/su.c:652
+#, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr " %s [tilvalg] [-] [BRUGER [parametre]...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr "bruger »%s« findes ikke"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr "bruger begrænset skal %s"
+
+#: login-utils/su.c:808
+#, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "advarsel: kan ikke ændre mappe til %s"
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: ingen indgang for root\n"
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr "%s: ingen indgang for root"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: adgangskodefilen er optaget.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr "Tryk retur for vedligeholdelse"
+
+#: login-utils/sulogin.c:296
+#, c-format
+msgid "(or type Control-D to continue): "
+msgstr "(eller tast Control-D for at fortsætte): "
+
+# Hent størrelse mislykkedes
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "%s: Kunne ikke finde størrelse"
+
+#: login-utils/sulogin.c:394
+msgid "setexeccon failed"
+msgstr "setexeccon mislykkedes"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, c-format
+msgid "%s: exec failed"
+msgstr "%s: exec mislykkedes"
+
+#: login-utils/sulogin.c:430
+msgid "tcgetattr failed"
+msgstr "tcgetattr mislykkedes"
+
+#: login-utils/sulogin.c:437
+msgid "tcsetattr failed"
+msgstr "tcsetattr mislykkedes"
+
+#: login-utils/sulogin.c:444
+#, c-format
+msgid " %s [options] [tty device]\n"
+msgstr " %s [tilvalg] {tty-enhed]\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr "ugyldigt parameter for tidsudløb"
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr "kun root kan køre dette program."
+
+#: login-utils/sulogin.c:529
+#, c-format
+msgid "%s: not a tty"
+msgstr "%s: ikke en tty"
+
+#: login-utils/sulogin.c:577
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY: ioctl mislykkedes"
+
+#: login-utils/sulogin.c:586
+msgid "cannot open password database."
+msgstr "kan ikke ĂĄbne adgangskodedatabase."
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: stat mislykkedes"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s: kan ikke tilføje inotify-overvågning."
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: kan ikke læse inotifyhændelser"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, c-format
+msgid " %s [options] [filename]\n"
+msgstr " %s [tilvalg] [filnavn]\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+msgid "can't open temporary file"
+msgstr "kunne ikke ĂĄbne midlertidig fil"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: kunne ikke omdøbe %s til %s: %s\n"
+
+#: login-utils/vipw.c:173
+#, c-format
+msgid "Can't get context for %s"
+msgstr "Kan ikke fĂĄ kontekst for %s"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr "Kan ikke sætte kontekst for %s"
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr "%s: uændret"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "kunne ikke forgrene (fork)"
+
+#: login-utils/vipw.c:291
+msgid "no changes made"
+msgstr "intet ændret"
+
+#: login-utils/vipw.c:300
+msgid "cannot chmod file"
+msgstr "kan ikke chmod fil"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Du bruger skyggegrupper (shadow groups) pĂĄ dette system.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Du bruger skyggeadgangskoder (shadow passwords) pĂĄ dette system.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Vil du redigere %s nu [y/n]? "
+
+#: misc-utils/cal.c:371
+msgid "illegal day value"
+msgstr "Ugyldig dagsværdi"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "ugyldig dagsværdi: brug 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "ugyldig månedsværdi: brug 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "ugyldig årsværdi: brug 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "brug: cal [-13smjyV] [[[dag] mĂĄned] ĂĄr]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "brug: %s [+format] [dag mĂĄned ĂĄr]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "St. Tibs-dag"
+
+#: misc-utils/findfs.c:22
+#, fuzzy, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr "Brug: %s LABEL=<etiket>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "kunne ikke slå »%s« op"
+
+#: misc-utils/findmnt.c:105
+msgid "source device"
+msgstr "kildeenhed"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr "monteringspunkt"
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr "filsystemtype"
+
+#: misc-utils/findmnt.c:108
+msgid "all mount options"
+msgstr "alle monteringstilvalg"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr "VFS-specifikke monteringstilvalg"
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr "FS-specifikke monteringstilvalg"
+
+#: misc-utils/findmnt.c:111
+msgid "filesystem label"
+msgstr "etiket for filsystem"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr "filsystem-UUID"
+
+#: misc-utils/findmnt.c:113
+msgid "partition label"
+msgstr "partitionsetiket"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr "handling detekteret af --poll"
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr "gamle monteringstilvalg gemt af --poll"
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr "gammelt monteringspunkt gemt af --poll"
+
+#: misc-utils/findmnt.c:119
+msgid "filesystem size"
+msgstr "størrelse på filsystem"
+
+#: misc-utils/findmnt.c:120
+msgid "filesystem size available"
+msgstr "tilgængelig størrelse for filsystem"
+
+#: misc-utils/findmnt.c:121
+msgid "filesystem size used"
+msgstr "brugt størrelse for filsystem"
+
+#: misc-utils/findmnt.c:122
+msgid "filesystem use percentage"
+msgstr "brugt procent for filsystem"
+
+#: misc-utils/findmnt.c:123
+msgid "filesystem root"
+msgstr "root for filsystem"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr "opgave-id"
+
+#: misc-utils/findmnt.c:298
+#, c-format
+msgid "unknown action: %s"
+msgstr "ukendt handling: %s"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr "monter"
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr "afmonter"
+
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr "genmonter"
+
+#: misc-utils/findmnt.c:513
+msgid "move"
+msgstr "flyt"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "ukendt"
+
+# evt. "i linje "
+#: misc-utils/findmnt.c:630
+#, c-format
+msgid "%s: parse error at line %d"
+msgstr "%s: fortolkningsfejl pĂĄ linje %d"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+msgid "failed to initialize libmount table"
+msgstr "kunne ikke initialisere libmount-tabel"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, c-format
+msgid "can't read %s"
+msgstr "kan ikke læse %s"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr "kunne ikke initialisere libmount-iterator"
+
+#: misc-utils/findmnt.c:886
+msgid "failed to initialize libmount tabdiff"
+msgstr "kunne ikke initialisere libmount-tabelforskel"
+
+#: misc-utils/findmnt.c:914
+msgid "poll() failed"
+msgstr "poll() mislykkedes"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+" %1$s [tilvalg]\n"
+" %1$s [tilvalg] <enhed> | <monteringspunkt>\n"
+" %1$s [tilvalg] <enhed> <monteringspunkt>\n"
+" %1$s [tilvalg] [--source <enhed>] [--target <monteringspunkt>]\n"
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+"\n"
+"Tilgængelige kolonner:\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr "ukendt retning »%s«"
+
+#: misc-utils/findmnt.c:1196
+msgid "invalid TID argument"
+msgstr "ugyldig TID-parameter"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+"--poll accepterer kun en fil, men yderligere specificeret af --tab-file"
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+"tilvalgene --target og --source kan ikke bruges sammen med "
+"kommandolinjeelement som ikke er et tilvalg"
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr "kunne ikke initialisere libmount-mellemlager"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+# Jeg kiggede på hjælpeudskriften for programmet getopt, og det gav i
+# hvertfald mening pĂĄ den mĂĄde. Det er et program til at fortolke
+# kommandolinjeparametre, sĂĄ derfor er det mĂĄske forvirrende af den
+# grund. Man giver tilvalget --long til getopt, og det argument man
+# angiver til --long, fortolker den sĂĄ som et langt tilvalg til det
+# program, hvis kommandolinje man bruger getopt til at fortolke.
+# Forvirret? :)
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "tomt langt ­tilvalg efter -l eller parameteren --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "ukendt skal efter -s eller parameteren --shell"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [tilvalg] -o|--options tilvalgsstreng [tilvalg] [--]\n"
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr " -a, --alternative Tillad lange tilvalg med enkelt -\n"
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Denne lille manual\n"
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions <langtilvalg> Lange tilvalg, der skal genkendes\n"
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name <prognavn> Navnet som fejl skal rapporteres under\n"
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options <tilvalgsstreng> Korte tilvalg, der skal genkendes\n"
+
+#: misc-utils/getopt.c:328
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet Undertryk fejlrapportering fra getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Ingen normale uddata\n"
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell <skal> Angiv konventioner for anførselstegn\n"
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Tjek versionen af getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote Indskyd ikke anførselstegn i uddata\n"
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Vis versionsinformation\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "mangler tilvalgsstrengparameter"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "intern fejl, kontakt programmøren."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: ukendt signal %s\n"
+
+#: misc-utils/kill.c:244
+msgid "invalid sigval argument"
+msgstr "ugyldig signalparameter"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: kunne ikke finde processen »%s«\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: ukendt signal %s; gyldige signaler:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "brug: %s [ -s signal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ signal ]\n"
+
+#: misc-utils/logger.c:88
+#, c-format
+msgid "unknown facility name: %s."
+msgstr "ukendt facilitetsnavn: %s."
+
+#: misc-utils/logger.c:97
+#, c-format
+msgid "unknown priority name: %s."
+msgstr "ukendt prioritetsnavn: %s."
+
+#: misc-utils/logger.c:107
+#, c-format
+msgid "openlog %s: pathname too long"
+msgstr "openlog %s: stinavn for langt"
+
+#: misc-utils/logger.c:113
+#, c-format
+msgid "socket %s"
+msgstr "sokkel: %s"
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr "forbind: %s"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "sokkel"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "forbind"
+
+#: misc-utils/logger.c:174
+#, c-format
+msgid " %s [options] [message]\n"
+msgstr " %s [tilvalg] [besked]\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr "fil %s"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "uventet antal argumenter"
+
+#: misc-utils/look.c:370
+#, c-format
+msgid " %s [options] string [file]\n"
+msgstr " %s [tilvalg] streng [fil]\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr "enhedsnavn"
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr "intern enhedsnavn for kerne"
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr "hvor enheden er monteret"
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr "filsystem-ETIKET"
+
+#: misc-utils/lsblk.c:119
+msgid "partition LABEL"
+msgstr "Partitions-ETIKET"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "angiv skrivebeskyttet"
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr "skrivebeskyttet enhed"
+
+#: misc-utils/lsblk.c:124
+msgid "removable device"
+msgstr "flytbar enhed"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr "størrelse på enhed"
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr "status for enhed"
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr "brugernavn"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr "gruppenavn"
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr "rettigheder for enhedsknude"
+
+#: misc-utils/lsblk.c:132
+msgid "alignment offset"
+msgstr "justeringsforskydning"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr "minimal I/O-størrelse"
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr "optimal I/O-størrelse"
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr "fysisk blokstørrelse (sektorstørrelse)"
+
+#: misc-utils/lsblk.c:136
+msgid "logical sector size"
+msgstr "logisk blokstørrelse (sektorstørrelse)"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr "enhedstype"
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "fĂĄ justeringsforskydning"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "%s: Kan ikke undersøge enhed"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount: %s: ukendt enhed"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "kunne ikke initialisere linjemellemlager.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: Kunne ikke ĂĄbne"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: Kunne ikke søge (seek) til swap-etiket"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "kunne ikke fortolke %s %s"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: Kunne ikke ĂĄbne"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "kunne ikke fortolke %s %s"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Tilgængelige kommandoer:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "kunne ikke fortolke %s %s"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+msgid "size of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr ""
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "stat pĂĄ sti mislykkedes\n"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "kunne ikke fortolke pid"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "ukendt"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "kunne ikke fortolke %s %s"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "kunne ikke fortolke pid"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Brug: %s [tilvalg]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "ugyldige parametre"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Fik %d byte fra %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "kørsel af %s mislykkedes"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "kunne ikke læse symbolsk henvisning: %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s: kræver filbeskrivelse, fil eller mappe\n"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"Brug: %s [tilvalg] stinavn [stinavn ...]\n"
+
+#: misc-utils/namei.c:423
+#, fuzzy
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+" -h, --help vis denne hjælpetekst\n"
+" -x, --mountpoints vis monteringspunktsmapper med et »D«\n"
+" -m, --modes vis tilstandsbittene for hver fil\n"
+" -o, --owners vis ejer- og gruppenavn for hver fil\n"
+" -l, --long brug et langt visningsformat (-m -o -v) \n"
+" -n, --nosymlinks følg ikke symbolske henvisninger\n"
+" -v, --vertical lodret justering af tilstande og ejere\n"
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"For yderligere information se namei(1).\n"
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "parametret til --date er for langt\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s: Oversteg begrænsning på symbolske henvisninger"
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: kunne ikke omdøbe %s til %s: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "ugyldige parametre"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "skriv"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr "læs antal"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "ugyldig svarlængde"
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "Kunne ikke ĂĄbne/oprette %s: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "Kunne ikke lĂĄse %s: %s\n"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Kunne ikke oprette unixstrømsokkel: %s"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Kunne ikke binde unixsokkel %s: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "dæmonen uuidd kører allerede på pid %s\n"
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Kunne ikke lytte pĂĄ unixsokkel %s: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Fejl ved læsning fra klient, len = %d\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "handling %d, indgĂĄende num = %d\n"
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr "handling %d\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "Genererede tid UUID: %s\n"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "Genererede vilkĂĄrlig UUID: %s\n"
+
+#: misc-utils/uuidd.c:433
+#, fuzzy, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] "Genererede tid UUID %s og %d følger\n"
+msgstr[1] "Genererede tid UUID %s og %d følger\n"
+
+#: misc-utils/uuidd.c:454
+#, fuzzy, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "Genererede %d UUID'er:\n"
+msgstr[1] "Genererede %d UUID'er:\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Ugyldig handling %d\n"
+
+#: misc-utils/uuidd.c:480
+#, fuzzy, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "Uventet svarlængde fra server %d\n"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Ugyldigt tal: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Fejl ved kald af dæmonen uuidd (%s): %s\n"
+
+#: misc-utils/uuidd.c:618
+#, fuzzy, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "%s og efterføglende %d UUID'er\n"
+msgstr[1] "%s og efterføglende %d UUID'er\n"
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr "Liste af UUID'er:\n"
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Kunne ikke dræbe uuidd der kører ved pid %d: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "Dræbte uuidd der kører ved pid %d\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "fejl: %s: undersøgelsesinitialisering mislykkedes"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: kunne ikke søge (seek) til forskydning 0x%jx"
+
+#: misc-utils/wipefs.c:298
+#, fuzzy, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr "] slettet ved forskydning 0x%jx (%s)\n"
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "fsck: %s: ikke fundet\n"
+
+# den sidste må være noget med om udskriften kan fortolkes af et
+# menneske (printable format) eller en maskine (parsable).
+# eller måske udskriv i fortolknings- frem for læseformat
+#: misc-utils/wipefs.c:364
+#, fuzzy
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all fjern alle magiske strenge (VÆR FORSIGTIG!)\n"
+" -h, --help denne hjælpetekst\n"
+" -n, --no-act alt skal udføres undtagen kaldet write()\n"
+" -o, --offset <num> forskydning at slette, i byte\n"
+" -p, --parsable udskriv i fortolknings- frem for læseformat\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"For yderligere information se wipefs(8).\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "ugyldig forskydningsværdi angivet"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "advarsel: fejl ved læsning af %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "advarsel: kunne ikke ĂĄbne %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: kunne ikke ĂĄbne %s - bruger %s i stedet\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr "kunne ikke oprette lĂĄsefil %s: %s (gennemtving med flaget -n)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr "kunne ikke lænke låsefilen %s: %s (gennemtving med flaget -n)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "kunne ikke ĂĄbne lĂĄsefilen %s: %s (gennemtving med flaget -n)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Kunne ikke lĂĄse lĂĄsefilen %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "kunne ikke lĂĄse lĂĄsefilen %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "tidsudløb"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Kunne ikke oprette henvisningen %s\n"
+"MĂĄske er der en efterladt lĂĄsefil?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "kunne ikke ĂĄbne %s (%s) - mtab ikke opdateret"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "fejl ved skrivning af %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: Kan ikke henvise til %s: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "fejl ved ændring af filtilstand for %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "fejl ved ændring af ejer af %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "kunne ikke omdøbe %s til %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount: advarsel: /etc/mtab er ikke skrivbar (dvs. skrivebeskyttet "
+"filsystem).\n"
+" Det er muligt, at information rapporteret af mount(8) ikke er "
+"opdateret.\n"
+" For faktuel information om systemets monteringspunkter sĂĄ tjek filen\n"
+" /proc/mounts.\n"
+"\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: ukorrekt citeret tilvalgsstreng »%s«"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: oversatte %s »%s« til »%s«\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: ifølge mtab er %s allerede monteret som %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: ifølge mtab er %s monteret som %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: kunne ikke ĂĄbne %s for skrivning: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: fejl ved skrivning til %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: fejl ved ændring af filtilstand for %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: kunne ikke angive gruppe-id: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: kan ikke angive bruger-id: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: kan ikke forgrene: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Forsøger %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: du angav ikke filsystemtype for %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Jeg vil forsøge alle typerne, der nævnes i %s eller %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " og det ser ud til, at dette er swapomrĂĄde\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Jeg vil forsøge type %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ligner et swapomrĂĄde - ikke monteret"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+"mount: %s: yderligere filsystemer detekteret. Dette burde ikke ske,\n"
+" brug -t <type> for specifikt at angive filsystemtype eller\n"
+" brug wipefs(8) for at rydde enheden op.\n"
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "montering mislykkedes"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: kun root (administrator) kan montere %s som %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: løkkeenheden angivet to gange"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: type angivet to gange"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: dropper opsætning af løkkeenhed\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: skal til at benytte løkkeenheden %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "mount: ugyldig forskydningsværdi »%s« angivet"
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "mount: ugyldig forskydningsværdi »%s« angivet"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: ifølge mtab er %s allerede monteret på %s som løkke"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "Kunne ikke lĂĄse ind i hukommelsen, afslutter.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: klargøring af løkkeenhed mislykkedes\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: skal til at benytte løkkeenheden %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "kunne ikke indhente pid %d's attributter"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: klargøring af løkkeenhed mislykkedes\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: stjålen loop=%s ...forsøger igen\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: stjĂĄlen loop=%s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: klargøringen af løkkeenhed lykkedes\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: ingen %s fundet - opretter den..\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: parametret til -p eller --pass-fd skal være et tal"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: kunne ikke åbne %s for at sætte hastigheden"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: kunne ikke sætte hastigheden: %s"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: ifølge mtab er %s allerede monteret på %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: advarsel: %s ser ud til at være monteret læs/skriv.\n"
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "mount: advarsel: %s ser ud til at være monteret skrivebeskyttet.\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount: Jeg kunne ikke bestemme filsystemtypen, og ingen var angivet"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: du skal angive filsystemtypen"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: montering mislykkedes"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: monteringspunkt %s er ikke en mappe"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: adgang nægtet"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: skal være superbruger for at bruge mount"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s er optaget"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc er allerede monteret"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: enten er %s allerede monteret eller %s optaget"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: monteringspunkt %s findes ikke"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: monteringspunkt %s er en symbolsk henvisning ud i ingenting"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: specielenhed %s findes ikke"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: specielenhed %s findes ikke\n"
+" (et stipræfiks er ikke en mappe)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s ikke allerede monteret, eller forkert tilvalg"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: forkert filsystemtype, forkert tilvalg, ugyldig superblok pĂĄ %s,\n"
+" manglende tegnsæt, hjælpeprogram eller anden fejl"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (for flere filsystemer (f.eks. nfs, cifs) skal du mĂĄske\n"
+" bruge et /sbin/mount.<type>-hjælpeprogram)"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (kan dette være en IDE-enhed, hvor du i virkeligheden bruger\n"
+" ide-scsi, så sr0, sda eller lignende er påkrævet?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (prøver du ikke på at montere en udvidet partition i stedet\n"
+" for en logisk partition indeni?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" I nogle tilfælde vil du finde nyttige oplysninger i systemlogggen\n"
+" - prøv 'dmesg | tail' eller lignende\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "monteringstabellen er fuld"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: kunne ikke læse superblokken"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: ukendt enhed"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: ukendt filsystemtype »%s«"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: du mente sikkert %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: mĂĄske mente du iso9660?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: mĂĄske mente du vfat?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s har forkert enhedsnummer eller filsystemtypen %s understøttes ikke"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s er ikke en blokenhed, og »stat« fejler?"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: kernen genkender ikke %s som en blokenhed\n"
+" (måske »modprobe driver«?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s er ikke en blokenhed (brug eventuelt '-o loop'?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s er ikke en blokenhed"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s er ikke en gyldig blokenhed"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "blokenhed "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: kunne ikke montere %s%s skrivebeskyttet"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s er skrivebeskyttet, men eksplicit flag -w er angivet"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: kan ikke montere %s%s læs/skriv, er skrivebeskyttet"
+
+# hvad er forskel pĂĄ engelsk write-protected og read-only
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s er skrivebeskyttet, monterer skrivebeskyttet"
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: intet medie fundet pĂĄ %s"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+"mount: %s indeholder ikke SELinux-etiketter.\n"
+" Du har netop monteret et filsystem, som understøtter etiketter, som\n"
+" ikke indeholder etiketter, pĂĄ en SELinux-boks. Det er sandsynligt, "
+"at\n"
+" indskrænkede programmer vil oprette AVC-beskeder og ikke vil få "
+"adgang\n"
+" til dette filsystem. For yderligere detaljer se restorecon(8) og\n"
+" mount(8).\n"
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: ingen type blev angivet - Jeg antager nfs pĂĄ grund af kolonet\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: ingen type blev angivet - Jeg antager cifs pga. det foranstillede //\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s er allerede monteret som %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Brug: mount -V : vis version\n"
+" mount -h : vis denne hjælpetekst\n"
+" mount : vis monterede filsystemer\n"
+" mount -l : det samme, inkl. etiketter\n"
+"Tilvalgene ovenfor giver oplysninger. De næste vedrører montering.\n"
+"Kommandoen lyder »mount [-t fstype] noget sted«.\n"
+"Detaljer, der stĂĄr i /etc/fstab, kan udelades.\n"
+" mount -a [-t|-O] : monter alt, der beskrives i /etc/fstab\n"
+" mount enhed : monter enhed pĂĄ dens standardplads\n"
+" mount mappe : monter enheden, tilhørende mappe\n"
+" mount -t type enh mappe : almindelig mount-kommando\n"
+"Bemærk at man i virkeligheden ikke monterer en enhed. Man monterer\n"
+"det filsystem (af en given type), som findes pĂĄ enheden.\n"
+"Man kan godt montere et allerede synligt mappetræ et andet sted:\n"
+" mount --bind glmappe nymappe\n"
+"eller flytte et undertræ:\n"
+" mount --move glmappe nymappe\n"
+"Man kan ændre typen af den montering, der indeholder en mappe:\n"
+" mount --make-shared mappe\n"
+" mount --make-slave mappe\n"
+" mount --make-private mappe\n"
+" mount --make-unbindable mappe\n"
+"Man kan ændre typen på alle monteringer i et monteringsundertræ\n"
+"der indeholder mappen:\n"
+" mount --make-rshared mappe\n"
+" mount --make-rslave mappe\n"
+" mount --make-rprivate mappe\n"
+" mount --make-runbindable mappe\n"
+"En enhed kan gives et navn, lad os sige /dev/hda1 eller /dev/cdrom,\n"
+"eller via etiket ved brug af -L etiket eller via uuid, brug -U uuid.\n"
+"Andre tilvalg: [-nfFrsvw] [-o tilvalg] [-p passwdfd].\n"
+"For mange flere detaljer, se man 8 mount.\n"
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: dette kan kun root gøre (effektiv UID er %u)"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: dette kan kun root gøre"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "intet blev monteret"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: fandt ingen sĂĄdan partition"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: kunne ikke finde %s i %s eller %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+"[mntent]: advarsel: intet afsluttende linjeskift ved slutningen af %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: linje %d i %s er ugyldig%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; resten af filen blev ignoreret"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "programfejl i xstrndup-kald"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "ikke nok hukommelse"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: oversat uden understøttelse af tilvalget -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: kan ikke angive gruppe-id: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: kan ikke angive bruger-id: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: kan ikke forgrene: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: ugyldig blokenhed"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ikke monteret"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: kan ikke skrive superblok"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: enhed er optaget.\n"
+" (I nogle tilfælde kan brugbar information om processer,\n"
+" som bruger enheden findes af lsof(8) eller fuser(1))"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: ikke fundet"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: skal være superbruger for at afmontere"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: blokenheder tillades ikke pĂĄ dette fs"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "mount: fejl ved ændring af filtilstand for %s: %s"
+
+#: mount-deprecated/umount.c:257
+#, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: monteringspunkt %s findes ikke"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ingen umount2, forsøger umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s optaget - genmonteret skrivebeskyttet\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: kunne ikke montere %s skrivebeskyttet\n"
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s er blevet afmonteret\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+"umount: kunne ikke finde listen over filsystemer, der skulle afmonteres"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Brug: umount -h | -V]\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstyper] [-O tilvalg]\n"
+" umount [-d] [-f] [-r] [-n] [-v] speciel | knude...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "kunne ikke fortolke %s %s"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "enhed %s er allerede associeret med %s\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "enhed %s er allerede associeret med %s\n"
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr "Kan ikke afmontere \"\"\n"
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Forsøger at afmontere %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: blev forvirret under analyse af mtab"
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr "umount: kan ikke afmontere %s - %s er monteret over den pĂĄ samme sted"
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Kunne ikke finde %s i mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "enhed %s er allerede associeret med %s\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s er ikke monteret (ifølge mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: det lader til, at %s er monteret flere gange"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s er ikke i fstab (og du er ikke root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s montering stemmer ikke med fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: kun %s kan afmontere %s fra %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: dette kan kun root gøre"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+"\n"
+"chrt - manipuler realtidsattributter pĂĄ en proces\n"
+"\n"
+"Angiv politik:\n"
+" chrt [tilvalg] <politik> <prioritet> {<pid> | <kommando> [<arg> ...]}\n"
+"\n"
+"Indhent politik:\n"
+" chrt [tilvalg] {<pid> | <kommando> [<arg> ...]}\n"
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+"\n"
+"Planlægningspolitikker:\n"
+" -b | --batch angiv politik til SCHED_BATCH\n"
+" -f | --fifo angiv politik til SCHED_FIFO\n"
+" -i | --idle angiv politik til SCHED_IDLE\n"
+" -o | --other angiv politik til SCHED_OTHER\n"
+" -r | --rr angiv politik til SCHED_RR (default)\n"
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+"\n"
+"Planlægningsflag:\n"
+" -R | --reset-on-fork angiv SCHED_RESET_ON_FORK for FIFO eller RR\n"
+
+#: schedutils/chrt.c:83
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+" -h | --help vis denne hjælpetekst\n"
+" -m | --max vis mindste og største gyldige prioriteter\n"
+" -p | --pid arbejd pĂĄ eksisterende angivne pid\n"
+" -v | --verbose vis statusinformation\n"
+" -V | --version vis versionsinformation\n"
+"\n"
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "kunne ikke indhente pid %d's politik"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "pid %d's nye planlægningspolitik: "
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "pid %d's aktuelle planlægningspolitik: "
+
+#: schedutils/chrt.c:143
+#, fuzzy
+msgid "unknown scheduling policy"
+msgstr "pid %d's nye planlægningspolitik: "
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "kunne ikke indhente pid %d's attributter"
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "pid %d's nye planlægningsprioritet: %d\n"
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "pid %d's aktuelle planlægningsprioritet: %d\n"
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "SCHED_%s min/maks prioritet\t: %d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s er ikke understøttet?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "kan ikke finde enheden for %s"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "ugyldigt tilvalg"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+"Flaget SCHED_RESET_ON_FORK er kun understøttet for SCHED_FIFO- og SCHED_RR-"
+"politikker"
+
+# Alle processer pĂĄ unix-agtige systemer har en proces-id (pid), som er
+# et tal. %d er en pid. Hvis du skriver 'top', kan du se alle
+# processer og deres pid'er.
+# I øvrigt er substitutionskoden %d altid et heltal.
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "kunne ikke angive pid %d's politik"
+
+# Alle processer pĂĄ unix-agtige systemer har en proces-id (pid), som er
+# et tal. %d er en pid. Hvis du skriver 'top', kan du se alle
+# processer og deres pid'er.
+# I øvrigt er substitutionskoden %d altid et heltal.
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "kunne ikke angive pid %d's politik"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "kunne ikke køre %s"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "ioprio_get mislykkedes"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "ioprio_set mislykkedes"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "ugyldig fildataforskydning"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "col: ugyldigt -l parameter %s.\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "ukendt kolonne: %s"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr "ignorerer angivet klassedata for klassen ingen"
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr "ignorerer angivet klassedata for klassen ledig"
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "ugyldig prio-klasse %d"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "kørsel af %s mislykkedes"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+"Brug: %s [tilvalg] [maske | cpu-list] [pid|kmd [parametre...]]\n"
+"\n"
+
+#: schedutils/taskset.c:56
+#, fuzzy, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+"Tilvalg:\n"
+" -p, --pid arbejd pĂĄ eksisterende pid\n"
+" -c, --cpu-list vis og angiv cpu'er i listeformat\n"
+" -h, --help vis denne hjælpetekst\n"
+" -V, --version vis versionsinformation\n"
+"\n"
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+"Standardopførelsen er at køre en ny kommando:\n"
+" %1$s 03 sshd -b 1024\n"
+"Du kan indhente masken pĂĄ en eksisterende opgave:\n"
+" %1$s -p 700\n"
+"Eller sætte den:\n"
+" %1$s -p 03 700\n"
+"Listeformat bruger en kommaadskilt liste i steden for en maske:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Intervaller i listeformat kan indeholde et stride-argument:\n"
+" f.eks. svarer 0-31:2 til masken 0x55555555\n"
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"For yderligere information se taskset(1).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr "pid %d's nye affinitetsliste: %s\n"
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr "pid %d's aktuelle affinitetsliste: %s\n"
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr "pid %d's nye affinitetsmaske: %s\n"
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr "pid %d's aktuelle affinitetsmaske: %s\n"
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "konverter rtc-tid"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "kunne ikke indhente pid %d's affinitet"
+
+# Alle processer pĂĄ unix-agtige systemer har en proces-id (pid), som er
+# et tal. %d er en pid. Hvis du skriver 'top', kan du se alle
+# processer og deres pid'er.
+# I øvrigt er substitutionskoden %d altid et heltal.
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "kunne ikke angive pid %d's affinitet"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "kan ikke bestemme NR_CPUS; afbryder"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr "cpuset_alloc mislykkedes"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "kunne ikke fortolke CPU-maske %s"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "kunne ikke fortolke CPU-maske %s"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "unshare mislykkedes"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: »%s« findes ikke.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Kunne ikke angive personlighed som %s"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Kunne ikke angive personlighed som %s"
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "Kunne ikke angive personlighed som %s"
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: »%s« er ikke kørbar.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "ugyldigt linjeantal"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"Brug: %s [tilvalg]\n"
+"\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: ukendt parameter: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Brug: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Du skal være root for at sætte Ctrl-Alt-Del-opførslen.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld standardgrænse og %ld standardtidsudløb\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Denne lille manual\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Filen %s, for grænseværdi %lu, maksimale antal tegn i fifo var %d,\n"
+"og den maksimale overførselshastighed var %f tegn/sekund\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Filen %s, for grænseværdi %lu og tidsoverløbsværdi %lu, maksimale antal tegn "
+"i fifo var %d,\n"
+"og den maksimale overførselshastighed var %f tegn/sekund\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday (aflæsning af ur) mislykkedes"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "Kunne ikke udføre CYGETMON på %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Kunne ikke få grænsen for %s: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Kunne ikke få tidsoverløbet for %s: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu heltal, %lu/%lu tegn; fifo: %lu grænse, %lu tidsudl, %lu maks, %lu "
+"nu\n"
+
+# rec var tidligere flt
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f tal/sek; %f modtaget, %f sendt (tegn/sek)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu heltal, %lu tegn; fifo: %lu grænse, %lu tidsudl, %lu maks, %lu nu\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f tal/sek; %f modtaget (tegn/sek)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Ugyldig intervalværdi: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Ugyldig intervalværdi: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Ugyldig sat værdi: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Ugyldig sat værdi: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Ugyldig standardværdi: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Ugyldig standardværdi: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Ugyldig sat tidsværdi: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Ugyldig sat tidsværdi: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Ugyldig standardtidsværdi: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Ugyldig standardtidsværdi: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Kunne ikke sætte %s til grænsen %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "Kunne ikke sætte %s til tidsgrænsen %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld aktuel grænse og %ld aktuel tidsudløb\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld standardgrænse og %ld standardtidsudløb\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Denne partition er ubrugelig"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "fejl under lukning af %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Advarsel: partition %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "beskeder"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Angiv filsystemtype: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "kan ikke dæmonisere"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "kan ikke dæmonisere"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "kunne ikke fortolke %s %s"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "ukendt kolonne: %s"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "kunne ikke fortolke %s %s"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "ukendt retning »%s«"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync mislykkedes"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "kunne ikke ĂĄbne %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "skrivning mislykkedes: %s"
+
+#: sys-utils/dmesg.c:1132
+msgid "invalid buffer size argument"
+msgstr ""
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "læs rtc-tid"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "ingen kommando?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "msgctl mislykkedes"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr ""
+"Brug: %s [tilvalg] <enhed>\n"
+"\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+msgid "invalid argument to --auto/-a option"
+msgstr ""
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+msgid "invalid argument to --cdspeed/-x option"
+msgstr ""
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+#, fuzzy
+msgid "CD-ROM eject unsupported"
+msgstr "hastighed %d er ikke understøttet"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: kunne ikke skrive etiket"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: Kunne ikke ĂĄbne"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "kunne ikke læse: %s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "hverken en blokenhed eller fil: %s"
+
+#: sys-utils/eject.c:650
+#, c-format
+msgid "%s: unmounting"
+msgstr ""
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "kan ikke angive bruger-id: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "kunne ikke køre %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "kunne ikke ĂĄbne %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: monteringspunkt %s findes ikke"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "open() af %s mislykkedes"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "kunne ikke fortolke pid"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "%s er monteret.\t "
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " flytbar"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, fuzzy, c-format
+msgid "default device: `%s'"
+msgstr "Ugyldig standardværdi: %s\n"
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Bruger standardværdi %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "%s: Kan ikke undersøge enhed"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "Løkkeenhed er %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s: ikke monteret"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: Kunne ikke søge (seek) til swap-etiket"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: er ikke en blokenhed\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "Løkkeenhed er %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "%s: %s: enhed er optaget"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "execv mislykkedes"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "kunne ikke ĂĄbne mappe\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "kunne ikke køre %s"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr ""
+"Brug: %s [tilvalg] <filnavn>\n"
+"\n"
+"Tilvalg:\n"
+
+#: sys-utils/fallocate.c:62
+#, fuzzy
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+" -h, --help denne hjælpetekst\n"
+" -n, --keep-size ændr ikke længden på filen\n"
+" -o, --offset <num> forskydning af allokeringen, i byte\n"
+" -l, --length <num> længde af allokeringen, i byte\n"
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr "ingen længdeparameter angivet"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr "ugyldig længdeværdi angivet"
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr "ugyldig forskydningsværdi angivet"
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr "intet filnavn angivet."
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr "uventet antal argumenter"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr "behold størrelsestilstand (tilvalget -n) er ikke understøttet"
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s: fallocate mislykkedes"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: kan ikke angive bruger-id: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "%s: kan ikke ĂĄbne lĂĄsefil %s: %s\n"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "ugyldigt id"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s: %s kræver præcis et kommandoparameter\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "%s: kræver filbeskrivelse, fil eller mappe\n"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "waitpid mislykkedes"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr ""
+"Brug: %s [tilvalg] <monteringspunkt>\n"
+"\n"
+"Tilvalg:\n"
+
+#: sys-utils/fsfreeze.c:46
+#, fuzzy
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+" -h, --help denne hjælpetekst\n"
+" -f, --freeze frys filsystemet\n"
+" -u, --unfreeze fjern frysning af filsystemet\n"
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"For yderligere information se fsfreeze(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr "ingen handling angivet"
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr "intet filnavn angivet"
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr "%s: er ikke en mappe"
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr "%s: frysning mislykkedes"
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr "%s: fjernelse af frysning mislykkedes"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "kunne ikke fortolke %s %s"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "kunne ikke fortolke %s %s"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "kunne ikke læse timingfil %s"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "ingen handling angivet"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "%s: er ikke en mappe"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s: skrivning mislykkedes"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "kunne ikke ĂĄbne %s"
+
+# (kan nok være GMT eller lokal, men lokal-tid giver stadig mening)
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Antager at maskinuret holdes i %s-tid.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "GMT"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "lokal"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Advarsel: Ukendt tredje linje i adjtime-fil\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Sidste hastighedsjustering blev gjort %ld sekunder efter 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Sidste kalibrering blev foretaget %ld sekunder efter 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Maskinuret er i %s-tid\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Venter pĂĄ et ur-tik...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...synkronisering mislykkedes\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...fangede ur-tik\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Ugyldige værdier i maskinur: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "Maskinur-tid: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld sekunder siden 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Tid læst fra maskinuret: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "Sætter maskinuret til %.2d:%.2d:%.2d = %ld sekunder siden 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Uret uændret - testede kun.\n"
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Der er gĂĄet %.6f sekunder siden referencetiden.\n"
+"Udskyder yderligere for at nå næste tidspunkt.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Maskinurets registre indeholder værdier, der enten er ugyldige (f.eks. 50. "
+"dag i mĂĄneden) eller uden for det omrĂĄde, vi kan hĂĄndtere (f.eks. ĂĄr 2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f sekunder\n"
+
+# el. Tilvalget --date blev ikke givet
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "Intet --date tilvalg angivet.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "parametret til --date er for langt\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Værdien af tilvalget --date er ikke en gyldig dato.\n"
+"Mere specifikt, indeholder den anførselstegn.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Udfører kommandoen date: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Kunne ikke køre programmet date i skallen /bin/sh. popen() mislykkedes"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "svar fra kommandoen date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"Kommandoen date sendt af %s returnerede uventede resultater.\n"
+"Kommandoen var:\n"
+" %s\n"
+"Svaret var:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"Kommandoen date sendt af %s returnerede noget andet end et heltal, hvor den "
+"konverterede tid forventedes.\n"
+"Kommandoen var:\n"
+" %s\n"
+"Svaret var:\n"
+" %s\n"
+
+# lille d (virker som engelsk fejl)
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "Datoteksten %s svarer til %ld sekunder siden 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Maskinuret indeholder ikke en gyldig tid, så vi kan ikke sætte systemuret "
+"med det.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Kalder settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Sætter ikke systemuret, da der køres i testtilstand.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Skal være superbruger for at sætte systemuret.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() mislykkedes"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Aktuel systemtid: %ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC (GMT): %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Justerede ikke hastighedsfaktoren, da maskinuret tidligere havde en ugyldig "
+"værdi.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Justerer ikke hastighedsfaktoren da sidste kalibreringstid er nul \n"
+"og kan derfor ikke bruges. Det er nødvendigt at starte \n"
+"kalibreringen forfra.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Justerede ikke hastighedsfaktoren, da det er mindre end et døgn siden sidste "
+"kalibrering.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Uret drev %.1f sekunder i løbet af de sidste %d sekunder på trods af en "
+"hastighedsfaktor på %f sekunder/døgn.\n"
+"Justerer hastighedsfaktoren med %f sekunder/døgn\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "%d sekunder siden sidste justering\n"
+
+# PĂĄ den mĂĄde er der de samme tvetydigheder i den danske som i den
+# engelske, og sĂĄ kan det ikke gĂĄ galt :)
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "Skal indsætte %d sekunder og gå %.6f sekunder tilbage\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Opdaterer ikke adjtime-filen, da der køres i testtilstand.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Ville have skrevet følgende til %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr "Kunne ikke ĂĄbne filen med urjusteringsparametrene (%s) til skrivning"
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr "Kunne ikke opdatere filen med urjusteringsparametrene (%s)"
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Hastighedsjusteringen blev ikke opdateret.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"Maskinuret indeholder ikke en gyldig tid, sĂĄ vi kan ikke justere det.\n"
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Indstiller ikke uret da sidste justeringstidspunkt er nul, sĂĄ historikken er "
+"ugyldig."
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"Den krævede justering er mindre end ét sekund, så vi sætter ikke uret.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Bruger %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Fandt ingen brugbare ur-grænseflader.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Kunne ikke sætte systemuret.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+"%ld sekunder efter 1969 er RTC forudset til at læse %ld sekunder efter "
+"1969.\n"
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Kernen holder en epokeværdi for maskinuret på Alpha-maskiner\n"
+"Denne kopi af hwclock blev kompileret til en anden maskine end Alpha\n"
+"(og kører derfor sandsynligvis ikke på en Alpha nu). Intet blev gjort.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Kunne ikke hente en epokeværdi fra kernen.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kernen går ud fra en epokeværdi på %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"For at sætte epokeværdien, skal du bruge tilvalget epoch for at angive "
+"hvilken værdi, den skal sættes til.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Sætter IKKE epokeværdien til %d - tester bare.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Kunne ikke sætte epokeværdien i kernen.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" angiv hvilken slags alpha du har (se hwclock(8))\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "%s: Kunne ikke forbinde til auditsystemet.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "ugyldige parametre"
+
+# "%s accepterer kun tilvalgsparametre. ..."
+# (altsĂĄ man kan ikke skrive 'hwclock hello', men man kan mĂĄske skrive
+# 'hwclock --someoption hello')
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s accepterer kun tilvalgsparametre. Du angav parameteren %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "%s: --noadjfile kræver enten --utc or --localtime\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Ingen brugbar tid at sætte til. Kan ikke sætte uret.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Beklager, kun superbrugeren kan ændre maskinuret.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Beklager, kun superbrugeren kan ændre systemuret.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Beklager, kun superbrugeren kan ændre maskinurets epokeværdi i kernen.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "Kan ikke tilgĂĄ maskinuret med nogen kendt metode.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Benyt tilvalget --debug for at se detaljerne fra vores søgning efter en "
+"tilgangsmetode.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "startede op med MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "»Ruffian« BCD-ur\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "urport justeret til 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "»funky TOY« (tid-på-året)!\n"
+
+# momentan (tidligere oversættelse for atomic)
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: atomisk %s mislykkedes i 1000 iterationer!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, fuzzy, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr "cmos_read(): skrivning til kontroladresse %X mislykkedes: %s\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, fuzzy, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "cmos_read(): læsning af dataadresse %X mislykkedes: %s\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, fuzzy, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr "cmos_write(): skrivning til kontroladresse %X mislykkedes: %s\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, fuzzy, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "cmos_write(): skrivning til dataadresse %X mislykkedes: %s\n"
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "Jeg kunne ikke få adgang fordi jeg ikke forsøgte.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "%s kan ikke fĂĄ adgang til I/O-port: Kald af iopl(3) mislykkedes.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Du behøver nok root-rettigheder.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Venter i en løkke for at tiden fra KDGHWCLK ændres\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl for at aflæse tiden mislykkedes"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl for at aflæse tiden mislykkedes i løkke (loop)"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Tidsudløb mens der ventedes på tidsændring.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() kunne ikke aflæse tiden fra %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK mislykkedes"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Kunne ikke ĂĄbne /dev/tty1 eller /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl mislykkedes"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl() til %s for at aflæse tiden mislykkedes.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Venter i løkke (loop) på at tiden fra %s ændres\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s har ingen interruptfunktioner. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() af %s for at afvente et ur-tik mislykkedes"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() til %s for at afvente et ur-tik mislykkedes"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "select() af %s for at afvente på et ur-tik udløb\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() til %s for at afbryde opdateringsinterrupts mislykkedes"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() til %s for at afbryde opdateringsinterrupts mislykkedes uventet"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl() til %s for at sætte tiden mislykkedes.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) lykkedes.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"For at manipulere epokeværdien i kernen, skal vi have adgang til Linux' "
+"maskinursenhed via enhedsspecielfilen %s. Denne fil findes ikke pĂĄ dette "
+"system.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) til %s mislykkedes"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "vi har aflæst epokeværdi %ld fra %s med RTC_EPOCH_READ ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Epokeværdien må ikke være mindre end 1900. Du bad om %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "sætter epokeværdien til %ld med en RTC_EPOCH_SET ioctl til %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Kernens enhedsdriver for %s har ikke en RTC_EPOCH_SET ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) til %s mislykkedes"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output Ingen normale uddata\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "kunne ikke fortolke pid"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "kunne ikke fortolke %s %s"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr "oprettelse af delt hukommelse mislykkedes"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "Delt hukommelses-id: %d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr "oprettelse af beskedkø mislykkedes"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "Beskedkø-id=%d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "oprettelse af semafor mislykkedes"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "Semafor-id: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Vis versionsinformation\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Delt hukommelsessegment dhsid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "Beskedkø-id=%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "Semafor-id: %d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "adgang til nøgle nægtet"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "adgang til id nægtet"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "ugyldig nøgle"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "ugyldigt id"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "har allerede fjernet nøgle"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "id allerede fjernet"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "søgning mislykkedes"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() mislykkedes"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "ugyldigt id: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Ikke nok parametre"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "ressourcer slettet\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: ugyldig nøgle (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "kernen er ikke konfigureret til brug af delt hukommelse\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "kernen ikke konfigureret til semaforer\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "kernen er ikke konfigureret til beskedkøer\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: ukendt parameter: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+" -h vis denne hjælpetekst\n"
+" -i id vis detaljer om ressourcen med det angivet id\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "nyttige tilvalg:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "kernen er ikke konfigureret til brug af delt hukommelse\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---- Grænser for delt hukommelse ---\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "maks antal segmenter= %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maks seg-stør. (kbyte) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "maks total delt hukommelse (kbyte) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "min seg-stør. (byte) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "---- Status for delt hukommelse ----\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "---- Delte hukommelsessegmenters skabere/ejere ------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "dthid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "adgng"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "--- Delt hukommelse til-/afkoblings-/ændringstider -----\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "ejer"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "tilkoblet"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "afkoblet"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "ændret"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "----- Delt hukommelse skaber/Sidste-op PID'er ----\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "----- Delte hukommelsessegmenter -----\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "nøgle"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "byte"
+
+# mĂĄske ntilsl
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "atlkbl"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Ikke sat"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "mĂĄl"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "lĂĄst"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "kernen ikke konfigureret til semaforer\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "-------- Semaforgrænser -------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maks antal tabeller = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maks semaforer per tabel = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "maks semaforer i hele systemet = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maks ops per semop-kald = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maksværdi for semafor = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "-------- Semaforstatus --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "brugte tabeller = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "allokerede semaforer = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------- Semafortabellers skabere/ejere ---------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Semaforhandling/ændringstider -----\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "sidstop"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "sidst-ændret"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "-------- Semafortabeller --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsemf"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "kernen er ikke konfigureret til beskedkøer\n"
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Beskeder Grænser -------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "maks køer på systemet = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maks størrelse af besked (byte) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "maks standardstørrelse af kø (byte) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Beskeder Status --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "allokerede køer= %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "brugte hoveder = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "brugt plads = %d byte\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "--------- Beskedkøer Skabere/ejere ----------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "bkøid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Beskedkøer send/modtag/ændringstider ---------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "send"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "modt"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "ændrng"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Beskedkøers PID'er ---------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "-------- Beskedkøer ----------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "brugte-byte"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "beskeder"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl mislykkedes"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Delt hukommelsessegment dhsid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "tilstand=%#o\tadgangsrett=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "byte=%ld\tlpid=%d\tcpid=%d\tatlkbl=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "tilk_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "frak_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "ændrings_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "msgctl mislykkedes"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Msqid for beskedkø=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\ttilstand=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbyte=%ld\tkøbyte=%ld\tkant=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "modt_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "semctl mislykkedes"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semafortabel semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "tilstand=%#o, adgangsrett=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otid = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ætid = %-26.24s\n"
+
+# sigant (signalantal) tidligere
+# Signal plejer at blive forkortet sig, f.eks. sigsegv:
+# http://en.wikipedia.org/wiki/SIGSEGV . Det er typisk de her signaler
+# eller "interrupts" som programmer kan sende til hinanden (der er
+# givetvis forskel pĂĄ signaler og interrupts, men jeg kender ikke sĂĄ
+# meget til det).
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semtal"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "værdi"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "nantal"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zantal"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "ugyldigt iflag: %s"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Kendte <ldisc>-navne:\n"
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"Kendte <iflag>-navne:\n"
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "ugyldig hastighed: %s"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "ugyldigt tilvalg"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "ugyldig linjedisciplin: %s"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s er ikke en seriel linje"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "kan ikke indhente terminalattributter for %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "hastighed %d er ikke understøttet"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "kan ikke angive terminalattributter for %s"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "kan ikke angive linjedisciplin"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "kan ikke dæmonisere"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", forskydning %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", størrelsesgrænse %<PRIu64>"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", kryptering %s (type %<PRIu32>)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: stat mislykkedes"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s: stat mislykkedes"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:169
+#, fuzzy
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+" -e | --encryption <type> aktiver datakryptering med angivet <navn/num>\n"
+" -h | --help denne hjælpetekst\n"
+" -o | --offset <num> start ved forskydning <num> inde i filen\n"
+" --sizelimit <num> loop begrænset til kun <num> byte af filen\n"
+" -p | --pass-fd <num> læs adgangsfrase fra filbeskrivelse <num>\n"
+" -r | --read-only opsæt skrivebeskyttet løkkeenhed\n"
+" --show vis enhedsnavn (med -f <fil>)\n"
+" -v | --verbose uddybende tilstand\n"
+"\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "%s: Kan ikke undersøge enhed"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: løkkeenheden angivet to gange"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "%s: Kan ikke undersøge enhed"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "intet filnavn angivet"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "Kunne ikke lĂĄse ind i hukommelsen, afslutter.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "kan ikke finde enheden for %s"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "genlæs partitionstabellen"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "tunelp: ioctl mislykkedes"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "ingen"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "para"
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "fuld"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "få logisk blokstørrelse (sektorstørrelse)"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "få logisk blokstørrelse (sektorstørrelse)"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "fejl: uname mislykkedes"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "kunne ikke allokere udmellemlager"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, fuzzy, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+"# Det følgende er fortolkningsformatet, som kan sendes til andre\n"
+"# programmer. Hvert element i kolonnerne har en unik id der\n"
+"# starter fra nul.\n"
+"# CPU,Core,Socket,Node"
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "Arkitektur:"
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "Op-tilstande for CPU:"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+#, fuzzy
+msgid "CPU(s):"
+msgstr "CPU-sokler:"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "TrĂĄde per kerne:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "Kerner per sokkel:"
+
+#: sys-utils/lscpu.c:1160
+#, fuzzy
+msgid "Socket(s) per book:"
+msgstr "Kerner per sokkel:"
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "CPU-sokler:"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "NUMA-knuder:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "Leverandør-id:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "CPU-familie:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Model:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "Modelserie:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "Virtualisation:"
+
+#: sys-utils/lscpu.c:1188
+#, fuzzy
+msgid "Hypervisor:"
+msgstr "Hypervisorleverandør:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Hypervisorleverandør:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Virtualisationstype:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "%s mellemlager:"
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "NUMA-knuder%d CPU'er:"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"For yderligere information se ipcmk(1).\n"
+"\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: dette kan kun root gøre (effektiv UID er %u)"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: dette kan kun root gøre (effektiv UID er %u)"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: kun root (administrator) kan montere %s som %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: dette kan kun root gøre"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr ""
+
+# evt. "i linje "
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "fortolkningsfejl pĂĄ linje: "
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "kunne ikke læse: %s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s er allerede monteret som %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: kun root (administrator) kan montere %s som %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: proc er allerede monteret"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: kunne ikke finde %s i %s eller %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: kunne ikke finde %s i %s eller %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "Kunne ikke binde unixsokkel %s: %s\n"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "mount: Jeg kunne ikke bestemme filsystemtypen, og ingen var angivet"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: du skal angive filsystemtypen"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "kan ikke læse: %s"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: montering mislykkedes"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "kunne ikke fortolke %s %s"
+
+#: sys-utils/mount.c:410
+#, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr ""
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "montering mislykkedes"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: monteringspunkt %s er ikke en mappe"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: skal være superbruger for at bruge mount"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s er optaget"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: enten er %s allerede monteret eller %s optaget"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s er allerede monteret som %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: monteringspunkt %s findes ikke"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: monteringspunkt %s er en symbolsk henvisning ud i ingenting"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: specielenhed %s findes ikke"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "montering mislykkedes"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: specielenhed %s findes ikke\n"
+" (et stipræfiks er ikke en mappe)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s ikke allerede monteret, eller forkert tilvalg"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s ikke allerede monteret, eller forkert tilvalg"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: forkert filsystemtype, forkert tilvalg, ugyldig superblok pĂĄ %s,\n"
+" manglende tegnsæt, hjælpeprogram eller anden fejl"
+
+#: sys-utils/mount.c:520
+#, fuzzy, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (for flere filsystemer (f.eks. nfs, cifs) skal du mĂĄske\n"
+" bruge et /sbin/mount.<type>-hjælpeprogram)"
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" I nogle tilfælde vil du finde nyttige oplysninger i systemlogggen\n"
+" - prøv 'dmesg | tail' eller lignende\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: kunne ikke læse superblokken"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: ukendt filsystemtype »%s«"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s er ikke en blokenhed, og »stat« fejler?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: kernen genkender ikke %s som en blokenhed\n"
+" (måske »modprobe driver«?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s er ikke en blokenhed (brug eventuelt '-o loop'?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: er ikke en blokenhed\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s er ikke en gyldig blokenhed"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: kunne ikke montere %s%s skrivebeskyttet"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s er skrivebeskyttet, men eksplicit flag -w er angivet"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: kan ikke montere %s%s læs/skriv, er skrivebeskyttet"
+
+# hvad er forskel pĂĄ engelsk write-protected og read-only
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s er skrivebeskyttet, monterer skrivebeskyttet"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: intet medie fundet pĂĄ %s"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "mount: montering mislykkedes"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: Kunne ikke ĂĄbne"
+
+#: sys-utils/mount.c:622
+#, fuzzy, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+"\n"
+"Brug:\n"
+" %1$s [tilvalg]\n"
+" %1$s [tilvalg] <enhed> | <monteringspunkt>\n"
+" %1$s [tilvalg] <enhed> <monteringspunkt>\n"
+" %1$s [tilvalg] [--source <enhed>] [--target <monteringspunkt>]\n"
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: montering mislykkedes"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "kunne ikke fortolke pid"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "kunne ikke indhente pid %d's attributter"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s: er ikke en mappe"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s er monteret.\t "
+
+#: sys-utils/pivot_root.c:33
+#, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr ""
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "Kunne ikke angive personlighed som %s"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+msgid "max core file size"
+msgstr ""
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld blokke\n"
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "CPU time"
+msgstr "CPU-liste"
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS sekundær"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "ugyldig inode-størrelse"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "maks antal segmenter= %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "maks antal segmenter= %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "maks antal segmenter= %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "beskeder"
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "maks antal segmenter= %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Ugyldigt brugernavn"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "ressourcer slettet\n"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Enheder"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr ""
+"\n"
+"Brug: %s [tilvalg]\n"
+"\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr ""
+"\n"
+"Tilvalg:\n"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "kunne ikke indhente pid %d's affinitet"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+# Alle processer pĂĄ unix-agtige systemer har en proces-id (pid), som er
+# et tal. %d er en pid. Hvis du skriver 'top', kan du se alle
+# processer og deres pid'er.
+# I øvrigt er substitutionskoden %d altid et heltal.
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "kunne ikke angive pid %d's politik"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "kunne ikke indhente pid %d's politik"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "kunne ikke fortolke %s %s"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "tilvalg udelukker hinanden"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+# (ordet kan nok rykkes et felt til venstre uden at det ødelægger
+# noget, sĂĄ strengen er lige sĂĄ lang som den engelske)
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Første Sidste\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unqote Indskyd ikke anførselstegn i uddata\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Vis versionsinformation\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Denne lille manual\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test Tjek versionen af getopt(1)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "fejl ved skrivning af %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, fuzzy
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+"Antager omvendt byterækkefølge. Brug -n for at fremtvinge oprindelig "
+"byterækkefølge.\n"
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "MĂĄletrin: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): forkert oversigtslinje\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: kunne ikke finde \"_stext\" i %s\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s: profiladresse uden for omrĂĄdet. Forkert map-fil?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:57
+#, fuzzy, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+"\n"
+"Brug:\n"
+" renice [-n] prioritet [-p|--pid] pid [... pid]\n"
+" renice [-n] prioritet -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] prioritet -u|--user bruger [... bruger]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"For yderligere information se namei(1).\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice fra %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "ukendt kolonne: %s"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "ugyldig værdi for tidsudløb: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "bruger"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "Kunne ikke angive personlighed som %s"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "Kunne ikke angive personlighed som %s"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: gammel prioritet %d, ny prioritet %d\n"
+
+#: sys-utils/rtcwake.c:92
+#, fuzzy
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+"brug: %s [tilvalg]\n"
+" -d | --device <enhed> vælg rtc-enhed (rtc0|rtc1|...)\n"
+" -n | --dry-run gør alt, undtagen hvile\n"
+" -l | --local RTC bruger lokal tidszone\n"
+" -m | --mode standby|mem|... sleep-tilstand\n"
+" -s | --seconds <sekunder> sekunder at vente\n"
+" -t | --time <time_t> tid at vĂĄgne op\n"
+" -u | --utc RTC bruger UTC\n"
+" -v | --verbose uddybende beskeder\n"
+" -V | --version vis version\n"
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "læs rtc-tid"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "læs systemtid"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "konverter rtc-tid"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "angiv rtc-alarm"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "aktiver rtc-alarm"
+
+#: sys-utils/rtcwake.c:248
+#, fuzzy
+msgid "set rtc wake alarm failed"
+msgstr "angiv rtc wake-alarm"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "aktiver rtc-alarm"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "konverter rtc-tid"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "%s: ukendt hviletilstand »%s«\n"
+
+#: sys-utils/rtcwake.c:448
+msgid "invalid seconds argument"
+msgstr ""
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "ugyldige parametre"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: antager at RTC bruger UTC ...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Bruger UTC-tid.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Bruger lokal tid.\n"
+
+#: sys-utils/rtcwake.c:491
+#, fuzzy
+msgid "must provide wake time (see -t and -s options)"
+msgstr "%s: skal levere opvĂĄgningstid\n"
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s er ikke aktiveret for opvågningshændelser\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "alarm %ld, sys_time %ld, rtc_time %ld, sekunder %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, fuzzy, c-format
+msgid "time doesn't go backward to %s"
+msgstr "%s: tiden går ikke baglæns til %s\n"
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: opvågning fra »%s« der bruger %s på %s\n"
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: opvågning fra »%s« der bruger %s på %s\n"
+
+# evt. "nej" -> "ingen"
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr "hviletilstand: nej; forlader\n"
+
+# evt. "slukket" -> "slĂĄet fra"
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr "hviletilstand: slukket; kører %s\n"
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "kunne ikke køre %s"
+
+# "slĂĄet til"
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr "hviletilstand: tændt; læser rtc\n"
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "read (læsning) mislykkedes: %s"
+
+# evt. "deaktiveret"
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr "hviletilstand: deaktiver; deaktiverer alarm\n"
+
+# evt. "deaktiveret"
+#: sys-utils/rtcwake.c:607
+#, fuzzy, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr "hviletilstand: deaktiver; deaktiverer alarm\n"
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr "hviletilstand: %s; sætter system i hvile\n"
+
+#: sys-utils/rtcwake.c:620
+#, fuzzy
+msgid "disable rtc alarm interrupt failed"
+msgstr "deaktiver rtc alarmafbrydelse"
+
+# slĂĄr til
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Tænder %s.\n"
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+"Brug: %s%s [tilvalg] [program [programparametre]]\n"
+"\n"
+"Tilvalg:\n"
+
+#: sys-utils/setarch.c:100
+#, fuzzy, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -h, --help viser denne hjælpetekst\n"
+" -v, --verbose viser hvilke tilvalg som er slĂĄet til\n"
+" -R, --addr-no-randomize deaktiverer tilfældiggørelse af virtuelt "
+"adresserum\n"
+" -F, --fdpic-funcptrs fĂĄr funktionspegere til at pege pĂĄ beskrivelser\n"
+" -Z, --mmap-page-zero aktiverer MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout ændrer måden virtuel hukommelse tildeles på\n"
+" -X, --read-implies-exec aktiverer READ_IMPLIES_EXEC\n"
+" -B, --32bit aktiverer ADDR_LIMIT_32BIT\n"
+" -I, --short-inode aktiverer SHORT_INODE\n"
+" -S, --whole-seconds aktiverer WHOLE_SECONDS\n"
+" -T, --sticky-timeouts aktiverer STICKY_TIMEOUTS\n"
+" -3, --3gb begrænser det brugte adresserum til maksimalt 3 "
+"GB\n"
+" --4gb ignoreret (kun for baglæns kompatibilitet)\n"
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Brug »%s --help« for yderligere detaljer.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Brug »%s --help« for yderligere detaljer.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: Ukendt arkitektur"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Ikke nok parametre"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Kunne ikke angive personlighed som %s"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "Brug: %s [tilvalg] <program> [parametre...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() mislykkedes"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "kunne ikke indhente pid %d's attributter"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "execv mislykkedes"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s pĂĄ %s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "Ikke superbruger."
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: swapoff mislykkedes"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"Parameteren <speciel>:\n"
+" {-L etiket | LABEL=etiket} ETIKET pĂĄ enhed der skal bruges\n"
+" {-U uuid | UUID=uuid} UUID pĂĄ enhed der skal bruges\n"
+" <enhed> navn pĂĄ enhed der skal bruges\n"
+" <fil> navn pĂĄ fil der skal bruges\n"
+"\n"
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr "genlæs partitionstabellen"
+
+#: sys-utils/swapon.c:90
+msgid "type of the device"
+msgstr ""
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr ""
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Marker i brug"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: Geninitialiserer swappen."
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "execv mislykkedes"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: lseek mislykkedes"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: skrivningssignatur mislykkedes"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+"%s: fandt swapsignatur: version %d, sidestørrelse %d, %s byterækkefølge"
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "forskellig"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "ens"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: usikre tilladelser %04o, %04o anbefales."
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: usikre tilladelser %04o, %04o anbefales."
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: springer over - den lader til at være fragmenteret."
+
+# Hent størrelse mislykkedes
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: Kunne ikke finde størrelse"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: Læsning af swaphoved mislykkedes"
+
+# uhh forsigtig her, det der kunne godt være noget som er en del af en
+# syntaks. Jeg tror det dog ikke, men det ville være meget rart at være
+# sikker.
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr "%s: sidestørrelse=%d, swapstørrelse=%llu, enhedsstørrelse=%llu"
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr "%s: sidste_side 0x%08llx er større end aktuel størrelse på swapplads"
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: swapformatets sidestørrelse er ikke ens."
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+"%s: swapformatets sidestørrelse er ikke ens. (Brug --fixpgsz til at "
+"geninitialisere den.)"
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr "%s: Hviledata for software detekteret. Genskriver swapsignaturen."
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s pĂĄ %s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s: swapon mislykkedes"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "kunne ikke fortolke %s %s"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"Parameteren <speciel>:\n"
+" {-L etiket | LABEL=etiket} ETIKET pĂĄ enhed der skal bruges\n"
+" {-U uuid | UUID=uuid} UUID pĂĄ enhed der skal bruges\n"
+" <enhed> navn pĂĄ enhed der skal bruges\n"
+" <fil> navn pĂĄ fil der skal bruges\n"
+"\n"
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Tilgængelige kommandoer:\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "kan ikke finde enheden for %s"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "kunne ikke fortolke prioritet"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "%s: fstat mislykkedes"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "kunne ikke læse: %s"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "kunne ikke læse symbolsk henvisning: %s"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "kunne ikke læse timingfil %s"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "Forsøger at afmontere %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "Kunne ikke angive personlighed som %s"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "kunne ikke læse timingfil %s"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "kunne ikke fortolke prioritet"
+
+#: sys-utils/switch_root.c:185
+#, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr ""
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "%s mislykkedes.\n"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "kunne ikke ĂĄbne %s"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unqote Indskyd ikke anførselstegn i uddata\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unqote Indskyd ikke anførselstegn i uddata\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "ugyldig værdi for tidsudløb: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s ikke en printerenhed.\n"
+
+# hvis du vender de ligesom på engelsk, behøver vi ikke at bekymre os om
+# strenge bør starte med stort eller ej
+# "LPGETSTATUS-fejl"
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "Fejl i LPGETSTATUS"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "Status for %s er %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", optaget"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", klar"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", ikke mere papir"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", klar"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", fejl"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "shmctl mislykkedes"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "Fejl i LPGETIRQ"
+
+# Kiggede i kildekoden og sĂĄ at %s er et filnavn. '%s bruger IRQ %d'
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s bruger IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s bruger overvĂĄgning (polling)\n"
+
+#: sys-utils/umount.c:73
+#, fuzzy, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+"\n"
+"Brug:\n"
+" %1$s [tilvalg]\n"
+" %1$s [tilvalg] <enhed> | <monteringspunkt>\n"
+" %1$s [tilvalg] <enhed> <monteringspunkt>\n"
+" %1$s [tilvalg] [--source <enhed>] [--target <monteringspunkt>]\n"
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "montering mislykkedes"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: ugyldig blokenhed"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "umount: %s: kan ikke skrive superblok"
+
+#: sys-utils/umount.c:211
+#, fuzzy, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: enhed er optaget.\n"
+" (I nogle tilfælde kan brugbar information om processer,\n"
+" som bruger enheden findes af lsof(8) eller fuser(1))"
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: skal være superbruger for at afmontere"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: blokenheder tillades ikke pĂĄ dette fs"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "kunne ikke indhente pid %d's attributter"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "Brug: %s [tilvalg] <program> [parametre...]\n"
+
+#: sys-utils/unshare.c:63
+#, fuzzy
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+"Kør program med nogle navnerum udelt fra overprogram\n"
+"\n"
+" -h, --help hjælpetekst (denne)\n"
+" -m, --mount fjern deling af monteringers navnerum\n"
+" -u, --uts fjern deling af UTS-navnerum (værtsnavn etc.)\n"
+" -i, --ipc fjern deling af System V IPC-navnerum\n"
+" -n, --net fjern deling af netværksnavnerum\n"
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "unshare mislykkedes"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "%s mislykkedes.\n"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Logind udløb efter %d sekunder\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Logind udløb efter %d sekunder\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr ""
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "status"
+
+#: sys-utils/wdctl.c:73
+msgid "flag boot status"
+msgstr ""
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr ""
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "ukendt kolonne: %s"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "Løkkeenhed er %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Tilgængelige kommandoer:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: ukendt signal %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s: Kunne ikke ĂĄbne"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Kunne ikke få tidsoverløbet for %s: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s: kunne ikke skrive etiket"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f sekunder\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "tidsudløb"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Enhed"
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr ""
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: kunne ikke udføre %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s: kunne ikke udføre %s: %m"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: kunne ikke finde processen »%s«\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: kunne ikke udføre %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "kunne ikke allokere udmellemlager"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "ugyldig værdi for tidsudløb: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "ugyldig hastighed: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "for mange forskellige hastigheder"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: kan ikke ĂĄbne som standard-ind: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ikke en tegnenhed"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: ikke åben for læsning/skrivning"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: dup-problem: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "type: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: læst: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: inddataoverløb"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "bruger"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "brugere"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "unshare mislykkedes"
+
+# Så vidt jeg kan se i koden, understøtter den kun y og n
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "er y\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "er n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "oprettelse af semafor mislykkedes"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "ugyldigt iflag: %s"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Advarsel: »%s« er en henvisning.\n"
+"Brug »%s [tilvalg] %s«, hvis du virkelig vil bruge den.\n"
+"Skript blev ikke startet.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Skript pĂĄbegyndt, filen er %s\n"
+
+# %s er nok et tidspunkt. Jeg ville fjerne "pĂĄ" sĂĄ det bliver
+# "pĂĄbegyndt 17:37" eller "pĂĄbegyndt 17-12-2010"
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Skript pĂĄbegyndt %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: kan ikke skrive skriptfil, fejl: %s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Skript kørt %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Skript færdigt, filen er %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty mislykkedes\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "Løbet tør for pty-er\n"
+
+#: term-utils/scriptreplay.c:42
+#, fuzzy, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr "%s <timingfil> [<typeskript> [<nævner>]]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "forventede et tal, men fik »%s«"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "nævner »%s«"
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "skrivning til standard-ud mislykkedes"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "uventet linjeafslutning pĂĄ %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "kunne ikke læse typeskriptfil %s"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "uventet antal argumenter"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "kunne ikke læse timingfil %s"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "timingfil %s: %lu: uventet format"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: Parameterfejl, brug\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+# ifølge man-filen gør den "the screen" blank, det lader til at den
+# styrer strømsparetilstand så 'blank skærm' vil nok være rigtigt i
+# den her og de omkringstĂĄende
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "kan ikke fremtvinge blank skærm\n"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "kan ikke tvinge ud af blank skærmtilstand\n"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "kan ikke indhente status for blank skærm\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "kan ikke ændre strømsparetilstand\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "kan ikke ĂĄbne enheden %s til skrivning\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "klogctl-fejl: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Fejl ved skrivning af skærmkopi\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Kunne ikke læse %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM er ikke defineret.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: ukendt signal %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "for mange iov'er (ændr kode i wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "utroligt lang linjeparameter"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "kunne ikke forgrene (fork)"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "ugyldig værdi for tidsudløb: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "kan ikke angive bruger-id: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Kan ikke få diskstørrelsen"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Rundsendt meddelelse fra %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: kan ikke læse %s - brug standard-ind.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "read (læsning) mislykkedes: %s"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr ""
+"\n"
+"Brug: %s [tilvalg] stinavn [stinavn ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: kunne ikke finde din tty's navn\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: du har slĂĄet skriveadgang fra.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s er ikke logget ind pĂĄ %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s har deaktiveret beskeder pĂĄ %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s er ikke logget pĂĄ\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s har deaktiveret beskeder\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s er logget pĂĄ flere gange; skriver til %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "For lang inddatalinje.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Besked fra %s@%s (som %s) pĂĄ %s klokken %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Besked fra %s@%s pĂĄ %s klokken %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "calloc mislykkedes"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: skrivefejl.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: ugyldigt -l parameter %s.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: advarsel: kan ikke sikkerhedskopiere %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "forbi første linje"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- linje allerede skrevet ud"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"Brug: %s [tilvalg]\n"
+"\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "ugyldige parametre"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "ugyldige parametre"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"For yderligere information se ipcmk(1).\n"
+"\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "col: ugyldigt -l parameter %s.\n"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "ingen længdeparameter angivet"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: ukendt tilvalg »-%c«\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: mappe ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Ikke en tekstfil ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Brug q eller Q for at afslutte]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Mere--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Næste fil: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Tryk mellemrum for at fortsætte, »q« for at afslutte.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...bak %d sider"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...bak 1 side"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...springer en linje over"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...springer %d linjer over"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Tilbage***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Forkludret regulært udtryk"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"De fleste kommandoer kan efterfølges af et heltal k. Standardværdier i "
+"klammer.\n"
+"Stjerne (*) betyder at parameteren bliver den nye standardværdi.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<mellemrum> Vis de næste k linjer tekst [aktuelle "
+"skærmstørrelse]\n"
+"z Vis de næste k linjer tekst [aktuelle skærmstørrelse]"
+"*\n"
+"<retur> Vis de næste k linjer tekst [1]*\n"
+"d eller ctrl-D Rul k linjer [aktuelle rullestørrelse, standard 11]"
+"*\n"
+"q eller Q eller <interrupt> Afslut more\n"
+"s Hop k linjer frem i teksten [1]\n"
+"f Hop k skærmfulde frem i teksten [1]\n"
+"b eller ctrl-B Hop k skærmfulde tilbage i teksten [1]\n"
+"' Gå til det sted, hvor sidste søgning startede\n"
+"= Vis aktuelle linjenummer\n"
+"/<regulært udtryk> Søg efter k'te tilfælde af ragulært udtryk [1]\n"
+"n Søg efter k'te tilfælde af seneste regulære udtryk "
+"[1]\n"
+"!<kmd> eller :!<kmd> Udfør <kmd> i en underskal\n"
+"v Start /usr/bin/vi pĂĄ aktuelle linje\n"
+"ctrl-L Genoptegn skærm\n"
+":n Gå til k'te næste fil [1]\n"
+":p GĂĄ til k'te forrige fil [1]\n"
+":f Vis aktuelle filnavn og linjenummer\n"
+". Gentag seneste kommando\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Tryk »h« for instruktioner.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "»%s« linje %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Ikke en fil] linje %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Overløb\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...springer over\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Mønster ikke fundet\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Mønster ikke fundet"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "programkørsel mislykkedes\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "kunne ikke forgrene (fork)\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Springer over "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Springer til filen "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Springer tilbage til filen "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "For lang linje"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Ingen tidligere kommando at erstatte med"
+
+#: text-utils/parse.c:67
+#, fuzzy
+msgid "line too long"
+msgstr "For lang linje"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: byteantal med flere konverteringstegn.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: ugyldigt byteantal til konverteringstegn %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: %%s kræver en præcision eller et byteantal.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: ugyldigt format {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: ugyldig konverteringstegn %%%s.\n"
+
+#: text-utils/pg.c:147
+#, fuzzy
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+"Alle rettigheder forbeholdes.\n"
+"-------------------------------------------------------\n"
+" h denne skærm\n"
+" q eller Q afslut program\n"
+" <ny linje> næste side\n"
+" f spring en side frem\n"
+" d eller ^D næste halve side\n"
+" l næste linje\n"
+" $ forrige side\n"
+" /regex/ søg fremad efter regulære udtryk\n"
+" ?regex? eller ^regex^ søg baglæns efter regulære udtryk\n"
+" . eller ^L gentegn skærm\n"
+" w eller z angiv sidestørrelse og gå til næste side\n"
+" s filnavn gem aktuel fil til filnavn\n"
+" !kommando skal-undvigetegn\n"
+" p gĂĄ til forrige fil\n"
+" n gå til næste fil\n"
+"\n"
+"Mange kommandoer accepterer foregĂĄende tal, for eksempel:\n"
+"+1<ny linje> (næste side); -1<ny linje> (forrige side); 1<ny linje>\n"
+"(første side).\n"
+"\n"
+"Se pg(1) for yderligere information.\n"
+"-------------------------------------------------------\n"
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: Brug: %s [-tal] [-p streng] [-cefnrs] [+linje] [+/mønster/] [filer]\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p Udlæs partitionstabellen til skærmen eller en fil"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : undlad at skrive ændringerne til disken"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -? [eller --help]: vis denne besked"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Vis versionsinformation\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: tilvalget kræver et parameter -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: ugyldigt tilvalg -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...hopper fremad\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...hopper bagud\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Ingen næste fil"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Ingen forrige fil"
+
+# kan filen %s bruges her?
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Læsefejl fra %s-fil\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Uventet filafslutning i %s-fil\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Ukendt fejl i %s-fil\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Kunne ikke oprette midlertidig fil.\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "RE fejl: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(Filafslutning)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Ingen gammel søgestreng"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "kunne ikke ĂĄbne %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "gemte"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !kommando ikke tilladt i rflag-tilstand.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() mislykkedes, prøv senere\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Næste fil: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"For yderligere information se unshare(1).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "ufuldstændig skrivning til »%s« (skrevet %zd, forventede %zd)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+"%s: kan ikke tilføje inotify-overvågning (begrænsningen på inotify-"
+"overvĂĄgere blev nĂĄet)."
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "kunne ikke fortolke pid"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "intet filnavn angivet"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "problemer ved læsning af terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Ukendt undvigelsessekvens i inddata: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "For lang inddatalinje.\n"
+
+#~ msgid " %s -V\n"
+#~ msgstr " %s -V\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [enheder]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] kommandoer enheder\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Tilgængelige kommandoer:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: kunne ikke ĂĄbne %s\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "fortolkningsfejl\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "brug: %s [ -n ] enhed\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: er ikke en blokenhed\n"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "brug: %s [-hv] [-x mappe] fil\n"
+#~ " -h vis denne hjælpetekst\n"
+#~ " -x mappe udpak til mappe\n"
+#~ " -v vis flere meddelelser\n"
+#~ " file fil der skal tjekkes\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "open (ĂĄbn) mislykkedes: %s"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Brug: %s [-larvsmf] /dev/navn\n"
+
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "kunne ikke åbne »%s«: %s"
+
+#~ msgid "%s: failed to open: %s\n"
+#~ msgstr "%s: Kunne ikke ĂĄbne: %s\n"
+
+# fra 'man isosize':
+# -d <num>
+# only has affect when -x is not given. The number output (if no
+# errors) is the iso9660 file size in bytes divided by <num>. So
+# if <num> is the block size then the output number will be the
+# block count.
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Brug: %s [-x] [-d <tal>] iso9660-aftryk\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Brug: %s [-v] [-N antal-inoder] [-V diskenhedsnavn]\n"
+#~ " [-F fsnavn] enhed [antal-blokke]\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "kan ikke køre stat på enheden %s"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "kunne ikke køre stat på %s"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "kan ikke bestemme sekstorstørrelse for %s"
+
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: calloc() mislykkedes: %s\n"
+
+# mangler der mellemrum her?
+# I tilvalg med et enkelt bogstav kan i de fleste programmer udelade
+# mellemrum. SĂĄ -xhello er det samme som -x hello. For lange tilvalg
+# har man valget --option værdi eller --option=værdi. Det er nok fordi
+# det ofte er nemmest hvis der er en form, hvor man ikke skal bekymre
+# sig om mellemrummene (som allerede bruges til at adskille
+# argumenter/tilvalg).
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Brug: %s [-c] [-pSIDESTR] [-L etiket] [-U UUID] /dev/name [blokke]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Hukommelse opbrugt"
+
+#~ msgid "%s: error: will not try to make swapdevice on '%s'\n"
+#~ msgstr "%s: fejl: vil ikke forsøge at oprette swap-enhed på »%s«\n"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "Brug:\n"
+#~ " %s "
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "For yderligere information se swaplabel(8).\n"
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menu uden retning. Vælger standarden vandret."
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d slet en BSD-partition"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l vis liste over filsystemtyper"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n tilføj en ny BSD-partition"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p vis BSD-partitionstabel"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t ændr filsystem-id for en partition"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u skift enheder (cylindre/sektorer)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p vis partitionstabellen"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opretter en ny DOS-disketiket med diskidentifikation 0x%08x.\n"
+#~ "Ændringer vil holdes i hukommelsen, indtil du bestemmer dig for at\n"
+#~ "gemme dem. Derefter kan det tidligere indhold naturligvis ikke "
+#~ "genskabes.\n"
+#~ "\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Du vil ikke kunne gemme partitionstabellen.\n"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Denne disk har bĂĄde magiske numre for DOS \n"
+#~ "og BSD. Brug kommandoen »b« for at gå i BSD-tilstand.\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Enheden indeholder hverken en gyldig DOS-partitionstabel eller en Sun-, "
+#~ "SGI- eller OSF-disketiket.\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Intern fejl\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Partition %i starter ikke på en cylindergrænse:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "burde være (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "burde være (%d, %d, %d)\n"
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr "Du må først slette en partition og tilføje en udvidet partition\n"
+
+# Jeg tror "Command action" skal forstĂĄs som at der stĂĄr kommandoer til
+# venstre, og tilsvarende handlinger til højre. Jeg foreslår bare at
+# skrive 'Kommandobeskrivelser'
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Kommandobeskrivelser\n"
+#~ " %s\n"
+#~ " p primær partition (1-4)\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Kan ikke ĂĄbne %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr "Denne kerne finder selv sektorstørrelser - tilvalget -b ignoreres\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tBeklager, der er ingen ekspertmenu for SGI-partitionstabeller.\n"
+#~ "\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Beklager. Du må ændre mærket (tag) på ikke-tomme partitioner.\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Ved du, at du har overlappende partitioner pĂĄ disken?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opbygger en nyt SGI-disketiket. Ændringer vil holdes i hukommelsen,\n"
+#~ "indtil du beslutter at gemme dem. Derefter vil det tidligere indhold\n"
+#~ "naturligvis ikke kunne genskabes.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "løbet tør for hukommelse - opgiver\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "løbet tør for hukommelse?\n"
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Advarsel: partitionerne %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "og %s overlapper hinanden\n"
+
+#~ msgid "device: something like /dev/hda or /dev/sda"
+#~ msgstr "enhed: noget lignende /dev/hda eller /dev/sda"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [eller --show-size]: vis partitionens størrelse"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [eller --id]: vis eller ændr partitions-id"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [eller --list]: vis partitioner for hver enhed"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [eller --dump]: det samme, men i et format, der vil passe\n"
+#~ " til senere inddata"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [eller --increment]: antal cylindre osv. fra 1 i stedet for fra 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: indlæs/vis i enhederne sektorer/blokke/"
+#~ "cylindre/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [eller --list-types]:vis kendte partitionstyper"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr " -D [eller --DOS]: DOS-kompatibilitet: spilder lidt plads"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [eller --re-read]: lad kernen genindlæse partitionstabellen"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : ret kun partitionen med nummer #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O fil : gem de sektorer, der overskrives, i en fil"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I fil : genskab disse sektorer"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [eller --version]: vis version"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr " -g [eller --show-geometry]: vis kernens bud pĂĄ den geometri"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr " -L [eller --Linux]: giv ikke råd, der ikke vedrører Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [eller --quiet]: undertryk advarsler"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Du kan tilsidesætte den detekterede geometri med:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr ""
+#~ " -C# [eller --cylinders #]:angiv det cylinderantal, der skal bruges"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [eller --heads #]: angiv det hovedantal, der skal bruges"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr ""
+#~ " -S# [eller --sectors #]: angiv det sektorantal, der skal bruges"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Du kan undertrykke alle forenelighedstjek med:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [eller --force]: gør hvad jeg siger, selvom det er dumt"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: inddata sluttede for tidligt\n"
+
+#~ msgid "WARNING: couldn't open %s: %s\n"
+#~ msgstr "ADVARSEL: Kunne ikke ĂĄbne %s: %s\n"
+
+#~ msgid "WARNING: bad format on line %d of %s\n"
+#~ msgstr "ADVARSEL: Ugyldigt format pĂĄ linje %d af %s\n"
+
+#~ msgid ""
+#~ "WARNING: Your /etc/fstab does not contain the fsck passno\n"
+#~ "\tfield. I will kludge around things for you, but you\n"
+#~ "\tshould fix your /etc/fstab file as soon as you can.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "ADVARSEL: Din /etc/fstab indeholder ikke feltet fsck passno.\n"
+#~ "\tJeg vil omgå dette for dig, men du bør rette din\n"
+#~ "\tfil /etc/fstab, sĂĄ snart det er muligt.\n"
+#~ "\n"
+
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "Kunne ikke allokere hukommelse for filsystemtyper\n"
+
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Brug: fsck [-AMNPRTV] [-C [ fd] ] [-t fstype] [fs-tilvalg] [filsys ...]\n"
+
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Kunne ikke ĂĄbne %s: %s\n"
+
+#~ msgid "fsck from %s\n"
+#~ msgstr "fsck fra %s\n"
+
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "%s: Kan ikke allokere hukommelse for fsck_path\n"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Brug »getopt --help« for flere detaljer.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Brug: getopt tilvalgsstreng parametre\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [tilvalg] [--] tilvalgsstreng parametre\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parametre\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (udvidet) 1.1.4\n"
+
+#~ msgid "Cannot open /dev/port: %s"
+#~ msgstr "Kan ikke ĂĄbne /dev/port: %s"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Forventet: UTC (GMT), LOCAL eller ingenting.)\n"
+
+# evt. "speciel fil /dev/... i stedet for standarden"
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - læs og sæt maskinuret (RTC)\n"
+#~ "\n"
+#~ "Brug: hwclock [funktion] [tilvalg...]\n"
+#~ "\n"
+#~ "Funktioner:\n"
+#~ " -h | --help vis denne hjælp\n"
+#~ " -r | --show aflæs maskinuret og vis resultatet\n"
+#~ " --set sæt uret til tiden angivet med --date\n"
+#~ " -s | --hctosys sæt systemuret til maskinurets tid\n"
+#~ " -w | --systohc sæt maskinuret til systemurets tid\n"
+#~ " --systz sæt systemtiden baseret på aktuel tidszone\n"
+#~ " --adjust kalibrer systemuret, så det tager højde for "
+#~ "systematisk\n"
+#~ " hastighedsfejl siden uret sidst blev sat eller "
+#~ "justeret\n"
+#~ " --getepoch vis kernens epokeværdi for maskinuret\n"
+#~ " --setepoch sæt epokeværdien for kernens maskinur til den "
+#~ "værdi,\n"
+#~ " der angives med --epoch\n"
+#~ " --predict forudse rtc-læsning for tiden angivet med --date\n"
+#~ " -v | --version udlæs hwclocks version til standard-ud\n"
+#~ "\n"
+#~ "Tilvalg: \n"
+#~ " -u | --utc maskinuret holdes i GMT (koordineret universel "
+#~ "tid)\n"
+#~ " --localtime maskinuret holdes i lokal tid\n"
+#~ " -f | --rtc=path speciel /dev/... fil frem for standarden\n"
+#~ " --directisa tilgĂĄ ISA-bussen direkte i stedet for %s\n"
+#~ " --badyear ignorer maskinurets ĂĄrstal, da bios'en er "
+#~ "fejlbehæftet\n"
+#~ " --date angiver tiden, som maskinuret skal sættes til\n"
+#~ " --epoch=ĂĄr angiver det ĂĄr, som er begyndelsen pĂĄ maskinurets\n"
+#~ " epokeværdi\n"
+#~ " --noadjfile tilgå ikke /etc/adjtime. Det kræver, at der bruges\n"
+#~ " enten --utc eller --localtime\n"
+#~ " --adjfile=sti angiver stien til justeringsfilen (standard er\n"
+#~ " /etc/adjtime)\n"
+#~ " --test gør alt undtagen selve opdateringen af "
+#~ "hardwareuret\n"
+#~ " eller andet\n"
+#~ " -D | --debug fejlsøgningstilstand\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time.\n"
+#~ msgstr ""
+#~ "Du har angivet flere funktionstilvalg.\n"
+#~ "Du kan kun udføre én funktion ad gangen.\n"
+
+#~ msgid ""
+#~ "%s: The --utc and --localtime options are mutually exclusive. You "
+#~ "specified both.\n"
+#~ msgstr ""
+#~ "%s: Tilvalgene --utc og --localtime udelukker hinanden. Du angav begge.\n"
+
+#~ msgid ""
+#~ "%s: The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both.\n"
+#~ msgstr ""
+#~ "%s: Tilvalgene --adjust og --noadjfile udelukker hinanden. Du angav "
+#~ "begge.\n"
+
+#~ msgid ""
+#~ "%s: The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both.\n"
+#~ msgstr ""
+#~ "%s: Tilvalgene --adjfile og --noadjfile udelukker hinanden. Du angav "
+#~ "begge.\n"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Ă…bning af %s mislykkedes"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Kunne ikke ĂĄbne %s"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "kunne ikke allokere plads til inittekst (malloc)"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Brug: %s [-8hiLmUw] [-l logindprogram] [-t tidsudløb] [-I initstreng] [-H "
+#~ "logindvært] baudrate,... linje [termtype]\n"
+#~ "eller\t[-hiLmw] [-l logindprogram] [-t tidsudløb] [-I initstreng] [-H "
+#~ "logindvært] linje baudrate,... [termtype]\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: ikke megen hukommelse, logind kan mislykkes\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "kunne ikke allokere hukommelse for ttyclass (malloc)"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "kunne ikke allokere hukommelse for grplist (malloc)"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Logind pĂĄ %s fra %s afvises som standard.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Logind pĂĄ %s fra %s afvist.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Brug: %s [ -f fulde-navn ] [ -o kontor ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "%s: PAM-fejl, afbryder: %s\n"
+
+#~ msgid ""
+#~ "Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ username ]\n"
+#~ msgstr ""
+#~ "Brug: %s [ -s skal ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ brugernavn ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s: kan kun ændre lokale indgange; brug yp%s i stedet.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: Kan ikke sætte standardkontekst for /etc/passwd"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "strdup mislykkedes"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: Brug tilvalget -l for at se liste.\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Brug %s -l for at se en liste.\n"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "Kunne ikke åbne %s til læsning, afslutter."
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s: ĂĄbn mislykkedes"
+
+#~ msgid "out of memory"
+#~ msgstr "løbet tør for hukommelse"
+
+#~ msgid "Illegal username"
+#~ msgstr "Ugyldigt brugernavn"
+
+# %ss logind afvist
+# (%s er et navn)
+# el. logind af %s blev afvist...
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "Logind af %s blev afvist pĂĄ denne terminal.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "LOGIND %s AFVIST FRA %s PĂ… TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "LOGIND %s AFVIST PĂ… TTY %s"
+
+# eller bare 'forkert'
+#~ msgid "Login incorrect\n"
+#~ msgstr "Logind ugyldigt\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: mislykket forgrening: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s logind: "
+
+#~ msgid "NAME too long"
+#~ msgstr "for langt NAVN"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "logindnavn alt for langt.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "logindnavne må ikke starte med »-«.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "VOLDSOMT MANGE linjeskift"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "for mange tomme linjeskift.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "LOGINDFEJL FRA %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "LOGINDFEJL pĂĄ %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d LOGINDFEJL fra %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d LOGINDFEJL PĂ… %s, %s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "stat mislykkedes: %s"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "brug: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: UGYLDIG FEJL"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: gruppefilen er optaget.\n"
+
+#~ msgid "%s: the %s file is busy (%s present)\n"
+#~ msgstr "%s: filen %s er optaget (%s findes)\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: kunne ikke fjerne låsen på %s: %s (dine ændringer er stadig i %s)\n"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "brug: %s [fil]\n"
+
+#~ msgid "can't read: %s"
+#~ msgstr "kan ikke læse: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " -s, --fstab search in static table of filesystems\n"
+#~ " -m, --mtab search in table of mounted filesystems\n"
+#~ " -k, --kernel search in kernel table of mounted \n"
+#~ " filesystems (default)\n"
+#~ "\n"
+#~ " -c, --canonicalize canonicalize printed paths\n"
+#~ " -d, --direction <word> search direction - 'forward' or 'backward'\n"
+#~ " -e, --evaluate print all TAGs (LABEL/UUID) evaluated\n"
+#~ " -f, --first-only print the first found filesystem only\n"
+#~ " -h, --help print this help\n"
+#~ " -i, --invert invert sense of matching\n"
+#~ " -l, --list use list format output\n"
+#~ " -n, --noheadings don't print headings\n"
+#~ " -u, --notruncate don't truncate text in columns\n"
+#~ " -O, --options <list> limit the set of filesystems by mount options\n"
+#~ " -o, --output <list> output columns\n"
+#~ " -r, --raw use raw format output\n"
+#~ " -a, --ascii use ascii chars for tree formatting\n"
+#~ " -t, --types <list> limit the set of filesystem by FS types\n"
+#~ " -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+#~ " -R, --submounts print all submount for the matching filesystems\n"
+#~ " -S, --source <string> device, LABEL= or UUID=device\n"
+#~ " -T, --target <string> mountpoint\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Tilvalg:\n"
+#~ " -s, --fstab søg i statisk tabel for filsystemer\n"
+#~ " -m, --mtab søg i tabel over monterede filsystemer\n"
+#~ " -k, --kernel søg i kernens tabel over monterede \n"
+#~ " filsystemer (standard)\n"
+#~ "\n"
+#~ " -c, --canonicalize kanoniser udskrevne stier\n"
+#~ " -d, --direction <ord> søgeretning - »fremad« eller »tilbage«\n"
+#~ " -e, --evaluate vis alle MÆRKER (ETIKET/UUID), der er evalueret\n"
+#~ " -f, --first-only vis kun det først fundne filsystem\n"
+#~ " -h, --help vis denne hjælpetekst\n"
+#~ " -i, --invert vend matchbetydningen om\n"
+#~ " -l, --list brug listeformat for uddata\n"
+#~ " -n, --noheadings vis ikke overskrifter\n"
+#~ " -u, --notruncate afkort ikke tekst i kolonner\n"
+#~ " -O, --options <liste> begræns filsystemer efter monteringstilvalg\n"
+#~ " -o, --output <liste> uddatakolonner\n"
+#~ " -r, --raw brug rĂĄt format for uddata\n"
+#~ " -a, --ascii brug ascii-tegn til træformatering\n"
+#~ " -t, --types <liste> begræns filsystemer efter FS-typer\n"
+#~ " -S, --source <streng> enhed, ETIKET= eller UUID=enhed\n"
+#~ " -T, --target <streng> monteringspunkt\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "For yderligere information se findmnt(1).\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "brug: logger [-is] [-f fil] [-p pri] [-t mærke] [-u sokkel] "
+#~ "[ besked ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "brug: look [-dfa] [-t tegn] streng [fil]\n"
+
+#~ msgid "Could not open %s\n"
+#~ msgstr "Kunne ikke ĂĄbne %s\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "løbet tør for hukommelse?"
+
+#~ msgid "could not stat '%s'"
+#~ msgstr "kunne ikke køre stat på »%s«"
+
+# (ForstĂĄr ikke; mĂĄske o.k.)
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "kald: %s fra til filer...\n"
+
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "brug: script [-a] [-e] [-f] [-q] [-t] [fil]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s: skrivefejl %d: %s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s: skrivefejl: %s\n"
+
+#~ msgid "cannot open timing file %s"
+#~ msgstr "kan ikke ĂĄbne timingfil %s"
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "kan ikke ĂĄbne typeskriptfil %s"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term terminalnavn ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60|force|poke] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-ANTAL_KONSOLLER] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-ANTAL_KONSOLLER] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq freqnumber ]\n"
+
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr "Brug: %s [-d] [-p pidfil] [-s sokkelsti] [-T tidsudløb]\n"
+
+#~ msgid " %s [-r|t] [-n num] [-s socketpath]\n"
+#~ msgstr " %s [-r|t] [-n num] [-s sokkelsti]\n"
+
+#~ msgid " %s -k\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Brug: %s [-r] [-t]\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM mappe ... -f ] navn...\n"
+
+# »%s«-partitionstabel
+# (%s må være enten en type eller et navn, i sidste tilfælde ville det
+# være bedre at omrokere, men det ved vi ikke lige)
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "ADVARSEL: %s: ser ud til at indeholde »%s-partitionstabel«"
+
+# jeg tror jeg ville holder den her tættere på den engelske otdstilling,
+# eftersom jeg godt synes den virker pĂĄ dansk og er lidt kortere: "ingen
+# magisk streng fundet ved forskydning .."
+#~ msgid "no magic string found at offset 0x%jx -- ignored"
+#~ msgstr "kan ikke finde en magisk streng ved forskydning 0x%jx - ignoreret"
+
+#~ msgid "%s: write failed"
+#~ msgstr "%s: skrivning mislykkedes"
+
+#~ msgid "%zd bytes ["
+#~ msgstr "%zd byte ["
+
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "ugyldig forskydningsværdi »%s« angivet"
+
+#~ msgid "--offset and --all are mutually exclusive"
+#~ msgstr "--offset og --all udelukker hinanden"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "brug: write bruger [tty]\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "kunne ikke læse: %s"
+
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: kan ikke angive kapacitet pĂĄ enhed %s: %s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", forskydning %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", krypteringstype %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: kunne ikke fĂĄ oplysninger om enheden %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: kunne ikke ĂĄbne enheden %s: %s\n"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: mappen /dev findes ikke."
+
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: ingen rettighed til at kigge i /dev/loop%s<N>"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Kunne ikke finde nogen løkkeenhed (loop device). Måske kender\n"
+#~ " denne kerne ikke til løkkeenheder? (I så fald, genoversæt\n"
+#~ " eller »modprobe loop«.)"
+
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Løb tør for hukommelse under læsning af adgangsfrase"
+
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "advarsel: %s er allerede associeret med %s\n"
+
+# MĂĄske indser den at noget er skrivebeskyttet, og bruger derfor
+# skrivebeskyttet tilstand internt. Men den slags spekulationer synes
+# jeg ikke vi behøver at gengive, så måske:
+# "advarsel: %s: er skrivebeskyttet, bruger derfor som skrivebeskyttet.\n"
+# Her er den lille forskel sĂĄ (synes jeg) at det er lidt klarere at
+# programmet justerer sin egen kørsel for at tage højde for det, det
+# arbejder pĂĄ.
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr ""
+#~ "advarsel: %s: er skrivebeskyttet, bruger derfor som skrivebeskyttet.\n"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "ioctl LOOP_SET_FD mislykkedes: %s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu,%llu): lykkedes\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): lykkedes\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: kunne ikke slette enheden %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Denne montering er oversat uden løkkeunderstøttelse. Genoversæt "
+#~ "venligst.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s loop_device give info\n"
+#~ " %1$s -a | --all list all used\n"
+#~ " %1$s -d | --detach <loopdev> [<loopdev> ...] delete\n"
+#~ " %1$s -f | --find find unused\n"
+#~ " %1$s -c | --set-capacity <loopdev> resize\n"
+#~ " %1$s -j | --associated <file> [-o <num>] list all associated with "
+#~ "<file>\n"
+#~ " %1$s [ options ] {-f|--find|loopdev} <file> setup\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Brug:\n"
+#~ " %1$s loop_enhed vis info\n"
+#~ " %1$s -a | --all vis alle brugte\n"
+#~ " %1$s -d | --detach <loopenhed> [<loopenhed> ...] slet\n"
+#~ " %1$s -f | --find find ubrugte\n"
+#~ " %1$s -c | --set-capacity <loopenhed> ændr størrelse\n"
+#~ " %1$s -j | --associated <fil> [-o <num>] vis alle som er associeret "
+#~ "med <fil>\n"
+#~ " %1$s [ tilvalg ] {-f|--find|loopdev} <fil> opsætning\n"
+
+#~ msgid "%s: invalid offset '%s' specified"
+#~ msgstr "%s: ugyldig forskydningsværdi »%s« angivet"
+
+#~ msgid "%s: invalid sizelimit '%s' specified"
+#~ msgstr "%s: ugyldig størrelsesbegrænsning »%s« angivet"
+
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "stjålet loop=%s...forsøger igen\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Der var ingen løkkeunderstøttelse tilgængelig ved oversættelsen. "
+#~ "Genoversæt venligst.\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: kunne ikke ĂĄbne %s: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-d] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Brug:\n"
+#~ " %1$s -a [-e] [-v] [-f] aktiver alle swap fra /etc/fstab\n"
+#~ " %1$s [-p priority] [-v] [-f] <speciel> aktiver angivet swap\n"
+#~ " %1$s -s vis forbrugsreferat for swap\n"
+#~ " %1$s -h vis hjælp\n"
+#~ " %1$s -V vis version\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Brug:\n"
+#~ " %1$s -a [-v] deaktiver alle swap\n"
+#~ " %1$s [-v] <speciel> deaktiver angivet swap\n"
+#~ " %1$s -h vis hjælp\n"
+#~ " %1$s -V vis version\n"
+
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: Uventet filformat"
+
+#~ msgid "'%s' is unsupported program name (must be 'swapon' or 'swapoff')."
+#~ msgstr ""
+#~ "»%s« er et programnavn, der ikke er understøttet (skal være »swapon« "
+#~ "eller »swapoff«)."
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "For yderligere information se setarch(8).\n"
+
+#~ msgid "unknown\n"
+#~ msgstr "ukendt\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "ionice - sets or gets process io scheduling class and priority.\n"
+#~ "\n"
+#~ "Usage:\n"
+#~ " ionice [ options ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ options ] <command> [<arg> ...]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -n <classdata> class data (0-7, lower being higher prio)\n"
+#~ " -c <class> scheduling class\n"
+#~ " 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+#~ " -t ignore failures\n"
+#~ " -h this help\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ionice - angiver eller indhenter proces' io-planlægningsklasse og -"
+#~ "prioritet.\n"
+#~ "\n"
+#~ "Brug:\n"
+#~ " ionice [ tilvalg ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ tilvalg ] <kommando> [<arg> ...]\n"
+#~ "\n"
+#~ "Tilvalg:\n"
+#~ " -n <klassedata> klassedata (0-7, lavere har højere prioritet)\n"
+#~ " -c <klasse> planlægningsklasse\n"
+#~ " 0: ingen, 1: realtid, 2: bedste forsøg, 3: ledig\n"
+#~ " -t ignorerer fejl\n"
+#~ " -h denne hjælpetekst\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "kunne ikke fortolke %s %s"
+
+#~ msgid "CPU mask"
+#~ msgstr "CPU-maske"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "For yderligere information se findmnt(1).\n"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "kunne ikke allokere udmellemlager"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Brug: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Nedlukningsproces afbrudt"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Kun root (administrator) kan lukke systemet ned.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "Det må være i morgen. Kan du ikke vente så længe?\n"
+
+# hm, det forstĂĄr jeg ikke. MĂĄske 'til vedligeh.'
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "til vedligeholdelse; hop af, hop af"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Systemet lukkes inden for 5 minutter"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Derfor er logind spærret."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "genstartet af %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "standset af %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Hvorfor kører jeg stadig efter genstart?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Du kan nu slukke for strømmen..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Kalder kernens slukningsfacilitet...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Fejl ved slukning\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Kører programmet »%s«...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Fejl ved kørsel af\t%s\n"
+
+# broadcast er her et tillægsord: rundsendT
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "HASTER: Rundsendt besked fra %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Systemet lukkes ned om %d timer og %d minutter"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Systemet lukkes ned om 1 time og %d minutter"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Systemet lukkes ned om %d minutter\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Systemet lukkes ned om 1 minut\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Systemet lukkes ned ĂJEBLIKKELIGT!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Kunne ikke forgrene for swapoff. Suk!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "Kunne ikke udføre swapoff. Håber, at umount kan klare det."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Kunne ikke forgrene umount, forsøger selv."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Kan ikke udføre %s, forsøger afmontering med umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Kunne ikke udføre umount, opgiver afmontering."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Afmonterer resterende filsystemer..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Kunne ikke afmontere %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Starter op i enkeltbrugertilstand.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "udførelse af enkeltbrugerskal mislykkedes\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "forgrening af enkeltbrugerskal mislykkedes\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "fejl ved ĂĄbning af fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "fejl under sætning af close-on-exec på /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "fejl ved kørsel af finalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "fejl ved forsøg på at spalte processen finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Forkert adgangskode.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "kunne ikke finde sti med lstat\n"
+
+#~ msgid "respawning: \"%s\" too fast: quenching entry\n"
+#~ msgstr "respawning: »%s« for hurtig: slukker post\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "forgrening mislykkedes\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "kunne ikke ĂĄbne inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "ingen TERM eller kunne ikke køre stat på tty\n"
+
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "fejl ved forsøg på at stoppe tjenesten »%s«\n"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "Stoppet tjeneste: %s\n"
+
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "fejl ved forsøg på at stoppe tjenesten »%s«\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Brug: %s [-q [-i interval]] ([-s værdi]|[-S værdi]) ([-t værdi]|[-T "
+#~ "værdi]) [-g|-G] fil [fil...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Kunne ikke ĂĄbne %s: %s\n"
+
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Brug: %s [-c] [-n niveau] [-r] [-s bufstr]\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "For yderligere information se fallocate(1).\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [-sxun][-w #] fd#\n"
+#~ " %1$s [-sxon][-w #] file [-c] command...\n"
+#~ " %1$s [-sxon][-w #] directory [-c] command...\n"
+#~ " -s --shared Get a shared lock\n"
+#~ " -x --exclusive Get an exclusive lock\n"
+#~ " -u --unlock Remove a lock\n"
+#~ " -n --nonblock Fail rather than wait\n"
+#~ " -w --timeout Wait for a limited amount of time\n"
+#~ " -o --close Close file descriptor before running command\n"
+#~ " -c --command Run a single command string through the shell\n"
+#~ " -h --help Display this text\n"
+#~ " -V --version Display version\n"
+#~ msgstr ""
+#~ "Brug: %1$s [-sxun][-w #] fd#\n"
+#~ " %1$s [-sxon][-w #] fil [-c] kommando...\n"
+#~ " %1$s [-sxon][-w #] mappe [-c] kommando...\n"
+#~ " -s --shared Indhent en delt lĂĄsning\n"
+#~ " -x --exclusive Indhent en eksklusiv lĂĄsning\n"
+#~ " -u --unlock Fjern en lĂĄsning\n"
+#~ " -n --nonblock Giv fejl frem for at vente\n"
+#~ " -w --timeout Vent i et begrænset tidsrum\n"
+#~ " -o --close Luk filbeskrivelse før kørsel af kommando\n"
+#~ " -c --command Kør en enkelt kommandostreng via skallen\n"
+#~ " -h --help Vis denne hjælpetekst\n"
+#~ " -V --version Vis version\n"
+
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: ugyldig værdi: %s\n"
+
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s: forgrening mislykkedes: %s\n"
+
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s: fstat mislykkedes"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "For yderligere information se findmnt(1).\n"
+
+#~ msgid ""
+#~ " -M <size> create shared memory segment of size <size>\n"
+#~ " -S <nsems> create semaphore array with <nsems> elements\n"
+#~ " -Q create message queue\n"
+#~ " -p <mode> permission for the resource (default is 0644)\n"
+#~ msgstr ""
+#~ " -M <størrelse> opret delt hukommelsesegment med størrelsen <størrelse>\n"
+#~ " -S <nsems> opret semaforinterval med <nsems> elementer\n"
+#~ " -Q opret beskedkø\n"
+#~ " -p <tilstand> tilladelse for ressourcen (standard er 0644)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "For yderligere information se ipcmk(1).\n"
+#~ "\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "forældet brug: %s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "ukendt ressourcetype: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "brug: %s [ [-q beskkøid] [-m dthid] [-s semid]\n"
+#~ " [-Q beksnøgle] [-M dthnøgle] [-S semnøgle] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "ukendt fejl i nøgle"
+
+#~ msgid "unknown error in id"
+#~ msgstr "ukendt fejl i id"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h for help\n"
+#~ msgstr ""
+#~ "Brug: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h for hjælp\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [resource]... [output-format]\n"
+#~ " %1$s [resource] -i id\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Brug: %1$s [ressource]... [uddataformat]\n"
+#~ " %1$s [ressource] -i id\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Vis oplysninger om de IPC-faciliteter du har læseadgang til.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Resource options:\n"
+#~ " -m shared memory segments\n"
+#~ " -q message queues\n"
+#~ " -s semaphores\n"
+#~ " -a all (default)\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Ressourcetilvalg:\n"
+#~ " -m delte hukommelsessegmenter\n"
+#~ " -q beskedkøer\n"
+#~ " -s semaforer\n"
+#~ " -a alle (standard)\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Output format:\n"
+#~ " -t time\n"
+#~ " -p pid\n"
+#~ " -c creator\n"
+#~ " -l limits\n"
+#~ " -u summary\n"
+#~ msgstr ""
+#~ "Uddataformat:\n"
+#~ " -t tid\n"
+#~ " -p pid\n"
+#~ " -c skaber\n"
+#~ " -l begrænsninger\n"
+#~ " -u referat\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> "
+#~ "<device>\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Brug: %s [ -dhV78neo12 ] [ -s <hastighed> ] [ -i [-]<iflag> ] <ldisk> "
+#~ "<enhed>\n"
+
+#~ msgid "ldattach from %s\n"
+#~ msgstr "ldattach fra %s\n"
+
+#~ msgid "error: cannot open %s"
+#~ msgstr "fejl: kan ikke ĂĄbne %s"
+
+#~ msgid "error: strdup failed"
+#~ msgstr "fejl: strdup mislykkedes"
+
+#~ msgid "error: calloc failed"
+#~ msgstr "fejl: calloc mislykkedes"
+
+#, fuzzy
+#~ msgid ""
+#~ "CPU architecture information helper\n"
+#~ "\n"
+#~ " -h, --help usage information\n"
+#~ " -p, --parse print out in parsable instead of printable format.\n"
+#~ " -s, --sysroot use the directory as a new system root.\n"
+#~ " -x, --hex print haxadecimal masks rather than lists of CPU(s)\n"
+#~ msgstr ""
+#~ "Informationshjælp til CPU-arkitektur\n"
+#~ "\n"
+#~ " -h, --help hjælpetekst\n"
+#~ " -p, --parse udskriv fortolkningsformat frem for udskriftsformat.\n"
+#~ " -s, --sysroot brug mappen som en ny systemrod (root).\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Brug: %s [tilvalg]\n"
+#~ "\t -m <oversigtsfil> (standarder: »%s« og\n"
+#~ "\t\t\t\t »%s«)\n"
+#~ "\t -p <pro-fil> (standard: »%s«)\n"
+#~ "\t -M <mult> sæt profileringsmultiplikator til <mult>\n"
+#~ "\t -i vis kun oplysninger om sample-skridt\n"
+#~ "\t -v medtag flere detaljer\n"
+#~ "\t -a vis alle symboler, selvom de ikke bruges\n"
+#~ "\t -b vis individuelle histogramsøjleantal\n"
+#~ "\t -r nulstil alle tællere (kun root)\n"
+#~ "\t -n deaktiver automatisk bestemmelse af byterækkefølge\n"
+#~ "\t -V vis version og afslut\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile: fejl ved skrivning til %s: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Brug: %s [tilvalg] <enhed>\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "For yderligere information se taskset(1).\n"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "kunne ikke fortolke %s %s"
diff --git a/po/de.gmo b/po/de.gmo
new file mode 100644
index 0000000..15340d4
--- /dev/null
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..d9ab39b
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,18683 @@
+# German translation for util-linux
+# This file is distributed under the same license as the util-linux package.
+#
+# Copyright © 1999, 2000, 2001 Elrond <Elrond@Wunder-Nett.org>
+# Copyright © 2001, 2002 Karl Eichwalder.
+# Copyright © Michael Piefel <piefel@informatik.hu-berlin.de>, 2002, 2004, 2005, 2007, 2008.
+# Copyright © 2011 Philipp Thomas <pth@suse.de>
+# Copyright © 2012 Arun Persaud <arun@nubati.net>
+#
+# Note:
+# =====
+# Changes done by Karl Eichwalder are put into the Public Domain.
+# Mine too. MPi
+# And mine also pth
+# Same here AP
+#
+# As requested here is the unmodified header:
+#
+# -=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-
+# German translation for util-linux.
+# Copyright (C) 1999, 2000, 2001 Elrond <Elrond@Wunder-Nett.org>.
+# Elrond <Elrond@Wunder-Nett.org>, 1999-2001.
+#
+# $Revision: 1.42 $
+#
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided, that this
+# header is not removed and modified versions are marked
+# as such.
+#
+# If you have additions/changes/other requests, please
+# send them to me (Elrond <Elrond@Wunder-Nett.org>)!
+#
+# People who helped or contributed (in historical order):
+# Martin Schulze <joey@infodrom.north.de>
+# Daniel Egger <Daniel.Egger@suse.de>
+# deliA <deliA@Wunder-Nett.org>
+#
+# Submitted to the TP 2001-07-18 14:32:47 CEST -ke-
+#
+# -=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-
+#
+# Hinweise zur Ăśbersetzung:
+# =========================
+# command – Befehl
+# bad – beschädigt (z. B. „beschädigte Blöcke“)
+# bzw. ungültig (z. B. „ungültige ‚magic number†im Superblock“)
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.21-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2012-05-10 20:05-0700\n"
+"Last-Translator: Arun Persaud <arun@nubati.net>\n"
+"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "%s kann nicht geöffnet werden"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "ungĂĽltige ID"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "ungĂĽltige ID"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "Partitionstabelle erneut lesen"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "auf Nur-Lesen setzen"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "auf Lesen-Schreiben setzen"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "Nur-Lesen Status ermitteln"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr "die UnterstĂĽtzung vom Verwerfen von Nullen ermitteln"
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "logische Block bzw. Sektorgröße ermitteln"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "physische Block bzw. Sektorgröße ermitteln"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "minimale I/O Größe ermitteln"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "optimale I/O Größe ermitteln"
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr "Offset der Ausrichtung ermitteln"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "Max Anzahl Sektoren pro Anforderung ermitteln"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "Blockgröße ermitteln"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "Blockgröße setzen"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "32-Bit-Sektor-Zähler ermitteln (veraltet, bitte --getsz verwenden)"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "Größe in Bytes ermitteln"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "Readahead (vorausschauendes Lesen) setzen"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "Readahead ermitteln"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "Readahead (vorausschauendes Lesen) fĂĽr Dateisystem setzen"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "Readahead fĂĽr Dateisystem ermitteln"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "Puffer leeren"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "Partitionstabelle erneut einlesen"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+"\n"
+"Aufruf:\n"
+" %1$s -V\n"
+" %1$s --report [Geräte]\n"
+" %1$s [-v|-q] Befehle Geräte\n"
+"\n"
+"VerfĂĽgbare Befehle:\n"
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr " %-25s Größe in Anzahl von 512-Byte Sektoren ermitteln\n"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr "Die Größe der Festplatte konnte nicht ermittelt werden"
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr "Unbekannter Befehl: %s"
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr "%s benötigt ein Argument"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s ist gescheitert.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s erfolgreich beendet.\n"
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr "IOCTL-Fehler bei %s"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "NurL RA SGr BGr Startsek Größe Gerät\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "Aufruf: sfdisk --id Gerät Partitionsnummer [Id]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "Partitionstabelle erneut lesen"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "Aufruf:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tHINWEIS: elvtune funktioniert nur mit 2.4 Kerneln\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+"Kein blockorientiertes Gerät oder Datei angegeben, verwenden Sie -h für "
+"Hilfe\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune ist nur für ältere kernel sinnvoll;\n"
+"fĂĽr 2.6 muss man die Sysfs-Parameter fĂĽr den IO-Scheduler anpassen..\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatieren … "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "Beendet\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Überprüfen … "
+
+# This is from a perror()
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Lesen: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr ""
+"Problem beim Lesen von Zylinder %d, es wurde %d erwartet, aber %d gelesen\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Beschädigte Daten bei Zylinder %d\n"
+"Operation wird fortgesetzt … "
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Aufruf: %s [Optionen] Gerät\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options:\n"
+" -n, --no-verify ĂśberprĂĽfen nach Formatierung abschalten\n"
+" -V, --version Versionsinformationen ausgeben und beenden\n"
+" -h, --help Diese Hilfe ausgeben und beenden\n"
+"\n"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s von %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "Statusabfrage scheiterte: %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr "%s: kein blockorientiertes Gerät"
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr "Datei „%s“ konnte nicht geöffnet werden"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Das aktuelle Format konnte nicht festgestellt werden"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%sseitig, %d Spuren, %d Sektoren/Spur, Gesamtkapazität: %dkB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Doppel"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Einfach"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s ist eingehängt.\t"
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s: Nicht gefunden"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "Seek-Fehler"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Synchronisiere Platten.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s erfolgreich beendet.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "„seek“ gescheitert."
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "Seek-Fehler"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s: Nicht gefunden"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "„fork“ fehlgeschlagen\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: Fehler %d beim Entpacken! %p(%d)\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s ist kein lp-Gerät.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: unbekannter Dateisystemtyp „%s“"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "ĂśberprĂĽfung des Dateisystem auf %s erzwungen.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: %s ist kein lp-Gerät.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s ausgehängt\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Aushängen aller restlichen Dateisysteme…"
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Aushängen aller restlichen Dateisysteme…"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: Unbekanntes Argument: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Versionsinformation ausgeben\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+"ioctl gescheitert: die Größe des Gerätes kann nicht bestimmt werden: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "kein blockorientiertes Gerät oder Datei: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "Dateilänge ist zu kurz"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "lesen scheiterte: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "Superblock-Kennung wurde nicht gefunden"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "Die Byte-Reihenfolge des Cramfs ist %s\n"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr "groĂź"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr "klein"
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "nicht unterstĂĽtzte Dateisystem-Eigenschaften"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "Die GrĂ–Ăźe des Sujperblocks (%d) ist zu klein"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "Dateizähler ist Null"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Warnung: Die Datei reicht ĂĽber das Ende des Dateisystems hinaus\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "Warnung: altes Cramfs-Folrmat\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "CRC kann nicht getestet werden: altes Cramfs-Format"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "CRC Fehler"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "„root inode“ ist kein Verzeichnis"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "UngĂĽltiger Root-Offset (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "Datenblock ist zu groĂź"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "Dekompressionsfehler %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " Loch bei %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " entpacke Block bei %ld nach %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "Nicht-Block (%ld) Bytes"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "Nicht-Größe (%ld statt %ld) Bytes"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "Schreiben gescheitert: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown ist fehlgeschlagen: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown ist fehlgeschlagen: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime ist fehlgeschlagenun: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+"Verzeichnis-Inode hat einen Offset von Null aber eine Größe ungleich Null: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir ist fehlgeschlagenun: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "die Länge des Dateinamens ist Null"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "Die Länge des Dateinamens ist ungültig"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "ungĂĽltiger Inode-Offset"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "Datei-Inode hat keinen Offset aber eine Länge ungleich Null"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "Datei-Inode hat eine Größe von Null aber einen Offset ungleich Null"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "die symbolische VerknĂĽpfung hat einen Offset von Null"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "die symbolische Verknüpfung hat eine Größe von Null"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "Größenfehler in symbolischer Verknüpfung: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "Anlegen des symbolischen VerknĂĽpfung scheiterte: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "die besondere Datei hat einen Offset unglecih Null: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "FIFO hat Größe ungleich Null: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "Socket hat Größe ungleich Null: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "unsinniger Modus: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod ist fehlgeschlagen: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "Ende der Verzeichnisdaten (%ld) != Start der Datei-Daten (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "ungĂĽltiger Offset der Dateidaten"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "Das Programm wurde ohne UnterstĂĽtzung fĂĽr -x gebaut"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file Dumpdateiname ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "FĂĽr interaktive Reparaturen wird ein Terminal gebraucht."
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Versionsinformation ausgeben\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s ist eingehängt.\t"
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Möchten Sie wirklich fortfahren"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "ĂśberprĂĽfung abgebrochen. \n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zonennummer < FIRSTZONE in Datei „%s“."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zonennummer >= ZONES in Datei „%s“."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Block entfernen"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Lesefehler: kann nicht zu Block springen in Datei „%s“\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Fehler beim Lesen: beschädigter Block in Datei „%s“\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Interner Fehler: beim Versuch einen beschädigten Block zu schreiben\n"
+"Schreibanweisung ĂĽbergangen\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "„seek“ fehlgeschlagen in write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Fehler beim Schreiben: beschädigter Block in Datei „%s“\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "„seek“ failed in write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "Konnte den Superblock nicht schreiben"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Konnte die „inode map“ nicht schreiben"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Konnte die „zone map“ nicht schreiben"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Konnte die „inodes“ nicht schreiben"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "„seek“ gescheitert."
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "kein Speicherplatz fĂĽr Superblock verfĂĽgbar"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "Konnte den Superblock nicht lesen"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "Ungültige „magic number“ im Superblock"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Es werden nur Blöcke/Zonen von 1k Größe unterstützt"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "Ungültiger Wert im Feld „s_imap_block“ im Superblock"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "Ungültiger Wert im Feld „s_zmap_block“ im Superblock"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Kein Speicherplatz für „inode map“ verfügbar"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Kein Speicherplatz für „zone map“ verfügbar"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Kein Speicherplatz für „inodes“ verfügbar"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Kein Speicherplatz für „inode count“ verfügbar"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Kein Speicherplatz für „zone count“ verfügbar"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Kann „inode map“ nicht lesen"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Kann „zone map“ nicht lesen"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Kann „inodes“ nicht lesen."
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Warnung: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld Blöcke\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Erste Datenzone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonengröße=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxgröße=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Filesystem state=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"Namenslänge=%zd\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"Inode %d ist als unbenutzt gekennzeichnet, aber Datei „%s“ benutzt sie\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Inode als benutzt kennzeichnen"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Die Datei „%s“ hat Mode %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Warnung: „inode count“ zu groß.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "„root inode“ ist kein Verzeichnis"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Block wurde zuvor benutzt. Nun in Datei „%s“."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "ZurĂĽcksetzen"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Block %d in Datei „%s“ ist als unbenutzt markiert."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Korrigieren"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+"Das Verzeichnis „%s“ enthält eine ungültige Inode-Nummer für Datei „%.*s“."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Entfernen"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: ungültiges Verzeichnis: „.“ kommt nicht zuerst\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: ungültiges Verzeichnis: „..“ kommt nicht als zweites\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "interner Fehler"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: ungültiges Verzeichnis: Größe < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "seek in bad_zone fehlgeschlagen"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Modus von Inode %lu nicht zurĂĽckgesetzt."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inode %lu wird nicht benutzt aber in der Bitmap als benutzt markiert."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inode %lu wird benutzt, ist aber in der Bitmap als unbenutzt markiert."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Setzen"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %lu (Modus = %07o), i_nlinks=%d, gezählt=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Setze i_nlinks auf Zähler"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zone %lu: als benutzt markiert aber keine Datei benutzt sie."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Mark. entf."
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zone %lu: in Benutzung, gezählt=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zone %lu: nicht in Benutzung, gezählt=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "ungültige Inode-Größe"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "ungültige V2-Inode-Größe"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "FĂĽr interaktive Reparaturen wird ein Terminal gebraucht."
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "%s kann nicht geöffnet werden"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s ist in Ordnung, keine ĂśberprĂĽfung.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "ĂśberprĂĽfung des Dateisystem auf %s erzwungen.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Dateisystem auf %s ist gestört (dirty), Überprüfung erforderlich.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld INodes benutzten (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones benutzten (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d reguläre Dateien\n"
+"%6d Verzeichnisse\n"
+"%6d zeichenorientierte Geräte\n"
+"%6d blockorientierte Geräte\n"
+"%6d VerknĂĽpfungen\n"
+"%6d symbolische VerknĂĽpfungen\n"
+"------\n"
+"%6d Dateien\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"--------------------------\n"
+"DATEISYSTEM WURDE GEĂ„NDERT\n"
+"--------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr "Suchfehler auf %s"
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr "Fehler beim Lesen auf %s"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "Sektoranzahl: %d, Sektorgröße: %d\n"
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+"\n"
+"Aufruf:\n"
+" %s [Optionen] iso9660_abbilddatei\n"
+
+#: disk-utils/isosize.c:160
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Optionen:\n"
+" -d, --divisor=NUM Bytes durch NUM teilen\n"
+" -x, --sectors GrĂ–Ăźe und Anzahl der Sektoren anzeigen\n"
+" -V, --version Versionsinformationen ausgeben und Programm beenden\n"
+" -H, --help Diese Hilfe ausgeben ausgeben und Programm beenden\n"
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Aufruf: %s [Optionen] Gerät [Blockanzahl]\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM GewĂĽnschte Anzahl der Inodes angeben\n"
+" -V, --vname=NAME Volumenamen angeben\n"
+" -F, --fname=NAME Namen des Dateisystems angeben\n"
+" -v, --verbose AusfĂĽhrliche Angaben zur Arbeit manchen\n"
+" -c Diese Option wird stillschweigend ignoriert\n"
+" -l Diese Option wird stillschweigend ignoriert\n"
+" -V, --version Versionsinformationen ausgeben und Prgramm beenden\n"
+" Ausser -V darf keine anderer Option angegeben werden\n"
+" -h, --help Diese Hilfe ausgeben und Prgramm beenden\n"
+"\n"
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr "UngĂĽltige Anzahl von Inodes"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "Name des Volumes ist zu lang"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "Der Name des Dateisystems ist zu lang"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ist kein blockorientiertes Gerät"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr "ungültige Anzahl von Blöcken"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "„blocks“-Argument zu groß, max ist %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "zu viele Inodes – Maximum ist 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "nicht genügend Platz, es werden wenigstens %llu Blöcke benötigt"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Gerät: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "DSName: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blockgröße: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inodes: %lu (in 1 Block)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inodes: %lu (in %llu Blöcken)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blöcke: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode-Ende: %d, Datenende: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "Fehler beim Schreiben des Superblocks"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "Fehler beim Schreiben der Root-Inode"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "Fehler beim Schreiben der Inode"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "Seek-Fehler"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "Fehler beim Schreiben des „.“-Eintrags"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "Fehler beim Schreiben des „..“-Eintrags"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "Fehler beim SchlieĂźen von %s"
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "Aufruf: %s [Optionen] [-t FS-Typ] [FS-Optionen] Gerät [Größe]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE Typ des Dateisystems. Ohne Angabe wird ext2 verwendet\n"
+" fs-options Parameter für den tatsächlichen Dateisystemerzeuger\n"
+" device Pfad zum Geträt\n"
+" size Anzahl der Blöcke auf dem Gerät\n"
+" -V, --verbose AusfĂĽhrliche Angabe ĂĽber die ausgefĂĽhrten Aufgaben\n"
+" wird -V mehrmals angegeben, läuft das Programm ab, ohne\n"
+" etwas zu ändern\n"
+" -V, --version Ausgabe der Versionsinformationen und beenden des "
+"Programms\n"
+" -V muss ohne weitere Optionen angegeben werden\n"
+" -h, --help Ausgabe dieser Hilfe und bbenden des Programms\n"
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe mkfs(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"Aufruf: %s [-h] [-v] [-b Blockgröße] [-e Edition] [-N Bytereihenfolge] [-i "
+"Datei] [-n Name] Verzeichnisname ausdatei\n"
+" -h diese Hilfe ausgeben\n"
+" -v wortreich sein\n"
+" -E alle Warnungen zu Fehlern machen (von 0 versch. Exit-"
+"Status)\n"
+" -b BlockgrÖsse Diese Blockgröße verwenden, muss gleich der Seitengröße "
+"sein\n"
+" -e edition Editions-Nummer setzen (Teil der fsid)\n"
+" -i datei ein Dateiabbild in das Dateisystem einfĂĽgen\n"
+" (benötigt Kernel >= 2.4.0)\n"
+" -n Name Name des Cramfs-Dateisystems setzen\n"
+" -p Mit %d Bytes fĂĽr Boot-Code auffĂĽllen\n"
+" -s Verzeichniseinträge sortieren (alte Option, ignoriert)\n"
+" -z Explizite Löcher erzzeugen (benötigt Kernel >= 2.3.39)\n"
+" Verzeichnisname Wurzel des zu komprimierenden Dateisystems\n"
+" ausdatei Ausgabedatei\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr "Das Verzeichnis »%s« konnte nicht gelesen werden"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Sehr langen (%zu Bytes) Dateinamen „%s“ gefunden.\n"
+" Bitte eröhen Sie MAX_INPUT_NAMELEN in mkcramfs.c und kompilieren Sie\n"
+" das Programm erneut. Arbeit wird abgebrochen.FF"
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr "Ds Dateisystem ist zu groĂź. Abbruch."
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: Block auf > 2×Blocklänge (%ld) „komprimiert“\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld Bytes)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr "Datei „%s“ konnte nicht geöffnet werden"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "ungĂĽltige ID"
+
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr "Die angegebene Editionsnummer wird nicht akzeptiert"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+"ungültige Bytereihenfolge angegeben. Es können nur »big«, »little« \n"
+"oder »host« angegeben werden"
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"Warnung: Grobschätzung der benötigten Größe (obere Schranke) ist %lldMB, "
+"aber maximale Abbild-Größe ist %uMB. Das Programm könnte frühzeitig "
+"abbrechen."
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "ROM Abbild-Datei"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "EinschlieĂźlich: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Verzeichnisdaten: %zd Bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Alles: %zd Kilobytes\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblock: %zd Bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"nicht genug Raum fĂĽr ROM-Abbild bereitgestellt (%lld bereitgestellt, %zu "
+"benutzt)"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "ROM Abbild"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "Schreiben des ROM-Abbilds fehlgeschlagen (%zd %zd)"
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "Warnung: Dateiname auf 255 Bytes abgeschnitten."
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr "Warnung: Dateien wurden wegen Fehlern ĂĽbersprungen."
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "Warnung: Dateigrößen abgeschnitten auf %luMB (minus 1 Byte)."
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"Warnung: UIDs abgeschnitten auf %u Bits. (Dies könnte ein Sicherheitsrisiko "
+"sein.)"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"Warnung: GIDs abgeschnitten auf %u Bits. (Dies könnte ein Sicherheitsrisiko "
+"sein.)"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"WARNUNG: Gerätenummern abgeschnitten auf %u Bits. Daher werden mit an \n"
+"Sicherheit grenzender Wahrscheinlichkeit einige Gerätedateien falsch sein."
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Aufruf: %s [-c | -l Dateiname] [-nXX] [-iXX] /dev/Name [Blöcke]"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s ist eingehängt; daher wird hier kein Dateisystem angelegt!"
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "%s: Springen zu Bootblock fehlgeschlagen in write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%s: der Bootsektor kann nicht gelöscht werden"
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "%s: seek in write_tables fehlgeschlagen"
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr "%s: der Superblock nicht geschrieben werden"
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr "%s: die Inode-Tabellen kann nicht geschrieben werden"
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr "%s: die Zonentabelle kann nicht geschrieben werden"
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr "%s: die Inodes können nicht geschrieben werden"
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s: „seek“ in write_block fehlgeschlagen"
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr "%s: Schreiben ist fehlgeschlagen in write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr "%s: zu viele beschädigte Blöcke"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr "%s: nicht genügend gute Blöcke"
+
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "%s: der Puffer fĂĽr den Superblock kann nicht reserviert werden"
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "%s: der Puffer fĂĽr die Tabellen kann nicht nicht reserviert werden"
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "%s: der Puffer fĂĽr die Inodes kann nicht reserviert werden"
+
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr "%lu Inodes\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr "%lu Blöcke\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxgröße=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "%s: Seek fehlgeschlagen während der Blocküberprüfung"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "MerkwĂĽrdige Werte in do_check: wahrscheinlich Fehler\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s: Seek fehlgeschlagen in check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"%s: beschädigte Blöcke vor dem Datenbereich: kann kein Dateisystem herstellen"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d beschädigte Blöcke\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "ein beschädigter Block\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s: die Datei mit beschädigten Blöcken kan nicht geöffnet werden"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+"Fehler beim Einlsen des Wertes für die Anzahl schlechter Böcke in Zeile %d\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s: Die Datei mit den beschädigten Blöcken konnte nicht gelesen werden"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr "%s: ungültige Inode-Größe"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol-Fehler: Anzahl der Blöcke nicht angegeben"
+
+# XXX - I did have a better one for busy
+# libc.po:
+# "Device or resource busy"
+# "Das Gerät oder die Ressource ist belegt"
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr "%s: Das Gerät ist nicht korrekt ausgerichtet"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "die Blocköße ist kleiner als die phyasische Sektorgröße %s"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "Es wird nicht versucht, ein Dateisystem auf „%s“ zu erzeugen"
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr "%s: die Anzahl der Blöcke ist zu klein"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Ungültige nutzerdefinierte Seitengröße %lu"
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"die nutzerdefinierte Seitengröße %d wird anstelle des Systemwerts %d "
+"verwendet"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr "Ungültige Swap-Headergröße, kein Label wurde geschrieben."
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr "Label wurde abgeschnitten."
+
+# dito
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "kein Label, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "keine UUID\n"
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+"\n"
+"Aufruf: \n"
+"%s [Optionen] Gerät [Größe]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Optionen:\n"
+" -c, --check vor dem Erzeugen des Auslagerungsbereichs wird\n"
+" auf beschädigte Blöcke geprüft\n"
+" -f, --force Auslagerungsbereich darf größer als das Gerät "
+"sein\n"
+" -p, --pagesize SIZE Größe der Speicherseiten in Bytes\n"
+" -L, --label LABEL Zu verwendendes Label angeben\n"
+" -v, --swapversion NUM Version des Swapbereichs angeben\n"
+" -U, --uuid UUID zu verwendende UUID angeben\n"
+" -V, --version Versionsinformation ausgeben und das Programm "
+"beenden\n"
+" -h, --help Diese Hilfe ausgeben und das Programm beenden\n"
+"\n"
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "Zu viele beschädigte „Seiten“"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "Seek fehlgeschlagen in check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "Eine beschädigte „Seite“\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu beschädigte Seiten\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "kein Speicherplatz fĂĽr neue libblkid-Probe verfĂĽgbar"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "kann Puffer fĂĽr Inodes nicht reservieren"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "kann Bootsektor nicht löschen"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "kann Bootsektor nicht löschen"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (%s Partitionstablle gefunden). "
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s komplettes Disklabel zeigen"
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (ohne libblkid kompiliert)."
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "„seek“ gescheitert."
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "zugewiesene Semaphoren = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: Fehler: unbekannte Version %d\n"
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "Fehler: UUID parsen fehlgeschlagen"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr ""
+"%s: Es wurde nicht angegeben, wo der Swapbereich angelegt werden soll.\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "ungĂĽltige ID"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr ""
+"%s: Fehler: Die angegebene Größe %lu ist größer als die des Gerätes: %lu\n"
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "Fehler: Der Swapbereich muss mindestens %ld KiB groĂź sein"
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "Warnung: Der Swapbereich wird nur mit der Größe %llu KiB angelegt"
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "Fehler: %s ist eingehängt; es wird kein Swap angelegt."
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr "Warnung: %s ist nicht korrekt ausgerichtet"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Es ist nicht möglich, einen Swapbereich einzurichten: nicht lesbar"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Swapbereich Version 1 wird angelegt, Größe = %llu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: kann Signaturseite nicht schreiben"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "kann keinen neuen SE-Linux-Kontext anlegen"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "konnte SE-Linux-Kontext nicht berechnen"
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr "konnte %s nicht in %s umbenennen"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Partitionsnummer"
+
+# "Nur die Partitionstabelle ausgeben" (joey)
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Einfach die Tabelle ausgeben"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "Schreiben der Partition auf %s fehlgeschlagen\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Anzahl der Sektoren"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Partitionsnummer"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d Partitionen:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Die Partitionstabelle wird auf die Festplatte geschrieben…"
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d Partitionen:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# Partitionstabelle von %s\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: Konnte kein freies „loop“-Gerät finden"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: werde das „loop“-Gerät %s verwenden\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Unbekannter Befehl: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "Seek fehlgeschlagen in write_tables"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Partition %d ausgewählt\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Keine Partitionen definiert\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Diese Partition existiert bereits.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Partition %d ausgewählt\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "is nicht enthalten in Partition %s\n"
+
+# XXX – Merge with next strings.
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Warnung: Partitionen %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Keine Partitionen definiert\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "„seek“ gescheitert."
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "Partitionstabelle erneut lesen"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p Die BSD-Partitionstabelle anzeigen"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "Festplatte %s enthält keine gültige Partitionstabelle\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "VerfĂĽgbare Befehle:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Eine leere Partition kann nicht gelöscht werden"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+# This one should be merged with the next one by using
+# error() instead of printf()
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Konnte die Lock-Datei %s nicht sperren: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "»%s« ist kein blockorientiertes Gerät\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "Die Angegebene Blockgröße ist unverständlich"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "kann nicht auf Gerät %s zugreifen"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "kann nicht auf Gerät %s zugreifen"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s ist kein zeichenorientiertes Gerät"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s ist kein blockorientiertes Gerät"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "Fehler beim Stoppen des Service „%s“"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "Fehler beim Stoppen des Service „%s“"
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "Aufruf: sfdisk --id Gerät Partitionsnummer [Id]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "Seek fehlgeschlagen in write_tables"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "Partitionstabelle erneut lesen"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: keine zulässige Swappartition"
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: Swapversion »%s« nicht unterstützt"
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr "Fehler beim Parsen von UUIDĂ– %s"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: Fehler beim Schreiben der UUID"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "Seek fehlgeschlagen in write_tables"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Speicher ist aufgebraucht!\n"
+
+# "Unbrauchbar"
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Unbenutzbar"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Freier Bereich"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Festplatte wurde verändert.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Rebooten Sie das System, um sicherzustellen, dass die Partitionstabelle neu "
+"gelesen wird.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"WARNUNG: Wenn Sie eine DOS-6.x-Partition angelegt\n"
+"oder verändert haben, dann schauen Sie bitte in die\n"
+"cfdisk-manual-Seite nach weiteren Informationen\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "FATALER FEHLER"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Eine Taste drĂĽcken, um cfdisk zu beenden"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Konnte „seek()“ nicht auf der Festplatte benutzen"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Konnte nicht von der Festplatte lesen"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Konnte nicht auf die Festplatte schreiben"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Zu viele Partitionen"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Partition fängt vor Sektor 0 an"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Partition endet vor Sektor 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Partition fängt hinter dem Ende der Festplatte an"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Partition endet hinter dem Ende der Festplatte"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "logische Partitionen nicht in Platten-Reihenfolge"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "logische Partitionen ĂĽberlappen"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "vergrößerte logische Partitionen überlappen"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!! Interner Fehler beim Erzeugen einer log. Part. ohne eine erw. Part. !!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Kann hier keine log. Part. anlegen -- eine zweite erw. mĂĽsste erzeugt werden."
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menüeintrag ist zu lang. Das Menü könnte ungewöhnlich aussehen"
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Diese Taste ist hier nicht verwendbar"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Eine Taste drĂĽcken, um fortzufahren"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primäre"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Erzeuge eine neue primäre Partition"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logische"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Erzeuge eine neue logische Partition"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Abbruch"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Erzeuge keine neue Partition"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Interner Fehler !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Größe (in MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Anfang"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Erzeuge Partition am Anfang des freien Bereiches"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Ende"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Erzeuge Partition am Ende des freien Bereiches"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Kein Platz, um die erweiterte Partition anzulegen"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Keine Partitionstabelle.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Keine Partitionstabelle. Fange mit Null-Tabelle an."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "UngĂĽltige Signatur an Partitionstabelle"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Unbekannter Partitionstabellentyp"
+
+# If rpmatch is available, â€j’ for “ja” will do. If not, my translation
+# is wrong. Anyway, I opt for a full-featured C library.
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Möchten Sie mit einer Null-Tabelle beginnen [j/N]"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Sie haben mehr Zylinder angegeben, als auf die Festplatte passen"
+
+# That's not a direct translation, but I've tried to be
+# more informative.
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Konnte nicht auf die Festplatte zugreifen"
+
+# "Nur lesender Zugriff möglich – Sie haben keine Schreibberechtigung" (joey)
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+"Platte wurde nur zum Lesen geöffnet – Sie haben keine Rechte zum Schreiben"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Konnte die Größe der Festplatte nicht feststellen"
+
+# "Ungültige primäre Partition"
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Beschädigte primäre Partition"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Beschädigte logische Partition"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Warnung!! Dies kann Daten auf der Festplatte zerstören!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Sind Sie sicher, dass Sie die Partitionstabelle schreiben wollen?\n"
+"(„ja“ oder „nein“): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "nein"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Die Partitionstabelle wurde nicht auf die Festplatte geschrieben"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "ja"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Bitte „ja“ oder „nein“ eingeben"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Die Partitionstabelle wird auf die Festplatte geschrieben…"
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Die Partitionstabelle wurde auf die Festplatte geschrieben"
+
+# That's not a good translation, but I guess, I can't make it longer.
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Die Tabelle wurde geschr., aber das Neueinlesen schlug fehl. Rebooten Sie."
+
+# This one isn't really correct.
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Keine primäre Partition als bootfähig markiert; der DOS-MBR kann nicht "
+"booten."
+
+# This one isn't really correct.
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Mehrere Partitionen sind als bootfähig markiert; der DOS-MBR kann nicht "
+"booten."
+
+# "Geben sie einen Dateinamen ein oder drĂĽcken Sie Return, um es auf dem Bildschirm anzuzeigen: "
+# is too long
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Dateiname oder Return um es auf dem Bildschirm anzuzeigen: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Festplatte: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Keine "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primäre"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logische"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Boot"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Kein"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitionstabelle von %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Erster Letzter\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Typ Sektor Sektor Offset Länge Dateisystemtyp (ID) "
+"Flags\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"-----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr ""
+" ---Anfang------ -----Ende------ Anfangs- Anzahl der\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Flags Kopf Sekt Zyl. ID Kopf Sekt Zyl Sektor Sektoren\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "„Roh“"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Die „rohen“ Daten der Tabelle ausgeben"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektoren"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Die Tabelle nach Sektoren sortiert ausgeben"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabelle"
+
+# "Nur die Partitionstabelle ausgeben" (joey)
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Einfach die Tabelle ausgeben"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Zeige die Tabelle nicht an"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Hilfe fĂĽr cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Dies ist cfdisk, ein Programm das curses benutzt und es ihnen"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "erlaubt, auf Ihren Festplatten Partitionen anzulegen, zu löschen"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "und zu verändern."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+# "Befehl"
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Befehl Bedeutung"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "-------- ---------"
+
+# " b Wechselt zwischen bootfähig und nicht bootfähig."
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr ""
+" b (De)Aktivieren des bootfähig-flags der aktuellen Partition"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Die aktuelle Partition löschen"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+" g Die Anzahl der Zylinder, Köpfe und Sektoren pro Spur ändern"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " WARNUNG: Diese Funktion sollte nur von Leuten benutzt"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " werden, die wissen, was sie tun."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Diese Hilfe anzeigen"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maximieren der Nutzung der aktuellen Partition"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr ""
+" Beachten Sie, dass dies die Partition nicht mehr kompatibel"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " zu DOS, OS/2, … machen kann"
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Aus dem freien Bereich eine neue Partition erzeugen"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr ""
+" p Die Partitionstab. auf dem Bildschirm oder in eine Datei "
+"ausgeben"
+
+# "verschiedene"
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Es gibt mehrere Formate fĂĽr die Partitionstabelle, aus"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " denen man wählen kann"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r – „Rohe“ Daten (was auf die Festplatte geschrieben würde)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s – Tabelle nach Sektoren sortiert"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t – Tabelle mit den reinen Daten"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr ""
+" q Das Programm beenden ohne die Partitionstabelle zu schreiben"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Den Dateisystemtyp ändern"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Einheit für die Größenanzeige ändern"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Wechselt zwischen MB, Sektoren und Zylindern"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W Die Partitionstabelle auf die Festplatte schreiben (groĂźes W)"
+
+# or "Da dieses …" ?
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Da dies Daten auf der Festplatte zerstören kann, müssen"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " Sie das Schreiben mit „yes“ oder „no“ bestätigen oder"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " ablehnen"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Pfeil-hoch Den Cursor zur vorherigen Partition bewegen"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Pfeil-runter Den Cursor zur nächsten Partition bewegen"
+
+# "Baut den Bildschirm neu auf"
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "Strg-L Zeichnet den Bildschirm erneut"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Diese Hilfe anzeigen"
+
+# "Hinweis"
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Hinweis: Alle Befehle können mit Klein- oder Großbuchstaben "
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "eingegeben werden (auĂźer W zum Schreiben)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr " Zylinder"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Die Anzahl der Zylinder ändern"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Köpfe"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Die Anzahl der Köpfe ändern"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Die Anzahl der Sektoren pro Spur ändern"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Fertig"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Ă„ndern der Geometrie beenden"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Geben Sie die Anzahl der Zylinder ein: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "UngĂĽltiger Wert fĂĽr die Anzahl der Zylinder"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Geben Sie die Anzahl der Köpfe ein: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Ungültiger Wert für die Anzahl der Köpfe"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Geben Sie die Anzahl der Sektoren pro Spur ein: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "UngĂĽltiger Wert fĂĽr die Anzahl der Sektoren"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Der Dateisystemtyp kann nicht auf „leer“ gesetzt werden"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Der Dateisystemtyp kann nicht auf „erweitert“ gesetzt werden"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unb(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Unbekannt (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Festplatte: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Größe: %lld Bytes, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Größe: %lld Bytes, %lld,%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Köpfe: %d Sektoren pro Spur: %d Zylinder: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Name"
+
+# I currently don't know a better translation
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Flags"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Part. Typ"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Dateisystemtyp"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Bezeichner]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sektoren"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Zylinder"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Größe (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Größe (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Keine weiteren Partitionen"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr " Bootbar"
+
+# "Bootfähigkeit der aktuellen Partition ändern" (joey)
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "(De)Aktivieren des bootfähig-flags der aktuellen Partition"
+
+# "Löschen"
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Löschen"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Die aktuelle Partition löschen"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometrie"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Die Festplattengeometrieparameter ändern (nur für Experten)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Hilfe"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Die Hilfe anzeigen"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maxim."
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maximieren der Nutzung der aktuellen Partition (nur fĂĽr Experten)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Neue"
+
+# "Erzeuge aus dem freien Bereich eine neue Partition"
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Neue Partition im freiem Bereich anlegen"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Ausgabe"
+
+# "Gib die Partitionstabelle auf dem Bildschirm oder in eine Datei aus"
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Partitionstabelle auf dem Bildschirm oder in Datei ausgeben"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Ende"
+
+# "Beende das Programm ohne die Partitionstabelle zu schreiben"
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Das Programm beenden, ohne die Partitionstabelle zu speichern"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Typ"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Den Typ des Dateisystems (DOS, Linux, OS/2, etc.) ändern"
+
+# Maybe without the dot.
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Einheit."
+
+# "Ändert die Einheiten der Größenanzeige ("
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Zwischen den Einheiten für die Größenanzeige wechseln (MB, Sekt., Zyl.)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Schreib."
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Die Partitionstabelle schreiben (dies kann Daten zerstören)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Diese Partition kann nicht als bootfähig markiert werden"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Eine leere Partition kann nicht gelöscht werden"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Die Nutzung dieser Partition kann nicht maximiert werden"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Diese Partition ist unbenutzbar"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Diese Partition ist bereits in Benutzung"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Der Dateisystemtyp einer leeren Partition kann nicht geändert werden"
+
+# "UngĂĽltige Taste"
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Unzulässiger Befehl"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Aufruf:\n"
+"Ausgabe der Version:\n"
+" %s -v\n"
+"Ausgabe der Partitionstabelle:\n"
+" %s -P {r|s|t} [Optionen] GERĂ„TEDATEI\n"
+"Interaktive Benutzung:\n"
+" %s [Optionen] GERĂ„TEDATEI\n"
+"\n"
+"Optionen:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr "Die Anzahl der Zylinder ändern"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "es ist nicht möglich, %s zu öffnen"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "es ist nicht möglich, %s zu öffnen"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tEs gibt ein AIX-Label auf dieser Platte.\n"
+"\tDiese können leider von Linux momentan nicht\n"
+"\tgehandhabt werden. Dennoch einige Hinweise:\n"
+"\t1. fdisk wird den Inhalt beim Schreiben zerstören\n"
+"\t2. Stellen Sie sicher, dass diese Platte NICHT noch\n"
+"\t immer ein wichtiger Teil einer Plattengruppe ist.\n"
+"\t (Anderenfalls könnte diese Platten mitgelöscht\n"
+"\t werden, wenn sie nicht gespiegelt werden.)\n"
+"\t3. Bevor Sie diese physische Platte löschen, entfernen\n"
+"\t Sie sie unbedingt logisch aus Ihrer AIX-Maschine.\n"
+"\t (Anderenfalls werden Sie ein AIXperte.)"
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tTut mir leid, dieses fdisk kann nicht mit AIX-Disklabels umgehen.\n"
+"\tWenn Sie Partitionen vom Typ DOS hinzufĂĽgen wollen, erstellen Sie\n"
+"\tzuerst eine neue, leere DOS-Partitionstabelle (mit o).\n"
+"\tWARNUNG: Das zerstört den momentanen Inhalt Ihrer Platte.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"„BSD label“ für Gerät: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Schreibe „disklabel“ auf %s.\n"
+
+# %s can be "Sektor" or "Zylinder".
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Erster %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Letzter %s oder +Größe, +GrößeK oder +GrößeM"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s enthält keinen „disklabel“.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Wollen Sie einen „disklabel“ anlegen (y/n)? "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partition %s hat einen ungĂĽltigen Startsektor 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lese Disklabel von %s bei Sektor %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Es gibt keine *BSD-Partition auf %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "„BSD disklabel“ Befehl (m für Hilfe): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "Typ: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "Typ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "Festplatte: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "Label: %.*s\n"
+
+# I currently don't know a better translation
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "Flags:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " entfernbar"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "Bytes/Sektor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "Sektoren/Spur: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "Spuren/Zylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "Sektoren/Zylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "Zylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "U/min: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "Interleave: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "Spurabweichung: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "Zylinderabweichung: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "Kopfwechsel: %ld\t\t# Millisekunden\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "Spur-zu-Spur-Wechsel: %ld\t# Millisekunden\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d Partitionen:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# Anfang Ende Größe Typ [fsize bsize cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "Bytes/Sektor"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "Sektoren/Spur"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "Spuren/Zylinder"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "Zylinder"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "Sektoren/Zylinder"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Muss <= Sektoren/Spur Ă— Spuren/Zylinder sein (Voreinstellung).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "U/min"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "Interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "Spurverschiebung"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "Zylinderverschiebung"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "Kopfwechsel"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "Spurâ€zuâ€Spurâ€Wechsel"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap ĂĽberlappt mit Disklabel!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap auf %s installiert.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partition (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Die maximale Anzahl von Partitionen wurde erzeugt\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Diese Partition existiert bereits.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Warnung: zu viele Partitionen (%d, Maximum ist %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synchronisiere Platten.\n"
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr "(De)Aktivieren des bootfähig-Flags"
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr "(De)Aktivieren eines Nur-Lese-Flags"
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr "Wählen der bootfähigen Partition"
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr "Die Anzahl der alternierenden Zylinder ändern"
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr "„bsd disklabel“ bearbeiten"
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr "Bearbeiten des „bootfile“-Eintrags"
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr "Den Datenanfang einer Partition verschieben"
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr "(De)Aktivieren des DOS Kompatibilitätsflags"
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr "(De)Aktivieren des Mountable(Einhängbarkeit)-Flags"
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr "Die sgi-swap-Partition auswählen"
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr "Die Anzahl der Zylinder ändern"
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr "Eine Partition löschen"
+
+# XXX
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr "Die „raw“-Daten der Partitionstabelle anzeigen"
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr "Die Anzahl der Extra-Sektoren pro Zylinder ändern"
+
+# XXX – Or should this be "logical" instead of "extended" ?
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr "Erweiterte Partitionen anzeigen"
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr "Plattendaten editieren"
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr "Partitionsreihenfolge korrigieren"
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr "Eine IRIX-Partitionstabelle (SGI) anlegen"
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr "Die Anzahl der Köpfe ändern"
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr "Den Interleave-Faktor ändern"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " i Die Einheit für die Anzeige/Eingabe ändern"
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr "Bootstrap installieren"
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr "Die bekannten Dateisystemtypen anzeigen"
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr "Dieses MenĂĽ anzeigen"
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr "Eine neue Partition anlegen"
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr "Eine neue leere DOS Partitionstabelle anlegen"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr "Umdrehungsgeschwindigkeit ändern (U/min)"
+
+# "Nur die Partitionstabelle ausgeben" (joey)
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr "Die Partitionstabelle ausgeben"
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr "Ende ohne Speichern der Ă„nderungen"
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr "ZurĂĽck zum HauptmenĂĽ"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr "Einen neuen leeren „Sun disklabel“ anlegen"
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr "Die Anzahl der Sektoren/Spur ändern"
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr "komplettes Disklabel zeigen"
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr "Den Dateisystemtyp einer Partition ändern"
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr "Die Einheit für die Anzeige/Eingabe ändern"
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr "Die Partitionstabelle ĂĽberprĂĽfen"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr "Die Tabelle auf die Festplatte schreiben und das Programm beenden"
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr "Disklabel auf Platte schreiben"
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr "Zusätzliche Funktionen (nur für Experten)"
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr "BSD-Partition mit Nicht-BSD-Partition verknĂĽpfen"
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr "Die Anzahl der physischen Zylinder ändern"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr "Konnte %s nicht lesen"
+
+# "Konnte in %s nicht positionieren"
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr "Konnte in %s nicht positionieren"
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr "Konnte %s nicht schreiben"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE-IOCTL fehlgeschlagen bei %s"
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr "Fataler Fehler"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Befehl Bedeutung"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Sie mĂĽssen angeben"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "Köpfe"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "Sektoren"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Sie können dies im Zusatzfunktionsmenü tun.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " und "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr "Möchten Sie wirklich beenden? "
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Hex code (L um eine Liste anzuzeigen): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, Vorgabe: %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Benutze den Standardwert %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Wert auĂźerhalb des Bereichs.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Partitionsnummer"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Warnung: Partition %d hat leeren Typ\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partition %d ausgewählt\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Noch keine Partition definiert!\n"
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "Zylinder"
+msgstr[1] "Zylinder"
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "Sektor"
+msgstr[1] "Sektoren"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Die Einheit fĂĽr die Anzeige/Eingabe ist nun %s\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Ă„ndere die Einheit fĂĽr die Anzeige/Eingabe in Sektoren\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "WARNUNG: Partition %d ist eine erweiterte Partition\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOS-Kompatibilitätsflag ist gesetzt\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-Kompatibilitätsflag ist nicht gesetzt\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Partition %d hat keinen Datenbereich\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partition %d existiert noch nicht!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Typ 0 bedeutet fĂĽr viele Systeme (allerdings nicht\n"
+"Linux) freien Platz. Partitionen mit Typ 0 zu haben\n"
+"ist wahrscheinlich unklug. Sie können eine Partition\n"
+"mit dem „d“-Kommando löschen.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Es ist nicht möglich, eine Partition in eine Erweiterte zu ändern oder\n"
+"umgekehrt. Bitte löschen Sie die Partition zuerst.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Ziehen Sie in Betracht, Partition 3 als „Whole disk“ (ganze Platte, 5)\n"
+"zu lassen, wie es SunOS/Solaris erwartet und sogar Linux es mag.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Ziehen Sie in Betracht, Partition 9 als „Volume Header“ (5) und Partition "
+"11\n"
+"als gesamte Platte zu lassen, wie es IRIX erwartet.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Der Dateisystemtyp der Partition %d ist nun %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Der Dateisystemtyp der Partition %d ist nun %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "Partition %d hat unterschiedliche phys./log. Anfänge (nicht-Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " phys=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logisch=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partition %d hat unterschiedliche phys./log. Enden:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partition %i endet nicht an einer Zylindergrenze.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Partition %i beginnt nicht an einer Zylindergrenze:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Platte %s: %ld MByte, %lld Byte\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Platte %s: %ld.%ld GByte, %lld Byte\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", zusammen %llu Sektoren"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d Köpfe, %llu Sektoren/Spur, %d Zylinder"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Einheiten = %s von %d Ă— %d = %d Bytes\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "ungültige INode-Größe"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Keine Ă„nderungen notwendig. Die Anordnung ist schon korrekt.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Fertig\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Das sieht nicht wie eine Partitionstabelle aus.\n"
+"Sie haben wahrscheinlich das falsche Gerät ausgewählt.\n"
+"\n"
+
+# add 1 space to line up:
+# " Device"
+# " Gerät"
+# 2002-05-10 12:15:13 CEST -ke-
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s boot. Anfang Ende Blöcke Id System\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Gerät"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partitionstabelleneinträge sind nicht in Platten-Reihenfolge\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Festplatte %s: %d Köpfe, %llu Sektoren, %d Zylinder\n"
+"\n"
+
+# Ist "Kp" eine gute AbkĂĽrzung fĂĽr "Kopf" ?
+# Kf ist besser (2001-11-24 21:30:51 CET -ke-)
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr AF Kp Sek Zyl Kp Sek Zyl Anfang Größe ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Warnung: Partition %d enthält Sektor 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partition %d: Kopf %d größer als Maximum %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partition %d: Sektor %d größer als Maximum %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partition %d: Zylinder %d größer als Maximum %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Partition %d: verheriger Sektor %d widerspricht sich mit gesamt %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Partition %d existiert noch nicht!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Konnte nicht auf die Festplatte schreiben"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Die Partitionstabelle wurde verändert!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Rufe ioctl() um Partitionstabelle neu einzulesen.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"WARNUNG: Neueinlesen der Partitionstabelle fĂĽhrte zu Fehler %d: %s.\n"
+"Der Kernel benutzt noch die alte Tabelle.\n"
+"Die neue Tabelle wird beim nächsten Neustart verwendet.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"WARNUNG: Wenn Sie eine DOS 6.x Partition angelegt\n"
+"oder verändert haben, dann schauen Sie bitte in die\n"
+"fdisk-manual-Seite nach weiteren Informationen\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Fehler beim SchlieĂźen von Datei\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synchronisiere Platten.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partition %d hat keinen Datenbereich\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Neuer Datenanfang"
+
+# That sounds pretty ummm…
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Expertenkommando (m fĂĽr Hilfe): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Anzahl der Zylinder"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Anzahl der Köpfe"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Anzahl der Sektoren"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Warnung: setze Sektoren-Offset für DOS-Kompatibilität\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "Konnte %s nicht öffnen\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: Unbekannter Befehl\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Erstelle neue Sun-Bootsektoren. Die Ă„nderungen werden vorerst nur im "
+"Speicher\n"
+"gemacht, bis Sie sich entscheiden, sie zu schreiben. Danach ist natĂĽrlich "
+"der\n"
+"vorherige Inhalt unrettbar verloren.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Ein ODF/1-Disklabel auf %s entdeckt, gehe in Disklabel-Modus.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Befehl (m fĂĽr Hilfe): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Warnung: Option -b (Sektorengröße setzen) sollte nur mit einem\n"
+"angegebenen Gerät benutzt werden\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Hinweis: Die Sektorgröße ist %d (nicht %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Festplatte %s enthält keine gültige Partitionstabelle\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Alle primären Partitionen sind schon definiert worden!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Ungültiges Offset in primärer erweiterter Partition\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Warnung: Lasse Partition hinter #%d aus.\n"
+"Sie werden gelöscht, wenn Sie diese Partitionstabelle schreiben.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Warnung: zusätzlicher Link-Pointer in Partitionstabelle %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Warnung: ignoriere weitere Daten in Partitionstabelle %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Ăśberspringe leere Partition (%d)\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Die zusätzliche erweiterte Partition %d ignorieren\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Warnung: Schreiben wird ungĂĽltiges Flag 0x%04x in Part.-tabelle %d "
+"korrigieren\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "Partition %d ist schon festgelegt. Vor Wiederanlegen bitte löschen.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu wird bereits benutzt\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Es sind keine freien Sektoren verfĂĽgbar\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Beschädigte logische Partition"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Warnung: ungĂĽltiger Anfang-der-Daten in Partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Warnung: Partition %d ĂĽberlappt mit Partition %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Warnung: Partition %d ist leer\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr ""
+"Logische Partition %d ist nicht vollständig in Partition %d enthalten\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Gesamtanzahl belegter Sektoren %ld größer als Maximum %lld\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld unbenutzte Sektoren\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Alle logischen Partitionen sind in Benutzung\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Alle logischen Partitionen sind in Benutzung\n"
+
+# "Ungültige primäre Partition"
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Füge primäre Partition hinzu\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr " l Logische Partition (5 oder größer)"
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr " e Erweiterte"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Benutze den Standardwert %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Ungültige Partitionsnummer für den Typ „%c“\n"
+
+#: fdisks/fdiskmaclabel.c:30
+#, fuzzy
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tEs gibt ein AIX-Label auf dieser Platte.\n"
+"\tDiese können leider von Linux momentan nicht\n"
+"\tgehandhabt werden. Dennoch einige Hinweise:\n"
+"\t1. fdisk wird den Inhalt beim Schreiben zerstören\n"
+"\t2. Stellen Sie sicher, dass diese Platte NICHT noch\n"
+"\t immer ein wichtiger Teil einer Plattengruppe ist.\n"
+"\t (Anderenfalls könnte diese Platten mitgelöscht\n"
+"\t werden, wenn sie nicht gespiegelt werden.)\n"
+"\t3. Bevor Sie diese physische Platte löschen, entfernen\n"
+"\t Sie sie unbedingt logisch aus Ihrer AIX-Maschine.\n"
+"\t (Anderenfalls werden Sie ein AIXperte.)"
+
+#: fdisks/fdiskmaclabel.c:92
+#, fuzzy, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tTut mir leid, dieses fdisk kann nicht mit AIX-Disklabels umgehen.\n"
+"\tWenn Sie Partitionen vom Typ DOS hinzufĂĽgen wollen, erstellen Sie\n"
+"\tzuerst eine neue, leere DOS-Partitionstabelle (mit o).\n"
+"\tWARNUNG: Das zerstört den momentanen Inhalt Ihrer Platte.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux Swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Laut MIPS Computer Systems, Inc darf das Label höchstens 512 Bytes "
+"enthalten\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "SGI-Disklabel mit falscher PrĂĽfsumme entdeckt.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Platte %s („SGI Disklabel“): %d Köpfe, %d Sektoren\n"
+"%d Zylinder, %d physische Zylinder\n"
+"%d Extrasekt./Zyl, Interleave %d:1\n"
+"%s\n"
+"Einheiten = %s mit %d Ă— %d Bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Platte %s („SGI disklabel“): %d Köpfe, %llu Sektoren, %d Zylinder\n"
+"Einheiten: %s mit %d Ă— %d Bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- Partitionen -----\n"
+"Nr. %*s Info Anfang Ende Sektoren Id System\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Bootinfo -----\n"
+"Bootdatei: %s\n"
+"----- Verzeichniseinträge -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s Sektor%5u Größe%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"UngĂĽltige Bootdatei!\n"
+"\tDie Bootdatei muss ein absoluter, nichtleerer Pfadname sein,\n"
+"\tz. B. „/unix“ oder „/unix.save“.\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tName der Bootdatei zu lang: höchstens 16 Bytes.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tBootdatei muss einen voll qualifizierten Pfadnamen haben.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tVorsicht, die Existenz der Bootdatei wird nicht geprĂĽft.\n"
+"\tSGIs Voreinstellung ist „/unix“ und als Sicherung „/unix.save“.\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Momentane Bootdatei ist: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Bitte geben Sie den Namen der neuen Boot-Datei an: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Boot-Datei unverändert\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tBootdatei geändert auf „%s“.\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Mehr als ein Eintrag für ‚gesamte Platte†vorhanden.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Keine Partitionen definiert\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX mag es, wenn Partition 11 die ganze Platte umfasst.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Die Partition fĂĽr die ganze Platte sollte bei Block 0 beginnen,\n"
+"nicht bei Plattenblock %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Die Partition für die ganze Platte ist nur %d Blöcke groß,\n"
+"die Platte allerdings umfasst %d Blöcke.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Eine Partition (#11) sollte die ganze Platte umfassen.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partition %d beginnt nicht an einer Zylindergrenze.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partition %d endet nicht an einer Zylindergrenze.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partitionen %d und %d ĂĽberlappen sich mit %d Sektoren.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Unbenutzte Lücke von %8u Sektoren – Sektor %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Die Bootpartition existiert nicht.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Die Swappartition existiert nicht.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Die Swappartition hat keinen Swap-Typ.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tSie haben einen unüblichen Boot-Dateinamen gewählt.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Sie müssen root sein, um die Systemuhr zu ändern.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Es ist höchst empfehlenswert, die Partition an Position 0 vim Type „SGI "
+"volhdr“\n"
+"sein zu lassen, da das IRIX-System sich darauf verlässt, um aus ihrem\n"
+"Verzeichnis alleinstehende Programme wie sash und fx zu holen. Nur die "
+"Sektion\n"
+"„SGI volume“ für die ganze Platte darf diese Forderung verletzen.\n"
+"Geben Sie JAWOHL ein, wenn Sie sicher sind, diese\n"
+"Partition von anderem Typ sein lassen zu wollen.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "JAWOHL\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+"Sie haben eine PartitionenĂĽberlappung auf der Platte. Bitte\n"
+"beseitigen Sie diese zuerst!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+"Versuche, den Eintrag für ‚gesamte Platte†automatisch zu generieren.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Es wird schon die ganze Platte von Partitionen abgedeckt.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Sie haben eine PartitionenĂĽberlappung auf der Platte. Bitte\n"
+"beseitigen Sie diese zuerst!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Es ist höchst empfehlenswert, die elfte Partition die ganze\n"
+"Platte überdecken und sie vom Typ „SGI volume“ sein zu lassen.\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Sie werden eine PartitionenĂĽberlappung auf der Platte erhalten. Bitte\n"
+"beseitigen Sie diese zuerst!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Letzte %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr "Erstelle ein neues SGI-Disklabel.\n"
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "BLKGETSIZE-IOCTL fehlgeschlagen bei %s"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Warnung: BLKGETSIZE-Ioctl fehlgeschlagen auf %s. Benutze "
+"Geometriezylinderwert\n"
+"von %d. Dieser Wert kann für Geräte > 33,8 GB abgeschnitten sein.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tANFANG=%d\tLĂ„NGE=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Versuche, Parameter der Partition %d zu erhalten.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS Swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Gesamte Platte"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sectors"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Sun-Disklabel mit falschen PrĂĽfsumme entdeckt.\n"
+"Sie werden wahrscheinlich alle Werte, also Köpfe, Sektoren,\n"
+"Zylinder und Partitionen, setzen mĂĽssen oder mit einem\n"
+"frischen Label beginnen (s im HauptmenĂĽ).\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "SGI-Disklabel mit falscher PrĂĽfsumme entdeckt.\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "SGI-Disklabel mit falscher PrĂĽfsumme entdeckt.\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "SGI-Disklabel mit falscher PrĂĽfsumme entdeckt.\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Warnung: Schreiben wird ungĂĽltiges Flag 0x%04x in Part.-tabelle %d "
+"korrigieren\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "Erstelle ein neues Sun-Disklabel.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektoren/Spur"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partition %d endet nicht an einer Zylindergrenze\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partition %d überlappt mit anderen in Sektoren %d–%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Unbenutzter Bereich – Sektor 0–%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Unbenutzter Bereich – Sektor %d–%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Andere Partition ĂĽberdecken bereits die ganze Platte.\n"
+"Löschen/verkleinern Sie sie vor einem erneuten Versuch.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Es ist höchst empfehlenswert, die elfte Partition die ganze\n"
+"Platte überdecken und sie vom Typ „SGI volume“ sein zu lassen.\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Sie haben nicht die ganze Platte mit der dritten Partition ĂĽberdeckt, aber\n"
+"Ihr Wert %d %s ĂĽberdeckt einige andere Partitionen. Ihr Eintrag wurde auf\n"
+"%d %s geändert\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Wenn Sie SunOS/Solaris-Kompatibilität beibehalten wollen, sollten Sie in\n"
+"Betracht ziehen, diese Partition als „Gesamte Platte“ (5) zu lassen, mit "
+"dem\n"
+"Beginn bei 0 und %u Sektoren.\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Es wird dringend empfohlen, dass die Partition bei Offset 0 entweder\n"
+"UFS, Ext2FS oder „SunOS Swap“ ist. Dort „Linux Swap“ zu erstellen kann\n"
+"Ihre Partitionstabelle und Ihren Bootblock zerstören.\n"
+"Geben Sie JAWOHL ein, wenn Sie sich ganz sicher sind, dass Sie diese\n"
+"Partition als 82 (Linux Swap) markieren möchten: "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Festplatte %s („Sun disklabel“): %u Köpfe, %llu Sektoren, %d U/min\n"
+"%u Zylinder, %d alternative Zylinder, %d Physische Zylinder\n"
+"%d Extra-Sektoren/Zylinder, Interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Einheiten = %s of %d Ă— 512 Byte\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Festplatte %s (Sun-Ddisklabel): %u Köpfe, %llu Sektoren, %u Zylinder\n"
+"Einheiten: %s mit %d Ă— 512 Byte\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Flag Start Ende Blöcke Id System\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Anzahl der alternierenden Zylinder"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Extra-Sektoren pro Zylinder"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Interleave-Faktor"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Rotationsgeschwindigkeit (U/min)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Anzahl der physikalischen Zylinder"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Leer"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Erweiterte"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+# "bootfähig"
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootfähig"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Bootmanager"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Erw. (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Verst. FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq Diagnostics"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Verst. FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Verst. FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Verst. HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Verst. W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Verst. W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Verst. W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "Verst. HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD / SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux Swap / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 verst. C:-Lw."
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux erweitert"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux Plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard versteckt"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Nicht-DS-Daten"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / …"
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS sekundär"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "Seek-Fehler auf %s – kann nicht nach %lu springen\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "Seek-Fehler: wollte 0x%08x%08x, bekam 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "Fehler beim Lesen von %s – Sektor %lu konnte nicht gelesen werden\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+"Fehler beim Schreiben auf %s – der Sektor %lu konnte nicht geschrieben "
+"werden\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "Kann Partitionssektor-Sicherungsdatei (%s) nicht öffnen\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "Fehler beim Schreiben auf %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "Kann auf Partitions-Wiederherstellungsdatei (%s) nicht zugreifen\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"Partitions-Wiederherstellungsdatei hat falsche Größe – stelle nicht wieder "
+"her\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "Kann Partitions-Wiederherstellungsdatei (%s) nicht öffnen\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "Fehler beim Lesen von %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "Konnte das Gerät %s nicht zum Schreiben öffnen\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "Fehler beim Schreiben des Sektors %lu auf %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Festplatte %s: Die Geometrie konnte nicht festgestellt werden\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Festplatte %s: Kann Größe nicht ermitteln\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Warnung: start=%lu – das sieht eher wie eine Partition aus statt einer\n"
+"ganzen Platte. Die Benutzung von fdisk darauf is vermutlich sinnlos.\n"
+"[Benutzen Sie die Option --force, wenn Sie das wirklich wollen.]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Warnung: HDIO_GETGEO ergibt, dass es %lu Köpfe gibt\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Warnung: HDIO_GETGEO ergibt, dass es %lu Sektoren gibt\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Warnung: BLKGETSIZE/HDIO_GETGEO ergibt, dass es %lu Zylinder gibt\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Warnung: unwahrscheinliche Anzahl Sektoren (%lu) – normalerweise höchstens "
+"63.\n"
+"Dies wird Probleme bei Software verursachen, die das C/H/S-"
+"Adressierungsschema\n"
+"verwendet.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Festplatte %s: %lu Zylinder, %lu Köpfe, %lu Sektoren/Spur\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s von Partition %s hat unmöglichen Wert für Kopf: %lu (sollte 0–%lu sein)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s von Partition %s hat unmöglichen Wert für Sektor: %lu (sollte 1–%lu "
+"sein)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s von Partition %s hat unmöglichen Wert für Zylinder: %lu (sollte 0–%lu "
+"sein)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Name\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Die Partitionstabelle wird erneut gelesen…\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Der Befehl zum Neueinlesen der Partitionstabelle schlug fehl.\n"
+"Starten Sie Ihr System jetzt neu, bevor Sie mkfs verwenden.\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Fehler beim SchlieĂźen von %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: es gibt keine derartige Partition\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "nicht erkanntes Format – benutze Sektoren\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "nicht implementiertes Format – benutze %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Einheit = Zylinder von %lu Bytes, Blöcke von 1024 Bytes, Zählung beginnt bei "
+"%d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Gerät boot. Anfang Ende #Zyl. #Blöcke Id System\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Einheit = Sektoren von 512 Bytes, Zählung beginnt bei %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Gerät boot. Anfang Ende #Sektoren Id System\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Einheit = Blöcke von 1024 Bytes, Zählung beginnt bei %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Gerät boot. Anfang Ende #Blöcke Id System\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Einheit = Mebibytes von 1048576 Bytes, Blöcke von 1024 Bytes, Zählung "
+"beginnt bei %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Gerät boot. Anfang Ende MiB #Blöcke Id System\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tAnfang: (c,h,s) erwartet (%ld,%ld,%ld) gefunden (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tEnde: (c,h,s) erwartet (%ld,%ld,%ld) gefunden (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "Partition endet auf Zylinder %ld, hinter dem Ende der Festplatte\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Keine Partitionen gefunden\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Warnung: Die Partition sieht aus, als sie gemacht worden\n"
+" fĂĽr C/H/S=*/%ld/%ld (anstelle von %ld/%ld/%ld).\n"
+"FĂĽr diese Auflistung nehme ich diese Geometrie an.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "Es gibt keine Partitionstabelle.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "MerkwĂĽrdig, es sind nur %d Partitionen definiert.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Warnung: Partition %s hat Größe 0, ist aber nicht als leer markiert\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Warnung: Partition %s hat Größe 0 und ist bootfähig\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Warnung: Partition %s hat Größe 0 und beginnt nicht bei Null\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "is nicht enthalten in Partition %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Warnung: Partition %d ist leer\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Warnung: Partition %s enthält einen Teil der Partitionstabelle\n"
+"(Sektor %lu) und wird diese zerstören, wenn sie gefüllt wird.\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Warnung: Partition %s fängt bei Sektor 0 an\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Warnung: Partition %s reicht ĂĽber das Ende der Platte hinaus\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Unter den primären Partitionen kann höchstens eine erweiterte sein.\n"
+" (Auch wenn das unter Linux kein Problem ist.)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Warnung: Partition %s beginnt nicht an einer Zylindergrenze\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Warnung: Partition %s endet nicht an einer Zylindergrenze\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Warnung: Mehr als eine primäre Partition wurde als bootfähig (aktiv) "
+"markiert.\n"
+" Dies spielt bei LILO keine Rolle, aber der DOS-MBR wird diese\n"
+" Festplatte nicht booten.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Warnung: Normalerweise kann man nur von primäre Partitionen booten.\n"
+"LILO ignoriert die „bootfähig“-Einstellung komplett.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Warnung: Keine primäre Partition wurde als bootfähig (aktiv) markiert.\n"
+" Dies spielt bei LILO keine Rolle, aber der DOS-MBR wird auf\n"
+" dieser Festplatte nicht booten.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "Anfang"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"Partition %s: Anfang: (c,h,s) erwartet (%ld,%ld,%ld) gefunden (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "Ende"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"Partition %s: Ende: (c,h,s) erwartet (%ld,%ld,%ld) gefunden (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "Partition %s endet am Zylinder %ld, hinter dem Ende der Platte\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Warnung: Anfang der erweiterten Partition von %ld auf %ld verschoben.\n"
+"(Nur zum Zwecke der Auflistung. Nicht den Inhalt ändern.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Warnung: erweiterte Partition beginnt nicht an einer Zylindergrenze\n"
+"DOS und Linux werden den Inhalt unterschiedlich interpretieren.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "FEHLER: Sektor %lu hat keine MS-DOS-Signatur\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "Zu viele Partitionen - ignoriere alle hinter Nr. (%d)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "Partitionsbaum?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Disk Manager erkannt – kann das nicht handhaben\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6-Signatur gefunden – gebe auf\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "merkwürdig… eine erweiterte Partition der Größe 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "merkwürdig… eine BSD-Partition der Größe 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: nicht erkannte Partitiontabellentyp\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "Die Option „-n“ wurde verwendet: Es wurde nichts verändert\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Speichern der alten Sektoren fehlgeschlagen – Abbruch\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Schreiben der Partition auf %s fehlgeschlagen\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "Lange oder unvollständige Eingabezeilen – beende\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "Eingabefehler: „=“ erwartet nach %s-Feld\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "Eingabefehler: unerwartetes Zeichen %c nach %s-Feld\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "nicht erkannte Eingabe: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "Zahl zu groĂź\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "abschlieĂźender MĂĽll hinter Zahl\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "kein Platz fĂĽr Partitionsdeskriptor\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "kann umgebende erweiterte Partition nicht anlegen\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "zu viele Eingabefelder\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "FĂĽr mehr kein Platz\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Illegaler Typ\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Warnung: gegebene Größe (%lu) überschreitet maximal erlaubte Größe (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Warnung: leere Partition\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Warnung: ungültiger Partitionsanfang (kleinstmöglich %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "nicht erkanntes Boofähig-Flag – wählen Sie - oder *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "partielle c,h,s-Spezifikation?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Erweiterte Partition nicht dort, wo erwartet\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "ungĂĽltige Eingabe\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "Zu viele Partitionen\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Eingabe im folgenden Format; abwesende Felder erhalten einen Vorgabewert.\n"
+"<anfang> <größe> <typ [E,S,L,X,hex]> <bootfähig [-,*]> <c,h,s> <c,h,s>\n"
+"Normalerweise brauchen Sie nur <anfang> und <größe> anzugeben (und\n"
+"vielleicht <typ>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Aufruf:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d Partitionen:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "gefährliche Optionen:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -G [oder --show-pt-geometry]: aus der Partitionstabelle geratene "
+"Geometrie\n"
+" ausgeben"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [oder --show-extended]: auch die erweiterten Partitionen mit "
+"auflisten\n"
+" bzw. bei Eingabe Deskriptoren fĂĽr sie erwarten"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Aufruf:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s Gerät\t\t aktive Partitionen auf Gerät auflisten\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s Gerät n1 n2 … aktive Partitionen n1 …, der Rest deaktivieren\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An Gerät\t aktiviere Partition n, device die anderen\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+"Benutzen Sie die Optioen --force, um diese ĂśberprĂĽfung zu unterbinden.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "kein Befehl?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "UngĂĽltige Anzahl von Inodes"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "zusammen: %llu Blöcke\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "Aufruf: sfdisk --print-id Gerät Partitionsnummer\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "Aufruf: sfdisk --change-id Gerät Partitionsnummer Id\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "Aufruf: sfdisk --id Gerät Partitionsnummer [Id]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "Man kann nur ein Gerät angeben (außer mit -l oder -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "Konnte %s nicht zum Lesen/Schreiben öffnen\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "Konnte %s nicht zum Lesen öffnen\n"
+
+# And again one for show_geometry()…
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld Zylinder, %ld Köpfe, %ld Sektoren/Spur\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "Kann die Größe von %s nicht feststellen\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "ungĂĽltiges Aktiv-Byte: 0x%x anstelle von 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Fertig\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Sie haben %d aktive primäre Partitionen. Dies spielt bei LILO keine Rolle,\n"
+"aber der DOS-MBR bootet nur Festplatten mit einer aktiven Partition.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "Partition %s hat ID %x und ist nicht versteckt\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "UngĂĽltige ID %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Diese Platte ist momentan in Benutzung.\n"
+
+# This is a stat()
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Schwerwiegender Fehler: kann %s nicht finden\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Warnung: %s ist kein blockorientiertes Gerät\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Überprüfe, dass niemand diese Festplatte zur Zeit benutzt …\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Diese Festplatte ist zur Zeit in Benutzung – Neupartitionierung ist "
+"vermutlich\n"
+"eine schlechte Idee. Hängen Sie alle Dateisysteme auf dieser Platte aus und\n"
+"deaktivieren Sie alle Swap-Partitionen (mit swapoff).\n"
+"Benutzen Sie --no-reread, um diese ĂśberprĂĽfung zu unterbinden.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+"Benutzen Sie die Optioen --force, um alle ĂśberprĂĽfungen zu unterbinden.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Alte Aufteilung:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Partition %d existiert nicht, kann sie nicht ändern\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Neue Aufteilung:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Mir gefallen diese Partitionen nicht – nichts geändert.\n"
+"(Wenn Sie das wirklich wollen, benutzen Sie die Option --force.)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Mir gefällt das nicht – Sie sollten am besten mit „Nein“ antworten\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Sind Sie damit zufrieden? [y – ja, n – nein, q – aufhören] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Wollen Sie das auf Platte schreiben? [y – ja, n – nein, q – aufhören] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Höre auf – nichts geändert\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Bitte antworten Sie mit y, n oder q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Die neue Partitionstabelle wurde erfolgreich geschrieben\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Wenn Sie eine DOS-Partition angelegt oder geändert haben, z. B. /dev/foo7,\n"
+"dann nehmen Sie dd(1), um die ersten 512 Bytes auf 0 zu setzen:\n"
+"„dd if=/dev/zero of=/dev/foo7 bs=512 count=1“ (siehe fdisk(8)).\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Versionsinformation ausgeben\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: Fehler beim Schreiben.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr ""
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() fehlgeschlagen"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "Aufruf: namei [-mx] Dateiname [Dateiname …]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p BĂĽro-Telefon ]\n"
+"\t[ -h Heim-Telefon ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Versionsinformation ausgeben\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: Sie (Nuter %d) existieren nicht.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: Nutzer „%s“ existiert nicht.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "%s: kann nur lokale Einträge ändern; stattdessen yp%s benutzen.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr ""
+"%s: %s ist nicht autorisiert, die Finger-Informationen für %s zu ändern\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "unbekannter Nutzerkontext"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: Kann keinen voreingestellten Kontext fĂĽr /etc/passwd setzen"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Ă„ndere finger-Information fĂĽr %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger-Information nicht verändert.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Abgebrochen.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "Feld ist zu lang.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "Feld ist zu lang.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: ›%c‹ ist nicht erlaubt.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "„%c“ ist nicht erlaubt.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Steuerungszeichen sind nicht erlaubt.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Steuerzeichen sind nicht erlaubt.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Finger-Information *NICHT* geändert. Später erneut versuchen.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger-Information geändert.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell=Shell Konventionen fĂĽr Shell-Quoting setzen\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "%s: kann nur lokale Einträge ändern; stattdessen yp%s benutzen.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: „%s“ ist nicht autorisiert, die Shell für %s zu ändern\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: Laufende UID stimmt nicht mit der UID des zu ändernden Nutzers überein,\n"
+"Shell-Ă„nderung abgelehnt.\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+"%s: Ihre Shell fehlt in /etc/shells, Shell-Ă„nderung ist fehlgeschlagen\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Shell für %s ändern.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Neue Shell"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "Shell nicht geändert.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "Shell *NICHT* geändert. Später nochmal versuchen.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell geändert.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: Shell muss ein voller Pfadname sein.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: „%s“ existiert nicht.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: „%s“ ist nicht ausführbar.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Warnung: „%s“ ist nicht in /etc/shells aufgeführt.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: „%s“ ist nicht in /etc/shells aufgeführt\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Keine bekannten Shells.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "Aufruf: last [-#] [-f datei] [-t tty] [-h hostame] [nutzer …]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "„seek“ gescheitert."
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " noch immer eingeloggt"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp beginnt %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr ""
+"\n"
+"Fehler beim SchlieĂźen von Datei\n"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"unterbrochen %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "Login nach %d Sekunden abgebrochen\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "FATAL: kann TTY nicht erneut öffnen: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s ist kein blockorientiertes Gerät"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown ist fehlgeschlagen: %s"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "Konnte nicht in das Verzeichnis /dev wechseln: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "FATAL: ungĂĽltiges TTY"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Letzte Anmeldung: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "von %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "auf %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "Konnte %s nicht öffnen"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DIALUP AT %s BY %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT LOGIN ON %s FROM %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT LOGIN ON %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN ON %s BY %s FROM %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN ON %s BY %s"
+
+# unten nochmal mit NL
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "Anmeldung: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "login: PAM-Fehlschlag, breche ab: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Konnte PAM nicht initialisieren: %s"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "FAILED LOGIN %d FROM %s FOR %s, %s"
+
+# unten noch zwei mal mit anderen NL
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login inkorrekt\n"
+"\n"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login inkorrekt\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Problem beim Aufsetzen der Sitzung, Abbruch.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Leerer Benutzername in %s:%d. Abbruch."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY fehlgeschlagen: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h nur fĂĽr den Superuser.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr "Aufruf: last [-#] [-f datei] [-t tty] [-h hostame] [nutzer …]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Ungültiger Nutzername „%s“ in %s:%d. Abbruch."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+"\n"
+"Fehler beim SchlieĂźen von Datei\n"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Sie haben neue E-Mail.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Sie haben E-Mail.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "„seek“ gescheitert."
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Logge ein mit Heimatverzeichnis = „/“.\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: konnte Shellskipt nicht ausfĂĽhren: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Keine Shell"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "UngĂĽltiger interner Wert: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Passwort: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: Keine solche Gruppe."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Wer sind Sie?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: Keine solche Gruppe."
+
+# "mount: Zugriff verweigert"
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: keine Berechtigung"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "%s kann nicht geöffnet werden"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "kann ID %s (%s) nicht entfernen\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: Konnte das aktuelle Verzeichnis nicht feststellen: %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "„%s“ konnte nicht geöffnet werden"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "Kann Signalhandler nicht ermitteln"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s ist gescheitert.\n"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Inkorrektes Passwort."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"„%s --help“ gibt weitere Informationen.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "Aufruf: %s Programm [Argument …]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: Nutzer „%s“ existiert nicht.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: Konnte das aktuelle Verzeichnis nicht feststellen: %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: nicht offen fĂĽr Lesen/Schreiben"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: nicht offen fĂĽr Lesen/Schreiben"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: die Passwortdatei ist in Benutzung.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Möchten Sie wirklich fortfahren"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "„seek“ gescheitert."
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "„seek“ gescheitert."
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "„seek“ gescheitert."
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "„seek“ gescheitert."
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "ungĂĽltige ID"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: Nur „root“ kann dies tun"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "„root inode“ ist kein Verzeichnis"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY fehlgeschlagen: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: „stat“ gescheitert."
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: Konnte %s nicht öffnen\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: Konnte eine temporäre Datei nicht öffnen.\n"
+
+#: login-utils/vipw.c:166
+#, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: Erstellen einer VerknĂĽpfung nach %s fehlgeschlagen"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: Konnte Kontext fĂĽr %s nicht bekommen"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: Konnte Kontext fĂĽr %s nicht setzen"
+
+# "nicht geändert"
+# "wurde nicht geändert"
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s unverändert\n"
+
+# This is only used when strerror(errno) is much too long
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "Kann keinen neuen Prozess erzeugen (fork)"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: keine Ă„nderungen durchgefĂĽhrt\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Datei „%s“ konnte nicht geöffnet werden"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Sie benutzen Shadow-Gruppen auf diesem System.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Sie benutzen Shadow-Passwörter auf diesem System.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "WĂĽrden Sie jetzt gerne %s bearbeiten [j/n]? "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Ungültiger Wert für die Anzahl der Köpfe"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "illegaler Wert fĂĽr Jahr: benutzen Sie 1-9999"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "illegaler Wert fĂĽr Monat: benutzen Sie 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "illegaler Wert fĂĽr Jahr: benutzen Sie 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "Aufruf: cal [-13smjyV] [[Monat] Jahr]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Aufruf: %s [+Format] [Tag Monat Jahr]\n"
+
+# The rest is untranslated, leave it (MPi)
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "St. Tib’s Day"
+
+#: misc-utils/findfs.c:22
+#, fuzzy, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr "Aufruf: %s LABEL=<label>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "kann %s nicht öffnen"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "blockorientiertes Gerät "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr "Einhängepunkt"
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "nĂĽtzliche Optionen:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Partitionsnummer"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Unbekannter Befehl: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "read %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Entfernen"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "unbekannter"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "Seek-Fehler"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: Konnte %s nicht lesen.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "„malloc“ schlug fehl"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "VerfĂĽgbare Befehle:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "Konnte nicht in das Verzeichnis %s wechseln!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "ungĂĽltige ID: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "leere lange Option nach -l oder --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "Unbekannte Shell als Argument von -s oder --shell"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" getopt [Optionen] -o|--options Optionszeichenkette [Optionen] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative lange Optionen dĂĽrfen auch mit einfachem - "
+"beginnen\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help dieser kleine Hilfe\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=lopt zu erkennende lange Optionen\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name=progname der Name, der in Fehlermeldungen benutzt wird\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=OptZKette zu erkennende kurze Optionen\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet Fehlermeldungen von getopt(3) unterdrĂĽcken\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output keine normale Ausgabe\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell=Shell Konventionen fĂĽr Shell-Quoting setzen\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test auf getopt(1)-Version testen\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unquote die Ausgabe nicht quoten\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Versionsinformation ausgeben\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "fehlendes Optionszeichenkettenargument"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "Interner Fehler, kontaktieren Sie den Autor."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: Unbekanntes Signal %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: Konnte den Prozess „%s“ nicht finden.\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: Unbekanntes Signal %s; gĂĽltige Signale:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Aufruf: %s [ -s Signal | -p ] [ -a ] PID …\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ Signal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: Unbekannter „Facility“-Name: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: Unbekannter Prioritätsname: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "Login-Name viel zu lang.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "Blockgröße: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "NFS-Verbindung"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "NFS-Socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "NFS-Verbindung"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Nächste Datei: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "ungĂĽltige ID"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Partitionsnummer"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "„stat“ des Pfades fehlgeschlagen\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "Nur-Lesen setzen"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " entfernbar"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "„stat“ des Pfades fehlgeschlagen\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "UngĂĽltiger Nutzername"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "ungültige INode-Größe"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "Sektorgröße ermitteln"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "Sektorgröße ermitteln"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "ungültige INode-Größe"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " i Die Einheit für die Anzeige/Eingabe ändern"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "umount: %s: unbekanntes Gerät"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, c-format
+msgid "%s: failed to read link"
+msgstr "%s: Lesen einer VerknĂĽpfung fehlschlagen"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "VerfĂĽgbare Befehle:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "„stat“ des Pfades fehlgeschlagen\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "„%s“ konnte nicht geöffnet werden"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "unbekannter"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "Die Angegebene Blockgröße ist unverständlich"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "ungĂĽltige ID: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%d Bytes aus %s gelesen\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "Lesen der VerknĂĽpfung fehlgeschlagen: %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "„root inode“ ist kein Verzeichnis"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "Aufruf: namei [-mx] Dateiname [Dateiname …]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+#, fuzzy
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "--date-Argument zu lang\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: Konnte %s nicht in %s umbenennen: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: Ungültiges Argument %s für die Option „-l“.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "Schreib."
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "read %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Konnte %s nicht öffnen: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Konnte %s nicht öffnen: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Konnte %s nicht öffnen: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Fehler beim Lesen von %s\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "ungĂĽltige ID"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "ungĂĽltige ID"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: UngĂĽltiger Wert\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Fehler beim Ă„ndern der Zugriffsrechte von %s: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Konnte %s nicht öffnen: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+"\n"
+"Fehler beim SchlieĂźen von Datei\n"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: Nicht gefunden"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "ungĂĽltige ID"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "Warnung: Fehler beim Lesen von %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "Warnung: Konnte %s nicht öffnen: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: Konnte %s nicht öffnen – benutze %s stattdessen\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"Konnte die Lock-Datei %s nicht anlegen: %s (benutzen Sie die Option -n, um "
+"dies zu umgehen)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"Konnte keinen Link fĂĽr die Lock-Datei %s anlegen: %s (benutzen Sie die "
+"Option -n, um dies zu umgehen)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"Konnte die Lock-Datei %s nicht öffnen: %s (benutzen Sie die Option -n, um "
+"dies zu umgehen)"
+
+# This one should be merged with the next one by using
+# error() instead of printf()
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Konnte die Lock-Datei %s nicht sperren: %s\n"
+
+# sperren
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "Konnte die Lock-Datei %s nicht sperren: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "ZeitĂĽberschreitung"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Konnte VerknĂĽpfung %s nicht anlegen\n"
+"Vielleicht gibt es noch eine abgelaufene Lock-Datei?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "Konnte %s nicht öffnen (%s) – mtab nicht aktualisiert"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "Fehler beim Schreiben von %s: %s"
+
+# stat
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: Konnte „stat“ nicht auf %s anwenden: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "Fehler beim Ă„ndern der Zugriffsrechte von %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "Fehler beim Ă„ndern der Zugriffsrechte von %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "Konnte %s nicht in %s umbenennen: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: übersetzte %s „%s“ in „%s“\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: Laut mtab ist %s schon auf %s eingehängt"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: Laut mtab ist %s auf %s eingehängt"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: Konnte %s nicht zum Schreiben öffnen: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: Fehler beim Schreiben von %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: Fehler beim Ă„ndern der Zugriffsrechte von %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: Kann keinen neuen Prozess erzeugen: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Versuche %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: Es wurde kein Dateisystemtyp fĂĽr %s angegeben\n"
+
+# Maybe:
+# " Es werden alle Dateisystemtypen ausprobiert, die\n"
+# " in %s oder %s aufgelistet sind\n"
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr ""
+" Werde alle Dateisystemtypen probieren, die in %s oder\n"
+" %s aufgelistet sind\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " und es sieht so aus, als sei dies Swap-Bereich\n"
+
+# Maybe: " Es wird der Typ %s ausprobiert\n"
+# or : … "probieren"
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Werde den Typ %s versuchen\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s sieht wie ein Swap-Bereich aus – nicht eingehängt"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "mount ist fehlgeschlagen"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: nur „root“ kann %s auf %s einhängen"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: das „loop“-Gerät wurde zweimal angegeben"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: der Typ wurde doppelt angegeben"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: überspringe Aufsetzen des „loop“-Geräts\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: werde das „loop“-Gerät %s verwenden\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: Laut mtab ist %s schon auf %s eingehängt"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "Konnte kein Lock im Speicher bekommen, beende.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: Aufsetzen des „loop“-Geräts fehlgeschlagen\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: werde das „loop“-Gerät %s verwenden\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: Aufsetzen des „loop“-Geräts fehlgeschlagen\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: Aufsetzen des „loop“-Geräts fehlgeschlagen\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: loop=%s gestohlen …versuche es erneut\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: loop=%s gestohlen"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: „loop“-Gerät erfolgreich aufgesetzt\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s nicht gefunden – Erzeuge sie…\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: Argument fĂĽr -p oder --pass-fd muss eine Zahl sein"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: Kann %s nicht zum Setzen der Geschwindigkeit öffnen"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: Laut mtab ist %s schon auf %s eingehängt\n"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr ""
+"umount: %s wird momentan noch benutzt – im Nur-Lese-Modus wiedereingehängt\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr ""
+"umount: %s wird momentan noch benutzt – im Nur-Lese-Modus wiedereingehängt\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: konnte Dateisystemtyp nicht feststellen, und es wurde keiner angegeben"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: Sie mĂĽssen den Dateisystemtyp angeben"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: Einhängen ist fehlgeschlagen"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: Einhängepunkt %s ist kein Verzeichnis"
+
+# "mount: Zugriff verweigert"
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: keine Berechtigung"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: muss Superuser sein, um mount zu verwenden"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s wird gerade benutzt"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc ist bereits eingehängt"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s ist bereits eingehängt oder %s wird gerade benutzt"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: Einhängepunkt %s existiert nicht"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: Einhängepunkt %s ist eine symbolische Verknüpfung auf nirgendwo"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: Gerätedatei %s existiert nicht"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: Spezialgerät %s existiert nicht\n"
+" (ein Pfadpräfix ist kein Verzeichnis)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr ""
+"mount: %s ist noch nicht eingehängt oder es wurden\n"
+" ungĂĽltige Optionen angegeben"
+
+#: mount-deprecated/mount.c:1758
+#, fuzzy, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: Falscher Dateisystemtyp, ungĂĽltige Optionen, der\n"
+" Superblock von %s ist beschädigt, fehlende\n"
+" Kodierungsseite oder ein anderer Fehler"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (Ist dies vielleicht das IDE-Gerät, an welchem Sie eigentlich\n"
+" ide-scsi benutzen, so dass sr0 oder sda oder so gebraucht wird?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (Versuchen Sie nicht eine erweiterte Partition einzuhängen\n"
+" statt einer der logischen Partitionen darin?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Manchmal liefert das Syslog wertvolle Informationen – versuchen\n"
+" Sie dmesg | tail oder so\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "Einhängetabelle ist voll"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: Konnte den Superblock nicht lesen"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: %s: unbekanntes Gerät"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: unbekannter Dateisystemtyp „%s“"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: Wahrscheinlich meinten sie „%s“"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: Vielleicht meinten Sie „iso9660“?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: Vielleicht meinten Sie „vfat“?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s hat eine falsche Geräte-Nummer oder der\n"
+" Dateisystemtyp %s wird nicht unterstĂĽtzt"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s ist kein blockorientiertes Gerät und „stat“ schlägt fehl?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: Das Kernel erkennt %s nicht als blockorientiertes\n"
+" Gerät (Vielleicht hilft „insmod Treiber“?)"
+
+# "versuchen"
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s ist kein blockorientiertes Gerät\n"
+" (Vielleicht probieren Sie „-o loop“?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s ist kein blockorientiertes Gerät"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s ist kein gültiges blockorientiertes Gerät"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "blockorientiertes Gerät "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: Konnte %s%s nicht im Nur-Lese-Modus einhängen"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s ist schreibgeschützt, doch Option „-w“ ist explizit gegeben"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: Konnte %s%s nicht im Nur-Lese-Modus einhängen"
+
+# That sounds somehow dumb.
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s ist schreibgeschützt, wird eingehängt im Nur-Lese-Modus"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s ist bereits auf %s eingehängt\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: kein Typ angegeben – aufgrund des Doppelpunkts wird NFS angenommen\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: kein Typ angegeben – aufgrund des //-Präfixes wird cifs angenommen\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s ist bereits auf %s eingehängt\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Aufruf: mount -V : Version ausgeben\n"
+" mount -h : Diese Hilfe ausgeben\n"
+" mount : eingehängte Dateisysteme auflisten\n"
+" mount -l : dito, inklusive Volume-Label\n"
+"So weit mit dem informativen Part. Als nächstes das Einhängen.\n"
+"Der Befehl lautet „mount [-t fstype] irgendwas irgendwo“.\n"
+"Details, die in /etc/fstab stehen, können weggelassen werden.\n"
+" mount -a [-t|-O] … : alles aus der /etc/fstab einhängen\n"
+" mount gerät : Gerät an bekanntem Ort einhängen\n"
+" mount verzeichnis : hier bekanntes Gerät einhängen\n"
+" mount -t typ ger verz : normaler Mount-Befehl\n"
+"Beachten Sie, dass man nicht wirklich ein Gerät einhängt, sondern vielmehr\n"
+"ein Dateisystem (vom gegebenen Typ), dass sich auf dem Gerät befindet.\n"
+"Man kann auch einen schon sichtbaren Verzeichnisbaum woanders einhängen:\n"
+" mount --bind altesVerz neuesVerz\n"
+"oder einen Unterbaum verschieben:\n"
+" mount --move altesVerz neuesVerz\n"
+"Die Einhängeart in einem Verzeichnis kann geändert werden:\n"
+" mount --make-shared verz\n"
+" mount --make-slave verz\n"
+" mount --make-private verz\n"
+" mount --make-unbindable verz\n"
+"Und das ganze rekursiv:\n"
+" mount --make-rshared verz\n"
+" mount --make-rslave verz\n"
+" mount --make-rprivate verz\n"
+" mount --make-runbindable verz\n"
+"Ein Gerät kann über seinen Namen, also /dev/hda1 oder /dev/cdrom, gegeben\n"
+"werden, oder ĂĽber sein Label, mittels -L Label, oder ĂĽber die UUID, mit -U "
+"UUID.\n"
+"Weitere Optionen: [-nfFrsvw] [-o optionen] [-p passwdfd].\n"
+"FĂĽr viele weitere Details: man 8 mount.\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: Nur „root“ kann dies tun"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: Nur „root“ kann dies tun"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "nichts wurde eingehängt"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: keine passende Partition gefunden"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: Konnte %s nicht in %s oder %s finden"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+"[mntent]: Warnung: Am Ende der Datei %s fehlt ein abschlieĂźender "
+"Zeilenvorschub.\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: Zeile %d in %s ist fehlerhaft%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; der Rest der Datei wurde ignoriert"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "Fehler im Aufruf von xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "Nicht genĂĽgend Speicher"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: Die UnterstĂĽtzung fĂĽr -f wurde nicht mit ĂĽbersetzt\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: Kann keinen neuen Prozess erzeugen: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: kein gültiges blockorientiertes Gerät"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s ist nicht eingehängt"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: Konnte den „Superblock“ nicht schreiben"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: Nicht gefunden"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: nur der Superuser kann umount durchfĂĽhren"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: Blockgeräte auf Dateisystem nicht erlaubt"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: Konnte nicht in das Verzeichnis %s wechseln – %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: Konnte das aktuelle Verzeichnis nicht feststellen: %s\n"
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "umount: Einhängepunkt umgesetzt (%s -> %s)"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "kein umount2, versuche umount…\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+"umount: %s wird momentan noch benutzt – im Nur-Lese-Modus wiedereingehängt\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: konnte %s nicht im Nur-Lese-Modus wieder einhängen\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s ausgehängt\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: Kann die Liste der Dateisysteme zum Aushängen nicht finden"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Aufruf: umount [-hV]\n"
+" umount -a [-f] [-r] [-n] [-v] [-t VFS-Typen] [-O optionen]\n"
+" umount [-f] [-r] [-n] [-v] Spezialdatei | Verzeichnis …\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "Kann \"\" nicht aushängen\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Versuche, %s auszuhängen\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Konnte %s nicht in „mtab“ finden\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s ist laut „mtab“ nicht eingehängt"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: %s scheint mehrfach eingehängt zu sein"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: fstab enthält %s nicht (Nur root kann es aushängen)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s mount und fstab stimmen nicht ĂĽberein"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: Nur %s kann %s von %s unmounten"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: Nur „root“ kann dies tun"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS ĂĽber TCP wird nicht unterstĂĽtzt.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: Konnte das Gerät für %s nicht finden\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Unbekannter Befehl: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "unbekannter Fehler in ID"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "Aufruf: %s Programm [Argument …]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "RTC-Zeit konvertieren"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "„malloc“ schlug fehl"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: „%s“ existiert nicht.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: „%s“ ist nicht ausführbar.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Auto-Konfiguration fehlgeschlagen.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Auto-Konfiguration fehlgeschlagen.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "UngĂĽltige Anzahl von Inodes"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: Unbekanntes Argument: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Aufruf: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Nur root kann das Verhalten von Strg-Alt-Entf ändern.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld voreingestellte Schwelle und %ld voreingestellte Auszeit\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help dieser kleine Hilfe\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Datei %s, fĂĽr Schwellenwert %lu, maximale Zeichenzahl in FIFO war %d\n"
+"und die maximale Transferrate in Zeichen/Sekunde war %f\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Datei %s, fĂĽr Schwellenwert %lu und Auszeit-Wert %lu, maximale Zeichenzahl "
+"in FIFO war %d\n"
+"und die maximale Transferrate in Zeichen/Sekunde war %f\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "„gettimeofday“ fehlgeschlagen"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "Kann kein CYGETMON auf %s auslösen: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Kann Schwelle fĂĽr %s nicht ermitteln: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Kann Auszeit fĂĽr %s nicht ermitteln: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f int/sec; %f rec, %f send (char/sec)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f int/sec; %f rec (char/sec)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "UngĂĽltiger interner Wert: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "UngĂĽltiger interner Wert: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "UngĂĽltiger voreingestellter Wert: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "UngĂĽltiger voreingestellter Wert: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "UngĂĽltiger Zeit-Wert zu setzen: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "UngĂĽltiger Zeit-Wert zu setzen: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "UngĂĽltiger voreingestellter Zeit-Wert: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "UngĂĽltiger voreingestellter Zeit-Wert: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Kann %s nicht auf Schwelle %d setzen: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "Kann %s nicht auf Zeitschwelle %d setzen: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld aktuelle Schwelle und %ld aktuelle Auszeit\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld voreingestellte Schwelle und %ld voreingestellte Auszeit\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Diese Partition ist unbenutzbar"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "Fehler beim SchlieĂźen von %s"
+
+# XXX – Merge with next strings.
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Warnung: Partition %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "Nachrichten"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Unbekannter Befehl: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "Konnte nicht in das Verzeichnis %s wechseln!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "%s kann nicht geöffnet werden"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "(Nächste Datei: %s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "ungĂĽltige ID"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "RTC-Zeit lesen"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "kein Befehl?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "ungĂĽltige ID: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "ungĂĽltige ID: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+#, fuzzy
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "mount: Der Dateisystemtyp „%s“ wird nicht vom Kernel unterstützt"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+#, fuzzy
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "mount: Der Dateisystemtyp „%s“ wird nicht vom Kernel unterstützt"
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: Lesen einer VerknĂĽpfung fehlschlagen"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "kein blockorientiertes Gerät oder Datei: %s"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "mount ist fehlgeschlagen"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "kann %s nicht öffnen"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: Einhängepunkt %s existiert nicht"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: Konnte %s nicht in %s umbenennen: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s: Nicht gefunden"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " entfernbar"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Benutze den Standardwert %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: Konnte das Gerät %s nicht öffnen: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s: Nicht gefunden"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: kein blockorientiertes Gerät"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: Konnte das Gerät %s nicht öffnen: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+# XXX - I did have a better one for busy
+# libc.po:
+# "Device or resource busy"
+# "Das Gerät oder die Ressource ist belegt"
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "umount: %s: Das Gerät wird momentan noch benutzt"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s erfolgreich beendet.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "Ă–ffnen des Verzeichnisses fehlgeschlagen\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Nicht genug Argumente"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "Es wurde keine „--date“-Option angegeben.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "Maximale Anzahl der Segmente = %lu\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "„%s“ konnte nicht geöffnet werden"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "ungĂĽltige ID"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s erwartet ein Argument\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "„root inode“ ist kein Verzeichnis"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "Es wurde keine „--date“-Option angegeben.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "Es wurde keine „--date“-Option angegeben.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "„root inode“ ist kein Verzeichnis"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr "kein Einhängepunkt angegeben."
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "„root inode“ ist kein Verzeichnis"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "es ist nicht möglich, %s zu öffnen"
+
+# debug
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Die Hardwareuhr läuft vermutlich in %s.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "lokaler Zeit"
+
+# merge with next
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Warnung: Unbekannte dritte Zeile in der adjtime-Datei\n"
+
+# XXX
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Letzte Abweichungskorrektur vorgenommen bei %ld Sekunden nach 1969\n"
+
+# XXX
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Letzte Kalibrierung vorgenommen bei %ld Sekunden nach 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hardwareuhr geht nach %s Zeit\n"
+
+# debug
+# mmh…. sehr geehrter user… dieses ist keine werbeunterbrechung und
+# kein sendeausfall… ich wart nur auf das anbrechen der nächsten für mich
+# relevanten zeiteinheit.
+# Egger
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Warte auf Uhrtick…\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+# Egger
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "… erhielt Uhrtick\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "UngĂĽltige Werte in Hardwareuhr: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Zeit der Hardwareuhr: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld Sekunden seit 1969\n"
+
+# Egger
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Zeit gelesen aus Hardwareuhr: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "Stelle die Hardwareuhr auf %.2d:%.2d:%.2d = %ld Sekunden seit 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Die Uhrzeit der Hardwareuhr wurde nicht verstellt – Testmodus.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Die vergangene Zeit seit der Referenzzeit waren %.6f Sekunden.\n"
+"Es wird weiter gewartet, um die nächste ganze Sekunde zu erreichen.\n"
+
+# Die Registereinträge der Hardwareuhr enthalten Werte, die ungültig
+# sind (z.B. der 50. Tag des Monats) oder auĂźerhalb des unterstĂĽtzen
+# Bereiches (z.B. das Jahr 2095) liegen.
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Die Hardwareuhr enthält entweder ungültige Werte (z.B. den 50. Tag des\n"
+"Monats), oder die Werte liegen auĂźerhalb des Bereiches, der unterstĂĽtzt\n"
+"wird (z.B. das Jahr 2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f Sekunden\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "Es wurde keine „--date“-Option angegeben.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "--date-Argument zu lang\n"
+
+# The english version is already a little misleading.
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Der Wert der „--date“-Option ist kein gültiges Datum.\n"
+"Es darf kein AnfĂĽhrungszeichen enthalten.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Der „date“-Befehl wird aufgerufen: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Konnte „date“ nicht in der /bin/sh-Shell starten. popen() schlug fehl"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "Ausgabe des „date“-Befehls: %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"Der „date“-Befehl, der von %s aufgerufen wurde, lieferte\n"
+"unerwartete Ergebnisse.\n"
+"Der Befehl war:\n"
+" %s\n"
+"Die Ausgabe war:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"Der „date“-Befehl, der von %s aufgerufen wurde, lieferte keine ganze Zahl, "
+"wo die umgewandelte Zeit erwartet wurde.\n"
+"Der Befehl war:\n"
+" %s\n"
+"Die Ausgabe war:\n"
+" %s\n"
+
+# Egger, fixed %s->%d
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "Die Zeichenkette %s entspricht %ld Sekunden seit 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Die Hardwareuhr enthält eine ungültige Zeitangabe; aus diesem Grund ist\n"
+"es nicht möglich, die Systemzeit zu setzen.\n"
+
+# debug
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "settimeofday() wird aufgerufen:\n"
+
+# not much to translate
+# debug
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+# not much to translate
+# debug
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Keine Änderung an der Systemuhr vorgenommen – Testmodus.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Sie müssen root sein, um die Systemuhr zu verändern.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() schlug fehl"
+
+#: sys-utils/hwclock.c:785
+#, fuzzy, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "System-Zeit lesen"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Der Driftfaktor wird nicht verändert, da die Hardwareuhr vorher keinen "
+"sinnvollen Wert enthielt.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Der Driftfaktor wird nicht verändert, da die Zeit der letzten Kalibrierung "
+"Null\n"
+"ist, also die Aufzeichnungen beschädigt sind und die Kalibrierung von neuem\n"
+"starten muss.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Der Driftfaktor wird nicht verändert, da weniger als ein Tag seit der "
+"letzten Kalibrierung vergangen ist.\n"
+
+# Egger
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Die Uhr wich in den vergangenen %2$d Sekunden trotz eines Driftfaktors von "
+"%3$f Sekunden/Tag um %1$.1f Sekunden ab.\n"
+"Der Faktor wird um %4$f Sekunden/Tag geändert.\n"
+
+# Egger
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Es vergingen %d Sekunden seit der letzten Anpassung.\n"
+
+# Egger
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Es mĂĽssen %d Sekunden eingefĂĽgt werden und es muss auf die Zeit vor %.6f "
+"Sekunden zugegriffen werden\n"
+
+# merge with next
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Die adjtime Datei wird nicht aktualisiert – Testmodus \n"
+
+# "Hätte das folgende in die Datei %s geschrieben:\n"
+# passiv, Konjunktiv in der Umschreibungsform
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Folgendes wäre in die Datei %s geschrieben worden:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+# "Abweichungsparameter"
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Die Abweichungsparameter wurden nicht verändert.\n"
+
+# "anpassen"
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"Die Hardwareuhr enthält keine gültige Zeit, deshalb kann sie nicht angepasst "
+"werden.\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Der Driftfaktor wird nicht verändert, da die Zeit der letzten Kalibrierung "
+"Null\n"
+"ist, also die Aufzeichnungen beschädigt sind und die Kalibrierung von neuem\n"
+"starten muss.\n"
+
+# "Justierung"
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"Da die Anpassung weniger als eine Sekunde betragen hätte, wird sie nicht "
+"durchgefĂĽhrt.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Benutze %s.\n"
+
+# "Schnittstelle"
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Keine brauchbare Uhrschnittstelle gefunden.\n"
+
+# "stellen"
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Konnte die Systemuhr nicht stellen.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Der Kernel hebt nur auf Alpha-Maschinen einen Epochen-Wert fĂĽr die Hardware-"
+"Uhr\n"
+"auf. Dieses hwclock wurde fĂĽr eine andere Maschine als Alpha ĂĽbersetzt (und\n"
+"läuft daher vermutlich gerade nicht auf einer Alpha). Es wird nichts "
+"gemacht.\n"
+
+# Egger
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Kann den Epochenwert nicht vom Kernel bekommen.\n"
+
+# Egger
+# "Epochenwert"
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kernel geht von einem Epochenwert von %lu aus.\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Um den Epochenwert zu ändern, müssen sie die „epoch“-Option benutzen, um "
+"anzugeben auf welchen Wert er gesetzt werden soll.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Der Epochenwert wird nicht auf %d gesetzt – Testmodus.\n"
+
+# Egger
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Kann den Epochenwert im Kernel nicht ändern.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d Partitionen:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" hwclock mitteilen, um welchen Alpha-Typ es sich handelt\n"
+" (siehe hwclock(8))\n"
+
+# "stellen"
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "Konnte die Systemuhr nicht stellen.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "ungĂĽltige ID"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s nimmt keine Nicht-Options-Argumente. Sie gaben %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+"%s: Ohne --noadjfile mĂĽssen Sie entweder --utc oder --localtime angeben.\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Keine brauchbare Zeitangabe. Kann Uhr nicht stellen.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Sie müssen root sein, um die Hardwareuhr zu ändern.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Sie müssen root sein, um die Systemuhr zu ändern.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr "Sie müssen root sein, um den „epoch“-Wert zu ändern.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+"Es wurde keine Zugriffsart gefunden, mit der auf die Hardwareuhr zugegriffen "
+"werden konnte.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Benutzen Sie die „--debug“-Option um die versuchten Zugriffsarten "
+"anzuzeigen.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "von MILO gebootet\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Bösartige BCD-Uhr\n"
+
+# Egger
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "Uhrport auf 0x%x gestellt\n"
+
+# debug
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "„funky TOY“!\n"
+
+# The second %s can be:
+# "clock read"
+# "set time"
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: atomares „%s“ schlug bei 1000 Iterationen fehl!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+# Egger, not really nice
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "Ich bekam keine Erlaubnis, weil ich es nicht versucht habe.\n"
+
+# Egger
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"%s kann nicht auf I/O-Port zugreifen: der iopl(3) Aufruf schlug fehl.\n"
+
+# This is not the correct translation, but it
+# explains the situation better.
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Sie benötigen root-Rechte.\n"
+
+# debug
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Warte in Schleife auf Ă„nderung der Zeit von KDGHWCLK\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK-Ioctl scheiterte beim Auslesen der Zeit."
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK-Ioctl scheiterte in Schleife beim Auslesen der Zeit."
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Zeitüberschreitung beim Warten auf Zeitänderung.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "Ioctl KDSHWCLK fehlgeschlagen"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Konnte /dev/tty1 oder /dev/vc/1 nicht öffnen"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK-Ioctl fehlgeschlagen"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl() auf %s, um die Zeit zu lesen, fehlgeschlagen.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Warte in Schleife auf Ă„nderung der Zeit aus %s\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s hat keine Interrupt-Funktionen. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() auf %s, um auf Zeittick zu warten, fehlgeschlagen."
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() auf %s, um auf Zeittick zu warten, fehlgeschlagen."
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "select() auf %s, um auf Zeittick zu warten, Zeit abgelaufen.\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() auf %s, um Update-Interrupts abzuschalten, fehlgeschlagen."
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "ioctl() auf %s, um Update-Interrupts einzuschalten, fehlgeschlagen."
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl() auf %s, um die Zeit zu setzen, fehlgeschlagen.\n"
+
+# debug
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "„ioctl(%s)“ war erfolgreich.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Zum Manipulieren des Epoch-Wertes im Kernel mĂĽssen wir den Linux-"
+"Gerätetreiber ‚rtc†mittels der Gerätedatei %s ansprechen. Diese Datei "
+"existiert auf diesem System nicht.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) auf %s fehlgeschlagen"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "Wir haben Epoche %ld aus %s mit dem RTC_EPOCH_READ-Ioctl gelesen.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr ""
+"Der Epochenwert darf nicht kleiner als 1900 sein. Sie forderten %ld an.\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "Setze Epoche auf %ld mit RTC_EPOCH_SET-Ioctl auf %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Der Kernel-Gerätetreiber für %s hat keinen RTC_EPOCH_SET-Ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) auf %s fehlt"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output keine normale Ausgabe\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Gemeinsamer Speicher Segment shmid=%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Nachrichtenwarteschlange msqid=%d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "zugewiesene Semaphoren = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Semaphorenfeld semid=%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Versionsinformation ausgeben\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Gemeinsamer Speicher Segment shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"Nachrichtenwarteschlange msqid=%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"Semaphorenfeld semid=%d\n"
+
+# libc.po: "Keine Berechtigung"
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "Keine Berechtigung fĂĽr SchlĂĽssel"
+
+# libc.po: "Keine Berechtigung"
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "Keine Berechtigung fĂĽr ID"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "ungĂĽltiger SchlĂĽssel"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "ungĂĽltige ID"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "SchlĂĽssel schon entfernt"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "ID schon entfernt"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "ungĂĽltige ID: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Nicht genug Argumente"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "Ressource(n) gelöscht\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: unzulässiger Schlüssel (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr ""
+"Der Kernel ist nicht konfiguriert, gemeinsamen Speicher zu unterstĂĽtzen.\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "Kernel nicht fĂĽr Semaphoren konfiguriert\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "Kernel nicht fĂĽr Nachrichtenschlangen konfiguriert\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: Unbekanntes Argument: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr "-i Id [-s -q -m] : Details ĂĽber mit Id identifizierte Ressource\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "gefährliche Optionen:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+"Der Kernel ist nicht konfiguriert, gemeinsamen Speicher zu unterstĂĽtzen.\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Gemeinsamer Speicher: Grenzen --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "Maximale Anzahl der Segmente = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "Maximale Segmentgröße (KByte) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "Maximaler gesamter gemeinsamer Speicher (kBytes) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "Minimale Segmentgröße (Bytes) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Gemeinsamer Speicher: Status --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Gemeinsamer Speicher: Erzeuger/Besitzer der Segmente --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "Rechte"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Gemeinsamer Speicher: Attach/Detach/Change-Zeiten --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "Besitzer"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "Attach"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "Detach"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "Change"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ Gemeinsamer Speicher: Erzeuger/Last-Op --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Gemeinsamer Speicher: Segmente --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "SchlĂĽssel"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "Bytes"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "Status"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Nicht gesetzt"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "zerstört"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "gesperrt"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "Kernel nicht fĂĽr Semaphoren konfiguriert\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Semaphorengrenzen --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maximale Anzahl von Feldern = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maximale Semaphoren pro Feld = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "maximale Semaphoren systemweit = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maximale Operations pro Semop-Ruf = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maximaler Semaphorenwert = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semaphorenstatus --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "benutzte Felder = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "zugewiesene Semaphoren = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Semaphorenfelder: Erzeuger/Besitzer --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "SemID"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Semaphore-Operations/Ă„nderungs-Zeiten --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "last-op"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "last-changed"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaphorenfelder --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "Kernel nicht fĂĽr Nachrichtenschlangen konfiguriert\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Nachrichten: Grenzen --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "maximale Warteschlangen systemweit = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximale Größe der Nachricht (Bytes) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "normale maximale Größe der Warteschlange (Bytes) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Nachrichten: Status --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "zugewiesene Warteschlangen = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "benutzte Köpfe = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "benutzter Platz = %d Bytes\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ Nachrichtenwarteschlangen: Erzeuger/Besitzer --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+"------ Nachrichtenwarteschlangen: Versand/Empfang/Ă„nderung-Zeiten --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "Versand"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "Empfang"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "Ă„nderung"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Nachrichtenwarteschlangen: PIDs --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Nachrichtenwarteschlangen --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "Benutzt-Bytes"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "Nachrichten"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Gemeinsamer Speicher Segment shmid=%d\n"
+
+# similiar message below.
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+# similiar message below.
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time = %-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time = %-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "Ă„nderungszeit = %-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Nachrichtenwarteschlange msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "Sendezeit = %-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "Empfangszeit = %-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semaphorenfeld semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "Semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "Wert"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "Pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "ungĂĽltige ID: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "ungĂĽltige ID"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "ungĂĽltige ID: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s ist kein blockorientiertes Gerät"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Konnte „seek()“ nicht auf der Festplatte benutzen"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", Offset %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", Größenbeschränkung %lld"
+
+# VerschlĂĽsselungstyp
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", VerschlĂĽsselungsmethode %s (Typ %d)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: „stat“ gescheitert."
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s: „stat“ gescheitert."
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+# Setup
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"Aufruf:\n"
+" Informationen anzeigen:\n"
+" %s loop-Gerät\n"
+" Löschen:\n"
+" %s -d loop-Gerät\n"
+" Unbenutzte finden:\n"
+" %s -f\n"
+" Setup:\n"
+" %s [ -e Verschlüsselung ] [ -o Offset ] {-f|loop-Gerät} Datei\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: das „loop“-Gerät wurde zweimal angegeben"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "Es wurde keine „--date“-Option angegeben.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "Konnte kein Lock im Speicher bekommen, beende.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: Konnte das Gerät für %s nicht finden\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "Partitionstabelle erneut lesen"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: Einhängen ist fehlgeschlagen"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "Kein"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "Sektorgröße ermitteln"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "Sektorgröße ermitteln"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Fehler beim SchlieĂźen von Datei\n"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "NFS-Socket"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Alte Aufteilung:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: Nur „root“ kann dies tun"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: Nur „root“ kann dies tun"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: nur „root“ kann %s auf %s einhängen"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: Nur „root“ kann dies tun"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s aus %s%s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "Seek-Fehler"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s ist bereits auf %s eingehängt\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: nur „root“ kann %s auf %s einhängen"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s ist bereits auf %s eingehängt\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: Konnte %s nicht in %s finden"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: Konnte %s nicht in %s finden"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: Konnte %s nicht in %s finden"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: konnte Dateisystemtyp nicht feststellen, und es wurde keiner angegeben"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: Sie mĂĽssen den Dateisystemtyp angeben"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "kann %s nicht verknĂĽpfen"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: Einhängen ist fehlgeschlagen"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "mount ist fehlgeschlagen"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: Einhängepunkt %s ist kein Verzeichnis"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: muss Superuser sein, um mount zu verwenden"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s wird gerade benutzt"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s ist bereits eingehängt oder %s wird gerade benutzt"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s ist bereits auf %s eingehängt\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: Einhängepunkt %s existiert nicht"
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "Einhängepunkt %s ist eine symbolische Verknüpfung auf nirgendwo"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: Gerätedatei %s existiert nicht"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "mount ist fehlgeschlagen"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: Spezialgerät %s existiert nicht\n"
+" (ein Pfadpräfix ist kein Verzeichnis)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr ""
+"mount: %s ist noch nicht eingehängt oder es wurden\n"
+" ungĂĽltige Optionen angegeben"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr ""
+"mount: %s ist noch nicht eingehängt oder es wurden\n"
+" ungĂĽltige Optionen angegeben"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: Falscher Dateisystemtyp, ungĂĽltige Optionen, der\n"
+" Superblock von %s ist beschädigt, fehlende\n"
+" Kodierungsseite oder ein anderer Fehler"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Manchmal liefert das Syslog wertvolle Informationen – versuchen\n"
+" Sie dmesg | tail oder so\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: Konnte den Superblock nicht lesen"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: unbekannter Dateisystemtyp „%s“"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s ist kein blockorientiertes Gerät und „stat“ schlägt fehl?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: Das Kernel erkennt %s nicht als blockorientiertes\n"
+" Gerät (Vielleicht hilft „insmod Treiber“?)"
+
+# "versuchen"
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s ist kein blockorientiertes Gerät\n"
+" (Vielleicht probieren Sie „-o loop“?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: kein blockorientiertes Gerät"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s ist kein gültiges blockorientiertes Gerät"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: Konnte %s%s nicht im Nur-Lese-Modus einhängen"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s ist schreibgeschützt, doch Option „-w“ ist explizit gegeben"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: Konnte %s%s nicht im Nur-Lese-Modus einhängen"
+
+# That sounds somehow dumb.
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s ist schreibgeschützt, wird eingehängt im Nur-Lese-Modus"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s ist bereits auf %s eingehängt\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: Konnte %s nicht in %s umbenennen: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: Einhängen ist fehlgeschlagen"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s ist kein Einhängepunkt\n"
+
+#: sys-utils/mountpoint.c:208
+#, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s ist ein Einhängepunkt\n"
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Datei „%s“ konnte nicht geöffnet werden"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld Blöcke\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS sekundär"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "ungültige Inode-Größe"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "Maximale Anzahl der Segmente = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "Maximale Anzahl der Segmente = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "Maximale Anzahl der Segmente = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "Nachrichten"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "Maximale Anzahl der Segmente = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "UngĂĽltiger Nutzername"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "blockorientiertes Gerät "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+# Maybe without the dot.
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Einheit."
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d Partitionen:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "gefährliche Optionen:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Erster Letzter\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unquote die Ausgabe nicht quoten\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Versionsinformation ausgeben\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help dieser kleine Hilfe\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test auf getopt(1)-Version testen\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "Fehler beim Schreiben von %s: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): falsche Tabellen-Zeile\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: Konnte „_stext“ nicht in %s finden\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s: Profil-Adresse auĂźerhalb des Bereichs. Falsche Map-Datei?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "gesamt"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe setarch(8).\n"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s von %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Unbekannter Befehl: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "ungĂĽltiger Auszeit-Wert: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "Benutzer"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: Alte Priorität: %d, neue Priorität: %d\n"
+
+#: sys-utils/rtcwake.c:92
+#, fuzzy
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+"Aufruf: %s [optionen]\n"
+" -d | --device <gerät> zu benutzendes RTC-Gerät (rtc0|rtc1|…)\n"
+" -l | --local RTC benutzt lokale Zeitzone\n"
+" -m | --mode standby|mem|… Schlafmodus\n"
+" -s | --seconds <sekunde> zu schlafende Sekunden\n"
+" -t | --time <time_t> Zeit zum Aufwachen\n"
+" -u | --utc RTC benutzt UTC\n"
+" -v | --verbose ausfĂĽhrliche Nachrichten\n"
+" -V | --version Version anzeigen\n"
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "RTC-Zeit lesen"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "System-Zeit lesen"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "RTC-Zeit konvertieren"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "RTC-Alarm setzen"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "RTC-Alarm aktivieren"
+
+#: sys-utils/rtcwake.c:248
+#, fuzzy
+msgid "set rtc wake alarm failed"
+msgstr "RTC-Weck-Alarm setzen"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "RTC-Alarm aktivieren"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "RTC-Zeit konvertieren"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: nicht erkannter Energiesparmodus „%s“\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "ungĂĽltiger Teiler angegeben"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "ungĂĽltige ID"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: interpretiere RTC als UTC …\n"
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Benutze %s-Zeit.\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Benutze %s-Zeit.\n"
+
+#: sys-utils/rtcwake.c:491
+#, fuzzy
+msgid "must provide wake time (see -t and -s options)"
+msgstr "%s: Weckzeit muss angegeben werden\n"
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s nicht fĂĽr Weckereignisse geeignet\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "Alarm %ld, sys_time %ld, rtc_time %ld, Sekunden %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, fuzzy, c-format
+msgid "time doesn't go backward to %s"
+msgstr "%s: Zeit geht nicht rückwärts zu %s\n"
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: Weckereignis von „%s“, benutze %s bei %s\n"
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: Weckereignis von „%s“, benutze %s bei %s\n"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "(Nächste Datei: %s)"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Schalte auf %s.\n"
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+"Aufruf: %s%s [optionen] [programm [programm-argumente]]\n"
+"\n"
+"Optionen:\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"„%s --help“ gibt weitere Informationen.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"„%s --help“ gibt weitere Informationen.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: nicht erkannte Architektur"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Nicht genug Argumente"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "Aufruf: %s Programm [Argument …]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+# This is used normaly
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "Prozesserzeugung (fork): %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "„exec“ fehlgeschlagen\n"
+
+# The first %s is swapon/swapoff
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s fĂĽr %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "Nicht Superuser.\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr "Eine Partition löschen"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "„stat“ des Pfades fehlgeschlagen\n"
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr ""
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Inode als benutzt kennzeichnen"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Konnte %s nicht öffnen"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Name"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"%s: Warnung: %s hat unsichere Zugriffsrechte %04o, %04o wird empfohlen\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+"%s: Warnung: %s hat unsichere Zugriffsrechte %04o, %04o wird empfohlen\n"
+
+# holes
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: Überspringe die Datei %s – sie scheint Löcher zu enthalten.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+# The first %s is swapon/swapoff
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s fĂĽr %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "VerfĂĽgbare Befehle:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: Konnte das Gerät für %s nicht finden\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s konnte nicht geöffnet werden"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "Das Verzeichnis »%s« konnte nicht gelesen werden"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s konnte nicht geöffnet werden"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "Versuche, %s auszuhängen\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: Konnte das aktuelle Verzeichnis nicht feststellen: %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s konnte nicht geöffnet werden"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Datei „%s“ konnte nicht geöffnet werden"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unquote die Ausgabe nicht quoten\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unquote die Ausgabe nicht quoten\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "ungĂĽltiger Auszeit-Wert: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s ist kein lp-Gerät.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "„LPGETIRQ“ Fehler"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "Der Status von %s ist %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", belegt"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", bereit"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", kein Papier"
+
+# tl: "betriebsbereit"
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", Fehler"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "„LPGETIRQ“ Fehler"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s benutzt IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s benutzt Polling\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "mount ist fehlgeschlagen"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: kein gültiges blockorientiertes Gerät"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "umount: %s: Konnte den „Superblock“ nicht schreiben"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: nur der Superuser kann umount durchfĂĽhren"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: Blockgeräte auf Dateisystem nicht erlaubt"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "Aufruf: %s Programm [Argument …]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Login nach %d Sekunden abgebrochen\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Login nach %d Sekunden abgebrochen\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "blockorientiertes Gerät "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "Status"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "umount: %s: unbekanntes Gerät"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: Unbekanntes Argument: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: Konnte das Gerät %s nicht öffnen: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "VerfĂĽgbare Befehle:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: Unbekanntes Signal %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Kann Auszeit fĂĽr %s nicht ermitteln: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "Seek fehlgeschlagen in write_tables"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f Sekunden\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "ZeitĂĽberschreitung"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Gerät"
+
+# c-format
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s: Version %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: Fehler beim AusfĂĽhren von %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "Fehler beim Ă„ndern der Zugriffsrechte von %s: %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: Konnte den Prozess „%s“ nicht finden.\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: Fehler beim AusfĂĽhren von %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "ungĂĽltiger Auszeit-Wert: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "falsche Geschwindigkeit: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "zu viele alternative Geschwindigkeiten"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "Konnte /dev/%s nicht als Standardeingabe öffnen: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s ist kein zeichenorientiertes Gerät"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: nicht offen fĂĽr Lesen/Schreiben"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: dupâ€Problem: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "Typ: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: gelesen: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: Eingabeâ€Ăśberlauf"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "Benutzer"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "Benutzer"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "„seek“ gescheitert."
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "ist y\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "is n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "zugewiesene Semaphoren = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "ungĂĽltige ID: %s\n"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Ausgabedatei »%s« ist eine Verknüpfung.\n"
+"Benutzen Sie »--force«, wenn Sie es tatsächlich benutzen wollen.\n"
+"Programm nicht gestartet."
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+# Not really nice…
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script wurde gestartet, die Datei ist %s\n"
+
+# The %s must be at the end, 'cause it contains the \n
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Script wurde gestartet: %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: Konnte das Gerät für %s nicht finden\n"
+
+# The %s must be at the end, 'cause it contains the \n
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script beendet: %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script wurde beendet, die Datei ist %s\n"
+
+#: term-utils/script.c:513
+msgid "openpty failed"
+msgstr "„openpty“ ist fehlgeschlagen"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "Keine ptys mehr.\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Konnte %s nicht öffnen"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "Maximale Anzahl der Segmente = %lu\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: unerwartetes Dateiende in %s-Datei\n"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: Fehler bei den Argumenten; Aufruf:\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+# This is only used when strerror(errno) is much too long
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "Kann keinen neuen Prozess erzeugen (fork)"
+
+# This is only used when strerror(errno) is much too long
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "Kann keinen neuen Prozess erzeugen (fork)"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "Konnte %s nicht öffnen\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "kann Stromsparmodus nicht (zurĂĽck)setzen\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "Konnte das Gerät %s nicht zum Schreiben öffnen\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "„klogctl“ Fehler: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Fehler beim Schreiben des Bildschirmdumps\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Konnte %s nicht öffnen\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: Die Umgebungsvariable TERM ist nicht gesetzt.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: Unbekanntes Signal %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "zu viele IOVs (Code in wall/ttymsg.c ändern)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "übermäßig langes Zeilenargument"
+
+# This is only used when strerror(errno) is much too long
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "Kann keinen neuen Prozess erzeugen (fork)"
+
+# This is used normaly
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "Prozesserzeugung (fork): %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "ungĂĽltiger Auszeit-Wert: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Konnte die Größe der Festplatte nicht feststellen"
+
+# XXX – Have to look at other OSs translation for Broadcast
+# Message
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Rundsendenachricht von %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: werde nicht aus %s lesen – benutze Standardeingabe.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "(Nächste Datei: %s)"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "Aufruf: namei [-mx] Dateiname [Dateiname …]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: kann den Namen Ihres TTYs nicht feststellen\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: Ihr Schreibzugriff ist abgeschaltet.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s ist nicht auf %s eingeloggt.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s hat Benachrichtigung auf %s deaktiviert\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s ist nicht eingeloggt\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s hat Benachrichtigung deaktiviert\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s ist mehr als einmal eingeloggt; schreibe auf %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Eingabezeile ist zu lang.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Nachricht von %s@%s (als %s) auf %s um %s …"
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Nachricht von %s@%s auf %s um %s …"
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "„malloc“ schlug fehl"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: Fehler beim Schreiben.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: Ungültiges Argument %s für die Option „-l“.\n"
+
+# %s can be one of the two following texts.
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: Warnung: kann nicht zurĂĽck %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "ĂĽber erste Zeile"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- Zeile schon geschrieben"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: Ungültiges Argument %s für die Option „-l“.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: Ungültiges Argument %s für die Option „-l“.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "ungĂĽltige ID"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "Die angegebene Editionsnummer wird nicht akzeptiert"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: Unbekannte Option „-%c“\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: Verzeichnis ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Keine Textdatei ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Benutzen Sie q oder Q zum Beenden]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Mehr--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Nächste Datei: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Leertaste zum Fortfahren, ›q‹ zum Beenden.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "… %d Seiten zurück"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "… eine Seite zurück"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "…überspringe eine Zeile"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "…überspringe %d Zeilen"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***ZurĂĽck***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Fehler beim Ausführen von „re_exec()“"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"Den meisten Befehlen kann optional ein Ganzzahlargument k vorausgehen; die\n"
+"Voreinstellung in Klammern. Sternchen (*) bedeutet, dass das Argument die "
+"neue\n"
+"Voreinstellung wird.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<Leertaste> die nächsten k Zeilen Text zeigen [Bildschirmgröße]\n"
+"z die nächsten k Zeilen Text zeigen [Bildschirmgröße]"
+"*\n"
+"<Eingabe> die nächsten k Zeilen Text zeigen [1]*\n"
+"d oder Strg-D k Zeilen rollen [momentane Rollgröße, anfangs 11]*\n"
+"q oder Q oder <Untbr> more beenden\n"
+"s k Zeilen Text vorwärtsspringen [1]\n"
+"f k Bildschirme Text vorwärtsspringen [1]\n"
+"b oder Strg-B k Bildschirme Text rückwärtsspringen [1]\n"
+"' zum Anfang der letzten Suche gehen\n"
+"= momentane Zeilennummer zeigen\n"
+"/<regulärer Ausdruck> nach ktem Auftreten des regulären Ausdrucks suchen "
+"[1]\n"
+"n nach ktem Auftreten des letzten reg. Ausdr. suchen "
+"[1]\n"
+"!<bef> oder :!<bef> <bef> in einer Untershell ausfĂĽhren\n"
+"v /usr/bin/vi an momentaner Zeile starten\n"
+"Strg-L Schirm neuzeichnen\n"
+":n zur kten nächsten Datei gehen [1]\n"
+":p zur kten vorigen Datei gehen [1]\n"
+":f momentanen Dateinamen und Zeilennummer zeigen\n"
+". letzten Befehl wiederholen\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Drücken Sie ›h‹ für Hilfe.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "„%s“ Zeile %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Keine Datei] Zeile %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Ăśberlauf\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "…Überspringe\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Muster wurde nicht gefunden\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Muster wurde nicht gefunden"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "Kann keinen neuen Prozess erzeugen\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"…Überspringe "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "…Springe zu Datei"
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "…Springe zurück zu Datei "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Zeile ist zu lang"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Kein vorheriger Befehl, der eingefügt werden könnte"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "Zeile ist zu lang"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: Bytezähler mit mehreren Konvertierungszeichen.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: ungültiger Bytezähler für Umwandlungszeichen %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: %%s benötigt einen Präzisions- oder Bytezähler.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: UngĂĽltiges Format {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: ungĂĽltiges Umwandlungszeichen %%%s.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr ""
+" p Die Partitionstab. auf dem Bildschirm oder in eine Datei "
+"ausgeben"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : nicht wirklich auf Platte schreiben"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Versionsinformation ausgeben\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Versionsinformation ausgeben\n"
+
+# libc: "Die Option „%s“ erfordert ein Argument\n"
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: Option erfordert ein Argument -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: unzulässige Option -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "…springe vorwärts\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "…springe rückwärts\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Keine nächste Datei"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Kein vorhergehende Datei"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Fehler beim Lesen aus %s-Datei\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: unerwartetes Dateiende in %s-Datei\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: unbekannter Fehler in %s-Datei\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Konnte keine temporäre Datei anlegen.\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "Fehler in regulärem Ausdruck: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(Dateiende)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Kein gemerkter Suchtext"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "%s kann nicht geöffnet werden"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "gespeichert"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !befehl im rflag-Modus nicht erlaubt.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() fehlgeschlagen, später versuchen\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Nächste Datei: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "Es wurde keine „--date“-Option angegeben.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "Probleme beim Lesen der terminfo-Datenbank"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Unbekannte Escape-Sequenz in der Eingabe: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Eingabezeile ist zu lang.\n"
+
+#~ msgid "cannot open file %s"
+#~ msgstr "„%s“ konnte nicht geöffnet werden"
+
+#~ msgid "cannot stat file %s"
+#~ msgstr "Status von Gerät %s kann nicht ermittelt werden"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "Aufruf: %s [-hv] [-x Verz] Datei\n"
+#~ " -h diese Hilfe ausgeben\n"
+#~ " -x Verz in Verzeichnis extrahieren\n"
+#~ " -v gesprächiger sein\n"
+#~ " Datei zu testende Datei\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "öffnen scheiterte: %s"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Aufruf: %s [-larvsmf] /dev/name\n"
+
+#~ msgid "unable to open '%s': %m"
+#~ msgstr "Konnte „%s“ nicht öffnen: %m"
+
+#~ msgid "failed to open %s"
+#~ msgstr "%s konnte nicht geöffnet werden"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "Auf Gerät %s kann nicht zugegriffen werden"
+
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "Die Angegebene Blockgröße ist unverständlich"
+
+#~ msgid "cannot stat %s"
+#~ msgstr "auf Gerät %s kann nicht zugegriffen werden"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s: „open“ ist fehlgeschlagen"
+
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "Fehler: Es wird nicht versucht, Swap auf »%s« anzulegen"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "kann nicht auf Gerät %s zugreifen"
+
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: Fehler beim Ă–ffnen"
+
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Aufruf: %s [Optionen] <Gerät>\n"
+#~ "\n"
+#~ "Optionen:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe swaplabel(8).\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Konnte „%s“ nicht öffnen"
+
+# XXX
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Sie werden die Partitionstabelle nicht schreiben können.\n"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Diese Platte hat sowohl DOS- als auch BSD-Magic.\n"
+#~ "Nutzen Sie den „b“-Befehl, um in den BSD-Modus zu gehen.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Partition %i beginnt nicht an einer Zylindergrenze:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "sollte sein (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "sollte sein (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Festplatte %s enthält keine gültige Partitionstabelle\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Konnte %s nicht öffnen\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Dieser Kernel stellt Sektorengröße selbst fest – Option -b ignoriert\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "Speicher aufgebraucht?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: vorzeitiges Ende der Eingabe\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: Konnte %s nicht öffnen: %s\n"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Konnte %s nicht öffnen\n"
+
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Konnte /dev/port nicht öffnen"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Sie haben mehrere Funktionen angefordert.\n"
+#~ "Sie können immer nur eine Funktion gleichzeitig ausführen.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: Die Optionen --utc und --localtime schlieĂźen sich aus. Sie gaben "
+#~ "beide an.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Die Optionen --adjust und --noadjfile schlieĂźen sich aus. Sie gaben "
+#~ "beide an.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Die Optionen --adjust und --noadjfile schlieĂźen sich aus. Sie gaben "
+#~ "beide an.\n"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "Konnte %s nicht öffnen"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Konnte %s nicht öffnen"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Konnte %s nicht öffnen"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: Konnte %s nicht öffnen\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "Konnte %s nicht zum Lesen öffnen"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: die Datei %s ist in Benutzung (%s existiert).\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "Der Wert „%s“ für „%s“ ist außerhalb des Bereiches\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Konnte %s nicht öffnen\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "kann nicht auf Gerät %s zugreifen"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "auf Gerät %s kann nicht zugegriffen werden"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "„seek“ gescheitert."
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "ungĂĽltige ID: %s\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: Aufsetzen des „loop“-Geräts fehlgeschlagen\n"
+
+#, fuzzy
+#~ msgid "--all, --online and --offline options are mutually exclusive"
+#~ msgstr ""
+#~ "%s: Die Optionen --adjust und --noadjfile schlieĂźen sich aus. Sie gaben "
+#~ "beide an.\n"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe mountpoint(1).\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "%s kann nicht geöffnet werden"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: unerwartetes Dateiende in %s-Datei\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "kann kein „stat“ auf %s anwenden"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "kann kein „stat“ auf %s anwenden"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "(Nächste Datei: %s)"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "Konnte „%s“ nicht öffnen"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "Konnte „%s“ nicht öffnen"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "--date-Argument zu lang\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "zugewiesene Semaphoren = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: ungültiger Längenwert.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: ungĂĽltiger Ăśberspring-Wert.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Aufruf: %s [-zahl] [-p zkette] [-cefnrs] [+zeile] [+/muster/] "
+#~ "[dateien]\n"
+
+#~ msgid "Cannot open "
+#~ msgstr "Kann nicht öffnen "
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "Konnte „%s“ nicht zum Lesen öffnen\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "kann nicht auf Gerät %s zugreifen"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d Eine BSD-Partition löschen"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l Die bekannten Dateisystemtypen anzeigen"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n Eine neue BSD-Partition anlegen"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p Die BSD-Partitionstabelle anzeigen"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t Den Dateisystemtyp einer Partition ändern"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u Einheiten ändern (Zylinder/Sektoren)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p Die Partitionstabelle anzeigen"
+
+#, fuzzy
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Erstelle neue DOS-Bootsektoren. Die Ă„nderungen werden vorerst nur im "
+#~ "Speicher\n"
+#~ "gemacht, bis Sie sich entscheiden, sie zu schreiben. Danach ist natĂĽrlich "
+#~ "der\n"
+#~ "vorherige Inhalt unrettbar verloren.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Das Gerät enthält weder eine gültige DOS-Partitionstabelle,\n"
+#~ "noch einen „Sun“, „SGI“ oder „OSF disklabel“\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Interner Fehler\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tTut mir leid, kein Experten-MenĂĽ fĂĽr SGI-Partitionstabellen verfĂĽgbar.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr ""
+#~ "Wissen Sie, dass Sie eine PartitionenĂĽberlappung auf der Platte haben?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Erstelle neue SGI-Bootsektoren. Die Ă„nderungen werden vorerst nur im "
+#~ "Speicher\n"
+#~ "gemacht, bis Sie sich entscheiden, sie zu schreiben. Danach ist natĂĽrlich "
+#~ "der\n"
+#~ "vorherige Inhalt unrettbar verloren.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "Speicher ist aufgebraucht – Abbruch\n"
+
+#, fuzzy
+#~ msgid "%-20s: failed: %s\n"
+#~ msgstr "„fork“ fehlgeschlagen\n"
+
+#, fuzzy
+#~ msgid "%-20s: failed\n"
+#~ msgstr "„seek“ gescheitert."
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: wenig Speicher, Einloggen könnte fehlschlagen\n"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "can't malloc for ttyclass"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#~ msgid "can't malloc for grplist"
+#~ msgstr "can't malloc for grplist"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Login on %s from %s denied by default.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Login on %s from %s denied.\n"
+
+# XXX - Merge with next strings.
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Aufruf: %s [ -f ganzer_Name ] [ -o Bureau ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "login: PAM-Fehlschlag, breche ab: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Aufruf: %s [ -s Shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ Benutzername ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s: kann nur lokale Einträge ändern; stattdessen yp%s benutzen.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: Kann keinen voreingestellten Kontext fĂĽr /etc/passwd setzen"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "„seek“ gescheitert."
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: Benutzen Sie die Option -l fĂĽr eine Liste\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Rufen Sie „%s -l“ auf, um die Liste zu sehen.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "Aufruf: login [-fp] [Benutzername]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "Speicher ist alle"
+
+#~ msgid "Illegal username"
+#~ msgstr "UngĂĽltiger Nutzername"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s Login auf diesem Terminal verweigert.\n"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "LOGIN %s REFUSED FROM %s ON TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "LOGIN %s REFUSED ON TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Login inkorrekt\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "zugewiesene Semaphoren = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: Kann keinen neuen Prozess erzeugen: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s Anmeldung: "
+
+#~ msgid "NAME too long"
+#~ msgstr "NAME zu lang"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "Login-Name viel zu lang.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "Benutzernamen dürfen nicht mit einem „-“ anfangen.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "EXZESSIV viele ZeilenvorschĂĽbe"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "zu viele nackte ZeilenvorschĂĽbe\n"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "LOGIN FAILURE FROM %s, %s"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "LOGIN FAILURE ON %s, %s"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d LOGIN FAILURES FROM %s, %s"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d LOGIN FAILURES ON %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: die Gruppendatei ist in Benutzung.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: kann %s nicht entsperren: %s (Ihre Ă„nderungen sind noch in %s)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "„malloc“ schlug fehl"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "Festplatte %s enthält keine gültige Partitionstabelle\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: Nutzer „%s“ existiert nicht.\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: Konnte keine Informationen über das Gerät %s erhalten: %s\n"
+
+#, fuzzy
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", Offset %d"
+
+# VerschlĂĽsselungstyp
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", VerschlĂĽsselungstyp %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: Konnte keine Informationen über das Gerät %s erhalten: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: Konnte das Gerät %s nicht öffnen: %s\n"
+
+#, fuzzy
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: Keine Zugriffsrechte, um auf /dev/loop# zu schauen"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Konnte kein „loop“-Gerät finden. Vielleicht kennt dieser Kernel\n"
+#~ " kein „loop“-Gerät? (Wenn dies der Fall ist, dann sollten Sie den\n"
+#~ " Kernel neu kompilieren oder „modprobe loop“ ausführen.)"
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Speicher ist alle beim Vergrößern eines Puffers.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "Sektor %d wird bereits benutzt\n"
+
+# That sounds somehow dumb.
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "mount: %s%s ist schreibgeschützt, wird eingehängt im Nur-Lese-Modus"
+
+#, fuzzy
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu): Erfolg\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): Erfolg\n"
+
+# this is actually an open()…
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: Konnte das Gerät %s nicht löschen: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Dieses mount wurde ohne Loop-UnterstĂĽtzung ĂĽbersetzt. Bitte neu "
+#~ "ĂĽbersetzen.\n"
+
+#, fuzzy
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "mount: loop=%s gestohlen …versuche es erneut\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Zur Ăśbersetzungszeit war keine Loop-UnterstĂĽtzung verfĂĽgbar. Bitte neu "
+#~ "ĂĽbersetzen.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Aufruf: %s [-q [-i Intervall]] ([-s Wert]|[-S Wert]) ([-t Wert]|[-T "
+#~ "Wert]) [-g|-G] Datei [Datei…]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Konnte %s nicht öffnen: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: Konnte %s nicht öffnen: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: UngĂĽltiger Wert\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "„fork“ fehlgeschlagen\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "veralteter, nicht empfohlener, Aufruf: %s {shm | msg | sem} Id …\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "unbekannter Ressourcentyp: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "Aufruf: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] … ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "unbekannter Fehler im SchlĂĽssel"
+
+#~ msgid "unknown error in id"
+#~ msgstr "unbekannter Fehler in ID"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s liefert Informationen ĂĽber Einrichtungen von IPC (Inter Process\n"
+#~ "Communication), auf die Sie Lesezugriff haben.\n"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s von %s\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Aufruf: %s [optionen]\n"
+#~ "\t -m <mapfile> (Voreinstellung = „%s“\n"
+#~ "\t und „%s“)\n"
+#~ "\t -p <pro-file> (Voreinstellung = „%s“)\n"
+#~ "\t -M <mult> Profiling-Multiplier auf <mult> setzen\n"
+#~ "\t -i nur Informationen ĂĽber die Schrittweite ausgeben\n"
+#~ "\t -v ausfĂĽhrliche Daten ausgeben\n"
+#~ "\t -a alle Symbole ausgeben, auch wenn Zähler 0 ist\n"
+#~ "\t -b einzelne Histogramm-Eimer-Zähler ausgeben\n"
+#~ "\t -s einzelne Zähler innerhalb von Funktionen ausgeben\n"
+#~ "\t -r alle Zähler zurücksetzen (nur root)\n"
+#~ "\t -n Byte-Anordnungs-Erkennung abschalten\n"
+#~ "\t -V Versionsinformation ausgeben und beenden\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: Fehler beim Schreiben von %s: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "„%s --help“ gibt weitere Informationen.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "Aufruf: %s Programm [Argument …]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Aufruf: %s <gerät> [ -i <IRQ> | -t <ZEIT> | -c <ZEICHEN> | -w <WARTEN> "
+#~ "| \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: UngĂĽltiger Wert\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "FĂĽr weitere Informationen siehe setarch(8).\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "Fehler beim SchlieĂźen von Datei\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Tut mir leid, Sie können das Tag nicht-leerer Partitionen ändern.\n"
+
+# XXX – Merge with next strings.
+#~ msgid "Warning: partition %s "
+#~ msgstr "Warnung: Partition %s "
+
+# XXX – Merge with next strings.
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Warnung: Partitionen %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "and %s ĂĽberlappen sich\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "gerät: etwas wie /dev/hda oder /dev/sda"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "Bytes"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -l [ Signal ]\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [Geräte]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] Befehle Geräte\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "VerfĂĽgbare Befehle:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: Konnte %s nicht öffnen\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "Seek-Fehler"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "Aufruf: %s [ -n ] Gerät\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: kein blockorientiertes Gerät\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "„malloc“ schlug fehl"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: Fehler beim Parsen der Option\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Aufruf: %s [-x] [-d <Zahl>] iso9660-Image\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Aufruf: %s [-v] [-N zahl-der-inodes] [-V volume-name]\n"
+#~ " [-F fsname] gerät [block-anzahl]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "kann kein „stat“ auf %s anwenden"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "„fork“ fehlgeschlagen\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Aufruf: %s [-c] [-v0|-v1] [-pSEITENGRÖSSE] [-L Label] /dev/Name [Blöcke]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Speicher ist aufgebraucht"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "Aufruf:\n"
+
+# "Ausrichtung" "Nehme horizontale Voreinstellung."
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "MenĂĽ ohne Richtung, verwende horizontal."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr "Sie müssen erst eine Partion löschen und eine erweiterte anlegen.\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Befehl Aktion\n"
+#~ " %s\n"
+#~ " p Primäre Partition (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [oder --show-size]: Größe einer Partition anzeigen"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [oder --id]: Partitions-Id ausgeben oder ändern"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [oder --list]: Partitionen jedes Geräts auflisten"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [oder --dump]: genauso, aber in einem für späteres "
+#~ "Wiedereinlesen\n"
+#~ " geeigneten Format"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [oder --increment]: Zylinder usw. von 1 statt von 0 an zählen"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: in Einheiten von Sektoren/Blöcken/Zylindern/"
+#~ "MB\n"
+#~ " akzeptieren/ausgeben"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [oder --list-types]:bekannte Partitionstypen auflisten"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [oder --DOS]: für DOS-Kompatibilität: ein wenig Platz "
+#~ "verschwenden"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ "-R [oder --re-read]: den Kernel zum Neueinlesen der Partitionstabelle\n"
+#~ " veranlassen"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : nur die Partition Nummer # ändern"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O datei : die zu ĂĽberschreibenden Sektoren in Datei "
+#~ "speichern"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I datei : diese Sektoren wieder herstellen"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [oder --version]: Version ausgeben"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [oder --help]: diese Meldung ausgeben"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [oder --show-geometry]: die Vorstellungen des Kernels zur "
+#~ "Geometrie\n"
+#~ " ausgeben"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [oder --Linux]: nicht ĂĽber fĂĽr Linux irrelevante Dinge "
+#~ "beschweren"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [oder --quiet]: Warnmeldungen unterdrĂĽcken"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Sie können die erkannte Geometrie überstimmen:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# [oder --cylinders #]: Zahl der Zylinder setzen"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [oder --heads #]: Zahl der Köpfe setzen"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [oder --sectors #]: Zahl der Sektoren setzen"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Sie können jegliche Konsistenzprüfungen abschalten mit:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [oder --force]: mach was ich sag, auch wenn’s dumm ist"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: Sie mĂĽssen den Dateisystemtyp angeben"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr "Aufruf: mkfs [-V] [-t FS-Typ] [FS-Optionen] Gerät [Größe]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Konnte %s nicht öffnen: %s\n"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s von %s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "Kein Speicherplatz für „inodes“ verfügbar"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "„getopt --help“ gibt weitere Informationen.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Aufruf: getopt Optionszeichenkette Parameter\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [Optionen] [--] Optionszeichenkette Parameter\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " Parameter\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (enhanced) 1.1.4\n"
+
+#~ msgid "Cannot open /dev/port: %s"
+#~ msgstr "Konnte /dev/port nicht öffnen: %s"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Erwartet: „UTC“ oder „LOCAL“ oder nichts.)\n"
+
+# "Universalzeit"
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock – Die Hardwareuhr (RTC) setzen und abfragen\n"
+#~ "\n"
+#~ "Aufruf: hwclock [Funktion] [Optionen…]\n"
+#~ "\n"
+#~ "Funktionen:\n"
+#~ " --help diese Hilfe zeigen\n"
+#~ " --show Zeit der Hardwareuhr anzeigen\n"
+#~ " --set die Hardwareuhr auf die Zeit setzen, die mit der\n"
+#~ " „--date“-Option angegeben wurde\n"
+#~ " --hctosys die Systemzeit von der Hardwareuhr setzen\n"
+#~ " --systohc die Hardwareuhr auf die Systemzeit setzen\n"
+#~ " --adjust die Hardwareuhr anpassen, um systematische bedingte "
+#~ "Abweichungen\n"
+#~ " seit dem letzten Setzen oder Anpassen auszugleichen\n"
+#~ " --getepoch den Epochenwert der Hardwareuhr anzeigen\n"
+#~ " --setepoch den Epochenwert der Hardwareuhr auf den Wert stellen,\n"
+#~ " der mit der „--epoch“-Option angegeben wurde\n"
+#~ " --version die Version von hwclock anzeigen \n"
+#~ "\n"
+#~ "Optionen: \n"
+#~ " --utc die Hardwareuhr läuft nach Universalzeit (UTC)\n"
+#~ " --localtime die Hardwareuhr läuft nach lokaler Zeit\n"
+#~ " --rtc=path spezielle Gerätedatei, anstelle der Voreinstellung\n"
+#~ " --directisa den ISA Bus direkt anstelle von %s verwenden\n"
+#~ " --badyear die Jahreszahl der Hardwareuhr ignorieren, weil BIOS "
+#~ "kaputt ist\n"
+#~ " --date diese Zeit zum setzen der Hardwareuhr verwenden\n"
+#~ " --epoch=year diesen Wert als Epochenwert der Hardwareuhr verwenden\n"
+#~ " --noadjfile nicht auf /etc/adjtime zugreifen; erfordert Benutzung "
+#~ "von\n"
+#~ " entweder --utc oder --localtime\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "Konnte keinen Speicher für den „initstring“ reservieren"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Aufruf: %s [-hiLmw] [-l login_programm] [-t zeitlimit] [-I initstring] [-"
+#~ "H login_host] baud_rate,… zeile [termtype]\n"
+#~ " oder: [-hiLmw] [-l login_programm] [-t zeitlimit] [-I initstring] [-H "
+#~ "login_host] zeile baud_rate,… [termtype]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "Aufruf: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: BAD ERROR"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "Aufruf: %s [Datei]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: Konnte %s nicht lesen.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: Konnte %s nicht öffnen: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "Aufruf: logger [-is] [-f Datei] [-p Pri] [-t Tag] [-u Socket] [ Meldung "
+#~ "… ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "Aufruf: look [-dfa] [-t Endzeichen] Zeichenkette [Datei]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "Speicher aufgebraucht?\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "Aufruf: %s von nach Dateien…\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "Aufruf: script [-a] [-f] [-q] [-t] [Datei]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "Fehler beim Schreiben auf %s\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "Fehler beim Schreiben auf %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term Terminalname ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ Attribut ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 … ] ] (tabN = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 … ] ] (tabN = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#, fuzzy
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-Anzahl_Konsolen] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-Anzahl_Konsolen] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq Freqnummer ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr "Aufruf: last [-#] [-f datei] [-t tty] [-h hostame] [nutzer …]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ Signal ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM Verzeichnis … -f ] Name…\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "Aufruf: write Nutzer [TTY]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: Konnte %s nicht öffnen: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "unbekannter"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Aufruf: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Shutdown-Prozess abgebrochen"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Nur root kann ein System herunterfahren.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "Das muss morgen sein, können Sie nicht bis dann warten?\n"
+
+# What the f… (MPi)
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "zur Systempflege; bounce, bounce"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Das System wird innerhalb der nächsten 5 Minuten heruntergefahren"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Das Einloggen ist daher untersagt."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "neu gestartet durch %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "angehalten durch %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Warum bin ich nach dem Neustart noch am Leben?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Sie können den Rechner jetzt abschalten…"
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Rufe die Abschaltfunktion des Kernels…\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Fehler beim Abschalten\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Führe Programm „%s“ aus…\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Fehler beim AusfĂĽhren\t%s\n"
+
+# XXX - Have to look at other OSs translation for Broadcast
+# Message
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "DRINGEND: Rundsendenachricht von %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "System fährt in %d Stunden und %d Minuten herunter"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "System fährt in einer Stunde und %d Minuten herunter"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "System fährt in %d Minuten herunter\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "System fährt in einer Minute herunter\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "System fährt SOFORT herunter!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t… %s …\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Kann nicht in swapoff verzweigen. Schulterzuck!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr ""
+#~ "Kann swapoff nicht ausführen, versuche es mal mit umount zum Aushängen."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Kann nicht in umount verzweigen, versuche es von Hand."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Kann %s nicht ausführen, versuche umount zum Aushängen.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Kann umount nicht ausführen, gebe es mit dem Aushängen auf."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Aushängen aller restlichen Dateisysteme…"
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: konnte %s nicht aushängen: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Boote zum Single-User-Modus.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "„exec“ der Single-User-Shell fehlgeschlagen\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "„fork“ der Single-User-Shell fehlgeschlagen\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "Fehler beim Öffnen der „fifo“\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "Fehler beim Setzen von „close-on-exec“ auf /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "Fehler beim „exec“ von finalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "Fehler beim „fork“ von finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Falsches Passwort.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "„lstat“ des Pfades fehlgeschlagen\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "„fork“ fehlgeschlagen\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "Konnte inittab nicht öffnen\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "kein TERM oder kann nicht auf TTY zugreifen\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "Fehler beim Stoppen des Service „%s“"
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "Fehler beim Stoppen des Service „%s“"
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "Fehler beim Stoppen des Service „%s“"
+
+# "Level"
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Aufruf: %s [-c] [-n Level] [-s Puffergröße]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "Konnte %s nicht öffnen"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "„malloc“ schlug fehl"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "Aufruf: col [-bfpx] [-l AnzahlZeilen]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "Aufruf: %s [ - ] [ -2 ] [ Datei … ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_datei] [-n länge] [-s überspringen] "
+#~ "[datei …]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr ""
+#~ "Aufruf: %s [-dflpcsu] [+Zeilennummer | +/Muster] Dateiname1 Dateiname2 …\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: Konnte %s nicht lesen.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: Zeile ist zu lang.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "Aufruf: %s [Datei]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "„malloc“ schlug fehl"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Aufruf: tailf Logdatei\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "Aufruf: %s [ -i ] [ -t Terminalname ] Datei …\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "Konnte %s nicht öffnen\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Konnte keinen weiteren Speicher reservieren\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "dreimalig EOF bekommen – beende…\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: malloc-Fehlschlag.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Speicher ist alle!\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Konnte nicht in das Verzeichnis %s wechseln!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: kein Speicher fĂĽr Shellskipt.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: keine Shell: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+# libc.po: "Keine Berechtigung"
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: Keine Berechtigung"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: Kann keinen neuen Prozess erzeugen (fork)\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: Konnte %s nicht lesen.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: Konnte „stat“ nicht auf eine temporäre Datei anwenden.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: Konnte eine temporäre Datei nicht lesen.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "Fehler beim Schreiben auf %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "Seek-Fehler"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " und "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: Unbekannter Benutzer: %s\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: UngĂĽltiger Wert: %s\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: von od(1) wird zugunsten von hexdump(1) abgeraten.\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr ""
+#~ "od: Kompatibilität mit hexdump(1) unterstützt die Option -%c nicht%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; siehe strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Partition endet im letzten teilweisen Zylinder"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: Speicher ist alle!\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "Konnte %s nicht öffnen"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: unzulässiges Intervall %s Sekunden\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: unzulässige time_t-Wert %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: konnte %s nicht in %s umbenennen: %s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "RTC gelesen"
+
+#~ msgid "malloc error"
+#~ msgstr "Fehler bei malloc"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "Aufruf: column [-tx] [-c Spalten] [Datei …]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "Speicher ist aufgebraucht"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "Aufruf: rev [Datei …]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Konnte keinen Speicher fĂĽr einen Puffer reservieren.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Speicher ist alle beim Vergrößern eines Puffers.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: unzulässige Option -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "allozierte Segmente %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "allozierte Seiten %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "residente Seiten %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "geswappte Seiten %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Swapleistung: %ld Versuche\t %ldErfolge\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "Fehler beim „exec“ von finalprog\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "UngĂĽltiger Wert zu setzen: %s\n"
+
+#, fuzzy
+#~ msgid "current"
+#~ msgstr "ncount"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "Neue"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Aufruf: fdisk [-b SSZ] [-u] FESTPLATTE Partitionstabelle bearbeiten\n"
+#~ " fdisk -l [-b SSZ] [-u] FESTPLATTE Partitionstabelle(n) ausgeben\n"
+#~ " fdisk -s PARTITION Größe einer Partition in "
+#~ "Blöcken\n"
+#~ " fdisk -v Version anzeigen\n"
+#~ "\n"
+#~ "FESTPLATTE ist zum Beispiel /dev/hda oder /dev/sda\n"
+#~ "PARTITION ist zum Beispiel /dev/hda7\n"
+#~ "\n"
+#~ "-u: „Anfang“ und „Ende“ werden in Sektoren statt in Zylindern angegeben\n"
+#~ "-b 2048: (für bestimmte MO-Geräte) 2048-Byte-Sektoren benutzen\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Aufruf: fdisk [-l] [-b SSZ] [-u] Gerät\n"
+#~ "Zum Beispiel: fdisk /dev/hda (die erste IDE-Festplatte)\n"
+#~ " oder: fdisk /dev/sdc (die dritte SCSI-Festplatte)\n"
+#~ " oder: fdisk /dev/eda (die erste PS/2 ESDI-Festplatte)\n"
+#~ " oder: fdisk /dev/rd/c0d0\n"
+#~ " oder: fdisk /dev/ida/c0d0 (RAID-Festplatten)\n"
+#~ " …\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Die Anzahl der Zylinder fĂĽr diese Platte ist auf %d gesetzt.\n"
+#~ "Daran ist nichts verkehrt, aber das ist größer als 1024 und kann\n"
+#~ "in bestimmten Konfigurationen Probleme hervorrufen mit:\n"
+#~ "1) Software, die zum Bootzeitpunkt läuft (z. B. ältere LILO-Versionen)\n"
+#~ "2) Boot- und Partitionierungssoftware anderer Betriebssysteme\n"
+#~ " (z. B. DOS FDISK, OS/2 FDISK)\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: loop=%s gestohlen …versuche es erneut\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "Aufruf: %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i Id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h fĂĽr weitere Informationen.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Ressourcenspezifikation:\n"
+#~ "\t-m : gemeinsamer Speicher\n"
+#~ "\t-q : Nachrichten\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : Semaphoren\n"
+#~ "\t-a : alles (Voreinstellung)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Ausgabeformat:\n"
+#~ "\t-t : Zeit\n"
+#~ "\t-p : Pid\n"
+#~ "\t-c : Erzeuger\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : Grenzen\n"
+#~ "\t-u : Zusammenfassung\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "Fehler in regulärem Ausdruck: "
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "Fehler beim Lesen von %s\n"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr "Aufruf: rdev [ -rv ] [ -o OFFSET ] [ BILD [ WERT [ OFFSET ] ] ]"
+
+# Oh well, "ROOT-Gerät" sounds sooo stupid
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (oder rdev /linux etc.) das aktuelle ROOT-Gerät anzeigen"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 ROOT auf /dev/hda2 setzen"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 ROOTFLAGS setzen (Nur-Lese-Status)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 Größe der RAMDISK setzen"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/fd0 1 VIDEOMODE bei Booten setzen"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N … Byte-Offset N benutzen"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags … das gleiche wie rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize … das gleiche wie rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode … das gleiche wie rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Bem.: Videomodi sind: -3=fragen, -2=Erweitert, -1=NormalVGA, "
+#~ "1=schlüssel1, …"
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " nehmen Sie -R 1, um im Nur-Lesen-Modus einzuhängen, -R 0 für lesen/"
+#~ "schreiben."
+
+#~ msgid "missing comma"
+#~ msgstr "fehlendes Komma"
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "Speicher ist alle"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "SunOS alt sectors"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "Anfang"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Maxsize=%ld\n"
+
+# "bootfähig"
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX bootfähig"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Shell nicht geändert.\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: Fehler: Label nur mit V1-Swapbereich\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "fatal: erste Seite nicht lesbar"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: Das Gerät %s enthält einen gültigen „Sun disklabel“.\n"
+#~ "Das bedeutet wahrscheinlich, dass das Anlegen eines v0â€Swapbereiches die\n"
+#~ "Partitionstabelle zerstören wird.\n"
+#~ "Es wird kein Swapbereich angelegt. Wenn Sie wirklich einen Swapbereich\n"
+#~ "anlegen wollen, so benutzen Sie die Option -f.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: Konnte nicht in das root-Verzeichnis wechseln!\n"
+
+# XXX
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: Konnte nicht auf Wurzelverzeichnis zugreifen!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: Puffer-Ăśberlauf\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? Konnte nicht in das Verzeichnis %s wechseln – %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? Probleme beim Lesen der symbolischen Verknüpfung %s – %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr ""
+#~ " *** Die maximale Zahl der symbolischen VerknĂĽpfungen wurde "
+#~ "ĂĽberschritten ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: Unbekannter Dateityp 0%06o der Datei %s\n"
+
+#, fuzzy
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: werde %s mittels UUID einhängen\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: werde %s mittels Label einhängen\n"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: Kann keinen neuen Prozess erzeugen (fork)\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: fehlschlagenes Ă–ffnen von: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "konnte %s nicht aushängen – versuche stattdessen %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#, fuzzy
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM-Fehlschlag, breche ab: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "Kann %s nicht lesen, beende."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM-Fehlschlag, breche ab: %s\n"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: „%s“ wird im Hintergrund fortgesetzt\n"
+
+# Not really nice
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: „%s“ schlug fehl\n"
+
+# Debug-Zeugs
+#~ msgid "calling open_tty\n"
+#~ msgstr "calling open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "calling termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "writing init string\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "before autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "waiting for cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "reading login name\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "after getopt loop\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "exiting parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "entered parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "exiting parsespeeds\n"
+
+# debug
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "duping\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+# Unten noch mal mit Punkt
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Warnung: „%s“ ist nicht in /etc/shells aufgeführt\n"
+
+# debug
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "timeout = %d, quiet = %d, reboot = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "konnte %s nicht lsesn, und kann Ioctl-Dump nicht durchfĂĽhren\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", Offset %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: Konnte kein Gerät /dev/loop# finden"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "Aufruf: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p Priorität] Spezialdatei|LABEL=Volume_Name …\n"
+#~ " %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "Aufruf: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] Spezialdatei …\n"
+
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: kann %s nicht kanonisieren: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "Aufruf: renice Priorität [[-p] PIDs ] [[-g] PGRPs ] [[-u] "
+#~ "Benutzernamen ]\n"
+
+#~ msgid "\t-%c\tEnable %s\n"
+#~ msgstr "\t-%c\tAktiviere %s\n"
+
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "Unbekannte Option „-%c“ ignoriert"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "„%s“: ungültiges Verzeichnis: „.“ kommt nicht zuerst\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "„%s“: ungültiges Verzeichnis: „..“ kommt nicht als zweites\n"
+
+#~ msgid "Password error."
+#~ msgstr "Passwortâ€Fehler."
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Es wird eine Seitengröße von %d (nicht %d) angenommen.\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "Autoconfigure gefunden bei %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Laufwerkstyp\n"
+#~ " ? Auto-Konfiguration\n"
+#~ " 0 von Hand (mit Voreinstellungen aus der Hardwareerkennung)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Typ wählen (? für Auto, 0 für von Hand): "
+
+# XXX Oder abwechselnde?
+#~ msgid "Alternate cylinders"
+#~ msgstr "Alternative Zylinder"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Physikalische Zylinder"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Sie können alle Plattenparameter aus dem x-Menü heraus ändern"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5″-Diskette"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux custom"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s aus util-linux-%s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: Fehler: das Label %s gibt es sowohl auf %s als auch auf %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: konnte %s nicht öffnen, also können UUID- und Label-Konvertierung "
+#~ "nicht durchgefĂĽhrt werden.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: ungĂĽltige UUID"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: Mit NFS Version 4 fehlgeschlagen, versuche Version 3…\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: Hänge %s ein\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: Fehler beim Erraten des Dateisystemtyps\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: übermäßig langes host:dir-Argument\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: Mehrere Rechnernamen werden nicht unterstĂĽtzt\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: einzuhängendes Verzeichnis nicht im host:dir-Format\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: Konnte die Adresse von %s nicht herausfinden\n"
+
+# unten nochmal als Frage, und fĂĽr umount
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: ungĂĽltige hp->h_length bekommen\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: übermäßig langes Options-Argument\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Warnung: unbekannte „proto=“-Option.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Warnung: Die Option „namlen“ wird nicht unterstützt.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "Unbekannter nfs-Mount-Parameter: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Warnung: Die Option „nolock“ wird nicht unterstützt.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "unbekannte nfs-Mount-Option: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: ungĂĽltige hp->h_length bekommen?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "NFS-bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "NFS-Server meldete Service als nicht verfĂĽgbar"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "Portmapper benutzt um NFS-Port zu finden\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "benutze Port %d für NFS-Dämonen\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "unbekannter NFS-Status-RĂĽckgabewert: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "Rechner: %s, Verzeichnis: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: Konnte die Adresse von %s nicht herausfinden\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: ungĂĽltige hp->h_length bekommen\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: ungültiges cramfs – ungültige Pfadlänge\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: ungültiges cramfs – falsche Magie\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr "%s: Warnung – Dateilänge zu lang, aufgefülltes Abbild?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: ungĂĽltiges cramfs -- CRC-Fehler\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: ungültiges cramfs – ungültiger Superblock\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Syntaxfehler: „%s“\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Keine solche Parametermenge: „%s“\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr " %s [ -p ] Gerät Name\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ " %s [ -p ] gerät größe sekt köpfe spuren stretch lücke rate spec1 "
+#~ "fmt_lĂĽcke\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] Gerät\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] Gerät\n"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "Konnte /dev/urandom nicht öffnen"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "konnte keine zufälligen Daten aus /dev/urandom lesen"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "stat(%s) fehlgeschlagen"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "%s hat nicht den korrekten Dateimodus"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "kann keine Daten von %s lesen"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "Bereits zu viele Nutzer eingeloggt.\n"
+#~ "Versuchen Sie es später wieder.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Sie haben zu viele Prozesse am Laufen.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "Das Passwort muss mindesten 6 Zeichen haben, nochmal bitte.\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "Das Passwort muss Zeichen aus zwei der folgenden Klassen enthalten:\n"
+#~ "GroĂź- und Kleinbuchstaben, Ziffern und nicht-alphanumerische Zeichen.\n"
+#~ "Siehe auch passwd(1) fĂĽr weitere Informationen.\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "Sie können das alte Passwort nicht wiederbenutzen.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr ""
+#~ "Benutzen Sie bitte nicht etwas wie Ihren Nutzernamen als Passwort!\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr ""
+#~ "Benutzen Sie bitte nicht etwas wie Ihren echten Namen als Passwort!\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Aufruf: passwd [nutzername [passwort]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "Nur root kann die ein- und zweiargumentigen Formen benutzen.\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Aufruf: passwd [-foqsvV] [nutzer [passwort]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "Kann %s nicht ausfĂĽhren: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "Kann Login-namen nicht finden"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Nur root kann das Passwort für andere ändern.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr "Kann Nutzernamen nirgends finden. Ist „%s“ wirklich ein Nutzer?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr ""
+#~ "Tut mir leid, ich kann nur lokale Passwörter ändern. Bitte yppasswd "
+#~ "benutzen."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "UID und Nutzername stimmen nicht ĂĽberein, Hochstapler!"
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "Ă„ndere Passwort fĂĽr %s\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Altes Passwort: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Illegales Passwort, Hochstapler."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Neues Passwort: "
+
+#~ msgid "Password not changed."
+#~ msgstr "Passwort nicht geändert."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Neues Passwort wiederholen: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Sie haben sich vertippt. Passwort nicht geändert."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "Passwort geändert, Nutzer %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "ROOT-PASSWORT GEĂ„NDERT"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "Passwort durch root geändert, Nutzer %s"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "rufe setpwnam, um Passwort zu setzen.\n"
+
+#~ msgid "Password *NOT* changed. Try again later.\n"
+#~ msgstr "Passwort *NICHT* geändert. Später erneut versuchen.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Passwort geändert.\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr ""
+#~ "mount: Diese Version wurde ohne Unterstützung für den Typ „nfs“ kompiliert"
+
+#~ msgid "flock: unknown option, aborting.\n"
+#~ msgstr "flock: Unbekannte Option, breche ab.\n"
+
+#~ msgid ""
+#~ "Usage flock [--shared | --timeout=seconds] filename command {arg arg...}\n"
+#~ msgstr ""
+#~ "Aufruf: flock [--shared | --timeout=Sekunden] Dateiname Befehl {Arg "
+#~ "Arg…}\n"
+
+#~ msgid "Warning: omitting partitions after %d\n"
+#~ msgstr "Warnung: lasse Partitionen hinter %d aus\n"
+
+#~ msgid "mount: %s duplicate - not mounted"
+#~ msgstr "mount: %s doppelt – nicht eingehängt"
+
+# I think this should not be translated
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "mount: the label %s occurs on both %s and %s - not mounted\n"
+#~ msgstr ""
+#~ "mount: das Label %s gibt es sowohl auf %s als auch\n"
+#~ " auf %s – nicht eingehängt\n"
+
+#~ msgid "umount: only root can unmount %s from %s"
+#~ msgstr "umount: Nur „root“ kann %s von %s aushängen"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "Boot (%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Keine (%02X)"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ " Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: Konnte kein „loop“-Gerät finden.\n"
+#~ " Vielleicht hat /dev/loop# eine falsche Major-Nummer?"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device (then recompile or `insmod loop.o'), or\n"
+#~ " maybe /dev/loop# has the wrong major number?"
+#~ msgstr ""
+#~ "mount: Konnte kein „loop“-Gerät finden. Vieleicht unterstützt\n"
+#~ " dieses Kernel keine „loop“-Geräte (wenn dies der Fall\n"
+#~ " ist, dann sollten Sie das Kernel neu kompilieren oder\n"
+#~ " „insmod loop.o“ ausführen) Oder vieleicht hat /dev/loop#\n"
+#~ " eine falsche Major-Nummer?"
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "Initialisierung (bis zu 16 Hexadezimalziffern): "
+
+# "Ziffer" ?
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "Das Zeichen „%c“ ist keine hexadezimale Ziffer.\n"
+
+#~ msgid "Partition %i does not end on cylinder boundary:\n"
+#~ msgstr "Partition %i endet nicht an einer Zylindergrenze:\n"
+
+#~ msgid "Can't open help file"
+#~ msgstr "Konnte die Hilfedatei nicht öffnen"
+
+#~ msgid "unrecognized option `%s'\n"
+#~ msgstr "unbekannte Option „%s“\n"
+
+#~ msgid ""
+#~ "Re-read table failed with error %d: %s.\n"
+#~ "Reboot your system to ensure the partition table is updated.\n"
+#~ msgstr ""
+#~ "Das Kernel konnte die Partitionstabelle nicht erneut lesen (Fehler %d):\n"
+#~ "%s\n"
+#~ "Rebooten Sie das System, um sicherzustellen, dass die Partitionstabelle "
+#~ "neu gelesen wird.\n"
+
+#~ msgid "AST Windows swapfile"
+#~ msgstr "AST Windows swapfile"
+
+#~ msgid "usage: banner [-w width]\n"
+#~ msgstr "Aufruf: banner [-w Breite]\n"
+
+#~ msgid "The character '%c' is not in my character set"
+#~ msgstr "Das Zeichen „%c“ ist nicht im Zeichensatz vorhanden"
+
+#~ msgid "Message '%s' is OK\n"
+#~ msgstr "Meldung „%s“ ist in Ordnung\n"
+
+# XXX – Merge with next strings.
+#~ msgid "Usage: %s [ -s shell ] "
+#~ msgstr "Aufruf: %s [ -s Shell ] "
+
+#~ msgid "[ --list-shells ] [ --help ] [ --version ]\n"
+#~ msgstr "[ --list-shells ] [ --help ] [ --version ]\n"
+
+#~ msgid " [ username ]\n"
+#~ msgstr " [ Benutzername ]\n"
+
+#~ msgid "not mounted anything"
+#~ msgstr "Es wurde nichts eingehängt"
+
+#~ msgid " swapdev ... same as rdev -s"
+#~ msgstr " swapdev … Das gleiche wie rdev -s"
+
+#~ msgid "Invalid values in hardware clock: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+#~ msgstr "UngĂĽltige Werte in Hardwareuhr: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#~ msgid ""
+#~ "Hw clock time : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d seconds since 1969\n"
+#~ msgstr ""
+#~ "Zeit der Hardwareuhr: %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d Sekunden seit "
+#~ "1969\n"
+
+# Egger
+#~ msgid "Time read from Hardware Clock: %02d:%02d:%02d\n"
+#~ msgstr "Zeit gelesen aus Hardwareuhr: %02d:%02d:%02d\n"
+
+#~ msgid "ioctl() to open /dev/tty1 failed"
+#~ msgstr "ioctl() konnte /dev/tty1 nicht öffnen."
+
+#~ msgid "Usage: %s [-c] [-v0|-v1] /dev/name [blocks]\n"
+#~ msgstr "Aufruf: %s [-c] [-v0|-v1] /dev/Name [Größe in kB]\n"
+
+#~ msgid "%s: open for update: %m"
+#~ msgstr "Konnte %s nicht zum Aktualisieren öffnen: %m"
+
+#~ msgid "usage: script [-a] [file]\n"
+#~ msgstr "Aufruf: script [-a] [Datei]\n"
+
+#~ msgid "usage: tsort [ inputfile ]\n"
+#~ msgstr "Aufruf: tsort [ Eingabedatei ]\n"
+
+#~ msgid "tsort: cycle in data.\n"
+#~ msgstr "tsort: Zyklus in den Daten.\n"
+
+#~ msgid "tsort: internal error -- could not find cycle.\n"
+#~ msgstr "tsort: Interner Fehler -- konnte den Zyklus nicht finden.\n"
+
+#~ msgid "mount: warning: cannot change mounted device with a remount\n"
+#~ msgstr ""
+#~ "mount: Warnung: Das Gerät kann nicht mit einem „remount“ geändert werden\n"
+
+#~ msgid "mount: warning: cannot change filesystem type with a remount\n"
+#~ msgstr ""
+#~ "mount: Der Dateisystemtyp kann nicht mit einem „remount“ geändert werden\n"
+
+#~ msgid "Cannot get loop info"
+#~ msgstr "Konnte keine Informationen über das „loop“-Gerät erhalten"
+
+#~ msgid ""
+#~ "Usage: mount [-hV]\n"
+#~ " mount -a [-nfFrsvw] [-t vfstypes]\n"
+#~ " mount [-nfrsvw] [-o options] special | node\n"
+#~ " mount [-nfrsvw] [-t vfstype] [-o options] special node\n"
+#~ " A special device can be indicated by -L label or -U uuid .\n"
+#~ msgstr ""
+#~ "Aufruf: mount [-hV]\n"
+#~ " mount -a [-nfFrsvw] [-t VFS-Typen]\n"
+#~ " mount [-nfrsvw] [-o Optionen] Spezialdatei | Verzeichnis\n"
+#~ " mount [-nfrsvw] [-t VFS-Typ] [-o Optionen] Gerät Verzeichnis\n"
+#~ " Das Gerät kann auch durch -L Label oder -U UUID angegeben "
+#~ "werden.\n"
+
+# This one is for Debian
+#~ msgid "not mounting anything"
+#~ msgstr "Es wird nichts eingehängt"
+
+#~ msgid "send_time=%srcv_time=%schange_time=%s"
+#~ msgstr "Sendezeit = %sEmpfangszeit = %sÄnderungszeit = %s"
+
+#~ msgid "usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr ""
+#~ "Aufruf: %s [-dfln] [+Zeilennummer | +/Muster] Dateiname1 Dateiname2 …\n"
+
+#~ msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+#~ msgstr ""
+#~ "Die Tastaturwiederholrate wurde auf %.1f cps gesetzt\n"
+#~ "Die Verzögerungszeit wurde auf %dms gesetzt\n"
+
+#~ msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+#~ msgstr "Aufruf: kbdrate [-V] [-s] [-r Rate] [-d Verzögerungszeit]\n"
+
+#~ msgid "Unable to open /dev/rtc"
+#~ msgstr "Konnte /dev/rtc nicht öffnen"
+
+#~ msgid "mount: %s has wrong major or minor number"
+#~ msgstr "mount: %s hat eine falsche Major oder Minor Geräte-Nummer"
+
+#~ msgid "mount: %s:%s failed, reason given by server: %s\n"
+#~ msgstr ""
+#~ "mount: %s:%s schlug fehl, Der folgende Grund wurde vom Server angegeben:\n"
+#~ " %s\n"
+
+#~ msgid "Cannot read disk drive geometry"
+#~ msgstr "Konnte die Festplattengeometrie nicht lesen"
+
+#~ msgid "Cannot derive a geometry from an empty partition table"
+#~ msgstr ""
+#~ "Konnte die Geometrie nicht aus einer leeren Partitionstabelle ableiten"
+
+#~ msgid "'/' in \"%s\""
+#~ msgstr "„%s“ enthält einen „/“"
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
new file mode 100644
index 0000000..fedb6a0
--- /dev/null
+++ b/po/en@boldquot.header
@@ -0,0 +1,25 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
diff --git a/po/en@quot.header b/po/en@quot.header
new file mode 100644
index 0000000..a9647fc
--- /dev/null
+++ b/po/en@quot.header
@@ -0,0 +1,22 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
diff --git a/po/es.gmo b/po/es.gmo
new file mode 100644
index 0000000..4d3771b
--- /dev/null
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..bbf8ef1
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,18505 @@
+# Mensajes en espańol para util-linux.
+# Copyright (C) 2000 Beth Powell <bpowell@turbolinux.com>.
+# Copyright (C) 2001, 2002, 2003 Santiago Vila Doncel <sanvila@unex.es>.
+#
+# This file is distributed under the same license as the util-linux package.
+#
+# Beth Powell <bpowell@turbolinux.com>, 2000.
+# Santiago Vila Doncel <sanvila@unex.es>, 2001, 2002, 2003, 2004, 2010.
+#
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.17.1-rc1\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2010-04-04 03:31+0200\n"
+"Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
+"Language-Team: Spanish <es@li.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "no se puede abrir %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "identificador inválido"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "identificador inválido"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "identificador inválido"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "vuelve a leer la tabla de particiones"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "establece sólo lectura"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "establece lectura/escritura"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "obtiene sólo lectura"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "obtiene el tamańo del bloque lógico (sector)"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "obtiene el tamańo del bloque físico (sector)"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "obtiene el tamańo mínimo de E/S"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "obtiene el tamańo óptimo de E/S"
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "obtiene el tamańo en bytes"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "Sectores adicionales por cilindro"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "obtiene el tamańo del bloque"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "establece el tamańo del bloque"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "obtiene el contador de sectores de 32 bits"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "obtiene el tamańo en bytes"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "establece `readahead'"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "obtiene `readahead'"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "establece el `readahead' del sistema de ficheros"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "obtiene el `readahead' del sistema de ficheros"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "vacía los búferes"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "vuelve a leer la tabla de particiones"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "obtiene el tamańo en sectores de 512 bytes"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, fuzzy, c-format
+msgid "%s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "No se puede obtener el tamańo del disco"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Orden desconocida: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s necesita un argumento\n"
+
+#: disk-utils/blockdev.c:370
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "Error de búsqueda"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s ha tenido éxito.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: error de ioctl en %s\n"
+
+#: disk-utils/blockdev.c:469
+#, fuzzy, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ StartSec Size Device\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "uso: sfdisk --id dispositivo número-partición [Id]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "vuelve a leer la tabla de particiones"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "uso:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s no es un dispositivo de bloques o un fichero\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formateando... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "finalizado\n"
+
+# Nota: Al parecer, en espańol no se pone espacio antes de ...
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Verificando... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Leer: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problema de lectura en el cilindro %d, se esperaba %d, se leyó %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Datos incorrectos en el cilindro %d\n"
+"Continuando... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "(Siguiente fichero: %s)"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: no es un dispositivo de bloques\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "No se puede determinar el tipo de formato actual"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s caras, %d pistas, %d sectores/pista. Capacidad total %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Doble densidad"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Simple densidad"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s está montado.\t "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s: no se ha encontrado"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "error de búsqueda"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Se están sincronizando los discos.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s ha tenido éxito.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "Error de búsqueda"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "error de búsqueda"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: fallo al abrir %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s: no se ha encontrado"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "La bifurcación (fork) ha fallado\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "Error de búsqueda"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() ha fallado"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: ˇerror %d al descomprimir! %p(%d)\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s no es un dispositivo lp.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: tipo de sistema de ficheros '%s' desconocido"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "No se puede asignar el búfer.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Forzando comprobación del sistema de ficheros en %s.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: %s no es un dispositivo lp.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "Se ha ejecutado umount en %s\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Desmontando los sistemas de ficheros restantes..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Desmontando los sistemas de ficheros restantes..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: argumento desconocido: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Muestra información de versión\n"
+
+# FIXME: Sobra el espacio final
+#: disk-utils/fsck.cramfs.c:152
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+"%s: atención, no se puede determinar el tamańo del sistema de ficheros\n"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "no es un dispositivo de bloques o un fichero: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: cramfs inválido, longitud de fichero demasiado corta\n"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Siguiente fichero: %s)"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "no se ha encontrado el número mágico del superbloque"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "el tamańo del superbloque (%d) es demasiado pequeńo"
+
+#: disk-utils/fsck.cramfs.c:193
+#, fuzzy
+msgid "zero file count"
+msgstr "al fichero "
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Atención: la partición %s finaliza más allá del final del disco\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: atención, imagen cramfs antigua, sin CRC\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "no se puede comprobar CRC: formato cramfs antiguo"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "error de crc"
+
+#: disk-utils/fsck.cramfs.c:324
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "error de descompresión %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " hueco en %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " descomprimiendo bloque en %ld a %ld (%ld)\n"
+
+# No me gusta. Se admiten sugerencias.
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: No bloque (%ld) bytes\n"
+
+#: disk-utils/fsck.cramfs.c:394
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: No tamańo (%ld vs %ld) bytes\n"
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Siguiente fichero: %s)"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "montaje erróneo"
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "montaje erróneo"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "bad timeout value: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir falló: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "la longitud del nombre del fichero es cero"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "longitud errónea del nombre del fichero"
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "tamańo de nodo-i incorrecto"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "el enlace simbólico tiene tamańo cero"
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: error de tamańo en el enlace simbólico `%s'\n"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync ha fallado"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: modo falso en `%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod falló: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: cramfs inválido, el final de los datos de directorios (%ld)\n"
+"es distinto del comienzo de los datos de ficheros (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:625
+#, fuzzy
+msgid "invalid file data offset"
+msgstr ""
+"%s: cramfs inválido, desplazamiento inválido de los datos de ficheros\n"
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: se ha compilado sin soporte para -x\n"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Correcto\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file nombreficherovuelco ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "Se necesita terminal para reparaciones interactivas"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Muestra información de versión\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s está montado.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "żEstá seguro de que desea continuar?"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "comprobación anulada.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Número de zona < FIRSTZONE en el fichero `%s'."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Número de zona >= ZONES en el fichero `%s'."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Eliminar bloque"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Error de lectura: no se puede buscar en un bloque en el fichero '%s'\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Error de lectura: bloque incorrecto en el fichero '%s'\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Error interno: se está intentando escribir un bloque incorrecto\n"
+"La petición de escritura no se tiene en cuenta\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "Error de búsqueda en write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Error de escritura: bloque incorrecto en el fichero '%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "Error de búsqueda en write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "No se puede escribir el superbloque"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "No se puede escribir la tabla de nodos-i"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "No se puede escribir la tabla de zonas"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "No se pueden escribir nodos-i"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "Error de búsqueda"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "No se puede asignar búferes para mapas"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "No se puede leer el superbloque"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "Número mágico incorrecto en el superbloque"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Sólo se da soporte a bloques o zonas de 1k"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "Campo s_imap_blocks incorrecto en superbloque"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "Campo s_zmap_blocks incorrecto en superbloque"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "No se puede asignar búfer para la tabla de nodos-i"
+
+#: disk-utils/fsck.minix.c:600
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "No se puede asignar búfer para la tabla de nodos-i"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "No se puede asignar búfer para los nodos-i"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "No se puede asignar búfer para el número de nodos-i"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "No se puede asignar búfer para el número de zonas"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "No se puede leer la tabla de nodos-i"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "No se puede leer la tabla de zonas"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "No se pueden leer los nodos-i"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Atención: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld nodos-i\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld bloques\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Primera zona de datos=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Tamańo de zona=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Tamańo máximo=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Estado del sistema de ficheros=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"Longitud de nombre=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"El nodo-i %d se ha marcado como no utilizado, pero se utiliza para\n"
+"el fichero '%s'\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Marcar en uso"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "El fichero `%s' tiene el modo %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Atención: número de nodos-i demasiado elevado.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr ""
+"El bloque ya se ha utilizado anteriormente.\n"
+"Ahora está en el fichero `%s'."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Borrar"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "El bloque %d en el fichero `%s' está marcado como no utilizado."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Correcto"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+"El directorio `%s' contiene un número de nodo-i incorrecto\n"
+"para el fichero '%.*s'."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Eliminar"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: directorio incorrecto: '.' no es el primero\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: directorio incorrecto: '..' no es el segundo\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "Error interno"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: directorio incorrecto: tamańo < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "Error de búsqueda en bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "No se ha borrado el modo del nodo-i %d."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "El nodo-i %d no está en uso; marcado como en uso en el mapa de bits."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "El nodo-i %d está en uso; marcado como no en uso en el mapa de bits."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Establecer"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Nodo-i %d (modo = %07o), i_nlinks=%d, contados=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Establece i_nlinks en número contado"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zona %d: marcada como en uso; ningún fichero la utiliza."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Eliminar marca"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zona %d: en uso, contados=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zona %d: no en uso, contados=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "tamańo de nodo-i incorrecto"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "tamańo de nodo-i v2 incorrecto"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "Se necesita terminal para reparaciones interactivas"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "no se puede abrir %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s está limpio; no se comprueba.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Forzando comprobación del sistema de ficheros en %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr ""
+"El sistema de ficheros en %s contiene elementos extrańos; debe comprobarse.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld nodos-i utilizados (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zonas utilizadas (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d ficheros normales\n"
+"%6d directorios\n"
+"%6d ficheros de dispositivos de caracteres\n"
+"%6d ficheros de dispositivos de bloques\n"
+"%6d enlaces\n"
+"%6d enlaces simbólicos\n"
+"------\n"
+"%6d ficheros\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------------\n"
+"EL SISTEMA DE FICHEROS HA CAMBIADO\n"
+"----------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: error de búsqueda en %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: error de lectura en %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "número de sectores: %d, tamańo del sector: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "Número `%s' inválido\n"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "nombre de volumen demasiado largo"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "nombre del sistema de ficheros demasiado largo"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s no es un dispositivo de bloques"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "identificador inválido"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "no se puede obtener el tamańo de %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "el número de bloques es demasiado grande, el máximo es %lu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "demasiados nodos-i; el máximo es 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "no hay suficiente espacio, se necesitan al menos %lu bloques"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositivo: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volumen: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "NombreDelSF: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "TamańoDelBloque: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Nodos-i: %d (en 1 bloque)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Nodos-i: %d (en %ld bloques)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Bloques: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Fin de los nodos-i: %d, fin de los datos: %df\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "error al escribir el superbloque"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "error al escribir el nodo-i raíz"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "error al escribir un nodo-i"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "error de búsqueda"
+
+# Lo pongo entre `comitas' porque está al final.
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "error al escribir la entrada `.'"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "error al escribir la entrada `..'"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "error al cerrar %s"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "Uso: mkfs [-V] [-t tipo_sf] [opciones_sf] dispositivo [tamańo]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: disk-utils/mkfs.c:131
+#, fuzzy, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs versión %s (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, fuzzy, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"uso: %s [-h] [-v] [-b tambloq] [-e edición] [-i fich] [-n nombre] nombredir "
+"fsalida\n"
+" -h muestra esta ayuda\n"
+" -v sé explicativo\n"
+" -E convierte en errores todos los avisos (estado de salida no "
+"cero)\n"
+" -b tambloq utiliza este tamańo de bloque, debe ser el tamańo de página\n"
+" -e edición establece el número de edición (parte de fsid)\n"
+" -i fich inserta la imagen de un fichero dentro del sistema de ficheros\n"
+" (necesita Linux >= 2.4.0)\n"
+" -n nombre establece el nombre del sistema de ficheros cramfs\n"
+" -p desplaza %d bytes para el código de arranque<\n"
+" -s ordena las entradas de directorio (opción antigua, sin efecto)\n"
+" -z crea huecos explícitos (necesita Linux >= 2.3.39)\n"
+" nombredir raíz del sistema de ficheros que se va a comprimir\n"
+" fsalida fichero de salida\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Se encontró un nombre de fichero `%2$s' demasiado largo (%1$u bytes).\n"
+" Por favor incremente MAX_INPUT_NAMELEN en mkcramfs.c y recompile. "
+"Saliendo.\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "sistema de ficheros demasiado grande. Saliendo.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "YEPA: bloque \"comprimido\" a > 2*longituddelbloque (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d bytes)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: dispositivo de bloques inválido"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "La ejecución (exec) de rc ha fallado\n"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"atención: la estimación del tamańo requerido (cota superior) es %LdMB, pero\n"
+"el tamańo máximo de la imagen es %uMB. Podría abortarse prematuramente.\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Incluyendo: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Datos de directorios: %d bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Todo: %d kilobytes\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superbloque: %d bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"no hay suficiente espacio para la imagen ROM (asignado %Ld, usado %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "falló la escritura de la imagen ROM (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "atención: los nombres de ficheros se truncan a 255 bytes.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "atención: se saltaron ficheros debido a errores.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr ""
+"atención: los tamańos de los ficheros se truncan a %luMB (menos 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"atención: los uids se truncan a %u bites. (Esto podría ser un problema\n"
+"de seguridad.)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"atención: los gids se truncan a %u bits. (Esto podría ser un problema\n"
+"de seguridad).\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"ATENCIÓN: los números de dispositivo se truncan a %u bits. Esto\n"
+"significa casi con certeza que algunos ficheros de dispositivos serán "
+"erróneos.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Uso: %s [-c | -l nombrefichero] [-nXX] [-iXX] /dev/nombre [bloques]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s está montado; no se creará un sistema de ficheros aquí"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "Error de búsqueda de bloque de inicio en write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "No se puede borrar el sector de inicio"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "Error de búsqueda en write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "No se puede escribir el superbloque"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "No se puede escribir la tabla de nodos-i"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "No se puede escribir la tabla de zonas"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "No se pueden escribir los nodos-i"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "Error de búsqueda en write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "Error de escritura en write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "Hay demasiados bloques incorrectos"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "No hay suficientes bloques correctos"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "No se puede asignar búferes para mapas"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "No se puede asignar búferes para mapas"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "No se puede asignar búfer para los nodos-i"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld nodos-i\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld bloques\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Tamańo máximo=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "Error de búsqueda durante comprobación de bloques"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Valores extrańos en do_check: probablemente existan errores\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "Error de búsqueda en check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"Bloques incorrectos antes del área de datos: no se puede crear\n"
+"el sistema de ficheros"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d bloques incorrectos\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "Un bloque incorrecto\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "No se puede abrir el fichero de bloques incorrectos"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "No se puede leer la unidad de disco"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "tamańo de nodo-i incorrecto"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "error de strtol: no se ha especificado el número de bloques"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "umount: %s: dispositivo ocupado"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "no se puede obtener el tamańo de %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "No se intentará crear el sistema de ficheros en '%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "Número de sectores"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "El tamańo de página %d especificado por el usuario es incorrecto\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Se utiliza el tamańo de página %d especificado por el usuario,\n"
+"en lugar de los valores del sistema %d/%d\n"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr ""
+
+#: disk-utils/mkswap.c:207
+#, fuzzy, c-format
+msgid "no label, "
+msgstr "etiqueta"
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "no hay uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "Hay demasiadas páginas incorrectas"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "Error de búsqueda en check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "Una página incorrecta\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu páginas incorrectas\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "No se puede asignar búfer para los nodos-i"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "No se puede asignar búfer para los nodos-i"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "No se puede borrar el sector de inicio"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "No se puede borrar el sector de inicio"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p Imprime la tabla de particiones BSD"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s Muestra la etiqueta del disco completa"
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr ""
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "Error de búsqueda"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "semáforos asignados = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: error: versión desconocida %d\n"
+
+#: disk-utils/mkswap.c:530
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Error al cerrar el fichero\n"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr ""
+"%s: error: no se ha especificado dónde configurar el espacio de intercambio\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "identificador inválido"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: error: el tamańo %lu es superior al tamańo del dispositivo %lu\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: error: el área de intercambio debe tener como mínimo %ldkB\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: atención: el área de intercambio se trunca a %ldkB\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s está montado; no se creará un sistema de ficheros aquí"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Atención: %s no es un dispositivo de bloques\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "No se puede configurar el espacio de intercambio: no se puede leer"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Configurando espacio de intercambio versión %d, tamańo = %llu kB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "No se puede escribir la página de firma"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync ha fallado"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: disk-utils/mkswap.c:656
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "No se pueden escribir los nodos-i"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "No se puede cambiar el nombre %s por %s: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Número de partición"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Sólo imprime la tabla de particiones"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "la tabla de particiones (sector %lu),\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Número de sectores"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Número de partición"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d particiones:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Se está escribiendo la tabla de particiones en el disco..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d particiones:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# tabla de particiones de %s\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "No se puede asignar el búfer.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: no se ha encontrado ningún dispositivo de bucle libre"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: se va a utilizar el dispositivo de bucle %s\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: fallo al abrir %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Orden desconocida: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "Error de búsqueda en write_tables"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Se ha seleccionado la partición %d\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "No hay ninguna partición definida\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Esta partición ya existe.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Se ha seleccionado la partición %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "no se encuentra dentro de la partición %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Atención: las particiones %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "No hay ninguna partición definida\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "fsync ha fallado"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "No se puede asignar el búfer.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "No se puede asignar el búfer.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "No se puede asignar el búfer.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "No se puede asignar el búfer.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "vuelve a leer la tabla de particiones"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p Imprime la tabla de particiones BSD"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "El disco %s no contiene una tabla de particiones válida\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Órdenes disponibles:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: fallo al abrir %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "No se puede suprimir una partición vacía"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "No se puede asignar el búfer.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "No se puede bloquear el fichero de bloqueo %s: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Atención: %s no es un dispositivo de bloques\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: fallo al abrir %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s: no es un dispositivo de caracteres"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "Atención: %s no es un dispositivo de bloques\n"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "error al detener el servicio: \"%s\""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "error al detener el servicio: \"%s\""
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "uso: sfdisk --id dispositivo número-partición [Id]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "Error de búsqueda en write_tables"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "vuelve a leer la tabla de particiones"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: esta partición no existe\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: error: versión desconocida %d\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: fallo al abrir %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: fallo al abrir %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: fallo al abrir %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "Error de búsqueda en write_tables"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: ˇNo queda memoria!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Inutilizable"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Espacio libre"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Se ha modificado el disco.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Reinicie el sistema para asegurarse de que la tabla de particiones esté "
+"bien\n"
+"actualizada.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"ATENCIÓN: Si ha creado o modificado alguna de las\n"
+"particiones DOS 6.x, consulte la página de manual de cfdisk\n"
+"para obtener más información.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "ERROR MUY GRAVE"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Pulse una tecla para salir de cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "No se puede buscar en la unidad de disco"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "No se puede leer la unidad de disco"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "No se puede escribir en la unidad de disco"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Hay demasiadas particiones"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "La partición empieza antes del sector 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "La partición termina antes del sector 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "La partición empieza después del fin de disco"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "La partición termina después del fin de disco"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "Las particiones lógicas no están en orden de disco"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "Solapamiento de particiones lógicas"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "Solapamiento de particiones lógicas ampliadas"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "ˇˇˇˇ Error interno al crear unidad lógica sin partición extendida !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"No se puede crear una unidad lógica aquí; se crearían dos particiones "
+"extendidas"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr ""
+"Elemento de menú demasiado largo; la apariencia del menú puede ser extrańa."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Tecla no permitida"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Pulse una tecla para continuar"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primaria"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Crea una nueva partición primaria"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Lógica"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Crea una nueva partición lógica"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "No crea ninguna partición"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "ˇˇˇˇ Error interno !!!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Tamańo (en MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Principio"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Ańade la partición al principio del espacio libre"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Final"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Ańade la partición al final del espacio libre"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "No hay espacio para crear la partición extendida"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "No hay tabla de particiones.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "No hay tabla de particiones. Se comienza con una tabla vacía."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Firma errónea en la tabla de particiones"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Tipo de tabla de particiones desconocido"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "żQuiere comenzar con una tabla vacía? [y/N]"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Ha especificado más cilindros de los que caben en el disco"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "No se puede abrir la unidad de disco"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+"El disco abierto es de sólo lectura; no tiene permiso para escribir en él"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "No se puede obtener el tamańo del disco"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Partición primaria incorrecta"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Partición lógica incorrecta"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "ˇAtención!: esta operación puede destruir datos del disco"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"żEstá seguro de que desea escribir la tabla de particiones en el disco?\n"
+" (si o no): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "no"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "No se ha escrito la tabla de particiones en el disco"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "si"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Por favor escriba `si' (sin acento) o `no'"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Se está escribiendo la tabla de particiones en el disco..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Se ha escrito la tabla de particiones en el disco"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Se ha escrito la tabla de particiones, pero la nueva lectura de la tabla\n"
+"ha fallado. Reinicie para actualizar la tabla."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Ninguna partición primaria está marcada como iniciable.\n"
+"El MBR de DOS no podrá iniciar esto."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Hay marcada como iniciable más de una partición primaria.\n"
+"El MBR de DOS no puede iniciar esto."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Escriba el nombre de fichero o pulse Intro para visualizar en pantalla: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unidad de disco: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sector 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sector %d:\n"
+
+# Masculino, porque se refiere a un tipo de partición.
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Ninguno"
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Lóg"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primaria"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Lógica"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Desconocido"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Inicio"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+# Masculino, porque se refiere a "Indicadores"
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Ninguno"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabla de particiones para %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Primer Último\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+"Nş Tipo Sector Sector Despl. Longitud Tipo sist. fich. (ID) "
+"Indicad.\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+#, fuzzy
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----Inicio---- -----Final---- Comienzo Número de\n"
+
+#: fdisks/cfdisk.c:2040
+#, fuzzy
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr "Nş Ind. Cab. Sec. Cil. ID Cab. Sec. Cil. Sector Sectores\n"
+
+#: fdisks/cfdisk.c:2041
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "En bruto (raw)"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Imprime la tabla utilizando el formato de datos en bruto"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sectores"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Imprime la tabla ordenada por sectores"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabla"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Sólo imprime la tabla de particiones"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "No imprime la tabla"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Pantalla de ayuda para cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "cfdisk es un programa de particiones de disco basado en curses que"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "permite crear, suprimir y modificar particiones en la unidad"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "de disco duro."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Orden Significado"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "----- -----------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Conmuta el indicador de iniciable de la partición actual"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Suprime la partición actual"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+" g Cambia los parámetros de cilindros, cabezas y sectores por pista"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " ATENCIÓN: Se recomienda utilizar esta opción únicamente"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " si se conoce el funcionamiento de la misma."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Imprime esta pantalla"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maximiza la utilización del disco de la partición actual"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Nota: Esta opción puede hacer que la partición sea"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " incompatible con DOS, OS/2,..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Crea una nueva partición a partir del espacio libre"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr ""
+" p Imprime la tabla de particiones en la pantalla o en un fichero"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Hay varios formatos distintos para la partición"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " entre los que puede elegir:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - Datos en bruto (exactamente lo que escribiría en el "
+"disco)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Tabla ordenada por sectores"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Tabla con formato en bruto"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Sale del programa sin escribir la tabla de particiones"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Cambia el tipo de sistema de ficheros"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr ""
+" u Cambia las unidades de visualización del tamańo de la partición"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Alterna entre MB, sectores y cilindros"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W Escribe la tabla de particiones en el disco (W en mayúsculas)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Esta operación de escritura puede causar la destrucción"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr ""
+" de datos del disco, por lo que debe confirmarla o rechazarla"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " escribiendo `sí' o `no'"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Flecha arriba Desplaza el cursor a la partición anterior"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Flecha abajo Desplaza el cursor a la partición siguiente"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "Ctrl-L Vuelve a dibujar la pantalla"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Imprime esta pantalla"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Nota: todas las órdenes pueden escribirse en mayúsculas o minúsculas"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "(salvo W para operaciones de escritura)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cilindros"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Cambia la geometría de cilindros"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Cabezas"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Cambiar geometría de cabezas"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Cambiar geometría de sectores"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Fin"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Ha finalizado la operación de cambio de geometría"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Escriba el número de cilindros: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Valor de cilindros no permitido"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Escriba el número de cabezas: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Valor de cabezas no permitido"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Escriba el número de sectores por pista: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Valor de sectores no permitido"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "No se puede cambiar el tipo de sistema de ficheros a vacío"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "No se puede cambiar el tipo de sistema de ficheros a extendido"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Desc.(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Lóg"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Desconocido (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Unidad de disco: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Tamańo: %lld bytes, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Tamańo: %lld bytes, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Cabezas: %d Sectores por pista: %d Cilindros: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nombre"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Indicadores"
+
+# Este espacio inicial es para que no se pegue con la s de Indicadores
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr " Tipo"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Tipo de S.F."
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Etiqueta]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sectores"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cilindros"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Tamańo(MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr "Tamańo (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "No hay más particiones"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Iniciable"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Conmuta el indicador de iniciable de la partición actual"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Suprimir"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Suprime la partición actual"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometría"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Cambia la geometría del disco (sólo para usuarios avanzados)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Ayuda"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Imprime esta pantalla"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maximizar"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Maximiza el uso de disco de la partición actual (sólo usuarios avanzados)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Nueva"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Crea una nueva partición a partir del espacio libre"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Imprimir"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Imprime la tabla de particiones en la pantalla o en un fichero"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Salir"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Sale del programa sin escribir la tabla de particiones"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Tipo"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Cambia el tipo de sistema de ficheros (DOS, Linux, OS/2, etc.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Unidades"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Cambia las unidades para el tamańo de la partición (MB, sect., cil.)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Escribir"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+"Escribe la tabla de particiones en el disco (puede destruirse información)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "No se puede convertir esta partición en una partición iniciable"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "No se puede suprimir una partición vacía"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "No se puede maximizar esta partición"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Esta partición se encuentra en estado inutilizable"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Esta partición ya está en uso"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "No se puede cambiar el tipo de una partición vacía"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Orden ilegal"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Uso:\n"
+"Imprimir versión:\n"
+" %s -v\n"
+"Imprimir tabla de particiones:\n"
+" %s -P {r|s|t} [opciones] dispositivo\n"
+"Uso interactivo:\n"
+" %s [opciones] dispositivo\n"
+"\n"
+"Opciones:\n"
+"-a: Utiliza flecha en lugar de resaltado.\n"
+"-z: Empieza con tabla de particiones de cero en lugar de leerla del disco.\n"
+"-c C -h H -s S: Modifica la idea del núcleo sobre el número de cilindros,\n"
+" el número de cabezas y el número de sectores por pista.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c Cambia el número de cilindros"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "no se puede abrir %s"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "no se puede abrir %s"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tHay una etiqueta AIX válida en este disco.\n"
+"\tLinux no puede manejar estos discos\n"
+"\tactualmente. No obstante, tenga en cuenta\n"
+"\talgunos consejos:\n"
+"\t1. fdisk destruirá su contenido al escribir.\n"
+"\t2. Compruebe que este disco no sea una parte vital\n"
+"\t de un grupo de volúmenes. (De lo contrario puede borrar\n"
+"\t también los demás discos, si no están duplicados.)\n"
+"\t3. Antes de suprimir este volumen físico, elimine\n"
+"\t el disco lógicamente de la máquina AIX.\n"
+"\t (O se tendrá que convertir en un AIXperto)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+" Lo siento - este fdisk no puede manejar etiquetas de disco AIX.\n"
+" Si quiere ańadir particiones de tipo DOS, cree una nueva\n"
+" tabla de particiones DOS vacía primero. (Use o.)\n"
+" ATENCIÓN: Esto destruirá el contenido de este disco.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etiqueta BSD para el dispositivo: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Escribiendo etiqueta de disco en %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Primer %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Último %s o +tamańo o +tamańoM o +tamańoK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s no contiene ninguna etiqueta de disco.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "żDesea crear una etiqueta de disco? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "La partición %s tiene un sector 0 de inicio inválido.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Leyendo etiqueta de disco de %s en sector %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "No hay ninguna partición *BSD en %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Orden de etiqueta de disco BSD (m para obtener ayuda): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tipo: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tipo: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disco: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiqueta: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "indicadores:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " removable"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes por sector: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sectores por pista: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "pistas por cilindro: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sectores por cilindro: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindros: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "r.p.m.: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# milisegundos\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "búsqueda pista a pista: %ld\t# milisegundos\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d particiones:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# comienzo final tamańo sficheros [tamf tamb cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "bytes/sector"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sectores/pista"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "pistas/cilindro"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cilindros"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sectores/cilindro"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Debe ser <= sectores/pista * pistas/cilindro (valor predeterminado).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "r.p.m."
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "búsqueda pista a pista"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Secuencia de inicio: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Solapamientos de secuencia de inicio con etiqueta de disco\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Secuencia de inicio instalada en %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partición (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Se ha creado el número máximo de particiones\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Esta partición ya existe.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Atención: demasiadas particiones (%d, el valor máximo es %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Se están sincronizando los discos.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a Conmuta el indicador de iniciable"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a Conmuta el indicador de sólo lectura"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a Selecciona partición iniciable"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a Cambia el número de cilindros alternativos"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b Modifica la etiqueta de disco bsd"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b Modifica entrada de fichero de inicio"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b Mueve el principio de los datos de una partición"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c Conmuta el indicador de compatibilidad con DOS"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c Conmuta indicador de montable"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c Selecciona partición de intercambio sgi"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c Cambia el número de cilindros"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d Suprime una partición"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d Imprime los datos en bruto de la tabla de particiones"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e Cambia el número de sectores adicionales por cilindro"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e Lista las particiones extendidas"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e Modifica los datos de la unidad"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f Corrige el orden de las particiones"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g Crea una tabla de particiones IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h Cambia el número de cabezas"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i Cambia el factor de interleave"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " u Cambia las unidades de visualización/entrada"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i Instala secuencia de inicio"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l Lista los tipos de particiones conocidos"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m Imprime este menú"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n Ańade una nueva partición"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o Crea una nueva tabla de particiones DOS vacía"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o Cambia la velocidad de rotación (r.p.m.)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Sólo imprime la tabla de particiones"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q Sale sin guardar los cambios"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r Vuelve al menú principal"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s Crea una nueva etiqueta de disco Sun"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s Cambia el número de sectores por pista"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s Muestra la etiqueta del disco completa"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t Cambia el identificador de sistema de una partición"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u Cambia las unidades de visualización/entrada"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v Verifica la tabla de particiones"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w Escribe la tabla en el disco y sale"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w Escribe la etiqueta de disco en el disco"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x Funciones adicionales (sólo para usuarios avanzados)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x Enlaza la partición BSD con una partición no BSD"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y Cambia el número de cilindros físicos"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "No se puede leer %s\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "No se puede buscar en %s\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "No se puede escribir %s\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "ioctl BLKGETSIZE ha fallado en %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Error muy grave\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Orden Acción"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Debe establecer"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "cabezas"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sectores"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Puede efectuar esta operación desde el menú de funciones adicionales.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " y "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "żEstá seguro de que desea continuar?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Código hexadecimal (escriba L para ver los códigos): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, valor predeterminado %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Sufijo no soportado: '%s'.\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Se está utilizando el valor predeterminado %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "El valor está fuera del rango.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Número de partición"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Atención: la partición %d es de tipo vacío\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Se ha seleccionado la partición %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "ˇNo hay ninguna partición definida!\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cilindro"
+msgstr[1] "cilindro"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sector"
+msgstr[1] "sector"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Se cambian las unidades de visualización/entrada a %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Se cambian las unidades de visualización/entrada a %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ATENCIÓN: la partición %d es una partición extendida\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "El indicador de compatibilidad con DOS está establecido\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "El indicador de compatibilidad con DOS no está establecido\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "La partición %d no tiene ninguna área de datos\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "La partición %d todavía no existe\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"El tipo 0 significa espacio libre para muchos sistemas\n"
+"(pero no para Linux). Probablemente no sea sensato\n"
+"tener particiones de tipo 0. Puede suprimir una\n"
+"partición con la orden `d'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"No puede convertir una partición en extendida ni viceversa.\n"
+"Primero debe suprimirla.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Se recomienda dejar la partición 3 como disco completo (5),\n"
+"ya que así lo prevé SunOS/Solaris e incluso es adecuado para Linux.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Se recomienda dejar la partición 9 como cabecera de volumen (0)\n"
+"y la partición 11 como volumen completo (6) ya que IRIX así lo espera.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Se ha cambiado el tipo de sistema de la partición %d por %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Se ha cambiado el tipo de sistema de la partición %d por %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"La partición %d tiene distintos principios físicos/lógicos (żno Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " físicos=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "lógicos=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "La partición %d tiene distintos finales físicos/lógicos:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "La partición %i no termina en un límite de cilindro.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "La partición %i no empieza en el límite del cilindro:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disco %s: %ld MB, %lld bytes\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disco %s: %ld.%ld GB, %lld bytes\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", %llu sectores en total"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d cabezas, %d sectores/pista, %d cilindros"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+"Unidades = %s de %d * %d = %d bytes\n"
+"\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"No hay nada que hacer. El orden ya es correcto.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Fin\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Esto no parece una tabla de particiones\n"
+"Probablemente ha seleccionado el dispositivo que no era.\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Inicio Comienzo Fin Bloques Id Sistema\n"
+
+# Nota: si se pone Dispositivo no queda bien el resto de la línea.
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Disposit."
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Las entradas de la tabla de particiones no están en el orden del disco\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabezas, %d sectores, %d cilindros\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nş IA Cab Sect Cil Cab Sect Cil Inicio Tamańo ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Atención: la partición %d contiene el sector 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partición %d: el cabeza %d supera el máximo %d\n"
+
+#: fdisks/fdisk.c:1304
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partición %d: el sector %d supera el máximo %d\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partición %d: el cilindro %d supera el máximo %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Partición %d: sectores anteriores %d no concuerdan con total %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "La partición %d todavía no existe\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "No se puede escribir en la unidad de disco"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"ˇSe ha modificado la tabla de particiones!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Llamando a ioctl() para volver a leer la tabla de particiones.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"ATENCIÓN: La relectura de la tabla de particiones falló con el\n"
+"error %d: %s.\n"
+"El núcleo todavía usa la tabla antigua.\n"
+"La nueva tabla se usará en el próximo reinicio.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"ATENCIÓN: Si ha creado o modificado alguna de las\n"
+"particiones DOS 6.x, consulte la página man de fdisk\n"
+"para ver información adicional.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Error al cerrar el fichero\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Se están sincronizando los discos.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "La partición %d no tiene ninguna área de datos\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Nuevo principio de datos"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Orden avanzada (m para obtener ayuda): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Número de cilindros"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Número de cabezas"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Número de sectores"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+"Atención: estableciendo desplazamiento de sector para compatibilidad con "
+"DOS\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "No se puede abrir %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: orden desconocida\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Se está creando una nueva etiqueta de disco sun. Los cambios sólo\n"
+"permanecerán en la memoria, hasta que decida escribirlos. Tras esa\n"
+"operación, el contenido anterior no se podrá recuperar.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"Se ha detectado una etiqueta de disco OSF/1 en %s, entrando en el modo de\n"
+"etiqueta de disco.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Orden (m para obtener ayuda): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "identificador inválido"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "identificador inválido"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "identificador inválido"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "identificador inválido"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Atención: la opción -b (establecer tamańo de sector) debe utilizarse con un "
+"dispositivo especificado\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Nota: el tamańo del sector es %d (no %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "El disco %s no contiene una tabla de particiones válida\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "ˇYa se han definido todas las particiones primarias!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Desplazamiento incorrecto en particiones extendidas primarias\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Atención: se omiten las particiones después de la número %d.\n"
+"Se borrarán si guarda esta tabla de particiones.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Atención: puntero de enlace adicional en tabla de particiones %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+"Atención: no se tienen en cuenta los datos adicionales de la tabla de "
+"particiones %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Atención: partición vacía\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identificador del disco: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nuevo identificador del disco: (actual 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "No se tiene en cuenta la partición extendida adicional %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Atención: el indicador 0x%04x inválido de la tabla de particiones %d se "
+"corregirá mediante w(rite)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"La partición %d ya está definida. Suprímala antes de volver a ańadirla.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "No hay disponible ningún sector libre\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Partición lógica incorrecta"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Atención: inicio de datos incorrecto en partición %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Atención: la partición %d se solapa con la partición %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Atención: la partición %d está vacía\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "La partición lógica %d no está por completo en la partición %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "El total de sectores asignados %d supera el máximo %lld\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld sectores no asignados\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Se están usando todas las particiones lógicas\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Se están usando todas las particiones lógicas\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Se ańade una partición primaria\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l Partición lógica (5 o superior)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e Partición extendida"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Se está utilizando el valor predeterminado %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Número de partición inválido para el tipo `%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+#, fuzzy
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tHay una etiqueta AIX válida en este disco.\n"
+"\tLinux no puede manejar estos discos\n"
+"\tactualmente. No obstante, tenga en cuenta\n"
+"\talgunos consejos:\n"
+"\t1. fdisk destruirá su contenido al escribir.\n"
+"\t2. Compruebe que este disco no sea una parte vital\n"
+"\t de un grupo de volúmenes. (De lo contrario puede borrar\n"
+"\t también los demás discos, si no están duplicados.)\n"
+"\t3. Antes de suprimir este volumen físico, elimine\n"
+"\t el disco lógicamente de la máquina AIX.\n"
+"\t (O se tendrá que convertir en un AIXperto)."
+
+#: fdisks/fdiskmaclabel.c:92
+#, fuzzy, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+" Lo siento - este fdisk no puede manejar etiquetas de disco AIX.\n"
+" Si quiere ańadir particiones de tipo DOS, cree una nueva\n"
+" tabla de particiones DOS vacía primero. (Use o.)\n"
+" ATENCIÓN: Esto destruirá el contenido de este disco.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Según MIPS Computer Systems, Inc. la etiqueta puede contener como máximo 512 "
+"bytes\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr ""
+"Se ha detectado una etiqueta de disco sgi con suma de comprobación "
+"incorrecta.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (etiqueta de disco SGI): %d cabezas, %d sectores\n"
+"%d cilindros, %d cilindros físicos\n"
+"%d sectores por cilindro adicionales, interleave %d:1\n"
+"%s\n"
+"Unidades = %s de %d * %d bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (etiqueta de disco SGI): %d cabezas, %d sectores, %d cilindros\n"
+"Unidades = %s de %d * %d bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- particiones -----\n"
+"Pt. %*s Info Principio Fin Sectores Id Sistema\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Info inicio -----\n"
+"Fichero de inicio: %s\n"
+"----- Entradas de directorio -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sector%5u tamańo%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Fichero de inicio inválido\n"
+"\tEl fichero de inicio debe ser un nombre de ruta absoluto\n"
+"\tdistinto de cero, como por ejemplo \"/unix\" o \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNombre del fichero de inicio demasiado largo: 16 bytes como máximo.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tEl fichero de inicio debe tener un nombre de ruta totalmente calificado.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tTenga en cuenta que no se comprueba la existencia del fichero de inicio.\n"
+"\tEl valor predeterminado de SGI es \"/unix\" y para la copia de seguridad "
+"\"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"El fichero de inicio actual es: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Escriba el nombre del nuevo fichero de inicio: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "No se ha modificado el fichero de inicio\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tEl fichero de inicio se cambia a \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Existe más de una entrada de disco completo.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "No hay ninguna partición definida\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr ""
+"Para IRIX se recomienda que la partición 11 abarque el disco completo.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"La partición de disco completo debe empezar en el bloque 0,\n"
+"no en el bloque de disco %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"La partición de disco completo sólo tiene un tamańo de %d bloques de disco,\n"
+"mientras que el disco tiene una longitud de %d bloques de disco.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Una partición (11) debe abarcar el disco completo.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "La partición %d no empieza en un límite de cilindro.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "La partición %d no termina en un límite de cilindro.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Las particiones %d y %d se solapan en %d sectores.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Espacio no utilizado de %8u sectores - sectores %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"La partición de inicio no existe.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"La partición de intercambio no existe.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"La partición de intercambio no tiene un tipo de intercambio.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tHa elegido un nombre de fichero de inicio no habitual.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Únicamente el superusuario puede cambiar el reloj del sistema.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Se recomienda que la partición en el desplazamiento 0\n"
+"sea del tipo \"SGI volhdr\"; el sistema IRIX la utilizará para\n"
+"recuperar de su directorio herramientas autónomas como sash y fx.\n"
+"Sólo la sección de disco completo \"SGI volume\" puede infringir esta "
+"regla.\n"
+"Escriba SÍ si está seguro de querer dar una etiqueta distinta a esta "
+"partición.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "SÍ\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+"Se ha producido un solapamiento de particiones en el disco. Corríjalo antes "
+"de continuar.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+"Se está intentando generar una entrada de disco completo automáticamente.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Ya existen particiones que abarcan el disco completo.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Se ha producido un solapamiento de particiones en el disco. Corríjalo antes "
+"de continuar.\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Se recomienda que la partición 11\n"
+"abarque el disco completo y sea del tipo `SGI volume'\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Se producirá un solapamiento de particiones en el disco. Corríjalo antes de "
+"continuar.\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Último %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "ioctl BLKGETSIZE ha fallado en %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Atención: El ioctl de BLKGETSIZE falló en %s. Se usará un valor para\n"
+"la geometría del cilindro de %d. Este valor podría estar truncado para\n"
+"dispositivos > 33.8 GB.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tPRINCIPIO=%d\tLONGITUD=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Intentando conservar los parámetros de la partición %d.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Disco completo"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld sectores no asignados\n"
+
+#: fdisks/fdisksunlabel.c:41
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:42
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Se ha detectado una etiqueta de disco sun con suma de comprobación "
+"incorrecta.\n"
+"Probablemente tendrá que establecer todos los valores,\n"
+"como cabezas, sectores, cilindros y particiones\n"
+"o forzar una nueva etiqueta (orden s en menú principal)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr ""
+"Se ha detectado una etiqueta de disco sgi con suma de comprobación "
+"incorrecta.\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+"Se ha detectado una etiqueta de disco sgi con suma de comprobación "
+"incorrecta.\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr ""
+"Se ha detectado una etiqueta de disco sgi con suma de comprobación "
+"incorrecta.\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Atención: el indicador 0x%04x inválido de la tabla de particiones %d se "
+"corregirá mediante w(rite)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s%d no contiene ninguna etiqueta de disco.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sectores/pista"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "La partición %d no termina en un límite de cilindro\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "La partición %d se solapa con otras en los sectores %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Espacio no utilizado - sectores 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Espacio no utilizado - sectores %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Ya hay otras particiones que abarcan el disco completo.\n"
+"Suprima algunas o reduzca su tamańo antes de volver a intentarlo.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Se recomienda que la partición 11\n"
+"abarque el disco completo y sea del tipo `SGI volume'\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"No ha abarcado el disco completo con la tercera partición, pero\n"
+"el valor %d %s que ha especificado se solapa con otra partición.\n"
+"La entrada que ha realizado se ha cambiado por %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Si desea mantener la compatibilidad con SunOS/Solaris, se recomienda dejar\n"
+"esta partición como disco completo (5), con principio en 0, con %u sectores\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Se recomienda que la partición en el desplazamiento 0\n"
+"sea UFS, EXT2FS o SunOS swap. Utilizar Linux swap\n"
+"puede destruir la tabla de particiones y el bloque de inicio.\n"
+"Escriba SÍ si está seguro de que desea que la partición\n"
+"esté marcada con 82 (Linux swap): "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (etiqueta de disco Sun): %d cabezas, %d sectores, %d r.p.m.\n"
+"%d cilindros, %d cilindros alternativos, %d cilindros físicos\n"
+"%d sectores por cilindro adicionales, interleave %d:1\n"
+"%s\n"
+"Unidades = %s de %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (etiqueta de disco Sun): %d cabezas, %d sectores, %d cilindros\n"
+"Unidades = %s de %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Indic. Principio Fin Bloques Id Sistema\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Número de cilindros alternativos"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Sectores adicionales por cilindro"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Factor de interleave"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Velocidad de rotación (r.p.m.)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Número de cilindros físicos"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Vacía"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Extendida"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootable"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 oculta"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 oculta <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 oculta"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS oculta"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "SmartSleep de AST"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Hidden W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Hidden W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Hidden W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "HPFS/NTFS oculta"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x segunda parte"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x tercera parte"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD o SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "Unidad C: oculta de OS/2"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux extendida"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "Conjunto de volúmenes NTFS"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "Hibernación de IBM Thinkpad"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "UFS de Darwin"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "arranque de Darwin"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard hidden"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "arranque de Solaris"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Datos sin SF"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Utilidad Dell"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "inicio Linux/PA-RISC"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS secondary"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMFS de VMware"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMKCORE de VMware"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "Error de búsqueda en %s; no se puede buscar en %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "Error de búsqueda: se esperaba 0x%08x%08x, se ha obtenido 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "Error de lectura en %s; no se puede leer el sector %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "Error de escritura en %s; no se puede escribir el sector %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "No se puede abrir el fichero de guardar sector de partición (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "Error de escritura en %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "No se puede ejecutar stat para fichero de restaurar partición (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"Tamańo incorrecto de fichero de restaurar partición; no se efectúa "
+"restauración\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "No se puede abrir fichero de restaurar partición (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "Error al leer %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "No se puede abrir el dispositivo %s para escribir\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "Error al escribir el sector %lu en %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disco %s: no se puede obtener la geometría\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disco %s: no se puede obtener el tamańo\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Atención: principio=%lu - parece ser una partición y no un\n"
+"disco entero. Usar fdisk con ella probablemente no tiene sentido.\n"
+"[Use la opción --force si realmente desea realizar esta operación.]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Atención: HDIO_GETGEO indica que hay %lu cabezas\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Atención: HDIO_GETGEO indica que hay %lu sectores\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Atención: HDIO_GETGEO indica que hay %lu cilindros\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Atención: número improbable de sectores (%lu); normalmente 63 como máximo\n"
+"Esto causará problemas con el software que direccione con Cil./Cab./Sector\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disco %s: %lu cilindros, %lu cabezas, %lu sectores/pista\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s de partición %s tiene un valor imposible para cabeza: %lu\n"
+"(debe estar entre 0 y %lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s de partición %s tiene un valor imposible para sector: %lu\n"
+"(debe estar entre 1 y %lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s de partición %s tiene un valor imposible para cilindros: %lu\n"
+"(debe estar entre 0 y %lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Nombre\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Volviendo a leer la tabla de particiones...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"La orden para volver a leer la tabla de particiones ha fallado.\n"
+"Reinicie el sistema ahora, antes de utilizar mkfs.\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Error al cerrar %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: esta partición no existe\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "Formato no reconocido; utilizando sectores\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "formato no implementado; utilizando %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = cilindros de %lu bytes, bloques de 1024 bytes, contando desde %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Disp. Inic. Princ. Fin Nşcil Nşbloq. Id Sistema\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = sectores de 512 bytes, contando desde %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Disp. Inicio Principio Fin Nş sect. Id Sistema\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = bloques de 1024 bytes, contando desde %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Disp. Inic. Principio Fin Nşbloques Id Sistema\n"
+
+# FIXME: żQué es un mebibyte?
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = megabytes de 1048576 bytes, bloques de 1024 bytes, contando desde "
+"%d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Disp. Inic Princ. Fin MiB Nşbloques Id Sistema\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tprincipio: (cil.,cab.,sect.) esperado (%ld,%ld,%ld) detectado (%ld,%ld,"
+"%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tfin: (cil.,cab.,sect.) esperado (%ld,%ld,%ld) detectado (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+"La partición termina en el cilindro %ld, más allá del final del disco\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "No se ha encontrado ninguna partición\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Atención: La tabla de particiones parece haberse creado\n"
+" para Cil./Cab./Sect.=*/%ld/%ld (en lugar de %ld/%ld/%ld).\n"
+"Para este listado se presupondrá esta geometría.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "No existe ninguna tabla de particiones.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "Extrańamente sólo hay %d particiones definidas.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"Atención: la partición %s tiene tamańo 0 pero no está marcada como vacía\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Atención: la partición %s tiene tamańo 0 y es iniciable\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+"Atención: la partición %s tiene tamańo 0 y principio distinto de cero\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "Atención: la partición %s contiene parte de "
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Atención: la partición %d está vacía\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Atención: la partición %s contiene parte de la tabla de particiones\n"
+"(sector %lu), y la destruirá cuando se llene\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Atención: la partición %s empieza en el sector 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Atención: la partición %s finaliza más allá del final del disco\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Como máximo una de las particiones primarias puede ser extendida\n"
+" (aunque esto no es un problema bajo Linux)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Atención: la partición %s no empieza en un límite de cilindro\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Atención: la partición %s no termina en un límite de cilindro\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Atención: hay más de una partición primaria marcada como iniciable (activa)\n"
+"Esto no es poblema para LILO, pero el MBR de DOS no se iniciará con este "
+"disco.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Atención: normalmente sólo es posible iniciar desde particiones primarias.\n"
+"LILO no tiene en cuenta el indicador de iniciable.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Atención: no hay ninguna partición primaria marcada como iniciable "
+"(activa).\n"
+"Esto no es problema para LILO, pero el MBR de DOS no iniciará con este "
+"disco.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "comienzo"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"Partición %s: principio: (cil.,cab.,sect.) esperado (%ld,%ld,%ld) detectado "
+"(%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "final"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"Partición %s: fin: (cil.,cab.,sect.) esperado (%ld,%ld,%ld) detectado (%ld,"
+"%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+"La partición %s termina en el cilindro %ld, más allá del final del disco\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Atención: se desplaza el comienzo de la partición extd de %ld a %ld\n"
+"(Solamente para visualizarlo. No se cambia su contenido.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Atención: la partición extendida no empieza en un límite de cilindro.\n"
+"DOS y Linux interpretarán el contenido de forma diferente.\n"
+"\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERROR: el sector %lu no tiene una firma msdos\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "demasiadas particiones - se ignoran las posteriores al nş (%d)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "żárbol de particiones?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Administrador de disco detectado; no se puede tratar esto\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "Detectada firma DM6 - abandonando\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "Situación anómala: żpartición extendida de tamańo 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "Situación anómala: żpartición BSD de tamańo 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: tipo de tabla de particiones no reconocido\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "Se ha especificado el indicador -n: no se ha producido ningún cambio\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Error al guardar los sectores antiguos; anulando la operación\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Error al escribir la partición en %s\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "Línea de entrada larga o incompleta; se abandona la operación\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "Error de entrada: se esperaba `=' después del campo %s\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "Error de entrada: carácter inesperado %c tras campo %s\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "Entrada no reconocida: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "Número demasiado elevado\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "Datos extrańos tras el número\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "No hay espacio para descriptor de partición\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "No se puede crear partición extendida adyacente\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "Demasiados campos de entrada\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "No queda más espacio\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Tipo no permitido\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Atención: el tamańo dado (%lu) supera el tamańo máximo permitido (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Atención: partición vacía\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Atención: principio de partición incorrecto (antes %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "Indicador de iniciable no reconocido; elija - o *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "żEspecificación parcial de cil,cab,sect?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Partición extendida en ubicación no esperada\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "Entrada incorrecta\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "Hay demasiadas particiones\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Entrada con el formato siguiente; los campos ausentes utilizan el valor "
+"predeterminado.\n"
+"<principio> <tamańo> <tipo [E,S,L,X,hex]> <iniciable [-,*]> <cil,cab,sec> "
+"<cil,cab,sec>\n"
+"Normalmente sólo debe especificar <principio> y <tamańo> (y quizás <tipo>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Uso:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d particiones:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "opciones peligrosas:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g [o --show-geometry]: Imprime la idea del núcleo sobre la geometría"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [o --show-extended]: Muestra también las particiones extendidas en\n"
+" salida o espera sus descriptores en entrada"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Uso:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s dispositivo\t\t Enumera las particiones activas del dispositivo\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s dispositivo n1 n2 ... activar particiones n1 ..., desactivar el resto\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An dispositivo\t activa la partición n, desactiva el resto\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Utilice el indicador --force para eludir todas las comprobaciones.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "żninguna orden?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "Número `%s' inválido\n"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "total: %llu bloques\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "uso: sfdisk --print-id dispositivo número-partición\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "uso: sfdisk --change-id dispositivo número-partición Id\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "uso: sfdisk --id dispositivo número-partición [Id]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "puede especificar sólo un dispositivo (salvo con -l o -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "No se puede abrir %s para lectura-escritura\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "No se puede abrir %s para lectura\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilindros, %ld cabezas, %ld sectores por pista\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "No se puede obtener el tamańo de %s\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "byte activo incorrecto: 0x%x en lugar de 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Fin\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Tiene %d particiones primarias activas. No tiene importancia para LILO,\n"
+"pero el MBR de DOS sólo puede iniciar discos con una partición activa.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "la partición %s tiene el identificador %x y no está oculta\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "Identificador %lx incorrecto\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Actualmente este disco está en uso.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Error muy grave: no se puede encontrar %s\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Atención: %s no es un dispositivo de bloques\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Comprobando que nadie esté utilizando este disco en este momento...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Este disco está actualmente en uso; no se aconseja volver a crear "
+"particiones.\n"
+"Desmonte todos los sistemas de ficheros y deshaga todas las particiones de\n"
+"intercambio de este disco. Utilice el indicador --no-reread para eliminar "
+"esta\n"
+"comprobación.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Utilice el indicador --force para eludir todas las comprobaciones.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "Correcto\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Situación anterior:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "La partición %d no existe; no se puede cambiar\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Situación nueva:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"El sistema no encuentra adecuadas estas particiones; no se ha cambiado "
+"nada.\n"
+"(Si realmente desea realizar esta operación, use la opción --force.)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+"El sistema no encuentra adecuada esta operación; probablemente deba "
+"responder No\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "żEstá satisfecho con esta operación? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "żDesea escribir esta información en el disco? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Se está saliendo; no se ha cambiado nada\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Responda con una de las entradas siguientes: y,n,q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"La nueva tabla de particiones se ha escrito correctamente\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Si ha creado o modificado una partición DOS, como /dev/foo7, utilice dd(1)\n"
+"para poner a cero los 512 primeros bytes: dd if=/dev/zero of=/dev/foo7 "
+"bs=512 count=1\n"
+"(Véase fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Muestra información de versión\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: error de escritura.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: las opciones --adjust y --noadjfile se excluyen mutuamente. Ha "
+"especificado ambas.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() ha fallado"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "No se puede asignar el búfer.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "uso: namei [-mx] nombreruta [nombreruta ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p teléfono-oficina ]\n"
+"\t[ -h teléfono-particular ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Muestra información de versión\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: el usuario %d no existe.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: el usuario \"%s\" no existe.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr ""
+"%s: sólo se pueden modificar entradas locales; utilice yp%s en su lugar.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s no está autorizado a cambiar la información de finger de %s\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Contexto de usuario desconocido"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: No se puede establecer el contexto predeterminado para /etc/passwd"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Cambiando información de finger para %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "No se ha cambiado la información de finger.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Operación anulada.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "Campo demasiado largo.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "Campo demasiado largo.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' no está permitido.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' no está permitido.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: los caracteres de control no están permitidos.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Los caracteres de control no están permitidos.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr ""
+"*NO* se ha cambiado la información de finger. Inténtelo de nuevo más "
+"adelante.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+" -s, --shell=intérpr.órdenes Define las convenciones de cita del "
+"intérprete\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr ""
+"%s: sólo se pueden modificar entradas locales; utilice yp%s en su lugar.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s no está autorizado a cambiar el shell de %s\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: El UID en ejecución no coincide con el UID del usuario que se está\n"
+"alterando, cambio de shell denegado\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+"%s: el intérprete de órdenes no está en /etc/shells; cambio de intérprete de "
+"órdenes denegado\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Cambiando intérprete de órdenes para %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Nuevo intérprete de órdenes"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "No se ha cambiado el intérprete de órdenes.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"*NO* se ha cambiado el intérprete de órdenes. Inténtelo de nuevo más "
+"adelante.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Se ha cambiado el intérprete de órdenes.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: el intérprete de órdenes debe ser un nombre de ruta completo.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" no existe.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" no es ejecutable.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Atención: \"%s\" no figura en /etc/shells.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" no figura en /etc/shells.\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "No hay ningún intérprete de órdenes conocido.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "uso: last [-#] [-f fichero] [-t tty] [-h nombrehost] [usuario ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "fsync ha fallado"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " todavía tiene iniciada la sesión"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp empieza %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "montaje erróneo"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interrumpido %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "El inicio de sesión ha superado el tiempo de espera tras %d segundos\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "Error fatal: no se puede reabrir la terminal: %s"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "ERROR FATAL: %s no es una terminal"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "montaje erróneo"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() ha fallado: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "ERROR FATAL: Terminal errónea"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Último inicio de sesión: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "desde %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "en %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "falló la escritura a stdout"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "Conexión telefónica en %s por %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "Inicio de sesión con root en %s desde %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "Inicio de sesión con root en %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "Inicio de sesión en %s por %s desde %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "Inicio de sesión en %s por %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "Inicio de sesión: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "login: error de PAM; anulando: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "No se ha podido inicializar PAM: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "Error de inicio de sesión %d desde %s para %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Inicio de sesión incorrecto\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "Demasiados intentos de inicio de sesión (%d) desde %s para %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "Error de sesión de inicio de sesión desde %s para %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Inicio de sesión incorrecto\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Problema al iniciar la sesión, abortado.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "nombre de usuario NULO en %s:%d. Abortado."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "Fallo en TIOCSCTTY: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h sólo para superusuario.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr "uso: last [-#] [-f fichero] [-t tty] [-h nombrehost] [usuario ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Nombre de usuario inválido \"%s\" en %s:%d. Abortado."
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() ha fallado"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Tiene correo nuevo.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Tiene correo.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() ha fallado"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "Error de búsqueda"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Iniciando la sesión con directorio de inicio = \"/\".\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr ""
+"login: no se ha podido ejecutar el script de intérprete de órdenes: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "No hay ningún intérprete de órdenes"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Valor de intervalo inválido: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Contraseńa: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: este grupo no existe."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: żquién es usted?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() ha fallado"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: este grupo no existe."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: permiso denegado"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() ha fallado"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "no se puede abrir %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "no se puede eliminar el identificador %s (%s)\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: no se puede obtener el directorio actual - %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "No se puede establecer el manejador de seńales"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "Error de búsqueda"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Contraseńa incorrecta."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Escriba `getopt --help' para obtener más información.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "uso: %s programa [arg ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: el usuario \"%s\" no existe.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: no se puede obtener el directorio actual - %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: no abierto para lectura/escritura"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: no abierto para lectura/escritura"
+
+# FIXME: El fichero se llama "passwd", no "password"
+# Comunicar al autor.
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: el fichero `passwd' está ocupado.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "żEstá seguro de que desea continuar?"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "Error de búsqueda"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "Error de búsqueda"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "El estado de %s es %d"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "El estado de %s es %d"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "identificador inválido"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: sólo el usuario root puede efectuar esta acción"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "Fallo en TIOCSCTTY: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "El estado de %s es %d"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: no se puede abrir %s\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: no se puede abrir el fichero temporal.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: fallo al cambiar el nombre de %s a %s: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: No se puede obtener el contexto de %s"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: No se puede establecer el contexto de %s"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s no se ha modificado\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "No se puede bifurcar (fork)"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: no se ha efectuado ningún cambio\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Está utilizando grupos ocultos en este sistema.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Esta utilizando conbtraseńas ocultas en este sistema.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "żQuiere editar %s ahora? [y/n] "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Valor de cabezas no permitido"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "Valor de ańo no permitido: utilice 1-9999"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "Valor de mes no permitido: utilice 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "Valor de ańo no permitido: utilice 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s de %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "uso: cal [-13smjyV] [[mes] ańo]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "uso: %s [+formato] [día mes ańo]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Día de San Tibb"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "No se puede abrir '%s'"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "dispositivo de bloques "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "opciones útiles:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Número de partición"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Orden desconocida: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "read %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Eliminar"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "desconocido"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "error de búsqueda"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "No se puede asignar el búfer.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: no se puede leer %s.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "No se puede asignar el búfer.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "No se puede asignar el búfer.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "La asignación de memoria (malloc) ha fallado"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Órdenes disponibles:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "No hay ningún directorio %s\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "identificador inválido: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "No se puede asignar el búfer.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "Opción larga vacía tras argumento -l o --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "Shell desconocido tras argumento -s o --shell"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [opciones] -o|--options cadenaopciones [opciones] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Permite opciones largas con un solo - "
+"inicial\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Esta pequeńa guía de uso\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=opclargas Opciones largas para reconocer\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name=nombreprograma El nombre con el que se informa de los "
+"errores\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=cadenaopciones Opciones cortas que se reconocen\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet Desactiva información de errores mediante\n"
+" getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output No hay salida normal\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell=intérpr.órdenes Define las convenciones de cita del "
+"intérprete\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Prueba para la versión de getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unquote No entrecomilla el resultado\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Muestra información de versión\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "Falta el argumento cadenaopciones"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "Error interno; contacte con el desarrollador."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: seńal desconocida %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "identificador inválido"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: no se puede encontrar el proceso \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: seńal desconocida %s; seńales válidas:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "uso: %s [ -s seńal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ seńal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: nombre de recurso desconocido: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: nombre de prioridad desconocida: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "Nombre de inicio de sesión demasiado largo.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "TamańoDelBloque: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "nfs connect"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "nfs socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "nfs connect"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Siguiente fichero: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "identificador inválido"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Número de partición"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "falló la llamada a `stat' sobre la ruta\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "establece sólo lectura"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " removable"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "falló la llamada a `stat' sobre la ruta\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Nombre de usuario no permitido"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "tamańo de nodo-i incorrecto"
+
+#: misc-utils/lsblk.c:133
+#, fuzzy
+msgid "minimum I/O size"
+msgstr "obtiene el tamańo mínimo de E/S"
+
+#: misc-utils/lsblk.c:134
+#, fuzzy
+msgid "optimal I/O size"
+msgstr "obtiene el tamańo óptimo de E/S"
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "obtiene el tamańo del bloque físico (sector)"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "obtiene el tamańo del bloque lógico (sector)"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "tamańo de nodo-i incorrecto"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " u Cambia las unidades de visualización/entrada"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "umount: %s: dispositivo desconocido"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "No se puede asignar el búfer.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: fallo al abrir %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Órdenes disponibles:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "falló la llamada a `stat' sobre la ruta\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "no se puede abrir %s"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "desconocido"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "identificador inválido: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Se han obtenido %d bytes de %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "uso: namei [-mx] nombreruta [nombreruta ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "argumento --date demasiado largo\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: fallo al cambiar el nombre de %s a %s: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: argumento -l incorrecto %s.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "Escribir"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "read %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "No se puede bloquear el fichero de bloqueo %s: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "shutdown: No se puede ejecutar umount %s: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "No se puede bloquear el fichero de bloqueo %s: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Error al leer %s\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "Número inválido: %s\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "Número inválido: %s\n"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "Número inválido: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Error al cambiar el modo de %s: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "shutdown: No se puede ejecutar umount %s: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: fallo al abrir %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: no se ha encontrado"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "identificador inválido"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "atención: error al leer %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "atención: no se puede abrir %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: no se ha podido abrir %s; en su lugar se utiliza %s\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"No se puede crear el fichero de bloqueo %s: %s (utilice -n para modificar "
+"este valor)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"No se puede enlazar el fichero de bloqueo %s: %s (utilice -n para modificar "
+"este valor)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"No se puede abrir el fichero de bloqueo %s: %s (utilice -n para modificar "
+"este valor)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "No se puede bloquear el fichero de bloqueo %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "No se puede bloquear el fichero de bloqueo %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "Tiempo de espera excedido"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"No se puede crear enlace %s\n"
+"Puede que haya un fichero de bloqueo obsoleto.\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "No se puede abrir %s (%s) - mtab no actualizado"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "Error al escribir %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "swapon: no se puede ejecutar stat para %s: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "Error al cambiar el modo de %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "Error al cambiar el modo de %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "No se puede cambiar el nombre %s por %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: no se puede encontrar %s en %s o %s"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: según mtab, %s ya está montado en %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: según mtab, %s está montado en %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: no se puede abrir %s para escritura: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: error al escribir %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: error al cambiar el modo de %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: no se puede bifurcar (fork): %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Probando con %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: no ha especificado ningún tipo de sistema de ficheros para %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Se probará con todos los tipos indicados en %s o %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " y parece que sea un espacio de intercambio\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Se probará con el tipo %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s parece espacio de intercambio - no montado"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "montaje erróneo"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: sólo el usuario root puede montar %s en %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: dispositivo de bucle especificado dos veces"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: tipo especificado dos veces"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: omitiendo la configuración de un dispositivo de bucle\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: se va a utilizar el dispositivo de bucle %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "Valor establecido inválido: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "Valor establecido inválido: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: según mtab, %s ya está montado en %s"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "No se pudo bloquear en memoria, saliendo.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: error al configurar dispositivo de bucle\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: se va a utilizar el dispositivo de bucle %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: error al configurar dispositivo de bucle\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: error al configurar dispositivo de bucle\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: configuración correcta de dispositivo de bucle\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: no se ha encontrado %s; se está creando...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: el argumento para -p o --pass-fd debe ser un número"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: no se puede abrir %s para establecer la velocidad"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount-deprecated/mount.c:1564
+#, fuzzy, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: según mtab, %s ya está montado en %s"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: %s ocupado; se ha vuelto a montar como de sólo lectura\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: %s ocupado; se ha vuelto a montar como de sólo lectura\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: no se ha podido determinar el tipo de sistema de ficheros y no se ha\n"
+"especificado ninguno"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: debe especificar el tipo de sistema de ficheros"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: montaje erróneo"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: el punto de montaje %s no es un directorio"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: permiso denegado"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: debe ser superusuario para utilizar mount"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s está ocupado"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc ya está montado"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s ya está montado o %s está ocupado"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: el punto de montaje %s no existe"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: el punto de montaje %s es un enlace simbólico sin destino"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: el dispositivo especial %s no existe"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: el dispositivo especial %s no existe\n"
+" (un prefijo de ruta no es un directorio)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s no está montado todavía o una opción es incorrecta"
+
+#: mount-deprecated/mount.c:1758
+#, fuzzy, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: tipo de sistema de ficheros incorrecto, opción incorrecta,\n"
+" superbloque incorrecto en %s, falta la página de códigos,\n"
+" o algún otro error"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (żpuede que este sea el dispositivo IDE donde está\n"
+" usando ide-scsi de forma que se necesite sr0 o sda?"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (żno estará intentando montar una partición extendida,\n"
+" en lugar de alguna partición lógica que haya dentro?"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" En algunos casos se encuentra información en syslog, pruebe\n"
+" dmesg | tail o algo parecido\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "tabla de dispositivos montados completa"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: no se puede leer el superbloque"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: %s: dispositivo desconocido"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: tipo de sistema de ficheros '%s' desconocido"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: probablemente quería referirse a %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: żquiere decir 'iso9660?'"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: żquiere decir 'vfat'?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s con número de dispositivo incorrecto o tipo de sistema de ficheros "
+"%s no soportado"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s no es un dispositivo de bloques y żstat falla?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: el núcleo no reconoce %s como dispositivo de bloques\n"
+" (żtal vez `insmod driver'?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s no es un dispositivo de bloques (pruebe `-o loop')"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s no es un dispositivo de bloques"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s no es un dispositivo de bloques válido"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "dispositivo de bloques "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "umount: no se puede montar %s%s de sólo lectura"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s está protegido contra escritura pero se ha dado la opción `-w'"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "umount: no se puede montar %s%s de sólo lectura"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+"mount: %s%s está protegido contra escritura; se monta como sólo lectura"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s ya está montado en %s\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: no se ha especificado ningún tipo; se presupone nfs por los dos "
+"puntos\n"
+
+#: mount-deprecated/mount.c:1987
+#, fuzzy, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: no se ha especificado ningún tipo; se presupone smbfs por el "
+"prefijo //\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s ya está montado en %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, fuzzy, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Uso: mount -V : muestra la versión\n"
+" mount -h : muestra esta ayuda\n"
+" mount : muestra los sistemas de ficheros montados\n"
+" mount -l : ídem, incluyendo etiquetas de volumen\n"
+"Hasta aquí la parte informativa. Vayamos al montaje.\n"
+"La orden es `mount [-t tiposf] cosa sitio.\n"
+"Los detalles que se encuentran en /etc/fstab se pueden omitir.\n"
+" mount -a [-t|-O] ... : monta todo lo que hay en /etc/fstab\n"
+" mount dispositivo : monta el dispositivo en el sitio conocido\n"
+" mount directorio : monta el dispositivo conocido aquí\n"
+" mount -t tipo disp dir : orden mount ordinaria\n"
+"Tenga en cuenta que uno no monta realmente un dispositivo, uno monta un\n"
+"sistema de ficheros (del tipo dado) que se encuentra en el dispositivo.\n"
+"También se puede montar un árbol de directorios ya visible en otro sitio:\n"
+" mount --bind dirantiguo dirnuevo\n"
+"o mover un subárbol:\n"
+" mount --move dirantiguo dirnuevo\n"
+"Se puede dar un dispositivo mediante el nombre, digamos /dev/hda1 o /dev/"
+"cdrom,\n"
+"o mediante la etiqueta, utilizando -L etiqueta, o mediante uuid, mediante -U "
+"uuid.\n"
+"Otras opciones: [-nfFrsvw] [-o opciones] [-p passwdfd].\n"
+"Escriba man 8 mount para saber mucho más.\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: sólo el usuario root puede efectuar esta acción"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: sólo el usuario root puede efectuar esta acción"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "no se ha montado nada"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: no se ha encontrado esta partición"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: no se puede encontrar %s en %s o %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: atención: no hay ninguna nueva línea final al final de %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: la línea %d de %s es incorrecta%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; el resto del fichero no se tiene en cuenta"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "Error en la llamada xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "No hay suficiente memoria"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: compilado sin soporte para -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: no se puede bifurcar (fork): %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: dispositivo de bloques inválido"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: no montado"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: no se puede escribir el superbloque"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: no se ha encontrado"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: debe ser superusuario para utilizar umount"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+"umount: %s: dispositivos de bloques no permitidos en sistema de ficheros"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: no se puede ejecutar chdir para %s - %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: no se puede obtener el directorio actual - %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: el punto de montaje %s no existe"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "umount2 no existe; se está probando con umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s ocupado; se ha vuelto a montar como de sólo lectura\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: no se ha podido volver a montar %s como de sólo lectura\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "Se ha ejecutado umount en %s\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+"umount: no se puede encontrar lista de sistemas de ficheros para desmontar"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Uso: umount [-hV]\n"
+" umount -a [-f] [-r] [-n] [-v] [-t vfstypes] [-O opciones]\n"
+" umount [-f] [-r] [-n] [-v] special | node...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: fallo al abrir %s\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "write: %s no tiene una sesión iniciada en %s.\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "No se puede desmontar \"\"\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Se está intentando ejecutar umount en %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "No se puede encontrar %s en mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "write: %s no tiene una sesión iniciada en %s.\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s no está montado (según mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: parece que %s se ha montado varias veces"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s no está en fstab (y usted no es el usuario root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: montaje de %s no concuerda con fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: sólo %s puede desmontar %s desde %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: sólo el usuario root puede efectuar esta acción"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Error al escribir la partición en %s\n"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS sobre TCP no está soportado.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: no se puede encontrar \"_stext\" en %s\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "identificador inválido"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "Error al escribir la partición en %s\n"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Error al escribir la partición en %s\n"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty ha fallado\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty ha fallado\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "identificador inválido"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "identificador inválido: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Orden desconocida: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "error desconocido en el identificador"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "uso: %s programa [arg ...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "montaje erróneo"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "Error al escribir la partición en %s\n"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "Error al escribir la partición en %s\n"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "no se puede obtener el tamańo de %s"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "La asignación de memoria (malloc) ha fallado"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" no existe.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" no es ejecutable.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Error de configuración automática.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Error de configuración automática.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "Número `%s' inválido\n"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: argumento desconocido: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Uso: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+"Debe ser el usuario root para definir el comportamiento de Ctrl-Alt-Supr.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld umbral predeterminado y %ld tiempo de espera predeterminado\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Esta pequeńa guía de uso\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Fichero %s, para valor de umbral %lu, máximo de caracteres en fifo fue %d\n"
+"y velocidad de transferencia máxima en caracteres por segundo fue %f\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Fichero %s, para valor de umbral %lu y valor de tiempo de espera %lu, máximo "
+"de caracteres en fifo fue %d\n"
+"y velocidad de transferencia máxima en caracteres por segundo fue %f\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday ha fallado"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "No se puede emitir CYGETMON en %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "No se puede obtener el umbral para %s: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "No se puede obtener el tiempo de espera para %s: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu enteros, %lu/%lu caracteres; fifo: %lu umbral, %lu tiempo_espera, "
+"%lu máximo, %lu ahora\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f enteros/seg.; %f recepción, %f envío (caracteres/seg.)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu enteros, %lu caracteres; fifo: %lu umbral, %lu tiempo_espera, %lu "
+"máximo, %lu ahora\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f enteros/seg.; %f recepción (caracteres/seg.)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Valor de intervalo inválido: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Valor de intervalo inválido: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Valor establecido inválido: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Valor establecido inválido: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Valor predeterminado inválido: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Valor predeterminado inválido: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Valor de hora establecido inválido: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Valor de hora establecido inválido: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Valor de hora predeterminado inválido: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Valor de hora predeterminado inválido: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "No se puede establecer %s en el umbral %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "No se puede establecer %s en el umbral de hora %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld umbral actual y %ld tiempo de espera actual\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld umbral predeterminado y %ld tiempo de espera predeterminado\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Esta partición se encuentra en estado inutilizable"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "error al cerrar %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Atención: la partición %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "mensajes"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "no se puede abrir %s"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "no se puede abrir %s"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Orden desconocida: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "No hay ningún directorio %s\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync ha fallado"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "no se puede abrir %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "(Siguiente fichero: %s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "identificador inválido"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "lectura/escritura"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "żninguna orden?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fsync ha fallado"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+#, fuzzy
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+"mount: el tipo de sistema de ficheros %s no está soportado por el núcleo"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+#, fuzzy
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+"mount: el tipo de sistema de ficheros %s no está soportado por el núcleo"
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "no es un dispositivo de bloques o un fichero: %s"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "montaje erróneo"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "No se puede abrir %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: el punto de montaje %s no existe"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: fallo al cambiar el nombre de %s a %s: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s: no se ha encontrado"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " removable"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Se está utilizando el valor predeterminado %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: no se puede abrir el dispositivo %s: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s: no se ha encontrado"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: no es un dispositivo de bloques\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: no se puede abrir el dispositivo %s: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "umount: %s: dispositivo ocupado"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s ha tenido éxito.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "La apertura del directorio ha fallado\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Hay demasiados argumentos.\n"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "Valor establecido inválido: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "Valor establecido inválido: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "No se ha especificado la opción --date.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "se esperaba un número, pero se obtuvo '%s'"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "La asignación de memoria (malloc) ha fallado"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "identificador inválido"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s necesita un argumento\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() ha fallado"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "No se ha especificado la opción --date.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "No se ha especificado la opción --date.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "No se ha especificado la opción --date.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "Error de búsqueda"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "no se puede abrir %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Se presupone que el reloj de hardware tiene la hora %s.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "local"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: atención: tercera línea no reconocida en el fichero adjtime\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Último ajuste de desfase realizado %ld segundos después de 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Última calibración realizada %ld segundos después de 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "El reloj de hardware tiene la hora %s\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Esperando seńal de reloj...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...recibida seńal de reloj\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Valores inválidos en reloj de hardware: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Hora del reloj de hardware: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld segundos "
+"desde 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Hora leída del reloj de hardware: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Estableciendo reloj de hardware en %.2d:%.2d:%.2d = %ld segundos desde 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "El reloj no se ha modificado; sólo se está probando.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"El tiempo transcurrido desde la hora de referencia es de %.6f segundos.\n"
+"Aumentando el retardo hasta el siguiente segundo completo.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Los registros del reloj de hardware contienen valores que no son válidos\n"
+"(por ejemplo, día 50 del mes) o exceden el rango que puede utilizarse\n"
+"(por ejemplo, el ańo 2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f segundos\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "No se ha especificado la opción --date.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "argumento --date demasiado largo\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"El valor de la opción --date no es una fecha válida.\n"
+"En concreto, contiene comillas.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Ejecutando orden date: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"No se puede ejecutar el programa 'date' en intérprete de órdenes /bin/sh. "
+"popen() ha fallado"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "respuesta de la orden date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"La orden date ejecutada por %s ha devuelto resultados inesperados.\n"
+"La orden fue:\n"
+"%s\n"
+"La respuesta fue:\n"
+"%s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"La orden date emitido por %s ha devuelto un valor no entero cuando se "
+"esperaba el valor de hora convertida.\n"
+"La orden fue:\n"
+" %s\n"
+"La respuesta fue:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "La cadena de fecha %s equivale a %ld segundos desde 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"El reloj de hardware no contiene una hora válida, por lo que no se puede "
+"establecer la hora del sistema a partir de ese valor.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Se está llamando settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+"No se establece el reloj del sistema ya que la ejecución es en modo de "
+"prueba.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Debe ser superusuario para establecer el reloj del sistema.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() ha fallado"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"No se ajusta el factor de desfase debido a que el reloj de hardware\n"
+"contenía anteriormente datos extrańos.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"No se ajusta el factor de desfase debido a que la fecha de última\n"
+"calibración es cero, así que el historial es erróneo y es necesaria una\n"
+"calibración desde el principio.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"No se ajusta el factor de desfase debido a que hace menos de un día que se\n"
+"realizó la última calibración.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"El reloj se ha desfasado %.1f segundos en los últimos %d segundos a pesar "
+"de\n"
+"utilizar un factor de desfase de %f segundos por día. Se ajusta el factor "
+"de\n"
+"desfase en %f segundos por día\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "El tiempo transcurrido desde el último ajuste es de %d segundos\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Es preciso insertar %d segundos y establecer como referencia la hora %.6f "
+"segundos hacia atrás\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "No se está actualizando el fichero adjtime debido al modo de prueba.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Se habría escrito lo siguiente en %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Parámetros de ajuste del desfase no actualizados.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"El reloj de hardware no contiene una hora válida, por lo que no se puede "
+"ajustar.\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"No se ajusta el factor de desfase debido a que la fecha de última\n"
+"calibración es cero, así que el historial es erróneo y es necesaria una\n"
+"calibración desde el principio.\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"El ajuste necesario es inferior a un segundo, por lo que no se establece el "
+"reloj.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Utilizando %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "No se ha encontrado ninguna interfaz de reloj utilizable.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "No se puede establecer el reloj del sistema.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"El núcleo tiene un valor de época para el reloj de hardware sólo en las\n"
+"máquinas Alpha. Esta copia de hwclock se compiló para una máquina que no es\n"
+"Alpha (por lo que posiblemente no se está ejecutando en una máquina Alpha).\n"
+"No se efectúa ninguna acción.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "No se puede obtener el valor de época del núcleo.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "El núcleo presupone el valor de época %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Para establecer el valor de época, debe utilizar la opción 'epoch' para "
+"indicar en qué valor debe definirse.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+"No se está estableciendo el valor de época en %d; sólo se está probando.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "No se puede establecer el valor de época en el núcleo.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d particiones:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" Indica al reloj de hardware el tipo de Alpha (ver hwclock"
+"(8))\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "No se puede establecer el reloj del sistema.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "identificador inválido"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s no admite argumentos que no sean opciones. Ha especificado %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+"%s: Con --noadjfile, debe especificarse o bien --utc o bien --localtime\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Hora no utilizable. No se puede establecer el reloj.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Únicamente el superusuario puede cambiar el reloj de hardware.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Únicamente el superusuario puede cambiar el reloj del sistema.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Sólo el superusuario puede cambiar el valor de época del reloj de hardware "
+"del núcleo.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "No se puede acceder al reloj de hardware por ningún método conocido.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Utilice la opción --debug para ver los detalles de la búsqueda para un "
+"método de acceso.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "iniciado desde MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Reloj BCD Ruffian\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "puerto de reloj ajustado a 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: %s atómico ha fallado para 1000 iteraciones."
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "No se ha podido obtener permiso porque no se ha intentado.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"%s no puede obtener acceso al puerto de E/S: la llamada iopl(3) ha fallado.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Probablemente son necesarios los privilegios de usuario root.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Esperando en bucle que cambie la hora de KDGHWCLK\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Error de ioctl KDGHWCLK al leer la hora"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "Error en bucle de ioctl KDGHWCLK al leer la hora"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Se ha excedido el tiempo de espera del cambio de hora.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "Error de ioctl KDGHWCLK"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "No se puede abrir /dev/tty1 o /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "Error de ioctl KDGHWCLK"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "Error de ioctl() con %s al leer la hora.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Esperando en bucle que cambie la hora de %s\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s no tiene funciones de interrupción. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "Error de read() de %s al esperar seńal de reloj"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "La ejecución de select() a %s para esperar una seńal de reloj falló"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "La ejecución de select() a %s para esperar una seńal de reloj expiró\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "Error de ioctl() con %s al desactivar interrupciones de actualización"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"Error inesperado de ioctl() con %s al activar interrupciones de actualización"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "Error de ioctl() con %s al establecer la hora.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) ha finalizado correctamente.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Para modificar el valor de época del núcleo, se debe acceder al controlador "
+"de\n"
+"dispositivo 'rtc' de Linux mediante el fichero especial de dispositivo %s.\n"
+"Este fichero no existe en este sistema.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "Error de ioctl(RTC_EPOCH_READ) con %s"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "Se ha leído el valor de época %ld de %s con ioctl RTC_EPOCH_READ.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "El valor de época no puede ser inferior a 1900. Ha solicitado %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "Estableciendo época en %ld con ioctl RTC_EPOCH_SET en %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+"El controlador de dispositivo del núcleo para %s no tiene la ioctl "
+"RTC_EPOCH_SET.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "Error de ioctl(RTC_EPOCH_SET) de %s"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output No hay salida normal\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Segmento de memoria compartida shmid=%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Cola de mensajes msqid=%d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "semáforos asignados = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"semid de matriz de semáforos=%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Muestra información de versión\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Segmento de memoria compartida shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"Cola de mensajes msqid=%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"semid de matriz de semáforos=%d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "permiso denegado para la clave"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "permiso denegado para el identificador"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "clave inválida"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "identificador inválido"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "clave ya eliminada"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "identificador ya eliminado"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() ha fallado"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Hay demasiados argumentos.\n"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "recurso(s) eliminado\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: clave ilegal (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "el núcleo no está configurado para memoria compartida\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "el núcleo no está configurado para semáforos\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "el núcleo no está configurado para colas de mensajes\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: argumento desconocido: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+"-i id [-s -q -m] : información detallada sobre los recursos identificados "
+"por id\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "opciones peligrosas:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "el núcleo no está configurado para memoria compartida\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---- Límites memoria compartida ----\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "número máx. segmentos = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "tamańo máx. segmento (kbytes) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "total máx. memoria compartida (kbytes) = %lu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "tamańo mín. segmento (bytes) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "----- Estado memoria compartida ----\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "-- Creadores/propietarios segmento mem. compartida --\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "-- Tiempos conexión/desconexión/modificac. mem. comp. --\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "propietario"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "conectado"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "desconectado"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "modificado"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "---- Creador/último op. memoria compart. ----\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "---- Segmentos memoria compartida ----\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "key"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "bytes"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "estado"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "No establecido"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "bloqueado"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "el núcleo no está configurado para semáforos\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Límites semáforo --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "número máximo de matrices = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "máx. semáforos por matriz = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "máx. semáforos sistema = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "máx. oper. por llamada semop = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valor máx. semáforo = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Estado semáforo ---------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "matrices utilizadas = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semáforos asignados = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "---- Creadores/propietarios matrices semáf. ----\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "--- Tiempos operación/modificación memoria comp. ---\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "última operación"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "última modificación"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Matrices semáforo -------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "el núcleo no está configurado para colas de mensajes\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Mensajes: límites -------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "máx. colas sistema = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "tamańo máx. mensaje (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "tamańo máx. predeterminado cola (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Mensajes: estado --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "colas asignadas = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "cabeceras utilizadas = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "espacio utilizado = %d bytes\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "-- Colas de mensajes: creadores/propietarios --\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "--- Tiempos envío/recep./modific. colas mensajes ----\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "envío"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "recepción"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "modificación"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "----- PID de colas de mensajes ----\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Colas de mensajes -----\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "bytes utilizados"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "mensajes"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync ha fallado"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Segmento de memoria compartida shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync ha fallado"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Cola de mensajes msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid de matriz de semáforos=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "value"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "identificador inválido"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "identificador inválido"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s no es un dispositivo de bloques"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "no se puede obtener el tamańo de %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "No se puede buscar en la unidad de disco"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "no se puede abrir %s"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", desplazamiento %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", tamańo límite %lld"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", cifrado %s (tipo %d)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "El estado de %s es %d"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "El estado de %s es %d"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"uso:\n"
+" %s dispositivo_bucle # dar información\n"
+" %s -d dispositivo_bucle # eliminar\n"
+" %s -f # encuentra no "
+"usados\n"
+" %s [ -e cifrado ] [ -o despl ] {-f|disp_bucle} fichero # configurar\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: dispositivo de bucle especificado dos veces"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "No se ha especificado la opción --date.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "No se pudo bloquear en memoria, saliendo.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: no se puede encontrar \"_stext\" en %s\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "vuelve a leer la tabla de particiones"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: montaje erróneo"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+# Masculino, porque se refiere a "Indicadores"
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "Ninguno"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "obtiene el tamańo del bloque lógico (sector)"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "obtiene el tamańo del bloque lógico (sector)"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr "montaje erróneo"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "No se puede asignar el búfer.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "nfs socket"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Situación anterior:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: sólo el usuario root puede efectuar esta acción"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: sólo el usuario root puede efectuar esta acción"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: sólo el usuario root puede montar %s en %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: sólo el usuario root puede efectuar esta acción"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s de %s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "error de búsqueda"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s ya está montado en %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: sólo el usuario root puede montar %s en %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s ya está montado en %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: no se puede encontrar %s en %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: no se puede encontrar %s en %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: no se puede encontrar %s en %s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: no se ha podido determinar el tipo de sistema de ficheros y no se ha\n"
+"especificado ninguno"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: debe especificar el tipo de sistema de ficheros"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: no se puede enlazar %s: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: montaje erróneo"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "montaje erróneo"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: montaje erróneo"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: el punto de montaje %s no es un directorio"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: debe ser superusuario para utilizar mount"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s está ocupado"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s ya está montado o %s está ocupado"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s ya está montado en %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: el punto de montaje %s no existe"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: el punto de montaje %s es un enlace simbólico sin destino"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: el dispositivo especial %s no existe"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "montaje erróneo"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: el dispositivo especial %s no existe\n"
+" (un prefijo de ruta no es un directorio)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s no está montado todavía o una opción es incorrecta"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s no está montado todavía o una opción es incorrecta"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: tipo de sistema de ficheros incorrecto, opción incorrecta,\n"
+" superbloque incorrecto en %s, falta la página de códigos,\n"
+" o algún otro error"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" En algunos casos se encuentra información en syslog, pruebe\n"
+" dmesg | tail o algo parecido\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: no se puede leer el superbloque"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: tipo de sistema de ficheros '%s' desconocido"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s no es un dispositivo de bloques y żstat falla?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: el núcleo no reconoce %s como dispositivo de bloques\n"
+" (żtal vez `insmod driver'?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s no es un dispositivo de bloques (pruebe `-o loop')"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: no es un dispositivo de bloques\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s no es un dispositivo de bloques válido"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "umount: no se puede montar %s%s de sólo lectura"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s está protegido contra escritura pero se ha dado la opción `-w'"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "umount: no se puede montar %s%s de sólo lectura"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr ""
+"mount: %s%s está protegido contra escritura; se monta como sólo lectura"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s ya está montado en %s\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: fallo al cambiar el nombre de %s a %s: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: montaje erróneo"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s está montado.\t "
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld bloques\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS secondary"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "tamańo de nodo-i incorrecto"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "número máx. segmentos = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "número máx. segmentos = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "número máx. segmentos = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "mensajes"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "número máx. segmentos = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Nombre de usuario no permitido"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "dispositivo de bloques "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Unidades"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d particiones:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "opciones peligrosas:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: las opciones --adjust y --noadjfile se excluyen mutuamente. Ha "
+"especificado ambas.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Primer Último\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unquote No entrecomilla el resultado\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Muestra información de versión\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Esta pequeńa guía de uso\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test Prueba para la versión de getopt(1)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "Error al escribir %s: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Paso de sondeo: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): línea de mapa incorrecta\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: no se puede encontrar \"_stext\" en %s\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s dirección del perfil fuera de rango. żFichero `map' incorrecto?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s de %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Orden desconocida: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "bad timeout value: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "usuario"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: prioridad antigua %d, nueva prioridad %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "lectura/escritura"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "semáforos asignados = %d\n"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "montaje erróneo"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "La ejecución (exec) de rc ha fallado\n"
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "lectura/escritura"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "gettimeofday ha fallado"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: tipo de tabla de particiones no reconocido\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "identificador inválido"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "identificador inválido"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Utilizando %s.\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Utilizando %s.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s no es un dispositivo lp.\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "Mensaje de %s@%s el %s a las %s ..."
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "Mensaje de %s@%s el %s a las %s ..."
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "(Siguiente fichero: %s)"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "uso: %s programa [arg ...]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr "Escriba `getopt --help' para obtener más información.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr "Escriba `getopt --help' para obtener más información.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: tipo de tabla de particiones no reconocido\n"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Hay demasiados argumentos.\n"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "uso: %s programa [arg ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() ha fallado"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s en %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "No es el superusuario.\n"
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr ""
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d Suprime una partición"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "falló la llamada a `stat' sobre la ruta\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "falló la llamada a `stat' sobre la ruta\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Marcar en uso"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "No se puede escribir la página de firma"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Nombre"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"swapon: atención: %s tiene permisos %04o que no son seguros, se sugiere "
+"%04o\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+"swapon: atención: %s tiene permisos %04o que no son seguros, se sugiere "
+"%04o\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "swapon: omitiendo el fichero %s; parece que tiene huecos.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s en %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "fsync ha fallado"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Órdenes disponibles:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: no se puede encontrar \"_stext\" en %s\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "El estado de %s es %d"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "Se está intentando ejecutar umount en %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: no se puede obtener el directorio actual - %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "Error de búsqueda"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unquote No entrecomilla el resultado\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unquote No entrecomilla el resultado\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "bad timeout value: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s no es un dispositivo lp.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "error de LPGETIRQ"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "El estado de %s es %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", ocupado"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", preparado"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", falta papel"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", en línea"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", error"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fsync ha fallado"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "error de LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s utilizando IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s utilizando sondeo\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "montaje erróneo"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: montaje erróneo"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: dispositivo de bloques inválido"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: no se puede leer el superbloque"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: debe ser superusuario para utilizar umount"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr ""
+"umount: %s: dispositivos de bloques no permitidos en sistema de ficheros"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: fallo al abrir %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "uso: %s programa [arg ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "El inicio de sesión ha superado el tiempo de espera tras %d segundos\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "El inicio de sesión ha superado el tiempo de espera tras %d segundos\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "dispositivo de bloques "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "estado"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "umount: %s: dispositivo desconocido"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: argumento desconocido: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: no se puede abrir el dispositivo %s: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Órdenes disponibles:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: seńal desconocida %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "No se puede obtener el tiempo de espera para %s: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "Error de búsqueda en write_tables"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f segundos\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "Tiempo de espera excedido"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+# Nota: si se pone Dispositivo no queda bien el resto de la línea.
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Disposit."
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s versión %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: can't exec %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "Error al cambiar el modo de %s: %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: no se puede encontrar el proceso \"%s\"\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: can't exec %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "No se puede asignar el búfer.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "bad timeout value: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "bad speed: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "too many alternate speeds"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: no se puede abrir como entrada estándar: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: no es un dispositivo de caracteres"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: no abierto para lectura/escritura"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problema de dup: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tipo: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: lectura: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: desbordamiento de entrada"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "usuario"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "usuarios"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "Error de búsqueda"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "es y\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "es n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "semáforos asignados = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "identificador inválido: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Atención: `%s' es un enlace.\n"
+"Utilice `%s [opciones] %s' si quiere utilizarlo de verdad.\n"
+"No se inicia la transcripción.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script iniciado; el fichero es %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Script iniciado (%s)"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: no se puede encontrar \"_stext\" en %s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script terminado (%s)"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script terminado; el fichero es %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty ha fallado\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "No quedan pty\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "se esperaba un número, pero se obtuvo '%s'"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "falló la escritura a stdout"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "se esperaba un número, pero se obtuvo '%s'"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: error de argumento, uso\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "No se puede bifurcar (fork)"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "No se puede bifurcar (fork)"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "No se puede abrir %s %s\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "No se puede (des)activar el modo de ahorro de alimentación\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "No se puede abrir el dispositivo %s para escribir\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "Error de klogctl: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Error al escribir vuelco de pantalla\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "No se ha podido abrir %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM no está definido.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: seńal desconocida %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "Demasidos iov (modificar código en wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "Argumento de línea demasiado largo"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "No se puede bifurcar (fork)"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "bad timeout value: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "No se puede obtener el tamańo del disco"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Mensaje de difusión general (broadcast) de %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: no se puede leer %s - use la entrada estándar.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "(Siguiente fichero: %s)"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "uso: namei [-mx] nombreruta [nombreruta ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: no se puede encontrar el nombre de tty\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: tiene el permiso de escritura desactivado.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s no tiene una sesión iniciada en %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s tiene los mensajes desactivados en %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s no tiene iniciada una sesión\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s tiene los mensajes desactivados\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr ""
+"write: %s tiene iniciada una sesión más de una vez; escribiendo en %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Línea de entrada demasiado larga.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Mensaje de %s@%s (como %s) en %s a las %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Mensaje de %s@%s el %s a las %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "La asignación de memoria (malloc) ha fallado"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: error de escritura.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: argumento -l incorrecto %s.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: atención: no se puede hacer copia de seguridad de %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "más allá de primera línea"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- línea ya vaciada"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: argumento -l incorrecto %s.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: argumento -l incorrecto %s.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "identificador inválido"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "La ejecución (exec) de rc ha fallado\n"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs versión %s (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: opción desconocida \"-%c\"\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: directorio ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: No es un fichero de texto ***\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Utilizar q o Q para salir]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Más--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Siguiente fichero: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Pulse la barra espaciadora para continuar; 'q' para salir.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...retroceder %d páginas"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...retroceder 1 página"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...omitiendo una línea"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...omitiendo %d líneas"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Atrás***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Error en expresión regular"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"La mayoría de las órdenes pueden estar precedidas por un argumento entero "
+"k.\n"
+"Los valores predeterminados están entre corchetes.\n"
+"Un asterisco (*) indica que el argumento será el nuevo valor "
+"predeterminado.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<espacio> Muestra las siguientes k líneas de texto\n"
+" [por omisión, el tamańo actual de la ventana]\n"
+"z Muestra las siguientes k líneas de texto\n"
+" [por omisión, el tamańo actual de la ventana]*\n"
+"<intro> Muestra las siguientes k líneas de texto [1]*\n"
+"d o ctrl-D Desplaza k líneas [tamańo de desplazo actual,\n"
+" inicialmente 11]*\n"
+"q o Q o <interr> Sale de more\n"
+"s Salta hacia adelante k líneas de texto [1]\n"
+"f Salta hacia adelante k pantallas de texto [1]\n"
+"b o ctrl-B Salta hacia atrás k pantallas de texto [1]\n"
+"' Va al sitio donde comenzó la búsqueda anterior\n"
+"= Muestra el número de la línea actual\n"
+"/<expresión regular> Busca la k-ésima aparición de la expresión regular "
+"[1]\n"
+"n Busca la k-ésima aparición de la última e.r. [1]\n"
+"!<orden> o :!<orden> Ejecuta <orden> en un subshell\n"
+"v Inicia /usr/bin/vi en la línea actual\n"
+"ctrl-L Redibuja la pantalla\n"
+":n Va al k-ésimo fichero siguiente [1]\n"
+":p Va al k-ésimo fichero anterior [1]\n"
+":f Muestra el fichero actual y el número de línea\n"
+". Repite la orden anterior\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Pulse 'h' para consultar las instrucciones.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" línea %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[No es un fichero] línea %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Desbordamiento\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...omitiendo\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Patrón no encontrado\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Patrón no encontrado"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "no se puede bifurcar\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Saltando "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Saltando al fichero "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Retrocediendo al fichero "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Línea demasiado larga"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "No hay ningún comando anterior para sustituir"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "línea demasiado larga"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: número total de bytes con varios caracteres de conversión.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr ""
+"hexdump: número total de bytes incorrecto para carácter de conversión %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr ""
+"hexdump: %%s requiere un valor de precisión o un número total de bytes.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: formato incorrecto {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: carácter de conversión %%%s incorrecto.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr ""
+" p Imprime la tabla de particiones en la pantalla o en un fichero"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : No escribe realmente en el disco"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Muestra información de versión\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Muestra información de versión\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: la opción necesita un argumento -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: opción ilegal -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...saltando hacia adelante\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...saltando hacia atrás\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "No hay ningún fichero siguiente"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "No hay ningún fichero anterior"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Error de lectura en el fichero %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: EOF inesperado en el fichero %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Error desconocido en el fichero %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: No se puede crear un fichero temporal.\n"
+
+# żQué significa?
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "RE error:"
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "No se recuerda ninguna cadena de búsqueda"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "no se puede abrir %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "guardado"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": no se permite !orden en el modo rflag.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "falló la llamada al sistema fork(), inténtelo de nuevo más adelante\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Siguiente fichero: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: fallo al abrir %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "No se ha especificado la opción --date.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "Problemas al leer terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Secuencia de escape desconocida en entrada: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Línea de entrada demasiado larga.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "openpty ha fallado\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "No se puede abrir el fichero '%s'"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "No se ha podido abrir %s\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "openpty ha fallado\n"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "No se puede abrir '%s'"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "No se puede abrir el fichero '%s'"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Este disco tiene tanto magia DOS como BSD.\n"
+#~ "Utilice la orden 'b' para ir al modo BSD.\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "No se puede abrir %s"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: no se puede abrir %s\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "No se puede abrir %s para lectura"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "No se puede abrir el fichero '%s'"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "No se ha podido abrir %s\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "No se puede ejecutar `stat' sobre %s"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "El estado de %s es %d"
+
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "No se puede abrir /dev/port"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "Error de open() de %s"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Error al abrir %s"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "No se puede abrir %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "No se puede asignar el búfer.\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "No se puede ejecutar `stat' sobre %s"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "No se puede ejecutar `stat' sobre %s"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "No se puede ejecutar `stat' sobre %s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "(Siguiente fichero: %s)"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "No se puede abrir el fichero '%s'"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "No se puede abrir el fichero '%s'"
+
+#~ msgid "Cannot open "
+#~ msgstr "No se puede abrir "
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "No se puede abrir %s para lectura\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "modo de empleo: %s [-hv] [-x dir] fichero\n"
+#~ " -h muestra esta ayuda\n"
+#~ " -x dir extrae en dir\n"
+#~ " -v es más explicativo\n"
+#~ " fichero fichero que se comprueba\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Uso: %s [-larvsmf] /dev/nombre\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "No se intentará crear el dispositivo de intercambio en '%s'"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "No podrá escribir la tabla de particiones.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "La partición %i no empieza en el límite del cilindro:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "debe ser (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "debe ser (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "El disco %s no contiene una tabla de particiones válida\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "No se puede abrir %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Este núcleo encuentra el tamańo del sector por sí mismo; no se tiene en "
+#~ "cuenta la opción -b\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "żNo queda memoria?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: final de entrada antes de lo previsto\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: no se puede abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Ha especificado varias funciones.\n"
+#~ "Sólo puede llevar a cabo una función a la vez.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: las opciones --utc y --localtime se excluyen mutuamente. Ha "
+#~ "especificado ambas.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: las opciones --adjust y --noadjfile se excluyen mutuamente. Ha "
+#~ "especificado ambas.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: las opciones --adjust y --noadjfile se excluyen mutuamente. Ha "
+#~ "especificado ambas.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount: no se puede establecer la velocidad: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: el fichero %s está ocupado (%s presente).\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "Error al escribir la partición en %s\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "El número de `%s' a `%s' está fuera de rango\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Valor establecido inválido: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "No se puede ejecutar `stat' sobre %s"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "Error al escribir la partición en %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "identificador inválido: %s\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Valor establecido inválido: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Valor establecido inválido: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: error al configurar dispositivo de bucle\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "no se puede abrir %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: EOF inesperado en el fichero %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "argumento --date demasiado largo\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "semáforos asignados = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: valor de longitud incorrecto.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: valor de salto incorrecto.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Uso: %s [-número] [-p cadena] [-cefrns] [+línea] [+/patrón/] "
+#~ "[ficheros]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "error de búsqueda"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "La bifurcación (fork) ha fallado\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "Error de búsqueda"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d Suprime una partición BSD"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l Lista los tipos de sistemas de ficheros conocidos"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n Ańade una nueva partición BSD"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p Imprime la tabla de particiones BSD"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr ""
+#~ " t Cambia el identificador del sistema de ficheros de una partición"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u Cambia las unidades (cilindros/sectores)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p Imprime la tabla de particiones"
+
+#, fuzzy
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Se está creando una nueva etiqueta de disco DOS. Los cambios sólo\n"
+#~ "permanecerán en la memoria, hasta que decida escribirlos. Tras esa\n"
+#~ "operación, el contenido anterior no se podrá recuperar.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "El dispositivo no contiene una tabla de particiones DOS válida ni una "
+#~ "etiqueta de disco Sun o SGI o OSF\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Error interno\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tNo hay menú para usuarios avanzados para las tablas de particiones "
+#~ "SGI.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Se ha producido un solapamiento de partición en el disco.\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Se está creando una nueva etiqueta de disco SGI. Los cambios sólo\n"
+#~ "permanecerán en la memoria, hasta que decida escribirlos. Tras esa\n"
+#~ "operación, el contenido anterior se habrá perdido de forma "
+#~ "irrecuperable.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "No queda memoria; se abandona el intento\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: poca memoria; el inicio de sesión puede fallar\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "No se puede realizar asignación de memoria para ttyclass"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "No se puede realizar asignación de memoria para grplist"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Inicio de sesión en %s desde %s denegado de forma predeterminada.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Inicio de sesión en %s desde %s denegado.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Uso: %s [ -f nombre-completo ] [ -o oficina ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "login: error de PAM; anulando: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Uso: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ nombredeusuario ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr ""
+#~ "%s: sólo se pueden modificar entradas locales; utilice yp%s en su lugar.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr ""
+#~ "%s: No se puede establecer el contexto predeterminado para /etc/passwd"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "Error de búsqueda"
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: utilice la opción -l para ver una lista\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Utilice %s -l para ver una lista.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "uso: login [-fp] [nombreusuario]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "no queda memoria"
+
+#~ msgid "Illegal username"
+#~ msgstr "Nombre de usuario no permitido"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "Inicio de sesión %s rechazado en este terminal.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "Inicio de sesión %s rechazado desde %s en tty %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "Inicio de sesión %s rechazado en tty %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Inicio de sesión incorrecto\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "semáforos asignados = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: error en fork: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "Inicio de sesión de %s: "
+
+#~ msgid "NAME too long"
+#~ msgstr "Nombre demasiado largo"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "Nombre de inicio de sesión demasiado largo.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "Los nombres de inicio de sesión no pueden empezar por '-'.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "Excesivos avances de línea"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "Demasiados avances de línea solos.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "Error de inicio de sesión desde %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "Error de inicio de sesión en %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d errores de inicio de sesión desde %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d errores de inicio de sesión en %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: el fichero `group' está ocupado.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: no se puede desbloquear %s: %s (los cambios todavía están en %s)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "La asignación de memoria (malloc) ha fallado"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "El disco %s no contiene una tabla de particiones válida\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "Error de búsqueda"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: el usuario \"%s\" no existe.\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: no se puede obtener información sobre el dispositivo %s: %s\n"
+
+#, fuzzy
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", desplazamiento %d"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", tipo de cifrado %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: no se puede obtener información sobre el dispositivo %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: no se puede abrir el dispositivo %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: no existe permiso para mirar en /dev/loop#"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: No se puede encontrar ningún dispositivo de bucle. żPuede que este\n"
+#~ " núcleo no sepa acerca del dispositivo de bucle? (En tal caso, "
+#~ "vuelva a\n"
+#~ " realizar la compilación o `modprobe loop'.)"
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "No queda memoria al aumentar el tamańo del búfer.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "El sector %d ya está asignado\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr ""
+#~ "mount: %s%s está protegido contra escritura; se monta como sólo lectura"
+
+#, fuzzy
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu): ejecución correcta\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): ejecución correcta\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: no se puede suprimir el dispositivo %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Este montaje se ha compilado sin soporte de bucle. Vuelva a realizar la "
+#~ "compilación.\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Al compilar no había soporte de bucle disponible. Vuelva a realizar la "
+#~ "compilación.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Uso: %s [-q [-i intervalo]] ([-s valor]|[-S valor]) ([-t valor]|[-T "
+#~ "valor]) [-g|-G] fichero [fichero...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "No se puede abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: no se puede abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "Número inválido: %s\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "La bifurcación (fork) ha fallado\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "uso obsoleto: %s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "tipo de recurso desconocido: %s\n"
+
+# Faltaría ver cómo debe traducirse "msq", "shm" y "sem".
+# Está explicado en ipcs(8), pero lo voy a dejar así de momento.
+# FIXME: Posible inconsistencia msqid -> msgid
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "uso: %s [ [-q id-msq] [-m id-shm] [-s id-sem]\n"
+#~ " [-Q clave-msg] [-M clave-shm] [-S clave-sem] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "error desconocido en la clave"
+
+#~ msgid "unknown error in id"
+#~ msgstr "error desconocido en el identificador"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s facilita información sobre los recursos ipc para los cuales tiene\n"
+#~ "acceso de lectura.\n"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s de %s\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Uso: \"%s [opciones]\n"
+#~ " -m <archmapa> (Valores predeterminados: \"%s\" y\n"
+#~ " \"%s\")\n"
+#~ " -p <fichero> (Valor predeterminado: \"%s\")\n"
+#~ " -M <mult> Establece el multiplicador de perfil en <mult>\n"
+#~ " -i Muestra sólo información sobre paso de muestreo\n"
+#~ " -v Muestra datos detallados\n"
+#~ " -a Muestra todos los símbolos, incluso si número "
+#~ "total es 0\n"
+#~ " -b Muestra histogramas individuales de los "
+#~ "contadores\n"
+#~ " -s Muestra contadores individuales dentro de cada "
+#~ "función\n"
+#~ " -r Restablece todos los contadores (sólo root)\n"
+#~ " -n Desactiva la detección automática del orden de los "
+#~ "bytes\n"
+#~ " -V Muestra la versión y sale\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: error al escribir %s: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr "Escriba `getopt --help' para obtener más información.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "uso: %s programa [arg ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Uso: %s <dispositivo> [ -i <IRQ> | -t <TIEMPO> | -c <CARACTERES> |\n"
+#~ " -w <ESPERA> | -a [on|off] | -o [on|off] | -C [on|off] |\n"
+#~ " -q [on|off] | -s | -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: valor incorrecto\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr "Se ha cambiado la información de finger.\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "Error al cerrar el fichero\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Sólo puede cambiar la etiqueta de las particiones no vacías.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Atención: la partición %s "
+
+#~ msgid "is not contained in partition %s\n"
+#~ msgstr "no se encuentra dentro de la partición %s\n"
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Atención: las particiones %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "y %s se solapan\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "dispositivo: similar a /dev/hda or /dev/sda"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "bytes"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -l [ seńal ]\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [dispositivos]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] órdenes dispositivos\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Órdenes disponibles:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: no se puede abrir %s\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "error de búsqueda"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "uso: %s [ -n ] dispositivo\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: no es un dispositivo de bloques\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "La asignación de memoria (malloc) ha fallado"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: error al analizar la opción\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Uso: %s [-x] [-d <núm>] imagen-iso9660\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Uso: %s [-v] [-N número-de-nodos-i] [-V nombre-del-volumen]\n"
+#~ " [-F nombre-sist-ficheros] dispositivo [número-de-bloques]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "No se puede ejecutar `stat' sobre %s"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "no se puede obtener el tamańo de %s"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "La bifurcación (fork) ha fallado\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr "Uso: %s [-c] [-v0|-v1] [-pTAMPÁG] /dev/nombre [bloques]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "No queda memoria"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "Uso:\n"
+
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menú sin dirección; la opción predeterminada es horizontal."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Primero debe suprimir alguna partición y ańadir una partición extendida\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Acción de la orden\n"
+#~ "%s\n"
+#~ " p Partición primaria (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [o --show-size]: Muestra el tamańo de una partición"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr ""
+#~ " -c [o --id]: Imprime o cambia el identificador de partición"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr ""
+#~ " -l [o --list]: Muestra las particiones de cada dispositivo"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [o --dump]: Igual, pero con un formato adecuado para "
+#~ "entrada\n"
+#~ " posterior"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [o --increment]: Número de cilindros, etc. desde 1 y no desde 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: Acepta/muestra en unidades de\n"
+#~ " sectores/bloques/cilindros/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [o --list-types]: Muestra los tipos de particiones conocidos"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [o --DOS]: Para compatibilidad con DOS: se pierde algo de "
+#~ "espacio"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [o --re-read]: Hace que el núcleo vuelva a leer la tabla de\n"
+#~ " particiones"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr ""
+#~ " -N# : Cambia únicamente la partición con el número #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O fichero : Guarda los sectores que se van a sobreescribir\n"
+#~ " en `fichero'"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I fichero: Restaura estos sectores de nuevo"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [o --version]: Imprime la versión"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [o --help]: Imprime este mensaje"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [o --show-geometry]: Imprime la idea del núcleo sobre la geometría"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [o --Linux]: No muestra avisos sobre aspectos irrelevantes "
+#~ "para\n"
+#~ " Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [o --quiet]: Suprime mensajes de aviso"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Puede modificar la geometría detectada utilizando:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr ""
+#~ " -C# [o --cylinders #]: Establece el número de cilindros que se "
+#~ "utilizarán"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr ""
+#~ " -H# [o --heads #]: Establece el número de cabezas que se "
+#~ "utilizarán"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr ""
+#~ " -S# [o --sectors #]: Establece el número de sectores que se "
+#~ "utilizarán"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Puede desactivar toda comprobación de coherencia con:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [o --force]: Hace lo que ordene el usuario, aunque sea "
+#~ "ilógico"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: debe especificar el tipo de sistema de ficheros"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr "Uso: mkfs [-V] [-t tipo_sf] [opciones_sf] dispositivo [tamańo]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "No se puede abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s de %s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "No se puede asignar búfer para los nodos-i"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Escriba `getopt --help' para obtener más información.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Uso: getopt cadenaopciones parámetros\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [opciones] [--] cadenaopciones parámetros\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parámetros\n"
+
+# FIXME: żQué hace un número de versión en una cadena para ser traducida?
+#, fuzzy
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (mejorado) 1.1.3\n"
+
+#~ msgid "Cannot open /dev/port: %s"
+#~ msgstr "No se puede abrir /dev/port: %s"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Se esperaba: `UTC', `LOCAL' o nada.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - Consulta y establece el reloj de hardware (RTC)\n"
+#~ "\n"
+#~ "Uso: hwclock [función] [opciones...]\n"
+#~ "\n"
+#~ "Funciones:\n"
+#~ " --help Muestra esta ayuda\n"
+#~ " --show Lee el reloj de hardware e imprime el resultado\n"
+#~ " --set Establece el RTC en la hora proporcionada con --date\n"
+#~ " --hctosys Establece la hora del sistema a partir del reloj de "
+#~ "hardware\n"
+#~ " --systohc Establece el reloj de hardware en la hora actual del "
+#~ "sistema\n"
+#~ " --adjust Ajusta el RTC para compensar el desfase sistemático "
+#~ "desde \n"
+#~ " la última vez que se estableció o ajustó el reloj\n"
+#~ " --getepoch Imprime el valor de época del reloj de hardware del "
+#~ "núcleo\n"
+#~ " --setepoch Establece el valor de época del reloj de hardware del "
+#~ "núcleo \n"
+#~ " en el valor proporcionado en --epoch\n"
+#~ " --version Imprime la versión de hwclock en la salida estándar\n"
+#~ "\n"
+#~ "Opciones: \n"
+#~ " --utc El reloj de hardware está en Tiempo Universal Coordinado "
+#~ "(UTC)\n"
+#~ " --localtime El reloj de hardware tiene la hora local\n"
+#~ " --directisa Accede al bus ISA directamente en lugar de a %s\n"
+#~ " --badyear Hace caso omiso del ańo del RTC ya que el BIOS no "
+#~ "funciona\n"
+#~ " --date Especifica la fecha/hora en que se desea establecer el "
+#~ "reloj\n"
+#~ " de hardware\n"
+#~ " --epoch=ańo Especifica el ańo que corresponde al principio del valor "
+#~ "de\n"
+#~ " época del reloj de hardware\n"
+#~ " --noadjfile No accede a /etc/adjtime. Necesita del uso de --utc\n"
+#~ " o de --localtime\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "can't malloc initstring"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Uso: %s [-hiLmw] [-l programa_inicio_sesión] [-t tiempo_espera] [-I "
+#~ "cadenainicialización] [-H host_inicio_sesión] velocidad_baudios,... línea "
+#~ "[tipo_terminal]\n"
+#~ "o bien\t[-hiLmw] [-l programa_inicio_sesión] [-t tiempo_espera] [-I "
+#~ "cadena_inicialización] [-H host_inicio_sesión]línea velocidad_baudios,... "
+#~ "[tipo_terminal]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "uso: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: error incorrecto"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "uso: %s [fichero]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: no se puede leer %s.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "uso: logger [-is] [-f fichero] [-p pri] [-t etiqueta] [-u socket] "
+#~ "[ mensaje ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "uso: look [-dfa] [-t carácter] cadena [fichero]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "żNo queda memoria?\n"
+
+# Intraducible sin el contexto.
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "llamada: %s de los ficheros...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "uso: script [-a] [-f] [-q] [-t] [fichero]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "Error de escritura en %s\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "Error de escritura en %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term nombre_terminal ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#, fuzzy
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-NUM_CONSOLAS] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-NUM_CONSOLAS] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq númerofrecuencia ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "uso: last [-#] [-f fichero] [-t tty] [-h nombrehost] [usuario ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ seńal ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Uso: %s [ -s intérprete_órdenes ] "
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nombre...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "uso: write usuario [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: no se puede abrir %s: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "desconocido"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Uso: shutdown [-h|-r] [-fqs] [now|hh:ss|+minutos]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Proceso de shutdown anulado"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: sólo el usuario root puede cerrar un sistema.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr ""
+#~ "Esta operación se realizará mańana; żpuede esperar hasta entonces?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "Para mantenimiento; bounce, bounce"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "El sistema se cerrará dentro de 5 minutos"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Por consiguiente el inicio de sesión está prohibido."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "reiniciado por %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "detenido por %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "żPor qué sigue activo el proceso tras la operación de reinicio?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Ahora puede desconectar la alimentación..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Llamando a recurso de apagado del núcleo...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Error al apagar\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Ejecutando el programa \"%s\" ...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Error al ejecutar \t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "URGENTE: mensaje de difusión general (broadcast) de %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "El sistema se apagará dentro de %d horas y %d minutos"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "El sistema se apagará dentro de 1 hora y %d minuto(s)"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "El sistema se apagará dentro de %d minutos\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "El sistema se apagará dentro de 1 minuto\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "ˇEl sistema se apagará INMEDIATAMENTE!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "No se puede realizar una operación fork para ejecutar swapoff."
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "No se puede ejecutar swapoff; se intenta con umount."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr ""
+#~ "No se puede realizar una operación fork para ejecutar umount; se intenta "
+#~ "manualmente."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "No se puede ejecutar %s; se intenta umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "No se puede ejecutar umount; se abandona la operación umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Desmontando los sistemas de ficheros restantes..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: No se puede ejecutar umount %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Iniciando en modo de un solo usuario.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr ""
+#~ "La ejecución (exec) de intérprete de órdenes de un solo usuario ha "
+#~ "fallado\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr ""
+#~ "La bifurcación (fork) de intérprete de órdenes de un solo usuario ha "
+#~ "fallado\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "error al abrir `fifo'\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "error al establecer close-on-exec sobre /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "error al ejecutar finalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "error al efectuar `fork' con finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Contraseńa incorrecta.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "falló la llamada a `lstat' sobre la ruta\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "La bifurcación (fork) ha fallado\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "No se puede abrir inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "Sin TERM o no se puede ejecutar stat para tty\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "error al detener el servicio: \"%s\""
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "error al detener el servicio: \"%s\""
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "error al detener el servicio: \"%s\""
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Uso: %s [-c] [-n nivel] [-s tamańobúfer]\n"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "La asignación de memoria (malloc) ha fallado"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "uso: col [-bfpx] [-l nlínea]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "uso: %s [ - ] [ -2 ] [ fichero ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fichero_fmt] [-n longitud] [-s omitir] "
+#~ "[fichero ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "uso: %s [-dflpcsu] [+númlíneas | +/patrón] nombre1 nombre2 ...\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "No se puede asignar el búfer.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: no se puede leer %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: línea demasiado larga.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "uso: %s [fichero]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "La asignación de memoria (malloc) ha fallado"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "uso: %s [fichero]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "uso: %s [ -i ] [ -tTerminal ] fichero...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "No se puede abrir %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "No se puede asignar más memoria\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "se ha detectado EOF tres veces - saliendo...\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: error de asignación de memoria (malloc).\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: No queda memoria\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "No hay ningún directorio %s\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: no queda memoria para script de intérprete de órdenes.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: no hay intérprete de órdenes: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: permiso denegado"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: no se puede bifurcar (fork)\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: no se puede leer %s.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: no se puede ejecutar stat para fichero temporal.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: no se puede leer el fichero temporal.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "Error de escritura en %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "error de búsqueda"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " y "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: usuario desconocido\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: valor incorrecto\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) ha quedado obsoleto para hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: la compatibilidad con hexdump(1) no permite la opción -%c %s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; véase strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "La partición termina en el último cilindro parcial"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: no queda memoria\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "setuid() ha fallado"
+
+#, fuzzy
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: clave ilegal (%s)\n"
+
+#, fuzzy
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: opción ilegal -- %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "No se puede cambiar el nombre %s por %s: %s\n"
+
+#, fuzzy
+#~ msgid "rtc read"
+#~ msgstr ", preparado"
+
+#~ msgid "malloc error"
+#~ msgstr "Error de asignación de memoria"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "uso: column [-tx] [-c columnas] [fichero ...]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "No queda memoria"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "No se puede asignar espacio de búfer\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "uso: rev [fichero ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "No se puede asignar el búfer.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "No queda memoria al aumentar el tamańo del búfer.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: opción ilegal -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "segmentos asignados %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "páginas asignadas %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "páginas residentes %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "páginas intercambiadas %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Rendimiento de intercambio: %ld intentos\t %ld correctos\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "error al ejecutar finalprog\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "Valor establecido inválido: %s\n"
+
+#~ msgid "current"
+#~ msgstr "actual"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "nuevo "
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: no se ha encontrado %s; se está creando...\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "uso: %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h para obtener ayuda.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Especificación de recursos:\n"
+#~ "\t-m : memoria compartida\n"
+#~ "\t-q : mensajes\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semáforos\n"
+#~ "\t-a : todo (valor predeterminado)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Formato de salida:\n"
+#~ "\t-t : tiempo\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creador\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : límites\n"
+#~ "\t-u : resumen\n"
+
+# żQué significa?
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "RE error:"
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "Error al leer %s\n"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr ""
+#~ "uso: rdev [ -rv ] [ -o DESPLAZAMIENTO ] [ IMAGEN [ VALOR "
+#~ "[ DESPLAZAMIENTO ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (o rdev /linux, etc.) muestra el dispositivo ROOT actual"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 Establece ROOT en /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 Establece ROOTFLAGS (estado de sólo "
+#~ "lectura)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 Establece tamańo de RAMDISK"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/fd0 1 Establece VIDEOMODE de inicio"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... Utiliza desplazamiento de bytes N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... Igual que rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... Igual que rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... Igual que rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Nota: los modos de vídeo son: -3=Ask, -2=Extended, -1=NormalVga,\n"
+#~ " 1=key1, 2=key2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " Utilice -R 1 para montar root como de sólo lectura;\n"
+#~ " -R 0 para lectura/escritura."
+
+#~ msgid "missing comma"
+#~ msgstr "falta una coma"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "`%s': directorio incorrecto: '.' no es el primero\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "`%s': directorio incorrecto: '..' no es el segundo\n"
+
+#, fuzzy
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr ""
+#~ "%s: error: no se ha especificado dónde configurar el espacio de "
+#~ "intercambio\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "muy grave: no se puede leer la primera página"
+
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table\n"
+#~ "No swap created. If you really want to create swap v0 on that device, "
+#~ "use\n"
+#~ "the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: el dispositivo '%s' contiene una etiqueta de disco Sun válida.\n"
+#~ "Esto probablemente significa que crear un espacio de intercambio v0 "
+#~ "destruirá\n"
+#~ "la tabla de particiones. No se ha creado el espacio de intercambio.\n"
+#~ "Si realmente desea crear el espacio de intercambio swap v0 en dicho\n"
+#~ "dispositivo, utilice la opción -f para forzar la operación.\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Uso: fdisk [-b SSZ] [-u] DISCO Cambia tabla de particiones\n"
+#~ " fdisk -l [-b SSZ] [-u] DISCO Lista tabla(s) de particiones\n"
+#~ " fdisk -s PARTICIÓN Obtiene tamańo de particiones en "
+#~ "bloques\n"
+#~ " fdisk -v Obtiene versión de fdisk\n"
+#~ "El valor de DISCO tiene el formato /dev/hdb o /dev/sda\n"
+#~ "y el valor de PARTICIÓN tiene el formato /dev/hda7\n"
+#~ "-u: Obtener Principio y Final en sectores (en lugar de cilindros)\n"
+#~ "-b 2048: (Para algunas unidades MO) Utilizar sectores de 2048 bytes\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Uso: fdisk [-l] [-b SSZ] [-u] dispositivo\n"
+#~ "Ej.: fdisk /dev/hda (para el primer disco IDE)\n"
+#~ " o: fdisk /dev/sdc (para el tercer disco SCSI)\n"
+#~ " o: fdisk /dev/eda (para la primera unidad PS/2 ESDI)\n"
+#~ " o: fdisk /dev/rd/c0d0 o fdisk /dev/ida/c0d0 (para dispositivos "
+#~ "RAID)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "El número de cilindros para este disco está establecido en %d.\n"
+#~ "No hay nada malo en ello, pero es mayor que 1024, y en algunos casos\n"
+#~ "podría causar problemas con:\n"
+#~ "1) software que funciona en el inicio (p.ej. versiones antiguas de LILO)\n"
+#~ "2) software de arranque o particionamiento de otros sistemas operativos\n"
+#~ " (p.ej. FDISK de DOS, FDISK de OS/2)\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "calling open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "calling termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "writing init string\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "before autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "waiting for cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "reading login name\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "after getopt loop\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "exiting parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "entered parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "exiting parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "duping\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "Error de contraseńa."
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Atención: \"%s\" no figura en /etc/shells\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "No se puede leer %s; saliendo."
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "timeout = %d, quiet = %d, reboot = %d\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: no se puede ejecutar chdir para directorio raíz\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: no se puede ejecutar stat para el directorio raíz\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: desbordamiento de búfer\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? no se puede ejecutar chdir para %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? problemas al leer el enlace simbólico %s - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** Se ha superado límite de enlaces simbólicos de Unix ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: tipo de fichero desconocido 0%06o en el fichero %s\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "No se ha podido leer %s y no se puede efectuar vuelco de ioctl\n"
+
+#, fuzzy
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: se montará %s mediante %s\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: se montará %s mediante %s\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", desplazamiento %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: no se puede encontrar ningún dispositivo /dev/loop#"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: ejecutando en segundo plano \"%s\"\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: se abandona \"%s\"\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "uso: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p prioridad] especial ...\n"
+#~ " %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "uso: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] especial ...\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: no se puede abrir %s: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr ""
+#~ "no se ha podido ejecutar umount en %s; en su lugar se prueba con %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "uso: renice prioridad [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] "
+#~ "usuarios ]\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: opción desconocida \"-%c\"\n"
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES. Raise this value in mkcramfs.c and recompile. "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "Se excedió MAXENTRIES. Incremente este valor en mkcramfs.c y recompile.\n"
+#~ "Saliendo.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Presuponiendo páginas de tamańo %d (no %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "La configuración automática ha encontrado %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Tipo de unidad\n"
+#~ " ? Con configuración automática\n"
+#~ " 0 Personalizada (con valores predeterminados detectados por hardware)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Seleccionar tipo (? para automático, 0 para personalizado): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Cilindros alternativos"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Cilindros físicos"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Puede cambiar todos los parámetros de disco desde el menú x"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "Disquete 3,5 pulg."
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux personalizado"
+
+#, fuzzy
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s de %s\n"
+
+#, fuzzy
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "mount: la etiqueta %s aparece tanto en %s como en %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "mount: no se ha podido abrir %s; así que no se puede efectuar la "
+#~ "conversión\n"
+#~ "de UUID y ETIQUETA\n"
+
+#, fuzzy
+#~ msgid "%s: bad UUID"
+#~ msgstr "mount: UUID incorrecto"
+
+# FIXME: Falta un . en el original.
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: falló con la versión 4 de nfs mount, probando con la 3...\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: montando %s\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: error al intentar adivinar el tipo de sistema de ficheros\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: argumento host:dir demasiado largo\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: atención: varios nombres de host no soportados\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr ""
+#~ "mount: el directorio que se debe montar no tiene el formato host:dir\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: no se puede obtener la dirección para %s\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: valor incorrecto para hp->h_length\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: argumento de opción demasiado largo\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Atención: opción proto= no reconocida.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Atención: la opción namlen no está soportada.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "Parámetro de montaje nfs desconocido: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Atención: la opción nolock no está soportada.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "Opción de montaje nfs desconocida: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: żvalor incorrecto para hp->h_length?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "el servidor nfs informa de que el servicio no está disponible"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr ""
+#~ "Se ha utilizado el asignador de puertos para encontrar el puerto NFS\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "Utilizando puerto %d para daemon de nfs\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "Valor de retorno de nfs status desconocido: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "host: %s, directorio: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: no se puede obtener la dirección para %s\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: valor incorrecto para hostp->h_length\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: cramfs inválido, longitud de ruta errónea\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: cramfs inválido, magia errónea\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr ""
+#~ "%s: atención, longitud de fichero demasiado grande, żimagen desplazada?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: error de crc, cramfs inválido\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: cramfs inválido, supoerbloque erróneo\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Error de sintaxis: '%s'\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Este parámetro no está establecido: '%s'\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr " %s [ -p ] dispositivo nombre\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ " %s [ -p ] disp. tamańo sect. cabez. pistas stretch gap rate spec1 "
+#~ "fmt_gap\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] dispositivo\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] dispositivo\n"
+
+#~ msgid "version"
+#~ msgstr "versión"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "No se ha podido abrir /dev/urandom"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "No se han podido leer datos aleatorios de /dev/urandom"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "No se puede realizar stat(%s)"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "%s no tiene los modos de fichero correctos"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "No se puede leer datos de %s"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "Ya hay demasiados usuarios con una sesión iniciada.\n"
+#~ "Inténtelo de nuevo más adelante.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Tiene demasiados procesos en ejecución.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr ""
+#~ "La contraseńa debe tener como mínimo 6 caracteres; inténtelo de nuevo.\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "La contraseńa debe contener caracteres de al menos dos de las siguientes\n"
+#~ "clases: letras mayúsculas y minúsculas, dígitos, y caracteres no "
+#~ "alfanuméricos.\n"
+#~ "Consulte passwd(1) para más información.\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "No puede volver a utilizar la antigua contraseńa.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr ""
+#~ "No utilice un valor como por ejemplo el nombre de usuario como "
+#~ "contraseńa.\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr ""
+#~ "No utilice un valor como por ejemplo su nombre real como contraseńa.\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Uso: passwd [nombreusuario [contraseńa]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr ""
+#~ "Sólo el usuario root puede utilizar los formatos de uno y dos "
+#~ "argumentos.\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Uso: passwd [-foqsvV] [usuario [contraseńa]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "No se puede ejecutar %s: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "No se puede encontrar el nombre de inicio de sesión"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr ""
+#~ "Sólo el usuario root puede cambiar la contraseńa de otros usuarios.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr ""
+#~ "No se puede encontrar el nombre de usuario. ż`%s' es realmente un usuario?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr ""
+#~ "Este comando sólo puede cambiar las contraseńas locales. Utilice yppasswd "
+#~ "en su lugar."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "El UID y el nombre de usuario no coinciden."
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "Cambiando contraseńa para %s\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Escriba la contraseńa antigua: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Contraseńa no permitida."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Escriba la nueva contraseńa: "
+
+#~ msgid "Password not changed."
+#~ msgstr "No se ha cambiado la contraseńa."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Vuelva a escribir la nueva contraseńa: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Ha escrito de forma incorrecta la contraseńa. No se ha cambiado."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "La contraseńa ha cambiado; usuario %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "Contraseńa de usuario root cambiada"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "Contraseńa cambiada por usuario root; usuario %s"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "Llamando a setpwnam para establecer contraseńa.\n"
+
+#~ msgid "Password *NOT* changed. Try again later.\n"
+#~ msgstr ""
+#~ "*NO* se ha cambiado la contraseńa. Inténtelo de nuevo más adelante.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Se ha cambiado la contraseńa.\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr "mount: esta versión se ha compilado sin soporte para el tipo `nfs'"
+
+#~ msgid "%s: not compiled with minix v2 support\n"
+#~ msgstr "%s: no se ha compilado con soporte para minix v2\n"
+
+#~ msgid "BLKGETSIZE ioctl failed for %s\n"
+#~ msgstr "Error de ioctl BLKGETSIZE para %s\n"
+
+#~ msgid "mount: %s duplicate - not mounted"
+#~ msgstr "mount: %s duplicado - no se monta"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "mount: the label %s occurs on both %s and %s - not mounted\n"
+#~ msgstr ""
+#~ "mount: la etiqueta %s aparece tanto en %s como en %s - no se monta\n"
+
+#~ msgid "umount: only root can unmount %s from %s"
+#~ msgstr "umount: sólo el usuario root puede desmontar %s desde %s"
+
+#~ msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
+#~ msgstr "%s: [%04x]:%ld (%s) desplazamiento %d, %s cifrado\n"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ " Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: No se puede encontrar ningún dispositivo de bucle.\n"
+#~ " Puede que /dev/loop# tenga un número principal incorrecto."
+
+#~ msgid ""
+#~ "mount: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device (then recompile or `insmod loop.o'), or\n"
+#~ " maybe /dev/loop# has the wrong major number?"
+#~ msgstr ""
+#~ "mount: No se ha encontrado ningún dispositivo de bucle. Tal vez este "
+#~ "núcleo no\n"
+#~ " conozca el dispositivo de bucle (vuelva a compilar o `insmod loop."
+#~ "o')\n"
+#~ " o tal vez /dev/loop# tenga el número principal incorrecto."
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "Inicialización (hasta 16 dígitos hexadecimales): "
+
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "Dígito no hexadecimal '%c'.\n"
+
+#~ msgid "Don't know how to get key for encryption system %d\n"
+#~ msgstr "No se sabe cómo obtener la clave para el sistema de cifrado %d\n"
+
+#~ msgid "Partition %i does not end on cylinder boundary:\n"
+#~ msgstr "La partición %i no termina en el límite del cilindro:\n"
+
+#~ msgid "Can't open help file"
+#~ msgstr "No se puede abrir el fichero"
+
+#~ msgid "unrecognized option `%s'\n"
+#~ msgstr "Opción `%s' no reconocida\n"
+
+#~ msgid "option `%s' doesn't allow an argument\n"
+#~ msgstr "La opción `%s' no admite ningún argumento\n"
+
+#~ msgid "unrecognized option `-%c'\n"
+#~ msgstr "Opción `-%c' no reconocida\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "for reading"
+#~ msgstr "para lectura"
+
+#~ msgid "The password must contain characters out of two of the following\n"
+#~ msgstr ""
+#~ "La contraseńa debe contener caracteres de dos de los tipos siguientes\n"
+
+#~ msgid ""
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ msgstr "clases: letras mayúsculas y minúsculas, dígitos y caracteres\n"
+
+#~ msgid "characters. See passwd(1) for more information.\n"
+#~ msgstr "no alfanuméricos. Véase passwd(1) para obtener más información.\n"
+
+#~ msgid "rebooted"
+#~ msgstr "reiniciado"
+
+#~ msgid "halted"
+#~ msgstr "detenido"
+
+#~ msgid "default"
+#~ msgstr "predeterminado"
+
+#~ msgid "%s: %lu ints, %lu/%lu chars; "
+#~ msgstr "%s: %lu enteros, %lu/%lu caracteres; "
+
+#~ msgid "fifo: %lu thresh, %lu tmout, "
+#~ msgstr "fifo: %lu umbral, %lu tiempo espera, "
+
+#~ msgid "%lu max, %lu now\n"
+#~ msgstr "%lu máx, %lu ahora\n"
+
+#~ msgid " which you have read access.\n"
+#~ msgstr " los que tiene acceso de lectura.\n"
+
+#~ msgid "usage: banner [-w width]\n"
+#~ msgstr "uso: banner [-w anchura]\n"
+
+#~ msgid "Message: "
+#~ msgstr "Mensaje: "
+
+#~ msgid "The character '%c' is not in my character set"
+#~ msgstr "El carácter '%c' no pertenece al juego de caracteres del sistema"
+
+#~ msgid "Message '%s' is OK\n"
+#~ msgstr "El mensaje '%s' es correcto\n"
+
+#~ msgid "ioctl() to open /dev/tty1 failed"
+#~ msgstr "ioctl() no ha podido abrir /dev/tty1"
+
+#~ msgid ": bad directory: size<32"
+#~ msgstr ": directorio incorrecto: tamańo < 32"
+
+#~ msgid "Warning: partition %d has an odd number of sectors.\n"
+#~ msgstr "Atención: la partición %d tiene un número de sectores impar.\n"
+
+#~ msgid ""
+#~ "Re-read table failed with error %d: %s.\n"
+#~ "Reboot your system to ensure the partition table is updated.\n"
+#~ msgstr ""
+#~ "La nueva lectura de la tabla de particiones ha fallado con el error %d: "
+#~ "%s.\n"
+#~ "Reinicie el sistema para asegurarse de que la tabla de particiones se "
+#~ "actualice.\n"
+
+#~ msgid "and will destroy it when filled\n"
+#~ msgstr "y la destruirá al rellenarla\n"
+
+#~ msgid " (although this is not a problem under Linux)\n"
+#~ msgstr " (aunque esto no supone un problema en Linux)\n"
+
+#~ msgid "%s: open for update: %m"
+#~ msgstr "%s: abierto para actualización: %m"
+
+#~ msgid "%s: no utmp entry"
+#~ msgstr "%s: no hay ninguna entrada de utmp"
+
+#~ msgid "badlogin: %s\n"
+#~ msgstr "Inicio de sesión incorrecto: %s\n"
+
+#~ msgid "sleepexit %d\n"
+#~ msgstr "sleepexit %d\n"
+
+#~ msgid " [ username ]\n"
+#~ msgstr " [ nombre_usuario ]\n"
+
+#~ msgid "Warning: no Kerberos tickets issued\n"
+#~ msgstr "Atención: no se han emitido tickets de Kerberos\n"
+
+#~ msgid "Sorry -- your password has expired.\n"
+#~ msgstr "La contraseńa ha caducado.\n"
+
+#~ msgid "Warning: your password expires on %d %s %d.\n"
+#~ msgstr "Atención: la contraseńa caduca en %d %s del ańo %d.\n"
+
+#~ msgid "Sorry -- your account has expired.\n"
+#~ msgstr "La cuenta ha caducado.\n"
+
+#~ msgid "Warning: your account expires on %d %s %d.\n"
+#~ msgstr "Atención: la cuenta caduca en %d %s del ańo %d.\n"
+
+#~ msgid "mount: warning: cannot change mounted device with a remount\n"
+#~ msgstr ""
+#~ "mount: atención: no se puede cambiar el dispositivo montado con un nuevo "
+#~ "montaje\n"
+
+#~ msgid "mount: warning: cannot change filesystem type with a remount\n"
+#~ msgstr ""
+#~ "mount: atención: no se puede cambiar el sistema de ficheros con un nuevo "
+#~ "montaje\n"
+
+#~ msgid "not mounted anything"
+#~ msgstr "No se ha montado nada"
+
+#~ msgid "send_time=%srcv_time=%schange_time=%s"
+#~ msgstr "send_time=%srcv_time=%schange_time=%s"
+
+#~ msgid "Not Set\n"
+#~ msgstr "No establecido\n"
+
+#~ msgid " rdev -s /dev/fd0 /dev/hda2 set the SWAP device"
+#~ msgstr " rdev -s /dev/fd0 /dev/hda2 Establecer dispositivo SWAP"
+
+#~ msgid " swapdev ... same as rdev -s"
+#~ msgstr " swapdev ... Igual que rdev -s"
+
+#~ msgid "anything\n"
+#~ msgstr "cualquier cosa\n"
+
+#~ msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+#~ msgstr "Velocidad del teclado establecida en %.1f cps (retardo = %d ms)\n"
+
+#~ msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+#~ msgstr "Uso: kbdrate [-V] [-s] [-r velocidad] [-d retardo]\n"
+
+#~ msgid "Writing disklabel to %s%d.\n"
+#~ msgstr "Escribiendo etiqueta de disco en %s%d.\n"
+
+#~ msgid "Bootstrap installed on %s%d.\n"
+#~ msgstr "Secuencia de inicio instalada en %s%d.\n"
+
+#~ msgid "%s: unknown geometry\n"
+#~ msgstr "%s: geometría desconocida\n"
+
+#~ msgid "fork of rc shell failed\n"
+#~ msgstr "La bifurcación (fork) de intérprete de órdenes de rc ha fallado\n"
+
+#~ msgid "Cannot get loop info"
+#~ msgstr "No se puede obtener la información de loop"
+
+#~ msgid "mount: %s has wrong major or minor number"
+#~ msgstr "mount: %s tiene un número principal o secundario incorrecto"
+
+#~ msgid "mount: block device %s is not permitted on its filesystem"
+#~ msgstr ""
+#~ "mount: dispositivo de bloques %s no permitido en este sistema de ficheros"
+
+#~ msgid ""
+#~ "Usage: mount [-hV]\n"
+#~ " mount -a [-nfFrsvw] [-t vfstypes]\n"
+#~ " mount [-nfrsvw] [-o options] special | node\n"
+#~ " mount [-nfrsvw] [-t vfstype] [-o options] special node\n"
+#~ " A special device can be indicated by -L label or -U uuid .\n"
+#~ msgstr ""
+#~ "Uso: mount [-hV]\n"
+#~ " mount -a [-nfFrsvw] [-t vfstypes]\n"
+#~ " mount [-nfrsvw] [-o opciones] special | node\n"
+#~ " mount [-nfrsvw] [-t vfstype] [-o opciones] special node\n"
+#~ " Un dispositivo especial puede indicarse mediante -L etiqueta o -U "
+#~ "uuid\n"
+
+#~ msgid "mount: %s:%s failed, reason given by server: %s\n"
+#~ msgstr "mount: %s:%s ha fallado; motivo indicado por servidor: %s\n"
diff --git a/po/et.gmo b/po/et.gmo
new file mode 100644
index 0000000..88dbcba
--- /dev/null
+++ b/po/et.gmo
Binary files differ
diff --git a/po/et.po b/po/et.po
new file mode 100644
index 0000000..3350461
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,16957 @@
+# Estonian translations for util-linux
+# Copyright (C) 2002 Free Software Foundation, Inc.
+# Copyright (C) 2002 Meelis Roos <mroos@linux.ee>
+# Meelis Roos <mroos@linux.ee>, 2002
+#
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.11r\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2002-05-19 20:04GMT+0300\n"
+"Last-Translator: Meelis Roos <mroos@linux.ee>\n"
+"Language-Team: Estonian <et@li.org>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "ei suuda avada seadet %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "vigane identifikaator"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "vigane identifikaator"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "vigane identifikaator"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr ""
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr ""
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr ""
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "vigane i-kirje suurus"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "Lisasektoreid silindril"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr ""
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr ""
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr ""
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr ""
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr ""
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr ""
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, fuzzy, c-format
+msgid "%s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Ei suuda kindlaks teha ketta mahtu"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "vőti `%s' vajab argumenti\n"
+
+#: disk-utils/blockdev.c:370
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "seek ei őnnestunud"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr ""
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "seek ei őnnestunud tabelite kirjutamisel"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "Kasutamine:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formaadin ... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "valmis\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Kontrollin ... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "read: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Probleem silindrilt %d lugemisel, lootsin %d, sain %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Halvad andmed silindril %d\n"
+"Jätkan ... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s paketist %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s pole flopiseade\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Ei suuda avada faili `%s'"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Ei suuda kindlaks teha formaatimise parameetreid"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%spoolne, %d rada, %d sektorit rajal. Kogumaht %d kB\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Kahe"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Ühe"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s on monteeritud. "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "%s: sisendi ületäitumine"
+
+# XXX stat'ida
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "positsioneerimise viga"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Kirjutan puhvreid kettale\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr ""
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "seek ei őnnestunud"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "positsioneerimise viga"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "%s: sisendi ületäitumine"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "fork ei őnnestunud\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "seek ei őnnestunud"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() ei őnnestunud"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "Viga sektori %lu kirjutamisel seadmele %s\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr " l anda nimekiri tuntud failisüsteemide tüüpidest"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Pealesunnitud kontroll failisüsteemil %s\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s pole flopiseade\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s on monteeritud. "
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Monteerin lahti kőik allesjäänud failisüsteemid"
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Monteerin lahti kőik allesjäänud failisüsteemid"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " s - Sektorite järgi järjestatud tabel"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:158
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s pole flopiseade\n"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "vigane kiirus: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: disk-utils/fsck.cramfs.c:188
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Sisetage sektorite arv"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Hoiatus: partitsioon %s sőidab üle ketta otsa\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+#, fuzzy
+msgid "crc error"
+msgstr "positsioneerimise viga"
+
+#: disk-utils/fsck.cramfs.c:324
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr "peaks olema (%d, %d, %d)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "%s avamine ei őnnestunud"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "login: Viga fork'imisel: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "chdir () kataloogi /dev ei őnnestunud: %m"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "vigane taimadi väärtus: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "chdir () kataloogi /dev ei őnnestunud: %m"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "vigane i-kirje suurus"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync ei őnnestunud"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:584
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "Mälu sai otsa"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s pole kompileeritud minix v2 toega\n"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "interaktiivseks parandamiseks on vaja terminali"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s on monteeritud. "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Kas Te soovite tőesti jätkata"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "katkestan kontrolli\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Tsooni nr. < FIRSTZONE failis `%s'"
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Tsooni nr. >= ZONES failis `%s'"
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Kas eemaldada plokk"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Viga lugemisel: ei suuda seekida plokile failis `%s'\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Viga lugemisel: vigane plokk failis `%s'\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Sisemine viga: katse kirjutada vigasesse plokki\n"
+"Kirjutamise katset ignoreeriti\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "seek ei őnnestunud ploki kirjutamisel"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Viga kirjutamisel: vigane plokk failis `%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "seek ei őnnestunud superploki kirjutamisel"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "ei suuda kirjutada superplokki"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "ei suuda kirjutada i-kirjete kaarti"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "ei suuda kirjutada tsoonide kaarti"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "ei suuda kirjutada i-kirjeid"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "seek ei őnnestunud"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "ei suuda lugeda superplokki"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "vigane maagiline number superplokis"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Ainult 1k plokid ja tsoonid on toetatud"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "vigane s_imap_blocks väli superplokis"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "vigane s_zmap_blocks väli superplokis"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "ei jätku mälu i-kirjete kaardile"
+
+#: disk-utils/fsck.minix.c:600
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "ei jätku mälu i-kirjete kaardile"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "ei jätku mälu i-kirjete puhvrile"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "ei jätku mälu i-kirjete loendurile"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "ei jätku mälu tsoonide loendurile"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "ei suuda lugeda i-kirjete kaarti"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "ei suuda lugeda tsoonide kaarti"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "ei suuda lugeda i-kirjeid"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Hoiatus: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld i-kirjet\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld plokki\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Esimene andmete tsoon=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Tsooni suurus=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Max. suurus=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Failisüsteemi olek=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"nime pikkus=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "I-kirje %d on märgitud mittekasutatuks, aga kasutatud failis `%s'\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Märkida kasutatuks"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Fail `%s' on moodiga %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Hoiatus: i-kirjete arv on liiga suur\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Plokk on juba kasutatud, kuid leidus uuesti failis `%s'."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Kas puhastada"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Plokk %d failis `%s' on märgitud mittekasutatuks."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Kas parandada"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "Kataloog `%s' sisaldab vigast i-kirje numbrit failile `%.*s'"
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Kas eemaldada"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "`%s': vigane kataloog: `.' pole esimene\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "`%s': vigane kataloog: `..' pole teine\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "sisemine viga"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "`%s': vigane kataloog: suurus < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "seek ei őnnestunud funktsioonis bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "I-kirje %d moodi ei puhastatud."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "I-kirje %d pole kasutusel, märgitud kasutatuks bitmapis."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "I-kirje %d on kasutusel, märgitud mittekasutatuks bitmapis."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Seada bitt bitmapis"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "I-kirje %d (mood = %07o), i_nlinks=%d, loendatud=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Seada i_nlinks loendatud arvuks"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Tsoon %d; märgitud kasutatuks, kuid ükski fail ei kasuta seda."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Märkida mittekasutatuks"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Tsoon %d: kasutusel, loendatud=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Tsoon %d: kasutusel, loendatud=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "vigane i-kirje suurus"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "vigane v2 i-kirje suurus"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "interaktiivseks parandamiseks on vaja terminali"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "ei suuda avada seadet %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s on puhas ega vaja kontrolli\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Pealesunnitud kontroll failisüsteemil %s\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Failisüsteem %s on \"must\" ja vajab kontrolli\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld i-kirjet kasutusel (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld tsooni kasutusel (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d tavalist faili\n"
+"%6d kataloogi\n"
+"%6d sümbolseadet\n"
+"%6d plokkseadet\n"
+"%6d viidet\n"
+"%6d nimeviidet\n"
+"------\n"
+"%6d faili\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"--------------------------\n"
+"FAILISÜSTEEMI SAI MUUDETUD\n"
+"--------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: seekimise viga failis %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: lugemise viga failis %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektorite arv: %d, sektori suurus: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "vigane arv: %s\n"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "köite nimi on liiga pikk"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "fs-nimi on liiga pikk"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s pole plokkseade"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "vigane identifikaator"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: disk-utils/mkfs.bfs.c:199
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "plokkide arvu argument on liiga suur, maksimum on %lu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "liiga palju i-kirjeid - maksimum on 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "pole piisavalt vaba ruumi, vaja oleks vähemalt %lu plokki"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Seade: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Köide: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSnimi: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Ploki suurus: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "I-kirjeid: %d (1 plokis)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "I-kirjeid: %d (%ld plokis)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Plokke: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "I-kirjete lőpp: %d, andmete lőpp: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "viga superploki kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "viga tipmise i-kirje kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "viga i-kirje kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "positsioneerimise viga"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "viga . kirje kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "viga .. kirje kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "viga %s sulgemisel"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "Kasutamine: mkfs [-V] [-t fstüüp] [fs-vőtmed] seade [suurus]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: disk-utils/mkfs.c:131
+#, fuzzy, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs versioon %s (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "Ei suuda avada faili `%s'"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "%s pole flopiseade\n"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "seek ei őnnestunud"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, fuzzy, c-format
+msgid "Including: %s\n"
+msgstr "Vigane arv: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "Hoiatus: i-kirjete arv on liiga suur\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "Hoiatus: i-kirjete arv on liiga suur\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Kasutamine: %s [-c | -l failinimi] [-nXX] [-iXX] /dev/nimi [plokke]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s on monteeritud - siia failisüsteemi ei tee!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "boot-plokki seekimine tabelite kirjutamisel ei őnnestunud"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "ei suuda puhastada boot-sektorit"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "seek ei őnnestunud tabelite kirjutamisel"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "ei suuda kirjutada superplokki"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "ei suuda kirjutada i-kirjete kaarti"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "ei suuda kirjutada tsoonide kaarti"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "ei suuda kirjutada i-kirjeid"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "seek ei őnnestunud ploki kirjutamisel"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "ploki kirjutamine ei őnnestunud"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "liiga palju vigaseid plokke"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "liiga vähe korras plokke"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "ei jätku mälu i-kirjete puhvrile"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld i-kirjet\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld plokki\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Max. suurus=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "seek ei őnnestunud plokkide testimisel"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Imelikud väärtused funktsioonis do_check - ilmselt bugid\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "seek ei őnnestunud plokkide kontrollimisel"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "vigased plokid enne andmepiirkonda - ei suuda failisüsteemi tekitada"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d vigast plokki\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "üks vigane plokk\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "ei suuda vigaste plokkide faili avada"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "Ei suuda kettalt lugeda"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "vigane i-kirje suurus"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol viga: plokkide arvu pole antud"
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "ei ürita luua failisüsteemi seadmele `%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "Sisetage sektorite arv"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Vigane kasutaja poolt määratud lehekülje suurus %d\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr "Kasutan etteantud lehekülje suurust %d, mitte süsteemseid %d/%d\n"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr ""
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr ""
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "liiga palju vigaseid lehekülgi"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "seek ei őnnestunud plokkide kontrollimisel"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "üks vigane lehekülg\n"
+
+#: disk-utils/mkswap.c:329
+#, fuzzy, c-format
+msgid "%lu bad pages\n"
+msgstr "%d vigast lehekülge\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "ei jätku mälu i-kirjete puhvrile"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "ei jätku mälu i-kirjete puhvrile"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "ei suuda puhastada boot-sektorit"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "ei suuda puhastada boot-sektorit"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p näidata BSD partitsioonitabelit"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s näidata täielikku partitsioonitabelit"
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr " s näidata täielikku partitsioonitabelit"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "seek ei őnnestunud"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "Viga %s sulgemisel\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: Viga - tundmatu versioon %d\n"
+
+#: disk-utils/mkswap.c:530
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr "Viga %s sulgemisel\n"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: Viga - ei ole öeldud, kuhu saalimisala tekitada\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "vigane identifikaator"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: Viga - suurus %ld on suurem kui seadme maht %d\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: Viga - saalimisala peab olema vähemalt %ldkB\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: Hoiatus - piiran saalimisala %ld kB-ga\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s on monteeritud - siia failisüsteemi ei tee!"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Hoiatus: %s pole plokkseade\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Ei suuda saalimisala tekitada: seade pole loetav"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Tekitan saalimisala versiooniga %d, suurus = %lu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "ei suuda kirjutada signatuuriga lehekülge"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync ei őnnestunud"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+# XXX stat'ida
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: disk-utils/mkswap.c:656
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "ei suuda kirjutada i-kirjeid"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "%s: %s ümber nimetamine %s -ks ei őnnestnud: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Partitsiooni number"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Trükkida lihtsalt tabel"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "Ei kirjutanud partitsioonitabelit kettale"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Sisetage sektorite arv"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Partitsiooni number"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d partitsiooni:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Kirjutan partitsioonitabelit kettale..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d partitsiooni:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# %s partitsioonitabel\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s pole flopiseade\n"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "Hoiatus: %s pole plokkseade\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "seek ei őnnestunud tabelite kirjutamisel"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Hoiatus: kustutan partitsioonid pärast %d\n"
+
+#: disk-utils/partx.c:267
+#, fuzzy, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "Hoiatus: kustutan partitsioonid pärast %d\n"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "See partitsioon on juba olemas\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Ignoreerin lisa-extended partistsiooni %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "ei sisaldu partitsioonis %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Hoiatus: partitsioonid %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "seek ei őnnestunud"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p näidata BSD partitsioonitabelit"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "Seade %s ei sisalda äratuntavat partitsioonitabelit\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Tühja partitsiooni ei saa kustutada"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "%s pole flopiseade\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Hoiatus: %s pole plokkseade\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "stat(%s) ei őnnestunud"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "stat(%s) ei őnnestunud"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s pole sümbolseade"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s pole plokkseade"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "viga teenuse peatamisel: %s"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "viga teenuse peatamisel: %s"
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "seek ei őnnestunud tabelite kirjutamisel"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "seek ei őnnestunud tabelite kirjutamisel"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: sellist partitsiooni ei ole\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: Viga - tundmatu versioon %d\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "seek ei őnnestunud tabelite kirjutamisel"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Mälu sai otsa\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Kasutamatu"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Vaba ruum"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Ketast sai muudetud\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr "Tehke algkäivitus, et uuendused mőjuma hakkaksid\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"HOIATUS: Kui Te tekitasite vői muutsite DOS 6.x\n"
+"partitsioone, lugege palun cfdisk'i manuali\n"
+"lisainformatsiooni hankimiseks.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "FATAALNE VIGA"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Vajuta mőnda klahvi cfdiskist väljumiseks"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Ei suuda kettal seekida"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Ei suuda kettalt lugeda"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Ei suuda kettale kirjutada"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Liiga palju partitsioone"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Partitsioon algab enne sektorit 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Partitsioon lőppeb enne sektorit 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Partitsioon algab pärast ketta lőppu"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Partitsioon lőppeb pärast ketta lőppu"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "Loogilised partitsioonid on füüsilisest erinevas järjestuses"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "Loogilised partitsioonid kattuvad"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "Suurendatud loogilised partitsioonid kattuvad"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"Sisemine viga: loogilise partitsiooni loomisel puudub extended-partitsioon"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Siia ei saa loogilist partitsiooni luua - see tekitakse teise extended'i"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menüükirje on liiga pikk. Menüü vőib naljakas välja näha."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Vale klahv"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Vajuta mőnda klahvi jätkamiseks"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primaarne"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Loo uus primaarne partitsioon"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Loogiline"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Loo uus loogiline partitsioon"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Tühista"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Ära loo partitsiooni"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Sisemine viga !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Suurus (MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Beginning"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Lisada partitsioon vaba ruumi algusse"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "End"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Lisada partitsioon vaba ruumi lőppu"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Pole ruumi extended-partitsiooni tegemiseks"
+
+#: fdisks/cfdisk.c:1389
+#, fuzzy
+msgid "No partition table.\n"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: fdisks/cfdisk.c:1393
+#, fuzzy
+msgid "No partition table. Starting with zero table."
+msgstr "Puuduv partitsioonitabel vői vale signatuur partitsioonitabelis"
+
+#: fdisks/cfdisk.c:1403
+#, fuzzy
+msgid "Bad signature on partition table"
+msgstr "Trükkida lihtsalt tabel"
+
+#: fdisks/cfdisk.c:1407
+#, fuzzy
+msgid "Unknown partition table type"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Kas soovite alustada tühja tabeliga [y/N] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Te andiste suurema silindrite arvu kui kettale mahub"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Ei suuda avada kettaseadet"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Avasin ketta ainult lugemiseks - kirjutamiseks pole őigust"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Ei suuda kindlaks teha ketta mahtu"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Vigane primaarne partitsioon"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Vigane loogiline partitsioon"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Hoiatus!! See vőib Teie kettal andmeid hävitada!"
+
+#: fdisks/cfdisk.c:1699
+#, fuzzy
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr "Olete kindel, et soovite salvestada partitsioonitabelit? (jah vői ei):"
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "ei"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Ei kirjutanud partitsioonitabelit kettale"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "jah"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Palun sisestage `jah' vői `ei'"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Kirjutan partitsioonitabelit kettale..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Kirjutasin partitsioonitabeli kettale"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Kirjutasin partitsioonitabeli, aga tagasi lugemine ebaőnnestus. Reboot abiks."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Ükski primaarne partitsioon pole märgitud buutivaks. DOSi MBR ei suuda siit "
+"buutida."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Rohkem kui üks primaarne partitsioon on märgitud buutivaks. DOSi MBR ei "
+"suuda siit buutida."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Siseta failinimi vői vajuta RETURN ekraanil näitamiseks: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Kettaseade: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Vaba "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primaarne"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Loogiline"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Tundmatu"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Buutiv"
+
+#: fdisks/cfdisk.c:1915
+#, fuzzy, c-format
+msgid "(%02X)"
+msgstr "Tundmatu (%02X)"
+
+#: fdisks/cfdisk.c:1917
+#, fuzzy
+msgid "None"
+msgstr "valmis (D)"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitsioonitabel kettal %s\n"
+
+#: fdisks/cfdisk.c:1954
+#, fuzzy
+msgid " First Last\n"
+msgstr " Esimene Viimane\n"
+
+#: fdisks/cfdisk.c:1955
+#, fuzzy
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tüüp Sektor Sektor Offset Pikkus Failisüst. tüüp (ID) Lipud\n"
+
+#: fdisks/cfdisk.c:1956
+#, fuzzy
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+
+#: fdisks/cfdisk.c:2039
+#, fuzzy
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----Algus----- -----Lőpp----- Esimene Sektorite\n"
+
+#: fdisks/cfdisk.c:2040
+#, fuzzy
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Lipud Pea Sekt Sil ID Pea Sekt Sil sektor arv\n"
+
+#: fdisks/cfdisk.c:2041
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "tooRes"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Trükkida tabel toores formaadis (baithaaval)"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektorid"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Trükkida tabel järjestatuna sektorite järgi"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabel"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Trükkida lihtsalt tabel"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Ei trüki midagi"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "cfdiski abiinfo ekraan"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "See on cfdisk, curses'il baseeruv ketta partitsioneerimise"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "programm, mis lubab luua, kustutada ja muuta partitsioone Teie"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "arvuti kővakettal."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Käsk Tähendus"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Vahetada buuditavuse lippu jooksval partitsioonil"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Kustutada jooksev partitsioon"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Muuta silindrite, peade ja rajal olevate sektorite arvu"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " HOIATUS: See käsk on ainult neile, kes teavad, mida "
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " nad teevad."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Näidata sedasama ekraani"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maksimiseerida jooksva partitsiooni kettakasutus"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Märkus: see vőib teha ketta mitteühilduvaks DOSi,"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " OS/2 ja muude operatsioonisüteemidega."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Luua uus partitsioon vaba ruumi sisse"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Väljastada partitsioonitabel ekraanile vői faili"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Väljastamisel vőite valida mitme formaadi vahel:"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " "
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr " r - tooRes - see baidijada, mis kettale kirjutataks"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Sektorite järgi järjestatud tabel"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Tabel teksti kujul (umbes nagu peaekraanil)"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Väljuda programmist ilam muutusi salvestamata"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Muuta jooksva partitsiooni failisüsteemi tüüpi"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Muuta partitsioonide suuruse ja asukoha ühikuid"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Variandid on MB, sektorid ja silindrid"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Kirjutada partitsioonitabel kettale (jah, suurtäht)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Kuna see vőib kettalt andmeid hävitada, küsitakse"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " enne kirjutamist kinnitust. Vastata tuleb eestikeelse"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " täissőnaga (`jah' vői `ei')."
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Nool üles Viia kursor eelmisele reale"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Nool alla Viia kursor järgmisele reale"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Joonistada ekraan üle"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Näidata sedasama ekraani"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Märkus: kőiki neid käske saab sisestada nii suur- kui väiketähtedena,"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "välja arvatud suur W."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "silindrid (C)"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Muuta silindrite arvu geomeetrias"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "pead (H)"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Muuta peade arvu geomeetrias"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Muuta sektorite arvu geomeetrias"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "valmis (D)"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Muutused geomeetrias on tehtud"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Sisestage silindrite arv: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Vigane silindrite arv"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Sisetage peade arv: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Vigane peade arv"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Sisestage sektorite arv rajal: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Vigane sektorite arv"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Failisüsteemi tüüpi ei saa muuta tühjaks"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Failisüsteemi tüüpi ei saa muuta extended'iks"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Tundmatu (%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Tundmatu (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Kettaseade: %s"
+
+#: fdisks/cfdisk.c:2488
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Maht: %lld baiti, %ld MB"
+
+#: fdisks/cfdisk.c:2491
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Maht: %lld baiti, %ld.%ld GB"
+
+#: fdisks/cfdisk.c:2495
+#, fuzzy, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Päid: %d Sektoreid rajal: %d Silindreid: %d"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nimi"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Lipud"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Tüüp"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "FS tüüp"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Label]"
+
+#: fdisks/cfdisk.c:2505
+#, fuzzy
+msgid " Sectors"
+msgstr "Sektoreid"
+
+#: fdisks/cfdisk.c:2507
+#, fuzzy
+msgid " Cylinders"
+msgstr "silindrid (C)"
+
+#: fdisks/cfdisk.c:2509
+#, fuzzy
+msgid " Size (MB)"
+msgstr "Maht (MB)"
+
+#: fdisks/cfdisk.c:2511
+#, fuzzy
+msgid " Size (GB)"
+msgstr "Maht (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Rohkem partitsioone ei ole"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Buutiv"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Vahetada buuditavuse lippu jooksval partitsioonil"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "kustutaDa"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Kustutada jooksev partitsioon"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geomeetria"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Muuta ketta geomeetriat (ainult ekspertidele)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Help"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Näidata abiinfot"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maksimiseerida"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maksimiseerida jooksva partitsiooni kettakasutus (ainult ekspertidele)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "uus (N)"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Luua uus partitsioon vaba ruumi sisse"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Prindi"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Väljastada partitsioonitabel ekraanile vői faili"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Välja"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Väljuda programmist ilam muutusi salvestamata"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Tüüp"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Muuta failisüsteemi tüüpi (DOS, Linux, OS/2 jne)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Uhikud"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Muuta partitsioonide suuruse näitamise ühikuid (MB, sektorid, silindrid)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "salvesta (W)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Kirjutada partitsioonitabel kettale (vőib hävitada andmed)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Seda partitsiooni ei saa buutivaks teha"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Tühja partitsiooni ei saa kustutada"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Seda partitsiooni ei saa maksimiseerida"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "See partitsioon pole kasutatav"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "See partitsioon on juba olemas"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Tühja partitsiooni tüüpi ei saa muuta"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Vigane käsk"
+
+#: fdisks/cfdisk.c:2736
+#, fuzzy, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2000 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Kasutamine:\n"
+"Versiooni trükkimine:\n"
+" %s -v \n"
+"Partitsioonitabeli trükkimine:\n"
+" %s -P {r|s|t} [vőtmed] seade\n"
+"Interaktiivne kasutamine:\n"
+" %s [vőtmed] seade\n"
+"\n"
+"Vőtmed:\n"
+"-a: Kasutada noolt inverteeritud teksti asemel\n"
+"-z: Alustada tühja partitsioonitabeliga, arvestamata tabeli vana sisu\n"
+"-c C -h H -s S: Anda käsitsi ette silindrite, peade ja rajal olevate\n"
+" sektorite arvud\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c muuta silindrite arvu"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "ei suuda avada seadet %s"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "ei suuda avada seadet %s"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tSellel seadmel on AIX partitsioonitabel.\n"
+"\tKahjuks ei suuda Linux seda hetkel toetada.\n"
+"\tSellegipoolest, natuke nőuandeid:\n"
+"\t1. fdisk hävitab kirjutamisel selle tabeli\n"
+"\t2. Olge enne kindlad, et see ketas ei oleks osa\n"
+"\t mőnest köidete (volume) grupist - vastasel juhul\n"
+"\t vőite ka köite teised osad kustutada,\n"
+"\t kui nad just peegeldatud pole.\t3. Enne füüsilise ketta kustutamist "
+"kustutage\n"
+"\t ketas loogiliselt oma AIX masinast\n"
+"\t (muidu saab Teist AIXpert)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tVabandust - see fdiski versioon ei saa hakkama AIXi\n"
+"\tpartitsioonitabeliga. Kui Te soovite lisada DOSi tüüpi\n"
+"\tpartitsioone, looge kőigepealt uus DOSi partitsioonitabel\n"
+"\t(käsuga o).\n"
+"\tHOIATUS: see hävitab ketta praeguse sisu!\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD partitsioonitabel seadmel %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Kirjutan partitsioonitabelit seadmele %s\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Esimene %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Viimane %s vői +suurus vői +suurusM vői +suurusK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s ei sisalda partitsioonitabelit\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Kas soovite luua partitsioonitabelit? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partitsioon %s sisaldab vigast algsektorit 0\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Loen partitsioonitabelit seadmelt %s sektorist %d\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Seadmel %s ei ole BSD partitsiooni\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD partitsioonitabeli käsk (m annab abiinfot): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tüüp: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tüüp: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "ketas: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "märgend: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "lipud:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " eemaldatav"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "baite sektoris: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektoreid rajal: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "radu silindris: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektoreid silindris: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "silindreid: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "peade vahetus: %ld\t\t# millisekundit\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr ""
+"rajalt rajale seek: %ld\n"
+"# millisekundit\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "seadme andmed: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partitsiooni:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# algus lőpp maht fstüüp [fmaht bmaht cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "baiti sektoris"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektorit rajal"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "rada silindris"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "silindrit"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektorit silindris"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Peab olema <= sektoritest rajal * radadest silindril (vaikimisi)\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "rajalt rajale seek"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap kattub partitsioonitabeliga!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap sai installitud seadmele %s\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partitsioon (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Maksimaalne arv partitsioone on juba loodud\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "See partitsioon on juba olemas\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Hoiatus: liiga palju partitsioone (%d, maksimum on %d)\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Kirjutan puhvreid kettale\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a lülitada buuditavuse lipp sisse/välja"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a lülitada kirjutuskaitse lipp sisse/välja"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a valida buutiv partitsioon"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a muuta alternatiivsete silindrite arvu"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b redigeerida NSD partitsioonitabelit"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b redigeerida buutfaili kirjet"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b liigutada andmete algust partitsioonis"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c lülitada DOSiga ühilduvuse rezhiim sisse/välja"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c lülitada monteeritavuse lipp sisse/välja"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c valida SGI saalimispartitsioon"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c muuta silindrite arvu"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d kustutada partitsioon"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d näidata partitsioonitabelit baidikaupa"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e muuta lisasektorite arvu silindril"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e näidata extended-partitsioonide nimekirja"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e redigeerida sedame andmeid"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f parandada partitsioonide järjekord"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g luua IRIXi (SGI) partitsioonitabel"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h muuta peade arvu"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i muuta interleave-tegurit"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " u muuta sisestamise ja tabeli näitamise ühikuid"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i installeerida bootstrap"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l anda nimekiri tuntud partitsioonitüüpidest"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m näidata sedasama menüüd"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n lisada uus partitsioon"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o luua uus tühi DOSi partitsioonitabel"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o muuta pöörlemise kiirust (rpm)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Trükkida lihtsalt tabel"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q väljuda salvetsamata"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r tagasi peamenüüsse"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s luua uus tühi Sun'i partitsioonitabel"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s muuta sektorite arvu rajal"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s näidata täielikku partitsioonitabelit"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t muuta partitsiooni tüüpi"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u muuta sisestamise ja tabeli näitamise ühikuid"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v kontrollida partitsioonitabelit"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w kirjutada tabel kettale ja väljuda"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w kirjutada tabel kettale"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x lisafunktsionaalsus (ainult ekspertidele)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x siduda BSD partitsioon mitte-BSD partitsiooniga"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y muuta füüsiliste silindrite arvu"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "Ei suuda lugeda seadet %s\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Ei suuda seekida seadmel %s\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "Ei suuda kirjutada seadmele %s\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl ei őnnestunud seadmel %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Fataalne viga\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Käsk Tähendus"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Te peate määrama, et eksisteerib nii-ja-nii-mitu"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "pead"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektorit"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Te saate seda teha lisafunktsionaalsuse menüüst.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " ja "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Kas Te soovite tőesti jätkata"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Kuueteistkümnendsüsteemis kood (L näitab koodide nimekirja): "
+
+#: fdisks/fdisk.c:606
+#, fuzzy, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%d-%d, vaikimisi %d): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, fuzzy, c-format
+msgid "Using default value %u\n"
+msgstr "Kasutan vaikimisi väärtust %d\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Väärtus on piiridest väljas\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Partitsiooni number"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Hoiatus: partitsioonil %d on tühi tüüp\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, fuzzy, c-format
+msgid "Selected partition %d\n"
+msgstr "Ignoreerin lisa-extended partistsiooni %d\n"
+
+#: fdisks/fdisk.c:783
+#, fuzzy, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "silinder"
+msgstr[1] "silinder"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektor"
+msgstr[1] "sektor"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Sisestamisel ja näitamisel on nüüd ühikuteks %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Sisestamisel ja näitamisel on nüüd ühikuteks %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "Hoiatus: partitsioon %d on extended-partitsioon\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOSiga ühilduvuse lipp on püsti\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOSiga ühilduvuse lipp pole püsti\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Partitsioonil %d pole andmetele ruumi eraldatud\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partitsiooni %d pole veel olemas!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Tüüp 0 tähendab paljudele süsteemidele vaba\n"
+"ruumi (aga mitte Linuxile). Ilmselt ei ole mőistlik\n"
+"tekitada tüüpi 0 partitsioone. Te saate partitsiooni\n"
+"kustutada käsuga 'd'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Partitsiooni ei saa muuta extended'iks ega extendedist harilikuks.\n"
+"Selle asemel tuleb partitsioon kustutada ja uus luua.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Soovitav on jätta partitsioon 3 terveks kettaks (5),\n"
+"sest SunOs/Solaris eeldab seda ja see meeldib isegi Linuxile.\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Kaaluge partitsiooni 9 jätmist köite päiseks (0) ja\n"
+"partitsiooni 11 jätmist terveks kettaks (6) nagu IRIX seda eeldab\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Partitsiooni %d tüüp on nüüd %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Partitsiooni %d tüüp on nüüd %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"Partitsiooni %d füüsiline ja loogiline algus ei lange kokku:\n"
+"(Pole Linuxi oma?)\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " füüs=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "loogiline=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partitsiooni %d füüsiline ja loogiline lőpp ei lange kokku:\n"
+
+#: fdisks/fdisk.c:982
+#, fuzzy, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partitsioon %d ei lőppe silindri piiril\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Partitsioon %i ei alga silindri piirilt:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+"\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+"\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr "%d vaba sektorit\n"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr ""
+"\n"
+"Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+"\n"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+"\n"
+"Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+"\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "vigane i-kirje suurus"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Midagi pole vaja teha, järjestus on juba őige\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Valmis\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1198
+#, fuzzy, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Boot Algus Lőpp Plokke Id Süsteem\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Seade"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partitsioonitabeli kirjed on füüsilisest erinevas järjekorras\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, fuzzy, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr AF Pä Sek Sil Pä Sek Sil Algus Maht ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Hoiatus: partitsioon %d sisaldab sektorit 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partitsioon %d: pea %d on suurem kui peade arv %d\n"
+
+#: fdisks/fdisk.c:1304
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partitsioon %d: sektor %d on suurem kui sektroite arv rajal %d\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partitsioon %d: silinder %d on suurem kui silindrite arv %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Partitsioon %d: eelnevate sektorite arv %d ei klapi summarsega (%d)\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Partitsiooni %d pole veel olemas!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Ei suuda kettale kirjutada"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Partitsioonitabelit on muudetud!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Kasutan ioctl() partitsioonitabeli uuesti lugemiseks\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"HOIATUS: Partitsioonitabeli uuesti lugemine ei őnnestunud,\n"
+"tuli viga %d: %s\n"
+"Tuum kasutab endiselt vana tabelit,\n"
+"uus tabel hakkab kehtima järgmisest buudist alates.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"HOIATUS: Kui Te tekitasite vői muutsite DOS 6.x\n"
+"partitsioone, lugege palun fdisk'i manuali\n"
+"lisainformatsiooni jaoks.\n"
+
+#: fdisks/fdisk.c:1393
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr "Viga %s sulgemisel\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Kirjutan puhvreid kettale\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partitsioonil %d pole andmetele ruumi eraldatud\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Andmete uus algus"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Eksperdi käsk (m annab abiinfot): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Sisestage silindrite arv"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Sisetage peade arv"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Sisetage sektorite arv"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Hoiatus: sean sektorite offseti DOSiga ühilduvuse jaoks\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "Ei suuda avada faili %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: tundmatu käsk\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Koostan uue Suni partitsioonitabeli. Muutused jäävad ainult mällu,\n"
+"kuni Te ise otsustate need kettale kirjutada. Pärast seda pole vana sisu\n"
+"loomulikult enam taastatav.\n"
+
+#: fdisks/fdisk.c:1691
+#, fuzzy, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"Leidisn seadmelt %s OSF/1 partitsioonitabeli, lähen OSF/1 rezhiimi.\n"
+"DOSi partitsioonitabeli rezhiimi naasmiseks kasutage käsku `r'.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Käsk (m annab abiinfot): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "vigane identifikaator"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "vigane identifikaator"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "vigane identifikaator"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "vigane identifikaator"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Hoiatus: -b vőtit (sektori suuruse seadmine) tuleks kasutada ainult ühe "
+"täpselt määratud seadmega\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Märkus: sektori suurus on %d (mitte %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Seade %s ei sisalda äratuntavat partitsioonitabelit\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Vigane offset primaarses extended-partitsioonis\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Hoiatus: üleliigne 'link pointer' partitsioonitabelis %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Hoiatus: ignoreerin üleliigseid andmeid partitsioonitabelis %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Hoiatus: tühi partitsioon\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ignoreerin lisa-extended partistsiooni %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Hoiatus: vigane lipp 0x%04x (partitsioonitabelis %d) parandatakse\n"
+"kirjutamisel (w) ära\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "Partitsioon %d on juba olemas. Kustutage see enne uuesti lisamist\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Vabad sektorid on otsas\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Vigane loogiline partitsioon"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Hoiatus: partitsioonis %d on andmete algus vigane\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Hoiatus: partitsioon %d kattub partitsiooniga %d\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Hoiatus: partitsioon %d on tühi\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Loogiline partitsioon %d pole üleni partitsioonis %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Kogu kasutataud sektorite arv %d on suurem kui sektorite koguarv %d\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%d vaba sektorit\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Loogilised partitsioonid on füüsilisest erinevas järjestuses"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, fuzzy, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Loogilised partitsioonid on füüsilisest erinevas järjestuses"
+
+#: fdisks/fdiskdoslabel.c:745
+#, fuzzy, c-format
+msgid "Adding a primary partition\n"
+msgstr "Vigane primaarne partitsioon"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l loogilise partitsiooni (5-...) loomine"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e extended partitsiooni loomine"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Kasutan vaikimisi väärtust %d\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Vigane partitsiooni number tüübile `%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+#, fuzzy
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tSellel seadmel on AIX partitsioonitabel.\n"
+"\tKahjuks ei suuda Linux seda hetkel toetada.\n"
+"\tSellegipoolest, natuke nőuandeid:\n"
+"\t1. fdisk hävitab kirjutamisel selle tabeli\n"
+"\t2. Olge enne kindlad, et see ketas ei oleks osa\n"
+"\t mőnest köidete (volume) grupist - vastasel juhul\n"
+"\t vőite ka köite teised osad kustutada,\n"
+"\t kui nad just peegeldatud pole.\t3. Enne füüsilise ketta kustutamist "
+"kustutage\n"
+"\t ketas loogiliselt oma AIX masinast\n"
+"\t (muidu saab Teist AIXpert)."
+
+#: fdisks/fdiskmaclabel.c:92
+#, fuzzy, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tVabandust - see fdiski versioon ei saa hakkama AIXi\n"
+"\tpartitsioonitabeliga. Kui Te soovite lisada DOSi tüüpi\n"
+"\tpartitsioone, looge kőigepealt uus DOSi partitsioonitabel\n"
+"\t(käsuga o).\n"
+"\tHOIATUS: see hävitab ketta praeguse sisu!\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linuxi swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linuxi andmed"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Vastavalt MIPS Computer Systems, Inc spetsifikatsioonidele ei tohi\n"
+"partitsioonitabel olla suurem kui 512 baiti\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Leidsin vale kontrollsummaga SGI partitsioonitabeli\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Ketas %s (SGI partitsioonitabel): %d pead, %d sektorit\n"
+"%d silindrit, %d füüsilist silindrit\n"
+"%d lisasektorit rajal, interleave %d:1\n"
+"%s\n"
+"Ühikud = %s suurusega %d * 512 baiti\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Ketas %s (SGI partitsioonitabel): %d pead, %d sektorit, %d silindrit\n"
+"Ühikud = %s suurusega %d * 512 baiti\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- partitsioonid -----\n"
+"Nr# %*s Info Algus Lőpp Sektoreid Id Süsteem\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Buutinfo -----\n"
+"Buutfail: %s\n"
+"----- Kataloogikirjed -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor %5u pikkus %8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Vigane buutfail!\n"
+"\tBuutfail peab olema absoluutse teega mittetühi string,\n"
+"\tnäiteks \"/unix\" vői \"/unix.save\"\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tBuutfaili nimi on liiga pikk: 16 baiti on maksimum\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tBuutfail tuleb anda täisteega\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tEttevaatust, buutfaili olemasolu ei kontrollita.\n"
+"\tSGI vaikeväärtus on \"/unix\" ja varuväärtus \"/unix.save\"\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Aktiivne buutfail on %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Palun sisestage uue buutfaili nimi: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Buutfail jäi samaks\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tUueks buutfailiks on \"%s\"\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Tabelis on rohekm kui üks terve ketta kirje\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIXile meeldib, et partitsioon 11 katab kogu ketta\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Tervet ketast kattev partitsioon peab algama kettaplokist 0, mitte %d\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Tervet ketast kattev partitsioon on ainult %d plokki pikk,\n"
+"aga ketas ise on %d plokki pikk\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Mingi partitsioon (soovitavalt number 11) peab katma kogu ketta\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partitsioon %d ei alga silindri piirilt\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partitsioon %d ei lőppe silindri piiril\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partitsioonid %d ja %d kattuvad %d sektori ulatuses\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, fuzzy, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Kasutamata auk %8d sektorist - sektorid %8d-%d\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Buutpartitsiooni ei eksisteeri\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Saalimispartitsiooni ei eksisteeri\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Saalimispartitsioonil pole saalimispartitsiooni tüüp\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tTe olete valinud ebahariliku buutfaili nime\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Kahjuks saba ainult root süsteemikelal keerata\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"On ülimalt soovitav, et partitsioon alates plokist 0 oleks\n"
+"tüüpi \"SGI volhdr\", sest IRIXil sőltub sellest oma buutimisaegsete\n"
+"utiliitide (sash, fx, ide) kätte saamine. Ainult \"SGI volume\" tüüpi\n"
+"terve ketta kirje tohib seda reeglit rikkuda.\n"
+"Kui olete kindel, et soovite seda tüüpi muuta, kirjutage YES\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "YES\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Kettal on partitsioonide kattumine. Parandage see kőigepealt!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Üritan genereerida terve ketta kirjet automaatselt\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Terve ketas on juba partitsioonidega kaetud\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Kettal on partitsioonide kattumine. Parandage see kőigepealt!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"On ülimalt soovitav, et 11. partitsioon kataks kogu ketta\n"
+"ja oleks tüüpi \"SGI volume\"\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Te ajaksite partitsioonid kattuma! Parandage see kőigepealt ära\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr "Viimane %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl ei őnnestunud seadmel %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Üritan säilitada partitsiooni %d parameetrid\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Terve ketas"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%d vaba sektorit\n"
+
+#: fdisks/fdisksunlabel.c:41
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:42
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linuxi iseavastuv raid"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Leidsin vale kontrollsummaga Suni partitsioonitabeli.\n"
+"Tőenäoliselt tuleb Teil seada kőik väärtused, s.t.\n"
+"peade, sektorite ja silindrite arv ning partitsioonid\n"
+"vői luua uus tabel (käsuga s pőhimenüüst).\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Leidsin vale kontrollsummaga SGI partitsioonitabeli\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Leidsin vale kontrollsummaga SGI partitsioonitabeli\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Leidsin vale kontrollsummaga SGI partitsioonitabeli\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Hoiatus: vigane lipp 0x%04x (partitsioonitabelis %d) parandatakse\n"
+"kirjutamisel (w) ära\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s ei sisalda partitsioonitabelit\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektoreid rajal"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partitsioon %d ei lőppe silindri piiril\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partitsioon %d kattub teistega sektorites %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Kasutamata vahemik - sektorid 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Kasutamata vahemik - sektorid %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Teised partitsioonid katavad juba kogu ketta.\n"
+"Kustutage vői vähendage neist mőnda ja proovige uuesti\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"On ülimalt soovitav, et 11. partitsioon kataks kogu ketta\n"
+"ja oleks tüüpi \"SGI volume\"\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Kolmas partitsioon ei kata kogu ketast, aga sisesatud väärtus %d %s\n"
+"katab mingi muu partitsiooni. Sisestatud kirje uueks väärtuseks on %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Kui soovite hoida ühilduvust SunOS'i/Solarisega, jätke see partitsioon\n"
+"kogu ketast katma (5), alguseks 0, pikkuseks %u sektorit\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"On ülimalt soovitav, et partitsioon, mis algab 0. sektorist\n"
+"oleks UFS, EXT2FS vői SunOSi saalimisala. Linuxi saalimisala\n"
+"sinna kirjutamine vőib hävitada partitsioonitabeli ja alglaadeploki.\n"
+"sisestage YES, kui olete tődesti kindlad, et tahate partitsiooni tüübiks\n"
+"panna 82 (Linuxi saalimisala):"
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Ketas %s (Suni partitsioonitabel): %d pead, %d sektorit, %d rpm\n"
+"%d silindrit, %d alternatiivset silindrit, %d füüsilist silindrit\n"
+"%d lisasektorit silindril, vahelejätt %d:1\n"
+"%s\n"
+"Ühikud = %s suurusega %d * 512 baiti\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Ketas %s (Suni partitsioonitabel): %d pead, %d sektorit, %d silindrit\n"
+"Ühikud = %s suurusega %d * 512 baiti\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Lipp Algus Lőpp Plokke ID Süsteem\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Alternatiivsete silindrite arv"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Lisasektoreid silindril"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Vahelejätu tegur"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Pöörlemiskiirus (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Füüsiliste silindrite arv"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Tühi"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Extended"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX buutiv"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisks/i386_sys_types.c:17
+#, fuzzy
+msgid "W95 FAT32"
+msgstr "Win95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+#, fuzzy
+msgid "W95 FAT32 (LBA)"
+msgstr "Win95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+#, fuzzy
+msgid "W95 FAT16 (LBA)"
+msgstr "Win95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+#, fuzzy
+msgid "W95 Ext'd (LBA)"
+msgstr "Win95 Ext'd (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Peidetud FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostika"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Peidetud FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Peidetud FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Peidetud HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+#, fuzzy
+msgid "Hidden W95 FAT32"
+msgstr "Peidetud Win95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+#, fuzzy
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Peidetud Win95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+#, fuzzy
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Peidetud Win95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "Peidetud HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PreP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. part"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. part"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrack DM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD vői SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiscSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Vana Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / vana Linux"
+
+#: fdisks/i386_sys_types.c:57
+#, fuzzy
+msgid "Linux swap / Solaris"
+msgstr "Linuxi swap"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 peidetud C: ketas"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux extended"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisks/i386_sys_types.c:63
+#, fuzzy
+msgid "Linux plaintext"
+msgstr "Linux ext3"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernatsioon"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard peidetud"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisks/i386_sys_types.c:80
+#, fuzzy
+msgid "Solaris"
+msgstr "Solaris boot"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS sekund. (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS sekund. (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS sekund. (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Mitte-FS andmed"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/FAT-16)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS sekundaarne"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "Postisioneerimise viga seadmel %s - ei saa minna positsioonile %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "Positsioneerimise viga: tahtsin 0x%08x%08x, sain 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "Lugemisviga seadmel %s - ei saa lugeda sektorit %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "Kirjutamisviga seadmel %s - ei saa kirjutada sektorit %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "Ei suuda avada partitsioonitabeli salvestusfaili (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "Ei saa lugeda partitsioonitabeli salvestusfaili staatust (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "Partitsioonitabeli salvestusfail on vale pikkusega - ei taasta\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "Ei saa avada partitsioonitabeli salvestusfaili (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "Viga %s lugemisel\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "ei suuda avada seadet %s kirjutamiseks\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "Viga sektori %lu kirjutamisel seadmele %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Ketas %s: ei suuda geomeetriat kindlaks teha\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Ketas %s: ei suuda mahtu kindlaks teha\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Hoiatus: start=%lu - see paistab olevat pigem partitsioon kui\n"
+"terve ketas. fdiski kasutamine on ilmselt mőttetu.\n"
+"Kasutage --force vőtit, kui tőesti tahate seda teha.\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Hoiatus: HDIO_GETGEO ütles, et seadmel on %lu pead\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Hoiatus: HDIO_GETGEO ütles, et seadmel on %lu sektorit\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Hoiatus: BLKGETSIZE/HDIO_GETGEO ütles, et seadmel on %lu silindrit\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Hoiatus: ebatőenäoline sektorite arv rajal (%lu) - harilikult kuni 63\n"
+"See tekitab probleeme kőigi programmidega, mis üritavad kasutada\n"
+"C/H/S (silinder/pea/sektor) adresseerimist.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Ketas %s: %lu silindrit, %lu pead, %lu sektorit rajal\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s partitsioonil %s sisaldab vigast pead numbrit: %lu (peaks olema 0-%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s partitsioonil %s sisaldab vigast sektori väärtust: %lu (peaks olema 1-"
+"%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s partitsioonil %s sisaldab vigast silindri väärtust: %lu (peaks olema 0-"
+"%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"ID Nimi\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Loen uuesti partitsioonitabelit...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Partitsioonitabeli ülelugemine ei őnnestunud\n"
+"Tehke arvutile kohe alglaadimine, enne mkfs kasutamist\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Viga %s sulgemisel\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: sellist partitsiooni ei ole\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "Tundmatu formaat - kasutan sektoreid\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "Seda formaati pole veel realiseeritud - kasutan %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Ühikud = silindrid %lu baidiga, plokid 1024 baidiga, loendan alates %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Seade Buut Algus Lőpp #sil #plokke ID Süsteem\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Ühikud = sektorid 512 baidiga, loendan alates %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Seade Buut Algus Lőpp #sektors ID Süsteem\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Ühikud = 1024-baidised plokid, loendan alates %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Seade Buut Algus Lőpp #plokke ID Süsteem\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Ühikud = megabaidid (1048576 baiti), plokid (1024 baiti), loendan alates %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, fuzzy, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Seade Buut Algus Lőpp MB #plokke ID Süsteem\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\talgus: (c,h,s) ootasin (%ld,%ld,%ld), sain (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tlőpp: (c,h,s) ootasin (%ld,%ld,%ld), sain (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "Partitsioon lőpeb silindril %ld, tagapool ketta lőppu\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Ei leidnud ühtegi partitsiooni\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Hoiatus: tundub, et see partitsioonitabel tehti geomeetria\n"
+"C/H/S=*/%ld/%ld jaoks (mitte %ld/%ld/%ld).\n"
+"Eeldan seda geomeetriat nimekirja näitamisel.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "Imelik, ainult %d partitsiooni on defineeriud\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Hoiatus: partitsioon %s on suurusega 0, aga pole märgitud tühjaks\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Hoiatus: partitsioon %s on suurusega 0, kuid on märgitud buutivaks\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Hoiatus: partitsioon %s on suurusega 0, kuid algus pole 0\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "ei sisaldu partitsioonis %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Hoiatus: partitsioon %d on tühi\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Hoiatus: partitsioon %s sisaldab osa partitsioonitabelist (sektor %lu)\n"
+"ja hävitab selle, kui ta andmetega täidetakse\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Hoiatus: partitsioon %s algab sektorilt 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Hoiatus: partitsioon %s sőidab üle ketta otsa\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Ainult üks primaarsetest partitsioonidest tohib olla extended\n"
+"(kuigi see pole Linuxis probleemiks)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Hoiatus: partitsioon %s ei alga silindri piirilt\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Hoiatus: partitsioon %s ei lőppe silindri piiril\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Hoiatus: rohkem kui üks primaarne partitsioon on märgitud buutivaks "
+"(aktiivseks).\n"
+"LILO jaoks pole see oluline, aga DOS-i MBR vőib buutimisel raskustesse "
+"sattuda.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Hoiatus: harilikult saab buutida ainult primaarsetelt partitsioonidelt,\n"
+"ainult LILO ignoreerib buuditavuse lippu.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Hoiatus: ükski primaarne partitsioon pole märgitud buutivaks (aktiivseks).\n"
+"See pole LILO jaoks oluline, aga DOS-i MBR ei suuda siit kettalt buutida.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr ""
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1371
+#, fuzzy
+msgid "end"
+msgstr "End"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Hoiatus: extended partitsioon ei alga silindri piirilt.\n"
+"DOS ja Linux interpreteerivad selle sisu erinevalt.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "VIGA: sektor %lu ei sisalda msdos'i signatuuri\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1639
+#, fuzzy, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr ""
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "tundmatu vőti `%s'\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Hoiatus: tühi partitsioon\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "vigane taimadi väärtus: %s"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "Liiga palju partitsioone\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "kasutamine:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partitsiooni:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "kasutamine:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "vigane arv: %s\n"
+
+#: fdisks/sfdisk.c:2752
+#, fuzzy, c-format
+msgid "total: %llu blocks\n"
+msgstr "kokku: %d plokki\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "seek ei őnnestunud tabelite kirjutamisel"
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr ""
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr ""
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr ""
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "ei suuda avada seadet %s lugemiseks ja kirjutamiseks\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "ei suuda avada seadet %s lugemiseks\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Valmis\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "Hoiatus: partitsioon %s on suurusega 0, kuid on märgitud buutivaks\n"
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr ""
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Fataalne viga: ei suuda leida %s\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Hoiatus: %s pole plokkseade\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Partitsiooni %d pole veel olemas!\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Palun sisestage y, n vői q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr "%s: Vőtmed --adjust ja --noadjfile on vastastikku välistavad\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() ei őnnestunud"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p töötelefon]\n"
+"\t[ -h kodune telefon] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: Teid (kasutajat %d) pole olemas\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: Kasutajat \"%s\" pole olemas\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "%s: ainult lokaalseid kirjeid saab muuta - kasutage programmi yp%s\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: \"%s\" pole kirjas failis /etc/shells\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Muudan kasutaja %s kohta käivat informatsiooni\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Kasutaja informatsioon ei muutunud\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Katkestatud\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "väli on liiga pikk\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "väli on liiga pikk\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' ei ole lubatud\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' ei ole lubatud\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Juhtsümbolid ei ole lubatud\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Juttsümbolid ei ole lubatud\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Kasutaja informatsiooni ei muudetud. Proovige hiljem uuesti\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "%s: ainult lokaalseid kirjeid saab muuta - kasutage programmi yp%s\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: \"%s\" pole kirjas failis /etc/shells\n"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "%s: Teie shell pole kirjas failis /etc/shells, shelli ei muuda\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Muudame kasutaja %s shelli\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Uus shell"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "Shell jäi samaks\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "Shelli ei muudetud, proovige hiljem uuesti\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell on muudetud\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: shelli peab andma koos täieliku teega\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" ei eksisteeri\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" ei ole täidetav\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Hoiatus: \"%s\" pole kirjas failis /etc/shells\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" pole kirjas failis /etc/shells\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Ei leidu ühtegi lubatud shelli\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "Kasutamine: [-#] [-f fail] [-t tty] [-h hostinimi] [kasutaja ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "seek ei őnnestunud"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " veel masinas"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp algab %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "Viga %s sulgemisel\n"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"katkestatud %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "Login timed out after %d seconds\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "Saatuslik viga: ei suuda taasavada terminali: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s pole plokkseade"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chdir () kataloogi /dev ei őnnestunud: %m"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "chdir () kataloogi /dev ei őnnestunud: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Viimati loginud: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "masinast %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "terminalil %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "%s avamine ei őnnestunud"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DIALUP AT %s BY %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT LOGIN ON %s FROM %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT LOGIN ON %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN ON %s BY %s FROM %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN ON %s BY %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "login: PAM viga, katkestan: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Ei suutnud initsialiseerida PAM'i: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "FAILED LOGIN %d FROM %s FOR %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login incorrect\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login incorrect\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY ei őnnestunud: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h on ainult superkasutajale\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr "Kasutamine: [-#] [-f fail] [-t tty] [-h hostinimi] [kasutaja ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr "Viga %s sulgemisel\n"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() ei őnnestunud"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Teile on uusi kirju\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Teile on kirju\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() ei őnnestunud"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "seek ei őnnestunud"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Login sisse kodukataloogiga \"/\"\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: Ei suutnud käivitada shell skripti: %s\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Pole shelli"
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr ""
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Parool: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: Sellist gruppi pole"
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Kes Te niisugune olete?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() ei őnnestunud"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: Sellist gruppi pole"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "identifikaatorile pole őigusi"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() ei őnnestunud"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "exec ei őnnestunud\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "ei suuda avada seadet %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "stat(%s) ei őnnestunud"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "Ei suuda avada faili `%s'"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "Ei suuda kettal seekida"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "seek ei őnnestunud"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Vale parool"
+
+# XXX stat'ida
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "fork ei őnnestunud"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "fork ei őnnestunud"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "fork ei őnnestunud"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: Kasutajat \"%s\" pole olemas\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s pole avatud lugemiseks _ja_ kirjutamiseks"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s pole avatud lugemiseks _ja_ kirjutamiseks"
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr ""
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Kas Te soovite tőesti jätkata"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "seek ei őnnestunud"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "exec ei őnnestunud\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "seek ei őnnestunud"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "seek ei őnnestunud"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "seek ei őnnestunud"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "vigane identifikaator"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "%s: Ainult root saab süsteemi seisata\n"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY ei őnnestunud: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "fork ei őnnestunud"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "seek ei őnnestunud"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: Ei suuda avada faili %s\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: ei suuda avada ajutist faili\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: %s ümber nimetamine %s -ks ei őnnestnud: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "Buutfail jäi samaks\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "fork ei őnnestunud"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "seek ei őnnestunud"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Ei suuda avada faili `%s'"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Vigane peade arv"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "Vigane aasta number, lubatud on 1-9999"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "Vigane kuu number, lubatud on 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "Vigane aasta number, lubatud on 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "Kasutamine: cal [-13smjyV] [[kuu] aasta]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Kasutamine: %s[+formaat] [kuupäev kuu aasta]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Püha Tib'i päev"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "ei suuda avada seadet %s"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr " eemaldatav"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Partitsiooni number"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr ""
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr ""
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "lugesin %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Kas eemaldada"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "tundmatu"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "positsioneerimise viga"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: ei suuda lugeda %s\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "Mälu sai otsa"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "Kataloogi %s pole!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "vigane kiirus: %s"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr ""
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr " s - Sektorite järgi järjestatud tabel"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr ""
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr ""
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr ""
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr ""
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: tundmatu signaal %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "vigane identifikaator"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: ei leia protsessi \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: tundmatu signaal %s, tuntud signaalid:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Kasutamine: %s [ -s signaal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ signaal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: tundmatu kategooria nimi: %s\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: tundmatu prioriteedi nimi: %s\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "Kasutajanimi on liiga pikk\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "Ploki suurus: %d\n"
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr ""
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "Ploki suurus: %d\n"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr ""
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr ""
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "vigane identifikaator"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Partitsiooni number"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "kataloogi stat() ei őnnestunud\n"
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr ""
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " eemaldatav"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "kataloogi stat() ei őnnestunud\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Vigane kasutajanimi"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "vigane i-kirje suurus"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr ""
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "Vigane sektorite arv"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "vigane i-kirje suurus"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " u muuta sisestamise ja tabeli näitamise ühikuid"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "%s: tundmatu signaal %s\n"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "kataloogi stat() ei őnnestunud\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "Ei suuda avada faili `%s'"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "tundmatu"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "vigane kiirus: %s"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Sain %d baiti %s seest\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "exec ei őnnestunud\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "--date argument on liiga pikk\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: %s ümber nimetamine %s -ks ei őnnestnud: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "salvesta (W)"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "lugesin %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+# XXX stat'ida
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Ei suutnud avada %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Ei suutnud avada %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Ei suutnud avada %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "vigane identifikaator"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "vigane identifikaator"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: lugemise viga failis %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Ei suutnud avada %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "Viga %s sulgemisel\n"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "%s: sisendi ületäitumine"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "vigane identifikaator"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr ""
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: Ei suuda avada faili %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "fork ei őnnestunud"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "fork ei őnnestunud"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "Mälu sai otsa"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "%s pole flopiseade\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: ei suuda avada seadet %s kiiruse seadmiseks"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "fork ei őnnestunud"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr ""
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr ""
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "fork ei őnnestunud"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr ""
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1805
+#, fuzzy, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr " l anda nimekiri tuntud failisüsteemide tüüpidest"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr ""
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr ""
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: ei suuda avada seadet %s kiiruse seadmiseks"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "fork ei őnnestunud"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr ""
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr ""
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr ""
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "fork ei őnnestunud"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "fork ei őnnestunud"
+
+#: mount-deprecated/umount.c:171
+#, fuzzy, c-format
+msgid "umount: cannot fork: %s"
+msgstr "fork ei őnnestunud"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr ""
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr ""
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr ""
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "Ketast sai muudetud\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "Ei suuda avada seadmefaili %s\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "shutdown: Ei suuda lahti monteerida kataloogi %s: %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "stat(%s) ei őnnestunud"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "vigane identifikaator"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "fork ei őnnestunud\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "vigane identifikaator"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "vigane kiirus: %s"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "exec ei őnnestunud\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "Viga %s sulgemisel\n"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "Mälu sai otsa"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" ei eksisteeri\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" ei ole täidetav\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Automaatne konfigureerimine ei őnnestunud\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Automaatne konfigureerimine ei őnnestunud\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "vigane arv: %s\n"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "kasutamine:\n"
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr ""
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr ""
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Vigane silindrite arv"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "vigane kiirus: %s"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Vigane sektorite arv"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "vigane kiirus: %s"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Kasutan vaikimisi väärtust %d\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Kasutan vaikimisi väärtust %d\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "vigane taimadi väärtus: %s"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Kasutan vaikimisi väärtust %d\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Kasutan vaikimisi väärtust %d\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "fork ei őnnestunud"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "See partitsioon pole kasutatav"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "viga %s sulgemisel"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Hoiatus: partitsioon %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "Kataloogi %s pole!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync ei őnnestunud"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "ei suuda avada seadet %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "%s avamine ei őnnestunud"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "vigane identifikaator"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "settimeofday() ei őnnestunud"
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr ""
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fsync ei őnnestunud"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "vigane kiirus: %s"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "vigane kiirus: %s"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+# XXX stat'ida
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "fork ei őnnestunud"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "ei suuda avada seadet %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "%s: \"%s\" ei eksisteeri\n"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: %s ümber nimetamine %s -ks ei őnnestnud: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "%s: sisendi ületäitumine"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " eemaldatav"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Kasutan vaikimisi väärtust %d\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "Seade: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "%s: sisendi ületäitumine"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "Seade: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr ""
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "exec ei őnnestunud\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "kataloogi avamine ei őnnestunud\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Liiga palju argumente\n"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "--date parameeter on puudu\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr ""
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "fork ei őnnestunud"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "Ei suuda avada faili `%s'"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "vigane identifikaator"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "vőti `%s' vajab argumenti\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() ei őnnestunud"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "--date parameeter on puudu\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "--date parameeter on puudu\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "--date parameeter on puudu\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "seek ei őnnestunud"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "ei suuda avada seadet %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Eeldan, et riistavalises kellas on kasutusel %s aeg\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "kohalik"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Hoiatus: arusaamatu kolmas rida adjtime failis\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Viimane ujumise vastane parandus tehti %ld sekundit pärast 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Viimane kalibreerimine tehti %ld sekundit pärast 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Riistvaralises kellas on kasutusel %s aeg\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Ootan kella tiksu...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...sain tiksu\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"Vigased väärtused riistvaralises kellas: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Riistvaralise kella aeg: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld sekundit pärast "
+"1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Riistvaralisest kellast loetud aeg: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Sean riistavaralise kella näiduks %.2d:%.2d:%.2d = %ld sekundit pärast 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Ei muutnud kella - testime ainult\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Seatavast kellaajast on möödas %.6f sekundit.\n"
+"Ootan edasi täissekundini.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Riistvaralise kella registrites on kas vigased väärtused (näiteks 50. "
+"kuupäev) vői on nad väljaspool meie poolt kasutatavat ajavahemikku (näiteks "
+"aasta 2005)\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f sekundit\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "--date parameeter on puudu\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "--date argument on liiga pikk\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"--date suvandiga antud kellaaeg on vigane.\n"
+"Täpsemalt öeldes sisaldab ta jutumärke.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Annan `date' käsu: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Ei suuda käivatada 'date' programmi /bin/sh shelliga - popen() sai vea"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "date-käsu tulemus = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"%s poolt käivitatud date-käsk andis ootamatu tulemuse.\n"
+"Käsk oli:\n"
+" %s\n"
+"Vastus oli:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"%s poolt käivitatud date-käsk tagastas väljastaud aja sees midagi, mis ei "
+"ole täisarv.\n"
+"Käsk oli:\n"
+" %s\n"
+"Vastus oli:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "kuupäevastring %s vőrdub %ld sekundiga pärast 1969\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Riistavaline kell ei sisalda korrektset aega, seega me ei saa seada "
+"süsteemikella selle järgi\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "kutsun välja settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Ei sea süsteemikella, sest tegu on testimisega\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Kella seadmiseks peab olema root\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() ei őnnestunud"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Ei paranda korrigeerimistegurit, kuna riistvaraline kell sisaldas sodi\n"
+
+#: sys-utils/hwclock.c:865
+#, fuzzy, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Ei paranda korrigeerimistegurit, kuna viimane kalibreerimine toimus vähem "
+"kui ööpäev tagasi\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Ei paranda korrigeerimistegurit, kuna viimane kalibreerimine toimus vähem "
+"kui ööpäev tagasi\n"
+
+#: sys-utils/hwclock.c:919
+#, fuzzy, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Kell on ujunud %d sekundit viimase %d sekundi jooksul vaatamata "
+"korrigeerimistegurile %f sekundit päevas.\n"
+"Paranen korrigeerimisfaktoriks %f sekundit päevas.\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Viimasest kellaaja korrigeermisest on möödunud %d sekundit\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Vaja ob vahele lisada %d sekundit ning viidata ajale %.6f sekundit tagasi\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Ei uuenda adjtime faili, sest tegu on testimisega\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Oleks kirjutanud faili %s järgmist:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Ujumise kompenseerimise parameetreid ei uuendatud\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"Riistvaraline kell ei sisalda korrektset aega, seega me ei saa sinna "
+"parandust lisada\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Ei paranda korrigeerimistegurit, kuna viimane kalibreerimine toimus vähem "
+"kui ööpäev tagasi\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr "Vajalik parandus on alla sekundi, seega kella ei sea\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Kasutan %s\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Ei leidnud kasutatavat kellaliidest\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Süsteemikella seadmine ei őnnestunud\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Tuum hoiab epohhi väärtust riistvaralises kellas ainult Alpha masinatel.\n"
+"See koopia hwclock'ist on kompileeritud töötama muul masinal (ja seega\n"
+"ilmselt ei tööta hetkel Alpha peal). Ei vőta midagi ette.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Ei saanud tuumalt epohhi väärtust kätte\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Tuum kasutab epohhi väärtust %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Epohhi väärtuse seadmiseks peate kasutama `epoch' vőtit uue väärtuse "
+"andmiseks\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Ei pannud epohhiks %d - testime ainult\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Epohhi väärtuse seadmine ei őnnestunud\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d partitsiooni:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" ütleb hwclock'ile, mis tüüpi Alphaga on tegemist\n"
+" Vt. hwclock(8) lähema info jaoks\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "Süsteemikella seadmine ei őnnestunud\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "vigane identifikaator"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s ei taha mitte-vőtmelisi argumente. %d on üleliigne\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+"%s: Koos vőtmega --noadjfile tuleb anda ka kas --utc vői --localtime vőti\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Ei saanud kasutatavat aega, ei keera kella\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Kahjuks saab ainult root riistvaralist kella keerata\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Kahjuks saba ainult root süsteemikelal keerata\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr "Kahjuks saab ainult root riistvaralise kella epohhi seada\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "Ei suuda ühegi tuntud meetodiga riistvaralist kella kätte saada\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Kasutage --debug vőtit, et näha otsingu detaile juurdepääsu otsimisel\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "buuditud MILO'st\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffiani BCD kell\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "kella port parandatud aadressiks 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "Vinge masin!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: atomaarne '%s' ei őnnestunud 1000 katse jooksul!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "Ei saanud luba, sest ei küsinudki\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "%s ei saanud I/O portidele ligi: iopl(3) ei őnnestunud\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Ilmselt on vaja roodu őigusi\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Ootan tsükils, kuni KDGHWCLK abil saadud aeg edasi läheb\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl kella lugemiseks ei őnnestunud"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl kella lugemiseks ei őnnestunud tsükils"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Taimaut oodates kellaaja muutumist\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "KDSHWCLK ioctl ei őnnestunud"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Ei suuda avada seadet /dev/tty1 vői /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl ei őnnestunud"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestnud\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Ootan tsükils, kuni %s kaudu saadud aeg edasi läheb\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s ei paku katkestusfunktsioone. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "%s lugemine kella tiksu ootamisel ei őnnestunud"
+
+#: sys-utils/hwclock-rtc.c:317
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "%s lugemine kella tiksu ootamisel ei őnnestunud"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "%s lugemine kella tiksu ootamisel ei őnnestunud"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "%s ioctl() abil ei őnnestunud välja lülitada kella katkestusi"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "%s ioctl() abil ei őnnestunud sisse lülitada kella katkestusi"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl() %s kaudu kella seadmiseks ei őnnestunud\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) őnnestus\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Epohhi väärtuse manipuleerimiseks tuleb kasutada 'rtc' draiverit seadmefaili "
+"%s kaudu. Antud süsteemis seda faili ei leidu\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "%s ioctl(RTC_EPOCH_READ) ei őnnestunud"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "lugesime epohhi %ld %s kaudu RTC_EPOCH_READ ioctl abil\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Epohhi väärtus ei tohi olla alla 1900. Teie andsite %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "sean epohhiks %ld %s RTC_EPOCH_SET ioctl abil\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Tuuma draiver %s jaoks ei toeta RTC_EPOCH_SET ioctl'i\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "%s ioctl(RTC_EPOCH_SET) ei őnnestunud"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "vőtmele pole őigusi"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "identifikaatorile pole őigusi"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "vigane vőti"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "vigane identifikaator"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() ei őnnestunud"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "vigane kiirus: %s"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Liiga palju argumente\n"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: vigane vőti (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr ""
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr ""
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr ""
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr ""
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr ""
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr ""
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr ""
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr ""
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr ""
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr ""
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr ""
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr ""
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------- -------"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------- -------"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr ""
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr ""
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync ei őnnestunud"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync ei őnnestunud"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr ""
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "vigane kiirus: %s"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "vigane identifikaator"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "vigane identifikaator"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "vigane arv: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s pole plokkseade"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Ei suuda kettal seekida"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ""
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr "Max. suurus=%ld\n"
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ""
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "--date parameeter on puudu\n"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "--date parameeter on puudu\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "Mälu sai otsa"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "stat(%s) ei őnnestunud"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "valmis (D)"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "Vigane sektorite arv"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "Vigane sektorite arv"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr "Viga %s sulgemisel\n"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "Ploki suurus: %d\n"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "%s: Ainult root saab süsteemi seisata\n"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "%s: Ainult root saab süsteemi seisata\n"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s paketist %s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "positsioneerimise viga"
+
+# XXX stat'ida
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "Ketast sai muudetud\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "%s: Ainult root saab süsteemi seisata\n"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "Ketast sai muudetud\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "%s: ei leia protsessi \"%s\"\n"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "%s: ei leia protsessi \"%s\"\n"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "%s: ei leia protsessi \"%s\"\n"
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr " t Muuta jooksva partitsiooni failisüsteemi tüüpi"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: ei suuda lugeda %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "%s: %s ümber nimetamine %s -ks ei őnnestnud: %s\n"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "Kella seadmiseks peab olema root\n"
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr ""
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "Ketast sai muudetud\n"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "Ketast sai muudetud\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "%s: \"%s\" ei eksisteeri\n"
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "%s: Kasutajat \"%s\" pole olemas\n"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "Mälu sai otsa"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "fork ei őnnestunud"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "fork ei őnnestunud"
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "%s: ei suuda lugeda %s\n"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr " l anda nimekiri tuntud failisüsteemide tüüpidest"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "ei suuda avada seadet %s lugemiseks ja kirjutamiseks\n"
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: ei suuda avada seadet %s kiiruse seadmiseks"
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr ""
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "fork ei őnnestunud"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: %s ümber nimetamine %s -ks ei őnnestnud: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr ""
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s on monteeritud. "
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Ei suuda avada faili `%s'"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld plokki\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS sekundaarne"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "vigane i-kirje suurus"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "Sisetage sektorite arv"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "Ei suuda avada faili `%s'"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "Sisetage sektorite arv"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr ""
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr ""
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Vigane kasutajanimi"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr " eemaldatav"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Uhikud"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d partitsiooni:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "%s: Vőtmed --adjust ja --noadjfile on vastastikku välistavad\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Esimene Viimane\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "viga i-kirje kirjutamisel"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr ""
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "stat(%s) ei őnnestunud"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr ""
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr ""
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s paketist %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "vigane taimadi väärtus: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "kasutaja"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "settimeofday() ei őnnestunud"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestnud\n"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "Viga %s sulgemisel\n"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "vigane kiirus: %s"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "settimeofday() ei őnnestunud"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "vigane identifikaator"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "vigane identifikaator"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Kasutan %s\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Kasutan %s\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "Teade kasutajalt %s@%s terminalil %s kell %s..."
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "Teade kasutajalt %s@%s terminalil %s kell %s..."
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "vigane kiirus: %s"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Liiga palju argumente\n"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr ""
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() ei őnnestunud"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "exec ei őnnestunud\n"
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr ""
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d kustutada partitsioon"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "kataloogi stat() ei őnnestunud\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "kataloogi stat() ei őnnestunud\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Märkida kasutatuks"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "exec ei őnnestunud\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "%s avamine ei őnnestunud"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Nimi"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "terminalil %.*s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr ""
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "stat(%s) ei őnnestunud"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "shutdown: Ei suuda lahti monteerida kataloogi %s: %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Ei suuda avada faili `%s'"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " s - Sektorite järgi järjestatud tabel"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "vigane taimadi väärtus: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr ""
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr ""
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ""
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ""
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ""
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ""
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ""
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fsync ei őnnestunud"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr ""
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr ""
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "%s: ei suuda lugeda %s\n"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "Kella seadmiseks peab olema root\n"
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr ""
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "seek ei őnnestunud"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Login timed out after %d seconds\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Login timed out after %d seconds\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr " eemaldatav"
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr ""
+
+# XXX stat'ida
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "%s: tundmatu signaal %s\n"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "Seade: %s\n"
+
+#: sys-utils/wdctl.c:168
+msgid "Available columns:\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: tundmatu signaal %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "seek ei őnnestunud tabelite kirjutamisel"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f sekundit\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Seade"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s paketist %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: ei suuda käivitada programmi %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "Viga sektori %lu kirjutamisel seadmele %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: ei leia protsessi \"%s\"\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ei suuda käivitada programmi %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "vigane taimadi väärtus: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "vigane kiirus: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "liiga palju alternatiivseid kiirusi"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "ei saanud avada /dev/%s standardsisendina: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s pole sümbolseade"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s pole avatud lugemiseks _ja_ kirjutamiseks"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "probleem %s dubleerimisel: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tüüp: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: read: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: sisendi ületäitumine"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "kasutaja"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "kasutajat"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "seek ei őnnestunud"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "on sisse lülitatud (y)\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "on välja lülitatud (n)\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "seek ei őnnestunud"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "vigane kiirus: %s"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr ""
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "stat(%s) ei őnnestunud"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "Ei suuda avada faili `%s'"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "Mälu sai otsa"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "%s avamine ei őnnestunud"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "Liiga palju argumente\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei őnnestunud"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "fork ei őnnestunud"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "fork ei őnnestunud"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "Ei suuda avada faili %s\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "fork ei őnnestunud"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "ei suuda avada seadet %s kirjutamiseks\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "Fataalne viga\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "viga i-kirje kirjutamisel"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Ei suutnud avada %s\n"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr ""
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: tundmatu signaal %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "liiga palju iov'sid (muutke faili login-utils/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "väga pikk argument"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "fork ei őnnestunud"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "vigane taimadi väärtus: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "fork ei őnnestunud"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Ei suuda kindlaks teha ketta mahtu"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Teade kőigile kasutajalt %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: ei hakka %s lugema, kasuta standardsisendit\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "vigane kiirus: %s"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: ei leia Sinu terminaliseadme nime\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: Sul on kirjutamisőigus välja lülitatud\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s pole terminalilt %s sisse logitud\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s keeldub teadetest terminalil %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s pole sisse logitud\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s keeldub teadetest\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr ""
+"write: %s on sisse logitud rohkem kui ühest kohast, kasutan tema terminali "
+"%s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "köite nimi on liiga pikk"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Teade kasutajalt %s@%s (%s) terminalil %s kell %s..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Teade kasutajalt %s@%s terminalil %s kell %s..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "Mälu sai otsa"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr ""
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr ""
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr ""
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "vigane identifikaator"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "seek ei őnnestunud"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs versioon %s (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: tundmatu signaal %s\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr ""
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr ""
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr ""
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr ""
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr ""
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr ""
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr ""
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr ""
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr ""
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr ""
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr ""
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr ""
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr ""
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr ""
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "exec ei őnnestunud\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr ""
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr ""
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr ""
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr ""
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/parse.c:67
+#, fuzzy
+msgid "line too long"
+msgstr "köite nimi on liiga pikk"
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr ""
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr ""
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr ""
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr ""
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr ""
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p Väljastada partitsioonitabel ekraanile vői faili"
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr ""
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr ""
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:246
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "vőti `%s' vajab argumenti\n"
+
+#: text-utils/pg.c:254
+#, fuzzy, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: vigane vőti (%s)\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr ""
+
+#: text-utils/pg.c:399
+#, fuzzy
+msgid "No previous file"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: text-utils/pg.c:934
+#, fuzzy, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: lugemise viga failis %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:943
+#, fuzzy, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: seekimise viga failis %s\n"
+
+#: text-utils/pg.c:1038
+#, fuzzy, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: ei suuda lugeda ajutist faili\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+#, fuzzy
+msgid "RE error: "
+msgstr "positsioneerimise viga"
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "ei suuda avada seadet %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr ""
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1500
+#, fuzzy
+msgid "fork() failed, try again later\n"
+msgstr "Parooli EI muudetud - proovige hiljem uuesti\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr ""
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "--date parameeter on puudu\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr ""
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr ""
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "köite nimi on liiga pikk"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "seek ei őnnestunud"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "Ei suuda avada faili `%s'"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "stat(%s) ei őnnestunud"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Ei suutnud avada %s\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "Ei suuda avada faili `%s'"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "ei suuda avada seadet %s"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "stat(%s) ei őnnestunud"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "stat(%s) ei őnnestunud"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Ei suuda avada faili `%s'"
+
+#~ msgid "unable to open %s"
+#~ msgstr "ei suuda avada seadet %s"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: Ei suuda avada faili %s\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "ei suuda avada faili %s lugemiseks"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "Ei suuda avada faili `%s'"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Ei suutnud avada %s\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "stat(%s) ei őnnestunud"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "stat(%s) ei őnnestunud"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "seek ei őnnestunud"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Ei suuda avada seadet /dev/port: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "%s avamine ei őnnestunud"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "%s avamine ei őnnestunud"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Ei suuda avada seadet %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "ei jätku mälu kaartide puhvritele"
+
+# XXX stat'ida
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "ei suuda stat'ida seadet %s"
+
+# XXX stat'ida
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "ei suuda stat'ida seadet %s"
+
+# XXX stat'ida
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "ei suuda stat'ida seadet %s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "Ei suuda avada faili `%s'"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "Ei suuda avada faili `%s'"
+
+#, fuzzy
+#~ msgid "Cannot open "
+#~ msgstr "Ei suuda avada seadmefaili %s\n"
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "ei suuda avada seadet %s lugemiseks\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "stat(%s) ei őnnestunud"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Kasutamine: %s [-larvsmf] /dev/seade\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "ei ürita luua saalimisala seadmele `%s'"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "stat(%s) ei őnnestunud"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Partitsioonitabelit ei saa salvestada\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Partitsioon %i ei alga silindri piirilt:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "peaks olema (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "peaks olema (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Seade %s ei sisalda äratuntavat partitsioonitabelit\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Ei suuda avada seadmefaili %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr "Kasutatav tuum leiab sektori suuruse ise - ignoreerin -b vőtit\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "Mälu sai otsa\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "shutdown: Ei suuda lahti monteerida kataloogi %s: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr "Korraga saab kasutada ainult ühte funktsiooni\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: --utc ja --localtime vőtmed on teineteist välistavad. Teie kasutasite "
+#~ "mőlemat korraga\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr "%s: Vőtmed --adjust ja --noadjfile on vastastikku välistavad\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr "%s: Vőtmed --adjust ja --noadjfile on vastastikku välistavad\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "fork ei őnnestunud"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "arv `%s' vőtmele `%s' on väljaspool lubatud vahemikku\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+# XXX stat'ida
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "ei suuda stat'ida seadet %s"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "vigane kiirus: %s"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "--date parameeter on puudu\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "ei suuda avada seadet %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "--date argument on liiga pikk\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "vigane taimadi väärtus: %s"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "vigane taimadi väärtus: %s"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "positsioneerimise viga"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "fork ei őnnestunud\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "seek ei őnnestunud"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d kustutada BSD partitsioon"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l anda nimekiri tuntud failisüsteemide tüüpidest"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n lisada uus BSD partitsioon"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p näidata BSD partitsioonitabelit"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t muuta partitsiooni failisüsteemi tüüpi"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u muuta ühikuid (silindrid/sektorid)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p näidata partitsioonitabelit"
+
+#, fuzzy
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Koostan uue DOSi partitsioonitabeli. Muutused jäävad ainult mällu,\n"
+#~ "kuni Te ise otsustate need kettale kirjutada. Pärast seda pole vana sisu\n"
+#~ "loomulikult enam taastatav.\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr "Seade ei sisalda ei DOSi, Suni, SGI ega ODF partitsioonitabelit\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Sisemine viga\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tVabandust, SGI partitsioonitabeli jaoks pole ekspertmenüüd\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Kas teate, et mőned partitsioonid kattuvad omavahel?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Koostan uue SGI partitsioonitabeli. Muutused jäävad ainult mällu,\n"
+#~ "kuni Te ise otsustate need kettale kirjutada. Pärast seda pole vana sisu\n"
+#~ "loomulikult enam taastatav.\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "Mälu sai otsa - annan alla\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: mälu on vähe, sisse logimine ei tarvitse őnnestuda\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "ei jätku mälu ttyclass'ile"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "ei jätku mälu grplist'ile"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr ""
+#~ "Sisselogimisest liinil %s masinast %s keeldutakse vaikereegli tőttu\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Sisselogimisest liinil %s masinast %s keeldutakse\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Kasutamine: %s [ -f pärisnimi ] [ -o kontor] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "login: PAM viga, katkestan: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Kasutamine: %s [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ kasutajanimi ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr ""
+#~ "%s: ainult lokaalseid kirjeid saab muuta - kasutage programmi yp%s\n"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "seek ei őnnestunud"
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: kasutage -l lubatud shellide nimekirja vaatamiseks\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Kasutage %s -l lubatud shellide nimekirja vaatamiseks\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "Kasutamine: login [-fp] [kasutajanimi]\n"
+
+#~ msgid "Illegal username"
+#~ msgstr "Vigane kasutajanimi"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "Kasutaja %s ei tohi sellelt terminaliltsisse logida\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "LOGIN %s REFUSED FROM %s ON TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "LOGIN %s REFUSED ON TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Login incorrect\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: Viga fork'imisel: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s login: "
+
+#~ msgid "NAME too long"
+#~ msgstr "Nimi on liiga pikk"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "Kasutajanimi on liiga pikk\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "Kasutajanimed ei tohi alata miinusega\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "TOHUTULT reavahetusi"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "Liiga palju tühje ridu\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "LOGIN FAILURE FROM %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "LOGIN FAILURE ON %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d LOGIN FAILURES FROM %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d LOGIN FAILURES ON %s, %s"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "Mälu sai otsa"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "Seade %s ei sisalda äratuntavat partitsioonitabelit\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "seek ei őnnestunud"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: Kasutajat \"%s\" pole olemas\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "stat(%s) ei őnnestunud"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "Sektor%d on juba kasutusel\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: Ei suuda avada faili %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: lugemise viga failis %s\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "fork ei őnnestunud\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s paketist %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr "Kasutaja informatsioon on muudetud\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr "Viga %s sulgemisel\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Tüüpi saab muuta ainult mittetühjadel partitsioonidel\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Hoiatus: partitsioon %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Hoiatus: partitsioonid %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "ja %s kattuvad\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -l [ signaal ]\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: Ei suuda avada faili %s\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "positsioneerimise viga"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "Kasutamine: %s [ -n ] seade\n"
+
+#, fuzzy
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s pole flopiseade\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "Mälu sai otsa"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: viga vőtmete analüüsimisel\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Kasutamine: %s [-x] [-d <num>] iso9660-image\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Kasutamine: %s [-v] [-N i-kirjete-arv] [-V köite-nimi]\n"
+#~ " [-F fsnimi] seade [plokkide-arv]\n"
+
+# XXX stat'ida
+#~ msgid "unable to stat %s"
+#~ msgstr "ei suuda stat'ida seadet %s"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "fork ei őnnestunud\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr "Kasutamine: %s [-c] [-v0|-v1] [-pLKSUURUS] /dev/nimi [plokke]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Mälu sai otsa"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "kasutamine:\n"
+
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menüü ilma suunata, eeldan horisontaalset"
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Te peate kőigepealt mőne partitsiooni kustutama ja asemele\n"
+#~ "extended partitsiooni tegema\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Käsk tegevus\n"
+#~ " %s\n"
+#~ " p primaarse partitsiooni (1-4) loomine\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr "Kasutamine: mkfs [-V] [-t fstüüp] [fs-vőtmed] seade [suurus]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Ei suutnud avada %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s paketist %s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "ei jätku mälu i-kirjete puhvrile"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Ootasin: `UTC' vői `LOCAL' vői mitte midagi)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock -- riistvaralise kella (RTC) väärtuse vaatamiseks ja seadmiseks\n"
+#~ "\n"
+#~ "Kasutamine: hwclock [funktsioon] [vőtmed...]\n"
+#~ "\n"
+#~ "Funktsioonid:\n"
+#~ " --help näidata seda teksti\n"
+#~ " --show lugeda ja väljastada riistvaralise kella näit\n"
+#~ " --set seada riistvaralise kella näiduks --date vőtme väärtus\n"
+#~ " --hctosys seada süsteemi aeg samaks, mis riistvaralisel kellal\n"
+#~ " --systohc seada riistvaraline kell samaks, mis süsteemi aeg\n"
+#~ " --adjust korrigeerida riistvaralise kella näitu, et arvestada\n"
+#~ " süstemaatlist nihet alates viimasest korrigeerimisest\n"
+#~ " --getepoch väljastada riistvaralise kella epohhi väärtus\n"
+#~ " --setepoch seada riistvaralise kella epohhi väärtuseks --epoch\n"
+#~ " vőtmega antud väärtus\n"
+#~ " --version väljastada hwclock'i versioon\n"
+#~ "\n"
+#~ "Vőtmed:\n"
+#~ " --utc riistvaralist kella hoitakse Greenwichi ajas\n"
+#~ " --localtime riistvaralist kella hoitakse kohalikus ajas\n"
+#~ " --directisa pöörduda ISA siini poole otse (%s asemel)\n"
+#~ " --badyear ignoreerida RTC aastanumbrit, kuna BIOS on katkine\n"
+#~ " --date annab aja, mis riistvaralise kella väärtuseks panna\n"
+#~ " --epoch=aasta annab aasta, mida hakata lugema riistvaralise kella\n"
+#~ " epohhi alguseks\n"
+#~ " --noadjfile mitte kasutada faili /etc/adjtime. Vajab kas --utc vői\n"
+#~ " --localtime vőtit\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "init-stringi jaoks ei jätku mälu"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Kasutamine:\n"
+#~ "%s [-hiLmw] [-l login_programm] [-t taimaut] [-I init-string] [-H "
+#~ "login_host] baud_rate,... seade [terminali_tüüp]\n"
+#~ "vői\n"
+#~ " [-hiLmw] [-l login_programm] [-t taimaut] [-I init-string] [-H "
+#~ "login_host] seade baud_rate,... [terminalitüüp]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "Kasutamine: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: Vigane veakood"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "Kasutamine: %s [fail]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: ei suuda lugeda %s\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "Kasutamine: logger [-is] [-f fail] [-p pri] [-t nimi] [-u sokkel] "
+#~ "[ teade ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "Kasutamine: look [-dfa] [-t märk] string [fail]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "Mälu sai otsa\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "Kasutamine: %s kust kuhu failid...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "Kasutamine: script [-a] [-f] [-q] [-t] [fail]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "Kirjutamise viga seadmel %s\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "Kirjutamise viga seadmel %s\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr "Kasutamine: [-#] [-f fail] [-t tty] [-h hostinimi] [kasutaja ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ signaal ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "Kasutamine: whereis [ -sbmu ] [ -SBM kataloog ... -f ] nimi...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "Kasutamine: write kasutaja [tty]\n"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "tundmatu"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Kasutamine: shutdown [-h|-r] [-fqs] [now|tt:mm|+min]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Seiskamise protsess katkestati"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Ainult root saab süsteemi seisata\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "See paistab olevat homme, kes tőesti ei saa niikaua oodata?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "hoolduse jaoks (nagu ikka)"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Süsteem läheb maha 5 minuti pärast"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Sisse logimine on seetőttu keelatud"
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "buutis %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "seiskas %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Miks ma pärast rebooti veel elus olen?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Nüüd vőib voolu välja lülitada..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Kutsun välja tuuma väljalülitamise meetodi...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Viga välja lülitamisel\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Täidan programmi \"%s\" ...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Viga %s täitmisel\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "KIIRE: teade kőigile kasutajalt %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Süsteem läheb maha %d tunni ja %d minuti pärast"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Süsteem läheb maha 1 tunni ja %d minuti pärast"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Süsteem läheb maha %d minuti pärast\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Süsteem läheb maha 1 minuti pärast\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "süsteem läheb maha OTSEKOHE!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Ei saa teha uut protsessi saalimise välja lülitamiseks. Oeh!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "Ei saa käivitada swapoff'i, ehk umount teeb selle ära"
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Ei saa forkida umounti käivitamiseks, proovin käsitsi"
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Ei suuda käivitada programmi %s, proovin umount'i\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Ei suuda käivitada umount'i, annan alla umount'iga tegelemisel"
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Monteerin lahti kőik allesjäänud failisüsteemid"
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Ei suuda lahti monteerida kataloogi %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Buudin ühekasutajarezhiimi\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "Ühekasutajarezhiimi shelli ei őnnestunud käivitada\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "Ühekasutajarezhiimi shelli jaoks ei őnnestunud fork'ida\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "viga FIFO avamisel\n"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "viga finalprog'i käivitamisel\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "viga finalprog'i käivitamisel\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Vale parool\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "kataloogi lstat() ei őnnestunud\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "fork ei őnnestunud\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "Ei suuda avada inittab'i\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "TERM pole seatud vői stat (tty) ei őnnestnud\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "viga teenuse peatamisel: %s"
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "viga teenuse peatamisel: %s"
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "viga teenuse peatamisel: %s"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Kasutamine: script [-a] [-f] [-q] [-t] [fail]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "%s avamine ei őnnestunud"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "Mälu sai otsa"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "Kasutamine: col [-bfpx] [-l ridadearv]\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "ei jätku mälu kaartide puhvritele"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "Kasutamine: %s [fail]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "Mälu sai otsa"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Kasutamine: %s [fail]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "Kasutamine: %s [ vőtmed ] seade ...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "Ei suuda avada seadet %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Mälu sai otsa\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Sain EOF-i kolm korda järjest - aitab\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: Mälu sai otsa\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Mälu sai otsa\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Kataloogi %s pole!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: Ei jätku mälu shell-skriptile\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: shelli pole: %s\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: Pole őigusi"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: ei suuda lugeda ajutise faili staatust\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: ei suuda lugeda ajutist faili\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "Kirjutamise viga seadmel %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "positsioneerimise viga"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " ja "
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: Mälu sai otsa\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "%s avamine ei őnnestunud"
+
+#, fuzzy
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: vigane vőti (%s)\n"
+
+#, fuzzy
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: vigane vőti (%s)\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: %s ümber nimetamine %s -ks ei őnnestnud: %s\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "Mälu sai otsa"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "ei jätku mälu kaartide puhvritele"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "viga finalprog'i käivitamisel\n"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "uus (N)"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#, fuzzy
+#~ msgid "Linux JFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Kasutamine: fdisk [-b SSZ] [-u] DISK Muuta partitsioonitabelit\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK Näidata partitsioonitabeli "
+#~ "sisu\n"
+#~ " fdisk -s PARTITSIOON Näidata partitsiooni mahtu "
+#~ "plokkides\n"
+#~ " fdisk -v Näidata fdiski versiooni\n"
+#~ "Siin DISK on seadmefail (näiteks /dev/hda vői /dev/sda)\n"
+#~ "ja PARTITSIOON on midagi stiilis /dev/hda7\n"
+#~ "-u: näidata partitsioonide algust ja lőppu silindrite asemel sektorites\n"
+#~ "-b 2048: kasutada 2048-baidiseid sektoreid (vajalik näiteks mőnel MO "
+#~ "seadmel)\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Kasutamine: fdisk [-l] [-b SSZ] [-u] seade\n"
+#~ "Näiteks: fdisk /dev/hda (esimese IDE ketta jaoks)\n"
+#~ " fdisk /dev/sdc (kolmanda SCSI ketta jaoks)\n"
+#~ " fdisk /dev/eda (esimese PS/2 ESDI ketta jaoks)\n"
+#~ " fdisk /dev/rd/c0d0 vői fdisk /dev/ida/c0d0 (RAID seadmete "
+#~ "jaoks)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Ketta silindrite arvuks on seatud %d. Selles ei ole iseenesest\n"
+#~ "midagi halba, aga see on suurem kui 1024 ning vőib seega pőhjustada\n"
+#~ "teatud situatsioonides probleeme:\n"
+#~ "1) tarkvaraga, mis käivitub buutimise ajal (näiteks vana versioon "
+#~ "LILOst)\n"
+#~ "2) muude operatsioonisüsteemide buutimise ja partitsioneerimise\n"
+#~ "tarkvaraga (näiteks DOSi FDISK, OS/2 FDISK)\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "positsioneerimise viga"
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "Viga %s lugemisel\n"
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "Mälu sai otsa"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX buutiv"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Shell jäi samaks\n"
+
+#, fuzzy
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: Viga - ei ole öeldud, kuhu saalimisala tekitada\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "fataalne viga: esimene lehkülg pole kättesaadav"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: Seade `%s' sisaldab pealtnäha korralikku Sun'i partitsioonitabelit.\n"
+#~ "See tähendab ilmselt, et v0 saalimisala tegemine hävitaks "
+#~ "partitsioonitabeli.\n"
+#~ "Saalimisala ei tekitataud. Kui Te tőesti soovite sellele seadmele\n"
+#~ "v0 saalimisala tekitada, kasutage -f vőtit selle sundimiseks.\n"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: Ei suuda avada faili %s\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: Avamine ei őnnestunud: %s\n"
+
+#, fuzzy
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM viga, katkestan: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "Ei suuda lugeda faili %s, katkestan"
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM viga, katkestan: %s\n"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "`%s': vigane kataloog: `.' pole esimene\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "`%s': vigane kataloog: `..' pole teine\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "kutsun välja funktsiooni open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "kutsun välja funktsiooni termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "kirjutan init-stringi\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "enne autobaudimist\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "ootan reavahetust (CR+LF)\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "loen kasutajanime\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "pärast getopt-tsüklit\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "väljun funktsioonist parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "sisenesin funktsiooni parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "väljun funktsioonist parsespeed\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "dubleerin sokleid\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "Miski ei klapi"
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Hoiatus: \"%s\" pole kirjas failis /etc/shells\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "timeout = %d, quiet = %d, reboot = %d\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: tundmatu signaal %s\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Eeldan lehekülje suuruseks %d (mitte %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "Automaatne konfigureerimine leidis %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Kettaseadme tüüp\n"
+#~ " ? automaatne konfigureerimine\n"
+#~ " 0 kohandatud (vaikeväärtustega riistavarlt)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Valige tüüp (? tähendab automaatset, 0 kohandatut): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Alternatiivseid silindreid"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Füüsilisi silindreid"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Kőiki kettaseadme parameetreid saab muuta x menüüst"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" floppi"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linuxi oma"
+
+#, fuzzy
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s paketist %s\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Süntaksiviga: `%s´\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Ei tunne parameetrite komplekti `%s'\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr "%s [ -p ] seade nimi\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ "%s [ -p ] seade maht sekt päid radu stretch gap rate spec1 fmt_gap\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr "%s [ -c | -y | -n | -d ] seade\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr "%s [ -c | -y | -n ] seade\n"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "Buutiv (%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Pole (%02X)"
+
+#~ msgid "Partition %i does not end on cylinder boundary:\n"
+#~ msgstr "Partitsioon %i ei lőppe silindri piiril:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Disk %s: %d heads, %d sectors, %d cylinders\n"
+#~ "Units = %s of %d * %d bytes\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+#~ "Ühikud = %s suurusega %d * %d baiti\n"
+#~ "\n"
+
+#~ msgid "option `%s' doesn't allow an argument\n"
+#~ msgstr "vőti `%s' ei luba argumente\n"
+
+#~ msgid "unrecognized option `-%c'\n"
+#~ msgstr "tundmatu vőti `-%c'\n"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "ei suuda avada lugemiseks seadet /dev/urandom"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "ei suuda lugeda juhust seadmelt /dev/urandom"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "stat(%s) ei őnnestunud"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "failil %s on valed juurdepääsuőigused"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "ei suuda lugeda faili %s"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "Liiga palju kasutajaid on juba sisse loginud.\n"
+#~ "Proovige hiljem uuesti.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Teil on liiga palju protsesse töötamas\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "Parool peab olema vähemalt 6 sümbolit. Proovige uuesti\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "Parool peab sisaldama märke vähemalt kahest järgnevast klassist:\n"
+#~ "suur- ja väiketähed, numbrid ja muud sümbolid. Vaadake passwd(1) "
+#~ "lisainfoks\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "Vana parooli ei saa uuesti kasutada\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr ""
+#~ "Ärge palun pange parooliks midagi, mis sarnaneb Teie kasutajanimega!\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr "Ärge palun pange parooliks midagi, mis sarnaneb Teie pärisnimega!\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Kasutamine: passwd [kasutajanimi [parool]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "Ainult superkasutaja tohib ka argumente kasutada\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Kasutamine: passwd [-foqsvV] [kasutajanimi [parool]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "Ei suuda käivitada programmi %s: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "Ei suuda kindlaks teha Teie kasutajanime"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Ainult superkasutaja tohib teiste paroole muuta\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr "Ei suuda leida sellist kasutajat. Kas `%s' on ikka kasutaja?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr ""
+#~ "Selle programmiga saab muuta ainult lokaalseid paroole.\n"
+#~ "Ehk aitab programmi yppasswd kasutamine."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "UID ja kasutajanimi ei lange kokku - petis niisugune!"
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "Muudame kasutaja %s parooli\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Vana parool: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Vale parool"
+
+#~ msgid "Enter new password: "
+#~ msgstr "Uus parool: "
+
+#~ msgid "Password not changed."
+#~ msgstr "Ei muutnud parooli."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Uus parool uuesti: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Paroolid ei klapi - tippisite ilmselt valesti. Parool jäi muutmata."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "muudeti kasutaja %s parool"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "ROODU PAROOL MUUDETI"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "kasutaja %s muutis roodu parooli"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "kutsun välja funktsiooni setpwnam parooli seadmiseks\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Parool on nüüd muudetud\n"
diff --git a/po/eu.gmo b/po/eu.gmo
new file mode 100644
index 0000000..ac21364
--- /dev/null
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
new file mode 100644
index 0000000..9df1151
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,16139 @@
+# Basque translation of util-linux-ng.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux package.
+# Mikel Olasagasti Uranga <hey_neken@mundurat.net>, 2005, 2009, 2010.
+# , fuzzy
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.17.1-rc1\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2010-02-16 19:58+0100\n"
+"Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
+"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "ezin da %s ireki"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "baliogabeko aukera"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "baliogabeko aukera"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "baliogabeko aukera"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "berirakurri partizio taula"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "ezarri irakurtzeko soilik"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "ezarri irakurketa-idazketarako"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "lortu irakurketa soilik"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "lortu bloke logikoaren (sektorea) tamainua"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "lortu bloke fisikoaren (sektorea) tamainua"
+
+#: disk-utils/blockdev.c:99
+#, fuzzy
+msgid "get minimum I/O size"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: disk-utils/blockdev.c:105
+#, fuzzy
+msgid "get optimal I/O size"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "lortu irakurketa soilik"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr ""
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "lortu bloke-tamainua"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "ezarri bloke-tamainua"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "lortu 32 bit-eko sektore kopurua"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "lortu tamainua byte-tan"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "ezarri readahead"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "lortu readahead"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "ezarri `readahead' fitxategi sistemari"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "lortu fitxategi sistemaren `readahead'-a"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "hustu bufferrak"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "berirakurri partizio taula"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "lortu tamainua 512 byte-eko sektoreetan"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "col: -l baliogabeko argumentua %s.\n"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s-(e)k huts egin du.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr " disko guztian. "
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ StartSec Size Device\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "berirakurri partizio taula"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "erabilera:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tOHARRA: elvtune-k 2.4 kernel-ekin bakarrik funtzionatzen du\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "bloke-gailua falta da, erabili -h laguntzarako\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formateatzen ... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "eginda\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Egiaztatzen ... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Irakurri:"
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, fuzzy, c-format
+msgid "%s from %s\n"
+msgstr "%s-(e)tik renice-ea\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "stat-ek huts egin du: %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr ""
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Bikoitza"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Bakarra"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s montatua dago.\t"
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "fsck: %s: ez da aurkitu\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "crc errorea"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Diskak sinkronizatzen.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr ""
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "%s-(e)k huts egin du.\n"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "crc errorea"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "fsck: %s: ez da aurkitu\n"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "fork-ek huts egin du"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr " %s: write-k huts egin du"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "waitpid-ek huts egin du"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "crc errorea"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "Partizio taula moeta ezezaguna"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1274
+#, fuzzy, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "Ordulariaren tick-ari itxaroten\n"
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: gailu gehiegi\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "/proc montatua dago?\n"
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: argumentu gehiegi\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr "Inprimatu taula sektore bidez ordenatua"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "fitxategi luzeera motxegia"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "read-ek huts egin du: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "fitxategi sistemaren euskarririk gabeko ezaugarriak"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:193
+#, fuzzy
+msgid "zero file count"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "crc errorea"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, fuzzy, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "crc errorea"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "Super blokea: %zd byte\n"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "write-k huts egin du: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown-(e)k huts egin du: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown-(e)k huts egin du: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime-(e)k huts egin du: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir-(e)k huts egin du: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "fitxategi luzeera okerra"
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "fitxategi luzeera okerra"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "lortu tamainua byte-tan"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symlink-ek huts egin du: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "`%s' fitxategiak %05o modua dauka\n"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod-(e)k huts egin du: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr " (libblkid gabe konpilatua). "
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr "(Hurrengo fitxategia: %s)"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+msgid " -r interactive repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s montatua dago.\t"
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+#, fuzzy
+msgid "Remove block"
+msgstr "ezin da %s id-a ezabatu (%s)\n"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:521
+#, fuzzy
+msgid "Unable to write inodes"
+msgstr " w idatzi diskoaren etiketa diskoan"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "seek-ek huts egin du"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:621
+#, fuzzy
+msgid "Unable to read inodes"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/fsck.minix.c:623
+#, fuzzy, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Oharra: inodo kopurua handiegia.\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodo\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld bloke\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Lehen data zona=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonaren tamainua=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Gehienezko tamainua=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Fitxategi sistemaren egoera=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"izen luzeera=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Markatu erabilia dagoela"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "`%s' fitxategiak %05o modua dauka\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Oharra: inodo kopurua handiegia.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "erro inodoa ez da direktorioa"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Garbia"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Zuzena"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Ezabatu"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, fuzzy, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "erro inodoa ez da direktorioa"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, fuzzy, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "erro inodoa ez da direktorioa"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "barne errorea"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Ezarri"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: disk-utils/fsck.minix.c:1255
+#, fuzzy
+msgid "bad inode size"
+msgstr "Tamainua (MBtan): "
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "ezin da %s ireki"
+
+#: disk-utils/fsck.minix.c:1316
+#, fuzzy, c-format
+msgid "%s is clean, no check.\n"
+msgstr "Ez dago *BSD partiziorik %s-(e)n.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1353
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr "%6ld zona erabilita (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zona erabilita (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"FITXATEGI SISTEMA ALDATU DA\n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "Ezin da bilatu disko unitatean"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr " disko guztian. "
+
+#: disk-utils/isosize.c:139
+#, fuzzy, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "lortu bloke logikoaren (sektorea) tamainua"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "baliogabeko lerro kopurua"
+
+#: disk-utils/mkfs.bfs.c:142
+#, fuzzy
+msgid "volume name too long"
+msgstr "--date argumentua luzeegia da\n"
+
+#: disk-utils/mkfs.bfs.c:149
+#, fuzzy
+msgid "fsname name too long"
+msgstr "--date argumentua luzeegia da\n"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ez da bloke gailu berezia"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "baliogabeko aukera"
+
+#: disk-utils/mkfs.bfs.c:194
+#, fuzzy, c-format
+msgid "cannot get size of %s"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "bloke argumentu luzeegia, gehienezkoa %llu da"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "inodo gehiegi - gehienezkoa 512 da"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "ez dago nahikoa leku, %llu bloke behar dira gutxienez"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Gailua: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Bolumena: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSizena: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Bloke tamaina: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Markatu erabilia dagoela"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inodoak: %d (%lld blokeetan)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blokeak: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, fuzzy, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr " e diskoaren data editatu"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "errorea superblokea idazten"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "errorea erro inodoa idazten"
+
+#: disk-utils/mkfs.bfs.c:277
+#, fuzzy
+msgid "error writing inode"
+msgstr "Disko etiketa idazten %s-(e)ri.\n"
+
+#: disk-utils/mkfs.bfs.c:280
+#, fuzzy
+msgid "seek error"
+msgstr "crc errorea"
+
+#: disk-utils/mkfs.bfs.c:286
+#, fuzzy
+msgid "error writing . entry"
+msgstr "Disko etiketa idazten %s-(e)ri.\n"
+
+#: disk-utils/mkfs.bfs.c:290
+#, fuzzy
+msgid "error writing .. entry"
+msgstr "Disko etiketa idazten %s-(e)ri.\n"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "errorea %s itxitzerakoan"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Erabilera: mkfs [-V] [-t fitxategi sistema moeta] [fitxategi sistemaren "
+"aukerak] gailua [tamainua]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr "Irteten - ez da ezer aldatu\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "erro inodoa ez da direktorioa"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "fitxategi sistema handiegia. Irteten.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "ezarri rtc alarma"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "ROM irudi mapa"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Barne hartzen: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Direktorioaren data: %zd byte\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Guztiak: %zd kilobyte\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Super blokea: %zd byte\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "ROM irudia"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "ROM irudia idazteak huts egin du (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr ""
+"Erabilera: %s [-c | -l fitxategi-izena] [-nXX] [-iXX] /dev/izena [blokeak]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr " w idatzi diskoaren etiketa diskoan"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr " w idatzi diskoaren etiketa diskoan"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr " w idatzi diskoaren etiketa diskoan"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr " w idatzi diskoaren etiketa diskoan"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr " %s: write-k huts egin du"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "bloke oker geheigi"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "ezin izan da nahikoa buffer memoria esleitu"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "ezin izan da nahikoa buffer memoria esleitu"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "ezin izan da nahikoa buffer memoria esleitu"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld inodo\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld bloke\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, fuzzy, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr "Gehienezko tamainua=%ld\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s: lseek-ek huts egin du"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, fuzzy, c-format
+msgid "%d bad blocks\n"
+msgstr "%ld bloke\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, fuzzy, c-format
+msgid "one bad block\n"
+msgstr "orri oker bat\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s: ezin da %s blokeo fitxategia ireki: %s\n"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "ezin da badblocks fitxategia irakurri"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "Tamainua (MBtan): "
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "%s: %s: gailua okupatua dago"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr ""
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr ""
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr ""
+"\n"
+"BSD etiketa gailuarentzat: %s\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "etiketa gabea, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "uuid-rik ez\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "orri txar gehiegi"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr ""
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "orri oker bat\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu orri oker\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr ""
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr ""
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr ""
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (%s partizio tabla atzeman da). "
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " disko guztian. "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (libblkid gabe konpilatua). "
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "fitxategi sistemaren euskarririk gabeko ezaugarriak"
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "errorea: UUIDa irakurtzean huts egin da"
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr ""
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "baliogabeko aukera"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr ""
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr ""
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr ""
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync-ek huts egin du"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Partizio zenbakia"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Soilik partizio taula inprimatu"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "Partizio taula diskoan idazten..."
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Sektore kopurua pistako"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Partizio zenbakia"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d partizio:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Partizio taula diskoan idazten..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d partizio:\n"
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr ""
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr ""
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "berirakurri partizio taula"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Ez da partiziorik definitu\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "berirakurri partizio taula"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Partizio gehiegi"
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Ez da partiziorik definitu\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s: swapon-ek huts egin du"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "berirakurri partizio taula"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " (%s partizio tabla atzeman da). "
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "%s diskak ez dauka partizio taula zuzena\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Erabilgarri dauden komandoak:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Ezin da partizu huts bat ezabatu"
+
+#: disk-utils/partx.c:832
+#, fuzzy, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "%d abiadurak ez du euskarririk"
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Ezin da '%s' (%s) raw moetako gailua aurkitu\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Ezin da raw gailu nagusia ireki '"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "Ezin da '%s' (%s) raw moetako gailua aurkitu\n"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "Ezin da '%s' (%s) raw moetako gailua aurkitu\n"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "Ezin da '%s' (%s) raw moetako gailua aurkitu\n"
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "berirakurri partizio taula"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: ez dago horrelako partiziorik\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "fitxategi sistemaren euskarririk gabeko ezaugarriak"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Memoriaz kanpo!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Ezin erabili"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Leku librea"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Diskoa aldatu egin da.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"OHARRA: DOS 6.x partizioren bat sortu edo mofidikatu baduzu,\n"
+"mesedez ikusi cfdisk-en eskuliburua\n"
+"informazio gehiagorak.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "ERRORE LARRIA"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Sakatu tekla bat cfdisk-etik irteteko"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Ezin da bilatu disko unitatean"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Ezin da disko unitatea irakurri"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Ezin da disko unitatean idatzi"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Partizio gehiegi"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Partizioa 0 sektorea baina lehenago hasten da"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Partizioa 0 sektorearen ondoren amaitzen da"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Partizioa disko-amaiera baina lehenago hasten da"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Partizioa disko-amaiera baina lehenago amaitzen da"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "partizio logikoak ez daude disko ordenean"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "partizio logikoen teilakapena"
+
+#: fdisks/cfdisk.c:872
+#, fuzzy
+msgid "enlarged logical partitions overlap"
+msgstr "partizio logikoak ez daude disko ordenean"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menu elementu luzeegia. Menuak arraroa eman dezake."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Baliogabeko tekla"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Sakatu edozein tekla jarraitzeko"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primarioa"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Sortu partizio primario berri bat"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logikoa"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Sortu partizio logiko berri bat"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Utzi"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Ez sortu partizio bat"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "Barne errorea !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Tamainua (MBtan): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Hasieran"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Gehitu partizioa leku librearen hasieran"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Amaiera"
+
+#: fdisks/cfdisk.c:1302
+#, fuzzy
+msgid "Add partition at end of free space"
+msgstr "Gehitu partizioa leku librearen hasieran"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Ez dago partizio taularik.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr ""
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Partizio taula moeta ezezaguna"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Zero taula batekin hasi nahi duzu [b/E] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Ezin da disko unitatea ireki"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Partizio primario txarra"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Partizio logiko txarra"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr ""
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "ez"
+
+#: fdisks/cfdisk.c:1707
+#, fuzzy
+msgid "Did not write partition table to disk"
+msgstr " W Partizio taula diskoan idatzi (W letra larriz)"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "bai"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Mesedez sartu `bai' edo `ez'"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Partizio taula diskoan idazten..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Partizio taula diskoan idatzi da"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Partizio taula idatzi da, baina taularen berirakurketak huts egin du. Saiatu "
+"partprobe(8) edo kpartx(8)-rekin edo berrabiarazi sistema taula berritzeko."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Sartu fitxategi izena edo sakatu INTRO pantailan erakusteko:"
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Disko unitatea: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "0 sektorea:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "%d sektorea:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Ezer "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primarioa"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logikoa"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Ezezaguna"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Abio"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Ezer"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "%s-(r)en partizio taula\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Lehena Azkena\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Moeta Sekto. Sekto. Offset-a Luzeera Fitx. Sist. Moeta(ID) "
+"Adierazlea\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----Hasiera---- ----Amaiera---- Hasi Kopurua\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Flags Head Sect Cyl ID Head Sect Cyl Sektorea Sektoreak\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Raw"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Inprimatu taula raw datu formatua erabiliz"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektoreak"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Inprimatu taula sektore bidez ordenatua"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Taula"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Soilik partizio taula inprimatu"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Ez inprimatu taula"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "cfdisk-entzat laguntza pantaila"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+"Hau cfdisk da, curses-en oinarritutako disko partizionatze programa, non "
+"honek"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+"zure diskoetan partizioak sortu, ezabatu eta modifikatzeko aukera ematen dizu"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "disko unitateetan."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Komandoak Esanahia"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Uneko partizioari abiarazgarri adierazlea jarri edo kendu"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Uneko partizioa ezabatu"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Aldatu, zilindro, buru eta sektoreak-pistako parametroak"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " ABISUA: Aukera hau aldaketak zer ekar dezakeen dakitenek"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " erabili beharko lukete soilik."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Pantaila hau erakutsi"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Uneko partizioaren disko erabilera maximora handitu"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr ""
+" Oharra: Honek DOS, OS/2 eta beste partizio moeta batzuekin"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " bateragarritasuna kendu dezake"
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Sortu partizio berria libre dagoen espaziotik"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr ""
+" p Erakutsi partizio taula pantailan edo idatzi fitxategiren batean"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr ""
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2129
+#, fuzzy
+msgid " s - Table ordered by sectors"
+msgstr "Inprimatu taula sektore bidez ordenatua"
+
+#: fdisks/cfdisk.c:2130
+#, fuzzy
+msgid " t - Table in raw format"
+msgstr "Inprimatu taula raw datu formatua erabiliz"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Irten aplikaziotik partizio taula idatzi gabe"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Aldatu fitxategi sistema moeta"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Aldatu erakusten den partizioaren tamainu unitatea"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " MB, sektore eta zilindro aukerak erakutsiko ditu"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Partizio taula diskoan idatzi (W letra larriz)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Honek diskoaren datu guztiak suntsitu ditzazkeenez"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr ""
+" konfirmazio bat eskatuko da hauetako aukera bat erabiliaz: "
+"`yes' edo"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " `ez'"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Gora gezia Mugitu kurtsorea aurreko partiziora"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Behera gezia Mugitu kurtsorea hurrengo partiziora"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Pantaila freskatu"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Pantaila hau inprimatu"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Oharra: komando guztiak letra handiz edo txikiz sartu daitezke"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "letra xeheak (idazketetarako ezik)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Zilindroak"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Aldatu zilindro geometria"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Buruak"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Aldatu buru geometria"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Aldatu sektore geometria"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Eginda"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Geometria aldaketa egina"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Sartu zilindro kopurua:"
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Sartu buru kopurua:"
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Baliogabeok buru baloreak"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Sartu pistako zenbat sektore kopurua:"
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Baliogabeko sektore baloreak"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Ezin da F.S. moeta aldatu ezerrera"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Ezin da F.S. moeta aldatu zabaldura"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Ezezaguna(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Ezezaguna (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Disko unitatea: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Tamainua: %lld byte, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Tamainua: %lld byte, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Buruak: %d Sektoreak pistako: %d Zilindroak: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Izena"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Banderak"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Partizio moeta"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "S.E. moeta"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Etiketa]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sektoreak"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Zilindroak"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Tamainua (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Tamainua (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Ez dago partizio gehiago"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Abiogarria"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Uneko partizioaren abiarazgarri adierazlea aldatu"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Ezabatu"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Ezabatu uneko partizioa"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Aldatu diskoaren geometria (erabiltzaile aurreratuak soilik)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Laguntza"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Inprimatu laguntza pantaila"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maximizatu"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Uneko partizioaren disko erabilera maximora handitu (erabiltzaile "
+"aurreratuak soilik)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Berria"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Sortu partizio berria libre dagoen espaziotik"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Inprimatu"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Erakutsi partizio taula pantailan edo idatzi fitxategiren batean"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Irten"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Irten programatik partizio taula idatzi gabe"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Moeta"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Aldatu fitxategi-sistema moeta (DOS, Linux, OS/2 eta abar)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Unitateak"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Aldatu partizioaren tamainu unitateak (MB, sektoreak, zilindroak)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Idatzi"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Idatzi partizio taula diskora (datu guztiak suntsitu ditzazke)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Ezin da partizio hau abiagarria egin"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Ezin da partizu huts bat ezabatu"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Ezin da partizio hau maximizatu"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Partizio hau ezin da erabili"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Ezin da hutsik dagoen partizio baten moeta aldatu"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Komando baliogabea"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Erabilera:\n"
+"Erakutsi bertsioa:\n"
+" %s -v\n"
+"Erakutsi partizio taula:\n"
+" %s -P {r|s|t} [aukerak] gailua\n"
+"Erabilera interaktiboa:\n"
+" %s [aukerak] gailua\n"
+"\n"
+"Aukerak:\n"
+"-a: Gezia erabili nabarmendu beharrean;\n"
+"-z: Partizio taula huts batekin hasi, partizio taula irakurri behareran;\n"
+"-c C -h H -s S: Ez egin jaramonik kernel-ak esaten duen zilindro kopuru,\n"
+" buru kopuru eta sektore/pista kopuruari buruz.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr "Sartu zilindro kopurua:"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "Ezin da '%s' zenbakia irakurri"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "Ezin da '%s' zenbakia irakurri"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD etiketa gailuarentzat: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Disko etiketa idazten %s-(e)ri.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Lehenengo %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Azken %s-(e)a edo +tamainua edo +tamainuaM edo +tamainuaK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s contains no disklabel.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "%s partizioak hasierako 0 sektore baliogabea dauka.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "%s-(r)en disko etiketa irakurtzen %d sektorean.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Ez dago *BSD partiziorik %s-(e)n.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD disko etiketa komandoa (m laguntza erakusteko):"
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "moeta: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "moeta: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "diskoa: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiketa: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "adierazgarriak:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " kengarria"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte-ak sektoreko: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektoreak pistako: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "pistak zilindroko: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektoreak/zilindroa: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "zilindroak: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "tartekatzea: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "pista skew-ea: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "zilindro skew-ea: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# milisegundu\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "pistatik pistara bilaketa: %ld\t# milisegundu\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partizio:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "byte kopurua sektoreko"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektoreak pistako"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "pistak zilindroko"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "zilindroak"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektoreak zilindroko"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+#, fuzzy
+msgid "interleave"
+msgstr "tartekatzea: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:463
+#, fuzzy
+msgid "trackskew"
+msgstr "pista skew-ea: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:464
+#, fuzzy
+msgid "cylinderskew"
+msgstr "zilindro skew-ea: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:465
+#, fuzzy
+msgid "headswitch"
+msgstr "headswitch: %ld\t\t# milisegundu\n"
+
+#: fdisks/fdiskbsdlabel.c:466
+#, fuzzy
+msgid "track-to-track seek"
+msgstr "pistatik pistara bilaketa: %ld\t# milisegundu\n"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, fuzzy, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "OS/2 Boot Manager"
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, fuzzy, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr " disko guztian. "
+
+#: fdisks/fdiskbsdlabel.c:577
+#, fuzzy, c-format
+msgid "Partition (a-%c): "
+msgstr "berirakurri partizio taula"
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Gehienezko partizio kopurua sortu da\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, fuzzy, c-format
+msgid "This partition already exists.\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Abisua: partizio gehiegi (%d, gehienezkoa %d da).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Diskak sinkronizatzen.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " b Uneko partizioari abiarazgarri adierazlea jarri edo kendu"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " b Uneko partizioari abiarazgarri adierazlea jarri edo kendu"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " b Uneko partizioari abiarazgarri adierazlea jarri edo kendu"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " u aldatu unitateak (zilindroak/sektoreak)"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr "BSD disko etiketa komandoa (m laguntza erakusteko):"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " e diskoaren data editatu"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " e diskoaren data editatu"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " b Uneko partizioari abiarazgarri adierazlea jarri edo kendu"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " b Uneko partizioari abiarazgarri adierazlea jarri edo kendu"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr "Sartu zilindro kopurua:"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d Uneko partizioa ezabatu"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr "Inprimatu taula raw datu formatua erabiliz"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr "Sartu pistako zenbat sektore kopurua:"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr "Partizio gehiegi"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e diskoaren data editatu"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr "berirakurri partizio taula"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr "berirakurri partizio taula"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr "Sartu buru kopurua:"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " t Aldatu fitxategi sistema moeta"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr "Aldatu diskoaren geometria (erabiltzaile aurreratuak soilik)"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i instalatu hasierako sekuentzia"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l zerrendatu ezagutzen diren fitxategi sistema moetak"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m menu hau erakutsi"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n BSD partizio berri bat gehitu"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr "Sortu partizio primario berri bat"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr "Bira minutuko (rpm)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Soilik partizio taula inprimatu"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q irten aldaketak gorde gabe"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r menu nagusira itzuli"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr ""
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr "Sartu pistako zenbat sektore kopurua:"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s erakutsi diskoaren etiketa guztia"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t aldatu paritzioaren fitxategi sistema IDa"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u Aldatu erakusten den partizioaren tamainu unitatea"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr "berirakurri partizio taula"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr ""
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w idatzi diskoaren etiketa diskoan"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr "Aldatu diskoaren geometria (erabiltzaile aurreratuak soilik)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x estekatu BSD partizioa BSD ez den partizio bati"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " u aldatu unitateak (zilindroak/sektoreak)"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Ezin da bilatu disko unitatean"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr " w idatzi diskoaren etiketa diskoan"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "KDGHWCLK ioctl-ek huts egin du"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Errore larria\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Komandoaren ekintza"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Ezarri egin behar duzu"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "buruak"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektoreak"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " eta "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr ""
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Kode hexadezimala (sakatu L kodeak zerrendatzeko): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr ""
+
+#: fdisks/fdisk.c:676
+#, fuzzy, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "fitxategi sistemaren euskarririk gabeko ezaugarriak"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, fuzzy, c-format
+msgid "Using default value %u\n"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: fdisks/fdisk.c:709
+#, fuzzy, c-format
+msgid "Value out of range.\n"
+msgstr "memoriatik kanpo"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Partizio zenbakia"
+
+#: fdisks/fdisk.c:747
+#, fuzzy, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Ezin da hutsik dagoen partizio baten moeta aldatu"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, fuzzy, c-format
+msgid "Selected partition %d\n"
+msgstr "berirakurri partizio taula"
+
+#: fdisks/fdisk.c:783
+#, fuzzy, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ez dago *BSD partiziorik %s-(e)n.\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "zilindroa"
+msgstr[1] "zilindroa"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektorea"
+msgstr[1] "sektorea"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr " u Aldatu erakusten den partizioaren tamainu unitatea"
+
+#: fdisks/fdisk.c:817
+#, fuzzy, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "Partizio hau ezin da erabili"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOS bateragarritasun marka ezarrita dago\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS bateragarritasun marka ez dago ezarrita\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr ""
+"\n"
+"Swap partizioak ez da swap moetakoa.\n"
+
+#: fdisks/fdisk.c:860
+#, fuzzy, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " phys=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logikoa=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr ""
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "%s partizioak hasierako 0 sektore baliogabea dauka.\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr "Unitateak: %s %d-(e)tik * %d = %d byte\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr "Unitateak: %s %d-(e)tik * %d = %d byte\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", guztira %llu sektore"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d buru, %llu sektore pistako, %d zilindro"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Unitateak: %s %d-(e)tik * %d = %d byte\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Eginda.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Gailua"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"%s diskoa: %d buru, %llu sektore, %d zilindro\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1298
+#, fuzzy, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Partizioa 0 sektorea baina lehenago hasten da"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Ezin da disko unitatean idatzi"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1393
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Diskak sinkronizatzen.\n"
+
+#: fdisks/fdisk.c:1443
+#, fuzzy, c-format
+msgid "Partition %d has no data area\n"
+msgstr ""
+"\n"
+"Swap partizioak ez da swap moetakoa.\n"
+
+#: fdisks/fdisk.c:1472
+#, fuzzy
+msgid "New beginning of data"
+msgstr " e diskoaren data editatu"
+
+#: fdisks/fdisk.c:1496
+#, fuzzy
+msgid "Expert command (m for help): "
+msgstr "BSD disko etiketa komandoa (m laguntza erakusteko):"
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Zilindro kopurua"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Buru kopurua"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Sektore kopurua pistako"
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "ezin da %s ireki\n"
+
+#: fdisks/fdisk.c:1672
+#, fuzzy, c-format
+msgid "%c: unknown command\n"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Komandoa (m laguntza erakusteko)"
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "baliogabeko aukera"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "baliogabeko aukera"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "baliogabeko aukera"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "baliogabeko aukera"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "%s diskak ez dauka partizio taula zuzena\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Ezin da partizu huts bat ezabatu"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Disko identifikatzailea: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:589
+#, fuzzy, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Azken %s-(e)a edo +tamainua edo +tamainuaM edo +tamainuaK"
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Partizio logiko txarra"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:672
+#, fuzzy, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "berirakurri partizio taula"
+
+#: fdisks/fdiskdoslabel.c:692
+#, fuzzy, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Ezin da partizu huts bat ezabatu"
+
+#: fdisks/fdiskdoslabel.c:697
+#, fuzzy, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "partizio logikoak ez daude disko ordenean"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:745
+#, fuzzy, c-format
+msgid "Adding a primary partition\n"
+msgstr "Partizio primario txarra"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "partizio logikoen teilakapena"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "Linux extended"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "%d baliogabeko ekintza\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+#, fuzzy
+msgid "Linux native"
+msgstr "Linux ext2"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"%s diskoa: %d buru, %llu sektore, %d zilindro\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"%s diskoa: %d buru, %llu sektore, %d zilindro\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektore%5u tamainua%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Uneko abio fitxategia: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Mesedez sartu abio fitxategi berriaren izena:"
+
+#: fdisks/fdisksgilabel.c:306
+#, fuzzy, c-format
+msgid "Boot file unchanged\n"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tAbio fitxategia \"%s\"-(e)ra aldatu da.\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Ez da partiziorik definitu\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:550
+#, fuzzy, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Swap partizioak ez da swap moetakoa.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tOhiz kanpoko abio fitxategi izena aukeratu duzu.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "BAI\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Partizioa disko-amaiera baina lehenago amaitzen da"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Azken %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "KDGHWCLK ioctl-ek huts egin du"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Ezarri gabea"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Disko osoa"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sectors"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Automatikoki atzeman Linux raid-ak"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s contains no disklabel.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektoreak pistako"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:354
+#, fuzzy, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Baliogabeko sektore baloreak"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, fuzzy, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Baliogabeko sektore baloreak"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:442
+#, fuzzy, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"%s diskoa: %d buru, %llu sektore, %d zilindro\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"%s diskoa: %d buru, %llu sektore, %d zilindro\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:595
+#, fuzzy
+msgid "Number of alternate cylinders"
+msgstr "Sartu zilindro kopurua:"
+
+#: fdisks/fdisksunlabel.c:607
+#, fuzzy
+msgid "Extra sectors per cylinder"
+msgstr "Sartu pistako zenbat sektore kopurua:"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Bira minutuko (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+#, fuzzy
+msgid "Number of physical cylinders"
+msgstr "Sartu zilindro kopurua:"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Hutsik"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Extended"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootable"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Hidden FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Hidden FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Hidden FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Hidden HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Hidden W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Hidden W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Hidden W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "Hidden HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD or SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 hidden C: drive"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux extended"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard ezkutua"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Non-FS data"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS secondary"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "idazketa errorea %s-(e)n\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "irakurketa errorea %s-(e)n\n"
+
+#: fdisks/sfdisk.c:328
+#, fuzzy, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "Ezin da raw gailu nagusia ireki '"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:407
+#, fuzzy, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: fdisks/sfdisk.c:424
+#, fuzzy, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:480
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr "Buruak: %d Sektoreak pistako: %d Zilindroak: %lld"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Izena\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Partizio taula berriz irakurtzen ...\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Errorea %s itxitzerakoan\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: ez dago horrelako partiziorik\n"
+
+#: fdisks/sfdisk.c:852
+#, fuzzy
+msgid "unrecognized format - using sectors\n"
+msgstr "Inprimatu taula raw datu formatua erabiliz"
+
+#: fdisks/sfdisk.c:912
+#, fuzzy, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "UTC ordua erabiltzen.\n"
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1115
+#, fuzzy
+msgid "No partitions found\n"
+msgstr "Ez dago partizio gehiago"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "Partizio taula moeta ezezaguna"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "Ez da partiziorik definitu\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Ezin da partizu huts bat ezabatu"
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "hasiera"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "amaiera"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1442
+#, fuzzy
+msgid "tree of partitions?\n"
+msgstr "Partizio gehiegi"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1577
+#, fuzzy
+msgid "strange..., an extended partition of size 0?\n"
+msgstr " u Aldatu erakusten den partizioaren tamainu unitatea"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+#, fuzzy
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr " n BSD partizio berri bat gehitu"
+
+#: fdisks/sfdisk.c:1639
+#, fuzzy, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr "Partizio taula moeta ezezaguna"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, fuzzy, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Partizio taula diskoan idazten..."
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr ""
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "sarrera okerra\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "zenbaki handiegia\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2096
+#, fuzzy
+msgid "too many input fields\n"
+msgstr "orri txar gehiegi"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Baliogabeko moeta\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2189
+#, fuzzy
+msgid "Warning: empty partition\n"
+msgstr "Ezin da partizu huts bat ezabatu"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "sarrera okerra\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "partizio gehiegi\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Erabilera:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "aukera baliogarriak:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Erabilera:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "baliogabeko lerro kopurua"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "guztira: %llu bloke\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr ""
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr ""
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr ""
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "ezin da \"%s\" ireki irakurketarako"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "ezin da \"%s\" ireki irakurketarako"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, fuzzy, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%d buru, %llu sektore pistako, %d zilindro"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Eginda\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr ""
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "ezin da %s id-a ezabatu (%s)\n"
+
+#: fdisks/sfdisk.c:3133
+#, fuzzy
+msgid "This disk is currently in use.\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Ezin da ireki"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Egoera zaharra:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Egoera berria:\n"
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Irteten - ez da ezer aldatu\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Mesedez erantzun y,n edo q\n"
+
+#: fdisks/sfdisk.c:3228
+#, fuzzy, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr "Partizio taula diskoan idatzi da"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr "Irteten - ez da ezer aldatu\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: idazketa errorea.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Erabilera: %s [aukera]\n"
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr ""
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "waitpid-ek huts egin du"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "Ez dago partizio taularik.\n"
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr ""
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+#, fuzzy
+msgid "Unknown user context"
+msgstr "renice: %s: erabiltzaile ezezaguna\n"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr ""
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "Bulegoa"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "Bulegoko telefono zenbakia"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "Etxeko telefono zenbakia"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Abortatua.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "eremua luzeegia da.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "eremua luzeegia da.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "'%c' ez dago onartuta.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' ez dago onartuta.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "'%c' ez dago onartuta.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr ""
+
+#: login-utils/chfn.c:484
+#, fuzzy, c-format
+msgid "Finger information changed.\n"
+msgstr "Irteten - ez da ezer aldatu\n"
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "Ez dago partizio taularik.\n"
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr ""
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:148
+#, fuzzy, c-format
+msgid "Changing shell for %s.\n"
+msgstr "%s-(r)en partizio taula\n"
+
+#: login-utils/chsh.c:182
+#, fuzzy
+msgid "New shell"
+msgstr "Egoera berria:\n"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "Irteten - ez da ezer aldatu\n"
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+
+#: login-utils/chsh.c:198
+#, fuzzy, c-format
+msgid "Shell changed.\n"
+msgstr "Irteten - ez da ezer aldatu\n"
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr ""
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "fsck: %s: ez da aurkitu\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "'%c' ez dago onartuta.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "[Erabili q edo Q irteteko]"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Ez dago partizio taularik.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "%s: swapon-ek huts egin du"
+
+#: login-utils/last.c:312
+#, fuzzy
+msgid " still logged in"
+msgstr "Markatu erabilia dagoela"
+
+#: login-utils/last.c:334
+#, fuzzy, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr "Partizioa 0 sektorea baina lehenago hasten da"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "errorea: uname-k huts egin du"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr ""
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "mount: ezin da %s ireki: %s"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr ""
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown-(e)k huts egin du: %s"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir()-ek huts egin du: %m"
+
+#: login-utils/login.c:374
+#, fuzzy
+msgid "FATAL: bad tty"
+msgstr "fitxategi luzeera okerra"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, fuzzy, c-format
+msgid "Last login: %.*s "
+msgstr " Lehena Azkena\n"
+
+#: login-utils/login.c:533
+#, fuzzy, c-format
+msgid "from %.*s\n"
+msgstr "%s-(e)tik renice-ea\n"
+
+#: login-utils/login.c:536
+#, fuzzy, c-format
+msgid "on %.*s\n"
+msgstr " disko guztian. "
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "huts egin da stdout-era idazten"
+
+#: login-utils/login.c:643
+#, fuzzy, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "%s-(r)en disko etiketa irakurtzen %d sektorean.\n"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:651
+#, fuzzy, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr " disko guztian. "
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:657
+#, fuzzy, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr " disko guztian. "
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr ""
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr ""
+
+#: login-utils/login.c:745
+#, fuzzy, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, fuzzy, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr "Pasahitz okerra."
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:854
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr "Pasahitz okerra."
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1137
+#, fuzzy, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "stat-ek huts egin du: %s"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr ""
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid()-k huts egin du"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Posta elektroniko berria duzu.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid()-k huts egin du"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr ""
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr ""
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "<i> (ez dago iradokizunik) </i>"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Pasahitza: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "ezin da %s ireki"
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr ""
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid()-k huts egin du"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "ezin da %s ireki"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr ""
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid()-k huts egin du"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "exec %s-(e)k huts egin du"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "ezin da %s ireki"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "ezin da %s id-a ezabatu (%s)\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "ezin da lerroaren disziplina ezarri"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s-(e)k huts egin du.\n"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Pasahitz okerra."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "ezin da %s ireki"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "ezin da %s ireki"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "erabilera: %s aplikazioa [argumentua ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: ezin da fork egin\n"
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr ""
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr ""
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, c-format
+msgid "(or type Control-D to continue): "
+msgstr ""
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "execv-ek huts egin du"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "%s: lseek-ek huts egin du"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "%s: stat-ek huts egin du"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "%s: stat-ek huts egin du"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "baliogabeko aukera"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: ezin da %s ireki: %s"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "erro inodoa ez da direktorioa"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "stat-ek huts egin du: %s"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: stat-ek huts egin du"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: ezin dira inotify gertaerak irakurri"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "ezin da %s `timing' fitxategia ireki"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "aldatuta"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "ezin da fork egin"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "Ez dago partizio taularik.\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Baliogabeok buru baloreak"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "baliogabeko egun balorea: erabili 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr ""
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr ""
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:254
+#, fuzzy
+msgid "St. Tib's Day"
+msgstr "baliogabeko egun balorea: erabili 1-%d"
+
+#: misc-utils/findfs.c:22
+#, fuzzy, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr "Erabilera: %s LABEL=<etiketa>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "bloke gailua"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "aukera baliogarriak:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Partizio zenbakia"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr ""
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr ""
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "read-ek huts egin du: %s"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Ezabatu"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "ezezaguna"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "crc errorea"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "hexdump: ezin da %s irakurri.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc()-ek huts egin du"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Erabilgarri dauden komandoak:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "<i> (ez dago iradokizunik) </i>"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "baliogabeko id-a: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr ""
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr "Inprimatu taula sektore bidez ordenatua"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr ""
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr ""
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+#, fuzzy
+msgid "missing optstring argument"
+msgstr "col: -l baliogabeko argumentua %s.\n"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr ""
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: %s seinale ezezaguna\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "baliogabeko aukera"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: ezin da \"%s\" prozesua aurkitu\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr ""
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "erabilera: %s [ -s seinalea | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr ""
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "Partizio taula moeta ezezaguna"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "--date argumentua luzeegia da\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "socket: %s.\n"
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr ""
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr ""
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "aukera baliogarriak:"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Hurrengo fitxategia: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "baliogabeko aukera"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Partizio zenbakia"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "ezarri irakurtzeko soilik"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " kengarria"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Baliogabeko tekla"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "lortu irakurketa soilik"
+
+#: misc-utils/lsblk.c:133
+#, fuzzy
+msgid "minimum I/O size"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: misc-utils/lsblk.c:134
+#, fuzzy
+msgid "optimal I/O size"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "lortu bloke fisikoaren (sektorea) tamainua"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "lortu bloke logikoaren (sektorea) tamainua"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "lortu irakurketa soilik"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr "Aldatu diskoaren geometria (erabiltzaile aurreratuak soilik)"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Erabilgarri dauden komandoak:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "Ezin da ireki"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "ezezaguna"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Erabilera: %s [aukera]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "baliogabeko id-a: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, fuzzy, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "exec %s-(e)k huts egin du"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "erro inodoa ez da direktorioa"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "--date argumentua luzeegia da\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "sarrera okerra\n"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "idatzi"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "read-ek huts egin du: %s"
+
+#: misc-utils/uuidd.c:180
+#, fuzzy
+msgid "bad response length"
+msgstr "fitxategi luzeera okerra"
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr ""
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Ezin da %s ireki: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Ezin da %s ireki: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "%d baliogabeko ekintza\n"
+
+#: misc-utils/uuidd.c:414
+#, fuzzy, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "%s: baliogabeko %s time_t balorea\n"
+
+#: misc-utils/uuidd.c:424
+#, fuzzy, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "errorea: UUIDa irakurtzean huts egin da"
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, fuzzy, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "uuid-rik ez\n"
+msgstr[1] "uuid-rik ez\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "%d baliogabeko ekintza\n"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "sarrera okerra\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "errorea: malloc-ek huts egin du"
+
+#: misc-utils/uuidd.c:618
+#, fuzzy, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "errorea: UUIDa irakurtzean huts egin da"
+msgstr[1] "errorea: UUIDa irakurtzean huts egin da"
+
+#: misc-utils/uuidd.c:622
+#, fuzzy, c-format
+msgid "List of UUIDs:\n"
+msgstr "UUID zerrenda:\n"
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: ez da %s aurkitu"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "baliogabeko aukera"
+
+#: mount-deprecated/fstab.c:145
+#, fuzzy, c-format
+msgid "warning: error reading %s: %s"
+msgstr "errorea: malloc-ek huts egin du"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, fuzzy, c-format
+msgid "warning: can't open %s: %s"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:692
+#, fuzzy, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "%s: ezin da %s blokeo fitxategia ireki: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, fuzzy, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "%s: ezin da %s blokeo fitxategia ireki: %s\n"
+
+#: mount-deprecated/fstab.c:708
+#, fuzzy
+msgid "timed out"
+msgstr "%s: Memoriaz kanpo!\n"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount-deprecated/fstab.c:922
+#, fuzzy, c-format
+msgid "error writing %s: %s"
+msgstr "crc errorea"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: ezin da %s estekatu: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, fuzzy, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "errorea: malloc-ek huts egin du"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "errorea: malloc-ek huts egin du"
+
+#: mount-deprecated/fstab.c:978
+#, fuzzy, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "Gehitu \"%s\" hiztegiari"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "Gehitu \"%s\" hiztegiari"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: errorea %s idazten: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "ezin da lerroaren disziplina ezarri"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "ezin da lerroaren disziplina ezarri"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: ezin da fork egin: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " %s moetarekin saiatuko da\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "mount-ek huts egin du"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "memoriarik ez"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: errorea %s idazten: %s"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "Loop gailua %s da\n"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "ezin da lerroaren disziplina ezarri"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "ezin da badblocks fitxategia irakurri"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: mount-ek huts egin du"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s okupatua dago"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: %s muntau puntua ez da existitzen"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "umount: %s: ez dago montatuta"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "muntai taula beteta"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount-deprecated/mount.c:1800
+#, fuzzy, c-format
+msgid "mount: %s: unknown device"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: mount-deprecated/mount.c:1805
+#, fuzzy, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "Partizio taula moeta ezezaguna"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "bloke gailua"
+
+#: mount-deprecated/mount.c:1852
+#, fuzzy, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "ezin da badblocks fitxategia irakurri"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr ""
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "ez da ezer muntatu"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:163
+#, fuzzy
+msgid "; rest of file ignored"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "ez dago nahikoa memoria"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "ezin da lerroaren disziplina ezarri"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "ezin da lerroaren disziplina ezarri"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: ezin da fork egin: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ez dago montatuta"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: ez da %s aurkitu"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "mount: errorea %s idazten: %s"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "mount: errorea %s idazten: %s"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: %s muntau puntua ez da existitzen"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "Diskoa aldatu egin da.\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "Ezin da \"\" desmontatu\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "%s desmuntatzen saiatzen\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "fsck: %s: ez da aurkitu\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr ""
+"\n"
+"BSD etiketa gailuarentzat: %s\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "baliogabeko aukera"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "huts egin da %s exekutatzen"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "ioprio-get-ek huts egin du"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "ioprio-set-ek huts egin du"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "baliogabeko aukera"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "baliogabeko id-a: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "fitxategi luzeera okerra"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "exec %s-(e)k huts egin du"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "%s: baliogabeko %s time_t balorea\n"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "calloc-ek huts egin du"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "unshared-ek huts egin du"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "fsck: %s: ez da aurkitu\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "'%c' ez dago onartuta.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "baliogabeko lerro kopurua"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "aukera baliogarriak:"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr ""
+"Erabilera:\n"
+" %s"
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday-ek huts egin du"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr ""
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Partizio hau ezin da erabili"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "errorea %s itxitzerakoan"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "berirakurri partizio taula"
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "Ezin da ireki"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "Ezin da ireki"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "<i> (ez dago iradokizunik) </i>"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync-ek huts egin du"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "ezin da %s ireki"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "write-k huts egin du: %s"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "baliogabeko aukera"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "irakurri rtc ordua"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "msgctl-ek huts egin du"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr ""
+"Erabilera: %s%s [aukerak] [aplikazioa [aplikazioa argumentuak]]\n"
+"\n"
+"Aukerak:\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "baliogabeko id-a: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "baliogabeko id-a: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+#, fuzzy
+msgid "CD-ROM eject unsupported"
+msgstr "%d abiadurak ez du euskarririk"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "Ezin da bilatu disko unitatean"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "mount-ek huts egin du"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "huts egin da %s exekutatzen"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "ezin da %s ireki"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: %s muntau puntua ez da existitzen"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "fsck: %s: ez da aurkitu\n"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " kengarria"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "Loop gailua %s da\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "fsck: %s: ez da aurkitu\n"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "Loop gailua %s da\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "%s: %s: gailua okupatua dago"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "execv-ek huts egin du"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "huts egin da %s exekutatzen"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s: fallocate-k huts egin du"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "ezin da lerroaren disziplina ezarri"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "baliogabeko id-a"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "col: -l baliogabeko argumentua %s.\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "erro inodoa ez da direktorioa"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "waitpid-ek huts egin du"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr ""
+"Erabilera: %s%s [aukerak] [aplikazioa [aplikazioa argumentuak]]\n"
+"\n"
+"Aukerak:\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "erro inodoa ez da direktorioa"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr " %s: write-k huts egin du"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr " %s: write-k huts egin du"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "erro inodoa ez da direktorioa"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr " %s: write-k huts egin du"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "ezin da %s ireki"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "lokala"
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hardwarearen ordulariak %s data dauka\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Ordulariaren tick-ari itxaroten\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...sinkronizazioak huts egin du\n"
+
+#: sys-utils/hwclock.c:349
+#, fuzzy, c-format
+msgid "...got clock tick\n"
+msgstr "Ordulariaren tick-ari itxaroten\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f segundu\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "--date argumentua luzeegia da\n"
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+
+#: sys-utils/hwclock.c:638
+#, fuzzy, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, fuzzy, c-format
+msgid "Calling settimeofday:\n"
+msgstr "settimeofday()-ek huts egin du"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday()-ek huts egin du"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr ""
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "%s erabiltzen\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr ""
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr ""
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "baliogabeko aukera"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD erlojua\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK-ek huts egin du"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl-ek huts egin du"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "irakurri sistemaren ordua"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:280
+#, fuzzy, c-format
+msgid "%s does not have interrupt functions. "
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr "ezin da %s id-a ezabatu (%s)\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr "ezin da %s id-a ezabatu (%s)\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "Semaforo id-a: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr "ezin da %s id-a ezabatu (%s)\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "ezin da %s id-a ezabatu (%s)\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "Semaforo id-a: %d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+#, fuzzy
+msgid "invalid key"
+msgstr "Baliogabeko tekla"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "baliogabeko id-a"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+#, fuzzy
+msgid "already removed key"
+msgstr "Sakatu edozein tekla jarraitzeko"
+
+#: sys-utils/ipcrm.c:108
+#, fuzzy
+msgid "already removed id"
+msgstr "ezin da %s id-a ezabatu (%s)\n"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "seek-ek huts egin du"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid()-k huts egin du"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "baliogabeko id-a: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "%s: argumentu gehiegi\n"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "Baliogabeko tekla"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr ""
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr ""
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr ""
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "aukera baliogarriak:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, fuzzy, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "memoriatik kanpo"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:302
+#, fuzzy, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "memoriatik kanpo"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "jabea"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "konektatuta"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "deskonektatuta"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "aldatuta"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "memoriatik kanpo"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, fuzzy, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "memoriatik kanpo"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+#, fuzzy
+msgid "key"
+msgstr "Baliogabeko tekla"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+#, fuzzy
+msgid "bytes"
+msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr ""
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Ezarrigabea"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr ""
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr ""
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:432
+#, fuzzy, c-format
+msgid "max number of arrays = %d\n"
+msgstr "Sartu zilindro kopurua:"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:436
+#, fuzzy, c-format
+msgid "semaphore max value = %d\n"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:441
+#, fuzzy, c-format
+msgid "used arrays = %d\n"
+msgstr "%6ld zona erabilita (%ld%%)\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr ""
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+#, fuzzy
+msgid "last-op"
+msgstr " Lehena Azkena\n"
+
+#: sys-utils/ipcs.c:454
+#, fuzzy
+msgid "last-changed"
+msgstr " Lehena Azkena\n"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr ""
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "memoriatik kanpo"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:531
+#, fuzzy, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "lortu tamainua byte-tan"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "memoriatik kanpo"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:538
+#, fuzzy, c-format
+msgid "used headers = %d\n"
+msgstr "%6ld zona erabilita (%ld%%)\n"
+
+#: sys-utils/ipcs.c:539
+#, fuzzy, c-format
+msgid "used space = %d bytes\n"
+msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr ""
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "recv"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "aldatu"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr ""
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:564
+#, fuzzy
+msgid "used-bytes"
+msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl-ek huts egin du"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:632
+#, fuzzy, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "`%s' fitxategiak %05o modua dauka\n"
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "msgctl-ek huts egin du"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "semctl-ek huts egin du"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:690
+#, fuzzy, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "`%s' fitxategiak %05o modua dauka\n"
+
+#: sys-utils/ipcs.c:692
+#, fuzzy, c-format
+msgid "nsems = %ld\n"
+msgstr "%ld inodo\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "balioa"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr ""
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "baliogabeko id-a: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "baliogabeko aukera"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "baliogabeko aukera"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "ezin da lerroaren disziplina ezarri"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr ""
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "%d abiadurak ez du euskarririk"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "ezin da lerroaren disziplina ezarri"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "Ezin da ireki"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ""
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ""
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr " t Aldatu fitxategi sistema moeta"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: stat-ek huts egin du"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s: stat-ek huts egin du"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "memoriarik ez"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr ""
+"\n"
+"BSD etiketa gailuarentzat: %s\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "berirakurri partizio taula"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: mount-ek huts egin du"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "ez"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "lortu bloke logikoaren (sektorea) tamainua"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "lortu bloke logikoaren (sektorea) tamainua"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "errorea: uname-k huts egin du"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "CPUaren op-modua(k):"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+#, fuzzy
+msgid "CPU(s):"
+msgstr "CPU socketak:"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "Core bakoitzeko hari kopurua:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "Socket bakoitzeko core kopurua:"
+
+#: sys-utils/lscpu.c:1160
+#, fuzzy
+msgid "Socket(s) per book:"
+msgstr "Socket bakoitzeko core kopurua:"
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "CPU socketak:"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "NUMA noduak:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "Fabrikatzailearen IDa:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "CPU familia:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Modeloa:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "Stepping-a:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "Birtualizazioa:"
+
+#: sys-utils/lscpu.c:1188
+#, fuzzy
+msgid "Hypervisor:"
+msgstr "Hypervisor-earen fabrikatzailea:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Hypervisor-earen fabrikatzailea:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Birtualizazio moeta:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "%s cachea:"
+
+#: sys-utils/lscpu.c:1206
+#, fuzzy, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "NUMA noduak:"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr "Irteten - ez da ezer aldatu\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr ""
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr ""
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s-(e)tik renice-ea\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "crc errorea"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "Diskoa aldatu egin da.\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: ezin da %s ireki: %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "Diskoa aldatu egin da.\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "%s: ezin da %s estekatu: %s\n"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "%s: ezin da %s estekatu: %s\n"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "%s: ezin da %s estekatu: %s\n"
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr " t Aldatu fitxategi sistema moeta"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: ezin da %s estekatu: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: mount-ek huts egin du"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "mount-ek huts egin du"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: mount-ek huts egin du"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "erro inodoa ez da direktorioa"
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr ""
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s okupatua dago"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "Diskoa aldatu egin da.\n"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "Diskoa aldatu egin da.\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: %s muntau puntua ez da existitzen"
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr ""
+"\n"
+"Ez da swap partiziorik existitzen.\n"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "mount-ek huts egin du"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "umount: %s: ez dago montatuta"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "umount: %s: ez dago montatuta"
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "hexdump: ezin da %s irakurri.\n"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "Partizio taula moeta ezezaguna"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "ezin da badblocks fitxategia irakurri"
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "ezin da \"%s\" ireki irakurketarako"
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr ""
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr ""
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: mount-ek huts egin du"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "erro inodoa ez da direktorioa"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s montatua dago.\t"
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr ""
+"Erabilera: %s%s [aukerak] [aplikazioa [aplikazioa argumentuak]]\n"
+"\n"
+"Aukerak:\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld bloke\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS secondary"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "Tamainua (MBtan): "
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "Sartu zilindro kopurua:"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "Sartu zilindro kopurua:"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr ""
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr ""
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Baliogabeko tekla"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "bloke gailua"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Unitateak"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "aukera baliogarriak:"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Erabilera: %s [aukera]\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr "aukera baliogarriak:"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "aukera baliogarriak:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Lehena Azkena\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "crc errorea"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "lerro luzeegia"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr ""
+"\n"
+"BSD etiketa gailuarentzat: %s\n"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr ""
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "guztira"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr "Irteten - ez da ezer aldatu\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "%s-(e)tik renice-ea\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "renice: %s: balio okerra\n"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "erabiltzailea"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: %d prioritate zaharra, %d prioritate berria\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "irakurri rtc ordua"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "irakurri sistemaren ordua"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "%s: baliogabeko %s time_t balorea\n"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "ezarri rtc alarma"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "ezarri rtc alarma"
+
+#: sys-utils/rtcwake.c:248
+#, fuzzy
+msgid "set rtc wake alarm failed"
+msgstr "ezarri rtc alarma"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "ezarri rtc alarma"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "%s: baliogabeko %s time_t balorea\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "sarrera okerra\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "baliogabeko aukera"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "baliogabeko aukera"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "UTC ordua erabiltzen.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Ordu lokala erabiltzen.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: ezin dira inotify gertaerak irakurri"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "huts egin da %s exekutatzen"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "read-ek huts egin du: %s"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, fuzzy, c-format
+msgid "Switching on %s.\n"
+msgstr " disko guztian. "
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+"Erabilera: %s%s [aukerak] [aplikazioa [aplikazioa argumentuak]]\n"
+"\n"
+"Aukerak:\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr ""
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "%s: argumentu gehiegi\n"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "erabilera: %s aplikazioa [argumentua ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid()-k huts egin du"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "execvp-ek huts egin du"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s %s-(e)-n\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "Ez zara super-erabiltzailea"
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: swapoff-ek huts egin du"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d Uneko partizioa ezabatu"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Markatu erabilia dagoela"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: reinitializing the swap."
+msgstr "Linux swap"
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "execv-ek huts egin du"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: lseek-ek huts egin du"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "berdina"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s %s-(e)-n\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s: swapon-ek huts egin du"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Erabilgarri dauden komandoak:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr ""
+"\n"
+"BSD etiketa gailuarentzat: %s\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "%s: stat-ek huts egin du"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "erro inodoa ez da direktorioa"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "%s desmuntatzen saiatzen\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr ""
+"Erabilera: %s%s [aukerak] [aplikazioa [aplikazioa argumentuak]]\n"
+"\n"
+"Aukerak:\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "%s-(e)k huts egin du.\n"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr "Inprimatu taula sektore bidez ordenatua"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "renice: %s: balio okerra\n"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s ez da lp gailua.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "LPGETIRQ errorea"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s-(r)en egoera %d da."
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ""
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", prest"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", paperik gabe"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", linean"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", errorea"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "msgctl-ek huts egin du"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ errorea"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s %d IRQ-a erabiltzen\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s azterketa erabiltzen\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "mount-ek huts egin du"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: mount-ek huts egin du"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "hexdump: ezin da %s irakurri.\n"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr ""
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr ""
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "erabilera: %s aplikazioa [argumentua ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "unshared-ek huts egin du"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "%s-(e)k huts egin du.\n"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr ""
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr ""
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "bloke gailua"
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr ""
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: Komando ezezaguna: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "Loop gailua %s da\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Erabilgarri dauden komandoak:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: %s seinale ezezaguna\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f segundu\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "%s: Memoriaz kanpo!\n"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Gailua"
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr ""
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: ezin da %s-(r)engan exec egin: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s: ezin da %s-(r)engan exec egin: %m"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: ezin da \"%s\" prozesua aurkitu\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ezin da %s-(r)engan exec egin: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: term-utils/agetty.c:654
+#, fuzzy, c-format
+msgid "bad timeout value: %s"
+msgstr "renice: %s: balio okerra\n"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "abiadura okerra: %s"
+
+#: term-utils/agetty.c:769
+#, fuzzy
+msgid "too many alternate speeds"
+msgstr "orri txar gehiegi"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr ""
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr ""
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr ""
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr ""
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "moeta: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: irakurri: %m"
+
+#: term-utils/agetty.c:1444
+#, fuzzy, c-format
+msgid "%s: input overrun"
+msgstr "sarrera okerra\n"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "erabiltzailea"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "erabiltzaileak"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "aukera baliogarriak:"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "unshared-ek huts egin du"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "%s montatua dago.\t"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "%s montatua dago.\t"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "%s: get size egiterakoan huts egin da"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "baliogabeko id-a: %s\n"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:365
+#, fuzzy, c-format
+msgid "Script started on %s"
+msgstr " disko guztian. "
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "ezin da %s `typescript' fitxategia ireki"
+
+#: term-utils/script.c:481
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr " disko guztian. "
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "stat-ek huts egin du: %s"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "%s: Memoriaz kanpo!\n"
+
+#: term-utils/scriptreplay.c:42
+#, fuzzy, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr "ezin da %s `typescript' fitxategia ireki"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "huts egin da stdout-era idazten"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "Ezin da raw gailu nagusia ireki '"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "crc errorea"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Disko etiketa idazten %s-(e)ri.\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "read-ek huts egin du: %s"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr ""
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: %s seinale ezezaguna\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+
+#: term-utils/ttymsg.c:87
+#, fuzzy, c-format
+msgid "excessively long line arg"
+msgstr "hexdump: lerroa luzeegia da.\n"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "ezin da fork egin"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "renice: %s: balio okerra\n"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr ""
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr ""
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "read-ek huts egin du: %s"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr ""
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr ""
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr ""
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "Markatu erabilia dagoela"
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr ""
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr ""
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Sarrera lerro luzeegia.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr ""
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr ""
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "calloc-ek huts egin du"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: idazketa errorea.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: -l baliogabeko argumentua %s.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "lehen lerroaren ondoren"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- lerroa dagoeneko garbituta"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "aukera baliogarriak:"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "sarrera okerra\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "sarrera okerra\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "baliogabeko aukera"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "ezarri rtc alarma"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: \"-%c\" aukera ezezaguna\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: direktorioa ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Ez da testu fitxategia ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Erabili q edo Q irteteko]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Gehiago--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Hurrengo fitxategia: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Sakatu zuriune-barra jarraitzeko, 'q' irteteko.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "... %d orri atzera"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...orri bat atzera"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...saltatu lerro bat"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...saltatu %d lerro"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Atzera***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Ez dago aurreko fitxategirik"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Sakatu 'h' argibideentzat.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" %d lerroa"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Ez da fitxategia] %d lerroa"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Gainezkatzea\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...salto egiten\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Patroia ez da aurkitu\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Patroia ez da aurkitu"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "exec-ek huts egin du\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "ezin da fork egin\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...salto egiten"
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...fitxategira salto egiten"
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...atzera fitxategira salto egiten"
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Lerroa luzeegia da"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/parse.c:67
+#, fuzzy
+msgid "line too long"
+msgstr "Lerroa luzeegia da"
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr ""
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr ""
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr ""
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: {%s} formatu okerra\n"
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr ""
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr ""
+" p Erakutsi partizio taula pantailan edo idatzi fitxategiren batean"
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr ""
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr ""
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: aukerak argumentua behar du -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: baimenik gabeko aukera -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...aurrera saltatzen\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...atzera saltatzen\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Ez da testu fitxategia"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Ez dago aurreko fitxategirik"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Errorea %s fitxategia irakurtzen\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Ezin da aldi baterako fitxategia sortu\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "RE errorea: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "ezin da %s ireki"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "gordeta"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork()-ek huts egin du, saiatu beranduago\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Hurrengo fitxategia: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "Ez da --date aukerarik zehaztu.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "arazoa terminfo irakurtzen"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr ""
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Sarrera lerro luzeegia.\n"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s: open-ek huts egin du"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "Ezin da '%s' fitxategia ireki"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "Ezin da '%s' (%s) raw moetako gailua aurkitu\n"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Ezin da '%s' fitxategia ireki"
+
+#~ msgid "open failed: %s"
+#~ msgstr "open-ek huts egin du: %s"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "cannot stat device %s"
+#~ msgstr "Ezin da '%s' (%s) raw moetako gailua aurkitu\n"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "ezin da `stat' egin \"%s\"-(r)engan"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Ezin da '%s' fitxategia ireki"
+
+#~ msgid "unable to open %s"
+#~ msgstr "ezin da %s ireki"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "Ezin da ireki"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "Ezin da '%s' fitxategia ireki"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Ezin da '%s' fitxategia ireki"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "fsck: %s: ez da aurkitu\n"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "ezin da `stat' egin \"%s\"-(r)engan"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s: stat-ek huts egin du"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Ezin da /dev/port ireki: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "%s-(r)engan open() egiteak huts egin du"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "%s-(e)ren irekierak huts egin du"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Ezin da %s ireki"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "stat-ek huts egin du: %s"
+
+#~ msgid "cannot open timing file %s"
+#~ msgstr "ezin da %s `timing' fitxategia ireki"
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "ezin da %s `typescript' fitxategia ireki"
+
+#~ msgid "Cannot open "
+#~ msgstr "Ezin da ireki"
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "ezin da \"%s\" ireki irakurketarako"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "ezin da `stat' egin \"%s\"-(r)engan"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Erabilera: %s [-larvsmf] /dev/izena\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "Ezin da '%s' (%s) raw moetako gailua aurkitu\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "%s diskak ez dauka partizio taula zuzena\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Ezin da %s ireki\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "memoriarik ez?\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "Ezin da '%s' fitxategia ireki"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "ezin da %s ireki"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "memoriatik kanpo"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Baliogabeko zilindro baloreak"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr "Irteten - ez da ezer aldatu\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "baliogabeko abiadura: %s"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Baliogabeko zilindro baloreak"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Baliogabeko zilindro baloreak"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr "Irteten - ez da ezer aldatu\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "ezin da %s ireki"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "Ezin da '%s' fitxategia ireki"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr "Irteten - ez da ezer aldatu\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "--date argumentua luzeegia da\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "%s: get size egiterakoan huts egin da"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "renice: %s: balio okerra\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "renice: %s: balio okerra\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Erabilera: %s [-zenbakia] [-p katea] [-cefnrs] [+lerroa] [+/patroia/] "
+#~ "[fitxategiak]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "crc errorea"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "%s: fork-ek huts egin du: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "%s-(e)k huts egin du.\n"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d BSD partizio bat ezabatu"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l zerrendatu ezagutzen diren fitxategi sistema moetak"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n BSD partizio berri bat gehitu"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p BSD partizio taula erakutsi"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t aldatu paritzioaren fitxategi sistema IDa"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u aldatu unitateak (zilindroak/sektoreak)"
+
+#, fuzzy
+#~ msgid " p print the partition table"
+#~ msgstr "Soilik partizio taula inprimatu"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Barne errorea\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "memoriarik ez - uzten\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr "Irteten - ez da ezer aldatu\n"
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "Ez dago partizio taularik.\n"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "semctl-ek huts egin du"
+
+#, fuzzy
+#~ msgid "Illegal username"
+#~ msgstr "Baliogabeko tekla"
+
+#, fuzzy
+#~ msgid "Login incorrect\n"
+#~ msgstr "Pasahitz okerra."
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "%s: get size egiterakoan huts egin da"
+
+#~ msgid "NAME too long"
+#~ msgstr "IZENA luzeegia"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "lerro luzeegia"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "orri txar gehiegi"
+
+#, fuzzy
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr " disko guztian. "
+
+#~ msgid "calloc failed"
+#~ msgstr "calloc-ek huts egin du"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "%s diskak ez dauka partizio taula zuzena\n"
+
+#~ msgid "%s: write failed"
+#~ msgstr " %s: write-k huts egin du"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr ""
+#~ "\n"
+#~ "Ez da swap partiziorik existitzen.\n"
+
+#, fuzzy
+#~ msgid ", encryption type %d\n"
+#~ msgstr "Partizio moeta"
+
+#, fuzzy
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "Ezin da raw gailu nagusia ireki '"
+
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Memoriaz kanpo pasahitza irakurtzen zen bitartean"
+
+#, fuzzy
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "Loop gailua %s da\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr "Irteten - ez da ezer aldatu\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr "erabilera: zutabea [-tx] [-c zutabeak] [fitxategia ...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Ezin da %s ireki: %s\n"
+
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: ezin da %s blokeo fitxategia ireki: %s\n"
+
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: zenbaki okerra: %s\n"
+
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s: fork-ek huts egin du: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr "Irteten - ez da ezer aldatu\n"
+
+#, fuzzy
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "Partizio taula moeta ezezaguna"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s-(e)tik renice-ea\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile: errorea %s idazten: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr "Irteten - ez da ezer aldatu\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "erabilera: %s aplikazioa [argumentua ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Erabilera: %s <gailua> [ -i <IRQa> | -t <DENBORA> | -c <KARAKTEREAK> | -w "
+#~ "<ITXAROTE DENBORA> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: balio okerra\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr "Ezin da '%s' fitxategia ireki"
+
+#, fuzzy
+#~ msgid "Warning: partition %s "
+#~ msgstr "berirakurri partizio taula"
+
+#, fuzzy
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Partizio gehiegi"
+
+#, fuzzy
+#~ msgid "and %s overlap\n"
+#~ msgstr "partizio logikoen teilakapena"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "gailua: /dev/hda edo /dev/sda moduko zerbait"
+
+#~ msgid "%zd bytes ["
+#~ msgstr "%zd byte ["
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "aukera baliogarriak:"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Erabilera: %s [aukerak] gailua ...\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [gailuak]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] komandoak gailuak\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Erabilgarri dauden komandoak:\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "Ezin da ireki"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "crc errorea"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "erabilera: %s [ -n] gailua\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc-ek huts egin du"
+
+#, fuzzy
+#~ msgid "%s: option parse error\n"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Erabilera: %s [-x] [-d <zenbakia>] iso9660-irudia\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Erabilera: %s [-v] [-N inodo-kopurua] [-V bolumen-izena]\n"
+#~ " [-F fs-izena] gailua [bloke-kopurua]\n"
+
+#, fuzzy
+#~ msgid "unable to stat %s"
+#~ msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: fork-ek huts egin du: %s\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Erabilera: %s [-c] [-pORRITAMAINUA] [-L etiketa] [-U UUID] /dev/izena "
+#~ "[blokeak]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Memoriarik ez"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "Erabilera:\n"
+#~ " %s"
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Norabide gabeko menua. Horizontala lehenetsiko da."
+
+#, fuzzy
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr "Sortu partizio primario berri bat"
+
+#, fuzzy
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr ""
+#~ " p Erakutsi partizio taula pantailan edo idatzi fitxategiren "
+#~ "batean"
+
+#, fuzzy
+#~ msgid " -v [or --version]: print version"
+#~ msgstr "Ez inprimatu taula"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s-(e)tik renice-ea\n"
+
+#, fuzzy
+#~ msgid "can't malloc initstring"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "erabilera: %s [ -n] gailua\n"
+
+#, fuzzy
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "crc errorea"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "erabilera: %s [fitxategia]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "hexdump: ezin da %s irakurri.\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "memoriatik kanpo?"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "erabilera: script-a [-a] [-f] [-q] [-t] [fitxategia]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "crc errorea"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "crc errorea"
+
+#, fuzzy
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#, fuzzy
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " disko guztian. "
+
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Erabilera: %s [-r] [-t]\n"
+
+#~ msgid "unknown\n"
+#~ msgstr "ezezaguna\n"
+
+#, fuzzy
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "%s-(r)en partizio taula\n"
+
+#, fuzzy
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#, fuzzy
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "crc errorea"
+
+#, fuzzy
+#~ msgid "error opening fifo\n"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#, fuzzy
+#~ msgid "error running finalprog\n"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#, fuzzy
+#~ msgid "error forking finalprog\n"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Pasahitz okerra.\n"
+
+#, fuzzy
+#~ msgid "lstat of path failed\n"
+#~ msgstr "%s: get size egiterakoan huts egin da"
+
+#~ msgid "fork failed\n"
+#~ msgstr "fork-ek huts egin du\n"
+
+#, fuzzy
+#~ msgid "cannot open inittab\n"
+#~ msgstr "Ezin da '%s' fitxategia ireki"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "Gelditutako gailua: %s\n"
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Erabilera: %s [-c] [-n maila] [-r] [-s buffer-aren tamainua]\n"
+
+#~ msgid "error: strdup failed"
+#~ msgstr "errorea: strdup-ek huts egin du"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "usage: zutabea [-bfpx] [-l lerro zenbakia]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "erabilera: %s [ - ] [ -2 ] [ fitxategia ... ]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr ""
+#~ "erabilera: %s [-dflpcsu] [+lerrozenbakia | +/patroia] izena1 izena2 ...\n"
+
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "huts egin da lerro buffer-a hasieratzen\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: ezin da %s irakurri.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: lerroa luzeegia da.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "erabilera: %s [fitxategia]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "malloc-ek huts egin du"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "erabilera: tailf [-n N | -N] fitxategia"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "erabilera: %s [ -i ] [ -tTerm ] fitxategia...\n"
+
+#, fuzzy
+#~ msgid "Unable to open %s\n"
+#~ msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#, fuzzy
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#, fuzzy
+#~ msgid "last: gethostname"
+#~ msgstr " Lehena Azkena\n"
+
+#, fuzzy
+#~ msgid "login: Out of memory\n"
+#~ msgstr "memoriatik kanpo"
+
+#, fuzzy
+#~ msgid "No directory %s!\n"
+#~ msgstr "<i> (ez dago iradokizunik) </i>"
+
+#, fuzzy
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "Ez dago partizio taularik.\n"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#, fuzzy
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "ezin da badblocks fitxategia irakurri"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "crc errorea"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "crc errorea"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " eta "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: erabiltzaile ezezaguna\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: balio okerra\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; ikusi strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Partizioa azken partizio zilindroan amaitzen da"
+
+#, fuzzy
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: Memoriaz kanpo!\n"
+
+#~ msgid "strdup failed"
+#~ msgstr "strdup-ek huts egin du"
+
+#, fuzzy
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "Baliogabeko zilindro baloreak"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: baliogabeko %s time_t balorea\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "ezin dira bootbit sektoreak ezabatu"
+
+#~ msgid "rtc read"
+#~ msgstr "rtc irakurrita"
+
+#~ msgid "malloc error"
+#~ msgstr "errorea memoria esleitzen"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "erabilera: zutabea [-tx] [-c zutabeak] [fitxategia ...]\n"
+
+#~ msgid "Out of memory\n"
+#~ msgstr "Memoriatik kanpo\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "erabilera: rev [fitxategia ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Huts egin da buffer-a hasieratzen.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Memoriarik ez buffer-a hazterakoan.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: baliogabeko aukera -- %c\n"
+
+#, fuzzy
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#, fuzzy
+#~ msgid "pages resident %ld\n"
+#~ msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#, fuzzy
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "errorea: malloc-ek huts egin du"
+
+#~ msgid "current"
+#~ msgstr "unekoa"
+
+#~ msgid "new"
+#~ msgstr "berria"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "erabilera : %s -asmq -tclup \n"
+
+#, fuzzy
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "baliogabeko id-a: %s\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h laguntzarako.\n"
+
+#~ msgid "error: %s"
+#~ msgstr "errorea: %s"
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "crc errorea"
+
+#~ msgid "missing comma"
+#~ msgstr "koma falta da"
+
+#~ msgid "out if memory"
+#~ msgstr "memoriatik kanpo"
+
+#~ msgid "Password error."
+#~ msgstr "Pasahitz errorea."
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" disketea"
diff --git a/po/fi.gmo b/po/fi.gmo
new file mode 100644
index 0000000..ae788aa
--- /dev/null
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 0000000..1ae6133
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,18262 @@
+# Finnish messages for util-linux
+# This file is distributed under the same license as the util-linux package.
+# Copyright © 2002-2003, 2005, 2007-2009 Lauri Nurmi <lanurmi@iki.fi>
+# Lauri Nurmi <lanurmi@iki.fi>, 2002-2003, 2005, 2007-2009.
+#
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided, that this
+# header is not removed and modified versions are marked
+# as such.
+#
+# Tätä tiedostoa ja muutettuja versioita saa kopioida
+# ja levittää vapaasti edellyttäen, että tätä otsikkoa
+# ei poisteta, ja muutetut versiot merkitään muutetuiksi.
+#
+# ***
+# "signature" tarvitsee paremman suomennoksen kuin "allekirjoitus".
+# ***
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.17-rc3\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2009-12-16 21:30+0200\n"
+"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
+"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "laitetta %s ei voi avata"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "virheellinen valitsin"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "virheellinen valitsin"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "virheellinen valitsin"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "lue osiotaulu uudelleen"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "aseta vain luku -tilaan"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "aseta luku-kirjoitus-tilaan"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "hae vain luku -tila"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+#, fuzzy
+msgid "get logical block (sector) size"
+msgstr "hae sektorikoko"
+
+#: disk-utils/blockdev.c:93
+#, fuzzy
+msgid "get physical block (sector) size"
+msgstr "hae sektorikoko"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "hae vähimmäis-I/O-koko"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "hae paras I/O-koko"
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "virheellinen i-solmun koko"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "Ylimääräisiä sektoreita sylinterillä"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "hae lohkokoko"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "aseta lohkokoko"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "hae 32-bittinen sektorimäärä"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "hae koko tavuina"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "aseta lukuennakko"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "hae lukuennakko"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "aseta tiedostojärjestelmän lukuennakko"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "hae tiedostojärjestelmän lukuennakko"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "tyhjennä puskurit"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "lue osiotaulu uudelleen"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "hae koko 512-tavuisina sektoreina"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Levyn kokoa ei voi hakea"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Tuntematon komento: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s vaatii argumentin\n"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s epäonnistui.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s onnistui.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: ioctl-virhe laitteessa %s\n"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ AlkuSekt Koko Laite\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "käyttö: sfdisk --id laite osionumero [Id]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "lue osiotaulu uudelleen"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "käyttö:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tNOTE: elvtune toimii vain 2.4-sarjan ytimillä\n"
+
+#: disk-utils/elvtune.c:116
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s ei ole lohkolaite eikä tiedosto\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Alustetaan... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "valmis\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Varmistetaan... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Luku: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Ongelma luettaessa sylinteriä %d, odotettiin %d, luettiin %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"viallista dataa sylinterissä %d\n"
+"Jatketaan... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s – %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "stat epäonnistui: %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: ei ole lohkolaite\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Nykyistä alustustyyppiä ei voi määrittää"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%spuoleinen, %d uraa, %d sektoria/ura. Kokonaistila %d kt.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Kaksi"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Yksi"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s on liitetty.\t "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "fsck: %s: ei löytynyt\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "siirtymisvirhe"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Synkronoidaan levyt.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s onnistui.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "%s epäonnistui.\n"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "siirtymisvirhe"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "fsck: %s: ei löytynyt\n"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "haarauttaminen epäonnistui\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "openpty epäonnistui\n"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() epäonnistui"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: virhe %d purettaessa! %p(%d)\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s ei ole lp-laite.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: tuntematon tiedostojärjestelmän tyyppi ”%s”"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "Puskuria ei voi varata.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Pakotetaan tiedostojärjestelmän tarkistus laitteella %s.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: liian monta laitetta\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "Onkohan /proc liitetty?\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Irrotetaan jäljellä olevat tiedostojärjestelmät..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Irrotetaan jäljellä olevat tiedostojärjestelmät..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: tuntematon argumentti: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: varoitus--tiedostojärjestelmän kokoa ei voi määrittää \n"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "ei ole lohkolaite eikä tiedosto: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "tiedosto on liian lyhyt"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "lukeminen epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "superlohkon taikalukua ei löytynyt"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "superlohkon koko (%d) on liian pieni"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "varoitus: tiedosto jatkuu tiedostojärjestelmän lopun yli\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "crc-virhe"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " reikä kohdassa %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " puretaan paikkaan %2$ld lohkoa %1$ld (%3$ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "ei-lohko (%ld) tavua"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "ei-koko (%ld vs %ld) tavua"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "kirjoittaminen epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "tiedostonimen pituus on nolla"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "virheellinen tiedostonimen pituus"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "virheellinen i-solmun siirtymä"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "tiedoston i-solmun siirtymä on nolla mutta koko ei ole nolla"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "tiedoston i-solmun koko on nolla mutta siirtymä ei ole nolla"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "symbolisen linkin siirtymä on nolla"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "symbolisen linkin koko on nolla"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "kokovirhe symlinkissä: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync epäonnistui"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "pistokkeen koko ei ole nolla: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "virheellinen tila: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: virheellinen cramfs--hakemistodatan loppu (%ld) != tiedostodatan alku "
+"(%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:625
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: virheellinen cramfs--virheellinen tiedostodatan siirtymä\n"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "käännetty ilman -x-tukea"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file dumptiedostonimi ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "vuorovaikutteisiin korjauksiin tarvitaan pääte"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s on liitetty.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Haluatko varmasti jatkaa"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "tarkistus keskeytetty.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Vyöhykenumero < FIRSTZONE tiedostossa ”%s”."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Vyöhykenumero ≥ ZONES tiedostossa ”%s”."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Poista lohko"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Lukuvirhe: siirtyminen lohkoon ei onnistu tiedostossa ”%s”\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Lukuvirhe: viallinen lohko tiedostossa ”%s”\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Sisäinen virhe: yritetään kirjoittaa viallista lohkoa\n"
+"Kirjoituspyyntöä ei huomioida\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "siirtyminen epäonnistui funktiossa write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Kirjoitusvirhe: viallinen lohko tiedostossa ”%s”\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "siirtyminen epäonnistui funktiossa write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "superlohkon kirjoitus ei onnistu"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "I-solmukarttaa ei voi kirjoittaa"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Vyöhykekartan kirjoitus ei onnistu"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "I-solmuja ei voi kirjoittaa"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "siirtyminen epäonnistui"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "kartoille ei voi varata puskureita"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "superlohkoa ei voi lukea"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "virheellinen taikaluku superlohkossa"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Vain 1k-lohkot/vyöhykkeet ovat tuettuja"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "virheellinen s_imap_blocks-kenttä superlohkossa"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "virheellinen s_zmap_blocks-kenttä superlohkossa"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "I-solmukartalle ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Vyöhykekartalle ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "I-solmuille ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "I-solmujen laskemiseen ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Vyöhykkeen laskemiseen ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "I-solmukarttaa ei voi lukea"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Vyöhykekarttaa ei voi lukea"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "I-solmuja ei voi lukea"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Varoitus: Ensimmäinenvyöhyke != Norm_ensimmäinenvyöhyke\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld i-solmua\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld lohkoa\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Ensimmäinendatavyöhyke=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Vyöhykekoko=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxkoko=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Tied.järj. tila=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"nimenpituus=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Käyttämättömäksi merkittyä i-solmua %d käytetään tiedostoon ”%s”\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Merkitse käyttöön"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Tiedostolla ”%s” on tila %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Varoitus i-solmujen määrä on liian suuri.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Lohkoa on käytetty aikaisemmin. Nyt tiedostossa ”%s”."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Tyhjennä"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Lohko %d tiedostossa ”%s” on merkitty käyttämättömäksi."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Korjaa"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+"Hakemisto ”%s” sisältää virheellisen i-solmunumeron tiedostolle ”%.*s”."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Poista"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: viallinen hakemisto: ”.” ei ole ensimmäisenä\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: viallinen hakemisto: ”..” ei ole toisena\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "sisäinen virhe"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: viallinen hakemisto: koko < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "siirtyminen epäonnistui funktiossa bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "I-solmun %d tila ei ole tyhjennetty."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "I-solmua %d ei käytetä, merkitty käytetyksi bittikartassa."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "I-solmu %d käytössä, merkitty käyttämättömäksi bittikartassa."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Aseta"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "I-solmu %d (tila = %07o), i_linkkimäärä=%d, laskettu=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Aseta i_linkkimäärä lasketun mukaiseksi"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Vyöhyke %d: merkitty käyttöön, mutta mikään tiedosto ei käytä sitä."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Poista merkintä"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Vyöhyke %d: käytössä, laskettu=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Vyöhyke %d: ei käytössä, laskettu=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "virheellinen i-solmun koko"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "virheellinen v2 i-solmun koko"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "vuorovaikutteisiin korjauksiin tarvitaan pääte"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "laitetta %s ei voi avata"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s on puhdas, ei tarkistusta.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Pakotetaan tiedostojärjestelmän tarkistus laitteella %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Tiedostojärjestelmä laitteella %s on likainen, vaatii tarkistuksen.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld i-solmua käytetty (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld vyöhykettä käytetty (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d tavallista tiedostoa\n"
+"%6d hakemistoa\n"
+"%6d merkkilaitetiedostoa\n"
+"%6d lohkolaitetiedostoa\n"
+"%6d linkkiä\n"
+"%6d symbolista linkkiä\n"
+"------\n"
+"%6d tiedostoa\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"--------------------------------\n"
+"TIEDOSTOJĂ„RJESTELMĂ„Ă„ ON MUUTETTU\n"
+"--------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: virhe siirryttäessä tiedostossa %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: virhe luettaessa tiedostoa %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektorimäärä: %d, sektorikoko: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "virheellinen rivien määrä"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "osionimi on liian pitkä"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "tiedostojärjestelmän nimi on liian pitkä"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ei ole lohkolaite"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "virheellinen valitsin"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "laitteen %s kokoa ei voi hakea"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "blocks-argumentti on liian suuri, maksimi on %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "liian monta i-solmua – maksimi on 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "tila ei riitä, vaaditaan vähintään %llu lohkoa"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Laite: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Osio: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Tiedjärj.nimi: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "LohkoKoko: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "I-solmuja: %d (1 lohkossa)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "I-solmuja: %d (%lld lohkossa)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Lohkot: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "I-solmun loppu: %d, Datan loppu: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "virhe kirjoitettaessa superlohkoa"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "virhe kirjoitettaessa juuren i-solmua"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "virhe kirjoitettaessa i-solmua"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "siirtymisvirhe"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "virhe kirjoitettaessa ”.”-merkintää"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "virhe kirjoitettaessa ”..”-merkintää"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "virhe suljettaessa laitetta %s"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Käyttö: mkfs [-V] [-t tied.järj. tyyppi] [tied.järj.valitsimet] laite "
+"[koko]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla wipefs(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"käyttö: %s [-h] [-v] [-b lkoko] [-e laitos] [-N tavujärj] [-i tied] [-n "
+"nimi] haknimi tulostied\n"
+" -h näytä tämä ohje\n"
+" -v monisanaisuus\n"
+" -E käsittele varoitukset virheinä (nollasta poikkeava paluuarvo)\n"
+" -b lkoko käytä tätä lohkokokoa, on oltava sama kuin sivukoko\n"
+" -e laitos aseta laitosnumero (osa tied.järj-id:tä)\n"
+" -N tavujärj aseta cramfs:n tavujärjestys (big|little|host), oletus host\n"
+" -i tied sisällytä tiedostovedos tiedostojärjestelmään (vaatii ≥ 2.4.0:"
+"n)\n"
+" -n nimi aseta cramfs-tiedostojärjestelmän nimi\n"
+" -p tasaa %d tavulla käynnistyskoodia varten\n"
+" -s lajittele hakemistomerkinnät (vanha valitsin, ei huomioida)\n"
+" -z tee reikiä (vaatii ≥ 2.3.39:n)\n"
+" haknimi tiivistettävän tiedostojärjestelmän juuri\n"
+" tulostied tulostiedosto\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Löytyi hyvin pitkä tiedostonimi ”%2$s” (%1$zu tavua).\n"
+" Kasvata MAX_INPUT_NAMELEN-arvoa tiedostossa mkcramfs.c ja käännä uudelleen. "
+"Poistutaan.\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "tiedostojärjestelmä on liian suuri. Poistutaan.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: ”tiivistetyn” lohkon koko > 2*lohkokoko (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld tavua)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: virheellinen lohkolaite"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "segmenttejä enintään = %lu\n"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"varoitus: arviokoko (yläraja) on %lld Mt, mutta vedoksen enimmäiskoko on %u "
+"Mt. Prosessi saattaa päättyä ennenaikaisesti.\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Sisällytetään: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Hakemistodata: %zd tavua\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Kaikki: %zd kilotavua\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superlohko: %zd tavua\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"ROM-vedokselle ei ole varattu riittävästi tilaa (%lld varattu, %zu "
+"käytetty)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "ROM-vedoksen kirjoitus epäonnistui (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "varoitus: tiedostonimet typistetään 255 tavuun.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "varoitus: tiedostoja ohitettiin virheiden takia.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr ""
+"varoitus: tiedostojen koot typistetty %lu megatavuun (miinus 1 tavu).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr "varoitus: uid:t typistetty %u bittiin. (Tämä voi olla turvaongelma.)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr "varoitus: gid:t typistetty %u bittiin. (Tämä voi olla turvaongelma.)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"VAROITUS: laitenumerot typistetty %u bittiin. Tämä tarkoittaa lähes\n"
+"varmasti, että jotkut laitetiedostot ovat väärin.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Käyttö: %s [-c | -l tiedostonimi] [-nXX] [-iXX] /dev/nimi [lohkot]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s on liitetty; ei tehdä tiedostojärjestelmää tähän!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "siirtyminen käynnistyslohkoon epäonnistui funktiossa write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "käynnistyssektorin tyhjentäminen ei onnistu"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "siirtyminen epäonnistui funktiossa write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "superlohkon kirjoitus ei onnistu"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "i-solmukarttaa ei voi kirjoittaa"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "vyöhykekarttaa ei voi kirjoittaa"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "i-solmuja ei voi kirjoittaa"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "siirtyminen epäonnistui funktiossa write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "kirjoitus epäonnistui funktiossa write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "liian monta viallista lohkoa"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "ei riittävästi ehjiä lohkoja"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "kartoille ei voi varata puskureita"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "kartoille ei voi varata puskureita"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "i-solmuille ei voi varata puskureita"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld i-solmua\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld lohkoa\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxkoko=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "siirtyminen epäonnistui lohkojen testauksen aikana"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Outoja arvoja funktiossa do_check: todennäköisesti ohjelmistovikoja\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "siirtyminen epäonnistui funktiossa check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"virheellisiä lohkoja ennen data-aluetta: tiedostojärjestelmää ei voi luoda"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d viallista lohkoa\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "yksi viallinen lohko\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "vialliset lohkot sisältävää tiedostoa ei voi avata"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "badblocks-tiedostoa ei voi lukea"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "virheellinen i-solmun koko"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol-virhe: lohkojen määrää ei ole annettu"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "%s: %s: laite on varattu"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "laitteen %s kokoa ei voi hakea"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "ei yritetä luoda tiedostojärjestelmää kohteeseen ”%s”"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "Sektorien määrä"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Käyttäjän antama sivukoko %d on virheellinen\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Käytetään käyttäjän antamaa sivukokoa %d järjestelmän arvon %d sijaan\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr "Virheellinen sivutusotsakkeen koko, nimiötä ei kirjoitettu.\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "Nimiötä lyhennettiin.\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "ei nimiötä, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "ei uuid:tä\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "liian monta viallista sivua"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "siirtyminen epäonnistui funktiossa check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "yksi viallinen sivu\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu viallista sivua\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "i-solmuille ei voi varata puskureita"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "i-solmuille ei voi varata puskureita"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "käynnistyssektorin tyhjentäminen ei onnistu"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "käynnistyssektorin tyhjentäminen ei onnistu"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p näytä BSD-osiotaulu"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s näytä täydellinen levynimiö"
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr " s näytä täydellinen levynimiö"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "siirtyminen epäonnistui"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "varattuja semaforeja = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: virhe: tuntematon versio %d\n"
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "virhe: UUID:n jäsennys epäonnistui"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: virhe: Sivutustilan kohde?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "virheellinen valitsin"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: virhe: koko %lu KiB on suurempi kuin laitteen koko %lu KiB\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: virhe: sivutusalueen on oltava vähintään %ld KiB:n kokoinen\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: varoitus: typistetään sivutusalue kokoon %ld KiB\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s: virhe: %s on liitetty; ei tehdä sivutustilaa.\n"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Varoitus: %s ei ole lohkolaite\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Sivutustilaa ei voi luoda: ei luettavissa"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Asetetaan sivutustila, versio %d, koko = %llu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: %s: allekirjoitussivua ei voi kirjoittaa: %s"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync epäonnistui"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: %s: selinux-tiedostonimiön hakeminen ei onnistu: %s\n"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "uuden selinux-kontekstin luominen ei onnistu"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "selinux-kontekstin laskeminen ei onnistunut"
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "%s: uudelleennimeäminen %s → %s ei onnistu: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Osionumero"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Näytä osiotaulu"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Sektorien määrä"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Osionumero"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d osiota:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Kirjoitetaan osiotaulua levylle..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d osiota:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# %s:n osiotaulu\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "Puskuria ei voi varata.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: ei löytynyt yhtään vapaata loop-laitetta"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: aiotaan käyttää loop-laitetta %s\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Tuntematon komento: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "siirtyminen epäonnistui funktiossa write_tables"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Valittiin osio %d\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Ei määriteltyjä osioita\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Tämä osio on jo olemassa.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Valittiin osio %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "ei sisälly osioon %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Varoitus: osiot %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Ei määriteltyjä osioita\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s epäonnistui.\n"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "Puskuria ei voi varata.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "Puskuria ei voi varata.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "Puskuria ei voi varata.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "Puskuria ei voi varata.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "lue osiotaulu uudelleen"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p näytä BSD-osiotaulu"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "Levy %s ei sisällä kelvollista osiotaulua\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Käytettävissä olevat komennot:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Tyhjää osiota ei voi poistaa"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "Puskuria ei voi varata.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Lukkotiedostoa %s ei voi lukita: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Varoitus: %s ei ole lohkolaite\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "laitteen %s tilaa ei voi lukea"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "laitteen %s tilaa ei voi lukea"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s: ei ole merkkilaite"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s ei ole lohkolaite"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "virhe pysäytettäessä palvelua: ”%s”"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "virhe pysäytettäessä palvelua: ”%s”"
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "käyttö: sfdisk --id laite osionumero [Id]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "siirtyminen epäonnistui funktiossa write_tables"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "lue osiotaulu uudelleen"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: osiota ei ole\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: virhe: tuntematon versio %d\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "siirtyminen epäonnistui funktiossa write_tables"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Muisti lopussa!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Ei käytettävissä"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Vapaa tila"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Levy on vaihdettu.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Järjestelmä on syytä käynnistää uudelleen osiotaulun päivittymisen "
+"varmistamiseksi.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"VAROITUS: Jos DOS 6.x -osioita luotiin tai muutettiin,\n"
+"katso lisätietoja cfdiskin manuaalisivulta.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "VAKAVA VIRHE"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Paina mitä tahansa näppäintä poistuaksesi cfdiskistä"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Levyasemalla ei voi siirtyä"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Levyasemaa ei voi lukea"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Levyasemalle ei voi kirjoittaa"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Liian monta osiota"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Osion alku on ennen sektoria 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Osion loppu on ennen sektoria 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Osion alku on levyn lopun jälkeen"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Osion loppu on levyn lopun jälkeen"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "loogiset osiot eivät ole levyjärjestyksessä"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "loogiset osiot ovat päällekkäiset"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "suurennetut loogiset osiot ovat päällekkäiset"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Sisäinen virhe luotaessa loogista asemaa ilman laajennettua osiota !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Tähän ei voi luoda loogista asemaa – luotaisiin kaksi laajennettua osiota"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Liian pitkä valikon kohta. Valikko voi näyttää oudolta."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Väärä näppäin"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Paina näppäintä jatkaaksesi"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Ensiö"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Luo uusi ensiöosio"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Looginen"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Luo uusi looginen osio"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Peruuta"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Älä luo osiota"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Sisäinen virhe !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Koko (Mt): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Alku"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Lisää osio tyhjän tilan alkuun"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Loppu"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Lisää osio tyhjän tilan loppuun"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Laajennetun osion luomiseen ei ole tilaa"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Ei osiotaulua.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Ei osiotaulua. Aloitetaan tyhjällä taululla."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Osiotaulun allekirjoitus on virheellinen"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Tuntematon osiotaulun tyyppi"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Haluatko aloittaa tyhjällä osiotaululla [y/N]?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Annettu sylinterimäärä ei mahdu levylle"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Levyasemaa ei voi avata"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Levy avattiin vain luku -tilassa – sinulla ei ole kirjoitusoikeutta"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Varoitus!! Havaittu ei-tuettu GPT (GUID Partition Table). Käytä GNU Partedia."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Levyn kokoa ei voi hakea"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Viallinen ensiöosio"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Viallinen looginen osio"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Varoitus!! Tämä voi tuhota dataa levyltä!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr "Haluatko varmasti kirjoittaa osiotaulun levylle? (jaa tai ei):"
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "ei"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Osiotaulua ei kirjoitettu levylle"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "jaa"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Kirjoita ”jaa” tai ”ei”"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Kirjoitetaan osiotaulua levylle..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Osiotaulu kirjoitettiin levylle"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Osiotaulu kirjoitettiin, mutta uudelleenluku epäonnistui. Aja partprobe(8), "
+"kpartx(8) tai käynnistä tietokone uudelleen, jotta taulu päivittyy."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Yhtään ensiöosiota ei ole merkitty käynnistettäväksi. DOS MBR ei käynnistä "
+"tätä."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Useampi kuin yksi ensiöosio on merkitty käynnistettäväksi. DOS MBR ei "
+"käynnistä tätä."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Syötä tiedostonimi tai paina RETURN saadaksesi näytölle: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Levyasema: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektori 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektori %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Ei mitään"
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Ens/Loog"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Ensiö"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Looginen"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Tuntematon"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Käynnistettävä"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Ei mitään"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Laitteen %s osiotaulu\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Alku- Loppu-\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tyyppi sektori sektori Siirt. Pituus Tied.järj. tyyppi (ID) "
+"Liput\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----Alku---- ----Loppu---- Alku- Sektorien\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Liput Päät Sekt Syl ID Päät Sekt Syl sektori määrä\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- ------------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Raaka"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Näytä taulu raa'assa datamuodossa"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektorit"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Näytä taulu järjestettynä sektoreiden mukaan"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Taulu"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Näytä osiotaulu"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Älä näytä taulua"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Cfdiskin ohjeruutu"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Tämä on cfdisk, curses-pohjainen levynosiointiohjelma, "
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "jolla voi luoda, poistaa ja muuttaa kiintolevyllä "
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "olevia osioita."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright © 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Komento Merkitys"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- --------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Aseta nykyisen osion käynnistettävyyslippu päälle/pois"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Poista nykyinen osio"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Muuta sylinteri-, pää- ja sektoriparametreja"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " VAROITUS: Tätä valitsinta tulee käyttää vain niiden,"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " jotka tietävät mitä ovat tekemässä."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Näytä tämä ohjeruutu"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maksimoi nykyisen osion levynkäyttö"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Huom: Tämä saattaa tehdä osiosta epäyhteensopivan"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " mm. DOSin ja OS/2:n kanssa."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Luo uusi osio tyhjästä tilasta"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Tulosta osiotaulu ruudulle tai tiedostoon"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Osioille on useita erilaisia muotoja,"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " joista voit valita:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r – Raaka data (tasan se, mitä levylle kirjoitettaisiin)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s – Sektoreittain järjestetty taulu"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t – Taulu raa'assa muodossa"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Lopeta ohjelma kirjoittamatta osiotaulua"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Muuta tiedostojärjestelmän tyyppiä"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Muuta osiokokonäkymän yksiköitä"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Vaihtaa megatavujen, sektoreiden ja sylinterien välillä"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Kirjoita osiotaulu levylle (on annettava iso kirjain W)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Koska tämä saattaa tuhota levyllä olevaa dataa, kirjoitus"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr ""
+" on joko varmistettava tai peruttava kirjoittamalla ”jaa” tai"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " ”ei”"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Nuoli ylös Siirrä osoitin edelliseen osioon"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Nuoli alas Siirrä osoitin seuraavaan osioon"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "Ctrl-L Piirtää ruudun uudelleen"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Näytä tämä ohjeruutu"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Huom: Kaikki komennot voi antaa joko isoilla tai pienillä"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "kirjaimilla (paitsi taulun kirjoitus (W) )."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Sylinterit"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Muuta sylinterigeometriaa"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Päät"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Vaihda päägeometriaa"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Vaihda sektorigeometriaa"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Valmis"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Geometrian muutos valmis"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Anna sylinterien määrä: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Virheellinen sylinteriarvo"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Anna päiden määrä: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Virheellinen pääarvo"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Anna sektorien määrä uraa kohden: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Virheellinen sektorimäärä"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Tiedostojärjestelmän tyyppiä ei voi muuttaa tyhjäksi"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Tiedostojärjestelmän tyyppiä ei voi muuttaa laajennetuksi"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Tunt(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Ens/Loog"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Tuntematon (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Levyasema: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Koko: %lld tavua, %lld Mt"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Koko: %lld tavua, %lld.%lld Gt"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Päät: %d Sektorit/ura: %d Sylinterit: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nimi"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Liput"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Osiotyyppi"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Tied.järj.tyyppi"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Nimiö]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sektorit"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Sylinterit"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Koko (Mt)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Koko (Gt)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Ei enempää osioita"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Käynnistettävä"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Aseta nykyisen osion käynnistettävyyslippu päälle/pois"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Poista"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Poista nykyinen osio"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Muuta levyn geometriaa (vain asiantuntijoille)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Ohje"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Näytä ohjeruutu"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maksimoi"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maksimoi nykyisen osion tilankäyttö (vain asiantuntijoille)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Uusi"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Luo uusi osio tyhjästä tilasta"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Näytä"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Tulosta osiotaulu ruudulle tai tiedostoon"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Lopeta"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Lopeta ohjelma kirjoittamatta osiotaulua"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Tyyppi"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Vaihda tiedostojärjestelmän tyyppi (DOS, Linux, OS/2, jne)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Yksiköt"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Vaihda osiokokonäytön yksiköt (Mt, sekt, syl)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Kirjoita"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Kirjoita osiotaulu levylle (tämä saattaa tuhota dataa)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Tästä osiosta ei voi tehdä käynnistettävää"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Tyhjää osiota ei voi poistaa"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Tätä osiota ei voi maksimoida"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Tämä osio on ei ole käytettävissä"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Tämä osio on jo käytössä"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Tyhjän osion tyyppiä ei voi vaihtaa"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Virheellinen komento"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Käyttö:\n"
+"Näytä versio:\n"
+" %s -v\n"
+"Näytä osiotaulu:\n"
+" %s -P {r|s|t} [valitsimet] laite\n"
+"Vuorovaikutteinen käyttö:\n"
+" %s [valitsimet] laite\n"
+"\n"
+"Valitsimet:\n"
+"-a: Käytä nuolta korostuksen asemesta;\n"
+"-z: Aloita tyhjällä osiotaululla, osiotaulua ei lueta levyltä;\n"
+"-c C -h H -s S: Ohita ytimen mielipide sylinterien ja päiden määrästä,\n"
+" sekä sektoreita/ura-määrästä.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c muuta sylinterien määrää"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "laitetta %s ei voi avata"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "laitetta %s ei voi avata"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tTällä levyllä on kelvollinen AIX-nimiö.\n"
+"\tValitettavasti Linux ei toistaiseksi osaa \n"
+"\tkäsitellä tällaisia levyjä.\n"
+"\tJoitakin neuvoja:\n"
+"\t1. fdisk tuhoaa levyn tiedot kirjoitettaessa.\n"
+"\t2. Varmista, että tämä levy EI ole enää elintärkeä\n"
+"\t osa osioryhmää. (Jos on, muutkin levyt saattavat\n"
+"\t tyhjentyä, ellei niitä ole peilattu.)\n"
+"\t3. Varmista ennen tämän fyysisen osion tuhoamista,\n"
+"\t että levy on loogisesti poistettu AIX-koneesta.\n"
+"\t (Muussa tapauksessa sinusta tulee AIXpertti)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tValitettavasti tämä fdisk ei osaa käsitellä AIX-levynimiöitä.\n"
+"\tJos haluat lisätä DOS-tyyppisiä osioita, luo ensin\n"
+"\tuusi DOS-osiotaulu. (Komento o.)\n"
+"\tVAROITUS: Uuden osiotaulun luominen tuhoaa levyn nykyisen sisällön.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD-nimiö laitteelle: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Kirjoitetaan levynimiötä laitteelle %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Ensimmäinen %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Viimeinen %s tai +koko tai +kokoM tai +kokoK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "Laitteella %s ei ole levynimiötä.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Haluatko luoda levynimiön? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Osiolla %s on virheellinen alkusektori 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Luetaan laitteen %s levynimiötä sektorilta %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Laitteella %s ei ole *BSD-osiota.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD-levynimiökomento (m antaa ohjeen): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tyyppi: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tyyppi: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "levy: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "nimiö: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "liput:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " siirrettävä"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "tavuja/sektori %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektoreita/ura: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "uria/sylinteri: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektoreita/sylinteri: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "sylintereitä: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "lomitus: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "uravääristymä: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "sylinterivääristymä: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "päänvaihto: %ld\t\t# millisekuntia\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "raidalta raidalle siirtyminen: %ld\t#millisekuntia\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "asemadata: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d osiota:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# alku loppu koko tyyppi [fkoko bkoko cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "tavua/sektori"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektoria/ura"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "uraa/sylinteri"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "sylinterit"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektoria/sylinteri"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "On oltava ≤ sektoria/ura * uraa/sylinteri (oletus).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "lomitus"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "uravääristymä"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "sylinterivääristymä"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "päänvaihto"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "raidalta raidalle siirtyminen"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Esilatausohjelma: %sboot → boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Esilatausohjelma on päällekkäinen levynimiön kanssa!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Esilatausohjelma asennettu laitteelle %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Osio (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Maksimimäärä osioita on luotu\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Tämä osio on jo olemassa.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Varoitus: liian monta osiota (%d, maksimi on %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synkronoidaan levyt.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a aseta käynnistettävyyslippu päälle/pois"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a aseta vain luku -lippu päälle/pois"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a valitse käynnistettävä osio"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a muuta vaihtoehtoisten sylinterien määrää"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b muokkaa bsd-levynimiötä"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b muokkaa käynnistystiedostomerkintää"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b siirrä datan alkua osiossa"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c aseta dos-yhteensopivuuslippu päälle/pois"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c aseta liitettävyyslippu päälle/pois"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c valitse sgi-sivutusosio"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c muuta sylinterien määrää"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d poista osio"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d näytä osiotaulun raaka data"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e muuta sylinterikohtaisten lisäsektorien määrää"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e listaa laajennetut osiot"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e muokkaa aseman dataa"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f korjaa osiojärjestys"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g luo IRIX (SGI) -osiotaulu"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h muuta päiden määrää"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i muuta lomituskerrointa"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " i muuta levyn tunnistetta"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i asenna esilatausohjelma"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l listaa tunnetut osiotyypit"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m näytä tämä valikko"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n lisää uusi osio"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o luo uusi tyhjä DOS-osiotaulu"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o muuta pyörimisnopeutta (rpm)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Näytä osiotaulu"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q lopeta tallentamatta muutoksia"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r palaa päävalikkoon"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s luo uusi tyhjä Sun-levynimiö"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s muuta sektorien määrää uraa kohden"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s näytä täydellinen levynimiö"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t vaihda osion järjestelmä-id:tä"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u vaihda näkymä/syöteyksiköt"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v varmista osiotaulu"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w kirjoita taulu levylle ja poistu"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w kirjoita levynimiö levylle"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x lisätoiminnot (vain asiantuntijoille)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x linkitä BSD-osio ei-BSD-osioon"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y muuta fyysisten sylintereiden määrää"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "Laitetta %s ei voi lukea\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Laitteella %s ei voi siirtyä\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "Laitteelle %s ei voi kirjoittaa\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE-ioctl epäonnistui laitteelle %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Vakava virhe\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Komento merkitys"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "On asetettava"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "päät"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektorit"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Tämän voi tehdä lisätoimintovalikosta.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " ja "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Haluatko varmasti jatkaa"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Heksakoodi (L listaa koodit): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, oletus %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Tuntematon jälkiliite: ”%s”.\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"Tunnetut: 10^N: KB (kilotavu), MB (megatavu), GB (gigatavu)\n"
+" 2^N: K (kibitavu), M (mebitavu), G (gibitavu)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Käytetään oletusarvoa %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Arvo sallitun välin ulkopuolella.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Osionumero"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Varoitus: osiolla %d on tyhjä tyyppi\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Valittiin osio %d\n"
+
+#
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Osioita ei ole vielä määritelty!\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "sylinteri"
+msgstr[1] "sylinteri"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektori"
+msgstr[1] "sektori"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Vaihdetaan näkymä/syöteyksiköiksi %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Vaihdetaan näkymä/syöteyksiköiksi %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "VAROITUS: Osio %d on laajennettu osio\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOS-yhteensopivuuslippu on asetettu\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-yhteensopivuuslippua ei ole asetettu\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Osiolla %d ei ole data-aluetta\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Osiota %d ei ole vielä olemassa!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Tyyppi 0 merkitsee tyhjää tilaa useissa järjestelmissä\n"
+"(mutta ei Linuxissa). Tyyppiä 0 olevien osioiden\n"
+"pitäminen ei todennäköisesti ole viisasta. Osion voi\n"
+"poistaa käyttämällä ”d”-komentoa.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Osiota ei voi muuttaa laajennetuksi osioksi, eikä päinvastoin.\n"
+"Se on poistettava ensin.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Osion 3 tyypiksi on syytä jättää Koko levy (5),\n"
+"koska SunOS/Solaris odottaa sitä, ja jopa Linux pitää siitä.\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Osion 9 tyypiksi on syytä jättää osio-otsikko (0),\n"
+"ja osion 11 tyypiksi Koko osio (6), koska IRIX odottaa sitä.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Osion %d järjestelmätyypiksi vaihdettiin %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Osion %d järjestelmätyyppinä säilyi %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "Osiolla %d on eri fyysiset/loogiset alkukohdat (ei-Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fyysinen=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "looginen=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Osiolla %d on eri fyysiset/loogiset loppukohdat:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Osion %i loppu ei ole sylinterin rajalla.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Osion %i alku ei ole fyysisen lohkon rajalla.\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Levy %s: %ld Mt, %lld tavua\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Levy %s: %ld.%ld Gt, %lld tavua\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", yhteensä %llu sektoria"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d päätä, %llu sektoria/ura, %d sylinteriä"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Yksiköt = %2$d * %3$d = %4$d -tavuiset %1$s\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "virheellinen i-solmun koko"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Ei mitään tehtävää. Järjestys on jo oikea.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Valmis.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Tämä ei näytä osiotaululta\n"
+"Valittuna on todennäköisesti väärä laite.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Käynn Alku Loppu Lohkot Id Järjestelmä\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Laite"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Osiotaulumerkinnät eivät ole levyjärjestyksessä\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Levy %s: %d päätä, %llu sektoria, %d sylinteriä\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "No AF Pää Sekt Syl Pää Sekt Syl Alku Koko ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Varoitus: osio %d sisältää sektorin 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Osio %d: pää %d on suurempi kuin maksimi %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Osio %d: sektori %d on suurempi kuin maksimi %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Osio %d: sylinteri %d on suurempi kuin maksimi %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+"Osio %d: edellinen sektorimäärä %d on ristiriidassa yhteismäärän %d kanssa\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Osiota %d ei ole vielä olemassa!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Levyasemalle ei voi kirjoittaa"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Osiotaulua on muutettu!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Kutsutaan osiotaulun uudelleen lukeva ioctl().\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"VAROITUS: Osiotaulun uudelleenluku epäonnistui, virhe %d: %s.\n"
+"Ydin käyttää edelleen vanhaa taulua. Uusi taulu tulee käyttöön seuraavassa\n"
+"käynnistyksessä, tai ajamalla partprobe(8) tai kpartx(8)\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"VAROITUS: Jos DOS 6.x -osioita luotiin tai muutettiin,\n"
+"katso lisätietoja fdiskin manuaalisivulta.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Virhe suljettaessa tiedostoa\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synkronoidaan levyt.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Osiolla %d ei ole data-aluetta\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Uusi datan alku"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Asiantuntijakomento (m antaa ohjeen): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Sylinterien määrä"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Päiden määrä"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Sektorien määrä"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Varoitus: asetetaan sektorisiirtymä DOS-yhteensopivuutta varten\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"VAROITUS: GPT (GUID Partition Table) havaittu laitteella ”%s”! Fdisk ei tue "
+"GPT:tä. Käytä GNU Partediä.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "laitetta %s ei voi avata\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: tuntematon komento\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Luodaan uutta Sun-levynimiötä. Muutokset tehdään vain käyttömuistiin,\n"
+"kunnes päätät kirjoittaa ne levylle. Sen jälkeen edellinen sisältö ei\n"
+"tietenkään ole palautettavissa.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"Havaittiin OSF/1-levynimiö laitteella %s, siirrytään levynimiötilaan.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Komento (m antaa ohjeen): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "virheellinen valitsin"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "virheellinen valitsin"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "virheellinen valitsin"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "virheellinen valitsin"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Varoitus: valitsinta -b (sektorikoon asetus) tulee käyttää yhden annetun "
+"laitteen kanssa\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Huom: sektorikoko on %d (ei %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Levy %s ei sisällä kelvollista osiotaulua\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Kaikki ensiöosiot on jo määritelty!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Virheellinen siirtymä laajennetussa ensiöosiossa\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Varoitus: ei huomioida #%d:n jälkeisiä osioita.\n"
+"Ne tuhotaan jos tämä osiotaulu tallennetaan.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Varoitus: ylimääräinen linkkiosoitin osiotaulussa %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Varoitus: jätetään huomiotta ylimääräinen data osiotaulussa %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Varoitus: tyhjä osio\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Levyn tunniste: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Levyn uusi tunniste (nykyinen 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ylimääräistä laajennettua osiota %d ei huomioida\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Varoitus: osiotaulun %2$d virheellinen lippu 0x%1$04x korjataan "
+"kirjoitettaessa (w)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "Osio %d on jo määritelty. Poista se ennen uudelleen lisäämistä.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektori %llu on jo varattu\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Ei vapaita sektoreita käytettävissä\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Viimeinen %1$s, +%2$s tai +koko{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Viallinen looginen osio"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Varoitus: virheellinen datan alkukohta osiossa %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Varoitus: osio %d ja osio %d ovat (osittain) päällekkäiset.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Varoitus: osio %d on tyhjä\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Looginen osio %d ei ole kokonaan osiossa %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+"Varattujen sektoreiden kokonaismäärä %llu on suurempi kuin maksimi %llu\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld varaamatonta %d-tavuista sektoria\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Kaikki loogiset osiot ovat käytössä\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Kaikki loogiset osiot ovat käytössä\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Lisätään ensiöosio\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l looginen (5 tai yli)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e laajennettu"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Käytetään oletusarvoa %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Virheellinen osionumero tyypille ”%c”\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tTällä levyllä on kelvollinen Mac-nimiö.\n"
+"\tValitettavasti fdisk(1) ei osaa käsitellä tällaisia\n"
+"\tlevyjä. Käytä joko pdiskiä tai partedia osiotaulun\n"
+"\tmuuttamiseen.\n"
+"\tJoitakin neuvoja:\n"
+"\t1. fdisk tuhoaa levyn tiedot kirjoitettaessa.\n"
+"\t2. Varmista, että tämä levy EI ole enää elintärkeä\n"
+"\t osa osioryhmää. (Jos on, muutkin levyt saattavat\n"
+"\t tyhjentyä, ellei niitä ole peilattu.)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tValitettavasti tämä fdisk ei osaa käsitellä Mac-levynimiöitä.\n"
+"\tJos haluat lisätä DOS-tyyppisiä osioita, luo ensin\n"
+"\tuusi DOS-osiotaulu. (Komento o.)\n"
+"\tVAROITUS: Uuden osiotaulun luominen tuhoaa levyn nykyisen sisällön.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux-sivutus"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linuxmainen"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"MIPS Computer Systems, Inc:in mukaan nimiössä saa olla korkeintaan 512 "
+"tavua\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Havaittiin sgi-levynimiö, jolla on väärä tarkistussumma.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Levy %1$s (SGI-levynimiö): %2$d päätä, %3$llu sektoria\n"
+"%4$d sylinteriä, %5$d fyysistä sylinteriä\n"
+"%6$d ylimääräistä sekt/syl, lomitus %7$d:1\n"
+"%8$s\n"
+"Yksiköt = %10$d * %11$d -tavuiset %9$s\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Levy %1$s (SGI-levynimiö): %2$d päätä, %3$llu sektoria, %4$d sylinteriä\n"
+"Yksiköt = %6$d * %7$d -tavuiset %5$s\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- osiot -----\n"
+"Os# %*s Info Alku Loppu Sektorit Id Järjestelmä\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Käynnistysinfo -----\n"
+"Käynnistystiedosto: %s\n"
+"----- Hakemistomerkinnät -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektori%5u koko%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Virheellinen käynnistystiedosto!\n"
+"\tKäynnistystiedoston on oltava absoluuttinen, ei-tyhjä polku,\n"
+"\tesim. ”/unix” tai ”/unix.save”.\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tKäynnistystiedoston nimi on liian pitkä: maksimi 16 tavua.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tKäynnistystiedoston polun on oltava täydellinen.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tHuomaa, että käynnistystiedoston olemassaoloa ei tarkisteta.\n"
+"\tSGI:n oletus on ”/unix”, ja varmuuskopiolle ”/unix.save”.\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Nykyinen käynnistystiedosto on: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Anna uuden käynnistystiedoston nimi: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Käynnistystiedosto muuttumaton\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tKäynnistystiedostoksi muutettiin ”%s”.\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Levyllä on useampi kuin yksi kokolevymerkintä.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Ei määriteltyjä osioita\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX pitää siitä, että Osio 11 täyttää koko levyn.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Koko levyn osion tulee alkaa lohkosta 0,\n"
+"ei levylohkosta %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Koko levyn osio on vain %d levylohkon kokoinen,\n"
+"mutta levy on %d levylohkon kokoinen.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Yhden osion (#11) tulee täyttää koko levy.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Osion %d alku ei ole sylinterin rajalla.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Osion %d loppu ei ole sylinterin rajalla.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Osiot %d ja %d ovat päällekkäiset %d sektorin verran.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Käyttämätön %8u sektorin alue – sektorit %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Käynnistysosiota ei ole olemassa.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Sivutusosiota ei ole olemassa.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Sivutusosiolla ei ole sivutustyyppiä.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tValittu käynnistystiedoston nimi on epätavallinen.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Valitettavasti vain pääkäyttäjä voi säätää järjestelmäkelloa.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"On erittäin suositeltavaa, että osiolla siirtymän 0 kohdalla\n"
+"on tyyppi ”SGI volhdr”. IRIX-järjestelmä olettaa, että\n"
+"erillistyökalut, kuten sash ja fx, voidaan hakea sen hakemistosta.\n"
+"Vain ”SGI volume” -kokolevyosuus voi rikkoa tätä sääntöä.\n"
+"Kirjoita JAA, jos olet varma tämän osion merkitsemisestä toisin.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "JAA\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Levyllä on päällekkäisiä osioita. Tämä on korjattava ensin!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Yritetään luoda kokolevymerkintä automaattisesti.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Koko levy on jo osioiden käytössä.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Levyllä on päällekkäisiä osioita. Tämä on korjattava ensin!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"On erittäin suositeltavaa, että yhdestoista osio\n"
+"kattaa koko levyn ja on tyyppiä ”SGI volume”\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Levyllä tulee olemaan päällekkäisiä osioita. Tämä on korjattava ensin!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Viimeinen %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "BLKGETSIZE-ioctl epäonnistui laitteelle %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Varoitus: BLKGETSIZE-ioctl epäonnistui laitteelle %s. Käytetään geometrian\n"
+"sylinteriarvoa %d. Tämä arvo voi typistyä laitteilla, jotka ovat suurempia\n"
+"kuin 33,8 Gt.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tALKU=%d\tPITUUS=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Yritetään säilyttää osion %d parametrit.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Koko levy"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sectors"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Havaittiin Sun-levynimiö, jolla on väärä\n"
+"tarkistussumma. Joudut todennäköisesti asettamaan\n"
+"kaikki arvot, esim. päät, sektorit, sylinterit ja\n"
+"osiot tai pakottamaan tuoreen nimiön \n"
+"(s-komento päävalikossa)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Havaittiin sun-levynimiö, jolla on väärä versio [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Havaittiin sun-levynimiö, jolla on väärä sanity-arvo [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Havaittiin sun-levynimiö, jolla on väärä num_partitions-arvo [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr "Varoitus: Väärät arvot korjataan kirjoitettaessa (w)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "Laitteella %s ei ole levynimiötä.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektoreita/ura"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Osion %d loppu ei ole sylinterin rajalla\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Osio %d on päällekkäinen muiden kanssa sektoreilla %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Käyttämätöntä tilaa – sektorit 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Käyttämätöntä tilaa – sektorit %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Muut osiot käyttävät jo koko levyn.\n"
+"Poista/kutista joitakin ennen uutta yritystä.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"On erittäin suositeltavaa, että kolmas osio kattaa koko levyn ja\n"
+"on tyyppiä ”Koko levy”\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Kolmas osio ei kata koko levyä, mutta arvo %d %s kattaa jonkin toisen\n"
+"osion. Merkintä on muutettu arvoon %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Jos halutaan säilyttää SunOS/Solaris-yhteensopivuus, tämän osion tyyppinä\n"
+"on syytä säilyttää Koko levy (5), alkaen kohdasta 0, %u sektoria\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"On erittäin suositeltavaa, että osio siirtymän 0 kohdalla\n"
+"on tyypiltään UFS, EXT2FS tai ”SunOS swap”. Linuxin sivutusosion\n"
+"sijoittaminen sinne saattaa tuhota osiotaulun ja käynnistyslohkon.\n"
+"Kirjoita JAA, jos olet erittäin varma, että haluat osion tyypiksi\n"
+"merkittävän 82 (Linux-sivutus): "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Levy %1$s (Sun-levynimiö): %2$d päätä, %3$llu sektoria\n"
+"%4$d kierrosta minuutissa, %5$d sylinteriä, %6$d vaihtoehtoista\n"
+"sylinteriä, %7$d fyysistä sylinteriä, %8$d ylimääräistä sekt/syl\n"
+"lomitus %9$d:1\n"
+"Nimiötunniste: %10$s\n"
+"Osiotunniste: %11$s\n"
+"Yksiköt = %13$d * 512 -tavuiset %12$s\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Levy %1$s (Sun-levynimiö): %2$d päätä, %3$llu sektoria, %4$d sylinteriä\n"
+"Yksiköt = %6$d * 512 -tavuiset %5$s\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Lippu Alku Loppu Lohkot Id Järjestelmä\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Vaihtoehtoisten sylinterien määrä"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Ylimääräisiä sektoreita sylinterillä"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Lomituskerroin"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Pyörimisnopeus (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Fyysisten sylinterien määrä"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Tyhjä"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Laajennettu"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX käynnistettävä"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Alkulatauksen hallinta"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Laaj (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Kätketty FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq-diagnostiikka"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Kätketty FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Kätketty FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Kätketty HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Kätketty W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Kätketty W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Kätketty W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "Kätketty HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic-palautus"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2:s osio"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3:s osio"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD tai SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Vanha Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix/vanha Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux-sivutus / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 kätketty C:-asema"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux laajennettu"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS-osioryhmä"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux teksti"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad -valmiustila"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI sivutus"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Kätketty Boot Wizard"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "ei-tied.järj. data"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS vain luku"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS-tied.järj."
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS-toisio"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "siirtymisvirhe laitteella %s – kohtaan %lu ei voi siirtyä\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "siirtymisvirhe: haluttiin 0x%08x%08x, saatiin 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "virhe luettaessa laitetta %s – sektoria %lu ei voi lukea\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "virhe kirjoitettaessa laitteelle %s – sektoria %lu ei voi kirjoittaa\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "osion sektoreiden tallennustiedostoa (%s) ei voi avata\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "virhe kirjoitettaessa %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "osionpalautustiedoston %s tilaa ei voi lukea\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "osion palautustiedoston koko on väärä – ei palauteta\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "osionpalautustiedostoa (%s) ei voi avata\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "virhe luettaessa tiedostoa %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "laitetta %s ei voi avata kirjoitusta varten\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "virhe kirjoitettaessa sektoria %lu laitteelle %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Levy %s: geometriaa ei voi hakea\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Levy %s: kokoa ei voi hakea\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Varoitus: alku=%lu – tämä näyttää enemmän osiolta kuin kokonaiselta\n"
+"levyltä. Sen muokkaaminen fdiskillä on todennäköisesti turhaa.\n"
+"[Käytä --force -valitsinta jos todella haluat tehdä niin]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Varoitus: HDIO_GETGEO kertoo, että päitä on %lu\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Varoitus: HDIO_GETGEO kertoo, että sektoreita on %lu\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Varoitus: BLKGETSIZE/HDIO_GETGEO kertoo, että sylintereitä on %lu\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Varoitus: epätodennäköinen sektorimäärä (%lu) – yleensä korkeintaan 63\n"
+"Tästä aiheutuu ongelmia kaikkien C/H/S-osoitusta käyttävien ohjelmien "
+"kanssa.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Levy %s: %lu sylinteriä, %lu päätä, %lu sektoria/ura\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr "Osion %2$s %1$s pääarvo on mahdoton: %3$lu (tulee olla 0-%4$lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr "Osion %2$s %1$s sektoriarvo on mahdoton: %3$lu (tulee olla 1-%4$lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"Osion %2$s %1$s sylinteriarvo on mahdoton: %3$lu (tulee olla 0-%4$lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Nimi\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Luetaan osiotaulu uudelleen...\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Osiotaulun uudelleenlukukomento epäonnistui\n"
+"Aja partprobe(8), kpartx(8) tai käynnistä järjestelmä\n"
+"uudelleen nyt, ennen mkfs:n käyttöä\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Virhe suljettaessa %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: osiota ei ole\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "tunnistamaton muoto – käytetään sektoreita\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "toteuttamaton muoto – käytetään %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Yksiköt = sylinterit %lu-tavuisia, lohkot 1024-tavuisia, lasketaan %d "
+"alkaen\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Laite Käynn Alku Loppu #syl #lohkot Id Järjestelmä\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Yksiköt = 512-tavuiset sektorit, alkaen kohdasta %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Laite Käynn Alku Loppu #sektorit Id Järjestelmä\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Yksiköt = 1024-tavuiset lohkot, alkaen kohdasta %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Laite Käynn Alku Loppu #lohkot Id Järjestelmä\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Yksiköt = 1048576-tavuiset mebitavut, 1024-tavuiset lohkot, alkaen kohdasta "
+"%d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Laite Käynn Alku Loppu MiB #lohkot Id Järjestelmä\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\talku: (c,h,s) odotettiin (%ld,%ld,%ld) löytyi (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tloppu: (c,h,s) odotettiin (%ld,%ld,%ld) löytyi (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "osio loppuu sylinterillä %ld, joka on levyn lopun jälkeen\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Osioita ei löytynyt\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Varoitus: Osiotaulu näyttää siltä, että se on tehty\n"
+" arvoille C/H/S=*/%ld/%ld (eikä %ld/%ld/%ld).\n"
+"Tässä listauksessa käytetään tuota geometriaa.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "osiotaulua ei ole.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "outoa, vain %d osiota määritelty.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Varoitus: osion %s koko on 0, mutta sitä ei ole merkitty tyhjäksi\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Varoitus: osion %s koko on 0 ja se on merkitty käynnistettäväksi\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Varoitus: osion %s koko on 0 ja alkukohta ei ole nolla\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "ei sisälly osioon %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Varoitus: osio %d on tyhjä\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Varoitus: osio %s sisältää osan osiotaulusta (sektori %lu), ja se tulee\n"
+"tuhoutumaan kun osiota käytetään\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Varoitus: osio %s alkaa sektorilta 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Varoitus: osio %s jatkuu levyn lopun yli\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Vain yksi ensiöosio voi olla laajennettu\n"
+" (tämä ei tosin ole ongelma Linuxissa)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Varoitus: osio %s ei ala sylinterin rajalta\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Varoitus: osio %s ei lopu sylinterin rajalle\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Varoitus: useampi kuin yksi ensiöosio on merkitty käynnistettäväksi "
+"(aktiiviseksi)\n"
+"Se ei haittaa LILOa, mutta DOS MBR ei käynnistä tältä levyltä.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Varoitus: yleensä vain ensiöosiolta voi käynnistää\n"
+"LILO ei välitä ”käynnistettävä”-lipusta.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Varoitus: yhtään ensiöosiota ei ole merkitty käynnistettäväksi\n"
+"(aktiiviseksi). Se ei haittaa LILOa, mutta DOS MBR ei käynnistä tältä "
+"levyltä.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "alun"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "osio %s: alku: (c,h,s) odotettiin (%ld,%ld,%ld) löytyi (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "lopun"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"osio %s: loppu: (c,h,s) odotettiin (%ld,%ld,%ld) löytyi (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "osio %s loppuu sylinterillä %ld, levyn lopun jälkeen\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Varoitus: laajennetun osion alkua siirretty kohdasta %ld kohtaan %ld\n"
+"(Vain listaustarkoituksiin. Älä muuta sen sisältöä.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Varoitus: laajennetun osion alku ei ole sylinterin rajalla.\n"
+"DOS ja Linux tulkitsevat sisällön eri tavoin.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "VIRHE: sektorilla %lu ei ole msdos-allekirjoitusta\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "liian monta osiota – ei huomioida numeron (%d) jälkeisiä\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "osiopuu?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "havaittiin levymanageri – tilanteesta ei selvitä\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6-allekirjoitus löytyi – luovutetaan\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "outoa..., laajennettu osio, jonka koko on 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "outoa..., BSD-osio, jonka koko on 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: tunnistamaton osiotaulun tyyppi\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "valitsin -n oli annettu: Mitään ei muutettu\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Vanhojen sektoreiden tallennus epäonnistui – keskeytetään\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "liian pitkä tai epätäydellinen syöterivi – lopetetaan\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "syötevirhe: kentän %s jälkeen odotetaan löytyvän ”=”\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "syötevirhe: odottamaton merkki %c kentän %s jälkeen\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "tunnistamaton syöte: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "liian suuri luku\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "roskaa numeron perässä\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "ei tilaa osiokahvalle\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "ympäröivää laajennettua osiota ei voi rakentaa\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "liian monta syötekenttää\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Ei enempää tilaa\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Virheellinen tyyppi\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "Varoitus: annettu koko (%lu) ylittää suurimman sallitun koon (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Varoitus: tyhjä osio\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Varoitus: virheellinen osion alku (aikaisintaan %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "tunnistamaton ”käynnistettävä”-lippu – valitse - tai *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "osittainen c,h,s-määritys?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Laajennettu osio ei ole odotetussa paikassa\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "virheellinen syöte\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "liian monta osiota\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Syöte seuraavassa muodossa: puuttuvat kentät saavat oletusarvon.\n"
+"<alku> <koko> <tyyppi [E,S,L,X,hex]> <käynnistettävä [-,*]> <c,h,s> <c,h,s>\n"
+"Yleensä riittää <alku> ja <koko> (ja ehkä <tyyppi>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Käyttö:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Valitsimet:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "vaaralliset valitsimet:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr " -G [tai --show-pt-geometry]: näytä osiotausta päätelty geometria"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [tai --show-extended]: listaa myös laajennetut osiot tulosteessa\n"
+" tai odota syötteestä niiden kahvoja"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Käyttö:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s laite\t\t listaa laitteella olevat aktiiviset osiot\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s laite n1 n2 ... aktivoi osiot n1 ..., inaktivoi loput\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An laite\t aktivoi osio n, poista muiden aktivointi\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"VAROITUS: GPT (GUID Partition Table) havaittu laitteella ”%s”! Sfdisk ei tue "
+"GPT:tä. Käytä GNU Partediä.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Käytä --force -valitsinta ohittaaksesi tämän tarkistuksen.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "ei komentoa?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "virheellinen rivien määrä"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "yhteensä: %llu lohkoa\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "käyttö: sfdisk --print-id laite osionumero\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "käyttö: sfdisk --change-id laite osionumero Id\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "käyttö: sfdisk --id laite osionumero [Id]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "vain yhden laitteen voi antaa (paitsi valitsimella -l tai -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "laitetta %s ei voi avata lukua-kirjoitusta varten\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "laitetta %s ei voi avata lukua varten\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld sylinteriä, %ld päätä, %ld sektoria/ura\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "Laitteen %s kokoa ei voida hakea\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "virheellinen aktiivinen tavu: 0x80:n asemesta 0x%x\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Valmis\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Aktiivisia ensiöosioita on %d kappaletta. Tämä ei haittaa LILOa, mutta\n"
+"DOS MBR käynnistää vain levyltä, jolla on tasan yksi aktiivinen osio.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "osiolla %s id on %x eikä osiota ole kätketty\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "Virheellinen Id %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Levy on tällä hetkellä käytössä.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Vakava virhe: laitetta %s ei löydy\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Varoitus: %s ei ole lohkolaite\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Tarkistetaan, että kukaan ei käytä levyä juuri nyt...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Tämä levy on tällä hetkellä käytössä – sen uudelleenosiointi on\n"
+"todennäköisesti huono ajatus. Irrota kaikki levyn tiedostojärjestelmät\n"
+"(komento umount) ja kaikki levyllä olevat sivutusosiot (komento swapoff).\n"
+"Käytä valitsinta --no-reread tämän testin ohittamiseen.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Käytä --force -valitsinta ohittaaksesi kaikki tarkistukset.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Vanha tilanne:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Osiota %d ei ole olemassa, sitä ei voi muuttaa\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Uusi tilanne:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"En pidä näistä osioista – mitään ei muutettu.\n"
+"(Jos todella haluat tätä, käytä valitsinta --force.)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "En pidä tästä – kannattaa todennäköisesti vastata ”No”\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Oletko tyytyväinen tähän? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Haluatko kirjoittaa tämän levylle? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Lopetetaan – mitään ei muutettu\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Vastaa joko y, n tai q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Uusi osiotaulu kirjoitettiin onnistuneesti\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Jos DOS-osio, esim. /dev/foo7, luotiin tai sitä muutettiin, käytä dd(1):tä\n"
+"nollataksesi ensimmäiset 512 tavua:\n"
+"dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(Katso fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla wipefs(8).\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: kirjoitusvirhe.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: Valitsimet --adjfile ja --noadjfile ovat toisensa poissulkevat. Käytit "
+"molempia.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() epäonnistui"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "Puskuria ei voi varata.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr ""
+"\n"
+"Käyttö: %s [valitsimet] polku [polku ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p toimistopuhelin ]\n"
+"\t[ -h kotipuhelin ]"
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: sinua (käyttäjä %d) ei ole olemassa.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: käyttäjä ”%s” ei ole olemassa.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr ""
+"%s: vain paikallisia merkintöjä voi muuttaa; käytä sen sijaan komentoa yp"
+"%s.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr ""
+"%s: käyttäjällä %s ei ole valtuutusta muuttaa käyttäjän %s finger-tietoja\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Tuntematon käyttäjäympäristö"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: Tiedoston /etc/passwd oletusympäristöä ei voi asettaa"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Vaihdetaan käyttäjän %s finger-tiedot.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger-tietoja ei muutettu.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Keskeytetty.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "kenttä on liian pitkä.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "kenttä on liian pitkä.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: merkkiä ”%c” ei sallita.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "merkki ”%c” ei ole sallittu.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Ohjausmerkkejä ei sallita.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Ohjausmerkkejä ei sallita.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Finger-tietoja *EI* muutettu. Yritä myöhemmin uudelleen.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger-tietoja muutettiin.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell=kuori Aseta kuoren lainauskäytännöt\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr ""
+"%s: vain paikallisia merkintöjä voi muuttaa; käytä sen sijaan komentoa yp"
+"%s.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: käyttäjällä %s ei ole valtuutusta vaihtaa käyttäjän %s kuorta\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: Vallitseva UID ei täsmää muutettavan käyttäjän UID:hen, kuoren vaihto "
+"estetty\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "%s: Kuori ei ole tiedostossa /etc/shells, kuoren vaihto evätty\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Vaihdetaan käyttäjän %s kuori.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Uusi kuori"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "Kuorta ei vaihdettu.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "Kuorta *EI* vaihdettu. Yritä myöhemmin uudelleen.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Kuori vaihdettu.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: kuori on annettava polkuineen.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: ”%s” ei ole olemassa.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: ”%s” ei ole käynnistettävä.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Varoitus: ”%s” ei ole listattu tiedostossa /etc/shells.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: ”%s” ei ole listattuna tiedostossa /etc/shells.\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Ei tunnettuja kuoria.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"käyttö: last [-#] [-f tiedosto] [-t tty] [-h konenimi] [käyttäjä ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "%s epäonnistui.\n"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " edelleen kirjautuneena"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp alkaa %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "virhe: UUID:n jäsennys epäonnistui"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"keskeytetty %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "Kirjautuminen aikakatkaistiin %d sekunnin jälkeen\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "VAKAVAA: päätettä ei voi avata uudelleen: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s ei ole lohkolaite"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown epäonnistui: %s"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() epäonnistui: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "VAKAVAA: virheellinen pääte"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Edellinen kirjautuminen: %.*s"
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "osoitteesta %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "päätteeltä %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "kirjoittaminen vakiotulosteeseen epäonnistui"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "KĂ„YTTĂ„JĂ„N %2$s MODEEMIYHTEYS PĂ„Ă„TTEELLĂ„ %1$s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "PĂ„Ă„KĂ„YTTĂ„JĂ„N KIRJAUTUMINEN PĂ„Ă„TTEELLĂ„ %s OSOITTEESTA %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "PĂ„Ă„KĂ„YTTĂ„JĂ„N KIRJAUTUMINEN PĂ„Ă„TTEELLĂ„ %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "KĂ„YTTĂ„JĂ„N %2$s KIRJAUTUMINEN PĂ„Ă„TTEELLĂ„ %1$s OSOITTEESTA %3$s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "KĂ„YTTĂ„JĂ„N %2$s KIRJAUTUMINEN PĂ„Ă„TTEELLĂ„ %1$s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "tunnus: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "%s: PAM-virhe, keskeytetään: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAMia ei voitu alustaa: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "EPĂ„ONNISTUNUT KĂ„YTTĂ„JĂ„N %3$s KIRJAUTUMINEN %1$d OSOITTEESTA %2$s, %4$s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Kirjautuminen epäonnistui\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr ""
+"LIIAN MONTA (%1$d) KĂ„YTTĂ„JĂ„N %3$s KIRJAUTUMISYRITYSTĂ„ OSOITTEESTA %2$s, %4$s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "EPĂ„ONNISTUNUT KĂ„YTTĂ„JĂ„N %2$s ISTUNTO OSOITTEESTA %1$s, %3$s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Kirjautuminen epäonnistui\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Istunnon aloitusongelma, keskeytys.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Käyttäjänimi on NULL funktiossa %s, rivillä %d. Keskeytys."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY epäonnistui: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h on vain pääkäyttäjälle.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"käyttö: last [-#] [-f tiedosto] [-t tty] [-h konenimi] [käyttäjä ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Virheellinen käyttäjänimi ”%s” funktiossa %s, rivillä %d. Keskeytys."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr "virhe: UUID:n jäsennys epäonnistui"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() epäonnistui"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Sinulle on uutta postia.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Sinulle on postia.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() epäonnistui"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "siirtyminen epäonnistui"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Kirjaudutaan käyttäen kotihakemistona ”/”.\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: kuoriskriptiä ei voitu käynnistää: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Ei kuorta"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Virheellinen sisäinen arvo: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Salasana: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: Ryhmää ei ole."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Kuka sinä olet?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() epäonnistui"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: Ryhmää ei ole."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: lupa evätty"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() epäonnistui"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "käynnistys epäonnistui\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "laitetta %s ei voi avata"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "nimeäminen %s → %s ei onnistu: %s\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: nykyistä hakemistoa ei voida hakea – %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "Signaalikäsittelijää ei voi asettaa"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s epäonnistui.\n"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Väärä salasana."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount: ryhmä-id:tä voi asettaa: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount: ryhmä-id:tä voi asettaa: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: käyttäjä-id:tä ei voi asettaa: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Komento ”%s --help” antaa lisää tietoa.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "Käyttö: %s [valitsimet] <ohjelma> [arg...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: käyttäjä ”%s” ei ole olemassa.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: nykyistä hakemistoa ei voida hakea – %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: ei ole avoin lukua/kirjoitusta varten"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: ei ole avoin lukua/kirjoitusta varten"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: salasanatiedosto on varattu.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Haluatko varmasti jatkaa"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "siirtyminen epäonnistui"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "käynnistys epäonnistui\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "siirtyminen epäonnistui"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "%s epäonnistui.\n"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "%s epäonnistui.\n"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "virheellinen valitsin"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: vain root voi tehdä tuon"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY epäonnistui: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: käyttäjä-id:tä ei voi asettaa: %s"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s epäonnistui.\n"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: tiedostoa %s ei voi avata\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: väliaikaistiedostoa ei voi avata.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: uudelleennimeäminen %s → %s epäonnistui: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: Tiedoston %s ympäristöä ei voi hakea"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: Tiedoston %s ympäristöä ei voi asettaa"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s muuttumaton\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "haarauttaminen ei onnistu"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: muutoksia ei tehty\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Tässä järjestelmässä käytetään varjoryhmiä.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Tässä järjestelmässä käytetään varjosalasanoja.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Haluatko muokata tiedostoa %s nyt [y/n]? "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Virheellinen pääarvo"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "virheellinen päivän arvo: käytä 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "virheellinen kuukauden arvo: käytä 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "virheellinen vuoden arvo: käytä 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "käyttö: cal [-13smjyV] [[[päivä] kuukausi] vuosi]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "käyttö: %s [+muoto] [päivä kuukausi vuosi]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "St. Tib's Day"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "laitetta %s ei voi avata"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "lohkolaite "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "hyödylliset valitsimet:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Osionumero"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Tuntematon komento: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "luettiin %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Poista"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "tuntemattomassa "
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "siirtymisvirhe"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "Puskuria ei voi varata.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: tiedostoa %s ei voi lukea.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "Puskuria ei voi varata.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "Puskuria ei voi varata.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc() epäonnistui"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Käytettävissä olevat komennot:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "Ei hakemistoa %s!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "virheellinen id: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "Puskuria ei voi varata.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "tyhjä pitkä valitsin argumentin -l tai --long jälkeen"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "tuntematon kuori argumentin -s tai --shell jälkeen"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" getopt [valitsimet] -o|--options valitsinmerkkijono [valitsimet] "
+"[--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Salli pitkien valitsimien alkaminen yhdellä -:"
+"lla\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Tämä pieni käyttöopas\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=valitsimet Pitkät tunnistettavat valitsimet\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name=ohjelmanimi Nimi, joka ilmoitetaan virheiden yhteydessä\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=valitsimet Lyhyet tunnistettavat valitsimet\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr " -q, --quiet Vaienna getopt(3):n virheilmoitukset\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Ei normaalia tulostetta\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell=kuori Aseta kuoren lainauskäytännöt\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Testaa getopt(1):n versio\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unquote Ei lainausmerkkejä tulosteeseen\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "puuttuva valitsinmerkkijonon argumentti"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "sisäinen virhe, ota yhteyttä tekijään."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: tuntematon signaali %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "virheellinen valitsin"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: prosessia ”%s” ei löydy\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: tuntematon signaali %s; kelvolliset signaalit:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "käyttö: %s [ -s signaali | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ signaali ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: tuntematon apuneuvon nimi: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: tuntematon prioriteetin nimi: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "tunnus aivan liian pitkä.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "LohkoKoko: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "nfs connect"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "nfs socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "nfs connect"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr ""
+"\n"
+"Käyttö: %s [valitsimet]\n"
+"\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Seuraava tiedosto: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "virheellinen valitsin"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Osionumero"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "polun tilan lukeminen epäonnistui\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "aseta vain luku -tilaan"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " siirrettävä"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "polun tilan lukeminen epäonnistui\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Virheellinen käyttäjänimi"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "virheellinen i-solmun koko"
+
+#: misc-utils/lsblk.c:133
+#, fuzzy
+msgid "minimum I/O size"
+msgstr "hae vähimmäis-I/O-koko"
+
+#: misc-utils/lsblk.c:134
+#, fuzzy
+msgid "optimal I/O size"
+msgstr "hae paras I/O-koko"
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "hae sektorikoko"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "hae sektorikoko"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "virheellinen i-solmun koko"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " i muuta levyn tunnistetta"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount: %s: tuntematon laite"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "Puskuria ei voi varata.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Käytettävissä olevat komennot:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "polun tilan lukeminen epäonnistui\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "laitetta %s ei voi avata"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "tuntemattomassa "
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "virheellinen id: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Tiedostosta %2$s saatiin %1$d tavua\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "käynnistys epäonnistui\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"Käyttö: %s [valitsimet] polku [polku ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla namei(1).\n"
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "liian pitkä --date-argumentti\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: uudelleennimeäminen %s → %s epäonnistui: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: virheellinen -l -argumentti %s.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "Kirjoita"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "luettiin %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Laitetta %s ei voi avata: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Laitetta %s ei voi avata: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Laitetta %s ei voi avata: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Virhe luettaessa %s\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "virheellinen valitsin"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "virheellinen valitsin"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: virheellinen arvo\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "virhe muutettaessa tiedoston %s tilaa: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Laitetta %s ei voi avata: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "virhe: UUID:n jäsennys epäonnistui"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: ei löydy"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla wipefs(8).\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "virheellinen valitsin"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "varoitus: virhe luettaessa %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "virhe: tiedostoa %s ei voi avata: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+"mount: tiedostoa %s ei voitu avata – käytetään tiedostoa %s sen sijaan\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr "lukkotiedostoa %s ei voi luoda: %s (käytä lippua -n ohittaaksesi)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr "lukkotiedostoa %s ei voi linkittää: %s (käytä lippua -n ohittaaksesi)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "lukkotiedostoa %s ei voi avata: %s (käytä lippua -n ohittaaksesi)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Lukkotiedostoa %s ei voi lukita: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "lukkotiedostoa %s ei voi lukita: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "aikakatkaistu"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Linkkiä %s ei voi luoda\n"
+"Ehkä jossakin on vanhentunut lukkotiedosto?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "hakemistoa %s ei voi avata (%s) – mtabi-tiedostoa ei päivitetty"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "virhe kirjoitettaessa %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: tiedoston %s tilaa ei voi lukea: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "virhe muutettaessa tiedoston %s tilaa: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "virhe muutettaessa tiedoston %s omistajaa: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "nimeäminen %s → %s ei onnistu: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: väärin suojattu valitsinmerkkijono ”%s”"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: muunnettiin %s ”%s” arvoon ”%s”\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: mtab-tiedoston mukaan %s on jo liitetty pisteeseen %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: mtab-tiedoston mukaan %s on liitetty pisteeseen %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: tiedostoa %s ei voi avata kirjoittamista varten: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: virhe kirjoitettaessa %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: virhe muutettaessa tiedoston %s tilaa: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: ryhmä-id:tä voi asettaa: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: käyttäjä-id:tä ei voi asettaa: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: haarauttaminen ei onnistu: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Kokeillaan %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: et antanut tyyppiä tiedostojärjestelmälle %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Kokeillaan kaikkia tiedostoissa %s ja %s mainittuja tyyppejä\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " ja tämä näyttää olevan sivutustilaa\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Kokeillaan tyyppiä %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s vaikuttaa olevan sivutustilaa – ei liitetä"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "liittäminen epäonnistui"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: vain root voi liittää %s pisteeseen %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: loop-laite annettu kahdesti"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: tyyppi annettu kahdesti"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: ohitetaan loop-laitteen asettaminen\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: aiotaan käyttää loop-laitetta %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "Virheellinen asetettu arvo: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "Virheellinen asetettu arvo: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+"mount: mtab-tiedoston mukaan %s on jo liitetty pisteeseen %s loop-laitteena"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "Muistia ei voitu lukita, poistutaan.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: loop-laitteen asettaminen epäonnistui\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: aiotaan käyttää loop-laitetta %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: loop-laitteen asettaminen epäonnistui\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: loop-laitteen asettaminen epäonnistui\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: loop-laite asetettiin onnistuneesti\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: ei löytynyt %s – luodaan se..\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argumentin valitsimelle -p tai --pass-fd on oltava luku"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: tiedostoa %s ei voi avata nopeuden asetusta varten"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: nopeutta ei voi asettaa: %s"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: mtabin mukaan %s on jo liitetty pisteeseen %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: %s on varattu – uudelleenliitettiin vain luku -tilassa\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: %s on varattu – uudelleenliitettiin vain luku -tilassa\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: Tiedostojärjestelmän tyyppiä ei voitu määrittää, eikä tyyppiä ole "
+"annettu"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: tiedostojärjestelmän tyyppi on annettava"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: liitos epäonnistui"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: liitospiste %s ei ole hakemisto"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: lupa evätty"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: mountin käyttöön vaaditaan pääkäyttäjän oikeudet"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s on varattu"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc on jo liitetty"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s on jo liitetty tai %s on varattu"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: liitospiste %s ei ole olemassa"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: liitospiste %s on symlinkki olemattomaan"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: erikoislaite %s ei ole olemassa"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: erikoislaite %s ei ole olemassa\n"
+" (polun etuliite ei ole hakemisto)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s ei ole vielä liitetty, tai virheellinen valitsin"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: väärä tiedostojärjestelmän tyyppi, virheellinen valitsin, viallinen \n"
+" superlohko laitteella %s, puuttuva koodisivu tai apuohjelma, tai muu "
+"virhe"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (voisiko tämä olla IDE-laite, joka käyttää ide-scsi-ajuria,\n"
+" jolloin käytetään sr0:aa tai sda:ta?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (etkö yritäkin liittää laajennettua osiota, etkä\n"
+" sen sisältämää loogista osiota?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Joissakin tapauksissa järjestelmälokista löytyy hyödyllistä\n"
+" tietoa – kokeile esim. komentoa ”dmesg | tail”.\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "liitostaulukko täynnä"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: superlohkoa ei voi lukea"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: tuntematon laite"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: tuntematon tiedostojärjestelmän tyyppi ”%s”"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: tarkoitat todennäköisesti %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: ehkä tarkoitit ”iso9660”?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: ehkä tarkoitit ”vfat”?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: tiedoston %s laitenumero on väärä tai tiedostojärjestelmätyyppi %s ei "
+"ole tuettu"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s ei ole lohkolaite, ja tilan luku epäonnistuu?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: ydin ei tunnista tiedostoa %s lohkolaitteeksi\n"
+" (ehkä ”insmod ajuri” auttaa?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s ei ole lohkolaite (yritä ”-o loop”?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s ei ole lohkolaite"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s ei ole kelvollinen lohkolaite"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "lohkolaite "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: ei voi liittää %s%s vain luku -tilassa"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s on kirjoitussuojattu, mutta ”-w” -lippu on annettu"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: ei voi liittää %s%s vain luku -tilassa"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s on kirjoitussuojattu, liitetään vain luku -tilassa"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s on jo liitetty paikkaan %s\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: tyyppiä ei annettu – kaksoispisteen perusteella sen oletetaan olevan "
+"nfs\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: tyyppiä ei annettu – //-alkuliitteen perusteella sen oletetaan olevan "
+"cifs\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s on jo liitetty paikkaan %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Käyttö: mount -V : näytä versio\n"
+" mount -h : näytä tämä ohje\n"
+" mount : näytä liitetyt tiedostojärjestelmät\n"
+" mount -l : sama kuin edellä, lisäksi nimiöt\n"
+"Siinä informatiivinen osuus. Seuraavaksi liittäminen.\n"
+"Komento kuuluu ”mount [-t tied.järj.tyyppi] jotakin jonnekin”.\n"
+"Tiedostossa /etc/fstab olevat yksityiskohdat voi jättää pois.\n"
+" mount -a [-t|-O] ... : liitä kaikki tiedostosta /etc/fstab\n"
+" mount laite : liitä laite tunnettuun paikkaan\n"
+" mount hakemisto : liitä tunnettu laite tänne\n"
+" mount -t tyyppi laite hak: normaali liitoskomento\n"
+"Huomaa, että oikeasti ei liitetä laitetta, vaan laitteella oleva\n"
+"(annetun tyypin mukainen) tiedostojärjestelmä.\n"
+"Voidaan myös liittää jo näkyvissä oleva hakemistopuu muualle:\n"
+" mount --bind vanha_hak uusi_hak\n"
+"tai siirtää alipuu:\n"
+" mount --move vanha_hak uusi_hak\n"
+"Hakemiston hak sisältävän liitoksen tyyppiä voi muuttaa:\n"
+" mount --make-shared hak\n"
+" mount --make-slave hak\n"
+" mount --make-private hak\n"
+" mount --make-unbindable hak\n"
+"Kaikkien liitoksen alipuussa olevien hakemiston hak sisältävien\n"
+"liitosten tyyppiä voi muuttaa:\n"
+" mount --make-rshared hak\n"
+" mount --make-rslave hak\n"
+" mount --make-rprivate hak\n"
+" mount --make-runbindable hak\n"
+"Laite voidaan antaa nimellä, esim. /dev/hda1 tai /dev/cdrom,\n"
+"tai nimiöllä, käyttäen -L nimiö tai uuid:lla, käyttäen -U uuid .\n"
+"Muut valitsimet: [-nfFrsvw] [-o valitsimet] [-p kahva].\n"
+"Paljon lisätietoja komennolla: man 8 mount .\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: vain root voi tehdä tuon"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: vain root voi tehdä tuon"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "mitään ei liitetty"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: osiota ei löydy"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %s ei löydy tiedostosta %s, eikä %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: varoitus: tiedoston %s lopussa ei ole rivinvaihtoa\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: rivi %d tiedostossa %s on virheellinen%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; loput tiedostosta jätetään huomioimatta"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "ohjelmistovika xstrndup-kutsussa"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "muisti ei riitä"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: käännetty ilman tukea valitsimelle -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: ryhmä-id:tä ei voi asettaa: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: käyttäjä-id:tä ei voi asettaa: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: haarauttaminen ei onnistu: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: virheellinen lohkolaite"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ei ole liitettynä"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: superlohkoa ei voi kirjoittaa"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: ei löydy"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: vaaditaan pääkäyttäjän oikeudet"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: lohkolaitteita ei sallita tiedostojärjestelmässä"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: hakemistoon %s ei voi siirtyä – %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: nykyistä hakemistoa ei voida hakea – %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: liitospiste %s ei ole olemassa"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ohjelmaa umount2 ei ole, kokeillaan ohjelmaa umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s on varattu – uudelleenliitettiin vain luku -tilassa\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+"umount: kohteen %s uudelleenliittäminen vain luku -tilassa epäonnistui\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s irrotettu\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: irrotettavien tiedostojärjestelmien listaa ei löydy"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Käyttö: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vtied.järj.tyypit] [-O "
+"valitsimet]\n"
+" umount [-d] [-f] [-r] [-n] [-v] erikoistied | solmu...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "Kohdetta ”” ei voi irrottaa\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Yritetään irrottaa %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "%s ei löytynyt tiedostosta mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s ei ole liitetty (mtab-tiedoston mukaan)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: %s vaikuttaa olevan liitettynä useita kertoja"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s ei ole tiedostossa fstab (etkä ole root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s on ristiriidassa tiedoston fstab kanssa"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: vain %s voi irrottaa laitteen %s paikasta %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: vain root voi tehdä tämän"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS yli TCP:n ei ole tuettu.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: tiedostolle %s ei löydy laitetta\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "virheellinen valitsin"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty epäonnistui\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty epäonnistui\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "virheellinen valitsin"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "virheellinen id: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Tuntematon komento: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "%s: Tuntematon virhe tiedostossa %s\n"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "käynnistys epäonnistui\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "Käyttö: %s [valitsimet] <ohjelma> [arg...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla namei(1).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "virhe: UUID:n jäsennys epäonnistui"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "laitteen %s kokoa ei voi hakea"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "calloc epäonnistui"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "siirtyminen epäonnistui"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: ”%s” ei ole olemassa.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: ”%s” ei ole käynnistettävä.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Automaattinen konfigurointi epäonnistui.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Automaattinen konfigurointi epäonnistui.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "virheellinen rivien määrä"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"Käyttö: %s [valitsimet]\n"
+"\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: tuntematon argumentti: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Käyttö: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Vain root voi määritellä Ctrl-Alt-Del:n vaikutuksen.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld oletuskynnys ja %ld oletusaikakatkaisu\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Tämä pieni käyttöopas\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Tiedosto %s, kynnysarvolle %lu, suurin merkkimäärä fifossa oli %d,\n"
+"ja suurin siirtonopeus (merkkiä/sekunti) oli %f\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Tiedosto %s, kynnysarvolle %lu ja aikakatkaisuarvolle %lu, suurin "
+"merkkimäärä fifossa oli %d,\n"
+"ja suurin siirtonopeus (merkkiä/sekunti) oli %f\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday epäonnistui"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "Laitteelle %s ei voi käyttää CYGETMONia: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Laitteelle %s ei voi hakea kynnystä: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Laitteelle %s ei voi hakea aikarajaa: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Virheellinen sisäinen arvo: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Virheellinen sisäinen arvo: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Virheellinen asetettu arvo: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Virheellinen asetettu arvo: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Virheellinen oletusarvo: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Virheellinen oletusarvo: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Virheellinen asetettu aika-arvo: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Virheellinen asetettu aika-arvo: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Virheellinen oletusaika-arvo: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Virheellinen oletusaika-arvo: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Laitteelle %s ei voi asettaa kynnystä %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "Laitteelle %s ei voi asettaa aikakynnystä %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld nykyinen kynnys ja %ld nykyinen aikakatkaisu\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld oletuskynnys ja %ld oletusaikakatkaisu\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Tämä osio on ei ole käytettävissä"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "virhe suljettaessa laitetta %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Varoitus: osio %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "viestit"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "laitetta %s ei voi avata"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "laitetta %s ei voi avata"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Tuntematon komento: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "Ei hakemistoa %s!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync epäonnistui"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "laitetta %s ei voi avata"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "kirjoittaminen epäonnistui: %s"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "virheellinen valitsin"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "gettimeofday epäonnistui"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "ei komentoa?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fsync epäonnistui"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr ""
+"Käyttö: %s [valitsimet] <tiedostonimi>\n"
+"\n"
+"Valitsimet:\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "virheellinen id: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "virheellinen id: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+#, fuzzy
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "mount: ydin ei tue tiedostojärjestelmätyyppiä %s"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+#, fuzzy
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "mount: ydin ei tue tiedostojärjestelmätyyppiä %s"
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "ei ole lohkolaite eikä tiedosto: %s"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "liittäminen epäonnistui"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: käyttäjä-id:tä ei voi asettaa: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "laitetta %s ei voi avata"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: liitospiste %s ei ole olemassa"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: uudelleennimeäminen %s → %s epäonnistui: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "fsck: %s: ei löytynyt\n"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " siirrettävä"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Käytetään oletusarvoa %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "Loop-laite on %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "fsck: %s: ei löytynyt\n"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: ei ole lohkolaite\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "Loop-laite on %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "%s: %s: laite on varattu"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s onnistui.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "käynnistys epäonnistui\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "hakemiston avaaminen epäonnistui\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Liian vähän argumentteja"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "Virheellinen asetettu arvo: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "Virheellinen asetettu arvo: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "Valitsinta --date ei ole annettu.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "segmenttejä enintään = %lu\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "openpty epäonnistui\n"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: käyttäjä-id:tä ei voi asettaa: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "virheellinen id"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s vaatii argumentin\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() epäonnistui"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr ""
+"Käyttö: %s [valitsimet] <tiedostonimi>\n"
+"\n"
+"Valitsimet:\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla wipefs(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "Valitsinta --date ei ole annettu.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "Valitsinta --date ei ole annettu.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "openpty epäonnistui\n"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "openpty epäonnistui\n"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "Valitsinta --date ei ole annettu.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "openpty epäonnistui\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "laitetta %s ei voi avata"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Oletetaan laitteistokellon olevan %sajassa.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC-"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "paikallisessa "
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Varoitus: tunnistamaton kolmas rivi adjtime-tiedostossa\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Viimeinen siirtymäsäätö tehty %ld sekuntia vuoden 1969 jälkeen\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Viimeinen kalibrointi tehty %ld sekuntia vuoden 1969 jälkeen\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Laitteistokello on %sajassa\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Odotetaan kellon tikitystä...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...saatiin tikitys\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"Virheellisiä arvoja laitteistokellossa: %3$.2d.%2$.2d.%1$4d %4$.2d:%5$.2d:"
+"%6$.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Laitteistokellon aika: %3$.2d.%2$.2d.%1$4d %4$.2d:%5$.2d:%6$.2d = %7$ld "
+"sekuntia vuodesta 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+"Laitteistokellosta luettu aika: %3$.2d.%2$.2d.%1$4d %4$02d:%5$02d:%6$02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Asetetaan laitteistokello aikaan %.2d:%.2d:%.2d = %ld sekuntia vuodesta "
+"1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Kellonaikaa ei muutettu – pelkkä testi.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Viiteajankohdasta on kulunut %.6f sekuntia.\n"
+"Odotetaan seuraavaa täyttä sekuntia.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Laitteistokellon rekistereissä on arvoja, jotka ovat joko kelvottomia (esim. "
+"kuukauden 50:s päivä) tai suurempia kuin pystymme käsittelemään (esim. vuosi "
+"2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f sekuntia\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "Valitsinta --date ei ole annettu.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "liian pitkä --date-argumentti\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Valitsimelle --date annettu arvo ei ole kelvollinen päiväys.\n"
+"Se sisältää lainausmerkkejä.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Käynnistetään ”date”-komento: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Komentoa ”date” ei voitu ajaa /bin/sh-kuoressa. popen() epäonnistui"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "date-komennon vastaus = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"%sin käynnistämä ”date”-komento palautti odottamattomia tuloksia.\n"
+"Komento oli:\n"
+" %s\n"
+"Vastaus oli:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"%sin käynnistämä ”date”-komento palautti muuta kuin kokonaisluvun odotetun "
+"muunnetun aika-arvon paikalla.\n"
+"Komento oli:\n"
+" %s\n"
+"Vastaus oli:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "päiväysmerkkijono %s vastaa %ld sekuntia vuodesta 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Laitteistokellon aika ei ole kelvollinen, joten järjestelmän aikaa ei voida "
+"asettaa sen perusteella.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Kutsutaan settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Järjestelmäkelloa ei aseteta, koska käytetään testitilaa.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Vain pääkäyttäjä voi asettaa järjestelmän kellon.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() epäonnistui"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Ei säädetä siirtymäkerrointa, koska laitteistokellossa oli edellisellä "
+"kerralla roskaa.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Ei säädetä siirtymäkerrointa, koska edellinen kalibrointiaika on nolla,\n"
+"joten historia on virheellinen ja kalibroinnin uudelleen aloitus on\n"
+"tarpeellista.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Ei säädetä siirtymäkerrointa, koska edellisestä kalibroinnista on alle "
+"vuorokausi.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Kellon siirtymä oli %.1f sekuntia viimeisten %d sekunnin aikana, %f sekuntia/"
+"vrk -siirtymäkertoimesta\n"
+"huolimatta. Säädetään siirtymäkerrointa %f sekunnilla/vrk\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Aikaa edellisestä säädöstä on kulunut %d sekuntia\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "On lisättävä %d sekuntia ja viitattava aikaan %.6f sekuntia sitten\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Ei päivitetä adjtime-tiedostoa, koska käytetään testaustilaa.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Tiedostoon %s olisi kirjoitettu seuraavaa:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Siirtymänsäätöparametreja ei päivitetty.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr "Laitteistokellon aika ei ole kelvollinen, joten sitä ei voi säätää.\n"
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Ei aseteta kelloa, koska edellinen kalibrointiaika on nolla, joten historia "
+"on virheellinen."
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr "Tarvittava muutos on alle sekunti, joten ei aseteta kelloa.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Käytetään rajapintaa %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Käyttökelpoista kellorajapintaa ei löytynyt.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Järjestelmäkellon asetus ei onnistu.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Ydin säilyttää laitteistokellon epoch-arvoa vain Alpha-koneilla.\n"
+"Tämä hwclock on käännetty muulle koneelle kuin Alphalle\n"
+"(ja todennäköisesti sitä ei ajeta Alphassa nyt). Toimintoa ei suoritettu.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Ytimeltä ei saada epoch-arvoa.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Ydin olettaa epoch-arvoksi %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr "Epoch-arvon asettamiseksi on käytettävä ”epoch”-valitsinta.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Ei aseteta epoch-arvoksi %d – vain kokeilu.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Ytimen epoch-arvoa ei voi asettaa.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"Valitsimet:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" kertoo hwclockille Alphan tyypin (ks. hwclock(8))\n"
+"\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "%s: Audit-järjestelmään yhdistäminen ei onnistu\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "virheellinen valitsin"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s ottaa vain valitsimia argumentteina. Annoit %d muuta.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+"%s: Valitsimen --noadjfile kanssa on käytettävä joko valitsinta --utc tai --"
+"localtime\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Ei käyttökelpoista aikaa asetettavaksi. Kelloa ei voida asettaa.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Valitettavasti vain pääkäyttäjä voi säätää laitteistokelloa.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Valitettavasti vain pääkäyttäjä voi säätää järjestelmäkelloa.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Valitettavasti vain pääkäyttäjä voi säätää laitteistokellon epoch-arvoa "
+"ytimessä.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "Laitteistokelloa ei pystytä käyttämään millään tunnetulla tavalla.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Käytä --debug -valitsinta nähdäksesi yksityiskohdat käyttötavan etsinnästä.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "käynnistetty MILOsta\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD -kello\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "kelloportiksi asetettu 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: atominen ”%s” epäonnistui 1000 iteraation ajan!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "En saanut käyttöoikeutta, koska en yrittänyt.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "%s ei saa käyttöoikeutta I/O-porttiin: iopl(3)-kutsu epäonnistui.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Tarvitset todennäköisesti pääkäyttäjän oikeudet.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Odotetaan silmukassa KDGHWCLK-ajan muuttumista\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "ajan lukeva KDGHWCLK-ioctl epäonnistui"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "ajan lukeva KDGHWCLK-ioctl epäonnistui silmukassa"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Aikakatkaisu odotettaessa ajan muutosta.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK epäonnistui"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Laitetta /dev/tty1 tai /dev/vc/1 ei voi avata"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK-ioctl epäonnistui"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "aikaa lukeva ioctl() laitteelle %s epäonnistui.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Odotetaan silmukassa laitteen %s ajan muuttumista\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "laitteella %s ei ole keskeytysfunktioita. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "kellon tikitystä odottava read()-kutsu laitteelle %s epäonnistui"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "kellon tikitystä odottava select()-kutsu laitteelle %s epäonnistui"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr ""
+"kellon tikitystä odottava select()-kutsu laitteelle %s aikakatkaistiin\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "päivityskeskeytykset lopettava ioctl() laitteelle %s epäonnistui"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"päivityskeskeytykset aloittava ioctl() laitteelle %s epäonnistui "
+"odottamattomasti"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ajan asettava ioctl() laitteelle %s epäonnistui.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) onnistui.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Ytimen epoch-arvon muuttamiseksi on käytettävä Linuxin ”rtc”-laiteajuria "
+"laitetiedoston %s kautta. Tässä järjestelmässä ei ole kyseistä tiedostoa.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) laitteelle %s epäonnistui"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "luimme epoch-arvon %ld laitteelta %s ioctl:llä RTC_EPOCH_READ.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Epoch-arvo ei voi olla pienempi kuin 1900. Pyyntö oli %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "asetetaan epoch-arvoksi %ld, ioctl RTC_EPOCH_SET laitteelle %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Ytimen laiteajurissa laitteelle %s ei ole ioctl:ää RTC_EPOCH_SET.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) laitteelle %s epäonnistui"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output Ei normaalia tulostetta\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "Viestijonon id: %d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "varattuja semaforeja = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "Semaforin id: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Jaetun muistin segmentti jmuisti-id=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "Viestijonon id: %d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "Semaforin id: %d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: lupa evätty"
+
+#: sys-utils/ipcrm.c:102
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: lupa evätty"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "virheellinen id"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "siirtyminen epäonnistui"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() epäonnistui"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "virheellinen id: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Liian vähän argumentteja"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "resurssi(t) poistettu\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: virheellinen avain (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr ""
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr ""
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr ""
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: tuntematon argumentti: %s\n"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "vaaralliset valitsimet:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Jaetun muistin rajat --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "segmenttejä enintään = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "segmentin enimmäiskoko (ktavua) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "jaettua muistia yhteensä enintään (ktavua) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "segmentin vähimmäiskoko (tavua) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Jaetun muistin tila ---------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "jmuisti-id"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "oikeudet"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "omistaja"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:336
+#, fuzzy
+msgid "changed"
+msgstr "Kuori vaihdettu.\n"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ Jaetun muistin tila ---------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Jaetun muistin segmentit ------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "avain"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "tavut"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "liit-määrä"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Ei asetettu"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "kohde"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "lukittu"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------- Semaforien rajat -------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "taulukkoja enintään = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "semaforeja taulukossa enintään = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "semaforeja järjestelmässä enintään = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "operaatioita semop-kutsua kohden enintään = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "semaforin arvo enintään = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------- Semaforien tila --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "käytettyjä taulukoita = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "varattuja semaforeja = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "----- Semaforitaulukoiden Luojat/Omistajat -----\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Semaforien Operaatio-/Muutosajat --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+#, fuzzy
+msgid "last-changed"
+msgstr "Salasanaa ei vaihdettu."
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaforitaulukot --------\n"
+
+#: sys-utils/ipcs.c:463
+#, fuzzy
+msgid "nsems"
+msgstr "käyttäjää"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------- Viestien rajat ---------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "jonoja järjestelmässä enintään = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "viestin koko enintään (tavua) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "jonon oletusenimmäiskoko (tavua) = %d\n"
+
+# Ilman kaksoispistettä Status-otsikoiden yhtenäisyyden vuoksi
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------- Viestien tila --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "varattuja jonoja = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "käytettyjä otsakkeita = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "käytettyä tilaa = %d tavua\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------- Viestijonot: Luojat/Omistajat ----------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "vstjno-id"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "----- Viestijonot: Läh.-/Vast.otto-/Muutosajat ------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "send"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "recv"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------- Viestijonot: PIDit --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "-------- Viestijonot ---------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "käyt-tavut"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "viestit"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl epäonnistui"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Jaetun muistin segmentti jmuisti-id=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync epäonnistui"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Viestijonon msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "siirtyminen epäonnistui"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "value"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "virheellinen id: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "virheellinen valitsin"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "virheellinen valitsin"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "virheellinen id: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s ei ole lohkolaite"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "laitteen %s kokoa ei voi hakea"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Levyasemalla ei voi siirtyä"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "laitetta %s ei voi avata"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", siirtymä %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", kokoraja %<PRIu64>"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", salaus %s (tyyppi %<PRIu32>)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s epäonnistui.\n"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s epäonnistui.\n"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"käyttö:\n"
+" %s loop-laite # näytä tietoja\n"
+" %s -d loop-laite # poista\n"
+" %s -f # etsi vapaa\n"
+" %s [ -e salaus ] [ -o siirtymä ] loop-laite tiedosto # aseta\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: loop-laite annettu kahdesti"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "Valitsinta --date ei ole annettu.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "Muistia ei voitu lukita, poistutaan.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: tiedostolle %s ei löydy laitetta\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "lue osiotaulu uudelleen"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: liitos epäonnistui"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "Ei mitään"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "hae sektorikoko"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "hae sektorikoko"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr "virhe: UUID:n jäsennys epäonnistui"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "Puskuria ei voi varata.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "nfs socket"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Vanha tilanne:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla wipefs(8).\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: vain root voi tehdä tuon"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: vain root voi tehdä tuon"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: vain root voi liittää %s pisteeseen %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: vain root voi tehdä tuon"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s paketista %s%s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "siirtymisvirhe"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s on jo liitetty paikkaan %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: vain root voi liittää %s pisteeseen %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s on jo liitetty paikkaan %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: %s ei löydy tiedostosta %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: %s ei löydy tiedostosta %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: %s ei löydy tiedostosta %s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: Tiedostojärjestelmän tyyppiä ei voitu määrittää, eikä tyyppiä ole "
+"annettu"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: tiedostojärjestelmän tyyppi on annettava"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: tiedostoa %s ei voi linkittää: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: liitos epäonnistui"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "liittäminen epäonnistui"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: liitos epäonnistui"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: liitospiste %s ei ole hakemisto"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: mountin käyttöön vaaditaan pääkäyttäjän oikeudet"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s on varattu"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s on jo liitetty tai %s on varattu"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s on jo liitetty paikkaan %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: liitospiste %s ei ole olemassa"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: liitospiste %s on symlinkki olemattomaan"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: erikoislaite %s ei ole olemassa"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "liittäminen epäonnistui"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: erikoislaite %s ei ole olemassa\n"
+" (polun etuliite ei ole hakemisto)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s ei ole vielä liitetty, tai virheellinen valitsin"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s ei ole vielä liitetty, tai virheellinen valitsin"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: väärä tiedostojärjestelmän tyyppi, virheellinen valitsin, viallinen \n"
+" superlohko laitteella %s, puuttuva koodisivu tai apuohjelma, tai muu "
+"virhe"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Joissakin tapauksissa järjestelmälokista löytyy hyödyllistä\n"
+" tietoa – kokeile esim. komentoa ”dmesg | tail”.\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: superlohkoa ei voi lukea"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: tuntematon tiedostojärjestelmän tyyppi ”%s”"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s ei ole lohkolaite, ja tilan luku epäonnistuu?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: ydin ei tunnista tiedostoa %s lohkolaitteeksi\n"
+" (ehkä ”insmod ajuri” auttaa?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s ei ole lohkolaite (yritä ”-o loop”?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: ei ole lohkolaite\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s ei ole kelvollinen lohkolaite"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: ei voi liittää %s%s vain luku -tilassa"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s on kirjoitussuojattu, mutta ”-w” -lippu on annettu"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: ei voi liittää %s%s vain luku -tilassa"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s on kirjoitussuojattu, liitetään vain luku -tilassa"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s on jo liitetty paikkaan %s\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: uudelleennimeäminen %s → %s epäonnistui: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: liitos epäonnistui"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s on liitetty.\t "
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr ""
+"Käyttö: %s [valitsimet] <tiedostonimi>\n"
+"\n"
+"Valitsimet:\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld lohkoa\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS-toisio"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "virheellinen i-solmun koko"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "segmenttejä enintään = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "segmenttejä enintään = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "segmenttejä enintään = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "viestit"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "segmenttejä enintään = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Virheellinen käyttäjänimi"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "lohkolaite "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Yksiköt"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr ""
+"\n"
+"Käyttö: %s [valitsimet]\n"
+"\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"Valitsimet:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "vaaralliset valitsimet:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: Valitsimet --adjfile ja --noadjfile ovat toisensa poissulkevat. Käytit "
+"molempia.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Alku- Loppu-\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unquote Ei lainausmerkkejä tulosteeseen\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Tämä pieni käyttöopas\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test Testaa getopt(1):n versio\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "virhe kirjoitettaessa %s: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): väärä kartan rivi\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: merkkijonoa ”_stext” ei löydy tiedostosta %s\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr ""
+"%s: profiiliosoite sallitun välin ulkopuolella. Väärä karttatiedosto?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "yhteensä"
+
+#: sys-utils/renice.c:57
+#, fuzzy, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+"\n"
+"Käyttö:\n"
+" renice [-n] prioriteetti [-p|--pid] pid [... pid]\n"
+" renice [-n] prioriteetti -g|--pgrp pryhmä [... pryhmä]\n"
+" renice [-n] prioriteetti -u|--user käyttäjä [... käyttäjä]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla unshare(1).\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice – %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Tuntematon komento: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "virheellinen aikakatkaisuarvo: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "käyttäjä"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: vanha prioriteetti %d, uusi prioriteetti %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "gettimeofday epäonnistui"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "varattuja semaforeja = %d\n"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "virhe: UUID:n jäsennys epäonnistui"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "siirtyminen epäonnistui"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "varattuja semaforeja = %d\n"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "gettimeofday epäonnistui"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: tunnistamaton virransäästötila ”%s”\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "virheellinen valitsin"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "virheellinen valitsin"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: oletetaan RTC:n käyttävän UTC:tä...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Käytetään UTC-aikaa.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Käytetään paikallista aikaa.\n"
+
+#: sys-utils/rtcwake.c:491
+#, fuzzy
+msgid "must provide wake time (see -t and -s options)"
+msgstr "%s: herätysaika on annettava\n"
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s ei ole lp-laite.\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "Viesti %3$s:lle kirjautuneelta käyttäjältä %1$s@%2$s, kello %4$s..."
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "Viesti %3$s:lle kirjautuneelta käyttäjältä %1$s@%2$s, kello %4$s..."
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "lukeminen epäonnistui: %s"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+"Käyttö: %s%s [valitsimet] [ohjelma [ohjelman argumentit]]\n"
+"\n"
+"Valitsimet:\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Komento ”%s --help” antaa lisää tietoa.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Komento ”%s --help” antaa lisää tietoa.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: Tunnistamaton arkkitehtuuri"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Liian vähän argumentteja"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "Käyttö: %s [valitsimet] <ohjelma> [arg...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() epäonnistui"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "käynnistys epäonnistui\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s laitteella %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "Et ole pääkäyttäjä.\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s epäonnistui.\n"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d poista osio"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "polun tilan lukeminen epäonnistui\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "polun tilan lukeminen epäonnistui\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Merkitse käyttöön"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "käynnistys epäonnistui\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "siirtyminen epäonnistui"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "kirjoittaminen vakiotulosteeseen epäonnistui"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Nimi"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"%s: varoitus: tiedostolla %s on turvattomat oikeudet %04o, suositellaan "
+"%04o\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+"%s: varoitus: tiedostolla %s on turvattomat oikeudet %04o, suositellaan "
+"%04o\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: Ohitetaan tiedosto %s – siinä vaikuttaa olevan reikiä.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "siirtyminen epäonnistui"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s laitteella %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s epäonnistui.\n"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Käytettävissä olevat komennot:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: tiedostolle %s ei löydy laitetta\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "%s epäonnistui.\n"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "Yritetään irrottaa %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: nykyistä hakemistoa ei voida hakea – %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr ""
+"Käyttö: %s [valitsimet] <tiedostonimi>\n"
+"\n"
+"Valitsimet:\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "%s epäonnistui.\n"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unquote Ei lainausmerkkejä tulosteeseen\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unquote Ei lainausmerkkejä tulosteeseen\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "virheellinen aikakatkaisuarvo: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s ei ole lp-laite.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "LPGETIRQ-virhe"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s:n tila on %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", varattu"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", valmis"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", paperi lopussa"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", virhe"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fsync epäonnistui"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ-virhe"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s käyttää IRQ:ta %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s käyttää kiertokyselyä\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "liittäminen epäonnistui"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: liitos epäonnistui"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: virheellinen lohkolaite"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: superlohkoa ei voi lukea"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: vaaditaan pääkäyttäjän oikeudet"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: lohkolaitteita ei sallita tiedostojärjestelmässä"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "Käyttö: %s [valitsimet] <ohjelma> [arg...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "siirtyminen epäonnistui"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "%s epäonnistui.\n"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Kirjautuminen aikakatkaistiin %d sekunnin jälkeen\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Kirjautuminen aikakatkaistiin %d sekunnin jälkeen\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "lohkolaite "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "status"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "mount: %s: tuntematon laite"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: tuntematon argumentti: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "Loop-laite on %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Käytettävissä olevat komennot:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: tuntematon signaali %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Laitteelle %s ei voi hakea aikarajaa: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "siirtyminen epäonnistui funktiossa write_tables"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f sekuntia\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "aikakatkaistu"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Laite"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s: versio %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: ohjelmaa %s ei voi käynnistää: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "virhe: vaihda työhakemistoksi %s."
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: prosessia ”%s” ei löydy\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ohjelmaa %s ei voi käynnistää: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "Puskuria ei voi varata.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "virheellinen aikakatkaisuarvo: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "virheellinen nopeus: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "liian monta vaihtoehtoista nopeutta"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: ei voi avata vakiosyötteenä: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ei ole merkkilaite"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: ei ole avoin lukua/kirjoitusta varten"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: ongelma tiedostokahvan kopioinnissa: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tyyppi: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: luku: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: syötteen ylivuoto"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "käyttäjä"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "käyttäjää"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr ""
+"\n"
+"Käyttö: %s [valitsimet]\n"
+"\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "siirtyminen epäonnistui"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "on y\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "on n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "varattuja semaforeja = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "virheellinen id: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Varoitus: ”%s” on linkki.\n"
+"Käytä ”%s [valitsimet] %s” jos todella haluat käyttää sitä.\n"
+"Skriptiä ei käynnistetty.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Skripti käynnistetty, tiedosto on %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Skripti käynnistetty %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: tiedostolle %s ei löydy laitetta\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Skripti suoritettu %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Skripti suoritettu, tiedosto on %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty epäonnistui\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "Pty:t lopussa\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "kirjoittaminen vakiotulosteeseen epäonnistui"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "segmenttejä enintään = %lu\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: %s: odottamaton tiedostomuoto\n"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: Argumenttivirhe, käyttö\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "haarauttaminen ei onnistu"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "haarauttaminen ei onnistu"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "laitetta %s ei voi avata\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "virransäästötilaa ei voi asettaa (pois)\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "laitetta %s ei voi avata kirjoitusta varten\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "klogctl-virhe: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Virhe kirjoitettaessa näyttövedosta\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Tiedostoa %s ei voitu avata\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM ei ole määritelty.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: tuntematon signaali %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "liian monta iov:tä (muuta koodia tiedostossa wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "liian pitkä riviargumentti"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "haarauttaminen ei onnistu"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "virheellinen aikakatkaisuarvo: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: käyttäjä-id:tä ei voi asettaa: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Levyn kokoa ei voi hakea"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Yleislähetysviesti käyttäjältä %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: ei lueta tiedostoa %s – käytä vakiosyötettä.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "lukeminen epäonnistui: %s"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr ""
+"\n"
+"Käyttö: %s [valitsimet] polku [polku ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: tty:si nimeä ei löydy\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: sinulla ei ole kirjoitusoikeutta.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s ei ole kirjautuneena päätteellä %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s on estänyt viestit päätteellä %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s ei ole kirjautuneena\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s ei vastaanota viestejä\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr ""
+"write: %s on kirjautuneena useammin kuin kerran; kirjoitetaan kohteeseen %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Syöterivi on liian pitkä.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr ""
+"Viesti %4$s:lle kirjautuneelta käyttäjältä %1$s@%2$s (%3$s), kello %5$s..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Viesti %3$s:lle kirjautuneelta käyttäjältä %1$s@%2$s, kello %4$s..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "calloc epäonnistui"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: kirjoitusvirhe.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: virheellinen -l -argumentti %s.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: varoitus: varmistaminen ei onnistu %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "ensimmäisestä rivistä eteenpäin"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- rivipuskuri on jo tyhjennetty"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"Käyttö: %s [valitsimet]\n"
+"\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: virheellinen -l -argumentti %s.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: virheellinen -l -argumentti %s.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla ipcmk(1).\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "virheellinen valitsin"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "segmenttejä enintään = %lu\n"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: tuntematon valitsin ”-%c”\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: hakemisto ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"***** %s: Ei ole tekstitiedosto *****\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Käytä q tai Q lopettaaksesi]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Lisää--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Seuraava tiedosto: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Välilyönti jatkaa, ”q” lopettaa.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...%d sivua taaksepäin"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...1 sivu taaksepäin"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...ohitetaan yksi rivi"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...ohitetaan %d riviä"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Takaisin***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Virhe säännöllisessä lausekkeessa"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"Useimpia komentoja voi edeltää valinnainen kokonaislukuargumentti k.\n"
+"Oletusasetukset hakasulkeissa.\n"
+"Asteriskilla (*) merkityissä komennoissa argumentista tulee uusi "
+"oletusarvo.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<väli> Näytä seuraavat k riviä tekstiä [nykyinen ruudun "
+"rivimäärä]\n"
+"z Näytä seuraavat k riviä tekstiä [nykyinen ruudun "
+"rivimäärä]*\n"
+"<return> Näytä seuraavat k riviä tekstiä [1]*\n"
+"d tai ctrl-D Vieritä k riviä [nykyinen vieritysmäärä, alkuarvo 11]"
+"*\n"
+"q tai Q or <keskeytys> Poistu moresta\n"
+"s Ohita k riviä ja siirry eteenpäin [1]\n"
+"f Ohita k ruutua tekstiä ja siirry eteenpäin [1]\n"
+"b tai ctrl-B Ohita k ruutua tekstiä ja siirry taaksepäin [1]\n"
+"' Palaa kohtaan, josta edellinen haku alkoi\n"
+"= Näytä nykyinen rivinumero\n"
+"/<säännöllinen lauseke> Etsi säännöllisen lausekkeen k:s esiintymä [1]\n"
+"n Etsi edellisen säännöllisen lausekkeen k:s esiintymä "
+"[1]\n"
+"!<kom> tai :!<kom> Käynnistä <kom> alikuoressa\n"
+"v Käynnistä /usr/bin/vi nykyiselle riville\n"
+"ctrl-L Piirrä ruutu uudelleen\n"
+":n Siirry k:nteen seuraavaan tiedostoon [1]\n"
+":p Siirry k:nteen edelliseen tiedostoon [1]\n"
+":f Näytä nykyinen tiedostonimi ja rivinumero\n"
+". Toista edellinen komento\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Näppäin ”h” näyttää ohjeita.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "”%s” rivi %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Ei tiedosto] rivi %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Ylivuoto\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...ohitetaan\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Hahmoa ei löydy\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Hahmoa ei löydy"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "käynnistys epäonnistui\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "haarauttaminen ei onnistu\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Ohitetaan"
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Vaihdetaan tiedostoon "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Palataan tiedostoon "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Liian pitkä rivi"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Ei edellistä komentoa korvattavaksi"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "liian pitkä rivi"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: tavumäärä useiden muunnosmerkkien kanssa.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: virheellinen tavumäärä muunnosmerkille %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: %%s vaatii tarkkuuden tai tavumäärän.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: virheellinen muoto {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: virheellinen muunnosmerkki %%%s.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p Tulosta osiotaulu ruudulle tai tiedostoon"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : älä kirjoita levylle oikeasti"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: valitsin vaatii argumentin – %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: virheellinen valitsin – %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...ohitetaan eteenpäin\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...ohitetaan taaksepäin\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Ei seuraavaa tiedostoa"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Ei edellistä tiedostoa"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Lukuvirhe tiedostosta %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Odottamaton tiedoston loppu (EOF) tiedostossa %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Tuntematon virhe tiedostossa %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Väliaikaistiedostoa ei voi luoda\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "Virhe säännöllisessä lausekkeessa: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(tiedoston loppu)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Ei muistettua hakumerkkijonoa"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "laitetta %s ei voi avata"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "tallennettu"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !-komento ei ole sallittu rajoitetussa tilassa.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() epäonnistui, yritä myöhemmin uudelleen\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Seuraava tiedosto: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla unshare(1).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "Valitsinta --date ei ole annettu.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "ongelma luettaessa terminfoa"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Tuntematon ohjaussarja syötteessä: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Syöterivi on liian pitkä.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "openpty epäonnistui\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "Tiedostoa ”%s” ei voi avata"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "laitteen %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Tiedostoa %s ei voitu avata\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "openpty epäonnistui\n"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "laitetta ”%s” ei voi avata: %s"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "laitteen %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "laitteen %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Tiedostoa ”%s” ei voi avata"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Tällä levyllä on sekä DOS-, että BSD-taikatavut.\n"
+#~ "Siirry BSD-tilaan ”b”-komennolla.\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "laitetta %s ei voi avata"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: tiedostoa %s ei voi avata\n"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "Tiedostoa %s ei voi avata lukua varten, poistutaan."
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "Tiedostoa ”%s” ei voi avata"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Tiedostoa %s ei voitu avata\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "laitteen %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "laitteen %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s epäonnistui.\n"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Ei voi avata laitetta /dev/port: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "tiedoston %s avaaminen epäonnistui"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Tiedoston %s avaaminen epäonnistui"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Laitetta %s ei voi avata"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "Puskuria ei voi varata.\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "tiedoston %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "tiedoston %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "tiedoston %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "stat epäonnistui: %s"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "Tiedostoa ”%s” ei voi avata"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "Tiedostoa ”%s” ei voi avata"
+
+#~ msgid "Cannot open "
+#~ msgstr "Ei voi avata "
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "Tiedostoa ”%s” ei voi avata lukua varten\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "laitteen %s tilaa ei voi lukea"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "käyttö: %s [-hv] [-x hak] tiedosto\n"
+#~ " -h näytä tämä ohje\n"
+#~ " -x hak pura hakemistoon hak\n"
+#~ " -v monisanaisuus\n"
+#~ " tiedosto tarkistettava tiedosto\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Käyttö: %s [-larvsmf] /dev/nimi\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "%s: virhe: ei yritetä luoda sivutuslaitetta kohteeseen ”%s”\n"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "laitteen %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Käyttö: %s [valitsimet] <tiedostonimi>\n"
+#~ "\n"
+#~ "Valitsimet:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla wipefs(8).\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Et pysty kirjoittamaan osiotaulua.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Osion %i alku ei ole sylinterin rajalla:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "pitää olla (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "pitää olla (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Levy %s ei sisällä kelvollista osiotaulua\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Laitetta %s ei voi avata\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr "Tämä ydin löytää sektorin koon itse – -b-valitsinta ei huomioida\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "muisti lopussa?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: ennenaikainen syötteen loppu\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "VAROITUS: tiedostoa %s ei voi avata: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Monta toimintoa määritelty.\n"
+#~ "Vain yksi toiminto voidaan suorittaa kerrallaan.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: Valitsimet --utc ja --localtime ovat toisensa poissulkevat. Annoit "
+#~ "molemmat.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Valitsimet --adjust ja --noadjfile ovat toisensa poissulkevat. Käytit "
+#~ "molempia.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Valitsimet --adjfile ja --noadjfile ovat toisensa poissulkevat. "
+#~ "Käytit molempia.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount: ryhmä-id:tä voi asettaa: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: tiedosto %s on varattu (%s on olemassa)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla namei(1).\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "Arvo sallitun välin ulkopuolella.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla wipefs(8).\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Virheellinen asetettu arvo: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "tiedoston %s tilaa ei voi lukea"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla fallocate(1).\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla namei(1).\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "virheellinen nopeus: %s"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Virheellinen asetettu arvo: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Virheellinen asetettu arvo: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: loop-laitteen asettaminen epäonnistui\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla ipcmk(1).\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "laitetta %s ei voi avata"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: %s: odottamaton tiedostomuoto\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla wipefs(8).\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "liian pitkä --date-argumentti\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "varattuja semaforeja = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: virheellinen pituusarvo.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: virheellinen ohitusarvo.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Käyttö: %s [-number] [-p merkkijono] [-cefnrs] [+rivi] [+/hahmo/] "
+#~ "[tiedostot]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "siirtymisvirhe"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "haarauttaminen epäonnistui\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "%s epäonnistui.\n"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d poista BSD-osio"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l listaa tunnetut tiedostojärjestelmätyypit"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n lisää uusi BSD-osio"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p näytä BSD-osiotaulu"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t vaihda osion tiedostojärjestelmä-id:tä"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u vaihda yksiköt (sylinterit/sektorit)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p näytä osiotaulu"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Muodostetaan uusi DOS-levynimiö, tunniste 0x%08x.\n"
+#~ "Muutokset pidetään vain käyttömuistissa, kunnes päätät kirjoittaa ne\n"
+#~ "levylle. Sen jälkeen edellistä sisältöä ei tietenkään voida enää\n"
+#~ "palauttaa.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Laitteella ei ole kelvollista DOS-, Sun-, SGI- eikä OSF-levynimiötä\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Sisäinen virhe\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tValitettavasti SGI-osiotauluille ei ole asiantuntijavalikkoa.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Tiedätkö, että levyllä on päällekkäisiä osioita?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Muodostetaan uusi SGI-levynimiö. Muutokset tehdään vain käyttömuistiin,\n"
+#~ "kunnes päätät kirjoittaa ne levylle. Sen jälkeen edellistä sisältöä ei\n"
+#~ "tietenkään voida palauttaa.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "muisti lopussa – luovutetaan\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla ipcmk(1).\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: muisti vähissä, kirjautuminen voi epäonnistua\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "kohteelle ttyclass ei voi varata muistia"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "kohteelle grplist ei voi varata muistia"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Kirjautuminen päätteelle %s osoitteesta %s evätty oletuksena.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Kirjautuminen päätteelle %s osoitteesta %s evätty.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Käyttö: %s [ -f kokonimi ] [ -o toimisto ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "%s: PAM-virhe, keskeytetään: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Käyttö: %s [ -s kuori ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ käyttäjätunnus ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr ""
+#~ "%s: vain paikallisia merkintöjä voi muuttaa; käytä sen sijaan komentoa yp"
+#~ "%s.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: Tiedoston /etc/passwd oletusympäristöä ei voi asettaa"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "siirtyminen epäonnistui"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: Valitsin -l näyttää listan.\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Komento %s -l näyttää listan.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "käyttö: login [-fp] [käyttäjänimi]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "muisti lopussa"
+
+#~ msgid "Illegal username"
+#~ msgstr "Virheellinen käyttäjänimi"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "Käyttäjän %s kirjautuminen hylätty tällä päätteellä.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "KĂ„YTTĂ„JĂ„N %s KIRJAUTUMINEN HYLĂ„TTIIN OSOITTEESTA %s, PĂ„Ă„TTEELLĂ„ %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "KĂ„YTTĂ„JĂ„N %s KIRJAUTUMINEN HYLĂ„TTIIN PĂ„Ă„TTEELLĂ„ %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Virheellinen kirjautuminen\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "varattuja semaforeja = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: virhe haarautettaessa: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s, kirjautuminen: "
+
+#~ msgid "NAME too long"
+#~ msgstr "NIMI liian pitkä"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "tunnus aivan liian pitkä.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "tunnukset eivät voi alkaa merkillä ”-”.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "LIIKAA rivinvaihtoja"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "liian monta peräkkäistä rivinvaihtoa.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "EPĂ„ONNISTUNUT KIRJAUTUMINEN OSOITTEESTA %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "EPĂ„ONNISTUNUT KIRJAUTUMINEN PĂ„Ă„TTEELTĂ„ %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d EPĂ„ONNISTUNUTTA KIRJAUTUMISTA OSOITTEESTA %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d EPĂ„ONNISTUNUTTA KIRJAUTUMISTA PĂ„Ă„TTEELTĂ„ %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: ryhmätiedosto on varattu.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: tiedoston %s lukitusta ei voi poistaa: %s (muutoksesi ovat edelleen "
+#~ "tiedostossa %s)\n"
+
+#~ msgid "calloc failed"
+#~ msgstr "calloc epäonnistui"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "Levy %s ei sisällä kelvollista osiotaulua\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "openpty epäonnistui\n"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: /dev-hakemistoa ei ole olemassa."
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: laitteen %s tietoja ei voi hakea: %s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", siirtymä %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", salaustyyppi %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: laitteen %s tietoja ei voi hakea: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: laitetta %s ei voi avata: %s\n"
+
+#, fuzzy
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: ei oikeuksia laitteeseen /dev/loop#"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Ei löytynyt yhtään loop-laitetta. Ehkä tämä ydin ei ole tietoinen\n"
+#~ " loop-laitteista?\n"
+#~ " (Jos näin on, käännä uudelleen tai suorita ”modprobe loop”.)"
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Muisti loppui kasvatettaessa puskuria.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "Sektori %d on jo varattu\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "mount: %s%s on kirjoitussuojattu, liitetään vain luku -tilassa"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "ioctl LOOP_SET_FD epäonnistui: %s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu,%llu): onnistui\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): onnistui\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: laitetta %s ei voi poistaa: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr "Tämä mount on käännetty ilman loop-tukea. Käännä uudelleen.\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr "Loop-tukea ei ollut käännöksen aikana. Käännä uudelleen.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla namei(1).\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Käyttö: %s [-q [-i väli]] ([-s arvo]|[-S arvo]) ([-t arvo]|[-T arvo]) [-"
+#~ "g|-G] tiedosto [tiedosto...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Laitetta %s ei voi avata: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: tiedostoa %s ei voi avata: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: virheellinen arvo\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "haarauttaminen epäonnistui\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla ipcmk(1).\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "tuntematon resurssityyppi: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "käyttö: %s [ [-q vstjno-id] [-m jmuisti-id] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+
+#, fuzzy
+#~ msgid "unknown error in key"
+#~ msgstr "%s: Tuntematon virhe tiedostossa %s\n"
+
+#, fuzzy
+#~ msgid "unknown error in id"
+#~ msgstr "%s: Tuntematon virhe tiedostossa %s\n"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#~ msgid "ldattach from %s\n"
+#~ msgstr "ldattach – %s\n"
+
+# c-format
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Käyttö: ”%s [valitsimet]\n"
+#~ "\t -m <karttatied> (oletukset: ”%s” ja\n"
+#~ "\t\t\t\t ”%s”)\n"
+#~ "\t -p <profiili> (oletus: ”%s”)\n"
+#~ "\t -M <kerr> asettaa profilointikertoimeksi <kerr>\n"
+#~ "\t -i näyttää vain tiedon ”sampling step”:istä\n"
+#~ "\t -v monisanaisuus\n"
+#~ "\t -a näyttää kaikki symbolit, vaikka määrä olisi 0\n"
+#~ "\t -b näyttää yksittäiset ”histogram-bin”-määrät\n"
+#~ "\t -s näyttää yksittäiset laskurit funktioissa\n"
+#~ "\t -r nollaa kaikki laskurit (vain pääkäyttäjälle)\n"
+#~ "\t -n poistaa käytöstä tavujärjestyksen "
+#~ "automaattitunnistuksen\n"
+#~ "\t -V näyttää version ja poistuu\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile: virhe kirjoitettaessa tiedostoa %s: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla namei(1).\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla setarch(8).\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "Komento ”%s --help” antaa lisää tietoa.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "käyttö: %s ohjelma [ arg ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Käyttö: %s <laite> [ -i <IRQ> | -t <AIKA> | -c <MERKIT> | -w <ODOTUS> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: virheellinen arvo\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Lisätietoja manuaalisivulla unshare(1).\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "Virhe suljettaessa tiedostoa\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Valitettavasti vain ei-tyhjien osioiden lippua voi muuttaa.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Varoitus: osio %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Varoitus: osiot %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "ja %s ovat päällekkäiset\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "laite: esimerkiksi /dev/hda tai /dev/sda"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "tavut"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-d] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Käyttö:\n"
+#~ " %1$s -a [-e] [-v] ota käyttöön kaikki /etc/fstabin\n"
+#~ " sivutusalueet\n"
+#~ " %1$s [-p priorit.] [-v] <polku> ota käyttöön annettu sivutusalue\n"
+#~ " %1$s -s näytä yhteenveto sivutuskäytöstä\n"
+#~ " %1$s -h näytä ohje\n"
+#~ " %1$s -V näytä versio\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Käyttö:\n"
+#~ " %1$s -a [-v] poista käytöstä kaikki sivutusalueet\n"
+#~ " %1$s [-v] <polku> poista käytöstä annettu sivutusalue\n"
+#~ " %1$s -h näytä ohje\n"
+#~ " %1$s -V näytä versio\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Käyttö: %s [valitsimet] <tiedostonimi>\n"
+#~ "\n"
+#~ "Valitsimet:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Käyttö: %s [valitsimet]\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Käyttö: %s [valitsimet] <tiedostonimi>\n"
+#~ "\n"
+#~ "Valitsimet:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [laitteet]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] komennot laitteet\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Käytettävissä olevat komennot:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: tiedostoa %s ei voi avata\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "siirtymisvirhe"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "käyttö: %s [ -n ] laite\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: ei ole lohkolaite\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc epäonnistui"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: virhe valitsimien jäsennyksessä\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Käyttö: %s [-x] [-d <nro>] iso9660-vedos\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Käyttö: %s [-v] [-N i-solmumäärä] [-V osionimi]\n"
+#~ " [-F tied.järj.nimi] laite [lohkomäärä]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "tiedoston %s tilaa ei voi lukea"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "laitteen %s sektorikokoa ei voida päätellä"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "haarauttaminen epäonnistui\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Käyttö: %s [-c] [-pSIVUKOKO] [-L nimiö] [-U UUID] /dev/nimi [lohkot]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Muisti lopussa"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "Käyttö:\n"
+#~ " %s "
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Valikko ilman suuntaa. Käytetään oletuksena vaakasuuntaa."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr "Jokin osio on poistettava ja lisättävä laajennettu osio ensin\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Komento merkitys\n"
+#~ " %s\n"
+#~ " p ensiöosio (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [tai --show-size]: näytä osion koko"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [tai --id: näytä tai muuta osio-id"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [tai --list]: listaa kaikkien laitteiden osiot"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr " -d [tai --dump]: sama kuin edellä, muoto sopiva syötteeksi"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [tai --increment]:numeroi sylinterit, ym. alkaen 1:stä, ei 0:sta"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: käytä yksikköinä sektoreita/lohkoja/sylintereitä/"
+#~ "Mt"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [tai --list-types]:listaa tunnetut osiotyypit"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [tai --DOS]: DOS-yhteensopivuutta varten; tuhlaa vähän tilaa"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr " -R [tai --re-read]: käske ytimen lukea osiotaulu uudelleen"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : muuta vain osiota numero #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O tiedosto : tallenna ylikirjoitettavat sektori tiedostoon"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I tiedosto : palauta nämä sektorit"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [tai --version]: näytä versio"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [tai --help]: näytä tämä viesti"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr " -g [tai --show-geometry]: näytä ytimen käsitys geometriasta"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [tai --Linux]: älä huomauta Linuxissa merkityksettömistä "
+#~ "asioista"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [tai --quiet]: vaienna varoitusviestit"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Voit ohittaa tunnistetun geometrian käyttämällä:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# [tai --cylinders #]:aseta käytettävä sylinterien määrä"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -h# [tai --heads #]: aseta käytettävä päiden määrä"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [tai --sectors #]: aseta käytettävä sektorien määrä"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Kaikki tarkistukset voi ohittaa valitsimella:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr " -f [tai --force]: tee mitä käsken, vaikka se olisi tyhmää"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: tiedostojärjestelmän tyyppi on annettava"
+
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Käyttö: fsck [-AMNPRTV] [ -C [ fd ] ] [-t tied.järj. tyyppi] [tied.järj."
+#~ "valitsimet] [tied.järj. ...]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Laitetta %s ei voi avata: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s paketista %s%s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "I-solmuille ei voi varata puskuria"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Komento ”getopt --help” antaa lisää tietoa.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Käyttö: getopt valitsinmerkkijono parametrit\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [valitsimet] [--] valitsinmerkkijono parametrit\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parametrit\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (parannettu) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Odotetaan: ”UTC”, ”LOCAL” tai ei mitään.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock – lukee ja asettaa laitteistokellon (RTC)\n"
+#~ "\n"
+#~ "Käyttö: hwclock [toiminto] [valitsimet...]\n"
+#~ "\n"
+#~ "Toiminnot:\n"
+#~ " -h | --help näyttää tämän ohjeen\n"
+#~ " -r | --show lukee laitteistokellon ja näyttää tuloksen\n"
+#~ " --set asettaa laitteistokellon --date:lla määrättyyn "
+#~ "aikaan\n"
+#~ " -s | --hctosys asettaa järjestelmäkellon ajan laitteistokellon "
+#~ "mukaan\n"
+#~ " -w | --systohc asettaa laitteistokellon nykyiseen järjestelmän "
+#~ "aikaan\n"
+#~ " --systz asettaa järjestelmäkellon ajan nykyisen "
+#~ "aikavyöhykkeen\n"
+#~ " mukaan\n"
+#~ " --adjust säätää laitteistokellon huomioimaan systemaattisen\n"
+#~ " poikkeaman edellisen asetuksen tai säädön jälkeen\n"
+#~ " --getepoch näyttää ytimen epoch-arvon laitteistokellolle\n"
+#~ " --setepoch asettaa ytimen epoch-arvon laitteistokellolle\n"
+#~ " --epoch:illa määrättyyn arvoon\n"
+#~ " -v | --version näyttää hwclockin versionumeron vakiotulosteeseen\n"
+#~ "\n"
+#~ "Valitsimet: \n"
+#~ " -u | --utc laitteistokello on kansainvälisessä ajassa (UTC)\n"
+#~ " --localtime laitteistokello on paikallisessa ajassa\n"
+#~ " -f | --rtc=polku käytä muuta kuin tavallista laitetta, /dev/...\n"
+#~ " --directisa käytä ISA-väylää suoraan, ei laitteen %s kautta\n"
+#~ " --badyear ei huomioida laitteistokellon vuotta, koska BIOS "
+#~ "on\n"
+#~ " rikki\n"
+#~ " --date aika, johon laitteistokello asetetaan\n"
+#~ " --epoch=vuosi vuosi, joka on laitteistokellon\n"
+#~ " epoch-arvon nollakohta\n"
+#~ " --noadjfile ei käytetä tiedostoa /etc/adjtime. Vaatii joko\n"
+#~ " valitsimen --utc tai --localtime käyttämistä\n"
+#~ " --adjfile=polku hienosäätötiedoston polku (oletus on /etc/"
+#~ "adjtime)\n"
+#~ " --test tee kaikki muu paitsi laitteistokellon tai minkään\n"
+#~ " muun varsinainen päivittäminen\n"
+#~ " -D | --debug vianetsintätila\n"
+#~ "\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "alustuskomennoille ei voi varata muistia"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Käyttö: %s [-8hiLmUw] [-l kirjautumisohjelma] [-t aikakatkaisu] [-I "
+#~ "alustuskomennot] [-H kirjautumiskone] linjanopeus,... linja [term."
+#~ "tyyppi]\n"
+#~ "tai\t[-hiLmw] [-l kirjautumisohjelma] [-t aikakatkaisu] [-I "
+#~ "alustuskomennot] [-H kirjautumiskone] linja linjanopeus,... [term."
+#~ "tyyppi]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "käyttö: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: VIRHEELLINEN VIRHE"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "käyttö: %s [tiedosto]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: tiedostoa %s ei voi lukea.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "käyttö: logger [-is] [-f tiedosto] [-p pri] [-t tag] [-u pistoke] "
+#~ "[ viesti ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "käyttö: look [-dfa] [-t merkki] merkkijono [tiedosto]\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "muisti lopussa?"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "käyttö: %s lähde kohde tiedostot...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "käyttö: script [-a] [-f] [-q] [-t] [tiedosto]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s: kirjoitusvirhe %d: %s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s: kirjoitusvirhe: %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term päätteen_nimi ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60|force|poke] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-KONSOLIEN_MĂ„Ă„RĂ„] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-KONSOLIEN_MĂ„Ă„RĂ„] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq freqnumber ]\n"
+
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "Käyttö: %s [-d] [-p pid-tiedosto] [-s pistokepolku] [-T aikakatkaisu]\n"
+
+#~ msgid " %s [-r|t] [-n num] [-s socketpath]\n"
+#~ msgstr " %s [-r|t] [-n num] [-s pistokepolku]\n"
+
+#~ msgid " %s -k\n"
+#~ msgstr " %s -k\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM hak ... -f ] nimi...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "käyttö: write käyttäjä [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: tiedostoa %s ei voi avata: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "tuntemattomassa "
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Käyttö: shutdown [-h|-r] [-fqs] [now|hh:mm|+minuutit]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Sammutustoiminto keskeytetty"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Vain root voi sammuttaa järjestelmän.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "Tuon täytyy olla huomenna, etkö voi odottaa siihen asti?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "ylläpitoa varten; mars, mars"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Järjestelmä sammutetaan 5 minuutin kuluttua"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Kirjautuminen on sen vuoksi estetty"
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "uudelleenkäynnisti %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "sammutti %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Miksi olen edelleen elossa uudelleenkäynnistyksen jälkeen?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Virran voi nyt katkaista..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Kutsutaan ytimen virrankatkaisutoimintoa...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Virhe virrankatkaisussa\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Käynnistetään ohjelma ”%s”...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Virhe käynnistettäessä\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "KIIREELLISTÄ: yleislähetysviesti käyttäjältä %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Järjestelmä sammuu %d tunnin, %d minuutin kuluttua"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Järjestelmä sammuu 1 tunnin ja %d minuutin kuluttua"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Järjestelmä sammuu %d minuutin kuluttua\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Järjestelmä sammuu 1 minuutin kuluttua\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Järjestelmä sammuu VÄLITTÖMÄSTI!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Haarauttaminen komentoa swapoff varten ei onnistu. Aivan sama!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr ""
+#~ "Komentoa swapoff ei voi käynnistää, toivottavasti umount hoitaa asian."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr ""
+#~ "Haarauttaminen komentoa umount varten ei onnistu, yritetään manuaalisesti."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Ohjelmaa %s ei voi käynnistää, yritetään käynnistää umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Ohjelmaa umount ei voi käynnistää, luovutaan irrotusyrityksestä."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Irrotetaan jäljellä olevat tiedostojärjestelmät..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Laitetta %s ei voitu irrottaa: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Käynnistetään yhden käyttäjän tilaan.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "yhden käyttäjän tilan kuoren käynnistys epäonnistui\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "yhden käyttäjän tilan kuoren haarauttaminen epäonnistui\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "virhe avattaessa fifoa\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "virhe asetettaessa ”close-on-exec” laitteelle /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "virhe ajettaessa finalprogia\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "virhe haarautettaessa finalprogia\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Väärä salasana.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "polun tilan lukeminen epäonnistui\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "haarauttaminen epäonnistui\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "tiedostoa inittab ei voi avata\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "TERM-muuttujaa ei ole tai päätteen tilaa ei voi lukea\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "virhe pysäytettäessä palvelua: ”%s”\n"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "Pysäytetään palvelua: ”%s”\n"
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "virhe pysäytettäessä palvelua: ”%s”\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "käyttö: %s [-c] [-n taso] [-s puskurin_koko]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "kirjoittaminen vakiotulosteeseen epäonnistui"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "virhe: malloc epäonnistui"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "käyttö: col [-bfpx] [-l rivimäärä]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "käyttö: %s [ - ] [ -2 ] [ tiedosto ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e muoto] [-f muototied] [-n pituus] [-s ohita] "
+#~ "[tiedosto ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "käyttö: %s [-dflpcsu] [+rivinumero | +/hahmo] nimi1 nimi2 ...\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "Puskuria ei voi varata.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: tiedostoa %s ei voi lukea.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: liian pitkä rivi.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "käyttö: %s [tiedosto]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "malloc epäonnistui"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "käyttö: tailf [-n N | -N] lokitiedosto"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "käyttö: %s [ -i ] [ -tTerm ] tiedosto...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "Laitetta %s ei voi avata\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Muistia ei voi varata enempää\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "saatiin EOF kolmesti – poistutaan..\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: malloc-virhe.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Muisti lopussa\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Ei hakemistoa %s!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: ei muistia kuoriskriptille.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: ei kuorta: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: Lupa evätty"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: Haarauttaminen ei onnistu\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: tiedostoa %s ei voi lukea.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: väliaikaistiedoston tilaa ei voi lukea.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: väliaikaistiedostoa ei voi avata.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "%s: kirjoitusvirhe: %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "siirtymisvirhe"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " ja "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: tuntematon käyttäjä\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: virheellinen arvo\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) on vanhentunut, on suositeltavaa käyttää hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: hexdump(1)-yhteensopivuus ei tue -%c -valitsinta%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; katso strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Osion loppu on viimeisellä osittaisella sylinterillä"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: muisti lopussa\n"
+
+#~ msgid "strdup failed"
+#~ msgstr "strdup epäonnistui"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: virheellinen aikaväli %s sekuntia\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: virheellinen time_t-arvo %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: uudelleennimeäminen %s → %s ei onnistu: %s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "virhe rtc:tä luettaessa"
+
+#~ msgid "malloc error"
+#~ msgstr "malloc-virhe"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "käyttö: column [-tx] -c sarakkeet] [tiedosto ...]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "Muisti lopussa"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "Puskuritilaa ei voi varata\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "käyttö: rev [tiedosto ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Puskuria ei voi varata.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Muisti loppui kasvatettaessa puskuria.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: virheellinen valitsin – %c\n"
+
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "Virhe ajettaessa ohjelmaa: ”%s”\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "Virheellinen asetettu arvo: %s\n"
+
+#, fuzzy
+#~ msgid "current"
+#~ msgstr "ncount"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "Uusi"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Käyttö: fdisk [-b SSZ] [-u] LEVY Muuta osiotaulua\n"
+#~ " fdisk -l [-b SSZ] [-u] LEVY Näytä osiotaulu(t)\n"
+#~ " fdisk -s OSIO Näytä osio(ide)n koko/koot lohkoina\n"
+#~ " fdisk -v Näytä fdiskin versio\n"
+#~ "Tässä LEVY on esimerkiksi /dev/hdb tai /dev/sda\n"
+#~ "ja OSIO on esimerkiksi /dev/hda7\n"
+#~ "-u: anna Alku ja Loppu sektoreina (sylinterien sijaan)\n"
+#~ "-b 2048: (tietyille MO-levyille) käytä 2048 tavun sektoreita\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Käyttö: fdisk [-l] [-b SSZ] [-u] laite\n"
+#~ "Esim: fdisk /dev/hda (ensimmäinen IDE-levy)\n"
+#~ " tai: fdisk /dev/sdc (kolmas SCSI-levy)\n"
+#~ " tai: fdisk /dev/eda (ensimmäinen PS/2 ESDI -asema)\n"
+#~ " tai: fdisk /dev/rd/c0d0 tai: fdisk /dev/ida/c0d0 (RAID-laitteet)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Tämän levyn sylintereiden määräksi on asetettu %d.\n"
+#~ "Siinä ei ole mitään vikaa, mutta se on suurempi kuin 1024, ja voi\n"
+#~ "tietyissä kokoonpanoissa aiheuttaa ongelmia seuraavissa tapauksissa:\n"
+#~ "1) käynnistyksessä ajettavat ohjelmat (esim. LILOn vanhat versiot)\n"
+#~ "2) muiden käyttöjärjestelmien käynnistys- ja osiointiohjelmat\n"
+#~ " (esim. DOS FDISK, OS/2 FDISK)\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: ei löytynyt %s – luodaan se..\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "käyttö : %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h näyttää ohjeen.\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semaforit\n"
+#~ "\t-a : kaikki (oletus)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Tulostusmuoto:\n"
+#~ "\t-t : aika\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : luoja\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : rajat\n"
+#~ "\t-u : tiivistelmä\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "Virhe säännöllisessä lausekkeessa: "
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "virhe luettaessa tiedostoa %s\n"
+
+#~ msgid "error: /sys filesystem is not accessable."
+#~ msgstr "virhe: /sys-tiedostojärjestelmä ei ole käytettävissä."
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr ""
+#~ "käyttö: rdev [ -rv ] [ -o SIIRTYMÄ ] [ VEDOS [ VALUE [ SIIRTYMÄ ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (tai rdev /linux, jne) näyttää nykyisen JUURIlaitteen"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 asettaa JUUREKSI /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 aseta JUURILIPUT (vain luku -tila)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 aseta RAM-levyn koko"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/fd0 1 aseta käynnistyksen NÄYTTÖTILA"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... käytä tavusiirtymää N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... sama kuin rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... sama kuin rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... sama kuin rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Huom: Näyttötilat ovat: -3=Kysy, -2=Laajennettu, -1=NormaaliVga, "
+#~ "1=avain1, 2=avain2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr " -R 1 liittää juuren vain luku -tilaan, -R 0 luku/kirjoitus."
+
+#~ msgid "missing comma"
+#~ msgstr "puuttuva pilkku"
+
+#~ msgid "superblock size (%lu) too small"
+#~ msgstr "superlohkon koko (%lu) on liian pieni"
+
+#~ msgid "error: /sys filesystem is not accessible."
+#~ msgstr "virhe: /sys-tiedostojärjestelmä ei ole käytettävissä."
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "muisti lopussa"
+
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr ""
+#~ "yksikkö: sektorit\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "alun"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Maxkoko=%ld\n"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX käynnistettävä"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Kuorta ei vaihdettu.\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: virhe: vasta sivutustilan versio 1 tukee nimiöitä\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "vakavaa: ensimmäinen sivu on lukukelvoton"
+
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: Laitteella ”%s” on kelvollinen Sun-levynimiö.\n"
+#~ "Tämä tarkoittaa todennäköisesti sitä, että v0-sivutusalueen luominen "
+#~ "tuhoaisi\n"
+#~ "osiotaulun. Sivutusaluetta ei luotu. Jos todella haluat luoda v0-"
+#~ "sivutusalueen\n"
+#~ "kyseiselle laitteelle, käytä valitsinta -f sen pakottamiseen.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: juureen siirtyminen epäonnistui!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: juuren tilaa ei voitu lukea!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: puskurin ylivuoto\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? siirtyminen hakemistoon %s epäonnistui – %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? ongelmia luettaessa symlinkkiä %s – %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** UNIXIN SYMLINKKIEN RAJA YLITETTIIN ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: tiedostolla %2$s on tuntematon tyyppi 0%1$06o\n"
+
+# Eeeeiiii...
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: liitetään %s %s:n perusteella\n"
+
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: ei LABEL=, ei UUID=, liitetään %s polun perusteella\n"
+
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: haarauttaminen ei onnistu: %s\n"
+
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: waitpid: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr ""
+#~ "kohteen %s irrottaminen epäonnistui – yritetään sen sijaan irrottaa %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "kutsutaan open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "kutsutaan termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "kirjoitetaan alustusmerkkijonoa\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "ennen autobaudia\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "odotetaan cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "luetaan käyttäjätunnus\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "getopt-silmukan jälkeen\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "poistutaan parseargs:ista\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "aloitettiin parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "poistutaan kohdasta parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "kopioidaan tiedostokahva\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "chfn: PAM-virhe, keskeytetään: %s\n"
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Varoitus: ”%s” ei ole listattuna tiedostossa /etc/shells\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "Tiedostoa %s ei voi lukea, poistutaan."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM-virhe, keskeytetään: %s\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "aikaraja = %d, hiljaisuus = %d, uudelleenkäynnistys = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "tiedostoa %s ei voitu lukea, eikä dump-ioctl onnistu\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", siirtymä %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: ei löytynyt yhtään laitetta /dev/loop#"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: siirretään taustalle ”%s”\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: luovutetaan ”%s”\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "käyttö: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p prioriteetti] erikoistiedosto|LABEL=levyn_nimiö ...\n"
+#~ " %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "käyttö: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] erikoistiedosto ...\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: tiedostoa %s ei voi avata: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "käyttö: renice prioriteetti [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] "
+#~ "käyttäjät ]\n"
+
+#~ msgid "\t-%c\tEnable %s\n"
+#~ msgstr "\t-%c\tOta käyttöön %s\n"
+
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "Tuntematon valitsin ”%c” jätetty huomiotta"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "”%s”: viallinen hakemisto: ”.” ei ole ensimmäisenä\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "”%s”: viallinen hakemisto: ”..” ei ole toisena\n"
+
+#~ msgid "Password error."
+#~ msgstr "Salasanavirhe."
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s paketista util-linux-%s\n"
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES. Raise this value in mkcramfs.c and recompile. "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "MAXENTRIES ylitetty. Kasvata tätä arvoa tiedostossa mkcramfs.c ja käännä "
+#~ "uudelleen. Poistutaan.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Oletetaan sivujen kooksi %d (ei %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "Automaattikonfigurointi löysi: %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Aseman tyyppi\n"
+#~ " ? automaattinen konfigurointi\n"
+#~ " 0 mukautettu (laitteiston mukaisilla oletuksilla)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Valitse tyyppi (?: automaattinen, 0: mukautettu): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Vaihtoehtoiset sylinterit"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Fyysiset sylinterit"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Voit säätää kaikkia levyn parametreja x-valikosta"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" levyke"
+
+#~ msgid "Linux custom"
+#~ msgstr "mukautettu Linux"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: nimiö %s esiintyy sekä paikassa %s että %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: laitetta %s ei voitu avata, joten UUID- ja LABEL-muunnosta ei voi "
+#~ "tehdä.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: virheellinen UUID"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr ""
+#~ "mount: epäonnistui nfs mount -versiolla 4, yritetään versiolla 3..\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: liitetään %s\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: virhe arvattaessa tiedostojärjestelmän tyyppiä\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: liian pitkä konenimi:hakemisto-argumentti\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: varoitus: useita konenimiä ei tueta\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: liitettävä hakemisto ei ole kone:hakemisto-muodossa\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: nimelle %s ei voi hakea osoitetta\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: saatiin virheellinen hp->h_length\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: liian pitkä valitsinargumentti\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Varoitus: Tunnistamaton proto= -valitsin.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Varoitus: Valitsinta namlen ei tueta.\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Varoitus: valitsinta nolock ei tueta.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "tuntematon nfs-liitosvalitsin: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: saatiin virheellinen hp->h_length?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "nfs-palvelin ilmoitti, ettei palvelu ole käytettävissä"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "käytettiin porttikartoitinta NFS-portin etsimiseen\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "käytetään porttia %d nfs-palvelimelle\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "tuntematon nfs status -paluuarvo: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "kone: %s, hakemisto: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: nimelle %s ei saada osoitetta\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: saatiin virheellinen hostp->h_length\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: virheellinen cramfs--väärä polun pituus\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: virheellinen cramfs--väärä taika\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: virheellinen cramfs--crc-virhe\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: virheellinen cramfs--viallinen superlohko\n"
+
+#~ msgid "mkfs version %s (%s)\n"
+#~ msgstr "mkfs-versio %s (%s)\n"
+
+#~ msgid "flock: unknown option, aborting.\n"
+#~ msgstr "flock: tuntematon valitsin, keskeytetään.\n"
+
+#~ msgid ""
+#~ "Usage flock [--shared] [--timeout=seconds] filename command {arg arg...}\n"
+#~ msgstr ""
+#~ "Käyttö: flock [--shared] [--timeout=sekunnit] tiedosto komento {arg "
+#~ "arg...}\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Syntaksivirhe: \"%s\"\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Parametria ei ole asetettu: \"%s\"\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr " %s [ -p ] laite nimi\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ " %s [ -p ] laite koko sekt päät raidat venytys väli aste erik1 "
+#~ "fmt_väli\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] laite\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] laite\n"
+
+#~ msgid "version"
+#~ msgstr "versio"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "laitetta /dev/urandom ei voitu avata"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "tiedostosta /dev/urandom ei voitu lukea satunnaisdataa"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "tiedoston %s tilaa ei voi lukea"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "tiedoston %s tila ei ole oikea"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "tiedostosta %s ei voi lukea dataa"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "Liian monta käyttäjää on jo kirjautuneena.\n"
+#~ "Yritä myöhemmin uudelleen.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Liian monta prosessia käynnissä.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "Salasanassa on oltava vähintään kuusi merkkiä, yritä uudelleen.\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "Salasanan merkkien on oltava seuraavista kahdesta ryhmästä:\n"
+#~ "isot ja pienet kirjaimet, numerot ja ei-alfanumeeriset\n"
+#~ "merkit. Lisätietoja manuaalisivulla passwd(1).\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "Et voi uudelleenkäyttää vanhoja salasanoja.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr "Älä käytä mitään käyttäjätunnuksesi tapaista salasanana!\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr "Älä käytä mitään oikean nimesi kaltaista salasanana!\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Käyttö: passwd [käyttäjätunnus [salasana]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "Vain pääkäyttäjä voi käyttää argumentteja.\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Käyttö: passwd [-foqsvV] [käyttäjä [salasana]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "Ohjelmaa %s ei voi käynnistää: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "Käyttäjätunnusta ei löydy"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Vain pääkäyttäjä voi vaihtaa muiden salasanoja.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr "Käyttäjätunnusta ei löydy mistään. Onko \"%s\" todella käyttäjä?"
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "UID ja käyttäjänimi eivät vastaa toisiaan, huijari!"
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "Vaihdetaan käyttäjän %s salasana\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Syötä vanha salasana: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Virheellinen salasana, huijari."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Syötä uusi salasana: "
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Syötä uusi salasana uudelleen: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Kirjoitit väärin. Salasanaa ei vaihdettu."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "salasana vaihdettu, käyttäjä %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "PĂ„Ă„KĂ„YTTĂ„JĂ„N SALASANA VAIHDETTU"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "pääkäyttäjä vaihtoi käyttäjän %s salasanan"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "kutsutaan setpwnam salasanan asettamiseksi.\n"
+
+#~ msgid "Password *NOT* changed. Try again later.\n"
+#~ msgstr "Salasanaa *EI* vaihdettu. Yritä myöhemmin uudelleen.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Salasana vaihdettu.\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr "mount: tämä versio on käännetty ilman tukea tyypille \"nfs\""
+
+#, fuzzy
+#~ msgid "Warning: omitting partitions after %d\n"
+#~ msgstr "Varoitus: poistetaan osion %d jälkeiset osiot\n"
+
+#~ msgid "BLKGETSIZE ioctl failed for %s\n"
+#~ msgstr "BLKGETSIZE-ioctl epäonnistui laitteelle %s\n"
+
+#~ msgid "%s: not compiled with minix v2 support\n"
+#~ msgstr "%s: ei ole käännetty minix v2 -tuen kanssa\n"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "Käynnistettävä (%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Ei mitään (%02X)"
+
+#~ msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
+#~ msgstr "%s: [%04x]:%ld (%s) siirtymä %d, %s-salaus\n"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ " Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: Yhtään loop-laitetta ei löytynyt.\n"
+#~ " Ehkä tiedostoilla /dev/loop# on väärä major-arvo?"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device (then recompile or `insmod loop.o'), or\n"
+#~ " maybe /dev/loop# has the wrong major number?"
+#~ msgstr ""
+#~ "mount: Ei löytynyt yhtään loop-laitetta. Ehkä tämä ydin ei ole tietoinen\n"
+#~ " loop-laitteesta (käännä uudelleen tai \"insmod loop.o\"), tai\n"
+#~ " ehkä /dev/loop#:in major-arvo on väärä?"
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "Alkuarvo (korkeintaan 16 heksanumeroa): "
+
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "Ei-heksanumero \"%c\".\n"
+
+#~ msgid "Don't know how to get key for encryption system %d\n"
+#~ msgstr "Avaimen haku salausjärjestelmälle %d ei ole tuettu\n"
+
+#~ msgid "Partition %i does not end on cylinder boundary:\n"
+#~ msgstr "Osion %i loppu ei ole sylinterin rajalla:\n"
+
+#~ msgid "Can't open help file"
+#~ msgstr "Ohjetiedostoa ei voi avata"
+
+#~ msgid ""
+#~ "\n"
+#~ "Disk %s: %d heads, %d sectors, %d cylinders\n"
+#~ "Units = %s of %d * %d bytes\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Levy %1$s: %2$d päätä, %3$d sektoria, %4$d sylinteriä\n"
+#~ "Yksiköt = %6$d * %7$d -tavuiset %5$s\n"
+#~ "\n"
diff --git a/po/fr.gmo b/po/fr.gmo
new file mode 100644
index 0000000..b6cb78b
--- /dev/null
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..8e464a1
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,18559 @@
+# Translation of util-linux-ng runtime message to French.
+# Copyright © 1996-2006, 2008-2012 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux package.
+#
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked as such.
+#
+# Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996-2006.
+# Nicolas Provost <nprovost@quadriv.com>, 2008-2009.
+# Milan Bouchet-Valat <nalimilan@club.fr>, 2010.
+# David Prévot <david@tilapin.org>, 2010-2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.22-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2012-08-18 21:56-0400\n"
+"Last-Translator: David Prévot <david@tilapin.org>\n"
+"Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 1.4\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr " %s <périphérique disque> <numéro de partition> <début> <longueur>\n"
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "impossible d'ouvrir %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+msgid "invalid partition number argument"
+msgstr "argument de numéro de partition incorrect"
+
+#: disk-utils/addpart.c:56
+msgid "invalid start argument"
+msgstr "argument de début incorrect"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+msgid "invalid length argument"
+msgstr "argument de longueur incorrect"
+
+#: disk-utils/addpart.c:58
+msgid "failed to add partition"
+msgstr "Ă©chec d'ajout de partition"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "positionner en lecture seule"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "positionner en lecture/Ă©criture"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "afficher si le périphérique est en lecture seule"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr "afficher l'état de prise en charge d'abandon des zéros"
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "afficher la taille des blocs (secteurs) logiques"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "afficher la taille des blocs (secteurs) physiques"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "afficher la taille minimale d'E/S"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "afficher la taille optimale d'E/S"
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr "afficher l'index d'alignement en octet"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "afficher le nombre maximal de secteurs par requĂŞte"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "afficher la taille de bloc"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "configurer la taille de bloc"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "afficher le nombre de secteurs de 32 bits (obsolète, utiliser --getsz)"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "afficher la capacité en octet"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "configurer l'avance en lecture (« readahead »)"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "afficher l'avance en lecture (« readahead »)"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "configurer l'avance en lecture (« readahead ») du système de fichiers"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "afficher l'avance en lecture (« readahead ») du système de fichiers"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "vider les tampons"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "relire la table de partitions"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %1$s -V\n"
+" %1$s --report [périphériques]\n"
+" %1$s [-v|-q] commandes périphériques\n"
+"\n"
+"Commandes disponibles :\n"
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr " %-25s afficher la capacité en secteurs de 512 octets\n"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr "impossible d'obtenir la taille du périphérique"
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr "Commande inconnue : %s"
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr "%s nécessite un argument"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "Ă©chec de %s.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s a réussi.\n"
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr "erreur d'ioctl sur %s"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ 1er sect. Taille Périphérique\n"
+
+#: disk-utils/delpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr " %s <périphérique disque> <numéro de partition>\n"
+
+#: disk-utils/delpart.c:57
+msgid "failed to remove partition"
+msgstr "Ă©chec de suppression de partition"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "utilisation :\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tNote : elvtune ne fonctionne qu'avec les noyaux 2.4\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "périphérique bloc manquant, utilisez -h pour l'aide\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune n'est utile qu'avec les anciens noyaux ; pour les noyaux 2.6\n"
+"utilisez plutôt l'ordonnanceur d'E/S paramétrable sysfs…\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatage en cours… "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "terminé\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Vérification en cours… "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Lecture : "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problème de lecture du cylindre %d, %d attendu, %d lu\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"données corrompues au cylindre %d\n"
+"Poursuite du traitement… "
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Utilisation : %s [options] périphérique\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -n, --no-verify désactiver la vérification après le formatage\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, c-format
+msgid "stat failed %s"
+msgstr "Ă©chec de stat %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr "%s : n'est pas un périphérique bloc"
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr "impossible d'accéder au fichier %s"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Impossible de déterminer le type de format courant"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s face, %d pistes, %d secteurs/piste. Capacité totale %d ko.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Double"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Simple"
+
+#: disk-utils/fsck.c:191
+#, c-format
+msgid "%s is mounted\n"
+msgstr "%s est monté\n"
+
+#: disk-utils/fsck.c:193
+#, c-format
+msgid "%s is not mounted\n"
+msgstr "%s n'est pas monté\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr "échec de lecture : %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "erreur d'analyse : %s"
+
+#: disk-utils/fsck.c:329
+#, c-format
+msgid "Locking disk %s ... "
+msgstr "Verrouillage du disque %s… "
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr "(en attente) "
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr "réussi"
+
+#: disk-utils/fsck.c:349
+msgid "failed"
+msgstr "échoué"
+
+#: disk-utils/fsck.c:386
+#, c-format
+msgid "failed to setup description for %s"
+msgstr "Ă©chec de configuration de la description de %s"
+
+#: disk-utils/fsck.c:412
+#, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "%s : erreur d'analyse à la ligne %d — ignorée"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s : échec d'analyse de fstab"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, c-format
+msgid "%s: not found"
+msgstr "%s : introuvable"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "échec de la fonction « fork »"
+
+#: disk-utils/fsck.c:617
+#, c-format
+msgid "%s: execute failed"
+msgstr "%s : échec d'exécution"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr "attente : plus de processus enfant ?"
+
+# NOTE: s/waid/wait/
+#: disk-utils/fsck.c:708
+msgid "waidpid failed"
+msgstr "échec de la fonction « waitpid »"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr "Avertissement… %s, périphérique %s, signal de fin %d."
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr "%s %s : état %x, cela ne devrait pas arriver."
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "Fin de %s (code de retour %d)\n"
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "erreur %d lors de l'exécution de fsck.%s pour %s"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+"Soit tous, soit aucun des types de systèmes de fichiers précisés par -t,\n"
+"doivent être préfixés par « no » (non) ou « ! »."
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+"%s : mauvaise ligne dans /etc/fstab ignorée : remontage avec nombre de "
+"passes fsck non nul"
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s : périphérique inexistant ignoré\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+"%s : périphérique inexistant (l'option « nofail » de fstab peut servir à "
+"ignorer ce périphérique)\n"
+
+#: disk-utils/fsck.c:1060
+#, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "%s : type de système de fichiers inconnu ignoré\n"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "impossible de contrĂ´ler %s, fsck.%s introuvable"
+
+#: disk-utils/fsck.c:1168
+msgid "failed to allocate iterator"
+msgstr "échec d'allocation d'itérateur"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "Contrôle de tous les systèmes de fichiers.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--en attente-- (passe %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [options-fsck] [options-sysf] [sysfic ...]\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+"\n"
+"Options:\n"
+" -A vérifier tous les systèmes de fichiers\n"
+" -R ignorer le système de fichiers racine ; seulement utile avec "
+"l'option « -A »\n"
+" -M ne pas vérifier les systèmes de fichiers montés\n"
+" -t <type> indiquer les types de systèmes de fichiers à vérifier ;\n"
+" type peut être une liste séparée par des virgules\n"
+" -P vérifier les systèmes de fichiers en parallèle, y compris la "
+"racine\n"
+" -r rendre compte des statistiques pour chaque périphérique fsck\n"
+" -s sérialiser les opérations de fsck\n"
+" -l verrouiller le périphérique avec flock()\n"
+" -N ne pas exécuter, montrer uniquement ce qui devrait être "
+"accompli\n"
+" -T ne pas afficher le titre au démarrage\n"
+" -C <fd> afficher une barre de progression ; fd ne sert qu'aux interfaces "
+"graphiques\n"
+" -V expliquer les actions en cours\n"
+" -? afficher cette aide et quitter\n"
+"\n"
+"Consultez les commandes fsck.* pour options-sysf."
+
+#: disk-utils/fsck.c:1354
+msgid "too many devices"
+msgstr "trop de périphériques"
+
+#: disk-utils/fsck.c:1366
+msgid "Is /proc mounted?"
+msgstr "/proc est-il monté ?"
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr ""
+"seul le superutilisateur peut rechercher le type de systèmes de fichiers : %s"
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "impossible de trouver un système de fichiers correspondant : %s"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+msgid "too many arguments"
+msgstr "trop d'arguments"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+"l'option -l ne peut être utilisée qu'avec un seul périphérique — ignorée"
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, c-format
+msgid " %s [options] file\n"
+msgstr " %s [options] fichier\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr " -x, --destination <rép> extraire dans le répertoire\n"
+
+#: disk-utils/fsck.cramfs.c:117
+msgid " -v, --verbose be more verbose\n"
+msgstr " -v, --verbose mode bavard\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "échec d'ioctl : impossible de trouver la taille du périphérique : %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "n'est pas un périphérique bloc ou un fichier : %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "nom de fichier trop court"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "échec de lecture : %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "nombre magique du superbloc introuvable"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "le boutisme de cramfs est %s\n"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr "gros"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr "petit"
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "caractéristiques de système de fichiers non pris en charge"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "taille de superbloc (%d) trop petite"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "nombre de fichiers nul"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr ""
+"avertissement : le fichier se termine après la fin du système de fichiers\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "avertissement : ancien format cramfs\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "impossible de tester la somme de contrôle CRC : ancien format cramfs"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "erreur de CRC"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "l'inœud racine n'est pas un répertoire"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "mauvais index de racine (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "bloc de données trop grand"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "erreur de décompression %p(%d) : %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " trou Ă  %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " décompression du bloc à %ld vers %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "octets (%ld) de type non-bloc"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "octets non associés à une taille (%ld contre %ld) "
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "échec d'écriture : %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "échec de la fonction « lchown » : %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "échec de la fonction « chown » : %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "échec de la fonction « utime » : %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "l'inœud du répertoire a un index nul et une taille non nulle : %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "échec de la fonction « mkdir » : %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "le nom de fichier a une longueur nulle"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "mauvaise longueur de nom de fichier"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "mauvais index d'inœud"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "l'inœud du fichier a un index nul et une taille non nulle"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "l'inœud du fichier a une taille nulle et un index non nul"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "lien symbolique d'index nul"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "lien symbolique de taille nulle"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "erreur de taille dans le lien symétrique : %s"
+
+# disk-utils/mkswap.c:623
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "échec de fonction « symlink » : %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "le fichier spécial a un index non nul : %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "la pile « FIFO » a une taille non nulle : %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "socket ayant une taille non nulle : %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "mode hasardeux (« bogus ») : %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "échec de la fonction « mknod » : %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+"début des données du répertoire (%ld) < taille de (struct cramfs_super) + "
+"début (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "fin des données répertoire (%ld) != début données fichier (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "index de données du fichier non valable"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "compilé sans prise en charge de -x"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s : OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, c-format
+msgid " %s [options] <device>\n"
+msgstr " %s [options] <périphérique>\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr " -l afficher tous les noms de fichiers\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr " -a réparation automatique\n"
+
+#: disk-utils/fsck.minix.c:198
+msgid " -r interactive repair\n"
+msgstr " -r réparation en mode interactif\n"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr " -v mode bavard\n"
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr " -s afficher les renseignements de superbloc\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr " -m activer les avertissements de mode non réinitialisé\n"
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr " -f forcer la vérification\n"
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr "%s (o/n) ? "
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr "%s (n/o) ? "
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr "o\n"
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr "n\n"
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s est monté.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Voulez-vous vraiment continuer ?"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "vérification annulée.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zone nr < valeur de PREMIERE_ZONE dans le fichier « %s »."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zone nr >= valeur de ZONES dans le fichier « %s »."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Suppression du bloc"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr ""
+"Erreur de lecture : impossible de se positionner sur un bloc du fichier "
+"« %s »\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Erreur de lecture : bloc corrompu dans le fichier « %s »\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Erreur interne : tentative d'écriture d'un bloc corrompu\n"
+"Requête d'écriture ignorée\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "Ă©chec de positionnement dans write_block (Ă©criture de bloc)"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Erreur d'écriture : bloc corrompu dans le fichier « %s »\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr ""
+"Ă©chec de positionnement pendant l'Ă©criture du superbloc (write_super_block)"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "impossible d'Ă©crire le superbloc"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Impossible d'écrire la table des inœuds"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Impossible d'Ă©crire la table des zones"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Impossible d'écrire des inœuds"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "Ă©chec de positionnement"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "impossible d'allouer un tampon au superbloc"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "impossible de lire le superbloc"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "nombre magique corrompu dans le superbloc"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Seuls les blocs d'1 ko par zone sont pris en charge"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "champ s_imap_blocks corrompu dans le superbloc"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "champ s_zmap_blocks corrompu dans le superbloc"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Impossible d'allouer un tampon pour la table des inœuds"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Impossible d'allouer un tampon pour la table de zones"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Impossible d'allouer un tampon pour les inœuds"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Impossible d'allouer un tampon pour le compteur d'inœuds"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Impossible d'allouer un tampon pour le compteur de zones"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Impossible de lire la table des inœuds"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Impossible de lire la table de zones"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Impossible de lire les inœuds"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Avertissement : Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inœuds\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blocs\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Taille_zone=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Taille_maximale=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "État du système de fichiers=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"longueur_noms=%zd\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inœud %d marqué libre, mais utilisé pour le fichier « %s »\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Marquer utilisé"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Le fichier « %s » a pour mode %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Avertissement : compte d'inœuds trop grand.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "l'inœud de la racine n'est pas un répertoire"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Bloc utilisé auparavant. Maintenant inclus dans le fichier « %s »."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Libre"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Bloc %d dans le fichier « %s » marqué non utilisé."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Correct"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+"Le répertoire « %s » contient un numéro d'inœud corrompu pour le fichier "
+"« %.*s »."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Enlever"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s : répertoire corrompu : « . » n'apparaît pas en premier\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s : répertoire corrompu : « .. » n'apparaît pas en second\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "erreur interne"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s : répertoire corrompu : taille < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "Ă©chec de positionnement dans bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Mode de l'inœud %lu non réinitialisé."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inœud %lu non utilisé, marqué utilisé dans la table."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inœud %lu utilisé, marqué inutilisé dans la table."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Initialisé"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inœud %lu (mode = %07o), i_nlinks=%d, décompte=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Initialisation de i_nlinks pour décompte"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zone %lu : marquée utilisée, aucun fichier ne l'utilise."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Non marqué"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zone %lu : utilisée, décompte=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zone %lu : non utilisée, décompte=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "taille d'inœud corrompue"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "taille d'inœud v2 corrompue"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr ""
+"il est nécessaire d'utiliser un terminal pour des réparations en mode "
+"interactif"
+
+#: disk-utils/fsck.minix.c:1305
+#, c-format
+msgid "cannot open %s: %s"
+msgstr "impossible d'ouvrir %s : %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s est propre, aucune vérification.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Vérification forcée du système de fichiers sur %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr ""
+"Le système de fichiers de %s est corrompu, une vérification est nécessaire.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inœuds utilisés (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones utilisées (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d fichiers réguliers\n"
+"%6d répertoires\n"
+"%6d fichiers de périphérique caractère\n"
+"%6d fichiers de périphérique bloc\n"
+"%6d liens\n"
+"%6d liens symboliques\n"
+"------\n"
+"%6d fichiers\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"---------------------------\n"
+"SYSTĂME DE FICHIERS MODIFIÉ\n"
+"---------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr "erreur de positionnement sur %s"
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr "erreur de lecture sur %s"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "nombre de secteurs : %d, taille de secteur : %d\n"
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [options] fichier_image_iso9660\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -d, --divisor=NBRE diviser le nombre d'octets par NBRE\n"
+" -x, --sectors afficher le nombre et la taille de secteurs\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr "argument de division incorrect"
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Utilisation : %s [options] [nombre_de_blocs]\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -N, --inodes=NBRE indiquer le nombre d'inœuds voulu\n"
+" -V, --vname=NOM indiquer le nom du volume\n"
+" -F, --fname=NOM indiquer le nom du système de fichiers\n"
+" -v, --verbose expliquer les actions en cours\n"
+" -c cette option est ignorée silencieusement\n"
+" -l cette option est ignorée silencieusement\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -V comme version doit ĂŞtre la seule option\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr "nombre d'inœuds incorrect"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "nom de volume trop long"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "nom de système de fichiers trop long"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s n'est pas un périphérique spécial de blocs"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr "nombre_de_blocs incorrect"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "impossible d'obtenir la taille de %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "argument de blocs trop grand, le maximum est %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "trop d'inœuds — le maximum est 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "pas assez d'espace, au moins %llu blocs sont nécessaires"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Périphérique : %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume : <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Nom du système de fichiers : <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Taille de bloc : %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inœuds : %lu (dans un bloc)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inœuds : %lu (dans %llu blocs)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blocs : %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Fin d'inœud : %d, fin des données : %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "erreur d'Ă©criture du superbloc"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "erreur d'écriture de l'inœud de la racine"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "erreur d'écriture d'inœud"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "erreur de positionnement"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "erreur d'écriture de l'entrée « . »"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "erreur d'écriture de l'entrée « .. »"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "erreur de fermeture de %s"
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Utilisation : %s [options] [-t type options-sysf] périphérique [taille]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -t, --type=TYPE type de système de fichiers, ext2 par défaut\n"
+" options-sysf paramètres pour vrai constructeur de système de fichiers\n"
+" périphérique chemin vers un périphérique\n"
+" taille nombre de blocs sur le périphérique\n"
+" -V, --verbose expliquer les actions en cours\n"
+" -V indiqué plus d'une fois force une répétition\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -V comme version doit ĂŞtre la seule option\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"Consultez mkfs(8) pour obtenir des renseignements complémentaires.\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"utilisation : %s [-h] [-v] [-b taille_bloc] [-e édition] [-N boutisme ] [-i "
+"fichier] [-n nom] répertoire fichier-sortie\n"
+" -h afficher l'aide\n"
+" -v mode bavard\n"
+" -E transformer tous les avertissements en erreurs (code de "
+"retour nul)\n"
+" -b taille_bloc utiliser cette taille de bloc, doit ĂŞtre Ă©gal Ă  la taille "
+"de page\n"
+" -e édition indiquer le numéro d'édition (partie de fsid)\n"
+" -N boutisme indiquer le type de boutisme (« endian ») de cramfs (big|"
+"little|host), « host » par défaut\n"
+" -i fichier insérer un fichier image dans le système de fichiers (2.4.0 "
+"minimum)\n"
+" -n nom indiquer le nom du système de fichiers cramfs\n"
+" -p protéger le code d'amorçage de %d octets\n"
+" -s trier les entrées de répertoire (option obsolète, ignorée)\n"
+" -z faire des trous explicites (2.3.39 minimum)\n"
+" répertoire racine du système de fichiers à compresser\n"
+" fichier-sortie fichier de sortie\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr "impossible de lire le répertoire %s"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Nom de fichier très long (%zu octets) « %s » repéré.\n"
+" Veuillez augmenter MAX_INPUT_NAMELEN dans mkcramfs.c et recompiler. Fin "
+"d'exécution."
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr "système de fichiers trop gros. Fin d'exécution."
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "Houla ! Bloc « compressé » de taille > 2*longueur-de-bloc (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld octets)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr "impossible de fermer le fichier %s"
+
+#: disk-utils/mkfs.cramfs.c:726
+msgid "invalid blocksize argument"
+msgstr "argument de taille de bloc incorrect"
+
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr "échec d'argument de numéro d'édition"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+"boutisme incorrect. Seuls « big », « little » ou « host » sont acceptés"
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"avertissement : la taille nécessaire estimée (limite supérieure) est de "
+"%lld Mo, mais la taille maximale de l'image est de %u Mo. Arrêt prématuré "
+"probable."
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "plan image ROM"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Inclusion : %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Répertoire de données : %zd octets\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Tout : %zd kilooctets\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superbloc : %zd octets\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC : %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"pas assez d'espace alloué pour l'image ROM (%lld alloués, %zu utilisés)"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "image ROM"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "Ă©chec de l'Ă©criture de l'image dans la ROM (%zd %zd)"
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "avertissement : noms des fichiers tronqués à 255 octets."
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr "avertissement : fichiers ignorés en raison d'erreurs."
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "avertissement : taille des fichiers tronquée à %lu Mo (moins 1 octet)."
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"avertissement : UID tronqués à %u bits (cela peut créer un problème de "
+"sécurité)."
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"avertissement : GID tronqués à %u bits (cela peut créer un problème de "
+"sécurité)."
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"Attention : numéros de périphériques tronqués à %u bits. Cela signifie\n"
+"très probablement que certains fichiers de périphériques seront erronés."
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Utilisation : %s [-c | -l fichier] [-nXX] [-iXX] /dev/nom [blocs]"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s est monté ; impossible de créer un système de fichier ici !"
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "%s : échec de positionnement du bloc d'amorçage dans write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%s : impossible de vider le secteur d'amorçage"
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "%s : échec de positionnement dans write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr "%s : impossible d'écrire le superbloc"
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr "%s : impossible d'écrire la table des inœuds"
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr "%s : impossible d'écrire la table des zones"
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr "%s : impossible d'écrire les inœuds"
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s : échec de positionnement dans write_block (écriture de bloc)"
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr "%s : échec d'écriture dans write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr "%s : trop de blocs corrompus"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr "%s : pas assez de blocs valables"
+
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "%s : impossible d'allouer un tampon au superbloc"
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "%s : impossible d'allouer des tampons pour les tables"
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "%s : impossible d'allouer un tampon pour les inœuds"
+
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr "%lu inœuds\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr "%lu blocs\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Taille maximale=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "%s : échec de positionnement pendant le test des blocs"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Valeurs étranges dans do_check : probablement un bogue\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s : échec de positionnement dans check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"%s : blocs corrompus avant la zone de données : création de système de "
+"fichiers impossible"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d blocs corrompus\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "un bloc corrompu\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s : impossible d'ouvrir le fichier de blocs corrompus"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "numéro de bloc corrompu erroné en entrée à la ligne %d\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s : impossible de lire le fichier de blocs corrompus"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr "%s : taille d'inœud corrompue"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "erreur strtol : nombre de blocs non indiqué"
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr "%s : le périphérique est mal aligné"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "taille de bloc plus petite que la taille du secteur physique %s"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "impossible d'obtenir la taille de %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "abandon de la création d'un système de fichiers sur « %s »"
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr "%s : nombre de blocs trop petit"
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Taille de page %u indiquée par l'utilisateur erronée"
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Utilisation de la taille de page %d indiquée par l'utilisateur, au lieu de "
+"la valeur système %d"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+"Taille erronée d'en-tête de zone d'échange, aucune étiquette n'a été écrite."
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr "L'étiquette a été tronquée."
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "pas d'Ă©tiquette, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "pas d'UUID\n"
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [options] périphérique [taille]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -c, --check vérifier les blocs corrompus avant créer zone "
+"d'Ă©change\n"
+" -f, --force permettre une taille d'espace d'Ă©change plus "
+"grande\n"
+" que le périphérique\n"
+" -p, --pagesize TAILLE indiquer la taille de page en octet\n"
+" -L, --label ÉTIQUETTE indiquer l'étiquette\n"
+" -v, --swapversion NBRE indiquer le numéro de version d'espace d'échange\n"
+" -U, --uuid UUID indiquer l'UUID Ă  utiliser\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "trop de pages corrompues"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "Ă©chec de positionnement dans check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "une page corrompue\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu pages corrompues\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "impossible d'allouer une nouvelle sonde libblkid"
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr "impossible d'assigner un périphérique à la sonde libblkid"
+
+# disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "impossible de réinitialiser la zone d'échange"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "impossible d'effacer le secteur d'amorçage"
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s : avertissement : n'effacez pas les secteurs de démarrage"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (%s table de partitions détectée). "
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " sur tout le disque. "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (compilé sans libblkid). "
+
+#: disk-utils/mkswap.c:489
+msgid "parse page size failed"
+msgstr "Ă©chec d'analyse de la taille de page"
+
+#: disk-utils/mkswap.c:495
+msgid "parse version number failed"
+msgstr "échec d'analyse du numéro de version"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+"avertissement : option -U ignorée (les UUID ne sont pas pris en charge par "
+"%s)"
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr "pas de prise en charge de la version %d d'espace d'échange."
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "erreur : échec d'analyse de l'UUID"
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr "erreur : aucun endroit pour définir une zone d'échange."
+
+#: disk-utils/mkswap.c:545
+msgid "invalid block count argument"
+msgstr "argument de nombre de blocs incorrect"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr ""
+"erreur : taille %llu Kio supérieure à la taille du périphérique %llu Kio"
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "erreur : la zone d'échange (swap) doit être d'au moins %ld Kio"
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "avertissement : zone d'échange (swap) tronquée à %llu Kio"
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "erreur : %s est monté ; impossible de créer une zone d'échange."
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr "avertissement : %s est mal aligné"
+
+# disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Impossible d'initialiser l'espace d'échange : illisible"
+
+# disk-utils/mkswap.c:606
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Configure l'espace d'échange (swap) en version 1, taille = %llu Kio\n"
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s : impossible d'écrire la page de signature"
+
+# disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "échec de la synchronisation du système de fichiers par fsync"
+
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s : impossible d'obtenir l'étiquette du fichier selinux"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "matchpathcon() inutilisable"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "impossible de créer un nouveau contexte selinux"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "impossible d'Ă©valuer le contexte selinux"
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr "impossible d'Ă©tiqueter %s en %s"
+
+#: disk-utils/partx.c:79
+msgid "partition number"
+msgstr "numéro de partition"
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr "début de la partition en secteur"
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr "fin de la partition en secteur"
+
+#: disk-utils/partx.c:82
+msgid "number of sectors"
+msgstr "nombre de secteurs"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr "taille lisible par l'utilisateur"
+
+#: disk-utils/partx.c:84
+msgid "partition name"
+msgstr "nom de partition"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+msgid "partition UUID"
+msgstr "UUID de partition"
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr "type de la table de partitions (dos, gpt, etc.)"
+
+#: disk-utils/partx.c:87
+msgid "partition flags"
+msgstr "indicateurs de la partition "
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr "type de partition hex ou uuid"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+msgid "failed to initialize loopcxt"
+msgstr "Ă©chec d'initialisation de loopcxt"
+
+#: disk-utils/partx.c:110
+#, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s : impossible de trouver un périphérique boucle non utilisé"
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "Tentative d'utiliser « %s » comme périphérique boucle\n"
+
+#: disk-utils/partx.c:118
+#, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s : échec de configuration du fichier associé"
+
+# disk-utils/mkswap.c:612
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s : échec de configuration du périphérique boucle"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "colonne inconnue : %s"
+
+#: disk-utils/partx.c:200
+#, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s : échec d'obtention du numéro de partition"
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr "%s : erreur lors de la suppression de la partition %d"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "%s : erreur lors de la suppression des partitions %d-%d"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr "l'intervalle indiqué <%d:%d> n'a pas de sens"
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "%s : partition nº %d enlevée\n"
+
+#: disk-utils/partx.c:304
+#, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "%s : la partition nº %d n'existe pas encore\n"
+
+#: disk-utils/partx.c:309
+#, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "%s : échec de suppression de la partition nº %d"
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr "%s : erreur lors de l'ajout de la partition %d"
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "%s : erreur lors de l'ajout des partitions %d-%d"
+
+#: disk-utils/partx.c:368
+#, c-format
+msgid "%s: partition #%d added\n"
+msgstr "%s : partition nº %d ajoutée\n"
+
+#: disk-utils/partx.c:373
+#, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s : échec d'ajout de la partition nº %d"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr "nº %2d : %9ju-%9ju (%9ju secteurs, %6ju Mo)\n"
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr "Ă©chec d'ajout d'une ligne en sortie"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr "Ă©chec d'initialisation de la table de sortie"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr "Ă©chec d'initialisation de la colonne de sortie"
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "échec d'initialisation du filtre blkid pour « %s »"
+
+#: disk-utils/partx.c:585
+#, c-format
+msgid "%s: failed to read partition table"
+msgstr "%s : échec de lecture de table de partitions"
+
+#: disk-utils/partx.c:591
+#, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr "%s : type de table de partitions « %s » détecté\n"
+
+#: disk-utils/partx.c:595
+#, c-format
+msgid "%s: partition table with no partitions"
+msgstr "%s : table de partitions sans partition"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disque>\n"
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --add ajouter les partitions indiquées ou toutes\n"
+" -d, --delete supprimer les partitions indiquées ou toutes\n"
+" -l, --list afficher la liste des partitions (obsolète)\n"
+" -s, --show afficher la liste des partitions\n"
+"\n"
+" -b, --bytes afficher la TAILLE en octet plutĂ´t qu'en format\n"
+" lisible par l'utilisateur\n"
+" -g, --noheadings ne pas afficher les en-tĂŞtes pour --show\n"
+" -n, --nr <m:n> indiquer l'intervalle de partitions (par exemple --nr "
+"2:4)\n"
+" -o, --output <liste> définir les colonnes de sortie utiliser\n"
+" -P, --pairs utiliser le format de sortie clef=\"valeur\"\n"
+" -r, --raw utiliser le format de sortie brut\n"
+" -t, --type <type> indiquer le type de partition (dos, bsd, "
+"solaris, etc.)\n"
+" -v, --verbose mode bavard\n"
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+"\n"
+"Colonnes disponibles (pour --show, --raw ou --pairs) :\n"
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr "Ă©chec d'analyse de l'intervalle --nr <M-N> "
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "les options --nr et <partition> s'excluent mutuellement"
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr "partition : %s, disque : %s, première : %d, dernière : %d\n"
+
+#: disk-utils/partx.c:829
+#, c-format
+msgid "%s: cannot delete partitions"
+msgstr "%s : impossible de détruire les partitions"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "%s : périphériques boucle partitionnés non pris en charge"
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "%s : échec d'initialisation de sonde blkid"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+" %1$s %2$srawN <majeur> <mineur>\n"
+" %1$s %2$srawN /dev/<périphérique_bloc>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr " -q, --query définir en mode demande\n"
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr " -a, --all demander tous les périphériques bloc\n"
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+"Le périphérique « %s » est le périphérique de contrôle brut (utiliser raw<N> "
+"où <N> est plus grand que zéro)"
+
+#: disk-utils/raw.c:178
+#, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Impossible de localiser le périphérique bloc « %s »"
+
+#: disk-utils/raw.c:181
+#, c-format
+msgid "Device '%s' is not a block device"
+msgstr "« %s » n'est pas un périphérique bloc"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+msgid "failed to parse argument"
+msgstr "Ă©chec d'analyse de l'argument"
+
+#: disk-utils/raw.c:210
+#, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Impossible d'ouvrir le périphérique brut maître « %s »"
+
+#: disk-utils/raw.c:225
+#, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "Impossible de localiser le périphérique brut « %s »"
+
+#: disk-utils/raw.c:228
+#, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "Le périphérique brut « %s » n'est pas un périphérique caractère"
+
+#: disk-utils/raw.c:232
+#, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "« %s » n'est pas un périphérique brut"
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr "Erreur d'interrogation du périphérique brut"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr "%sraw%d : associé au numéro majeur %d, numéro mineur %d\n"
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr "Erreur de configuration du périphérique brut"
+
+#: disk-utils/resizepart.c:18
+#, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr " %s <périphérique disque> <numéro de partition> <longueur>\n"
+
+#: disk-utils/resizepart.c:98
+#, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s : échec d'obtention du début de la partition numéro %s"
+
+#: disk-utils/resizepart.c:103
+msgid "failed to resize partition"
+msgstr "Ă©chec de redimensionnement de partition"
+
+# disk-utils/mkswap.c:612
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr "%s : impossible d'examiner le périphérique"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr "%s : le résultat de l'examen est ambigu, utilisez wipefs(8)"
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s : pas une partition d'échange valable"
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s : ne prend pas en charge la version « %s » d'espace d'échange"
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr "échec d'analyse de l'UUID : %s"
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s : échec de positionnement sur l'UUID d'espace d'échange"
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s : échec d'écriture de l'UUID"
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s : échec de positionnement sur l'étiquette d'espace d'échange "
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr "L'étiquette est trop longue. Tronquée à « %s »"
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr "%s : échec d'écriture de l'étiquette"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+" -L, --label <Ă©tiquette> indiquer une nouvelle Ă©tiquette\n"
+" -U, --uuid <uuid> indiquer un nouvel UUID\n"
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "option -U ignorée (les UUID ne sont pas pris en charge)"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s : mémoire épuisée !\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Inutilisable"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Espace libre"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Le disque a été modifié.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Redémarrez le système pour vous assurer de la mise à jour correcte de la "
+"table de partitions.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"Attention : si vous avez créé ou modifié une\n"
+"partition DOS 6.x, veuillez consulter les pages du\n"
+"manuel de cfdisk pour de plus amples renseignements.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "Erreur fatale"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Appuyez sur n'importe quelle touche pour quitter cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Impossible de se positionner sur le disque"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Impossible de lire le disque"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Impossible d'Ă©crire sur le disque"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Trop de partitions"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "La partition commence avant le secteur 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "La partition se termine avant le secteur 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "La partition commence après la fin du disque"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "La partition se termine après la fin du disque"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "partitions logiques non ordonnées suivant le disque"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "chevauchement de partitions logiques"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "chevauchement des partitions logiques agrandies"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "Erreur interne en créant un disque logique sans partition étendue !"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Impossible de créer un disque logique ici — cela créerait 2 partitions "
+"Ă©tendues"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Item de menu trop long. Le menu risque de paraître bizarre."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Touche incorrecte"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Appuyez sur une touche pour continuer"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primaire"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Créer une nouvelle partition primaire"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logique"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Créer une nouvelle partition logique"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Annuler"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Ne pas créer une partition"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "Erreur interne !"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Taille (en Mo) : "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "DĂ©but"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Ajouter une partition au début de l'espace libre"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Fin"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Ajouter une partition Ă  la fin de l'espace libre"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Pas d'espace pour créer une partition étendue"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Aucune table de partitions.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Aucune table de partitions. DĂ©marrage avec une table vierge."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Signature erronée dans la table de partitions"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Type de table de partitions inconnu"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Voulez-vous démarrer avec une table vierge [y (pour oui)/N] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Vous avez indiqué plus de cylindres que le disque n'en contient"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Impossible d'ouvrir l'unité de disque"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disque ouvert en lecture seule — aucune permission d'écriture"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Attention. Identifiant GPT (GUID) de table de partitions non pris en charge "
+"détecté. Utilisez GNU Parted."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Impossible d'obtenir la taille du disque"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Partition primaire erronée"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Partition logique erronée"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Attention. Des données du disque risquent d'être détruites !"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Voulez-vous vraiment écrire la table de partitions sur le disque ? (oui ou "
+"non) : "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "non"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Table de partitions non Ă©crite sur le disque"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "oui"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Veuillez saisir « oui » ou « non »"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Écriture de la table de partitions sur le disque…"
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Table de partitions Ă©crite sur le disque"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Table de partitions écrite, mais échec de la relecture. Exécuter partprobe"
+"(8), kpartx(8) ou redémarrer pour mettre à jour la table."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Aucune partition primaire n'est marquée amorçable. DOS MBR ne pourra pas "
+"amorcer."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Plusieurs partitions primaires sont marquées amorçables. DOS MBR ne pourra "
+"pas amorcer."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Saisissez le nom du fichier ou appuyer sur la touche entrée pour afficher à "
+"l'écran : "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unité de disque : %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Secteur 0 :\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Secteur %d :\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Aucun "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primaire"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logique"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Inconnu"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Amorce"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Aucun"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Table de partitions de %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Premier Dernier\n"
+
+# fdisk/cfdisk.c:1969
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Type Secteur Secteur Posit. Longueur Type syst. fic. (ID) "
+"Ind.\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ---- DĂ©but ---- ----- Fin ----- DĂ©but Nombre de\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Ind. TĂŞte Sect Cyl. ID TĂŞte Sect Cyl. Secteur Secteurs\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Brut(e)"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Afficher le contenu de la table sous forme de données brutes"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Secteurs"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Afficher le contenu de la table ordonné par secteurs"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Table"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Afficher juste la table de partitions"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Ne pas afficher la table"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Écran d'aide pour cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "cfdisk est un programme de partitionnement basé sur curses, qui"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "permet de créer, détruire et modifier les partitions sur le"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "disque dur."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Commande Signification"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr ""
+" b Basculer l'indicateur d'amorçage sur la partition courante"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d DĂ©truire la partition courante"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+" g Modifier les paramètres : cylindres, têtes, secteurs par piste"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " Attention : cette option ne doit pas être utilisée si"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " vous ne savez pas que vous modifiez."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Afficher cet Ă©cran d'aide"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr ""
+" m Maximiser l'utilisation du disque par la partition courante"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Note : cela peut rendre la partition incompatible avec"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, etc."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Créer une nouvelle partition à partir de l'espace libre"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr ""
+" p Écrire la table de partitions à l'écran ou dans un fichier"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Vous pouvez choisir parmi plusieurs formats différents"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " pour la partition :"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r — Données brutes (exactement ce qui est écrit sur le "
+"disque)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s — Table ordonnée par secteurs"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t — Table au format brut"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Quitter le programme sans Ă©crire la table de partitions"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Modifier le type de système de fichiers"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Modifier l'affichage des unités de taille des partitions"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Permuter entre Mo, secteurs et cylindres"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W Écrire la table de partitions sur le disque (majuscule "
+"obligatoire)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr ""
+" Vu des données du disque risquent d'être détruire , vous devez"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " confirmer ou annuler la commande en saisissant « oui » ou"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " « non »"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Flèche-haut Déplacer le curseur vers la partition précédente"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Flèche-bas Déplacer le curseur vers la partition suivante"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Rafraîchir le contenu de l'écran"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Afficher cet Ă©cran d'aide"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Note : toutes les commandes peuvent être saisies en lettres"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "majuscules ou minuscules (sauf pour les écritures : W majuscule)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cylindres"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Modifier la géométrie des cylindres"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "TĂŞtes"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Modifier la géométrie des têtes"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Modifier la géométrie des secteurs"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Terminé"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Modification de la géométrie terminée"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Saisissez le nombre de cylindres : "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Valeur de cylindres incorrecte"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Saisissez le nombre de têtes : "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Valeur de tĂŞtes incorrecte"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Saisissez le nombre de secteurs par piste : "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Valeur de secteurs incorrecte"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Saisissez le type de système de fichiers : "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Impossible de modifier le type de système de fichiers (valeur nulle)"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Impossible de modifier le type de système de fichiers à « étendu »"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Inc(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Inconnu (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Unité disque : %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Taille : %lld octets, %lld Mo"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Taille : %lld octets, %lld.%lld Go"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Têtes : %d Secteurs par piste : %d Cylindres : %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nom"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Ind."
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Partition"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "S. Fic."
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Étiq.]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Secteurs"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cylindres"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr "Taille (Mo)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr "Taille (Go)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Pas de partition supplémentaire"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Amorçable"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Basculer l'indicateur d'amorçage de la partition actuelle"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "DĂ©truire"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "DĂ©truire la partition courante"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Géométrie"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Modifier la géométrie du disque (réservé aux spécialistes)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Aide"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Afficher l'Ă©cran d'aide"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maximiser"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Maximiser l'usage du disque par la partition courante (réservé aux "
+"spécialistes)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Nouvelle"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Créer une nouvelle partition à partir de l'espace libre"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Afficher"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr ""
+"Afficher le contenu de la table de partitions Ă  l'Ă©cran (ou dans un fichier)"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Quitter"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Quitter le programme sans Ă©crire la table de partitions"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Type"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Modifier le type de système de fichier (DOS, Linux, OS/2, etc.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Unités"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Modifier l'affichage des unités de taille des partitions (Mo, secteurs, cyl.)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Écrire"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+"Écrire la table de partitions sur le disque (des données peuvent être "
+"détruites)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Impossible de rendre cette partition amorçable"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Impossible de détruire une partition vide"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Impossible de maximiser cette partition"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Cette partition est inutilisable"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Cette partition est en cours d'utilisation"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Impossible de changer le type d'une partition vide"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Commande incorrecte"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+"Afficher le numéro de version :\n"
+" %s -v\n"
+"Afficher la table de partitions :\n"
+" %s -P {r|s|t} [options] périphérique\n"
+"Utilisation interactive :\n"
+" %s [options] périphérique\n"
+"\n"
+"Options :\n"
+"-a : Utiliser des flèches à la place de la surbrillance.\n"
+"-z : Commencer avec une table de partitions vierge,\n"
+" au lieu de la lire sur le disque.\n"
+"-c C -h H -s S : passer outre les paramètres connus du noyau : nombre de\n"
+" cylindres, nombre de tĂŞtes et nombre de secteurs par "
+"piste.\n"
+
+#: fdisks/cfdisk.c:2779
+msgid "cannot parse number of cylinders"
+msgstr "impossible d'analyser le nombre de cylindres"
+
+#: fdisks/cfdisk.c:2789
+msgid "cannot parse number of heads"
+msgstr "impossible d'analyser le nombre de tĂŞtes"
+
+#: fdisks/cfdisk.c:2796
+msgid "cannot parse number of sectors"
+msgstr "impossible d'analyser le nombre de secteurs"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tIl y a une Ă©tiquette AIX valable sur ce disque.\n"
+"\tMalheureusement, Linux ne gère pas ce type de\n"
+"\tdisque pour le moment. NĂ©anmoins, voici quelques\n"
+"\tconseils :\n"
+"\t1. fdisk détruira son contenu lors d'une écriture.\n"
+"\t2. VĂ©rifiez que le disque n'est PLUS une partie essentielle\n"
+"\t d'un groupe de volumes (sinon, vous risquez d'effacer\n"
+"\t aussi les autres disques, en absence de miroirs).\n"
+"\t3. Avant de détruire ce volume physique, vérifiez\n"
+"\t d'avoir retiré le disque logique du système AIX\n"
+"\t (à moins d'être un spécialiste d'AIX)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tDésolé — cette version de fdisk ne gère pas les étiquettes de disques "
+"AIX.\n"
+"\tSi vous désirez ajouter des partitions de type DOS, créez d'abord\n"
+"\tune nouvelle table de partitions DOS vide (utiliser o).\n"
+"\tAttention : cela détruira le contenu actuel du disque.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Étiquette BSD sur le périphérique : %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Écriture de l'étiquette de disque sur %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Premier %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Dernier %s ou +taille or +tailleM ou +tailleK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s ne contient pas d'Ă©tiquette.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Voulez-vous créer une étiquette de disque ? (y pour oui/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "La partition %s a un secteur 0 de départ non valable.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lecture de l'étiquette du disque %s au secteur %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Il n'y a pas de partition *BSD sur %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Commande d'Ă©tiquetage BSD (m pour l'aide): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "type : %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "type : %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disque : %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "étiquette : %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "indicateurs :"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " amovible"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " mauvais secteur"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "octets/secteur : %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "secteurs/piste : %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "pistes/cylindre : %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "secteurs/cylindre : %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindres : %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "tours/min : %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave : %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "décalage-piste : %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "décalage-cylindre : %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "commutation-têtes : %ld\t\t#millisecondes\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "positionnement piste-à-piste : %ld\t# millisecondes\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "données-disque : "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partitions :\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr ""
+"# début fin taille type sys.fic [fsize bsize cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "octets/secteur"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "secteurs/piste"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "pistes/cylindre"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cylindres"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "secteurs/cylindre"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Doit être <= secteurs/piste × pistes/cylindre (par défaut).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "tours/mn"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "décalage-pistes"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "décalage-cylindres"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "commutation-tĂŞtes"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "positionnement piste-Ă -piste"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Amorce : %sboot -> boot%s (%s) : "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "L'amorce chevauche l'étiquette du disque !\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Amorce installée sur %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partition (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Le nombre maximal de partitions a été créé\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Cette partition existe déjà.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Avertissement : trop de partitions (%d, le maximum est %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synchronisation des disques.\n"
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr "basculer l'indicateur d'amorçage"
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr "basculer l'indicateur de lecture seule"
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr "sélectionner une partition amorçable"
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr "modifier le nombre de cylindres alternatifs"
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr "Ă©diter l'Ă©tiquette BSD du disque"
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr "éditer l'entrée du fichier d'amorce"
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr "déplacer le début des données dans une partition"
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr "basculer l'indicateur de compatibilité DOS"
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr "basculer l'indicateur « montable »"
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr "sélectionner une partition d'échange pour SGI"
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr "modifier le nombre de cylindres"
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr "supprimer la partition"
+
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr "afficher les données brutes de la table de partitions"
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr "modifier le nombre de secteurs additionnels par cylindre"
+
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr "afficher les partitions Ă©tendues"
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr "éditer les données du périphérique"
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr "corriger l'ordre des partitions"
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr "créer une table de partitions de type IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr "modifier le nombre de tĂŞtes"
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr "modifier le facteur « interleave »"
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr "modifier l'identifiant de disque"
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr "installer une amorce"
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr "afficher les types de partitions connues"
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr "afficher ce menu"
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr "ajouter une nouvelle partition"
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr "créer une nouvelle table vide de partitions DOS"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr "modifier la vitesse de rotation en tour par minute"
+
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr "afficher la table de partitions"
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr "quitter sans enregistrer les modifications"
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr "revenir au menu principal"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr "créer une nouvelle étiquette vide pour disque de type Sun"
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr "modifier le nombre de secteurs par piste"
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr "montrer l'étiquette complète du disque"
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr "modifier l'identifiant de système de fichiers d'une partition"
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr "modifier les unités d'affichage et de saisie"
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr "vérifier la table de partitions"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr "Ă©crire la table sur le disque et quitter"
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr "Ă©crire l'Ă©tiquette de disque"
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr "fonctions avancées (pour experts seulement)"
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr "lier la partition BSD Ă  une partition qui n'est pas de type BSD"
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr "modifier le nombre de cylindres physiques"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+"Utilisation :\n"
+" %1$s [options] <disque> modifier la table de partitions\n"
+" %1$s [options] -l <disque> afficher la table de partitions\n"
+" %1$s -s <partition> afficher les tailles de partition size en blocs\n"
+"\n"
+"Options :\n"
+" -b <taille> taille de secteur (512, 1024, 2048 ou 4096)\n"
+" -c[=<mode>] mode de compatibilité : « dos » ou « nondos » (par "
+"défaut)\n"
+" -h afficher ce texte d'aide\n"
+" -u[=<unité>] afficher les unités : « cylinders » ou "
+"« secteurs » (par défaut)\n"
+" -v afficher la version du programme\n"
+" -C <nombre> indiquer le nombre de cylindres\n"
+" -H <nombre> indiquer le nombre de tĂŞtes\n"
+" -S <nombre> indiquer le nombre de secteurs par piste\n"
+"\n"
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr "impossible de lire %s"
+
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr "impossible de se positionner sur %s"
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr "impossible d'Ă©crire %s"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "Ă©chec d'ioctl BLKGETSIZE ioctl sur %s"
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr "erreur fatale"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Commande d'action"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Vous devez initialiser"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "tĂŞtes"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "secteurs"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Vous pouvez faire cela depuis le menu des fonctions avancées.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " et "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"Attention : la taille du disque est %d.%d To (%llu octets).\n"
+"Ce format de table de partitions DOS ne peut pas être utilisé\n"
+"sur des disques pour des volumes plus grand (%llu octets) et\n"
+"secteurs de %ld octets. Utilisez parted(1) et le format de table\n"
+"de partitions Ă  GUID (GPT).\n"
+"\n"
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+"\n"
+"Le périphérique dispose d'une taille de secteur logique plus\n"
+"petite que la taille de secteur physique. Ajuster la limite de\n"
+"taille Ă  celle de secteur physique (ou optimale en terme d'E/S)\n"
+"est conseillé, sinon les performances risquent d'être affectées.\n"
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"Attention : le mode de compatibilité DOS est obsolète. Il est fortement\n"
+" recommandé de désactiver ce mode (avec la commande « c »)."
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+"\n"
+"Attention : l'affichage par cylindres est obsolète. Veuillez utiliser\n"
+" la commande « u » pour utiliser les secteurs comme unités.\n"
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr "Voulez-vous vraiment quitter ?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Code Hexa (taper L pour afficher les codes): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, par défaut %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Suffixe non pris en charge : « %s ».\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"Admis : 10^N : KB (kilooctets), MB (mégaoctets), GB (gigaoctets)\n"
+" 2^N : K (kibioctets), M (mébioctets), G (gibioctets)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Utilisation de la valeur par défaut %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Valeur hors limites.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Numéro de partition"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Avertissement : partition %d a un type vide\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partition %d sélectionnée\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Aucune partition n'est définie pour l'instant !\n"
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cylindre"
+msgstr[1] "cylindres"
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "secteur"
+msgstr[1] "secteurs"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr ""
+"Modification des unités d'affichage et de saisie en cylindres (obsolète !)\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Modification des unités d'affichage/saisie en secteurs\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "Attention : la partition %d est une partition étendue\n"
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "Indicateur de compatibilité DOS activé (obsolète !)\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Indicateur de compatibilité DOS non activé\n"
+
+#: fdisks/fdisk.c:841
+#, c-format
+msgid "Partition %d is deleted\n"
+msgstr "La partition %d est effacée\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "La partition %d n'existe pas encore !\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Type 0 signifie libérer l'espace sur plusieurs systèmes\n"
+"(mais pas pour Linux). Avoir des partitions de\n"
+"type 0 n'est pas recommandé. Vous pouvez détruire\n"
+"la partition en utilisant la commande « d ».\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Vous ne pouvez pas transformer une partition en partition Ă©tendue ou vice "
+"versa.\n"
+"Vous devez la détruire d'abord.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Considérer de laisser la partition 3 comme un disque entier (5),\n"
+"tel que SunOS/Solaris l'exige, ce qui est aussi préférable pour Linux.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Considérer de laisser la partition 9 comme un volume en-tête (0),\n"
+"et la partition 11 comme un volume entier (6) tel que IRIX l'exige.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Type système de partition modifié de %d à %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Type système de partition %d non modifié : %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"La partition %d a des débuts physique et logique différents (non Linux ?) :\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " phys=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logique=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "La partition %d a des fins physique et logique différentes :\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "La partition %i ne se termine pas sur une frontière de cylindre.\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr ""
+"La partition %i ne commence pas sur une frontière de cylindre physique.\n"
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disque %s : %ld Mo, %lld octets"
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disque %s : %ld.%ld Go, %llu octets"
+
+#: fdisks/fdisk.c:1007
+#, c-format
+msgid ", %llu sectors\n"
+msgstr ", %llu secteurs\n"
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d têtes, %llu secteurs/piste, %llu cylindres\n"
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Unités = %s de %d × %ld = %ld octets\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "Taille de secteur (logique / physique) : %lu octets / %lu octets\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr "taille d'E/S (minimale / optimale) : %lu octets / %lu octets\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "Index d'alignement : %lu octets\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Rien à faire. L'ordre est déjà correct.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Terminé.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Cela ne ressemble pas Ă  une table de partition.\n"
+"Vous avez probablement sélectionné le mauvais périphérique.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Amorce Début Fin Blocs Id Système\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Périphérique"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Les entrées de la table de partitions ne sont pas dans l'ordre du disque\n"
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s : %d têtes, %llu secteurs, %llu cylindres\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr AF Hd Sec Cyl Hd Sec Cyl DĂ©but Taille ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Avertissement : la partition %d contient un secteur 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partition %d : tête %d supérieure au maximum %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partition %d : secteur %d supérieur au maximum %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partitions %d : cylindre %d supérieur au maximum %llu\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+"Partition %d : secteurs précédents %d ne concordent pas avec le total %d\n"
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "La partition %d de type %s et de taille %s est configurée\n"
+
+#: fdisks/fdisk.c:1355
+msgid "cannot write disk label"
+msgstr "impossible d'Ă©crire l'Ă©tiquette de disque"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"La table de partitions a été altérée.\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Appel d'ioctl() pour relire la table de partitions.\n"
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"Attention : la table de partitions n'a pas pu être relue : erreur %d : %m.\n"
+"Le noyau continue à utiliser l'ancienne table. La nouvelle sera utilisée\n"
+"lors du prochain démarrage ou après avoir exécuté partprobe(8) ou kpartx"
+"(8).\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"Attention : si vous avez créé ou modifié une partition DOS 6.x,\n"
+"veuillez consulter les pages du manuel de fdisk pour des informations\n"
+"complémentaires.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Erreur de fermeture du fichier\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synchronisation des disques.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "La partition %d n'a pas de zone de données\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Nouveau début de données"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Commande pour experts (m pour de l'aide): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Nombre de cylindres"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Nombre de tĂŞtes"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Nombre de secteurs"
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+"Avertissement : initialisation du décalage de secteur pour compatibilité "
+"DOS\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"Attention : identifiant de table de partitions GPT (GUID) détecté sur "
+"« %s » ! L'utilitaire sfdisk ne prend pas GPT en charge. Utilisez GNU "
+"Parted.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "impossible d'ouvrir %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c : commande inconnue\n"
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Bienvenue dans fdisk (%s).\n"
+"\n"
+"Les modifications resteront en mémoire jusqu'à écriture.\n"
+"Soyez prudent avant d'utiliser la commande d'Ă©criture.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"DĂ©tection d'une Ă©tiquette de disque OSF/1 sur %s, passage en mode d'Ă©dition "
+"d'Ă©tiquette.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Commande (m pour l'aide): "
+
+#: fdisks/fdisk.c:1821
+msgid "invalid sector size argument"
+msgstr "argument de taille de secteur incorrect"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+msgid "invalid cylinders argument"
+msgstr "argument de cylindres incorrect"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+msgid "invalid heads argument"
+msgstr "argument de tĂŞtes incorrect"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+msgid "invalid sectors argument"
+msgstr "argument de secteurs incorrect"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Avertissement : l'option -b (initialiser la taille de secteur) doit être "
+"utilisée avec un périphérique indiqué\n"
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Note : taille de secteur %ld (et non pas %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Le périphérique ne contient pas de table de partitions reconnue\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Toutes les partitions primaires ont déjà été définies !\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Décalage erroné dans la partition primaire étendue\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Avertissement : omission des partitions après nº %d.\n"
+"Elles seront détruites si vous sauvegardez cette table de partition.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Avertissement : pointeur additionnel dans la table de partitions %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+"Avertissement : données superflues ignorées dans la table de partitions %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "partition vide ignorée (%d)\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identifiant de disque : 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+"Construction d'une nouvelle Ă©tiquette pour disque de type DOS avec "
+"identifiant de disque 0x%08x.\n"
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nouvel identifiant de disque (actuellement 0x%08x) : "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Partition étendue supplémentaire %d ignorée\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Avertissement : indicateur 0x%04x incorrect dans la table de partitions %d, "
+"sera corrigé par w (écriture)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "La partition %d est déjà définie. Détruisez-là avant de l'ajouter.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Le secteur %llu est déjà alloué\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Aucun secteur disponible\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Dernier %1$s, +%2$s ou +taille{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Ajout de la partition logique %d\n"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Avertissement : début de données erroné dans la partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Avertissement : la partition %d chevauche la partition %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Avertissement : la partition %d est vide\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "La partition logique %d n'est pas entièrement dans la partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Total de secteurs alloués %llu supérieur au maximum %llu\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld secteurs de %ld octets non alloués restant\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Toutes les partitions primaires sont utilisées\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+"Pour créer plus de quatre partitions, vous devez d'abord\n"
+"remplacer une partition primaire par une partition Ă©tendue.\n"
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Toutes les partitions logiques sont utilisées\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Ajout d'une partition primaire\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+"Type de partition :\n"
+" p primaire (%d primaire(s), %d étendue(s), %d libre(s))\n"
+"%s\n"
+"Sélection (%c par défaut) : "
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr " l logique (numéroté à partir de 5)"
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr " e Ă©tendue"
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr "Utilisation de la réponse %c par défaut\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Type de partition « %c » incorrect\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tIl y a une Ă©tiquette Mac valable sur ce disque,\n"
+"\thélas fdisk(1) ne gère pas ce type de disque.\n"
+"\tUtilisez pdisk ou parted pour modifier la\n"
+"\ttable de partitions. Quelques conseils :\n"
+"\t1. fdisk détruira le contenu lors de l'écriture.\n"
+"\t2. soyez sûr que le disque ne constitue pas\n"
+"\t une partie VITALE d'un groupe de volumes.\n"
+"\t (Si tel Ă©tait le cas, vous pourriez effacer aussi\n"
+"\t les autres disques n'ayant pas de miroirs.)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tDésolé — cette version de fdisk ne gère pas les étiquettes de disques "
+"Mac.\n"
+"\tSi vous désirez ajouter des partitions de type DOS, créez d'abord\n"
+"\tune nouvelle table de partitions DOS vide (utiliser o).\n"
+"\tAttention : cela détruira le contenu actuel du disque.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "volhdr SGI"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "trkrepl SGI"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "secrepl SGI"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "brut SGI"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "bsd SGI"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "sysv SGI"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "volume SGI"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "efs SGI"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "lvol SGI"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "rlvol SGI"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "xfs SGI"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "xfslog SGI"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "xlv SGI"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "xvm SGI"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "partition d'Ă©change Linux"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "native Linux"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "LVM Linux"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "RAID Linux"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"D'après la MIPS Computer Systems, l'étiquette ne doit pas contenir plus de "
+"512 octets\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Étiquette de disque SGI détectée avec une somme de contrôle erronée.\n"
+
+# fdisk/fdisksgilabel.c:202
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s (étiquette de disque SGI) : %d têtes, %llu secteurs\n"
+"%llu cylindres, %d cylindres physiques\n"
+"%d secteurs/cyl additionnels, interleave %d:1\n"
+"%s\n"
+"Unités = %s sur %d * %ld octets\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s (étiquette de disque SGI) : %d têtes, %llu secteurs, "
+"%llu cylindres\n"
+"Unités = %s de %d × %ld octets\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- partitions -----\n"
+"Pt# %*s Info Début Fin Secteurs Id Système\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Info d'amorçage -----\n"
+"Fichier d'amorce : %s\n"
+"----- Entrées de répertoire -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d : %-10s secteur%5u taille%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Fichier d'amorce non valable !\n"
+"\tLe fichier d'amorce doit avoir un chemin d'accès absolu non nul,\n"
+"\tpar exemple « /unix » ou « /unix.save ».\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNom du fichier d'amorce trop long : 16 octets au maximum.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tLe fichier d'amorce doit avoir un chemin d'accès complètement qualifié.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tAttention, l'existence du fichier d'amorce n'est pas vérifiée.\n"
+"\tPar défaut pour SGI, c'est « /unix » et pour la sauvegarde « /unix."
+"save ».\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Le fichier d'amorçage actuel est : %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "veuillez saisir le nom du nouveau fichier d'amorçage : "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Fichier d'amorçage non modifié\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tLe fichier d'amorce a été modifié en « %s ».\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Plus d'une entrée de disque entier présente.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Aucune partition définie\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr ""
+"Pour IRIX il est recommandé que la partition 11 couvre entièrement le "
+"disque.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"La partition d'un disque entier devrait commencer au bloc 0,\n"
+"pas au bloc %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"La partition entière du disque est seulement de %d blocs de largeur,\n"
+"alors que le disque contient %d blocs de disque.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "La partition 11 devrait couvrir le disque en entier.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "La partition %d ne commence pas sur une frontière de cylindre.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "La partition %d ne se termine pas sur une frontière de cylindre.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Les partitions %d et %d se chevauchent sur %d secteurs.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Espace inutilisé de %8u secteurs — secteurs %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"La partition d'amorce n'existe pas.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"La partition d'Ă©change n'existe pas.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"La partition d'échange n'est pas de type « swap ».\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tVous avez choisi un nom de fichier d'amorce inhabituel.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr ""
+"Désolé, l'étiquette n'est modifiable que pour les partitions non vides.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Il est fortement recommandé que la partition au décalage 0 soit de type\n"
+"« volhdr SGI », le système IRIX s'en sert pour récupérer des outils\n"
+"indépendants comme sash et fx dans ses répertoires. Seul le « volume SGI »\n"
+"couvrant la section entière du disque peut enfreindre cette règle. "
+"Saisissez\n"
+"« OUI » si vous êtes certain de l'étiquetage différent de cette partition.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "OUI\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Des partitions se chevauchent sur le disque.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Essai de création automatique d'une entrée pour le disque entier.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Le disque entier est déjà rempli de partitions.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Des partitions se chevauchent sur le disque. Veuillez corriger.\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Il est fortement recommandé que la onzième partition\n"
+"couvre le disque en entier pour ce type « volume SGI »\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Vous allez obtenir un chevauchement de partitions sur ce disque. Veuillez "
+"corriger.\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Dernier(e) %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr "Construction d'une nouvelle Ă©tiquette pour disque de type SGI.\n"
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "Échec d'ioctl HDIO_GETGEO sur %s"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Avertissement : l'ioctl BLKGETSIZE a échoué sur %s.\n"
+"Utilisation de la valeur %llu pour la géométrie du cylindre.\n"
+"Cette valeur peut être tronquée pour les périphériques de plus de 33,8 Go.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tDEBUT=%d\tLONGUEUR=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr ""
+"Tentative de conservation des paramètres des partitions déjà configurées.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Non-assigné"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "root SunOS"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "partition d'Ă©change SunOS"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "usr SunOS"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Disque entier"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "stand SunOS"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "var SunOS"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "home SunOS"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "secteurs alt. SunOS"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "cachefs SunOS"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "réservé SunOS"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "RAID Linux autodétecté"
+
+# fdisk/fdisksunlabel.c:132
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Détection d'une étiquette de disque Sun avec une somme de contrôle erronée.\n"
+"Vous devrez probablement indiquer les valeurs,\n"
+"par exemple tĂŞtes, secteurs, cylindres et partitions\n"
+"ou imposez une nouvelle étiquette (commande « s » du menu principal)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Étiquette de disque Sun détectée avec version erronée [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+"Étiquette de disque Sun détectée avec mauvais état de contrôle [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Étiquette de disque Sun détectée avec erreur num_partitions [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Avertissement : des valeurs erronées devront être corrigées par la commande "
+"w (Ă©criture)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "Construction d'une nouvelle Ă©tiquette pour disque de type Sun.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Secteurs/piste"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "La partition %d ne se termine pas sur une frontière de cylindre\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "La partition %d en chevauche d'autres dans les secteurs %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Espace intermédiaire inutilisé — secteurs 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Espace intermédiaire inutilisé — secteurs %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"D'autres partitions couvrent déjà le disque entier.\n"
+"En détruire ou réduire quelques-unes avant de réessayer.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Il est fortement recommandé que la troisième partition couvre le\n"
+"disque en entier et soit de type « Tout le disque »\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Le secteur %d est déjà alloué\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Vous n'avez pas recouvert le disque entier avec la troisième partition,\n"
+"mais la valeur %d %s en couvre d'autres. Votre entrée a été modifiée\n"
+"à %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Si vous désirez maintenir une compatibilité SunOS/Solaris, considérer de "
+"laisser cette\n"
+"partition comme disque entier (5), débutant à 0, avec %u secteurs\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Il est fortement recommandé que la partition au décalage 0 soit un système "
+"de\n"
+"fichiers UFS, EXT2FS ou partition d'Ă©change SunOS. Utiliser une partition\n"
+"d'échange Linux pourrait détruire la table de partitions et le bloc "
+"d'amorçage.\n"
+"Saisissez « OUI » si vous voulez vraiment que cette partition soit étiquetée "
+"82\n"
+"(partition d'échange Linux) : "
+
+# fdisk/fdisksunlabel.c:656
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s (étiquette de disque Sun) : %u têtes, %llu secteurs, %d tours/min\n"
+"%llu cylindres, %d cylindres alt., %d cylindres physiques\n"
+"%d secteurs/cylindres additionnels, interleave %d:1\n"
+"Identifiant d'étiquette : %s\n"
+"Identifiant de volume : %s\n"
+"Unités = %s de %d × 512 octets\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s (étiquette de disque Sun) : %u têtes, %llu secteurs, "
+"%llu cylindres\n"
+"Unités = %s de %d × 512 octets\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Indic. Début Fin Blocs Id Système\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Nombre de cylindres alternatifs"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Secteurs additionnels par cylindre"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Facteur « interleave »"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Vitesse de rotation (tour par minute)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Nombre de cylindres physiques"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Vide"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "root XENIX"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "usr XENIX"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Étendue"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS/exFAT"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "Amorçable AIX"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "Gestionnaire d'amorçage OS/2"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "Étendue W95 (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 masquée"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 masquée <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 masquée"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS masquée"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "W95 FAT32 masquée"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "W95 FAT32 masquée (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "W95 FAT16 masquée (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr "TFS WinRE masquée"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "récupération PartitionMagic"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "2e partie QNX4.x"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "3e partie QNX4.x"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ou SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Minix ancienne"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / Linux ancienne"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "partition d'Ă©change Linux / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 masquée disque C:"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux Ă©tendue"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "UFS Darwin"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Amorce Darwin"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "partition d'Ă©change BSDI"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard masquée"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Amorce Solaris"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Non-FS data"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS secondaire"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "erreur de positionnement sur %s — ne peut repérer %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "erreur de positionnement : désiré 0x%08x%08x, obtenu 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "erreur de lecture sur %s — impossible de lire le secteur %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "Erreur d'écriture sur %s — impossible d'écrire le secteur %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+"Impossible d'ouvrir le fichier de sauvegarde de secteur de partition (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "erreur d'Ă©criture sur %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+"impossible d'obtenir l'Ă©tat du fichier de restauration de partition (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"le fichier de restauration de partition a une taille erronée — pas de "
+"restauration\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "impossible d'ouvrir le fichier de restauration de partition (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "erreur de lecture %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "impossible d'ouvrir le périphérique %s pour écriture\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "erreur d'écriture du secteur %lu sur %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disque %s : impossible d'obtenir la géométrie\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disque %s : impossible d'obtenir la taille\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Avertissement : début=%lu — cela ressemble plus à une partition qu'à\n"
+"un disque entier. Utiliser fdisk n'aurait probablement pas de sens.\n"
+"[Utiliser l'option --force si vous désirez faire cela]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Avertissement : HDIO_GETGEO indique qu'il a %lu têtes\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Avertissement : HDIO_GETGEO indique qu'il y a %lu secteurs\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+"Avertissement : BLKGETSIZE/HDIO_GETGEO indique qu'il y a %lu cylindres\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Avertissement : le nombre de secteurs (%lu) — habituellement au plus de 63.\n"
+"Cela créera des problèmes avec les logiciels qui utilisent un adressage C/H/"
+"S.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disque %s : %lu cylindres, %lu têtes, %lu secteurs/piste\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s de la partition %s a une valeur impossible pour la tête : %lu (devrait "
+"ĂŞtre 0-%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s de la partition %s a une valeur impossible pour le secteur : %lu (devrait "
+"ĂŞtre 1-%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s de la partition %s a une valeur impossible pour les cylindres : %lu "
+"(devrait ĂŞtre 0-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Nom\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Relecture de la table de partitions…\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"La commande de relecture de la table de partitions a échoué.\n"
+"Exécutez partprobe(8), kpartx(8) ou redémarrez le système\n"
+"maintenant, avant d'utiliser mkfs\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Erreur de fermeture %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s : pas de telle partition\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "format non reconnu — utilisation des secteurs\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "format non implanté — %s utilisé\n"
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unités : cylindres de %lu octets, blocs de 1024 octets, décompte à partir de "
+"%d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Périph Amor Début Fin #cyls #blocs Id Système\n"
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unités : secteurs de 512 octets, décompte à partir de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Périph Amorce Début Fin #secteurs Id Système\n"
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unités : blocs de 1024 octets, décompte à partir de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Périph Amorce Début Fin #blocs Id Système\n"
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unités : 1 Mio = 1024×1024 octets, blocs de 1024 octets, décompte à partir "
+"de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Périph Amor Début Fin Mio #blocs Id Système\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tdébut : (c,h,s) attendu (%ld,%ld,%ld) trouvé (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tfin : (c,h,s) attendu (%ld,%ld,%ld) trouvé (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "la partition se termine sur le cylindre %ld, après la fin du disque\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Aucune partition repérée\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Avertissement : la table de partitions semble avoir été créée\n"
+" pour C/H/S=*/%ld/%ld (au lieu de %ld/%ld/%ld).\n"
+"Pour ce rapport, cette géométrie sera supposée telle.\n"
+
+#: fdisks/sfdisk.c:1166
+msgid "no partition table present."
+msgstr "aucune table de partitions présente."
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr "étrange, seulement %d partitions définies."
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"Avertissement : partition %s de taille nulle mais non marquée vide "
+"(« Empty »)\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Avertissement : partition %s de taille nulle et amorçable\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+"Avertissement : partition %s de taille nulle avec une adresse de début non "
+"nulle\n"
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr ""
+"Avertissement : la partition %s n'est pas contenue dans la partition %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Avertissement : les partitions %s et %s se chevauchent\n"
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Avertissement : la partition %s contient une partie de la table de\n"
+"partitions (secteur %llu), qui sera détruite lorsqu'elle se remplira\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Avertissement : la partition %s commence au secteur 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Avertissement : la partition %s s'étend après la fin du disque\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+"Avertissement : la partition %s a une taille de %d,%d To (%llu octets),\n"
+"ce qui est supérieure à la limite de %llu octets imposée par la table\n"
+"de partitions DOS pour les secteurs de %d octets\n"
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+"Avertissement : la partition %s commence au secteur %llu (%d,%d To de "
+"secteurs\n"
+"de %d octets), ce qui dépasse la limite de table de partitions DOS de "
+"%llu secteurs\n"
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Parmi les partitions primaires, au plus une seule peut ĂŞtre Ă©tendue\n"
+" (quoique cela n'est pas un problème sous Linux)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+"Avertissement : la partition %s ne commence pas sur une frontière de "
+"cylindre\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+"Avertissement : la partition %s ne se termine pas sur une frontière de "
+"cylindre\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Avertissement : plus d'une partition primaire marquée amorçable (active)\n"
+"Cela n'est pas d'important pour LILO, mais DOS MBR n'amorcera pas sur ce "
+"disque.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Avertissement : habituellement on ne peut amorcer qu'à partir d'une\n"
+"partition primaire. LILO ne s'occupe pas de l'indicateur d'amorçage.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Avertissement : aucune partition primaire marquée amorçable (active)\n"
+"Peu important pour LILO, mais DOS MBR n'amorcera pas ce disque.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "début"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partition %s : début : (c,h,s) attendu (%ld,%ld,%ld) trouvé (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "fin"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partition %s : fin : (c,h,s) attendu (%ld,%ld,%ld) trouvé (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partition %s terminant sur le cylindre %ld, après la fin du disque\n"
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Avertissement : décalage du début de partition étendue de %lld à %lld\n"
+"(pour fins d'affichage seulement. Ne modifie pas le contenu.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Avertissement : la partition étendue ne commence pas sur une frontière de\n"
+"cylindres. DOS et Linux interpréteront les contenus différemment.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "Erreur : le secteur %lu n'a pas une signature MS-DOS\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "trop de partitions — celles au-delà de nr (%ld) sont ignorées\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "arbre de partitions ?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Gestionnaire de disque détecté — impossible de gérer cela\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "signature DM6 repérée — abandon\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "bizarre… une partition étendue de taille nulle ?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "bizarre… une partition BSD de taille nulle ?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s : type non reconnu de table de partition\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "option -n utilisée : rien n'a changé\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Échec de sauvegarde des vieux secteurs — abandon\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Échec de l'écriture de la partition sur %s\n"
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr "ligne d'entrée longue ou incomplète — abandon"
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "erreur d'entrée : « = » attendu après le champ %s"
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "erreur d'entrée : caractère %c inattendu après le champ %s"
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr "entrée non reconnue : %s"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "nombre trop grand\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "rebut après le nombre\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "aucun espace pour le descripteur de partition\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "impossible de construire autour de la partition Ă©tendue\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "trop de champs à l'entrée\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Aucun espace pour en accepter davantage\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Type incorrect\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Avertissement : la taille donnée (%lu) excède la taille maximale allouable "
+"(%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Avertissement : partition vide\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Avertissement : début de partition corrompu (auparavant %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "indicateur d'amorçage non reconnu — choisir « - » ou « * »\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "spécification c,h,s partielle ?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Partition Ă©tendue par Ă  l'endroit attendu\n"
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr "entrée erronée"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "trop de partitions\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"L'entrée est au format suivant ; la valeur par défaut est allouée aux champs "
+"manquants.\n"
+"<début> <taille> <type [E,S,L,X,hex]> <amorçable [-,*]> <c,h,s> <c,h,s>\n"
+"Vous n'avez normalement besoin d'indiquer que <début> et <taille> (et "
+"parfois <type>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+
+#: fdisks/sfdisk.c:2368
+#, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr " %s [options] <périphérique> [...]\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Options :\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+" -s, --show-size afficher la taille d'une partition\n"
+" -c, --id modifier ou afficher l'identifiant de partition\n"
+" --change-id modifier l'identifiant\n"
+" --print-id afficher l'identifiant\n"
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+" -l, --list afficher les partitions de chaque périphérique\n"
+" -d, --dump identique, mais dans un format permettant une "
+"saisie ultérieure\n"
+" -i, --increment nombre de cylindres, etc. Ă  partir de 1 au lieu "
+"de 0\n"
+" -u, --unit <lettre> unité à utiliser ; <lettre> peut être\n"
+" S (secteur), C (cylindre), B (bloc) ou M (Mo)\n"
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+" -1, --one-only option réservée qui ne sert à rien pour le "
+"moment\n"
+" -T, --list-types afficher les types de partitions connus\n"
+" -D, --DOS pour compatibilité DOS : perte d'un peu d'espace\n"
+" -E, --DOS-extended compatibilité avec les partitions DOS étendues\n"
+" -R, --re-read forcer le noyau Ă  relire la table de partitions\n"
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+" -N <numéro> ne modifier que la partition de ce <numéro>\n"
+" -n ne pas Ă©crire sur le disque\n"
+" -O <fichier> sauvegarder les secteurs qui seront écrasés dans "
+"le <fichier>\n"
+" -I <fichier> restaurer les secteurs de <fichier>\n"
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -V, --verify vérifier que les partitions affichées sont "
+"correctes\n"
+" -v, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+
+#: fdisks/sfdisk.c:2393
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr ""
+"\n"
+"Options dangereuses :\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+" -f, --force désactiver toutes les vérifications de cohérence\n"
+" --no-reread ne pas vérifier si la partition est utilisée\n"
+" -q, --quiet supprimer les messages d'avertissement\n"
+" -L, --Linux ne pas se plaindre de choses non pertinentes pour "
+"Linux\n"
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g, --show-geometry afficher la géométrie d'après le noyau\n"
+" -G, --show-pt-geometry afficher la géométrie d'après la table de "
+"partitions\n"
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -A, --activate[=<périph>] activer l'indicateur d'amorçage\n"
+" -U, --unhide[=<périph>] définir la partition comme non masquée\n"
+" -x, --show-extended afficher aussi les partitions Ă©tendues en sortie "
+"ou\n"
+" les descripteurs attendus en entrée pour elles\n"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+" --leave-last ne pas allouer le dernier cylindre\n"
+" --IBM identique Ă  --leave-last\n"
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+" --in-order les partitions sont dans l'ordre\n"
+" --not-in-order les partitions ne sont pas dans l'ordre\n"
+" --inside-outer toutes les partitions logiques dans une partition "
+"étendue à l'extrémité\n"
+" --not-inside-outer pas toutes les partitions logiques dans une "
+"partition étendue à l'extrémité\n"
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+" --nested chaque partition est séparée de toutes les "
+"autres\n"
+" --chained comme --nested, mais les partitions Ă©tendues "
+"peuvent se situer en dehors\n"
+" --onesector les partitions sont séparée réciproquement\n"
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+"\n"
+"Passer outre la géométrie détectée en utilisant :\n"
+" -C, --cylinders <nombre> configurer le nombre de cylindres Ă  utiliser\n"
+" -H, --heads <nombre> configurer le nombre de tĂŞtes Ă  utiliser\n"
+" -S, --sectors <nombre> configurer le nombre de secteurs Ă  utiliser\n"
+"\n"
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Utilisation :"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s périphérique\t\t afficher les partitions actives du périphérique\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s périphérique n1 n2 ... activer les partitions n1 ..., désactiver les "
+"autres\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An périphérique\t activer la partition n, désactiver les autres\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"Attention : identifiant de table de partitions GPT (GUID) détecté sur "
+"« %s ». L'utilitaire fdisk ne prend pas GPT en charge. Utilisez GNU Parted.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Utiliser l'option --force pour ignorer ce contrĂ´le.\n"
+
+#: fdisks/sfdisk.c:2582
+msgid "no command?"
+msgstr "pas de commande ?"
+
+#: fdisks/sfdisk.c:2662
+msgid "invalid number of partitions argument"
+msgstr "argument de nombre de partitions incorrect"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "total : %llu blocs\n"
+
+#: fdisks/sfdisk.c:2795
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "Utilisation : sfdisk --print-id périphérique numéro-de-partition"
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "Utilisation : sfdisk --change-id périphérique numéro-de-partition Id"
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "Utilisation : sfdisk --id périphérique numéro-de-partition [Id]"
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr "vous ne pouvez indiquer qu'un périphérique (sauf avec -l ou -s)"
+
+#: fdisks/sfdisk.c:2832
+#, c-format
+msgid "cannot open %s read-write"
+msgstr "impossible d'ouvrir %s en lecture/Ă©criture"
+
+#: fdisks/sfdisk.c:2834
+#, c-format
+msgid "cannot open %s for reading"
+msgstr "impossible d'ouvrir %s en lecture"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s : %ld cylindres, %ld têtes, %ld secteurs/piste\n"
+
+#: fdisks/sfdisk.c:2929
+#, c-format
+msgid "Cannot get size of %s"
+msgstr "Impossible d'obtenir la taille de %s"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "octet actif erroné : 0x%x au lieu de 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Terminé\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Vous avez %d partitions primaires actives. Cela n'a aucun effet pour LILO,\n"
+"mais en a un pour DOS MBR qui ne pourra amorcer un disque qu'avec une seule "
+"partition active.\n"
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "la partition %s a un identifiant %x et n'est pas masquée"
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr "Identifiant %lx erroné"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Le disque est présentement en usage.\n"
+
+#: fdisks/sfdisk.c:3154
+#, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Erreur fatale : impossible de trouver %s"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Avertissement : %s n'est pas un périphérique bloc\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "VĂ©rification qu'aucun autre n'utilise le disque en ce moment\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Le disque est actuellement utilisé — le repartitionner est\n"
+"probablement une mauvaise idée.\n"
+"Démontez tous les systèmes de fichiers, et désactivez (avec\n"
+"swapoff) toutes les partition d'Ă©change de ce disque.\n"
+"Utiliser l'option --no-reread pour supprimer cette vérification.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Utiliser l'option --force pour annuler toutes les vérifications.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Précédente situation :\n"
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "La partition %d n'existe pas, impossible de la modifier"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Nouvelle situation :\n"
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Ces partitions sont discutables — rien n'a changé\n"
+"(utilisez l'option --force pour imposer les modifications)."
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+"Cette situation n'est pas recommandable — vous devriez probablement répondre "
+"Non\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Êtes-vous satisfait avec cela ? [onq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Voulez-vous écrire cela sur le disque ? [onq] "
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr "Abandon — rien n'a changé"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Veuillez répondre « o », « n » ou « q »\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Écriture de la nouvelle table de partitions réussie\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Si vous créez ou modifiez une partition DOS, /dev/foo7 par exemple,\n"
+"alors utilisez dd(1) pour mettre à zéro les 512 premiers octets :\n"
+"dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(consultez fdisk(8)).\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr "\n"
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help afficher cette aide et quitter\n"
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version afficher les informations de version et quitter\n"
+
+#: include/c.h:246
+#, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"Consultez %s pour obtenir des précisions complémentaires.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, c-format
+msgid "write error"
+msgstr "erreur d'Ă©criture"
+
+#: include/optutils.h:76
+#, c-format
+msgid "%s: options "
+msgstr "%s : les options "
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr "s'excluent mutuellement."
+
+#: lib/pager.c:107
+#, c-format
+msgid "waitpid failed (%s)"
+msgstr "échec de la fonction « waitpid » (%s)"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr "Ă©chec de callocate sur l'ensemble de processeurs"
+
+#: lib/path.c:178
+#, c-format
+msgid "failed to parse CPU list %s"
+msgstr "Ă©chec d'analyse de liste de processeurs %s"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "Ă©chec d'analyse du masque de processeur %s"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, c-format
+msgid " %s [options] [username]\n"
+msgstr " %s [options] [utilisateur]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr " -f, --full-name <nom-complet> véritable nom\n"
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr " -o, --office <bureau> numéro de bureau\n"
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr " -p, --office-phone <téléphone> numéro de téléphone au bureau\n"
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr " -h, --home-phone <téléphone> numéro de téléphone à la maison\n"
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr " -u, --help afficher cette aide et quitter\n"
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr ""
+" -v, --version afficher les informations de version et "
+"quitter\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr "vous (identifiant %d) n'existez pas."
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr "l'identifiant « %s » n'existe pas."
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr "seules les entrées locales sont modifiables"
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s n'a pas le droit de modifier les renseignements finger de %s"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "contexte utilisateur inconnu"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, c-format
+msgid "can't set default context for %s"
+msgstr "impossible d'initialiser le contexte par défaut pour %s"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Modification des renseignements finger pour %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Les renseignements finger n'ont pas changé.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "Bureau"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "Téléphone bureau"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "Téléphone domicile"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+msgid "Aborted."
+msgstr "Abandon."
+
+#: login-utils/chfn.c:383
+#, c-format
+msgid "field %s is too long"
+msgstr "le champ %s est trop long"
+
+#: login-utils/chfn.c:385
+msgid "field is too long"
+msgstr "le champ est trop long"
+
+#: login-utils/chfn.c:393
+#, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s : « %c » n'est pas permis"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, c-format
+msgid "'%c' is not allowed"
+msgstr "« %c » n'est pas permis"
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s : les caractères de contrôle ne sont par permis"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr "les caractères de contrôle ne sont pas permis"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr ""
+"Les renseignements finger n'ont *PAS* été modifiés. Réessayer plus tard.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Les renseignements finger ont été modifiés.\n"
+
+# getopt-1.1.2/getopt.c:335
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell <interpréteur> indiquer l'interpréteur de connexion\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+" -l, --list-shells afficher la liste des interpréteurs et "
+"quitter\n"
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr "Seules les entrées locales sont modifiables."
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s n'a pas le droit de modifier l'interpréteur de %s"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"l'UID d'exécution ne correspond pas à l'UID de l'utilisateur que l'on "
+"altère, modification d'interpréteur refusée"
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+"votre interpréteur n'est pas dans %s, modification d'interpréteur interdite"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Modification d'interpréteur pour %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Nouvel interpréteur"
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr "L'interpréteur n'a pas été modifié."
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"Échec de setpwnam\n"
+"L'interpréteur n'a *PAS* été modifié. Réessayez plus tard."
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "L'interpréteur a été modifié.\n"
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr "shell doit être un chemin d'accès complet"
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr "« %s » n'existe pas"
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr "« %s » n'est pas exécutable"
+
+#: login-utils/chsh.c:321
+#, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Avertissement : « %s » n'apparaît pas dans %s."
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+"« %s » n'apparaît pas dans %s.\n"
+"Utilisez %s -l pour afficher la liste."
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr "Aucun interpréteur connu."
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"Utilisation : last [-#] [-f fichier] [-t tty] [-h nom_d_hôte] "
+"[identifiant ...]\n"
+
+#: login-utils/last.c:252
+#, c-format
+msgid "%s: mmap failed"
+msgstr "%s : échec de mmap"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " encore connecté au système"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp commence %s"
+
+#: login-utils/last.c:431
+msgid "gethostname failed"
+msgstr "Ă©chec de gethostname"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interruption %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr "Expiration du délai après %u secondes"
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "Erreur fatale : impossible de rouvrir tty : %m"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "Erreur fatale : %s n'est pas un terminal"
+
+#: login-utils/login.c:308
+#, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "échec de chown (%s, %lu, %lu) : %m"
+
+#: login-utils/login.c:312
+#, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "échec de chmod (%s, %u) : %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "Erreur fatale : tty erroné"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr "Erreur fatale : %s : échec de modification des droits : %m"
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Dernière connexion : %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "Ă  partir de %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "sur %.*s\n"
+
+#: login-utils/login.c:553
+msgid "write lastlog failed"
+msgstr "Ă©chec d'Ă©criture de lastlog"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "APPEL À %s FAIT PAR %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "CONNEXION DU SUPERUTILISATEUR DE %s À PARTIR DE %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "CONNEXION DU SUPERUTILISATEUR SUR %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "CONNEXION SUR %s PAR %s À PARTIR DE %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "CONNEXION SUR %s PAR %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "identifiant : "
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "échec de connexion PAM, fin d'exécution : %s"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Impossible d'initialiser PAM : %s"
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "ÉCHEC DE CONNEXION DE %u À PARTIR DE %s POUR %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Identifiant incorrect\n"
+"\n"
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "TROP DE TENTATIVES DE CONNEXION (%u) DE %s POUR %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "ÉCHEC DE CONNEXION POUR UNE SESSION DE %s POUR %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Identifiant incorrect\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Problème d'initialisation de la session, abandon."
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Identifiant vide dans %s :%d. Abandon."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "échec de TIOCSCTTY : %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login : -h pour le superutilisateur seulement.\n"
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"Utilisation : login [ -p ] [ -h hôte ] [ -H ] [ -f identifiant | "
+"identifiant ]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Identifiant non valable « %s » dans %s :%d. Abandon."
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr "échec d'initialisation des groupes : %m"
+
+#: login-utils/login.c:1382
+msgid "setgid() failed"
+msgstr "Ă©chec de setgid()"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Vous avez du nouveau courrier.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Vous avez du courrier.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "Ă©chec de setuid()"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, c-format
+msgid "%s: change directory failed"
+msgstr "%s : échec de changement de répertoire"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Login avec un répertoire home = « / ».\n"
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr "impossible d'exécuter le script de l'interpréteur"
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr "pas d'interpréteur"
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "%s : %s contient une valeur numérique non valable : %s"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Mot de passe : "
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr " %s <groupe>\n"
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr "qui êtes-vous ?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+msgid "setgid failed"
+msgstr "Ă©chec de setgid"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr "pas de tel groupe"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr "permission refusée"
+
+#: login-utils/newgrp.c:176
+msgid "setuid failed"
+msgstr "Ă©chec de setuid"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "Ă©chec de exec %s"
+
+# NOTE: not not
+#: login-utils/su.c:205
+#, c-format
+msgid "cannot not open session: %s"
+msgstr "impossible d'ouvrir la session : %s"
+
+#: login-utils/su.c:215
+msgid "cannot create child process"
+msgstr "impossible de réer un processus fils"
+
+#: login-utils/su.c:227
+#, c-format
+msgid "cannot change directory to %s"
+msgstr "impossible de changer le répertoire vers %s"
+
+#: login-utils/su.c:232
+msgid "cannot block signals"
+msgstr "impossible de bloquer les signaux"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr "impossible d'initialiser le traitement de signaux"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+"\n"
+"Session terminée, l'interpréteur est en train d'être tué…"
+
+#: login-utils/su.c:303
+#, c-format
+msgid " ...killed.\n"
+msgstr "… tué.\n"
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr "mot de passe incorrect"
+
+#: login-utils/su.c:485
+msgid "failed to set PATH"
+msgstr "échec de définition du PATH"
+
+#: login-utils/su.c:558
+msgid "cannot set groups"
+msgstr "impossible de configurer les groupes"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "impossible de configurer l'identifiant de groupe"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "impossible de configurer l'identifiant d'utilisateur"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+"Exécutez « %s --help » pour obtenir des renseignements complémentaires.\n"
+
+#: login-utils/su.c:652
+#, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr " %s [options] [-] [IDENTIFIANT [arg] ...]\n"
+
+# NOTE: s/ / /
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+"\n"
+" Modifier les UID et GID effectifs Ă  ceux de l'IDENTIFIANT.\n"
+" Un simple - implique -l. En absence d'IDENTIFIANT, root est utilisé.\n"
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+" -, -l, --login utiliser en interpréteur de connexion\n"
+" -c, --command <commande> passer une seule commande à l'interpréteur "
+"avec -c\n"
+" --session-command <commande> passer une seule commande à l'interpréteur "
+"avec -c\n"
+" sans créer de nouvelle session\n"
+" -f, --fast passer -f à l'interpréteur (pour csh et tcsh)\n"
+" -m, --preserve-environment ne pas réinitialiser les variables "
+"d'environnement\n"
+" -p comme -m\n"
+" -s, --shell <interpréteur> exécuter l'interpréteur si /etc/shells "
+"l'autorise\n"
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr "l'identifiant %s n'existe pas."
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr "utilisation de l'interpréteur restreint %s"
+
+#: login-utils/su.c:808
+#, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "avertissement : impossible de changer le répertoire vers %s"
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s : aucune entrée pour le superutilisateur\n"
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr "%s : aucune entrée pour le superutilisateur"
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr "%s : le mot de passe du superutilisateur est brouillé"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr "Donnez le mot de passe du superutilisateur pour la maintenance\n"
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr "Appuyez sur Entrée pour la maintenance"
+
+#: login-utils/sulogin.c:296
+#, c-format
+msgid "(or type Control-D to continue): "
+msgstr "(ou appuyez sur Ctrl et D pour continuer) : "
+
+#: login-utils/sulogin.c:347
+msgid "change directory to system root failed"
+msgstr "échec de changement de répertoire vers la racine du système"
+
+#: login-utils/sulogin.c:394
+msgid "setexeccon failed"
+msgstr "Ă©chec de setexeccon"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, c-format
+msgid "%s: exec failed"
+msgstr "%s : échec de exec"
+
+#: login-utils/sulogin.c:430
+msgid "tcgetattr failed"
+msgstr "Ă©chec de tcgetattr"
+
+#: login-utils/sulogin.c:437
+msgid "tcsetattr failed"
+msgstr "Ă©chec de tcsetattr"
+
+#: login-utils/sulogin.c:444
+#, c-format
+msgid " %s [options] [tty device]\n"
+msgstr " %s [options] [tty périphérique]\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+" -p, --login-shell démarrer un interpréteur de connexion\n"
+" -t, --timeout <secondes> temps d'attente maximal du mot de passe\n"
+" (sans limite par défaut)\n"
+" -e, --force examiner directement les fichier de mots de passe\n"
+" en cas d'Ă©chec de getpwnam(3)\n"
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr "argument d'expiration de la minuterie incorrect"
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr "seul le superutilisateur peut exécuter ce programme."
+
+#: login-utils/sulogin.c:529
+#, c-format
+msgid "%s: not a tty"
+msgstr "%s : pas un tty"
+
+#: login-utils/sulogin.c:577
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY : échec d'ioctl"
+
+#: login-utils/sulogin.c:586
+msgid "cannot open password database."
+msgstr "impossible d'ouvrir la base de données de mots de passe"
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s : échec d'obtention d'état"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s : impossible d'ajouter une surveillance inotify."
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s : impossible de lire les événements inotify"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr "Changement de ligne superflu dans le fichier. Fin d'exécution."
+
+#: login-utils/utmpdump.c:286
+#, c-format
+msgid " %s [options] [filename]\n"
+msgstr " %s [options] [fichier]\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+" -f, --follow afficher les données ajoutées tant que le fichier grossi\n"
+" -r, --reverse réécrire les données vidées dans le fichier utmp\n"
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr "suivre l'entrée standard n'est pas pris en charge"
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr "DĂ©vidage utmp de %s\n"
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr "Vidage utmp de %s\n"
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+msgid "can't open temporary file"
+msgstr "impossible d'ouvrir le fichier temporaire"
+
+#: login-utils/vipw.c:166
+#, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s : échec de création de lien vers %s"
+
+#: login-utils/vipw.c:173
+#, c-format
+msgid "Can't get context for %s"
+msgstr "impossible d'obtenir le contexte pour %s"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr "impossible d'initialiser le contexte pour %s"
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr "%s n'a pas été modifié"
+
+#: login-utils/vipw.c:264
+msgid "cannot get lock"
+msgstr "impossible d'obtenir le verrou"
+
+#: login-utils/vipw.c:291
+msgid "no changes made"
+msgstr "aucune modification n'a été faite"
+
+#: login-utils/vipw.c:300
+msgid "cannot chmod file"
+msgstr "impossible de modifier les droits du fichier"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Vous utilisez « shadow groups » sur ce système.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Vous utilisez « shadow passwords » sur ce système.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Voulez-vous Ă©diter %s maintenant [o/n]? "
+
+#: misc-utils/cal.c:371
+msgid "illegal day value"
+msgstr "valeur de jour incorrecte"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "valeur de jour incorrecte : utilisez 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "valeur de mois incorrecte : utilisez 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "valeur d'année incorrecte : utilisez 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr " %s [options][[[jour] mois] année]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+" -1, --one n'afficher que le mois en cours (par défaut)\n"
+" -3, --three afficher le mois précédant, celui en cours, et le "
+"prochain\n"
+" -s, --sunday dimanche comme premier jour de la semaine\n"
+" -m, --monday lundi comme premier jour de la semaine\n"
+" -j, --julian afficher la date julienne\n"
+" -y, --year afficher toute l'année en cours\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Utilisation : %s [+format] [jour mois année]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Journ. St Tib"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+" %1$s [options] LABEL=<Ă©tiquette>\n"
+" %1$s [options] UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "impossible de résoudre « %s »"
+
+#: misc-utils/findmnt.c:105
+msgid "source device"
+msgstr "périphérique source"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr "point de montage"
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr "type de système de fichiers"
+
+#: misc-utils/findmnt.c:108
+msgid "all mount options"
+msgstr "toutes les options de montage"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr "options de montage spécifiques au VFS"
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr "options de montage spécifiques au système de fichier"
+
+#: misc-utils/findmnt.c:111
+msgid "filesystem label"
+msgstr "étiquette du système de fichiers"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr "UUID du système de fichiers"
+
+#: misc-utils/findmnt.c:113
+msgid "partition label"
+msgstr "Ă©tiquette de partition"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr "numéro majeur:mineur du périphérique"
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr "action détectée par --poll"
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr "ancienne options de montage sauvegardée par --poll"
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr "ancien point de montage sauvegardé par --poll"
+
+#: misc-utils/findmnt.c:119
+msgid "filesystem size"
+msgstr "taille du système de fichiers"
+
+#: misc-utils/findmnt.c:120
+msgid "filesystem size available"
+msgstr "taille disponible sur le système de fichiers"
+
+#: misc-utils/findmnt.c:121
+msgid "filesystem size used"
+msgstr "taille utilisée du système de fichiers"
+
+#: misc-utils/findmnt.c:122
+msgid "filesystem use percentage"
+msgstr "pourcentage d'utilisation du système de fichiers"
+
+#: misc-utils/findmnt.c:123
+msgid "filesystem root"
+msgstr "système de fichiers racine"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr "identifiant de tâche"
+
+#: misc-utils/findmnt.c:298
+#, c-format
+msgid "unknown action: %s"
+msgstr "action inconnue : %s"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr "montage"
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr "démontage"
+
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr "remontage"
+
+#: misc-utils/findmnt.c:513
+msgid "move"
+msgstr "déplacement"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "inconnu"
+
+#: misc-utils/findmnt.c:630
+#, c-format
+msgid "%s: parse error at line %d"
+msgstr "%s : erreur d'analyse à la ligne %d"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+msgid "failed to initialize libmount table"
+msgstr "Ă©chec d'initialisation de la table de libmount"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, c-format
+msgid "can't read %s"
+msgstr "impossible de lire %s"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr "échec d'initialisation de l'itérateur libmount"
+
+#: misc-utils/findmnt.c:886
+msgid "failed to initialize libmount tabdiff"
+msgstr "Ă©chec d'initialisation de la tabdiff de libmount"
+
+#: misc-utils/findmnt.c:914
+msgid "poll() failed"
+msgstr "Ă©chec de poll()"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+" %1$s [options]\n"
+" %1$s [options] <périphérique> | <pointdemontage>\n"
+" %1$s [options] <périphérique> <pointdemontage>\n"
+" %1$s [options] [--source <périphérique>] [--target <pointdemontage>]\n"
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+"\n"
+"Options:\n"
+" -s, --fstab rechercher dans la table statique des systèmes de "
+"fichiers\n"
+" -m, --mtab rechercher dans la table des systèmes de fichiers "
+"montés\n"
+" -k, --kernel rechercher dans la table du noyau des systèmes de "
+"fichiers\n"
+" montés (par défaut)\n"
+"\n"
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+" -p, --poll[=<liste>] surveiller les modifications dans la table des "
+"systèmes de fichiers montés\n"
+" -w, --timeout <nombre> limite maximale en milliseconde que --poll bloquera\n"
+"\n"
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+" -A, --all désactiver tous les filtres intégrés, afficher tous "
+"les\n"
+" systèmes de fichiers\n"
+" -a, --ascii utiliser des caractères ASCII pour l'arborescence\n"
+" -c, --canonicalize affichage des chemins canoniques\n"
+" -D, --df imiter la sortie de df(1)\n"
+" -d, --direction <mot> direction de recherche : « forward » ou "
+"« backward »\n"
+" -e, --evaluate convertir toutes les Ă©tiquettes (LABEL, UUID, "
+"PARTUUID,\n"
+" PARTLABEL) en noms de périphérique\n"
+" -F, --tab-file <chem.> autre fichier pour les options --fstab, --mtab ou --"
+"kernel\n"
+" -f, --first-only n'afficher que le premier système de fichiers "
+"trouvé\n"
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+" -i, --invert inverser le sens de correspondance\n"
+" -l, --list utiliser le format de sortie en liste\n"
+" -N, --task <tid> utiliser le nom d'espace alternatif (fichier\n"
+" /proc/<tid>/mountinfo)\n"
+" -n, --noheadings ne pas afficher les en-tĂŞtes de colonne\n"
+" -u, --notruncate ne pas tronquer le texte des colonnes\n"
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+" -O, --options <liste> limiter l'ensemble de systèmes de fichiers par "
+"options de montage\n"
+" -o, --output <liste> les colonnes de sortie Ă  montrer\n"
+" -P, --pairs utiliser le format de sortie clef=\"valeur\"\n"
+" -r, --raw utiliser le format de sortie brut\n"
+" -t, --types <liste> limiter l'ensemble de systèmes de fichiers par "
+"types\n"
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+" -v, --nofsroot ne pas afficher [/rép] pour les montages bind ou "
+"Btrfs\n"
+" -R, --submounts afficher tous les sous-montages des systèmes de\n"
+" fichiers correspondants\n"
+" -S, --source <chaîne> le périphérique à monter (par nom, maj:min,\n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <chaîne> le point de montage à utiliser\n"
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+"\n"
+"Colonnes disponibles :\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr "direction inconnue : « %s »"
+
+#: misc-utils/findmnt.c:1196
+msgid "invalid TID argument"
+msgstr "argument TID incorrect"
+
+# NOTE: s/more/more can be/ ?
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+"--poll ne permet d'indiquer qu'un fichier, mais d'autres peuvent ĂŞtre "
+"indiqués avec --tab-file"
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+"les options --target et --source ne peuvent être utilisées ensemble avec un "
+"élément de ligne de commande qui n'est pas une option"
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr "Ă©chec d'initialisation du cache libmount"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr "la colonne %s est demandée, mais --poll n'est pas activé"
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "option longue vide après l'argument -l ou --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "shell inconnu après l'argument -s ou --shell"
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" %1$s chaîne_opt paramètres\n"
+" %1$s [options] [--] chaîne_opt paramètres\n"
+" %1$s [options] -o|--options chaîne_opt [options] [--] paramètres\n"
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative permettre les options longues avec un seul -\n"
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help afficher l'aide mémoire\n"
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions <opt-long> options longues à reconnaître\n"
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name <nom-programme> le nom sous lequel les erreurs sont signalées\n"
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options <chaîne_opt> options courtes à reconnaître\n"
+
+#: misc-utils/getopt.c:328
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet désactiver les rapports d'erreur par getopt"
+"(3)\n"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output pas d'affichage normal\n"
+
+# getopt-1.1.2/getopt.c:335
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell <interpréteur> initialiser la convention de commentaire de "
+"l'interpréteur\n"
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test afficher la version de getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr ""
+" -u, --unquote ne pas protéger la sortie avec des guillemets\n"
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version afficher les informations de version\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "argument chaîne_opt manquant"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "erreur interne, contacter l'auteur."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s : signal %s inconnu\n"
+
+#: misc-utils/kill.c:244
+msgid "invalid sigval argument"
+msgstr "argument sigval incorrect"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s : impossible de repérer le processus « %s »\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s : signal inconnu %s ; signaux valables :\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Utilisation : %s [ -s signal | -p ] [ -a ] PID ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ signal ]\n"
+
+#: misc-utils/logger.c:88
+#, c-format
+msgid "unknown facility name: %s."
+msgstr "nom de service inconnu : %s."
+
+#: misc-utils/logger.c:97
+#, c-format
+msgid "unknown priority name: %s."
+msgstr "nom de priorité inconnu : %s."
+
+#: misc-utils/logger.c:107
+#, c-format
+msgid "openlog %s: pathname too long"
+msgstr "openlog %s : chemin trop long"
+
+#: misc-utils/logger.c:113
+#, c-format
+msgid "socket %s"
+msgstr "socket %s"
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr "connexion %s"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "connexion"
+
+#: misc-utils/logger.c:174
+#, c-format
+msgid " %s [options] [message]\n"
+msgstr " %s [options] [message]\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -d, --udp utiliser UDP (TCP par défaut)\n"
+" -i, --id journaliser aussi l'identifiant de processus\n"
+" -f, --file <fichier> journaliser le contenu de ce fichier\n"
+" -h, --help afficher cette aide et quitter\n"
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+" -n, --server <nom> Ă©crire vers ce serveur de journalisation distant\n"
+" -P, --port <nombre> utiliser ce port UDP\n"
+" -p, --priority <prio> marquer le message donné avec cette priority\n"
+" -s, --stderr message de sortie aussi vers la sortie d'erreur "
+"standard\n"
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+" -t, --tag <Ă©tiquette> marquer toutes les lignes avec cette Ă©tiquette\n"
+" -u, --socket <socket> Ă©crire vers cette socket UNIX\n"
+" -V, --version afficher les informations de version et quitter\n"
+"\n"
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr "fichier %s"
+
+#: misc-utils/logger.c:261
+msgid "invalid port number argument"
+msgstr "argument de numéro de port incorrect"
+
+#: misc-utils/look.c:370
+#, c-format
+msgid " %s [options] string [file]\n"
+msgstr " %s [options] chaîne [fichier]\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --alternative utiliser le dictionnaire alternatif\n"
+" -d, --alphanum comparer seulement les caractères alphanumériques\n"
+" -f, --ignore-case ignorer la casse lors de la comparaison\n"
+" -t, --terminate <car> définir le caractère de fin de chaîne\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr "nom du périphérique"
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr "nom du périphérique interne du noyau"
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr "où le périphérique est monté"
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr "étiquette du système de fichiers"
+
+#: misc-utils/lsblk.c:119
+msgid "partition LABEL"
+msgstr "Ă©tiquette de partition"
+
+# NOTE: s/read-ahead/readahead/
+#: misc-utils/lsblk.c:122
+msgid "read-ahead of the device"
+msgstr "avance en lecture (« readahead ») du périphérique"
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr "périphérique en lecture seule"
+
+#: misc-utils/lsblk.c:124
+msgid "removable device"
+msgstr "périphérique amovible"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr "périphérique tournant"
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr "identifiant de périphérique"
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr "taille du périphérique"
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr "état du périphérique"
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr "nom d'utilisateur"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr "nom de groupe"
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr "permissions de nœud de périphérique"
+
+#: misc-utils/lsblk.c:132
+msgid "alignment offset"
+msgstr "index d'alignement"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr "taille minimale d'E/S"
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr "taille optimale d'E/S"
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr "taille de secteur physique"
+
+#: misc-utils/lsblk.c:136
+msgid "logical sector size"
+msgstr "taille de secteur logique"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr "ordonnanceur d'E/S"
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr "demande de taille de la file"
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr "type de périphérique"
+
+#: misc-utils/lsblk.c:140
+msgid "discard alignment offset"
+msgstr "abandon de l'index d'alignement"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr "abandon de la granularité"
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr "abandon du maximum d'octets"
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr "abandon des données de zéros"
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr "identifiant de stockage unique"
+
+# disk-utils/mkswap.c:612
+#: misc-utils/lsblk.c:828
+#, c-format
+msgid "%s: failed to get device path"
+msgstr "%s : échec d'obtention du chemin de périphérique"
+
+#: misc-utils/lsblk.c:835
+#, c-format
+msgid "%s: unknown device name"
+msgstr "%s : nom de périphérique inconnu"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "%s : échec d'initialisation du traitement du sysfs"
+
+#: misc-utils/lsblk.c:869
+#, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s : échec d'obtention du nom dm"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr "échec d'ouverture du répertoire de périphérique du sysfs"
+
+#: misc-utils/lsblk.c:1081
+#, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s : échec d'obtention du numéro de périphériques disque entier"
+
+#: misc-utils/lsblk.c:1099
+#, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "Ă©chec de composition du chemin sysfs pour %s"
+
+#: misc-utils/lsblk.c:1106
+#, c-format
+msgid "%s: failed to read link"
+msgstr "%s : échec de lecture du lien"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, c-format
+msgid "failed to parse list '%s'"
+msgstr "échec d'analyse de la liste « %s »"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+"La liste de périphériques à exclure est trop grande (la limite est de "
+"%d périphériques)"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+"La liste de périphériques à inclure est trop grande (la limite est de "
+"%d périphériques)"
+
+#: misc-utils/lsblk.c:1194
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [options] [<périphérique> ...]\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -a, --all afficher tous les périphériques\n"
+" -b, --bytes afficher la taille (SIZE) en octet plutĂ´t qu'en "
+"format\n"
+" lisible par l'utilisateur\n"
+" -d, --nodeps n'afficher ni les esclaves ni les porteurs\n"
+" -D, --discard afficher les capacités d'abandon\n"
+" -e, --exclude <liste> exclure les périphériques par numéro majeur\n"
+" (disques RAM par défaut)\n"
+" -I, --include <liste> ne montrer que les périphériques avec les numéros\n"
+" majeur indiqués\n"
+" -f, --fs afficher des renseignements sur les systèmes de "
+"fichiers\n"
+" -h, --help information d'utilisation\n"
+" -i, --ascii utiliser seulement des caractères ASCII\n"
+" -m, --perms afficher des renseignements sur les droits\n"
+" -l, --list utiliser l'affichage au format liste\n"
+" -n, --noheadings ne pas afficher les en-tĂŞtes\n"
+" -o, --output <liste> colonnes affichées\n"
+" -P, --pairs utiliser l'affichage au format clef=\"valeur\"\n"
+" -r, --raw utiliser l'affichage au format brut\n"
+" -s, --inverse inverser les dépendances\n"
+" -t, --topology afficher des renseignements sur la topologie\n"
+" -V, --version afficher les informations de version et quitter\n"
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr ""
+"\n"
+"Colonnes disponibles (pour --output) :\n"
+
+#: misc-utils/lsblk.c:1231
+#, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "échec d'accès au répertoire sysfs : %s"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr "commande du processus détenant le verrou"
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr "PID du processus détenant le verrou"
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr "type de verrou : FL_FLOCK ou FL_POSIX."
+
+#: misc-utils/lslocks.c:71
+msgid "size of the lock"
+msgstr "taille du verrou"
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr "mode d'accès au verrou"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr "état obligatoire du verrou : 0 (aucun), 1 (défini)"
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr "index relatif du verrou en octet"
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr "index de fin du verrou"
+
+#: misc-utils/lslocks.c:76
+msgid "path of the locked file"
+msgstr "chemin du fichier verrouillé"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "Ă©chec d'analyse du PID"
+
+#: misc-utils/lslocks.c:274
+msgid "(unknown)"
+msgstr "(inconnu)"
+
+#: misc-utils/lslocks.c:283
+msgid "failed to parse start"
+msgstr "échec d'analyse du début"
+
+#: misc-utils/lslocks.c:290
+msgid "failed to parse end"
+msgstr "Ă©chec d'analyse de la fin"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, c-format
+msgid " %s [options]\n"
+msgstr " %s [options]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <PID> identifiant de processus\n"
+" -o, --output <liste> définir les colonnes de sortie à utiliser\n"
+" -n, --noheadings ne pas afficher les en-tĂŞtes\n"
+" -r, --raw utiliser le format de sortie brut\n"
+" -u, --notruncate ne pas tronquer le texte des colonnes\n"
+" -h, --help afficher cette aide et quitter\n"
+" -V, --version afficher les informations de version et quitter\n"
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+msgid "invalid PID argument"
+msgstr "argument PID incorrect"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -f, --file <fic.> utiliser fic. pour générer le cookie\n"
+" -v, --verbose expliquer les actions en cours\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "A obtenu %d octets de %s\n"
+
+#: misc-utils/mcookie.c:158
+#, c-format
+msgid "closing %s failed"
+msgstr "Ă©chec de fermeture de %s"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "échec de lecture du lien symbolique : %s"
+
+#: misc-utils/namei.c:370
+#, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s — fichier ou répertoire inexistant\n"
+
+#: misc-utils/namei.c:420
+#, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr " %s [options] chemin [chemin ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+" -h, --help affiche cette aide\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -x, --mountpoints montre les points de montage avec « D »\n"
+" -m, --modes affiche le mode pour chaque fichier\n"
+" -o, --owners affiche le propriétaire/le groupe de chaque fichier\n"
+" -l, --long format de liste longue (-m -o -v) \n"
+" -n, --nosymlinks ne pas suivre les liens symétriques\n"
+" -v, --vertical aligne verticalement les modes et propriétaires\n"
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Consultez namei(1) pour obtenir des renseignements complémentaires.\n"
+
+#: misc-utils/namei.c:493
+msgid "pathname argument is missing"
+msgstr "argument chemin manquant"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s : limite de liens symboliques dépassée"
+
+#: misc-utils/rename.c:54
+#, c-format
+msgid "renaming %s to %s failed"
+msgstr "Ă©chec de changement de nom de %s vers %s"
+
+#: misc-utils/rename.c:67
+#, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr " %s [options] expression remplacement fichier ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose expliquer les actions en cours\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -p, --pid <chemin> chemin vers le fichier PID\n"
+" -s, --socket <chemin> chemin vers la socket\n"
+" -T, --timeout <sec> indiquer le délai d'expiration en cas d'inactivité\n"
+" -k, --kill tuer le démons en cours d'exécution\n"
+" -r, --random tester la création d'un UUID aléatoire\n"
+" -t, --time tester la création d'un UUID temporel\n"
+" -n, --uuids <nombre> demander un certain nombre d'UUID\n"
+" -P, --no-pid ne pas créer le fichier pid\n"
+" -F, --no-fork ne pas transformer en démon avec double-fork\n"
+" -S, --socket-activation ne pas créer de socket d'écoute\n"
+" -d, --debug exécuter en mode de débogage\n"
+" -q, --quiet passer en mode silencieux\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "arguments erronés"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "Ă©criture"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr "nombre de lectures"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "mauvaise longueur de réponse"
+
+#: misc-utils/uuidd.c:220
+#, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "échec d'ouverture ou de création de %s : %m\n"
+
+#: misc-utils/uuidd.c:235
+#, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "échec du verrouillage de %s : %m\n"
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Impossible de créer une socket de flux UNIX : %m"
+
+#: misc-utils/uuidd.c:285
+#, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Impossible d'associer (bind) la socket UNIX %s : %m\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "démon uuidd déjà en route avec PID %s\n"
+
+#: misc-utils/uuidd.c:334
+#, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Impossible de lire la socket UNIX %s : %m\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr "Aucun ou trop de descripteurs de fichier reçus.\n"
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Erreur lecture du client, longueur = %d\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "opération %d, num. entrant = %d\n"
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr "Opération %d\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "Heure UUID générée : %s\n"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "Nbr aléatoire UUID généré : %s\n"
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] "Heure UUID créée %s et %d suivant\n"
+msgstr[1] "Heure UUID créée %s et %d suivants\n"
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "%d UUID créé :\n"
+msgstr[1] "%d UUID créés :\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Opération %d non valable\n"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "Longueur de réponse du serveur %d inattendue"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Nombre non valable : %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr "uuidd a été construit sans prise en charge d'activation de sockets.\n"
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr "--pid et --no-pid ont toutes deux été indiqués. --no-pid est ignoré.\n"
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+"--socket-activation et --socket ont toutes deux été indiqués. --socket est "
+"ignoré.\n"
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Erreur d'appel du démon uuidd (%s) : %m\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "%s et %d UUID suivant\n"
+msgstr[1] "%s et %d UUID suivants\n"
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr "Liste des UUID :\n"
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Impossible de tuer uuidd de PID %d : %m\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "uuidd exécuté en PID %d tué\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -r, --random création d'un UUID aléatoire\n"
+" -t, --time création d'un UUID temporel\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+" -f <fic.> définir la portée de recherche\n"
+" -b ne chercher que les binaires\n"
+" -B <rép.> définir le chemin de recherche des binaires\n"
+" -m ne chercher que les chemins de pages de manuel\n"
+" -M <rép.> définir le chemin de recherche des manuels\n"
+" -s ne chercher que les chemins de sources\n"
+" -S <rép.> définir le chemin de recherche des sources\n"
+" -u rechercher les entités anormales\n"
+" -V afficher les informations de version et quitter\n"
+" -h afficher cette aide et quitter\n"
+"\n"
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+"Consultez la page de manuel whereis(1) pour connaître la façon d'utiliser "
+"les arguments fic. et rép.\n"
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "erreur : %s : échec d'initialisation de l'analyse"
+
+#: misc-utils/wipefs.c:292
+#, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s : échec d'effacement de la chaîne magique %s à l'index 0x%08jx"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr "%s : %zd octets ont été écrasés à l'index 0x%08jx (%s) : "
+
+#: misc-utils/wipefs.c:344
+#, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "%s : index 0x%jx introuvable"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all effacer toutes les chaînes magiques (attention !)\n"
+" -h, --help afficher ce message d'aide\n"
+" -n, --no-act tout faire sauf le véritable appel write()\n"
+" -o, --offset <nbre> index Ă  effacer, en octet\n"
+" -p, --parsable afficher en format analysable plutĂ´t qu'affichable\n"
+" -q, --quiet supprimer les messages de sortie\n"
+" -t, --types <liste> limiter l'ensemble de systèmes de fichiers par types\n"
+" -V, --version afficher les informations de version et quitter\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"Consultez wipefs(8) pour obtenir des renseignements complémentaires.\n"
+
+#: misc-utils/wipefs.c:425
+msgid "invalid offset argument"
+msgstr "argument d'index incorrect"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "avertissement : erreur de lecture %s : %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "avertissement : impossible d'ouvrir %s : %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount : impossible d'ouvrir %s — utilisation de %s à la place\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"impossible de créer le fichier verrou %s : %s (utiliser l'option -n pour "
+"passer outre)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"impossible de lier le fichier verrou %s : %s (utiliser l'option -n pour "
+"passer outre)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"impossible d'ouvrir le fichier verrou %s : %s (utiliser l'option -n pour "
+"passer outre)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Impossible de verrouiller le fichier verrou %s : %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "impossible de verrouiller le fichier verrou %s : %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "expiration du délai"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Impossible de créer le lien %s\n"
+"Un fichier verrouillé est peut-être en panne.\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "impossible d'ouvrir %s (%s) — mtab n'est pas à jour"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "erreur d'écriture %s : %s"
+
+#: mount-deprecated/fstab.c:937
+#, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s : impossible de vider les modifications : %s"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "erreur de changement de mode de %s : %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "erreur de changement de propriétaire de %s : %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "impossible de renommer %s à %s : %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount : avertissement : impossible d'écrire sur /etc/mtab (le système de "
+"fichiers\n"
+" est peut-être en lecture seule). Les informations renvoyées par\n"
+" mount(8) ne sont pas forcément à jour. Pour de véritables "
+"informations\n"
+" sur les points de montage du système, regardez le fichier /proc/"
+"mounts.\n"
+"\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount : chaîne d'options non entourée de guillemets « %s »"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount : transformation de %s « %s » en « %s »\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr "mount : les options SELinux *context= sont ignorées au remontage.\n"
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount : selon mtab, %s est déjà monté sur %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount : selon mtab, %s est monté sur %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount : impossible d'ouvrir %s en écriture : %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount : erreur d'écriture %s : %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount : erreur lors du changement de mode de %s : %s"
+
+#: mount-deprecated/mount.c:810
+#, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount : impossible de configurer l'identifiant de groupe : %m"
+
+#: mount-deprecated/mount.c:813
+#, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount : impossible de configurer l'identifiant d'utilisateur : %m"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount : impossible d'établir un relais fork() : %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Tentative de %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount : vous n'avez pas indiqué le type de système de fichiers de %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Je vais essayer tous les types mentionnés dans %s ou %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " et il semble que ce soit un espace d'Ă©change\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Je vais essayer le type %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ressemble à un espace d'échange — n'a pas été monté"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+"mount : %s : plus de systèmes de fichiers ont été trouvés.\n"
+" Ce n'est pas censé arriver, utilisez -t <type> pour\n"
+" indiquer explicitement le type de système de fichier\n"
+" ou utilisez wipefs(8) pour nettoyer le périphérique.\n"
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "Ă©chec de montage"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount : seul le superutilisateur peut monter %s sur %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount : périphérique boucle indiqué deux fois"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount : type indiqué deux fois"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount : pas d'initialisation du périphérique boucle\n"
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr ""
+"mount : activation de l'option de nettoyage automatique du périphérique "
+"boucle\n"
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "mount : index « %s » indiqué non valable"
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "mount : taille limite « %s » indiquée non valable"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount : selon mtab, %s est déjà monté sur %s en boucle"
+
+#: mount-deprecated/mount.c:1314
+msgid "mount: couldn't lock into memory"
+msgstr "mount : impossible de verrouiller en mémoire"
+
+#: mount-deprecated/mount.c:1334
+msgid "mount: failed to found free loop device"
+msgstr "mount : impossible de trouver un périphérique boucle"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount : le périphérique boucle %s sera utilisé\n"
+
+#: mount-deprecated/mount.c:1353
+#, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr ""
+"mount : %s : impossible de configurer les attributs de périphérique boucle"
+
+#: mount-deprecated/mount.c:1364
+#, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount : %s : échec d'initialisation du périphérique boucle : %m"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount : périphérique boucle récupéré=%s… nouvel essai\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount : périphérique boucle récupéré=%s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount : initialisation du périphérique boucle réussie\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount : %s introuvable — création en cours…\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount : l'argument après -p ou --pass-fd doit être un nombre"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount : impossible d'ouvrir %s pour ajuster la vitesse"
+
+#: mount-deprecated/mount.c:1473
+#, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount : impossible d'ajuster la vitesse : %m"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount : selon mtab %s est déjà monté sur %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "mount : avertissement : %s semble être monté en lecture/écriture.\n"
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "mount : avertissement : %s semble être monté en lecture seule.\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount : impossible de déterminer le type de système de fichiers et aucun n'a "
+"été indiqué"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount : vous devez indiquer le type de système de fichiers"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount : échec de montage"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount : le point de montage %s n'est pas un répertoire"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount : permission refusée"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount : seul le superutilisateur peut utiliser mount"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount : %s est occupé"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount : proc déjà monté"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount : %s est déjà monté ou %s est occupé"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount : le point de montage %s n'existe pas"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+"mount : le point de montage %s est un lien symbolique qui ne pointe nulle "
+"part"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount : le périphérique spécial %s n'existe pas"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount : le périphérique spécial %s n'existe pas\n"
+" (un préfixe de chemin n'est pas un répertoire)\n"
+
+#: mount-deprecated/mount.c:1756
+#, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount : %s n'est pas monté, ou option erronée"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount : mauvais type de système de fichiers, option erronée, superbloc "
+"erroné\n"
+" sur %s, page de code ou programme auxiliaire manquant, ou autre "
+"erreur"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (pour plusieurs système de fichiers (NFS ou CIFS par exemple), un\n"
+" programme /sbin/mount.<type> auxiliaire pourrait être nécessaire)"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (cela pourrait-il être le périphérique IDE alors que vous utilisez\n"
+" ide-scsi, de sorte que sr0, sda ou autre serait nécessaire ?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (essayez-vous de monter une partition Ă©tendue,\n"
+" au lieu d'une partition logique à l'intérieur ?)"
+
+# NOTE: double space (fixed in another similar string)
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Dans quelques cas certaines informations sont utiles dans le "
+"journal\n"
+" système — essayez « dmesg | tail » ou quelque chose du genre\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "la table des périphériques montés est pleine"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount : %s : impossible de lire le superbloc"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount : %s : périphérique inconnu"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount : type de système de fichiers « %s » inconnu"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount : vous voulez probablement dire %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount : peut-être voulez-vous dire « iso9660 » ?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount : peut-être voulez-vous dire « vfat » ?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount : %s a un numéro de périphérique erroné ou le type du système de "
+"fichiers %s n'est pas pris en charge"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount : %s n'est pas un périphérique bloc, et échec d'obtention d'état"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount : le noyau ne reconnaît pas %s comme un périphérique bloc\n"
+" (essayez peut-être « modprobe pilote »)."
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount : %s n'est pas un périphérique bloc (essayer « -o loop » ?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount : %s n'est pas un périphérique bloc"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount : %s n'est pas un périphérique bloc valable"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "périphérique bloc "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount : impossible de monter %s%s en lecture seule"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount : %s%s est protégé en écriture mais l'option « -w » a été fournie"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+"mount : impossible de remonter %s%s en lecture/écriture, est protégé en "
+"Ă©criture"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount : %s%s est protégé en écriture, sera monté en lecture seule"
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount : aucun support trouvé dans %s"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+"mount : %s ne contient pas d'étiquettes SELinux.\n"
+" Vous avez monté un système de fichiers à étiquettes qui n'en\n"
+" contient pas, sur système SELinux. Du coup, les applications non\n"
+" privilégiées génèreront des messages AVC et ne pourront pas\n"
+" accéder aux fichiers. Pour des détails, voir restorecon(8) et mount"
+"(8).\n"
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount : aucun type n'a été donné — utilisation de nfs en raison du « : »\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount : aucun type n'a été fourni — utilisation de cifs en raison du préfixe "
+"« // »\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr "mount : %s ignoré (option offset= non analysable)\n"
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount : %s est déjà monté sur %s\n"
+
+# mount/mount.c:1323
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Utilisation : mount -V : afficher la version\n"
+" mount -h : afficher cette aide\n"
+" mount : afficher la liste des systèmes de "
+"fichiers montés\n"
+" mount -l : idem, incluant les Ă©tiquettes de "
+"volumes\n"
+"Cela pour la partie informative. Suit ce qui porte sur le montage.\n"
+"La commande est « mount [-t type-sys-fichier] quoi où ».\n"
+"Les détails se trouvant dans /etc/fstab peuvent être omis.\n"
+" mount -a [-t|-O] ... : monter tout ce qui est Ă©crit dans /"
+"etc/fstab\n"
+" mount périphérique : monter le périphérique à l'endroit "
+"connu\n"
+" mount répertoire : monter le périphérique connu ici\n"
+" mount -t type périph rép : commande de montage ordinaire\n"
+"Noter qu'on ne monte pas réellement un périphérique, on monte\n"
+"un système de fichiers (d'un type donné) trouvé sur le périphérique.\n"
+"On peut aussi monter une arborescence de rép. déjà visible ailleurs :\n"
+" mount --bind ancien-rép nouveau-rép\n"
+"ou déplacer une sous-arborescence :\n"
+" mount --move ancien-rép nouveau-rép\n"
+"On peut changer le type de montage d'un rép. :\n"
+" mount --make-shared rép.\n"
+" mount --make-slave rép.\n"
+" mount --make-private rép.\n"
+" mount --make-unbindable rép.\n"
+"On peut changer le type de tous les points de montage d'une\n"
+"sous-arborescence contenue dans le rép.:\n"
+" mount --make-rshared rép.\n"
+" mount --make-rslave rép.\n"
+" mount --make-rprivate rép.\n"
+" mount --make-runbindable rép.\n"
+"Un périphérique peut être nommé, comme /dev/hda1 ou /dev/cdrom, ou\n"
+"repéré par l'étiquette, avec -L étiqu. ou par UUID, avec -U uuid .\n"
+"Autres options : [-nfFrsvw] [-o options] [-p descr_fic_mots_passe].\n"
+"Pour plus de précisions, consultez « man 8 mount ».\n"
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr ""
+"mount : seul le superutilisateur peut exécuter cette commande (l'UID "
+"effectif est %u)"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount : seul le superutilisateur peut exécuter cette commande"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "rien n'a été monté"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount : partition non trouvée"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount : impossible de trouver %s dans %s ou %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent] : avertissement : pas de changement de ligne à la fin de %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent] : la ligne %d dans %s est erronée%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr " ; reste du fichier ignorée"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "problème dans l'appel de xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "pas assez de mémoire"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount : compilé sans prise en charge de -f\n"
+
+#: mount-deprecated/umount.c:139
+#, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount : impossible de configurer l'identifiant de groupe : %m"
+
+#: mount-deprecated/umount.c:142
+#, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount : impossible de configurer l'identifiant d'utilisateur : %m"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount : impossible de faire un fork() : %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount : %s : périphérique bloc non valable"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount : %s : n'est pas monté"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount : %s : impossible d'écrire sur le superbloc"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"démontage : %s : périphérique occupé.\n"
+" (Dans certains cas, des infos sur les processus l'utilisant\n"
+" sont récupérables par lsof(8) ou fuser(1))"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount : %s : introuvable"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount : %s : seul le superutilisateur peut utiliser umount"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+"umount : %s : périphérique bloc non autorisé sur le système de fichiers"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount : %s : %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr "umount : erreur interne : chemin absolu non valable : %s"
+
+#: mount-deprecated/umount.c:254
+#, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "umount : échec de changement de répertoire vers %s : %m"
+
+#: mount-deprecated/umount.c:257
+#, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "umount : échec d'obtention du répertoire actuel : %m"
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "umount : le point de montage a été déplacé (%s -> %s)"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr "le répertoire actuel a été déplacé vers %s\n"
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "pas de umount2, tentative avec umount…\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount : %s est occupé — remonté en lecture seule\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount : impossible de remonter %s en lecture seule\n"
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s a été démonté\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount : liste des systèmes de fichiers à démonter introuvable"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Utilisation : umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t typevfs] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] spécial | nœud...\n"
+
+#: mount-deprecated/umount.c:558
+#, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "échec d'analyse des options « offset=%s »\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "le périphérique %s est associé à %s\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "le périphérique %s n'est pas associé à %s\n"
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr "Impossible de démonter «  »\n"
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Tentative de démonter %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr "umount : problème à l'analyse de mtab"
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr "umount : impossible de démonter %s — %s y est monté au même endroit"
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "%s introuvable dans mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr "%s est associé à %s\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+"umount : avertissement : %s est associé à plusieurs périphériques boucle\n"
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount : %s n'est pas monté (selon mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount : il semble que %s ait été monté plusieurs fois"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount : %s n'est pas dans fstab (et vous n'êtes pas superutilisateur)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount : %s mount est en désaccord avec fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount : seul %s peut démonter %s de %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount : seul le superutilisateur peut exécuter cette commande"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+"\n"
+"chrt — manipuler les attributs temps réel d'un processus\n"
+"\n"
+"stratégie de configuration :\n"
+" chrt [options] <stratégie> <priorité> {<PID> | <command>e [<arg> ...]}\n"
+"\n"
+"stratégie d'obtention :\n"
+" chrt [options] {<PID> | <commande> [<arg> ...]}\n"
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+"\n"
+"stratégies de planification :\n"
+" -b | --batch configurer la stratégie à SCHED_BATCH\n"
+" -f | --fifo configurer la stratégie à SCHED_FIFO\n"
+" -i | --idle configurer la stratégie à SCHED_IDLE\n"
+" -o | --other configurer la stratégie à SCHED_OTHER\n"
+" -r | --rr configurer la stratégie à SCHED_RR (par défaut)\n"
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+"\n"
+"Options de planification :\n"
+" -R | --reset-on-fork configurer SCHED_RESET_ON_FORK pour FIFO ou RR\n"
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -a | --all-tasks agir sur toutes les tâches (threads) d'un PID donné\n"
+" -h | --help afficher cette aide\n"
+" -m | --max montrer les priorité minimales et maximales valables\n"
+" -p | --pid opérer sur les PID donnés existants\n"
+" -v | --verbose afficher les renseignements d'Ă©tat\n"
+" -V | --version afficher les renseignements de version\n"
+"\n"
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "échec d'obtention de stratégie d'exécution du PID %d"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "nouvelle stratégie de planification pour PID %d : "
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "stratégie de planification actuelle pour PID %d : "
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr "stratégie de planification inconnue"
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "échec d'obtention des attributs du PID %d"
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "nouvelle priorité de planification pour le PID %d : %d\n"
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "priorité de planification actuelle pour le PID %d : %d\n"
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "SCHED_%s priorité min/max\t : %d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s non pris en charge ?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+msgid "cannot obtain the list of tasks"
+msgstr "impossible d'obtenir la liste des tâches"
+
+#: schedutils/chrt.c:299
+msgid "invalid priority argument"
+msgstr "argument de priorité incorrect "
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+"option SCHED_RESET_ON_FORK n'est pris en charge que pour les stratégies "
+"SCHED_FIFO et SCHED_RR "
+
+#: schedutils/chrt.c:323
+#, c-format
+msgid "failed to set tid %d's policy"
+msgstr "échec de configuration de stratégie d'exécution du TID %d"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "échec de configuration de stratégie d'exécution du PID %d"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "échec d'exécution de %s"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "échec de la fonction « ioprio_get »"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "échec de la fonction « ioprio_set »"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"%1$s — configurer ou obtenir la classe et la priorité de planification "
+"d'exécution\n"
+"Utilisation :\n"
+" %1$s [options] -p PID [PID ...]\n"
+" %1$s [options] commande\n"
+"\n"
+"Options :\n"
+" -c, --class <classe> nom ou numéro de classe de planification\n"
+" 0 : aucune, 1 : temps réel, 2 : au mieux, 3 : au "
+"ralenti\n"
+" -n, --classdata <nbr> données de classe d'exécution\n"
+" 0-7 pour les classes temps réel et au mieux\n"
+" -p, --pid=PID afficher ou modifier les processus déjà en cours "
+"d'exécution\n"
+" -t, --ignore ignorer les Ă©checs\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: schedutils/ionice.c:148
+msgid "invalid class data argument"
+msgstr "argument de données de classe incorrect"
+
+#: schedutils/ionice.c:154
+msgid "invalid class argument"
+msgstr "argument de classe incorrect"
+
+#: schedutils/ionice.c:159
+#, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "classe de planification inconnue : « %s »"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr "données de classe ignorées pour la priorité « aucune »"
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr "données de classe pour la classe au ralenti ignorées"
+
+#: schedutils/ionice.c:196
+#, c-format
+msgid "unknown prio class %d"
+msgstr "classe de priorité %d inconnue"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "échec d'exécution de %s"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+"Utilisation : %s [options] [masque | liste de processeurs ] [PID|cmd "
+"[arg ...]]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+"Options :\n"
+" -a, --all-tasks agir sur toutes les tâches (threads) d'un PID "
+"donné\n"
+" -p, --pid agir sur les PID donnés existants\n"
+" -c, --cpu-list afficher et indiquer les processeurs au format "
+"liste\n"
+" -h, --help afficher cette aide\n"
+" -V, --version afficher les renseignements de version\n"
+"\n"
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+"Le comportement par défaut est de lancer une nouvelle commande :\n"
+" %1$s 03 sshd -b 1024\n"
+"Le masque d'une tache existante peut être retrouvé :\n"
+" %1$s -p 700\n"
+"Ou être configuré :\n"
+" %1$s -p 03 700\n"
+"Le format de liste utilise une liste séparée par des virgules plutôt qu'un "
+"masque :\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Les intervalles au format de liste peuvent prendre un argument stride :\n"
+" p.e. 0-31:2 est Ă©quivalent au masque 0x55555555\n"
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"Consultez taskset(1) pour obtenir des renseignements complémentaires.\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr "nouvelle liste d'affinités du PID %d : %s\n"
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr "liste d'affinités actuelle du PID %d : %s\n"
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr "nouveau masque d'affinité du PID %d : %s\n"
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr "masque d'affinité actuel du PID %d : %s\n"
+
+#: schedutils/taskset.c:97
+msgid "conversion from cpuset to string failed"
+msgstr "échec de conversion de cpuset vers une chaîne"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "échec d'obtention d'affinité du PID %d"
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "échec de configuration d'affinité du PID %d"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "impossible de déterminer NR_CPUS ; annulation"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr "Ă©chec de cpuset_alloc"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "échec d'analyse de liste de processeurs : %s"
+
+#: schedutils/taskset.c:217
+#, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "échec d'analyse du masque de processeur : %s"
+
+#: sys-utils/arch.c:79
+msgid "uname failed"
+msgstr "Ă©chec de uname"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, c-format
+msgid "CPU %d does not exist\n"
+msgstr "le processeur %d n'existe pas\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr "le processeur %d ne peut pas être branché à chaud\n"
+
+#: sys-utils/chcpu.c:88
+#, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "le processeur %d est déjà activé\n"
+
+#: sys-utils/chcpu.c:92
+#, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "le processeur %d est déjà désactivé\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr "Échec d'activation du processeur %d (le processeur est déconfiguré)\n"
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr "Échec d'activation du processeur %d (%m)\n"
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr "processeur %d activé\n"
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr "Échec de désactivation du processeur %d (dernier processeur activé)\n"
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr "Échec de désactivation du processeur %d (%m)\n"
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr "processeur %d désactivé\n"
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr "Ce système ne permet pas de rechercher les processeurs"
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Échec du déclenchement de recherche de processeurs"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr "Recherche de processeurs déclenchée\n"
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+"Ce système ne permet pas de configurer le mode distribué des processeurs"
+
+#: sys-utils/chcpu.c:142
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Échec de configuration du mode distribué horizontal"
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Configuration du mode distribué horizontal réussie\n"
+
+#: sys-utils/chcpu.c:146
+msgid "Failed to set vertical dispatch mode"
+msgstr "Échec de configuration du mode distribué vertical"
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Configuration du mode distribué vertical réussie\n"
+
+#: sys-utils/chcpu.c:165
+#, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "Le processeur %d n'est pas configurable\n"
+
+#: sys-utils/chcpu.c:170
+#, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Le processeur %d est déjà configuré\n"
+
+#: sys-utils/chcpu.c:174
+#, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Le processeur %d est déjà déconfiguré\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr "Échec de déconfiguration du processeur %d (le processeur est activé)\n"
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Échec de configuration du processeur %d (%m)\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr "processeur %d configuré\n"
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Échec de déconfiguration du processeur %d (%m)\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr "processeur %d déconfiguré\n"
+
+#: sys-utils/chcpu.c:208
+#, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "numéro de processeur incorrect dans la liste de processeur : %s"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [options]\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Options:\n"
+" -h, --help afficher cette aide\n"
+" -e, --enable <liste> activer les processeurs\n"
+" -d, --disable <liste> désactiver les processeurs\n"
+" -c, --configure <liste> configurer les processeurs\n"
+" -g, --deconfigure <liste> déconfigurer les processeurs\n"
+" -p, --dispatch <mode> configurer le mode distribué\n"
+" -r, --rescan déclencher la recherche de processeurs\n"
+" -V, --version afficher les informations de version et "
+"quitter\n"
+
+#: sys-utils/chcpu.c:300
+#, c-format
+msgid "unsupported argument: %s"
+msgstr "argument non pris en charge : %s"
+
+#: sys-utils/ctrlaltdel.c:21
+#, c-format
+msgid " %s <hard|soft>\n"
+msgstr "%s <hard|soft>\n"
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+"Vous devez ĂŞtre superutilisateur pour activer le comportement de Ctrl-Alt-"
+"Suppr."
+
+#: sys-utils/cytune.c:92
+#, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr " %s [options] <tty> [...]\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+" -s, --set-threshold <num> configurer la valeur de seuil "
+"d'interruption\n"
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+" -g, --get-threshold afficher la valeur de seuil actuelle\n"
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+" -S, --set-default-threshold <num> configurer la valeur de seuil par "
+"défaut\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+" -t, --set-flush <num> configurer la valeur de temporisation "
+"pour le vidage\n"
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+" -G, --get-glush afficher la valeur par défaut de "
+"temporisation pour le vidage\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+" -T, --set-default-flush <num> configurer la valeur par défaut de "
+"temporisation pour le vidage\n"
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+" -q, --stats afficher les statistiques sur le tty\n"
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+" -i, --interval <intervalle> récupérer les statistiques toutes les "
+"<intervalle> secondes\n"
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Fichier %s, pour la valeur de seuil %lu, nombre maximal de caractères dans "
+"une FIFO Ă©tait %d\n"
+"et le taux de transfert maximal en caractères par secondes était %f"
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Fichier %s, pour la valeur de seuil %lu et le délai de grâce %lu, nombre "
+"maximal de caractères dans une FIFO était %d\n"
+"et le taux de transfert maximal en caractère par seconde était %f"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "Ă©chec de gettimeofday()"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "impossible d'Ă©mettre CYGETMON sur %s"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, c-format
+msgid "cannot get threshold for %s"
+msgstr "impossible d'obtenir la valeur de seuil pour %s"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, c-format
+msgid "cannot get timeout for %s"
+msgstr "impossible d'obtenir la valeur d'expiration pour %s"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s : %lu int. %lu/%lu car. ; FIFO : %lu seuil, %lu délai, %lu max, %lu "
+"actuel.\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f int/sec ; %f reçu, %f transmis (car/sec)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s : %lu int., %lu car. ; FIFO : %lu seuil, %lu délai, %lu max, %lu actuel.\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f int/sec ; %f rec (caractères/sec)\n"
+
+#: sys-utils/cytune.c:326
+msgid "Invalid interval value"
+msgstr "Valeur interne non valable"
+
+#: sys-utils/cytune.c:328
+#, c-format
+msgid "Invalid interval value: %d"
+msgstr "Valeur interne non valable : %d"
+
+#: sys-utils/cytune.c:335
+msgid "Invalid set value"
+msgstr "Valeur d'initialisation non valable"
+
+#: sys-utils/cytune.c:337
+#, c-format
+msgid "Invalid set value: %d"
+msgstr "Valeur d'initialisation non valable : %d"
+
+#: sys-utils/cytune.c:344
+msgid "Invalid default value"
+msgstr "Valeur par défaut non valable"
+
+#: sys-utils/cytune.c:346
+#, c-format
+msgid "Invalid default value: %d"
+msgstr "Valeur par défaut non valable : %d"
+
+#: sys-utils/cytune.c:354
+msgid "Invalid set time value"
+msgstr "Valeur de temps non valable"
+
+#: sys-utils/cytune.c:356
+#, c-format
+msgid "Invalid set time value: %d"
+msgstr "Valeur de temps non valable : %d"
+
+#: sys-utils/cytune.c:364
+msgid "Invalid default time value"
+msgstr "Valeur de temps par défaut non valable"
+
+#: sys-utils/cytune.c:366
+#, c-format
+msgid "Invalid default time value: %d"
+msgstr "Valeur de temps par défaut non valable : %d"
+
+#: sys-utils/cytune.c:409
+#, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "impossible d'initialiser %s au seuil %d"
+
+#: sys-utils/cytune.c:423
+#, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "impossible d'initialiser %s au temps de seuil %d"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s : %ld seuil courant et %ld expiration courante\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s : %ld seuil par défaut et %ld expiration par défaut\n"
+
+#: sys-utils/dmesg.c:72
+msgid "system is unusable"
+msgstr "le système est inutilisable"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr "il faut agir immédiatement"
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr "conditions critiques"
+
+#: sys-utils/dmesg.c:75
+msgid "error conditions"
+msgstr "conditions d'erreur"
+
+#: sys-utils/dmesg.c:76
+msgid "warning conditions"
+msgstr "conditions d'avertissement"
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr "condition normale mais significative"
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr "information"
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr "messages du niveau de débogage"
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr "messages du noyau"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr "messages utilisateur aléatoires"
+
+#: sys-utils/dmesg.c:95
+msgid "mail system"
+msgstr "système de courrier électronique"
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr "démons du système"
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr "message de sécurité ou autorisation"
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr "message interne de syslogd"
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr "message du sous-système d'impression"
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr "sous-système de nouvelles réseau"
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr "sous-système UUCP"
+
+#: sys-utils/dmesg.c:102
+msgid "clock daemon"
+msgstr "démon horaire"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr "message de sécurité ou autorisation (privé)"
+
+#: sys-utils/dmesg.c:104
+msgid "ftp daemon"
+msgstr "démon FTP"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+" -C, --clear vider le tampon des messages du noyau\n"
+" -c, --read-clear lire et effacer tous les messages\n"
+" -D, --console-off désactiver l'affichage des messages en console\n"
+" -d, --show-delta montrer la diff. de temps entre messages "
+"affichés\n"
+" -e, --reltime montrer la date locale et la différence de "
+"temps\n"
+" en format lisible\n"
+" -E, --console-on activer l'affichage des messages en console\n"
+" -F, --file <fichier> utiliser le fichier Ă  la place du tampon de\n"
+" journal du noyau\n"
+" -f, --facility <liste> restreindre la sortie aux services indiqués\n"
+" -h, --help afficher cette aide et quitter\n"
+" -k, --kernel afficher les messages du noyau\n"
+" -l, --level <liste> restreindre la sortie aux niveaux indiqués\n"
+" -n, --console-level <niv.> configurer niveau des messages affichés en "
+"console\n"
+" -r, --raw afficher le tampon de message brut\n"
+" -S, --syslog forcer l'utilisation de syslog(2) Ă  la place "
+"de\n"
+" /dev/kmsg\n"
+" -s, --buffer-size <taille> taille du tampon pour demander le tampon des\n"
+" messages du noyau\n"
+" -T, --ctime montrer l'horodatage lisible par l'utilisateur\n"
+" (pourrait ĂŞtre inexact en cas d'utilisation "
+"de\n"
+" la mise en veille)\n"
+" -t, --notime ne pas afficher l'horodatage des messages\n"
+" -u, --userspace afficher les messages en espace utilisateur\n"
+" -V, --version afficher les informations de version et "
+"quitter\n"
+" -w, --follow attendre les nouveaux messages\n"
+" -x, --decode décoder le service et le niveau en chaînes "
+"lisibles\n"
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+"\n"
+"Services de journalisation possibles :\n"
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+"\n"
+"Niveaux de journalisation possibles (priorités) :\n"
+
+#: sys-utils/dmesg.c:260
+#, c-format
+msgid "failed to parse level '%s'"
+msgstr "échec d'analyse du niveau « %s »"
+
+#: sys-utils/dmesg.c:262
+#, c-format
+msgid "unknown level '%s'"
+msgstr "niveau « %s » inconnu"
+
+#: sys-utils/dmesg.c:298
+#, c-format
+msgid "failed to parse facility '%s'"
+msgstr "échec d'analyse de service « %s »"
+
+#: sys-utils/dmesg.c:300
+#, c-format
+msgid "unknown facility '%s'"
+msgstr "service « %s » inconnu"
+
+# disk-utils/mkswap.c:623
+#: sys-utils/dmesg.c:415
+msgid "sysinfo failed"
+msgstr "Ă©chec de sysinfo"
+
+#: sys-utils/dmesg.c:442
+#, c-format
+msgid "cannot mmap: %s"
+msgstr "échec de mmap : %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+msgid "write failed"
+msgstr "Ă©chec d'Ă©criture"
+
+#: sys-utils/dmesg.c:1132
+msgid "invalid buffer size argument"
+msgstr "argument de taille du tampon incorrect"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+"--raw ne peut pas être utilisé en même temps que les options --level, --"
+"facility, --decode, --delta, --ctime ou --notime"
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+"--notime ne peut pas être utilisé en même temps que --ctime ou --reltime"
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr "--reltime ne peut pas être utilisé en même temps que --ctime "
+
+#: sys-utils/dmesg.c:1192
+msgid "read kernel buffer failed"
+msgstr "Ă©chec de lecture du tampon de noyau"
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr "commande non prise en charge"
+
+# disk-utils/mkswap.c:623
+#: sys-utils/dmesg.c:1211
+msgid "klogctl failed"
+msgstr "Ă©chec de la fonction klogctl"
+
+#: sys-utils/eject.c:135
+#, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr " %s [options] [<périphérique>|<point de montage>]\n"
+
+# NOTE: s/another/other/
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+" -a, --auto <on|off> activer ou désactiver fonctionnalité "
+"d'autoéjection\n"
+" -c, --changerslot <disque> changer de disque sur un chargeur de CD\n"
+" -d, --default afficher le périphérique par défaut\n"
+" -f, --floppy Ă©jecter la disquette\n"
+" -F, --force ignorer le type de périphérique\n"
+" -i, --manualeject <on|off> activer, désactiver protection manuelle "
+"d'Ă©jection\n"
+" -m, --no-unmount ne pas démonter le périphérique même s'il est "
+"monté\n"
+" -M, --no-partitions-unmount ne pas démonter d'autres partitions\n"
+" -n, --noop ne pas Ă©jecter, montrer seulement le "
+"périphérique\n"
+" -p, --proc utiliser /proc/mounts au lieu de /etc/mtab\n"
+" -q, --tape Ă©jecter la cassette\n"
+" -r, --cdrom Ă©jecter le CD\n"
+" -s, --scsi éjecter le périphérique SCSI\n"
+" -t, --trayclose fermer le plateau\n"
+" -T, --traytoggle tourner le plateau\n"
+" -v, --verbose activer la sortie bavarde\n"
+" -x, --cdspeed <speed> définir la vitesse maximale du CD\n"
+" -X, --listspeed afficher les vitesse de CD disponibles\n"
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+"\n"
+"Essaye par défaut -r, -s, -f et -q dans cet ordre jusqu'à réussir.\n"
+
+#: sys-utils/eject.c:208
+msgid "invalid argument to --auto/-a option"
+msgstr "argument incorrect pour l'option --auto, -a"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr "argument incorrect pour l'option --changerslot, -c"
+
+#: sys-utils/eject.c:216
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "argument incorrect pour l'option --cdspeed, -x"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr "argument incorrect pour l'option --manualeject, -i"
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr "échec de la commande d'autoéjection de CD"
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr "Ă©chec de la commande de fermeture du lecteur de CD"
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr "le CD ne peut PAS être éjecté avec le bouton du lecteur"
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr "le CD peut être éjecté avec le bouton du lecteur"
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr "échec de la commande de sélection de disque"
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr "Ă©chec de chargement du CD"
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr "le chargeur de CD IDE/ATAPI n'est pas pris en charge par ce noyau\n"
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr "Ă©chec de la commande de fermeture du plateau de CD"
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+"la commande de fermeture du plateau de CD n'est pas prise en charge par ce "
+"noyau\n"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr "Ă©jection de CD non prise en charge"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr "Ă©chec de la commande d'Ă©jection de CD"
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr "Aucun renseignement disponible sur le CD"
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr "le périphérique de CD n'est pas prêt"
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr "échec de la commande de sélection de vitesse du CD"
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+"la commande de sélection de vitesse du CD n'est pas prise en charge par ce "
+"noyau"
+
+#: sys-utils/eject.c:521
+#, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s : échec d'obtention du nom de CD"
+
+#: sys-utils/eject.c:536
+#, c-format
+msgid "%s: failed to read speed"
+msgstr "%s : échec de lecture de la vitesse"
+
+#: sys-utils/eject.c:544
+msgid "failed to read speed"
+msgstr "Ă©chec de lecture de la vitesse"
+
+#: sys-utils/eject.c:588
+msgid "not an sg device, or old sg driver"
+msgstr "n'est pas un périphérique sg, ou ancien pilote sg"
+
+#: sys-utils/eject.c:650
+#, c-format
+msgid "%s: unmounting"
+msgstr "%s : démontage"
+
+#: sys-utils/eject.c:658
+msgid "eject: cannot set user id"
+msgstr "eject : impossible de configurer l'identifiant d'utilisateur"
+
+#: sys-utils/eject.c:665
+#, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "impossible d'exécuter /bin/umount de « %s »"
+
+#: sys-utils/eject.c:668
+msgid "unable to fork"
+msgstr "impossible de créer un processus fils"
+
+#: sys-utils/eject.c:675
+#, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "le démontage de « %s » ne s'est pas terminé normalement"
+
+#: sys-utils/eject.c:678
+#, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "échec du démontage de « %s »\n"
+
+#: sys-utils/eject.c:719
+msgid "failed to parse mount table"
+msgstr "Ă©chec d'analyse de la table de montage"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, c-format
+msgid "%s: mounted on %s"
+msgstr "%s : monté sur %s"
+
+#: sys-utils/eject.c:877
+#, c-format
+msgid "%s: is removable device"
+msgstr "%s : est un périphérique amovible"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr "%s : connecté par le sous-système de branchement à chaud : %s"
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr "configuration de la vitesse de CD en automatique"
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr "configuration de la vitesse de CD Ă  %ldX"
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr "périphérique par défaut : « %s »"
+
+#: sys-utils/eject.c:952
+#, c-format
+msgid "using default device `%s'"
+msgstr "utilisation du périphérique par défaut « %s »"
+
+#: sys-utils/eject.c:971
+#, c-format
+msgid "%s: unable to find device"
+msgstr "%s : impossible de trouver le périphérique"
+
+#: sys-utils/eject.c:973
+#, c-format
+msgid "device name is `%s'"
+msgstr "le nom du périphérique est « %s »"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, c-format
+msgid "%s: not mounted"
+msgstr "%s : non monté"
+
+# NOTE: s/disc/disk/
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+"%s : périphérique disque : %s (le périphérique disque sera utilisé pour "
+"l'Ă©jection)"
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr "%s : point de montage ou périphérique avec le nom donné introuvable"
+
+#: sys-utils/eject.c:994
+#, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s : est un périphérique disque entier"
+
+#: sys-utils/eject.c:998
+#, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s : ne peut pas être branché à chaud"
+
+#: sys-utils/eject.c:1002
+#, c-format
+msgid "device is `%s'"
+msgstr "le périphérique est « %s »"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr "fin d'exécution à cause des options -n ou --noop"
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr "%s : activation du mode d'autoéjection"
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr "%s : désactivation du mode d'autoéjection"
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr "%s : fermeture du plateau"
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr "%s : rotation du plateau"
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr "%s : affichage des vitesses du CD"
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr "erreur : %s : périphérique utilisé"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr "%s : sélection du disque nº %ld"
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr "%s : tentative d'éjection en utilisant la commande d'éjection de CD"
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr "la commande d'éjection de CD a réussi"
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr "%s : tentative d'éjection en utilisant les commandes SCSI"
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr "l'éjection SCSI a réussi"
+
+#: sys-utils/eject.c:1103
+msgid "SCSI eject failed"
+msgstr "Ă©chec de l'Ă©jection SCSI"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+"%s : tentative d'éjection en utilisant la commande d'éjection de disquette"
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr "la commande d'éjection de disquette a réussi"
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr "Ă©chec de la commande d'Ă©jection de disquette"
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+"%s : tentative d'éjection en utilisant la commande de cassette hors ligne"
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr "la commande de cassette hors ligne a réussi"
+
+#: sys-utils/eject.c:1117
+msgid "tape offline command failed"
+msgstr "Ă©chec de la commande de cassette hors ligne"
+
+#: sys-utils/eject.c:1121
+msgid "unable to eject"
+msgstr "impossible d'Ă©jecter"
+
+#: sys-utils/fallocate.c:60
+#, c-format
+msgid " %s [options] <filename>\n"
+msgstr " %s [options] <fichier>\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+" -n, --keep-size ne pas modifier la longueur du fichier\n"
+" -p, --punch-hole faire des trous dans le fichier\n"
+" -o, --offset <nbre> index de l'allocation, en octet\n"
+" -l, --length <nbre> longueur de l'allocation, en octet\n"
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr "Pas d'argument de longueur indiqué"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr "Valeur de longueur indiquée non valable"
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr "Valeur d'index indiqué non valable"
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr "Aucun nom de fichier indiqué."
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr "nombre d'arguments inattendu"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr "mode de taille conservée (option -n) non pris en charge"
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s : échec de fallocate"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+" %1$s [options] <numéro de descripteur de fichier>\n"
+" %1$s [options] <fichier> -c <commande>\n"
+" %1$s [options} <répertoire> -c <commande>\n"
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr " -s --shared obtenir un verrou partagé\n"
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr " -x --exclusive obtenir un verrou exclusif (par défaut)\n"
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr " -u --unlock supprimer un verrou\n"
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr " -n --nonblock Ă©chouer au lieu de bloquer\n"
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr " -w --timeout <secondes> attendre un temps maximal donné\n"
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+" -E --conflict-exit-code <numéro> code de retour après conflit ou "
+"atteinte\n"
+" du délai d'expiration\n"
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+" -o --close fermer le descripteur de fichier avant d'exécuter\n"
+" la commande\n"
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+" -c --command <commande> exécuter une seule commande à l'aide de "
+"l'interpréteur\n"
+
+#: sys-utils/flock.c:86
+msgid "timeout cannot be zero"
+msgstr "le temps maximal ne peut pas ĂŞtre nul"
+
+#: sys-utils/flock.c:123
+#, c-format
+msgid "cannot open lock file %s"
+msgstr "impossible d'ouvrir le fichier de verrou %s"
+
+#: sys-utils/flock.c:206
+msgid "invalid exit code"
+msgstr "code de retour incorrect"
+
+#: sys-utils/flock.c:226
+#, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s nécessite exactement un argument"
+
+#: sys-utils/flock.c:247
+msgid "requires file descriptor, file or directory"
+msgstr "nécessite un descripteur de fichier, un fichier ou un répertoire"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "échec de la fonction « waitpid »"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, c-format
+msgid " %s [options] <mount point>\n"
+msgstr " %s [options] <point de montage>\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+" -h, --help ce message d'aide\n"
+" -f, --freeze geler le système de fichiers\n"
+" -u, --unfreeze dégeler le système de fichiers\n"
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"Consultez fsfreeze(8) pour obtenir des renseignements complémentaires.\n"
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr "Aucune action indiquée"
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr "Aucun nom de fichier indiqué"
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr "%s : n'est pas un répertoire"
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr "%s : échec de gel"
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr "%s : échec de dégel"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+" -o, --offset <num> position en octet Ă  partir de laquelle abandonner\n"
+" -l, --length <num> taille en octet Ă  abandonner Ă  partir de la position\n"
+" -m, --minimum <num> taille Ă©tendue minimale Ă  abandonner\n"
+" -v, --verbose afficher le nombre d'octets Ă  abandonner\n"
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+msgid "failed to parse length"
+msgstr "Ă©chec d'analyse de longueur"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+msgid "failed to parse offset"
+msgstr "Ă©chec d'analyse de position"
+
+#: sys-utils/fstrim.c:114
+msgid "failed to parse minimum extent length"
+msgstr "Ă©chec d'analyse de longueur Ă©tendue minimale"
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr "Aucun point de montage indiqué."
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, c-format
+msgid "%s: not a directory"
+msgstr "%s : pas un répertoire"
+
+#: sys-utils/fstrim.c:145
+#, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s : échec d'ioctl FITRIM"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr "%s : %<PRIu64> octets ont été taillés\n"
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, c-format
+msgid "cannot write %s"
+msgstr "impossible d'Ă©crire %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr ""
+"On assume que l'horloge matérielle est conservée dans le temps de %s.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "locale"
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+"Avertissement : troisième ligne non reconnue dans le fichier d'ajustement de "
+"l'heure\n"
+"(valeurs possibles : « UTC », « LOCAL » ou rien)."
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Le dernier ajustement de dérive a été fait %ld secondes après 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "La dernière calibration a été faite %ld secondes après 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "L'horloge matérielle fonctionne selon le temps %s\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "En attente d'un tic d'horloge…\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "… échec de synchronisation\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "… a obtenu un tic d'horloge\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"valeurs non valables dans l'horloge matérielle : %4d/%.2d/%.2d %.2d:%.2d:"
+"%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Heure de l'horloge matérielle : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld secondes "
+"depuis 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Heure lue de l'horloge matérielle : %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Initialiser l'horloge matérielle à %.2d:%.2d:%.2d = %ld secondes depuis "
+"1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Horloge n'est pas modifiée — test seulement.\n"
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Temps écoulé depuis la référence temporelle : %.6f secondes.\n"
+"DĂ©lai en cours pour atteindre la nouvelle heure.\n"
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Les registres de l'horloge matérielle contiennent des valeurs qui sont soit "
+"incorrectes (par exemple 50e jour du mois) soit en dehors de la plage "
+"pouvant être traitée (par exemple année 2095)."
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f secondes\n"
+
+#: sys-utils/hwclock.c:617
+msgid "No --date option specified."
+msgstr "Aucune option --date indiquée."
+
+#: sys-utils/hwclock.c:623
+msgid "--date argument too long"
+msgstr "Argument --date trop long"
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"La valeur de l'option --date n'est pas une date valable.\n"
+"En particulier, elle contient des guillemets."
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Émission de la commande de date : %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Échec de popen(), impossible d'exécuter « date » dans l'interpréteur /bin/sh"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "réponse de la commande date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"La commande date soumise par %s a retourné des résultats inattendus.\n"
+"La commande était :\n"
+" %s\n"
+"Le résultat est :\n"
+" %s"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"La commande date soumise par %s a retourné quelque chose d'autre qu'un\n"
+"entier alors que des valeurs de temps converties Ă©taient attendues.\n"
+"La commande était :\n"
+" %s\n"
+"Le résultat est :\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "la chaîne de date %s équivaut à %ld secondes depuis 1969.\n"
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"L'horloge matérielle ne contient pas d'heure valable, elle ne permet donc "
+"pas d'initialiser l'heure du système."
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Appel de settimeofday :\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+"Ne peut initialiser l'horloge système parce que le programme tourne en mode "
+"test.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr "Seul le superutilisateur peut initialiser l'horloge système."
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "Échec de settimeofday()"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Heure courante du système : %ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC : %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Pas d'ajustement du facteur de dérive parce l'horloge matérielle contient "
+"déjà des données corrompues.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Pas d'ajustement du facteur de dérive parce le dernier de temps de "
+"calibration indique zéro.\n"
+"L'historique étant erroné une recalibration est nécessaire.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Pas d'ajustement du facteur de dérive parce qu'elle est moins qu'un jour "
+"depuis la dernière calibration.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"L'horloge a dérivé de %.1f secondes durant les dernières %d secondes en "
+"dépit d'un facteur de dérive de %f secondes/jour.\n"
+"Ajustement du facteur de dérive de %f secondes/jour\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "L'heure depuis le dernier ajustement est de %d secondes\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Besoin d'insérer %d secondes et de faire une référence arrière dans le temps "
+"de %.6f secondes\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+"Pas de mise Ă  jour du fichier de temps d'ajustement en raison du mode test.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Devrait avoir écrit ce qui suit dans %s :\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+"Impossible d'ouvrir le fichier en écriture en ajustant les paramètres "
+"d'heure (%s)"
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+"Impossible de mettre à jour le fichier en ajustant les paramètres d'heure "
+"(%s)"
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr "Paramètres d'ajustement de dérive non mis à jour."
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"L'horloge matérielle ne contient pas d'heure valable, elle n'est donc pas "
+"réglable."
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Heure non modifiée car le dernier temps de calibration est zéro, donc "
+"mauvais historique."
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"L'ajustement requis est inférieur à une seconde, pas d'initialisation de "
+"l'horloge.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Utilisant %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Aucune interface d'horloge utilisable n'a été repérée.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Impossible d'initialiser l'horloge système.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+"%ld secondes après 1969, l'horloge matérielle est supposé lire %ld secondes "
+"après 1969.\n"
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Le noyau conserve une valeur « epoch » pour l'horloge matérielle uniquement "
+"sur\n"
+"les machines Alpha. Cette copie de l'horloge matérielle a été prévue pour "
+"une\n"
+"machine d'un autre type que Alpha (et ne tournant probablement donc pas sur "
+"un\n"
+"Alpha maintenant). Aucune action n'a été exécutée."
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Impossible d'obtenir la valeur « epoch » à partir du noyau."
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Le noyau suppose une valeur « epoch » de %lu\n"
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Pour initialiser la valeur « epoch », vous devez utiliser l'option « epoch » "
+"pour y mettre la valeur voulue."
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "La valeur « epoch » n'est pas configurée à %d — test seulement.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Impossible d'initialiser la valeur « epoch » dans le noyau.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr " hwclock [fonction] [option...]\n"
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"Fonctions :\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+" -h, --help afficher cette aide et quitter\n"
+" -r, --show lire l'heure matérielle afficher le résultat\n"
+" --set configurer l'horloge matérielle à l'heure donnée par "
+"l'option --date\n"
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+" -s, --hctosys régler l'heure système à partir de l'horloge "
+"matérielle\n"
+" -w, --systohc régler l'horloge matérielle à l'heure actuelle du "
+"système\n"
+" --systz régler l'heure système sur la zone de temps actuelle\n"
+" --adjust ajuster l'horloge matérielle en tenant compte de la\n"
+" dérive systématique depuis le dernier réglage\n"
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+" --getepoch afficher la valeur « epoch » du noyau pour\n"
+" l'horloge matérielle\n"
+" --setepoch configurer la valeur « epoch » de l'horloge\n"
+" matérielle du noyau à la valeur donnée par --epoch\n"
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+" --predict prédire la lecture d'horloge matérielle à l'heure "
+"donnée par --date\n"
+" -V, --version afficher les informations de version et quitter\n"
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+" -u, --utc l'horloge matérielle est conservée au format UTC\n"
+" --localtime l'horloge matérielle est conservée au format local\n"
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+" -f, --rtc <fichier> utiliser le fichier spécial /dev/... au lieu de celui "
+"par défaut\n"
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+" --directisa accéder directement au bus ISA au lieu de %s\n"
+" --badyear ignorer l'année donnée par l'horloge matérielle "
+"(problème de BIOS)\n"
+" --date <heure> indiquer l'heure pour régler l'horloge matérielle\n"
+" --epoch <année> indiquer l'année correspondant à la valeur\n"
+" de départ « epoch » de l'horloge matérielle\n"
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+" --noadjfile ne pas accéder à %s (nécessite\n"
+" l'utilisation de --utc ou de --localtime)\n"
+" --adjfile <chem> indiquer le chemin du fichier de réglage\n"
+" (%s par défaut)\n"
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+" --test ne rien mettre Ă  jour, montrer seulement ce qui "
+"arriverait\n"
+" -D, --debug mode de débogage\n"
+"\n"
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" indique à hwclock le type d'Alpha utilisé (consultez hwclock(8))\n"
+"\n"
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr "Impossible de se connecter au système d'audit"
+
+#: sys-utils/hwclock.c:1619
+msgid "invalid epoch argument"
+msgstr "argument « epoch » incorrect"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr ""
+"%s ne peut pas prendre des arguments d'options qui n'en sont pas. Vous avez "
+"fourni %d.\n"
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "Avec --noadjfile, vous devez soit indiquer --utc, soit --localtime"
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Pas de mise Ă  l'heure utilisable. Impossible de configurer l'horloge."
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Désolé, seul le superutilisateur peut modifier l'horloge matérielle."
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Désolé, seul le superutilisateur peut modifier l'horloge système."
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Désolé, seul le superutilisateur peut modifier la valeur « epoch » de "
+"l'horloge matérielle dans le noyau."
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+"Impossible d'accéder à l'horloge matérielle à l'aide d'une méthode connue."
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Utiliser l'option --debug pour plus de précisions sur la recherche d'une "
+"méthode connue."
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "amorcé à partir de MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Horloge Ruffian BCD\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "le port d'horloge a été ajusté à 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "drôle de TOY !\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "atomic %s a échoué pour 1000 itérations."
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+"cmos_read() : échec de lecture de la valeur de contrôle à l'adresse %X : %m\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "cmos_read() : échec de lecture de données à l'adresse %X : %m\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+"cmos_read() : échec d'écriture de la valeur de contrôle à l'adresse %X : %m\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "cmos_read() : échec d'écriture de données à l'adresse %X : %m\n"
+
+#: sys-utils/hwclock-cmos.c:644
+msgid "I failed to get permission because I didn't try."
+msgstr "Échec d'obtention des droits car aucun essai n'a été tenté."
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"impossible d'obtenir un port d'accès d'E/S : l'appel à iopl(3) a échoué."
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Les privilèges du superutilisateur sont probablement nécessaire.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Attente dans la boucle d'obtention d'un changement depuis KDGHWCLK\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Échec d'ioctl KDGHWCLK pour la lecture de l'heure"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "L'ioctl KDGHWCLK pour la lecture de l'heure a échoué dans une boucle"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr "Expiration de la minuterie lors de l'attente du changement de l'heure."
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "Échec d'ioctl() lors de la lecture de l'heure depuis %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "Échec d'ioctl KDSHWCLK"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Impossible d'ouvrir /dev/tty1 ou /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "Échec d'ioctl KDGHWCLK"
+
+#: sys-utils/hwclock-rtc.c:195
+#, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "Échec d'ioctl(%s) vers %s lors de la lecture de l'heure"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Attente dans un boucle pour que le temps %s se modifie\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s n'a pas de fonction d'interruption"
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "Échec de read() de %s durant l'attente d'un tic d'horloge"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "Échec de select() de %s en attente d'un tic d'horloge"
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr ""
+"select() de %s dont l'attente d'un tic d'horloge a expiré le délai de la "
+"minuterie"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "Échec d'ioctl() de %s pour arrêter les mises à jour par interruption"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"Échec inattendu d'ioctl() de %s pour démarrer les mises à jour par "
+"interruption"
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "Échec d'ioctl(%s) de %s lors de l'initialisation de l'heure."
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) a réussi.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Pour manipuler la valeur « epoch » dans le noyau, vous devez accéder au "
+"pilote Linux du périphérique « rtc » par le biais du fichier spécial %s. Ce "
+"fichier n'existe pas sur ce système."
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "Échec d'ioctl(RTC_EPOCH_READ) de %s"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+"la valeur « epoch » %ld a été lue à partir de %s à l'aide de l'ioctl "
+"RTC_EPOCH_READ.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr ""
+"La valeur « epoch » ne peut pas être inférieure à 1900. Vous avez demandé %ld"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+"initialisation de la valeur « epoch » à %ld avec l'ioctl RTC_EPOCH_SET sur "
+"%s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+"Le pilote du périphérique du noyau pour %s n'a pas l'ioctl RTC_EPOCH_SET."
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "Échec d'ioctl(RTC_EPOCH_SET) sur %s"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+" -M, --shmem <taille> créer un segment de mémoire partagée de taille "
+"<taille>\n"
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+" -S, --semaphore <nsems> créer un tableau de sémaphores à <nsems> éléments\n"
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --queue créer une file de messages\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr " -p, --mode <mode> droits de la ressource (0644 par défaut)\n"
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+msgid "failed to parse size"
+msgstr "Ă©chec d'analyse de taille"
+
+#: sys-utils/ipcmk.c:114
+msgid "failed to parse elements"
+msgstr "échec d'analyse des éléments"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr "échec de création de mémoire partagée"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "identifiant de mémoire partagée : %d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr "échec de création de file de messages"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "identifiant de file de message : %d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "échec de création du sémaphore"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "identifiant de sémaphore : %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+" -m, --shmem-id <ident.> retirer le segment de mémoire partagée par "
+"shmid\n"
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+" -M, --shmem-key <clef> retirer le segment de mémoire partagée par clef\n"
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+" -q, --queue-id <ident.> retirer la file de messages par identifiant\n"
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr " -Q, --queue-key <clef> retirer la file de messages par clef\n"
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr " -s, --semaphore-id <id.> retirer le sémaphore par identifiant\n"
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr " -s, --semaphore-key <clef> retirer le sémaphore par clef\n"
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr " -a, --all[=<shm|msg|sem>] tout retirer\n"
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -v, --verbose expliquer les actions en cours\n"
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr "retrait du segment de mémoire partagée d'identifiant « %d »\n"
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "retrait de la file de messages d'identifiant « %d »\n"
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "retrait du sémaphore d'identifiant « %d »\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "permission refusée pour la clef"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "permission refusée pour l'identifiant"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "clef non valable"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "identifiant non valable"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "clef déjà enlevée"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "identifiant déjà enlevé"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+msgid "key failed"
+msgstr "Ă©chec de clef"
+
+#: sys-utils/ipcrm.c:111
+msgid "id failed"
+msgstr "Ă©chec d'identifiant"
+
+#: sys-utils/ipcrm.c:128
+#, c-format
+msgid "invalid id: %s"
+msgstr "identifiant non valable : %s"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+msgid "not enough arguments"
+msgstr "pas assez d'arguments"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "ressources détruites\n"
+
+#: sys-utils/ipcrm.c:194
+#, c-format
+msgid "illegal key (%s)"
+msgstr "clef incorrecte (%s)"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr "noyau non configuré pour traiter la mémoire partagée"
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr "le noyau n'est pas configuré pour traiter les sémaphores"
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr "noyau non configuré pour traiter les files de messages"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, c-format
+msgid "unknown argument: %s"
+msgstr "argument inconnu : %s"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+" -i, --id <id.> afficher des détails sur la ressource identifiée par id\n"
+
+#: sys-utils/ipcs.c:126
+msgid "Resource options:\n"
+msgstr "Options de ressource :\n"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr " -m, --shmems segments de mémoire partagée\n"
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr " -q, --queues files de messages\n"
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr " -s, --semaphores sémaphores\n"
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr " -a, --all tout (par défaut)\n"
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr "Format de sortie :\n"
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+" -t, --time montrer les heures d'attachement, de détachement et de "
+"modification\n"
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+" -p, --pid montrer le créateur et les dernières opérations de PID\n"
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr " -c, --creator montrer le créateur et le propriétaire\n"
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr " -l, --limits montrer les limites de ressource\n"
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr " -u, --summary montrer un résumé de l'état\n"
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "noyau non configuré pour traiter la mémoire partagée\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Limites de la mémoire partagée --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "nombre maximal de segments = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "taille maximale de segments (kilooctet) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "total de mémoire partagée maximal (kilooctet) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "taille minimale de segments (octet) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ État de la mémoire partagée --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+"segments alloués = %d\n"
+"pages alloués = %ld\n"
+"pages résidentes = %ld\n"
+"pages d'Ă©change = %ld\n"
+"performance de l'espace d'échange = %ld tentatives\t %ld succès\n"
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Segment de mémoire partagée Créateurs/Propriétaires --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+"------ Mémoire partagée Attachement/Détachement/Changement Temps --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "propriétaire"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "attaché"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "détaché"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "modifié"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ Mémoire partagée créateur/ PID de dernière opération --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Segment de mémoire partagée --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "clef"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "octets"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "Ă©tats"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Non initialisé"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "verrouillé"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "le noyau n'est pas configuré pour traiter les sémaphores\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Limites des sémaphores --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "nombre maximal de tableaux = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "nombre maximal de sémaphores par tableau = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "nombre maximal de sémaphores système = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "nombre maximal d'opérations par appel semop = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valeur maximal de sémaphore = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ États des sémaphores --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "tableaux utilisés = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "sémaphores alloués = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "--- Tableaux de sémaphores Créateurs/Propriétaires ---\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "--- Sémaphores : opérations/changements temporels ---\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "last-op"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "last-changed"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Tableaux de sémaphores --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "noyau non configuré pour traiter les files de messages\n"
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Limites de messages --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "nombre maximal de files système = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "taille maximale des messages (octets) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "taille maximale par défaut des files (octets) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ États des messages --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "files allouées = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "en-têtes utilisées = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "espace utilisé = %d octets\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ Files de messages créateurs/propriétaires --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Files de messages Transmis/Reçus/Changés Temps --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "transmis"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "reçus"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "changés"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID des files de messages --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Files de messages --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "octets utilisés"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "messages"
+
+# disk-utils/mkswap.c:623
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "Ă©chec de la fonction shmctl"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Mémoire partagée segment shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "octets=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+# disk-utils/mkswap.c:623
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "Ă©chec de la fonction msgctl"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"File de messages msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "Ă©chec de la fonction semctl"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Tableaux de sémaphores semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "valeur"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "PID"
+
+#: sys-utils/ldattach.c:144
+msgid "invalid iflag"
+msgstr "indici non valable"
+
+#: sys-utils/ldattach.c:160
+#, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr " %s [options] <pcont> <périphérique>\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+" -d, --debug afficher des messages Ă©tendus sur la sortie "
+"d'erreur standard\n"
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr " -s, --speed <vitesse> définir la vitesse de la ligne série\n"
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr " -7, --sevenbits définir la taille de caractère à 7 bits\n"
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr " -8, --eightbits définir la taille de caractère à 8 bits\n"
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr " -n, --noparity définir la parité à la valeur aucune\n"
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr " -e, --evenparity définir la parité à la valeur paire\n"
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr " -o, --oddparity définir la parité à la valeur impaire\n"
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr " -1, --onestopbit définir les bits d'arrêt à 1 bit\n"
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr " -2, --twostopbits définir les bits d'arrêt à 2 bit\n"
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr " -i, --iflag [-]<indici> définir l'option de mode d'entrée\n"
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Noms <pcont> reconnus :\n"
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"Noms <indici> reconnus :\n"
+
+#: sys-utils/ldattach.c:266
+msgid "invalid speed argument"
+msgstr "argument de vitesse incorrect"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "option incorrecte"
+
+#: sys-utils/ldattach.c:288
+msgid "invalid line discipline argument"
+msgstr "argument de procédure de contrôle incorrect"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s n'est pas une ligne série"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "impossible d'obtenir les attributs du terminal %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "vitesse %d non prise en charge"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "impossible de configurer les attributs du terminal %s"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "impossible de configurer la procédure de contrôle"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "échec de transformation en démon"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ", index %ju"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ", taille limite %ju"
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", chiffrement %s (type %u)"
+
+#: sys-utils/losetup.c:120
+#, c-format
+msgid "%s: set capacity failed"
+msgstr "%s : échec de définition de capacité"
+
+#: sys-utils/losetup.c:130
+#, c-format
+msgid "%s: detach failed"
+msgstr "%s : échec de détachement"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+" %1$s [options] [<périph_boucle>]\n"
+" %1$s [options] -f | <périph_boucle> <fichier>\n"
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+" -a, --all afficher tous les périphériques utilisés\n"
+" -d, --detach <périph.> [...] détacher un ou plusieurs périphériques\n"
+" -D, --detach-all détacher tous les périphériques utilisés\n"
+" -f, --find trouver le premier périphérique inutilisé\n"
+" -c, --set-capacity <périph.> redimensionner le périphérique\n"
+" -j, --associated <fichier> afficher tous les périphériques associés à "
+"<fichier>\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -e, --encryption <type> activer le chiffrement avec <nom/num> "
+"indiqué\n"
+" -o, --offset <num> démarrer à la position <num> dans le fichier\n"
+" --sizelimit <num> périphérique limité à <num> octets du "
+"fichier\n"
+" -p, --pass-fd <num> lire le mot de passe depuis le descripteur de "
+"fichier <num>\n"
+" -P, --partscan créer un périphérique boucle partitionné\n"
+" -r, --read-only boucle en lecture seule sur le périphérique\n"
+" --show afficher le nom du périphérique après "
+"configuration (avec -f)\n"
+" -v, --verbose mode bavard\n"
+
+# NOTE: s/maybe be/may be/
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+"%s : avertissement : fichier plus petit que 512 octets, le périphérique "
+"boucle pourrait être inutile ou invisible pour les outils système."
+
+# NOTE: missing comma after sector?
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+"%s : avertissement : le fichier n'est pas contenu dans un secteur de "
+"512 octets, la fin du fichier sera ignorée."
+
+# disk-utils/mkswap.c:612
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, c-format
+msgid "%s: failed to use device"
+msgstr "%s : échec d'utilisation du périphérique"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr "mot de passe du descripteur de fichier non valable"
+
+#: sys-utils/losetup.c:352
+msgid "no loop device specified"
+msgstr "aucun périphérique boucle indiqué"
+
+# disk-utils/mkswap.c:612
+#: sys-utils/losetup.c:354
+#, c-format
+msgid "%s failed to use device"
+msgstr "%s n'arrive pas à utiliser le périphérique"
+
+#: sys-utils/losetup.c:359
+msgid "no file specified"
+msgstr "aucun fichier indiqué"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+"les options %s ne sont permises que pour la configuration de périphérique "
+"boucle"
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr "l'option --offset n'est pas permise dans ce contexte."
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+msgid "couldn't lock into memory"
+msgstr "impossible de verrouiller en mémoire"
+
+#: sys-utils/losetup.c:391
+msgid "not found unused device"
+msgstr "périphérique non utilisé introuvable"
+
+#: sys-utils/losetup.c:403
+#, c-format
+msgid "%s: failed to use backing file"
+msgstr "%s : échec d'utilisation du fichier associé"
+
+#: sys-utils/losetup.c:442
+msgid "find unused loop device failed"
+msgstr "impossible de trouver un périphérique boucle non utilisé"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "rien"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "para"
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "complet"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr "horizontal"
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr "vertical"
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr "numéro de processeur logique"
+
+#: sys-utils/lscpu.c:238
+msgid "logical core number"
+msgstr "numéro de cœur logique"
+
+#: sys-utils/lscpu.c:239
+msgid "logical socket number"
+msgstr "numéro de socket logique"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr "numéro de mode NUMA logique"
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr "numéro de livre logique"
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr "montre la façon de partager les caches entre processeurs"
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr "mode distribué de processeur sur matériel virtuel"
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr "adresse physique d'un processeur"
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr "montre si l'hyperviseur a alloué le processeur"
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr "montre si Linux utilise en ce moment le processeur"
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "erreur : échec de uname"
+
+#: sys-utils/lscpu.c:551
+msgid "failed to allocate memory"
+msgstr "échec d'allocation de tampon de mémoire"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr "O"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "N"
+msgstr "N"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+"# La suite est en format analysable, transmissible Ă  d'autres\n"
+"# programmes. Les items distincts dans chaque colonne ont\n"
+"# un numéro d'identifiant unique à partir de zéro.\n"
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "Architecture : "
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "Mode(s) opératoire(s) des processeurs : "
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr "Boutisme : "
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr "Processeur(s) : "
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr "Masque de processeur(s) en ligne : "
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr "Liste de processeur(s) en ligne : "
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr "Masque de processeur(s) hors ligne : "
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr "Liste de processeur(s) hors ligne : "
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "Thread(s) par cœur : "
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "Cœur(s) par socket : "
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr "Socket(s) par livre : "
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr "Livre(s) : "
+
+#: sys-utils/lscpu.c:1164
+msgid "Socket(s):"
+msgstr "Socket(s) : "
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "Nœud(s) NUMA : "
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "Identifiant constructeur : "
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "Famille de processeur : "
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Modèle : "
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "Révision : "
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "Vitesse du processeur en MHz : "
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr "BogoMIPS : "
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "Virtualisation : "
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr "Hyperviseur : "
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Constructeur d'hyperviseur : "
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Type de virtualisation : "
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr "Mode distribué :"
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "Cache %s : "
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "Nœud NUMA %d de processeur(s) : "
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+" -a, --all afficher les processeurs en ligne et hors ligne\n"
+" (par défaut pour -e)\n"
+" -b, --online n'afficher que les processeurs en ligne\n"
+" (par défaut pour -p)\n"
+" -c, --offline n'afficher que les processeurs hors ligne\n"
+" -e, --extended[=<liste>] afficher en format Ă©tendu lisible\n"
+" -h, --help afficher cette aide\n"
+" -p, --parse[=<liste>] afficher en format analysable\n"
+" -s, --sysroot <rép.> utiliser ce répertoire comme racine du système\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -x, --hex afficher les masques hexadécimaux au lieu des\n"
+" listes de processeurs\n"
+
+#: sys-utils/lscpu.c:1235
+#, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"Consultez lscpu(1) pour obtenir des précisions complémentaires.\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+"%s : les options --all, --online et --offline ne peuvent être utilisées "
+"qu'avec les options --extended ou --parsable.\n"
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr ""
+"mount : seul le superutilisateur peut utiliser l'option « --%s » (l'UID "
+"effectif est %u)"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr ""
+"mount : seul le superutilisateur peut exécuter cette commande (l'UID "
+"effectif est %u)"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount : seul le superutilisateur peut utiliser l'option « --%s »"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr "seul le superutilisateur peut exécuter cette commande"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s de %s (libmount %s"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "%s : erreur d'analyse : entrée ignorée à la ligne %d."
+
+#: sys-utils/mount.c:158
+msgid "failed to read mtab"
+msgstr "échec de lecture de mtab"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr "%-25s : ignoré\n"
+
+#: sys-utils/mount.c:221
+#, c-format
+msgid "%-25s: already mounted\n"
+msgstr "%-25s : déjà monté\n"
+
+#: sys-utils/mount.c:367
+#, c-format
+msgid "only root can mount %s on %s"
+msgstr "seul le superutilisateur peut monter %s sur %s"
+
+#: sys-utils/mount.c:370
+#, c-format
+msgid "%s is already mounted"
+msgstr "%s est déjà monté"
+
+#: sys-utils/mount.c:374
+#, c-format
+msgid "can't find %s in %s"
+msgstr "impossible de trouver %s dans %s"
+
+#: sys-utils/mount.c:381
+#, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "impossible de trouver le point de montage %s dans %s"
+
+#: sys-utils/mount.c:384
+#, c-format
+msgid "can't find mount source %s in %s"
+msgstr "impossible de trouver la source du montage %s dans %s"
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"impossible de déterminer le type de système de fichiers et aucun n'a été "
+"indiqué"
+
+#: sys-utils/mount.c:392
+msgid "you must specify the filesystem type"
+msgstr "vous devez indiquer le type de système de fichiers"
+
+#: sys-utils/mount.c:396
+#, c-format
+msgid "can't find %s"
+msgstr "impossible de trouver %s"
+
+#: sys-utils/mount.c:398
+msgid "mount source not defined"
+msgstr "la source du montage n'est pas définie"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+msgid "failed to parse mount options"
+msgstr "Ă©chec d'analyse des options de montage"
+
+# disk-utils/mkswap.c:612
+#: sys-utils/mount.c:410
+#, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr ""
+"%s : échec de configuration du périphérique boucle (probablement un type de "
+"chiffrement inconnu)"
+
+#: sys-utils/mount.c:416
+#, c-format
+msgid "%s: mount failed"
+msgstr "%s : échec de montage"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "%s : système de fichiers monté, mais échec de mount(8)"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, c-format
+msgid "mount point %s is not a directory"
+msgstr "le point de montage %s n'est pas un répertoire"
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr "Seul le superutilisateur peut utiliser mount"
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr "%s est occupé"
+
+#: sys-utils/mount.c:459
+#, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "%s est déjà monté ou %s est occupé"
+
+#: sys-utils/mount.c:471
+#, c-format
+msgid " %s is already mounted on %s\n"
+msgstr " %s est déjà monté sur %s\n"
+
+#: sys-utils/mount.c:479
+#, c-format
+msgid "mount point %s does not exist"
+msgstr "le point de montage %s n'existe pas"
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "le point de montage %s est un lien symbolique qui ne pointe nulle part"
+
+#: sys-utils/mount.c:486
+#, c-format
+msgid "special device %s does not exist"
+msgstr "le périphérique spécial %s n'existe pas"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+msgid "mount(2) failed"
+msgstr "Ă©chec de mount(2)"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"le périphérique spécial %s n'existe pas (un préfixe de chemin n'est pas un "
+"répertoire)"
+
+#: sys-utils/mount.c:510
+#, c-format
+msgid "%s not mounted or bad option"
+msgstr "%s n'est pas monté, ou option erronée"
+
+#: sys-utils/mount.c:512
+#, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "%s n'est pas un point de montage, ou option erronée"
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mauvais type de système de fichiers, option erronée, superbloc erroné\n"
+" sur %s, page de code ou programme auxiliaire manquant, ou autre "
+"erreur"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (pour plusieurs système de fichiers (NFS ou CIFS par exemple), un\n"
+" programme /sbin/mount.<type> auxiliaire pourrait être nécessaire)\n"
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Dans certains cas des renseignements utiles sont dans le journal\n"
+" système — essayez « dmesg | tail » ou quelque chose du genre\n"
+
+#: sys-utils/mount.c:533
+#, c-format
+msgid "%s: can't read superblock"
+msgstr "%s : impossible de lire le superbloc"
+
+#: sys-utils/mount.c:537
+#, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "type de système de fichiers « %s » inconnu"
+
+#: sys-utils/mount.c:545
+#, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "%s n'est pas un périphérique bloc, et échec de stat(2) ?"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"le noyau ne reconnaît pas %s comme un périphérique bloc\n"
+" (essayez peut-être « modprobe pilote »)."
+
+#: sys-utils/mount.c:550
+#, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "%s n'est pas un périphérique bloc (essayer peut-être « -o loop »)"
+
+#: sys-utils/mount.c:552
+#, c-format
+msgid " %s is not a block device"
+msgstr " %s n'est pas un périphérique bloc"
+
+#: sys-utils/mount.c:559
+#, c-format
+msgid "%s is not a valid block device"
+msgstr "%s n'est pas un périphérique bloc valable"
+
+#: sys-utils/mount.c:565
+#, c-format
+msgid "cannot mount %s read-only"
+msgstr "impossible de monter %s en lecture seule"
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "%s est protégé en écriture mais l'option « -w » a été fournie"
+
+#: sys-utils/mount.c:571
+#, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "impossible de remonter %s en lecture/écriture, est protégé en écriture"
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "%s est protégé en écriture, sera monté en lecture seule"
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr "aucun support trouvé dans %s"
+
+#: sys-utils/mount.c:591
+#, c-format
+msgid "mount %s on %s failed"
+msgstr "Ă©chec du montage de %s sur %s"
+
+#: sys-utils/mount.c:613
+#, c-format
+msgid "%s: failed to parse"
+msgstr "%s : échec d'analyse"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <répertoire>\n"
+" %1$s [options] <source> <répertoire>\n"
+" %1$s <opération> <pointdemontage> [<cible>]\n"
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+" -a, --all monter tous systèmes de fichiers indiqués dans "
+"fstab\n"
+" -c, --no-canonicalize ne pas canoniser les chemins\n"
+" -f, --fake répétition, sauter l'appel système mount(2)\n"
+" -F, --fork créer un processus fils pour chaque périphérique\n"
+" (utiliser avec -a)\n"
+" -T, --fstab <chemin> autre fichier pour /etc/fstab\n"
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+" -h, --help afficher cette aide et quitter\n"
+" -i, --internal-only ne pas appeler les auxiliaires mount.<type>\n"
+" -l, --show-labels afficher tous les montages avec les Ă©tiquettes\n"
+" -n, --no-mtab ne pas Ă©crire dans /etc/mtab\n"
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+" -o, --options <liste> liste séparée par des virgules d'options de "
+"montage\n"
+" -O, --test-opts <liste> limiter l'ensemble de systèmes de fichiers\n"
+" (utiliser avec -a)\n"
+" -p, --pass-fd <num> lire le mot de passe depuis le descripteur de "
+"fichier\n"
+" -r, --read-only monter le système de fichiers en lecture seule\n"
+" (identique Ă  -o ro)\n"
+" -t, --types <liste> limiter l'ensemble de types de système de fichiers\n"
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+" --source <source> indiquer explicitement la source (chemin, Ă©tiqu., "
+"UUID)\n"
+" --target <cible> indiquer explicitement le point de montage\n"
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+" -v, --verbose expliquer les actions en cours\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -w, --read-write monter le système de fichiers en lecture/écriture "
+"(par défaut)\n"
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+"\n"
+"Source :\n"
+" -L, --label <Ă©tiquette> synonyme de LABEL=<Ă©tiquette>\n"
+" -U, --uuid <uuid> synonyme de UUID=<uuid>\n"
+" LABEL=<étiquette> indiquer périph. par étiquette de système de "
+"fichiers\n"
+" UUID=<uuid> indiquer périphérique par UUID de système de "
+"fichiers\n"
+" PARTLABEL=<étiquette> indiquer le périphérique par étiquette de "
+"partition\n"
+" PARTUUID=<uuid> indiquer le périphérique par UUID de partition\n"
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+" <périphérique> indiquer le périphérique par chemin\n"
+" <répertoire> pt de montage pour remontages (consultez --bind/"
+"rbind)\n"
+" <fichier> fichier régulier pour configuration de périph. "
+"boucle\n"
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+"\n"
+"Opérations :\n"
+" -B, --bind monter un sous-répertoire ailleurs (comme -o bind)\n"
+" -M, --move déplacer un sous-répertoire ailleurs\n"
+" -R, --rbind monter un sous-rép. et tous les sous-montages "
+"ailleurs\n"
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+" --make-shared marquer un sous-répertoire comme partagé\n"
+" --make-slave marquer un sous-répertoire comme esclave\n"
+" --make-private marquer un sous-répertoire comme privé\n"
+" --make-unbindable marquer un sous-répertoire comme non remontable\n"
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+" --make-rshared marquer récursivement tout un sous-répertoire "
+"partagé\n"
+" --make-rslave marquer récursivement tout un sous-répertoire "
+"esclave\n"
+" --make-rprivate marquer récursivement tout un sous-répertoire "
+"privé\n"
+" --make-runbindable marquer récursivement tout un sous-rép. non "
+"remontable\n"
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr "Ă©chec d'allocation de contexte libmount"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+msgid "failed to append options"
+msgstr "Ă©chec d'ajout d'options"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+msgid "failed to set options pattern"
+msgstr "Ă©chec de configuration des options de motif"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+" %1$s [-qd] /chemin/vers/répertoire\n"
+" %1$s -x /dev/périphérique\n"
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+" -q, --quiet mode silencieux, ne rien afficher\n"
+" -d, --fs-devno afficher le numéro maj:min du système de fichiers\n"
+" -x, --devno afficher le numéro maj:min du périphérique bloc\n"
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s n'est pas un point de montage\n"
+
+#: sys-utils/mountpoint.c:208
+#, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s est un point de montage\n"
+
+#: sys-utils/pivot_root.c:33
+#, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr " %s [options] nouvelle_racine emplacement_ancien\n"
+
+#: sys-utils/pivot_root.c:71
+#, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "échec du déplacement de racine de « %s » vers « %s »"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr "limite d'espace d'adresse"
+
+#: sys-utils/prlimit.c:71
+msgid "max core file size"
+msgstr "taille maximale de fichier core"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+msgid "blocks"
+msgstr "blocs"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr "temps microprocesseur"
+
+#: sys-utils/prlimit.c:72
+msgid "seconds"
+msgstr "secondes"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr "taille maximale de données"
+
+#: sys-utils/prlimit.c:74
+msgid "max file size"
+msgstr "taille maximale de fichier"
+
+#: sys-utils/prlimit.c:75
+msgid "max number of file locks held"
+msgstr "nombre maximal de verrous de fichier tenus"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr "espace d'adresse maximal verrouillé en mémoire"
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr "nombre maximal d'octets dans les files de messages POSIX"
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr "priorité nice maximale permise"
+
+#: sys-utils/prlimit.c:79
+msgid "max number of open files"
+msgstr "nombre maximal de fichiers ouverts"
+
+#: sys-utils/prlimit.c:80
+msgid "max number of processes"
+msgstr "nombre maximal de processus"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr "taille de mémoire résidente maximale"
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr "pages"
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr "priorité temps réel maximale"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr "expiration pour les tâches en temps réel"
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr "microsecondes"
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr "nombre maximal de signaux en attente"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr "taille maximale de pile"
+
+#: sys-utils/prlimit.c:116
+msgid "resource name"
+msgstr "nom de ressource"
+
+#: sys-utils/prlimit.c:117
+msgid "resource description"
+msgstr "description de ressource"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr "limite souple"
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr "limite absolue (plafond)"
+
+#: sys-utils/prlimit.c:120
+msgid "units"
+msgstr "unités"
+
+#: sys-utils/prlimit.c:156
+#, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr " %s [options] [-p <PID>]\n"
+
+#: sys-utils/prlimit.c:158
+#, c-format
+msgid " %s [options] COMMAND\n"
+msgstr " %s [options] <commande>\n"
+
+#: sys-utils/prlimit.c:160
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"Options globales :\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <PID> identifiant de processus\n"
+" -o, --output <liste> définir les colonnes de sortie à utiliser\n"
+" --noheadings ne pas afficher les en-tĂŞtes\n"
+" --raw utiliser le format de sortie brut\n"
+" --verbose sortie bavarde\n"
+" -h, --help afficher cette aide et quitter\n"
+" -V, --version afficher les informations de version et quitter\n"
+
+#: sys-utils/prlimit.c:169
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr ""
+"\n"
+"Options de ressources :\n"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+" -c, --core taille maximale de fichiers core créés\n"
+" -d, --data taille maximale d'un segment de données de "
+"processus\n"
+" -e, --nice priorité nice maximale permise\n"
+" -f, --fsize taille maximale de fichiers Ă©crits par le processus\n"
+" -i, --sigpending nombre maximal de signaux en attente\n"
+" -l, --memlock taille maximale qu'un processus peut verrouiller en "
+"mémoire\n"
+" -m, --rss taille de mémoire résidente maximale\n"
+" -n, --nofile nombre maximal de fichiers ouverts\n"
+" -q, --msgqueue nombre maximal d'octets dans les files de messages "
+"POSIX\n"
+" -r, --rtprio priorité maximale d'ordonnancement de tâches en "
+"temps réel\n"
+" -s, --stack taille de pile maximale\n"
+" -t, --cpu temps processeur maximal en secondes\n"
+" -u, --nproc nombre maximal de processus utilisateur\n"
+" -v, --as taille de mémoire virtuelle\n"
+" -x, --locks nombre maximal de verrous de fichier\n"
+" -y, --rttime temps processeur en microsecondes qu'un processus\n"
+" a prévu dans un ordonnancement en temps réel\n"
+
+#: sys-utils/prlimit.c:320
+#, c-format
+msgid "failed to get old %s limit"
+msgstr "échec d'obtention de l'ancienne limite %s"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr "la limite souple %s ne peut pas dépasser la limite absolue"
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr "Nouvelle limite %s :"
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr "sans limite"
+
+#: sys-utils/prlimit.c:365
+#, c-format
+msgid "failed to set the %s resource limit"
+msgstr "Ă©chec de configuration de la limite de ressource %s"
+
+#: sys-utils/prlimit.c:366
+#, c-format
+msgid "failed to get the %s resource limit"
+msgstr "Ă©chec d'obtention de la limite de ressource %s"
+
+#: sys-utils/prlimit.c:445
+#, c-format
+msgid "failed to parse %s limit"
+msgstr "impossible d'analyser la limite %s"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr "l'option --pid ne peut être indiquée qu'une seule fois"
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "les options --pid et <commande> s'excluent mutuellement"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr " -m, --mapfile <fic_carte> (par défaut : « %s » et\n"
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr " « %s »)\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr " -p, --profile <fic_prof> (par défaut : « %s »)\n"
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+" -M, --multiplier <mult> initialiser le multiplicateur de profilage Ă  "
+"<mult>\n"
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+" -i, --info n'afficher que les rens. du cycle "
+"d'Ă©chantillonnage\n"
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr " -v, --verbose afficher les données en mode bavard\n"
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+" -a, --all afficher tous symboles, mĂŞme si le compteur est Ă  "
+"0\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+" -b, --histbin afficher comptes de chaque intervalle "
+"d'histogramme\n"
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+" -s, --counters afficher les comptes individuels dans les "
+"fonctions\n"
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+" -r, --reset réinitialiser tous compteurs (superutilisateur "
+"seul)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+" -n, --no-auto désactiver l'autodétection d'ordre des octets\n"
+
+#: sys-utils/readprofile.c:237
+#, c-format
+msgid "error writing %s"
+msgstr "erreur d'Ă©criture de %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+"Ordre des octets supposé inversé. Utiliser -n pour forcer l'ordre natif."
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step : %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s(%i) : ligne de map erronée"
+
+#: sys-utils/readprofile.c:310
+#, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "impossible de repérer « _stext » dans %s"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr "adresse de profil hors limites. Mauvais fichier map ?"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+" %1$s [-n] <priorité> [-p] <PID> [<PID> ...]\n"
+" %1$s [-n] <priorité> -g <PGID> [<PGID> ...]\n"
+" %1$s [-n] <priorité> -u <utilisateur> [<utilisateur> ...]\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+" -g, --pgrp <PGID> interpréter comme identifiant de groupe de "
+"processus\n"
+" -h, --help afficher l'aide\n"
+" -n, --priority <priorité> configurer la valeur d'incrément nice\n"
+" -p, --pid <PID> interpréter comme identifiant de processus\n"
+" -u, --user <utilisateur> interpréter comme nom ou identifiant "
+"utilisateur\n"
+" -v, --version afficher la version\n"
+
+#: sys-utils/renice.c:70
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"Consultez renice(1) pour obtenir des renseignements complémentaires.\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "modification de priorité depuis %s\n"
+
+#: sys-utils/renice.c:139
+#, c-format
+msgid "unknown user %s"
+msgstr "utilisateur %s inconnu"
+
+#: sys-utils/renice.c:146
+#, c-format
+msgid "bad value %s"
+msgstr "valeur %s erronée"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr "identifiant de processus"
+
+#: sys-utils/renice.c:161
+msgid "user ID"
+msgstr "identifiant d'utilisateur"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr "identifiant de groupe de processus"
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "échec d'obtention de priorité pour %d (%s)"
+
+#: sys-utils/renice.c:172
+#, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "échec de configuration de priorité pour %d (%s)"
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d (%s) priorité précédente %d, nouvelle priorité %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+" -d, --device <périph.> choisir périph. d'horloge matérielle (rtc0|"
+"rtc1|...)\n"
+" -n, --dry-run tout faire, sauf la veille\n"
+" -l, --local l'horloge matérielle utilise une zone de temps "
+"locale\n"
+" -m, --mode <mode> standby|mem|... mode de mise en veille\n"
+" -s, --seconds <secondes> mise en veille d'une durée de <secondes>\n"
+" -t, --time <heure_t> configurer l'heure de sortie de veille\n"
+" -u, --utc l'horloge matérielle utilise la zone de temps UTC\n"
+" -v, --verbose mode bavard\n"
+
+#: sys-utils/rtcwake.c:156
+msgid "read rtc time failed"
+msgstr "échec de lecture de l'heure matérielle"
+
+#: sys-utils/rtcwake.c:161
+msgid "read system time failed"
+msgstr "échec de lecture de l'heure système"
+
+#: sys-utils/rtcwake.c:179
+msgid "convert rtc time failed"
+msgstr "échec de conversion de l'heure matérielle"
+
+#: sys-utils/rtcwake.c:239
+msgid "set rtc alarm failed"
+msgstr "échec de configuration d'alarme de l'horloge matérielle"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr "échec d'activation de l'alarme de l'horloge matérielle"
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr "échec de configuration d'alarme de réveil de l'horloge matérielle"
+
+#: sys-utils/rtcwake.c:351
+msgid "read rtc alarm failed"
+msgstr "échec de lecture de l'alarme de l'horloge matérielle"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr "alarme : arrêt\n"
+
+#: sys-utils/rtcwake.c:374
+msgid "convert time failed"
+msgstr "Ă©chec de conversion de l'heure"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr "alarme : déclenchement %s"
+
+#: sys-utils/rtcwake.c:438
+#, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "état de veille non reconnu « %s »"
+
+#: sys-utils/rtcwake.c:448
+msgid "invalid seconds argument"
+msgstr "argument de secondes incorrect"
+
+#: sys-utils/rtcwake.c:455
+msgid "invalid time argument"
+msgstr "argument d'heure incorrect"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s : on considère que l'horloge matérielle utilise l'échelle UTC…\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Heure UTC utilisée.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Heure locale utilisée.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr "vous devez fournir l'heure de réveil (consultez les options -t et -s)"
+
+#: sys-utils/rtcwake.c:508
+#, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s non activé pour les événements « wakeup » (réveil)"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "alarme %ld, heure_système %ld, heure_horloge %ld, secondes %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr "veille en « %s » non disponible"
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr "l'heure ne peut pas reculer vers %s"
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s : « wakeup » (réveil) avec %s à %s"
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s : « wakeup » (réveil) depuis « %s » avec %s à %s"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr "mode de veille : aucun ; sortie\n"
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr "mode de veille : éteint ; exécution de %s\n"
+
+#: sys-utils/rtcwake.c:578
+#, c-format
+msgid "unable to execute %s"
+msgstr "impossible d'exécuter %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr "mode de veille : en fonctionnement ; lecture d'horloge matérielle\n"
+
+#: sys-utils/rtcwake.c:592
+msgid "rtc read failed"
+msgstr "échec de lecture d'horloge matérielle"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr "mode de veille : désactivé ; désactivation de l'alarme\n"
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr "mode de veille : montré ; affichage d'information d'alarme\n"
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr "mode de veille : %s ; mise en veille du système\n"
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+"échec de désactivation de l'interruption gérant l'alarme de l'horloge "
+"matérielle"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Bascule sur %s.\n"
+
+#: sys-utils/setarch.c:94
+#, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr " %s%s [options] [programme [arguments du programme]]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -v, --verbose montrer les options qui seront activées\n"
+" -R, --addr-no-randomize rendre non aléatoire l'espace d'adressage virtuel\n"
+" -F, --fdpic-funcptrs faire pointer les pointeurs de fonctions sur les "
+"descripteurs\n"
+" -Z, --mmap-page-zero activer MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout modifier la méthode d'allocation de mémoire "
+"virtuelle\n"
+" -X, --read-implies-exec activer READ_IMPLIES_EXEC\n"
+" -B, --32bit activer ADDR_LIMIT_32BIT\n"
+" -I, --short-inode activer SHORT_INODE\n"
+" -S, --whole-seconds activer WHOLE_SECONDS\n"
+" -T, --sticky-timeouts activer STICKY_TIMEOUTS\n"
+" -3, --3gb limiter l'espace d'adressage utilisé à un maximum "
+"de 3 Go\n"
+" --4gb ignorée (pour compatibilité seulement)\n"
+" --uname-2.6 activer UNAME26\n"
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s\n"
+"Exécutez « %s --help » pour obtenir des renseignements complémentaires."
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+"Exécutez « %s --help » pour obtenir des renseignements complémentaires."
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s : architecture inconnue"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Pas assez d'arguments"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Échec de configuration d'architecture système à %s"
+
+#: sys-utils/setsid.c:28
+#, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr " %s [options] <programme> [arguments ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr " -c, --ctty définir le terminal de contrôle à celui actuel\n"
+
+#: sys-utils/setsid.c:79
+msgid "fork"
+msgstr "fork"
+
+#: sys-utils/setsid.c:90
+msgid "setsid failed"
+msgstr "Ă©chec de setsid"
+
+#: sys-utils/setsid.c:94
+msgid "failed to set the controlling terminal"
+msgstr "échec de définition du terminal de contrôle"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "Ă©chec de execvp"
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr "swapoff %s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "Vous n'ĂŞtes pas le superutilisateur."
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s : échec de swapoff"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr " %s [options] [<fichier_spécial>]\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all désactiver tous les espaces d'échange de /proc/"
+"swaps\n"
+" -v, --verbose mode bavard\n"
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Le paramètre <fichier_special> :\n"
+" -L <étiquette> étiquette du périphérique à utiliser\n"
+" -U <uuid> UUID du périphérique à utiliser\n"
+" LABEL=<étiquette> étiquette du périphérique à utiliser\n"
+" UUID=<uuid> UUID du périphérique à utiliser\n"
+" <périphérique> nom du périphérique à utiliser\n"
+" <fichier> nom du fichier Ă  utiliser\n"
+
+#: sys-utils/swapon.c:89
+msgid "device file or partition path"
+msgstr "fichier de périphérique ou chemin de partition"
+
+#: sys-utils/swapon.c:90
+msgid "type of the device"
+msgstr "type de périphérique"
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr "taille de la zone d'Ă©change"
+
+#: sys-utils/swapon.c:92
+msgid "bytes in use"
+msgstr "octets utilisés"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr "priorité d'espace d'échange"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr "%s\t\t\t\tType\t\tTaille\tUtilisé\tPriorité\n"
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr "Nom de fichier"
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s : réinitialisation de l'espace d'échange."
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "échec de la fonction « execv »"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s : échec de la fonction « lseek »"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s : échec d'écriture de signature"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+"%s : signature de l'espace d'échange trouvée : version %d, taille de page "
+"%d, ordre des octets %s"
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "différent"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "identique"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s : droits %04o non sûrs, %04o conseillées."
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+"%s : propriétaire %d de fichier non sûr, 0 (superutilisateur) conseillé."
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s : ignoré — semble avoir des trous."
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s : échec d'obtention de la taille"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s : échec de lecture d'en-tête d'espace d'échange"
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+"%s : taille de page : %d, taille d'espace d'échange : %llu, taille de "
+"périphérique : %llu"
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+"%s : dernière_page 0x%08llx plus grande que la taille actuelle de l'espace "
+"d'Ă©change"
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s : le format de la taille de page ne correspond pas."
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+"%s : la taille de page ne correspond pas avec le format d'espace d'échange "
+"(utilisez --fixpgsz pour la réinitialiser)."
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+"%s : données de mise en veille d'application détectées. Réécriture de la "
+"signature de l'espace d'Ă©change."
+
+#: sys-utils/swapon.c:555
+#, c-format
+msgid "swapon %s\n"
+msgstr "swapon %s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s : échec de swapon"
+
+#: sys-utils/swapon.c:607
+#, c-format
+msgid "failed to parse %s"
+msgstr "Ă©chec d'analyse de %s"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all activer tous les espaces d'Ă©change de /etc/fstab\n"
+" -d, --discard abandonner les pages libérées avant de les "
+"réutiliser\n"
+" -e, --ifexists passer silencieusement les périph. qui n'existent "
+"pas\n"
+" -f, --fixpgsz réinitialiser l'espace d'échange si nécessaire\n"
+" -p, --priority <prio> indiquer la priorité du périphérique d'échange\n"
+" -s, --summary afficher un résumé des périphériques d'échange "
+"utilisés\n"
+" --show[=<col.>] afficher un résumé dans un tableau définissable\n"
+" --noheadings ne pas afficher les en-tĂŞtes, Ă  utiliser avec --"
+"show\n"
+" --raw utiliser le format de sortie brut, utiliser avec --"
+"show\n"
+" --bytes afficher taille d'espace d'Ă©change en octet avec --"
+"show\n"
+" -v, --verbose mode bavard\n"
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Le paramètre <fichier_special> :\n"
+" -L <Ă©tiquette> synonyme de LABEL=<Ă©tiquette>\n"
+" -U <uuid> synonyme de UUID=<uuid>\n"
+" LABEL=<étiquette> indiquer le périphérique par étiquette de zone "
+"d'Ă©change\n"
+" UUID=<uuid> indiquer le périphérique par UUID de zone d'échange\n"
+" PARTLABEL=<label> indiquer le périphérique par étiquette de partition\n"
+" PARTUUID=<uuid> indiquer le périphérique par UUID de partition\n"
+" <périphérique> nom du périphérique à utiliser\n"
+" <fichier> nom du fichier Ă  utiliser\n"
+
+#: sys-utils/swapon.c:676
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr ""
+"\n"
+"Colonnes disponibles (pour --show) :\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "impossible de trouver le périphérique %s"
+
+#: sys-utils/switch_root.c:57
+msgid "failed to open directory"
+msgstr "échec d'ouverture du répertoire"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+msgid "stat failed"
+msgstr "Ă©chec de stat"
+
+#: sys-utils/switch_root.c:75
+msgid "failed to read directory"
+msgstr "échec de lecture du répertoire"
+
+#: sys-utils/switch_root.c:107
+#, c-format
+msgid "failed to unlink %s"
+msgstr "Ă©chec de retrait du lien %s"
+
+#: sys-utils/switch_root.c:144
+#, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "échec de montage de %s en déplacement sur %s"
+
+#: sys-utils/switch_root.c:146
+#, c-format
+msgid "forcing unmount of %s"
+msgstr "démontage forcé de %s"
+
+#: sys-utils/switch_root.c:152
+#, c-format
+msgid "failed to change directory to %s"
+msgstr "échec de changement de répertoire vers %s"
+
+#: sys-utils/switch_root.c:160
+#, c-format
+msgid "failed to mount moving %s to /"
+msgstr "échec de montage de %s en déplacement sur /"
+
+#: sys-utils/switch_root.c:166
+msgid "failed to change root"
+msgstr "échec du déplacement de racine"
+
+#: sys-utils/switch_root.c:185
+#, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr " %s [options] <nouvelle_racine> <init> <argument d'init>\n"
+
+#: sys-utils/switch_root.c:217
+msgid "failed. Sorry."
+msgstr "échec. Désolé."
+
+#: sys-utils/switch_root.c:220
+#, c-format
+msgid "cannot access %s"
+msgstr "impossible d'accéder à %s"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr " -i, --irq <numéro> indiquer l'IRQ du port parallèle\n"
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+" -t, --time <temps> temps d'attente du pilote en milliseconde\n"
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+" -c, --chars <caractères> nombre de caract. de sortie avant mise en "
+"veille\n"
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+" -w, --wait <attente> temps d'attente de cycle d'horloge en "
+"microseconde\n"
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr " -a, --abort <on|off> abandonner en cas d'erreur\n"
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+" -o, --check-status <on|off> vérifier l'état de l'imprimante avant "
+"d'imprimer\n"
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr " -C, --careful <on|off> vérifications d'état supplémentaires\n"
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr " -s, --status renvoyer l'Ă©tat de l'imprimante\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+" -T, --trust-irq <on|off> forcer le pilote Ă  faire confiance Ă  l'IRQ\n"
+
+#: sys-utils/tunelp.c:95
+msgid " -r, --reset reset the port\n"
+msgstr " -r, --reset réinitialiser le port\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr " -q, --print-irq <on|off> afficher les réglages d'IRQ actuels\n"
+
+#: sys-utils/tunelp.c:109
+msgid "bad value"
+msgstr "valeur erronée"
+
+#: sys-utils/tunelp.c:271
+#, c-format
+msgid "%s not an lp device"
+msgstr "%s n'est pas un périphérique d'impression lp"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "Erreur LPGETSTATUS"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "Ă©tat %s est %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", occupé"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", prĂŞt"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", manque de papier"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", en ligne"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", erreur"
+
+# disk-utils/mkswap.c:623
+#: sys-utils/tunelp.c:312
+msgid "ioctl failed"
+msgstr "Échec d'ioctl"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "Erreur LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s utilise IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s utilisant la scrutation\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <répertoire>\n"
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+" -a, --all démonter tous les systèmes de fichiers\n"
+" -c, --no-canonicalize ne pas canoniser les chemins\n"
+" -d, --detach-loop libérer aussi le périphérique boucle s'il est "
+"monté\n"
+" --fake répétition, sauter l'appel système umount(2)\n"
+" -f, --force forcer le démontage (dans le cas d'un montage NFS "
+"inaccessible)\n"
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+" -i, --internal-only ne pas appeler les auxiliaires umount.<type>\n"
+" -n, --no-mtab ne pas Ă©crire dans /etc/mtab\n"
+" -l, --lazy détacher le système de fichiers maintenant,\n"
+" et tout nettoyer plus tard\n"
+
+# NOTE: Spurious uppercase (In case)
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+" -O, --test-opts <liste> limiter l'ensemble de systèmes de fichiers "
+"(utiliser avec -a)\n"
+" -r, --read-only essayer de remonter en lecture seule en cas d'Ă©chec "
+"du démontage\n"
+" -t, --types <liste> limiter l'ensemble de types de système de fichiers\n"
+" -v, --verbose expliquer les actions en cours\n"
+
+#: sys-utils/umount.c:179
+#, c-format
+msgid "%s: umount failed"
+msgstr "%s : échec de démontage"
+
+# NOTE: maybe s/ mount/ umount/
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "%s : système de fichiers démonté, mais échec de mount(8)"
+
+#: sys-utils/umount.c:202
+#, c-format
+msgid "%s: invalid block device"
+msgstr "%s : périphérique bloc non valable"
+
+#: sys-utils/umount.c:208
+#, c-format
+msgid "%s: can't write superblock"
+msgstr "%s : impossible d'écrire sur le superbloc"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"%s : cible occupée.\n"
+" (Dans certains cas, des renseignements sur les processus utilisant\n"
+" le périphérique sont accessibles avec lsof(8) ou fuser(1))"
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr "%s : seul le superutilisateur peut utiliser umount"
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "%s : périphérique bloc non autorisé sur le système de fichiers"
+
+#: sys-utils/umount.c:272
+msgid "failed to set umount target"
+msgstr "échec de définition de la cible de démontage"
+
+#: sys-utils/unshare.c:60
+#, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr " %s [options] <programme> [arg ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+" -m, --mount unshare monte le nom d'espace\n"
+" -u, --uts unshare nom d'espace UTS (nom d'hĂ´te, etc.)\n"
+" -i, --ipc unshare nom d'espace IPC System V\n"
+" -n, --net unshare nom d'espace réseau\n"
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "Ă©chec de unshare"
+
+# NOTE: What does that mean?
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr "Activer le processeur jusqu'alors réinitialisé"
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr "Relais externe 1"
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr "Relais externe 2"
+
+#: sys-utils/wdctl.c:47
+msgid "Fan failed"
+msgstr "Échec du ventilateur"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr "RĂ©ponse de ping pour garder en vie"
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr "Prend en charge le caractère magique de fermeture"
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr "RĂ©initialisation Ă  cause de surchauffe du processeur"
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr "Puissance en surtension"
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr "Mauvaise puissance ou défaut de puissance"
+
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr "Préexpiration (en seconde)"
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr "DĂ©finir l'expiration (en seconde)"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr "nom d'indicateur"
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr "description d'indicateur"
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr "Ă©tat d'indicateur"
+
+#: sys-utils/wdctl.c:73
+msgid "flag boot status"
+msgstr "état de l'indicateur d'amorçage"
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr "nom du périphérique watchdog"
+
+#: sys-utils/wdctl.c:108
+#, c-format
+msgid "unknown flag: %s"
+msgstr "indicateur inconnu : %s"
+
+#: sys-utils/wdctl.c:145
+#, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr " %s [options] [<périphérique> ...]\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+" -f, --flags <liste> n'afficher que les indicateurs sélectionnés\n"
+" -F, --noflags ne pas afficher de renseignements sur les "
+"indicateurs\n"
+" -I, --noident ne pas afficher de renseignements sur identité "
+"watchdog\n"
+" -n, --noheadings ne pas afficher d'en-tĂŞte pour le tableau "
+"d'indicateurs\n"
+" -O, --oneline afficher tous les renseignements sur une ligne\n"
+" -o, --output <liste> afficher les colonnes des indicateurs\n"
+" -r, --raw utiliser le format brut pour le tableau "
+"d'indicateurs\n"
+" -T, --notimeouts ne pas afficher les temps d'expiration de watchdog\n"
+" -s, --settimeout <sec> définir le temps d'expiration de watchdog\n"
+" -x, --flags-only n'afficher que le tableau d'indicateurs (comme -I -"
+"T)\n"
+
+#: sys-utils/wdctl.c:165
+#, c-format
+msgid "The default device is %s.\n"
+msgstr "Le périphérique par défaut est %s.\n"
+
+#: sys-utils/wdctl.c:168
+msgid "Available columns:\n"
+msgstr "Colonnes disponibles :\n"
+
+#: sys-utils/wdctl.c:254
+#, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s : indicateur 0x%x inconnu\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr "%s : watchdog est déjà en cours d'utilisation, arrêt."
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s : échec du désarmement de watchdog"
+
+#: sys-utils/wdctl.c:307
+#, c-format
+msgid "cannot set timeout for %s"
+msgstr "impossible de définir la valeur d'expiration pour %s"
+
+#: sys-utils/wdctl.c:345
+#, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s : échec d'obtention de renseignements sur watchdog"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%-15s%2i secondes\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr "Expiration :"
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr "Préexpiration :"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr "Temps restant :"
+
+#: sys-utils/wdctl.c:564
+msgid "Device:"
+msgstr "Périphérique :"
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%-15s%s [version %x]\n"
+
+#: term-utils/agetty.c:435
+#, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s : impossible de modifier le répertoire racine %s : %m"
+
+#: term-utils/agetty.c:440
+#, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s : impossible de modifier le répertoire de travail %s : %m"
+
+#: term-utils/agetty.c:445
+#, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s : impossible de modifier la priorité : %m"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s : impossible d'exécuter %s : %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, c-format
+msgid "failed to allocate memory: %m"
+msgstr "échec d'allocation de tampon de mémoire : %m"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "valeur d'expiration de la minuterie erronée : %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "vitesse erronée : %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "trop de vitesses alternatives"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s : impossible d'ouvrir en tant qu'entrée standard : %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s : n'est pas périphérique caractère"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s : n'est pas ouvert en lecture/écriture"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s : problème avec dup : %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr "Verrouillage numérique désactivé"
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr "Verrouillage numérique activé"
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr "Verrouillage majuscules activé"
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr "Arrêt de défilement activé"
+
+#: term-utils/agetty.c:1287
+#, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr ""
+"Conseil : %s\n"
+"\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s : lu : %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s : dépassement du tampon d'entrée"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+"\n"
+"Utilisation:\n"
+" %1$s [options] ligne vitesse_de_connexion,... [typeterm]\n"
+" %1$s [options] vitesse_de_connexion,... ligne [typeterm]\n"
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -8, --8bits supposer que le terminal gère les caractères "
+"8 bits\n"
+" -a, --autologin <ident> connecter l'utilisateur indiqué automatiquement\n"
+" -c, --noreset ne pas réinitialiser le mode de contrôle\n"
+" -f, --issue-file <fichier> afficher le fichier issue\n"
+" -h, --flow-control activer le contrôle de flux matériel\n"
+" -H, --host <nom_d_hĂ´te> indiquer l'hĂ´te de connexion\n"
+" -i, --noissue ne pas afficher le fichier issue\n"
+" -I, --init-string <chaîne> définir la chaîne initiale\n"
+" -l, --login-program <fic.> indiquer le programme de connexion\n"
+" -L, --local-line forcer la ligne locale\n"
+" -m, --extract-baud extraire la vitesse pendant la connexion\n"
+" -n, --skip-login ne pas demander d'identifiant de connexion\n"
+" -o, --login-options <opts> options qui sont passées à la connexion\n"
+" -p, --loginpause attendre une touche avant la connexion\n"
+" -R, --hangup raccrocher virtuellement sur le terminal\n"
+" -s, --keep-baud essayer de garder la vitesse après une pause\n"
+" -t, --timeout <nombre> temps d'expiration du processus de connexion\n"
+" -U, --detect-case détecter les terminaux en majuscule\n"
+" -w, --wait-cr attendre un retour chariot\n"
+" --noclear ne pas effacer l'Ă©cran avant l'invite\n"
+" --nohints ne pas afficher de conseils\n"
+" --nonewline ne pas afficher de changement de ligne avant "
+"issue\n"
+" --no-hostname ne montrer aucun nom d'hĂ´te\n"
+" --long-hostname montrer le nom d'hôte complètement qualifié\n"
+" --version afficher les informations de version et quitter\n"
+" --help afficher cette aide et quitter\n"
+"\n"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "utilisateur"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "utilisateurs"
+
+#: term-utils/mesg.c:74
+#, c-format
+msgid " %s [options] [y | n]\n"
+msgstr " %s [options] [y|n]\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose expliquer les actions en cours\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher l'Ă©cran d'aide et quitter\n"
+"\n"
+
+#: term-utils/mesg.c:121
+msgid "ttyname failed"
+msgstr "Ă©chec de ttyname"
+
+#: term-utils/mesg.c:128
+msgid "is y"
+msgstr "est y"
+
+#: term-utils/mesg.c:131
+msgid "is n"
+msgstr "est n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, c-format
+msgid "change %s mode failed"
+msgstr "Ă©chec de modification du mode %s"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr "accès en écriture à votre terminal permis"
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr "accès en écriture à votre terminal refusé"
+
+#: term-utils/mesg.c:153
+#, c-format
+msgid "invalid argument: %s"
+msgstr "argument incorrect : %s"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"le fichier de sortie « %s » est un lien symbolique\n"
+"Utiliser --force si vous désirez réellement l'utiliser.\n"
+"Le programme n'a pas été démarré."
+
+#: term-utils/script.c:132
+#, c-format
+msgid " %s [options] [file]\n"
+msgstr " %s [options] [fichier]\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --append ajouter Ă  la sortie\n"
+" -c, --command <commande> exécuter commande plutôt qu'un interpréteur "
+"interactif\n"
+" -e, --return renvoyer le code de sortie du processus fils\n"
+" -f, --flush exécuter flush après chaque écriture\n"
+" --force utiliser le fichier de sortie mĂŞme si c'est un "
+"lien\n"
+" -q, --quiet mode silencieux\n"
+" -t, --timing[=<fichier>] afficher les données temporelles sur la sortie\n"
+" d'erreur standard (ou vers <fichier>)\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Le script a débuté, le fichier est %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Le script a débuté sur %s"
+
+#: term-utils/script.c:401
+msgid "cannot write script file"
+msgstr "impossible d'Ă©crire le fichier script"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script terminé sur %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script terminé, le fichier est %s\n"
+
+#: term-utils/script.c:513
+msgid "openpty failed"
+msgstr "Ă©chec de openpty"
+
+#: term-utils/script.c:549
+msgid "out of pty's"
+msgstr "manque de pty"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr "%s [-t] fichier_déroulement_temporel [script_enregistré] [diviseur]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -t, --timing <fic.> écrire le fichier de déroulement temporel en "
+"sortie\n"
+" -s, --typescript <fic.> Ă©crire le fichier de la session de terminal en "
+"sortie\n"
+" -d, --divisor <nombre> accélérer ou décélérer l'exécution avec un diviseur "
+"de temps\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "nombre attendu, mais « %s » obtenu"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "diviseur « %s »"
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "Ă©chec d'Ă©criture sur la sortie standard"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "fin de fichier inattendue sur %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "échec de lecture du fichier script enregistré %s"
+
+#: term-utils/scriptreplay.c:185
+msgid "wrong number of arguments"
+msgstr "mauvais nombre d'arguments"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "échec de lecture du fichier de déroulement temporel %s"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "fichier de déroulement temporel %s : %lu : format inattendu"
+
+#: term-utils/setterm.c:674
+msgid "Argument error."
+msgstr "Erreur d'argument."
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+" -term <nom_terminal>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NBRE_CONSOLES>\n"
+" -append <1-NBRE_CONSOLES>\n"
+" -file nomfichierdépôt\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq fréquence\n"
+" -version\n"
+" -help\n"
+
+#: term-utils/setterm.c:1072
+msgid "cannot force blank"
+msgstr "impossible d'activer le nettoyage automatique de l'Ă©cran"
+
+#: term-utils/setterm.c:1076
+msgid "cannot force unblank"
+msgstr "impossible de désactiver le nettoyage automatique de l'écran"
+
+#: term-utils/setterm.c:1082
+msgid "cannot get blank status"
+msgstr "impossible d'obtenir l'Ă©tat de nettoyage automatique de l'Ă©cran"
+
+#: term-utils/setterm.c:1094
+msgid "cannot (un)set powersave mode"
+msgstr "impossible de (dé)configurer le mode powersave"
+
+#: term-utils/setterm.c:1114
+#, c-format
+msgid "can not open dump file %s for output"
+msgstr "impossible d'ouvrir le fichier de dépôt %s en sortie"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+msgid "klogctl error"
+msgstr "erreur klogctl"
+
+#: term-utils/setterm.c:1205
+msgid "Error writing screendump"
+msgstr "Erreur lors de l'Ă©criture du screendump"
+
+#: term-utils/setterm.c:1212
+#, c-format
+msgid "Couldn't read %s"
+msgstr "Impossible de lire %s"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr "$TERM n'est pas défini."
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr "La base de donnée terminfo est introuvable"
+
+#: term-utils/setterm.c:1276
+#, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s : type de terminal inconnu"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr "le terminal est un terminal brut"
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "trop de iov (modifier le code de wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "ligne d'arguments excessivement longue"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "fork() impossible"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork : %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr "%s : erreur fatale, le message est beaucoup trop long"
+
+#: term-utils/wall.c:83
+#, c-format
+msgid " %s [options] [<file>]\n"
+msgstr " %s [options] [<fichier>]\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -n, --nobanner ne pas afficher de bannière, seulement pour le "
+"superutilisateur\n"
+" -t, --timeout <tempsex> Ă©crire le temps d'expiration en seconde\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr "seul le superutilisateur peut utiliser --nobanner"
+
+#: term-utils/wall.c:130
+#, c-format
+msgid "invalid timeout argument: %s"
+msgstr "argument d'expiration de la minuterie incorrect : %s"
+
+#: term-utils/wall.c:202
+msgid "cannot get passwd uid"
+msgstr "impossible d'obtenir l'identifiant utilisateur de passwd"
+
+#: term-utils/wall.c:207
+msgid "cannot get tty name"
+msgstr "impossible d'obtenir le nom du terminal"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Diffusion de message de %s@%s"
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr "ne lira pas %s — utiliser l'entrée standard."
+
+#: term-utils/wall.c:275
+msgid "fread failed"
+msgstr "Ă©chec de fread"
+
+#: term-utils/write.c:81
+#, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr " %s [options] <utilisateur> [<terminal>]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr "impossible de repérer le nom de votre terminal"
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr "vos droits d'écriture sont désactivées"
+
+#: term-utils/write.c:168
+#, c-format
+msgid "%s is not logged in on %s"
+msgstr "%s n'est pas connecté sur %s"
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr "%s a désactivé la réception de messages sur %s"
+
+#: term-utils/write.c:269
+#, c-format
+msgid "%s is not logged in"
+msgstr "%s n'est pas connecté"
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr "%s a désactivé la réception de messages"
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "%s est connecté plus d'une fois ; on écrit à %s"
+
+#: term-utils/write.c:326
+#, c-format
+msgid "tty path %s too long"
+msgstr "chemin de terminal %s trop long"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Message de %s@%s (comme %s) sur %s à %s…"
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Message de %s@%s sur %s à %s…"
+
+#: term-utils/write.c:372
+msgid "carefulputc failed"
+msgstr "Ă©chec de carefulputc"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -b, --no-backspaces pas d'affichage des retours arrière\n"
+" -f, --fine permettre d'avancer les flux d'une demie ligne\n"
+" -p, --pass passer les suites de contrĂ´le inconnues\n"
+" -h, --tabs convertir les espaces en tabulations\n"
+" -x, --spaces convertir les tabulations en espaces\n"
+" -l, --lines NOMBRE mettre en tampon au moins NOMBRE lignes\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -H, --help afficher cette aide et quitter\n"
+"\n"
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+"%s lit l'entrée standard et écrit sur la sortie standard\n"
+"\n"
+
+#: text-utils/col.c:144
+msgid "write error."
+msgstr "erreur d'Ă©criture."
+
+#: text-utils/col.c:199
+msgid "bad -l argument"
+msgstr "argument de -l erroné"
+
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr "avertissement : impossible de sauvegarder %s."
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "passé la première ligne"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- ligne déjà éliminée"
+
+#: text-utils/colcrt.c:314
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [options] [fichier ...]\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -, --no-underlining supprimer tous les soulignements\n"
+" -2, --half-lines afficher toutes les demi-lignes\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: text-utils/colrm.c:59
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [colonne_début [colonne_fin]]\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: text-utils/colrm.c:185
+msgid "first argument"
+msgstr "premier argument"
+
+#: text-utils/colrm.c:187
+msgid "second argument"
+msgstr "deuxième argument"
+
+#: text-utils/column.c:90
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"Utilisation : %s [options] [fichier ...]\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+" -h, --help affiche cette aide\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -c, --columns <largeur> largeur de l'affichage en nombre de caractères\n"
+" -t, --table création d'une table\n"
+" -s, --separator <chaîne> séparateur de table\n"
+" -x, --fillrows remplir les lignes avant les colonnes\n"
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"Consultez column(1) pour obtenir des renseignements complémentaires.\n"
+
+#: text-utils/column.c:150
+msgid "invalid columns argument"
+msgstr "argument de colonnes incorrect"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr "la ligne %d est trop longue, l'affichage sera tronqué"
+
+#: text-utils/display.c:262
+msgid "all input file arguments failed"
+msgstr "échec de tous les arguments de fichier d'entrée"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+"appeler hexdump en tant qu'od est obsolète. Veuillez utiliser od de GNU "
+"Coreutils."
+
+#: text-utils/hexsyntax.c:123
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [options] fichier ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -b affichage octal simple octet\n"
+" -c affichage de caractère simple octet\n"
+" -C affichage canonique hexadécimal et ASCII\n"
+" -d affichage décimal double octet\n"
+" -o affichage octal double octet\n"
+" -x affichage hexadécimal double octet\n"
+" -e format format de chaîne à utiliser pour afficher les données\n"
+" -f fich_format fichier contenant les chaînes de format\n"
+" -n longueur interpréter seulement longueur octets d'entrée\n"
+" -s index passer index octet depuis le début\n"
+" -v afficher sans contracter les lignes similaires\n"
+" -V afficher les informations de version et quitter\n"
+"\n"
+
+#: text-utils/more.c:300
+#, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Utilisation : %s [options] fichier ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+"Options :\n"
+" -d afficher l'aide au lieu d'Ă©mettre un bip\n"
+" -f comptage logique, plutĂ´t qu'un comptage des lignes Ă  l'Ă©cran\n"
+" -l supprimer la pause après un saut de page\n"
+" -p supprimer le défilement, effacer l'écran avant d'afficher le "
+"texte\n"
+" -c supprimer le défilement, afficher le texte et effacer fins de "
+"ligne\n"
+" -u supprimer le soulignement\n"
+" -s contracter plusieurs lignes vide en une seule\n"
+" -NOMBRE indiquer le nombre de lignes par Ă©cran complet\n"
+" +NOMBRE afficher le fichier à partir de la ligne numéro NOMBRE\n"
+" +/CHAÎNE afficher le fichier à partir de la chaîne recherchée "
+"correspondante\n"
+" -V afficher les informations de version et quitter\n"
+
+#: text-utils/more.c:540
+#, c-format
+msgid "more (%s)\n"
+msgstr "more (%s)\n"
+
+#: text-utils/more.c:544
+#, c-format
+msgid "unknown option -%s"
+msgstr "option -%s inconnue"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s : répertoire ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s : N'est pas un fichier texte ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Utiliser q ou Q pour quitter]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Plus--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Prochain fichier : %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr ""
+"[Appuyer sur la barre d'espacement pour continuer, « q » pour quitter.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "… reculé de %d pages"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "… reculé d'une page"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "… escamotage d'une ligne"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "… escamotage de %d lignes"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Arrière***\n"
+"\n"
+
+#: text-utils/more.c:1339
+msgid "No previous regular expression"
+msgstr "Pas d'expression rationnelle précédente"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"La plupart des commandes précédées optionnellement par un argument entier k. "
+"Par défaut entre crochets.\n"
+"L'étoile « * » indique que l'argument devient le nouveau défaut.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<espace> afficher les prochaines N lignes de texte\n"
+" [taille courante d'Ă©cran]\n"
+"z afficher les prochaines N lignes de texte\n"
+" [taille courante d'Ă©cran]*\n"
+"<entrée> afficher les prochaines N lignes de texte [1]*\n"
+"d uo ctrl-D défiler N lignes [taille courante de défilement, "
+"initialement 11]*\n"
+"q ou Q ou <interrupt> quitter more\n"
+"s escamoter vers l'avant N lignes de texte [1]\n"
+"f escamoter vers l'avant N Ă©crans pleins de texte "
+"[1]\n"
+"b ou ctrl-B escamoter vers l'arrière N écrans pleins de texte "
+"[1]\n"
+"' aller à l'endroit où la recherche précédente a "
+"débuté\n"
+"= afficher le numéro de la ligne courante\n"
+"/<expression régulière> chercher la N-ième occurence de l'expression "
+"régulière [1]\n"
+"n chercher la N-ième occurence de la dernière "
+"expression régulière [1]\n"
+"!<cmd> ou :!<cmd> exécuter <cmd> dans un sous interpréteur\n"
+"v lancer /usr/bin/vi Ă  la ligne courante\n"
+"ctrl-L réafficher l'écran\n"
+":n aller au N-ième prochain fichier [1]\n"
+":p aller au N-ième fichier précédant [1]\n"
+":f afficher le nom du fichier courant et le numéro de "
+"ligne\n"
+". répéter la commande précédente\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Appuyer sur « h » pour obtenir les instructions.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "« %s » ligne %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Pas un fichier] ligne %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " DĂ©bordement\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "… escamotage\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Motif introuvable\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Motif introuvable"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "Ă©chec de exec()\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "impossible d'Ă©tablir un relais fork()\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"… Escamotage en cours "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "… Escamotage vers le fichier "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "… Escamotage arrière vers le fichier "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Ligne trop longue"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Aucune commande précédente pour substitution"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "ligne trop longue"
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr "décompte d'octets erroné pour plusieurs caractères de conversion"
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "décompte d'octets erroné pour le caractère de conversion %s"
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "%%s nécessite une précision ou un décompte d'octets"
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr "format {%s} erroné"
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr "conversion erronée de caractères %%%s"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+"-------------------------------------------------------\n"
+" h cet Ă©cran d'aide\n"
+" q ou Q quitter\n"
+" <entrée> page suivante\n"
+" f sauter une page en avant\n"
+" d ou ^D demi page suivante\n"
+" l ligne suivante\n"
+" $ dernière page\n"
+" /regex/ chercher en avant l'expression regex\n"
+" ?regex? ou ^regex^ chercher en arrière l'expression regex\n"
+" . ou ^L rafraîchir l'écran\n"
+" w ou z configurer la taille de page et aller à dernière "
+"page\n"
+" s fichier sauver le fichier courant sous « fichier »\n"
+" !commande appeler d'interpréteur\n"
+" p aller au fichier précédent\n"
+" n aller au fichier suivant\n"
+"\n"
+"Plusieurs commandes acceptent des nombres avant elles, par exemple :\n"
+"+1<entrée> (page suivante) ; -1<entrée> (page précédente) ;\n"
+" 1<entrée> (première page).\n"
+"\n"
+"Consultez pg(1) pour obtenir plus de renseignements.\n"
+"-------------------------------------------------------\n"
+
+#: text-utils/pg.c:224
+#, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr " %s [options] [+ligne] [+/motif/] [fichiers]\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr " -nombre lignes par page\n"
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr " -c effacer l'Ă©cran avant d'afficher\n"
+
+#: text-utils/pg.c:229
+msgid " -e do not pause at end of a file\n"
+msgstr " -e ne pas s'arrĂŞter Ă  la fin du fichier\n"
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr " -f ne pas couper les lignes longues\n"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr " -n terminer la commande par entrée\n"
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr " -p <chaîne> indiquer l'invite\n"
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+" -r interdire les échappements de l'interpréteur de commande\n"
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr " -s afficher les messages sur la sortie standard\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr " +ligne commencer à la ligne donnée\n"
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr "+/motif/ commencer Ă  la ligne qui contient le motif\n"
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr " -h afficher cette aide et quitter\n"
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr " -V afficher les informations de version et quitter\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s : l'option nécessite un argument — %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s : option incorrecte — %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "… escamotage avant\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "… escamotage arrière\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Pas de prochain fichier"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Pas de fichier précédent"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s : erreur de lecture à partir du fichier %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s : EOF inattendue dans le fichier %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s : erreur inconnue dans le fichier %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s : impossible de créer le fichier temporaire\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "erreur RE : "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Pas de chaîne de recherche mémorisée"
+
+#: text-utils/pg.c:1313
+msgid "cannot open "
+msgstr "impossible d'ouvrir "
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "sauvegardé"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr " : !commande non autorisée en mode rflag.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "échec du fork(), réessayer plus tard.\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr "%s %s Copyright (c) 2000-2001 Gunnar Ritter. Tous droits réservés.\n"
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Prochain fichier : "
+
+#: text-utils/rev.c:77
+#, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Utilisation : %s [options] [fichier ...]\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"Consultez rev(1) pour obtenir des renseignements complémentaires.\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "écriture incomplète sur « %s » (%zd écrits, %zd attendus)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+"%s : impossible d'ajouter une surveillance inotify (la limite de "
+"surveillances inotify a été atteinte)."
+
+#: text-utils/tailf.c:198
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [option] [fichier ...]\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -n, --lines NOMBRE afficher les NOMBRE dernières lignes\n"
+" -NOMBRE identique à « -n NOMBRE »\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+msgid "failed to parse number of lines"
+msgstr "Ă©chec d'analyse du nombre de lignes"
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr "aucun fichier d'entrée indiqué"
+
+#: text-utils/ul.c:136
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" %s [options] [fichier ...]\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Options :\n"
+" -t, --terminal TERMINAL remplacer la variable d'environnement TERM\n"
+" -i, --indicated le soulignement est indiqué à l'aide d'une ligne "
+"séparée\n"
+" -V, --version afficher les informations de version et quitter\n"
+" -h, --help afficher cette aide et quitter\n"
+"\n"
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "problème à la lecture de terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr "terminal « %s » inconnu, utilisation de « dumb » par défaut"
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "séquence d'échappement inconnue en entrée : %o, %o"
+
+#: text-utils/ul.c:648
+msgid "Input line too long."
+msgstr "Ligne d'entrée trop longue."
+
+#~ msgid "cannot open file %s"
+#~ msgstr "impossible d'ouvrir le fichier %s"
+
+#~ msgid "cannot stat file %s"
+#~ msgstr "impossible d'obtenir l'Ă©tat du fichier %s"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "Utilisation : %s [-hv] [-x répertoire] fichier\n"
+#~ " -h afficher l'aide\n"
+#~ " -x répertoire extraire dans le répertoire\n"
+#~ " -v travailler en mode bavard\n"
+#~ " fichier fichier Ă  tester\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "échec d'ouverture : %s"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Utilisation : %s [-larvsmf] /dev/nom\n"
+
+#~ msgid "unable to open '%s': %m"
+#~ msgstr "impossible d'ouvrir « %s » : %m"
+
+#~ msgid "failed to open %s"
+#~ msgstr "échec d'ouverture de %s"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "impossible d'obtenir l'état du périphérique %s"
+
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "Ă©chec d'analyse de l'argument de taille de bloc"
+
+#~ msgid "cannot stat %s"
+#~ msgstr "impossible d'obtenir l'Ă©tat de %s"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s : échec d'ouverture"
+
+# disk-utils/mkswap.c:566
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "erreur : impossible de créer une zone d'échange sur « %s »"
+
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "Impossible d'ouvrir le périphérique brut maître « %s » (%s)\n"
+
+#~ msgid "%s: failed to open"
+#~ msgstr "%s : échec d'ouverture"
+
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Utilisation : %s [options] <périphérique>\n"
+#~ "\n"
+#~ "Options :\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez swaplabel(8) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Impossible d'ouvrir le fichier « %s »"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Il sera impossible d'Ă©crire la table de partitions.\n"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Ce disque a des nombres magiques Ă  la fois DOS et BSD.\n"
+#~ "Exécuter la commande « b » pour passer en mode BSD.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "La partition %i ne commence pas sur une frontière de cylindre :\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "devrait ĂŞtre (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "devrait ĂŞtre (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Le disque %s ne contient pas une table de partitions valable\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Impossible d'ouvrir %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Ce noyau trouve lui-même la taille des secteurs — option -b ignorée\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "mémoire épuisée ?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk : fin prématurée de l'entrée\n"
+
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "Attention : impossible d'ouvrir %s"
+
+#~ msgid "WARNING: bad format on line %d of %s"
+#~ msgstr "Attention : mauvais format à la ligne %d sur %s"
+
+#~ msgid ""
+#~ "WARNING: Your /etc/fstab does not contain the fsck passno\n"
+#~ "\tfield. I will kludge around things for you, but you\n"
+#~ "\tshould fix your /etc/fstab file as soon as you can.\n"
+#~ msgstr ""
+#~ "Attention : le fichier /etc/fstab ne contient pas le champ\n"
+#~ "\tfsck passno. La valeur va être extrapolée mais vous devriez\n"
+#~ "\tcorriger cela au plus tĂ´t dans le fichier /etc/fstab.\n"
+
+#~ msgid "couldn't open %s"
+#~ msgstr "impossible d'ouvrir %s"
+
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Impossible d'ouvrir le port /dev/port"
+
+#~ msgid "failed to parse epoch"
+#~ msgstr "Ă©chec d'analyse de l'Ă©poque"
+
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Vous avez indiqué plusieurs fonctions.\n"
+#~ "Vous ne pouvez en exécuter qu'une à la fois."
+
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "Les options --utc et --localtime s'excluent mutuellement. Vous avez "
+#~ "indiqué les deux."
+
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "Les options --adjust et --noadjfile s'excluent mutuellement. Vous avez "
+#~ "indiqué les deux."
+
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "Les options --adjfile et --noadjfile s'excluent mutuellement. Vous avez "
+#~ "indiqué les deux."
+
+#~ msgid "open() of %s failed"
+#~ msgstr "Échec de open() de %s"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Échec d'ouverture de %s"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Impossible d'ouvrir %s"
+
+#~ msgid "error: cannot open %s"
+#~ msgstr "erreur : impossible d'ouvrir %s"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "Échec d'ouverture de %s en lecture, fin d'exécution."
+
+#~ msgid "cannot lock group file"
+#~ msgstr "impossible de verrouiller le fichier de groupe"
+
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "le fichier %s est occupé (%s présent)"
+
+#~ msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+#~ msgstr "Utilisation : %s LABEL=<étiquette>|UUID=<uuid>\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez findmnt(1) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid "failed to parse timeout"
+#~ msgstr "Ă©chec d'analyse de l'expiration"
+
+#~ msgid "failed to parse sigval"
+#~ msgstr "Ă©chec d'analyse de sigval"
+
+#~ msgid "failed to parse port number"
+#~ msgstr "échec d'analyse du numéro de port"
+
+#~ msgid "port `%ld' out of range"
+#~ msgstr "port « %ld » hors limites."
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez lsblk(8) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid "Could not open %s"
+#~ msgstr "Impossible d'ouvrir %s"
+
+#~ msgid "could not stat '%s'"
+#~ msgstr "impossible d'obtenir l'état de « %s »"
+
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Valeur d'index « %s » indiquée non valable"
+
+#~ msgid "--offset and --all are mutually exclusive"
+#~ msgstr "--offset et --all s'excluent mutuellement"
+
+#~ msgid "only one device as argument is currently supported."
+#~ msgstr "un seul périphérique est actuellement pris en charge en argument."
+
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "avertissement : échec de lecture de mtab"
+
+#~ msgid "the options %s are mutually exclusive"
+#~ msgstr "les options %s s'excluent mutuellement"
+
+#~ msgid "failed to parse priority"
+#~ msgstr "échec d'analyse de priorité"
+
+#~ msgid "failed to parse class data"
+#~ msgstr "échec d'analyse des données de classe"
+
+#~ msgid "failed to parse class"
+#~ msgstr "Ă©chec d'analyse de classe"
+
+#~ msgid ""
+#~ "configure, deconfigure, disable, dispatch, enable and rescan are mutually "
+#~ "exclusive"
+#~ msgstr ""
+#~ "--configure, --deconfigure, --disable, --dispatch, --enable et --rescan "
+#~ "s'excluent mutuellement"
+
+#~ msgid "cannot stat: %s"
+#~ msgstr "impossible d'obtenir l'état : %s"
+
+#~ msgid ""
+#~ "clear, read-clear, console-level, console-on, and console-off options are "
+#~ "mutually exclusive"
+#~ msgstr ""
+#~ "les options --clear, --read-clear, --console-level, --console-on et --"
+#~ "console-off s'excluent mutuellement"
+
+#~ msgid "failed to parse buffer size"
+#~ msgstr "Ă©chec d'analyse de taille du tampon"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez fallocate(1) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s : échec de fstat"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez fstrim(8) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid "invalid speed"
+#~ msgstr "vitesse incorrecte"
+
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "index « %s » indiqué non valable"
+
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "taille « %s » indiquée non valable"
+
+#~ msgid "failed to setup loop device"
+#~ msgstr "échec de configuration du périphérique boucle"
+
+#~ msgid "extended and parsable formats are mutually exclusive"
+#~ msgstr "les formats Ă©tendu et analysable s'excluent mutuellement"
+
+#~ msgid "--all, --online and --offline options are mutually exclusive"
+#~ msgstr "les options --all, --online et --offline s'excluent mutuellement"
+
+#~ msgid "only one <source> may be specified"
+#~ msgstr "une seule <source> peut être indiquée"
+
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "Ă©chec d'allocation du tampon source"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez mountpoint(1) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid "only use one PID at a time"
+#~ msgstr "N'utiliser qu'un seul PID Ă  la fois"
+
+#~ msgid "cannot parse PID"
+#~ msgstr "impossible d'analyser le PID"
+
+#~ msgid "failed to parse seconds value"
+#~ msgstr "Ă©chec d'analyse de la valeur secondes"
+
+#~ msgid "failed to parse time_t value"
+#~ msgstr "Ă©chec d'analyse de la valeur heure_t"
+
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s : format de fichier inattendu"
+
+#~ msgid "'%s' is unsupported program name (must be 'swapon' or 'swapoff')."
+#~ msgstr ""
+#~ "« %s » est un nom de programme non pris en charge (doit être « swapon » "
+#~ "ou « swapoff »)."
+
+#~ msgid "failed to stat directory"
+#~ msgstr "échec d'obtention d'état du répertoire"
+
+#~ msgid "failed to stat directory %s"
+#~ msgstr "échec d'obtention d'état du répertoire %s"
+
+#~ msgid "stat %s failed"
+#~ msgstr "échec de stat %s"
+
+#~ msgid "cannot open timing file %s"
+#~ msgstr "impossible d'ouvrir le fichier de déroulement temporel %s"
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "impossible d'ouvrir le fichier de script enregistré %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez setterm(1) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid "argument %lu is too large"
+#~ msgstr "argument %lu trop grand"
+
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "Ă©chec d'environnement COLUMNS du terminal"
+
+#~ msgid "bad columns width value"
+#~ msgstr "mauvaise valeur de largeur de colonnes"
+
+#~ msgid "-%c positive integer expected as an argument"
+#~ msgstr "-%c entier positif attendu en argument"
+
+#~ msgid "bad length value"
+#~ msgstr "valeur de longueur erronée"
+
+#~ msgid "bad skip value"
+#~ msgstr "valeur de saut erronée"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s : Utilisation : %s [-numéro] [-p chaîne] [-cefnrs] [+ligne] [+/motif/] "
+#~ "[fichiers]\n"
+
+#~ msgid "Cannot open "
+#~ msgstr "Impossible d'ouvrir "
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "impossible d'ouvrir « %s » en lecture"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "impossible d'obtenir l'état de « %s »"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d détruire une partition BSD"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l lister les types de système de fichiers connus"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n ajouter une nouvelle partition BSD"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p afficher la table de partitions BSD"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr ""
+#~ " t modifier l'identifiant de système de fichiers d'une partition"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u changer les unités (cylindres/secteurs)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p afficher la table de partitions"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Création d'une nouvelle étiquette DOS avec id de disque 0x%08x.\n"
+#~ "Les modifications restent en mémoire jusqu'à ce que vous les écriviez.\n"
+#~ "Après quoi, bien sûr, le contenu précédent sera irrécupérable.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Le périphérique ne contient pas une table de partitions DOS ou Sun, SGI, "
+#~ "OSF valable\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Erreur interne\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tDésolé, il n'y a pas de menu pour experts pour les tables de partitions "
+#~ "SGI.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr ""
+#~ "Saviez-vous que vous avez un chevauchement de partitions sur le disque ?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Construction d'une nouvelle Ă©tiquette de disque SGI. Les modifications "
+#~ "vont rester\n"
+#~ "en mémoire jusqu'à ce que vous décidiez de les écrire. Par la suite\n"
+#~ "bien sûr, le contenu précédent sera perdu de façon définitivement.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "mémoire épuisée — abandon\n"
+
+#~ msgid "%-20s: failed: %s\n"
+#~ msgstr "%-20s : échec : %s\n"
+
+#~ msgid "%-20s: failed\n"
+#~ msgstr "%-20s : échec\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez mount(8) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login : peu de mémoire, login peut échouer\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "impossible d'exécuter malloc() pour ttyclass"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "impossible d'exécuter malloc() pour grplist"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Login sur %s de %s n'est pas permis par défaut.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Login sur %s de %s n'est pas permis.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Utilisation : %s [ -f nom-complet ] [ -o bureau ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "%s : échec de connexion PAM, fin d'exécution : %s"
+
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Utilisation : %1$s [-s interpréteur] [identifiant]\n"
+#~ " ou : %1$s (--list-shells | --help | --version)\n"
+
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s : on ne peut modifier que les entrées locales."
+
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr ""
+#~ "%s : impossible d'initialiser le contexte par défaut pour /etc/passwd"
+
+#~ msgid "setpwnam failed"
+#~ msgstr "Ă©chec de setpwnam"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s : utilisez l'option -l option pour voir la liste.\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Utiliser %s -l pour afficher la liste.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "Utilisation : login [-fp] [nom-d-utilisateur]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "mémoire épuisée"
+
+#~ msgid "Illegal username"
+#~ msgstr "Identifiant incorrect"
+
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "identifiant %s refusé sur ce terminal."
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "LOGIN %s REFUSÉ DE %s SUR TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "LOGIN %s REFUSÉ SUR TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "identifiant incorrect\n"
+
+#~ msgid "change terminal owner failed"
+#~ msgstr "échec de modification du propriétaire du terminal"
+
+# login-utils/login.c:1087too many bare linefeeds.\n"
+#~ msgid "failure forking"
+#~ msgstr "Ă©chec d'Ă©tablissement de relais par fork()"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s identifiant : "
+
+#~ msgid "NAME too long"
+#~ msgstr "NOM trop long"
+
+#~ msgid "login name much too long."
+#~ msgstr "identifiant de connexion trop long."
+
+#~ msgid "login names may not start with '-'."
+#~ msgstr "les identifiants ne peuvent commencer par « - »."
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "Nombre excessif de sauts de page (linefeeds)"
+
+#~ msgid "too many bare linefeeds."
+#~ msgstr "trop de sauts de page (linefeeds)."
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "Échec de connexion à partir de %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "Échec de connexion sur %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d Ă©checs de connexion Ă  partir de %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d Ă©checs de connexion sur %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s : le fichier de groupes est occupé.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s : impossible de déverrouiller %s : %s (vos modifications sont encore "
+#~ "dans %s)\n"
+
+#~ msgid "calloc failed"
+#~ msgstr "Ă©chec de calloc"
+
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "Attention : %s : semble contenir une table de partitions « %s »"
+
+#~ msgid "no magic string found at offset 0x%jx -- ignored"
+#~ msgstr "pas de chaîne magique trouvée à l'index 0x%jx — ignoré"
+
+#~ msgid "%s: write failed"
+#~ msgstr "%s : échec d'écriture"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s : le répertoire /dev n'existe pas."
+
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr ""
+#~ "loop : impossible de configurer la capacité du périphérique %s : %s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", index %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", type de chiffrement %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr ""
+#~ "loop : impossible d'obtenir les renseignements sur le périphérique %s : "
+#~ "%s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop : impossible d'ouvrir le périphérique %s : %s\n"
+
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s : pas le droit d'observer /dev/loop%s<N>"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s : impossible de trouver un périphérique boucle. Ce noyau ne\n"
+#~ " prend peut-être pas en charge les périphériques boucle\n"
+#~ " (si c'est le cas, recompiler ou utiliser « modprobe loop »)."
+
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Mémoire épuisée lors de la lecture de la phrase secrète"
+
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "avertissement : %s est déjà associé à %s\n"
+
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr ""
+#~ "avertissement : %s est protégé en écriture, monté en lecture seule.\n"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "échec de ioctl LOOP_SET_FD : %s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu,%llu) : succès\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s) : succès\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop : impossible de détruire le périphérique %s : %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Cette version de mount a été compilée sans prise en charge des "
+#~ "périphériques boucle. Vous devriez recompiler.\n"
+
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "périphérique boucle récupéré=%s… nouvel essai\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Pas de prise en charge des périphériques de boucle au moment de la "
+#~ "compilation. Vous devriez recompiler.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez partx(8) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Utilisation : %s [-q [-i intervalle]] ([-s valeur]|[-S valeur]) ([-t "
+#~ "valeur]|[-T valeur]) [-g|-G] fichier [fichier ...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Impossible d'ouvrir %s : %s\n"
+
+#~ msgid ""
+#~ " -s --shared Get a shared lock\n"
+#~ " -x --exclusive Get an exclusive lock\n"
+#~ " -u --unlock Remove a lock\n"
+#~ " -n --nonblock Fail rather than wait\n"
+#~ " -w --timeout Wait for a limited amount of time\n"
+#~ " -o --close Close file descriptor before running command\n"
+#~ " -c --command Run a single command string through the shell\n"
+#~ " -h --help Display this text\n"
+#~ " -V --version Display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ " -s --shared obtenir un verrou partagé\n"
+#~ " -x --exclusive obtenir un verrou exclusif\n"
+#~ " -u --unlock supprimer un verrou\n"
+#~ " -n --nonblock Ă©chouer au lieu de bloquer\n"
+#~ " -w --timeout attendre un temps maximal donné\n"
+#~ " -o --close fermer le fichier avant d'exécuter la commande\n"
+#~ " -c --command exécuter une seule commande via l'interpréteur\n"
+#~ " -h --help afficher ce texte\n"
+#~ " -V --version afficher la version\n"
+#~ "\n"
+
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s : impossible d'ouvrir le fichier verrouillé %s : %s\n"
+
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s : nombre non valable : %s\n"
+
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s : échec de fork : %s\n"
+
+#~ msgid ""
+#~ " -M <size> create shared memory segment of size <size>\n"
+#~ " -S <nsems> create semaphore array with <nsems> elements\n"
+#~ " -Q create message queue\n"
+#~ " -p <mode> permission for the resource (default is 0644)\n"
+#~ msgstr ""
+#~ " -M <taille> créer un segment de mémoire partagée de taille <taille>\n"
+#~ " -S <nsems> créer un tableau de sémaphores à <nsems> éléments\n"
+#~ " -Q créer une file de messages\n"
+#~ " -p <mode> permission de ressource (par défaut : 0644)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez ipcmk(1) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid "cannot remove id %s (%s)\n"
+#~ msgstr "impossible d'enlever l'identifiant %s (%s)\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "utilisation obsolète : %s {shm | msg | sem} identifiant ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "type de ressource inconnu : %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "Utilisation : %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "erreur inconnue dans la clé"
+
+#~ msgid "unknown error in id"
+#~ msgstr "erreur inconnue dans l'identificateur"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s : %s (%s)\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h for help\n"
+#~ msgstr ""
+#~ "Utilisation : %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i identifiant\n"
+#~ " %1$s -h pour l'aide\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [resource]... [output-format]\n"
+#~ " %1$s [resource] -i id\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Utilisation : %1$s [resource] ... [format-de-sortie]\n"
+#~ " %1$s [resource] -i identifiant\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Fournit des renseignements sur les services IPC pour lesquels vous avez "
+#~ "accès en lecture.\n"
+
+#~ msgid ""
+#~ "Resource options:\n"
+#~ " -m shared memory segments\n"
+#~ " -q message queues\n"
+#~ " -s semaphores\n"
+#~ " -a all (default)\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Options de ressource :\n"
+#~ " -m segments de mémoire partagée\n"
+#~ " -q files de messages\n"
+#~ " -s sémaphores\n"
+#~ " -a tout (par défaut)\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Output format:\n"
+#~ " -t time\n"
+#~ " -p pid\n"
+#~ " -c creator\n"
+#~ " -l limits\n"
+#~ " -u summary\n"
+#~ msgstr ""
+#~ "Format de sortie :\n"
+#~ " -t heure\n"
+#~ " -p PID\n"
+#~ " -c créateur\n"
+#~ " -l limites\n"
+#~ " -u résumé\n"
+
+#~ msgid ""
+#~ " %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> <device>\n"
+#~ msgstr ""
+#~ " %s [ -dhV78neo12 ] [ -s <vitesse> ] [ -i [-]<opt_i> ] <ldisque> "
+#~ "<périphérique>\n"
+
+#~ msgid "ldattach from %s\n"
+#~ msgstr "exécution de ldattach depuis %s\n"
+
+#~ msgid ""
+#~ " -h, --help print this help\n"
+#~ " -p, --parse <list> print out a parsable instead of a readable format\n"
+#~ " -s, --sysroot <dir> use directory DIR as system root\n"
+#~ " -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+#~ "\n"
+#~ msgstr ""
+#~ " -h, --help afficher cette aide\n"
+#~ " -p, --parse <liste> afficher un format analysable plutĂ´t qu'affichable\n"
+#~ " -s, --sysroot <rép> utiliser le répertoire <rép> comme racine du "
+#~ "système\n"
+#~ " -x, --hex afficher les masques hexadécimaux plutôt que les "
+#~ "listes de processeurs\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s : Utilisation : \"%s [options]\n"
+#~ "\t -m <fichier_carte> (« %s » et\n"
+#~ "\t\t\t\t « %s » par défaut)\n"
+#~ "\t -p <fichier_profil> (« %s » par défaut)\n"
+#~ "\t -M <multiplicateur> initialiser le <multiplicateur> de profilage\n"
+#~ "\t -i afficher seulement les informations Ă  propos du "
+#~ "cycle d'Ă©chantillonnage\n"
+#~ "\t -v afficher en mode bavard les données\n"
+#~ "\t -a afficher tous les symboles, mĂŞme si le compte est "
+#~ "Ă  0\n"
+#~ "\t -b afficher les compteurs de chaque intervalles de "
+#~ "l'histogramme\n"
+#~ "\t -s afficher les compteurs individuels de chaque "
+#~ "fonctions\n"
+#~ "\t -r réinitialiser tous les compteurs (seulement le "
+#~ "superutilisateur)\n"
+#~ "\t -n désactiver l'autodétection de l'ordre des octets\n"
+#~ "\t -V afficher la version et quitter\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile : erreur d'écriture %s : %s\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez rtcwake(8) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez setarch(8) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s : %s\n"
+#~ "Exécutez « %s --help » pour plus de renseignements.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "Utilisation : %s program [arg ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Utilisation : %s <pĂ©riphĂ©rique> [ -i <IRQ> | -t <TEMPS> | -c <CARACTĂRES> "
+#~ "| -w <ATTENTE | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s : valeur erronée\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Consultez unshare(1) pour obtenir des renseignements complémentaires.\n"
+
+#~ msgid " %s -V\n"
+#~ msgstr " %s -V\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [périphériques]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] commandes périphériques\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Commandes disponibles :\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s : impossible d'ouvrir %s\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "erreur d'analyse\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "Utilisation : %s [ -n ] périphérique\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s : n'est pas un périphérique bloc\n"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s : erreur d'analyse syntaxique d'une option\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Utilisation : %s [-x] [-d <num>] image-iso9660\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Utilisation : %s [-v] [-N nb-inodes] [-V nom-du-volume]\n"
+#~ " [-F nom-système-de-fichiers] périphérique [taille-en-"
+#~ "blocs]\n"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "impossible de trouver la taille d'un secteur pour %s"
+
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s : échec de « calloc() » : %s\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Utilisation : %s [-c] [-pPAGESZ] [-L étiquette] [-U UUID] /dev/nom "
+#~ "[blocs]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Mémoire épuisée"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "Utilisation :\n"
+#~ " %s "
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menu sans direction. Horizontal par défaut."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Vous devez détruire une partition et ajouter une partition étendue "
+#~ "d'abord\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Commande d'action\n"
+#~ " %s\n"
+#~ " p partition primaire (1-4)\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr ""
+#~ "Désolé, vous devriez modifier l'étiquette des partitions non vides.\n"
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Avertissement : partitions %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "et %s se chevauchent\n"
+
+#~ msgid "device: something like /dev/hda or /dev/sda"
+#~ msgstr "périphérique : quelque chose comme /dev/hda ou /dev/sda"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [ou --show-size] : afficher la taille d'une partition"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr ""
+#~ " -c [ou --id] : afficher ou modifier l'identifiant de partition"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr ""
+#~ " -l [ou --list] : afficher les partitions de chaque périphérique"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [ou --dump] : identique, mais dans un format permettant une "
+#~ "saisie ultérieure"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [ou --increment] : nombre de cylindres, etc. de 1 au lieu de 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM : accepter ou afficher en unités de secteurs/"
+#~ "blocs/cylindres/Mo"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [ou --list-types] : afficher les types de partitions connus"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [ou --DOS] : pour compatibilité DOS : perte d'un peu "
+#~ "d'espace"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [ou --re-read] : forcer le noyau à relire la table de partitions"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -Nn : ne modifier que la partition de numéro n"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O fichier : sauvegarder les secteurs qui seront écrasés "
+#~ "dans le fichier"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I fichier : restaurer ces secteurs à nouveau"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [ou --version] : afficher la version"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [ou --help] : afficher l'aide mémoire"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [ou --show-geometry] : afficher les données de géométrie\n"
+#~ " du point de vue du noyau"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [ou --Linux] : ne pas afficher de message qui ne "
+#~ "concerne pas Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr ""
+#~ " -q [ou --quiet] : supprimer tous les messages "
+#~ "d'avertissement"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Vous pouvez passer outre la géométrie détectée en utilisant :"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr ""
+#~ " -C# [ou --cylinders #] : configurer le nombre de cylindres à utiliser"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr ""
+#~ " -H# [ou --heads #] : configurer le nombre de têtes à utiliser"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr ""
+#~ " -S# [ou --sectors #] : configurer le nombre de secteurs à utiliser"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Vous pouvez désactiver toutes les vérifications de cohérence avec :"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [ou --force] : exécuter aveuglément la commande donnée"
+
+#~ msgid "success"
+#~ msgstr "succès"
+
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr ""
+#~ "Impossible d'allouer la mémoire pour les types de systèmes de fichiers\n"
+
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Utilisation : fsck [-AMNPRTV] [ -C [ fd ] ] [-t type_sys_fic] "
+#~ "[options_sys_fic] [sys_fic ...]\n"
+
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Impossible d'ouvrir %s : %s\n"
+
+#~ msgid "fsck from %s\n"
+#~ msgstr "fsck de %s\n"
+
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "%s : impossible d'allouer la mémoire pour fsck_path\n"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Essayer « getopt --help » pour plus d'informations.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Utilisation : getopt chaîne-d-options paramètres\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [options] [--] paramètres de la chaîne d'option\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " paramètres\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (amélioré) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Attendu : « UTC », « LOCAL » ou rien.)\n"
+
+# hwclock/hwclock.c:1108
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - interroger et configurer l'horloge matérielle RTC\n"
+#~ "\n"
+#~ "Utilisation : hwclock [fonction] [options...]\n"
+#~ "\n"
+#~ "Fonctions :\n"
+#~ " -h | --help afficher cette aide\n"
+#~ " -r | --show lire l'horloge matérielle et afficher les résultats\n"
+#~ " --set régler l'horloge RTC à l'heure indiquée par --date\n"
+#~ " -s | --hctosys régler l'heure système à partir de l'horloge "
+#~ "matérielle\n"
+#~ " -w | --systohc régler l'horloge matérielle à l'heure actuelle du "
+#~ "système\n"
+#~ " --systz régler l'heure système sur la zone de temps "
+#~ "actuelle\n"
+#~ " --adjust ajuster l'horloge RTC en tenant compte de la dérive\n"
+#~ " systématique depuis le dernier réglage\n"
+#~ " --getepoch afficher la valeur « epoch » du noyau pour l'horloge "
+#~ "matérielle\n"
+#~ " --setepoch configurer la valeur « epoch » du noyau pour "
+#~ "l'horloge\n"
+#~ " matérielle à la valeur donnée par --epoch\n"
+#~ " --predict prédire la lecture d'horloge RTC à l'heure donnée "
+#~ "par --date\n"
+#~ " -v | --version afficher le numéro de version de hwclock\n"
+#~ "\n"
+#~ "Options :\n"
+#~ " -u | --utc l'horloge matérielle est conservée au format "
+#~ "universel UTC\n"
+#~ " --localtime l'horloge matérielle est conservée au format "
+#~ "local\n"
+#~ " -f | --rtc=chemin utiliser le périphérique spécial /dev/... au lieu "
+#~ "du défaut\n"
+#~ " --directisa accéder au bus ISA directement au lieu de %s\n"
+#~ " --badyear ignorer l'année donnée par la RTC (bios mal "
+#~ "réglé)\n"
+#~ " --date indiquer l'heure pour régler l'horloge "
+#~ "matérielle\n"
+#~ " --epoch=année indiquer l'année correspondant à la valeur \n"
+#~ " de départ « epoch » de l'horloge matérielle\n"
+#~ " --noadjfile ne pas accéder à /etc/adjtime. Exige "
+#~ "l'utilisation\n"
+#~ " de --utc ou bien --localtime\n"
+#~ " --adjfile=chemin indiquer le chemin du fichier de réglage\n"
+#~ " (par défaut /etc/adjtime)\n"
+#~ " --test exécuter le tout sans modifier l'horloge "
+#~ "matérielle ou\n"
+#~ " autre\n"
+#~ " -D | --debug mode débogage\n"
+#~ "\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "impossible d'exécuter malloc() pour la chaîne d'initialisation"
+
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Utilisation : %s [-8hiLmsUw] [-l programme_login] [-t expiration] [-I "
+#~ "chaîne_init] [-H hôte_login] vitesse_bauds, ... ligne [type_terminal]\n"
+#~ "or\t[-hiLmw] [-l programme_login] [-t expiration] [-I chaîne_init] [-H "
+#~ "hĂ´te_login] ligne vitesse_bauds, ... [type_terminal]\n"
+
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "Utilisation : %s [y | n]"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s : erreur sérieuse"
+
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "Utilisation : %s [-n] [fichier]\n"
+
+#~ msgid "can't read: %s"
+#~ msgstr "impossible de lire : %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " -s, --fstab search in static table of filesystems\n"
+#~ " -m, --mtab search in table of mounted filesystems\n"
+#~ " -k, --kernel search in kernel table of mounted \n"
+#~ " filesystems (default)\n"
+#~ "\n"
+#~ " -c, --canonicalize canonicalize printed paths\n"
+#~ " -d, --direction <word> search direction - 'forward' or 'backward'\n"
+#~ " -e, --evaluate print all TAGs (LABEL/UUID) evaluated\n"
+#~ " -f, --first-only print the first found filesystem only\n"
+#~ " -h, --help print this help\n"
+#~ " -i, --invert invert sense of matching\n"
+#~ " -l, --list use list format output\n"
+#~ " -n, --noheadings don't print headings\n"
+#~ " -u, --notruncate don't truncate text in columns\n"
+#~ " -O, --options <list> limit the set of filesystems by mount options\n"
+#~ " -o, --output <list> output columns\n"
+#~ " -r, --raw use raw format output\n"
+#~ " -a, --ascii use ascii chars for tree formatting\n"
+#~ " -t, --types <list> limit the set of filesystem by FS types\n"
+#~ " -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+#~ " -R, --submounts print all submount for the matching filesystems\n"
+#~ " -S, --source <string> device, LABEL= or UUID=device\n"
+#~ " -T, --target <string> mountpoint\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Options :\n"
+#~ " -s, --fstab rechercher dans la table statique des systèmes de "
+#~ "fichiers\n"
+#~ " -m, --mtab rechercher dans la table des systèmes de fichiers "
+#~ "montés\n"
+#~ " -k, --kernel rechercher dans la table du noyau des systèmes de "
+#~ "fichiers\n"
+#~ " montés (par défaut)\n"
+#~ "\n"
+#~ " -c, --canonicalize affichage des chemins canoniques\n"
+#~ " -d, --direction <mot> direction de recherche - « forward » ou "
+#~ "« backward »\n"
+#~ " -e, --evaluate afficher tous les TAG (LABEL/UUID) évalués\n"
+#~ " -f, --first-only n'afficher que le premier système de fichiers "
+#~ "trouvé\n"
+#~ " -h, --help afficher cette aide\n"
+#~ " -i, --invert inverser le sens de correspondance\n"
+#~ " -l, --list utiliser le format de sortie en liste\n"
+#~ " -n, --noheadings ne pas afficher les en-tĂŞtes\n"
+#~ " -u, --notruncate ne pas tronquer le texte en colonnes\n"
+#~ " -O, --options <liste> limiter le jeu de systèmes de fichiers par "
+#~ "options de montage\n"
+#~ " -o, --output <liste> colonnes de sortie\n"
+#~ " -r, --raw utiliser le format de sortie brut\n"
+#~ " -a, --ascii utiliser des caractères ASCII pour le formatage "
+#~ "de l'arbre\n"
+#~ " -t, --types <liste> limiter le jeu de systèmes de fichiers par types\n"
+#~ " -v, --nofsroot ne pas afficher [/dir] pour les montages bind ou "
+#~ "Btrfs\n"
+#~ " -R, --submounts afficher tous les sous-montages des systèmes de "
+#~ "fichiers correspondants\n"
+#~ " -S, --source <chaîne> périphérique, LABEL= ou UUID=périphérique\n"
+#~ " -T, --target <chaîne> point de montage\n"
+#~ "\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger : %s : %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "Utilisation : logger [-is] [-f fichier] [-p priorité] [-t étiquette] [-u "
+#~ "socket] [ message ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "Utilisation : look [-dfa] [-t caractère] chaîne [fichier]\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "mémoire épuisée ?"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "call : %s vers les fichiers…\n"
+
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "Utilisation : script [-a] [-e] [-f] [-q] [-t] [fichier]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s : erreur d'écriture %d : %s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s : erreur d'écriture : %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term nom-de-terminal ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60|force|poke] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-NR_CONSOLES] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-NR_CONSOLES] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq nombre-de-la-fréquence ]\n"
+
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "Utilisation : %s [-d] [-p fichierpid] [-s cheminsocket] [-T timeout]\n"
+
+#~ msgid " %s [-r|t] [-n num] [-s socketpath]\n"
+#~ msgstr " %s [-r|t] [-n num] [-s socketpath]\n"
+
+#~ msgid " %s -k\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Utilisation : %s [-r] [-t]\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM répertoire ... -f ] nom...\n"
+
+#~ msgid "%zd bytes ["
+#~ msgstr "%zd octets ["
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "Utilisation : write identifiant [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount : impossible d'ouvrir %s : %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-d] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Utilisation : (« swap » : espace d'échange)\n"
+#~ " %1$s -a [-e] [-v] [-f] active tous les swaps de /etc/fstab\n"
+#~ " %1$s [-p priorité] [-d] [-v] [-f] <special> active le swap "
+#~ "donné\n"
+#~ " %1$s -s affiche le résumé d'utilisation du "
+#~ "swap\n"
+#~ " %1$s -h affiche l'aide\n"
+#~ " %1$s -V affiche la version\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Utilisation : (« swap » : espace d'échange)\n"
+#~ " %1$s -a [-v] désactive tous les swaps\n"
+#~ " %1$s [-v] <special> désactive le swap donné\n"
+#~ " %1$s -h affiche l'aide\n"
+#~ " %1$s -V affiche la version\n"
+#~ "\n"
+
+#~ msgid "unknown\n"
+#~ msgstr "inconnu\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "ionice - sets or gets process io scheduling class and priority.\n"
+#~ "\n"
+#~ "Usage:\n"
+#~ " ionice [ options ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ options ] <command> [<arg> ...]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -n <classdata> class data (0-7, lower being higher prio)\n"
+#~ " -c <class> scheduling class\n"
+#~ " 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+#~ " -t ignore failures\n"
+#~ " -h this help\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ionice - configurer ou obtenir la priorité et la classe de planification "
+#~ "d'exécution\n"
+#~ "\n"
+#~ "Utilisation :\n"
+#~ " ionice [ options ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ options ] <commande> [<arg> ...]\n"
+#~ "\n"
+#~ "Options :\n"
+#~ " -n <classe> classe (0-7, plus petit pour une priorité plus "
+#~ "grande)\n"
+#~ " -c <classe> classe d'exécution\n"
+#~ " 0 : aucune, 1 : temps réel, 2 : meilleur effort, 3 : "
+#~ "veille\n"
+#~ " -t ignorer les Ă©checs\n"
+#~ " -h cette aide\n"
+#~ "\n"
+
+#~ msgid "CPU mask"
+#~ msgstr "masque de microprocesseur"
+
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " -a, --all mount all filesystems mentioned in fstab\n"
+#~ " -f, --fake dry run, skip mount(2) syscall\n"
+#~ " -F, --fork fork off for each device (use with -a)\n"
+#~ " -h, --help this help\n"
+#~ " -n, --no-mtab don't write to /etc/mtab\n"
+#~ " -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+#~ " -v, --verbose verbose mode\n"
+#~ " -V, --version print version string\n"
+#~ " -w, --read-write mount the filesystem read-write (default)\n"
+#~ " -o, --options <list> comma separated string of mount options\n"
+#~ " -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+#~ " -t, --types <list> indicate the filesystem type\n"
+#~ " -c, --no-canonicalize don't canonicalize paths\n"
+#~ " -i, --internal-only don't call the mount.<type> helpers\n"
+#~ " -l, --show-labels lists all mounts with LABELs\n"
+#~ "\n"
+#~ "Source:\n"
+#~ " -L, --label <label> synonym for LABEL=<label>\n"
+#~ " -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+#~ " LABEL=<label> specifies device by filesystem label\n"
+#~ " UUID=<uuid> specifies device by filesystem UUID\n"
+#~ " <device> specifies device by path\n"
+#~ " <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+#~ " <file> regular file for loopdev setup\n"
+#~ "\n"
+#~ "Operations:\n"
+#~ " -B, --bind mount a subtree somewhere else (same as -o "
+#~ "bind)\n"
+#~ " -M, --move move a subtree to some other place\n"
+#~ " -R, --rbind mount a subtree and all submounts somewhere "
+#~ "else\n"
+#~ " --make-shared mark a subtree as shared\n"
+#~ " --make-slave mark a subtree as slave\n"
+#~ " --make-private mark a subtree as private\n"
+#~ " --make-unbindable mark a subtree as unbindable\n"
+#~ " --make-rshared recursively mark a whole subtree as shared\n"
+#~ " --make-rslave recursively mark a whole subtree as slave\n"
+#~ " --make-rprivate recursively mark a whole subtree as private\n"
+#~ " --make-runbindable recursively mark a whole subtree as unbindable\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Options :\n"
+#~ " -a, --all monter tous les systèmes de fichiers indiqués "
+#~ "dans fstab\n"
+#~ " -f, --fake répétition, sauter l'appel système mount(2)\n"
+#~ " -F, --fork bifurquer pour chaque périphérique (utiliser "
+#~ "avec -a)\n"
+#~ " -h, --help cette aide\n"
+#~ " -n, --no-mtab ne pas Ă©crire dans /etc/mtab\n"
+#~ " -r, --read-only monter le système de fichiers en lecture seule "
+#~ "(comme -o ro)\n"
+#~ " -v, --verbose mode bavard\n"
+#~ " -V, --version afficher la version\n"
+#~ " -w, --read-write monter le système de fichiers en lecture/"
+#~ "écriture (par défaut)\n"
+#~ " -o, --options <liste> chaîne séparée par des virgules d'options de "
+#~ "montage\n"
+#~ " -O, --test-opts <liste> limiter le jeu de systèmes de fichiers (utiliser "
+#~ "avec -a)\n"
+#~ " -t, --types <liste> indiquer le type de système de fichiers\n"
+#~ " -c, --no-canonicalize ne pas canoniser les chemins\n"
+#~ " -i, --internal-only ne pas appeler les assistants mount.<type>\n"
+#~ " -l, --show-labels afficher la liste de tous les montages avec les "
+#~ "Ă©tiquettes\n"
+#~ "\n"
+#~ "Source :\n"
+#~ " -L, --label <Ă©tiquette> synonyme de LABEL=<Ă©tiquette>\n"
+#~ " -U, --uuid <uuid> synonyme de UUID=<uuid>\n"
+#~ " LABEL=<étiquette> indiquer le périphérique par étiquette de "
+#~ "système de fichiers\n"
+#~ " UUID=<uuid> indiquer le périphérique par UUID de système de "
+#~ "fichiers\n"
+#~ " <périphérique> indiquer le périphérique par chemin\n"
+#~ " <répertoire> point de montage pour remontages (consultez --"
+#~ "bind/rbind)\n"
+#~ " <fichier> fichier régulier pour configuration de "
+#~ "périphérique boucle\n"
+#~ "\n"
+#~ "Opérations :\n"
+#~ " -B, --bind monter un sous-répertoire ailleurs (comme -o "
+#~ "bind)\n"
+#~ " -M, --move déplacer un sous-répertoire ailleurs\n"
+#~ " -R, --rbind monter un sous-répertoire et tous les sous-"
+#~ "montages ailleurs\n"
+#~ " --make-shared marquer un sous-répertoire comme partagé\n"
+#~ " --make-slave marquer un sous-répertoire comme esclave\n"
+#~ " --make-private marquer un sous-répertoire comme privé\n"
+#~ " --make-unbindable marquer un sous-répertoire comme non remontable\n"
+#~ " --make-rshared marquer récursivement un sous-répertoire complet "
+#~ "comme partagé\n"
+#~ " --make-rslave marquer récursivement un sous-répertoire complet "
+#~ "comme esclave\n"
+#~ " --make-rprivate marquer récursivement un sous-répertoire complet "
+#~ "comme privé\n"
+#~ " --make-runbindable marquer récursivement un sous-répertoire complet "
+#~ "comme non remontable\n"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Utilisation : shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Processus d'arrêt avorté"
+
+#~ msgid "only root can shut a system down."
+#~ msgstr "seul le superutilisateur peut arrêter un système."
+
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "ce doit être demain, ne pouvez-vous pas attendre jusque là ?"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "pour l'entretien ; rebondit, rebondit (« bounce »)"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Le système sera arrête d'ici 5 minutes"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Les connexions sont par conséquent interdites."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "réamorçé par %s : %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "stoppé par %s : %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Pourquoi suis-je encore actif après un réamorçage ?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Maintenant vous pouvez éteindre l'alimentation électrique…"
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Appel du service de coupure de courant électrique du noyau…\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Erreur lors de la coupure de courant\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Exécution du programme « %s »…\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Erreur d'exécution\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "URGENT : diffusion de message de la part de %s :"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Le système sera arrêté dans %d heures %d minutes"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Le système sera arrêté dans 1 heure %d minutes"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Le système sera arrêté dans %d minutes\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Le système sera arrêté dans 1 minute\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Le système sera arrêté IMMÉDIATEMENT !\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t… %s…\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Ne peut Ă©tablir un relais pour swapoff."
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "Ne peut exécuter swapoff, en espérant que umount fera le travail."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Ne peut Ă©tablir un relais fork() pour umount, essayer manuellement."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Ne peut exécuter %s, on tente un umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Ne peut exécuter un umount, abandon sur le umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Démonter tous les systèmes de fichiers restants…"
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "arrêt système : ne peut démonter %s : %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Amorçage en mode utilisateur unique.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr ""
+#~ "échec d'exécution de l'interpréteur de commande en mode utilisateur "
+#~ "unique\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr ""
+#~ "échec du fork() du l'interpréteur de commande en mode utilisateur unique\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "erreur d'ouverture d'un fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "erreur d'initialisaton close-on-exec sur /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "erreur d'exécution de finalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "erreur de fork() de finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Mot de passe erroné.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "Ă©chec d'Ă©valuation par lstat() du chemin\n"
+
+#~ msgid "stat of path failed\n"
+#~ msgstr "Ă©chec d'Ă©valuation par stat du chemin\n"
+
+#~ msgid "respawning: \"%s\" too fast: quenching entry\n"
+#~ msgstr "régénération : « %s » trop rapide : extinction de l'entrée\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "Ă©chec de fork()\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "ne peut ouvrir inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "pas de TERM ou ne peut Ă©valuer tty par stat()\n"
+
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "erreur en arrêtant le service « %s »\n"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "Service arrêté : %s\n"
+
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "erreur en démarrant le service « %s »\n"
+
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Utilisation : %s [-c] [-n niveau] [-r] [-s taille-de-tampon]\n"
+
+#~ msgid "error: strdup failed"
+#~ msgstr "erreur : échec de strdup"
+
+#~ msgid "error: calloc failed"
+#~ msgstr "erreur : échec de calloc"
+
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Utilisation : %s [options]\n"
+#~ "\n"
+#~ "Options :\n"
+
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "utilisation : %s [-bfpx] [-l n-lignes]"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "utilisation : %s [ - ] [ -2 ] [ fichier ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump : [-bcCdovx] [-e format] [-f fichier-format] [-n longueur] [-s "
+#~ "saut] [fichier ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr ""
+#~ "utilisation : %s [-dflpcsu] [+no-de-ligne | +/motif] nom1 nom2 ...\n"
+
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "impossible d'initialiser le tampon de ligne\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump : impossible de lire %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump : ligne trop longue.\n"
+
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "Utilisation : %s [fichier ...]\n"
+
+#~ msgid "realloc failed"
+#~ msgstr "Ă©chec de realloc"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "utilisation : tailf [-n N | -N] fichier_journal"
+
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "Utilisation : %s [ -i ] [ -tTerm ] fichier ...\n"
+
+#~ msgid "%s is associated with %s, trying to unmount it\n"
+#~ msgstr "%s est associé avec %s, tentative de le démonter\n"
diff --git a/po/gl.gmo b/po/gl.gmo
new file mode 100644
index 0000000..6be54c9
--- /dev/null
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
new file mode 100644
index 0000000..2272838
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,15217 @@
+# Galician translation for util-linux
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the util-linux-ng package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+# Fran Dieguez <frandieguez@ubuntu.com>, 2010.
+# Fran Diéguez <frandieguez@ubuntu.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.18-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2010-08-23 18:09+0200\n"
+"Last-Translator: Fran Diéguez <frandieguez@ubuntu.com>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-08-23 14:24+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "non se pode abrir %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "activar a alarma rtc"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "Valor de sectores ilegal"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "Valor de sectores ilegal"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "estabelece sĂł lectura"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "estabelece lectura/escritura"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "obtén só lectura"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "obter o tamaño do bloque lóxico (sector)"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "obtener o tamaño do bloque físico (sector)"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "obter o tamaño de E/S mínimo"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "obter o tamaño de E/S óptimo"
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "obter posición de aliñamento"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "obter os sectores máximos por solicitude"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "obter o tamaño do bloque"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "estabelece o tamaño do bloque"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "obtén o contador de sectores de 32 bits"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "obtén o tamaño en bytes"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "estabelece «readahead»"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "obtén «readahead»"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "estabelece «readahead»"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "obtén sistema de ficheiros `readahead'"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "baleira os bĂşferes"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "obtén o tamaño en sectores de 512 bytes"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Orde descoñecida: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s necesita un argumento\n"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s fallou.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s tivo Ă©xito.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: erro de ioctl en %s\n"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr ""
+"RO RA SSZ BSZ SectordeInicio Tamaño Dispositivo\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "%s fallou."
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "uso:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tNOTE: elvtune sĂł funciona con nĂşcleos 2.4\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "falta o dispositivo de bloques, use -h para obter axuda\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune sĂł Ă© Ăştil para os kernels antigos;\n"
+"para a versiĂłn 2.6 use no lugar IO scheduler sysfs tunables.\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formateando... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "feito\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Verificando... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Ler: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problema de lectura no cilindro %d, esperábase %d, leuse %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Datos incorrectos no cilindro %d\n"
+"Continuando... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "stat fallou: %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Non Ă© posĂ­bel determinar o tipo de formato actual"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s caras, %d pistas, %d sectores/pista. Capacidade total de %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Dobre"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Sinxelo"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s está montado.\t "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "Non se encontrou o patrĂłn"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "erro de análise: %s"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr ""
+"\n"
+"Sincronizando discos.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s tivo Ă©xito.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "%s fallou.\n"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "erro de análise na liña: "
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s fallou."
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "Non se encontrou o patrĂłn"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr ""
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "%s: fstat fallou."
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "produciuse un fallo na busca"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr ""
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "Orde descoñecida: %s"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "produciuse un fallo ao reservar o bĂşfer de saĂ­da"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "demasiadas páxinas incorrectas"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s está montado.\t "
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "demasiadas páxinas incorrectas"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " s - Táboa ordenada por sectores"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl fallou: non foi posíbel determinar o tamaño do dispositivo: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "a lonxitude do ficheiro Ă© demasiado curta"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "read fallou: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "non se encontrou o superbloque máxico"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "CaracterĂ­sticas do sistema de ficheiros non compatĂ­beis"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "O tamaño do superbloque (%d) é demasiado pequeno"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "aviso: o ficheiro pasa do final do sistema de ficheiros\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "aviso: formato de cramfs antigo\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "non foi posĂ­bel probar o CRC: formato de cramfs antigo"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "crc fallou"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "desprazamento raĂ­z incorrecto (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "o bloque de datos Ă© demasiado longo"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "erro de descompresiĂłn %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " oco en %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " descomprimindo o bloque en %ld a %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "write falou: (%s)"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown fallou: (%s)"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown fallou: (%s)"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime fallou: (%s)"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+"o nodo-i do cartafol ten un desprazamento cero ou un tamaño non cero: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir fallou: (%s)"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "a lonxitude do nome do ficheiro Ă© cero"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "lonxitude do nome de ficheiro incorrecta"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "desprazamento do nodo-i incorrecto"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "o nodo-i do ficheiro ten un desprazamento cero ou un tamaño non cero"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "o ficheiro nodo-i ten un tamaño cero ou un desprazamento non cero"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "a ligazĂłn simbĂłlica ten un desprazamento cero"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "a ligazón simbólica ten un tamaño cero"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "erro de tamaño na ligazón simbólica: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symlink fallou: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "o ficheiro especial ten un desprazamento non cero: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "fifo ten un tamaño non cero: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "o socket ten un tamaño non cero: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "modo bogus: %s : (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknot fallou: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "desprazamento dos datos do ficheiro non válido"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "compilado sen a compatibilidade para -x"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "NecesĂ­tase a terminal para reparaciĂłns interactivas"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s está montado.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Desexa continuar?"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "comprobaciĂłn abortada.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zona nr < PRIMEIRAZONA no ficheiro «%s»."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zona nr >= ZONAS no ficheiro «%s»."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Eliminar bloque"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Erro de lectura: non é posíbel buscar nun bloque o ficheiro «%s»\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Erro de lectura: bloque incorrecto no ficheiro «%s»\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Erro interno: tentando escribir un bloque incorrecto\n"
+"Ignorouse a solicitude de escritura\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "Non Ă© posĂ­bel escribir o superbloque"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Non é posíbel escribir a táboa de nodos-i"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Non é posíbel escribir a táboa de zonas"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Non Ă© posĂ­bel escribir nodos-i"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "produciuse un fallo na busca"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "non Ă© posĂ­bel reserver o bĂşfer para o superbloque"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "non Ă© posĂ­bel ler o superbloque"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "número máxico incorrecto no superbloque"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "SĂł se admiten bloques/zonas de 1k"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Non Ă© posĂ­bel reservar o bĂşfer para o mapa de nodos-i"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Non Ă© posĂ­bel reservar o bĂşfer para o mapa de zonas"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Non Ă© posĂ­bel reservar o bĂşfer para os nodos-i"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Non Ă© posĂ­bel reservar o bĂşfer para a conta de nodos-i"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Non Ă© posĂ­bel reservar o bĂşfer para a conta de zonas"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Non Ă© posĂ­bel reservar o mapa de nodos-i"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Non é posíbel ler a táboa de zonas"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Non Ă© posĂ­bel ler os nodos-i"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld nodos-i\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld bloques\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Primeira zona de datos=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Tamaño da zona=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Tamaño máximo=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Estado do sistema de ficheriso=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"Lonxitude do nome=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"O nodo-i %d marcouse como non utilizado, pero estase usando para o ficheiro "
+"«%s»\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Marcar en uso"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "O ficheiro «%s» ten o modo %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Aviso: a conta de nodos-i Ă© demasiado grande.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "O bloque foi usado anteriormente. Agora no ficheiro «%s»."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Borrar"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "O bloque %d no ficheiro «%s» está marcado como en uso."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Correcto"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Eliminar"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "Erro interno"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Estabelecer"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Estabelecer i_nlinks para contar"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zona %d: marcada en uso, ningĂşn ficheiro a usa."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Eliminar marca"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zona %d: en uso, contados=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zona %d: non en uso, contados=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "tamaño de nodo-i incorrecto"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "tamaño de nodo-i v2 incorrecto"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "NecesĂ­tase a terminal para reparaciĂłns interactivas"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "non se pode abrir %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s está limpo, non se comproba.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Forzando a comprobaciĂłn do sistema de ficheiros en %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "O sistema de ficheiros en %s está sucio, precisa unha comprobación.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld nodos-i usados (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zonas usadas (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d ficheiros normais\n"
+"%6d directorios\n"
+"%6d ficheiros de dispositivos de caracteres\n"
+"%6d ficheiros de dispositivos de bloques\n"
+"%6d ligazĂłns\n"
+"%6d ligazĂłns simbĂłlicas\n"
+"------\n"
+"%6d ficheiros\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------------\n"
+"O SISTEMA DE FICHEIROS CAMBIOU\n"
+"----------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: produciuse un erro ao buscar: %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: produciuse un erro ao ler: %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr ""
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "número de liñas non válido"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "o nome do volume Ă© demasiado longo"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "o nome do sistema de ficheiros Ă© demasiado longo"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s non Ă© un dispositivo de bloques"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "non se pode obter o tamaño de %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "o argumento de bloques é demasiado longo, o máximo é %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "demasiados nodos-i - o máximo é 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "non hai espazo suficiente, necesĂ­tanse cando menos %llu bloques"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositivo: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Nome do sistema de ficheiros: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Tamaño do bloque: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Nodos-i: %d (en 1 bloque)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Nodos-i: %d (en %lld bloques)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Bloques: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr ""
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "Uso: mkfs [-V] [-t tipo-de-fs] [opcions-do-fs] device [tamaño]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "non se pode abrir %s"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "activar a alarma rtc"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "Imaxe ROM"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "Produciuse un fallo ao gravar a imaxe ROM (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "aviso: nomes de ficheiros truncados a 255 bytes.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "aviso: excluĂ­ronse ficheiros debido a erros.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "aviso: tamaños de ficheiro truncados a %luMB (menos 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"aviso: uids truncados a %u bits. (Isto pode ser un problema de seguranza)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"aviso: gids truncados a %u bits. (Isto pode ser un problema de seguranza)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Uso: %s [-c] [-pPAGESZ] [-L etiqueta] [-U UUID] /dev/nome [bloques]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "Non Ă© posĂ­bel escribir o superbloque"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "Non é posíbel escribir a táboa de nodos-i"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "Non é posíbel escribir a táboa de zonas"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "Non Ă© posĂ­bel escribir nodos-i"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s fallou."
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "demasiadas páxinas incorrectas"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "non Ă© posĂ­bel reserver o bĂşfer para o superbloque"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "Non Ă© posĂ­bel reservar o bĂşfer para o mapa de zonas"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "Non Ă© posĂ­bel reservar o bĂşfer para os nodos-i"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld nodos-i\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld bloques\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "tamaño de nodo-i incorrecto"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "o nĂşmero de bloques Ă© demasiado pequeno"
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr ""
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "Truncouse a etiqueta.\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "sen etiqueta, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "sen uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "demasiadas páxinas incorrectas"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr ""
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr ""
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr ""
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr ""
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr ""
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr ""
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr ""
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr ""
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr ""
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "produciuse un fallo na busca"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "Esta partición non é usábel"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr ""
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr ""
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr ""
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr ""
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr ""
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "Non é posíbel escribir a táboa de nodos-i"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr ""
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr ""
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "Non Ă© posĂ­bel ler os nodos-i"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Esta partición non é usábel"
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr ""
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr ""
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "o nĂşmero de bloques Ă© demasiado pequeno"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d particiĂłns:\n"
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr ""
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d particiĂłns:\n"
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr ""
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s fallou."
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr ""
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s fallou."
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s fallou."
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "Orde descoñecida: %s"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s fallou."
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr ""
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr ""
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Esta partición non é usábel"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr ""
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Esta partición non é usábel"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr ""
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr ""
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr ""
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr ""
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr "Esta partición non é usábel"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "Esta partición non é usábel"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Ordes dispoñíbeis:\n"
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr ""
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Non Ă© posĂ­bel eliminar unha particiĂłn baleira"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr ""
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "Valor de sectores ilegal"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr ""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr ""
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "%s fallou."
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s fallou."
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "volve a ler a táboa de particións"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr ""
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr ""
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr ""
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr ""
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr ""
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr ""
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr ""
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Non queda memoria!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr ""
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr ""
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr ""
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr ""
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr ""
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr ""
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr ""
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr ""
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr ""
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr ""
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr ""
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr ""
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr ""
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr ""
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr ""
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr ""
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr ""
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr ""
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr ""
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr ""
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr ""
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr ""
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr ""
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr ""
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr ""
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr ""
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr ""
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr ""
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr ""
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr ""
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr ""
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr ""
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr ""
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr ""
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr ""
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr ""
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr ""
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr ""
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr ""
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr ""
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr ""
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr ""
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr ""
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr ""
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr ""
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr ""
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr ""
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Trocar a opciĂłn de arrinque para a particiĂłn actual"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Eliminar a particiĂłn actual"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+" g Cambiar os parámetros de cilindros, cabezas e sectores por pista"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " AVISO: Esta opciĂłn deberĂ­a usarse sĂł por persoas que"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " coñecen o funcionamento da mesma."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Imprime esta pantalla"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maximiza o uso do disco pola particiĂłn actual"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Nota: Isto poderĂ­a facer a particiĂłn non compatĂ­bel con"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Crea unha nova particiĂłn desde espazo libre"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Imprimi a táboa de particións á pantalla ou a un ficheiro"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Hai varios formatos de particiĂłn para a particiĂłn"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " entre os que pode elixir:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - Datos en crĂş (exactamente como deberĂ­an escribirse no "
+"disco)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Táboa ordenada por sectores"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Táboa con formato en crú"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Sae do programa sen escribir a táboa de particións"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Cambiar o tipo de sistema de ficheiros"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr ""
+" u Cambia as unidades de visualización do tamaño da partición"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Alterna entre MB, sectores e cilindros."
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Xa que isto pode destruĂ­r os datos do seu disco, deberĂ­a"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " confirmar ou denegar a escritura escribindo «si» ou "
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " «non»"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Frecha Arriba Move o cursor á anterior partición"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Frecha Abaixo Move o cursor á seguinte partición"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Volve a debuxar a pantalla"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Imprime esta pantalla"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr ""
+"Nota: Todas as ordes poden inserirse tanto en maiĂşsculas como en minĂşsculas"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "(salvo W para operaciĂłns de escritura)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "CilĂ­ndros"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Cambiar a xeometrĂ­a de cilindros"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Cabezas"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Cambiar a xeometrĂ­a de cabezas"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Cambiar a xeometrĂ­a de sectores"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Feito"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Feito sen cambiar a xeometrĂ­a"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Introduza o nĂşmero de cilindros:"
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Valor de cilindros ilegal"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Introduza o nĂşmero de cabezas:"
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Valor de cabezas ilegal"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Introduza o nĂşmero de sectores por pista:"
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Valor de sectores ilegal"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr ""
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr ""
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr ""
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/LĂłx"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Descoñecido (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Unidade de disco: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Tamaño: %lld bytes, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Tamaño: %lld bytes, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Cabezas: %d Sectores por pista: %d Cilindros: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nome"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "OpciĂłns"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr " Tipo"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Tipo de S.F."
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Etiqueta]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sectores"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cilindros"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Tamaño (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Tamaño (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Non hai máis particións"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Arrincábel"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Troca a opciĂłn de arrinque da particiĂłn actual"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Eliminar"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Elimina a particiĂłn actual"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "XeometrĂ­a"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Cambiar a xeometrĂ­a do disco (sĂł expertos)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Axuda"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Imprime esta pantalla"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maximizar"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maximizar o uso de disco da particiĂłn actual (sĂł expertos)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Nova"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Crea unha nova particiĂłn desde o espazo libre"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Imprimir"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Imprime a táboa de particións na pantalla ou nun ficheiro"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "SaĂ­r"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Sae do programa sen escribir a táboa de particións"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "tipo"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Cambia o tipo de sistema de ficheiso (DOS, Linux, OS/2, etc.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Unidades"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Cambiar as unidades de visualización do tamaño da partición (MB, sect, cil)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Escribir"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+"Escribir a táboa de particións ao disco (isto podería destruír os datos)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Non é posíbel facer esta partición arrincábel"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Non Ă© posĂ­bel eliminar unha particiĂłn baleira"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Non Ă© posĂ­bel maximizar esta particiĂłn"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Esta partición non é usábel"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Esta partición xa está en uso"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Non Ă© posĂ­bel cambiar o tipo dunha particiĂłn baleira"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Orde ilegal"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Uso:\n"
+"Imprimir a versiĂłn:\n"
+" %s -v\n"
+"Imprimir a táboa de particións:\n"
+" %s -P {r|s|t} [opciĂłns] dispositivo\n"
+"Uso interactivo:\n"
+" %s [opcions] dispositivo\n"
+"\n"
+"OpciĂłns:\n"
+"-a: Usar unha frecha no lugar do resaltado;\n"
+"-z: Iniciar unha táboa de particións cero, no lugar de ler o pt desde o "
+"disco;\n"
+"-c C -h H -s S: Evitar a idea do kernel do nĂşmero de cilindros,\n"
+" o nĂşmero de cabezas e o nĂşmero de sectores/pista.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr "Introduza o nĂşmero de cilindros:"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "Introduza o nĂşmero de cabezas:"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "Introduza o nĂşmero de sectores por pista:"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etiqueta BSD para o dispositivo: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Escribindo a etiqueta do disco en %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Primeiro %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s non contén ningunha etiqueta de disco.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Desexa crear unha etiqueta de disco? (y/n)"
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Non hai ningunha particiĂłn *BSD en %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tipo: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tipo: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disco: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiqueta: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "opciĂłns:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " removable"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes por sector: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sectores por pista: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "pistas por cilindro: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sectores por cilindro: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindros: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "r.p.m.: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "cambio de cabeza: %ld\t\t# milisegundos\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "busca de pista-a-pista: %ld\t# milisegundos\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d particiĂłns:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# inici fin tama tipofs [tam-f tam-b cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "bytes/sector"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sectors/pista"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "pistas/cilindro"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cilindros"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sectores/cilindro"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Debe ser <= sectores/pista * pistas/cilindro (valor predefinido).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "r.p.m."
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "busca de pista-a-pista"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "ParticiĂłn (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Sincronizando discos.\n"
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr ""
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr "obtén só lectura"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr "Elimina a particiĂłn actual"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr "Introduza o nĂşmero de cilindros:"
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr ""
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr ""
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr ""
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr ""
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr ""
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr "Elimina a particiĂłn actual"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr "Introduza o nĂşmero de cilindros:"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d eliminar a particiĂłn BSD"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr "volve a ler a táboa de particións"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr "Introduza o nĂşmero de sectores por pista:"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr "Non hai máis particións"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e editar os datos da unidade"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr "Esta partición non é usábel"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr "volve a ler a táboa de particións"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr "Introduza o nĂşmero de cabezas:"
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr ""
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr ""
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i instalar a secuencia de inicio"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l Mostra os tipos de sistemas de ficheiros coñecidos"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m Imprime este menĂş"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n Engade unha nova particiĂłn BSD"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr "volve a ler a táboa de particións"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr ""
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr " p Imprime a táboa de particións BSD"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q Sae sen gardar os cambios"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r Volve ao menĂş principal"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr ""
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr "Introduza o nĂşmero de sectores por pista:"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s Mostra a etiqueta do disco completa"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t Cambia o id do sistema de ficheiros da particiĂłn"
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr ""
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr "volve a ler a táboa de particións"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr ""
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w Escribe a etiqueta do disco no disco"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr "Cambiar a xeometrĂ­a do disco (sĂł expertos)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x Liga a particiĂłn BSD a unha particiĂłn non BSD"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr "Introduza o nĂşmero de cilindros:"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "Non Ă© posĂ­bel ler os nodos-i"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Non é posíbel abrir «%s»: %s"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "Non Ă© posĂ­bel escribir nodos-i"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr ""
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Erro interno"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "AcciĂłn da ore"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr ""
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr ""
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr ""
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr ""
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Desexa continuar?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr ""
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr ""
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr ""
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr ""
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr ""
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr ""
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] ""
+msgstr[1] ""
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] ""
+msgstr[1] ""
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr ""
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr ""
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr ""
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Esta partición non é usábel"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr ""
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr ""
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr ""
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr " Sectores"
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr ""
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "non se pode abrir %s"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr ""
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr ""
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr ""
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr ""
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr ""
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr ""
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "Valor de sectores ilegal"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "Valor de cilindros ilegal"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "Valor de sectores ilegal"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "Valor de sectores ilegal"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Esta partición xa está en uso"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr " e editar os datos da unidade"
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "volve a ler a táboa de particións"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s non contén ningunha etiqueta de disco.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr ""
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr ""
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "Esta partición non é usábel"
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr ""
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr ""
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr ""
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr ""
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr ""
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr ""
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Uso:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr ""
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "%s: Orde descoñecida: %s\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "número de liñas non válido"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "%s fallou."
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr ""
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr ""
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr ""
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "Non é posíbel abrir «%s» para lectura"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "Non é posíbel abrir «%s» para lectura"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "non se pode obter o tamaño de %s"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr ""
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr ""
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "erro: non se pode abrir %s"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr ""
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr ""
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#: include/c.h:246
+#, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "Erro interno"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr ""
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "write falou: (%s)"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr ""
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr ""
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr ""
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr ""
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr ""
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr ""
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "non se pode obter o tamaño de %s"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr ""
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr "comprobaciĂłn abortada.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "A liña é demasiado longa"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "A liña é demasiado longa"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s está montado.\t "
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "%s está montado.\t "
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr ""
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr ""
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr ""
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr ""
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr ""
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr ""
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr ""
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr ""
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr ""
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "%s está montado.\t "
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr ""
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "%s: fstat fallou."
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr ""
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "produciuse un fallo na busca"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr ""
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr ""
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr ""
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown fallou: (%s)"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "chown fallou: (%s)"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr ""
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "write falou: (%s)"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr ""
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr ""
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr ""
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr ""
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr ""
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "produciuse un fallo na busca"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr ""
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "%s: fstat fallou."
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr ""
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr ""
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr ""
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr ""
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr ""
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr ""
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr ""
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "produciuse un fallo na busca"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr ""
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr ""
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "produciuse un fallo na busca"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr ""
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "non se pode abrir %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "produciuse un fallo ao reservar o bĂşfer de saĂ­da"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "non se pode abrir %s"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr ""
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s fallou.\n"
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr ""
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr ""
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr ""
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr ""
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "produciuse un fallo ao reservar o bĂşfer de saĂ­da"
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr ""
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr ""
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr ""
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Desexa continuar?"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "%s: fstat fallou."
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "produciuse un fallo na busca"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "%s: fstat fallou."
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "%s: fstat fallou."
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "%s: fstat fallou."
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr ""
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr ""
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "malloc fallou"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "non se pode obter o tamaño de %s"
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr ""
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s: non Ă© posĂ­bel engadir un vixilante de inotify."
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: non Ă© posĂ­bel ler os eventos de inotify"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "non se pode abrir %s"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: fstat fallou."
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "non se pode obter o tamaño de %s"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr ""
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "a execuciĂłn de %s fallou."
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "non se pode abrir %s"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Valor de cabezas ilegal"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr ""
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr ""
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr ""
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr ""
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr ""
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr " removable"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Estado do sistema de ficheriso=%d\n"
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Estado do sistema de ficheriso=%d\n"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "volve a ler a táboa de particións"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Estado do sistema de ficheriso=%d\n"
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Estado do sistema de ficheriso=%d\n"
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Estado do sistema de ficheriso=%d\n"
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Estado do sistema de ficheriso=%d\n"
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Estado do sistema de ficheriso=%d\n"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "Orde descoñecida: %s"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr ""
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr ""
+
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr ""
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Eliminar"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr ""
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "erro de análise na liña: "
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "volve a ler a táboa de particións"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "hexdump: non Ă© posĂ­bel ler %s.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr ""
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "produciuse un fallo ao reservar o bĂşfer de saĂ­da"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc fallou"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Ordes dispoñíbeis:\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr ""
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "%s necesita un argumento\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr ""
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr ""
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr " s - Táboa ordenada por sectores"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr ""
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr ""
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr ""
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr ""
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr ""
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "Valor de cilindros ilegal"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr ""
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr ""
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr ""
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr ""
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "Orde descoñecida: %s"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "Orde descoñecida: %s"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "o nome do volume Ă© demasiado longo"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "Socket(s) da CPU:"
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr ""
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr ""
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr ""
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Seguinte ficheiro: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "activar a alarma rtc"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "volve a ler a táboa de particións"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "estabelece sĂł lectura"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "estabelece sĂł lectura"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " removable"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr ""
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "obter posición de aliñamento"
+
+#: misc-utils/lsblk.c:133
+#, fuzzy
+msgid "minimum I/O size"
+msgstr "obter o tamaño de E/S mínimo"
+
+#: misc-utils/lsblk.c:134
+#, fuzzy
+msgid "optimal I/O size"
+msgstr "obter o tamaño de E/S óptimo"
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "obtener o tamaño do bloque físico (sector)"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "obter o tamaño do bloque lóxico (sector)"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "obter posición de aliñamento"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "%s fallou."
+
+#: misc-utils/lsblk.c:835
+#, c-format
+msgid "%s: unknown device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr ""
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s fallou."
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s fallou."
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s fallou."
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Ordes dispoñíbeis:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+msgid "size of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr ""
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "non se pode abrir %s"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr ""
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "Descoñecido (%02X)"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "Valor de sectores ilegal"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "%s necesita un argumento\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "a execuciĂłn de %s fallou."
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr ""
+
+#: misc-utils/namei.c:370
+#, c-format
+msgid "%s - No such file or directory\n"
+msgstr ""
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+msgid "pathname argument is missing"
+msgstr ""
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: fstat fallou."
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr ""
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr ""
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr ""
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "produciuse un fallo ao reservar o bĂşfer de saĂ­da"
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr ""
+
+#: misc-utils/uuidd.c:285
+#, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s fallou."
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "Non se encontrou o patrĂłn"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "Valor de sectores ilegal"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr ""
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: non se pode abrir %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:810
+#, c-format
+msgid "mount: cannot set group id: %m"
+msgstr ""
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "non se pode obter o tamaño de %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount-deprecated/mount.c:1314
+msgid "mount: couldn't lock into memory"
+msgstr ""
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "%s fallou."
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "%s fallou."
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1473
+#, c-format
+msgid "mount: cannot set speed: %m"
+msgstr ""
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr ""
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr ""
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1756
+#, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr ""
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr ""
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr ""
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr ""
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr ""
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr ""
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr ""
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:139
+#, c-format
+msgid "umount: cannot set group id: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:142
+#, c-format
+msgid "umount: cannot set user id: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr ""
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr ""
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr ""
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:558
+#, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+msgid "cannot obtain the list of tasks"
+msgstr ""
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "%s necesita un argumento\n"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "%s fallou."
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr ""
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr ""
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr ""
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "desprazamento dos datos do ficheiro non válido"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "Valor de sectores ilegal"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "Orde descoñecida: %s"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "Orde descoñecida: %s"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "a execuciĂłn de %s fallou."
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "converter a hora rtc"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr ""
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr ""
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr ""
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr ""
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "utime fallou: (%s)"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, c-format
+msgid "CPU %d does not exist\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, c-format
+msgid "CPU %d is already enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:92
+#, c-format
+msgid "CPU %d is already disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "%s fallou."
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "%s fallou."
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "%s fallou."
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "%s fallou."
+
+#: sys-utils/chcpu.c:165
+#, c-format
+msgid "CPU %d is not configurable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:170
+#, c-format
+msgid "CPU %d is already configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:174
+#, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "número de liñas non válido"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s necesita un argumento\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr ""
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr ""
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "non se pode obter o tamaño de %s"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "non se pode obter o tamaño de %s"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Valor de cilindros ilegal"
+
+#: sys-utils/cytune.c:328
+#, c-format
+msgid "Invalid interval value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Valor de sectores ilegal"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Valor de sectores ilegal"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Valor de cabezas ilegal"
+
+#: sys-utils/cytune.c:346
+#, c-format
+msgid "Invalid default value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "converter a hora rtc"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "converter a hora rtc"
+
+#: sys-utils/cytune.c:364
+msgid "Invalid default time value"
+msgstr ""
+
+#: sys-utils/cytune.c:366
+#, c-format
+msgid "Invalid default time value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Non é posíbel abrir «%s» para lectura"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "non se pode obter o tamaño de %s"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Esta partición non é usábel"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "erro: non se pode abrir %s"
+
+#: sys-utils/dmesg.c:76
+msgid "warning conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Estado do sistema de ficheriso=%d\n"
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+msgid "clock daemon"
+msgstr ""
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+msgid "ftp daemon"
+msgstr ""
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "Orde descoñecida: %s"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "Orde descoñecida: %s"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "symlink fallou: %s"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "non se pode abrir %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "write falou: (%s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "Valor de sectores ilegal"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "ler a hora rtc"
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr ""
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "malloc fallou"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "%s está montado.\t "
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+msgid "invalid argument to --auto/-a option"
+msgstr ""
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+msgid "invalid argument to --cdspeed/-x option"
+msgstr ""
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s fallou."
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s fallou."
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "aviso: formato de cramfs antigo\n"
+
+#: sys-utils/eject.c:588
+msgid "not an sg device, or old sg driver"
+msgstr ""
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "%s: fstat fallou."
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "non se pode obter o tamaño de %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "Non é posíbel abrir «%s»: %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "Non Ă© posĂ­bel ler os nodos-i"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: fstat fallou."
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "Non se encontrou o patrĂłn"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " removable"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "%s fallou."
+
+#: sys-utils/eject.c:973
+#, c-format
+msgid "device name is `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "Non se encontrou o patrĂłn"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s fallou."
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "Dispositivo: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr ""
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s tivo Ă©xito.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "produciuse un fallo na busca"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+msgid "tape offline command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "Non é posíbel abrir «%s»: %s"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr ""
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr ""
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr ""
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+msgid "timeout cannot be zero"
+msgstr ""
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "non se pode abrir %s"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "Valor de sectores ilegal"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s necesita un argumento\n"
+
+#: sys-utils/flock.c:247
+msgid "requires file descriptor, file or directory"
+msgstr ""
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "%s está montado.\t "
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr ""
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr ""
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s: fstat fallou."
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "non se pode abrir %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr ""
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr ""
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:617
+msgid "No --date option specified."
+msgstr ""
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "o nome do sistema de ficheiros Ă© demasiado longo"
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr ""
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr ""
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr ""
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr ""
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "Valor de sectores ilegal"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "%s fallou."
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ler a hora do sistema"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "produciuse un fallo na busca"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "produciuse un fallo na busca"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "desprazamento dos datos do ficheiro non válido"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+msgid "not enough arguments"
+msgstr ""
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "Valor de cabezas ilegal"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr ""
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr ""
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr ""
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "Orde descoñecida: %s"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr ""
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr ""
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr ""
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr ""
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr ""
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr ""
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr ""
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr ""
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr ""
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr ""
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr ""
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr ""
+
+#: sys-utils/ldattach.c:144
+msgid "invalid iflag"
+msgstr ""
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "Valor de sectores ilegal"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr ""
+
+#: sys-utils/ldattach.c:288
+msgid "invalid line discipline argument"
+msgstr ""
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr ""
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr ""
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr ""
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr "desprazamento raĂ­z incorrecto (%lu)"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ""
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ""
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: fstat fallou."
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s: fstat fallou."
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "%s fallou."
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+msgid "no loop device specified"
+msgstr ""
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "%s fallou."
+
+#: sys-utils/losetup.c:359
+msgid "no file specified"
+msgstr ""
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+msgid "couldn't lock into memory"
+msgstr ""
+
+#: sys-utils/losetup.c:391
+msgid "not found unused device"
+msgstr ""
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "volve a ler a táboa de particións"
+
+#: sys-utils/losetup.c:442
+msgid "find unused loop device failed"
+msgstr ""
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "obter o tamaño do bloque lóxico (sector)"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "obter o tamaño do bloque lóxico (sector)"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "produciuse un fallo ao reservar o bĂşfer de saĂ­da"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "Arquitectura:"
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "Modo(s) OP da CPU:"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+#, fuzzy
+msgid "CPU(s):"
+msgstr "Socket(s) da CPU:"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "Socket(s) da CPU:"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "Nodo(s) NUMA:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "ID do fabricante:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "Familia do CPU:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Modelo"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "Mhz do CPU:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "VirtualizaciĂłn:"
+
+#: sys-utils/lscpu.c:1188
+#, fuzzy
+msgid "Hypervisor:"
+msgstr "Fabricante do hypervisor:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Fabricante do hypervisor:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Tipo de virtualizaciĂłn:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr ""
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr ""
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr ""
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "erro de análise na liña: "
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "aviso: formato de cramfs antigo\n"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, c-format
+msgid "%-25s: already mounted\n"
+msgstr ""
+
+#: sys-utils/mount.c:367
+#, c-format
+msgid "only root can mount %s on %s"
+msgstr ""
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "%s está montado.\t "
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "hexdump: non Ă© posĂ­bel ler %s.\n"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "hexdump: non Ă© posĂ­bel ler %s.\n"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "hexdump: non Ă© posĂ­bel ler %s.\n"
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr " t Cambiar o tipo de sistema de ficheiros"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "hexdump: non Ă© posĂ­bel ler %s.\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "%s: fstat fallou."
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "%s fallou."
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "%s: fstat fallou."
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr ""
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr ""
+
+#: sys-utils/mount.c:459
+#, c-format
+msgid "%s is already mounted or %s busy"
+msgstr ""
+
+#: sys-utils/mount.c:471
+#, c-format
+msgid " %s is already mounted on %s\n"
+msgstr ""
+
+#: sys-utils/mount.c:479
+#, c-format
+msgid "mount point %s does not exist"
+msgstr ""
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: sys-utils/mount.c:486
+#, c-format
+msgid "special device %s does not exist"
+msgstr ""
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "malloc fallou"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+
+#: sys-utils/mount.c:510
+#, c-format
+msgid "%s not mounted or bad option"
+msgstr ""
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "%s está montado.\t "
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "Non Ă© posĂ­bel escribir o superbloque"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "Orde descoñecida: %s"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "Non é posíbel abrir «%s» para lectura"
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: sys-utils/mount.c:571
+#, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr ""
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr ""
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr ""
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: fstat fallou."
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s fallou."
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr ""
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "%s fallou."
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s está montado.\t "
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "%s está montado.\t "
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "non se pode abrir %s"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld bloques\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+msgid "seconds"
+msgstr ""
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "tamaño de nodo-i incorrecto"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "o nĂşmero de bloques Ă© demasiado pequeno"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "non se pode abrir %s"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "o nĂşmero de bloques Ă© demasiado pequeno"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr ""
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr ""
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr " removable"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr " removable"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Unidades"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "%s fallou."
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "%s fallou."
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "%s fallou."
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "erro: non se pode abrir %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr ""
+
+#: sys-utils/readprofile.c:310
+#, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr ""
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr ""
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice desde %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "Orde descoñecida: %s"
+
+#: sys-utils/renice.c:146
+#, c-format
+msgid "bad value %s"
+msgstr ""
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+msgid "user ID"
+msgstr ""
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr ""
+
+#: sys-utils/renice.c:172
+#, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr ""
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "ler a hora rtc"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "ler a hora do sistema"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "converter a hora rtc"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "estabelecer a alarma rtc"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "activar a alarma rtc"
+
+#: sys-utils/rtcwake.c:248
+#, fuzzy
+msgid "set rtc wake alarm failed"
+msgstr "estabelecer a alarma de espertar de rtc"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "activar a alarma rtc"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "converter a hora rtc"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr ""
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "%s necesita un argumento\n"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "converter a hora rtc"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: asumindo que RTC usa UTC ...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Usando a hora UTC.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Usando a hora local.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: non Ă© posĂ­bel ler os eventos de inotify"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "Non é posíbel abrir «%s»: %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "read fallou: %s"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr ""
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr ""
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr ""
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+msgid "fork"
+msgstr ""
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "produciuse un fallo na busca"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "%s fallou."
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "produciuse un fallo na busca"
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr ""
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr ""
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d eliminar a particiĂłn BSD"
+
+#: sys-utils/swapon.c:90
+msgid "type of the device"
+msgstr ""
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr ""
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Marcar en uso"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr ""
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr ""
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr ""
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr ""
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr ""
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, c-format
+msgid "swapon %s\n"
+msgstr ""
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr ""
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Ordes dispoñíbeis:\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "%s: fstat fallou."
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, c-format
+msgid "forcing unmount of %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "produciuse un fallo ao reservar o bĂşfer de saĂ­da"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "%s está montado.\t "
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "%s fallou.\n"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " s - Táboa ordenada por sectores"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "Valor de cabezas ilegal"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr ""
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr ""
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ""
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ""
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ""
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ""
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ""
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "malloc fallou"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr ""
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr ""
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "%s: fstat fallou."
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "%s: non Ă© un dispositivo de bloques\n"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "Non Ă© posĂ­bel escribir o superbloque"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr ""
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr ""
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr ""
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "%s fallou.\n"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr ""
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr ""
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr " removable"
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr ""
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr ""
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "Orde descoñecida: %s"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, c-format
+msgid "The default device is %s.\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Ordes dispoñíbeis:\n"
+
+#: sys-utils/wdctl.c:254
+#, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s fallou."
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "non se pode obter o tamaño de %s"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s fallou."
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, c-format
+msgid "%-15s%2i seconds\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Dispositivo: %s\n"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s: versiĂłn %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: fstat fallou."
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s: fstat fallou."
+
+#: term-utils/agetty.c:445
+#, c-format
+msgid "%s: can't change process priority: %m"
+msgstr ""
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr ""
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "produciuse un fallo ao reservar o bĂşfer de saĂ­da"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr ""
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr ""
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr ""
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr ""
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr ""
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr ""
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr ""
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tipo: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr ""
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr ""
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr ""
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "utime fallou: (%s)"
+
+#: term-utils/mesg.c:128
+msgid "is y"
+msgstr ""
+
+#: term-utils/mesg.c:131
+msgid "is n"
+msgstr ""
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "a execuciĂłn de %s fallou."
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "desprazamento dos datos do ficheiro non válido"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr ""
+
+#: term-utils/script.c:401
+msgid "cannot write script file"
+msgstr ""
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "open fallou: %s"
+
+#: term-utils/script.c:549
+msgid "out of pty's"
+msgstr ""
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr ""
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "o nĂşmero de bloques Ă© demasiado pequeno"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "Erro interno"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "non se pode abrir %s"
+
+#: term-utils/setterm.c:1076
+msgid "cannot force unblank"
+msgstr ""
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#: term-utils/setterm.c:1094
+msgid "cannot (un)set powersave mode"
+msgstr ""
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "Non é posíbel abrir «%s» para lectura"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "Erro interno"
+
+#: term-utils/setterm.c:1205
+msgid "Error writing screendump"
+msgstr ""
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "hexdump: non Ă© posĂ­bel ler %s.\n"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr ""
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, c-format
+msgid "%s: unknown terminal type"
+msgstr ""
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr ""
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr ""
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr ""
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, c-format
+msgid "invalid timeout argument: %s"
+msgstr ""
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "non se pode obter o tamaño de %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "non se pode obter o tamaño de %s"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr ""
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr ""
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "read fallou: %s"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr ""
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr ""
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "%s está montado.\t "
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr ""
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "%s está montado.\t "
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr ""
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr ""
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "A liña de entrada é demasiado longa.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr ""
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr ""
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "malloc fallou"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "Erro interno"
+
+#: text-utils/col.c:199
+msgid "bad -l argument"
+msgstr ""
+
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr ""
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr ""
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr ""
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "%s necesita un argumento\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "%s necesita un argumento\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "Valor de sectores ilegal"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "activar a alarma rtc"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "Orde descoñecida: %s"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: directorio\t ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: Non Ă© un ficheiro de texto ***\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Use q ou Q para saĂ­r]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Máis--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Seguinte ficheiro: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Prema espacio para continuar, «q» para saír]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...atrás %d páxinas"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...atrás 1 páxina"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...omitindo unha liña"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...omitindo %d liñas"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Atrás***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Non hai un ficheiro anterior"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Prema «h» para consultar as instrucións]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "«%s» liña %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Non é un ficheiro] liña %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Desbordamento\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...omitindo\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Non se encontrou o patrĂłn\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Non se encontrou o patrĂłn"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr ""
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "non se pode bifurcar\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Saltando"
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Saltando ao ficheiro "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Retrocedendo ao ficheiro "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "A liña é demasiado longa"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/parse.c:67
+#, fuzzy
+msgid "line too long"
+msgstr "A liña é demasiado longa"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: conversiĂłn de caracteres incorrecta %%%s.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: conversiĂłn de caracteres incorrecta %%%s.\n"
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr ""
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr ""
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: conversiĂłn de caracteres incorrecta %%%s.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p Imprimi a táboa de particións á pantalla ou a un ficheiro"
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr ""
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr ""
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: opciĂłn ilegal -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...omitindo cara adiante\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...omitindo cara atrás\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Non hai un seguinte ficheiro"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Non hai un ficheiro anterior"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr ""
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "Erro de RE: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Cadea de busca non lembrada"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "non se pode abrir %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "gardado"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() fallou, ténteo máis tarde\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Seguinte ficheiro: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr ""
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Uso: %s [opciĂłn]\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr ""
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Secuencia de escape descoñecida na entrada: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "A liña de entrada é demasiado longa.\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "non se pode abrir %s"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "non se pode abrir %s"
+
+#~ msgid "open failed: %s"
+#~ msgstr "open fallou: %s"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "Non é posíbel abrir «%s»: %s"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#~ msgid "%s: failed to open"
+#~ msgstr "%s fallou."
+
+#~ msgid "error: cannot open %s"
+#~ msgstr "erro: non se pode abrir %s"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "non se pode abrir %s"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "non se pode abrir %s"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s: fstat fallou."
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Non Ă© posĂ­bel abrir "
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "produciuse un fallo ao reservar o bĂşfer de saĂ­da"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "%s fallou."
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "o nodo-i raĂ­z non Ă© un cartafol"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "stat fallou: %s"
+
+#~ msgid "Cannot open "
+#~ msgstr "Non Ă© posĂ­bel abrir "
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "Non é posíbel abrir «%s» para lectura"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "Non se pode efectuar «stat» sobre o dispositivo %s"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "modo de empleo: %s [-hv] [-x dir] ficheiro\n"
+#~ " -h mostra esta axuda\n"
+#~ " -x dir extrae en dir\n"
+#~ " -v é más explicativo\n"
+#~ " ficheiro ficheiro que se comproba\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Uso: %s ['larvsmf] /dev/nome\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "Valor de sectores ilegal"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "non se pode abrir %s"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "%s fallou."
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "aviso: formato de cramfs antigo\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "%s fallou."
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "non se pode abrir %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "Valor de sectores ilegal"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "o bloque de datos Ă© demasiado longo"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "erro de análise na liña: "
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "aviso: formato de cramfs antigo\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "%s fallou.\n"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u Cambia as unidades (cilindros/sectores)"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "%s: produciuse un erro ao abrir: %s\n"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "produciuse un fallo na busca"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "o nome do volume Ă© demasiado longo"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "demasiadas páxinas incorrectas"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Uso: %s [opciĂłn]\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opciĂłn]\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Uso: %s [opciĂłn]\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [dispositivos]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] ordes dispositivos\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Ordes dispoñíbeis:\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "erro de análise\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "uso: %s [ -n ] dispositivo\n"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: erro de análise da opción\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Uso: %s [-x] [-d <num>] iso9660-image\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Uso: %s [-v] [-N no-de-nodos-i] [-V nome-do-volume]\n"
+#~ " [-F nome-do-fs] device [conta-de-bloques]\n"
+
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: non se pode abrir %s\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "non queda memoria"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "Uso: %s [opciĂłn]\n"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "uso: %s [ -n ] dispositivo\n"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "uso: %s [ -n ] dispositivo\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: non Ă© posĂ­bel ler %s.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "uso: rev [ficheiro...]\n"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "uso: tailf [-n N | -N] ficheiro-de-log"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "uso: %s [ -i ] [ -tTerm ] ficheiro...\n"
+
+#~ msgid "parse error at lines: "
+#~ msgstr "erro de análise nas liñas: "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: usuario descoñecido\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; consulte strings(1)."
+
+#~ msgid "Out of memory\n"
+#~ msgstr "Non queda memoria\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Non Ă© posĂ­bel reservar o bĂşfer.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Non hai suficiente memoria para incrementar o tamaño do búfer.\n"
diff --git a/po/hu.gmo b/po/hu.gmo
new file mode 100644
index 0000000..742c6f8
--- /dev/null
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 0000000..af0d6d0
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,17686 @@
+# Hungarian translation of util-linux-ng
+# Copyright (C) 2002, 2007, 2008, 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux-ng package.
+#
+# Gábor István <stive@mezobereny.hu>, 2002.
+# Gabor Kelemen <kelemeng@gnome.hu>, 2007, 2008, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.18-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2010-07-02 10:44+0200\n"
+"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
+"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "a(z) %s nem nyithatĂł meg"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "érvénytelen kapcsoló"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "érvénytelen kapcsoló"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "érvénytelen kapcsoló"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "partíciós tábla újraolvasása"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "beállítás csak olvashatóra"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "beállítás írhatóra és olvashatóra"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "csak olvasható állapot lekérése"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "logikai blokk (szektor)méret lekérése"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "fizikai blokk (szektor)méret lekérése"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "minimális I/O méret lekérése"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "optimális I/O méret lekérése"
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "igazítási eltolás lekérése"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "kérésenkénti max. szektorszám lekérése"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "blokkméret lekérése"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "blokkméret beállítása"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "32 bites szektorok számának lekérése"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "méret lekérése bájtokban"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "előreolvasás beállítása"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "előreolvasás lekérése"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "fájlrendszer előreolvasásának beállítása"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "fájlrendszer előreolvasásának lekérése"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "pufferek ürítése"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "partíciós tábla újraolvasása"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "méret lekérése 512 bájtos szektorokban"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Nem lehet lekérdezni a lemez méretét"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Ismeretlen parancs: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s egy paramétert igényel\n"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s meghiĂşsult.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s sikeres.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: ioctl hiba a következőn: %s\n"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "ÍV EO SM BM KezdőSzektor Méret Eszköz\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "használat: sfdisk --id eszköz partíciószám [azonosító]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "partíciós tábla újraolvasása"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "Használat:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tMEGJEGYZÉS: az elvtune csak 2.4-es kernelekkel működik\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "hiányzó blokkeszköz, segítségért használja a -h kapcsolót\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"Az elvtune csak régebbi kernelekkel használható.\n"
+"A 2.6-hoz használja az IO ütemező sysfs alatti beállítófelületét.\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formázás ... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "kész\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Ellenőrzés ... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Olvasás: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr ""
+"Probléma a(z) %d. cilinder olvasásakor, a várt %d helyett %d került "
+"beolvasásra\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"hibás adatok a(z) %d. cilinderben\n"
+"Folytatás ... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s a(z) %s csomagbĂłl\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "az elérés meghiúsult: %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: ez nem blokkos eszköz\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Nem sikerült meghatározni az aktuális formázási típust"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s oldal, %d sáv, %d szektor/sáv. Teljes kapacitás: %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Dupla"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Szimpla"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s csatolva van.\t"
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s nem található"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "A(z) %s nem olvashatĂł\n"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "%s: írási hiba: %s\n"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Adatok kiírása a lemezekre.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s sikeres.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "%s meghiĂşsult.\n"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "a típusparancsfájl (%s) olvasása meghiúsult"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "az első sor után"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s nem található"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "az indítás meghiúsult\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "hiba a(z) %s írásakor: %s"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: a(z) %s nem egy párhuzamos (lp) eszköz.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: ismeretlen fájlrendszertípus: „%s”"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "nem foglalhatĂł le kimeneti puffer"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Fájlrendszer-ellenőrzés kényszerítése a következőn: „%s”.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: a(z) %s nem egy párhuzamos (lp) eszköz.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s leválasztva\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "A megmaradt fájlrendszerek leválasztása..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "A megmaradt fájlrendszerek leválasztása..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: ismeretlen argumentum: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Verzióinformációk kiírása\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "az ioctl meghiúsult: nem lehet meghatározni az eszköz méretét: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "nem blokkos eszköz vagy fájl: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "a fájlhossz túl kicsi"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "az olvasás meghiúsult: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "a szuperblokk magic érték nem található"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "nem támogatott fájlrendszer-tulajdonságok"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "a szuperblokk mérete (%d) túl kicsi"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "nulla fájlszám"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "figyelmeztetés: a fájl túlnyúlik a fájlrendszer végén\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "figyelmeztetés: régi cramfs formátum\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "a CRC nem tesztelhető, régi cramfs formátum"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "crc-hiba"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "a gyökér inode nem könyvtár"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "hibás root eltolás (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "az adatblokk tĂşl nagy"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "kibontási hiba: %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " lyuk itt: %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " blokk kibontása itt: %ld eddig: %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "nem blokk (%ld) bájtok"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "nem méret bájtok (%ld vs %ld)"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "az írás meghiúsult: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "az lchown meghiĂşsult: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "a chown meghiĂşsult: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "az utime meghiĂşsult: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "a könyvtár inode nulla eltolású és nem nulla méretű: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "az mkdir meghiĂşsult: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "a fájlnév nulla hosszúságú"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "hibás fájlnévhossz"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "hibás inode-eltolás"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "a fájl inode nulla eltolású és nem nulla méretű"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "a fájl inode nulla méretű és nem nulla eltolású"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "a szimbolikus link nulla eltolású"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "a szimbolikus link nulla méretű"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "mérethiba a szimbolikus linkben: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "a symlink meghiĂşsult: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "a speciális fájl nem nulla eltolású: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "a fifo nem nulla méretű: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "a foglalat nem nulla méretű: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "zavaros mĂłd: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "az mknod meghiĂşsult: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+"a könyvtáradatok kezdete (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "a könyvtáradatok vége (%ld) nem egyezik a fájladatok kezdetével (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "érvénytelen fájladateltolás"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "a program a -x támogatása nélkül lett lefordítva"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Rendben\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file kiíratási_fájlnév ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "az interaktív helyreállításhoz terminál szükséges"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Verzióinformációk kiírása\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s csatolva van.\t"
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "ValĂłban folytatni akarja?"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "ellenőrzés megszakítva.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "ZĂłnaszám < ELSĹZĂ“NA a(z) „%s” fájlban."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zónaszám >= ZÓNA a(z) „%s” fájlban."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "A blokk eltávolítása"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Olvasási hiba: nem lehet a blokkra pozicionálni a(z) „%s” fájlban\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Olvasási hiba: hibás blokk a(z) „%s” fájlban\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Belső hiba: kísérlet hibás blokk írására\n"
+" Az írási kérés figyelmen kívül maradt\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "a pozicionálás meghiúsult a write_block-ban"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Írási hiba: hibás blokk a(z) „%s” fájlban\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "a pozicionálás meghiúsult a write_super_block-ban"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "a szuperblokk nem Ă­rhatĂł"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Az inode térkép nem írható"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "A zónatérkép nem írható"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Az inode-ok nem Ă­rhatĂłk"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "nem lehet puffert lefoglalni a szuperblokknak"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "a szuperblokk nem olvashatĂł"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "hibás bűvös szám a szuperblokkban"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Csak 1k blokk/zóna támogatott"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "hibás s_imap_blocks mező a szuperblokkban"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "hibás s_zmap_blocks mező a szuperblokkban"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Nem foglalható le puffer az inode térképnek"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Nem foglalható le puffer a zónatérképnek"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Nem foglalhatĂł le puffer az inode-oknak"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Nem foglalható le puffer a inode-ok számlálójának"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Nem foglalható le puffer a zóna számlálójának"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Az inode térkép nem olvasható"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "A zónatérkép nem olvasható"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Az inode-ok nem olvashatĂłk"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Figyelmeztetés: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inode\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokk\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Első adatzóna=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zónaméret=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Max. méret=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Fájlrendszer állapota=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"névhossz=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"A(z) %d inode nem használtként van megjelölve, de a(z) „%s” fájl használja\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Megjelölés használtként"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "A(z) „%s” fájl módja: %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Figyelmeztetés: az inode szám túl nagy.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "a gyökér inode nem könyvtár"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "A blokk már használatban volt. Most a(z) „%s” fájlban van."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Törlés"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "A(z) %d blokk a(z) „%s” fájlban nem használtként van megjelölve."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Javítás"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "A(z) „%s” könyvtár hibás inode-számot tartalmaz a „%.*s” fájlhoz."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Eltávolítás"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: hibás könyvtár: a „.” nem az első\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: hibás könyvtár: a „..” nem a második\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "belső hiba"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: hibás könyvtár, a méret < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "a pozicionálás meghiúsult a bad_zone-ban"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "A(z) %d. inode módja nem került törlésre."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr ""
+"A(z) %d. inode nincs használatban, a bittérképen megjelölve használtként."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr ""
+"A(z) %d. inode használatban, a bittérképen megjelölve használaton kívüliként."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Beállítás"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "%d. inode (mód = %07o), i_nlinks=%d, számlált=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "A i_nlinks beállítása a számra"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "A(z) %d. zóna használtként van megjelölve, de egy fájl sem használja."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Megjelölés törlése"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "%d. zóna: használatban, számlált=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "%d. zóna: nincs használatban, számlált=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "hibás inode méret"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "hibás v2 inode méret"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "az interaktív helyreállításhoz terminál szükséges"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "a(z) %s nem nyithatĂł meg"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "A(z) %s tiszta, nem kerül ellenőrzésre.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Fájlrendszer-ellenőrzés kényszerítése a következőn: „%s”.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "A(z) %s fájlrendszere nem tiszta, ellenőrizni kell.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inode használatban (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zóna használatban (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d szabályos fájl\n"
+"%6d könyvtár\n"
+"%6d karaktereseszköz-fájl\n"
+"%6d blokkeszközfájl\n"
+"%6d link\n"
+"%6d szimbolikus link\n"
+"------\n"
+"%6d fájl\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"A FĂJLRENDSZER MEGVĂLTOZOTT \n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: pozicionálási hiba a következőn: %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: olvasási hiba a következőn: %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "szektorszám: %d, szektorméret: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "a sorok száma érvénytelen"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "a kötetnév túl hosszú"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "a fájlrendszernév túl hosszú"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "a(z) %s nem egy speciális blokkos eszköz"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "érvénytelen kapcsoló"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "a(z) „%s” mérete nem kérhető le"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "a blokkargumentum tĂşl nagy, a maximum %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "tĂşl sok inode, a maximum 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "nincs elég hely, legalább %llu blokk szükséges"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Eszköz: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Kötet: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Fájlrendszernév: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blokkméret: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inode-ok: %d (blokkonként)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inode-ok: %d (%lld blokkban)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blokkok: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode-ok vége: %d, adatok vége: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "hiba a szuperblokk írása közben"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "hiba a gyökér inode írása közben"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "hiba az inode írásakor"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "pozicionálási hiba"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "hiba a . bejegyzés írásakor"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "hiba a .. bejegyzés írásakor"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "hiba a(z) „%s” lezáráskor"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Használat: mkfs [-V] [-t fájlrendszertípus] [fájlrendszer-beállítások] "
+"eszköz [méret]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"Használat: %s [-h] [-v] [-b blokkméret] [-e kiadás] [-N bájtsorrend] [-i "
+"fájl]\n"
+"[-n név] könyvtárnév kimenetifájl\n"
+" -h ez a súgószöveg\n"
+" -v részletes mód\n"
+" -E az összes figyelmeztetés hiba (nem nulla visszatérési értékkel)\n"
+" -b blokkméret ezen blokkméret használata, meg kell egyeznie a lapmérettel\n"
+" -e szerkesztés beállítja a kiadásszámot (a fsid része)\n"
+" -N bájtsorrend a cramfs bájtsorrendje (big|little|host), alapértelmezett: "
+"host\n"
+" -i fájl egy képfájl beszúrása a fájlrendszerbe (>= 2.4.0 kernel "
+"szükséges)\n"
+" -n név a cramfs fájlrendszer nevének beállítása\n"
+" -p %d bájtnyi kitöltés a rendszerindító kódnak\n"
+" -s a könyvtárbejegyzések rendezése (elavult kapcsoló, érvénytelen)\n"
+" -z lyukak létrehozása (>= 2.3.39 kernel szükséges)\n"
+" könyvtárnév a tömörítendő fájlrendszer gyökérkönyvtára\n"
+" kimenetifájl a kimeneti fájl\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "a gyökér inode nem könyvtár"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Nagyon (%zu bájt) hosszú fájlnév: „%s”.\n"
+"Növelje a MAX_INPUT_NAMELEN értéket az mkcramfs.c-ben és fordítsa újra. "
+"Kilépés.\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "a fájlrendszer túl nagy. Kilépés.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "HIBA: a blokk a blokkhossz (%ld) több mint kétszeresére „tömörítve”\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bájt)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s érvénytelen blokkeszköz"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "rtc riasztás engedélyezése"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"figyelmeztetés: a szükséges becsült méret (felső határa) %lld MB, de a "
+"maximális képfájlméret %u MB. A folyamat idő előtt befejeződhet.\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "ROM képtérkép"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Beleértve: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Könyvtáradatok: %zd bájt\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Összesen: %zd kilobájt\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Szuperblokk: %zd bájt\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"nincs elég hely lefoglalva a ROM képfájlnak (%lld lefoglalva, %zu "
+"használatban)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "ROM kép"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "A ROM képfájl írása meghiúsult (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "figyelmeztetés: a fájlnevek 255 bájt hosszra csonkítva.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "figyelmeztetés: hibák történtek, emiatt fájlok kerültek kihagyásra.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "figyelmeztetés: a fájlméretek %lu MB-ra (mínusz 1 bájt) csonkítva.\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"figyelmeztetés: a felhasználói azonosítók %u bitre csonkítva. (Ez biztonsági "
+"probléma lehet.)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"figyelmeztetés: a csoportazonosítók %u bitre csonkítva.(Ez biztonsági "
+"probléma lehet.)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"FIGYELMEZTETÉS: az eszközszámok %u bitre csonkítva. Ez majdnem biztosan azt\n"
+"jelenti, hogy bizonyos eszközfájlok hibásak lesznek.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Használat: %s [-c | -l fájlnév] [-nXX] [-iXX] /dev/név [blokkok]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "a(z) %s csatolva van, itt nem lesz létrehozva fájlrendszer!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "a rendszerindító blokkra pozicionálás meghiúsult a write_tables-ben"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "a rendszerindító szektort nem lehet törölni"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "a pozicionálás sikertelen a write_tables-ben"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "a szuperblokk nem Ă­rhatĂł"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "az inode térkép nem írható"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "a zónatérkép nem írható"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "az inode-ok nem Ă­rhatĂłk"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "a pozicionálás meghiúsult a write_block-ban"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "az írás meghiúsult a write_block-ban"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "túl sok hibás blokk"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "nincs elég jó blokk"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "nem lehet puffert lefoglalni a szuperblokknak"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "nem lehet puffereket lefoglalni a térképeknek"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "nem lehet puffereket lefoglalni az inode-oknak"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld inode\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld blokk\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Max. méret=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "a pozicionálás meghiúsult a blokkok tesztelése közben"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Szokatlan értékek a do_check-ben: ez valószínűleg hibát jelez\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "a pozicionálás meghiúsult a check_blocks-ban"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"hibás blokkok az adatterület előtt: nem lehet létrehozni a fájlrendszert"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d hibás blokk\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "egy hibás blokk\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "nem nyitható meg a hibás blokkok fájlja"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "bemeneti hiba a hibás blokkok számánál a(z) %d. sorban\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "hibás blokkok fájlja nem olvasható"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "hibás inode méret"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol hiba: a blokkok száma nincs meghatározva"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "mount: a(z) %s foglalt"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "a blokkméret kisebb, mint a fizikai szektorméret (%s)"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "a(z) %s mérete nem állapítható meg"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "a(z) „%s” eszközön nem történik kísérlet a fájlrendszer létrehozására"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "a blokkok száma túl kicsi"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Hibás felhasználó által megadott lapméret: %d\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"A felhasználó által megadott %d lapméret használata a rendszer %d értéke "
+"helyett\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr "A swap fejlécmérete hibás, nem került kiírásra címke.\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "A cĂ­mke csonkĂ­tva.\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "nincs cĂ­mke, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "nincs uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "túl sok hibás lap"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "a pozicionálás meghiúsult a check_blocks-ban"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "egy hibás lap\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu hibás lap\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "nem lehet lefoglalni az új libblkid vizsgálatot"
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr "nem rendelhető eszköz a libblkid vizsgálathoz"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "a rendszerindítóbit-szektorokat nem lehet törölni"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s: %s: figyelmeztetés: ne törölje a rendszerindítóbit-szektorokat\n"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (%s partíciós tábla észlelve). "
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " teljes lemezen. "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (a program a libblkid nélkül lett lefordítva). "
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "lefoglalt szemaforok = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, fuzzy, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+"%1$s: figyelmeztetés: a -U figyelmen kívül marad (a(z) %1$s nem támogatja az "
+"UUID-ket)\n"
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: nem támogatja a(z) %d lapozóterület-verziószámot\n"
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "hiba: az UUID feldolgozás meghiúsult"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s hiba: Nem állítja be sehová a lapozóterületet?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "érvénytelen kapcsoló"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: hiba: a(z) %llu KiB méret nagyobb mint az eszköz %llu KiB mérete\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s hiba: a lapozóterületnek legalább %ld KiB méretűnek kell lennie\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: figyelmeztetés: a lapozóterület %llu KiB méretre lesz csonkítva\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr ""
+"%s: hiba: a(z) %s csatolva van, a lapozóterület nem kerül létrehozásra.\n"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Figyelmeztetés: a(z) %s nem blokkeszköz\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "A lapozóterület nem állítható be: olvashatatlan"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "1. verziójú lapozóterület beállítása, mérete: %llu kiB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: %s: nem lehet írni az aláíráslapra: %s"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "az fsync meghiĂşsult"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: %s: a selinux fájlcímke nem kérhető le: %s\n"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "nem hajtható végre a matchpathcon() hívás"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "nem hozható létre új selinux kontextus"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "nem számítható ki a selinux kontextus"
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "%s: %s nem címkézhető át (erre: %s): %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Partíciószám"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Csak megjeleníti a partíciós táblát"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "Nem sikerült a partíció kiírása a(z) %s eszközön\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Szektorok száma"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Partíciószám"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d partĂ­ciĂł:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Partíciós tábla kiírása a lemezre..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d partĂ­ciĂł:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "az azonosító elérése megtagadva"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "Nem foglalhatĂł le puffert.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: nem található szabad hurokeszköz"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: a(z) %s hurokeszköz kerül felhasználásra\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Ismeretlen parancs: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "a pozicionálás sikertelen a write_tables-ben"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "%d. partíció kiválasztva\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Nincsenek partĂ­ciĂłk megadva\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Ez a partíció már létezik.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "%d. partíció kiválasztva\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "nem része a(z) %s partíciónak\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Figyelmeztetés: %s partíció "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Nincsenek partĂ­ciĂłk megadva\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s meghiĂşsult.\n"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr ""
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr ""
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr ""
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "Nem foglalhatĂł le puffert.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "partíciós tábla újraolvasása"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " (%s partíciós tábla észlelve). "
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "A(z) %s lemez nem tartalmaz érvényes partíciós táblát\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Elérhető parancsok:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Nem törölhet üres partíciót"
+
+#: disk-utils/partx.c:832
+#, fuzzy, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "a sebesség (%d) nem támogatott"
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "Nem foglalhatĂł le puffert.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Nem lehet zárolni a(z) %s zárolási fájlt: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Figyelmeztetés: a(z) %s nem blokkeszköz\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "a(z) „%s” eszköz nem érhető el"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "a(z) „%s” eszköz nem érhető el"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s: nem egy karaktereszköz"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s nem soros vonal"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "hiba a szolgáltatás leállításakor: „%s”"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "hiba a szolgáltatás leállításakor: „%s”"
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "használat: sfdisk --id eszköz partíciószám [azonosító]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "a pozicionálás sikertelen a write_tables-ben"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "partíciós tábla újraolvasása"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: nincs ilyen partĂ­ciĂł\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "Nem támogatott utótag: „%s”.\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "a pozicionálás sikertelen a write_tables-ben"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+#, fuzzy
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+"%1$s: figyelmeztetés: a -U figyelmen kívül marad (a(z) %1$s nem támogatja az "
+"UUID-ket)\n"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: A memĂłria elfogyott!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Használhatatlan"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Szabad terĂĽlet"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "A lemez megváltozott.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"A rendszer újraindításával biztosíthatja a partíciós tábla megfelelő "
+"frissítését.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"FIGYELMEZTETÉS: Ha DOS 6.x partíciót hozott\n"
+"létre vagy módosított, akkor további információkért\n"
+"olvassa el a cfdisk kézikönyv oldalát.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "VÉGZETES HIBA "
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Üssön le egy billentyűt a kilépéshez"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Nem lehet pozicionálni a lemezmeghajtón"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "A lemezmeghajtĂł nem olvashatĂł"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "A lemezmeghajtĂł nem Ă­rhatĂł"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "TĂşl sok partĂ­ciĂł"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "A partíció a 0. szektor előtt kezdődik"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "A partíció a 0. szektor után fejeződik be"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "A partíció a lemez vége után kezdődik"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "A partíció a lemezmeghajtó után végződik"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "a logikai partíciók nincsenek a lemezlistában"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "logikai partíciók fedik egymást"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "megnövelt logikai partíciók fedik egymást"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"Belső hiba logikai partíció kiterjesztett partíció nélküli létrehozása során!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Nem hozható létre logikai meghajtó -- ez két kiterjesztett partíciót hozna "
+"létre"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "A menüelem túl hosszú. A menü furcsán jelenhet meg."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Érvénytelen billentyű"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Nyomjon meg egy billentyűt a folytatáshoz"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Elsődleges"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Új elsődleges partíció létrehozása"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logikai"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Új logikai partíció létrehozása"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "MĂ©gsem"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Ne hozzon létre partíciót"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Belső hiba !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "MĂ©ret (MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Kezdet"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Partíció hozzáadása a szabad terület elején"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "VĂ©ge"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Partíció hozzáadása a szabad terület végén"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Nincs hely a kiterjesztett partíció létrehozásához"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Nincs jelen partíciós tábla.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Nincs partíciós tábla. Indítás üres táblával."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "A partíciós tábla aláírása hibás"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "A partíciós tábla típusa ismeretlen"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Üres táblával szeretne indulni [i/N]?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Több cilindert adott meg, mint amennyi elfér a lemezen"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Nem nyithatĂł meg a lemezmeghajtĂł"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "A megnyitott lemez csak olvasható - nincs joga írni rá"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Figyelmeztetés: Nem támogatott GPT (GUID partíciós tábla). Használja a GNU "
+"Parted-et."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Nem lehet lekérdezni a lemez méretét"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Hibás elsődleges partíció"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Hibás logikai partíció"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Figyelmeztetés: ez megsemmisítheti a lemezen található adatait!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Biztosan ki akarja írni a partíciós táblát a lemezre? (igen vagy nem): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "nem"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "A partíciós tábla nem került a lemezre"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "igen"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Az „igen” vagy „nem” egyikét írja be"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Partíciós tábla kiírása a lemezre..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "A partíciós tábla kiírva a lemezre"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"A partíciós tábla kiírva, de újraolvasni nem sikerült. Újraindítás szükséges."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Egy elsődleges partíció sincs indíthatóként kijelölve. A DOS MBR ezt nem "
+"tudja elindĂ­tani."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Több elsődleges partíció van indíthatóként kijelölve. A DOS MBR ezt nem "
+"tudja elindĂ­tani."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Adjon meg fájlnevet vagy nyomja meg az ENTER-t a képernyő megjelenítéshez: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "LemezmeghajtĂł: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "0. szektor:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "%d. szektor:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Nincs "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Els/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Elsődleges"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logikai"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Ismeretlen"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "IndĂ­thatĂł"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Nincs"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "A(z) „%s” partíciós táblája\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Első Utolsó\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Típus Szektor Szektor Eltolás Hossz Fájlrendszer Típus (ID) "
+"Jelző\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ---Kezdet-- ---Vég--- Kezdet Szám\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Jelzők Fej Szekt Cil ID Fej Szektor Cil Szektor Szektorok\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Nyers"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Tábla megjelenítése nyers formában"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Szektorok"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Tábla megjelenítése szektorok szerint"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Táblázat"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Csak megjeleníti a partíciós táblát"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Ne jelenjen meg a tábla"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "A cfdisk sĂşgĂłja"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Ez a cfdisk, egy curses alapú lemezparticionáló program, amellyel"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "létrehozhatja, törölheti és módosíthatja a partícióit a"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "merevlemezen."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Parancs Jelentés"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Az aktuális partíció megjelölése indíthatóként"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Az aktuális partíció törlése"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g A cilinder-, fej-, és sávonkénti szektorszám módosítása"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " FIGYELMEZTETÉS: Ezt a lehetőséget csak akkor használja,"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " ha tudja, hogy mit csinál."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Ezen képernyő megjelenítése"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Az aktuális partíció lemezkihasználásának maximalizálása"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Megjegyzés: Ez inkompatibilissé teheti a partíciót a "
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS-sal, OS/2-vel, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Új partíció létrehozása a szabad területből"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p A partíciós tábla kiírása a képernyőre vagy fájlba"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Számos különböző partícióformátum létezik,"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " amelyek közül választhat:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - Nyers adatok (pontosan az, ami ki lesz Ă­rva a lemezre)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Táblázat szektorok szerint rendezve"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Táblázat nyers formában"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Kilépés a programból a partíciós tábla kiírása nélkül"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t A fájlrendszer típusának megváltoztatása"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u A partícióméret kijelzési egységének megváltoztatása"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Választhat MB-ok, szektorok és cilinderek között"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W Kiírja a partíciós táblát a lemezre (csak a nagy W érvényes)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Ez letörli az összes adatot a lemezről, ezért"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " erősítse, vagy tagadja meg az írást az „igen”"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " vagy „nem” beírásával"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Fel nyíl A kurzort az előző partícióra mozgatja"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Le nyíl A kurzort a következő partícióra mozgatja"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "Ctrl-L Újrarajzolja a képernyőt"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Ez a képernyő"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Megjegyzés: Az összes parancs beírható kis és nagy betűvel is"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "kivéve kiírásnál (W)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cilinderek"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Cilinderek geometriájának megváltoztatása"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Fejek"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Fejek geometriájának megváltoztatása"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Szektorok geometriájának megváltoztatása"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "KĂ©sz"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "A geometria megváltoztatása kész"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Adja meg a cilinderek számát: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Érvénytelen cilinderérték"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Adja meg a fejek számát: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Érvénytelen fejszám"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Adja meg a sávonkénti szektorok számát: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Érvénytelen szektorszám"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "A fájlrendszer típusa nem módosítható üresre"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "A fájlrendszer típusa nem módosítható kiterjesztettre"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Ism(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Els/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Ismeretlen (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "LemezmeghajtĂł: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Méret: %lld bájt, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Méret: %lld bájt, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Fejek: %d Sávonkénti szektorszám: %d Cilinderek: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "NĂ©v"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Jelek"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Part. tĂ­pus"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "FR tĂ­pus"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[CĂ­mke]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Szektorok"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cilinderek"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " MĂ©ret (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " MĂ©ret (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Nincs több partíció"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "AktĂ­v"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Az aktuális partíció indíthatóvá tétele"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Törlés"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Az aktuális partíció törlése"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "A lemezgeometria módosítása (csak haladóknak)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "SĂşgĂł"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Segítség kiírása"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maximal."
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maximalizálja az aktuális partíció lemezkihasználását (csak haladónak)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Ăšj"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Új partíció létrehozása a szabad területen"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Megnézés"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Kiírja a partíciós táblát a képernyőre vagy egy fájlba"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Kilépés"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Kilépés a partíciós tábla kiírása nélkül"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "TĂ­pus"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "A fájlrendszer típusának módosítása (DOS, Linux, OS/2, stb)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Egység"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"A partícióméret kijelzési egységének megváltoztatása (MB, Szekt., Cil.)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Kiírás"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "A partíciós tábla kiírása a lemezre (adatvesztést okozhat)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Ez a partíció nem tehető indíthatóvá"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Nem törölhet üres partíciót"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Nem maximalizálhatja ezt a partíciót"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Ez a partíció használhatatlan"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Ez a partíció már használatban van"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Ăśres partĂ­ciĂł tĂ­pusa nem mĂłdosĂ­thatĂł"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Érvénytelen parancs"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Használat:\n"
+"Verzió kiírása:\n"
+" %s -v\n"
+"Partíciós tábla kiírása:\n"
+" %s -P {r|s|t} [kapcsolók] eszköz\n"
+"Interaktív használat:\n"
+" %s [kapcsolók] eszköz\n"
+"\n"
+"KapcsolĂłk:\n"
+"-a: Nyilak használata kijelölés helyett;\n"
+"-z: Indítás üres partíciós táblával, a lemezről történő beolvasás helyett;\n"
+"-c C -h F -s S: A kernel által felismert cilinder-, fej-, és\n"
+" szektorszám-értékek felülbírálása.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c a cilinderek számának módosítása"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "a(z) %s nem nyithatĂł meg"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "a(z) %s nem nyithatĂł meg"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tÉrvényes AIX címke van a lemezen.\n"
+"\tSajnos a Linux jelenleg nem tudja ezeket a lemezeket\n"
+"\tkezelni. Ennek ellenére néhány tanács:\n"
+"\t1. Az fdisk megsemmisíti a tartalmát az írás során\n"
+"\t2. Győződjön meg arról hogy a lemez NEM élő része egy\n"
+"\t kötetcsoportnak. (Egyébként letörölheti a\n"
+"\t többi nem tükrözött lemezt is.)\n"
+"\t3. A fizikai kötet törlése előtt győződjön meg, hogy a\n"
+"\t lemezt biztosan eltávolította logikailag az AIX gépről\n"
+"\t (Ellenkező esetben adatvesztés várható.)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tElnézést - ez az fdisk nem kezeli az AIX lemezcímkéket.\n"
+"\tHa DOS típusú partíciókat akar hozzáadni, akkor előbb\n"
+"\thozzon létre egy üres DOS partíciós táblát (használja az 'o'-t)\n"
+"\tFIGYELMEZTETÉS: Ez megsemmisíti a lemez jelenlegi teljes tartalmát.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD címke a következő eszközön: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Lemezcímke írása a következőre: %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Első %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Utolsó %s vagy +méret vagy +méretM vagy +méretK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "A(z) %s nem tartalmaz lemezcímkét.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Létre akar hozni lemezcímkét? (i/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "A(z) „%s” partíció az érvénytelen 0. szektorban kezdődik.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "A(z) %s lemezcímke olvasása a(z) %d. szektornál.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Nincs *BSD partíció a következőn: %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD lemezcĂ­mke parancs (m = sĂşgĂł): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tĂ­pus: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tĂ­pus: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "lemez: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "cĂ­mke: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "jelzők:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " eltávolítható"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " hibás szektor"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "szektoronkénti bájtok: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sávonkénti szektorok: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "cilinderenkénti sávok: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "cilinderenkénti szektorok: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilinderek: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "fordulatszám: %d\n"
+
+# fixme: valami Ă©rtelmeset
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "átrendezés: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "sávdöntés: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cilinderdöntés: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "fejváltás: %ld\t\t# ezredmásodperc\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "sávról sávra pozicionálás: %ld\t ezredmásodperc\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "meghajtĂładatok: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partĂ­ciĂł:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# kezdet vég méret frtípus [fméret bméret cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "szektoronkénti bájtok"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sávonkénti szektorok"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "cilinderenkénti sávok"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cilinderek"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "cilinderenkénti szektorok"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr ""
+"Ez nem lehet nagyobb, mint a sávonkénti szektorok száma * cilinderenkénti "
+"sávok száma (alapértelmezett).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "percenkénti fordulat"
+
+# fixme: valami Ă©rtelmeset
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "átrendezés"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "sávdöntés"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cilinderdöntés"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "fejkapcsolás"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "sávról sávra pozicionálás"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Rendszerindítás: %sindítás -> indítás%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "A rendszerindító átfedi a lemezcímkét!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "A rendszerindító telepítve a következőre: %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "PartĂ­ciĂł (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "A létrehozott partíciók száma elérte a maximumot\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Ez a partíció már létezik.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Figyelmeztetés: túl sok partíció (%d, a maximum: %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Lemezek szinkronizálása.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a indítható jelző átváltása"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a a csak olvasható jelző átváltása"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a az indítható partíció kiválasztása"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a az alternatív cilinderek számának módosítása"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b bsd lemezcímke szerkesztése"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b indítófájl-bejegyzés szerkesztése"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b az adatok elejének mozgatása egy partícióban"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c a DOS kompatibilitás jelzésének átváltása"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c a csatolható jelző átváltása"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c sgi lapozópartíció kiválasztása"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c a cilinderek számának módosítása"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d partíció törlése"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d a partíciós tábla nyers adatainak kiírása"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e a cilinderenkénti extra szektorok számának módosítása"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e kiterjesztett partíciók felsorolása"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e meghajtóadatok szerkesztése"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f partíciósorrend javítása"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g IRIX (SGI) partíciós tábla létrehozása"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h a fejek számának módosítása"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i az átrendezési tényező módosítása"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " i a lemezazonosító módosítása"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i rendszertöltő telepítése"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l az ismert partíciótípusok felsorolása"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m ezen menü kiírása"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n új partíció hozzáadása"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o új, üres DOS partíciós tábla létrehozása"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o a forgási sebesség (rpm) módosítása"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Csak megjeleníti a partíciós táblát"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q kilépés mentés nélkül"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r vissza a főmenübe"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s új, üres Sun lemezcímke létrehozása"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s a sávonkénti szektorok számának módosítása"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s a teljes lemezcímke mutatása"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t egy partíció rendszerazonosítójának módosítása"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u a megjelenítési/bejegyzésegységek megváltoztatása"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v a partíciós tábla ellenőrzése"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w a tábla lemezre írása és kilépés"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w lemezcímke írása a lemezre"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x extra szolgáltatások (csak szakértőknek)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x BSD partíció csatolása egy nem BSD partícióhoz"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y a fizikai cilinderek számának módosítása"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "A(z) %s nem olvashatĂł\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Nem lehet a(z) %s eszközön pozicionálni\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "A(z) %s nem Ă­rhatĂł\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "A BLKGETSIZE ioctl meghiúsult a következőn: %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "VĂ©gzetes hiba\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Parancs Művelet"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Beállítandó"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "fejek"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "szektorok"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Ez csak az extra szolgáltatások menüből érhető el.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " Ă©s "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "ValĂłban folytatni akarja?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Hexa kód (a kódok listája az L megnyomásával érhető el): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, alapértelmezetten %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Nem támogatott utótag: „%s”.\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"Támogatott: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Az alapértelmezett %u érték kerül felhasználásra\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Az érték kívül esik a tartományon.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Partíciószám"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Figyelmeztetés: a(z) %d partíció típusa üres\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "%d. partíció kiválasztva\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "MĂ©g nincs megadva partĂ­ciĂł!\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cilinder"
+msgstr[1] "cilinder"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "szektor"
+msgstr[1] "szektor"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "A megjelenítési/bejegyzésegységek módosítva: %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "A megjelenítési/bejegyzésegységek módosítva: %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "FIGYELMEZTETÉS: A(z) %d partíció egy kiterjesztett partíció\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "A DOS kompatibilitási jelző be van állítva\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "A DOS kompatibilitási jelző nincs beállítva\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "A(z) %d. partĂ­ciĂłnak nincs adatterĂĽlete\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "A(z) %d. partíció még nem létezik!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"A 0 típus legtöbb rendszeren üres helyet jelent\n"
+"(de nem Linuxon). 0 tĂ­pusĂş partĂ­ciĂłt hagyni nem\n"
+"okos dolog. A partíció a 'd' paranccsal törölhető\n"
+"\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"A partíciót nem változtatható kiterjesztett partícióvá vagy vissza\n"
+"Először törölje le.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Fontolja meg a 3-as partíció egész lemezként (5) hagyását\n"
+"mivel a SunOS/Solaris erre számít és a Linux is kezeli.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Fontolja meg a 9-es partíció kötetfejlécként (0) és a 11-es\n"
+"partíció teljes kötetként (6) való meghagyását, ahogyan az IRIX ezt "
+"elvárja.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "A(z) %d. partíció rendszertípusa módosítva a következőre: %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "A(z) %d. partíció rendszertípusa változatlan: %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "A(z) %d. partíción eltér a fizikai és logikai kezdet (nem Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fizikai=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logikai=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "A(z) %d. partíción eltér a fizikai és logikai vég:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "A(z) %i. partíció nem cilinderhatáron végződik.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "A(z) %i. partíció nem cillinderhatáron kezdődik:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"%s lemez: %ld MB, %lld) bájt\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"%s lemez: %ld.%ld GB, %lld bájt\n"
+"\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", összesen %llu szektor"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d fej, %llu szektor, %d cilinder"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Egység: %s %d * %d = %d bájt\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Nincs teendő. A sorrend már helyes.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"KĂ©sz\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Ez nem tűnik partíciós táblának\n"
+"Valószínűleg nem a megfelelő eszközt választotta ki.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Indítás Eleje Vége Blokkok Az Rendszer\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Eszköz"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"A partíciós tábla bejegyzései nem a lemezen található sorrendben vannak\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"%s lemez: %d fej, %llu szektor, %d cilinder\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Szám AF Fej Szek Cil Fej Szek Cil Kezdet Méret Az\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Figyelmeztetés: a(z) %d. partíció a 0. szektort is tartalmazza\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "%d. partíció: a(z) %d. fej nagyobb, mint a maximális %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "%d. partíció: a(z) %d. szektor nagyobb, mint a maximális %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "%d. partíció: a(z) %d. cilinder nagyobb, mint a maximális %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "%d. partíció: az előző %d szektor eltér a teljes %d értéktől\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "A(z) %d. partíció még nem létezik!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "A lemezmeghajtĂł nem Ă­rhatĂł"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"A partíciós tábla módosítva!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "ioctl() hívása a partíciós tábla újraolvasásához.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"FIGYELMEZTETÉS: A partíciós tábla újraolvasása meghiúsult a \n"
+"következő hibával %d: %s. A rendszermag még mindig a régit használja.\n"
+"Az új tábla a következő újraindítás után lép érvénybe.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"FIGYELMEZTETÉS: Ha DOS 6.x partíciót hozott létre vagy módosított\n"
+"akkor további információkért olvassa el a cfdisk kézikönyvoldalát.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Hiba a fájl lezárásakor\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Adatok kiírása a lemezekre.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "A(z) %d. partĂ­ciĂłnak nincs adatterĂĽlete\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Az adatok Ăşj kezdete"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Szakértői parancs (m = súgó): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Cilinderek száma"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Fejek száma"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Szektorok száma"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Figyelmeztetés: a szektoreltolás beállítása DOS-kompatibilitis módra\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"FIGYELMEZTETÉS: A(z) „%s” eszközön GPT (GUID partíciós tábla) található! Az "
+"fdisk segédprogram nem támogatja a GPT-t. Használja a GNU parted programot.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "a(z) „%s” nem nyitható meg\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: ismeretlen parancs\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Egy új Sun lemezcímke kerül létrehozásra. A változások a memóriában\n"
+"maradnak, amíg el nem menti azokat. Ezután természetesen\n"
+"a korábbi tartalom elvész.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"OSF/1 lemezcímke található a(z) %s eszközön, lemezcímke módra váltás.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Parancs (m = sĂşgĂł): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "érvénytelen kapcsoló"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "érvénytelen kapcsoló"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "érvénytelen kapcsoló"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "érvénytelen kapcsoló"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Figyelmeztetés: a -b (szektorméret beállítása) kapcsolóhoz meg kell adni egy "
+"eszközt\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Megjegyzés: a szektorméret: %d (és nem %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "A(z) %s lemez nem tartalmaz érvényes partíciós táblát\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Már minden elsődleges partíció megadásra került!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Hibás eltolás az elsődleges kiterjesztett partíción\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Figyelmeztetés: partíciók kerülnek kihagyásra a(z) %d. után.\n"
+"Ezek törlésre kerülnek a partíciós tábla mentésekor.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Figyelmeztetés: fölösleges linkmutató a(z) %d partíciós táblában\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+"Figyelmeztetés: fölösleges adatok maradnak figyelmen kívül a(z) %d partíciós "
+"táblában\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Figyelmeztetés: üres partíció\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "LemezazonosĂ­tĂł: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Ăšj lemezazonosĂ­tĂł (jelenleg 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "A(z) %d. fölösleges kiterjesztett partíció figyelmen kívül marad\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Figyelmeztetés: a 0x%04x jelző érvénytelen a(z) %d. partíciós táblán, ez a "
+"kiírás után javításra kerül\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"A(z) %d. partíció már létezik. Törölje le az ismételt hozzáadás előtt.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "A(z) %llu. szektor már le van foglalva\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Nem érhető el szabad szektor\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "UtolsĂł %1$s, +%2$s vagy +size{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Hibás logikai partíció"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Figyelmeztetés: az adatok kezdete hibás a(z) %d partíción\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Figyelmeztetés: a(z) %d. partíció átfedi a(z) %d partíciót.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Figyelmeztetés: a(z) %d. partíció üres\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr ""
+"A(z) %d. logikai partĂ­ciĂł nincs teljesen bejegyezve a(z) %d. partĂ­ciĂłn\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+"Az összesen lefoglalt szektorok száma (%ld) nagyobb, mint a maximális %lld\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld szektor nincs lefoglalva\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Az összes logikai partíció használatban van\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Az összes logikai partíció használatban van\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Elsődleges partíció hozzáadása\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l logikai (5 vagy több)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e kiterjesztett"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Az alapértelmezett %u érték kerül felhasználásra\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Érvénytelen partíciószám a(z) „%c” típushoz\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tÉrvényes Mac címke van a lemezen.\n"
+"\tSajnos a fdisk(1) jelenleg nem tudja ezeket a lemezeket\n"
+"\tkezelni. A partíciós tábla módosításához használja a pdisk\n"
+"\tvagy parted programot. Ennek ellenére néhány tanács:\n"
+"\t1. Az fdisk megsemmisíti a tartalmát az írás során\n"
+"\t2. Győződjön meg arról hogy a lemez NEM élő része egy\n"
+"\t kötetcsoportnak. (Egyébként letörölheti a\n"
+"\t többi nem tükrözött lemezt is.)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tElnézést - ez az fdisk nem kezeli a Mac lemezcímkéket.\n"
+"\tHa DOS típusú partíciókat akar hozzáadni, akkor előbb\n"
+"\thozzon létre egy üres DOS partíciós táblát (használja az 'o'-t)\n"
+"\tFIGYELMEZTETÉS: Ez megsemmisíti a lemez jelenlegi teljes tartalmát.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI nyers"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI kötet"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux lapozĂł"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux natĂ­v"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"A MIPS Computer Systems, Inc szerint a címke nem lehet 512 bájtnál hosszabb\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Az sgi lemezcímke ellenőrzőösszege hibás.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"%s lemez (SGI lemezcĂ­mke): %d fej, %llu szektor\n"
+"%d cilinder, %d fizikai cilinder\n"
+"%d extra szekt/cil, átrendezés: %d:1\n"
+"%s\n"
+"Egység = %s, összesen %d * %d bájt\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"%s lemez (SGI lemezcĂ­mke): %d fej, %llu szektor, %d cilinder\n"
+"Egység = %s, összesen %d * %d bájt\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- partĂ­ciĂłk -----\n"
+"Pt# %*s Info Kezdet VĂ©ge Szektorok Az Rendszer\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Indítási információk -----\n"
+"Indítófájl: %s\n"
+"----- Könyvtárbejegyzések -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s szektor: %5u méret: %8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Érvénytelen indítófájl\n"
+"\tAz indítófájlnak abszolút, nem üres útvonalnévnek kell lennie,\n"
+"\tpéldául „/unix” vagy „/unix.save”.\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tAz indítófájl neve túl hosszú: Maximum 16 bájt lehet.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tAz indítófájlnak teljes képzésű útvonalnévvel kell rendelkeznie.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tNe feledje, hogy az indítófájl létezése nem került ellenőrzésre\n"
+"\tAz SGI alapértelmezése a „/unix” és a biztonsági mentés a „/unix.save”.\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Az aktuális indítófájl: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Adja meg az új indítófájl nevét: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Az indítófájl változatlan\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tAz indítófájl a következőre módosítva: „%s”.\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Több teljes lemez bejegyzés van jelen.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nincsenek partĂ­ciĂłk megadva\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "Az IRIX szereti, ha a 11. partĂ­ciĂł elfoglalja a teljes lemezt.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"A teljes lemezpartíciónak a 0. blokkon kellene kezdődnie\n"
+"Ă©s nem a(z) %d. lemezblokkon.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"A teljes lemezpartíció csak %d lemezblokk méretű,\n"
+"de a lemez %d lemezblokk hosszĂş.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Egy partĂ­ciĂłnak (a 11.-nek) le kellene fednie a teljes lemezt.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "A(z) %d. partíció nem cilinderhatáron kezdődik.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "A(z) %d. partíció nem cilinderhatáron végződik.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "A(z) %d. és %d. partíciók átfedik egymást %d szektorral.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Nem használt %8u szektor hosszú hézag - a(z) %8u-%u szektorok\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Az indítópartíció nem létezik.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"A lapozópartíció nem létezik.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"A lapozĂłpartĂ­ciĂł nem lapozĂłpartĂ­ciĂł tĂ­pusĂş.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tSzokatlan indítófájl nevet választott.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Elnézést, csak a rendszergazda módosíthatja a rendszerórát.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Erősen ajánlott, hogy a 0 eltolásnál található partíció „SGI volhdr”\n"
+"típusú legyen, az IRIX rendszer erre fog hagyatkozni a könyvtárból\n"
+"önálló eszközök lekérdezéskor, mint a sash és az fx.\n"
+"Csak az „SGI kötet” teljes lemezszakasz sértheti ezt meg.\n"
+"Írja be az IGEN szót, ha biztosan eltérő módon kívánja címkézni ezt a "
+"partĂ­ciĂłt.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "IGEN\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+"Egymást átfedő partíciók találhatók a lemezen. Először javítsa ezt ki!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Kísérlet a teljes lemezbejegyzés automatikus előállítására.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "A partíciók már lefedik a teljes lemezt.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Egymást átfedő partíciók találhatók a lemezen. Először javítsa ezt ki!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Erősen ajánlott, hogy a 11. partíció\n"
+"lefedje az egész lemezt és 'SGI kötet' típusú legyen.\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Egymást átfedő partíciók lesznek a lemezen. Először javítsa ezt ki!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " UtolsĂł %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "A BLKGETSIZE ioctl meghiúsult a következőn: %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Figyelmeztetés: a BLKGETSIZlE ioctl meghiúsult a(z) %s eszközön. A(z) %d "
+"geometria-cilinderérték kerül felhasználásra. Ez az érték csonkításra "
+"kerülhet 33,8 GB-nál nagyobb eszközökön.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "AZ=%02x\tKEZDET=%d\tHOSSZ=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Kísérlet a(z) %d. partíció paramétereinek megtartására.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Társítatlan"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS gyökér"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS lapozĂł"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Teljes lemez"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt szektorok"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS fenntartott"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid automatikus felismeréssel"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"A Sun lemezcímke ellenőrzőösszege hibás.\n"
+"Valószínűleg be kell állítania minden értéket\n"
+"például a fejek, szektorok, cilinderek és partíciók számát\n"
+"vagy készítsen új címkét (a fő menü 's' parancsával)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "A Sun lemezcímke verziószáma hibás [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "A Sun lemezcímke állapota hibás [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "A Sun lemezcímke num_partitions[%u] értéke hibás.\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Figyelmeztetés: A hibás értékeket javítani kell, ez az íráskor megtörténik\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "A(z) %s nem tartalmaz lemezcímkét.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sávonkénti szektorok"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "A(z) %d. partíció nem cilinderhatáron végződik.\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "A(z) %d. partíció másokat fed át a(z) %d-%d szektorokban\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Nem használt hézag a 0-%d szektorokon\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Nem használt hézag a(z) %d-%d szektorokon\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"A többi partíció már lefedi a teljes lemezt.\n"
+"Töröljön vagy zsugorítson össze néhányat az újrapróbálkozás előtt.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Erősen ajánlott, hogy a 11. partíció\n"
+"lefedje az egész lemezt és 'SGI kötet' típusú legyen.\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "A(z) %d. szektor már le van foglalva\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Nem foglalta le a teljes lemezt a 3. partícióval, de a(z) %d %s érték\n"
+"lefoglal egy másik partíciót. A bejegyzése módosítva %d %s értékre.\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Ha fenn akarja tartani a SunOS/Solaris kompatibilitást, akkor hagyja a\n"
+"partíciót teljes lemezként (5), a 0. szektortól %u szektorral\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Erősen ajánlott a 0 eltolásnál található partíciót UFS, EXT2FS vagy\n"
+"SunOS lapozó partíció típusúra állítani. Linux lapozópartíció\n"
+"létrehozásakor megsemmisülhet a partíciós tábla és az indítóblokk.\n"
+"ĂŤrja be az IGEN szĂłt, ha a partĂ­ciĂł biztosan 82-es (Linux lapozĂł)\n"
+"tĂ­pusĂş legyen: "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Lemez %s (Sun lemezcímke): %d fej, %llu szektor, %d fordulat percenként\n"
+"%d cilinder, %d alternatĂ­v cilinder, %d fizikai cilinder\n"
+"%d extra szekt/cil, átrendezés: %d:1\n"
+"CĂ­mkeazonosĂ­tĂł: %s\n"
+"Kötetazonosító: %s\n"
+"Egység = %s, összesen %d * 512 bájt\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Lemez %s (Sun lemezcĂ­mke): %d fej, %llu szektor, %d cilinder\n"
+"Egység = %s, összesen %d * 512 bájt\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Jelző Kezdet Vége Blokkok Az Rendszer\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Az alternatív cilinderek száma"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Cilinderenkénti extra szektorok"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "ĂtrendezĂ©si tĂ©nyezĹ‘"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Forgási sebesség (percenkénti fordulat)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "A fizikai cilinderek száma"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Ăśres"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Kiterjesztett"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX indĂ­thatĂł"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Rendszerindítás-kezelő"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 kiterj. (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Rejtett FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnosztikai"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Rejtett FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Rejtett FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Rejtett HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Rejtett W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Rejtett W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Rejtett W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "Rejtett HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic helyreállítás"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP indĂ­tĂł"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. partĂ­ciĂł"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. partĂ­ciĂł"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD vagy SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "RĂ©gi Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / régi Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux lapozĂł / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 rejtett C: meghajtĂł"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux kiterjesztett"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS kötetkészlet"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux egyszerű szöveg"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernálás"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin indĂ­tĂł"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI lapozĂł"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard rejtett"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris indĂ­tĂł"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Nem fájlrendszeradatok"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS elérés"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC indĂ­tĂł"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS másodlagos"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr ""
+"pozicionálási hiba a(z) %s eszközön - nem lehet a(z) %lu helyre "
+"pozicionálni\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "pozicionálási hiba: a várt 0x%08x%08x helyett 0x%08x%08x érkezett\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "olvasási hiba a(z) %s eszközön - a(z) %lu. szektor nem olvasható\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "írási hiba a(z) %s eszközön - nem lehet írni a(z) %lu. szektorra\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "nem nyitható meg a partíció szektormentés fájlja (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "írási hiba a(z) %s eszközön\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "nem érhető el a partíció visszaállítófájlja (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"a partíció visszaállítófájljának mérete hibás - nem kerül visszaállításra\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "a partíció visszaállítófájlja nem nyitható meg (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "hiba a(z) %s olvasásakor\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "a(z) %s eszköz nem nyitható meg írásra\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "hiba a(z) %lu. szektor írása közben a(z) %s eszközön\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "%s lemez: nem kérhető le a geometria\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "%s lemez: nem kérhető le a méret\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Figyelmeztetés: Kezdés=%lu - ez partíciónak tűnik és nem a teljes\n"
+"lemeznek. Az fdisk használata valószínűleg értelmetlen. [Ha valóban\n"
+"ezt akarja, akkor a --force kapcsolĂłval teheti meg]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Figyelmeztetés: a HDIO_GETGEO %lu fej jelenlététét jelzi\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Figyelmeztetés: a HDIO_GETGEO %lu szektor jelenlététét jelzi\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+"Figyelmeztetés: a BLKGETSIZE/HDIO_GETGEO %lu cilinder jelenlététét jelzi\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Figyelmeztetés: a szektorok száma (%lu) valószínűtlen - általában\n"
+"legfeljebb 63. Ez a problémákat fog okozni az összes C/H/S címzést\n"
+"használó szoftverben.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"%s lemez: %lu cilinder, %lu fej, %lu szektor sávonként\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"A(z) $%2s partíció $%1s értéke lehetetlen fejszámot ad meg: $%3lu (0-$%4lu "
+"között kellene lennie)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"A(z) $%2s partíció $%1s értéke lehetetlen szektorszámot ad meg: $%3lu (0-$"
+"%4lu között kellene lennie)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"A(z) $%2s partíció $%1s értéke lehetetlen cilinderszámot ad meg: $%3lu (0-$"
+"%4lu között kellene lennie)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"AzonosĂ­tĂł NĂ©v\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "A partíciós tábla újraolvasása ...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"A partíciós tábla újraolvasás parancsa meghiúsult\n"
+"Indítsa újra most a rendszert az mkfs használata előtt\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Hiba a(z) %s lezárásakor\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: nincs ilyen partĂ­ciĂł\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "ismeretlen formátum - a szektorok kerülnek felhasználásra\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "megvalósítatlan formátum - a(z) %s kerül felhasználásra\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Egység = %lu bájtos cilinderek, 1024 bájtos blokkok, kezdősorszám: %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Eszköz Indítás Kezdet Vége #cill #blokk Az Rendszer\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Egység = 512 bájtos szektorok, kezdősorszám: %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Eszköz Indítás Kezdet Vége #szektor Az Rendszer\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Egység = 1024 bájtos blokkok, kezdősorszám: %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Eszköz Indítás Kezdet Vége #blokk Az Rendszer\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Egység = 1048576 bájtos mebibájt, 1024 bájtos blokkok, kezdősorszám: %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr "Eszköz Indítás Kezdet Vége MiB #blokkok Az Rendszer\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tkezdet: (c,h,s) várt: (%ld,%ld,%ld) talált: (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tvége: (c,h,s) várt: (%ld,%ld,%ld) talált: (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "a partíció a(z) %ld cilinderen végződik, a lemez vége után\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Nem találhatók partíciók\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Figyelmeztetés: Úgy tűnik, a partíciós tábla a\n"
+" C/H/S=*/%ld/%ld értékekhez készült (%ld/%ld/%ld helyett).\n"
+"Ehhez a listához ez lesz a feltételezett geometria.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "nincs jelen partíciós tábla.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "furcsa, csak %d partĂ­ciĂł van megadva.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"Figyelmeztetés: a(z) %s partíció mérete 0, de nincs üresként megjelölve\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Figyelmeztetés: a(z) %s partíció mérete 0 és indítható\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Figyelmeztetés: a(z) %s partíció mérete 0 és nem nulláról indul\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "nem része a(z) %s partíciónak\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Figyelmeztetés: a(z) %d. partíció üres\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Figyelmeztetés: a(z) %s tartalmazza a partíciós tábla egy részét\n"
+"(%lu. szektor) és megsemmisíti azt a kitöltéskor\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Figyelmeztetés: a(z) %s partíció a 0. szektornál kezdődik\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Figyelmeztetés: a(z) %s partíció túlnyúlik a lemezen\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Az elsődleges partíciók közül legfeljebb egy lehet kiterjesztett\n"
+"(noha ez Linux alatt nem probléma)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Figyelmeztetés: a(z) %s partíció nem cilinderhatáron kezdődik.\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Figyelmeztetés: a(z) %s partíció nem cilinderhatáron végződik.\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Figyelmeztetés: több elsődleges partíció van indíthatóként megjelölve.\n"
+"Ez nem probléma a LILO-nak, de a DOS MBR nem fog elindulni erről a "
+"lemezről.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Figyelmeztetés: általában csak elsődleges partícióról lehet rendszert\n"
+"indítani. A LILO nem veszi figyelembe az „indítható” jelzőt.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Figyelmeztetés: nem elsődleges partíció van megjelölve indíthatóként "
+"(aktĂ­v).\n"
+"Ez nem probléma a LILO-nak, de a DOS MBR nem fog elindulni erről a "
+"lemezről.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "kezdet"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"%s partíció: kezdete: (c,h,s) a várt (%ld,%ld,%ld) helyett\n"
+"(%ld,%ld,%ld) található\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "vég"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"%s partíció: vége: (c,h,s) a várt (%ld,%ld,%ld) helyett\n"
+"(%ld,%ld,%ld) található\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "a partíció (%s) a(z) %ld. cilinderen végződik, a lemez vége előtt\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Figyelmeztetés: a kiterjesztett partíció kezdete eltolva: %ld -> %ld\n"
+"(Csak kiíratáshoz. Ne változtassa meg a tartalmát.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Figyelmeztetés: a kiterjesztett partíció nem cilinderhatárnál kezdődik.\n"
+"A DOS és Linux a tartalmát eltérően fogja értelmezni.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "HIBA: a(z) %lu. szektor nem rendelkezik msdos aláírással\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "túl sok partíció - a(z) %d. utániak figyelmen kívül maradnak\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "partĂ­ciĂłfa?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "az érzékelt Disk Manager nem kezelhető\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6 aláírást található - feladom\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "furcsa... a kiterjesztett partíció mérete 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "furcsa... a BSD partíció mérete 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: azonosítatlan partícióstábla-típus\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "megadta a -n kapcsolĂłt: Semmi sem mĂłdosult\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Nem sikerült elmenteni a régi szektorokat - megszakítás\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Nem sikerült a partíció kiírása a(z) %s eszközön\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "hosszú vagy hiányos bemeneti sor - kilépés\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "bemeneti hiba: a(z) %s mezőt „=” jelnek kellene követnie\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "bemeneti hiba: váratlan karakter (%c) a(z) %s mező után\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "azonosĂ­tatlan bemenet: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "a szám túl nagy\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "befejező szemét egy szám után\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "nincs hely a partĂ­ciĂłleĂ­rĂłnak\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "nem lehet felépíteni a körülvevő kiterjesztett partíciót\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "túl sok bemeneti mező\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Nincs hely több elem számára\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Érvénytelen típus\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Figyelmeztetés: a megadott méret (%lu) túllépte az engedélyezhető legnagyobb "
+"méretet (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Figyelmeztetés: üres partíció\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Figyelmeztetés: hibás a partíció kezdete (legelső %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "azonosítatlan indítható jelző - válassza a - vagy * egyikét\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "részleges c,h,s meghatározás?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "A kiterjesztett partíció nem a várt helyen van\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "hibás bemenet\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "tĂşl sok partĂ­ciĂł\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Használja az alábbi formát; a hiányzó mezők alapértelmezett értéket kapnak.\n"
+"<kezdet> <méret> <típus [E,S,L,X,hex]> <indítható [-,*]> <c,h,s> <c,h,s>\n"
+"Ăltalában csak a <kezdet> Ă©s a <mĂ©ret> megadása szĂĽksĂ©ges (Ă©s nĂ©ha a "
+"<tĂ­pus>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Használat:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partĂ­ciĂł:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "Veszélyes kapcsolók:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g [vagy --show-geometry]: kiírja a geometriát a partíciós tábla alapján"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [vagy --show-extended]: felsorolja a kibővített partíciókat is\n"
+" vagy leírókat vár hozzájuk a bemenetről"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Használat:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s eszköz\t\t az eszköz aktív partícióinak felsorolása\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s eszköz n1 n2... az n1... partíciók aktiválása, a többi deaktiválása\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An eszköz\t az n. partíció aktiválása, a többi deaktiválása\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"FIGYELMEZTETÉS: A(z) „%s” eszközön GPT (GUID Partition Table) található!\n"
+"Az sfdisk segédprogram nem támogatja a GPT-t. Használja a GNU Parted "
+"programot.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Ezt az ellenőrzést a --force kapcsoló segítségével bírálhatja felül.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "nincs parancs?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "a sorok száma érvénytelen"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "összesen: %llu blokk\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "használat: sfdisk --print-id eszköz partíciószám\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "használat: sfdisk --change-id eszköz partíciószám azonosító\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "használat: sfdisk --id eszköz partíciószám [azonosító]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "csak egy eszköz adható meg (kivéve a -l vagy -s kapcsolót)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "a(z) %s nem nyitható meg írásra és olvasásra\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "a(z) %s nem nyitható meg olvasásra\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilinder, %ld fej, %ld sáv szektoronként\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "Nem kérhető le a(z) %s mérete\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "hibás aktív bájt: 0x%x a 0x80 helyett\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"KĂ©sz\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"%d aktív elsődleges partíció található. Ez nem probléma a LILO-nak, de a "
+"DOS\n"
+"MBR csak a pontosan egy aktív partíciót tartalmazó lemezről képes "
+"elindulni.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "a(z) %s partĂ­ciĂł azonosĂ­tĂłja %x Ă©s nem rejtett\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "Hibás azonosító: %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "A lemez jelenleg használatban van.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Végzetes hiba: a(z) „%s” nem található\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Figyelmeztetés: a(z) %s nem blokkeszköz\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+"Ellenőrzésre kerül, hogy pillanatnyilag senki sem használja a lemezt...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"A lemez jelenleg használatban van; az újraparticionálása rossz ötlet.\n"
+"Válassza le az összes fájlrendszert és használja a swapoff parancsot a\n"
+"lapozópartíciók kikapcsolásához. Használja a --no-reread kapcsolót ezen\n"
+"ellenőrzés letiltásához.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Használja a --force kapcsolót az összes ellenőrzés felülbírálásához.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "Rendben\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "RĂ©gi helyzet:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "A(z) %d. partíció nem létezik, nem lehet módosítani\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Ăšj helyzet:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Nem szeretem ezeket a partíciókat - semmit sem változott.\n"
+"(Ha tényleg ezt akarja, használja a --force kapcsolót.)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Nem szeretem ezt - Ajánlott a Nem válasz\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Elégedett ezzel? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "ValĂłban lemezre akarja ezt Ă­rni? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Kilépés - semmi sem változott\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Az y, n, q (igen, nem, kilépés) egyikével válaszoljon\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Az új partíciós tábla sikeresen kiírva\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Ha DOS partíciót hozott létre vagy módosított, például: /dev/foo7, akkor\n"
+"használja a dd(1) parancsot az első 512 bájt kinullázáshoz:\n"
+"dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(Nézze meg az fdisk(8) kézikönyvoldalt)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Verzióinformációk kiírása\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: írási hiba.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: Az --adjfile és a --noadjfile kölcsönösen kizárják egymást, de "
+"mindkettőt megadta.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "a setuid() hívása meghiúsult"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "nem foglalhatĂł le pufferterĂĽlet"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "az időzítésfájl (%s) olvasása meghiúsult"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "az időzítésfájl (%s) olvasása meghiúsult"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "Használat: namei [-mx] útvonal [útvonal ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p irodai_szám ]\n"
+"\t[ -h otthoni_szám ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Verzióinformációk kiírása\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: a(z) %d azonosítójú felhasználó nem létezik.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: a(z) „%s” felhasználó nem létezik.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr ""
+"%s: csak helyi bejegyzések módosíthatók, használja inkább az yp%s "
+"lehetőséget.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s nincs felhatalmazva %s finger információinak módosítására\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "ismeretlen felhasználói kontextus"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: Nem állítható be az /etc/passwd alapértelmezett kontextusa"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "%s finger információinak megváltoztatása.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "A finger információk nem változtak.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+#, fuzzy
+msgid "Office"
+msgstr "Iroda"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+#, fuzzy
+msgid "Home Phone"
+msgstr "Otthoni telefon"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"MegszakĂ­tva.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "a mező túl hosszú.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "a mező túl hosszú.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: „%c” nem engedélyezett.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "A(z) „%c” nem engedélyezett.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: A vezérlőkarakterek nem engedélyezettek.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "A vezérlőkarakterek nem engedélyezettek.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "A finger információk *NEM* változtak. Próbálja meg újra később.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "A finger információk megváltoztak.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+" -s, --shell=parancsértelmező A parancsértelmező idézési "
+"megállapodásainak\n"
+" beállítása\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr ""
+"%s: csak helyi bejegyzések módosíthatók, használja inkább az yp%s "
+"lehetőséget.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s nem jogosult %s parancsértelmezőjének módosítására\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: Az aktuális felhasználó azonosítója (UID) nem egyezik a módosítandó\n"
+"felhasználó azonosítójával, a módosítás megtagadva\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+"%s: A parancsértelmezője hiányzik az /etc/shells fájlból, a\n"
+"parancsértelmező módosítása megtagadva\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "%s parancsértelmezőjének megváltoztatása.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Új parancsértelmező"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "A parancsértelmező nem változott.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "A parancsértelmező *NEM* változott. Próbálja újra később.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "A parancsértelmező megváltozott.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: A parancsértelmező teljes elérési útját meg kell adnia.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: „%s” nem létezik.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: „%s” nem futtatható.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr ""
+"Figyelmeztetés: az /etc/shells fájl nem tartalmazza a következőt: „%s”\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: a(z) „%s” hiányzik az /etc/shells fájlból.\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Nincsenek ismert parancsértelmezők.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"Használat: last [-#] [-f fájl] [-t terminál] [-h gépnév] [felhasználó ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "%s meghiĂşsult.\n"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " bejelentkezve"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp kezdete: %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "hiba: az UUID feldolgozás meghiúsult"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"megszakĂ­tva: %10.10s %5.5s\n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "A bejelentkezés %d másodperc után túllépte az időkorlátot\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "VÉGZETES: nem nyitható meg újra a terminál: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s nem soros vonal"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "a chown meghiĂşsult: %s"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: a chdir() meghiĂşsult: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "VÉGZETES: hibás terminál"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Utolsó bejelentkezés: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "erről: %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "ezen: %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "a szabványos kimenetre írás meghiúsult"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "BEHĂŤVĂS EZEN: %s A KĂ–VETKEZĹTĹL: %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT BEJELENTKEZÉS EZEN: %s A KĂ–VETKEZĹRĹL: %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT BEJELENTKEZÉS EZEN: %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "BEJELENTKEZÉS EZEN: %s %s FELHASZNĂLĂ“TĂ“L A KĂ–VETKEZĹRĹL: %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "BEJELENTKEZÉS EZEN: %s %s FELHASZNĂLĂ“TĂ“L"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "felhasználónév: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "%s: jelszó-hitelesítési (PAM) hiba, megszakítva: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "A jelszó-hitelesítés (PAM) nem inicializálható: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "%d SIKERTELEN BEJELENTKEZÉS ERRĹL: %s A KĂ–VETKEZĹKÉNT: %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"A bejelentkezés meghiúsult\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "TĂšL SOK BEJELENTKEZÉSI KĂŤSÉRLET (%d) ERRĹL: %s A KĂ–VETKEZĹKÉNT: %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr ""
+"A MUNKAMENETBE BEJELENTKEZÉS MEGHIĂšSULT ERRĹL: %s A KĂ–VETKEZĹKÉNT: %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"A bejelentkezés meghiúsult\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Munkamenet-beállítási probléma, megszakítva.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Üres felhasználónév a következőben: %s:%d. Megszakítva."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY meghiĂşsult: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: a -h csak rendszergazdaként érhető el.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"Használat: last [-#] [-f fájl] [-t terminál] [-h gépnév] [felhasználó ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Érvénytelen felhasználónév („%s”) a következőben: %s:%d. Megszakítva."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr "hiba: az UUID feldolgozás meghiúsult"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Ăšj levele Ă©rkezett.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Levele van.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Bejelentkezés a „/” saját könyvtárral.\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: a parancsfájl nem futtatható: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Nincs parancsértelmező"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Érvénytelen időkorlátérték: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "JelszĂł: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: Nincs ilyen csoport."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Ă–n ki?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: Nincs ilyen csoport."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: hozzáférés megtagadva"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "a(z) %s nem nyithatĂł meg"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "a(z) %s azonosító nem távolítható el (%s)\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "Nem állítható be a jelzéskezelő"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s meghiĂşsult.\n"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Helytelen jelszĂł."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "%s nem érhető el"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "a csoportazonosító nem állítható be"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "a csoportazonosító nem állítható be"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "a felhasználóazonosító nem állítható be"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"További információkért adja ki a „%s --help” parancsot.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "Használat: %s program [argumentum ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: a(z) „%s” felhasználó nem létezik.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: nem nyitható meg írásra vagy olvasásra"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: nem nyitható meg írásra vagy olvasásra"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: a jelszófájl foglalt.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "ValĂłban folytatni akarja?"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "%s: az lseek meghiĂşsult"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "%s: az elérés meghiúsult"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "%s: az elérés meghiúsult"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "érvénytelen kapcsoló"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: ezt csak a rendszergazda teheti meg"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "a gyökér inode nem könyvtár"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY meghiĂşsult: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "a felhasználóazonosító nem állítható be"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s meghiĂşsult.\n"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: %s nem nyithatĂł meg\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: nem nyitható meg az ideiglenes fájl.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: a(z) %s átnevezése meghiúsult a következőre: %s: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: Nem kérhető le a(z) %s kontextusa"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: Nem állítható be a(z) %s kontextusa"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: A(z) %s változatlan\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "a programindítás meghiúsult"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: nem történt változás\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "ĂrnyĂ©kcsoportokat használ a rendszeren.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "ĂrnyĂ©kjelszavakat használ a rendszeren.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Kívánja szerkeszteni a következőt: %s [i/n]? "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Érvénytelen fejszám"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "érvénytelen napérték: használjon 1-%d közötti értéket"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "érvénytelen hónapérték: használjon 1-12 közötti értéket"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "érvénytelen évérték: használjon 1-9999 közötti értéket"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "Használat: cal [-13smjyV] [[[nap] hónap] év]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Használat: %s [+formátum] [nap hónap év]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Szent Tib napja"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "%s nem nyithatĂł meg"
+
+# ez a következő három %s%s-ben az első %s lesz, meg kell majd ott fordítani
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "blokkeszköz"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "Hasznos kapcsolĂłk:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Partíciószám"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Ismeretlen parancs: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "n.szám"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "n.szám"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "időtúllépés"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Eltávolítás"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "ismeretlen"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "az első sor után"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "Nem foglalhatĂł le puffert.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: nem olvashatĂł a(z) %s.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr ""
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "Nem foglalhatĂł le puffert.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "a memóriafoglalás sikertelen"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Elérhető parancsok:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "ismeretlen erőforrástípus: %s\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr ""
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "üres hosszú kapcsoló a -l vagy --long paraméter után"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "ismeretlen parancsértelmező a -s vagy --shell paraméter után"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" getopt [kapcsolók] -o|--options kapcsoló-karakterlánc [kapcsolók] "
+"[--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Engedélyezi a kötőjellel kezdődő hosszú\n"
+" kapcsolĂłkat\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Ez a súgószöveg\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr ""
+" -l, --longoptions=hosszú_kapcsolók Felismerendő hosszú kapcsolók\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name=programnév A hibák ezen név alatt kerülnek "
+"jelentésre\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=kapcsoló-karakterlánc Felismerendő rövid kapcsolók\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet A hibajelentés letiltása a getopt(3)-nak\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Nincs normál kimenet\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell=parancsértelmező A parancsértelmező idézési "
+"megállapodásainak\n"
+" beállítása\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test A getopt(1) verzió tesztelése\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote Nem idézőjelezi a kimenetet\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Verzióinformációk kiírása\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "hiányzó kapcsoló-karakterlánc paraméter"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "belső hiba, vegye fel a kapcsolatot a szerzővel."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: ismeretlen jelzés: %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "érvénytelen kapcsoló"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: a(z) „%s” folyamat nem található\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: ismeretlen jelzés: %s; az érvényes jelzések:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Használat: %s [ -s jelzés | -p ] [ -a ] folyamatazonosító ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ jelzés ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: ismeretlen szolgáltatásnév: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: ismeretlen prioritásnév: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "A felhasználónév túl hosszú.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "Blokkméret: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "n.szám"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "foglalat"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "n.szám"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Következő fájl: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "érvénytelen kapcsoló"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Partíciószám"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "a stat végrehajtása az elérési úton meghiúsult\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "beállítás csak olvashatóra"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " eltávolítható"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "a stat végrehajtása az elérési úton meghiúsult\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Érvénytelen felhasználónév"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "igazítási eltolás lekérése"
+
+#: misc-utils/lsblk.c:133
+#, fuzzy
+msgid "minimum I/O size"
+msgstr "minimális I/O méret lekérése"
+
+#: misc-utils/lsblk.c:134
+#, fuzzy
+msgid "optimal I/O size"
+msgstr "optimális I/O méret lekérése"
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "fizikai blokk (szektor)méret lekérése"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "logikai blokk (szektor)méret lekérése"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "igazítási eltolás lekérése"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " i a lemezazonosító módosítása"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount: a(z) %s eszköz ismeretlen"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "Nem foglalhatĂł le puffert.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Elérhető parancsok:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "a stat végrehajtása az elérési úton meghiúsult\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "nem démonizálható"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "ismeretlen"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%d bájt érkezett a következőtől: %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "az időzítésfájl (%s) olvasása meghiúsult"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "a gyökér inode nem könyvtár"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "Használat: namei [-mx] útvonal [útvonal ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+#, fuzzy
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "A --date paramétere túl hosszú\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: a(z) %s átnevezése meghiúsult a következőre: %s: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: hibás -l kapcsoló: %s.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "írás"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "időtúllépés"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Nem lehet zárolni a(z) %s zárolási fájlt: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "shutdown: Nem lehet leválasztani a következőt: %s: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Nem lehet zárolni a(z) %s zárolási fájlt: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "Nem találhatók partíciók\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "érvénytelen kapcsoló"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "hiba a(z) %s módjának módosításakor: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "shutdown: Nem lehet leválasztani a következőt: %s: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "hiba: az UUID feldolgozás meghiúsult"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s nem található"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "érvénytelen kapcsoló"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "figyelmeztetés: hiba a következő olvasásakor: %s:%s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "figyelmeztetés: nem nyitható meg a következő: %s:%s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+"mount: a(z) %s nem nyitható meg - helyette a(z) %s kerül felhasználásra\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"a(z) %s zárolási fájl nem hozható létre: %s (használja a -n kapcsolót a "
+"felülbíráláshoz)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"a(z) %s zárolási fájlra nem hozható létre link: %s (használja a -n kapcsolót "
+"a felülbíráláshoz)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"a(z) %s zárolási fájl nem nyitható meg: %s (használja a -n kapcsolót a "
+"felülbíráláshoz)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Nem lehet zárolni a(z) %s zárolási fájlt: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "Nem lehet zárolni a(z) %s zárolási fájlt: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "időtúllépés"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Nem lehet létrehozni a(z) %s linket\n"
+"Lehet, hogy egy elárvult a zárolási fájl miatt?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "nem nyitható meg a(z) %s fájl (%s) - az mtab nem frissült"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "hiba a(z) %s írásakor: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: nem hozható létre link a(z) %s fájlra: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "hiba a(z) %s módjának módosításakor: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "hiba a(z) %s tulajdonosának módosításakor: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "%s nem nevezhető át %s névre: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: helytelenül idézőjelezett kapcsoló-karaktersorozat: „%s”"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: a(z) %s „%s” lefordítva a következőre: „%s”\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: az mtab alapján a(z) %s már csatolva van a következőn: %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: az mtab alapján a(z) %s a következő alá van csatolva: %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: a(z) %s nem nyitható meg írásra: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: hiba a(z) %s írásakor: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: hiba a(z) %s módjának módosításakor: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: nem állítható be a csoportazonosító: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: nem állítható be a felhasználóazonosító: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: nem indĂ­thatĂł a program: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Kísérlet: %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: nem adta meg a következő fájlrendszerét: %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr ""
+" Kísérlet a(z) %s vagy a(z) %s fájlban említett összes típussal\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " és úgy tűnik, ez egy lapozóterület\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Kísérlet a(z) %s típussal\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s lapozóterületnek tűnik - nem került csatolásra"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "a csatolás meghiúsult"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: csak a rendszergazda csatolhatja a(z) %s eszközt a(z) %s helyre"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: a hurokeszközt kétszer adta meg"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: a típust kétszer adta meg"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: a hurokeszköz beállításának kihagyása\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: a(z) %s hurokeszköz kerül felhasználásra\n"
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+"mount: az mtab alapján a(z) %s már csatolva van hurokeszközként a "
+"következőn: %s"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "Nem lehet zárolni a memóriába, kilépés.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: a hurokeszköz beállítása meghiúsult\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: a(z) %s hurokeszköz kerül felhasználásra\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: a hurokeszköz beállítása meghiúsult\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: a hurokeszköz beállítása meghiúsult\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+"mount: a(z) %s hurokeszközt egy másik folyamat ellopta... újrapróbálom\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: a(z) %s hurokeszközt egy másik folyamat ellopta"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: a hurokeszköz beállítása sikerült\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: nem található a(z) %s - létrehozás...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: a -p vagy --pass-fd argumentumának számnak kell lennie"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: a(z) %s nem nyitható meg a sebesség beállításához"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: nem állítható be a sebesség: %s"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: az mtab alapján a(z) %s már csatolva van a következőn: %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: a(z) %s foglalt - újracsatolva csak olvashatóként\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: a(z) %s foglalt - újracsatolva csak olvashatóként\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: nem határozható meg a fájlrendszer típusa és nem is adta azt meg"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: meg kell adnia a fájlrendszer típusát"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: a csatolás meghiúsult"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: a(z) %s csatolási pont nem egy könyvtár"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: hozzáférés megtagadva"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: csak a rendszergazda használhatja a mount parancsot"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: a(z) %s foglalt"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: a proc fájlrendszer már csatolva van"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: a(z) %s már csatolva van, vagy a(z) %s foglalt"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: a(z) %s csatolási pont nem létezik"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: a(z) %s csatolási pont egy szimbolikus link a semmibe"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: a(z) %s speciális eszköz nem létezik"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: a(z) %s speciális eszköz nem létezik\n"
+" (az elérési út egy előtagja nem könyvtár)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: a(z) %s még nincs csatolva, vagy a kapcsoló hibás"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: hibás fájlrendszertípus, hibás kapcsoló, hibás szuperblokk a(z)\n"
+" %s eszközön, hiányzó kódlap vagy segédprogram, vagy egyéb hiba"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (számos fájlrendszer (például nfs, cifs) esetén szükséges\n"
+" lehet egy /sbin/mount.<típus> segédprogram)"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (lehet, hogy ez egy IDE eszköz, miközben ide-scsi-t\n"
+" használ, így az sr0 vagy sda vagy hasonló szükséges?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (lehet, hogy egy kiterjesztett partíciót próbál csatolni\n"
+" az általa tartalmazott valamelyik logikai partíció helyett?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Egyes esetekben hasznos információk találhatók a syslogban\n"
+" próbálja kiadni a dmesg | tail parancsot vagy egy ehhez hasonlót\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "a csatolási tábla megtelt"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: nem lehet olvasni a(z) %s szuperblokkját"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: a(z) %s eszköz ismeretlen"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: ismeretlen fájlrendszertípus: „%s”"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: talán a következőre gondolt: %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: talán az „iso9660” típusra gondolt?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: talán a „vfat” típusra gondolt?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: a(z) %s eszközszáma hibás vagy a(z) %s fájlrendszer nem támogatott"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: a(z) %s nem blokkeszköz és az elérés meghiúsult."
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: a rendszermag nem ismeri fel a(z) %s blokkeszközt\n"
+" (talán ki kellene adnia az „insmod meghajtó” parancsot?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: a(z) %s nem blokkeszköz (próbálja használni a „-o loop” kapcsolót)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: a(z) %s nem blokkeszköz"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: a(z) %s nem egy érvényes blokkeszköz"
+
+# ez a következő három %s%s-ben az első %s lesz, meg kell majd ott fordítani
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "blokkeszköz"
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: a(z) %2$s%1$s nem csatolható írásvédettként"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: a(z) %2$s%1$s írásvédett, de megadásra került a „-w” kapcsoló"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: a(z) %2$s%1$s nem csatolható írásvédettként"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: a(z) %2$s%1$s írásvédett, csatolás csak olvashatóként"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: a(z) %s már csatolva van a(z) %s alá\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: nem adott meg típust - a kettőspont miatt nfs típust feltételezek\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: nem adott meg típust - a // előtag miatt cifs típust feltételezek\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: a(z) %s már csatolva van a(z) %s alá\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Használat: \n"
+" mount -V : verziószám kiírása\n"
+" mount -h : ez a sĂşgĂł\n"
+" mount : a csatolt fájlrendszerek "
+"felsorolása\n"
+" mount -l : ugyanaz, de a kötetcímkékkel\n"
+"Ez az informális rész volt. A következő a csatolásról szól.\n"
+"A parancs általános alakja: „mount [-t fájlrendszertípus] mit hová”.\n"
+"Az /etc/fstab fájlban megtalálható részletek kihagyhatók.\n"
+" mount -a [-t|-O] : mindent csatol az /etc/fstab "
+"fájlból\n"
+" mount eszköz : az eszköz csatolása az ismert "
+"helyre\n"
+" mount könyvtár : ismert eszköz csatolása a "
+"könyvtárba\n"
+" mount -t típus eszköz könyvtár : a parancs általános alakja\n"
+"Ne feledje, hogy ez valójában nem csatol eszközöket, ténylegesen az "
+"eszközön\n"
+"található (adott típusú) fájlrendszert csatolja.\n"
+"Egy már látható könyvárfa másik könyvtárba is csatolható:\n"
+" mount --bind régikönyvtár újkönyvtár\n"
+"vagy áthelyezhet egy részfát:\n"
+" mount --move régikönyvtár újkönyvtár\n"
+"Módosítható a könyvtár csatolási típusa is:\n"
+" mount --make-shared könyvtár\n"
+" mount --make-slave könyvtár\n"
+" mount --make-private könyvtár\n"
+" mount --make-unbindable könyvtár\n"
+"Egy csatolt részfa adott könyvtárát tartalmazó összes csatolástípusának\n"
+"módosítása:\n"
+" mount --make-rshared könyvtár\n"
+" mount --make-rslave könyvtár\n"
+" mount --make-rprivate könyvtár\n"
+" mount --make-runbindable könyvtár\n"
+"Az eszköz megadható név szerint, például: /dev/hda1 vagy /dev/cdrom,\n"
+"vagy címke szerint a „-L címke”, illetve uuid szerint a „-U uuid”\n"
+"kapcsoló használatával.\n"
+"Egyéb kapcsolók: [-nfFrsvw] [-o kapcsolók].\n"
+"További információkért adja ki a „man 8 mount” parancsot.\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: ezt csak a rendszergazda teheti meg"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: ezt csak a rendszergazda teheti meg"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "semmi nem lett csatolva"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: nincs ilyen partĂ­ciĂł"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: a(z) %s nem található a(z) %s vagy a(z) %s alatt"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: figyelmeztetés: nincs befejező újsor a(z) %s végén\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: a(z) %d. sor hibás a(z) %s fájlban%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; a fájl többi része figyelmen kívül marad"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "hiba az xstrndup hívásban"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "nincs elég memória"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: a program a -f kapcsoló támogatása nélkül lett lefordítva\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: nem állítható be a csoportazonosító: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "mount: nem állítható be a felhasználóazonosító: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount: nem indĂ­thatĂł program: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s érvénytelen blokkeszköz"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s nincs csatolva"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s szuperblokkja nem Ă­rhatĂł"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: az eszköz foglalt.\n"
+" (Egyes esetekben az eszközt használó folyamatokról hasznos\n"
+" információkat talál az lsof(8) vagy fuser(1))"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s nem található"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s leválasztásához rendszergazdai jog szükséges"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: a blokkeszközök nem engedélyezettek ezen a fájlrendszeren (%s)"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "mount: hiba a(z) %s módjának módosításakor: %s"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "mount: hiba a(z) %s módjának módosításakor: %s"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: a(z) %s csatolási pont nem létezik"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "nem található az umount2, kísérlet az umount használatára...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: a(z) %s foglalt - újracsatolva csak olvashatóként\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: nem csatolható újra csak olvashatóként a következő: %s\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s leválasztva\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: nem található a leválasztandó fájlrendszerek listája"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Használat: umount [-hV]\n"
+" umount -a [-f] [-r] [-n] [-v] [-t fájlrendszertípus] [-O "
+"kapcsolĂłk]\n"
+" umount [-f] [-r] [-n] [-v] speciális | csomópont...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "figyelmeztetés: a(z) %s már társítva van a következőhöz: %s\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "figyelmeztetés: a(z) %s már társítva van a következőhöz: %s\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "Nem választható le: „”\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Kísérlet a következő leválasztására: %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "A(z) %s nem található az mtab fájlban\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "figyelmeztetés: a(z) %s már társítva van a következőhöz: %s\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: a(z) %s nincs csatolva (az mtab fájl alapján)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: úgy tűnik, hogy a(z) %s többször került csatolásra"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: a(z) %s nincs az fstab fájlban (és Ön nem rendszergazda)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: a(z) %s csatolás nem egyezik az fstab tartalmával"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+"umount: csak a(z) %s felhasználó választhatja le a(z) %s eszközt a(z) %s alól"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: ezt csak a rendszergazda teheti meg"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: nem található a(z) %s eszköze\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "érvénytelen kapcsoló"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "a típusparancsfájl (%s) olvasása meghiúsult"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "az openpty meghiĂşsult\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "az openpty meghiĂşsult\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "érvénytelen kapcsoló"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Ismeretlen parancs: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "ismeretlen hiba az azonosĂ­tĂłban"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "rtc idő átalakítása"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr ""
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "a(z) %s mérete nem állapítható meg"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "a malloc meghiĂşsult"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "az időzítésfájl (%s) olvasása meghiúsult"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "az időzítésfájl (%s) olvasása meghiúsult"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: „%s” nem létezik.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "A(z) %d. szektor már le van foglalva\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "A(z) %d. szektor már le van foglalva\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: „%s” nem futtatható.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "A(z) %d. szektor már le van foglalva\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "A(z) %d. szektor már le van foglalva\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "a sorok száma érvénytelen"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: ismeretlen argumentum: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Használat: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Csak rendszergazda állíthatja be a Ctrl-Alt-Del viselkedését.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+"%s: az alapértelmezett küszöbérték: %ld, az alapértelmezett időkorlát: %ld\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Ez a súgószöveg\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"A(z) %s fájl %lu küszöbértékéhez a maximális karakterszám a fifo-ban: %d\n"
+"és a maximális átviteli sebesség: %f karakter/másodperc volt\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"A(z) %s fájl %lu küszöbértékéhez és %lu időkorlátjához a maximális "
+"karakterszám a fifo-ban: %d\n"
+"és a maximális átviteli sebesség: %f karakter/másodperc volt\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "a gettimeofday hívás meghiúsult"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "Nem adható ki a CYGETMON hívás a következőn: %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Nem kérhető le a(z) %s küszöbértéke: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Nem kérhető le a(z) %s időkorlátja: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu egész, %lu/%lu karakter; fifo: %lu küszöb, %lu időkorlát, %lu max, "
+"%lu most\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f egész/mp; %f rögzítve, %f küldve (kar/mp)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu egész, %lu karakter; fifo: %lu küszöb, %lu időkorlát, %lu max, %lu "
+"most\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f egész/mp; %f rögzítve (kar/mp)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Érvénytelen időkorlátérték: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Érvénytelen időkorlátérték: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Érvénytelen beállított érték: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Érvénytelen beállított érték: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Érvénytelen alapértelmezett érték: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Érvénytelen alapértelmezett érték: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Érvénytelen beállított időérték: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Érvénytelen beállított időérték: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Érvénytelen alapértelmezett időérték: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Érvénytelen alapértelmezett időérték: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "A(z) %s küszöbértéke nem állítható %d értékre: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "A(z) %s nem állítható be a(z) %d időküszöbértékre: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: az aktuális küszöbérték: %ld, az aktuális időkorlát: %ld\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+"%s: az alapértelmezett küszöbérték: %ld, az alapértelmezett időkorlát: %ld\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Ez a partíció használhatatlan"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "hiba a(z) „%s” lezáráskor"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Figyelmeztetés: %s partíció "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "ĂĽzenetek"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "nem démonizálható"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "nem démonizálható"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Ismeretlen parancs: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "ismeretlen erőforrástípus: %s\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "az fsync meghiĂşsult"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "a(z) %s nem nyithatĂł meg"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "az írás meghiúsult: %s"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "érvénytelen kapcsoló"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "rtc idő olvasása"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "nincs parancs?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "az fsync meghiĂşsult"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr ""
+"Használat: %s%s [kapcsolók] [program [program argumentumai]]\n"
+"\n"
+"KapcsolĂłk:\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+#, fuzzy
+msgid "CD-ROM eject unsupported"
+msgstr "a sebesség (%d) nem támogatott"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "A(z) %s nem olvashatĂł\n"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "nem blokkos eszköz vagy fájl: %s"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "a csatolás meghiúsult"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "a felhasználóazonosító nem állítható be"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "a típusparancsfájl (%s) olvasása meghiúsult"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "%s nem nyithatĂł meg"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: a(z) %s csatolási pont nem létezik"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: a(z) %s átnevezése meghiúsult a következőre: %s: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s nem található"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " eltávolítható"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Az alapértelmezett %u érték kerül felhasználásra\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: nem nyitható meg a(z) %s eszköz: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s nem található"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: ez nem blokkos eszköz\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: nem nyitható meg a(z) %s eszköz: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "mount: a(z) %s foglalt"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s sikeres.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "a könyvtár megnyitása meghiúsult\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "a típusparancsfájl (%s) olvasása meghiúsult"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Túl kevés argumentum"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "Érvénytelen beállított érték: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "Érvénytelen beállított érték: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "A „--date” kapcsoló nincs megadva.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "a várt szám helyett „%s” található"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "a malloc meghiĂşsult"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: nem állítható be a felhasználóazonosító: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "érvénytelen azonosító"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s egy paramétert igényel\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "a gyökér inode nem könyvtár"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr ""
+"Használat: %s%s [kapcsolók] [program [program argumentumai]]\n"
+"\n"
+"KapcsolĂłk:\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "A „--date” kapcsoló nincs megadva.\n"
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "a gyökér inode nem könyvtár"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "az időzítésfájl (%s) olvasása meghiúsult"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "A „--date” kapcsoló nincs megadva.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "a gyökér inode nem könyvtár"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s meghiĂşsult.\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "a(z) %s nem nyithatĂł meg"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Feltesszük, hogy a hardveróra a(z) %s időben marad.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "helyi"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Figyelmeztetés: az adjtime fájl harmadik sora ismeretlen\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Utolsó csúszó igazítás: 1969 után %ld másodperccel\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Utolsó beállítás: 1969 után %ld másodperccel\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "A hardveróra a(z) %s időt mutatja\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Várakozás az óra ütésére...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr " az óraütés megvan\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Érvénytelen értékek a hardverórában: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"A hardveróra ideje: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld másodperc 1969 óta\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "A hardverórából olvasott idő: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "A hardveróra beállítása %.2d:%.2d:%.2d = %ld másodperc 1969 óta\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Az óra nem változott - csak teszt.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"A referencia idő óta eltelt idő %.6f másodperc.\n"
+"Várakozás a következő egész másodpercig.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"A hardveróra regiszterei érvénytelen (például a hónap 50. napja) vagy a "
+"kezelhetőn túli tartományban lévő (például 2095-ös év) értéket tartalmaznak\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f másodperc\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "A „--date” kapcsoló nincs megadva.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "A --date paramétere túl hosszú\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"A --date kapcsoló értéke nem egy érvényes dátum.\n"
+"Pontosabban: idézőjeleket tartalmaz.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Dátum parancs kiadása: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"A „date” program nem futtatható a /bin/sh parancsértelmezőben. A popen() "
+"meghiĂşsult"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "a date parancs válasza = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"A(z) %s által meghívott date parancs váratlan eredményt adott vissza.\n"
+"A kiadott parancs:\n"
+" %s\n"
+"A válasz:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"A(z) %s által meghívott date parancs az átalakított időérték helyén nem egy "
+"egész számot adott vissza.\n"
+"A kiadott parancs:\n"
+" %s\n"
+"A válasz:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "a(z) %s dátum karakterlánc egyenlő %ld másodperccel 1969 óta.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"A hardveróra nem tartalmaz érvényes időt, így nem lehet beállítani a "
+"rendszeridőt.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "A settimeofday hívása:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "A rendszeróra teszt módban nem kerül beállításra.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Rendszergazdai jog szükséges a rendszeróra beállításához.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "A settimeofday() nem sikerĂĽlt"
+
+#: sys-utils/hwclock.c:785
+#, fuzzy, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "rendszeridő olvasása"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"A csúsztatási tényező nem kerül beállításra, mert a hardveróra korábban "
+"szemetet tartalmazott.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"A csúsztatási tényező nem kerül beállításra, mert az utolsó kalibráció ideje "
+"0,\n"
+"így az előzmények hibásak és új kalibráció szükséges.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"A csúsztatási tényező nem kerül beállításra, mert még nem telt el egy nap az "
+"utolsó kalibráció óta.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Az óra %.1f másodpercet csúszott az elmúlt %d másodpercben, a napi %f "
+"másodperc csúsztatási tényező ellenére.\n"
+"A csúsztatási tényező beállítva napi %f másodpercre\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Az utolsó igazítás óta eltelt idő %d másodperc\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"%d másodperc beszúrása szükséges és az idő visszaállítása %.6f másodperccel\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Az adjtime fájl teszt módban nem kerül módosításra.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"A(z) %s fájlba a következő került volna kiírásra:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "A csúsztatás paraméterei nem kerültek frissítésre.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr "A hardveróra nem tartalmaz érvényes időt, így nem lehet igazítani.\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"A csúsztatási tényező nem kerül beállításra, mert az utolsó kalibráció ideje "
+"0,\n"
+"így az előzmények hibásak és új kalibráció szükséges.\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"A szükséges igazítás kevesebb mint egy másodperc, így nem kerül "
+"beállításra.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "%s használata.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Nem található használható órafelület\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "A rendszeróra nem állítható be.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"A rendszermag a hardverórához csak Alpha gépeken tárol epoch értéket.\n"
+"A hwcolock ezen másolata nem Alpha gépre készült\n"
+"(és így feltételezhetően most sem Alpha gépen fut). Nincs teendő.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Nem lehet lekérni az epoch értékét a rendszermagból.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "A rendszermag feltételezi, hogy az epoch értéke %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"A beállítandó epoch érték megadásához használja az „epoch” kapcsolót.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Az epoch értéke nem kerül beállításra (%d értékre) - ez csak teszt.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Nem lehet beállítani az epoch értéket a rendszermagban.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d partĂ­ciĂł:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" megadja a hwclocknak a használt alpha gép típusát\n"
+" (lásd a hwclock(8) kézikönyvoldalt)\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "%s: Nem lehet a megfigyelőrendszerhez csatlakozni.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "érvénytelen kapcsoló"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr ""
+"A(z) %s nem vár nem kapcsoló paramétereket. A következőt adta meg: %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+"%s: A --noadjfile kapcsolóval használnia kell a --utc vagy --localtime "
+"egyikét\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Nem használható a beállítandó idő. Az óra nem állítható be.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Elnézést, csak a rendszergazda módosíthatja a hardverórát.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Elnézést, csak a rendszergazda módosíthatja a rendszerórát.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Elnézést, csak a rendszergazda módosíthatja a hardveróra epoch értékét a "
+"rendszermagban.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "A hardveróra egyetlen ismert módon sem érhető el.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Használja a --debug kapcsolót az elérési mód keresésével kapcsolatos "
+"részletek megjelenítéséhez.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "a MILO-rĂłl indult\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD Ăłra\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "az óraport 0x%x értékhez igazítva\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "szokatlan TOY (Time of Year)!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: az atomi %s meghiúsult 1000 ismétlésben!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "Nem sikerült engedélyt kapni, mivel nem is próbáltam.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"%s nem képes megkapni az I/O port elérését. Az iopl(3) hívása meghiúsult.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Valószínűleg root jogosultság szükséges.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Ismételt várakozás a megváltoztatandó időre a KDGHWCLK-től\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Az idő beolvasása érdekében kiadott KDGHWCLK ioctl meghiúsult"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+"Az idő beolvasása érdekében kiadott KDGHWCLK ioctl ismételten meghiúsult"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Időtúllépés az idő változására történő várakozás során.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "A(z) %s idejének beolvasása érdekében kiadott ioctl() meghiúsult"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "a KDSHWCLK ioctl meghiĂşsult"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Nem nyitható meg a /dev/tty1 vagy /dev/vc/1 eszköz"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "a KDSHWCLK ioctl meghiĂşsult"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "a(z) %s idejének kiolvasása érdekében kiadott ioctl() meghiúsult.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Ismételt várakozás a(z) %s idejének változására\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s nem rendelkezik megszakítási funkciókkal. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "a read() %s hívás az óraütésre várakozáshoz meghiúsult"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "a select() %s hívás az óraütésre várakozáshoz meghiúsult"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr ""
+"a select() %s hívás az óraütésre várakozáshoz túllépte az időkorlátot\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+"az ioctl() %s hívás a frissítési megszakítások kikapcsolásához meghiúsult"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"az ioctl() %s hívás a frissítési megszakítások bekapcsolásához váratlanul "
+"meghiĂşsult"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "az ioctl() %s hívás az idő beállításához meghiúsult.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "az ioctl(%s) sikerĂĽlt.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"A rendszermag epoch értékének kezeléséhez el kell érni a Linux rtc "
+"eszközmeghajtóját a speciális %s eszközfájlon keresztül. A fájl ezen a "
+"rendszeren nem létezik.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "az ioctl(RTC_EPOCH_READ) %s hívás meghiúsult"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+"a(z) %ld epoch beolvasva a(z) %s eszközről az RTC_EPOCH_READ ioctl "
+"segítségével.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Az epoch értéke nem lehet kevesebb, mint 1900. A kért érték: %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+"az epoch beállítása %ld értékre a(z) %s eszközön az RTC_EPOCH_SET ioctl "
+"segítségével.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "A rendszermag %s eszközmeghajtójában nincs RTC_EPOCH_SET ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "a(z) %s ioctl(RTC_EPOCH_SET) hívása meghiúsult"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output Nincs normál kimenet\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Osztott memĂłriaszegmens o.m.az =%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Ăśzenetsor ĂĽz.az=%d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "lefoglalt szemaforok = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Szemafortömb szem.az=%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Verzióinformációk kiírása\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Osztott memĂłriaszegmens o.m.az =%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"Ăśzenetsor ĂĽz.az=%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"Szemafortömb szem.az=%d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "a kulcs elérése megtagadva"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "az azonosító elérése megtagadva"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "érvénytelen kulcs"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "érvénytelen azonosító"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "a kulcs már el van távolítva"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "az azonosító már el van távolítva"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Túl kevés argumentum"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "erőforrások törölve\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: érvénytelen kulcs (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "a rendszermag nincs beállítva osztott memória használatára\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "a rendszermag nincs beállítva szemaforok használatára\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "a rendszermag nincs beállítva üzenetsorok használatára\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: ismeretlen argumentum: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+"-i azonosító [-s -q -m] : az azonosítóval megadott erőforrás-azonosító "
+"részletei\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "Veszélyes kapcsolók:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "a rendszermag nincs beállítva osztott memória használatára\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---------- Osztott memória korlátai ----------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "szegmensek maximális száma = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maximális szegmensméret (kilobájt) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "teljes osztott memória maximális mérete (kilobájt) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "minimális szegmensméret = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------- Osztott memória állapota --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------- Osztott memóriaszegmens létrehozói/tulajdonosai ------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "o.m.-az"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "jogok"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "l.fh.az"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "l.cs.az"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "fh.az"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "cs.az"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+"-------- Osztott memória csatolási/leválasztási/módosítási számai -------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "tulajdonos"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "csatolva"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "leválasztva"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "mĂłdosĂ­tva"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "-------- Osztott memória létrehozója/utolsó művelete --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "l.f.az"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "u.f.az"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------- Osztott memĂłriaszegmensek --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "kulcs"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "bájt"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "csat.szám"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "állapot"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Nincs beállítva"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "törölt"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "zárolva"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "a rendszermag nincs beállítva szemaforok használatára\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "-------- Szemaforok korlátai -----------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "a tömbök maximális száma = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "szemaforok tömbönként maximális száma = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "rendszerszintű szemaforok maximális száma = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "szemafor hívásonkénti műveletek maximális száma = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "szemafor maximális értéke = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "--------- Szemaforállapot -------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "használt tömbök = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "lefoglalt szemaforok = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------- A szemafortömbök létrehozói/tulajdonosai ------- \n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "szem.az"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "---------- Szemaforműveletek/módosítások számai -------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "ut.művelet"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "ut.változás"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------- Szemafortömbök ----------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "szem.sz"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "a rendszermag nincs beállítva üzenetsorok használatára\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr " Üzenetek: korlátok ---------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "rendszerszintű sorok maximálisan = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximális üzenetméret (bájt) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "sor alapértelmezett maximális mérete (bájt) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Üzenetek: állapot -------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "lefoglalt sorok = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "használt fejlécek = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "használt terület = %d bájt\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ Üzenetsorok: létrehozók/tulajdonosok --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "ĂĽz.az"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "-------- Üzenetsorok küldések/fogadások/módosítások számai -------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "küldés"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "fogadás"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "módosítás"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "----- Ăśzenetsorok PID-jei --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "u.k.f.az"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "u.f.f.az"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------- Ăśzenetsorok ---------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "használt bájtok"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "ĂĽzenetek"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "az fsync meghiĂşsult"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Osztott memĂłriaszegmens o.m.az =%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "f.az=%d\tcs.az=%d\tl.fh.az=%d\tl.cs.az=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mód=%#o\thozzáférési_jog=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bájt=%ld\tu.f.az=%d\tl.f.az=%d\tcsat.szám=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "csatl_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "lev_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "módosítási_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "az fsync meghiĂşsult"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Ăśzenetsor ĂĽz.az=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "f.az=%d\tcs.az=%d\tl.fh.az=%d\tl.cs.az=%d\tmĂłd=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "l.bájt=%ld\ts.bájt=%ld\ts.szám=%ld\tu.k.f.az=%d\tu.f.f.az=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "küldési_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "fogadási_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Szemafortömb szem.az=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "f.az=%d\t cs.az=%d\t l.fh.az=%d\t l.cs.az=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mód=%#o, hozzáférési_jog=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "szem.szám = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "oidő = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "cidő = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "szemaforszám"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "érték"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "n.szám"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "z.szám"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "f.az"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Ismert <llemez> nevek:\n"
+
+#: sys-utils/ldattach.c:179
+#, fuzzy
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"Ismert <llemez> nevek:\n"
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "érvénytelen kapcsoló"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "érvénytelen kapcsoló"
+
+# fixme: mi ez?
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "érvénytelen sorelv: %s"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s nem soros vonal"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "a(z) %s terminálattribútumai nem kérhetők le"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "a sebesség (%d) nem támogatott"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "a(z) %s terminálattribútumai nem állíthatók be"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "nem állítható be a sorelv"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "nem démonizálható"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", eltolás: %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", méretkorlát: %<PRIu64>"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", %s titkosítás (típus: %<PRIu32>)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s meghiĂşsult.\n"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s meghiĂşsult.\n"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"\n"
+"Használat:\n"
+" %1$s hurok_eszköz információkérés\n"
+" %1$s -a | --all használtak felsorolása\n"
+" %1$s -d | --detach hurokeszköz törlés\n"
+" %1$s -f | --find nem használtak keresése\n"
+" %1$s -j | --associated <fájl> [-o <szám>] a <fájl>-hoz társítottak "
+"felsorolása\n"
+" %1$s [ kapcsolók ] {-f|--find|hurokeszköz} fájl beállítás\n"
+
+#: sys-utils/losetup.c:169
+#, fuzzy
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+"\n"
+"KapcsolĂłk:\n"
+" -e | --encryption <típus> az adott <nevű/számú> adattitkosítás "
+"engedélyezése\n"
+" -h | --help ez a sĂşgĂł\n"
+" -o | --offset <szám> kezdés <szám> eltolással a fájlban\n"
+" --sizelimit <szám> a hurok korlátozása csak <szám> bájtra a fájlban\n"
+" -p | --pass-fd <szám> jelmondat beolvasása a <szám> fájlleíróból\n"
+" -r | --read-only csak olvasható hurokeszköz beállítása\n"
+" --show eszköznév kiíratása (a -f <fájl> kapcsolóval)\n"
+" -v | --verbose részletes mód\n"
+"\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: a hurokeszközt kétszer adta meg"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "A „--date” kapcsoló nincs megadva.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "Nem lehet zárolni a memóriába, kilépés.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: nem található a(z) %s eszköze\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "partíciós tábla újraolvasása"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: a csatolás meghiúsult"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "nincs"
+
+#: sys-utils/lscpu.c:66
+#, fuzzy
+msgid "para"
+msgstr "bek"
+
+#: sys-utils/lscpu.c:67
+#, fuzzy
+msgid "full"
+msgstr "teljesen"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "logikai blokk (szektor)méret lekérése"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "logikai blokk (szektor)méret lekérése"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr "hiba: az UUID feldolgozás meghiúsult"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "nem foglalhatĂł le kimeneti puffer"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "foglalat"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+#, fuzzy
+msgid "Model:"
+msgstr "TĂ­pus:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "RĂ©gi helyzet:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: ezt csak a rendszergazda teheti meg"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: ezt csak a rendszergazda teheti meg"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: csak a rendszergazda csatolhatja a(z) %s eszközt a(z) %s helyre"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: ezt csak a rendszergazda teheti meg"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s a(z) %s csomagbĂłl\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "az első sor után"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "A(z) %s nem olvashatĂł\n"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: a(z) %s már csatolva van a(z) %s alá\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: csak a rendszergazda csatolhatja a(z) %s eszközt a(z) %s helyre"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: a(z) %s már csatolva van a(z) %s alá\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: a(z) %s nem található a(z) %s vagy a(z) %s alatt"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: a(z) %s nem található a(z) %s vagy a(z) %s alatt"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: a(z) %s nem található a(z) %s vagy a(z) %s alatt"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: nem határozható meg a fájlrendszer típusa és nem is adta azt meg"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: meg kell adnia a fájlrendszer típusát"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: nem hozható létre link a(z) %s fájlra: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: a csatolás meghiúsult"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "a csatolás meghiúsult"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: a csatolás meghiúsult"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: a(z) %s csatolási pont nem egy könyvtár"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: csak a rendszergazda használhatja a mount parancsot"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: a(z) %s foglalt"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: a(z) %s már csatolva van, vagy a(z) %s foglalt"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: a(z) %s már csatolva van a(z) %s alá\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: a(z) %s csatolási pont nem létezik"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: a(z) %s csatolási pont egy szimbolikus link a semmibe"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: a(z) %s speciális eszköz nem létezik"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "a csatolás meghiúsult"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: a(z) %s speciális eszköz nem létezik\n"
+" (az elérési út egy előtagja nem könyvtár)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: a(z) %s még nincs csatolva, vagy a kapcsoló hibás"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: a(z) %s még nincs csatolva, vagy a kapcsoló hibás"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: hibás fájlrendszertípus, hibás kapcsoló, hibás szuperblokk a(z)\n"
+" %s eszközön, hiányzó kódlap vagy segédprogram, vagy egyéb hiba"
+
+#: sys-utils/mount.c:520
+#, fuzzy, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (számos fájlrendszer (például nfs, cifs) esetén szükséges\n"
+" lehet egy /sbin/mount.<típus> segédprogram)"
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Egyes esetekben hasznos információk találhatók a syslogban\n"
+" próbálja kiadni a dmesg | tail parancsot vagy egy ehhez hasonlót\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: nem lehet olvasni a(z) %s szuperblokkját"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: ismeretlen fájlrendszertípus: „%s”"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: a(z) %s nem blokkeszköz és az elérés meghiúsult."
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: a rendszermag nem ismeri fel a(z) %s blokkeszközt\n"
+" (talán ki kellene adnia az „insmod meghajtó” parancsot?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: a(z) %s nem blokkeszköz (próbálja használni a „-o loop” kapcsolót)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: ez nem blokkos eszköz\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: a(z) %s nem egy érvényes blokkeszköz"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: a(z) %2$s%1$s nem csatolható írásvédettként"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "mount: a(z) %2$s%1$s írásvédett, de megadásra került a „-w” kapcsoló"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: a(z) %2$s%1$s nem csatolható írásvédettként"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: a(z) %2$s%1$s írásvédett, csatolás csak olvashatóként"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: a(z) %s már csatolva van a(z) %s alá\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: a(z) %s átnevezése meghiúsult a következőre: %s: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: a csatolás meghiúsult"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "a gyökér inode nem könyvtár"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s csatolva van.\t"
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr ""
+"Használat: %s%s [kapcsolók] [program [program argumentumai]]\n"
+"\n"
+"KapcsolĂłk:\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld blokk\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS másodlagos"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "hibás inode méret"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "szegmensek maximális száma = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "szegmensek maximális száma = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "szegmensek maximális száma = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "ĂĽzenetek"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "prioritás lekérése"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "szegmensek maximális száma = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Érvénytelen felhasználónév"
+
+# ez a következő három %s%s-ben az első %s lesz, meg kell majd ott fordítani
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "blokkeszköz"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Egység"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d partĂ­ciĂł:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "Veszélyes kapcsolók:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: Az --adjfile és a --noadjfile kölcsönösen kizárják egymást, de "
+"mindkettőt megadta.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Első Utolsó\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unqote Nem idézőjelezi a kimenetet\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Verzióinformációk kiírása\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Ez a súgószöveg\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test A getopt(1) verzió tesztelése\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "hiba a(z) %s írásakor: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Mintavételezési_lépés: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): hibás leképezéssor\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: nem található az „_stext” a következőben: %s\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr ""
+"%s: a profil címe kívül esik a tartományon. Talán hibás a leképezésfájl?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "összesen"
+
+#: sys-utils/renice.c:57
+#, fuzzy, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+"\n"
+"Használat:\n"
+" renice prioritás [-p|--pid] pid [... pid]\n"
+" renice prioritás -g|--pgrp pgrp [... pgrp]\n"
+" renice prioritás -u|--user felhasználó [... felhasználó]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice erről: %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Ismeretlen parancs: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "hibás időkorlátérték: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "felhasználó"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: régi prioritás: %d, új prioritás: %d\n"
+
+#: sys-utils/rtcwake.c:92
+#, fuzzy
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+"Használat: %s [kapcsolók]\n"
+" -d | --device <eszköz> rtc eszköz kiválasztása (rtc0|rtc1|...)\n"
+" -l | --local az RTC helyi időzónát használ\n"
+" -m | --mode standby|mem|... alvási mód\n"
+" -s | --seconds <másodperc> alvás ennyi másodpercig\n"
+" -t | --time <time_t> felébredés ideje\n"
+" -u | --utc az RTC az UTC-t használja\n"
+" -v | --verbose részletes üzenetek\n"
+" -V | --version verziószám megjelenítése\n"
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "rtc idő olvasása"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "rendszeridő olvasása"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "rtc idő átalakítása"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "rtc riasztás beállítása"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "rtc riasztás engedélyezése"
+
+#: sys-utils/rtcwake.c:248
+#, fuzzy
+msgid "set rtc wake alarm failed"
+msgstr "rtc ébresztési riasztás beállítása"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "rtc riasztás engedélyezése"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "rtc idő átalakítása"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "%s: ismeretlen felfüggesztési állapot: „%s”\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "érvénytelen kapcsoló"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "érvénytelen kapcsoló"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: feltételezem, hogy az RTC UTC-t használ ...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "UTC idő használata.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Helyi idő használata.\n"
+
+#: sys-utils/rtcwake.c:491
+#, fuzzy
+msgid "must provide wake time (see -t and -s options)"
+msgstr "%s: meg kell adnia a felébresztési időt\n"
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: a(z) %s nem támogatja az ébresztési eseményeket\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "%ld. riasztás, rendszeridő: %ld, rtc idő: %ld, %u másodperc\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, fuzzy, c-format
+msgid "time doesn't go backward to %s"
+msgstr "%s: az idő nem megy vissza eddig: %s\n"
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: ébresztés a(z) „%s” eszközről %s segítségével ekkor: %s\n"
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: ébresztés a(z) „%s” eszközről %s segítségével ekkor: %s\n"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "a típusparancsfájl (%s) olvasása meghiúsult"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "az olvasás meghiúsult: %s"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+#, fuzzy
+msgid "disable rtc alarm interrupt failed"
+msgstr "rtc riasztási megszakítás letiltása"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "%s bekapcsolása.\n"
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+"Használat: %s%s [kapcsolók] [program [program argumentumai]]\n"
+"\n"
+"KapcsolĂłk:\n"
+
+#: sys-utils/setarch.c:100
+#, fuzzy, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -h, --help ezen súgószöveg megjelenítése\n"
+" -v, --verbose felsorolja a bekapcsolt lehetőségeket\n"
+" -R, --addr-no-randomize letiltja a virtuális címtér véletlenszerűsítését\n"
+" -F, --fdpic-funcptrs a függvénymutatókat leírókra mutatókká teszi\n"
+" -Z, --mmap-page-zero bekapcsolja az MMAP_PAGE_ZERO tulajdonságot\n"
+" -L, --addr-compat-layout megváltoztatja a virtuális memória lefoglalási "
+"módját\n"
+" -X, --read-implies-exec bekapcsolja a READ_IMPLIES_EXEC tulajdonságot\n"
+" -B, --32bit bekapcsolja az ADDR_LIMIT_32BIT tulajdonságot\n"
+" -I, --short-inode bekapcsolja a SHORT_INODE tulajdonságot\n"
+" -S, --whole-seconds bekapcsolja a WHOLE_SECONDS tulajdonságot\n"
+" -T, --sticky-timeouts bekapcsolja a STICKY_TIMEOUTS tulajdonságot\n"
+" -3, --3gb a használt címteret maximálisan 3 GB-re "
+"korlátozza\n"
+" --4gb figyelmen kívül marad (csak a visszafelé "
+"kompatibilitás megőrzésére)\n"
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"További információkért adja ki a „%s --help” parancsot.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"További információkért adja ki a „%s --help” parancsot.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: ismeretlen architektĂşra"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Túl kevés argumentum"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "Használat: %s program [argumentum ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "programindítás: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s a következőn: %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "Nem rendszergazda.\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s meghiĂşsult.\n"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"A <speciális> paraméter:\n"
+" {-L címke | LABEL=címke} a használandó eszköz CÍMKÉJE\n"
+" {-U uuid | UUID=uuid} a használandó eszköz UUID-je\n"
+" <eszköz> a használandó eszköz neve\n"
+" <fájl> a használandó fájl neve\n"
+"\n"
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d partíció törlése"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "a stat végrehajtása az elérési úton meghiúsult\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "a stat végrehajtása az elérési úton meghiúsult\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Megjelölés használtként"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "prioritás beállítása"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+"%s: %s: szoftveres felfüggesztési adatok találhatók. A lapozóterület "
+"ismételt előkészítése.\n"
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "%s: az lseek meghiĂşsult"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "a szabványos kimenetre írás meghiúsult"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "NĂ©v"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"%s: figyelmeztetés: a(z) %s jogosultságai (%04o) nem biztonságosak, a "
+"javasolt érték: %04o\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+"%s: figyelmeztetés: a(z) %s jogosultságai (%04o) nem biztonságosak, a "
+"javasolt érték: %04o\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: A(z) %s fájl kihagyása - úgy tűnik, lyukak vannak benne.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, fuzzy, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+"%s: %s: szoftveres felfüggesztési adatok találhatók. A lapozóterület "
+"ismételt előkészítése.\n"
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s a következőn: %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s meghiĂşsult.\n"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"A <speciális> paraméter:\n"
+" {-L címke | LABEL=címke} a használandó eszköz CÍMKÉJE\n"
+" {-U uuid | UUID=uuid} a használandó eszköz UUID-je\n"
+" <eszköz> a használandó eszköz neve\n"
+" <fájl> a használandó fájl neve\n"
+"\n"
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Elérhető parancsok:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: nem található a(z) %s eszköze\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "%s: az elérés meghiúsult"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "a gyökér inode nem könyvtár"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "Kísérlet a következő leválasztására: %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr ""
+"Használat: %s%s [kapcsolók] [program [program argumentumai]]\n"
+"\n"
+"KapcsolĂłk:\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "%s meghiĂşsult.\n"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unqote Nem idézőjelezi a kimenetet\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unqote Nem idézőjelezi a kimenetet\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "hibás időkorlátérték: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: a(z) %s nem egy párhuzamos (lp) eszköz.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "LPGETIRQ hiba"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s állapota: %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", foglalt"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", kész"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", kifogyott a papĂ­r"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", elérhető"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", hiba"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "az fsync meghiĂşsult"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ hiba"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s a(z) %d. megszakítást használja\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s lekérdezést használ\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "a csatolás meghiúsult"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: a csatolás meghiúsult"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s érvénytelen blokkeszköz"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: nem lehet olvasni a(z) %s szuperblokkját"
+
+#: sys-utils/umount.c:211
+#, fuzzy, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: az eszköz foglalt.\n"
+" (Egyes esetekben az eszközt használó folyamatokról hasznos\n"
+" információkat talál az lsof(8) vagy fuser(1))"
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s leválasztásához rendszergazdai jog szükséges"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: a blokkeszközök nem engedélyezettek ezen a fájlrendszeren (%s)"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "Használat: %s program [argumentum ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "%s meghiĂşsult.\n"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "A bejelentkezés %d másodperc után túllépte az időkorlátot\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "A bejelentkezés %d másodperc után túllépte az időkorlátot\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+# ez a következő három %s%s-ben az első %s lesz, meg kell majd ott fordítani
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "blokkeszköz"
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "állapot"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "%s nem érhető el"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "mount: a(z) %s eszköz ismeretlen"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: ismeretlen argumentum: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: nem nyitható meg a(z) %s eszköz: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Elérhető parancsok:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: ismeretlen jelzés: %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Nem kérhető le a(z) %s időkorlátja: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "a pozicionálás sikertelen a write_tables-ben"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f másodperc\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "időtúllépés"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Eszköz"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s: %s verziĂł\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: a(z) %s nem futtathatĂł: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s: a(z) %s nem futtathatĂł: %m"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: a(z) „%s” folyamat nem található\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: a(z) %s nem futtathatĂł: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "nem foglalhatĂł le kimeneti puffer"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "hibás időkorlátérték: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "hibás sebesség: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "túl sok alternatív sebesség"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: nem nyitható meg szabványos bemenetként: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: nem egy karaktereszköz"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: nem nyitható meg írásra vagy olvasásra"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: kettőzési probléma: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tĂ­pus: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: olvasás: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: a bemenet tĂşlcsordult"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "felhasználó"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "felhasználó"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "most igen\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "most nem\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "lefoglalt szemaforok = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Figyelmeztetés: a(z) „%s” egy link\n"
+"Használja a(z) „%s [kapcsolók] %s” parancsot, ha valóban\n"
+"használni akarja. A parancsfájl nem indult el.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "A parancsfájl elindult, a fájl: %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "A parancsfájl elindult ekkor: %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: nem írható a parancsfájl, hiba: %s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"A parancsfájl kész ekkor: %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "A parancsfájl kész, a fájl: %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "az openpty meghiĂşsult\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "Elfogytak a pszeudoterminálok\n"
+
+#: term-utils/scriptreplay.c:42
+#, fuzzy, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr "%s <időzítésfájl> [<típusparancsfájl> [<elválasztó>]]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "a várt szám helyett „%s” található"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "„%s” elválasztó"
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "a szabványos kimenetre írás meghiúsult"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "váratlan fájlvége a következőn: %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "a típusparancsfájl (%s) olvasása meghiúsult"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "a várt szám helyett „%s” található"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "az időzítésfájl (%s) olvasása meghiúsult"
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s időzítésfájl: %lu: várt formátum"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: Paraméterhiba, használat:\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "az ürítés nem kényszeríthető\n"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "a visszaállítás nem kényszeríthető\n"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "az ürítés állapota nem kérhető le\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "nem lehet átváltani az energiatakarékos módot\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "a(z) %s eszköz nem nyitható meg írásra\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "klogctl hiba: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Hiba a képernyő-kiíratás írása közben\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Nem olvasható a következő: %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: A $TERM nincs megadva.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: ismeretlen jelzés: %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "túl sok iov (módosítsa a wall/ttymsg.c kódját)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "túlságosan hosszú sorargumentum"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "a programindítás meghiúsult"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "programindítás: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "hibás időkorlátérték: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "a felhasználóazonosító nem állítható be"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Nem lehet lekérdezni a lemez méretét"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Szórt üzenet a következőtől: %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr ""
+"%s: nem olvasható a(z) %s - a szabványos bemenet kerül felhasználásra.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "az olvasás meghiúsult: %s"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "Használat: namei [-mx] útvonal [útvonal ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: nem található a terminál neve\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: az írási jogosultság ki van kapcsolva.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s nincs bejelentkezve a következőn: %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s letiltotta az üzeneteket a következőn: %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s nincs bejelentkezve\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s letiltotta az ĂĽzeneteket\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s több helyen is belépett, írás a következőre: %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "A bemeneti sor tĂşl hosszĂş.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Üzenet %s@%s felhasználótól (mint %s) ezen: %s ekkor: %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Üzenet %s@%s felhasználótól ezen: %s ekkor: %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "a malloc meghiĂşsult"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: írási hiba.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: hibás -l kapcsoló: %s.\n"
+
+# a %s a következő kettő egyike
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: figyelmeztetés: nem állítható vissza %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "az első sor után"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- a sor már ki van ürítve"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: hibás -l kapcsoló: %s.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: hibás -l kapcsoló: %s.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "érvénytelen kapcsoló"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "rtc riasztás engedélyezése"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: ismeretlen kapcsoló: „-%c”\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: könyvtár ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Ez nem egy szövegfájl ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Használja a q vagy a Q egyikét a kilépéshez]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Tovább--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Következő fájl: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Nyomja le a szóközt a folytatáshoz vagy a q billentyűt a kilépéshez.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...vissza %d oldallal"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...vissza 1 oldallal"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "... egy sor kihagyása"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "... %d sor kihagyása"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Vissza***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "A reguláris kifejezés hibás"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"A legtöbb parancsot megelőzheti egy k egész szám. Az alapértelmezések [] "
+"között\n"
+"vannak. A csillag (*) jelzi, ha az argumentum az új alapértelmezéssé válik.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<szóköz> Következő k sor szöveg [jelenlegi képernyőméret]\n"
+"z Következő k sor szöveg [jelenlegi képernyőméret]*\n"
+"<enter> Következő k sor szöveg [1]*\n"
+"d vagy ctrl-D Görgetés k sorral [jelenlegi görgetésméret, 11]*\n"
+"q, Q vagy <megszakítás> Kilépés a more-ból\n"
+"s Ugrás előre k sor szöveggel [1]\n"
+"f Ugrás előre k képernyőnyi szöveggel [1]\n"
+"b vagy ctrl-B Ugrás vissza k képernyőnyi szöveggel [1]\n"
+"' Ugrás az előző keresés kiindulópontjához\n"
+"= Jelenlegi sorszám megjelenítése\n"
+"/<reguláris kifejezés> A reguláris kifejezés k. előfordulásának keresése "
+"[1]\n"
+"n Az utolsó reguláris kif. k. előfordulásának keresése "
+"[1]\n"
+"!<par> vagy :!<par> A <par> parancs végrehajtása parancsértelmezőben\n"
+"v a /usr/bin/vi indítása a jelenlegi sorban\n"
+"ctrl-L Képernyő újrarajzolása\n"
+":n Ugrás a k. következő fájlra [1]\n"
+":p Ugrás a k. előző fájlra [1]\n"
+":f Jelenlegi fájlnév és sorszám megjelenítése\n"
+". Előző parancs megismétlése\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Segítségért nyomja meg a „h” billentyűt.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "„%s” %d. sor"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Nem fájl] %d. sor"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Túlcsordulás\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr " kihagyás\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"A minta nem található\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "A minta nem található"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "nem indĂ­thatĂł program\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Ugrás "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Ugrás fájlra: "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Ugrás egy fájllal vissza: "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "A sor tĂşl hosszĂş"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Nincs előző parancs a helyettesítéshez"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "a sor tĂşl hosszĂş"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: bájtszám több átalakítási karakterrel.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: hibás bájtszám a következő átalakítási karakterhez: %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: a(z) %%s pontosságot vagy bájtszámot igényel.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: hibás formátum {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: hibás átalakítási karakter: %%%s.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p A partíciós tábla kiírása a képernyőre vagy fájlba"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : a lemez tényleges írásának kihagyása"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Verzióinformációk kiírása\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Verzióinformációk kiírása\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: a kapcsoló argumentumot igényel -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: érvénytelen kapcsoló -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...ugrás előre\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...ugrás vissza\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Nincs következő fájl"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Nincs előző fájl"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Olvasási hiba a(z) %s fájlban\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Váratlan fájl vége jel a(z) %s fájlban\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Ismeretlen hiba a(z) %s fájlban\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Nem hozható létre ideiglenes fájl\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "RE hiba: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(Fájl vége)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Nincs mentett keresési kifejezés"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "a(z) %s nem nyithatĂł meg"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "elmentve"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !parancs nem használható rflag módban.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "a fork() hívás meghiúsult, próbálja újra később\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Következő fájl: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: text-utils/tailf.c:115
+#, fuzzy, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "befejezetlen írás a következőbe: „%s” (kiírva: %ld, várt: %ld)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "A „--date” kapcsoló nincs megadva.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "hiba a terminfo olvasásakor"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Ismeretlen escape-sorozat a bemenetben: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "A bemeneti sor tĂşl hosszĂş.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "az openpty meghiĂşsult\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "a(z) „%s” eszköz nem érhető el"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Nem nyitható meg a következő: %s\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "a megnyitás meghiúsult: %s"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "a(z) „%s” eszköz nem érhető el"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "a(z) „%s” nem érhető el"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Ez a lemez DOS és BSD módban is működhet.\n"
+#~ "Használja a „b” parancsot a BSD módhoz.\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "%s nem nyithatĂł meg"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: %s nem nyithatĂł meg\n"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "A(z) %s nem nyitható meg olvasásra, kilépés."
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Nem nyitható meg a következő: %s\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "a(z) „%s” nem érhető el"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "a(z) „%s” nem érhető el"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s: az elérés meghiúsult"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "A /dev/port eszköz nem nyitható meg: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "a(z) %s megnyitása meghiúsult"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "A(z) %s megnyitása meghiúsult"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "%s nem nyithatĂł meg"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "nem foglalhatĂł le kimeneti puffer"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "%s nem érhető el"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "%s nem érhető el"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "%s nem érhető el"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "az elérés meghiúsult: %s"
+
+#~ msgid "cannot open timing file %s"
+#~ msgstr "nem nyitható meg az időzítésfájl (%s)"
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "nem nyitható meg a típusparancsfájl (%s)"
+
+#~ msgid "Cannot open "
+#~ msgstr "Nem nyithatĂł meg: "
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "a(z) „%s” nem nyitható meg olvasásra"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "a(z) „%s” nem érhető el"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "Használat %s [-hv] [-x könyvtár] fájl\n"
+#~ " -h ez a súgószöveg\n"
+#~ " -x könyvtár kibontás ebbe a könyvtárba\n"
+#~ " -v részletes mód\n"
+#~ " fájl tesztelendő fájl\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Használat: %s [-larvsmf] /dev/név\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr ""
+#~ "%s: hiba: a lapozóeszköz létrehozására nem történik kísérlet a(z) „%s” "
+#~ "eszközön\n"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "a(z) „%s” eszköz nem érhető el"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Nem lesz képes erre a partíciós táblára írni.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "A(z) %i. partíció nem cillinderhatáron kezdődik:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "a várt érték: (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "a várt érték: (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "A(z) %s lemez nem tartalmaz érvényes partíciós táblát\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "A(z) „%s” nem nyitható meg\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Ez a rendszermag a szektorméretet önállóan állapítja meg - a -b kapcsoló "
+#~ "figyelmen kĂ­vĂĽl maradt\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "elfogyott a memĂłria?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: idő előtt vége a bemenetnek\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: %s nem nyithatĂł meg: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Több műveletet adott meg egyszerre.\n"
+#~ "Egyszerre csak egy művelet használható.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: Az --utc és a --locatime kölcsönösen kizárják egymást.\n"
+#~ "Mégis mindkettőt megadta.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Az --adjust és a --noadjfile kölcsönösen kizárják egymást.\n"
+#~ "Mégis mindkettőt megadta.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Az --adjfile és a --noadjfile kölcsönösen kizárják egymást, de "
+#~ "mindkettőt megadta.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "a csoportazonosító nem állítható be"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: a(z) %s fájl foglalt (%s jelen van)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "Az érték kívül esik a tartományon.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Érvénytelen beállított érték: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "A(z) %s nem olvashatĂł\n"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "érvénytelen sebesség: %s"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Érvénytelen beállított érték: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Érvénytelen beállított érték: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: a hurokeszköz beállítása meghiúsult\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "a(z) %s nem nyithatĂł meg"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: %s: váratlan fájlformátum\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "az adatblokk tĂşl nagy"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "lefoglalt szemaforok = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: hibás hosszúságérték.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: hibás kihagyási érték.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Használat: %s [-szám] [-p karakterlánc] [-cefnrs] [+sor] [+/minta/] "
+#~ "[fájlok]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "az első sor után"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "A(z) %s nem olvashatĂł\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "az indítás meghiúsult\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "%s meghiĂşsult.\n"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d BSD partíció törlése"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l az ismert fájlrendszertípusok felsorolása"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n új BSD partíció hozzáadása"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p BSD partíciós tábla kiírása"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t a partíció fájlrendszer-azonosítójának módosítása"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u a méretékegységek módosítása (cilinderek/szektorok)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p a partíciós tábla kiírása"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Egy új DOS lemezcímke kerül létrehozásra 0x%08x lemezazonosítóval.\n"
+#~ "A változások a memóriában maradnak amíg ki nem írja azokat.\n"
+#~ "Ezután természetesen a korábbi tartalom nem lesz visszaállítható.\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Az eszköz nem tartalmaz érvényes DOS partíciós táblát, sem Sun, SGI vagy "
+#~ "OSF lemezcímkét\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Belső hiba\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tElnézést, nincs szakértői menü az SGI partíciós táblákhoz.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Tudta, hogy a lemezén egymást fedik a partíciók?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Egy új SGI lemezcímke kerül létrehozásra. A változások a memóriában\n"
+#~ "maradnak, amíg el nem menti azokat. Ezután természetesen\n"
+#~ "a korábbi tartalom visszavonhatatlanul elvész.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "elfogyott a memĂłria - feladom\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: kevés memória, a bejelentkezés meghiúsulhat\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "nem lehet memóriát foglalni a ttyclassnak"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "nem lehet memóriát foglalni a grplistnek"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr ""
+#~ "A bejelentkezés %s gépre a(z) %s gépről alapértelmezésben megtagadva.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "A bejelentkezés %s gépre a(z) %s gépről megtagadva.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Használat: %s [ -f teljes_név ] [ -o iroda ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "%s: jelszó-hitelesítési (PAM) hiba, megszakítva: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Használat: %s [ -s parancsértelmező ] [ --list-shells ] [ --help ] [ --"
+#~ "version ]\n"
+#~ " [ felhasználónév ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr ""
+#~ "%s: csak helyi bejegyzések módosíthatók, használja inkább az yp%s "
+#~ "lehetőséget.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: Nem állítható be az /etc/passwd alapértelmezett kontextusa"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "a setuid() hívása meghiúsult"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: Használja a „-l” kapcsolót a lista megjelenítéséhez.\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "A lista megjelenítéséhez használja a következő parancsot: %s -l\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "Használat: login [-fp] [felhasználónév]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "elfogyott a memĂłria"
+
+#~ msgid "Illegal username"
+#~ msgstr "Érvénytelen felhasználónév"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s bejelentkezése megtagadva ezen a terminálon.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "%s BEJELENTKEZÉSE MEGTAGADVA ERRĹL: %s A KĂ–VETKEZĹ TERMINĂLON: %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "%s BEJELENTKEZÉSE MEGTAGADVA A KĂ–VETKEZĹ TERMINĂLON: %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "A bejelentkezés meghiúsult\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "lefoglalt szemaforok = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: a programindítás meghiúsult: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s felhasználónév: "
+
+#~ msgid "NAME too long"
+#~ msgstr "A NÉV túl hosszú"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "A felhasználónév túl hosszú.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "A felhasználónevek nem kezdődhetnek „-” jellel.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "TÚL SOK soremelés"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "túl sok üres soremelés.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "BEJELENTKEZÉSI HIBA ERRĹL: %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "BEJELENTKEZÉSI HIBA EZEN: %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d BEJELENTKEZÉSI HIBA ERRĹL: %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d BEJELENTKEZÉSI HIBA EZEN: %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: a csoportfájl foglalt.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: a(z) %s zárolása nem oldható fel: %s (a változtatásai még mindig a "
+#~ "következőben vannak: %s)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "a malloc meghiĂşsult"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "A(z) %s lemez nem tartalmaz érvényes partíciós táblát\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "%s meghiĂşsult.\n"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: a /dev könyvtár nem létezik."
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: nem kaphatók információk a(z) %s eszközről: %s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", eltolás: %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", titkosítástípus: %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: nem kaphatók információk a(z) %s eszközről: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: nem nyitható meg a(z) %s eszköz: %s\n"
+
+#, fuzzy
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: nincs jogosultsága a /dev/loop# megjelenítéséhez"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Nem található egy hurokeszköz sem. Lehet, hogy ez a rendszermag nem\n"
+#~ " ismeri a hurokeszközt?. (fordítsa újra a rendszermagot vagy\n"
+#~ " adja ki a „modprobe loop” parancsot.)"
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Elfogyott a memória a puffer növelésekor.\n"
+
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "figyelmeztetés: a(z) %s már társítva van a következőhöz: %s\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "mount: a(z) %2$s%1$s írásvédett, csatolás csak olvashatóként"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "A LOOP_SET_FD ioctl meghiĂşsult: %s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu,%llu): siker\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): siker\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: nem törölhető a(z) %s eszköz: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Ez a „mount” parancs hurokeszköz-támogatás nélkül lett lefordítva. "
+#~ "FordĂ­tsa Ăşjra.\n"
+
+#, fuzzy
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr ""
+#~ "mount: a(z) %s hurokeszközt egy másik folyamat ellopta... újrapróbálom\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "A 'loop' támogatás nem volt elérhető fordításkor. Fordítsa újra a "
+#~ "programot.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Használat: %s [-q [-i időkorlát]] ([-s érték]|[-S érték]) ([-t érték]|[-T "
+#~ "érték]) [-g|-G] fájl [fájl...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "%s nem nyithatĂł meg: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: %s nem nyithatĂł meg: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: hibás érték\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "az indítás meghiúsult\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "elavult használat: %s {shm | msg | sem} azonosító ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "ismeretlen erőforrástípus: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "Használat: %s [ [-q üzenetazonosító] [-m osztottmemória-azonosító]\n"
+#~ " [-s szemaforazonosĂ­tĂł]\n"
+#~ " [-Q ĂĽzenetkulcs] [-M osztottmemĂłria-kulcs] [-S "
+#~ "szemaforkulcs] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "ismeretlen hiba a kulcsban"
+
+#~ msgid "unknown error in id"
+#~ msgstr "ismeretlen hiba az azonosĂ­tĂłban"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "A(z) %s információkat ad az elérhető ipc szolgáltatásokról, amelyek\n"
+#~ "olvasására jogosult.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> <device>\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Használat: %s [ -dhV78neo12 ] [ -s <sebesség> ] <llemez> <eszköz>\n"
+
+#~ msgid "ldattach from %s\n"
+#~ msgstr "ldattach innen: %s\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Használat: „%s [kapcsolók]\n"
+#~ "\t -m <leképezési fájl> (alapértelmezés = „%s”) és\n"
+#~ "\t\t\t\t „%s”)\n"
+#~ "\t -p <profile-fájl> (alapértelmezés = „%s”)\n"
+#~ "\t -M <szorzó> a profilozási szorzó beállítása a <szorzóra>\n"
+#~ "\t -i csak a mintavételezési lépésről ad információt\n"
+#~ "\t -v részletes adatok kiírása\n"
+#~ "\t -a kiírja az összes szimbólumot, még ha az értéke 0 is\n"
+#~ "\t -b egyedi hisztogram-bin számok kiírása\n"
+#~ "\t -s egyedi számlálók kiírása a függvényeken belül\n"
+#~ "\t -r az összes számláló lenullázása (csak rendszergazda "
+#~ "joggal)\n"
+#~ "\t -n a bájtsorrend automatikus felismerésének letiltása\n"
+#~ "\t -V a verziószám kiírása és kilépés\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: hiba a(z) %s írásakor: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "További információkért adja ki a „%s --help” parancsot.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "Használat: %s program [argumentum ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Használat: %s <eszköz> [ -i <megszakítás> | -t <idő> | -c <karakterek> | -"
+#~ "w <várakozás> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: hibás érték\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "Hiba a fájl lezárásakor\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Elnézést, megváltoztathatja nem üres partíciók címkéjét.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Figyelmeztetés: %s partíció "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Figyelmeztetés: %s partíció "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "és a(z) %s átfedik egymást\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "eszköz: /dev/hda, /dev/sda vagy ezekhez hasonló eszköznév"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "bájt"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-d] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Használat:\n"
+#~ " %1$s -a [-e] [-v] az /etc/fstab minden "
+#~ "lapozóterületének\n"
+#~ " bekapcsolása\n"
+#~ " %1$s [-p prioritás] [-v] <speciális> adott lapozóterület bekapcsolása\n"
+#~ " %1$s -s lapozóterület-használat "
+#~ "összegzésének\n"
+#~ " megjelenítése\n"
+#~ " %1$s -h súgó megjelenítése\n"
+#~ " %1$s -V verzió megjelenítése\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Használat:\n"
+#~ " %1$s -a [-v] minden lapozóterület kikapcsolása\n"
+#~ " %1$s [-v] <speciális> adott lapozóterület kikapcsolása\n"
+#~ " %1$s -h súgó megjelenítése\n"
+#~ " %1$s -V verzió megjelenítése\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Használat: %s%s [kapcsolók] [program [program argumentumai]]\n"
+#~ "\n"
+#~ "KapcsolĂłk:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#~ msgid " %s -V\n"
+#~ msgstr " %s -V\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [eszközök]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] parancsok eszközök\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Elérhető parancsok:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: %s nem nyithatĂł meg\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "feldolgozási hiba\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "Használat: %s [-n] eszköz\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: ez nem blokkos eszköz\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "a malloc meghiĂşsult"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: kapcsolófeldolgozási hiba\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Használat: %s [-x] [-d <szám>] iso9660-kép\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Használat: %s [-v] [-N inode-ok száma] [-V kötetnév]\n"
+#~ " [-F fájlrendszernév] eszköz [blokkszám]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "%s nem érhető el"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "a(z) %s szektormérete nem állapítható meg"
+
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: a calloc() sikertelen: %s\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Használat: %s [-c] [-pLAPMÉRET] [-L címke] [-U UUID] /dev/név [blokkok]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Nincs elég memória"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "Használat:\n"
+#~ " %s "
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr ""
+#~ "A menünek nincs iránya. Alapértelmezetten vízszintes kerül felhasználásra."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Először töröljön néhány partíciót és vegyen fel egy kiterjesztett "
+#~ "partĂ­ciĂłt\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Parancs Művelet\n"
+#~ " %s\n"
+#~ " p elsődleges partíció (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [vagy --show-size]: kiírja egy partíció méretét"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr ""
+#~ " -c [vagy --id]: kiírja vagy módosítja egy partíció azonosítóját"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [vagy --list]: kiírja az egyes eszközök partícióit"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [vagy --dump]: ugyanaz, de későbbi bemenetnek megfelelő "
+#~ "formában"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [vagy --increment]: cilinderek stb. számozása 1-től és nem 0-tól"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: elfogadás/jelentés szektor/blokk/cilinder/MB "
+#~ "egységben"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [vagy --list-types]:az ismert partíciótípusok kiírása"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [vagy --DOS]: a DOS kompatibilitáshoz egy kevés hely "
+#~ "elpazarlása"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [vagy --re-read]: a rendszermag újraolvassa a partíciós táblát"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr ""
+#~ " -N# : csak a megadott számú partíció módosítása"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr " -O fájl : a felülírandó szektorok fájlba mentése"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr ""
+#~ " -I fájl : az előbbivel mentett szektorok visszaállítása"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [vagy --version]: verziószám kiírása"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [vagy --help]: ezen súgó kiírása"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [vagy --show-geometry]: kiírja a rendszermag elképzelését a "
+#~ "geometriáról"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [vagy --Linux]: nem jelez Linux alatt lényegtelen dolgok miatt"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [vagy --quiet]: figyelmeztető üzenetek elnémítása"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr "Felülbírálhatja az érzékelt geometriát a következőkkel:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr ""
+#~ " -C# [vagy --cylinders #]: a használandó cilinderszám beállítása"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [vagy --heads #]: a használandó fejszám beállítása"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [vagy --sectors #]: a használandó szektorszám beállítása"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Letilthatja az összes konzisztencia-ellenőrzést a következőkkel:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [vagy --force]: parancs végrehajtása, akkor is ha értelmetlen"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: meg kell adnia a fájlrendszer típusát"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Használat: mkfs [-V] [-t fájlrendszertípus] [fájlrendszer-beállítások] "
+#~ "eszköz [méret]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "%s nem nyithatĂł meg: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s a(z) %s csomagbĂłl\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "Nem foglalhatĂł le puffer az inode-oknak"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "További információért adja ki a „getopt --help” parancsot.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Használat: getopt kapcsoló-karakterlánc paraméterek\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [kapcsolók] [--] kapcsoló-karakterlánc paraméterek\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " paraméterek\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (kibővített) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Várt érték: „UTC” vagy „LOCAL” vagy semmi.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - a hardveróra lekérdezése és beállítása (RTC)\n"
+#~ "\n"
+#~ "Használat: hwclock [funkció] [kapcsolók...]\n"
+#~ "\n"
+#~ "FunkciĂłk:\n"
+#~ " --help ez a súgószöveg\n"
+#~ " --show kiolvassa a hardverórát és megjeleníti az eredményt\n"
+#~ " --set beállítja az rtc-t a --date kapcsolóval megadott időre\n"
+#~ " --hctosys beállítja a rendszeridőt a hardverórából\n"
+#~ " --systohc beállítja a hardverórát a jelenlegi rendszeridőre\n"
+#~ " --adjust beállítja az rtc-t az óra utolsó beállítása vagy "
+#~ "igazítása\n"
+#~ " óta bekövetkezett rendszercsúszás figyelembe vételével\n"
+#~ " --getepoch kiírja a rendszermag hardverórájának epoch értékét\n"
+#~ " --setepoch beállítja a rendszermag hardverórájának epoch értékét\n"
+#~ " az --epoch kapcsolóval megadott értékre\n"
+#~ " --version kiírja a hwclock verziószámát a szabványos kimenetre\n"
+#~ "\n"
+#~ "KapcsolĂłk:\n"
+#~ " --utc a hardveróra az összehangolt világidőben értelmezendő\n"
+#~ " --localtime a hardveróra a helyi időben értelmezendő\n"
+#~ " --rtc=path az alapértelmezett helyett használandó speciális /dev/... "
+#~ "fájl\n"
+#~ " --directisa az ISA busz közvetlen elérése a(z) %s helyett\n"
+#~ " --badyear az rtc év értékének figyelmen kívül hagyása, mert a BIOS "
+#~ "hibás\n"
+#~ " --date megadja azt az időt, amelyre a hardverórát be kell "
+#~ "állítani\n"
+#~ " --epoch=év megadja azz az évet, amelyet a hardveróra epoch-ként "
+#~ "kezel\n"
+#~ " --noadjfile nem használja az /etc/adjtime fájlt. Megköveteli a --utc "
+#~ "vagy\n"
+#~ " a --localtime kapcsolók egyikének használatát\n"
+#~ " --adjfile=útvonal megadja az igazítási fájl útvonalát (az "
+#~ "alapértelmezett az\n"
+#~ " /etc/adjtime)\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "nem lehet lefoglalni a kiinduló szöveget"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Használat: %s [-8hiLmUw] [-l beléptető_program] [-t időtúllépés] [-I "
+#~ "kiinduló_szöveg] [-H bejelentkezési_gépnév] átviteli_sebesség,... vonal "
+#~ "[termináltípus]\n"
+#~ "vagy\t[-hiLmw] [-l beléptető_program] [-t időtúllépés] [-I "
+#~ "kiinduló_szöveg] [-H bejelentkezési_gépnév] vonal átviteli_sebesség,... "
+#~ "[termináltípus]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "Használat: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: ROSSZ HIBA"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "Használat: %s [fájl]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: nem olvashatĂł a(z) %s.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "Használat: logger [-is] [-f fájl] [-p pri] [-t címke] [-u foglalat] "
+#~ "[ ĂĽzenet ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "Használat : look [-dfa] [-t karakter] karakterlánc [fájl]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "elfogyott a memĂłria?\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "hívás: %s a fájlokhoz...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "Használat: script [-a] [-f] [-q] [-t] [fájl]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s: %d. írási hiba: %s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s: írási hiba: %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term terminál_név ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60|force|poke] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-KONZOLOK_SZĂMA] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-KONZOLOK_SZĂMA] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq frekvencia ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "Használat: last [-#] [-f fájl] [-t terminál] [-h gépnév] "
+#~ "[felhasználó ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ jelzés ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Használat: %s [fájl]\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM könyvtár ... -f ] név...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "Használat: write felhasználó [terminál]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: a(z) %s nem nyithatĂł meg: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "ismeretlen"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Használat: shutdown [-h|-r] [-fqs] [now|óó:pp|+perc]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "A leállítási folyamat megszakítva"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Csak rendszergazda állíthatja le a rendszert.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "Ezt holnap kell, nem tud addig várni?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "karbantartási céllal; patt, patt"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "A rendszer 5 percen belül leáll"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "A bejelentkezés emiatt le van tiltva."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "ĂşjraindĂ­totta: %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "leállította: %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Miért élek az újraindítás után?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Most már kikapcsolhatja a számítógépet..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "A rendszermag kikapcsolási szolgáltatásának hívása...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Hiba a kikapcsolás során\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "„%s” program futtatása...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Hiba a következő futtatásakor:\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "SĂśRGĹS: szĂłrt ĂĽzenet a következĹ‘tĹ‘l: %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "A rendszer %d óra %d perc múlva leáll"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "A rendszer 1 óra %d perc múlva leáll"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "A rendszer %d perc múlva leáll\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "A rendszer 1 perc múlva leáll\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "A rendszer AZONNAL leáll!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Nem lehet elindĂ­tani a swapoff programot."
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr ""
+#~ "Nem lehet végrehajtani a swapoff programot, talán az umount megoldja."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr ""
+#~ "Nem lehet elindítani az umount programot, próbálja meg saját kezűleg."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "A(z) %s nem hajtható végre, kísérlet az umount végrehajtására.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Nem lehet végrehajtani az umount programot, feladom a kísérletet."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "A megmaradt fájlrendszerek leválasztása..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Nem lehet leválasztani a következőt: %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Indulás egy felhasználós módban.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "az egy felhasználós parancsértelmező végrehajtása meghiúsult\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "az egy felhasználós parancsértelmező indítása meghiúsult\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "hiba a fifo megnyitása közben\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "hiba a bezárás végrehajtáskor bit beállításakor a /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "hiba az utolsó program futtatása során\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "hiba az utolsó program indítása során\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Rossz jelszĂł.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "az lstat végrehajtása az elérési úton meghiúsult\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "az indítás meghiúsult\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "nem nyitható meg az inittab fájl\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "nincs TERM vagy nem érhető el a terminált\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "hiba a szolgáltatás leállításakor: „%s”"
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "hiba a szolgáltatás leállításakor: „%s”"
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "hiba a szolgáltatás leállításakor: „%s”"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Használat: %s [-c] [-n szint] [-s pufferméret]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "a szabványos kimenetre írás meghiúsult"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "a malloc meghiĂşsult"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "Használat: col [-bfpx] [-l sorszám]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "Használat: %s [ - ] [ -2 ] [ fájl ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e formátum] [-f formátum_fájl] [-n hossz] [-s "
+#~ "kihagyás] [fájl ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "Használat: %s [-dflpcsu] [+sorszám | +/minta] név1 név2 ...\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: nem olvashatĂł a(z) %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: a sor tĂşl hosszĂş.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "Használat: %s [fájl]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "a malloc meghiĂşsult"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Használat: tailf [-n N | -N] naplófájl"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "Használat: %s [ -i ] [ -tTerm ] fájl...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "A(z) %s nem nyithatĂł meg\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Nem foglalható le több memória\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Három EOF érkezett -- kilépés..\n"
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "A partíció az utolsó részleges cilinder után végződik"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: memóriafoglalási hiba.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gépnév feloldása"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Elfogyott a memĂłria\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Nincs %s nevű könyvtár!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: nincs memória a parancsfájlnak.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: nincs parancsértelmező: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: Hozzáférés megtagadva"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: Nem indĂ­thatĂł a program\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: nem olvashatĂł a(z) %s.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: nem érhető el az ideiglenes fájl.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: nem olvasható az ideiglenes fájl.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "%s: írási hiba: %s\n"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: elfogyott a memĂłria\n"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " Ă©s "
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: érvénytelen kapcsoló -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "lefoglalt szegmensek: %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "lefoglalt lapok: %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "memóriában maradó lapok: %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "kilapozott lapok: %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Lapozóterület teljesítménye: %ld kísérlet\t %ld sikeres\n"
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: ismeretlen felhasználó (%s)\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: hibás érték (%s)\n"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: érvénytelen időköz (%s másodperc)\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: érvénytelen time_t érték (%s)\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: %s nem címkézhető át (erre: %s): %s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "rtc olvasás"
+
+#~ msgid "malloc error"
+#~ msgstr "memóriafoglalási hiba"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "Használat : column [-tx] [-c oszlopok] [fájl ...]\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: az od(1) elavult, a hexdump(1) használandó.\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: a hexdump(1) kompatibilitás nem támogatja a -%c kapcsolót%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; lásd strings(1)."
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "Nincs elég memória"
+
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "nem foglalhatĂł le pufferterĂĽlet"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "Használat: rev [fájl ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Nem foglalhatĂł le puffert.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Elfogyott a memória a puffer növelésekor.\n"
diff --git a/po/id.gmo b/po/id.gmo
new file mode 100644
index 0000000..15ac1d7
--- /dev/null
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
new file mode 100644
index 0000000..71b4901
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,18518 @@
+# Pesan Bahasa Indonesia untuk util-linux
+# Copyright (C) 2005 Adrian Bunk <bunk@stusta.de>
+# This file is distributed under the same license as the util-linux package.
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+# Arif E. Nugroho <arif_endro@yahoo.com>, 2006, 2008, 2009, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.17.1-rc1\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2010-02-18 04:00+0700\n"
+"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
+"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"Language: id\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "tidak dapat membuka %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "pilihan tidak valid"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "pilihan tidak valid"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "pilihan tidak valid"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "membaca lagi tabel partisi"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "set hanya-baca"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "set baca-tulis"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "get hanya-baca"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "get ukuran logikal blok (sektor)"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "get ukuran fisik blok (sektor)"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "get ukuran minimal I/O"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "get ukuran optimal I/O"
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "get penyesuaian ofset"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "get maksimal sektor setiap permintaan"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "get blocksize"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "set blocksize"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "get 32-bit sector count"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "get size in bytes"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "set readahead"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "get readahead"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "set filesystem readahead"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "get filesystem readahead"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "flush buffers"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "membaca lagi tabel partisi"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "Dapatkan ukuran dalam 512-byte sektor"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Tidak dapat memperoleh ukuran disk"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Perintah tidak diketahui: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s membutuhkan sebuah argument\n"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s gagal.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s sukses.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: ioctl error pada %s\n"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ AwalSekt Ukuran Perangkat\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "penggunaan: sfdisk --id perangkat nomor-partisi [Id]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "membaca lagi tabel partisi"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "penggunaan:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tNOTE: elvtune hanya bekerja dengan kernels 2.4\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "hilang perangkat blok, gunakan -h untuk bantuan\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune hanya berguna untuk kernal lama;\n"
+"untuk 2.6 lebih baik gunakan IO scheduler sysfs tunebles..\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Memformat ..."
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "selesai\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Verifikasi ..."
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Baca: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Masalah dalam membaca cylinder %d, diperkirakan %d, terbaca %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"data jelek dalam cyl %d\n"
+"Melanjutkan ..."
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s dari %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "stat gagal: %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: bukan sebuah block device\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Tidak dapat membuka file '%s'"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Tidak dapat menentukan tipe format saat ini"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s-sided, %d tracks, %d sec/track. Total kapasitas %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Rangkap"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Satu"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s telah di mount.\t "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "fsck: %s: tidak ditemukan\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "gagal untuk mendapatkan statistik: %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "error mengambil\n"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Sinkronisasi disks.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s sukses.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "%s gagal.\n"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "gagal membaca typescript berkas %s"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "error mengambil\n"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "fsck: %s: tidak ditemukan\n"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "gagal fork"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "%s: gagal menulis"
+
+#: disk-utils/fsck.c:705
+#, fuzzy
+msgid "wait: no more child process?!?"
+msgstr "%s: tunggu: Tida ada proses anak lagi?!?\n"
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "waitpid gagal"
+
+#: disk-utils/fsck.c:726
+#, fuzzy, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr "Peringatan... %s untuk perangkat %s keluar dengan sinyal %d.\n"
+
+#: disk-utils/fsck.c:732
+#, fuzzy, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr "%s %s: status adalah %x, seharusnya tidak pernah terjadi.\n"
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "Selesai dengan %s (status keluar %d)\n"
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: Error %d ketika menjalankan fsck.%s untuk %s\n"
+
+#: disk-utils/fsck.c:909
+#, fuzzy
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+"Baik seluruh atau kosong dari tipe sistem berkas dilewatkan ke -t harus\n"
+"diawali dengan 'no' atau '!'.\n"
+
+#: disk-utils/fsck.c:1026
+#, fuzzy, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+"%s: melewatkan baris buruk dalam /etc/fstab: jalankan mount dengan tahap "
+"bukan nol di fsck\n"
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: melewatkan perangkat yang tidak ada\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: tipe filesystem tidak diketahui '%s'"
+
+#: disk-utils/fsck.c:1079
+#, fuzzy, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "fsck: tidak dapat memeriksa %s: fsck.%s tidak ditemukan\n"
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "gagal mengalokasikan outbuffer"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "Memeriksa seluruh sistem berkas.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--menunggu-- (tahap %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: terlalu banyak perangkat\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "Apakah /proc telah terpasang?\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Harus root untuk dapat memindai untuk mencocokan sistem berkas: %s\n"
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Tidak dapat menemukan sistem berkas yang cocok: %s\n"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: terlalu banyak argumen\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Tampilkan informasi versi\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl gagal: tidak dapat menentukan ukuran perangkat: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "bukan sebuah perangkat blok atau berkas: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "panjang berkas terlalu pendek"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "gagal membaca: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "tanda super blok tidak ditemukan"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "Layanan sistem berkas tidak didukung"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "ukuran super blok (%d) terlalu kecil"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "berkas beukuran kosong"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Peringatan: berkas melewati akhir dari sistem berkas\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "peringatan: format cramfs lama\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "tidak dapat memeriksa CRC: format cramfs lama"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "crc error"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "akar inode bukan sebuah direktori"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "ofset akar buruk (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "data blok terlalu besar"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "dekompresi error %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " lubang di %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " mengekstrak block di %ld ke %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "Bukan block (%ld) bytes"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "bukan ukuran (%ld vs %ld) bytes"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "gagal menulis: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "direktori inode memiliki ofset kosong dan ukuran tidak kosong: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "gagal mkdir: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "panjang nama berkas nol"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "panjang nama berkas buruk"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "ofset inode buruk"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "berkas inode memiliki ofset nol dan ukuran bukan nol"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "berkas inode memiliki ukuran nol dan ofset bukan nol"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "link simbolik memiliki ofset nol"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "link simbolik memiliki ukuran nol"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "kesalahan ukuran dalam symlink %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symlink gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "berkas spesial memiliki ofset bukan nol: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "fifo memiliki ukuran bukan nol: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "soket memiliki ukuran bukan nol: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "mode palsu: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+"direktori data berawal (%ld) < sizeof(struct cramfs_super) + awal (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "akhir data direktori (%ld) != berkas data start (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "ofset berkas data tidak valid"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "dikompile tanpa dukungan -x"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file dumpfilename ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "butuh terminal untuk interative repairs"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Tampilkan informasi versi\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s telah di mount.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Apakah anda benar - benar ingin melanjutkan"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "membatalkan pemeriksaan.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zone nr < FIRSTZONE dalam file `%s'."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zone nr >= ZONES dalam file `%s'."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Hapus block"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Read error: tidak dapat men-seek ke block dalam file `%s'\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Read error: block buruk dalam file '%s'\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Kesalahan internal: mencoba untuk menulis bad block\n"
+"Permintaan menulis diabaikan\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "seek gagal dalam write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Write error: bad block dalam file '%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "seek failed dalam write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "tidak dapat menulis super-block"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Tidak menulis peta inode"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Tidak dapat menulis peta zone"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Tidak dapat menulis inodes"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "gagal seek"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "tidak mengalokasikan penyangga untuk blok super"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "tidak dapat membaca super block"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "jumlah magic tidak baik dalam super-block"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Hanya 1k block/zones yang dilayani"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "field s_imap_blocks buruk dalam super-block"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "field s_zmap_block buruk dalam super-block"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Tidak dapat mengalokasikan buffer untuk peta inode"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Tidak dapat mengalokasikan buffer untuk peta daerah (zone map)"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Tidak dapat mengalokasikan buffer untuk inodes"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Tidak dapat mengalokasikan buffer untuk menghitung inode"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Tidak dapat mengalokasikan buffer untuk menghitung zone"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Tidak dapat membaca peta inode"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Tidak dapat membaca peta zone"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Tidak dapat membaca inodes"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Peringatan: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blocks\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonesize=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxsize=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Keadaan filesystem=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"namelen=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inode %d ditandai tidak digunakan, tetapi digunakan untuk file '%s'\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "ditandai sedang digunakan"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "File `%s' memiliki mode %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Peringatan: jumlah inode terlalu besar.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "root inode tidak berupa sebuah direktori"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Block telah digunakan sebelumnya. Sekarang dalam file `%s'."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Bersih"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Block %d dalam file `%s' di tandai tidak sedang digunakan."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Benar"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "Direktori '%s' berisi jumlah inode yang buruk untuk file '%.*s'."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Hapus"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: direktori buruk: '.' bukan yang pertama\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: direktori buruk: '..' tidak kedua\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "kesalahan internal"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: direktori buruk: ukuran < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "gagal seek dalam bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Mode Inode %d tidak dibersihkan."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inode %d tidak digunakan, ditandai digunakan dalam bitmap."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inode %d digunakan, ditandai digunakan dalam bitmap."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Set"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (mode = %07o), i_nlinks=%d, terhitung=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Set i_nlinks ke jumlah"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr ""
+"Zone %d: ditandai sedang digunakan, tidak ada file yang menggunakannya."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Tidak ditandai"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zone %d: sedang digunakan, terhitung=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zone %d: tidak sedang digunakan, terhitung=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "ukuran inode buruk"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "ukuran inode v2 buruk"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "butuh terminal untuk interative repairs"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "tidak dapat membuka %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s bersih, tidak perlu dicheck.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Memaksa pemeriksaan filesystem di %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Filesystem di %s kotor, perlu untuk dicheck.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes digunakan (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones digunakan (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d regular files\n"
+"%6d direktories\n"
+"%6d character device files\n"
+"%6d block device files%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+" FILE SYSTEM TELAH BERUBAH \n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: seek error di %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: error membaca di %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sector terhitung: %d, sector size: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "Jumlah dari baris tidak valid"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "nama volume terlalu panjang"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "fsname nama terlalu panjang"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s bukan sebuah perangkat block spesial"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "pilihan tidak valid"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "tidak dapat memperoleh ukuran dari %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "block argument terlalu besar, maksimal adalah %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "terlalu banyak inodes - maksimal adalah 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "ruang tidak cukup, butuh paling tidak %llu blok"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Perangkat: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSname: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "BlockSize: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inodes: %d (dalam 1 block)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inodes: %d (dalam %lld blok)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blok: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode akhir: %d, Data akhir: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "error menulis superblok"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "error menulis inode root"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "error menulis inode"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "seek error"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "error menulis . entry"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "error menulis .. entry"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "error menutup %s"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "Penggunaan: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat wipefs(8).\n"
+"\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"penggunaan: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h tampilkan bantuan ini\n"
+" -v menjadi lebih verbose\n"
+" -E membuat semua peringatan menjadi errors (status exit yang tidak "
+"nol)\n"
+" -b blksize menggunakan ukuran blksz, harus sama dengan ukuran page\n"
+" -e edition menset nomor edisi (bagian dari fsid)\n"
+" -N endian set tipe endian dari cramfs (big|little|host), baku host\n"
+" -i file memasukkan file image kedalam filesystem (butuh kernel >= "
+"2.4.0)\n"
+" -n name menset nama dari filesystem cramfs\n"
+" -p pad dengan %d bytes dari boot code\n"
+" -s sort masukan direktori (pilihan lama, diabaikan)\n"
+" -z membuat lobang secara eksplisit (butuh kernel >= 2.3.39)\n"
+" dirname akar dari filesystem yang akan di kompress\n"
+" outfile output file\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "akar inode bukan sebuah direktori"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Sangat panjang (%zu bytes) nama berkas `%s' ditemukan.\n"
+"Tolong tingkatkan MAX_INPUT_NAMELEN di mkcramfs.c dan recompile. Keluar.\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "filesystem terlalu besarr. Keluar.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: block \"compressed\" menjadi > 2*blocklength (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "Tidak dapat membuka file '%s'"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: perangkat block tidak valid"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "aktifkan alarm rtc"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"peringatan: perkiraan dari ukuran yang dibutuhkan (batas atas) adalah "
+"%lldMB, tetapi maksimal ukuran image adalah %uMB. Kita mungkin akan mati "
+"secara premature.\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "peta image ROM"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Termasuk: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Data direktori: %zd bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Seluruhnya: %zd kilobytes\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Super blok: %zd bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"tidak cukup ruang untuk mengalokasikan image ROM (%lld teralokasi, %zu "
+"digunakan)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "image ROM"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "gagal menulis image ROM (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "peringatan: filenames dikecilkan menjadi 255 bytes.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "peringatan: file dilewati karena ada error.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "peringatan: ukuran file dikecilkan menjadi %luMB (kurang 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"Peringatan: uids dipotong menjadi %u bits. (Ini mungkin merupakan masalah "
+"keamanan.)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"Peringatan: gids dipotong menjadi %u bits. (Ini mungkin merupakan masalah "
+"keamanan.)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"PERINGATAN: nomor perangkat dipotong menjadi %u bits. Ini mungkin berarti\n"
+"beberapa device files mungkin salah.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Penggunaan: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s ter-mount; tidak akan membuat filesystem here!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "seek untuk boot block gagal dalam write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "tidak dapat membersihkan boot sector"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "seek gagal dalam write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "tidak dapat menulis super-block"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "tidak dapat menulis inode map"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "tidak dapat menulis zone map"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "tidak dapat menulis inodes"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "seek gagal dalam write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "gagal menulis dalam write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "terlalu banyak bad blocks"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "tidak cukup good blocks"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "tidak mengalokasikan penyangga untuk blok super"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "tidak mengalokasikan buffer untuk maps"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "tidak dapat mengalokasikan buffer untuk inodes"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld blocks\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Ukuran Maksimal=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "seek gagal selama pengetesan blocks"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Nilai aneh dalam do_check: mungkin bugs\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "seek gagal dalam check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "bad blocks sebelum daerah data: tidak dapat membuak fs"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d bad blocks\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "satu bad block\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "tidak dapat membuka file dari bad blocks"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "badblock nomor masukan error di baris %d\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "Tidak dapat membaca berkas blok buruk"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "ukuran inode buruk"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol error: jumlah dari block tidak dispesifikasikan"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "%s: %s: perangkat sedang sibuk"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "ukuran blok lebih kecil dari ukuran sektor fisik dari %s"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "tidak dapat menentukan ukuran dari %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "tidak akan mencoba untuk membuat filesystem pada '%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "Jumlah dari blok terlalu kecil"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Ukuran page %d yang dispesifikasikan pengguna tidak baik\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Menggunakan ukuran page %d yang dispesifikasikan pengguna, dari pada "
+"menggunakan ukuran system %d\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr "Ukuran swap header tidak baik, label tidak akan ditulis.\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "Label telah dipotong.\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "tidak terdapat label, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "tidak ada uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "terlalu banyak pages yang buruk"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "seek gagal dalam check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "sebuah page buruk\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu page buruk\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "tidak dapat mengalokasikan probe libblkid baru"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "tidak dapat menempatkan perangkat ke penelitian liblkid"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "tidak dapat menghapus sektor bootbits"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s: %s: peringatan: jangan hapus sektor bootbits\n"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (%s tabel partisi terdeteksi). "
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " diseluruh disk. "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (dikompilasi tanpa libblkid). "
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "%s: gagal mendapatkan ukuran"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "pembuatan semaphor gagal"
+
+#: disk-utils/mkswap.c:501
+#, fuzzy, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr "%1$s: peringatan: mengabaikan -U (UUIDs tidak didukung oleh %1$s)\n"
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: tidak mendukung versi swapsapce %d.\n"
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "error: UUID parsing gagal"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: error: Tidak ada tempat untuk menset swap?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "pilihan tidak valid"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr ""
+"%s: error: ukuran %llu KiB lebih besar dari ukuran perangkat %llu KiB\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: error: daerah swap membutuhkan setidaknya %ld kiB\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: peringatan: memotong daerah swap menjadi %llu kiB\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s: error: %s ter-mount; tidak akan membuat swapspace.\n"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Peringatan: %s bukan sebuah perangkat block\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Tidak dapat men set-up swap-space: tidak dapat dibaca"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Membuat swapspace versi 1, ukuran = %llu kiB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: %s: tidak dapat menulis page signature: %s"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync gagal"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: %s: tidak dapat memperoleh selinux file label: %s\n"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "tidak dapat melakukan matchpathcon()"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "tidak dapat membuat context selinux baru"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "tidak dapat menentukan context selinux"
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "%s: tidak dapat mengganti nama %s menjadi %s: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Nomor partisi"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Hanya cetak tabel partisi"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "Gagal menulis partisi di %s\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Jumlah dari sektor"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Nomor partisi"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d partisi:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Menulis tabel partisi di disk..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d partisi:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# tabel partisi dari %s\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: tidak dapat menemukan perangkat loop yang tidak dipakai"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: akan menggunakan perangkat loop %s\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: gagal untuk berpindah ke ofset 0x%jx"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Perintah tidak diketahui: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "seek gagal dalam write_tables"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Partisi yang terpilih %d\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Tidak ada partisi yang didefinisikan\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Partisi ini sudah ada.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Partisi yang terpilih %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "tidak berada di partisi %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Peringatan: partisi %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Tidak ada partisi yang didefinisikan\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s: swapon gagal"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "gagal mengalokasikan outbuffer"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "membaca lagi tabel partisi"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " (%s tabel partisi terdeteksi). "
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "Disk %s tidak memiliki sebuah tabel partisi yang valid\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Perintah yang tersedia:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "gagal mendapatkan pid"
+
+#: disk-utils/partx.c:798
+#, fuzzy
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "--offset dan --all adalah 'mutually exclusive'"
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Tidak dapat menghapus sebuah partisi kosong"
+
+#: disk-utils/partx.c:832
+#, fuzzy, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "kecepatan %d tidak didukung"
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, fuzzy, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+"Perangkat '%s' adalah perangkat kontrol raw (gunakan raw<N> dimana <N> lebih "
+"besar dari nol)\n"
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Tidak dapat melokasikan perangkat blok '%s' (%s)\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Perangkat '%s' bukan sebuah perangkat blok\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "gagal mendapatkan pid"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Tidak dapat membuka perangkat master raw '"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "tidak dapat mengalokasikan perangkat raw '%s' (%s)\n"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "Perangkat raw '%s' bukan sebuah perangkat karakter\n"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "Perangkat '%s' bukan sebuah perangkat raw\n"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "Error menanyakan perangkat raw (%s)\n"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, fuzzy, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr "raw%d:\tterikat ke major %d, minor %d\n"
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "Error mengkonfigurasi perangkat raw (%s)\n"
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "penggunaan: sfdisk --id perangkat nomor-partisi [Id]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "seek gagal dalam write_tables"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "membaca lagi tabel partisi"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: tidak ada partisi seperti itu\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: tidak mendukung versi swapsapce %d.\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "gagal mendapatkan pid"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: gagal untuk berpindah ke ofset 0x%jx"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: gagal untuk berpindah ke ofset 0x%jx"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "seek gagal dalam write_tables"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+#, fuzzy
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "%1$s: peringatan: mengabaikan -U (UUIDs tidak didukung oleh %1$s)\n"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Kehabisan memori!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Tidak dapat digunakan"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Space kosong"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disk sudah berubah.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Reboot komputer anda untuk memastikan tabel partisi telah benar - benar di-"
+"update.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"PERINGATAN: Jika anda membuat atau memodifikasi partisi \n"
+"DOS 6.x, tolong lihat manual dari cfdisk untuk informasi \n"
+"lebih lanjut.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "FATAL ERROR"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Tekan tombol manapun untuk keluar dari cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Tidak dapat mencari di disk drive"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Tidak dapat membaca disk drive"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Tidak dapat menulis disk drive"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Terlalu banyak partisi"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Partisi mulai sebelum sektor 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Partisi berakhir sebelum sektor 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Partisi mulai sesudak akhir dari disk"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Partisi berakhir sesudah akhir dari disk"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "partisi logical tidak dalam urutan disk"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "partisi logical saling beroverlap"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "memperbesar partisi logical yang saling beroverlap"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Kesalahan internal membuat drive logical dengan tidak menggunakan "
+"partisi extended !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Tidak dapat membuat drive logical disini -- apakah anda akan membuat dua "
+"partisi extended"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menu item terlalu panjang. Menu mungkin kelihatan janggal."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Kunci tidak valid"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Tekan sebuah tombol untuk melanjutkan"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Utama"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Buat sebuah partisi primary baru"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logical"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Buat sebuah partisi logical baru"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Batal"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Jangan membuat sebuah partisi"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Kesalahan internal !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Ukuran (dalam MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Diawali"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Tambahkan partisi di awal ruang kosong"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Akhir"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Tambahkan partisi di akhir ruang kosong"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Tidak ada tempat untuk membuat partisi extended"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Tidak ada tabel partisi.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Tidak ada tabel partisi, Dimulai dengan tabel nol."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Signature tidak sesuai di tabel partisi"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Tipe tabel partisi tidak diketahui"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Apakan anda ingin memulai dengan tabel nol [y/N] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Anda menspesifikasikan cylinder yang lebih besar dari ukuran di disk"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Tidak dapat membukan disk drive"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disk terbuka hanya-baca - anda tidak mempunyai ijin untuk menulis"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Peringatan!! GPT Tidak didukung (GUID Tabel Partisi) Terdeteksi. Gunakan GNU "
+"Parted."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Tidak dapat memperoleh ukuran disk"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Partisi primary tidak baik"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Partisi logical tidak baik"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Peringatan!! Ini mungkin akan menghancurkan data di disk anda!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Apakah anda yakin ingin menulis tabel partisi ke disk? (ya atau tidak): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "tidak"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Tidak menulis tabel partisi di disk"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "ya"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Tolong jawab 'ya' atau 'tidak'"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Menulis tabel partisi di disk..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Tabel partisi telah tertulis di disk"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Tabel partisi telah ditulis, tetapi gagal untuk membaca ulang tabel partisi. "
+"Jalankan partprobe(8), kpartx(8) atau reboot untuk memperbarui tabel."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Tidak ada partisi primary yang diberi tanda bootable. DOS MBR tidak dapat "
+"memboot disk ini."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Lebih dari satu partisi primary yang diberi tanda bootable. DOS MBR tidak "
+"dapat memboot disk ini."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Masukkan nama file atau tekan RETURN untuk menampilkan display di layar: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Disk Drive: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " None "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primary"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logical"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Tidak diketahui"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Boot"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Kosong"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabel partisi untuk %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Pertama Akhir\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tipe Sektor Sektor Offset Length Tipe Filesystem (ID) "
+"Tanda\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr ""
+" ----Berawal---- ----Berakhir---- Awal Nomor dari\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Tanda Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Mentah"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Cetak tabel dengan menggunakan format data mentah"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektor"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Cetak tabel diurut berdasarkan sektor"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabel"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Hanya cetak tabel partisi"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Jangan mencetak tabel"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Layar bantuan untuk cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+"Ini adalah cfdisk, sebuah program untuk mempartisi disk berbasis curses, yang"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+"memungkinkan anda untuk membuat, menghapus, dan memodifikasi partisi di "
+"perangkat"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "disk drive."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Hak Cipta (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Perintah Arti"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Ubah tanda bootable pada partisi terpilih"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Hapus partisi terpilih"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Ubah parameter cylinders, heads, sector-per-tracks"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr ""
+" PERINGATAN: Pilihan ini seharusnya hanya boleh digunakan oleh "
+"orang yang"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " tahu apa yang mereka kerjakan."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Cetak layar ini"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maksimalkan penggunaan disk dari partisi terpilih"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr ""
+" Catatan: Ini mungkin akan membuat partisi tidak kompatibel "
+"dengan"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Membuat partisi baru dari ruang yang tersisa/kosong"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Cetak tabel partisi di layar atau ke sebuah file"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Terdapat beberapa format yang berbeda untuk partisi"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " yang dapat anda pilih dari:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - Data mentah (sama seperti yang akan ditulis di disk)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Tabel diurut berdasarkan dari sektor"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Tabel dalam format mentah (raw)"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Keluar dari program tanpa menulis tabel partisi"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Ubah tipe filesystem"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Ubah satuan dari ukuran partisi yang ditampilkan"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Rotasi melalui MB, sektor, dan cylinders"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W Tulis tabel partisi ke disk (harus mengetikkan huruf besar W)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Karen ini mungkin menghancurkan data di disk, anda harus"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr ""
+" mengkonfirmasikan atau menolak penulisan dengan mengetikkan "
+"'yes' atau"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " `no'"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Panah Atas Memindahkan cursor ke partisi sebelumnya"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Panah Bawah Memindahkan cursor ke partisi sesudahnya"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Menggambar ulang layar"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Mencetak tampilan ini"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Catatan: Semua perintah dapat diketikkan dengan menggunakan huruf "
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "besar atau huruf kecil (kecuali untuk penulisan ke disk)"
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cylinders"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Ubah geometri cylinder"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Heads"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Ubah geometri head"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Ubah geometri sektor"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Selesai"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Selesai tanpa mengubah geometri"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Masukkan jumlah dari cylinder: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Jumlah cylinders tidak valid"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Masukkan jumlah heads:"
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Jumlah head tidak valid"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Masukkan jumlah sektor per track: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Jumlah sektor tidak valid"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Masukkan tipe filesystem: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Tidak dapat mengubah FS type menjadi kosong"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Tidak dapat mengubah FS tipe menjadi extended"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unk(%20X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Tidak diketahui (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Disk Drive: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Ukuran: %lld bytes, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Ukuran: %lld bytes, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Heads: %d Sektor per Track: %d Cylinders: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nama"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Tanda"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Tipe Partisi"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Tipe FS"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Label]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sektor"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cylinders"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Ukuran (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Ukuran (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Tidak ada partisi lagi"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Bootable"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Ubah tanda bootable dari partisi terpilih"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Hapus"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Hapus partisi terpilih"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometri"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Ubah geometri disk (expert only)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Bantuan"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Cetak layar bantuan"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maksimalkan"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maksimalkan penggunaan disk pada partisi terpilih (expert only)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Baru"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Buat partisi baru dari ruang kosong"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Cetak"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Cetak tabel partisi di layar atau ke sebuah file"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Berhenti"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Berhenti dari aplikasi tanpa menulis tabel partisi"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Tipe"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Ubah tipe filesystem (DOS, Linux, OS/2, dan selanjutnya)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Satuan"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Ubah satuan dari ukuran partisi yang ditampilkan (MB, sect, cyl)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Tulis"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Tulis tabel partisi ke disk (Ini mungkin akan menghancurkan data)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Tidak dapat membuat partisi ini menjadi bootable"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Tidak dapat menghapus sebuah partisi kosong"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Tidak dapat memaksimalkan partisi ini"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Partisi ini tidak dapat digunakan"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Partisi ini sudah dipakai"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Tidak dapat mengubah tipe dari sebuah partisi kosong"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Perintah tidak valid"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Hak Cipta (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Penggunaan:\n"
+"Tampilkan versi dari aplikasi:\n"
+" %s -v\n"
+"Tampilkan tabel partisi:\n"
+" %s -P {r|s|t} [pilihan] perangkat\n"
+"Penggunaan interaktive:\n"
+" %s [pilihan] perangkat\n"
+"\n"
+"Pilihan:\n"
+"-a: Gunakan panah daripada penonjolan;\n"
+"-z: Mulai dari sebuah tabel partisi kosong, dari pada membaca dari tabel "
+"partisi disk;\n"
+"-c C -h H -s S; memaksa ide kernel mengenai jumlah cylinders, jumlah "
+"heads, \n"
+" dan jumlah dari sectors/track.\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c ubah nomor dari cylinders"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "tidak dapat mendapatkan angka '%s'"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "tidak dapat mendapatkan angka '%s'"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tTerdapat sebuah AIX label yang valid di disk ini.\n"
+"\tSayangnya Linux tidak dapat menangani disk ini saat\n"
+"\tini. Beberapa saran:\n"
+"\t1. fdisk akan menghancurkan isi dari AIX label pada waktu menulis ke "
+"disk.\n"
+"\t2. Pastikan disk ini BUKAN bagian vital dari volume group. (Jika \n"
+"\t anda mungkin akan menghapus disk lain juga, jika tidak di mirror.)\n"
+"\t3. Sebelum menghapus physical volume ini pastikan untuk menghapus disk\n"
+"\t secara logical dari mesin AIX anda. (Jika tidak anda akan menjadi \n"
+"\t seorang AIXpert)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tMaaf - fdisk ini tidak menangani AIX disk labels.\n"
+"\tJika anda ingin menambahkan partisi tipe DOS, buat sebuah\n"
+"\ttabel partisi DOS baru yang kosong terlebih dahulu. (Gunakan o.)\n"
+"\tPERINGATAN: Ini mungkin akan menghancurkan seluruh isi disk.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD label untuk perangkat: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Menulis disklabel di %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Pertama %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Terakhir %s atau +size atau +sizeM atau +sizeK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s tidak terdapat disklabel.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Anda ingin membuat sebuah disklabel? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partisi %s mempunyai sektor 0 awal yang tidak valid.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Membaca disklabel dari %s di sektor %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Tidak ada partisi *BSD di %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Perintah BSD disklabel (m untuk bantuan): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tipe: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tipe: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "label: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "tanda:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " removable"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes/sektor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektor/track: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "tracks/cylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektor/cylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylinders: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# milliseconds\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "track-to-track seek: %ld\t# milliseconds\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partisi:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# awal akhir ukuran fstype [fsize bsize cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "bytes/sektor"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektor/track"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "tracks/cylinder"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cylinders"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektor/cylinder"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Harus <= sektor/track * tracks/cylinder (default).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "track-to-track seek"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap overlaps dengan disk label!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap dipasang di %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partisi (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Maksimum jumlah partisi telah dibuat\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Partisi ini sudah ada.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Peringatan: terlalu banyak partisi (%d, maksimum adalah %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Sinkronisasi disk.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a ubah tanda bootable"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a ubah tanda read only"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a pilih partisi yang bootable"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a ubah nomor dari alternatif cylinders"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b edit bsd disklabel"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b edit masukan bootfile"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b pindahkan awal dari data dalam sebuah partisi"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c ubah tanda kompatibilitas dos"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c ubah tanda dapat di mount"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c pilih partisi swap sgi"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c ubah nomor dari cylinders"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d hapus sebuah partisi"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d cetak data mentah (raw) di tabel partisi"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e ubah jumlah sektor lebih dari setiap cylinder"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e list partisi extended"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e edit data drive"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f betulkan urutan dari partisi"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g buat sebuah IRIX (SGI) tabel partisi"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h ubah jumlah dari heads"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i ubah faktor interleave"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " i ubah identifikasi disk"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i install bootstrap"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l list tipe partisi yang diketahui"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m cetak menu ini"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n tambahkan sebuah partisi baru"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o buat sebuah tabel partisi DOS baru yang kosong"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o ubah kecepatan rotasi (rpm)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Hanya cetak tabel partisi"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q keluar tanpa menyimpan perubahan yang telah dilakukan"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r kembali ke menu utama"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s buat sebuah disklabel Sun yang kosong"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s ubah jumlah sektor/track"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s tampilkan disklabel secara lengkap"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t ubah id dari partisi system"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u ubah satuan dari tampilan/masukan"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v verifikasi tabel partisi"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w tulis tabel ke disk dan keluar"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w tulis disklabel di disk"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x fungsi tambahan (expert only)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x sambung BSD partisi ke non-BSD partisi"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y ubah jumlah dari physical cylinders"
+
+#: fdisks/fdisk.c:139
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+"Penggunaan:\n"
+" fdisk [pilihan] <disk> ubah tabel partisi\n"
+" fdisk [pilihan] -l <disk> tampilkan tabel partisi\n"
+" fdisk -s <partisi> beri ukuran partisi dalam blok\n"
+"\n"
+"Pilihan:\n"
+" -b <besar> ukuran sektor (512, 1024, 2048 atau 4096)\n"
+" -c non-aktifkan mode DOS-kompatibel\n"
+" -h tampilkan bantuan\n"
+" -u <besar> berikan ukuran dalam sektor daripada silinder\n"
+" -v tampilkan versi\n"
+" -C <jumlah> spesifikasikan jumlah dari silinder\n"
+" -H <jumlah> spesifikasikan jumlah dari head\n"
+" -S <jumlah> spesifikasikan jumlah dari sektor per track\n"
+"\n"
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "Tidak dapat membaca %s\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Tidak dapat mencari di %s\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "Tidak dapat menulis %s\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl gagal di %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Fatal error\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Aksi perintah"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Anda harus menset"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "heads"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektor"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Anda dapat melakukan ini dari menu fungsi tambahan.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " dan "
+
+#: fdisks/fdisk.c:407
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"PERINGATAN: Ukuran dari disk ini adalah %d.%d TB (%llu bytes).\n"
+"Format tabel partisi DOS tidak dapat digunakan di drive untuk\n"
+"isi lebih besar dari (%llu bytes) untuk %d-byte sektor. Gunakan\n"
+"parted(1) format tabel partisi GUID (GPT).\n"
+"\n"
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+"\n"
+"Perangkat menampilkan sebuah ukuran sektor logikal yang lebih kecil "
+"daripada\n"
+"ukuran sektor fisik. Menyesuaikan ke batas sektor fisik (atau optimal I/O) "
+"adalah langkah yang\n"
+"direkomendasikan, atau mungkin berdampak pada performansi perangkat.\n"
+
+#: fdisks/fdisk.c:431
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"PERINGATAN: MODE kompatibel DOS telah ditinggalkan. Ini sangat dianjurkan\n"
+" untuk menonaktifkan mode tersebut (perintah 'c')"
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+"\n"
+"PERINGATAN: penampilan silinder sebagai satuan sudah ditinggalkan.\n"
+" Gunakan perintah 'u' untuk mengubah satuan ke sektor.\n"
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Apakah anda benar - benar ingin melanjutkan"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Kode hex (ketik L untuk daftar dari kode): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, default %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Akhiran tidak didukung: '%s'.\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"Yang didukung: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Menggunakan nilai default %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Nilai diluar dari jangkauan.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Nomor partisi"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Peringatan: partisi %d memiliki tipe kosong\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partisi yang terpilih %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Tidak ada partisi yang sudah didefinisikan!\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cylinder"
+msgstr[1] "cylinder"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektor"
+msgstr[1] "sektor"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Mengubah satuan tampilan/masukan menjadi %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Mengubah satuan tampilan/masukan menjadi %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "PERINGATAN: Partisi %d adalah sebuah partisi extended\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "Tanda kompatibilitas DOS telah diset\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Tanda kompatibilias DOS belum diset\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Partisi %d tidak memiliki area data\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partisi %d belum ada!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Tipe 0 berarti ruang kosong pada kebanyakan system\n"
+"(tetapi bukan untuk Linux). Memiliki partisi dengan tipe 0 \n"
+"mungkin tidak baik. Anda dapat menghapus sebuah partisi\n"
+"dengan menggunakan perintah `d'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Anda tidak dapat mengubah sebuah partisi menjadi sebuah extended atau \n"
+"sebaliknya. Hapus ini terlebih dahulu.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Pertimbangkan untuk meninggalkan partisi 3 sebagai Whole disk (5),\n"
+"sebagai SunOS/Solaris menduga ini dan mungkin Linux menyukainya.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Pertimbangkan untuk meninggalkan partisi 9 sebagai volume header (0),\n"
+"dan partisi 11 sebagai seluruh volume (6) seperti IRIX menduganya.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Menguba tipe sistem partisi dari %d menjadi %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Tipe sistem dari parisi %d tidak berubah: %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"Partisi %d memiliki physical/logical awal yang berbeda (bukan-Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " phys=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logical=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partisi %d memiliki physical/logical endings yang berbeda:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partisi %i tidak berakhir di batas cylinder.\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Partisi %i tidak berawal di perbatasan sektor fisik.\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", total %llu sektor"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d heads, %llu sektor/track, %d cylinders"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Units = %s dari %d * %d = %d bytes\n"
+
+#: fdisks/fdisk.c:1015
+#, fuzzy, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "Ukuran sektor (logikal/fisikal): %u bytes / %lu bytes\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr "Ukuran I/O (minimal/optimal): %lu bytes / %lu bytes\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "Penyesuaian ofset: %lu bytes\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Tidak ada yang dilakukan. Urutan sudah dibetulkan.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Selesai.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Ini tidak seperti sebuah tabel partisi\n"
+"Mungkin anda memilih perangkat yang salah\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Boot Awal Akhir Blocks Id System\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Perangkat"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Masukan tabel partisi tidak dalam urutan disk\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr Af Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Peringatan: partisi %d berisi sektor 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partisi %d: head %d lebih besar dari maksimal %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partisi %d: sektor %d lebih besar dari maksimal %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partisi %d: cylinder %d lebih besar dari maksimal %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Partisi %d: sektor sebelumnya %d tidak sesuai dengan total %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Partisi %d belum ada!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Tidak dapat menulis disk drive"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Tabel partisi telah diubah!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Memanggil ioctl() untuk membaca kembali tabel partisi.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"PERINGATAN: Membaca kembali table partisi gagal dengan error %d: %s.\n"
+"Kernel masih menggunakan tabel yang lama.Tabel yang baru akan digunakan\n"
+"setelah reboot atau setelah anda menjalankan partprobe(8) atau kpartx(8)\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"PERINGATAN: Jika anda membuat atau memodifikasi partisi DOS 6.x\n"
+", mohon lihat manual dari fdisk untuk informasi\n"
+"lebih lanjut.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Error dalam menutup file\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Sinkronisasi disks.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partisi %d tidak memiliki area data\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Awal baru dari data"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Perintah expert (m untuk bantuan): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Jumlah dari cylinders"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Jumlah dari heads"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Jumlah dari sektor"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Peringatan: setting sektor offset untuk DOS kompatibilitas\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"PERINGATAN: GPT (GUID Tabel Partisi) terdeteksi di '%s'! aplikasi fdisk "
+"tidak mendukung GPT. Gunakan GNU Parted.\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "tidak dapat membuka %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: perintah tidak diketahui\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Membuat sebuah disklabel sun baru. Perubahan akan tetap berada di memori,\n"
+"sampai anda memutuskan untuk menulis perubahan tersebut. Sesudah itu, tentu\n"
+", isi sebelumnya tidak dapat di kembalikan.\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Terdeteksi sebuah OSF/1 disklabel di %s, memasuki mode disklabel.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Perintah (m untuk bantuan): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "pilihan tidak valid"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "pilihan tidak valid"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "pilihan tidak valid"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "pilihan tidak valid"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Peringatan: pilihan -b (set ukuran sektor) seharusnya digunakan dengan salah "
+"satuperangkat yang digunakan\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Note: ukuran sector adalah %d (bukan %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Disk %s tidak memiliki sebuah tabel partisi yang valid\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Seluruh partisi primary telah didefinisikan!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Bad offset dalam partisi extended primary\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Peringatan: mengabaikan partisi sesudah #%d.\n"
+"Mereka mungkin telah menghapus jika anda menyimpan tabel partisi.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Peringatan: extra pointer link dalam tabel partisi %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Peringatan: mengabaikan extra data dalam tabel partisi %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "mengabaikan partisi kosong (%d)\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identifikasi disk: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Identifikasi disk baru (sekarang 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Mengabaikan extra partisi extended %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Peringatan: tanda tidak valid 0x%04x dari tabel partisi %d akan dibetulkan w"
+"(rite)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "Partisi %d sudah didefinisikan. Hapus ini sebelum menambahkannya.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu sudah dialokasikan\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Tidak ada sektor yang kosong\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Terakhir %1$s, +%2$s atau +size{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Partisi logical tidak baik"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Peringatan: awal dari data tidak baik dalam partisi %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Peringatan: partisi %d overlaps partisi %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Peringatan: partisi %d kosong\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Partisi logical %d tidak seluruhnya berada di partisi %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Total sektor teralokasi %llu lebih besar dari pada maksimal %llu\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "Sisa %lld sektor tidak dialokasikan %d-byte sektor\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Seluruh partisi logical sedang digunakan\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Seluruh partisi logical sedang digunakan\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Menambahkan sebuah partisi primary\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l logical (5 atau lebih)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e extended"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Menggunakan nilai default %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Nomor partisi tidak valid untuk tipe `%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tTerdapat sebuah Mac label yang valid di disk ini.\n"
+"\tSayangnya fdisk(1) tidak dapat menangani disk ini saat\n"
+"\tGunakan pdisk atau parted untuk memodifikasi tabel partisi.\n"
+"\tBeberapa saran:\n"
+"\t1. fdisk akan menghancurkan isi pada waktu menulis ke disk.\n"
+"\t2. Pastikan disk ini BUKAN bagian vital dari volume group. (Jika \n"
+"\t anda mungkin akan menghapus disk lain juga, jika tidak di mirror.)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tMaaf - fdisk ini tidak menangani Mac disk labels.\n"
+"\tJika anda ingin menambahkan partisi tipe DOS, buat sebuah\n"
+"\ttabel partisi DOS baru yang kosong terlebih dahulu. (Gunakan o.)\n"
+"\tPERINGATAN: Ini mungkin akan menghancurkan seluruh isi disk.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Menurut MIPS Computer Systems, Inc. label harus berisi tidak lebih dari 512 "
+"bytes\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Terdeteksi sgi disklabel dengan checksum salah.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sektor\n"
+"%d silinder, %d physical silinder\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s dari %d * %d bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sektor, %d silinder\n"
+"Satuan = %s dari %d * %d bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- partisi ------\n"
+"Pt# %*s Info Awal Akhir Sektor Id System\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Masukan Direktori -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sector%5u size%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Bootfile tidak valid!\n"
+"\tBootfile harus sebuah pathname yang tidak kosongm,\n"
+"\te.g. \"/unix\" atau \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNama dari Bootfile terlalu panjang: 16 bytes maksimal.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tBootfile harus memiliki sebuah fully qualified pathname.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tHati - hati, bootfile tidak di periksa keberadaannya.\n"
+"\tSGI's default adalah \"/unix\" dan untuk backup \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Boot file yang saat ini digunakan: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Tolong masukkan nama dari boot file yang baru: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Boot file tidak diubah\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tBootfile berubah menjadi \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Lebih dari satu masukan seluruh disk yang ada.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Tidak ada partisi yang didefinisikan\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX seperti ketika Partisi 11 meliputi seluruh disk.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Seluruh disk partisi seharusnya berawal di block 0,\n"
+"bukan di diskblock %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Seluruh disk partisi hanya sebesar %d diskblock,\n"
+"tetapi besar disk adalah %d.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Satu Partisi (#11) seharusnya memenuhi seluruh disk.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partisi %d tidak berawal di batas cylinder.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partisi %d tidak berakhir di batas cylinder.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partisi %d dan %d overlap %d sektor.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Gap yang tidak digunakan sebanyak %8u sektor - sektor %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Partisi boot tidak ada.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Partisi swap tidak ada.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Partisi swap tidak memiliki tipe swap.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tAnda telah memilih sebuah nama file boot yang tidak biasa.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Maaf, hanya superuser yang dapat mengubah System Clock.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Ini sangat disarankan bahwa partisi di offset 0 memiliki tipe\n"
+"\"SGI volhdr\", IRIX system akan bergantung pada ini untuk menerima\n"
+"perangkat direktori standalone seperti sash dan fx. Hanya \"SGI volume\" \n"
+"di bagian keseluruhan disk akan mengganggu ini. Ketik YES jika anda yakin\n"
+"mengenai tagging partisi ini secara berbeda.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "YA\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+"Anda memperoleh sebuah partisi yang overlap di disk. Betulkan ini terlebih "
+"dahulu!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Mencoba untuk membuat seluruh masukan disk secara otomatis.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Seluruh disk sudah dilingkupi oleh partisi.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Anda memperoleh sebuah partisi yang overlap di disk. Betulkan ini terlebih "
+"dahulu!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Ini sangat direkomendasikan untuk partisi kesebelas\n"
+"mencakupi seluruh disk dan mempunyai tipe `SGI volume'\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Anda akan memperoleh sebuah partisi yang overlap di disk. Betulkan ini "
+"terlebih dahulu!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Terakhir %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl gagal di %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Peringatan: BLKGETSIZE ioctl gagal di %s. Menggunakan nilai geometri "
+"cylinder dari %d.\n"
+"Nilai ini mungkin akan dipotong untuk perangkat yang berukuran > 33.8 GB.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tAWAL=%d\tPANJANG=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Mencoba untuk menyimpan parameter dari partisi %d.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Tidak di assign"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Seluruh disk"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sektor"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Terdeteksi disklabel sun dengan checksum yang salah.\n"
+"Mungkin anda harus menset semua nilai, heads, sectors, \n"
+"cylinders dan partisi untuk memaksa fresh label \n"
+"(perintah s dalam main menu)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Terdeteksi sun disklabel dengan versi salah [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Terdeteksi sun disklabel dengan sanity salah [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Terdeteksi sun disklabel dengan num_partitions salah [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Peringatan: Nilai salah butuh untuk perbaiki dan akan diperbaiki w(rite)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s tidak terdapat disklabel.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektor/track"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partisi %d tidak berakhir dalam batas cylinder\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partisi %d overlap dengan yang lainnya di sektor %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Gap yang tidak digunakan - sektor 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Gap yang tidak digunakan sektor %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Partisi lain sudah melingkupi seluruh disk.\n"
+"Hapus sebagian/kecilkan mereka sebelum mencoba lagi.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Ini sangat direkomendasikan partisi ketika melingkupi seluruh disk\n"
+"dan memiliki tipe `Whole disk'\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d sudah dialokasikan\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Anda belum melingkupi seluruh disk dengan partisi ke tiga, tetapi nilai "
+"anda\n"
+"%d %s melingkupi beberapa partisi yang lain. Masukan anda telah berubah \n"
+"menjadi %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Jika anda ingin menjaga kompatibilitas dengan SunOS/Solaris, pertimbangkan \n"
+"untuk meninggalkan partisi ini sebagai Whole disk (5), mulai di 0, dengan %u "
+"sectors\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Ini sangat direkomendasikan bahwa partisi di offset 0 adalah UFS, EXT2FS \n"
+"filesystem atau SunOS swap. Menempatkan Linux swap disana mungkin akan \n"
+"menghancurkan tabel partisi anda dan bootblock. Ketik YES jika anda sangat \n"
+"yakin, akankah anda menset (tag) partisi tersebut dengan tipe 82 (Linux "
+"swap): "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d rpm\n"
+"%d cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Satuan = %s dari %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Tanda Awal Akhir Blocks Id System\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Jumlah dari cylinder alternative"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Extra sektor per cylinder"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Faktor Interleave"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Kecepatan rotasi (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Jumlah dari physical cylinders"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Kosong"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Extended"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootable"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 Tersembunyi"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 Tersembunyi <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 Tersembunyi"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS Tersembunyi"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "W95 FAT32 Tersembunyi"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA) Tersembunyi"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA) Tersembunyi"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "HPFS/NTFS Tersembunyi"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ataus SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 hidded C: drive"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux extended"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NextSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HPF+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard hidden"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Non-FS data"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS secondary"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "seek error di %s - tidak dapat seek ke %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "seek error: diinginkan 0x%08x%08x, diperoleh 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "error dalam membaca di %s - tidak dapat membaca di sektor %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "kesalahan dalam menulis di %s - tidak dapat menulis di sektor %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "tidak dapat membuka partisi sektor save file (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "error menulis di %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "tidak dapat memperoleh statistik dari file restore (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"file partisi untuk restore memiliki ukuran yang salah - tidak melakukan "
+"restore\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "tidak dapat membuka partisi restore file (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "error dalam membaca %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "tidak dapat membuka perangkat %s untuk menulis\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "error dalam menulis sektor %lu di %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: tidak dapat memperoleh geometri\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: tidak dapat memperoleh ukuran\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Peringatan: start=%lu - ini mungkin seperti sebuah partisi dari pada\n"
+"seluruh disk. Menggunakan fdisk untuk ini mungkin tidak berarti.\n"
+"[Gunakan pilihan --force jika anda benar - benar menginginkan hal ini]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Peringatan: HDIO_GETGEO mengatakan bahwa disana ada %lu heads\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Peringatan: HDIO_GETGEO mengatakan bahwa disana ada %lu sektor\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+"Peringatan: BLKGETSIZE/HDIO_GETGEO mengatakan bahwa disana ada %lu "
+"cylinders\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Peringatan: tidak seperti jumlah sektor (%lu) - biasanya ada di 63\n"
+"Ini akan memberikan masalah dengan seluruh software yang pengalamatan "
+"mengunakan C/H/S.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s dari partisi %s memiliki jumlah head yang tidak mungkin: %lu (seharusnya "
+"berada dalam 0-%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s dari partisi %s memiliki jumlah sektor yang tidak mungkin: %lu "
+"(seharusnya berada dalam 1-%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s dari partisi %s memiliki jumlah cylinders yang tidak mungkin: %lu "
+"(seharusnya berada dalam 0-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Nama Id\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Membaca kembali tabel partisi ...\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Perintah untuk membaca kembali tabel partisi gagal.\n"
+"Jalankan partprobe(8), kpartx(8) atau reboot sistem anda sekarang,\n"
+"sebelum menggunakan mkfs\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Error menutup %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: tidak ada partisi seperti itu\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "format tidak dikenali - menggunakan sektor\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "format tidak diimplementasikan - menggunakan %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Satuan = cylinders dari %lu bytes, block dari 1024 bytes, dihitung dari %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Device Boot Awal Akhir #cyls #blocks Id System\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Satuan = sektor dari 512 bytes, dihitung dari %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Device Boot Awal Akhir #sectors Id System\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Satuan = blocks dari 1024 bytes, dihitung dari %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Device Boot Awal Akhir #blocks Id System\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Satuan = mebibytes dari 1048576 bytes, blocks dari 1024 bytes, dihitung dari "
+"%d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Device Boot Awal Akhir MiB #blocks Id System\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tawal: (c,h,s) diperkirakan (%ld,%ld,%ld) ditemukan (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\takhir: (c,h,s) diperkirakan (%ld,%ld,%ld) ditemukan (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partisi tidak berakhir di cylinder %ld, diluar dari akhir dari disk\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Tidak ada partisi yang ditemukan\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Peringatan: Tabel partisi sepertinya seperti tekal dibuat untuk\n"
+"C/H/S=*/%ld/%ld (daripada untuk %ld/%ld/%ld).\n"
+"Untuk daftar ini Saya akan berasumsi dengan menggunakan geomtri tersebut.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "tidak ada tabel partisi yang ada.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "aneh, hanya %d partisi yang didefinisikan.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"Peringatan: partisi %s memiliki ukuran 0 tetapi tidak ditandai Kosong\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Peringatan: partisi %s memiliki ukuran 0 dan bootable\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Peringatan: partisi %s memiliki ukuran 0 dan awal yang tidak kosong\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "tidak berada di partisi %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Peringatan: partisi %d kosong\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Peringatan: partisi %s berisi bagian dari tabel partisi (sektor %lu),\n"
+"dan akan menghancurkannya ketika terisi.\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Peringatan: partisi %s berawal di sektor 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Peringatan: partisi %s meluas melewati akhir dari disk\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Diantara partisi primary, paling tidak satu dapat menjadi extended\n"
+"(walaupun ini bukan menjadi masalah dalam Linux)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Peringatan: partisi %s tidak berawal dalam batas cylinder\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Peringatan: partisi %s tidak berakhir dalam batas cylinder\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Peringatan: lebih dari satu partis primary yang ditandai bootable (active)\n"
+"Ini tidak menjadi masalah untuk LILO, tetapi DOS MBR tidak akan mem-boot "
+"disk ini.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Peringatan: biasanya hanya satu yang dapat di boot dari partisi primary\n"
+"LILO mengabaikan tanda `bootable'.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Peringatan: tidak ada partisi primary yang ditandai bootable (active)\n"
+"Ini tidak menjadi masalah untuk LILO, tetapi DOS MBR tidak akan dapat mem-"
+"boot disk ini.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "awal"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partisi %s: awal: (c,h,s) diperkirakan (%ld,%ld,%ld) ditemukan (%ld,%ld,"
+"%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "akhir"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partisi %s: akhir: (c,h,s) diperkirakan (%ld,%ld,%ld) ditemukan (%ld,%ld,"
+"%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partisi %s berakhir di cylinder %ld, diluar dari akhir dari disk\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Peringatan: awal tergeser dari extd partisi dari %ld menjadi %ld\n"
+"(Hanya untuk tujuan pendaftaran. Jangan mengubah isinya.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Peringatan: partisi extended tidak berawal di batas cylinder.\n"
+"DOS dan Linux akan menginterpretasikan isi secara berbeda.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERROR: sektor %lu tidak memiliki sebuah msdos signature\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "terlalu banyak partisi - mengabaikan partisi yang melewati nr (%d)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "tree dari partisi?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "terdeteksi Disk Manager - tidak dapat menangani ini\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6 signature ditemukan - menyerah\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "aneh..., sebuah extended partisi yang berukuran 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "aneh..., sebuah BSD partisi yang berukuran 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: tipe tabel partisi tidak diketahui\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "pilihan -n telah diberikan: Tidak ada yang berubah\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Gagal menyimpan sektor lama - membatalkan\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Gagal menulis partisi di %s\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "panjang atau baris input tidak complete - berhenti\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "input error: `=' diperkirakan setelah %s\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "input error: unexpected character %c setelah %s\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "input tidak diketahui: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "nomor terlalu besar\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "trailing junk sesudah nomor\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "tidak ada ruang untuk partisi deskripsi\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "tidak dapat membuat extended partisi disekitarnya\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "terlalu banya input\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Tidak ada ruang lagi\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Tipe ilegal\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Peringatan: diberikan ukuran (%lu) melebihi ukuran maksimal yang diijinkan "
+"(%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Peringatan: partisi kosong\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Peringatan: partisi memiliki awal yang buruk (terlalu awal %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "tanda bootable tidak diketahui - pilih - atau *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "partial c,h,s spesifikasi?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Extended partisi tidak diperkirakan\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "input tidak baik\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "terlalu banyak partisi\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Masukkan dengan menggunakan format berikut; field yang kosong akan "
+"memperoleh\n"
+"nilai default. <awal> <ukuran> <tipe [E,S,L,X,hex]> <bootable [-,*] <c,h,s>\n"
+"<c,h,s> biasanya anda hanya perlu untuk menspesikan <awal> dan <ukuran> (dan "
+"mungkin <tipe>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Penggunaan:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Pilihan:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "pilihan yang berbahaya:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -G [atau --show-pt-geometry]: tampilkan geometry yang ditebak dari tabel "
+"partisi"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [atau --show-extended]: juga menampilkan partisi extended dalam "
+"output\n"
+" atau memperkirakan deskripsi dari partisi di "
+"input"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Penggunaan:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s perangkat\t\t daftar dari partisi aktif di perangkat\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s perangkat n1 n2 ... aktivasi partisi n1 ..., menonaktifkan sisanya\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An perangkat\t aktivasi partisi n, menonaktifkan yang lainnya\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"PERINGATAN: GPT (GUID Tabel Partisi) terdeteksi di '%s'! Aplikasi sfdisk "
+"tidak mendukung GPT. Gunakan GNU Parted.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Gunakan pilihan --force untuk memaksa pemeriksaan ini.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "tidak ada perintah?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "Jumlah dari baris tidak valid"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "jumlah: %llu blocks\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "penggunaan: sfdisk --print-id perangkat nomor-partisi\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "penggunaan: sfdisk --change-id perangkat nomor-partisi Id\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "penggunaan: sfdisk --id perangkat nomor-partisi [Id]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr ""
+"tidak dapat menspesifikasikan hanya untuk satu perangkat (kecuali dengan "
+"pilihan -l atau -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "tidak dapat membuka %s untuk baca-tulis\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "tidak dapat membuka %s untuk membaca\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "Tidak dapat memperoleh ukuran dari %s\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "active byte tidak baik: 0x%x daripada 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Selesai\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Anda memiliki %d primary partisi yang aktif. Ini tidak bermasalah untuk "
+"LILO,\n"
+"tetapi DOS MBR hanya akan memboot sebuah disk dengan 1 active partisi.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "partisi %s memiliki id %x dan ini tidak disembunyikan\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "Bad Id %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Disk ini saat ini sedang digunakan.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Fatal error: tidak dapat menemukan %s\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Peringatan: %s bukan sebuah perangkat block\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Mengecheck apakah ada yang sedang menggunakan disk saat ini ...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Disk ini saat ini sedang digunakan - repartitioning mungkin merupakan ide \n"
+"Buruk. Umount seluruh filesystem, dan swapoff seluruh partisi swap di disk \n"
+"ini. Gunakan pilihan --no-reread untuk menekan pengechekan ini.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+"Gunakan pilihan --force untuk memaksa pemeriksaan secara keseluruhan.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Keadaan lama:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Partisi %d tidak ada, tidak dapat mengubahnya\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Keadaan baru:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Saya tidak suka partisi ini -- tidah ada yang diubah.\n"
+"(Jika anda benar - benar menginginkan ini, gunakan pilihan --force.)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Saya tidak menyukai ini - mungkin anda seharusnya menjawab No\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Apakan anda puas dengan keadaan ini? [ynq]"
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Anda ingin menulis ini ke disk? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Selesai - tidak ada yang diubah\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Tolong jawan salah satu dari y,n,q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Sukses menulis tabel partisi baru\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Jika anda membuat atau mengubas sebuah DOS partisi, katakanlah /dev/foo7,\n"
+"kemudian gunakan dd(1) untuk menolkan 512 bytes pertama: dd if=/dev/zero \n"
+"of=/dev/foo7 bs=512 count=1 (Lihat fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Tampilkan informasi versi\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat wipefs(8).\n"
+"\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: write error.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Penggunaan: %s [pilihan]\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr "--offset dan --all adalah 'mutually exclusive'"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "waitpid gagal"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "gagal mengalokasikan outbuffer"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "gagal mendapatkan pid"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "gagal mendapatkan pid"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan] pathname [pathname ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Tampilkan informasi versi\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: anda (pengguna %d) tidak ada.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: pengguna \"%s\" tidak ada.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "%s: hanya dapat mengubah masukan local; gunakan yp%s.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s tidak diperbolehkan untuk mengubah informasi finger dari %s\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Context pengguna tidak diketahui"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: Tidak dapat menset default context untuk /etc/passwd"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Mengubah informasi finger untuk %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Informasi finger tidak berubah.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "Kantor"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "Telepon Kantor"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "Telepon Rumah"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Dibatalkan.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "field terlalu panjang.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "field terlalu panjang.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' tidak diperbolehkan.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' tidak diperbolehkan.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Karakter Kontrol tidak diperbolehkan.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Character control tidak diperbolehkan.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Informasi finger *TIDAT* diubah. Coba lagi nanti.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Informasi finger berubah.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell=shell Mengeset shell quoting conventions\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "%s: hanya dapat mengubah masukan local; gunakan yp%s.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s tidak diijinkan untuk mengubah shell dari %s\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: UID yang digunakan tidak cocok dengan UID dari pengguna yang "
+"mengubahnya, perubahan shell ditolak\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+"%s: Shell anda tidak ada dalam daftar /etc/shells, perubahan shell ditolak\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Merubah shell untuk %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Shell baru"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "Shell tidak berubah.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "Shell *TIDAK* berubah. Coba lagi nanti.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell berubah.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: shell harus berada dalam full path name.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" tidak ada.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" bukan sebuah executable.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Peringatan: \"%s\" tidak terdaftar dalam /etc/shells.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" tidak terdaftar dalam /etc/shells.\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Tidak ada shells yang diketahui.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"penggunaan: last [-#] [-f file] [-t tty] [-h hostname] [pengguna ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "%s: swapon gagal"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " tetap logged in"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp dimulai %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "error: uname gagal"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interupsi %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "Waktu habis untuk Login sesudah %d detik\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "FATAL: tidak dapat membuka tty: %s"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "FATAL: %s bukan sebuah terminal"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown gagal: %s"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() gagal: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "FATAL: tty buruk"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Login terakhir: %.*s"
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "dari %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "di %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "gagal menulis ke stdout"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DIALUP PADA %s OLEH %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT LOGIN DI %s DARI %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT LOGIN DI %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN DI %s OLEH %s DARI %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN DI %s OLEH %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "%s: PAM Gagal, membatalkan: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Tidak dapat menginitialisasi PAM: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "GAGAL LOGIN %d DARI %s UNTUK %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login tidak benar\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "TERLALU BANYAK LOGIN DICOBA (%d) DARI %s UNTUK %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "GAGAL SESI LOGIN DARI %s UNTUK %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login tidak benar\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Masalah dari sesi setup, batal.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "KOSONG di pengguna (username) dalam %s: %d. Batal."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY gagal: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h hanya untuk super-user.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"penggunaan: last [-#] [-f file] [-t tty] [-h hostname] [pengguna ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Pengguna (username) tidak valid \"%s\" dalam %s:%d. Batal."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr "error: %s: gagal melakukan inisialisasi probing"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() gagal"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Anda memiliki mail baru.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Anda memiliki mail.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() gagal"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "%s: gagal mendapatkan ukuran"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Logging in dengan home = \"/\".\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: tidak dapat mengeksekusi shell script: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Tidak ada shell"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Nilai interval tidak valid: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Password: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: Tidak group seperti itu."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Siapa anda?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() gagal"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: Tidak group seperti itu."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: ijin ditolak"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() gagal"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "gagal menjalankan %s"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "tidak dapat membuka %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "%s: tunggu: Tida ada proses anak lagi?!?\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: tidak dapat memperoleh direktori saat ini - %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "Tidak dapat membuka file '%s'"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "Tidak dapat menset pengolah sinyal"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s gagal.\n"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Password salah."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "gagal untuk mendapatkan statistik: %s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount tidak dapat menset grup id: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount tidak dapat menset grup id: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: tidak dapat menset id pengguna: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Coba `%s --help' untuk informasi lebih lanjut.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "penggunaan: %s [pilihan] <aplikasi> [arg ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: pengguna \"%s\" tidak ada.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: tidak dapat memperoleh direktori saat ini - %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: tidak dapat membuka untuk baca/tulis"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: tidak dapat membuka untuk baca/tulis"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: file password sedang sibuk.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Apakah anda benar - benar ingin melanjutkan"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "%s: gagal mendapatkan ukuran"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "gagal eksekusi"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "%s: lseek gagal"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "%s: stat gagal"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "%s: stat gagal"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "pilihan tidak valid"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: hanya root yang dapat melakukan itu"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "akar inode bukan sebuah direktori"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY gagal: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: tidak dapat menset id pengguna: %s"
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: stat gagal"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s: tidak dapat menambahkan pemantauan inotify."
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: tidak dapat membaca event inotify"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: tidak dapat membuka file sementara.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: mengubah nama %s ke %s gagal: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: Tidak dapat memperoleh context untuk %s"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: Tidak dapat menset context untuk %s"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s tidak diubah\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "tidak dapat melakukan fork"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: tidak ada perubahan yang dilakukan\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Tidak dapat membuka file '%s'"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Anda menggunakan shadow group di system ini.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Anda menggunakan shadow password di system ini.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Apakah anda ingin mengedir %s sekarang [y/n]? "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Jumlah head tidak valid"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "nilai hari ilegal: gunakan 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "nilai bulan ilegal: gunakan 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "nilai tahun ilegal: gunakan 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "penggunaan: cal [-13smjyV] [[[hari] bulan] tahun]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "penggunaan: %s [+format] [hari bulan tahun]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "St. Tib's Day"
+
+#: misc-utils/findfs.c:22
+#, fuzzy, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr "Penggunaan: %s LABEL=<nama>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "tidak dapat menentukan '%s'"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "perangkat block "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Masukkan tipe filesystem: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "gagal mendapatkan pid"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "pilihan yang berguna:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Masukkan tipe filesystem: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Nomor partisi"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Masukkan tipe filesystem: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Masukkan tipe filesystem: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Masukkan tipe filesystem: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Masukkan tipe filesystem: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Masukkan tipe filesystem: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Perintah tidak diketahui: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "jumlah yang terbaca"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Hapus"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "tidak diketahui"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "error mengambil\n"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: tidak dapat membaca %s.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc() gagal"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Perintah yang tersedia:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "Bukan direktori %s!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "id tidak valid: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "long pilihan kosong setelah pilihan -l atau --long argumen"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "tidak diketahui shell setelah pilihan -s atau --shell argumen"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [pilihan] -o | --options optstring [pilihan] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Membolehkan pilihan panjang dimulai dengan "
+"sebuah -\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Ini sedikit petunjuk penggunaan\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=longopts Pilihan panjang yang dikenal\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name=progname Nama dimana error tersebut dilaporkan\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=optstring Pilihan pendek yang dikenal\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet Mematikan laporan error oleh getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Tidak ada output normal\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell=shell Mengeset shell quoting conventions\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Test untuk versi getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote Jangan quote output\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Tampilkan informasi versi\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "hilang argument optstring"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "kerusakan internal, hubungi author."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: signal tidak diketahui %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "pilihan tidak valid"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: tidak dapat menemukan process \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: signal tidak diketahui %s; valid signals:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "penggunaan: %s [ -s signal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ signal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: nama fasilitas tidak diketahui: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: nama priority tidak diketahui: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "pencatat: openlog: nama jalur terlalu panjang\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "socket: %s.\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "terhubung: %s.\n"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "soket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "terhubung"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan]\n"
+"\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(File selanjutnya: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "pilihan tidak valid"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Nomor partisi"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "gagal memperoleh statistik dari path\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "set hanya-baca"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " removable"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "gagal memperoleh statistik dari path\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Username (pengguna) tidak legal"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "get penyesuaian ofset"
+
+#: misc-utils/lsblk.c:133
+#, fuzzy
+msgid "minimum I/O size"
+msgstr "get ukuran minimal I/O"
+
+#: misc-utils/lsblk.c:134
+#, fuzzy
+msgid "optimal I/O size"
+msgstr "get ukuran optimal I/O"
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "get ukuran fisik blok (sektor)"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "get ukuran logikal blok (sektor)"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "get penyesuaian ofset"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " i ubah identifikasi disk"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount: %s: perangkat tidak diketahui"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "gagal menginisialisasi baris penyangga\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: gagal untuk berpindah ke ofset 0x%jx"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "gagal mendapatkan pid"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "gagal mendapatkan pid"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Perintah yang tersedia:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "gagal mendapatkan pid"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "gagal memperoleh statistik dari path\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "tidak dapat daemonize"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "Tidak dapat membuka file '%s'"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "gagal mendapatkan pid"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "tidak diketahui"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "gagal mendapatkan pid"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "gagal mendapatkan pid"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Penggunaan: %s [pilihan]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "id tidak valid: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Memperoleh %d bytes dari %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "gagal menjalankan %s"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "gagal membaca symlink: %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s: membutuhkan berkas deskripsi, berkas atau direktori\n"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan] pathname [pathname ...]\n"
+
+#: misc-utils/namei.c:423
+#, fuzzy
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+" -h, --help tampilkan teks bantuan ini\n"
+" -x, --mountpoints tampilkan titik pemasangan direktori dengan sebuah 'D'\n"
+" -m, --modes tampilkan mode bit dari setiap berkas\n"
+" -o, --owners tampilkan nama pemilik atau grup dari setiap berkas\n"
+" -l, --long gunakan sebuah format penampilan panjang (-m -o -v)\n"
+" -n, --nosymlinks jangan ikuti symlinks\n"
+" -v, --vertical sesuaikan vertikal dari mode dan pemilik\n"
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat namei(1).\n"
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "argumen --date terlalu panjang\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s: melewati batas dari symlinks"
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: mengubah nama %s ke %s gagal: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "argumen tidak baik"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "tulis"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr "jumlah yang terbaca"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "panjang balasan buruk"
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "gagal mendapatkan pid"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "gagal untuk mendapatkan statistik: %s"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Tidak dapat membuat aliran soket unix: %s"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Tidak dapat mengikat soket unix %s: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "daemon uuidd telah berjalan dengan pid %s\n"
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Tidak dapat mendengarkan di soket unix %s: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Error membaca dari klien, panjang = %d\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "operasi %d, masukan jumlah = %d\n"
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "Operasi %d tidak valid\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "UUID waktu yang dihasilkan: %s\n"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "UUID acak yang dihasilkan: %s\n"
+
+#: misc-utils/uuidd.c:433
+#, fuzzy, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] "UUID waktu yang dihasilkan %s dan %d yang mengikutinya\n"
+msgstr[1] "UUID waktu yang dihasilkan %s dan %d yang mengikutinya\n"
+
+#: misc-utils/uuidd.c:454
+#, fuzzy, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "Menghasilkan %d UUID:\n"
+msgstr[1] "Menghasilkan %d UUID:\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Operasi %d tidak valid\n"
+
+#: misc-utils/uuidd.c:480
+#, fuzzy, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "Panjang balasan dari server tidak terduga %d\n"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Angka buruk: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Error memanggil daemon uuidd (%s): %s\n"
+
+#: misc-utils/uuidd.c:618
+#, fuzzy, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "%s dan UUID %d selanjutnya\n"
+msgstr[1] "%s dan UUID %d selanjutnya\n"
+
+#: misc-utils/uuidd.c:622
+#, fuzzy, c-format
+msgid "List of UUIDs:\n"
+msgstr "Daftar dari UUID:\n"
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Tidak dapat mematikan uuidd yang berjalan dengan pid %d: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "Dimatikan uuidd yang berjalan dengan pid %d\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "error: %s: gagal melakukan inisialisasi probing"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: gagal untuk berpindah ke ofset 0x%jx"
+
+#: misc-utils/wipefs.c:298
+#, fuzzy, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr "] dihapus di ofset 0x%jx (%s)\n"
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: tidak ditemukan"
+
+#: misc-utils/wipefs.c:364
+#, fuzzy
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all hapus seluruh 'magic strings' (HATI-HATI)\n"
+" -h, --help pesan bantuan ini\n"
+" -n, --no-act semua yang harus dilakukan kecuali untuk pemanggilan "
+"write()\n"
+" -o, --offset <num> offset untuk menghapus, dalam bytes\n"
+" -p, --parsable tampilkan dalam format yang mudah diparse daripada "
+"format cetak\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat wipefs(8).\n"
+"\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "pilihan tidak valid"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "peringatan: error membaca %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "peringatan: tidak dapat membuka %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: tidak dapat membuka %s - menggunakan %s\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"tidak dapat membuat file kunci %s: %s (gunakan pilihan -n untuk memaksa "
+"menjalankan)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"tidak dapat menlink file kunci %s: %s (gunakan pilihan -n untuk memaksa "
+"menjalankan)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"tidak dapat membuka file kunci %s: %s (gunakan pilihan -n untuk memaksa "
+"menjalankan)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Tidak dapat mengunci file kunci %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "tidak dapat mengunci file kunci %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "waktu habis"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Tidak dapt membuat link %s\n"
+"Mungkin disana ada sebuah file kunci yang masih ada?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "tidak dapat membuka %s (%s) - mtab tidak diupdate"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "error menulis %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: tidak dapat memperoleh statistik %s: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "error mengubah mode dari %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "error mengubah kepemilikan dari %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "tidak dapat mengganti nama %s menjadi %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount: peringatan: /etc/mtab tidak dapat ditulis (mungkin sistem berkas baca-"
+"saja).\n"
+" Ini memungkinkan jika informasi yang ditampilkan oleh mount(8) tidak "
+"baru.\n"
+" Untuk informasi aktual mengenai titik pemasangan sistem periksa "
+"berkas\n"
+" /proc/mounts.\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: pilihan string tidak dinyatakan dengan benar '%s'"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: ditranslasikan %s '%s' ke '%s'\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: menurut mtab, %s telah dimount di %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: menurut mtab, %s telah di mount di %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: tidak dapat membuka %s untuk menulis: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: error dalam menulis %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: error mengubah mode dari %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount tidak dapat menset grup id: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: tidak dapat menset id pengguna: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: tidak dapat melakukan fork: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Mencoba %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+"mount: anda tidak menspesifikasikan sebuah tipe dari filesystem untuk %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Saya akan mencoba semua tipe yang disebutkan dalam %s atau %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " dan ini sepertinya merupakan sebuah swapspace\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Saya akan mencoba tipe %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s kelihatannya seperti swapspace - tidak di mount"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "mount gagal"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: hanya root yang dapat melakukan mount %s di %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: perangkat loop dispesifikasikan dua kali"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: tipe dispesifikasikan dua kali"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: melewatkan setup dari perangkat loop\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: akan menggunakan perangkat loop %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "nilai ofset '%s' tidak valid"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "nilai ofset '%s' tidak valid"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: menurut mtab, %s telah dimount di %s sebagai loop"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "Tidak dapat mengunci ke memory, keluar.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: gagal menset-up perangkat loop\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: akan menggunakan perangkat loop %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "gagal mendapatkan atribut pid %d"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: gagal menset-up perangkat loop\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: tercuri loop=%s ...mencoba lagi\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: tercuri loop=%s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: setup perangkat loop telah berhasil\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s tidak ditemukan - membuatnya..\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argument untuk -p atau --pass-fd harus berupa sebuah nomor"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: tidak dapat membuka %s untuk menset kecepatan"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount tidak dapat menset kecepatan: %s"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: menurut mtab, %s telah dimount di %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "mount: peringatan: %s kelihatannya telah dipasan baca-tulis.\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "mount: peringatan: %s kelihatannya telah dipasan baca-tulis.\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: Saya tidak dapat menentukan tipe dari filesystem, dan tidak diberikan "
+"spesifikasi di argument perintah"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: anda harus menspesifikasikan tipe filesystem"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: mount gagal"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: titik mount %s bukan berupa sebuah direktori"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: ijin ditolak"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: harus menjadi superuser untuk menggunakan mount"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s sedang sibuk"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc telah dimount"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s telah dimount atau %s sedang sibuk"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: titik mount %s tidak ada"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: titik mount %s berupa symbolic link ke suatu tempat"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: perangkat spesial %s tidak ada"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: perangkat spesial %s tidak ada\n"
+" (sebuah path prefix bukan berupa sebuah direktori)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s sudah tidak dimount, atau pilihan buruk"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: tipe fs salah, pilihan buruk, superblock buruk di %s,\n"
+" hilang codepage atau aplikasi pembantu, atau error lain"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (untuk beberapa filesystem (e.g. nfs, cifs) anda mungkin\n"
+" membutuhkan aplikasi pembantu /sbin/mount.<tipe>)"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (apakah ini mungkin sebuah perangkat IDE dimana anda menggunakan\n"
+" ide-scsi sehingga sr0 atau sda atau perangkat sepertinya yang "
+"diperlukan?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (apakah anda mencoba memount sebuah partisi extended,\n"
+" daripada sebuah partisi logical didalamnya?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Dalam beberapa kasus informasi berguna dapat ditemukan di syslog - "
+"coba\n"
+" dmesg | tail atau yang serupa\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "tabel mount penuh"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: tidak dapat membaca superblock"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: perangkat tidak diketahui"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: tipe filesystem tidak diketahui '%s'"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: mungkin yang anda maksudkan %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: mungkin yang anda maksud 'iso9660'?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: mungkin yang anda maksud 'vfat'?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s memiliki nomor perangkat yang salah atau tipe fs %s tidak disupport"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+"mount: %s bukan sebuak perangkat block, dan gagal memperoleh statistik?"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: kernel tidak mengenal %s sebagai sebuah perangkat block\n"
+" (mungkin `modprobe driver'?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s bukan sebuah perangkat block (mungkin dicoba dengan menggunakan "
+"pilihan `-o loop'?"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s bukan sebuah perangkat block"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s bukan sebuah perangkat block yang valid"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "perangkat block "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: tidak dapat me-mount %s%s hanya-baca"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s memiliki proteksi untuk ditulis tetapi secara eksplisit pilihan "
+"`-w' diberikan"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+"mount: tidak dapat memasang kembali %s%s secara baca-tulis, terproteksi-tulis"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s memiliki proteksi untuk ditulis, memount secara hanya-baca"
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: tidak ada media ditemukan di %s"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+"mount: %s tidak berisi label SELinux.\n"
+" Anda telah memasang sistem berkas yang mendukung label yang tidak\n"
+" berisi label, kedalam kotak SELinux. Ini sepertinya berisi aplikasi\n"
+" yang akan menghasilkan pesan AVC dan tidak diperbolehkan mengakses "
+"ke\n"
+" sistem berkas ini. Untuk lebih lengkapnya lihat restorecon(8) dan "
+"mount(8).\n"
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: tipe tidak diberikan - Saya akan mengasumsikan nfs karena adanya "
+"colon\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: tipe tidak diberikan - Saya akan mengasumsikan cifs karena adanya "
+"awalan //\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s telah dimount di %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Penggunan: mount -V : tampilkan versi\n"
+" mount -h : tampilkan bantuan ini\n"
+" mount : tampilkan seluruh filesystem yang di "
+"mount\n"
+" mount -l : idem, termasuk volume labels\n"
+"Sebelumnya adalah bagian untuk informasi. Selanjutnya mengenai mounting.\n"
+"Perintah adalah `mount [-t fstype] sesuatu suatu-tempat'.\n"
+"Detail yang ditemukan dalam /etc/fstab mungkin di abaikan.\n"
+" mount -a [-t|-O] ... : mount seluruh filesystem dari /etc/fstab\n"
+" mount perangkat : mount perangkat di tempat yang diketahui\n"
+" mount direktori : mount perangkat yang diketahui disini\n"
+" mount -t type dev dir: perintah mount biasa\n"
+"Catatan: berikut adalah perintah mount yang tidak benar - benar memounts\n"
+"sebuah filesystem (dari tipe yang diberikan) yang ditemukan dari perangkat.\n"
+"Seseorang juga dapat me mount direktori yang sudah di mount ke tempat lain:\n"
+" mount --bind olddir newdir\n"
+"atau memindahkan sebuah subtree:\n"
+" mount --move olddir newdir\n"
+"atau dapat mengubah tipe dari mount yang berisi dari direktori dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"Atau dapat mengubah tipe dari seluruh mount dalam sebuah mount subtree\n"
+"yang berisi direktori dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rpivate dir\n"
+" mount --make-runbindable dir\n"
+"Sebuah perangkat dapat diberikan berdasarkan nama, katakanlah /dev/hda1 "
+"atau\n"
+"/dev/cdrom, atau melalui label, dengan menggunakan pilihan -L label atau "
+"melalui\n"
+"uuid. Pilihan lain: [-nfFrsvw] [-o pilihan] [-p passwdfd].\n"
+"Untuk informasi lebih detail, lihat man 8 mount.\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: hanya root yang dapat melakukan itu (UID efektif adalah %d)"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: hanya root yang dapat melakukan itu"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "tidak ada yang telah dimount"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: partisi seperti itu tidak ditemukan"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: tidak dapat menemukan %s dalam %s atau %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: peringatan: tidak ada baris baru final pada akhir dari %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: baris %d dalam %s buruk%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; seterusnya dari file diabaikan"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "kutu/bug dalam pemanggilan xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "memory tidak cukup"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: dikompilasi tanpa disupport untuk -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: tidak dapat menset id grup: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: tidak dapat menset id pengguna: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: tidak dapat melakukan fork: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: perangkat block tidak valid"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: tidak dimount"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: tidak dapat menulis superblock"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: perangkat sibuk.\n"
+" (Dalam beberapa kasus informasi berharga tentang proses yang "
+"digunakan\n"
+" oleh perangkat dapat ditemukan oleh lsof(8) atau fuser(1))"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: tidak ditemukan"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: harus superuser untuk melakukan umount"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: perangkat block tidak diijinkan di fs"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: tidak dapat chdir ke %s - %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: tidak dapat memperoleh direktori saat ini - %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: titik mount %s tidak ada"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "tidak ada umount2, mencoba umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s sibuk - di mount lagi secara hanya-baca\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: tidak dapat melakukan mount %s secara hanya-baca\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s sudah tidak dimount\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: tidak dapat mencari daftar dari filesystems untuk di unmount"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Penggunaan: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | titik...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "gagal mendapatkan pid"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "perangkat %s sudah diasosiasikan dengan %s\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "perangkat %s sudah diasosiasikan dengan %s\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "Tidak dapat umount \"\"\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Mencoba untuk umount %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: bingung ketika menganalisa mtab"
+
+#: mount-deprecated/umount.c:634
+#, fuzzy, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr "umount: tidak dapat umount %s -- %s telah dipasang di titik yang sama."
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Tidak dapat mencari %s dalam mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "perangkat %s sudah diasosiasikan dengan %s\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s tidak di mount (menurut catatan di mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: kelihatannya %s telah di mount beberapa kali"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s tidak ada dalam fstab (dan anda bukan root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s mount tidak cocok dengan catatan di fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: hanya %s yang dapat unmount %s dari %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: hanya root yang dapat melakukan itu"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "gagal mendapatkan kebijakan pid %d"
+
+#: schedutils/chrt.c:108
+#, fuzzy, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "pid %d %s kebijakan antrian: "
+
+#: schedutils/chrt.c:110
+#, fuzzy, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "pid %d %s kebijakan antrian: "
+
+#: schedutils/chrt.c:143
+#, fuzzy
+msgid "unknown scheduling policy"
+msgstr "pid %d %s kebijakan antrian: "
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "gagal mendapatkan atribut pid %d"
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "pid %d %s prioritas antrian: %d\n"
+
+#: schedutils/chrt.c:153
+#, fuzzy, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "pid %d %s prioritas antrian: %d\n"
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "SCHED_%s min/max prioritas\t: %d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s tidak didukung?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "tidak dapat menemukan perangkat %s"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "pilihan tidak valid"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "gagal menset kebijakan pid %d"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "gagal menset kebijakan pid %d"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "gagal menjalankan %s"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "ioprio_get gagal"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "ioprio_set gagal"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "pilihan tidak valid"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "id tidak valid: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Perintah tidak diketahui: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr "mengabaikan data kelas yang diberikan untuk kelas kosong"
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr "mengabaikan data kelas yang diberikan untuk kelas kosong"
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "prioritas kelas %d buruk"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "gagal menjalankan %s"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "penggunaan: %s [pilihan] <aplikasi> [arg ...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat namei(1).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "ubah waktu rtc"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "gagal mendapatkan kebijakan pid %d"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "gagal menset kebijakan pid %d"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "tidak dapat menentukan ukuran dari %s"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "calloc gagal"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "gagal mendapatkan pid"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "unshare gagal"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" tidak ada.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Sektor %d sudah dialokasikan\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Sektor %d sudah dialokasikan\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" bukan sebuah executable.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Sektor %d sudah dialokasikan\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Sektor %d sudah dialokasikan\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Autoconfigure gagal.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Autoconfigure gagal.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "Jumlah dari baris tidak valid"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan]\n"
+"\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: argument tidak diketahui: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Penggunaan: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Anda harus menjadi root untuk mengeset reaksi dari Ctrl-Alt-Del.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld nilai default threshold dan %ld nilai default timeout\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Ini sedikit petunjuk penggunaan\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"File %s, Untuk nilai threshold %lu, Maksimal character dalam fifo adalah "
+"%d,\n"
+"dan maksimum dari kecepatan transfer dalam characters/detik adalah %f\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"File %s, Untuk nilai threshold %lu dan nilai timrout %lu, Maksimal "
+"characters dalam fifo adalah %d,\n"
+"dan maksimum dari kecepatan transfer dalam characters/detik adalah %f\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday gagal"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "Tidak dapat mengisukan CYGETMON di %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Tidak dapat memperoleh nilai threshold untuk %s: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Tidak dapat memperoleh nilai timeout untuk %s: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f int/sec; %f rec, %f send (char/sec)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f int/sec; %f rec (char/sec)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Nilai interval tidak valid: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Nilai interval tidak valid: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Nilai set tidak valid: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Nilai set tidak valid: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Nilai default tidak valid: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Nilai default tidak valid: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Nilai set waktu tidak valid: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Nilai set waktu tidak valid: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Nilai dafault waktu tidak valid: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Nilai dafault waktu tidak valid: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Tidak dapat menset %s ke nilai threshold %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "Tidak dapat menset %s ke waktu threshold %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld nilai threshold saat ini dan %ld nilai timeout saat ini\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld nilai default threshold dan %ld nilai default timeout\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Partisi ini tidak dapat digunakan"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "error menutup %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Peringatan: partisi %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "pesan"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Masukkan tipe filesystem: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "tidak dapat daemonize"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "tidak dapat daemonize"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Perintah tidak diketahui: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "Bukan direktori %s!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync gagal"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "tidak dapat membuka %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "gagal menulis: %s"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "pilihan tidak valid"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "baca baris rtc"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "tidak ada perintah?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "msgctl gagal"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr ""
+"Penggunaan: %s [pilihan] <nama berkas>\n"
+"\n"
+"Pilihan:\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "id tidak valid: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "id tidak valid: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+#, fuzzy
+msgid "CD-ROM eject unsupported"
+msgstr "kecepatan %d tidak didukung"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "gagal untuk mendapatkan statistik: %s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "bukan sebuah perangkat blok atau berkas: %s"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "mount gagal"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: tidak dapat menset id pengguna: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "gagal menjalankan %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "tidak dapat membuka %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: titik mount %s tidak ada"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: mengubah nama %s ke %s gagal: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "fsck: %s: tidak ditemukan\n"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " removable"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Menggunakan nilai default %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "Perangkat loop adalah %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "fsck: %s: tidak ditemukan\n"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: gagal untuk berpindah ke ofset 0x%jx"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: bukan sebuah block device\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "Perangkat loop adalah %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "%s: %s: perangkat sedang sibuk"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s sukses.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "gagal eksekusi"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "gagal membuka direktori\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "gagal menjalankan %s"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: sys-utils/fallocate.c:62
+#, fuzzy
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+" -h, --help pesan bantuan ini\n"
+" -n, --keep-size jangan modifikasi panjang dari berkas\n"
+" -o, --offset <num> ofset dari alokasi, dalam bytes\n"
+" -l, --length <num> panjang dari alokasi, dalam bytes\n"
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr "panjang argumen tidak dispesifikasikan"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr "nilai panjang yang dispesifikasikan tidak valid"
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr "nilai ofset yang dispesifikasikan tidak valid"
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr "nama berkas tidak dispesifikasikan."
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "diduga sebuah nomor, tetapi diperoleh '%s'"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr "mode jaga ukuran (-n pilihan) tidak didukung"
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s: fallocate gagal"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: tidak dapat menset id pengguna: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "Tidak dapat membuka file '%s'"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "id tidak valid"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s: %s membutuhkan tepat sebuah argument perintah\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "%s: membutuhkan berkas deskripsi, berkas atau direktori\n"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "waitpid gagal"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr ""
+"Penggunaan: %s [pilihan] <nama berkas>\n"
+"\n"
+"Pilihan:\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat wipefs(8).\n"
+"\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "nama berkas tidak dispesifikasikan."
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "nama berkas tidak dispesifikasikan."
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "akar inode bukan sebuah direktori"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "%s: gagal menulis"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "%s: gagal menulis"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "gagal membaca berkas pewaktu %s"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "nama berkas tidak dispesifikasikan."
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "akar inode bukan sebuah direktori"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s: gagal menulis"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "tidak dapat membuka %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Diasumsikan clock hardware tetap di waktu %s.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "lokal"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Peringatan: tidak dikenal baris ketiga di adjtime file\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Penyesuaian drift terakhir dilakukan pada %ld detik setelah 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Kalibrasi terakhir dilakuka di %ld detik setelah 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hardware clock adalah di waktu %s\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Menunggu untuk clock tick...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...sinkronisasi gagal\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...diperoleh clock tick\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Nilai tidak valid di hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld detik sejak 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Waktu terbaca dari Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Menset Hardware Clock menjadi %.2d:%.2d:%.2d = %ld detik semenjak 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Clock tidak diubah - hanya mencoba.\n"
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Waktu terlewatkan sejak referensi waktu telah lewat %.6f detik.\n"
+"Menunda lebih jauh untuk mencapai waktu baru.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Register Hardware Clock berisi nilai yang tidak valid (hari ke 50 dari "
+"bulan) atau diluar dari jangkauan yang dapat kita tangani (Tahun 2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f detik\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "Pilihan --date tidak dispesifikasikan.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "argumen --date terlalu panjang\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Nilai dari pilihan --date tidak meupakan tanggal yang sah.\n"
+"Kadang kala, itu berisi tanda petik.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Mengisukan perintah date: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Tidak dapat menjalankan aplikasi 'date' di shell /bin/sh. popen() gagal"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "respon dari perintah date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"Perintah date diberikan oleh %s memberikan hasil yang tidak diperkirakan.\n"
+"Perintah adalah:\n"
+" %s\n"
+"Respon adalah:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"Perintah date diberikan oleh %s memberikan sesuatu selain integer dimana "
+"nilai waktu yang diconvert seperti diperkirakan.\n"
+"Perintah adalah:\n"
+" %s\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "date string %s sama dengan %ld detik semenjak 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Hardware Clock tidak berisi waktu yang valid, jadi kita tidak dapat menset "
+"Waktu System dari waktu ini.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Memanggil settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Tidak menset system clock karena berjalan dalam mode test.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Harus menjadi superuser untuk menset system clock.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() gagal"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Waktu sistem sekarang: %ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Tidak menyesuaikan faktor drift karena Clock Hardwre sebelumnya berisi "
+"sampah.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Tidak menyesuaikan faktor drift karena waktu kalibrasi terakhir adalah nol,\n"
+"jadi history buruk dan pengulangan kalibrasi diperlukan.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Tidak menyesuaikan faktor drift karena ini lebih kecil dari hari semenjak "
+"terakhir dikalibrasi.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Clock digeser %.1f detik dari waktu sebelumnya, %d detik dari pada faktor "
+"drift %f detik/hari.\n"
+"menyesuaikan faktor drift sebesar %f detik/hari.\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Waktu semenjak penyesuaian terakhir adalah %d detik\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Butuh untuk memasukkan %d detik dan referensi waktu kembali %.6f detik yang "
+"lalu\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Tidak meng-update adjtime file karen dalam mode testing.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Inginkah anda menulis berikut ini ke %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+"Tidak dapat membuka berkas dengan parameter penyesuaian jam didalamnya (%s) "
+"untuk ditulis"
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+"Tidak dapat memperbarui berkas dengan parameter penyesuaian jam (%s) "
+"didalamnya"
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Parameter adjusment drift tidak di update.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"Clock hardware tidak berisi waktu yang valid, jadi kita tidak bisa "
+"membetulkannya.\n"
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Tidak menyesuaikan jam karena waktu kalibrasi terakhir adalah nol, jadi "
+"sejarah buruk."
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"Penyesuaian yang dibutuhkan mungkin lebih kecil dari satu detik, jadi tidak "
+"menset clock.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Menggunakan %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Tidak ditemukan antarmuka clock yang berguna.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Tidak dapat menset system clock.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Kernel menyimpan nilai epoch dari Hardware clock hanya di sebuah mesin Alpha "
+"Salinan dari hwclock ini telah dibuat untuk mesin selain Alpha\n"
+"(dan jadi diasumsikan saat ini tidak berjalan di Alpha).\n"
+"Tidak ada aksi yang dilakukan.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Tidak dapat memperoleh nilai epoch dari kernel.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kernel mengasumsikan menggunakan nilai epoch dari %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Untuk menset nilai epoch, anda harus menggunakan pilihan 'epoch' untuk "
+"memberitahukan nilai untuk mensetnya.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Tidak menset epoch ke %d - masih dalam pengetesan.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Tidak dapat menset nilai epoch dalam kernel.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"Pilihan:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -A|--srm, -F|--funky-toy\n"
+" beritahu hwclock tipe dari alpha yang anda miliki (lihat hwclock "
+"(8))\n"
+"\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "%s: Tidak dapat menghubungi ke sistem audit\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "pilihan tidak valid"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s tidak membutuhkan argument. Anda memberikan %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+"%s: Dengan --noadjfile, anda harus menspesifikasi baik --utc atau --"
+"localtime\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Tidak ada set-to time yang berguna. Tidak dapat menset clock.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Maaf, hanya superuser yang dapat mengubah Hardware Clock.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Maaf, hanya superuser yang dapat mengubah System Clock.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Maaf, hanya superuser yang dapat mengubah Hardware Clock epoch di dalam "
+"kernel.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+"Tidak dapat mengakses Hardware Clock melalui semua metode yang diketahui.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Gunakan pilihan --debug untuk melihat detail dari pencarian kita untuk "
+"sebuah metode akses.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "diboot dari MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD clock\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "clockport diset ke 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: atomic %s gagal untuk 1000 iterasi!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, fuzzy, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr "cmos_read(): penulisan ke alamat kontrol %X gagal: %s\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, fuzzy, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "cmos_read(): penulisan ke alamat data %X gagal: %s\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, fuzzy, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr "cmos_write(): penulisan ke alamat kontrol %X gagal: %s\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, fuzzy, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "cmos_write(): penulisan ke alamat data %X gagal: %s\n"
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "Saya gagal memperoleh ijin karen Saya tidak mencobanya.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"%s tidak dapat memperoleh ijin I/O port akses: iopl(3) panggilan gagal.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Mungkin anda butuk kewenangan root.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Menunggu dalam loop untuk waktu dari KDGHWCLK untuk berubah\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl untuk membaca waktu gagal"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl untuk membaca waktu gagal dalam loop"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Waktu habis menunggu untuk perubahan waktu.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() gagal untuk membaca waktu dari %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK gagal"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Tidak dapat membuka /dev/tty1 atau /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl gagal"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl() untuk %s untuk membaca waktu gagal.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Menunggu dalam loop untuk waktu dari %s untuk perubahan\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s tidak memiliki fungsi interupsi. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() untuk %s untuk menunggu clock tick gagal"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() untuk %s untuk menunggu clock tick gagal"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "select() untuk %s waktu habis untuk menunggu clock tick\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() untuk %s untuk mematikan interupsi update gagal"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() untuk %s untuk menyalakan update interupsi gagal secara tidak terduga"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl() untuk %s untuk menset waktu gagal.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) berhasil.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Untuk memanipulasi nilai epoch dalam kernel, kita harus mengakses Linux "
+"'rtc' device driver melalui file spesial %s. File ini mungkin tidak ada di "
+"system ini.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) untuk %s gagal"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "kita telah membaca epoch %ld dari %s dengan RTC_EPOCH_READ ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Nilai epoch mungkin tidak kurang dari 1900. Anda meminta %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "Menset epoch menjadi %ld dengan RTC_EPOCH_SET ioctl menjadi %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Kernel device driver untuk %s tidak memiliki ioctl RTC_EPOCH_SET.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) ke %s gagal"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output Tidak ada output normal\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr "pembuatan memori terbagi gagal"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "Identitas memori terbagi: %d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr "pembuatan atrian pesan gagal"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "Identitas antrian pesan: %d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "pembuatan semaphor gagal"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "Identitas semaphor: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Tampilkan informasi versi\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Bagian memory share shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "Identitas antrian pesan: %d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "Identitas semaphor: %d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "ijin ditolak untuk kunci"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "ijin ditolak untuk id"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "kunci tidak valid"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "id tidak valid"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "kunci sudah dihapus"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "id sudah dihapus"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "gagal seek"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() gagal"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "id tidak valid: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Argumen tidak cukup"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "resource(s) dihapus\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: kunci illegal (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "kernel tidak dikonfigurasu untuk shared memory\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "kernel tidak dikonfigurasikan untuk semaphores\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "kernel tidak dikonfigurasikan untuk message queues\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: argument tidak diketahui: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : detail di resource yang di identifikasi oleh id\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "pilihan yang berbahaya:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "kernel tidak dikonfigurasu untuk shared memory\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Batas Shared Memory --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "max nomor dari segments = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "max sed size (kbytes) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "max total shared memory (kbytes) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "min seg size (bytes) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Shared Memory Status --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Shared Memory Segment Pembuat/Pemilik --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Shared Memory Attach/Detach/Change Times --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "pemilik"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "attached"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "detached"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "berubah"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ Shared Memory Pembuat/Last-op --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Shared Memory Segments --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "kunci"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "bytes"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Tidak diset"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "terkunci"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "kernel tidak dikonfigurasikan untuk semaphores\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Batas Semaphore --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "max nomor dari arrays = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "max semaphors per array = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "max semaphors system wide = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "max ops per semop call = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "nilai maksimal semaphore = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semaphore Status --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "arrays yang digunakan = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semaphores yang dialokasikan = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Semaphore Array Pembuat/Pemilik --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Operasi Semaphore/Perubahan Waktu ---------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "last-op"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "last-changed"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaphore Arrays --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "kernel tidak dikonfigurasikan untuk message queues\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Messages: Limits --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "max queues system wide = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "ukuran maksimal dari pesan (bytes) =%d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "ukuran maksimal default dari antrian (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Pesan: Status ---------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "alokasi antrian = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "penggunaan headers = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "penggunaan space = %d bytes\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ Pesan Antrian: Pembuat/Pemilik --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msgid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Pesan Antrian Kirim/Terima/Kembali Waktu (Times) --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "kirim"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "recv"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "kembali"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Pesan Antrian PIDs --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Pesan Antrian --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "byte yang digunakan"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "pesan"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl gagal"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Bagian memory share shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "msgctl gagal"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Antrian Pesan msgid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "semctl gagal"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semaphore Array semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "nilai"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcound"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "id tidak valid: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Nama <ldisc> dikenal:\n"
+
+#: sys-utils/ldattach.c:179
+#, fuzzy
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"Nama <ldisc> dikenal:\n"
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "pilihan tidak valid"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "pilihan tidak valid"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "baris disiplin tidak valid: %s"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s bukan sebuah baris serial"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "tidak dapat memperoleh atribut terminal %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "kecepatan %d tidak didukung"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "tidak dapat menset atribut terminal untuk %s"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "Tidak dapat menset baris disiplin"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "tidak dapat daemonize"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", offset %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", sizelimit %<PRIu64>"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", enkripsi %s (tipe %<PRIu32>)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: stat gagal"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s: stat gagal"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"\n"
+"Penggunaan:\n"
+" %1$s loop_device memberikan info\n"
+" %1$s -a | --all daftar seluruh yang digunakan\n"
+" %1$s -d | --detach <loopdev> [<loopdev> ...] menghapus\n"
+" %1$s -f | --find mencari yang tidak digunakan\n"
+" %1%s -c | --set-capacity <perangkat loop> ubah ukuran %1$s -j | --"
+"associated <berkas> [-o <num>] daftar seluruh asosiasi dengan <berkas>\n"
+" %1$s [ pilihan ] {-f|--find|loopdev} <berkas> konfigurasi\n"
+
+#: sys-utils/losetup.c:169
+#, fuzzy
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+"\n"
+"Pilihan:\n"
+" -e | --encryption <tipe> mengaktifkan data enkripsi dengan spesifikasi "
+"<nama/nomor>\n"
+" -h | --help bantuan ini\n"
+" -o | --offset <nomor> awal dari offset <nomor> kedalam berkas\n"
+" --sizelimit <nomor> loop dibatasi hanya <nomor> bytes dari berkas\n"
+" -p | --pass-fd <nomor> baca kata-kunci dari berkas deskripsi <nomor>\n"
+" -r | --read-only pasang baca-saja perangkat loop\n"
+" --show tampilkan nama perangkat (dengan -f <berkas>)\n"
+" -v | --verbose mode verbose\n"
+"\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: perangkat loop dispesifikasikan dua kali"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "nama berkas tidak dispesifikasikan."
+
+#: sys-utils/losetup.c:366
+#, fuzzy, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr "--offset dan --all adalah 'mutually exclusive'"
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "Tidak dapat mengunci ke memory, keluar.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "tidak dapat menemukan perangkat %s"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "membaca lagi tabel partisi"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: mount gagal"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "kosong"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "para"
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "penuh"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "get ukuran logikal blok (sektor)"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "get ukuran logikal blok (sektor)"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "error: uname gagal"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "gagal mengalokasikan outbuffer"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, fuzzy, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+"# Berikut adalah format yang dapat diambil, yang dapat dimasukan ke\n"
+"# aplikasi lain. Setiap bagian yang berbeda dalam setiap kolom memiliki\n"
+"# ID unik berawal dari nol.\n"
+"# CPU,Core,Soket,Node"
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "CPU op-mode:"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+#, fuzzy
+msgid "CPU(s):"
+msgstr "CPU soket:"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "Thread(s) setiap inti:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "Inti setiap soket:"
+
+#: sys-utils/lscpu.c:1160
+#, fuzzy
+msgid "Socket(s) per book:"
+msgstr "Inti setiap soket:"
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "CPU soket:"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "Titik NUMA:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "ID Pembuat:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "Keluarga CPU:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Model:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "Stepping:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "Virtualisasi:"
+
+#: sys-utils/lscpu.c:1188
+#, fuzzy
+msgid "Hypervisor:"
+msgstr "Pembuat Hypervisor:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Pembuat Hypervisor:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Tipe virtualisasi:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "%s persediaan:"
+
+#: sys-utils/lscpu.c:1206
+#, fuzzy, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "Titik NUMA:"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat wipefs(8).\n"
+"\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: hanya root yang dapat melakukan itu (UID efektif adalah %d)"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: hanya root yang dapat melakukan itu (UID efektif adalah %d)"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: hanya root yang dapat melakukan mount %s di %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: hanya root yang dapat melakukan itu"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s dari %s%s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "error mengambil\n"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "gagal untuk mendapatkan statistik: %s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s telah dimount di %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: hanya root yang dapat melakukan mount %s di %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s telah dimount di %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: tidak dapat menemukan %s dalam %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: tidak dapat menemukan %s dalam %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: tidak dapat menemukan %s dalam %s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: Saya tidak dapat menentukan tipe dari filesystem, dan tidak diberikan "
+"spesifikasi di argument perintah"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: anda harus menspesifikasikan tipe filesystem"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: tidak dapat menlink %s: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: mount gagal"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "mount gagal"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: mount gagal"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: titik mount %s bukan berupa sebuah direktori"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: harus menjadi superuser untuk menggunakan mount"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s sedang sibuk"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s telah dimount atau %s sedang sibuk"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s telah dimount di %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: titik mount %s tidak ada"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: titik mount %s berupa symbolic link ke suatu tempat"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: perangkat spesial %s tidak ada"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "mount gagal"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: perangkat spesial %s tidak ada\n"
+" (sebuah path prefix bukan berupa sebuah direktori)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s sudah tidak dimount, atau pilihan buruk"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s sudah tidak dimount, atau pilihan buruk"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: tipe fs salah, pilihan buruk, superblock buruk di %s,\n"
+" hilang codepage atau aplikasi pembantu, atau error lain"
+
+#: sys-utils/mount.c:520
+#, fuzzy, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (untuk beberapa filesystem (e.g. nfs, cifs) anda mungkin\n"
+" membutuhkan aplikasi pembantu /sbin/mount.<tipe>)"
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Dalam beberapa kasus informasi berguna dapat ditemukan di syslog - "
+"coba\n"
+" dmesg | tail atau yang serupa\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: tidak dapat membaca superblock"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: tipe filesystem tidak diketahui '%s'"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr ""
+"mount: %s bukan sebuak perangkat block, dan gagal memperoleh statistik?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: kernel tidak mengenal %s sebagai sebuah perangkat block\n"
+" (mungkin `modprobe driver'?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s bukan sebuah perangkat block (mungkin dicoba dengan menggunakan "
+"pilihan `-o loop'?"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: bukan sebuah block device\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s bukan sebuah perangkat block yang valid"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: tidak dapat me-mount %s%s hanya-baca"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s memiliki proteksi untuk ditulis tetapi secara eksplisit pilihan "
+"`-w' diberikan"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr ""
+"mount: tidak dapat memasang kembali %s%s secara baca-tulis, terproteksi-tulis"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s memiliki proteksi untuk ditulis, memount secara hanya-baca"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: tidak ada media ditemukan di %s"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: mengubah nama %s ke %s gagal: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: mount gagal"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "gagal mendapatkan atribut pid %d"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "akar inode bukan sebuah direktori"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s telah di mount.\t "
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr ""
+"Penggunaan: %s [pilihan] <nama berkas>\n"
+"\n"
+"Pilihan:\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Tidak dapat membuka file '%s'"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld blocks\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS secondary"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "ukuran inode buruk"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "max nomor dari segments = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "max nomor dari segments = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "max nomor dari segments = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "pesan"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "max nomor dari segments = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Username (pengguna) tidak legal"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "perangkat block "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Satuan"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan]\n"
+"\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Penggunaan: %s [pilihan]\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"Pilihan:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "pilihan yang berbahaya:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "gagal mendapatkan kebijakan pid %d"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "gagal menset kebijakan pid %d"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "gagal mendapatkan kebijakan pid %d"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "--offset dan --all adalah 'mutually exclusive'"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Pertama Akhir\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unqote Jangan quote output\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Tampilkan informasi versi\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Ini sedikit petunjuk penggunaan\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test Test untuk versi getopt(1)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "error menulis %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, fuzzy
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+"Mengasumsikan urutan byte terbalik. Gunakan -n untuk memaksa urutan byte "
+"asal.\n"
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): salah baris map\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: tidak dapat mencari \"_stext\" dalam %s\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s: profile alamat diluar jangkauan. Salah file map?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:57
+#, fuzzy, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+"\n"
+"Penggunaan:\n"
+" renice [-n] prioritas [-p|--pid] pid [... pid]\n"
+" renice [-n] prioritas -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] prioritas -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat unshare(1).\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice dari %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Perintah tidak diketahui: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "nilai waktu timeout buruk: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "pengguna"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: prioritas sebelumnya %d, prioritas baru %d\n"
+
+#: sys-utils/rtcwake.c:92
+#, fuzzy
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+"penggunaan: %s [pilihan]\n"
+" -d | --device <perangkat> pilih perangkat rtc (rtc0|rtc1|...)\n"
+" -l | --local RTC menggunakan daerah waktu lokal\n"
+" -m | --mode standby|mem... mode tidur\n"
+" -s | --seconds <detik> detik ke tidur\n"
+" -t | --time <time_t> waktu untuk bangun\n"
+" -u | --utc RTC menggunakan UTC\n"
+" -v | --verbose pesan verbose\n"
+" -V | --version tampilkan versi\n"
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "baca baris rtc"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "baca waktu sistem"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "ubah waktu rtc"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "set alarm rtc"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "aktifkan alarm rtc"
+
+#: sys-utils/rtcwake.c:248
+#, fuzzy
+msgid "set rtc wake alarm failed"
+msgstr "set alarm bangun rtc"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "aktifkan alarm rtc"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "ubah waktu rtc"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: kondisi suspend tidak dikenal '%s'\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "pilihan tidak valid"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "pilihan tidak valid"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: mengasumsikan RTC menggunakan UTC ...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Menggunakan waktu UTC.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Menggunakan waktu lokal.\n"
+
+#: sys-utils/rtcwake.c:491
+#, fuzzy
+msgid "must provide wake time (see -t and -s options)"
+msgstr "%s: harus menyediakan waktu bangun\n"
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s tidak aktif untuk even bangun\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "alarm %ld, sys_time %ld, rtc_time %ld, detik %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, fuzzy, c-format
+msgid "time doesn't go backward to %s"
+msgstr "%s: waktu tidak pergi mundur ke %s\n"
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: bangun dari \"%s\" menggunakan %s di %s\n"
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: bangun dari \"%s\" menggunakan %s di %s\n"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "gagal menjalankan %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "gagal membaca: %s"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+#, fuzzy
+msgid "disable rtc alarm interrupt failed"
+msgstr "menonaktifkan interupsi alarm rtc"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Mengaktifkan %s.\n"
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+"Penggunaan: %s%s [pilihan] [aplikasi [aplikasi argumen]]\n"
+"\n"
+"Pilihan:\n"
+
+#: sys-utils/setarch.c:100
+#, fuzzy, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -h, --help tampilkan pesan bantuan ini\n"
+" -v, --verbose tampilkan pilihan apa saja yang sedang aktif\n"
+" -R, --addr-no-randomize menonaktifkan randomization dari virtual address "
+"space\n"
+" -F, --fdpic-funcptrs buat pointer fungsi menunjuk ke deskripsi\n"
+" -Z, --mmap-page-zero aktifkan MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout ubah cara pengalokasian memori virtual\n"
+" -X, --read-implies-exec aktifkan READ_IMPLIES_EXEC\n"
+" -B, --32bit aktifkan ADDR_LIMIT_32BIT\n"
+" -I, --short-inode aktifkan SHORT_INODE\n"
+" -S, --whole-seconds aktifkan WHOLE_SECODS\n"
+" -T, --sticky-timeouts aktifkan STICKY_TIMEOUTS\n"
+" -3, --3gb batasi penggunaan address space ke maksimal 3 GB\n"
+" --4gb abaikan (hanya untuk kompabilitas ke versi "
+"sebelumnya saja)\n"
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Coba `%s --help' untuk informasi lebih lanjut.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Coba `%s --help' untuk informasi lebih lanjut.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: Arsitektur tidak dikenal"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Argumen tidak cukup"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "penggunaan: %s [pilihan] <aplikasi> [arg ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() gagal"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "gagal mendapatkan atribut pid %d"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "gagal eksekusi"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s di %s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "Bukan superuser."
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: gagal swapoff"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"Parameter <spesial>:\n"
+" {-L label | LABEL=label} LABEL dari perangkat yang digunakan\n"
+" {-U uuid | UUID=uuid} UUID dari perangkat yang digunakan\n"
+" <perangkat> nama dari perangkat yang digunakan\n"
+" <berkas> nama dari berkas yang digunakan\n"
+"\n"
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d hapus sebuah partisi"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "gagal memperoleh statistik dari path\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "gagal memperoleh statistik dari path\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "ditandai sedang digunakan"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: Menginisialisasi ulang swap."
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "gagal eksekusi"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: lseek gagal"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: gagal menulis tanda tangan"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+"%s: ditemukan tanda partisi swap: versi %d, ukuran-halaman %d, susunan byte "
+"%s"
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "berbeda"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "sama"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: mode tidak aman %04o, disarankan menggunakan mode %04o."
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: mode tidak aman %04o, disarankan menggunakan mode %04o."
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: dilewatkan - kelihatannya memiliki lubang."
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: gagal mendapatkan ukuran"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: pembacaan header swap gagal"
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr "%s: last_page 0x%08llx berukuran lebih besar dari swapspace sebenarnya"
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: format swap pagesize tidak cocok."
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+"%s: format swap pagesize tidak cocok. (Gunakan --fixpgsz untuk "
+"menginisialisasi ulang.)"
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr "%s: aplikasi suspend data terdeteksi. Menulis ulang tanda swap."
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s di %s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s: swapon gagal"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"Parameter <spesial>:\n"
+" {-L label | LABEL=label} LABEL dari perangkat yang digunakan\n"
+" {-U uuid | UUID=uuid} UUID dari perangkat yang digunakan\n"
+" <perangkat> nama dari perangkat yang digunakan\n"
+" <berkas> nama dari berkas yang digunakan\n"
+"\n"
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Perintah yang tersedia:\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "tidak dapat menemukan perangkat %s"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "%s: stat gagal"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "akar inode bukan sebuah direktori"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "Mencoba untuk umount %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: tidak dapat memperoleh direktori saat ini - %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "gagal mendapatkan prioritas"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr ""
+"Penggunaan: %s [pilihan] <nama berkas>\n"
+"\n"
+"Pilihan:\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "%s gagal.\n"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Tidak dapat membuka file '%s'"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unqote Jangan quote output\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unqote Jangan quote output\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "nilai waktu timeout buruk: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s bukan sebuah perangkat lp.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "LPGETIRQ error"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s status adalah %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", sibuk"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", siap"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", kehabisan kertas"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", error"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "msgctl gagal"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ error"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s menggunakan IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s menggunakan polling\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "mount gagal"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: mount gagal"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: perangkat block tidak valid"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: tidak dapat membaca superblock"
+
+#: sys-utils/umount.c:211
+#, fuzzy, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: perangkat sibuk.\n"
+" (Dalam beberapa kasus informasi berharga tentang proses yang "
+"digunakan\n"
+" oleh perangkat dapat ditemukan oleh lsof(8) atau fuser(1))"
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: harus superuser untuk melakukan umount"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: perangkat block tidak diijinkan di fs"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "gagal mendapatkan pid"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "penggunaan: %s [pilihan] <aplikasi> [arg ...]\n"
+
+#: sys-utils/unshare.c:63
+#, fuzzy
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+"Jalankan aplikasi dengan beberapa ruang nama tidak terbagi dari induknya\n"
+"\n"
+" -h, --help informasi penggunaan (pesan ini)\n"
+" -m, --mount unshare ruang nama pemasangan\n"
+" -u, --uts unshare ruang nama UTS (hostname dll)\n"
+" -i, --ipc unshare ruang nama Sistem V IPC\n"
+" -n, --net unshare ruang nama jaringan\n"
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "unshare gagal"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "%s gagal.\n"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Waktu habis untuk Login sesudah %d detik\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Waktu habis untuk Login sesudah %d detik\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "perangkat block "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "status"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "gagal untuk mendapatkan statistik: %s"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "mount: %s: perangkat tidak diketahui"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: argument tidak diketahui: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "Perangkat loop adalah %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Perintah yang tersedia:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: signal tidak diketahui %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Tidak dapat memperoleh nilai timeout untuk %s: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "seek gagal dalam write_tables"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f detik\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "waktu habis"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Perangkat"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s: versi %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: tidak dapat mengeksekusi %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "error: mengubah direktori kerja ke %s."
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: tidak dapat menemukan process \"%s\"\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: tidak dapat mengeksekusi %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "gagal mengalokasikan outbuffer"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "nilai waktu timeout buruk: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "kecepatan yang buruk: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "terlalu banyan kecepatan alternative"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: tidak dapat membuka sebagai standard input: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: bukan sebuah character device"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: tidak dapat membuka untuk baca/tulis"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: masalah dup: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tipe: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: membaca: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: masukan overrun"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "pengguna"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "pengguna"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan]\n"
+"\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "unshare gagal"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "adalah y\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "adalah n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "pembuatan semaphor gagal"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "id tidak valid: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Peringatan: `%s' adalah sebuah link.\n"
+"Penggunaan `%s [pilihan] %s' jika anda benar - benar ingin menggunakannya.\n"
+"Script tidak berjalan.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script dimulai, file adalah %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Script dimulai di %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: tidak dapat menulis berkas script, error: %s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script selesai di %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script selesai, file adalah %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty gagal\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "Out of pty's\n"
+
+#: term-utils/scriptreplay.c:42
+#, fuzzy, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr "%s <berkaspewaktu> [<tipescript> [<pembagi>]]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "diduga sebuah nomor, tetapi diperoleh '%s'"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "pembagi '%s'"
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "gagal menulis ke stdout"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "akhir dari berkas tidak diduga di %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "gagal membaca typescript berkas %s"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "diduga sebuah nomor, tetapi diperoleh '%s'"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "gagal membaca berkas pewaktu %s"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "berkas pewaktu %s: %lu: format yang tidak terduga"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: Argument error, penggunaan\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "tidak dapat memaksa penghapusan\n"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "tidak dapat memaksa unblank\n"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "tidak dapat memperoleh status penghapusan\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "tidak dapat meng-unset mode powersave\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "tidak dapat membuka perangkat %s untuk menulis\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "klogctl error: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Error menulis screendump\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Tidak dapat membaca %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM tidak didefinisikan.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: signal tidak diketahui %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "terlalu banyak iov's (ubah kode dalam wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "arg baris terlalu panjang"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "tidak dapat melakukan fork"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "nilai waktu timeout buruk: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: tidak dapat menset id pengguna: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Tidak dapat memperoleh ukuran disk"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Pesan Broadcast dari %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: tidak dapat membaca %s - gunakan stdin.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "gagal membaca: %s"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan] pathname [pathname ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: tidak dapat mencari nama dari tty's anda\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: iji menulis anda tidak aktif.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s tidak di catat di %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s memiliki message dimatikan di %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s tidak dicatat di\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s memiliki message dimatikan\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s dicatat dalam lebih dari satu; menulis di %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Baris input terlalu panjang.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Pesan dari %s@%s (sebagai %s) di %s pada %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Pesan dari %s@%s di %s pada %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "calloc gagal"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: write error.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: argumen %s untuk pilihan -l tidak baik.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: peringatan: tidak dapat mem back up %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "melewati baris pertama"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- baris sudah di flush"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan]\n"
+"\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "argumen tidak baik"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "argumen tidak baik"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat ipcmk(1).\n"
+"\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "pilihan tidak valid"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "aktifkan alarm rtc"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: pilihan tidak diketahui \"-%c\"\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: direktori ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Bukan sebuah file text ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Gunakan q atau Q untuk berhenti]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Lebih--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(File selanjutnya: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Tekan spasi untuk melanjutkan, 'q' untuk berhenti.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...kembali %d halaman"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...kembali 1 halaman"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...melewati satu baris"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...melewati %d baris"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Kembali***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Regular expression botch"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"Sebagian besar perintah bisa diawali dengan argumen integer k. Default dalam "
+"brackets.\n"
+"Bintang (*) mengindikasikan argument menjadi baru secara default.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<spasi> Tampilkan k baris berikutnya dari text [ukuran "
+"screen saat ini]\n"
+"z Tampilkan k baris berikutnya dari text [ukuran "
+"screen saat ini]*\n"
+"<return> Tampilkan k baris berikutnya dari text [1]*\n"
+"d atau ctrl-D Scroll k baris [ ukuran scroll saat ini, inisial 11]"
+"*\n"
+"q atau Q atau <interup> Keluar dari more\n"
+"s Skip forward k baris dari text [1]\n"
+"f Skip forward k screenfuls dari text [1]\n"
+"b atau ctrl-B Skip backwards k screenfuls dari text [1]\n"
+"' Pergi ke tempat dimana pencarian sebelumnya dimulai\n"
+"= Tampilkan nomor baris saat ini\n"
+"/<regular expression> Pencarian untuk ke k kejadian dari regualar "
+"expression [1]\n"
+"n Pencarian untuk ke k kejadian dari terakhir r.e [1]\n"
+"!<cmd> atau :!<cmd> Menjalankan <cmd> dalam subshell\n"
+"v Start up /usr/bin/vi di baris saat ini\n"
+"ctrl-L Gambar ulang layar\n"
+":n Pergi ke k file selanjutnya [1]\n"
+":p Pergi ke k file sebelumnya [1]\n"
+":f Tampilkan nama file saat ini dan nomor baris\n"
+". Ulangi perintah sebelumnya\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Tekan 'h' untuk instruksi.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" baris %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Bukan sebuah file] baris %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Overflow\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...melewati\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Pattern tidak ditemukan\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Pattern tidak ditemukan"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "gagal eksekusi\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "tidak dapat fork\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Melewati"
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Melewati ke file "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Melewati kembali ke file "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Baris terlalu panjang"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Tidak adalah perintah sebelumnya untuk digantikan"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "baris terlalu panjang"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: byte count dengan beberapa konversi karakter.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: penghitung byte buruk untuk konversi karakter %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: %%s membutuhkan sebuah presisi atau sebuah penghitung byte.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: format buruk {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: karakter konversi buruk %%%s.\n"
+
+#: text-utils/pg.c:147
+#, fuzzy
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+"Semua hak dilindungi.\n"
+"-------------------------------------------------------\n"
+" h lihat layar\n"
+" q atau Q berhenti dari aplikasi\n"
+" <baris baru> halaman selanjutnya\n"
+" f lewatkan sebuah halaman kedepan\n"
+" d atau ^D selanjutnya setengah halaman\n"
+" l baris selanjutnya\n"
+" $ halaman terakhir\n"
+" /regex/ cari kedepan untuk regex\n"
+" ?regex? atau ^regex^ cari kebelakang untuk regex\n"
+" . atau ^L gambar ulang layar\n"
+" w atau z set ukuran halaman dan pergi ke halaman "
+"selanjutnya\n"
+" s nama berkas simpan berkas sekarang ke nama berkas\n"
+" !perintah keluar ke shell\n"
+" p pergi ke berkas sebelumnya\n"
+" n pergi ke berkas selanjutnya\n"
+"\n"
+"Banyak perintah menerima awalan angka, sebagai contoh:\n"
+"+1<baris baru> (halaman selanjutnya); -1<baris baru> (halaman sebelumnya); "
+"1<baris baru> (halaman pertama).\n"
+"\n"
+"Lihat pg(1) untuk informasi lebih lanjut.\n"
+"-------------------------------------------------------\n"
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p Cetak tabel partisi di layar atau ke sebuah file"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : tidak menulis sebenarnya ke disk"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Tampilkan informasi versi\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Tampilkan informasi versi\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: pilihan membutuhkan sebuah argumen -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: pilihan illegal -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...melewati forward\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...melewati backward\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Tidak ada file selanjutnya"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Tidak ada file sebelumnya"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Read error dari file %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: EOF tidak diperkirakan dalam file %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Error tidak diketahui dalam file %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Tidak dapat membuat tempfile\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "RE error: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Tidak ada yang diingat string pencarian"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "tidak dapat membuka %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "disimpan"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !command tidak diperbolehkan dalam mode rflag.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() gagal, coba lagi nanti\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(File selanjutnya: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat unshare(1).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "penulisan tidak lengkap ke \"%s\" (ditulis %zd, diperkirakan %zd)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+"%s: tidak dapat menambahkan pemantauan inotify (batas dari pemantau inotify "
+"telah tercapai)."
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "gagal mendapatkan pid"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "nama berkas tidak dispesifikasikan."
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "bermasalah dalam pembacaan terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "escape sequence tidak diketahui pada input: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Baris input terlalu panjang.\n"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s: gagal membuka"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "Tidak dapat membuka file '%s'"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "tidak dapat memperoleh statistik perangkat %s"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Tidak dapat membuka %s\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "gagal membuka: %s"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "tidak dapat membuka '%s': %s"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: gagal untuk membuka: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "tidak dapat memperoleh statistik perangkat %s"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "tidak dapat memperoleh statistik \"%s\""
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: gagal untuk membuka: %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Tidak dapat membuka file '%s'"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Disk ini memiliki DOS dan BSD magic.\n"
+#~ "Berikan perintah 'b' untuk berubah ke mode BSD.\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "tidak dapat membuka %s"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: tidak dapat membuka %s\n"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "Gagal membuka %s untuk membaca, keluar."
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "Tidak dapat membuka file '%s'"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Tidak dapat membuka %s\n"
+
+#~ msgid "could not stat '%s'"
+#~ msgstr "tidak dapat memperoleh statistik '%s'"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "tidak dapat memperoleh statistik \"%s\""
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s: stat gagal"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Tidak dapat membuka /dev/port: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "open() dari %s gagal"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Membuka untuk %s gagal"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Tidak dapat membuka %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "gagal mengalokasikan outbuffer"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "gagal untuk mendapatkan statistik: %s"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "gagal untuk mendapatkan statistik: %s"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "gagal untuk mendapatkan statistik: %s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "stat gagal: %s"
+
+#~ msgid "cannot open timing file %s"
+#~ msgstr "Tidak dapat membuka berkas pewaktu %s"
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "Tidak dapat membuka berkas typescript %s"
+
+#~ msgid "Cannot open "
+#~ msgstr "Tidak dapat dibuka "
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "Tidak dapat membuka \"%s\" untuk dibaca"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "tidak dapat memperoleh statistik \"%s\""
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "penggunaan: %s [-hv] [-x dir] file\n"
+#~ " -h tampilkan pesan ini\n"
+#~ " -x dir extract kedalam direktori\n"
+#~ " -v lebih verbose\n"
+#~ " file file untuk ditest\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Penggunaan: %s [-larvsmf] /dev/name\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "gagal mendapatkan pid"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr ""
+#~ "%s: error: Tidak akan mencoba untuk membuat perangkat swap di '%s'\n"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "tidak dapat mengalokasikan perangkat raw '%s' (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Penggunaan: %s [pilihan] <nama berkas>\n"
+#~ "\n"
+#~ "Pilihan:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat wipefs(8).\n"
+#~ "\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Anda tidak akan dapat menulis ke tabel partisi.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Partisi %i tidak berawal di batas cylinder:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "seharusnya (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "seharusnya (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Disk %s tidak memiliki sebuah tabel partisi yang valid\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Tidak dapat membuka %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Kernel ini mencari ukuran sektornya sendiri - pilihan -b diabaikan\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "kehabisan memory?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: premature diakhir dari masukan\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "PERINGATAN: tidak dapat membuka %s: %s\n"
+
+#, fuzzy
+#~ msgid "WARNING: bad format on line %d of %s"
+#~ msgstr "PERINGATAN: format buruk di baris %d dari %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "WARNING: Your /etc/fstab does not contain the fsck passno\n"
+#~ "\tfield. I will kludge around things for you, but you\n"
+#~ "\tshould fix your /etc/fstab file as soon as you can.\n"
+#~ msgstr ""
+#~ "PERINGATAN: /etc/fstab anda tida berisi bagian nomor tahap\n"
+#~ "\tfsck. saya akan membentulkan ini untuk anda, tetapi anda\n"
+#~ "\tseharusnya membetulkan berkas /etc/fstab anda secepatnya.\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "gagal mendapatkan pid"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Anda telah menspesifikasi beberapa fungsi.\n"
+#~ "Anda hanya dapat melakukan satu fungsi dalam satu waktu.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: Pilihan --utc dan --localtime adalah mutually eksklusive. Anda "
+#~ "menspesifikasikan keduanya.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Pilihan --adjust dan --noadjfile adalah mutually eksklusive. Anda "
+#~ "menspesifikasikan keduanya.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Pilihan --adjfile dan --noadjfile adalah mutually eksklusive. Anda "
+#~ "menspesifikasikan keduanya.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount tidak dapat menset grup id: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: file %s sedang sibuk (%s ada)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat namei(1).\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "gagal mendapatkan pid"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "gagal mendapatkan pid"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "gagal mendapatkan prioritas"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "Nilai diluar dari jangkauan.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat wipefs(8).\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "nilai ofset yang dispesifikasikan tidak valid"
+
+#~ msgid "--offset and --all are mutually exclusive"
+#~ msgstr "--offset dan --all adalah 'mutually exclusive'"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "gagal untuk mendapatkan statistik: %s"
+
+#, fuzzy
+#~ msgid "the options %s are mutually exclusive"
+#~ msgstr "--offset dan --all adalah 'mutually exclusive'"
+
+#~ msgid "failed to parse priority"
+#~ msgstr "gagal mendapatkan prioritas"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "gagal mendapatkan pid"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "gagal mendapatkan pid"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "gagal mendapatkan pid"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat fallocate(1).\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat namei(1).\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "kecepatan tidak valid: %s"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "nilai ofset '%s' tidak valid"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "nilai ofset '%s' tidak valid"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: gagal menset-up perangkat loop\n"
+
+#, fuzzy
+#~ msgid "extended and parsable formats are mutually exclusive"
+#~ msgstr "--offset dan --all adalah 'mutually exclusive'"
+
+#, fuzzy
+#~ msgid "--all, --online and --offline options are mutually exclusive"
+#~ msgstr "--offset dan --all adalah 'mutually exclusive'"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat ipcmk(1).\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "tidak dapat membuka %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "gagal mendapatkan pid"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "gagal mendapatkan pid"
+
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: format berkas tidak terduga"
+
+#~ msgid "'%s' is unsupported program name (must be 'swapon' or 'swapoff')."
+#~ msgstr ""
+#~ "'%s' adalah nama aplikasi yang tidak didukung (harus berupa 'swapon' atau "
+#~ "'swapoff')."
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat wipefs(8).\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "data blok terlalu besar"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "pembuatan semaphor gagal"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: angka panjang tidak baik.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: angka skip tidak baik.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Penggunaan: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "error mengambil\n"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: gagal untuk membuka: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "%s: gagal fork: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "%s gagal.\n"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d hapus sebuah partisi BSD"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l list tipe filesystem yang diketahui"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n tambahkan sebuah partisi BSD baru"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p cetak tabel partisi BSD"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t ubah id partisi filesystem"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u ubah satuan (cylinders/sektor)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p cetak tabel partisi"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Membuat sebuah DOS disklabel baru dengan identifikasi disk 0x%08x.\n"
+#~ "Perubahan akan tetap berada di memori, sampai anda memutuskan untuk "
+#~ "menulisnya.\n"
+#~ "Sesudah itu, tentu, isi sebelumnya tidak dapat dikembalikan lagi.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Perangkat tidak berisi tabel partisi yang valid baik untuk DOS, Sun, SGI "
+#~ "ataupun OSF disklabel\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Kesalahan internal\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tMaaf, tidak ada menu experts untuk tabel partisi SGI.\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr ""
+#~ "Apakah anda tahu, Anda memperoleh sebuah partisi yang overlap di disk?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Membuah sebuah disklabel SGI yang baru. Perubahan hanya akan ada di "
+#~ "memori,\n"
+#~ "sampai anda memutuskan untuk menulisnya. Sesudah itu, tentu, isi "
+#~ "sebelumnya\n"
+#~ "akan hilang dan tidak dapat dikembalikan.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "kehabisan memory - menyerah\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat ipcmk(1).\n"
+#~ "\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: memory sedikit, login mungkin gagal\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "tidak dapat melakukan malloc untuk ttyclass"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "tidak dapat melakukan malloc untuk grplist"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Login di %s dari %s ditolak secara dafault.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Login di %s dari %s ditolak.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Penggunaan: %s [ -f full-name ] [ -o office ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "%s: PAM Gagal, membatalkan: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Penggunaan: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ username ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s: hanya dapat mengubah masukan local; gunakan yp%s.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: Tidak dapat menset default context untuk /etc/passwd"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "semctl gagal"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: gunakan pilihan -l untuk melihat daftar.\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Gunakan %s -l untuk melihat list.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "penggunaan: login [-fp] [pengguna]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "kehabisan memori"
+
+#~ msgid "Illegal username"
+#~ msgstr "Username (pengguna) tidak legal"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s login ditolak di terminal ini.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "LOGIN %s DITOLAK DARI %s DI TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "LOGIN %s DITOLAK DI TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Login tidak benar\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "pembuatan semaphor gagal"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: gagal forking: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s login: "
+
+#~ msgid "NAME too long"
+#~ msgstr "NAMA terlalu panjang"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "nama login terlalu panjang.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "nama login tidak boleh diawali dengan '-'.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "TERLALU BANYAK linefeeds"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "terlalu banyak linefeeds bare.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "LOGIN GAGAL DARI %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "LOGIN GAGAL DI %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d LOGIN GAGAL DARI %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d LOGIN GAGAL DI %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: file group sedang sibuk.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: tidak dapat membuka %s: %s (perubahan yang anda lakukan masih berada "
+#~ "dalam %s)\n"
+
+#~ msgid "calloc failed"
+#~ msgstr "calloc gagal"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "error: %s: sepertinya berisi '%s' tabel partisi"
+
+#, fuzzy
+#~ msgid "no magic string found at offset 0x%jx -- ignored"
+#~ msgstr ""
+#~ "tidak dapat menemukan sebuah string magic di ofset 0x%jx - diabaikan."
+
+#~ msgid "%s: write failed"
+#~ msgstr "%s: gagal menulis"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: /dev direktori tidak ada."
+
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: tidak dapat menset kapasitas di perangkat %s: %s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", offset %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", encryption type %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: tidak dapat memperoleh info di perangkat %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: tidak dapat membuka perangkat %s: %s\n"
+
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: tidak ada ijin untuk melihat di /dev/loop%s<N>"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Tidak dapat menemukan perangkat loop. Mungkin kernel ini tidak "
+#~ "mengetahui\n"
+#~ " mengenai perangkat loop? (Jika demikian, recompile atau `modprobe "
+#~ "loop'.)"
+
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Kehabisan memori ketika membaca kata sandi"
+
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "peringatan: %s sudah diasosiasikan dengan %s\n"
+
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr ""
+#~ "peringatan: %s: memiliki proteksi untuk ditulis, menggunakan baca-saja.\n"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "ioctl LOOP_SET_FD gagal: %s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu, %llu): berhasil\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): berhasil\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: tidak dapat menghapus perangkat %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Mount ini telah dikompile tanpa layanan loop. Tolong di rekompile.\n"
+
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "tercuri loop=%s ...mencoba lagi\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr "Layanan loop tidak ada pada waktu dikompile. Tolong di rekompile.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat namei(1).\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Penggunaan: %s [-q [-i interval]] ([-s nilai]|[-S nilai]) ([-t nilai]|[-T "
+#~ "nilai]) [-g|-G] file [file...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Tidak dapat membuka %s: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -s --shared Get a shared lock\n"
+#~ " -x --exclusive Get an exclusive lock\n"
+#~ " -u --unlock Remove a lock\n"
+#~ " -n --nonblock Fail rather than wait\n"
+#~ " -w --timeout Wait for a limited amount of time\n"
+#~ " -o --close Close file descriptor before running command\n"
+#~ " -c --command Run a single command string through the shell\n"
+#~ " -h --help Display this text\n"
+#~ " -V --version Display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Penggunaan: %1$s [-sxun][-w #] fd#\n"
+#~ " %1$s [-sxon][-w #] berkas [-c] perintah...\n"
+#~ " %1$s [-sxon][-w #] direktori [-c] perintah...\n"
+#~ " -s --shared Dapatkan sebuah kunci terbagi\n"
+#~ " -x --exclusive Dapatkan sebuah kunci ekslusive\n"
+#~ " -u --unlock Hapus sebuah kunci\n"
+#~ " -n --nonblock Gagalkan daripada menunggu\n"
+#~ " -w --timeout Tunggu beberapa saat dengan lama terbatas\n"
+#~ " -o --close Tutup berkas deskripsi sebelum menjalankan perintah\n"
+#~ " -c --command Jalankan sebuah kata perintah tunggal melalui shell\n"
+#~ " -h --help Tampilkan teks ini\n"
+#~ " -V --version Tampilkan versi\n"
+
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: tidak dapat membuka berkas kunci%s: %s\n"
+
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: angka buruk: %s\n"
+
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s: gagal fork: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -M <size> create shared memory segment of size <size>\n"
+#~ " -S <nsems> create semaphore array with <nsems> elements\n"
+#~ " -Q create message queue\n"
+#~ " -p <mode> permission for the resource (default is 0644)\n"
+#~ msgstr ""
+#~ " -M <besar> buat bagian memori terbagi dalam ukuran <besar>\n"
+#~ " -S <nsems> buat rangkaian semaphor dengan <nsems> elemen\n"
+#~ " -Q buat antrian pesan\n"
+#~ " -p <mode> ijin untuk sumber daya (baku adalah 0644)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat ipcmk(1).\n"
+#~ "\n"
+
+#~ msgid "cannot remove id %s (%s)\n"
+#~ msgstr "tidak dapat menghapus id %s (%s)\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "penggunaan yang sudah ditinggal: %s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "tipe resource tidak diketahui: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "penggunaan: %s [ [-q msgid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "kesalahan tidak diketahui dalam kunci"
+
+#~ msgid "unknown error in id"
+#~ msgstr "error tidak diketahui dalam id"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s memberikan informasi di fasilitas ipc dimana anda memiliki ijin untuk "
+#~ "membaca.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> <device>\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Penggunaan: %s [ -dhV78neo12 ] [ -s <kecepatan> ] <ldisc> <perangkat>\n"
+
+#~ msgid "ldattach from %s\n"
+#~ msgstr "ldattach dari %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -h, --help print this help\n"
+#~ " -p, --parse <list> print out a parsable instead of a readable format\n"
+#~ " -s, --sysroot <dir> use directory DIR as system root\n"
+#~ " -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Informasi pembantu arsitektur CPU\n"
+#~ "\n"
+#~ " -h, --help informasi penggunaan\n"
+#~ " -p, --parse tampilkan dalam bentuk yang dapat diambil daripada "
+#~ "format tercetak.\n"
+#~ " -s, --sysroot gunakan direktori sebagai sistem root baru.\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Penggunaan: \"%s [pilihan]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" dan \n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier ke <mult>\n"
+#~ "\t -i tampilkan info hanya mengenai sampling step\n"
+#~ "\t -v tampilkan verbose data\n"
+#~ "\t -a tampilkan seluruh symbols, meskipun terhitung 0\n"
+#~ "\t -b tampilkan individual histogram-bin counts\n"
+#~ "\t -s tampilkan individual counters didalam fungsi\n"
+#~ "\t -r reset seluruh counters (hanya root)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V tampilkan versi dan keluar\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile: error dalam menulis %s: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat namei(1).\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat setarch(8).\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "Coba `%s --help' untuk informasi lebih lanjut.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "penggunaan: %s program [arg ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Penggunaan: %s <perangkat> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w "
+#~ "<WAIT> | \n"
+#~ " -a [on|off] | -o [nyala|mati] | -C [nyala|mati] | -q "
+#~ "[nyala|mati] | -s | \n"
+#~ " -T [nyala|mati] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: nilai tidak baik\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Untuk informasi lebih lanjut lihat unshare(1).\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "Error dalam menutup file\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr ""
+#~ "Maaf Anda mungkin telah merubah Tag dari sebuah partisi yang tidak "
+#~ "kosong.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Peringatan: partisi %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Peringatan: partisi %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "dan %s overlap\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "perangkat: sesuatu seperti /dev/hda atau /dev/sda"
+
+#~ msgid "%zd bytes ["
+#~ msgstr "%zd bytes ["
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-d] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Penggunaan:\n"
+#~ " %1$s -a [-e] [-v] [-f] mengaktifkan seluruh swap dari /etc/"
+#~ "fstab\n"
+#~ " %1$s [-p prioritas] [-v] [-f] <spesial> mengaktifkan swap yang "
+#~ "diberikan\n"
+#~ " %1$s -s menampilkan ringkasan pengunaan swap\n"
+#~ " %1$s -h menampilkan bantuan\n"
+#~ " %1$s -V menampilkan versi\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Penggunaan:\n"
+#~ " %1$s -a [-v] menonaktifkan seluruh swaps\n"
+#~ " %1$s [-v] <spesial> menonaktifkan swap yang diberikan\n"
+#~ " %1$s -h menampilkan bantuan\n"
+#~ " %1$s -V menampilkan versi\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Penggunaan: %s [pilihan] <nama berkas>\n"
+#~ "\n"
+#~ "Pilihan:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Penggunaan: %s [pilihan]\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Penggunaan: %s [pilihan] <nama berkas>\n"
+#~ "\n"
+#~ "Pilihan:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [perangkat]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] perintah perangkat\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Perintah yang tersedia:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: tidak dapat membuka %s\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "error mengambil\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "penggunaan: %s [ -n ] perangkat\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: bukan sebuah block device\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc gagal"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: option parse error\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Penggunaan: %s [-x] [-d <num>] iso9660-image\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Penggunaan: %s [-v] [-N nr-of-inodes] [-V nama-volume]\n"
+#~ " [-F fsname] perangkat [block-count]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "tidak dapat memperoleh statistik %s"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "tidak dapat menentukan ukuran sektor dari %s"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: gagal fork: %s\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Penggunaan: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blok]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Kekurangan memory"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "Penggunaan:\n"
+#~ " %s "
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menu tanpa direksi. Default ke arah horisontal."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Anda harus menghapus beberapa partisi dan menambahkan sebuah partisi "
+#~ "extended terlebih dahulu\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Aksi perintah\n"
+#~ " %s\n"
+#~ " p partisi primary (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [atau --show-size]: tampilkan ukuran setiap partisi"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [atau --id]: mencetak atau mengubab Id dari partisi"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [atau --list]: tampilkan partisi di setiap perangkat"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [atau --dump]: idem, tetapi dalam sebuah format yang sesuai "
+#~ "untuk input selanjutnya"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [atau --increment]: nomor cylinders etc. dari 1 dari pada dari 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: menerima/melaporkan dalam satuan dari sektor/"
+#~ "block/cylinders/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr ""
+#~ " -T [atau --list-types]:tampilkan daftar dari tipe partisi yang "
+#~ "diketahui"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [atau --DOS]: untuk DOS-kompatibilitas: membuat sedikit ruang"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [atau --re-read] membuat kernel membaca kembali tabel partisi"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : hanya mengubah partisi nomor #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O file : menyimpan sectors yang akan ditulis ke file"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I file : mengembalikan sektor itu kembali"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [atau --version]: tampilkan versi dari aplikasi"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [atau --help]: tampilkan pesan ini"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [atau --show-geometry]: tampilkan ide kernel mengenai geometri"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [atau --Linux]: jangan mengkomplain mengenai sesuatu yang "
+#~ "tidak berhubungan dengan Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [atau --quiet]: menekan pesan peringatan"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Anda dapat memaksa pendeteksian geometri dengan menggunakan:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr ""
+#~ " -C# [atau --cylinders #]:set jumlah dari cylinders yang digunakan"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [atau --heads #]: set jumlah dari heads yang digunakan"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [atau --sectors #]: set jumlah dari sectors yang digunakan"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Anda dapat mematikan seluruh pemeriksaan konsistensi dengan:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [atau --force]: lakukan seperti yang SAYA katakan, meskipun "
+#~ "ini merupakan perbuatan yang bodoh"
+
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "Tidak dapat mengalokasikan memori untuk tipe sistem berkas\n"
+
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Penggunaan: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-optoins] "
+#~ "[filesys ...]\n"
+
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Tidak dapat membuka %s: %s\n"
+
+#~ msgid "fsck from %s\n"
+#~ msgstr "fsck dari %s\n"
+
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "%s: Tidak dapat mengalokasikan memori untuk fsck_path\n"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Coba `getopt --help' untuk informasi lebih lanjut.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Penggunaan: getopt optstring parameters\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [pilihan] [--] optstring parameters\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parameters\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (ditingkatkan) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Diperkirakan: `UTC' atau `LOKAL' atau kosong.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - melihat dan menset hardware clock (RTC)\n"
+#~ "\n"
+#~ "Penggunaan: hwclock [fungsi] [pilihan...]\n"
+#~ "\n"
+#~ "Fungsi:\n"
+#~ " -h | --help tampilkan bantuan ini\n"
+#~ " -r | --show baca hardware clock dan tampilkan hasilnya\n"
+#~ " --set set rtc ke waktu yang telah diberikan dengan --"
+#~ "date\n"
+#~ " -s | --hctosys set waktu system dari hardware clock\n"
+#~ " -w | --systohc set hardware clock ke waktu system saat ini\n"
+#~ " --systz set waktu sistem berdasarkan zona waktu sekarang\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since \n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch tampilkan nilai epoch dari kernel hardware clock\n"
+#~ " --setepoch set nilai epoch kernel hardware clock ke nilai "
+#~ "yang \n"
+#~ " diberikan oleh --epoch\n"
+#~ " --version tampilkan versi dari hwclock ke stdout\n"
+#~ "\n"
+#~ "Pilihan: \n"
+#~ " -u | --utc hardware clock disimpan dalam coordinat universal "
+#~ "time\n"
+#~ " --localtime hardware clock disimpan dalam local time\n"
+#~ " -f | --rtc=jalur menggunakan berkas /dev... spesial daripada baku\n"
+#~ " --directisa akses ISA bus secara langsung dari pada %s\n"
+#~ " --badyear abaikan rtc's tahun karen bios rusak\n"
+#~ " --date spesifikasikan waktu untuk menset hardware clock\n"
+#~ " --epoch=tahun spesifikasikan tahun dimana awal dari nilai dari\n"
+#~ " nilai epoch hardware clock\n"
+#~ " --noadjfile jangan mengakses file /etc/adjtime. Dibutuhkan "
+#~ "saat \n"
+#~ " menggunakan pilihan --utc atau --localtime.\n"
+#~ " --adjfile=path spesifikasikan path ke berkas adjust (default "
+#~ "adalah\n"
+#~ " /etc/adjtime)\n"
+#~ " --test lakukan apapun kecuali tanpa memperbarui perangkat "
+#~ "waktu\n"
+#~ " atau hal lainnya\n"
+#~ " -D | --debug mode penelusuran\n"
+#~ "\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "tidak dapt melakukan malloc initstring"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Penggunaan: %s [-8hiLmUw] [-l login_program] [-t timeout] [-I initstring] "
+#~ "[-H login_host] baud_rate,... baris [termtype]\n"
+#~ "atau\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate, ... [termtype]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "penggunaan: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: BAD ERROR"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "penggunaan: %s [file]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: tidak dapat membaca %s.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "penggunaan: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ...]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "penggunaan: loop [-dfa] [-t char] string [file]\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "kehabisan memory?"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "call: %s dari ke files...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "penggunaan: script [-a] [-f] [-q] [-t] [file]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s: error menulis di %d: %s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s: error menulis: %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term terminal_name ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60|force|poke] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-NR_CONSOLES] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-NR_CONSOLES] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq freqnumber ]\n"
+
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "Penggunaan: %s [-d] [-p berkas pid] [-s jalur soket] [-T waktu habis]\n"
+
+#~ msgid " %s [-r|t] [-n num] [-s socketpath]\n"
+#~ msgstr " %s [-r|t] [-n jumlah] [-s jalur soket]\n"
+
+#~ msgid " %s -k\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Penggunaan: %s [-r] [-t]\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nama...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "penggunaan: write pengguna [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: tidak dapat membuka %s: %s"
+
+#~ msgid "unknown\n"
+#~ msgstr "tidak diketahui\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "ionice - sets or gets process io scheduling class and priority.\n"
+#~ "\n"
+#~ "Usage:\n"
+#~ " ionice [ options ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ options ] <command> [<arg> ...]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -n <classdata> class data (0-7, lower being higher prio)\n"
+#~ " -c <class> scheduling class\n"
+#~ " 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+#~ " -t ignore failures\n"
+#~ " -h this help\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ionice - set atau dapatkan kelas dan prioritas antrian dalam proses.\n"
+#~ "\n"
+#~ "Penggunaan:\n"
+#~ " ionice [ pilihan ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ pilihan ] <perintah> [<arg> ...]\n"
+#~ "\n"
+#~ "Pilihan:\n"
+#~ " -n <datakelas> data kelas (0-7, lebih rendah menjadi prioritas "
+#~ "lebih tinggi)\n"
+#~ " -c <kelas> kelas antrian\n"
+#~ " 0: kosong, 1: waktu-nyata, 2: usaha-terbaik, 3: "
+#~ "diam\n"
+#~ " -t abaikan kegagalan\n"
+#~ " -h bantuan ini\n"
+#~ "\n"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Penggunaan: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Proses shutdown dibatalkan"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Hanya root yang dapat mematikan system.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "Itu pasti besok, dapatkah anda menunggu sampai nanti?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "untuk perawatan; bounce, bounce"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "System akan dimatikan dalam 5 menit"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Oleh karena itu login dilarang."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "di reboot oleh %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "di matikan oleh %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Kenapa Saya masih hidup setelah di reboot?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Sekarang anda dapat mematikan power..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Memanggil kernel untuk fasilitas power-off...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Error mematikan\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Menjalankan aplikasi \"%s\" ...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Error menjalankan\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "PENTING: pesan broadcast dari %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "System akan dimatikan dalam %d jam %d menit"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "System akan dimatikan dalam 1 jam %d menit"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "System akan dimatikan dalam %d menit\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "System akan dimatikan dalam 1 menit\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "System akan SEGERA dimatikan!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Tidak dapat melakukan fork untuk swapoff. Shrug!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr ""
+#~ "Tidak dapat menjalankan swapoff, semoga umount akan melakukan sebuah "
+#~ "trick."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Tidak melakukan fork untuk umount, coba secara manual."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Tidak dapat menjalankan %s, mencoba dengan umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Tidak dapat menjalankan umount, menyerah di umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Unmounting seluruh filesystem yang ada..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Tidak dapat melakukan umount %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Booting ke mode satu pengguna.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "eksekusi dari shell satu pengguna gagal\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "fork dari shell satu pengguna gagal\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "error membuka fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "error menset close-on-exec di /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "error menjalankan finalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "error forking finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Kata sandi salah.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "gagal lstat dari path\n"
+
+#~ msgid "respawning: \"%s\" too fast: quenching entry\n"
+#~ msgstr "respawning: \"%s\" terlalu cepat: menahan masukan\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "gagal fork\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "tidak dapat membuka inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "tidak ada TERM atau tidak dapat memperoleh statistik tty\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "error menghentikan layanan: \"%s\"\n"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "Layanan terhent: %s\n"
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "error menghentikan layanan: \"%s\"\n"
+
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Penggunaan: %s [-c] [-n level] [-r] [-s bufsize]\n"
+
+#~ msgid "error: strdup failed"
+#~ msgstr "error: strdup gagal"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "error: malloc gagal"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "penggunaan: col [-bfpx] [-l nline]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "penggunaan: %s [ - ] [ -2 ] [ file ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n panjang] [-s skip] "
+#~ "[file ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "penggunaan: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "gagal menginisialisasi baris penyangga\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: tidak dapat membaca %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: baris terlalu panjang.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "penggunaan: %s [file]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "malloc gagal"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Penggunaan: tailf [-n N | -N] logfile"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "penggunaan: %s [-i ] [ -tTerm ] file...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "Tidak dapat membuka %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Tidak dapat mengalokasikan memori lagi\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "memperoleh EOF thrice - keluar..\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: malloc gagal.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Kehabisan memory\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Bukan direktori %s!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: tidak ada memory untuk shell script.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: tidak ada shell: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: Ijin ditolak"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: Tidak dapat melakukan fork\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: tidak dapat membaca %s.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: tidak dapat memperoleh statistik file sementara.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: tidak dapat membaca file sementara.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "%s: error menulis: %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "error mengambil\n"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " dan "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: pengguna tidak ada\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: nilai buruk\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) sudah ditinggalkan untuk hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: hexdump(1) kompatibilitas tidak mensupport pilihan -%c %s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; lihat strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Partisi berakhir di ujung sebagian cylinder"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: kehabisan memori\n"
+
+#~ msgid "strdup failed"
+#~ msgstr "strdup gagal"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: interval ilegal %s detik\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: nilai time_t %s ilegal\n"
+
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: tidak dapat menjalankan %s: %s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "baca rtc"
+
+#~ msgid "malloc error"
+#~ msgstr "malloc error"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "penggunaan: column [-tx] [-c columnx] [file ...]\n"
+
+#~ msgid "Out of memory\n"
+#~ msgstr "Kehabisan memori\n"
+
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "Tidak dapat mengalokasikan bufferspace"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "penggunaan: rev [file ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Tidak dapat mengalokasikan buffer.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Kehabisan memori ketika meningkatkan buffer.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: pilihan illegal -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "bagian yang di alokasikan %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "pages yang di alokasikan %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "pages resident %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "pages yang di swap %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Performance swap: %ld mencoba\t %ld berhasil\n"
+
+#~ msgid ""
+#~ " and change display units to\n"
+#~ " sectors (command 'u').\n"
+#~ msgstr ""
+#~ " dan ubah tampilan satuan ke\n"
+#~ " sektor (perintah 'u').\n"
+
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "error menjalankan aplikasi: \"%s\"\n"
+
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "nilai ofset '%s' tidak valid"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "chrt - manipulate real-time attributes of a process.\n"
+#~ "\n"
+#~ "Set policy:\n"
+#~ " chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+#~ "\n"
+#~ "Get policy:\n"
+#~ " chrt [options] {<pid> | <command> [<arg> ...]}\n"
+#~ "\n"
+#~ "\n"
+#~ "Scheduling policies:\n"
+#~ " -b | --batch set policy to SCHED_BATCH\n"
+#~ " -f | --fifo set policy to SCHED_FIFO\n"
+#~ " -i | --idle set policy to SCHED_IDLE\n"
+#~ " -o | --other set policy to SCHED_OTHER\n"
+#~ " -r | --rr set policy to SCHED_RR (default)\n"
+#~ "\n"
+#~ "Scheduling flags:\n"
+#~ " -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -h | --help display this help\n"
+#~ " -p | --pid operate on existing given pid\n"
+#~ " -m | --max show min and max valid priorities\n"
+#~ " -v | --verbose display status information\n"
+#~ " -V | --version output version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "chrt - manipulasi atribut waktu-nyata dari sebuah proses.\n"
+#~ "\n"
+#~ "Set kebijakan:\n"
+#~ " chrt [pilihan] <kebijakan> <prioritas> {<pid> | <perintah> "
+#~ "[<argumen ...]}\n"
+#~ "\n"
+#~ "Dapatkan kebijakan:\n"
+#~ " chrt [pilihan] {<pid> | <perintah> [<argumen> ...]}\n"
+#~ "\n"
+#~ "\n"
+#~ "Kebijakan antrian:\n"
+#~ " -b | --batch set kebijakan ke SCHED_BATCH\n"
+#~ " -f | --fifo set kebijakan ke SCHED_FIFO\n"
+#~ " -i | --idle set kebijakan ke SCHED_IDLE\n"
+#~ " -o | --other set kebijakan ke SCHED_OTHER\n"
+#~ " -r | --rr set kebijakan ke SCHED_RR (baku)\n"
+#~ "\n"
+#~ "Pilihan:\n"
+#~ " -h | --help tampilkan bantuan ini\n"
+#~ " -p | --pid beroperasi di pid diberikan yang telah ada\n"
+#~ " -m | --max tampilkan min dan max prioritas yang sah\n"
+#~ " -v | --verbose tampilkan informasi keadaan\n"
+#~ " -V | --version keluarkan informasi versi\n"
+#~ "\n"
+
+#~ msgid "current"
+#~ msgstr "sekarang"
+
+#~ msgid "new"
+#~ msgstr "baru"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux FS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: tidak ada media ditemukan di %s ...mencoba lagi\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "penggunaan: %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h untuk bantuan.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Spesifikasi Resource:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Format Output:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : batas\n"
+#~ "\t-u : ringkasan\n"
+
+#~ msgid "error: %s"
+#~ msgstr "error: %s"
+
+#~ msgid "error parse: %s"
+#~ msgstr "error mengambil: %s"
+
+#~ msgid "error: /sys filesystem is not accessable."
+#~ msgstr "error: sistem berkas /sys tidak dapat diakses."
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr ""
+#~ "penggunaan: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (atau rdev /linux, etc.) tampilkan ROOT device yang "
+#~ "dipakai"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 sets ROOT pada /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr " rdev -R /dev/fd0 1 set ROOTFLAGS (readonly status)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 set ukuran RAMDISK"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/fd0 1 set bootup VIDEOMODE"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... menggunakan offset byte N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... sama dengan rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ukuran ram ... sama dengan rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... sama dengan rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Catatan: mode video adalah: -3=Tanya, -2=Extended, -1=NormalVga, "
+#~ "1=kunci1, 2=kunci2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " gunakan -R 1 untuk memount root readonly, -R 0 untuk read/write."
+
+#~ msgid "missing comma"
+#~ msgstr "hilang koma"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Penggunaan: fdisk [-b SSZ] [-u] DISK Ubah tabel partisi\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK Tampilkan daftar tabel partisi\n"
+#~ " fdisk -s PARTISI Berikan ukuran partisi dalam "
+#~ "blocks\n"
+#~ " fdisk -v Tampilkan versi dari fdisk\n"
+#~ "Disini DISK memiliki nama seperti /dev/hdb atau /dev/sda\n"
+#~ "dan PARTISI ini memiliki nama seperti /dev/hda7\n"
+#~ "-u: memberikan Awal dan Akhir dalam satuan sector (dari pada dalam "
+#~ "cylinders)\n"
+#~ "-b 2048: (untuk beberapa MO disks) gunakan 2048-byte dari sector\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Penggunaan: fdisk [-l] [-b SSZ] [-u] perangkat\n"
+#~ "E.g.: fdisk /dev/hda (untuk IDE disk yang pertama)\n"
+#~ "atau: fdisk /dev/sdc (untuk SCSI DISK yang ketiga)\n"
+#~ "atau: fdisk /dev/eda (untuk PS/2 ESDI drive)\n"
+#~ "atau: fdisk /dev/rd/c0d0 atau: fdisk /dev/ida/c0d0 (untuk perangkat "
+#~ "RAID)\n"
+#~ "....\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Jumlah dari cylinder untuk disk ini di set ke %d.\n"
+#~ "Tidak ada yang salah dengan hal ini, tetapi ini lebih besar dari 1024,\n"
+#~ "dan dapat membuat menyebabkan masalah dalam beberapa setup dengan:\n"
+#~ "1) aplikasi yang berjalan pada waktu boot (e.g., versi lama dari LILO)\n"
+#~ "2) booting dan partitioning software dari OS yang lain\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+
+#~ msgid ""
+#~ "WARNING: The device does not provide compensation (alignment_offset)\n"
+#~ "for DOS-compatible partitioning, but DOS-compatible mode is enabled.\n"
+#~ "Use command 'c' to switch-off DOS mode.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "PERINGATAN: Perangkat tidak menyediakan kompensasi (alignment_offset)\n"
+#~ "untuk pembagian DOS-kompatibel, tetapi mode DOS-kompatibel diaktifkan.\n"
+#~ "Gunakan perintah 'c' untuk menonaktifkan mode DOS.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "WARNING: the device provides alignment_offset, but the offset does not\n"
+#~ "match with device geometry.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "PERINGATAN: perangkat menyediakan alignment_offset, tetapi ofset tidak\n"
+#~ "cocok dengan geometri perangkat.\n"
+
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr ""
+#~ "satuan: sektor\n"
+#~ "\n"
+
+#~ msgid " start=%9lu"
+#~ msgstr " awal=%9lu"
+
+#~ msgid ", size=%9lu"
+#~ msgstr ", besar=%9lu"
+
+#~ msgid ", bootable"
+#~ msgstr ", dapat di boot"
+
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Jam dalam UTC, tidak diubah.\n"
+
+#~ msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+#~ msgstr "%s: ditemukan tanda %sswap v%d untuk %d KiB PAGE_SIZE\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: error: hanya label dengan menggunakan swap area versi v1\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "fatal: page pertama tidak dapat dibaca"
+
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: Perangkat '%s' memiliki sebuah disklabel Sun yang valid.\n"
+#~ "Ini mungkin berarti membuat swap versi 0 akan menghancurkan tabel "
+#~ "partisi \n"
+#~ "anda, Swap tidak dibuat. Jika anda benar - benar ingin membuat swap v0 "
+#~ "di \n"
+#~ "perangkat itu, gunakan pilihan -f untuk memaksanya.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: tidak dapat chdir ke root!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: tidak dapat memperoleh statistik root!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: buf overflow\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? tidak dapat chdir ke dalam %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? masalah dalam membaca symlink %s - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** MELEWATI BATAS JUMLAH SYMLINKS DI UNIX ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: tipe file tidak diketahui 0%06o dalam file %s\n"
+
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: akan memount %s oleh %s\n"
+
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: no LABEL=, no UUID=, akan memount %s dengan jalur\n"
+
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: Tidak dapat melakukan fork: %s\n"
+
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: waitpid: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "tidak dapat umount %s - mencoba %s sebaliknya\n"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "`%s': bad directory: '.' tidak yang pertama\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "`%s': direktori buruk: '..' tidak yang kedua\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "memanggil open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "memanggil termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "menulis init string\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "sebelum autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "menunggu untuk cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "membaca nama login\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "loop setelah getopt\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "keluar dari parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "memasuki parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "keluar dari parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "duping\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "Password error."
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Peringatan: \"%s\" tidak terdaftar dalam /etc/shells\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "Tidak dapat membaca %s, keluar."
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "timeout = %d, quiet = %d, reboot = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "tidak dapat membaca %s, dan tidak dapat melakukan ioctl dump\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", offset %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: tidak dapat menemukan perangkat apapun /dev/loop#"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: backgrounding \"%s\"\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: menyerah \"%s\"\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "penggunaan: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "penggunaan: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: tidak dapat membuka %s: %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "penggunaan: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] "
+#~ "pengguna ]\n"
+
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: pilihan tidak diketahui \"-%c\"\n"
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES. Raise this value in mkcramfs.c and recompile. "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "Melebihi MAXENTRIES. Naikkan nilai ini dalam mkcramfs.c dan recompile. "
+#~ "Keluar.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Mengasumsikan ukuran page %d (bukan %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "Autoconfigurasi menemukan sebuah %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Tipe Drive\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (dengan hardware terdeteksi defaults)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Pilih tipe (? untuk auto, 0 untuk custom): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Cylinder alternative"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Cylinder Physical"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Anda boleh mengubah seluruh parameter disk dari x menu"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" floppy"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux custom"
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s dari util-linux-%s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: error: label %s terjadi di kedua %s dan %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: tidak dapat membuka %s, jadi UUID dan LABEL conversi tidak dapat "
+#~ "dilakukan.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: bad UUID"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: gagal dengan nfs mount versi 4, mencoba versi 3..\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: memount %s\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: error ketika menebak tipe filesystem\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: argument host:dir terlalu panjang\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: peringatan: multiple hostname tidak dilayani\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: direktori untuk mount tidak dalam format host:dir\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: tidak dapat memperoleh alamat untuk %s\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: memperoleh hp-h_length yang buruk\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: pilihan argument terlalu panjang\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Peringatan: pilihan proto= tidak dikenal.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Peringatan: Pilihan namlen tidak dilayani.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "parameter untuk nfs mount tidak diketahui: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Peringatan: pilihan untuk nolock tidak dilayani.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "pilihan untuk mount nfs tidak diketahui: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: memperoleh hp->h_length yang buruk?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "nfs server melaporkan layanan tidak aktif"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "menggunakan portmapper untuk mencari port dari NFS\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "menggunakan port %d untuk nfs daemon\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "nilai status balik nfs tidak diketahui: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "host: %s, direktori: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: tidak dapat memperoleh perangkat untuk %s\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: mendapatkan hostp->h_length tidak baik\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: cramfs tidak valid -- panjang path buruk\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: cramfs tidak valid--magic salah\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr "%s: peringatan--panjang file terlalu panjang, padded image?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: cramfs tidak valid--crc salah\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: cramfs tidak valid--superblock buruk\n"
+
+#~ msgid "flock: unknown option, aborting.\n"
+#~ msgstr "flock: pilihan tidak diketahui, dibatalkan.\n"
+
+#~ msgid ""
+#~ "Usage flock [--shared] [--timeout=seconds] filename command {arg arg...}\n"
+#~ msgstr ""
+#~ "Penggunaan: flock [--shared] [--timeout=detik] filename command {arg "
+#~ "arg...}\n"
diff --git a/po/insert-header.sin b/po/insert-header.sin
new file mode 100644
index 0000000..b26de01
--- /dev/null
+++ b/po/insert-header.sin
@@ -0,0 +1,23 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/it.gmo b/po/it.gmo
new file mode 100644
index 0000000..0feff7d
--- /dev/null
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..96ed64d
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,18075 @@
+# Italian messages for util-linux-ng.
+# Copyright (C) 2000, 2005, 2006, 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux package.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2008.
+# Beth Powell <bpowell@turbolinux.com>, 2000.
+#
+# partition table: tavola delle partizioni? tabella delle partizioni?
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.13.1-rc1\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2008-04-18 13:44+0100\n"
+"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
+"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "impossibile aprire %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "id non valido"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "id non valido"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "id non valido"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "rileggi la tabella delle partizioni"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "imposta sola lettura"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "imposta lettura-scrittura"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "visualizza sola lettura"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+#, fuzzy
+msgid "get logical block (sector) size"
+msgstr "visualizza la dimensione del settore"
+
+#: disk-utils/blockdev.c:93
+#, fuzzy
+msgid "get physical block (sector) size"
+msgstr "visualizza la dimensione del settore"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "dimensione inode non corretta"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "Settori supplementari per cilindro"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "visualizza la dimensione del blocco"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "imposta la dimensione del blocco"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr ""
+
+# FIXME
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "visualizza la dimensione in byte"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "imposta readahead"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "visualizza readahead"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "imposta file system readahead"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "visualizza file system readahead"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "scarica i buffer"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "rileggi la tabella delle partizioni"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "visualizza la dimensione in settori da 512 byte"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Impossibile ottenere la dimensione del disco"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Comando sconosciuto: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s richiede un argomento\n"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s non riuscito.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s riuscito.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: errore di ioctl su %s\n"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr ""
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "Uso: sfdisk --id numero partizione dispositivo [Id]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "rileggi la tabella delle partizioni"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "Uso:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s non è un dispositivo a blocchi o un file\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formattazione in corso... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "fatto\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Verifica in corso... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Leggere: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problema durante la lettura del cilindro %d, %d previsto, lettura %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"dati danneggiati nel cil %d\n"
+"Continua ... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s da %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "(File successivo: %s)"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: non si tratta di un dispositivo a blocchi\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Impossibile aprire il file '%s'"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Impossibile determinare il tipo di formato attuale"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "faccia %s, %d tracce, %d sec/traccia. CapacitĂ  totale %d kB.\n"
+
+# Questo messaggio e quello successivo concordano con "faccia" del messaggio
+# sopra.
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "doppia"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "singola"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s è montato.\t"
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s: non trovato"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "impossibile fare stat di %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "errore di posizionamento"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Sincronizzazione dei dischi in corso.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s riuscito.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "%s non riuscito.\n"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "errore di posizionamento"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s: non trovato"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "fork non riuscito\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "openpty non riuscita\n"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() non riuscito"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: errore %d durante la decompressione! %p(%d)\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s no è un lp device.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: tipo di filesystem '%s' sconosciuto"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Forzatura controllo filesystem su %s in corso.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: %s no è un lp device.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "eseguito umount di %s\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Smontaggio in corso di qualsiasi filesystem rimanente..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Smontaggio in corso di qualsiasi filesystem rimanente..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: argomento sconosciuto: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Mostra le informazioni sulla versione\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+"%s: attenzione -- impossibile determinare la dimensione del filesystem \n"
+
+#: disk-utils/fsck.cramfs.c:158
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s non è un dispositivo a blocchi o un file\n"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: cramfs non valido -- lunghezza del file troppo corta\n"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(File successivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Immettere il tipo di filesystem: "
+
+#: disk-utils/fsck.cramfs.c:188
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Numero di settori"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Attenzione: la partizione %s si estende dopo la fine del disco\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: attenzione -- vecchia immagine cramfs, nessun CRC\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+#, fuzzy
+msgid "crc error"
+msgstr ", errore"
+
+#: disk-utils/fsck.cramfs.c:324
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "l'inode radice non è una directory"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " buco in %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "Superblocco: %d byte\n"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(File successivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "mount non riuscito"
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "mount non riuscito"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "valore di timeout non valido: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() non riuscito: %m"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "dimensione inode non corretta"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: errore di dimensione nel collegamento simbolico \"%s\"\n"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync non riuscito "
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:584
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "mount non riuscito"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:625
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "id non valido: %s\n"
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: è stato compilato senza il supporto per -x\n"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file dumpfilename ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "terminale necessario per le riparazioni interattive"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Mostra le informazioni sulla versione\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s è montato.\t"
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Continuare?"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "controllo interrotto.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr " N. zona < FIRSTZONE nel file `%s'"
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "N. Zona >= ZONES nel file `%s'"
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Rimuovere blocco"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Errore di lettura: ricerca del blocco nel file '%s' impossibile\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Errore di lettura: blocco danneggiato nel file '%s'\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Errore interno: nel tentativo di scrivere il blocco danneggiato\n"
+"ignorata la richiesta di scrittura\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "tentativo fallito in write_block "
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Errore di scrittura: blocco danneggiato nel file '%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "ricerca fallita in write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "impossibile scrivere in super-block"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Impossibile scrivere nella mappa di inode"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Impossibile scrivere nella mappa di zona"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Impossibile scrivere inode"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "ricerca non riuscita"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "impossibile allocare i buffer per le mappe"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "impossibile leggere super block"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "numero magico danneggiato in super-block"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Ă supportato solamente 1k blocchi/zone"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "campo s_imap_blocks danneggiato in super-block"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "campo s_zmap_blocks danneggiato in super-block"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Impossibile allocare il buffer per la mappa inode"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Impossibile allocare il buffer per la mappa zone"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Impossibile allocare il buffer per gli inode"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Impossibile allocare il buffer per il conteggio inode"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Impossibile allocare il buffer per il conteggio zona"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Impossibile leggere la mappa inode"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Impossibile leggere la mappa di zona"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Impossibile leggere gli inode"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Attenzione: prima zona != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "Inode %ld\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "blocchi %ld\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Prima zona dati=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Dimensione zona=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Dimensione massima=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Stato del filesystem=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"lunghezzanom=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"Inode %d contrassegnato non utilizzato, ma utilizzato per il file '%s'\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Segno in uso"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Il file `%s' ha modalitĂ  %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Attenzione: conteggio inode troppo grande.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "l'inode radice non è una directory"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Il blocco è stato utilizzato in precedenza. Ora nel file `%s'"
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Cancella"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Il blocco %d nel file `%s' è marcato come non in uso."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Corretto"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+"La directory '%s' contiene un numero inode non corretto per il file '%.*s'."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Rimuovere"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: directory danneggiata: '.' non è la prima\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: directory danneggiata: '..' non è la seconda\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "errore interno"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: directory danneggiata: dimensione < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "ricerca in bad_zone non riuscita"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "ModalitĂ  dell'inode %d non cancellata."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inode %d non utilizzato, inode contrassegnato utilizzato in bitmap"
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inode %d utilizzato, inode contrassegnato non utilizzato in bitmap."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Imposta"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (modalitĂ  = %07o), i_nlinks=%d, conteggiati=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Impostare i_nlinks da conteggiare"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zona %d: contrassegnata in uso, nessun file la utilizza."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Non contrassegnata"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zona %d: utilizzata, conteggiati=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zona %d: non in uso, conteggiati=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "dimensione inode non corretta"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "dimensione inode v2 non corretta"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "terminale necessario per le riparazioni interattive"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "impossibile aprire %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "'%s' è corretto, non controllare.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Forzatura controllo filesystem su %s in corso.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Il filesystem su %s è danneggiato, controllo necessario.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inode utilizzati (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zone utilizzate (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d file regolari\n"
+"%6d directory\n"
+"%6d file di dispositivo a caratteri\n"
+"%6d file di dispositivo a blocchi\n"
+"%6d collegamenti\n"
+"%6d collegamenti simbolici\n"
+"------\n"
+"%6d file\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"---------------------------------\n"
+"IL FILE SYSTEM Ă STATO MODIFICATO\n"
+"---------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: errore di posizionamento su %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: errore di lettura su %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "numero settori: %d, dimensione settori: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "Numero non valido: %s\n"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "nome di volume troppo lungo"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "nome del filesystem troppo lungo"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s non è un dispositivo speciale a blocchi"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "id non valido"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "impossibile ottenere la dimensione di %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "argomento dei blocchi troppo largo, il massimo è %lu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "troppi inode - il massimo è 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "spazio insufficiente, sono necessari almeno %lu blocchi"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositivo: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Nome filesystem: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Dimensioni blocco: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inode: %d (in 1 blocco)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inode: %d (in %ld blocchi)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blocchi: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Fine inode: %d, fine dati: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "errore durante la scrittura del superblocco"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "errore durante la scrittura dell'inode radice"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "errore durante la scrittura dell'inode"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "errore di posizionamento"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "errore durante la scrittura di \".\""
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "errore durante la scrittura di \"..\""
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "errore durante la chiusura di %s"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "Uso: mkfs [-V] [-t tipofs] [opzioni-fs] dispositivo [dimensione]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "l'inode radice non è una directory"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "filesystem troppo grande. Uscita.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:620
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d byte)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "Impossibile aprire il file '%s'"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: dispositivo di blocchi non valido"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Incluso: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dati directory: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Tutto: %d kilobyte\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblocco: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"spazio insufficiente allocato per l'immagine ROM (%lld allocati, %d usati)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "Scrittura dell'immagine ROM non riuscita (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "attenzione: nomi di file troncati a 255 byte.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "attenzione: alcuni file sono stati ignorati a causa di errori.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "attenzione: dimensioni dei file troncate a %luMB (meno 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"attenzione: uid troncati a %u bit. (Questo può essere un problema di "
+"sicurezza)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"attenzione: gid troncati a %u bit. (Questo può essere un problema di "
+"sicurezza)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"ATTENZIONE: numeri di device troncati a %u bit. Questo significa quasi\n"
+"certamente che alcuni file di device saranno sbagliati.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Uso: %s [-c | -l nomefile] [-nXX] [-iXX] /dev/name [blocchi]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s è montata; qui non verrà creato un filesystem!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr ""
+"tentativo di effettuare il boot del blocco in write_tables non riuscito"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "impossibile cancellare il settore di boot"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "ricerca in write_tables non riuscita"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "impossibile scrivere in super-block"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "impossibile scrivere nella mappa degli inode"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "impossibile scrivere nella mappa delle zone"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "impossibile scrivere inode"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "tentativo fallito in write_block "
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "scrittura in write_block non riuscita"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "troppi blocchi danneggiati"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "numero insufficiente di blocchi corretti"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "impossibile allocare i buffer per le mappe"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "impossibile allocare i buffer per le mappe"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "impossibile allocare il buffer per gli inode"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "Inode %ld\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "blocchi %ld\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Dimensione max=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "ricerca non riuscita durante il controllo dei blocchi"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Valori strani in do_check: probabilmente sono presenti dei bug\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "ricerca in check_blocks non riuscita"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "blocchi danneggiati prima dell'area dati: impossibile creare fs"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d blocchi danneggiati\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "un blocco danneggiato\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "impossibile aprire il file dei blocchi danneggiati"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "Impossibile leggere l'unitĂ  disco"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "dimensione inode non corretta"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "errore strtol: numero di blocchi non specificato"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "umount: %s: device occupato"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "impossibile ottenere la dimensione di %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "non si tenterĂ  di creare un filesystem su '%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "Numero di settori"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "dimensione pagina %d specificata dall'utente non corretta\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Utilizzo la dimensione pagina %d specificata dall'utente, al posto del "
+"valore di sistema %d\n"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "L'etichetta è stata troncata.\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "nessuna etichetta, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "nessun uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "troppe pagine danneggiate"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "ricerca in check_blocks non riuscita"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "una pagina danneggiata\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu pagine danneggiate\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "impossibile allocare il buffer per gli inode"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "impossibile allocare il buffer per gli inode"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "impossibile cancellare il settore di boot"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "impossibile cancellare il settore di boot"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p stampa della tabella delle partizioni BSD"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s visualizzazione del disklabel completo"
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr " s visualizzazione del disklabel completo"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "ricerca non riuscita"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "semafori allocati = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: errore: versione sconosciuta %d\n"
+
+#: disk-utils/mkswap.c:530
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: errore: non è possibile impostare swap in nessuna posizione?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "id non valido"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr ""
+"%s: errore: la dimensione %lu è maggiore di quella del dispositivo %lu\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: errore: l'area di swap deve equivalere almeno a %ldkB\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: attenzione: troncamento area swap a %ldkB\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s: errore: %s è montata; qui non verrà creato uno spazio di swap.\n"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Attenzione: %s non è un dispositivo a blocchi\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Impossibile impostare lo spazio-swap: non leggibile"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Impostazione spazio di swap versione %d, dimensione = %llu kB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "impossibile scrivere sulla pagina di firma"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync non riuscito "
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "impossibile fare matchpathcon()"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "impossibile creare un nuovo contesto selinux"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "%s: impossibile rinominare %s in %s: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Numero della partizione"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Stampare la tabella delle partizioni"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Numero di settori"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Numero della partizione"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d partizioni:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Scrittura tabella delle partizioni su disco in corso..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d partizioni:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# tabella delle partizioni di %s\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "Impossibile allocare il buffer.\n"
+
+# FIXME
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: impossibile trovare un loop device libero"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: si intende utilizzare il loop device %s\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Comando sconosciuto: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "ricerca in write_tables non riuscita"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Partizione selezionata %d\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Nessuna partizione definita\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Questa partizione esiste giĂ .\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Partizione selezionata %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "non è contenuta nella partizione %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Attenzione: le partizioni %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Nessuna partizione definita\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s non riuscito.\n"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "rileggi la tabella delle partizioni"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p stampa della tabella delle partizioni BSD"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "Il disco %s non contiene una tabella delle partizioni valida\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Comandi disponibili:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Impossibile cancellare una partizione vuota"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Impossibile fare il lock del file di lock %s: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Attenzione: %s non è un dispositivo a blocchi\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s: non è un dispositivo di caratteri"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s non è un dispositivo speciale a blocchi"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "errore fermando il servizio \"%s\""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "errore fermando il servizio \"%s\""
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "Uso: sfdisk --id numero partizione dispositivo [Id]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "ricerca in write_tables non riuscita"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "rileggi la tabella delle partizioni"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: nessuna partizione di questo tipo\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: errore: versione sconosciuta %d\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: impossibile aprire: %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "ricerca in write_tables non riuscita"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Memoria esaurita!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Inutilizzabile"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Spazio disponibile"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Il disco è stato cambiato.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Riavviare il sistema per assicurarsi che la tabella delle partizioni sia "
+"aggiornata correttamente.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"ATTENZIONE: in caso di creazione o modifica di qualsiasi\n"
+"partizione DOS 6.x, consultare la pagina del manuale cfdisk\n"
+"per ulteriori informazioni.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "ERRORE IRREVERSIBILE"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Premere qualsiasi tasto per uscire da cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Ricerca sull'unitĂ  disco impossibile"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Impossibile leggere l'unitĂ  disco"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Impossibile scrivere sull'unitĂ  disco"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Troppe partizioni"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "La partizione inizia prima del settore 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "La partizione termina prima del settore 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "La partizione inizia dopo la fine del disco"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "La partizione termina dopo la fine del disco"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "le partizioni logiche non sono nell'ordine del disco"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "sovrapposizione delle partizioni logiche"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "sovrapposizione delle partizioni logiche ampliate"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Errore interno durante la creazione di un'unitĂ  logica con partizione "
+"non estesa !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Impossibile creare un'unitĂ  logica in questo caso - si creerebbero due "
+"partizioni estese"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Voce di menù troppo lunga. Il menu può apparire strano."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Tasto non valido"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Premere un tasto per continuare"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primaria"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Creare una nuova partizione primaria"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logica"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Creare una nuova partizione logica"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Annulla"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Non creare una partizione"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Errore interno !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Dimensione (in MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Inizio"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Aggiungere la partizione all'inizio dello spazio disponibile"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Fine"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Aggiungere la partizione alla fine dello spazio disponibile"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Non c'è spazio per creare una partizione estesa"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Nessuna tabella delle partizioni.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Nessuna tabella delle partizioni. Si inizia con una tabella vuota."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Segnatura danneggiata nella tabella delle partizioni"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Tipo di tabella delle partizioni sconosciuto"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Si vuole iniziare con una tabella vuota [y/N]?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+"Si è specificato un numero di cilindri superiore a quelli contenuti su disco"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Impossibile aprire l'unitĂ  disco"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disco aperto in sola lettura - scrittura non autorizzata"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Impossibile ottenere la dimensione del disco"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Partizione primaria danneggiata"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Partizione logica danneggiata"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Attenzione! I dati sul disco potrebbero venire eliminati!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Sicuro di voler scrivere la tabella delle partizioni su disco? (si o no): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "no"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Scrittura tabella delle partizioni su disco non effettuata"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "si"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Inserire \"si\" (senza accento) o \"no\""
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Scrittura tabella delle partizioni su disco in corso..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Eseguita l'operazione di scrittura tabella delle partizioni su disco"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Tabella scritta, ma la rilettura è fallita. Riavviare per aggiornare la "
+"tabella."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Nessuna partizione primaria è impostata come avviabile. DOS MBR non può\n"
+"avviarla."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Più di una partizione primaria è impostata come avviabile. DOS MBR non può\n"
+"avviarla."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Inserire il nome del file o premere RETURN (INVIO) per visualizzare sullo "
+"schermo:"
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "UnitĂ  disco: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Settore 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Settore %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Nessuno "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primario"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logico"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Sconosciuto"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Avvio"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Nessuno"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabella delle partizioni per %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1955
+#, fuzzy
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tipo settore settore offset lunghezza tipo di filesystem "
+"(ID) flag\n"
+
+#: fdisks/cfdisk.c:1956
+#, fuzzy
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2040
+#, fuzzy
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr ""
+" # Flag testina sett. cil. ID testina sett. cil. settore settori\n"
+
+#: fdisks/cfdisk.c:2041
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Grezzo"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Stampare la tabella utilizzando il formato dati grezzi"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Settori"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Stampare la tabella ordinata per settori"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabella"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Stampare la tabella delle partizioni"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Non stampare la tabella"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Schermata Guida per cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+"Questo è cfdisk, un programma per la partizione dei dischi basato su curses"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+"consente di creare, cancellare e modificare le partizioni sul disco fisso"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "unitĂ  disco."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Comando significato"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Cambia flag avviabile per la partizione corrente"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Elimina la partizione corrente"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g cambio cilindri, testine, parametri settori-per-traccia"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr ""
+" ATTENZIONE: questa opzione dovrebbe essere utilizzata solo da "
+"persone"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " esperti."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Stampare questa schermata"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr ""
+" m Massimizzare l'utilizzo del disco della partizione corrente"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Nota: questo può rendere la partizione incompatibile con"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Creazione di una nuova partizione nello spazio disponibile"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Stampa della tabella delle partizioni su schermo o su file"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Vi sono diversi altri formati per la partizione"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " tra i quali scegliere:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - dati grezzi (esattamente ciò che verrebbe scritto sul "
+"disco)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Tabella ordinata per settori"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Tabella in formato grezzo"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr ""
+" q Esce dal programma senza scrivere nella tabella delle partizioni"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Cambia il tipo di filesystem"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr ""
+" u Modifica l'unitĂ  di visualizzazione della dimensione della "
+"partizione"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Ruota attraverso MB, settori e cilindri"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W Scrittura della tabella di partizione sul disco (si deve "
+"inserire la W maiuscola)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr ""
+" Dato che in questo modo è possibile eliminare dati sul disco, si "
+"deve"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " confermare o negare la scrittura inserendo \"si\" o"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " \"no\""
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Freccia Su sposta il cursore alla partizione precedente"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Freccia GiĂą sposta il cursore alla partizione successiva"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Ridisegna lo schermo"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Stampa questa schermata"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Nota: è possibile immettere tutti i comandi in maiuscolo o minuscolo"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "lettere maiuscole/minuscole (fatta eccezione per Writes)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cilindri"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Modifica la geometria dei cilindri"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Testine"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Modifica la geometria delle testine"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Modifica la geometria dei settori"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Fine"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Modifica della geometria eseguita"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Immettere il numero di cilindri: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Valore cilindri non valido"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Immettere il numero delle testine: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Valore testine non valido"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Immettere il numero dei settori per traccia: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Valore settori non valido"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Immettere il tipo di filesystem: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Impossibile cambiare il tipo FS in vuoto"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Impossibile cambiare il tipo FS in espanso"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unk(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Sconosciuto (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "UnitĂ  disco: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Dimensioni: %lld byte, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Dimensioni: %lld byte, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Testine: %d Settori per traccia: %d Cilindri: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nome"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Flag"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Tipo part."
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Tipo FS"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Etichetta]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Settori"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cilindri"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Dim. (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Dim. (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Nessun'altra partizione"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Avviabile"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr " Cambia flag avviabile per la partizione corrente "
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Elimina"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Elimina la partizione corrente"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Modifica della geometria del disco (solo per esperti)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Guida"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Mostra della schermata della guida"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Massimi."
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Massimizza l'utilizzo del disco della partizione corrente (solo per esperti)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Nuova"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Creazione di una nuova partizione nello spazio disponibile"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Stampa"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Stampa della tabella delle partizioni su schermo o su file"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Esci"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Esci dal programma senza scrivere nella tabella delle partizioni"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Tipo"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Modifica il tipo di filesystem (DOS, Linux, OS/2, ecc.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "UnitĂ "
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Cambia l'unitĂ  di visualizzazione della dimensione della partizione (MB, "
+"sett., cil.)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Scrivi"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+"Scrivi la tabella delle partizioni sul disco (i dati potrebbero venir persi)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Impossibile rendere questa partizione avviabile"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Impossibile cancellare una partizione vuota"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Impossibile massimizzare questa partizione"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Questa partizione è utilizzabile"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Questa partizione è già in uso"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Impossibile modificare il tipo di una partizione vuota"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Comando non valido"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Uso:\n"
+"Stampa versione:\n"
+" %s -v\n"
+"Stampa tabella delle partizioni:\n"
+" %s -P {r|s|t} [opzioni] dispositivo\n"
+"Uso interattivo:\n"
+" %s [opzioni] dispositivo\n"
+"\n"
+"Opzioni:\n"
+"-a: Usa freccia al posto dell'evidenziazione;\n"
+"-z: Inizia con una tabella delle partizioni vuota, anziché leggere la \n"
+" partizione dal disco;\n"
+"-c C -h H -s S: Sostituisce l'idea del kernel riguardo al numero di "
+"cilindri,\n"
+" al numero di testine e di settori/traccia.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c modifica del numero di cilindri"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "impossibile aprire %s"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "impossibile aprire %s"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tEsiste un'etichetta AIX valida su questo disco.\n"
+"\tSfortunatamente, in questo momento Linux non è in grado di gestire questi\n"
+"\tdischi. Ciò nonostante seguono alcuni\n"
+"\tconsigli:\n"
+"\t1. fdisk elimierĂ  il suo contenuto alla scrittura.\n"
+"\t2. Assicurarsi che questo disco NON sia ancora\n"
+"\t una parte vitale del gruppo di volume (altrimenti è possibile\n"
+"\t che si cancellino anche gli altri dischi, se non soggetti a "
+"mirroring.)\n"
+"\t3. Prima di eliminare questo volume fisico assicurarsi\n"
+"\t di rimuovere in maniera logica il disco dalla macchina AIX \n"
+"\t (altrimenti si diviene AIXpert)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etichetta BSD per dispositivo: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Scrittura del disklabel su %s in corso.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Primo %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Ultimo %s o +size o +sizeM o +sizeK "
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s non contiene disklabel.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Creare un disklabel? (s/n)"
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "La partizione %s ha settore di inizio 0 non valido.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lettura del disklabel di %s al settore %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Non esiste partizione *BSD su %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Comando disklabel BSD (m per richiamare la guida): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tipo: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tipo: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disco: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etichetta: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "flag:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " rimovibile"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte/settore: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "settori/traccia: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "tracce/cilindro: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "settori/cilindro: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindri: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# millisecondi\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "ricerca traccia-a-traccia: %ld\t# millisecondi\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "datiunitĂ :"
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partizioni:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# inizio fine size fstype [fsize bsize cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "byte/settore"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "settori/traccia"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "tracce/cilindro"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cilindri"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "settori/cilindro"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr " Deve essere <= settori/traccia * tracce/cilindro (predefinito).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "ricerca traccia-a-traccia"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Sovrapposizione del bootstrap con il disklabel!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap installato su %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partizione (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Ă stato creato il numero massimo di partizioni\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Questa partizione esiste giĂ .\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Attenzione: troppe partizioni (%d, il massimo è %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Sincronizzazione dei dischi.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a Cambia bootable flag"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a attivazione/disattivazione di un flag di sola lettura"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a selezione della partizione che è possibile avviare"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a modifica del numero di cilindri alternativi"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b modifica di bsd disklabel"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b modifica della voce bootfile"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b spostamento dell'inizio di dati in una partizione"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c cambia il flag compatibile con il dos"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c attivazione/disattivazione del flag montabile"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c selezione della partizione swap sgi"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c modifica del numero di cilindri"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d cancellazione di una partizione"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d stampa dei dati grezzi nella tabella delle partizioni"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e modifica del numero dei settori supplementari per cilindro"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e elenco delle partizioni estese"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e modifica dei dati dell'unitĂ "
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f aggiusta l'ordine delle partizioni"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g crea una tabella delle partizioni IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h modifica del numero di testine"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i modifica del fattore di interleave"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " i cambia l'identificativo del disco"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i installazione di bootstrap"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l elenco dei tipi di partizione conosciuti"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m stampa di questo menu"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n aggiunta di una nuova partizione"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o creazione di una nuova tabella delle partizioni DOS vuota"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o modifica della velocitĂ  di rotazione (rpm)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Stampare la tabella delle partizioni"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q uscita senza salvataggio delle modifiche"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r ritorno al menu principale"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s creazione di una nuova disklabel Sun vuota"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s modifica del numero di settori/traccia"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s visualizzazione del disklabel completo"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t modifica l'id di sistema di una partizione"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u modifica delle unitĂ  di visualizzazione/di immissione"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v verifica la tabella delle partizioni"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w scrivi la tabella su disco ed esci"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w scrittura del disklabel su disco"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x ulteriori funzioni (solo per esperti)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x collegamento della partizione BSD a una non-BSD"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y modifica del numero di cilindri fisici"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "Impossibile leggere %s\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Ricerca impossibile su %s\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "Impossibile scrivere su %s\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl non riuscito su %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Errore irreversibile\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Azione comando"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Si devono impostare"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "testine"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "settori"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Ă possibile effettuare questa operazione dal menu delle funzioni "
+"supplementari.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " e "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Continuare?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Codice esadecimale (digitare L per elencare i codici): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, predefinito %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Utilizzo del valore predefinito %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Valore fuori intervallo.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Numero della partizione"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Attenzione: la partizione %d ha tipo vuoto\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partizione selezionata %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Nessuna partizione definita\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cilindro"
+msgstr[1] "cilindro"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "settore"
+msgstr[1] "settore"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Modifica delle unitĂ  di visualizzazione/immissione su %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Modifica delle unitĂ  di visualizzazione/immissione su %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ATTENZIONE: la partizione %d è una partizione estesa\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "Impostato il flag compatibile con DOS\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Il flag compatibile con DOS non è impostato\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "La partizione %d non ha area dati\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "La partizione %d non esiste ancora!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Tipo 0 significa spazio disponibile per diversi sistemi\n"
+"(ma non per Linux). Avere partizioni di\n"
+"tipo 0 probabilmente non è consigliabile. à possibile eliminare\n"
+"una partizione utilizzando il comando \"d\".\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Non è possibile trasformare una partizione in una estesa o viceversa\n"
+"Prima bisogna eliminarla.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Poniamo di lasciare la partizione 3 come disco intero (5),\n"
+"poiché SunOS/Solaris lo prevede e ciò è gradito anche a Linux.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Poniamo di lasciare la partizione 9 come intestazione di volume (0),\n"
+"e la partizione 11 come volume intero (6) poiché IRIX lo prevede.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Modificato il tipo di sistema della partizione %d in %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Modificato il tipo di sistema della partizione %d in %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"La partizione %d ha diversi elementi iniziali fisici/logici (non Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " phys=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logico=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "La partizione %d ha diversi elementi finali fisici/logici:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "La partizione %i non termina al limite del cilindro.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "La partizione %i non inizia al limite del cilindro:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disco %s: %ld MB, %lld byte\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disco %s: %ld.%ld GB, %lld byte\n"
+"\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", totale %llu settori"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d testine, %llu settori/tracce, %d cilindri"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "UnitĂ  = %s di %d * %d = %d byte\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "dimensione inode non corretta"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr "Niente da fare. L'ordine è già corretto.\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Fine\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Questa non sembra una tabella delle partizioni.\n"
+"Probabilmente è stato scelto il dispositivo sbagliato.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, fuzzy, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Avvio Inizio Fine Blocchi Id Sistema\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Dispositivo"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Le voci nella tabella delle partizioni non sono nello stesso ordine del "
+"disco\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s: %d testine, %llu settori, %d cilindri\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Attenzione: la partizione %d contiene il settore 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partizione %d: testina %d piĂą grande del massimo %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partizione %d: settore %d piĂą grande del massimo %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partizione %d: cilindro %d piĂą grande del massimo %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Partizione %d: dissenso dei settori precedenti %d con il totale %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "La partizione %d non esiste ancora!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Impossibile scrivere sull'unitĂ  disco"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"La tabella delle partizioni è stata alterata!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Chiamata di ioctl() per rileggere la tabella delle partizioni.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"ATTENZIONE: Rilettura della tabella delle partizioni fallita con errore %d: "
+"%s.\n"
+"Il kernel usa ancora la tabella precedente.\n"
+"La nuova tabella sarĂ  usata al prossimo riavvio.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"ATTENZIONE: in caso di creazione o modifica di partizioni DOS 6.x,\n"
+"consultare la pagina del manuale fdisk per ulteriori\n"
+"informazioni.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Sincronizzazione dei dischi in corso.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "La partizione %d non ha area dati\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Nuovo inizio dati"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Comando per esperti (m per richiamare la guida): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Numero di cilindri"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Numero di testine"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Numero di settori"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+"Attenzione: impostare l'offset di settore per assicurare compatibilitĂ  con "
+"DOS\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "impossibile aprire %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: comando sconosciuto\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Creazione di una nuova disklabel sun. Le modifiche rimarranno memorizzate\n"
+"solamente fino a quando si decide di scriverle. Dopodiché, chiaramente, il\n"
+"contenuto precedente non sarĂ  recuperabile.\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Comando (m per richiamare la guida): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "id non valido"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "id non valido"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "id non valido"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "id non valido"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Attenzione: l'opzione -b (mpostazione della dimensione del settore) si "
+"dovrebbe utilizzare con un dispositivo specificato\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Nota: la dimensione del settore è %d (non %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Il disco %s non contiene una tabella delle partizioni valida\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Tutte le partizioni primarie sono state giĂ  definite!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Offset errato nella partizione estesa primaria\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+"Attenzione: puntatore di collegamento supplementare nella tabella delle "
+"partizioni %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+"Attenzione: i dati supplementari nella tabella delle partizioni %d vengono "
+"ignorati\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Attenzione: partizione vuota\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identificativo disco: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nuovo identificativo disco (corrente 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Partizione estesa supplementare ignorata %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Attenzione: il flag 0x%04x non valido della tabella delle partizioni %d "
+"verrĂ  corretto con w(rite)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"La partizione %d è già definita. Cancellarla prima di riaggiungerla.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Il settore %llu è già allocato\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Non ci sono settori liberi disponibili\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Partizione logica danneggiata"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Attenzione: inizio dati danneggiato nella partizione %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Attenzione: la partizione %d si sovrappone alla partizione %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Attenzione: la partizione %d è vuota\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "La partizione logica %d non è interamente nella partizione %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Numero totale dei settori allocati %ld superiore al massimo %lld\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld settori non allocati\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Tutte le partizioni logiche sono usate\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Tutte le partizioni logiche sono usate\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Aggiunta di una partizione primaria\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l logica (5 od oltre)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr " e estesa"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Utilizzo del valore predefinito %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Numero di partizioni non valido per il tipo \"%c\"\n"
+
+#: fdisks/fdiskmaclabel.c:30
+#, fuzzy
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tEsiste un'etichetta AIX valida su questo disco.\n"
+"\tSfortunatamente, in questo momento Linux non è in grado di gestire questi\n"
+"\tdischi. Ciò nonostante seguono alcuni\n"
+"\tconsigli:\n"
+"\t1. fdisk elimierĂ  il suo contenuto alla scrittura.\n"
+"\t2. Assicurarsi che questo disco NON sia ancora\n"
+"\t una parte vitale del gruppo di volume (altrimenti è possibile\n"
+"\t che si cancellino anche gli altri dischi, se non soggetti a "
+"mirroring.)\n"
+"\t3. Prima di eliminare questo volume fisico assicurarsi\n"
+"\t di rimuovere in maniera logica il disco dalla macchina AIX \n"
+"\t (altrimenti si diviene AIXpert)."
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux nativo"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Secondo MIPS Computer Systems, Inc l'etichetta non deve contenere piĂą di 512 "
+"byte\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Rilevato un disklabel sgi con checksum errato.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (disk label SGI): %d testine, %llu settori\n"
+"%d cilindri, %d cilindri fisici\n"
+"%d sett/cil supplementari, interleave %d:1\n"
+"%s\n"
+"UnitĂ  = %s di %d * %d byte\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (disk label SGI): %d testine, %llu settori, %d cilindri\n"
+"UnitĂ  = %s di %d * %d byte\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- partizioni -----\n"
+"Pt# %*s Info Inizio Fine Settori Id Sistema\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, fuzzy, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Infoavvio -----\n"
+"File di avvio: %s\n"
+"----- Voci directory -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s settore%5u dimensione%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"File di avvio non valido!\n"
+"\tIl file di avvio deve essere un path assoluto non nullo,\n"
+"\tes. \"/unix\" o \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNome del file di avvio troppo lungo: deve essere di 16 byte al massimo.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tIl file di avvio deve avere un path completo.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tSi tenga conto del fatto che non viene verificata l'esistenza del file di "
+"avvio.\n"
+"\tL'impostazione predefinita di SGI è \"/unix\" e per il backup \"/unix.save"
+"\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Il file d'avvio corrente è: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Immettere il nome del nuovo file d'avvio:"
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "File d'avvio immutato\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tFile di avvio cambiato in \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Presente piĂą di una voce disco intero.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nessuna partizione definita\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX gradisce che la partizione 11 comprenda l'intero disco.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"La partizione dell'intero disco dovrebbe iniziare al blocco 0,\n"
+"non al blocco %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"La partizione del disco intero è solamente di %d blocchi,\n"
+"ma il disco è di %d blocchi.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Una partizione (#11) dovrebbe comprendere il disco intero.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "La partizione %d non inizia al limite del cilindro.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "La partizione %d non termina al limite del cilindro.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Le partizioni %d e %d si sovrappongono di %d settori.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Intervallo di %8u settori non utilizzato - settori %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"la partizione di avvio non esiste.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"La partizione di swap non esiste.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"La partizione di swap non ha tipo swap.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tSi è selezionato un nome file di avvio non comune.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr ""
+"Spiacente, solamente il superutente può modificare il clock di sistema.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Si raccomanda che la partizione in offset 0\n"
+"sia di tipo \"SGI volhdr\", il sistema IRIX si baserĂ  su di essa per\n"
+"recuperare dalla directory gli strumenti standalone come sash e fx.\n"
+"Solamente la sezione dell'intero disco \"SGI volume\" può violarla.\n"
+"Digitare YES (sì) se si è certi di voler codificare questa partizione in "
+"modo differente.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+"Sovrapposizione di partizioni sul disco. Risolvere anzitutto questo "
+"problema.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Tentativo di generare automaticamente la voce per l'intero disco.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "L'intero disco è già coperto da partizioni.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Sovrapposizione di partizioni sul disco. Risolvere anzitutto questo "
+"problema.\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Si raccomanda che l'undicesima partizione\n"
+"copra l'intero disco e sia di tipo \"SGI volume\"\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Si avrĂ  una sovrapposizione di partizioni sul disco. Risolvere anzitutto "
+"questo problema.\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Ultimo %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl non riuscito su %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tINIZIO=%d\tLUNGHEZZA=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Tentativo di mantenere i parametri della partizione %d in corso.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Non assegnato"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Disco intero"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS riservato"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Autorilevamento raid di Linux"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Rilevata una disklabel sun con checksum errato.\n"
+"Probabilmente si dovranno impostare tutti i valori,\n"
+"per es. testine, settori, cilindri e partizioni\n"
+"o forzare un'etichetta nuova (comando s nel menu principale)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Rilevato un disklabel con versione errata [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Rilevato un disklabel con sanity errato [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Rilevato un disklabel con num_partitions errato [%u].\n"
+
+# FIXME
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr "Attenzione: i valori non validi devono essere corretti con w(rite)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s non contiene disklabel.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Settori/traccia"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "La partizione %d non finisce al limite del cilindro\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "La partizione %d si sovrappone ad altre nei settori %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Intervallo inutilizzato - settori 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Intervallo inutilizzato - settori %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Altre partizioni coprono giĂ  il disco intero.\n"
+"Eliminarne alcune/rimpicciolirle prima di riprovare.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Si raccomanda che l'undicesima partizione\n"
+"copra l'intero disco e sia di tipo \"SGI volume\"\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Non si è coperto l'intero disco con la terza partizione, ma il valore\n"
+"%d %s copre alcune altre partizioni. La voce immessa è stata cambiata\n"
+"in %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Se si vuole mantenere la compatibilitĂ  con SunOS/Solaris, prendere\n"
+"in considerazione di lasciare questa partizione come disco intero (5), "
+"partendo da 0, con %u settori\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Si raccomanda che la partizione a offset 0\n"
+"sia un filesystem UFS, EXT2FS o swap SunOS . La collocazione in quella "
+"posizione dello swap Linux\n"
+"potrebbe provocare l'eliminazione della tabelle delle partizioni e del "
+"bootblock.\n"
+"Digitare YES (sì) se si è certi di volere che quella partizione\n"
+"venga codificata con 82 (swap Linux ): "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (disk label della Sun): %d testine, %d settori, %d rpm\n"
+"%d cilindri, %d cilindri alternativi, %d cilindri fisici\n"
+"%d sett./cil. supplementari, interleave %d:1\n"
+"%s\n"
+"UnitĂ  = %s di %d * 512 byte\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (etichetta disco Sun): %d testine, %d settori, %d cilindri\n"
+"UnitĂ  = %s di %d * 512 byte\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Flag Inizio Fine Blocchi Id Sistema\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Numero di cilindri alternativi"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Settori supplementari per cilindro"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Fattore di interleave"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "VelocitĂ  di rotazione (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Numero dei cilindri fisici"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Vuoto"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Esteso"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX avviabile"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Esteso (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 nascosto"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Diagnostica Compaq"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 nascosto <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 nascosto"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS nascosto"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "W95 FAT32 nascosto"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA) nascosto"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA) nascosto"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "HPFS/NTFS nascosto"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "Recupero PartitionMagic"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2a partiz."
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd partiz."
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr " EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr " SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD o SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Vecchio Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / vecchio Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "C nascosto OS/2: drive"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux esteso"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "set volume NTFS"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "Ibernazione IBM Thinkpad"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard hidden"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Non-FS data"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+#, fuzzy
+msgid "BootIt"
+msgstr "Avvio"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "accesso DOS"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS secondario"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "errore di ricerca su %s - impossibile ricercare a %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "errore di ricerca: si voleva 0x%08x%08x, si è ottenuto 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "errore in lettura su %s - impossibile leggere il settore %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "errore di scrittura su %s - impossibile scrivere il settore %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "impossibile aprire il file di salvataggio settore partizione (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "errore di scrittura su %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "impossibile eseguire stat del file di ripristino partizione (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"il file di ripristino partizione ha una dimensione errata - il ripristino "
+"non viene effettuato\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "impossibile aprire il file di ripristino partizione (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "errore durante la lettura di %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "impossibile aprire il dispositivo %s per scrivere\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "errore durante la scrittura del settore %lu su %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disco %s: impossibile ottenere la geometria\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disco %s: impossibile ottenere la dimensione\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Attenzione: inizio=%lu - sembra una partizione piuttosto che\n"
+"l'intero disco. Utilizzare fdisk su di esso probabilmente non ha senso.\n"
+"[Utilizzare l'opzione --force se lo si desidera davvero]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Attenzione: HDIO_GETGEO dice che vi sono %lu testine\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Attenzione: HDIO_GETGEO dice che vi sono %lu settori\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Attenzione: BLKGETSIZE/HDIO_GETGEO dice che vi sono %lu cilindri\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Attenzione: numero improbabile di settori (%lu) - di solito sono al massimo "
+"63\n"
+"Questo creerĂ  problemi con i software che utilizza l'indirizzamento C/H/S.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disco %s: %lu cilindri, %lu testine, %lu settori/traccia\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s della partizione %s ha un valore impossibile per la testina: %lu "
+"(dovrebbe essere in 0-%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s della partizione %s ha un valore impossibile per il settore: %lu "
+"(dovrebbe essere in 1-%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s della partizione %s ha un valore impossibile per i cilindri: %lu "
+"(dovrebbe essere in 0-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Nome Id\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Rilettura della tabella delle partizioni in corso...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Il comando per la rilettura della tabella delle partizioni non è riuscito\n"
+"Riavviare adesso il sistema prima di utilizzare mkfs\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Errore durante la chiusura di %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: nessuna partizione di questo tipo\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "formato non riconosciuto - utilizzo dei settori in corso\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "formato non implementato - utilizzo di %s in corso\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"UnitĂ  = cilindri di %lu byte, blocchi di 1024 byte, conteggiando da %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, fuzzy, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr ""
+" Dispositivo Boot Inizio Fine #cilin. #blocchi Id Sistema\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"UnitĂ  = settori di 512 byte, conteggiando da %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, fuzzy, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Dispositivo Boot Inizio Fine #settori Id Sistema\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"UnitĂ  = blocchi di 1024 byte, conteggiando da %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, fuzzy, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Dispositivo Boot Inizio Fine #blocchi Id Sistema\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"UnitĂ  = mebibyte da 1048576 byte, blocchi da 1024 byte, contando da %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, fuzzy, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Dispositivo Inizio Boot Fine MB #blocchi Id Sistema\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tinizio: (c,h,s) previsto (%ld,%ld,%ld) trovato (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tendenza: (c,h,s) previsto (%ld,%ld,%ld) trovato (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "la partizione termina sul cilindro %ld, oltre la fine del disco\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Non si è trovata alcuna partizione\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Attenzione: la tabella delle partizioni sembra sia stata creata\n"
+" per C/H/S=*/%ld/%ld (al posto di %ld/%ld/%ld).\n"
+"In questo elenco verrĂ  assunta tale geometria.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "nessuna tabella delle partizioni presente.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "strano, sono definite solo %d partizioni.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"Attenzione: la partizione %s ha dimensione 0 ma non è contrassegnata come "
+"vuota\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Attenzione: la partizione %s ha dimensione 0 ed è avviabile\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Attenzione: la partizione %s ha dimensione 0 e inizio non nullo\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "non è contenuta nella partizione %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Attenzione: la partizione %d è vuota\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Attenzione: la partizione %s contiene parte della tabella delle partizioni\n"
+"(settore %lu), e la distruggerĂ  quando viene riempita.\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Attenzione: la partizione %s inizia al settore 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Attenzione: la partizione %s si estende dopo la fine del disco\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Tra le partizioni primarie, al massimo una può essere estesa\n"
+" (anche se questo non è un problema per Linux)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Attenzione: la partizione %s non inizia al limite di un cilindro\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Attenzione: la partizione %s non termina al limite di un cilindro\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Attenzione: più di una partizione primaria è contrassegnata come avviabile "
+"(attiva)\n"
+"Questo non ha importanza per LILO, ma MBR DOS non avvierĂ  questo disco.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Attenzione: di solito l'avvio è possibile solo da partizioni primarie\n"
+"LILO non prende in considerazione il flag \"bootable\" (avviabile).\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Attenzione: nessuna partizione primaria è contrassegnata come avviabile "
+"(attiva)\n"
+"Questo non ha importanza per LILO, ma MBR DOS non avvierĂ  questo disco.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "inizio"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partizione %s: inizio: (c,h,s) previsto (%ld,%ld,%ld) trovato (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "fine"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+" partizione %s: fine: (c,h,s) previsto (%ld,%ld,%ld) trovato (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "la partizione %s termina sul cilindro %ld, oltre la fine del disco\n"
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Attenzione: la partizione estesa non inizia al limite di un cilindro.\n"
+"DOS e Linux interpreteranno i contenuti in modo diverso.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERRORE: il settore %lu non ha una firma msdos\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "troppe partizioni - sto ignorando quei numeri passati (%d)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "struttura delle partizioni?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "rilevato l'amministratore del disco - impossibile da gestire\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "trovata firma DM6 - termina\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "strano..., una partizione estesa di dimensione 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "strano..., una partizione BSD di dimensione 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: tipo di tabella delle partizioni non riconosciuto\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "flag -n dato: nessuna modifica\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Salvataggio dei vecchi settori non riuscito - interruzione in corso\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "linea di input lunga o incompleta - uscita in corso\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "errore di input: \"=\" previsto dopo il campo %s\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "errore di input: carattere non previsto %c dopo il campo %s\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "input non riconosciuto: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "numero troppo grande\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "segni strani dopo il numero\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "non c'è spazio per il descrittore di partizione\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "impossibile costituire una partizione estesa adiacente\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "troppi campi di input\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Non c'è spazio per altri\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Tipo non valido\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Attenzione: la dimensione indicata (%lu) è superiore alla dimensione massima "
+"consentita (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Attenzione: partizione vuota\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Attenzione: inizio partizione non valido (%lu troppo anticipato)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "flag avviabile non riconosciuto - scegliere - o *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "Specificazione c,h,s parziale?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "partizione estesa in posizione non prevista\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "input non valido\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "troppe partizioni\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Input nel seguente formato; per i campi mancanti viene immesso un valore "
+"predefinito.\n"
+"<inizio> <dimensione> <tipo [E,S,L,X,esadecimale]> <avviabile [-,*]> "
+"<cilindro,testina,settore> <cilindro,testina,settore>\n"
+"Solitamente è necessario specificare solamente <inizio> e <dimensione> ( e "
+"forse <tipo>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Uso:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partizioni:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "opzioni pericolose:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -G [o --show-pt-geometry]: stampa la geometria stimata in base alla\n"
+" tabella delle partizioni"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [o --show-extended]: elenca anche le partizioni estese in output\n"
+" o prevede i rispettivi descrittori in input"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Uso:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s device\t\t elenca le partizioni attive sul dispositivo\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s device n1 n2 ... attiva le partizioni n1 ..., disattiva il resto\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An device\t attiva la partizione n, disattiva le altre\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Utilizzare il flag -force per oltrepassare tutti i controlli.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "nessun comando?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "Numero non valido: %s\n"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "totale: %llu blocchi\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "Uso: sfdisk --print-id numero partizione dispositivo\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "Uso: sfdisk --change-id numero partizione dispositivo Id\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "Uso: sfdisk --id numero partizione dispositivo [Id]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr ""
+"è possibile specificare solamente un dispositivo(eccetto con -l o -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "impossibile aprire %s in lettura e scrittura\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "impossibile aprire %s in lettura\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilindri, %ld testine, %ld settori/traccie\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "impossibile ottenere la dimensione di %s\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "byte attivo non valido: 0x%x al posto di 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Fine\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Ci sono %d partizioni primarie attive. Questo è irrelevante per LILO,\n"
+"ma MBR DOS avvierĂ  solamente un disco con 1 partizione attiva.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "la partizione %s ha id %x e non è nascosta\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "Id non valido %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Questo disco è attualmente in uso.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Errore irreversibile: impossibile trovare %s\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Attenzione: %s non è un dispositivo a blocchi\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+"Verifica in corso che in questo momento nessuno stia utilizzando questo "
+"disco...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Questo disco è attualmente in uso: ripartirlo è probabilmente una cattiva "
+"idea.\n"
+"Smontare tutti i file system e arrestare le partizioni swap su questo "
+"disco.\n"
+"Usare l'opzione --no-reread per eliminare questo controllo.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Utilizzare il flag -force per oltrepassare tutti i controlli.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Vecchia situazione:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "La partizione %d non esiste, non è possibile modificarla\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Nuova situazione:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Queste partizioni non mi piacciono - nessuna modifica\n"
+"(se questo è quanto si desidera, utilizzare l'opzione --force.)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Questo non mi piace - probabilmente si dovrebbe rispondere no\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Soddisfatti di questo? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Scrivere questo su disco? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Uscita in corso - nessuna modifica\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Scegliere un'opzione per la risposta tra y,n,q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"La nuova tabella delle partizioni è stata scritta con successo\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Se è stata creata o modificata una partizione DOS, /dev/foo7, per esempio, "
+"utilizzare dd(1)\n"
+" per azzerare i primi 512 byte: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(Consultare fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Mostra le informazioni sulla versione\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: errore in scrittura.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: Le opzioni --adjust e -noadjfile si escludono vicendevolmente. Sono "
+"state specificate entrambe.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() non riuscito"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "Uso: namei [-mx] nome percorso [nome percorso ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p tel. ufficio]\n"
+"\t[ -h tel. casa ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Mostra le informazioni sulla versione\n"
+
+# FIXME
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: non si esiste (come utente %d).\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: l'utente \"%s\" non esiste.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr ""
+"%s: è possibile modificare solo le voci locali; utilizzare invece yp%s.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s non è autorizzato a cambiare le informazioni finger di %s\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Contesto utente sconosciuto"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: impossibile impostare il contesto predefinito per /etc/passwd"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Modifica delle informazioni finger per %s in corso.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Le informazioni finger non sono state modificate.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"interrotto.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "il campo è troppo lungo.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "il campo è troppo lungo.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' non è consentito.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' non è consentito.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Non sono ammessi i caratteri di controllo.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Non sono ammessi i caratteri di controllo.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr ""
+"Le informazioni finger *NON* sono state modificate. Riprovare "
+"successivamente.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Le informazioni finger sono state modificate.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell=shell Imposta la shell \n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr ""
+"%s: è possibile modificare solo le voci locali; utilizzare invece yp%s.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s non è autorizzato a cambiare la shelldi %s\n"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "%s: la shell non è in /etc/shells, modifica della shell negata\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Modifica shell per %s in corso.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Nuova shell"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "Shell non modificata.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "Shell *NON* modificata. Riprovare successivamente.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell modificata.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: la shell deve essere un nome percorso completo.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" non esiste.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" non eseguibile.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Attenzione: \"%s\" non è elencato in /etc/shells.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" non è elencato in /etc/shells.\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Nessuna shell conosciuta.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "Uso: last [-#] [-f file] [-t tty] [-h hostname] [utente ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "%s non riuscito.\n"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " tuttora collegato"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp inizia %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interrotto %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "Login scaduto dopo %d secondi\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "FATALE: impossibile riaprire la tty: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s non è un dispositivo speciale a blocchi"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "mount non riuscito"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() non riuscito: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "FATALE: tty non valida"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Ultimo login: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "da %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "su %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "Apertura di %s non riuscita"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr " CONNESSIONE DI ACCESSO REMOTO A %s ATTRAVERSO %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "LOGIN DI ROOT A %s DA %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "LOGIN DI ROOT A %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN A %s ATTRAVERSO %s DA %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN A %s ATTRAVERSO %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "chsh: errore PAM, interruzione in corso: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Impossibile inizializzare PAM: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "FALLITO IL LOGIN %d DA %s PER %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login non corretto\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "TROPPI TENTATIVI DI LOGIN (%d) DA %s PER %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "FALLITA SESSIONE DI LOGIN DA %s PER %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login non corretto\n"
+
+# FIXME
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Problema nell'avviare la sessione, interrotto.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Nome utente NULL in %s:%d. Interrotto."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY non riuscito: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h solamente per super-user.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr "Uso: last [-#] [-f file] [-t tty] [-h hostname] [utente ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Nome utente \"%s\" non valido in %s:%d. Interrotto."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() non riuscito"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "C'è nuova posta.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "C'è posta.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() non riuscito"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "ricerca non riuscita"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Connessione con home = \"/\".\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: exec dello script shell impossibile: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Nessuna shell"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Valore intervallo non valido: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Password: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: nessun gruppo di questo genere."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: chi sei?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() non riuscito"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: nessun gruppo di questo genere."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: autorizzazione negata"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() non riuscito"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "exec fallita\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "impossibile aprire %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "impossibile rimuovere l'id %s %s\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: impossibile ottenere la directory corrente - %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "Impossibile aprire il file '%s'"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "Impossibile impostare un gestore del segnale"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s non riuscito.\n"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Password non corretta."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "impossibile fare stat di %s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount: impossibile impostare l'id di gruppo: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount: impossibile impostare l'id di gruppo: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: impossibile impostare l'id utente: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Provare \"%s --help\" per ulteriori informazioni.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "Uso: %s programma [arg ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: l'utente \"%s\" non esiste.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: impossibile ottenere la directory corrente - %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: non è aperto per lettura/scrittura"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: non è aperto per lettura/scrittura"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: il file delle password è occupato.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Continuare?"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "ricerca non riuscita"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "exec fallita\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "ricerca non riuscita"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "%s non riuscito.\n"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "%s non riuscito.\n"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "id non valido"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: è possibile solo per root"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "l'inode radice non è una directory"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY non riuscito: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: impossibile impostare l'id utente: %s"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s non riuscito.\n"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: impossibile aprire %s\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: impossibile aprire il file temporaneo.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: impossibile rinominare %s in %s: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: impossibile ottenere il contesto per %s"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: impossibile impostare il contesto per %s"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s immutato\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "impossibile effettuare il fork"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: nessuna modifica effettuata\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Impossibile aprire il file '%s'"
+
+# FIXME: shadow: invariato? ombra?
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Gruppi shadow sono usati su questo sistema.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Password shadow sono usate su questo sistema.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Volete modificare %s adesso [y/n]?"
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Valore testine non valido"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "valore dell'anno non valido: usare 1-9999"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "valore del mese non valido: usare 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "valore dell'anno non valido: usare 1-9999"
+
+# FIXME
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "Uso: cal [-13smjyV] [[mese] anno]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Uso: %s [+formato] [giorno mese anno]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Giorno di S.Tiberio"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "impossibile aprire %s"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "dispositivo a blocchi"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Immettere il tipo di filesystem: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "opzioni utili:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Immettere il tipo di filesystem: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Numero della partizione"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Immettere il tipo di filesystem: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Immettere il tipo di filesystem: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Immettere il tipo di filesystem: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Immettere il tipo di filesystem: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Immettere il tipo di filesystem: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Comando sconosciuto: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "lettura di %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Rimuovere"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "sconosciuto"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "errore di posizionamento"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: impossibile leggere %s.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc() non riuscita"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Comandi disponibili:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "Nessuna directory %s!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "id non valido: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "opzione lunga vuota dopo parametro -l o --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "shell sconosciuta dopo parametro -s o --shell"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [opzioni] -o|--options optstring [opzioni] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Consente le opzioni lunghe che iniziano con "
+"un singolo -\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Questa piccola guida all'utilizzo\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=longopts Opzioni lunghe da riconoscere\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name=progname Il nome con il quale vengono riportati gli "
+"errori\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=optstring Opzioni brevi da riconoscere\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet Disattiva errore riportato da getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Nessun output normale\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell=shell Imposta la shell \n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Prova della versione getopt(1)\n"
+
+# FIXME UPSTREAM: unqote
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote Non cita l'output\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Mostra le informazioni sulla versione\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "argomento optstring mancante"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "errore interno, contattare l'autore."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: segnale sconosciuto %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "id non valido"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: impossibile trovare il processo \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: segnale sconosciuto %s; segnali validi:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Uso: %s [ -s segnale | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ segnale ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: nome funzionalitĂ  sconosciuto: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: nome prioritĂ  sconosciuto: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "il nome di login è troppo lungo.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "Dimensioni blocco: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "nfs connect"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "nfs socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "nfs connect"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(File successivo: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "id non valido"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Numero della partizione"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "stat del percorso non riuscito\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "imposta sola lettura"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " rimovibile"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "stat del percorso non riuscito\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Nome utente non valido"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "dimensione inode non corretta"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "visualizza la dimensione del settore"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "visualizza la dimensione del settore"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "dimensione inode non corretta"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " i cambia l'identificativo del disco"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "umount: %s: dispositivo sconosciuto"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: impossibile aprire: %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Comandi disponibili:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "stat del percorso non riuscito\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "impossibile aprire %s"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "Impossibile aprire il file '%s'"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "sconosciuto"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "id non valido: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Ottenuti %d byte da %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "exec fallita\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "l'inode radice non è una directory"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "Uso: namei [-mx] nome percorso [nome percorso ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+#, fuzzy
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "--date argomento troppo lungo\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: impossibile rinominare %s in %s: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: argomento -l non valido per %s.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "Scrivi"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "lettura di %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "impossibile fare stat di %s"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Impossibile aprire %s: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Impossibile aprire %s: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Impossibile aprire %s: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Errore durante la lettura di %s\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "id non valido"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "id non valido"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: valore non valido\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "errore durante il cambiamento della modalitĂ  di %s: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Impossibile aprire %s: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: non trovato"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "id non valido"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "attenzione: errore durante la lettura di %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "attenzione: impossibile aprire %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: impossibile aprire %s - si sta utilizzando al suo posto %s\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"impossibile creare un file di lock %s: %s (usare il flag -n per cambiare)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"impossibile collegare il file di lock %s: %s (usare il flag -n per cambiare)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "impossibile aprire il file di lock %s: %s (usare flag -n per cambiare)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Impossibile fare il lock del file di lock %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "impossibile fare il lock del file di lock %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "scaduto"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Impossibile creare il collegamento %s\n"
+"Forse c'è un vecchio file di lock?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "impossibile aprire %s (%s) - mtab non aggiornato"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "errore durante la scrittura di %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: impossibile effettuare stat di %s: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "errore durante il cambiamento della modalitĂ  di %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "errore durante il cambiamento della modalitĂ  di %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "impossibile rinominare %s in %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: impossibile trovare %s in %s o %s"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: secondo mtab, %s è già montato su %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: secondo mtab, %s è montato su %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: impossibile aprire %s in scrittura: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: errore durante la scrittura di %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: errore durante il cambio di modalitĂ  di %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: impossibile impostare l'id di gruppo: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: impossibile impostare l'id utente: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: impossibile effettuare il fork: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Prova di %s in corso\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: non si è specificato un tipo di filesystem per %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Proverò tutti i tipi citati in %s o %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " e sembra che questo sia swapspace\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Proverò il tipo %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s assomigla a swapspace - non montato"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "mount non riuscito"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: solamente root può montare %s su %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: loop device specificato due volte"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: tipo specificato due volte"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: si ignora l'impostazione di un loop device\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: si intende utilizzare il loop device %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "Valore impostato non valido: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "Valore impostato non valido: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: secondo mtab, %s è già montato su %s"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "memoria esaurita"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: mancata impostazione del loop device\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: si intende utilizzare il loop device %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: mancata impostazione del loop device\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: mancata impostazione del loop device\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: impostazione del loop device riuscita\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: nessun %s trovato - creazione in corso...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: l'argomento di -p o --pass-fd deve essere un numero"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: impossibile aprire %s per impostare la velocitĂ "
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: impossibile impostare la velocitĂ : %s"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: secondo mtab, %s è già montato su %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: %s occupato - rimontato sola lettura\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: %s occupato - rimontato sola lettura\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: impossibile determinare il tipo di filesystem, e non è stato "
+"specificato nessuno"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: si deve specificare il tipo di filesystem"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: mount non riuscito"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: il mount point di %s non è una directory"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: autorizzazione negata"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: bisogna essere superuser per utilizzare mount"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s è occupato"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc giĂ  montato"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s giĂ  montato o %s occupato"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: il mount point %s non esiste"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: il mount point %s è un collegamento simbolico a nulla"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: il device speciale %s non esiste"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: il device speciale %s non esiste\n"
+" (un prefisso di percorso non è una directory)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s non ancora montato, oppure l'opzione non è valida"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: tipo fs errato, opzione non valida, superblocco su %s danneggiato,\n"
+" codepage o programma ausiliario mancante, o altro errore"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" In alcuni casi si possono trovare informazioni utili in syslog. "
+"Provare\n"
+" ad esempio 'dmesg | tail'\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "mount table piena"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: impossibile leggere il superblocco"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: %s: dispositivo sconosciuto"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: tipo di filesystem '%s' sconosciuto"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: probabilmente si intende %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: forse si intendeva 'iso9660'?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: forse si intendeva 'vfat'?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s ha un numero device errato o il tipo di fs %s non è supportato"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s non è un dispositivo a blocchi e stat non è riuscito?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: il kernel non riconosce %s come un dispositivo a blocchi\n"
+" (forse \"insmod driver\"?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s non è un dispositivo a blocchi (forse provare \"-o loop\"?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s non è un dispositivo a blocchi"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s non è un dispositivo a blocchi valido"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "dispositivo a blocchi"
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: impossibile montare %s%s in sola lettura"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s è protetto da scrittura, ma l'opzione '-w' è stata indicata"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: impossibile montare %s%s in sola lettura"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s è protetto da scrittura, viene montato in sola lettura"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s giĂ  montato su %s\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: non è stato dato il tipo - Si presume nfs perché ci sono i due punti\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount: non è stato dato il tipo - Si assume cifs per il prefisso //\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s giĂ  montato su %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: è possibile solo per root"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: è possibile solo per root"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "non è stato montato niente"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: non si è trovata tale partizione"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: impossibile trovare %s in %s o %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: attenzione: non c'è un'andata a capo alla fine di %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: riga %d in %s non valida%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; ignorato resto del file"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "bug in chiamata xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "memoria insufficiente"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: compilato senza supporto per -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: impossibile impostare l'id di gruppo: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: impossibile impostare l'id utente: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount: impossibile fare il fork: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: dispositivo di blocchi non valido"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: non montato"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: impossibile scrivere superblock"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: non trovato"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: bisogna essere superuser per eseguire umount"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: i dispositivi di blocchi non sono permessi su fs"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: impossibile eseguire chdir su %s - %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: impossibile ottenere la directory corrente - %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: il mount point %s non esiste"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "nessun umount2, tentativo di umount in corso...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s occupato - rimontato sola lettura\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: impossibile rimontare %s di sola lettura\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "eseguito umount di %s\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: impossibile trovare l'elenco dei filesystem da smontare"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Uso: umount [-hV]\n"
+" umount -a [-f] [-r] [-n] [-v] [-t tipofs] [-O opzioni]\n"
+" umount [-f] [-r] [-n] [-v] speciale | nodo...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "Impossibile smontare \"\"\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Tentativo di eseguire umount di %s in corso\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Impossibile trovare %s in mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s non è montato (secondo mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: sembra che %s sia stato montato diverse volte"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s non si trova in fstab (e non si è root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s mount non coerente con fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: solo %s può smontare %s da %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr " umount: solo root può farlo"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS attraverso TCP non supportato.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: impossibile trovare il dispositivo per %s\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "id non valido"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty non riuscita\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty non riuscita\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "id non valido"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "id non valido: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Comando sconosciuto: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "errore sconosciuti in id"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "exec fallita\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "Uso: %s programma [arg ...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "impossibile ottenere la dimensione di %s"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "malloc non riuscita"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "ricerca non riuscita"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" non esiste.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" non eseguibile.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Autoconfigurazione non riuscita.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Autoconfigurazione non riuscita.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "Numero non valido: %s\n"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: argomento sconosciuto: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Uso: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Bisogna essere root per impostare modalitĂ  Ctrl-Alt-Del.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld soglia predefinita e %ld timeout predefinito\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Questa piccola guida all'utilizzo\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Il file %s, per il valore limite %lu, il numero massimo di caratteri in fifo "
+"era %d,\n"
+"e la velocitĂ  massima di trasferimento di caratteri/secondo era di %f\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Il file %s, per il valore limite %lu e il valore di timeout %lu, il numero "
+"massimo di caratteri in fifo era %d,\n"
+"e la velocitĂ  massima di trasferimento di caratteri/secondo era di %f\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday non riuscito"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "Impossibile eseguire CYGETMON su %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Impossibile ottenere il limite per %s: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Impossibile ottenere il timeout per %s: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f int/sec; %f rec, %f send (car/sec)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f int/sec; %f rec (car/sec)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Valore intervallo non valido: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Valore intervallo non valido: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Valore impostato non valido: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Valore impostato non valido: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Valore predefinito non valido: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Valore predefinito non valido: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Ora impostata non valida: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Ora impostata non valida: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Ora predefinita non valida: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Ora predefinita non valida: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Impossibile impostare %s alla soglia %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "Impossibile impostare %s al limite ora %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld soglia corrente e %ld timeout corrente\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld soglia predefinita e %ld timeout predefinito\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Questa partizione è utilizzabile"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "errore durante la chiusura di %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Attenzione: la partizione %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "messaggi"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Immettere il tipo di filesystem: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "impossibile aprire %s"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "impossibile aprire %s"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Comando sconosciuto: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "Nessuna directory %s!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync non riuscito "
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "impossibile aprire %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "(File successivo: %s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "id non valido"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "gettimeofday non riuscito"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "nessun comando?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fsync non riuscito "
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "id non valido: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "id non valido: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "impossibile fare stat di %s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "%s non è un dispositivo a blocchi o un file\n"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "mount non riuscito"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: impossibile impostare l'id utente: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "impossibile aprire %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: il mount point %s non esiste"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: impossibile rinominare %s in %s: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s: non trovato"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " rimovibile"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Utilizzo del valore predefinito %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: impossibile aprire il device %s: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s: non trovato"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: non si tratta di un dispositivo a blocchi\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: impossibile aprire il device %s: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "umount: %s: device occupato"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s riuscito.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "exec fallita\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "apertura della directory non riuscita\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Argomenti insufficienti"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "Valore impostato non valido: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "Valore impostato non valido: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "Opzione --date non specificata.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "openpty non riuscita\n"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: impossibile impostare l'id utente: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "Impossibile aprire il file '%s'"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "id non valido"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s richiede un argomento\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "l'inode radice non è una directory"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() non riuscito"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "Opzione --date non specificata.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "Opzione --date non specificata.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "l'inode radice non è una directory"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "openpty non riuscita\n"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "openpty non riuscita\n"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "Opzione --date non specificata.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "l'inode radice non è una directory"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "openpty non riuscita\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "impossibile aprire %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Si presuppone che il clock hardware sia mantenuto nell'orario %s.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "locale"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: attenzione: terza linea non riconosciuta nel file adjtime\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Ultima regolazione della deriva effettuata %ld secondi dopo il 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Ultima calibrazione effettuata %ld secondi dopo il 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Il clock hardware è sull'orario %s\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Attesa del segnale dal clock...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...ricevuto segnale dal clock\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr " Valori non validi nel clock hardware: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Orario clock hardware : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld secondi dal 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Orario letto dal clock hardware: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Impostazione del clock hardware a %.2d:%.2d:%.2d = %ld secondi dal 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Clock non cambiato - solamente verificato.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Il tempo trascorso dall'orario di riferimento e' stato di %.6f secondi.\n"
+"Accumulare ulteriore ritardo per raggiungere il secondo pieno successivo.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"I registri del clock hardware contengono valori che non sono validi (per es. "
+"50esimo giorno del mese) oppure oltre l'intervallo che è possibile gestire "
+"(per es. anno 2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f secondi\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "Opzione --date non specificata.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "--date argomento troppo lungo\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Il valore dell'opzione --date non è una data valida.\n"
+"In particolare, contiene virgolette.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Esecuzione comando date: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Impossibile eseguire il programma 'date' nella shell /bin/sh. popen() fallito"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "risposta dal comando date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"Il comando date emesso da %s riporta risultati imprevisti.\n"
+"Il comando era:\n"
+" %s\n"
+"La risposta è stata:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"Il comando date emesso da %s riporta qualcosa d'altro rispetto ad un numero "
+"intero laddove era previsto il valore dell'orario convertito.\n"
+"Il comando era:\n"
+" %s\n"
+"La risposta è stata:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "la stringa della data %s equivale a %ld secondi dal 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Il clock hardware non contiene un orario valido, perciò non è possibile "
+"impostare l'ora del sistema a partire da esso.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr " Chiamata settimeofday in corso:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+"Il clock di sistema non viene impostato perché sta funzionando in modalità "
+"test.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Bisogna essere superuser per impostare il clock del sistema\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr " settimeofday() non riuscito"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Non viene effettuata la regolazione del fattore di deriva poiché in "
+"precedenza il clock hardwareconteneva elementi insoliti.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Non viene effettuata la regolazione del fattore di deriva poiché è trascorso "
+"meno di un giornodall'ultima calibrazione.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Il clock ha accumulato una deriva di %.1f secondi negli ultimi %d secondi "
+"nonostante il fattore di deriva fosse di %f secondi/giorno.\n"
+"Regolazione del fattore di deriva a %f secondi/giorno\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Il tempo trascorso dall'ultima regolazione è di %d secondi\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Ă necessario inserire %d secondi e riportare l'ora indietro di %.6f secondi\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Il file adjtime non viene aggiornato a causa della modalitĂ  test.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Si sarebbe scritto quanto segue in %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Parametri di regolazione della deriva non aggiornati.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"Il clock hardware non contiene un'ora valida, perciò non è possibile "
+"regolarlo.\n"
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"La regolazione necessaria equivale a meno di un secondo, perciò il clock non "
+"viene impostato.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Utilizzo di %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Impossibile trovare un'interfaccia clock utilizzabile.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Impossibile impostare il clock di sistema.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Il kernel mantiene un valore epoch per il clock hardware solo su di una "
+"macchinaAlpha.\n"
+"Questa copia di hwclock è stata realizzata per una macchina diversa da "
+"Alpha\n"
+"(e quindi, presumibilmente, non può essere eseguita su un Alpha in questo "
+"momento). Nessuna azione intrapresa.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Impossibile ottenere il valore epoch dal kernel.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Il kernel pressuppone un valore epoch di %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Per impostare il valore epoch si deve utilizzare l'opzione 'epoch' per "
+"indicare su quale valore impostarlo.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+"Non viene impostato il valore epoch a %d - si tratta solamente di una "
+"verifica.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Impossibile impostare il valore epoch nel kernel.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d partizioni:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" indicano al hwclock il tipo di alpha utilizzato (consultare "
+"hwclock(8))\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "Impossibile impostare il clock di sistema.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "id non valido"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr ""
+"%s non considera argomenti che non siano opzioni. Ă stato fornito %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "%s: Con --noadjfile, occorre specificare o --utc o --localtime\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr ""
+"Impossibile utilizzare l'ora impostata. Impossibile impostare il clock.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr ""
+"Spiacente, solamente il superutente può modificare il clock hardware.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr ""
+"Spiacente, solamente il superutente può modificare il clock di sistema.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Solamente il supeutente può modificare l'epoca del clock hardware nel "
+"kernel.\n"
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Usare l'opzione --debug per vedere i dettagli della ricerca di un metodo di "
+"accesso.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "avviato da MILO\n"
+
+# NdT: credo che Ruffian sia un tipo di scheda o cpu per alpha
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Orologio BCD Ruffian\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "porta clock regolata su 0x%x\n"
+
+# NdT: TOY = Time Of Year
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: %s atomico non è riuscito per 1000 iterazioni!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr ""
+"Non sono riuscito ad ottenere l'autorizzazione perché non ho provato.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"%s non riesce a ottenere l'accesso alla porta I/O: chiamata iopl(3)non "
+"riuscita.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Probabilmente sono necessari privilegi di root.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Attesa in loop per il cambio ora da KDGHWCLK\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Lettura dell'orario con KDGHWCLK ioctl non riuscita"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "Lettura dell'orario con KDGHWCLK ioctl non riuscita nel loop"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Tempo d'attesa per il cambio ora esaurito.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDGHWCLK non riuscito"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Impossibile aprire /dev/tty1 o /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr " KDGHWCLK ioctl non riuscito"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "Lettura dell'orario attraverso ioctl() su %s non riuscita.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Attesa in loop per il cambio ora da %s\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s non ha funzioni di interrupt. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() su %s per l'attesa del segnale dal clock fallita"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() su %s per l'attesa del segnale dal clock fallita"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "select() su %s per l'attesa del segnale dal clock scaduta\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+"Non riuscita la disattivazione degli interrupt d'aggiornamento attraverso "
+"ioctl() su %s"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() su %s per attivare gli interrupt di aggiornamento non riuscita "
+"inaspettatamente"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl() su %s per impostare l'ora non riuscita.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) ha funzionato.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Per modificare il valore epoch nel kernel, si deve accedere al driver di "
+"periferica 'rtc' di Linux attraverso il file speciale della periferica %s. "
+"Questo file non esiste su questo sistema.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) su %s non riuscita"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "lettura di epoch %ld da %s con RTC_EPOCH_READ ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Il valore epoch non può essere inferiore a 1900. Si è richiesto %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "impostazione epoch su %ld con RTC_EPOCH_SET ioctl su %s in corso.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+"Il driver di periferica per il kernel per %s non ha RTC_EPOCH_SET ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "Non riuscito ioctl(RTC_EPOCH_SET) su %s"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output Nessun output normale\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Segmento memoria condivisa shmid=%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Coda di messaggi msqid=%d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "semafori allocati = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"matrice semafori semid=%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Mostra le informazioni sulla versione\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Segmento memoria condivisa shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"Coda di messaggi msqid=%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"matrice semafori semid=%d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "autorizzazione negata per la chiave"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "autorizzazione negata per id"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "chiave non valida"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "id non valido"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "chiave giĂą rimossa"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "id giĂ  rimosso"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "ricerca non riuscita"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() non riuscito"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "id non valido: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Argomenti insufficienti"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "risorsa eliminata\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: chiave illegale (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "il kernel non è configurato per la condivisione della memoria\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "kernel non configurato per i semafori\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "kernel non configurato per le code di messaggi\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: argomento sconosciuto: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : dettagli sulla risorsa identificata da id\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "opzioni pericolose:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "il kernel non è configurato per la condivisione della memoria\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Limiti della memoria condivisa --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "dimensione max seg (kbyte) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "valore massimo totale di memoria condivisa (kbyte) = %lu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "dimensione min seg (byte) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ stato della memoria condivisa --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Segmento Mem. Condiv. Creatori/Propr.--------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Mem. Condiv. Conn./Sconn./Cambio Volte --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "proprietario"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "connesso"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "disconnesso"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "cambiato"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ Mem. Condiv. Creatore/Last-op--------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Segm. Memoria Condivisa --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "chiave"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "byte"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "stato"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Non impostato"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "bloccato"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "kernel non configurato per i semafori\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Limiti di semaforo --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "numero max di matrici = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "numero max di semafori per matrice = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "numero max di semafori su tutto il sistema = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "numero max opz. per chiamata semop = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valore max del semaforo = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Stato del semaforo --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "matrici utilizzate = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semafori allocati = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Matrice di Semaf. Creatori/Propr. --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Mem. Condivisa Operazione/Modif. Volte --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "last-op"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "ultima-modifica"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Matrici semafori --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "kernel non configurato per le code di messaggi\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Messaggi: limiti --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "numero max di code su tutto il sistema = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "dimensione max del messaggio (byte) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "dimensione massima predefinita della coda (byte) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Messaggi: stato --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "code allocate = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "intestazioni utilizzate = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "spazio utilizzato = %d byte\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ Code messaggi: Creatori/Proprietari --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Code messaggi Inv./Ric./Modif. Volte--------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "invio"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "ricez."
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "modifica"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Code Messaggi PID --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Code messaggi --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "byte utilizzati"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "messaggi"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync non riuscito "
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Segmento memoria condivisa shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "byte=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync non riuscito "
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Coda di messaggi msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbyte=%ld\tqbyte=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "ricerca non riuscita"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"matrice semafori semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "modalitĂ =%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "valore"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "id non valido: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "id non valido"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "id non valido"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "id non valido: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s non è un dispositivo speciale a blocchi"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "impossibile ottenere la dimensione di %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Ricerca sull'unitĂ  disco impossibile"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "impossibile aprire %s"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", offset %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr "Dimensione massima=%ld\n"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", cifratura %s (tipo %d)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s non riuscito.\n"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s non riuscito.\n"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: loop device specificato due volte"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "Opzione --date non specificata.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "memoria esaurita"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: impossibile trovare il dispositivo per %s\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "rileggi la tabella delle partizioni"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: mount non riuscito"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "Nessuno"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "visualizza la dimensione del settore"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "visualizza la dimensione del settore"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "nfs socket"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Vecchia situazione:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: è possibile solo per root"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: è possibile solo per root"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: solamente root può montare %s su %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: è possibile solo per root"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s da %s%s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "errore di posizionamento"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "impossibile fare stat di %s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s giĂ  montato su %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: solamente root può montare %s su %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s giĂ  montato su %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: impossibile trovare %s in %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: impossibile trovare %s in %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: impossibile trovare %s in %s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: impossibile determinare il tipo di filesystem, e non è stato "
+"specificato nessuno"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: si deve specificare il tipo di filesystem"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: impossibile collegare %s: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: mount non riuscito"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "mount non riuscito"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: mount non riuscito"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: il mount point di %s non è una directory"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: bisogna essere superuser per utilizzare mount"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s è occupato"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s giĂ  montato o %s occupato"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s giĂ  montato su %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: il mount point %s non esiste"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: il mount point %s è un collegamento simbolico a nulla"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: il device speciale %s non esiste"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "mount non riuscito"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: il device speciale %s non esiste\n"
+" (un prefisso di percorso non è una directory)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s non ancora montato, oppure l'opzione non è valida"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s non ancora montato, oppure l'opzione non è valida"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: tipo fs errato, opzione non valida, superblocco su %s danneggiato,\n"
+" codepage o programma ausiliario mancante, o altro errore"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" In alcuni casi si possono trovare informazioni utili in syslog. "
+"Provare\n"
+" ad esempio 'dmesg | tail'\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: impossibile leggere il superblocco"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: tipo di filesystem '%s' sconosciuto"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s non è un dispositivo a blocchi e stat non è riuscito?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: il kernel non riconosce %s come un dispositivo a blocchi\n"
+" (forse \"insmod driver\"?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s non è un dispositivo a blocchi (forse provare \"-o loop\"?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: non si tratta di un dispositivo a blocchi\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s non è un dispositivo a blocchi valido"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: impossibile montare %s%s in sola lettura"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s è protetto da scrittura, ma l'opzione '-w' è stata indicata"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: impossibile montare %s%s in sola lettura"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s è protetto da scrittura, viene montato in sola lettura"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s giĂ  montato su %s\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: impossibile rinominare %s in %s: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: mount non riuscito"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "l'inode radice non è una directory"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s è montato.\t"
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Impossibile aprire il file '%s'"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "blocchi %ld\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS secondario"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "dimensione inode non corretta"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "messaggi"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Nome utente non valido"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "dispositivo a blocchi"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "UnitĂ "
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d partizioni:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "opzioni pericolose:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: Le opzioni --adjust e -noadjfile si escludono vicendevolmente. Sono "
+"state specificate entrambe.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+# FIXME UPSTREAM: unqote
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unqote Non cita l'output\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Mostra le informazioni sulla versione\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Questa piccola guida all'utilizzo\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test Prova della versione getopt(1)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "errore durante la scrittura di %s: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): linea mappa errata\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: impossibile trovare \"_stext\" in %s\n"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr ""
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "totale"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s da %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Comando sconosciuto: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "valore di timeout non valido: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "utente"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: vecchia prioritĂ  %d, nuova prioritĂ  %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "gettimeofday non riuscito"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "semafori allocati = %d\n"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "ricerca non riuscita"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "semafori allocati = %d\n"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "gettimeofday non riuscito"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: tipo di tabella delle partizioni non riconosciuto\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "id non valido"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "id non valido"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Utilizzo di %s.\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Utilizzo di %s.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s no è un lp device.\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "Messaggio da %s@%s su %s a %s ..."
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "Messaggio da %s@%s su %s a %s ..."
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "(File successivo: %s)"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "Uso: %s programma [arg ...]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Provare \"%s --help\" per ulteriori informazioni.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Provare \"%s --help\" per ulteriori informazioni.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: architettura non riconosciuta"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Argomenti insufficienti"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "Uso: %s programma [arg ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() non riuscito"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "exec fallita\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s su %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "Non superutente.\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s non riuscito.\n"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d cancellazione di una partizione"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "stat del percorso non riuscito\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "stat del percorso non riuscito\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Segno in uso"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "exec fallita\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "ricerca non riuscita"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Apertura di %s non riuscita"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Nome"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: attenzione: %s ha permessi %04o non sicuri, si suggerisce %04o\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: attenzione: %s ha permessi %04o non sicuri, si suggerisce %04o\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: file %s ignorato - sembra avere dei buchi.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "ricerca non riuscita"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s su %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s non riuscito.\n"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Comandi disponibili:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: impossibile trovare il dispositivo per %s\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "%s non riuscito.\n"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "l'inode radice non è una directory"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "Tentativo di eseguire umount di %s in corso\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: impossibile ottenere la directory corrente - %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "%s non riuscito.\n"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Impossibile aprire il file '%s'"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+# FIXME UPSTREAM: unqote
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unqote Non cita l'output\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+# FIXME UPSTREAM: unqote
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unqote Non cita l'output\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "valore di timeout non valido: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s no è un lp device.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "errore LPGETIRQ"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "lo stato di %s è %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", occupato"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", pronto"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", carta esaurita"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", errore"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fsync non riuscito "
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "errore LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s utilizzo di IRQ %d in corso\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s utilizzo del polling in corso\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "mount non riuscito"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: mount non riuscito"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: dispositivo di blocchi non valido"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: impossibile leggere il superblocco"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: bisogna essere superuser per eseguire umount"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: i dispositivi di blocchi non sono permessi su fs"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "Uso: %s programma [arg ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "ricerca non riuscita"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "%s non riuscito.\n"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Login scaduto dopo %d secondi\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Login scaduto dopo %d secondi\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "dispositivo a blocchi"
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "stato"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "impossibile fare stat di %s"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "umount: %s: dispositivo sconosciuto"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: argomento sconosciuto: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: impossibile aprire il device %s: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Comandi disponibili:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: segnale sconosciuto %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Impossibile ottenere il timeout per %s: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "ricerca in write_tables non riuscita"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f secondi\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "scaduto"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Dispositivo"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s: versione %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: exec di %s impossibile: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "errore durante il cambiamento della modalitĂ  di %s: %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: impossibile trovare il processo \"%s\"\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: exec di %s impossibile: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "valore di timeout non valido: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "velocitĂ  non valida: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "troppe velocitĂ  alternative"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: impossibile aprire come input standard: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: non è un dispositivo di caratteri"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: non è aperto per lettura/scrittura"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problema dup: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tipo: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: lettura: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: sovraccarico input"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "utente"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "utenti"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "ricerca non riuscita"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "è s\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "è n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "semafori allocati = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "id non valido: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Attenzione: \"%s\" è un collegamento.\n"
+"Usare \"%s [opzioni] %s\" se si vuole veramente usarlo.\n"
+"Script non avviato.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script iniziato, il file è %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Script iniziato su %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: impossibile trovare il dispositivo per %s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script effettuato su %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script effettuato, il file è %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty non riuscita\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "Esauriti tutti i pty disponibili\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Apertura di %s non riuscita"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: EOF non previsto nel file %s\n"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: argomento errato, uso\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "impossibile effettuare il fork"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "impossibile effettuare il fork"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "impossibile aprire %s\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr " impossibile (dis)impostare la modalitĂ  risparmio energetico\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "impossibile aprire il dispositivo %s per scrivere\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "errore klogctl : %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Errore in scrittura screendump\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Impossibile aprire %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM non è definito.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: segnale sconosciuto %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "troppi iov (modificare il codice in wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "argomento linea eccessivamente lungo"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "impossibile effettuare il fork"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "valore di timeout non valido: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: impossibile impostare l'id utente: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Impossibile ottenere la dimensione del disco"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Messaggio broadcast da %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: non verrĂ  letto %s - usare stdin.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "(File successivo: %s)"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "Uso: namei [-mx] nome percorso [nome percorso ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: impossibile trovare il nome di tty\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: l'autorizzazione per la scrittura è disattivata.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s non è collegato a %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s ha i messaggi disattivati su %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s non è collegato\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s ha i messaggi disattivati\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s è collegato più di una volta; scrittura su %s in corso\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Linea di input troppo lunga.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Messaggio da %s@%s (come %s) su %s a %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Messaggio da %s@%s su %s a %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "malloc non riuscita"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: errore in scrittura.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: argomento -l non valido per %s.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: attenzione: impossibile eseguire il backup di %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "dopo la prima linea"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- linea giĂ  svuotata"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: argomento -l non valido per %s.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: argomento -l non valido per %s.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "id non valido"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: opzione sconosciuta \"-%c\"\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: non è un file di testo ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Usare q o Q per uscire]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Ancora--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(File successivo: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Premere spazio per continuare, 'q' per uscire.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...indietro %d pagine"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...indietro 1 pagina"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...sto saltando una riga"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...sto saltando %d righe"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Indietro***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Errore nell'espressione regolare"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Premere 'h' per visualizzare le istruzioni.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" riga %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Non un file] riga %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Overflow\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...ignora\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Pattern non trovato\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Pattern non trovato"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "exec fallita\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "impossibile effettuare fork\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...ignorato"
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Andato al file "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Tornato al file "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Riga troppo lunga"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Nessun comando precedente da sostituire"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "linea troppo lunga"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: conteggio byte con i caratteri di conversione multipla.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: conteggio byte errato per il carattere di conversione %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr ""
+"hexdump: %%s richiede un conteggio di precisione o un conteggio dei byte.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: formato non valido {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: carattere di conversione non valido %%%s.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p Stampa della tabella delle partizioni su schermo o su file"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : non scrive realmente sul disco"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Mostra le informazioni sulla versione\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Mostra le informazioni sulla versione\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: l'opzione richiede un argomento -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: opzione illecita -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Nessun file successivo"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Nessun file precedente"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Errore di lettura dal file %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: EOF non previsto nel file %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Errore sconosciuto nel file %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Impossibile creare il file temporaneo\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr ""
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Nessuna stringa di ricerca ricordata"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "impossibile aprire %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "salvato"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() non riuscito, riprovare piĂą tardi\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(File successivo: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "Opzione --date non specificata.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "problemi leggendo terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Sequenza di escape sconosciuta in input: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Linea di input troppo lunga.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "openpty non riuscita\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "Impossibile aprire il file '%s'"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Impossibile aprire %s\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "openpty non riuscita\n"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "impossibile aprire '%s'"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Impossibile aprire il file '%s'"
+
+#~ msgid "unable to open %s"
+#~ msgstr "impossibile aprire %s"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: impossibile aprire %s\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "impossibile aprire %s in lettura"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "Impossibile aprire il file '%s'"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Impossibile aprire %s\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s non riuscito.\n"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Impossibile aprire /dev/port: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "open() di %s fallita"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Apertura di %s non riuscita"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Impossibile aprire %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "Impossibile allocare il buffer.\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "impossibile fare stat di %s"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "impossibile fare stat di %s"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "impossibile fare stat di %s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "(File successivo: %s)"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "Impossibile aprire il file '%s'"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "Impossibile aprire il file '%s'"
+
+#~ msgid "Cannot open "
+#~ msgstr "Impossibile aprire "
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "Impossibile aprire \"%s\" in lettura\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "Uso: %s [-hv] [-x dir] file\n"
+#~ " -h mostra questo aiuto\n"
+#~ " -x dir estrai nella directory dir\n"
+#~ " -v sii piĂą prolisso\n"
+#~ " file file da verificare\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Uso: %s [-larvsmf] /dev/nome\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "%s: errore: Non si cercherĂ  di creare uno swapdevice su '%s'\n"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Impossibile scrivere la tabella delle partizioni.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "La partizione %i non inizia al limite del cilindro:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "dovrebbe essere (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "dovrebbe essere (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Il disco %s non contiene una tabella delle partizioni valida\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Impossibile aprire %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Questo kernel trova la dimensione del settore in maniera indipendente - - "
+#~ "opzione b ignorata\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "memoria insufficiente?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: fine prematura dell'input\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: impossibile aprire %s: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Sono state specificate multiple funzioni.\n"
+#~ "Ă possibile eseguire una sola funzione per volta.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: Le opzioni --utc e -localtime si escludono vicendevolmente. Sono "
+#~ "state specificate entrambe.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Le opzioni --adjust e -noadjfile si escludono vicendevolmente. Sono "
+#~ "state specificate entrambe.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Le opzioni --adjust e -noadjfile si escludono vicendevolmente. Sono "
+#~ "state specificate entrambe.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount: impossibile impostare l'id di gruppo: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: il file %s è occupato (%s presente)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "Valore fuori intervallo.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Valore impostato non valido: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "impossibile fare stat di %s"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "id non valido: %s\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Valore impostato non valido: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Valore impostato non valido: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: mancata impostazione del loop device\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "impossibile aprire %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: EOF non previsto nel file %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "--date argomento troppo lungo\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "semafori allocati = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: valore lunghezza non valido.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: valore skip non valido.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Uso: %s [-numero] [-p stringa] [-cefnrs] [+riga] [+/modello/] [file]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "errore di posizionamento"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "fork non riuscito\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "%s non riuscito.\n"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d eliminanazione di una partizione BSD"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l elenco dei tipi di filesystem conosciuti"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n aggiunta di una nuova partizione BSD"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p stampa della tabella delle partizioni BSD"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t modifica dell'id del filesystem di una partizione"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " c cambia unitĂ  (cilindri/settori)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p stampa della tabella delle partizioni"
+
+#, fuzzy
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Creazione di una nuova disklabel DOS. Le modifiche rimarranno "
+#~ "memorizzate\n"
+#~ "solamente fino a quando si decide di scriverle. Dopodiché, ovviamente, "
+#~ "il\n"
+#~ "contenuto precedente non potrĂ  essere recuperato.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Il dispositivo non contiene né una tabella delle partizioni DOS valida, "
+#~ "né una disklabel Sun, SGI od OSF\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Errore interno\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tnessun menu per esperti disponibile per le tabelle delle partizioni "
+#~ "SGI.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Si sa che sul disco esiste una sovrapposizione di partizioni?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Creazione di una nuova disklabel SGI. Le modifiche rimarranno in memoria\n"
+#~ "fino a quando si decide di scriverle. Dopodiché, ovviamente, il "
+#~ "contenuto\n"
+#~ "precedente sarĂ  definitivamente perso.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "memoria insufficiente - termina\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: poca memoria, è possibile che il login non riesca\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "malloc per ttyclass non possibile"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "malloc per grplist impossibile"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Login a %s da %s negato per impostazione predefinita.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Login a %s da %s negato.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Uso: %s [ -f nome intero ] [ -o ufficio ]"
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "chsh: errore PAM, interruzione in corso: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Uso: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ nomeutente ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr ""
+#~ "%s: è possibile modificare solo le voci locali; utilizzare invece yp%s.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: impossibile impostare il contesto predefinito per /etc/passwd"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "ricerca non riuscita"
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: usare l'opzione -l per vedere l'elenco\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Utilizzare %s -l per consultare l'elenco.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "Uso: login [-fp] [nomeutente]\n"
+
+#~ msgid "Illegal username"
+#~ msgstr "Nome utente non valido"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s login rifiutato su questo terminale.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "LOGIN %s RIFIUTATO DA %s SU TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "LOGIN %s RIFIUTATO SU TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Login non corretto\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "semafori allocati = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: errore in esecuzione del fork: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s login: "
+
+#~ msgid "NAME too long"
+#~ msgstr "NOME troppo lungo"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "il nome di login è troppo lungo.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "I nomi di login non possono iniziare con'-'.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "Linefeed ECCESSIVI"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "troppi linefeed vuoti.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "ERRORE DI LOGIN DA %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "ERRORE DI LOGIN SU %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d ERRORI DI LOGIN DA %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d ERRORI DI LOGIN SU %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: il file di gruppo è occupato.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: impossibile sbloccare %s: %s (le modifiche effettuate sono ancora in "
+#~ "%s)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "malloc non riuscita"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "Il disco %s non contiene una tabella delle partizioni valida\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "openpty non riuscita\n"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: l'utente \"%s\" non esiste.\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: impossibile ottenere informazioni sul device %s: %s\n"
+
+#, fuzzy
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", offset %d"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", tipo di cifratura %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: impossibile ottenere informazioni sul device %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: impossibile aprire il device %s: %s\n"
+
+# FIXME: loop device
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: impossibile trovare qualsiasi loop device. Forse questo kernel\n"
+#~ " non è a conoscenza del loop device (se è questo il caso,\n"
+#~ " occorre ricompilare o eseguire \"modprobe loop\")."
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Memoria insufficiente quando si amplia il buffer.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "Il settore %d è già allocato\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "mount: %s%s è protetto da scrittura, viene montato in sola lettura"
+
+#, fuzzy
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu): riuscito\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): riuscito\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: impossibile eliminare il device %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Questo mount è stato compilato senza supporto per loop. Ricompilare.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Uso: %s [-q [-i intervallo]] ([-s valore]|[-S valore]) ([-t valore]|[-T "
+#~ "valore]\n"
+#~ " [-g|-G] file [file...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Impossibile aprire %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: impossibile aprire %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: valore non valido\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "fork non riuscito\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "uso deprecato: %s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "tipo di risorsa sconosciuto: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "Uso: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "errore sconosciuto nella chiave"
+
+#~ msgid "unknown error in id"
+#~ msgstr "errore sconosciuti in id"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s fornisce informazioni sulle funzionalitĂ  ipc a cui avete accesso in "
+#~ "lettura.\n"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s da %s\n"
+
+# NdT: traduzione seguendo 'man readprofile'
+# FIXME
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Uso: \"%s [opzioni]\n"
+#~ "\t -m <mapfile> (predefiniti: \"%s\" e\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <profilo> (predefinito: \"%s\")\n"
+#~ "\t -M <mult> imposta la frequenza del profiling a <mult>\n"
+#~ "\t -i stampa solo le informazioni sul passo di campionamento\n"
+#~ "\t -v stampa i dati in elenco\n"
+#~ "\t -a stampa tutti i simboli, anche se il conteggio è 0\n"
+#~ "\t -b stampa istogrammi individuali\n"
+#~ "\t -s stampa contatori individuali nelle funzioni\n"
+#~ "\t -r reimposta tutti i contatori (solamente utente root)\n"
+#~ " -n disabilita la rilevazione automatica del byte "
+#~ "order\n"
+#~ "\t -V stampa la versione ed esce\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: errore durante la scrittura di %s: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "Provare \"%s --help\" per ulteriori informazioni.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "Uso: %s programma [arg ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Uso: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: valore non valido\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Per maggiori informazioni vedere setarch(8).\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "Errore durante la chiusura del file\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr ""
+#~ "Ă possibile modificare solamente il tag delle partizioni non vuote.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Attenzione: la partizione %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Attenzione: le partizioni %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "e %s si sovrappongono\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "dispositivo: qualcosa come /dev/hda o /dev/sda"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "byte"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -l [ segnale ]\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [dispositivi]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] comandi dispositivi\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Comandi disponibili:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: impossibile aprire %s\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "errore di posizionamento"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "Uso: %s [ -n ] dispositivo\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: non si tratta di un dispositivo a blocchi\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc non riuscita"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: errore di comprensione dell'opzione\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Uso: %s [-x] [-d <num>] iso9660-image\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Uso: %s [-v] [-N n-di-inode] [-V nome-volume]\n"
+#~ " [-F nome-filessystem] dispositivo [numero-blocchi]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "impossibile fare stat di %s"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "impossibile ottenere la dimensione di %s"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "fork non riuscito\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Uso: %s [-c] [-v0|-v1] [-pDIMPAGINA] [-L etichetta] /dev/nome [blocchi]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Memoria esaurita"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "Uso:\n"
+
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menu senza direzione. Ă predefinita quella orizzontale."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Si devono eliminare alcune partizioni e aggiungere anzitutto una "
+#~ "partizione estesa\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Azione comando\n"
+#~ " %s\n"
+#~ " p partizione primaria (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [o --show-size]: elenco dimensioni di una partizione"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [o --id]: stampa o modifica dell'Id della partizione"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr ""
+#~ " -l [o --list]: elenco delle partizioni di ciascun dispositivo"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [o --dump]: idem, ma in un formato adatto per un successivo "
+#~ "input"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [o --increment]: numero dei cilindri ecc. partendo da 1 invece che "
+#~ "da 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: accetta/riporta in unitĂ  di settori/blocchi/"
+#~ "cilindri/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [o --list-types]:elenca i tipi di partizione conosciuti"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [o --DOS]: per la compatibilitĂ  con DOS: spreca un po' di "
+#~ "spazio"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [o --re-read]: fa rileggere al kernel la tabella delle partizioni"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr ""
+#~ " -N# : modifica solamente la partizione con numero #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O file : salva sul file i settori che verranno "
+#~ "sovrascritti"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I file : ripristina questi settori nuovamente"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [o --version]: stampa versione"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [o --help]: stampa questo messaggio"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [o --show-geometry]: stampa l'idea del kernel riguardo alla "
+#~ "geometria"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr " -L [o --Linux]: non segnala le cose irrilevanti per Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [o --quiet]: elimina i messaggi di avvertimento"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Ă possibile non usare la geometria rilevata utilizzando:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr ""
+#~ " -C# [o --cylindres #]:imposta il numero di cilindri da utilizzare"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr ""
+#~ " -H# [o --heads #]: imposta il numero di testine da utilizzare"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr ""
+#~ " -S# [o --sectors #]: imposta il numero di settori da utilizzare"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Ă possibile disattivare tutte le verifiche di coerenza con:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr " -f [o --force]: fa ciò che dico, anche se è stupido"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: si deve specificare il tipo di filesystem"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr "Uso: mkfs [-V] [-t tipofs] [opzioni-fs] dispositivo [dimensione]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Impossibile aprire %s: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s da %s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "Impossibile allocare il buffer per gli inode"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Provare con \"getopt --help\" per ulteriori informazioni.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Uso: getopt optstring parametri\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [opzioni] [--] optstring parametri\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parametri\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (avanzato) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Previsto: \"UTC\" o \"LOCAL\" o niente.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - ricerca e impostazione del clock di sistema (RTC)\n"
+#~ "\n"
+#~ "Uso: hwclock [funzione] [opzioni...]\n"
+#~ "\n"
+#~ "Funzioni:\n"
+#~ " --help mostra questo aiuto\n"
+#~ " --show legge il clock hardware e stampa il risultato\n"
+#~ " --set imposta l'rtc rispetto all'orario dato con --date\n"
+#~ " --hctosys imposta l'ora del sistema dal clock hardware\n"
+#~ " --systohc imposta il clock hardware all'ora corrente del sistema\n"
+#~ " --adjust regola l'rtc tenendo conto della deriva sistematica "
+#~ "dall'ultima \n"
+#~ " volta in cui il clock è stato impostato o regolato\n"
+#~ " --getepoch stampa il valore epoch del clock hardware del kernel\n"
+#~ " --setepoch imposta il valore epoch del clock hardware del kernel "
+#~ "sul \n"
+#~ " valore dato con --epoch\n"
+#~ " --version stampa la versione di hwclock su standard output\n"
+#~ "\n"
+#~ "Opzioni: \n"
+#~ " --utc il clock hardware è in orario universale coordinato\n"
+#~ " --localtime il clock hardware è in ora locale\n"
+#~ " --directisa accesso diretto al bus ISA invece di %s\n"
+#~ " --badyear ignora l'anno rtc perché il bios è danneggiato\n"
+#~ " --date specifica l'ora sulla quale impostare il clock hardware \n"
+#~ " --epoch=anno specifica l'anno di inizio del valore epoch del clock "
+#~ "hardware\n"
+#~ " --noadjfile non legge /etc/adjtime; richiede l'uso di --utc o --"
+#~ "localtime\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr " malloc initstring impossibile"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Uso: %s [-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... linea [tipo terminale]\n"
+#~ "o\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate linea,... [tipo terminale]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "Uso: mesg [s | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: ERRORE GRAVE"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "Uso: %s [file]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: impossibile leggere %s.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "Uso: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ messaggio .. ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "Uso: look [-dfa] [-t char] stringa [file]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "memoria insufficiente?\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "Uso: script [-a] [-f] [-q] [-t] [file]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "errore di scrittura su %s\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "errore di scrittura su %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term terminal_name ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#, fuzzy
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-NUM_CONSOLE] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-NUM_CONSOLE] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq freqnumber ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr "Uso: last [-#] [-f file] [-t tty] [-h hostname] [utente ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ segnale ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nome...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "Uso: write utente [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: impossibile aprire %s: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "sconosciuto"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Uso: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Processo di spegnimento interrotto"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: solamente root può spegnere un sistema.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr ""
+#~ "Verrà effettuato domani, non è possibile attendere fino ad allora?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "per manutenzione; bounce, bounce"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Il sistema verrĂ  spento entro 5 minuti"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "à perciò proibito effettuare il login."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "riavviato da %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "fermato da %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Perché sono ancora attivo dopo il riavvio?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Ă ora possibile togliere l'alimentazione elettrica..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Chiamata della funzionalitĂ  di spegnimento del kernel...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Errore durante lo spegnimento\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Esecuzione del programma \"%s\" in corso...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Errore durante l'esecuzione di\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "URGENTE: messaggio broadcast da %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Il sistema si spegnerĂ  tra %d ore e %d minuti"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Il sistema si spegnerĂ  tra 1 ora e %d minuti"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Il sistema si spegnerĂ  in %d minuti\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Il sistema si spegnerĂ  in 1 minuto\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Il sistema si spegnerĂ  IMMEDIATAMENTE!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Impossibile fare un fork per swapoff. Pazienza!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "Impossibile eseguire swapoff, si spera che umount ce la faccia."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Impossibile fare un fork per umount, si prova manualmente."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Impossibile eseguire %s, si prova ad usare umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Impossibile eseguire umount, termina utilizzo di umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Smontaggio in corso di qualsiasi filesystem rimanente..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Impossibile smontare %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Avvio in modalitĂ  singolo utente.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "esecuzione di una shell per singolo utente non riuscita\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "fork di una shell per singolo utente non riuscito\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "errore durante l'apertura del fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "errore impostando close-on-exec su /dev/initctl"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Password errata.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "lstat del percorso non riuscito\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "fork non riuscito\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "impossibile aprire inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "TERM non definito o impossibile eseguire stat sul tty\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "errore fermando il servizio \"%s\""
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "errore fermando il servizio \"%s\""
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "errore fermando il servizio \"%s\""
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Uso: %s [-c] [-n livello] [-s bufsize]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "Apertura di %s non riuscita"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "malloc non riuscita"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "Uso: col [-bfpx] [-l nline]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "Uso: %s [ - ] [ -2 ] [ file ... ]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "Uso: %s [-dflpcsu] [+linenum | +/modello] nome1 nome2 ...\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "Impossibile allocare il buffer.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: impossibile leggere %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: linea troppo lunga.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "Uso: %s [file]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "malloc non riuscita"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Uso: tailf file-di-log\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "Uso: %s [ -i ] [ -tTerm ] file...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "Impossibile aprire %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Impossibile allocare altra memoria\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ricevuto EOF tre volte - uscita in corso..\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: errore di malloc.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: memoria esaurita\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Nessuna directory %s!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: nessuna memoria per lo script shell.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: nessuna shell: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: autorizzazione negata"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: impossibile effettuare il fork\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: impossibile leggere %s.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: impossibile fare stat del file temporaneo.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: impossibile leggere il file temporaneo.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "errore di scrittura su %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "errore di posizionamento"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " e "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: utente sconosciuto\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: valore non valido\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) è stata sostituito da hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: la compatibilitĂ  hexdump(1) non supporta l'opzione -%c %s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; consultare strings(1)."
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: memoria esaurita\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "Apertura di %s non riuscita"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: intervallo illegale %s secondi\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: valore time_t illecito %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: impossibile rinominare %s in %s: %s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "rtc letto"
+
+#~ msgid "malloc error"
+#~ msgstr "errore di malloc"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "Uso: column [-tx] [-c colonne] [file ...]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "Memoria esaurita"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "Impossibile allocare lo spazio buffer\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "Uso: rev [file ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Impossibile allocare il buffer.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Memoria insufficiente quando si amplia il buffer.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: opzione illegale -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "segmenti allocati %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "pagine allocate %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "pagine residenti %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "pagine scambiate (swapping) %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Prestazione swap: %ld tentativi\t %ld riusciti\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "Esecuzione del programma \"%s\" in corso...\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "Valore impostato non valido: %s\n"
+
+#, fuzzy
+#~ msgid "current"
+#~ msgstr "ncount"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "Nuova"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Uso: fdisk [-b SSZ] [-u] DISCO Modifica la tabella delle partizioni\n"
+#~ " fdisk -l [-b SSZ] [-u] DISCO Elenca la tabella delle partizioni\n"
+#~ " fdisk -s PARTIZIONE Mostra la dimensione della "
+#~ "partizione\n"
+#~ " in blocchi\n"
+#~ " fdisk -v Mostra la versione di fdisk\n"
+#~ "In questo caso DISCO è qualcosa come /dev/hdb o /dev/sda\n"
+#~ "e PARTIZIONE è qualcosa come /dev/hda7\n"
+#~ "-u: indica Inizio e Fine in numero di settori (invece che in cilindri)\n"
+#~ "-b 2048: (per alcune unitĂ  MO) usa settori a 2048 byte\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Uso: fdisk [-l] [-b SSZ] [-u] dispositivo\n"
+#~ "Per es.: fdisk /dev/hda (per il primo disco IDE)\n"
+#~ " o: fdisk /dev/sdc (per il terzo disco SCSI)\n"
+#~ " o: fdisk /dev/eda (per la prima unitĂ  PS/2 ESDI)\n"
+#~ " o: fdisk /dev/rd/c0d0 o: fdisk /dev/ida/c0d0 (per i dispositivi "
+#~ "RAID)\n"
+#~ " ...\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: nessun %s trovato - creazione in corso...\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "uso : %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h per richiamare la guida.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Specifica risorsa:\n"
+#~ "\t-m : shared_mem (mem_condiv)\n"
+#~ "\t-q : messaggi\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semafori\n"
+#~ "\t-a : tutti (predefinito)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Formato output:\n"
+#~ "\t-t : tempo\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creatore\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : limiti\n"
+#~ "\t-u : sommario\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "fork: %s"
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "errore durante la lettura di %s\n"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr "Uso: rdev [ -rv ] [ -o OFFSET ] [ IMMAGINE [ VALORE [ OFFSET ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (o rdev /linux, eCc.) visualizza il ROOT device corrente"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 imposta ROOT su /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 imposta i ROOTFLAGS (stato sola lettura)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 imposta la dimensione del RAMDISK"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/fd0 1 imposta VIDEOMODE all'avvio"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... utilizza byte offset N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... come rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... come rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... come rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Nota: le modalitĂ  a video sono: -3=Ask, -2=Extended, -1=NormalVga, "
+#~ "1=key1, 2=key2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " utilizza -R 1 per montare la root readonly, -R 0 per lettura/"
+#~ "scrittura."
+
+#~ msgid "missing comma"
+#~ msgstr "virgola mancante"
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "memoria esaurita"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "settori"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "inizio"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX avviabile"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Shell non modificata.\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "errore irreversibile: impossibile leggere la prima pagina"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: Il dispositivo '%s' contiene una disklabel Sun valida.\n"
+#~ "Questo probabilmente significa che la creazione di uno swap v0 "
+#~ "eliminerebbe la tabella delle partizioni\n"
+#~ "Nessuno swap creato. Se si desidera creare uno swap v0 su quel "
+#~ "dispositivo,\n"
+#~ "utilizzare l'opzione -f per forzare l'operazione.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: impossibile eseguire chdir su directory root!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: impossibile eseguire stat della directory root!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: buf overflow\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? impossibile eseguire chdir in %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? problemi nella lettura del collegamento simbolico %s - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** SUPERATO IL LIMITE UNIX DI COLLEGAMENTI SIMBOLICI ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: tipo file sconosciuto 0%06o su file %s\n"
+
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: %s verrĂ  montato in base a %s\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: %s verrĂ  montato in base all'etichetta\n"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: impossibile effettuare il fork\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: impossibile aprire: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr ""
+#~ "impossibile eseguire umount di %s - al suo posto è in corso un tentativo "
+#~ "con %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "chiamata a open_tty in corso\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "chiamata a termio_init in corso\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "scrittura init string in corso\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "prima di autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "in attesa di cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "lettura del nome di login\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "after getopt loop\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "exiting parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "entered parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "uscita da parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "duping\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#, fuzzy
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "login: errore PAM, interruzione in corso: %s\n"
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Attenzione: \"%s\" non è elencato in /etc/shells\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "Impossibile leggere %s, uscita."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: errore PAM, interruzione in corso: %s\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "timeout = %d, quiet = %d, reboot = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "impossibile leggere %s e impossibile eseguire ioctl sul dump\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", offset %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: impossibile trovare alcun device /dev/loop#"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: esecuzione in background di \"%s\"\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: termina \"%s\"\n"
+
+# FIXME
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "Uso: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p prioritĂ ] speciale|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+
+# FIXME
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "Uso: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] speciale ...\n"
+
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: impossibile rendere canonico %s: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "Uso: renice prioritĂ  [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] utenti ]\n"
+
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "Ignorata l'opzione sconosciuta \"%c\""
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "`%s': directory danneggiata: '.' non è la prima\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "`%s': directory danneggiata: '..' non è la seconda\n"
+
+#~ msgid "Password error."
+#~ msgstr "Errore password."
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Si assume che le pagine siano di dimensione %d (non %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "L'autoconfigurazione ha trovato un %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Tipo di unitĂ \n"
+#~ " ? auto configure\n"
+#~ " 0 custom (con le impostazioni predefinite rilevate dell'hardware)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Selezione tipo (? per auto, 0 per custom): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Cilindri alternativi"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Cilindri fisici"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Ă possibile modificare tutti i parametri disco dal menu x"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "floppy da 3,5\""
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux custom"
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s da util-linux-%s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: errore: l'etichetta %s appare sia su %s che su %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: impossibile aprire %s, la conversione di UUID e ETICHETTA non può\n"
+#~ " essere effettuata.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: UUID non valido"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: mount di %s in corso\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: errore tentando di indovinare il tipo di filesystem\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: argomento host:dir eccessivamente lungo\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: attenzione:nomi host multipli non supportati\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: la directory da montare non è nell'host: formato dir\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: impossibile ottenere l'indirizzo di %s\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: ottenuto hp->h_length non valido\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: argomento dell'opzione eccessivamente lungo\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Attenzione: Opzione proto= non riconosciuta.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Attenzione: L'opzione namlen non è gestita.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "parametro di nfs mount sconosciuto: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Attenzione: l'opzione nolock non è gestita.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "opzione di nfs mount sconosciuta: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: ottenuto un hp->h_length non valido?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "utilizzato il portmapper per trovare la porta NFS\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "utilizzo della porta %d per il demone nfs\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "valore riportato di stato nfs sconosciuto: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "host: %s, directory: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: impossibile ottenere l'indirizzo di %s\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: ottenuto hostp->h_length non valido\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: cramfs invalido -- lunghezza del percorso non valida\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: cramfs non valido -- errore CRC\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: cramfs non valido -- superblocco danneggiato\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Errore di sintassi: '%s'\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Parametro non impostato: '%s'\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr " %s [ -p ] dev nome\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] disp\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] disp\n"
+
+#~ msgid "version"
+#~ msgstr "versione"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr " impossibile aprire /dev/urandom"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "impossibile leggere dati casuali da /dev/urandom"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "impossibile eseguire stat(%s)"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "impossibile leggere i dati da %s"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "Troppi utenti giĂ  collegati.\n"
+#~ "Riprovare successivamente.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Ci sono troppi processi in esecuzione.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "La password deve avere almeno 6 caratteri, riprovare.\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "La password deve contenere caratteri tratti da due delle seguenti "
+#~ "classi:\n"
+#~ "lettere maiuscole e minuscole, numeri e caratteri non alfanumerici.\n"
+#~ "Consultare passwd(1) per maggiori informazioni.\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "Impossibile riutilizzare la vecchia password.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr ""
+#~ "Non utilizzare come password qualcosa che assomigli al proprio nome "
+#~ "utente!\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr ""
+#~ "Non utilizzare come password qualcosa che assomigli al proprio vero "
+#~ "nome!\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Uso: passwd [nome utente [password]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "Solo root può utilizzare le forme a uno e due argomenti\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Uso: passwd [-foqsvV] [utente [password]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "Exec %s impossibile: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "Impossibile trovare il nome di login"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Solo root può modificare la password per gli altri.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr "Impossibile trovare il nome utente.`%s' è davvero un utente?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr ""
+#~ "Posso modificare solo le password locali. Utilizzare invece yppasswd."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "UID e nome utente non combaciano, impostore!"
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "Modifica password per %s\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Immettere vecchia password: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Password non valida, impostore."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Immettere la nuova password: "
+
+#~ msgid "Password not changed."
+#~ msgstr "Password non modificata."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Ridigitare la nuova password: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Ortografia sbagliata. La password non è stata modificata."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "password modificata, utente %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "PASSWORD ROOT MODIFICATA"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "password modificata da root, utente %s"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "chiamata di setpwnam per impostare la password.\n"
+
+#~ msgid "Password *NOT* changed. Try again later.\n"
+#~ msgstr "Password *NON* modificata. Riprovare successivamente.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Password modificata.\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr ""
+#~ "mount: questa versione è stata compilata senza supporto per il tipo 'nfs'"
+
+#~ msgid "flock: unknown option, aborting.\n"
+#~ msgstr "flock: opzione sconosciuta, interruzione.\n"
+
+#~ msgid ""
+#~ "Usage flock [--shared | --timeout=seconds] filename command {arg arg...}\n"
+#~ msgstr ""
+#~ "Uso: flock [--shared | --timeout=secondi] nomefile comando {arg arg...}\n"
diff --git a/po/ja.gmo b/po/ja.gmo
new file mode 100644
index 0000000..868bcf7
--- /dev/null
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..4c87db7
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,18380 @@
+# Japanese messages for util-linux
+# Copyright (C) 1999-2001,2009-2011 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux package.
+# includes cfdisk original translation by
+# Hidenobu NABETANI <nabetani@kern.phys.sci.osaka-u.ac.jp>
+# Daisuke Yamashita <yamad@mb.infoweb.ne.jp>, 1999-2001.
+# Makoto Kato <makoto.kt@gmail.com>, 2009-2010.
+# Once util-linux-ng was forked from util-linux,
+# as of January 2011 it has overrided original name util-linux.
+# Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>, 2011.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.20-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2011-08-29 00:19+0900\n"
+"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
+"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.3\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: disk-utils/addpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr "使ă„ć–ą: sfdisk --id ă‡ăイス ă‘ăĽă†ă‚Łă‚·ă§ăłç•ŞĺŹ· [ID]\n"
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "%s ă‚’ open ă§ăŤăľă›ă‚“"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "ăŹăă‚·ăĄă»ă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "読ăżčľĽăżĺ°‚用ă«č¨­ĺ®š"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "読ăżć›¸ăŤĺŹŻč˝ă«č¨­ĺ®š"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "読ăżć›¸ăŤĺŹŻč˝ă‹ă©ă†ă‹ă‚’ă†ă‚ąă"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "č«–ç†ă–ă­ăă‚Ż (セクタ) サイズを取得"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "物ç†ă–ă­ăă‚Ż (セクタ) サイズを取得"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "最小ă®I/Oサイズを取得"
+
+#: disk-utils/blockdev.c:105
+#, fuzzy
+msgid "get optimal I/O size"
+msgstr "最é©ăŞă–ă­ăクサイズを調査中"
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "不正ăŞiăŽăĽă‰ă‚Şă•ă‚»ăă"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "ă‚·ăŞăłă€ćŻŽă®ç‰ąĺĄăŞă‚»ă‚Żă‚ż"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "ă–ă­ăクサイズを取得"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "ă–ă­ăクサイズを設定"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "32-bitセクタカウăłăを取得ă™ă‚‹"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "サイズ (ĺŤä˝Ť:ăイă) を取得"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "readahead 値を設定"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "readahead 値を取得"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă  readahead 値を設定"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă  readahead 値を取得"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "ăăă•ă‚ˇă‚’ă•ă©ăă‚·ăĄă™ă‚‹"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’再読ăżčľĽăż"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "512ăイăセクタă®ă‚µă‚¤ă‚şă‚’取得"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "ă‡ăイス '%s' 上ă®ă‘ă©ăˇăĽă‚żă‚’取得ă§ăŤăľă›ă‚“。"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "不ćŽăŞă‚łăžăłă‰: %s"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s: ă‚Şă—ă‚·ă§ăł '--%s' ă«ăŻĺĽ•ć•°ăŚĺż…č¦ă§ă™\n"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s ăŻĺ¤±ć•—ă—ăľă—ăźă€‚\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s ăŚć功ă—ăľă—ăźă€‚\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%să®čŞ­čľĽăżă‚¨ă©ăĽ: %s"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ 開始セクタ サイズ ă‡ăイス\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "使ă„ć–ą: sfdisk --id ă‡ăイス ă‘ăĽă†ă‚Łă‚·ă§ăłç•ŞĺŹ· [ID]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "ăŹăă‚·ăĄă»ă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "使ă„ć–ą:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tNOTE: elvtuneăŻ2.4ă‚«ăĽăŤă«ă§ă®ăżĺ‹•ä˝śă—ăľă™\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+"ă–ă­ăă‚Żă‡ăイスăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“。ăă«ă—を表示ă™ă‚‹ăźă‚ă«ăŻă€-hを使用ă—ă¦ăŹă "
+"ă•ă„\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtuneăŻĺŹ¤ă„ă‚«ăĽăŤă«ä¸Šă§ă®ăżćś‰ç›ŠăŞă‚‚ă®ă§ă™;\n"
+"2.6ă‚«ăĽăŤă«ă§ăŻă€ć›żă‚Źă‚Šă«IOスケジăĄăĽă©ăĽă®sysfs経由ă®č¨­ĺ®šĺ€¤ă‚’使ă„ăľă—ょ"
+"ă†..\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "ă•ă‚©ăĽăžăăă—ăľă™ ... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "終了\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "ç…§ĺă—ăľă™ ... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "読込: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "読込ăżä¸­ă«ĺ•ŹéˇŚç™şç”źă€ă‚·ăŞăłă€ %d, %d ă®ç­ă§ă™ăŚ %d を読込ăżăľă—ăź\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"ă‚·ăŞăłă€ %d ă«ä¸Ťć­ŁăŞă‡ăĽă‚ż\n"
+"続ă‘ăľă™ ... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "使ă„ć–ą: gpg [ă‚Şă—ă‚·ă§ăł] "
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s from %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "stat ăŚĺ¤±ć•—: %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "ă–ă­ăă‚Żă‡ăイスăŚĺż…č¦ă§ă™"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr ""
+" ă•ă‚ˇă‚¤ă« \"%s\" を削除ă§ăŤăľă›ă‚“\n"
+" %s "
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "現在ă®ă•ă‚©ăĽăžăăタイă—を特定ă§ăŤăľă›ă‚“"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s面, %d ăă©ăă‚Ż, %d セクタ/ăă©ăク。ĺč¨ĺ®ąé‡Ź %d kB。\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "両"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "片"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s ăŻăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™\t "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "%s ăŻć›¸ĺş«ă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "ă•ă‚ˇă‚¤ă« '%2$s' ă‹ă‚‰ă® %1$s ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—: %3$s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "解ćžă‚¨ă©ăĽ: %s"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "ă•ă­ăă”ăĽă»ă‡ă‚Łă‚ąă‚Ż"
+
+#: disk-utils/fsck.c:339
+#, fuzzy, c-format
+msgid "(waiting) "
+msgstr "待機中"
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "ć功"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "失敗"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "typescript ă•ă‚ˇă‚¤ă« %s ă®čŞ­ăżčľĽăżăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "%s: %s 内㮠%d 行ă§ă‚¨ă©ăĽă§ă™\n"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "%s: 見ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "ĺ­ă—ă­ă‚»ă‚ąă®čµ·ĺ‹•ă«ĺ¤±ć•—"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/fsck.c:705
+#, fuzzy
+msgid "wait: no more child process?!?"
+msgstr "wait_for: ă—ă­ă‚»ă‚ą %ld ă®č¨éŚ˛ăŚă‚ă‚Šăľă›ă‚“"
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "waitpid ă«ĺ¤±ć•—"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, fuzzy, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "man ă‚łăžăłă‰ăŚçµ‚了スă†ăĽă‚żă‚ą %d ă§ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "\"%s\" を読ăżčľĽă‚‚ă†ă¨ă—ă¦ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: ĺ­ĺś¨ă—ăŞă„ă‡ăイスをスキăă—ă—ă¦ă„ăľă™\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: 未知ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă— '%s'"
+
+#: disk-utils/fsck.c:1079
+#, fuzzy, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "fsck: %să‚’ăェăă‚Żă§ăŤăľă›ă‚“: fsck.%săŻč¦‹ă¤ă‹ă‚Šăľă›ă‚“\n"
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "ăˇă˘ăŞă®ĺ‰˛ă‚Šĺ˝“ă¦ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "ă™ăąă¦ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ć¤śćź»ă—ăľă™ă€‚\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--待機中-- (ă‘ă‚ą %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+"\n"
+"使ă„ć–ą: %s [ă‚Şă—ă‚·ă§ăł] ă‘ă‚ąĺŤ [ă‘ă‚ąĺŤ ...]\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "引数ăŚĺ¤šă™ăŽăľă™"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "ăťă®ĺ ´ć‰€ăŻć—˘ă«ăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "一致ă™ă‚‹ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“: %s\n"
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Pixmap ă•ă‚ˇă‚¤ă«ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“ă§ă—ăź: %s"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "引数ăŚĺ¤šă™ăŽăľă™"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "ă•ă‚ˇă‚¤ă«é¸ćŠžă€ă‚¤ă‚˘ă­ă‚°ă®ă‚Şă—ă‚·ă§ăł"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr "ăăĽă‚¸ă§ăłç•ŞĺŹ·ăŚç­‰ă—ă„ă‹ă‚’ă†ă‚ąăă—ăľă™ă€‚"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl ăŚĺ¤±ć•—: ă‡ăイスサイズを取得ă§ăŤăľă›ă‚“: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "ă–ă­ăă‚Żă‡ăイスă‹ă•ă‚ˇă‚¤ă«ă§ăŻă‚ă‚Šăľă›ă‚“: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "ă•ă‚ˇă‚¤ă«ă®é•·ă•ăŚçź­ă™ăŽăľă™"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "読ăżčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "ă‚ąăĽă‘ăĽă–ă­ăă‚Żă®ăžă‚¸ăク値ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: disk-utils/fsck.cramfs.c:180
+#, fuzzy, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "%s ăŻč‡Şĺ†č‡Şčş«ă‚’参照ă—ă¦ă„ăľă™"
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy
+msgid "big"
+msgstr "大ăŤă„文字"
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy
+msgid "little"
+msgstr "2 ă®čŁść•°ă€ăŞăă«ă‚¨ăłă‡ă‚Łă‚˘ăł"
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "サăťăĽăă•ă‚ŚăŞă„ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ć©źč˝ă§ă™"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "ă‚ąăĽă‘ăĽă–ă­ăă‚Żă®ă‚µă‚¤ă‚ş (%d) ăŚĺ°‘ăŞă™ăŽăľă™"
+
+#: disk-utils/fsck.cramfs.c:193
+#, fuzzy
+msgid "zero file count"
+msgstr "ă‚ąăăŞăă—ă®ă‡ăĽă‚żé‡Ź"
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŻă‡ă‚Łă‚ąă‚Żă®çµ‚りを越ăă¦ă„ăľă™\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "警告: 古ă„cramfs形式ă§ă™\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "CRCă‚’ă†ă‚ąăă§ăŤăľă›ă‚“: 古ă„cramfs形式ă§ă™"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "crcエă©ăĽ"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "root inode ăŚă‡ă‚Łă¬ă‚ŻăăŞă§ăŻă‚ă‚Šăľă›ă‚“ "
+
+#: disk-utils/fsck.cramfs.c:328
+#, fuzzy, c-format
+msgid "bad root offset (%lu)"
+msgstr "MD5 ă®č§Łćžă‚¨ă©ăĽă€‚ă‚Şă•ă‚»ăă %lu"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "ă‡ăĽă‚żă–ă­ăă‚ŻăŚĺ¤§ăŤă™ăŽăľă™"
+
+#: disk-utils/fsck.cramfs.c:350
+#, fuzzy, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "%s サă–ă—ă­ă‚»ă‚ąĺ…Ąĺ‡şĺŠ›ă‚¨ă©ăĽ"
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr "ăˇăłă `%s'%s: %ld ăイă at %ld (%ld).\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "ăˇăłă `%s'%s: %ld ăイă at %ld (%ld).\n"
+
+#: disk-utils/fsck.cramfs.c:394
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr " ă—ă­ă‚°ă©ă ăăă€ă‚µă‚¤ă‚ş: %ld (ăイă)\n"
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "書ăŤčľĽăżĺ¤±ć•—"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown ă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdirăŚĺ¤±ć•—: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "ă•ă‚ˇă‚¤ă«ĺŤă®é•·ă•ăŚă‚Ľă­ă§ă™"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "ć‚Şă„ă•ă‚ˇă‚¤ă«ĺŤă®é•·ă•"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "不正ăŞiăŽăĽă‰ă‚Şă•ă‚»ăă"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "ă•ă‚ˇă‚¤ă«iăŽăĽă‰ăŻă‚Ľă­ă‚Şă•ă‚»ăăă‹ă‚Ľă­ă§ăŻăŞă„サイズをćŚăˇăľă™"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "ă•ă‚ˇă‚¤ă«iăŽăĽă‰ăŻă‚Ľă­ă‚µă‚¤ă‚şă‹ă‚Ľă­ă§ăŻăŞă„ă‚Şă•ă‚»ăăă‚’ćŚăˇăľă™"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "ă‚·ăłăśăŞăă‚ŻăŞăłă‚ŻăŻă‚µă‚¤ă‚şăŚă‚Ľă­ă§ă™"
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "ă•ă‚ŁăĽă«ă‰ă®ă‘ăĽă‚ąä¸­ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăźă€‚"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symlink ăŚĺ¤±ć•—: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "ソケăăăŻă‚Ľă­ă§ăŻăŞă„サイズをćŚăˇăľă™: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "操作ă˘ăĽă‰:\n"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod ă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "不正ăŞă•ă‚ˇă‚¤ă«ă‡ăĽă‚żă‚Şă•ă‚»ăă"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "-x サăťăĽăăŞă—ă§ă‚łăłă‘イă«ă•ă‚Śă¦ă„ăľă™"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file ă€ăłă—ă•ă‚ˇă‚¤ă«ĺŤ ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "対話的ăŞäż®ĺľ©ă‚’行ăŞă†ç‚şç«Żćś«ăŚĺż…č¦ă§ă™"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s ăŻăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "本当ă«ç¶šă‘ăľă™ă‹"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "ăェăクを中止ă—ăľă—ăź\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "ă•ă‚ˇă‚¤ă« `%s' 内㧠Zone nr < FIRSTZONE。"
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "ă•ă‚ˇă‚¤ă« `%s' 内㧠Zone nr >= ZONES。"
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "ă–ă­ăă‚Żă®ĺ‰Šé™¤"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "読込エă©ăĽ: ă•ă‚ˇă‚¤ă« '%s' 中ă®ă–ă­ăク㸠seek ă§ăŤăľă›ă‚“\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "読込エă©ăĽ: ă•ă‚ˇă‚¤ă« '%s' ă«ä¸Ťć­Łă–ă­ăă‚ŻăŚă‚ă‚Šăľă™\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"内é¨ă‚¨ă©ăĽ: 不正ă–ă­ăă‚Żă¸ă®ć›¸ăŤčľĽăż\n"
+"書ăŤčľĽăżč¦ć±‚ăŻç„ˇč¦–ă•ă‚Śăľă™\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "書ăŤčľĽăżă–ă­ăク内㮠seek ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "書ăŤčľĽăżă‚¨ă©ăĽ: ă•ă‚ˇă‚¤ă«ă®ä¸­ '%s' ă«ä¸Ťć­Łă–ă­ăă‚ŻăŚă‚ă‚Šăľă™\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "ă‚ąăĽă‘ăĽă–ă­ăク書込時ă®ă•ă‚ˇă‚¤ă«ă‚·ăĽă‚Żă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "ă‚ąăĽă‘ăĽă–ă­ăクを書ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "iăŽăĽă‰ăžăă—を書ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "ă‚ľăĽăłăžăă—を書ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "iăŽăĽă‰ă‚’書ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "ă‚·ăĽă‚Żă«ĺ¤±ć•—"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "入力用ăăă•ă‚ˇă‚’割り当ă¦ă‚‹ă“ă¨ăŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "ă‚ąăĽă‘ăĽă–ă­ăクを書ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "ă‚ąăĽă‘ăĽă–ă­ăă‚Żă«ä¸Ťć­ŁăŞăžă‚¸ăă‚ŻăŠăłăăĽăŚă‚ă‚Šăľă™"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Only 1k blocks/zones supported"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "bad s_imap_blocks field in super-block"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "bad s_zmap_blocks field in super-block"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "inode ăžăă—用ăăă•ă‚ˇă®ç˘şäżťăŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "ă‚ľăĽăłăžăă—用ăăă•ă‚ˇă®ç˘şäżťăŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "inode 用ăăă•ă‚ˇă®ç˘şäżťăŚă§ăŤăľă›ă‚“。"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "inode カウăłă‚żç”¨ăăă•ă‚ˇă®ç˘şäżťăŚă§ăŤăľă›ă‚“。"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "ă‚ľăĽăłă‚«ă‚¦ăłă‚żç”¨ăăă•ă‚ˇă®ç˘şäżťăŚă§ăŤăľă›ă‚“。"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "inode ăžăă—ăŚčŞ­čľĽă‚ăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "ă‚ľăĽăłăžăă—ăŚčŞ­čľĽă‚ăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "inode を読込ă‚ăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "警告: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "iăŽăĽă‰ć•° %ld\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "ă–ă­ăă‚Żć•° %ld\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zone サイズ=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "最大サイズ=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă çŠ¶ć…‹=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr "ă‡ăŞăźă‚żé•· %1 ăŻNAMELEN(%2)を越ăă¦ă„ăľă™"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"iăŽăĽă‰ %d ăŻä¸Ťä˝żç”¨ăžăĽă‚Żă•ă‚Śă¦ă„ăľă™ăŚă€ă•ă‚ˇă‚¤ă« '%s' ăŚĺ©ç”¨ă—ă¦ă„ăľă™\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "使用ăžăĽă‚Ż"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "ă•ă‚ˇă‚¤ă« `%s' ăŻă˘ăĽă‰ %05o ă§ă™\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "警告: inode ć•°ăŚĺ¤§ăŤă™ăŽăľă™ă€‚\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "root inode ăŚă‡ă‚Łă¬ă‚ŻăăŞă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "ă–ă­ăă‚ŻăŻä»Ąĺ‰Ťă‹ă‚‰ĺ©ç”¨ă•ă‚Śă¦ă„ăľă™ă€‚現在ăŻă•ă‚ˇă‚¤ă« `%s' 内ă§ă™ă€‚"
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "ă‚ŻăŞă‚˘"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "ă•ă‚ˇă‚¤ă« `%2$s' ă®ă–ă­ăă‚Ż %1$d ăŻćśŞä˝żç”¨ăžăĽă‚Żă•ă‚Śă¦ă„ăľă™ă€‚"
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "ć­Łă—ă„"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "ă‡ă‚Łă¬ă‚Żă㪠'%s' ăŻă•ă‚ˇă‚¤ă« '%.*s' ă®ä¸Ťć­Ł inode 番号をĺ«ăżăľă™ă€‚"
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " 削除"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: 不正ăŞă‡ă‚Łă¬ă‚ŻăăŞ: '.' ăŚćś€ĺťă§ăŻă‚ă‚Šăľă›ă‚“\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: 不正ăŞă‡ă‚Łă¬ă‚ŻăăŞ: '..' ㌠2 ç•Şç›®ă§ăŻă‚ă‚Šăľă›ă‚“\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "内é¨ă‚¨ă©ăĽ"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: 不正ăŞă‡ă‚Łă¬ă‚ŻăăŞ: サイズ㌠32 未満"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "bad_zone ă§ă® seek ă«ĺ¤±ć•—"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Inode %d ă®ă˘ăĽă‰ăŻă‚ŻăŞă‚˘ă•ă‚Śăšă€‚"
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "inode %d ăŻä˝żă‚Źă‚Śăľă›ă‚“ăŚă€ă“ăăăžăă—ă§ăŻä˝żç”¨ăžăĽă‚ŻăŚä»ă„ă¦ă„ăľă™"
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "inode %d ăŚä˝żç”¨ă•ă‚Śăľă™ăŚă€ă“ăăăžăă—ă§ăŻä¸Ťä˝żç”¨ăžăĽă‚ŻăŚä»ă„ă¦ă„ăľă™"
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "設定"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "inode %d (ă˘ăĽă‰ = %07o), i_nlinks=%d, counted=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "i_nlinks ă®ĺ€¤ă‚’ count ă«č¨­ĺ®šă—ăľă—ăź"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zone %d: ĺ©ç”¨ăžăĽă‚ŻăŚä»ă„ă¦ă„ăľă™ăŚă€ă©ă®ă•ă‚ˇă‚¤ă«ă‚‚使ăŁă¦ă„ăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "ăžăĽă‚ŻăŞă—"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zone %d: 使用中ă€counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zone %d: 使用ă—ă¦ă„ăľă›ă‚“ă€counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "不正㪠inode サイズ"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "不正㪠v2 inode サイズ"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "対話的ăŞäż®ĺľ©ă‚’行ăŞă†ç‚şç«Żćś«ăŚĺż…č¦ă§ă™"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "%s ă‚’ open ă§ăŤăľă›ă‚“"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s ăŻă‚ŻăŞăĽăłă§ă™ă€ăェăă‚Żă—ăľă›ă‚“。\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "強ĺ¶çš„ă« %s ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ć¤śćź»ă—ăľă™ă€‚\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "%s ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ăŻć±šă‚Śă¦ăŠă‚Šă€ć¤śćź»ăŚĺż…č¦ă§ă™ă€‚\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld iăŽăĽă‰ăŚä˝żç”¨ä¸­ (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zone ăŚä˝żç”¨ä¸­ (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d 通常ă•ă‚ˇă‚¤ă«\n"
+"%6d ă‡ă‚Łă¬ă‚ŻăăŞ\n"
+"%6d ă‚­ăŁă©ă‚Żă‚żă‡ă´ă‚ˇă‚¤ă‚ąă•ă‚ˇă‚¤ă«\n"
+"%6d ă–ă­ăă‚Żă‡ă´ă‚ˇă‚¤ă‚ąă•ă‚ˇă‚¤ă«\n"
+"%6d ăŹăĽă‰ăŞăłă‚Ż\n"
+"%6d ă‚·ăłăśăŞăă‚ŻăŞăłă‚Ż\n"
+"------\n"
+"%6d ă•ă‚ˇă‚¤ă«\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"--------------------------------\n"
+"ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ăŚĺ¤‰ć›´ă•ă‚Śăľă—ăź\n"
+"--------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%să®čŞ­čľĽăżă‚¨ă©ăĽ: %s"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%să®čŞ­čľĽăżă‚¨ă©ăĽ: %s"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "セクタ数: %d, セクタサイズ: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "使ă„ć–ą: %s [ă‚Şă—ă‚·ă§ăł] ă‡ăイスĺŤ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+#, fuzzy
+msgid "invalid divisor argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "使ă„ć–ą: %s [ă‚Şă—ă‚·ă§ăł] ă‡ăイスĺŤ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "不当ăŞăťăĽă番号"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "ăśăŞăĄăĽă ĺŤăŚé•·ă™ăŽăľă™"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ĺŤăŚé•·ă™ăŽăľă™"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ăŻă–ă­ăă‚Żă‚ąăšă‚·ăŁă«ă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "無効ăŞăイăć•°"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "%s ă®ă‚µă‚¤ă‚şă‚’取得ă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "ă–ă­ăă‚Żă®ĺĽ•ć•°ăŚĺ¤§ăŤă™ăŽăľă™ă€‚最大 %llu ă§ă™"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "iăŽăĽă‰ăŚĺ¤šă™ăŽăľă™ - 最大 512 ă§ă™"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "é ĺźźăŚä¸ŤĺŤĺ†ă§ă™ă€‚最低ă§ă‚‚ %llu ă–ă­ăă‚Żĺż…č¦ă§ă™"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "ă‡ăイス: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "ăśăŞăĄăĽă : <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ĺŤ: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "ă–ă­ăクサイズ: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "アăĽă‚«ă‚¤ă–内ă®ă‚˘ă©ă‚¤ăłăˇăłăă•ă‚Śă¦ă„ăŞă„ă–ă­ăă‚Ż (%lu ăイă)"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "I-ăŽăĽă‰: %d (%lld ă–ă­ăă‚Żă‚ăźă‚Š)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "ă–ă­ăă‚Żć•°: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "I-ăŽăĽă‰ćś«ĺ°ľ: %d, ă‡ăĽă‚żćś«ĺ°ľ: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "ă‚ąăĽă‘ăĽă–ă­ăク書ăŤčľĽăżä¸­ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "ă«ăĽă I-ăŽăĽă‰ć›¸ăŤčľĽăżä¸­ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "I-ăŽăĽă‰ć›¸ăŤčľĽăżä¸­ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "seek エă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr ". 項目書ăŤčľĽăżä¸­ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr ".. 項目書ăŤčľĽăżä¸­ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "%s ă® close ă§ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"使ă„ć–ą: mkfs [-V] [-t ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ĺž‹] [fs ă‚Şă—ă‚·ă§ăł] ă‡ăイス [サイズ]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"使ă„ć–ą: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h ă“ă®ăă«ă—を表示ă™ă‚‹\n"
+" -v 詳細を表示ă™ă‚‹\n"
+" -E ă™ăąă¦ă®č­¦ĺ‘Šă‚’エă©ăĽă¨ă™ă‚‹ (終了スă†ăĽă‚żă‚ąă‚’ 0 以外ă«ă™ă‚‹)\n"
+" -b blksize 指定ă—ăźă–ă­ăクサイズをĺ©ç”¨ă™ă‚‹ă€‚ăšăĽă‚¸ă‚µă‚¤ă‚şă¨ĺŚăă§ă‚ă‚‹ĺż…č¦ăŚ"
+"ă‚ă‚Šăľă™\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian cramfs ă®ă‚¨ăłă‡ă‚Łă‚˘ăł (big|little|host) を設定ă™ă‚‹ă€‚ă‡ă•ă‚©ă«ăăŻ"
+"host -i file ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ĺ†…ă«ă•ă‚ˇă‚¤ă«ă‚¤ăˇăĽă‚¸ă‚’挿入ă™ă‚‹ (requires >= "
+"2.4.0)\n"
+" -n name cramfs ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ĺŤĺ‰Ťă‚’設定ă™ă‚‹\n"
+" -p pad by %d bytes for boot code\n"
+" -s ă‡ă‚Łă¬ă‚ŻăăŞă‚¨ăłăăŞă‚’ă‚˝ăĽăă™ă‚‹ (古ă„ă‚Şă—ă‚·ă§ăłă€‚無視ă•ă‚Śăľă™)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname 圧縮ă•ă‚Śă‚‹ăźă‚ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ă«ăĽă\n"
+" outfile 出力ă•ă‚ˇă‚¤ă«\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "ă‡ă‚Łă¬ă‚Żă㪠\"%s\" を作ćă§ăŤăľă›ă‚“ă§ă—ăź: %s"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"非常ă«é•·ă„ (%zu ăイă) ă•ă‚ˇă‚¤ă«ĺŤ `%s' ăŚč¦‹ă¤ă‹ă‚Šăľă—ăźă€‚\n"
+" mkcramfs.c 内㮠MAX_INPUT_NAMELEN を増やă—ă¦ĺ†Ťă‚łăłă‘イă«ă—ă¦ăŹă ă•ă„。終了ă—"
+"ăľă™ă€‚\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "大ăŤéŽăŽă‚‹ć­Łč¦Źčˇ¨çŹľ"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld ăイă)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚’é–‰ăă‚‹ă“ă¨ăŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "ROM イăˇăĽă‚¸ăžăă—"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "ĺ«ă‚€: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "ă‡ă‚Łă¬ă‚ŻăăŞă‡ăĽă‚ż: %zd ăイă\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "ă™ăąă¦: %zd ă‚­ă­ăイă\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "ă‚ąăĽă‘ăĽă–ă­ăă‚Ż: %zd ăイă\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr "ROMイăˇăĽă‚¸ă«ăŠăŁă¦ĺŤĺ†ăŞĺ®ąé‡Źă§ăŻă‚ă‚Šăľă›ă‚“ (%lld 確保ă€%zu 使用)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "ROM イăˇăĽă‚¸"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "ROM イăˇăĽă‚¸ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "警告: ă•ă‚ˇă‚¤ă«ĺŤăŻ 255 ăイăă«ĺ‡ă‚Šč©°ă‚られăľă™ă€‚\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "警告: ă•ă‚ˇă‚¤ă«ăŻă‚¨ă©ăĽă®ăźă‚ă‚ąă‚­ăă—ă•ă‚Śăľă—ăźă€‚\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "警告: ă•ă‚ˇă‚¤ă«ă‚µă‚¤ă‚şăŻ%luMBă«ĺ‡ă‚Šč©°ă‚られăľă—ăź (最小1ăイă)。\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"警告: uidăŻ%uă“ăăă¸ĺ‡ă‚Šč©°ă‚られăľă—ăźă€‚ (セキăĄăŞă†ă‚Łä¸Šă®ć‡¸ĺżµäş‹é …ă«ăŞă‚‹ă‹ă‚‚"
+"ă—ă‚Śăľă›ă‚“。)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"警告: gidăŻ%uă“ăăă¸ĺ‡ă‚Šč©°ă‚られăľă—ăźă€‚ (セキăĄăŞă†ă‚Łä¸Šă®ć‡¸ĺżµäş‹é …ă«ăŞă‚‹ă‹ă‚‚"
+"ă—ă‚Śăľă›ă‚“。)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "使ă„ć–ą: %s [-c | -l ă•ă‚ˇă‚¤ă«ĺŤ] [-nXX] [-iXX] /dev/name [ă–ă­ăă‚Żć•°]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s ăŻăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™ -- ă“ă“ă«ăŻă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚’ă¤ăŹă‚Śăľă›ă‚“ďĽ"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "write_tables ă§ă®ă–ăĽăă–ă­ăă‚Żă¸ă®ă‚·ăĽă‚Żă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%1 ă®ă–ăĽăセクタă«ć›¸ăŤčľĽăżä¸­ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "ă‚łă”ăĽä¸­ă«ă‘イă—ă¸ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "状態ă•ă‚ˇă‚¤ă«č¨čż°ĺ­ %d ă«ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "状態ă•ă‚ˇă‚¤ă«č¨čż°ĺ­ %d ă«ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "状態ă•ă‚ˇă‚¤ă«č¨čż°ĺ­ %d ă«ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "ăŤăăăŻăĽă‚Żă¸ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "ă‚łă”ăĽä¸­ă«ă‘イă—ă¸ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "ă‚łă”ăĽä¸­ă«ă‘イă—ă¸ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "エă©ăĽăŚĺ¤šéŽăŽă‚‹ă®ă§, 処ç†ă‚’打ăˇĺ‡ă‚Šăľă™"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "%s: ăイăŠăŞă‡ăĽă‚żăŚä¸ŤĺŤĺ†ă§ă™"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "入力用ăăă•ă‚ˇă‚’割り当ă¦ă‚‹ă“ă¨ăŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "入力用ăăă•ă‚ˇă‚’割り当ă¦ă‚‹ă“ă¨ăŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "入力用ăăă•ă‚ˇă‚’割り当ă¦ă‚‹ă“ă¨ăŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "nplurals = %lu"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "動作ă–ă­ăă‚Żć•°"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"最大サイズ=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "ă–ă­ăă‚Żă®ă†ă‚ąă中ă«ă‚·ăĽă‚ŻăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "do_check ă«ĺ¤‰ăŞĺ€¤ăŚă‚ă‚Šăľă™: 多ĺ†ăă‚°ă§ă—ょă†\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "check_blocks ă§ă®ă‚·ăĽă‚Żă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "ă‡ăĽă‚żé ĺźźä»Ąĺ‰Ťă«ä¸Ťć­Łă–ă­ăă‚Ż: ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚’作ćă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "不正ă–ă­ăă‚Żć•° %d\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "不正ă–ă­ăă‚Żć•° 1\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "manpath 設定ă•ă‚ˇă‚¤ă« %s ă‚’ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr ""
+" ĺ…ă•ă‚ˇă‚¤ă« \"%s\" を読ă‚ăľă›ă‚“\n"
+" %s "
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "stab_int_type: 不正ăŞă‚µă‚¤ă‚ş %u ă§ă™"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol エă©ăĽ: ă–ă­ăă‚Żă®ć•°ăŚćŚ‡ĺ®šă•ă‚Śăľă›ă‚“ă§ă—ăź"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "再生ă‡ăイス: %s\n"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "ă–ă­ăクサイズ㌠%s ă®ç‰©ç†ă‚»ă‚Żă‚żă‚µă‚¤ă‚şă‚ă‚Šă‚‚ĺ°Źă•ă„"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "%s ă®ă‚µă‚¤ă‚şă‚’取得ă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "'%s' 上ă«ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚’作らăŞă„ă‚ă†ă«ă—ăľă™"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "数値ăŚĺ¤§ăŤă™ăŽă‚‹ă‹ĺ°Źă•ă™ăŽăľă™"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "不正ăŞă¦ăĽă‚¶ćŚ‡ĺ®šăšăĽă‚¸ă‚µă‚¤ă‚ş %d\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"ă‚·ă‚ąă†ă ă®ăšăĽă‚¸ă‚µă‚¤ă‚şĺ€¤ %2$d ă®ä»Łă‚Źă‚Šă«ă€ă¦ăĽă‚¶ćŚ‡ĺ®šĺ€¤ %1$d を使ă„ăľă™\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr "ă‚ąăŻăă—ăăă€ă‚µă‚¤ă‚şăŚć­Łă—ăŹăŞă„ăźă‚ă€ă©ă™ă«ăŻć›¸ăŤčľĽăľă‚Śăľă›ă‚“。\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "ă•ă‚ˇă‚¤ă« \"%s\" ăŚçź­ăŹĺ‡ă‚ŠćŤ¨ă¦ă‚‰ă‚Śă¦ă„ăľă™"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "ă©ă™ă«ăŻă‚ă‚Šăľă›ă‚“, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "uuidăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "%s: ă“ă®ă‡ăイスă®ă‚µă‚¤ă‚şć…ĺ ±ăŚă‚ă‚Šăľă›ă‚“"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "不正ăšăĽă‚¸ăŚĺ¤šă™ăŽăľă™"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "check_blocks ă§ă®ă‚·ăĽă‚Żă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "不正ăŞăšăĽă‚¸ć•°\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "不正ăŞăšăĽă‚¸ć•° %lu\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "inode ăăă•ă‚ˇă®ç˘şäżťăŚă§ăŤăľă›ă‚“。"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "inode ăăă•ă‚ˇă®ç˘şäżťăŚă§ăŤăľă›ă‚“。"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "ă‚ąăŻăă—ă‡ăイスを巻ăŤć»ă›ăľă›ă‚“"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "ă–ăĽăセクタをクăŞă‚˘ă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "ă–ăĽăセクタをクăŞă‚˘ă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (%s ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’認č­ă—ăľă—ăź)。"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr ""
+"\n"
+"(ă‡ă‚Łă‚ąă‚Żä¸Šă§ă®)サイズ: "
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr "%s: ćら㏠-fPIC ă‚’ä»ă‘ăšă«ă‚łăłă‘イă«ă—ăźă®ă§ăŻďĽź"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "%d ăšăĽă‚¸ă®ĺŤ°ĺ·ă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: disk-utils/mkswap.c:501
+#, fuzzy, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr "%1$s: 警告: -U を無視ă—ăľă™ (UUIDsăŻ%1$să«ă‚ăŁă¦ă‚µăťăĽăă•ă‚Śăľă›ă‚“)\n"
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr " サăĽăăŻă“ă®ăăĽă‚¸ă§ăłă‚’サăťăĽăă—ă¦ă„ăľă›ă‚“ "
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "エă©ăĽ: UUID ă®č§Łćžă«ĺ¤±ć•—"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: エă©ăĽ: ă‚ąăŻăă—を有効ă«ă™ă‚‹ăźă‚ă®ĺ ´ć‰€ăŚăŞă„?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr ""
+"%s: エă©ăĽ: サイズ %llu KiB ăŚă‡ăイスă®ă‚µă‚¤ă‚ş %llu KiB ă‚りも大ăŤă„ă§ă™\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: エă©ăĽ: ă‚ąăŻăă—é ĺźźăŻĺ°‘ăŞăŹă¨ă‚‚ %ld KiB ĺż…č¦ă§ă™\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: 警告: ă‚ąăŻăă—é ĺźźă‚’ %llu KiB ă«ĺ‡ă‚Šč©°ă‚ăľă—ăź\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s: %s ăŻăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™; ă“ă“ă«ăŻă‚ąăŻăă—ç©şé–“ă‚’ă¤ăŹă‚Śăľă›ă‚“。\n"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "警告: %s ăŻă‚·ăłăśăŞăă‚ŻăŞăłă‚ŻăŚĺ‡ă‚Śă¦ă„ăľă™"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "ă‚ąăŻăă—空間を設定ă§ăŤăľă›ă‚“: 読込ă‚ăľă›ă‚“"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "ă‚ąăŻăă—ç©şé–“ăăĽă‚¸ă§ăł1を設定ă—ăľă™ă€ă‚µă‚¤ă‚ş = %llu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "状態ă•ă‚ˇă‚¤ă«č¨čż°ĺ­ %d ă«ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync ă«ĺ¤±ć•—"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "ă©ă™ă«č¨­ĺ®šä˝śćĄ­ăŚĺ¤±ć•—ă—ăľă—ăź: 一時ă•ă‚ˇă‚¤ă« %1 を作ćă§ăŤăľă›ă‚“。\n"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "%s ă‚’ć›´ć–°ă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "新規㮠selinux ă‚łăłă†ă‚­ă‚ąăを作ćă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "selinux ă‚łăłă†ă‚­ă‚ąăă‚’č¨ç®—ă§ăŤăľă›ă‚“"
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "%s ă‚’ć›´ć–°ă§ăŤăľă›ă‚“"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "色ă®ć•°"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłăŻ %1 セクタă®é•·ă•ă‚’äżťćŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłăŻ %1 セクタă®é•·ă•ă‚’äżťćŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "セクタ数/ăă©ăă‚Ż:"
+
+#: disk-utils/partx.c:83
+#, fuzzy
+msgid "human readable size"
+msgstr "可読ăŞĺŤç§°"
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "é ĺźźĺŤ = \"%s\"\n"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr "UUID ăŚä¸Ťć­Łă§ă™"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "ć–°ă—ă„ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă®ĺ˝˘ĺĽŹă‚’é¸ćŠž:"
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr "不当ăŞă•ă©ăă‚°"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# %s ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "ăŹăă‚·ăĄă»ă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: ç©şă„ă¦ă„ă‚‹ loop ă‡ăイスăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: loop ă‡ăイス %s を使ă„ăľă™\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr ""
+"ă‚ąăŻăă—ă•ă‚ˇă‚¤ă«ă®ă‚µă‚¤ă‚şĺ¤‰ć›´ă«ĺ¤±ć•—ă—ăľă—ăź\n"
+"ďĽč©łç´°ăľăźăŻĺŽźĺ› ăŻć¬ˇă®ă¨ăŠă‚Šă§ă™ďĽ‰\n"
+"\n"
+" %s"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "'%s' ă‹ă‚‰č¨­ĺ®šă•ă‚ˇă‚¤ă«ă®ă‘スを取得ă§ăŤăľă›ă‚“ă§ă—ăź"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "不ćŽăŞă‚«ă©ă : %s"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "ă‡ă‚Łă¬ă‚ŻăăŞă‚’削除ă™ă‚‹éš›ă«ă‚¨ă©ăĽ"
+
+#: disk-utils/partx.c:267
+#, fuzzy, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "ă‡ă‚Łă¬ă‚ŻăăŞă‚’削除ă™ă‚‹éš›ă«ă‚¨ă©ăĽ"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "ă‘ăă %s を削除ă—ăľă—ăź\\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "ă“ă®ă‘ăĽă†ă‚Łă‚·ă§ăłăŻć—˘ă«ĺ­ĺś¨ă—ăľă™ă€‚\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "鍵ă–ă­ăă‚Żă®ĺ‰Šé™¤ă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "仲間を追加ă™ă‚‹éš›ă«ă‚¨ă©ăĽ"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "仲間を追加ă™ă‚‹éš›ă«ă‚¨ă©ăĽ"
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "「追加ć¸ă€Ťă‚’表示"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "ă‡ă‚Łă¬ă‚ŻăăŞă®čż˝ĺŠ ăŚĺ¤±ć•—ă—ăľă—ăź: %s (対象: %s) (%d)"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "出力%dă‚’ă‡ăイス %s ă«č¨­ĺ®šă§ăŤăľă›ă‚“ă§ă—ăźă€‚"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "ăŹăă‚·ăĄă»ă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "出力%dă‚’ă‡ăイス %s ă«č¨­ĺ®šă§ăŤăľă›ă‚“ă§ă—ăźă€‚"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "出力ăăă•ă‚ˇă®ç˘şäżťă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "ăŹăă‚·ăĄă»ă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr "ć–°ă—ă„ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă®ĺ˝˘ĺĽŹă‚’é¸ćŠž:"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "ă‡ă‚Łă‚ąă‚Ż %s ăŻć­Łĺ¸¸ăŞă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’ĺ«ă‚“ă§ă„ăľă›ă‚“\n"
+
+#: disk-utils/partx.c:607
+#, fuzzy, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr "ă‡ă‚Łă‚ąă‚ŻăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“。"
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: disk-utils/partx.c:798
+#, fuzzy
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "--depth 㨠--set-depth ăŻäş’ă„ă«ćŽ’ä»–çš„ă§ă™"
+
+#: disk-utils/partx.c:817
+#, fuzzy, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr "[:upper:] 㨠[:lower:] ă¨ă®ć§‹ćăŚä¸€č‡´ă—ăľă›ă‚“"
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "ç©şă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’削除ă™ă‚‹ă“ă¨ăŻă§ăŤăľă›ă‚“"
+
+#: disk-utils/partx.c:832
+#, fuzzy, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "速度 %d ăŻă‚µăťăĽăă•ă‚Śăľă›ă‚“"
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "出力ăăă•ă‚ˇă®ç˘şäżťă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "ă–ă­ăă‚Żă•ă‚ˇă‚¤ă« '%s' (%s) ă‚’é…Ťç˝®ă§ăŤăľă›ă‚“\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "ă–ă­ăă‚Żă‡ăイスăŞă®ă§éŁ›ă°ă—ăľă™"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "ăžă‚ąă‚żăĽă­ă‚¦ă‡ăイスを開ăŹă“ă¨ăŚă§ăŤăľă›ă‚“"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "ă­ă‚¦ă‡ăイス '%s' (%s) ă‚’é…Ťç˝®ă§ăŤăľă›ă‚“\n"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "ă­ă‚¦ă‡ăイス '%s' ăŻă‚­ăŁă©ă‚Żă‚żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“\n"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "ă‡ăイス '%s' ăŻă­ă‚¦ă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“\n"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "ă‡ăイスć…報を取得ă™ă‚‹éš›ă«ă‚¨ă©ăĽ"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "ă‡ăイスć…報を取得ă™ă‚‹éš›ă«ă‚¨ă©ăĽ"
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "使ă„ć–ą: sfdisk --id ă‡ăイス ă‘ăĽă†ă‚Łă‚·ă§ăłç•ŞĺŹ· [ID]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "ăŹăă‚·ăĄă»ă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "ă‡ăイスă¸ă®ćŽĄç¶šăŚĺ¤±ă‚Źă‚Śăľă—ăź"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "ă‚ąăŻăă—を有効ă«ă§ăŤăľă›ă‚“"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "サăťăĽăă•ă‚Śă¦ă„ăŞă„ăˇă‹ăĄăĽăăĽă‚¸ă§ăł %d"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr ""
+"ă‚ąăŻăă—ă•ă‚ˇă‚¤ă«ă®ă‚µă‚¤ă‚şĺ¤‰ć›´ă«ĺ¤±ć•—ă—ăľă—ăź\n"
+"ďĽč©łç´°ăľăźăŻĺŽźĺ› ăŻć¬ˇă®ă¨ăŠă‚Šă§ă™ďĽ‰\n"
+"\n"
+" %s"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s ă¸ć›¸ăŤĺ‡şă™ă‚µă–ă—ă­ă‚»ă‚ąăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr ""
+"ă‚ąăŻăă—ă•ă‚ˇă‚¤ă«ă®ă‚µă‚¤ă‚şĺ¤‰ć›´ă«ĺ¤±ć•—ă—ăľă—ăź\n"
+"ďĽč©łç´°ăľăźăŻĺŽźĺ› ăŻć¬ˇă®ă¨ăŠă‚Šă§ă™ďĽ‰\n"
+"\n"
+" %s"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "%s ă¸ć›¸ăŤĺ‡şă™ă‚µă–ă—ă­ă‚»ă‚ąăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+#, fuzzy
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "%1$s: 警告: -U を無視ă—ăľă™ (UUIDsăŻ%1$să«ă‚ăŁă¦ă‚µăťăĽăă•ă‚Śăľă›ă‚“)\n"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: ăˇă˘ăŞăŚč¶łă‚Šăľă›ă‚“ďĽ\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "使用不可"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "ç©şăŤé ĺźź"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "ă‡ă‚Łă‚ąă‚ŻăŚĺ¤‰ć›´ă•ă‚Śăľă—ăźă€‚\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr "é ĺźźć…報を正ă—ăŹć›´ć–°ă•ă›ă‚‹ă«ăŻă‚·ă‚ąă†ă ă‚’再起動ă—ă¦ăŹă ă•ă„。\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"警告: DOS 6.x é ĺźźă‚’作ćă€ăľăźăŻĺ¤‰ć›´ă—ă¦ă—\n"
+"ăľăŁăźĺ ´ĺăŻă€cfdisk ăžă‹ăĄă‚˘ă«ă«ă‚る追加ć…ĺ ±ăšăĽă‚¸\n"
+"を参照ă—ă¦ăŹă ă•ă„。\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "*致命的ăŞă‚¨ă©ăĽ*"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "中断ă™ă‚‹ă«ăŻä˝•ă‹ă‚­ăĽă‚’入力ă—ă¦ăŹă ă•ă„"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‰ă©ă‚¤ă–上㧠seek ă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‰ă©ă‚¤ă–を読ăżčľĽă‚ăľă›ă‚“"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‰ă©ă‚¤ă–ă«ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "é ĺźźăŚĺ¤šă™ăŽăľă™"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "é ĺźźăŚă‚»ă‚Żă‚ż 0 ă‚ă‚Šăľăă‹ă‚‰ĺ§‹ăľăŁă¦ă„ăľă™"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "é ĺźźăŚă‚»ă‚Żă‚ż 0 ă‚り前ă§çµ‚ă‚ŹăŁă¦ă„ăľă™"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "é ĺźźăŚă‡ă‚Łă‚ąă‚Żă®çµ‚ç‚ąă‚りも後ろă‹ă‚‰ĺ§‹ăľăŁă¦ă„ăľă™"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "é ĺźźăŚă‡ă‚Łă‚ąă‚Żă®çµ‚ç‚ąă‚りも後ろă§çµ‚ă‚ŹăŁă¦ă„ăľă™"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "č«–ç†é ĺźźăŚă‡ă‚Łă‚ąă‚Żă®é †ĺşŹă¨ä¸€č‡´ă—ăľă›ă‚“"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "č«–ç†é ĺźźăŚé‡Ťč¤‡ă—ă¦ă„ăľă™"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "拡大ă•ă‚Śăźč«–ç†é ĺźźăŚé‡Ťč¤‡ă—ă¦ă„ăľă™"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! 内é¨ă‚¨ă©ăĽă€‚拡張é ĺźźä»Ąĺ¤–ă«č«–ç†ă‰ă©ă‚¤ă–を作ćă—ă‚ă†ă¨ă—ă¦ă„ăľă™ !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"ă“ă“ă«ăŻč«–ç†ă‰ă©ă‚¤ă–を作ćă§ăŤăľă›ă‚“ -- 2 ă¤ă®ć‹ˇĺĽµé ĺźźă§ă‚ă‚Śă°ä˝śćă—ăľă™"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "ăˇă‹ăĄăĽé …ç›®ĺŤăŚé•·ă™ăŽăľă™ă€‚ăˇă‹ăĄăĽčˇ¨ç¤şăŚäą±ă‚Śă¦ă„る可č˝ć€§ăŚă‚ă‚Šăľă™ă€‚"
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "不正ăŞă‚­ăĽ"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "続ă‘ă‚‹ă«ăŻä˝•ă‹ă‚­ăĽă‚’入力ă—ă¦ăŹă ă•ă„"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "基本é ĺźź"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "新規ă«ĺźşćś¬é ĺźźă‚’作ćă—ăľă™"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "č«–ç†é ĺźź"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "新規ă«č«–ç†é ĺźźă‚’作ćă—ăľă™"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "中止"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "é ĺźźă‚’作ćă—ăľă›ă‚“"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! 内é¨ă‚¨ă©ăĽ !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "サイズ (MB ĺŤä˝Ť): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "最ĺťă‹ă‚‰"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "ç©şăŤé ĺźźă®ćś€ĺťă«é ĺźźă‚’追加"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "最後ă‹ă‚‰"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "ç©şăŤé ĺźźă®ćś€ĺľŚă«é ĺźźă‚’追加"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "拡張é ĺźźă‚’作ćă™ă‚‹ăźă‚ă®ĺ ´ć‰€ăŚă‚ă‚Šăľă›ă‚“"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ăŚă‚ă‚Šăľă›ă‚“。\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ăŚă‚ă‚Šăľă›ă‚“。ゼă­ă†ăĽă–ă«ă§é–‹ĺ§‹ă—ă¦ă„ăľă™ă€‚"
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "é ĺźźă†ăĽă–ă«ă®ç˝˛ĺŤăŚä¸Ťć­Łă§ă™"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "不ćŽăŞă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă®ă‚żă‚¤ă—"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "ă‚Ľă­ă†ăĽă–ă«ă§é–‹ĺ§‹ă—ăľă—ょă†ă‹ [y/N] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "ă‡ă‚Łă‚ąă‚Żă«ă¨ăŁă¦é©ĺ‡ăŞć•°ă‚りも多ăŹă®ă‚·ăŞăłă€ć•°ă‚’指定ă•ă‚Śăľă—ăź"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‰ă©ă‚¤ă–ă‚’é–‹ă‘ăľă›ă‚“"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‚’読込ăżĺ°‚用ă§é–‹ăŤăľă—ăź -- ă‚ăŞăźă«ăŻć›¸čľĽăżć¨©é™ăŚă‚ă‚Šăľă›ă‚“"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"警告!! サăťăĽăă—ă¦ă„ăŞă„ GPT (GUID ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«) を検出ă—ăľă—ăźă€‚"
+"GNU Parded を使ăŁă¦ăŹă ă•ă„"
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‚µă‚¤ă‚şă‚’取得ă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "不正ăŞĺźşćś¬é ĺźź"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "不正ăŞč«–ç†é ĺźź"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "č­¦ĺ‘ŠďĽ ă“ă‚ŚăŻă‚ăŞăźă®ă‡ă‚Łă‚ąă‚Żă«ă‚ă‚‹ă‡ăĽă‚żă‚’破壊ă™ă‚‹ă‹ă‚‚ă—ă‚Śăľă›ă‚“"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăłé ĺźźă‚’ă‡ă‚Łă‚ąă‚Żă«ć›¸ăŤčľĽă‚“ă§ă‚‚ă‚ă‚Ťă—ă„ă§ă™ă‹ďĽź(yes ăľăźăŻ no): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "no"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "é ĺźźă†ăĽă–ă«ă‚’ă‡ă‚Łă‚ąă‚Żă«ć›¸ăŤčľĽăżăľă›ă‚“ă§ă—ăź"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "yes"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "`yes' ă‹ `no' ă®ă„ăšă‚Śă‹ă‚’入力ă—ă¦ăŹă ă•ă„"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’書ăŤčľĽăżä¸­..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "é ĺźźă†ăĽă–ă«ă‚’ă‡ă‚Łă‚ąă‚Żă«ć›¸ăŤčľĽăżăľă—ăź"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"é ĺźźă†ăĽă–ă«ă‚’書ăŤčľĽăżăľă—ăźăŚă€ĺ†ŤčŞ­čľĽăżă«ĺ¤±ć•—。再起動ă—ă¦ć›´ć–°ă—ă¦ăŹă ă•ă„"
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"ă–ăĽă可č˝ăžăĽă‚Żä»ăŤĺźşćś¬é ĺźźăŚă‚ă‚Šăľă›ă‚“。DOS MBR ăŻă“ă‚Śă‚’ă–ăĽăă§ăŤăľă›ă‚“。"
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"ă–ăĽă可č˝ăžăĽă‚Żä»ăŤĺźşćś¬é ĺźźăŚč¤‡ć•°ă‚ă‚Šăľă™ă€‚DOS MBR ăŻă“ă‚Śă‚’ă–ăĽăă§ăŤăľă›"
+"ん。"
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "ă•ă‚ˇă‚¤ă«ĺŤă‚’入力ă€ç”»éť˘ă«čˇ¨ç¤şă™ă‚‹ĺ ´ĺăŻăŞă‚żăĽăłă‚­ăĽ: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‰ă©ă‚¤ă–: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "セクタ 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "セクタ %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " 無㗠"
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " 基本/č«–ç†"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " 基本"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " č«–ç†"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "不ćŽ"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "ă–ăĽă"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "None"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "%s ă‘ăĽă†ă‚Łă‚·ă§ăłć…ĺ ±\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " 最ĺťă® 最後ă®\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # é ĺźź セクタ セクタ ă‚Şă•ă‚»ăă 大ăŤă• Filesystemタイă—(ID) ă•"
+"ă©ă‚°\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----最ĺťă®----- ----最後ă®----- 開始 Number of\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Flags Head Sect Cyl ID Head Sect Cyl セクタ番号 セクタ数\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "生ă‡ăĽă‚ż"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "生ă‡ăĽă‚żă®ĺ˝˘ĺĽŹă§ă‘ăĽă†ă‚Łă‚·ă§ăłć…報を出力"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "セクタ"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "セクタ順ă«ă‘ăĽă†ă‚Łă‚·ă§ăłć…報を出力"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "ă†ăĽă–ă«"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "ĺŤă«é ĺźźć…報を表示"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "é ĺźźć…報を出力ă—ăŞă„"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "cfdisk ă®ăă«ă—画面"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "cfdisk ăŻç«Żćś«ĺž‹ă‡ă‚Łă‚ąă‚Żé ĺźźä˝śćă—ă­ă‚°ă©ă ă§ă™ă€‚"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "ăŹăĽă‰ă‡ă‚Łă‚ąă‚Żă‰ă©ă‚¤ă–ă®é ĺźźă‚’作ćă€ĺ‰Šé™¤ă€ĺ¤‰ć›´"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "ă™ă‚‹ă“ă¨ăŚă§ăŤăľă™ă€‚"
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "ă‚łăžăłă‰ 説ćŽ"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b ă‚«ăĽă‚˝ă«ä¸Šă®é ĺźźă®ă–ăĽăă•ă©ă‚°ă®ĺ‡ć›ż"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d ă‚«ăĽă‚˝ă«ä¸Šă®é ĺźźă‚’削除"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g ă‚·ăŞăłă€, ăăă€, ăă©ăク当ăźă‚Šă®ă‚»ă‚Żă‚żć•°ă‚’変更"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " 警告: ă“ă®ă‚Şă—ă‚·ă§ăłăŚä˝•ă‚’ă™ă‚‹ă‚‚ă®ă‹ç†č§Łă—ă¦ă„ăŞă„äşş"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " ăŻä˝żç”¨ă—ă¦ăŻă„ă‘ăŞă„。"
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h ă“ă®ç”»éť˘ă‚’表示"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m ă‚«ăĽă‚˝ă«ä¸Šă®é ĺźźă®ă‡ă‚Łă‚ąă‚Żä˝żç”¨é‡Źă‚’最大ă«ă™ă‚‹ă€‚"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " 注意: ă“ă®ă‚Şă—ă‚·ă§ăłăŻă€DOS, OS/2 ç­‰ă¨äş’換性ă®ăŞă„"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " é ĺźźă‚’作ćă™ă‚‹ĺŹŻč˝ć€§ăŚă‚ă‚Šăľă™ă€‚"
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n ç©şăŤé ĺźźă‹ă‚‰ć–°č¦Źă«é ĺźźă‚’作ć"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p é ĺźźć…報を画面ăľăźăŻă‡ă‚Łă‚ąă‚Żă«ĺ‡şĺŠ›ă™ă‚‹"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " é ĺźźă®ĺ‡şĺŠ›ă«ăŻć¬ˇă®ă‚ă†ăŞč¤‡ć•°ă®ĺ˝˘ĺĽŹă‹ă‚‰é¸ćŠž"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " ă§ăŤă‚‹:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr " r - 生ă‡ăĽă‚ż(ă‡ă‚Łă‚ąă‚Żă«ć›¸ăŤčľĽăľă‚Śă‚‹ć…ĺ ±ăťă®ă‚‚ă®)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - セクタ順ă®ă‘ăĽă†ă‚Łă‚·ă§ăłć…ĺ ±"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - 生ă®ĺ˝˘ĺĽŹă®ă‘ăĽă†ă‚Łă‚·ă§ăłć…ĺ ±"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q é ĺźźć…報を書ăŤčľĽăľăšă«ă—ă­ă‚°ă©ă ă‚’終了"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—を変更"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u 表示ă™ă‚‹é ĺźźă‚µă‚¤ă‚şă®ĺŤä˝Ťă‚’変更ă™ă‚‹"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " MB, セクタ, ă‚·ăŞăłă€ă®é †ă«ĺľŞç’°ă™ă‚‹"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W é ĺźźć…報をă‡ă‚Łă‚ąă‚Żă«ć›¸ăŤčľĽă‚€(大文字 W ă‚’"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " 入力ă—ăŞă‘ă‚Śă°ăŞă‚‰ăŞă„)。ă“ă®ă‚Şă—ă‚·ă§ăłăŻă‡ă‚Łă‚ąă‚Żä¸Šă®"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " ă‡ăĽă‚żă‚’破壊ă™ă‚‹ĺŹŻč˝ć€§ăŚă‚ă‚‹ăźă‚ă€'yes'ăľăźăŻ'no'ă®ĺ…Ą"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " 力ă«ă‚ă‚Šă€ć›¸ăŤčľĽăżă‚’行ă†ă‹ă©ă†ă‹ă‚’確認ă™ă‚‹ă€‚"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "上矢印キ㼠上ă®é ĺźźă«ă‚«ăĽă‚˝ă«ă‚’移動"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "下矢印キ㼠下ă®é ĺźźă«ă‚«ăĽă‚˝ă«ă‚’移動"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L 画面を再描画"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? ă“ă®ç”»éť˘ă‚’表示"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "注意: ă‚łăžăłă‰ăŻă™ăąă¦ĺ¤§ć–‡ĺ­—ă€ĺ°Źć–‡ĺ­—ă©ăˇă‚‰ă§ă‚‚使用ă§ăŤăľă™"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "(書ăŤčľĽăżă‚’除ăŹ)。"
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "ă‚·ăŞăłă€"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "ă‚·ăŞăłă€ă®ă‚¸ă‚ŞăˇăăŞă‚’変更"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "ăăă‰ć•°"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "ăăă‰ă®ă‚¸ă‚ŞăˇăăŞă‚’変更"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "セクタă®ă‚¸ă‚ŞăˇăăŞă‚’変更"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "終了"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "ジオăˇăăŞă‚’変更ă—ă¦çµ‚了"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "ă‚·ăŞăłă€ć•°ă‚’入力ă—ă¦ăŹă ă•ă„: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "不正ăŞă‚·ăŞăłă€ć•°"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "ăăă€ć•°ă‚’入力ă—ă¦ăŹă ă•ă„: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "不正ăŞăăă‰ć•°"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "ăă©ăク当ăźă‚Šă®ă‚»ă‚Żă‚żć•°ă‚’入力ă—ă¦ăŹă ă•ă„: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "不正ăŞă‚»ă‚Żă‚żć•°"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—を入力ă—ă¦ăŹă ă•ă„: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—ă‚’ç©şă«ĺ¤‰ć›´ă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—を拡張ă«ĺ¤‰ć›´ă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "不ćŽ(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "基本/č«–ç†"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "ä¸ŤćŽ (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‰ă©ă‚¤ă–: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "サイズ: %lld ăイă, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "サイズ: %lld ăイă. %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "ăăă‰: %d ăă©ăク当ăźă‚Šă®ă‚»ă‚Żă‚ż: %d ă‚·ăŞăłă€: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "ĺŤĺ‰Ť"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "ă•ă©ă‚°"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă‚żă‚¤ă—"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "FSタイă—"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[ă©ă™ă«]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " セクタ "
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " ă‚·ăŞăłă€ "
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " サイズ (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " サイズ (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "ă“れ以上ă®ă‘ăĽă†ă‚Łă‚·ă§ăłăŻă‚ă‚Šăľă›ă‚“"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "ă–ăĽă可"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "ă‚«ăĽă‚˝ă«ä¸Šă®ă‘ăĽă†ă‚Łă‚·ă§ăłă®ă–ăĽăă•ă©ă‚°ă‚’ĺ‡ă‚Šć›żăă‚‹"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "削除"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "ă‚«ăĽă‚˝ă«ä¸Šă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’削除"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "ジオăˇăăŞ"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‚¸ă‚ŞăˇăăŞă‚’変更ă™ă‚‹(エキスă‘ăĽă用)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "ăă«ă—"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "ăă«ă—画面を表示"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "最大化"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "ă‚«ăĽă‚˝ă«ä¸Šă®ă‘ăĽă†ă‚Łă‚·ă§ăłă®ă‡ă‚Łă‚ąă‚Żä˝żç”¨é‡Źă‚’最大化 (エキスă‘ăĽă用)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "新規作ć"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "ç©şăŤă‘ăĽă†ă‚Łă‚·ă§ăłă‹ă‚‰ć–°ă—ăŹă‘ăĽă†ă‚Łă‚·ă§ăłă‚’作ć"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "表示"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłć…報を画面ăľăźăŻă•ă‚ˇă‚¤ă«ă«ĺ‡şĺŠ›"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "終了"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłć…報を書ăŤčľĽăľăšă«ă—ă­ă‚°ă©ă ă‚’終了"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "FSタイă—"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ă‚żă‚¤ă—を変更ă™ă‚‹(DOS, Linux, OS/2 ăŞă©)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "ĺŤä˝Ť"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "表示ă™ă‚‹ă‘ăĽă†ă‚Łă‚·ă§ăłă‚µă‚¤ă‚şă®ĺŤä˝Ť(MB, セクタ, ă‚·ăŞăłă€)を変更ă™ă‚‹"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "書ăŤčľĽăż"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłć…報をă‡ă‚Łă‚ąă‚Żă«ć›¸ăŤčľĽă‚€(ă‡ăĽă‚żă‚’破壊ă™ă‚‹ĺŹŻč˝ć€§ă‚ă‚Š)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "ă“ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’ă–ăĽă可č˝ă«ăŻă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "ç©şă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’削除ă™ă‚‹ă“ă¨ăŻă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "ă“ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’最大化ă™ă‚‹ă“ă¨ăŻă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "ă“ă®ă‘ăĽă†ă‚Łă‚·ă§ăłăŻä˝żç”¨ă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "ă“ă®ă‡ă‚Łă‚ąă‚ŻăŻçŹľĺś¨ä˝żç”¨ä¸­ă§ă™ă€‚"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "ç©şă®ă‘ăĽă†ă‚Łă‚·ă§ăłă®ă‚żă‚¤ă—を変更ă™ă‚‹ă“ă¨ăŻă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "不正ăŞă‚łăžăłă‰"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"使ă„ć–ą:\n"
+"ăăĽă‚¸ă§ăłă‚’表示:\n"
+" %s -v\n"
+"ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’表示:\n"
+" %s -P {r|s|t} [ă‚Şă—ă‚·ă§ăł] ă‡ăイス\n"
+"対話的ă«ä˝żç”¨:\n"
+" %s [ă‚Şă—ă‚·ă§ăł] ă‡ăイス\n"
+"\n"
+"ă‚Şă—ă‚·ă§ăł:\n"
+"-a: 反転表示ă®ä»Łă‚Źă‚Šă«çź˘ĺŤ°ă‚’使用\n"
+"-z: ă‡ă‚Łă‚ąă‚Żă‹ă‚‰é ĺźźă‚’読込ăľăšă€ă‚Ľă­ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă¨ă—ă¦é–‹ĺ§‹ă™ă‚‹\n"
+"-c C -h H -s S: ă‚«ăĽăŤă«ăŚćśźĺľ…ă™ă‚‹ă‚·ăŞăłă€ć•°ă€ăăă‰ć•°ă€ă‚»ă‚Żă‚ż/ăă©ăă‚Żć•°ă‚’\n"
+" 覆ă™\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr "ă‚·ăŞăłă€ć•°ă‚’入力ă—ă¦ăŹă ă•ă„: "
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "ć•°ĺ­— '%s' を解ćžă§ăŤăľă›ă‚“"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "ć•°ĺ­— '%s' を解ćžă§ăŤăľă›ă‚“"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tă“ă®ă‡ă‚Łă‚ąă‚Żă«ăŻć­Łĺ¸¸ăŞ AIX ă©ă™ă«ăŚă‚ă‚Šăľă™ă€‚\n"
+"\t非常ă«ć®‹ĺżµă§ă™ăŚă€ä»Šă®ă¨ă“ă‚Ť Linux ăŻă“れらă®ă‡ă‚Łă‚ąă‚Żă‚’\n"
+"\t扱ă†ă“ă¨ăŚă§ăŤăľă›ă‚“。ă—ă‹ă—ăŞăŚă‚‰ă€ă„ăŹă¤ă‹ă®ĺŠ©č¨€ă‚’\n"
+"\tă—ă¦ăŠăŤăľă™:\n"
+"\t1. fdisk ăŻć›¸ăŤčľĽăżä¸­ă«ăťă®ĺ†…容を破壊ă—ăľă™ă€‚\n"
+"\t2. ă“ă®ă‡ă‚Łă‚ąă‚ŻăŚăśăŞăĄăĽă ă‚°ă«ăĽă—ă®é‡Ťč¦ăŞé¨ĺ†ă§ăŻ*ăŞă„*äş‹ă‚’\n"
+"\t 確ă‹ă‚ăľă—ょă†ă€‚(ä»–ă®ć–ąćł•ă¨ă—ă¦ăŻă€ăźă©ăĽă—ă¦ă„ă‚‹ă®ă§ăŻăŞă„\n"
+"\t ä»–ă®ă‡ă‚Łă‚ąă‚Żă‚’削除ă™ă‚‹ă®ă‚‚ă„ă„ă§ă—ょă†)\n"
+"\t3. ă“ă®ç‰©ç†ăśăŞăĄăĽă ă‚’削除ă™ă‚‹ĺ‰Ťă«ă€ă‚ăŞăźă® AIX ăžă‚·ăłă‹ă‚‰\n"
+"\t ĺż…ăšă‡ă‚Łă‚ąă‚Żä¸Šă®č«–ç†ă‡ă‚Łă‚ąă‚Żă‚’削除ă—ă¦ăŹă ă•ă„。(ä»–ă®ć–ąćł•\n"
+"\t ă¨ă—ă¦ăŻă€ă‚ăŞăźăŚé”äşş(AIXpert)ă«ăŞă‚‹ă“ă¨ă§ă™)"
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\t残念 - ă“ă® fdisk 㯠AIX ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’扱ăăľă›ă‚“。\n"
+"\tDOS ĺž‹ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’追加ă—ăźă‘ă‚Śă°ă€ç©şă®ć–°ăźăŞ DOS\n"
+"\tă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’作ćă—ă¦ăŹă ă•ă„。(o を使ă†)\n"
+"\t警告: ă“ă‚ŚăŻçŹľĺś¨ă®ă‡ă‚Łă‚ąă‚Żĺ†…容を破壊ă—ăľă™ă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"ă‡ăイス㮠BSD ă‡ă‚Łă‚ąă‚Żă©ă™ă«: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "%s ă«ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’書ăŤčľĽăżăľă™ă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "ćś€ĺť %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "終点 %s ăľăźăŻ +サイズ ăľăźăŻ +サイズM ăľăźăŻ +サイズK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s ăŻă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’ĺ«ă‚“ă§ă„ăľă›ă‚“。\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’作ćă—ăľă™ă‹? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŻä¸Ťć­ŁăŞĺ§‹ç‚ąă‚»ă‚Żă‚ż 0 ă§ĺ§‹ăľăŁă¦ă„ăľă™ă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "%s ă®ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă®ă‚»ă‚Żă‚ż %d を読込ăżăľă™ă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "%s ă«ăŻ *BSD ă‘ăĽă†ă‚Łă‚·ă§ăłăŻă‚ă‚Šăľă›ă‚“。\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚łăžăłă‰ (m ă§ăă«ă—): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "タイă—: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "タイă—: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "ă‡ă‚Łă‚ąă‚Ż: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "ă©ă™ă«: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "ă•ă©ă‚°:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " 取出ă—可č˝"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "ăイă/セクタ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "セクタ/ăă©ăă‚Ż: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "ăă©ăă‚Ż/ă‚·ăŞăłă€: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "セクタ/ă‚·ăŞăłă€: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "ă‚·ăŞăłă€: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "回転数: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# ăźăŞç§’\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "track-to-track seek: %ld\t# ăźăŞç§’\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d 個ă®ă‘ăĽă†ă‚Łă‚·ă§ăł:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# 開始 終了 サイズ fs 型 [fsize bsize cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "ăイă/セクタ"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "セクタ/ăă©ăă‚Ż"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "ăă©ăă‚Ż/ă‚·ăŞăłă€"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "ă‚·ăŞăłă€ć•°"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "セクタ/ă‚·ăŞăłă€"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr ""
+"ă‡ă•ă‚©ă«ă㧠sectors/track * tracks/cylinder 以下ă§ăŞă‘ă‚Śă°ăŞă‚‰ăŞă„。\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "track-to-track seek"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "ă–ăĽăă‚ąăă©ăă—: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "ă–ăĽăă‚ąăă©ăă—ăŚă‡ă‚Łă‚ąă‚Żă©ă™ă«ă¨é‡ŤăŞăŁă¦ă„ăľă™ďĽ\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "ă–ăĽăă‚ąăă©ăă—㯠%s ă«ă‚¤ăłă‚ąăăĽă«ă•ă‚Śăľă—ăźă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "最大ă‘ăĽă†ă‚Łă‚·ă§ăłć•°ăŻä˝śćć¸ă§ă™\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "ă“ă®ă‘ăĽă†ă‚Łă‚·ă§ăłăŻć—˘ă«ĺ­ĺś¨ă—ăľă™ă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăłăŚĺ¤šă™ăŽăľă™ (%d, 最大㯠%d)。\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"ă‡ă‚Łă‚ąă‚Żă¨ĺŚćśźă—ă¦ă„ăľă™ă€‚\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a ă–ăĽă可č˝ă•ă©ă‚°ă‚’ă¤ă‘ă‚‹"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a 読込ăżĺ°‚用ă•ă©ă‚°ă‚’ă¤ă‘ă‚‹"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a ă–ăĽă可č˝ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’é¸ćŠžă™ă‚‹"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a 代替シăŞăłă€ć•°ă‚’変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b bsd ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’編集ă™ă‚‹"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b ă–ăĽăă•ă‚ˇă‚¤ă«ă‚¨ăłăăŞă‚’編集ă™ă‚‹"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b ă‘ăĽă†ă‚Łă‚·ă§ăłĺ†…ă®ă‡ăĽă‚żă®ĺ…é ­ă«ç§»ĺ‹•ă™ă‚‹"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c dos 互換ă•ă©ă‚°ă‚’ă¤ă‘ă‚‹"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c ăžă‚¦ăłă可č˝ă•ă©ă‚°ă‚’ă¤ă‘ă‚‹"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c sgi ă‚ąăŻăă—ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’é¸ćŠžă™ă‚‹"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c ă‚·ăŞăłă€ć•°ă‚’変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’削除ă™ă‚‹"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ĺ†…ă®ç”źă‡ăĽă‚żă‚’表示ă™ă‚‹"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e ă‚·ăŞăłă€ćŻŽă®ä˝™ĺ‰°ă‚»ă‚Żă‚żć•°ă‚’変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e 拡張ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’ăŞă‚ąă表示ă™ă‚‹"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e ă‰ă©ă‚¤ă–ă‡ăĽă‚żă‚’編集ă™ă‚‹"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f ă‘ăĽă†ă‚Łă‚·ă§ăłă®é †ĺşŹă‚’é©ć­ŁĺŚ–ă™ă‚‹"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g IRIX (SGI) ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’作ćă™ă‚‹"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h ăăă‰ć•°ă‚’変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i イăłă‚żăĽăŞăĽă–ă•ă‚ˇă‚Żă‚żă‚’変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " i ă‡ă‚Łă‚ąă‚Żč­ĺĄĺ­ă‚’変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i ă–ăĽăă‚ąăă©ăă—をイăłă‚ąăăĽă«ă™ă‚‹"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l 既知ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚żă‚¤ă—ă‚’ăŞă‚ąă表示ă™ă‚‹"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m ă“ă®ăˇă‹ăĄăĽă‚’表示ă™ă‚‹"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n ć–°ăźă«ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’作ćă™ă‚‹"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o ć–°ăźă«ç©şă® DOS ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’作ćă™ă‚‹"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o 回転数を変更ă™ă‚‹ (rpm)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "ĺŤă«é ĺźźć…報を表示"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q 変更を保ĺ­ă›ăšă«çµ‚了ă™ă‚‹"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r ăˇă‚¤ăłăˇă‹ăĄăĽă«ć»ă‚‹"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s ç©şă® Sun ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’作ćă™ă‚‹"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s セクタ数/ăă©ăクを変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s 完全ăŞă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’表示ă™ă‚‹"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t ă‘ăĽă†ă‚Łă‚·ă§ăłă®ă‚·ă‚ąă†ă  ID を変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u 表示/é …ç›®ă¦ă‹ăăを変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’ç…§ĺă™ă‚‹"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w ă†ăĽă–ă«ă‚’ă‡ă‚Łă‚ąă‚Żă«ć›¸ăŤčľĽăżă€çµ‚了ă™ă‚‹"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’ă‡ă‚Łă‚ąă‚Żă«ć›¸ăŤčľĽă‚€"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x 特ĺĄăŞć©źč˝ (エキスă‘ăĽă専用)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x BSD ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’éťž BSD ă‘ăĽă†ă‚Łă‚·ă§ăłă¨ăŞăłă‚Żă™ă‚‹"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y 物ç†ă‚·ăŞăłă€ć•°ă‚’変更ă™ă‚‹"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "%s を読ăżčľĽă‚€ă“ă¨ăŚă§ăŤăľă›ă‚“"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "%x 㸠seek ă§ăŤăľă›ă‚“ (%s)\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "%s ă«ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "ă‚·ăłăśăŞăă‚ŻăŞăłă‚Ż %s ă®ăェăă‚Żă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "致命的ăŞă‚¨ă©ăĽ"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "ă‚łăžăłă‰ă®ĺ‹•ä˝ś"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "設定ă™ă‚‹ĺż…č¦ăŚă‚ă‚Šăľă™"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "ăăă‰ć•°"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "セクタ数"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"ă‚ăŞăźăŻç‰ąĺĄć©źč˝ăˇă‹ăĄăĽă‹ă‚‰ă“れを行ăŞă†ă“ă¨ăŚă§ăŤăľă™\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " 及㳠"
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"警告: DOS互換ă˘ăĽă‰ăŻĺ»ć­˘äşĺ®šă§ă™ă€‚ă“ă®ă˘ăĽă‰ (ă‚łăžăłă‰ 'c') ă‚’ć­˘ă‚ă‚‹ă“ă¨ă‚’\n"
+" 強ăŹćŽ¨ĺĄ¨ă—ăľă™ă€‚"
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "本当ă«Midnight Commanderを終了ă•ă›ăľă™ă‹?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "16進数コăĽă‰ (L ă‚łăžăłă‰ă§ă‚łăĽă‰ăŞă‚ąă表示): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, ĺťćśźĺ€¤ %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "サăťăĽăă•ă‚ŚăŞă„接尾辞: '%s'。\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"サăťăĽă: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "ĺťćśźĺ€¤ %u を使ă„ăľă™\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "範囲外ă®ĺ€¤ă§ă™ă€‚\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłç•ŞĺŹ·"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻç©şă®ă‚żă‚¤ă—ă§ă™ă€‚\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "é¸ćŠžă—ăźă‘ăĽă†ă‚Łă‚·ă§ăł %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłăŚĺ®šçľ©ă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "ă‚·ăŞăłă€"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "セクタ"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "表示/é …ç›®ă¦ă‹ăăă‚’ă‚·ăŞăłă€ă«ĺ¤‰ć›´ă—ăľă™ (ĺ»ć­˘äşĺ®š)\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "表示/é …ç›®ă¦ă‹ăăをセクタă«ĺ¤‰ć›´ă—ăľă™\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻć‹ˇĺĽµă‘ăĽă†ă‚Łă‚·ă§ăłă§ă™\n"
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOS互換ă•ă©ă‚°ăŚč¨­ĺ®šă•ă‚Śăľă—ăź (ĺ»ć­˘äşĺ®š)\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS互換ă•ă©ă‚°ăŻč¨­ĺ®šă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ă«ăŻă‡ăĽă‚żé ĺźźăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻăľă ĺ­ĺś¨ă—ăľă›ă‚“ďĽ\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"タイ㗠0 ăŻĺ¤šăŹă®ă‚·ă‚ąă†ă ă§ă•ăŞăĽă‚ąăšăĽă‚ąă‚’ć„Źĺ‘łă—ăľă™\n"
+"(Linux ă§ăŻé•ă„ăľă™ăŚ)。タイ㗠0 ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’ćŚă¤ă“ă¨ăŻ\n"
+"多ĺ†ćµ…ăŻă‹ăŞă“ă¨ă§ă™ă€‚ă‚ăŞăźăŻ `d' ă‚łăžăłă‰ă‚’使ăŁă¦ă“ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’\n"
+"削除ă§ăŤăľă™ă€‚\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"ă‚ăŞăźăŻă‘ăĽă†ă‚Łă‚·ă§ăłă‚’拡張ă‘ăĽă†ă‚Łă‚·ă§ăłă«ĺ¤‰ć›´ă§ăŤăľă›ă‚“ă—ă€ăťă®é€†ă‚‚ăľăź\n"
+"ă§ăŤăľă›ă‚“。ăľăšĺ‰Šé™¤ă‚’行ăŞăŁă¦ăŹă ă•ă„。\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăł 3 ă‚’ Whole disk (5) ă¨ă—ă¦ć®‹ă—ă¦ăŠăŹă“ă¨ă‚’č€ć…®ă—ă¦ăŹă ă•ă„ă€\n"
+"SunOS/Solaris ăŻă“ă‚Śă‚’ćśźĺľ…ă—ăľă™ă—ă€Linux ă§ă•ăăťă‚ŚăŚćś›ăľă—ă„ă§ă™ă€‚\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăł 9 ă‚’ volume header (0) ă¨ă—ă¦ă€ĺŹŠăłă‘ăĽă†ă‚Łă‚·ă§ăł 11 ă‚’\n"
+"entire volume (6) ă¨ă—ă¦ć®‹ă—ă¦ăŠăŹă“ă¨ă‚’č€ć…®ă—ă¦ăŹă ă•ă„。\n"
+"IRIX ăŻă“ă‚Śă‚’ćłĺ®šă—ăľă™ă€‚\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă®ă‚·ă‚ąă†ă ă‚żă‚¤ă—ă‚’ %d ă‹ă‚‰ %x (%s) ă«ĺ¤‰ć›´ă—ăľă—ăź\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ă®ă‚·ă‚ąă†ă ă‚żă‚¤ă—ăŻĺ¤‰ć›´ă•ă‚Śăľă›ă‚“: %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻç•°ăŞăŁăźç‰©ç†/č«–ç†é–‹ĺ§‹ä˝Ťç˝®ă«ăŞăŁă¦ă„ăľă™(Linux ă§ăŻç„ˇ"
+"ă„?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " 物ç†=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "č«–ç†=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻç•°ăŞăŁăźç‰©ç†/č«–ç†çµ‚ç‚ąă«ăŞăŁă¦ă„ăľă™:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %i ăŻă€ă‚·ăŞăłă€ĺ˘ç•Śă§çµ‚ă‚ŹăŁă¦ă„ăľă›ă‚“。\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %i ăŻç‰©ç†ă‚»ă‚Żă‚żĺ˘ç•Śă§ĺ§‹ăľăŁă¦ă„ăľă›ă‚“:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"ă‡ă‚Łă‚ąă‚Ż %s: %ld MB, %lld ăイă\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"ă‡ă‚Łă‚ąă‚Ż %s: %ld.%ld GB, %lld ăイă\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", ĺč¨ %llu セクタ"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "ăă㉠%d, セクタ %llu, ă‚·ăŞăłă€ %d"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Units = %s of %d * %d = %d ăイă\n"
+
+#: fdisks/fdisk.c:1015
+#, fuzzy, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "セクタサイズ (č«–ç† / 物ç†): %u ăイă / %lu ăイă\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr "I/O サイズ (最小 / 推奨): %lu ăイă / %lu ăイă\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "アă©ă‚¤ăˇăłăă‚Şă•ă‚»ăă: %lu ăイă\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"行ă†ăąăŤă“ă¨ăŻă‚ă‚Šăľă›ă‚“。既ă«ć­Łĺ¸¸ăŞé †ĺşŹă«ăŞăŁă¦ă„ăľă™ă€‚\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "終了\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă«č¦‹ăăľă›ă‚“\n"
+"ăŠăťă‚‰ăŹé–“é•ăŁăźă‡ăイスをé¸ćŠžă—ă¦ă„ăľă™ă€‚\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s ă–ăĽă 始点 終点 ă–ă­ăă‚Ż Id ă‚·ă‚ąă†ă \n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "ă‡ăイス"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«é …ç›®ăŚă‡ă‚Łă‚ąă‚Żă®é †ĺşŹă¨ä¸€č‡´ă—ăľă›ă‚“\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"ă‡ă‚Łă‚ąă‚Ż %s: ăă㉠%d, セクタ %llu, ă‚·ăŞăłă€ %d\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr AF Hd Sec Cyl Hd Sec Cyl 開始 サイズ ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻă‚»ă‚Żă‚ż 0 ă‚’ĺ«ă‚“ă§ă„ăľă™\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d: ăă㉠%d ăŻćś€ĺ¤§ĺ€¤ %d ă‚りも大ăŤă„ă§ă™\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d: セクタ %d ăŻćś€ĺ¤§ĺ€¤ %llu ă‚りも大ăŤă„ă§ă™\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d: ă‚·ăŞăłă€ %d ăŻćś€ĺ¤§ĺ€¤ %d ă‚りも大ăŤă„ă§ă™\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d: 前ă®ă‚»ă‚Żă‚ż %d ăŻĺč¨ %d ă¨ä¸€č‡´ă—ăľă›ă‚“\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻăľă ĺ­ĺś¨ă—ăľă›ă‚“ďĽ\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‰ă©ă‚¤ă–ă«ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ăŻĺ¤‰ć›´ă•ă‚Śăľă—ăźďĽ\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "ioctl() ă‚’ĺ‘Ľăłĺ‡şă—ă¦ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’再読込ăżă—ăľă™ă€‚\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"警告: ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă®ĺ†ŤčŞ­čľĽăżăŚă‚¨ă©ăĽ %d ă§ĺ¤±ć•—ă—ăľă—ăź: %s。\n"
+"ă‚«ăĽăŤă«ăŻăľă ĺŹ¤ă„ă†ăĽă–ă«ă‚’使ăŁă¦ă„ăľă™ă€‚ć–°ă—ă„ă†ăĽă–ă«ăŻ\n"
+"次回ăŞă–ăĽă時ă‹ă€partprobe(8)ăľăźăŻkpartx(8)を実行ă—ăźĺľŚă«\n"
+"使ăă‚‹ă‚ă†ă«ăŞă‚‹ă§ă—ょă†\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"警告: DOS 6.x ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’作ćă€ăľăźăŻĺ¤‰ć›´ă—ă¦ă—ăľăŁăźĺ ´ĺăŻă€\n"
+"fdisk ăžă‹ăĄă‚˘ă«ă®čż˝ĺŠ ć…ĺ ±ăšăĽă‚¸ă‚’参照ă—ă¦ăŹă ă•ă„。\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"ă•ă‚ˇă‚¤ă«ă‚Żă­ăĽă‚şä¸­ă«ă‚¨ă©ăĽ\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "ă‡ă‚Łă‚ąă‚Żă‚’ĺŚćśźă—ă¦ă„ăľă™ă€‚\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ă«ăŻă‡ăĽă‚żé ĺźźăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "新規ă‡ăĽă‚żé–‹ĺ§‹ä˝Ťç˝®"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "上級者コăžăłă‰ (m ă§ăă«ă—): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "ă‚·ăŞăłă€ć•°"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "ăăă‰ć•°"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "セクタ数"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "警告: DOS 互換ă®ăźă‚ă®ă‚»ă‚Żă‚żă‚Şă•ă‚»ăăを設定ă—ăľă™\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"警告: GPT (GUID ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«) ㌠'%s' ă«ć¤śĺ‡şă•ă‚Śăľă—ăź! ă“ă® fdisk "
+"ă¦ăĽă†ă‚ŁăŞă†ă‚ŁăŻ GPT をサăťăĽăă—ăľă›ă‚“。GNU Parted を使ăŁă¦ăŹă ă•ă„。\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s ă‚’é–‹ă‘ăľă›ă‚“\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: 不ćŽăŞă‚łăžăłă‰\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"ć–°ăźăŞ sun disklabel を構築ă—ăľă™ă€‚変更ăŻă‚ăŞăźăŚć›¸ăŤčľĽăżă‚’決定ă™ă‚‹ăľă§ă€\n"
+"ăˇă˘ăŞă«ă®ăżć®‹ă—ăľă™ă€‚ăťă®ĺľŚăŻă‚‚ăˇă‚Ťă‚“ă€ä»Ąĺ‰Ťă®ĺ†…容ăŻĺľ©ĺ…ă§ăŤăľă›ă‚“。\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"%s ă§OSF/1 ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’検出ă—ăźă®ă§ă€ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă˘ăĽă‰ă«ç§»čˇŚă—ăľă™ă€‚\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "ă‚łăžăłă‰ (m ă§ăă«ă—): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"警告: -b (セクタサイズ設定) ă‚Şă—ă‚·ă§ăłăŻ 1 ă¤ă®ă‡ăイス指定ă¨ĺ…±ă«\n"
+"使用ă•ă‚Śă‚‹ăąăŤă§ă™\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "注意: セクタサイズ㌠%d ă§ă™ (%d ă§ăŻăŞăŹ)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "ă‡ă‚Łă‚ąă‚Ż %s ăŻć­Łĺ¸¸ăŞă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’ĺ«ă‚“ă§ă„ăľă›ă‚“\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "ă™ăąă¦ă®ĺźşćś¬ă‘ăĽă†ă‚Łă‚·ă§ăłăŻć—˘ă«ĺ®šçľ©ă•ă‚Śă¦ă„ăľă™!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "基本拡張ă‘ăĽă†ă‚Łă‚·ă§ăłă«ä¸Ťć­ŁăŞă‚Şă•ă‚»ăăăŚă‚ă‚Šăľă™\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă« %d 内ă®ç‰ąĺĄăŞăŞăłă‚Żăťă‚¤ăłă‚żă§ă™\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă« %d 内ă®ç‰ąĺĄăŞă‡ăĽă‚żă‚’無視ă—ăľă™\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "ç©şă®ă‘ăĽă†ă‚Łă‚·ă§ăł (%d) ă‚’çśç•Ąă—ă¦ă„ăľă™\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "ă‡ă‚Łă‚ąă‚Żč­ĺĄĺ­: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "ć–°ă—ă„ă‡ă‚Łă‚ąă‚Żč­ĺĄĺ­ (現在 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "特ĺĄăŞć‹ˇĺĽµă‘ăĽă†ă‚Łă‚·ă§ăł %d を無視ă—ăľă™\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"警告: ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă« %2$d ă®ä¸Ťć­ŁăŞă•ă©ă‚° 0x%1$04x 㯠w(書ăŤčľĽăż)ă«"
+"ă‚ăŁă¦\n"
+"正常ă«ăŞă‚Šăľă™\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻĺ®šçľ©ć¸ăżă§ă™ă€‚ăľăšăŻĺ‰Šé™¤ă‚’行ăŞăŁă¦ăŹă ă•ă„。\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "セクタ %llu ăŻć—˘ă«ç˘şäżťć¸ăżă§ă™\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "ĺ©ç”¨ĺŹŻč˝ăŞç©şăŤă‚»ă‚Żă‚żăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Last %1$s, +%2$s or +size{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "新規ă‘ăĽă†ă‚Łă‚·ă§ăłă®ä˝ść"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %d ă«ä¸Ťć­ŁăŞă‡ăĽă‚żé–‹ĺ§‹ä˝Ťç˝®ăŚă‚ă‚Šăľă™\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻă€ă‘ăĽă†ă‚Łă‚·ă§ăł %d ă¨é‡ŤăŞăŁă¦ă„ăľă™ă€‚\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻç©şă§ă™\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "č«–ç†ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻă‘ăĽă†ă‚Łă‚·ă§ăł %d 全体ă«ăŞăŁă¦ă„ăľă›ă‚“\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "ĺč¨ç˘şäżťć¸ăżă‚»ă‚Żă‚ż %llu ăŻćś€ĺ¤§ĺ€¤ %llu ă‚りも大ăŤă„ă§ă™\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld 未確保 %d ăイăセクタăŚć®‹ăŁă¦ă„ăľă™\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "ă™ăąă¦ă®č«–ç†é ĺźźăŚä˝żç”¨ä¸­ă§ă™\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "ă™ăąă¦ă®č«–ç†é ĺźźăŚä˝żç”¨ä¸­ă§ă™\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "基本ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’追加ă—ăľă™\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "ă‚˝ăĽă‚ąă‹ă‚‰ć›´ć–° (&U)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr " 拡張オăšă‚łăĽă‰ %d: "
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr " (ă‡ă•ă‚©ă«ăă®ăťăĽăă‚’ĺ©ç”¨ă—ăľă™)"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "ć–°ă—ă„ă‘ăĽă†ă‚Łă‚·ă§ăłă®ç¨®éˇž: %1"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tă“ă®ă‡ă‚Łă‚ąă‚Żă«ăŻć­Łĺ¸¸ăŞ Mac ă©ă™ă«ăŚă‚ă‚Šăľă™ă€‚\n"
+"\t非常ă«ć®‹ĺżµă§ă™ăŚă€fdisk(1) ăŻă“れらă®ă‡ă‚Łă‚ąă‚Żă‚’扱ă†ă“ă¨ăŚă§ăŤăľă›ă‚“。\n"
+"\tă“ă®é ĺźźă‚’変更ă™ă‚‹ă«ăŻ pdisk ăľăźăŻ parted ă®ă©ăˇă‚‰ă‹ă‚’使ăŁă¦ăŹă ă•ă„。\n"
+"\tă—ă‹ă—ăŞăŚă‚‰ă€ă„ăŹă¤ă‹ă®ĺŠ©č¨€ă‚’ă—ă¦ăŠăŤăľă™:\n"
+"\t1. fdisk ăŻć›¸ăŤčľĽăżä¸­ă«ăťă®ĺ†…容を破壊ă—ăľă™ă€‚\n"
+"\t2. ă“ă®ă‡ă‚Łă‚ąă‚ŻăŚăśăŞăĄăĽă ă‚°ă«ăĽă—ă®é‡Ťč¦ăŞé¨ĺ†ă§ăŻ*ăŞă„*äş‹ă‚’\n"
+"\t 確ă‹ă‚ăľă—ょă†ă€‚(ä»–ă®ć–ąćł•ă¨ă—ă¦ăŻă€ăźă©ăĽă—ă¦ă„ă‚‹ă®ă§ăŻăŞă„\n"
+"\t ä»–ă®ă‡ă‚Łă‚ąă‚Żă‚’削除ă™ă‚‹ă®ă‚‚ă„ă„ă§ă—ょă†)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\t残念 - ă“ă® fdisk 㯠Mac ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’扱ăăľă›ă‚“。\n"
+"\tDOS ĺž‹ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’追加ă—ăźă‘ă‚Śă°ă€ç©şă®ć–°ăźăŞ DOS\n"
+"\tă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’作ćă—ă¦ăŹă ă•ă„。(o を使ă†)\n"
+"\t警告: ă“ă‚ŚăŻçŹľĺś¨ă®ă‡ă‚Łă‚ąă‚Żĺ†…容を破壊ă—ăľă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux ă‚ąăŻăă—"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"MIPS Computer Systems, Inc ă«ă‚ă‚‹ă¨ă€ăťă®ă©ă™ă«ăŻ 512 ăイă以上ă§ăŞă‘ă‚Śă°\n"
+"ăŞă‚Šăľă›ă‚“\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "é–“é•ăŁăźăェăクサă ĺ€¤ă® sgi ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’検出ă—ăľă—ăźă€‚\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ă‡ă‚Łă‚ąă‚Ż %s (SGI ă‡ă‚Łă‚ąă‚Żă©ă™ă«): ăă㉠%d, セクタ %llu\n"
+"ă‚·ăŞăłă€ %d , 物ç†ă‚·ăŞăłă€ %d\n"
+"%d エクスăă©ă‚»ă‚Żă‚ż/ă‚·ăŞăłă€, イăłă‚żăĽăŞăĽă– %d:1\n"
+"%s\n"
+"ă¦ă‹ăă = %s of %d * %d ăイă\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ă‡ă‚Łă‚ąă‚Ż %s (SGI ă‡ă‚Łă‚ąă‚Żă©ă™ă«): ăă㉠%d, セクタ %llu, ă‚·ăŞăłă€ %d\n"
+"ă¦ă‹ăă = %s of %d * %d ăイă\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- é ĺźź -----\n"
+"Pt# %*s ć…ĺ ± 始点 終点 セクタ ID ă‚·ă‚ąă†ă \n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- ă–ăĽăć…ĺ ± -----\n"
+"ă–ăĽăă•ă‚ˇă‚¤ă«: %s\n"
+"----- ă‡ă‚Łă¬ă‚ŻăăŞé …ç›® -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s セクタ%5u サイズ%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"不正ăŞă–ăĽăă•ă‚ˇă‚¤ă«ă§ă™ďĽ\n"
+"\tăťă®ă–ăĽăă•ă‚ˇă‚¤ă«ăŻçµ¶ĺŻľéťžă‚Ľă­ă‘ă‚ąĺŤă§ăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“\n"
+"\täľ‹. \"/unix\" ăľăźăŻ \"/unix.save\"\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tă–ăĽăă•ă‚ˇă‚¤ă«ĺŤăŚé•·ă™ăŽăľă™ -- 最大 16 ăイă。\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tă–ăĽăă•ă‚ˇă‚¤ă«ăŻă•ă«ă‘ă‚ąă§ćŚ‡ĺ®šă•ă‚ŚăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“。\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tă–ăĽăă•ă‚ˇă‚¤ă«ăŻăťă®ĺ­ĺś¨ă‚’ăェăă‚Żă•ă‚ŚăŞă„ă“ă¨ă«ć°—ăĄă„ă¦ăŹă ă•ă„。\n"
+"\tSGI ă®ĺťćśźĺ€¤ăŻ \"/unix\" ă§ă€ăăクアăă—用ă«ăŻ \"/unix.save\" ă§ă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"現在ă®ă–ăĽăă•ă‚ˇă‚¤ă«ăŻ: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "ć–°ăźăŞă–ăĽăă•ă‚ˇă‚¤ă«ĺŤă‚’入力ă—ă¦ăŹă ă•ă„: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "ă–ăĽăă•ă‚ˇă‚¤ă«ă‚’変更ă—ăľă›ă‚“ă§ă—ăź\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tă–ăĽăă•ă‚ˇă‚¤ă«ăŻ \"%s\" ă«ĺ¤‰ć›´ă•ă‚Śăľă—ăźă€‚\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "複数㮠entire disk ă®é …ç›®ăŚă‚ă‚Šăľă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłăŚĺ®šçľ©ă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX ăŻă‘ăĽă†ă‚Łă‚·ă§ăł 11 ㌠entire disk を覆ă†ă®ă‚’ćś›ăżăľă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"entire disk ă‘ăĽă†ă‚Łă‚·ă§ăłăŻă€ă–ă­ăă‚Ż 0 ă‹ă‚‰ĺ§‹ăľă‚‹ăąăŤă§ă™ăŚă€\n"
+"ă‡ă‚Łă‚ąă‚Żă–ă­ăă‚Ż %d ă«ăŞăŁă¦ă„ăľă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"entire disk ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă« %d ă‡ă‚Łă‚ąă‚Żă–ă­ăă‚Żă®ĺ¤§ăŤă•ă—ă‹ăŞă„ă§ă™ăŚă€\n"
+"ăťă®ă‡ă‚Łă‚ąă‚Żă®ĺ¤§ăŤă•ăŻ %d ă‡ă‚Łă‚ąă‚Żă–ă­ăă‚Żă§ă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł (#11) 㯠entire disk を覆ă†ăąăŤă§ă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻă€ă‚·ăŞăłă€ĺ˘ç•Śă‹ă‚‰ĺ§‹ăľăŁă¦ă„ăľă›ă‚“。\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻă€ă‚·ăŞăłă€ĺ˘ç•Śă§çµ‚ă‚ŹăŁă¦ă„ăľă›ă‚“。\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d 㨠%d 㯠%d セクタ重ăŞăŁă¦ă„ăľă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "%8u セクタă®ćśŞä˝żç”¨ă‚®ăŁăă— -- セクタ %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"ă–ăĽăă‘ăĽă†ă‚Łă‚·ă§ăłăŚĺ­ĺś¨ă—ăľă›ă‚“。\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"ă‚ąăŻăă—ă‘ăĽă†ă‚Łă‚·ă§ăłăŚĺ­ĺś¨ă—ăľă›ă‚“。\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"ă‚ąăŻăă—ă‘ăĽă†ă‚Łă‚·ă§ăłăŚă‚ąăŻăă—タイă—ă«ăŞăŁă¦ă„ăľă›ă‚“。\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tă‚ăŞăźăŻă€ă–ăĽăă•ă‚ˇă‚¤ă«ĺŤă¨ă—ă¦é€šĺ¸¸ă¨ç•°ăŞă‚‹ĺŤĺ‰Ťă‚’é¸ăłăľă—ăźă€‚\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "残念ăŞăŚă‚‰ă€ă‚·ă‚ąă†ă ć™‚č¨ă®ĺ¤‰ć›´ăŻă‚ąăĽă‘ăĽă¦ăĽă‚¶ă§ă—ă‹čˇŚăŞăăľă›ă‚“。\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"ăťă®é ĺźźă®ă‚Şă•ă‚»ăă 0 番地㯠\"SGI volhdr\" ĺž‹ă«ăŞăŁă¦ă„ă‚‹ă“ă¨ă‚’強ăŹćŽ¨ĺĄ¨\n"
+"ă—ăľă™ă€‚IRIX ă‚·ă‚ąă†ă ă§ăŻ sash ă‚„ fx ă®ć§ăŞă‚ąă‚żăłă‰ă‚˘ă­ăłă„ăĽă«ăŚăťă®ă“ă¨ă«\n"
+"äľťĺ­ă—ă¦ă‡ă‚Łă¬ă‚ŻăăŞă‹ă‚‰ć¤śç´˘ă™ă‚‹ă“ă¨ă«ăŞă‚Šăľă™ă€‚\"SGI volume\" entire disk\n"
+"ă ă‘ăŚă€ă“ă®ă“ă¨ă‚’ĺ…Ťă‚Śăľă™ă€‚\n"
+"ă“ă®é ĺźźă«ç•°ăŞă‚‹ă‚żă‚°ä»ă‘ă«ă¤ă„ă¦ă€ă‚ăŹč§ŁăŁă¦ă„ă‚‹ăŞă‚‰ YES ă¨ĺ…ĄĺŠ›ă—ă¦ä¸‹ă•ă„。\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "YES\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "ă‡ă‚Łă‚ąă‚Żă®é ĺźźăŚé‡Ťč¤‡ă—ă¦ă„ăľă™ă€‚ăľăšă“れを何ă¨ă‹ă—ăľă—ょă†ďĽ\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "entire disk é …ç›®ă®č‡Şĺ‹•ç”źćを試ăżăľă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "entire disk ăŚć—˘ă«é ĺźźă‚’覆ăŁă¦ă„ăľă™ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "ă‡ă‚Łă‚ąă‚Żă®é ĺźźăŚé‡Ťč¤‡ă—ă¦ă„ăľă™ă€‚ăľăšă“れを何ă¨ă‹ă—ăľă—ょă†ďĽ\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"11 ç•Şç›®ă®é ĺźźăŻ entire disk を覆ă„ă€`SGI volume' ĺž‹ă§ă‚ă‚‹ă“ă¨ă‚’\n"
+"強ăŹćŽ¨ĺĄ¨ă—ăľă™\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "ă‡ă‚Łă‚ąă‚Żă®é ĺźźăŚé‡Ťč¤‡ă™ă‚‹ă“ă¨ă«ăŞă‚Šăľă™ă€‚ăľăšă“れを何ă¨ă‹ă—ăľă—ょă†ďĽ\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " 最後㮠%s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "ă‚·ăłăśăŞăă‚ŻăŞăłă‚Ż %s ă®ăェăă‚Żă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\t開始=%d\té•·ă•=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ă®ĺ€¤ă®äżťĺ­ă‚’試ăżăľă™ă€‚\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "未割り当ă¦"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS ă«ăĽă"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS ă‚ąăŻăă—"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Whole disk"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt セクタ"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS äşç´„"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid 自動検出"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"é–“é•ăŁăźăェăクサă ĺ€¤ă‚’ćŚă¤ sun disklabel を検出ă—ăľă—ăźă€‚\n"
+"多ĺ†ă€ă‚ăŞăźăŻĺ…¨ă¦ă®ĺ€¤ă‚’設定ă—ăŞă‘ă‚Śă°ăŞă‚‰ăŞă„ă§ă—ょă†\n"
+"äľ‹. ăăă‰ć•°ă€ă‚»ă‚Żă‚żć•°ă€ă‚·ăŞăłă€ć•°ĺŹŠăłă‘ăĽă†ă‚Łă‚·ă§ăłć•°\n"
+"ă‚ă‚‹ă„㯠fresh label を強ĺ¶ă—ă¦ăŹă ă•ă„ (ăˇă‚¤ăłăˇă‹ăĄăĽă® s ă‚łăžăłă‰)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "é–“é•ăŁăźăăĽă‚¸ă§ăł [0x%08x] ă® sun ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’検出ă—ăľă—ăźă€‚\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "é–“é•ăŁăźăェăクサă ĺ€¤ă® sgi ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’検出ă—ăľă—ăźă€‚\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "é–“é•ăŁăź num_partitions [%u] ă® sun ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’検出ă—ăľă—ăźă€‚\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"警告: ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă« %2$d ă®ä¸Ťć­ŁăŞă•ă©ă‚° 0x%1$04x 㯠w(書ăŤčľĽăż)ă«"
+"ă‚ăŁă¦\n"
+"正常ă«ăŞă‚Šăľă™\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s%d ăŻă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’ĺ«ă‚“ă§ă„ăľă›ă‚“。\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "セクタ/ăă©ăă‚Ż"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻă‚·ăŞăłă€ĺ˘ç•Śă§çµ‚ă‚ŹăŁă¦ă„ăľă›ă‚“\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻä»–ă®ă‚»ă‚Żă‚ż %d-%d ă¨é‡ŤăŞăŁă¦ă„ăľă™\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "未使用ギăŁăă— -- 0-%d セクタ\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "未使用ギăŁăă— -- %d-%d セクタ\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"ä»–ă®ă‘ăĽă†ă‚Łă‚·ă§ăłăŚć—˘ă«ă‡ă‚Łă‚ąă‚Żĺ…¨ä˝“を覆ăŁă¦ă„ăľă™ă€‚\n"
+"ăľăšăťă‚Śă‚’削除ă—ă¦ă‹ă‚‰ă‚‚ă†ä¸€ĺş¦č©¦ă—ă¦ăŹă ă•ă„。\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"11 ç•Şç›®ă®é ĺźźăŻ entire disk を覆ă„ă€`SGI volume' ĺž‹ă§ă‚ă‚‹ă“ă¨ă‚’\n"
+"強ăŹćŽ¨ĺĄ¨ă—ăľă™\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "セクタ %d ăŻć—˘ă«ç˘şäżťć¸ăżă§ă™\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"3 ç•Şç›®ă®ă‘ăĽă†ă‚Łă‚·ă§ăłăŚă‡ă‚Łă‚ąă‚Żĺ…¨ä˝“を覆ăŁă¦ă„ăľă›ă‚“ăŚă€ćŚ‡ĺ®šĺ€¤ %d %s ăŻ\n"
+"ä»–ă®ă„ăŹă¤ă‹ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’覆ăŁă¦ă„ăľă™ă€‚ă‚ăŞăźă®é …目㯠%d %s ă«\n"
+"変更ă•ă‚Śăľă—ăźă€‚\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"ă‚‚ă—ă‚‚ SunOS/Solaris 互換を維ćŚă—ăźă„ă®ă§ă‚ă‚Śă°ă€ă“ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’\n"
+"Whole disk (5) ă®ăľăľă«ă—ă¦ăŠăŹă“ă¨ă‚’č€ć…®ă—ă¦ăŹă ă•ă„。\n"
+"0 ă‹ă‚‰ĺ§‹ăľă‚‹ %u セクタĺ†ă§ă™\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"ăťă®ă‚Şă•ă‚»ăă 0 ă®ă‘ăĽă†ă‚Łă‚·ă§ăłăŻ UFS, EXT2FS ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‹ă€\n"
+"SunOS swap ă¨ă™ă‚‹ă“ă¨ă‚’強ăŹćŽ¨ĺĄ¨ă—ăľă™ă€‚ăťă“ă« Linux swap ă‚’ç˝®ăŹă“ă¨ăŻă€\n"
+"ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚„ă–ăĽăă–ă­ăクを破壊ă™ă‚‹ă“ă¨ă«ăŞă‚Šă‹ă­ăľă›ă‚“。\n"
+"ă‚‚ă—ă€ă‚ăŞăźăŚćś¬ĺ˝“ă«ă‘ăĽă†ă‚Łă‚·ă§ăłă«ç¬¦ĺ 82 (Linux swap) ă‚’ă¤ă‘ăźă‘ă‚Śă°\n"
+"YES ă¨ç­”ăă¦ăŹă ă•ă„: "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ă‡ă‚Łă‚ąă‚Ż %s (Sun ă‡ă‚Łă‚ąă‚Żă©ă™ă«): ăă㉠%u, セクタ %llu, 回転数 %d rpm\n"
+"ă‚·ăŞăłă€ %u, 代替シăŞăłă€ %d, 物ç†ă‚·ăŞăłă€ %d\n"
+"%d エクスăă©ă‚»ă‚Żă‚ż/ă‚·ăŞăłă€, イăłă‚żăĽăŞăĽă– %d:1\n"
+"ă©ă™ă« ID: %s\n"
+"ăśăŞăĄăĽă  ID: %s\n"
+"ă¦ă‹ăă = %s of %d * 512 ăイă\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ă‡ă‚Łă‚ąă‚Ż %s (Sun ă‡ă‚Łă‚ąă‚Żă©ă™ă«): ăă㉠%u, セクタ %llu, ă‚·ăŞăłă€ %u\n"
+"ă¦ă‹ăă = %s of %d * 512 ăイă\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s ă•ă©ă‚° 始点 終点 ă–ă­ăă‚Ż Id ă‚·ă‚ąă†ă \n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "代替シăŞăłă€ć•°"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "ă‚·ăŞăłă€ćŻŽă®ç‰ąĺĄăŞă‚»ă‚Żă‚ż"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "イăłă‚żăĽăŞăĽă–"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "回転数 (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "物ç†ă‚·ăŞăłă€ć•°"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "ç©ş"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "拡張é ĺźź"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX ă–ăĽă可č˝"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 ă–ăĽăăžăŤăĽă‚¸ăŁ"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 拡張é ĺźź (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "éš ă— FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq 診断"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "éš ă— FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "éš ă— FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "éš ă— HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "éš ă— W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "éš ă— W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "éš ă— W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "éš ă—ă•ă‚ˇă‚¤ă«ă‚’表示(&H)"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic 修復"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ăľăźăŻ SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "古ㄠMinix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / 古ㄠLinux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux ă‚ąăŻăă— / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 éš ă— C: ă‰ă©ă‚¤ă–"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux 拡張é ĺźź"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS ăśăŞăĄăĽă ă‚»ăă"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux ă—ă¬ăĽăłă†ă‚­ă‚ąă"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad ăŹă‚¤ăăŤăĽă‚·ă§ăł"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin ă–ăĽă"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI ă‚ąăŻăă—"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "éš ă— Boot Wizard"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris ă–ăĽă"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "éťž FS ă‡ăĽă‚ż"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell ă¦ăĽă†ă‚ŁăŞă†ă‚Ł"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC ă–ăĽă"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS セカăłă€ăŞ"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "%s ă®ă‚·ăĽă‚Żă‚¨ă©ăĽ -- %lu ă‚’ă‚·ăĽă‚Żă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "ă‚·ăĽă‚Żă‚¨ă©ăĽ: 0x%08x%08x ă®ăŻăšă§ă—ăźăŚ 0x%08x%08x を受ă‘取りăľă—ăź\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "%s ă®čŞ­ăżĺŹ–りエă©ăĽ -- セクタ %lu を読ă‚ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "%s ă¸ă®ć›¸ăŤčľĽăżă‚¨ă©ăĽ -- セクタ %lu ă«ć›¸ăŤčľĽă‚ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă‚»ă‚Żă‚żäżťĺ­ă•ă‚ˇă‚¤ă« (%s) ă‚’ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "%s ă¸ă®ć›¸ăŤčľĽăżă‚¨ă©ăĽ\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłĺľ©ĺ…ă•ă‚ˇă‚¤ă« (%s) ă®ć…報を取得ă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăłĺľ©ĺ…ă•ă‚ˇă‚¤ă«ă®ă‚µă‚¤ă‚şăŚé–“é•ăŁă¦ă„ăľă™ -- ĺľ©ĺ…を行ăŞă„ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłĺľ©ĺ…ă•ă‚ˇă‚¤ă« (%s) ă‚’é–‹ă‘ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "%s ă®čŞ­ăżĺŹ–りエă©ăĽ\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "ă‡ăイス %s を書ăŤčľĽăżă‚ă†ă«ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "%2$s ă®ă‚»ă‚Żă‚ż %1$lu ă¸ă®ć›¸ăŤčľĽăżă‚¨ă©ăĽ\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "ă‡ă‚Łă‚ąă‚Ż %s: ジオăˇăăŞă‚’取得ă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "ă‡ă‚Łă‚ąă‚Ż %s: サイズを取得ă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"警告: start=%lu -- ă“ă®ĺ€¤ăŻă‘ăĽă†ă‚Łă‚·ă§ăłă§ăŻăŞăŹă‡ă‚Łă‚ąă‚Żăťă®ă‚‚ă®ă®ă‚ă†ă§"
+"ă™ă€‚\n"
+"ă“ă“ă« fdisk ă‚’ĺ©ç”¨ă™ă‚‹ă®ăŻĺ¤šĺ†ć„Źĺ‘łăŚăŞă„ă“ă¨ă§ă™ă€‚\n"
+"[本当ă«ă“れを行ăŞă„ăźă‘ă‚Śă°ă€--force ă‚Şă—ă‚·ă§ăłă‚’使ăŁă¦ăŹă ă•ă„]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "警告: HDIO_GETGEO ă«ă‚ă‚‹ă¨ă€ăăă‰ć•°ăŻ %lu ă§ă™\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "警告: HDIO_GETGEO ă«ă‚ă‚‹ă¨ă€ă‚»ă‚Żă‚żć•°ăŻ %lu ă§ă™\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "警告: BLKGETSIZE/HDIO_GETGEO ă«ă‚ă‚‹ă¨ă€ă‚·ăŞăłă€ć•°ăŻ %lu ă§ă™\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"警告: セクタ数 (%lu) ăŚćś›ăľă—ăŹă‚ă‚Šăľă›ă‚“ -- 大抵ă®ĺ ´ĺ 63 ă§ă™ă€‚\n"
+"ă“ă‚ŚăŻă€C/H/S をアă‰ă¬ă‚ąĺŹ–ĺľ—ă«ĺ©ç”¨ă—ă¦ă„ă‚‹ĺ…¨ă¦ă®ă‚˝ă•ăウェアă§ă€\n"
+"問題ăŚç”źăšă‚‹ă“ă¨ă«ăŞă‚Šăľă™ă€‚\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"ă‡ă‚Łă‚ąă‚Ż %s: ă‚·ăŞăłă€ć•° %luă€ăăă‰ć•° %luă€%lu セクタ/ăă©ăă‚Ż\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăł %2$s ă®ăăă‰ć•°ă¨ă—㦠%1$s ăŻä¸ŤĺŹŻč˝ă§ă™: %3$lu (0-%4$lu ă«ă—ă¦"
+"ăŹă ă•ă„)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăł %2$s ă®ă‚»ă‚Żă‚żć•°ă¨ă—㦠%1$s ăŻä¸ŤĺŹŻč˝ă§ă™: %3$lu (1-%4$lu ă«ă—ă¦"
+"ăŹă ă•ă„)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăł %2$s ă®ă‚·ăŞăłă€ć•°ă¨ă—㦠%1$s ăŻä¸ŤĺŹŻč˝ă§ă™: %3$lu (0-%4$lu ă«ă—"
+"ă¦ăŹă ă•ă„)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id ĺŤĺ‰Ť\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’再読ăżčľĽăżä¸­...\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’再読込ăżă™ă‚‹ă‚łăžăłă‰ăŚĺ¤±ć•—ă—ăľă—ăźă€‚\n"
+"mkfs を使ă†ĺ‰Ťă«ă€partprobe(8) ă‹ kpartx(8) を実行ă™ă‚‹ă‹ă€\n"
+"ă‚·ă‚ąă†ă ă‚’再起動ă—ă¦ăŹă ă•ă„\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "%s ă®ă‚Żă­ăĽă‚şă‚¨ă©ăĽ\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: ăťă®ă‚ă†ăŞă‘ăĽă†ă‚Łă‚·ă§ăłăŻă‚ă‚Šăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "認č­ă§ăŤăŞă„ă•ă‚©ăĽăžăă -- セクタ数をĺ©ç”¨ă—ăľă™\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "未実装ă®ă•ă‚©ăĽăžăă -- %s ă‚’ĺ©ç”¨ă—ăľă™\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ă¦ă‹ăă = %lu ăイăă®ă‚·ăŞăłă€ă€1024 ăイăă®ă–ă­ăă‚Żă€%d ă‹ă‚‰ć•°ăăľă™\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr "ă‡ăイス ă–ăĽă 始点 終点 #ă‚·ăŞăłă€ #ă–ă­ăă‚Ż Id ă‚·ă‚ąă†ă \n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ă¦ă‹ăă = 512 ăイăă®ă‚»ă‚Żă‚żă€%d ă‹ă‚‰ć•°ăăľă™\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr "ă‡ăイス ă–ăĽă 始点 終点 #セクタ Id ă‚·ă‚ąă†ă \n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ă¦ă‹ăă = 1024 ăイăă®ă–ă­ăă‚Żă€%d ă‹ă‚‰ć•°ăăľă™\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " ă‡ăイス ă–ăĽă 始点 終点 #ă–ă­ăă‚Ż ID ă‚·ă‚ąă†ă \n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Units = 1048576 ăイăă‚’ăˇă‚¬ăイăă€1024 ăイăă®ă–ă­ăă‚Żă€%d ă‹ă‚‰ć•°ăăľă™\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr "ă‡ăイス ă–ăĽă 始点 終点 MiB #ă–ă­ăă‚Ż Id ă‚·ă‚ąă†ă \n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\t開始: (c,h,s) 期待値 (%ld,%ld,%ld) (%ld,%ld,%ld) を発見\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\t終点: (c,h,s) 期待値 (%ld,%ld,%ld) (%ld,%ld,%ld) を発見\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "ă‚·ăŞăłă€ %ld ă«ă‘ăĽă†ă‚Łă‚·ă§ăłă®çµ‚ç‚ąă€ă‡ă‚Łă‚ąă‚Żă®ćś€ĺľŚă‚’越ăă¦ă„ăľă™\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"警告: ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ăŻ C/H/S=*/%ld/%ld ă¨ă—ă¦ä˝śćă•ă‚Śăźă‚ă†ă§ă™\n"
+" (%ld/%ld/%ld ă®ă‹ă‚Źă‚Šă«)。\n"
+"ă“ă®ăŞă‚ąăăŻă€ăťă®ă‚¸ă‚ŞăˇăăŞă¨č¦‹ăŞă—ăľă™ă€‚\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "現在ă‘ăĽă†ă‚Łă‚·ă§ăłć…ĺ ±ăŻă‚ă‚Šăľă›ă‚“。\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "変ă§ă™ă€%d ă¤ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă—ă‹ĺ®šçľ©ă•ă‚Śă¦ă„ăľă›ă‚“。\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŻă‚µă‚¤ă‚ş 0 ă§ă™ăŚă€ç©şă¨ă—ă¦ăžăĽă‚Żă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŻă‚µă‚¤ă‚ş 0 ăŞă®ă«ă–ăĽă可č˝ă§ă™ă€‚\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŻă‚µă‚¤ă‚ş 0 ă§ă€éťžă‚Ľă­ă®é–‹ĺ§‹ä˝Ťç˝®ă§ă™\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŚ"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’作ć/再構ć/削除ă™ă‚‹"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŻă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă« (セクタ %lu) ă®ä¸€é¨ă‚’ĺ«ă‚“ă§"
+"ăŠă‚Šă€\n"
+"ăťă‚ŚăŚĺź‹ă‚られる時点ă§ç ´ĺŁŠă•ă‚Śă‚‹äş‹ă«ăŞă‚Šăľă™\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŚă‚»ă‚Żă‚ż 0 ă‹ă‚‰ĺ§‹ăľăŁă¦ă„ăľă™\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŻă‡ă‚Łă‚ąă‚Żă®çµ‚りを越ăă¦ă„ăľă™\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"基本ă‘ăĽă†ă‚Łă‚·ă§ăłă§ăŻă€ć‹ˇĺĽµă‘ăĽă†ă‚Łă‚·ă§ăłă‚’一ă¤ă ă‘作れăľă™\n"
+" ďĽLinux ă§ăŻĺ•ŹéˇŚă¨ăŻăŞă‚Šăľă›ă‚“ă‘ă‚Śă©ă‚‚)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŻă‚·ăŞăłă€ĺ˘ç•Śă‹ă‚‰ĺ§‹ăľăŁă¦ă„ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "警告: ă‘ăĽă†ă‚Łă‚·ă§ăł %s ăŻă‚·ăŞăłă€ĺ˘ç•Śă§çµ‚ă‚ŹăŁă¦ă„ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"警告: 複数ă®ĺźşćś¬ă‘ăĽă†ă‚Łă‚·ă§ăłăŚă–ăĽă可č˝ă«ćŚ‡ĺ®šă•ă‚Śă¦ă„ăľă™\n"
+"LILO ă«ă¨ăŁă¦ăŻĺ•ŹéˇŚă‚ă‚Šăľă›ă‚“ăŚă€DOS ă® MBR ăŻă“ă®ă‡ă‚Łă‚ąă‚Żă‚’ă–ăĽăă§ăŤăŞăŹ\n"
+"ăŞăŁă¦ă—ăľă„ăľă™ă€‚\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"警告: 普通ăŻĺźşćś¬ă‘ăĽă†ă‚Łă‚·ă§ăłă®ä¸€ă¤ă‚’ă–ăĽăă§ăŤă‚‹ă‚ă†ă«ă—ăľă™ă€‚\n"
+"LILO 㯠`ă–ăĽă可č˝' ă•ă©ă‚°ă‚’無視ă—ăľă™ă‘ă©ă‚‚。\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"警告: ă–ăĽă可č˝ăŞĺźşćś¬ă‘ăĽă†ă‚Łă‚·ă§ăłăŚă‚ă‚Šăľă›ă‚“\n"
+"LILO ă«ă¨ăŁă¦ăŻĺ•ŹéˇŚă‚ă‚Šăľă›ă‚“ăŚă€DOS MBR ăŻă“ă®ă‡ă‚Łă‚ąă‚Żă‚’ă–ăĽăă§ăŤăŞăŹ\n"
+"ăŞăŁă¦ă—ăľă„ăľă™ă€‚\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "開始"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăł %s: 始点: (c,h,s) 期待値 (%ld,%ld,%ld) (%ld,%ld,%ld) を発見\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "終了"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"ă‘ăĽă†ă‚Łă‚·ă§ăł %s: 終点: (c,h,s) 期待値 (%ld,%ld,%ld) (%ld,%ld,%ld) を発見\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+"ă‚·ăŞăłă€ %2$ld ă«ă‚ă‚‹ă‘ăĽă†ă‚Łă‚·ă§ăł %1$s ă®çµ‚ç‚ąăŻă‡ă‚Łă‚ąă‚Żă®ćś€ĺľŚă‚’越ăă¦ă„ăľ"
+"ă™\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"警告: 拡張é ĺźźă®é–‹ĺ§‹ä˝Ťç˝®ăŚ %ld ă‹ă‚‰ %ld ă«ç§»ă•ă‚Śăľă—ăź\n"
+"ďĽăŞă‚ąă表示ă®ç‚şă ă‘ă§ă™ă€‚ăťă®ĺ†…容ă«ĺ¤‰ć›´ăŻă‚ă‚Šăľă›ă‚“。)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"警告: 拡張é ĺźźăŚă‚·ăŞăłă€ĺ˘ç•Śă‹ă‚‰ĺ§‹ăľăŁă¦ă„ăľă›ă‚“\n"
+"DOS 㨠Linux ăŻä¸­čş«ă‚’ç•°ăŞăŁă¦č§Łé‡ă™ă‚‹ă§ă—ょă†ă€‚\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "エă©ăĽ: セクタ %lu ă«ăŻ msdos サイăłăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłăŚĺ¤šă™ăŽăľă™ -- nr (%d) 以降を無視ă—ăľă™\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă®ă„ăŞăĽďĽź\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Disk Manager を検出 -- ă“れを捕捉ă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6 署ĺŤă‚’発見 -- 諦ă‚ăľă™\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "変ă§ă™..., サイズ 0 ă®ć‹ˇĺĽµă‘ăĽă†ă‚Łă‚·ă§ăł ?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "変ă§ă™..., サイズ 0 ă® BSD ă‘ăĽă†ă‚Łă‚·ă§ăłďĽź\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: 認č­ă§ăŤăŞă„ă‘ăĽă†ă‚Łă‚·ă§ăłé ĺźźă‚żă‚¤ă—\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "-n ă•ă©ă‚°ăŚä¸Žăられăľă—ăź: 何も変更ă—ăľă›ă‚“ă§ă—ăź\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "古ă„セクタă®äżťĺ­ă«ĺ¤±ć•— -- 中断ă—ăľă™\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "%s ă®ă‘ăĽă†ă‚Łă‚·ă§ăłć›¸ăŤčľĽăżă«ĺ¤±ć•—\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "é•·ă„ă‹ä¸Ťĺ®Śĺ…¨ăŞčˇŚă®ĺ…ĄĺŠ› -- 中止ă—ăľă™\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "入力エă©ăĽ: `=' 㯠%s ă•ă‚ŁăĽă«ă‰ă®ĺľŚă«ă—ă¦ăŹă ă•ă„\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "入力エă©ăĽ: %2$s ă•ă‚ŁăĽă«ă‰ă®ĺľŚă®äşćśźă—ăŞă„文字 `%1$c'\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "認č­ă§ăŤăŞă„入力: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "ć•°ĺ­—ăŚĺ¤§ăŤă™ăŽăľă™\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "ć•°ĺ­—ă®ĺľŚă‚Ťă«ă‚´ăźăŚä»ă„ă¦ă„ăľă™\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłč¨čż°ĺ­ă®ç©şăŤăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "拡張ă‘ăĽă†ă‚Łă‚·ă§ăłă®ĺ›˛ă„を構築ă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "入力ă•ă‚ŁăĽă«ă‰ăŚĺ¤šă™ăŽăľă™\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "ă“れ以上ă®ç©şăŤăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "不正ăŞă‚żă‚¤ă—\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"警告: 与ăられăźă‚µă‚¤ă‚ş (%lu) ăŻă€č¨±ĺ®ąă§ăŤă‚‹ćś€ĺ¤§ă‚µă‚¤ă‚ş (%lu) を越ăă¦ă„ăľă™\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "警告: ç©şă®ă‘ăĽă†ă‚Łă‚·ă§ăł\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "警告: 不正ăŞă‘ăĽă†ă‚Łă‚·ă§ăłăŚĺ§‹ăľăŁă¦ă„ăľă™ (ä¸€ç•Şćś€ĺť %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "認č­ă§ăŤăŞă„ă–ăĽă可č˝ă•ă©ă‚° -- - ă‹ * ă‚’é¸ă‚“ă§ăŹă ă•ă„\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "c,h,s ă®ä¸€é¨ă‚’指定?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "拡張ă‘ăĽă†ă‚Łă‚·ă§ăłăŚäşćśźă—ăźĺ ´ć‰€ă«ă‚ă‚Šăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "不正ăŞĺ…ĄĺŠ›\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłăŚĺ¤šă™ăŽăľă™\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"以下ă®ć›¸ĺĽŹă§ĺ…ĄĺŠ›ă—ă¦ä¸‹ă•ă„ -- 指定ă—ăŞă‹ăŁăźă•ă‚ŁăĽă«ă‰ă«ăŻĺťćśźĺ€¤ă‚’ă‚»ăăă—ăľ"
+"ă™\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"普通㯠<start> 㨠<size> (ăťă—ă¦ćら㏠<type>)を指定ă™ă‚‹ă ă‘ă§ć§‹ă„ăľă›ă‚“。\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "使ă„ć–ą:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"ă‚Şă—ă‚·ă§ăł:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr " エă‡ă‚Łă‚żă»ă‚Şă—ă‚·ă§ăł "
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -G [or --show-pt-geometry]: é ĺźźă†ăĽă–ă«ă‹ă‚‰ćŽ¨ć¸¬ă•ă‚Śă‚‹ă‚¸ă‚ŞăˇăăŞć…報を表"
+"示ă™ă‚‹"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [or --show-extended]: 拡張é ĺźźăŞă‚ąăも表示ă™ă‚‹\n"
+" ăľăźăŻăťă‚Śă‚‰ă®č¨čż°ĺ­ă®ĺ…ĄĺŠ›ă‚’ĺľ—ă‚‹"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "使ă„ć–ą:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s ă‡ăイス\t\t ă‡ăイス上ă®ă‚˘ă‚Żă†ă‚Łă–é ĺźźă‚’ăŞă‚ąăă—ăľă™\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s ă‡ăイス n1 n2 ... n1 をアクă†ă‚Łă–ă«ă—ă¦..., 残りを非アクă†ă‚Łă–ă«ă—ăľă™\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An ă‡ăイス\t n をアクă†ă‚Łă´ă«ă—ă€ăťă‚Śä»Ąĺ¤–を非アクă†ă‚Łă–ă«ă—ăľă™\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"警告: GPT (GUID ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«) ㌠'%s' 上ă«ć¤śĺ‡şă•ă‚Śăľă—ăźă€‚sfdisk "
+"ă¦ăĽă†ă‚ŁăŞă†ă‚Ł GPT をサăťăĽăă—ă¦ă„ăľă›ă‚“。GNU Parted ă‚’ĺ©ç”¨ă—ă¦ăŹă ă•ă„。\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "ĺ…¨ă¦ă®ăェăクを超越ă•ă›ă‚‹ă«ăŻ --force ă•ă©ă‚°ă‚’使ăŁă¦ăŹă ă•ă„。\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "ă‚łăžăłă‰ăŞă—?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "不当ăŞăťăĽă番号"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "ĺč¨: %llu ă–ă­ăă‚Ż\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "使ă„ć–ą: sfdisk --print-id ă‡ăイス ă‘ăĽă†ă‚Łă‚·ă§ăłç•ŞĺŹ·\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "使ă„ć–ą: sfdisk --change-id ă‡ăイス ă‘ăĽă†ă‚Łă‚·ă§ăłç•ŞĺŹ· ID\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "使ă„ć–ą: sfdisk --id ă‡ăイス ă‘ăĽă†ă‚Łă‚·ă§ăłç•ŞĺŹ· [ID]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "一ă¤ă®ă‡ăイスă®ăżćŚ‡ĺ®šă§ăŤăľă™ (-l ă‚„ -s を除ăŹ)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "%s を読ăżć›¸ăŤă˘ăĽă‰ă§é–‹ă‘ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "%s を読込ăżç”¨ă«é–‹ă‘ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: ă‚·ăŞăłă€ć•° %ldă€ăăă‰ć•° %ldă€%ld セクタ/ăă©ăă‚Ż\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "%s ă®ă‚µă‚¤ă‚şă‚’取得ă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "不正ăŞă–ăĽăă•ă©ă‚°: 0x80 ă§ăŞăŹ 0x%x ă§ă™\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"終了\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"%d 個ă®ă‚˘ă‚Żă†ă‚Łă–ăŞĺźşćś¬é ĺźźă‘ăĽă†ă‚Łă‚·ă§ăłăŚă‚ă‚Šăľă™ă€‚\n"
+"LILO ă§ăŻĺ•ŹéˇŚă‚ă‚Šăľă›ă‚“ăŚă€DOS MBR 㯠1 ă¤ă®ă‚˘ă‚Żă†ă‚Łă–ăŞă‘ăĽă†ă‚Łă‚·ă§ăłă—ă‹\n"
+"ă–ăĽăă§ăŤăľă›ă‚“。\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %s ă«ăŻ ID %x ăŚă‚ă‚Šă€éš ă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "不正㪠ID %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "ă“ă®ă‡ă‚Łă‚ąă‚ŻăŻçŹľĺś¨ä˝żç”¨ä¸­ă§ă™ă€‚\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "致命的ăŞă‚¨ă©ăĽ: %s ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "警告: %s ăŻă–ă­ăă‚Żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "現在ă€čŞ°ă‚‚ă“ă®ă‡ă‚Łă‚ąă‚Żă‚’使ăŁă¦ă„ăŞă„ă‹ă‚’調ăąăľă™...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"ă“ă®ă‡ă‚Łă‚ąă‚ŻăŻçŹľĺś¨ä˝żç”¨ä¸­ă§ă™\n"
+"-- ă‘ăĽă†ă‚Łă‚·ă§ăłĺ†Ťć§‹çŻ‰ăŻă‚„ă‚ăźć–ąăŚă„ă„ă§ă—ょă†ă€‚\n"
+" ĺ…¨ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚’ăžă‚¦ăłă解除ă—ă€ăťă®ă‡ă‚Łă‚ąă‚Żă«ă‚ąăŻăă—é ĺźźăŚ\n"
+" ăŚă‚ă‚Śă° swapoff ă—ă¦ăŹă ă•ă„。\n"
+" ăˇăŞăżă« --no-reread ă•ă©ă‚°ă§ă“ă®ăェăクを抑ĺ¶ă§ăŤăľă™ă€‚\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "ĺ…¨ă¦ă®ăェăクを超越ă•ă›ă‚‹ă«ăŻ --force ă•ă©ă‚°ă‚’使ăŁă¦ăŹă ă•ă„。\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "古ă„場面:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %d ăŻĺ­ĺś¨ă—ăľă›ă‚“ă®ă§ă€ĺ¤‰ć›´ă§ăŤăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "ć–°ăźăŞĺ ´éť˘:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"ç§ăŻă“れらă®ă‘ăĽă†ă‚Łă‚·ă§ăłă«é–˘ä¸Žă—ăźăŹă‚ă‚Šăľă›ă‚“ -- 変更ă—ăľă›ă‚“。\n"
+"(本当ă«ă“れを行ăŞă„ăźă‘ă‚Śă°ă€--force ă‚Şă—ă‚·ă§ăłă‚’使ăŁă¦ăŹă ă•ă„)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "ç§ăŻă“ă‚Śă«é–˘ä¸Žă—ăźăŹă‚ă‚Šăľă›ă‚“ -- ćら㏠No ă¨ç­”ăă‚‹ăąăŤă§ă—ょă†\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "ă“ă‚Śă§ă‚ăŞăźă®č¦ć±‚ăŻćş€ăźă•ă‚Śăľă™ă‹ďĽź [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "ă‡ă‚Łă‚ąă‚Żă¸ă®ć›¸ăŤčľĽăżă‚’行ăŞă„ăľă™ă‹ďĽź [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "中断 -- 何も変更ă—ăľă›ă‚“\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "y,n,q ă®ă„ăšă‚Śă‹ă§ç­”ăă¦ăŹă ă•ă„\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"ć–°ăźăŞă‘ăĽă†ă‚Łă‚·ă§ăłă®ć›¸ăŤčľĽăżă«ć功\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"ă‚‚ă—ă€DOS ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’作ćăľăźăŻĺ¤‰ć›´ă—ăźăŞă‚‰ă° -- ăźă¨ăă° /dev/foo7 ă€\n"
+"dd(1) ă‚’ă¤ă‹ăŁă¦ćś€ĺťă® 512 ăイăă‚’ă‚Ľă­ă«ă—ă¦ä¸‹ă•ă„:\n"
+"dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(詳細㯠fdisk(8)を見ă¦ăŹă ă•ă„。)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+#, fuzzy
+msgid "\n"
+msgstr "'\n"
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version ăăĽă‚¸ă§ăłć…報を表示ă—ă¦çµ‚了\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "書ăŤčľĽăżă‚¨ă©ăĽ"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "ă‚Şă—ă‚·ă§ăł"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr "%s 㨠%s ăŻčŚĺŹŤă§ă™"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "waitpid ă«ĺ¤±ć•—"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "'%s' ă®ă˘ăĽă‰č¨­ĺ®šăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "ă•ă‚ˇă‚¤ă«ă®ä¸€č¦§ă‚’取得ă§ăŤăľă›ă‚“ă§ă—ăź"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "サăĽăă‚Şă—ă‚·ă§ăłăŻă¦ăĽă‚¶ă‚Şă—ă‚·ă§ăłă®ĺľŚă§č¨­ĺ®šă—ăľă™ă€‚"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p ă‚Şă•ă‚Łă‚ąé›»č©±ç•ŞĺŹ· ]\n"
+"\t[ -h 自宅電話番号 ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version ăăĽă‚¸ă§ăłć…報を表示ă—ă¦çµ‚了\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr ""
+"%s: 貴ć§ă®ă‚˘ă‚«ă‚¦ăłăăŻĺ­ĺś¨ă—ăŞă„。ă•ăŁă•ă¨ç«‹ăˇĺŽ»ă‚ŠäşŚĺş¦ă¨ć»ăŁă¦ăŹă‚‹ăŞă€‚\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "ă¦ăĽă‚¶ăŚă„ăľă›ă‚“"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "relocate ăŻă€URL ă®ăŞăťă‚¸ăăŞé¨ĺ†ă—ă‹ĺ¤‰ć›´ă§ăŤăľă›ă‚“"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s 㯠/etc/shells ăŞă‚ąăă®ä¸­ă«ă‚ă‚Šăľă›ă‚“。\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "不ćŽăŞă¦ăĽă‚¶ăĽă‚łăłă†ă‚­ă‚ąă"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: /etc/passwd ă®ă‡ă•ă‚©ă«ăă‚łăłă†ă‚­ă‚ąăを設定ă§ăŤăľă›ă‚“"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "%s ă® finger ć…報を変更ă—ăľă™ă€‚\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "finger ć…ĺ ±ăŻĺ¤‰ć›´ă•ă‚Śăľă›ă‚“ă§ă—ăźă€‚\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "ă‚Şă•ă‚Łă‚ą"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "ă‚Şă•ă‚Łă‚ąă®é›»č©±"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "自宅ă®é›»č©±"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"中断。\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "ă•ă‚ŁăĽă«ă‰ăŚé•·ă™ăŽăľă™ă€‚\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "ă•ă‚ŁăĽă«ă‰ăŚé•·ă™ăŽăľă™ă€‚\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' ăŻč¨±ĺŹŻă•ă‚Śăľă›ă‚“。\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' ăŻč¨±ĺŹŻă•ă‚Śăľă›ă‚“。\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: ă‚łăłăă­ăĽă«ć–‡ĺ­—ăŻč¨±ĺŹŻă•ă‚Śăľă›ă‚“。\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "ă‚łăłăă­ăĽă«ć–‡ĺ­—ăŻč¨±ĺŹŻă•ă‚Śăľă›ă‚“。\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "finger ć…ĺ ±ăŻĺ¤‰ć›´ *ă•ă‚Śăľă›ă‚“ă§ă—ăź*。ăľăźă‚ă¨ă§č©¦ă—ă¦ăŹă ă•ă„。\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "finger ć…報を変更ă—ăľă—ăźă€‚\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr "find_and_set_shell 㯠default_shell = %s ă«č¨­ĺ®šă—ăľă™\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "relocate ăŻă€URL ă®ăŞăťă‚¸ăăŞé¨ĺ†ă—ă‹ĺ¤‰ć›´ă§ăŤăľă›ă‚“"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s 㯠%s ă®ă‘ă‚ąăŻăĽă‰ă‚’変更ă™ă‚‹ć¨©é™ăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+"%s: ă‚ăŞăźă®ă‚·ă‚§ă«ăŻ /etc/shells ă«ă‚ă‚Šăľă›ă‚“ă®ă§ă€ă‚·ă‚§ă«ă®ĺ¤‰ć›´ăŚć‹’ĺ¦ă•ă‚Śăľă—"
+"ăź\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "%s ă®ă‚·ă‚§ă«ă‚’変更ă—ăľă™ă€‚\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "ć–°ă—ă„シェă«"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "シェă«ă‚’変更ă—ăľă›ă‚“ă§ă—ăźă€‚\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "シェă«ăŻĺ¤‰ć›´ *ă•ă‚Śăľă›ă‚“ă§ă—ăź*。ă‚ă¨ă§ăľăźč©¦ă—ă¦ăŹă ă•ă„。\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "シェă«ă‚’変更ă—ăľă—ăźă€‚\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: シェă«ăŻă•ă«ă‘ă‚ąă§ç„ˇă‘ă‚Śă°ăŞă‚Šăľă›ă‚“。\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" ăŻĺ­ĺś¨ă—ăľă›ă‚“。\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" ăŻĺ®źčˇŚă§ăŤăľă›ă‚“。\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "警告: \"%s\" 㯠/etc/shells ăŞă‚ąăă®ä¸­ă«ă‚ă‚Šăľă›ă‚“。\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" 㯠/etc/shells ăŞă‚ąăă®ä¸­ă«ă‚ă‚Šăľă›ă‚“。\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "知らăŞă„シェă«ă§ă™ă€‚\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "使ă„ć–ą: last [-#] [-f ă•ă‚ˇă‚¤ă«] [-t ç«Żćś«] [-h ă›ă‚ąăĺŤ] [ă¦ăĽă‚¶ ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "ă‚­ăŁăă‚·ăĄă•ă‚ˇă‚¤ă«ă®mmapă«ĺ¤±ć•—ă—ăľă—ăź.\n"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " ă­ă‚°ă‚¤ăłă—ăźăľăľă§ă™"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp 㯠%s ă‹ă‚‰ĺ§‹ăľă‚Šăľă™ "
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"割り込ăżăŚĺ…Ąă‚Šăľă—ăź %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "ă‡ăĽă‚żă‚˝ă‚±ăăタイă ă‚˘ă‚¦ă"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "致命的ăŞă‚¨ă©ăĽ: tty を再オăĽă—ăłă§ăŤăľă›ă‚“: %s"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "致命的ăŞă‚¨ă©ăĽ: %s ăŻă‚żăĽăźăŠă«ă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown ă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() ăŚĺ¤±ć•—: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "致命的ăŞă‚¨ă©ăĽ: 不正㪠tty"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "最終ă­ă‚°ă‚¤ăł: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr " %.*s ă‹ă‚‰\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr " %.*s 上\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "ă•ă‚ˇă‚¤ă« '%2$s' 㸠%1$s ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—: %3$s"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "ă€ă‚¤ă‚˘ă«ă‚˘ăă—㧠%s ă«ă€%s ă«ă‚ă‚‹"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "%s ă« ROOT ăŚă­ă‚°ă‚¤ăłă€%s ă‹ă‚‰"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "%s ă« ROOT ăŚă­ă‚°ă‚¤ăł"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "%s ă« %s ăŚă­ă‚°ă‚¤ăłă€%s ă‹ă‚‰"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "%s ă« %s ăŚă­ă‚°ă‚¤ăł"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "ă­ă‚°ă‚¤ăł: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "login: PAM ăŚĺ¤±ć•—ă—ăľă—ăźă€çµ‚了ă—ăľă™: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAM ă®ĺťćśźĺŚ–ăŚă§ăŤăľă›ă‚“: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "FAILED LOGIN %d FROM %s FOR %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login ăŚé–“é•ăŁă¦ă„ăľă™\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "*ă­ă‚°ă‚¤ăłăă©ă‚¤ăŚĺ¤šă™ăŽăľă™* (%d) %s ă‹ă‚‰ %s ă¸, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "失敗ă—ăźă­ă‚°ă‚¤ăłă‚»ăă‚·ă§ăł %s ă‹ă‚‰ %s ă¸, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login ăŚé–“é•ăŁă¦ă„ăľă™\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"ă‚»ăă‚·ă§ăłă‚»ăăアăă—ă«ĺ•ŹéˇŚă€‚中断ă—ăľă™ă€‚\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "NULL ă¦ăĽă‚¶ĺŤăŚ %s:%d ă«ă‚ă‚Šăľă™ă€‚中断ă—ăľă™ă€‚"
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY ă«ĺ¤±ć•—: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h ăŻă‚ąăĽă‘ăĽă¦ăĽă‚¶ĺ°‚用ă§ă™ă€‚\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr "使ă„ć–ą: last [-#] [-f ă•ă‚ˇă‚¤ă«] [-t ç«Żćś«] [-h ă›ă‚ąăĺŤ] [ă¦ăĽă‚¶ ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "無効ăŞă¦ăĽă‚¶ĺŤ \"%s\" ㌠%s:%d ă«ă‚ă‚Šăľă™ă€‚中断ă—ăľă™"
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr "SSPI ă©ă‚¤ă–ă©ăŞă®ĺťćśźĺŚ–ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "ć–°ă—ă„ăˇă‚¤ă«ăŚĺ±Šă„ă¦ă„ăľă™ă€‚\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "ăˇă‚¤ă«ăŚĺ±Šă„ă¦ă„ăľă™ă€‚\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() ă«ĺ¤±ć•—"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "ă‡ă‚Łă¬ă‚ŻăăŞă®ć¤śç´˘ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "ă›ăĽă ă‡ă‚Łă¬ă‚Żă㪠\"/\" ă§ă­ă‚°ă‚¤ăłă—ăľă™ă€‚\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "čµ·ĺ‹•ă‚ąă‚ŻăŞă—ăを読ăżčľĽă‚ăľă›ă‚“ă§ă—ăź"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "シェă«ăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "不正ăŞĺ†…é¨ĺ€¤: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "ă‘ă‚ąăŻăĽă‰: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "-group: ă‚°ă«ăĽă—ĺŤăŚăŞă„"
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "ă‚ăŞăźăŻ %s ă•ă‚“ă«ç· ă‚出ă•ă‚Śăľă—ăźă€‚"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "-group: ă‚°ă«ăĽă—ĺŤăŚăŞă„"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "ă‘ăĽăźăă‚·ă§ăłăŚă‚ă‚Šăľă›ă‚“"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "exec %s ă«ĺ¤±ć•—"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr " ă•ă‚ˇă‚¤ă« '%s' ă‚’é–‹ă‘ăľă›ă‚“ "
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "wait_for: ă—ă­ă‚»ă‚ą %ld ă®č¨éŚ˛ăŚă‚ă‚Šăľă›ă‚“"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "ă«ăĽăă‡ă‚Łă¬ă‚ŻăăŞă‚’ '%s' ă¸ĺ¤‰ć›´ă§ăŤăľă›ă‚“\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "ă—ă­ă‚»ă‚ąă®çŹľĺś¨çŠ¶ć…‹ă‹ă‚‰UIDを取得ă§ăŤăľă›ă‚“ă§ă—ăź\n"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "ă‚·ă‚°ăŠă«ăŹăłă‰ă©ă‚’設定ă§ăŤăľă›ă‚“"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s ăŻĺ¤±ć•—ă—ăľă—ăźă€‚\n"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "é–“é•ăŁăźă‘ă‚ąăŻăĽă‰ă§ă™ă€‚"
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "stat ăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "ă‚°ă«ăĽă—id を設定ă§ăŤăľă›ă‚“"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "ă‚°ă«ăĽă—id を設定ă§ăŤăľă›ă‚“"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "ă¦ăĽă‚¶ăĽid を設定ă§ăŤăľă›ă‚“"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "ă‚り多ăŹă®ć…報を得るăźă‚ă«ăŻ `%s --help' ă¨ĺ…ĄĺŠ›ă—ă¦ăŹă ă•ă„.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "使ă„ć–ą: debconf [ă‚Şă—ă‚·ă§ăł] ă‚łăžăłă‰ [引数]"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "ă¦ăĽă‚¶ăŚă„ăľă›ă‚“"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "ă«ăĽăă‡ă‚Łă¬ă‚ŻăăŞă‚’ '%s' ă¸ĺ¤‰ć›´ă§ăŤăľă›ă‚“\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: 読ăżć›¸ăŤä¸ˇç”¨ă«ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: 読ăżć›¸ăŤä¸ˇç”¨ă«ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: ă‘ă‚ąăŻăĽă‰ă•ă‚ˇă‚¤ă«ăŻä˝żç”¨ä¸­ă§ă™ă€‚\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "本当ă«ç¶šă‘ăľă™ă‹"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "ă‡ă‚Łă¬ă‚ŻăăŞă®ć¤śç´˘ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "実行ă«ĺ¤±ć•—"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "%s: ă‚·ăĽă‚Żă«ĺ¤±ć•—"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "fstată«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "fstată«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "%s: -g/--group ă‚Şă—ă‚·ă§ăłăŻ root ă®ăżăŚćŚ‡ĺ®šă§ăŤăľă™\n"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "ă•ă‚©ă«ă€ă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY ă«ĺ¤±ć•—: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "ă—ă­ă‚»ă‚ąă®çŹľĺś¨çŠ¶ć…‹ă‹ă‚‰UIDを取得ă§ăŤăľă›ă‚“ă§ă—ăź\n"
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: stat ăŚĺ¤±ć•—"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, fuzzy, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "ă‚·ăłăśăŞăă‚Żă•ă‚ˇă‚¤ă« %s ăŻčż˝ĺŠ ă§ăŤăľă›ă‚“"
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: inotify イă™ăłăを読むă“ă¨ăŚă§ăŤăľă›ă‚“"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "--clearsign [ă•ă‚ˇă‚¤ă«ĺŤ]"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "一時ă•ă‚ˇă‚¤ă«ă‚’é–‹ă‘ăľă›ă‚“ `%s': %s"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: '%.250s' ă‹ă‚‰ '%.250s' ă¸ă®ăŞăłă‚Żă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: %s ă®ă‚łăłă†ă‚­ă‚ąăを取得ă§ăŤăľă›ă‚“"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: %s ă®ă‚łăłă†ă‚­ă‚ąăを設定ă§ăŤăľă›ă‚“"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s ăŻĺ¤‰ć›´ă•ă‚Śăľă›ă‚“ă§ă—ăź\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "ĺ­ă—ă­ă‚»ă‚ąă‚’čµ·ĺ‹•ă§ăŤăľă›ă‚“"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: 変更ă•ă‚Śăľă›ă‚“ă§ă—ăź\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚’é–‰ăă‚‹ă“ă¨ăŚă§ăŤăľă›ă‚“"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "ă“ă®ă‚·ă‚ąă†ă ă§ăŻă‚·ăŁă‰ă‚¦ă‚°ă«ăĽă—ăŚä˝żă‚Źă‚Śă¦ă„ăľă™ă€‚\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "ă“ă®ă‚·ă‚ąă†ă ă§ăŻă‚·ăŁă‰ă‚¦ă‘ă‚ąăŻăĽă‰ăŚä˝żă‚Źă‚Śă¦ă„ăľă™ă€‚\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "今ă™ă %s を編集ă—ăľă™ă‹ [y/n]? "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "reset ă¨ĺ…±ă«ä˝żă†ĺ€¤ăŚä¸Ťć­Ł"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "不正ăŞć—Ą: 1-%d を使ăŁă¦ăŹă ă•ă„"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "不正ăŞćś: 1-12 を使ăŁă¦ăŹă ă•ă„"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "不正ăŞĺą´: 1-9999 を使ăŁă¦ăŹă ă•ă„"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "ćśă®ä¸­ă®ć—Ąă«ăˇăŻă«ăĽă«ă«ăžăăă—ă¦ă„ăľă›ă‚“"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "使ă„ć–ą: %s [+書式] [ć—Ą ćś ĺą´]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "č– Tib ă®ć—Ą"
+
+#: misc-utils/findfs.c:22
+#, fuzzy, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr "使ă„ć–ą: %s LABEL=<label>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "'%s' を解決ă§ăŤăľă›ă‚“"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ç¨®éˇž"
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr ", ă™ăąă¦ă®ă‚Şă—ă‚·ă§ăłă‚’表示 (s): "
+
+#: misc-utils/findmnt.c:109
+#, fuzzy
+msgid "VFS specific mount options"
+msgstr "Windows ç‰ Pidgin 専用ă®ă‚Şă—ă‚·ă§ăłć©źč˝ă‚’ćŹäľ›ă—ăľă™"
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "Windows ç‰ Pidgin 専用ă®ă‚Şă—ă‚·ă§ăłć©źč˝ă‚’ćŹäľ›ă—ăľă™"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr " ă‡ă‚Łă¬ă‚ŻăăŞă©ă™ă« "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+#, fuzzy
+msgid "filesystem UUID"
+msgstr "UUID ăŚä¸Ťć­Łă§ă™"
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "é ĺźźĺŤ = \"%s\"\n"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+#, fuzzy
+msgid "major:minor device number"
+msgstr "ソケăăă®ă‡ăイス番号ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“.\n"
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ç¨®éˇž"
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr " ă‡ă‚Łă¬ă‚ŻăăŞă©ă™ă« "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ç¨®éˇž"
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ç¨®éˇž"
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ç¨®éˇž"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "未知ă®ĺ‡¦ç†: %s"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "量(_M): "
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "%c を読込ăż\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr "移動(&M)"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "不ćŽăŞ"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "%s: %s 内㮠%d 行ă§ă‚¨ă©ăĽă§ă™\n"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "ăŹăă‚·ăĄă»ă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "「%s」を読ă‚ăľă›ă‚“: %s\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "出力ăăă•ă‚ˇă®ç˘şäżťă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "出力ăăă•ă‚ˇă®ç˘şäżťă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "再アクセスă«ĺ¤±ć•—ă—ăľă—ăźă€‚\n"
+
+#: misc-utils/findmnt.c:976
+#, fuzzy, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+"\n"
+"使ă„ć–ą:\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł]\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] <device> | <mountpoint>\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] <device> <mountpoint>\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] [--source <device>] [--target <mountpoint>]\n"
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "ă‚«ă©ă ć•° : %d\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "ć–ąĺ‘ă™ă‚Żăă«"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "無効ăŞćŚ‡ĺ®šă§ă™"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "鍵輪キăŁăă‚·ăĄă®ĺ†Ťć§‹çŻ‰ă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "-l ă‚„ --long 引数ă®ĺľŚă®ă­ăłă‚°ă‚Şă—ă‚·ă§ăłăŚç©şă§ă™"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "-s ă‹ --shell 引数ă®ĺľŚă®ă‚·ă‚§ă«ă‚’知りăľă›ă‚“"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr "言語指定オă—ă‚·ă§ăł:\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative ă­ăłă‚°ă‚Şă—ă‚·ă§ăłăŚ - 一ă¤ă§ĺ§‹ăľă‚‹ă®ă‚’許ă™\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help ă“ă®ăˇă‚‡ăŁă¨ă—ăźä˝żă„方を表示ă™ă‚‹\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=longopts ă­ăłă‚°ă‚Şă—ă‚·ă§ăłă‚’ç†č§Łă•ă›ă‚‹\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name=progname エă©ăĽĺ ±ĺ‘Šă®éš›ă®ĺŤĺ‰Ť\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=optstring ă‚·ă§ăĽă¨ă‚Şă—ă‚·ă§ăłă‚’ç†č§Łă•ă›ă‚‹\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr " -q, --quiet getopt(3) ă®ă‚¨ă©ăĽĺ ±ĺ‘Šă‚’行わăŞă„\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr "%s: 出力用書庫ăŚé–‹ă‹ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr "find_and_set_shell 㯠default_shell = %s ă«č¨­ĺ®šă—ăľă™\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr "ăăĽă‚¸ă§ăłç•ŞĺŹ·ăŚç­‰ă—ă„ă‹ă‚’ă†ă‚ąăă—ăľă™ă€‚"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr "出力ă®ćś«ĺ°ľă«ć”ąčˇŚă‚’ă¤ă‘ăľă›ă‚“"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version ăăĽă‚¸ă§ăłć…報を表示ă—ă¦çµ‚了\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "ă‚Şă—ă‚·ă§ăłć–‡ĺ­—ĺ—引数ăŚč¶łă‚Šăľă›ă‚“"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "内é¨ă‚¨ă©ăĽă€ä˝śč€…ă«é€Łçµˇă‚’。"
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: 不ćŽăŞă‚·ă‚°ăŠă« %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: ă—ă­ă‚»ă‚ą \"%s\" を見ă¤ă‘られăľă›ă‚“\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: 不ćŽăŞă‚·ă‚°ăŠă« %s -- 正常ăŞă‚·ă‚°ăŠă«:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "使ă„ć–ą: %s [ -s ă‚·ă‚°ăŠă« | -p ] [ -a ] ă—ă­ă‚»ă‚ąID ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ ă‚·ă‚°ăŠă« ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "不ćŽăŞ C++ エăłă‚łăĽă‰ĺŤă§ă™"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "不ćŽăŞ C++ エăłă‚łăĽă‰ĺŤă§ă™"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "čż°é¨ăŚé•·ă™ăŽăľă™"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "ソケăă"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "接続"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "ソケăă"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "接続"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "%d 個ă®çż»č¨łăˇăă‚»ăĽă‚¸"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "ă•ă‚ˇă‚¤ă«(&F)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "ă•ă‚ˇă‚¤ă«é¸ćŠžă€ă‚¤ă‚˘ă­ă‚°ă®ă‚Şă—ă‚·ă§ăł"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+#, fuzzy
+msgid "device name"
+msgstr "ă‡ăイスĺŤ:"
+
+#: misc-utils/lsblk.c:112
+#, fuzzy
+msgid "internal kernel device name"
+msgstr "ă‘ăケăĽă‚¸ĺŤĺŹ–得中ă®ĺ†…é¨ă‚¨ă©ăĽ"
+
+#: misc-utils/lsblk.c:115
+#, fuzzy
+msgid "where the device is mounted"
+msgstr "ăťă®ĺ ´ć‰€ăŻć—˘ă«ăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™"
+
+#: misc-utils/lsblk.c:116
+#, fuzzy
+msgid "filesystem LABEL"
+msgstr " ă‡ă‚Łă¬ă‚ŻăăŞă©ă™ă« "
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "é ĺźźĺŤ = \"%s\"\n"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "ă‘ă©ăˇăĽă‚ż %s ăŻčŞ­ăżĺ‡şă—専用ă§ă™"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: misc-utils/lsblk.c:125
+#, fuzzy
+msgid "rotational device"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: misc-utils/lsblk.c:126
+#, fuzzy
+msgid "device identifier"
+msgstr "č­ĺĄĺ­ă—ă¬ă•ă‚Łăă‚Żă‚ą(_I): "
+
+#: misc-utils/lsblk.c:127
+#, fuzzy
+msgid "size of the device"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr " ă¦ăĽă‚¶ĺŤ "
+
+#: misc-utils/lsblk.c:130
+#, fuzzy
+msgid "group name"
+msgstr " ă‚°ă«ăĽă—ĺŤ "
+
+#: misc-utils/lsblk.c:131
+#, fuzzy
+msgid "device node permissions"
+msgstr "%s ă®ă‘ăĽăźăă‚·ă§ăłă‚’変更ă§ăŤăľă›ă‚“"
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "ă‚Şă•ă‚»ăăăăŁăłăŤă«"
+
+#: misc-utils/lsblk.c:133
+#, fuzzy
+msgid "minimum I/O size"
+msgstr "最小サイズ:"
+
+#: misc-utils/lsblk.c:134
+#, fuzzy
+msgid "optimal I/O size"
+msgstr "最é©ăŞă–ă­ăクサイズを調査中"
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "ADFă«ă‚ă‚‹ç´™ă®ç‰©ç†ă‚µă‚¤ă‚ş"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "サイズăŚç•°ăŞă‚Śă°(&S)"
+
+#: misc-utils/lsblk.c:137
+#, fuzzy
+msgid "I/O scheduler name"
+msgstr " -r, --resource=RESOURCE ăŞă‚˝ăĽă‚ąĺŤ\n"
+
+#: misc-utils/lsblk.c:138
+#, fuzzy
+msgid "request queue size"
+msgstr "ăŞă‚Żă‚¨ă‚ąăă®ăśă‡ă‚Łă®ă‚µă‚¤ă‚şă‚’č¨ç®—ă§ăŤăľă›ă‚“"
+
+#: misc-utils/lsblk.c:139
+#, fuzzy
+msgid "device type"
+msgstr "ăăクアăă—タイă—"
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "ă‚Şă•ă‚»ăă 0x%08lx"
+
+#: misc-utils/lsblk.c:141
+#, fuzzy
+msgid "discard granularity"
+msgstr "ă‚°ăŞăă‰ă®é–“éš”"
+
+#: misc-utils/lsblk.c:142
+#, fuzzy
+msgid "discard max bytes"
+msgstr "%s: %s: %s %lu ăイă転é€ă—ăľă—ăź"
+
+#: misc-utils/lsblk.c:143
+#, fuzzy
+msgid "discard zeroes data"
+msgstr "ă—ă­ă‚°ă©ă ă‚Żă©ăă‚·ăĄă‡ăĽă‚ż"
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr "č­ĺĄĺ­ă—ă¬ă•ă‚Łăă‚Żă‚ą(_I): "
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "'%s' ă‹ă‚‰č¨­ĺ®šă•ă‚ˇă‚¤ă«ă®ă‘スを取得ă§ăŤăľă›ă‚“ă§ă—ăź"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "fontdir ă‡ăイスĺŤ"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "出力ăăă•ă‚ˇă®ç˘şäżťă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "サăĽăĺŤă®ĺŹ–ĺľ—ă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr ""
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: open ă«ĺ¤±ć•—: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: '%.250s' ă‹ă‚‰ '%.250s' ă¸ă®ăŞăłă‚Żă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "ă“ă‚ŚăŻă‡ăイス '%s' ă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "ă‚«ă©ă ć•° : %d\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: open ă«ĺ¤±ć•—: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "ă‡ăĽă˘ăłă®ĺĽ·ĺ¶çµ‚了(_K)"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "pid ă®č§Łćžă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "不ćŽăŞ"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "pid ă®č§Łćžă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "ă‚Şă—ă‚·ă§ăł"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "無効ăŞćŚ‡ĺ®šă§ă™"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%2$s ă‹ă‚‰ %1$d ăイă取得ă—ăľă—ăź\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "symlink ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "ăťă®ă‚ă†ăŞă•ă‚ˇă‚¤ă«ă‚„ă‡ă‚Łă¬ă‚ŻăăŞăŻă‚ă‚Šăľă›ă‚“"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr " エă‡ă‚Łă‚żă»ă‚Şă—ă‚·ă§ăł "
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"č©łç´°ć…ĺ ±ăŻă€namei(1) を確認ă—ă¦ăŹă ă•ă„。\n"
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "ăă«ă—ă–ă©ă‚¦ă‚¶ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: misc-utils/namei.c:517
+#, fuzzy, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "CPU時間ĺ¶é™ă‚’超éŽă—ăľă—ăź"
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "「%s」ă‹ă‚‰ă€Ś%s」ă¸ă®ç§»ĺ‹•ă«ĺ¤±ć•—: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "ă•ă‚ˇă‚¤ă«é¸ćŠžă€ă‚¤ă‚˘ă­ă‚°ă®ă‚Şă—ă‚·ă§ăłă‚’表示ă™ă‚‹"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "不正ăŞĺĽ•ć•°"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "書ăŤčľĽăż"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "ĺč¨ć•°: "
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "ć­Łă—ăŹăŞă„ă¬ă‚ąăťăłă‚ąé•·"
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s ă‚’é–‹ăŹăľăźăŻä˝śćă§ăŤăľă›ă‚“: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "lock %s ăŚĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "unixă‚ąăăŞăĽă ă‚˝ă‚±ăăを作ćă§ăŤăľă›ă‚“ă§ă—ăź: %s"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "unixソケăă %să‚’ăイăłă‰ă§ăŤăľă›ă‚“: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "uuidd ă‡ăĽă˘ăłăŻć—˘ă«ă« pid %s ă§ĺ®źčˇŚä¸­ă§ă™\n"
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "ソケăăă‚’ăŞă‚ąăłă§ăŤăľă›ă‚“ă§ă—ăź"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "ă‡ăイス %2$s ă‹ă‚‰ă€€%1$d ăイă読ăżčľĽăżć™‚ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăźă€‚"
+
+#: misc-utils/uuidd.c:395
+#, fuzzy, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "書式: %s [p num] [-n] [ă‘ăă]\n"
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "操作(_O): "
+
+#: misc-utils/uuidd.c:414
+#, fuzzy, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "ăŞăťă‚¸ă㪠UUID を取得ă—ă¦ă„ăľă™"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "生ćă•ă‚Śăźă©ăłă€ă ăŞUUID: %s\n"
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+
+#: misc-utils/uuidd.c:454
+#, fuzzy, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "UUID ăŚä¸Ťć­Łă§ă™"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "不正ăŞă‚Şă—ă‚·ă§ăł %d\n"
+
+#: misc-utils/uuidd.c:480
+#, fuzzy, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "サăĽăă‹ă‚‰ Ping ăŞă—ă©ă‚¤ă‚’受ă‘取りăľă—ăź"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "不正ăŞć•°: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "ă‡ăĽă˘ăłă«ćŽĄç¶šă™ă‚‹éš›ă«ă‚¨ă©ăĽ: %s"
+
+#: misc-utils/uuidd.c:618
+#, fuzzy, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "ăŞăťă‚¸ă㪠UUID を取得ă—ă¦ă„ăľă™"
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr "UUIDă®ăŞă‚ąă:\n"
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "pid %d ă§ĺ®źčˇŚä¸­ă® uuidd を強ĺ¶çµ‚了ă§ăŤăľă›ă‚“: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "pid %d ă§ĺ®źčˇŚä¸­ă® uuidd を強ĺ¶çµ‚了ă—ăľă—ăź\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "SSPI ă©ă‚¤ă–ă©ăŞă®ĺťćśźĺŚ–ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: open ă«ĺ¤±ć•—: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "%s: 見ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"č©łç´°ć…ĺ ±ăŻă€wipefs(8) を確認ă—ă¦ăŹă ă•ă„。\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "警告: %s ă®čŞ­čľĽăżă‚¨ă©ăĽ: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "警告: %s ăŚă‚ŞăĽă—ăłă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: %s ă‚’ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“ă§ă—ăź -- 代り㫠%s を使ă„ăľă™\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr "ă­ăă‚Żă•ă‚ˇă‚¤ă« %s を作ćă§ăŤăľă›ă‚“: %s (-n ă•ă©ă‚°ă‚’使ăŁă¦ăŹă ă•ă„)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr "ă­ăă‚Żă•ă‚ˇă‚¤ă« %s ă‚’ăŞăłă‚Żă§ăŤăľă›ă‚“: %s (-n ă•ă©ă‚°ă‚’使ăŁă¦ăŹă ă•ă„)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "ă­ăă‚Żă•ă‚ˇă‚¤ă« %s ă‚’é–‹ă‘ăľă›ă‚“: %s (-n ă•ă©ă‚°ă‚’使ăŁă¦ăŹă ă•ă„)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "ă­ăă‚Żă•ă‚ˇă‚¤ă« %s ă‚’ă­ăă‚Żă§ăŤăľă›ă‚“: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "ă­ăă‚Żă•ă‚ˇă‚¤ă« %s ă‚’ă­ăă‚Żă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "タイă ă‚˘ă‚¦ă"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"ăŞăłă‚Ż %s を作ćă§ăŤăľă›ă‚“\n"
+"多ĺ†ă€ă‚´ăźă¨ĺŚ–ă—ăźă­ăă‚Żă•ă‚ˇă‚¤ă«ăŚă‚ă‚‹ă®ă§ăŻ ?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "%s ă‚’é–‹ă‘ăľă›ă‚“ (%s) -- mtab ăŻć›´ć–°ă•ă‚Śăľă›ă‚“"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "%s ă¸ă®ć›¸ăŤčľĽăżă‚¨ă©ăĽ: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "ă•ă©ă‚Żă‚żă«ă®ć§ç›¸ă‚’変化ă•ă›ăľă™"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "%s ă®ă˘ăĽă‰ĺ¤‰ć›´ă‚¨ă©ăĽ: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "%s ă®ă‚ŞăĽăŠăĽĺ¤‰ć›´ă‚¨ă©ăĽ: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "%s ă®ĺŤĺ‰Ťă‚’ %s ă«ĺ¤‰ć›´ă§ăŤăľă›ă‚“: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount: 警告: /etc/mtab ăŻć›¸ăŤčľĽăżĺŹŻč˝ă§ăŻă‚ă‚Šăľă›ă‚“\n"
+" (äľ‹: ăŞăĽă‰ă‚ŞăłăŞăĽă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă )。\n"
+" mount(8) ăŚă‚˘ăă—ă‡ăĽă出来ăŞă„時ă«ă¬ăťăĽăă•ă‚Śă‚‹ć…ĺ ±ă§ă‚る可č˝ć€§ăŚ\n"
+" ă‚ă‚Šăľă™ă€‚ă‚·ă‚ąă†ă ă®ăžă‚¦ăłăăťă‚¤ăłăă«ă¤ă„ă¦ă®ć…ĺ ±ă«ă¤ă„ă¦ăŻă€\n"
+" /proc/mountsă•ă‚ˇă‚¤ă«ă‚’ăェăă‚Żă—ă¦ăŹă ă•ă„。\n"
+"\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "'%s' ă‚’ '%s' ă«ăžă‚¦ăłăă§ăŤăľă›ă‚“ă§ă—ăź"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: mtab ă«ă‚ă‚‹ă¨ă€%s 㯠%s ă«ăžă‚¦ăłăć¸ă§ă™"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: mtab ă«ă‚ă‚‹ă¨ă€%s 㯠%s ă«ăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: %s を書ăŤčľĽăżç”¨ă«ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: %s ă®ć›¸ăŤčľĽăżă‚¨ă©ăĽ: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: %s ă®ă˘ăĽă‰ĺ¤‰ć›´ă‚¨ă©ăĽ: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: ă‚°ă«ăĽă—id を設定ă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: ă¦ăĽă‚¶ăĽid を設定ă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: ĺ­ă—ă­ă‚»ă‚ąă®čµ·ĺ‹•ăŚă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "%s を試ă—ăľă™\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: %s ă¸ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—ă®ćŚ‡ĺ®šăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " %s ĺŹăŻ %s ă®ă‚żă‚¤ă—を試ă—ă¦ăżăľă™\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " ăťă—ă¦ă€ăťă‚ŚăŻă‚ąăŻăă—ç©şé–“ă®ć§ă§ă™ă€‚\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " タイ㗠%s を試ă—ă¦ăżăľă™\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ăŻă‚ąăŻăă—ç©şé–“ă®ă‚ă†ă§ă™ă­ -- ăžă‚¦ăłăă—ăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "ăžă‚¦ăłăă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: root ă ă‘㌠%s ă‚’ %s ă«ăžă‚¦ăłăă§ăŤăľă™"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: loop ă‡ăイス㌠2 回指定ă•ă‚Śăľă—ăź"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: タイă—㌠2 回指定ă•ă‚Śăľă—ăź"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: loop ă‡ăイスă®č¨­ĺ®šă‚’ă‚ąă‚­ăă—ă—ăľă™\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: loop ă‡ăイス %s を使ă„ăľă™\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "指定ă—ăź'場所'ăŻç„ˇĺŠąă§ă™ă€‚"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "指定ă—ăź'場所'ăŻç„ˇĺŠąă§ă™ă€‚"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: mtab ă«ă‚ă‚‹ă¨ă€%s 㯠loop ă¨ă—㦠%s ă«ăžă‚¦ăłăć¸ă§ă™"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "ăˇă˘ăŞă«ć Ľç´Ťă§ăŤăľă›ă‚“ă§ă—ăźă®ă§ă€çµ‚了ă—ăľă™ă€‚\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: loop ă‡ăイスă®č¨­ĺ®šă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: loop ă‡ăイス %s を使ă„ăľă™\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "pid %d ă®ĺ±žć€§ă®ĺŹ–ĺľ—ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: loop ă‡ăイスă®č¨­ĺ®šă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: stolen loop=%s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: loop ă‡ăイスă®č¨­ĺ®šă«ć功ă—ăľă—ăź\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“ -- 作ćă—ăľă™..\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: -p ăľăźăŻ --pass-fd 引数ăŻć•°ĺ­—ă§ăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: %s を速度設定用ă«ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: 速度ă®č¨­ĺ®šăŚă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: mtab ă«ă‚ă‚‹ă¨ă€%s 㯠%s ă«ăžă‚¦ăłăć¸ă§ă™\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "mount: 警告: %s ăŻčŞ­ăżć›¸ăŤĺŹŻč˝ă¨ă—ă¦ăžă‚¦ăłăă•ă‚Śă¦ă„ă‚‹ă‚ă†ă§ă™ă€‚\n"
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "mount: 警告: %s ăŻăŞăĽă‰ă‚ŞăłăŞăĽă¨ă—ă¦ăžă‚¦ăłăă•ă‚Śă¦ă„ă‚‹ă‚ă†ă§ă™ă€‚\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount: none ăŚćŚ‡ĺ®šă•ă‚Śăľă—ăźăŚă€ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—を決定ă§ăŤăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—を指定ă™ă‚‹ĺż…č¦ăŚă‚ă‚Šăľă™"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: ăžă‚¦ăłăă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: ăžă‚¦ăłăăťă‚¤ăłă %s ăŻă‡ă‚Łă¬ă‚ŻăăŞă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: 許可ăŚă‚ă‚Šăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: mount を使ă†ă«ăŻă‚ąăĽă‘ăĽă¦ăĽă‚¶ă§ăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s ăŻä˝żç”¨ä¸­ă§ă™"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc ăŻăžă‚¦ăłăć¸ă§ă™"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s 㯠ăžă‚¦ăłăć¸ă‹ %s ăŚä˝żç”¨ä¸­ă§ă™"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: ăžă‚¦ăłăăťă‚¤ăłă %s ăŚĺ­ĺś¨ă—ăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: ăžă‚¦ăłăăťă‚¤ăłă %s ăŻă©ă“ă‚‚ă•ă—ă¦ă„ăŞă„ă‚·ăłăśăŞăă‚ŻăŞăłă‚Żă§ă™"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: ă‚ąăšă‚·ăŁă«ă‡ăイス %s ăŚĺ­ĺś¨ă—ăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: ă‚ąăšă‚·ăŁă«ă‡ăイス %s ăŚĺ­ĺś¨ă—ăľă›ă‚“\n"
+" (ă‘ă‚ąă®ă‡ă‚Łă¬ă‚ŻăăŞăŚă‚ă‚Šăľă›ă‚“)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s ăŻăľă ăžă‚¦ăłăă•ă‚Śă¦ă„ăŞă„ă‹ă€ä¸Ťć­ŁăŞă‚Şă—ă‚·ă§ăłă§ă™"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: é–“é•ăŁăźă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—ă€ä¸Ťć­ŁăŞă‚Şă—ă‚·ă§ăłă€\n"
+" %s ă®ă‚ąăĽă‘ăĽă–ă­ăă‚ŻăŚä¸Ťć­Łă€ă‚łăĽă‰ăšăĽă‚¸ăľăźăŻ\n"
+" ăă«ă‘ăĽă—ă­ă‚°ă©ă ă®ćśŞćŚ‡ĺ®šă€ć–ă„ăŻä»–ă®ă‚¨ă©ăĽ"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "ăžă‚¦ăłăă†ăĽă–ă«ăŚă„ăŁă±ă„ă§ă™"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: ă‚ąăĽă‘ăĽă–ă­ăクを読ă‚ăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: 不ćŽăŞă‡ăイスă§ă™"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: 未知ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă— '%s'"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: ăŠăťă‚‰ăŹă‚ăŞăźăŻ %s を指定ă—ăźă‹ăŁăźă®ă§ă—ょă†"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: 多ĺ†ă‚ăŞăźăŻ 'iso9660' を指定ă—ăźă‹ăŁăźă®ă§ăŻďĽź"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: 多ĺ†ă‚ăŞăźăŻ 'vfat' を指定ă—ăźă‹ăŁăźă®ă§ăŻďĽź"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s ăŻé–“é•ăŁăźă‡ăイス番号ă«ăŞăŁă¦ă„ă‚‹ă‹ă€ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—\n"
+" %s ăŚă‚µăťăĽăă•ă‚Śă¦ă„ăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s ăŻă–ă­ăă‚Żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“ă€ă ă‹ă‚‰ stat ăŚĺ¤±ć•—?"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: ă“ă®ă‚«ăĽăŤă«ăŻ %s ă‚’ă–ă­ăă‚Żă‡ăイスă¨ă—ă¦čŞŤč­ă—ăľă›ă‚“\n"
+" (ăŠăťă‚‰ăŹă€`modprobe ă‰ă©ă‚¤ă' ă—ăŞă„ă¨ă„ă‘ăŞă„ă®ă§ăŻ?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s ăŻă–ă­ăă‚Żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“ (ĺ¤šĺ† `-o loop' ă¨ă‚„ăŁă¦ăżăźă‚‰?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s ăŻă–ă­ăă‚Żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s ăŻć­Łĺ¸¸ăŞă–ă­ăă‚Żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "ă–ă­ăă‚Żă‡ăイス "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: %s%s を読込ăżĺ°‚用ă§ăžă‚¦ăłăă§ăŤăľă›ă‚“"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s ăŻć›¸ăŤčľĽăżç¦ć­˘ă§ă™ăŚă€`-w' ă•ă©ă‚°ăŚćŽç¤şçš„ă«ä¸Žăられăľă—ăź"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+"mount: %s%s を読ăżć›¸ăŤç”¨ă¨ă—ă¦ĺ†Ťăžă‚¦ăłăă§ăŤăľă›ă‚“ă€ă©ă‚¤ăă—ă­ă†ă‚Żăă•ă‚Śă¦ă„"
+"ăľă™"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s ăŻć›¸ăŤčľĽăżç¦ć­˘ă§ă™ă€čŞ­čľĽăżĺ°‚用ă§ăžă‚¦ăłăă—ăľă™"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "%1 ă«ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“ă§ă—ăź"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: タイă—ăŚä¸Žăられă¦ă„ăľă›ă‚“ -- ă‚łă­ăłăŚă‚ă‚‹ă®ă§ nfs ă®ć§ă§ă™ăŚ\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount: タイă—ăŚä¸Žăられă¦ă„ăľă›ă‚“ -- // ăŚă‚ă‚‹ă®ă§ cifs ă®ć§ă§ă™ăŚ\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s 㯠%s ă«ăžă‚¦ăłăć¸ă§ă™\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"使ă„ć–ą: mount -V : ăăĽă‚¸ă§ăłă®čˇ¨ç¤ş\n"
+" mount -h : ă“ă®ăă«ă—を表示\n"
+" mount : ăžă‚¦ăłăć¸ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă®ä¸€č¦§\n"
+" mount -l : ĺŚä¸Šă€ăśăŞăĄăĽă ă©ă™ă«ă‚’ĺ«ă‚€\n"
+"以上ăŚć…報表示ă«é–˘ă™ă‚‹ă‚‚ă®ă§ă™ă€‚次ă‹ă‚‰ăŻăžă‚¦ăłă操作ă«é–˘é€Łă™ă‚‹ă‚‚ă®ă§ă™ă€‚\n"
+"ăťă®ă‚łăžăłă‰ăŻ `mount [-t fstype] 何を ă©ă“ă¸'。\n"
+"/etc/fstab ă§č©łç´°ă«ă¤ă„ă¦ćŚ‡ĺ®šă—ă¦ăŠă‘ă°ă€ăťă‚Śă‚’çśç•Ąă™ă‚‹ă“ă¨ăŚă§ăŤăľă™ă€‚\n"
+" mount -a [-t|-O] ... : /etc/fstab ă®ĺ†…容全ă¦ă‚’ăžă‚¦ăłăă™ă‚‹\n"
+" mount device : device を既知ă®ĺ ´ć‰€ă¸ăžă‚¦ăłăă™ă‚‹\n"
+" mount directory : 既知ă®ă‡ăイスを directory ă«ăžă‚¦ăłăă™ă‚‹\n"
+" mount -t type dev dir : 通常㮠mount ă‚łăžăłă‰\n"
+"ă‚ă‚‹ă¨ăŤăŻă€ă‡ăイスを実際ă«ăŻăžă‚¦ăłăă›ăšă€ă‚ă‚‹ă¨ăŤăŻă‡ăイス上ă«č¦‹ă¤ă‘ăź\n"
+"ďĽä¸Žăられăźă‚żă‚¤ă—ă®ďĽ‰ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚’ăžă‚¦ăłăă™ă‚‹ă“ă¨ă«ç•™ć„Źă—ăľă—ょă†ă€‚\n"
+"ć—˘ă«č¦‹ăă¦ă„ă‚‹ă‡ă‚Łă¬ă‚ŻăăŞă„ăŞăĽă‚’ä»–ă®ĺ ´ć‰€ă«ăžă‚¦ăłăă§ăŤăźă‚Šă‚‚ă—ăľă™:\n"
+" mount --bind olddir newdir\n"
+"ăľăźăŻă€ă‚µă–ă„ăŞăĽă‚’移動:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"device ă«ăŻă€/dev/hda1 ă‚„ /dev/cdrom ă®ć§ă«ĺŤĺ‰Ťă§ä¸Žăă¦ă‚‚ă€-L label ă‚’\n"
+"使ăŁă¦ă©ă™ă«ĺŤă§ä¸Žăă¦ă‚‚ă€-U uuid を使ăŁă¦ uuid を与ăă¦ă‚‚ă‹ăľă„ăľă›ă‚“。\n"
+"ăťă®ä»–ă®ă‚Şă—ă‚·ă§ăł: [-nfFrsvw] [-o ă‚Şă—ă‚·ă§ăł] [-p passwdfd]\n"
+"ă‚‚ăŁă¨č©łă—ă„ă“ă¨ă‚’知りăźă‘ă‚Śă°ă€man 8 mount ă¨ĺ”±ăă¦ăżăľă—ょă†ă€‚\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: root ă ă‘ăŚăťă‚Śă‚’行ăŞăăľă™"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: root ă ă‘ăŚăťă‚Śă‚’行ăŞăăľă™"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "何もăžă‚¦ăłăă•ă‚Śăľă›ă‚“ă§ă—ăź"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: ăťă®ă‚ă†ăŞă‘ăĽă†ă‚Łă‚·ă§ăłăŻč¦‹ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %2$s ă‚„ %3$s 内㫠%1$s を見ă¤ă‘られăľă›ă‚“"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: 警告: %s ă®ćś€ĺľŚă«ć”ąčˇŚăŚă‚ă‚Šăľă›ă‚“\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: %2$s ă® %1$d 行目ăŻä¸Ťć­Łă§ă™%3$s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "-- 無視ă—ăľă™"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "xstrndup ĺ‘Ľăłĺ‡şă—ă®ăă‚°"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "ăˇă˘ăŞăŚä¸ŤĺŤĺ†ă§ă™"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "mount: -f ă‚Şă—ă‚·ă§ăłă®ă‚µăťăĽă無ă—ă§ă‚łăłă‘イă«ă•ă‚Śă¦ă„ăľă™\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: ă‚°ă«ăĽă— id ă‚’ă‚»ăăă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: ă¦ăĽă‚¶ăĽ id ă‚’ă‚»ăăă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: ĺ­ă—ă­ă‚»ă‚ąă‚’čµ·ĺ‹•ă§ăŤăľă›ă‚“: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s ăŻä¸Ťć­ŁăŞă–ă­ăă‚Żă‡ăイスă§ă™"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ăžă‚¦ăłăă•ă‚Śă¦ă„ăľă›ă‚“"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: ă‚ąăĽă‘ăĽă–ă­ăă‚Żă«ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount %s: ă‡ăイスăŚă“ジăĽă§ă™ă€‚\n"
+" (ă“ă®ă‡ăイスăŚă—ă­ă‚»ă‚ąă«ă‚ăŁă¦ä˝żă‚Źă‚Śă¦ă„ă‚‹ă®ă§ă‚ă‚Śă°ă€lsof(8)ă‚„fuser"
+"(1)を使ăŁă¦čŞżćź»ă™ă‚‹ă®ăŚćś‰ç›Šă‹ă‚‚ă—ă‚Śăľă›ă‚“)"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: 見ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: アăłăžă‚¦ăłăă™ă‚‹ă«ăŻă‚ąăĽă‘ăĽă¦ăĽă‚¶ă§ăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: ă–ă­ăă‚Żă‡ăイスăŻă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ä¸Šă§č¨±ĺŹŻă•ă‚Śăľă›ă‚“"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr ".../DEBIAN ă‡ă‚Łă¬ă‚ŻăăŞă¸ă®ç§»ĺ‹•ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: ă‚«ă¬ăłăă‡ă‚Łă¬ă‚ŻăăŞă«ă‚˘ă‚Żă‚»ă‚ąă§ăŤăľă›ă‚“ -- %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "%d äżťćŚă€%d 移動ă€%d ĺ»ćŁ„"
+
+#: mount-deprecated/umount.c:263
+#, fuzzy, c-format
+msgid "current directory moved to %s\n"
+msgstr "現在ă®ä˝śćĄ­ă‡ă‚Łă¬ă‚ŻăăŞă‚’č¨éŚ˛ă§ăŤăľă›ă‚“"
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "umount2 ăŚă‚ă‚Šăľă›ă‚“ă€umount ă—ă¦ăżăľă™...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s ăŻä˝żç”¨ä¸­ă§ă™ -- 読込ăżĺ°‚用ă¨ă—ă¦ĺ†Ťăžă‚¦ăłăă—ăľă™\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: %s を読込ăżĺ°‚用ă§ĺ†Ťăžă‚¦ăłăă§ăŤăľă›ă‚“ă§ă—ăź\n"
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s ăŻă‚˘ăłăžă‚¦ăłăă•ă‚Śăľă—ăź\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: アăłăžă‚¦ăłăă®ăźă‚ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ăŞă‚ąăを見ă¤ă‘られăľă›ă‚“"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"使ă„ć–ą: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfsタイă—] [-O ă‚Şă—ă‚·ă§ăł]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "ă‡ăイス %s 㯠%s ă«é–˘é€ŁăĄă‘ă•ă‚Śă¦ă„ăľă™\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "ă‡ăイス %s 㯠%s ă«é–˘é€ŁăĄă‘ă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr "\"\" をアăłăžă‚¦ăłăă§ăŤăľă›ă‚“\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "%s/%s ă¸ćŽĄç¶šă—ă‚ă†ă¨ă—ă¦ă„ăľă™..."
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "mtab ă« %s ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "%s 㯠%s ăŚă‚ă‚‹ĺ ´ĺă«ă®ăżćś‰ĺŠąă§ă™"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s ăžă‚¦ăłăă•ă‚Śă¦ă„ăľă›ă‚“ (mtab ă«ă‚ă‚‹ă¨)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: %s ăŻč¤‡ć•°ăžă‚¦ăłăă•ă‚Śă¦ă„ă‚‹ă‚ă†ă§ă™"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+"umount: %s 㯠fstab ă«ă‚ă‚Šăľă›ă‚“ (ă•ă‚‰ă«ă€ă‚ăŞăźăŻ root ă§ăŻă‚ă‚Šăľă›ă‚“)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s 㯠fstab ă¨ä¸€č‡´ă—ăŞă„ăžă‚¦ăłăă§ă™"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: %s ă ă‘㌠%s ă‚’ %s ă‹ă‚‰ă‚˘ăłăžă‚¦ăłăă§ăŤăľă™"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: root ă ă‘ăŚăťă‚Śă‚’行ăŞăăľă™"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "ă‚»ăă‚·ă§ăłă¸ă®ćŽĄç¶šă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: schedutils/chrt.c:108
+#, fuzzy, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "pid %d's %s scheduling priority: %d\n"
+
+#: schedutils/chrt.c:110
+#, fuzzy, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "pid %d's %s scheduling priority: %d\n"
+
+#: schedutils/chrt.c:143
+#, fuzzy
+msgid "unknown scheduling policy"
+msgstr "\"%s\" ăŻä¸ŤćŽăŞĺ†éˇžč¦Źĺ‰‡ă§ă™"
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "pid %d ă®ĺ±žć€§ă®ĺŹ–ĺľ—ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "pid %d's %s scheduling priority: %d\n"
+
+#: schedutils/chrt.c:153
+#, fuzzy, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "pid %d's %s scheduling priority: %d\n"
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "SCHED_%s min/max priority\t: %d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s ăŻă‚µăťăĽăă•ă‚Śă¦ă„ăľă›ă‚“?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "é¨ĺ±‹ă®ăŞă‚ąăを取得ă§ăŤăľă›ă‚“"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "'%s' ă®ă˘ăĽă‰č¨­ĺ®šăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "'%s' ă®ă˘ăĽă‰č¨­ĺ®šăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "%s ă®ĺ®źčˇŚă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "ioprio_get ăŚĺ¤±ć•—"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "ioprio_set ăŚĺ¤±ć•—"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "未知ă®ç˝˛ĺŤă‚Żă©ă‚ąă§ă™"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "未知ă®ç˝˛ĺŤă‚Żă©ă‚ąă§ă™"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+"使ă„ć–ą: %s [ă‚Şă—ă‚·ă§ăł] [mask | cpu-list] [pid|cmd [引数...]]\n"
+"\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"č©łç´°ć…ĺ ±ăŻă€taskset(1) を確認ă—ă¦ăŹă ă•ă„。\n"
+
+#: schedutils/taskset.c:87
+#, fuzzy, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr "ć–°ă—ă„ă‚˝ăĽă‚ąăŞă‚ąăを書ăŤčľĽă‚“ă§ă„ăľă™\n"
+
+#: schedutils/taskset.c:88
+#, fuzzy, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr " -l,--list ĺ„ăťăĽăă®çŹľĺś¨ă®ćŽĄç¶šă‚’表示\n"
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, fuzzy, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr "é¸ćŠžçŻ„囲ă«ă¬ă‚¤ă¤ăĽăžă‚ąă‚Żă®çŻ„囲を加ăăľă™"
+
+#: schedutils/taskset.c:97
+msgid "conversion from cpuset to string failed"
+msgstr ""
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "ă‚»ăă‚·ă§ăłă¸ă®ćŽĄç¶šă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "'%s' ă®ă˘ăĽă‰č¨­ĺ®šăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "%s ă®ă‚µă‚¤ă‚şă‚’取得ă§ăŤăľă›ă‚“"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "cache_set: 犠牲é ĺźźç˘şäżťă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "ă•ă‚ˇă‚¤ă«ă®ä¸€č¦§ă‚’取得ă§ăŤăľă›ă‚“ă§ă—ăź"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" ăŻĺ­ĺś¨ă—ăľă›ă‚“。\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "セクタ %d ăŻć—˘ă«ç˘şäżťć¸ăżă§ă™\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "セクタ %d ăŻć—˘ă«ç˘şäżťć¸ăżă§ă™\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "'%s' ă®ă˘ăĽă‰č¨­ĺ®šăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "'%s' ă®ă˘ăĽă‰č¨­ĺ®šăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "'%s' ă®ă˘ăĽă‰č¨­ĺ®šăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" ăŻĺ®źčˇŚă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "セクタ %d ăŻć—˘ă«ç˘şäżťć¸ăżă§ă™\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "セクタ %d ăŻć—˘ă«ç˘şäżťć¸ăżă§ă™\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "自動設定ăŚĺ¤±ć•—ă—ăľă—ăźă€‚\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "自動設定ăŚĺ¤±ć•—ă—ăľă—ăźă€‚\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "不当ăŞăťăĽă番号"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr " エă‡ă‚Łă‚żă»ă‚Şă—ă‚·ă§ăł "
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: 不ćŽăŞĺĽ•ć•° %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "ăŹăĽă•ăăĽăłBďĽă‚˝ă•ăăăĽăłďĽ‰"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+"ăťă® Ctrl-Alt-Del ă®ćŚŻă‚‹čžă„を設定ă™ă‚‹ă«ăŻ root ă§ç„ˇă‘ă‚Śă°ăŞă‚Šăľă›ă‚“。\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: ă‡ă•ă‚©ă«ă閾値 %ld 及ăłă‡ă•ă‚©ă«ăタイă ă‚˘ă‚¦ă %ld\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help ă“ă®ăˇă‚‡ăŁă¨ă—ăźä˝żă„方を表示ă™ă‚‹\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"ă•ă‚ˇă‚¤ă« %să€ă—ăŤă„値 %luă€ă‘イă—内ă®ćś€ĺ¤§ă‚­ăŁă©ă‚Żă‚żć•°ăŻ %d ă§ă—ăźă€‚\n"
+"秒間最大キăŁă©ă‚Żă‚żč»˘é€ă¬ăĽă㯠%f ă§ă—ăźă€‚\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"ă•ă‚ˇă‚¤ă« %să€ă—ăŤă„値 %lu 及ăłă‚żă‚¤ă ă‚˘ă‚¦ă値 %luă€ă‘イă—内ă®ćś€ĺ¤§ă‚­ăŁă©ă‚Żă‚ż\n"
+"ć•°ăŻă€%d ă§ă—ăźă€‚秒間最大キăŁă©ă‚Żă‚żč»˘é€ă¬ăĽă㯠%f ă§ă—ăźă€‚\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday ăŚĺ¤±ć•—"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "%s 㧠CYGETMON ăŚç™şčˇŚă§ăŤăľă›ă‚“: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "%s ă¸ă®ă—ăŤă„値ăŚĺŹ–ĺľ—ă§ăŤăľă›ă‚“: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "%s ă¸ă®ă‚żă‚¤ă ă‚˘ă‚¦ăを取得ă§ăŤăľă›ă‚“: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: ć•´ć•° %luă€ă‚­ăŁă©ă‚Żă‚ż %lu/%lu -- fifo: 閾値 %luă€ă‚żă‚¤ă ă‚˘ă‚¦ă %luă€\n"
+" 最大 %luă€çŹľĺś¨ %lu\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f ć•´ć•°/秒; %f č¨éŚ˛, %f é€äżˇ (ă‚­ăŁă©ă‚Żă‚ż/秒)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: ć•´ć•° %luă€ă‚­ăŁă©ă‚Żă‚ż %lu -- fifo: ă—ăŤă„値 %luă€ă‚żă‚¤ă ă‚˘ă‚¦ă %luă€\n"
+" 最大 %luă€çŹľĺś¨ %lu\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f ć•´ć•°/秒 -- %f č¨éŚ˛ (ă‚­ăŁă©ă‚Żă‚ż/秒)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "不正ăŞĺ†…é¨ĺ€¤: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "不正ăŞĺ†…é¨ĺ€¤: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "不正ăŞč¨­ĺ®šĺ€¤: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "不正ăŞč¨­ĺ®šĺ€¤: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "不正ăŞĺťćśźĺ€¤: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "不正ăŞĺťćśźĺ€¤: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "不正ăŞč¨­ĺ®šć™‚ĺ»: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "不正ăŞč¨­ĺ®šć™‚ĺ»: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "不正ăŞĺťćśźć™‚ĺ»: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "不正ăŞĺťćśźć™‚ĺ»: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "%s ă‚’ă—ăŤă„値 %d ă«č¨­ĺ®šă§ăŤăľă›ă‚“: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "%s を時間ă—ăŤă„値 %d ă«č¨­ĺ®šă§ăŤăľă›ă‚“: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: 現在ă®é–ľĺ€¤ %ld 及ăłçŹľĺś¨ă®ă‚żă‚¤ă ă‚˘ă‚¦ă %ld\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: ă‡ă•ă‚©ă«ă閾値 %ld 及ăłă‡ă•ă‚©ă«ăタイă ă‚˘ă‚¦ă %ld\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "ă‚·ă‚ąă†ă ä¸Šă® %s ă®ăăĽă‚¸ă§ăł 㯠%s ă§ă™ă€‚\n"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+#, fuzzy
+msgid "critical conditions"
+msgstr "今ă®é¸ĺĄ˝éŤµă‚µăĽăăĽ: "
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "%s サă–ă—ă­ă‚»ă‚ąĺ…Ąĺ‡şĺŠ›ă‚¨ă©ăĽ"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "警告: %săŻ%să‚ă‚Šĺ„Şĺ…\n"
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+#, fuzzy
+msgid "informational"
+msgstr "ć…ĺ ±ăˇăă‚»ăĽă‚¸ă®čˇ¨ç¤ş"
+
+#: sys-utils/dmesg.c:79
+#, fuzzy
+msgid "debug-level messages"
+msgstr "ă‡ăăă‚°ă¬ă™ă«ă‚’設定"
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "出力ăˇăă‚»ăĽă‚¸"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "ăˇăĽă«ă‚·ă‚ąă†ă ă¬ăťăĽă"
+
+#: sys-utils/dmesg.c:96
+#, fuzzy
+msgid "system daemons"
+msgstr "ă‚·ă‚ąă†ă ĺ…¨ä˝“(&S)"
+
+#: sys-utils/dmesg.c:97
+#, fuzzy
+msgid "security/authorization messages"
+msgstr "ăˇăă‚»ăĽă‚¸ăŚé…延ă—ăźć™‚"
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+#, fuzzy
+msgid "line printer subsystem"
+msgstr "ă—ăŞăłă‚ż '%s' ăŻçŹľĺś¨ă‚Şă•ă©ă‚¤ăłă§ă™ă€‚"
+
+#: sys-utils/dmesg.c:100
+#, fuzzy
+msgid "network news subsystem"
+msgstr "SunOS News ă•ă‚©ăłă"
+
+#: sys-utils/dmesg.c:101
+#, fuzzy
+msgid "UUCP subsystem"
+msgstr "ă‡ă‚Łă‚ąă‚Żă»ă‚µă–ă‚·ă‚ąă†ă "
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "ă‡ăĽă˘ăłă®ĺĽ·ĺ¶çµ‚了(_K)"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "ă‡ăĽă˘ăłă®ĺĽ·ĺ¶çµ‚了(_K)"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+#, fuzzy
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr "エă©ăĽă­ă‚°ă‚’äżťĺ­"
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "未知ă®ćŠ˝č±ˇă¬ă™ă«: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "ă‚­ăĽăŻăĽă‰ \"%s\" ăŻçźĄă‚Šăľă›ă‚“"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "%s ă‚’ open ă§ăŤăľă›ă‚“"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "書ăŤčľĽăżĺ¤±ć•—"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "ă•ă‚ˇă‚¤ă« '%2$s' ă‹ă‚‰ă® %1$s ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—: %3$s"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "サăťăĽăă—ă¦ă„ăŞă„ă‚łăžăłă‰ă§ă™ă€‚"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "ăžă‚¦ăłăăťă‚¤ăłăを中央ă«ăŠăŹ"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "無効ăŞćŚ‡ĺ®šă§ă™"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "無効ăŞćŚ‡ĺ®šă§ă™"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+#, fuzzy
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "mount: ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă— %s ăŻă‚«ăĽăŤă«ăŚă‚µăťăĽăă—ă¦ă„ăľă›ă‚“"
+
+#: sys-utils/eject.c:405
+#, fuzzy
+msgid "CD-ROM eject unsupported"
+msgstr "速度 %d ăŻă‚µăťăĽăă•ă‚Śăľă›ă‚“"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+#, fuzzy
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "mount: ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă— %s ăŻă‚«ăĽăŤă«ăŚă‚µăťăĽăă—ă¦ă„ăľă›ă‚“"
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "サăĽăĺŤă®ĺŹ–ĺľ—ă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: '%.250s' ă‹ă‚‰ '%.250s' ă¸ă®ăŞăłă‚Żă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "ă•ă‚ˇă‚¤ă« '%2$s' ă‹ă‚‰ă® %1$s ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—: %3$s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "ă–ă­ăă‚Żă‡ăイスă‹ă•ă‚ˇă‚¤ă«ă§ăŻă‚ă‚Šăľă›ă‚“: %s"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "mount: %s ă‚’ăžă‚¦ăłăă—ăľă™\n"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "ă¦ăĽă‚¶ăĽid を設定ă§ăŤăľă›ă‚“"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "%s を実行ă§ăŤăľă›ă‚“ (%s)"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "%s ă‚’é–‹ă‘ăľă›ă‚“"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: ăžă‚¦ăłăăťă‚¤ăłă %s ăŚĺ­ĺś¨ă—ăľă›ă‚“"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s ă¸ă® open() ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "%s ăŻăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™\t "
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, fuzzy, c-format
+msgid "default device: `%s'"
+msgstr "不正ăŞĺťćśźĺ€¤: %s\n"
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "ĺťćśźĺ€¤ %u を使ă„ăľă™\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "ă‡ăイスă¸ă®ćŽĄç¶šăŚĺ¤±ă‚Źă‚Śăľă—ăź"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "ă‡ăイスĺŤ:"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "%s: 見ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: %s 㯠lp ă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“。\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "ă–ă­ăă‚Żă‡ăイスăŚĺż…č¦ă§ă™"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "Loopă‡ăイス 㯠%s ă§ă™\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "%s: %s: ă‡ăイスを使用中ă§ă™"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "ć功"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "実行ă«ĺ¤±ć•—"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "ă‡ă‚Łă¬ă‚ŻăăŞă®ă‚ŞăĽă—ăłăŚĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "%s を実行ă§ăŤăľă›ă‚“ (%s)"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "--clearsign [ă•ă‚ˇă‚¤ă«ĺŤ]"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "行数ă®ćŚ‡ĺ®šăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "äşćśźă—ăŞă„ stringfileinfo 値ă®é•·ă• %d"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "AFEă®ç·‘ă®ă‚Şă•ă‚»ăă値"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "ç†ç”±ăŻćŚ‡ĺ®šă•ă‚Śă¦ă„ăľă›ă‚“"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "ă‘ă©ăˇăĽă‚żăĽă®ć•°ăŚăŠă‹ă—ă„\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s: fallocate ăŚĺ¤±ć•—"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: ă¦ăĽă‚¶ăĽid を設定ă§ăŤăľă›ă‚“: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr " ă•ă‚ˇă‚¤ă« '%s' ă‚’é–‹ă‘ăľă›ă‚“ "
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "不正㪠id"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "--auto ăŻĺĽ•ć•°ă¨ă—㦠1 ă¤ă®ă‘ăĽăă•ă‚ˇă‚¤ă«ă‚’č¦ć±‚ă—ăľă™"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "%s: ă•ă‚ˇă‚¤ă«ă‡ă‚Łă‚ąă‚ŻăŞă—ă‚żă‹ă•ă‚ˇă‚¤ă«ă‹ă‡ă‚Łă¬ă‚ŻăăŞă‚’ĺż…č¦ă¨ă—ăľă™\n"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "waitpid ă«ĺ¤±ć•—"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "ăžă‚¦ăłăăťă‚¤ăłăを中央ă«ăŠăŹ"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "ç†ç”±ăŻćŚ‡ĺ®šă•ă‚Śă¦ă„ăľă›ă‚“"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "ç†ç”±ăŻćŚ‡ĺ®šă•ă‚Śă¦ă„ăľă›ă‚“"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "'%s' ăŻă‡ă‚Łă¬ă‚ŻăăŞă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "%s ă‹ă‚‰ć™‚ĺ»ă‚’読込むăźă‚ă® ioctl() ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "ç†ç”±ăŻćŚ‡ĺ®šă•ă‚Śă¦ă„ăľă›ă‚“"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "ă•ă‚©ă«ă€ă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "_open_osfhandle 失敗"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "%s ă«ć›¸ăŤčľĽăżă§ăŤăľă›ă‚“: %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨%s時ĺ»ă‚’äżťćŚă—ă¦ă„ă‚‹ă¨ăżăŞă—ăľă™\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "ă­ăĽă‚«ă«"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: 警告: adjtime ă•ă‚ˇă‚¤ă«ă®ä¸‰čˇŚç›®ăŚčŞŤč­ă§ăŤăľă›ă‚“\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "直前ă®ăšă‚Śă®äż®ć­ŁăŻ 1969 年以降 %ld 秒時点ă§čˇŚăŞă‚Źă‚Śăľă—ăź\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "直前ă®čŞżć•´ăŻ 1969 年以降 %ld 秒時点ă§čˇŚăŞă‚Źă‚Śăľă—ăź\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ăŻ%s時ĺ»ă§ă™\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "ă‚Żă­ăă‚Żăăă‚Żă‚’ĺľ…ăŁă¦ă„ăľă™...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...ĺŚćśźă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...ă‚Żă­ăă‚Żăăクを取得ă—ăľă—ăź\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă«ä¸Ťć­ŁăŞĺ€¤: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ć™‚ĺ» : %4d/%.2d/%.2d %.2d:%.2d:%.2d = 1969 年以来 %ld 秒\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă‹ă‚‰čŞ­čľĽă‚“ă ć™‚ĺ»: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă‚’ %.2d:%.2d:%.2d ă«č¨­ĺ®š = 1969 年以来 %ld 秒\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "ă‚Żă­ăクを変更ă—ăľă›ă‚“ă§ă—ăź -- ă†ă‚ąăă ă‘ă§ă™ă€‚\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"時ĺ»ă‚’参照ă—ăźć™‚ç‚ąă‹ă‚‰ %.6f 秒経éŽă€‚\n"
+"次ă®ĺ®Śĺ…¨ăŞç§’ăľă§é…らă›ăľă™ă€‚\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă¬ă‚¸ă‚ąă‚żăŚăŠă‹ă—ăŞĺ€¤(äľ‹ 何ćś50ć—Ą)ă«ăŞăŁă¦ă„ă‚‹ă‹ă€\n"
+"捕捉ă§ăŤăŞă„範囲ă®ĺ€¤(äľ‹ 2095ĺą´)ă«ăŞăŁă¦ă„ăľă™ă€‚\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f 秒\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "ă‚Şă—ă‚·ă§ăł %s: `%s' ă‚’ %s ă¨ă—ă¦ć‰±ă†"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "引数ăŞă‚ąăăŚé•·ă™ăŽăľă™"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"--date ă‚Şă—ă‚·ă§ăłă®ĺ€¤ăŚć­Łă—ă„ć—Ąä»ă§ăŻă‚ă‚Šăľă›ă‚“。\n"
+"特ă«ă€ă‚Żă‚©ăĽă†ăĽă‚·ă§ăłăžăĽă‚ŻăŚĺ«ăľă‚Śă¦ă„ăľă™ă€‚\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "date ă‚łăžăłă‰ă‚’発行ă—ăľă™: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"/bin/sh シェă«ĺ†…㧠'date' ă—ă­ă‚°ă©ă ă‚’実行ă§ăŤăľă›ă‚“。\n"
+"popen() ăŚĺ¤±ć•—ă—ăľă—ăźă€‚"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "date ă‚łăžăłă‰ă‹ă‚‰ă®čż”ç­” = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"%s ă«ă‚ăŁă¦ç™şčˇŚă•ă‚Śăź date ă‚łăžăłă‰ăŻäşćśźă›ă¬çµćžśă‚’čż”ă—ăľă—ăźă€‚\n"
+"ăťă®ă‚łăžăłă‰ăŻ:\n"
+" %s\n"
+"ăťă®čż”ç­”ăŻ:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"%s ă«ă‚ăŁă¦ç™şčˇŚă•ă‚Śăź date ă‚łăžăłă‰ăŻă€ĺ¤‰ćŹ›ć™‚ĺ»ă¨ă—ă¦ć±‚ă‚ă¦ă„る整数値ă®\n"
+"ă‹ă‚Źă‚Šă«ä˝•ă‹ĺĄă®ă‚‚ă®ă‚’čż”ă—ă¦ăŤăľă—ăźă€‚\n"
+"ăťă®ă‚łăžăłă‰ăŻ:\n"
+" %s\n"
+"ăťă®ĺżśç­”ăŻ:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "date ć–‡ĺ­—ĺ— %s ă‚’ 1969 年以来 %ld 秒ă¨ă—ăľă™\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ăŻă€ć­Łă—ă„時ĺ»ă‚’ĺ«ă‚“ă§ă„ăŞă„ă®ă§ă€ă“ă“ă‹ă‚‰ĺľ—られăźĺ€¤ă‚’\n"
+"ă‚·ă‚ąă†ă ć™‚ĺ»ă«č¨­ĺ®šă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "settimeofday ă‚’ĺ‘Ľăłĺ‡şă—ăľă™:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "ă†ă‚ąăă˘ăĽă‰ă§ĺ‹•ä˝śă—ă¦ă„ă‚‹ăźă‚ă€ă‚·ă‚ąă†ă ă‚Żă­ăクを設定ă—ăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "ă‚·ă‚ąă†ă ă‚Żă­ăクを設定ă™ă‚‹ă«ăŻă€ă‚ąăĽă‘ăĽă¦ăĽă‚¶ă§ăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() ĺ‘Ľăłĺ‡şă—ă«ĺ¤±ć•—"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "現在ă®ă‚·ă‚ąă†ă ć™‚é–“: %ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr "ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚ĺ»ă«ä»Ąĺ‰Ťă®ă‚´ăźăŚĺ«ăľă‚Śă¦ăŠă‚Šă€ăšă‚Śă‚’修正ă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:865
+#, fuzzy, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr "前回ă®čŞżć•´ä»ĄćťĄă€ĺ°‘ăŞăŹă¨ă‚‚一日経éŽă—ăŞă„ă¨ă€ăšă‚Śă‚’修正ă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr "前回ă®čŞżć•´ä»ĄćťĄă€ĺ°‘ăŞăŹă¨ă‚‚一日経éŽă—ăŞă„ă¨ă€ăšă‚Śă‚’修正ă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:919
+#, fuzzy, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"éŽĺŽ» %2$d 秒ă®é–“ă«ă€ä¸€ć—Ąă‚ăźă‚Š %3$f 秒ăšă‚‰ă—ă¦ă„ă‚‹ă®ă§ă™ăŚă€ă‚Żă­ăク㌠"
+"%1$.1f 秒ăšă‚Śăľă—ăźă€‚\n"
+"一日ă‚ăźă‚Š %4$f 秒ăšă‚Śă‚’修正ă—ăľă™\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "前回ă®äż®ć­Łă‹ă‚‰ă®ć™‚間㯠%d 秒ă§ă™\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "%d 秒ă®ćŚżĺ…Ąă¨ă€%.6f 秒前ă®ć™‚ĺ»ă®ĺŹ‚ç…§ăŚĺż…č¦ă§ă™\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "ă†ă‚ąăă˘ăĽă‰ă§ĺ‹•ä˝śă—ă¦ă„ă‚‹ăźă‚ adjtime ă•ă‚ˇă‚¤ă«ă‚’ć›´ć–°ă—ăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"本来ăŞă‚‰ă° %s ă«ä»Ąä¸‹ă®ă‚ă†ă«ć›¸ăŤčľĽăľă‚Śă‚‹ăŻăšă§ă—ăź:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "ăšă‚Śă®äż®ć­Łĺ€¤ăŻć›´ć–°ă•ă‚Śăľă›ă‚“ă§ă—ăźă€‚\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr "ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ăŚă€ć­Łĺ¸¸ăŞć™‚ĺ»ă‚’ĺ«ă‚“ă§ă„ăŞă„ă®ă§ă€äż®ć­Łă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr "前回ă®čŞżć•´ä»ĄćťĄă€ĺ°‘ăŞăŹă¨ă‚‚一日経éŽă—ăŞă„ă¨ă€ăšă‚Śă‚’修正ă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr "ĺż…č¦ăŞäż®ć­ŁăŚä¸€ç§’未満ăŞă®ă§ă€ă‚Żă­ăクを設定ă—ăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "%s を使ă„ăľă™ă€‚\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "ĺ©ç”¨ĺŹŻč˝ăŞă‚Żă­ăクイăłă‚żăĽă•ă‚§ă‚¤ă‚ąăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "ă‚·ă‚ąă†ă ă‚Żă­ăクを設定ă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"ă‚«ăĽăŤă«ăŚăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă®ăźă‚ă®ă‚¨ăťăク値を保ćŚă§ăŤă‚‹ă®ăŻ Alpha ăžă‚·ăł\n"
+"ă ă‘ă§ă™ă€‚\n"
+"ă“ă® hwclock ă®č¤‡čŁ˝ăŻ Alpha 以外ă®ăžă‚·ăłă§ă“ă«ă‰ă•ă‚Śăľă—ăź\n"
+"(ăťă—ă¦ĺ˝“然ă€çŹľĺś¨ Alpha 上ă§ĺ®źčˇŚă•ă‚Śă¦ă„ăľă›ă‚“)。実行ă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "ă‚«ăĽăŤă«ă‹ă‚‰ă‚¨ăťăク値を取得ă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "ă‚«ăĽăŤă«ăŻă‚¨ăťăク値を %lu ă¨ćłĺ®šă—ă¦ă„ăľă™\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"エăťăク値を設定ă™ă‚‹ăźă‚ă«ăŻă€ä˝•ă®ĺ€¤ă‚’設定ă™ă‚‹ă‹ă‚’知らă›ă‚‹ăźă‚ă« 'epoch'\n"
+"ă‚Şă—ă‚·ă§ăłă‚’使わăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "エăťăă‚Żă‚’ %d ă«č¨­ĺ®šă—ăľă›ă‚“ -- ă†ă‚ąăă ă‘ă§ă™ă€‚\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "ă‚«ăĽăŤă«ă«ă‚¨ăťăク値を設定ă™ă‚‹ă“ă¨ăŚă§ăŤăľă›ă‚“ă§ă—ăźă€‚\n"
+
+#: sys-utils/hwclock.c:1363
+#, fuzzy
+msgid " hwclock [function] [option...]\n"
+msgstr "%s: ă‚Şă—ă‚·ă§ăł '%s' ăŻć›–ć§ă§ă™\n"
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"ć©źč˝:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" ă‚ăŞăźă® alpha ă®ă‚żă‚¤ă—を指示ă™ă‚‹ (hwclock(8) 参照)\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "ă‚·ă‚ąă†ă ă»ăă‚ąă«ćŽĄç¶šă§ăŤăľă›ă‚“"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s ăŻä˝•ă‚‰ă‹ă®ă‚Şă—ă‚·ă§ăłĺĽ•ć•°ă‚’取りăľă™ă€‚ă‚ăŞăźăŻ %d 個与ăăľă—ăźă€‚\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+"%s: --noadjfile ă‚’ă¤ă‘ăźĺ ´ĺă€--utc ă‹ --localtime ă®ă„ăšă‚Śă‹ă‚’指定ă—ăŞă‘ă‚Śă°"
+"ăŞă‚Šăľă›ă‚“\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "有効ăŞč¨­ĺ®šć™‚ĺ»ăŚă‚ă‚Šăľă›ă‚“。クă­ăクを設定ă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr ""
+"残念ăŞăŚă‚‰ă€ăŹăĽă‰ă‚¦ă‚§ă‚˘ă‚Żć™‚č¨ă®ĺ¤‰ć›´ăŻă‚ąăĽă‘ăĽă¦ăĽă‚¶ă§ă—ă‹čˇŚăŞăăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "残念ăŞăŚă‚‰ă€ă‚·ă‚ąă†ă ć™‚č¨ă®ĺ¤‰ć›´ăŻă‚ąăĽă‘ăĽă¦ăĽă‚¶ă§ă—ă‹čˇŚăŞăăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"残念ăŞăŚă‚‰ă€ă‚«ăĽăŤă«ĺ†…ă®ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă®ă‚¨ăťăク値を変更ă§ăŤă‚‹ă®ăŻă€\n"
+"ă‚ąăĽă‘ăĽă¦ăĽă‚¶ă ă‘ă§ă™ă€‚\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "既知ă®ă©ă‚“ăŞć–ąćł•ă§ă‚‚ă€ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă«ă‚˘ă‚Żă‚»ă‚ąă§ăŤăľă›ă‚“。\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr "--debug ă‚Şă—ă‚·ă§ăłă§ă‚˘ă‚Żă‚»ă‚ąć–ąćł•ć¤śç´˘ă®č©łç´°ă«ă¤ă„ă¦č¦‹ă¦ăŹă ă•ă„。\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "MILO ă‹ă‚‰ă–ăĽăă•ă‚Śăľă—ăź\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "粗忽㪠BCD ă‚Żă­ăă‚Ż\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "ă‚Żă­ăă‚ŻăťăĽăă‚’ 0x%x ă«äż®ć­Łă—ăľă—ăź\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "イカă—ăź TOY!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: 不可ĺ†ăŞ%să® 1000 回ă®ĺŹŤĺľ©ăŚĺ¤±ć•—!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, fuzzy, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr "cmos_read(): ă‚łăłăă­ăĽă«ă‚˘ă‰ă¬ă‚ą %X ă¸ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, fuzzy, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "cmos_read(): ă‡ăĽă‚żă‚˘ă‰ă¬ă‚ą %X ă‹ă‚‰čŞ­ăżčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, fuzzy, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr "cmos_write(): ă‚łăłăă­ăĽă«ă‚˘ă‰ă¬ă‚ą %X ă¸ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, fuzzy, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "cmos_write(): ă‡ăĽă‚żă‚˘ă‰ă¬ă‚ą %X ă¸ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "許可ă®ĺŹ–得を試ă•ăŞă‹ăŁăźă®ă§ă€č¨±ĺŹŻă®ĺŹ–ĺľ—ă«ĺ¤±ć•—ă—ăľă—ăźă€‚\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "%s 㯠I/O ăťăĽăアクセスăŚă§ăŤăľă›ă‚“: iopl(3) ă‚łăĽă«ă«ĺ¤±ć•—。\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "ćらăŹă«ăĽă権é™ăŚĺż…č¦ă§ă™ă€‚\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "KDGHWCLK ă‹ă‚‰ĺ¤‰ć›´ă®ăźă‚ă®ć™‚ĺ»ă‚’取得ă™ă‚‹ă«ăĽă—中ă§ă™\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ă®ć™‚ĺ»čŞ­ăżĺŹ–ă‚ŠăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "時ĺ»čŞ­ăżčľĽăżă®ăźă‚ă® KDGHWCLK ioctl ăŚă«ăĽă—内ă§ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "時ĺ»ĺ¤‰ć›´ĺľ…ăˇăŚă‚żă‚¤ă ă‚˘ă‚¦ăă—ăľă—ăźă€‚\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "%s ă‹ă‚‰ć™‚ĺ»ă‚’読込むăźă‚ă® ioctl() ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "KDSHWCLK ioctl ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "/dev/tty1 ăľăźăŻ /dev/vc/1 ă‚’é–‹ă‘ăľă›ă‚“"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "変更時ĺ»ă®č¨­ĺ®šă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "%s ă‹ă‚‰ć™‚ĺ»ă‚’変更ă™ă‚‹ăźă‚ă®ă«ăĽă—中ă§ă™\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s ăŻĺ‰˛ă‚ŠčľĽăżć©źč˝ă‚’ćŚăŁă¦ă„ăľă›ă‚“。 "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "ă‚Żă­ăă‚Żăăă‚Żă‚’ĺľ…ă¤ăźă‚ă® %s ă¸ă® read() ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "ă‚Żă­ăă‚Żăăă‚Żă‚’ĺľ…ă¤ăźă‚ă® %s ă¸ă® select() ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "ă‚Żă­ăă‚Żăăă‚Żă‚’ĺľ…ă¤ăźă‚ă® %s ă¸ă® select() ăŚă‚żă‚¤ă ă‚˘ă‚¦ăă—ăľă—ăź\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "割り込ăżć›´ć–°ă‚’ă‚Şă•ă«ă™ă‚‹ăźă‚ă® %s ă¸ă® ioctl() ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"割り込ăżć›´ć–°ă‚’ă‚Şăłă«ă™ă‚‹ăźă‚ă® %s ă¸ă® ioctl() ăŚäşćśźă›ă¬ĺ¤±ć•—ă«çµ‚ă‚Źă‚Šăľă—ăź"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "変更時ĺ»ă®č¨­ĺ®šă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) ă«ć功ă—ăľă—ăźă€‚\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"ă‚«ăĽăŤă«ĺ†…ă®ă‚¨ăťăク値を算出ă™ă‚‹ă«ăŻă€ă‚ąăšă‚·ăŁă«ă•ă‚ˇă‚¤ă« %s を通ăă¦\n"
+"Linux ă® 'rtc' ă‡ăイスă‰ă©ă‚¤ăă«ă‚˘ă‚Żă‚»ă‚ąă™ă‚‹ĺż…č¦ăŚă‚ă‚Šăľă™ă€‚ă—ă‹ă—ă€ă“ă®\n"
+"ă•ă‚ˇă‚¤ă«ăŚă‚·ă‚ąă†ă ă«ĺ­ĺś¨ă—ăľă›ă‚“。\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "%s ă¸ă® ioctl(RTC_EPOCH_READ) ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+"%2$s ă‹ă‚‰ RTC_EPOCH_READ ioctl ă«ă‚ăŁă¦ă‚¨ăťăă‚Ż %1$ld を読ăżĺŹ–ă‚Šăľă—ăźă€‚\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr ""
+"エăťăク値㯠1900 年以前ă§ăŻă‚ă‚Šĺľ—ăľă›ă‚“。ă‚ăŞăźăŻ %ld ă‚’č¦ć±‚ă—ăľă—ăź\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+"%2$s ă‹ă‚‰ RTC_EPOCH_READ ioctl ă«ă‚ăŁă¦ă‚¨ăťăă‚Ż %1$ld を読ăżĺŹ–ă‚Šăľă—ăźă€‚\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "%s ă®ă‚«ăĽăŤă«ă‰ă©ă‚¤ă㯠RTC_EPOCH_SET ioctl ă‚’ćŚăŁă¦ă„ăľă›ă‚“。\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "%s ă¸ă® ioctl(RTC_EPOCH_SET) ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr "%s: 出力用書庫ăŚé–‹ă‹ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "pid ă®č§Łćžă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr "共有ăˇă˘ăŞă®ä˝śćă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "共有ăˇă˘ăŞid: %d\n"
+
+#: sys-utils/ipcmk.c:146
+#, fuzzy
+msgid "create message queue failed"
+msgstr "%s ă•ă‚“ă¸ă®ăˇăă‚»ăĽă‚¸ă®é…Ťé€ă«ĺ¤±ć•—: %s"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "ăˇăă‚»ăĽă‚¸ă‚­ăĄăĽid: %d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "ă‚»ăžă•ă‚©ă®ä˝śćă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "ă‚»ăžă•ă‚©id: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version ăăĽă‚¸ă§ăłć…報を表示ă—ă¦çµ‚了\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"シェアăĽă‰ăˇă˘ăŞă‚»ă‚°ăˇăłă shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "ăˇăă‚»ăĽă‚¸ă‚­ăĄăĽid: %d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "ă‚»ăžă•ă‚©id: %d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "ă‚­ăĽă®č¨±ĺŹŻăŚă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/ipcrm.c:102
+#, fuzzy
+msgid "permission denied for id"
+msgstr "(未信用ăŞ!) ID %s ă‚’ %s ă«ä˝żç”¨?"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "不正ăŞă‚­ăĽ"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "不正㪠id"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "ć—˘ă«ă‚­ăĽăŻĺ‰Šé™¤ă•ă‚Śă¦ă„ăľă™"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "ć—˘ă«ĺ‰Šé™¤ă•ă‚Śăźidă§ă™"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "ă‚·ăĽă‚Żă«ĺ¤±ć•—"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "不正㪠id: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "ĺŤĺ†ăŞĺĽ•ć•°ăŚä¸Žăられă¦ă„ăľă›ă‚“"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "ăŞă‚˝ăĽă‚ąă‚’削除ă—ăľă—ăź\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: 不正ăŞă‚­ăĽ (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "ă‚«ăĽăŤă«ă§ă®ĺ…±ćś‰ăˇă˘ăŞă®ç‚şă®č¨­ĺ®šăŚă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "ă‚«ăĽăŤă«ă§ă®ă‚»ăžă•ă‚©ă®ç‚şă®č¨­ĺ®šăŚă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "ă‚«ăĽăŤă«ă§ă®ăˇăă‚»ăĽă‚¸ă‚­ăĄăĽă®ç‚şă®č¨­ĺ®šăŚă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: 不ćŽăŞĺĽ•ć•° %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : id ă«ă‚ăŁă¦č­ĺĄă•ă‚Śă‚‹ăŞă‚˝ăĽă‚ąă®č©łç´°\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr " エă‡ă‚Łă‚żă»ă‚Şă—ă‚·ă§ăł "
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "ă‚«ăĽăŤă«ă§ă®ĺ…±ćś‰ăˇă˘ăŞă®ç‚şă®č¨­ĺ®šăŚă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ 共有ăˇă˘ăŞă®ĺ¶é™ --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "セグăˇăłăć•°ă®ćś€ĺ¤§ĺ€¤ = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "セグăˇăłăサイズă®ćś€ĺ¤§ (ĺŤä˝Ť:KB) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "ĺč¨ĺ…±ćś‰ăˇă˘ăŞă®ćś€ĺ¤§ (ĺŤä˝Ť:KB) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "最小セグăˇăłăサイズ (ĺŤä˝Ť:ăイă) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ 共有ăˇă˘ăŞă®çŠ¶ć…‹ --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ 共有ăˇă˘ăŞă‚»ă‚°ăˇăłă 作ć者/所有者 --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "権é™"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ 共有ăˇă˘ăŞ çµĺ/ĺ†é›˘/変更回数 --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "所有者"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "çµĺ"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "ĺ†é›˘"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "変更"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ 共有ăˇă˘ăŞ ä˝ść者/ç›´čż‘ă®ĺ‘˝ä»¤ PID --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ 共有ăˇă˘ăŞă‚»ă‚°ăˇăłă --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "ă‚­ăĽ"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "ăイă"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "状態"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "ă‚»ăăă•ă‚Śă¦ă„ăľă›ă‚“"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "対象"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "ă­ăă‚Ż"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "ă‚«ăĽăŤă«ă§ă®ă‚»ăžă•ă‚©ă®ç‚şă®č¨­ĺ®šăŚă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ ă‚»ăžă•ă‚©ă®ĺ¶é™ --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "最大配ĺ—ć•° = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "é…Ťĺ—毎ă®ćś€ĺ¤§ă‚»ăžă•ă‚©ć•° = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "ă‚·ă‚ąă†ă ĺ…¨ä˝“ă®ćś€ĺ¤§ă‚»ăžă•ă‚©ć•° = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "semop ĺ‘Ľăłĺ‡şă—毎ă®ćś€ĺ¤§ĺ‘˝ä»¤ć•° = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "ă‚»ăžă•ă‚©ćś€ĺ¤§ĺ€¤ = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ ă‚»ăžă•ă‚©ă®çŠ¶ć…‹ --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "使用配ĺ—ć•° = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "確保ă•ă‚Śăźă‚»ăžă•ă‚©ć•° = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ ă‚»ăžă•ă‚©é…Ťĺ— 作ć者/所有者 --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ ă‚»ăžă•ă‚© 命令/変更回数 --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "最終操作"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "最終ă®ĺ¤‰ć›´"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ ă‚»ăžă•ă‚©é…Ťĺ— --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "ă‚«ăĽăŤă«ă§ă®ăˇăă‚»ăĽă‚¸ă‚­ăĄăĽă®ç‚şă®č¨­ĺ®šăŚă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ ăˇăă‚»ăĽă‚¸ăŞăźăă --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "ă‚·ă‚ąă†ă ĺ…¨ä˝“ă§ă®ćś€ĺ¤§ă‚­ăĄăĽć•° = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "最大ăˇăă‚»ăĽă‚¸ă‚µă‚¤ă‚ş (ăイă) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "ă‚­ăĄăĽă‚µă‚¤ă‚şćś€ĺ¤§ĺ€¤ă®ĺťćśźĺ€¤ (ăイă) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ ăˇăă‚»ăĽă‚¸ă‚ąă†ăĽă‚żă‚ą --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "確保ć¸ăżă‚­ăĄăĽć•° = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "使用ć¸ăă〠= %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "使用ć¸ç©şé–“ = %d ăイă\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ ăˇăă‚»ăĽă‚¸ă‚­ăĄăĽ 作ć者/所有者 --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ ăˇăă‚»ăĽă‚¸ă‚­ăĄăĽ é€äżˇ/受信/変更回数 --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "é€äżˇ"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "受信"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "変更"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ ăˇăă‚»ăĽă‚¸ă‚­ăĄăĽ PIDs --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ ăˇăă‚»ăĽă‚¸ă‚­ăĄăĽ --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "使用ăイăć•°"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "ăˇăă‚»ăĽă‚¸"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"シェアăĽă‰ăˇă˘ăŞă‚»ă‚°ăˇăłă shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "ă˘ăĽă‰=%#o\tアクセス権=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "msgctlăŚĺ¤±ć•—"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"ăˇăă‚»ăĽă‚¸ă‚­ăĄăĽ msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "semctl ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"ă‚»ăžă•ă‚©é…Ťĺ— semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "ă˘ăĽă‰=%#o, アクセス権=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "値"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "%s: 無効ăŞă‚Şă—ă‚·ă§ăł -- '%c'\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+#, fuzzy
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr "ă‘ăケăĽă‚¸ĺŤç·Źć•°: "
+
+#: sys-utils/ldattach.c:179
+#, fuzzy
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr "ă‘ăケăĽă‚¸ĺŤç·Źć•°: "
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "不正ăŞă‚Şă—ă‚·ă§ăł"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "無効ăŞčˇŚă‚’ă‚ąă‚­ăă—ă—ăľă™: %s"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s ăŻă‚·ăŞă‚˘ă«ă©ă‚¤ăłă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "%s ă®ă‚µă‚¤ă‚şă‚’取得ă§ăŤăľă›ă‚“"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "速度 %d ăŻă‚µăťăĽăă•ă‚Śăľă›ă‚“"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "%s ă®ç«Żćś«ĺ±žć€§ă‚’設定ă§ăŤăľă›ă‚“"
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "`%s'ă®line disciplineを変更ă§ăŤăľă›ă‚“.\n"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "%s: %s: stat ă§ăŤăľă›ă‚“: %s\n"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", ă‚Şă•ă‚»ăă %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", sizelimit %<PRIu64>"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", 暗号 %s (タイ㗠%<PRIu32>)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: stat ăŚĺ¤±ć•—"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s: stat ăŚĺ¤±ć•—"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"\n"
+"使ă„ć–ą:\n"
+" %1$s loopă‡ăイス ć…報をăżă‚‹\n"
+" %1$s -a | --all 使用ă•ă‚Śă¦ă„る一覧を表示ă™ă‚‹\n"
+" %1$s -d | --detach <loopă‡ăイス> [<loopă‡ăイス>...] 削除\n"
+" %1$s -f | --find 未使用ă®ă‚‚ă®ă‚’検索ă™ă‚‹\n"
+" %1$s -c | --set-capacity <loopă‡ăイス> ăŞă‚µă‚¤ă‚ş\n"
+" %1$s -j | --associated <ă•ă‚ˇă‚¤ă«> [-o <num>] <ă•ă‚ˇă‚¤ă«> ă«é–˘é€ŁăĄă‘られăź\n"
+" 一覧を表示\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] {-f|--find|loopdev} <ă•ă‚ˇă‚¤ă«> ă‚»ăăアăă—\n"
+
+#: sys-utils/losetup.c:169
+#, fuzzy
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+"\n"
+"ă‚Şă—ă‚·ă§ăł:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help ă“ă®ăă«ă—\n"
+" -o | --offset <num> ă•ă‚ˇă‚¤ă«ĺ†…ă®ă‚Şă•ă‚»ăă <num> ă§é–‹ĺ§‹ă™ă‚‹\n"
+" --sizelimit <num> loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num> ă•ă‚ˇă‚¤ă«ă‡ă‚Łă‚ąă‚ŻăŞă—ă‚ż <num> ă‹ă‚‰ă‘ă‚ąă•ă¬ăĽă‚şă‚’読ăż"
+"込む\n"
+" -r | --read-only setup read-only loop device\n"
+" --show ă‡ăイスĺŤă‚’表示ă™ă‚‹ (-f <file> ă¨ä¸€ç·’ă«ćŚ‡ĺ®š)\n"
+" -v | --verbose verbose mode\n"
+"\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "'%s' ă‹ă‚‰č¨­ĺ®šă•ă‚ˇă‚¤ă«ă®ă‘スを取得ă§ăŤăľă›ă‚“ă§ă—ăź"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: loop ă‡ăイス㌠2 回指定ă•ă‚Śăľă—ăź"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "'%s' ă‹ă‚‰č¨­ĺ®šă•ă‚ˇă‚¤ă«ă®ă‘スを取得ă§ăŤăľă›ă‚“ă§ă—ăź"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "ç†ç”±ăŻćŚ‡ĺ®šă•ă‚Śă¦ă„ăľă›ă‚“"
+
+#: sys-utils/losetup.c:366
+#, fuzzy, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr "%s 㨠%s ăŻčŚĺŹŤă§ă™"
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "ăˇă˘ăŞă«ć Ľç´Ťă§ăŤăľă›ă‚“ă§ă—ăźă®ă§ă€çµ‚了ă—ăľă™ă€‚\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s 用ă®ă‡ăイスăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "ăŹăă‚·ăĄă»ă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "tunelp: ioctl ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, fuzzy, c-format
+msgid "%s"
+msgstr " "
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "ăŞă—"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "ćş–ä»®ćłĺŚ–"
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "完全仮ćłĺŚ–"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "サイズăŚç•°ăŞă‚Śă°(&S)"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "サイズăŚç•°ăŞă‚Śă°(&S)"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "エă©ăĽ: uname ăŚĺ¤±ć•—"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "ăˇă˘ăŞă®ĺ‰˛ă‚Šĺ˝“ă¦ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "アăĽă‚­ă†ă‚ŻăăŁ:"
+
+#: sys-utils/lscpu.c:1095
+#, fuzzy
+msgid "CPU op-mode(s):"
+msgstr "äżťĺ­ć–ąćł•ă‚’変更 "
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+#, fuzzy
+msgid "Byte Order:"
+msgstr "ć•´ĺ—é †(&S)..."
+
+#: sys-utils/lscpu.c:1102
+#, fuzzy
+msgid "CPU(s):"
+msgstr "CPU é™ĺş¦"
+
+#: sys-utils/lscpu.c:1105
+#, fuzzy
+msgid "On-line CPU(s) mask:"
+msgstr "ă¬ă‚¤ă¤ăĽăžă‚ąă‚Żă‚’有効ă«"
+
+#: sys-utils/lscpu.c:1106
+#, fuzzy
+msgid "On-line CPU(s) list:"
+msgstr "list_type \"%s\" (č¦ç´  <%s>) ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: sys-utils/lscpu.c:1124
+#, fuzzy
+msgid "Off-line CPU(s) mask:"
+msgstr "ă—ăŞăłă‚ż '%s' ăŻçŹľĺś¨ă‚Şă•ă©ă‚¤ăłă§ă™ă€‚"
+
+#: sys-utils/lscpu.c:1125
+#, fuzzy
+msgid "Off-line CPU(s) list:"
+msgstr "ă—ăŞăłă‚ż '%s' ăŻçŹľĺś¨ă‚Şă•ă©ă‚¤ăłă§ă™ă€‚"
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "コアă‚ăźă‚Šă®ă‚ąă¬ăă‰ć•°:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "ソケăăă‚ăźă‚Šă®ă‚łă‚˘ć•°:"
+
+#: sys-utils/lscpu.c:1160
+#, fuzzy
+msgid "Socket(s) per book:"
+msgstr "LDIF アă‰ă¬ă‚ąĺ¸ł"
+
+#: sys-utils/lscpu.c:1162
+#, fuzzy
+msgid "Book(s):"
+msgstr "LDIF アă‰ă¬ă‚ąĺ¸ł"
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "ソケăă"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "NUMAăŽăĽă‰:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "ă™ăłă€ăĽID:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "CPUă•ă‚ˇăźăŞăĽ:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "ă˘ă‡ă«:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "ă‚ąă†ăă”ăłă‚°:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "ä»®ćłĺŚ–:"
+
+#: sys-utils/lscpu.c:1188
+#, fuzzy
+msgid "Hypervisor:"
+msgstr "ăŹă‚¤ă‘ăĽăイザăĽă™ăłă€ăĽ:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "ăŹă‚¤ă‘ăĽăイザăĽă™ăłă€ăĽ:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "ä»®ćłĺŚ–タイă—:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "%s ă‚­ăŁăă‚·ăĄ:"
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "NUMAăŽăĽă‰ %d CPU:"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: root ă ă‘ăŚăťă‚Śă‚’行ăŞăăľă™"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: root ă ă‘ăŚăťă‚Śă‚’行ăŞăăľă™"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "%s: -g/--group ă‚Şă—ă‚·ă§ăłăŻ root ă®ăżăŚćŚ‡ĺ®šă§ăŤăľă™\n"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "%s: -g/--group ă‚Şă—ă‚·ă§ăłăŻ root ă®ăżăŚćŚ‡ĺ®šă§ăŤăľă™\n"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s from %s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "解ćžă‚¨ă©ăĽ\n"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "ă•ă‚ˇă‚¤ă« '%2$s' ă‹ă‚‰ă® %1$s ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—: %3$s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, fuzzy, c-format
+msgid "%-25s: ignored\n"
+msgstr "[%s] エă©ăĽ %d (無視ă•ă‚Śăľă—ăź)"
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "ăťă®ĺ ´ć‰€ăŻć—˘ă«ăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: root ă ă‘㌠%s ă‚’ %s ă«ăžă‚¦ăłăă§ăŤăľă™"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "ăťă®ĺ ´ć‰€ăŻć—˘ă«ăžă‚¦ăłăă•ă‚Śă¦ă„ăľă™"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: %2$s 内㫠%1$s を見ă¤ă‘られăľă›ă‚“"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: %2$s ă‚„ %3$s 内㫠%1$s を見ă¤ă‘られăľă›ă‚“"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "unixソケăă %să‚’ăイăłă‰ă§ăŤăľă›ă‚“: %s\n"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "mount: none ăŚćŚ‡ĺ®šă•ă‚Śăľă—ăźăŚă€ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—を決定ă§ăŤăľă›ă‚“"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—を指定ă™ă‚‹ĺż…č¦ăŚă‚ă‚Šăľă™"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "「%s」を読ă‚ăľă›ă‚“: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: ăžă‚¦ăłăă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: sys-utils/mount.c:410
+#, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr ""
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "ăžă‚¦ăłăă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: ăžă‚¦ăłăăťă‚¤ăłă %s ăŻă‡ă‚Łă¬ă‚ŻăăŞă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: mount を使ă†ă«ăŻă‚ąăĽă‘ăĽă¦ăĽă‚¶ă§ăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s ăŻä˝żç”¨ä¸­ă§ă™"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s 㯠ăžă‚¦ăłăć¸ă‹ %s ăŚä˝żç”¨ä¸­ă§ă™"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s 㯠%s ă«ăžă‚¦ăłăć¸ă§ă™\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: ăžă‚¦ăłăăťă‚¤ăłă %s ăŚĺ­ĺś¨ă—ăľă›ă‚“"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: ăžă‚¦ăłăăťă‚¤ăłă %s ăŻă©ă“ă‚‚ă•ă—ă¦ă„ăŞă„ă‚·ăłăśăŞăă‚ŻăŞăłă‚Żă§ă™"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: ă‚ąăšă‚·ăŁă«ă‡ăイス %s ăŚĺ­ĺś¨ă—ăľă›ă‚“"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "ăžă‚¦ăłăă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: ă‚ąăšă‚·ăŁă«ă‡ăイス %s ăŚĺ­ĺś¨ă—ăľă›ă‚“\n"
+" (ă‘ă‚ąă®ă‡ă‚Łă¬ă‚ŻăăŞăŚă‚ă‚Šăľă›ă‚“)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s ăŻăľă ăžă‚¦ăłăă•ă‚Śă¦ă„ăŞă„ă‹ă€ä¸Ťć­ŁăŞă‚Şă—ă‚·ă§ăłă§ă™"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s ăŻăľă ăžă‚¦ăłăă•ă‚Śă¦ă„ăŞă„ă‹ă€ä¸Ťć­ŁăŞă‚Şă—ă‚·ă§ăłă§ă™"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: é–“é•ăŁăźă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—ă€ä¸Ťć­ŁăŞă‚Şă—ă‚·ă§ăłă€\n"
+" %s ă®ă‚ąăĽă‘ăĽă–ă­ăă‚ŻăŚä¸Ťć­Łă€ă‚łăĽă‰ăšăĽă‚¸ăľăźăŻ\n"
+" ăă«ă‘ăĽă—ă­ă‚°ă©ă ă®ćśŞćŚ‡ĺ®šă€ć–ă„ăŻä»–ă®ă‚¨ă©ăĽ"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: ă‚ąăĽă‘ăĽă–ă­ăクを読ă‚ăľă›ă‚“"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: 未知ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă— '%s'"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s ăŻă–ă­ăă‚Żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“ă€ă ă‹ă‚‰ stat ăŚĺ¤±ć•—?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: ă“ă®ă‚«ăĽăŤă«ăŻ %s ă‚’ă–ă­ăă‚Żă‡ăイスă¨ă—ă¦čŞŤč­ă—ăľă›ă‚“\n"
+" (ăŠăťă‚‰ăŹă€`modprobe ă‰ă©ă‚¤ă' ă—ăŞă„ă¨ă„ă‘ăŞă„ă®ă§ăŻ?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s ăŻă–ă­ăă‚Żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“ (ĺ¤šĺ† `-o loop' ă¨ă‚„ăŁă¦ăżăźă‚‰?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "ă–ă­ăă‚Żă‡ăイスăŚĺż…č¦ă§ă™"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s ăŻć­Łĺ¸¸ăŞă–ă­ăă‚Żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: %s%s を読込ăżĺ°‚用ă§ăžă‚¦ăłăă§ăŤăľă›ă‚“"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s ăŻć›¸ăŤčľĽăżç¦ć­˘ă§ă™ăŚă€`-w' ă•ă©ă‚°ăŚćŽç¤şçš„ă«ä¸Žăられăľă—ăź"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr ""
+"mount: %s%s を読ăżć›¸ăŤç”¨ă¨ă—ă¦ĺ†Ťăžă‚¦ăłăă§ăŤăľă›ă‚“ă€ă©ă‚¤ăă—ă­ă†ă‚Żăă•ă‚Śă¦ă„"
+"ăľă™"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s ăŻć›¸ăŤčľĽăżç¦ć­˘ă§ă™ă€čŞ­čľĽăżĺ°‚用ă§ăžă‚¦ăłăă—ăľă™"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "%1 ă«ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“ă§ă—ăź"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "「%s」ă‹ă‚‰ă€Ś%s」ă¸ă®ç§»ĺ‹•ă«ĺ¤±ć•—: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "\"%s\" ă®ă‚ŞăĽă—ăłă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: sys-utils/mount.c:622
+#, fuzzy, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+"\n"
+"使ă„ć–ą:\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł]\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] <device> | <mountpoint>\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] <device> <mountpoint>\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] [--source <device>] [--target <mountpoint>]\n"
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: ăžă‚¦ăłăă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: ă¬ă‚łăĽă‰ă®čż˝ĺŠ ă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "Outputbox ă®ă‘ă‚żăĽăł %s を解é‡ă§ăŤăľă›ă‚“ă§ă—ăź: %s"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s ăŻć›¸ĺş«ă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "ă•ă‚ˇă‚¤ă« \"%s\" ăŻă‡ă‚Łă¬ă‚ŻăăŞă§ă™"
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "ăžă‚¦ăłăăťă‚¤ăłăを中央ă«ăŠăŹ"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "'%s' ă®ĺ€¤ă®ĺŹ–ĺľ—ă«ĺ¤±ć•—: %s\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "可読ăŞĺŤç§°"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "ă–ă­ăă‚Żć•° %ld\n"
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "CPU time"
+msgstr "CPUăŞă‚ąă"
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS セカăłă€ăŞ"
+
+#: sys-utils/prlimit.c:73
+#, fuzzy
+msgid "max data size"
+msgstr "可読ăŞĺŤç§°"
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "不正㪠inode サイズ"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "セグăˇăłăć•°ă®ćś€ĺ¤§ĺ€¤ = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "セグăˇăłăć•°ă®ćś€ĺ¤§ĺ€¤ = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "セグăˇăłăć•°ă®ćś€ĺ¤§ĺ€¤ = %lu\n"
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "max resident set size"
+msgstr "可読ăŞĺŤç§°"
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "ăˇăă‚»ăĽă‚¸"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "セグăˇăłăć•°ă®ćś€ĺ¤§ĺ€¤ = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr " ă‚°ă«ăĽă—ĺŤ "
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "ĺŤä˝Ť"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "ă‚Şă—ă‚·ă§ăł"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "ă‚Şă—ă‚·ă§ăł"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"ă‚Şă—ă‚·ă§ăł:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr " エă‡ă‚Łă‚żă»ă‚Şă—ă‚·ă§ăł "
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "ă‚»ăă‚·ă§ăłă¸ă®ćŽĄç¶šă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "'%s' ă®ă˘ăĽă‰č¨­ĺ®šăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "ă‚»ăă‚·ă§ăłă¸ă®ćŽĄç¶šă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "%s 㨠%s ăŻčŚĺŹŤă§ă™"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " 最ĺťă® 最後ă®\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr "出力ă®ćś«ĺ°ľă«ć”ąčˇŚă‚’ă¤ă‘ăľă›ă‚“"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version ăăĽă‚¸ă§ăłć…報を表示ă—ă¦çµ‚了\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help ă“ă®ăˇă‚‡ăŁă¨ă—ăźä˝żă„方を表示ă™ă‚‹\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr "ăăĽă‚¸ă§ăłç•ŞĺŹ·ăŚç­‰ă—ă„ă‹ă‚’ă†ă‚ąăă—ăľă™ă€‚"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "%s ă¸ă®ć›¸ăŤčľĽăżă‚¨ă©ăĽ: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "サăłă—ăŞăłă‚°ă‚ąă†ăă—: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): é–“é•ăŁăźăžăă—行\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: %s ă« \"_stext\" ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s: ă—ă­ă•ă‚ˇă‚¤ă«ă‚˘ă‰ă¬ă‚ąăŚçŻ„囲外ă§ă™ă€‚é–“é•ăŁăź map ă•ă‚ˇă‚¤ă«?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "ĺč¨"
+
+#: sys-utils/renice.c:57
+#, fuzzy, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr "起動中 (ăăĽă‚¸ă§ăł %s), PID %u ă¦ăĽă‚¶ '%s'"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice from %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "<不ćŽăŞă¦ăĽă‚¶>"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "不正ăŞĺ€¤ă§ă™"
+
+#: sys-utils/renice.c:158
+#, fuzzy
+msgid "process ID"
+msgstr "ă¦ăĽă‚¶ăĽID:“%s”\n"
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "ă¦ăĽă‚¶ăĽID:“%s”\n"
+
+#: sys-utils/renice.c:163
+#, fuzzy
+msgid "process group ID"
+msgstr "%s: '%s' ăŻă‚°ă«ăĽă— ID ă¨ă—ă¦ć­Łă—ăŹă‚ă‚Šăľă›ă‚“\n"
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "'%s' ă®ĺ€¤ă®ĺŹ–ĺľ—ă«ĺ¤±ć•—: %s\n"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "%s ă®ăăŁăłăŤă«ă»ă˘ăĽă‰ă®ă‚»ăăă«ĺ¤±ć•—"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "ć–°ă—ă„ diversions-old ă®ä˝ść中ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: sys-utils/rtcwake.c:92
+#, fuzzy
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+"使ă„ć–ą: %s [ă‚Şă—ă‚·ă§ăł]\n"
+" -d | --device <ă‡ăイス> rtc ă‡ăイスをé¸ćŠžă™ă‚‹ (rtc0|rtc1|...)\n"
+" -n | --dry-run does everything, but suspend\n"
+" -l | --local ă­ăĽă‚«ă«ć™‚é–“ă¨ă—㦠RTC を使ă†\n"
+" -m | --mode standby|mem|... sleep mode\n"
+" -s | --seconds <seconds> 指定秒スăŞăĽă—ă™ă‚‹\n"
+" -t | --time <time_t> time to wake\n"
+" -u | --utc RTCăŻUTC時間を使ă„ăľă™\n"
+" -v | --verbose ăˇăă‚»ăĽă‚¸ă‚’表示ă™ă‚‹\n"
+" -V | --version ăăĽă‚¸ă§ăłă‚’表示ă™ă‚‹\n"
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "ă•ă‚ˇă‚¤ă« '%2$s' ă‹ă‚‰ă® %1$s ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—: %3$s"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "ă•ă‚ˇă‚¤ă« '%2$s' ă‹ă‚‰ă® %1$s ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—: %3$s"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "変更時ĺ»ă®č¨­ĺ®šă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "bfd_set_section_flags (%s, %x) ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "rtcアă©ăĽă ă‚’有効ă«ă™ă‚‹"
+
+#: sys-utils/rtcwake.c:248
+#, fuzzy
+msgid "set rtc wake alarm failed"
+msgstr "rtcă®ă‚˘ă©ăĽă ă‚’設定ă—ăľă™"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "ă•ă‚ˇă‚¤ă« '%2$s' ă‹ă‚‰ă® %1$s ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—: %3$s"
+
+#: sys-utils/rtcwake.c:357
+#, fuzzy, c-format
+msgid "alarm: off\n"
+msgstr "é›»ćş OFF: "
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "変更時ĺ»ă®č¨­ĺ®šă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "alarm: on %s"
+msgstr "10ă‚­ăĽă® *"
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "é€Łçµ / éťžé€Łçµ ă‚’ĺ‡ă‚Šć›żăăľă™"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "UTC 時間を使ă„ăľă™ă€‚\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "ă­ăĽă‚«ă«ć™‚間を使ă„ăľă™ă€‚\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s 㯠lp ă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“。\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, fuzzy, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr "SSL サăťăĽăăŻç„ˇĺŠąă§ă™"
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "以下ă«éŤµăŚă‚ă‚Šăľă™: "
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr " -k --kill-at export ă•ă‚ŚăźĺŤĺ‰Ťă‹ă‚‰ @<n> を削る。\n"
+
+#: sys-utils/rtcwake.c:560
+#, fuzzy, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr "エă‡ă‚Łă‚żăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“。ă™ăąă¦ă®ç«¶ĺă‚’ăťă®ăľăľă«ă—ăľă™ă€‚"
+
+#: sys-utils/rtcwake.c:568
+#, fuzzy, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr "PDB 互換ă˘ăĽă‰ă®ćŚ‡ĺ®š (off|on|warn)"
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "%s を実行ă§ăŤăľă›ă‚“ (%s)"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "信用ă‡ăĽă‚żă™ăĽă‚ą: 読出ă—ă«ĺ¤±ć•—ă—ăľă—ăź (n=%d): %s\n"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, fuzzy, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr "ă‚·ă‚ąă†ă ăˇăłă†ăŠăłă‚ąă˘ăĽă‰ă¸ĺ…Ąă‚Šăľă™"
+
+#: sys-utils/rtcwake.c:620
+#, fuzzy
+msgid "disable rtc alarm interrupt failed"
+msgstr "rtcアă©ăĽă ă®ĺ‰˛ă‚ŠčľĽăżă‚’無効ă«ă™ă‚‹"
+
+#: sys-utils/setarch.c:52
+#, fuzzy, c-format
+msgid "Switching on %s.\n"
+msgstr "10ă‚­ăĽă® *"
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+"使ă„ć–ą: %s%s [options] [program [program arguments]]\n"
+"\n"
+"ă‚Şă—ă‚·ă§ăł:\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr "ă‚り多ăŹă®ć…報を得るăźă‚ă«ăŻ `%s --help' ă¨ĺ…ĄĺŠ›ă—ă¦ăŹă ă•ă„.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr "ă‚り多ăŹă®ć…報を得るăźă‚ă«ăŻ `%s --help' ă¨ĺ…ĄĺŠ›ă—ă¦ăŹă ă•ă„.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: 認č­ă§ăŤăŞă„アăĽă‚­ă†ă‚ŻăăŁ"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "引数ăŚĺŤĺ†ă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "'%s' ă®ă˘ăĽă‰č¨­ĺ®šăŚĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "使ă„ć–ą: debconf [ă‚Şă—ă‚·ă§ăł] ă‚łăžăłă‰ [引数]"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "Outputbox ă®ă‘ă‚żăĽăł %s を解é‡ă§ăŤăľă›ă‚“ă§ă—ăź: %s"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "execvpă«ĺ¤±ć•—"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%2$s ă« %1$s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "ă‚ąăĽă‘ăĽă¦ăĽă‚¶ăĽă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: swapoffăŻĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "RPM ă‚ąăšăă‚Ż"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label} 使用ă™ă‚‹ă‡ăイス㮠LABEL\n"
+" {-U uuid | UUID=uuid} 使用ă™ă‚‹ă‡ăイス㮠UUID\n"
+" <device> 使用ă™ă‚‹ă‡ăイスă®ĺŤĺ‰Ť\n"
+" <file> 使用ă™ă‚‹ă•ă‚ˇă‚¤ă«ă®ĺŤĺ‰Ť\n"
+"\n"
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr "ăŹăă‚·ăĄă»ă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "使用ăžăĽă‚Ż"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+#, fuzzy
+msgid "Filename"
+msgstr "ă‡ăイスĺŤ:"
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: ă‚ąăŻăă—を再ĺťćśźĺŚ–ă—ă¦ă„ăľă™ă€‚"
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "実行ă«ĺ¤±ć•—"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: ă‚·ăĽă‚Żă«ĺ¤±ć•—"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: 署ĺŤă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "ç•°ăŞă‚‹"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "ĺŚă"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: 安全ă§ăŞă„ć¨©é™ %04o ă‚’ćŚăˇăľă™ă€‚ %04o ăŚăŠĺ‹§ă‚ă§ă™ă€‚"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: 安全ă§ăŞă„ć¨©é™ %04o ă‚’ćŚăˇăľă™ă€‚ %04o ăŚăŠĺ‹§ă‚ă§ă™ă€‚"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: ă•ă‚ˇă‚¤ă« %s ă‚’ă‚ąă‚­ăă— -- ă›ăĽă«ă‚’検出。\n"
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: サイズă®ĺŹ–ĺľ—ă«ĺ¤±ć•—"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: ă‚ąăŻăă—ăăă€ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, fuzzy, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "'%s' 㨠'%s' ă§ćŚ‡ĺ®šă—ăźĺ˝˘ĺĽŹă®ć•°ăŚĺăŁă¦ă„ăľă›ă‚“"
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+"%s: ă‚˝ă•ăウェアサスăšăłă‰ă‡ăĽă‚żă‚’検出ă—ăľă—ăźă€‚ă‚ąăŻăă—署ĺŤă‚’書ăŤăŞăŠă—ăľ"
+"ă™ă€‚"
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%2$s ă« %1$s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s swaponăŻĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label} 使用ă™ă‚‹ă‡ăイス㮠LABEL\n"
+" {-U uuid | UUID=uuid} 使用ă™ă‚‹ă‡ăイス㮠UUID\n"
+" <device> 使用ă™ă‚‹ă‡ăイスă®ĺŤĺ‰Ť\n"
+" <file> 使用ă™ă‚‹ă•ă‚ˇă‚¤ă«ă®ĺŤĺ‰Ť\n"
+"\n"
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "ă‚«ă©ă ć•° : %d\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "%s 用ă®ă‡ăイスăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "\"%s\" ă®ă‚ŞăĽă—ăłă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "fstată«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "ă‡ă‚Łă¬ă‚Żă㪠\"%s\" を作ćă§ăŤăľă›ă‚“ă§ă—ăź: %s"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "\"%s\" ă®ă‚ŞăĽă—ăłă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: open ă«ĺ¤±ć•—: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "%s/%s ă¸ćŽĄç¶šă—ă‚ă†ă¨ă—ă¦ă„ăľă™..."
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: ă‚«ă¬ăłăă‡ă‚Łă¬ă‚ŻăăŞă«ă‚˘ă‚Żă‚»ă‚ąă§ăŤăľă›ă‚“ -- %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "\"%s\" ă®ă‚ŞăĽă—ăłă«ĺ¤±ć•—ă—ăľă—ăź: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "ăžă‚¦ăłăăťă‚¤ăłăを中央ă«ăŠăŹ"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "失敗"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr ""
+" ă•ă‚ˇă‚¤ă« \"%s\" を削除ă§ăŤăľă›ă‚“\n"
+" %s "
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr "出力ă®ćś«ĺ°ľă«ć”ąčˇŚă‚’ă¤ă‘ăľă›ă‚“"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr "出力ă®ćś«ĺ°ľă«ć”ąčˇŚă‚’ă¤ă‘ăľă›ă‚“"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "不正ăŞĺ€¤ă§ă™"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s 㯠lp ă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“。\n"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "LPGETSTATUS エă©ăĽ"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s ă®çŠ¶ć…‹ăŻ %d ă§ă™"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", ă“ジăĽ"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", ćş–ĺ‚™ă§ăŤă¦ă„ăľă™"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", 用紙ăŚă‚ă‚Šăľă›ă‚“"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", ă¤ăŞăŚăŁă¦ă„ăľă™"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", エă©ăĽ"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ エă©ăĽ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s 㯠IRQ %d を使ă„ăľă™\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s ăŻăťăĽăŞăłă‚°ă‚’行ă„ăľă™\n"
+
+#: sys-utils/umount.c:73
+#, fuzzy, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+"\n"
+"使ă„ć–ą:\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł]\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] <device> | <mountpoint>\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] <device> <mountpoint>\n"
+" %1$s [ă‚Şă—ă‚·ă§ăł] [--source <device>] [--target <mountpoint>]\n"
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "ăžă‚¦ăłăă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s ăŻä¸Ťć­ŁăŞă–ă­ăă‚Żă‡ăイスă§ă™"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "umount: %s: ă‚ąăĽă‘ăĽă–ă­ăă‚Żă«ć›¸ăŤčľĽă‚ăľă›ă‚“"
+
+#: sys-utils/umount.c:211
+#, fuzzy, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount %s: ă‡ăイスăŚă“ジăĽă§ă™ă€‚\n"
+" (ă“ă®ă‡ăイスăŚă—ă­ă‚»ă‚ąă«ă‚ăŁă¦ä˝żă‚Źă‚Śă¦ă„ă‚‹ă®ă§ă‚ă‚Śă°ă€lsof(8)ă‚„fuser"
+"(1)を使ăŁă¦čŞżćź»ă™ă‚‹ă®ăŚćś‰ç›Šă‹ă‚‚ă—ă‚Śăľă›ă‚“)"
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: アăłăžă‚¦ăłăă™ă‚‹ă«ăŻă‚ąăĽă‘ăĽă¦ăĽă‚¶ă§ăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: ă–ă­ăă‚Żă‡ăイスăŻă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ä¸Šă§č¨±ĺŹŻă•ă‚Śăľă›ă‚“"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "使ă„ć–ą: debconf [ă‚Şă—ă‚·ă§ăł] ă‚łăžăłă‰ [引数]"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "unshareă«ĺ¤±ć•—"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "失敗"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "ă‡ăĽă‚żă‚˝ă‚±ăăタイă ă‚˘ă‚¦ă"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "ă‡ăĽă‚żă‚˝ă‚±ăăタイă ă‚˘ă‚¦ă"
+
+#: sys-utils/wdctl.c:70
+#, fuzzy
+msgid "flag name"
+msgstr " ă‚°ă«ăĽă—ĺŤ "
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr ""
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "状態"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "%s ă‚’ stat ă§ăŤăľă›ă‚“"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "ă‡ăイスĺŤ:"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "未知ă®ĺ‡¦ç†: %s"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "ă–ă­ăă‚Żă‡ăイス"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "Loopă‡ăイス 㯠%s ă§ă™\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "ă‚«ă©ă ć•° : %d\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: 不ćŽăŞă‚·ă‚°ăŠă« %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "'%s' ă‹ă‚‰č¨­ĺ®šă•ă‚ˇă‚¤ă«ă®ă‘スを取得ă§ăŤăľă›ă‚“ă§ă—ăź"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "%s ă¸ă®ă‚żă‚¤ă ă‚˘ă‚¦ăを取得ă§ăŤăľă›ă‚“: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f 秒\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "タイă ă‚˘ă‚¦ă"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "ă‡ăイス"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s: ăăĽă‚¸ă§ăł %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "ă«ăĽăă‡ă‚Łă¬ă‚ŻăăŞă‚’ '%s' ă¸ĺ¤‰ć›´ă§ăŤăľă›ă‚“\n"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "作業ă‡ă‚Łă¬ă‚ŻăăŞă‚’ '%s' ă«ĺ¤‰ć›´ă§ăŤăľă›ă‚“"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "ă—ă­ă‚»ă‚ą '%s' ă®ĺ±žć€§ă‚’作ćă§ăŤăľă›ă‚“"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: %s を実行ă§ăŤăľă›ă‚“: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "ăˇă˘ăŞă®ĺ‰˛ă‚Šĺ˝“ă¦ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "不正ăŞă‚żă‚¤ă ă‚˘ă‚¦ă値: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "不正ăŞé€źĺş¦: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "代替速度ăŚĺ¤šă™ăŽăľă™"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: 標準入力ă¨ă—ă¦é–‹ăŹă“ă¨ăŚă§ăŤăľă›ă‚“: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ă‚­ăŁă©ă‚Żă‚żă‡ăイスă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: 読ăżć›¸ăŤä¸ˇç”¨ă«ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: 複製ă«ĺ•ŹéˇŚç™şç”ź: %m"
+
+#: term-utils/agetty.c:1275
+#, fuzzy
+msgid "Num Lock off"
+msgstr "Note %02x off"
+
+#: term-utils/agetty.c:1278
+#, fuzzy
+msgid "Num Lock on"
+msgstr "'%s' ă®ă­ăクを解除ă—ăľă—ăźă€‚\n"
+
+#: term-utils/agetty.c:1281
+#, fuzzy
+msgid "Caps Lock on"
+msgstr "Caps Lock ㌠ON ă§ă™"
+
+#: term-utils/agetty.c:1284
+#, fuzzy
+msgid "Scroll Lock on"
+msgstr "'%s' ă®ă­ăクを解除ă—ăľă—ăźă€‚\n"
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "ă’ăłăă®ă«ăĽă«"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: read: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: 入力ăŚćş˘ă‚Śăľă—ăź"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "ă¦ăĽă‚¶"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "ă¦ăĽă‚¶"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "ă‚Şă—ă‚·ă§ăł"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "%s 㯠%s ă§ă™\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "%s 㯠%s ă§ă™\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "%s ă®ă˘ăĽă‰ă‚’ %04lo (%s) ă«ĺ¤‰ć›´ă§ăŤăľă›ă‚“ă§ă—ăź\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "無効ăŞćŚ‡ĺ®šă§ă™"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"警告: `%s' ăŻă‚·ăłăśăŞăă‚ŻăŞăłă‚Żă§ă™ă€‚\n"
+"本当ă«ăťă‚Śă‚’使ă„ăźă„ăŞă‚‰ `%s [ă‚Şă—ă‚·ă§ăł] %s' を使ă„ăľă—ょă†\n"
+"Script ăŻé–‹ĺ§‹ă—ăľă›ă‚“ă§ă—ăźă€‚\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "ă•ă‚ˇă‚¤ă«é¸ćŠžă€ă‚¤ă‚˘ă­ă‚°ă®ă‚Şă—ă‚·ă§ăł"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "ă‚ąă‚ŻăŞă—ăを開始ă—ăľă—ăźă€ă•ă‚ˇă‚¤ă«ăŻ %s ă§ă™\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "ă‚ąă‚ŻăŞă—ă㯠%s ă«é–‹ĺ§‹ă—ăľă—ăź"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr ""
+" ă‚żăĽă‚˛ăăă•ă‚ˇă‚¤ă« \"%s\" ă«ć›¸ăŤčľĽă‚ăľă›ă‚“\n"
+" %s "
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"ă‚ąă‚ŻăŞă—ă㯠%s ă«çµ‚了ă—ăľă—ăź"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "ă‚ąă‚ŻăŞă—ăを終了ă—ăľă—ăźă€ă•ă‚ˇă‚¤ă«ăŻ %s ă§ă™\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "ä»®ćłç«Żćś«ä¸€č¦§"
+
+#: term-utils/scriptreplay.c:42
+#, fuzzy, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr "%s <timingfile> [<typescript> [<divisor>]]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, fuzzy, c-format
+msgid "expected a number, but got '%s'"
+msgstr "-q= ă®ĺľŚă«ç•ŞĺŹ·ăŚćśźĺľ…ă•ă‚Śăľă™ăŚă€%s ăŚä¸Žăられăľă—ăź\n"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "標準出力ă¸ă®ć›¸ăŤčľĽăżăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "%să§äşćśźă—ăŞă„ă•ă‚ˇă‚¤ă«ă®çµ‚ç«Ż"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "typescript ă•ă‚ˇă‚¤ă« %s ă®čŞ­ăżčľĽăżăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "引数ă®ć•°ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "%s: ă•ă‚ˇă‚¤ă«ăăă€ă®čŞ­čľĽăżăŚĺ¤±ć•—ă—ăľă—ăź\n"
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "format ă•ă‚ˇă‚¤ă« '%s' ă«äşćłĺ¤–ă®éťžć•°ĺ­—ăŚĺ«ăľă‚Śă¦ă„ăľă™"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "ă­ăă‚Żă€ă‚¦ăłă»ă‚¨ă©ăĽ: 引数ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "ă–ă©ăłă‚Ż CD ă‡ă‚Łă‚ąă‚Ż"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "自動ă’ăłă強ĺ¶"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "ă—ă­ă‚»ă‚ąă®çŹľĺś¨çŠ¶ć…‹ă‹ă‚‰UIDを取得ă§ăŤăľă›ă‚“ă§ă—ăź\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "slattach: tty_open: 8N1ă˘ăĽă‰ă¸č¨­ĺ®šă§ăŤăľă›ă‚“!\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "ă‡ăイス %s を書ăŤčľĽăżă‚ă†ă«ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "%s サă–ă—ă­ă‚»ă‚ąĺ…Ąĺ‡şĺŠ›ă‚¨ă©ăĽ"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "標準出力ă«ć›¸ăŤčľĽăżä¸­ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "ă•ă‚ˇă‚¤ă«ăŚčŞ­ă‚ăľă›ă‚“:"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "TERMăŚč¨­ĺ®šă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#: term-utils/setterm.c:1274
+#, fuzzy
+msgid "terminfo database cannot be found"
+msgstr "ă˘ă‹ă‚«ă®ă‚¤ăłă‚żă•ă‚§ăĽă‚ąăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "ă•ă‚ˇă‚¤ă«ă‚żă‚¤ă—ăŚä¸ŤćŽă§ă™"
+
+#: term-utils/setterm.c:1278
+#, fuzzy
+msgid "terminal is hardcopy"
+msgstr "%săŻă€ç·¨é›†ă§ăŤăľă›ă‚“ă§ă—ăź: ç«Żćś«ă§ă™"
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "iov ăŚĺ¤šă™ăŽăľă™ (wall/ttymsg.c ă®ă‚łăĽă‰ă‚’変更ă—ă¦ăŹă ă•ă„)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "行引数ăŚé•·ă™ăŽăľă™"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "ĺ­ă—ă­ă‚»ă‚ąă‚’čµ·ĺ‹•ă§ăŤăľă›ă‚“"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "ă•ă‚ˇă‚¤ă«é¸ćŠžă€ă‚¤ă‚˘ă­ă‚°ă®ă‚Şă—ă‚·ă§ăł"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "ă—ă­ă‚»ă‚ąă®çŹľĺś¨çŠ¶ć…‹ă‹ă‚‰UIDを取得ă§ăŤăľă›ă‚“ă§ă—ăź\n"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "証ćŽć›¸ă® common name を得られăŞă„"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "%s@%s ă‹ă‚‰ćµă‚Śă¦ăŤăźăˇăă‚»ăĽă‚¸"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "エă©ăĽ: 標準入力ăŚç«Żćś«ă§ăŻă‚ă‚Šăľă›ă‚“。"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "%s: fread(3) ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "サăĽăă‚Şă—ă‚·ă§ăłăŻă¦ăĽă‚¶ă‚Şă—ă‚·ă§ăłă®ĺľŚă§č¨­ĺ®šă—ăľă™ă€‚"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "ă‚ăŞăźă®ç«Żćś« (tty) ĺŤă‚’決定ă§ăŤăľă›ă‚“。"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: ă‚ăŞăźăŻć›¸ăŤčľĽăżć¨©é™ă‚’ă‚Şă•ă«ă—ăźăľăľă§ă™ă€‚\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "ă¦ăĽă‚¶ăŻă­ă‚°ă‚¤ăłă—ă¦ă„ăľă›ă‚“"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "アカウăłăăŚç„ˇĺŠąă«ăŞăŁă¦ă„ăľă™"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "ă¦ăĽă‚¶ăŻă­ă‚°ă‚¤ăłă—ă¦ă„ăľă›ă‚“"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "アカウăłăăŚç„ˇĺŠąă«ăŞăŁă¦ă„ăľă™"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s ăŻč¤‡ć•°ă­ă‚°ă‚¤ăłă—ă¦ă„ăľă™ -- %s ă« write ă—ăľă™\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "ă‘ă‚ą %s ăŻé•·ă™ăŽăľă™"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "ăˇăă‚»ăĽă‚¸ from %s@%s (%s ă¨ă—ă¦) on %s at %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "ăˇăă‚»ăĽă‚¸ from %s@%s on %s at %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "書ăŤčľĽăżă‚¨ă©ăĽ"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "不正ăŞĺĽ•ć•°ă§ă™"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "%s ă‚’ %s ă¨ă—ă¦ăăクアăă—ă§ăŤăľă›ă‚“: %s\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "最ĺťă®čˇŚä»Ąĺ‰Ťă‚’"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "行ăŻć—˘ă«ć›¸ăŤčľĽăľă‚Śăźă®ă§"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "ă•ă‚ˇă‚¤ă«é¸ćŠžă€ă‚¤ă‚˘ă­ă‚°ă®ă‚Şă—ă‚·ă§ăł"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"使ă„ć–ą: %s [ă‚Şă—ă‚·ă§ăł]\n"
+"\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "無効ăŞćŚ‡ĺ®šă§ă™"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "無効ăŞćŚ‡ĺ®šă§ă™"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "ă•ă‚ˇă‚¤ă«é¸ćŠžă€ă‚¤ă‚˘ă­ă‚°ă®ă‚Şă—ă‚·ă§ăł"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "%2$s ă«ĺŻľă™ă‚‹ĺĽ•ć•° %1$s ăŚé–“é•ăŁă¦ă„ăľă™"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "ă•ă‚ˇă‚¤ă«é¸ćŠžă€ă‚¤ă‚˘ă­ă‚°ă®ă‚Şă—ă‚·ă§ăł"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "使ă„ć–ą: %s [ă‚Şă—ă‚·ă§ăł] [入力ă•ă‚ˇă‚¤ă«] [出力ă•ă‚ˇă‚¤ă«]\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "詳細設定..."
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: 不ćŽăŞă‚Şă—ă‚·ă§ăł: %s\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: ă‡ă‚Łă¬ă‚Żă㪠***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: ă†ă‚­ă‚ąăă•ă‚ˇă‚¤ă«ă§ăŻă‚ă‚Šăľă›ă‚“ ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[終了ă™ă‚‹ă«ăŻ q ă‹ Q を押ă—ă¦ä¸‹ă•ă„]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--続ă‘ă‚‹--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(次ă®ă•ă‚ˇă‚¤ă«: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[ă‚ąăšăĽă‚ąă‚­ăĽă‚’押ă™ă¨ç¶šăŤă€'q' ă§çµ‚了。]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "... %d ăšăĽă‚¸ć»ă‚Šăľă™"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "... 1 ăšăĽă‚¸ć»ă‚Šăľă™"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...1行飛ă°ă—ăľă™"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...%d 行飛ă°ă—ăľă™"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***ć»ă‚‹***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "正規表現ăŚăžă‚şă„"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "['h' ă‚­ăĽă§ć“Ťä˝ść–ąćł•]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" %d 行"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[éťžă•ă‚ˇă‚¤ă«] %d 行"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " 大ăŤă™ăŽ\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...飛ă°ă—ă¦ă„ăľă™\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"ă‘ă‚żăĽăłăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "ă‘ă‚żăĽăłăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "実行ă«ĺ¤±ć•—\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "ĺ­ă—ă­ă‚»ă‚ąă‚’čµ·ĺ‹•ă§ăŤăľă›ă‚“\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...飛ă°ă—ă¦ă„ăľă™ "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...ă•ă‚ˇă‚¤ă«ă‚’飛ă°ă—ăľă™ "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...ă•ă‚ˇă‚¤ă«ă«ć»ă‚Šăľă™ "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "行ăŚé•·ă™ăŽăľă™"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "大体ă®ăźă‚ă®ä»Ąĺ‰Ťă®ă‚łăžăłă‰ăŚă‚ă‚Šăľă›ă‚“"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "行ăŚé•·ă™ăŽăľă™"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: 複数ă®ć–‡ĺ­—ă®ăイă数カウăłă\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr ""
+"hexdump: 文字 %s ă®ĺ¤‰ćŹ›ă«ă¤ă„ă¦ä¸Ťć­ŁăŞăイăć•°ă®ă‚«ă‚¦ăłăを行ă„ăľă—ăźă€‚\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: %%s ăŻç˛ľĺş¦ă‹ă€ăイăć•°ă‚’č¦ć±‚ă—ăľă™ă€‚\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "ăŠă‹ă—ăŞă•ă‚©ăĽăžăă"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "ăžă«ăăイă文字ăŚä¸Ťć­Łă§ă™"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "ă•ă‚ˇă‚¤ă«é¸ćŠžă€ă‚¤ă‚˘ă­ă‚°ă®ă‚Şă—ă‚·ă§ăł"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p é ĺźźć…報を画面ăľăźăŻă‡ă‚Łă‚ąă‚Żă«ĺ‡şĺŠ›ă™ă‚‹"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : ă‡ă‚Łă‚ąă‚Żă¸ă®ĺ®źéš›ă®ć›¸čľĽăżă‚’行わăŞă„"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -? [or --help]: ă“ă®ăˇăă‚»ăĽă‚¸ă‚’表示ă™ă‚‹"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version ăăĽă‚¸ă§ăłć…報を表示ă—ă¦çµ‚了\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: ă‚Şă—ă‚·ă§ăłăŻĺĽ•ć•°ă‚’č¦ć±‚ă—ăľă™ -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: 不正ăŞă‚Şă—ă‚·ă§ăł -- %s\n"
+
+#: text-utils/pg.c:371
+#, fuzzy
+msgid "...skipping forward\n"
+msgstr "前ăśă‚żăł"
+
+#: text-utils/pg.c:373
+#, fuzzy
+msgid "...skipping backward\n"
+msgstr "逆変換"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "次ă®ă•ă‚ˇă‚¤ă«ăŻă‚ă‚Šăľă›ă‚“"
+
+#: text-utils/pg.c:399
+#, fuzzy
+msgid "No previous file"
+msgstr "入力ă•ă‚ˇă‚¤ă«ăŚă‚ă‚Šăľă›ă‚“"
+
+#: text-utils/pg.c:934
+#, fuzzy, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "FILE ă‹ă‚‰ă•ă‚ˇă‚¤ă«ĺŤă‚’読ăżčľĽăż"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: ă•ă‚ˇă‚¤ă«%să§äşćśźă—ăŞă„ă•ă‚ˇă‚¤ă«ă®çµ‚ç«Ż\n"
+
+#: text-utils/pg.c:943
+#, fuzzy, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "ă•ă‚ˇă‚¤ă« %s 中ă§ćśŞçźĄă®ELFCLASS.\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: 一時ă•ă‚ˇă‚¤ă«ă‚’作ćă§ăŤăľă›ă‚“\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "RE エă©ăĽ"
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+#, fuzzy
+msgid "No remembered search string"
+msgstr " 検索文字ĺ—ăŚč¦‹ä»ă‹ă‚Šăľă›ă‚“ "
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "%s ă‚’ open ă§ăŤăľă›ă‚“"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "äżťĺ­ă—ăľă—ăź"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !commandăŻrflagă˘ăĽă‰ă§ăŻč¨±ĺŹŻă•ă‚Śăľă›ă‚“。\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() ăŚĺ¤±ć•—ă—ăľă—ăźă€ĺľŚă§ĺ®źčˇŚă—ç›´ă—ă¦ăŹă ă•ă„\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(次ă®ă•ă‚ˇă‚¤ă«: "
+
+#: text-utils/rev.c:77
+#, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "使ă„ć–ą: %s [ă‚Şă—ă‚·ă§ăł] [ă•ă‚ˇă‚¤ă« ...]\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+"\"%s\" ă¸ă®ć›¸ăŤčľĽăżăŚĺ®Śäş†ă—ăľă›ă‚“ (%zd 書ăŤčľĽăżĺ®Śäş†ă€%zd 書ăŤčľĽăżäşĺ®š)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr ""
+"\n"
+"使用法:\n"
+" %s [ă‚Şă—ă‚·ă§ăł] ă•ă‚ˇă‚¤ă«\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+msgid "failed to parse number of lines"
+msgstr "行数ă®č§Łćžă«ĺ¤±ć•—"
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr "入力ă•ă‚ˇă‚¤ă«ăŚćŚ‡ĺ®šă•ă‚Śă¦ă„ăľă›ă‚“"
+
+#: text-utils/ul.c:136
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr ""
+"\n"
+"使用法:\n"
+" %s [ă‚Şă—ă‚·ă§ăł] [ă•ă‚ˇă‚¤ă«...]\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "terminfo ă®čŞ­ăżčľĽăżä¸­ă«ăă©ă–ă«ç™şç”ź"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "未知ă®ă‚¨ă‚ąă‚±ăĽă—ă‚·ăĽă‚±ăłă‚ąăŚĺ…ĄĺŠ›ă«ĺ«ăľă‚Śă¦ă„ăľă™: %o, %o"
+
+#: text-utils/ul.c:648
+msgid "Input line too long."
+msgstr "入力ă•ă‚ˇă‚¤ă«ăŚé•·ă™ăŽăľă™ă€‚"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr ""
+#~ " ă•ă‚ˇă‚¤ă« \"%s\" ă‚’ stat ă§ăŤăľă›ă‚“\n"
+#~ " %s "
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [-hv] [-x ă‡ă‚Łă¬ă‚ŻăăŞ] ă•ă‚ˇă‚¤ă«\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "open ăŚĺ¤±ć•—: %s"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "使ă„ć–ą: %s [ -larvsmf ] /dev/name\n"
+
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "'%s' ă‚’é–‹ă‘ăľă›ă‚“: %s"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "ă‡ăイス %s ă‚’ stat ă§ăŤăľă›ă‚“"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s: open ăŚĺ¤±ć•—"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "'%s: '%s' ă«ăŻă‚ąăŻăă—ă‡ăイスを作らăŞă„ă‚ă†ă«ă—ăľă™\n"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "ă‚Ľă­ă§ĺź‹ă‚られăźă‡ăイスを開ă‘ăľă›ă‚“"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "使ă„ć–ą %s <ă‚Şă—ă‚·ă§ăł> <ă‚Şă–ジェクăă•ă‚ˇă‚¤ă«>...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "ă•ă‚ˇă‚¤ă« '%s' ă‚’é–‹ă‘ăľă›ă‚“"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d BSD é ĺźźă‚’削除ă™ă‚‹"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l 既知ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—ă‚’ăŞă‚ąă表示ă™ă‚‹"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n ć–°ăźă« BSD ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’作ćă™ă‚‹"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p BSD ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’表示ă™ă‚‹"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t ă‘ăĽă†ă‚Łă‚·ă§ăłă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă  ID を変更ă™ă‚‹"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u ă¦ă‹ăăă®ĺ¤‰ć›´(ă‚·ăŞăłă€/セクタ)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’表示ă™ă‚‹"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "ć–°ăźă« DOS ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’ă‡ă‚Łă‚ąă‚Żč­ĺĄĺ­ 0x%08x ă§ä˝śćă—ăľă™ă€‚\n"
+#~ "ă‚ăŞăźăŚć›¸ăŤčľĽăżă‚’決定ă™ă‚‹ăľă§ă€ĺ¤‰ć›´ăŻăˇă˘ăŞĺ†…ă ă‘ă«ć®‹ă—ăľă™ă€‚\n"
+#~ "ăťă®ĺľŚăŻă‚‚ăˇă‚Ťă‚“以前ă®ĺ†…容ăŻäż®ĺľ©ä¸ŤĺŹŻč˝ă«ăŞă‚Šăľă™ă€‚\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă®ć›¸ăŤčľĽăżă‚’行ăăľă›ă‚“。\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "ă‡ăイスăŻć­Łĺ¸¸ăŞ DOS ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚‚ă€Sun, SGI ă‚„ OSF ă‡ă‚Łă‚ąă‚Żă©"
+#~ "ă™ă«ă‚‚\n"
+#~ "ĺ«ă‚“ă§ă„ăľă›ă‚“\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "内é¨ă‚¨ă©ăĽ\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "ă‘ăĽă†ă‚Łă‚·ă§ăł %i ăŻă‚·ăŞăłă€ĺ˘ç•Śă§ĺ§‹ăľăŁă¦ă„ăľă›ă‚“:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "(%d, %d, 1) ă§ă‚ă‚‹ăąăŤă§ă™\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "(%d, %d, %d) ă§ă‚ă‚‹ăąăŤă§ă™\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "%s ă‚’é–‹ă‘ăľă›ă‚“\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "ă“ă®ă‚«ăĽăŤă«ăŻă‚»ă‚Żă‚żă‚µă‚¤ă‚şă‚’自ĺ†čŞŤč­ă—ăľă™ - -b ă‚Şă—ă‚·ă§ăłăŻç„ˇč¦–ă—ăľă™\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\t残念ăŞăŚă‚‰ SGI ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ç”¨ă®ă‚¨ă‚­ă‚ąă‘ăĽăăˇă‹ăĄăĽăŻç”¨ć„Źă•ă‚Ś"
+#~ "ă¦ă„ăľă›ă‚“。\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "ă‡ă‚Łă‚ąă‚Żă®é ĺźźĺŚĺŁ«ăŚé‡Ťč¤‡ă—ă¦ă„ă‚‹ă“ă¨ă‚’知ăŁă¦ăľă™ă‹ďĽź\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "ć–°ăźăŞ SGI ă‡ă‚Łă‚ąă‚Żă©ă™ă«ć§‹çŻ‰ć™‚ă€ĺ¤‰ć›´ăŻăťă®ć›¸ăŤčľĽăżă‚’決定ă™ă‚‹ăľă§\n"
+#~ "ăˇă˘ăŞĺ†…ă«ă®ăżĺŹŤć ă•ă‚Śăľă™ă€‚ăťă®ĺľŚăŻă‚‚ăˇă‚Ťă‚“ă€ä»Ąĺ‰Ťă®ĺ†…容ăŻĺ¤±ă‚Źă‚Śă€\n"
+#~ "ĺľ©ĺ…ăŻä¸ŤĺŹŻč˝ă¨ăŞă‚Šăľă™ă€‚\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "ăˇă˘ăŞăŚč¶łă‚Šăľă›ă‚“ -- 諦ă‚ăľă™\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "ăˇă˘ăŞăŚč¶łă‚ŠăŞă„?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: 入力ăŚçź­ă™ăŽăľă™\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "ă•ă‚ˇă‚¤ă«%să‚’é–‹ă‘ăľă›ă‚“ă§ă—ăź: %s"
+
+#, fuzzy
+#~ msgid "WARNING: bad format on line %d of %s"
+#~ msgstr "不正ăŞĺ±Ąć­´ă•ă‚ˇă‚¤ă«ĺ˝˘ĺĽŹ (%d 行目)"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "'%s' ă‚’é–‹ăŹă“ă¨ăŚă§ăŤăľă›ă‚“ă§ă—ăź: %s"
+
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "/dev/port ă‚’é–‹ă‘ăľă›ă‚“"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "アă‰ă¬ă‚ą '%s' ă®č§Łćžă«ĺ¤±ć•—\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "ă‚ăŞăźăŻć©źč˝ă‚Şă—ă‚·ă§ăłă‚’複数個指定ă—ăľă—ăźă€‚\n"
+#~ "一度ă«ä¸€ă¤ă®ć©źč˝ă®ăżčˇŚăŞă†ă“ă¨ăŚă§ăŤăľă™ă€‚\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: --utc 㨠--localtime ă‚Şă—ă‚·ă§ăłăŻç›¸äş’排他的ă§ă™ăŚă€ä¸ˇć–ąăŚćŚ‡ĺ®šă•ă‚Śăľă—"
+#~ "ăźă€‚\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: --adjust 㨠--noadjfile ă‚Şă—ă‚·ă§ăłăŻç›¸äş’排他的ă§ă™ăŚă€ä¸ˇć–ąăŚćŚ‡ĺ®šă•ă‚Śăľ"
+#~ "ă—ăźă€‚\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: --adjfile 㨠--noadjfile ă‚Şă—ă‚·ă§ăłăŻç›¸äş’排他的ă§ă™ăŚă€ä¸ˇć–ąăŚćŚ‡ĺ®šă•ă‚Ś"
+#~ "ăľă—ăźă€‚\n"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "%s ă®ă‚ŞăĽă—ăłă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "%s ă‚’ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“"
+
+#, fuzzy
+#~ msgid "%-20s: failed: %s\n"
+#~ msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#, fuzzy
+#~ msgid "%-20s: failed\n"
+#~ msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#, fuzzy
+#~ msgid "only one <source> may be specified"
+#~ msgstr "ă•ă‚ˇă‚¤ă«ĺŤăŻďĽ‘ă¤ă ă‘指定ă§ăŤăľă™ă€‚"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "%uăイăă®ç”»ĺŹăăă•ă‚ˇă®ç˘şäżťă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: ăˇă˘ăŞăŚĺ°‘ăŞă„ă®ă§ă€ă­ă‚°ă‚¤ăłă«ĺ¤±ć•—ă™ă‚‹ă‚ă†ă§ă™\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "tty ă‚Żă©ă‚ąç”¨ăˇă˘ăŞăŚç˘şäżťă§ăŤăľă›ă‚“"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "ă‚°ă«ăĽă—ăŞă‚ąă用ăˇă˘ăŞăŚç˘şäżťă§ăŤăľă›ă‚“"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "%2$s ă‹ă‚‰ %1$s ă¸ă®ă­ă‚°ă‚¤ăłăŻă€ĺťćśźçŠ¶ć…‹ă§ăŻć‹’ĺ¦ă•ă‚Śăľă—ăźă€‚\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "%2$s ă‹ă‚‰ %1$s ă¸ă®ă­ă‚°ă‚¤ăłăŻĺ¦ĺ®šă•ă‚Śăľă—ăźă€‚\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "使ă„ć–ą: %s [ -f ă•ă«ăŤăĽă  ] [ -o ă‚Şă•ă‚Łă‚ą ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "login: PAM ăŚĺ¤±ć•—ă—ăľă—ăźă€çµ‚了ă—ăľă™: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [ -s シェ㫠] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ ă¦ăĽă‚¶ĺŤ ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "relocate ăŻă€URL ă®ăŞăťă‚¸ăăŞé¨ĺ†ă—ă‹ĺ¤‰ć›´ă§ăŤăľă›ă‚“"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: /etc/passwd ă®ă‡ă•ă‚©ă«ăă‚łăłă†ă‚­ă‚ąăを設定ă§ăŤăľă›ă‚“"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "fork ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: ăŞă‚ąăを見るă«ăŻ -l ă‚Şă—ă‚·ă§ăłă‚’使ăŁă¦ăŹă ă•ă„\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "ăŞă‚ąăを見るă«ăŻă€%s -l を使ăŁă¦ăŹă ă•ă„。\n"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "%s を読込ăżç”¨ă«é–‹ă‘ăľă›ă‚“。終了ă—ăľă™"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "使ă„ć–ą: login [-fp] [ă¦ăĽă‚¶ĺŤ]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "ăˇă˘ăŞăŚč¶łă‚Šăľă›ă‚“"
+
+#~ msgid "Illegal username"
+#~ msgstr "不正ăŞă¦ăĽă‚¶ĺŤ"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "LOGIN ăŻă“ă®ă‚µăĽăă§ăŻç„ˇĺŠąă«ăŞăŁă¦ă„ă‚‹"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "ă­ă‚°ă‚¤ăł %s を拒絶ă€%s ă‹ă‚‰ TTY %s 上ă§"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "ă­ă‚°ă‚¤ăł %s を拒絶ă€TTY %s 上ă§"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Login ăŚé–“é•ăŁă¦ă„ăľă™\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "mailbox 所有者ă®ĺ¤‰ć›´ă«ĺ¤±ć•—ă—ăľă—ăź"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "%s: fork ă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s ă­ă‚°ă‚¤ăł: "
+
+#~ msgid "NAME too long"
+#~ msgstr "ĺŤĺ‰ŤăŚé•·ă™ăŽăľă™"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "netname2user: principalĺŤ `%s' ăŚé•·ă™ăŽăľă™"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "ĺŤĺ‰Ťă‚’ć•°ĺ­—ă§ĺ§‹ă‚ă¦ăŻă„ă‘ăľă›ă‚“\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "éŽĺ¤§ăŞčˇŚé€ă‚Š(linefeed)"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "エă©ăĽăŚĺ¤šéŽăŽă‚‹ă®ă§, 処ç†ă‚’打ăˇĺ‡ă‚Šăľă™"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "%s ă‹ă‚‰ă®ă­ă‚°ă‚¤ăłăŚĺ¤±ć•—, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "%s ă§ă®ă­ă‚°ă‚¤ăłăŚĺ¤±ć•—, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d 回 %s ă‹ă‚‰ă®ă­ă‚°ă‚¤ăłăŚĺ¤±ć•—, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d 回 %s ă§ă®ă­ă‚°ă‚¤ăłăŚĺ¤±ć•—, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: ă‚°ă«ăĽă—ă•ă‚ˇă‚¤ă«ăŻä˝żç”¨ä¸­ă§ă™ă€‚\n"
+
+#~ msgid "%s: the %s file is busy (%s present)\n"
+#~ msgstr "%s: ăťă®ă•ă‚ˇă‚¤ă« %s ăŻä˝żç”¨ä¸­ă§ă™ (現在㯠%s)\n"
+
+#~ msgid "%s: can't link %s: %s\n"
+#~ msgstr "%s: %s ă‚’ăŞăłă‚Żă§ăŤăľă›ă‚“: %s\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr "%s: %s ă®ă­ăクを解除ă§ăŤăľă›ă‚“: %s (変更㯠%s ă®ăľăľă§ă™)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "内é¨ă‚¨ă©ăĽ: 範囲外エă©ăĽă§ă™"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "%s ă‚’ă‚ŞăĽă—ăłă§ăŤăŞă‹ăŁăź"
+
+#~ msgid "could not stat '%s'"
+#~ msgstr "'%s' ă‚’ stat ă§ăŤăľă›ă‚“"
+
+#~ msgid "calloc failed"
+#~ msgstr "calloc ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "ă‡ă‚Łă‚ąă‚Ż %s ăŻć­Łĺ¸¸ăŞă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’ĺ«ă‚“ă§ă„ăľă›ă‚“\n"
+
+#~ msgid "%s: write failed"
+#~ msgstr "%s: write ăŚĺ¤±ć•—"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "AFEă®ç·‘ă®ă‚Şă•ă‚»ăă値"
+
+#, fuzzy
+#~ msgid "--offset and --all are mutually exclusive"
+#~ msgstr "--depth 㨠--set-depth ăŻäş’ă„ă«ćŽ’ä»–çš„ă§ă™"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "抽出ă—ăźă‚«ă‚żă­ă‚°ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—ă—ăľă—ăźă€‚"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: /dev ă‡ă‚Łă¬ă‚ŻăăŞăŻĺ­ĺś¨ă—ăľă›ă‚“。"
+
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: ă‡ăイス %s ă®ă‚­ăŁă‘ă‚·ă†ă‚Łă‚’設定ă§ăŤăľă›ă‚“: %s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", offset %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", 暗号タイ㗠%d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: ă‡ăイス %s ă®ć…報を取得ă§ăŤăľă›ă‚“: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: ă‡ăイス %s ă‚’ă‚ŞăĽă—ăłă§ăŤăľă›ă‚“: %s\n"
+
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: dev/loop%s<N> を見るăźă‚ă®ć¨©é™ăŚă‚ă‚Šăľă›ă‚“"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: loop ă‡ăイスăŚĺ…¨ăŹč¦‹ă¤ă‹ă‚Šăľă›ă‚“。カăĽăŤă«ăŚ loop ă‡ăイスをサăťăĽă"
+#~ "ă—ă¦ă„ăŞă„ă‹ă‚‚ă—ă‚Śăľă›ă‚“。\n"
+#~ " (ăťă†ă§ă‚ă‚Śă°ă€ĺ†Ťă‚łăłă‘イă«ă™ă‚‹ă‹ `modprobe loop.o' ă—ă¦ä¸‹ă•ă„。)"
+
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "ă‘ă‚ąă•ă¬ăĽă‚şă®čŞ­ăżčľĽăżä¸­ă«ăˇă˘ăŞăŚč¶łă‚ŠăŞăŹăŞă‚Šăľă—ăź"
+
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "警告: %s ăŻć—˘ă« %s ă«é–˘é€ŁăĄă‘ă•ă‚Śă¦ă„ăľă™\n"
+
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "警告: %s: ăŻć›¸ăŤčľĽăżç¦ć­˘ă§ă™ă€čŞ­čľĽăżĺ°‚用ă§ăžă‚¦ăłăă—ăľă™\n"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "ioctl LOOP_SET_FD 失敗: %s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu,%llu): ć功\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): ć功\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: ă‡ăイス %s を削除ă§ăŤăľă›ă‚“: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "ă“ă® mount 㯠loop ă®ă‚µăťăĽăăŞă—ă§ă‚łăłă‘イă«ă•ă‚Śăľă—ăźă€‚\n"
+#~ "再コăłă‘イă«ă—ă¦ăŹă ă•ă„。\n"
+
+#, fuzzy
+#~ msgid "%s: invalid offset '%s' specified"
+#~ msgstr "無効ăŞă—ă­ăă‚łă« `%s' ăŚćŚ‡ĺ®šă•ă‚Śăľă—ăźă€‚\n"
+
+#, fuzzy
+#~ msgid "%s: invalid sizelimit '%s' specified"
+#~ msgstr "無効ăŞă—ă­ăă‚łă« `%s' ăŚćŚ‡ĺ®šă•ă‚Śăľă—ăźă€‚\n"
+
+#, fuzzy
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "gtkvideo: 再試行ă—ăľă›ă‚“\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "ă‚łăłă‘イă«ć™‚ă« loop サăťăĽăăŚćś‰ĺŠąă«ăŞăŁă¦ă„ăľă›ă‚“。再コăłă‘イă«ă—ă¦ăŹă ă•"
+#~ "ă„。\n"
+
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: äşćśźă—ăŞă„ă•ă‚ˇă‚¤ă«ĺ˝˘ĺĽŹ"
+
+#~ msgid "'%s' is unsupported program name (must be 'swapon' or 'swapoff')."
+#~ msgstr ""
+#~ "'%s' ăŻă‚µăťăĽăă—ă¦ă„ăŞă„ă—ă­ă‚°ă©ă ĺŤă§ă™ ('swapon' ăľăźăŻ 'swapoff' ă§ă‚"
+#~ "ă‚‹ăąăŤă§ă™)。"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "XML ă‡ăĽă‚żă® `%s' ă¸ă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź: %s"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [-q [-i é–“éš”]] ([-s 値]|[-S 値]) ([-t 値]|[-T 値]) [-g|-G] ă•ă‚ˇ"
+#~ "イ㫠[ă•ă‚ˇă‚¤ă«...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "%s ă‚’é–‹ă‘ăľă›ă‚“: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "ăťăĽă番号ă®č§Łćžă«ĺ¤±ć•—: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#, fuzzy
+#~ msgid ""
+#~ " -s --shared Get a shared lock\n"
+#~ " -x --exclusive Get an exclusive lock\n"
+#~ " -u --unlock Remove a lock\n"
+#~ " -n --nonblock Fail rather than wait\n"
+#~ " -w --timeout Wait for a limited amount of time\n"
+#~ " -o --close Close file descriptor before running command\n"
+#~ " -c --command Run a single command string through the shell\n"
+#~ " -h --help Display this text\n"
+#~ " -V --version Display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %1$s [-sxun][-w #] fd#\n"
+#~ " %1$s [-sxon][-w #] ă•ă‚ˇă‚¤ă« [-c] command...\n"
+#~ " %1$s [-sxon][-w #] ă‡ă‚Łă¬ă‚Żă㪠[-c] command...\n"
+#~ " -s --shared 共有ă­ăクを取得ă™ă‚‹\n"
+#~ " -x --exclusive 排他ă­ăクを取得ă™ă‚‹\n"
+#~ " -u --unlock ă­ăクを削除ă™ă‚‹\n"
+#~ " -n --nonblock Fail rather than wait\n"
+#~ " -w --timeout Wait for a limited amount of time\n"
+#~ " -o --close ă‚łăžăłă‰ă‚’実行ă™ă‚‹ć ăă«ă•ă‚ˇă‚¤ă«ă‡ă‚Łă‚ąă‚ŻăŞă—ă‚żă‚’ă‚Żă­ăĽ"
+#~ "ă‚şă™ă‚‹\n"
+#~ " -c --command シェă«ă‚’通ă—ă¦ă‚·ăłă‚°ă«ă‚łăžăłă‰ć–‡ĺ­—ĺ—を実行ă™ă‚‹\n"
+#~ " -h --help ă“ă®ă†ă‚­ă‚ąăを表示ă™ă‚‹\n"
+#~ " -V --version ăăĽă‚¸ă§ăłă‚’表示ă™ă‚‹\n"
+
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: ă­ăă‚Żă•ă‚ˇă‚¤ă« %s ă‚’é–‹ă‘ăľă›ă‚“: %s\n"
+
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: 不正ăŞć•°ĺ€¤: %s\n"
+
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s: ĺ­ă—ă­ă‚»ă‚ąă®čµ·ĺ‹•ă«ĺ¤±ć•—: %s\n"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "fstată«ĺ¤±ć•—ă—ăľă—ăź"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(1).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#~ msgid "cannot remove id %s (%s)\n"
+#~ msgstr "id %s (%s) を削除ă§ăŤăľă›ă‚“\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "ĺ»ć­˘äşĺ®šă®ä˝żă„ć–ą: %s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "不ćŽăŞăŞă‚˝ăĽă‚ąă‚żă‚¤ă—: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+
+#, fuzzy
+#~ msgid "unknown error in key"
+#~ msgstr " ĺ­ă—ă­ă‚»ă‚ąă®ä¸ŤćŽăŞă‚¨ă©ăĽ"
+
+#, fuzzy
+#~ msgid "unknown error in id"
+#~ msgstr "正規表現 '%2$s' ă®ä¸­ă«ä¸ŤćŽăŞ ID '%1$s' ăŚă‚ă‚Šăľă™"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h for help\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h for help\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [resource]... [output-format]\n"
+#~ " %1$s [resource] -i id\n"
+#~ "\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %1$s [resource]... [output-format]\n"
+#~ " %1$s [resource] -i id\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s ăŻă‚ăŞăźăŚčŞ­ăżčľĽăżă‚˘ă‚Żă‚»ă‚ąă§ăŤă‚‹ ipc ă®čł‡ćşçŠ¶ćłăŞă©ă®ć…報をćŹäľ›ă—ăľ"
+#~ "ă™ă€‚\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> <device>\n"
+#~ msgstr ""
+#~ "\n"
+#~ "使ă„ć–ą: %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> "
+#~ "<device>\n"
+
+#~ msgid "invalid speed: %s"
+#~ msgstr "不正ăŞé€źĺş¦: %s"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "ă‚ŻăŞăă—ăśăĽă‰ă‹ă‚‰(_C)"
+
+#~ msgid "error: cannot open %s"
+#~ msgstr "error: %s ă‚’é–‹ă‘ăľă›ă‚“"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: 使ă„ć–ą: \"%s [ă‚Şă—ă‚·ă§ăł]\n"
+#~ "\t -m <ăžăă—ă•ă‚ˇă‚¤ă«> (ĺťćśźĺ€¤ = \"%s\" ă¨)\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <ă—ă­ă•ă‚ˇă‚¤ă«> (ĺťćśźĺ€¤ = \"%s\")\n"
+#~ "\t -M <倍数> ă—ă­ă•ă‚ˇă‚¤ă«ĺ‘¨ćśźĺ€Ťć•°ă‚’ <倍数> ă«č¨­ĺ®š\n"
+#~ "\t -i サăłă—ăŞăłă‚°ă‚ąă†ăă—ă®ć…ĺ ±ă«ă¤ă„ă¦ă®ăżčˇ¨ç¤ş\n"
+#~ "\t -v č©łç´°ć…報を表示\n"
+#~ "\t -a カウăłă㌠0 ă§ă‚‚ă€ă™ăąă¦ă®ă‚·ăłăśă«ă‚’表示\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r ă™ăąă¦ă®ă‚«ă‚¦ăłă‚żă‚’ăŞă‚»ăăă™ă‚‹ (root ă®ăż)\n"
+#~ "\t -n ăイăă‚ŞăĽă€ă®č‡Şĺ‹•ć¤śçźĄă‚’無効化ă™ă‚‹\n"
+#~ "\t -V ăăĽă‚¸ă§ăłć…報を表示ă—ă¦çµ‚了ă™ă‚‹\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile: %s ă¸ă®ć›¸ăŤčľĽăżă‚¨ă©ăĽ: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr "ă‚ă‚Šč©łă—ă„ć…ĺ ±ăŻč©łç´°ă‚’参照ă—ă¦ăŹă ă•ă„"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "警告: bool ĺž‹ă®ĺ€¤ '%s' ă®č§Łćžă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "警告: bool ĺž‹ă®ĺ€¤ '%s' ă®č§Łćžă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č©łç´°ć…ĺ ±ăŻă€setarch(8) を確認ă—ă¦ăŹă ă•ă„。\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "č©łç´°ć…報を得るă«ăŻă€`%s --help' を実行ă—ă¦ä¸‹ă•ă„。\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "使ă„ć–ą: %s ă—ă­ă‚°ă©ă  [引数 ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: 不正ăŞĺ€¤ă§ă™\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č©łç´°ć…ĺ ±ăŻă€unshare(1) を確認ă—ă¦ăŹă ă•ă„。\n"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "stat(%s) 失敗"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "ăžă‚Żă­ă»ă•ă‚ˇă‚¤ă«ă‚’é–‹ăŹă®ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź "
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "typescript ă•ă‚ˇă‚¤ă« %s ă‚’é–‹ă‘ăľă›ă‚“"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "ć•´ć•° '%s' ăŻĺ¤§ăŤă™ăŽă‚‹ă‹ă€ă‚‚ă—ăŹăŻĺ°Źă•ă™ăŽăľă™"
+
+#, fuzzy
+#~ msgid "bad columns width value"
+#~ msgstr "ai_flags ă®ĺ€¤ăŚä¸Ťć­Łă§ă™"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "不正ăŞă¬ăĽă値 %i"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "不正ăŞă¬ăĽă値 %i"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: 使ă„ć–ą: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [ă•ă‚ˇ"
+#~ "イă«]\n"
+
+#~ msgid "Cannot open "
+#~ msgstr "é–‹ă‘ăľă›ă‚“"
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "\"%s\"を読込ăżç”¨ă«é–‹ă‘ăľă›ă‚“"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "\"%s\"ă‚’stată§ăŤăľă›ă‚“"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [ă‡ăイス]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] ă‚łăžăłă‰ ă‡ăイス\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: %s ă‚’é–‹ă‘ăľă›ă‚“\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "解ćžă‚¨ă©ăĽ\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "使ă„ć–ą: %s [ -n ] ă‡ăイス\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc ă«ĺ¤±ć•—"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: ă‚Şă—ă‚·ă§ăłč§Łćžă‚¨ă©ăĽ\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "使ă„ć–ą: %s [-x] [-d <num>] iso9660-image\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [-v] [-N i-ăŽăĽă‰ă®ĺ€‹ć•°] [-V ăśăŞăĄăĽă ĺŤ]\n"
+#~ " [-F ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ĺŤ] ă‡ăイス [ă–ă­ăă‚Żć•°]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "%s ă®çŠ¶ć…‹ă‚’取得ă§ăŤăľă›ă‚“"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "%s ă®ă‚»ă‚Żă‚żă‚µă‚¤ă‚şă‚’取得ă§ăŤăľă›ă‚“"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: ĺ­ă—ă­ă‚»ă‚ąă®čµ·ĺ‹•ă«ĺ¤±ć•—: %s\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [-c] [-păšăĽă‚¸ă‚µă‚¤ă‚ş] [-L ă©ă™ă«] [-U UUID] /dev/name [ă–ă­ăă‚Ż"
+#~ "ć•°]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "ăˇă˘ăŞăŚč¶łă‚Šăľă›ă‚“"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "使ă„ć–ą:\n"
+#~ " %s"
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "ăˇă‹ăĄăĽă«ć–ąĺ‘ăŚă‚ă‚Šăľă›ă‚“。水平方ĺ‘ă‚’ĺťćśźĺ€¤ă¨ă—ăľă™ă€‚"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "%s ă‚’é–‹ă‘ăľă›ă‚“\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "ă“れ以上ă®ăˇă˘ăŞăŚç˘şäżťă§ăŤăľă›ă‚“\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "EOF ă‚’ 3 回読ăżăľă—ăź -- 終了ă—ăľă™..\n"
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "拡張ă‘ăĽă†ă‚Łă‚·ă§ăłă‚’追加ă™ă‚‹ĺ‰Ťă«ă€ăľăšă‘ăĽă†ă‚Łă‚·ă§ăłă‚’削除ă™ă‚‹ĺż…č¦ăŚă‚ă‚Šăľ"
+#~ "ă™\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "ă‚łăžăłă‰ă‚˘ă‚Żă‚·ă§ăł\n"
+#~ " %s\n"
+#~ " p 基本ă‘ăĽă†ă‚Łă‚·ă§ăł (1-4)\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "残念ăŞăŚă‚‰ă€ç©şă§ăŻăŞă„é ĺźźă®ă‚żă‚°ă‚’変更ă™ă‚‹ă“ă¨ă«ăŞă‚Šăľă™ă€‚\n"
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "㨠%s ăŚé‡ŤăŞăŁă¦ă„ăľă™\n"
+
+#~ msgid "device: something like /dev/hda or /dev/sda"
+#~ msgstr "ă‡ăイス: /dev/hda ă‚„ /dev/sda ă®ć§ăŞä˝•ă‹"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [or --show-size]: ă‘ăĽă†ă‚Łă‚·ă§ăłă‚µă‚¤ă‚şă®ăŞă‚ąă"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [or --id]: ă‘ăĽă†ă‚Łă‚·ă§ăł ID ă®čˇ¨ç¤şăľăźăŻĺ¤‰ć›´"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [or --list]: ă‡ăイス毎ă®ă‘ăĽă†ă‚Łă‚·ă§ăłăŞă‚ąă"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr " -d [or --dump]: 前ă«ĺŚăă ăŚă€ĺľŚă®ĺ…ĄĺŠ›ć›¸ĺĽŹă«ć˛żă†ă‚ă†ă«ă™ă‚‹"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr " -i [or --increment]: ă‚·ăŞăłă€ć•°ăŞă©ă€‚0 ă§ăŻăŞăŹ 1 ă‹ă‚‰"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: セクタ/ă–ă­ăă‚Ż/ă‚·ăŞăłă€/MB ă®ă¦ă‹ăăă®ĺŹ—ç†/報告"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [or --list-types]:既知ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă‚żă‚¤ă—ă®ăŞă‚ąă"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr " -D [or --DOS]: DOS 互換ă˘ăĽă‰ -- ç©şé–“ăŚĺ°‘ă—無駄ă«ăŞă‚Šăľă™"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [or --re-read]: ă‚«ăĽăŤă«ă«ă‘ăĽă†ă‚Łă‚·ă§ăłă†ăĽă–ă«ă‚’再読込ăżă•ă›ă‚‹"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : 指定番号# ă®ă‘ăĽă†ă‚Łă‚·ă§ăłă®ăżĺ¤‰ć›´ă™ă‚‹"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr " -O file : 上書ăŤă•ă‚Śă‚‹ă‚»ă‚Żă‚żă‚’ă•ă‚ˇă‚¤ă«ă«äżťĺ­ă™ă‚‹"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I file : セクタをă•ă‚ˇă‚¤ă«ă‹ă‚‰ĺľ©ĺ…ă™ă‚‹"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [or --version]: ăăĽă‚¸ă§ăłă‚’表示ă™ă‚‹"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr " -g [or --show-geometry]: ă‚«ăĽăŤă«ă®ă‚¸ă‚ŞăˇăăŞć…報を表示ă™ă‚‹"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr " -L [or --Linux]: Linux ă«ăťăă‚ŹăŞăŹă¦ă‚‚文句を云わăŞă„"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [or --quiet]: 警告ăˇăă‚»ăĽă‚¸ă‚’抑ĺ¶ă™ă‚‹"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " ジオăˇăăŞć¤śĺ‡şă‚’強ĺ¶ćŚ‡ĺ®šă§ăŤăľă™:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# [or --cylinders #]:使用ă™ă‚‹ă‚·ăŞăłă€ć•°ă‚’設定ă™ă‚‹"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [or --heads #]: 使用ă™ă‚‹ăăă‰ć•°ă‚’設定ă™ă‚‹"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [or --sectors #]: 使用ă™ă‚‹ă‚»ă‚Żă‚żć•°ă‚’設定ă™ă‚‹"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "矛盾ă®ăェăクを行わăŞă„ă‚ă†ă«ă§ăŤăľă™:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [or --force]: ăŠă‹ă—ăŞćŚ‡ĺ®šă‚’行ăŁă¦ă‚‚ă€ăťă®ăľăľĺ®źčˇŚă—ăľă™"
+
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—ă®ăźă‚ă®ăˇă˘ăŞă‚’確保ă§ăŤăľă›ă‚“ă§ă—ăź\n"
+
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: fsck [-AMNPRTV] [ -C [ fd ] ] [-t ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ĺž‹] [fs ă‚Şă—ă‚·ă§"
+#~ "ăł] [filesys ...]\n"
+
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "%s ă‚’é–‹ă‘ăľă›ă‚“: %s\n"
+
+#~ msgid "fsck from %s\n"
+#~ msgstr "fsck from %s\n"
+
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "%s: fsck_pathă®ăźă‚ă®ăˇă˘ăŞă‚’確保ăŚă§ăŤăľă›ă‚“。\n"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "`getopt --help' ă§č©łç´°ć…報を調ăąă¦ăŹă ă•ă„。\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "使ă„ć–ą: getopt ă‚Şă—ă‚·ă§ăłć–‡ĺ­—ĺ— ĺ€¤\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [ă‚Şă—ă‚·ă§ăł] [--] ă‚Şă—ă‚·ă§ăłć–‡ĺ­—ĺ— ĺ€¤\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " 値\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (enhanced) 1.1.4\n"
+
+#~ msgid "Cannot open /dev/port: %s"
+#~ msgstr "/dev/port ă‚’é–‹ă‘ăľă›ă‚“: %s"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(ćśźĺľ…ă—ăźă®ăŻ: `UTC', `LOCAL' ă‚ă‚‹ă„ăŻä˝•ă‚‚ăŞă„ă‹ă§ă™ă€‚)\n"
+
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ (RTC) ă¸ă®ĺ•Źă„ĺă‚Źă›ă‚„設定を行ă†\n"
+#~ "\n"
+#~ "使ă„ć–ą: hwclock [ć©źč˝] [ă‚Şă—ă‚·ă§ăł...]\n"
+#~ "\n"
+#~ "ć©źč˝:\n"
+#~ " -h | --help ă“ă®ăă«ă—を表示ă™ă‚‹\n"
+#~ " -r | --show ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă‚’読ăżĺŹ–ăŁă¦ă€çµćžśă‚’表示ă™ă‚‹\n"
+#~ " --set --date ă§ä¸Žăられăźć™‚ĺ»ă‚’ rtc ă«č¨­ĺ®šă™ă‚‹\n"
+#~ " -s | --hctosys ă‚·ă‚ąă†ă ć™‚ĺ»ă‚’ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă«ĺă‚Źă›ă‚‹\n"
+#~ " -w | --systohc ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă‚’現在ă®ă‚·ă‚ąă†ă ć™‚ĺ»ă«ĺă‚Źă›ă‚‹\n"
+#~ " --systz 現在ă®ă‚żă‚¤ă ă‚ľăĽăłă‚’ă™ăĽă‚ąă¨ă—ăźă‚·ă‚ąă†ă ć™‚é–“ă«ĺă‚Źă›"
+#~ "ă‚‹\n"
+#~ " --adjust 時č¨ăŚćś€ĺľŚă«č¨­ĺ®šăľăźăŻčŞżć•´ă•ă‚Śăźć™‚ç‚ąă‹ă‚‰ă€ă‚·ă‚ąă†ă çš„"
+#~ "ăŞ\n"
+#~ " ăšă‚Śă‚’č¨ç®—ă—㦠rtc を調整ă™ă‚‹\n"
+#~ " --getepoch ă‚«ăĽăŤă«ă®ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚ĺ»ă®ă‚¨ăťăク値を表示ă™ă‚‹\n"
+#~ " --setepoch ă‚«ăĽăŤă«ă®ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚ĺ»ă®ă‚¨ăťăク値"
+#~ "ă‚’ --epoch ă¨ă—ă¦ä¸Žăられăźĺ€¤ă«č¨­ĺ®šă™ă‚‹\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version hwclock ă®ăăĽă‚¸ă§ăłă‚’標準出力ă«čˇ¨ç¤şă™ă‚‹\n"
+#~ "\n"
+#~ "ă‚Şă—ă‚·ă§ăł: \n"
+#~ " -u | --utc ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă‚’協定世界時ĺ»ă§äżťćŚă™ă‚‹\n"
+#~ " --localtime ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă‚’ă­ăĽă‚«ă«ć™‚ĺ»ă§äżťćŚă™ă‚‹\n"
+#~ " -f | --rtc=path ă‡ă•ă‚©ă«ăă®ä»Łă‚Źă‚Šă«ä˝żç”¨ă™ă‚‹ /dev/... ă•ă‚ˇă‚¤ă«ă‚’指定"
+#~ "ă™ă‚‹\n"
+#~ " --directisa %s ă®ä»Łă‚Źă‚Šă«ă€ç›´ćŽĄ ISA ăă‚ąă«ă‚˘ă‚Żă‚»ă‚ąă™ă‚‹\n"
+#~ " --badyear BIOS ă«ĺ•ŹéˇŚăŚă‚ă‚‹ăźă‚ă€rtc ă®ĺą´ă‚’無視ă™ă‚‹\n"
+#~ " --date ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă«ćŚ‡ĺ®šă™ă‚‹ć™‚ĺ»\n"
+#~ " --epoch=year ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă®ă‚¨ăťăク値ă®čµ·ćşă«ćŚ‡ĺ®šă™ă‚‹ĺą´\n"
+#~ " --noadjfile /etc/adjtime ă«ă‚˘ă‚Żă‚»ă‚ąă—ăŞă„。--utc ĺŹăŻ --"
+#~ "localtime\n"
+#~ " ă®ă„ăšă‚Śă‹ă®ä˝żç”¨ă‚’ĺż…č¦ă¨ă™ă‚‹\n"
+#~ " --adjfile=ă‘ă‚ą adjust ă•ă‚ˇă‚¤ă«ă®ă‘スを指定ă™ă‚‹ (ă‡ă•ă‚©ă«ăăŻ\n"
+#~ " /etc/adjtime)\n"
+#~ " --test ăŹăĽă‰ă‚¦ă‚§ă‚˘ć™‚č¨ă‚’ć›´ć–°ă™ă‚‹ä»Ąĺ¤–ă®ă™ăąă¦ă‚’行ă†\n"
+#~ " -D | --debug ă‡ăăă‚°ă˘ăĽă‰\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "文字ĺ—ĺťćśźĺŚ–用ăˇă˘ăŞăŚç˘şäżťă§ăŤăľă›ă‚“"
+
+#~ msgid ""
+#~ "Usage: %s [-8hiLmUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [-8hiLmUw] [-l ă­ă‚°ă‚¤ăłă—ă­ă‚°ă©ă ] [-t タイă ă‚˘ă‚¦ă] [-I ĺťćśźĺŚ–"
+#~ "文字ĺ—] [-H ă­ă‚°ă‚¤ăłă›ă‚ąă] ăśăĽă¬ăĽă,... 行 [端末タイă—]\n"
+#~ "ĺŹăŻ\t[-hiLmw] [-l ă­ă‚°ă‚¤ăłă—ă­ă‚°ă©ă ] [-t タイă ă‚˘ă‚¦ă [-I ĺťćśźĺŚ–文字ĺ—] "
+#~ "[-H ă­ă‚°ă‚¤ăłă›ă‚ąă] 行 ăśăĽă¬ăĽă,... [端末タイă—]\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: ăˇă˘ăŞç˘şäżťă«ĺ¤±ć•—。\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: ăˇă˘ăŞăŚč¶łă‚Šăľă›ă‚“\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "ă‡ă‚Łă¬ă‚Żă㪠%s ăŚă‚ă‚Šăľă›ă‚“ďĽ\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: シェă«ă‚ąă‚ŻăŞă—ă用ă®ăˇă˘ăŞăŚă‚ă‚Šăľă›ă‚“。\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: シェă«ăŚă‚ă‚Šăľă›ă‚“: %s.\n"
+
+#~ msgid "usage: mesg [y | n]\n"
+#~ msgstr "使ă„ć–ą: mesg [y | n]\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: 許可ăŚă‚ă‚Šăľă›ă‚“"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "使ă„ć–ą: shutdown [-h|-r] [-fqs] [now|hh:ss|+ĺ†]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "ă‚·ăŁăăă€ă‚¦ăłĺ‡¦ç†ăŻä¸­ć–­ă•ă‚Śăľă—ăź"
+
+#~ msgid "%s: Only root can shut a system down.\n"
+#~ msgstr "%s: root ă ă‘ăŚă‚·ă‚ąă†ă ă‚’ă‚·ăŁăăă€ă‚¦ăłă§ăŤăľă™ă€‚\n"
+
+#~ msgid "That must be tomorrow, can't you wait till then?\n"
+#~ msgstr "ćŽć—Ąă«ăŞăŁă¦ă—ăľă„ăľă™ăŚă€ăťă‚Śăľă§ĺľ…ă¦ăŞă„ă§ă—ょ?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "ăˇăłă†ăŠăłă‚ąç”¨ -- bounce, bouce"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "ă‚·ă‚ąă†ă ăŻ 5 ĺ†ä»Ąĺ†…ă«é®ć–­ă•ă‚Śăľă™"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "ă­ă‚°ă‚¤ăłăŻăťă‚Ść•…ç¦ć­˘ă•ă‚Śă¦ă„ăľă™ă€‚"
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "%s ă«ă‚ă‚‹ reboot: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "%s ă«ă‚ă‚‹ halt: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "ăŞă‚“ă§ăŞă–ăĽăă—ăźă®ă«ă€äżşăŚăľă ç”źăŤă¦ă„ă‚‹ă‚“ă ďĽź"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "ă•ă‚ă€é›»ćşă‚’ĺ‡ăŁă¦ă‚‚ă„ă„ă§ă™ă‚..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "ă‚«ăĽăŤă«ă® power-off ć©źč˝ă‚’ĺ‘Ľăłĺ‡şă—ă¦ă„ăľă™...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "é›»ćşă‚’ĺ‡ă‚‹éš›ă®ă‚¨ă©ăĽ\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "ă—ă­ă‚°ă©ă  \"%s\" を実行ă—ă¦ă„ăľă™...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "実行エă©ăĽ\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "緊急: %s ă‹ă‚‰ă®ăˇăă‚»ăĽă‚¸:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "ă‚·ă‚ąă†ă ăŻ %d 時間 %d ĺ†ă§çµ‚了ă—ăľă™"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "ă‚·ă‚ąă†ă ăŻ 1 時間 %d ĺ†ă§çµ‚了ă—ăľă™"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "ă‚·ă‚ąă†ă ăŻ %d ĺ†ă§çµ‚了ă—ăľă™\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "ă‚·ă‚ąă†ă ăŻ 1 ĺ†ă§çµ‚了ă—ăľă™\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "ă‚·ă‚ąă†ă ăŻ*今ă™ăă«*終了ă—ăľă™ďĽ\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "swapoff ĺ­ă—ă­ă‚»ă‚ąă‚’čµ·ĺ‹•ă§ăŤăľă›ă‚“。"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "swapoff を実行ă§ăŤăľă›ă‚“ă®ă§ă€ă‚˘ăłăžă‚¦ăłăを飛ă°ă™ă¨ă„ă„ă§ă—ょă†ă€‚"
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "umount ĺ­ă—ă­ă‚»ă‚ąă‚’čµ·ĺ‹•ă§ăŤăľă›ă‚“。手動を試ă—ă¦ăżăľă™ă€‚"
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "%s を実行ă§ăŤăľă›ă‚“。アăłăžă‚¦ăłăを試ăżăľă™ă€‚\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "umount を実行ă§ăŤăľă›ă‚“。アăłăžă‚¦ăłăを諦ă‚ăľă™ă€‚"
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "残りă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚’アăłăžă‚¦ăłăă—ăľă™..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: %s ă® umount ăŚă§ăŤăľă›ă‚“ă§ă—ăź: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "ă‚·ăłă‚°ă«ă¦ăĽă‚¶ă˘ăĽă‰ă§ă–ăĽăă—ăľă™ă€‚\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "ă‚·ăłă‚°ă«ă¦ăĽă‚¶ă‚·ă‚§ă«ă®ĺ®źčˇŚă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "ă‚·ăłă‚°ă«ă¦ăĽă‚¶ă‚·ă‚§ă«ă® fork ă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "ă‘イă—ă®ă‚ŞăĽă—ăłă§ă‚¨ă©ăĽç™şç”ź\n"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "finalprog実行時ă«ă‚¨ă©ăĽç™şç”ź\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "finalprog ă® fork 時ă«ă‚¨ă©ăĽç™şç”ź\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "é–“é•ăŁăźă‘ă‚ąăŻăĽă‰ă€‚\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "ă‘ă‚ąă® lstat(2) ăŚĺ¤±ć•—ă—ăľă—ăź\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "ĺ­ă—ă­ă‚»ă‚ąă®čµ·ĺ‹•ă«ĺ¤±ć•—\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "inittab ă‚’é–‹ă‘ăľă›ă‚“\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "ç«Żćś«ăŚăŞă„ă‹ tty ă®çŠ¶ć…‹ă‚’取得ă§ăŤăľă›ă‚“\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "サăĽă“ă‚ąă‚’ĺść­˘ă™ă‚‹éš›ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź: \"%s\"\n"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "サăĽă“ă‚ąă‚’ĺść­˘ă—ăľă™: %s\n"
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "サăĽă“ă‚ąă‚’ĺść­˘ă™ă‚‹éš›ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź: \"%s\"\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: *不正ăŞă‚¨ă©ăĽ*"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: ĺ­ă—ă­ă‚»ă‚ąă‚’čµ·ĺ‹•ă§ăŤăľă›ă‚“\n"
+
+#~ msgid "usage: %s [file]\n"
+#~ msgstr "使ă„ć–ą: %s [ă•ă‚ˇă‚¤ă«]\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: %s を読ă‚ăľă›ă‚“。\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: 一時ă•ă‚ˇă‚¤ă«ă®ć…報を取得ă§ăŤăľă›ă‚“。\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: 一時ă•ă‚ˇă‚¤ă«ă‚’読ă‚ăľă›ă‚“。\n"
+
+#~ msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+#~ msgstr "使ă„ć–ą: cal [-13smjyV] [[[ć—Ą] ćś] ĺą´]\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "%s: 書ăŤčľĽăżă‚¨ă©ăĽ: %s\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: logger [-is] [-f ă•ă‚ˇă‚¤ă«] [-p ĺ„Şĺ…度] [-t ă‚żă‚°] [-u ソケăă] "
+#~ "[ ăˇăă‚»ăĽă‚¸ ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "使ă„ć–ą: look [-dfa] [-t ă‚­ăŁă©ă‚Żă‚ż] ć–‡ĺ­—ĺ— [ă•ă‚ˇă‚¤ă«]\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "ăˇă˘ăŞăŚč¶łă‚ŠăŞă„?"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: ăˇă˘ăŞăŚč¶łă‚Šăľă›ă‚“\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "call: %s from to files...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "使ă„ć–ą: script [-a] [-f] [-q] [-t] [ă•ă‚ˇă‚¤ă«]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s: 書ăŤčľĽăżă‚¨ă©ăĽ %d: %s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s: 書ăŤčľĽăżă‚¨ă©ăĽ: %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term ç«Żćś«ĺŤ ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ ă‚żă–1 ă‚żă–2 ă‚żă–3 ... ] ] (ă‚żă–ć•° = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ ă‚żă–1 ă‚żă–2 ă‚żă–3 ... ] ] (ă‚żă–ć•° = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60|force|poke] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-NR_CONSOLES] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-NR_CONSOLES] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq freqnumber ]\n"
+
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [-d] [-p pidă•ă‚ˇă‚¤ă«] [-s ソケăăă‘ă‚ą] [-T タイă ă‚˘ă‚¦ă]\n"
+
+#~ msgid " %s [-r|t] [-n num] [-s socketpath]\n"
+#~ msgstr " %s [-r|t] [-n ć•°ĺ­—] [-s ソケăăă‘ă‚ą]\n"
+
+#~ msgid " %s -k\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "使ă„ć–ą: %s [-r] [-t]\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM ă‡ă‚Łă¬ă‚Żă㪠... -f ] ĺŤĺ‰Ť ...\n"
+
+#~ msgid "%zd bytes ["
+#~ msgstr "%zd ăイă ["
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "使ă„ć–ą: write ă¦ăĽă‚¶ [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: %s ăŚă‚ŞăĽă—ăłă§ăŤăľă›ă‚“: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "使ă„ć–ą:\n"
+#~ " %1$s -a [-e] [-v] /etc/fstab 内ă§ćŚ‡ĺ®šă—ăźă‚ąăŻăă—を有効"
+#~ "ă«ă™ă‚‹\n"
+#~ " %1$s [-p priority] [-v] [-f] <special> 指定ă•ă‚Śăźă‚ąăŻăă—を有効ă«ă™ă‚‹\n"
+#~ " %1$s -s ă‚ąăŻăă—ă®ä˝żç”¨çŠ¶ćłă‚’表示\n"
+#~ " %1$s -h ăă«ă—ă®čˇ¨ç¤ş\n"
+#~ " %1$s -V ăăĽă‚¸ă§ăłă®čˇ¨ç¤ş\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "使ă„ć–ą:\n"
+#~ " %1$s -a [-v] ă™ăąă¦ă®ă‚ąăŻăă—を無効ă«ă™ă‚‹\n"
+#~ " %1$s [-v] <special> 指定ă•ă‚Śăźă‚ąăŻăă—を無効ă«ă™ă‚‹\n"
+#~ " %1$s -h ăă«ă—ă®čˇ¨ç¤ş\n"
+#~ " %1$s -V ăăĽă‚¸ă§ăłă®čˇ¨ç¤ş\n"
+#~ "\n"
+
+#~ msgid "unknown\n"
+#~ msgstr "不ćŽ\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "ionice - sets or gets process io scheduling class and priority.\n"
+#~ "\n"
+#~ "Usage:\n"
+#~ " ionice [ options ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ options ] <command> [<arg> ...]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -n <classdata> class data (0-7, lower being higher prio)\n"
+#~ " -c <class> scheduling class\n"
+#~ " 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+#~ " -t ignore failures\n"
+#~ " -h this help\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ionice - ă—ă­ă‚»ă‚ąă®ioスケジăĄăĽăŞăłă‚°ă‚Żă©ă‚ąă»ă—ă©ă‚¤ă‚ŞăŞă†ă‚Łă‚’取得ă»č¨­ĺ®šă™"
+#~ "る。\n"
+#~ "\n"
+#~ "使ă„ć–ą:\n"
+#~ " ionice [ ă‚Şă—ă‚·ă§ăł ] -p <pid> [<pid> ...]\n"
+#~ " ionoce [ ă‚Şă—ă‚·ă§ăł ] <command> [<arg> ...]\n"
+#~ "\n"
+#~ "ă‚Şă—ă‚·ă§ăł:\n"
+#~ " -n <classdata> ă‚Żă©ă‚ąă‡ăĽă‚ż (0-7, lower being higher prio)\n"
+#~ " -c <class> スケジăĄăĽăŞăłă‚°ă‚Żă©ă‚ą\n"
+#~ " 0: ăŞă—, 1: ăŞă‚˘ă«ă‚żă‚¤ă , 2: ă™ă‚ąăエă•ă‚©ăĽă, 3: ア"
+#~ "イă‰ă«\n"
+#~ " -t エă©ăĽă‚’無視ă™ă‚‹\n"
+#~ " -h ă“ă®ăă«ă—\n"
+#~ "\n"
+
+#~ msgid "CPU mask"
+#~ msgstr "CPUăžă‚ąă‚Ż"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "解ćžă‚¨ă©ăĽ\n"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " 及㳠"
+
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "使ă„ć–ą: %s [-c] [-n ă¬ă™ă«] [-r] [-s ăăă•ă‚ˇă‚µă‚¤ă‚ş]\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: 不正ăŞă‚Şă—ă‚·ă§ăł -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "確保ă•ă‚Śăźă‚»ă‚°ăˇăłă %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "確保ă•ă‚ŚăźăšăĽă‚¸ %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "固定ă•ă‚ŚăźăšăĽă‚¸ %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "ă‚ąăŻăă—ă•ă‚ŚăźăšăĽă‚¸ %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "ă‚ąăŻăă—ă®ĺ‹•ä˝ś: %ld 回試㿠%ld 回ć功\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "標準出力ă¸ă®ć›¸ăŤčľĽăżăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#~ msgid "error: calloc failed"
+#~ msgstr "エă©ăĽ: calloc ăŚĺ¤±ć•—"
+
+#~ msgid ""
+#~ "CPU architecture information helper\n"
+#~ "\n"
+#~ " -h, --help usage information\n"
+#~ " -p, --parse print out in parsable instead of printable format.\n"
+#~ " -s, --sysroot use the directory as a new system root.\n"
+#~ msgstr ""
+#~ "CPU アăĽă‚­ă†ă‚ŻăăŁć…ĺ ±ăă«ă‘ăĽ\n"
+#~ "\n"
+#~ " -h, --help 使ă„ć–ąă®ć…報を表示ă™ă‚‹\n"
+#~ " -p, --parse 通常ă®ĺ‡şĺŠ›ă•ă‚©ăĽăžăăă®ä»Łă‚Źă‚Šă«č§Łćžă—ă‚„ă™ă„形式ă§ĺ‡şĺŠ›ă™"
+#~ "る。\n"
+#~ " -s, --sysroot ć–°ă—ă„ă‚·ă‚ąă†ă ă«ăĽăă¨ă—ă¦ă“ă®ă‡ă‚Łă¬ă‚ŻăăŞă‚’使ă†ă€‚\n"
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: 知らăŞă„ă¦ăĽă‚¶ă§ă™\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: 不正ăŞĺ€¤ă§ă™\n"
+
+#, fuzzy
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "不正ăŞă‚­ăĽ"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: 不正㪠time_t 値 %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: %s ă®ĺŤĺ‰Ťă‚’ %s ă«ĺ¤‰ć›´ă§ăŤăľă›ă‚“: %s\n"
+
+#~ msgid "malloc error"
+#~ msgstr "malloc エă©ăĽ"
+
+#~ msgid "col: bad -l argument %s.\n"
+#~ msgstr "col: 不正㪠-l ă®ĺĽ•ć•° %s ă§ă™ă€‚\n"
+
+#~ msgid "usage: col [-bfpx] [-l nline]\n"
+#~ msgstr "使ă„ć–ą: col [-bfpx] [-l 行数]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "使ă„ć–ą: %s [ - ] [ -2 ] [ ă•ă‚ˇă‚¤ă« ... ]\n"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "使ă„ć–ą: column [-tx] [-c ă‚«ă©ă ć•°] [ă•ă‚ˇă‚¤ă« ...]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [ă•ă‚ˇă‚¤"
+#~ "ă« ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "使ă„ć–ą: %s [-dflpcsu] [+行番号 | +/ă‘ă‚żăĽăł] ĺŤĺ‰Ť1 ĺŤĺ‰Ť2 ...\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) 㯠hexdump(1) ă«ĺŹ–ăŁă¦ä»Łă‚Źă‚‰ă‚Śăľă—ăźă€‚\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: hexdump(1) 互換㯠-%c ă‚Şă—ă‚·ă§ăłă‚’サăťăĽăă—ăľă›ă‚“%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr " -- string(1) を参照。"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: %s を読ă‚ăľă›ă‚“。\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: 行ăŚé•·ă™ăŽăľă™ă€‚\n"
+
+#~ msgid "Out of memory\n"
+#~ msgstr "ăˇă˘ăŞăŚč¶łă‚Šăľă›ă‚“\n"
+
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "ăăă•ă‚ˇç©şé–“を確保ă§ăŤăľă›ă‚“"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "使ă„ć–ą: rev [ă•ă‚ˇă‚¤ă« ...]\n"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "使ă„ć–ą: tailf [-n N | -N] ă­ă‚°ă•ă‚ˇă‚¤ă«"
+
+#~ msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "使ă„ć–ą: %s [ -i ] [ -tç«Żćś« ] ă•ă‚ˇă‚¤ă«...\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "ăăă•ă‚ˇă®ç˘şäżťăŚă§ăŤăľă›ă‚“。\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "ăăă•ă‚ˇă‚’拡大ă™ă‚‹ă¨ăŤă«ăˇă˘ăŞăŚč¶łă‚ŠăŞăŹăŞă‚Šăľă—ăźă€‚\n"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "programme実行時ă«ă‚¨ă©ăĽăŚç™şç”źă—ăľă—ăź: \"%s\"\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: %s ăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“ -- 作ćă—ăľă™..\n"
+
+#~ msgid "current"
+#~ msgstr "現在"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "ć–°ăźă«"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "使ă„ć–ą : %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h ă§ăă«ă—を表示。\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "ăŞă‚˝ăĽă‚ąćŚ‡ĺ®š:\n"
+#~ "\t-m : 共有ăˇă˘ăŞ\n"
+#~ "\t-q : ăˇăă‚»ăĽă‚¸\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : ă‚»ăžă•ă‚©\n"
+#~ "\t-a : 全㦠(ĺťćśźĺ€¤)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "出力書式:\n"
+#~ "\t-t : 時間\n"
+#~ "\t-p : ă—ă­ă‚»ă‚ąID\n"
+#~ "\t-c : 作ć者\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : ĺ¶é™\n"
+#~ "\t-u : č¦ç´„\n"
+
+#~ msgid "error: %s"
+#~ msgstr "エă©ăĽ: %s"
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "%s ă®čŞ­ăżĺŹ–りエă©ăĽ\n"
+
+#~ msgid "error: /sys filesystem is not accessable."
+#~ msgstr "エă©ăĽ: /sys ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ăŻă‚˘ă‚Żă‚»ă‚ąä¸ŤĺŹŻč˝ă§ă™ă€‚"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr ""
+#~ "使ă„ć–ą: rdev [ -rv ] [ -o ă‚Şă•ă‚»ăă ] [ イăˇăĽă‚¸ [ 値 [ ă‚Şă•ă‚»ăă ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr " rdev /dev/fd0 (or rdev /linux, etc.) 現在ă®ă«ăĽăă‡ăイスを表示"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 ă«ăĽăă‚’ /dev/hda2 ă«č¨­ĺ®š"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr " rdev -R /dev/fd0 1 ă«ăĽăă•ă©ă‚°ă‚’設定 (読込専用状態)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 RAM ă‡ă‚Łă‚ąă‚Żă‚µă‚¤ă‚şă‚’設定"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/fd0 1 ă–ăĽă時ă®ă“ă‡ă‚Şă˘ăĽă‰ă‚’設定"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... ăイăă‚Şă•ă‚»ăă N ă‚’ĺ©ç”¨"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... rdev -R ă¨ĺŚă"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... rdev -r ă¨ĺŚă"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... rdev -v ă¨ĺŚă"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "注意: ă“ă‡ă‚Şă˘ăĽă‰ăŻ: -3=ĺ°‹ă­ă‚‹, -2=拡張, -1=通常Vga, 1=ă‚­ăĽ1, 2=ă‚­ăĽ2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " ă«ăĽăを読込専用ăžă‚¦ăłăă™ă‚‹ă«ăŻ -R 1 ă‚’ă€-R 0 ă§čŞ­ăżć›¸ăŤăžă‚¦ăłă。"
+
+#~ msgid "missing comma"
+#~ msgstr "ă‚«ăłăžă‚’欠ă„ă¦ă„ăľă™"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: fdisk [-b SSZ] [-u] ă‡ă‚Łă‚ąă‚Ż é ĺźźă†ăĽă–ă«ă®ĺ¤‰ć›´\n"
+#~ " fdisk -l [-b SSZ] [-u] ă‡ă‚Łă‚ąă‚Ż é ĺźźă†ăĽă–ă«ăŞă‚ąăă®čˇ¨ç¤ş\n"
+#~ " fdisk -s ă‘ăĽă†ă‚Łă‚·ă§ăł ă–ă­ăă‚Żă®é ĺźźă‚µă‚¤ă‚şčˇ¨ç¤ş\n"
+#~ " fdisk -v fdisk ă®ăăĽă‚¸ă§ăłčˇ¨ç¤ş\n"
+#~ "ă“ă“㧠`ă‡ă‚Łă‚ąă‚Ż' ă¨ăŻ /dev/hdb ă‚„ /dev/sda ă®ć§ăŞä˝•ă‹ă®äş‹ă§ă™\n"
+#~ "ăťă—㦠`é ĺźź' ă¨ăŻ /dev/hda7 ă®ć§ăŞä˝•ă‹ă®äş‹ă§ă™\n"
+#~ "-u: (ă‚·ăŞăłă€ă®ä»Łă‚Źă‚Šă«)セクタă¦ă‹ăăă®é–‹ĺ§‹ă€çµ‚点を与ăăľă™\n"
+#~ "-b 2048: (ă‚る種㮠MO ă‰ă©ă‚¤ă–用ă«) 2048 ăイăă®ă‚»ă‚Żă‚żă‚µă‚¤ă‚şă‚’使ă„ăľă™\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: fdisk [-l] [-b SSZ] [-u] ă‡ăイス\n"
+#~ " äľ‹: fdisk /dev/hda (一番目㮠IDE ă‡ă‚Łă‚ąă‚Ż)\n"
+#~ " ĺŹăŻ: fdisk /dev/sdc (三番目㮠SCSI ă‡ă‚Łă‚ąă‚Ż)\n"
+#~ " ĺŹăŻ: fdisk /dev/eda (一番目㮠PS/2 ESDI ă‰ă©ă‚¤ă–)\n"
+#~ " ĺŹăŻ: fdisk /dev/rd/c0d0 ĺŹăŻ: fdisk /dev/ida/c0d0 (RAID ă‡ăイス)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ă“ă®ă‡ă‚Łă‚ąă‚Żă®ă‚·ăŞăłă€ć•°ăŻ %d ă«č¨­ĺ®šă•ă‚Śă¦ă„ăľă™ă€‚\n"
+#~ "é–“é•ă„ă§ăŻăŞă„ă®ă§ă™ăŚă€1024 を超ăă¦ă„ă‚‹ăźă‚ă€ä»Ąä¸‹ă®ĺ ´ĺ\n"
+#~ "ă«ĺ•ŹéˇŚă‚’生ăă†ă‚‹äş‹ă‚’確認ă—ăľă—ょă†:\n"
+#~ "1) ă–ăĽă時ă«ĺ®źčˇŚă™ă‚‹ă‚˝ă•ăウェア (äľ‹. ăăĽă‚¸ă§ăłăŚĺŹ¤ă„ LILO)\n"
+#~ "2) ĺĄă® OS ă®ă–ăĽăă‚„ă‘ăĽă†ă‚Łă‚·ă§ăłä˝śćă‚˝ă•ă\n"
+#~ " (äľ‹. DOS FDISK, OS/2 FDISK)\n"
+
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr ""
+#~ "unit: sectors\n"
+#~ "\n"
+
+#~ msgid " start=%9lu"
+#~ msgstr " 開始=%9lu"
+
+#~ msgid ", size=%9lu"
+#~ msgstr ", サイズ=%9lu"
+
+#~ msgid ", bootable"
+#~ msgstr ", ă–ăĽă可č˝"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "シェă«ă‚’変更ă—ăľă›ă‚“ă§ă—ăźă€‚\n"
+
+#, fuzzy
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: エă©ăĽ: ă‚ąăŻăă—を有効ă«č¨­ĺ®šă™ă‚‹ăźă‚ă®ĺ ´ć‰€ăŚăŞă„?\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "致命エă©ăĽ: 最ĺťă®ăšăĽă‚¸ă‚’読込ă‚ăľă›ă‚“"
+
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: ă‡ăイス '%s' ăŻć­Łĺ¸¸ăŞ Sun ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’ĺ«ă‚“ă§ă„ăľă™ă€‚\n"
+#~ "ă“ă‚ŚăŻăŠăťă‚‰ăŹ v0 ă‚ąăŻăă—を作るă“ă¨ăŚă‚ăŞăźă®é ĺźźă†ăĽă–ă«ă‚’破壊ă—ă¦\n"
+#~ "ă—ăľă†ă“ă¨ă‚’ć„Źĺ‘łă—ăľă™ă€‚ă‚‚ă—ă‚ăŞăźăŚćś¬ĺ˝“ă«ăťă®ă‡ăイス㫠v0 ă‚ąăŻăă—\n"
+#~ "を作ćă—ăźă‘ă‚Śă°ă€-f ă‚Şă—ă‚·ă§ăłă§ĺĽ·č¦ă—ă¦ăŹă ă•ă„。\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: ă«ăĽăă‡ă‚Łă¬ă‚ŻăăŞă«ç§»ĺ‹•ă§ăŤăľă›ă‚“ďĽ\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: ă«ăĽăă‡ă‚Łă¬ă‚ŻăăŞă®ă•ă‚ˇă‚¤ă«ć…報を取得ă§ăŤăľă›ă‚“ďĽ\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: ăăă•ă‚ˇă‚ŞăĽăăĽă•ă­ăĽ\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? %s ă‡ă‚Łă¬ă‚ŻăăŞă«ç§»ĺ‹•ă§ăŤăľă›ă‚“ -- %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? ă‚·ăłăśăŞăă‚ŻăŞăłă‚Ż %s 読ăżĺŹ–り中ă«ĺ•ŹéˇŚăŚčµ·ăŤăľă—ăź - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** ă‚·ăłăśăŞăă‚ŻăŞăłă‚Żć•°ăŚ UNIX ă®ĺ¶é™ă‚’越ăăľă—ăź ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: ă•ă‚ˇă‚¤ă« %2$s ăŻă€ä¸ŤćŽăŞă•ă‚ˇă‚¤ă«ă‚żă‚¤ă— 0%1$06o ă§ă™\n"
+
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: %s ă‚’ %s ă§ăžă‚¦ăłăă—ă¦ă„ăľă™\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: %s ă‚’ %s ă§ăžă‚¦ăłăă—ăľă™\n"
+
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: ĺ­ă—ă­ă‚»ă‚ąă‚’čµ·ĺ‹•ă§ăŤăľă›ă‚“: %s\n"
+
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: waidpid: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "%s をアăłăžă‚¦ăłăă§ăŤăľă›ă‚“ă§ă—ăź -- 代り㫠%s を使ăŁă¦ăżăľă™\n"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "`%s': 不正ăŞă‡ă‚Łă¬ă‚ŻăăŞ: '.' ăŚćś€ĺťă§ăŻă‚ă‚Šăľă›ă‚“\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "`%s': 不正ăŞă‡ă‚Łă¬ă‚ŻăăŞ: '..' ㌠2 ç•Şç›®ă§ăŻă‚ă‚Šăľă›ă‚“\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "open_tty ă®ĺ‘Ľăłĺ‡şă—中\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "termio_init ĺ‘Ľăłĺ‡şă—中\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "ĺťćśźĺŚ–文字ĺ—ă®ć›¸ăŤčľĽăżä¸­\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "自動ăśăĽă¬ăĽă検出前\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "cr-lf ă‚’ĺľ…ăŁă¦ă„ăľă™\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "ă­ă‚°ă‚¤ăłĺŤă‚’読込ă‚ăľă›ă‚“\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "getopt ă«ăĽă—ă®ĺľŚ\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "引数解ćžă‚’終了ă—ăľă™\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "parse_speeds ă«ĺ…Ąă‚Šăľă—ăź\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "parsespeeds を終わりăľă™\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "複製中\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "ă‘ă‚ąăŻăĽă‰ă‚¨ă©ăĽă€‚"
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "警告: \"%s\" 㯠/etc/shells ăŞă‚ąăă®ä¸­ă«ă‚ă‚Šăľă›ă‚“\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "%s を読ă‚ăľă›ă‚“ă®ă§çµ‚了ă—ăľă™ă€‚"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "timeout = %d, quiet = %d, reboot = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "%s を読ă‚ăľă›ă‚“ă€ăťă—㦠ioctl ă€ăłă—ăŚă§ăŤăľă›ă‚“\n"
+
+#, fuzzy
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "mount: /dev/loop# ăŚĺ…¨ăŹč¦‹ă¤ă‹ă‚Šăľă›ă‚“"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: ăăă‚Żă‚°ă©ă‚¦ăłă‰ \"%s\"\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: 諦ă‚ăľă—ăź \"%s\"\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] [-p ĺ„Şĺ…度] ă‚ąăšă‚·ăŁă«ă•ă‚ˇă‚¤ă« ...\n"
+#~ " %s [-s]\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] [-p ĺ„Şĺ…度] ă‚ąăšă‚·ăŁă«ă•ă‚ˇă‚¤ă« ...\n"
+#~ " %s [-s]\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: %s ă‚’é–‹ă‘ăľă›ă‚“: %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: renice ĺ„Şĺ…度 [ [ -p ] ă—ă­ă‚»ă‚ąID ] [ [ -g ] ă—ă­ă‚»ă‚ąă‚°ă«ăĽă—] "
+#~ "[ [ -u ă¦ăĽă‚¶ ]\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: 不ćŽăŞă‚·ă‚°ăŠă« %s\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "サイズ %d (%d ă§ăŻăŞăŹ) ă®ăšăĽă‚¸ă‚’試ă—ăľă™\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "自動設定㧠%s%s%s を見ă¤ă‘ăľă—ăź\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "ă‰ă©ă‚¤ă–タイă—\n"
+#~ " ? 自動設定\n"
+#~ " 0 ă‚«ă‚ąă‚żă  (ăŹăĽă‰ă‚¦ă‚§ă‚˘ăŚć¤śĺ‡şă—ăźĺ€¤ă‚’ĺťćśźĺ€¤ă¨ă—ă¦)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "タイă—ă‚’é¸ă‚“ă§ăŹă ă•ă„ (? ă§č‡Şĺ‹•ă€0 ă§ă‚«ă‚ąă‚żă ): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "代替シăŞăłă€ć•°"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "物ç†ă‚·ăŞăłă€ć•°"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "ĺ…¨ă¦ă®ă‡ă‚Łă‚ąă‚Żă‘ă©ăˇăĽă‚żă‚’ x ăˇă‹ăĄăĽă‹ă‚‰ĺ¤‰ć›´ă§ăŤăľă™"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" ă•ă­ăă”ăĽ"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux custom"
+
+#, fuzzy
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s from %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "mount: %s ă‚’ă‚ŞăĽă—ăłă§ăŤăŞă‹ăŁăźă®ă§ă€UUID 㨠LABEL ă®ĺ¤‰ćŹ›ă‚‚行ăăľă›ă‚“。\n"
+
+#, fuzzy
+#~ msgid "%s: bad UUID"
+#~ msgstr "mount: 不正㪠UUID"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: nfs mount version 4 ă§ăŻĺ¤±ć•—ă—ăľă—ăźă€‚3 を試ă—ăľă™..\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ĺž‹ćŽ¨ĺ®šä¸­ă«ă‚¨ă©ăĽăŚç™şç”ź\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: 極端ă«é•·ă„ ă›ă‚ąă:ă‡ă‚Łă¬ă‚Żă㪠引数\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: 警告: 複数ă®ă›ă‚ąăĺŤăŻă‚µăťăĽăă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr ""
+#~ "mount: ăžă‚¦ăłăĺ…ă‡ă‚Łă¬ă‚ŻăăŞăŚ ă›ă‚ąă:ă‡ă‚Łă¬ă‚Żă㪠形式ă«ăŞăŁă¦ă„ăľă›ă‚“\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: %s ă®ă‚˘ă‰ă¬ă‚ąăŚĺŹ–ĺľ—ă§ăŤăľă›ă‚“\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: 不正㪠hp->h_length 値を取得ă—ăľă—ăź\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: ă‚Şă—ă‚·ă§ăłĺĽ•ć•°ăŚé•·ă™ăŽăľă™\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "警告: proto= ă‚Şă—ă‚·ă§ăłăŚç†č§Łă§ăŤăľă›ă‚“。\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "警告: namlen ă‚Şă—ă‚·ă§ăłăŻă‚µăťăĽăă•ă‚Śă¦ă„ăľă›ă‚“。\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "不ćŽăŞ nfs ăžă‚¦ăłăă‘ă©ăˇăĽă‚ż: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "警告: nolock ă‚Şă—ă‚·ă§ăłăŻă‚µăťăĽăă•ă‚Śă¦ă„ăľă›ă‚“。\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "不ćŽăŞ nfs ăžă‚¦ăłăă‚Şă—ă‚·ă§ăł: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: 不正㪠hp->h_length 値を取得?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "nfs サăĽăăŻă‚µăĽă“ă‚ąăŚĺ©ç”¨ă§ăŤăŞă„ă¨ĺ ±ĺ‘Šă—ăľă—ăź"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "NFS ăťăĽăを見ă¤ă‘ă‚‹ăźă‚ă« portmapper ă‚’ĺ©ç”¨\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "nfs ă‡ăĽă˘ăłă®ăźă‚ă« %d ç•ŞăťăĽăă‚’ĺ©ç”¨\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "不ćŽăŞ nfs ă‚ąă†ăĽă‚żă‚ąĺ€¤ă‚’čż”ă—ăľă—ăź: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "ă›ă‚ąă: %s, ă‡ă‚Łă¬ă‚ŻăăŞ: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: %s ă®ă‚˘ă‰ă¬ă‚ąăŚĺŹ–ĺľ—ă§ăŤăľă›ă‚“\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: 不正㪠hostp->h_length 値を取得ă—ăľă—ăź\n"
+
+#~ msgid "%s: not compiled with minix v2 support\n"
+#~ msgstr "%s: minix v2 ă®ă‚µăťăĽăă¤ăŤă§ă‚łăłă‘イă«ă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "文法エă©ăĽ: '%s'\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "ăťă®ă‚ă†ăŞč¨­ĺ®šă‘ă©ăˇă‚żăŻă‚ă‚Šăľă›ă‚“: '%s'\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr " %s [ -p ] ă‡ăイス ĺŤĺ‰Ť\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] ă‡ăイス\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] ă‡ăイス\n"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "ă–ăĽă (%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "ăŞă— (%02X)"
+
+#~ msgid "Partition %i does not end on cylinder boundary:\n"
+#~ msgstr "é ĺźź %i ăŻă‚·ăŞăłă€ĺ˘ç•Śă§çµ‚ă‚ŹăŁă¦ă„ăľă›ă‚“:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Disk %s: %d heads, %d sectors, %d cylinders\n"
+#~ "Units = %s of %d * %d bytes\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ă‡ă‚Łă‚ąă‚Ż %s: ăă㉠%d, セクタ %d, ă‚·ăŞăłă€ %d\n"
+#~ "ă¦ă‹ăă = %s of %d * %d ăイă\n"
+#~ "\n"
+
+#~ msgid "version"
+#~ msgstr "ăăĽă‚¸ă§ăł"
+
+#~ msgid "BLKGETSIZE ioctl failed for %s\n"
+#~ msgstr "%s ă¸ă® BLKGETSIZE ioctl ă«ĺ¤±ć•—\n"
+
+#~ msgid "unrecognized option `%s'\n"
+#~ msgstr "認č­ă§ăŤăŞă„ă‚Şă—ă‚·ă§ăł `%s' ă§ă™\n"
+
+#~ msgid "option `%s' doesn't allow an argument\n"
+#~ msgstr "ă‚Şă—ă‚·ă§ăł `%s' ăŻĺĽ•ć•°ă‚’受ă‘ä»ă‘ăľă›ă‚“\n"
+
+#~ msgid "unrecognized option `-%c'\n"
+#~ msgstr "認č­ă§ăŤăŞă„ă‚Şă—ă‚·ă§ăł `-%c' ă§ă™\n"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "/dev/urandom ă‚’é–‹ă‘ăľă›ă‚“"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "/dev/urandom ă‹ă‚‰ă©ăłă€ă ă‡ăĽă‚żăŚčŞ­čľĽă‚ăľă›ă‚“"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "(%s) ă•ă‚ˇă‚¤ă«ć…報を取得ă§ăŤăľă›ă‚“"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "%s ăŻć­Łă—ă„ă•ă‚ˇă‚¤ă«ă˘ăĽă‰ă§ăŻă‚ă‚Šăľă›ă‚“"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "%s ă‹ă‚‰ă‡ăĽă‚żă‚’読込ă‚ăľă›ă‚“"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "ć—˘ă«ă­ă‚°ă‚¤ăłă—ă¦ă„ă‚‹ă¦ăĽă‚¶ăĽć•°ăŚĺ¤šă™ăŽăľă™ă€‚\n"
+#~ "ăľăźĺľŚă§č©¦ă—ă¦ăŹă ă•ă„。\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "ă‚ăŞăźăŚĺ®źčˇŚă—ă¦ă„ă‚‹ă—ă­ă‚»ă‚ąăŚĺ¤šă™ăŽăľă™ă€‚\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "ă‘ă‚ąăŻăĽă‰ăŻćś€ä˝Ž 6 文字必č¦ă§ă™ă€‚ă‚‚ă†ä¸€ĺş¦ă‚„ă‚Šç›´ă—ă¦ăŹă ă•ă„。\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "ă‘ă‚ąăŻăĽă‰ăŻä»Ąä¸‹ă®çµ„ăżă‹ă‚‰ 2 ă¤ä»Ąä¸Šă§ć§‹ćă•ă‚Śă­ă°ăŞă‚Šăľă›ă‚“:\n"
+#~ "英大文字ă¨č‹±ĺ°Źć–‡ĺ­—ă€ć•°ĺ­—ă¨éťžă‚˘ă«ă•ă‚ˇă™ăă文字\n"
+#~ "č©łă—ă„ć…報㯠passwd(1) を見ăľă—ょă†ă€‚\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "古ă„ă‘ă‚ąăŻăĽă‰ă®ĺ†Ťĺ©ç”¨ăŻă§ăŤăľă›ă‚“。\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr "ă¦ăĽă‚¶ĺŤă¨ĺŚăă‚ă†ăŞă‘ă‚ąăŻăĽă‰ă‚’使わăŞă„ă§ăŹă ă•ă„ďĽ\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr "ă‚ăŞăźă®ĺ®źĺŤă®ă‚ă†ăŞă‘ă‚ąăŻăĽă‰ă‚’使わăŞă„ă§ăŹă ă•ă„ďĽ\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "使ă„ć–ą: passwd [ă¦ăĽă‚¶ĺŤ [ă‘ă‚ąăŻăĽă‰]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "root ă ă‘ăŚä¸€ă¤ăľăźăŻäşŚă¤ă®ĺĽ•ć•°ĺ˝˘ĺĽŹă§ĺ®źčˇŚă§ăŤăľă™\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "使ă„ć–ą: passwd [-foqsvV] [ă¦ăĽă‚¶ [ă‘ă‚ąăŻăĽă‰]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "%s を実行ă§ăŤăľă›ă‚“: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "ă­ă‚°ă‚¤ăłĺŤăŚč¦‹ă¤ă‘られăľă›ă‚“"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "root ă ă‘ăŚä»–äşşă®ă‘ă‚ąăŻăĽă‰ă‚’変更ă§ăŤăľă™\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr "ă¦ăĽă‚¶ĺŤăŚă©ă“ă«ă‚‚見ă¤ă‹ă‚Šăľă›ă‚“。`%s' ăŻćś¬ĺ˝“ă«ă¦ăĽă‚¶ă§ă™ă‹ďĽź"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr ""
+#~ "残念ăŞăŚă‚‰ă€ă­ăĽă‚«ă«ă®ă‘ă‚ąăŻăĽă‰ă®ĺ¤‰ć›´ă—ă‹ă§ăŤăľă›ă‚“。\n"
+#~ "ă‹ă‚Źă‚Šă« yppasswd を使ăŁă¦ăŹă ă•ă„。"
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "ă¦ăĽă‚¶ID 番号ă¨ă¦ăĽă‚¶ĺŤăŚä¸€č‡´ă—ăľă›ă‚“。č©ç§°ă ďĽ"
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "%s ă®ă‘ă‚ąăŻăĽă‰ă‚’変更ă—ăľă™\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "çă‘ă‚ąăŻăĽă‰ă‚’入力ă—ă¦ăŹă ă•ă„: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "不正ăŞă‘ă‚ąăŻăĽă‰ă€č©ç§°ă§ă™ă€‚"
+
+#~ msgid "Enter new password: "
+#~ msgstr "ć–°ă‘ă‚ąăŻăĽă‰ă‚’入力ă—ă¦ăŹă ă•ă„。"
+
+#~ msgid "Password not changed."
+#~ msgstr "ă‘ă‚ąăŻăĽă‰ăŻĺ¤‰ć›´ă•ă‚Śăľă›ă‚“ă§ă—ăźă€‚"
+
+#~ msgid "Re-type new password: "
+#~ msgstr "ć–°ă‘ă‚ąăŻăĽă‰ă‚’ă‚‚ă†ä¸€ĺş¦ĺ…ĄĺŠ›ă—ă¦ăŹă ă•ă„: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "綴りăŚé•ă„ăľă™ă€‚後ă§ă‚‚ă†ä¸€ĺş¦č©¦ă—ă¦ăŹă ă•ă„。"
+
+#~ msgid "password changed, user %s"
+#~ msgstr "ă‘ă‚ąăŻăĽă‰ăŻĺ¤‰ć›´ă•ă‚Śăľă—ăźă€‚ă¦ăĽă‚¶ %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "* root ă®ă‘ă‚ąăŻăĽă‰ăŚĺ¤‰ć›´ă•ă‚Śăľă—ăź *"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "ă‘ă‚ąăŻăĽă‰ăŻă«ăĽăă«ă‚ăŁă¦ĺ¤‰ć›´ă•ă‚Śăľă—ăźă€ă¦ăĽă‚¶ %s"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "ă‘ă‚ąăŻăĽă‰ă‚’設定ă™ă‚‹ăźă‚ setpwnam ă‚’ĺ‘Ľăłĺ‡şă—中。\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "ă‘ă‚ąăŻăĽă‰ăŻĺ¤‰ć›´ă•ă‚Śăľă—ăźă€‚\n"
+
+#~ msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
+#~ msgstr "%s: [%04x]:%ld (%s) ă‚Şă•ă‚»ăă %d, %s encryption\n"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ " Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: /dev/loop# ăŚĺ…¨ăŹč¦‹ă¤ă‹ă‚Šăľă›ă‚“\n"
+#~ " ĺ¤šĺ† /dev/loop# ă®ăˇă‚¸ăŁăĽç•ŞĺŹ·ăŚé–“é•ăŁă¦ă„ă‚‹ă®ă§ăŻďĽź"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device (then recompile or `insmod loop.o'), or\n"
+#~ " maybe /dev/loop# has the wrong major number?"
+#~ msgstr ""
+#~ "mount: loop ă‡ăイスăŚĺ…¨ăŹč¦‹ă¤ă‹ă‚Šăľă›ă‚“。多ĺ†ă“ă®ă‚«ăĽăŤă«ăŻ loop ă‡ăイス"
+#~ "ă‚’\n"
+#~ " 扱ăăľă›ă‚“(ăťă†ă ă¨ă—ăźă‚‰ă€ĺ†Ťă‚łăłă‘イă«ă™ă‚‹ă‹ `insmod loop.o'ă—ă¦\n"
+#~ " ăŹă ă•ă„)。ă‚ă‚‹ă„ăŻă€/dev/loop# ă®ăˇă‚¸ăŁăĽç•ŞĺŹ·ăŚé–“é•ăŁă¦ă„ă‚‹ă®ă‹"
+#~ "ă‚‚\n"
+#~ " 知れăľă›ă‚“。"
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "ĺťćśźĺŚ– (16 進数ă§ćś€ĺ¤§ 16 文字ăľă§): "
+
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "16 進数ă§ăŻăŞă„文字 '%c'。\n"
+
+#~ msgid "Don't know how to get key for encryption system %d\n"
+#~ msgstr "暗号化シスă†ă  %d ă®éŤµĺŹ–ĺľ—ć–ąćł•ăŚč§Łă‚Šăľă›ă‚“\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr ""
+#~ "mount: ă“ă®ăăĽă‚¸ă§ăłăŻ 'nfs' タイă—ă®ă‚µăťăĽăăŞă—ă§ă‚łăłă‘イă«ă•ă‚Śă¦ă„ăľă™"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "umount: only root can unmount %s from %s"
+#~ msgstr "umount: root ă ă‘㌠%s ă‚’ %s ă‹ă‚‰ă‚˘ăłăžă‚¦ăłăă§ăŤăľă™"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "Can't open help file"
+#~ msgstr "ăă«ă—ă•ă‚ˇă‚¤ă«ă‚’é–‹ă‘ăľă›ă‚“"
+
+#~ msgid "'."
+#~ msgstr "'."
+
+#~ msgid "Block %d in file `"
+#~ msgstr "ă–ă­ăă‚Ż %d in ă•ă‚ˇă‚¤ă« `"
+
+#~ msgid "The directory '"
+#~ msgstr "ă‡ă‚Łă¬ă‚Żă㪠'"
+
+#~ msgid "ioctl() to open /dev/tty1 failed"
+#~ msgstr "/dev/tty1 ă‚’ă‚ŞăĽă—ăłă™ă‚‹ăźă‚ă® ioctl ăŚĺ¤±ć•—ă—ăľă—ăź"
+
+#~ msgid ": bad directory: size<32"
+#~ msgstr ": 不正ăŞă‡ă‚Łă¬ă‚ŻăăŞ: サイズ㌠32 未満"
+
+#~ msgid "not "
+#~ msgstr "不"
+
+#~ msgid "Warning: partition %d has an odd number of sectors.\n"
+#~ msgstr "警告: é ĺźź %d ăŻĺĄ‡ć•°ă‚»ă‚Żă‚żć•°ă«ăŞăŁă¦ă„ăľă™ă€‚\n"
+
+#~ msgid ""
+#~ "Re-read table failed with error %d: %s.\n"
+#~ "Reboot your system to ensure the partition table is updated.\n"
+#~ msgstr ""
+#~ "ă†ăĽă–ă«ă®ĺ†ŤčŞ­ăżčľĽăżăŚă‚¨ă©ăĽă‚ąă†ăĽă‚żă‚ą %d ă§ĺ¤±ć•—: %s.\n"
+#~ "é ĺźźć…報を正ă—ăŹć›´ć–°ă•ă›ă‚‹ă«ăŻă‚·ă‚ąă†ă ă‚’再起動ă—ă¦ăŹă ă•ă„。\n"
+
+#~ msgid "SGI rxlvol"
+#~ msgstr "SGI rxlvol"
+
+#~ msgid "AST Windows swapfile"
+#~ msgstr "AST Windows ă‚ąăŻăă—"
+
+#~ msgid "BSD/386"
+#~ msgstr "BSD/386"
+
+#~ msgid "and will destroy it when filled\n"
+#~ msgstr "ă“れを行ă†ă¨ă€ç ´ĺŁŠă•ă‚Śă¦ă—ăľă†ă“ă¨ă«ăŞă‚‹ă§ă—ょă†\n"
+
+#~ msgid " (although this is not a problem under Linux)\n"
+#~ msgstr " (Linux ă§ăŻĺ•ŹéˇŚă§ăŻă‚ă‚Šăľă›ă‚“ă‘ă©ă‚‚)\n"
+
+#~ msgid "(For listing purposes only. Do not change its contents.)\n"
+#~ msgstr "(ăŞă‚ąăă™ă‚‹ç‚şă ă‘。ăťă®ĺ†…容ă®ĺ¤‰ć›´ăŻčˇŚă‚ŹăŞă„。)\n"
+
+#~ msgid "DOS and Linux will interpret the contents differently.\n"
+#~ msgstr "DOS ă‚„ Linux ă§ăŻăťă®ĺ†…容を異ăŞăŁăźă‚‚ă®ă¨č§Łé‡ă™ă‚‹ă“ă¨ă«ăŞă‚Šăľă™\n"
+
+#~ msgid "for reading"
+#~ msgstr "読込ăżĺŹŻč˝"
+
+#~ msgid "usage: banner [-w width]\n"
+#~ msgstr "使ă„ć–ą: banner [-w ĺą…]\n"
+
+#~ msgid "Message: "
+#~ msgstr "ăˇăă‚»ăĽă‚¸: "
+
+#~ msgid "The character '%c' is not in my character set"
+#~ msgstr "文字 '%c' ăŻă‚­ăŁă©ă‚Żă‚żă‚»ăă内ă«ă‚ă‚Šăľă›ă‚“"
+
+#~ msgid "Message '%s' is OK\n"
+#~ msgstr "ăˇăă‚»ăĽă‚¸ '%s' 㯠OK ă§ă™\n"
+
+#~ msgid "%s: open for update: %m"
+#~ msgstr "%s: 更新用ă«ă‚ŞăĽă—ăł: %m"
+
+#~ msgid "%s: no utmp entry"
+#~ msgstr "%s: utmp é …ç›®ă«ă‚ă‚Šăľă›ă‚“"
+
+#~ msgid "badlogin: %s\n"
+#~ msgstr "不正ă­ă‚°ă‚¤ăł: %s\n"
+
+#~ msgid "sleepexit %d\n"
+#~ msgstr "ă‚ąăŞăĽă—終了 %d\n"
+
+#~ msgid " [ username ]\n"
+#~ msgstr " [ ă¦ăĽă‚¶ĺŤ ]\n"
+
+#~ msgid "Warning: no Kerberos tickets issued\n"
+#~ msgstr "警告: Kerberos ăケăăăŚç™şčˇŚă•ă‚Śăľă›ă‚“\n"
+
+#~ msgid "Sorry -- your password has expired.\n"
+#~ msgstr "残念ă§ă™ăŚ -- ă‚ăŞăźă®ă‘ă‚ąăŻăĽă‰ăŻćśźé™ĺ‡ă‚Śă§ă™ă€‚\n"
+
+#~ msgid "Warning: your password expires on %s %d, %d\n"
+#~ msgstr "警告: ă‚ăŞăźă®ă‘ă‚ąăŻăĽă‰ăŻ %s %d, %d ă«ćśźé™ăŚĺ‡ă‚Śăľă™\n"
+
+#~ msgid "Sorry -- your account has expired.\n"
+#~ msgstr "残念ă§ă™ăŚ -- ă‚ăŞăźă®ă‚˘ă‚«ă‚¦ăłăăŻćśźé™ĺ‡ă‚Śă§ă™ă€‚\n"
+
+#~ msgid "Warning: your account expires on %s %d, %d\n"
+#~ msgstr "警告: ă‚ăŞăźă®ă‚˘ă‚«ă‚¦ăłă㯠%s %d, %d ă«ćśźé™ăŚĺ‡ă‚Śăľă™\n"
+
+#~ msgid "The password must contain characters out of two of the following\n"
+#~ msgstr "ă‘ă‚ąăŻăĽă‰ăŻä»Ąä¸‹ă®ĺ†… 2 種類ăŻĺ«ăľă‚ŚăŞă‘ă‚Śă°ăŞă‚Šăľă›ă‚“\n"
+
+#~ msgid ""
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ msgstr "種類: 大文字ă¨ĺ°Źć–‡ĺ­—ă€ć•°ĺ€¤ă¨éťžă‚˘ă«ă•ă‚ˇă™ăă数値\n"
+
+#~ msgid "characters. See passwd(1) for more information.\n"
+#~ msgstr "文字。passwd(1) ă‚’ăżă¦č©łç´°ă‚’調ăąă¦ăŹă ă•ă„。\n"
+
+#~ msgid "rebooted"
+#~ msgstr "再起動"
+
+#~ msgid "halted"
+#~ msgstr "ĺść­˘"
+
+#~ msgid "snow.on"
+#~ msgstr "snow.on"
+
+#~ msgid "snow.off"
+#~ msgstr "snow.off"
+
+#~ msgid "softscroll.on"
+#~ msgstr "softscroll.on"
+
+#~ msgid "softscroll.off"
+#~ msgstr "softscroll.off"
+
+#~ msgid "usage: tsort [ inputfile ]\n"
+#~ msgstr "使ă„ć–ą: tsort [ 入力ă•ă‚ˇă‚¤ă« ]\n"
+
+#~ msgid "tsort: odd data count.\n"
+#~ msgstr "tsort: 変ăŞă‡ăĽă‚żă‚«ă‚¦ăłăă§ă™ă€‚\n"
+
+#~ msgid "tsort: cycle in data.\n"
+#~ msgstr "tsort: ă‡ăĽă‚żăŚĺľŞç’°ă—ă¦ă„ăľă™ă€‚\n"
+
+#~ msgid "tsort: internal error -- could not find cycle.\n"
+#~ msgstr "tsort: 内é¨ă‚¨ă©ăĽ -- 循環を見ă¤ă‘られăľă›ă‚“ă§ă—ăźă€‚\n"
+
+#~ msgid "mount: warning: cannot change mounted device with a remount\n"
+#~ msgstr "mount: 警告: 再ăžă‚¦ăłăă§ă®ăžă‚¦ăłăć¸ă‡ăイスă®ĺ¤‰ć›´ăŻă§ăŤăľă›ă‚“\n"
+
+#~ msgid "mount: warning: cannot change filesystem type with a remount\n"
+#~ msgstr ""
+#~ "mount: 警告: 再ăžă‚¦ăłăă§ă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ă‚żă‚¤ă—ă®ĺ¤‰ć›´ăŻă§ăŤăľă›ă‚“\n"
+
+#~ msgid "mount: %s has wrong major or minor number"
+#~ msgstr "mount: %s ăŚé–“é•ăŁăźăˇă‚¸ăŁăĽĺŹăŻăžă‚¤ăŠăĽç•ŞĺŹ·ă«ăŞăŁă¦ă„ăľă™"
+
+#~ msgid "not mounted anything"
+#~ msgstr "何もăžă‚¦ăłăă—ăľă›ă‚“ă§ă—ăź"
+
+#~ msgid "default"
+#~ msgstr "ĺťćśźĺ€¤"
+
+#~ msgid "%s: %lu ints, %lu/%lu chars; "
+#~ msgstr "%s: %lu ints, %lu/%lu chars; "
+
+#~ msgid "fifo: %lu thresh, %lu tmout, "
+#~ msgstr "fifo: %lu thresh, %lu tmout, "
+
+#~ msgid "%lu max, %lu now\n"
+#~ msgstr "%lu ăŚćś€ĺ¤§ă€çŹľĺś¨ %lu\n"
+
+#~ msgid " which you have read access.\n"
+#~ msgstr " \n"
+
+#~ msgid "send_time=%srcv_time=%schange_time=%s"
+#~ msgstr "é€äżˇĺ›žć•°=%s受信回数=%s変更回数=%s"
+
+#~ msgid "Not Set\n"
+#~ msgstr "ă‚»ăăă•ă‚Śă¦ă„ăľă›ă‚“\n"
+
+#~ msgid " rdev -s /dev/fd0 /dev/hda2 set the SWAP device"
+#~ msgstr " rdev -s /dev/fd0 /dev/hda2 ă‚ąăŻăă—ă‡ăイスを設定"
+
+#~ msgid " swapdev ... same as rdev -s"
+#~ msgstr " swapdev ... rdev -s ă¨ĺŚă"
+
+#~ msgid "anything\n"
+#~ msgstr "ăŞă‚“ă§ă‚‚\n"
+
+#~ msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+#~ msgstr "ă‚­ăĽăŞă”ăĽă速度を %.1f cps ă«ă‚»ăăă—ăľă—ăź (ウェイă㯠%d ms)\n"
+
+#~ msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+#~ msgstr "使ă„ć–ą: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+
+#~ msgid "Writing disklabel to %s%d.\n"
+#~ msgstr "%s%d ă«ă‡ă‚Łă‚ąă‚Żă©ă™ă«ă‚’書ăŤčľĽăżăľă™ă€‚\n"
+
+#~ msgid "Bootstrap installed on %s%d.\n"
+#~ msgstr "ă–ăĽăă‚ąăă©ăă—㯠%s%d ă«ă‚¤ăłă‚ąăăĽă«ă•ă‚Śăľă—ăźă€‚\n"
+
+#~ msgid "%s: unknown geometry\n"
+#~ msgstr "%s: 不ćŽăŞă‚¸ă‚ŞăˇăăŞ\n"
+
+#~ msgid "exec rc failed\n"
+#~ msgstr "rc ă®ĺ®źčˇŚă«ĺ¤±ć•—\n"
+
+#~ msgid "fork of rc shell failed\n"
+#~ msgstr "rc シェă«ă® fork ă«ĺ¤±ć•—ă—ăľă—ăź\n"
+
+#~ msgid "Cannot get loop info"
+#~ msgstr "loop ă®ć…報を取得ă§ăŤăľă›ă‚“"
+
+#~ msgid "mount: block device %s is not permitted on its filesystem"
+#~ msgstr "mount: ă–ă­ăă‚Żă‡ăイス %s ăŻăťă®ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ä¸Šă§č¨±ĺŹŻă•ă‚Śăľă›ă‚“"
+
+#~ msgid ""
+#~ "Usage: mount [-hV]\n"
+#~ " mount -a [-nfFrsvw] [-t vfstypes]\n"
+#~ " mount [-nfrsvw] [-o options] special | node\n"
+#~ " mount [-nfrsvw] [-t vfstype] [-o options] special node\n"
+#~ " A special device can be indicated by -L label or -U uuid .\n"
+#~ msgstr ""
+#~ "使ă„ć–ą: mount [-hV]\n"
+#~ " mount -a [-nfFrsvw] [-t ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ĺž‹]\n"
+#~ " mount [-nfrsvw] [-o ă‚Şă—ă‚·ă§ăł] special | node\n"
+#~ " mount [-nfrsvw] [-t ă•ă‚ˇă‚¤ă«ă‚·ă‚ąă†ă ĺž‹] [-o ă‚Şă—ă‚·ă§ăł] special "
+#~ "node\n"
+#~ " ă‚ąăšă‚·ăŁă«ă‡ăイス㯠-L ă©ă™ă« ĺŹăŻ -U uuid ă§ćŚ‡ç¤şă§ăŤăľă™ă€‚\n"
+
+#~ msgid "mount: %s:%s failed, reason given by server: %s\n"
+#~ msgstr "mount: %s:%s ăŚĺ¤±ć•—ă€ă‚µăĽăăĽă‹ă‚‰ă®ç†ç”±: %s\n"
+
+#~ msgid "usage: %s [-shm | -msg | -sem] id\n"
+#~ msgstr "\\使ă„ć–ą: %s [-shm | -msg | -sem] id\n"
+
+#~ msgid "sscanf error"
+#~ msgstr "sscanf エă©ăĽ"
+
+#~ msgid "Usage: %s [ -s shell ] "
+#~ msgstr "使ă„ć–ą: %s [ -s シェ㫠] "
diff --git a/po/nl.gmo b/po/nl.gmo
new file mode 100644
index 0000000..2c7f6bb
--- /dev/null
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..8d23c11
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,18072 @@
+# Dutch translations for the 'util-linux' Linux Utilities.
+# This file is distributed under the same license as the util-linux package.
+#
+# Permission is granted to freely copy and distribute this file
+# and modified versions, provided that this header is not removed
+# and modified versions are marked as such.
+#
+# "Under the spreading chestnut tree..."
+#
+# Woordgebruik:
+# block -> blok
+# sector -> sector
+# cylinder -> cilinder
+# volume -> volumen
+# (inode blijft onvertaald)
+#
+# Berichtvertalingen die met ### beginnen zijn in feite debug-meldingen
+# en de bijbehorende msgids zouden niet in dit bestand moeten voorkomen.
+#
+# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
+# Luk Claes <luk.claes@ugent.be>, 2005.
+# Taco Witte <tcwitte@cs.uu.nl>, 2002, 2003.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-2.22-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2012-08-30 21:20+0200\n"
+"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
+"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr " %s <schijfapparaat> <partitienummer> <begin> <lengte>\n"
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "kan %s niet openen"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+msgid "invalid partition number argument"
+msgstr "ongeldig partitienummer-argument"
+
+#: disk-utils/addpart.c:56
+msgid "invalid start argument"
+msgstr "ongeldig begin-argument"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+msgid "invalid length argument"
+msgstr "ongeldig lengte-argument"
+
+#: disk-utils/addpart.c:58
+msgid "failed to add partition"
+msgstr "toevoegen van partitie is mislukt"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "alleen-lezen instellen"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "lezen-en-schrijven instellen"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "schrijfstatus tonen"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr "ondersteuning voor weglaten van nullen tonen"
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "logische sectorgrootte tonen"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "fysieke sectorgrootte tonen"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "minimale in-/uitvoergrootte tonen"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "optimale in-/uitvoergrootte tonen"
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr "uitlijningspositie in bytes tonen"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "maximum aantal sectoren per verzoek tonen"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "blokgrootte tonen"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "blokgrootte instellen"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "32-bits-sectoraantal tonen (verouderd; gebruik '--getsz')"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "grootte in bytes tonen"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "vooruitlezing instellen"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "vooruitlezing tonen"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "vooruitlezing van bestandssysteem instellen"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "vooruitlezing van bestandssysteem tonen"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "buffers leegmaken"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "partitietabel opnieuw inlezen"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+"\n"
+"Gebruik: %1$s -V\n"
+" %1$s --report [apparaat...]\n"
+" %1$s [-v|-q] opdracht... apparaat...\n"
+"\n"
+"Beschikbare opdrachten:\n"
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr " %-25s grootte in 512-byte sectoren tonen\n"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr "kan apparaatgrootte niet achterhalen"
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr "Onbekende opdracht: %s"
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr "%s vereist een argument"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "'%s' is mislukt.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s is voltooid.\n"
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr "ioctl()-fout voor %s"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "Stat. RA SecGt BlkGt StartSector Grootte Apparaat\n"
+
+#: disk-utils/delpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr " %s <schijfapparaat> <partitienummer>\n"
+
+#: disk-utils/delpart.c:57
+msgid "failed to remove partition"
+msgstr "verwijderen van partitie is mislukt"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "Gebruik:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr " Opmerking: 'elvtune' werkt alleen met 2.4 kernels\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "ontbrekend blok-apparaat; gebruik '-h' voor hulp\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"'elvtune' is enkel nuttig op oudere kernels;\n"
+"gebruik voor versie 2.6 de IO-scheduler 'sysfs tunables'\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatteren... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "voltooid\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Controleren... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Gelezen: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Probleem bij lezen van cilinder %d; verwacht: %d, gelezen: %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Slechte gegevens in cilinder %d\n"
+"Doorgaan... "
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Gebruik: %s [opties] apparaat\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -n, --no-verify geen controle uitvoeren na het formatteren\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "'%s' uit %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, c-format
+msgid "stat failed %s"
+msgstr "opvragen van status van %s is mislukt"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr "%s: is geen blok-apparaat"
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr "kan bestand %s niet bereiken"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Kan huidige soort formattering niet achterhalen"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%szijdig, %d sporen, %d sectoren/spoor. Totale capaciteit %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Dubbel"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Enkel"
+
+#: disk-utils/fsck.c:191
+#, c-format
+msgid "%s is mounted\n"
+msgstr "%s is aangekoppeld\n"
+
+#: disk-utils/fsck.c:193
+#, c-format
+msgid "%s is not mounted\n"
+msgstr "%s is niet aangekoppeld\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr "lezen van %s is mislukt"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "ontledingsfout: %s"
+
+#: disk-utils/fsck.c:329
+#, c-format
+msgid "Locking disk %s ... "
+msgstr "Vergrendelen van schijf %s... "
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr "(wachten) "
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr "gelukt"
+
+#: disk-utils/fsck.c:349
+msgid "failed"
+msgstr "mislukt"
+
+#: disk-utils/fsck.c:386
+#, c-format
+msgid "failed to setup description for %s"
+msgstr "instellen van van omschrijving voor %s is mislukt"
+
+#: disk-utils/fsck.c:412
+#, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "%s: ontledingsfout op regel %d -- is genegeerd"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: ontleden van 'fstab'-bestand is mislukt"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, c-format
+msgid "%s: not found"
+msgstr "%s: niet gevonden"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "fork() is mislukt"
+
+#: disk-utils/fsck.c:617
+#, c-format
+msgid "%s: execute failed"
+msgstr "%s: uitvoeren is mislukt"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr "wait: Geen dochterprocessen meer?!?"
+
+#: disk-utils/fsck.c:708
+msgid "waidpid failed"
+msgstr "waitpid() is mislukt"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr "Waarschuwing... %s voor apparaat %s eindigde met signaal %d."
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr "%s %s: status is %x -- zou nooit mogen gebeuren."
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "Klaar met %s (afsluitwaarde %d)\n"
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "Fout %d tijdens uitvoeren van 'fsck.%s' voor %s"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+"Ofwel alle ofwel geen van de bestandssysteemsoorten bij optie '-t'\n"
+"dienen te beginnen met 'no' of '!'."
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+"%s: onjuiste regel in /etc/fstab wordt overgeslagen:\n"
+"een 'bind'-aankoppeling met een niet-nul fsck-volgnummer"
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: niet-bestaand apparaat wordt overgeslagen\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+"%s: niet-bestaand apparaat\n"
+"(optie \"nofail\" kan in fstab gebruikt worden om dit apparaat over te "
+"slaan)\n"
+
+#: disk-utils/fsck.c:1060
+#, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "%s: onbekende bestandssysteemsoort wordt overgeslagen\n"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "kan %s niet controleren: geen 'fsck.%s' gevonden"
+
+#: disk-utils/fsck.c:1168
+msgid "failed to allocate iterator"
+msgstr "reserveren van geheugen voor iterator is mislukt"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "Alle bestandssystemen worden gecontroleerd.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--wachten-- (stap %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+"\n"
+"Gebruik: %s [programmaopties] [bestandssysteemopties] [bestandssyteem...]\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+"\n"
+"Opties:\n"
+" -A alle bestandssystemen controleren\n"
+" -R het basisbestandssyteem overslaan (nuttig samen met '-A')\n"
+" -M aangekoppelde bestandssystemen niet controleren\n"
+" -t <soort> alleen deze bestandssysteemsoorten controleren;\n"
+" <soort> mag een kommagescheiden lijst zijn\n"
+" -P bestandssystemen parallel controleren, ook het basissysteem\n"
+" -r statistieken weergeven voor elke apparaatcontrole\n"
+" -s de 'fsck'-bewerkingen serialiseren\n"
+" -l het apparaat vergrendelen met flock()\n"
+" -N niets echt doen, alleen tonen wat er gedaan zou worden\n"
+" -T geen titel tonen bij de programmastart\n"
+" -C [<bd>] voortgangsbalk tonen; de bestandsdescriptor is voor GUI's\n"
+" -V weergeven wat er gedaan wordt\n"
+" -? deze hulptekst tonen en stoppen\n"
+"\n"
+"Zie de betreffende 'fsck.*'-opdrachten voor bestandssysteemopties."
+
+#: disk-utils/fsck.c:1354
+msgid "too many devices"
+msgstr "te veel apparaten"
+
+#: disk-utils/fsck.c:1366
+msgid "Is /proc mounted?"
+msgstr "Is /proc wel aangekoppeld?"
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr ""
+"U dient root te zijn om naar overeenkomende bestandssystemen te zoeken: %s"
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Kan geen overeenkomend bestandssysteem vinden: %s"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+msgid "too many arguments"
+msgstr "te veel argumenten"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr "optie '-l' is alleen geldig bij Ă©Ă©n apparaat -- genegeerd"
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, c-format
+msgid " %s [options] file\n"
+msgstr " %s [opties] <bestand>\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr " -x, --destination <map> extraheren naar deze map\n"
+
+#: disk-utils/fsck.cramfs.c:117
+msgid " -v, --verbose be more verbose\n"
+msgstr " -v, --verbose gedetailleerdere uitvoer produceren\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl() is mislukt: kan grootte van apparaat niet achterhalen: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "is geen blok-apparaat noch bestand: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "bestandslengte is te klein"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "lezen is mislukt: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "geen magisch getal van superblok gevonden"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "deze cramfs is %s\n"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr "big endian"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr "little endian"
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "niet-ondersteunde bestandssysteemfuncties"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "grootte (%d) van superblok is te klein"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "nul bestanden geteld"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr ""
+"Waarschuwing: bestand loopt door tot voorbij het einde van het "
+"bestandssysteem\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "Waarschuwing: oude cramfs-indeling\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "kan controlesom niet testen: oude cramfs-indeling"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "foutieve controlesom"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "hoofd-inode is geen map"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "foutieve positie (%lu) van hoofdmap"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "datablok is te groot"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "decompressiefout %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " gat op %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " decromprimeren van blok op %ld naar %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "geen blok (%ld bytes)"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "onjuiste grootte (%ld ipv %ld bytes)"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "schrijven is mislukt: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "'lchown' is mislukt: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "'chown' is mislukt: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "'utime' is mislukt: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "positie nul en niet-nul grootte van inode van map: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "'mkdir' is mislukt: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "lengte van bestandsnaam is nul"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "ongeldige lengte van bestandsnaam "
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "ongeldige inode-positie"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "bestands-inode heeft positie nul en niet-nul grootte"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "bestands-inode heeft grootte nul en niet-nul positie"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "symbolische koppeling heeft positie nul"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "symbolische koppeling heeft grootte nul"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "foutieve grootte in symbolische koppeling: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symbolische koppeling is mislukt: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "speciaal bestand heeft niet-nul positie: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "fifo heeft niet lengte nul: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "socket heeft niet lengte nul: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "ongeldige modus: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "'mknod' is mislukt: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+"begin van mapdata (%ld) is kleiner dan sizeof(struct cramfs_super) plus "
+"start (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "einde van mapdata (%ld) is ongelijk aan begin van bestandsdata (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "ongeldige positie van bestandsgegevens"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "gecompileerd zonder ondersteuning voor '-x'"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, c-format
+msgid " %s [options] <device>\n"
+msgstr " %s [opties] <apparaat>\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr " -l alle bestandsnamen tonen\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr " -a automatisch repareren\n"
+
+#: disk-utils/fsck.minix.c:198
+msgid " -r interactive repair\n"
+msgstr " -r interactief repareren\n"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr " -v gedetailleerde uitvoer produceren\n"
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr " -s informatie over superblok tonen\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr " -m melding geven wanneer modus niet gewist werd\n"
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr " -f controle afdwingen\n"
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr "%s (j/n)? "
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr "%s (n/j)? "
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr "j\n"
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr "n\n"
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s is aangekoppeld.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Wilt u echt doorgaan"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "De controle is afgebroken.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zonenummer < EERSTEZONE in bestand '%s'."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zonenummer >= ZONES in bestand '%s'."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Blok verwijderen"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Leesfout: kan geen 'seek' doen naar blok in bestand '%s'\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Leesfout: slecht blok in bestand '%s'\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"*Interne fout*: poging tot schrijven naar een slecht blok.\n"
+"Schrijfverzoek is genegeerd.\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "'seek' is mislukt in write_block()"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Schrijffout: slecht blok in bestand '%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "'seek' is mislukt in write_super_block()"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "kan superblok niet schrijven"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "kan inode-kaart niet schrijven"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "kan zone-kaart niet schrijven"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "kan inodes niet schrijven"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "'seek' is mislukt"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "reserveren van buffer voor superblok is mislukt"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "kan superblok niet lezen"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "ongeldig magisch getal in superblok"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Alleen blokken/zones van 1K zijn mogelijk"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "ongeldig 's_imap_blocks'-veld in superblok"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "ongeldig 's_zmap_blocks'-veld in superblok"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Kan geen buffer reserveren voor inode-kaart"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Kan geen buffer reserveren voor zone-kaart"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Kan geen buffer reserveren voor inodes"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Kan geen buffer reserveren voor inode-aantal"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Kan geen buffer reserveren voor zone-aantal"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Kan inode-kaart niet lezen"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Kan zone-kaart niet lezen"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Kan inodes niet lezen"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Waarschuwing: EersteZone != NormaleEersteZone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokken\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "EersteGegevensZone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "ZoneGrootte=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "MaxGrootte=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Bestandssysteemstatus=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"naamlengte=%zd\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"Inode %d is gemarkeerd als ongebruikt, maar wordt gebruikt door bestand "
+"'%s'.\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Markeren als gebruikt"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Het bestand '%s' heeft modus %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Waarschuwing: het aantal inodes is te groot.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "hoofd-inode is geen map"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Blok is al eerder gebruikt. Nu in bestand '%s'."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Wissen"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Blok %d in bestand '%s' is gemarkeerd als ongebruikt."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Corrigeren"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "De map '%s' bevat een ongeldig inode-nummer voor bestand '%.*s'."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Verwijderen"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: ongeldige map: '.' is niet eerste\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: ongeldige map: '..' is niet tweede\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "**interne programmafout**"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: ongeldige map: grootte < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "'seek' is mislukt in bad_zone()"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Modus van inode %lu is niet gewist."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inode %lu is ongebruikt, maar gemarkeerd als gebruikt in de bitkaart."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr ""
+"Inode %lu is gebruikt, maar niet als zodanig gemarkeerd in de bitkaart."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Markeren"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %lu (modus = %07o), i_nlinks=%d, geteld=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "i_nlinks op geteld aantal instellen"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zone %lu is gemarkeerd als in gebruik, maar geen bestand gebruikt het."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Markering verwijderen"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zone %lu: in gebruik, geteld=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zone %lu: niet in gebruik, geteld=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "ongeldige inode-grootte"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "ongeldige v2-inode-grootte"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "voor interactieve reparaties is een terminal vereist"
+
+#: disk-utils/fsck.minix.c:1305
+#, c-format
+msgid "cannot open %s: %s"
+msgstr "kan %s niet openen: %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s is schoon, geen controle.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Gedwongen bestandssysteemcontrole van %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Bestandssysteem op %s is vervuild, een controle is nodig.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes gebruikt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones gebruikt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d gewone bestanden\n"
+"%6d mappen\n"
+"%6d byte-apparaten\n"
+"%6d blok-apparaten\n"
+"%6d koppelingen\n"
+"%6d symbolische koppelingen\n"
+"------\n"
+"%6d bestanden\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"BESTANDSSYSTEEM IS VERANDERD\n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr "'seek'-fout in %s"
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr "leesfout in %s"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "aantal sectoren: %d, sectorgrootte: %d\n"
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+"\n"
+"Gebruik: %s [opties] ISO9660-bestand\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -d, --divisor=GETAL de lengte van het ISO-bestand door GETAL delen\n"
+" -x, --sectors het aantal sectoren en de sectorgrootte tonen\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr "ongeldige deler"
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Gebruik: %s [opties] apparaat [blokkenaantal]\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -N, --inodes=GETAL te gebruiken aantal inodes\n"
+" -V, --vname=NAAM te gebruiken volumennaam\n"
+" -F, --fname=NAAM te gebruiken bestandssysteemnaam\n"
+" -v, --verbose weergeven wat er gedaan wordt\n"
+" -c (deze optie wordt stilzwijgend genegeerd)\n"
+" -l (deze optie wordt stilzwijgend genegeerd)\n"
+" -V, --version programmaversie tonen en stoppen; hiervoor\n"
+" moet '-V' de enige optie zijn\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr "ongeldig aantal inodes"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "volumennaam is te lang"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "bestandssysteemnaam is te lang"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s is geen blok-apparaat"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr "ongeldige blokkenaantal"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "kan grootte van %s niet achterhalen"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "argument voor blokken is te groot -- maximum is %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "te veel inodes -- maximum is 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "niet genoeg ruimte: minstens %llu blokken nodig"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Apparaat: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volumen: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Bestandssysteemnaam: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blokgrootte: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inodes: %lu (in 1 blok)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inodes: %lu (in %llu blokken)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blokken: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode-einde: %d, Gegevenseinde: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "fout bij schrijven van superblok"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "fout bij schrijven van eerste inode"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "fout bij schrijven van inode"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "'seek'-fout"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "fout bij schrijven van .-item"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "fout bij schrijven van ..-item"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "fout bij sluiten van %s"
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Gebruik: %s [opties] [-t bestandssysteemsoort bestandssysteemopties]\n"
+" apparaat [grootte]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -t, --type=SOORT bestandssysteemsoort (wanneer niet gegeven: ext2) "
+"bs-opties argumenten voor de feitelijke bestandsysteemmaker\n"
+" apparaat pad naar een apparaat\n"
+" grootte aantal blokken op het apparaat\n"
+" -V, --verbose weergeven wat er gedaan wordt; meerdere '-"
+"V's veroorzaken een effectloos doen-alsof\n"
+" -V, --version programmaversie tonen en stoppen; hiervoor\n"
+" moet '-V' de enige optie zijn\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie mkfs(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"Gebruik: %s [-h] [-v] [-b blokgrootte] [-e editie] [-i bestand]\n"
+" [-N endian] [-n naam] mapnaam uitvoerbestand\n"
+"\n"
+" -h deze hulptekst tonen\n"
+" -v gedetailleerde uitvoer produceren\n"
+" -V programmaversie tonen\n"
+" -E van alle waarschuwingen fouten maken (met niet-nul "
+"afsluitwaarde)\n"
+"\n"
+" -b BLOKGROOTTE deze blokgrootte gebruiken; moet gelijk zijn aan "
+"paginagrootte\n"
+" -e EDITIE editienummer instellen (deel van bestandssysteem-ID)\n"
+" -i BESTAND een bestandsafbeelding invoegen in het bestandssysteem\n"
+" -N ENDIAN te gebruiken endianness (big|little|host; standaard is host)\n"
+" -n NAAM te gebruiken naam van 'cramfs'-bestandssysteem\n"
+" -p opvullen met %d bytes voor opstartcode\n"
+" -s (oude optie, wordt genegeerd) mapingangen sorteren\n"
+" -z expliciete gaten maken\n"
+"\n"
+" mapnaam = basismap van het in te pakken bestandssysteem\n"
+" uitvoerbestand = te gebruiken uitvoerbestand\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr "kan map %s niet lezen"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Erg lange bestandsnaam '%2$s' gevonden (%1$zu bytes);\n"
+"verhoog MAX_INPUT_NAMELEN in mkcramfs.c en hercompileer -- gestopt"
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr "bestandssysteem is te groot -- gestopt"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "OEPS: blok is \"gecomprimeerd\" tot > 2*bloklengte (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr "kan bestand %s niet sluiten"
+
+#: disk-utils/mkfs.cramfs.c:726
+msgid "invalid blocksize argument"
+msgstr "ongeldige blokgrootte"
+
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr "ontleden van editiewaarde is mislukt"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr "ongeldige endian-waarde; mag zijn 'big', 'little' of 'host'"
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"Waarschuwing: de geschatte benodigde grootte is %lld MB (bovengrens),\n"
+"maar de maximale afbeeldingsgrootte is %u MB.\n"
+"Dit gaat misschien niet lukken."
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "inlezen van ROM-afbeelding"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Ingevoegd: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Mapgegevens: %zd bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Alles: %zd kilobytes\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblok: %zd bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"er is niet genoeg ruimte gereserveerd voor ROM-afbeelding\n"
+"(%lld is gereserveerd, %zu gebruikt)"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "ROM-afbeelding"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "Schrijven van ROM-afbeelding is mislukt (%zd %zd)"
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "Waarschuwing: er zijn bestandsnamen afgekapt tot 255 bytes."
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr "Waarschuwing: er zijn bestanden overgeslagen vanwege fouten."
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr ""
+"Waarschuwing: er zijn bestandsgroottes afgekapt tot %lu MB (minus 1 byte)."
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"Waarschuwing: er zijn UID's afgekapt tot %u bits.\n"
+"(Dit kan een veiligheidsprobleem zijn.)"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"Waarschuwing: er zijn GID's afgekapt tot %u bits.\n"
+"(Dit kan een veiligheidsprobleem zijn.)"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"WAARSCHUWING: er zijn apparaatnummers afgekapt tot %u bits. Dit betekent\n"
+"zeer waarschijnlijk dat sommige apparaatbestanden niet juist zullen zijn."
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Gebruik: %s [-c | -l bestandsnaam] [-nXX] [-iXX] /dev/naam [blokken]"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s is aangekoppeld; zal hier geen bestandssysteem maken!"
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "%s: 'seek' naar opstartblok is mislukt in write_tables()"
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%s: kan opstartsector niet wissen"
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "%s: 'seek' is mislukt in write_tables()"
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr "%s: kan superblok niet schrijven"
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr "%s: schrijven van inode-kaart is mislukt"
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr "%s: schrijven van zone-kaart is mislukt"
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr "%s: schrijven van inodes is mislukt"
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s: 'seek' is mislukt in write_block()"
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr "%s: schrijven is mislukt in write_block()"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr "%s: te veel slechte blokken"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr "%s: onvoldoende goede blokken"
+
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "%s: reserveren van buffer voor superblok is mislukt"
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "%s: reserveren van buffers voor bitkaarten is mislukt"
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "%s: reserveren van buffer voor inodes is mislukt"
+
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr "%lu inodes\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr "%lu blokken\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"MaxGrootte=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "%s: 'seek' is mislukt tijdens testen van blokken"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr ""
+"Vreemde waarden in do_check(): waarschijnlijk een interne programmafout\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s: 'seek' is mislukt in check_blocks()"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"%s: slechte blokken vóór gegevensgebied: kan geen bestandssysteem maken"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d slechte blokken\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "Ă©Ă©n slecht blok\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s: kan slechteblokkenbestand niet openen"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "invoerfout in slechtbloknummer op regel %d\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s: kan slechteblokkenbestand niet lezen"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr "%s: ongeldige inode-grootte"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "fout in strtol(): aantal blokken niet aangegeven"
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr "%s: apparaat is onjuist uitgelijnd"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "blokgrootte is kleiner dan fysieke sectorgrootte van %s"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "kan grootte van %s niet achterhalen"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "zal niet proberen een bestandssysteem te maken op '%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr "%s: aantal blokken is te klein"
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Ongeldige door gebruiker aangegeven paginagrootte %u"
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"De opgegeven paginagrootte %d wordt gebruikt, in plaats van systeemwaarde %d"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+"Onjuiste grootte van kop van wisselgeheugen; er is geen label geschreven."
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr "Label is afgekapt."
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "geen label, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "geen UUID\n"
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+"\n"
+"Gebruik: %s [opties] apparaat [grootte]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -c, --check eerst op slechte blokken controleren\n"
+" -f, --force toestaan dat wisselgebied groter is dan apparaat\n"
+" -L, --label LABEL te gebruiken label\n"
+" -p, --pagesize GROOTTE te gebruiken paginagrootte (in bytes)\n"
+" -U, --uuid UUID te gebruiken UUID\n"
+" -v, --swapversion GETAL te gebruiken wisselgeheugenversie\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "te veel slechte pagina's"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "'seek' is mislukt in check_blocks()"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "Ă©Ă©n slechte pagina\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu slechte pagina's\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "onvoldoende geheugen beschikbaar voor nieuwe libblkid-sonde"
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr "kan apparaat niet aan libblkid-sonde toewijzen"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "terugspoelen van wisselgeheugenapparaat is mislukt"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "wissen van bootbits-sectoren is mislukt"
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s: waarschuwing: bootbits-sectoren niet wissen"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (%s-partitietabel gedetecteerd). "
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " op de gehele schijf. "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (gecompileerd zonder 'libblkid'). "
+
+#: disk-utils/mkswap.c:489
+msgid "parse page size failed"
+msgstr "ontleden van paginagrootte is mislukt"
+
+#: disk-utils/mkswap.c:495
+msgid "parse version number failed"
+msgstr "ontleden van versienummer is mislukt"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+"waarschuwing: optie '-U' wordt genegeerd\n"
+"(UUID's worden door %s niet ondersteund)"
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr "ondersteunt wisselgeheugenversie %d niet."
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "fout: kan UUID niet ontleden"
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr "fout: Nergens om wisselgeheugen op in te stellen?"
+
+#: disk-utils/mkswap.c:545
+msgid "invalid block count argument"
+msgstr "ongeldig blokkenaantal"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "fout: grootte %llu KiB is groter dan apparaatgrootte (%llu KiB)"
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "fout: wisselgeheugen moet minstens %ld KiB zijn"
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "waarschuwing: wisselgeheugen is afgekapt tot %llu KiB"
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "fout: %s is aangekoppeld; zal hier geen wisselgeheugen maken"
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr "Waarschuwing: %s is geen blok-apparaat"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Instellen van wisselgeheugen is mislukt: onleesbaar"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Instellen van wisselgeheugen, versie 1, grootte = %llu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: schrijven van vingerafdrukpagina is mislukt"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync() is mislukt"
+
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: kan geen SELinux-bestandslabel verkrijgen"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "kan uit het pad geen context bepalen"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "kan geen nieuwe SELinux-context aanmaken"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "kan geen nieuwe SELinux-context berekenen"
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr "kan %s niet herlabelen naar %s"
+
+#: disk-utils/partx.c:79
+msgid "partition number"
+msgstr "partitienummer"
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr "begin van de partitie (in sectoren)"
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr "einde van de partitie (in sectoren)"
+
+#: disk-utils/partx.c:82
+msgid "number of sectors"
+msgstr "aantal sectoren"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr "leesbare grootte"
+
+#: disk-utils/partx.c:84
+msgid "partition name"
+msgstr "partitienaam"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+msgid "partition UUID"
+msgstr "partitie-UUID"
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr "partitietabeltype (dos, gpt, ...)"
+
+#: disk-utils/partx.c:87
+msgid "partition flags"
+msgstr "partitievlaggen"
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr "partitietype (hex of UUID)"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+msgid "failed to initialize loopcxt"
+msgstr "initialiseren van 'loopcxt' is mislukt"
+
+#: disk-utils/partx.c:110
+#, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: kan geen ongebruikt lus-apparaat vinden"
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "Er wordt geprobeerd om '%s' als lus-apparaat te gebruiken\n"
+
+#: disk-utils/partx.c:118
+#, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: kan basisbestand niet instellen"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s: instellen van lus-apparaat is mislukt"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "onbekende kolom: %s"
+
+#: disk-utils/partx.c:200
+#, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s: kan partitienummer niet achterhalen"
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr "%s: fout bij verwijderen van partitie %d"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "%s: fout bij verwijderen van partities %d-%d"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr "gegeven bereik <%d:%d> is onzinnig"
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "%s: partitie #%d is verwijderd\n"
+
+#: disk-utils/partx.c:304
+#, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "%s: partitie #%d bestaat niet eens\n"
+
+#: disk-utils/partx.c:309
+#, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "%s: verwijderen van partitie #%d is mislukt"
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr "%s: fout bij toevoegen van partitie %d"
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "%s: fout bij toevoegen van partities %d-%d"
+
+#: disk-utils/partx.c:368
+#, c-format
+msgid "%s: partition #%d added\n"
+msgstr "%s: partitie #%d is toegevoegd\n"
+
+#: disk-utils/partx.c:373
+#, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s: toevoegen van partitie #%d is mislukt"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr "#%2d: %9ju-%9ju (%9ju sectoren, %6ju MB)\n"
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr "toevoegen van regel aan uitvoer is mislukt"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr "initialiseren van uitvoertabel is mislukt"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr "initialiseren van uitvoerkolom is mislukt"
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "initialiseren van blkid-filter voor '%s' is mislukt"
+
+#: disk-utils/partx.c:585
+#, c-format
+msgid "%s: failed to read partition table"
+msgstr "%s: lezen van partitietabel is mislukt"
+
+#: disk-utils/partx.c:591
+#, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr "%s: '%s'-partitietabel gedetecteerd\n"
+
+#: disk-utils/partx.c:595
+#, c-format
+msgid "%s: partition table with no partitions"
+msgstr "%s: partitietabel met nul partities"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr " %s [-a|-d|-s] [--nr <N:M> | <partitie>] <apparaat>\n"
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+"\n"
+"Beschikbare kolommen (voor '--show', '--raw' of '--pairs') zijn:\n"
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr "ontleden van bereik in '--nr <M-N>' is mislukt"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "<partitie> en optie '--nr' gaan niet samen"
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr "partitie: %s, schijf: %s, ondergrens: %d, bovengrens: %d\n"
+
+#: disk-utils/partx.c:829
+#, c-format
+msgid "%s: cannot delete partitions"
+msgstr "%s: kan partities niet verwijderen"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "%s: gepartitioneerde lus-apparaten worden niet ondersteund"
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "%s: initialiseren van blkid-sonde is mislukt"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+" %1$s %2$srawN <hoofdnummer> <subnummer>\n"
+" %1$s %2$srawN /dev/<blokapparaat>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr " -q, --query binding tonen in plaats van instellen\n"
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr " -a, --all alle bestaande 'raw'-apparaten langslopen\n"
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+"Apparaat '%s' is de 'raw'-besturing;\n"
+"(gebruik rawN, waar N groter is dan nul)"
+
+#: disk-utils/raw.c:178
+#, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Kan blok-apparaat '%s' niet lokaliseren"
+
+#: disk-utils/raw.c:181
+#, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Apparaat '%s' is geen blok-apparaat"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+msgid "failed to parse argument"
+msgstr "ontleden van argument is mislukt"
+
+#: disk-utils/raw.c:210
+#, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Kan hoofd-'raw'-apparaat '%s' niet openen"
+
+#: disk-utils/raw.c:225
+#, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "Kan 'raw'-apparaat '%s' niet lokaliseren"
+
+#: disk-utils/raw.c:228
+#, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "'raw'-apparaat '%s' is geen byte-apparaat"
+
+#: disk-utils/raw.c:232
+#, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "Apparaat '%s' is geen 'raw'-apparaat"
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr "Fout tijdens polsen van 'raw'-apparaat"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr "%sraw%d: gebonden aan hoofdnummer %d, subnummer %d\n"
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr "Fout bij instellen van 'raw'-apparaat"
+
+#: disk-utils/resizepart.c:18
+#, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr " %s <schijfapparaat> <partitienummer> <lengte>\n"
+
+#: disk-utils/resizepart.c:98
+#, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s: kan het begin van partitienummer %s niet achterhalen"
+
+#: disk-utils/resizepart.c:103
+msgid "failed to resize partition"
+msgstr "van grootte veranderen van partitie is mislukt"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr "%s: kan apparaat niet sonderen"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr "%s: onduidelijk sonderingsresultaat; gebruik wipefs(8)"
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: geen geldige wisselgeheugenpartitie"
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: niet-ondersteunde wisselgeheugenversie '%s'"
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr "ontleden van UUID '%s' is mislukt"
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: 'seek' naar wisselgeheugen-UUID is mislukt"
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: schrijven van wisselgeheugen-UUID is mislukt"
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: 'seek' naar wisselgeheugenlabel is mislukt"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr "label is te lang; wordt afgekapt tot '%s'"
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr "%s: schrijven van label is mislukt"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+" -L, --label <label> te gebruiken nieuw label\n"
+" -U, --uuid <UUID> te gebruiken nieuwe UUID\n"
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "optie '-U' wordt genegeerd (UUID's worden niet ondersteund)"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Onvoldoende geheugen beschikbaar!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "[onbruikbaar]"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "vrije ruimte"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "De schijf is veranderd.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Herstart het systeem om er zeker van te zijn dat de juiste partitietabel "
+"wordt gezien.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"WAARSCHUWING: Als u DOS-6.x-partities gemaakt of gewijzigd hebt,\n"
+"raadpleeg dan het cfdisk-handboek voor meer informatie.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "FATALE FOUT"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Druk op een toets om cfdisk af te sluiten"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Kan geen 'seek' doen op schijf"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Kan schijf niet lezen"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Kan niet naar schijf schrijven"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Te veel partities"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Partitie begint vóór sector 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Partitie eindigt vóór sector 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Partitie begint na einde van schijf"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Partitie eindigt na einde van schijf"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "logische partities liggen niet in schijfvolgorde"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "logische partities overlappen"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "vergrote logische partities overlappen"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"**Interne programmafout** bij het maken van logische schijf zonder "
+"uitgebreide partitie"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Kan hier geen logische schijf maken -- zou twee uitgebreide partities maken"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menu-item is te lang. Menu ziet er misschien raar uit."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Ongeldige toets"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Druk op een toets om verder te gaan"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primair"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "P = een nieuwe primaire partitie maken"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logisch"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "L = een nieuwe logische partitie maken"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "annuleren"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Esc,Esc = Geen partitie maken"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "**Interne programmafout**"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Grootte (in MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Begin"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "B = partitie toevoegen aan begin van vrije ruimte"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Einde"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "E = Partitie toevoegen aan einde van vrije ruimte"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Er is geen ruimte om de uitgebreide partitie te maken"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Geen partitietabel aanwezig.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Geen partitietabel aanwezig. Gestart met een lege tabel."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Onjuiste vingerafdruk in partitietabel"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Onbekend partitietabeltype"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Wilt u met een lege tabel beginnen? [j/N]"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "U hebt meer cilinders aangegeven dan er op de schijf passen"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Kan schijf niet openen"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+"Schijf is als alleen-lezen geopend -- u hebt geen toegangsrechten om te "
+"schrijven"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Waarschuwing!! Niet-ondersteunde GPT (GUID-partitietabel) gevonden!\n"
+"Gebruik GNU 'parted'."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Kan schijfgrootte niet achterhalen"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Ongeldige primaire partitie"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Ongeldige logische partitie"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Waarschuwing!! Dit kan gegevens op uw schijf wissen!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Weet u zeker dat u de partitietabel naar schijf wilt schrijven? (ja of nee): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "nee"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Partitietabel is NIET naar schijf geschreven."
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "ja"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Antwoord met 'ja' of 'nee'."
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Schrijven van partitietabel naar schijf..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "De partitietabel is naar schijf geschreven."
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Partitietabel is geschreven, maar opnieuw inlezen is mislukt.\n"
+"Draai partprobe(8) of kpartx(8), of herstart uw systeem om de\n"
+"juiste tabel te gebruiken."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Er is geen primaire partitie als opstartbaar gemarkeerd. DOS MBR kan dit "
+"niet opstarten."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Meer dan Ă©Ă©n primaire partitie is als opstartbaar gemarkeerd. DOS MBR kan "
+"dit niet opstarten."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Geef een bestandsnaam op, of druk op Enter voor weergave op het scherm: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Schijf: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sector 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sector %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " [geen] "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primair"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logisch"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "[onbekend]"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "opst."
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "geen"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitietabel van %s:\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Eerste Laatste\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Type sector sector Plaats Lengte Bestandssysteem (ID) "
+"Vlag\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr ""
+" ----Begin----- ----Einde----- Aantal\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr ""
+" # Vlag Kop Sec Cil ID Kop Sec Cil Startsector sectoren\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ---- --- --- ---- ---- --- --- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Ruw"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "R = de tabel in ruwe-gegevensindeling weergeven"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sectoren"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "S = de tabel geordend op sectoren weergeven"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabel"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "T = gewoon de partitietabel weergeven"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Esc,Esc = tabel niet weergeven"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Hulpscherm voor cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Dit is cfdisk, een schijfpartitioneringsprogramma waarmee u op"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "uw harde schijf partities kunt maken, wijzigen of verwijderen."
+
+# Deze vertaling is met opzet leeg.
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr " "
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Opdracht Betekenis"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "-------- ---------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b 'opstartbaar'-vlag voor huidige partitie aan/uitzetten"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d huidige partitie verwijderen"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g cilinders, koppen, sectoren-per-spoor wijzigen;"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr ""
+" *waarschuwing*: deze optie dient alleen te worden gebruikt"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " door mensen die echt weten wat ze doen"
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h dit hulpscherm tonen"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m schijfgebruik van de huidige partitie maximaliseren;"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr ""
+" dit kan een partitie incompatibel maken met DOS, OS/2, ..."
+
+# Deze vertaling is met opzet leeg.
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " "
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n nieuwe partitie maken in de vrije ruimte"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p partitietabel weergeven op scherm of naar bestand;"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " er zijn verschillende opmaken waaruit u kunt kiezen:"
+
+# Deze vertaling is met opzet leeg.
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " "
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - ruwe gegevens (exact wat naar schijf zou worden geschreven)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - tabel geordend op sectoren"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - tabel in ruwe opmaak"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q programma afsluiten zonder de partitietabel te schrijven"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t bestandssysteemsoort wijzigen"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u gebruikte eenheid voor partitiegrootte wijzigen"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " (roteert door MB, sectoren en cilinders)"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W partitietabel naar schijf schrijven (moet met hoofdletter);"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr ""
+" omdat dit mogelijk gegevens op de schijf wist, dient u het"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " schrijven te bevestigen met 'ja' of te weigeren met 'nee'"
+
+# Deze vertaling is met opzet leeg.
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " "
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr " omhoog aanwijzer naar vorige partitie verplaatsen"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr " omlaag aanwijzer naar volgende partitie verplaatsen"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr " Ctrl-L het scherm opnieuw tekenen"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? dit hulpscherm tonen"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr ""
+"Opmerking: alle opdrachten kunnen zowel met hoofdletter als kleine letter"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "worden ingevoerd -- behalve W."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cilinders"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Cilindergeometrie wijzigen"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Koppen"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Koppengeometrie wijzigen"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Sectorgeometrie wijzigen"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Klaar"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Klaar met wijzigen van geometrie"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Geef het aantal cilinders: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Onjuiste waarde voor cilinders"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Geef het aantal koppen: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Onjuiste waarde voor koppen"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Geef het aantal sectoren per spoor: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Onjuiste waarde voor sectoren"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Geef het soort bestandssysteem: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Kan bestandssysteemsoort niet naar 'leeg' veranderen"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Kan bestandssysteemsoort niet naar 'uitgebreid' veranderen"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "?(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "onbekend (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Schijf: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Grootte: %lld bytes, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Grootte: %lld bytes, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Koppen: %d Sectoren per spoor: %d Cilinders: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Naam"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Vlag"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Part.type"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Bestandssysteem"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Label]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sectoren"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cilinders"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr "Grootte (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr "Grootte (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Er zijn geen verdere partities"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "opstartBaar"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "B = huidige partitie wel/niet als opstartbaar markeren"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "verwijDeren"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "D = deze partitie verwijderen"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometrie"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "G = schijfgeometrie wijzigen (alleen voor experts)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Hulp"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "H = hulpscherm tonen"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maximeren"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"M = schijfgebruik maximaliseren voor huidige partitie (alleen voor experts)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Nieuw"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "N = nieuwe partitie maken in de vrije ruimte"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "P:tonen"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "P = partitietabel weergeven (op het scherm of naar een bestand)"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Q:stoppen"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Q = programma afsluiten zonder partitietabel te schrijven"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "T:systeem"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "T = bestandssysteemsoort wijzigen (DOS, Linux, OS/2, ...)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "U:eenheid"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "U = weergave-eenheid wijzigen (MB, sectoren, cilinders)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "W:schrijven"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "W = partitietabel naar schijf schrijven (dit kan gegevens wissen)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Kan deze partitie niet opstartbaar maken"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Kan een lege partitie niet verwijderen"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Kan deze partitie niet maximaliseren"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Deze partitie is onbruikbaar"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Deze partitie is al in gebruik"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Kan het type van een lege partitie niet wijzigen"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Onjuiste opdracht"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Gebruik: %s [opties] apparaat interactief\n"
+" %s -P{r|s|t} [opties] apparaat partitietabel weergeven\n"
+" %s -v programmaversie tonen\n"
+"Opties:\n"
+"-a een pijl gebruiken in plaats van een inverse balk;\n"
+"-z met lege partitietabel starten, in plaats van deze van schijf te "
+"lezen;\n"
+"-c C -h K -s S andere waarden afdwingen voor het aantal cilinders,\n"
+" koppen en sectoren/spoor dan de kernel aangeeft.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+msgid "cannot parse number of cylinders"
+msgstr "kan aantal cilinders niet ontleden"
+
+#: fdisks/cfdisk.c:2789
+msgid "cannot parse number of heads"
+msgstr "kan aantal koppen niet ontleden"
+
+#: fdisks/cfdisk.c:2796
+msgid "cannot parse number of sectors"
+msgstr "kan aantal sectoren niet ontleden"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+" Er staat een geldig AIX-label op deze schijf.\n"
+" Helaas ondersteunt Linux deze schijven op dit moment niet.\n"
+" Toch wat advies:\n"
+" 1. Bij schrijven zal fdisk de inhoud ervan WISSEN.\n"
+" 2. Controleer of deze schijf ECHT NIET nog deel uitmaakt\n"
+" van een volumengroep -- anders wist u mogelijk de andere\n"
+" schijven ook, als er geen mirror is.\n"
+" 3. Haal, voordat u dit fysieke volumen wist, de schijf logisch\n"
+" uit uw AIX-machine. (Anders wordt u een AIXpert)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+" Sorry -- deze fdisk ondersteunt geen AIX-schijflabels.\n"
+" Als u partities van het DOS-type wilt toevoegen, maak dan\n"
+" eerst een nieuwe, lege DOS-partitietabel. (Gebruik 'o'.)\n"
+" WAARSCHUWING: Dit zal de huidige schijfinhoud wissen.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD-label voor apparaat: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Schrijven van schijflabel naar %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Eerste %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Laatste %s of +aantal of +aantalK of +aantalM"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s bevat geen schijflabel.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Wilt u een schijflabel maken? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partitie %s heeft ongeldige beginsector 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lezen van schijflabel van %s bij sector %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Er is geen *BSD-partitie op %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD-schijflabelopdracht (m voor hulp): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "type: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "type: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "schijf: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "label: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "opties:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " verwijderbaar"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " slechte_sectoren"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes/sector: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sectoren/spoor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "sporen/cilinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sectoren/cilinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilinders: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "tussenruimte: %d\n"
+
+# let op: komt vaker voor
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+# let op: komt vaker voor
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "overschakelen van kop: %ld\t# milliseconden\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "spoor-tot-spoor 'seek': %ld\t# milliseconden\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "schijfgegevens: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partities:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# begin einde grootte bsysteem [grtte blgrt cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "bytes/sector"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sectoren/spoor"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "sporen/cilinder"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cilinders"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sectoren/cilinder"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Moet <= sectoren/spoor * sporen/cilinder zijn.\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "tussenruimte"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "overschakelen van kop"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "spoor-tot-spoor 'seek'"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap overlapt met schijflabel!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap geĂŻnstalleerd op %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partitie (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Het maximum aantal partities is aangemaakt.\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Deze partitie bestaat al.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Waarschuwing: te veel partities (%d, maximum is %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Leegmaken van schijfbuffers...\n"
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr "wel/niet als opstartbaar instellen"
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr "wel/niet als alleen-lezen instellen"
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr "opstartbare partitie selecteren"
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr "aantal alternatieve cilinders wijzigen"
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr "een BSD-schijflabel bewerken"
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr "opstartbestand-item bewerken"
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr "begin van gegevens in een partitie verplaatsen"
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr "wel/niet als DOS-compatibel instellen"
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr "wel/niet als aankoppelbaar instellen"
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr "SGI-wisselgeheugenpartitie selecteren"
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr "aantal cilinders wijzigen"
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr "een partitie verwijderen"
+
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr "ruwe gegevens van partitietabel weergeven"
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr "aantal extra sectoren per cilinder wijzigen"
+
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr "uitgebreide partities weergeven"
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr "schijfgegevens bewerken"
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr "partitievolgorde repareren"
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr "een nieuw, leeg IRIX(SGI)-schijflabel maken"
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr "aantal koppen wijzigen"
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr "tussenruimtefactor wijzigen"
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr "schijf-ID wijzigen"
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr "bootstrap installeren"
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr "alle bekende partitietypen opsommen"
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr "dit menu tonen"
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr "een nieuwe partitie toevoegen"
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr "een nieuwe, lege DOS-partitietabel maken"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr "rotatiesnelheid wijzigen (rondjes per minuut)"
+
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr "de partitietabel weergeven"
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr "afsluiten zonder wijzigingen op te slaan"
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr "terug naar hoofdmenu"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr "een nieuw, leeg Sun-schijflabel maken"
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr "aantal sectoren per spoor wijzigen"
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr "complete schijflabel weergeven"
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr "systeem-ID van partitie wijzigen"
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr "eenheid van weergave/invoer wijzigen"
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr "de partitietabel controleren"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr "de tabel naar schijf schrijven en afsluiten"
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr "schijflabel naar schijf schrijven"
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr "extra functionaliteit (alleen voor experts)"
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr "BSD-partitie koppelen aan niet-BSD-partitie"
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr "aantal fysieke cilinders wijzigen"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+"Gebruik: %1$s [options] <schijf> partietabel wijzigen\n"
+" %1$s [options] -l <schijf> partitietabel(len) tonen\n"
+" %1$s -s <partitie> partitiegrootte(s) tonen in blokken\n"
+"\n"
+"Opties:\n"
+" -b <grootte> te gebruiken sectorgrootte (512, 1024, 2048 of 4096)\n"
+" -c[=<modus>] compatibiliteitsmodus; 'nondos' (standaard) of 'dos'\n"
+" -h deze hulptekst tonen\n"
+" -u[=<eenheid>] weergave-eenheden; 'sectors' (standaard) of 'cylinders'\n"
+" -v programmaversie tonen\n"
+" -C <getal> te gebruiken aantal cilinders\n"
+" -H <getal> te gebruiken aantal koppen\n"
+" -S <getal> te gebruiken aantal sectoren per spoor\n"
+"\n"
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr "kan %s niet lezen"
+
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr "kan geen 'seek' doen op %s"
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr "kan niet schrijven naar %s"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "ioctl(BLKGETSIZE) is mislukt op %s"
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr "fatale fout"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Opdracht Actie"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "U moet instellen:"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "koppen"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sectoren"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"U kunt dit doen vanuit het menu met extra functies.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " en "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"WAARSCHUWING: De grootte van deze schijf is %d,%d TB (%llu bytes).\n"
+"Een DOS-partitietabel is niet mogelijk op volumens die groter\n"
+"zijn dan %llu bytes (bij sectoren van %ld bytes).\n"
+"Gebruik GNU parted(1) en een GUID-partitietabel (GPT).\n"
+"\n"
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+"\n"
+"Op het apparaat is de logische sectorgrootte kleiner dan de fysieke.\n"
+"Uitlijning op een fysieke sectorgrens (of optimale in-/uitvoergrootte)\n"
+"wordt aangeraden, anders kunnen de prestaties er onder lijden.\n"
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"WAARSCHUWING: De DOS-compatibele modus wordt sterk ontraden.\n"
+" Schakel de modus uit met opdracht 'c'."
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+"\n"
+"WAARSCHUWING: De weergave-eenheid 'cilinders' wordt ontraden.\n"
+" Gebruik 'u' om de eenheid op 'sectoren' in te stellen.\n"
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr "Wilt u echt afsluiten? "
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Hex-code (typ L om alle codes te tonen): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, standaard %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Onbekend achtervoegsel: '%s'.\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"Mogelijk zijn: 10^N: KB (kilobyte), MB (Megabyte), GB (Gigabyte)\n"
+" 2^N: K (Kibibyte), M (Mebibyte), G (Gibibyte)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Standaardwaarde %u wordt gebruikt\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Waarde ligt buiten bereik.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Partitienummer"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Waarschuwing: partitie %d heeft een lege typeaanduiding\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Geselecteerde partitie is %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Er zijn nog geen partities gedefinieerd!\n"
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cilinder"
+msgstr[1] "cilinders"
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sector"
+msgstr[1] "sectoren"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr ""
+"Eenheid voor weergave/invoer is veranderd naar cilinders (VEROUDERD!)\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Eenheid voor weergave/invoer is veranderd naar sectoren\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "WAARSCHUWING: Partitie %d is een uitgebreide partitie\n"
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOS-compatibiliteit is aangezet (VEROUDERD!)\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-compatibiliteit is uitgezet\n"
+
+#: fdisks/fdisk.c:841
+#, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Partitie %d is verwijderd\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partitie %d bestaat nog niet!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Type 0 betekent op veel systemen 'vrije ruimte'\n"
+"(maar niet op Linux). Het is waarschijnlijk niet\n"
+"verstandig om partities te hebben van type 0.\n"
+"Een partitie verwijderen kan met de opdracht 'd'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"U kunt een gewone partitie niet veranderen in een uitgebreide of andersom.\n"
+"Verwijder de partitie eerst.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Overweeg om partitie 3 als Gehele Schijf (5) te laten, zoals\n"
+"SunOS/Solaris het verwacht en ook Linux het het liefst heeft.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Overweeg om partitie 9 als volumenkop (0) te laten, en\n"
+"partitie 11 als geheel volumen (6), zoals IRIX het verwacht.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Systeemtype van partitie %d is veranderd naar %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Systeemtype van partitie %d is onveranderd: %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"Partitie %d heeft verschillende fysieke/logische beginpunten (niet-Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fysiek=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logisch=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partitie %d heeft verschillende fysieke/logische eindpunten:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partitie %i eindigt niet op een cilindergrens.\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Partitie %i begint niet op een fysieke sectorgrens:\n"
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Schijf %s: %ld MB, %lld bytes"
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Schijf %s: %ld.%ld GB, %llu bytes"
+
+#: fdisks/fdisk.c:1007
+#, c-format
+msgid ", %llu sectors\n"
+msgstr ", %llu sectoren\n"
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d koppen, %llu sectoren/spoor, %llu cilinders\n"
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+"Eenheid = %s van %d * %ld = %ld bytes\n"
+"\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "Sectorgrootte (logischl/fysiek): %lu bytes / %lu bytes\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr "in-/uitvoergrootte (minimaal/optimaal): %lu bytes / %lu bytes\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "Uitlijningspositie: %lu bytes\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Er hoeft niets gedaan te worden. De ordening is al goed.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Voltooid.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Dit lijkt niet op een partitietabel.\n"
+"Waarschijnlijk koos u een verkeerd apparaat.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Opstart Begin Einde Blokken ID Systeem\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Apparaat"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partitietabel-items liggen niet in schijfvolgorde.\n"
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s: %d koppen, %llu sectoren, %llu cilinders\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr AF Kop Sec Cil Kop Sec Cil Begin Grootte ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Waarschuwing: partitie %d bevat sector 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partitie %d: kopnummer %d is groter dan maximum %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partitie %d: sectornummer %d is groter dan maximum %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partities %d: cilindernummer %d is groter dan maximum %llu\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+"Partitie %d: einde van vorige partitie in sectoren %d verschilt van totaal "
+"%d\n"
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Partitie %d van type %s en grootte %s is ingesteld\n"
+
+#: fdisks/fdisk.c:1355
+msgid "cannot write disk label"
+msgstr "kan schijflabel niet schrijven"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"De partitietabel is gewijzigd!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Aanroepen van ioctl() om partitietabel opnieuw in te lezen...\n"
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"WAARSCHUWING: Opnieuw inlezen van partitietabel is mislukt met fout %d: %m.\n"
+"De kernel gebruikt nog de oude tabel. De nieuwe tabel wordt alleen na\n"
+"opnieuw opstarten gebruikt, of na uitvoeren van partprobe(8) of kpartx(8).\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"WAARSCHUWING: Als u DOS-6.x-partities gemaakt of gewijzigd hebt,\n"
+"raadpleeg dan het fdisk-handboek voor meer informatie.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Fout bij sluiten van bestand\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Leegmaken van schijfbuffers...\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partitie %d heeft geen gegevensgebied\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Nieuw begin van gegevens"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Expertopdracht (m voor hulp): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Aantal cilinders"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Aantal koppen"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Aantal sectoren"
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Waarschuwing: sectorplaats wordt ingesteld voor DOS-compatibiliteit\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"Waarschuwing: GPT (GUID-partitietabel) gevonden op '%s'!\n"
+"Het programma 'fdisk' ondersteunt GPT niet. Gebruik GNU 'parted'.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "kan %s niet openen\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: onbekende opdracht\n"
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Welkom bij fdisk (%s).\n"
+"\n"
+"Wijzigingen worden alleen in het computergeheugen gemaakt,\n"
+"tot het moment dat u besluit ze naar schijf te schrijven.\n"
+"Wees voorzichtig vóór het gebruik van de schrijfopdracht.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "OSF/1-schijflabel gevonden op %s; overgegaan in schijflabelmodus.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Opdracht (m voor hulp): "
+
+#: fdisks/fdisk.c:1821
+msgid "invalid sector size argument"
+msgstr "ongeldige sectorgrootte"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+msgid "invalid cylinders argument"
+msgstr "ongeldig aantal cilinders"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+msgid "invalid heads argument"
+msgstr "ongeldig aantal koppen"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+msgid "invalid sectors argument"
+msgstr "ongeldig aantal sectoren"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Waarschuwing: optie '-b' (sectorgrootte instellen) dient met\n"
+"slechts Ă©Ă©n apparaat gebruikt te worden.\n"
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Let op: sectorgrootte is %ld (niet %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Schijf bevat geen herkende partitietabel\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Alle primaire partities zijn al gedefinieerd!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Ongeldige plaats in primaire uitgebreide partitie\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Waarschuwing: partities na #%d worden genegeerd.\n"
+"Ze zullen worden *verwijderd* als u deze partitietabel opslaat.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Waarschuwing: extra koppelingsverwijzer in partitietabel %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Waarschuwing: extra gegevens in partitietabel %d worden genegeerd\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "lege partitie (%d) wordt weggelaten\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Schijf-ID: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr "Aanmaken van een nieuw DOS-schijflabel met schijf-ID 0x%08x.\n"
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nieuw schijf-ID (huidige is 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Extra uitgebreide partitie %d wordt genegeerd.\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Waarschuwing: onjuiste optie 0x%04x van partitietabel %d zal\n"
+"worden gecorrigeerd bij het schrijven.\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"Partitie %d is al gedefinieerd. Verwijder deze eerst,\n"
+"en voeg hem dan opnieuw toe.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sector %llu is al gereserveerd\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Geen vrije sectoren beschikbaar\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Laatste %s, +%s of +grootte{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Logische partitie %d wordt toegevoegd.\n"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Waarschuwing: ongeldige start-van-gegevens in partitie %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Waarschuwing: partitie %d overlapt partitie %d\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Waarschuwing: partitie %d is leeg\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logische partitie %d ligt niet geheel binnen partitie %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Totaal aantal gereserveerde sectoren %llu is groter dan maximum %llu\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "Er resteren %lld niet-gereserveerde %ld-byte sectoren\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Alle primaire partities zijn in gebruik.\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+"Als u meer dan vier partities wilt maken, moet u eerst een\n"
+"primaire partitie vervangen door een uitgebreide partitie.\n"
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Alle logische partities zijn in gebruik.\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Een primaire partitie wordt toegevoegd.\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+"Partitietype:\n"
+" p primair (%d primair, %d uitgebreid, %d vrij)\n"
+"%s\n"
+"Kies (standaard is %c): "
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr " l logische partitie (5 of hoger)"
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr " e uitgebreide partitie"
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr "Standaardwaarde %c wordt gebruikt\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Ongeldig partitietype '%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+" Er staat een geldig Mac-label op deze schijf.\n"
+" Helaas ondersteunt 'fdisk' dit type label niet.\n"
+" Gebruik 'parted' om de partitietabel aan te passen.\n"
+" Toch wat advies:\n"
+" 1. Bij schrijven zal fdisk de inhoud ervan WISSEN.\n"
+" 2. Controleer dat deze schijf ECHT NIET nog deel uitmaakt\n"
+" van een volumengroep -- anders wist u mogelijk de andere\n"
+" schijven ook, als er geen mirror is.\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+" Sorry -- deze fdisk ondersteunt geen Mac-schijflabels.\n"
+" Als u partities van het DOS-type wilt toevoegen, maak dan\n"
+" eerst een nieuwe, lege DOS-partitietabel. (Gebruik 'o'.)\n"
+" WAARSCHUWING: Dit zal de huidige schijfinhoud wissen.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI ruw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volumen"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux wisselgeheugen"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Volgens 'MIPS Computer Systems' mag het label niet meer dan 512 bytes "
+"bevatten.\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "SGI-schijflabel gevonden met foutieve controlesom.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s (SGI-schijflabel): %d koppen, %llu sectoren\n"
+"%llu cilinders, %d fysieke cilinders\n"
+"%d extra sectoren/cilinder, tussenruimte %d:1\n"
+"%s\n"
+"Eenheid = %s van %d * %ld bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s (SGI-schijflabel): %d koppen, %llu sectoren, %llu cilinders\n"
+"Eenheid = %s van %d * %ld bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- Partities -----\n"
+"Pt# %*s Info Begin Einde Sectoren ID Systeem\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Opstartinfo -----\n"
+"Opstartbestand: %s\n"
+"----- Mapingangen -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sector%5u grootte%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Ongeldig opstartbestand!\n"
+" Het opstartbestand moet een absolute, niet-nul padnaam zijn,\n"
+" zoals \"/unix\" of \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+" Naam van opstartbestand is te lang: maximaal 16 bytes.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+" Opstartbestand moet een volledig aangegeven padnaam hebben.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+" Let op: er niet wordt gecontroleerd of het opstartbestand bestaat.\n"
+" SGI's standaard is \"/unix\" en voor backup \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Het huidige opstartbestand is: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Geef de naam van het nieuwe opstartbestand: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Opstartbestand blijft ongewijzigd.\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+" Opstartbestand is veranderd naar \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Er is meer dan Ă©Ă©n schijfingang aanwezig.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Geen partities gedefinieerd\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX houdt ervan dat partitie 11 de gehele schijf beslaat.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"De gehele-schijfpartitie moet beginnen bij blok 0,\n"
+"niet bij schijfblok %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"De gehele-schijfpartitie is slechts %d schijfblokken groot,\n"
+"maar de schijf is %d schijfblokken.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Partitie 11 zou de gehele schijf moeten beslaan.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partitie %d begint niet op een cilindergrens.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partitie %d eindigt niet op een cilindergrens.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "De partities %d en %d overlappen elkaar met %d sectoren.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Ongebruikt gat van %8u sectoren: sectoren %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"De opstartpartitie bestaat niet.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"De wisselgeheugenpartitie bestaat niet.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"De wisselgeheugenpartitie heeft geen soortaanduiding.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr " U hebt een ongebruikelijke naam gekozen voor het opstartbestand.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Sorry, alleen van niet-lege partities kunt u de soort wijzigen\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Het wordt sterk aangeraden om de partitie op plaats 0 van het soort\n"
+"'SGI volhdr' te laten zijn. IRIX vertrouwt hierop bij het opzoeken\n"
+"van programma's zoals 'sash' en 'fx'. Alleen het gehele-schijfdeel\n"
+"'SGI volumen' mag deze regel overtreden. Typ JA als u zeker weet\n"
+"dat u de soort van deze partitie wilt wijzigen.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "JA\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "U hebt een partitie-overlap op de schijf.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Poging tot het automatisch aanmaken van een gehele-schijfingang.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "De volledige schijf is al ingedeeld in partities.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "U hebt een partitie-overlap op de schijf. Los dit eerst op!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Het wordt sterk aangeraden om de elfde partitie de gehele schijf\n"
+"te laten beslaan en van het soort 'SGI volumen' te laten zijn.\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "U zult een partitie-overlap krijgen op de schijf. Los dit eerst op!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Laatste %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr "Aanmaken van een nieuw SGI-schijflabel.\n"
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "ioctl(HDIO_GETGEO) is mislukt op %s"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Waarschuwing: ioctl(BLKGETSIZE) is mislukt op %s.\n"
+"Cilindergeometriewaarde %llu wordt nu gebruikt.\n"
+"Deze waarde kan voor apparaten groter dan 33.8 GB afgekapt zijn.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tStart=%d\tLengte=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Er wordt geprobeerd reeds ingestelde partitieparameters te behouden.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "(niet-toegewezen)"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS wisselgeheugen"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Gehele schijf"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt-sectoren"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS gereserveerd"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raidautodetectie"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Sun-schijflabel gevonden met onjuiste controlesom.\n"
+"Waarschijnlijk zult u alle waarden in moeten stellen,\n"
+"zoals koppen, sectoren, cilinders en partities, of een\n"
+"verse label moeten maken (opdracht 's' in hoofdmenu).\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Sun-schijflabel gevonden met foutief versienummer [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Sun-schijflabel gevonden met foutief controlenummer [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Sun-schijflabel gevonden met foutief partitie-aantal [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Waarschuwing: onjuiste waardes dienen verbeterd te worden en\n"
+"zullen gecorrigeerd worden bij het wegschrijven ('w').\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "Aanmaken van een nieuw Sun-schijflabel.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sectoren/spoor"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partitie %d eindigt niet op een cilindergrens\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partitie %d overlapt met andere in sectoren %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Ongebruikt gat: sectoren 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Ongebruikt gat: sectoren %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Andere partities beslaan al de gehele schijf.\n"
+"Verwijder/verklein ze alvorens het opnieuw te proberen.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Het wordt sterk aangeraden om de derde partitie de gehele schijf\n"
+"te laten beslaan en van het soort 'Gehele schijf' te laten zijn.\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sector %d is al gereserveerd\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"U hebt met de derde partitie niet de gehele schijf ingenomen;\n"
+"uw waarde %d %s overlapt een andere partitie.\n"
+"Uw invoer is gewijzigd tot %d %s.\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Als u SunOS/Solaris-compatibiliteit wilt behouden, kunt u deze partitie "
+"beter\n"
+"als gehele schijf (5) laten, beginnend bij 0, met %u sectoren.\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Het wordt sterk aangeraden om de partitie op plaats 0 van het soort UFS-\n"
+"of EXT2FS-bestandssysteem of SunOS-wisselgeheugen te laten zijn. Op deze\n"
+"plaats Linux-wisselgeheugen neerzetten vernielt mogelijk uw partitietabel\n"
+"en opstartblok. Typ JA als u erg zeker bent dat u die partitie van type 82\n"
+"(Linux-wisselgeheugen) wilt laten zijn: "
+
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s (Sun-schijflabel): %u koppen, %llu sectoren, %d rpm\n"
+"%llu cilinders, %d alternatieve cilinders, %d fysieke cilinders\n"
+"%d extra sectoren/cilinder, tussenruimte %d:1\n"
+"Label-ID: %s\n"
+"Volumen-ID: %s\n"
+"Eenheid = %s van %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s (Sun-schijflabel): %u koppen, %llu sectoren, %llu cilinders\n"
+"Eenheid = %s van %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Optie Begin Einde Blokken ID Systeem\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Aantal alternatieve cilinders"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Extra sectoren per cilinder"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Tussenruimtefactor"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Rotatiesnelheid (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Aantal fysieke cilinders"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "leeg"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "uitgebreid"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS/exFAT"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX opstartbaar"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 opstartmanager"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 uitgeb. (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "verborgen FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostiek"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "verborgen FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "verborgen FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "verborgen HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "verborgen W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "verb. W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "verb. W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr "verborgen NTFS WinRE"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP opstart"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2de deel"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3de deel"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrack DM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD / SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure MultiBoot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "oude Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / oude Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux wisselgeheugen"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 verborgen C:"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux uitgebreid"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS volumenset"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernatie"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin opstart"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI-bestandssysteem"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI-wisselgeheugen"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "BootWizard verborgen"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris opstart"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT16 <32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "non-BS-gegevens"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS bestandssysteem"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC opstart"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS secundair"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware vmkcore"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "'seek'-fout op %s -- kan geen 'seek' doen naar %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "'seek'-fout: 0x%08x%08x verwacht, 0x%08x%08x gekregen\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "fout bij lezen van %s -- kan sector %lu niet lezen\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "fout bij schrijven naar %s -- kan sector %lu niet schrijven\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "kan partitionerings-bewaarbestand (%s) niet openen\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "fout bij schrijven naar %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "kan status van partitionerings-herstelbestand (%s) niet bepalen\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"partitionerings-herstelbestand heeft onjuiste grootte -- niet hersteld\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "kan partitionerings-herstelbestand (%s) niet openen\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "fout bij lezen van %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "kan apparaat %s niet openen om te schrijven\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "fout bij schrijven van sector %lu op %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Schijf %s: kan geometrie niet achterhalen\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Schijf %s: kan grootte niet achterhalen\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Waarschuwing: begin=%lu -- dit ziet er uit als een partitie\n"
+"in plaats van een gehele schijf. Hierop fdisk gebruiken is\n"
+"waarschijnlijk zinloos.\n"
+"(Gebruik de optie --force als u dit echt wilt doen.)\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Waarschuwing: ioctl(HDIO_GETGEO) zegt dat er %lu koppen zijn\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Waarschuwing: ioctl(HDIO_GETGEO) zegt dat er %lu sectoren zijn\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+"Waarschuwing: ioctl(BLKGETSIZE/HDIO_GETGEO) zegt dat er %lu cilinders zijn\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Waarschuwing: onwaarschijnlijk aantal sectoren (%lu) -- meestal hoogstens "
+"63.\n"
+"Dit zal problemen geven met alle software die C/K/S-adressering gebruikt.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Schijf %s: %lu cilinders, %lu koppen, %lu sectoren/spoor\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s van partitie %s heeft een onmogelijke waarde voor koppen: %lu (moet "
+"liggen tussen 0 en %lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s van partitie %s heeft een onmogelijke waarde voor sectoren: %lu (moet "
+"liggen tussen 1 en %lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s van partitie %s heeft een onmogelijke waarde voor cilinders: %lu (moet "
+"liggen tussen 0 en %lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Naam\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Herinlezen van partitietabel...\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Het opnieuw inlezen van de partitietabel is mislukt.\n"
+"Voer partprobe(8) of kpartx(8) uit, of herstart uw systeem nu,\n"
+"alvorens 'mkfs' te gebruiken.\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Fout bij sluiten van %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: die partitie bestaat niet\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "onbekende eenheid -- \"sectoren\" wordt gebruikt\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "onbeschikbare eenheid -- \"%s\" wordt gebruikt\n"
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Eenheden: cilinders van %lu bytes, blokken van 1024 bytes, tellend vanaf %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Apparaat Opst Begin Einde #cils #blokken ID Systeem\n"
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Eenheden: sectoren van 512 bytes, tellend vanaf %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Apparaat Opst Begin Einde #sectoren ID Systeem\n"
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Eenheden: blokken van 1024 bytes, tellend vanaf %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Apparaat Opst Begin Einde #blokken ID Systeem\n"
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Eenheden: 1MiB = 1024*1024 bytes, blokken van 1024 bytes, tellend vanaf %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Apparaat Ops Begin Einde MiB #blokken ID Systeem\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr " begin: (c,k,s) verwacht: (%ld,%ld,%ld) gevonden: (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr " einde: (c,k,s) verwacht: (%ld,%ld,%ld) gevonden: (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partitie eindigt op cilinder %ld, na het einde van de schijf\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Geen partities gevonden.\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Waarschuwing: het lijkt erop dat de partitietabel gemaakt is voor\n"
+" C/K/S=*/%ld/%ld (in plaats van voor %ld/%ld/%ld);\n"
+" dit overzicht neemt die eerste C/K/S-geometrie aan.\n"
+
+#: fdisks/sfdisk.c:1166
+msgid "no partition table present."
+msgstr "geen partitietabel aanwezig."
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr "vreemd: slechts %d partities gedefinieerd."
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"Waarschuwing: partitie %s heeft grootte 0, maar is niet gemarkeerd als leeg\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Waarschuwing: partitie %s heeft grootte 0 Ă©n is opstartbaar\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+"Waarschuwing: partitie %s heeft grootte 0 maar een niet-nul beginsector\n"
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "Waarschuwing: partitie %s valt niet binnen partitie %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Waarschuwing: partities %s en %s overlappen\n"
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Waarschuwing: partitie %s bevat een deel van de partitietabel (sector "
+"%llu),\n"
+"en zal deze vernielen als zij wordt gevuld\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Waarschuwing: partitie %s begint op sector 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr ""
+"Waarschuwing: partitie %s loopt door tot voorbij het einde van de schijf\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+"Waarschuwing: partitie %s heeft een grootte van %d,%d TB (%llu bytes)\n"
+"-- dit is groter dan de limiet van %llu bytes die geldt\n"
+"voor een DOS-partitietabel met %d-byte sectoren.\n"
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+"Waarschuwing: partitie %s begint op sector %llu (%d,%d TB bij %d-byte "
+"sectoren)\n"
+"-- dit is groter dan de limiet van %llu bytes die geldt voor een DOS-"
+"partitietabel.\n"
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Van de primaire partities kan er ten hoogste Ă©Ă©n uitgebreid zijn\n"
+"(onder Linux is dit echter geen probleem).\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Waarschuwing: partitie %s begint niet op een cilindergrens\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Waarschuwing: partitie %s eindigt niet op een cilindergrens\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Waarschuwing: meerdere primaire partities zijn gemarkeerd als opstartbaar.\n"
+"Voor LILO maakt dit niets uit, maar DOS MBR zal niet van deze schijf "
+"opstarten.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Waarschuwing: normaal gesproken kan men alleen van primaire\n"
+"partities opstarten. LILO negeert de 'opstartbaar'-vlag.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Waarschuwing: er is geen primaire partitie gemarkeerd als opstartbaar.\n"
+"Voor LILO maakt dit niets uit, maar DOS MBR zal niet van deze schijf "
+"opstarten.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "begin"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partitie %s: begin: (c,k,s) verwacht: (%ld,%ld,%ld) gevonden: (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "einde"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partitie %s: einde: (c,k,s) verwacht: (%ld,%ld,%ld) gevonden: (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partitie %s eindigt op cilinder %ld, na het einde van de schijf\n"
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Waarschuwing: begin van uitgebreide partitie is verschoven van %lld naar "
+"%lld.\n"
+"(Alleen voor weergave. De inhoud wordt niet gewijzigd.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Waarschuwing: uitgebreide partitie begint niet op een cilindergrens.\n"
+"DOS en Linux zullen de inhoud verschillend interpreteren.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "FOUT: sector %lu heeft geen MSDOS-vingerafdruk\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "te veel partities -- die na nummer (%ld) worden genegeerd\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "een boom van partities?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Disk Manager gedetecteerd; kan dit niet aan -- gestopt\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6-vingerafdruk gevonden -- gestopt\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "vreemd..., een uitgebreide partitie met grootte 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "vreemd..., een BSD-partitie met grootte 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr "%s: onbekend partitietabeltype\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "optie '-n' werd gegeven: er is niets gewijzigd\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Opslaan van oude sectoren is mislukt -- gestopt\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Schrijven van partitie op %s is mislukt\n"
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr "lange of incomplete invoerregel -- gestopt"
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "invoerfout: '=' verwacht na veld %s"
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "invoerfout: onverwacht teken %c na veld %s"
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr "invoer niet herkend: %s"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "getal is te groot\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "onbegrepen tekens na getal\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "geen ruimte voor partitiebeschrijver\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "kan omvattende uitgebreide partitie niet maken\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "te veel invoervelden\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Geen ruimte voor meer\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Onjuiste soort\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Waarschuwing: gegeven groote (%lu) is groter dan maximaal toegelaten grootte "
+"(%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Waarschuwing: lege partitie\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Waarschuwing: ongeldig partitiebegin (eerste mogelijkheid is %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "onbekende 'opstartbaar'-vlag -- kies '-' of '*'\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "een gedeeltelijke c,k,s-specificatie?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Uitgebreide partitie waar die niet verwacht werd\n"
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr "ongeldige invoer"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "te veel partities\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+" \n"
+"Invoer is in deze indeling (afwezige velden krijgen een standaardwaarde):\n"
+" <begin> <grootte> <soort [E,S,L,X,hex]> <opstartbaar [-,*]> <c,k,s> <c,k,"
+"s>\n"
+"Meestal hoeft u alleen <begin> en <grootte> te gebruiken (en mogelijk "
+"<soort>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"Gebruik:\n"
+
+#: fdisks/sfdisk.c:2368
+#, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr " %s [opties] [<apparaat>...]\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Opties:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+" -s, --show-size grootte van een partitie tonen\n"
+" -c, --id partitie-ID tonen of wijzigen\n"
+" --change-id ID wijzigen\n"
+" --print-id ID tonen\n"
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+" -l, --list partities van elk gegeven apparaat tonen\n"
+" -d, --dump idem, maar in een vorm die geschikt is als invoer\n"
+" -i, --increment dingen nummeren vanaf 1 in plaats van vanaf 0\n"
+" -u, --unit=<letter> te gebruiken eenheid; <letter> mag zijn: M (MB),\n"
+" B (blokken), C (cilinders), S (sectoren)\n"
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+" -1, --one-only (gereserveerde optie; doet momenteel niets)\n"
+" -T, --list-types de mogelijke partitiesoorten tonen\n"
+" -D, --DOS DOS-compatibel zijn (een beetje ruimte "
+"verspillen)\n"
+" -E, --DOS-extended DOS-extended-compatibel zijn\n"
+" -R, --re-read de partitietabel door de kernel laten herinlezen\n"
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+" -N <nummer> alleen de partitie met dit nummer wijzigen\n"
+" -n niet echt naar schijf schrijven, maar doen alsof\n"
+" -O <bestand> sectoren die overschreven worden opslaan in "
+"bestand\n"
+" -I <bestand> overschreven sectoren herstellen vanuit dit "
+"bestand\n"
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -V, --verify controleren dat de partities consistent zijn\n"
+" -v, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+
+#: fdisks/sfdisk.c:2393
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr ""
+"\n"
+"Gevaarlijke opties:\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+" -f, --force alle consistentiecontroles uitschakelen\n"
+" --no-reread voor herpartitioneren de partitietabel niet "
+"herlezen\n"
+" -L, --Linux niet klagen over dingen die irrelevant zijn voor "
+"Linux\n"
+" -q, --quiet waarschuwingen onderdrukken\n"
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g, --show-geometry de geometrie tonen die door de kernel aangegeven "
+"wordt\n"
+" -G, --show-pt-geometry de geometrie tonen die uit de partitietabel "
+"blijkt\n"
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -A, --activate[=<app>] de 'opstartbaar'-vlag inschakelen\n"
+" -U, --unhide[=<app>] partitie als onverborgen markeren\n"
+" -x, --show-extended uitgebreide partities volledig weergeven in "
+"uitvoer,\n"
+" of beschrijvers ervan verwachten in invoer\n"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+" --leave-last de laatste cilinder niet toewijzen\n"
+" --IBM hetzelfde als '--leave-last'\n"
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+" --in-order de partities zijn op volgorde\n"
+" --not-in-order de partities zijn niet op volgorde\n"
+" --inside-outer alle logische vallen binnen de buitenste "
+"uitgebreide\n"
+" --not-inside-outer niet alle logische binnen de buitenste "
+"uitgebreide\n"
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+" --nested elke partitie valt binnen een uitgebreide "
+"partitie\n"
+" --chained elke logische partitie valt binnen een "
+"uitgebreide\n"
+" --onesector geen enkele partitie valt binnen een andere\n"
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+"\n"
+"U kunt een andere dan de gevonden geometrie afdwingen met:\n"
+" -C, --cylinders=<getal> het aantal te gebruiken cilinders\n"
+" -H, --heads=<getal> het aantal te gebruiken koppen\n"
+" -S, --sectors=<getal> het aantal te gebruiken sectoren\n"
+"\n"
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Gebruik: "
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s apparaat actieve partities op apparaat weergeven\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s apparaat n1 n2 ... genoemde partities activeren, de rest de-activeren\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+"%s -An apparaat partitie n activeren, alle andere de-activeren\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"Waarschuwing: GPT (GUID-partitietabel) gevonden op '%s'!\n"
+"Het programma 'sfdisk' ondersteunt GPT niet. Gebruik GNU 'parted'.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Gebruik '--force' om deze controle over te slaan.\n"
+
+#: fdisks/sfdisk.c:2582
+msgid "no command?"
+msgstr "geen opdracht?"
+
+#: fdisks/sfdisk.c:2662
+msgid "invalid number of partitions argument"
+msgstr "ongeldig aantal partities"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "totaal: %llu blokken\n"
+
+#: fdisks/sfdisk.c:2795
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "Gebruik: sfdisk --print-id apparaat partitienummer"
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "Gebruik: sfdisk --change-id apparaat partitienummer ID"
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "Gebruik: sfdisk --id apparaat partitienummer [ID]"
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr "slechts Ă©Ă©n apparaat is mogelijk (behalve met '-l' of '-s')"
+
+#: fdisks/sfdisk.c:2832
+#, c-format
+msgid "cannot open %s read-write"
+msgstr "kan %s niet openen voor lezen-en-schrijven"
+
+#: fdisks/sfdisk.c:2834
+#, c-format
+msgid "cannot open %s for reading"
+msgstr "kan %s niet openen om te lezen"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilinders, %ld koppen, %ld sectoren/spoor\n"
+
+#: fdisks/sfdisk.c:2929
+#, c-format
+msgid "Cannot get size of %s"
+msgstr "kan grootte van %s niet opvragen"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "onjuiste 'opstartbaar'-vlag: 0x%x in plaats van 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Voltooid\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"U hebt %d actieve, primaire partities. Dit maakt niets uit voor LILO,\n"
+"maar DOS MBR start alleen op van een schijf met 1 actieve partitie.\n"
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "partitie %s heeft ID %x en is niet verborgen"
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr "Ongeldig ID %lx"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Deze schijf is op dit moment in gebruik.\n"
+
+#: fdisks/sfdisk.c:3154
+#, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Fatale fout: kan %s niet vinden"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Waarschuwing: %s is geen blok-apparaat\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Even controleren of iemand deze schijf nu gebruikt...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Deze schijf is in gebruik -- nu herpartitioneren is een slecht idee.\n"
+"Koppel eerst alle bestandssystemen af, en schakel met 'swapoff' alle\n"
+"wisselgeheugenpartities op deze schijf uit.\n"
+"Of gebruik optie '--no-reread' om deze controle te onderdrukken.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Gebruik --force om alle controles te negeren.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Oude situatie:\n"
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Partitie %d bestaat niet; kan deze dus niet veranderen!"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Nieuwe situatie:\n"
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Hmm... vreemde partities -- er is niets gewijzigd.\n"
+"(Als u dit echt wilt, kunt u --force gebruiken.)"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Hmm... vreemde partities -- misschien moet u Nee antwoorden.\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Bent u hiermee tevreden? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Wilt u dit naar de schijf schrijven? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr "Gestopt -- er is niets gewijzigd."
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Antwoord met 'y' (ja) of 'n' (nee) of 'q' (stoppen).\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"De nieuwe partitietabel is met succes weggeschreven.\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Als u een DOS-partitie gemaakt of gewijzigd hebt, bijvoorbeeld /dev/foo7,\n"
+"gebruik dan dd(1) om de eerste 512 bytes nul te maken:\n"
+" dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (zie man fdisk(8))\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr "\n"
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help deze hulptekst tonen en stoppen\n"
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version programmaversie tonen en stoppen\n"
+
+#: include/c.h:246
+#, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie %s.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, c-format
+msgid "write error"
+msgstr "schrijffout"
+
+#: include/optutils.h:76
+#, c-format
+msgid "%s: options "
+msgstr " %s [opties] "
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr "opties gaan niet samen."
+
+#: lib/pager.c:107
+#, c-format
+msgid "waitpid failed (%s)"
+msgstr "waitpid() is mislukt (%s)"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr "reserveren van geheugen voor processorenset is mislukt"
+
+#: lib/path.c:178
+#, c-format
+msgid "failed to parse CPU list %s"
+msgstr "ontleden van processorenlijst %s is mislukt"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "ontleden van processorenmasker %s is mislukt"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, c-format
+msgid " %s [options] [username]\n"
+msgstr " %s [opties] [<gebruikersnaam>]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr " -f, --full-name <naam> volledige, echte naam\n"
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr " -o, --office <kantoor> kantoor- of kamernummer\n"
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr " -p, --office-phone <nummer> telefoonnummer op het werk\n"
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr " -h, --home-phone <nummer> telefoonnummer thuis\n"
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr " -u, --help deze hulptekst tonen en stoppen\n"
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version programmaversie tonen en stoppen\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr "U bestaat niet, gebruiker %d."
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr "Gebruiker '%s' bestaat niet."
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr "kan alleen lokale items wijzigen"
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s is niet gerechtigd om de finger-informatie van %s te wijzigen"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Onbekende gebruikerscontext"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, c-format
+msgid "can't set default context for %s"
+msgstr "kan de standaardcontext voor %s niet instellen"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Wijzigen van finger-informatie voor %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger-informatie is niet gewijzigd.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "Kantoor"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "Kantoortelefoon"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "Thuistelefoon"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+msgid "Aborted."
+msgstr "Afgebroken."
+
+#: login-utils/chfn.c:383
+#, c-format
+msgid "field %s is too long"
+msgstr "veld %s is te lang"
+
+#: login-utils/chfn.c:385
+msgid "field is too long"
+msgstr "veld is te lang"
+
+#: login-utils/chfn.c:393
+#, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' is niet toegestaan"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' is niet toegestaan"
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: stuurtekens zijn niet toegestaan"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr "stuurtekens zijn niet toegestaan"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Finger-informatie is NIET gewijzigd. Probeer het later opnieuw.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger-informatie is gewijzigd.\n"
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell=<shell> te gebruiken login-shell\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr " -l, --list-shells een lijst van shells tonen en stoppen\n"
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr "kan alleen lokale items wijzigen"
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s is niet gerechtigd om de shell van %s te wijzigen"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"uitvoerende UID komt niet overeen met de UID van de gebruiker\n"
+"wiens gegevens worden gewijzigd -- shell-wijziging is geweigerd"
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "uw shell staat niet in %s -- shell-wijziging is geweigerd"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Wijzigen van standaard-shell voor %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Nieuwe shell"
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr "Shell is niet gewijzigd."
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"Functie setpwnam() is mislukt.\n"
+"Shell is NIET gewijzigd. Probeer het later opnieuw."
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell is gewijzigd.\n"
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr "shell moet een volledige padnaam zijn"
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr "'%s' bestaat niet"
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr "'%s' is niet uitvoerbaar"
+
+#: login-utils/chsh.c:321
+#, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Waarschuwing: '%s' staat niet in %s."
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+"'%s' staat niet in %s --\n"
+"gebruik '%s -l' om de lijst te zien"
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr "Geen bekende shells."
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"Gebruik: last [-#] [-f bestand] [-t tty] [-h hostnaam] [gebruiker ...]\n"
+
+#: login-utils/last.c:252
+#, c-format
+msgid "%s: mmap failed"
+msgstr "%s: mmap() is mislukt"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " nog ingelogd"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp begint %s"
+
+#: login-utils/last.c:431
+msgid "gethostname failed"
+msgstr "gethostname() is mislukt"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"onderbroken %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr "afgebroken na %u seconden"
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "FATAAL: kan tty niet heropenen: %m"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "FATAAL: %s is geen terminal"
+
+#: login-utils/login.c:308
+#, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "'chown' (%s, %lu, %lu) is mislukt: %m"
+
+#: login-utils/login.c:312
+#, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "'chmod' (%s, %u) is mislukt: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "FATAAL: slechte tty"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr "FATAAL: %s: wijzigen van toegangsrechten is mislukt: %m"
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Laatste keer ingelogd: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "vanaf %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "op %.*s\n"
+
+#: login-utils/login.c:553
+msgid "write lastlog failed"
+msgstr "schrijven van 'lastlog' is mislukt"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "INBELLEN OP %s DOOR %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT-LOGIN OP %s VANAF %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT-LOGIN OP %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN OP %s DOOR %s VANAF %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN OP %s DOOR %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "inlognaam: "
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "PAM-fout -- gestopt: %s"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Kan PAM niet initialiseren: %s"
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "INLOGPOGING %u IS MISLUKT VANAF %s VOOR %s -- %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Inloggegevens onjuist\n"
+"\n"
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "TE VEEL INLOGPOGINGEN (%u) VANAF %s VOOR %s -- %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "INLOGSESSIE IS MISLUKT VANAF %s VOOR %s -- %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Inloggegevens onjuist\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Sessie-instellingsprobleem -- gestopt"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Lege gebruikersnaam in %s:%d -- gestopt"
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "ioctl(TIOCSCTTY) is mislukt: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: optie '-h' kan alleen door root gebruikt worden\n"
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"Gebruik: login [-p] [-h host] [-H] [<gebruikersnaam>|-f <gebruikersnaam>]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Onjuiste gebruikersnaam '%s' in %s:%d -- gestopt"
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr "initialisatie van groepen is mislukt: %m"
+
+#: login-utils/login.c:1382
+msgid "setgid() failed"
+msgstr "setgid() is mislukt"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "U hebt nieuwe e-mail.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "U hebt e-mail.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() is mislukt"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, c-format
+msgid "%s: change directory failed"
+msgstr "%s: wijzigen van map is mislukt"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Ingelogd met home = '/'.\n"
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr "kan shell-script niet uitvoeren"
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr "geen shell"
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "%s: %s bevat ongeldige numerieke waarde: %s"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Wachtwoord: "
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr " %s <groep>\n"
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr "wie bent u?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+msgid "setgid failed"
+msgstr "setgid() is mislukt"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr "die groep bestaat niet"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr "toegang geweigerd"
+
+#: login-utils/newgrp.c:176
+msgid "setuid failed"
+msgstr "setuid() is mislukt"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "uitvoeren van '%s' is mislukt"
+
+#: login-utils/su.c:205
+#, c-format
+msgid "cannot not open session: %s"
+msgstr "kan sessie niet openen: %s"
+
+#: login-utils/su.c:215
+msgid "cannot create child process"
+msgstr "kan geen dochterproces starten"
+
+#: login-utils/su.c:227
+#, c-format
+msgid "cannot change directory to %s"
+msgstr "wijzigen van huidige map naar %s is mislukt"
+
+#: login-utils/su.c:232
+msgid "cannot block signals"
+msgstr "kan signalen niet blokkeren"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr "kan geen signaalverwerker instellen"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+"\n"
+"Sessie is beëindigd, shell wordt geëlimineerd..."
+
+#: login-utils/su.c:303
+#, c-format
+msgid " ...killed.\n"
+msgstr " ...is geëlimineerd.\n"
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr "onjuist wachtwoord"
+
+#: login-utils/su.c:485
+msgid "failed to set PATH"
+msgstr "instellen van PATH is mislukt"
+
+#: login-utils/su.c:558
+msgid "cannot set groups"
+msgstr "kan de groepen niet instellen"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "kan groeps-ID niet instellen"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "kan gebruikers-ID niet instellen"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Typ '%s --help' voor meer informatie.\n"
+
+#: login-utils/su.c:652
+#, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr " %s [opties] [-] [GEBRUIKER [<argument>...]]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+"\n"
+" De effectieve gebruikers-ID en groeps-ID wijzigen in die van GEBRUIKER.\n"
+" Een simpele - betekent -l. Als geen GEBRUIKER gegeven is, wordt root "
+"begrepen.\n"
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+" -, -l, --login van de shell een login-shell maken\n"
+" -c, --command COMMANDO een enkel COMMANDO naar de shell sturen met '-"
+"c'\n"
+" --session-command COMMANDO een enkel COMMANDO naar de shell sturen met '-"
+"c'\n"
+" en geen nieuwe sessie aanmaken\n"
+" -f, --fast '-f' aan de shell meegeven (voor 'csh' of "
+"'tcsh')\n"
+" -m, --preserve-environment de omgevingsvariabelen niet resetten\n"
+" -p hetzelfde als '-m'\n"
+" -s, --shell SHELL SHELL uitvoeren (als /etc/shells dit "
+"toestaat)\n"
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr "gebruiker %s bestaat niet"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr "ingeperkte shell %s wordt gebruikt"
+
+#: login-utils/su.c:808
+#, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "waarschuwing: kan map niet wijzigen in %s"
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: er is geen item voor root\n"
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr "%s: er is geen item voor root"
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr "%s: het rootwachtwoord is verknoeid"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr "Geef het rootwachtwoord voor onderhoud\n"
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr "Druk op Enter voor onderhoud"
+
+#: login-utils/sulogin.c:296
+#, c-format
+msgid "(or type Control-D to continue): "
+msgstr "(of druk op Ctrl-D om verder te gaan): "
+
+#: login-utils/sulogin.c:347
+msgid "change directory to system root failed"
+msgstr "wijzigen van huidige map naar systeemhoofdmap is mislukt"
+
+#: login-utils/sulogin.c:394
+msgid "setexeccon failed"
+msgstr "setexeccon() is mislukt"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, c-format
+msgid "%s: exec failed"
+msgstr "%s: exec() is mislukt"
+
+#: login-utils/sulogin.c:430
+msgid "tcgetattr failed"
+msgstr "tcgetattr() is mislukt"
+
+#: login-utils/sulogin.c:437
+msgid "tcsetattr failed"
+msgstr "tcsetattr() is mislukt"
+
+#: login-utils/sulogin.c:444
+#, c-format
+msgid " %s [options] [tty device]\n"
+msgstr " %s [opties] [<TTY-apparaat>]\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+" -p, --login-shell een login-shell starten\n"
+" -t, --timeout <seconden> maximum tijd om te wachten op invoer van "
+"wachtwoord\n"
+" (standaard: geen limiet)\n"
+" -e, --force wachtwoordbestanden direct bekijken als de "
+"functie\n"
+" getpwnam(3) faalt\n"
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr "ongeldige tijdslimiet"
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr "alleen root kan dit programma uitvoeren"
+
+#: login-utils/sulogin.c:529
+#, c-format
+msgid "%s: not a tty"
+msgstr "%s: is geen TTY"
+
+#: login-utils/sulogin.c:577
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "ioctl(TIOCSCTTY) is mislukt"
+
+#: login-utils/sulogin.c:586
+msgid "cannot open password database."
+msgstr "kan wachtwoordengegevensbank niet openen"
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: stat() is mislukt"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s: kan geen 'inotify'-wachter toevoegen"
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: kan geen 'inotify'-gebeurtenissen lezen"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr "Ongepast regeleinde in bestand -- gestopt."
+
+#: login-utils/utmpdump.c:286
+#, c-format
+msgid " %s [options] [filename]\n"
+msgstr " %s [opties] [<bestand>]\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+" -f, --follow toegevoegde gegevens tonen wanneer bestand groeit\n"
+" -r, --reverse gedumpte gegevens terugschrijven naar 'utmp'-bestand\n"
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr "het volgen van standaardinvoer wordt niet ondersteund"
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr "Utmp-ontdumping van %s\n"
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr "Utmp-dump van %s\n"
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+msgid "can't open temporary file"
+msgstr "kan tijdelijk bestand niet openen"
+
+#: login-utils/vipw.c:166
+#, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: aanmaken van een link naar %s is mislukt"
+
+#: login-utils/vipw.c:173
+#, c-format
+msgid "Can't get context for %s"
+msgstr "Kan context van %s niet achterhalen"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr "Kan context voor %s niet instellen"
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr "%s is ongewijzigd"
+
+#: login-utils/vipw.c:264
+msgid "cannot get lock"
+msgstr "kan vergrendeling niet verkrijgen"
+
+#: login-utils/vipw.c:291
+msgid "no changes made"
+msgstr "geen wijzigingen gemaakt"
+
+#: login-utils/vipw.c:300
+msgid "cannot chmod file"
+msgstr "kan modus van bestand niet wijzigen"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "U gebruikt schaduwgroepen op dit systeem.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "U gebruikt schaduwwachtwoorden op dit systeem.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Wilt u %s nu bewerken [y/n]? "
+
+#: misc-utils/cal.c:371
+msgid "illegal day value"
+msgstr "ongeldige waarde voor dag"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "onjuiste waarde voor dag; gebruik 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "onjuiste waarde voor maand; gebruik 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "onjuiste waarde voor jaar; gebruik 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr " %s [opties] [[[dag] maand] jaar]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+" -1, --one huidige maand tonen (standaard)\n"
+" -3, --three vorige, huidige en volgende maand tonen\n"
+" -s, --sunday zondag is eerste dag van de week\n"
+" -m, --monday maandag is eerste dag van de week\n"
+" -j, --julian Juliaanse datums weergeven\n"
+" -y, --year het hele huidige jaar tonen\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Gebruik: %s [+opmaak] [dag maand jaar]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Sint Tibs-dag"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+" %1$s [opties] LABEL=<label>\n"
+" %1$s [opties] UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "kan '%s' niet herleiden"
+
+#: misc-utils/findmnt.c:105
+msgid "source device"
+msgstr "bronapparaat "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr "aankoppelingspunt"
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr "bestandssysteemsoort"
+
+#: misc-utils/findmnt.c:108
+msgid "all mount options"
+msgstr "alle aankoppelingsopties"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr "VFS-specifieke aankoppelingsopties"
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr "bestandssysteemspecifieke aankoppelingsopties"
+
+#: misc-utils/findmnt.c:111
+msgid "filesystem label"
+msgstr "bestandssysteemlabel"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr "bestandssysteem-UUID"
+
+#: misc-utils/findmnt.c:113
+msgid "partition label"
+msgstr "partitielabel"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr "hoofd-:subapparaatnummer"
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr "actie gedetecteerd door '--poll'"
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr "oude aankoppelingsopties gedetecteerd door '--poll'"
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr "oud aankoppelingspunt gedetecteerd door '--poll'"
+
+#: misc-utils/findmnt.c:119
+msgid "filesystem size"
+msgstr "bestandssysteemgrootte"
+
+#: misc-utils/findmnt.c:120
+msgid "filesystem size available"
+msgstr "bestandssysteemgrootte (beschikbaar)"
+
+#: misc-utils/findmnt.c:121
+msgid "filesystem size used"
+msgstr "bestandssysteemgrootte (gebruikt)"
+
+#: misc-utils/findmnt.c:122
+msgid "filesystem use percentage"
+msgstr "bestandssysteemgebruik (percentage)"
+
+#: misc-utils/findmnt.c:123
+msgid "filesystem root"
+msgstr "bestandssysteemhoofdmap"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr "taak-ID"
+
+#: misc-utils/findmnt.c:298
+#, c-format
+msgid "unknown action: %s"
+msgstr "onbekende actie: %s"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr "aankoppeling"
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr "afkoppeling"
+
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr "heraankoppeling"
+
+#: misc-utils/findmnt.c:513
+msgid "move"
+msgstr "verplaatsing"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "onbekende tijd"
+
+#: misc-utils/findmnt.c:630
+#, c-format
+msgid "%s: parse error at line %d"
+msgstr "%s: ontledingsfout op regel %d"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+msgid "failed to initialize libmount table"
+msgstr "initialiseren van libmount-tabel is mislukt"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, c-format
+msgid "can't read %s"
+msgstr "kan %s niet lezen"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr "initialiseren van libmount-iterator is mislukt"
+
+#: misc-utils/findmnt.c:886
+msgid "failed to initialize libmount tabdiff"
+msgstr "initialiseren van libmount-tabelverschil is mislukt"
+
+#: misc-utils/findmnt.c:914
+msgid "poll() failed"
+msgstr "poll() is mislukt"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+" %1$s [opties]\n"
+" %1$s [opties] <apparaat> | <aankoppelingspunt>\n"
+" %1$s [opties] <apparaat> <aankoppelingspunt>\n"
+" %1$s [opties] [--source <apparaat>] [--target <aankoppelingspunt>]\n"
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+"\n"
+"Beschikbare kolommen:\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr "onbekende richting '%s'"
+
+#: misc-utils/findmnt.c:1196
+msgid "invalid TID argument"
+msgstr "ongeldig TID-argument"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+"optie '--poll' accepteert slechts Ă©Ă©n bestand, maar '--tab-file' geeft er "
+"meerdere"
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr "opties '--target' en '--source' gaan niet samen met andere argumenten"
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr "initialiseren van libmount-cache is mislukt"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr "kolom %s wordt gevraagd, maar '--poll' is niet gegeven"
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "lege optiereeks na optie '-l' of '--long'"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "onbekende shell na optie '-s' of '--shell'"
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" %1$s <optiereeks> <parameters>\n"
+" %1$s [opties] [--] <optiereeks> <parameters>\n"
+" %1$s [opties] -o|--options <optiereeks> [opties] [--] <parameters>\n"
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr " -a, --alternative lange opties met Ă©Ă©n '-' toestaan\n"
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help deze hulptekst tonen\n"
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=<optiereeks> te herkennen lange opties\n"
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name=<programmanaam> fouten rapporteren onder deze naam\n"
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=<optiereeks> te herkennen korte opties\n"
+
+#: misc-utils/getopt.c:328
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet foutrapportage van getopt(3) uitzetten\n"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output gewone uitvoer onderdrukken\n"
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell=<shell> aanhalingsconventies van deze shell "
+"gebruiken\n"
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr ""
+" -T, --test bepalen of dit een verbeterde getopt(1) is\n"
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unquoted de uitvoer niet aanhalen\n"
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version programmaversie tonen\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "ontbrekende optiereeks"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "*interne fout*; neem contact op met de auteur"
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: onbekend signaal %s\n"
+
+#: misc-utils/kill.c:244
+msgid "invalid sigval argument"
+msgstr "ongeldig signaalwaarde-argument"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: kan proces '%s' niet vinden\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: onbekend signaal %s; geldige signalen zijn:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Gebruik: %s [ -s signaal | -p ] [ -a ] PID...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ signaal ]\n"
+
+#: misc-utils/logger.c:88
+#, c-format
+msgid "unknown facility name: %s."
+msgstr "onbekende voorzieningsnaam in prioriteit: %s"
+
+#: misc-utils/logger.c:97
+#, c-format
+msgid "unknown priority name: %s."
+msgstr "onbekende prioriteitsnaam: %s"
+
+#: misc-utils/logger.c:107
+#, c-format
+msgid "openlog %s: pathname too long"
+msgstr "openlog %s: padnaam is te lang"
+
+#: misc-utils/logger.c:113
+#, c-format
+msgid "socket %s"
+msgstr "socket %s"
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr "verbinding %s"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "verbinden"
+
+#: misc-utils/logger.c:174
+#, c-format
+msgid " %s [options] [message]\n"
+msgstr " %s [opties] [<bericht>]\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -d, --udp UDP gebruiken (TCP is standaard)\n"
+" -i, --id het proces-ID ook vastleggen\n"
+" -f, --file <bestand> de inhoud van dit bestand loggen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+" -n, --server <naam> naar deze syslog-server op afstand schrijven\n"
+" -P, --port <nummer> deze UDP-poort gebruiken\n"
+" -p, --priority <prio> de te schrijven regels met deze prioriteit "
+"markeren\n"
+" -s, --stderr de regels ook naar standaardfoutuitvoer schrijven\n"
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+" -t, --tag <tekstje> elke regel labelen met dit tekstje\n"
+" -u, --socket <socket> naar deze Unix-socket schrijven\n"
+" -V, --version programmaversie tonen en stoppen\n"
+"\n"
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr "bestand %s"
+
+#: misc-utils/logger.c:261
+msgid "invalid port number argument"
+msgstr "ongeldig poortnummer-argument"
+
+#: misc-utils/look.c:370
+#, c-format
+msgid " %s [options] string [file]\n"
+msgstr " %s [opties] <tekenreeks> [<bestand>]\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --alternative een alternatief woordenboek gebruiken\n"
+" -d, --alphanum alleen alfanumerieke tekens vergelijken\n"
+" -f, --ignore-case verschil tussen hoofd- en kleine letters negeren\n"
+" -t, --terminate <teken> het teken dat een tekenreeks afsluit\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr "apparaatnaam"
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr "interne kernelapparaatnaam"
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr "waar het apparaat is aangekoppeld"
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr "bestandssysteemlabel"
+
+#: misc-utils/lsblk.c:119
+msgid "partition LABEL"
+msgstr "partitielabel"
+
+#: misc-utils/lsblk.c:122
+msgid "read-ahead of the device"
+msgstr "vooruitlezing van het apparaat"
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr "alleen-lezenapparaat"
+
+#: misc-utils/lsblk.c:124
+msgid "removable device"
+msgstr "verwijderbaar apparaat"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr "roterend apparaat"
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr "apparaat-ID"
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr "apparaatgrootte"
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr "apparaattoestand"
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr "gebruikersnaam"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr "groepsnaam"
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr "toegangsrechten van apparaat"
+
+#: misc-utils/lsblk.c:132
+msgid "alignment offset"
+msgstr "uitlijningspositie"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr "minimale in-/uitvoergrootte"
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr "optimale in-/uitvoergrootte"
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr "fysieke sectorgrootte"
+
+#: misc-utils/lsblk.c:136
+msgid "logical sector size"
+msgstr "logische sectorgrootte"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr "naam van in-/uitvoerscheduler"
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr "lengte van verzoekenrij"
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr "apparaattype"
+
+#: misc-utils/lsblk.c:140
+msgid "discard alignment offset"
+msgstr "uitlijningspositie verwerpen"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr "granulariteit verwerpen"
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr "maxbytes verwerpen"
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr "nullen verwerpen"
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr "uniek opslag-ID"
+
+#: misc-utils/lsblk.c:828
+#, c-format
+msgid "%s: failed to get device path"
+msgstr "%s: kan apparaatpad niet achterhalen"
+
+#: misc-utils/lsblk.c:835
+#, c-format
+msgid "%s: unknown device name"
+msgstr "%s: onbekende apparaatnaam"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "%s: initialiseren van 'sysfs'-verwerker is mislukt"
+
+#: misc-utils/lsblk.c:869
+#, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: verkrijgen van DM-naam is mislukt"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr "openen van apparatenmap in 'sysfs' is mislukt"
+
+#: misc-utils/lsblk.c:1081
+#, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: achterhalen van apparaatnummer van gehele schijf is mislukt"
+
+#: misc-utils/lsblk.c:1099
+#, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "componeren van 'sysfs'-pad voor '%s' is mislukt"
+
+#: misc-utils/lsblk.c:1106
+#, c-format
+msgid "%s: failed to read link"
+msgstr "%s: lezen van koppeling is mislukt"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, c-format
+msgid "failed to parse list '%s'"
+msgstr "ontleden van lijst '%s' is mislukt"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+"de lijst van uitgesloten apparaten is te lang (de limiet is %d apparaten)"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+"de lijst van ingesloten apparaten is te lang (de limiet is %d apparaten)"
+
+#: misc-utils/lsblk.c:1194
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr ""
+"\n"
+"Gebruik: %s [opties] [apparaat ...]\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr ""
+"\n"
+"Beschikbare kolommen (voor '--output') zijn:\n"
+
+#: misc-utils/lsblk.c:1231
+#, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "kan geen toegang krijgen tot 'sysfs'-map: %s"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr "opdracht van het proces dat de vergrendeling bezit"
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr "PID van het proces dat de vergrendeling bezit"
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr "soort vergrendeling: FL_FLOCK of FL_POSIX"
+
+#: misc-utils/lslocks.c:71
+msgid "size of the lock"
+msgstr "grootte van vergrendeling"
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr "toegangsmodus van vergrendeling"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr "verplichte toestand van vergrendeling: 0 (geen), 1 (ingesteld)"
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr "relatieve bytepositie van vergrendeling"
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr "eindpositie van vergrendeling"
+
+#: misc-utils/lslocks.c:76
+msgid "path of the locked file"
+msgstr "pad van het vergrendelde bestand"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "ontleden van PID is mislukt"
+
+#: misc-utils/lslocks.c:274
+msgid "(unknown)"
+msgstr "(onbekend)"
+
+#: misc-utils/lslocks.c:283
+msgid "failed to parse start"
+msgstr "ontleden van begin is mislukt"
+
+#: misc-utils/lslocks.c:290
+msgid "failed to parse end"
+msgstr "ontleden van einde is mislukt"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, c-format
+msgid " %s [options]\n"
+msgstr " %s [opties]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <pid> alleen vergrendelingen van dit proces tonen\n"
+" -o, --output <lijst> te tonen uitvoerkolommen\n"
+" -n, --noheadings geen kolomkoppen weergeven\n"
+" -r, --raw ruwe uitvoeropmaak gebruiken\n"
+" -u, --notruncate tekst binnen kolommen niet afkappen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+" -V, --version programmaversie tonen en stoppen\n"
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+msgid "invalid PID argument"
+msgstr "ongeldig PID-argument"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -f, --file=BESTAND dit bestand als cookie-seed gebruiken\n"
+" -v, --verbose vermelden wat er gedaan wordt\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%d bytes ontvangen van %s\n"
+
+#: misc-utils/mcookie.c:158
+#, c-format
+msgid "closing %s failed"
+msgstr "sluiten van %s is mislukt"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "lezen van symlink %s is mislukt"
+
+#: misc-utils/namei.c:370
+#, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s -- Bestand of map bestaat niet\n"
+
+#: misc-utils/namei.c:420
+#, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr " %s [opties] <padnaam>...\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+" -h, --help deze hulptekst tonen en stoppen\n"
+" -l, --long uitgebreide extra informatie tonen ('-m -o -v')\n"
+" -m, --modes de modus van elk bestand tonen\n"
+" -n, --nosymlinks symbolische koppelingen niet volgen\n"
+" -o, --owners namen van eigenaar en groep van elk bestand tonen\n"
+" -x, --mountpoints aankoppelingspunten markeren met een 'D'\n"
+" -v, --vertical bestandsmodus en eigenaarnamen verticaal uitlijnen\n"
+" -V, --version programmaversie tonen en stoppen\n"
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie namei(1).\n"
+
+#: misc-utils/namei.c:493
+msgid "pathname argument is missing"
+msgstr "padnaam-argument ontbreekt"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s: limiet op aantal symbolische koppelingen is overschreden"
+
+#: misc-utils/rename.c:54
+#, c-format
+msgid "renaming %s to %s failed"
+msgstr "hernoemen van %s tot %s is mislukt"
+
+#: misc-utils/rename.c:67
+#, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr " %s [opties] <expressie> <vervanging> <bestand>...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose vermelden wat er gedaan wordt\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -p, --pid <pad> pad naar PID-bestand\n"
+" -s, --socket <pad> pad naar socket\n"
+" -T, --timeout <tijd> maximale tijd van inactiviteit (in seconden)\n"
+" -k, --kill een draaiende uuidd-dienst elimineren\n"
+" -r, --random aanmaak van willekeurige UUID's testen\n"
+" -t, --time aanmaak van tijds-UUID's testen\n"
+" -n, --uuids <aantal> dit aantal UUID's genereren\n"
+" -P, --no-pid geen PID-bestand aanmaken\n"
+" -F, --no-fork niet tot achtergronddienst maken\n"
+" -S, --socket-activation geen luisterende socket aanmaken\n"
+" -d, --debug debugging-meldingen weergeven\n"
+" -q, --quiet geen meldingen geven\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "ongeldige argumenten"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "schrijven"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr "gelezen aantal"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "ongeldige antwoordlengte"
+
+#: misc-utils/uuidd.c:220
+#, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "Openen/aanmaken van %s is mislukt: %m\n"
+
+#: misc-utils/uuidd.c:235
+#, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "Vergrendelen van %s is mislukt: %m\n"
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Kan geen UNIX-stream-socket aanmaken: %m"
+
+#: misc-utils/uuidd.c:285
+#, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Kan UNIX-socket %s niet binden: %m\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "uuidd-dienst draait al onder PID %s\n"
+
+#: misc-utils/uuidd.c:334
+#, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Kan niet luisteren op UNIX-socket %s: %m\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr "Geen of te veel bestandsdescriptors ontvangen.\n"
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Fout tijdens lezen van cliënt; lengte = %d\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "bewerking %d, gegeven getal = %d\n"
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr "bewerking %d\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "Gegenereerde tijds-UUID: %s\n"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "Gegenereerde willekeurige UUID: %s\n"
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] "Gegenereerde tijds-UUID is %s, en %d opvolgende\n"
+msgstr[1] "Gegenereerde tijds-UUID is %s, en %d opvolgende\n"
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "Er is %d UUID gegenereerd:\n"
+msgstr[1] "Er zijn %d UUID's gegenereerd:\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Ongeldige bewerking %d\n"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "Onverwachte antwoordlengte (%d) van server"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Ongeldig getal: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr "'uuidd' is gecompileerd zonder ondersteuning voor socket-validering\n"
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr "Zowel '--pid' als '--no-pid' is gegeven; '--no-pid' wordt genegeerd.\n"
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+"Zowel '--socket-activation' als '--socket' is gegeven; '--socket' wordt "
+"genegeerd.\n"
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Fout bij aanroepen van uuidd-dienst (%s): %m\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "%s en %d opvolgende UUID\n"
+msgstr[1] "%s en %d opvolgende UUID's\n"
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr "Lijst van UUID's:\n"
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Kan uuidd met PID %d niet elimineren: %m\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "uuidd met PID %d is geëlimineerd\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -r, --random een totaal willekeurige UUID genereren\n"
+" -t, --time een op huidige tijd gebaseerde UUID genereren\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+" -b alleen naar programma's zoeken\n"
+" -B <mappen> te gebruiken zoekpad voor programma's\n"
+" -f <bestand> definitie van het zoekbereik\n"
+" -h deze hulptekst tonen en stoppen\n"
+" -m alleen naar handleidingen zoeken\n"
+" -M <mappen> te gebruiken zoekpad voor handleidingen\n"
+" -s alleen naar brontekstbestanden zoeken\n"
+" -S <mappen> te gebruiken zoekpad voor brontekstbestanden\n"
+" -u naar ongebruikelijke dingen zoeken\n"
+" -V programmaversie tonen en stoppen\n"
+"\n"
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+"Zie de whereis(1) handleiding voor het gebruik van <bestand> en <mappen>.\n"
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "fout: %s: initialisatie van sondering is mislukt"
+
+#: misc-utils/wipefs.c:292
+#, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: wissen van %s magische tekenreeks op positie 0x%08jx is mislukt"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+"%s: %zd bytes zijn gewist vanaf positie 0x%08jx (%s)\n"
+"deze bytes waren: "
+
+#: misc-utils/wipefs.c:344
+#, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "%s: positie 0x%jx is niet gevonden"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all alle magische tekenreeksen wissen (WEET WAT U DOET!)\n"
+" -h, --help deze hulptekst tonen\n"
+" -n, --no-act doen alsof: alles behalve het feitelijke schrijven\n"
+" -o, --offset GETAL startpositie voor wissen, in bytes\n"
+" -p, --parsable herbruikbare i.p.v. leesbare uitvoer produceren\n"
+" -q, --quiet geen uitvoerberichten produceren\n"
+" -t, --types LIJST alleen deze bestandssystemen, RAIDs of "
+"partitietabellen\n"
+" -V, --version programmaversie tonen en stoppen\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie wipefs(8).\n"
+
+#: misc-utils/wipefs.c:425
+msgid "invalid offset argument"
+msgstr "ongeldig positie-argument"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "waarschuwing: fout bij lezen van %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "waarschuwing: kan %s niet openen: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: kan %s niet openen -- %s wordt gebruikt\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"kan vergrendelingsbestand %s niet aanmaken: %s (gebruik optie '-n' om te "
+"forceren)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"kan vergrendelingsbestand %s niet koppelen: %s (gebruik optie '-n' om te "
+"forceren)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"kan vergrendelingsbestand %s niet openen: %s (gebruik optie '-n' om te "
+"forceren)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "kan vergrendelingsbestand %s niet vergrendelen: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "kan vergrendelingsbestand %s niet vergrendelen: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "duurde te lang"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Kan koppeling %s niet maken.\n"
+"Mogelijk is er nog een oud vergrendelingsbestand?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "kan %s niet openen (%s) -- mtab is niet bijgewerkt"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "fout bij schrijven van %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: kan wijzigingen niet wegschrijven: %s"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "fout bij wijzigen van modus van %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "fout bij wijzigen van eigenaar van %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "kan %s niet hernoemen tot %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount: Waarschuwing: /etc/mtab is niet schrijfbaar (mogelijk wegens een\n"
+" alleen-lezen bestandssysteem). Het kan dus zijn dat de informatie\n"
+" gerapporteerd door mount(8) niet correct is. Zie voor actuele\n"
+" info over aankoppelingspunten het bestand '/proc/mounts'.\n"
+"\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: onjuist aangehaalde tekenreeks '%s'"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: argument van %s is vertaald van '%s' naar '%s'\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+"mount: SELinux-opties '*context=' worden genegeerd bij heraankoppelen.\n"
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: volgens 'mtab' is %s al aangekoppeld op %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: volgens 'mtab' is %s aangekoppeld op %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: kan %s niet openen om te schrijven: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: fout bij schrijven van %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: fout bij wijzigen van modus van %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: kan groeps-ID niet instellen: %m"
+
+#: mount-deprecated/mount.c:813
+#, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: kan gebruikers-ID niet instellen: %m"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: kan geen nieuw proces starten: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "soort %s wordt geprobeerd\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: U gaf geen bestandssysteemsoort aan voor %s;\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " alle soorten genoemd in %s of %s worden geprobeerd\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " het lijkt erop dat dit wisselgeheugen is\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " soort %s wordt geprobeerd\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ziet er uit als wisselgeheugen -- niet aangekoppeld"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+"mount: %s: er zijn meerdere bestandssystemen gedetecteerd.\n"
+" Dit zou niet mogen gebeuren. Gebruik '-t SOORT' om expliciet de\n"
+" bestandssysteemsoort aan te geven, of gebruik wipefs(8) om het\n"
+" apparaat op te schonen.\n"
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "aankoppelen is mislukt"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: alleen root kan %s aankoppelen op %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: lus-apparaat is twee keer aangegeven"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: soort is twee keer aangegeven"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: instellen van lus-apparaat wordt overgeslagen\n"
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: lus-apparaatvlag 'autoclear' wordt ingeschakeld\n"
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "mount: ongeldige positie '%s' opgegeven"
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "mount: ongeldige groottegrens '%s' opgegeven"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: volgens 'mtab' is %s al als lus-apparaat aangekoppeld op %s"
+
+#: mount-deprecated/mount.c:1314
+msgid "mount: couldn't lock into memory"
+msgstr "mount: kan pagina's niet vastzetten in het geheugen"
+
+#: mount-deprecated/mount.c:1334
+msgid "mount: failed to found free loop device"
+msgstr "mount: kan geen vrij lus-apparaat vinden"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: lus-apparaat %s zal worden gebruikt\n"
+
+#: mount-deprecated/mount.c:1353
+#, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: %s: instellen van eigenschappen van lus-apparaat is mislukt"
+
+#: mount-deprecated/mount.c:1364
+#, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: %s: instellen van lus-apparaat is mislukt: %m"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+"mount: lus-apparaat %s is door ander proces afgepakt; ... nieuwe poging\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: lus-apparaat %s is door ander proces afgepakt"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: lus-apparaat is met succes ingesteld\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: geen %s gevonden -- wordt nu aangemaakt...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argument van '-p' of '--pass-fd' moet een getal zijn"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: kan %s niet openen om snelheid in te stellen"
+
+#: mount-deprecated/mount.c:1473
+#, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: kan snelheid niet instellen: %m"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: volgens 'mtab' is %s al aangekoppeld op %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "mount: Waarschuwing: %s schijnt aangekoppeld als lezen-en-schrijven\n"
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "mount: Waarschuwing: %s schijnt aangekoppeld als alleen-lezen\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount: kan bestandssysteemsoort niet bepalen, en er is geen aangegeven"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: u moet een bestandssysteemsoort aangeven"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: aankoppelen is mislukt"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: aankoppelingspunt %s is geen map"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: toegang geweigerd"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: u moet root zijn om aan te kunnen koppelen"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s is bezig"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc is al aangekoppeld"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s is al aangekoppeld of %s is bezig"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: aankoppelingspunt %s bestaat niet"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+"mount: aankoppelingspunt %s is een symbolische koppeling die nergens naar "
+"wijst"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: apparaat %s bestaat niet"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: apparaat %s bestaat niet (het pad bevat iets dat geen map is)\n"
+
+#: mount-deprecated/mount.c:1756
+#, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s is nog niet aangekoppeld, of een ongeldige optie"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: onjuiste bestandssysteemsoort, ongeldige optie, ontbrekende "
+"codepagina,\n"
+" ontbrekend hulpprogramma, slecht superblok op %s, of een andere fout"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (voor sommige bestandssystemen (bijvoorbeeld nfs of cifs) kan\n"
+" een /sbin/mount.<type> hulpprogramma nodig zijn)"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (is dit misschien een IDE-apparaat waar u in feite ide-scsi "
+"gebruikt,\n"
+" zodat sr0 of sda of iets dergelijks nodig is?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (probeert u misschien een uitgebreide partitie aan te koppelen,\n"
+" in plaats van een daarin opgenomen logische partitie?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Soms staat er nuttige informatie in het systeemlog --\n"
+" probeer zoiets als: dmesg | tail\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "aankoppelingstabel is vol"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: kan superblok niet lezen"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: onbekend apparaat"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: onbekende bestandssysteemsoort '%s'"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: waarschijnlijk bedoelde u %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: mogelijk bedoelde u 'iso9660'?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: mogelijk bedoelde u 'vfat'?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s heeft onjuist apparaatnummer, of bestandssysteemsoort %s wordt "
+"niet ondersteund"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s is geen blok-apparaat, en stat() is mislukt... heel vreemd"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: de kernel herkent %s niet als een blok-apparaat\n"
+" (misschien is 'modprobe stuurprogramma' nodig?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s is geen blok-apparaat (misschien '-o loop' proberen?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s is geen blok-apparaat"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s is geen geldig blok-apparaat"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "blok-apparaat "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: kan %s%s niet aankoppelen voor alleen-lezen"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s is schrijfbeveiligd, maar expliciete optie '-w' is gegeven"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+"mount: kan %s%s niet heraankoppelen als lezen-en-schrijven, want is "
+"schrijfbeveiligd"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s is schrijfbeveiligd en wordt als alleen-lezen aangekoppeld"
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: geen medium gevonden op %s"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+"mount: %s bevat geen SELinux-labels.\n"
+" U hebt zojuist op een SELinux-computer een bestandssysteem aangekoppeld "
+"dat\n"
+" labels ondersteunt maar er geen bevat. Waarschijnlijk zullen "
+"ingeperkte\n"
+" programma's AVC-berichten genereren en geen toegang tot dit "
+"bestandssysteem\n"
+" kunnen krijgen. Voor meer details zie restorecon(8) en mount(8).\n"
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: geen soort gegeven -- NFS aangenomen, vanwege de dubbele punt\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: geen soort gegeven -- CIFS aangenomen, vanwege het //-voorvoegsel\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr "mount: %s wordt genegeerd (onbegrepen optie 'offset=')\n"
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s is al aangekoppeld op %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Gebruik: mount : aangekoppelde bestandssystemen tonen\n"
+" mount -l : idem, inclusief volumenlabels\n"
+" mount -h : deze hulptekst tonen\n"
+" mount -V : programmaversie tonen\n"
+"\n"
+"Tot zover het deel dat informatie weergeeft. Nu het aankoppelen.\n"
+"De algemene vorm is: 'mount [-t bestandssysteemsoort] iets ergens'.\n"
+"Details die in /etc/fstab staan kunnen worden weggelaten.\n"
+" mount -a [-t|-O] : alles in /etc/fstab aankoppelen\n"
+" mount apparaat : apparaat aankoppelen op de bekende plaats\n"
+" mount map : bekend apparaat hier aankoppelen\n"
+" mount -t soort apparaat map : volledige mount-opdracht\n"
+"Merk op dat men niet echt een apparaat aankoppelt, maar het bestandssysteem\n"
+"(van de gegeven soort) dat zich op dat apparaat bevindt.\n"
+"\n"
+"Men kan ook een reeds zichtbare mappenboom ergens anders aankoppelen:\n"
+" mount --bind oudemap nieuwemap\n"
+"of een subboom verplaatsen:\n"
+" mount --move oudemap nieuwemap\n"
+"Men kan van een aankoppeling de soort veranderen, als 'map' erin voorkomt:\n"
+" mount --make-shared map\n"
+" mount --make-slave map\n"
+" mount --make-private map\n"
+" mount --make-unbindable map\n"
+"Men kan van alle aankoppelingen in een subboom de soort veranderen,\n"
+"als 'map' erin voorkomt:\n"
+" mount --make-rshared map\n"
+" mount --make-rslave map\n"
+" mount --make-rprivate map\n"
+" mount --make-runbindable map\n"
+"\n"
+"Een apparaat kan worden opgegeven via de naam, zeg /dev/hda1 of /dev/cdrom,\n"
+"of via het label, met -L label, of via de UUID, met -U UUID.\n"
+"Andere opties zijn: [-nfFrsvw] [-o opties] [-p "
+"wachtwoordbestandsdescriptor].\n"
+"Voor meer informatie, zie man mount(8).\n"
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: alleen root kan dat doen (feitelijke UID is %u)"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: alleen root kan dat doen"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "er werd niets aangekoppeld"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: die partitie is niet gevonden"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: kan %s niet vinden in %s noch in %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+"[mntent]: waarschuwing: geen afsluitend regeleindeteken aan het eind van %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: regel %d in %s is ongeldig%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; rest van bestand is genegeerd"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "*programmeerfout* in aanroep van xstrndup()"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "onvoldoende geheugen beschikbaar"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "'umount' is gecompileerd zonder ondersteuning voor '-f'\n"
+
+#: mount-deprecated/umount.c:139
+#, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: kan groeps-ID niet instellen: %m"
+
+#: mount-deprecated/umount.c:142
+#, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: kan gebruikers-ID niet instellen: %m"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: kan geen nieuw proces starten: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: ongeldig blok-apparaat"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: niet aangekoppeld"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: kan niet naar superblok schrijven"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: apparaat is bezig\n"
+" (Welke processen het apparaat gebruiken kan mogelijk\n"
+" gevonden worden met behulp van lsof(8) of fuser(1).)"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: niet gevonden"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: u moet root zijn om af te kunnen koppelen"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: blok-apparaten niet toegestaan op bestandssysteem"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr "umount: *interne programmafout*: ongeldig absoluut pad: %s"
+
+#: mount-deprecated/umount.c:254
+#, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "umount: naar map %s gaan is mislukt: %m"
+
+#: mount-deprecated/umount.c:257
+#, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "umount: achterhalen van huidige map is mislukt: %m"
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "umount: aankoppelingspunt is verplaatst (%s -> %s)"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr "huidige map is verplaatst naar %s\n"
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "geen umount2 aanwezig; poging met gewone umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s is bezig -- als alleen-lezen heraangekoppeld\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: kan %s niet als alleen-lezen heraankoppelen\n"
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s werd afgekoppeld\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: kan geen lijst vinden met bestandssystemen om af te koppelen"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Gebruik: umount [-dfnrv] map|apparaat...\n"
+" umount -a [-dfnrv] [-t bestandssysteemsoorten] [-O opties]\n"
+" umount -h|-V\n"
+
+#: mount-deprecated/umount.c:558
+#, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "ontleden van opties 'offset=%s' is mislukt\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "apparaat %s is gerelateerd aan %s\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "apparaat %s is niet gerelateerd aan %s\n"
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr "Kan niet \"\" afkoppelen\n"
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Poging tot afkoppelen van %s...\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: verward tijdens analyse van 'mtab'-bestand"
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+"umount: kan %s niet afkoppelen -- %s is er op hetzelfde punt overheen "
+"aangekoppeld"
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Kan %s niet vinden in mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr "%s is gerelateerd aan %s\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+"umount: waarschuwing: %s is gerelateerd aan meer dan Ă©Ă©n lus-apparaat\n"
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s is niet aangekoppeld (volgens mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: het lijkt erop dat %s meerdere keren is aangekoppeld"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s staat niet in fstab (en u bent niet root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: aankoppeling op %s komt niet overeen met fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: alleen %s kan %s afkoppelen van %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: alleen root kan dat doen"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+"\n"
+"chrt - de realtime-eigenschappen van een proces instellen\n"
+"\n"
+"Beleid instellen:\n"
+" chrt [opties] <beleid> <prioriteit> {<PID> | <opdracht> [<argument>...]}\n"
+"\n"
+"Beleid opvragen:\n"
+" chrt [opties] {<PID> | <opdracht> [<argument>...]}\n"
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+"\n"
+"Scheduling-beleid:\n"
+" -b | --batch beleid op SCHED_BATCH instellen\n"
+" -f | --fifo beleid op SCHED_FIFO instellen\n"
+" -i | --idle beleid op SCHED_IDLE instellen\n"
+" -o | --other beleid op SCHED_OTHER instellen\n"
+" -r | --rr beleid op SCHED_RR instellen (standaard)\n"
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+"\n"
+"Scheduling-vlag:\n"
+" -R | --reset-on-fork SCHED_RESET_ON_FORK instellen voor FIFO of RR\n"
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -a | --all-tasks alle taken/threads van de gegeven PID aanpakken\n"
+" -h | --help deze hulptekst tonen\n"
+" -m | --max minimum en maximum geldige prioriteiten tonen\n"
+" -p | --pid de gegeven bestaande PID beĂŻnvloeden\n"
+" -v | --verbose statusinformatie tonen\n"
+" -V | --version programmaversie tonen\n"
+"\n"
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "opvragen van beleid voor PID %d is mislukt"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "Nieuw scheduling-beleid voor PID %d: "
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "Huidig scheduling-beleid voor PID %d: "
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr "onbekend scheduling-beleid"
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "opvragen van eigenschappen voor PID %d is mislukt"
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "Nieuwe scheduling-prioriteit van PID %d: %d\n"
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "Huidige scheduling-prioriteit van PID %d: %d\n"
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "SCHED_%s minimum/maximum prioriteit:\t %d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s wordt niet ondersteund?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+msgid "cannot obtain the list of tasks"
+msgstr "kan lijst met taken nkiet verkrijgen"
+
+#: schedutils/chrt.c:299
+msgid "invalid priority argument"
+msgstr "ongeldig prioriteitsargument"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+"de vlag SCHED_RESET_ON_FORK wordt alleen voor SCHED_FIFO- en SCHED_RR-beleid "
+"ondersteund"
+
+#: schedutils/chrt.c:323
+#, c-format
+msgid "failed to set tid %d's policy"
+msgstr "instellen van beleid voor TID %d is mislukt"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "instellen van beleid voor PID %d is mislukt"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "uitvoeren van %s is mislukt"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "ioprio_get() is mislukt"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "ioprio_set() is mislukt"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+msgid "invalid class data argument"
+msgstr "ongeldig klassegegevens-argument"
+
+#: schedutils/ionice.c:154
+msgid "invalid class argument"
+msgstr "ongeldig klasse-argument"
+
+#: schedutils/ionice.c:159
+#, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "onbekende scheduling-klasse: '%s'"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr "klassegegevens voor 'none'-klasse worden genegeerd"
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr "klassegegevens voor 'idle'-klasse worden genegeerd"
+
+#: schedutils/ionice.c:196
+#, c-format
+msgid "unknown prio class %d"
+msgstr "onbekende prioriteitsklasse %d"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "uitvoeren van '%s' is mislukt"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+"Gebruik: %s [opties] [masker|CPU-lijst] [PID|opdracht [argument...]]\n"
+"\n"
+"Processoraffiniteit tonen of instellen van de gegeven PID,\n"
+"of een nieuw proces starten met de gegeven affiniteit.\n"
+"\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+"Opties:\n"
+" -a, --all-tasks alle taken/threads van de gegeven PID beĂŻnvloeden\n"
+" -p, --pid de gegeven bestaande PID beĂŻnvloeden\n"
+" -c, --cpu-list de te gebruiken processoren (gegeven als lijst)\n"
+" -h, --help deze hulptekst tonen\n"
+" -V, --version programmaversie tonen\n"
+"\n"
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+"Standaard wordt een nieuw proces gestart, bijvoorbeeld:\n"
+" %1$s 03 sshd -b 1024\n"
+"U kunt het masker van een bestaand proces opvragen:\n"
+" %1$s -p 700\n"
+"Of instellen:\n"
+" %1$s -p 03 700\n"
+"In plaats van een masker is een kommagescheiden lijst mogelijk:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"In een lijst kan op een bereik een stapargument volgen:\n"
+" 0-31:2 is bijvoorbeeld hetzelfde als masker 0x55555555\n"
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie taskset(1).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr "Nieuwe affiniteitslijst van PID %d: %s\n"
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr "Huidige affiniteitslijst van PID %d: %s\n"
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr "Nieuw affiniteitsmasker van PID %d: %s\n"
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr "Huidig affiniteitsmasker van PID %d: %s\n"
+
+#: schedutils/taskset.c:97
+msgid "conversion from cpuset to string failed"
+msgstr ""
+"*interne programmafout*: omzetten van CPU-set naar tekenreeks is mislukt"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "opvragen van affiniteit van PID %d is mislukt"
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "instellen van affiniteit van PID %d is mislukt"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "kan aantal processoren niet bepalen -- gestopt"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr "cpuset_alloc() is mislukt"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "ontleden van processorenlijst %s is mislukt"
+
+#: schedutils/taskset.c:217
+#, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "ontleden van processorenmasker %s is mislukt"
+
+#: sys-utils/arch.c:79
+msgid "uname failed"
+msgstr "uname() is mislukt"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, c-format
+msgid "CPU %d does not exist\n"
+msgstr "CPU %d bestaat niet\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr "CPU %d is niet hot-pluggable\n"
+
+#: sys-utils/chcpu.c:88
+#, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "CPU %d is al ingeschakeld\n"
+
+#: sys-utils/chcpu.c:92
+#, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "CPU %d is al uitgeschakeld\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr "Inschakelen van CPU %d is mislukt (CPU is gedeconfigureerd)\n"
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr "Inschakelen van CPU %d is mislukt (%m)\n"
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr "CPU %d is ingeschakeld\n"
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr "Uitschakelen van CPU %d is mislukt (is de enige ingeschakelde CPU)\n"
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr "Uitschakelen van CPU %d is mislukt (%m)\n"
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr "CPU %d is uitgeschakeld\n"
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr "Dit systeem ondersteunt het herscannen van CPU's niet"
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Starten van een herscan van CPU's is mislukt"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr "Herscan van CPU's is gestart\n"
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+"Dit systeem ondersteunt het instellen van de dispatching-modus van CPU's niet"
+
+#: sys-utils/chcpu.c:142
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Instellen van horizontale dispatching-modus is mislukt"
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Horizontale dispatching-modus is met succes ingesteld\n"
+
+#: sys-utils/chcpu.c:146
+msgid "Failed to set vertical dispatch mode"
+msgstr "Instellen van verticale dispatching-modus is mislukt"
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Verticale dispatching-modus is met succes ingesteld\n"
+
+#: sys-utils/chcpu.c:165
+#, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "CPU %d is niet configureerbaar\n"
+
+#: sys-utils/chcpu.c:170
+#, c-format
+msgid "CPU %d is already configured\n"
+msgstr "CPU %d is al geconfigureerd\n"
+
+#: sys-utils/chcpu.c:174
+#, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "CPU %d is al gedeconfigureerd\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr "Deconfigureren van CPU %d is mislukt (CPU is ingeschakeld)\n"
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Configureren van CPU %d is mislukt (%m)\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr "CPU %d is geconfigureerd\n"
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Deconfigureren van CPU %d is mislukt (%m)\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr "CPU %d is gedeconfigureerd\n"
+
+#: sys-utils/chcpu.c:208
+#, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "ongeldig CPU-nummer in CPU-lijst: %s"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"Gebruik: %s [opties]\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, c-format
+msgid "unsupported argument: %s"
+msgstr "niet-ondersteund argument: %s"
+
+#: sys-utils/ctrlaltdel.c:21
+#, c-format
+msgid " %s <hard|soft>\n"
+msgstr " %s hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "U moet root zijn om het gedrag van Ctrl-Alt-Del in te kunnen stellen."
+
+#: sys-utils/cytune.c:92
+#, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr " %s [opties] <tty>...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+" -S, --set-default-threshold GETAL standaard drempelwaarde instellen\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+# Wat die "For" betekent: geen idee... -- Benno
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Voor bestand %s, en met drempelwaarde %lu,\n"
+"was het maximum aantal tekens in de fifo %d,\n"
+"en de maximale overdrachtssnelheid %f tekens/seconde."
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Voor bestand %s, en met drempelwaarde %lu en tijdslimiet %lu,\n"
+"was het maximum aantal tekens in de fifo %d,\n"
+"en de maximale overdrachtssnelheid %f tekens/seconde."
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday() is mislukt"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "kan ioctl(CYGETMON) niet uitvoeren op %s"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, c-format
+msgid "cannot get threshold for %s"
+msgstr "kan drempelwaarde voor %s niet verkrijgen"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, c-format
+msgid "cannot get timeout for %s"
+msgstr "kan tijdslimiet voor %s niet verkrijgen"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu onderbrekingen, %lu/%lu tekens;\n"
+"fifo: %lu drempelwaarde, %lu tijdslimiet, %lu maximum, %lu nu\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f onderbrekingen/sec; %f ontvangen, %f verzonden (tekens/sec)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu onderbrekingen, %lu tekens;\n"
+"fifo: %lu drempelwaarde, %lu tijdslimiet, %lu maximum, %lu nu\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f onderbrekingen/sec; %f ontvangen (tekens/sec)\n"
+
+#: sys-utils/cytune.c:326
+msgid "Invalid interval value"
+msgstr "Ongeldige intervalwaarde"
+
+#: sys-utils/cytune.c:328
+#, c-format
+msgid "Invalid interval value: %d"
+msgstr "Ongeldige intervalwaarde: %d"
+
+#: sys-utils/cytune.c:335
+msgid "Invalid set value"
+msgstr "Ongeldige drempelwaarde"
+
+#: sys-utils/cytune.c:337
+#, c-format
+msgid "Invalid set value: %d"
+msgstr "Ongeldige drempelwaarde: %d"
+
+#: sys-utils/cytune.c:344
+msgid "Invalid default value"
+msgstr "Ongeldige standaarddrempelwaarde"
+
+#: sys-utils/cytune.c:346
+#, c-format
+msgid "Invalid default value: %d"
+msgstr "Ongeldige standaarddrempelwaarde: %d"
+
+#: sys-utils/cytune.c:354
+msgid "Invalid set time value"
+msgstr "Ongeldige waarde voor tijdslimiet"
+
+#: sys-utils/cytune.c:356
+#, c-format
+msgid "Invalid set time value: %d"
+msgstr "Ongeldige waarde voor tijdslimiet: %d"
+
+#: sys-utils/cytune.c:364
+msgid "Invalid default time value"
+msgstr "Ongeldige standaardwaarde voor tijdslimiet"
+
+#: sys-utils/cytune.c:366
+#, c-format
+msgid "Invalid default time value: %d"
+msgstr "Ongeldige standaardwaarde voor tijdslimiet: %d"
+
+#: sys-utils/cytune.c:409
+#, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "kan %s niet instellen op drempelwaarde %d"
+
+#: sys-utils/cytune.c:423
+#, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "kan %s niet instellen op tijdsdrempel %d"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld is huidige drempelwaarde en %ld is huidige tijdslimiet\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld is standaard drempelwaarde en %ld is standaard tijdslimiet\n"
+
+#: sys-utils/dmesg.c:72
+msgid "system is unusable"
+msgstr "systeem is onbruikbaar"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr "onmiddellijke actie is vereist"
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr "kritieke toestand"
+
+#: sys-utils/dmesg.c:75
+msgid "error conditions"
+msgstr "fouttoestand"
+
+#: sys-utils/dmesg.c:76
+msgid "warning conditions"
+msgstr "waarschuwingstoestand"
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr "gewone maar significante toestand"
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr "ter informatie"
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr "debugging-meldingen"
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr "kernelmeldingen"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr "willekeurige gebruikersmeldingen"
+
+#: sys-utils/dmesg.c:95
+msgid "mail system"
+msgstr "postsysteem"
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr "systeemdiensten"
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr "beveiligings-/autorisatiemeldingen"
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr "interne meldingen van 'syslogd'"
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr "regelprinter-subsysteem"
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr "netwerknieuws-subsysteem"
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr "UUCP-subsysteem"
+
+#: sys-utils/dmesg.c:102
+msgid "clock daemon"
+msgstr "klokdienst"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr "beveiligings-/autorisatiemeldingen (privé)"
+
+#: sys-utils/dmesg.c:104
+msgid "ftp daemon"
+msgstr "FTP-dienst"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+"\n"
+"Ondersteunde log-faciliteiten:\n"
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+"\n"
+"Ondersteunde log-niveaus (prioriteiten):\n"
+
+#: sys-utils/dmesg.c:260
+#, c-format
+msgid "failed to parse level '%s'"
+msgstr "ontleden van niveau '%s' is mislukt"
+
+#: sys-utils/dmesg.c:262
+#, c-format
+msgid "unknown level '%s'"
+msgstr "onbekend niveau '%s'"
+
+#: sys-utils/dmesg.c:298
+#, c-format
+msgid "failed to parse facility '%s'"
+msgstr "ontleden van facilteit '%s' is mislukt"
+
+#: sys-utils/dmesg.c:300
+#, c-format
+msgid "unknown facility '%s'"
+msgstr "onbekende faciliteit '%s'"
+
+#: sys-utils/dmesg.c:415
+msgid "sysinfo failed"
+msgstr "'sysinfo' is mislukt"
+
+#: sys-utils/dmesg.c:442
+#, c-format
+msgid "cannot mmap: %s"
+msgstr "kan bestand %s niet geheel in het geheugen plaatsen"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+msgid "write failed"
+msgstr "schrijven is mislukt"
+
+#: sys-utils/dmesg.c:1132
+msgid "invalid buffer size argument"
+msgstr "ongeldige buffergrootte"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+"optie '--raw' gaat niet samen met '--level', '--facility', '--decode',\n"
+"'--delta', '--ctime' of '--notime'"
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr "optie '--notime' gaat niet samen '--ctime' of '--reltime'"
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr "optie '--reltime' gaat niet samen '--ctime' "
+
+#: sys-utils/dmesg.c:1192
+msgid "read kernel buffer failed"
+msgstr "lezen van kernelbuffer is mislukt"
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr "niet-ondersteunde opdracht"
+
+#: sys-utils/dmesg.c:1211
+msgid "klogctl failed"
+msgstr "klogctl() is mislukt"
+
+#: sys-utils/eject.c:135
+#, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr " %s [opties] [<apparaat>|<aankoppelingspunt>]\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+"\n"
+"Standaard worden '-r', '-s', '-f', en dan '-q' geprobeerd tot het gelukt "
+"is.\n"
+
+#: sys-utils/eject.c:208
+msgid "invalid argument to --auto/-a option"
+msgstr "ongeldig argument van optie '--auto' (-a)"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr "ongeldig argument van optie '--changerslot' (-c)"
+
+#: sys-utils/eject.c:216
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "ongeldig argument van optie '--cdspeed' (-x)"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr "ongeldig argument van optie '--manualeject' (-i)"
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr "CD-ROM-automatischuitwerpcommando is mislukt"
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr "CD-ROM-deurvergrendelingscommando is mislukt"
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr "CD-ROM kan NIET uitgeworpen worden met apparaatknop"
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr "CD-ROM kan uitgeworpen worden met apparaatknop"
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr "CD-ROM-schijfkeuzecommando is mislukt"
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr "CD-ROM-commando voor laden uit vak is mislukt"
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr "IDE/ATAPI CD-ROM-wisselaar wordt niet ondersteund door deze kernel\n"
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr "CD-ROM-ladesluitcommando is mislukt"
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "CD-ROM-ladesluitcommando wordt niet ondersteund door deze kernel\n"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr "Uitwerpen van CD-ROM wordt niet ondersteund"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr "CD-ROM-uitwerpcommando is mislukt"
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr "geen CD-ROM-informatie beschikbaar"
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr "CD-ROM-apparaat is niet gereed"
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr "CD-ROM-snelheidskeuzecommando is mislukt"
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "CD-ROM-snelheidskeuzecommando wordt niet ondersteund door deze kernel"
+
+#: sys-utils/eject.c:521
+#, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: verkrijgen van CD-ROM-naam is mislukt"
+
+#: sys-utils/eject.c:536
+#, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: lezen van snelheid is mislukt"
+
+#: sys-utils/eject.c:544
+msgid "failed to read speed"
+msgstr "lezen van snelheid is mislukt"
+
+#: sys-utils/eject.c:588
+msgid "not an sg device, or old sg driver"
+msgstr "is geen SG-apparaat, of een oud SG-stuurprogramma"
+
+#: sys-utils/eject.c:650
+#, c-format
+msgid "%s: unmounting"
+msgstr "%s: afkoppelen"
+
+#: sys-utils/eject.c:658
+msgid "eject: cannot set user id"
+msgstr "eject: kan gebruikers-ID niet instellen"
+
+#: sys-utils/eject.c:665
+#, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "kan '/bin/umount' van '%s' niet uitvoeren"
+
+#: sys-utils/eject.c:668
+msgid "unable to fork"
+msgstr "kan geen nieuw proces starten"
+
+#: sys-utils/eject.c:675
+#, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "afkoppeling van '%s' is niet normaal afgesloten"
+
+#: sys-utils/eject.c:678
+#, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "afkoppelen van '%s' is mislukt\n"
+
+#: sys-utils/eject.c:719
+msgid "failed to parse mount table"
+msgstr "ontleden van aankoppelingstabel is mislukt"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, c-format
+msgid "%s: mounted on %s"
+msgstr "%s: is aangekoppeld op %s"
+
+#: sys-utils/eject.c:877
+#, c-format
+msgid "%s: is removable device"
+msgstr "%s: is verwijderbaar apparaat"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr "%s: verbonden door het 'hotplug'-subsysteem: %s"
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr "CD-ROM-snelheid wordt ingesteld op 'auto'"
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr "CD-ROM-snelheid wordt ingesteld op %ldX"
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr "standaardapparaat: '%s'"
+
+#: sys-utils/eject.c:952
+#, c-format
+msgid "using default device `%s'"
+msgstr "standaardapparaat '%s' wordt gebruikt"
+
+#: sys-utils/eject.c:971
+#, c-format
+msgid "%s: unable to find device"
+msgstr "%s: kan apparaat niet vinden"
+
+#: sys-utils/eject.c:973
+#, c-format
+msgid "device name is `%s'"
+msgstr "apparaatnaam is '%s'"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, c-format
+msgid "%s: not mounted"
+msgstr "%s is niet aangekoppeld"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+"%s: schijfapparaat: %s (schijfapparaat zal gebruikt worden voor uitwerping)"
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr "%s: geen apparaat of aankoppelingspunt gevonden met de gegeven naam"
+
+#: sys-utils/eject.c:994
+#, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: is een gehele-schijf-apparaat"
+
+#: sys-utils/eject.c:998
+#, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: is geen hotplug-baar apparaat"
+
+#: sys-utils/eject.c:1002
+#, c-format
+msgid "device is `%s'"
+msgstr "apparaat is '%s'"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr "afsluiting wegens optie '--noop' (-n)"
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr "%s: auto-uitwerpingsmodus wordt ingeschakeld"
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr "%s: auto-uitwerpingsmodus wordt uitgeschakeld"
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr "%s: sluiten van lade"
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr "%s: omschakelen van lade"
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr "%s\" tonen van CD-ROM-snelheid"
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr "fout: %s: apparaat is bezig"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr "%s: kiezen van CD-ROM-schijf #%ld"
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr "%s: poging tot uitwerping met CD-ROM-uitwerpcommando"
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr "CD-ROM-uitwerpcommando is geslaagd"
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr "%s: poging tot uitwerping met SCSI-commando's"
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr "SCSI-uitwerping is geslaagd"
+
+#: sys-utils/eject.c:1103
+msgid "SCSI eject failed"
+msgstr "SCSI-uitwerping is mislukt"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr "%s: poging tot uitwerping met floppy-uitwerpcommando"
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr "floppy-uitwerpcommando is geslaagd"
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr "floppy-uitwerpcommando is mislukt"
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr "%s: poging tot uitwerping met band-offline-commando"
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr "band-offline-commando is geslaagd"
+
+#: sys-utils/eject.c:1117
+msgid "tape offline command failed"
+msgstr "band-offline-commando is mislukt"
+
+#: sys-utils/eject.c:1121
+msgid "unable to eject"
+msgstr "kan niet uitwerpen"
+
+#: sys-utils/fallocate.c:60
+#, c-format
+msgid " %s [options] <filename>\n"
+msgstr " %s [opties] <bestand>\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+" -n, --keep-size lengte van bestand niet wijzigen\n"
+" -p, --punch-hole gaten in het bestand maken\n"
+" -o, --offset <getal> positie van de reservering, in bytes\n"
+" -l, --length <getal> lengte van de reservering, in bytes\n"
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr "geen lengte gegeven"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr "ongeldige lengte gegeven"
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr "ongeldige plaatswaarde gegeven"
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr "geen bestandsnaam gegeven"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr "onverwacht aantal argumenten"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr "'keep-size'-modus (optie '-n') wordt niet ondersteund"
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s: fallocate() is mislukt"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+" %1$s [opties] <bestandsdecriptornummer>\n"
+" %1$s [opties] <bestand> -c <opdracht>\n"
+" %1$s [opties] <map> -c <opdracht>\n"
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr " -s, --shared een gedeelde vergrendeling verkrijgen\n"
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+" -x, --exclusive een exclusieve vergrendeling verkrijgen "
+"(standaard)\n"
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr " -u, --unlock een vergrendeling verwijderen\n"
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr " -n, --nonblock falen in plaats van wachten\n"
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr " -w, --timeout SECONDEN dit aantal seconden wachten\n"
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+" -E --conflict-exit-code <nummer> afsluitwaarde na conflict of "
+"tijdsoverschrijding\n"
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+" -o, --close bestandsdescriptor sluiten vóór uitvoeren van "
+"opdracht\n"
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr " -c ,--command OPDRACHT deze ene opdracht uitvoeren via de shell\n"
+
+#: sys-utils/flock.c:86
+msgid "timeout cannot be zero"
+msgstr "tijdslimiet kan niet nul zijn"
+
+#: sys-utils/flock.c:123
+#, c-format
+msgid "cannot open lock file %s"
+msgstr "kan vergrendelingsbestand %s niet openen"
+
+#: sys-utils/flock.c:206
+msgid "invalid exit code"
+msgstr "ongeldige afsluitwaarde"
+
+#: sys-utils/flock.c:226
+#, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s vereist precies Ă©Ă©n opdrachtargument"
+
+#: sys-utils/flock.c:247
+msgid "requires file descriptor, file or directory"
+msgstr "vereist een bestandsdescriptor, een bestand, of een map"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "waitpid() is mislukt"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, c-format
+msgid " %s [options] <mount point>\n"
+msgstr " %s [opties] <aankoppelingspunt>\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+" -h, --help deze hulptekst tonen\n"
+" -f, --freeze het bestandssysteem bevriezen\n"
+" -u, --unfreeze het bestandssysteem ontdooien\n"
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie fsfreeze(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr "geen actie gegeven"
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr "geen bestandsnaam gegeven"
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr "%s: is geen map"
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr "%s: bevriezen is mislukt"
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr "%s: ontdooien is mislukt"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+" -o, --offset <getal> bytepositie vanaf waar blokken verworpen moeten "
+"worden\n"
+" -l, --length <getal> lengte (in bytes) van gebied waarin naar "
+"ongebruikte\n"
+" blokken gezocht moet worden\n"
+" -m, --minimum <getal> minimumgrootte (in bytes) van een te verwerpen\n"
+" aaneengesloten groep ongebruikte blokken\n"
+" -v, --verbose het aantal verworpen bytes tonen\n"
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+msgid "failed to parse length"
+msgstr "ontleden van lengte is mislukt"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+msgid "failed to parse offset"
+msgstr "ontleden van positie is mislukt"
+
+#: sys-utils/fstrim.c:114
+msgid "failed to parse minimum extent length"
+msgstr "ontleden van minimum-extent-lengte is mislukt"
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr "geen aankoppelingspunt opgegeven"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, c-format
+msgid "%s: not a directory"
+msgstr "%s: is geen map"
+
+#: sys-utils/fstrim.c:145
+#, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s: ioctl (FITRIM) is mislukt"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr "%s: %<PRIu64> bytes zijn getrimd\n"
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, c-format
+msgid "cannot write %s"
+msgstr "kan niet naar %s niet schrijven"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Er wordt aangenomen dat de hardwareklok op %s staat.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC-tijd"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "lokale tijd"
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+"Waarschuwing: derde regel in adjtime-bestand is niet herkend.\n"
+"(Verwacht werd 'UTC' of 'LOCAL' of niets.)"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Laatste verschuivingscorrectie is %ld seconden na 1969 gedaan.\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Laatste calibratie is %ld seconden na 1969 gedaan.\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hardwareklok staat op %s.\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Wachten op kloktik...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...synchronisatie is mislukt.\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...kloktik ontvangen.\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Ongeldige waarden in hardwareklok: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Hardwarekloktijd is: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconden sinds "
+"1969.\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Tijd gelezen van de hardwareklok: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Instellen van hardwareklok op %.2d:%.2d:%.2d = %ld seconden sinds 1969.\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Klok niet gewijzigd -- in testmodus.\n"
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Verlopen tijd sinds laatste referentietijd is %.6f seconden.\n"
+"Wordt verder uitgesteld om de nieuwe tijd te bereiken.\n"
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"De hardwareklok bevat waarden die ofwel onjuist zijn (bijvoorbeeld de 50e "
+"dag van de maand) of buiten het ondersteunde bereik vallen (bijvoorbeeld het "
+"jaar 2095)."
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f seconden\n"
+
+#: sys-utils/hwclock.c:617
+msgid "No --date option specified."
+msgstr "Er is geen optie '--date' gegeven."
+
+#: sys-utils/hwclock.c:623
+msgid "--date argument too long"
+msgstr "argument van '--date' is te lang"
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Het argument van '--date' is geen geldige datum.\n"
+"In het bijzonder bevat het aanhalingstekens."
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Uitvoering van 'date'-opdracht: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Kan 'date'-programma niet in /bin/sh uitvoeren: popen() is mislukt"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "Antwoord van 'date'-opdracht = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"De 'date'-opdracht uitgevoerd door %s gaf onverwachte resultaten.\n"
+"De opdracht was:\n"
+" %s\n"
+"Het antwoord was:\n"
+" %s"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"De 'date'-opdracht uitgevoerd door %s gaf geen geheel getal\n"
+"daar waar de geconverteerde tijdswaarde werd verwacht.\n"
+"De opdracht was:\n"
+" %s\n"
+"Het antwoord was:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "Datumtekst %s is gelijk aan %ld seconden sinds 1969.\n"
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"De hardwareklok bevat geen geldige tijd, zodat de systeemtijd er niet mee "
+"ingesteld kan worden."
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Aanroep van settimeofday():\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "De systeemklok wordt niet ingesteld -- in testmodus.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr "U moet root zijn om de systeemklok in te kunnen stellen."
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() is mislukt"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Huidige systeemtijd: %ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"De verschuivingsfactor wordt niet aangepast,\n"
+"omdat de hardwareklok eerder rommel bevatte.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"De verschuivingsfactor wordt niet aangepast\n"
+"omdat de laatste calibratietijd nul was.\n"
+"Er is dus geen bruikbare geschiedenis,\n"
+"en een latere hercalibratie is nodig.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"De verschuivingsfactor wordt niet aangepast,\n"
+"omdat de vorige calibratie minder dan Ă©Ă©n dag geleden is.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"De klok is %.1f seconden verschoven in de laatste %d seconden,\n"
+"ondanks een verschuivingsfactor van %f seconden/dag.\n"
+"De verschuivingsfactor wordt met %f seconden/dag aangepast.\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "De verlopen tijd sinds de vorige aanpassing is %d seconden.\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Er moeten %d seconden worden ingevoegd,\n"
+"en %.6f seconden zullen later verrekend worden.\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Het bestand /etc/adjtime wordt niet aangepast -- in testmodus.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Het volgende zou naar %s geschreven worden:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+"Kan bestand met klokaanpassingsgegevens (%s) niet openen om te schrijven"
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr "Kan bestand met klokaanpassingsgegevens (%s) niet bijwerken"
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr "De parameters voor de verschuivingsaanpassing zijn niet bijgewerkt."
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"De hardwareklok bevat geen geldige tijd, zodat die niet aangepast kan worden."
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"De klok wordt niet ingesteld\n"
+"omdat de laatste aanpassingstijd nul is.\n"
+"Er is dus geen bruikbare geschiedenis."
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"De benodigde aanpassing is minder dan Ă©Ă©n seconde;\n"
+"de klok wordt niet veranderd.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "%s wordt gebruikt.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Geen bruikbare klok-interface gevonden.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Instellen van de systeemklok is mislukt.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+"Op %ld seconden na 1969 is de voorspelde waarde van RTC %ld seconden na "
+"1969.\n"
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"De kernel bewaart alleen bij Alpha's een tijdperkwaarde voor de "
+"hardwareklok.\n"
+"Deze versie van 'hwclock' is gemaakt voor een ander systeem dan de Alpha\n"
+"(en draait nu dus vermoedelijk niet op een Alpha). Geen actie ondernomen."
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Verkrijgen van de tijdperkwaarde van de kernel is mislukt."
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kernel neemt als tijdperkwaarde %lu aan.\n"
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Om de tijdperkwaarde in te stellen dient u de optie --epoch te gebruiken."
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Tijdperk wordt niet ingesteld op %d -- in testmodus.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Instellen van de tijdperkwaarde in de kernel is mislukt.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr " hwclock [functie] [optie...]\n"
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"Functies:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+" -h, --help deze hulptekst tonen\n"
+" -r, --show de hardwareklok lezen en het resultaat weergeven\n"
+" --set de hardwareklok instellen op de tijd gegeven met '--"
+"date'\n"
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+" -s, --hctosys aan de hand van de hardwareklok de systeemklok "
+"instellen\n"
+" -w, --systohc aan de hand van de systeemklok de hardwareklok "
+"instellen\n"
+" --systz de systeemklok instellen aan de hand van de tijdzone\n"
+" --adjust de hardwareklok aanpassen ter compensatie van "
+"systematische\n"
+" verschuiving sinds de laatste instelling/aanpassing\n"
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+" --getepoch tijdperkwaarde van de kernel tonen\n"
+" --setepoch tijdperkwaarde van de kernel instellen op de waarde\n"
+" gegeven met de optie '--epoch'\n"
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+" --predict hardwarekloktijd voorspellen op moment gegeven met '--"
+"date'\n"
+" -v, --version programmaversie tonen\n"
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+" -u, --utc de hardwareklok bevat de gecoördineerde universele tijd\n"
+" --localtime de hardwareklok bevat de lokale tijd\n"
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+" -f, --rtc <bestand> te gebruiken RTC-bestand in /dev/ in plaats van "
+"standaard\n"
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+" --directisa de ISA-bus direct benaderen in plaats van via %s\n"
+" --badyear het jaartal van de hardwareklok negeren omdat de BIOS "
+"stuk is\n"
+" --date=TIJD de tijd waarop de hardwareklok moet worden ingesteld\n"
+" --epoch=JAAR het jaartal dat het tijdperkbegin voor de hardwareklok "
+"is\n"
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+" --noadjfile %s niet gebruiken (met '--utc' of '--localtime')\n"
+" --adjfile=BESTAND te gebruiken verschuivingsregistratiebestand\n"
+" (standaard is %s)\n"
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+" --test niets echt wijzigen, alleen tonen wat gedaan zou worden\n"
+" -D, --debug debug-modus inschakelen\n"
+"\n"
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" het soort Alpha dat u gebruikt (zie hwclock(8))\n"
+"\n"
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr "Kan geen verbinding maken met auditsysteem"
+
+#: sys-utils/hwclock.c:1619
+msgid "invalid epoch argument"
+msgstr "ongeldige tijdperkwaarde"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr ""
+"%s kent geen andere argumenten dan functies en opties.\n"
+"U gaf %d.\n"
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "Bij '--noadjfile' moet u of '--utc' of '--localtime' aangeven."
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Geen bruikbare insteltijd. Kan klok niet instellen."
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Sorry, alleen root kan de hardwareklok instellen."
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Sorry, alleen root kan de systeemklok instellen."
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Sorry, alleen root kan in de kernel de tijdperkwaarde voor de klok instellen."
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "Kan op geen enkele bekende manier toegang krijgen tot de hardwareklok."
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Gebruik de optie '--debug' om alle details over de zoektocht\n"
+"naar een toegangsmethode te zien."
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "### opgestart vanuit MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "### Ruffiaanse BCD-klok\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "### klokpoort aangepast naar 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "### vreemde tijd-van-het-jaar!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "atomische %s is duizend keer mislukt!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr "### cmos_read(): schrijven naar besturingsadres %X is mislukt: %m\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "### cmos_read(): lezen van data-adres %X is mislukt: %m\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr "### cmos_write(): schrijven naar besturingsadres %X is mislukt: %m\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "### cmos_write(): schrijven naar data-adres %X is mislukt: %m\n"
+
+#: sys-utils/hwclock-cmos.c:644
+msgid "I failed to get permission because I didn't try."
+msgstr "Geen toestemming gekregen, want niet geprobeerd."
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "Kan geen I/O-poorttoegang krijgen: iopl(3) is mislukt."
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Waarschijnlijk hebt u root-privileges nodig.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Wachten in lus totdat de tijd van ioctl(KDGHWCLK) verandert...\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Het lezen van de tijd via ioctl(KDGHWCLK) is mislukt"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "Het lezen van de tijd via ioctl(KDGHWCLK) is mislukt tijdens de lus"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr "Wachten op veranderende tijd duurde te lang."
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() kan geen tijd lezen uit %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl(KDSHWCLK) is mislukt"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Openen van /dev/tty1 of /dev/vc/1 is mislukt"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "ioctl(KDGHWCLK) is mislukt"
+
+#: sys-utils/hwclock-rtc.c:195
+#, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl(%s) op %s om de tijd te lezen is mislukt"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Wachten in lus totdat de tijd van %s verandert...\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "Apparaat %s heeft geen onderbrekingsfuncties. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() van %s voor wachten op kloktik is mislukt"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() van %s voor wachten op kloktik is mislukt"
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "select() van %s voor wachten op kloktik duurde te lang"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() op %s om bijwerkingsonderbrekingen uit te zetten is mislukt"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() op %s om bijwerkingsonderbrekingen aan te zetten is onverwacht "
+"mislukt"
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl(%s) op %s om tijd in te stellen is mislukt"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) is geslaagd\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Om de tijdperkwaarde in de kernel aan te kunnen passen, is toegang\n"
+"tot het 'rtc'-stuurprogramma van Linux nodig via het speciale\n"
+"apparaatbestand %s. Dit bestand bestaat niet op dit systeem."
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) op %s is mislukt"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "De tijdperkwaarde %ld is gelezen uit %s met ioctl(RTC_EPOCH_READ).\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "De tijdperkwaarde mag niet minder zijn dan 1900. U vroeg om %ld."
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+"Schrijven van tijdperkwaarde op %ld naar %s met ioctl(RTC_EPOCH_SET).\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Het kernelstuurprogramma voor %s heeft geen ioctl(RTC_EPOCH_SET)."
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) op %s is mislukt"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+" -M, --shmem GROOTTE gedeeld geheugensegment van deze grootte "
+"aanmaken\n"
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+" -S, --semaphore AANTAL semafoorarray met dit aantal elementen aanmaken\n"
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --queue berichtenwachtrij aanmaken\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+" -p, --mode MODUS toegangsrechten voor hulpbron (standaard is "
+"0644)\n"
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+msgid "failed to parse size"
+msgstr "ontleden van grootte is mislukt"
+
+#: sys-utils/ipcmk.c:114
+msgid "failed to parse elements"
+msgstr "ontleden van elementen is mislukt"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr "aanmaken van gedeeld geheugensegment is mislukt"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "Gedeeld geheugensegment-ID: %d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr "aanmaken van berichtenwachtrij is mislukt"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "Berichtenwachtrij-ID: %d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "aanmaken van semafoor is mislukt"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "Semafoor-ID: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+" -m, --shmem-id ID gedeeld geheugensegment met deze ID verwijderen\n"
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+" -M, --shmem-key SLEUTEL gedeeld geheugensegment met deze sleutel "
+"verwijderen\n"
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+" -q, --queue-id ID berichtenwachtrij met deze ID verwijderen\n"
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+" -Q, --queue-key SLEUTEL berichtenwachtrij met deze sleutel verwijderen\n"
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr " -s, --semaphore-id ID semafoor met deze ID verwijderen\n"
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+" -S, --semaphore-key SLEUTEL semafoor met deze sleutel verwijderen\n"
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr " -a, --all[=shm|msg|sem] alle (betreffende) zaken verwijderen\n"
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -v, --verbose tonen wat er gedaan wordt\n"
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr "verwijderen van gedeeld geheugensegment met ID '%d'\n"
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "verwijderen van berichtenwachtrij met ID '%d'\n"
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "verwijderen van semafoor met ID '%d'\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "toegang geweigerd voor sleutel"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "toegang geweigerd voor ID"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "ongeldige sleutel"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "ongeldig ID"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "sleutel is al verwijderd"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "ID is al verwijderd"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+msgid "key failed"
+msgstr "sleutel heeft gefaald"
+
+#: sys-utils/ipcrm.c:111
+msgid "id failed"
+msgstr "ID heeft gefaald"
+
+#: sys-utils/ipcrm.c:128
+#, c-format
+msgid "invalid id: %s"
+msgstr "ongeldig ID: %s"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+msgid "not enough arguments"
+msgstr "te weinig argumenten"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "hulpbron(nen) verwijderd\n"
+
+#: sys-utils/ipcrm.c:194
+#, c-format
+msgid "illegal key (%s)"
+msgstr "ongeldige sleutel (%s)"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr "deze kernel kent geen gedeeld geheugen"
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr "deze kernel kent geen semaforen"
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr "deze kernel kent geen berichtwachtrijen"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, c-format
+msgid "unknown argument: %s"
+msgstr "onbekend argument: %s"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr " -i, --id ID details weergeven over de met ID aangegeven bron\n"
+
+#: sys-utils/ipcs.c:126
+msgid "Resource options:\n"
+msgstr "Hulpbronopties:\n"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr " -m, --shmems gedeelde geheugensegmenten\n"
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr " -q, --queues berichtwachtrijen\n"
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr " -s, --semaphores semaforen\n"
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr " -a, --all alle drie (standaard)\n"
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr "Uitvoeropmaak:\n"
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+" -t, --time aanhechtings-, onthechtings- en wijzigingstijden tonen\n"
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr " -p, --pid PID's van aanmaker en laatste operatie tonen\n"
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr " -c, --creator aanmaker en eigenaar tonen\n"
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr " -l, --limits hulpbrongrenzen tonen\n"
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr " -u, --summary een toestandssamenvatting tonen\n"
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "kernel is niet ingesteld voor gedeeld geheugen\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Gedeeld geheugen: grenzen --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "maximum aantal segmenten = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maximale segmentgrootte (kilobytes) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "maximum totaal gedeeld geheugen (kilobytes) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "minimale segmentgrootte (bytes) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Gedeeld geheugen: status --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+"toegewezen segmenten: %d\n"
+"toegewezen pagina's: %ld\n"
+"residente pagina's: %ld\n"
+"geswapte pagina's: %ld\n"
+"Swapprestaties: %ld pogingen %ld successen\n"
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Gedeeld geheugen: segmentaanmakers/eigenaars --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shm-ID"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "rechten"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "maker-UID"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "maker-GID"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "UID"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "GID"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+"------ Gedeeld geheugen: aanhecht-/onthecht-/wijzigingstijden --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "eigenaar"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "aangehecht"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "onthecht"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "gewijzigd"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr ""
+"------ Gedeeld geheugen: PID's van aanmaker/laatste-operatie --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "maker-PID"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "laatste-PID"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Gedeeld geheugen: segmenten --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "sleutel"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "bytes"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "gehecht"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "(geen)"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "doel"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "vergrendeld"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "deze kernel kent geen semaforen\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Semaforen: grenzen --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maximum aantal arrays = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maximum aantal semaforen per array = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "maximum aantal semaforen systeemwijd = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maximum aantal operaties per semop()-aanroep = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maximale semafoorwaarde = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semaforen: status --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "gebruikte arrays = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "gereserveerde semaforen = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Semaforen: arrayaanmakers/-eigenaars --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "sem-ID"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Semaforen: operatie-/wijzigingstijden --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "laatste operatie"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "laatst gewijzigd"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaforen: arrays --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "aantal"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "deze kernel kent geen berichtwachtrijen\n"
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Berichten: grenzen --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "maximum aantal wachtrijen systeemwijd = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximumgrootte van bericht (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "standaard-maximumgrootte van wachtrij (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Berichten: status --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "gereserveerde wachtrijen = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "gebruikte koppen = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "gebruikte ruimte = %d bytes\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ Berichtwachtrijen: aanmakers/eigenaars --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msq-ID"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+"------ Berichtwachtrijen: verzend-/ontvang-/wijzigingstijden --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "verzending"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "ontvangst"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "wijziging"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Berichtwachtrijen: PID's --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "la.ze.PID"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "la.ov.PID"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Berichtwachtrijen --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "gebruikt"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "berichten"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl() is mislukt"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Gedeeld geheugensegment met shm-ID=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "UID=%u GID=%u, maker-UID=%u maker-GID=%u\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "modus=%#o toegangsrechten=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%lu laatste-PID=%d maker-PID=%d aanhechtingen=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "aanhechttijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "onthechttijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "wijzigingstijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "msgctl() is mislukt"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Berichtenwachtrij met msq-ID=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "UID=%u GID=%u, maker-UID=%u maker-GID=%u, modus=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+"gebruikte bytes=%ld wachtrijbytes=%ld aantal berichten=%ld\n"
+"laatste-zender-PID=%d laatste-ontvanger-PID=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "verzendtijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "ontvangsttijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "semctl() is mislukt"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semafoorarray met sem-ID=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "UID=%u GID=%u, maker-UID=%u maker-GID=%u\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "modus=%#o, toegangsrechten=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "aantal semaforen = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "laatste operatietijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "laatste wijzigingstijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "nummer"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "waarde"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "PID"
+
+#: sys-utils/ldattach.c:144
+msgid "invalid iflag"
+msgstr "ongeldige invoervlag"
+
+#: sys-utils/ldattach.c:160
+#, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr " %s [opties] <lijnprotocol> <apparaat>\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+" -d, --debug uitgebreide meldingen tonen op "
+"standaardfoutuitvoer\n"
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr " -s, --speed WAARDE snelheid van seriële lijn instellen\n"
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr " -7, --sevenbits zeven bits voor Ă©Ă©n teken gebruiken\n"
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr " -8, --eightbits acht bits voor Ă©Ă©n teken gebruiken\n"
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr " -n, --noparity geen pariteitsbit gebruiken\n"
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr " -e, --evenparity even pariteit gebruiken\n"
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr " -o, --oddparity oneven pariteit gebruiken\n"
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr " -1, --onestopbit Ă©Ă©n stopbit gebruiken\n"
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr " -2, --twostopbits twee stopbits gebruiken\n"
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr " -i, --iflag [-]VLAG invoervlag inschakelen (of uit)\n"
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Mogelijke lijnprotocollen zijn:\n"
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"Mogelijke invoervlaggen zijn:\n"
+
+#: sys-utils/ldattach.c:266
+msgid "invalid speed argument"
+msgstr "ongeldige snelheid"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "ongeldige optie"
+
+#: sys-utils/ldattach.c:288
+msgid "invalid line discipline argument"
+msgstr "ongeldig lijnprotocol"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s is geen seriële lijn"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "kan terminaleigenschappen van %s niet bepalen"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "snelheid %d is niet mogelijk"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "kan terminaleigenschappen van %s niet instellen"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "kan lijnprotocol niet instellen"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "kan er geen achtergronddienst van maken"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ", beginpunt %ju"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ", maximale grootte %ju"
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", versleuteling %s (soort %u)"
+
+#: sys-utils/losetup.c:120
+#, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: instellen van capaciteit is mislukt"
+
+#: sys-utils/losetup.c:130
+#, c-format
+msgid "%s: detach failed"
+msgstr "%s: onthechten is mislukt"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+" %1$s [opties] [<lus-apparaat> | -f]\n"
+" %1$s [opties] <lus-apparaat> <bestand>\n"
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+" -a, --all alle gebruikte lus-apparaten tonen\n"
+" -d, --detach LUS-APPARAAT... deze apparaten onthechten\n"
+" -D, --detach-all alle gebruikte lus-apparaten onthechten\n"
+" -f, --find eerste ongebruikte lus-apparaat tonen\n"
+" -c, --set-capacity LUS-APPARAAT de grootte van het apparaat wijzigen\n"
+" -j, --associated BESTAND gerelateerden aan dit bestand tonen\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -e, --encryption SOORT deze soort versleuteling inschakelen\n"
+" -o, --offset GETAL op deze positie in het bestand beginnen\n"
+" --sizelimit GETAL slechts dit aantal bytes van bestand gebruiken\n"
+" -p, --pass-fd NUMMER wachtwoordtekst uit deze bestandsdescriptor "
+"lezen\n"
+" -P, --partscan gepartitioneerd lus-apparaat aanmaken\n"
+" -r, --read-only een alleen-lezen lus-apparaat instellen\n"
+" --show apparaatnaam tonen (bij '-f BESTAND')\n"
+" -v, --verbose gedetailleerde uitvoer produceren\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+"%s: waarschuwing: het bestand is kleiner dan 512 bytes -- het lus-apparaat "
+"kan onbruikbaar zijn of zelfs onzichtbaar voor systeemprogramma's"
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+"%s: waarschuwing: het bestand past niet in een 512-byte sector -- het einde "
+"van het bestand wordt genegeerd"
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, c-format
+msgid "%s: failed to use device"
+msgstr "%s: gebruiken van apparaat is mislukt"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr "ongeldige wachtwoordtekst-bestandsdescriptor"
+
+#: sys-utils/losetup.c:352
+msgid "no loop device specified"
+msgstr "geen lus-apparaat gegeven"
+
+#: sys-utils/losetup.c:354
+#, c-format
+msgid "%s failed to use device"
+msgstr "%s: gebruiken van apparaat is mislukt"
+
+#: sys-utils/losetup.c:359
+msgid "no file specified"
+msgstr "geen bestandsnaam gegeven"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr "de opties '%s' zijn alleen toegestaan bij instellen van lus-apparaat"
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr "de optie '--offset' is niet toegestaan in deze context"
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+msgid "couldn't lock into memory"
+msgstr "kan pagina's niet vastzetten in het geheugen"
+
+#: sys-utils/losetup.c:391
+msgid "not found unused device"
+msgstr "kan geen ongebruikt apparaat vinden"
+
+#: sys-utils/losetup.c:403
+#, c-format
+msgid "%s: failed to use backing file"
+msgstr "%s: kan basisbestand niet instellen"
+
+#: sys-utils/losetup.c:442
+msgid "find unused loop device failed"
+msgstr "kan geen ongebruikt lus-apparaat vinden"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "geen"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "semi"
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "compleet"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr "horizontaal"
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr "verticaal"
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr "logisch CPU-nummer"
+
+#: sys-utils/lscpu.c:238
+msgid "logical core number"
+msgstr "logisch kernnummer"
+
+#: sys-utils/lscpu.c:239
+msgid "logical socket number"
+msgstr "logisch socket-nummer"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr "logisch NUMA-node-nummer"
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr "logisch book-nummer"
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr "toont hoe caches gedeeld worden tussen CPU's"
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr "dispatching-modus van CPU op virtuele hardware"
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr "fysiek adres van een CPU"
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr "toont of de hypervisor de CPU toegewezen heeft"
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr "toont of Linux de CPU momenteel gebruikt"
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "fout: uname() is mislukt"
+
+#: sys-utils/lscpu.c:551
+msgid "failed to allocate memory"
+msgstr "reserveren van geheugen is mislukt"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr "J"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "N"
+msgstr "N"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+"# Hieronder volgt de ontleedbare uitvoer die als invoer voor\n"
+"# andere programma's gebruikt kan worden. Elk verschillend\n"
+"# item in elke kolom heeft een uniek ID, beginnend bij nul.\n"
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "Architectuur:"
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "CPU-modus(sen):"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr "Bytevolgorde:"
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr "CPU('s):"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr "Online CPU('s)-masker:"
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr "Online CPU('s)-lijst:"
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr "Offline CPU('s)-masker:"
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr "Offline CPU('s)-lijst:"
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "Draden per kern:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "Kern(en) per voet:"
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr "Voet(en) per boek:"
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr "Boek(en):"
+
+#: sys-utils/lscpu.c:1164
+msgid "Socket(s):"
+msgstr "CPU-voet(en):"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "NUMA-node(s):"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "Producent-ID:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "CPU-familie:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Model:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "Stepping:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "CPU-frequentie (MHz):"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr "BogoMIPS:"
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "Virtualisatie:"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr "Hypervisor:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Hypervisorproducent:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Virtualisatiesoort:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr "Dispatching-modus:"
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "%s-cache:"
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "NUMA-node%d CPU('s):"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+" -a, --all online en offline CPU's tonen (standaard bij '-"
+"e')\n"
+" -b, --online alleen online CPU's tonen (standaard bij '-p')\n"
+" -c, --offline alleen offline CPU's tonen\n"
+" -e, --extended[=LIJST] uitgebreide, leesbare uitvoer produceren\n"
+" -p, --parse[=LIJST] ontleedbare uitvoer produceren\n"
+" -s, --sysroot MAP deze map als hoofdmap gebruiken\n"
+" -x, --hex hexadecimale maskers tonen in plaats van lijsten\n"
+
+#: sys-utils/lscpu.c:1235
+#, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie lscpu(1).\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+"%s: de opties '--all', '--online', en '--offline' kunnen\n"
+"alleen gebruikt worden samen met '--extended' of '--parsable'\n"
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "alleen root kan optie '--%s' gebruiken (feitelijke UID is %u)"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "alleen root kan dat doen (feitelijke UID is %u)"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "alleen root kan optie '--%s' gebruiken"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr "alleen root kan dat doen"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr "'%s' uit %s (libmount %s)"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "%s: ontledingsfout: het item op regel %d wordt genegeerd"
+
+#: sys-utils/mount.c:158
+msgid "failed to read mtab"
+msgstr "lezen van mtab is mislukt"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr "%-25s: genegeerd\n"
+
+#: sys-utils/mount.c:221
+#, c-format
+msgid "%-25s: already mounted\n"
+msgstr "%-25s: is al aangekoppeld\n"
+
+#: sys-utils/mount.c:367
+#, c-format
+msgid "only root can mount %s on %s"
+msgstr "alleen root kan %s aankoppelen op %s"
+
+#: sys-utils/mount.c:370
+#, c-format
+msgid "%s is already mounted"
+msgstr "%s is al aangekoppeld"
+
+#: sys-utils/mount.c:374
+#, c-format
+msgid "can't find %s in %s"
+msgstr "kan %s niet vinden in %s"
+
+#: sys-utils/mount.c:381
+#, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "kan aankoppelingspunt %s niet vinden in %s"
+
+#: sys-utils/mount.c:384
+#, c-format
+msgid "can't find mount source %s in %s"
+msgstr "kan aankoppelingsbron %s niet vinden in %s"
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "kan bestandssysteemsoort niet bepalen, en er is geen aangegeven"
+
+#: sys-utils/mount.c:392
+msgid "you must specify the filesystem type"
+msgstr "u moet een bestandssysteemsoort aangeven"
+
+#: sys-utils/mount.c:396
+#, c-format
+msgid "can't find %s"
+msgstr "kan %s niet vinden"
+
+#: sys-utils/mount.c:398
+msgid "mount source not defined"
+msgstr "aankoppelingsbron is niet gedefinieerd"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+msgid "failed to parse mount options"
+msgstr "ontleden van aankoppelingsopties is mislukt"
+
+#: sys-utils/mount.c:410
+#, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr ""
+"%s: instellen van lus-apparaat is mislukt (vermoedelijk onbekend "
+"versleutelingstype)"
+
+#: sys-utils/mount.c:416
+#, c-format
+msgid "%s: mount failed"
+msgstr "%s: aankoppelen is mislukt"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "%s: bestandssysteem is aangekoppeld, maar mount(8) is mislukt"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, c-format
+msgid "mount point %s is not a directory"
+msgstr "aankoppelingspunt %s is geen map"
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr "u moet root zijn om aan te kunnen koppelen"
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr "%s is bezig"
+
+#: sys-utils/mount.c:459
+#, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "%s is al aangekoppeld of %s is bezig"
+
+#: sys-utils/mount.c:471
+#, c-format
+msgid " %s is already mounted on %s\n"
+msgstr " %s is al aangekoppeld op %s\n"
+
+#: sys-utils/mount.c:479
+#, c-format
+msgid "mount point %s does not exist"
+msgstr "aankoppelingspunt %s bestaat niet"
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr ""
+"aankoppelingspunt %s is een symbolische koppeling die nergens naar wijst"
+
+#: sys-utils/mount.c:486
+#, c-format
+msgid "special device %s does not exist"
+msgstr "apparaat %s bestaat niet"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+msgid "mount(2) failed"
+msgstr "mount(2) is mislukt"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr "apparaat %s bestaat niet (het pad bevat iets dat geen map is)"
+
+#: sys-utils/mount.c:510
+#, c-format
+msgid "%s not mounted or bad option"
+msgstr "%s is nog niet aangekoppeld, of een ongeldige optie"
+
+#: sys-utils/mount.c:512
+#, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "%s is geen aankoppelingspunt of een ongeldige optie"
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"onjuiste bestandssysteemsoort, ongeldige optie, ontbrekende codepagina,\n"
+" ontbrekend hulpprogramma, slecht superblok op %s, of een andere fout"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (voor sommige bestandssystemen (bijvoorbeeld nfs of cifs) kan\n"
+" een /sbin/mount.<type> hulpprogramma nodig zijn)\n"
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Soms staat er nuttige informatie in het systeemlog --\n"
+" probeer zoiets als: dmesg | tail\n"
+
+#: sys-utils/mount.c:533
+#, c-format
+msgid "%s: can't read superblock"
+msgstr "%s: kan superblok niet lezen"
+
+#: sys-utils/mount.c:537
+#, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "onbekende bestandssysteemsoort '%s'"
+
+#: sys-utils/mount.c:545
+#, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "%s is geen blok-apparaat, en stat(2) is mislukt... heel vreemd"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"de kernel herkent %s niet als een blok-apparaat\n"
+" (misschien is 'modprobe stuurprogramma' nodig?)"
+
+#: sys-utils/mount.c:550
+#, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "%s is geen blok-apparaat (misschien '-o loop' proberen?)"
+
+#: sys-utils/mount.c:552
+#, c-format
+msgid " %s is not a block device"
+msgstr " %s is geen blok-apparaat"
+
+#: sys-utils/mount.c:559
+#, c-format
+msgid "%s is not a valid block device"
+msgstr "%s is geen geldig blok-apparaat"
+
+#: sys-utils/mount.c:565
+#, c-format
+msgid "cannot mount %s read-only"
+msgstr "kan %s niet aankoppelen voor alleen-lezen"
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "%s is schrijfbeveiligd, maar expliciete optie '-w' is gegeven"
+
+#: sys-utils/mount.c:571
+#, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr ""
+"kan %s niet heraankoppelen als lezen-en-schrijven, want is schrijfbeveiligd"
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "%s is schrijfbeveiligd en wordt als alleen-lezen aangekoppeld"
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr "geen medium gevonden op %s"
+
+#: sys-utils/mount.c:591
+#, c-format
+msgid "mount %s on %s failed"
+msgstr "aankoppelen van %s op %s is mislukt"
+
+#: sys-utils/mount.c:613
+#, c-format
+msgid "%s: failed to parse"
+msgstr "%s: ontleden is mislukt"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+" %1$s [-hlV] | -a [opties]\n"
+" %1$s [opties] [--source] <bron> | [--target] <map>\n"
+" %1$s [opties] <bron> <map>\n"
+" %1$s <bewerking> <aankoppelingspunt> [<doel>]\n"
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, fuzzy, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+" -v, --verbose vermelden wat er gedaan wordt\n"
+" -V, --version programmaversie tonen en stoppen\n"
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr "geheugenreservering voor libmount-context is mislukt"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+msgid "failed to append options"
+msgstr "het achtervoegen van opties is mislukt"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+msgid "failed to set options pattern"
+msgstr "het instellen van het opties-patroon is mislukt"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+" %1$s [-qd] /pad/naar/map\n"
+" %1$s -x /dev/apparaat\n"
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+" -q, --quiet stille modus; niets weergeven\n"
+" -d, --fs-devno hoofd-:subapparaatnummer van bestandssysteem tonen\n"
+" -x, --devno hoofd-:subapparaatnummer van blok-apparaat tonen\n"
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s is geen aankoppelingspunt\n"
+
+#: sys-utils/mountpoint.c:208
+#, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s is een aankoppelingspunt\n"
+
+#: sys-utils/pivot_root.c:33
+#, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr " %s [opties] nieuwe_hoofdmap oude_hoofdmap\n"
+
+#: sys-utils/pivot_root.c:71
+#, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "wijzigen van hoofdmap van '%s' naar '%s' is mislukt"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr "adresruimtelimiet"
+
+#: sys-utils/prlimit.c:71
+msgid "max core file size"
+msgstr "maximum grootte van coredump-bestand"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+msgid "blocks"
+msgstr "blokken"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr "CPU-tijd"
+
+#: sys-utils/prlimit.c:72
+msgid "seconds"
+msgstr "seconden"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr "maximum gegevensgrootte"
+
+#: sys-utils/prlimit.c:74
+msgid "max file size"
+msgstr "maximum bestandsgrootte"
+
+#: sys-utils/prlimit.c:75
+msgid "max number of file locks held"
+msgstr "maximum aantal bestandsvergrendelingen"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr "maximum vastgezette geheugenruimte"
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr "maximum aantal bytes in POSIX-berichtenwachtrijen"
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr "maximum toegestane beleefdsheidsverlaging"
+
+#: sys-utils/prlimit.c:79
+msgid "max number of open files"
+msgstr "maximum aantal open bestanden"
+
+#: sys-utils/prlimit.c:80
+msgid "max number of processes"
+msgstr "maximum aantal processen"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr "maximum resident geheugengebruik"
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr "pagina's"
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr "maximum realtime-prioriteit"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr "tijdslimiet voor realtime-taken"
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr "microseconden"
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr "maximum aantal wachtende signalen"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr "maximum stack-grootte"
+
+#: sys-utils/prlimit.c:116
+msgid "resource name"
+msgstr "naam van hulpbron"
+
+#: sys-utils/prlimit.c:117
+msgid "resource description"
+msgstr "omschrijving van hulpbron"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr "zachte grens"
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr "harde grens (plafond)"
+
+#: sys-utils/prlimit.c:120
+msgid "units"
+msgstr "eenheid"
+
+#: sys-utils/prlimit.c:156
+#, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr " %s [opties] [-p PID]\n"
+
+#: sys-utils/prlimit.c:158
+#, c-format
+msgid " %s [options] COMMAND\n"
+msgstr " %s [opties] OPDRACHT\n"
+
+#: sys-utils/prlimit.c:160
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"Algemene opties:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <pid> alleen limieten van dit proces tonen\n"
+" -o, --output <lijst> te tonen uitvoerkolommen\n"
+" --noheadings geen kolomkoppen weergeven\n"
+" --raw ruwe uitvoeropmaak gebruiken\n"
+" --verbose gedetailleerdere uitvoer produceren\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+" -V, --version programmaversie tonen en stoppen\n"
+
+#: sys-utils/prlimit.c:169
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr ""
+"\n"
+"Hulpbronopties:\n"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, c-format
+msgid "failed to get old %s limit"
+msgstr "opvragen van oude limiet voor %s is mislukt"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr "zachte grens %s mag niet groter zijn dan de harde grens"
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr "Nieuwe grens voor %s: "
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr "onbegrensd"
+
+#: sys-utils/prlimit.c:365
+#, c-format
+msgid "failed to set the %s resource limit"
+msgstr "instellen van hulpbronlimiet %s is mislukt"
+
+#: sys-utils/prlimit.c:366
+#, c-format
+msgid "failed to get the %s resource limit"
+msgstr "opvragen van hulpbronlimiet %s is mislukt"
+
+#: sys-utils/prlimit.c:445
+#, c-format
+msgid "failed to parse %s limit"
+msgstr "ontleden van limiet %s is mislukt"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr "optie '--pid' mag slechts Ă©Ă©n keer gegeven worden"
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "optie '--pid' en een OPDRACHT gaan niet samen"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr " -m, --mapfile <bestand> (standaard zijn: '%s en\n"
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr " '%s')\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr " -p, --profile <bestand> (standaard is: '%s')\n"
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr " -M, --multiplier <maal> te gebruiken profileringsversneller\n"
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+" -i, --info alleen info over de sonderingsstap tonen \n"
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr " -v, --verbose gedetailleerde uitvoer produceren\n"
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+" -a, --all alle symbolen tonen, zelfs als aantal nul is\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+" -b, --histbin individuele aantallen tonen voor histogram-bin\n"
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+" -s, --counters individuele tellers tonen binnen functies\n"
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+" -r, --reset alle tellers terugzetten (alleen door root)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+" -n, --no-auto automatische bytevolgordedetectie uitschakelen\n"
+
+#: sys-utils/readprofile.c:237
+#, c-format
+msgid "error writing %s"
+msgstr "fout bij schrijven van %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+"Omgekeerde byte-volgorde wordt aangenomen.\n"
+"Gebruik '-n' om de normale byte-volgorde te gebruiken."
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Bemonsteringsstap: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s(%i): foutieve regel in symbolenbestand"
+
+#: sys-utils/readprofile.c:310
+#, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "kan \"_stext\" niet vinden in %s"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr "profileringsadres valt buiten bereik. Verkeerd symbolenbestand?"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "totaal"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+" %1$s [-n] <prioriteit> [-p|--pid] <PID>...\n"
+" %1$s [-n] <prioriteit> -g|--pgrp <PGID>...\n"
+" %1$s [-n] <prioriteit> -u|--user <gebruiker>...\n"
+" %1$s -h | --help | -v | --version\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+" -g, --pgrp <ID> te beĂŻnvloeden procesgroeps-ID\n"
+" -h, --help deze hulptekst tonen\n"
+" -n, --priority <getal> te gebruiken beleefdsheidstoename\n"
+" -p, --pid <ID> te beĂŻnvloeden proces-ID\n"
+" -u, --user <naam|ID> te beĂŻnvloeden gebruiker (naam of UID)\n"
+" -v, --version programmaversie tonen\n"
+
+#: sys-utils/renice.c:70
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie renice(1).\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "'renice' uit %s\n"
+
+#: sys-utils/renice.c:139
+#, c-format
+msgid "unknown user %s"
+msgstr "onbekende gebruiker %s"
+
+#: sys-utils/renice.c:146
+#, c-format
+msgid "bad value %s"
+msgstr "ongeldige waarde %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr "proces-ID"
+
+#: sys-utils/renice.c:161
+msgid "user ID"
+msgstr "gebruikers-ID"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr "procesgroeps-ID"
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "achterhalen van prioriteit voor %d is mislukt (%s)"
+
+#: sys-utils/renice.c:172
+#, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "instellen van prioriteit voor %d is mislukt (%s)"
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d (%s): oude prioriteit is %d, nieuwe prioriteit is %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+" -d, --device <apparaat> te gebruiken hardwareklok (rtc0|rtc1|...)\n"
+" -l, --local de hardwareklok bevat lokale tijd\n"
+" -m, --mode <modus> slaapmodus (waarden: standby|mem|disk|...\n"
+" oftewel: wachtstand,pauzestand,"
+"slaapstand,...)\n"
+" -n, --dry-run alles doen behalve gaan slapen\n"
+" -s, --seconds <seconden> aantal te slapen seconden\n"
+" -t, --time <tijdstip> ontwakingstijdstip\n"
+" -u, --utc de hardwareklok bevat UTC\n"
+" -v, --verbose gedetailleerde uitvoer produceren\n"
+
+#: sys-utils/rtcwake.c:156
+msgid "read rtc time failed"
+msgstr "lezen van hardwarekloktijd is mislukt"
+
+#: sys-utils/rtcwake.c:161
+msgid "read system time failed"
+msgstr "lezen van systeemtijd is mislukt"
+
+#: sys-utils/rtcwake.c:179
+msgid "convert rtc time failed"
+msgstr "omzetten van hardwarekloktijd is mislukt"
+
+#: sys-utils/rtcwake.c:239
+msgid "set rtc alarm failed"
+msgstr "zetten van de wekker is mislukt"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr "inschakelen van de wekker is mislukt"
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr "zetten van de wekker is mislukt"
+
+#: sys-utils/rtcwake.c:351
+msgid "read rtc alarm failed"
+msgstr "lezen van de wekker is mislukt"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr "wekker: uit\n"
+
+#: sys-utils/rtcwake.c:374
+msgid "convert time failed"
+msgstr "omzetten van hardwarekloktijd is mislukt"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr "wekker: aan %s"
+
+#: sys-utils/rtcwake.c:438
+#, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "onbekende slaaptoestand '%s'"
+
+#: sys-utils/rtcwake.c:448
+msgid "invalid seconds argument"
+msgstr "ongeldig aantal seconden"
+
+#: sys-utils/rtcwake.c:455
+msgid "invalid time argument"
+msgstr "ongeldige tijd"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: aangenomen wordt dat de hardwareklok UTC bevat...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "UTC wordt gebruikt.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Lokale tijd wordt gebruikt.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr "u dient een wektijd op te geven, via '-s' of '-t'"
+
+#: sys-utils/rtcwake.c:508
+#, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "wekgebeurtenissen voor %s zijn niet ingeschakeld"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "wektijdstip %ld, systeemtijd %ld, hardwarekloktijd %ld, seconden %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr "toestand opslaan naar \"%s\" is niet beschikbaar"
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr "tijd loopt niet achteruit naar %s"
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: ontwaking via %s op %s"
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: ontwaking uit '%s' via %s op %s"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr "slaapmodus: nee -- gestopt\n"
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr "slaapmodus: uit -- uitvoeren van %s\n"
+
+#: sys-utils/rtcwake.c:578
+#, c-format
+msgid "unable to execute %s"
+msgstr "kan %s niet uitvoeren"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr "slaapmodus: aan -- lezen van hardwareklok\n"
+
+#: sys-utils/rtcwake.c:592
+msgid "rtc read failed"
+msgstr "lezen van hardwareklok is mislukt"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr "slaapmodus: uitgeschakeld -- wekker wordt uitgeschakeld\n"
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr "slaapmodus: tonen -- wekkerinfo wordt getoond\n"
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr "slaapmodus: %s -- de computer gaat slapen\n"
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr "uitschakelen van hardwareklok-interrupt is mislukt"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Aanzetten van %s.\n"
+
+#: sys-utils/setarch.c:94
+#, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr " %s%s [opties] [programma [programma-argumenten]]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -v, --verbose melden welke opties ingeschakeld worden\n"
+" -B, --32bit ADDR_LIMIT_32BIT inschakelen\n"
+" -F, --fdpic-funcptrs functiepointers naar descriptors laten wijzen\n"
+" -I, --short-inode SHORT_INODE inschakelen\n"
+" -L, --addr-compat-layout virtueel geheugen op andere manier toewijzen\n"
+" -R, --addr-no-randomize virtuele adresruimte niet husselen\n"
+" -S, --whole-seconds WHOLE_SECONDS inschakelen\n"
+" -T, --sticky-timeouts STICKY_TIMEOUTS inschakelen\n"
+" -X, --read-implies-exec READ_IMPLIES_EXEC inschakelen\n"
+" -Z, --mmap-page-zero MMAP_PAGE_ZERO inschakelen\n"
+" -3, --3gb gebruikte adresruimte tot 3 GB beperken\n"
+" --4gb (genegeerd, slechts herkend voor "
+"compatibiliteit)\n"
+" --uname-2.6 UNAME26 inschakelen\n"
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s\n"
+"Typ '%s --help' voor meer informatie."
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr "Typ '%s --help' voor meer informatie."
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: Onbekende architectuur"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Te weinig argumenten"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Instellen van systeemeigenschappen voor %s is mislukt"
+
+#: sys-utils/setsid.c:28
+#, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr " %s [opties] <programma> [<argument>...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr " -c, --ctty de sturende terminal instellen op de huidige\n"
+
+#: sys-utils/setsid.c:79
+msgid "fork"
+msgstr "fork() is mislukt"
+
+#: sys-utils/setsid.c:90
+msgid "setsid failed"
+msgstr "setsid() is mislukt"
+
+#: sys-utils/setsid.c:94
+msgid "failed to set the controlling terminal"
+msgstr "het instellen van de sturende terminal is mislukt"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "execvp() is mislukt"
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr "swapoff %s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "U bent niet root."
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: swapoff is mislukt"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr " %s [opties] [<naam>]\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all alle wisselgebieden uit /proc/swaps uitschakelen\n"
+" -v, --verbose gedetailleerde uitvoer produceren\n"
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"De parameter <naam> kan zijn:\n"
+" -L <label> | LABEL=<label> label van te gebruiken apparaat\n"
+" -U <uuid> | UUID=<uuid> UUID van te gebruiken apparaat\n"
+" <apparaat> naam van te gebruiken apparaat\n"
+" <bestand> naam van te gebruiken bestand\n"
+
+#: sys-utils/swapon.c:89
+msgid "device file or partition path"
+msgstr "apparaatbestand of partitiepad"
+
+#: sys-utils/swapon.c:90
+msgid "type of the device"
+msgstr "soort apparaat"
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr "grootte van wisselgebied"
+
+#: sys-utils/swapon.c:92
+msgid "bytes in use"
+msgstr "gebruikte bytes"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr "wisselprioriteit"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr "%s\t\t\t\tSoort\t\tGrootte\tGebruikt\tPrioriteit\n"
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr "Bestandsnaam"
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: herinitialisatie van het wisselgeheugen"
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "execv() is mislukt"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: 'lseek' is mislukt"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: schrijven van vingerafdruk is mislukt"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+"%s: wisselgeheugenvingerafdruk gevonden: versie %d, paginagrootte %d, %s "
+"byte-volgorde"
+
+# EĂ©n van de volgende twee berichten wordt ingevuld voor bovenstaand woord "byte-volgorde".
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "verschillende"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "zelfde"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: onveilige toegangsrechten: %04o -- aangeraden wordt: %04o"
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: onveilige bestandseigenaar %d -- 0 (root) wordt aangeraden"
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: wordt overgeslagen -- het lijkt gaten te hebben."
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: achterhalen van grootte is mislukt"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: lezen van kop van wisselgeheugen is mislukt"
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr "%s: paginagrootte=%d, wisselgrootte=%llu, apparaatgrootte=%llu"
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+"%s: opgeslagen grootte (0x%08llx) van wisselgeheugen is groter dan de "
+"feitelijke ruimte"
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: opgeslagen paginagrootte klopt niet"
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+"%s: opgeslagen paginagrootte klopt niet;\n"
+"gebruik '--fixpgsz' om dit te corrigeren"
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr "%s: slaapgegevens gevonden -- vingerafdruk wordt opnieuw geschreven"
+
+#: sys-utils/swapon.c:555
+#, c-format
+msgid "swapon %s\n"
+msgstr "swapon %s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s: swapon is mislukt"
+
+#: sys-utils/swapon.c:607
+#, c-format
+msgid "failed to parse %s"
+msgstr "ontleden van %s is mislukt"
+
+#: sys-utils/swapon.c:650
+#, fuzzy
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all alle wisselgebieden uit /etc/fstab inschakelen\n"
+" -d, --discard vrijgemaakte pagina's verwerpen vóór hergebruik\n"
+" -e, --ifexists niet-bestaande apparaten stilzwijgend overslaan\n"
+" -f, --fixpgsz wisselgebied herinitialiseren indien nodig\n"
+" -p, --priority <pri> te gebruiken prioriteit voor wisselgebied\n"
+" -s, --summary alleen samenvatting van gebruikte wisselgebieden "
+"tonen\n"
+" -v, --verbose gedetailleerde uitvoer produceren\n"
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"De parameter <naam> kan zijn:\n"
+" -L <label> | LABEL=<label> label van te gebruiken apparaat\n"
+" -U <uuid> | UUID=<uuid> UUID van te gebruiken apparaat\n"
+" PARTLABEL=<label> label van te gebruiken partitie\n"
+" PARTUUID=<uuid> UUID van te gebruiken partitie\n"
+" <apparaat> naam van te gebruiken apparaat\n"
+" <bestand> naam van te gebruiken bestand\n"
+
+#: sys-utils/swapon.c:676
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr ""
+"\n"
+"Beschikbare kolommen (voor '--show') zijn:\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "kan geen apparaat vinden voor %s"
+
+#: sys-utils/switch_root.c:57
+msgid "failed to open directory"
+msgstr "openen van map is mislukt"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+msgid "stat failed"
+msgstr "opvragen van bestandsstatus is mislukt"
+
+#: sys-utils/switch_root.c:75
+msgid "failed to read directory"
+msgstr "kan map niet lezen"
+
+#: sys-utils/switch_root.c:107
+#, c-format
+msgid "failed to unlink %s"
+msgstr "verwijderen van %s is mislukt"
+
+#: sys-utils/switch_root.c:144
+#, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "aankoppelen met verplaatsing van %s naar %s is mislukt"
+
+#: sys-utils/switch_root.c:146
+#, c-format
+msgid "forcing unmount of %s"
+msgstr "gedwongen afkoppeling van %s"
+
+#: sys-utils/switch_root.c:152
+#, c-format
+msgid "failed to change directory to %s"
+msgstr "wijzigen van huidige map naar %s is mislukt"
+
+#: sys-utils/switch_root.c:160
+#, c-format
+msgid "failed to mount moving %s to /"
+msgstr "aankoppelen met verplaatsing van %s naar / is mislukt"
+
+#: sys-utils/switch_root.c:166
+msgid "failed to change root"
+msgstr "wijzigen van hoofdmap is mislukt"
+
+#: sys-utils/switch_root.c:185
+#, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr " %s [opties] <nieuwe_hoofdmap <init> <argumenten_voor_init>\n"
+
+#: sys-utils/switch_root.c:217
+msgid "failed. Sorry."
+msgstr "is mislukt, sorry"
+
+#: sys-utils/switch_root.c:220
+#, c-format
+msgid "cannot access %s"
+msgstr "kan geen toegang tot %s verkrijgen"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+msgid " -r, --reset reset the port\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+msgid "bad value"
+msgstr "ongeldige waarde"
+
+#: sys-utils/tunelp.c:271
+#, c-format
+msgid "%s not an lp device"
+msgstr "%s is geen printerapparaat"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "ioctl(LPGETSTATUS) is mislukt"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "status van %s: %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", bezig"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", gereed"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", papier is op"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", staat aan"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", fout"
+
+#: sys-utils/tunelp.c:312
+msgid "ioctl failed"
+msgstr "ioctl() is mislukt"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "ioctl(LPGETIRQ) is mislukt"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s gebruikt IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s wordt actief gepolst\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+" %1$s [-hV] | -a [opties]\n"
+" %1$s [opties] <bron> | <map>\n"
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, c-format
+msgid "%s: umount failed"
+msgstr "%s: afkoppelen is mislukt"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "%s: bestandssysteem is afgekoppeld, maar mount(8) is mislukt"
+
+#: sys-utils/umount.c:202
+#, c-format
+msgid "%s: invalid block device"
+msgstr "%s: ongeldig blok-apparaat"
+
+#: sys-utils/umount.c:208
+#, c-format
+msgid "%s: can't write superblock"
+msgstr "%s: kan niet naar superblok schrijven"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"%s: doel is bezig\n"
+" (Welke processen het apparaat gebruiken kan mogelijk\n"
+" gevonden worden met behulp van lsof(8) of fuser(1).)"
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr "%s: u moet root zijn om te kunnen afkoppelen"
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "%s: blok-apparaten niet toegestaan op bestandssysteem"
+
+#: sys-utils/umount.c:272
+msgid "failed to set umount target"
+msgstr "instellen van afkoppelingsdoel is mislukt"
+
+#: sys-utils/unshare.c:60
+#, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr " %s [opties] <programma> [<argument>...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+"Voert een programma uit met sommige naamsruimten ontkoppeld van "
+"moederproces.\n"
+"\n"
+" -i, --ipc 'System V IPC'-naamsruimte niet delen\n"
+" -m, --mount aankoppelingennaamsruimte niet delen\n"
+" -n, --net netwerknaamsruimte niet delen\n"
+" -u, --uts UTS-naamsruimte niet delen (hostnaam en dergelijke)\n"
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "unshare() is mislukt"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr "Kaart heeft voordien de processor gereset"
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr "Externe doorvoer 1"
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr "Externe doorvoer 2"
+
+#: sys-utils/wdctl.c:47
+msgid "Fan failed"
+msgstr "Ventilator is stuk"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr "Antwoord op keep-alive-ping"
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr "Ondersteunt magisch afsluitingsteken"
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr "Reset wegens oververhitting van processor"
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr "Voedingsspanning is te hoog"
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr "Slechte voedingsspanning of voeding is stuk"
+
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr "Pre-tijdslimiet (in seconden)"
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr "Tijdslimiet instellen (in seconden)"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr "vlagnaam"
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr "vlagomschrijving"
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr "vlagstatus"
+
+#: sys-utils/wdctl.c:73
+msgid "flag boot status"
+msgstr "vlagopstartstatus"
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr "watchdog-apparaatnaam"
+
+#: sys-utils/wdctl.c:108
+#, c-format
+msgid "unknown flag: %s"
+msgstr "onbekende vlag: %s"
+
+#: sys-utils/wdctl.c:145
+#, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr " %s [opties] [<apparaat>...]\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, c-format
+msgid "The default device is %s.\n"
+msgstr "Het standaardapparaat is %s.\n"
+
+#: sys-utils/wdctl.c:168
+msgid "Available columns:\n"
+msgstr "Beschikbare kolommen:\n"
+
+#: sys-utils/wdctl.c:254
+#, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: onbekende vlaggen 0x%x\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr "%s: watchdog wordt al gebruikt -- gestopt"
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s: uitschakelen van watchdog is mislukt"
+
+#: sys-utils/wdctl.c:307
+#, c-format
+msgid "cannot set timeout for %s"
+msgstr "kan tijdslimiet voor %s niet instellen"
+
+#: sys-utils/wdctl.c:345
+#, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s: kan geen informatie over watchdog verkrijgen"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%-15s%2i seconden\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr "Tijdslimiet:"
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr "Pre-tijdslimiet:"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr "Resttijd:"
+
+#: sys-utils/wdctl.c:564
+msgid "Device:"
+msgstr "Apparaat:"
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%-15s%s [versie %x]\n"
+
+#: term-utils/agetty.c:435
+#, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: kan hoofdmap niet wijzigen naar %s: %m"
+
+#: term-utils/agetty.c:440
+#, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s: kan huidige werkmap niet wijzigen naar %s: %m"
+
+#: term-utils/agetty.c:445
+#, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: kan procesprioriteit niet wijzigen: %m"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: kan %s niet uitvoeren: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, c-format
+msgid "failed to allocate memory: %m"
+msgstr "reserveren van geheugen is mislukt: %m"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "ongeldige tijdslimiet: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "ongeldige snelheid: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "te veel alternatieve snelheden"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: kan deze niet openen als standaardinvoer: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: is geen byte-apparaat"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: is niet open voor lezen-en-schrijven"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: probleem met verdubbelen van standaardinvoer en -uitvoer: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr "NumLock uit"
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr "NumLock aan"
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr "CapsLock aan"
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr "ScrollLock aan"
+
+#: term-utils/agetty.c:1287
+#, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr ""
+"Hint: %s\n"
+"\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: gelezen: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: invoeroverloop"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+"\n"
+"Gebruik:\n"
+" %1$s [opties] <lijn> <baudrate>,... [<terminaltype>]\n"
+" %1$s [opties] <baudrate>,... <lijn> [<terminaltype>]\n"
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "gebruiker"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "gebruikers"
+
+#: term-utils/mesg.c:74
+#, c-format
+msgid " %s [options] [y | n]\n"
+msgstr " %s [opties] [ y | n ]\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose vermelden wat er gedaan wordt\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: term-utils/mesg.c:121
+msgid "ttyname failed"
+msgstr "ttyname() is mislukt"
+
+#: term-utils/mesg.c:128
+msgid "is y"
+msgstr "is 'y' (ja)"
+
+#: term-utils/mesg.c:131
+msgid "is n"
+msgstr "is 'n' (nee)"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, c-format
+msgid "change %s mode failed"
+msgstr "verandering van modus van %s is mislukt"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr "schrijftoegang tot uw terminal is toegestaan"
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr "schrijftoegang tot uw terminal is geweigerd"
+
+#: term-utils/mesg.c:153
+#, c-format
+msgid "invalid argument: %s"
+msgstr "ongeldig argument: %s"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"uitvoerbestand '%s' is een symbolische koppeling;\n"
+"gebruik '--force' als u deze echt wilt gebruiken.\n"
+"Script is niet gestart."
+
+#: term-utils/script.c:132
+#, c-format
+msgid " %s [options] [file]\n"
+msgstr " %s [opties] [bestand]\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --append aan het uitvoerbestand toevoegen\n"
+" -c, --command OPDRACHT deze opdracht uitvoeren i.p.v. interactieve shell\n"
+" -e, --return de afsluitwaarde van het dochterproces "
+"retourneren\n"
+" -f, --flush buffer leegmaken na elke schrijfopdracht\n"
+" --force uitvoerbestand ook gebruiken als het een koppeling "
+"is\n"
+" -q, --quiet geen meldingen geven\n"
+" -t, --timing[=BESTAND] timingsgegevens naar standaardfoutuitvoer (of "
+"bestand)\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script is gestart, het bestand heet '%s'.\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Script is gestart op %s."
+
+#: term-utils/script.c:401
+msgid "cannot write script file"
+msgstr "kan scriptbestand niet schrijven"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script is beëindigd op %s."
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script is beëindigd, het bestand heet '%s'.\n"
+
+#: term-utils/script.c:513
+msgid "openpty failed"
+msgstr "openpty() is mislukt"
+
+#: term-utils/script.c:549
+msgid "out of pty's"
+msgstr "onvoldoende PTY's"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr " %s [opties] [-t] timingsbestand [scriptbestand [versnelling]]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -t, --timing <bestand> te gebruiken script-timingsbestand\n"
+" -s, --typescript <bestand> te gebruiken terminalsessie-scriptbestand\n"
+" -d, --divisor <getal> de uitvoering versnellen met deze factor\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "er werd een getal verwacht, maar '%s' werd gevonden"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "versnelling is '%s'"
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "schrijven naar standaarduitvoer is mislukt"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "onverwacht einde van bestand op %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "kan scriptbestand %s niet lezen"
+
+#: term-utils/scriptreplay.c:185
+msgid "wrong number of arguments"
+msgstr "onjuist aantal argumenten"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "kan timingsbestand %s niet lezen"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "timingsbestand %s: %lu: onverwachte opmaak"
+
+#: term-utils/setterm.c:674
+msgid "Argument error."
+msgstr "Onjuist argument."
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+msgid "cannot force blank"
+msgstr "kan scherm niet op zwart zetten"
+
+#: term-utils/setterm.c:1076
+msgid "cannot force unblank"
+msgstr "kan scherm niet uit zwartstand halen"
+
+#: term-utils/setterm.c:1082
+msgid "cannot get blank status"
+msgstr "kan schermtoestand niet opvragen"
+
+#: term-utils/setterm.c:1094
+msgid "cannot (un)set powersave mode"
+msgstr "kan stroombesparingsmodus niet instellen"
+
+#: term-utils/setterm.c:1114
+#, c-format
+msgid "can not open dump file %s for output"
+msgstr "kan dumpbestand %s niet openen om te schrijven"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+msgid "klogctl error"
+msgstr "klogctl() is mislukt"
+
+#: term-utils/setterm.c:1205
+msgid "Error writing screendump"
+msgstr "Fout bij schrijven van schermafdruk"
+
+#: term-utils/setterm.c:1212
+#, c-format
+msgid "Couldn't read %s"
+msgstr "Kan %s niet lezen"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr "$TERM is niet gedefinieerd."
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr "kan 'terminfo'-gegevensbank niet vinden"
+
+#: term-utils/setterm.c:1276
+#, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: onbekend terminaltype"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr "terminal is een telex of printer"
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+"**Interne programmafout**: te veel IOV's\n"
+"[de programmacode in term-utils/ttymsg.c moet aangepast worden]"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "excessief lang argument"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "kan geen nieuw proces starten"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork(): %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr "%s: SLECHTE FOUTMELDING, bericht is veel te lang"
+
+#: term-utils/wall.c:83
+#, c-format
+msgid " %s [options] [<file>]\n"
+msgstr " %s [opties] [<bestand>]\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -n, --nobanner kopregels niet weergeven (werkt alleen voor root)\n"
+" -t, --timeout <aantal> maximaal dit aantal seconden wachten, dan opgeven\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr "optie '--nobanner' is alleen beschikbaar voor root"
+
+#: term-utils/wall.c:130
+#, c-format
+msgid "invalid timeout argument: %s"
+msgstr "ongeldige tijdslimiet: %s"
+
+#: term-utils/wall.c:202
+msgid "cannot get passwd uid"
+msgstr "kan gebruikers-ID niet achterhalen"
+
+#: term-utils/wall.c:207
+msgid "cannot get tty name"
+msgstr "kan naam van terminal niet achterhalen"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Bericht van %s@%s"
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr "zal %s niet lezen; gebruik standaardinvoer"
+
+#: term-utils/wall.c:275
+msgid "fread failed"
+msgstr "fread() is mislukt"
+
+#: term-utils/write.c:81
+#, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr " %s [opties] <gebruiker> [<terminalnaam>]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr "kan de naam van uw terminal niet vinden"
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr "u hebt berichtentoegang uitgezet"
+
+#: term-utils/write.c:168
+#, c-format
+msgid "%s is not logged in on %s"
+msgstr "%s is niet ingelogd op %s"
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr "%s heeft berichten uitgezet op %s"
+
+#: term-utils/write.c:269
+#, c-format
+msgid "%s is not logged in"
+msgstr "%s is niet ingelogd"
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr "%s heeft berichten uitgezet"
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "%s is meerdere keren ingelogd; er wordt geschreven naar %s"
+
+#: term-utils/write.c:326
+#, c-format
+msgid "tty path %s too long"
+msgstr "terminalpad %s is te lang"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Bericht van %s@%s (als %s) op %s om %s..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Bericht van %s@%s op %s om %s..."
+
+#: term-utils/write.c:372
+msgid "carefulputc failed"
+msgstr "carefulputc() is mislukt"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -b, --no-backspaces geen backspaces produceren\n"
+" -f, --fine halve voorwaartse regelopschuiving toestaan\n"
+" -p, --pass onbekende stuurcodereeksen doorgeven\n"
+" -h, --tabs spaties omzetten in tabs\n"
+" -x, --spaces tabs omzetten in spaties\n"
+" -l, --lines AANTAL minstens dit aantal regels bufferen\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -H, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+"%s keer gelezen van standaardinvoer en geschreven naar standaarduitvoer\n"
+"\n"
+
+#: text-utils/col.c:144
+msgid "write error."
+msgstr "schrijffout"
+
+#: text-utils/col.c:199
+msgid "bad -l argument"
+msgstr "ongeldig argument van '-l'"
+
+# Voor %s wordt Ă©Ă©n van de twee nakomende berichtjes ingevuld.
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr "Waarschuwing: kan niet terug %s."
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "tot vóór eerste regel"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- regel is al doorgesluisd"
+
+#: text-utils/colcrt.c:314
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"Gebruik: %s [opties] [<bestand>...]\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -, --no-underlining alle onderstrepingen onderdrukken\n"
+" -2, --half-lines alle halfregels weergeven\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: text-utils/colrm.c:59
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"Gebruik: %s [<beginkolom> [<eindkolom>]]\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: text-utils/colrm.c:185
+msgid "first argument"
+msgstr "eerste argument"
+
+#: text-utils/colrm.c:187
+msgid "second argument"
+msgstr "tweede argument"
+
+#: text-utils/column.c:90
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"Gebruik: %s [opties] [<bestand>...]\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+" -c, --columns <breedte> breedte van de uitvoer in aantal tekens\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+" -s, --separator <tekens> scheidingstekenreeks voor tabellen\n"
+" -t, --table een tabel aanmaken\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -x, --fillrows rijen eerder vullen dan kolommen\n"
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie column(1).\n"
+
+#: text-utils/column.c:150
+msgid "invalid columns argument"
+msgstr "ongeldig aantal kolommen"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr "regel %d is te lang; uitvoer wordt afgekapt"
+
+#: text-utils/display.c:262
+msgid "all input file arguments failed"
+msgstr "alle invoerbestandsargumenten zijn patat"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+"Het aanroepen van 'hexdump' als 'od' wordt ontraden;\n"
+"gebruik hiervoor in de plaats de 'od' van GNU coreutils."
+
+#: text-utils/hexsyntax.c:123
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr ""
+"\n"
+"Gebruik: %s [opties] <bestand>...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -b eenbytes-octale weergave\n"
+" -c eenbytes-tekstuele weergave\n"
+" -C kanonieke weergave: hex plus ASCII\n"
+" -d tweebytes-decimale weergave\n"
+" -o tweebytes-octale weergave\n"
+" -x tweebytes-hexadecimale weergave\n"
+" -e OPMAAK te gebruiken opmaaktekenreeks voor weergave\n"
+" -f OPMAAKBESTAND te gebruiken opmaaktekenreeksen uit dit bestand halen\n"
+" -n AANTAL slechts dit aantal bytes van de invoer weergeven\n"
+" -s POSITIE op deze positie in het bestand beginnen\n"
+" -v gelijkende regels niet samendrukken\n"
+" -V programmaversie tonen en stoppen\n"
+"\n"
+
+#: text-utils/more.c:300
+#, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr ""
+"Gebruik: %s [opties] <bestand>...\n"
+"\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+"Opties:\n"
+" -d hulp tonen in plaats van te piepen\n"
+" -f logische regels in plaats van schermregels tellen\n"
+" -l pauze na nieuwepagina (FF) onderdrukken\n"
+" -p niet scrollen; scherm wissen en tekst weergeven\n"
+" -c niet scrollen; tekst weergeven en regeleinden wissen\n"
+" -u onderstrepingen weglaten\n"
+" -s meerdere lege regels samendrukken tot eentje\n"
+" -GETAL te gebruiken aantal regels per scherm\n"
+" +GETAL bestand weergeven vanaf dit regelnummer\n"
+" +/TEKENS bestand weergeven vanaf deze tekenreeks\n"
+" -V programmaversie tonen en stoppen\n"
+
+#: text-utils/more.c:540
+#, c-format
+msgid "more (%s)\n"
+msgstr "'more' uit %s\n"
+
+#: text-utils/more.c:544
+#, c-format
+msgid "unknown option -%s"
+msgstr "onbekende optie '-%s'"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: map ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Geen tekstbestand ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Gebruik Q of q om af te sluiten]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Meer--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Volgend bestand: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Druk op de spatiebalk om verder te gaan; 'q' om af te sluiten.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...%d pagina's terug"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...1 pagina terug"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...1 regel overslaand"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...%d regels overslaand"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Terug***\n"
+"\n"
+
+#: text-utils/more.c:1339
+msgid "No previous regular expression"
+msgstr "Geen eerdere reguliere expressie"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"Aan de meeste opdrachten kan een geheel getal (k) voorafgaan.\n"
+"De standaardwaarde staat tussen rechte haken. Een ster (*)\n"
+"geeft aan dat de gegeven k de nieuwe standaardwaarde wordt.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<spatie> De volgende k regels tonen [huidige schermgrootte]\n"
+"z De volgende k regels tonen [huidige schermgrootte]*\n"
+"<enter> De volgende k regels tonen [1]*\n"
+"d of ctrl-D De tekst k regels scrollen [11]*\n"
+"q of Q of ctrl-C Afsluiten\n"
+"s Een scherm verder en k regels overslaan [1]\n"
+"f Een scherm verder en k schermen overslaan [1]\n"
+"b of ctrl-B Een scherm terug en k schermen overslaan [1]\n"
+"= Huidige regelnummer tonen\n"
+"/<reguliere exp.> De k-de overeenkomst van deze expressie zoeken [1]\n"
+"n De k-de overeenkomst van vorige expressie zoeken [1]\n"
+"' Terug naar waar de vorige zoekopdracht startte\n"
+"!<cmd> of :!<cmd> De opdracht <cmd> in een sub-shell uitvoeren\n"
+"v Editor starten (beginnend op de huidige regel)\n"
+"ctrl-L Het scherm verversen (opnieuw tekenen)\n"
+":n Naar het k-de volgende bestand [1]\n"
+":p Naar het k-de vorige bestand [1]\n"
+":f Huidige bestandsnaam en regelnummer tonen\n"
+". De vorige opdracht herhalen\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Druk op 'h' voor instructies.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" regel %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Geen bestand] regel %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Overloop\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...overslaand\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Patroon niet gevonden\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Patroon niet gevonden"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "exec() is mislukt\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "kan geen nieuw proces starten\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Verder "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Verder naar bestand "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Terug naar bestand "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Regel is te lang"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Geen eerdere opdracht"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "regel is te lang"
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr "byte-aantal met meerdere conversietekens"
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "ongeldig byte-aantal voor conversieteken %s"
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "%%s vereist een precisie of een byte-aantal"
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr "ongeldige opmaak {%s}"
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr "ongeldig conversieteken %%%s"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+"-------------------------------------------------------\n"
+" h dit hulpscherm tonen\n"
+" q of Q programma afsluiten\n"
+" <Enter> volgende pagina\n"
+" f pagina overslaan\n"
+" d of ^D volgende halve pagina\n"
+" l volgende regel\n"
+" $ laatste pagina\n"
+" /regex/ vooruit zoeken naar reguliere expressie\n"
+" ?regex? of ^regex^ achteruit zoeken naar reguliere expressie\n"
+" . of ^L scherm verversen\n"
+" w of z paginagrootte instellen en naar volgende pagina\n"
+" s BESTAND huidige bestand opslaan in BESTAND\n"
+" !OPDRACHT deze OPDRACHT uitvoeren in de shell\n"
+" p naar vorige bestand gaan\n"
+" n naar volgende bestand gaan\n"
+"\n"
+"Veel opdrachten accepteren een voorafgaand getal, bijvoorbeeld:+1<Enter> "
+"(volgende pagina); -1<Enter> (vorige pagina); 1<Enter> (eerste pagina).\n"
+"\n"
+"Zie pg(1) voor meer informatie.\n"
+"-------------------------------------------------------\n"
+
+#: text-utils/pg.c:224
+#, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr " %s [opties] [+regel] [+/patroon/] [bestanden]\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr " -GETAL aantal regels per pagina\n"
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr " -c scherm wissen alvorens weergave te beginnen\n"
+
+#: text-utils/pg.c:229
+msgid " -e do not pause at end of a file\n"
+msgstr " -e niet pauzeren aan einde van bestand\n"
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr " -f lange regels niet opsplitsen\n"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr " -n opdracht afsluiten met regeleindeteken\n"
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr " -p <prompt> te gebruiken prompt\n"
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr " -r shell-stuurtekens niet toestaan\n"
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr " -s meldingen tonen op standaarduitvoer\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr " +GETAL bij dit regelnummer beginnen\n"
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr " +/patroon/ bij regel beginnen die dit patroon bevat\n"
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr " -h deze hulptekst tonen en stoppen\n"
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr " -V programmaversie tonen en stoppen\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: optie vereist een argument -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: ongeldige optie -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...verder...\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...terug...\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Geen volgend bestand"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Geen voorgaand bestand"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Leesfout in bestand %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Onverwachte EOF in bestand %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Onbekende fout in bestand %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Kan geen tijdelijk bestand maken\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "Fout in reguliere expressie: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Geen eerdere zoektekst"
+
+#: text-utils/pg.c:1313
+msgid "cannot open "
+msgstr "kan deze niet openen: "
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "opgeslagen"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !opdracht is niet toegestaan in beperkte modus.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() is mislukt; probeer het later opnieuw\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+"%s %s Copyright (C) 2000-2001 Gunnar Ritter. Alle rechten voorbehouden.\n"
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Volgende bestand: "
+
+#: text-utils/rev.c:77
+#, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Gebruik: %s [opties] [<bestand>...]\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie rev(1).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "onvolledige schrijfoperatie naar '%s' (%zd geschreven, %zd verwacht)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr "%s: kan geen 'inotify'-wachter toevoegen (maximum aantal is bereikt)"
+
+#: text-utils/tailf.c:198
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr ""
+"\n"
+"Gebruik: %s [optie] <bestand>\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -n, --lines AANTAL de laatste AANTAL regels weergeven\n"
+" -AANTAL hetzelfe als '--lines AANTAL'\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+msgid "failed to parse number of lines"
+msgstr "ontleden van regelaantal is mislukt"
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr "geen invoerbestandsnaam gegeven"
+
+#: text-utils/ul.c:136
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr ""
+"\n"
+"Gebruik: %s [opties] [<bestand>...]\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+" -t, --terminal TERMINAL niet omgevingsvariabele TERM maar deze "
+"gebruiken\n"
+" -i, --indicated onderstrepingen weergeven op een extra regel\n"
+" -V, --version programmaversie tonen en stoppen\n"
+" -h, --help deze hulptekst tonen en stoppen\n"
+"\n"
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "problemen bij lezen van terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr "terminal %s' is onbekend; 'dumb' wordt gebruikt"
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "onbekende stuurcode in invoer: %o, %o"
+
+#: text-utils/ul.c:648
+msgid "Input line too long."
+msgstr "Invoerregel is te lang."
+
+#~ msgid "cannot open file %s"
+#~ msgstr "kan bestand %s niet openen"
+
+#~ msgid "cannot stat file %s"
+#~ msgstr "kan bestand %s niet vinden"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "Gebruik: %s [-hv] [-x MAP] BESTAND\n"
+#~ "\n"
+#~ " -h deze hulptekst tonen\n"
+#~ " -v meer informatie weergeven\n"
+#~ " -x MAP uitpakken in deze map\n"
+#~ " BESTAND te testen bestand\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "openen is mislukt: %s"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Gebruik: %s [-larvsmf] /dev/naam\n"
+
+#~ msgid "unable to open '%s': %m"
+#~ msgstr "kan '%s' niet openen: %m"
+
+#~ msgid "failed to open %s"
+#~ msgstr "openen van %s is mislukt"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "kan apparaat %s niet vinden"
+
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "ontleden van blokgroottewaarde is mislukt"
+
+#~ msgid "cannot stat %s"
+#~ msgstr "kan status van '%s' niet opvragen"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s: openen is mislukt"
+
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "fout: zal niet proberen wisselgeheugen te maken op '%s'"
+
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "Kan 'raw'-besturingsapparaat '%s' niet openen (%s)\n"
+
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: openen is mislukt"
+
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Gebruik: %s [opties] <apparaat>\n"
+#~ "\n"
+#~ "Opties:\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Kan bestand '%s' niet openen"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "U zult geen partitietabel kunnen wegschrijven.\n"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Deze schijf bevat zowel DOS- als BSD-vingerafdrukken.\n"
+#~ "Geef de opdracht 'b' om naar BSD-modus te gaan.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Partitie %i begint niet op een cilindergrens:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "moet zijn (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "moet zijn (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Schijf %s bevat geen geldige partitietabel\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "kan %s niet openen\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Deze kernel vindt zelf de sectorgrootte -- optie '-b' wordt genegeerd\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "onvoldoende geheugen beschikbaar\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: voortijdig einde van de invoer\n"
+
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "WAARSCHUWING: kan %s niet openen"
+
+#~ msgid "WARNING: bad format on line %d of %s"
+#~ msgstr "WAARSCHUWING: ongeldige syntax op regel %d van %s"
+
+#~ msgid ""
+#~ "WARNING: Your /etc/fstab does not contain the fsck passno\n"
+#~ "\tfield. I will kludge around things for you, but you\n"
+#~ "\tshould fix your /etc/fstab file as soon as you can.\n"
+#~ msgstr ""
+#~ "WAARSCHUWING: /etc/fstab bevat geen zesde veld (een fsck-volgnummer).\n"
+#~ " Er wordt nu omheengewerkt, maar u zou dit veld bij\n"
+#~ " de eerstvolgende gelegenheid dienen toe te voegen.\n"
+
+#~ msgid "couldn't open %s"
+#~ msgstr "kan %s niet openen"
+
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Kan /dev/port niet openen"
+
+#~ msgid "failed to parse epoch"
+#~ msgstr "ontleden van tijdperkwaarde is mislukt"
+
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "U hebt verschillende functies aangegeven.\n"
+#~ "Per aanroep kan slechts Ă©Ă©n functie worden gebruikt."
+
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr "De opties '--utc' en '--localtime' gaan niet samen."
+
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr "De opties '--adjust' en '--noadjfile' gaan niet samen."
+
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr "De opties '--adjfile' en '--noadjfile' gaan niet samen."
+
+#~ msgid "open() of %s failed"
+#~ msgstr "open() van %s is mislukt"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Openen van %s is mislukt"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Openen van %s is mislukt"
+
+#~ msgid "error: cannot open %s"
+#~ msgstr "fout: kan %s niet openen"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "Kan %s niet openen om te lezen -- gestopt"
+
+#~ msgid "cannot lock group file"
+#~ msgstr "kan groepsbestand niet vergrendelen"
+
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "het bestand %s is in gebruik (%s is aanwezig)"
+
+#~ msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+#~ msgstr "Gebruik: %s LABEL=<label>|UUID=<uuid>\n"
+
+#~ msgid "failed to parse timeout"
+#~ msgstr "ontleden van wachttijdwaarde is mislukt"
+
+#~ msgid "failed to parse sigval"
+#~ msgstr "ontleden van signaalwaarde is mislukt"
+
+#~ msgid "failed to parse port number"
+#~ msgstr "ontleden van poortnummer is mislukt"
+
+#~ msgid "port `%ld' out of range"
+#~ msgstr "poort '%ld' valt buiten bereik"
+
+#~ msgid "Could not open %s"
+#~ msgstr "Kan %s niet openen"
+
+#~ msgid "could not stat '%s'"
+#~ msgstr "kan status van '%s' niet opvragen"
+
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "ongeldige plaatswaarde '%s' gegeven"
+
+#~ msgid "--offset and --all are mutually exclusive"
+#~ msgstr "opties '--offset' en '--all' gaan niet samen"
+
+#~ msgid "only one device as argument is currently supported."
+#~ msgstr "momenteel wordt slechts Ă©Ă©n apparaatargument ondersteund"
+
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "waarschuwing: lezen van 'mtab' is mislukt"
+
+#~ msgid "the options %s are mutually exclusive"
+#~ msgstr "de opties %s gaan niet samen"
+
+#~ msgid "failed to parse priority"
+#~ msgstr "ontleden van prioriteit is mislukt"
+
+#~ msgid "failed to parse class data"
+#~ msgstr "ontleden van klassedata (bij '-n') is mislukt"
+
+#~ msgid "failed to parse class"
+#~ msgstr "ontleden van klasse (bij '-c') is mislukt"
+
+#~ msgid ""
+#~ "configure, deconfigure, disable, dispatch, enable and rescan are mutually "
+#~ "exclusive"
+#~ msgstr ""
+#~ "'configure', 'deconfigure', 'disable', 'enable', 'dispatch' en 'rescan' "
+#~ "gaan niet samen"
+
+#~ msgid "cannot stat: %s"
+#~ msgstr "kan status van %s niet opvragen"
+
+#~ msgid ""
+#~ "clear, read-clear, console-level, console-on, and console-off options are "
+#~ "mutually exclusive"
+#~ msgstr ""
+#~ "geen van de opties 'clear', 'read-clear', 'console-level',\n"
+#~ "'console-on' en 'console-off' gaat samen met een andere"
+
+#~ msgid "failed to parse buffer size"
+#~ msgstr "ontleden van buffergrootte is mislukt"
+
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s: fstat() is mislukt"
+
+#~ msgid "invalid speed"
+#~ msgstr "ongeldige snelheid"
+
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "ongeldige positie '%s' opgegeven"
+
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "ongeldige grootte '%s' opgegeven"
+
+#~ msgid "failed to setup loop device"
+#~ msgstr "instellen van lus-apparaat is mislukt"
+
+#~ msgid "extended and parsable formats are mutually exclusive"
+#~ msgstr "uitgebreide en ontleedbare opmaken gaan niet samen"
+
+#~ msgid "--all, --online and --offline options are mutually exclusive"
+#~ msgstr "opties '--all', '--online', en '--offline' gaan niet samen"
+
+#~ msgid "only one <source> may be specified"
+#~ msgstr "er mag slechts Ă©Ă©n <bron> gegeven worden"
+
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "reserveren van bronbuffer is mislukt"
+
+#~ msgid "only use one PID at a time"
+#~ msgstr "u kunt slechts Ă©Ă©n PID tegelijk gebruiken"
+
+#~ msgid "cannot parse PID"
+#~ msgstr "ontleden van PID is mislukt"
+
+#~ msgid "failed to parse seconds value"
+#~ msgstr "ontleden van secondenwaarde is mislukt"
+
+#~ msgid "failed to parse time_t value"
+#~ msgstr "ontleden van tijdstipwaarde is mislukt"
+
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: Onverwachte bestandsindeling"
+
+#~ msgid "'%s' is unsupported program name (must be 'swapon' or 'swapoff')."
+#~ msgstr ""
+#~ "'%s' is niet-toegestane programmanaam (moet 'swapon' of 'swapoff' zijn)"
+
+#~ msgid "failed to stat directory"
+#~ msgstr "kan status van map niet opvragen"
+
+#~ msgid "failed to stat directory %s"
+#~ msgstr "kan status van map %s niet opvragen"
+
+#~ msgid "stat %s failed"
+#~ msgstr "status opvragen van %s is mislukt"
+
+#~ msgid "cannot open timing file %s"
+#~ msgstr "kan timingsbestand '%s' niet openen"
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "kan scriptbestand '%s' niet openen"
+
+#~ msgid "argument %lu is too large"
+#~ msgstr "argument %lu is te groot"
+
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "kan omgevingsvariabele COLUMNS niet verkrijgen"
+
+#~ msgid "bad columns width value"
+#~ msgstr "ongeldige waarde voor kolombreedte"
+
+#~ msgid "-%c positive integer expected as an argument"
+#~ msgstr "optie '-%c' verwacht een positief geheel getal als argument"
+
+#~ msgid "bad length value"
+#~ msgstr "ongeldige waarde voor te_interpreteren_aantal"
+
+#~ msgid "bad skip value"
+#~ msgstr "ongeldige waarde voor over_te_slaan_aantal"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Gebruik: %s [-aantal_regels_per_pagina] [-p te_gebruiken_prompt]\n"
+#~ " [-cefnrs] [+regelnummer] [+/patroon/] [bestand ...]\n"
+
+#~ msgid "Cannot open "
+#~ msgstr "Kan deze niet openen: "
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "kan '%s' niet openen voor lezen"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "kan status van '%s' niet opvragen"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d een BSD-partitie verwijderen"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l bekende bestandssysteemsoorten opsommen"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n een nieuwe BSD-partitie toevoegen"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p BSD-partitietabel weergeven"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t bestandssysteem-ID van partitie wijzigen"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u gebruikte eenheid wijzigen (cilinders/sectoren)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p de partitietabel weergeven"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Er wordt een nieuwe DOS-partitietabel aangemaakt met schijf-ID 0x%08x.\n"
+#~ "Wijzigingen vinden enkel en alleen in het geheugen plaats, totdat u "
+#~ "besluit ze\n"
+#~ "weg te schrijven. Daarna is de oude inhoud uiteraard niet meer "
+#~ "herstelbaar.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr "Apparaat bevat geen geldig DOS-, Sun-, SGI- of OSF-schijflabel.\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "**Interne programmafout**\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ " Sorry, het expertsmenu is niet beschikbaar voor SGI-partitietabellen.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Weet u dat u een partitieoverlap hebt op de schijf?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Er wordt een nieuw SGI-schijflabel gemaakt. Wijzigingen vinden enkel\n"
+#~ "en alleen in het geheugen plaats, totdat u besluit ze weg te schrijven.\n"
+#~ "Daarna is de oude inhoud uiteraard niet meer herstelbaar.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "onvoldoende geheugen beschikbaar -- gestopt\n"
+
+#~ msgid "%-20s: failed: %s\n"
+#~ msgstr "%-20s: mislukt: %s\n"
+
+#~ msgid "%-20s: failed\n"
+#~ msgstr "%-20s: mislukt\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: er is weinig vrij geheugen, inloggen kan mislukken\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "malloc() voor ttyclass is mislukt"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "malloc() voor grplist is mislukt"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Inloggen op %s vanaf %s wordt standaard geweigerd.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Inloggen op %s vanaf %s is geweigerd.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Gebruik: %s [-f volledige_naam] [-o kantoor] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[--help] [--version]\n"
+
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "%s: PAM-fout -- gestopt: %s"
+
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Gebruik: %1$s [-s shell] [gebruikersnaam]\n"
+#~ " of: %1$s (--list-shells | --help | --version)\n"
+
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s: kan alleen lokale items wijzigen"
+
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: kan de standaardcontext voor /etc/passwd niet instellen"
+
+#~ msgid "setpwnam failed"
+#~ msgstr "setpwnam() is mislukt"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: Gebruik optie '-l' om de lijst te zien\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Gebruik '%s -l' om de lijst te zien.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "Gebruik: login [-fp] [gebruikersnaam]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "onvoldoende geheugen beschikbaar"
+
+#~ msgid "Illegal username"
+#~ msgstr "Ongeldige gebruikersnaam"
+
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "Inloggen door %s op deze terminal is geweigerd."
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "INLOGGEN DOOR %s VANAF %s IS GEWEIGERD OP TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "INLOGGEN DOOR %s IS GEWEIGERD OP TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Inloggegevens onjuist\n"
+
+#~ msgid "change terminal owner failed"
+#~ msgstr "wijzigen van terminaleigenaar is mislukt"
+
+#~ msgid "failure forking"
+#~ msgstr "kan geen nieuw proces starten"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s inlognaam: "
+
+#~ msgid "NAME too long"
+#~ msgstr "NAAM is te lang"
+
+#~ msgid "login name much too long."
+#~ msgstr "inlognaam is veel te lang"
+
+#~ msgid "login names may not start with '-'."
+#~ msgstr "inlognamen mogen niet beginnen met '-'"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "EXCESSIEF aantal witregels"
+
+#~ msgid "too many bare linefeeds."
+#~ msgstr "te veel witregels"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "INLOGGEN IS MISLUKT VANAF %s -- %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "INLOGGEN IS MISLUKT OP %s -- %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d INLOGMISLUKKINGEN VANAF %s -- %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d INLOGMISLUKKINGEN OP %s -- %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: het bestand 'group' is in gebruik\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr "%s: kan %s niet ontgrendelen: %s (uw wijzigingen staan nog in %s)\n"
+
+#~ msgid "calloc failed"
+#~ msgstr "calloc() is mislukt"
+
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "WAARSCHUWING: %s schijnt een '%s'-partitietabel te bevatten"
+
+#~ msgid "no magic string found at offset 0x%jx -- ignored"
+#~ msgstr "geen magische tekenreeks gevonden op positie 0x%jx -- genegeerd"
+
+#~ msgid "%s: write failed"
+#~ msgstr "%s: schrijven is mislukt"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: map '/dev' bestaat niet."
+
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: kan grootte van apparaat %s niet instellen: %s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", beginpunt %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", versleutelingssoort %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: kan geen informatie verkrijgen over apparaat %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: kan apparaat %s niet openen: %s\n"
+
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: geen toegangsrechten tot /dev/loop%s<N>"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Kan geen lus-apparaat vinden. Misschien kent deze kernel geen\n"
+#~ " lus-apparaten? (Dan moet u de kernel opnieuw compileren,\n"
+#~ " of misschien een 'modprobe loop' doen?)"
+
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Onvoldoende geheugen beschikbaar tijdens lezen van wachtwoord"
+
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "waarschuwing: %s is al gerelateerd aan %s\n"
+
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr ""
+#~ "waarschuwing: %s is schrijfbeveiligd en wordt als alleen-lezen "
+#~ "aangekoppeld.\n"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "ioctl(LOOP_SET_FD) is mislukt: %s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu,%llu) is gelukt\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "lus-apparaat %s is uitgeschakeld\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "kan lus-apparaat %s niet uitschakelen: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Deze versie van 'mount' is gecompileerd zonder lus-ondersteuning.\n"
+#~ "Hercompilatie is nodig.\n"
+
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "afgepakt lus-apparaat=%s; ... nieuwe poging\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Bij het compileren was geen lus-ondersteuning beschikbaar. Hercompilatie "
+#~ "is nodig.\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Gebruik: %s [-q [-i interval]] ([-s waarde | -S waarde])\n"
+#~ " ([-t waarde | -T waarde]) [-g|-G] bestand...\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Kan %s niet openen: %s\n"
+
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: kan vergrendelingsbestand %s niet openen: %s\n"
+
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: ongeldig getal: %s\n"
+
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s: fork() is mislukt: %s\n"
+
+#~ msgid ""
+#~ " -M <size> create shared memory segment of size <size>\n"
+#~ " -S <nsems> create semaphore array with <nsems> elements\n"
+#~ " -Q create message queue\n"
+#~ " -p <mode> permission for the resource (default is 0644)\n"
+#~ msgstr ""
+#~ " -M <grootte> gedeeld geheugensegment aanmaken met deze grootte\n"
+#~ " -S <aantal> semafoorarray aanmaken met <aantal> elementen\n"
+#~ " -Q berichtenwachtrij aanmaken\n"
+#~ " -p <modus> deze toegangsrechten toekennen (standaard 0644)\n"
+
+#~ msgid "cannot remove id %s (%s)\n"
+#~ msgstr "kan ID %s niet verwijderen (%s)\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "Afgeraden gebruik: %s [shm | msg | sem] ID...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "onbekende hulpbronsoort: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "Gebruik: %s [ [-q msq-ID] [-m shm-ID] [-s sem-ID]\n"
+#~ " [-Q msq-sleutel] [-M shm-sleutel] [-S sem-"
+#~ "sleutel] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "onbekende fout in sleutel"
+
+#~ msgid "unknown error in id"
+#~ msgstr "onbekende fout in ID"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h for help\n"
+#~ msgstr ""
+#~ "Gebruik: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i ID\n"
+#~ " %1$s -h (voor hulp)\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [resource]... [output-format]\n"
+#~ " %1$s [resource] -i id\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Gebruik: %1$s [hulpbron...] [uitvoeropmaak]\n"
+#~ " %1$s [hulpbron] -i ID\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Geeft informatie over IPC-voorzieningen waarvoor u leestoegang hebt.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Resource options:\n"
+#~ " -m shared memory segments\n"
+#~ " -q message queues\n"
+#~ " -s semaphores\n"
+#~ " -a all (default)\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Hulpbronopties:\n"
+#~ " -m gedeelde geheugensegmenten\n"
+#~ " -q berichtwachtrijen\n"
+#~ " -s semaforen\n"
+#~ " -a alle (is standaard)\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Output format:\n"
+#~ " -t time\n"
+#~ " -p pid\n"
+#~ " -c creator\n"
+#~ " -l limits\n"
+#~ " -u summary\n"
+#~ msgstr ""
+#~ "Uitvoeropmaak:\n"
+#~ " -t tijd\n"
+#~ " -p PID\n"
+#~ " -c aanmaker\n"
+#~ " -l grenzen\n"
+#~ " -u samenvatting\n"
+
+#~ msgid ""
+#~ " %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> <device>\n"
+#~ msgstr ""
+#~ " %s [-dhV78neo12] [-s <snelheid>] [-i [-]<invoervlag>]\n"
+#~ " <lijnprotocol> <apparaat>\n"
+
+#~ msgid "ldattach from %s\n"
+#~ msgstr "'ldattach' uit %s\n"
+
+#~ msgid ""
+#~ " -h, --help print this help\n"
+#~ " -p, --parse <list> print out a parsable instead of a readable format\n"
+#~ " -s, --sysroot <dir> use directory DIR as system root\n"
+#~ " -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Toont informatie over de processorarchitectuur.\n"
+#~ "\n"
+#~ " -h, --help deze hulptekst tonen\n"
+#~ " -p, --parse[=<lijst>] ontleedbare i.p.v. leesbare uitvoer produceren\n"
+#~ " -s, --sysroot <map> deze map als hoofdmap gebruiken\n"
+#~ " -x, --hex hexadecimaal masker tonen in plaats van lijst\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Gebruik: %s [opties]\n"
+#~ "\n"
+#~ " -M <maal> profileervermenigvuldiger op <maal> instellen\n"
+#~ " -m <symbolenbestand> (standaard: %s en\n"
+#~ " %s)\n"
+#~ " -p <profileerbestand> (standaard: %s)\n"
+#~ " -a alle symbolen tonen, ook als het aantal nul is\n"
+#~ " -b individuele histogrambalk-aantallen weergeven\n"
+#~ " -i alleen info over bemonsteringsstap tonen\n"
+#~ " -n autodetectie van bytevolgorde uitzetten\n"
+#~ " -r alle tellers opnieuw op nul instellen (alleen door root)\n"
+#~ " -s individuele tellers in functies weergeven\n"
+#~ " -v gedetailleerde uitvoer produceren\n"
+#~ " -V programmaversie tonen\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile: fout bij schrijven van %s: %s\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "Typ '%s --help' voor meer informatie.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "Gebruik: %s <programma> [<argument>...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Gebruik: %s <apparaat> [ -c <aantal_pogingen_alvorens_te_slapen> |\n"
+#~ " -t <slaaptijd> | -w <strobe_wachttijd> | -i <IRQ> | -a [on|off] "
+#~ "|\n"
+#~ " -C [on|off] | -o [on|off] | -q [on|off] | -s | -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: ongeldige waarde\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Voor meer informatie zie unshare(1).\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Sorry, alleen van niet-lege partities kunt u de soort wijzigen.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Waarschuwing: partitie %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Waarschuwing: partities %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "en %s overlappen\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Gebruik: %s [opties] apparaat...\n"
+
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr " (apparaat is zoiets als /dev/hda of /dev/sda)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " -s, --show-size list size of a partition\n"
+#~ " -c, --id change or print partition Id\n"
+#~ " --change-id change Id\n"
+#~ " --print-id print Id\n"
+#~ " -l, --list list partitions of each device\n"
+#~ " -d, --dump idem, but in a format suitable for later input\n"
+#~ " -i, --increment number cylinders etc. from 1 instead of from 0\n"
+#~ " -u, --unit=[SBCM] units in sectors, blocks, cylinders or MB\n"
+#~ " -1, --one-only reserved option that does nothing currently\n"
+#~ " -T, --list-types list the known partition types\n"
+#~ " -D, --DOS for DOS-compatibility: waste a little space\n"
+#~ " -E, --DOS-extended DOS extended partition compatibility\n"
+#~ " -R, --re-read make kernel reread partition table\n"
+#~ " -N=NUM change only the partition with number NUM\n"
+#~ " -n do not actually write to disk\n"
+#~ " -O FILE save the sectors that will be overwritten to "
+#~ "file\n"
+#~ " -I FILE restore sectors from file\n"
+#~ " -V, --verify check that listed partition is reasonable\n"
+#~ " -v, --version print version\n"
+#~ " -h, --help print this message\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Opties:\n"
+#~ " -s, --show-size grootte van een partitie tonen\n"
+#~ " -c, --id partitie-ID tonen of wijzigen\n"
+#~ " --change-id ID wijzigen\n"
+#~ " --print-id ID tonen\n"
+#~ " -l, --list partities van elk gegeven apparaat tonen\n"
+#~ " -d, --dump idem, maar in een vorm die geschikt is als "
+#~ "invoer\n"
+#~ " -i, --increment cilinders nummeren vanaf 1 in plaats van vanaf "
+#~ "0\n"
+#~ " -u, --unit=[SBCM] als eenheid sectoren, blokken, cilinders, MB "
+#~ "gebruiken\n"
+#~ " -1, --one-only (gereserveerde optie; doet momenteel niets)\n"
+#~ " -T, --list-types de mogelijke partitiesoorten tonen\n"
+#~ " -D, --DOS DOS-compatibel zijn (een beetje ruimte "
+#~ "verspillen)\n"
+#~ " -E, --DOS-extended DOS-extended-compatibel zijn\n"
+#~ " -R, --re-read de partitietabel door de kernel laten "
+#~ "herinlezen\n"
+#~ " -N=NUMMER alleen de partitie met dit nummer wijzigen\n"
+#~ " -n niet echt naar schijf schrijven, maar doen "
+#~ "alsof\n"
+#~ " -O BESTAND sectoren die overschreven worden opslaan in "
+#~ "bestand\n"
+#~ " -I BESTAND overschreven sectoren herstellen vanuit dit "
+#~ "bestand\n"
+#~ " -V, --verify controleren dat de partities consistent zijn\n"
+#~ " -v, --version programmaversie tonen\n"
+#~ " -h, --help deze hulptekst tonen\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Dangerous options:\n"
+#~ " -f, --force disable all consistency checking\n"
+#~ " -g, --show-geometry print the kernel's idea of the geometry\n"
+#~ " -A, --activate[=device] activate bootable flag\n"
+#~ " -G, --show-pt-geometry print geometry guessed from the partition "
+#~ "table\n"
+#~ " -U, --unhide[=device] set partition unhidden\n"
+#~ " --no-reread skip partition re-read at boot\n"
+#~ " -x, --show-extended also list extended partitions on output\n"
+#~ " or expect descriptors for them on input\n"
+#~ " --leave-last do not allocate the last cylinder\n"
+#~ " --IBM same as --leave-last\n"
+#~ " --in-order partitions are in order\n"
+#~ " --not-in-order partitions are not in order\n"
+#~ " --inside-order all logicals inside outermost extended\n"
+#~ " --not-inside-order not all logicals inside outermost extended\n"
+#~ " --nested every partition is disjoint from all others\n"
+#~ " --chained like nested, but extended partitions may lie "
+#~ "outside\n"
+#~ " --onesector partitions are mutually disjoint\n"
+#~ " -L, --Linux do not complain about things irrelevant for "
+#~ "Linux\n"
+#~ " -q, --quiet suppress warning messages\n"
+#~ "\n"
+#~ " Override the detected geometry using:\n"
+#~ " -C, --cylinders=NUM set the number of cylinders to use\n"
+#~ " -H, --heads=NUM set the number of heads to use\n"
+#~ " -S, --sectors=NUM set the number of sectors to use\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Gevaarlijke opties:\n"
+#~ " -f, --force alle consistentiecontroles uitschakelen\n"
+#~ " -g, --show-geometry de geometrie tonen die door de kernel "
+#~ "aangegeven wordt\n"
+#~ " -G, --show-pt-geometry de geometrie tonen die uit de partitietabel "
+#~ "blijkt\n"
+#~ " -A, --activate[=APPRT] de 'opstartbaar'-vlag inschakelen\n"
+#~ " -U, --unhide[=APPRT] partitie als onverborgen markeren\n"
+#~ " --no-reread voor herpartitioneren de partitietabel niet "
+#~ "herlezen\n"
+#~ " -x, --show-extended uitgebreide partities volledig weergeven in "
+#~ "uitvoer,\n"
+#~ " of beschrijvers ervan verwachten in invoer\n"
+#~ " --leave-last de laatste cilinder niet toewijzen\n"
+#~ " --IBM hetzelfde als '--leave-last'\n"
+#~ " --in-order de partities zijn op volgorde\n"
+#~ " --not-in-order de partities zijn niet op volgorde\n"
+#~ " --inside-outer alle logische vallen binnen de buitenste "
+#~ "uitgebreide\n"
+#~ " --not-inside-outer niet alle logische binnen de buitenste "
+#~ "uitgebreide\n"
+#~ " --nested elke partitie valt binnen een uitgebreide "
+#~ "partitie\n"
+#~ " --chained elke logische partitie valt binnen een "
+#~ "uitgebreide\n"
+#~ " --onesector geen enkele partitie valt binnen een andere\n"
+#~ " -L, --Linux niet klagen over dingen die irrelevant zijn "
+#~ "voor Linux\n"
+#~ " -q, --quiet waarschuwingen onderdrukken\n"
+#~ "\n"
+#~ "U kunt een andere dan de gevonden geometrie afdwingen met:\n"
+#~ " -C, --cylinders=GETAL het aantal te gebruiken cilinders\n"
+#~ " -H, --heads=GETAL het aantal te gebruiken koppen\n"
+#~ " -S, --sectors=GETAL het aantal te gebruiken sectoren\n"
+#~ "\n"
+
+#~ msgid "success"
+#~ msgstr "gelukt"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-d] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Gebruik:\n"
+#~ " %1$s -a [-e] [-v] [-f] alle wisselgeheugens inschakelen "
+#~ "die\n"
+#~ " vermeld staan in /etc/fstab\n"
+#~ " %1$s [-p PRIORITEIT] [-d] [-v] [-f] NAAM dit wisselgeheugen "
+#~ "inschakelen\n"
+#~ " %1$s -s gebruikssamenvatting tonen\n"
+#~ " %1$s -h deze hulptekst tonen\n"
+#~ " %1$s -V programmaversie tonen\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Gebruik:\n"
+#~ " %1$s -a [-v] alle wisselgeheugens uitschakelen\n"
+#~ " %1$s [-v] NAAM dit wisselgeheugen uitschakelen\n"
+#~ " %1$s -h deze hulptekst tonen\n"
+#~ " %1$s -V programmaversie tonen\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Gebruik: %s [opties] <bestandsnaam>\n"
+#~ "\n"
+#~ "Opties:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Gebruik: %s [opties]\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Gebruik: %s [opties]\n"
+#~ "\n"
+#~ "Opties:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Gebruik: %s [opties] [bestand ...]\n"
+
+#~ msgid " %s -V\n"
+#~ msgstr " %s -V\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [apparaten]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] opdrachten apparaten\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Beschikbare opdrachten:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: kan %s niet openen\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "ontledingsfout\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "Gebruik: %s [ -n ] apparaat\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: is geen blok-apparaat\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc() is mislukt"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: optie-ontledingsfout\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Gebruik: %s [-x] [-d <getal>] iso9660-afbeelding\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Gebruik: %s [-v] [-N aantal_inodes] [-V volumennaam]\n"
+#~ " [-F bestandssysteemnaam] apparaat [aantal_blokken]\n"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "kan sectorgrootte voor %s niet achterhalen"
+
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: calloc() is mislukt: %s\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Gebruik: %s [-c] [-ppaginagrootte] [-L label] [-U UUID] /dev/naam "
+#~ "[blokken]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Onvoldoende geheugen beschikbaar"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "Gebruik:\n"
+#~ " %s "
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menu zonder richting. Standaard wordt gebruikt: horizontaal."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "U dient eerst een partitie te verwijderen\n"
+#~ "en een uitgebreide partitie toe te voegen.\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Opdracht Actie\n"
+#~ " %s\n"
+#~ " p primaire partitie (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s, --show-size partitiegroottes tonen"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c, --id partitie-ID tonen of wijzigen"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l, --list partities weergeven"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d, --dump idem, maar in een opmaak geschikt voor latere invoer"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i, --increment cilinders/sectoren/... nummeren vanaf 1 in plaats "
+#~ "vanaf 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM invoeren/weergeven in sectoren/blokken/cilinders/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T, --list-types bekende partitietypen opsommen"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D, --DOS een beetje ruimte verspillen (voor DOS-"
+#~ "compatibiliteit)"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R, --re-read de partitietabel opnieuw in laten lezen door de "
+#~ "kernel"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# alleen partitie met nummer # wijzigen"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O bestand de te overschrijven sectoren opslaan in dit bestand"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I bestand deze opgeslagen sectoren herstellen"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v, --version programmaversie tonen"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -?, --help deze hulptekst tonen"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr " -g, --show-geometry de kernelvisie van de geometrie weergeven"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L, --Linux niet klagen over dingen die niet relevant zijn voor "
+#~ "Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q, --quiet waarschuwingen onderdrukken"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr "U kunt een andere dan de gevonden geometrie afdwingen met:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C#, --cylinders # het aantal te gebruiken cilinders"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H#, --heads # het aantal te gebruiken koppen"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S#, --sectors # het aantal te gebruiken sectoren"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "U kunt alle consistentiecontroles uitzetten met:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f, --force precies doen als gegeven, *ook* als het dom is"
+
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "onvoldoende geheugen beschikbaar voor bestandssysteemsoorten\n"
+
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Gebruik: fsck [-AMNPRTV] [-C [bestandsdescriptor]] [-t "
+#~ "bestandssyteemsoort]\n"
+#~ " [bestandssysteemopties] [bestandssysteem...]\n"
+
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Kan %s niet openen: %s\n"
+
+#~ msgid "fsck from %s\n"
+#~ msgstr "'fsck' uit %s\n"
+
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "%s: Onvoldoende geheugen beschikbaar voor fsck_path()\n"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Probeer 'getopt --help' voor meer informatie.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Gebruik: getopt optiereeks parameters\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [opties] [--] optiereeks parameters\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (verbeterde) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Verwacht: 'UTC' of 'LOCAL' of niets.)\n"
+
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - de hardwareklok (RTC) instellen of waarden weergeven\n"
+#~ "\n"
+#~ "Gebruik: hwclock [functie] [opties...]\n"
+#~ "\n"
+#~ "Functies:\n"
+#~ " -h|--help deze hulptekst tonen\n"
+#~ " -r|--show de hardwareklok lezen en het resultaat weergeven\n"
+#~ " --set de hardwareklok instellen op de tijd gegeven met '--"
+#~ "date'\n"
+#~ " -s|--hctosys aan de hand van de hardwareklok de systeemklok "
+#~ "instellen\n"
+#~ " -w|--systohc aan de hand van de systeemklok de hardwareklok "
+#~ "instellen\n"
+#~ " --systz de systeemklok instellen aan de hand van de tijdzone\n"
+#~ " --adjust de hardwareklok aanpassen ter compensatie van "
+#~ "systematische\n"
+#~ " verschuiving sinds de laatste instelling/aanpassing\n"
+#~ " --getepoch tijdperkwaarde van de kernel tonen\n"
+#~ " --setepoch tijdperkwaarde van de kernel instellen op de waarde\n"
+#~ " gegeven met de optie '--epoch'\n"
+#~ " --predict hardwarekloktijd voorspellen op moment gegeven met '--"
+#~ "date'\n"
+#~ " -v|--version programmaversie tonen\n"
+#~ "\n"
+#~ "Opties: \n"
+#~ " -u|--utc de hardwareklok bevat de gecoördineerde universele "
+#~ "tijd\n"
+#~ " --localtime de hardwareklok bevat de lokale tijd\n"
+#~ " -f|--rtc=BESTAND te gebruiken RTC-bestand in /dev/ in plaats van "
+#~ "standaard\n"
+#~ " --directisa de ISA-bus direct benaderen in plaats van via %s\n"
+#~ " --badyear het jaartal van de hardwareklok negeren omdat de BIOS "
+#~ "stuk is\n"
+#~ " --date=TIJD de tijd waarop de hardwareklok moet worden ingesteld\n"
+#~ " --epoch=JAAR het jaartal dat het tijdperkbegin voor de hardwareklok "
+#~ "is\n"
+#~ " --noadjfile /etc/adjtime niet gebruiken (met '--utc' of '--"
+#~ "localtime')\n"
+#~ " --adjfile=BESTAND te gebruiken verschuivingsregistratiebestand\n"
+#~ " (standaard is /etc/adjtime)\n"
+#~ " --test alles doen behalve daadwerkelijk iets veranderen\n"
+#~ " -D|--debug debug-modus inschakelen\n"
+#~ "\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "onvoldoende geheugen beschikbaar voor starttekenreeks"
+
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Gebruik: %s [-8hiLmsUw] [-l inlogprogramma] [-t tijdslimiet] [-H "
+#~ "inloghost]\n"
+#~ " [-I starttekenreeks] baudrate,... lijn [terminalsoort]\n"
+#~ " of: [-hiLmw] [-l inlogprogramma] [-t tijdslimiet] [-H inloghost]\n"
+#~ " [-I starttekenreeks] lijn baudrate,... [terminalsoort]\n"
+
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "Gebruik: %s [y|n]"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: BEROERDE FOUTMELDING -- veel te lang"
+
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "Gebruik: %s [-n] [bestand]\n"
+
+#~ msgid "can't read: %s"
+#~ msgstr "kan %s niet lezen"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "Gebruik: logger [-isd] [-f bestand] [-p prioriteit] [-t tag]\n"
+#~ " [-u socket] [bericht...]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "Gebruik: look [-dfa] [-t teken] tekst [bestand]\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "onvoldoende geheugen beschikbaar?"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "Gebruik: %s van naar bestanden...\n"
+
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "Gebruik: script [-a] [-e] [-f] [-q] [-t] [bestand]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s: schrijffout %d: %s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s: schrijffout: %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term terminalnaam ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-AANTAL_CONSOLES] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-AANTAL_CONSOLES] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq belfrequentie ]\n"
+
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "Gebruik: %s [-d] [-p PID-bestand] [-s socket-pad] [-T tijslimiet]\n"
+
+#~ msgid " %s [-r|t] [-n num] [-s socketpath]\n"
+#~ msgstr " %s [-r|t] [-n nummer] [-s socket-pad]\n"
+
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Gebruik: %s [-r] [-t]\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "Gebruik: whereis [-bmsu] [-BMS map... -f] naam...\n"
+
+#~ msgid "%zd bytes ["
+#~ msgstr "%zd bytes ["
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "Gebruik: write gebruiker [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: kan %s niet openen: %s"
+
+#~ msgid "unknown\n"
+#~ msgstr "onbekend\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "ionice - sets or gets process io scheduling class and priority.\n"
+#~ "\n"
+#~ "Usage:\n"
+#~ " ionice [ options ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ options ] <command> [<arg> ...]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -n <classdata> class data (0-7, lower being higher prio)\n"
+#~ " -c <class> scheduling class\n"
+#~ " 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+#~ " -t ignore failures\n"
+#~ " -h this help\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ionice - zet of toont de in-/uitvoer-scheduling-klasse en -prioriteit\n"
+#~ "\n"
+#~ "Gebruik:\n"
+#~ " ionice [opties] -p <PID>...\n"
+#~ " ionice [opties] <opdracht> [<argument>...]\n"
+#~ "\n"
+#~ "Opties:\n"
+#~ " -n <klassedata> klassedata (0-7, lager is hogere prioriteit)\n"
+#~ " -c <klasse> scheduling-klasse -- 0=geen, 1=realtime,\n"
+#~ " 2=zo_goed_als_het_gaat, 3=als_er_niks_anders_is\n"
+#~ " -t mislukkingen negeren\n"
+#~ " -h deze hulptekst tonen\n"
+#~ "\n"
+
+#~ msgid "CPU mask"
+#~ msgstr "processorenmasker"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Gebruik: shutdown [-h|-r] [-fqs] [now|uu:ss|+minuten]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Afsluitingsproces is afgebroken."
+
+#~ msgid "only root can shut a system down."
+#~ msgstr "Alleen root kan een systeem afsluiten."
+
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "Dat moet morgen zijn; kunt u niet tot dan wachten?"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "voor onderhoud -- joepie"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Het systeem wordt binnen vijf minuten afgesloten."
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Inloggen is daarom niet toegestaan."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "opnieuw gestart door %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "afgesloten door %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Waarom ben ik er nog na een herstart?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "U kunt de computer nu uitschakelen..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "De uitschakel-voorziening van de kernel wordt aangeroepen...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Fout bij het uitschakelen\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Het programma '%s' wordt uitgevoerd...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Fout tijdens uitvoering: %s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "BELANGRIJK: bericht van %s voor iedereen:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Het systeem wordt over %d uur en %d minuten afgesloten."
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Het systeem wordt over 1 uur en %d minuten afgesloten."
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Het systeem wordt over %d minuten afgesloten.\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Het systeem wordt over 1 minuut afgesloten.\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Het systeem wordt NU afgesloten!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "fork() voor swapoff is mislukt -- nou ja"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "Uitvoeren van swapoff is mislukt; hopelijk lost umount het op."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "fork() voor umount is mislukt; dan maar zonder nieuw proces."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Uitvoeren van %s is mislukt; umount wordt geprobeerd.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Uitvoeren van umount is mislukt -- gestopt"
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Afkoppelen van resterende bestandssystemen..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Kan %s niet afkoppelen: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Opstarten in Ă©Ă©ngebruikersmodus.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "Uitvoeren van Ă©Ă©ngebruikersshell is mislukt\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "fork() van Ă©Ă©ngebruikersshell is mislukt\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "fout bij openen van fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "fout bij instellen van sluiten-bij-uitvoeren op /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "fout bij uitvoeren van finalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "fout bij fork() van finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Verkeerd wachtwoord.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "lstat() van pad is mislukt\n"
+
+#~ msgid "stat of path failed\n"
+#~ msgstr "stat() van pad is mislukt\n"
+
+#~ msgid "respawning: \"%s\" too fast: quenching entry\n"
+#~ msgstr "\"%s\" wordt te frequent herboren: item wordt afgeknepen\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "fork() is mislukt\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "kan bestand 'inittab' niet openen\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "geen TERM ingesteld, of kan status van terminal niet opvragen\n"
+
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "fout bij stoppen van dienst \"%s\"\n"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "Gestopte dienst: \"%s\"\n"
+
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "fout bij starten van dienst \"%s\"\n"
+
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Gebruik: %s [-c] [-n niveau] [-r] [-s buffergrootte]\n"
+
+#~ msgid "error: strdup failed"
+#~ msgstr "fout: strdup() is mislukt"
+
+#~ msgid "error: calloc failed"
+#~ msgstr "fout: calloc() is mislukt"
+
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "Gebruik: %s [-bfpx] [-l te_bufferen_aantal_regels]"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "Gebruik: %s [-] [-2] [BESTAND...]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "Gebruik: hexdump [-bcCdovx] [-e opmaaktekenreeks] [-f opmaakbestand]\n"
+#~ " [-n te_interpreteren_aantal] [-s over_te_slaan_aantal] "
+#~ "[bestand ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr ""
+#~ "Gebruik: %s [-cdflpsu] [+regelnummer | +/patroon] naam1 naam2 ...\n"
+
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "initialiseren van regelbuffer is mislukt\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: kan %s niet lezen\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: regel is te lang\n"
+
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "Gebruik: %s [bestand ...]\n"
+
+#~ msgid "realloc failed"
+#~ msgstr "realloc() is mislukt"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Gebruik: tailf [-n <getal> | -<getal>] logbestand"
+
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "Gebruik: %s [-i] [-t terminaltype] bestand...\n"
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Partitie eindigt in de laatste gedeeltelijke cilinder"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "Kan %s niet openen\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Kan geen geheugen meer reserveren\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "driemaal EOF ontvangen -- afsluiting...\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: malloc() is mislukt\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname() is mislukt"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Onvoldoende geheugen beschikbaar\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Er is geen map %s!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: onvoldoende geheugen beschikbaar voor shell-script\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: geen shell: %s\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid() is mislukt"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: Toegang geweigerd"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid() is mislukt"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: Kan geen nieuw proces starten\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: kan %s niet lezen\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: kan tijdelijk bestand niet vinden\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: kan tijdelijk bestand niet lezen\n"
+
+#~ msgid "%s: parse error: %s"
+#~ msgstr "%s: ontledingsfout: %s"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: onvoldoende geheugen beschikbaar\n"
+
+#~ msgid "parse error at lines: "
+#~ msgstr "ontledingsfouten op regels: "
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: ongeldige optie -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "gereserveerde segmenten = %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "gereserveerde pagina's = %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "pagina's in geheugen = %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "pagina's in wisselgeheugen = %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Wisselgeheugenprestaties: %ld pogingen, %ld succesvol\n"
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: onbekende gebruiker\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: ongeldige waarde\n"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: ongeldig interval: %s seconden\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: ongeldige waarde %s voor ontwakingstijdstip\n"
+
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: kan '%s' niet uitvoeren: %s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "lezen van hardwareklok"
+
+#~ msgid "malloc error"
+#~ msgstr "onvoldoende geheugen beschikbaar"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "Gebruik: column [-c aantal_kolommen] [-t] [-x] [bestand ...]\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) wordt afgeraden; gebruik hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: hexdump(1)-compatibiliteit ondersteunt de optie '-%c' niet%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; zie strings(1)."
+
+#~ msgid "Out of memory\n"
+#~ msgstr "Onvoldoende geheugen beschikbaar\n"
+
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "kan geen bufferruimte reserveren"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "Gebruik: rev [bestand ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Reserveren van buffer is mislukt\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Onvoldoende geheugen beschikbaar tijdens groeien van buffer\n"
+
+# Met een hoofdletter want komt aan begin van zin, en voor "beleid" of "prioriteit".
+#~ msgid "current"
+#~ msgstr "Huidig(e)"
+
+# Met een hoofdletter want komt aan begin van zin, en voor "beleid" of "prioriteit".
+#~ msgid "new"
+#~ msgstr "Nieuw(e)"
+
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: geen medium gevonden op %s; ... nieuwe poging\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Bronnenkeuze:\n"
+#~ " -m : gedeeld geheugen\n"
+#~ " -q : berichten\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ " -s : semaforen\n"
+#~ " -a : alle (is standaard)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Uitvoerindeling:\n"
+#~ " -t : tijd\n"
+#~ " -p : PID\n"
+#~ " -c : aanmaker\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ " -l : grenzen\n"
+#~ " -u : samenvatting\n"
+
+#~ msgid "error: %s"
+#~ msgstr "fout: %s"
+
+#~ msgid "error parse: %s"
+#~ msgstr "ontledingsfout: %s"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr "Gebruik: rdev [-rv] [-o PLAATS] [AFBEELDING [WAARDE [PLAATS]]]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr " rdev /dev/fd0 (of rdev /linux, enz.) huidig ROOT-apparaat tonen"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 ROOT instellen op /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 ROOTFLAGS instellen (alleen-lezenstatus)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 RAMDISK-grootte instellen"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr ""
+#~ " rdev -v /dev/fd0 1 VIDEOMODUS bij opstarten instellen"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... de byteplaats N gebruiken"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... is hetzelfde als rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... is hetzelfde als rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... is hetzelfde als rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Opmerking: videomodi zijn: -3=vragen, -2=uitgebreid, -1=gewoon,\n"
+#~ " 1=sleutel1, 2=sleutel2, ..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ "Gebruik '-R 1' om root als alleen-lezen aan te koppelen,\n"
+#~ " of '-R 0' voor lezen-en-schrijven."
+
+#~ msgid "missing comma"
+#~ msgstr "komma ontbreekt"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: fout: label is alleen mogelijk bij versie-1-wisselgeheugen\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "fataal: eerste pagina is onleesbaar"
+
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: Apparaat '%s' bevat een geldig Sun-schijflabel.\n"
+#~ "Dit betekent waarschijnlijk dat het maken van versie-0-wisselgeheugen\n"
+#~ "uw partitietabel zou vernielen. Er is geen wisselgeheugen gemaakt.\n"
+#~ "Als u echt versie-0-wisselgeheugen op dit apparaat wilt maken,\n"
+#~ "kunt u de optie '-f' gebruiken om het af te dwingen.\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Gebruik: fdisk [-b SECTORGROOTTE] [-u] APPARAAT partitietabel "
+#~ "wijzigen\n"
+#~ " fdisk -l [-b SECTORGROOTTE] [-u] APPARAAT partitietabel "
+#~ "weergeven\n"
+#~ " fdisk -s PARTITIE partitiegrootte in blokken weergeven\n"
+#~ " fdisk -v programmaversie tonen\n"
+#~ "\n"
+#~ "Hier is APPARAAT zoiets als /dev/hda of /dev/sdb,\n"
+#~ "en PARTITIE zoiets als /dev/hda7 of /dev/sdb4.\n"
+#~ "\n"
+#~ "-u Begin en Einde in sectoreenheden (in plaats van "
+#~ "cilindereenheden)\n"
+#~ "-b 2048 (voor sommige MO-schijven) 2048-byte sectoren gebruiken\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Gebruik: fdisk [-l] [-b SECTORGROOTTE] [-u] APPARAAT\n"
+#~ "\n"
+#~ "Bijvoorbeeld: fdisk /dev/hda (voor de eerste IDE-schijf)\n"
+#~ " of: fdisk /dev/sdc (voor de derde SCSI-schijf)\n"
+#~ " of: fdisk /dev/edb (voor de tweede PS/2-ESDI-schijf)\n"
+#~ " of: fdisk /dev/rd/c0d0 (voor RAID-apparaten)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Het aantal cilinders van deze schijf is ingesteld op %d.\n"
+#~ "Hier is niets mis mee, maar het is groter dan 1024 en kan\n"
+#~ "bij bepaalde instellingen problemen veroorzaken met:\n"
+#~ "1) opstartsoftware (bijvoorbeeld oude versies van LILO),\n"
+#~ "2) partitioneringssoftware van andere besturingssytemen\n"
+#~ " (bijvoorbeeld DOS FDISK of OS/2 FDISK).\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# Partitietabel van %s\n"
+
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr ""
+#~ "eenheid: sectoren \n"
+#~ "\n"
+
+#~ msgid " start=%9lu"
+#~ msgstr " begin=%9lu"
+
+#~ msgid ", size=%9lu"
+#~ msgstr ", grootte=%9lu"
+
+#~ msgid ", bootable"
+#~ msgstr ", opstartbaar"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: kan niet naar hoofdmap gaan!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: kan status van hoofdmap niet bepalen!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: bufferoverloop\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr "??? naar map %s gaan is mislukt -- %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr "??? problemen bij lezen van symbolische koppeling %s -- %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** MAXIMUM AANTAL SYMBOLISCHE KOPPELINGEN IS OVERSCHREDEN ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: onbekende bestandssoort 0%06o bij bestand %s\n"
+
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: aankoppelen van %s via %s\n"
+
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: geen LABEL= noch UUID=; aankoppelen van %s via pad\n"
+
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: Kan geen nieuw proces starten: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "kan %s niet afkoppelen; nu poging met %s...\n"
diff --git a/po/pl.gmo b/po/pl.gmo
new file mode 100644
index 0000000..6bfcc32
--- /dev/null
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..4d4367e
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,16330 @@
+# Polish translation of util-linux.
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux package.
+# Andrzej Krzysztofowicz <ankry@mif.pg.gda.pl>, 2006.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2009-2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.22-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2012-08-26 20:48+0200\n"
+"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
+"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2;\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr " %s <urządzenie dyskowe> <numer partycji> <początek> <długość>\n"
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "nie można otworzyć %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+msgid "invalid partition number argument"
+msgstr "błędny numer partycji"
+
+#: disk-utils/addpart.c:56
+msgid "invalid start argument"
+msgstr "błędna wartość początku"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+msgid "invalid length argument"
+msgstr "błędna wartość długości"
+
+#: disk-utils/addpart.c:58
+msgid "failed to add partition"
+msgstr "nie udało się dodać partycji"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "ustawienie tylko do odczytu"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "ustawienie do odczytu i zapisu"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "pobranie flagi tylko do odczytu"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr "pobranie statusu obsługi usuwania zerami"
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "pobranie rozmiaru bloku (sektora) logicznego"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "pobranie rozmiaru bloku (sektora) fizycznego"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "pobranie minimalnego rozmiaru we/wy"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "pobranie optymalnego rozmiaru we/wy"
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr "pobranie wyrĂłwnania w bajtach"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "pobranie maksymalnej liczby sektorĂłw na ĹĽÄ…danie"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "pobranie rozmiaru bloku"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "ustawienie rozmiaru bloku"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr ""
+"pobranie 32-bitowej liczby sektorów (przestarzałe, lepiej używać --getsz)"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "pobranie rozmiaru w bajtach"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "ustawienie odczytu z wyprzedzeniem"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "pobranie ustawienia odczytu z wyprzedzeniem"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "ustawienie odczytu z wyprzedzeniem dla systemu plikĂłw"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "pobranie ustawienia odczytu z wyprzedzeniem dla systemu plikĂłw"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "opróżnienie buforów"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "ponowne odczytanie tablicy partycji"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %1$s -V\n"
+" %1$s --report [urzÄ…dzenia]\n"
+" %1$s [-v|-q] polecenia urzÄ…dzenia\n"
+"\n"
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr " %-25s pobranie rozmiaru w sektorach 512-bajtowych\n"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr "nie udało się pobrać rozmiaru urządzenia"
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr "Nieznane polecenie: %s"
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr "%s wymaga argumentu"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s nie powiodło się.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s powiodło się.\n"
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr "błąd ioctl na %s"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ PoczSektor Rozmiar UrzÄ…dzenie\n"
+
+#: disk-utils/delpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr " %s <urzÄ…dzenie dyskowe> <numer partycji>\n"
+
+#: disk-utils/delpart.c:57
+msgid "failed to remove partition"
+msgstr "nie udało się usunąć partycji"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "Składnia:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tUWAGA: elvtune działa tylko z jądrami 2.4\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "brak urządzenia blokowego, -h wyświetli pomoc\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune jest uĹĽyteczny tylko ze starszymi jÄ…drami;\n"
+"dla jąder 2.6 należy użyć ustawień sysfs planisty I/O.\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatowanie... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "zakończone\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Weryfikacja... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Odczyt: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problem odczytu cylindra %d, oczekiwano %d, odczytano %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"błędne dane na cylindrze %d\n"
+"Kontynuacja... "
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Składnia: %s [opcje] urządzenie\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -n, --no-verify wyłączenie weryfikacji po sformatowaniu\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s z pakietu %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, c-format
+msgid "stat failed %s"
+msgstr "stat nie powiodło się %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr "%s: nie jest urzÄ…dzeniem blokowym"
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr "nie można dostać się do pliku %s"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Nie można określić rodzaju aktualnego formatu"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%sstronne, %d Ĺ›cieĹĽek, %d sekt./Ĺ›cieĹĽkÄ™. ĹÄ…czna pojemność %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Dwu"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Jedno"
+
+#: disk-utils/fsck.c:191
+#, c-format
+msgid "%s is mounted\n"
+msgstr "%s jest zamontowany\n"
+
+#: disk-utils/fsck.c:193
+#, c-format
+msgid "%s is not mounted\n"
+msgstr "%s nie jest zamontowany\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr "nie udało się odczytać: %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "błąd składni: %s"
+
+#: disk-utils/fsck.c:329
+#, c-format
+msgid "Locking disk %s ... "
+msgstr "Blokowanie dysku %s... "
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr "(oczekiwanie) "
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr "powiodło się"
+
+#: disk-utils/fsck.c:349
+msgid "failed"
+msgstr "nie powiodło się"
+
+#: disk-utils/fsck.c:386
+#, c-format
+msgid "failed to setup description for %s"
+msgstr "nie udało się ustawić opisu dla %s"
+
+#: disk-utils/fsck.c:412
+#, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "%s: błąd składni w linii %d - zignorowano"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: nie udało się przeanalizować pliku fstab"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, c-format
+msgid "%s: not found"
+msgstr "%s: nie znaleziono"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "wywołanie fork nie powiodło się"
+
+#: disk-utils/fsck.c:617
+#, c-format
+msgid "%s: execute failed"
+msgstr "%s: uruchomienie nie powiodło się"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr "wait: brak procesu potomnego?!?"
+
+#: disk-utils/fsck.c:708
+msgid "waidpid failed"
+msgstr "wywołanie waitpid nie powiodło się"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr "Uwaga... %s dla urządzenia %s zakończone sygnałem %d."
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr "%s %s: status to %x, to nie powinno się nigdy zdarzyć."
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "Zakończono %s (kod wyjścia %d)\n"
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "błąd %d podczas wywoływania fsck.%s dla %s"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+"Albo wszystkie, albo żaden z typów przekazanych opcji -t musi być\n"
+"poprzedzony 'no' lub '!'."
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+"%s: pominięto błędną linię w /etc/fstab: montowanie typu bind z niezerowym "
+"numerem przebiegu fsck"
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: pominięto nieistniejące urządzenie\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+"%s: urządzenie nie istnieje (można użyć opcji fstaba \"nofail\" do "
+"pominięcia tego urządzenia)\n"
+
+#: disk-utils/fsck.c:1060
+#, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "%s: pominięto nieznany typ systemu plików\n"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "nie można sprawdzić %s: nie znaleziono fsck.%s"
+
+#: disk-utils/fsck.c:1168
+msgid "failed to allocate iterator"
+msgstr "nie udało się przydzielić iteratora"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "Sprawdzanie wszystkich systemĂłw plikĂłw.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--oczekiwanie-- (przebieg %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [opcje-fsck] [opcje-fs] [system-plikĂłw ...]\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+"\n"
+"Opcje:\n"
+" -A sprawdzenie wszystkich systemĂłw plikĂłw\n"
+" -R pominięcie głównego systemu plików; przydatne tylko z `-A'\n"
+" -M bez sprawdzania zamontowanych systemĂłw plikĂłw\n"
+" -t <typ> określenie typów systemów plików do sprawdzenia;\n"
+" może to być lista typów oddzielonych przecinkami\n"
+" -P równoległe sprawdzanie systemów plików wraz z głównym\n"
+" -r statystyki dla fsck kaĹĽdego urzÄ…dzenia\n"
+" -s szeregowe operacje fsck\n"
+" -l blokowanie urzÄ…dzenia przy uĹĽyciu flock()\n"
+" -N bez wywoływania; tylko wypisanie, co zostałoby zrobione\n"
+" -T bez wyświetlania tytułu na początku\n"
+" -C <fd> wyświetlanie paska postępu; deskryptor pliku jest dla GUI\n"
+" -V wyjaśnianie wykonywanych czynności\n"
+" -? wyświetlenie tego opisu i zakończenie\n"
+"\n"
+"Informacje o opcjach-fs można znaleźć w fsck.*"
+
+#: disk-utils/fsck.c:1354
+msgid "too many devices"
+msgstr "zbyt dużo urządzeń"
+
+#: disk-utils/fsck.c:1366
+msgid "Is /proc mounted?"
+msgstr "Czy /proc jest zamontowany?"
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "trzeba być rootem, aby znaleźć pasujące systemy plików: %s"
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "nie udało się odnaleźć pasującego systemu plików: %s"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+msgid "too many arguments"
+msgstr "zbyt duĹĽo argumentĂłw"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr "opcji -l można użyć tylko z jednym urządzeniem - zignorowano"
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, c-format
+msgid " %s [options] file\n"
+msgstr " %s [opcje] plik\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr " -x, --destination <katalog> rozpakowanie do katalogu\n"
+
+#: disk-utils/fsck.cramfs.c:117
+msgid " -v, --verbose be more verbose\n"
+msgstr " -v, --verbose bardziej szczegółowe komunikaty\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl nie powiodło się: nie można określić rozmiaru urządzenia: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "nie jest to urzÄ…dzenie blokowe ani plik: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "długość pliku zbyt mała"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "odczyt nie powiódł się: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "nie znaleziono liczby magicznej superbloku"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "kolejność bajtów w słowie cramfs to %s\n"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr "big-endian"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr "little-endian"
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "nieobsługiwane cechy systemu plików"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "rozmiar superbloku (%d) zbyt mały"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "zerowa liczba plikĂłw"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "uwaga: plik wychodzi poza koniec systemu plikĂłw\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "uwaga: stary format cramfs\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "nie można sprawdzić CRC: stary format cramfs"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "błąd CRC"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "główny i-węzeł nie jest katalogiem"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "błędny offset głównego katalogu (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "blok danych zbyt duĹĽy"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "błąd dekompresji %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " dziura pod %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " dekompresja bloku pod %ld do %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "nie blok (%ld bajtĂłw)"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "błędny rozmiar (%ld vs %ld bajtów)"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "zapis nie powiódł się: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown nie powiodło się: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown nie powiodło się: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime nie powiodło się: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "i-węzeł katalogu ma zerowy offset i niezerowy rozmiar: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir nie powiodło się: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "zerowa długość nazwy pliku"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "błędna długość nazwy pliku"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "błędny offset i-węzła"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "i-węzeł pliku ma zerowy offset i niezerowy rozmiar"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "i-węzeł pliku ma zerowy rozmiar i niezerowy offset"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "dowiÄ…zanie symboliczne ma zerowy offset"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "dowiÄ…zanie symboliczne ma zerowy rozmiar"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "błąd rozmiaru dowiązania symbolicznego: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symlink nie powiodło się: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "plik specjalny ma niezerowy offset: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "fifo ma niezerowy rozmiar: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "gniazdo ma niezerowy rozmiar: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "błędny tryb: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod nie powiodło się: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+"poczÄ…tek danych katalogu (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "koniec danych katalogu (%ld) != poczÄ…tek danych pliku (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "niepoprawny offset danych pliku"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "skompilowano bez obsługi -x"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, c-format
+msgid " %s [options] <device>\n"
+msgstr " %s [opcje] <urzÄ…dzenie>\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr " -l lista wszystkich nazw plikĂłw\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr " -a naprawa automatyczna\n"
+
+#: disk-utils/fsck.minix.c:198
+msgid " -r interactive repair\n"
+msgstr " -r naprawa interaktywna\n"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr " -v szczegółowe komunikaty\n"
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr " -s wypisanie informacji o superbloku\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr " -m włączenie ostrzeżeń o nie wyczyszczonym trybie\n"
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr " -f wymuszenie sprawdzenia\n"
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr "%s (t/n)? "
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr "%s (n/t)? "
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr "t\n"
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr "n\n"
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s jest zamontowane.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Czy na pewno chcesz kontynuować"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "sprawdzanie przerwane.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Strefa nr < FIRSTZONE w pliku `%s'."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Strefa nr >= ZONES w pliku `%s'."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Usunąć blok"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Błąd odczytu: nie udało się ustawić na blok w pliku '%s'\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "BĹ‚Ä…d odczytu: wadliwy blok w pliku '%s'\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Błąd wewnętrzny: próba zapisu wadliwego bloku\n"
+"Żądanie zapisu zignorowane\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "przemieszczenie nie powiodło się we write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "BĹ‚Ä…d zapisu: wadliwy blok w pliku '%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "przemieszczenie nie powiodło się we write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "nie udało się zapisać superbloku"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Nie można zapisać mapy i-węzłów"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Nie można zapisać mapy stref"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Nie można zapisać i-węzłów"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "przemieszczenie nie powiodło się"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "nie udało się przydzielić bufora dla superbloku"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "nie można odczytać superbloku"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "błędna liczba magiczna w superbloku"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Wspierane sÄ… tylko bloki/strefy 1k"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "błędne pole s_imap_blocks w superbloku"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "błędne pole s_zmap_blocks w superbloku"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Nie można przydzielić bufora dla mapy i-węzłów"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Nie można przydzielić bufora dla mapy stref"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Nie można przydzielić bufora dla i-węzłów"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Nie można przydzielić bufora dla licznika i-węzłów"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Nie można przydzielić bufora dla licznika stref"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Nie można odczytać mapy i-węzłów"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Nie można odczytać mapy stref"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Nie można odczytać i-węzłów"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Uwaga: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld i-węzłów\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokĂłw\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonesize=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxsize=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Stan systemu plikĂłw=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"namelen=%zd\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"I-węzeł %d oznaczono jako nieużywany ale jest on używany przez plik '%s'\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Znacznik w uĹĽyciu"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Plik `%s' ma tryb %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Uwaga: liczba i-węzłów za duża.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "główny i-węzeł nie jest katalogiem"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Blok był wcześniej użyty. Obecnie w pliku `%s'."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Wyczyścić"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Blok %d w pliku `%s' jest oznaczony jako nieuĹĽywany."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Naprawić"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "Katalog '%s' zawiera błędny numer i-węzła dla pliku '%.*s'."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Usunąć"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: błędny katalog: '.' nie jest na początku\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: błędny katalog: '..' nie jest na drugiej pozycji\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "błąd wewnętrzny"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: błędny katalog: rozmiar < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "przemieszczenie nie powiodło się w bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Tryb i-węzła %lu nie wyczyszczony."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr ""
+"I-węzeł %lu jest nieużywany, a zaznaczony jako używany w mapie bitowej."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr ""
+"I-węzeł %lu jest używany, a zaznaczony jako nieużywany w mapie bitowej."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Ustawić"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "I-węzeł %lu (tryb = %07o), i_nlinks=%d, obliczono=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Ustawienie i_nlinks na liczbÄ™ obliczonÄ…"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Strefa %lu: zaznaczona jako uĹĽywana, a ĹĽaden plik jej nie uĹĽywa."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Odznaczyć"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Strefa %lu: uĹĽywana, naliczono=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Strefa %lu: nie uĹĽywana, naliczono=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "błędny rozmiar i-węzła"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "błędny rozmiar i-węzła v2"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "do interakcyjnej naprawy potrzebny jest terminal"
+
+#: disk-utils/fsck.minix.c:1305
+#, c-format
+msgid "cannot open %s: %s"
+msgstr "nie można otworzyć %s: %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s jest czysty, bez sprawdzania.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Wymuszenie sprawdzanie systemu plikĂłw na %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "System plikĂłw %s nie jest czysty, wymaga sprawdzenia.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld używanych i-węzłów (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld uĹĽywanych stref (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d zwykłych plików\n"
+"%6d katalogĂłw\n"
+"%6d plików urządzeń znakowych\n"
+"%6d plików urządzeń blokowych\n"
+"%6d dowiązań\n"
+"%6d dowiązań symbolicznych\n"
+"------\n"
+"%6d plikĂłw\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"---------------------------\n"
+"ZMODYFIKOWANO SYSTEM PLIKĂ“W\n"
+"---------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr "błąd przemieszczania po %s"
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr "błąd odczytu %s"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "liczba sektorĂłw: %d, rozmiar sektora: %d\n"
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [opcje] plik_obrazu_iso9660\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -d, --divisor=LICZBA podzielenie liczby bajtĂłw przez LICZBÄ\n"
+" -x, --sectors wypisanie liczby sektorĂłw i ich rozmiaru\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -H, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr "błędny podzielnik"
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Składnia: %s [opcje] urządzenie [liczba-bloków]\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -N, --inodes=ILE określenie pożądanej liczby i-węzłów\n"
+" -V, --vname=NAZWA określenie nazwy wolumenu\n"
+" -F, --fname=NAZWA określenie nazwy systemu plików\n"
+" -v, --verbose wyjaśnianie wykonywanych czynności\n"
+" -c opcja po cichu ignorowana\n"
+" -l opcja po cichu ignorowana\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -V jako wersja musi być jedyną opcją\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr "błędna liczba i-węzłów"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "nazwa woluminu za długa"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "nazwa systemu plików za długa"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s nie jest specjalnym urzÄ…dzeniem blokowym"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr "błędna liczba bloków"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "nie można pobrać rozmiaru %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "argument liczba-blokĂłw za duĹĽy, maksimum to %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "za dużo i-węzłów - maksimum to 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "za mało miejsca, potrzeba co najmniej %llu bloków"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "UrzÄ…dzenie: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Wolumin: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "NazwaFS: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "RozmiarBloku: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "I-węzłów: %lu (w 1 bloku)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "I-węzłów: %lu (w blokach: %llu)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "BlokĂłw: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Koniec i-węzłów: %d, Koniec danych: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "błąd zapisu superbloku"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "błąd zapisu głównego i-węzła"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "błąd zapisu i-węzła"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "błąd przemieszczania"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "błąd zapisu wpisu '.'"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "błąd zapisu wpisu '..'"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "błąd zamykania %s"
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "Składnia: %s [opcje] [-t typ opcje-fs] urządzenie [rozmiar]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -t, --type=TYP typ systemu plików; domyślnie używany jest ext2\n"
+" opcje-fs parametry faktycznego programu tworzÄ…cego system plikĂłw\n"
+" urządzenie ścieżka do urządzenia\n"
+" rozmiar liczba blokĂłw na urzÄ…dzeniu\n"
+" -V, --verbose wyjaśnianie wykonywanych czynności\n"
+" większa liczba -V spowoduje uruchomienie bez faktycznej "
+"akcji\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -V jako wersja musi być jedyną opcją\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"Więcej informacji w mkfs(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"Składnia: %s [-h] [-v] [-b rozmbloku] [-e edycja] [-N endian] [-i plik] [-n "
+"nazwa] katalog plikwy\n"
+" -h wyświetlenie tego opisu\n"
+" -v większa liczba komunikatów\n"
+" -E uczynienie wszystkich ostrzeżeń błędami (niezerowy kod "
+"wyjścia)\n"
+" -b rozmbloku użycie tego rozmiaru bloku, musi być równy rozmiarowi strony\n"
+" -e edycja ustawienie numeru edycji (część fsida)\n"
+" -N endian kolejność bajtów w słowie (big|little|host), domyślnie host\n"
+" -i plik wstawienie obrazu pliku do systemu plikĂłw (wymaga >= 2.4.0)\n"
+" -n nazwa ustawienie nazwy systemu plikĂłw cramfs\n"
+" -p wyrĂłwnanie do %d bajtĂłw dla kodu rozruchowego\n"
+" -s sortowanie wpisĂłw w katalogu (stara opcja, ignorowana)\n"
+" -z tworzenie jawnych dziur (wymaga >= 2.3.39)\n"
+" katalog główny katalog systemu plików do kompresji\n"
+" plikwy plik wyjściowy\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr "nie udało się odczytać katalogu %s"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Znaleziono bardzo długą nazwę pliku (%zu bajtów) `%s'.\n"
+" Proszę zwiększyć MAX_INPUT_NAMELEN w mkcramfs.c i przekompilować. "
+"Zakończenie."
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr "system plików za duży. Zakończenie."
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AĹAAA: blok \"skompresowany\" do 2*dĹ‚ugość bloku (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bajtĂłw)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr "nie można zamknąć pliku '%s'"
+
+#: disk-utils/mkfs.cramfs.c:726
+msgid "invalid blocksize argument"
+msgstr "błędna wartość rozmiaru bloku"
+
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr "błąd argumentu liczbowego edycji"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+"podano błędną kolejność bajtów w słowie. Musi być jedną z 'big', 'little' "
+"lub 'host'"
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"uwaga: szacowany wymagany rozmiar (gĂłrna granica) to %lldMB, ale maksymalny "
+"rozmiar obrazu to %uMB. Program może zginąć przedwcześnie."
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "Mapa obrazu ROM"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Dołączanie: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dane katalogu: %zd bajtĂłw\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "ĹÄ…cznie: %zd kilobajtĂłw\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblock: %zd bajtĂłw\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"przydzielono za mało miejsca na obraz ROM (przydzielono %lld, użyto %zu)"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "obraz ROM"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "błąd zapisu obrazu ROM (%zd %zd)"
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "uwaga: nazwy plikĂłw skrĂłcone do 255 bajtĂłw."
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr "uwaga: pominięto pliki z powodu błędów."
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "uwaga: zmniejszono rozmiary plikĂłw do %luMB (minus 1 bajt)."
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr "uwaga: uidy skrócone do %u bitów (może to rzutować na bezpieczeństwo)."
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr "uwaga: gidy skrócone do %u bitów (może to rzutować na bezpieczeństwo)."
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"UWAGA: numery urządzeń skrócone do %u bitów. Prawie na pewno oznacza to, że\n"
+"któreś pliku urządzeń będą niewłaściwe."
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Składnia: %s [-c | -l plik] [-nXX] [-iXX] /dev/nazwa [bloki]"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s jest zamontowany; odmowa utworzenia tam systemu plikĂłw!"
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr ""
+"%s: przemieszczenie na blok rozruchowy nie powiodło się we write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%s: nie udało się wyczyścić sektora rozruchowego"
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "%s: przemieszczenie nie powiodło się we write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr "%s: nie udało się zapisać superbloku"
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr "%s: nie udało się zapisać mapy i-węzłów"
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr "%s: nie udało się zapisać mapy stref"
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr "%s: nie udało się zapisać i-węzłów"
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s: przemieszczenie nie powiodło się we write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr "%s: zapis nie powiódł się we write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr "%s: zbyt duĹĽo wadliwych blokĂłw"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr "%s: zbyt mało dobrych bloków"
+
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "%s: nie udało się przydzielić bufora dla superbloku"
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "%s: nie udało się przydzielić buforów dla map"
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "%s: nie udało się przydzielić bufora dla i-węzłów"
+
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr "i-węzłów: %lu\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr "blokĂłw: %lu\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxsize=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "%s: przemieszczenie nie powiodło się podczas sprawdzania bloków"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Dziwna wartość w do_check: prawdopodobnie błędy\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s: przemieszczenie nie powiodło się w check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"%s: wadliwe bloki przed obszarem danych: nie można utworzyć systemu plików"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d wadliwych blokĂłw\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "jeden wadliwy blok\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s: nie można otworzyć pliku z wadliwymi blokami"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "błędny numer wadliwego bloku w linii %d\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s: nie można odczytać pliku wadliwych bloków"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr "%s: błędny rozmiar i-węzła"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "błąd strtol: nie podano liczby bloków"
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr "%s: urządzenie jest błędnie wyrównane"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "rozmiar bloku mniejszy niĹĽ rozmiar fizycznego sektora na %s"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "nie można określić rozmiaru %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "odmowa utworzenia systemu plikĂłw na '%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr "%s: liczba bloków zbyt mała"
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Błędny podany przez użytkownika rozmiar strony %u"
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"UĹĽycie podanego przez uĹĽytkownika rozmiaru strony %d zamiast systemowego %d"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr "Błędny rozmiar nagłówka obszaru wymiany, nie zapisano etykiety."
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr "Etykieta została skrócona."
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "brak etykiety, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "brak uuida\n"
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [opcje] urzÄ…dzenie [rozmiar]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -c, --check test błędnych bloków przed utw. obszaru wymiany\n"
+" -f, --force zezwolenie na obszar wymiany większy niż "
+"urzÄ…dzenie\n"
+" -p, --pagesize ROZMIAR określenie rozmiaru strony w bajtach\n"
+" -L, --label ETYKIETA określenie etykiety\n"
+" -v, --swapversion NUMER określenie numeru wersji obszaru wymiany\n"
+" -U, --uuid UUID określenie uuida do użycia\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "za duĹĽo wadliwych stron"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "przemieszczenie nie powiodło się w check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "jedna wadliwa strona\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu wadliwych stron\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "nie udało się przydzielić nowej sondy libblkid"
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr "nie udało się przypisać urządzenia do sondy libblkid"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "nie udało się przewinąć urządzenia swapa"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "nie udało się usunąć sektorów rozruchowych"
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s: uwaga: nie usunięto sektorów rozruchowych"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (wykryto tablicÄ™ partycji %s). "
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " na całym dysku. "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (zbudowano bez libblkid). "
+
+#: disk-utils/mkswap.c:489
+msgid "parse page size failed"
+msgstr "nie udało się przeanalizować rozmiaru strony"
+
+#: disk-utils/mkswap.c:495
+msgid "parse version number failed"
+msgstr "nie udało się przeanalizować numeru wersji"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr "uwaga: zignorowano -U (UUID-y nie są obsługiwane przez %s)"
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr "brak obsługi obszaru wymiany w wersji %d."
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "błąd: analiza UUID-a nie powiodła się"
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr "błąd: Nie ma gdzie utworzyć obszaru wymiany?"
+
+#: disk-utils/mkswap.c:545
+msgid "invalid block count argument"
+msgstr "błędna liczba bloków"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "błąd: rozmiar %llu KiB jest większy niż rozmiar urządzenia %llu KiB"
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "błąd: obszar wymiany musi mieć przynajmniej %ld KiB"
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "uwaga: zmniejszono rozmiar wymiany do %llu KiB"
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "błąd: %s jest zamontowany; odmowa utworzenia obszaru wymiany."
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr "uwaga: %s jest błędnie wyrównane"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Nie udało się utworzyć obszaru wymiany: nieczytelny"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Tworzenie obszaru wymiany w wersji 1, rozmiar = %llu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: nie udało się zapisać strony sygnatury"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync nie powiódł się"
+
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: nie udało się uzyskać etykiety pliku SELinuksa"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "matchpathcon() nie powiodło się"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "nie udało się utworzyć nowego kontekstu SELinuksa"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "nie udało się wyliczyć kontekstu SELinuksa"
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr "nie udało się przeetykietować %s na %s"
+
+#: disk-utils/partx.c:79
+msgid "partition number"
+msgstr "numer partycji"
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr "poczÄ…tek partycji w sektorach"
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr "koniec partycji w sektorach"
+
+#: disk-utils/partx.c:82
+msgid "number of sectors"
+msgstr "liczba sektorĂłw"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr "rozmiar w postaci czytelnej dla człowieka"
+
+#: disk-utils/partx.c:84
+msgid "partition name"
+msgstr "nazwa partycji"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+msgid "partition UUID"
+msgstr "UUID partycji"
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr "typ tablicy partycji (dos, gpt...)"
+
+#: disk-utils/partx.c:87
+msgid "partition flags"
+msgstr "flagi partycji"
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr "typ (szesnastkowo) lub UUID partycji"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+msgid "failed to initialize loopcxt"
+msgstr "nie udało się zainicjować loopctx"
+
+#: disk-utils/partx.c:110
+#, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: nie udało się odnaleźć żadnego nie używanego urządzenia loop"
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "PrĂłba uĹĽycia '%s' jako urzÄ…dzenia loop\n"
+
+#: disk-utils/partx.c:118
+#, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: nie udało ustawić powiązanego pliku"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s: nie udało się skonfigurować urządzenia loop"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "nieznana kolumna: %s"
+
+#: disk-utils/partx.c:200
+#, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s: nie udało się zapisać numeru partycji"
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr "%s: błąd usuwania partycji %d"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "%s: błąd usuwania partycji %d-%d"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr "podany przedział <%d:%d> nie ma sensu"
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "%s: usunięto partycję #%d\n"
+
+#: disk-utils/partx.c:304
+#, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "%s: partycja #%d juĹĽ nie istnieje\n"
+
+#: disk-utils/partx.c:309
+#, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "%s: usunięcie partycji #%d nie powiodło się"
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr "%s: błąd podczas dodawania partycji %d"
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "%s: błąd podczas dodawania partycji %d-%d"
+
+#: disk-utils/partx.c:368
+#, c-format
+msgid "%s: partition #%d added\n"
+msgstr "%s: dodano partycjÄ™ #%d\n"
+
+#: disk-utils/partx.c:373
+#, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s: dodanie partycji #%d nie powiodło się"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr "#%2d: %9ju-%9ju (sektorĂłw: %9ju, %6ju MB)\n"
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr "nie udało się dodać linii do wyjścia"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr "nie udało się zainicjować tabeli wyjściowej"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr "nie udało się zainicjować kolumny wyjściowej"
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "nie udało się zainicjować filtra blkid dla '%s'"
+
+#: disk-utils/partx.c:585
+#, c-format
+msgid "%s: failed to read partition table"
+msgstr "%s: nie udało się odczytać tablicy partycji"
+
+#: disk-utils/partx.c:591
+#, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr "%s: wykryto tablicÄ™ partycji typu '%s'\n"
+
+#: disk-utils/partx.c:595
+#, c-format
+msgid "%s: partition table with no partitions"
+msgstr "%s: tablica partycji bez partycji"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr " %s [-a|-d|-s] [--nr <n:m> | <partycja>] <dysk>\n"
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --add dodanie podanych partycji lub wszystkich\n"
+" -d, --delete usunięcie podanych partycji lub wszystkich\n"
+" -l, --list lista partycji (PRZESTARZAĹE)\n"
+" -s, --show lista partycji\n"
+"\n"
+" -b, --bytes wypisywanie rozmiarĂłw w bajtach zamiast formatu\n"
+" czytelnego dla człowieka\n"
+" -g, --noheadings bez wypisywania nagłówków przy --show\n"
+" -n, --nr <n:m> określenie przedziału partycji (np. --nr 2:4)\n"
+" -o, --output <typ> określenie kolumn do wypisania na wyjściu\n"
+" -P, --pairs wyjście w formacie klucz=\"wartość\"\n"
+" -r, --raw wyjście w formacie surowym\n"
+" -t, --type <typ> określenie typu partycji (dos, bsd, solaris itp.)\n"
+" -v, --verbose tryb szczegółowy\n"
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+"\n"
+"Dostępne kolumny (dla --show, --raw lub --pairs):\n"
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr "nie udało się przeanalizować przedziału --nr <M-N>"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "--nr i <partycja> wykluczajÄ… siÄ™ wzajemnie"
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr "partycja: %s, dysk: %s, poczÄ…tek: %d, koniec: %d\n"
+
+#: disk-utils/partx.c:829
+#, c-format
+msgid "%s: cannot delete partitions"
+msgstr "%s: nie można usunąć partycji"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "%s: partycjonowanie urządzeń loop nie jest obsługiwane"
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "%s: nie udało się zainicjować próbnika blkid"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+"Składnia:\n"
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<urzÄ…dzenie-blokowe>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr " -q, --query ustawienie trybu zapytania\n"
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr " -a, --all odpytanie wszystkich urządzeń surowych\n"
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+"Urządzenie '%s' jest sterującym urządzeniem surowym (należy użyć raw<N>, "
+"gdzie <N> jest większe od zera)"
+
+#: disk-utils/raw.c:178
+#, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Nie można zlokalizować urządzenia blokowego '%s'"
+
+#: disk-utils/raw.c:181
+#, c-format
+msgid "Device '%s' is not a block device"
+msgstr "UrzÄ…dzenie '%s' nie jest urzÄ…dzeniem blokowym"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+msgid "failed to parse argument"
+msgstr "nie udało się przeanalizować argumentu"
+
+#: disk-utils/raw.c:210
+#, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Nie można otworzyć nadrzędnego urządzenia surowego '%s'"
+
+#: disk-utils/raw.c:225
+#, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "Nie można zlokalizować urządzenia surowego '%s'"
+
+#: disk-utils/raw.c:228
+#, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "UrzÄ…dzenie surowe '%s' nie jest urzÄ…dzeniem znakowym"
+
+#: disk-utils/raw.c:232
+#, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "UrzÄ…dzenie '%s' nie jest urzÄ…dzeniem surowym"
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr "BĹ‚Ä…d odpytywania urzÄ…dzenia surowego"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr "%sraw%d: przypisano do urzÄ…dzenia major %d, minor %d\n"
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr "BĹ‚Ä…d ustawiania urzÄ…dzenia surowego"
+
+#: disk-utils/resizepart.c:18
+#, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr " %s <urządzenie dyskowe> <numer partycji> <długość>\n"
+
+#: disk-utils/resizepart.c:98
+#, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s: nie udało się uzyskać początku partycji numer %s"
+
+#: disk-utils/resizepart.c:103
+msgid "failed to resize partition"
+msgstr "nie udało się zmienić rozmiaru partycji"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr "%s: nie udało się sprawdzić urządzenia"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr "%s: niejednoznaczny wynik próby, proszę użyć wipefs(8)"
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: nie jest poprawnÄ… partycjÄ… wymiany"
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: nieobsługiwana wersja obszaru wymiany '%s'"
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr "nie udało się przeanalizować UUID-a: %s"
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: nie udało się zmienić położenia na UUID obszaru wymiany"
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: nie udało się zapisać UUID-a"
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: nie udało się zmienić położenia na etykietę obszaru wymiany "
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr "etykieta jest zbyt długa. Obcięto do '%s'"
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr "%s: nie udało się zapisać etykiety"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+" -L, --label <etykieta> określenie nowej etykiety\n"
+" -U, --uuid <uuid> określenie nowego UUID-a\n"
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "zignorowano -U (UUID-y nie są obsługiwane przez)"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Zabrakło pamięci!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "BezuĹĽyteczne"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Wolne miejsce"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Dysk został zmieniony.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Należy zrestartować system, aby zapewnić poprawne uaktualnienie tablicy "
+"partycji.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"UWAGA: jeśli zostały utworzone lub zmodyfikowane\n"
+"jakiekolwiek partycje DOS 6.x, proszę poszukać\n"
+"dodatkowych informacji w podręczniku do cfdiska.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "BĹÄ„D KRYTYCZNY"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Proszę nacisnąć dowolny klawisz, aby zakończyć cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Nie udało przemieścić się po dysku"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Nie udało się odczytać dysku"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Nie udało się zapisać dysku"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Zbyt duĹĽo partycji"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Partycja zaczyna siÄ™ przed sektorem 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Partycja kończy się przed sektorem 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Partycja zaczyna się za końcem dysku"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Partycja kończy się za końcem dysku"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "Partycje logiczne nie są w kolejności na dysku"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "Partycje logiczne zachodzÄ… na siebie"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "Powiększone partycje logiczne zachodzą na siebie"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Błąd wewnętrzny przy tworzeniu partycji logicznej bez rozszerzonej !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Nie można tu utworzyć napędu logicznego - powstałyby dwie partycje "
+"rozszerzone"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Za długa pozycja w menu, może wyglądać dziwnie."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Niedozwolony klawisz"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Proszę nacisnąć klawisz, aby kontynuować"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "GĹ‚Ăłwna"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Utworzenie nowe partycji głównej"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logiczna"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Utworzenie nowej partycji logicznej"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Anuluj"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Bez tworzenia partycji"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Błąd wewnętrzny !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Rozmiar (w MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "PoczÄ…tek"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Dodanie partycji na poczÄ…tku wolnego miejsca"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Koniec"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Dodanie partycji na końcu wolnego miejsca"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Brak miejsca na utworzenie partycji rozszerzonej"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Brak tablicy partycji.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Brak tablicy partycji. Rozpoczęcie od pustej tablicy."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Błędna sygnatura tablicy partycji"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Nieznany typ tablicy partycji"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Czy zacząć od pustej tablicy [t/N] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Podano więcej cylindrów niż mieści się na dysku"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Nie można otworzyć urządzenia dysku"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Otwarto dysk w trybie tylko do odczytu - brak prawa zapisu"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Uwaga! Wykryto nieobsługiwaną tablicę GPT (GUID Partition Table). Należy "
+"użyć GNU Parteda."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Nie można pobrać rozmiaru dysku"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Błędna partycja główna"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Błędna partycja logiczna"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Uwaga! To może zniszczyć dane na dysku!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr "Czy na pewno zapisać na dysk tablicę partycji? (tak lub nie): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "nie"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Nie zapisano tablicy partycji"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "tak"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Proszę wpisać \"tak\" lub \"nie\""
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Zapisywanie tablicy partycji na dysku..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Zapisano tablicÄ™ partycji"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Zapisano tablicę partycji, ale ponowny odczyt nie powiódł się. Proszę "
+"uruchomić partprobe(8), kpartx(8) lub zrestartować system, aby uaktualnić "
+"tablicÄ™."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Żadna z głównych partycji nie jest zaznaczona jako rozruchowa. DOS-owy MBR "
+"tego nie uruchomi."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Więcej niż jedna główna partycja jest zaznaczona jako rozruchowa. DOS-owy "
+"MBR tego nie uruchomi."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Proszę wprowadzić nazwę pliku lub wcisnąć RETURN, aby wyświetlić na ekranie: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "UrzÄ…dzenie dysku: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Brak "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " GĹ‚./Log."
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " GĹ‚Ăłwna "
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logiczna"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Nieznany"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Rozruch"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Brak"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tablica partycji dla %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Pierwszy Ostatni\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Typ sektor sektor Offset Długość ID systemu plików "
+"Flaga\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- -------- ----------- ----------- ------ ----------- -------------------- "
+"------\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " --Początkowe--- ----Końcowe---- Pierwszy Liczba\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Flagi GĹ‚ow.Sekt. Cyl. ID GĹ‚ow.Sekt. Cyl. Sektor sektorĂłw\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Surowy"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Wypisanie tablicy w surowym formacie danych"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektory"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Wypisanie tablicy w kolejności sektorów"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tablica"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Zwykłe wypisanie tablicy partycji"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Bez wypisywania tablicy"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Ekran pomocy dla cfdiska"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "To jest cfdisk - oparty na curses program do partycjonowania dysku,"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "pozwalający tworzyć, usuwać i modyfikować partycje na twardym"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "dysku."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin i aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Polecenie Znaczenie"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "--------- ---------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Przełączenie flagi rozruchu dla bieżącej partycji"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Usunięcie bieżącej partycji"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Zmiana parametrów cylindrów, głowic i sektorów na ścieżce"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " UWAGA: ta opcja powinna być używana tylko przez osoby"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " wiedzÄ…ce co robiÄ…."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Wyświetlenie tego ekranu"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr ""
+" m Zmaksymalizowanie wykorzystania dysku przez bieĹĽÄ…cÄ… partycjÄ™"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Uwaga: może to spowodować niekompatybilność partycji"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " z DOS-em, OS/2 itp."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Utworzenie nowej partycji na wolnym miejscu"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Wypisanie tablicy partycji na ekranie lub do pliku"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Można wybrać jeden z kilku różnych formatów listy"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " partycji:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr " r - surowe dane (w takiej postaci, jak na dysku)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - tablica w kolejności sektorów"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - tablica w formacie surowym"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Zakończenie programu bez zapisu tablicy partycji"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Zmiana typu systemu plikĂłw"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Zmiana jednostek wyświetlania rozmiaru partycji"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Przełącza między MB, sektorami i cylindrami"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Zapis tablicy partycji na dysk (musi być wielkie W)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Ponieważ może to zniszczyć dane na dysku, należy"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " potwierdzić lub anulować zapis wpisując \"tak\" lub"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " \"nie\""
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Góra Przesunięcie kursora na poprzednią partycję"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Dół Przesunięcie kursora na następną partycję"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "Ctrl-L Odrysowanie ekranu"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Wyświetlenie tego ekranu"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Uwaga: wszystkie polecenia mogą być uruchomione wielkimi lub małymi"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "literami (z wyjÄ…tkiem zapisu - W)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cylindry"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Zmiana liczby cylindrĂłw"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "GĹ‚owice"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Zmiana liczby głowic"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Zmiana liczby sektorĂłw"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Koniec"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Zakończenie zmian w geometrii"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Liczba cylindrĂłw: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Niedozwolona liczba cylindrĂłw"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Liczba głowic: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Niedozwolona liczba głowic"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Liczba sektorów na ścieżce: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Niedozwolona liczba sektorĂłw"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Typ systemu plikĂłw: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Nie można zmienić typu systemu plików na pusty"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Nie można zmienić typu systemu plików na partycję rozszerzoną"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "???(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NK"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NK"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "GĹ‚/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Nieznany (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "UrzÄ…dzenie: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Rozmiar: %lld bajtĂłw, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Rozmiar: %lld bajtĂłw, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Głowic: %d Sektorów na ścieżce: %d Cylindrów: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nazwa"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Flagi"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Typ partycji"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "System plikĂłw"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Etykieta]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " SektorĂłw"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " CylindrĂłw"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Rozmiar (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Rozmiar (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Nie ma więcej partycji"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Rozruch"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Przełączenie flagi rozruchu dla bieżącej partycji"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Usuń"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Usunięcie bieżącej partycji"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Zmiana geometrii dysku (tylko dla ekspertĂłw)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Pomoc"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Wyświetlenie ekranu pomocy"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maksymalizuj"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Zmaksymalizowanie wykorzystania dysku przez bieĹĽÄ…cÄ… partycjÄ™ (tylko dla "
+"ekspertĂłw)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Nowa"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Utworzenie nowej partycji na wolnym miejscu"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Wypisz"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Wypisanie tablicy partycji na ekranie lub do pliku"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Zakończ"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Zakończenie programu bez zapisu tablicy partycji"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Typ"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Zmiana typu systemu plikĂłw (DOS, Linux, OS/2 itd.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Jednostki"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Zmiana jednostek wyświetlania rozmiaru partycji (MB, sekt., cyl.)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Zapisz"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Zapis tablicy partycji na dysk (może to zniszczyć dane)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Nie można uczynić tej partycji rozruchową"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Nie można usunąć pustej partycji"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Nie można zmaksymalizować tej partycji"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Ta partycja jest bezuĹĽyteczna"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Ta partycja juĹĽ jest uĹĽywana"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Nie można zmienić typu pustej partycji"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Niedozwolone polecenie"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin i aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+"Wypisanie wersji:\n"
+" %s -v\n"
+"Wypisanie tablicy partycji:\n"
+" %s -P {r|s|t} [opcje] urzÄ…dzenie\n"
+"UĹĽycie interaktywne:\n"
+" %s [opcje] urzÄ…dzenie\n"
+"\n"
+"Opcje:\n"
+"-a: użycie strzałki zamiast podświetlenia;\n"
+"-z: rozpoczęcie od pustej tablicy partycji zamiast odczytu jej z dysku;\n"
+"-c C -h H -s S: wymuszenie innej liczby cylindrów, głowic i sektorów na\n"
+" ścieżce niż przyjęta przez jądro.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+msgid "cannot parse number of cylinders"
+msgstr "niezrozumiała liczba cylindrów"
+
+#: fdisks/cfdisk.c:2789
+msgid "cannot parse number of heads"
+msgstr "niezrozumiała liczba głowic"
+
+#: fdisks/cfdisk.c:2796
+msgid "cannot parse number of sectors"
+msgstr "niezrozumiała liczba sektorów"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tNa tym dysku istnieje poprawna etykieta typu AIX.\n"
+"\tNiestety Linux nie obecnie nie potrafi obsłużyć\n"
+"\ttakich dyskĂłw. Tym niemniej kilka uwag:\n"
+"\t1. fdisk zniszczy jej zawartość przy zapisie.\n"
+"\t2. Należy się upewnić, że ten dysk NIE pozostaje\n"
+"\t aktywną częścią żadnej grupy wolumenów\n"
+"\t (w przeciwnym wypadku można usunąć także\n"
+"\t zawartość innych dysków, jeśli nie mają kopii).\n"
+"\t3. Przed usuwaniem tego wolumenu fizycznego naleĹĽy\n"
+" się upewnić, że dysk logiczny został usunięty\n"
+" pod AIX-em (w przeciwnym wypadku można zostać\n"
+" AIXpertem)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tNiestety ta wersja fdiska nie obsługuje etykiet dysku typu AIX.\n"
+"\tAby dodać DOS-owe partycje, należy najpierw utworzyć\n"
+"\tpustÄ… DOS-owÄ… tablicÄ™ partycji (poleceniem o).\n"
+"\tUWAGA: zniszczy to obecną zawartość dysku.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etykieta BSD dla urzÄ…dzenia: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Zapis etykiety dysku na %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Pierwszy %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Ostatni %s albo +rozmiar, +rozmiarM lub +rozmiarK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s nie zawiera etykiety dysku.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Utworzyć etykietę dysku? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partycja %s ma niepoprawny sektor poczÄ…tkowy 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Odczyt etykiety dysku %s w sektorze %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Na %s nie ma partycji *BSD.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Polecenie dla etykiety dysku BSD (m wyświetla pomoc): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "typ: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "typ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "dysk: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etykieta: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "flagi"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " wyjmowalny"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ECC"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " wadliwe"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bajtĂłw/sektor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektorów/ścieżkę: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "ścieżek/cylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektorĂłw/cylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindrĂłw: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "obr./min: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "przeplot: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "przesunięcie dla ścieżki: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "przesunięcie dla cylindra: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "zmiana głowicy: %ld\t\t# milisekund\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "zmiana ścieżki: %ld\t\t# milisekund\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "dane urzÄ…dzenia: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partycji:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# poczÄ…tek koniec rozmiar typ FS [r.fr. r.blk. c/g]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "bajtĂłw/sektor"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektorów/ścieżkę"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "ścieżek/cylinder"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cylindrĂłw"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektorĂłw/cylinder"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Musi być <= sektorów/ścieżkę * ścieżek/cylinder (domyślnie).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "obr./min"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "przeplot"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "przesunięcie dla ścieżki"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "przesunięcie dla cylindra"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "zmiana głowicy"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "zmiana ścieżki"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Kod rozruchowy: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Kod rozruchowy zachodzi na etykietÄ™ dysku!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Zainstalowano kod rozruchowy na %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partycja (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Utworzono juĹĽ maksymalnÄ… liczbÄ™ partycji\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Ta partycja juĹĽ istnieje.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Uwaga: za duĹĽo partycji (%d, maksimum to %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synchronizacja dyskĂłw.\n"
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr "zmiana flagi rozruchu"
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr "zmiana flagi tylko do odczytu"
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr "wybĂłr partycji rozruchowej"
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr "zmiana liczby zmiennych cylindrĂłw"
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr "modyfikacja etykiety dysku BSD"
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr "edycja wpisu pliku rozruchowego"
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr "przesunięcie początku danych na partycji"
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr "zmiana flagi kompatybilności z DOS-em"
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr "zmiana flagi montowalności"
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr "wybĂłr partycji wymiany SGI"
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr "zmiana liczby cylindrĂłw"
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr "usunięcie partycji"
+
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr "wypisanie surowych danych tablicy partycji"
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr "zmiana liczby dodatkowych sektorĂłw na cylinder"
+
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr "wypisanie partycji rozszerzonych"
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr "edycja danych urzÄ…dzenia"
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr "poprawienie kolejności partycji"
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr "utworzenie tablicy partycji typu IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr "zmiana liczby głowic"
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr "zmiana współczynnika przeplotu"
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr "zmiana identyfikatora dysku"
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr "zainstalowanie kodu rozruchowego"
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr "wypisanie znanych typĂłw partycji"
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr "wyświetlenie tego menu"
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr "dodanie nowej partycji"
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr "utworzenie nowej, pustej DOS-owej tablicy partycji"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr "zmiana prędkości obrotowej (obr./min)"
+
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr "wypisanie tablicy partycji"
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr "zakończenie bez zapisywania zmian"
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr "powrót do głównego menu"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr "utworzenie nowej, pustej etykiety dysku Suna"
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr "zmiana liczby sektorów na ścieżkę"
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr "wypisanie całej etykiety dysku"
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr "zmiana ID systemu partycji"
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr "zmiana jednostek wyświetlania/wprowadzania"
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr "weryfikacja tablicy partycji"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr "zapis tablicy partycji na dysk i zakończenie"
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr "zapisanie etykiety na dysk"
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr "dodatkowe funkcje (tylko dla ekspertĂłw)"
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr "połączenie partycji BSD z partycją nie-BSD"
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr "zmiana liczby fizycznych cylindrĂłw"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+"Składnia:\n"
+" %1$s [opcje] <dysk> zmiana tablicy partycji\n"
+" %1$s [opcje] -l <dysk> wypisanie tablic(y) partycji\n"
+" %1$s -s <partycja> przekazanie rozmiaru partycji w blokach\n"
+"\n"
+"Opcje:\n"
+" -b <rozmiar> rozmiar bloku (512, 1024, 2048 lub 4096)\n"
+" -c[=<tryb>] tryb kompatybilności: 'dos' lub "
+"'nondos' (domyślny)\n"
+" -h wyświetlenie opisu\n"
+" -u[=<jednostka>] jednostki wyśw.: 'cylinders' lub "
+"'sectors' (domyślne)\n"
+" -v wyświetlenie wersji\n"
+" -C <liczba> przekazanie liczby cylindrĂłw\n"
+" -H <liczba> przekazanie liczby głowic\n"
+" -S <liczba> przekazanie liczby sektorów na ścieżce\n"
+"\n"
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr "nie można odczytać %s"
+
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr "nie można zmienić pozycji na %s"
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr "nie można zapisać %s"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "ioctl BLKGETSIZE nie powiódł się na %s"
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr "błąd krytyczny"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Polecenie"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Trzeba wprowadzić liczbę"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "głowic"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektorĂłw"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Można to zrobić z poziomu menu funkcji dodatkowych.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " oraz "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"UWAGA: rozmiar tego dysku to %d.%d TB (%llu bajtĂłw).\n"
+"DOS-owy format tablicy partycji nie może być używany dla dysków\n"
+"na wolumenach większych niż %llu bajtów dla %ld-bajtowych sektorów.\n"
+"Należy użyć parted(1)a i formatu tablicy partycji GUID (GPT).\n"
+"\n"
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+"\n"
+"UrzÄ…dzenie przedstawia logiczny rozmiar sektora mniejszy od rozmiaru\n"
+"fizycznego. Zaleca siÄ™ wyrĂłwnanie do granicy sektora fizycznego\n"
+"(lub optymalnego dla we/wy), w przeciwnym wypadku może to wpłynąć\n"
+"na wydajność.\n"
+"\n"
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"UWAGA: tryb kompatybilności z DOS-em jest przestarzały. Zdecydowanie\n"
+" zaleca się wyłączyć ten tryb (polecenie 'c')."
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+"\n"
+"UWAGA: cylindry jako jednostki wyświetlania są przestarzałe. Lepiej\n"
+" użyć polecenia 'u', aby zmienić jednostki na sektory.\n"
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr "Czy na pewno zakończyć program? "
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Kod szesnastkowy (L wyświetla listę): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, domyślnie %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Nieobsługiwany przyrostek: '%s'.\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"Obsługiwane: 10^N: KB (kilobajty), MB (megabajty), GB (gigabajty)\n"
+" 2^N: K (kibibajty), M (mebibajty), G (gibibajty)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Przyjęto wartość domyślną %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Wartość spoza zakresu.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Numer partycji"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Uwaga: partycja %d ma pusty typ\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Wybrano partycjÄ™ %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Nie zdefiniowano jeszcze partycji!\n"
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cylinder"
+msgstr[1] "cylindry"
+msgstr[2] "cylindrĂłw"
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektor"
+msgstr[1] "sektory"
+msgstr[2] "sektorĂłw"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr ""
+"Zmiana jednostek wyĹ›wietlania/wprowadzania na cylindry (PRZESTARZAĹE!)\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Zmiana jednostek wyświetlania/wprowadzania na sektory\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "UWAGA: partycja %d jest partycjÄ… rozszerzonÄ…\n"
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "Flaga kompatybilnoĹ›ci z DOS-em jest ustawiona (PRZESTARZAĹE!)\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Flaga kompatybilności z DOS-em nie jest ustawiona\n"
+
+#: fdisks/fdisk.c:841
+#, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Partycja %d usunięta\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partycja %d jeszcze nie istnieje!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Typ 0 oznacza wolne miejsce dla wielu systemĂłw\n"
+"(ale nie Linuksa). Posiadanie partycji typu 0\n"
+"jest raczej niemądre. Można usunąć partycję przy\n"
+"uĹĽyciu polecenia `d'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Nie można zmienić istniejącej partycji na rozszerzoną ani odwrotnie.\n"
+"Należy ją najpierw usunąć.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Najlepiej pozostawić partycję 3 jako cały dysk (5),\n"
+"poniewaĹĽ tego oczekuje SunOS/Solaris i nawet Linux to lubi.\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Najlepiej pozostawić partycję 9 jako nagłówek wolumenu (0),\n"
+"a partycję 11 jako cały wolumen (6), ponieważ tego oczekuje IRIX.\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Zmieniono typ systemu partycji %d na %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Typ systemu partycji %d nie został zmieniony: %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"Partycja %d ma różne początki fizyczny i logiczny (nie jest linuksowa?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fizyczny=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logiczny=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partycja %d ma różne końce fizyczny i logiczny:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partycja %i nie kończy się na granicy cylindra.\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Partycja %i nie zaczyna siÄ™ na granicy bloku fizycznego.\n"
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Dysk %s: %ld MB, bajtĂłw: %lld"
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Dysk %s: %ld.%ld GB, bajtĂłw: %llu"
+
+#: fdisks/fdisk.c:1007
+#, c-format
+msgid ", %llu sectors\n"
+msgstr ", sektorĂłw: %llu\n"
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "głowic: %d, sektorów/ścieżkę: %llu, cylindrów: %llu\n"
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Jednostka = %s, czyli %d * %ld = %ld bajtĂłw\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "Rozmiar sektora (logiczny/fizyczny) w bajtach: %lu / %lu\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr "Rozmiar we/wy (minimalny/optymalny) w bajtach: %lu / %lu\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "WyrĂłwnanie w bajtach: %lu\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Nie ma nic do zrobienia, kolejność już jest prawidłowa.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Zakończone.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Nie wyglÄ…da to na tablicÄ™ partycji\n"
+"Prawdopodobnie wybrano niewłaściwe urządzenie.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Rozruch PoczÄ…tek Koniec BlokĂłw ID System\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "UrzÄ…dzenie"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Wpisy w tablicy partycji nie są w tej kolejności, co na dysku\n"
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s: głowic: %d, sektorów: %llu, cylindrów: %llu\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr Fl GĹ‚ Sekt Cyl GĹ‚ Sekt Cyl PoczÄ…tek Rozm ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Uwaga: partycja %d zawiera sektor 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partycja %d: głowica %d większa niż maksymalna %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partycja %d: sektor %d większy niż maksymalny %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partycja %d: cylinder %d większy niż maksymalny %llu\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+"Partycja %d: poprzednia liczba sektorów %d nie zgadza się z całkowitą %d\n"
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Partycja %d typu %s o rozmiarze %s ustawiona\n"
+
+#: fdisks/fdisk.c:1355
+msgid "cannot write disk label"
+msgstr "nie udało się zapisać etykiety dysku"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Tablica partycji została zmodyfikowana!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Wywoływanie ioctl() w celu ponownego odczytu tablicy partycji.\n"
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"UWAGA: ponowny odczyt tablicy partycji zakończył się błędem %d: %m.\n"
+"Jądro nadal używa starej tablicy. Nowa tablica będzie używana po\n"
+"następnym restarcie systemu albo po uruchomieniu partprobe(8) lub kpartx(8)\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"UWAGA: Jeśli zostały utworzone lub zmodyfikowane partycje DOS-a 6.x,\n"
+"proszę zobaczyć dodatkowe informacje w podręczniku do fdiska.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"BĹ‚Ä…d podczas zamykania pliku\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synchronizacja dyskĂłw.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partycja %d nie ma obszaru danych\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Nowy poczÄ…tek danych"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Polecenie eksperta (m wyświetla pomoc): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Liczba cylindrĂłw"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Liczba głowic"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Liczba sektorĂłw"
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Uwaga: ustawianie offsetu sektora dla kompatybilności z DOS-em\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"UWAGA: Na '%s' wykryto tablicÄ™ partycji GPT (GUID Partition Table)! fdisk "
+"nie obsługuje GPT. Należy użyć GNU Parteda.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "nie można otworzyć %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: nieznane polecenie\n"
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Witamy w programie fdisk (%s).\n"
+"\n"
+"Zmiany pozostaną tylko w pamięci do chwili ich zapisania.\n"
+"Przed użyciem polecenia zapisu prosimy o ostrożność.\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Na %s wykryto etykietę dysku OSF/1, wejście w tryb etykiety dysku\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Polecenie (m wyświetla pomoc): "
+
+#: fdisks/fdisk.c:1821
+msgid "invalid sector size argument"
+msgstr "błędna wartość rozmiaru sektora"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+msgid "invalid cylinders argument"
+msgstr "błędna liczba cylindrów"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+msgid "invalid heads argument"
+msgstr "błędna liczba głowic"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+msgid "invalid sectors argument"
+msgstr "błędna liczba sektorów"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Uwaga: opcja -b (rozmiar sektora) powinna być używana z określonym "
+"urzÄ…dzeniem\n"
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Uwaga: rozmiar sektora to %ld (nie %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "UrzÄ…dzenie nie zawiera ĹĽadnej znanej tablicy partycji\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Wszystkie główne partycje zostały już zdefiniowane!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Błędny offset w głównej partycji rozszerzonej\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Uwaga: pominięto partycje po #%d.\n"
+"Będą usunięte, jeśli tablica partycji zostanie zapisana.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Uwaga: nadmiarowy wskaĹşnik Ĺ‚Ä…czÄ…cy w tablicy partycji %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Uwaga: zignorowano nadmiarowe dane w tablicy partycji %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "pominięto pustą partycję (%d)\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identyfikator dysku: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr "Tworzenie nowej etykiety dysku DOS-a z identyfikatorem dysku 0x%08x.\n"
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nowy identyfikator dysku (bieĹĽÄ…cy 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Zignorowano nadmiarowÄ… partycjÄ™ rozszerzonÄ… %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Uwaga: niepoprawna flaga 0x%04x tablicy partycji %d będzie poprawiona przy "
+"zapisie (w)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"Partycja %d jest już zdefiniowana. Należy ją usunąć przed ponownym "
+"dodaniem.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu jest juĹĽ przydzielony\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Nie ma juĹĽ wolnych sektorĂłw\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Ostatni %1$s, +%2$s lub +rozmiar{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Dodawanie partycji logicznej %d\n"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Uwaga: błędny początek danych dla partycji %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Uwaga: partycja %d zachodzi na partycjÄ™ %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Uwaga: partycja %d jest pusta\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Partycja logiczna %d nie zawiera się w pełni w partycji %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+"Całkowita liczba przydzielonych sektorów %llu jest większa niż maksymalna "
+"%llu\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "Pozostało %lld nieprzydzielonych sektorów %ld-bajtowych\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Wszystkie partycje główne są wykorzystane\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+"Aby utworzyć więcej niż cztery partycje, należy najpierw zastąpić\n"
+"jedną partycję główną partycją rozszerzoną.\n"
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Wszystkie partycje logiczne sÄ… wykorzystane\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Dodanie partycji głównej\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+"Typ partycji:\n"
+" p główna (głównych: %d, rozszerzonych: %d, wolnych: %d)\n"
+"%s\n"
+"Wybór (domyślne %c): "
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr " l logiczna (numerowana od 5 wzwyĹĽ)"
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr " e rozszerzona"
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr "Przyjęto wartość domyślną %c\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Niepoprawny typ partycji `%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tNa tym dysku istnieje poprawna etykieta typu Mac.\n"
+"\tNiestety Linux nie obecnie nie potrafi obsłużyć\n"
+"\ttakich dyskĂłw. Tym niemniej kilka uwag:\n"
+"\t1. fdisk zniszczy jej zawartość przy zapisie.\n"
+"\t2. Należy się upewnić, że ten dysk NIE pozostaje\n"
+"\t aktywną częścią żadnej grupy wolumenów\n"
+"\t (w przeciwnym wypadku można usunąć także\n"
+"\t zawartość innych dysków, jeśli nie mają kopii).\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tNiestety ta wersja fdiska nie obsługuje etykiet dysku typu Mac.\n"
+"\tAby dodać DOS-owe partycje, należy najpierw utworzyć\n"
+"\tpustÄ… DOS-owÄ… tablicÄ™ partycji (poleceniem o).\n"
+"\tUWAGA: zniszczy to obecną zawartość dysku.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Zgodnie z wytycznymi MIPS Computer Systems, Inc etykieta nie może zawierać "
+"więcej niż 512 bajtów\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Wykryto etykietę dysku SGI z błędną sumą kontrolną.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s (etykieta dysku SGI): głowic: %d, sektorów: %llu\n"
+"cylindrĂłw: %llu, fizycznych cylindrĂłw: %d\n"
+"dodatkowych sektorĂłw/cylinder: %d, przeplot %d:1\n"
+"%s\n"
+"Jednostka = %s, czyli %d * %ld bajtĂłw\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s (etykieta dysku SGI): głowic: %d, sektorów: %llu, cylindrów: %llu\n"
+"Jednostka: %s, czyli %d * %ld bajtĂłw\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- partycje -----\n"
+"Pt# %*s Info PoczÄ…tek Koniec SektorĂłw ID System\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Rozruch -----\n"
+"Plik rozruchu: %s\n"
+"----- Wpisy katalogu -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u rozmiar%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Niepoprawny plik rozruchowy!\n"
+"\tPlik rozruchowy musi być bezwzględną, niepustą ścieżką,\n"
+"\tnp. \"/unix\" lub \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNazwa pliku rozruchowego zbyt długa: maksimum to 16 bajtów.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tPlik rozruchowy musi mieć pełną ścieżkę.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tUwaga: program nie sprawdza istnienia pliku rozruchowego.\n"
+"\tDomyślny dla SGI to \"/unix\" oraz \"unix.save\" dla kopii zapasowej.\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Obecny plik rozruchowy to: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Proszę wpisać nazwę nowego pliku rozruchowego: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Plik rozruchowy pozostał bez zmian\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tPlik rozruchowy zmieniony na \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Istnieje więcej niż jeden wpis dla całego dysku.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nie zdefiniowano ĹĽadnej partycji\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX lubi gdy partycja 11 pokrywa cały dysk.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Partycja całego dysku powinna zaczynać się od bloku 0,\n"
+"a nie bloku dysku %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Partycja całego dysku ma rozmiar tylko %d bloków dysku,\n"
+"podczas gdy dysk ma %d blokĂłw.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Partycja 11 powinna pokrywać cały dysk.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partycja %d nie zaczyna siÄ™ na granicy cylindra.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partycja %d nie kończy się na granicy cylindra.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partycje %d i %d zachodzÄ… na siebie %d sektorami.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Nieużywany odstęp %8u sektorów - sektory %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Partycja rozruchowa nie istnieje.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Partycja wymiany nie istnieje.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Partycja wymiany nie jest typu swap.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tWybrano niestandardowÄ… nazwÄ™ pliku rozruchowego.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Niestety znacznik można zmieniać tylko dla niepustych partycji.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Zdecydowanie zaleca się, aby partycja pod offsetem 0 była typu\n"
+"\"SGI volhdr\"; system IRIX polega na tym przy odczycie z katalogu\n"
+"samodzielnych narzędzi, takich jak sash i fx. Jedynie sekcja całego\n"
+"dysku \"SGI volume\" może być niezgodna z tym zaleceniem.\n"
+"Proszę wpisać TAK, jeśli na pewno ta partycja ma być oznaczona inaczej.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "TAK\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Na dysku partycje zachodzÄ… na siebie.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Próba automatycznego wygenerowania wpisy dla całego dysku.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Cały dysk jest już pokryty partycjami.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Na tym dysku partycje zachodzą na siebie. Najpierw trzeba to poprawić!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Zdecydowanie zaleca siÄ™, aby partycja jedenasta\n"
+"pokrywała cały dysk i była typu `SGI volume'\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Na tym dysku partycje będą zachodziły na siebie. Najpierw trzeba to "
+"poprawić!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Ostatni %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr "Tworzenie nowej etykiety dysku SGI.\n"
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "ioctl HDIO_GETGEO nie powiódł się na %s"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Uwaga: ioctl BLKGETSIZE na %s nie powiódł się. Przyjęto liczbę cylindrów "
+"%llu.\n"
+"Ta wartość może być ucięta dla urządzeń > 33.8GB.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tPOCZÄ„TEK=%d\tDĹUGOŚĆ=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "PrĂłba zachowania parametrĂłw juĹĽ ustawionych partycji.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Bez przydziału"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Cały dysk"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sectors"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux RAID autodetect"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Wykryto etykietę dysku Suna z błędną sumą kontrolną.\n"
+"Prawdopodobnie będzie trzeba ustawić wszystkie wartości,\n"
+"tzn. głowice, sektory, cylindry i partycje albo wymusić\n"
+"utworzenie nowej etykiety (polecenie s w menu głównym)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Wykryto etykietę dysku Suna z błędną wersją [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+"Wykryto etykietę dysku Suna z błędnym znacznikiem poprawności [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Wykryto etykietę dysku Suna z błędną liczbą partycji [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Uwaga: Błędne wartości muszą być poprawione, co nastąpi przy zapisie (w)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "Tworzenie nowej etykiety dysku Suna.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektorów/ścieżkę"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partycja %d nie kończy się na granicy cylindra\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partycja %d zachodzi na inne w sektorach %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Nieużywany odstęp - sektory 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Nieużywany odstęp - sektory %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Inne partycje już pokrywają cały dysk.\n"
+"Najpierw trzeba coś usunąć/zmniejszyć.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Zdecydowanie zaleca się, aby trzecia partycja pokrywała cały dysk\n"
+"i była typu `Cały dysk'\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d jest juĹĽ przydzielony\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Nie pokryto całego dysku trzecią partycją, ale wartość %d %s\n"
+"pokrywa inną partycję. Wpis został zmieniony na %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Aby zachować kompatybilność z SunOS-em/Solarisem, najlepiej pozostawić\n"
+"tę partycję jako cały dysk (5), zaczynającą się od 0, o %u sektorach\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Zdecydowanie zaleca się, aby partycja pod offsetem 0 była\n"
+"typu UFS, EXT2FS lub SunOS swap. Umieszczenie tutaj partycji\n"
+"wymiany Linuksa może zniszczyć tablicę partycji i blok\n"
+"rozruchowy. Proszę wpisać TA, jeśli na pewno ta partycja ma\n"
+"mieć typ 82 (Linux swap): "
+
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s (etykieta dysku Suna): głowic: %u, sektorów: %llu, rpm: %d\n"
+"cylindrĂłw: %llu, zmiennych cylindrĂłw: %d, fizycznych cylindrĂłw: %d\n"
+"dodatkowych sektorĂłw/cylinder: %d, przeplot: %d:1\n"
+"ID etykiety: %s\n"
+"ID wolumenu: %s\n"
+"Jednostka: %s, czyli %d * 512 bajtĂłw\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s (etykieta dysku Suna): głowic: %u, sektorów: %llu, cylindrów: %llu\n"
+"Jednostka: %s, czyli %d * 512 bajtĂłw\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Flaga PoczÄ…tek Koniec BlokĂłw Id System\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Liczba zmiennych cylindrĂłw"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Dodatkowych sektorĂłw na cylinder"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Współczynnik przeplotu"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Prędkość obrotowa (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Liczba fizycznych cylindrĂłw"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Brak"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Rozszerzona"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS/exFAT"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX startowa"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Rozsz. (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Ukryta FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Ukryta FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Ukryta FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Ukryta HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Ukryta W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Ukryta W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Ukryta W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr "Ukryta HPFS WinRE"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x part. 2."
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x part. 3."
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD lub SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Stary Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / stary Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 ukryty dysk C:"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux ext"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Ukryta Boot Wizard"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Non-FS data"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS secondary"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "błąd przemieszczania na %s - nie można przesunąć na %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "błąd przemieszczania: żądano 0x%08x%08x, otrzymano 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "błąd odczytu na %s - nie można odczytać sektora %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "błąd zapisu na %s - nie można zapisać sektora %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "nie można otworzyć pliku zapisu sektora partycji (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "błąd zapisu na %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "nie można wykonać stat na pliku odtwarzania partycji (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "plik odtwarzania partycji ma błędny rozmiar - bez odtwarzania\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "nie można otworzyć pliku odtwarzania partycji (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "błąd odczytu %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "nie można otworzyć urządzenia %s do zapisu\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "błąd zapisu sektora %lu na %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Dysk %s: nie można pobrać geometrii\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Dysk %s: nie można pobrać rozmiaru\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Uwaga: początek=%lu - wygląda to na partycję, a nie cały dysk.\n"
+"UĹĽywanie na niej fdiska prawdopodobnie nic nie da.\n"
+"[Jeśli naprawdę o to chodzi - proszę użyć opcji --force]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Uwaga: HDIO_GETGEO twierdzi, że liczba głowic to %lu\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Uwaga: HDIO_GETGEO twierdzi, ĹĽe liczba sektorĂłw to %lu\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Uwaga: BLKGETSIZE/HDIO_GETGEO twierdzi, ĹĽe liczba cylindrĂłw to %lu\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Uwaga: mało prawdopodobna liczba sektorów (%lu) - zwykle są najwyżej 63\n"
+"Spowoduje to problemy z kaĹĽdym oprogramowaniem uĹĽywajÄ…cym adresowania C/H/"
+"S.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Dysk %s: cylindrów: %lu, głowic: %lu, sektorów na ścieżce: %lu\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s dla partycji %s ma niemożliwą liczbę głowic: %lu (powinna być 0-%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s dla partycji %s ma niemożliwą liczbę sektorów: %lu (powinna być 1-%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s dla partycji %s ma niemożliwą liczbę cylindrów: %lu (powinna być 0-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Nazwa\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Ponowny odczyt tablicy partycji...\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Polecenie ponownego odczytu tablicy partycji nie powiodło się.\n"
+"Przed mkfs należy uruchomić partprobe(8), kpartx(8) lub\n"
+"zrestartować system.\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "BĹ‚Ä…d zamykania %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: nie ma takiej partycji\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "nierozpoznany format - uĹĽycie sektorĂłw\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "format niezaimplementowany - uĹĽycie %s\n"
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Jednostka: cylindry, czyli %lu bajtĂłw, bloki 1024-bajtowe liczone od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " UrzÄ…dz.Rozr. PoczÄ…tek Koniec #cyl. #blokĂłw Id System\n"
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Jednostka: sektory 512-bajtowe, liczone od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " UrzÄ…dz. Rozruch PoczÄ…tek Koniec #sektorĂłw Id System\n"
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Jednostka: bloki 1024-bajtowe, liczone od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " UrzÄ…dz.Rozruch PoczÄ…tek Koniec #blokĂłw Id System\n"
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Jednostka: 1MiB (1048576 bajtĂłw), bloki 1024-bajtowe, liczone od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " UrzÄ…dz.Rozr. Pocz. Koniec MiB #blokĂłw Id System\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tpoczÄ…tek: (c,h,s) oczekiwane (%ld,%ld,%ld), otrzymano (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tend: (c,h,s) oczekiwane (%ld,%ld,%ld), otrzymano (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partycja kończy się na cylindrze %ld, za końcem dysku\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Nie znaleziono ĹĽadnej partycji\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Uwaga: tablica partycji wygląda, jakby została utworzona\n"
+" dla C/H/S=*/%ld/%ld (zamiast %ld/%ld/%ld).\n"
+"Dla tego listingu założono tę geometrię.\n"
+
+#: fdisks/sfdisk.c:1166
+msgid "no partition table present."
+msgstr "tablica partycji nie istnieje."
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr "dziwne, zdefiniowano tylko %d partycji."
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Uwaga: partycja %s ma rozmiar 0, ale nie jest zaznaczona jako pusta\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Uwaga: partycja %s ma rozmiar 0, a jest rozruchowa\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Uwaga: partycja %s ma rozmiar 0 i niezerowy poczÄ…tek\n"
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "Uwaga: partycja %s nie zawiera siÄ™ w partycji %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Uwaga: partycje %s i %s zachodzÄ… na siebie\n"
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Uwaga: partycja %s zawiera część tablicy partycji (sektor %llu)\n"
+"i zostanie zniszczona po jej wypełnieniu\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Uwaga: partycja %s zaczyna siÄ™ od sektora 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Uwaga: partycja %s wystaje za koniec dysku\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+"Uwaga: partycja %s ma rozmiar %d.%d TB (bajtĂłw: %llu),\n"
+"czyli więcej, niż limit %llu bajtów będący ograniczeniem\n"
+"DOS-owej tablicy partycji dla sektorĂłw %d-bajtowych\n"
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+"Uwaga: partycja %s zaczyna siÄ™ od sektora %llu (%d.%d TB dla sektorĂłw\n"
+"%d-bajtowych), co przekracza limit DOS-owej tablicy partycji %llu sektorĂłw\n"
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Spośród partycji głównych najwyżej jedna może być rozszerzona\n"
+" (jednakĹĽe nie jest to problemem pod Linuksem)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Uwaga: partycja %s nie zaczyna siÄ™ na granicy cylindra\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Uwaga: partycja %s nie kończy się na granicy cylindra\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Uwaga: więcej niż jedna główna partycja jest zaznaczona jako rozruchowa\n"
+"(aktywna). Dla LILO nie ma to znaczenia, ale DOS-owy MBR nie uruchomi\n"
+"systemu z tego dysku.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Uwaga: zwykle można uruchomić system tylko z partycji głównych.\n"
+"LILO nie bierze pod uwagÄ™ flagi rozruchu.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Uwaga: żadna partycja główna nie jest zaznaczona jako rozruchowa (aktywna).\n"
+"Nie ma to znaczenia dla LILO, ale DOS-owy MBR nie uruchomi systemu z tego\n"
+"dysku.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "poczÄ…tek"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partycja %s: poczÄ…tek: (c,h,s) oczekiwane (%ld,%ld,%ld), otrzymano (%ld,%ld,"
+"%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "koniec"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partycja %s: koniec: (c,h,s) oczekiwane (%ld,%ld,%ld), otrzymano (%ld,%ld,"
+"%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partycja %s kończy się na cylindrze %ld, za końcem dysku\n"
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Uwaga: przesunięto początek partycji rozszerzonej z %lld na %lld\n"
+"(tylko na potrzeby listy - bez zmiany zawartości).\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Uwaga: partycja rozszerzona nie zaczyna siÄ™ na granicy cylindra.\n"
+"DOS i Linux inaczej zinterpretują jej zawartość.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "BĹÄ„D: sektor %lu nie zawiera sygnatury MSDOS\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "zbyt duĹĽo partycji - zignorowano przekraczajÄ…ce nr %ld\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "drzewo partycji?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "wykryto Disk Manager - program nie może tego obsłużyć\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "wykryto sygnaturÄ™ DM6 - poddajÄ™ siÄ™\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "dziwne... partycja rozszerzona rozmiaru 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "dziwne... partycja BSD rozmiaru 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: nierozpoznany typ tablicy partycji\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "podano flagÄ™ -n: bez zmian\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Nie udało się zapisać starych sektorów - przerwano\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Nie udało się zapisać partycji na %s\n"
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr "długa lub niekompletna linia na wejściu - zakończenie"
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "błąd wejścia: oczekiwano `=' po polu %s"
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "błąd wejścia: oczekiwano znaku %c po polu %s"
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr "nierozpoznane wejście: %s"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "liczba zbyt duĹĽa\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "końcowe śmieci po liczbie\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "brak miejsca na deskryptor partycji\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "nie można zbudować otaczającej partycji rozszerzonej\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "zbyt dużo pól wejściowych\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Brak miejsca na więcej\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Niedozwolony typ\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "Uwaga: podany rozmiar (%lu) przekracza maksymalny dopuszczalny (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Uwaga: pusta partycja\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Uwaga: błędny początek partycji (najbliższy %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "nierozpoznana flaga rozruchu - proszę wybrać - lub *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "częściowa specyfikacja c,h,s?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Partycja rozszerzona nie tam, gdzie jej oczekiwano\n"
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr "błędne wejście"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "zbyt duĹĽo partycji\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Wejście jest w następującej postaci (puste pola oznaczają wartość "
+"domyślną):\n"
+"<poczÄ…tek> <rozmiar> <typ [E,S,L,X,hex]> <rozruch [-,*> <c,h,s> <c,h,s>\n"
+"Zwykle trzeba podać tylko <początek> i <rozmiar> (oraz ewentualnie <typ>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+
+#: fdisks/sfdisk.c:2368
+#, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr " %s [opcje] <urzÄ…dzenie> [...]\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+" -s, --show-size wypisanie rozmiaru partycji\n"
+" -c, --id zmiana lub wypisanie identyfikatora partycji\n"
+" --change-id zmiana identyfikatora\n"
+" --print-id wypisanie identyfikatora\n"
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+" -l, --list wypisanie partycji na kaĹĽdym urzÄ…dzeniu\n"
+" -d, --dump jw., ale w formacie nadającym się dla wejścia\n"
+" -i, --increment numerowanie cylindrĂłw itp. od 1 zamiast od 0\n"
+" -u, --unit <litera> używane jednostki; <litera> może być jedną z:\n"
+" S (sektory), C (cylindry), B (bloki) lub M "
+"(MB)\n"
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+" -1, --one-only opcja zarezerwowana, obecnie bez znaczenia\n"
+" -T, --list-types wypisanie znanych typĂłw partycji\n"
+" -D, --DOS kompatybilność z DOS; zmarnowanie odrobiny "
+"miejsca\n"
+" -E, --DOS-extended kompatybilność z rozszerzoną partycją DOS\n"
+" -R, --re-read wymuszenie ponownego odczytu tabl. part. przez "
+"jÄ…dro\n"
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+" -N <numer> zmiana tylko partycji o podanym <numerze>\n"
+" -n bez właściwego zapisu na dysk\n"
+" -O <plik> zapis nadpisywanych sektorĂłw do <pliku>\n"
+" -I <plik> odtworzenie sektorĂłw z <pliku>\n"
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -V, --verify sprawdzenie sensowności wypisywanych partycji\n"
+" -v, --version wyświetlenie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: fdisks/sfdisk.c:2393
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr ""
+"\n"
+"Opcje niebezpieczne:\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+" -f, --force wyłączenie wszelkiego sprawdzania spójności\n"
+" --no-reread bez sprawdzania, czy partycje sÄ… uĹĽywane\n"
+" -q, --quiet pominięcie komunikatów ostrzeżeń\n"
+" -L, --Linux bez ostrzeżeń o faktach nieistotnych dla Linuksa\n"
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g, --show-geometry wypisanie geometrii wg informacji z jÄ…dra\n"
+" -G, --show-pt-geometry wypisanie geometrii odgadniętej z tabl. partycji\n"
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -A, --activate[=<urzÄ…dz>] ustawienie flagi partycji rozruchowej\n"
+" -U, --unhide[=<urzÄ…dz>] ustawienie partycji jako nie ukrytej\n"
+" -x, --show-extended wypisywanie na wyjściu także partycji "
+"rozszerzonych\n"
+" lub oczekiwanie ich deskryptorów na wejściu\n"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+" --leave-last bez przydzielania ostatniego cylindra\n"
+" --IBM to samo, co --leave-last\n"
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+" --in-order partycje są w kolejności\n"
+" --not-in-order partycje nie są w kolejności\n"
+" --inside-outer wszystkie logiczne wewnątrz zewnętrznej "
+"rozszerzonej\n"
+" --not-inside-outer nie wszystkie logiczne wewnÄ…trz zewn. "
+"rozszerzonej\n"
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+" --nested każda partycja jest rozłączna z pozostałymi\n"
+" --chained jak --nested, ale part. rozsz. mogą być na "
+"zewnÄ…trz\n"
+" --onesector partycje są wzajemnie rozłączone\n"
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+"\n"
+"Można wymusić użycie innej geometrii niż wykryta przy użyciu:\n"
+" -C, --cylinders <liczba> ustawienie liczby cylindrĂłw\n"
+" -H, --heads <liczba> ustawienie liczby głowic\n"
+" -S, --sectors <liczba> ustawienie liczby sektorĂłw\n"
+"\n"
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Składnia:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s urzÄ…dzenie\t\t wypisanie aktywnych partycji na urzÄ…dzeniu\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s urządzenie n1 n2 ... uaktywnienie partycji n1 ..., wyłączenie reszty\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An urządzenie\t uaktywnienie partycji n, wyłączenie pozostałych\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"UWAGA: na '%s' wykryto tablicÄ™ partycji GPT (GUID Partition Table)! "
+"Narzędzie sfdisk nie obsługuje GPT. Należy użyć GNU Parteda.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Aby wyłączyć ten test, należy użyć flagi --force.\n"
+
+#: fdisks/sfdisk.c:2582
+msgid "no command?"
+msgstr "brak polecenia?"
+
+#: fdisks/sfdisk.c:2662
+msgid "invalid number of partitions argument"
+msgstr "błędna liczba partycji"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "razem: %llu blokĂłw\n"
+
+#: fdisks/sfdisk.c:2795
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "Składnia: sfdisk --print-id urządzenie numer-partycji"
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "Składnia: sfdisk --change-id urządzenie numer-partycji ID"
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "Składnia: sfdisk --id urządzenie numer-partycji [ID]"
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr "można określić tylko jedno urządzenie (chyba że z -l lub -s)"
+
+#: fdisks/sfdisk.c:2832
+#, c-format
+msgid "cannot open %s read-write"
+msgstr "nie można otworzyć %s do odczytu i zapisu"
+
+#: fdisks/sfdisk.c:2834
+#, c-format
+msgid "cannot open %s for reading"
+msgstr "nie można otworzyć %s do odczytu"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: cylindrów: %ld, głowic: %ld, sektorów na ścieżce: %ld\n"
+
+#: fdisks/sfdisk.c:2929
+#, c-format
+msgid "Cannot get size of %s"
+msgstr "Nie można pobrać rozmiaru %s"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "błędny bajt rozruchu: 0x%x zamiast 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Gotowe\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Na dysku są %d aktywne partycje główne. Nie ma to znaczenia dla LILO,\n"
+"ale DOS-owy MBR potrafi uruchomić dysk tylko z jedną aktywną partycją.\n"
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "partycja %s ma ID %x i nie jest ukryta"
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr "Błędny ID %lx"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Ten dysk jest aktualnie uĹĽywany.\n"
+
+#: fdisks/sfdisk.c:3154
+#, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Błąd krytyczny: nie można odnaleźć %s"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Uwaga: %s nie jest urzÄ…dzeniem blokowym\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Sprawdzanie czy nikt nie uĹĽywa teraz tego dysku...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Ten dysk jest aktualnie używany - repartycjonowanie jest raczej złym "
+"pomysłem.\n"
+"Proszę odmontować wszystkie systemy plików oraz wyłączyć partycje wymiany\n"
+"z tego dysku.\n"
+"Aby pominąć ten test, można użyć flagi --no-reread.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Można użyć flagi --force, aby pominąć wszystkie testy.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Stara sytuacja:\n"
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Partycja %d nie istnieje, nie można jej zmienić"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Nowa sytuacja:\n"
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Nie podobajÄ… mi siÄ™ te partycje - nic nie zmieniono\n"
+"(jeśli na pewno tak mają wyglądać - proszę użyć opcji --force)."
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Nie podoba mi się to - prawdopodobnie należy odpowiedzieć Nie\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Czy te zmiany sÄ… satysfakcjonujÄ…ce? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Czy zapisać zmiany na dysk [ynq] "
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr "Wyjście - bez zmian"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Proszę odpowiedzieć jednym z y,n,q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Zapisano nowÄ… tablicÄ™ partycji\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Jeśli utworzono lub zmieniono partycję typu DOS, np. /dev/foo7, należy\n"
+"użyć dd(1), aby wyzerować pierwsze 512 bajtów:\n"
+"dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(więcej w fdisk(8))\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr "\n"
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version wypisanie informacji o wersji i zakończenie\n"
+
+#: include/c.h:246
+#, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"Więcej informacji w %s.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, c-format
+msgid "write error"
+msgstr "błąd zapisu"
+
+#: include/optutils.h:76
+#, c-format
+msgid "%s: options "
+msgstr "%s: opcje "
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr "wykluczajÄ… siÄ™ wzajemnie."
+
+#: lib/pager.c:107
+#, c-format
+msgid "waitpid failed (%s)"
+msgstr "wywołanie waitpid nie powiodło się (%s)"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr "nie udało się wykonać calloc dla zbioru CPU"
+
+#: lib/path.c:178
+#, c-format
+msgid "failed to parse CPU list %s"
+msgstr "nie udało się przeanalizować listy CPU %s"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "błąd składni maski CPU %s"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, c-format
+msgid " %s [options] [username]\n"
+msgstr " %s [opcje] [uĹĽytkownik]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr " -f, --full-name <pełne dane> imię i nazwisko\n"
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr " -o, --office <pokĂłj> numer pokoju\n"
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr " -p, --office-phone <telefon> numer telefonu biurowego\n"
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr " -h, --home-phone <telefon> numer telefonu domowego\n"
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr " -u, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr " -v, --version wypisanie informacji o wersji i zakończenie\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr "Ty (uĹĽytkownik %d) nie istniejesz."
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr "uĹĽytkownik \"%s\" nie istnieje."
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr "można zmienić tylko wpisy lokalne"
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s nie jest autoryzowany do zmiany informacji finger uĹĽytkownika %s"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Nieznany kontekst uĹĽytkownika"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, c-format
+msgid "can't set default context for %s"
+msgstr "nie można ustawić domyślnego kontekstu dla %s"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Zmiana informacji finger dla %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Informacje finger nie zostały zmienione.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "Biuro"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "Tel. biurowy"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "Tel. domowy"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+msgid "Aborted."
+msgstr "Przerwano."
+
+#: login-utils/chfn.c:383
+#, c-format
+msgid "field %s is too long"
+msgstr "pole %s jest zbyt długie"
+
+#: login-utils/chfn.c:385
+msgid "field is too long"
+msgstr "pole jest zbyt długie"
+
+#: login-utils/chfn.c:393
+#, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: znak '%c' nie jest dozwolony"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, c-format
+msgid "'%c' is not allowed"
+msgstr "znak '%c' nie jest dozwolony"
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: znaki sterujÄ…ce nie sÄ… dozwolone"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr "znaki sterujÄ…ce nie sÄ… dozwolone"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Informacje finger *NIE* zostały zmienione. Proszę spróbować później.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Informacje finger zmienione.\n"
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell <powłoka> określenie powłoki logowania\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr " -l, --list-shells wypisanie listy powłok i zakończenie\n"
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr "można zmienić tylko wpisy lokalne."
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s nie jest autoryzowany do zmiany powłoki %s"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"bieĹĽÄ…cy UID nie zgadza siÄ™ z UID-em uĹĽytkownika, ktĂłrego dotyczy zmiana; "
+"zmiana powłoki zabroniona"
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "powłoka nie jest w %s, zmiana zabroniona"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Zmiana powłoki dla %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Nowa powłoka"
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr "Powłoka nie została zmieniona."
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"setpwnam nie powiodło się\n"
+"Powłoka *NIE* została zmieniona. Proszę spróbować później."
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Powłoka zmieniona.\n"
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr "powłoka musi być podana pełną ścieżką"
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr "\"%s\" nie istnieje"
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr "\"%s\" nie jest wykonywalny"
+
+#: login-utils/chsh.c:321
+#, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Uwaga: \"%s\" nie występuje w %s."
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+"\"%s\" nie występuje w %s.\n"
+"Polecenie %s -l wyświetli listę."
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr "Brak znanych powłok."
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "Składnia: last [-#] [-f plik] [-t tty] [-h host] [użytkownik ...]\n"
+
+#: login-utils/last.c:252
+#, c-format
+msgid "%s: mmap failed"
+msgstr "%s: mmap nie powiodło się"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " nadal zalogowany"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp zaczyna siÄ™ %s"
+
+#: login-utils/last.c:431
+msgid "gethostname failed"
+msgstr "gethostname nie powiodło się"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"przerwano %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr "przekroczony limit czasu logowania (%u s)"
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "BĹÄ„D KRYTYCZNY: nie moĹĽna ponownie otworzyć tty: %m"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "BĹÄ„D KRYTYCZNY: %s nie jest terminalem"
+
+#: login-utils/login.c:308
+#, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown (%s, %lu, %lu) nie powiodło się: %m"
+
+#: login-utils/login.c:312
+#, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "chown (%s, %u) nie powiodło się: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "BĹÄ„D KRYTYCZNY: bĹ‚Ä™dny tty"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr "BĹÄ„D KRYTYCZNY: %s: zmiana uprawnieĹ„ nie powiodĹ‚a siÄ™: %m"
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Ostatnie logowanie: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "z %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "na %.*s\n"
+
+#: login-utils/login.c:553
+msgid "write lastlog failed"
+msgstr "zapis wpisu lastlog nie powiódł się"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "WDZWONIENIE NA %s PRZEZ %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "LOGOWANIE NA ROOTA NA %s Z %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "LOGOWANIE NA ROOTA NA %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGOWANIE NA %s NA KONTO %s Z %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGOWANIE NA %s NA KONTO %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "Niepowodzenie PAM, przerwano: %s"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Nie udało się zainicjować PAM: %s"
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "BĹÄDNE LOGOWANIE %u Z %s NA KONTO %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Niepoprawne logowanie\n"
+"\n"
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "ZBYT DUŻO PRÓB LOGOWANIA (%u) Z %s NA KONTO %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "NIEUDANA SESJA LOGOWANIA Z %s NA KONTO %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Niepoprawne logowanie\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Problem z ustanowieniem sesji, przerwano."
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "PUSTA nazwa uĹĽytkownika w %s:%d. Przerwano."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY nie powiodło się: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h jest tylko dla superuĹĽytkownika.\n"
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr "Składnia: login [-p] [-h host] [-H] [-f użytkownik | użytkownik]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Niepoprawna nazwa uĹĽytkownika \"%s\" w %s:%d. Przerwano."
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr "inicjalizacja grup nie powiodła się: %m"
+
+#: login-utils/login.c:1382
+msgid "setgid() failed"
+msgstr "setgid() nie powiodło się"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Jest nowa poczta.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Jest poczta.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() nie powiodło się"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, c-format
+msgid "%s: change directory failed"
+msgstr "%s: zmiana katalogu nie powiodła się"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Logowanie z katalogiem domowym = \"/\".\n"
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr "nie udało się uruchomić skryptu powłoki"
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr "brak powłoki"
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "%s: %s zawiera błędną wartość liczbową: %s"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Hasło: "
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr " %s <grupa>\n"
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr "kim jesteĹ›?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+msgid "setgid failed"
+msgstr "setgid nie powiodło się"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr "nie ma takiej grupy"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr "brak uprawnień"
+
+#: login-utils/newgrp.c:176
+msgid "setuid failed"
+msgstr "setuid nie powiodło się"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "exec %s nie powiodło się"
+
+#: login-utils/su.c:205
+#, c-format
+msgid "cannot not open session: %s"
+msgstr "nie można otworzyć sesji: %s"
+
+#: login-utils/su.c:215
+msgid "cannot create child process"
+msgstr "nie można utworzyć procesu potomnego"
+
+#: login-utils/su.c:227
+#, c-format
+msgid "cannot change directory to %s"
+msgstr "nie można zmienić katalogu na %s"
+
+#: login-utils/su.c:232
+msgid "cannot block signals"
+msgstr "nie można zablokować sygnałów"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr "nie można ustawić procedury obsługi sygnału"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+"\n"
+"Sesja przerwana, zabijanie powłoki..."
+
+#: login-utils/su.c:303
+#, c-format
+msgid " ...killed.\n"
+msgstr " ...zabito.\n"
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr "błędne hasło"
+
+#: login-utils/su.c:485
+msgid "failed to set PATH"
+msgstr "nie udało się ustawić PATH"
+
+#: login-utils/su.c:558
+msgid "cannot set groups"
+msgstr "nie można ustawić grup"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "nie można ustawić identyfikatora grupy"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "nie można ustawić identyfikatora użytkownika"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "`%s --help' wyświetli więcej informacji.\n"
+
+#: login-utils/su.c:652
+#, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr " %s [opcje] [-] [UŻYTKOWNIK [argument]...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+"\n"
+" Zmiana efektywnego id użytkownika i grupy na identyfikatory UŻYTKOWNIKA.\n"
+" Sam - oznacza -l. Jeśli nie podano UŻYTKOWNIKA, przyjmowany jest root.\n"
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+" -, -l, --login uczynienie powłoki powłoką logowania\n"
+" -c, --command <polecenie> przekazanie polecenia do powłoki przez -c\n"
+" --session-command <polecenie> przekazanie polecenia do powłoki przez -c\n"
+" bez tworzenia nowej sesji\n"
+" -f, --fast przekazanie -f do powłoki (dla csh i tcsh)\n"
+" -m, --preserve-environment bez kasowania zmiennych środowiskowych\n"
+" -p to samo, co -m\n"
+" -s, --shell <powłoka> uruchomienie powłoki, jeśli /etc/shells "
+"pozwala\n"
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr "uĹĽytkownik %s nie istnieje."
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr "użycie ograniczonej powłoki %s"
+
+#: login-utils/su.c:808
+#, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "uwaga: nie można zmienić katalogu na %s"
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: brak wpisu dla roota\n"
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr "%s: brak wpisu dla roota"
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr "%s: hasło roota uszkodzone"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr "Proszę podać hasło roota w celu naprawy\n"
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr "Proszę nacisnąć enter w celu naprawy"
+
+#: login-utils/sulogin.c:296
+#, c-format
+msgid "(or type Control-D to continue): "
+msgstr "(lub nacisnąć Control-D, aby kontynuować): "
+
+#: login-utils/sulogin.c:347
+msgid "change directory to system root failed"
+msgstr "zmiana katalogu na główny katalog systemu nie powiodła się"
+
+#: login-utils/sulogin.c:394
+msgid "setexeccon failed"
+msgstr "wywołanie setexeccon nie powiodło się"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, c-format
+msgid "%s: exec failed"
+msgstr "%s: uruchomienie nie powiodło się"
+
+#: login-utils/sulogin.c:430
+msgid "tcgetattr failed"
+msgstr "tcgetattr nie powiodło się"
+
+#: login-utils/sulogin.c:437
+msgid "tcsetattr failed"
+msgstr "tcsetattr nie powiodło się"
+
+#: login-utils/sulogin.c:444
+#, c-format
+msgid " %s [options] [tty device]\n"
+msgstr " %s [opcje] [urzÄ…dzenie tty]\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+" -p, --login-shell uruchomienie powłoki logowania\n"
+" -t, --timeout <sekundy> maksymalny czas oczekiwania na hasło (domyślnie: "
+"brak)\n"
+" -e, --force bezpośrednie sprawdzanie plików haseł, gdy getpwnam"
+"(3)\n"
+" zawodzi\n"
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr "błędna wartość limitu czasu"
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr "tylko root może uruchomić ten program."
+
+#: login-utils/sulogin.c:529
+#, c-format
+msgid "%s: not a tty"
+msgstr "%s: nie jest terminalem"
+
+#: login-utils/sulogin.c:577
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY: ioctl nie powiódł się"
+
+#: login-utils/sulogin.c:586
+msgid "cannot open password database."
+msgstr "nie można otworzyć bazy danych haseł."
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: stat nie powiódł się"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s: nie można dodać obserwatora inotify."
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: nie można odczytać zdarzeń inotify"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr "Nadmiarowy znak końca linii w pliku. Zakończenie."
+
+#: login-utils/utmpdump.c:286
+#, c-format
+msgid " %s [options] [filename]\n"
+msgstr " %s [opcje] [nazwa_pliku]\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+" -f, --follow wypisywanie dołączanych danych w miarę rozrostu pliku\n"
+" -r, --reverse zapis zrzuconych danych z powrotem do pliku utmp\n"
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr "podążanie za standardowym wejściem nie jest obsługiwane"
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr "Odtwotny zrzut utmp z %s\n"
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr "Zrzut utmp z %s\n"
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+msgid "can't open temporary file"
+msgstr "nie można otworzyć pliku tymczasowego"
+
+#: login-utils/vipw.c:166
+#, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: tworzenie dowiązania do %s nie powiodło się"
+
+#: login-utils/vipw.c:173
+#, c-format
+msgid "Can't get context for %s"
+msgstr "Nie można uzyskać kontekstu dla %s"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr "Nie można ustawić kontekstu dla %s"
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr "%s niezmieniony"
+
+#: login-utils/vipw.c:264
+msgid "cannot get lock"
+msgstr "nie można pobrać blokady"
+
+#: login-utils/vipw.c:291
+msgid "no changes made"
+msgstr "nie wykonano zmian"
+
+#: login-utils/vipw.c:300
+msgid "cannot chmod file"
+msgstr "nie można wykonać chmod pliku"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "W tym systemie uĹĽywane sÄ… grupy ukryte (shadow).\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "W tym systemie używane są hasła ukryte (shadow).\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Czy modyfikować teraz %s [y/n]? "
+
+#: misc-utils/cal.c:371
+msgid "illegal day value"
+msgstr "niedozwolona wartość dnia"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "niedozwolona wartość dnia: dopuszczalne to 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "niedozwolona wartość miesiąca: dopuszczalne to 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "niedozwolona wartość roku: dopuszczalne to 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "Składnia: %s [-13smjyV] [[[dzień] miesiąc] rok]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+" -1, --one wyświetlenie tylko bieżącego miesiąca (domyślne)\n"
+" -3, --three wyświetlenie poprzedniego, bieżącego i następnego "
+"miesiÄ…ca\n"
+" -s, --sunday niedziela jako pierwszy dzień tygodnia\n"
+" -m, --monday poniedziałek jako pierwszy dzień tygodnia\n"
+" -j, --julian wyświetlanie dat juliańskich\n"
+" -y, --year wyświetlenie całego bieżącego roku\n"
+" -V, --version wyświetlenie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Składnia: %s [+format] [dzień miesiąc rok]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Dzień Świętego Tiba"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+" %1$s [opcje] LABEL=<etykieta>\n"
+" %1$s [opcje] UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "nie można odnaleźć '%s'"
+
+#: misc-utils/findmnt.c:105
+msgid "source device"
+msgstr "urządzenie źródłowe"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr "punkt montowania"
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr "typ systemu plikĂłw"
+
+#: misc-utils/findmnt.c:108
+msgid "all mount options"
+msgstr "wszystkie opcje montowania"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr "opcje montowania specyficzne dla VFS"
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr "opcje montowania specyficzne dla FS"
+
+#: misc-utils/findmnt.c:111
+msgid "filesystem label"
+msgstr "etykieta systemu plikĂłw"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr "UUID systemu plikĂłw"
+
+#: misc-utils/findmnt.c:113
+msgid "partition label"
+msgstr "etykieta partycji"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr "numer urządzenia główny:poboczny"
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr "akcja wykryta przez --poll"
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr "stare opcje montowania zapisane przez --poll"
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr "stary punkt montowania zapisany przez --poll"
+
+#: misc-utils/findmnt.c:119
+msgid "filesystem size"
+msgstr "rozmiar systemu plikĂłw"
+
+#: misc-utils/findmnt.c:120
+msgid "filesystem size available"
+msgstr "dostępny rozmiar systemu plików"
+
+#: misc-utils/findmnt.c:121
+msgid "filesystem size used"
+msgstr "uĹĽywany rozmiar systemu plikĂłw"
+
+#: misc-utils/findmnt.c:122
+msgid "filesystem use percentage"
+msgstr "procentowe uĹĽycie systemu plikĂłw"
+
+#: misc-utils/findmnt.c:123
+msgid "filesystem root"
+msgstr "główny katalog systemu plików"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr "ID zadania"
+
+#: misc-utils/findmnt.c:298
+#, c-format
+msgid "unknown action: %s"
+msgstr "nieznana opcja: %s"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr "montowanie"
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr "odmontowanie"
+
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr "przemontowanie"
+
+#: misc-utils/findmnt.c:513
+msgid "move"
+msgstr "przeniesienie"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "nieznany"
+
+#: misc-utils/findmnt.c:630
+#, c-format
+msgid "%s: parse error at line %d"
+msgstr "%s: błąd składni w linii %d"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+msgid "failed to initialize libmount table"
+msgstr "nie udało się zainicjować tablicy libmount"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, c-format
+msgid "can't read %s"
+msgstr "nie można odczytać %s"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr "nie udało się zainicjować iteratora libmount"
+
+#: misc-utils/findmnt.c:886
+msgid "failed to initialize libmount tabdiff"
+msgstr "nie udało się zainicjować tablicy tabdiff libmount"
+
+#: misc-utils/findmnt.c:914
+msgid "poll() failed"
+msgstr "poll() nie powiodło się"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+" %1$s [opcje]\n"
+" %1$s [opcje] <urzÄ…dzenie> | <punkt_montowania>\n"
+" %1$s [opcje] <urzÄ…dzenie> <punkt_montowania>\n"
+" %1$s [opcje] [--source <urzÄ…dzenie>] [--target <punkt_montowania>]\n"
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -s, --fstab szukanie w statycznej tablicy systemĂłw plikĂłw\n"
+" -m, --mtab szukanie w tablicy zamontowanych systemĂłw plikĂłw\n"
+" -k, --kernel szukanie w tablicy jÄ…dra zamontowanych systemĂłw "
+"plikĂłw\n"
+" (domyślne)\n"
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+" -p, --poll[=<lista>] monitorowanie zmian w tablicy zamontowanych syst."
+"plikĂłw\n"
+" -w, --timeout <ile> gĂłrny limit oczekiwania przy --poll (w "
+"milisekundach)\n"
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+" -A, --all wyłączenie wszystkich wbudowanych filtrów,\n"
+" wypisanie wszystkich systemĂłw plikĂłw\n"
+" -a, --ascii uĹĽycie znakĂłw ASCII do formatowania drzewa\n"
+" -c, --canonicalize wypisywanie ścieżek w postaci kanonicznej\n"
+" -d, --direction <jak> kierunek wyszukiwania: 'forward' lub 'backward'\n"
+" -e, --evaluate zamiana znacznikĂłw (ETYKIETA/UUID) na nazwy "
+"urządzeń\n"
+" -F, --tab-file <plik> alternatywny plik dla opcji --fstab, --mtab lub --"
+"kernel\n"
+" -f, --first-only wypisanie tylko pierwszego znalezionego syst. "
+"plikĂłw\n"
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+" -i, --invert odwrĂłcenie dopasowania\n"
+" -l, --list wyjście w formacie listy\n"
+" -N, --task <tid> uĹĽycie alternatywnej przestrzeni nazw (pliku\n"
+" /proc/<tid>/mountinfo)\n"
+" -n, --noheadings bez wypisywania nagłówków kolumn\n"
+" -u, --notruncate bez ucinania tekstu w kolumnach\n"
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+" -O, --options <lista> ograniczenie zbioru systemĂłw plikĂłw wg opcji "
+"montowania\n"
+" -o, --output <lista> kolumny do wypisania na wyjściu\n"
+" -P, --pairs wyjście w formacie klucz=\"wartość\"\n"
+" -r, --raw wyjście w formacie surowym\n"
+" -t, --types <lista> ograniczenie zbioru systemĂłw plikĂłw wg typĂłw FS\n"
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+" -v, --nofsroot bez wypisywania [/dir] dla montowań bind lub btrfs\n"
+" -R, --submounts wypisanie wszystkich podmontowań dla pasujących fs\n"
+" -S, --source <łańcuch> urządzenie do zamontowania (nazwa, major:minor,\n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <łańcuch> punkt montowania do użycia\n"
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+"\n"
+"Dostępne kolumny:\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr "nieznany kierunek '%s'"
+
+#: misc-utils/findmnt.c:1196
+msgid "invalid TID argument"
+msgstr "błędna wartość TID"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+"--poll przyjmuje tylko jeden plik, a przekazano więcej opcją --tab-file"
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+"opcji --target i --source nie można używać jednocześnie z elementem "
+"polecenia, ktĂłry nie jest opcjÄ…"
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr "nie udało się zainicjować pamięci podręcznej libmount"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr "zażądano kolumny %s, ale nie włączono --poll"
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "pusta opcja długa po opcji -l lub --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "nieznana powłoka po opcji -s lub --shell"
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" %1$s optstring parametry\n"
+" %1$s [opcje] [--] optstring parametry\n"
+" %1$s [opcje] -o|--options optstring [opcje] [--] parametry\n"
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Zezwolenie na długie opcje z jednym - na "
+"poczÄ…tku\n"
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Ten krĂłtki opis uĹĽycia\n"
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr ""
+" -l, --longoptions <opcje> Długie opcje, jakie mają być rozpoznawane\n"
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name <program> Nazwa z jaką mają być zgłaszane błędy\n"
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr ""
+" -o, --options <optstring> Krótkie opcje, jakie mają być rozpoznawane\n"
+
+#: misc-utils/getopt.c:328
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet Wyłączenie komunikatów błędów z getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Bez normalnego wyjścia\n"
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell <powłoka> Ustawienie konwencji cytowania powłoki\n"
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Sprawdzenie wersji getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unquote Bez cytowania wyjścia\n"
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Wypisanie informacji o wersji\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "brak parametru optstring"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "błąd wewnętrzny, proszę skontaktować się autorem."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: nieznany sygnał %s\n"
+
+#: misc-utils/kill.c:244
+msgid "invalid sigval argument"
+msgstr "błędne oznaczenie sygnału"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: nie znaleziono procesu \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: nieznany sygnał %s; poprawne sygnały:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Składnia: %s [ -s sygnał | -p ] [ -a ] PID ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ sygnał ]\n"
+
+#: misc-utils/logger.c:88
+#, c-format
+msgid "unknown facility name: %s."
+msgstr "nieznana nazwa kategorii: %s."
+
+#: misc-utils/logger.c:97
+#, c-format
+msgid "unknown priority name: %s."
+msgstr "nieznana nazwa priorytetu: %s."
+
+#: misc-utils/logger.c:107
+#, c-format
+msgid "openlog %s: pathname too long"
+msgstr "openlog %s: ścieżka zbyt długa"
+
+#: misc-utils/logger.c:113
+#, c-format
+msgid "socket %s"
+msgstr "socket %s"
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr "connect %s"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "connect"
+
+#: misc-utils/logger.c:174
+#, c-format
+msgid " %s [options] [message]\n"
+msgstr " %s [opcje] [komunikat]\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -d, --udp użycie UDP (domyślne jest TCP)\n"
+" -i, --id zalogowanie takĹĽe ID procesu\n"
+" -f, --file <plik> zalogowanie zawartości podanego pliku\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+" -n, --server <nazwa> zapisanie do sysloga podanego zdalnego serwera\n"
+" -P, --port <numer> uĹĽycie podanego portu UDP\n"
+" -p, --priority <prio> oznaczenie komunikatu podanym priorytetem\n"
+" -s, --stderr wypisanie komunikatu takĹĽe na stderr\n"
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+" -t, --tag <znacznik> oznaczenie kaĹĽdej linii podanym znacznikiem\n"
+" -u, --socket <gniazdo> zapisanie do podanego gniazda uniksowego\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+"\n"
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr "plik %s"
+
+#: misc-utils/logger.c:261
+msgid "invalid port number argument"
+msgstr "błędny numer portu"
+
+#: misc-utils/look.c:370
+#, c-format
+msgid " %s [options] string [file]\n"
+msgstr " %s [opcje] łańcuch [plik]\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --alternative użycie słownika alternatywnego\n"
+" -d, --alphanum porĂłwnywanie tylko znakĂłw alfanumerycznych\n"
+" -f, --ignore-case ignorowanie wielkości liter przy porównywaniu\n"
+" -t, --terminate <znak> określenie znaku kończącego łańcuch\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr "nazwa urzÄ…dzenia"
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr "wewnętrzna nazwa urządzenia w jądrze"
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr "miejsce zamontowania urzÄ…dzenia"
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr "etykieta systemu plikĂłw"
+
+#: misc-utils/lsblk.c:119
+msgid "partition LABEL"
+msgstr "etykieta partycji"
+
+#: misc-utils/lsblk.c:122
+msgid "read-ahead of the device"
+msgstr "odczyt z gĂłry dla urzÄ…dzenia"
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr "urzÄ…dzenie tylko do odczytu"
+
+#: misc-utils/lsblk.c:124
+msgid "removable device"
+msgstr "urzÄ…dzenie wyjmowalne"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr "urzÄ…dzenie obrotowe"
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr "identyfikator urzÄ…dzenia"
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr "rozmiar urzÄ…dzenia"
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr "stan urzÄ…dzenia"
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr "nazwa uĹĽytkownika"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr "nazwa grupy"
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr "uprawnienia pliku urzÄ…dzenia"
+
+#: misc-utils/lsblk.c:132
+msgid "alignment offset"
+msgstr "wyrĂłwnanie"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr "minimalny rozmiar we/wy"
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr "optymalny rozmiar we/wy"
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr "rozmiar sektora fizycznego"
+
+#: misc-utils/lsblk.c:136
+msgid "logical sector size"
+msgstr "rozmiar sektora logicznego"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr "nazwa planisty we/wy"
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr "rozmiar kolejki żądań"
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr "typ urzÄ…dzenia"
+
+#: misc-utils/lsblk.c:140
+msgid "discard alignment offset"
+msgstr "wyrĂłwnanie usuwania"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr "rozdzielczość usuwania"
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr "maks. bajtĂłw usuwania"
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr "dane usuwania zerami"
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr "unikalny identyfikator nośnika"
+
+#: misc-utils/lsblk.c:828
+#, c-format
+msgid "%s: failed to get device path"
+msgstr "%s: nie udało się pobrać ścieżki urządzenia"
+
+#: misc-utils/lsblk.c:835
+#, c-format
+msgid "%s: unknown device name"
+msgstr "%s: nieznana nazwa urzÄ…dzenia"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "%s: nie udało się zainicjować obsługi sysfs"
+
+#: misc-utils/lsblk.c:869
+#, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: nie udało się odczytać nazwy dm"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr "nie udało się otworzyć katalogu urządzenia w sysfs"
+
+#: misc-utils/lsblk.c:1081
+#, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: nie udało się pobrać numeru urządzenia całego dysku"
+
+#: misc-utils/lsblk.c:1099
+#, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "nie udało się utworzyć ścieżki sysfs dla %s"
+
+#: misc-utils/lsblk.c:1106
+#, c-format
+msgid "%s: failed to read link"
+msgstr "%s: nie udało się odczytać dowiązania"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, c-format
+msgid "failed to parse list '%s'"
+msgstr "nie udało się przeanalizować listy '%s'"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr "lista wykluczonych urządzeń zbyt długa (limit liczby urządzeń to %d)"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr "lista dołączonych urządzeń zbyt długa (limit liczby urządzeń to %d)"
+
+#: misc-utils/lsblk.c:1194
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [opcje] [<urzÄ…dzenie> ...]\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -a, --all wypisanie wszystkich urządzeń\n"
+" -b, --bytes wypisywanie rozmiarĂłw w bajtach zamiast formatu\n"
+" czytelnego dla człowieka\n"
+" -d, --nodeps bez wypisywania urządzeń podporządkowanych i "
+"nadrzędnych\n"
+" -D, --discard wypisanie możliwości usuwania\n"
+" -e, --exclude <lista> wykluczenie urządzeń po numerach (domyślnie: "
+"ramdyski)\n"
+" -f, --fs wypisanie informacji o systemach plikĂłw\n"
+" -h, --help informacja o składni (ten opis)\n"
+" -i, --ascii używanie wyłącznie znaków ASCII\n"
+" -m, --perms wypisanie informacji o uprawnieniach\n"
+" -l, --list wyjście w formacie listy\n"
+" -n, --noheadings bez wypisywania nagłówków\n"
+" -o, --output <lista> kolumny do wypisania\n"
+" -P, --pairs wyjście w formacie klucz=\"wartość\"\n"
+" -r, --raw surowy format wyjścia\n"
+" -s, --inverse odwrócenie zależności\n"
+" -t, --topology wypisanie informacji o topologii\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr ""
+"\n"
+"Dostępne kolumny (dla --output):\n"
+
+#: misc-utils/lsblk.c:1231
+#, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "nie udało się dostać do katalogu sysfs: %s"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr "polecenie procesu trzymajÄ…cego blokadÄ™"
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr "PID procesu trzymajÄ…cego blokadÄ™"
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr "rodzaj blokady: FL_FLOCK lub FL_POSIX."
+
+#: misc-utils/lslocks.c:71
+msgid "size of the lock"
+msgstr "rozmiar blokady"
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr "tryb dostępu do blokady"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr "obowiązkowość blokady: 0 (brak), 1 (ustawiona)"
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr "względny offset blokady w bajtach"
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr "końcowy offset blokady"
+
+#: misc-utils/lslocks.c:76
+msgid "path of the locked file"
+msgstr "ścieżka do zablokowanego pliku"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "niezrozumiały pid"
+
+#: misc-utils/lslocks.c:274
+msgid "(unknown)"
+msgstr "(nieznane)"
+
+#: misc-utils/lslocks.c:283
+msgid "failed to parse start"
+msgstr "niezrozumiały offset początku"
+
+#: misc-utils/lslocks.c:290
+msgid "failed to parse end"
+msgstr "niezrozumiały offset końca"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, c-format
+msgid " %s [options]\n"
+msgstr " %s [opcje]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <pid> identyfikator procesu\n"
+" -o, --output <lista> określenie kolumn na wyjściu\n"
+" -n, --noheadings pominięcie wypisywania nagłówków\n"
+" -r, --raw surowy format wyjścia\n"
+" -u, --notruncate bez ucinania tekstu w kolumnach\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+msgid "invalid PID argument"
+msgstr "błędna wartość PID-u"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -f, --file <plik> uĹĽycie pliku jako zarodka ciasteczka\n"
+" -v, --verbose wyjaśnianie wykonywanych czynności\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Odebrano %d bajtĂłw od %s\n"
+
+#: misc-utils/mcookie.c:158
+#, c-format
+msgid "closing %s failed"
+msgstr "zamknięcie %s nie powiodło się"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "nie udało się odczytać dowiązania symbolicznego: %s"
+
+#: misc-utils/namei.c:370
+#, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s - nie ma takiego pliku ani katalogu\n"
+
+#: misc-utils/namei.c:420
+#, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr " %s [opcje] ścieżka [ścieżka ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+" -h, --help wyświetlenie tego opisu\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -x, --mountpoints wypisanie katalogĂłw punktĂłw montowania z 'D'\n"
+" -m, --modes wypisanie bitów uprawnień każdego pliku\n"
+" -o, --owners wypisanie właściciela i grupy każdego pliku\n"
+" -l, --long użycie długiego formatu listy (-m -o -v)\n"
+" -n, --nosymlinks bez podÄ…ĹĽania za dowiÄ…zaniami symbolicznymi\n"
+" -v, --vertical pionowe wyrównanie uprawnień i właścicieli\n"
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Więcej informacji w namei(1).\n"
+
+#: misc-utils/namei.c:493
+msgid "pathname argument is missing"
+msgstr "brak argumentu będącego ścieżką"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s: przekroczono limit dowiązań symbolicznych"
+
+#: misc-utils/rename.c:54
+#, c-format
+msgid "renaming %s to %s failed"
+msgstr "zmiana nazwy %s na %s nie powiodła się"
+
+#: misc-utils/rename.c:67
+#, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr " %s [opcje] wyraĹĽenie zamiennik plik...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose wyjaśnianie wykonywanych czynności\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -p, --pid <ścieżka> ścieżka do pliku pid\n"
+" -s, --socket <ścieżka> ścieżka do gniazda\n"
+" -T, --timeout <sek> określenie limitu czasu nieaktywności\n"
+" -k, --kill zabicie działającego demona\n"
+" -r, --random test generowania losowego\n"
+" -t, --time test generowania wg czasu\n"
+" -n, --uuids <ile> ĹĽÄ…dana liczba uuidĂłw\n"
+" -P, --no-pid bez tworzenia pliku pidu\n"
+" -F, --no-fork bez demonizowania przez podwĂłjny fork\n"
+" -S, --socket-activation bez tworzenia gniazda nasłuchującego\n"
+" -d, --debug tryb diagnostyczny\n"
+" -q, --quiet włączenie trybu cichego\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "błędne argumenty"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "zapis"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr "odczytany rozmiar"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "błędna długość odpowiedzi"
+
+#: misc-utils/uuidd.c:220
+#, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "Nie udało się otworzyć/utworzyć %s: %m\n"
+
+#: misc-utils/uuidd.c:235
+#, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "Nie udało się zablokować %s: %m\n"
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Nie udało się utworzyć gniazda uniksowego: %m"
+
+#: misc-utils/uuidd.c:285
+#, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Nie udało się dowiązać gniazda uniksowego %s: %m\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "demon uuidd już działa z pidem %s\n"
+
+#: misc-utils/uuidd.c:334
+#, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Nie udało się rozpocząć nasłuchiwania na gnieździe uniksowym %s: %m\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr "Nie otrzymano lub otrzymano za duĹĽo deskryptorĂłw plikĂłw.\n"
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Błąd odczytu od klienta, długość = %d\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "operacja %d, odebrana liczba = %d\n"
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr "operacja %d\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "Wygenerowany UUID czasowy: %s\n"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "Wygenerowany UUID losowy: %s\n"
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] "Wygenerowany UUID czasowy %s i %d kolejny\n"
+msgstr[1] "Wygenerowany UUID czasowy %s i %d kolejne\n"
+msgstr[2] "Wygenerowany UUID czasowy %s i %d kolejnych\n"
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "Wygenerowano %d UUID:\n"
+msgstr[1] "Wygenerowano %d UUID-y:\n"
+msgstr[2] "Wygenerowano %d UUID-Ăłw:\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Nieprawidłowa operacja %d\n"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "Nieoczekiwana długość odpowiedzi od serwera %d"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Błędna liczba: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr "uuidd został zbudowany bez obsługi aktywacji gniazdem.\n"
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr "Podano opcjÄ™ --pid oraz --no-pid. Zignorowano --no-pid.\n"
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr "Podano opcjÄ™ --socket-activation oraz --socket. Zignorowano --socket\n"
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Błąd wywołania demona uuidd (%s): %m\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "%s i %d kolejny UUID\n"
+msgstr[1] "%s i %d kolejne UUID-y\n"
+msgstr[2] "%s i %d kolejnych UUID-Ăłw\n"
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr "Lista UUID-Ăłw:\n"
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Nie udało się zabić uuidd działającego z pidem %d: %m\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "Zabito uuidd działającego z pidem %d\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -r, --random generowanie uuidĂłw losowych\n"
+" -t, --time generowanie uuidĂłw wg czasu\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+" -f <plik> określenie przedmiotu wyszukiwania\n"
+" -b wyszukiwanie tylko binariĂłw\n"
+" -B <katalogi> określenie ścieżek wyszukiwania binariów\n"
+" -m wyszukiwanie tylko ścieżek stron podręcznika (man)\n"
+" -M <katalogi> określenie ścieżek wyszukiwania stron podręcznika\n"
+" -s wyszukiwanie tylko ścieżek źródeł\n"
+" -S <katalogi> określenie ścieżek wyszukiwania źródeł\n"
+" -u wyszukiwanie tylko wpisów niezwykłych\n"
+" -V wypisanie informacji o wersji i zakończenie\n"
+" -h wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+"Opis sposobu uĹĽycia argumentĂłw plikowych i katalogowych znajduje siÄ™ w "
+"whereis(1).\n"
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "błąd: %s: inicjalizacja próbowania nie powiodła się"
+
+#: misc-utils/wipefs.c:292
+#, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: nie udało się usunąć łańcucha magicznego %s pod offsetem 0x%08jx"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr "%s: usunięto %zd bajtów pod offsetem 0x%08jx (%s): "
+
+#: misc-utils/wipefs.c:344
+#, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "%s: nie znaleziono offsetu 0x%jx"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all usunięcie wszystkich łańcuchów magicznych (OSTROŻNIE!)\n"
+" -h, --help wyświetlenie tego opisu\n"
+" -n, --no-act wszystko poza właściwymi operacjami zapisu\n"
+" -o, --offset <n> offset do usunięcia w bajtach\n"
+" -p, --parsable wyjście w formacie do przetworzenia\n"
+" -q, --quiet pominięcie komunikatów wyjściowych\n"
+" -t, --types <lista> ograniczenie zbioru systemĂłw plikĂłw, RAID-Ăłw lub tablic "
+"partycji\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"Więcej informacji w wipefs(8).\n"
+
+#: misc-utils/wipefs.c:425
+msgid "invalid offset argument"
+msgstr "błędna wartość offsetu"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "uwaga: błąd odczytu %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "uwaga: nie można otworzyć %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: nie udało się otworzyć %s - użycie %s\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr "nie można utworzyć pliku blokady %s: %s (opcja -n pominie to)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr "nie można dowiązać pliku blokady %s: %s (opcja -n pominie to)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "nie można otworzyć pliku blokady %s: %s (opcja -n pominie to)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Nie można zablokować pliku blokady %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "nie można zablokować pliku blokady %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "upłynął limit czasu"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Nie można utworzyć dowiązania %s\n"
+"Być może pozostał nieaktualny plik blokady?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "nie można otworzyć %s (%s) - nie uaktualniono pliku mtab"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "błąd zapisu %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: nie można wykonać fflush zmian: %s"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "błąd podczas zmiany uprawnień pliku %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "błąd podczas zmiany właściciela pliku %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "nie można zmienić nazwy %s na %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount: uwaga: pliku /etc/mtab nie można zapisywać (np. system plików\n"
+" jest tylko do odczytu). Możliwe, że informacje zgłaszane przez\n"
+" mount(8) nie są aktualne. Właściwe informacje o punktach\n"
+" montowania można znaleźć w pliku /proc/mounts.\n"
+"\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: niewłaściwie zacytowany łańcuch opcji '%s'"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: przetłumaczono %s '%s' na '%s'\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+"mount: opcje SELinuksa *context= sÄ… ignorowane przy przemontowywaniu.\n"
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: według mtaba %s jest już zamontowany w %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: według mtaba %s jest zamontowany w %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: nie można otworzyć %s do zapisu: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: błąd zapisu %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: błąd podczas zmiany uprawnień %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: nie można ustawić identyfikatora grupy: %m"
+
+#: mount-deprecated/mount.c:813
+#, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: nie można ustawić identyfikatora użytkownika: %m"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: nie można wykonać fork: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "PrĂłbowanie %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: nie podano typu systemu plikĂłw dla %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Będą sprawdzane wszystkie typy wymienione w %s i %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " i wygląda to na przestrzeń wymiany\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Będzie sprawdzany typ %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s wygląda na przestrzeń wymiany - nie zamontowano"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+"mount: %s: wykryto więcej systemów plików. To nie powinno się zdarzyć,\n"
+" proszę użyć -t <typ>, aby określić samemu typ systemu plików\n"
+" lub użyć wipefs(8), aby wyczyścić urządzenie.\n"
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "montowanie nie powiodło się"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: tylko root może zamontować %s w %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: urzÄ…dzenie loop podano dwukrotnie"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: typ podano dwukrotnie"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: pominięto tworzenie urządzenia loop\n"
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: włączanie flagi automatycznego czyszczenia urządzenia loop\n"
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "mount: podano błędną wartość offsetu '%s'"
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "mount: podano błędny limit rozmiaru '%s'"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: według mtaba %s jest już zamontowany w %s jako loop"
+
+#: mount-deprecated/mount.c:1314
+msgid "mount: couldn't lock into memory"
+msgstr "mount: nie udało się zablokować w pamięci"
+
+#: mount-deprecated/mount.c:1334
+msgid "mount: failed to found free loop device"
+msgstr "mount: nie udało się znaleźć wolnego urządzenia loop"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: zostanie uĹĽyte urzÄ…dzenie loop %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: %s: nie udało ustawić atrybutów urządzenia loopback"
+
+#: mount-deprecated/mount.c:1364
+#, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: %s: nie udało się utworzyć urządzenia loop: %m"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: loop=%s skradziony... ponowna prĂłba\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: loop=%s skradziony"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: utworzono urzÄ…dzenie loop\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: nie znaleziono %s - tworzenie...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argument dla opcji -p lub --pass-fd musi być liczbą"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: nie można otworzyć %s w celu ustawienia prędkości"
+
+#: mount-deprecated/mount.c:1473
+#, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: nie można ustawić prędkości: %m"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: według mtaba %s jest już zamontowany w %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "mount: uwaga: %s wyglÄ…da na zamontowany do odczytu i zapisu.\n"
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "mount: uwaga: %s wyglÄ…da na zamontowany tylko do odczytu.\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: nie udało się określić typu systemu plików, a żaden nie został podany"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: trzeba określić system plików"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: montowanie nie powiodło się"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: punkt montowania %s nie jest katalogiem"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: brak uprawnień"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: do używania mounta trzeba być superużytkownikiem"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s jest zajęty"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc jest juĹĽ zamontowany"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s jest już zamontowany lub %s jest zajęty"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: punkt montowania %s nie istnieje"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: punkt montowania %s jest dowiÄ…zaniem symbolicznym donikÄ…d"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: urzÄ…dzenie specjalne %s nie istnieje"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: urzÄ…dzenie specjalne %s nie istnieje\n"
+" (przedrostek ścieżki nie jest katalogiem)\n"
+
+#: mount-deprecated/mount.c:1756
+#, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s nie jest zamontowany, albo podano złą opcję"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: niewłaściwy typ systemu plików, błędna opcja, błędny superblok na "
+"%s,\n"
+" brak strony kodowej lub programu pomocniczego albo jeszcze inny błąd"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (dla niektĂłrych systemĂłw plikĂłw (np. nfs, cifs) moĹĽe\n"
+" być potrzebny program pomocniczy /sbin/mount.<typ>)"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (być może to urządzenie IDE, które wykorzystuje ide-scsi,\n"
+" więc powinno być użyte sr0, sda lub podobne?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (czy to nie prĂłba zamontowania partycji rozszerzonej\n"
+" zamiast leĹĽÄ…cej na niej partycji logicznej?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" W niektĂłrych przypadkach przydatne informacje moĹĽna\n"
+" znaleźć w logu systemowym (np. dmesg | tail)\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "tablica montowania pełna"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: nie można odczytać superbloku"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: nieznane urzÄ…dzenie"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: nieznany typ systemu plikĂłw '%s'"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: zapewne chodziło o %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: może chodziło o 'iso9660'?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: może chodziło o 'vfat'?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s ma błędny numer urządzenia albo typ systemu plików %s nie jest "
+"obsługiwany"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s nie jest urzÄ…dzeniem blokowym, a stat nie udaje siÄ™?"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: jÄ…dro nie rozpoznaje %s jako urzÄ…dzenia blokowego\n"
+" (moĹĽe `modprobe sterownik'?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s nie jest urządzeniem blokowym (miało być `-o loop'?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s nie jest urzÄ…dzeniem blokowym"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s nie jest poprawnym urzÄ…dzeniem blokowym"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "urzÄ…dzenie blokowe "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: %s%s nie może być zamontowane tylko do odczytu"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s jest zabezpieczone przed zapisem, ale podano flagÄ™ `-w'"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+"mount: %s%s nie może być przemontowane do odczytu i zapisu - zabezpieczone "
+"przed zapisem"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+"mount: %s%s jest zabezpieczone przed zapisem, montowanie tylko do odczytu"
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: brak nośnika w %s"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+"mount: %s nie zawiera etykiet SELinuksa.\n"
+" W systemie z SELinuksem zamontowano system plików obsługujący\n"
+" etykiety, ale ich nie zawierajÄ…cy. Najprawdopodobniej aplikacje\n"
+" będą generować komunikaty AVC i nie będą mogły dostać się do tego\n"
+" systemu plików. Więcej szczegółów w restorecon(8) i mount(8).\n"
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: nie podano typu - przyjęto nfs ze względu na dwukropek\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount: nie podano typu - przyjęto cifs ze względu na prefiks //\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr "mount: zignorowano %s (błędna opcja offset=)\n"
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s jest juĹĽ zamontowany w %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Składnia: mount -V : wyświetlenie wersji\n"
+" mount -h : wyświetlenie tego opisu\n"
+" mount : lista zamontowanych systemĂłw plikĂłw\n"
+" mount -l : jw. wraz z etykietami wolumenĂłw\n"
+"Powyżej część informacyjna. Teraz montowanie.\n"
+"Polecenie to `mount [-t typ_fs] coĹ› gdzieĹ›'.\n"
+"Szczegóły obecne w /etc/fstab można pominąć.\n"
+" mount -a [-t|-O] ... : zamontowanie wszystkiego z /etc/fstab\n"
+" mount urzÄ…dzenie : zamontowanie urzÄ…dzenia w znanym miejscu\n"
+" mount katalog : zamontowanie tutaj znanego urzÄ…dzenia\n"
+" mount -t typ urz kat : zwykłe polecenie mount\n"
+"Uwaga: właściwie nie montuje się urządzenia, ale system plików\n"
+"(podanego typu), ktĂłry znajduje siÄ™ na urzÄ…dzeniu.\n"
+"Można także zamontować już widoczne drzewo katalogów w innym miejscu:\n"
+" mount --bind stary_katalog nowy_katalog\n"
+"lub przenieść poddrzewo:\n"
+" mount --move stary_katalog nowy_katalog\n"
+"Można zmienić rodzaj montowania dla podanego katalogu:\n"
+" mount --make-shared katalog\n"
+" mount --make-slave katalog\n"
+" mount --make-private katalog\n"
+" mount --make-unbindable katalog\n"
+"Można zmienić rodzaj wszystkich montowań w poddrzewie zawierającym\n"
+"podany katalog:\n"
+" mount --make-rshared katalog\n"
+" mount --make-rslave katalog\n"
+" mount --make-rprivate katalog\n"
+" mount --make-runbindable katalog\n"
+"Urządzenie może być podane przy użyciu nazwy, np. /dev/hda1 lub /dev/cdrom,\n"
+"przy uĹĽyciu etykiety (-L etykieta) albo przy uĹĽyciu UUID-a (-U uuid).\n"
+"Inne opcje: [-nfFrsvw] [-o opcje] [-p fdhasła].\n"
+"Dużo więcej szczegółów znajduje się w `man 8 mount'.\n"
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: tylko root może to zrobić (efektywny UID to %u)"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: tylko root może to zrobić"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "nic nie było zamontowane"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: nie znaleziono takiej partycji"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: nie znaleziono %s w %s ani %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: uwaga: brak znaku końca linii na końcu pliku %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: linia %d w %s jest błędna%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; reszta pliku zignorowana"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "błąd w wywołaniu xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "brak pamięci"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: skompilowano bez obsługi -f\n"
+
+#: mount-deprecated/umount.c:139
+#, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: nie można ustawić identyfikatora grupy: %m"
+
+#: mount-deprecated/umount.c:142
+#, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: nie można ustawić identyfikatora użytkownika: %m"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: nie można wykonać fork: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: nieprawidłowe urządzenie blokowe"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: nie jest zamontowane"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: nie można zapisać superbloku"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: urządzenie jest zajęte.\n"
+" (w niektĂłrych przypadkach informacje o procesach korzystajÄ…cych\n"
+" z urządzenia można znaleźć przy pomocy lsof(8) lub fuser(1))"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: nie znaleziono"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: trzeba być superużytkownikiem, żeby odmontować"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: urzÄ…dzenia blokowe nie sÄ… dozwolone w systemie plikĂłw"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr "umount: błąd wewnętrzny: błędna ścieżka bezwzględna: %s"
+
+#: mount-deprecated/umount.c:254
+#, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "umount: błąd podczas zmiany katalogu na %s: %m"
+
+#: mount-deprecated/umount.c:257
+#, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "umount: nie udało uzyskać bieżącego katalogu: %m"
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "umount: punkt montowania przeniesiony (%s -> %s)"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr "bieĹĽÄ…cy katalog przeniesiono do %s\n"
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "brak umount2, prĂłba wykonania umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s jest zajęty - przemontowano tylko do odczytu\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: nie udało się przemontować %s tylko do odczytu\n"
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s został odmontowany\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: nie można odnaleźć listy systemów plików do odmontowania"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Składnia: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t typyvfs] [-O opcje]\n"
+" umount [-d] [-f] [-r] [-n] [-v] spec | urzÄ…dzenie...\n"
+
+#: mount-deprecated/umount.c:558
+#, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "nie udało się przeanalizować opcji 'offset=%s'\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "urzÄ…dzenie %s jest powiÄ…zane z %s\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "urzÄ…dzenie %s nie jest powiÄ…zane z %s\n"
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr "Nie można odmontować \"\"\n"
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr "PrĂłba odmontowania %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: zaskoczony przy analizie mtaba"
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+"umount: nie można odmontować %s - %s jest zamontowany na wierzchu w tym "
+"samym miejscu"
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Nie udało się odnaleźć %s w mtabie\n"
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr "%s jest powiÄ…zany z %s\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+"umount: uwaga: %s jest powiązany z więcej niż jednym urządzeniem loop\n"
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s nie jest zamontowany (wg mtaba)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: zdaje siÄ™, ĹĽe %s jest zamontowany wiele razy"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s nie jest w fstabie (do odmontowania trzeba być rootem)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: montowanie %s nie zgadza siÄ™ z fstabem"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: tylko %s może odmontować %s z %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: tylko root może to zrobić"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+"\n"
+"chrt - zmiana atrybutĂłw czasu rzeczywistego (real-time) procesu\n"
+"\n"
+"Ustawianie polityki:\n"
+" chrt [opcje] <polityka> <priorytet> {<pid> | <polecenie> [<arg> ...]}\n"
+"\n"
+"Odczyt polityki:\n"
+" chrt [opcje] {<pid> | <polecenie> [<arg> ...]}\n"
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+"\n"
+"Polityki szeregowania:\n"
+" -b | --batch ustawienie polityki na SCHED_BATCH\n"
+" -f | --fifo ustawienie polityki na SCHED_FIFO\n"
+" -i | --idle ustawienie polityki na SCHED_IDLE\n"
+" -o | --other ustawienie polityki na SCHED_OTHER\n"
+" -r | --rr ustawienie polityki na SCHED_RR (domyślna)\n"
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+"\n"
+"Flagi szeregowania:\n"
+" -R | --reset-on-fork ustawienie SCHED_RESET_ON_FORK dla FIFO lub RR\n"
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -a | --all-tasks operowanie na wszystkich zadaniach (wÄ…tkach) danego "
+"pidu\n"
+" -h | --help wyświetlenie tego opisu\n"
+" -m | --max wypisanie minimalnego i maksymalnego priorytetu\n"
+" -p | --pid operowanie na istniejÄ…cym, podanym pidzie\n"
+" -v | --verbose wyświetlanie informacji o stanie\n"
+" -V | --version wyświetlenie informacji o wersji\n"
+"\n"
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "nie udało się odczytać polityki dla pidu %d"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "nowa polityka szeregowania pidu %d: "
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "aktualna polityka szeregowania dla pidu %d: "
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr "nieznana polityka szeregowania"
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "nie udało się odczytać atrybutów pidu %d"
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "nowy priorytet szeregowania dla pidu %d: %d\n"
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "aktualny priorytet szeregowania dla pidu %d: %d\n"
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "Minimalny/maksymalny priorytet dla SCHED_%s: %d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "Polityka SCHED_%s nie jest obsługiwana?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+msgid "cannot obtain the list of tasks"
+msgstr "nie można uzyskać listy zadań"
+
+#: schedutils/chrt.c:299
+msgid "invalid priority argument"
+msgstr "błędna wartość priorytetu"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+"flaga SCHED_RESET_ON_FORK jest obsługiwana tylko dla polityk SCHED_FIFO i "
+"SCHED_RR"
+
+#: schedutils/chrt.c:323
+#, c-format
+msgid "failed to set tid %d's policy"
+msgstr "nie udało się ustawić polityki dla tidu %d"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "nie udało się ustawić polityki dla pidu %d"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "nie udało się uruchomić %s"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "ioprio_get nie powiodło się"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "ioprio_set nie powiodło się"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"%1$s - ustawianie lub odczyt klasy i priorytetu szeregowania we/wy procesu\n"
+"\n"
+"Składnia:\n"
+" %1$s [OPCJA] -p PID [PID...]\n"
+" %1$s [OPCJA] POLECENIE\n"
+"\n"
+"Opcje:\n"
+" -c, --class <klasa> nazwa lub numer klasy szeregowania\n"
+" 0: none, 1: realtime, 2: best-effort, 3: "
+"idle\n"
+" -n, --classdata <liczba> dane klasy szeregowania\n"
+" 0-7 dla klas realtime i best-effort\n"
+" -p, --pid=PID wypisanie lub zmiana dla już działającego "
+"procesu\n"
+" -t, --ignore zignorowanie błędów\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: schedutils/ionice.c:148
+msgid "invalid class data argument"
+msgstr "błędne dane klasy"
+
+#: schedutils/ionice.c:154
+msgid "invalid class argument"
+msgstr "błędna wartość klasy"
+
+#: schedutils/ionice.c:159
+#, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "nieznana klasa szeregowania: '%s'"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr "zignorowano podane dane klasy dla klasy none"
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr "zignorowano podane dane klasy dla klasy idle"
+
+#: schedutils/ionice.c:196
+#, c-format
+msgid "unknown prio class %d"
+msgstr "nieznana klasa priorytetu %d"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "uruchomienie %s nie powiodło się"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+"Składnia: %s [opcje] [maska | lista-cpu] [pid|polecenie [arg...]]\n"
+"\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+"Opcje:\n"
+" -a | --all-tasks operowanie na wszystkich zadaniach (wÄ…tkach) danego "
+"pidu\n"
+" -p, --pid operowanie na podanym, istniejÄ…cym pidzie\n"
+" -c, --cpu-list wypisywanie i określanie CPU w postaci listy\n"
+" -h, --help wyświetlenie tego opisu\n"
+" -V, --version wyświetlenie informacji o wersji\n"
+"\n"
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+"Domyślne zachowanie to uruchomienie nowego polecenia:\n"
+" %1$s 03 sshd -b 1024\n"
+"Można też uzyskać maskę dla istniejącego zadania:\n"
+" %1$s -p 700\n"
+"Lub ustawić ją:\n"
+" %1$s -p 03 700\n"
+"Można użyć formatu listy oddzielonej przecinkami zamiast maski:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Przedziały w formacie listy mogą mieć argument kroku:\n"
+" np. 0-31:2 odpowiada masce 0x55555555\n"
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"Więcej informacji w taskset(1).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr "Nowa lista przypisań dla pidu %d: %s\n"
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr "aktualna lista przypisań dla pidu %d: %s\n"
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr "Nowa maska przypisań dla pidu %d: %s\n"
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr "aktualna maska przypisań dla pidu %d: %s\n"
+
+#: schedutils/taskset.c:97
+msgid "conversion from cpuset to string failed"
+msgstr "nie udało się przekształcić cpuset do łańcucha znaków"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "nie udało się uzyskać przypisań dla pidu %d"
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "nie udało się ustawić przypisań dla pidu %d"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "nie można określić NR_CPUS; przerwano"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr "cpuset_alloc nie powiodło się"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "nie udało się przeanalizować listy CPU: %s"
+
+#: schedutils/taskset.c:217
+#, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "nie udało się przeanalizować maski CPU: %s"
+
+#: sys-utils/arch.c:79
+msgid "uname failed"
+msgstr "uname nie powiodło się"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, c-format
+msgid "CPU %d does not exist\n"
+msgstr "CPU %d nie istnieje\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr "CPU %d nie obsługuje funkcji hot-plug\n"
+
+#: sys-utils/chcpu.c:88
+#, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "CPU %d jest już włączony\n"
+
+#: sys-utils/chcpu.c:92
+#, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "CPU %d jest już wyłączony\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr "Włączenie CPU %d nie powiodło się (jest zdekonfigurowany)\n"
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr "Włączenie CPU %d nie powiodło się (%m)\n"
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr "CPU %d włączony\n"
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr "Wyłączenie CPU %d nie powiodło się (ostatni włączony CPU)\n"
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr "Wyłączenie CPU %d nie powiodło się (%m)\n"
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr "CPU %d wyłączony\n"
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr "Ten system nie obsługuje ponownego przeszukiwania CPU"
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Nie udało się wyzwolić ponownego przeszukania CPU"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr "Wyzwolono ponowne przeszukanie CPU\n"
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr "Ten system nie obsługuje ustawiania trybu przekazywania CPU"
+
+#: sys-utils/chcpu.c:142
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Nie udało się ustawić poziomego trybu przekazywania"
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Ustawiono poziomy tryb przekazywania\n"
+
+#: sys-utils/chcpu.c:146
+msgid "Failed to set vertical dispatch mode"
+msgstr "Nie udało się ustawić pionowego trybu przekazywania"
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Ustawiono pionowy tryb przekazywania\n"
+
+#: sys-utils/chcpu.c:165
+#, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "CPU %d nie daje się konfigurować\n"
+
+#: sys-utils/chcpu.c:170
+#, c-format
+msgid "CPU %d is already configured\n"
+msgstr "CPU %d jest juĹĽ skonfigurowany\n"
+
+#: sys-utils/chcpu.c:174
+#, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "CPU %d jest juĹĽ zdekonfigurowany\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr "Dekonfiguracja CPU %d nie powiodła się (jest włączony)\n"
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Konfiguracja CPU %d nie powiodła się (%m)\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr "CPU %d skonfigurowany\n"
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Dekonfiguracja CPU %d nie powiodła się (%m)\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr "CPU %d zdekonfigurowany\n"
+
+#: sys-utils/chcpu.c:208
+#, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "błędny numer CPU na liście: %s"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [opcje]\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -h, --help wyświetlenie tego opisu\n"
+" -e, --enable <lista-cpu> włączenie procesorów\n"
+" -d, --disable <lista-cpu> wyłączenie procesorów\n"
+" -c, --configure <lista-cpu> skonfigurowanie procesorĂłw\n"
+" -g, --deconfigure <lista-cpu> zdekonfigurowanie procesorĂłw\n"
+" -p, --dispatch <tryb> ustawienie trybu przekazywania\n"
+" -r, --rescan wyzwolenie przeskanowania CPU\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+
+#: sys-utils/chcpu.c:300
+#, c-format
+msgid "unsupported argument: %s"
+msgstr "nieobsługiwany argument: %s"
+
+#: sys-utils/ctrlaltdel.c:21
+#, c-format
+msgid " %s <hard|soft>\n"
+msgstr " %s <hard|soft>\n"
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Aby zmienić zachowanie Ctrl-Alt-Del, trzeba być rootem"
+
+#: sys-utils/cytune.c:92
+#, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr " %s [opcje] <tty> [...]\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+" -s, --set-threshold <ile> ustawienie wartości progowej przerwania\n"
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+" -g, --get-threshold wyświetlenie bieżącej wartości progowej\n"
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+" -S, --set-default-threshold <ile> ustawienie domyślnej wartości progowej\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+" -t, --set-flush <ile> ustawienie limitu czasu opróżnienia\n"
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+" -G, --get-flush wyświetlenie domyślnego limitu czasu "
+"opróżnienia\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+" -T, --set-default-flush <ile> ustawienie domyślnego limitu czasu "
+"opróżnienia\n"
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+" -q, --stats wyświetlenie statystyk dotyczących "
+"terminala\n"
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+" -i, --interval <sekundy> gromadzenie statystyk co podanÄ… liczbÄ™ "
+"<sekund>\n"
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Plik %s, dla wartości progowej %lu, maksymalna liczba znaków w kolejce %d,\n"
+"maksymalny transfer w znakach/sekundę wyniósł %f"
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Plik %s, dla wartości progowej %lu i limitu czasu %lu, maksymalna liczba "
+"znakĂłw w kolejce %d,\n"
+"maksymalny transfer w znakach/sekundę wyniósł %f"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday nie powiodło się"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "nie można wykonać CYGETMON na %s"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, c-format
+msgid "cannot get threshold for %s"
+msgstr "nie można odczytać wartości progowej dla %s"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, c-format
+msgid "cannot get timeout for %s"
+msgstr "nie można odczytać limitu czasu dla %s"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu przerw., %lu/%lu znakĂłw; fifo: prĂłg %lu, limit %lu, maks. %lu, teraz "
+"%lu\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f przerwań/sekundę; odbiór %f, wysyłanie %f (znaków/sekundę)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu przerw., %lu znakĂłw; fifo: prĂłg %lu, limit %lu, maks. %lu, teraz "
+"%lu\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f przerwań/sekundę; odbiór %f (znaków/sekundę)\n"
+
+#: sys-utils/cytune.c:326
+msgid "Invalid interval value"
+msgstr "Błędna wartość okresu"
+
+#: sys-utils/cytune.c:328
+#, c-format
+msgid "Invalid interval value: %d"
+msgstr "Błędna wartość okresu: %d"
+
+#: sys-utils/cytune.c:335
+msgid "Invalid set value"
+msgstr "Błędna ustawiana wartość progowa"
+
+#: sys-utils/cytune.c:337
+#, c-format
+msgid "Invalid set value: %d"
+msgstr "Błędna ustawiana wartość progowa: %d"
+
+#: sys-utils/cytune.c:344
+msgid "Invalid default value"
+msgstr "Błędna wartość domyślna"
+
+#: sys-utils/cytune.c:346
+#, c-format
+msgid "Invalid default value: %d"
+msgstr "Błędna wartość domyślna: %d"
+
+#: sys-utils/cytune.c:354
+msgid "Invalid set time value"
+msgstr "Błędna ustawiana wartość czasu"
+
+#: sys-utils/cytune.c:356
+#, c-format
+msgid "Invalid set time value: %d"
+msgstr "Błędna ustawiana wartość czasu: %d"
+
+#: sys-utils/cytune.c:364
+msgid "Invalid default time value"
+msgstr "Błędna domyślna wartość czasu"
+
+#: sys-utils/cytune.c:366
+#, c-format
+msgid "Invalid default time value: %d"
+msgstr "Błędna domyślna wartość czasu: %d"
+
+#: sys-utils/cytune.c:409
+#, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "nie można ustawić %s na wartość progową %d"
+
+#: sys-utils/cytune.c:423
+#, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "nie można ustawić %s na wartość progową czasu %d"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: bieżąca wartość progowa %ld, bieżący limit czasu %ld\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: domyślna wartość progowa %ld, domyślny limit czasu %ld\n"
+
+#: sys-utils/dmesg.c:72
+msgid "system is unusable"
+msgstr "system jest bezuĹĽyteczny"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr "akcję trzeba podjąć natychmiast"
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr "warunki krytyczne"
+
+#: sys-utils/dmesg.c:75
+msgid "error conditions"
+msgstr "wystąpił błąd"
+
+#: sys-utils/dmesg.c:76
+msgid "warning conditions"
+msgstr "wystąpiło ostrzeżenie"
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr "normalne, ale znaczÄ…ce zdarzenie"
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr "informacja"
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr "komunikaty diagnostyczne"
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr "komunikaty od jÄ…dra"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr "komunikaty poziomu uĹĽytkownika"
+
+#: sys-utils/dmesg.c:95
+msgid "mail system"
+msgstr "system pocztowy"
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr "demony systemowe"
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr "komunikaty dot. bezpieczeństwa/autoryzacji"
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr "komunikaty wygenerowane wewnętrznie przez syslogd"
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr "podsystem wydruku"
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr "podsystem sieciowy news"
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr "podsystem UUCP"
+
+#: sys-utils/dmesg.c:102
+msgid "clock daemon"
+msgstr "demon zegara"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr "komunikaty dot. bezpieczeństwa/autoryzacji (prywatne)"
+
+#: sys-utils/dmesg.c:104
+msgid "ftp daemon"
+msgstr "demon ftp"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+" -C, --clear wyczyszczenie bufora w jÄ…drze\n"
+" -c, --read-clear odczyt i wyczyszczenie wszystkich komunikatĂłw\n"
+" -D, --console-off wyłączenie wypisywania komunikatów na konsolę\n"
+" -d, --show-delta podawanie różnicy czasu między komunikatami\n"
+" -e, --reltime podawanie czasu i różnic w czytelnym formacie\n"
+" -E, --console-on włączenie wypisywania komunikatów na konsolę\n"
+" -F, --file <plik> uĹĽycie pliku zamiast bufora logu jÄ…dra\n"
+" -f, --facility <lista> ograniczenie wyjścia do określonych kategorii\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+" -k, --kernel wyświetlenie komunikatów jądra\n"
+" -l, --level <lista> ograniczenie wyjścia do określonych poziomów\n"
+" -n, --console-level <poziom> ust. poziomu komunikatĂłw wypisywanych na "
+"konsolÄ™\n"
+" -r, --raw wypisanie bufora komunikatĂłw w postaci surowej\n"
+" -S, --syslog wymuszenie uĹĽycia syslog(2) zamiast /dev/kmsg\n"
+" -s, --buffer-size <rozmiar> rozmiar bufora przy odpytywaniu bufora jÄ…dra\n"
+" -T, --ctime podawanie czasu w postaci czytelnej dla "
+"człowieka\n"
+" (może być niedokładne po SUSPEND/RESUME)\n"
+" -t, --notime bez wypisywania znacznikĂłw czasu komunikatĂłw\n"
+" -u, --userspace wyświetlanie komunikatów przestrzeni "
+"uĹĽytkownika\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -w, --follow oczekiwanie na nowe komunikaty\n"
+" -x, --decode dekodowanie kategorii i poziomu do formy "
+"czytelnej\n"
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+"\n"
+"Obsługiwane kategorie logowania:\n"
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+"\n"
+"Obsługiwane poziomy (priorytety) logowania:\n"
+
+#: sys-utils/dmesg.c:260
+#, c-format
+msgid "failed to parse level '%s'"
+msgstr "nie udało się przeanalizować poziomu '%s'"
+
+#: sys-utils/dmesg.c:262
+#, c-format
+msgid "unknown level '%s'"
+msgstr "nieznany poziom '%s'"
+
+#: sys-utils/dmesg.c:298
+#, c-format
+msgid "failed to parse facility '%s'"
+msgstr "nie udało się przeanalizować kategorii '%s'"
+
+#: sys-utils/dmesg.c:300
+#, c-format
+msgid "unknown facility '%s'"
+msgstr "nieznana kategoria '%s'"
+
+#: sys-utils/dmesg.c:415
+msgid "sysinfo failed"
+msgstr "sysinfo nie powiodło się"
+
+#: sys-utils/dmesg.c:442
+#, c-format
+msgid "cannot mmap: %s"
+msgstr "nie można wykonać mmap: %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+msgid "write failed"
+msgstr "zapis nie powiódł się"
+
+#: sys-utils/dmesg.c:1132
+msgid "invalid buffer size argument"
+msgstr "błędna wartość rozmiaru bufora"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+"opcja --raw nie może być użyta wraz z level, facility, decode, delta, ctime "
+"ani notime"
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr "opcja --notime nie może być użyta wraz z --ctime ani --reltime"
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr "opcja --reltime nie może być użyta wraz z --ctime "
+
+#: sys-utils/dmesg.c:1192
+msgid "read kernel buffer failed"
+msgstr "odczyt bufora jądra nie powiódł się"
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr "polecenie nie obsługiwane"
+
+#: sys-utils/dmesg.c:1211
+msgid "klogctl failed"
+msgstr "klogctl nie powiodło się"
+
+#: sys-utils/eject.c:135
+#, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr " %s [opcje] [<urzÄ…dzenie>|<punkt montowania>]\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+" -a, --auto <on|off> włączenie/wyłączenie automatycznego wysuwania\n"
+" -c, --changerslot <slot> przełączenie płyt w zmieniarce CD-ROM\n"
+" -d, --default wypisanie domyślnego urządzenia\n"
+" -f, --floppy wysunięcie dyskietki\n"
+" -F, --force bez sprawdzania rodzaju urzÄ…dzenia\n"
+" -i, --manualeject <on|off> włączenie/wyłączenie blokady ręcznego "
+"wysuwania\n"
+" -m, --no-unmount bez odmontowywania urzÄ…dzenia kiedy "
+"zamontowane\n"
+" -M, --no-partitions-unmount bez odmontowywania innych partycji\n"
+" -n, --noop bez wysuwania, samo wskazanie urzÄ…dzenia\n"
+" -p, --proc uĹĽycie /proc/mounts zamiast /etc/mtab\n"
+" -q, --tape wysunięcie taśmy\n"
+" -r, --cdrom wysunięcie płyty CD-ROM\n"
+" -s, --scsi wysunięcie z urządzenia SCSI\n"
+" -t, --trayclose zamknięcie szuflady\n"
+" -T, --traytoggle przełączenie szuflady\n"
+" -v, --verbose włączenie szczegółowych komunikatów\n"
+" -x, --cdspeed <szybkość> ustawienie maksymalnej prędkości CD-ROM-u\n"
+" -X, --listspeed wypisanie dostępnych prędkości CD-ROM-u\n"
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+"\n"
+"Domyślne próbowane są kolejno -r, -s, -f i -q do pierwszego powodzenia.\n"
+
+#: sys-utils/eject.c:208
+msgid "invalid argument to --auto/-a option"
+msgstr "błędny argument opcji --auto/-a"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr "błędny argument opcji --changerslot/-c"
+
+#: sys-utils/eject.c:216
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "błędny argument opcji --cdspeed/-x"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr "błędny argument opcji --manualeject/-i"
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr "polecenie automatycznego wysuwania CD-ROM-u nie powiodło się"
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr "polecenie blokowania wysuwania CD-ROM-u nie powiodło się"
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr "płyty CD NIE można wysunąć przyciskiem na urządzeniu"
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr "płytę "
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr "polecenie wyboru płyty CD-ROM nie powiodło się"
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr "polecenie załadowania płyty CD-ROM ze slotu nie powiodło się"
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr "zmieniarka CD-ROM IDE/ATAPI nie jest obsługiwana przez to jądro\n"
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr "polecenie zamknięcia szuflady CD-ROM-u nie powiodło się"
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+"polecenie zamknięcia szuflady CD-ROM-u nie jest obsługiwane przez to jądro\n"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr "wysuwanie CD-ROM-u nie jest obsługiwane"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr "polecenie wysunięcia CD-ROM-u nie powiodło się"
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr "brak dostępnych informacji o napędzie CD-ROM"
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr "napęd CD-ROM nie jest gotowy"
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr "polecenie wyboru prędkości CD-ROM-u nie powiodło się"
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+"polecenie wyboru prędkości CD-ROM-u nie jest obsługiwane przez to jądro"
+
+#: sys-utils/eject.c:521
+#, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: nie udało się odnaleźć nazwy CD-ROM-u"
+
+#: sys-utils/eject.c:536
+#, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: nie udało się odczytać prędkości"
+
+#: sys-utils/eject.c:544
+msgid "failed to read speed"
+msgstr "nie udało się odczytać prędkości"
+
+#: sys-utils/eject.c:588
+msgid "not an sg device, or old sg driver"
+msgstr "nie jest to urzÄ…dzenie sg ani stary sterownik sg"
+
+#: sys-utils/eject.c:650
+#, c-format
+msgid "%s: unmounting"
+msgstr "%s: odmontowywanie"
+
+#: sys-utils/eject.c:658
+msgid "eject: cannot set user id"
+msgstr "eject: nie można ustawić identyfikatora użytkownika"
+
+#: sys-utils/eject.c:665
+#, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "nie udało się uruchomić /bin/umount `%s'"
+
+#: sys-utils/eject.c:668
+msgid "unable to fork"
+msgstr "nie można wykonać fork"
+
+#: sys-utils/eject.c:675
+#, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "odmontowanie `%s' nie zakończyło się poprawnie"
+
+#: sys-utils/eject.c:678
+#, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "odmontowanie `%s' nie powiodło się\n"
+
+#: sys-utils/eject.c:719
+msgid "failed to parse mount table"
+msgstr "nie udało się przeanalizować tablicy montowań"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, c-format
+msgid "%s: mounted on %s"
+msgstr "%s: zamontowane pod %s"
+
+#: sys-utils/eject.c:877
+#, c-format
+msgid "%s: is removable device"
+msgstr "%s: urzÄ…dzenie wyjmowalne"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr "%s: podłączone poprzez podsystem hotplug: %s"
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr "ustawianie prędkości CD-ROM-u na automatyczną"
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr "ustawianie prędkości CD-ROM-u na %ldX"
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr "urządzenie domyślne: `%s'"
+
+#: sys-utils/eject.c:952
+#, c-format
+msgid "using default device `%s'"
+msgstr "użycie urządzenia domyślnego `%s'"
+
+#: sys-utils/eject.c:971
+#, c-format
+msgid "%s: unable to find device"
+msgstr "%s: nie udało się odnaleźć urządzenia"
+
+#: sys-utils/eject.c:973
+#, c-format
+msgid "device name is `%s'"
+msgstr "nazwa urzÄ…dzenia to `%s'"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, c-format
+msgid "%s: not mounted"
+msgstr "%s: nie zamontowany"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr "%s: urządzenie dyskowe: %s (zostanei użyte do wysunięcia)"
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr "%s: nie odnaleziono punktu montowania ani urzÄ…dzenia o podanej nazwie"
+
+#: sys-utils/eject.c:994
+#, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: urządzenie obejmujące cały dysk"
+
+#: sys-utils/eject.c:998
+#, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: nie jest urzÄ…dzeniem typu hotplug"
+
+#: sys-utils/eject.c:1002
+#, c-format
+msgid "device is `%s'"
+msgstr "urzÄ…dzenie to `%s'"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr "zakończenie z powodu opcji -n/--noop"
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr "%s: włączanie trybu automatycznego wysuwania"
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr "%s: wyłączanie trybu automatycznego wysuwania"
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr "%s: zamykanie szuflady"
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr "%s: przełączanie szuflady"
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr "%s: wypisywanie prędkości CD-ROM-u"
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr "błąd: %s: urządzenie w użyciu"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr "%s: wybĂłr dysku CD-ROM #%ld"
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr "%s: próba wysunięcia przy użyciu polecenia dla CD-ROM-u"
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr "polecenie wysunięcia dla CD-ROM-u się powiodło"
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr "%s: próba wysunięcia przy użyciu poleceń SCSI"
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr "wysunięcie przy użyciu poleceń SCSI powiodło się"
+
+#: sys-utils/eject.c:1103
+msgid "SCSI eject failed"
+msgstr "wysunięcie przy użyciu poleceń SCSI nie powiodło się"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr "%s: próba wysunięcia przy użyciu polecenia dla dyskietek"
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr "polecenie wysunięcia dyskietki powiodło się"
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr "polecenie wysunięcia dyskietki nie powiodło się"
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr "%s: próba wysunięcia przy użyciu polecenia odłączenia taśmy"
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr "polecenie odłączenia taśmy powiodło się"
+
+#: sys-utils/eject.c:1117
+msgid "tape offline command failed"
+msgstr "polecenie odłączenia taśmy nie powiodło się"
+
+#: sys-utils/eject.c:1121
+msgid "unable to eject"
+msgstr "nie udało się wysunąć nośnika"
+
+#: sys-utils/fallocate.c:60
+#, c-format
+msgid " %s [options] <filename>\n"
+msgstr " %s [opcje] <nazwa_pliku>\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+" -n, --keep-size bez modyfikowania długości pliku\n"
+" -p, --punch-hole wybicie dziur w pliku\n"
+" -o, --offset <ile> pozycja (offset) przydziału w bajtach\n"
+" -l, --length <ile> długość przydziału w bajtach\n"
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr "nie podano argumentu długości"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr "podano błędną wartość długości"
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr "podano błędną wartość offsetu"
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr "nie podano nazwy pliku."
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr "nieoczekiwana liczba argumentĂłw"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr "tryb utrzymywania rozmiaru (opcja -n) nie jest obsługiwany"
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s: fallocate nie powiodło się"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+" %1$s [opcje] <numer deskryptora pliku>\n"
+" %1$s [opcje] <plik> -c <polecenie>\n"
+" %1$s [opcje] <katalog> -c <polecenie>\n"
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr " -s --shared pobranie blokady współdzielonej\n"
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr " -x --exclusive pobranie blokady wyłącznej (domyślne)\n"
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr " -u, --unlock usunięcie blokady\n"
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr " -n --nonblock niepowodzenie zamiast oczekiwania\n"
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr " -w --timeout <sek> oczekiwanie ograniczonÄ… liczbÄ™ sekund\n"
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+" -E --conflict-exit-code <kod> kod wyjścia po konflikcie lub przekroczeniu "
+"czasu\n"
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+" -o --close zamknięcie deskryptora pliku przed wykonaniem "
+"polecenia\n"
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr " -c --command <polecenie> uruchomienie polecenia poprzez powłokę\n"
+
+#: sys-utils/flock.c:86
+msgid "timeout cannot be zero"
+msgstr "limit czasu nie może być zerowy"
+
+#: sys-utils/flock.c:123
+#, c-format
+msgid "cannot open lock file %s"
+msgstr "nie można otworzyć pliku blokady %s"
+
+#: sys-utils/flock.c:206
+msgid "invalid exit code"
+msgstr "błędny kod wyjścia"
+
+#: sys-utils/flock.c:226
+#, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s wymaga dokładnie jednego argumentu będącego poleceniem"
+
+#: sys-utils/flock.c:247
+msgid "requires file descriptor, file or directory"
+msgstr "wymaga deskryptora pliku, pliku lub katalogu"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "wywołanie waitpid nie powiodło się"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, c-format
+msgid " %s [options] <mount point>\n"
+msgstr " %s [opcje] <punkt montowania>\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+" -h, --help ten opis\n"
+" -f, --freeze zamroĹĽenie systemu plikĂłw\n"
+" -u, --unfreeze odmroĹĽenie systemu plikĂłw\n"
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"Więcej informacji w fsfreeze(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr "nie określono akcji"
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr "nie podano nazwy pliku"
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr "%s: nie jest katalogiem"
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr "%s: zamrożenie nie powiodło się"
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr "%s: odmrożenie nie powiodło się"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+" -o, --offset <ile> offset w bajtach do usunięcia\n"
+" -l, --length <ile> długość w bajtach do usunięcia od offsetu\n"
+" -m, --minimum <ile> minimalna długość ekstentu do usunięcia\n"
+" -v, --verbose wypisanie liczby usuniętych bajtów\n"
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+msgid "failed to parse length"
+msgstr "niezrozumiała długość"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+msgid "failed to parse offset"
+msgstr "niezrozumiały offset"
+
+#: sys-utils/fstrim.c:114
+msgid "failed to parse minimum extent length"
+msgstr "niezrozumiała minimalnej długość ekstentu"
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr "nie podano punktu montowania."
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, c-format
+msgid "%s: not a directory"
+msgstr "%s: nie jest katalogiem"
+
+#: sys-utils/fstrim.c:145
+#, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s: ioctl FITRIM nie powiódł się"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr "%s: obcięto bajtów: %<PRIu64>\n"
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, c-format
+msgid "cannot write %s"
+msgstr "nie można zapisać %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Przyjęto, że zegar sprzętowy przechowuje czas %s.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "lokalny"
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+"Uwaga: nierozpoznana trzecia linia w pliku adjtime\n"
+"(Oczekiwano: `UTC', `LOCAL' lub niczego)."
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Ostatnia korekta niedokładności wykonana %ld sekund po 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Ostatnia kalibracja wykonana %ld sekund po 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Zegar sprzętowy przechowuje czas %s\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Oczekiwanie na przeskok zegara...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...synchronizacja nie powiodła się\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...wyłapano przeskok zegara\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Błędne wartości w zegarze sprzętowym: %4d-%.2d-%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Czas zegara sprzętowego: %4d-%.2d-%.2d %.2d:%.2d:%.2d = %ld sekund po 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Czas odczytany z zegara sprzętowego: %4d-%.2d-%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "Ustawianie zegara sprzętowego na %.2d:%.2d:%.2d = %ld sekund od 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Zegar nie zmieniony - to tylko test.\n"
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Czas miniony od wzorcowego to %.6f sekund.\n"
+"Dalsze oczekiwanie w celu osiągnięcia nowego czasu.\n"
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Rejestry zegara sprzętowego zawierają wartości nieprawidłowe (np. 50. dzień "
+"miesiąca) lub spoza zakresu, który ten program może obsłużyć (np. rok 2095)."
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f sekund\n"
+
+#: sys-utils/hwclock.c:617
+msgid "No --date option specified."
+msgstr "Nie podano opcji --date."
+
+#: sys-utils/hwclock.c:623
+msgid "--date argument too long"
+msgstr "Parametr --date zbyt długi"
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Wartość opcji --date nie jest poprawną datą.\n"
+"W szczególności zawiera znaki cytowania."
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Wywoływanie polecenia date: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Nie udało się uruchomić programu 'date' powłoką /bin/sh. popen() nie "
+"powiodło się"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "odpowiedĹş z polecenia date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"Polecenie date wywołane przez %s zwróciło nieoczekiwany wynik.\n"
+"Wykonane polecenie:\n"
+" %s\n"
+"Otrzymana odpowiedĹş:\n"
+" %s"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"Polecenie date wywołane przez %s zwróciło coś innego niż liczba całkowita, "
+"gdzie oczekiwano skonwertowanego czasu.\n"
+"Wykonane polecenie:\n"
+" %s\n"
+"Otrzymana odpowiedĹş:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "łańcuch date %s równy jest %ld sekund od 1969.\n"
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Zegar sprzętowy nie zawiera prawidłowego czasu, więc nie można z niego "
+"ustawić czasu systemowego."
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Wywoływanie settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Bez ustawiania zegara systemowego - tryb testowy.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr "Do ustawienia zegara systemowego trzeba być superużytkownikiem."
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() nie powiodło się"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Aktualny czas systemowy: %ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Bez zmiany współczynnika korekty, ponieważ zegar sprzętowy poprzednio "
+"zawierał śmieci.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Bez zmiany współczynnika korekty, ponieważ czas ostatniej kalibracji jest "
+"zerowy,\n"
+"więc historia jest błędna i trzeba ponownie zacząć kalibrację.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Bez zmiany współczynnika korekty, ponieważ nie minął dzień od poprzedniej "
+"kalibracji.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Zegar zboczył o %.1f sekund przez ostatnie %d sekund mimo współczynnika "
+"korekty %f sekund/dzień.\n"
+"Zmiana współczynnika korekty o %f sekund/dzień\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Czas od ostatniej korekty to %d sekund\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Wymagane wstawienie %d sekund i przesunięcie czasu wzorcowego %.6f sekund "
+"wstecz\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Bez uaktualniania pliku adjtime - tryb testowy.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Zapisano by następujące dane do %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+"Nie udało się otworzyć pliku z parametrami korekty zegara (%s) do zapisu"
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr "Nie udało się uaktualnić pliku z parametrami korekty zegara (%s)"
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr "Parametry korekty zegara nie zostały zapisane."
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"Zegar sprzętowy nie zawiera prawidłowego czasu, więc nie można go skorygować."
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Bez ustawiania zegara, ponieważ czas ostatniej poprawki jest zerowy, więc "
+"historia jest błędna."
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"Wymagana korekta jest mniejsza niĹĽ jedna sekunda - bez ustawiania zegara.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "UĹĽywany interfejs: %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Nie znaleziono uĹĽytecznego interfejsu zegara.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Nie udało się ustawić zegara systemowego.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr "W %ld sekund po 1969 przewiduje siÄ™ odczyt %ld sekund po 1969.\n"
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Jądro przechowuje wartość epoch dla zegara sprzętowego wyłącznie dla maszyn "
+"Alpha.\n"
+"Ta kopia hwclocka została zbudowana dla innej maszyny (więc raczej nie\n"
+"działa teraz na maszynie Alpha). Zaniechano działania."
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Nie udało się uzyskać wartości epoch z jądra."
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Jądro przyjmuje wartość epoch %lu\n"
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Aby ustawić wartość epoch, należy użyć opcji 'epoch' w celu przekazania "
+"wartości."
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Bez ustawiania wartości epoch na %d - tryb testowy.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Nie udało się ustawić wartości epoch w jądrze.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr " hwclock [funkcja] [opcja...]\n"
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"Funkcje:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+" -r, --show odczytanie zegara sprzętowego i wypisanie wyniku\n"
+" --set ustawienie RTC na czas podany przez --date\n"
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+" -s, --hctosys ustawienie czasu systemowego wg zegara sprzętowego\n"
+" -w, --systohc ustawienie zegara sprzętowego wg czasu systemowego\n"
+" --systz ustawienie czasu systemowego wg bieĹĽÄ…cej strefy "
+"czasowej\n"
+" --adjust korekta RTC biorąca pod uwagę ciągłe odchylenie od\n"
+" ostatniego ustawiania lub korekty zegara\n"
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+" --getepoch wypisanie wartości epoch zegara sprzętowego jądra\n"
+" --setepoch ustawienie wartości epoch zegara sprzętowego jądra\n"
+" na wartość podaną przez --epoch\n"
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+" --predict oszacowanie odczytu RTC o czasie podanym przez --date\n"
+" -V, --version wyświetlenie informacji o wersji i zakończenie\n"
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+" -u, --utc zegar sprzętowy utrzymuje czas w UTC\n"
+" --localtime zegar sprzętowy utrzymuje czas lokalny\n"
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+" -f, --rtc <plik> plik specjalny /dev/... do użycia zamiast domyślnego\n"
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+" --directisa bezpośredni dostęp do szyny ISA zamiast %s\n"
+" --badyear ignorowanie roku RTC ze względu na wadliwy BIOS\n"
+" --date <czas> określenie czasu, na jaki ma być ustawiony zegar\n"
+" --epoch <rok> określenie roku, który jest uznawany za początek\n"
+" wartości epoch zegara sprzętowego\n"
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+" --noadjfile bez dostępu do %s; wymaga to użycia opcji\n"
+" --utc lub --localtime\n"
+" --adjfile <plik> określenie ścieżki pliku korekty;\n"
+" domyślna to %s\n"
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+" --test bez uaktualniania, jedynie podawanie, co byłoby "
+"robione\n"
+" -D, --debug tryb diagnostyczny\n"
+"\n"
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" określenie rodzaju Alphy na potrzeby hwclocka (szczegóły w man hwclock"
+"(8))\n"
+"\n"
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr "Nie można połączyć się z systemem audytu"
+
+#: sys-utils/hwclock.c:1619
+msgid "invalid epoch argument"
+msgstr "błędna wartość epoki"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s nie przyjmuje argumentów nie będących opcjami. Podano %d.\n"
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "W przypadku użycia --noadjfile trzeba podać --utc lub --localtime"
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Brak zdatnego do użycia czasu do ustawienia. Nie można ustawić zegara."
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Niestety tylko superużytkownik może zmienić zegar sprzętowy."
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Niestety tylko superużytkownik może zmienić zegar systemowy."
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Niestety tylko superużytkownik może zmienić wartość epoch zegara sprzętowego "
+"w jÄ…drze."
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "Nie można uzyskać dostępu do zegara sprzętowego żadną znaną metodą."
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Proszę użyć opcji --debug, aby zobaczyć szczegóły poszukiwania metody "
+"dostępu."
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "uruchomiono z MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Zegar Ruffian BCD\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "clockport zmieniony na 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "dziwny znacznik TOY!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "atomowe %s nie powiodło się dla 1000 iteracji!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr "cmos_read(): zapis pod adres sterujący %X nie powiódł się: %m\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "cmos_read(): odczyt danych spod adresu %X nie powiódł się: %m\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr "cmos_write(): zapis pod adres sterujący %X nie powiódł się: %m\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "cmos_write(): zapis danych pod adres %X nie powiódł się: %m\n"
+
+#: sys-utils/hwclock-cmos.c:644
+msgid "I failed to get permission because I didn't try."
+msgstr "Nie udało się uzyskać uprawnień, ponieważ tego nie próbowano."
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"nie udało się uzyskać dostępu do portów we/wy: wywołanie iopl(3) nie "
+"powiodło się."
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Prawdopodobnie wymagane sÄ… uprawnienia administratora.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Oczekiwanie w pętli na zmianę czasu z KDGHWCLK\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "nie powiódł się ioctl KDGHWCLK do odczytu czasu"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "nie powiódł się ioctl KDGHWCLK do odczytu czasu w pętli"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr "Przekroczono limit czasu oczekiwania na zmianÄ™ czasu."
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "nie powiódł się ioctl() do odczytu czasu z %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK nie powiódł się"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Nie można otworzyć /dev/tty1 ani /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "ioctl KDGHWCLK nie powiódł się"
+
+#: sys-utils/hwclock-rtc.c:195
+#, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "nie powiódł się ioctl(%s) na %s w celu odczytu czasu"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Oczekiwanie w pętli na zmianę czasu z %s\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s nie ma funkcji przerwań. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "nie powiodło się read() na %s w celu oczekiwania na przeskok zegara"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "nie powiódł się select() na %s w celu oczekiwania na przeskok zegara"
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr ""
+"select() na %s w celu oczekiwania na przeskok zegara przekroczył limit czasu"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "nie powiódł się ioctl() na %s w celu wyłączenia przerwań uaktualnień"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"nieoczekiwanie nie powiódł się ioctl() na %s w celu włączenia przerwań "
+"uaktualnień"
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "nie powiódł się ioctl(%s) na %s w celu ustawienia czasu"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) powiódł się.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Aby zmienić wartość epoch w jądrze, trzeba dostać się do linuksowego "
+"sterownika urzÄ…dzenia 'rtc' poprzez plik urzÄ…dzenia specjalnego %s. Ten plik "
+"nie istnieje w tym systemie."
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "nie powiódł się ioctl(RTC_EPOCH_READ) na %s"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "odczytano wartość epoch %ld z %s przy użyciu ioctl-a RTC_EPOCH_READ.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Wartość epoch nie może być mniejsza niż 1900. Żądano %ld"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+"ustawianie wartości epoch na %ld przy użyciu ioctl-a RTC_EPOCH_SET na %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Sterownik urzÄ…dzenia w jÄ…drze dla %s nie ma ioctl-a RTC_EPOCH_SET."
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "nie powiódł się ioctl(RTC_EPOCH_SET) na %s"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+" -M, --shmem <rozmiar> utworzenie segmentu pamięci dzielonej podanego "
+"rozmiaru\n"
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+" -S, --semaphore <ile> utworenie tablicy semaforĂłw o tylu elementach\n"
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quue utworzenie kolejki komunikatĂłw\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr " -p, --mode <tryb> uprawnienia do zasobu (domyślne do 0644)\n"
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+msgid "failed to parse size"
+msgstr "niezrozumiały rozmiar"
+
+#: sys-utils/ipcmk.c:114
+msgid "failed to parse elements"
+msgstr "nie udało się przeanalizować elementów"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr "tworzenie pamięci dzielonej nie powiodło się"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "Identyfikator pamięci dzielonej: %d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr "tworzenie kolejki komunikatów nie powiodło się"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "Identyfikator kolejki komunikatĂłw: %d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "tworzenie semaforów nie powiodło się"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "Identyfikator tablicy semaforĂłw: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+" -n, --shmem-id <id> usunięcie segmentu pamięci dzielonej o podanym "
+"shmid\n"
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+" -M, --shmem-key <klucz> usunięcie segmentu pamięci dzielonej o podanym "
+"kluczu\n"
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+" -q, --queue-id <id> usunięcie kolejki komunikatów o podanym id\n"
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+" -Q, --queue-key <klucz> usunięcie kolejki komunikatów o podanym kluczu\n"
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr " -s, --semaphore-id <id> usunięcie semafora o podanym id\n"
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr " -S, --semaphore-key <klucz> usunięcie semafora o podanym kluczu\n"
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr " -a, --all[=<shm|msg|sem>] usunięcie wszystkiego\n"
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -v, --verbose opisywanie wykonywanych czynności\n"
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr "usuwanie segmentu pamięci dzielonej o id `%d'\n"
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "usuwanie kolejki komunikatĂłw o id `%d'\n"
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "usuwanie semafora o id `%d'\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "brak uprawnień do tego klucza"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "brak uprawnień do tego identyfikatora"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "błędny klucz"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "błędny identyfikator"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "klucz już usunięty"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "identyfikator już usunięty"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+msgid "key failed"
+msgstr "odwołanie do klucza nie powiodło się"
+
+#: sys-utils/ipcrm.c:111
+msgid "id failed"
+msgstr "odwołanie do id nie powiodło się"
+
+#: sys-utils/ipcrm.c:128
+#, c-format
+msgid "invalid id: %s"
+msgstr "błędny identyfikator: %s"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+msgid "not enough arguments"
+msgstr "za mało argumentów"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "zasoby usunięte\n"
+
+#: sys-utils/ipcrm.c:194
+#, c-format
+msgid "illegal key (%s)"
+msgstr "niedozwolony klucz (%s)"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr "jądro nie zostało skonfigurowane do obsługi pamięci dzielonej"
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr "jądro nie zostało skonfigurowane do obsługi semaforów"
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr "jądro nie zostało skonfigurowane do obsługi kolejek komunikatów"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, c-format
+msgid "unknown argument: %s"
+msgstr "nieznany argument: %s"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr " -i, --id <id> wypisanie szczegółów zasobu o podanym id\n"
+
+#: sys-utils/ipcs.c:126
+msgid "Resource options:\n"
+msgstr "Opcje zasobu:\n"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr " -m, --shmems segmenty pamięci dzielonej\n"
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr " -q, --queues kolejki komunikatĂłw\n"
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr " -s, --semaphores semafory\n"
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr " -a, --all wszystko (domyślne)\n"
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr "Format wyjścia:\n"
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+" -t, --time wyświetlenie czasu podłączenia, odłączenia i zmiany\n"
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr " -p, --pid wyświetlenie PID-ów twórcy i ostatniej operacji\n"
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr " -c, --creator wyświetlenie twórcy i właściciela\n"
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr " -l, --limits wyświetlenie limitów zasobów\n"
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr " -u, --summary wyświetlenie podsumowania stanu\n"
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "jądro nie zostało skonfigurowane do obsługi pamięci dzielonej\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Limity pamięci dzielonej ----\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "maksymalna liczba segmentĂłw = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maksymalny rozmiar segmentu (kB) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "maksymalny rozmiar całej pamięci dzielonej (kB) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "minimalny rozmiar segmentu (B) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Stan pamięci dzielonej ------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+"segmentĂłw przydzielonych %d\n"
+"stron przydzielonych %ld\n"
+"stron w pamięci %ld\n"
+"stron wymienionych %ld\n"
+"Wydajność swapa: %ld prób\t %ld sukcesów\n"
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Twórcy/właściciele pamięci dzielonej ---------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "id_shm"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "uprawn."
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Czas dołączania/odłączania/zmian pam.dziel. -----\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "właściciel"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "podłączenie"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "odłączenie"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "zmiana"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ PID twórcy/ost.op. na pamięci dziel. ------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Segmenty pamięci dzielonej ----\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "klucz"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "bajtĂłw"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "podłączeń"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "stan"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Nie ustawiono"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "blok."
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "jądro nie zostało skonfigurowane do obsługi semaforów\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Limity semaforĂłw --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maksymalna liczba tablic = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maksymalna liczba semaforĂłw w tablicy = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "maksymalna liczba semaforĂłw w systemie = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maksymalna liczba operacji na sem. w wywołaniu = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maksymalna wartość semafora = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Stan semaforĂłw ----------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "tablic uĹĽywanych: %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semaforĂłw przydzielonych: %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Twórcy/właściciele tablic semaforów -----\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "id_sem"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Czasy operacji/zmian semaforĂłw ----------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "ost.op."
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "ost.zmiana"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Tablice semaforĂłw -------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "lsem"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "jądro nie zostało skonfigurowane do obsługi kolejek komunikatów\n"
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Limity komunikatĂłw ------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "maksymalna liczba kolejek w systemie = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maksymalny rozmiar komunikatu (B) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "domyślny maksymalny rozmiar kolejki (B) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Stan komunikatĂłw --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "kolejki przydzielone: %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "używane nagłówki: %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "uĹĽywane miejsce: %d B\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "----- Twórcy/właściciele kolejek komunikatów -\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "id_msq"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Kolejki komunikatĂłw: czas odb./wys./zmiany ---\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "wysłanie"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "odbiĂłr"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "zmiana"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Kolejki komunikatĂłw: PID-y -\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Kolejki komunikatĂłw ---\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "bajtĂłw"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "komunikatĂłw"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl nie powiodło się"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Identyfikator segmentu pamięci dzielonej (shmid)=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "tryb=%#o\tprawa_dostępu=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bajtów=%lu\tlpid=%d\tcpid=%d\tpodłączeń=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "czas_podł=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "czas_odł=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "czas_zmiany=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "msgctl nie powiodło się"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Identyfikator kolejki komunikatĂłw (msqid)=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\ttryb=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "bajtĂłw=%ld\tmaxbajtĂłw=%ld\tlkom=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "czas_wysłania=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "czas_odbioru=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "semctl nie powiodło się"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Identyfikator tablicy semaforĂłw (semid)=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "tryb=%#o, uprawnienia=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "lsem = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "n.sem."
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "wartość"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "oczek.n."
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "oczek.z."
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+msgid "invalid iflag"
+msgstr "błędna flaga iflag"
+
+#: sys-utils/ldattach.c:160
+#, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr " %s [opcje] <dyscyplina> <urzÄ…dzenie>\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr " -d, --debug wypisywanie szczegółów na stderr\n"
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr " -s, --speed <wartość> ustawienie szybkości linii szeregowej\n"
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr " -7, --sevenbits ustawienie rozmiaru znaku na 7 bitĂłw\n"
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr " -8, --eightbits ustawienie rozmiaru znaku na 8 bitĂłw\n"
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr " -n, --noparity ustawienie braku parzystości\n"
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr " -e, --evenparity ustawienie parzystości na parzystą\n"
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr " -o, --oddparity ustawienie parzystości na nieparzystą\n"
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr " -1, --onestopbit ustawienie jednego bitu stopu\n"
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr " -2, --twostopbits ustawienie dwĂłch bitĂłw stopu\n"
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr " -i, --iflag [-]<iflag> ustawienie flagi trybu wejścia\n"
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Znane nazwy <dyscypliny>:\n"
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"Znane nazwy <iflag>:\n"
+
+#: sys-utils/ldattach.c:266
+msgid "invalid speed argument"
+msgstr "błędna wartość szybkości"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "błędna opcja"
+
+#: sys-utils/ldattach.c:288
+msgid "invalid line discipline argument"
+msgstr "błędna dyscyplina linii"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s nie jest interfejsem szeregowym"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "nie można pobrać atrybutów terminala dla %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "szybkość %d nie jest obsługiwana"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "nie można ustawić atrybutów terminala dla %s"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "nie można ustawić dyscypliny linii"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "nie można stać się demonem"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ", offset %ju"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ", limit rozmiaru %ju"
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", szyfrowanie %s (typ %u)"
+
+#: sys-utils/losetup.c:120
+#, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: ustawienie pojemności powiodło się"
+
+#: sys-utils/losetup.c:130
+#, c-format
+msgid "%s: detach failed"
+msgstr "%s: odłączenie nie powiodło się"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+" %1$s [opcje] [<urzÄ…dzenie_loop>]\n"
+" %1$s [opcje] -f | <urzÄ…dzenie_loop> <plik>\n"
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+" -a, --all lista wszystkich używanych urządzeń\n"
+" -d, --detach <urządz.> [...] odłączenie jednego lub większej liczby "
+"urządzeń\n"
+" -D, --detach-all odłączenie wszystkich urządzeń\n"
+" -f, --find znalezienie pierwszego nie uĹĽywanego "
+"urzÄ…dzenia\n"
+" -c, --set-capacity <urzÄ…dz.> zmiana rozmiaru urzÄ…dzenia\n"
+" -j, --associated <plik> lista urządzeń powiązanych z <plikiem>\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -e, --encryption <typ> włączenie szyfrowania danych o <nazwie/"
+"numerze>\n"
+" -o, --offset <ile> rozpoczęcie od podanego offsetu w pliku\n"
+" --sizelimit <ile> ograniczenie do podanej liczby bajtĂłw pliku\n"
+" -p, --pass-fd <numer> odczyt hasła z deskryptora <numer>\n"
+" -P, --partscan utworzenie partycjonowanego urzÄ…dzenia loop\n"
+" -r, --read-only ustawienie urzÄ…dzenia loop tylko do odczytu\n"
+" --show wypisanie nazwy urzÄ…dzenia (z -f)\n"
+" -v, --verbose tryb ze szczegółowymi informacjami\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+"%s: uwaga: plik jest krótszy niż 512 bajtów, urządzenie loop może być "
+"bezużyteczne lub niewidzialne dla narzędzi systemowych."
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+"%s: uwaga: plik nie pasuje do 512-bajtowego sektora, koniec pliku zostanie "
+"zignorowany."
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, c-format
+msgid "%s: failed to use device"
+msgstr "%s: nie udało się użyć urządzenia"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr "błędny deskryptor pliku hasła"
+
+#: sys-utils/losetup.c:352
+msgid "no loop device specified"
+msgstr "nie podano urzÄ…dzenia loop"
+
+#: sys-utils/losetup.c:354
+#, c-format
+msgid "%s failed to use device"
+msgstr "%s: nie udało się użyć urządzenia"
+
+#: sys-utils/losetup.c:359
+msgid "no file specified"
+msgstr "nie podano pliku"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr "opcje %s sÄ… dozwolone tylko przy konfiguracji urzÄ…dzenia loop"
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr "opcja --offset nie jest dozwolona w tym kontekście."
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+msgid "couldn't lock into memory"
+msgstr "nie udało się zablokować w pamięci"
+
+#: sys-utils/losetup.c:391
+msgid "not found unused device"
+msgstr "nie można odnaleźć nie używanego urządzenia"
+
+#: sys-utils/losetup.c:403
+#, c-format
+msgid "%s: failed to use backing file"
+msgstr "%s: nie udało się użyć powiązanego pliku"
+
+#: sys-utils/losetup.c:442
+msgid "find unused loop device failed"
+msgstr "próba odnalezienia nie używanego urządzenia loop nie powiodła się"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "brak"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "para"
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "pełna"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr "poziomy"
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr "pionowy"
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr "numer logicznego CPU"
+
+#: sys-utils/lscpu.c:238
+msgid "logical core number"
+msgstr "numer logicznego rdzenia"
+
+#: sys-utils/lscpu.c:239
+msgid "logical socket number"
+msgstr "numer logicznego gniazda"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr "numer logicznego węzła NUMA"
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr "numer logicznego tomu"
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr "informacja jak pamięci podręczne są współdzielone między CPU"
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr "tryb przekazywania CPU na maszynach wirtualnych"
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr "fizyczny adres CPU"
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr "informacja czy hipernadzorca przydzielił CPU"
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr "informacja czy Linux obecnie wykorzystuje CPU"
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "błąd: uname nie powiodło się"
+
+#: sys-utils/lscpu.c:551
+msgid "failed to allocate memory"
+msgstr "nie udało się przydzielić pamięci"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr "T"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "N"
+msgstr "N"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+"# PoniĹĽej lista w formacie Ĺ‚atwym do przetworzenia przez inne programy.\n"
+"# KaĹĽdy inny element w kaĹĽdej kolumnie ma unikalny identyfikator\n"
+"# z numeracjÄ… zaczynajÄ…cÄ… od zera.\n"
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "Architektura:"
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "Tryb(y) pracy CPU:"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr "Kolejność bajtów:"
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr "CPU:"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr "Maska aktywnych CPU:"
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr "Lista aktywnych CPU:"
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr "Maska nieaktywnych CPU:"
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr "Lista nieaktywnych CPU:"
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "Wątków na rdzeń:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "Rdzeni na gniazdo:"
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr "Gniazd na tom:"
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr "TomĂłw:"
+
+#: sys-utils/lscpu.c:1164
+msgid "Socket(s):"
+msgstr "Gniazd:"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "Węzłów NUMA:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "ID producenta:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "Rodzina CPU:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Model:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "Wersja:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr "BogoMIPS:"
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "Wirtualizacja:"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr "Hipernadzorca:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Producent hipernadzorcy:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Typ wirtualizacji:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr "Tryb przekazywania:"
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "Cache %s:"
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "Procesory węzła NUMA %d:"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+" -a, --all wypisanie wł. i wył. CPU (domyślne dla -e)\n"
+" -b, --online wypisanie tylko włączonych CPU (domyślne dla -p)\n"
+" -c, --offline wypisanie tylko wyłączonych CPU\n"
+" -e, --extended[=<lista>] wypisanie w rozszerzonym, czytelnym formacie\n"
+" -h, --help wyświetlenie tego opisu\n"
+" -p, --parse[=<lista>] wypisanie w formacie zdatnym do analizy\n"
+" -s, --sysroot <katalog> użycie podanego katalogu jako głównego systemowego\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -x, --hex wypisywanie masek szesnastkowych zamiast list CPU\n"
+
+#: sys-utils/lscpu.c:1235
+#, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"Więcej informacji w lscpu(1).\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+"%s: opcje --all, --online oraz --offline mogą być używane tylko z opcjami --"
+"extended lub --parsable.\n"
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "tylko root może użyć opcji \"--%s\" (efektywny UID to %u)"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "tylko root może to zrobić (efektywny UID to %u)"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "tylko root może użyć opcji \"--%s\""
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr "tylko root może to zrobić"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s z pakietu %s (libmount %s"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "%s: błąd składni: zignorowano wpis w linii %d."
+
+#: sys-utils/mount.c:158
+msgid "failed to read mtab"
+msgstr "nie udało się odczytać mtab"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr "%-25s: zignorowano\n"
+
+#: sys-utils/mount.c:221
+#, c-format
+msgid "%-25s: already mounted\n"
+msgstr "%-25s: juĹĽ zamontowany\n"
+
+#: sys-utils/mount.c:367
+#, c-format
+msgid "only root can mount %s on %s"
+msgstr "tylko root może zamontować %s w %s"
+
+#: sys-utils/mount.c:370
+#, c-format
+msgid "%s is already mounted"
+msgstr "%s jest juĹĽ zamontowany"
+
+#: sys-utils/mount.c:374
+#, c-format
+msgid "can't find %s in %s"
+msgstr "nie znaleziono %s w %s"
+
+#: sys-utils/mount.c:381
+#, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "nie znaleziono punktu montowania %s w %s"
+
+#: sys-utils/mount.c:384
+#, c-format
+msgid "can't find mount source %s in %s"
+msgstr "nie znaleziono źródła punktu montowania %s w %s"
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "Nie udało się określić typu systemu plików, a żaden nie został podany"
+
+#: sys-utils/mount.c:392
+msgid "you must specify the filesystem type"
+msgstr "trzeba określić typ systemu plików"
+
+#: sys-utils/mount.c:396
+#, c-format
+msgid "can't find %s"
+msgstr "nie znaleziono %s"
+
+#: sys-utils/mount.c:398
+msgid "mount source not defined"
+msgstr "nie zdefiniowano źródła montowania"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+msgid "failed to parse mount options"
+msgstr "nie udało się przeanalizować opcji montowania"
+
+#: sys-utils/mount.c:410
+#, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr ""
+"%s: nie udało się skonfigurować urządzenia loop (prawdopodobnie nieznany "
+"rodzaj szyfrowania)"
+
+#: sys-utils/mount.c:416
+#, c-format
+msgid "%s: mount failed"
+msgstr "%s: montowanie nie powiodło się"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "%s: system plików zamontowany, ale mount(8) nie powiódł się"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, c-format
+msgid "mount point %s is not a directory"
+msgstr "punkt montowania %s nie jest katalogiem"
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr "do używania mounta trzeba być superużytkownikiem"
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr "%s jest zajęty"
+
+#: sys-utils/mount.c:459
+#, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "%s jest już zamontowany lub %s jest zajęty"
+
+#: sys-utils/mount.c:471
+#, c-format
+msgid " %s is already mounted on %s\n"
+msgstr " %s jest juĹĽ zamontowany w %s\n"
+
+#: sys-utils/mount.c:479
+#, c-format
+msgid "mount point %s does not exist"
+msgstr "punkt montowania %s nie istnieje"
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "punkt montowania %s jest dowiÄ…zaniem symbolicznym donikÄ…d"
+
+#: sys-utils/mount.c:486
+#, c-format
+msgid "special device %s does not exist"
+msgstr "urzÄ…dzenie specjalne %s nie istnieje"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+msgid "mount(2) failed"
+msgstr "mount(2) nie powiodło się"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"urządzenie specjalne %s nie istnieje (przedrostek ścieżki nie jest "
+"katalogiem)"
+
+#: sys-utils/mount.c:510
+#, c-format
+msgid "%s not mounted or bad option"
+msgstr "%s nie jest zamontowany albo podano złą opcję"
+
+#: sys-utils/mount.c:512
+#, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "%s nie jest punktem montowania lub podano niewłaściwą opcję"
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"niewłaściwy typ systemu plików, błędna opcja, błędny superblok na %s,\n"
+" brak strony kodowej lub programu pomocniczego albo jeszcze inny błąd"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (dla niektĂłrych systemĂłw plikĂłw (np. nfs, cifs) moĹĽe\n"
+" być potrzebny program pomocniczy /sbin/mount.<typ>)\n"
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" W niektĂłrych przypadkach przydatne informacje moĹĽna\n"
+" znaleźć w logu systemowym (np. dmesg | tail)\n"
+
+#: sys-utils/mount.c:533
+#, c-format
+msgid "%s: can't read superblock"
+msgstr "%s: nie można odczytać superbloku"
+
+#: sys-utils/mount.c:537
+#, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "nieznany typ systemu plikĂłw '%s'"
+
+#: sys-utils/mount.c:545
+#, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "%s nie jest urzÄ…dzeniem blokowym, a stat(2) nie udaje siÄ™?"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"jÄ…dro nie rozpoznaje %s jako urzÄ…dzenia blokowego\n"
+" (moĹĽe `modprobe sterownik'?)"
+
+#: sys-utils/mount.c:550
+#, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "%s nie jest urządzeniem blokowym (miało być `-o loop'?)"
+
+#: sys-utils/mount.c:552
+#, c-format
+msgid " %s is not a block device"
+msgstr " %s nie jest urzÄ…dzeniem blokowym"
+
+#: sys-utils/mount.c:559
+#, c-format
+msgid "%s is not a valid block device"
+msgstr "%s nie jest poprawnym urzÄ…dzeniem blokowym"
+
+#: sys-utils/mount.c:565
+#, c-format
+msgid "cannot mount %s read-only"
+msgstr "nie można zamontować %s tylko do odczytu"
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "%s jest zabezpieczone przed zapisem, ale podano flagÄ™ `-w'"
+
+#: sys-utils/mount.c:571
+#, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr ""
+"nie można przemontować %s do odczytu i zapisu - zabezpieczone przed zapisem"
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "%s jest zabezpieczone przed zapisem, montowanie tylko do odczytu"
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr "brak nośnika w %s"
+
+#: sys-utils/mount.c:591
+#, c-format
+msgid "mount %s on %s failed"
+msgstr "montowanie %s w %s nie powiodło się"
+
+#: sys-utils/mount.c:613
+#, c-format
+msgid "%s: failed to parse"
+msgstr "%s: nie udało się przeanalizować"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+" %1$s [-lhV]\n"
+" %1$s -a [opcje]\n"
+" %1$s [opcje] [--source] <źródło> | [--target] <katalog>\n"
+" %1$s [opcje] <źródło> <katalog>\n"
+" %1$s <operacja> <punkt_montowania> [<cel>]\n"
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+" -a, --all zamontowanie wszystkich systemĂłw plikĂłw z fstaba\n"
+" -c, --no-canonicalize bez doprowadzania ścieżek do postaci kanonicznej\n"
+" -f, --fake testowe uruchomienie; pominięcie wywołań mount(2)\n"
+" -F, --fork osobny proces dla kaĹĽdego urzÄ…dzenia (wraz z -a)\n"
+" -T, --fstab <ścieżka> alternatywny plik zamiast /etc/fstab\n"
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+" -i, --internal-only bez wywoływania programów pomocniczych mount.<typ>\n"
+" -l, --show-labels wypisanie wszystkich punktĂłw montowania z "
+"ETYKIETAMI\n"
+" -n, --no-mtab bez zapisu do /etc/mtab\n"
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+" -o, --options <lista> rozdzielona przecinkami lista opcji montowania\n"
+" -O, --test-opts <lista> ograniczenie zbioru systemĂłw plikĂłw (wraz z -a)\n"
+" -p, --pass-fd <numer> odczyt hasła z deskryptora pliku\n"
+" -r, --read-only montowania systemu plikĂłw tylko do odczytu (-o ro)\n"
+" -t, --types <lista> ograniczenie zbioru typĂłw systemĂłw plikĂłw\n"
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+" --source <źródło> określenie źródła (ścieżki, etykiety, uuid-a)\n"
+" --target <cel> określenie punktu montowania\n"
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+" -v, --verbose informowanie o wykonywanych czynnościach\n"
+" -V, --version wyświetlenie informacji o wersji i zakończenie\n"
+" -w, --read-write montowanie syst. plikĂłw do odczytu i zapisu "
+"(domyślne)\n"
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+"\n"
+"Źródło:\n"
+" -L, --label <etykieta> synonim LABEL=<etykieta>\n"
+" -U, --uuid <uuid> synonim UUID=<uuid>\n"
+" LABEL=<etykieta> określenie urządzenia po etykiecie systemu plików\n"
+" UUID=<uuid> określenie urządzenia po wartości UUID systemu "
+"plikĂłw\n"
+" PARTLABEL=<etykieta> określenie urządzenia po etykiecie partycji\n"
+" PARTUUID=<uuid> określenie urządzenia po wartości UUID partycji\n"
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+" <urządzenie> określenie urządzenia po ścieżce\n"
+" <katalog> punkt montowania dla montowań bind (p. --bind/"
+"rbind)\n"
+" <plik> zwykły plik do ustawienia urządzenia loopback\n"
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+"\n"
+"Operacje:\n"
+" -B, --bind zamontowanie poddrzewa w innym miejscu (-o bind)\n"
+" -M, --move przeniesienie poddrzewa w inne miejsce\n"
+" -R, --rbind przeniesienie poddrzewa wraz z wewn. montowaniami\n"
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+" --make-shared oznaczenie poddrzewa jako współdzielonego\n"
+" --make-slave oznaczenie poddrzewa jako podrzędnego\n"
+" --make-private oznaczenie poddrzewa jako prywatnego\n"
+" --make-unbindable oznaczenie poddrzewa jako niebindowalnego\n"
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+" --make-rshared rekurencyjne oznaczenie poddrzewa jako "
+"współdzielonego\n"
+" --make-rslave rekurencyjne oznaczenie poddrzewa jako podrzędnego\n"
+" --make-rprivate rekurencyjne oznaczenie poddrzewa jako prywatnego\n"
+" --make-runbindable rekurencyjne oznaczenie poddrzewa jako "
+"niebindowalnego\n"
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr "przydzielenie kontekstu libmount nie powiodło się"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+msgid "failed to append options"
+msgstr "nie udało się dołączyć opcji"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+msgid "failed to set options pattern"
+msgstr "nie udało się ustawić wzorca opcji"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+" %1$s [-qd] /ścieżka/do/katalogu\n"
+" %1$s -x /dev/urzÄ…dzenie\n"
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+" -q, --quiet tryb cichy - bez wypisywania niczego\n"
+" -d, --fs-devno wypisanie numeru major:minor urzÄ…dzenia systemu plikĂłw\n"
+" -x, --devno wypisanie numeru major:minor urzÄ…dzenia blokowego\n"
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s nie jest punktem montowania\n"
+
+#: sys-utils/mountpoint.c:208
+#, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s jest punktem montowania\n"
+
+#: sys-utils/pivot_root.c:33
+#, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr " %s [opcje] nowy_katalog_główny miejsce_na_stary\n"
+
+#: sys-utils/pivot_root.c:71
+#, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "nie udało się zmienić katalogu głównego z `%s' na `%s'"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr "limit przestrzeni adresowej"
+
+#: sys-utils/prlimit.c:71
+msgid "max core file size"
+msgstr "maksymalny rozmiar pliku core"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+msgid "blocks"
+msgstr "bloki"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr "czas CPU"
+
+#: sys-utils/prlimit.c:72
+msgid "seconds"
+msgstr "sekundy"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr "maksymalny rozmiar danych"
+
+#: sys-utils/prlimit.c:74
+msgid "max file size"
+msgstr "maksymalny rozmiar pliku"
+
+#: sys-utils/prlimit.c:75
+msgid "max number of file locks held"
+msgstr "maksymalna liczba blokad plikĂłw"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr "maksymalny rozmiar zablokowanej pamięci"
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr "maksymalna liczba bajtĂłw w POSIX mqueue"
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr "maksymalne dozwolone nice"
+
+#: sys-utils/prlimit.c:79
+msgid "max number of open files"
+msgstr "maksymalna liczba otwartych plikĂłw"
+
+#: sys-utils/prlimit.c:80
+msgid "max number of processes"
+msgstr "maksymalna liczba procesĂłw"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr "maksymalny rozmiar pamięci rezydentnej"
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr "strony"
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr "maksymalny priorytet real-time"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr "limit czasu dla zadań real-time"
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr "mikrosekundy"
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr "maksymalna liczba sygnałów oczekujących"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr "maksymalny rozmiar stosu"
+
+#: sys-utils/prlimit.c:116
+msgid "resource name"
+msgstr "nazwa zasobu"
+
+#: sys-utils/prlimit.c:117
+msgid "resource description"
+msgstr "opis zasobu"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr "limit miękki"
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr "limit twardy (maksymalny)"
+
+#: sys-utils/prlimit.c:120
+msgid "units"
+msgstr "jednostki"
+
+#: sys-utils/prlimit.c:156
+#, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr " %s [opcje] [-p PID]\n"
+
+#: sys-utils/prlimit.c:158
+#, c-format
+msgid " %s [options] COMMAND\n"
+msgstr " %s [opcje] POLECENIE\n"
+
+#: sys-utils/prlimit.c:160
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"Opcje ogĂłlne:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <pid> identyfikator procesu\n"
+" -o, --output <lista> określenie kolumn na wyjściu\n"
+" --noheadings pominięcie wypisywania nagłówków\n"
+" --raw surowy format wyjścia\n"
+" --verbose szczegółowe wyjście\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+
+#: sys-utils/prlimit.c:169
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr ""
+"\n"
+"Opcje zasobĂłw:\n"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+" -c, --core maksymalny rozmiar tworzonych plikĂłw core\n"
+" -d, --data maksymalny rozmiar segmentu danych procesu\n"
+" -e, --nice maksymalne dozwolone podwyĹĽszenie nice\n"
+" -f, --fsize maksymalny rozmiar plikĂłw zapisywanych przez proces\n"
+" -i, --sigpendnig maksymalna liczba oczekujących sygnałów\n"
+" -l, --memlock maksymalny rozmiar pamięci zablokowanej przez "
+"proces\n"
+" -m, --rss maksymalny rozmiar pamięci rezydentnej (RSS)\n"
+" -n, --nofile maksymalna liczba otwartych plikĂłw\n"
+" -q, --msgqueue maksymalna liczba bajtĂłw w kolejkach komunikatĂłw "
+"POSIX\n"
+" -r, --rtprio maksymalny priorytet szeregowania real-time\n"
+" -s, --stack maksymalny rozmiar stosu\n"
+" -t, --cpu maksymalny czas procesora w sekundach\n"
+" -u, --nproc maksymalna liczba procesĂłw uĹĽytkownika\n"
+" -v, --as rozmiar pamięci wirtualnej\n"
+" -x, --locks maksymalna liczba blokad plikĂłw\n"
+" -y, --rttime czas CPU w mikrosekundach szeregowania real-time\n"
+
+#: sys-utils/prlimit.c:320
+#, c-format
+msgid "failed to get old %s limit"
+msgstr "nie udało się uzyskać starego limitu %s"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr "miękki limit \"%s\" nie może przekroczyć limitu twardego"
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr "Nowy limit \"%s\": "
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr "brak"
+
+#: sys-utils/prlimit.c:365
+#, c-format
+msgid "failed to set the %s resource limit"
+msgstr "nie udało się ustawić limitu \"%s\""
+
+#: sys-utils/prlimit.c:366
+#, c-format
+msgid "failed to get the %s resource limit"
+msgstr "nie udało się odczytać limitu \"%s\""
+
+#: sys-utils/prlimit.c:445
+#, c-format
+msgid "failed to parse %s limit"
+msgstr "nie udało się przeanalizować limitu \"%s\""
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr "opcja --pid może być podana tylko raz"
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "opcje --pid i POLECENIE wykluczajÄ… siÄ™ wzajemnie"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr " -m, --mapfile <plik_mapy> (domyślnie: \"%s\" oraz\n"
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr " \"%s\")\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr " -p, --profile <profil> (domyślnie: \"%s\")\n"
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr " -M, --multiplier <mnoĹĽ> ustawienie podanego mnoĹĽnika profilowania\n"
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+" -i, --info wypisanie tylko informacji o kroku prĂłbkowania\n"
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr " -v, --verbose wypisanie szczegółowych danych\n"
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+" -a, --all wypisanie wszystkich symboli, nawet z licznikiem "
+"0\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+" -b, --histbin wypisanie poszczegĂłlnych licznikĂłw histogram-bin\n"
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+" -s, --counters wypisanie poszczegĂłlnych licznikow w funkcjach\n"
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+" -r, --reset wyzerowanie wszystkich licznikĂłw (tylko root)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr " -n, --no-auto wyłączenie wykrywania kolejności bajtów\n"
+
+#: sys-utils/readprofile.c:237
+#, c-format
+msgid "error writing %s"
+msgstr "błąd zapisu %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+"Przyjęto odwróconą kolejność bajtów. Opcja -n wymusi natywną kolejność."
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Krok prĂłbkowania: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s(%i): błędna linia mapy"
+
+#: sys-utils/readprofile.c:310
+#, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "nie znaleziono \"_stext\" w %s"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr "adres profilu spoza zakresu. Błędny plik mapy?"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "razem"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+" %1$s [-n] <priorytet> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priorytet> -g <grupaproc> [<grupaproc> ...]\n"
+" %1$s [-n] <priorytet> -u <uĹĽytkownik> [<uĹĽytkownik> ...]\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+" -g, --pgrp <id> interpretowanie jako ID grupy procesĂłw\n"
+" -h, --help wyświetlenie tego opisu\n"
+" -n, --priority <liczba> ustawienie wartości zwiększenia nice\n"
+" -p, --pid <id> interpretowanie jako ID procesu\n"
+" -u, --user <nazwa|id> interpretowanie jako nazwy lub ID uĹĽytkownika\n"
+" -v, --version wyświetlenie wersji\n"
+
+#: sys-utils/renice.c:70
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"Więcej informacji w renice(1).\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice z pakietu %s\n"
+
+#: sys-utils/renice.c:139
+#, c-format
+msgid "unknown user %s"
+msgstr "nieznany uĹĽytkownik %s"
+
+#: sys-utils/renice.c:146
+#, c-format
+msgid "bad value %s"
+msgstr "błędna wartość %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr "ID procesu"
+
+#: sys-utils/renice.c:161
+msgid "user ID"
+msgstr "ID uĹĽytkownika"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr "ID grupy procesĂłw"
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "nie udało się odczytać priorytetu dla %d (%s)"
+
+#: sys-utils/renice.c:172
+#, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "nie udało się ustawić priorytetu dla %d (%s)"
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d (%s): stary priorytet %d, nowy priorytet %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+" -d, --device <urzÄ…dzenie> wybĂłr urzÄ…dzenia RTC (rtc0|rtc1|...)\n"
+" -n, --dry-run wykonanie wszystkiego poza uśpieniem\n"
+" -l, --local RTC uĹĽywa lokalnej strefy czasowej\n"
+" -m, --mode <tryb> tryb snu standby|mem|...\n"
+" -s, --seconds <sekundy> liczba sekund snu\n"
+" -t, --time <time_t> czas pobudki\n"
+" -u, --utc RTC uĹĽywa UTC\n"
+" -v, --verbose szczegółowe komunikaty\n"
+
+#: sys-utils/rtcwake.c:156
+msgid "read rtc time failed"
+msgstr "odczyt czasu RTC nie powiódł się"
+
+#: sys-utils/rtcwake.c:161
+msgid "read system time failed"
+msgstr "odczyt czasu systemowego nie powiódł się"
+
+#: sys-utils/rtcwake.c:179
+msgid "convert rtc time failed"
+msgstr "przeliczanie czasu RTC nie powiodło się"
+
+#: sys-utils/rtcwake.c:239
+msgid "set rtc alarm failed"
+msgstr "ustawianie alarmu RTC nie powiodło się"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr "włączanie alarmu RTC nie powiodło się"
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr "ustawianie budzika RTC nie powiodło się"
+
+#: sys-utils/rtcwake.c:351
+msgid "read rtc alarm failed"
+msgstr "odczyt alarmu RTC nie powiódł się"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr "alarm: wyłączony\n"
+
+#: sys-utils/rtcwake.c:374
+msgid "convert time failed"
+msgstr "przeliczanie czasu nie powiodło się"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr "alarm: włączony %s"
+
+#: sys-utils/rtcwake.c:438
+#, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "nieznany stan uśpienia '%s'"
+
+#: sys-utils/rtcwake.c:448
+msgid "invalid seconds argument"
+msgstr "błędna liczba sekund"
+
+#: sys-utils/rtcwake.c:455
+msgid "invalid time argument"
+msgstr "błędna wartość czasu"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: założono, że RTC używa UTC...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "UĹĽycie czasu UTC.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "UĹĽycie czasu lokalnego.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr "trzeba podać czas pobudki (opcja -t lub -s)"
+
+#: sys-utils/rtcwake.c:508
+#, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s nie ma włączonych zdarzeń budzenia"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "alarm %ld, sys_time %ld, rtc_time %ld, sekund: %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr "uśpienie w tryb \"%s\" nie jest dostępne"
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr "czas nie biegnie wstecz do %s"
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: pobudka przy uĹĽyciu %s w chwili %s"
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: pobudka z trybu \"%s\" przy uĹĽyciu %s w chwili %s"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr "tryb uśpienia: brak; opuszczanie\n"
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr "tryb uśpienia: wyłączenie; wywoływanie %s\n"
+
+#: sys-utils/rtcwake.c:578
+#, c-format
+msgid "unable to execute %s"
+msgstr "nie udało się uruchomić %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr "tryb uśpienia: włączony; odczytywanie RTC\n"
+
+#: sys-utils/rtcwake.c:592
+msgid "rtc read failed"
+msgstr "odczyt RTC nie powiódł się"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr "tryb uśpienia: wyłączony; wyłączanie budzika\n"
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr "tryb uśpienia: wyświetlenie; wypisywanie informacji o budziku\n"
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr "tryb uśpienia: %s; usypianie systemu\n"
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr "wyłączanie przerwania pobudki RTC nie powiodło się"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "WĹ‚Ä…czanie %s.\n"
+
+#: sys-utils/setarch.c:94
+#, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr " %s%s [opcje] [program [program argumenty]]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -v, --verbose szczegółowa informacja o włączanych opcjach\n"
+" -R, --addr-no-randomize wyłączenie losowości wirtualnej przestrzeni "
+"adresowej\n"
+" -F, --fdpic-funcptrs wskaĹşniki funkcji wskazujÄ…ce na deskryptory\n"
+" -Z, --mmap-page-zero włączenie MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout zmiany w sposobie przydzielania pamięci "
+"wirtualnej\n"
+" -X, --read-implies-exec włączenie READ_IMPLIES_EXEC\n"
+" -B, --32bit włączenie ADDR_LIMIT_32BIT\n"
+" -I, --short-inode włączenie SHORT_INODE\n"
+" -S, --whole-seconds włączenie WHOLE_SECONDS\n"
+" -T, --sticky-timeouts włączenie STICKY_TIMEOUTS\n"
+" -3, --3gb ograniczenie przestrzeni adresowej do maksimum 3 "
+"GB\n"
+" --4gb ignorowane (tylko dla kompatybilności wstecznej)\n"
+" --uname-2.6 włączenie UNAME26\n"
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s\n"
+"`%s --help' wyświetli więcej informacji."
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr "`%s --help' wyświetli więcej informacji."
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: Nieznana architektura"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Za mało argumentów"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Nie udało się ustawić osobowości na %s"
+
+#: sys-utils/setsid.c:28
+#, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr " %s [opcje] <program> [argumenty...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr " -c, --ctty ustawienie terminala sterujÄ…cego na bieĹĽÄ…cy\n"
+
+#: sys-utils/setsid.c:79
+msgid "fork"
+msgstr "fork"
+
+#: sys-utils/setsid.c:90
+msgid "setsid failed"
+msgstr "setsid nie powiodło się"
+
+#: sys-utils/setsid.c:94
+msgid "failed to set the controlling terminal"
+msgstr "nie udało się ustawić terminala sterującego"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "execvp nie powiodło się"
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr "swapoff %s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "Trzeba być superużytkownikiem."
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: swapoff nie powiodło się"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr " %s [opcje] [<spec>]\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all wyłączenie wszystkich obszarów wymiany z /proc/"
+"swaps\n"
+" -v, --verbose tryb szczegółowych informacji\n"
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Parametr <spec>:\n"
+" -L <etykieta> ETYKIETA urzÄ…dzenia do uĹĽycia\n"
+" -U <uuid> UUID urzÄ…dzenia do uĹĽycia\n"
+" LABEL=<etykieta> ETYKIETA urzÄ…dzenia do uĹĽycia\n"
+" UUID=<uuid> UUID urzÄ…dzenia do uĹĽycia\n"
+" <urzÄ…dzenie> nazwa urzÄ…dzenia do uĹĽycia\n"
+" <plik> nazwa pliku do uĹĽycia\n"
+
+#: sys-utils/swapon.c:89
+msgid "device file or partition path"
+msgstr "ścieżka do pliku urządzenia lub partycji"
+
+#: sys-utils/swapon.c:90
+msgid "type of the device"
+msgstr "rodzaj urzÄ…dzenia"
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr "rozmiar obszaru wymiany"
+
+#: sys-utils/swapon.c:92
+msgid "bytes in use"
+msgstr "bajtĂłw w uĹĽyciu"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr "priorytet obszaru wymiany"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr "%s\t\t\t\tTyp\t\tRozmiar\tUĹĽyte\tPriorytet\n"
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr "Nazwa pliku"
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: ponowna inicjalizacja swapa."
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "wywołanie execv nie powiodło się"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: lseek nie powiódł się"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: zapis sygnatury nie powiódł się"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+"%s: znaleziono sygnaturę swapa: wersja %d, rozmiar strony %d, %s kolejność "
+"bajtĂłw"
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "inna"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "taka sama"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: niebezpieczne uprawnienia %04o, powinno być %04o."
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: niebezpieczny właściciel pliku %d, sugerowany 0 (root)."
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: pominięto - wydaje się mieć dziury."
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: odczyt rozmiaru nie powiódł się"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: odczyt nagłówka swapa nie powiódł się"
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr "%s: last_page 0x%08llx wynosi więcej niż rozmiar przestrzeni wymiany"
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: rozmiar strony formatu swapa nie zgadza siÄ™."
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+"%s: rozmiar strony formatu swapa nie zgadza siÄ™ (--fixpgsz pozwali to "
+"przeinicjować)."
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+"%s: wykryto dane programowego wstrzymania. Ponowny zapis sygnatury swapa."
+
+#: sys-utils/swapon.c:555
+#, c-format
+msgid "swapon %s\n"
+msgstr "swapon %s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s: swapon nie powiodło się"
+
+#: sys-utils/swapon.c:607
+#, c-format
+msgid "failed to parse %s"
+msgstr "nie udało się przeanalizować wpisu %s"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all włączenie wszystkich obszarów wymiany z /etc/fstab\n"
+" -d, --discard kasowanie zwolnionych stron przed ponownym uĹĽyciem\n"
+" -e, --ifexists pomijanie po cichu nie istniejących urządzeń\n"
+" -f, --fixpgsz ponowne inicjowanie obszaru wymiany w razie "
+"potrzeby\n"
+" -p, --priority <prio> określenie priorytetu urządzenia wymiany\n"
+" -s, --summary wyświetlenie podsumowania użycia urządzeń wymiany\n"
+" i zakończenie\n"
+" --show[=<kolumn>] wyświetlenie podsumowania w definiowalnej tabeli\n"
+" --noheadings bez wypisywania nagłówków, do stosowania z --show\n"
+" --raw surowy format wyjścia, do stosowania z --show\n"
+" --bytes rozmiar obszaru wymiany w bajtach w wyniku --show\n"
+" -v, --verbose tryb szczegółowych informacji\n"
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Parametr <spec>:\n"
+" -L <etykieta> synonim LABEL=<etykieta>\n"
+" -U <uuid> synonim UUID=<uuid>\n"
+" LABEL=<etykieta> określenie urządzenia wg etykiety obszaru wymiany\n"
+" UUID=<uuid> określenie urządzenia wg UUID-a obszaru wymiany\n"
+" PARTLABEL=<etykieta> określenie urządzenia wg etykiety partycji\n"
+" PARTUUID=<uuid> określenie urządzenia wg UUID-a partycji\n"
+" <urzÄ…dzenie> nazwa urzÄ…dzenia do uĹĽycia\n"
+" <plik> nazwa pliku do uĹĽycia\n"
+
+#: sys-utils/swapon.c:676
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr ""
+"\n"
+"Dostępne kolumny (dla --show):\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "nie można odnaleźć urządzenia dla %s"
+
+#: sys-utils/switch_root.c:57
+msgid "failed to open directory"
+msgstr "nie udało się otworzyć katalogu"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+msgid "stat failed"
+msgstr "stat nie powiodło się"
+
+#: sys-utils/switch_root.c:75
+msgid "failed to read directory"
+msgstr "nie udało się odczytać katalogu"
+
+#: sys-utils/switch_root.c:107
+#, c-format
+msgid "failed to unlink %s"
+msgstr "nie udało się usunąć %s"
+
+#: sys-utils/switch_root.c:144
+#, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "nie udało się zamontować przenosząc %s do %s"
+
+#: sys-utils/switch_root.c:146
+#, c-format
+msgid "forcing unmount of %s"
+msgstr "wymuszenie odmontowania %s"
+
+#: sys-utils/switch_root.c:152
+#, c-format
+msgid "failed to change directory to %s"
+msgstr "nie udało się zmienić katalogu na %s"
+
+#: sys-utils/switch_root.c:160
+#, c-format
+msgid "failed to mount moving %s to /"
+msgstr "nie udało się zamontować przenosząc %s do /"
+
+#: sys-utils/switch_root.c:166
+msgid "failed to change root"
+msgstr "nie udało się zmienić katalogu głównego"
+
+#: sys-utils/switch_root.c:185
+#, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr " %s [opcje] <nowy katalog główny> <init> <argumenty inita>\n"
+
+#: sys-utils/switch_root.c:217
+msgid "failed. Sorry."
+msgstr "nie powiodło się. Niestety."
+
+#: sys-utils/switch_root.c:220
+#, c-format
+msgid "cannot access %s"
+msgstr "nie można dostać się do %s"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr " -i, --irq <numer> określenie IRQ portu równoległego\n"
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+" -t, --time <ms> czas oczekiwania sterownika w milisekundach\n"
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+" -c, --chars <liczba> liczba znaków wyjściowych przed oczekiwaniem\n"
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr " -w, --wait <us> oczekiwanie strobe w mikrosekundach\n"
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr " -a, --abort <on|off> przerwanie programu po błędzie\n"
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+" -o, --check-status <on|off> sprawdzanie stanu drukarki przed drukowaniem\n"
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr " -C, --careful <on|off> dodatkowe sprawdzanie stanu\n"
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr " -s, --status zapytanie o stan drukarki\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+" -T, --trust-irq <on|off> włączenie wykorzystywania IRQ przez sterownik\n"
+
+#: sys-utils/tunelp.c:95
+msgid " -r, --reset reset the port\n"
+msgstr " -r, --reset reset portu\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr " -q, --print-irq <on|off> wyświetlenie bieżącego ustawienia IRQ\n"
+
+#: sys-utils/tunelp.c:109
+msgid "bad value"
+msgstr "błędna wartość"
+
+#: sys-utils/tunelp.c:271
+#, c-format
+msgid "%s not an lp device"
+msgstr "%s nie jest urzÄ…dzeniem lp"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "błąd LPGETSTATUS"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "Stan drukarki %s: %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", zajęta"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", gotowa"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", brak papieru"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", włączona"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", błąd"
+
+#: sys-utils/tunelp.c:312
+msgid "ioctl failed"
+msgstr "ioctl nie powiódł się"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "błąd LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s uĹĽywa IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s uĹĽywa odpytywania\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+" %1$s [-hV]\n"
+" %1$s -a [opcje]\n"
+" %1$s [opcje] <źródło> | <katalog>\n"
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+" -a, --all odmontowanie wszystkich systemĂłw plikĂłw\n"
+" -c, --no-canonicalize bez doprowadzania ścieżek do postaci kanonicznej\n"
+" -d, --detach-loop zwalnianie urządzeń loop przy odmontowywaniu ich\n"
+" --fake testowe uruchomienie; pominięcie wywołań umount(2)\n"
+" -f, --force wymuszenie odmontowania (w przyp. nieosiÄ…galnego "
+"NFS)\n"
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+" -i, --internal-only bez wywoływania programów pomocniczych umount."
+"<typ>\n"
+" -n, --no-mtab bez zapisu do /etc/mtab\n"
+" -l, --lazy odłączenie systemu plików od razu, sprzątanie "
+"później\n"
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+" -O, --test-opts <lista> ograniczenie zbioru systemĂłw plikĂłw (wraz z -a)\n"
+" -r, --read-only przemontowanie ro w przypadku niemożności "
+"odmontowania\n"
+" -t, --types <lista> ograniczenie zbioru typĂłw systemĂłw plikĂłw\n"
+" -v, --verbose informowanie o wykonywanych czynnościach\n"
+
+#: sys-utils/umount.c:179
+#, c-format
+msgid "%s: umount failed"
+msgstr "%s: odmontowanie nie powiodło się"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "%s: system plików odmontowany, ale mount(8) nie powiódł się"
+
+#: sys-utils/umount.c:202
+#, c-format
+msgid "%s: invalid block device"
+msgstr "%s: nieprawidłowe urządzenie blokowe"
+
+#: sys-utils/umount.c:208
+#, c-format
+msgid "%s: can't write superblock"
+msgstr "%s: nie można zapisać superbloku"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"%s: cel jest zajęty.\n"
+" (w niektĂłrych przypadkach informacje o procesach korzystajÄ…cych\n"
+" z urządzenia można znaleźć przy pomocy lsof(8) lub fuser(1))"
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr "%s: trzeba być superużytkownikiem, żeby odmontować"
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "%s: urzÄ…dzenia blokowe nie sÄ… dozwolone w systemie plikĂłw"
+
+#: sys-utils/umount.c:272
+msgid "failed to set umount target"
+msgstr "nie udało się ustawić celu odmontowania"
+
+#: sys-utils/unshare.c:60
+#, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr " %s [opcje] <program> [argumenty...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+" -m, --mount oddzielenie przestrzeni montowania\n"
+" -u, --uts oddzielenie przestrzeni UTS (nazwa hosta itp.)\n"
+" -i, --ipc oddzielenie przestrzeni SysV IPC\n"
+" -n, --net oddzielenie przestrzeni sieciowej\n"
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "unshare nie powiodło się"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr "Karta uprzednio zresetowała CPU"
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr "Zewnętrzne przekazywanie 1"
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr "Zewnętrzne przekazywanie 2"
+
+#: sys-utils/wdctl.c:47
+msgid "Fan failed"
+msgstr "Wentylator zawiódł"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr "OdpowiedĹş na ping keep-alive"
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr "Obsługa znaku magic-close"
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr "Reset z powodu przegrzania CPU"
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr "Nadmierne napięcie zasilania"
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr "Awaria zasilania"
+
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr "Wczesny limit czasu (w sekundach)"
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr "Ustawienie limitu czasu (w sekundach)"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr "nazwa flagi"
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr "opis flagi"
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr "stan flagi"
+
+#: sys-utils/wdctl.c:73
+msgid "flag boot status"
+msgstr "stan flagi po starcie"
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr "nazwa urzÄ…dzenia watchdog"
+
+#: sys-utils/wdctl.c:108
+#, c-format
+msgid "unknown flag: %s"
+msgstr "nieznana flaga: %s"
+
+#: sys-utils/wdctl.c:145
+#, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr " %s [opcje] [<urzÄ…dzenie> ...]\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+" -f, --flags <lista> wypisanie tylko wybranych flag\n"
+" -F, --noflags bez wypisywania informacji o flagach\n"
+" -I, --noident bez wypisywania informacji identyfikujÄ…cych "
+"watchdoga\n"
+" -n, --noheadings bez wypisywania nagłówków dla tabeli flag\n"
+" -O, --oneline wypisanie wszystkich informacji w jednej linii\n"
+" -o, --output <lista> kolumny wyjścia dla flag\n"
+" -r, --raw surowy format wyjścia dla tabeli flag\n"
+" -T, --notimeouts bez wypisywania limitĂłw czasu watchdoga\n"
+" -s, --settimeout <sek> ustawienie limitu czasu watchdoga\n"
+" -x, --flags-only wypisanie tylko tabeli flag (synonim -I -T)\n"
+
+#: sys-utils/wdctl.c:165
+#, c-format
+msgid "The default device is %s.\n"
+msgstr "Urządzenie domyślne to %s.\n"
+
+#: sys-utils/wdctl.c:168
+msgid "Available columns:\n"
+msgstr "Dostępne kolumny:\n"
+
+#: sys-utils/wdctl.c:254
+#, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: nieznane flagi 0x%x\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr "%s: urządzenie watchdog już w użyciu, zakończenie."
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s: nie udało się rozbroić watchdoga"
+
+#: sys-utils/wdctl.c:307
+#, c-format
+msgid "cannot set timeout for %s"
+msgstr "nie można ustawić limitu czasu dla %s"
+
+#: sys-utils/wdctl.c:345
+#, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s: nie udało się uzyskać informacji o watchdogu"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%-15s%2i s\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr "Limit czasu:"
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr "Wstępny limit czasu"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr "Pozostały czas:"
+
+#: sys-utils/wdctl.c:564
+msgid "Device:"
+msgstr "UrzÄ…dzenie:"
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%-15s%s [wersja %x]\n"
+
+#: term-utils/agetty.c:435
+#, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: nie można zmienić katalogu głównego %s: %m"
+
+#: term-utils/agetty.c:440
+#, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s: nie można zmienić katalogu roboczego %s: %m"
+
+#: term-utils/agetty.c:445
+#, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: nie można zmienić priorytetu procesu: %m"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: nie można wywołać %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, c-format
+msgid "failed to allocate memory: %m"
+msgstr "nie udało się przydzielić pamięci: %m"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "błędna wartość limitu czasu: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "błędna szybkość: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "zbyt dużo zamiennych szybkości"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: nie można otworzyć jako standardowe wejście: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: to nie jest urzÄ…dzenie znakowe"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: nie jest otwarte do odczytu i zapisu"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problem z dup: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr "Num Lock wyłączony"
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr "Num Lock włączony"
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr "Caps Lock włączony"
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr "Scroll Lock włączony"
+
+#: term-utils/agetty.c:1287
+#, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr ""
+"Uwaga: %s\n"
+"\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: read: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: przepełnienie wejścia"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %1$s [opcje] linia szybkość,... [typ_terminala]\n"
+" %1$s [opcje] szybkość,... linia [typ_terminala]\n"
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -8, --8bits przyjęcie terminala 8-bitowego\n"
+" -a, --autologin <uĹĽytkownik> automatyczne zalogowanie podanego uĹĽytkownika\n"
+" -c, --noreset bez resetowania trybu sterujÄ…cego\n"
+" -f, --issue-file <plik> wyświetlenie pliku wydania (issue)\n"
+" -h, --flow-control włączenie sprzętowej kontroli przepływu\n"
+" -H, --host <host> podanie hosta logowania\n"
+" -i, --noissue bez wyświetlania pliku wydania (issue)\n"
+" -I, --init-string <łańcuch> podanie łańcucha inicjującego\n"
+" -l, --login-program <plik> określenie programu login\n"
+" -L, --local-line wymuszenie linii lokalnej\n"
+" -m, --extract-baud wyciągnięcie szybkości w bodach przy "
+"połączeniu\n"
+" -n, --skip-login bez pytania o nazwÄ™ logowania\n"
+" -o, --login-options <opcje> opcje przekazywane do programu login\n"
+" -p, --loginpause oczekiwanie na dowolny klawisz przed "
+"logowaniem\n"
+" -R, --hangup wirtualne rozłączenie na terminalu\n"
+" -s, --keep-baud zachowanie szybkości w bodach po sygnale "
+"break\n"
+" -t, --timeout <liczba> limit czasu procesu login\n"
+" -U, --detect-case wykrywanie terminala z samymi wielkimi "
+"literami\n"
+" -w, --wait-cr oczekiwanie na znak powrotu karetki (CR)\n"
+" --noclear bez czyszczenia ekranu przed wypisaniem "
+"zachęty\n"
+" --nohints bez wypisywania podpowiedzi\n"
+" --nonewline bez wypisywania znaku nowej linii przed issue\n"
+" --no-hostname bez wyświetlania nazwy hosta\n"
+" --long-hostname wyświetlenie pełnej nazwy hosta (z domeną)\n"
+" --version wypisanie informacji o wersji i zakończenie\n"
+" --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "uĹĽytkownik"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "uĹĽytkownikĂłw"
+
+#: term-utils/mesg.c:74
+#, c-format
+msgid " %s [options] [y | n]\n"
+msgstr " %s [opcje] [y | n]\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose wyjaśnianie wykonywanych czynności\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: term-utils/mesg.c:121
+msgid "ttyname failed"
+msgstr "ttyname nie powiodło się"
+
+#: term-utils/mesg.c:128
+msgid "is y"
+msgstr "jest włączone (y)"
+
+#: term-utils/mesg.c:131
+msgid "is n"
+msgstr "jest wyłączone (n)"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, c-format
+msgid "change %s mode failed"
+msgstr "zmiana uprawnień %s nie powiodła się"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr "zapis na terminal uĹĽytkownika jest dozwolony"
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr "zapis na terminal uĹĽytkownika jest niedozwolony"
+
+#: term-utils/mesg.c:153
+#, c-format
+msgid "invalid argument: %s"
+msgstr "błędny argument: %s"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"plik wyjściowy `%s' jest dowiązaniem.\n"
+"Proszę użyć opcji --force, jeżeli naprawdę ma by użyty.\n"
+"Skrypt nie uruchomiony."
+
+#: term-utils/script.c:132
+#, c-format
+msgid " %s [options] [file]\n"
+msgstr " %s [opcje] [plik]\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --append dołączenie wyjścia\n"
+" -c, --command <polecenie> uruchomienie polecenia zamiast powłoki "
+"interaktywnej\n"
+" -e, --return zwrócenie kodu wyjścia procesu potomnego\n"
+" -f, --flush wywołanie flush po każdym zapisie\n"
+" --force użycie pliku wyjściowego nawet gdy jest "
+"dowiÄ…zaniem\n"
+" -q, --quiet tryb cichy\n"
+" -t, --timing[=<plik>] wypisanie danych czasowych na stderr (lub do "
+"pliku)\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Skrypt uruchomiony, plik to %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Skrypt uruchomiony %s"
+
+#: term-utils/script.c:401
+msgid "cannot write script file"
+msgstr "nie można zapisać pliku skryptu"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Skrypt wykonany %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Skrypt wykonany, plik to %s\n"
+
+#: term-utils/script.c:513
+msgid "openpty failed"
+msgstr "openpty nie powiodło się"
+
+#: term-utils/script.c:549
+msgid "out of pty's"
+msgstr "brak wolnych pty"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr "%s [-t] plik_czasĂłw [skrypt] [dzielnik]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -t, --timing <plik> plik wyjściowy czasów skryptu\n"
+" -s, --typescript <plik> plik wyjściowy sesji terminala skryptu\n"
+" -d, --divisor <ile> przyspieszenie lub zwolnienie wykonywania tyle "
+"razy\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "oczekiwano liczby, otrzymano '%s'"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "dzielnik '%s'"
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "zapis na standardowe wyjście nie powiódł się"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "nieoczekiwany koniec pliku %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "nie udało się odczytać pliku skryptu %s"
+
+#: term-utils/scriptreplay.c:185
+msgid "wrong number of arguments"
+msgstr "błędna liczba argumentów"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "nie udało się odczytać pliku czasów %s"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "plik czasĂłw %s: %lu: nieoczekiwany format"
+
+#: term-utils/setterm.c:674
+msgid "Argument error."
+msgstr "BĹ‚Ä…d argumentu."
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+" -term <nazwa_terminala>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-LICZBA_KONSOL>\n"
+" -append <1-LICZBA_KONSOL>\n"
+" -file plik_zrzutu\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq częstotliwość\n"
+" -version\n"
+" -help\n"
+
+#: term-utils/setterm.c:1072
+msgid "cannot force blank"
+msgstr "nie można wymusić wygaszenia"
+
+#: term-utils/setterm.c:1076
+msgid "cannot force unblank"
+msgstr "nie można wymusić braku wygaszenia"
+
+#: term-utils/setterm.c:1082
+msgid "cannot get blank status"
+msgstr "nie można odczytać stanu wygaszenia"
+
+#: term-utils/setterm.c:1094
+msgid "cannot (un)set powersave mode"
+msgstr "nie można włączyć/wyłączyć trybu oszczędzania energii"
+
+#: term-utils/setterm.c:1114
+#, c-format
+msgid "can not open dump file %s for output"
+msgstr "nie można otworzyć pliku zrzutu %s do zapisu"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+msgid "klogctl error"
+msgstr "błąd klogctl"
+
+#: term-utils/setterm.c:1205
+msgid "Error writing screendump"
+msgstr "BĹ‚Ä…d zapisu zrzutu ekranu"
+
+#: term-utils/setterm.c:1212
+#, c-format
+msgid "Couldn't read %s"
+msgstr "Nie można odczytać %s"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr "Nie zdefiniowano $TERM."
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr "nie znaleziono bazy danych terminfo"
+
+#: term-utils/setterm.c:1276
+#, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: nieznany typ sygnału"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr "terminal o trwałym zapisie"
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "zbyt dużo iov (trzeba zmienić kod w wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "zbyt długi argument"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "nie można wykonać fork"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr "%s: ZĹY BĹÄ„D, komunikat jest o wiele za dĹ‚ugi"
+
+#: term-utils/wall.c:83
+#, c-format
+msgid " %s [options] [<file>]\n"
+msgstr " %s [opcje] [<plik>]\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -n, --nobanner bez wypisywania nagłówka, tylko dla roota\n"
+" -t, --timeout <limit> limit czasu zapisu w sekundach\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr "--nobanner jest dostępne tylko dla roota"
+
+#: term-utils/wall.c:130
+#, c-format
+msgid "invalid timeout argument: %s"
+msgstr "błędna wartość limitu czasu: %s"
+
+#: term-utils/wall.c:202
+msgid "cannot get passwd uid"
+msgstr "nie można pobrać identyfikatora użytkownika z passwd"
+
+#: term-utils/wall.c:207
+msgid "cannot get tty name"
+msgstr "nie można pobrać nazwy terminala"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Zbiorowy komunikat od uĹĽytkownika %s@%s"
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr "odmowa czytania %s - użyte będzie standardowe wejście."
+
+#: term-utils/wall.c:275
+msgid "fread failed"
+msgstr "fread nie powiodło się"
+
+#: term-utils/write.c:81
+#, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr " %s [opcje] <uĹĽytkownik> [<nazwa terminala>]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr "nie znaleziono nazwy tty"
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr "prawo zapisu użytkownika jest wyłączone"
+
+#: term-utils/write.c:168
+#, c-format
+msgid "%s is not logged in on %s"
+msgstr "%s nie jest zalogowany na %s"
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr "%s ma wyłączone komunikaty na %s"
+
+#: term-utils/write.c:269
+#, c-format
+msgid "%s is not logged in"
+msgstr "%s nie jest zalogowany"
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr "%s ma wyłączone komunikaty"
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "%s jest zalogowany więcej niż raz; napisano na %s"
+
+#: term-utils/write.c:326
+#, c-format
+msgid "tty path %s too long"
+msgstr "ścieżka tty %s jest zbyt długa"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Komunikat od %s@%s (jako %s) na %s o %s..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Komunikat od %s@%s na %s o %s..."
+
+#: term-utils/write.c:372
+msgid "carefulputc failed"
+msgstr "carefulputc nie powiodło się"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -b, --no-backspaces bez wypisywania znaków cofnięcia (backspace)\n"
+" -f, --fine zezwolenie na przesunięcia o pół linii do przodu\n"
+" -p, --pass przekazywanie nieznanych sekwencji sterujÄ…cych\n"
+" -h, --tabs zamiana spacji na tabulacje\n"
+" -x, --spaces zamiana tabulacji na spacje\n"
+" -l, --lines LICZBA buforowanie co najmniej podanej liczby linii\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -H, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+"%s czyta ze standardowego wejścia i zapisuje na standardowe wyjście\n"
+"\n"
+
+#: text-utils/col.c:144
+msgid "write error."
+msgstr "błąd zapisu."
+
+#: text-utils/col.c:199
+msgid "bad -l argument"
+msgstr "błędny argument -l"
+
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr "uwaga: nie można cofnąć %s."
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "po pierwszej linii"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "- linia juĹĽ zapisana"
+
+#: text-utils/colcrt.c:314
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [opcje] [plik ...]\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -, --no-underlining pominięcie podkreśleń\n"
+" -2, --half-lines wypisywanie wszystkich połówek linii\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: text-utils/colrm.c:59
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [kolumna_początkowa [kolumna_końcowa]]\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: text-utils/colrm.c:185
+msgid "first argument"
+msgstr "pierwszy argument"
+
+#: text-utils/colrm.c:187
+msgid "second argument"
+msgstr "drugi argument"
+
+#: text-utils/column.c:90
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"Składnia: %s [opcje] [plik ...]\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+" -h, --help wyświetlenie tego opisu\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -c, --columns <szer> szerokość wyjścia w znakach\n"
+" -t, --table utworzenie tabeli\n"
+" -s, --separator <łańcuch> łańcuch rozdzielający dla tabeli\n"
+" -x, --fillrows wypełnianie wierszy przed kolumnami\n"
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"Więcej informacji można znaleźć w column(1).\n"
+
+#: text-utils/column.c:150
+msgid "invalid columns argument"
+msgstr "błędna szerokość kolumn"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr "linia %d jest zbyt długa, wyjście zostanie ucięte"
+
+#: text-utils/display.c:262
+msgid "all input file arguments failed"
+msgstr "wszystkie pliki przekazane jako argumenty zawiodły"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+"wywoływanie hexdump jako od jest przestarzałe; lepiej używać od z GNU "
+"coreutils."
+
+#: text-utils/hexsyntax.c:123
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [opcje] plik...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -b wyjście jednobajtowe ósemkowe\n"
+" -c wyjście jednobajtowe znakowe\n"
+" -C wyjście kanoniczne hex+ASCII\n"
+" -d wyjście dwubajtowe dziesiętne\n"
+" -o wyjście dwubajtowe ósemkowe\n"
+" -x wyjście dwubajtowe szesnastkowe\n"
+" -e format łańcuch formatujący określający format wyjścia\n"
+" -f plik_format plik zawierający łańcuchy formatujące\n"
+" -n długość interpretowanie tylko podanej liczby bajtów\n"
+" -s offset pominięcie podanej liczby bajtów z początku\n"
+" -v wypisywanie bez ściskania podobnych linii\n"
+" -V wypisanie informacji o wersji i zakończenie\n"
+"\n"
+
+#: text-utils/more.c:300
+#, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr ""
+"Składnia: %s [opcje] plik...\n"
+"\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+"Opcje:\n"
+" -d wyświetlenie opisu zamiast dźwięku dzwonka\n"
+" -f liczenie linii logicznych zamiast ekranowych\n"
+" -l bez pauzy po przewinięciu strony\n"
+" -p bez przewijania; czyszczenie ekranu i wypisanie tekstu\n"
+" -c bez przewijania; wypisanie tekstu i wyczyszczenie końców linii\n"
+" -u bez podkreślania\n"
+" -s ściskanie wielu pustych linii w jedną\n"
+" -ILE podanie liczby linii na ekran\n"
+" +NUMER wyświetlenie początku pliku od linii o podanym numerze\n"
+" +/ĹAĹCUCH wyĹ›wietlenie poczÄ…tku pliku od dopasowania do Ĺ‚aĹ„cucha\n"
+" -V wypisanie informacji o wersji i zakończenie\n"
+
+#: text-utils/more.c:540
+#, c-format
+msgid "more (%s)\n"
+msgstr "more (%s)\n"
+
+#: text-utils/more.c:544
+#, c-format
+msgid "unknown option -%s"
+msgstr "nieznana opcja -%s"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: katalog ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Nie jest plikiem tekstowym ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Klawisz q lub Q kończy]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Więcej--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Następny plik: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Spacja kontynuuje, 'q' kończy.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...wstecz stron: %d"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...wstecz 1 stronÄ™"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...pomijanie jednej linii"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...pomijanie linii: %d"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Wstecz***\n"
+"\n"
+
+#: text-utils/more.c:1339
+msgid "No previous regular expression"
+msgstr "Brak poprzedniego wyraĹĽenia regularnego"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"Większość poleceń opcjonalnie może być poprzedzona liczbą całkowitą k "
+"(domyślna\n"
+"w nawiasach).\n"
+"Gwiazdka (*) oznacza argument, który staje się nową wartością domyślną.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<spacja> Wyświetlenie następnych k linii tekstu [rozmiar "
+"ekranu]\n"
+"z Wyświetlenie następnych k linii tekstu [rozmiar "
+"ekranu]*\n"
+"<return> Wyświetlenie następnych k linii tekstu [1]*\n"
+"d lub Ctrl-D Przewinięcie k linii [rozmiar przewijania, pocz. 11]"
+"*\n"
+"q, Q lub <przerwanie> Zakończenie more\n"
+"s Przewinięcie o k linii tekstu w przód [1]\n"
+"f Przewinięcie o k ekranów tekstu w przód [1]\n"
+"b lub Ctrl-B Przewinięcie o k ekranów tekstu w tył [1]\n"
+"' Przejście do miejsca rozpoczęcia poprz. wyszukiwania\n"
+"= Wyświetlenie bieżącego numeru linii\n"
+"/<wyraĹĽenie regularne> Szukanie k. wystÄ…pienia wyraĹĽenia regularnego [1]\n"
+"n Szukanie k. wystÄ…pienia ostatniego wyr. regularnego "
+"[1]\n"
+"!<polec> lub :!<polec> Wykonanie <polecenia> w podpowłoce\n"
+"v Uruchomienie /usr/bin/vi na bieĹĽÄ…cej linii\n"
+"Ctrl-L Odrysowanie ekranu\n"
+":n Przejście do k. następnego pliku [1]\n"
+":p Przejście do k. poprzedniego pliku [1]\n"
+":f Wyświetlenie bieżącej nazwy pliku i numeru linii\n"
+". PowtĂłrzenie poprzedniego polecenia\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Klawisz 'h' wyświetla opis.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" linia %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Nie plik] linia %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Przepełnienie\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...pomijanie\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Nie znaleziono wzorca\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Nie znaleziono wzorca"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "exec nie powiodło się\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "nie można wykonać fork\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Przewijanie "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Przejście do pliku "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Przejście wstecz do pliku "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Linia zbyt długa"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Brak poprzedniego polecenia do podstawienia"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "linia zbyt długa"
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr "liczba bajtĂłw z wieloma znakami konwersji"
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "błędna liczba bajtów dla znaku konwersji %s"
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "%%s wymaga podania precyzji lub liczby bajtĂłw"
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr "błędny format {%s}"
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr "błędny znak konwersji %%%s"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+"-------------------------------------------------------\n"
+" h ten ekran\n"
+" q lub Q zakończenie programu\n"
+" <nowa linia> następna strona\n"
+" f przewinięcie strony w przód\n"
+" d lub ^D następne pół strony\n"
+" l następna linia\n"
+" $ ostatnia strona\n"
+" /wyr_reg/ szukanie wyraĹĽenia regularnego w przĂłd\n"
+" ?wyr_reg? lub ^wyr_reg^ szukanie wyrażenia regularnego w tył\n"
+" . lub ^L przerysowanie ekranu\n"
+" w lub z ustawienie rozmiaru strony i przejście na "
+"następną\n"
+" s nazwa_pliku zapisanie bieĹĽÄ…cego pliku pod podanÄ… nazwÄ…\n"
+" !polecenie wywołanie polecenia w powłoce\n"
+" p przejście do poprzedniego pliku\n"
+" n przejście do następnego pliku\n"
+"\n"
+"Wiele poleceń przyjmuje liczby poprzedzające, np.:\n"
+"+1<nowa linia> (następna strona); -1<nowa linia> (poprzednia strona);\n"
+"1<nowa linia> (pierwsza strona).\n"
+"\n"
+"Więcej informacji można znaleźć w pg(1).\n"
+"-------------------------------------------------------\n"
+
+#: text-utils/pg.c:224
+#, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr " %s [opcje] [+linia] [+/wzorzec/] [pliki]\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr " -liczba linii na stronÄ™\n"
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr " -c wyczyszczenie ekranu przed wyświetleniem\n"
+
+#: text-utils/pg.c:229
+msgid " -e do not pause at end of a file\n"
+msgstr " -e bez oczekiwania na końcu pliku\n"
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr " -f bez dzielenia długich linii\n"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr " -n przerwanie polecenia na nowej linii\n"
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr " -p <ciąg> określenie znaków zachęty\n"
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr " -r zablokowanie wyjścia do powłoki\n"
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr " -s wypisanie komunikatów na standardowe wyjście\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr " +liczba rozpoczęcie od podanej linii\n"
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr " +/wzorzec/ rozpoczęcie od linii zawierającej wzorzec\n"
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr " -h wyświetlenie tego opisu i zakończenie\n"
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr " -V wypisanie informacji o wersji i zakończenie\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: opcja musi mieć argument -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: błędna opcja -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...przewijanie w przĂłd\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...przewijanie w tył\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Brak następnego pliku"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Brak poprzedniego pliku"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: BĹ‚Ä…d odczytu z pliku %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Nieoczekiwany EOF w pliku %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Nieznany błąd w pliku %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Nie można utworzyć pliku tymczasowego\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "BĹ‚Ä…d wyraĹĽenia regularnego: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Brak zapamiętanego szukanego łańcucha"
+
+#: text-utils/pg.c:1313
+msgid "cannot open "
+msgstr "nie można otworzyć "
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "zapisano"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !polecenie nie jest dozwolone w trybie z opcjÄ… -r.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() nie powiódł się, proszę spróbować później\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+"%s %s Copyright (c) 2000-2001 Gunnar Ritter. Wszelkie prawa zastrzeĹĽone.\n"
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Następny plik: "
+
+#: text-utils/rev.c:77
+#, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Składnia: %s [opcje] [plik ...]\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"Więcej informacji można znaleźć w rev(1).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "niepełny zapis do \"%s\" (zapisano %zd, oczekiwano %zd)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+"%s: nie można dodać obserwatora inotify (osiągnięto limit obserwatorów)."
+
+#: text-utils/tailf.c:198
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [opcja] plik\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -n, --lines LICZBA wypisanie podanej LICZBY ostatnich linii\n"
+" -LICZBA to samo, `-n LICZBA'\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+msgid "failed to parse number of lines"
+msgstr "nie udało się przeanalizować liczby linii"
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr "nie podano pliku wejściowego"
+
+#: text-utils/ul.c:136
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr ""
+"\n"
+"Składnia:\n"
+" %s [opcje] [plik...]\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Opcje:\n"
+" -t, --terminal TERMINAL wymuszenie zmiennej środowiskowej TERM\n"
+" -i, --indicated podkreślanie oznaczone dodatkową linią\n"
+" -V, --version wypisanie informacji o wersji i zakończenie\n"
+" -h, --help wyświetlenie tego opisu i zakończenie\n"
+"\n"
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "problem z odczytem terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr "terminal `%s' jest nieznany, użycie domyślnego `dumb'"
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "nieznana sekwencja specjalna na wejściu: %o, %o"
+
+#: text-utils/ul.c:648
+msgid "Input line too long."
+msgstr "Linia wejściowa zbyt długa."
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
new file mode 100644
index 0000000..8b6b546
--- /dev/null
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 0000000..b65c446
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,18214 @@
+# Portuguese translation of the util-linux messages.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 1999-2000
+# Ricardo Stefani <ricardos@francanet.com.br>, 1999
+# Marcus Moreira <marcusms@frb.br>
+# Paulo Henrique R Pinheiro <nulo@sul.com.br>
+# <support@turbolinux.com>, 2000.
+# Alvaro Antunes <alvaro@netpar.com.br>, 2000
+# Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>, 2001
+#
+# Free redistribution is permitted.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.11b\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2001-05-24 16:03-03:00\n"
+"Last-Translator: Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>\n"
+"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.8\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "năo foi possível abrir %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "id inválido: %s\n"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "id inválido: %s\n"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "id inválido: %s\n"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "ler novamente tabela de partiçőes"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "configurar somente leitura"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "configurar leitura/gravaçăo"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "obter somente leitura"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+#, fuzzy
+msgid "get logical block (sector) size"
+msgstr "obter tamanho de setor"
+
+#: disk-utils/blockdev.c:93
+#, fuzzy
+msgid "get physical block (sector) size"
+msgstr "obter tamanho de setor"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "tamanho de inode inválido"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "Setores extras por cilindro: "
+
+#: disk-utils/blockdev.c:123
+#, fuzzy
+msgid "get blocksize"
+msgstr "obter tamanho"
+
+#: disk-utils/blockdev.c:130
+#, fuzzy
+msgid "set blocksize"
+msgstr "obter tamanho"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr ""
+
+#: disk-utils/blockdev.c:142
+#, fuzzy
+msgid "get size in bytes"
+msgstr "obter tamanho"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "configurar readahead"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "obter readahead"
+
+#: disk-utils/blockdev.c:162
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "configurar readahead"
+
+#: disk-utils/blockdev.c:168
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "obter readahead"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "descarregar buffers"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "ler novamente tabela de partiçőes"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "obter tamanho"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, fuzzy, c-format
+msgid "%s (%s)\n"
+msgstr "%s em %s\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Năo foi possível obter o tamanho do disco"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: comando desconhecido: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s exige um argumento\n"
+
+#: disk-utils/blockdev.c:370
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "busca falhou"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: erro de leitura em %s\n"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr ""
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "Uso: sfdisk --id dispositivo número-partiçăo [ID]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "ler novamente tabela de partiçőes"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "Uso:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatando..."
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "concluído\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Verificando..."
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Ler: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problema ao ler o cilindro %d: esperado %d, lido %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Dados inválidos no cilindro %d\n"
+"Continuando..."
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "(Próximo arquivo: %s)"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: năo é um dispositivo de disquetes\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Năo foi possível determinar o tipo de formataçăo atual"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s faces, %d trilhas, %d setores/trilha. Capacidade total de %d Kb.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Dupla"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Simples"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s está montado.\t"
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s: năo encontrado"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "năo foi possível stat %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "erro de busca"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Sincronizando discos.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr ""
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "busca falhou"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "erro de busca"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s: năo encontrado"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "o fork falhou\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "openpty falhou\n"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() falhou"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "erro ao gravar %s: %s"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s năo é um dispositivo lp.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr " l lista os tipos de sistemas de arquivos conhecidos"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Forçando verificaçăo do sistema de arquivos em %s.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: %s năo é um dispositivo lp.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s desmontado\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Desmontando quaisquer sistemas de arquivos remanescentes..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Desmontando quaisquer sistemas de arquivos remanescentes..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Mostra informaçőes de versăo\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:158
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s: năo é um dispositivo de disquetes\n"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Próximo arquivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: disk-utils/fsck.cramfs.c:188
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Número de setores"
+
+#: disk-utils/fsck.cramfs.c:193
+#, fuzzy
+msgid "zero file count"
+msgstr "para o arquivo"
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Aviso: a partiçăo %s se estende além do fim do disco\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+#, fuzzy
+msgid "crc error"
+msgstr ", erro"
+
+#: disk-utils/fsck.cramfs.c:324
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "inode raiz năo é um diretório"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr "deveria ser (%d, %d, %d)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "espaço usado: %d bytes\n"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Próximo arquivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "mount falhou"
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "mount falhou"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "bad timeout value: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() falhou: %m"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "tamanho de inode inválido"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "erro ao gravar %s: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync falhou"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:584
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "mount falhou"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:625
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "id inválido: %s\n"
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "umount: compilado sem suporte a -f\n"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file arquivo_descarga ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "é necessário um terminal para reparos interativos"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Mostra informaçőes de versăo\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s está montado.\t"
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Vocę realmente deseja continuar?"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "verificaçăo anulada.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, fuzzy, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Número de zona menor que FIRSTZONE no arquivo `"
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, fuzzy, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Número de zona maior ou igual a ZONES no arquivo `"
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Remover bloco"
+
+#: disk-utils/fsck.minix.c:362
+#, fuzzy, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Erro de leitura: năo foi possível buscar bloco no arquivo '"
+
+#: disk-utils/fsck.minix.c:368
+#, fuzzy, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Erro de leitura: bloco defeituoso no arquivo '"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Erro interno: tentando gravar bloco defeituoso.\n"
+"Solicitaçăo de gravaçăo ignorada.\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "busca falhou em write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, fuzzy, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Erro de gravaçăo: bloco defeituoso no arquivo '"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "busca falhou em write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "năo foi possível gravar superbloco"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Năo foi possível gravar mapa de inode"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Năo foi possível gravar mapa de zona"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Năo foi possível gravar inodes"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "busca falhou"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "năo foi possível alocar buffers para mapas"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "năo foi possível ler superbloco"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "número mágico inválido no superbloco"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Somente 1K blocos/zonas suportados"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "campo s_imap_blocks inválido no superbloco"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "campo s_zmap_blocks inválido no superbloco"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Năo foi possível alocar buffer para mapa de inodes"
+
+#: disk-utils/fsck.minix.c:600
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "Năo foi possível alocar buffer para mapa de inodes"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Năo foi possível alocar buffer para inodes"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Năo foi possível alocar buffer para contagem de inodes"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Năo foi possível alocar buffer para contagem de zonas"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Năo foi possível ler mapa de inodes"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Năo foi possível ler mapa de zonas"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Năo foi possível ler inodes"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Aviso: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blocos\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Primeira zona de dados = %ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Tamanho da zona = %d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Tamanho máximo = %ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Estado do sistema de arquivos = %d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"Comprimento do nome = %d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, fuzzy, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inode %d marcado como năo utilizado, mas usado pelo arquivo '"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Marca em uso"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, fuzzy, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr " tem modo %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Aviso: contagem de inodes grande demais.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "inode raiz năo é um diretório"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, fuzzy, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "O bloco já foi usado. Agora no arquivo `"
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Limpar"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, fuzzy, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "' está marcado como năo utilizado."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Correto"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, fuzzy, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr " contém um número de inode inválido para o arquivo '"
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Remover"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, fuzzy, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr ": diretório inválido: '.' năo é o primeiro\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, fuzzy, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr ": diretório inválido: '..' năo é o segundo\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "erro interno"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, fuzzy, c-format
+msgid "%s: bad directory: size < 32"
+msgstr ": diretório inválido: tamanho < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "busca falhou em bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "O modo do inode %d năo foi limpo."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr ""
+"O inode %d năo está sendo usado, mas está marcado como em uso no bitmap."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr ""
+"O inode %d está sendo usado, mas está marcado como năo utilizado no bitmap."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Configurar"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (modo = %07o), i_nlinks = %d, contados = %d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Configurar i_nlinks para contagem"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zona %d marcada em uso, mas nenhum arquivo a usa."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Desmarcar"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zona %d: %s em uso, contados = %d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zona %d: %s em uso, contados = %d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "tamanho de inode inválido"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "tamanho de inode v2 inválido"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "é necessário um terminal para reparos interativos"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "năo foi possível abrir %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s está limpo; sem verificaçăo.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Forçando verificaçăo do sistema de arquivos em %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "O sistema de arquivos em %s está sujo: precisa de verificaçăo\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes usados (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zonas usadas (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d arquivos regulares\n"
+"%6d diretórios\n"
+"%6d arquivos de dispositivos de caracteres\n"
+"%6d arquivos de dispositivos de blocos\n"
+"%6d vínculos\n"
+"%6d vínculos simbólicos\n"
+"------\n"
+"%6d arquivos\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------------\n"
+"O SISTEMA DE ARQUIVOS FOI ALTERADO\n"
+"----------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: erro de procura em %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: erro de leitura em %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "contagem de setor: %d, tamanho de setor: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "número `%s' inválido\n"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "nome de volume muito longo"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "fsname nome muito longo"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s năo é um dispositivo de blocos especial"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "id inválido: %s\n"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "parâmetros de bloco muito grandes, máximo é %lu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "muitos inodes - máximo é 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "pouco espaço, é necessário pelo menos %lu blocos"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositivo: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSname: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "TamBloco: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inodes: %d (em 1 bloco)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inodes: %d (em %ld blocos)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blocos: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode fim: %d, Dados fim: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "erro gravando superbloco"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "erro gravando inode root"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "erro gravando inodes"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "erro de busca"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "erro gravando . entrada"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "erro gravando .. entrada"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "erro fechando %s"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Uso: mkfs [-V] [-t tipoSistArq] [opçőes-sistArq] dispositivo [tamanho]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: disk-utils/mkfs.c:131
+#, fuzzy, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs versăo %s (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "inode raiz năo é um diretório"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: dispositivo de blocos inválido"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, fuzzy, c-format
+msgid "Including: %s\n"
+msgstr "id inválido: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:859
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "espaço usado: %d bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "Aviso: contagem de inodes grande demais.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "Aviso: contagem de inodes grande demais.\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Uso: %s [-c | -l NomeArquivo] [-nXX] [-iXX] dispositivo [blocos]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s está montado; năo criará um sistema de arquivos aqui!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "busca de bloco de boot falhou em write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "năo foi possível limpar o setor de boot"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "busca falhou em write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "năo foi possível gravar superbloco"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "năo foi possível gravar mapa de inodes"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "năo foi possível gravar mapa de zonas"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "năo foi possível gravar inodes"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "busca falhou em write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "gravaçăo falhou em write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "número excessivo de blocos defeituosos"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "năo há blocos sem problemas suficientes"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "năo foi possível alocar buffers para mapas"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "năo foi possível alocar buffers para mapas"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "năo foi possível alocar buffers para inodes"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld blocos\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Tamanho máximo = %ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "busca falhou durante teste de blocos"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Valores estranhos em do_check: provavelmente erros\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "busca falhou em check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"blocos defeituosos antes da área de dados: năo é possível criar sistema de "
+"arquivos"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d blocos defeituosos\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "um bloco defeituoso\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "năo foi possível abrir arquivo de blocos defeituosos"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "Năo foi possível ler a unidade de disco"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "tamanho de inode inválido"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "erro de strtol: número de blocos năo especificado"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "umount: %s: o dispositivo está ocupado"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "năo será tentado criar sistema de arquivos em '%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "Número de setores"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Tamanho de página especificado pelo usuário %d inválido\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Usando tamanho de página especificado pelo usuário %d, em vez dos valores do "
+"sistema %d/%d\n"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr ""
+
+#: disk-utils/mkswap.c:207
+#, fuzzy, c-format
+msgid "no label, "
+msgstr "rótulo"
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "número excessivo de páginas inválidas"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "busca falhou em check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "uma página inválida\n"
+
+#: disk-utils/mkswap.c:329
+#, fuzzy, c-format
+msgid "%lu bad pages\n"
+msgstr "%d páginas inválidas\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "năo foi possível alocar buffers para inodes"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "năo foi possível alocar buffers para inodes"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "năo foi possível limpar o setor de boot"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "năo foi possível limpar o setor de boot"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p mostra a tabela de partiçőes BSD"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s mostra o rótulo do disco completo"
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr " s mostra o rótulo do disco completo"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "busca falhou"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "semáforos alocados: %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s - erro: versăo %d desconhecida\n"
+
+#: disk-utils/mkswap.c:530
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr "Erro no fechamento de %s\n"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s - erro: nenhum lugar para ativar permuta (swap)?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "id inválido: %s\n"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: erro - tamanho %ld é maior do que o tamanho do dispositivo %d\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s - erro: a área de permuta (swap) precisa ter pelo menos %ld kB\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s -- aviso: reduzindo área de permuta (swap) para %ld kB\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s está montado; năo criará um sistema de arquivos aqui!"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Aviso: %s năo é um dispositivo de blocos\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Năo foi possível configurar espaço de permuta (swap): ilegível"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Configurando espaço de permuta (swap) versăo %d, tamanho = %ld bytes\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "Năo foi possível gravar a página de assinatura"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync falhou"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "năo foi possível stat %s"
+
+#: disk-utils/mkswap.c:656
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "năo foi possível gravar inodes"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "năo foi possível renomear %s para %s: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Número da partiçăo"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Mostrar somente a tabela de partiçőes"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "tabela de partiçőes (setor %lu) \n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Número de setores"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Número da partiçăo"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d partiçőes:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Gravando tabela de partiçőes no disco..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d partiçőes:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# tabela de partiçăo de %s\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "mount: năo foi possível localizar nenhum dispositivo de laço livre"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: será usado o dispositivo de laço %s\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: comando desconhecido: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "busca falhou em write_tables"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Aviso: excluindo partiçőes após %d\n"
+
+#: disk-utils/partx.c:267
+#, fuzzy, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "Aviso: excluindo partiçőes após %d\n"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Nenhuma partiçăo definida\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Esta partiçăo já existe.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Ignorando partiçăo estendida extra %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "năo está contida na partiçăo %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Aviso: as partiçőes %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Nenhuma partiçăo definida\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "busca falhou"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "ler novamente tabela de partiçőes"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p mostra a tabela de partiçőes BSD"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "O disco %s năo contém uma tabela de partiçőes válida\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Comandos disponíveis:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Năo foi possível excluir uma partiçăo vazia"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Năo foi possível bloquear o arquivo de bloqueio %s: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Aviso: %s năo é um dispositivo de blocos\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "năo foi possível verificar status de dispositivo %s"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "năo foi possível verificar status de dispositivo %s"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s năo é um dispositivo de caracteres"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s năo é um dispositivo de blocos especial"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "erro ao gravar %s: %s"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "erro ao gravar %s: %s"
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "Uso: sfdisk --id dispositivo número-partiçăo [ID]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "busca falhou em write_tables"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "ler novamente tabela de partiçőes"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: partiçăo inexistente\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s - erro: versăo %d desconhecida\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "busca falhou em write_tables"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: memória insuficiente!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Inutilizável"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Espaço livre"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "O disco foi alterado.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Reinicialize o sistema para assegurar que a tabela de partiçőes seja "
+"atualizada corretamente.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"AVISO: Se vocę tiver criado ou alterado qualquer\n"
+"partiçăo DOS 6.x, consulte a página de manual\n"
+"do cfdisk para obter informaçőes adicionais.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "ERRO FATAL"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Pressione qualquer tecla para sair do cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Năo foi possível realizar busca na unidade de disco"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Năo foi possível ler a unidade de disco"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Năo foi possível gravar na unidade de disco"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Número excessivo de partiçőes"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "A partiçăo começa antes do setor 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "A partiçăo termina antes do setor 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "A partiçăo começa depois do fim do disco"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "A partiçăo se estende até depois do fim do disco"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "partiçőes lógicas fora da ordem do disco"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "partiçőes lógicas sobrepostas"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "partiçőes lógicas aumentadas sobrepostas"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "!!!! Erro interno ao criar unidade lógica sem partiçăo estendida !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Năo é possível criar unidade lógica aqui -- criaria duas partiçőes estendidas"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Item de menu longo demais. O menu pode ficar com aspecto estranho."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Tecla ilegal"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Pressione uma tecla para continuar"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primária"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Cria uma nova partiçăo primária"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Lógica"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Cria uma nova partiçăo lógica"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Năo criar uma partiçăo"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Erro interno !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Tamanho (em MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Início"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Adicionar partiçăo no início do espaço livre"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Fim"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Adicionar partiçăo no final do espaço livre"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Espaço insuficiente para criaçăo de partiçăo estendida"
+
+#: fdisks/cfdisk.c:1389
+#, fuzzy
+msgid "No partition table.\n"
+msgstr "nenhuma tabela de partiçőes presente.\n"
+
+#: fdisks/cfdisk.c:1393
+#, fuzzy
+msgid "No partition table. Starting with zero table."
+msgstr "Mostrar tabela de partiçőes na tela ou imprimir em um arquivo"
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Assinatura inválida na tabela de partiçőes"
+
+#: fdisks/cfdisk.c:1407
+#, fuzzy
+msgid "Unknown partition table type"
+msgstr "nenhuma tabela de partiçőes presente.\n"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr ""
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+"Foram especificados mais cilindros do que a quantidade que cabe no disco"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Năo foi possível abrir a unidade de disco"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disco aberto somente para leitura - vocę năo tem permissăo para gravar"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Năo foi possível obter o tamanho do disco"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Partiçăo primária inválida"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Partiçăo lógica inválida"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Aviso!! Isto pode destruir dados existentes no disco!"
+
+#: fdisks/cfdisk.c:1699
+#, fuzzy
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Tem certeza de que deseja gravar a tabela de partiçőes no disco? (sim ou "
+"nao):"
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "nao"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "A tabela de partiçőes NĂO foi gravada no disco"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "sim"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Responda `sim' ou `nao'"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Gravando tabela de partiçőes no disco..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "A tabela de partiçőes foi gravada no disco"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Tabela de partiçőes gravada, mas a releitura da tabela falhou. Reinicialize "
+"para atualizar a tabela."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Năo existem partiçőes primárias marcadas como inicializáveis. MBR DOS năo "
+"pode inicializar isso."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Mais de uma partiçăo primária está marcada como inicializável. MBR DOS năo "
+"pode inicializar isso."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Digite um nome de arquivo ou pressione ENTER para exibir na tela: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unidade de disco: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Setor 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Setor %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Nenhum "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/lóg"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primária"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Lógica"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Desconhecido"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Inicializar"
+
+#: fdisks/cfdisk.c:1915
+#, fuzzy, c-format
+msgid "(%02X)"
+msgstr "Desc (%02X)"
+
+#: fdisks/cfdisk.c:1917
+#, fuzzy
+msgid "None"
+msgstr "Concluído"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabela de partiçőes de %s\n"
+
+#: fdisks/cfdisk.c:1954
+#, fuzzy
+msgid " First Last\n"
+msgstr " Prim. Últ.\n"
+
+#: fdisks/cfdisk.c:1955
+#, fuzzy
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tipo Setor Setor Desloc. Compr. Tipo sist. arqs. (ID) "
+"Opçőes\n"
+
+#: fdisks/cfdisk.c:1956
+#, fuzzy
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+
+#: fdisks/cfdisk.c:2039
+#, fuzzy
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " --- Início --- ---- Fim ---- Núm. inicial de\n"
+
+#: fdisks/cfdisk.c:2040
+#, fuzzy
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Ops. Cab. Set. Cil. ID Cab. Set. Cil. Setor Setores\n"
+
+#: fdisks/cfdisk.c:2041
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Brutos"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Mostrar a tabela usando formato de dados brutos"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Setores"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Mostrar a tabela ordenada por setores"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabela"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Mostrar somente a tabela de partiçőes"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Năo mostrar a tabela"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Tela de ajuda do cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+"Este é o cfdisk, um programa de particionamento de disco baseado em funçőes "
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "curses, que permite criar, excluir e alterar partiçőes na unidade"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "de disco rígido."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Comando Significado"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Alterna a opçăo da partiçăo atual como inicializável."
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Exclui a partiçăo atual."
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+" g Altera parâmetros de cilindros, cabeças, setores por trilha"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " AVISO: Esta opçăo só deve ser usada por pessoas que"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " saibam exatamente o que estăo fazendo."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Mostra esta tela."
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maximiza o uso de disco da partiçăo atual."
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Nota: Isto pode tornar a partiçăo incompatível com"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2 ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Cria uma nova partiçăo a partir do espaço livre."
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Mostra a tabela de partiçőes na tela ou em um arquivo."
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Pode-se selecionar diversos formatos diferentes para"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " uma partiçăo:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - Dados brutos (exatamente o que seria gravado no disco)."
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Tabela ordenada por setores."
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Tabela em formato bruto."
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Sai do programa sem gravar a tabela de partiçőes."
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Altera o tipo de sistema de arquivos."
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Altera unidades de exibiçăo do tamanho das partiçőes."
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Alterna entre MB, setores e cilindros."
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W Grava tabela de partiçőes no disco (é necessário usar W "
+"maiúsculo)."
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Como esta opçăo pode destruir dados no disco, vocę deve"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " confirmar ou cancelar a gravaçăo indicando `sim' ou"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " `năo'"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Seta p/ cima Move o cursor para a partiçăo anterior."
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Seta p/ baixo Move o cursor para a próxima partiçăo."
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Redesenha a tela."
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Mostra esta tela."
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Nota: Todos os comandos podem ser digitados em letras maiúsculas ou"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "minúsculas (exceto W)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cilindros"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Alterar geometria dos cilindros"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Cabeças"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Alterar geometria das cabeças"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Alterar geometria dos setores"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Concluído"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "A alteraçăo da geometria foi concluída"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Digite o número de cilindros: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Valor de cilindros inválido"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Digite o número de cabeças: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Valor de cabeças inválido"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Digite o número de setores por trilha: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Valor de setores inválido"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Năo foi possível alterar o tipo de sistema de arquivos para vazio"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Năo foi possível alterar o tipo de sistema de arquivos para estendido"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Desc (%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/lóg"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Desconhecido (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Disco: %s"
+
+#: fdisks/cfdisk.c:2488
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Tamanho: %lld bytes"
+
+#: fdisks/cfdisk.c:2491
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Tamanho: %lld bytes"
+
+#: fdisks/cfdisk.c:2495
+#, fuzzy, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Cabeças: %d Setores por Trilha: %d Cilindros: %d"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Nome"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Opçőes"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Tipo Part."
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Tipo SA"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Rótulo]"
+
+#: fdisks/cfdisk.c:2505
+#, fuzzy
+msgid " Sectors"
+msgstr " Setores"
+
+#: fdisks/cfdisk.c:2507
+#, fuzzy
+msgid " Cylinders"
+msgstr "Cilindros"
+
+#: fdisks/cfdisk.c:2509
+#, fuzzy
+msgid " Size (MB)"
+msgstr "Tam. (Mb)"
+
+#: fdisks/cfdisk.c:2511
+#, fuzzy
+msgid " Size (GB)"
+msgstr "Tam. (Gb)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Sem mais partiçőes"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Iniciali."
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Alterna a opçăo da partiçăo atual como inicializável"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Excluir"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Excluir a partiçăo atual"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Alterar a geometria do disco (somente para usuários avançados)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Ajuda"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Mostrar tela de ajuda"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maximize"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Maximizar o uso de disco para a partiçăo atual (somente para usuários "
+"avançados)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Nova"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Criar nova partiçăo a partir do espaço livre"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Mostre"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Mostrar tabela de partiçőes na tela ou imprimir em um arquivo"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Sair"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Sair do programa sem gravar a tabela de partiçőes"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Tipo"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Alterar o tipo do sistema de arquivos (DOS, Linux, OS/2 e outros)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Unidades"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Mudar unidades mostradas para o tamanho das partiçőes (MB, setores, "
+"cilindros)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Gravar"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Gravar tabela de partiçőes no disco (isto poderá destruir dados)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Năo foi possível tornar esta partiçăo inicializável."
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Năo foi possível excluir uma partiçăo vazia"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Năo foi possível maximizar esta partiçăo"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Esta partiçăo é inutilizável"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Esta partiçăo já está sendo usada"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Năo foi possível alterar o tipo de uma partiçăo vazia"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Comando inválido"
+
+#: fdisks/cfdisk.c:2736
+#, fuzzy, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2000 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Uso:\n"
+"Mostrar versăo:\n"
+" %s -v\n"
+"Mostrar tabela de partiçőes:\n"
+" %s -P {r|s|t} [opçőes] dispositivo\n"
+"Uso interativo:\n"
+" %s [opçőes] dispositivo\n"
+"\n"
+"Opçőes:\n"
+"-a: Usar seta em vez de realce.\n"
+"-z: Iniciar com uma tabela de zero partiçőes, em vez de ler a tabela do "
+"disco.\n"
+"-c C -h H -s S: Sobrepor as suposiçőes do kernel quanto a número de "
+"cilindros,\n"
+" número de cabeças e número de setores/trilha.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c alterar número de cilindros"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "năo foi possível abrir %s"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "năo foi possível abrir %s"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tExiste um rótulo AIX válido neste disco.\n"
+"\tInfelizmente, o Linux năo é capaz de manipular discos\n"
+"\tde tal tipo atualmente. Năo obstante, alguns\n"
+"\tconselhos:\n"
+"\t1. fdisk destruirá seu conteúdo na gravaçăo.\n"
+"\t2. Certifique-se de que o disco NĂO é mais uma parte vital\n"
+"\t de um grupo de volumes (do contrário, vocę poderá apagar\n"
+"\t também outros discos, se năo houver espelhamento).\n"
+"\t3. Antes de excluir este volume físico, certifique-se de\n"
+"\t remover o disco logicamente de sua máquina AIX\n"
+"\t (do contrário vocę irá se tornar um AIXpert)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Rótulo BSD do dispositivo: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Gravando rótulo de disco em %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Primeiro %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Último %s ou +tamanho ou +tamanho M ou +tamanho K"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s năo contém um rótulo de disco.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Vocę deseja criar um rótulo de disco? (s/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "A partiçăo %s possui setor inicial 0 inválido.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lendo rótulo de disco de %s no setor %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Năo existe partiçăo *BSD em %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Comando para rótulo de disco BSD (tecle m para obter ajuda): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tipo: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tipo: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disco: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "rótulo: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "opçőes:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " removable"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes/setor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "setores/trilha: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "trilhas/cilindro: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "setores/cilindro: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindros: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "RPM: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# milissegundos\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "busca trilha a trilha: %ld\t# milissegundos\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partiçőes:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# início fim tamanho tipoSA [fsize bsize cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "bytes/setor"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "setores/trilha"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "trilhas/cilindro"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cilindros"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "setores/cilindro"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Precisa ser <= setores/trilha * trilhas/cilindro (padrăo).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "RPM"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "busca trilha a trilha"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap (código de inicializaçăo): %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap (código de inicializaçăo) sobreposto ao rótulo do disco!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap (código de inicializaçăo) instalado em %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partiçăo (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "O número máximo de partiçőes foi criado\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Esta partiçăo já existe.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Aviso: número de partiçőes excessivo (%d; o máximo é %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Sincronizando discos.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a alterna a opçăo \"inicializável\""
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a alterna uma opçăo de somente leitura"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a torna a partiçăo inicializável"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a alterar número de cilindros alternativos"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b edita rótulo BSD no disco"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b edita uma entrada de arquivo de inicializaçăo"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b mover início dos dados em uma partiçăo"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c alterna a opçăo \"compatibilidade\""
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c alterna a opçăo \"montável\""
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c seleciona uma partiçăo de permuta (swap) sgi"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c alterar número de cilindros"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d exclui uma partiçăo"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d mostrar os dados sem formataçăo da tabela de partiçőes"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e alterar número de setores extras por cilindro"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e listar partiçőes estendidas"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e edita dados do disco"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f corrige ordem de partiçăo"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g criar uma tabela de partiçőes IRIX"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h alterar número de cabeças"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i alterar fator de \"interleave\""
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " u altera as unidades das entradas mostradas"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i instala código de inicializaçăo (bootstrap)"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l lista os tipos de partiçăo conhecidos"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m mostra este menu"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n cria uma nova partiçăo"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o cria uma nova tabela de partiçőes DOS vazia"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o alterar velocidade de rotaçăo (RPM)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Mostrar somente a tabela de partiçőes"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q sai sem salvar as alteraçőes"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r voltar ao menu principal"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s cria um novo rótulo de disco Sun vazio"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s alterar número de setores/trilha"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s mostra o rótulo do disco completo"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t altera a identificaçăo da partiçăo para o sistema"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u altera as unidades das entradas mostradas"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v verifica a tabela de partiçőes"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w grava a tabela no disco e sai"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w grava o rótulo do disco no disco"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x funcionalidade adicional (somente para usuários avançados)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x vincula partiçăo BSD a partiçăo năo BSD"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y alterar número de cilindros físicos"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "Năo foi possível ler %s\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Năo foi possível realizar busca em %s\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "Năo foi possível gravar em %s\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "ioctl BLKGETSIZE falhou em %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Erro fatal\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Comando - açăo"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Vocę precisa configurar"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "cabeças"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "setores"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Vocę pode fazer isto a partir do menu de funçőes extras.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " e "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Vocę realmente deseja continuar?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Código hexadecimal (digite L para listar os códigos): "
+
+#: fdisks/fdisk.c:606
+#, fuzzy, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%d-%d, padrăo %d):"
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, fuzzy, c-format
+msgid "Using default value %u\n"
+msgstr "Usando valor padrăo %d\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Valor fora do intervalo.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Número da partiçăo"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Aviso: a partiçăo %d possui tipo vazio\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, fuzzy, c-format
+msgid "Selected partition %d\n"
+msgstr "Ignorando partiçăo estendida extra %d\n"
+
+#: fdisks/fdisk.c:783
+#, fuzzy, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Nenhuma partiçăo definida\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cilindro"
+msgstr[1] "cilindro"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "setor"
+msgstr[1] "setor"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Mudando as unidades das entradas mostradas para %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Mudando as unidades das entradas mostradas para %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "AVISO: A partiçăo %d é uma partiçăo estendida\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "A opçăo de compatibilidade DOS está ativada\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "A opçăo de compatibilidade DOS năo está ativada\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "A partiçăo %d năo possui área de dados\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "A partiçăo %d ainda năo existe!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Tipo 0 significa espaço livre para muitos sistemas\n"
+"(mas năo para o Linux). Manter partiçőes\n"
+"tipo 0 năo é recomendável. Vocę pode excluir\n"
+"uma partiçăo usando o comando `d'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Vocę năo pode alterar uma partiçăo normal para estendida ou vice-versa.\n"
+"Exclua a partiçăo antes.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Considere manter a partiçăo 3 como disco inteiro (5),\n"
+"uma vez que o SunOS/Solaris espera isto e até mesmo o Linux gosta disto.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Considere manter a partiçăo 9 como cabeçalho de volume (0)\n"
+"e a partiçăo 11 como um volume inteiro (6), uma vez que o IRIX espera isto.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "O tipo da partiçăo %d foi alterado para %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "O tipo da partiçăo %d foi alterado para %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "A partiçăo %d possui inícios físico/lógico diferentes (năo Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fís. = (%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "lógico = (%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "A partiçăo %d possui fins físico/lógico diferentes:\n"
+
+#: fdisks/fdisk.c:982
+#, fuzzy, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "A partiçăo %d năo termina em um limite de cilindro.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "A partiçăo %i năo inicia em um limite de cilindro:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr "%d setores năo alocados\n"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "tamanho de inode inválido"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Nada a fazer. Ordem já está correta\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Concluído\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1198
+#, fuzzy, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Boot Início Fim Blocos Id Sistema\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Dispositivo"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partiçőes lógicas fora da ordem do disco\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, fuzzy, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "No OA Cb Set Cil Cb Set Cil Início Tam ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Aviso: a partiçăo %d contém o setor 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partiçăo %d: a cabeça %d é maior do que o máximo: %d\n"
+
+#: fdisks/fdisk.c:1304
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partiçăo %d: o setor %d é maior do que o máximo: %d\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partiçăo %d: o cilindro %d é maior do que o máximo: %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+"Partiçăo %d: os setores anteriores %d năo estăo de acordo com o total: %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "A partiçăo %d ainda năo existe!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Năo foi possível gravar na unidade de disco"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"A tabela de partiçőes foi alterada!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Chamando ioctl() para reler tabela de partiçőes.\n"
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"AVISO: Se vocę tiver criado ou alterado qualquer\n"
+"partiçăo DOS 6.x, consulte a página de manual\n"
+"do fdisk para obter informaçőes adicionais.\n"
+
+#: fdisks/fdisk.c:1393
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr "Erro no fechamento de %s\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Sincronizando discos.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "A partiçăo %d năo possui área de dados\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Novo início dos dados"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Comando avançado (m para ajuda): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Número de cilindros"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Número de cabeças"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Número de setores"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+"Aviso: configurando o deslocamento de setor para compatibilidade com DOS\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "năo foi possível abrir %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: comando desconhecido:\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Criando um novo rótulo de disco Sun. As alteraçőes permanecerăo\n"
+"somente em memória até que vocę decida gravá-las. Após isto, é claro,\n"
+"o conteúdo anterior năo poderá mais ser recuperado.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, fuzzy, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"Detectado um rótulo OSF/1 em %s, entrando em modo de rótulo.\n"
+"Para retornar ao modo de tabela de partiçőes do DOS, use o comando 'r'.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Comando (m para ajuda): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "id inválido: %s\n"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "id inválido: %s\n"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "id inválido: %s\n"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "id inválido: %s\n"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Aviso: a opçăo -b (configurar tamanho de setor) deve ser usada com um "
+"dispositivo especificado\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Nota: o tamanho do setor é %d (năo %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "O disco %s năo contém uma tabela de partiçőes válida\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, fuzzy, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Dentre as partiçőes primárias, pelo menos uma pode ser estendida\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Deslocamento inválido em uma partiçăo primária estendida\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Aviso: ponteiro de vínculo extra na tabela de partiçőes %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Aviso: ignorando dados extras na tabela de partiçőes %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Atençăo: partiçăo vazia\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ignorando partiçăo estendida extra %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Aviso: a opçăo inválida 0x%04x da tabela de partiçőes %d será corrigida por "
+"gravaçăo (w)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"A partiçăo %d já está definida. Exclua essa partiçăo antes de adicioná-la "
+"novamente.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "O setor %d já está alocado\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Năo há setores livres disponíveis\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Partiçăo lógica inválida"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Aviso: início de dados inválido na partiçăo %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Aviso: a partiçăo %d sobrepőe-se ŕ partiçăo %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Aviso: a partiçăo %d está vazia\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "A partiçăo lógica %d năo está completamente na partiçăo %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "O total de setores alocados, %d, é maior do que o máximo: %d\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%d setores năo alocados\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "partiçőes lógicas fora da ordem do disco"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, fuzzy, c-format
+msgid "All logical partitions are in use\n"
+msgstr "partiçőes lógicas fora da ordem do disco"
+
+#: fdisks/fdiskdoslabel.c:745
+#, fuzzy, c-format
+msgid "Adding a primary partition\n"
+msgstr "Partiçăo primária inválida"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l lógica (5 ou superior)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e estendida"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Usando valor padrăo %d\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Número de partiçăo inválido para o tipo `%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+#, fuzzy
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tExiste um rótulo AIX válido neste disco.\n"
+"\tInfelizmente, o Linux năo é capaz de manipular discos\n"
+"\tde tal tipo atualmente. Năo obstante, alguns\n"
+"\tconselhos:\n"
+"\t1. fdisk destruirá seu conteúdo na gravaçăo.\n"
+"\t2. Certifique-se de que o disco NĂO é mais uma parte vital\n"
+"\t de um grupo de volumes (do contrário, vocę poderá apagar\n"
+"\t também outros discos, se năo houver espelhamento).\n"
+"\t3. Antes de excluir este volume físico, certifique-se de\n"
+"\t remover o disco logicamente de sua máquina AIX\n"
+"\t (do contrário vocę irá se tornar um AIXpert)."
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "volhdr SGI"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "trkrepl SGI"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "secrepl SGI"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "raw SGI"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "bsd SGI"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "sysv SGI"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "volume SGI"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "efs SGI"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "lvol SGI"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "rlvol SGI"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "xfs SGI"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux nativa"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"De acordo com a MIPS Computer Systems, Inc., o rótulo năo pode conter mais "
+"do que 512 bytes\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Detectado rótulo de disco SGI com soma de verificaçăo incorreta.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (rótulo de disco SGI): %d cabeças, %d setores\n"
+"%d cilindros, %d cilindros físicos\n"
+"%d setores/cil extras, interleave %d:1\n"
+"%s\n"
+"Unidades = %s de %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (rótulo de disco SGI): %d cabeças, %d setores, %d cilindros\n"
+"Unidades = %s de %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, fuzzy, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- partiçőes -----\n"
+"%*s Info Início Fim Setores Id Sistema\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, fuzzy, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- informaçőes de inicializaçăo -----\n"
+"Arquivo de inicializaçăo: %s\n"
+"----- entradas de diretório -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s setor %5u tamanho %8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Arquivo de inicializaçăo inválido!\n"
+"\tO arquivo de inicializaçăo precisa corresponder a um caminho \n"
+"\tdiferente de zero; por exemplo, \"/unix\" ou \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNome de arquivo de inicializaçăo longo demais: o máximo permitido é de 16 "
+"bytes.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tO arquivo de inicializaçăo precisa ter um caminho totalmente qualificado.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tEsteja ciente de que a existęncia do arquivo de inicializaçăo năo\n"
+"\t é conferida. O padrăo da SGI é \"/unix\" e, para o backup, \"/unix.save"
+"\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"O arquivo de boot atual é: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Informe o nome do novo arquivo de boot: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Arquivo de boot inalterado\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tArquivo de inicializaçăo alterado para \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Mais do que uma entrada de disco inteiro presente.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nenhuma partiçăo definida\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "O IRIX gosta quando a partiçăo 11 abrange todo o disco.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"A partiçăo de disco inteiro deve iniciar no bloco 0,\n"
+"năo no bloco de disco %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"A partiçăo de disco inteiro tem um tamanho de apenas %d blocos de disco,\n"
+"mas o disco tem %d blocos de tamanho.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Uma partiçăo (nş 11) deve abranger todo o disco.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "A partiçăo %d năo inicia em um limite de cilindro.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "A partiçăo %d năo termina em um limite de cilindro.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "As partiçőes %d e %d se sobrepőem por %d setores.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, fuzzy, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Intervalo năo utilizado de %8d setores - setores %8d - %d\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"A partiçăo de inicializaçăo năo existe.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"A partiçăo de permuta năo existe.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"A partiçăo de permuta năo possui tipo de permuta.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tVocę escolheu um nome de arquivo de inicializaçăo incomum.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Somente o superusuário pode alterar o relógio de hardware.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Recomenda-se fortemente que a partiçăo no deslocamento 0 seja do\n"
+"tipo \"volhdr SGI\", já que o sistema IRIX irá usá-la para recuperar\n"
+"de seu diretório ferramentas independentes como o sash e o fx.\n"
+"Somente a seçăo de disco inteiro \"volume SGI\" pode violar isto.\n"
+"Digite SIM se tiver certeza de que deseja etiquetar esta partiçăo de modo "
+"diferente.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Existe uma sobreposiçăo de partiçőes no disco. Corrija-a antes!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Tentando gerar entrada de disco inteiro automaticamente.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "O disco inteiro já está coberto com partiçőes.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Existe uma sobreposiçăo de partiçőes no disco. Corrija-a antes!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Recomenda-se fortemente que a partiçăo 11\n"
+"cubra todo o disco e seja do tipo `volume SGI'\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Haverá uma sobreposiçăo de partiçőes no disco. Corrija-a antes!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Último %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "ioctl BLKGETSIZE falhou em %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tINÍCIO=%d\tCOMPRIMENTO=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Tentando manter os parâmetros da partiçăo %d.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "root SunOS"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "permuta SunOS"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "usr SunOS"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Disco inteiro"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "stand SunOS"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "var SunOS"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "home SunOS"
+
+#: fdisks/fdisksunlabel.c:40
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%d setores năo alocados\n"
+
+#: fdisks/fdisksunlabel.c:41
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "home SunOS"
+
+#: fdisks/fdisksunlabel.c:42
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "usr SunOS"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Detecçăo automática de RAID Linux"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Detectado rótulo de disco Sun com soma de verificaçăo incorreta.\n"
+"Provavelmente será necessário configurar todos os valores, isto é, cabeças, "
+"setores e\n"
+"partiçőes ou forçar um rótulo novo (comando s no menu principal).\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Detectado rótulo de disco SGI com soma de verificaçăo incorreta.\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Detectado rótulo de disco SGI com soma de verificaçăo incorreta.\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Detectado rótulo de disco SGI com soma de verificaçăo incorreta.\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Aviso: a opçăo inválida 0x%04x da tabela de partiçőes %d será corrigida por "
+"gravaçăo (w)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s năo contém um rótulo de disco.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Setores/trilha"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "A partiçăo %d năo termina em um limite de cilindro\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "A partiçăo %d sobrepőe-se a outras nos setores %d - %d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Intervalo năo utilizado - setores 0 - %d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Intervalo năo utilizado - setores %d - %d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Outras partiçőes já cobrem o disco inteiro.\n"
+"Exclua ou reduza algumas antes de tentar novamente.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Recomenda-se fortemente que a partiçăo 11\n"
+"cubra todo o disco e seja do tipo `volume SGI'\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "O setor %d já está alocado\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Vocę năo cobriu o disco inteiro com a terceira partiçăo, mas seu valor\n"
+"%d %s cobre alguma outra partiçăo. Sua entrada foi alterada\n"
+"para %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Se vocę deseja manter compatibilidade com SunOS/Solaris, considere deixar\n"
+"esta partiçăo como um disco inteiro (5), começando em 0, com %u setores\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Recomenda-se fortemente que a partiçăo no deslocamento 0\n"
+"seja do tipo UFS, sistema de arquivos EXT2FS ou permuta SunOs.\n"
+"Colocar a permuta do Linux ali pode destruir a tabela de partiçőes e\n"
+"travar a inicializaçăo.\n"
+"Digite SIM se tiver certeza de que deseja rotular esta partiçăo como 82 "
+"(permuta do Linux): "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (rótulo de disco Sun): %d cabeças, %d setores, %d RPM\n"
+"%d cilindros, %d cilindros alternativos, %d cilindros físicos\n"
+"%d setores extras/cilindro, interleave %d:1\n"
+"%s\n"
+"Unidades = %s de %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (rótulo de disco Sun): %d cabeças, %d setores, %d cilindros\n"
+"Unidades = %s de %d * 512 bytes\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Opçăo Início Fim Blocos Id Sistema\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Número de cilindros alternativos"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Setores extras por cilindro: "
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Fator de \"Interleave\""
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Velocidade de rotaçăo (RPM)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Número de cilindros físicos"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Vazia"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "root XENIX"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "usr XENIX"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 < 32 M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Estendida"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS ou NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX inicializável"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "Gerenc. Inicializ. OS/2"
+
+#: fdisks/i386_sys_types.c:17
+#, fuzzy
+msgid "W95 FAT32"
+msgstr "FAT32 Win95"
+
+#: fdisks/i386_sys_types.c:18
+#, fuzzy
+msgid "W95 FAT32 (LBA)"
+msgstr "FAT32 Win95 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+#, fuzzy
+msgid "W95 FAT16 (LBA)"
+msgstr "FAT16 Win95 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+#, fuzzy
+msgid "W95 Ext'd (LBA)"
+msgstr "Estendida Win95 (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 Escondida"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Diagnóstico Compaq"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 Escondida < 32 M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 Escondida"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS ou NTFS Escondida"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:28
+#, fuzzy
+msgid "Hidden W95 FAT32"
+msgstr "FAT32 Win 95 Escondida"
+
+#: fdisks/i386_sys_types.c:29
+#, fuzzy
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "FAT32 Win95 Escondida (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+#, fuzzy
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "FAT16 Win95 Escondida (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "DOS NEC"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "HPFS ou NTFS Escondida"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "Recuperaçăo do PartitionMagic"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "Boot PReP PPC"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2Ş parte"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3Ş parte"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "DM OnTrack"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "DM6 OnTrack Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "DM6 OnTrack Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "DM6 OnTrack"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Edisk Priam"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ou SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "Multi-Boot DiskSecure"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Minix antigo"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Linux antigo/Minix"
+
+#: fdisks/i386_sys_types.c:57
+#, fuzzy
+msgid "Linux swap / Solaris"
+msgstr "Linux swap"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "Unidade C: OS/2 oculta"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Estendida Linux"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "Conjunto de volumes NTFS"
+
+#: fdisks/i386_sys_types.c:63
+#, fuzzy
+msgid "Linux plaintext"
+msgstr "Linux ext2"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "Hibernaçăo IBM Thinkpad"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:73
+#, fuzzy
+msgid "NetBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "HPFS do OS/2"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "sist. arq. BSDI"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "permuta BSDI"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT16 < 32 M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Dados Năo-FS"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Utilitário Dell"
+
+#: fdisks/i386_sys_types.c:89
+#, fuzzy
+msgid "BootIt"
+msgstr "Inicializar"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "Acesso DOS"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "sist. arq. BeOS"
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS secundário"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "erro de busca em %s - năo foi possível buscar até %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "erro de busca: desejado 0x%08x%08x, obtido 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "erro de leitura em %s - năo foi possível ler o setor %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "erro de gravaçăo em %s - năo foi possível gravar no setor %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+"năo foi possível abrir o arquivo de salvamento de setor da partiçăo (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "erro de gravaçăo em %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "năo foi possível stat arquivo de restauraçăo de partiçăo (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"o arquivo de restauraçăo da partiçăo possui tamanho incorreto - năo "
+"restaurando\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "năo foi possível abrir o arquivo de restauraçăo de partiçăo (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "erro na leitura de %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "năo foi possível abrir o dispositivo %s para gravaçăo\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "erro na gravaçăo do setor %lu em %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disco %s: năo foi possível obter a geometria\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disco %s: năo foi possível obter o tamanho\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Aviso: início = %lu - Isto parece ser uma partiçăo e năo o disco\n"
+"inteiro. Usar fdisk nela provavelmente năo trará qualquer resultado\n"
+"(use a opçăo --force se realmente quiser realizar esta operaçăo).\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Aviso: HDIO_GETGEO informa que há %lu cabeças\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Aviso: HDIO_GETGEO informa que há %lu setores\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Aviso: BLKGETSIZE/HDIO_GETGEO informa que há %lu cilindros\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Aviso: número de setores improvável (%lu) - normalmente no máximo 63.\n"
+"Isto causará problemas a todo software que usar endereçamento Cil/Cab/"
+"Setor.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disco %s: %lu cilindros, %lu cabeças, %lu setores/trilha\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s da partiçăo %s possui valor impossível para cabeça: %lu (deveria estar "
+"entre 0 e %lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s da partiçăo %s possui valor impossível para setor: %lu (deveria estar "
+"entre 1 e %lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s da partiçăo %s possui valor impossível para o cilindro: %lu (deveria "
+"estar entre 0 e %lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Nome Id\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Relendo a tabela de partiçőes...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"O comando para reler a tabela de partiçőes falhou.\n"
+"Reinicialize o sistema agora, antes de usar o mkfs.\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Erro no fechamento de %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: partiçăo inexistente\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "formato năo reconhecido - usando setores\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "formato năo implementado - usando %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = cilindros de %lu bytes, blocos de 1024 bytes, contando a partir "
+"de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, fuzzy, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Disp Boot Início Fim Cils Blocos Id Sistema\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = setores de 512 bytes, contando a partir de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, fuzzy, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Disp Boot Início Fim Setores Id Sistema\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = blocos de 1024 bytes, contando a partir de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, fuzzy, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Disp Boot Início Fim Blocos Id Sistema\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = megabytes de 1048576 bytes, blocos of 1024 bytes, contando a "
+"partir de %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, fuzzy, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Disp Boot Início Fim MB Blocos Id Sistema\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tinício: (cil,cab,set) esperado (%ld,%ld,%ld) encontrado (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tfim: (cil,cab,set) esperado (%ld,%ld,%ld) encontrado (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "a partiçăo termina no cilindro %ld, além do final do disco\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Nenhuma partiçăo encontrada\n"
+
+#: fdisks/sfdisk.c:1118
+#, fuzzy, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Aviso: a primeira partiçăo parece ter sido feita\n"
+" para Cil/Cab/Set = */%ld/%ld (em vez de %ld/%ld/%ld).\n"
+"Para esta listagem será assumida aquela geometria.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "nenhuma tabela de partiçőes presente.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "estranho, somente %d partiçőes estăo definidas.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"Aviso: a partiçăo %s possui tamanho 0, mas năo está marcada como vazia\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Aviso: a partiçăo %s possui tamanho 0 e é inicializável\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Aviso: a partiçăo %s possui tamanho 0 e início diferente de zero\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "Aviso: a partiçăo %s contém parte da "
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Aviso: a partiçăo %d está vazia\n"
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Aviso: a partiçăo %s começa no setor 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Aviso: a partiçăo %s se estende além do fim do disco\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+#, fuzzy
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr "Dentre as partiçőes primárias, pelo menos uma pode ser estendida\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Aviso: a partiçăo %s năo inicia em um limite de cilindro\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Aviso: a partiçăo %s năo termina em um limite de cilindro\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Aviso: mais de uma partiçăo primária está marcada como inicializável "
+"(ativa).\n"
+"Isto năo faz diferença para o LILO, mas o MBR DOS năo inicializará este "
+"disco.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Aviso: normalmente o boot pode ser dado somente de partiçőes primárias.\n"
+"O LILO desconsidera o flag `inicializável'.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Aviso: nenhuma partiçăo primária está marcada como inicializável (ativa).\n"
+"Isto năo faz diferença para o LILO, mas o MBR DOS năo inicializará este "
+"disco.\n"
+
+#: fdisks/sfdisk.c:1362
+#, fuzzy
+msgid "start"
+msgstr "status"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partiçăo %s - início: (cil, cab, set) esperado (%ld,%ld,%ld) encontrado (%ld,"
+"%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+#, fuzzy
+msgid "end"
+msgstr "envio"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partiçăo %s - fim: (cil, cab, set) esperado (%ld,%ld,%ld) encontrado (%ld,"
+"%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "a partiçăo %s termina no cilindro %ld, além do fim do disco\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr "Aviso: deslocamento inicia na partiçăo extd de %ld para %ld\n"
+
+#: fdisks/sfdisk.c:1407
+#, fuzzy
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr "Aviso: a partiçăo extendida năo inicia em um limite de cilindro\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERRO: o setor %lu năo possui uma assinatura MS-DOS\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "número excessivo de partiçőes - ignorando aquelas além do nş %d\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "árvore de partiçőes?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Gerenciador de disco detectado - năo é possível tratar\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "Assinatura DM6 encontrada - desistindo\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "estranho... uma partiçăo estendida de tamanho 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "estranho... uma partiçăo BSD de tamanho 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, fuzzy, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: partiçăo năo reconhecida\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "a opçăo -n foi fornecida: nada foi alterado\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Năo foi possível salvar os setores antigos - abortando\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "linha de entrada longa demais ou incompleta - encerrando\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "erro de entrada: `=' esperado após o campo %s\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "erro de entrada: caractere inesperado %c após o campo %s\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "entrada năo reconhecida: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "número grande demais\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "lixo após o número\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "sem espaço para o descritor da partiçăo\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "năo foi possível criar a partiçăo estendida envoltória\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "número excessivo de campos de entrada\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Năo há espaço para mais\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Tipo inválido\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "Aviso: tamanho dado (%lu) excede o tamanho máximo permitido (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Atençăo: partiçăo vazia\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Aviso: início de partiçăo inválido (mais adiantado %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "opçăo de inicializaçăo năo reconhecida: selecione - ou *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "especificaçăo cil,cab,set parcial?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Partiçăo estendida năo está no lugar esperado\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "entrada inválida\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "Número excessivo de partiçőes\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Entrada no formato a seguir; campos ausentes recebem valor padrăo.\n"
+"<início> <tamanho> <tipo [E,S,L,X,hexa]> <inicializável [-,*]> <cil,cab,set> "
+"<cil,cab,set>\n"
+"Normalmente só é necessário especificar <início> e <tamanho> (e, talvez, "
+"<tipo>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Uso:"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partiçőes:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "opçőes perigosas:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g [ou --show-geometry]: mostra a suposiçăo do kernel sobre a geometria"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [ou --show-extended]: também lista partiçőes estendidas na saída\n"
+" ou espera descritores para elas na entrada"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Uso:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s dispositivo\t\tlista partiçőes as ativas no dispositivo\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s dispositivo n1 n2... ativa as partiçőes n1..., deixando inativas as "
+"demais\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+"%s -An dispositivo\n"
+" ativa a partiçăo n, desativa as demais\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Use a opçăo --force para cancelar todas as verificaçőes.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "nenhum comando?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "número `%s' inválido\n"
+
+#: fdisks/sfdisk.c:2752
+#, fuzzy, c-format
+msgid "total: %llu blocks\n"
+msgstr "total: %d blocos\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "Uso: sfdisk --print-id dispositivo número-partiçăo\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "Uso: sfdisk --change-id dispositivo número-partiçăo ID\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "Uso: sfdisk --id dispositivo número-partiçăo [ID]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "pode especificar somente um dispositivo (exceto com -l ou -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "năo foi possível abrir %s\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "năo foi possível abrir %s para leitura"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilindros, %ld cabeças, %ld setores/trilha\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "byte ativo inválido: 0x%x em vez de 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Concluído\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Vocę possui %d partiçőes primárias ativas. Isto năo faz diferença para o\n"
+"LILO, mas o MBR DOS só inicializará em discos com uma partiçăo ativa.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "a partiçăo %s possui ID %x e năo está escondida\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "ID inválida: %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Este disco está atualmente sendo usado.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Erro fatal: năo foi possível encontrar %s\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Aviso: %s năo é um dispositivo de blocos\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Verificando se ninguém está usando este disco no momento...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Este disco está sendo usado no momento. Reparticioná-lo provavelmente năo é "
+"uma boa idéia. Desmonte todos os sistemas de arquivos e faça swapoff de "
+"todas as partiçőes de permuta deste disco. Use a opçăo --no-reread para "
+"suprimir esta verificaçăo.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Use a opçăo --force para cancelar todas as verificaçőes.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Situaçăo antiga:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "A partiçăo %d năo existe; năo é possível alterá-la.\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Situaçăo nova:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Eu năo gosto destas partiçőes: nada foi alterado\n"
+"(se vocę realmente quiser usá-las, use a opçăo --force).\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Eu năo gosto disto - provavelmente vocę deveria responder Năo\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Vocę está satisfeito com isto? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Deseja gravar isto no disco? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Saindo - nada foi alterado\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Responda y, n ou q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Nova tabela de partiçőes gravada com sucesso\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Se vocę criou ou alterou uma partiçăo DOS, por exemplo, /dev/foo7, use dd"
+"(1)\n"
+"para zerar os primeiros 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 "
+"count=1\n"
+"(consulte fdisk(8)).\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Mostra informaçőes de versăo\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: erro de gravaçăo.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: As opçőes --utc e --localtime săo mutuamente exclusivas. Vocę "
+"especificou ambas.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() falhou"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "Uso: namei [-mx] nome_caminho [nome_caminho ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p telefone_comercial ]\n"
+"\t[ -h telefone_residencial ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Mostra informaçőes de versăo\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: vocę (usuário %d) năo existe.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: usuário \"%s\" năo existe.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "%s: só pode alterar entradas locais; use yp%s, em vez disso.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: \"%s\" năo está listado em /etc/shells\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "Năo foi possível obter o tempo-limite para %s: %s\n"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Alterando informaçőes de finger de %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Informaçőes de finger năo alteradas.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Abortado.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "campo longo demais.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "campo longo demais.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' năo é permitido.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' năo é permitido.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: caracteres de controle năo săo permitidos.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Caracteres de controle năo săo permitidos.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr ""
+"As informaçőes de finger *NĂO* foram alteradas. Tente novamente mais tarde.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+" -s, --shell=shell Configura as convençőes de aspas do "
+"interpretador de comandos\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "%s: só pode alterar entradas locais; use yp%s, em vez disso.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: \"%s\" năo está listado em /etc/shells\n"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+"%s: Seu interpretador de comandos năo está em /etc/shells; mudança de "
+"interpretador de comandos negada.\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Alterando o interpretador de comandos para o usuário %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Novo interpretador de comandos"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "O interpretador de comandos NĂO foi alterado.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"O interpretador de comandos *NĂO* foi alterado. Tente novamente mais tarde.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Interpretador de comandos alterado.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr ""
+"%s: o interpretador de comandos precisa ser um nome de caminho completo.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" năo existe.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" năo é executável.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Aviso: \"%s\" năo está listado em /etc/shells.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" năo está listado em /etc/shells\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Nenhum interpretador de comandos conhecido.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "Uso: last [-#] [-f arquivo] [-t tty] [-h nome_host] [usuário ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "busca falhou"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " ainda conectado"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp inicia %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "Erro no fechamento de %s\n"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interrompido %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "Tempo de login esgotado após %d segundos\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "mount: năo foi possível abrir %s: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s năo é um dispositivo de blocos especial"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "mount falhou"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() falhou: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Último login: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "a partir de %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "em: %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "A abertura de %s falhou"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DISCAGEM EM %s POR %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "LOGIN COMO ROOT EM %s A PARTIR DE %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "LOGIN COMO ROOT EM %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN EM %s POR %s A PARTIR DE %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN EM %s POR %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "login: falha de PAM; abortando: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Năo foi possível inicializar o PAM: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "LOGIN FALHOU: %d A PARTIR DE %s PARA %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login incorreto\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr ""
+"NÚMERO EXCESSIVO DE TENTATIVAS DE LOGIN (%d) A PARTIR DE %s PARA %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "SESSĂO DE LOGIN FALHOU: A PARTIR DE %s PARA %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login incorreto\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h somente pode ser especificado pelo superusuário.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr "Uso: last [-#] [-f arquivo] [-t tty] [-h nome_host] [usuário ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr "Erro no fechamento de %s\n"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() falhou"
+
+#: login-utils/login.c:1412
+#, fuzzy, c-format
+msgid "You have new mail.\n"
+msgstr "Vocę tem mensagens %s na caixa de correio.\n"
+
+#: login-utils/login.c:1414
+#, fuzzy, c-format
+msgid "You have mail.\n"
+msgstr "Vocę tem mensagens %s na caixa de correio.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() falhou"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "busca falhou"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Fazendo login com home = \"/\".\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr ""
+"login: năo foi possível executar o script do interpretador de comandos: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Interpretador de comandos inexistente"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Valor de intervalo inválido: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Senha:"
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: grupo inexistente."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Quem é vocę?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() falhou"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: grupo inexistente."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: permissăo negada"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() falhou"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "exec falhou\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "năo foi possível abrir %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "năo foi possível remover id %s (%s)\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: năo foi possível obter o diretório atual - %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "Năo foi possível configurar manipulador de sinal"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "busca falhou"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Senha incorreta."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "năo foi possível stat %s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Tente `getopt --help' para maiores informaçőes.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "Uso: %s programa [arg ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: usuário \"%s\" năo existe.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: năo foi possível obter o diretório atual - %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: năo está aberto para leitura/gravaçăo"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: năo está aberto para leitura/gravaçăo"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: o arquivo %s está ocupado.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Vocę realmente deseja continuar?"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "busca falhou"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "exec falhou\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "busca falhou"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "busca falhou"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "busca falhou"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "id inválido: %s\n"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: operaçăo exclusiva de root"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "inode raiz năo é um diretório"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "fsync falhou"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "busca falhou"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: năo foi possível abrir %s: %s\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: năo foi possível abrir arquivo temporário.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: năo foi possível renomear %s para %s. falha: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "Năo foi possível obter o tempo-limite para %s: %s\n"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "Năo foi possível obter o tempo-limite para %s: %s\n"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s inalterado\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "năo foi possível realizar fork"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: nenhuma alteraçăo realizada\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Vocę está usando grupos sombra (shadow) neste sistema\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Vocę está usando senhas sombra (shadow) neste sistema\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Vocę gostaria de editar %s agora [s/n]"
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Valor de cabeças inválido"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "valor de ano inválido: use 1-9999"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "valor de męs inválido: use 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "valor de ano inválido: use 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "Uso: cal [-mjyV] [[męs] ano]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Uso: %s [+formato] [dia męs ano]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Dia de Săo Tib"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "năo foi possível abrir %s"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "dispositivo de blocos "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "opçőes úteis:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Número da partiçăo"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: comando desconhecido: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "read %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Remover"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "desconhecida"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "erro de busca"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: năo foi possível ler %s.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc falhou"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Comandos disponíveis:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "O diretório %s năo existe!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "id inválido: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "opçăo longa vazia depois de argumento -l ou --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "interpretador de comandos desconhecido após argumento -s ou --shell"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [opçőes] -o|--opçőes texto_opçőes [opçőes] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Permite opçőes longas iniciando com um único "
+"-\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Mostra este pequeno guia de uso\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=ops_longas Opçőes longas a serem reconhecidas\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name=nome_prog O nome sob o qual erros săo reportados\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=texto_opçőes Opçőes curtas a serem reconhecidas\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet Desativa a exibiçăo de erros por getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Sem saída normal\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell=shell Configura as convençőes de aspas do "
+"interpretador de comandos\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Teste de versăo de getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote Năo quota a saída\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Mostra informaçőes de versăo\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "faltou o argumento texto_opçőes"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "erro interno, entre em contato com o autor."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "id inválido: %s\n"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: năo foi possível localizar o processo \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: sinal desconhecido %s; sinais válidos:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Uso: %s [ -s sinal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ sinal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: nome de recurso desconhecido: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: nome de prioridade desconhecido: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "nome de login longo demais.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "TamBloco: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "nfs connect"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "nfs socket"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "nfs connect"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Próximo arquivo: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "id inválido: %s\n"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Número da partiçăo"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "estado da rota falhou\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "configurar somente leitura"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " removable"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "estado da rota falhou\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Nome de usuário inválido"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "tamanho de inode inválido"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "obter tamanho de setor"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "obter tamanho de setor"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "tamanho de inode inválido"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " u altera as unidades das entradas mostradas"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount: %s: dispositivo de blocos desconhecido"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Comandos disponíveis:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "estado da rota falhou\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "desconhecida"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "id inválido: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Obtidos %d bytes de %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "exec falhou\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "inode raiz năo é um diretório"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "Uso: namei [-mx] nome_caminho [nome_caminho ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "fsname nome muito longo"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: năo foi possível renomear %s para %s. falha: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: argumento inválido para -l %s.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "Gravar"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "read %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "năo foi possível stat %s"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Năo foi possível abrir %s: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Năo foi possível abrir %s: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Năo foi possível abrir %s: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Erro ao ler %s\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "id inválido: %s\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "id inválido: %s\n"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "Número inválido: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "erro ao alterar o modo de %s: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Năo foi possível abrir %s: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "Erro no fechamento de %s\n"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: năo encontrado"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "id inválido: %s\n"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "Aviso: erro ao ler %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "Aviso: năo foi possível abrir %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: năo foi possível abrir %s - usando %s\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"năo foi possível criar o arquivo de bloqueio %s: %s (use a opçăo -n para "
+"anular)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"năo foi possível vincular o arquivo de bloqueio %s: %s (use a opçăo -n para "
+"anular)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"năo foi possível abrir o arquivo de bloqueio %s: %s (use a opçăo -n para "
+"anular)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Năo foi possível bloquear o arquivo de bloqueio %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "năo foi possível bloquear o arquivo de bloqueio %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "tempo esgotado"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Năo foi possível criar o vínculo %s\n"
+"Talvez haja um arquivo de bloqueio vencido?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "Năo foi possível abrir %s (%s) - mtab năo atualizado"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "erro ao gravar %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "swapon: năo foi possível stat %s: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "erro ao alterar o modo de %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "erro ao alterar o modo de %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "năo foi possível renomear %s para %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: năo foi possível localizar %s em %s ou %s"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: de acordo com mtab, %s já está montado em %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: de acordo com mtab, %s está montado em %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: năo foi possível abrir %s para gravaçăo: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: erro ao gravar %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: erro ao alterar modo de %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: năo foi possível realizar fork: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Experimentando %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: năo foi especificado um tipo de sistema de arquivos para %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " experimentarei todos os tipos mencionados em %s ou %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " e parece ser um espaço de permuta\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " experimentarei o tipo %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s parece espaço de permuta - năo montado"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "mount falhou"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: somente o root pode montar %s em %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: dispositivo de laço especificado duas vezes"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: tipo especificado duas vezes"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: ignorando a configuraçăo de um dispositivo de laço\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: será usado o dispositivo de laço %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "Valor definido inválido: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "Valor definido inválido: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: de acordo com mtab, %s já está montado em %s"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "Năo é possível bloquear (lock) na memória, saindo\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: falha ao configurar dispositivo de laço\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: será usado o dispositivo de laço %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: falha ao configurar dispositivo de laço\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: falha ao configurar dispositivo de laço\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: configuraçăo de dispositivo de laço realizada com sucesso\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: nenhum %s encontrado - criando-o...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount-deprecated/mount.c:1470
+#, fuzzy, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: năo foi possível abrir %s para configuraçăo da velocidade"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: mount-deprecated/mount.c:1564
+#, fuzzy, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: de acordo com mtab, %s já está montado em %s"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: %s está ocupado - remontado somente para leitura\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: %s está ocupado - remontado somente para leitura\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: năo foi possível determinar o tipo do sistema de arquivos e nenhum "
+"foi especificado"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: vocę precisa especificar o tipo do sistema de arquivos"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: a montagem falhou"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: o ponto de montagem %s năo é um diretório"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: permissăo negada"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: é necessário ser superusuário para montar"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s está ocupado"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc já montado"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s já montado ou %s ocupado"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: o ponto de montagem %s năo existe"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: o ponto de montagem %s é um vínculo simbólico para lugar algum"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: o dispositivo especial %s năo existe"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: o dispositivo especial %s năo existe\n"
+" (um prefixo de caminho năo é um diretório)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s já năo está montado ou opçăo inválida"
+
+#: mount-deprecated/mount.c:1758
+#, fuzzy, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: tipo de sistema de arquivos incorreto, opçăo inválida, superbloco "
+"inválido em %s,\n"
+" ou número excessivo de sistemas de arquivos montados"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "tabela de montagem cheia"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: năo foi possível ler o superbloco"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: dispositivo de blocos desconhecido"
+
+#: mount-deprecated/mount.c:1805
+#, fuzzy, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr " l lista os tipos de sistemas de arquivos conhecidos"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: provavelmente vocę queria dizer %s"
+
+#: mount-deprecated/mount.c:1820
+#, fuzzy
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: talvez vocę quisesse dizer iso9660?"
+
+#: mount-deprecated/mount.c:1823
+#, fuzzy
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: talvez vocę quisesse dizer iso9660?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s possui número de dispositivo incorreto ou o tipo de sistema de "
+"arquivos %s năo é suportado"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s năo é um dispositivo de blocos e stat falha?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: o kernel năo reconhece %s como dispositivo de blocos\n"
+" (talvez `insmod driver'?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s năo é um dispositivo de blocos (talvez tentar `-o loop'?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s năo é um dispositivo de blocos"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s năo é um dispositivo de blocos válido"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "dispositivo de blocos "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: năo foi possível montar %s%s somente para leitura"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s é protegido contra gravaçăo mas a opçăo -w foi passada"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: năo foi possível montar %s%s somente para leitura"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s é protegido contra gravaçăo; montando somente para leitura"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s já montado em %s\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: nenhum tipo foi fornecido - supondo nfs por causa dos dois-pontos\n"
+
+#: mount-deprecated/mount.c:1987
+#, fuzzy, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: nenhum tipo foi fornecido - supondo nfs por causa dos dois-pontos\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s já montado em %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, fuzzy, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Uso: mount -V : mostra versăo\n"
+" mount -h : mostra esta ajuda\n"
+" mount : lista sistemas de arquivos montados\n"
+" mount -l : idem, incluindo rótulos de volumes\n"
+"Estas eram as opçőes de informaçăo. Agora as de montagem.\n"
+"O comando é `mount [-t tipoSA] alguma-coisa algum-lugar'.\n"
+"Detalhes encontrados em /etc/fstab podem ser omitidos.\n"
+" mount -a : monta tudo contido em /etc/fstab\n"
+" mount dispositivo : monta dispositivo no lugar conhecido\n"
+" mount diretório : monta dispositivo conhecido aqui\n"
+" mount -t tipo dev dir : comando normal de montagem\n"
+"Note que năo se monta realmente um dispositivo, monta-se um\n"
+"sistema de arquivos (de um determinado tipo) encontrado no dispositivo.\n"
+"Pode-se montar também em outro lugar uma árvore de diretórios \n"
+"anteriormente visível:\n"
+" mount --bind dir-antigo dir-novo\n"
+"Um dispositivo pode ser informado pelo nome, digamos /dev/hda1 ou /dev/"
+"cdrom,\n"
+"ou por um rótulo, usando -L rótulo ou por uuid, usando -U uuid.\n"
+"Outras opçőes: [-nfFrsvw] [-o opçőes].\n"
+"Para mais detalhes, consulte `man 8 mount'.\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: operaçăo exclusiva de root"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: operaçăo exclusiva de root"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: tal partiçăo năo foi encontrada"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: năo foi possível localizar %s em %s ou %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: aviso: năo há nova linha final no final de %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: linha %d em %s tem %s inválido(a)\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; resto do arquivo ignorado"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "erro na chamada a xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "năo há memória suficiente"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: compilado sem suporte a -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: mount-deprecated/umount.c:171
+#, fuzzy, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount: năo foi possível realizar fork: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: dispositivo de blocos inválido"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: năo montado"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: năo foi possível gravar superbloco"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: năo encontrado"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: precisa ser superusuário para desmontar"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+"umount: %s: dispositivos de blocos năo permitidos no sistema de arquivos"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: năo foi possível mudar para o diretório %s - %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: năo foi possível obter o diretório atual - %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: o ponto de montagem %s năo existe"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "năo existe umount2, tentando umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s está ocupado - remontado somente para leitura\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: năo foi possível remontar %s somente para leitura\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s desmontado\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+"umount: năo foi possível localizar a lista de sistemas de arquivos a "
+"desmontar"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Uso: umount [-hV]\n"
+" umount -a [-f] [-r] [-n] [-v] [-t tipos_sist_arq_virt]\n"
+" umount [-f] [-r] [-n] [-v] especial | nó...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "O setor %d já está alocado\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "O setor %d já está alocado\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "Năo foi possível abrir %s\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Tentando desmontar %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Năo foi possível localizar %s em mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "O setor %d já está alocado\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s năo está montado (de acordo com mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: parece que %s está montado múltiplas vezes"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s năo está na fstab (e vocę năo é root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: a montagem de %s năo está de acordo com a fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: somente %s pode desmontar %s de %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: operaçăo exclusiva de root"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS sobre TCP năo é suportado.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: năo foi possível localizar \"_stext\" em %s\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "id inválido: %s\n"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty falhou\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty falhou\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "id inválido: %s\n"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "id inválido: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: comando desconhecido: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "%s: comando desconhecido: %s\n"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "exec falhou\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "Uso: %s programa [arg ...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "Erro no fechamento de %s\n"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "malloc falhou"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "busca falhou"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" năo existe.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "O setor %d já está alocado\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "O setor %d já está alocado\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" năo é executável.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "O setor %d já está alocado\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "O setor %d já está alocado\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "A configuraçăo automática falhou.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "A configuraçăo automática falhou.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "número `%s' inválido\n"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Uso: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+"É necessário ser root para configurar o comportamento de Ctrl-Alt-Del.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld é o limiar %s e %ld é o tempo-limite %s\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Mostra este pequeno guia de uso\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Arquivo %s, para o valor de limiar de %lu, o número máximo de caracteres em "
+"fifo era de %d\n"
+"e a taxa de transferęncia máxima, em caracteres por segundo, era de %f.\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Arquivo %s, para o valor de limiar de %lu e valor de tempo-limite de %lu, o "
+"número máximo de caracteres em fifo era de %d\n"
+"e a taxa de transferęncia máxima, em caracteres por segundo, era de %f.\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday falhou"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "Năo foi possível emitir CYGETMON em %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Năo foi possível obter o limiar para %s: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Năo foi possível obter o tempo-limite para %s: %s\n"
+
+#: sys-utils/cytune.c:247
+#, fuzzy, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ints, %lu chars; fifo: %lu limiar, %lu tempo-limite, %lu máx, %lu "
+"agora\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f int/s; %f recebidos, %f enviados (char/s)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ints, %lu chars; fifo: %lu limiar, %lu tempo-limite, %lu máx, %lu "
+"agora\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f int/s; %f recebidos (char/s)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Valor de intervalo inválido: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Valor de intervalo inválido: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Valor definido inválido: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Valor definido inválido: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Valor padrăo inválido: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Valor padrăo inválido: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Valor de definiçăo de horário inválido: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Valor de definiçăo de horário inválido: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Valor padrăo de horário inválido: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Valor padrăo de horário inválido: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Năo foi possível configurar %s para o limiar %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "Năo foi possível definir %s para o limiar de horário %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, fuzzy, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld é o limiar %s e %ld é o tempo-limite %s\n"
+
+#: sys-utils/cytune.c:450
+#, fuzzy, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld é o limiar %s e %ld é o tempo-limite %s\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Esta partiçăo é inutilizável"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "erro fechando %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Aviso: a partiçăo %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "mensagens"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: comando desconhecido: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "O diretório %s năo existe!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync falhou"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "năo foi possível abrir %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "(Próximo arquivo: %s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "leitura/gravaçăo"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "nenhum comando?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fsync falhou"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+#, fuzzy
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "mount: o tipo de sistema de arquivos %s năo é suportado pelo kernel"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+#, fuzzy
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "mount: o tipo de sistema de arquivos %s năo é suportado pelo kernel"
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "năo foi possível stat %s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "%s: năo é um dispositivo de disquetes\n"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "mount falhou"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "năo foi possível abrir %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: o ponto de montagem %s năo existe"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: năo foi possível renomear %s para %s. falha: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s: năo encontrado"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " removable"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Usando valor padrăo %d\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: năo foi possível abrir o dispositivo %s: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s: năo encontrado"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: năo é um dispositivo de disquetes\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: năo foi possível abrir o dispositivo %s: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "umount: %s: o dispositivo está ocupado"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "exec falhou\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "abertura do diretório falhou\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Número excessivo de argumentos.\n"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "Valor definido inválido: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "Valor definido inválido: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "Năo. Opçăo --date especificada\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "openpty falhou\n"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s exige um argumento\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "inode raiz năo é um diretório"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() falhou"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "Năo. Opçăo --date especificada\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "Năo. Opçăo --date especificada\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "inode raiz năo é um diretório"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "openpty falhou\n"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "openpty falhou\n"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "Năo. Opçăo --date especificada\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "inode raiz năo é um diretório"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "openpty falhou\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "năo foi possível abrir %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Pressupondo que o relógio de hardware é mantido na hora %s.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "local"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Aviso: a terceira linha do arquivo adjtime năo foi reconhecida\n"
+
+#: sys-utils/hwclock.c:310
+#, fuzzy, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Último ajuste de variaçăo feito %d segundos após 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, fuzzy, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Última calibraçăo feita %d segundos após 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "O relógio de hardware está na hora %s\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Aguardando tique do relógio...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "... tique do relógio obtido\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"Valores inválidos no relógio de hardware: %4d/%.4d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Hora do relógio de hardware: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld segundos "
+"desde 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Hora lida do relógio de Hardware: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, fuzzy, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Configurando o relógio de hardware para %.2d:%.2d:%.2d = %d segundos desde "
+"1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Relógio năo alterado - apenas testando.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"O tempo decorrido desde o horário de referęncia foi de %.6f segundos.\n"
+" Atrasando mais para chegar ao próximo segundo cheio.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Os registradores do relógio de hardware contęm valores inválidos (p. ex., "
+"50ş dia do męs) ou além do intervalo que podemos manipular (p.ex., ano "
+"2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f segundos\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "Năo. Opçăo --date especificada\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "fsname nome muito longo"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"O valor da opçăo --date năo é uma data válida.\n"
+"Especificamente, ele contém aspas.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Emitindo comando date: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Năo foi possível executar o programa 'date' no shell /bin/sh: popen() falhou"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "resposta do comando date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"O comando date emitido por %s retornou resultados inesperados.\n"
+"O comando foi:\n"
+" %s\n"
+"A resposta foi:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"O comando date emitido por %s retornou um valor diferente de um inteiro onde "
+"o valor de hora convertido era esperado.\n"
+"O comando foi:\n"
+" %s\n"
+"A resposta foi:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, fuzzy, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "String de date %s equivale a %d segundos desde 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"O relógio de hardware năo contém uma hora válida. Em funçăo disso, năo é "
+"possível configurar a hora do sistema a partir dele.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Chamando settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+"O relógio do sistema năo está sendo ajustado: executando em modo de teste.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "É necessário ser superusuário para ajustar o relógio do sistema.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() falhou"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"O fator de variaçăo năo está sendo ajustado porque o relógio de hardware "
+"continha lixo anteriormente.\n"
+
+#: sys-utils/hwclock.c:865
+#, fuzzy, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"O fator de variaçăo năo está sendo ajustado porque menos de um dia se passou "
+"desde a última calibraçăo.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"O fator de variaçăo năo está sendo ajustado porque menos de um dia se passou "
+"desde a última calibraçăo.\n"
+
+#: sys-utils/hwclock.c:919
+#, fuzzy, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"O relógio variou %d segundos nos últimos %d segundos, apesar de um fator de "
+"variaçăo de %f segundos/dia.\n"
+"Ajustando o fator de variaçăo em %f segundos/dia.\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "O tempo desde o último ajuste é de %d segundos\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"É necessário inserir %d segundos e referenciar a hora de %.6f segundos "
+"atrás\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "O arquivo adjtime năo está sendo atualizado: modo de teste.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Teria gravado o seguinte em %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Parâmetros de ajuste de variaçăo năo atualizados.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"O relógio de hardware năo contém uma hora válida, portanto năo é possível "
+"ajustá-lo.\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"O fator de variaçăo năo está sendo ajustado porque menos de um dia se passou "
+"desde a última calibraçăo.\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"O ajuste necessário é menor do que um segundo, portanto o relógio năo será "
+"ajustado.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Usando %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Năo foi encontrada uma interface de relógio utilizável.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Năo é possível ajustar o relógio do sistema.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"O kernel mantém um valor de epoch para o relógio de hardware somente em uma "
+"máquina Alpha.\n"
+"Esta cópia de hwclock foi compilada para uma máquina diferente de Alpha (e, "
+"assim, supőe-se que năo está sendo executada em uma Alpha no momento). "
+"Nenhuma açăo foi realizada.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Năo foi possível obter o valor de epoch do kernel.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "O kernel está pressupondo um valor de epoch de %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Para configurar o valor de epoch, é necessário usar a opçăo 'epoch' para "
+"informar para que valor configurá-lo.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Epoch năo configurado para %d; apenas testando.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Năo é possível configurar o valor de epoch no kernel.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d partiçőes:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" informa a hwclock o tipo de Alpha que vocę tem (consulte "
+"hwclock(8))\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "Năo é possível ajustar o relógio do sistema.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s năo aceita argumentos que năo sejam de opçăo. Vocę forneceu %d.\n"
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr ""
+"Năo há um horário para ajuste utilizável. Năo é possível ajustar o relógio.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Somente o superusuário pode alterar o relógio de hardware.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Somente o superusuário pode alterar o relógio de hardware.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Somente o superusuário pode alterar o epoch do relógio de hardware no "
+"kernel.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+"Năo é possível acessar o Relógio de Hardware por nenhum método conhecido.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Use a opçăo --debug para consultar os detalhes de nossa busca por um método "
+"de acesso.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "boot executado do MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Relógio BCD Ruffian\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "porta do relógio ajustada para 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: %s atômico falhou por 1000 iteraçőes!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "Năo consegui obter permissăo porque năo tentei.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"%s é incapaz de obter acesso ŕ porta de E/S: a chamada iopl(3) falhou.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Provavelmente săo necessários privilégios de root.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Aguardando em laço até que a hora de KDGHWCLK mude.\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "ioctl KDGHWCLK para ler a hora falhou"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "ioctl KDGHWCLK para ler a hora falhou no laço"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Tempo esgotado enquanto aguardava a hora mudar.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, fuzzy, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK falhou"
+
+#: sys-utils/hwclock-kd.c:172
+#, fuzzy
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Năo foi possível abrir /dev/tty1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "ioctl KDGHWCLK falhou"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl() para %s para ler a hora falhou.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Aguardando em laço até que a hora de %s mude.\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s năo possui funçőes de interrupçăo. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() para %s para aguardar tique do relógio falhou"
+
+#: sys-utils/hwclock-rtc.c:317
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "read() para %s para aguardar tique do relógio falhou"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "read() para %s para aguardar tique do relógio falhou"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() para %s para desligar interrupçőes de atualizaçăo falhou"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() para %s para ligar interrupçőes de atualizaçăo falhou inesperadamente"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl() para %s para ajustar a hora falhou.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) teve ęxito.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Para manipular o valor de epoch no kernel, é necessário acessar o driver de "
+"dispositivo 'rtc' do Linux, através do arquivo de dispositivo especial %s. "
+"No entanto, esse arquivo năo existe neste sistema.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) para %s falhou"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "lemos epoch %ld de %s com ioctl RTC_EPOCH_READ.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "O valor de epoch năo pode ser menor que 1900. Vocę solicitou %ld.\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "Configurando epoch como %ld com ioctl RTC_EPOCH_SET para %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+"O driver de dispositivo do kernel para %s năo possui o ioctl RTC_EPOCH_SET.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) para %s falhou"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output Sem saída normal\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Memória compartilhada: shmid de segmento = %d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"msqid da fila de mensagens: %d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "semáforos alocados: %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"semid de array de semáforos: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Mostra informaçőes de versăo\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Memória compartilhada: shmid de segmento = %d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"msqid da fila de mensagens: %d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"semid de array de semáforos: %d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: permissăo negada"
+
+#: sys-utils/ipcrm.c:102
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: permissăo negada"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+#, fuzzy
+msgid "invalid key"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ipcrm.c:105
+#, fuzzy
+msgid "invalid id"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "busca falhou"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() falhou"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Número excessivo de argumentos.\n"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "recurso(s) excluído\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "Tecla ilegal"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "o kernel năo está configurado para memória compartilhada\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "o kernel năo está configurado para semáforos\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "o kernel năo está configurado para semáforos\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : detalhes sobre o recurso identificado por id\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "opçőes perigosas:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "o kernel năo está configurado para memória compartilhada\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "- Limites da memória compartilhada -\n"
+
+#: sys-utils/ipcs.c:291
+#, fuzzy, c-format
+msgid "max number of segments = %lu\n"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: sys-utils/ipcs.c:293
+#, fuzzy, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "tamanho máximo do segmento (Kb): %ld\n"
+
+#: sys-utils/ipcs.c:295
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "memória compartilhada total máxima (Kb): %ld\n"
+
+#: sys-utils/ipcs.c:297
+#, fuzzy, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "tamanho mínimo do segmento (bytes): %ld\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "- Status da memória compartilhada -\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "Criadores/donos de segmentos de memória compartilhada\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "Horários de anexaçăo/destacamento/alteraçăo da memória compartilhada\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "proprietário"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "anexado"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "destacado"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "alterado"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "Criador/última op da memória compartilhada\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "- Segmentos da memória compartilhada -\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "chave"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "bytes"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+#, fuzzy
+msgid "Not set"
+msgstr "Năo definido\n"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "bloqueado"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "o kernel năo está configurado para semáforos\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Limites de semáforo ------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "número máximo de arrays: %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "máximo de semáforos por array: %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "máximo geral de semáforos do sistema: %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "máximo de ops por chamada semop: %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valor máximo de semáforo: %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "----- Status de semáforo -------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "arrays usados: %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semáforos alocados: %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "----- Criadores/donos de arrays de semáforos -----\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "Horários de operaçăo/alteraçăo de memória compartilhada\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "última-op"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "útima-alteraçăo"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Arrays de semáforos ------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, fuzzy, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "o kernel năo está configurado para semáforos\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "----- Mensagens: limites -------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "número máximo geral de filas no sistema: %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "tamanho máximo da mensagem (bytes): %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "tamanho máximo padrăo da fila (bytes): %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "----- Mensagens: status -------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "filas alocadas: %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "cabeçalhos usados: %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "espaço usado: %d bytes\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "---- Filas de mensagens: criadores/donos ----\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "Horários de envio/recepçăo/alteraçăo de filas de mensagens\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "envio"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "recebimento"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "alteraçăo"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "--- PIDs de filas de mensagens ---\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "----- Filas de mensagens ------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "bytes usados"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "mensagens"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync falhou"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Memória compartilhada: shmid de segmento = %d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, fuzzy, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%s"
+
+#: sys-utils/ipcs.c:639
+#, fuzzy, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%s"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, fuzzy, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%s"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync falhou"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"msqid da fila de mensagens: %d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, fuzzy, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%s"
+
+#: sys-utils/ipcs.c:668
+#, fuzzy, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%s"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "busca falhou"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid de array de semáforos: %d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, fuzzy, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %s"
+
+#: sys-utils/ipcs.c:695
+#, fuzzy, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %s"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "valor"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s năo é um dispositivo de blocos especial"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Năo foi possível realizar busca na unidade de disco"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "Năo foi possível obter o tamanho de %s"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ""
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr "Tamanho máximo = %ld\n"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr "Tipo de criptografia năo suportado: %s\n"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "busca falhou"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "busca falhou"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"usage:\n"
+" %s dispositivo_laço # dá "
+"informaçőes\n"
+" %s -d dispositivo_laço # "
+"exclui\n"
+" %s [ -e criptografia ] [ -o deslocamento ] dispositivo_laço arquivo # "
+"configuraçăo\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: dispositivo de laço especificado duas vezes"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "Năo. Opçăo --date especificada\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "Năo é possível bloquear (lock) na memória, saindo\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: năo foi possível localizar \"_stext\" em %s\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "ler novamente tabela de partiçőes"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: a montagem falhou"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "Concluído"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "obter tamanho de setor"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "obter tamanho de setor"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr "Erro no fechamento de %s\n"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "nfs socket"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Situaçăo antiga:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: operaçăo exclusiva de root"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: operaçăo exclusiva de root"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: somente o root pode montar %s em %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: operaçăo exclusiva de root"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s de %s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "erro de busca"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "năo foi possível stat %s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s já montado em %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: somente o root pode montar %s em %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s já montado em %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: năo foi possível localizar %s em %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: năo foi possível localizar %s em %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: năo foi possível localizar %s em %s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: năo foi possível determinar o tipo do sistema de arquivos e nenhum "
+"foi especificado"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: vocę precisa especificar o tipo do sistema de arquivos"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: năo foi possível vincular %s: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: a montagem falhou"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "mount falhou"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: a montagem falhou"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: o ponto de montagem %s năo é um diretório"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: é necessário ser superusuário para montar"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s está ocupado"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s já montado ou %s ocupado"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s já montado em %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: o ponto de montagem %s năo existe"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: o ponto de montagem %s é um vínculo simbólico para lugar algum"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: o dispositivo especial %s năo existe"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "mount falhou"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: o dispositivo especial %s năo existe\n"
+" (um prefixo de caminho năo é um diretório)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s já năo está montado ou opçăo inválida"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s já năo está montado ou opçăo inválida"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: tipo de sistema de arquivos incorreto, opçăo inválida, superbloco "
+"inválido em %s,\n"
+" ou número excessivo de sistemas de arquivos montados"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: năo foi possível ler o superbloco"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr " l lista os tipos de sistemas de arquivos conhecidos"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s năo é um dispositivo de blocos e stat falha?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: o kernel năo reconhece %s como dispositivo de blocos\n"
+" (talvez `insmod driver'?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s năo é um dispositivo de blocos (talvez tentar `-o loop'?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: năo é um dispositivo de disquetes\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s năo é um dispositivo de blocos válido"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: năo foi possível montar %s%s somente para leitura"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s é protegido contra gravaçăo mas a opçăo -w foi passada"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: năo foi possível montar %s%s somente para leitura"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s é protegido contra gravaçăo; montando somente para leitura"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s já montado em %s\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: năo foi possível renomear %s para %s. falha: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: a montagem falhou"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "inode raiz năo é um diretório"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s está montado.\t"
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld blocos\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS secundário"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "tamanho de inode inválido"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "mensagens"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Nome de usuário inválido"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "dispositivo de blocos "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Unidades"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d partiçőes:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "opçőes perigosas:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: As opçőes --utc e --localtime săo mutuamente exclusivas. Vocę "
+"especificou ambas.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Prim. Últ.\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unqote Năo quota a saída\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Mostra informaçőes de versăo\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Mostra este pequeno guia de uso\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test Teste de versăo de getopt(1)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "erro ao gravar %s: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Passo de amostragem: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): linha de mapa incorreta\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: năo foi possível localizar \"_stext\" em %s\n"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr ""
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s de %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: comando desconhecido: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "bad timeout value: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "usuário"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: prioridade antiga = %d; prioridade nova = %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "leitura/gravaçăo"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "semáforos alocados: %d\n"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "Erro no fechamento de %s\n"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "busca falhou"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "leitura/gravaçăo"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "gettimeofday falhou"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: partiçăo năo reconhecida\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Usando %s.\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Usando %s.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s năo é um dispositivo lp.\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "Mensagem de %s@%s em %s em %s ..."
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "Mensagem de %s@%s em %s em %s ..."
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "(Próximo arquivo: %s)"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "Uso: %s programa [arg ...]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr "Tente `getopt --help' para maiores informaçőes.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr "Tente `getopt --help' para maiores informaçőes.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: partiçăo năo reconhecida\n"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Número excessivo de argumentos.\n"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "Uso: %s programa [arg ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() falhou"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "exec falhou\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s em %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "Năo definido\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "busca falhou"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d exclui uma partiçăo"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "estado da rota falhou\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "estado da rota falhou\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Marca em uso"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "exec falhou\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "busca falhou"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "A abertura de %s falhou"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Nome"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "swapon: aviso: %s possui permissőes inseguras %04o; sugere-se 0600\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "swapon: aviso: %s possui permissőes inseguras %04o; sugere-se 0600\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "swapon: ignorando arquivo %s - ele parece ter buracos.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "busca falhou"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s em %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "busca falhou"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Comandos disponíveis:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: năo foi possível localizar \"_stext\" em %s\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "busca falhou"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "inode raiz năo é um diretório"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "Tentando desmontar %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: năo foi possível obter o diretório atual - %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "busca falhou"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unqote Năo quota a saída\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unqote Năo quota a saída\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "bad timeout value: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s năo é um dispositivo lp.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "erro LPGETIRQ"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "o status de %s é %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", ocupado"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", pronto"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", sem papel"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", erro"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fsync falhou"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "erro LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s usando IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s usando consulta (polling)\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "mount falhou"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: a montagem falhou"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: dispositivo de blocos inválido"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: năo foi possível ler o superbloco"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: precisa ser superusuário para desmontar"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr ""
+"umount: %s: dispositivos de blocos năo permitidos no sistema de arquivos"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "Uso: %s programa [arg ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "busca falhou"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "busca falhou"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Tempo de login esgotado após %d segundos\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Tempo de login esgotado após %d segundos\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "dispositivo de blocos "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "status"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "năo foi possível stat %s"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "mount: %s: dispositivo de blocos desconhecido"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: năo foi possível abrir o dispositivo %s: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Comandos disponíveis:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "Năo foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Năo foi possível obter o tempo-limite para %s: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "busca falhou em write_tables"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f segundos\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "tempo esgotado"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Dispositivo"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s versăo %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: cant exec %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "erro ao alterar o modo de %s: %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: năo foi possível localizar o processo \"%s\"\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: cant exec %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "Năo foi possível alocar buffer.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "bad timeout value: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "velocidade inválida: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "número excessivo de velocidades alternativas"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: năo foi possível abrir como entrada padrăo: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s năo é um dispositivo de caracteres"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: năo está aberto para leitura/gravaçăo"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problema de dup: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tipo: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: leitura: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: entrada excedida"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "usuário"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "usuários"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "busca falhou"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "é y\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "é n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "semáforos alocados: %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "id inválido: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Aviso: `%s' é um link simbólico\n"
+"Use `%s [opçőes] %s' se vocę realmente quer usar isto.\n"
+"Script năo iniciado.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script iniciado, o arquivo é %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Script iniciado em %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: năo foi possível localizar \"_stext\" em %s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script concluído em %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script concluído, o arquivo é %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty falhou\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "ptys esgotados\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "A abertura de %s falhou"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() năo conseguiu ler a hora de /dev/tty1"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: erro de argumento; uso\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "năo foi possível realizar fork"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "năo foi possível realizar fork"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "năo foi possível abrir %s %s\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "năo é possível alterar o estado do modo de conservaçăo de energia\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "năo foi possível abrir o dispositivo %s para gravaçăo\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "erro de klogctl: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Erro ao gravar descarga de tela\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Năo foi possível abrir %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM indefinido.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "número excessivo de iovs (altere o código de wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "linha de argumentos longa demais"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "năo foi possível realizar fork"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "bad timeout value: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Năo foi possível obter o tamanho do disco"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Mensagem de broadcast de %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: năo será lido %s - use a entrada padrăo.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "(Próximo arquivo: %s)"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "Uso: namei [-mx] nome_caminho [nome_caminho ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: năo foi possível localizar o nome do tty\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: sua permissăo de gravaçăo está desativada.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s năo está conectado em %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s - mensagens desativadas em %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s năo está conectado.\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s - mensagens desativadas\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s está conectado mais de uma vez; escrevendo para %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Linha de entrada longa demais.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Mensagem de %s@%s (como %s) em %s em %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Mensagem de %s@%s em %s em %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "malloc falhou"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: erro de gravaçăo.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: argumento inválido para -l %s.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: aviso: năo é possível fazer backup de %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "além da primeira linha"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- linha já descarregada"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: argumento inválido para -l %s.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: argumento inválido para -l %s.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "id inválido: %s\n"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs versăo %s (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: diretório ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: năo é um arquivo de texto ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Use q ou Q para sair]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Mais--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Próximo arquivo: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Pressione espaço para continuar, 'q' para sair.]"
+
+#: text-utils/more.c:1239
+#, fuzzy, c-format
+msgid "...back %d pages"
+msgstr "...voltar %d página(s)"
+
+#: text-utils/more.c:1241
+#, fuzzy
+msgid "...back 1 page"
+msgstr "...voltar %d página(s)"
+
+#: text-utils/more.c:1284
+#, fuzzy
+msgid "...skipping one line"
+msgstr "... pulando %d linha(s)"
+
+#: text-utils/more.c:1286
+#, fuzzy, c-format
+msgid "...skipping %d lines"
+msgstr "... pulando %d linha(s)"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Voltar***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Expressăo regular malformada"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Pressione 'h' para obter instruçőes.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" linha %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Năo é um arquivo] linha %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Estouro\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...pulando\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Padrăo năo encontrado\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Padrăo năo encontrado"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "exec falhou\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "năo foi possível realizar fork\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Pulando "
+
+#: text-utils/more.c:1764
+#, fuzzy
+msgid "...Skipping to file "
+msgstr "...Pulando "
+
+#: text-utils/more.c:1766
+#, fuzzy
+msgid "...Skipping back to file "
+msgstr "de volta ao arquivo"
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Linha longa demais"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Năo há comando anterior para ser substituído"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "linha longa demais"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: contagem de bytes com múltiplos caracteres de conversăo.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: contagem de bytes inválida para caractere de conversăo %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: %% exige uma precisăo ou uma contagem de bytes.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: formato inválido{%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: caractere de conversăo inválido %%%s.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p Mostra a tabela de partiçőes na tela ou em um arquivo."
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : năo grava no disco, realmente"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Mostra informaçőes de versăo\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Mostra informaçőes de versăo\n"
+
+#: text-utils/pg.c:246
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "a opçăo `%s' exige um argumento\n"
+
+#: text-utils/pg.c:254
+#, fuzzy, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: text-utils/pg.c:371
+#, fuzzy
+msgid "...skipping forward\n"
+msgstr "...pulando\n"
+
+#: text-utils/pg.c:373
+#, fuzzy
+msgid "...skipping backward\n"
+msgstr "...pulando\n"
+
+#: text-utils/pg.c:395
+#, fuzzy
+msgid "No next file"
+msgstr "(Próximo arquivo: %s)"
+
+#: text-utils/pg.c:399
+#, fuzzy
+msgid "No previous file"
+msgstr "Nenhuma partiçăo definida\n"
+
+#: text-utils/pg.c:934
+#, fuzzy, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: erro de leitura em %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:943
+#, fuzzy, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: erro de procura em %s\n"
+
+#: text-utils/pg.c:1038
+#, fuzzy, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: năo foi possível ler arquivo temporário.\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+#, fuzzy
+msgid "RE error: "
+msgstr ", erro"
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "năo foi possível abrir %s"
+
+#: text-utils/pg.c:1361
+#, fuzzy
+msgid "saved"
+msgstr "envio"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1500
+#, fuzzy
+msgid "fork() failed, try again later\n"
+msgstr "A senha *NĂO* foi alterada. Tente novamente mais tarde.\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+#, fuzzy
+msgid "(Next file: "
+msgstr "(Próximo arquivo: %s)"
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr "As informaçőes de finger foram alteradas.\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: năo foi possível abrir %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "Năo. Opçăo --date especificada\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "problemas na leitura de terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Seqüęncia de escape desconhecida na entrada: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Linha de entrada longa demais.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "openpty falhou\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "năo foi possível verificar status de dispositivo %s"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "openpty falhou\n"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "năo foi possível abrir '%s'"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "năo foi possível verificar status de dispositivo %s"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "năo foi possível verificar status de dispositivo %s"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#~ msgid "unable to open %s"
+#~ msgstr "năo foi possível abrir %s"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: năo foi possível abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "năo foi possível abrir %s para leitura"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "năo foi possível verificar status de dispositivo %s"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "năo foi possível verificar status de dispositivo %s"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "busca falhou"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Năo é possível abrir /dev/port: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "open() de %s falhou"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "A abertura de %s falhou"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Năo foi possível abrir %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "Năo foi possível alocar buffer.\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "năo foi possível stat %s"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "năo foi possível stat %s"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "năo foi possível stat %s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "(Próximo arquivo: %s)"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "Năo foi possível abrir o arquivo '%s'"
+
+#, fuzzy
+#~ msgid "Cannot open "
+#~ msgstr "Năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "năo foi possível abrir %s para leitura"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "năo foi possível verificar status de dispositivo %s"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Uso: %s [ -larvsmf] dispositivo\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "Năo será tentado criar dispositivo de permuta (swap) em '%s'"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "năo foi possível verificar status de dispositivo %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Vocę năo poderá gravar a tabela de partiçőes.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "A partiçăo %i năo inicia em um limite de cilindro:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "deveria ser (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "deveria ser (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "O disco %s năo contém uma tabela de partiçőes válida\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Năo foi possível abrir %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Este kernel localiza o tamanho de setor por conta própria - opçăo -b "
+#~ "ignorada\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "memória insuficiente?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: final de entrada prematuro\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: năo foi possível abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Vocę especificou múltiplas opçőes de funçăo.\n"
+#~ "Vocę só pode executar uma funçăo por vez.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: As opçőes --utc e --localtime săo mutuamente exclusivas. Vocę "
+#~ "especificou ambas.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: As opçőes --utc e --localtime săo mutuamente exclusivas. Vocę "
+#~ "especificou ambas.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: As opçőes --utc e --localtime săo mutuamente exclusivas. Vocę "
+#~ "especificou ambas.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount: năo foi possível configurar velocidade: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: o arquivo %s está ocupado (%s presente).\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "número `%s' a `%s' fora do intervalo\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Valor definido inválido: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "năo foi possível stat %s"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "Năo foi possível gravar a partiçăo em %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "id inválido: %s\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Valor definido inválido: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Valor definido inválido: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: falha ao configurar dispositivo de laço\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "năo foi possível abrir %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "fsname nome muito longo"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "semáforos alocados: %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: valor de comprimento incorreto.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: valor para pular incorreto.\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "erro de busca"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "o fork falhou\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "busca falhou"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d exclui uma partiçăo BSD"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l lista os tipos de sistemas de arquivos conhecidos"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n cria uma nova partiçăo BSD"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p mostra a tabela de partiçőes BSD"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t altera a identificaçăo do sistema de arquivos"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u altera unidades (cilindros/setores)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p mostra a tabela de partiçőes"
+
+#, fuzzy
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Criando um novo rótulo de disco DOS. As alteraçőes permanecerăo\n"
+#~ "somente em memória até que vocę decida gravá-las. Após isto, é claro,\n"
+#~ "o conteúdo anterior năo poderá mais ser recuperado.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "O dispositivo năo contém nem uma tabela de partiçőes DOS válida nem um "
+#~ "rótulo de disco Sun, OSF ou SGI\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Erro interno\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tDesculpe. Năo há um menu avançado disponível para tabelas de partiçăo "
+#~ "SGI.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Vocę sabia que tem uma sobreposiçăo de partiçőes no disco?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Criando um novo rótulo de disco SGI. As alteraçőes permanecerăo\n"
+#~ "somente em memória até que vocę decida gravá-las. Após isto, é claro,\n"
+#~ "o conteúdo anterior năo poderá mais ser recuperado.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "memória insuficiente - desistindo\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: pouca memória; o login pode falhar\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "năo foi possível malloc para ttyclass"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "năo foi possível malloc para grplist"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Login em %s de %s negado como padrăo.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Login em %s de %s negado.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Uso: %s [ -f nome_completo ] [ -o local_de_trabalho ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "login: falha de PAM; abortando: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr "[ --list-shells ] [ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s: só pode alterar entradas locais; use yp%s, em vez disso.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "Năo foi possível obter o tempo-limite para %s: %s\n"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "busca falhou"
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: use a opçăo -l para ver a lista\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Use %s -l para ver a lista.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "Uso: login [-fp] [nome_usuário]\n"
+
+#, fuzzy
+#~ msgid "out of memory"
+#~ msgstr "memória insuficiente?\n"
+
+#~ msgid "Illegal username"
+#~ msgstr "Nome de usuário inválido"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s: login recusado neste terminal.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "%s: LOGIN RECUSADO A PARTIR DE %s NO TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "%s: LOGIN RECUSADO NO TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Login incorreto\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "semáforos alocados: %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: falha em fork: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s usuário: "
+
+#~ msgid "NAME too long"
+#~ msgstr "NOME longo demais"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "nome de login longo demais.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "nomes de login năo podem iniciar com '-'.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "Saltos de linha EXCESSIVOS"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "Número excessivo de saltos de linha.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "FALHA DE LOGIN A PARTIR DE %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "FALHA DE LOGIN EM %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d FALHAS DE LOGIN A PARTIR DE %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d FALHAS DE LOGIN EM %s, %s"
+
+#, fuzzy
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: o arquivo %s está ocupado.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: năo foi possível desbloquear %s: %s (as alteraçőes ainda estăo em "
+#~ "%s)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "malloc falhou"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "O disco %s năo contém uma tabela de partiçőes válida\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "openpty falhou\n"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: usuário \"%s\" năo existe.\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr ""
+#~ "loop: năo foi possível obter informaçőes sobre o dispositivo %s: %s\n"
+
+#, fuzzy
+#~ msgid ", encryption type %d\n"
+#~ msgstr "Tipo de criptografia năo suportado: %s\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr ""
+#~ "loop: năo foi possível obter informaçőes sobre o dispositivo %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: năo foi possível abrir o dispositivo %s: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "mount: Năo foi possível localizar nenhum dispositivo de laço e, de acordo "
+#~ "com %s,\n"
+#~ " este kernel năo conhece o dispositivo de laço\n"
+#~ " (se for este o caso, recompile ou use `insmod loop.o')."
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Falta memória quando o buffer cresce.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "O setor %d já está alocado\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr ""
+#~ "mount: %s%s é protegido contra gravaçăo; montando somente para leitura"
+
+#, fuzzy
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%d): sucesso\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): sucesso\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: năo foi possível excluir o dispositivo %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr "Este mount foi compilado sem suporte a laços. Recompile-o.\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Năo havia suporte a laço disponível quando da compilaçăo. Recompile.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Uso: %s [-q [-i intervalo]] ([-s valor]|[-S valor]) ([-t valor]|[-T "
+#~ "valor]) [-g|-G] arquivo [arquivo...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Năo foi possível abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: năo foi possível abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "Número inválido: %s\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "o fork falhou\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#, fuzzy
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "Uso: %s [shm | msg | sem] id...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "tipo de recurso desconhecido: %s\n"
+
+#, fuzzy
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s em %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr "%s fornece informaçőes sobre recursos do ipc para"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s de %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Uso: \"%s [opçőes]\n"
+#~ "\t -m <arq_mapa> (padrăo = \"%s\")\n"
+#~ "\t -p <arq_pro> (padrăo = \"%s\")\n"
+#~ "\t -M <mult> configura o perfil de multiplicaçăo para <mult>\n"
+#~ "\t -i mostra somente informaçőes sobre o passo de amostragem.\n"
+#~ "\t -v mostra dados detalhados.\n"
+#~ "\t -a mostra todos os símbolos, mesmo se a contagem for 0.\n"
+#~ "\t -r reinicializa todos os contadores (somente root)\n"
+#~ "\t -V mostra a versăo e sai\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: erro ao gravar %s: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr "Tente `getopt --help' para maiores informaçőes.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "Uso: %s programa [arg ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Uso: %s <dispositivo> [ -i <IRQ> | -t <HORA> | -c <CHARS> | -w <ESPERA> "
+#~ "| \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: valor inválido\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr "As informaçőes de finger foram alteradas.\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr "Erro no fechamento de %s\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr ""
+#~ "Desculpe. Vocę pode alterar apenas a etiqueta de partiçőes năo vazias.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Aviso: a partiçăo %s "
+
+#~ msgid "is not contained in partition %s\n"
+#~ msgstr "năo está contida na partiçăo %s\n"
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Aviso: as partiçőes %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "e %s se sobrepőem\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "dispositivo: algo como /dev/hda ou /dev/sda"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "bytes"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -l [ sinal ]\n"
+
+#, fuzzy
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr "Uso: %s [-V] [-v|-q] comandos dispositivos\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Comandos disponíveis:\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: năo foi possível abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "erro de busca"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "Uso: %s [ -n ] dispositivo\n"
+
+#, fuzzy
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: năo é um dispositivo de disquetes\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc falhou"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: opçăo erro de parser\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Uso: %s [-x] [-d <num>] iso9660-image\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Uso: %s [-v] [-N nr-de-inodes] [-V nome-volume]\n"
+#~ " [-F nome de sist arquivos] dispositivo [contagem-de-blocos]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "năo foi possível stat %s"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "Năo foi possível obter o tamanho de %s"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "o fork falhou\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr "Uso: %s [-c] [-v0|-v1] [-pTamPág] dispositivo [blocos]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Memória insuficiente"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "Uso:"
+
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menu sem direçăo. Assumindo horizontal como padrăo."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Vocę precisa excluir alguma partiçăo e adicionar uma partiçăo estendida "
+#~ "antes\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Comando - açăo\n"
+#~ " %s\n"
+#~ " p partiçăo primária (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [ou --show-size]: lista o tamanho de uma partiçăo"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [ou --id]: mostra ou altera a ID da partiçăo"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [ou --list]: lista as partiçőes de cada dispositivo"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [ou --dump]: idem, mas em um formato adequado para entrada "
+#~ "posterior"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [ou --increment]: numera os cilindros, etc. a partir de 1, em vez "
+#~ "de 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: aceita/informa em unidades de setores/blocos/"
+#~ "cilindros/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [ou --list-types]:lista os tipos de partiçăo conhecidos"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [ou --DOS]: para compatibilidade com DOS: desperdiça um "
+#~ "pouco de espaço"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr " -R [ou --re-read]: faz o kernel reler a tabela de partiçőes"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : altera somente a partiçăo de número #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O arquivo : salva os setores que serăo sobrescritos em "
+#~ "arquivo"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I arquivo : restaura os setores gravados em arquivo"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [ou --version]: mostra a versăo"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [ou --help]: mostra esta mensagem"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [ou --show-geometry]: mostra a suposiçăo do kernel sobre a "
+#~ "geometria"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [ou --Linux]: năo reclama de coisas irrelevantes para o Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [ou --quiet]: suprime mensagens de aviso"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Vocę pode anular a geometria detectada usando:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# [ou --cylinders #]:define o número de cilindros a usar"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [ou --heads #]: define o número de cabeças a usar"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [ou --sectors #]: define o número de setores a usar"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Vocę pode desativar todas as verificaçőes de consistęncia com:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [ou --force]: faça o que eu mandar, mesmo que seja idiota"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: vocę precisa especificar o tipo do sistema de arquivos"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Uso: mkfs [-V] [-t tipoSistArq] [opçőes-sistArq] dispositivo [tamanho]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Năo foi possível abrir %s: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s de %s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "Năo foi possível alocar buffer para inodes"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Tente `getopt --help' para maiores informaçőes.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Uso: getopt texto_opçőes parâmetros\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [opçőes] [--] texto_opçőes parâmetros\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parâmetros\n"
+
+#, fuzzy
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (melhorado) 1.1.0)\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Esperado: `UTC', `LOCAL' ou nada.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - consulta e ajusta o relógio de hardware (RTC).\n"
+#~ "\n"
+#~ "Uso: hwclock [funçăo] [opçőes...]\n"
+#~ "\n"
+#~ "Funçőes:\n"
+#~ " --help Mostra esta ajuda.\n"
+#~ " --show Lę o relógio de hardware e imprime o resultado.\n"
+#~ " --set Configura o RTC para a hora fornecida com --date.\n"
+#~ " --hctosys Configura a hora do sistema a partir do relógio de "
+#~ "hardware.\n"
+#~ " --systohc Configura o relógio de hardware para a hora atual do "
+#~ "sistema.\n"
+#~ " --adjust Ajusta o RTC para levar em conta variaçăo sistemática "
+#~ "desde \n"
+#~ " que o relógio foi ajustado ou configurado da última vez.\n"
+#~ " --getepoch Exibe o valor de epoch do relógio de hardware do kernel.\n"
+#~ " --setepoch Configura o valor de epoch do relógio de hardware do "
+#~ "kernel para o \n"
+#~ " valor fornecido com --epoch.\n"
+#~ " --version Coloca a versăo de hwclock em stdout.\n"
+#~ "\n"
+#~ "Opçőes: \n"
+#~ " --utc O relógio de hardware é mantido em UTC (hora universal "
+#~ "coordenada).\n"
+#~ " --localtime O relógio de hardware é mantido em hora local.\n"
+#~ " --directisa Acessa o barramento ISA diretamente, em vez de %s.\n"
+#~ " --badyear Ignora o ano do RTC, pois a BIOS está com problemas.\n"
+#~ " --date Especifica a hora para a qual configurar o relógio de "
+#~ "hardware.\n"
+#~ " --epoch=ano Especifica o ano inicial do valor \n"
+#~ " de epoch do relógio de hardware.\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "can't malloc initstring"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Uso: %s [-hiLmw] [-l programa_login] [-t tempo_limite] [-I string_inic] [-"
+#~ "H host_login] taxa_baud,... linha [tipo_term]\n"
+#~ "ou\t[-hiLmw] [-l programa_login] [-t tempo_limite] [-I string_inic] [-H "
+#~ "host_login] linha taxa_baud,... [tipo_term]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "Uso: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: ERRO GRAVE"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "Uso: %s [arquivo]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: năo foi possível ler %s.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "Uso: logger [-is] [-f arquivo] [-p prioridade] [-t etiqueta] [-u soquete] "
+#~ "[ mensagem ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "Uso: look [-dfa] [-t char] string [arquivo]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "memória insuficiente?\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "chamada: %s de para arquivos...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "Uso: script [-a] [-f] [-q] [arquivo]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "erro de gravaçăo em %s\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "erro de gravaçăo em %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term nome_terminal ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#, fuzzy
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-NUM_CONSOLES] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-NUM_CONSOLES] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq num_freq ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr "Uso: last [-#] [-f arquivo] [-t tty] [-h nome_host] [usuário ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ sinal ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Uso: %s [opçőes] dispositivo ...\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nome...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "Uso: write usuário [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: năo foi possível abrir %s: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "desconhecida"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Uso: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Processo de desligamento abortado"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: somente o root pode desligar um sistema.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "Isto precisa ser amanhă. Vocę pode esperar?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "para manutençăo; bounce, bounce"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "O sistema será desligado dentro de 5 minutos"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Assim, logins estăo proibidos."
+
+#, fuzzy
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "%s por %s: %s"
+
+#, fuzzy
+#~ msgid "halted by %s: %s"
+#~ msgstr "%s por %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Por que eu ainda estou vivo após a reinicializaçăo?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Agora vocę pode desligar a energia..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Chamando recurso de desligamento do kernel...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Erro ao desligar\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Executando o programa \"%s\" ...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Erro ao executar\t%s\n"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "O sistema será desligado em %d horas e %d minuto(s)"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "O sistema será desligado em 1 hora e %d minuto(s)"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "O sistema será desligado em %d minutos\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "O sistema será desligado em 1 minuto\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "O sistema será desligado IMEDIATAMENTE!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Năo é possível fazer fork para swapoff. Droga!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr ""
+#~ "Năo é possível exec swapoff. Esperando que umount resolva o problema."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Năo é possível fazer fork para umount; tentando manualmente."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Năo é possível exec %s; tentando umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Năo é possível exec umount; desistindo de umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Desmontando quaisquer sistemas de arquivos remanescentes..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: năo foi possível desmontar %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Inicializando em modo monousuário.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "exec de interpretador de comandos monousuário falhou\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "fork de interpretador de comandos monousuário falhou\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "erro abrindo fifo\n"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "erro executando fnalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "erro fazendo fork finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Senha incorreta.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "lstat da rota falhou\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "o fork falhou\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "năo foi possível abrir inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "sem TERM ou năo é possível stat tty\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "erro ao gravar %s: %s"
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "erro ao gravar %s: %s"
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "erro ao gravar %s: %s"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Uso: %s [-c] [-n nível] [-s tamanho_buffer]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "A abertura de %s falhou"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "malloc falhou"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "Uso: col [-bfpx] [-l nlinha]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "Uso: %s [ - ] [ -2 ] [ arquivo ... ]\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcdovx] [-e fmt] [-f arq_fmt] [-n compr] [-s pular] "
+#~ "[arquivo ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "Uso: %s [-dflpcsu] [+número_da_linha | +/padrăo] nome1 nome2 ...\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "Năo foi possível alocar buffer.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: năo foi possível ler %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: linha longa demais.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "Uso: %s [arquivo]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "malloc falhou"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Uso: %s [arquivo]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "Uso: %s [ -i ] [ -tTerm ] arquivo...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "Năo foi possível abrir %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Năo foi possível alocar mais qualquer memória\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "EOF (fim de arquivo) recebido tręs vezes - saindo...\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: falha de malloc.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#, fuzzy
+#~ msgid "login: Out of memory\n"
+#~ msgstr "%s: memória insuficiente!\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "O diretório %s năo existe!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: năo há memória para script de interpretador de comandos.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: năo existe interpretador de comandos: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: permissăo negada"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: năo foi possível realizar fork\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: năo foi possível ler %s.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: năo foi possível stat arquivo temporário.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: năo foi possível ler arquivo temporário.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "erro de gravaçăo em %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "erro de busca"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " e "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: usuário desconhecido\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: valor inválido\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) foi depreciado para hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: a compatibilidade com hexdump(1) năo suporta a opçăo -%c%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; consulte strings(1)."
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: memória insuficiente!\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "A abertura de %s falhou"
+
+#, fuzzy
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "Tecla ilegal"
+
+#, fuzzy
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "năo foi possível renomear %s para %s: %s\n"
+
+#, fuzzy
+#~ msgid "rtc read"
+#~ msgstr ", pronto"
+
+#~ msgid "malloc error"
+#~ msgstr "erro de malloc"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "Uso: column [-tx] [-c colunas] [arquivo ...]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "Memória insuficiente"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "Năo foi possível alocar espaço em buffer\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "Uso: rev [arquivo ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Năo foi possível alocar buffer.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Falta memória quando o buffer cresce.\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "segmentos alocados: %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "páginas alocadas %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "páginas residentes: %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "páginas permutadas: %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Desempenho de permuta: %ld tentativas\t %ld sucessos\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "erro executando programa\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "Valor definido inválido: %s\n"
+
+#~ msgid "current"
+#~ msgstr "atual"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "novas "
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#, fuzzy
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext2"
+
+#, fuzzy
+#~ msgid "Linux XFS"
+#~ msgstr "Linux"
+
+#, fuzzy
+#~ msgid "Linux JFS"
+#~ msgstr "Linux"
+
+#, fuzzy
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux nativa"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "HPFS do OS/2"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "IFS do OS/2"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Uso: fdisk [-b SSZ] [-u] DISCO Altera a tabela de partiçőes.\n"
+#~ " fdisk -l [-b SSZ] [-u] DISCO Lista a(s) tabela(s) de partiçőes.\n"
+#~ " fdisk -s PARTIÇĂO Dá o tamanho da(s) partiçăo(őes), em "
+#~ "blocos.\n"
+#~ " fdisk -v Dá a versăo do fdisk.\n"
+#~ "Aqui, DISCO é algo como /dev/hdb ou /dev/sda\n"
+#~ "e PARTIÇĂO é algo como /dev/hda7.\n"
+#~ "-u: dá Início e Fim em unidades de setor (em vez de cilindro).\n"
+#~ "-b 2048: (para certas unidades MO) usar setores de 2048 bytes.\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Uso: fdisk [-l] [-b SSZ] [-u] dispositivo\n"
+#~ "Ex.: fdisk /dev/hda (para o primeiro disco IDE);\n"
+#~ " ou : fdisk /dev/sdc (para o terceiro disco SCSI );\n"
+#~ " ou : fdisk /dev/eda (para a primeira unidade ESDI PS/2);\n"
+#~ " ou : fdisk /dev/rd/c0d0 ou : fdisk /dev/ida/c0d0 (para dispositivos "
+#~ "RAID)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "O númeor de cilindros para este disco está configurado para %d.\n"
+#~ "Năo existe nada de errado, mas isto é maior que 1024,\n"
+#~ "e pode em certas configuraçőes causar problemas com:\n"
+#~ "1) programas que executam em tempo de inicializaçăo (versőes velhas do "
+#~ "LILO)\n"
+#~ "2) inicializaçăo e programas de particionamento de outros OSs\n"
+#~ " (p.ex., DOS FDISK, OS/2 FDISK)\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: nenhum %s encontrado - criando-o...\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "Uso : %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h para ajuda.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Especificaçăo de recurso:\n"
+#~ "\t-m : memória compartilhada\n"
+#~ "\t-q : mensagens\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semáforos\n"
+#~ "\t-a : tudo (padrăo)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Formato de saída:\n"
+#~ "\t-t : horário\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : criador\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : limites\n"
+#~ "\t-u : resumo\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr ", erro"
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "erro na leitura de %s\n"
+
+#, fuzzy
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr ""
+#~ "Uso: rdev [ -rsv ] [ -o DESLOCAMENTO ] [ IMAGEM [ VALOR "
+#~ "[ DESLOCAMENTO] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (ou rdev /linux, etc.) exibe o dispositivo RAIZ atual"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 define a RAIZ como /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 define ROOTFLAGS (status de somente "
+#~ "leitura)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr ""
+#~ " rdev -r /dev/fd0 627 define o tamanho do RAMDISK (disco de "
+#~ "RAM)"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr ""
+#~ " rdev -v /dev/fd0 1 define o VIDEOMODE (modo de vídeo) de "
+#~ "inicializaçăo"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... usa o deslocamento de bytes N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... o mesmo que rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... o mesmo que rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... o mesmo que rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Nota: os modos de vídeo săo: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " use -R 1 para montar a raiz somente para leitura, -R 0 for leitura/"
+#~ "gravaçăo."
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "memória insuficiente?\n"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "status"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX inicializável"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "O interpretador de comandos NĂO foi alterado.\n"
+
+#, fuzzy
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s - erro: nenhum lugar para ativar permuta (swap)?\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "fatal: primeira página ilegível"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: o dispositivo '%s' contém um rótulo de disco Sun válido.\n"
+#~ " Isto provavelmente significa que criar a permuta (swap) v0 destruirá sua "
+#~ "tabela de partiçőes.\n"
+#~ " Nenhuma permuta criada. Se vocę realmente deseja criar uma permuta v0 "
+#~ "nesse dispositivo, use\n"
+#~ "a opçăo -f para forçar a criaçăo.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: năo foi possível mudar para o diretório raiz!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: năo foi possível stat raiz!\n"
+
+#, fuzzy
+#~ msgid "namei: buf overflow\n"
+#~ msgstr " Estouro\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? năo foi possível mudar para o diretório %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? problemas ao ler link simbólico %s - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** LIMITE DE LINKS SIMBÓLICOS DO UNIX EXCEDIDO ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: tipo de arquivo desconhecido 0%06o no arquivo %s\n"
+
+#, fuzzy
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: montando %s por %s\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: montando %s por %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: năo foi possível realizar fork\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: năo foi possível abrir %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "năo foi possível efetuar umount em %s - tentando %s em vez dele\n"
+
+#, fuzzy
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s%-10s%-10s%-10s%-10s%-10s\n"
+
+#, fuzzy
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s%-10s %-20s%-20s%-20s\n"
+
+#, fuzzy
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s%-10s%-10s%-10s\n"
+
+#, fuzzy
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
+
+#, fuzzy
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s%-10s %-26.24s %-26.24s\n"
+
+#, fuzzy
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s%-10s%-10s%-10s%-10s\n"
+
+#, fuzzy
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s%-10s %-20s%-20s%-20s\n"
+
+#, fuzzy
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s%-10s%-10s%-10s%-12s%-12s\n"
+
+#, fuzzy
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "login: falha de PAM; abortando: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "Năo foi possível ler %s; saindo."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: falha de PAM; abortando: %s\n"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: tentando montar em segundo plano \"%s\"\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: desistindo de \"%s\"\n"
+
+#, fuzzy
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr ": diretório inválido: '.' năo é o primeiro\n"
+
+#, fuzzy
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr ": diretório inválido: '..' năo é o segundo\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "calling open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "calling termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "writing string init\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "before autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "waiting for cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "reading login name\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "after getopt loop\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "exiting parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "entered parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "exiting parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "duping\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "Erro de senha."
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Aviso: \"%s\" năo está listado em /etc/shells\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "timeout = %d, quiet = %d, reboot = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr ""
+#~ "năo foi possível ler %s e năo é possível realizar ioctl da descarga\n"
+
+#, fuzzy
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "mount: năo foi possível localizar qualquer dispositivo /dev/loop#"
+
+#, fuzzy
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "Uso: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] [-p prioridade] especial ...\n"
+#~ " %s [-s]\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "Uso: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] [-p prioridade] especial ...\n"
+#~ " %s [-s]\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: năo foi possível abrir %s: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "renice prioridade [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] usuários ]\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: sinal desconhecido %s\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Assumindo páginas de tamanho %d (năo %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "A configuraçăo automática encontrou um(a) %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Tipo da unidade\n"
+#~ " ? configuraçăo automática\n"
+#~ " 0 personalizada (com padrőes detectados por hardware)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Selecione o tipo (? para automática, 0 para personalizada): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Cilindros Alternativos"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Cilindros físicos"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Vocę pode alterar todos os parâmetros do disco a partir do menu x"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "Disquete de 3,5 pol."
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux personalizado"
+
+#, fuzzy
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s de %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "mount: năo foi possível abrir %s - conversőes de UUID e LABEL năo podem "
+#~ "ser feitas\n"
+
+#, fuzzy
+#~ msgid "%s: bad UUID"
+#~ msgstr "mount: UUID inválida"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr ""
+#~ "mount: falhou com o mount do nfs versăo 4, tentando com o 3..\n"
+#~ " \n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: montando %s\n"
+
+#, fuzzy
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: vocę precisa especificar o tipo do sistema de arquivos"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: argumento host:dir excessivamente longo\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: aviso: nomes de host múltiplos năo săo suportados\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: diretório a montar năo está no formato host:dir\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: năo é possível obter endereço para %s\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: obtido hp->h_length inválido\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: argumento de opçăo excessivamente longo\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Aviso: opçăo proto= năo reconhecida.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Aviso: a opçăo namlen năo é suportada.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "parâmetro de montagem de nfs desconhecido: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Aviso: a opçăo nolock năo é suportada.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "opçăo de montagem de nfs desconhecida: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: obtido hp->h_length inválido?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "usado portmapper para localizar porta NFS\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "usando porta %d para o daemon do nfs\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "valor de retorno de status de nfs desconhecido: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "host: %s, diretório: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: năo foi possível obter endereço de %s\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: obtido hostp->h_length inválido\n"
+
+#~ msgid "Block %d in file `"
+#~ msgstr "O bloco %d no arquivo `"
+
+#~ msgid ": bad directory: size<32"
+#~ msgstr ": diretório inválido: tamanho < 32"
+
+#~ msgid "not "
+#~ msgstr "năo "
+
+#~ msgid "%s: not compiled with minix v2 support\n"
+#~ msgstr "%s: năo compilado com suporte a minix v2\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Erro de sintaxe: '%s'\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Năo há tal parâmetro definido: '%s'\n"
+
+#~ msgid "usage: %s [ -p ] dev name\n"
+#~ msgstr "Uso: %s [ -p ] dispositivo\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 "
+#~ "fmt_gap\n"
+#~ msgstr ""
+#~ " %s [ -p ] disp tam set cabeç trilhas ext interv taxa spec1 "
+#~ "fmt_interv\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] disp\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] disp\n"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "Boot (%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Nenhum (%02X)"
+
+#~ msgid "Partition %i does not end on cylinder boundary:\n"
+#~ msgstr "A partiçăo %i năo termina em um limite de cilindro:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Disk %s: %d heads, %d sectors, %d cylinders\n"
+#~ "Units = %s of %d * %d bytes\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Disco %s: %d cabeças, %d setores, %d cilindros\n"
+#~ "Unidades = %s de %d * %d bytes\n"
+#~ "\n"
+
+#~ msgid "Warning: partition %d has an odd number of sectors.\n"
+#~ msgstr "Aviso: a partiçăo %d possui um número ímpar de setores.\n"
+
+#~ msgid ""
+#~ "Re-read table failed with error %d: %s.\n"
+#~ "Reboot your system to ensure the partition table is updated.\n"
+#~ msgstr ""
+#~ "A releitura da tabela de partiçőes falhou. Erro %d: %s.\n"
+#~ "Reinicialize o sistema para assegurar-se de que a tabela de partiçőes "
+#~ "seja atualizada.\n"
+
+#~ msgid "AST Windows swapfile"
+#~ msgstr "Arquivo de permuta Windows AST"
+
+#~ msgid "BSD/386"
+#~ msgstr "BSD/386"
+
+#~ msgid "and will destroy it when filled\n"
+#~ msgstr "e destruirá a tabela quando cheia\n"
+
+#~ msgid " (although this is not a problem under Linux)\n"
+#~ msgstr " (embora isto năo seja um problema no Linux)\n"
+
+#~ msgid "(For listing purposes only. Do not change its contents.)\n"
+#~ msgstr "(Para propósitos somente de listagem. Năo altere seu conteúdo.)\n"
+
+#~ msgid "DOS and Linux will interpret the contents differently.\n"
+#~ msgstr "DOS e Linux văo interpretar seu conteúdo diferentemente.\n"
+
+#~ msgid "version"
+#~ msgstr "versăo"
+
+#~ msgid "for reading"
+#~ msgstr "para leitura"
+
+#~ msgid "BLKGETSIZE ioctl failed for %s\n"
+#~ msgstr "ioctl BLKGETSIZE falhou para %s\n"
+
+#~ msgid "usage: banner [-w width]\n"
+#~ msgstr "Uso: banner [-w largura]\n"
+
+#~ msgid "Message: "
+#~ msgstr "Mensagem: "
+
+#~ msgid "The character '%c' is not in my character set"
+#~ msgstr "O caractere '%c' năo faz parte do meu conjunto de caracteres"
+
+#~ msgid "Message '%s' is OK\n"
+#~ msgstr "A mensagem '%s' está OK\n"
+
+#~ msgid "unrecognized option `%s'\n"
+#~ msgstr "opçăo `%s' năo reconhecida\n"
+
+#~ msgid "option `%s' doesn't allow an argument\n"
+#~ msgstr "a opçăo `%s' năo permite um argumento\n"
+
+#~ msgid "unrecognized option `-%c'\n"
+#~ msgstr "opçăo `-%c' năo reconhecida\n"
+
+#~ msgid "Usage: %s [ -s shell ] "
+#~ msgstr "Uso: %s [ -s interpretador_de_comandos ] "
+
+#~ msgid " [ username ]\n"
+#~ msgstr " [ nome_usuário ]\n"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "năo foi possível abrir /dev/urandom"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "năo foi possível ler dados aleatórios de /dev/urandom"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "năo foi possível stat(%s)"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "%s năo possui os modos de arquivo corretos"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "năo foi possível ler dados de %s"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "Número máximo de usuários já conectados.\n"
+#~ "Tente novamente mais tarde.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Número excessivo de processos em execuçăo.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "A senha deve ter pelo menos 6 caracteres; tente novamente.\n"
+
+#~ msgid "The password must contain characters out of two of the following\n"
+#~ msgstr "A senha deve conter caracteres de uma das duas classes seguintes:\n"
+
+#~ msgid ""
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ msgstr ""
+#~ "letras maiúsculas e minúsculas, dígitos e caracteres năo alfanuméricos.\n"
+
+#~ msgid "characters. See passwd(1) for more information.\n"
+#~ msgstr "Consulte passwd(1) para maiores informaçőes.\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "Vocę năo pode reutilizar a senha antiga.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr "Năo use algo como seu nome de usuário como senha!\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr "Năo use algo como seu nome real como senha!\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Uso: passwd [nome_usuário [senha]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "Somente root pode usar os formatos de um e dois argumentos.\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Uso: passwd [-foqsvV] [nome_usuário [senha]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "Năo foi possível exec %s: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "Năo foi possível localizar o nome de login"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Somente root pode alterar senhas de terceiros.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr ""
+#~ "Năo foi possível encontrar o nome de usuário em nenhum lugar. `%s' "
+#~ "realmente é um nome de usuário?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr "Eu só posso alterar senhas locais. Use yppasswd."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "Nome de usuário e UID năo correspondem, impostor!"
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "Alterando a senha para o usuário %s\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Informe a senha anterior: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Senha incorreta, impostor."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Informe a nova senha: "
+
+#~ msgid "Password not changed."
+#~ msgstr "A senha NĂO foi alterada."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Redigite a nova senha: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Vocę năo a informou corretamente. A senha năo foi alterada."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "senha alterada, usuário %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "A SENHA DO ROOT FOI ALTERADA"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "senha alterada pelo root, usuário %s"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "chamando setpwnam para definir a senha.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Senha alterada.\n"
+
+#~ msgid "rebooted"
+#~ msgstr "reinicializado"
+
+#~ msgid "halted"
+#~ msgstr "parado"
+
+#~ msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
+#~ msgstr "%s: [%04x]:%ld (%s) deslocamento %d, criptografia %s\n"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ " Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: Năo foi possível localizar nenhum dispositivo de laço.\n"
+#~ " Talvez dev/loop# tenha um número principal incorreto?"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device (then recompile or `insmod loop.o'), or\n"
+#~ " maybe /dev/loop# has the wrong major number?"
+#~ msgstr ""
+#~ "mount: Năo foi possível localizar nenhum dispositivo de laço. Talvez este "
+#~ "kernel\n"
+#~ " năo conheça o dispositivo de laço (se for este o caso, recompile "
+#~ "ou use `insmod loop.o')\n"
+#~ " ou talvez dev/loop# tenha um número principal incorreto?"
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "Inicializaçăo (até 16 dígitos hexadecimais):"
+
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "Digito năo hexadecimal '%c'.\n"
+
+#~ msgid "Don't know how to get key for encryption system %d\n"
+#~ msgstr ""
+#~ "O modo de obter a chave para o sistema de criptografia %d năo é "
+#~ "conhecido\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr "mount: esta versăo foi compilada sem suporte ao tipo `nfs'"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "not mounted anything"
+#~ msgstr "nada foi montado"
+
+#~ msgid "umount: only root can unmount %s from %s"
+#~ msgstr "umount: somente root pode desmontar %s de %s"
+
+#~ msgid "default"
+#~ msgstr "padrăo"
+
+#~ msgid "%s: %lu ints, %lu/%lu chars; "
+#~ msgstr "%s: %lu ints, %lu/%lu chars; "
+
+#~ msgid "fifo: %lu thresh, %lu tmout, "
+#~ msgstr "fifo: %lu limiar, %lu tempo-limite, "
+
+#~ msgid "%lu max, %lu now\n"
+#~ msgstr "%lu máx, %lu agora\n"
+
+#~ msgid " which you have read access.\n"
+#~ msgstr " os quais vocę tem acesso de leitura.\n"
+
+#~ msgid "%-10s%-10s%-10s%-10s%-10s%-12s\n"
+#~ msgstr "%-10s%-10s%-10s%-10s%-10s%-12s\n"
+
+#~ msgid " rdev -s /dev/fd0 /dev/hda2 set the SWAP device"
+#~ msgstr ""
+#~ " rdev -s /dev/fd0 /dev/hda2 define o dispositivo de SWAP (permuta)"
+
+#~ msgid " swapdev ... same as rdev -s"
+#~ msgstr " swapdev ... o mesmo que rdev -s"
+
+#~ msgid "Can't open help file"
+#~ msgstr "Năo foi possível abrir o arquivo de ajuda"
diff --git a/po/quot.sed b/po/quot.sed
new file mode 100644
index 0000000..0122c46
--- /dev/null
+++ b/po/quot.sed
@@ -0,0 +1,6 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/â€\1’/g
+s/ '\([^`']*\)' / â€\1’ /g
+s/ '\([^`']*\)'$/ â€\1’/g
+s/^'\([^`']*\)' /â€\1’ /g
+s/“”/""/g
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
new file mode 100644
index 0000000..2436c49
--- /dev/null
+++ b/po/remove-potcdate.sin
@@ -0,0 +1,19 @@
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/ru.gmo b/po/ru.gmo
new file mode 100644
index 0000000..753fe20
--- /dev/null
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..daaa291
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,18063 @@
+# Translation of util-linux-2.13-pre7.po to Russian
+# Copyright (C) 2003 Free Software Foundation Inc.
+# This file is put in the public domain.
+#
+# Pavel Maryanov <acid_jack@ukr.net>, 2003, 2004, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.13-pre7\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2006-03-07 12:42+0200\n"
+"Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n"
+"Language-Team: Russian <ru@li.org>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=KOI8-R\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "ĐĹŇĹŢÉÔÁÔŘ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "ŐÓÔÁÎĎ×ÉÔŘ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "ŐÓÔÁÎĎ×ÉÔŘ ŢÔĹÎÉĹ-ÚÁĐÉÓŘ"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "ĐĎĚŐŢÉÔŘ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+#, fuzzy
+msgid "get logical block (sector) size"
+msgstr "ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÓĹËÔĎŇÁ"
+
+#: disk-utils/blockdev.c:93
+#, fuzzy
+msgid "get physical block (sector) size"
+msgstr "ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÓĹËÔĎŇÁ"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ inode"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "äĎĐĎĚÎÉÔĹĚŘÎŮĹ ÓĹËÔĎŇŮ ÎÁ ĂÉĚÉÎÄŇ"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÂĚĎËÁ"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "ŐÓÔÁÎĎ×ÉÔŘ ŇÁÚÍĹŇ ÂĚĎËÁ"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "ĐĎĚŐŢÉÔŘ ËĎĚÉŢĹÓÔ×Ď 32-ÂÉÔÎŮČ ÓĹËÔĎŇĎ×"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ × ÂÁĘÔÁČ"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "ŐÓÔÁÎĎ×ÉÔŘ ŐĐŇĹÖÄÁŔÝĹĹ ŢÔĹÎÉĹ"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "ĐĎĚŐŢÉÔŘ ŐĐŇĹÖÄÁŔÝĹĹ ŢÔĹÎÉĹ"
+
+#: disk-utils/blockdev.c:162
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "ŐÓÔÁÎĎ×ÉÔŘ ŐĐŇĹÖÄÁŔÝĹĹ ŢÔĹÎÉĹ"
+
+#: disk-utils/blockdev.c:168
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "ĐĎĚŐŢÉÔŘ ŐĐŇĹÖÄÁŔÝĹĹ ŢÔĹÎÉĹ"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "ĎŢÉÓÔÉÔŘ ÂŐĆĹŇŮ"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "ĐĹŇĹŢÉÔÁÔŘ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ × ÂÁĘÔÁČ"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÄÉÓËÁ"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: îĹÉÚ×ĹÓÔÎÁŃ ËĎÍÁÎÄÁ: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "äĚŃ %s ÔŇĹÂŐĹÔÓŃ ÁŇÇŐÍĹÎÔ\n"
+
+#: disk-utils/blockdev.c:370
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s ÚÁ×ĹŇŰĹÎ ŐÓĐĹŰÎĎ.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: ĎŰÉÂËÁ ŐĐŇÁ×ĚĹÎÉŃ ××ĎÄĎÍ-×Ů×ĎÄĎÍ ÎÁ %s\n"
+
+#: disk-utils/blockdev.c:469
+#, fuzzy, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "ţÔ úĐ óËÔ âĚË îÁŢóĹËÔ ňÁÚÍĹŇ őÓÔŇĎĘÓÔ×Ď\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: sfdisk --id ŐÓÔŇĎĘÓÔ×Ď ÎĎÍĹŇ_ŇÁÚÄĹĚÁ [Id]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "ĐĹŇĹŢÉÔÁÔŘ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ ÉĚÉ ĆÁĘĚĎÍ\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "÷ŮĐĎĚÎŃĹÔÓŃ ĆĎŇÍÁÔÉŇĎ×ÁÎÉĹ ... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "ÇĎÔĎ×Ď\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "÷ŮĐĎĚÎŃĹÔÓŃ ĐŇĎ×ĹŇËÁ ... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "ţÔĹÎÉĹ:"
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "ďŰÉÂËÁ ŢÔĹÎÉŃ ĂÉĚÉÎÄŇÁ %d, ĎÖÉÄÁĚĎÓŘ %d, ĐŇĎŢÉÔÁÎĎ %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"ĐĚĎČÉĹ ÄÁÎÎŮĹ × ĂÉĚÉÎÄŇĹ %d\n"
+"đŇĎÄĎĚÖĹÎÉĹ ... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s ÉÚ %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: %s)"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: ÎĹ ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÂŮĚĎ ĎĐŇĹÄĹĚÉÔŘ ÔĹËŐÝÉĘ ÔÉĐ ĆĎŇÍÁÔÁ"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s-ÓÔĎŇĎÎÎÉĘ, %d ÄĎŇĎÖĹË, %d ÓĹËÔ/ÄĎŇĎÖË. ďÂÝÁŃ ĹÍËĎÓÔŘ %d Ëâ.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "ä×ĎĘÎĎĘ"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "ďÄÉÎÁŇÎŮĘ"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s ĐŇÉÍĎÎÔÉŇĎ×ÁÎ.\t "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s: ÎĹ ÎÁĘÄĹÎ"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "óÉÎČŇĎÎÉÚÉŇŐŔÔÓŃ ÄÉÓËÉ.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s ÚÁ×ĹŇŰĹÎ ŐÓĐĹŰÎĎ.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s: ÎĹ ÎÁĘÄĹÎ"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "ÓĎÚÄÁÎÉĹ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: ĎŰÉÂËÁ %d ĐŇÉ ŇÁÓĐÁËĎ×ËĹ! %p(%d)\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s ÎĹ lp-ŐÓÔŇĎĘÓÔ×Ď.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: ÎĹÉÚ×ĹÓÔÎŮĘ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ '%s'"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "úÁĐŐÓËÁĹÔÓŃ ĐŇĎ×ĹŇËÁ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ ÎÁ %s.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: %s ÎĹ lp-ŐÓÔŇĎĘÓÔ×Ď.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s ŇÁÚÍĎÎÔÉŇĎ×ÁÎ\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "ňÁÚÍĎÎÔÉŇŐŔÔÓŃ ×ÓĹ ĎÓÔÁ×ŰÉĹÓŃ ĆÁĘĚĎ×ŮĹ ÓÉÓÔĹÍŮ..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "ňÁÚÍĎÎÔÉŇŐŔÔÓŃ ×ÓĹ ĎÓÔÁ×ŰÉĹÓŃ ĆÁĘĚĎ×ŮĹ ÓÉÓÔĹÍŮ..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: ÎĹÉÚ×ĹÓÔÎŮĘ ÁŇÇŐÍĹÎÔ: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version ÷Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ×ĹŇÓÉÉ\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ - ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ŇÁÚÍĹŇ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ\n"
+
+#: disk-utils/fsck.cramfs.c:158
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ ÉĚÉ ĆÁĘĚĎÍ\n"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: ÎĹ×ĹŇÎŮĘ cramfs - ŇÁÚÍĹŇ ĆÁĘĚÁ ÓĚÉŰËĎÍ ÍÁĚ\n"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: %s)"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: disk-utils/fsck.cramfs.c:188
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ÓĹËÔĎŇĎ×"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s ŇÁÓĐĎĚĎÇÁĹÔÓŃ ÄĎ ËĎÎĂÁ ÄÉÓËÁ\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ - ÓÔÁŇŮĘ ĎÂŇÁÚ cramfs, ÎĹÔ CRC\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+#, fuzzy
+msgid "crc error"
+msgstr ", ĎŰÉÂËÁ"
+
+#: disk-utils/fsck.cramfs.c:324
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " 'ÄŮŇÁ' × %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " ŇÁÓĐÁËĎ×Ů×ÁĹÔÓŃ ÂĚĎË %ld × %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: îĹÂĚĎŢÎŮĹ (%ld) ÂÁĘÔŮ\n"
+
+#: disk-utils/fsck.cramfs.c:394
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: âĹÚŇÁÚÍĹŇÎŮĹ (%ld ĐŇĎÔÉ× %ld) ÂÁĘÔŮ\n"
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: %s)"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "mount ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "mount ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÔÁĘÍ-ÁŐÔÁ: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ: %m"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ inode"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: ĎŰÉÂËÁ ŇÁÚÍĹŇÁ × ÓÉÍ×ĎĚÉŢĹÓËĎĘ ÓÓŮĚËĹ `%s'\n"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: ĆÉËÔÉ×ÎŮĘ ŇĹÖÉÍ ÎÁ `%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:584
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "mount ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: ÎĹ×ĹŇÎŮĘ cramfs - ËĎÎĹĂ ÄÁÎÎŮČ ËÁÔÁĚĎÇÁ (%ld) != ÎÁŢÁĚĎ ÄÁÎÎŮČ ĆÁĘĚÁ "
+"(%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:625
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: ÎĹ×ĹŇÎŮĘ cramfs - ĎŰÉÂĎŢÎĎĹ ÓÍĹÝĹÎÉĹ ÄÁÎÎŮČ ĆÁĘĚÁ\n"
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: ĎÔËĎÍĐÉĚÉŇĎ×ÁÎ ÂĹÚ ĐĎÄÄĹŇÖËÉ -x\n"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: ďë\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file ÉÍŃ_ĆÁĘĚÁ_ÄÁÍĐÁ ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "ÎŐÖĹÎ ÔĹŇÍÉÎÁĚ ÄĚŃ ÉÎÔĹŇÁËÔÉ×ÎĎÇĎ ÉÓĐŇÁ×ĚĹÎÉŃ"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version ÷Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ×ĹŇÓÉÉ\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s ĐŇÉÍĎÎÔÉŇĎ×ÁÎ.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "÷Ů ÄĹĘÓÔ×ÉÔĹĚŘÎĎ ČĎÔÉÔĹ ĐŇĎÄĎĚÖÉÔŘ"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "ĐŇĎ×ĹŇËÁ ĐŇĹŇ×ÁÎÁ.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "úĎÎÁ nr < FIRSTZONE × ĆÁĘĚĹ `%s'."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "úĎÎÁ nr >= ZONES × ĆÁĘĚĹ `%s'."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "őÄÁĚÉÔŘ ÂĚĎË"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "ďŰÉÂËÁ ŢÔĹÎÉŃ: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ÂĚĎË × ĆÁĘĚĹ '%s'\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "ďŰÉÂËÁ ŢÔĹÎÉŃ: ĎŰÉÂĎŢÎŮĘ ÂĚĎË × ĆÁĘĚĹ '%s'\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"÷ÎŐÔŇĹÎÎŃŃ ĎŰÉÂËÁ: ĐĎĐŮÔËÁ ÚÁĐÉÓÁÔŘ ĎŰÉÂĎŢÎŮĘ ÂĚĎË\n"
+"úÁĐŇĎÓ ÎÁ ÚÁĐÉÓŘ ĐŇĎÉÇÎĎŇÉŇĎ×ÁÎ\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "ĐĎÉÓË × write_block ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ: ÎĹ×ĹŇÎŮĘ ÂĚĎË × ĆÁĘĚĹ '%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "ĐĎÉÓË × write_super_block ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ÓŐĐĹŇÂĚĎË"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ËÁŇÔŐ inode"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ËÁŇÔŐ zone"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ inode'Ů"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇŮ ÄĚŃ ËÁŇÔ"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ ÓŐĐĹŇÂĚĎË"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "ÎĹ×ĹŇÎĎĹ ÍÁÇÉŢĹÓËĎĹ ŢÉÓĚĎ × ÓŐĐĹŇÂĚĎËĹ"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "đĎÄÄĹŇÖÉ×ÁŔÔÓŃ ÔĎĚŘËĎ 1k ÂĚĎËÉ/ÚĎÎŮ"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "ÎĹ×ĹŇÎĎĹ ĐĎĚĹ s_imap_blocks × ÓŐĐĹŇÂĚĎËĹ"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "ÎĹ×ĹŇÎĎĹ ĐĎĚĹ s_zmap_blocks × ÓŐĐĹŇÂĚĎËĹ"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŇÁÚÍĹÓÔÉÔŘ ÂŐĆĹŇ ÄĚŃ ËÁŇÔŮ inode"
+
+#: disk-utils/fsck.minix.c:600
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŇÁÚÍĹÓÔÉÔŘ ÂŐĆĹŇ ÄĚŃ ËÁŇÔŮ inode"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŇÁÚÍĹÓÔÉÔŘ ÂŐĆĹŇ ÄĚŃ inode'Ď×"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ ÄĚŃ ŢÉÓĚÁ inode"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ ÄĚŃ ŢÉÓĚÁ ÚĎÎ"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ ËÁŇÔŐ inode"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ ËÁŇÔŐ ÚĎÎ"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ inode'Ů"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: đĹŇ×ÁŃ ÚĎÎÁ != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inode'Ď×\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld ÂĚĎËĎ×\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "đĹŇ×ÁŃ ÚĎÎÁ ÄÁÎÎŮČ=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "ňÁÚÍĹŇ ÚĎÎŮ=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "íÁËÓ. ŇÁÚÍĹŇ=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "óĎÓÔĎŃÎÉĹ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"ÄĚÉÎÁ ÉÍĹÎÉ=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inode %d ĐĎÍĹŢĹÎ ËÁË ÎĹÉÓĐĎĚŘÚŐĹÍŮĘ, ÎĎ ÉÓĐĎĚŘÚŐĹÔÓŃ ĆÁĘĚĎÍ '%s'\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "đĎÍĹÔÉÔŘ, ËÁË ÉÓĐĎĚŘÚŐĹÍŮĘ"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "ćÁĘĚ `%s' ÎÁČĎÄÉÔÓŃ × ŇĹÖÉÍĹ %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŢÉÓĚĎ inode ÓĚÉŰËĎÍ ×ĹĚÉËĎ.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "âĚĎË ÂŮĚ ÉÓĐĎĚŘÚĎ×ÁÎ ŇÁÎĹĹ. ôĹĐĹŇŘ × ĆÁĘĚĹ `%s'."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "ďŢÉÓÔÉÔŘ"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "âĚĎË %d × ĆÁĘĚĹ `%s' ĐĎÍĹŢĹÎ ËÁË ÎĹÉÓĐĎĚŘÚŐĹÍŮĘ."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "éÓĐŇÁ×ÉÔŘ"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "ëÁÔÁĚĎÇ '%s' ÓĎÄĹŇÖÉÔ ÎĹ×ĹŇÎŮĘ ÎĎÍĹŇ inode ÄĚŃ ĆÁĘĚÁ '%.*s'."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " őÄÁĚÉÔŘ"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: ÎĹ×ĹŇÎŮĘ ËÁÔÁĚĎÇ: '.' ÎĹ ĐĹŇ×ŮĘ\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: ÎĹ×ĹŇÎŮĘ ËÁÔÁĚĎÇ: '..' ÎĹ ×ÔĎŇĎĘ\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "×ÎŐÔŇĹÎÎŃŃ ĎŰÉÂËÁ"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: ÎĹ×ĹŇÎŮĘ ËÁÔÁĚĎÇ: ŇÁÚÍĹŇ < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "ĐĎÉÓË × bad_zone ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "ňĹÖÉÍ inode %d ÎĹ ĎŢÉÝĹÎ."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inode %d ÎĹ ÉÓĐĎĚŘÚŐĹÔÓŃ, ĐĎÍĹŢĹÎ ËÁË ÉÓĐĎĚŘÚŐĹÍŮĘ × bitmap'Ĺ."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inode %d ÉÓĐĎĚŘÚŐĹÔÓŃ, ĐĎÍĹŢĹÎ ËÁË ÎĹÉÓĐĎĚŘÚŐĹÍŮĘ × bitmap'Ĺ."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "đŇÉÓ×ĎÉÔŘ"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (ŇĹÖÉÍ = %07o), i_nlinks=%d, counted=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "đŇÉÓ×ĎÉÔŘ i_nlinks'Ő ŢÉÓĚĎ"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "úĎÎÁ %d: ĐĎÍĹŢĹÎÁ ËÁË ÉÓĐĎĚŘÚŐĹÍÁŃ, ÎĎ ÉÓĐĎĚŘÚŐŔÝÉČ ĹĹ ĆÁĘĚĎ× ÎĹÔ."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "óÎŃÔŘ ÍĹÔËŐ"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "úĎÎÁ %d: ÉÓĐĎĚŘÚŐĹÔÓŃ, counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "úĎÎÁ %d: ÎĹ ÉÓĐĎĚŘÚŐĹÔÓŃ, counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ inode"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ v2 inode"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "ÎŐÖĹÎ ÔĹŇÍÉÎÁĚ ÄĚŃ ÉÎÔĹŇÁËÔÉ×ÎĎÇĎ ÉÓĐŇÁ×ĚĹÎÉŃ"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s ŢÉÓÔ, ĐŇĎ×ĹŇËÁ ÎĹ ÎŐÖÎÁ.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "úÁĐŐÓËÁĹÔÓŃ ĐŇĎ×ĹŇËÁ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ ÎÁ %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "ćÁĘĚĎ×ÁŃ ÓÉÓÔĹÍÁ ÎÁ %s ĐĎ×ŇĹÖÄĹÎÁ, ÎŐÖÎÁ ĐŇĎ×ĹŇËÁ.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"éÓĐĎĚŘÚŐŔÔÓŃ %6ld inodes (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "éÓĐĎĚŘÚŐŔÔÓŃ %6ld ÚĎÎ (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d ĎÂŮŢÎŮČ ĆÁĘĚĎ×\n"
+"%6d ËÁÔÁĚĎÇĎ×\n"
+"%6d ĆÁĘĚĎ× ÓÉÍ×ĎĚŘÎŮČ ŐÓÔŇĎĘÓÔ×\n"
+"%6d ĆÁĘĚĎ× ÂĚĎŢÎŮČ ŐÓÔŇĎĘÓÔ×\n"
+"%6d ÓÓŮĚĎË\n"
+"%6d ÓÉÍ×ĎĚÉŢĹÓËÉČ ÓÓŮĚĎË\n"
+"------\n"
+"%6d ĆÁĘĚĎ×\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"ćáęěď÷áń óéóôĺíá âůěá éúíĺîĺîá\n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: ĎŰÉÂËÁ ĐĎÉÓËÁ ÎÁ %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: ĎŰÉÂËÁ ŢÔĹÎÉŃ ÎÁ %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "ŢÉÓĚĎ ÓĹËÔĎŇĎ×: %d, ŇÁÚÍĹŇ ÓĹËÔĎŇÁ: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ĂÉĚÉÎÄŇĎ×"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "ÉÍŃ ÔĎÍÁ ÓĚÉŰËĎÍ ÄĚÉÎÎĎĹ"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "ÉÍŃ ĆÁĘĚ. ÓÉÓÔĹÍŮ ÓĚÉŰËĎÍ ÄĚÉÎÎĎĹ"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ÎĹ Ń×ĚŃĹÔÓŃ ĎÓĎÂŮÍ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "ÁŇÇŐÍĹÎÔ ÂĚĎËĎ× ÓĚÉŰËĎÍ ×ĹĚÉË, ÍÁËÓÉÍŐÍ - %lu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "ÓĚÉŰËĎÍ ÍÎĎÇĎ inode'Ď×, ÍÁËÓÉÍŐÍ - 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "ÎĹ Č×ÁÔÁĹÔ ÍĹÓÔÁ, ÎŐÖÎĎ ËÁË ÍÉÎÉÍŐÍ %lu ÂĚĎËĎ×"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "őÓÔŇĎĘÓÔ×Ď: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "ôĎÍ: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "éÍŃ ĆÁĘĚ. ÓÉÓÔĹÍŮ: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "ňÁÚÍĹŇ ÂĚĎËÁ: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inode'Ů: %d (× 1 ÂĚĎËĹ)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inode'Ů: %d (× %ld ÂĚĎËÁČ)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "âĚĎËÉ: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "ëĎÎĹĂ inode: %d, ËĎÎĹĂ ÄÁÎÎŮČ: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ ÓŐĐĹŇÂĚĎËÁ"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ ËĎŇÎĹ×ĎÇĎ inode"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ inode"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ . ÜĚĹÍĹÎÔÁ"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ .. ÜĚĹÍĹÎÔÁ"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "ĎŰÉÂËÁ ÚÁËŇŮÔÉŃ %s"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: mkfs [-V] [-t ÔÉĐ_ĆÓ] [ĎĐĂÉÉ_ĆÓ] ŐÓÔŇĎĘÓÔ×Ď [ŇÁÚÍĹŇ]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, fuzzy, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-h] [-v] [-b ŇÚÍ_ÂĚË] [-e ÉÚÄÁÎÉĹ] [-i ĆÁĘĚ] [-n ÉÍŃ] "
+"ÉÍŃ_ËÁÔ ×ŮČ_ĆÁĘĚ\n"
+" -h ×Ů×ĎÄ ÜÔĎĘ ÓĐŇÁ×ËÉ\n"
+" -v ĐĎÄŇĎÂÎŮĘ ŇĹÖÉÍ\n"
+" -E ÓĎÚÄÁÎÉĹ ×ÓĹČ ĎŰÉÂĎË Ó ĐŇĹÄŐĐŇĹÖÄĹÎÉĹÍ (ÎĹÎŐĚĹ×ĎĘ ÓÔÁÔŐÓ "
+"×ŮČĎÄÁ)\n"
+" -b ŇÚÍ_ÂĚË ÉÓĐĎĚŘÚĎ×ÁÎÉĹ ÜÔĎÇĎ ŇÁÚÍĹŇÁ ÂĚĎËÁ, ÄĎĚÖĹÎ ŇÁ×ÎŃÔŘÓŃ ŇÁÚÍĹŇŐ "
+"ÓÔŇÁÎÉĂŮ\n"
+" -e ÉÚÄÁÎÉĹ ŐÓÔÁÎĎ×ËÁ ÎĎÍĹŇÁ ÉÚÄÁÎÉŃ (ŢÁÓÔŘ fsid)\n"
+" -i ĆÁĘĚ ×ÓÔÁ×ËÁ ĆÁĘĚÁ ĎÂŇÁÚÁ × ĆÁĘĚĎ×ŐŔ ÓÉÓÔĹÍŐ (ÔŇĹÂŐĹÔÓŃ >= 2.4.0)\n"
+" -n ÉÍŃ ŐÓÔÁÎĎ×ËÁ ÉÍĹÎÉ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ cramfs\n"
+" -p ÚÁĐĎĚÎĹÎÉĹ %d ÂÁĘÔÁÍÉ ÄĚŃ ÚÁÇŇŐÚĎŢÎĎÇĎ ËĎÄÁ\n"
+" -s ÓĎŇÔÉŇĎ×ËÁ ÓĎÄĹŇÖÉÍĎÇĎ ËÁÔÁĚĎÇÁ (ŐÓÔÁŇĹ×ŰÁŃ ĎĐĂÉŃ, "
+"ÉÇÎĎŇÉŇŐĹÔÓŃ)\n"
+" -z ÓĎÚÄÁÎÉĹ Ń×ÎŮČ ÄŮŇ (ÔŇĹÂŐĹÔÓŃ >= 2.3.39)\n"
+" ÉÍŃ_ËÁÔ ËĎŇÎĹ×ĎĘ ËÁÔÁĚĎÇ ÓÖÉÍÁĹÍĎĘ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ\n"
+" ×ŮČ_ĆÁĘĚ ×ŮČĎÄÎĎĘ ĆÁĘĚ\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"îÁĘÄĹÎĎ ÓĚÉŰËĎÍ ÄĚÉÎÎĎĹ (%u ÂÁĘÔ) ÉÍŃ ĆÁĘĚÁ `%s'.\n"
+" đĎÖÁĚŐĘÓÔÁ, Ő×ĹĚÉŢŘÔĹ MAX_INPUT_NAMELEN × mkcramfs.c É ĐĹŇĹËĎÍĐÉĚÉŇŐĘÔĹ. "
+"úÁ×ĹŇŰĹÎÉĹ ŇÁÂĎÔŮ.\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "ĆÁĘĚĎ×ÁŃ ÓÉÓÔĹÍÁ ÓĚÉŰËĎÍ ×ĹĚÉËÁ. úÁ×ĹŇŰĹÎÉĹ ŇÁÂĎÔŮ.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: ÂĚĎË \"ÓÖÁÔ\" × > 2*ÄĚÉÎÁ_ÂĚĎËÁ (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d ÂÁĘÔ)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: ÎĹ×ĹŇÎĎĹ ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹÇÍĹÎÔĎ× = %lu\n"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: ĐŇÉÂĚÉÚÉÔĹĚŘÎĎ ÔŇĹÂŐĹÍŮĘ ŇÁÚÍĹŇ (×ĹŇČÎŃŃ ÇŇÁÎÉĂÁ) ÓĎÓÔÁ×ĚŃĹÔ "
+"%Ldíâ, Á ÍÁËÓÉÍÁĚŘÎŮĘ ŇÁÚÍĹŇ ĎÂŇÁÚÁ - %uíâ. ÷ĎÚÍĎÖÎĎ ĐŇĹÖÄĹ×ŇĹÍĹÎÎĎĹ "
+"ÚÁ×ĹŇŰĹÎÉĹ ŇÁÂĎÔŮ.\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "÷ËĚŔŢÁŃ: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "äÁÎÎŮĹ ËÁÔÁĚĎÇÁ: %d ÂÁĘÔ\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "÷ÓĹ: %d ËÉĚĎÂÁĘÔ\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "óŐĐĹŇÂĚĎË: %d ÂÁĘÔ\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"ÎĹ Č×ÁÔÁĹÔ ÍĹÓÔÁ, ×ŮÄĹĚĹÎÎĎÇĎ ÄĚŃ ROM-ĎÂŇÁÚÁ (%Ld ×ŮÄĹĚĹÎĎ, %d "
+"ÉÓĐĎĚŘÚŐĹÔÓŃ)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "úÁĐÉÓŘ ROM-ĎÂŇÁÚÁ ÚÁ×ĹŇŰÉĚÁÓŘ ÎĹŐÄÁŢĹĘ (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÉÍĹÎÁ ĆÁĘĚĎ× ŐÍĹÎŘŰĹÎŮ ÄĎ 255 ÂÁĘÔ.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÉÚ-ÚÁ ĎŰÉÂĎË ÂŮĚÉ ĐŇĎĐŐÝĹÎŮ ĆÁĘĚŮ.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÍĹŇŮ ĆÁĘĚĎ× ŐÍĹÎŘŰĹÎŮ ÄĎ %luíâ (ÍÉÎŐÓ 1 ÂÁĘÔ).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: uid'Ů ŐÍĹÎŘŰĹÎŮ ÄĎ %u ÂÉÔ. (üÔĎ ÍĎÖĹÔ ËÁÓÁÔŘÓŃ "
+"ÂĹÚĎĐÁÓÎĎÓÔÉ.)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: gid'Ů ŐÍĹÎŘŰĹÎŮ ÄĎ %u ÂÉÔ. (üÔĎ ÍĎÖĹÔ ËÁÓÁÔŘÓŃ "
+"ÂĹÚĎĐÁÓÎĎÓÔÉ.)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"đňĺäőđňĺöäĺîéĺ: ŢÉÓĚĎ ŐÓÔŇĎĘÓÔ× ŐÍĹÎŘŰĹÎĎ ÄĎ %u ÂÉÔ. üÔĎ ĐŇÁËÔÉŢĹÓËÉ\n"
+"×ÓĹÇÄÁ ĎÚÎÁŢÁĹÔ, ŢÔĎ ÎĹËĎÔĎŇŮĹ ĆÁĘĚŮ ŐÓÔŇĎĘÓÔ× ÂŮĚÉ ÎĹ×ĹŇÎŮ.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-c | -l ÉÍŃ_ĆÁĘĚÁ] [-nXX] [-iXX] /dev/ÉÍŃ [ÂĚĎËÉ]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s ĐŇÉÍĎÎÔÉŇĎ×ÁÎ; ÎĹ ÓĎÚÄÁ×ÁĘÔĹ ÚÄĹÓŘ ĆÁĘĚĎ×ŐŔ ÓÉÓÔĹÍŐ!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "ĐĎÉÓË ÚÁÇŇŐÚĎŢÎĎÇĎ ÂĚĎËÁ × write_tables ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎŢÉÓÔÉÔŘ ÚÁÇŇŐÚĎŢÎŮĘ ÓĹËÔĎŇ"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "ĐĎÉÓË × write_tables ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ÓŐĐĹŇÂĚĎË"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ËÁŇÔŐ inode"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ËÁŇÔŐ ÚĎÎ"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ inode'Ů"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "ĐĎÉÓË × write_block ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "ÚÁĐÉÓŘ × write_block ÚÁ×ĹŇŰÉĚÁÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "ÓĚÉŰËĎÍ ÍÎĎÇĎ ĐĚĎČÉČ ÂĚĎËĎ×"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "ÎĹ Č×ÁÔÁĹÔ ČĎŇĎŰÉČ ÂĚĎËĎ×"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇŮ ÄĚŃ ËÁŇÔ"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇŮ ÄĚŃ ËÁŇÔ"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇŮ ÄĚŃ inodes"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld inode'Ď×\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld ÂĚĎËĎ×\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"íÁËÓ. ŇÁÚÍĹŇ=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "ĐĎÉÓË ×Ď ×ŇĹÍŃ ĐŇĎ×ĹŇËÉ ÂĚĎËĎ× ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "îĹĐĎÎŃÔÎŮĹ ÚÎÁŢĹÎÉŃ × do_check: ×ĎÚÍĎÖÎĎ ÓÂĎĘ\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "ĐĎÉÓË × check_blocks ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "ĐĚĎČÉĹ ÂĚĎËÉ ĐĹŇĹÄ data-area: ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ĆÓ"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d ĐĚĎČÉČ ÂĚĎËĎ×\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "ĎÄÉÎ ĐĚĎČĎĘ ÂĚĎË\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ ĐĚĎČÉČ ÂĚĎËĎ×"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ Ó ÄÉÓËĎ×ĎÇĎ ÎÁËĎĐÉÔĹĚŃ"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ inode"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "ĎŰÉÂËÁ strtol: ËĎĚÉŢĹÓÔ×Ď ÂĚĎËĎ× ÎĹ ÚÁÄÁÎĎ"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "umount: %s: ŐÓÔŇĎĘÓÔ×Ď ÚÁÎŃÔĎ"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "ĐĎĐŮÔËÁ ÓĎÚÄÁÔŘ ĆÁĘĚĎ×ŐŔ ÓÉÓÔĹÍŐ ÎÁ '%s' ×ŮĐĎĚÎĹÎÁ ÎĹ ÂŐÄĹÔ"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ÓĹËÔĎŇĎ×"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "îĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ ÓÔŇÁÎÉĂŮ %d, ŐËÁÚÁÎÎŮĘ ĐĎĚŘÚĎ×ÁÔĹĚĹÍ\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"éÓĐĎĚŘÚŐĹÔÓŃ ÚÁÄÁÎÎŮĘ ĐĎĚŘÚĎ×ÁÔĹĚĹÍ ŇÁÚÍĹŇ ÓÔŇÁÎÉĂŮ %d, ×ÍĹÓÔĎ ÓÉÓÔĹÍÎŮČ "
+"ÚÎÁŢĹÎÉĘ %d/%d\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr "îĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ swap-ÚÁÇĎĚĎ×ËÁ, ÍĹÔËÁ ÎĹ ÚÁĐÉÓÁÎÁ.\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "íĹÔËÁ ÂŮĚĎ ŐËĎŇĎŢĹÎÁ.\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "ÂĹÚ ÍĹÔËÉ, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "ÎĹÔ uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "ÓĚÉŰËĎÍ ÍÎĎÇĎ ĐĚĎČÉČ ÓÔŇÁÎÉĂ"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "ĐĎÉÓË × check_blocks ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "ĎÄÎÁ ĐĚĎČÁŃ ÓÔŇÁÎÉĂÁ\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu ĐĚĎČÉČ ÓÔŇÁÎÉĂ\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇŮ ÄĚŃ inodes"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇŮ ÄĚŃ inodes"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎŢÉÓÔÉÔŘ ÚÁÇŇŐÚĎŢÎŮĘ ÓĹËÔĎŇ"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎŢÉÓÔÉÔŘ ÚÁÇŇŐÚĎŢÎŮĘ ÓĹËÔĎŇ"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p ×Ů×ĎÄ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× BSD"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s ĎÔĎÂŇÁÖĹÎÉĹ ĐĎĚÎĎĘ ÍĹÔËÉ ÄÉÓËÁ"
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr " s ĎÔĎÂŇÁÖĹÎÉĹ ĐĎĚÎĎĘ ÍĹÔËÉ ÄÉÓËÁ"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "×ŮÄĹĚĹÎĎ ÓĹÍÁĆĎŇĎ× = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: ĎŰÉÂËÁ: ÎĹÉÚ×ĹÓÔÎÁŃ ×ĹŇÓÉŃ %d\n"
+
+#: disk-utils/mkswap.c:530
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"ďŰÉÂËÁ ÚÁËŇŮÔÉŃ ĆÁĘĚÁ\n"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: ĎŰÉÂËÁ: îÉÇÄĹ ÎĹ ŐÓÔÁÎĎ×ĚĹÎ ĆÁĘĚ Ó×ĎĐÉÎÇÁ?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: ĎŰÉÂËÁ: ŇÁÚÍĹŇ %lu ÂĎĚŘŰĹ, ŢĹÍ ŇÁÚÍĹŇ ŐÓÔŇĎĘÓÔ×Á %lu\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr ""
+"%s: ĎŰÉÂËÁ: ĐŇĎÓÔŇÁÎÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ ÄĎĚÖÎĎ ÂŮÔŘ ĐĎ ËŇÁĘÎĹĘ ÍĹŇĹ %ldËâ\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: ĐŇĎÓÔŇÁÎÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ ŐÍĹÎŘŰÁĹÔÓŃ ÄĎ %ldËâ\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s ĐŇÉÍĎÎÔÉŇĎ×ÁÎ; ÎĹ ÓĎÚÄÁ×ÁĘÔĹ ÚÄĹÓŘ ĆÁĘĚĎ×ŐŔ ÓÉÓÔĹÍŐ!"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: %s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ĐŇĎÓÔŇÁÎÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ: ÎĹŢÉÔÁĹÍŮĘ"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr ""
+"őÓÔÁÎÁ×ĚÉ×ÁĹÔÓŃ ĐŇĎÓÔŇÁÎÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ ×ĹŇÓÉÉ %d, ŇÁÚÍĹŇ = %llu Ëâ\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ÓÔŇÁÎÉĂŐ Ó ÓÉÇÎÁÔŐŇĎĘ"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#: disk-utils/mkswap.c:656
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ inode'Ů"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÉÍĹÎĎ×ÁÔŘ %s × %s: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "îĎÍĹŇ ŇÁÚÄĹĚÁ"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "đŇĎÓÔĎ ×Ů×ĹÓÔÉ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ÓĹËÔĎŇĎ×"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "îĎÍĹŇ ŇÁÚÄĹĚÁ"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d ŇÁÚÄĹĚŮ:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "ôÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ÚÁĐÉÓŮ×ÁĹÔÓŃ ÎÁ ÄÉÓË..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d ŇÁÚÄĹĚŮ:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# ÔÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× %s\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ÎÉ ĎÄÎĎÇĎ Ó×ĎÂĎÄÎĎÇĎ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: ĐĎÄÇĎÔĎ×ËÁ Ë ÉÓĐĎĚŘÚĎ×ÁÎÉŔ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ %s\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: îĹÉÚ×ĹÓÔÎÁŃ ËĎÍÁÎÄÁ: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "ĐĎÉÓË × write_tables ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "÷ŮÂŇÁÎÎŮĘ ŇÁÚÄĹĚ %d\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "ňÁÚÄĹĚŮ ÎĹ ĎĐŇĹÄĹĚĹÎŮ\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "üÔĎÔ ŇÁÚÄĹĚ ŐÖĹ ÓŐÝĹÓÔ×ŐĹÔ.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "÷ŮÂŇÁÎÎŮĘ ŇÁÚÄĹĚ %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "ÎĹ ÎÁČĎÄÉÔÓŃ × ŇÁÚÄĹĚĹ %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚŮ %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "ňÁÚÄĹĚŮ ÎĹ ĎĐŇĹÄĹĚĹÎŮ\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "ĐĹŇĹŢÉÔÁÔŘ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p ×Ů×ĎÄ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× BSD"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "îÁ ÄÉÓËĹ %s ĎÔÓŐÔÓÔ×ŐĹÔ ×ĹŇÎÁŃ ÔÁÂĚÉĂÁ ŇÁÚÄĹĚĎ×\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "äĎÓÔŐĐÎŮĹ ËĎÍÁÎÄŮ:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŐÄÁĚÉÔŘ ĐŐÓÔĎĘ ŇÁÚÄĹĚ"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁÂĚĎËÉŇĎ×ÁÔŘ ĆÁĘĚ ÂĚĎËÉŇĎ×ËÉ %s: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: %s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ŐÓÔŇĎĘÓÔ×Á %s"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ŐÓÔŇĎĘÓÔ×Á %s"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s: ÎĹÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s ÎĹ Ń×ĚŃĹÔÓŃ ĎÓĎÂŮÍ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "ĎŰÉÂËÁ ĎÓÔÁÎĎ×ËÉ ÓĹŇ×ÉÓÁ: \"%s\""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "ĎŰÉÂËÁ ĎÓÔÁÎĎ×ËÉ ÓĹŇ×ÉÓÁ: \"%s\""
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: sfdisk --id ŐÓÔŇĎĘÓÔ×Ď ÎĎÍĹŇ_ŇÁÚÄĹĚÁ [Id]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "ĐĎÉÓË × write_tables ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "ĐĹŇĹŢÉÔÁÔŘ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: ÎĹÔ ÔÁËĎÇĎ ŇÁÚÄĹĚÁ\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: ĎŰÉÂËÁ: ÎĹÉÚ×ĹÓÔÎÁŃ ×ĹŇÓÉŃ %d\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "ĐĎÉÓË × write_tables ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: îĹ Č×ÁÔÁĹÔ ĐÁÍŃÔÉ!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "îĹÉÓĐĎĚŘÚŐĹÍŮĘ"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "ó×ĎÂĎÄÎĎĹ ĐŇĎÓÔŇÁÎÓÔ×Ď"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "äÉÓË ÂŮĚ ÉÚÍĹÎĹÎ.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"ĐĹŇĹÚÁÇŇŐÚÉÔĹ ÓÉÓÔĹÍŐ, ŢÔĎÂŮ ŐÂĹÄÉÔŘÓŃ × ÔĎÍ, ŢÔĎ ÔÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ËĎŇŇĹËÔÎĎ "
+"ĎÂÎĎ×ĚĹÎÁ.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"đňĺäőđňĺöäĺîéĺ: ĺÓĚÉ ×Ů ÓĎÚÄÁ×ÁĚÉ É ÉÚÍĹÎŃĚÉ\n"
+"ËÁËÉĹ-ĚÉÂĎ ŇÁÚÄĹĚŮ DOS 6.x, ĐĎÖÁĚŐĘÓÔÁ, ĐŇĎŢÔÉÔĹ\n"
+"ĎĐĹŇÁÔÉ×ÎŐŔ ÓÔŇÁÎÉĂŐ ŇŐËĎ×ĎÄÓÔ×Á cfdisk ÄĚŃ\n"
+"ĐĎĚŐŢĹÎÉŃ ÄĎĐĎĚÎÉÔĹĚŘÎĎĘ ÉÎĆĎŇÍÁĂÉÉ.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "îĺéóđňá÷éíáń ďűéâëá"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "îÁÖÍÉÔĹ ĚŔÂŐŔ ËĚÁ×ÉŰŐ ÄĚŃ ×ŮČĎÄÁ ÉÚ cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ÎÁ ÄÉÓËĎ×ĎÍ ÎÁËĎĐÉÔĹĚĹ"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ Ó ÄÉÓËĎ×ĎÇĎ ÎÁËĎĐÉÔĹĚŃ"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ÎÁ ÄÉÓËĎ×ŮĘ ÎÁËĎĐÉÔĹĚŘ"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "óĚÉŰËĎÍ ÍÎĎÇĎ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "ňÁÚÄĹĚ ÎÁŢÉÎÁĹÔÓŃ ÄĎ ÓĹËÔĎŇÁ 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "ňÁÚÄĹĚ ÚÁËÁÎŢÉ×ÁĹÔÓŃ ÄĎ ÓĹËÔĎŇÁ 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "ňÁÚÄĹĚ ÎÁŢÉÎÁĹÔÓŃ ĐĎÓĚĹ ËĎÎĂÁ ÄÉÓËÁ"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "ňÁÚÄĹĚ ÚÁËÁÎŢÉ×ÁĹÔÓŃ ĐĎÓĚĹ ËĎÎĂÁ ÄÉÓËÁ"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "ĚĎÇÉŢĹÓËÉĹ ŇÁÚÄĹĚŮ ÉÄŐÔ ÎĹ ĐĎ ĐĎŇŃÄËŐ ÄÉÓËĎ×"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "ĚĎÇÉŢĹÓËÉĹ ŇÁÚÄĹĚŮ ĐĹŇĹËŇŮ×ÁŔÔÓŃ"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "Ő×ĹĚÉŢĹÎÎŮĹ ĚĎÇÉŢĹÓËÉĹ ÄÉÓËÉ ĐĹŇĹËŇŮ×ÁŔÔÓŃ"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! ÷ÎŐÔŇĹÎÎŃŃ ĎŰÉÂËÁ ĐŇÉ ÓĎÚÄÁÎÉÉ ĚĎÇÉŢĹÓËĎÇĎ ÄÉÓËÁ ÂĹÚ ŇÁÓŰÉŇĹÎÎĎÇĎ "
+"ŇÁÚÄĹĚÁ !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"îĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÚÄĹÓŘ ĚĎÇÉŢĹÓËÉĘ ÄÉÓË -- ÂŮĚÉ ÂŮ ÓĎÚÄÁÎŮ Ä×Á ŇÁÓŰÉŇĹÎÎŮČ "
+"ŇÁÚÄĹĚÁ"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "đŐÎËÔ ÍĹÎŔ ÓĚÉŰËĎÍ ÄĚÉÎÎŮĘ. íĹÎŔ ÍĎÖĹÔ ×ŮÇĚŃÄĹÔŘ ÎĹŢĹÔËĎ."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "îĹÄĎĐŐÓÔÉÍŮĘ ËĚŔŢ"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "îÁÖÍÉÔĹ ËĚÁ×ÉŰŐ ÄĚŃ ĐŇĎÄĎĚÖĹÎÉŃ"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "ďÓÎĎ×ÎĎĘ"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "óĎÚÄÁÔŘ ÎĎ×ŮĘ ĎÓÎĎ×ÎĎĘ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "ěĎÇÉŢĹÓËÉĘ"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "óĎÚÄÁÔŘ ÎĎ×ŮĘ ĚĎÇÉŢĹÓËÉĘ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "ďÔÍĹÎÁ"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "îĹ ÓĎÚÄÁ×ÁÔŘ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! ÷ÎŐÔŇĹÎÎŃŃ ĎŰÉÂËÁ !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "ňÁÚÍĹŇ (× íâ): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "îÁŢÁĚĎ"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "äĎÂÁ×ÉÔŘ ŇÁÚÄĹĚ × ÎÁŢÁĚĎ Ó×ĎÂĎÄÎĎÇĎ ĐŇĎÓÔŇÁÎÓÔ×Á"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "ëĎÎĹĂ"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "äĎÂÁ×ÉÔŘ ŇÁÚÄĹĚ × ËĎÎĹĂ Ó×ĎÂĎÄÎĎÇĎ ĐŇĎÓÔŇÁÎÓÔ×Á"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "îĹÔ ÍĹÓÔÁ ÄĚŃ ÓĎÚÄÁÎÉŃ ŇÁÓŰÉŇĹÎÎĎÇĎ ŇÁÚÄĹĚÁ"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "îĹÔ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "îĹÔ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×. îÁŢÉÎÁĹÍ ÔÁÂĚÉĂŐ Ó ÎŐĚŃ."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "îĹ×ĹŇÎÁŃ ÓÉÇÎÁÔŐŇÁ × ÔÁÂĚÉĂĹ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "îĹÉÚ×ĹÓÔÎŮĘ ÔÉĐ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "čĎÔÉÔĹ ÎÁŢÁÔŘ ÔÁÂĚÉĂŐ Ó ÎŐĚŃ [Ä/î] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "÷Ů ŐËÁÚÁĚÉ ĂÉĚÉÎÄŇĎ× ÂĎĚŘŰĹ, ŢĹÍ ÍĎÖĹÔ ÂŮÔŘ ÎÁ ÄÉÓËĹ"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ÄÉÓËĎ×ŮĘ ÎÁËĎĐÉÔĹĚŘ"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "äÉÓË ĎÔËŇŮÔ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ - Ő ×ÁÓ ÎĹÔ ŇÁÚŇĹŰĹÎÉŃ ÎÁ ÚÁĐÉÓŘ"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÄÉÓËÁ"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "đĚĎČĎĘ ĎÓÎĎ×ÎĎĘ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "đĚĎČĎĘ ĚĎÇÉŢĹÓËÉĘ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ!! üÔĎ ÍĎÖĹÔ ŐÎÉŢÔĎÖÉÔŘ ÄÁÎÎŮĹ ÎÁ ×ÁŰĹÍ ÄÉÓËĹ!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"÷Ů Ő×ĹŇĹÎŮ, ŢÔĎ ČĎÔÉÔĹ ÚÁĐÉÓÁÔŘ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ× ÎÁ ÄÉÓË? (ÄÁ ÉĚÉ ÎĹÔ): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "ÎĹÔ"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "ôÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ÎĹ ÚÁĐÉÓÁÎÁ ÎÁ ÄÉÓË"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "ÄÁ"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "đĎÖÁĚŐĘÓÔÁ, ××ĹÄÉÔĹ `ÄÁ' ÉĚÉ `ÎĹÔ'"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "ôÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ÚÁĐÉÓŮ×ÁĹÔÓŃ ÎÁ ÄÉÓË..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "ôÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ÚÁĐÉÓÁÎÁ ÎÁ ÄÉÓË"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"ôÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ÚÁĐÉÓÁÎÁ, ÎĎ ĐĎ×ÔĎŇÎĎĹ ŢÔĹÎÉĹ ÔÁÂĚÉĂŮ ÚÁ×ĹŇŰÉĚĎÓŘ "
+"ÎĹŐÄÁŢĹĘ. đĹŇĹÚÁÇŇŐÚÉÔĹÓŘ, ŢÔĎÂŮ ĎÂÎĎ×ÉÔŘ ÔÁÂĚÉĂŐ."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"îĹÔ ĎÓÎĎ×ÎŮČ ŇÁÚÄĹĚĎ×, ĐĎÍĹŢĹÎÎŮČ ËÁË ÚÁÇŇŐÚĎŢÎŮĹ. DOS'Ď×ÓËÉĘ MBR ÎĹ ÍĎÖĹÔ "
+"×ŮĐĎĚÎÉÔŘ ÚÁÇŇŐÚËŐ."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"âĎĚĹĹ, ŢĹÍ ĎÄÉÎ ĎÓÎĎ×ÎĎĘ ŇÁÚÄĹĚ ĐĎÍĹŢĹÎ ËÁË ÚÁÇŇŐÚĎŢÎŮĘ. DOS'Ď×ÓËÉĘ MBR ÎĹ "
+"ÍĎÖĹÔ ×ŮĐĎĚÎÉÔŘ ÚÁÇŇŐÚËŐ."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "÷×ĹÄÉÔĹ ÉÍŃ ĆÁĘĚÁ ÉĚÉ ÎÁÖÍÉÔĹ RETURN, ŢÔĎÂŮ ×Ů×ĹÓÔÉ ÎÁ ÜËŇÁÎ: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "äÉÓËĎ×ŮĘ ÎÁËĎĐÉÔĹĚŘ: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "óĹËÔĎŇ 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "óĹËÔĎŇ %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " îĹÔ "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " ďÓÎ/ěĎÇ"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " ďÓÎĎ×ÎĎĘ"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " ěĎÇÉŢĹÓËÉĘ"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "îĹÉÚ×ĹÓÔÎŮĘ"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "úÁÇŇŐÚĎŢÎŮĘ"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "îĹÔ"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "ôÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ÄĚŃ %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " đĹŇ×ŮĘ đĎÓĚĹÄÎ.\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # ôÉĐ óĹËÔĎŇ óĹËÔĎŇ óÍĹÝ. äĚÉÎÁ ôÉĐ ĆÁĘĚ.ÓÉÓÔ. (ID) "
+"ćĚÁÇ\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+#, fuzzy
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----îÁŢÁĚĎ---- ----ëĎÎĹĂ----- đĹŇ×ŮĘ ţÉÓĚĎ\n"
+
+#: fdisks/cfdisk.c:2040
+#, fuzzy
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # ćĚÁÇÉ çĎĚ. óĹËÔ ăÉĚ ID çĎĚ. óĹËÔ ăÉĚ ÓĹËÔĎŇ ÓĹËÔĎŇĎ×\n"
+
+#: fdisks/cfdisk.c:2041
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "óŮŇĎĘ"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "÷Ů×ĹÓÔÉ ÔÁÂĚÉĂŐ, ÉÓĐĎĚŘÚŐŃ ĆĎŇÍÁÔ ÓŮŇŮČ ÄÁÎÎŮČ"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "óĹËÔĎŇŮ"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "÷Ů×ĹÓÔÉ ÔÁÂĚÉĂŐ, ŐĐĎŇŃÄĎŢĹÎÎŐŔ ĐĎ ÓĹËÔĎŇÁÍ"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "ôÁÂĚÉĂÁ"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "đŇĎÓÔĎ ×Ů×ĹÓÔÉ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "îĹ ×Ů×ĎÄÉÔŘ ÔÁÂĚÉĂŐ"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "üËŇÁÎ ÓĐŇÁ×ËÉ ÄĚŃ cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "üÔĎ cfdisk - ĐŇĎËĚŃÔÁŃ ĐŇĎÇŇÁÍÍÁ ÄĚŃ ŇÁÚÍĹÔËÉ ÄÉÓËÁ, ËĎÔĎŇÁŃ"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "ĐĎÚ×ĎĚŃĹÔ ×ÁÍ ÓĎÚÄÁ×ÁÔŘ, ŐÄÁĚŃÔŘ É ÉÚÍĹÎŃÔŘ ŇÁÚÄĹĚŮ ÎÁ"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "Ó×ĎĹÍ ÎÁËĎĐÉÔĹĚĹ ÎÁ ÖĹÓÔËĎÍ ÄÉÓËĹ."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "ëĎÍÁÎÄÁ úÎÁŢĹÎÉĹ"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- --------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b đĹŇĹËĚŔŢĹÎÉĹ ÚÁÇŇŐÚĎŢÎĎÇĎ ĆĚÁÇÁ ÔĹËŐÝĹÇĎ ŇÁÚÄĹĚÁ"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d őÄÁĚĹÎÉĹ ÔĹËŐÝĹÇĎ ŇÁÚÄĹĚÁ"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g óÍĹÎÁ ĐÁŇÁÍĹÔŇĎ× ĂÉĚÉÎÄŇĎ×, ÇĎĚĎ×ĎË, ÓĹËÔĎŇĎ× ÎÁ ÄĎŇĎÖËŐ"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " đňĺäőđňĺöäĺîéĺ: üÔÁ ĎĐĂÉŃ ÄĎĚÖÎÁ ÉÓĐĎĚŘÚĎ×ÁÔŘÓŃ ÔĎĚŘËĎ"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " ÔĹÍÉ, ËÔĎ ÚÎÁĹÔ, ŢÔĎ ĎÎ ÄĹĚÁĹÔ."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h ÷Ů×ĎÄ ÜÔĎĘ ÓĐŇÁ×ËÉ"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m äĎ×ĹÓÔÉ ÄĎ ÍÁËÓÉÍŐÍÁ ÉÓĐĎĚŘÚĎ×ÁÎÉĹ ÔĹËŐÝĹÇĎ ŇÁÚÄĹĚÁ"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " đŇÉÍĹŢÁÎÉĹ: üÔĎ ÍĎÖĹÔ ÓÄĹĚÁÔŘ ŇÁÚÄĹĚ ÎĹÓĎ×ÍĹÓÔÉÍŮÍ Ó "
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n óĎÚÄÁÎÉĹ ÎĎ×ĎÇĎ ŇÁÚÄĹĚÁ ÎÁ Ó×ĎÂĎÄÎĎÍ ĐŇĎÓÔŇÁÎÓÔ×Ĺ"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p ÷Ů×ĎÄ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× ÎÁ ÜËŇÁÎ ÉĚÉ × ĆÁĘĚ"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " óŐÝĹÓÔ×ŐĹÔ ÎĹÓËĎĚŘËĎ ŇÁÚĚÉŢÎŮČ ĆĎŇÍÁÔĎ×"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " ÄĚŃ ŇÁÚÄĹĚĎ×, ÉÚ ËĎÔĎŇŮČ ×Ů ÍĎÖĹÔĹ ×ŮÂŇÁÔŘ:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - óŮŇŮĹ ÄÁÎÎŮĹ (ÎĹĐĎÓŇĹÄÓÔ×ĹÎÎĎ, ŢÔĎ ÂŐÄĹÔ ÚÁĐÉÓÁÎĎ ÎÁ "
+"ÄÉÓË)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - ôÁÂĚÉĂÁ, ŐĐĎŇŃÄĎŢĹÎÎÁŃ ĐĎ ÓĹËÔĎŇÁÍ"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - ôÁÂĚÉĂÁ × ĆĎŇÍÁÔĹ ÓŮŇŮČ ÄÁÎÎŮČ"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q ÷ŮČĎÄ ÉÚ ĐŇĎÇŇÁÍÍŮ ÂĹÚ ÚÁĐÉÓÉ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t óÍĹÎÁ ÔÉĐÁ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u éÚÍĹÎĹÎÉĹ ĹÄÉÎÉĂŮ ÉÚÍĹŇĹÎÉŃ ĎÔĎÂŇÁÖÁĹÍĎÇĎ ŇÁÚÍĹŇÁ ŇÁÚÄĹĚÁ"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " ţĹŇĹÄŐĹÔÓŃ ŢĹŇĹÚ íâ, ÓĹËÔĎŇŮ É ĂÉĚÉÎÄŇŮ"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W úÁĐÉÓŘ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× ÎÁ ÄÉÓË (ÔŇĹÂŐĹÔÓŃ ××ĹÓÔÉ ÚÁÇĚÁ×ÎŐŔ W)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " ô.Ë. ÜÔĎ ÍĎÖĹÔ ŇÁÚŇŐŰÉÔŘ ÄÁÎÎŮĹ ÎÁ ÄÉÓËĹ, ×Ů ÄĎĚÖÎŮ"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " ĐĎÄÔ×ĹŇÄÉÔŘ ÉĚÉ ĎÔÍĹÎÉÔŘ ÚÁĐÉÓŘ, ÎÁÂŇÁ× `ÄÁ' ÉĚÉ"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " `ÎĹÔ'"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "óÔŇĹĚËÁ ××ĹŇČ đĹŇĹÍĹÝĹÎÉĹ ËŐŇÓĎŇÁ ÎÁ ĐŇĹÄŮÄŐÝÉĘ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "óÔŇĹĚËÁ ×ÎÉÚ đĹŇĹÍĹÝĹÎÉĹ ËŐŇÓĎŇÁ ÎÁ ÓĚĹÄŐŔÝÉĘ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L đĹŇĹŇÉÓĎ×Ů×ÁÎÉĹ ÜËŇÁÎÁ"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? ÷Ů×ĎÄ ÜÔĎĘ ÓĐŇÁ×ËÉ"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "đŇÉÍĹŢÁÎÉĹ: ÷ÓĹ ËĎÍÁÎÄŮ ÍĎÇŐÔ ÂŮÔŘ ××ĹÄĹÎŮ × ×ĹŇČÎĹÍ"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "ÉĚÉ ÎÉÖÎĹÍ ŇĹÇÉÓÔŇĹ (ÚÁ ÉÓËĚŔŢĹÎÉĹÍ ÚÁĐÉÓÉ)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "ăÉĚÉÎÄŇŮ"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "éÚÍĹÎÉÔŘ ÇĹĎÍĹÔŇÉŔ ĂÉĚÉÎÄŇÁ"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "çĎĚĎ×ËÉ"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "éÚÍĹÎÉÔŘ ÇĹĎÍĹÔŇÉŔ ÇĎĚĎ×ËÉ"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "éÚÍĹÎÉÔŘ ÇĹĎÍĹÔŇÉŔ ÓĹËÔĎŇÁ"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "çĎÔĎ×Ď"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "çĎÔĎ×Ď Ó ÉÚÍĹÎĹÎÉĹÍ ÇĹĎÍĹÔŇÉÉ"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "÷×ĹÄÉÔĹ ËĎĚÉŢĹÓÔ×Ď ĂÉĚÉÎÄŇĎ×:"
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "÷×ĹÄÉÔĹ ËĎĚÉŢĹÓÔ×Ď ÇĎĚĎ×ĎË:"
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÇĎĚĎ×ĎË"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "÷×ĹÄÉÔĹ ËĎĚÉŢĹÓÔ×Ď ÓĹËÔĎŇĎ× ÎÁ ÄĎŇĎÖËŐ:"
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÓĹËÔĎŇĎ×"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÉÚÍĹÎÉÔŘ ÔÉĐ ćó ÎÁ ĐŐÓÔŐŔ"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÉÚÍĹÎÉÔŘ ÔÉĐ ćó ÎÁ ŇÁÓŰÉŇĹÎÎŐŔ"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unk(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "ďÓÎ/ěĎÇ"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "îĹÉÚ×ĹÓÔÎŮĘ (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "äÉÓËĎ×ŮĘ ÎÁËĎĐÉÔĹĚŘ: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "ňÁÚÍĹŇ: %lld ÂÁĘÔ, %lld íâ"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "ňÁÚÍĹŇ: %lld ÂÁĘÔ, %lld.%lld çâ"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "çĎĚĎ×ĎË: %d óĹËÔĎŇĎ× ÎÁ ÄĎŇĎÖËŐ: %d ăÉĚÉÎÄŇĎ×: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "éÍŃ"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "ćĚÁÇÉ"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "ôÉĐ ŇÁÚÄĹĚÁ"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "ôÉĐ ćó"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[íĹÔËÁ]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " óĹËÔĎŇŮ"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " ăÉĚÉÎÄŇŮ"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " ňÁÚÍĹŇ (íâ)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " ňÁÚÍĹŇ (çâ)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "ňÁÚÄĹĚĎ× ÂĎĚŘŰĹ ÎĹÔ"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "úÁÇŇŐÚ."
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "đĹŇĹËĚŔŢÉÔŘ ÚÁÇŇŐÚĎŢÎŮĘ ĆĚÁÇ ÔĹËŐÝĹÇĎ ŇÁÚÄĹĚÁ"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "őÄÁĚÉÔŘ"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "őÄÁĚÉÔŘ ÔĹËŐÝÉĘ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "çĹĎÍĹÔŇÉŃ"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "éÚÍĹÎÉÔŘ ÇĹĎÍĹÔŇÉŔ ÄÉÓËÁ (ÔĎĚŘËĎ ÄĚŃ ÜËÓĐĹŇÔĎ×)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "óĐŇÁ×ËÁ"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "÷Ů×ĹÓÔÉ ÜËŇÁÎ ÓĐŇÁ×ËÉ"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "íÁËÓ."
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"äĎ×ĹÓÔÉ ÄĎ ÍÁËÓÉÍŐÍÁ ÉÓĐĎĚŘÚĎ×ÁÎÉĹ ÔĹËŐÝĹÇĎ ŇÁÚÄĹĚÁ (ÔĎĚŘËĎ ÄĚŃ ÜËÓĐĹŇÔĎ×)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "îĎ×ŮĘ"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "óĎÚÄÁÔŘ ÎĎ×ŮĘ ŇÁÚÄĹĚ ÎÁ Ó×ĎÂĎÄÎĎÍ ĐŇĎÓÔŇÁÎÓÔ×Ĺ"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "÷Ů×ĹÓÔÉ"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "÷Ů×ĹÓÔÉ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ× ÎÁ ÜËŇÁÎ ÉĚÉ × ĆÁĘĚ"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "÷ŮČĎÄ"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "÷ŮĘÔÉ ÉÚ ĐŇĎÇŇÁÍÍŮ ÂĹÚ ÚÁĐÉÓÉ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "ôÉĐ"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "éÚÍĹÎÉÔŘ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ (DOS, Linux, OS/2 É Ô.Ä.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "ĺÄ. ÉÚÍ."
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"éÚÍĹÎÉÔŘ ĹÄÉÎÉĂŮ ÉÚÍĹŇĹÎÉŃ ĎÔĎÂŇÁÖÁĹÍĎÇĎ ŇÁÚÍĹŇÁ ŇÁÚÄĹĚÁ (íâ, ÓĹËÔ., ĂÉĚ.)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "úÁĐÉÓŘ"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "úÁĐÉÓÁÔŘ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ× ÎÁ ÄÉÓË (ÜÔĎ ÍĎÖĹÔ ŇÁÚŇŐŰÉÔŘ ÄÁÎÎŮĹ)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÓÄĹĚÁÔŘ ÜÔĎÔ ŇÁÚÄĹĚ ÚÁÇŇŐÚĎŢÎŮÍ"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŐÄÁĚÉÔŘ ĐŐÓÔĎĘ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÍÁËÓÉÍÉÚÉŇĎ×ÁÔŘ ÜÔĎÔ ŇÁÚÄĹĚ"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "üÔĎÔ ŇÁÚÄĹĚ ÎĹÉÓĐĎĚŘÚŐĹÍŮĘ"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "üÔĎÔ ŇÁÚÄĹĚ ŐÖĹ ÉÓĐĎĚŘÚŐĹÔÓŃ"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÉÚÍĹÎÉÔŘ ÔÉĐ ĐŐÓÔĎÇĎ ŇÁÚÄĹĚÁ"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "îĹ×ĹŇÎÁŃ ËĎÍÁÎÄÁ"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"éÓĐĎĚŘÚĎ×ÁÎÉĹ:\n"
+"÷Ů×ĎÄ ×ĹŇÓÉÉ:\n"
+" %s -v\n"
+"÷Ů×ĎÄ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×:\n"
+" %s -P {r|s|t} [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď\n"
+"éÎÔĹŇÁËÔÉ×ÎĎĹ ÉÓĐĎĚŘÚĎ×ÁÎÉĹ:\n"
+" %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď\n"
+"\n"
+"ďĐĂÉÉ:\n"
+"-a: éÓĐĎĚŘÚĎ×ÁÔŘ ÓÔŇĹĚËÉ ×ÍĹÓÔĎ ĐĎÄÓ×ĹÔËÉ;\n"
+"-z: îÁŢÁÔŘ Ó ÎŐĚĹ×ĎĘ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× ×ÍĹÓÔĎ ŢÔĹÎÉŃ ôň Ó ÄÉÓËÁ;\n"
+"-c C -h H -s S: đĹŇĹËŇŮÔŘ ĐĎÎŃÔÉĹ ŃÄŇÁ Ď ËĎĚÉŢĹÓÔ×Ĺ ĂÉĚÉÎÄŇĎ×,\n"
+" ÇĎĚĎ×ĎË É ŢÉÓĚĹ ÓĹËÔĎŇĎ× ÎÁ ÄĎŇĎÖËŐ.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c ÉÚÍĹÎĹÎÉĹ ËĎĚÉŢĹÓÔ×Á ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tîÁ ÜÔĎÍ ÄÉÓËĹ ĹÓÔŘ ×ĹŇÎÁŃ ÍĹÔËÁ AIX.\n"
+"\të ÓĎÖÁĚĹÎÉŔ ÎÁ ÄÁÎÎŮĘ ÍĎÍĹÎÔ Linux ÎĹ\n"
+"\tÍĎÖĹÔ ĎÂŇÁÂÁÔŮ×ÁÔŘ ÜÔÉ ÄÉÓËÉ. ôĹÍ ÎĹ\n"
+"\tÍĹÎĹĹ ×ĎÔ ÎĹÓËĎĚŘËĎ ÓĎ×ĹÔĎ×:\n"
+"\t1. đŇÉ ÚÁĐÉÓÉ fdisk ŇÁÚŇŐŰÉÔ ×ÓĹ ÄÁÎÎŮĹ\n"
+"\t ÎÁ ÄÉÓËĹ.\n"
+"\t2. őÂĹÄÉÔĹÓŘ, ŢÔĎÂŮ ÜÔĎÔ ÄÉÓË îĺ Ń×ĚŃĚÓŃ\n"
+"\t ×ÁÖÎĎĘ ŢÁÓÔŘŔ ÇŇŐĐĐŮ ÔĎÍĎ×. (éÎÁŢĹ ×Ů\n"
+"\t ÍĎÖĹÔĹ ÓÔĹŇĹÔŘ ×ÓĹ ĎÓÔÁĚŘÎŮĹ ÄÉÓËÉ,\n"
+"\t ĹÓĚÉ ĎÎÉ ÎĹ ĎÔÚĹŇËÁĚĹÎŮ.)\n"
+"\t3. đĹŇĹÄ ŐÄÁĚĹÎÉĹÍ ÜÔĎÇĎ ĆÉÚÉŢĹÓËĎÇĎ\n"
+"\t ÔĎÍÁ ŐÂĹÄÉÔĹÓŘ, ŢÔĎ ĚĎÇÉŢĹÓËÉ ŐÄÁĚÉĚÉ\n"
+"\t ÄÉÓË ÉÚ AIX Ó×ĎĹĘ ÍÁŰÉÎŮ. (éÎÁŢĹ, ×Ů\n"
+"]\t ÓÔÁÎĹÔĹ AIXpert'ĎÍ)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\të ÓĎÖÁĚĹÎÉŔ ÜÔĎÔ fdisk ÎĹ ÍĎÖĹÔ ĎÂŇÁÂÁÔŮ×ÁÔŘ\n"
+"\tÍĹÔËÉ ÄÉÓËĎ× AIX. ĺÓĚÉ ×Ů ČĎÔÉÔĹ ÄĎÂÁ×ÉÔŘ\n"
+"\tŇÁÚÄĹĚŮ ÔÉĐÁ DOS, ÓĎÚÄÁĘÔĹ ÓÎÁŢÁĚÁ ÎĎ×ŐŔ ĐŐÓÔŐŔ\n"
+"\tÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ× DOS (ÉÓĐĎĚŘÚŐĘÔĹ o).\n"
+"\tđňĺäőđňĺöäĺîéĺ: đŇÉ ÜÔĎÍ ÓĎÄĹŇÖÉÍĎĹ ÎÁ\n"
+"\tÄÁÎÎĎÍ ÄÉÓËĹ ÂŐÄĹÔ ŇÁÚŇŐŰĹÎĎ.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"íĹÔËÁ BSD ÄĚŃ ŐÓÔŇĎĘÓÔ×Á: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "íĹÔËÁ ÄÉÓËÁ ÚÁĐÉÓŮ×ÁĹÔÓŃ ÎÁ %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "đĹŇ×ŮĘ %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "đĎÓĚĹÄÎÉĘ %s ÉĚÉ +size ÉĚÉ +sizeM ÉĚÉ +sizeK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s ÎĹ ÓĎÄĹŇÖÉÔ ÍĹÔËÉ ÄÉÓËÁ.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "čĎÔÉÔĹ ÓĎÚÄÁÔŘ ÍĹÔËŐ ÄÉÓËÁ? (Ä/Î) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "ňÁÚÄĹĚ %s ÓĎÄĹŇÖÉÔ ÎĹ×ĹŇÎŮĘ ÎÁŢÁĚŘÎŮĘ ÎŐĚĹ×ĎĘ ÓĹËÔĎŇ.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "ţÉÔÁĹÔÓŃ ÍĹÔËÁ ÄÉÓËÁ %s Ó ÓĹËÔĎŇÁ %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "îÁ %s ÎĹÔ ŇÁÚÄĹĚÁ *BSD.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "ëĎÍÁÎÄÁ ÍĹÔËÉ ÄÉÓËÁ BSD (m ÄĚŃ ÓĐŇÁ×ËÉ): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "ÔÉĐ: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "ÔÉĐ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "ÄÉÓË: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "ÍĹÔËÁ: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "ĆĚÁÇÉ:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " ÓßĹÍÎŮĘ"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " bad-ÓĹËÔĎŇ"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "ÂÁĘÔ/ÓĹËÔĎŇ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "ÓĹËÔĎŇŮ/ÄĎŇĎÖËÁ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "ÄĎŇĎÖËÉ/ĂÉĚÉÎÄŇ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "ÓĹËÔĎŇŮ/ĂÉĚÉÎÄŇ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "ĂÉĚÉÎÄŇŮ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "ĎÂ/ÍÉÎ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "ŢĹŇĹÄĎ×ÁÎÉĹ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "ĐĹŇĹËĎÓ ÄĎŇĎÖËÉ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "ĐĹŇĹËĎÓ ĂÉĚÉÎÄŇÁ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "ĐĹŇĹËĚŔŢĹÎÉĹ ÇĎĚĎ×ËÉ: %ld\t\t# ÍÉĚĚÉÓĹËŐÎÄ\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "ĐĎÉÓË ÄĎŇĎÖËÉ: %ld\t# ÍÉĚĚÉÓĹËŐÎÄ\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "ÄÁÎÎŮĹ ÄÉÓËÁ: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d ŇÁÚÄĹĚŮ:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# ÎÁŢÁĚĎ ËĎÎĹĂ ŇÁÚÍĹŇ ÔÉĐ ĆÓ [fsize bsize cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "ÂÁĘÔ/ÓĹËÔĎŇ"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "ÓĹËÔĎŇŮ/ÄĎŇĎÖËÁ"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "ÄĎŇĎÖËÉ/ĂÉĚÉÎÄŇ"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "ĂÉĚÉÎÄŇŮ"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "ÓĹËÔĎŇŮ/ĂÉĚÉÎÄŇ"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "äĎĚÖÎĎ ÂŮÔŘ <= ÓĹËÔĎŇŮ/ÄĎŇĎÖËÁ * ÄĎŇĎÖËÉ/ĂÉĚÉÎÄŇ (ĐĎ ŐÍĎĚŢÁÎÉŔ).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "ĎÂ/ÍÉÎ"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "ŢĹŇĹÄĎ×ÁÎÉĹ"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "ĐĹŇĹËĎÓ ÄĎŇĎÖËÉ"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "ĐĹŇĹËĎÓ ĂÉĚÉÎÄŇÁ"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "ĐĹŇĹËĚŔŢĹÎÉĹ ÇĎĚĎ×ËÉ"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "ĐĎÉÓË ÄĎŇĎÖËÉ"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap ĐĹŇĹËŇŮ×ÁĹÔÓŃ Ó ÍĹÔËĎĘ ÄÉÓËÁ!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap ŐÓÔÁÎĎ×ĚĹÎ ÎÁ %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "ňÁÚÄĹĚ (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "âŮĚĎ ÓĎÚÄÁÎĎ ÍÁËÓÉÍÁĚŘÎĎ ×ĎÚÍĎÖÎĎĹ ËĎĚÉŢĹÓÔ×Ď ŇÁÚÄĹĚĎ×\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "üÔĎÔ ŇÁÚÄĹĚ ŐÖĹ ÓŐÝĹÓÔ×ŐĹÔ.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÓĚÉŰËĎÍ ÍÎĎÇĎ ŇÁÚÄĹĚĎ× (%d, ÍÁËÓÉÍŐÍ - %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"óÉÎČŇĎÎÉÚÉŇŐŔÔÓŃ ÄÉÓËÉ.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a ĐĹŇĹËĚŔŢĹÎÉĹ ĆĚÁÇÁ ÚÁÇŇŐÚËÉ"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a ĐĹŇĹËĚŔŢĹÎÉĹ ĆĚÁÇÁ ÚÁÇŇŐÚËÉ"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a ×ŮÂĎŇ ÚÁÇŇŐÚĎŢÎĎÇĎ ŇÁÚÄĹĚÁ"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a ÉÚÍĹÎĹÎÉĹ ËĎĚÉŢĹÓÔ×Á ÁĚŘÔĹŇÎÁÔÉ×ÎŮČ ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b ŇĹÄÁËÔÉŇĎ×ÁÎÉĹ ÍĹÔËÉ ÄÉÓËÁ bsd"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b ŇĹÄÁËÔÉŇĎ×ÁÎÉĹ ÓĎÄĹŇÖÉÍĎÇĎ ÚÁÇŇŐÚĎŢÎĎÇĎ ĆÁĘĚÁ"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b ĐĹŇĹÍĹÝĹÎÉĹ ÎÁŢÁĚÁ ÄÁÎÎŮČ ŇÁÚÄĹĚÁ"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c ĐĹŇĹËĚŔŢĹÎÉĹ ĆĚÁÇÁ dos-ÓĎ×ÍĹÓÔÉÍĎÓÔÉ"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c ĐĹŇĹËĚŔŢĹÎÉĹ ĆĚÁÇÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c ×ŮÂĎŇ ŇÁÚÄĹĚÁ ÄĚŃ Ó×ĎĐÉÎÇÁ sgi"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c ÉÚÍĹÎĹÎÉĹ ËĎĚÉŢĹÓÔ×Á ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d ŐÄÁĚĹÎÉĹ ŇÁÚÄĹĚÁ"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d ×Ů×ĎÄ ÓŮŇŮČ ÄÁÎÎŮČ × ÔÁÂĚÉĂĹ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e ÉÚÍĹÎĹÎÉĹ ËĎĚÉŢĹÓÔ×Á ÄĎĐĎĚÎÉÔĹĚŘÎŮČ ÓĹËÔĎŇĎ× ÎÁ ĂÉĚÉÎÄŇ"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e ÓĐÉÓĎË ŇÁÓŰÉŇĹÎÎŮČ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e ŇĹÄÁËÔÉŇĎ×ÁÎÉĹ ÄÁÎÎŮČ ÄÉÓËÁ"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f ÚÁËŇĹĐĚĹÎÉĹ ĐĎŇŃÄËÁ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g ÓĎÚÄÁÎÉĹ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h ÉÚÍĹÎĹÎÉĹ ËĎĚÉŢĹÓÔ×Á ÇĎĚĎ×ĎË"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i ÉÚÍĹÎĹÎÉĹ ËĎÜĆĆÉĂÉĹÎÔÁ ŢĹŇĹÄĎ×ÁÎÉŃ"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " u ÉÚÍĹÎĹÎÉĹ ĹÄÉÎÉĂ ÉÚÍĹŇĹÎÉŃ ÜËŇÁÎÁ/ÓĎÄĹŇÖÉÍĎÇĎ"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i ŐÓÔÁÎĎ×ËÁ bootstrap"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l ÓĐÉÓĎË ÉÚ×ĹÓÔÎŮČ ÔÉĐĎ× ĆÁĘĚĎ×ŮČ ÓÉÓÔĹÍ"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m ×Ů×ĎÄ ÜÔĎÇĎ ÍĹÎŔ"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n ÄĎÂÁ×ĚĹÎÉĹ ÎĎ×ĎÇĎ ŇÁÚÄĹĚÁ"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o ÓĎÚÄÁÎÉĹ ÎĎ×ĎĘ ĐŐÓÔĎĘ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× DOS"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o ÉÚÍĹÎĹÎÉĹ ÓËĎŇĎÓÔÉ ×ŇÁÝĹÎÉŃ (ĎÂ/ÍÉÎ)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "đŇĎÓÔĎ ×Ů×ĹÓÔÉ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q ×ŮČĎÄ ÂĹÚ ÓĎČŇÁÎĹÎÉŃ ÉÚÍĹÎĹÎÉĘ"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r ×ĎÚ×ŇÁÔ × ÇĚÁ×ÎĎĹ ÍĹÎŔ"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s ÓĎÚÄÁÎÉĹ ÎĎ×ĎĘ ŢÉÓÔĎĘ ÍĹÔËÉ ÄÉÓËÁ Sun"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s ÉÚÍĹÎĹÎÉĹ ËĎĚÉŢĹÓÔ×Á ÓĹËÔĎŇĎ× ÎÁ ÄĎŇĎÖËŐ"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s ĎÔĎÂŇÁÖĹÎÉĹ ĐĎĚÎĎĘ ÍĹÔËÉ ÄÉÓËÁ"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t ÉÚÍĹÎĹÎÉĹ id ÓÉÓÔĹÍŮ ŇÁÚÄĹĚÁ"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u ÉÚÍĹÎĹÎÉĹ ĹÄÉÎÉĂ ÉÚÍĹŇĹÎÉŃ ÜËŇÁÎÁ/ÓĎÄĹŇÖÉÍĎÇĎ"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v ĐŇĎ×ĹŇËÁ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w ÚÁĐÉÓŘ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× ÎÁ ÄÉÓË É ×ŮČĎÄ"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w ÚÁĐÉÓŘ ÍĹÔËÉ ÄÉÓËÁ ÎÁ ÄÉÓË"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x ÄĎĐĎĚÎÉÔĹĚŘÎÁŃ ĆŐÎËĂÉĎÎÁĚŘÎĎÓÔŘ (ÔĎĚŘËĎ ÄĚŃ ÜËÓĐĹŇÔĎ×)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x Ó×ŃÚŮ×ÁÎÉĹ ŇÁÚÄĹĚÁ BSD Ó ŇÁÚÄĹĚĎÍ ÎĹ-BSD"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y ÉÚÍĹÎĹÎÉĹ ËĎĚÉŢĹÓÔ×Á ĆÉÚÉŢĹÓËÉČ ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ %s\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ÎÁ %s\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ %s\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ÎÁ %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "îĹÉÓĐŇÁ×ÉÍÁŃ ĎŰÉÂËÁ\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "äĹĘÓÔ×ÉĹ ËĎÍÁÎÄŮ"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "÷Ů ÄĎĚÖÎŮ ŐÓÔÁÎĎ×ÉÔŘ"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "ÇĎĚĎ×ËÉ"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "ÓĹËÔĎŇŮ"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"÷Ů ÍĎÖĹÔĹ ÓÄĹĚÁÔŘ ÜÔĎ ÉÚ ÍĹÎŔ ÄĎĐĎĚÎÉÔĹĚŘÎŮČ ĆŐÎËĂÉĘ.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " É "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "÷Ů ÄĹĘÓÔ×ÉÔĹĚŘÎĎ ČĎÔÉÔĹ ĐŇĎÄĎĚÖÉÔŘ"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "űĹÓÔÎÁÄĂÁÔĹŇÉŢÎŮĘ ËĎÄ (××ĹÄÉÔĹ L ÄĚŃ ĐĎĚŐŢĹÎÉŃ ÓĐÉÓËÁ ËĎÄĎ×): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, ĐĎ ŐÍĎĚŢÁÎÉŔ %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "éÓĐĎĚŘÚŐĹÔÓŃ ÚÎÁŢĹÎÉĹ ĐĎ ŐÍĎĚŢÁÎÉŔ %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "úÎÁŢĹÎÉĹ ÚÁ ĐŇĹÄĹĚÁÍÉ ÄÉÁĐÁÚĎÎÁ.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "îĎÍĹŇ ŇÁÚÄĹĚÁ"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %d ÉÍĹĹÔ ĐŐÓÔĎĘ ÔÉĐ\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "÷ŮÂŇÁÎÎŮĘ ŇÁÚÄĹĚ %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "ňÁÚÄĹĚŮ ĹÝĹ ÎĹ ĎĐŇĹÄĹĚĹÎŮ!\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "ĂÉĚÉÎÄŇ"
+msgstr[1] "ĂÉĚÉÎÄŇ"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "ÓĹËÔĎŇ"
+msgstr[1] "ÓĹËÔĎŇ"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "éÚÍĹÎĹÎÉĹ ĹÄÉÎÉĂ ÉÚÍĹŇĹÎÉŃ ÜËŇÁÎÁ/ÓĎÄĹŇÖÉÍĎÇĎ ÎÁ %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "éÚÍĹÎĹÎÉĹ ĹÄÉÎÉĂ ÉÚÍĹŇĹÎÉŃ ÜËŇÁÎÁ/ÓĎÄĹŇÖÉÍĎÇĎ ÎÁ %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "đňĺäőđňĺöäĺîéĺ: ňÁÚÄĹĚ %d ÎĹ Ń×ĚŃĹÔÓŃ ŇÁÓŰÉŇĹÎÎŮÍ ŇÁÚÄĹĚĎÍ\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "ćĚÁÇ DOS-ÓĎ×ÍĹÓÔÉÍĎÓÔÉ ŐÓÔÁÎĎ×ĚĹÎ\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "ćĚÁÇ DOS-ÓĎ×ÍĹÓÔÉÍĎÓÔÉ ÎĹ ŐÓÔÁÎĎ×ĚĹÎ\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "ňÁÚÄĹĚ %d ÎĹ ÉÍĹĹÔ ĎÂĚÁÓÔÉ Ó ÄÁÎÎŮÍÉ\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "ňÁÚÄĹĚ %d ĹÝĹ ÎĹ ÓŐÝĹÓÔ×ŐĹÔ!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"ôÉĐ 0 ĎÚÎÁŢÁĹÔ Ó×ĎÂĎÄÎĎĹ ĐŇĎÓÔŇÁÎÓÔ×Ď\n"
+"ÄĚŃ ÍÎĎÇÉČ ÓÉÓÔĹÍ (ÎĎ ÎĹ ÄĚŃ Linux).\n"
+"îÁĚÉŢÉĹ ŇÁÚÄĹĚĎ× ÔÉĐÁ 0 ÎÁ×ĹŇÎŃËÁ\n"
+"ÎĹŇÁÚŐÍÎĎ. ÷Ů ÍĎÖĹÔĹ ŐÄÁĚÉÔŘ ŇÁÚÄĹĚ,\n"
+"ÉÓĐĎĚŘÚŐŃ ËĎÍÁÎÄŐ `d'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"÷Ů ÎĹ ÍĎÖĹÔĹ ÉÚÍĹÎÉÔŘ ŇÁÚÄĹĚ ÎÁ ŇÁÓŰÉŇĹÎÎŮĘ ÉĚÉ ÎÁĎÂĎŇĎÔ\n"
+"óÎÁŢÁĚÁ ŐÄÁĚÉÔĹ ĹÇĎ.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"đŇĹÄĚÁÇÁĹÔÓŃ ĎÓÔÁ×ÉÔŘ ŇÁÚÄĹĚ 3 × ×ÉÄĹ ĂĹĚĎÇĎ ÄÉÓËÁ (5),\n"
+"ËÁË ÔĎÇĎ ĎÖÉÄÁĹÔ SunOS/Solaris, É ËĎÔĎŇŮĘ ÇĎÄÉÔÓŃ ÄÁÖĹ ÄĚŃ Linux.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"đŇĹÄĚÁÇÁĹÔÓŃ ĎÓÔÁ×ÉÔŘ ŇÁÚÄĹĚ 9 × ×ÉÄĹ ÚÁÇĎĚĎ×ËÁ ÔĎÍÁ (0),\n"
+"Á ŇÁÚÄĹĚ 11 × ×ÉÄĹ ĂĹĚĎÇĎ ÔĎÍÁ (6), ËÁË ÔĎÇĎ ĎÖÉÄÁĹÔ IRIX.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "óÉÓÔĹÍÎŮĘ ÔÉĐ ŇÁÚÄĹĚÁ %d ÉÚÍĹÎĹÎ ÎÁ %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "óÉÓÔĹÍÎŮĘ ÔÉĐ ŇÁÚÄĹĚÁ %d ÉÚÍĹÎĹÎ ÎÁ %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "ňÁÚÄĹĚ %d ÉÍĹĹÔ ŇÁÚĚÉŢÎŮĹ ĆÉÚÉŢĹÓËÉĹ/ĚĎÇÉŢĹÓËÉĹ ÎÁŢÁĚÁ (ÎĹ-Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " ĆÉÚ=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "ĚĎÇÉŢ=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "ňÁÚÄĹĚ %d ÉÍĹĹÔ ŇÁÚĚÉŢÎŮĹ ĆÉÚÉŢĹÓËÉĹ/ĚĎÇÉŢĹÓËÉĹ ĎËĎÎŢÁÎÉŃ:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "ňÁÚÄĹĚ %i ÎĹ ÚÁËÁÎŢÉ×ÁĹÔÓŃ ÎÁ ÇŇÁÎÉĂĹ ĂÉĚÉÎÄŇÁ.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "ňÁÚÄĹĚ %i ÎÁŢÉÎÁĹÔÓŃ ÎĹ ÎÁ ÇŇÁÎÉĂĹ ĂÉĚÉÎÄŇÁ:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"äÉÓË %s: %ld íâ, %lld ÂÁĘÔ\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"äÉÓË %s: %ld.%ld çâ, %lld ÂÁĘÔ\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", ×ÓĹÇĎ %llu ÓĹËÔĎŇĎ×"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d ÇĎĚĎ×ĎË, %d ÓĹËÔĎŇĎ×/ÄĎŇĎÖËŐ, %d ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+"ĺÄÉÎÉĂŮ = %s ĐĎ %d * %d = %d ÂÁĘÔ\n"
+"\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ inode"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"îĹŢĹÇĎ ×ŮĐĎĚÎŃÔŘ. ďŢĹŇĹÄÎĎÓÔŘ ŐÖĹ × ĐĎŇŃÄËĹ.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"çĎÔĎ×Ď\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"üÔĎ ÎĹ ĐĎČĎÖĹ ÎÁ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×\n"
+"÷ĎÚÍĎÖÎĎ, ×Ů ×ŮÂŇÁĚÉ ÎĹ×ĹŇÎĎĹ ŐÓÔŇĎĘÓÔ×Ď.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s úÁÇŇ îÁŢÁĚĎ ëĎÎĹĂ âĚĎËÉ Id óÉÓÔĹÍÁ\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "őÓÔŇ-×Ď"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"đŐÎËÔŮ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× ŇÁÓĐĎĚĎÖĹÎŮ ÎĹ × ÄÉÓËĎ×ĎÍ ĐĎŇŃÄËĹ\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"äÉÓË %s: %d ÇĎĚĎ×ĎË, %d ÓĹËÔĎŇĎ×, %d ĂÉĚÉÎÄŇĎ×\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "# AF çĎĚ óĹË ăÉĚ çĎĚ óĹË ăÉĚ îÁŢÁĚĎ ňÁÚÍ ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %d ÓĎÄĹŇÖÉÔ ÎŐĚĹ×ĎĘ ÓĹËÔĎŇ\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "ňÁÚÄĹĚ %d: ÇĎĚĎ×ËÁ %d ÂĎĚŘŰĹ, ŢĹÍ ÍÁËÓÉÍŐÍ %d\n"
+
+#: fdisks/fdisk.c:1304
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "ňÁÚÄĹĚ %d: ÓĹËÔĎŇ %d ÂĎĚŘŰĹ, ŢĹÍ ÍÁËÓÉÍŐÍ %d\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "ňÁÚÄĹĚ %d: ĂÉĚÉÎÄŇ %d ÂĎĚŘŰĹ, ŢĹÍ ÍÁËÓÉÍŐÍ %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "ňÁÚÄĹĚ %d: ĐŇĹÄŮÄŐÝÉĹ ÓĹËÔĎŇŮ %d ĐŇĎÔÉ×ĎŇĹŢÁÔ ÓŐÍÍÁŇÎĎÍŐ ÚÎÁŢĹÎÉŔ %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "ňÁÚÄĹĚ %d ĹÝĹ ÎĹ ÓŐÝĹÓÔ×ŐĹÔ!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ÎÁ ÄÉÓËĎ×ŮĘ ÎÁËĎĐÉÔĹĚŘ"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"ôÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ÂŮĚÁ ÉÚÍĹÎĹÎÁ!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "÷ŮÚŮ×ÁĹÔÓŃ ioctl() ÄĚŃ ĐĹŇĹŢÉÔŮ×ÁÎÉŃ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"đňĺäőđňĺöäĺîéĺ: đĹŇĹŢÉÔŮ×ÁÎÉĹ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ Ó "
+"ĎŰÉÂËĎĘ %d: %s.\n"
+"ńÄŇĎ ×ÓĹ ĹÝĹ ÉÓĐĎĚŘÚŐĹÔ ÓÔÁŇŐŔ ÔÁÂĚÉĂŐ.\n"
+"îĎ×ÁŃ ÔÁÂĚÉĂÁ ÂŐÄĹÔ ÉÓĐĎĚŘÚĎ×ÁÎÁ ĐŇÉ ÓĚĹÄŐŔÝĹĘ ĐĹŇĹÚÁÇŇŐÚËĹ.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"đňĺäőđňĺöäĺîéĺ: ĺÓĚÉ ×Ů ÓĎÚÄÁĚÉ ÉĚÉ ÉÚÍĹÎÉĚÉ\n"
+"ËÁËÉĹ-ĚÉÂĎ ŇÁÚÄĹĚŮ DOS 6.x, ĐĎÖÁĚŐĘÓÔÁ, ĐŇĎŢÔÉÔĹ\n"
+"ÓÔŇÁÎÉĂŐ ŇŐËĎ×ĎÄÓÔ×Á fdisk ÄĚŃ ĐĎĚŐŢĹÎÉŃ\n"
+"ÄĎĐĎĚÎÉÔĹĚŘÎĎĘ ÉÎĆĎŇÍÁĂÉÉ.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"ďŰÉÂËÁ ÚÁËŇŮÔÉŃ ĆÁĘĚÁ\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "óÉÎČŇĎÎÉÚÉŇŐŔÔÓŃ ÄÉÓËÉ.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "ňÁÚÄĹĚ %d ÎĹ ÉÍĹĹÔ ĎÂĚÁÓÔÉ Ó ÄÁÎÎŮÍÉ\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "îĎ×ĎĹ ÎÁŢÁĚĎ ÄÁÎÎŮČ"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "ëĎÍÁÎÄŮ ÜËÓĐĹŇÔÁ (m ÄĚŃ ÓĐŇÁ×ËÉ): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ÇĎĚĎ×ĎË"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ÓĹËÔĎŇĎ×"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŐÓÔÁÎÁ×ĚÉ×ÁĹÔÓŃ ÓÍĹÝĹÎÉĹ ÓĹËÔĎŇÁ ÄĚŃ ÓĎ×ÍĹÓÔÉÍĎÓÔÉ Ó DOS\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: ÎĹÉÚ×ĹÓÔÎÁŃ ËĎÍÁÎÄÁ\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"óĎÚÄÁĹÔÓŃ ÎĎ×ÁŃ ÍĹÔËÁ ÄÉÓËÁ sun. éÚÍĹÎĹÎÉŃ ÂŐÄŐÔ ĎÓÔÁ×ÁÔŘÓŃ\n"
+"ÔĎĚŘËĎ × ĐÁÍŃÔÉ ÄĎ ÔĹČ ĐĎŇ, ĐĎËÁ ×Ů ÎĹ ŇĹŰÉÔĹ ÚÁĐÉÓÁÔŘ ÉČ.\n"
+"đĎÓĚĹ ÜÔĎÇĎ, ËĎÎĹŢÎĎ, ĐŇĹÄŮÄŐÝĹĹ ÓĎÄĹŇÖÉÍĎĹ ÎĹĚŘÚŃ ÂŐÄĹÔ\n"
+"×ĎÓÓÔÁÎĎ×ÉÔŘ.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"ďÂÎÁŇŐÖĹÎÁ ÍĹÔËÁ ÄÉÓËÁ OSF/1 ÎÁ %s, ×ŮĐĎĚÎŃĹÔÓŃ ĐĹŇĹČĎÄ × ŇĹÖÉÍ ÍĹÔËÉ "
+"ÄÉÓËÁ.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "ëĎÍÁÎÄÁ (m ÄĚŃ ÓĐŇÁ×ËÉ): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ĎĐĂÉŃ -b (ŐÓÔÁÎĎ×ËÁ ŇÁÚÍĹŇÁ ÓĹËÔĎŇÁ) ÄĎĚÖÎÁ ÂŮÔŘ "
+"ÉÓĐĎĚŘÚĎ×ÁÎÁ Ó ĎÄÎÉÍ ŐËÁÚÁÎÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "đŇÉÍĹŢÁÎÉĹ: ŇÁÚÍĹŇ ÓĹËÔĎŇÁ - %d (ÎĹ %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "îÁ ÄÉÓËĹ %s ĎÔÓŐÔÓÔ×ŐĹÔ ×ĹŇÎÁŃ ÔÁÂĚÉĂÁ ŇÁÚÄĹĚĎ×\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "÷ÓĹ ĎÓÎĎ×ÎŮĹ ŇÁÚÄĹĚŮ ŐÖĹ ÂŮĚÉ ĎĐŇĹÄĹĚĹÎŮ!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "îĹ×ĹŇÎĎĹ ÓÍĹÝĹÎÉĹ × ĎÓÎĎ×ÎĎÍ ŇÁÓŰÉŇĹÎÎĎÍ ŇÁÚÄĹĚĹ\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ĐŇĎĐŐÓËÁŔÔÓŃ ŇÁÚÄĹĚŮ ĐĎÓĚĹ #%d.\n"
+"ďÎÉ ÂŐÄŐÔ ŐÄÁĚĹÎŮ, ĹÓĚÉ ×Ů ÓĎČŇÁÎÉÔĹ ÜÔŐ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŐËÁÚÁÔĹĚŘ ÎÁ ÄĎĐĎĚÎÉÔĹĚŘÎŐŔ ÓÓŮĚËŐ × ÔÁÂĚÉĂĹ ŇÁÚÄĹĚĎ× %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÉÇÎĎŇÉŇŐŔÔÓŃ ÄĎĐĎĚÎÉÔĹĚŘÎŮĹ ÄÁÎÎŮĹ × ÔÁÂĚÉĂĹ ŇÁÚÄĹĚĎ× %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ĐŐÓÔĎĘ ŇÁÚÄĹĚ\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "éÇÎĎŇÉŇŐĹÔÓŃ ÄĎĐĎĚÎÉÔĹĚŘÎŮĘ ŇÁÓŰÉŇĹÎÎŮĘ ŇÁÚÄĹĚ %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎĹ×ĹŇÎŮĘ ĆĚÁÇ 0x%04x ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× %d ÂŐÄĹÔ ÉÓĐŇÁ×ĚĹÎ "
+"ÚÁĐÉÓŘŔ\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"ňÁÚÄĹĚ %d ŐÖĹ ĎĐŇĹÄĹĚĹÎ. őÄÁĚÉÔĹ ĹÇĎ ĐĹŇĹÄ ÔĹÍ, ËÁË ÓÎĎ×Á ÄĎÂÁ×ÉÔŘ ĹÇĎ.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "ďÔÓŐÔÓÔ×ŐŔÔ ÄĎÓÔŐĐÎŮĹ Ó×ĎÂĎÄÎŮĹ ÓĹËÔĎŇŮ\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "đĚĎČĎĘ ĚĎÇÉŢĹÓËÉĘ ŇÁÚÄĹĚ"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎĹ×ĹŇÎĎĹ ÎÁŢÁĚĎ ÄÁÎÎŮČ × ŇÁÚÄĹĚĹ %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %d ĐĹŇĹËŇŮ×ÁĹÔ ŇÁÚÄĹĚ %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %d ĐŐÓÔ\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "ěĎÇÉŢĹÓËÉĘ ŇÁÚÄĹĚ %d ÎĹ ÎÁČĎÄÉÔÓŃ ĂĹĚÉËĎÍ × ŇÁÚÄĹĚĹ %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+"óŐÍÍÁŇÎĎĹ ËĎĚÉŢĹÓÔ×Ď ×ŮÄĹĚĹÎÎŮČ ÓĹËÔĎŇĎ× %d ÂĎĚŘŰĹ, ŢĹÍ ÍÁËÓÉÍŐÍ %lld\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld ÎĹÚÁÎŃÔŮČ ÓĹËÔĎŇĎ×\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "úÁÄĹĘÓÔ×Ď×ÁÎŮ ×ÓĹ ĚĎÇÉŢĹÓËÉĹ ŇÁÚÄĹĚŮ\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "úÁÄĹĘÓÔ×Ď×ÁÎŮ ×ÓĹ ĚĎÇÉŢĹÓËÉĹ ŇÁÚÄĹĚŮ\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "äĎÂÁ×ĚŃĹÔÓŃ ĎÓÎĎ×ÎĎĘ ŇÁÚÄĹĚ\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l ĚĎÇÉŢĹÓËÉĘ (5 ÉĚÉ ÂĎĚĹĹ)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e ŇÁÓŰÉŇĹÎÎŮĘ"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "éÓĐĎĚŘÚŐĹÔÓŃ ÚÎÁŢĹÎÉĹ ĐĎ ŐÍĎĚŢÁÎÉŔ %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "îĹ×ĹŇÎŮĘ ÎĎÍĹŇ ŇÁÚÄĹĚÁ ÄĚŃ ÔÉĐÁ `%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+#, fuzzy
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tîÁ ÜÔĎÍ ÄÉÓËĹ ĹÓÔŘ ×ĹŇÎÁŃ ÍĹÔËÁ AIX.\n"
+"\të ÓĎÖÁĚĹÎÉŔ ÎÁ ÄÁÎÎŮĘ ÍĎÍĹÎÔ Linux ÎĹ\n"
+"\tÍĎÖĹÔ ĎÂŇÁÂÁÔŮ×ÁÔŘ ÜÔÉ ÄÉÓËÉ. ôĹÍ ÎĹ\n"
+"\tÍĹÎĹĹ ×ĎÔ ÎĹÓËĎĚŘËĎ ÓĎ×ĹÔĎ×:\n"
+"\t1. đŇÉ ÚÁĐÉÓÉ fdisk ŇÁÚŇŐŰÉÔ ×ÓĹ ÄÁÎÎŮĹ\n"
+"\t ÎÁ ÄÉÓËĹ.\n"
+"\t2. őÂĹÄÉÔĹÓŘ, ŢÔĎÂŮ ÜÔĎÔ ÄÉÓË îĺ Ń×ĚŃĚÓŃ\n"
+"\t ×ÁÖÎĎĘ ŢÁÓÔŘŔ ÇŇŐĐĐŮ ÔĎÍĎ×. (éÎÁŢĹ ×Ů\n"
+"\t ÍĎÖĹÔĹ ÓÔĹŇĹÔŘ ×ÓĹ ĎÓÔÁĚŘÎŮĹ ÄÉÓËÉ,\n"
+"\t ĹÓĚÉ ĎÎÉ ÎĹ ĎÔÚĹŇËÁĚĹÎŮ.)\n"
+"\t3. đĹŇĹÄ ŐÄÁĚĹÎÉĹÍ ÜÔĎÇĎ ĆÉÚÉŢĹÓËĎÇĎ\n"
+"\t ÔĎÍÁ ŐÂĹÄÉÔĹÓŘ, ŢÔĎ ĚĎÇÉŢĹÓËÉ ŐÄÁĚÉĚÉ\n"
+"\t ÄÉÓË ÉÚ AIX Ó×ĎĹĘ ÍÁŰÉÎŮ. (éÎÁŢĹ, ×Ů\n"
+"]\t ÓÔÁÎĹÔĹ AIXpert'ĎÍ)."
+
+#: fdisks/fdiskmaclabel.c:92
+#, fuzzy, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\të ÓĎÖÁĚĹÎÉŔ ÜÔĎÔ fdisk ÎĹ ÍĎÖĹÔ ĎÂŇÁÂÁÔŮ×ÁÔŘ\n"
+"\tÍĹÔËÉ ÄÉÓËĎ× AIX. ĺÓĚÉ ×Ů ČĎÔÉÔĹ ÄĎÂÁ×ÉÔŘ\n"
+"\tŇÁÚÄĹĚŮ ÔÉĐÁ DOS, ÓĎÚÄÁĘÔĹ ÓÎÁŢÁĚÁ ÎĎ×ŐŔ ĐŐÓÔŐŔ\n"
+"\tÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ× DOS (ÉÓĐĎĚŘÚŐĘÔĹ o).\n"
+"\tđňĺäőđňĺöäĺîéĺ: đŇÉ ÜÔĎÍ ÓĎÄĹŇÖÉÍĎĹ ÎÁ\n"
+"\tÄÁÎÎĎÍ ÄÉÓËĹ ÂŐÄĹÔ ŇÁÚŇŐŰĹÎĎ.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux Ó×ĎĐ"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux ÓĎÂÓÔ×ĹÎ."
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"÷ ÓĎĎÔ×ĹÔÓÔ×ÉÉ Ó MIPS Computer Systems, Inc ÍĹÔËÁ ÎĹ ÄĎĚÖÎÁ ÓĎÄĹŇÖÁÔŘ ÂĎĚĹĹ "
+"512 ÂÁĘÔ\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "ďÂÎÁŇŐÖĹÎÁ ÍĹÔËÁ ÄÉÓËÁ sgi Ó ÎĹ×ĹŇÎĎĘ ËĎÎÔŇĎĚŘÎĎĘ ÓŐÍÍĎĘ.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"äÉÓË %s (ÍĹÔËÁ ÄÉÓËÁ SGI): %d ÇĎĚĎ×ĎË, %d ÓĹËÔĎŇĎ×\n"
+"%d ĂÉĚÉÎÄŇĎ×, %d ĆÉÚÉŢĹÓËÉČ ĂÉĚÉÎÄŇĎ×\n"
+"%d ÄĎĐ ÓĹËÔ/ĂÉĚ, ŢĹŇĹÄĎ×ÁÎÉĹ %d:1\n"
+"%s\n"
+"ĺÄÉÎÉĂŮ = %s ĐĎ %d * %d ÂÁĘÔ\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"äÉÓË %s (ÍĹÔËÁ ÄÉÓËÁ SGI): %d ÇĎĚĎ×ĎË, %d ÓĹËÔĎŇĎ×, %d ĂÉĚÉÎÄŇĎ×\n"
+"ĺÄÉÎÉĂŮ = %s ĐĎ %d * %d ÂÁĘÔ\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"------ ňÁÚÄĹĚŮ ------\n"
+"ň# %*s éÎĆĎ îÁŢÁĚĎ ëĎÎĹĂ óĹËÔĎŇŮ Id óÉÓÔĹÍÁ\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Boot-ÉÎĆĎ -----\n"
+"Boot-ĆÁĘĚ: %s\n"
+"----- đŐÎËÔŮ ËÁÔÁĚĎÇĎ× -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s ÓĹËÔĎŇ%5u ŇÁÚÍĹŇ%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"îĹ×ĹŇÎŮĘ Boot-ĆÁĘĚ!\n"
+"\tBoot-ĆÁĘĚ ÄĎĚÖĹÎ ÂŮÔŘ ÁÂÓĎĚŔÔÎŮÍ ÎĹÎŐĚĹ×ŮÍ ĐŐÔĹ×ŮÍ ÉÍĹÎĹÍ,\n"
+"\tÎÁĐŇ. \"/unix\" ÉĚÉ \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\téÍŃ Boot-ĆÁĘĚÁ ÓĚÉŰËĎÍ ÄĚÉÎÎĎĹ: ÍÁËÓÉÍŐÍ 16 ÂÁĘÔ.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tBoot-ĆÁĘĚ ÄĎĚÖĹÎ ÉÍĹÔŘ ĐĎĚÎĎÓÔŘŔ ŐÔĎŢÎĹÎÎĎĹ ĐŐÔĹ×ĎĹ ÉÍŃ.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\túÎÁĘÔĹ, ŢÔĎ ÓŐÝĹÓÔ×Ď×ÁÎÉĹ boot-ĆÁĘĚÁ ÎĹ ĐŇĎ×ĹŇŃĹÔÓŃ.\n"
+"\t÷ SGI ĐĎ ŐÍĎĚŢÁÎÉŔ - \"/unix\" É ÄĚŃ ŇĹÚĹŇ×ÎĎĘ ËĎĐÉÉ \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"ôĹËŐÝÉĘ boot-ĆÁĘĚ: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "đĎÖÁĚŐĘÓÔÁ, ××ĹÄÉÔĹ ÉÍŃ ÎĎ×ĎÇĎ boot-ĆÁĘĚÁ: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Boot-ĆÁĘĚ ÎĹ ÉÚÍĹÎĹÎ\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tBoot-ĆÁĘĚ ÉÚÍĹÎĹÎ ÎÁ \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "đŇÉÓŐÔÓÔ×ŐĹÔ ÂĎĚĹĹ ĎÄÎĎÇĎ ĐŐÎËÔÁ ÄĚŃ ×ÓĹÇĎ ÄÉÓËÁ.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "ňÁÚÄĹĚŮ ÎĹ ĎĐŇĹÄĹĚĹÎŮ\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX ĚŔÂÉÔ, ËĎÇÄÁ ňÁÚÄĹĚ 11 ĎČ×ÁÔŮ×ÁĹÔ ×ĹÓŘ ÄÉÓË.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"ňÁÚÄĹĚ ×ÓĹÇĎ ÄÉÓËÁ ÄĎĚÖĹÎ ÎÁŢÉÎÁÔŘÓŃ Ó ÂĚĎËÁ 0,\n"
+"Á ÎĹ Ó ÄÉÓËĎ×ĎÇĎ ÂĚĎËÁ %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"ňÁÚÍĹŇ ŇÁÚÄĹĚÁ ×ÓĹÇĎ ÄÉÓËÁ - ÔĎĚŘËĎ %d ÄÉÓËĎ×ŮČ ÂĚĎËĎ×,\n"
+"Á ÄĚÉÎÁ ÄÉÓËÁ - %d ÄÉÓËĎ×ŮČ ÂĚĎËĎ×.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "ďÄÉÎ ňÁÚÄĹĚ (#11) ÄĎĚÖĹÎ ĎČ×ÁÔŮ×ÁÔŘ ×ĹÓŘ ÄÉÓË.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "ňÁÚÄĹĚ %d ÎĹ ÎÁŢÉÎÁĹÔÓŃ ÎÁ ÇŇÁÎÉĂĹ ĂÉĚÉÎÄŇÁ.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "ňÁÚÄĹĚ %d ÎĹ ÚÁËÁÎŢÉ×ÁĹÔÓŃ ÎÁ ÇŇÁÎÉĂĹ ĂÉĚÉÎÄŇÁ.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "ňÁÚÄĹĚŮ %d É %d ĐĹŇĹËŇŮ×ÁŔÔÓŃ × %d ÓĹËÔĎŇÁČ.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "îĹÉÓĐĎĚŘÚŐĹÍŮĘ ĐŇĎÍĹÖŐÔĎË ÉÚ %8u ÓĹËÔĎŇĎ× - ÓĹËÔĎŇŮ %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"úÁÇŇŐÚĎŢÎŮĘ ŇÁÚÄĹĚ ÎĹ ÓŐÝĹÓÔ×ŐĹÔ.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"ňÁÚÄĹĚ Ó×ĎĐÉÎÇÁ ÎĹ ÓŐÝĹÓÔ×ŐĹÔ.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"ňÁÚÄĹĚ Ó×ĎĐÉÎÇÁ ÎĹ ÉÍĹĹÔ ÔÉĐ swap.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\t÷Ů ×ŮÂŇÁĚÉ ÎĹĎÂŮŢÎĎĹ ÉÍŃ boot-ĆÁĘĚÁ.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "ë ÓĎÖÁĚĹÎÉŔ ÔĎĚŘËĎ ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŘ ÍĎÖĹÔ ÉÚÍĹÎŃÔŘ ÓÉÓÔĹÍÎŮĹ ŢÁÓŮ.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"îÁÓÔĎŃÔĹĚŘÎĎ ŇĹËĎÍĹÎÄŐĹÔÓŃ, ŢÔĎÂŮ ŇÁÚÄĹĚ ÓĎ\n"
+"ÓÍĹÝĹÎÉĹÍ 0 ÉÍĹĚ ÔÉĐ \"SGI volhdr\", ÓÉÓÔĹÍÁ IRIX\n"
+"ÂŐÄĹÔ ÎÁÄĹŃÔŘÓŃ ÎÁ ÎĹÇĎ ÄĚŃ ÉÚ×ĚĹŢĹÎÉŃ ÉÚ ĹÇĎ ËÁÔÁĚĎÇÁ\n"
+"ÓÁÍĎÓÔĎŃÔĹĚŘÎŮČ ŐÔÉĚÉÔ ÔÉĐÁ sash É fx.\n"
+"ôĎĚŘËĎ ŇÁÚÄĹĚ ×ÓĹÇĎ ÄÉÓËÁ \"SGI volume\" ÍĎÖĹÔ ÎÁŇŐŰÉÔŘ ÜÔĎ.\n"
+"÷×ĹÄÉÔĹ äá, ĹÓĚÉ ×Ů Ő×ĹŇĹÎŮ, ŢÔĎ ŇÁÚÍĹÔÉĚÉ ÜÔĎÔ ŇÁÚÄĹĚ ĎÔÄĹĚŘÎĎ.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "äá\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "÷Ů ĐĎĚŐŢÉĚÉ ĐĹŇĹËŇŮ×ÁÎÉĹ ŇÁÚÄĹĚĎ× ÎÁ ÄÉÓËĹ. óÎÁŢÁĚÁ ÉÓĐŇÁ×ŘÔĹ ÜÔĎ!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "÷ŮĐĎĚÎŃĹÔÓŃ ĐĎĐŮÔËÁ Á×ÔĎÍÁÔÉŢĹÓËÉ ÓĎÚÄÁÔŘ ĐŐÎËÔ ×ÓĹÇĎ ÄÉÓËÁ.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "÷ĹÓŘ ÄÉÓË ŐÖĹ ŇÁÚÂÉÔ ÎÁ ŇÁÚÄĹĚŮ.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "÷Ů ĐĎĚŐŢÉĚÉ ĐĹŇĹËŇŮ×ÁÎÉĹ ŇÁÚÄĹĚĎ× ÎÁ ÄÉÓËĹ. óÎÁŢÁĚÁ ÉÓĐŇÁ×ŘÔĹ ÜÔĎ!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"îÁÓÔĎŃÔĹĚŘÎĎ ŇĹËĎÍĹÎÄŐĹÔÓŃ, ŢÔĎÂŮ ĎÄÉÎÎÁÄĂÁÔŮĘ\n"
+"ŇÁÚÄĹĚ ĎČ×ÁÔŮ×ÁĚ ×ĹÓŘ ÄÉÓË É ÉÍĹĚ ÔÉĐ `SGI volume'\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "÷Ů ĐĎĚŐŢÉÔĹ ĐĹŇĹËŇŮ×ÁÎÉĹ ŇÁÚÄĹĚĎ× ÎÁ ÄÉÓËĹ. óÎÁŢÁĚÁ ÉÓĐŇÁ×ŘÔĹ ÜÔĎ!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " đĎÓĚĹÄÎÉĘ %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ÎÁ %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: BLKGETSIZE ioctl ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ÎÁ %s. éÓĐĎĚŘÚŐĹÔÓŃ "
+"ÚÎÁŢĹÎÉĹ ÇĹĎÍĹÔŇÉÉ ĂÉĚÉÎÄŇÁ %d.\n"
+"üÔĎ ÚÎÁŢĹÎÉĹ ÍĎÖĹÔ ÂŮÔŘ ŐÍĹÎŘŰĹÎĎ ÄĚŃ ŐÓÔŇĎĘÓÔ× > 33.8 çâ.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tîáţáěď=%d\täěéîá=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "÷ŮĐĎĚÎŃĹÔÓŃ ĐĎĐŮÔËÁ ÓĎČŇÁÎÉÔŘ ĐÁŇÁÍĹÔŇŮ ŇÁÚÄĹĚÁ %d.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Whole disk"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld ÎĹÚÁÎŃÔŮČ ÓĹËÔĎŇĎ×\n"
+
+#: fdisks/fdisksunlabel.c:41
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:42
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "á×ÔĎĎĐŇĹÄĹĚĹÎÉĹ Linux raid"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"ďÂÎÁŇŐÖĹÎÁ ÍĹÔËÁ ÄÉÓËÁ sun Ó ÎĹ×ĹŇÎĎĘ\n"
+"ËĎÎÔŇĎĚŘÎĎĘ ÓŐÍÍĎĘ. ÷ĎÚÍĎÖÎĎ ×ÁÍ\n"
+"ĐĎÎÁÄĎÂÉÔÓŃ ŐÓÔÁÎĎ×ÉÔŘ ×ÓĹ ÚÎÁŢĹÎÉŃ,\n"
+"ÎÁĐŇ. ÇĎĚĎ×ËÉ, ÓĹËÔĎŇŮ, ĂÉĚÉÎÄŇŮ É ŇÁÚÄĹĚŮ,\n"
+"ÉĚÉ ĐŇÉÎŐÄÉÔĹĚŘÎĎ ĎÂÎĎ×ÉÔŘ ÍĹÔËŐ (ËĎÍÁÎÄÁ\n"
+"s × ÇĚÁ×ÎĎÍ ÍĹÎŔ)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "ďÂÎÁŇŐÖĹÎÁ ÍĹÔËÁ ÄÉÓËÁ sgi Ó ÎĹ×ĹŇÎĎĘ ËĎÎÔŇĎĚŘÎĎĘ ÓŐÍÍĎĘ.\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "ďÂÎÁŇŐÖĹÎÁ ÍĹÔËÁ ÄÉÓËÁ sgi Ó ÎĹ×ĹŇÎĎĘ ËĎÎÔŇĎĚŘÎĎĘ ÓŐÍÍĎĘ.\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "ďÂÎÁŇŐÖĹÎÁ ÍĹÔËÁ ÄÉÓËÁ sgi Ó ÎĹ×ĹŇÎĎĘ ËĎÎÔŇĎĚŘÎĎĘ ÓŐÍÍĎĘ.\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎĹ×ĹŇÎŮĘ ĆĚÁÇ 0x%04x ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× %d ÂŐÄĹÔ ÉÓĐŇÁ×ĚĹÎ "
+"ÚÁĐÉÓŘŔ\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s ÎĹ ÓĎÄĹŇÖÉÔ ÍĹÔËÉ ÄÉÓËÁ.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "óĹËÔĎŇŮ/ÄĎŇĎÖËÁ"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "ňÁÚÄĹĚ %d ÎÁ ÚÁËÁÎŢÉ×ÁĹÔÓŃ ÎÁ ÇŇÁÎÉĂĹ ĂÉĚÉÎÄŇÁ\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "ňÁÚÄĹĚ %d ĐĹŇĹËŇŮ×ÁĹÔÓŃ Ó ÄŇŐÇÉÍÉ × ÓĹËÔĎŇÁČ %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "îĹÉÓĐĎĚŘÚŐĹÍŮĘ ĐŇĎÍĹÖŐÔĎË - ÓĹËÔĎŇŮ 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "îĹÉÓĐĎĚŘÚŐĹÍŮĘ ĐŇĎÍĹÖŐÔĎË - ÓĹËÔĎŇŮ %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"äŇŐÇÉĹ ŇÁÚÄĹĚŮ ŐÖĹ ĎČ×ÁÔŮ×ÁŔÔ ×ĹÓŘ ÄÉÓË.\n"
+"őÄÁĚÉÔĹ ÎĹËĎÔĎŇŮĹ ÉĚÉ ŐÍĹÎŘŰÉÔĹ ÉČ ĐĹŇĹÄ ĐĎ×ÔĎŇÎĎĘ ĐĎĐŮÔËĎĘ.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"îÁÓÔĎŃÔĹĚŘÎĎ ŇĹËĎÍĹÎÄŐĹÔÓŃ, ŢÔĎÂŮ ĎÄÉÎÎÁÄĂÁÔŮĘ\n"
+"ŇÁÚÄĹĚ ĎČ×ÁÔŮ×ÁĚ ×ĹÓŘ ÄÉÓË É ÉÍĹĚ ÔÉĐ `SGI volume'\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"÷Ů ÎĹ ĎČ×ÁÔÉĚÉ ×ĹÓŘ ÄÉÓË 3-Í ŇÁÚÄĹĚĎÍ, ÎĎ ×ÁŰĹ ÚÎÁŢĹÎÉĹ\n"
+"%d %s ÚÁČ×ÁÔÉĚĎ ÄŇŐÇĎĘ ŇÁÚÄĹĚ. ÷ÁŰ ĐŐÎËÔ ÂŮĚ ÉÚÍĹÎĹÎ\n"
+"ÎÁ %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"ĺÓĚÉ ×Ů ČĎÔÉÔĹ ÉÓĐĎĚŘÚĎ×ÁÔŘ ÓĎ×ÍĹÓÔÉÍĎÓÔŘ Ó SunOS/Solaris, ĐĎÓÔÁŇÁĘÔĹÓŘ\n"
+"ĎÓÔÁ×ÉÔŘ ÜÔĎÔ ŇÁÚÄĹĚ ËÁË ×ĹÓŘ disk (5), ÎÁŢÉÎÁŃ Ó 0, Ó %u ÓĹËÔĎŇÁÍÉ\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"îÁÓÔĎŃÔĹĚŘÎĎ ŇĹËĎÍĹÎÄŐĹÔÓŃ, ŢÔĎÂŮ ŇÁÚÄĹĚ ÓĎ\n"
+"ÓÍĹÝĹÎÉĹÍ 0 ÂŮĚ Ó ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍĎĘ UFS,\n"
+"EXT2FS ÉĚÉ Ó×ĎĐĎÍ SunOS. ňÁÚÍĹÝĹÎÉĹ ÎÁ ÎĹÍ Ó×ĎĐÁ\n"
+"Linux ÍĎÖĹÔ ŇÁÚŇŐŰÉÔŘ ×ÁŰŐ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×\n"
+"É ÚÁÇŇŐÚĎŢÎŮĘ ÂĚĎË. ÷×ĹÄÉÔĹ äá, ĹÓĚÉ ×Ů ĐĎĚÎĎÓÔŘŔ\n"
+"Ő×ĹŇĹÎŮ, ŢÔĎ ČĎÔÉÔĹ ĐĎÍĹÔÉÔŘ ÜÔĎÔ ŇÁÚÄĹĚ ËÁË 82\n"
+"82 (Linux Ó×ĎĐ): "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"äÉÓË %s (ÍĹÔËÁ ÄÉÓËÁ Sun): %d ÇĎĚĎ×ĎË, %d ÓĹËÔĎŇĎ×\n"
+"%d ĎÂ/ÍÉÎ, %d ĂÉĚÉÎÄŇĎ×, %d ÁĚŘÔĹŇÎÁÔÉ×ÎŮČ ĂÉĚÉÎÄŇĎ×\n"
+"%d ĆÉÚÉŢĹÓËÉČ ĂÉĚÉÎÄŇĎ×, %d ÄĎĐ ÓĹËÔ/ĂÉĚ, ŢĹŇĹÄĎ×ÁÎÉĹ %d:1\n"
+"%s\n"
+"ĺÄÉÎÉĂŮ = %s ĐĎ %d * 512 ÂÁĘÔ\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"äÉÓË %s (ÍĹÔËÁ ÄÉÓËÁ Sun): %d ÇĎĚĎ×ĎË, %d ÓĹËÔĎŇĎ×, %d ĂÉĚÉÎÄŇĎ×\n"
+"ĺÄÉÎÉĂŮ = %s ĐĎ %d * 512 ÂÁĘÔ\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s ćĚÁÇ îÁŢÁĚĎ ëĎÎĹĂ âĚĎËÉ Id óÉÓÔĹÍÁ\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ÁĚŘÔĹŇÎÁÔÉ×ÎŮČ ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "äĎĐĎĚÎÉÔĹĚŘÎŮĹ ÓĹËÔĎŇŮ ÎÁ ĂÉĚÉÎÄŇ"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "ëĎÜĆĆÉĂÉĹÎÔ ŢĹŇĹÄĎ×ÁÎÉŃ"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "óËĎŇĎÓÔŘ ×ŇÁÝĹÎÉŃ (ĎÂ/ÍÉÎ)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ĆÉÚÉŢĹÓËÉČ ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "đŐÓÔĎĘ"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "ňÁÓŰÉŇĹÎÎŮĘ"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX ÚÁÇŇŐÚĎŢÎŮĘ"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot-ÍĹÎĹÄÖĹŇ"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 ŇÁÓŰÉŇ. (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "óËŇŮÔŮĘ FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq ÄÉÁÇÎĎÓÔÉËÁ"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "óËŇŮÔŮĘ FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "óËŇŮÔŮĘ FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "óËŇŮÔŮĘ HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "óËŇŮÔŮĘ W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "óËŇŮÔŮĘ W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "óËŇŮÔŮĘ W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "óËŇŮÔŮĘ HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic ×ĎÓÓÔÁÎĎ×ĚĹÎÉĹ"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2-Ń ŢÁÓÔŘ"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3-Ń ŢÁÓÔŘ"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ÉĚÉ SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / ÓÔÁŇŮĘ Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux Ó×ĎĐ / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 ÓËŇŮÔŮĘ ÄÉÓË C:"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux ŇÁÓŰÉŇĹÎ"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS ÎÁÂĎŇ ÔĎÍĎ×"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin ÚÁÇŇŐÚĎŢÎŮĘ"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI ĆÓ"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI Ó×ĎĐ"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard ÓËŇŮÔŮĘ"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris ÚÁÇŇ."
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "äÁÎÎŮĹ ÎĹ ćó"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS ĆÓ"
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC ÚÁÇŇ."
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS ×ÔĎŇÉŢÎŮĘ"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ ÎÁ %s - ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ: ÎŐÖÎŮ 0x%08x%08x, ĐĎĚŐŢĹÎŮ 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "ĎŰÉÂËÁ ŢÔĹÎÉŃ Ó %s - ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ ÓĹËÔĎŇ %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ ÎÁ %s - ÎĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ÓĹËÔĎŇ %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ Ó ÓĎČŇÁÎĹÎÎŮÍ ÓĹËÔĎŇĎÍ ŇÁÚÄĹĚÁ (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ ÎÁ %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ĆÁĘĚÁ ×ĎÓÓÔÁÎĎ×ĚĹÎÉŃ ŇÁÚÄĹĚÁ (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"ĆÁĘĚ ×ĎÓÓÔÁÎĎ×ĚĹÎÉŃ ŇÁÚÄĹĚÁ ÉÍĹĹÔ ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ - ×ĎÓÓÔÁÎĎ×ĚĹÎÉĹ ĎÔÍĹÎĹÎĎ\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ ×ĎÓÓÔÁÎĎ×ĚĹÎÉŃ ŇÁÚÄĹĚÁ (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "ĎŰÉÂËÁ ŢÔĹÎÉŃ %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ŐÓÔŇĎĘÓÔ×Ď %s ÄĚŃ ÚÁĐÉÓÉ\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ ÓĹËÔĎŇÁ %lu ÎÁ %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "äÉÓË %s: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÇĹĎÍĹÔŇÉŔ\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "äÉÓË %s: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎÁŢÁĚĎ=%lu - ĐĎČĎÖĹ, ŢÔĎ ÜÔĎ ÓËĎŇĹĹ\n"
+"ŇÁÚÄĹĚ, ŢĹÍ ×ĹÓŘ ÄÉÓË. éÓĐĎĚŘÚĎ×ÁÎÉĹ ÎÁ ÎĹÍ fdisk\n"
+"×ĹŇĎŃÔÎĎ ÎĹ ÉÍĹĹÔ ÓÍŮÓĚÁ.\n"
+"[éÓĐĎĚŘÚŐĘÔĹ ĎĐĂÉŔ --force, ĹÓĚÉ ×Ů ÄĹĘÓÔ×ÉÔĹĚŘÎĎ ČĎÔÉÔĹ ÜÔĎÇĎ]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: HDIO_GETGEO ÓĎĎÂÝÉĚ, ŢÔĎ ÉÍĹĹÔÓŃ %lu ÇĎĚĎ×ĎË\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: HDIO_GETGEO ÓĎĎÂÝÉĚ, ŢÔĎ ÉÍĹĹÔÓŃ %lu ÓĹËÔĎŇĎ×\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: BLKGETSIZE/HDIO_GETGEO ÓĎĎÂÝÉĚ, ŢÔĎ ÉÍĹĹÔÓŃ %lu ĂÉĚÉÎÄŇĎ×\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÍÁĚĎ×ĹŇĎŃÔÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹËÔĎŇĎ× (%lu) - ĎÂŮŢÎĎ ÉČ 63\n"
+"üÔĎ ×ŮÚĎ×ĹÔ ĐŇĎÂĚĹÍŮ Ő ×ÓĹČ ĐŇĎÇŇÁÍÍ, ÉÓĐĎĚŘÚŐŔÝÉČ ÁÄŇĹÓÁĂÉŔ C/H/S.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"äÉÓË %s: %lu ĂÉĚÉÎÄŇĎ×, %lu ÇĎĚĎ×ĎË, %lu ÓĹËÔĎŇĎ×/ÄĎŇĎÖËŐ\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s ŇÁÚÄĹĚÁ %s ÉÍĹĹÔ ÎĹ×ĎÚÍĎÖÎĎĹ ÚÎÁŢĹÎÉĹ ÄĚŃ ÇĎĚĎ×ËÉ: %lu (ÄĎĚÖÎĎ ÂŮÔŘ ÍĹÖÄŐ "
+"0-%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s ŇÁÚÄĹĚÁ %s ÉÍĹĹÔ ÎĹ×ĎÚÍĎÖÎĎĹ ÚÎÁŢĹÎÉĹ ÄĚŃ ÓĹËÔĎŇÁ: %lu (ÄĎĚÖÎĎ ÂŮÔŘ ÍĹÖÄŐ "
+"1-%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s ŇÁÚÄĹĚÁ %s ÉÍĹĹÔ ÎĹ×ĎÚÍĎÖÎĎĹ ÚÎÁŢĹÎÉĹ ÄĚŃ ĂÉĚÉÎÄŇĎ×: %lu (ÄĎĚÖÎĎ ÂŮÔŘ "
+"ÍĹÖÄŐ 0-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id éÍŃ\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "đĹŇĹŢÉÔŮ×ÁĹÔÓŃ ÔÁÂĚÉĂÁ ŇÁÚÄĹĚĎ×...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"ëĎÍÁÎÄÁ ĐĹŇĹŢÉÔŮ×ÁÎÉŃ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×\n"
+"ÚÁ×ĹŇŰÉĚÁÓŘ ÎĹŐÄÁŢĹĘ. đĹŇĹÇŇŐÚÉÔĹ Ó×ĎŔ\n"
+"ÓÉÓÔĹÍŐ ĐĹŇĹÄ ÉÓĐĎĚŘÚĎ×ÁÎÉĹÍ mkfs\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "ďŰÉÂËÁ ÚÁËŇŮÔÉŃ %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: ÎĹÔ ÔÁËĎÇĎ ŇÁÚÄĹĚÁ\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "ÎĹŇÁÓĐĎÚÎÁÎÎŮĘ ĆĎŇÍÁÔ - ÉÓĐĎĚŘÚŐŔÔÓŃ ÓĹËÔĎŇŮ\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "ÎĹĎÂÓĚŐÖÉ×ÁĹÍŮĘ ĆĎŇÍÁÔ - ÉÓĐĎĚŘÚŐĹÔÓŃ %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ĺÄÉÎÉĂŮ = ĂÉĚÉÎÄŇŮ ĐĎ %lu ÂÁĘÔ, ÂĚĎËÉ ĐĎ 1024 ÂÁĘÔ, ÎÁŢÉÎÁŃ Ó %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " őÓÔŇ-×Ď úÁÇŇ îÁŢ ëĎÎĹĂ #ĂÉĚ #ÂĚĎËÉ Id óÉÓÔĹÍÁ\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ĺÄÉÎÉĂŮ = ÓĹËÔĎŇŮ ĐĎ 512 ÂÁĘÔ, ÎÁŢÉÎÁŃ Ó %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " őÓÔŇ-×Ď úÁÇŇ îÁŢÁĚĎ ëĎÎĹĂ #ÓĹËÔĎŇŮ Id óÉÓÔĹÍÁ\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ĺÄÉÎÉĂŮ = ÂĚĎËÉ ĐĎ 1024 ÂÁĘÔ, ÎÁŢÉÎÁŃ Ó %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " őÓÔŇ-×Ď úÁÇŇ îÁŢÁĚĎ ëĎÎĹĂ #ÂĚĎËÉ Id óÉÓÔĹÍÁ\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ĺÄÉÎÉĂŮ = mebi-ÂÁĘÔŮ ĐĎ 1048576 ÂÁĘÔ, ÂĚĎËÉ ĐĎ 1024 ÂÁĘÔ, ÎÁŢÉÎÁŃ Ó %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " őÓÔŇ-×Ď úÁÇŇ îÁŢ ëĎÎĹĂ íiB #ÂĚĎËÉ Id óÉÓÔĹÍÁ\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tÎÁŢÁĚĎ: (c,h,s) ĎÖÉÄÁĚĎÓŘ (%ld,%ld,%ld) ÎÁĘÄĹÎĎ (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tËĎÎĹĂ: (c,h,s) ĎÖÉÄÁĚĎÓŘ (%ld,%ld,%ld) ÎÁĘÄĹÎĎ (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "ŇÁÚÄĹĚ ÚÁËÁÎŢÉ×ÁĹÔÓŃ ÎÁ ĂÉĚÉÎÄŇĹ %ld, ĐĎÓĚĹ ËĎÎĂÁ ÄÉÓËÁ\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "ňÁÚÄĹĚŮ ÎĹ ÎÁĘÄĹÎŮ\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ôÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ×ŮÇĚŃÄÉÔ ÔÁË,\n"
+"ÓĚĎ×ÎĎ ĎÎÁ ÂŮĚÁ ÓĎÚÄÁÎÁ ÄĚŃ C/H/S=*/%ld/%ld\n"
+"(×ÍĹÓÔĎ %ld/%ld/%ld).\n"
+"äĚŃ ĚÉÓÔÉÎÇÁ ÂŐÄĹÔ ĐĎÄŇÁÚŐÍĹ×ÁÔŘÓŃ ÜÔÁ ÇĹĎÍĹÔŇÉŃ.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "ÔÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ĎÔÓŐÔÓÔ×ŐĹÔ.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "ÓÔŇÁÎÎĎ, ĎĐŇĹÄĹĚĹÎŮ ÔĎĚŘËĎ ŇÁÚÄĹĚŮ %d.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s ÉÍĹĹÔ ÎŐĚĹ×ĎĘ ŇÁÚÍĹŇ, ÎĎ ĎÎ ÎĹ ĐĎÍĹŢĹÎ ËÁË ĐŐÓÔĎĘ\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s ÉÍĹĹÔ ÎŐĚĹ×ĎĘ ŇÁÚÍĹŇ É Ń×ĚŃĹÔÓŃ ÚÁÇŇŐÚĎŢÎŮÍ\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s ÉÍĹĹÔ ÎŐĚĹ×ĎĘ ŇÁÚÍĹŇ É ÎĹÎŐĚĹ×ĎĹ ÎÁŢÁĚĎ\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "ÎĹ ÎÁČĎÄÉÔÓŃ × ŇÁÚÄĹĚĹ %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %d ĐŐÓÔ\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s ÓĎÄĹŇÖÉÔ ŢÁÓÔŘ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× (ÓĹËÔĎŇ %lu),\n"
+"É ŇÁÚŇŐŰÉÔ ĹĹ ĐŇÉ ÚÁĐĎĚÎĹÎÉÉ\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s ÎÁŢÉÎÁĹÔÓŃ Ó ÎŐĚĹ×ĎÇĎ ÓĹËÔĎŇÁ\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s ŇÁÓĐĎĚĎÇÁĹÔÓŃ ÄĎ ËĎÎĂÁ ÄÉÓËÁ\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"óŇĹÄÉ ĎÓÎĎ×ÎŮČ ŇÁÚÄĹĚĎ× ÚÁŢÁÓÔŐŔ ÔĎĚŘËĎ ĎÄÉÎ ÍĎÖĹÔ\n"
+"ÂŮÔŘ ŇÁÓŰÉŇĹÎ (ÔĹÍ ÎĹ ÍĹÎĹĹ, ÄĚŃ Linux ÜÔĎ ÎĹ ĐŇĎÂĚĹÍÁ)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s ÎĹ ÎÁŢÉÎÁĹÔÓŃ ÎÁ ÇŇÁÎÉĂĹ ĂÉĚÉÎÄŇÁ\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s ÎĹ ÚÁËÁÎŢÉ×ÁĹÔÓŃ ÎÁ ÇŇÁÎÉĂĹ ĂÉĚÉÎÄŇÁ\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÂĎĚĹĹ ĎÄÎĎÇĎ ŇÁÚÄĹĚÁ ĐĎÍĹŢĹÎĎ ËÁË ÚÁÇŇŐÚĎŢÎŮĘ (ÁËÔÉ×ÎŮĘ)\n"
+"üÔĎ ÎĹ ÉÍĹĹÔ ÚÎÁŢĹÎÉŃ ÄĚŃ LILO, ÎĎ DOS'Ď×ÓËÉĘ MBR ÎĹ ÚÁÇŇŐÚÉÔ ÜÔĎÔ ÄÉÓË.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ĎÂŮŢÎĎ ÚÁÇŇŐÚËÁ ÍĎÖĹÔ ÂŮÔŘ ×ŮĐĎĚÎĹÎÁ ÔĎĚŘËĎ Ó ĎÓÎĎ×ÎŮČ "
+"ŇÁÚÄĹĚĎ×\n"
+"LILO ÉÇÎĎŇÉŇŐĹÔ ĆĚÁÇ `ÚÁÇŇŐÚĎŢÎŮĘ'.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎĹÔ ĎÓÎĎ×ÎĎÇĎ ŇÁÚÄĹĚÁ, ĐĎÍĹŢĹÎÎĎÇĎ ËÁË ÚÁÇŇŐÚĎŢÎŮĘ "
+"(ÁËÔÉ×ÎŮĘ)\n"
+"üÔĎ ÎĹ ÉÍĹĹÔ ÚÎÁŢĹÎÉŃ ÄĚŃ LILO, ÎĎ DOS'Ď×ÓËÉĘ MBR ÎĹ ÚÁÇŇŐÚÉÔ ÜÔĎÔ ÄÉÓË.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "ÎÁŢÁĚĎ"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"ŇÁÚÄĹĚ %s: ÎÁŢÁĚĎ: (c,h,s) ĎÖÉÄÁĚĎÓŘ (%ld,%ld,%ld) ÎÁĘÄĹÎĎ (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "ËĎÎĹĂ"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"ŇÁÚÄĹĚ %s: ËĎÎĹĂ: (c,h,s) ĎÖÉÄÁĚĎÓŘ (%ld,%ld,%ld) ÎÁĘÄĹÎĎ (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "ŇÁÚÄĹĚ %s ÚÁËÁÎŢÉ×ÁĹÔÓŃ ÎÁ ĂÉĚÉÎÄŇĹ %ld, ĐĎÓĚĹ ËĎÎĂÁ ÄÉÓËÁ\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎÁŢÁĚĎ ŇÁÓŰÉŇĹÎÎĎÇĎ ŇÁÚÄĹĚÁ ÓÄ×ÉÎŐÔĎ Ó %ld ÎÁ %ld\n"
+"(ôĎĚŘËĎ ÄĚŃ ×Ů×ĎÄÁ ĚÉÓÔÉÎÇÁ, ÂĹÚ ÉÚÍĹÎĹÎÉŃ ĹÇĎ ÓĎÄĹŇÖÉÍĎÇĎ.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÓŰÉŇĹÎÎŮĘ ŇÁÚÄĹĚ ÎĹ ÎÁŢÉÎÁĹÔÓŃ ÎÁ ÇŇÁÎÉĂĹ ŇÁÚÄĹĚÁ.\n"
+"DOS É Linux ÂŐÄŐÔ ÉÎÔĹŇĐŇĹÔÉŇĎ×ÁÔŘ ÓĎÄĹŇÖÉÍĎĹ ĐĎ-Ó×ĎĹÍŐ.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ďűéâëá: ÓĹËÔĎŇ %lu ÎĹ ÉÍĹĹÔ ÓÉÇÎÁÔŐŇŮ msdos\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "ÓĚÉŰËĎÍ ÍÎĎÇĎ ŇÁÚÄĹĚĎ× - ÉÇÎĎŇÉŇŐŔÔÓŃ ÜÔÉ ĐĎÓĚĹÄÎÉĹ ÎĎÍĹŇÁ (%d)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "ÄĹŇĹ×Ď ŇÁÚÄĹĚĎ×?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "ĎÂÎÁŇŐÖĹÎ ÍĹÎĹÄÖĹŇ ÄÉÓËĎ× - ÎĹ×ĎÚÍĎÖÎĎ ĎÂŇÁÂĎÔÁÔŘ\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "îÁĘÄĹÎÁ ÓÉÇÎÁÔŐŇÁ DM6 - ÓÄÁŔÓŘ\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "ÓÔŇÁÎÎĎ... ŇÁÓŰÉŇĹÎÎŮĘ ŇÁÚÄĹĚ ÎŐĚĹ×ĎÇĎ ŇÁÚÍĹŇÁ?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "ÓÔŇÁÎÎĎ... ŇÁÚÄĹĚ BSD ÎŐĚĹ×ĎÇĎ ŇÁÚÍĹŇÁ?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: ÎĹŇÁÓĐĎÚÎÁÎÎŮĘ ÔÉĐ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "âŮĚ ŐËÁÚÁÎ ĆĚÁÇ -n: îÉŢĹÇĎ ÎĹ ÉÚÍĹÎĹÎĎ\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "ďŰÉÂËÁ ÓĎČŇÁÎĹÎÉŃ ÓÔÁŇŮČ ÓĹËÔĎŇĎ× - ×ŮĐĎĚÎŃĹÔÓŃ ĐŇĹŇŮ×ÁÎÉĹ\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "ÄĚÉÎÎÁŃ ÉĚÉ ÎĹÚÁ×ĹŇŰĹÎÎÁŃ ÓÔŇĎËÁ ××ĎÄÁ - ×ŮĐĎĚÎŃĹÔÓŃ ×ŮČĎÄ\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "ĎŰÉÂËÁ ××ĎÄÁ: `=' ĎÖÉÄÁĚÓŃ ĐĎÓĚĹ ĐĎĚŃ %s\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "ĎŰÉÂËÁ ××ĎÄÁ: ÎĹĎÖÉÄÁÎÎŮĘ ÓÉÍ×ĎĚ %c ĐĎÓĚĹ ĐĎĚŃ %s\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "ÎĹŇÁÓĐĎÚÎÁÎÎŮĘ ××ĎÄ: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "ŢÉÓĚĎ ÓĚÉŰËĎÍ ÂĎĚŘŰĎĹ\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "ÍŐÓĎŇ ĐĎÓĚĹ ŢÉÓĚÁ\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "ÎĹÔ ÍĹÓÔÁ ÄĚŃ ÄĹÓËŇÉĐÔĎŇÁ ŇÁÚÄĹĚÁ\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ĎËŇŐÖÁŔÝÉĘ ŇÁÓŰÉŇĹÎÎŮĘ ŇÁÚÄĹĚ\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "ÓĚÉŰËĎÍ ÍÎĎÇĎ ĐĎĚĹĘ ××ĎÄÁ\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "íĹÓÔÁ ÂĎĚŘŰĹ ÎĹÔ\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "îĹ×ĹŇÎŮĘ ÔÉĐ\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŐËÁÚÁÎÎŮĘ ŇÁÚÍĹŇ (%lu) ĐŇĹ×ŮŰÁĹÔ ÍÁËÓÉÍÁĚŘÎĎ ÄĎĐŐÓÔÉÍŮĘ "
+"ŇÁÚÍĹŇ (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ĐŐÓÔĎĘ ŇÁÚÄĹĚ\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎĹ×ĹŇÎĎĹ ÎÁŢÁĚĎ ŇÁÚÄĹĚÁ (ŇÁÎĹĹ %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "ÎĹŇÁÓĐĎÚÁÎÎŮĘ ÚÁÇŇŐÚĎŢÎŮĘ ĆĚÁÇ - ×ŮÂĹŇÉÔĹ - ÉĚÉ *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "ŢÁÓÔÉŢÎÁŃ ÓĐĹĂÉĆÉËÁĂÉŃ c,h,s?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "ňÁÓŰÉŇĹÎÎŮĘ ŇÁÚÄĹĚ ÎĹ ÔÁÍ, ÇÄĹ ĎÖÉÄÁĚÓŃ\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "ÎĹ×ĹŇÎŮĘ ××ĎÄ\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "ÓĚÉŰËĎÍ ÍÎĎÇĎ ŇÁÚÄĹĚĎ×\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"÷×ĎÄ × ÓĚĹÄŐŔÝĹÍ ĆĎŇÍÁÔĹ; ĎÔÓŐÔÓÔ×ŐŔÝÉĹ ĐĎĚŃ ĐĎĚŐŢÁŔÔ ÚÎÁŢĹÎÉŃ ĐĎ "
+"ŐÍĎĚŢÁÎÉŔ.\n"
+"<ÎÁŢÁĚĎ> <ŇÁÚÍĹŇ> <ÔÉĐ [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"ďÂŮŢÎĎ ×ÁÍ ÎĹĎÂČĎÄÉÍĎ ÔĎĚŘËĎ ŐËÁÚÁÔŘ <ÎÁŢÁĚĎ> É <ŇÁÚÍĹŇ> (É ×ĎÚÍĎÖÎĎ "
+"<ÔÉĐ>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d ŇÁÚÄĹĚŮ:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "ďĐÁÓÎŮĹ ĎĐĂÉÉ:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -G [ÉĚÉ --show-pt-geometry]: ×Ů×ĎÄ ÇĹĎÍĹÔŇÉÉ, ĐĎĚŐŢĹÎÎĎĘ ÉÚ ÔÁÂĚÉĂŮ "
+"ŇÁÚÄĹĚĎ×"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [ÉĚÉ --show-extended]: ÔÁËÖĹ ×Ů×ĎÄ ÓĐÉÓËÁ ŇÁÓŰÉŇĹÎÎŮČ ŇÁÚÄĹĚĎ× ÎÁ "
+"×ŮČĎÄĹ\n"
+" ÉĚÉ ĎÖÉÄÁĹÍŮĹ ÄĹÓËŇÉĐÔĎŇŮ ÄĚŃ ÎÉČ ÎÁ ×ČĎÄĹ"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s ŐÓÔŇĎĘÓÔ×Ď\t\t ×Ů×ĎÄÉÔ ÓĐÉÓĎË ÁËÔÉ×ÎŮČ ŇÁÚÄĹĚĎ× ŐÓÔŇĎĘÓÔ×Á\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s ŐÓÔŇĎĘÓÔ×Ď n1 n2 ... ÁËÔÉ×ÉŇŐĹÔ ŇÁÚÄĹĚŮ n1 ... É ÄĹÚÁËÔÉ×ÉŇŐĹÔ ĎÓÔÁĚŘÎŮĹ\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -ŐÓÔŇĎĘÓÔ×Ď \t ÁËÔÉ×ÉŇŐĹÔ ŇÁÚÄĹĚ n, ÄĹÚÁËÔÉ×ÉŇŐĹÔ ÄŇŐÇÉĹ ŇÁÚÄĹĚŮ\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "éÓĐĎĚŘÚŐĘÔĹ ĆĚÁÇ --force ÄĚŃ ĎÔËĚŔŢĹÎÉŃ ×ÓĹČ ĐŇĎ×ĹŇĎË.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "ÎĹÔ ËĎÍÁÎÄŮ?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ĂÉĚÉÎÄŇĎ×"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "×ÓĹÇĎ: %llu ÂĚĎËĎ×\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: sfdisk --print-id ŐÓÔŇĎĘÓÔ×Ď ÎĎÍĹŇ_ŇÁÚÄĹĚÁ\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: sfdisk --change-id ŐÓÔŇĎĘÓÔ×Ď ÎĎÍĹŇ_ŇÁÚÄĹĚÁ Id\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: sfdisk --id ŐÓÔŇĎĘÓÔ×Ď ÎĎÍĹŇ_ŇÁÚÄĹĚÁ [Id]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "ÍĎÖÎĎ ŐËÁÚÁÔŘ ÔĎĚŘËĎ ĎÄÎĎ ŐÓÔŇĎĘÓÔ×Ď (ËŇĎÍĹ ÔĹČ, ŢÔĎ Ó -l ÉĚÉ -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s ÄĚŃ ŢÔĹÎÉŃ-ÚÁĐÉÓÉ\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s ÄĚŃ ŢÔĹÎÉŃ\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld ĂÉĚÉÎÄŇĎ×, %ld ÇĎĚĎ×ĎË, %ld ÓĹËÔĎŇĎ×/ÄĎŇĎÖËŐ\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "ÎĹ×ĹŇÎŮĘ active-ÂÁĘÔ: 0x%x ×ÍĹÓÔĎ 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"çĎÔĎ×Ď\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"ő ×ÁÓ ÉÍĹŔÔÓŃ %d ÁËÔÉ×ÎŮČ ĎÓÎĎ×ÎŮČ ŇÁÚÄĹĚÁ. üÔĎ ÎĹ ÉÍĹĹÔ ÚÎÁŢĹÎÉŃ ÄĚŃ LILO,\n"
+"ÎĎ DOS'Ď×ÓËÉĘ MBR ÚÁÇŇŐÚÉÔ ÔĎĚŘËĎ ÄÉÓË Ó ĎÄÎÉÍ ÁËÔÉ×ÎŮÍ ŇÁÚÄĹĚĎÍ.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "ŇÁÚÄĹĚ %s ÉÍĹĹÔ id %x É ÎĹ Ń×ĚŃĹÔÓŃ ÓËŇŮÔŮÍ\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "îĹ×ĹŇÎŮĘ Id %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "üÔĎÔ ÄÉÓË ÓĹĘŢÁÓ ÉÓĐĎĚŘÚŐĹÔÓŃ.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "îĹÉÓĐŇÁ×ÉÍÁŃ ĎŰÉÂËÁ: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ %s\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: %s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "đŇĎ×ĹŇŃĹÔÓŃ, ŢÔĎÂŮ ÓĹĘŢÁÓ ÎÉËÔĎ ÎĹ ÉÓĐĎĚŘÚĎ×ÁĚ ÜÔĎÔ ÄÉÓË...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"äÉÓË ÓĹĘŢÁÓ ÉÓĐĎĚŘÚŐĹÔÓŃ - ÓËĎŇĹĹ ×ÓĹÇĎ, ŇÁÚÍĹÔËÁ - ÜÔĎ ĐĚĎČÁŃ ÉÄĹŃ.\n"
+"ňÁÚÍĎÎÔÉŇŐĘÔĹ ×ÓĹ ĆÁĘĚĎ×ŮĹ ÓÉÓÔĹÍŮ É ĎÔËĚŔŢÉÔĹ ×ÓĹ ŇÁÚÄĹĚŮ Ó×ĎĐÉÎÇÁ ÜÔĎÇĎ "
+"ÄÉÓËÁ.\n"
+"éÓĐĎĚŘÚŐĘÔĹ ĆĚÁÇ --no-reread ÄĚŃ ĎÔÍĹÎŮ ÜÔĎĘ ĐŇĎ×ĹŇËÉ.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "éÓĐĎĚŘÚŐĘÔĹ ĆĚÁÇ --force ÄĚŃ ĎÔËĚŔŢĹÎÉŃ ×ÓĹČ ĐŇĎ×ĹŇĎË.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "ďë\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "óÔÁŇÁŃ ÓÉÔŐÁĂÉŃ:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "ňÁÚÄĹĚ %d ÎĹ ÓŐÝĹÓÔ×ŐĹÔ, ÎĹ×ĎÚÍĎÖÎĎ ÉÚÍĹÎÉÔŘ ĹÇĎ\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "îĎ×ÁŃ ÓÉÔŐÁĂÉŃ:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"îĹ ÎŇÁ×ŃÔÓŃ ÍÎĹ ÜÔÉ ŇÁÚÄĹĚŮ - ÎÉŢĹÇĎ ÎĹ ÉÚÍĹÎĹÎĎ.\n"
+"(ĺÓĚÉ ×Ů ÄĹĘÓÔ×ÉÔĹĚŘÎĎ ČĎÔÉÔĹ ÜÔĎÇĎ, ÉÓĐĎĚŘÚŐĘÔĹ ĎĐĂÉŔ --force.)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "îĹ ÎŇÁ×ÉÔÓŃ ÍÎĹ ÜÔĎ - ×ĎÚÍĎÖÎĎ, ×ÁÍ ÓĚĹÄŐĹÔ ĎÔ×ĹÔÉÔŘ îĹÔ\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "÷ÁÓ ŐÓÔŇÁÉ×ÁĹÔ ÔÁËĎĘ ×ÁŇÉÁÎÔ? [ÄÎ×] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "÷Ů ČĎÔÉÔĹ ÚÁĐÉÓÁÔŘ ÜÔĎ ÎÁ ÄÉÓË? [ÄÎ×] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "úÁ×ĹŇŰĹÎÉĹ ŇÁÂĎÔŮ - ÎÉŢĹÇĎ ÎĹ ÉÚÍĹÎĹÎĎ\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "đĎÖÁĚŐĘÓÔÁ, ĎÔ×ĹÔŘÔĹ Ä, Î ÉĚÉ ×\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"îĎ×ÁŃ ÔÁÂĚÉĂÁ ŇÁÚÄĹĚĎ× ŐÓĐĹŰÎĎ ÚÁĐÉÓÁÎÁ\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"ĺÓĚÉ ×Ů ÓĎÚÄÁĚÉ ÉĚÉ ÉÚÍĹÎÉĚÉ ŇÁÚÄĹĚ DOS, ÓËÁÖĹÍ, /dev/foo7, ÉÓĐĎĚŘÚŐĘÔĹ "
+"ÚÁÔĹÍ dd(1),\n"
+"ŢÔĎÂŮ ĎÂÎŐĚÉÔŘ ĐĹŇ×ŮĹ 512 ÂÁĘÔ: dd if=/dev/zero of=/dev/foo7 bs=512 "
+"count=1\n"
+"(óÍ. fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version ÷Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ×ĹŇÓÉÉ\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: ĎŰÉÂËÁ ÚÁĐÉÓÉ.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: ďĐĂÉÉ --adjust É --noadjfile Ń×ĚŃŔÔÓŃ ×ÚÁÉÍÎĎ ÉÓËĚŔŢÁŔÝÉÍÉ. á ×Ů ŐËÁÚÁĚÉ "
+"ĎÂĹ.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: namei [-mx] ĐŐÔĹ×ĎĹ_ÉÍŃ [ĐŐÔĹ×ĎĹ_ÉÍŃ ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p ŇÁÂĎŢÉĘ_ÔĹĚĹĆĎÎ ]\n"
+"\t[ -h ÄĎÍÁŰÎÉĘ_ÔĹĚĹĆĎÎ ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version ÷Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ×ĹŇÓÉÉ\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: ×Ů (ĐĎĚŘÚĎ×ÁÔĹĚŘ %d) ÎĹ ÓŐÝĹÓÔ×ŐĹÔĹ.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: ĐĎĚŘÚĎ×ÁÔĹĚŘ \"%s\" ÎĹ ÓŐÝĹÓÔ×ŐĹÔ.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr ""
+"%s: ÍĎÖÎĎ ÔĎĚŘËĎ ÉÚÍĹÎÉÔŘ ĚĎËÁĚŘÎŮĹ ÜĚĹÍĹÎÔŮ; ×ÍĹÓÔĎ ÜÔĎÇĎ ÉÓĐĎĚŘÚŐĘÔĹ yp"
+"%s.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s ÎĹ Á×ÔĎŇÉÚĎ×ÁÎ ÄĚŃ ÉÚÍĹÎĹÎÉŃ finger-ÉÎĆĎŇÍÁĂÉÉ Ď %s\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "îĹÉÚ×ĹÓÔÎŮĘ ËĎÎÔĹËÓÔ ĐĎĚŘÚĎ×ÁÔĹĚŃ"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ËĎÎÔĹËÓÔ ĐĎ ŐÍĎĚŢÁÎÉŔ ÄĚŃ /etc/passwd"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "éÚÍĹÎĹÎÉĹ ÉÎĆĎŇÍÁĂÉÉ finger ÄĚŃ %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÎĹ ÉÚÍĹÎĹÎÁ.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"đŇĹŇ×ÁÎ.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "ĐĎĚĹ ÓĚÉŰËĎÍ ÄĚÉÎÎĎĹ.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "ĐĎĚĹ ÓĚÉŰËĎÍ ÄĚÉÎÎĎĹ.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' ÚÁĐŇĹÝĹÎ.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' ÚÁĐŇĹÝĹÎ.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Control-ÓÉÍ×ĎĚŮ ÚÁĐŇĹÝĹÎŮ.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Control-ÓÉÍ×ĎĚŮ ÚÁĐŇĹÝĹÎŮ.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger *îĺ* ÉÚÍĹÎĹÎÁ. đĎĐŇĎÂŐĘÔĹ ĹÝĹ ŇÁÚ ĐĎĐĎÚÖĹ.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+" -s, --shell=ŰĹĚĚ őÓÔÁÎĎ×ËÁ ŐÓĚĎ×ÉĘ ÚÁËĚ. × ËÁ×ŮŢËÉ ÄĚŃ ŰĹĚĚÁ\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr ""
+"%s: ÍĎÖÎĎ ÔĎĚŘËĎ ÉÚÍĹÎÉÔŘ ĚĎËÁĚŘÎŮĹ ÜĚĹÍĹÎÔŮ; ×ÍĹÓÔĎ ÜÔĎÇĎ ÉÓĐĎĚŘÚŐĘÔĹ yp"
+"%s.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s ÎĹ Á×ÔĎŇÉÚĎ×ÁÎ ÄĚŃ ÉÚÍĹÎĹÎÉŃ ŰĹĚĚÁ %s\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: úÁĐŐÝĹÎÎŮĘ UID ÎĹ ÓĎ×ĐÁÄÁĹÔ Ó UID'ĎÍ ŇĹÄÁËÔÉŇŐĹÍĎÇĎ ĐĎĚŘÚĎ×ÁÔĹĚŃ, "
+"ÉÚÍĹÎĹÎÉĹ ŰĹĚĚÁ ÚÁĐŇĹÝĹÎĎ\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "%s: ÷ÁŰ ŰĹĚĚ ĎÔÓŐÔÓÔ×ŐĹÔ × /etc/shells, ÉÚÍĹÎĹÎÉĹ ŰĹĚĚÁ ÚÁĐŇĹÝĹÎĎ\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "éÚÍĹÎĹÎÉĹ ŰĹĚĚÁ ÄĚŃ %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "îĎ×ŮĘ ŰĹĚĚ"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "űĹĚĚ ÎĹ ÉÚÍĹÎŁÎ.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "űĹĚĚ *îĺ* ÉÚÍĹÎŁÎ. đĎĐŇĎÂŐĘÔĹ ĹÝĹ ŇÁÚ ĐĎĐĎÚÖĹ.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "űĹĚĚ ÉÚÍĹÎŁÎ.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: ŰĹĚĚ ÄĎĚÖĹÎ ÂŮÔŘ ĐĎĚÎŮÍ ÓĎÓÔÁ×ÎŮÍ ÉÍĹÎĹÍ.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" ÎĹ ÓŐÝĹÓÔ×ŐĹÔ.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" ÎĹ Ń×ĚŃĹÔÓŃ ÉÓĐĎĚÎŃĹÍŮÍ.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: \"%s\" ĎÔÓŐÔÓÔ×ŐĹÔ × ÓĐÉÓËĹ /etc/shells\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" ĎÔÓŐÔÓÔ×ŐĹÔ × ÓĐÉÓËĹ /etc/shells\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "îĹÔ ÉÚ×ĹÓÔÎŮČ ŰĹĚĚĎ×.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: last [-#] [-f ĆÁĘĚ] [-t tty] [-h ÉÍŃ_ČĎÓÔÁ] "
+"[ĐĎĚŘÚĎ×ÁÔĹĚŘ ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " ×ÓĹ ĹÝĹ × ÓÉÓÔĹÍĹ"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp ÎÁŢÁĚÓŃ %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr ""
+"\n"
+"ďŰÉÂËÁ ÚÁËŇŮÔÉŃ ĆÁĘĚÁ\n"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"ĐŇĹŇ×ÁÎ %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "÷ČĎÄ × ÓÉÓÔĹÍŐ ĐŇĹ×ŮÓÉĚ ĐŇĹÄĹĚ ĎÖÉÄÁÎÉŃ × %d ÓĹËŐÎÄ\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "čňĺîď÷ď: ÎĹ×ĎÚÍĎÖÎĎ ĐĎ×ÔĎŇÎĎ ĎÔËŇŮÔŘ tty: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s ÎĹ Ń×ĚŃĹÔÓŃ ĎÓĎÂŮÍ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "mount ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "čňĺîď÷ď: ĐĚĎČĎĘ tty"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "đĎÓĚĹÄÎÉĘ ×ČĎÄ × ÓÉÓÔĹÍŐ: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "ÉÚ %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "× %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "ďÔËŇŮÔÉĹ %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DIALUP îá %s ţĺňĺú %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "÷čďä ROOT ÷ %s ó %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "÷čďä ROOT ÷ %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "÷čďä ÷ %s ţĺňĺú %s éú %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "÷čďä ÷ %s ţĺňĺú %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "ĚĎÇÉÎ: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "login: ÓÂĎĘ PAM, ×ŮĐĎĚÎŃĹÔÓŃ ĐŇĹŇŮ×ÁÎÉĹ: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÉÎÉĂÉÁĚÉÚÉŇĎ×ÁÔŘ PAM: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "óâďę ÷čďäá %d éú %s äěń %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"îĹ×ĹŇÎŮĘ ĚĎÇÉÎ\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "óěéűëďí íîďçď đďđůôďë ÷čďäá (%d) éú %s äěń %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "óâďę óĺóóéé ÷čďäá éú %s äěń %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"îĹ×ĹŇÎŮĘ ĚĎÇÉÎ\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"đŇĎÂĚĹÍÁ ŐÓÔÁÎĎ×ËÉ ÓĹÓÓÉÉ, ĐŇĹŇŮ×ÁÎÉĹ.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "đőóôďĺ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ × %s:%d. đŇĹŇŮ×ÁÎÉĹ."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h ÔĎĚŘËĎ ÄĚŃ ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŃ.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: last [-#] [-f ĆÁĘĚ] [-t tty] [-h ÉÍŃ_ČĎÓÔÁ] "
+"[ĐĎĚŘÚĎ×ÁÔĹĚŘ ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "îĹ×ĹŇÎĎĹ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ \"%s\" × %s:%d. đŇĹŇŮ×ÁÎÉĹ."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+"\n"
+"ďŰÉÂËÁ ÚÁËŇŮÔÉŃ ĆÁĘĚÁ\n"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "÷ÁÍ ÎĎ×ĎĹ ĐÉÓŘÍĎ.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "÷ÁÍ ĐÉÓŘÍĎ.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "÷ČĎÄ × ÓÉÓÔĹÍŐ Ó ÄĎÍÁŰÎÉÍ ËÁÔÁĚĎÇĎÍ = \"/\".\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: ÎĹ×ĎÚÍĎÖÎĎ ×ŮĐĎĚÎÉÔŘ ŰĹĚĚ-ÓËŇÉĐÔ: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "îĹÔ ŰĹĚĚÁ"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÉÎÔĹŇ×ÁĚÁ: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "đÁŇĎĚŘ: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: îĹÔ ÔÁËĎĘ ÇŇŐĐĐŮ."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: ÷Ů ËÔĎ?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: îĹÔ ÔÁËĎĘ ÇŇŐĐĐŮ."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: ÄĎÓÔŐĐ ÚÁĐŇĹÝĹÎ"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "×ŮĐĎĚÎĹÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ŐÄÁĚÉÔŘ id %s (%s)\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÔĹËŐÝÉĘ ËÁÔÁĚĎÇ - %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ĎÂŇÁÂĎÔŢÉË ÓÉÇÎÁĚÁ"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "îĹ×ĹŇÎŮĘ ĐÁŇĎĚŘ."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "đĎĐŇĎÂŐĘÔĹ `getopt --help' ÄĚŃ ĐĎĚŐŢĹÎÉŃ ÄĎĐĎĚÎÉÔĹĚŘÎĎĘ ÉÎĆĎŇÍÁĂÉÉ.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s ĐŇĎÇŇÁÍÍÁ [ÁŇÇŐÍĹÎÔ ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: ĐĎĚŘÚĎ×ÁÔĹĚŘ \"%s\" ÎĹ ÓŐÝĹÓÔ×ŐĹÔ.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÔĹËŐÝÉĘ ËÁÔÁĚĎÇ - %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: ÎĹ ĎÔËŇŮÔ ÄĚŃ ŢÔĹÎÉŃ/ÚÁĐÉÓÉ"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: ÎĹ ĎÔËŇŮÔ ÄĚŃ ŢÔĹÎÉŃ/ÚÁĐÉÓÉ"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: ĆÁĘĚ ĐÁŇĎĚĹĘ ÚÁÎŃÔ.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "÷Ů ÄĹĘÓÔ×ÉÔĹĚŘÎĎ ČĎÔÉÔĹ ĐŇĎÄĎĚÖÉÔŘ"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "×ŮĐĎĚÎĹÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÓÄĹĚÁÔŘ ÜÔĎ"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ×ŇĹÍĹÎÎŮĘ ĆÁĘĚ.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: ĐĹŇĹÉÍĹÎĎ×ÁÎÉĹ %s × %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ËĎÎÔĹËÓÔ ÄĚŃ %s"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ËĎÎÔĹËÓÔ ÄĚŃ %s"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s ÎĹ ÉÚÍĹÎĹÎ\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: ÉÚÍĹÎĹÎÉŃ ÎĹ ÓÄĹĚÁÎŮ\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "÷Ů ÉÓĐĎĚŘÚŐĹÔĹ ÔĹÎĹ×ŮĹ ÇŇŐĐĐŮ ÎÁ ÜÔĎĘ ÓÉÓÔĹÍĹ.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "÷Ů ÉÓĐĎĚŘÚŐĹÔĹ ÔĹÎĹ×ŮĹ ĐÁŇĎĚÉ ÎÁ ÜÔĎĘ ÓÉÓÔĹÍĹ.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "čĎÔÉÔĹ ĚÉ ×Ů ÓĹĘŢÁÓ ĎÔŇĹÄÁËÔÉŇĎ×ÁÔŘ %s [Ä/Î]? "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÇĎĚĎ×ĎË"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "ÚÁĐŇĹÝĹÎÎĎĹ ÚÎÁŢĹÎÉĹ ÇĎÄÁ: ÉÓĐĎĚŘÚŐĘÔĹ 1-9999"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "ÚÁĐŇĹÝĹÎÎĎĹ ÚÎÁŢĹÎÉĹ ÍĹÓŃĂÁ: ÉÓĐĎĚŘÚŐĘÔĹ 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "ÚÁĐŇĹÝĹÎÎĎĹ ÚÎÁŢĹÎÉĹ ÇĎÄÁ: ÉÓĐĎĚŘÚŐĘÔĹ 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: cal [-13smjyV] [[ÍĹÓŃĂ] ÇĎÄ]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [+ĆĎŇÍÁÔ] [ÄĹÎŘ ÍĹÓŃĂ ÇĎÄ]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "äĹÎŘ ó×. éÚÁÂĹĚĚŮ"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ%s"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "đĎĚĹÚÎŮĹ ĎĐĂÉÉ:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "îĎÍĹŇ ŇÁÚÄĹĚÁ"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: îĹÉÚ×ĹÓÔÎÁŃ ËĎÍÁÎÄÁ: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "ŢÔĹÎÉĹ %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " őÄÁĚÉÔŘ"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "ÎĹÉÚ×ĹÓÔÎŮĘ"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ %s.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "äĎÓÔŐĐÎŮĹ ËĎÍÁÎÄŮ:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "îĹÔ ËÁÔÁĚĎÇÁ %s!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "ĐŐÓÔÁŃ ĎĐĂÉŃ long ĐĎÓĚĹ ÁŇÇŐÍĹÎÔÁ -l ÉĚÉ --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "ÎĹÉÚ×ĹÓÔÎŮĘ ŰĹĚĚ ĐĎÓĚĹ ÁŇÇŐÍĹÎÔÁ -s ÉĚÉ --shell"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [ĎĐĂÉÉ] -o|--options ÓÔŇĎËÁ_ĎĐĂÉĘ [ĎĐĂÉÉ] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative ňÁÚŇĹŰĹÎÉĹ ÄĚÉÎÎŮČ ĎĐĂÉĘ, ÎÁŢÉÎÁŔÝÉČÓŃ Ó "
+"ĎÄÎĎÇĎ -\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr ""
+" -h, --help üÔĎ ÎĹÂĎĚŘŰĎĹ ŇŐËĎ×ĎÄÓÔ×Ď ĐĎ ÉÓĐĎĚŘÚĎ×ÁÎÉŔ\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=longopts äĚÉÎÎŮĹ ĎĐĂÉÉ ÄĚŃ ŇÁÓĐĎÚÎÁ×ÁÎÉŃ\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name=ÉÍŃ_ĐŇĎÇŇÁÍÍŮ éÍŃ, ĎÔ ËĎÔĎŇĎÇĎ ×ĹÄĹÔÓŃ ĎÔŢĹÔ Ď ĎŰÉÂËÁČ\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=ÓÔŇĎËÁ_ĎĐĂÉĘ ëĎŇĎÔËÉĹ ĎĐĂÉÉ ÄĚŃ ŇÁÓĐĎÚÎÁ×ÁÎÉŃ\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet ďÔËĚŔŢĹÎÉĹ ĎÔŢĹÔÁ ĎÂ ĎŰÉÂËÁČ getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output âĹÚ ĎÂŮŢÎŮČ ×ŮČĎÄÎŮČ ÄÁÎÎŮČ\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell=ŰĹĚĚ őÓÔÁÎĎ×ËÁ ŐÓĚĎ×ÉĘ ÚÁËĚ. × ËÁ×ŮŢËÉ ÄĚŃ ŰĹĚĚÁ\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test đŇĎ×ĹŇËÁ ×ĹŇÓÉÉ getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr ""
+" -u, --unqote îĹ ÚÁËĚŔŢÁÔŘ × ËÁ×ŮŢËÉ ×ŮČĎÄÎŮĹ ÄÁÎÎŮĹ\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version ÷Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ×ĹŇÓÉÉ\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "ĎÔÓŐÔÓÔ×ŐĹÔ ÁŇÇŐÍĹÎÔ ÓÔŇĎËÉ ĎĐĂÉĘ"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "×ÎŐÔŇĹÎÎŃŃ ĎŰÉÂËÁ, Ó×ŃÖÉÔĹÓŘ Ó Á×ÔĎŇĎÍ."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: ÎĹÉÚ×ĹÓÔÎŮĘ ÓÉÇÎÁĚ %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ĐŇĎĂĹÓÓ \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: ÎĹÉÚ×ĹÓÔÎŮĘ ÓÉÇÎÁĚ %s; ×ĹŇÎŮĹ ÓÉÇÎÁĚŮ:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ -s ÓÉÇÎÁĚ | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ ÓÉÇÎÁĚ ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: ÉÍŃ ÎĹÉÚ×ĹÓÔÎĎÇĎ ÓŇĹÄÓÔ×Á: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: ÉÍŃ ÎĹÉÚ×ĹÓÔÎĎÇĎ ĐŇÉĎŇÉÔĹÔÁ: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ ÓĚÉŰËĎÍ ÄĚÉÎÎĎĹ.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "ňÁÚÍĹŇ ÂĚĎËÁ: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "nfs ĐĎÄËĚŔŢĹÎÉĹ"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "ÓĎËĹÔ nfs"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "nfs ĐĎÄËĚŔŢĹÎÉĹ"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "îĎÍĹŇ ŇÁÚÄĹĚÁ"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "stat ĐŐÔÉ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "ŐÓÔÁÎĎ×ÉÔŘ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " ÓßĹÍÎŮĘ"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "stat ĐŐÔÉ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "úÁĐŇĹÝĹÎÎĎĹ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ inode"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÓĹËÔĎŇÁ"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÓĹËÔĎŇÁ"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ inode"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " u ÉÚÍĹÎĹÎÉĹ ĹÄÉÎÉĂ ÉÚÍĹŇĹÎÉŃ ÜËŇÁÎÁ/ÓĎÄĹŇÖÉÍĎÇĎ"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount: %s: ÎĹÉÚ×ĹÓÔÎĎĹ ŐÓÔŇĎĘÓÔ×Ď"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "äĎÓÔŐĐÎŮĹ ËĎÍÁÎÄŮ:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "stat ĐŐÔÉ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "ÎĹÉÚ×ĹÓÔÎŮĘ"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "đĎĚŐŢĹÎĎ %d ÂÁĘÔ ÉÚ %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "×ŮĐĎĚÎĹÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: namei [-mx] ĐŐÔĹ×ĎĹ_ÉÍŃ [ĐŐÔĹ×ĎĹ_ÉÍŃ ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "áŇÇŐÍĹÎÔ --date ÓĚÉŰËĎÍ ÄĚÉÎÎŮĘ\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: ĐĹŇĹÉÍĹÎĎ×ÁÎÉĹ %s × %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: ÎĹ×ĹŇÎŮĘ ÁŇÇŐÍĹÎÔ -l %s.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "úÁĐÉÓŘ"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "ŢÔĹÎÉĹ %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "ďŰÉÂËÁ ŢÔĹÎÉŃ %s\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "ĎŰÉÂËÁ ÓÍĹÎŮ ŇĹÖÉÍÁ %s: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+"\n"
+"ďŰÉÂËÁ ÚÁËŇŮÔÉŃ ĆÁĘĚÁ\n"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: ÎĹ ÎÁĘÄĹÎ"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: ĎŰÉÂËÁ ŢÔĹÎÉŃ %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s - ×ÍĹÓÔĎ ÜÔĎÇĎ ÉÓĐĎĚŘÚŐĹÔÓŃ %s\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ĆÁĘĚ ÂĚĎËÉŇĎ×ËÉ %s: %s (ÉÓĐĎĚŘÚŐĘÔĹ ĆĚÁÇ -n ÄĚŃ "
+"ĐĹŇĹĎĐŇĹÄĹĚĹÎÉŃ)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÓÓŮĚËŐ ÎÁ ĆÁĘĚ ÂĚĎËÉŇĎ×ËÉ %s: %s (ÉÓĐĎĚŘÚŐĘÔĹ ĆĚÁÇ -n ÄĚŃ "
+"ĐĹŇĹĎĐŇĹÄĹĚĹÎÉŃ)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ ÂĚĎËÉŇĎ×ËÉ %s: %s (ÉÓĐĎĚŘÚŐĘÔĹ ĆĚÁÇ -n ÄĚŃ "
+"ĐĹŇĹĎĐŇĹÄĹĚĹÎÉŃ)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁÂĚĎËÉŇĎ×ÁÔŘ ĆÁĘĚ ÂĚĎËÉŇĎ×ËÉ %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÚÁÂĚĎËÉŇĎ×ÁÔŘ ĆÁĘĚ ÂĚĎËÉŇĎ×ËÉ %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "×ŇĹÍŃ ĎÖÉÄÁÎÉŃ ÉÓÔĹËĚĎ"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"îĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÓÓŮĚËŐ %s\n"
+"÷ĎÚÍĎÖÎĎ, ÓŐÝĹÓÔ×ŐĹÔ ŐÓÔÁŇĹ×ŰÉĘ ĆÁĘĚ ÂĚĎËÉŇĎ×ËÉ?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s (%s) - mtab ÎĹ ĎÂÎĎ×ĚĹÎ"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "ĎŰÉÂËÁ ÓÍĹÎŮ ŇĹÖÉÍÁ %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "ĎŰÉÂËÁ ÓÍĹÎŮ ŇĹÖÉÍÁ %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÉÍĹÎĎ×ÁÔŘ %s × %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ %s × %s ÉĚÉ %s"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: ÓĎÇĚÁÓÎĎ mtab, %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: ÓĎÇĚÁÓÎĎ mtab, %s ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s ÄĚŃ ÚÁĐÉÓÉ: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: ĎŰÉÂËÁ ÚÁĐÉÓÉ %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: ĎŰÉÂËÁ ÓÍĹÎŮ ŇĹÖÉÍÁ %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "÷ŮĐĎĚÎŃĹÔÓŃ ĐĎĐŮÔËÁ %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: ×Ů ÎĹ ŐËÁÚÁĚÉ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ ÄĚŃ %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Ń ĐĎĐŇĎÂŐŔ ×ÓĹ ÔÉĐŮ, ŐĐĎÍÉÎÁŔÝÉĹÓŃ × %s ÉĚÉ %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " É ĎÎ ×ŮÇĚŃÄÉÔ ËÁË ĐŇĎÓÔŇÁÎÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Ń ĐĎĐŇĎÂŐŔ ÔÉĐ %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ×ŮÇĚŃÄÉÔ ËÁË ĐŇĎÓÔŇÁÎÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ - ÎĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "mount ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÍĎÎÔÉŇĎ×ÁÔŘ %s ÎÁ %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: ŐÓÔŇĎĘÓÔ×Ď ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ ŐËÁÚÁÎĎ Ä×ÁÖÄŮ"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: ÔÉĐ ŐËÁÚÁÎ Ä×ÁÖÄŮ"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: ĐŇĎĐŐÓËÁĹÔÓŃ ŐÓÔÁÎĎ×ËÁ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: ĐĎÄÇĎÔĎ×ËÁ Ë ÉÓĐĎĚŘÚĎ×ÁÎÉŔ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: ÓĎÇĚÁÓÎĎ mtab, %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁÂĚĎËÉŇĎ×ÁÔŘ × ĐÁÍŃÔÉ, ÚÁ×ĹŇŰĹÎÉĹ ŇÁÂĎÔŮ.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: ŐÓÔÁÎĎ×ËÁ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ ÚÁ×ĹŇŰÉĚÁÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: ĐĎÄÇĎÔĎ×ËÁ Ë ÉÓĐĎĚŘÚĎ×ÁÎÉŔ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: ŐÓÔÁÎĎ×ËÁ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ ÚÁ×ĹŇŰÉĚÁÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: ŐÓÔÁÎĎ×ËÁ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ ÚÁ×ĹŇŰÉĚÁÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: ŐÓÔÁÎĎ×ËÁ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ ŐÓĐĹŰÎĎ ÚÁ×ĹŇŰÉĚÁÓŘ\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s ÎĹ ÎÁĘÄĹÎ - ÓĎÚÄÁĹÔÓŃ...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: ÁŇÇŐÍĹÎÔ ÄĚŃ -p ÉĚÉ --pass-fd ÄĎĚÖĹÎ ÂŮÔŘ ŢÉÓĚĎÍ"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s ÄĚŃ ŐÓÔÁÎĎ×ËÉ ÓËĎŇĎÓÔÉ"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: mount-deprecated/mount.c:1564
+#, fuzzy, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: ÓĎÇĚÁÓÎĎ mtab, %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: %s ÚÁÎŃÔ - ĐĹŇĹÍĎÎÔÉŇĎ×ÁÎ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: %s ÚÁÎŃÔ - ĐĹŇĹÍĎÎÔÉŇĎ×ÁÎ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ, É ÎÉ ĎÄÎÁ ÎĹ ÂŮĚÁ ŐËÁÚÁÎÁ"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: ×Ů ÄĎĚÖÎŮ ŐËÁÚÁÔŘ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: ÍĎÎÔÉŇĎ×ÁÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: ÔĎŢËÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ %s ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: ÄĎÓÔŐĐ ÚÁĐŇĹÝĹÎ"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr ""
+"mount: ÎĹĎÂČĎÄÉÍĎ ÉÍĹÔŘ ĐŇÁ×Á ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŃ ÄĚŃ ÉÓĐĎĚŘÚĎ×ÁÎÉŃ mount"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s ÚÁÎŃÔ"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÉĚÉ %s ÚÁÎŃÔ"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: ÔĎŢËÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ %s ÎĹ ÓŐÝĹÓÔ×ŐĹÔ"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: ÔĎŢËÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ %s Ń×ĚŃĹÔÓŃ ÓÉÍ×ĎĚÉŢĹÓËĎĘ ÓÓŮĚËĎĘ × ÎÉËŐÄÁ"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: ÓĐĹĂÉÁĚŘÎĎĹ ŐÓÔŇĎĘÓÔ×Ď %s ÎĹ ÓŐÝĹÓÔ×ŐĹÔ"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: ÓĐĹĂÉÁĚŘÎĎĹ ŐÓÔŇĎĘÓÔ×Ď %s ÎĹ ÓŐÝĹÓÔ×ŐĹÔ\n"
+" (ĐŇĹĆÉËÓ ĐŐÔÉ ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s ŐÖĹ ÎĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÉĚÉ ÎĹ×ĹŇÎÁŃ ĎĐĂÉŃ"
+
+#: mount-deprecated/mount.c:1758
+#, fuzzy, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: ÎĹ×ĹŇÎŮĘ ÔÉĐ ćó, ÎĹ×ĹŇÎÁŃ ĎĐĂÉŃ, ÎĹ×ĹŇÎŮĘ ÓŐĐĹŇÂĚĎË\n"
+" ÎÁ %s, ĎÔÓŐÔÓÔ×ŐĹÔ ËĎÄĎ×ÁŃ ÓÔŇÁÎÉĂÁ ÉĚÉ ÄŇŐÇÁŃ ĎŰÉÂËÁ"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (×ĎÚÍĎÖÎĎ, ÜÔĎ IDE-ŐÓÔŇĎĘÓÔ×Ď, Á ×Ů ÎÁ ÓÁÍĎÍ ÄĹĚĹ\n"
+" ÉÓĐĎĚŘÚŐĹÔĹ ide-scsi, É ĐĎÜÔĎÍŐ ÎŐÖĹÎ sr0, sda ÉĚÉ\n"
+" ŢÔĎ-ÎÉÂŐÄŘ ĐĎÄĎÂÎĎĹ?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (ÎĹ ĐŮÔÁĹÔĹÓŘ ĚŮ ×Ů ĐŇÉÍĎÎÔÉŇĎ×ÁÔŘ ŇÁÓŰÉŇĹÎÎŮĘ ŇÁÚÄĹĚ\n"
+" ×ÍĹÓÔĎ ĎÄÎĎÇĎ ÉÚ ĚĎÇÉŢĹÓËÉČ ŇÁÚÄĹĚĎ× ×ÎŐÔŇÉ ÎĹÇĎ?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" ÷ ÎĹËĎÔĎŇŮČ ÓĚŐŢÁŃČ ĐĎĚĹÚÎÁŃ ÉÎĆĎŇÍÁĂÉŃ ÍĎÖĹÔ ÂŮÔŘ\n"
+" ÎÁĘÄĹÎÁ × syslog - ĐĎĐŇĎÂŐĘÔĹ dmesg | tail ÉĚÉ ŢÔĎ-ÔĎ\n"
+" × ÜÔĎÍ ŇĎÄĹ\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "ÔÁÂĚÉĂÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ ÚÁĐĎĚÎĹÎÁ"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ ÓŐĐĹŇÂĚĎË"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: ÎĹÉÚ×ĹÓÔÎĎĹ ŐÓÔŇĎĘÓÔ×Ď"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: ÎĹÉÚ×ĹÓÔÎŮĘ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ '%s'"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: ×ĎÚÍĎÖÎĎ ×Ů ÉÍĹĚÉ × ×ÉÄŐ %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: ÍĎÖĹÔ ÂŮÔŘ ×Ů ÉÍĹĚÉ × ×ÉÄŐ 'iso9660'?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: ÍĎÖĹÔ ÂŮÔŘ ×Ů ÉÍĹĚÉ × ×ÉÄŐ 'vfat'?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s ÉÍĹĹÔ ÎĹ×ĹŇÎŮĘ ÎĎÍĹŇ ŐÓÔŇĎĘÓÔ×Á ÉĚÉ ÔÉĐ ćó %s ÎĹ ĐĎÄÄĹŇÖÉ×ÁĹÔÓŃ"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+"mount: %s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ, Á ĎĐŇĹÄĹĚĹÎÉĹ ÓĎÓÔĎŃÎÉŃ "
+"ÎĹ×ĎÚÍĎÖÎĎ?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: ŃÄŇĎ ÎĹ ŇÁÓĐĎÚÎÁĹÔ %s ËÁË ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď\n"
+" (ÍĎÖĹÔ ÂŮÔŘ `insmod driver'?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ (ÍĎÖĹÔ ĐĎĐŇĎÂĎ×ÁÔŘ `-o loop'?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s ÎĹ Ń×ĚŃĹÔÓŃ ×ĹŇÎŮÍ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ĐŇÉÍĎÎÔÉŇĎ×ÁÔŘ %s%s ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s ÚÁÝÉÝĹÎ ĎÔ ÚÁĐÉÓÉ, ÎĎ Ń×ÎĎ ŐËÁÚÁÎ ĆĚÁÇ `-w'"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ĐŇÉÍĎÎÔÉŇĎ×ÁÔŘ %s%s ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s ÚÁÝÉÝĹÎ ĎÔ ÚÁĐÉÓÉ, ÍĎÎÔÉŇŐĹÔÓŃ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: ÎĹ ÂŮĚ ŐËÁÚÁÎ ÔÉĐ - ÂŐÄĹÔ ĐĎÄŇÁÚŐÍĹ×ÁÔŘÓŃ nfs ÉÚ-ÚÁ Ä×ĎĹÔĎŢÉŃ\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: ÎĹ ÂŮĚ ŐËÁÚÁÎ ÔÉĐ - ÂŐÄĹÔ ĐĎÄŇÁÚŐÍĹ×ÁÔŘÓŃ cifs ÉÚ-ÚÁ ĐŇĹĆÉËÓÁ //\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, fuzzy, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"éÓĐĎĚŘÚĎ×ÁÎÉĹ: mount -V : ×Ů×ĎÄ ×ĹŇÓÉÉ\n"
+" mount -h : ×Ů×ĎÄ ÜÔĎĘ ÓĐŇÁ×ËÉ\n"
+" mount : ÓĐÉÓĎË ĐŇÉÍĎÎÔÉŇĎ×ÁÎÎŮČ ĆÁĘĚĎ×ŮČ ÓÉÓÔĹÍ\n"
+" mount -l : ÔĎ ÖĹ ÓÁÍĎĹ, ×ËĚŔŢÁŃ ÍĹÔËÉ ÔĎÍĎ×\n"
+"äĎ ÓÉČ ĐĎŇ ÂŮĚÁ ÉÎĆĎŇÍÁĂÉĎÎÎÁŃ ŢÁÓÔŘ. äÁĚĹĹ ÉÄĹÔ ÍĎÎÔÉŇĎ×ÁÎÉĹ.\n"
+"ëĎÍÁÎÄÁ `mount [-t ÔÉĐ_ĆÓ] ŢÔĎ-ÔĎ ËŐÄÁ-ÔĎ'.\n"
+"äĹÔÁĚÉ, ÎÁĘÄĹÎÎŮĹ × /etc/fstab, ÍĎÇŐÔ ÂŮÔŘ ĐŇĎĐŐÝĹÎŮ.\n"
+" mount -a [-t|-O] ... : ÍĎÎÔÉŇĎ×ÁÎÉĹ ×ÓĹÇĎ ÓĎÄĹŇÖÉÍĎÇĎ /etc/fstab\n"
+" mount ŐÓÔŇĎĘÓÔ×Ď : ÍĎÎÔÉŇĎ×ÁÎÉĹ ŐÓÔŇĎĘÓÔ×Á ÎÁ ÉÚ×ĹÓÔÎĎĹ "
+"ÍĹÓÔĎ\n"
+" mount ËÁÔÁĚĎÇ : ÍĎÎÔÉŇĎ×ÁÎÉĹ ÉÚ×ĹÓÔÎĎÇĎ ŐÓÔŇĎĘÓÔ×Á ÎÁ "
+"ÎĹÇĎ\n"
+" mount -t ÔÉĐ ŐÓÔŇ ËÁÔ : ĎÂŮŢÎÁŃ ËĎÍÁÎÄÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ\n"
+"đĎÍÎÉÔĹ, ŢÔĎ mount ÎÁ ÓÁÍĎÍ ÄĹĚĹ ÍĎÎÔÉŇŐĹÔ ÎĹ ŐÓÔŇĎĘÓÔ×Ď, Á ĆÁĘĚĎ×ŐŔ\n"
+"ÓÉÓÔĹÍŐ (ŐËÁÚÁÎÎĎÇĎ ÔÉĐÁ), ÎÁĘÄĹÎÎŐŔ ÎÁ ÜÔĎÍ ŐÓÔŇĎĘÓÔ×Ĺ.\n"
+"ďÎ ÔÁËÖĹ ÍĎÖĹÔ ÍĎÎÔÉŇĎ×ÁÔŘ ŐÖĹ ×ÉÄÉÍĎĹ ÄĹŇĹ×Ď ËÁÔÁĚĎÇĎ× ËŐÄÁ ŐÇĎÄÎĎ:\n"
+" mount --bind ÓÔÁŇ_ËÁÔ ÎĎ×_ËÁÔ\n"
+"ÉĚÉ ĐĹŇĹÍĹÝÁÔŘ ĐĎÄÄĹŇĹ×Ď:\n"
+" mount --move ÓÔÁŇ_ËÁÔ ÎĎ×_ËÁÔ\n"
+"őÓÔŇĎĘÓÔ×Ď ÍĎÖĹÔ ÂŮÔŘ ŐËÁÚÁÎĎ ĐĎ ÉÍĹÎÉ, ÓËÁÖĹÍ, /dev/hda1 ÉĚÉ /dev/cdrom,\n"
+"ÉĚÉ ĐĎ ÍĹÔËĹ, ÉÓĐĎĚŘÚŐŃ -L ÍĹÔËÁ ÉĚÉ ĐĎ uuid, ÉÓĐĎĚŘÚŐŃ -U uuid .\n"
+"äŇŐÇÉĹ ĎĐĂÉÉ: [-nfFrsvw] [-o ĎĐĂÉÉ] [-p passwdfd].\n"
+"äĚŃ ĐĎĚŐŢĹÎÉŃ ÂĎĚĹĹ ĐĎÄŇĎÂÎĎÇĎ ĎĐÉÓÁÎÉŃ ÎÁÂĹŇÉÔĹ man 8 mount .\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÓÄĹĚÁÔŘ ÜÔĎ"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÓÄĹĚÁÔŘ ÜÔĎ"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "ÎÉŢĹÇĎ ÎĹ ÂŮĚĎ ĐŇÉÍĎÎÔÉŇĎ×ÁÎĎ"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: ÔÁËĎĘ ŇÁÚÄĹĚ ÎĹ ÎÁĘÄĹÎ"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ %s × %s ÉĚÉ %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: no final newline at the end of %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: ÓÔŇĎËÁ %d × %s ĐĚĎČÁŃ %s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; ĎÓÔÁĚŘÎÁŃ ŢÁÓÔŘ ĆÁĘĚÁ ĐŇĎÉÇÎĎŇÉŇĎ×ÁÎÁ"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "ĎŰÉÂËÁ × ×ŮÚĎ×Ĺ xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: ĎÔËĎÍĐÉĚÉŇĎ×ÁÎ ÂĹÚ ĐĎÄÄĹŇÖËÉ -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: ÎĹ×ĹŇÎĎĹ ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ÎĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: ÎĹ×ĎÚÍĎÖÎĎ ÚÁĐÉÓÁÔŘ ÓŐĐĹŇÂĚĎË"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: ÎĹ ÎÁĘÄĹÎ"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+"umount: %s: ÎĹĎÂČĎÄÉÍĎ ÉÍĹÔŘ ĐŇÁ×Á ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŃ ÄĚŃ ŇÁÚÍĎÎÔÉŇĎ×ÁÎÉŃ"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: ÂĚĎŢÎŮĹ ŐÓÔŇĎĘÓÔ×Á ÎÁ fs ÚÁĐŇĹÝĹÎŮ"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: ÎĹ×ĎÚÍĎÖÎĎ ÓÍĹÎÉÔŘ ËÁÔÁĚĎÇ ÎÁ %s - %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÔĹËŐÝÉĘ ËÁÔÁĚĎÇ - %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: ÔĎŢËÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ %s ÎĹ ÓŐÝĹÓÔ×ŐĹÔ"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ÎĹÔ umount2, ×ŮĐĎĚÎŃĹÔÓŃ ĐĎĐŮÔËÁ umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s ÚÁÎŃÔ - ĐĹŇĹÍĎÎÔÉŇĎ×ÁÎ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÎÔÉŇĎ×ÁÔŘ %s ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s ŇÁÚÍĎÎÔÉŇĎ×ÁÎ\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ÓĐÉÓĎË ĆÁĘĚĎ×ŮČ ÓÉÓÔĹÍ ÄĚŃ ŇÁÚÍĎÎÔÉŇĎ×ÁÎÉŃ"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"éÓĐĎĚŘÚĎ×ÁÎÉĹ: umount [-hV]\n"
+" umount -a [-f] [-r] [-n] [-v] [-t ÔÉĐŮ_ĆÓ] [-O ĎĐĂÉÉ]\n"
+" umount [-f] [-r] [-n] [-v] ÓĐĹĂÉÁĚŘÎŮĘ | ŐÚĹĚ...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŇÁÚÍĎÎÔÉŇĎ×ÁÔŘ \"\"\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "÷ŮĐĎĚÎŃĹÔÓŃ ĐĎĐŮÔËÁ ŇÁÚÍĎÎÔÉŇĎ×ÁÔŘ %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ %s × mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s ÎĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ (ÓĎÇĚÁÓÎĎ mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: ĐĎČĎÖĹ, ŢÔĎ %s ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎĹÓËĎĚŘËĎ ŇÁÚ"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s ÎĹ × fstab (Á ×Ů ÎĹ root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: ÍĎÎÔÉŇĎ×ÁÎÉĹ %s ĐŇĎÔÉ×ĎŇĹŢÉÔ fstab'Ő"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: ÔĎĚŘËĎ %s ÍĎÖĹÔ ŇÁÚÍĎÎÔÉŇĎ×ÁÔŘ %s ĎÔ %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÓÄĹĚÁÔŘ ÜÔĎ"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS ŢĹŇĹÚ TCP ÎĹ ĐĎÄÄĹŇÖÉ×ÁĹÔÓŃ.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ %s\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: îĹÉÚ×ĹÓÔÎÁŃ ËĎÍÁÎÄÁ: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "ÎĹÉÚ×ĹÓÔÎÁŃ ĎŰÉÂËÁ × id"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "×ŮĐĎĚÎĹÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s ĐŇĎÇŇÁÍÍÁ [ÁŇÇŐÍĹÎÔ ...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr ""
+"\n"
+"ďŰÉÂËÁ ÚÁËŇŮÔÉŃ ĆÁĘĚÁ\n"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "malloc ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" ÎĹ ÓŐÝĹÓÔ×ŐĹÔ.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" ÎĹ Ń×ĚŃĹÔÓŃ ÉÓĐĎĚÎŃĹÍŮÍ.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "á×ÔĎËĎÎĆÉÇŐŇÁĂÉŃ ÚÁ×ĹŇŰÉĚÁÓŘ ÎĹŐÄÁŢĹĘ.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "á×ÔĎËĎÎĆÉÇŐŇÁĂÉŃ ÚÁ×ĹŇŰÉĚÁÓŘ ÎĹŐÄÁŢĹĘ.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "ëĎĚÉŢĹÓÔ×Ď ĂÉĚÉÎÄŇĎ×"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: ÎĹÉÚ×ĹÓÔÎŮĘ ÁŇÇŐÍĹÎÔ: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "÷Ů ÄĎĚÖÎŮ ÉÍĹÔŘ ĐŇÁ×Á root'Á ÄĚŃ ŐÓÔÁÎĎ×ËÉ ÓĎÂŮÔÉŃ Ctrl-Alt-Del.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld ĐĎŇĎÇĎ×ĎĹ ÚÎÁŢĹÎÉĹ ĐĎ ŐÍĎĚŢÁÎÉŔ É %ld ÔÁĘÍ-ÁŐÔ ĐĎ ŐÍĎĚŢÁÎÉŔ\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+" -h, --help üÔĎ ÎĹÂĎĚŘŰĎĹ ŇŐËĎ×ĎÄÓÔ×Ď ĐĎ ÉÓĐĎĚŘÚĎ×ÁÎÉŔ\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"ćÁĘĚ %s, äĚŃ ĐĎŇĎÇĎ×ĎÇĎ ÚÎÁŢĹÎÉŃ %lu, íÁËÓÉÍŐÍ ÓÉÍ×ĎĚĎ× × fifo ÂŮĚÉ %d,\n"
+"É ÍÁËÓÉÍÁĚŘÎÁŃ ÓËĎŇĎÓÔŘ ĐĹŇĹÄÁŢÉ × ÓÉÍ×ĎĚÁČ/ÓĹËŐÎÄŐ ÂŮĚÁ %f\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"ćÁĘĚ %s, äĚŃ ĐĎŇĎÇĎ×ĎÇĎ ÚÎÁŢĹÎÉŃ %lu É ÚÎÁŢĹÎÉŃ ÔÁĘÍ-ÁŐÔÁ %lu, íÁËÓÉÍŐÍ "
+"ÓÉÍ×ĎĚĎ× × fifo ÂŮĚÉ %d,\n"
+"É ÍÁËÓÉÍÁĚŘÎÁŃ ÓËĎŇĎÓÔŘ ĐĹŇĹÄÁŢÉ × ÓÉÍ×ĎĚÁČ/ÓĹËŐÎÄŐ ÂŮĚÁ %f\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄÁÔŘ CYGETMON ÎÁ %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ĐĎŇĎÇĎ×ĎĹ ÚÎÁŢĹÎÉĹ ÄĚŃ %s: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÔÁĘÍ-ÁŐÔ ÄĚŃ %s: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ĐŇĹŇŮ×, %lu/%lu ÓÉÍ×; fifo: %lu ĐĎŇĎÇ, %lu ÔÁĘÍ-ÁŐÔ, %lu ÍÁËÓ, %lu "
+"ÓĹĘŢÁÓ\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f ĐŇĹŇŮ×/ÓĹË; %f ÚÁĐ, %f ĎÔĐŇÁ×ĚĹÎĎ (ÓÉÍ×/ÓĹË)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ĐŇĹŇŮ×, %lu ÓÉÍ×; fifo: %lu ĐĎŇĎÇ, %lu ÔÁĘÍ-ÁŐÔ, %lu ÍÁËÓ, %lu "
+"ÓĹĘŢÁÓ\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f ĐŇĹŇŮ×/ÓĹË; %f ÚÁĐ (ÓÉÍ×/ÓĹË)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÉÎÔĹŇ×ÁĚÁ: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÉÎÔĹŇ×ÁĚÁ: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ĐĎ ŐÍĎĚŢÁÎÉŔ: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ĐĎ ŐÍĎĚŢÁÎÉŔ: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ ×ŇĹÍĹÎÉ: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ ×ŇĹÍĹÎÉ: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ×ŇĹÍĹÎÉ ĐĎ ŐÍĎĚŢÁÎÉŔ: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ×ŇĹÍĹÎÉ ĐĎ ŐÍĎĚŢÁÎÉŔ: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ %s × ĐĎŇĎÇĎ×ĎĹ ÚÎÁŢĹÎÉĹ %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ %s × ĐĎŇĎÇĎ×ĎĹ ÚÎÁŢĹÎÉĹ ×ŇĹÍĹÎÉ %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld ÔĹËŐÝĹĹ ĐĎŇĎÇĎ×ĎĹ ÚÎÁŢĹÎÉĹ É %ld ÔĹËŐÝÉĘ ÔÁĘÍ-ÁŐÔ\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld ĐĎŇĎÇĎ×ĎĹ ÚÎÁŢĹÎÉĹ ĐĎ ŐÍĎĚŢÁÎÉŔ É %ld ÔÁĘÍ-ÁŐÔ ĐĎ ŐÍĎĚŢÁÎÉŔ\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "üÔĎÔ ŇÁÚÄĹĚ ÎĹÉÓĐĎĚŘÚŐĹÍŮĘ"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "ĎŰÉÂËÁ ÚÁËŇŮÔÉŃ %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "ÓĎĎÂÝĹÎÉŃ"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "÷×ĹÄÉÔĹ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ:"
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: îĹÉÚ×ĹÓÔÎÁŃ ËĎÍÁÎÄÁ: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "îĹÔ ËÁÔÁĚĎÇÁ %s!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: %s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "gettimeofday ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "ÎĹÔ ËĎÍÁÎÄŮ?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fsync ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "%s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ ÉĚÉ ĆÁĘĚĎÍ\n"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "mount ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ%s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: ÔĎŢËÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ %s ÎĹ ÓŐÝĹÓÔ×ŐĹÔ"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: ĐĹŇĹÉÍĹÎĎ×ÁÎÉĹ %s × %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s: ÎĹ ÎÁĘÄĹÎ"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " ÓßĹÍÎŮĘ"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "éÓĐĎĚŘÚŐĹÔÓŃ ÚÎÁŢĹÎÉĹ ĐĎ ŐÍĎĚŢÁÎÉŔ %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ŐÓÔŇĎĘÓÔ×Ď %s: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s: ÎĹ ÎÁĘÄĹÎ"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: ÎĹ ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ŐÓÔŇĎĘÓÔ×Ď %s: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "umount: %s: ŐÓÔŇĎĘÓÔ×Ď ÚÁÎŃÔĎ"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s ÚÁ×ĹŇŰĹÎ ŐÓĐĹŰÎĎ.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "×ŮĐĎĚÎĹÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "ĎÔËŇŮÔÉĹ ËÁÔÁĚĎÇÁ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "îĹ ŐËÁÚÁÎÁ ĎĐĂÉŃ --date.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹÇÍĹÎÔĎ× = %lu\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "äĚŃ %s ÔŇĹÂŐĹÔÓŃ ÁŇÇŐÍĹÎÔ\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "îĹ ŐËÁÚÁÎÁ ĎĐĂÉŃ --date.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "îĹ ŐËÁÚÁÎÁ ĎĐĂÉŃ --date.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "îĹ ŐËÁÚÁÎÁ ĎĐĂÉŃ --date.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "đĎÄŇÁÚŐÍĹ×ÁĹÔÓŃ, ŢÔĎ ÁĐĐÁŇÁÔÎŮĹ ŢÁÓŮ ×ŮÓÔÁ×ĚĹÎŮ ĐĎ %s ×ŇĹÍĹÎÉ.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "ÍĹÓÔÎĎÍŐ"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎĹŇÁÓĐĎÚÎÁÎÎÁŃ ÔŇĹÔŘŃ ÓÔŇĎËÁ × ĆÁĘĚĹ adjtime\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "äÁÔÁ ĐĎÓĚĹÄÎĹĘ ËĎŇŇĹËÔÉŇĎ×ËÉ ĎÔËĚĎÎĹÎÉŃ - %ld ÓĹËŐÎÄ ĐĎÓĚĹ 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "äÁÔÁ ĐĎÓĚĹÄÎĹĘ ËÁĚÉÂŇĎ×ËÉ - %ld ÓĹËŐÎÄ ĐĎÓĚĹ 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "áĐĐÁŇÁÔÎŮĹ ŢÁÓŮ ×ŮÓÔÁ×ĚĹÎŮ ĐĎ %s ×ŇĹÍĹÎÉ\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "ďÖÉÄÁĹÔÓŃ ÔÉËÁÎŘĹ ŢÁÓĎ×...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...ĐĎĚŐŢĹÎĎ ÔÉËÁÎŘĹ ŢÁÓĎ×\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "îĹ×ĹŇÎŮĹ ÚÎÁŢĹÎÉŃ × ÁĐĐÁŇÁÔÎŮČ ŢÁÓÁČ: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "áĐĐÁŇÁÔÎĎĹ ×ŇĹÍŃ: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld ÓĹËŐÎÄ Ó 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "÷ŇĹÍŃ, ĐŇĎŢÉÔÁÎÎĎĹ Ó ÁĐĐÁŇÁÔÎŮČ ŢÁÓĎ×: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "áĐĐÁŇÁÔÎŮĹ ŢÁÓŮ ŐÓÔÁÎÁ×ĚÉ×ÁŔÔÓŃ × %.2d:%.2d:%.2d = %ld ÓĹËŐÎÄ Ó 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "ţÁÓŮ ÎĹ ÉÚÍĹÎĹÎŮ - ÔĎĚŘËĎ ÔĹÓÔÉŇĎ×ÁÎÉĹ.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"÷ŇĹÍŃ, ĐŇĎŰĹÄŰĹĹ Ó ÎÁŢÁĚÁ ĎÔÓŢĹÔÁ, ÓĎÓÔÁ×ÉĚĎ %.6f ÓĹËŐÎÄ.\n"
+"äĎĐĎĚÎÉÔĹĚŘÎÁŃ ÚÁÄĹŇÖËÁ ÄĚŃ ÄĎÓÔÉÖĹÎÉŃ ÓĚĹÄŐŔÝĹĘ ĐĎĚÎĎĘ ÓĹËŐÎÄŮ.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"ňĹÇÉÓÔŇŮ ÁĐĐÁŇÁÔÎŮČ ŢÁÓĎ× ÓĎÄĹŇÖÁÔ ÚÎÁŢĹÎÉŃ, ËĎÔĎŇŮĹ ĚÉÂĎ ÎĹ×ĹŇÎŮ (ÎÁĐŇ., 50-"
+"Ę ÄĹÎŘ ÍĹÓŃĂÁ), ĚÉÂĎ ÎÁČĎÄŃÔÓŃ ÚÁ ĐŇĹÄĹĚÁÍÉ ÜĆĆĹËÔÉ×ÎĎÇĎ ÄÉÁĐÁÚĎÎÁ (ÎÁĐŇ, "
+"2095 ÇĎÄ).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f ÓĹËŐÎÄ\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "îĹ ŐËÁÚÁÎÁ ĎĐĂÉŃ --date.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "áŇÇŐÍĹÎÔ --date ÓĚÉŰËĎÍ ÄĚÉÎÎŮĘ\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"úÎÁŢĹÎÉĹ ĎĐĂÉÉ --date ÎĹ Ń×ĚŃĹÔÓŃ ×ĹŇÎĎĘ ÄÁÔĎĘ.\n"
+"÷ ŢÁÓÔÎĎÓÔÉ, ĎÎĎ ÓĎÄĹŇÖÉÔ ËÁ×ŮŢËÉ.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "đĎÄÁĹÔÓŃ ËĎÍÁÎÄŮ ÄÁÔŮ: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"îĹ×ĎÚÍĎÖÎĎ ÚÁĐŐÓÔÉÔŘ ĐŇĎÇŇÁÍÍŐ 'date' × ŰĹĚĚĹ /bin/sh. popen() ÚÁ×ĹŇŰÉĚÓŃ "
+"ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "ĎÔ×ĹÔ ËĎÍÁÎÄŮ date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"ëĎÍÁÎÄÁ date, ×ŮÚ×ÁÎÎÁŃ %s, ×ĎÚ×ŇÁÔÉĚÁ ÎĹĎÖÉÄÁÎÎŮĹ ŇĹÚŐĚŘÔÁÔŮ.\n"
+"ëĎÍÁÎÄÁ ÂŮĚÁ:\n"
+" %s\n"
+"ďÔ×ĹÔ ÂŮĚ:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"ëĎÍÁÎÄÁ date, ×ŮÚ×ÁÎÎÁŃ %s, ×ĎÚ×ŇÁÔÉĚÁ ŢÔĎ-ÔĎ ËŇĎÍĹ ĂĹĚĎÇĎ ŢÉÓĚÁ, ÔĎÇÄÁ ËÁË "
+"ĎÖÉÄÁĚĎÓŘ ĐŇĹĎÂŇÁÚĎ×ÁÎÎĎĹ ÚÎÁŢĹÎÉĹ ×ŇĹÍĹÎÉ.\n"
+"ëĎÍÁÎÄÁ ÂŮĚÁ:\n"
+" %s\n"
+"ďÔ×ĹÔ ÂŮĚ:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "ÓÔŇĎËÁ ÄÁÔŮ %s ŇÁ×ÎŃĹÔÓŃ %ld ÓĹËŐÎÄÁÍ Ó 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"áĐĐÁŇÁÔÎŮĹ ŢÁÓŮ ÎĹ ÓĎÄĹŇÖÁÔ ×ĹŇÎĎÇĎ ×ŇĹÍĹÎÉ, ĐĎÜÔĎÍŐ Ó ÎÉČ ÎĹ×ĎÚÍĎÖÎĎ "
+"ŐÓÔÁÎĎ×ÉÔŘ ÓÉÓÔĹÍÎĎĹ ×ŇĹÍŃ.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "÷ŮÚŮ×ÁĹÔÓŃ settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "óÉÓÔĹÍÎŮĹ ŢÁÓŮ ÎĹ ŐÓÔÁÎĎ×ĚĹÎŮ, ĐĎÔĎÍŐ ŢÔĎ ÚÁĐŐÓË × ÔĹÓÔĎ×ĎÍ ŇĹÖÉÍĹ.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "äĚŃ ŐÓÔÁÎĎ×ËÉ ÓÉÓÔĹÍÎŮČ ŢÁÓĎ× ÎŐÖÎŮ ĐŇÁ×Á ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŃ.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"ëĎŇŇĹËÔÉŇĎ×ËÁ ËĎÜĆĆÉĂÉĹÎÔÁ ĎÔËĚĎÎĹÎÉŃ ÎĹ ×ŮĐĎĚÎĹÎÁ, ĐĎÔĎÍŐ ŢÔĎ ÁĐĐÁŇÁÔÎŮĹ "
+"ŢÁÓŮ ŇÁÎĹĹ ÓĎÄĹŇÖÁĚÉ ÍŐÓĎŇ.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"ëĎŇŇĹËÔÉŇĎ×ËÁ ËĎÜĆĆÉĂÉĹÎÔÁ ĎÔËĚĎÎĹÎÉŃ ÎĹ ×ŮĐĎĚÎĹÎÁ, ĐĎÔĎÍŐ\n"
+"ŢÔĎ ĐĎÓĚĹÄÎŃŃ ËÁĚÉÂŇĎ×ËÁ ÂŮĚÁ ÎŐĚĹ×ĎĘ, ĐĎÜÔĎÍŐ ÎĹ×ĹŇÎÁ\n"
+"ČŇĎÎĎĚĎÇÉŃ É ÎĹĎÂČĎÄÉÍ ÚÁĐŐÓË ËÁĚÉÂŇĎ×ËÉ.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"ëĎŇŇĹËÔÉŇĎ×ËÁ ËĎÜĆĆÉĂÉĹÎÔÁ ĎÔËĚĎÎĹÎÉŃ ÎĹ ×ŮĐĎĚÎĹÎÁ, ĐĎÔĎÍŐ ŢÔĎ ÓĎ ×ŇĹÍĹÎÉ "
+"ĐĎÓĚĹÄÎĹĘ ËÁĚÉÂŇĎ×ËÉ ĐŇĎŰĚĎ ÍĹÎĹĹ ÄÎŃ.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"ţÁÓŮ ĐĹŇĹ×ĹÄĹÎŮ ÎÁ %.1f ÓĹËŐÎÄ ÎÁÚÁÄ, %d ÓĹËŐÎÄ ÎĹÓÍĎÔŇŃ ÎÁ ËĎÜĆĆÉĂÉĹÎÔ "
+"ĎÔËĚĎÎĹÎÉŃ %f ÓĹËŐÎÄ × ÄĹÎŘ.\n"
+"ëĎÜĆĆÉĂÉĹÎÔ ĎÔËĚĎÎĹÎÉŃ ÎÁÓÔŇÁÉ×ÁĹÔÓŃ ÎÁ %f ÓĹËŐÎÄ × ÄĹÎŘ\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "÷ŇĹÍŃ ĐĎÓĚĹ ĐĎÓĚĹÄÎĹĘ ËĎŇŇĹËÔÉŇĎ×ËÉ ÓĎÓÔÁ×ĚŃĹÔ %d ÓĹËŐÎÄ\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "îĹĎÂČĎÄÉÍĎ ÄĎÂÁ×ÉÔŘ %d ÓĹËŐÎÄ É ĐĹŇĹ×ĹÓÔÉ ŢÁÓŮ ÎÁ %.6f ÓĹËŐÎÄ ÎÁÚÁÄ\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "ćÁĘĚ adjtime ÎĹ ĎÂÎĎ×ĚŃĹÔÓŃ, ĐĎÔĎÍŐ ŢÔĎ ×ËĚŔŢĹÎ ŇĹÖÉÍ ÔĹÓÔÉŇĎ×ÁÎÉŃ.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"óĚĹÄŐŔÝĹĹ ÂŐÄĹÔ ÚÁĐÉÓÁÎĎ × %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "đÁŇÁÍĹÔŇŮ ËĎŇŇĹËÔÉŇĎ×ËÉ ĎÔËĚĎÎĹÎÉŃ ÎĹ ĎÂÎĎ×ĚĹÎŮ.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"áĐĐÁŇÁÔÎŮĹ ŢÁÓŮ ÎĹ ÓĎÄĹŇÖÁÔ ×ĹŇÎĎÇĎ ×ŇĹÍĹÎÉ, ĐĎÜÔĎÍŐ ĎÔËĎŇŇĹËÔÉŇĎ×ÁÔŘ ÉČ "
+"ÎĹ×ĎÚÍĎÖÎĎ.\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"ëĎŇŇĹËÔÉŇĎ×ËÁ ËĎÜĆĆÉĂÉĹÎÔÁ ĎÔËĚĎÎĹÎÉŃ ÎĹ ×ŮĐĎĚÎĹÎÁ, ĐĎÔĎÍŐ\n"
+"ŢÔĎ ĐĎÓĚĹÄÎŃŃ ËÁĚÉÂŇĎ×ËÁ ÂŮĚÁ ÎŐĚĹ×ĎĘ, ĐĎÜÔĎÍŐ ÎĹ×ĹŇÎÁ\n"
+"ČŇĎÎĎĚĎÇÉŃ É ÎĹĎÂČĎÄÉÍ ÚÁĐŐÓË ËÁĚÉÂŇĎ×ËÉ.\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"îĹĎÂČĎÄÉÍÁŃ ËĎŇŇĹËÔÉŇĎ×ËÁ ÓĎÓÔÁ×ĚŃĹÔ ÍĹÎŘŰĹ ÓĹËŐÎÄŮ, ĐĎÜÔĎÍŐ ŢÁÓŮ ÎĹ "
+"ÎÁÓÔŇÁÉ×ÁŔÔÓŃ.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "éÓĐĎĚŘÚŐĹÔÓŃ %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "îĹ ÎÁĘÄĹÎ ĐŇÉÇĎÄÎŮĘ ŢÁÓĎ×ĎĘ ÉÎÔĹŇĆĹĘÓ.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓÉÓÔĹÍÎŮĹ ŢÁÓŮ.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"úÎÁŢĹÎÉĹ ×ĹËÁ ÄĚŃ ÁĐĐÁŇÁÔÎŮČ ŢÁÓĎ× ŃÄŇĎ ČŇÁÎÉÔ ÔĎĚŘËĎ ÎÁ Alpha-ÍÁŰÉÎÁČ.\n"
+"üÔÁ ËĎĐÉŃ hwclock ÂŮĚÁ ÓĎÚÄÁÎÁ ÄĚŃ ÍÁŰÉÎŮ, ĎÔĚÉŢÎĎĘ ĎÔ Alpha\n"
+"(É, ÔÁËÉÍ ĎÂŇÁÚĎÍ, ÓĹĘŢÁÓ, ĐĎ-×ÉÄÉÍĎÍŐ, ÎÁ Alpha ÎĹ ŇÁÂĎÔÁĹÔ). äĹĘÓÔ×ÉĹ "
+"ĎÔËĚĎÎĹÎĎ.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÚÎÁŢĹÎÉĹ ×ĹËÁ ÉÚ ŃÄŇÁ.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "ńÄŇĎ ĐĎÄŇÁÚŐÍĹ×ÁĹÔ, ŢÔĎ ÚÎÁŢĹÎÉĹ ×ĹËÁ %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"ţÔĎÂŮ ŐÓÔÁÎĎ×ÉÔŘ ÚÎÁŢĹÎÉĹ ×ĹËÁ, ×Ů ÄĎĚÖÎŮ ÉÓĐĎĚŘÚĎ×ÁÔŘ ĎĐĂÉŔ 'epoch' ÄĚŃ "
+"ŐËÁÚÁÎÉŃ ÎŐÖÎĎÇĎ ÚÎÁŢĹÎÉŃ.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "÷ĹË ÎĹ ŐÓÔÁÎÁ×ĚÉ×ÁĹÔÓŃ × %d - ÔĎĚŘËĎ ÔĹÓÔÉŇĎ×ÁÎÉĹ.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ × ŃÄŇĹ ÚÎÁŢĹÎÉĹ ×ĹËÁ.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d ŇÁÚÄĹĚŮ:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" ÓĎĎÂÝÁĹÔ hwclock'Ő ÔÉĐ ×ÁŰĹĘ alpha (ÓÍ. hwclock(8))\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓÉÓÔĹÍÎŮĹ ŢÁÓŮ.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s ĐŇÉÎÉÍÁĹÔ ÎĹĎĐĂÉĎÎÁĚŘÎŮĹ ÁŇÇŐÍĹÎÔŮ. ÷ÁÍ ĐŇĹÄĎÓÔÁ×ĚĹÎŮ %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "%s: ó --noadjfile ×Ů ÄĎĚÖÎŮ ŐËÁÚÁÔŘ ĚÉÂĎ --utc, ĚÉÂĎ --localtime\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr ""
+"ďÔÓŐÔÓÔ×ŐĹÔ ĐŇÉÇĎÄÎĎĹ ÄĚŃ ŐÓÔÁÎĎ×ËÉ ×ŇĹÍŃ. îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ŢÁÓŮ.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "ë ÓĎÖÁĚĹÎÉŔ ÔĎĚŘËĎ ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŘ ÍĎÖĹÔ ÉÚÍĹÎŃÔŘ ÁĐĐÁŇÁÔÎŮĹ ŢÁÓŮ.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "ë ÓĎÖÁĚĹÎÉŔ ÔĎĚŘËĎ ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŘ ÍĎÖĹÔ ÉÚÍĹÎŃÔŘ ÓÉÓÔĹÍÎŮĹ ŢÁÓŮ.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"ë ÓĎÖÁĚĹÎÉŔ ÔĎĚŘËĎ ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŘ ÍĎÖĹÔ ÉÚÍĹÎŃÔŘ × ŃÄŇĹ ×ĹË ÁĐĐÁŇÁÔÎŮČ "
+"ŢÁÓĎ×.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+"îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÄĎÓÔŐĐ Ë ÁĐĐÁŇÁÔÎŮÍ ŢÁÓÁÍ ËÁËÉÍ ÂŮ ÔĎ ÎÉ ÂŮĚĎ ÉÚ×ĹÓÔÎŮÍ "
+"ÓĐĎÓĎÂĎÍ.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"éÓĐĎĚŘÚŐĘÔĹ ĎĐĂÉŔ --debug, ŢÔĎÂŮ Ő×ÉÄĹÔŘ ĐĎÄŇĎÂÎŐŔ ÉÎĆĎŇÍÁĂÉŔ Ď ÎÁŰĹÍ ĐĎÉÓËĹ "
+"ÄĚŃ ÍĹÔĎÄÁ ÄĎÓÔŐĐÁ.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "ÚÁÇŇŐÖĹÎ ÉÚ MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD-ŢÁÓŮ\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "ĐĎŇÔ ŢÁÓĎ× ×ŮÓÔÁ×ĚĹÎ ÎÁ 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "ËĚÁÓÓÎÁŃ éçňőűëá!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: ÁÔĎÍÎŮĘ %s ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ÄĚŃ 1000 ÉÔĹŇÁĂÉĘ!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr ""
+"îĹ×ĎÚÍĎÖÎĎ ÂŮĚĎ ĐĎĚŐŢÉÔŘ ŇÁÚŇĹŰĹÎÉĹ, ĐĎÔĎÍŐ ÎĹ ÂŮĚÁ ×ŮĐĎĚÎĹÎÁ ĐĎĐŮÔËÁ.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"%s ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÄĎÓÔŐĐ Ë ĐĎŇÔŐ I/O: ×ŮÚĎ× iopl(3) ÚÁ×ĹŇŰÉĚÓŃ "
+"ÎĹŐÄÁŢĹĘ.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "÷ĎÚÍĎÖÎĎ, ×ÁÍ ÎŐÖÎŮ ĐŇÉ×ÉĚĹÇÉÉ root'Á.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "÷ ĂÉËĚĹ ĎÖÉÄÁĹÔÓŃ ÉÚÍĹÎĹÎÉĹ ×ŇĹÍĹÎÉ ÉÚ KDGHWCLK\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ × ĂÉËĚĹ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "éÓÔĹËĚĎ ×ŇĹÍŃ ĎÖÉÄÁÎÉŃ ÄĚŃ ÓÍĹÎŮ ×ŇĹÍĹÎÉ.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ /dev/tty1 ÉĚÉ /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl() %s ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "÷ ĂÉËĚĹ ĎÖÉÄÁĹÔÓŃ ÄĚŃ ÓÍĹÎŮ ×ŇĹÍŃ ÉÚ %s\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s ÎĹ ÉÍĹĹÔ ĆŐÎËĂÉĘ ĐŇĹŇŮ×ÁÎÉŃ. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() × %s ÄĚŃ ĎÖÉÄÁÎÉŃ ÔÉËÁÎŘŃ ŢÁÓĎ× ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() × %s ÄĚŃ ĎÖÉÄÁÎÉŃ ÔÉËÁÎŘŃ ŢÁÓĎ× ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "éÓÔĹËĚĎ ×ŇĹÍŃ ĎÖÉÄÁÎÉŃ ÔÉËÁÎŘŃ ŢÁÓĎ× select() × %s\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() × %s ÄĚŃ ×ŮËĚŔŢĹÎÉŃ ĐŇĹŇŮ×ÁÎÉĘ ĎÂÎĎ×ĚĹÎÉŃ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() × %s ÄĚŃ ×ËĚŔŢĹÎÉŃ ĐŇĹŇŮ×ÁÎÉĘ ĎÂÎĎ×ĚĹÎÉŃ ÎĹĎÖÉÄÁÎÎĎ ÚÁ×ĹŇŰÉĚÓŃ "
+"ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl() × %s ÄĚŃ ŐÓÔÁÎĎ×ËÉ ×ŇĹÍĹÎÉ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) ÚÁ×ĹŇŰÉĚÓŃ ŐÓĐĹŰÎĎ.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"äĚŃ ÉÚÍĹÎĹÎÉŃ ÚÎÁŢĹÎÉŃ ×ĹËÁ × ŃÄŇĹ ÎĹĎÂČĎÄÉÍĎ ĐĎĚŐŢÉÔŘ ÄĎÓÔŐĐ Ë ÄŇÁĘ×ĹŇŐ "
+"ŐÓÔŇĎĘÓÔ×Á Linux 'rtc' ĐĎÓŇĹÄÓÔ×ĎÍ ÓĐĹĂÉÁĚŘÎĎÇĎ ĆÁĘĚÁ ŐÓÔŇĎĘÓÔ×Á %s. ÷ "
+"ÄÁÎÎĎĘ ÓÉÓÔĹÍĹ ÜÔĎÔ ĆÁĘĚ ĎÔÓŐÔÓÔ×ŐĹÔ.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) × %s ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "ÂŮĚ ĐŇĎŢÉÔÁÎ ×ĹË %ld ÉÚ %s ŢĹŇĹÚ RTC_EPOCH_READ ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "úÎÁŢĹÎÉĹ ×ĹËÁ ÎĹ ÍĎÖĹÔ ÂŮÔŘ ÍĹÎŘŰĹ 1900. ÷Ů ÚÁĐŇĎÓÉĚÉ %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "×ĹË ŐÓÔÁÎÁ×ĚÉ×ÁĹÔÓŃ × %ld Ó RTC_EPOCH_SET ioctl × %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "äŇÁĘ×ĹŇ ŐÓÔŇĎĘÓÔ×Á ŃÄŇÁ ÄĚŃ %s ÎĹ ÉÍĹĹÔ RTC_EPOCH_SET ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) × %s ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output âĹÚ ĎÂŮŢÎŮČ ×ŮČĎÄÎŮČ ÄÁÎÎŮČ\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"óĹÇÍĹÎÔ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ shmid=%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"ďŢĹŇĹÄŘ ÓĎĎÂÝĹÎÉĘ msqid=%d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "×ŮÄĹĚĹÎĎ ÓĹÍÁĆĎŇĎ× = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"íÁÓÓÉ× ÓĹÍÁĆĎŇĎ× semid=%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version ÷Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ×ĹŇÓÉÉ\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"óĹÇÍĹÎÔ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"ďŢĹŇĹÄŘ ÓĎĎÂÝĹÎÉĘ msqid=%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"íÁÓÓÉ× ÓĹÍÁĆĎŇĎ× semid=%d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "ÄĚŃ ËĚŔŢÁ ÄĎÓÔŐĐ ÚÁĐŇĹÝĹÎ"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "ÄĚŃ id ÄĎÓÔŐĐ ÚÁĐŇĹÝĹÎ"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "ÎĹ×ĹŇÎŮĘ ËĚŔŢ"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "ËĚŔŢ ŐÖĹ ŐÄÁĚĹÎ"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "id ŐÖĹ ŐÄÁĚĹÎ"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "ŇĹÓŐŇÓŮ(Ů) ŐÄÁĚĹÎ(Ů)\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: ÎĹ×ĹŇÎŮĘ ËĚŔŢ (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "ŃÄŇĎ ÎĹ ÎÁÓÔŇĎĹÎĎ ÄĚŃ ÉÓĐĎĚŘÚĎ×ÁÎÉŃ ÓĎ×ÍĹÓÔÎĎ ÉÓĐĎĚŘÚŐĹÍĎĘ ĐÁÍŃÔÉ\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "ŃÄŇĎ ÎĹ ÎÁÓÔŇĎĹÎĎ ÎÁ ÉÓĐĎĚŘÚĎ×ÁÎÉĹ ÓĹÍÁĆĎŇĎ×\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "ŃÄŇĎ ÎĹ ÎÁÓÔŇĎĹÎĎ ÎÁ ÉÓĐĎĚŘÚĎ×ÁÎÉĹ ĎŢĹŇĹÄÉ ÓĎĎÂÝĹÎÉĘ\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: ÎĹÉÚ×ĹÓÔÎŮĘ ÁŇÇŐÍĹÎÔ: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : ĐĎÄŇĎÂÎĎÓÔÉ Ď ŇĹÓŐŇÓĹ, ÉÄĹÎÔÉĆÉĂÉŇĎ×ÁÎÎĎÍ ĐĎ id\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "ďĐÁÓÎŮĹ ĎĐĂÉÉ:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "ŃÄŇĎ ÎĹ ÎÁÓÔŇĎĹÎĎ ÄĚŃ ÉÓĐĎĚŘÚĎ×ÁÎÉŃ ÓĎ×ÍĹÓÔÎĎ ÉÓĐĎĚŘÚŐĹÍĎĘ ĐÁÍŃÔÉ\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ đŇĹÄĹĚŮ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹÇÍĹÎÔĎ× = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "ÍÁËÓÉÍÁĚŘÎŮĘ ŇÁÚÍĹŇ ÓĹÇÍĹÎÔÁ (ËÂÁĘÔ) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "ÍÁËÓÉÍŐÍ ÓŐÍÍÁŇÎĎĘ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ (ËÂÁĘÔ) = %lu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "ÍÉÎÉÍÁĚŘÎŮĘ ŇÁÚÍĹŇ ÓĹÇÍĹÎÔÁ (ÂÁĘÔ) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ óĎÓÔĎŃÎÉĹ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ óĎÚÄÁÔĹĚÉ/×ĚÁÄĹĚŘĂŮ ÓĹÇÍĹÎÔÁ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "ĐŇÁ×Á"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+"------ ţÉÓĚĎ ĐĎÄËĚŔŢĹÎÉĘ/ĎÔËĚŔŢĹÎÉĘ/ÉÚÍĹÎĹÎÉŃ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "×ĚÁÄĹĚĹĂ"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "ĐĎÄËĚŔŢĹÎĎ"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "ĎÔËĚŔŢĹÎĎ"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "ÉÚÍĹÎĹÎĎ"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ óĎÚÄÁÔĹĚŘ/ĐĎÓĚĹÄÎŃŃ ĎĐĹŇÁĂÉŃ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ óĹÇÍĹÎÔŮ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "ËĚŔŢ"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "ÂÁĘÔŮ"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "ÓĎÓÔĎŃÎÉĹ"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "îĹ ŐÓÔÁÎĎ×ĚĹÎ"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "ÎÁÚÎÁŢĹÎÉĹ"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "ÚÁÂĚĎËÉŇĎ×ÁÎ"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "ŃÄŇĎ ÎĹ ÎÁÓÔŇĎĹÎĎ ÎÁ ÉÓĐĎĚŘÚĎ×ÁÎÉĹ ÓĹÍÁĆĎŇĎ×\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ đŇĹÄĹĚŮ ÓĹÍÁĆĎŇĎ× --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÍÁÓÓÉ×Ď× = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "ÍÁËÓÉÍŐÍ ÓĹÍÁĆĎŇĎ× ÎÁ ÍÁÓÓÉ× = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "ÍÁËÓÉÍŐÍ ÓĹÍÁĆĎŇĎ× ÎÁ ×ÓŔ ÓÉÓÔĹÍŐ = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "ÍÁËÓÉÍŐÍ ĎĐĹŇÁĂÉĘ ÎÁ ×ŮÚĎ× ÓĹÍÁĆĎŇÁ = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ÚÎÁŢĹÎÉĹ ÓĹÍÁĆĎŇÁ = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ óĎÓÔĎŃÎÉĹ ÓĹÍÁĆĎŇÁ --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎĎ ÍÁÓÓÉ×Ď× = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "×ŮÄĹĚĹÎĎ ÓĹÍÁĆĎŇĎ× = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ óĎÚÄÁÔĹĚÉ/×ĚÁÄĹĚŘĂŮ ÍÁÓÓÉ×Ď× ÓĹÍÁĆĎŇĎ× --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ ëĎĚÉŢĹÓÔ×Ď ĎĐĹŇÁĂÉĘ/ÉÚÍĹÎĹÎÉĘ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "ĐĎÓĚĹÄÎŃŃ ĎĐĹŇÁĂÉŃ"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "ĐĎÓĚĹÄÎĹĹ ÉÚÍĹÎĹÎÉĹ"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ íÁÓÓÉ×Ů ÓĹÍÁĆĎŇĎ× --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "ŃÄŇĎ ÎĹ ÎÁÓÔŇĎĹÎĎ ÎÁ ÉÓĐĎĚŘÚĎ×ÁÎÉĹ ĎŢĹŇĹÄÉ ÓĎĎÂÝĹÎÉĘ\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ óĎĎÂÝĹÎÉŃ: đŇĹÄĹĚŮ --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "ÍÁËÓÉÍŐÍ ĎŢĹŇĹÄĹĘ ÄĚŃ ×ÓĹĘ ÓÉÓÔĹÍŮ = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "ÍÁËÓÉÍÁĚŘÎŮĘ ŇÁÚÍĹŇ ÓĎĎÂÝĹÎÉŃ (ÂÁĘÔ) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "ÍÁËÓÉÍÁĚŘÎŮĘ ĐĎ ŐÍĎĚŢÁÎÉŔ ŇÁÚÍĹŇ ÓĎĎÂÝĹÎÉŃ (ÂÁĘÔ) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ óĎĎÂÝĹÎÉŃ: óĎÓÔĎŃÎÉĹ--------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "×ŮÄĹĚĹÎĎ ĎŢĹŇĹÄĹĘ = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎĎ ÚÁÇĎĚĎ×ËĎ× = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎĎ ĐŇĎÓÔŇÁÎÓÔ×Á = %d ÂÁĘÔ\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ ďŢĹŇĹÄÉ ÓĎĎÂÝĹÎÉĘ: óĎÚÄÁÔĹĚÉ/×ĚÁÄĹĚŘĂŮ--------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+"------ ëĎĚÉŢĹÓÔ×Ď ĎÔĐŇÁ×ĚĹÎÉĘ/ĐŇÉĹÍÁ/ÉÚÍĹÎĹÎÉĘ ĎŢĹŇĹÄÉ ÓĎĎÂÝĹÎÉĘ --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "ĎÔĐŇÁ×ĚĹÎĎ"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "ĐŇÉÎŃÔĎ"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "ÉÚÍĹÎĹÎĎ"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID'Ů ĎŢĹŇĹÄÉ ÓĎĎÂÝĹÎÉĘ --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ ďŢĹŇĹÄÉ ÓĎĎÂÝĹÎÉĘ --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "ÉÓĐ. ÂÁĘÔŮ"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "ÓĎĎÂÝĹÎÉŃ"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"óĹÇÍĹÎÔ ÓĎ×Í. ÉÓĐ. ĐÁÍŃÔÉ shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "ŇĹÖÉÍ=%#o\tĐŇÁ×Á_ÄĎÓÔŐĐÁ=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "ÂÁĘÔŮ=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "×ŇĹÍŃ_ĐĎÄËĚ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "×ŇĹÍŃ_ĎÔËĚ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "×ŇĹÍŃ_ÉÚÍĹÎ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"ďŢĹŇĹÄŘ ÓĎĎÂÝĹÎÉĘ msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tŇĹÖÉÍ=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "c-ÂÁĘÔŮ=%ld\tq-ÂÁĘÔŮ=%ld\tq-ÎĎÍĹŇ=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "×ŇĹÍŃ_ĎÔĐŇÁ×ËÉ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "×ŇĹÍŃ_ĐĎĚŐŢĹÎÉŃ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"íÁÓÓÉ× ÓĹÍÁĆĎŇĎ× semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "ŇĹÖÉÍ=%#o, ĐŇÁ×Á_ÄĎÓÔŐĐÁ=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "Ë-×Ď_ÓĹÍ = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "×ŇĹÍŃ_ĎĐĹŇ = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "×ŇĹÍŃ_ÉÚÍ= %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "ŢÉÓĚĎ ÓĹÍÁĆĎŇĎ×"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "ÚÎÁŢĹÎÉĹ"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s ÎĹ Ń×ĚŃĹÔÓŃ ĎÓĎÂŮÍ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ÎÁ ÄÉÓËĎ×ĎÍ ÎÁËĎĐÉÔĹĚĹ"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", ÓÍĹÝĹÎÉĹ %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", ĎÇŇÁÎÉŢĹÎÉĹ ÎÁ ŇÁÚÍĹŇ %lld"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", ŰÉĆŇĎ×ÁÎÉĹ %s (ÔÉĐ %d)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"ÉÓĐĎĚŘÚĎ×ÁÎÉĹ:\n"
+" %s loop_ŐÓÔŇĎĘÓÔ×Ď # ĐĎĚŐŢĹÎÉĹ "
+"ÉÎĆĎŇÍÁĂÉÉ\n"
+" %s -d loop_ŐÓÔŇĎĘÓÔ×Ď # ŐÄÁĚĹÎÉĹ\n"
+" %s -f # ĐĎÉÓË "
+"ÎĹÉÓĐĎĚŘÚŐĹÍŮČ\n"
+" %s [ -e ŰÉĆŇĎ×ÁÎÉĹ ] [ -o ÓÍĹÝĹÎÉĹ ] loop_ŐÓÔŇĎĘÓÔ×Ď ĆÁĘĚ # ŐÓÔÁÎĎ×ËÁ\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: ŐÓÔŇĎĘÓÔ×Ď ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ ŐËÁÚÁÎĎ Ä×ÁÖÄŮ"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "îĹ ŐËÁÚÁÎÁ ĎĐĂÉŃ --date.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ÚÁÂĚĎËÉŇĎ×ÁÔŘ × ĐÁÍŃÔÉ, ÚÁ×ĹŇŰĹÎÉĹ ŇÁÂĎÔŮ.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ %s\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "ĐĹŇĹŢÉÔÁÔŘ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: ÍĎÎÔÉŇĎ×ÁÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "îĹÔ"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÓĹËÔĎŇÁ"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÓĹËÔĎŇÁ"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"ďŰÉÂËÁ ÚÁËŇŮÔÉŃ ĆÁĘĚÁ\n"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "ÓĎËĹÔ nfs"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "óÔÁŇÁŃ ÓÉÔŐÁĂÉŃ:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÓÄĹĚÁÔŘ ÜÔĎ"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÓÄĹĚÁÔŘ ÜÔĎ"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÍĎÎÔÉŇĎ×ÁÔŘ %s ÎÁ %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÓÄĹĚÁÔŘ ÜÔĎ"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s ÉÚ %s%s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: ÔĎĚŘËĎ root ÍĎÖĹÔ ÍĎÎÔÉŇĎ×ÁÔŘ %s ÎÁ %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ %s × %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ %s × %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ %s × %s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ, É ÎÉ ĎÄÎÁ ÎĹ ÂŮĚÁ ŐËÁÚÁÎÁ"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: ×Ů ÄĎĚÖÎŮ ŐËÁÚÁÔŘ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ Ó×ŃÚÁÔŘ Ó %s: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: ÍĎÎÔÉŇĎ×ÁÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "mount ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: ÍĎÎÔÉŇĎ×ÁÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: ÔĎŢËÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ %s ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr ""
+"mount: ÎĹĎÂČĎÄÉÍĎ ÉÍĹÔŘ ĐŇÁ×Á ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŃ ÄĚŃ ÉÓĐĎĚŘÚĎ×ÁÎÉŃ mount"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s ÚÁÎŃÔ"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÉĚÉ %s ÚÁÎŃÔ"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: ÔĎŢËÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ %s ÎĹ ÓŐÝĹÓÔ×ŐĹÔ"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: ÔĎŢËÁ ÍĎÎÔÉŇĎ×ÁÎÉŃ %s Ń×ĚŃĹÔÓŃ ÓÉÍ×ĎĚÉŢĹÓËĎĘ ÓÓŮĚËĎĘ × ÎÉËŐÄÁ"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: ÓĐĹĂÉÁĚŘÎĎĹ ŐÓÔŇĎĘÓÔ×Ď %s ÎĹ ÓŐÝĹÓÔ×ŐĹÔ"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "mount ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: ÓĐĹĂÉÁĚŘÎĎĹ ŐÓÔŇĎĘÓÔ×Ď %s ÎĹ ÓŐÝĹÓÔ×ŐĹÔ\n"
+" (ĐŇĹĆÉËÓ ĐŐÔÉ ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s ŐÖĹ ÎĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÉĚÉ ÎĹ×ĹŇÎÁŃ ĎĐĂÉŃ"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s ŐÖĹ ÎĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÉĚÉ ÎĹ×ĹŇÎÁŃ ĎĐĂÉŃ"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: ÎĹ×ĹŇÎŮĘ ÔÉĐ ćó, ÎĹ×ĹŇÎÁŃ ĎĐĂÉŃ, ÎĹ×ĹŇÎŮĘ ÓŐĐĹŇÂĚĎË\n"
+" ÎÁ %s, ĎÔÓŐÔÓÔ×ŐĹÔ ËĎÄĎ×ÁŃ ÓÔŇÁÎÉĂÁ ÉĚÉ ÄŇŐÇÁŃ ĎŰÉÂËÁ"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" ÷ ÎĹËĎÔĎŇŮČ ÓĚŐŢÁŃČ ĐĎĚĹÚÎÁŃ ÉÎĆĎŇÍÁĂÉŃ ÍĎÖĹÔ ÂŮÔŘ\n"
+" ÎÁĘÄĹÎÁ × syslog - ĐĎĐŇĎÂŐĘÔĹ dmesg | tail ÉĚÉ ŢÔĎ-ÔĎ\n"
+" × ÜÔĎÍ ŇĎÄĹ\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ ÓŐĐĹŇÂĚĎË"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: ÎĹÉÚ×ĹÓÔÎŮĘ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ '%s'"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr ""
+"mount: %s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ, Á ĎĐŇĹÄĹĚĹÎÉĹ ÓĎÓÔĎŃÎÉŃ "
+"ÎĹ×ĎÚÍĎÖÎĎ?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: ŃÄŇĎ ÎĹ ŇÁÓĐĎÚÎÁĹÔ %s ËÁË ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď\n"
+" (ÍĎÖĹÔ ÂŮÔŘ `insmod driver'?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s ÎĹ Ń×ĚŃĹÔÓŃ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ (ÍĎÖĹÔ ĐĎĐŇĎÂĎ×ÁÔŘ `-o loop'?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: ÎĹ ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s ÎĹ Ń×ĚŃĹÔÓŃ ×ĹŇÎŮÍ ÂĚĎŢÎŮÍ ŐÓÔŇĎĘÓÔ×ĎÍ"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ĐŇÉÍĎÎÔÉŇĎ×ÁÔŘ %s%s ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s ÚÁÝÉÝĹÎ ĎÔ ÚÁĐÉÓÉ, ÎĎ Ń×ÎĎ ŐËÁÚÁÎ ĆĚÁÇ `-w'"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ĐŇÉÍĎÎÔÉŇĎ×ÁÔŘ %s%s ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s ÚÁÝÉÝĹÎ ĎÔ ÚÁĐÉÓÉ, ÍĎÎÔÉŇŐĹÔÓŃ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s ŐÖĹ ĐŇÉÍĎÎÔÉŇĎ×ÁÎ ÎÁ %s\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: ĐĹŇĹÉÍĹÎĎ×ÁÎÉĹ %s × %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: ÍĎÎÔÉŇĎ×ÁÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s ĐŇÉÍĎÎÔÉŇĎ×ÁÎ.\t "
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld ÂĚĎËĎ×\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS ×ÔĎŇÉŢÎŮĘ"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "ÎĹ×ĹŇÎŮĘ ŇÁÚÍĹŇ inode"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹÇÍĹÎÔĎ× = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹÇÍĹÎÔĎ× = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹÇÍĹÎÔĎ× = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "ÓĎĎÂÝĹÎÉŃ"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹÇÍĹÎÔĎ× = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "úÁĐŇĹÝĹÎÎĎĹ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "ĺÄ. ÉÚÍ."
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d ŇÁÚÄĹĚŮ:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "ďĐÁÓÎŮĹ ĎĐĂÉÉ:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: ďĐĂÉÉ --adjust É --noadjfile Ń×ĚŃŔÔÓŃ ×ÚÁÉÍÎĎ ÉÓËĚŔŢÁŔÝÉÍÉ. á ×Ů ŐËÁÚÁĚÉ "
+"ĎÂĹ.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " đĹŇ×ŮĘ đĎÓĚĹÄÎ.\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+" -u, --unqote îĹ ÚÁËĚŔŢÁÔŘ × ËÁ×ŮŢËÉ ×ŮČĎÄÎŮĹ ÄÁÎÎŮĹ\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version ÷Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ×ĹŇÓÉÉ\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+" -h, --help üÔĎ ÎĹÂĎĚŘŰĎĹ ŇŐËĎ×ĎÄÓÔ×Ď ĐĎ ÉÓĐĎĚŘÚĎ×ÁÎÉŔ\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test đŇĎ×ĹŇËÁ ×ĹŇÓÉÉ getopt(1)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ %s: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "űÁÇ_ÄÉÓËŇĹÔÉÚÁĂÉÉ: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): ÎĹ×ĹŇÎÁŃ ÓÔŇĎËÁ map\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ \"_stext\" × %s\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s: ÁÄŇĹÓ profile ÚÁ ĐŇĹÄĹĚÁÍÉ ÄÉÁĐÁÚĎÎÁ. îĹ×ĹŇÎŮĘ ĆÁĘĚ map?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "×ÓĹÇĎ"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s ÉÚ %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: îĹÉÚ×ĹÓÔÎÁŃ ËĎÍÁÎÄÁ: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÔÁĘÍ-ÁŐÔÁ: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "ĐĎĚŘÚĎ×ÁÔĹĚŘ"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: ÓÔÁŇŮĘ ĐŇÉĎŇÉÔĹÔ %d, ÎĎ×ŮĘ ĐŇÉĎŇÉÔĹÔ %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "gettimeofday ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "×ŮÄĹĚĹÎĎ ÓĹÍÁĆĎŇĎ× = %d\n"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr ""
+"\n"
+"ďŰÉÂËÁ ÚÁËŇŮÔÉŃ ĆÁĘĚÁ\n"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "×ŮÄĹĚĹÎĎ ÓĹÍÁĆĎŇĎ× = %d\n"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "gettimeofday ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: ÎĹŇÁÓĐĎÚÎÁÎÎŮĘ ÔÉĐ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "éÓĐĎĚŘÚŐĹÔÓŃ %s.\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "éÓĐĎĚŘÚŐĹÔÓŃ %s.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s ÎĹ lp-ŐÓÔŇĎĘÓÔ×Ď.\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "óĎĎÂÝĹÎÉĹ ĎÔ %s@%s ÎÁ %s × %s ..."
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "óĎĎÂÝĹÎÉĹ ĎÔ %s@%s ÎÁ %s × %s ..."
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: %s)"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s ĐŇĎÇŇÁÍÍÁ [ÁŇÇŐÍĹÎÔ ...]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr "đĎĐŇĎÂŐĘÔĹ `getopt --help' ÄĚŃ ĐĎĚŐŢĹÎÉŃ ÄĎĐĎĚÎÉÔĹĚŘÎĎĘ ÉÎĆĎŇÍÁĂÉÉ.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr "đĎĐŇĎÂŐĘÔĹ `getopt --help' ÄĚŃ ĐĎĚŐŢĹÎÉŃ ÄĎĐĎĚÎÉÔĹĚŘÎĎĘ ÉÎĆĎŇÍÁĂÉÉ.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: ÎĹŇÁÓĐĎÚÎÁÎÎŮĘ ÔÉĐ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×\n"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s ĐŇĎÇŇÁÍÍÁ [ÁŇÇŐÍĹÎÔ ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "ÓĎÚÄÁÎÉĹ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "×ŮĐĎĚÎĹÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s ÎÁ %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "îĹ ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŘ.\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d ŐÄÁĚĹÎÉĹ ŇÁÚÄĹĚÁ"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "stat ĐŐÔÉ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "stat ĐŐÔÉ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "đĎÍĹÔÉÔŘ, ËÁË ÉÓĐĎĚŘÚŐĹÍŮĘ"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "×ŮĐĎĚÎĹÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "ďÔËŇŮÔÉĹ %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "éÍŃ"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"%s: ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: %s ÉÍĹĹÔ ÎĹÂĹÚĎĐÁÓÎŮĹ ŇÁÚŇĹŰĹÎÉŃ %04o, ŇĹËĎÍĹÎÄŐĹÔÓŃ "
+"%04o\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+"%s: ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: %s ÉÍĹĹÔ ÎĹÂĹÚĎĐÁÓÎŮĹ ŇÁÚŇĹŰĹÎÉŃ %04o, ŇĹËĎÍĹÎÄŐĹÔÓŃ "
+"%04o\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: đŇĎĐŐÓËÁĹÔÓŃ ĆÁĘĚ %s - ĐĎČĎÖĹ × ÎŁÍ ÉÍĹŔÔÓŃ ÄŮŇŮ.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s ÎÁ %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "äĎÓÔŐĐÎŮĹ ËĎÍÁÎÄŮ:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ %s\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "ËĎŇÎĹ×ĎĘ inode ÎĹ Ń×ĚŃĹÔÓŃ ËÁÔÁĚĎÇĎÍ"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "÷ŮĐĎĚÎŃĹÔÓŃ ĐĎĐŮÔËÁ ŇÁÚÍĎÎÔÉŇĎ×ÁÔŘ %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÔĹËŐÝÉĘ ËÁÔÁĚĎÇ - %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr ""
+" -u, --unqote îĹ ÚÁËĚŔŢÁÔŘ × ËÁ×ŮŢËÉ ×ŮČĎÄÎŮĹ ÄÁÎÎŮĹ\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr ""
+" -u, --unqote îĹ ÚÁËĚŔŢÁÔŘ × ËÁ×ŮŢËÉ ×ŮČĎÄÎŮĹ ÄÁÎÎŮĹ\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÔÁĘÍ-ÁŐÔÁ: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s ÎĹ lp-ŐÓÔŇĎĘÓÔ×Ď.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "ĎŰÉÂËÁ LPGETIRQ"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s ÓĎÓÔĎŃÎÉĹ - %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", ÚÁÎŃÔ"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", ÇĎÔĎ×"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", ÎĹÔ ÂŐÍÁÇÉ"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", ĎÎĚÁĘÎ"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", ĎŰÉÂËÁ"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fsync ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "ĎŰÉÂËÁ LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s ÉÓĐĎĚŘÚŐĹÔ ĐŇĹŇŮ×ÁÎÉĹ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s ÉÓĐĎĚŘÚŐĹÔ ĎĐŇĎÓ\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "mount ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: ÍĎÎÔÉŇĎ×ÁÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: ÎĹ×ĹŇÎĎĹ ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ ÓŐĐĹŇÂĚĎË"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr ""
+"umount: %s: ÎĹĎÂČĎÄÉÍĎ ÉÍĹÔŘ ĐŇÁ×Á ÓŐĐĹŇĐĎĚŘÚĎ×ÁÔĹĚŃ ÄĚŃ ŇÁÚÍĎÎÔÉŇĎ×ÁÎÉŃ"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: ÂĚĎŢÎŮĹ ŐÓÔŇĎĘÓÔ×Á ÎÁ fs ÚÁĐŇĹÝĹÎŮ"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s ĐŇĎÇŇÁÍÍÁ [ÁŇÇŐÍĹÎÔ ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "÷ČĎÄ × ÓÉÓÔĹÍŐ ĐŇĹ×ŮÓÉĚ ĐŇĹÄĹĚ ĎÖÉÄÁÎÉŃ × %d ÓĹËŐÎÄ\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "÷ČĎÄ × ÓÉÓÔĹÍŐ ĐŇĹ×ŮÓÉĚ ĐŇĹÄĹĚ ĎÖÉÄÁÎÉŃ × %d ÓĹËŐÎÄ\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "ÓĎÓÔĎŃÎÉĹ"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "mount: %s: ÎĹÉÚ×ĹÓÔÎĎĹ ŐÓÔŇĎĘÓÔ×Ď"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: ÎĹÉÚ×ĹÓÔÎŮĘ ÁŇÇŐÍĹÎÔ: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ŐÓÔŇĎĘÓÔ×Ď %s: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "äĎÓÔŐĐÎŮĹ ËĎÍÁÎÄŮ:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: ÎĹÉÚ×ĹÓÔÎŮĘ ÓÉÇÎÁĚ %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÍĎÔÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÔÁĘÍ-ÁŐÔ ÄĚŃ %s: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "ĐĎÉÓË × write_tables ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f ÓĹËŐÎÄ\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "×ŇĹÍŃ ĎÖÉÄÁÎÉŃ ÉÓÔĹËĚĎ"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "őÓÔŇ-×Ď"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s ÎÁ %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ×ŮĐĎĚÎÉÔŘ %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "ĎŰÉÂËÁ ÓÍĹÎŮ ŇĹÖÉÍÁ %s: %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ĐŇĎĂĹÓÓ \"%s\"\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ×ŮĐĎĚÎÉÔŘ %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÔÁĘÍ-ÁŐÔÁ: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "ÎĹ×ĹŇÎÁŃ ÓËĎŇĎÓÔŘ: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "ÓĚÉŰËĎÍ ÍÎĎÇĎ ÁĚŘÔĹŇÎÁÔÉ×ÎŮČ ÓËĎŇĎÓÔĹĘ"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ËÁË ÓÔÁÎÄÁŇÔÎŮĘ ××ĎÄ: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ÎĹÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: ÎĹ ĎÔËŇŮÔ ÄĚŃ ŢÔĹÎÉŃ/ÚÁĐÉÓÉ"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: ĐŇĎÂĚĹÍÁ ÄŐÂĚÉŇĎ×ÁÎÉŃ: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "ÔÉĐ: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: ŢÔĹÎÉĹ: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: ĐĹŇĹĐĎĚÎĹÎÉĹ ××ĎÄÁ"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "ĐĎĚŘÚĎ×ÁÔĹĚŘ"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "ĐĎĚŘÚĎ×ÁÔĹĚÉ"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "- ÄÁ\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "- ÎĹÔ\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "×ŮÄĹĚĹÎĎ ÓĹÍÁĆĎŇĎ× = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"đŇĹÄŐĐŇĹÖÄĹÎÉĹ: `%s' Ń×ĚŃĹÔÓŃ ÓÓŮĚËĎĘ.\n"
+"éÓĐĎĚŘÚŐĘÔĹ `%s [ĎĐĂÉÉ] %s', ĹÓĚÉ ×Ů ÄĹĘÓÔ×ÉÔĹĚŘÎĎ ČĎÔÉÔĹ ÜÔĎ ÉÓĐĎĚŘÚĎ×ÁÔŘ.\n"
+"óËŇÉĐÔ ÎĹ ÚÁĐŐÝĹÎ.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "óËŇÉĐÔ ÚÁĐŐÝĹÎ, ĆÁĘĚ - %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "óËŇÉĐÔ ÚÁĐŐÝĹÎ %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ %s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"óËŇÉĐÔ ×ŮĐĎĚÎĹÎ %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "óËŇÉĐÔ ×ŮĐĎĚÎĹÎ, ĆÁĘĚ - %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "îĹ Č×ÁÔÁĹÔ pty\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "ďÔËŇŮÔÉĹ %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹÇÍĹÎÔĎ× = %lu\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ ĐŇÉ ŢÔĹÎÉÉ ×ŇĹÍĹÎÉ ÉÚ %s"
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: îĹĎÖÉÄÁÎÎŮĘ ËĎÎĹĂ ĆÁĘĚÁ × ĆÁĘĚĹ %s\n"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: ďŰÉÂËÁ ÁŇÇŐÍĹÎÔÁ, ÉÓĐĎĚŘÚĎ×ÁÎÉĹ\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ/ÓÎŃÔŘ ŇĹÖÉÍ ÜÎĹŇÇĎÓÂĹŇĹÖĹÎÉŃ\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ŐÓÔŇĎĘÓÔ×Ď %s ÄĚŃ ÚÁĐÉÓÉ\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "ĎŰÉÂËÁ klogctl: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ÄÁÍĐÁ ÜËŇÁÎÁ\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: ĐĹŇĹÍĹÎÎÁŃ $TERM ÎĹ ĎĐŇĹÄĹĚĹÎÁ.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: ÎĹÉÚ×ĹÓÔÎŮĘ ÓÉÇÎÁĚ %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "ÓĚÉŰËĎÍ ÍÎĎÇĎ iov'Ď× (ÉÚÍĹÎÉÔĹ ËĎÄ × wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "ŢŇĹÚ×ŮŢÁĘÎĎ ÄĚÉÎÎÁŃ ÓÔŇĎËÁ arg"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "ÓĎÚÄÁÎÉĹ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÔÁĘÍ-ÁŐÔÁ: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ ÄÉÓËÁ"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "űÉŇĎËĎ×ĹÝÁÔĹĚŘÎĎĹ ÓĎĎÂÝĹÎÉĹ ĎÔ %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: ÎĹ ÂŐÄĹÔ ĐŇĎŢÉÔÁÎ %s - ÉÓĐĎĚŘÚŐĘÔĹ ÓÔÁÎÄÁŇÔÎŮĘ ××ĎÄ.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: %s)"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: namei [-mx] ĐŐÔĹ×ĎĹ_ÉÍŃ [ĐŐÔĹ×ĎĹ_ÉÍŃ ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ÉÍŃ ×ÁŰĹÇĎ tty\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: ×ÁŰĹ ŇÁÚŇĹŰĹÎÉĹ ÎÁ ÚÁĐÉÓŘ ÂŮĚĎ ×ŮËĚŔŢĹÎĎ.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s ÎĹ ×ĎŰĹĚ × ÓÉÓÔĹÍŐ %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: ÄĚŃ %s ÓĎĎÂÝĹÎÉŃ ĎÔËĚŔŢĹÎŮ ÎÁ %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s ÎĹ ×ĎŰĹĚ × ÓÉÓÔĹÍŐ\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: ÄĚŃ %s ÓĎĎÂÝĹÎÉŃ ĎÔËĚŔŢĹÎŮ\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s ×ĎŰĹĚ × ÓÉÓÔĹÍŐ ÂĎĚĹĹ ĎÄÎĎÇĎ ŇÁÚÁ; ÚÁĐÉÓŘ ×ŮĐĎĚÎŃĹÔÓŃ × %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "óÔŇĎËÁ ×ČĎÄÎŮČ ÄÁÎÎŮČ ÓĚÉŰËĎÍ ÄĚÉÎÎÁŃ.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "óĎĎÂÝĹÎÉĹ ĎÔ %s@%s (ËÁË %s) ÎÁ %s × %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "óĎĎÂÝĹÎÉĹ ĎÔ %s@%s ÎÁ %s × %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "malloc ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: ĎŰÉÂËÁ ÚÁĐÉÓÉ.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: ÎĹ×ĹŇÎŮĘ ÁŇÇŐÍĹÎÔ -l %s.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÎĹ×ĎÚÍĎÖÎĎ ĐĎÄÄĹŇÖÁÔŘ %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "ĐĎÓĚĹÄÎŃŃ ĐĹŇ×ÁŃ ÓÔŇĎËÁ"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- ÓÔŇĎËÁ ŐÖĹ ×ŮŇĎ×ÎĹÎÁ"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: ÎĹ×ĹŇÎŮĘ ÁŇÇŐÍĹÎÔ -l %s.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: ÎĹ×ĹŇÎŮĘ ÁŇÇŐÍĹÎÔ -l %s.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "ÎĹ×ĹŇÎŮĘ id"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĹÇÍĹÎÔĎ× = %lu\n"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: ÎĹÉÚ×ĹÓÔÎÁŃ ĎĐĂÉŃ \"-%c\"\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: ËÁÔÁĚĎÇ ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: îĹ ÔĹËÓÔĎ×ŮĘ ĆÁĘĚ ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[éÓĐĎĚŘÚŐĘÔĹ q ÉĚÉ or Q ÄĚŃ ×ŮČĎÄÁ]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--äÁĚĹĹ--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[îÁÖÍÉÔĹ ĐŇĎÂĹĚ ÄĚŃ ĐŇĎÄĎĚÖĹÎÉŃ, 'q' ÄĚŃ ×ŮČĎÄÁ.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...ÎÁÚÁÄ ÎÁ %d ÓÔŇÁÎÉĂ"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...ÎÁÚÁÄ ÎÁ 1 ÓÔŇÁÎÉĂŐ"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...ĐŇĎĐŐÓËÁĹÔÓŃ ĎÄÎÁ ÓÔŇĎËÁ"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...ĐŇĎĐŐÓËÁĹÔÓŃ %d ÓÔŇĎË"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***îÁÚÁÄ***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "îĹËĎŇŇĹËÔÎĎĹ ŇĹÇŐĚŃŇÎĎĹ ×ŮŇÁÖĹÎÉĹ"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"âĎĚŘŰÉÎÓÔ×Ő ËĎÍÁÎÄ ĎĐĂÉĎÎÁĚŘÎĎ ĐŇĹÄŰĹÓÔ×ŐĹÔ ŢÉÓĚĎ×ĎĘ ÁŇÇŐÍĹÎÔ k. úÎÁŢĹÎÉŃ ĐĎ "
+"ŐÍĎĚŢÁÎÉŔ × ËÁ×ŮŢËÁČ.\n"
+"ú×ĹÚÄĎŢËÁ (*) ĎÚÎÁŢÁĹÔ, ŢÔĎ ÁŇÇŐÍĹÎÔ ÓÔÁÎĎ×ÉÔÓŃ ÎĎ×ŮÍ ÚÎÁŢĹÎÉĹÍ ĐĎ "
+"ŐÍĎĚŢÁÎÉŔ.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<ĐŇĎÂĹĚ> ÷Ů×ĎÄ ÓĚĹÄŐŔÝÉČ k ÓÔŇĎË ÔĹËÓÔÁ [ÔĹËŐÝÉĘ ŇÁÚÍĹŇ "
+"ÜËŇÁÎÁ]\n"
+"z ÷Ů×ĎÄ ÓĚĹÄŐŔÝÉČ k ÓÔŇĎË ÔĹËÓÔÁ [ÔĹËŐÝÉĘ ŇÁÚÍĹŇ "
+"ÜËŇÁÎÁ]*\n"
+"<return> ÷Ů×ĎÄ ÓĚĹÄŐŔÝÉČ k ÓÔŇĎË ÔĹËÓÔÁ [1]*\n"
+"d ÉĚÉ ctrl-D đŇĎËŇŐÔËÁ k ÓÔŇĎË [ÔĹËŐÝĹĹ ÚÎÁŢĹÎÉĹ ĐŇĎËŇŐÔËÉ, "
+"ÉÚÎÁŢÁĚŘÎĎ 11]*\n"
+"q ÉĚÉ Q ÉĚÉ <ĐŇĹŇŮ×.> ÷ŮČĎÄ ÉÚ more\n"
+"s đŇĎĐŐÓË ×ĐĹŇĹÄ k ÓÔŇĎË ÔĹËÓÔÁ [1]\n"
+"f đŇĎĐŐÓË ×ĐĹŇĹÄ k ĐĎĚÎŮČ ÜËŇÁÎĎ× ÔĹËÓÔÁ [1]\n"
+"b ÉĚÉ ctrl-B đŇĎĐŐÓË ÎÁÚÁÄ k ĐĎĚÎŮČ ÜËŇÁÎĎ× ÔĹËÓÔÁ [1]\n"
+"' đĹŇĹČĎÄ × ÍĹÓÔĎ, Ó ËĎÔĎŇĎÇĎ ÂŮĚ ÎÁŢÁÔ ĐŇĹÄŮÄŐÝÉĘ "
+"ĐĎÉÓË\n"
+"= ďÔĎÂŇÁÖĹÎÉĹ ÎĎÍĹŇÁ ÔĹËŐÝĹĘ ÓÔŇĎËÉ\n"
+"/<ŇĹÇŐĚŃŇÎĎĹ ×ŮŇÁÖĹÎÉĹ> đĎÉÓË k-ÇĎ ×ČĎÖÄĹÎÉŃ ŇĹÇŐĚŃŇÎĎÇĎ ×ŮŇÁÖĹÎÉŃ [1]\n"
+"n đĎÉÓË k-ÇĎ ×ČĎÖÄĹÎÉŃ ĐĎÓĚĹÄÎĹÇĎ Ň.×. [1]\n"
+"!<cmd> ÉĚÉ :!<cmd> ÷ŮĐĎĚÎĹÎÉĹ <cmd> × ÓŐÂ-ŰĹĚĚĹ\n"
+"v úÁĐŐÓË /usr/bin/vi Ó ÔĹËŐÝĹĘ ÓÔŇĎËÉ\n"
+"ctrl-L đĹŇĹŇÉÓĎ×Ů×ÁÎÉĹ ÜËŇÁÎÁ\n"
+":n đĹŇĹČĎÄ Ë k-ÍŐ ÓĚĹÄŐŔÝĹÍŐ ĆÁĘĚŐ [1]\n"
+":p đĹŇĹČĎÄ Ë k-ÍŐ ĐŇĹÄŮÄŐÝĹÍŐ ĆÁĘĚŐ [1]\n"
+":f ďÔĎÂŇÁÖĹÎÉĹ ÉÍĹÎÉ ÔĹËŐÝĹÇĎ ĆÁĘĚÁ É ÎĎÍĹŇÁ ÓÔŇĎËÉ\n"
+". đĎ×ÔĎŇĹÎÉĹ ĐŇĹÄŮÄŐÝĹĘ ËĎÍÁÎÄŮ\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[îÁÖÍÉÔĹ 'h' ÄĚŃ ĐĎĚŐŢĹÎÉŃ ÉÎÓÔŇŐËĂÉĘ.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" ÓÔŇĎËÁ %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[îĹ ĆÁĘĚ] ÓÔŇĎËÁ %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " đĹŇĹĐĎĚÎĹÎÉĹ\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...ĐŇĎĐŐÓËÁĹÔÓŃ\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"űÁÂĚĎÎ ÎĹ ÎÁĘÄĹÎ\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "űÁÂĚĎÎ ÎĹ ÎÁĘÄĹÎ"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "×ŮĐĎĚÎĹÎÉĹ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...đŇĎĐŐÓËÁĹÔÓŃ "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...đŇĎĐŐÓËÁĹÔÓŃ ÄĎ ĆÁĘĚÁ "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...đŇĎĐŐÓËÁĹÔÓŃ ĎÂŇÁÔÎĎ ÄĎ ĆÁĘĚÁ "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "óÔŇĎËÁ ÓĚÉŰËĎÍ ÄĚÉÎÎÁŃ"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "îĹÔ ĐŇĹÄŮÄŐÝĹĘ ËĎÍÁÎÄŮ ÄĚŃ ÚÁÍĹÎŮ"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "ÓÔŇĎËÁ ÓĚÉŰËĎÍ ÄĚÉÎÎÁŃ"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: ŢÉÓĚĎ ÂÁĘÔ Ó ÍÎĎÇĎŢÉÓĚĹÎÎŮÍÉ ÓÉÍ×ĎĚÁÍÉ ĐŇĹĎÂŇÁÚĎ×ÁÎÉŃ.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: ÎĹ×ĹŇÎĎĹ ŢÉÓĚĎ ÂÁĘÔ ÄĚŃ ÓÉÍ×ĎĚÁ ĐŇĹĎÂŇÁÚĎ×ÁÎÉŃ %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: ÄĚŃ %%s ÔŇĹÂŐĹÔÓŃ ÔĎŢÎĎÓÔŘ ÉĚÉ ŢÉÓĚĎ ÂÁĘÔ.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: ÎĹ×ĹŇÎŮĘ ĆĎŇÍÁÔ {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: ÎĹ×ĹŇÎŮĘ ÓÉÍ×ĎĚ ĐŇĹĎÂŇÁÚĎ×ÁÎÉŃ %%%s.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p ÷Ů×ĎÄ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× ÎÁ ÜËŇÁÎ ÉĚÉ × ĆÁĘĚ"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : ÎÁ ÓÁÍĎÍ ÄĹĚĹ ÎĹ ÚÁĐÉÓŮ×ÁÔŘ ÎÁ ÄÉÓË"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version ÷Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ×ĹŇÓÉÉ\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version ÷Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ×ĹŇÓÉÉ\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: ÄĚŃ ĎĐĂÉÉ ÔŇĹÂŐĹÔÓŃ ÁŇÇŐÍĹÎÔ -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: ÎĹ×ĹŇÎÁŃ ĎĐĂÉŃ -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...ĐŇĎĐŐÓËÁĹÔÓŃ ×ĐĹŇĹÄ\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...ĐŇĎĐŐÓËÁĹÔÓŃ ÎÁÚÁÄ\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "îĹÔ ÓĚĹÄŐŔÝĹÇĎ ĆÁĘĚÁ"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "îĹÔ ĐŇĹÄŮÄŐÝĹÇĎ ĆÁĘĚÁ"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: ďŰÉÂËÁ ŢÔĹÎÉŃ ÉÚ ĆÁĘĚÁ %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: îĹĎÖÉÄÁÎÎŮĘ ËĎÎĹĂ ĆÁĘĚÁ × ĆÁĘĚĹ %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: îĹÉÚ×ĹÓÔÎÁŃ ĎŰÉÂËÁ × ĆÁĘĚĹ %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: îĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ×ŇĹÍĹÎÎŮĘ ĆÁĘĚ\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "ďŰÉÂËÁ RE: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(ËĎÎĹĂ ĆÁĘĚÁ)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "îĹÔ ÚÁĐĎÍÎĹÎÎŮČ ÓÔŇĎË ĐĎÉÓËÁ"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "ÓĎČŇÁÎĹÎ"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !ËĎÍÁÎÄÁ ÎĹ ŇÁÚŇĹŰĹÎÁ × ŇĹÖÉÍĹ rflag.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ, ĐĎĐŇĎÂŐĘÔĹ ĹÝĹ ŇÁÚ ĐĎĐĎÚÖĹ\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "îĹ ŐËÁÚÁÎÁ ĎĐĂÉŃ --date.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "ĐŇĎÂĚĹÍÁ ŢÔĹÎÉŃ terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "îĹÉÚ×ĹÓÔÎÁŃ escape-ĐĎÓĚĹÄĎ×ÁÔĹĚŘÎĎÓÔŘ ×Ď ×ČĎÄÎŮČ ÄÁÎÎŮČ: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "óÔŇĎËÁ ×ČĎÄÎŮČ ÄÁÎÎŮČ ÓĚÉŰËĎÍ ÄĚÉÎÎÁŃ.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ŐÓÔŇĎĘÓÔ×Á %s"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ '%s'"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ŐÓÔŇĎĘÓÔ×Á %s"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ŐÓÔŇĎĘÓÔ×Á %s"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "îÁ ÜÔĎÍ ÄÉÓËĹ ÉÍĹŔÔÓŃ ÍÜÄÖÉËÉ DOS É BSD.\n"
+#~ "úÁÄÁĘÔĹ ËĎÍÁÎÄŐ 'b' ÄĚŃ ĐĹŇĹČĎÄÁ × ŇĹÖÉÍ BSD.\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ%s"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s ÄĚŃ ŢÔĹÎÉŃ\n"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ŐÓÔŇĎĘÓÔ×Á %s"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ŐÓÔŇĎĘÓÔ×Á %s"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ /dev/port: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "open() %s ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "ďÔËŇŮÔÉĹ %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "(óĚĹÄŐŔÝÉĘ ĆÁĘĚ: %s)"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ĆÁĘĚ '%s'"
+
+#~ msgid "Cannot open "
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ "
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ \"%s\" ÄĚŃ ŢÔĹÎÉŃ\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ŐÓÔŇĎĘÓÔ×Á %s"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-hv] [-x ËÁÔÁĚĎÇ] ĆÁĘĚ\n"
+#~ " -h ×Ů×ĎÄ ÜÔĎĘ ÓĐŇÁ×ËÉ\n"
+#~ " -x ËÁÔÁĚĎÇ ÉÚ×ĚĹŢĹÎÉĹ × ËÁÔÁĚĎÇ\n"
+#~ " -v ĐĎÄŇĎÂÎŮĘ ŇĹÖÉÍ\n"
+#~ " ĆÁĘĚ ĆÁĘĚ ÄĚŃ ĐŇĎ×ĹŇËÉ\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-larvsmf] /dev/ÉÍŃ\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "đĎĐŮÔËÁ ÓĎÚÄÁÔŘ ŐÓÔŇĎĘÓÔ×Ď ÄĚŃ Ó×ĎĐÉÎÇÁ ÎÁ '%s' ×ŮĐĎĚÎĹÎÁ ÎĹ ÂŐÄĹÔ"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ŐÓÔŇĎĘÓÔ×Á %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "÷Ů ÂŐÄĹÔĹ ÎĹ × ÓĎÓÔĎŃÎÉÉ ÚÁĐÉÓÁÔŘ ÔÁÂĚÉĂŐ ŇÁÚÄĹĚĎ×.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "ňÁÚÄĹĚ %i ÎÁŢÉÎÁĹÔÓŃ ÎĹ ÎÁ ÇŇÁÎÉĂĹ ĂÉĚÉÎÄŇÁ:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "ÄĎĚÖĹÎ ÂŮÔŘ (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "ÄĎĚÖĹÎ ÂŮÔŘ (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "îÁ ÄÉÓËĹ %s ĎÔÓŐÔÓÔ×ŐĹÔ ×ĹŇÎÁŃ ÔÁÂĚÉĂÁ ŇÁÚÄĹĚĎ×\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr "üÔĎ ŃÄŇĎ ÓÁÍĎ ÎÁČĎÄÉÔ ŇÁÚÍĹŇ ÓĹËÔĎŇÁ - ĎĐĂÉŃ -b ĐŇĎÉÇÎĎŇÉŇĎ×ÁÎÁ\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: ĐŇĹÖÄĹ×ŇĹÍĹÎÎĎĹ ĎËĎÎŢÁÎÉĹ ××ĎÄÁ\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "÷Ů ŐËÁÚÁĚÉ ÎĹÓËĎĚŘËĎ ĆŐÎËĂÉĘ.\n"
+#~ "÷Ů ÍĎÖĹÔĹ ×ŮĐĎĚÎÉÔŘ ÔĎĚŘËĎ ĎÄÎŐ ĆŐÎËĂÉŔ ÚÁ ŇÁÚ.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: ďĐĂÉÉ --utc É --localtime Ń×ĚŃŔÔÓŃ ×ÚÁÉÍÎĎ ÉÓËĚŔŢÁŔÝÉÍÉ. á ×Ů ŐËÁÚÁĚÉ "
+#~ "ĎÂĹ.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: ďĐĂÉÉ --adjust É --noadjfile Ń×ĚŃŔÔÓŃ ×ÚÁÉÍÎĎ ÉÓËĚŔŢÁŔÝÉÍÉ. á ×Ů "
+#~ "ŐËÁÚÁĚÉ ĎÂĹ.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: ďĐĂÉÉ --adjust É --noadjfile Ń×ĚŃŔÔÓŃ ×ÚÁÉÍÎĎ ÉÓËĚŔŢÁŔÝÉÍÉ. á ×Ů "
+#~ "ŐËÁÚÁĚÉ ĎÂĹ.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ÓËĎŇĎÓÔŘ: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: ĆÁĘĚ %s ÚÁÎŃÔ (ĐŇÉÓŐÔÓÔ×ŐĹÔ %s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "úÎÁŢĹÎÉĹ ÚÁ ĐŇĹÄĹĚÁÍÉ ÄÉÁĐÁÚĎÎÁ.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "ďŰÉÂËÁ ÚÁĐÉÓÉ ŇÁÚÄĹĚÁ ÎÁ %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "ÎĹ×ĹŇÎŮĘ id: %s\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: ŐÓÔÁÎĎ×ËÁ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ ÚÁ×ĹŇŰÉĚÁÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: îĹĎÖÉÄÁÎÎŮĘ ËĎÎĹĂ ĆÁĘĚÁ × ĆÁĘĚĹ %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "áŇÇŐÍĹÎÔ --date ÓĚÉŰËĎÍ ÄĚÉÎÎŮĘ\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "×ŮÄĹĚĹÎĎ ÓĹÍÁĆĎŇĎ× = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ÄĚÉÎŮ.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ĐŇĎĐŐÓËÁ.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-ŢÉÓĚĎ] [-p ÓÔŇĎËÁ] [-cefnrs] [+ÓÔŇĎËÁ] [+/"
+#~ "ŰÁÂĚĎÎ/] [ĆÁĘĚŮ]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "ÓĎÚÄÁÎÉĹ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d ŐÄÁĚĹÎÉĹ ŇÁÚÄĹĚÁ BSD"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l ÓĐÉÓĎË ÔÉĐĎ× ÉÚ×ĹÓÔÎŮČ ĆÁĘĚĎ×ŮČ ÓÉÓÔĹÍ"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n ÄĎÂÁ×ĚĹÎÉĹ ÎĎ×ĎÇĎ ŇÁÚÄĹĚÁ BSD"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p ×Ů×ĎÄ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× BSD"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t ÉÚÍĹÎĹÎÉĹ id ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ ŇÁÚÄĹĚÁ"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u ÉÚÍĹÎĹÎÉĹ ĹÄÉÎÉĂ ÉÚÍĹŇĹÎÉŃ (ĂÉĚÉÎÄŇŮ/ÓĹËÔĎŇŮ)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p ×Ů×ĎÄ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×"
+
+#, fuzzy
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "óĎÚÄÁĹÔÓŃ ÎĎ×ÁŃ ÍĹÔËÁ ÄÉÓËÁ DOS. éÚÍĹÎĹÎÉŃ ÂŐÄŐÔ ĎÓÔÁ×ÁÔŘÓŃ\n"
+#~ "ÔĎĚŘËĎ × ĐÁÍŃÔÉ ÄĎ ÔĹČ ĐĎŇ, ĐĎËÁ ×Ů ÎĹ ŇĹŰÉÔĹ ÚÁĐÉÓÁÔŘ ÉČ.\n"
+#~ "đĎÓĚĹ ÜÔĎÇĎ, ËĎÎĹŢÎĎ, ĐŇĹÄŮÄŐÝĹĹ ÓĎÄĹŇÖÉÍĎĹ ÎĹĚŘÚŃ ÂŐÄĹÔ\n"
+#~ "×ĎÓÓÔÁÎĎ×ÉÔŘ.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "őÓÔŇĎĘÓÔ×Ď ÎĹ ÓĎÄĹŇÖÉÔ ÎÉ ×ĹŇÎĎĘ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ× DOS, ÎÉ ÍĹÔËÉ ÄÉÓËÁ "
+#~ "Sun, SGI ÉĚÉ OSF\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "÷ÎŐÔŇĹÎÎŃŃ ĎŰÉÂËÁ\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\të ÓĎÖÁĚĹÎÉŔ ÍĹÎŔ ÜËÓĐĹŇÔÁ ÄĚŃ ÔÁÂĚÉĂ ŇÁÚÄĹĚĎ× SGI ÎĹ ÄĎÓÔŐĐÎĎ.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "úÎÁĹÔĹ ĚÉ ×Ů, ŢÔĎ ×Ů ĐĎĚŐŢÉĚÉ ĐĹŇĹËŇŮ×ÁÎÉĹ ŇÁÚÄĹĚĎ× ÎÁ ÄÉÓËĹ?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "óĎÚÄÁĹÔÓŃ ÎĎ×ÁŃ ÍĹÔËÁ ÄÉÓËÁ SGI. éÚÍĹÎĹÎÉŃ ÂŐÄŐÔ ĎÓÔÁ×ÁÔŘÓŃ\n"
+#~ "ÔĎĚŘËĎ × ĐÁÍŃÔÉ ÄĎ ÔĹČ ĐĎŇ, ĐĎËÁ ×Ů ÎĹ ŇĹŰÉÔĹ ÚÁĐÉÓÁÔŘ ÉČ.\n"
+#~ "đĎÓĚĹ ÜÔĎÇĎ, ËĎÎĹŢÎĎ, ĐŇĹÄŮÄŐÝĹĹ ÓĎÄĹŇÖÉÍĎĹ ÎĹĚŘÚŃ ÂŐÄĹÔ\n"
+#~ "×ĎÓÓÔÁÎĎ×ÉÔŘ.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ - ÓÄÁŔÓŘ\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: ÍÁĚĎ ĐÁÍŃÔÉ, ×ČĎÄ × ÓÉÓÔĹÍŐ ÍĎÖĹÔ ÚÁ×ĹŇŰÉÔŘÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ×ŮĐĎĚÎÉÔŘ malloc ÄĚŃ ttyclass"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ×ŮĐĎĚÎÉÔŘ malloc ÄĚŃ grplist"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "÷ČĎÄ × %s Ó %s ÚÁĐŇĹÝĹÎ ĐĎ ŐÍĎĚŢÁÎÉŔ.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "÷ČĎÄ × %s Ó %s ÚÁĐŇĹÝĹÎ.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ -f ĐĎĚÎĎĹ_ÉÍŃ ] [ -o ÎĎÍĹŇ_ĎĆÉÓÁ ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "login: ÓÂĎĘ PAM, ×ŮĐĎĚÎŃĹÔÓŃ ĐŇĹŇŮ×ÁÎÉĹ: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ -s ŰĹĚĚ ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ ÉÍŃ_ĐĎĚŘÚĎ×ÁÔĹĚŃ ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr ""
+#~ "%s: ÍĎÖÎĎ ÔĎĚŘËĎ ÉÚÍĹÎÉÔŘ ĚĎËÁĚŘÎŮĹ ÜĚĹÍĹÎÔŮ; ×ÍĹÓÔĎ ÜÔĎÇĎ ÉÓĐĎĚŘÚŐĘÔĹ yp"
+#~ "%s.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: îĹ×ĎÚÍĎÖÎĎ ŐÓÔÁÎĎ×ÉÔŘ ËĎÎÔĹËÓÔ ĐĎ ŐÍĎĚŢÁÎÉŔ ÄĚŃ /etc/passwd"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "ĐĎÉÓË ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: ÉÓĐĎĚŘÚŐĘÔĹ ĎĐĂÉŔ -l option ÄĚŃ ĐŇĎÓÍĎÔŇÁ ÓĐÉÓËÁ\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "éÓĐĎĚŘÚŐĘÔĹ %s -l ÄĚŃ ĐŇĎÓÍĎÔŇÁ ÓĐÉÓËÁ.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: login [-fp] [ÉÍŃ_ĐĎĚŘÚĎ×ÁÔĹĚŃ]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ"
+
+#~ msgid "Illegal username"
+#~ msgstr "úÁĐŇĹÝĹÎÎĎĹ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s ×ČĎÄ ÎÁ ÜÔĎÔ ÔĹŇÍÉÎÁĚ ĎÔ×ĹŇÇÎŐÔ.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "÷čďä %s ďô÷ĺňçîőô éú %s îá TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "÷čďä %s ďô÷ĺňçîőô îá TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "îĹ×ĹŇÎŮĘ ĚĎÇÉÎ\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "×ŮÄĹĚĹÎĎ ÓĹÍÁĆĎŇĎ× = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: ÓÂĎĘ ÓĎÚÄÁÎÉŃ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s ĚĎÇÉÎ: "
+
+#~ msgid "NAME too long"
+#~ msgstr "éíń ÓĚÉŰËĎÍ ÄĚÉÎÎĎĹ"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ ÓĚÉŰËĎÍ ÄĚÉÎÎĎĹ.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "ÉÍĹÎÁ ĐĎĚŘÚĎ×ÁÔĹĚĹĘ ÍĎÇŐÔ ÎĹ ÎÁŢÉÎÁÔŘÓŃ Ó '-'.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "ţňĺúíĺňîůĺ ĐĹŇĹ×ĎÄŮ ÓÔŇĎË"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "ÓĚÉŰËĎÍ ÍÎĎÇĎ ĐŐÓÔŮČ ĐĹŇĹ×ĎÄĎ× ÓÔŇĎË.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "óâďę ÷čďäá ÷ óéóôĺíő éú %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "óâďę ÷čďäá ÷ óéóôĺíő îá %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d óâďé ÷čďäá éú %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d óâďé ÷čďäá ÷ %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: ĆÁĘĚ ÇŇŐĐĐ ÚÁÎŃÔ.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: ÎĹ×ĎÚÍĎÖÎĎ ŇÁÚÂĚĎËÉŇĎ×ÁÔŘ %s: %s (×ÁŰÉ ÉÚÍĹÎĹÎÉŃ ×ÓĹ ĹÝĹ × %s)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "malloc ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "îÁ ÄÉÓËĹ %s ĎÔÓŐÔÓÔ×ŐĹÔ ×ĹŇÎÁŃ ÔÁÂĚÉĂÁ ŇÁÚÄĹĚĎ×\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "openpty ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: ĐĎĚŘÚĎ×ÁÔĹĚŘ \"%s\" ÎĹ ÓŐÝĹÓÔ×ŐĹÔ.\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÉÎĆĎŇÍÁĂÉŔ Ď ŐÓÔŇĎĘÓÔ×Ĺ %s: %s\n"
+
+#, fuzzy
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", ÓÍĹÝĹÎÉĹ %d"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", ÔÉĐ ŰÉĆŇĎ×ÁÎÉŃ %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÉÎĆĎŇÍÁĂÉŔ Ď ŐÓÔŇĎĘÓÔ×Ĺ %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ŐÓÔŇĎĘÓÔ×Ď %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: ÎĹÔ ŇÁÚŇĹŰĹÎÉŃ ÎÁ ĐŇĎÓÍĎÔŇ /dev/loop#"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: îĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ÎÉ ĎÄÎĎÇĎ ŐÓÔŇĎĘÓÔ×Á ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ. íĎÖĹÔ ÂŮÔŘ\n"
+#~ " ÜÔĎ ŃÄŇĎ ÎĹ ÚÎÁĹÔ Ď ŐÓÔŇĎĘÓÔ×ÁČ ĎÂŇÁÔÎĎĘ Ó×ŃÚÉ. (÷ ÜÔĎÍ ÓĚŐŢÁĹ\n"
+#~ " ĐĹŇĹËĎÍĐÉĚÉŇŐĘÔĹ ŃÄŇĎ ÉĚÉ ×ŮĐĎĚÎÉÔĹ `modprobe loop.o'.)"
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "îĹ Č×ÁÔÁĹÔ ĐÁÍŃÔÉ ĐŇÉ Ő×ĹĚÉŢĹÎÉÉ ÂŐĆĹŇÁ.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "óĹËÔĎŇ %d ŐÖĹ ×ŮÄĹĚĹÎ\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "mount: %s%s ÚÁÝÉÝĹÎ ĎÔ ÚÁĐÉÓÉ, ÍĎÎÔÉŇŐĹÔÓŃ ÔĎĚŘËĎ ÄĚŃ ŢÔĹÎÉŃ"
+
+#, fuzzy
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu): ŐÓĐĹŰÎĎ ÚÁ×ĹŇŰĹÎ\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): ŐÓĐĹŰÎĎ ÚÁ×ĹŇŰĹÎ\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: ÎĹ×ĎÚÍĎÖÎĎ ŐÄÁĚÉÔŘ ŐÓÔŇĎĘÓÔ×Ď %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "üÔÁ ×ĹŇÓÉŃ mount ÂŮĚÁ ĎÔËĎÍĐÉĚÉŇĎ×ÁÎÁ ÂĹÚ ĐĎÄÄĹŇÖËÉ loop. đĎÖÁĚŐĘÓÔÁ, "
+#~ "×ŮĐĎĚÎÉÔĹ ĐĹŇĹËĎÍĐÉĚŃĂŔ.\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "đĎÄÄĹŇÖËÁ loop ÂŮĚÁ ÎĹÄĎÓÔŐĐÎÁ ×Ď ×ŇĹÍŃ ËĎÍĐÉĚŃĂÉÉ. đĎÖÁĚŐĘÓÔÁ, ×ŮĐĎĚÎÉÔĹ "
+#~ "ĐĹŇĹËĎÍÉĚŃĂÉŔ.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-q [-i ÉÎÔĹŇ×ÁĚ]] ([-s ÚÎÁŢĹÎÉĹ]|[-S ÚÎÁŢĹÎÉĹ]) ([-t "
+#~ "ÚÎÁŢĹÎÉĹ]|[-T ÚÎÁŢĹÎÉĹ]) [-g|-G] ĆÁĘĚ [ĆÁĘĚ...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "ÓĎÚÄÁÎÉĹ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "ÎĹ ŇĹËĎÍĹÎÄŐĹÍĎĹ ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "ÎĹÉÚ×ĹÓÔÎŮĘ ÔÉĐ ŇĹÓŐŇÓÁ: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q ËĚŔŢ_msg] [-M ËĚŔŢ_shm] [-S ËĚŔŢ_sem] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "ÎĹÉÚ×ĹÓÔÎÁŃ ĎŰÉÂËÁ × ËĚŔŢĹ"
+
+#~ msgid "unknown error in id"
+#~ msgstr "ÎĹÉÚ×ĹÓÔÎÁŃ ĎŰÉÂËÁ × id"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s ĐŇĹÄĎÓÔÁ×ĚŃĹÔ ÉÎĆĎŇÍÁĂÉŔ Ď ÓŇĹÄÓÔ×ÁČ ipc, Ë ËĎÔĎŇŮÍ ×Ů ÉÍĹĹÔĹ ÄĎÓÔŐĐ "
+#~ "ÎÁ ŢÔĹÎÉĹ.\n"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s ÉÚ %s\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: éÓĐĎĚŘÚĎ×ÁÎÉĹ: \"%s [ĎĐĂÉÉ]\n"
+#~ "\t -m <map-ĆÁĘĚ> (ÚÎÁŢĹÎÉŃ ĐĎ ŐÍĎĚŢÁÎÉŔ: \"%s\" É)\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-ĆÁĘĚ> (ÚÎÁŢĹÎÉĹ ĐĎ ŐÍĎĚŢÁÎÉŔ: \"%s\")\n"
+#~ "\t -M <ÍÎĎÖ> ŐÓÔÁÎĎ×ËÁ ÍÎĎÖÉÔĹĚŃ ĐŇĎĆÉĚÉŇĎ×ÁÎÉŃ × <ÍÎĎÖ>\n"
+#~ "\t -i ÔĎĚŘËĎ ×Ů×ĎÄ ÉÎĆĎŇÍÁĂÉÉ Ď ŰÁÇĹ ÄÉÓËŇĹÔÉÚÁĂÉÉ\n"
+#~ "\t -v ×Ů×ĎÄ ĐĎÄŇĎÂÎĎĘ ÉÎĆĎŇÍÁĂÉÉ\n"
+#~ "\t -a ×Ů×ĎÄ ×ÓĹČ ÓÉÍ×ĎĚĎ×, ÄÁÖĹ ĹÓĚÉ ÉČ ŢÉÓĚĎ ÎĹÎŐĚĹ×ĎĹ\n"
+#~ "\t -b ×Ů×ĎÄ ÉÎÄÉ×ÉÄŐÁĚŘÎŮČ ÓŢĹÔŢÉËĎ× histogram-bin\n"
+#~ "\t -s ×Ů×ĎÄ ÉÎÄÉ×ÉÄŐÁĚŘÎŮČ ÓŢĹÔŢÉËĎ× ×ÎŐÔŇÉ ĆŐÎËĂÉĘ\n"
+#~ "\t -r ÓÂŇĎÓ ×ÓĹČ ÓŢĹÔŢÉËĎ× (ÔĎĚŘËĎ root)\n"
+#~ "\t -n ĎÔËĚŔŢĹÎÉĹ Á×ÔĎĎĐŇĹÄĹĚĹÎÉŃ ĐĎŇŃÄËÁ ÂÁĘÔĎ×\n"
+#~ "\t -V ×Ů×ĎÄ ÎĎÍĹŇÁ ×ĹŇÓÉÉ ×ŮČĎÄ\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: ĎŰÉÂËÁ ÚÁĐÉÓÉ %s: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "đĎĐŇĎÂŐĘÔĹ `getopt --help' ÄĚŃ ĐĎĚŐŢĹÎÉŃ ÄĎĐĎĚÎÉÔĹĚŘÎĎĘ ÉÎĆĎŇÍÁĂÉÉ.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s ĐŇĎÇŇÁÍÍÁ [ÁŇÇŐÍĹÎÔ ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s <ŐÓÔŇĎĘÓÔ×Ď> [ -i <đňĺňů÷áîéĺ> | -t <÷ňĺíń> | -c "
+#~ "<óéí÷ďěů> | -w <ďöéäáîéĺ> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr "éÎĆĎŇÍÁĂÉŃ finger ÉÚÍĹÎĹÎÁ.\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "ďŰÉÂËÁ ÚÁËŇŮÔÉŃ ĆÁĘĚÁ\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "ë ÓĎÖÁĚĹÎÉŔ ×Ů ÍĎÖĹÔĹ ÉÚÍĹÎÉÔŘ ôÜÇ ÎĹĐŐÓÔŮČ ŇÁÚÄĹĚĎ×.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚ %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ŇÁÚÄĹĚŮ %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "É ĐĹŇĹËŇŮ×ÁĹÔÓŃ Ó %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "ŐÓÔŇĎĘÓÔ×Ď: ŢÔĎ-ÔĎ ×ŇĎÄĹ /dev/hda ÉĚÉ /dev/sda"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "ÂÁĘÔŮ"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -l [ ÓÉÇÎÁĚ ]\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [ŐÓÔŇĎĘÓÔ×Á]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] ËĎÍÁÎÄŮ ŐÓÔŇĎĘÓÔ×ÁÍ\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "äĎÓÔŐĐÎŮĹ ËĎÍÁÎÄŮ:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ -n ] ŐÓÔŇĎĘÓÔ×Ď\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: ÎĹ ÂĚĎŢÎĎĹ ŐÓÔŇĎĘÓÔ×Ď\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: ĎŰÉÂËÁ ĐÁŇÓÉÎÇÁ ĎĐĂÉĘ\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-x] [-d <ÎĎÍĹŇ>] iso9660-ĎÂŇÁÚ\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-v] [-N ËĎĚ-×Ď_inode'Ď×] [-V ÉÍŃ_ÔĎÍÁ]\n"
+#~ " [-F ÉÍŃ_ĆÓ] ŐÓÔŇĎĘÓÔ×Ď [ŢÉÓĚĎ_ÂĚĎËĎ×]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ %s"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ŇÁÚÍĹŇ %s"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "ÓĎÚÄÁÎÉĹ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-c] [-v0|-v1] [-pPAGESZ] [-L ÍĹÔËÁ] /dev/ÉÍŃ [ÂĚĎËÉ]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "îĹ Č×ÁÔÁĹÔ ĐÁÍŃÔÉ"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ:\n"
+
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "íĹÎŔ ÂĹÚ ÎÁĐŇÁ×ĚĹÎÉŃ. đĎ ŐÍĎĚŢÁÎÉŔ ÉÓĐĎĚŘÚŐĹÔÓŃ ÇĎŇÉÚĎÎÔÁĚŘÎĎĹ."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "óÎÁŢÁĚÁ ×Ů ÄĎĚÖÎŮ ŐÄÁĚÉÔŘ ÎĹËĎÔĎŇŮĹ ŇÁÚÄĹĚŮ É ÄĎÂÁ×ÉÔŘ ŇÁÓŰÉŇĹÎÎŮĘ "
+#~ "ŇÁÚÄĹĚ\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "äĹĘÓÔ×ÉĹ ËĎÍÁÎÄŮ\n"
+#~ " %s\n"
+#~ " p ĎÓÎĎ×ÎĎĘ ŇÁÚÄĹĚ (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [ÉĚÉ --show-size]: ÓĐÉÓĎË ŇÁÚÍĹŇĎ× ŇÁÚÄĹĚĎ×"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [ÉĚÉ --id]: ×Ů×ĎÄ ÉĚÉ ÉÚÍĹÎĹÎÉĹ Id ŇÁÚÄĹĚÁ"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [ÉĚÉ --list]: ÓĐÉÓĎË ŇÁÚÄĹĚĎ× ËÁÖÄĎÇĎ ŐÓÔŇĎĘÓÔ×Á"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [ÉĚÉ --dump]: ÄÁÍĐ, ÎĎ × ĆĎŇÍÁÔĹ, ĐĎÄČĎÄŃÝĹÍ ÄĚŃ ÄÁĚŘÎĹĘŰĹÇĎ "
+#~ "××ĎÄÁ"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr " -i [ÉĚÉ --increment]: ŢÉÓĚĎ ĂÉĚÉÎÄŇĎ× É Ô.Ä. Ó 1, Á ÎĹ Ó 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: ĐŇÉĹÍ/ĎÔŢĹÔ × ĹÄÉÎÉĂÁČ ÓĹËÔĎŇŮ/ÂĚĎËÉ/ĂÉĚÉÎÄŇŮ/íâ"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [ÉĚÉ --list-types]:ÓĐÉÓĎË ÉÚ×ĹÓÔÎŮČ ÔÉĐĎ× ŇÁÚÄĹĚĎ×"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [ÉĚÉ --DOS]: ÄĚŃ DOS-ÓĎ×ÍĹÓÔÉÍĎÓÔÉ: ŇÁÓČĎÄŐĹÔÓŃ ÎĹÍÎĎÇĎ ÍĹÓÔÁ"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr " -R [ÉĚÉ --re-read]: ĐĹŇĹŢÉÔŮ×ÁÎÉĹ ŃÄŇĎÍ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : ÉÚÍĹÎĹÎÉĹ ÔĎĚŘËĎ ŇÁÚÄĹĚÁ Ó ÎĎÍĹŇĎÍ #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O ĆÁĘĚ : ÓĎČŇÁÎĹÎÉĹ × ĆÁĘĚ ÓĹËÔĎŇĎ×, ËĎÔĎŇŮĹ ÂŐÄŐÔ "
+#~ "ĐĹŇĹÚÁĐÉÓÁÎŮ"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I ĆÁĘĚ : ×ĎÓÓÔÁÎĎ×ĚĹÎÉĹ ÜÔÉČ ÓĹËÔĎŇĎ×"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [ÉĚÉ --version]: ×Ů×ĎÄ ÎĎÍĹŇÁ ×ĹŇÓÉÉ"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [ÉĚÉ --help]: ×Ů×ĎÄ ÜÔĎÇĎ ÓĎĎÂÝĹÎÉŃ"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr " -g [ÉĚÉ --show-geometry]: ×Ů×ĎÄ ÇĹĎÍĹÔŇÉÉ, ÔŇÁËÔŐĹÍĎĘ ŃÄŇĎÍ"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [ÉĚÉ --Linux]: ÉÇÎĎŇÉŇĎ×ÁÎÉĹ ×ĹÝĹĘ, ÎĹŐÍĹÓÔÎŮČ ÄĚŃ Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [ÉĚÉ --quiet]: ĐĎÄÁ×ĚĹÎÉĹ ĐŇĹÄŐĐŇĹÖÄÁŔÝÉČ ÓĎĎÂÝĹÎÉĘ"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr "÷Ů ÍĎÖĹÔĹ ĐĹŇĹËŇŮÔŘ ĎÂÎÁŇŐÖĹÎÎŐŔ ÇĹĎÍĹÔŇÉŔ, ÉÓĐĎĚŘÚŐŃ:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# [ÉĚÉ --cylinders #]:ŐÓÔÁÎĎ×ËÁ ŢÉÓĚÁ ÉÓĐĎĚŘÚŐĹÍŮČ ĂÉĚÉÎÄŇĎ×"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [ÉĚÉ --heads #]: ŐÓÔÁÎĎ×ËÁ ŢÉÓĚÁ ÉÓĐĎĚŘÚŐĹÍŮČ ÇĎĚĎ×ĎË"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [ÉĚÉ --sectors #]: ŐÓÔÁÎĎ×ËÁ ŢÉÓĚÁ ÉÓĐĎĚŘÚŐĹÍŮČ ÓĹËÔĎŇĎ×"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "÷Ů ÍĎÖĹÔĹ ĎÔËĚŔŢÉÔŘ ĐŇĎ×ĹŇËŐ ×ÓĹČ ĐŇĎÔÉ×ĎŇĹŢÉĘ:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [ÉĚÉ --force]: ×ŮĐĎĚÎŃÔŘ ÔĎ, ŢÔĎ Ń ÓËÁÖŐ, ÄÁÖĹ ĹÓĚÉ ÜÔĎ "
+#~ "ÇĚŐĐĎÓÔŘ"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: ×Ů ÄĎĚÖÎŮ ŐËÁÚÁÔŘ ÔÉĐ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: mkfs [-V] [-t ÔÉĐ_ĆÓ] [ĎĐĂÉÉ_ĆÓ] ŐÓÔŇĎĘÓÔ×Ď [ŇÁÚÍĹŇ]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s ÉÚ %s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ŇÁÚÍĹÓÔÉÔŘ ÂŐĆĹŇ ÄĚŃ inode'Ď×"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr ""
+#~ "đĎĐŇĎÂŐĘÔĹ `getopt --help' ÄĚŃ ĐĎĚŐŢĹÎÉŃ ÄĎĐĎĚÎÉÔĹĚŘÎĎĘ ÉÎĆĎŇÍÁĂÉÉ.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: getopt ÓÔŇĎËÁ_ĎĐĂÉĘ ĐÁŇÁÍĹÔŇŮ\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [ĎĐĂÉÉ] [--] ÓÔŇĎËÁ_ĎĐĂÉĘ ĐÁŇÁÍĹÔŇŮ\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " ĐÁŇÁÍĹÔŇŮ\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (ŐÓĎ×ĹŇŰĹÎÓÔ×Ď×ÁÎÎŮĘ) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(ďÖÉÄÁĚĎÓŘ: `UTC' ÉĚÉ `LOCAL' ÉĚÉ ÎÉŢĹÇĎ.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - ĎĐŇĎÓ É ŐÓÔÁÎĎ×ËÁ ÁĐĐÁŇÁÔÎŮČ ŢÁÓĎ× (RTC)\n"
+#~ "\n"
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: hwclock [ĆŐÎËĂÉŃ] [ĎĐĂÉÉ...]\n"
+#~ "\n"
+#~ "ćŐÎËĂÉÉ:\n"
+#~ " --help ×Ů×ĎÄ ÜÔĎĘ ÓĐŇÁ×ËÉ\n"
+#~ " --show ŢÔĹÎÉĹ ÁĐĐÁŇÁÔÎŮČ ŢÁÓĎ× É ×Ů×ĎÄ ŇĹÚŐĚŘÔÁÔÁ\n"
+#~ " --set ŐÓÔÁÎĎ×ËÁ ŢÁÓĎ× ÉÓÔÉÎÎĎÇĎ ×ŇĹÍĹÎÉ ÎÁ ×ŇĹÍŃ, ŐËÁÚÁÎÎĎĹ Ó --"
+#~ "date\n"
+#~ " --hctosys ŐÓÔÁÎĎ×ËÁ ÓÉÓÔĹÍÎĎÇĎ ×ŇĹÍĹÎÉ ĐĎ ÁĐĐÁŇÁÔÎŮÍ ŢÁÓÁÍ\n"
+#~ " --systohc ŐÓÔÁÎĎ×ËÁ ÁĐĐÁŇÁÔÎŮČ ŢÁÓĎ× ĐĎ ÔĹËŐÝĹÍŐ ÓÉÓÔĹÍÎĎÍŐ "
+#~ "×ŇĹÍĹÎÉ\n"
+#~ " --adjust ŇĹÇŐĚÉŇĎ×ËÁ ŢÁÓĎ× ÉÓÔÉÎÎĎÇĎ ×ŇĹÍĹÎÉ ÄĚŃ ×ŮŢÉÓĚĹÎÉŃ "
+#~ "ÓÉÓÔĹÍÁÔÉŢĹÓËĎÇĎ\n"
+#~ " ĎÔËĚĎÎĹÎÉŃ ĐĎÓĚĹ ĐĎÓĚĹÄÎĹĘ ŐÓÔÁÎĎ×ËÉ ÉĚÉ ŇĹÇŐĚÉŇĎ×ËÉ "
+#~ "ŢÁÓĎ×\n"
+#~ " --getepoch ×Ů×ĎÄ ÚÎÁŢĹÎÉŃ ×ĹËÁ ÁĐĐÁŇÁÔÎŮČ ŢÁÓĎ× ŃÄŇÁ\n"
+#~ " --setepoch ŐÓÔÁÎĎ×ËÁ ÚÎÁŢĹÎÉŃ ×ĹËÁ ÁĐĐÁŇÁÔÎŮČ ŢÁÓĎ× ŃÄŇÁ × "
+#~ "ÚÎÁŢĹÎÉĹ,\n"
+#~ " ŐËÁÚÁÎÎĎĹ Ó --epoch\n"
+#~ " --version ×Ů×ĎÄ ×ĹŇÓÉÉ hwclock ÎÁ ÓÔÁÎÄÁŇÔÎŮĘ ×ŮČĎÄ\n"
+#~ "\n"
+#~ "ďĐĂÉÉ: \n"
+#~ " --utc ÁĐĐÁŇÁÔÎŮĹ ŢÁÓŮ ×ŮÓÔÁ×ĚĹÎŮ ĐĎ ×ÓĹĎÂÝĹÍŐ "
+#~ "ÓËĎĎŇÄÉÎÉŇĎ×ÁÎÎĎÍŐ ×ŇĹÍĹÎÉ\n"
+#~ " --localtime ÁĐĐÁŇÁÔÎŮĹ ŢÁÓŮ ×ŮÓÔÁ×ĚĹÎŮ ĐĎ ÍĹÓÔÎĎÍŐ ×ŇĹÍĹÎÉ\n"
+#~ " --directisa ĐŇŃÍĎĘ ÄĎÓÔŐĐ Ë ŰÉÎĹ ISA ×ÍĹÓÔĎ %s\n"
+#~ " --badyear ÉÇÎĎŇÉŇĎ×ÁÔŘ ÇĎÄ ŢÁÓĎ× ÉÓÔÉÎÎĎÇĎ ×ŇĹÍĹÎÉ ÉÚ-ÚÁ "
+#~ "ĐĎ×ŇĹÖÄĹÎÎĎÇĎ bios'Á\n"
+#~ " --date ŐËÁÚÁÎÉĹ ×ŇĹÍĹÎÉ, ËĎÔĎŇĎĹ ÂŐÄĹÔ ŐÓÔÁÎĎ×ĚĹÎĎ × ÁĐĐÁŇÁÔÎŮĹ "
+#~ "ŢÁÓŮ\n"
+#~ " --epoch=ÇĎÄ ŐËÁÚÁÎÉĹ ÇĎÄÁ, Ó ËĎÔĎŇĎÇĎ ÎÁŢÉÎÁĹÔÓŃ ÚÎÁŢĹÎÉĹ\n"
+#~ " ÜŇŮ ÁĐĐÁŇÁÔÎŮČ ŢÁÓĎ×\n"
+#~ " --noadjfile ÂĹÚ ÉÓĐĎĚŘÚĎ×ÁÎÉŃ /etc/adjtime. ôŇĹÂŐĹÔ ÉÓĐĎĚŘÚĎ×ÁÎÉŃ\n"
+#~ " ĚÉÂĎ --utc, ĚÉÂĎ --localtime\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ×ŮĐĎĚÎÉÔŘ malloc ÄĚŃ ÓÔŇĎËÉ ÉÎÉĂÉÁĚÉÚÁĂÉÉ"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-hiLmw] [-l ĐŇĎÇŇÁÍÍÁ_×ČĎÄÁ] [-t ÔÁĘÍ-ÁŐÔ] [-I "
+#~ "ÓÔŇĎËÁ_ÉÎÉĂÉÁĚÉÚÁĂÉÉ] [-H ČĎÓÔ_ÄĚŃ_×ČĎÄÁ] ÓËĎŇĎÓÔŘ_ĐĹŇĹÄÁŢÉ,... ĐĎŇÔ "
+#~ "[ÔÉĐ_ÔĹŇÍÉÎÁĚÁ]\n"
+#~ "ÉĚÉ\t[-hiLmw] [-l ĐŇĎÇŇÁÍÍÁ_×ČĎÄÁ] [-t ÔÁĘÍ-ÁŐÔ] [-I "
+#~ "ÓÔŇĎËÁ_ÉÎÉĂÉÁĚÉÚÁĂÉÉ] [-H ČĎÓÔ_ÄĚŃ_×ČĎÄÁ] ĐĎŇÔ ÓËĎŇĎÓÔŘ_ĐĹŇĹÄÁŢÉ,... "
+#~ "[ÔÉĐ_ÔĹŇÍÉÎÁĚÁ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: mesg [Ä | Î]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: đěďčáń ďűéâëá"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĆÁĘĚ]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ %s.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: logger [-is] [-f ĆÁĘĚ] [-p ĐŇÉĎŇÉÔĹÔ] [-t ÔÜÇ] [-u ÓĎËĹÔ] "
+#~ "[ ÓĎĎÂÝĹÎÉĹ ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: look [-dfa] [-t ÓÉÍ×ĎĚ] ÓÔŇĎËÁ [ĆÁĘĚ]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ?\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "call: %s ÉÚ × ĆÁĘĚŮ...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: script [-a] [-f] [-q] [-t] [ĆÁĘĚ]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ ÎÁ %s\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ ÎÁ %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term ÉÍŃ_ÔĹŇÍÉÎÁĚÁ ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ ÁÔÔŇÉÂ ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#, fuzzy
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-ţéóěď_ëďîóďěĺę] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-ţéóěď_ëďîóďěĺę] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq ŢÁÓÔĎÔÁ ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: last [-#] [-f ĆÁĘĚ] [-t tty] [-h ÉÍŃ_ČĎÓÔÁ] "
+#~ "[ĐĎĚŘÚĎ×ÁÔĹĚŘ ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ ÓÉÇÎÁĚ ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĎĐĂÉÉ] ŐÓÔŇĎĘÓÔ×Ď...\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM ËÁÔÁĚĎÇ ... -f ] ÉÍŃ...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "usage: write ĐĎĚŘÚĎ×ÁÔĹĚŘ [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "ÎĹÉÚ×ĹÓÔÎŮĘ"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: shutdown [-h|-r] [-fqs] [now|hh:ss|+ÍÉÎŐÔŮ]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "đŇĎĂĹÓÓ ×ŮËĚŔŢĹÎÉŃ ĐŇĹŇ×ÁÎ"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: ôĎĚŘËĎ root ÍĎÖĹÔ ÚÁ×ĹŇŰÁÔŘ ŇÁÂĎÔŐ ÓÉÓÔĹÍŮ.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "üÔĎ ÄĎĚÖÎĎ ÂŮÔŘ ÚÁ×ÔŇÁ, ÓÍĎÖĹÔĹ ĚÉ ×Ů ÖÄÁÔŘ ÔÁË ÄĎĚÇĎ?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "ÄĚŃ ĎÂÓĚŐÖÉ×ÁÎÉŃ; ÎÁ ĆÉÇ, ÎÁ ĆÉÇ"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "óÉÓÔĹÍÁ ÚÁ×ĹŇŰÉÔ Ó×ĎŔ ŇÁÂĎÔŐ × ÔĹŢĹÎÉĹ 5 ÍÉÎŐÔ"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "óĚĹÄĎ×ÁÔĹĚŘÎĎ, ×ČĎÄ × ÓÉÓÔĹÍŐ ÚÁĐŇĹÝĹÎ."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "ĐĹŇĹÚÁÇŇŐÖĹÎ %s'ĎÍ: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "ĎÓÔÁÎĎ×ĚĹÎ %s'ĎÍ: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "đĎŢĹÍŐ Ń ×ÓĹ ĹÝĹ ÖÉ× ĐĎÓĚĹ ĐĹŇĹÚÁÇŇŐÚËÉ?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "ôĹĐĹŇŘ ×Ů ÍĎÖĹÔĹ ×ŮËĚŔŢÉÔŘ ĐÉÔÁÎÉĹ..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "÷ŮÚŮ×ÁĹÔÓŃ ÓŇĹÄÓÔ×Ď ŃÄŇÁ ÄĚŃ ×ŮËĚŔŢĹÎÉŃ ĐÉÔÁÎÉŃ...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "ďŰÉÂËÁ ×ŮËĚŔŢĹÎÉŃ ĐÉÔÁÎÉŃ\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "÷ŮĐĎĚÎĹÎÉĹ ĐŇĎÇŇÁÍÍŮ \"%s\" ...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "ďŰÉÂËÁ ×ŮĐĎĚÎĹÎÉŃ\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "óňďţîď: ŰÉŇĎËĎ×ĹÝÁÔĹĚŘÎĎĹ ÓĎĎÂÝĹÎÉĹ ĎÔ %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "óÉÓÔĹÍÁ ÚÁ×ĹŇŰÉÔ Ó×ĎŔ ŇÁÂĎÔŐ ŢĹŇĹÚ %d ŢÁÓĎ× %d ÍÉÎŐÔ"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "óÉÓÔĹÍÁ ÚÁ×ĹŇŰÉÔ Ó×ĎŔ ŇÁÂĎÔŐ ŢĹŇĹÚ 1 ŢÁÓ %d ÍÉÎŐÔ"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "óÉÓÔĹÍÁ ÚÁ×ĹŇŰÉÔ Ó×ĎŔ ŇÁÂĎÔŐ ŢĹŇĹÚ %d ÍÉÎŐÔ\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "óÉÓÔĹÍÁ ÚÁ×ĹŇŰÉÔ Ó×ĎŔ ŇÁÂĎÔŐ ŢĹŇĹÚ 1 ÍÉÎŐÔŐ\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "óÉÓÔĹÍÁ ÚÁ×ĹŇŰÁĹÔ Ó×ĎŔ ŇÁÂĎÔŐ îĺíĺäěĺîîď!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ ÄĚŃ swapoff. éÇÎĎŇÉŇŐĹÔÓŃ!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮĐĎĚÎÉÔŘ swapoff, ÎÁÄĹŔÓŘ, ŢÔĎ umount ÓĐŇÁ×ÉÔÓŃ Ó ÜÔÉÍ."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ ÄĚŃ umount, ĐŮÔÁŔÓŘ ×ŇŐŢÎŐŔ."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮĐĎĚÎÉÔŘ %s, ĐŮÔÁŔÓŘ umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮĐĎĚÎÉÔŘ umount, ÓÄÁŔÓŘ ĐĹŇĹÄ umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "ňÁÚÍĎÎÔÉŇŐŔÔÓŃ ×ÓĹ ĎÓÔÁ×ŰÉĹÓŃ ĆÁĘĚĎ×ŮĹ ÓÉÓÔĹÍŮ..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: îĹ×ĎÚÍĎÖÎĎ ŇÁÚÍĎÎÔÉŇĎ×ÁÔŘ %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "÷ŮĐĎĚÎŃĹÔÓŃ ÚÁÇŇŐÚËÁ × ĎÄÎĎĐĎĚŘÚĎ×ÁÔĹĚŘÓËĎÍ ŇĹÖÉÍĹ.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "×ŮĐĎĚÎĹÎÉĹ ĎÄÎĎĐĎĚŘÚĎ×ÁÔĹĚŘÓËĎÇĎ ŰĹĚĚÁ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr ""
+#~ "ÓĎÚÄÁÎÉĹ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ ĎÄÎĎĐĎĚŘÚĎ×ÁÔĹĚŘÓËĎÇĎ ŰĹĚĚÁ ÚÁ×ĹŇŰÉĚĎÓŘ "
+#~ "ÎĹŐÄÁŢĹĘ\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "ĎŰÉÂËÁ ĎÔËŇŮÔÉŃ fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "ĎŰÉÂËÁ ŐÓÔÁÎĎ×ËÉ close-on-exec ÎÁ /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "ĎŰÉÂËÁ ÚÁĐŐÓËÁ finalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "ĎŰÉÂËÁ ÓĎÚÄÁÎÉŃ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "îĹ×ĹŇÎŮĘ ĐÁŇĎĚŘ.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "lstat ĐŐÔÉ ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "ÓĎÚÄÁÎÉĹ ÄĎŢĹŇÎĹÇĎ ĐŇĎĂĹÓÓÁ ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "ÎĹÔ TERM ÉĚÉ ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ tty\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "ĎŰÉÂËÁ ĎÓÔÁÎĎ×ËÉ ÓĹŇ×ÉÓÁ: \"%s\""
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "ĎŰÉÂËÁ ĎÓÔÁÎĎ×ËÉ ÓĹŇ×ÉÓÁ: \"%s\""
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "ĎŰÉÂËÁ ĎÓÔÁÎĎ×ËÉ ÓĹŇ×ÉÓÁ: \"%s\""
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-c] [-n ŐŇĎ×ĹÎŘ] [-s ŇÁÚÍ_ÂŐĆĹŇÁ]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "ďÔËŇŮÔÉĹ %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "malloc ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: col [-bfpx] [-l ËĎĚ-×Ď_ÓÔŇĎË]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ - ] [ -2 ] [ ĆÁĘĚ ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e ÓÔŇĎËÁ_ĆĎŇÍÁÔÁ] [-f ĆÁĘĚ_ĆĎŇÍÁÔÁ] [-n ÄĚÉÎÁ] [-s "
+#~ "ĐŇĎĐŐÓË] [ĆÁĘĚ ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr ""
+#~ "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-dflpcsu] [+ÎĎÍĹŇ_ÓÔŇĎËÉ | +/ŰÁÂĚĎÎ] ÉÍŃ1 ÉÍŃ2 ...\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: ÓÔŇĎËÁ ÓĚÉŰËĎÍ ÄĚÉÎÎÁŃ.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ĆÁĘĚ]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "malloc ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "ÓĐĎĚŘÚĎ×ÁÎÉĹ: tailf log-ĆÁĘĚ\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [ -i ] [ -t ÔĹŇÍÉÎÁĚ ] ĆÁĘĚ...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ĹÝĹ ĐÁÍŃÔÉ\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ÔŇÉÖÄŮ ĐĎĚŐŢĹÎ EOF - ÚÁ×ĹŇŰĹÎÉĹ ŇÁÂĎÔŮ...\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: malloc ÚÁ×ĹŇŰÉĚÓŃ ÎĹŐÄÁŢĹĘ.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: îĹČ×ÁÔËÁ ĐÁÍŃÔÉ\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "îĹÔ ËÁÔÁĚĎÇÁ %s!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: ÎĹÔ ĐÁÍŃÔÉ ÄĚŃ ŰĹĚĚ-ÓËŇÉĐÔÁ.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: ÎĹÔ ŰĹĚĚÁ: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: äĎÓÔŐĐ ÚÁĐŇĹÝĹÎ"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: îĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ %s.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ×ŇĹÍĹÎÎĎÇĎ ĆÁĘĚÁ.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ ×ŇĹÍĹÎÎŮĘ ĆÁĘĚ.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "ĎŰÉÂËÁ ÚÁĐÉÓÉ ÎÁ %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "ĎŰÉÂËÁ ĐĎÉÓËÁ"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " É "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: ÎĹÉÚ×ĹÓÔÎŮĘ ĐĎĚŘÚĎ×ÁÔĹĚŘ\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: ÎĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) ËŇÁĘÎĹ ÎĹ ŇĹËĎÍĹÎÄŐĹÔÓŃ ÄĚŃ hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: ÓĎ×ÍĹÓÔÉÍĎÓÔŘ hexdump(1) ÎĹ ĐĎÄÄĹŇÖÉ×ÁĹÔ -%c ĎĐĂÉŔ %s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; ÓÍĎÔŇÉ strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "ňÁÚÄĹĚ ÚÁËÁÎŢÉ×ÁĹÔÓŃ ÎÁ ĐĎÓĚĹÄÎĹÍ ĂÉĚÉÎÄŇĹ ŇÁÚÄĹĚÁ"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "ďÔËŇŮÔÉĹ %s ÚÁ×ĹŇŰÉĚĎÓŘ ÎĹŐÄÁŢĹĘ"
+
+#, fuzzy
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: ÎĹ×ĹŇÎŮĘ ËĚŔŢ (%s)\n"
+
+#, fuzzy
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: ÎĹ×ĹŇÎÁŃ ĎĐĂÉŃ -- %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐĹŇĹÉÍĹÎĎ×ÁÔŘ %s × %s: %s\n"
+
+#, fuzzy
+#~ msgid "rtc read"
+#~ msgstr ", ÇĎÔĎ×"
+
+#~ msgid "malloc error"
+#~ msgstr "ĎŰÉÂËÁ malloc"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: column [-tx] [-c ÓÔĎĚÂĂŮ] [ĆÁĘĚ ...]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "îĹ Č×ÁÔÁĹÔ ĐÁÍŃÔÉ"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇÎĎĹ ĐŇĎÓÔŇÁÎÓÔ×Ď\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: rev [ĆÁĘĚ ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ×ŮÄĹĚÉÔŘ ÂŐĆĹŇ.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "îĹ Č×ÁÔÁĹÔ ĐÁÍŃÔÉ ĐŇÉ Ő×ĹĚÉŢĹÎÉÉ ÂŐĆĹŇÁ.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: ÎĹ×ĹŇÎÁŃ ĎĐĂÉŃ -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "×ŮÄĹĚĹÎĎ ÓĹÇÍĹÎÔĎ× %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "×ŮÄĹĚĹÎĎ ÓÔŇÁÎÉĂ %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "ŇĹÚÉÄĹÎÔÎŮČ ÓÔŇÁÎÉĂ %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "ÓÔŇÁÎÉĂ Ó×ĎĐÁ %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "đŇĎÉÚ×ĎÄÉÔĹĚŘÎĎÓÔŘ Ó×ĎĐÁ: %ld ĐĎĐŮÔĎË \t %ld ŐÓĐĹČĎ×\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "ĎŰÉÂËÁ ÚÁĐŐÓËÁ finalprog\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "îĹ×ĹŇÎĎĹ ÚÎÁŢĹÎÉĹ ŐÓÔÁÎĎ×ËÉ: %s\n"
+
+#, fuzzy
+#~ msgid "current"
+#~ msgstr "ncount"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "îĎ×ŮĘ"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: fdisk [-b SSZ] [-u] äéóë éÚÍĹÎĹÎÉĹ ÔÁÂĚÉĂŮ ŇÁÚÄĹĚĎ×\n"
+#~ " fdisk -l [-b SSZ] [-u] äéóë óĐÉÓĎË ÔÁÂĚÉĂ(Ů) ŇÁÚÄĹĚĎ×\n"
+#~ " fdisk -s ňáúäĺě ÷Ů×ĎÄ ŇÁÚÍĹŇÁ(Ď×) ŇÁÚÄĹĚÁ × "
+#~ "ÂĚĎËÁČ\n"
+#~ " fdisk -v ÷Ů×ĎÄ ×ĹŇÓÉÉ fdisk\n"
+#~ "úÄĹÓŘ äéóë - ŢÔĎ-ÔĎ ×ŇĎÄĹ /dev/hdb ÉĚÉ /dev/sda,\n"
+#~ "Á ňáúäĺě - ŢÔĎ-ÔĎ ×ŇĎÄĹ /dev/hda7\n"
+#~ "-u: ĎĐŇĹÄĹĚŃĹÔ îÁŢÁĚĎ É ëĎÎĹĂ × ĹÄÉÎÉĂÁČ ÓĹËÔĎŇÁ (×ÍĹÓÔĎ ĂÉĚÉÎÄŇÁ)\n"
+#~ "-b 2048: (ÄĚŃ ÎĹËĎÔĎŇŮČ MO-ÄÉÓËĎ×) ÉÓĐĎĚŘÚĎ×ÁÎÉĹ 2048-ÂÁĘÔĎ×ŮČ ÓĹËÔĎŇĎ×\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "éÓĐĎĚŘÚĎ×ÁÎÉĹ: fdisk [-l] [-b SSZ] [-u] ŐÓÔŇĎĘÓÔ×Ď\n"
+#~ "îÁĐŇ.: fdisk /dev/hda (ÄĚŃ ĐĹŇ×ĎÇĎ IDE-ÄÉÓËÁ)\n"
+#~ " ÉĚÉ: fdisk /dev/sdc (ÄĚŃ ÔŇĹÔŘĹÇĎ SCSI-ÄÉÓËÁ)\n"
+#~ " ÉĚÉ: fdisk /dev/eda (ÄĚŃ ĐĹŇ×ĎÇĎ PS/2 ESDI-ÄÉÓËÁ)\n"
+#~ " ÉĚÉ: fdisk /dev/rd/c0d0 ÉĚÉ: fdisk /dev/ida/c0d0 (ÄĚŃ RAID-"
+#~ "ŐÓÔŇĎĘÓÔ×)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ëĎĚÉŢĹÓÔ×Ď ĂÉĚÉÎÄŇĎ× ÄĚŃ ÜÔĎÇĎ ÄÉÓËÁ ŐÓÔÁÎĎ×ĚĹÎĎ × %d.\n"
+#~ "ó ÜÔÉÍ ×ÓĹ × ĐĎŇŃÄËĹ, ÎĎ ÚÎÁŢĹÎÉĹ ÂĎĚŘŰĹ, ŢĹÍ 1024,\n"
+#~ "É × ĎÔÄĹĚŘÎŮČ ŐÓÔÁÎĎ×ËÁČ ÍĎÇŐÔ ×ĎÚÎÉËÎŐÔŘ ĐŇĎÂĚĹÍŮ Ó:\n"
+#~ "1) ĐŇĎÇŇÁÍÍÁÍÉ, ÚÁĐŐÓËÁĹÍŮÍ ĐŇÉ ÚÁÇŇŐÚËĹ (ÎÁĐŇ., ÓÔÁŇŮĹ ×ĹŇÓÉÉ LILO)\n"
+#~ "2) ÚÁÇŇŐÚËĎĘ É ĐŇĎÇŇÁÍÍÁÍÉ ŇÁÚÍĹÔËÉ ÉÚ ÄŇŐÇÉČ ďó\n"
+#~ " (ÎÁĐŇ., DOS FDISK, OS/2 FDISK)\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: %s ÎĹ ÎÁĘÄĹÎ - ÓĎÚÄÁĹÔÓŃ...\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h ÄĚŃ ÓĐŇÁ×ËÉ.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "óĐĹĂÉĆÉËÁĂÉŃ ŇĹÓŐŇÓÁ:\n"
+#~ "\t-m : ÓĎ×Í_ÉÓĐ_ĐÁÍŃÔŘ\n"
+#~ "\t-q : ÓĎĎÂÝĹÎÉŃ\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : ÓĹÍÁĆĎŇŮ\n"
+#~ "\t-a : ×ÓĹ (ĐĎ ŐÍĎĚŢÁÎÉŔ)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "ćĎŇÍÁÔ ×ŮČĎÄÎŮČ ÄÁÎÎŮČ:\n"
+#~ "\t-t : ×ŇĹÍŃ\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : ÓĎÚÄÁÔĹĚŘ\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : ĐŇĹÄĹĚŮ\n"
+#~ "\t-u : Ó×ĎÄËÁ\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "ďŰÉÂËÁ RE: "
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "ĎŰÉÂËÁ ŢÔĹÎÉŃ %s\n"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr ""
+#~ "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: rdev [ -rv ] [ -o óíĺýĺîéĺ ] [ ďâňáú [ úîáţĺîéĺ "
+#~ "[ óíĺýĺîéĺ ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (ÉĚÉ rdev /linux É Ô.Ä.) ĎÔĎÂŇÁÖÁĹÔ ÔĹËŐÝĹĹ ŐÓÔŇĎĘÓÔ×Ď "
+#~ "ROOT"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 ŐÓÔÁÎÁ×ĚÉ×ÁĹÔ ROOT × /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 ŐÓÔÁÎĎ×ËÁ ROOTFLAGS (ÓÔÁÔŐÓ ÔĎĚŘËĎ ÄĚŃ "
+#~ "ŢÔĹÎÉŃ)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 ŐÓÔÁÎĎ×ËÁ ŇÁÚÍĹŇÁ RAMDISK"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/fd0 1 ŐÓÔÁÎĎ×ËÁ VIDEOMODE ÚÁĐŐÓËÁ"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... ÉÓĐĎĚŘÚĎ×ÁÎÉĹ ÓÍĹÝĹÎÉŃ ÂÁĘÔĎ× N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... ÔĎ ÖĹ, ŢÔĎ É rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... ÔĎ ÖĹ, ŢÔĎ É rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... ÔĎ ÖĹ, ŢÔĎ É rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "đŇÉÍĹŢÁÎÉĹ: ×ÉÄĹĎŇĹÖÉÍŮ: -3=óĐŇĎÓÉÔŘ, -2=ňÁÓŰÉŇĹÎÎŮĘ, -1=ďÂŮŢÎŮĘ Vga, "
+#~ "1=ËĚŔŢ1, 2=ËĚŔŢ2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " ÉÓĐĎĚŘÚŐĘÔĹ -R 1 ÄĚŃ ÍĎÎÔÉŇĎ×ÁÎÉŃ ËĎŇÎĹ×ĎÇĎ ËÁÔÁĚĎÇÁ ÔĎĚŘËĎ ÄĚŃ "
+#~ "ŢÔĹÎÉŃ, -R 0 ÄĚŃ ŢÔĹÎÉŃ/ÚÁĐÉÓÉ."
+
+#~ msgid "missing comma"
+#~ msgstr "ĎÔÓŐÔÓÔ×ŐĹÔ ÚÁĐŃÔÁŃ"
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "ÎĹČ×ÁÔËÁ ĐÁÍŃÔÉ"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "%lld ÎĹÚÁÎŃÔŮČ ÓĹËÔĎŇĎ×\n"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "ÎÁŢÁĚĎ"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "íÁËÓ. ŇÁÚÍĹŇ=%ld\n"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX ÚÁÇŇŐÚĎŢÎŮĘ"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "űĹĚĚ ÎĹ ÉÚÍĹÎŁÎ.\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: ĎŰÉÂËÁ: ÍĹÔËÁ ÔĎĚŘËĎ ÎÁ Ó×ĎĐ-ĐŇĎÓÔŇÁÎÓÔ×Ĺ v1\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "ČŇĹÎĎ×Ď: ĐĹŇ×ÁŃ ÓÔŇÁÎÉĂÁ ÎĹŢÉÔÁÂĹĚŘÎÁ"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: őÓÔŇĎĘÓÔ×Ď '%s' ÓĎÄĹŇÖÉÔ ×ĹŇÎŐŔ ÍĹÔËŐ ÄÉÓËÁ Sun.\n"
+#~ "÷ĎÚÍĎÖÎĎ, ÜÔĎ ĎÚÎÁŢÁĹÔ, ŢÔĎ ÓĎÚÄÁÎÉĹ Ó×ĎĐÁ v0 ŇÁÚŇŐŰÉÔ ×ÁŰŐ ÔÁÂĚÉĂŐ\n"
+#~ "ŇÁÚÄĹĚĎ×. ó×ĎĐ ÎĹ ÓĎÚÄÁÎ. ĺÓĚÉ ×Ů ÄĹĘÓÔ×ÉÔĹĚŘÎĎ ČĎÔÉÔĹ ÓĎÚÄÁÔŘ Ó×ĎĐ v0\n"
+#~ "ÎÁ ÜÔĎÍ ŐÓÔŇĎĘÓÔ×Ĺ, ÉÓĐĎĚŘÚŐĘÔĹ ĎĐĂÉŔ -f ÄĚŃ ĐŇÉÎŐÄÉÔĹĚŘÎĎÇĎ ÓĎÚÄÁÎÉŃ.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: ÎĹ×ĎÚÍĎÖÎĎ ÓÍĹÎÉÔŘ ËÁÔÁĚĎÇ ÎÁ ËĎŇÎĹ×ĎĘ!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: ÎĹ×ĎÚÍĎÖÎĎ ĎĐŇĹÄĹĚÉÔŘ ÓĎÓÔĎŃÎÉĹ ËĎŇÎĹ×ĎÇĎ ËÁÔÁĚĎÇÁ!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: ĐĹŇĹĐĎĚÎĹÎÉĹ ÂŐĆĹŇÁ\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? ÎĹ×ĎÚÍĎÖÎĎ ÓÍĹÎÉÔŘ ËÁÔÁĚĎÇ ÎÁ %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? ĐŇĎÂĚĹÍŮ ĐŇÉ ŢÔĹÎÉÉ ÓÉÍ×ĎĚÉŢĹÓËĎĘ ÓÓŮĚËÉ %s - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** đňĺ÷ůűĺî đňĺäĺě UNIX äěń óéí÷ďěéţĺóëéč óóůěďë ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: ÎĹÉÚ×ĹÓÔÎŮĘ ÔÉĐ ĆÁĘĚÁ 0%06o × ĆÁĘĚĹ %s\n"
+
+#, fuzzy
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: ÂŐÄĹÔ ×ŮĐĎĚÎĹÎĎ ÍĎÎÔÉŇĎ×ÁÎÉĹ %s ÓĎÇĚÁÓÎĎ UUID\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: ÂŐÄĹÔ ×ŮĐĎĚÎĹÎĎ ÍĎÎÔÉŇĎ×ÁÎÉĹ %s ÓĎÇĚÁÓÎĎ ÍĹÔËÉ\n"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: îĹ×ĎÚÍĎÖÎĎ ÓĎÚÄÁÔŘ ÄĎŢĹŇÎÉĘ ĐŇĎĂĹÓÓ\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ : %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr ""
+#~ "ÎĹ×ĎÚÍĎÖÎĎ ŇÁÚÍĎÎÔÉŇĎ×ÁÔŘ %s - ×ÍĹÓÔĎ ÜÔĎÇĎ ×ŮĐĎĚÎŃĹÔÓŃ ĐĎĐŮÔËÁ %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#, fuzzy
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "login: ÓÂĎĘ PAM, ×ŮĐĎĚÎŃĹÔÓŃ ĐŇĹŇŮ×ÁÎÉĹ: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "îĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ %s, ÚÁ×ĹŇŰĹÎÉĹ ŇÁÂĎÔŮ."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: ÓÂĎĘ PAM, ×ŮĐĎĚÎŃĹÔÓŃ ĐŇĹŇŮ×ÁÎÉĹ: %s\n"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: ĆĎÎĎ×ÁŃ ĎÂŇÁÂĎÔËÁ \"%s\"\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: ÓÄÁŔÓŘ \"%s\"\n"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "`%s': ÎĹ×ĹŇÎŮĘ ËÁÔÁĚĎÇ: '.' ÎĹ ĐĹŇ×ŮĘ\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "`%s': ÎĹ×ĹŇÎŮĘ ËÁÔÁĚĎÇ: '..' ÎĹ ×ÔĎŇĎĘ\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "×ŮÚŮ×ÁĹÔÓŃ open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "×ŮÚŮ×ÁĹÔÓŃ termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "ÚÁĐÉÓŮ×ÁĹÔÓŃ ÓÔŇĎËÁ ÉÎÉĂÉÁĚÉÚÁĂÉÉ\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "ĐĹŇĹÄ autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "ĎÖÉÄÁĹÔÓŃ cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "ŢÉÔÁĹÔÓŃ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "ĐĎÓĚĹ ĂÉËĚÁ getopt\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "×ŮČĎÄ ÉÚ parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "×ŮĐĎĚÎĹÎ ×ČĎÄ × parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "×ŮČĎÄ ÉÚ parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "×ŮĐĎĚÎŃĹÔÓŃ ÄŐÂĚÉŇĎ×ÁÎÉĹ\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "ďŰÉÂËÁ ĐÁŇĎĚŃ."
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: \"%s\" ĎÔÓŐÔÓÔ×ŐĹÔ × ÓĐÉÓËĹ /etc/shells\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "ÔÁĘÍ-ÁŐÔ = %d, ÍĎĚŢÁÎÉĹ = %d, ĐĹŇĹÚÁÇŇŐÚËÁ = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "ÎĹ×ĎÚÍĎÖÎĎ ĐŇĎŢÉÔÁÔŘ %s, É ÎĹ×ĎÚÍĎÖÎĎ ÓÄĹĚÁÔŘ ÄÁÍĐ ioctl\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", ÓÍĹÝĹÎÉĹ %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ÎÁĘÔÉ ÎÉ ĎÄÎĎÇĎ ŐÓÔŇĎĘÓÔ×Á /dev/loop#"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p ĐŇÉĎŇÉÔĹÔ] ÓĐĹĂÉÁĚŘÎŮĘ|LABEL=ÉÍŃ_ÔĎÍÁ ...\n"
+#~ " %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] ÓĐĹĂÉÁĚŘÎŮĘ ...\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "ÉÓĐĎĚŘÚĎ×ÁÎÉĹ: renice ĐŇÉĎŇÉÔĹÔ [ [ -p ] pid'Ů ] [ [ -g ] pgrp'Ů ] [ [ -"
+#~ "u ] ĐĎĚŘÚĎ×ÁÔĹĚÉ ]\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: ÎĹÉÚ×ĹÓÔÎÁŃ ĎĐĂÉŃ \"-%c\"\n"
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES. Raise this value in mkcramfs.c and recompile. "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "đŇĹ×ŮŰĹÎ MAXENTRIES. ő×ĹĚÉŢŘÔĹ ÜÔĎ ÚÎÁŢĹÎÉĹ × mkcramfs.c É "
+#~ "ĐĹŇĹËĎÍĐÉĚÉŇŐĘÔĹ. úÁ×ĹŇŰĹÎÉĹ ŇÁÂĎÔŮ.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "đĎÄŇÁÚŐÍĹ×ÁĹÍŮĘ ŇÁÚÍĹŇ ÓÔŇÁÎÉĂ %d (ÎĹ %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "á×ÔĎËĎÎĆÉÇŐŇÁĂÉŃ ÎÁŰĚÁ %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "ôÉĐ ÄÉÓËÁ\n"
+#~ " ? Á×ÔĎÍÁÔÉŢĹÓËÁŃ ËĎÎĆÉÇŐŇÁĂÉŃ\n"
+#~ " 0 ×ŮÂĎŇĎŢÎŮĘ (ÓĎ ÚÎÁŢĹÎÉŃÍÉ ĐĎ ŐÍĎĚŢÁÎÉŔ ÄĚŃ ĎÂÎÁŇŐÖĹÎÎĎÇĎ "
+#~ "ĎÂĎŇŐÄĎ×ÁÎÉŃ)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "÷ŮÂĹŇÉÔĹ ÔÉĐ (? - Á×ÔĎ, 0 - ×ŮÂĎŇĎŢÎŮĘ): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "áĚŘÔĹŇÎÁÔÉ×ÎŮĹ ĂÉĚÉÎÄŇŮ"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "ćÉÚÉŢĹÓËÉĹ ĂÉĚÉÎÄŇŮ"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "÷Ů ÍĎÖĹÔĹ ÉÚÍĹÎÉÔŘ ×ÓĹ ĐÁŇÁÍĹÔŇŮ ÄÉÓËÁ ÉÚ ÍĹÎŔ x"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" ÄÉÓË"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux ÚÁËÁÚÎĎĘ"
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s ÉÚ util-linux-%s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: ĎŰÉÂËÁ: ÍĹÔËÁ %s ×ÓÔŇĹŢÁĹÔÓŃ × %s É %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: ÎĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s, ĐĎÜÔĎÍŐ ĐŇĹĎÂŇÁÚĎ×ÁÎÉĹ UUID É íĺôëé ÎĹ ÍĎÖĹÔ "
+#~ "ÂŮÔŘ ×ŮĐĎĚÎĹÎĎ.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: ÎĹ×ĹŇÎŮĘ UUID"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: ÓÂĎĘ ÍĎÎÔÉŇĎ×ÁÎÉŃ nfs ×ĹŇÓÉÉ 4, ĐŇĎÂŐĹÔÓŃ 3..\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: ÍĎÎÔÉŇŐĹÔÓŃ %s\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: ĎŰÉÂËÁ ĎĐŇĹÄĹĚĹÎÉŃ ĐŇĹÄĐĎĚÁÇÁĹÍĎÇĎ ÔÉĐÁ ĆÁĘĚĎ×ĎĘ ÓÉÓÔĹÍŮ\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: ŢŇĹÚ×ŮŢÁĘÎĎ ÄĚÉÎÎŮĘ ÁŇÇŐÍĹÎÔ host:dir\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr ""
+#~ "mount: ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ: ÍÎĎÇĎËŇÁÔÎŮĹ ÉÍĹÎÁ ČĎÓÔĎ× ÎĹ ĐĎÄÄĹŇÖÉ×ÁŔÔÓŃ\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: ËÁÔÁĚĎÇ ÄĚŃ ÍĎÎÔÉŇĎ×ÁÎÉŃ ÎĹ × ĆĎŇÍÁÔĹ host:dir\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÁÄŇĹÓ ÄĚŃ %s\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: ĐĎĚŐŢĹÎ ÎĹ×ĹŇÎŮĘ hp->h_length\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: ŢŇĹÚ×ŮŢÁĘÎĎ ÄĚÉÎÎŮĘ ÁŇÇŐÍĹÎÔ ĎĐĂÉÉ\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: îĹŇÁÓĐĎÚÎÁÎÎÁŃ ĎĐĂÉŃ proto= .\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Warning: ďĐĂÉŃ namlen ÎĹ ĐĎÄÄĹŇÖÉ×ÁĹÔÓŃ.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "ÎĹÉÚ×ĹÓÔÎŮĘ ĐÁŇÁÍĹÔŇ ÍĎÎÔÉŇĎ×ÁÎÉŃ nfs: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: ĎĐĂÉŃ nolock ÎĹ ĐĎÄÄĹŇÖÉ×ÁĹÔÓŃ.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "ÎĹÉÚ×ĹÓÔÎÁŃ ĎĐĂÉŃ ÍĎÎÔÉŇĎ×ÁÎÉŃ nfs: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: ĐĎĚŐŢĹÎ ÎĹ×ĹŇÎŮĘ hp->h_length?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "ÓĹŇ×ĹŇ nfs ÓĎĎÂÝÉĚ, ŢÔĎ ÓĹŇ×ÉÓ ÎĹÄĎÓÔŐĐĹÎ"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "ÄĚŃ ÎÁČĎÖÄĹÎÉŃ ĐĎŇÔÁ NFS ÉÓĐĎĚŘÚŐĹÔÓŃ portmapper\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "ÄĚŃ ÄĹÍĎÎÁ nfs ÉÓĐĎĚŘÚŐĹÔÓŃ ĐĎŇÔ %d\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "ÎĹÉÚ×ĹÓÔÎĎĹ ×ĎÚ×ŇÁÝÁĹÍĎĹ ÚÎÁŢĹÎÉĹ ÓĎÓÔĎŃÎÉŃ nfs: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "ČĎÓÔ: %s, ËÁÔÁĚĎÇ: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: ÎĹ×ĎÚÍĎÖÎĎ ĐĎĚŐŢÉÔŘ ÁÄŇĹÓ ÄĚŃ %s\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: ĐĎĚŐŢĹÎ ÎĹ×ĹŇÎŮĘ hostp->h_length\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: ÎĹ×ĹŇÎŮĘ cramfs - ĎŰÉÂĎŢÎÁŃ ÄĚÉÎÁ ĐŐÔÉ\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: ÎĹ×ĹŇÎŮĘ cramfs - ĎŰÉÂĎŢÎŮĘ magic\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr ""
+#~ "%s: ĐŇĹÄŐĐŇĹÖÄĹÎÉĹ - ŇÁÚÍĹŇ ĆÁĘĚÁ ÓĚÉŰËĎÍ ×ĹĚÉË. ŇÁÚÄŐ×ŰÉĘÓŃ ĎÂŇÁÚ?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: ÎĹ×ĹŇÎŮĘ cramfs - ĎŰÉÂËÁ crc\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: ÎĹ×ĹŇÎŮĘ cramfs - ĎŰÉÂĎŢÎŮĘ ÓŐĐĹŇÂĚĎË\n"
diff --git a/po/sl.gmo b/po/sl.gmo
new file mode 100644
index 0000000..6e614c0
--- /dev/null
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
new file mode 100644
index 0000000..df55d46
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,18076 @@
+# -*- mode: po -*- Slovenian translation for util-linux package.
+# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# Primoľ Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2002, 2003.
+# Simon Mihevc <simonmihevc@volja.net>, 2005, 2006
+# $Id: util-linux-2.13-pre6.sl.po,v 1.3 2006/03/04 19:29:34 peterlin Exp $
+#
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.13-pre6\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2006-03-05 12:29+0200\n"
+"Last-Translator: Simon Mihevc <simonmihevc@email.si>\n"
+"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "ni mogoče odpreti %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "neveljaven id"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "neveljaven id"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "neveljaven id"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "ponovno preberi tabelo razdelkov"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "nastavi samo za branje"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "nastavi za pisanje in branje"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "preberi samo za branje"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+#, fuzzy
+msgid "get logical block (sector) size"
+msgstr "preberi velikost sektorja"
+
+#: disk-utils/blockdev.c:93
+#, fuzzy
+msgid "get physical block (sector) size"
+msgstr "preberi velikost sektorja"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "slaba velikost inoda"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "Dodatni sektorji na stezo"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "preberi velikost bloka"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "nastavi velikost bloka"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "preberi 32-bitno ątevilo sektorjev"
+
+#: disk-utils/blockdev.c:142
+#, fuzzy
+msgid "get size in bytes"
+msgstr "preberi velikost(v bajtih)"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "nastavi branje-vnaprej"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "preberi branje-vnaprej"
+
+#: disk-utils/blockdev.c:162
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "nastavi branje-vnaprej"
+
+#: disk-utils/blockdev.c:168
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "preberi branje-vnaprej"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "izprazni medpomnilnike"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "ponovno preberi tabelo razdelkov"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "preberi velikost(v bajtih)"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, fuzzy, c-format
+msgid "%s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Velikosti diskovne steze ni mogoče prebrati"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Neznan ukaz: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s zahteva argument\n"
+
+#: disk-utils/blockdev.c:370
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "iskanje je bilo neuspeąno"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s je uspelo.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: napaka ioctl na %s\n"
+
+#: disk-utils/blockdev.c:469
+#, fuzzy, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr ""
+"samo za branje branje-vnaprej velikost sektorja velikost bloka "
+"začetni sektor velikost Naprava\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "uporaba: sfdisk --id naprava ąt. razdelka [Id]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "ponovno preberi tabelo razdelkov"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "uporaba:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s ni bločna enota oz. datoteka\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatiramo ..."
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "opravljeno\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Preverjanje..."
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Beri: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Teľava pri branju steze %d: pričakovano %d, prebrano %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"slabi podatki na stezi %d\n"
+"Nadaljujemo... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s iz %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "(Naslednja datoteka: %s)"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: ni bločna naprava\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Trenutne vrste formatiranja ni moč ugotoviti"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%sstranska, %d stez, %d sektorjev/stezo. Skupna velikost %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Dvo"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Eno"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s je priklopljen.\t "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s: neuspeąno iskanje"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "stanja %s ni mogoče dobiti"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "napaka pri iskanju"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Sinhroniziram diske.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s je uspelo.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "napaka pri iskanju"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s: neuspeąno iskanje"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "vejitev ni uspela\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "openpty ni uspel\n"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "klic setuid() ni uspel"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: napaka %d pri raząirjanju! %p(%d)\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s ni lp naprava.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: neznan tip dat. sistema '%s'"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Prisilni pregled datotečnega sistema na %s.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: %s ni lp naprava.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s je odklopljen\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Odklapljam preostale datotečne sisteme..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Odklapljam preostale datotečne sisteme..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: neznan argument: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Izpiąi informacije o različici\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: opozorilo - velikosti datotečnega sistema ni moč ugotoviti \n"
+
+#: disk-utils/fsck.cramfs.c:158
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s ni bločna enota oz. datoteka\n"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: neveljaven cramfs - ime datoteke je prekratko\n"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Naslednja datoteka: %s)"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: disk-utils/fsck.cramfs.c:188
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "©tevilo sektorjev"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Opozorilo: razdelek %s poteka za koncem diska\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: opozorilo - stara slika cramfs, manjka CRC\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+#, fuzzy
+msgid "crc error"
+msgstr ", napaka"
+
+#: disk-utils/fsck.cramfs.c:324
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "korenski inod ni imenik"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " luknja v %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " raząirjam blok med %ld in %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: nebločnih (%ld) bajtov\n"
+
+#: disk-utils/fsck.cramfs.c:394
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: Zapisanih samo %lu od skupno %lu bajtov"
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Naslednja datoteka: %s)"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "priklop ni uspel"
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "priklop ni uspel"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "nepravilna vrednost za prekoračitev časa: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() ni uspel: %m"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "slaba velikost inoda"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: napačna velikost simbolne povezave ,%s`\n"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync ni uspel"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: ponarejen način na `%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:584
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "priklop ni uspel"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: neveljaven cramfs - konec podatkov imenika (%ld) ni enak začetku "
+"datotečnih podatkov (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:625
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s neveljaven cramfs - neveljaven odmik datotečnih podatkov\n"
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: prevedeno brez -x argumenta\n"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Vredu\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file izhodna_dat ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "za interaktivna opravila je potreben terminal"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Izpiąi informacije o različici\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s je priklopljen.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Ali res ľelite nadaljevati"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "preverjanje prekinjeno.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "ątevilo območja < PRVOOBMOČJE v datoteki `%s'."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "ątevilo območja >= OBMOČJA v datoteki `%s'."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Odstrani blok"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Napaka pri branju: iskanje do bloka v datoteki ni moľno '%s'\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Napaka pri branju: poąkodovan blok v datoteki ,%s`\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Notranja napaka: poskus pisanja v poąkodovan blok\n"
+"Zahteva po pisanju je ignorirana.\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "iskanje ni uspelo v write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Napaka pri pisanju: poąkodovan blok v datoteki '%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "neuspeąno iskanje v write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "superbloka ni moľno zapisati"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "seznama inodov ni moľno zapisati"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "seznama območij ni moľno zapisati"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Zapis inodov ni moľen"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "dodelitev medpomnilnika za sezname ni uspela"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "branje superbloka ni moľno"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "poąkodovan tip datoteke v superbloku"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Samo 1k veliki bloki/področja so podprti"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "poąkodovano s_imap_blocks polje v superbloku"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "poąkodovan s_zmap_blocks polje v superbloku"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Dodelitev medpomnilnika za seznam inodov ni moľna"
+
+#: disk-utils/fsck.minix.c:600
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "Dodelitev medpomnilnika za seznam inodov ni moľna"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Dodelitev medpomnilnika za inode ni moľna"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Dodelitev medpomnilnika za ątevilo inodov ni moľna"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Dodelitev medpomnilnika za ątevilo področij ni moľna"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Branje seznama inodov ni moľno"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Branje seznama področij ni moľno"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Branje inodov ni moľno"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Opozorilo: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodov\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokov\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Prvo podatkovno področje=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Velikost področja=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Največja velikost=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Stanje dat. sistema=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"dolľina datoteke=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inod %d označen kot prost, vendar je ľe zaseden za datoteko ,%s`\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Označi, da je v rabi"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Ta datoteka `%s' je v stanju %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Opozorilo: ątevilo inodov preveliko.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "korenski inod ni imenik"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Blok je ľe bil v rabi. Sedaj je v datoteki `%s'."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Počisti"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Blok %d v datoteki ,%s` je označen kot prost."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Popravi"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "Direktory '%s' vsebuje poąkodovan ątevilko inoda za datoteko '%.*s'."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr "Odstrani"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: poąkodovan imenik: '.' ni na prvem mestu\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: poąkodovan imenik: '..' ni na drugem mestu\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "notranja napaka"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: poąkodovan imenik: velikost < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "iskanje v bad_zone ni uspelo"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "stanje %d inoda ni počiąčeno"
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inod %d ni v rabu, označen kot v rabi v sliki."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inod %d v rabi, označen kot ni v rabi v sliki."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Nastavi"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inod %d (stanje = %07o), i_nlinks=%d, counted=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "i_nlinks nastavi na count "
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr ""
+"Področje %d: označeno kot v rabi, vendar ga nobena datoteka ne uporablja."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Odznači"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Področje %d: v rabi, counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Področje %d: ni v rabi, counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "slaba velikost inoda"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "slaba velikost v2 inoda"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "za interaktivna opravila je potreben terminal"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "ni mogoče odpreti %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s je čist, preverjanje ni potrebno.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Prisilni pregled datotečnega sistema na %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Datotečni sistem na %s ni čist, potrebuje pregled.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodov porabljenih (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld področij porabljenih (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d navadnih datotek\n"
+"%6d imenikov\n"
+"%6d datotek znakovnih naprav\n"
+"%6d datotek bločnih naprav\n"
+"%6d povezav\n"
+"%6d simbolnih povezav\n"
+"------\n"
+"%6d datotek\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------------\n"
+"DATOTEČNI SISTEM JE BIL SPREMENJEN\n"
+"----------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: napaka pri iskanju na %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: napaka pri branju z %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "ątevilo sektorjev: %d, velikost sektorjev: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "Neveljavno ątevilo: %s\n"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "ime obsega je predolgo"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "ime datotečnega sistema je predolgo"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ni posebna bločna naprava"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "neveljaven id"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "ni mogoče dobiti velikosti %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "blocks argument prevelik, največji je %lu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "preveč inodov - največ 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "ni zadosti prostora, najmanj %lu blokov"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Naprava %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Obseg: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "ime dat. sistema: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Velikost bloka: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inodi: %d (v enem bloku)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inodi: %d (v %ld blokih)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Bloki: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "konec inodov: %d, konec podatkov: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "napaka pri zapisovanju superbloka"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "napaka pri zapisovanju korenskega inoda"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "napaka pri zapisovanju inoda"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "napaka pri iskanju"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "napaka pri zapisovanju vnosa . "
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "napaka pri zapisovanju vnosa .."
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "napaka pri zapiranju %s"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Uporaba: mkfs [-V] [-t tip dat. sistema] [izbire dat. sist.] naprava "
+"[velikost]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: disk-utils/mkfs.c:131
+#, fuzzy, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, fuzzy, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"uporaba: %s [-h] [-v] [-b velikost bloka] [-e izdaja] [-i datoteka] [-n ime] "
+"imenik izhodna_datoteka\n"
+" -h prikaľi to pomoč\n"
+" -v prikaľi več informacij\n"
+" -E spremeni vsa opozorila v napake(neničelna vrednost "
+"izhoda)\n"
+" -b velikost bloka uporabi to velikost bloka, mora biti enak velikosti "
+"strani\n"
+" -e izdaja nastavi ątevilko izdaje (del identifikacije(fsid) dat. "
+"sistema)\n"
+" -i datoteka vstavi sliko datoteke v datotečni sistem (različica >= "
+"2.4.0)\n"
+" -n ime nastavim ime datotečnega sistema cramfs\n"
+" -p povečaj za %d bajtov za zagonski kod\n"
+" -s razvrsti vnose imenikov (starejąi argument - se ne "
+"upoąteva)\n"
+" -z naredi jasne luknje (različica >= 2.3.39)\n"
+" imenik koren datotečnega sistema, ki ga stiskamo\n"
+" izhodna_datoteka izhodna datoteka\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "korenski inod ni imenik"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Obstaja zelo dolga (%u bajtov) datoteka `%s'.\n"
+"' Prosim da povečate MAX_INPUT_NAMELEN v mkcramfs.c in ponovno prevedete. "
+"Končujem.\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "datotečni sistem je prevelik. Končujem.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: blok \"stisnjen\" do > 2*blocklength (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d bajtov)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: neveljavna bločna naprava"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "naj. ąt. odsekov = %lu\n"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"opozorilo: pribliľek zahtevane velikosti (zgornja meja) je %LdMB, ampak "
+"največja velikost slike je %uMB. Lahko končamo pred koncem.\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Vključno: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Podatki imenika: %d bajtov\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Vse skupaj: %d kilobajtov\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblok: %d bajtov\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr "za ROM sliko ni zadosti prostora (%Ld rezervirano, %d v rabi)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "zapisovanje ROM slike ni uspelo (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "opozorilo: imena datotek so skrčena na 255 bajtov.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "opozorilo: nekatere datoteke so bile ignorirane zaradi napak.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "warning: velikosti datotek zmanjaąane na %luMB (1 bajt manj).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr "opozorilo: uid-i zmanjąani na %u bitov. (Lahko vpliva na varnost.)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr "opozorilo: gid-i zmanjąani na %u bitov. (Lahko vpliva na varnost.)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"OPOZORILO: ątevilke naprav zmanjąane na %u bitov. To skoraj zagotovo "
+"pomeni,\n"
+"da se bodo pojavile napake v datotekah naprav.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Uporaba: %s [-c | -l ime dat.] [-nXX] [-iXX] /dev/ime [bloki]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s je priklopljen; dat. sistema zato ne bo narejen!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "iskanje do zagonskega bloka ni uspelo v write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "zagonskega sektorja ni mogoče počistiti"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "iskanje ni uspelo v write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "superbloka ni moľno zapisati"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "zapis seznama inodov ni uspel"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "zapis seznama področij ni uspel"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "zapis inodov ni uspel"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "iskanje ni uspelo v write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "pisanje ni uspelo v write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "preveč poąkodovanih blokov"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "premalo nepoąkodovanih blokov"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "dodelitev medpomnilnika za sezname ni uspela"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "dodelitev medpomnilnika za sezname ni uspela"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "dodelitev medpomnilnika za inode ni uspela"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld inodov\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld blokov\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Največja velikost=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "iskanje med testiranjem blokov ni uspelo"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Nenavadne vrednosti v do_check: verjetno programska napaka\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "iskanje v check_blocks ni uspelo"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+"slabi bloki pred podatkovnim območjem: datotečnega sistema ne morem narediti"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d poąkodovanih blokov\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "en poąkodovan blok\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "ne morem odpreti datoteke s poąkodovanimi bloki"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "Diskovnega pogona ni mogoče prebrati"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "slaba velikost inoda"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "napaka v strtol: ątevilo blokov ni podano"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "umount: %s: naprava je zaposlena"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "ni mogoče dobiti velikosti %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "na '%s' ne bo poskusa narediti datotečni sistem"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "©tevilo sektorjev"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Podana velikost strani ni dobra%d\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Uporabljamo podano velikost strani %d namesto sistemske vrednosti %d/%d\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr "Poąkodovana velikost glava izmenjalnega prostora, oznaka ni zapisana\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "Oznaka je bila skrająana\n"
+
+#: disk-utils/mkswap.c:207
+#, fuzzy, c-format
+msgid "no label, "
+msgstr "ni oznake"
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "ni uuid-a\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "preveč poąkodovanih strani"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "iskanje v check_blocks ni uspelo"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "ena poąkodovana stran\n"
+
+#: disk-utils/mkswap.c:329
+#, fuzzy, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu poąkodovanih strani\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "dodelitev medpomnilnika za inode ni uspela"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "dodelitev medpomnilnika za inode ni uspela"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "zagonskega sektorja ni mogoče počistiti"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "zagonskega sektorja ni mogoče počistiti"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p izpiąi BSD-jevo tabelo razdelkov"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s prikaľi celostno oznako diska"
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr " s prikaľi celostno oznako diska"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "dodeljeni semaforji = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: napaka: neznana različica %d\n"
+
+#: disk-utils/mkswap.c:530
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: napaka: izmenjalnega prostora ni moľno nikamor namestiti?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "neveljaven id"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: napaka: velikost %lu je večja od velikosti naprave %lu\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: napaka: velikost izmenjalnega prostora mora biti vsaj %ld KB\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: opozorilo: meja izmenjalnega prostora postavljena na %ldKB\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s je priklopljen; dat. sistema zato ne bo narejen!"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Opozorilo: %s ni blokovna naprava\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Izmenjalnega prostora ni mogoče nastaviti: neberljiv"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Pripravljamo izmenjalni prostor različice %d, velikost = %llu kB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "strani s podpisom ni mogoče zapisati"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync ni uspel"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "stanja %s ni mogoče dobiti"
+
+#: disk-utils/mkswap.c:656
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "zapis inodov ni uspel"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "ni mogoče preimenovati %s v %s: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "©tevilka razdelka"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Samo izpis tabele razdelkov"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "©tevilo sektorjev"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "©tevilka razdelka"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d razdelkov:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Tabela razdelkov se zapisuje na disk..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d razdelkov:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# tabela razdelkov od %s\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: iskanje proste loop naprave ni bilo uspeąno\n"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: loop naprava %s bo uporabljena\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Neznan ukaz: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "iskanje ni uspelo v write_tables"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Izbran razdelek %d\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Noben razdelek ni določen\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Ta razdelek ľe obstaja.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Izbran razdelek %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "ni vsebovan v razdelku %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Opozorilo: razdelki %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Noben razdelek ni določen\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "ponovno preberi tabelo razdelkov"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p izpiąi BSD-jevo tabelo razdelkov"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "Disk %s ne vsebuje veljavne tabele razdelkov\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Razpoloľljivi ukazi:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Praznega razdelka se ne more zbrisati"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Omejitvene datoteke %s ni mogoče zakleniti: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Opozorilo: %s ni blokovna naprava\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "stanja naprave %s ni mogoče dobiti"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "stanja naprave %s ni mogoče dobiti"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s: ni znakovna naprava"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s ni posebna bločna naprava"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "napaka pri zaustavljanju storitve: \"%s\""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "napaka pri zaustavljanju storitve: \"%s\""
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "uporaba: sfdisk --id naprava ąt. razdelka [Id]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "iskanje ni uspelo v write_tables"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "ponovno preberi tabelo razdelkov"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: tak razdelek ne obstaja\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: napaka: neznana različica %d\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "iskanje ni uspelo v write_tables"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Zmanjkalo pomnilnika!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Neuporabno"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Neuporabljen prostor"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disk je bil spremenjen.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Ponovno zaľenite sistem, da bo razdelitvena tabela pravilno aľurirana.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"OPOZORILO: Če ste ustvarili ali spremenili\n"
+"DOS 6.x razdelke, si prosim oglejte\n"
+"priročnik cfdiska za dodatne informacije.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "USODNA NAPAKA"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Pritisnike katerokoli tipko za izhod iz cfdisk-a"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Iskanje na disku ni mogoče"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Diskovnega pogona ni mogoče prebrati"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Na diskovni pogon ni mogoče pisati"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Preveč razdelkov"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Razdelek se začne pred sektorjem 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Razdelek se konča pred sektorjem 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Razdelek se začne po koncu diska"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Razdelek se konča po koncu diska"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "logični razdelki niso v pravem diskovnem redu"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "logični razdelki se prekrivajo"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "povečani logični razdelki se prekrivajo"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Interna napaka pri ustvarjanje logičnega pogona brez raząirjenega "
+"razdelka !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Logičnega pogona na tem mestu ni mogoče ustvariti - ustvarili bi dva "
+"raząirjena razdelka"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menujski vnos predolg. Menu lahko izgleda nenavadno."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Nedovoljena tipka"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Pritisnite katerokoli tipko za nadaljevanje"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primaren"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Ustvari nov primaren razdelek"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logičen"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Ustvari nov logičen razdelek"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Prekliči"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Ne ustvari razdelka"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Interna napaka !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Velikost (v MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Začetek"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Dodaj razdelek na začetek nezasedenega prostora"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Konec"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Dodaj razdelek na konec nezasedenega prostora"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Ni prostora za ustvarjanje raząirjenega razdelka"
+
+#: fdisks/cfdisk.c:1389
+#, fuzzy
+msgid "No partition table.\n"
+msgstr "Ni tabele razdelkov.\n"
+
+#: fdisks/cfdisk.c:1393
+#, fuzzy
+msgid "No partition table. Starting with zero table."
+msgstr "Ni tabele razdelkov. Uporaba prazne tabele."
+
+#: fdisks/cfdisk.c:1403
+#, fuzzy
+msgid "Bad signature on partition table"
+msgstr "Poąkodovan podpis na tabeli razdelkov"
+
+#: fdisks/cfdisk.c:1407
+#, fuzzy
+msgid "Unknown partition table type"
+msgstr "Neznan tip tabele razdelkov"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Ali ľelite začeti s prazno tabelo [y/N] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Navedli ste več stez, kot jih je na disku"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Diskovne enote ni mogoče odpreti"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disk odprt samo za branje - nimate dovoljenja za pisanje"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Velikosti diskovne steze ni mogoče prebrati"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Poąkodovan primarni razdelek"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Poąkodovan logični razdelek"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Opozorilo!! To lahko uniči podatke na vaąem disku!"
+
+#: fdisks/cfdisk.c:1699
+#, fuzzy
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Ste prepričani, da ľelite zapisati tabelo razdelkov na disk? (da ali ne): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "ne"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Tabela razdelkov ni bila zapisana na disk"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "da"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Prosim vpiąite ,da` ali ,ne`"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Tabela razdelkov se zapisuje na disk..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Tabela razdelkov je bila zapisana na disk"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Tabela razdelkov zapisana, ampak ponovno branje tabele ni uspelo. Ponovno "
+"zaľenite sistem, da posodobite tabelo."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Noben primarni razdelek ni označen kot zagonski. DOS MBR se ne more zagnati."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Več kot en primarni razdelek je označen kot zagonski. DOS MBR se ne more "
+"zagnati."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Vnesite ime datoteke ali pritisnite ENTER za prikaz na zaslonu: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Diskovna enota: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Brez "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primaren"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logičen"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Neznano"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Zagon"
+
+#: fdisks/cfdisk.c:1915
+#, fuzzy, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+#, fuzzy
+msgid "None"
+msgstr "Brez"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabela razdelkov za %s\n"
+
+#: fdisks/cfdisk.c:1954
+#, fuzzy
+msgid " First Last\n"
+msgstr " Prvi Zadnji\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tip Sektor Sektor Odmik Dolľina Tip dat. sistema (ID) "
+"Zastavice\n"
+
+#: fdisks/cfdisk.c:1956
+#, fuzzy
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+#, fuzzy
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----Začetni--- ----Končni---- Začetek ©tevilo\n"
+
+#: fdisks/cfdisk.c:2040
+#, fuzzy
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Ozn Glav Sekt Stz ID Glav Sekt Stz sektor sektorjev\n"
+
+#: fdisks/cfdisk.c:2041
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Surov"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Izpis tabele v surovi obliki"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektorji"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Izpis tabele, urejene po sektorjih"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabela"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Samo izpis tabele razdelkov"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Brez izpisa tabele razdelkov"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Osnovna navodila za cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Cfdisk je tekstovni program za urejanje diskovnih razdelkov,"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "s katerim lahko ustvarjate, briąete ali spreminjate razdelke"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "na vaąem disku."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr " Ukaz Pomen"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Preklop med zagonskim/nezagonskim razdelkom"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Izbriąi trenutni razdelek"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Spremeni parametre (ąt. stez, ąt. glav, sektorjev/stezo)"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " OPOZORILO: Izbiro naj izberejo le tisti,"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " ki razumejo, kaj počnejo."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h prikaľi to pomoč"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Porabi največ prostora za trenutni razdelek"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Opomba: To lahko napravi razdelek nezdruľljiv z"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Ustvari nov razdelek na nezasedenega prostora"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Prepiąi tabelo razdelkov na zaslon ali v datoteko"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Obstaja več različnih zapisov za particijo"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " med katerimi lahko izbirate:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - neobdelani podatki (natačno to, kar bi bilo zapisano na "
+"disk)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Tabela, urejena po sektorjih"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - tabela v obliki neobdelanih podatkov"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Zapusti program, ne da bi zapisal tabelo razdelkov"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Spremeni vrsto datotečnega sistema"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Spremeni enote izpisa velikosti razdelkov"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Kroľi med MB, sektorji in stezami"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Zapiąi tabelo razdelkov na disk (mora biti veliki W!)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Ker lahko ta izbira uniči podatke na disku, morate,"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " izbiro potrditi ali preklicati z vnosom ,da` ali"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " `ne'"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Puąčica gor Premakni kazalec na prejąnji razdelek"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Puąčica dol Premakni kazalec na naslednji razdelek"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Osveľi izpis"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Izpiąi to okno"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Opomba: Vse ukaze lahko vpiąete z velikimi ali malimi"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "tiskanimi črkami (z izjemo W)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Stez"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Spremeni ątevilo stez"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Glav"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Spremeni ątevilo glav"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Spremeni ątevilo sektorjev"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Opravljeno"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Sprememba geometrije je končana"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Vnesite ątevilo stez: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Nedovoljena vrednost stez"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Vnesite ątevilo glav: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Nedovoljeno ątevilo glav"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Vnesite ątevilo sektorjev na stezo: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Nedovoljeno ątevilo sektorjev"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Vrste datotečnega sistema ni moč spremeniti na prazno"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Vrste datotečnega sistema ni moč spremeniti na raząirjeno"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unk(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Neznano (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Diskovni Pogon: %s"
+
+#: fdisks/cfdisk.c:2488
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Velikost: %lld bajtov, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Velikost: %lld bajtov, %lld,%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, fuzzy, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Glav: %d Sektorjev/stezo: %d Stez: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Ime"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Oznake"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Tip Razd."
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Dat. sistem"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Oznaka]"
+
+#: fdisks/cfdisk.c:2505
+#, fuzzy
+msgid " Sectors"
+msgstr "Sektorjev"
+
+#: fdisks/cfdisk.c:2507
+#, fuzzy
+msgid " Cylinders"
+msgstr "Stez"
+
+#: fdisks/cfdisk.c:2509
+#, fuzzy
+msgid " Size (MB)"
+msgstr "Vel. (MB)"
+
+#: fdisks/cfdisk.c:2511
+#, fuzzy
+msgid " Size (GB)"
+msgstr "Vel. (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Ni več razdelkov"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Zagonski"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Preklopi zagonsko zastavico trenutnega razdelka"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Izbriąi"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Izbriąi ta razdelek"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometr."
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Nastavi geometrijo diska (samo poznavalci)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Pomoč"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Izpiąi stran z navodili"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Razpri"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Razpri trenutni razdelek čez celotno nezasedeno območje (samo poznavalci)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Nova"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Ustvari nov razdelek iz nezasedenega prostora"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Natisni"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Izpiąi tabelo razdelkov na zaslon ali shrani v datoteko"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Izhod"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Izhod iz programa brez zapisa tabele razdelkov"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Tip"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Spremeni tip datotečnega sistema (DOS, Linux, OS/2 itn.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Enote"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Spremeni enote prikaza velikosti razdelkov (MB, sekt, cil)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Zapiąi"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Zapiąi tabelo razdelkov na disk (to lahko uniči podatke)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Te particije se ne more nastaviti kot zagonske"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Praznega razdelka se ne more zbrisati"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Tega razdelka se ne more razpreti"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Ta razdelek ni uporaben"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Ta razdelek se ľe uporablja"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Tipa praznega razdelka se ne more spremeniti"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Napačen ukaz"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Uporaba:\n"
+"Izpiąi različico:\n"
+" %s -v\n"
+"Izpiąi tabelo razdelkov:\n"
+" %s -P {r|s|t} [izbire] naprava\n"
+"Interaktivna uporaba:\n"
+" %s [izbire] naprava\n"
+"\n"
+"Izbire:\n"
+"-a: Uporabi puąčico namesto osvetljevanja;\n"
+"-z: Začni s prazno tabelo particij namesto branja tp z diska;\n"
+"-c C -h H -s S: Povozi idejo jedra o ątevilu sledi, glav in sektorjev.\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c spremeni ątevilo stez"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "ni mogoče odpreti %s"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "ni mogoče odpreti %s"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tNa tem disku je veljavna oznaka AIX.\n"
+"\tNa ľalost s temi diski Linux trenutno\n"
+"\tne zna rokovati. Pomaga naj vam par\n"
+"\tnasvetov:\n"
+"\t1. fdisk bo uničil vsebino diska pri pisanju.\n"
+"\t2. Bodite prepričani, da ta disk NI ľivljenjskega\n"
+"\t pomena obsegovne skupine[volume group]. (Drugače se lahko zgodi,\n"
+"\t da boste brisali tudi ostale diske.\n"
+"\t3. Pred izbrisom fizičnega obsega bodite prepričani,\n"
+"\t da disk odstranite logično, iz vaąega AIX\n"
+"\t računalnika. (Drugače lahko postanete \n"
+"\t \"strokovnjak za AIX\")."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tOprostite - ta fdisk ne zna delati z oznakami diskov tipa AIX.\n"
+"\tČe ľelite dodati razdelke tipa DOS, najprej ustvarite\n"
+"\t novo prazno tabelo razdelkov tipa DOS. (Uporabite o.)\n"
+"\tOPOZORILO: To bo uničilo trenutno vsebuno diska.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD oznaka za napravo: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Zapisovanje oznake diska na %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Prvi %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Zadnji %s ali +size ali +sizeM ali +sizeK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s ne vsebuje oznake diska.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Ali ľelite ustvariti oznako diska? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Razdelek %s ima neveljavni začetni sektor 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Berem oznako diska %s na sektorju %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Na %s ni razdelka tipa *BSD.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Ukaz BSD oznaka diska (m za pomoč): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "vrsta: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "vrsta: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "oznaka: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "zastavice:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " odstranljiv"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " poąsektor"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bajti/sektor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektor/sled: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "sled/steza: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektor/steza: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "steze: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "obrati/min: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "prepleteno: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "poąevnostsledi: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "zamenjava glave: %ld\t\t# milisekund\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "iskanje sled-do-sledi: %ld\t# milisekund\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "diskovni podatki: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d razdelkov:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr ""
+"# začetek konec vel tip dat sist [veldat velblok cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "bajti/sektor"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektorji/sled"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "sledi/stezo"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "steze"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektorji/stezo"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Mora biti <= sektorji/sled * sledi/stezo (privzeto).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "obrati/min"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "prepleteno"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "poąevnostsledi"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "poąevnoststeze"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "prehod glav"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "iskanje sledi-do-sledi"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Začetni nalagalnik: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Začetni nalagalnik se prekriva z oznako diska!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Začetni nalagalnik je nameąčen na %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Razdelek (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Največje moľno ątevilo razdelkov je bilo ustvarjeno\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Ta razdelek ľe obstaja.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Opozorilo: preveč particij (%d, največ pa je %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Sinhronizacija diskov.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a preklopi zagonsko zastavico"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a preklopi samo za branje"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a izberi zagonski razdelek"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a spremeni ątevilo izmeničnih stez"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b spremeni oznako diska tipa BSD"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b uredi zagonskodatotečni vnos"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b premakni začetek podatkov v razdelku"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c preklopi zdruľljivo z DOS zastavico"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c preklopi zastavico priklopljivo"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c izberi izmenjalni razdelek tipa sgi"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c spremeni ątevilo stez"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d zbriąi razdelek"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d izpiąi surove podatke iz tabele razdelkov"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e spremeni ątevilo dodatkih sektorjev na stezo"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e izpiąi raząirjene razdelke"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e aľuriraj diskovne podatke"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f popravi vrstni red razdelkov"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g ustvari tabelo razdelkvo tipa IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h spremeni ątevilo glav"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i spremeni koeficient prepletenosti"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " u spremeni prikazne/vnosne enote"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i namesti začetni nalagalnik"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l izpiąi znane vrste razdelkov"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m izpiąi ta meni"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n dodaj nov razdelek"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o ustvari novo prazno tabelo razdelkov tipa MS-DOS"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o spremeni hitrost vrtenja (obrati/min)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Samo izpis tabele razdelkov"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q končaj, ne da bi shranil spremembe"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r vrni se v glavni meni"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s ustvari novo prazno oznako diska tipa Sun"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s spremeni ątevilo sektorjev/sled"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s prikaľi celostno oznako diska"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t spremeni sistemski ID razdelka"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u spremeni prikazne/vnosne enote"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v preveri tabelo razdelkov"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w zapiąi tabelo razdelkov na disk in končaj"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w zapiąi oznako diska na disk"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x dodatne moľnosti (samo za poznavalce)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x poveľi razdelek tipa BSD z razdelkom drugega tipa"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y spremeni ątevilo fizičnih stez"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "%s ni mogoče prebrati\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Na %s iskanje ni moľno\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "Na %s ni mogoče pisati\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE od ioctl ni uspel na %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Usodna napaka\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr " Ukaz dejanje"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Nastaviti morate"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "glave"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektorji"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"To lahko storite v meniju z dodatnimi moľnostmi.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " in "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Ali res ľelite nadaljevati"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "©estnajstiąka koda (pritisni L za izbor kod): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, privzeto %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Uporbljena bo privzeta vrednost %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Vrednost izven dosega.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "©tevilka razdelka"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Opozorilo: razdelek %d nima tipa\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Izbran razdelek %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Noben razdelek ąe ni določen!\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "steza"
+msgstr[1] "steza"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektor"
+msgstr[1] "sektor"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Spreminjam enote prikaza/vnosa na %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Spreminjam enote prikaza/vnosa na %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "OPOZORILO: Razdelek %d je raząirjeni razdelek\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "Zdruľljivost z DOS je nastavljena.\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Zdruľljivost z DOS ni nastavljena.\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Razdelek %d nima podatkovnega območja\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Razdelek %d ąe ne obstaja!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"V mnogih sistemih pomeni tip 0 prazen prostor,\n"
+"v Linuxu pa ne. Razdelkov tipa 0 ni pametno imeti\n"
+"Razdelek lahko zbriąete z ukazom `d'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Razdelka ne morete pretvoriti v raząirjenega ali obratno.\n"
+"Najprej ga zbriąite.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Razmislite o tem, da pustite razdelek 3 kot celotni disk (5).\n"
+"Tak je dogovor v SunOS/Solaris, Linux pa ga spoątuje.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Razdelek 9 pustite kot obsegovo glavo[volume header] (0),\n"
+"razdelek 11 pa kot celotni del (6), kot pričakuje IRIX.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Tip razdelka %d je spremenjen v %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Tip razdelka %d je spremenjen v %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "Fizični začetek razdelka %d ni enak logičnemu (ne-Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fizični=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logični=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Fizična/logična konca razdelka %d se ne ujemata:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Razdelek %i se ne konča na meji stez.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Razdelek %i se ne začne na meji stez:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld MB, %lld bajtov\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bajtov\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", skupno %lu sektorjev"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d glav, %d sektorjev/stezo, %d stez"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+"Enote = %s od %d x %d = %d bajtov\n"
+"\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "slaba velikost inoda"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Nič ni treba spremeniti. Red je ľe pravilen.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Opravljeno\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"To ne izgleda kot tabela razdelkov\n"
+"Verjetno ste izbrali napačno napravo.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Zagon Začetek Konec Bloki Id Sistem\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Naprava"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Vnosi tabele razdelkov niso v diskovnem vrstnem redu\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d glav, %d sektorjev, %d stez\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, fuzzy, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr " ©t AF Glav Sekt Stz Glav Sekt Stz Začetek Vel ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Opozorilo: razdelek %d vsebuje sektor 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Razdelek %d: glava %d je večja od največje %d\n"
+
+#: fdisks/fdisk.c:1304
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Razdelek %d: sektor %d je večji od največjega %d\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Razdelki %d: steza %d je večja od največje %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Razdelek %d: prejąnji sektorji %d se ne ujemajo s celoto %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Razdelek %d ąe ne obstaja!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Na diskovni pogon ni mogoče pisati"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Tabela razdelkov je bila spremenjena!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Kličem ioctl() za ponovno branje tabele razdelkov.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"OPOZORILO: Ponovno branje tabele razdelkov ne bo uspelo, napaka %d: %s.\n"
+"Jedro ąe vedno uporablja staro tabelo.\n"
+"Nova tabelo bo v uporabi ąele po naslednjem zagonu.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"OPOZORILO: Če ste ustvarili ali spreminjali razdelke\n"
+" tipa DOS 6.x, si poglejte priročnik za fdisk za dodatne\n"
+"informacije.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Sinhroniziram diske.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Razdelek %d nima podatkovnega območja\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Nov začetek podatkov"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Strokovni ukaz (m za pomoč): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "©tevilo stez"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "©tevilo glav"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "©tevilo sektorjev"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Opozorilo: odmik sektorja bo nastavljen tako, da bo zdruľljiv z DOS\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s ne morem odpreti\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: neznan ukaz\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Ustvarja se nova diskovna oznaka tipa sun. Spremembe bodo ostale v\n"
+"pomnilniku samo dokler se ne odločite, da jih boste zapisali. Po tem\n"
+"bo prejąnja vsebina nepovrnljiva.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"Na %s je bila zaznana oznaka diska tipa OSF/1, vstopa v način označevanja "
+"diska.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Ukaz (m za pomoč): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "neveljaven id"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "neveljaven id"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "neveljaven id"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "neveljaven id"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Opozorilo: izbira -b (nastavi velikost sektorja) se naj uporablja s podano "
+"napravo\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Opomba: velikost sektorja je %d (ne %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Disk %s ne vsebuje veljavne tabele razdelkov\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Vsi primarni razdelki so ľe določeni!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Poąkodovan odmik v primarnem raząirjenem razdelku\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Opozorilo: omejujem razdelke po #%d.\n"
+"Če shranite ta razdelek bodo izbrisani.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Opozorilo: dodatni povezovalni kazalec v tabeli razdelkov %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Opozorilo: dodatni podatki v tabeli razdelkov %d ne bodo upoątevani\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Opozorilo: prazen razdelek\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Dodatni raząirjen razdelek %d ne bo upoątevan\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Opozorilo: neveljavna zastavica 0x%04x tabele razdelkov %d bo popravljena z w"
+"(rite)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "Razdelek %d je ľe določen. Zbriąite ga preden ga ponovno dodate.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %d je ľe dodeljen\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Ni več prostih sektorjev\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Poąkodovan logični razdelek"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Opozorilo: poąkodovan začetek podatkov v razdelku %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Opozorilo: razdelek %d prekriva razdelek %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Opozorilo: razdelek %d je prazen\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logični razdelek %d ni v celoti v razdelku %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Vsota dodeljenih sektorjev %d je večja od največje %lld\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld nedodeljenih sektorjev\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Vsi logični razdelki so v uporabi\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, fuzzy, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Vsi logični razdelki so v uporabi\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, fuzzy, c-format
+msgid "Adding a primary partition\n"
+msgstr "Dodaja se primarni razdelek\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l logični (5 ali več)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e raząirjen"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Uporbljena bo privzeta vrednost %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Neveljavna ątevilka razdelka za tip `%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+#, fuzzy
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tNa tem disku je veljavna oznaka AIX.\n"
+"\tNa ľalost s temi diski Linux trenutno\n"
+"\tne zna rokovati. Pomaga naj vam par\n"
+"\tnasvetov:\n"
+"\t1. fdisk bo uničil vsebino diska pri pisanju.\n"
+"\t2. Bodite prepričani, da ta disk NI ľivljenjskega\n"
+"\t pomena obsegovne skupine[volume group]. (Drugače se lahko zgodi,\n"
+"\t da boste brisali tudi ostale diske.\n"
+"\t3. Pred izbrisom fizičnega obsega bodite prepričani,\n"
+"\t da disk odstranite logično, iz vaąega AIX\n"
+"\t računalnika. (Drugače lahko postanete \n"
+"\t \"strokovnjak za AIX\")."
+
+#: fdisks/fdiskmaclabel.c:92
+#, fuzzy, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tOprostite - ta fdisk ne zna delati z oznakami diskov tipa AIX.\n"
+"\tČe ľelite dodati razdelke tipa DOS, najprej ustvarite\n"
+"\t novo prazno tabelo razdelkov tipa DOS. (Uporabite o.)\n"
+"\tOPOZORILO: To bo uničilo trenutno vsebuno diska.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI glavaobsga"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI odzivsteze"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI odzivsekt"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI surov"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI obseg"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux izmenjalni prostor"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux domača"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Upoątevajoč MIPS Computer Systems, Inc. oznaka ne sme vsebovati več to 512 "
+"bajtov\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Zaznana je bila diskovna oznaka tipa SGI z napačno kontrolno vsoto.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (oznaka diska tipa SGI): %d glav, %d sektorjev\n"
+"%d stez, %d fizičnih stez\n"
+"%d dodatni sekt/stezo, prepletenost %d:1\n"
+"%s\n"
+"Enote = %s od %d * %d bajtov\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (oznaka diska tipa SGI): %d glav, %d sektorjev, %d stez\n"
+"Enote = %s od %d * %d bajtov\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- razdelki -----\n"
+"Pt# %*s Info Začetek Konec Sektor Id Sistem\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Zagoninfo -----\n"
+"Zagonska dat.: %s\n"
+"----- Vnosi imenikov -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u velikost%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Neveljavna zagonska dat.!\n"
+"\tZagonska datoteka mora biti absolutna neničelna pot,\n"
+"\tnpr. \"/unix\" ali \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tIme zagonske dat. je predolgo: največ 16 bajtov.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tZagonska datoteka mora biti popolna pot.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tZavedati se morate, da se ne pregleda, ali zagonska dat. obstaja.\n"
+"\tPrivzeto za SGI jhe \"/unix\" in za varnostno kopijo \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Trenutna zagonska datoteka je: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Prosimo vpiąite ime nove zagonske datoteke: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Zagonska datoteka ni bila spremenjena\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tZagonska datoteka je spremenjena na \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Prisoten je več kot en vnos celotnega diska.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Noben razdelek ni določen\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX-u je vąeč če razdelek 11 prekriva celoten disk.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Razdelek čez celoten disk se mora začeti na bloku 0,\n"
+"ne na diskovnem bloku %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Celotna diskovna particija je velika %d disk. blokov,\n"
+"ampak disk je dolg %d disk. blokov.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "En razdelek (#11) naj bi pokrival celoten disk.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Razdelek %d se ne začne na meji s cilindrom.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Razdelek %d se ne konča na meji s cilindrom.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Razdelka %d in %d se prekrivata v skupno %d sektorjih.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "%8u sektorjev ni v rabi - sektorji %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Zagonski razdelek ne obstaja.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Izmenjalni razdelek ne obstaja.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Izmenjalni razdelek nima določenega tipa.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tIzbrali ste nenavadno ime zagonske datoteke.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "®al lahko samo sistemski skrbnik spreminj sistemsko uro.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Priporočljivo je, da je razdelek na odmiku 0 tipa \"SGI volhdr\",\n"
+"sistem IRIX se zanaąa na to, da lahko uporablja orodja kot so \n"
+"sash in fx z njega. Samo \"SGI obseg\" celoten del diska lahko\n"
+"krąi to. Vtipkajte DA, če resnično ľelite označiti to particijo drugače.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "DA\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Na disku se vam prekrivajo razdelki. Popravite jih!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Samodejni poskus vnosa celotnega diska.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Celoten disk je ľe prekrit z razdelki.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Na disku se vam prekrivajo razdelki. Popravite jih!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Priporočljivo je, da enajsti razdelek\n"
+"prekriva celoten disk in je tipa `SGI volume'\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Prekrivali se vam bodo razdelki na disku. Popravite jih!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Zadnji %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "BLKGETSIZE od ioctl ni uspel na %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Opozorilo: BLKGETSIZE ioctl ni uspel na %s. Uporablja se geometrijska "
+"vrednost steze %d.\n"
+"Ta vrednost se lahko skrająa za naprave > 33.8 GB.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tZAČETEK=%d\tDOL®INA=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Poskus ohranjanja parametrov razdelka %d.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS korenska"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS izmenjalna"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Celoten disk"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld nedodeljenih sektorjev\n"
+
+#: fdisks/fdisksunlabel.c:41
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:42
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid samozaznava"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Zaznana je bila sun-ova oznaka diska z napačno kontrolno\n"
+"vsoto. Verjetno boste morali nastaviti vse vrednosti\n"
+"(npr. glave, sektorji, steze, razdelki) ali prisiliti\n"
+"sveľo oznako (ukaz s v glavnem meniju)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Zaznana je bila diskovna oznaka tipa SGI z napačno kontrolno vsoto.\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Zaznana je bila diskovna oznaka tipa SGI z napačno kontrolno vsoto.\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Zaznana je bila diskovna oznaka tipa SGI z napačno kontrolno vsoto.\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Opozorilo: neveljavna zastavica 0x%04x tabele razdelkov %d bo popravljena z w"
+"(rite)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s ne vsebuje oznake diska.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektorji/sled"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Razdelek %d se ne konča na meji s stezo\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Razdelek %d se prekriva z drugimi v sektorjih %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Neporabljen prostor - sektorji 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Neporabljen prostor - sektorji %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Drugi razdelki ľe prekrivajo ves disk.\n"
+"Izbriąite/pomanjąajte nekatere preden ponovno poskusite.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Priporočljivo je, da enajsti razdelek\n"
+"prekriva celoten disk in je tipa `SGI volume'\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d je ľe dodeljen\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Niste pokrili celotnega diska s tretjim razdelkom, ampak vaąa vrednost\n"
+"%d %s prekriva nekatere druge razdelke. Vaą vnos je bil spremenjen\n"
+"na %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Če ľelite ohraniti zdruľljivost s SunOS/Solaris, potem pustite\n"
+"ta razdelek kot Celoten disk (5), z začetkom na 0 in %u sektorji\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Zelo je priporočljivo pustiti razdelek z odmikom 0\n"
+"kot UFS, EXT2FS dat. sistem ali SunOS izmenjalni. Če \n"
+"postavite tja Linux izmenjalni to lahko uniči tabelo \n"
+"razdelkov in zagonski blok. Vnesite DA, če res ľelite\n"
+"da se ta razdelek označi kot 82 (Linux izmenjalni): "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (oznaka diska tipa Sun): %d glav, %d sektorjev, %d obratov/min\n"
+"%d stez, %d drugih stez, %d fizičnih stez\n"
+"%d dodatni sktr/stz, prepletenost %d:1\n"
+"%s\n"
+"Enote = %s od %d * 512 bajtov\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (oznaka diska tipa Sun): %d glav, %d sektorjev, %d stez\n"
+"Enote =%s od %d * 512 bajtov\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Zastava Začetek Konec Bloki Id Sistem\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "©tevilo drugih stez"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Dodatni sektorji na stezo"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Faktor prepletenosti"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Hitrost vrtenja (obrati/min)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "©tevilo fizičnih stez"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Prazno"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX korenski"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Raząirjen"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX zagonski"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 zagonski upravljalnik"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Razą'a (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Skriti FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostika"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Skriti FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Skriti FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Skriti HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Skriti W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Skriti W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Skriti W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "Skriti HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic okrevalni"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP zagonski"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. del"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. del"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ali SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Stari Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / stari Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux izmenjalni / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 skriti C: pogon"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux raząirjen"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS obsegna mnoľica"
+
+#: fdisks/i386_sys_types.c:63
+#, fuzzy
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin zagonski"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI dat. sistem"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI izmenjalni"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "skriti Boot Wizzard"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris zagonski"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sktr (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sktr (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sktr (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "nedatotečnosistemski podatki"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS dostop"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS samo za branje"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS dat. sist."
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC zagonski"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS sekundarni"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "napaka pri iskanju na %s - iskanje do %lu ni moľno\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "napaka pri iskanju: zahtevano 0x%08x%08x, dobljeno 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "napak pri branju na %s - branje sektorja %lu ni moľno\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "napaka pri pisanju na %s - sektorja %lu ni moľno zapisati\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "shranjene datoteke sektorja razdelka ni mogoče odpreti (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "napaka pri pisanju na %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "stanja obnovitvene datoteke razdelka ni mogoče dobiti (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "obnovitvena datoteka razdelka ima napačno velikost - ne obnavljam\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "obnovitvene datoteke razdelka ni mogoče odpreti (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "napaka pri branju %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "naprave %s ni mogoče odpreti za branje\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "napaka pri zapisovanju sektorja %lu na %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: geometrije ni mogoče najti\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: velikosti ni mogoče najti\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Opozorilo: začetek=%lu - to je bolj podobno razdelku kot\n"
+"celotnemu disku. Uporaba fdisk-a na njem je verjetno \n"
+"brez smisla. [uporabite --force izbiro če to res ľelite]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Opozorilo: HDIO_GETGEO pravi da je %lu glav\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Opozorilo: HDIO_GETGEO pravi, da je %lu sektorjev\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Opozorilo: BLKGETSIZE/HDIO_GETGEO pravi, da je %lu stez\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Opozorilo: malo verjetno ątevilo sektorjev (%lu) - ponavadi jih je 63\n"
+"To bo povzročilo teľave z vso programsko opremo, ki uporablja C/G/S "
+"naslavljanje.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disk %s: %lu stez, %lu glav, %lu sektorjev/stezo\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr "%s od razdelka %s ima nemogočo vrednost glave: %lu (mora biti 0-%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s od razdelka %s ima nemogočo vrednost sektorja: %lu (mora biti 1-%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr "%s od razdelka %s ima nemogočo vrednost steze: %lu (mora biti 0-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Ime\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Ponovno berem tabelo razdelkov ...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Ukaz ponovnega branja tabele razdelkov ni uspel\n"
+"Ponovno zaľenite vaą sistem zdaj pred uporabo mkfs\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Napaka pri zapiranju %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: tak razdelek ne obstaja\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "nerazpoznavna oblika - uporabljam sektorje\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "nepodprta oblika - uporabljam %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enote = steze po %lu bajtov, bloki po 1024 bajtov, ątejem od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Naprava Zagon Začetek Konec #steze #bloki Id Sistem\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enote = sektorji po 512 bajtov, ątejem od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Naprava Zagon Začetek Konec #sktrji Id Sistem\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enote = bloki po 1024 bajtov, ątejem od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Naprava Zagon Začetek Konec #bloki Id Sistem\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enote = MiB iz 1048576 bajtov, bloki po 1024 bajtov, ąteje se od %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr "Naprava Zagon Začetek Konec MiB #bloki Id Sistem\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tzačetek: (stz,g,skt) pričakovano (%ld,%ld,%ld), najdeno (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tkonec: (stz,g,skt) pričakovano (%ld,%ld,%ld), najdeno (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "razdelek se konča na stezi %ld za koncem diska\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Noben razdelek ni bil najden\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Opozorilo: Tabela razdelkov izgleda, kot da je bila\n"
+" narejena za stz/g/skt=*/%ld%ld (namesto %ld/%ld/%ld).\n"
+"Za ta spisek se privzema to geometrijo.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "nobena tabela razdelkov ni na voljo.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "zanimivo, samo %d razdelkov je določenih.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Opozorilo: razdelek %s ima velikost 0 ampak ni označen kot Prazen\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Opozorilo: razdelek %s ima velikost 0 in je označen kot zagonski\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Opozorilo: razdelek %s ima velikost 0 in neničelni začetek\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "ni vsebovan v razdelku %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Opozorilo: razdelek %d je prazen\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Opozorilo: razdelek %s vsebuje del tabele razdelkov (sektor %lu)\n"
+"in bo uničen, ko se napolni\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Opozorilo: razdelek %s se začne na sektorju 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Opozorilo: razdelek %s poteka za koncem diska\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Med primarnimi razdelki se lahko raząiri samo eden\n"
+" (čeprav to ni problem pri Linux-u)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Opozorilo: razdelek %s se ne začne na meji s stezo\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Opozorilo: razdelek %s se ne konča na meji s stezo\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Opozorilo: več kot en primarni razdelek je označen kot zagonski \n"
+"To ni problem za LILO, samo DOS MBR se ne more zagnati s tega diska.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Opozorilo: ponavadi se lahko zaganja s primarnih razdelkov, samo\n"
+"LILO ne upoąteva zastavice `bootable'.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Opozorilo: noben primarni razdelek ni označen kot zagonski\n"
+"To ni problem za LILO, samo DOS MBR se ne more zagnati s tega diska.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "začetek"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"razdelek %s: začetek: (stz,g,skt) pričakovano (%ld,%ld,%ld), najdeno (%ld,"
+"%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "konec"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"razdelek %s: konec: (stz,g,skt) pričakovano (%ld,%ld,%ld) najdeno (%ld,%ld,"
+"%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "razdelek %s se konča na stezi %ld, za koncem diska\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Opozorilo: začetek raząirjenega razdelka je bil premaknjen\n"
+"od %ld na %ld (Samo za izpisovanje, ne spreminjajte vsebine.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Opozorilo: raząirjen razdelek se ne začne na meji s stezo.\n"
+"DOS in Linux bosta tolmačila vsebino različno.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "NAPAKA: sektor %lu nima oznake tipa msdos\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "preveč razdelkov - po ąt. %d ne bodo upoątevani\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "drevo razdelkov?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "zaznan je Upravljalnik diska - upravljanje z njim ni podprto\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6 podpis najden - končujem\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "zanimivo..., raząirjen razdelek velikosti 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "zanimivo..., BSD razdelek velikosti 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, fuzzy, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: neprepoznan tip tabele razdelkov"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "-n zastavica je bil podana: Brez sprememb\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Neuspeąno shranjevanje starih sektorjev - prekinjam\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "dolga ali nepopolna vnosna vrstica - končujem\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "vhodna napaka: `=' pričakovano po polju %s\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "vhodna napaka: nepričakovan znak %c po polju %s\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "neprepoznan vhod: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "prevelika ątevilka\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "ątevilki sledijo čudni podatki\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "za opisnik razdelka ni prostora\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "ustvarjanje raząirjenega razdelka okoli obstoječega ni uspelo\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "preveč vhodnih polj\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Ni več prostora\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Nepravilen tip\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "Opozorilo: podana velikost (%lu) presega največjo dovoljeno (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Opozorilo: prazen razdelek\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Opozorilo: poąkodovan začetek razdelka (najprej %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "neprepoznana zagonska zastavica - izverite - ali *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "delna stz,g,skt specifikacija?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Raząirjen razdelek na nepričakovanem mestu\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "slab vnos\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "preveč razdelkov\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Vnos v sledeči obliki; odsotna polja dobijo privzeto vrednost.\n"
+"<start> <size> <type> [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Ponavadi je potrebno zapisati samo <start> in <size> (včasih tudi <type>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Uporaba:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d razdelkov:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "nevarne izbire:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -G [ali --show-pt-geometry]: izpiąi uganjeno gometrijo iz tabele "
+"razdelkov"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [ali --show-extended]: izpiąi tudi raząirjene razdelke ali\n"
+" pričakuj opisnike na vhodu"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Uporaba:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s naprava\t\t izpiąi dejavne razdelke na napravi\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s naprava ąt1 ąt2 ... aktiviraj razdelek n1 ..., deaktiviraj ostale\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s - Naprava\t aktivira razdelek n, deaktivira ostale\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Uporabite --force izbiro da obidete vsa preverjanja.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "ni ukaza?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "Neveljavno ątevilo: %s\n"
+
+#: fdisks/sfdisk.c:2752
+#, fuzzy, c-format
+msgid "total: %llu blocks\n"
+msgstr "skupno: %llu blokov\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "uporaba: sfdisk --print-id naprava ąt. razdelka\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "uporaba: sfdisk --change-id naprava ąt. razdelka Id\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "uporaba: sfdisk --id naprava ąt. razdelka [Id]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "navedete lahko samo eno napravo (razen z -l ali -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "%s ni mogoče odpreti za branje in pisanje\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "%s ni mogoče odpreti za branje\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld stez, %ld glav, %ld sektorjev/sled\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "Velikosti %s ni mogoče ugotoviti\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "slab dejavni bajt: 0x%x namesto 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Opravljeno\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Imate %d dejavnih primarnih razdelkov. Za LILO to ni teľava,\n"
+"ampak DOS MBR se bo naloľil samo z diskov, ki imajo 1 dejaven razdelek.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "razdelek %s ima id %x in ni skrit\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "Slab Id %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Ta disk je trenutno v rabi.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Usodna napaka: %s ni mogoče najti\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Opozorilo: %s ni blokovna naprava\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Preverjam, da nihče ne uporablja tega diska ...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Ta disk je trenutno v rabi - ponovno razdeljevanje je verjetno slaba ideja.\n"
+"Odklopite vse dat. sisteme in izključite vse izmenjalne razdelke na tem "
+"disku.\n"
+"Uporabite --no-reread zastavico da izključite to preverjanje.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Uporabite --force izbiro da obidete vsa preverjanja.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "VREDU\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Staro stanje:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Razdelek %d ne obstaja in ne more biti spremenjen\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Novo stanje:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Te razdelki mi ne ustrezajo - ni sprememb.\n"
+"(Če res ľelite to, uporabite izbiro --force.)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "To mi ne ustreza - verjetno bi morali odgovoriti Ne\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Ali ste zadovoljni s tem? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Ali ľelite zapisati to na disk? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Končujem - brez sprememb\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Prosim, da odgovorizo z y,n,q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Tabela razdelkov je uspeąno zapisana\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Če ste ustvarili ali spremenili razdelek tipa DOS, npr. /dev/foo7, potem "
+"uporabite\n"
+"dd(1) zato, da postavite prvih 512 bajtov na 0: dd if=/dev/zero of=/dev/foo7 "
+"bs=512 count=1\n"
+"(glej fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Izpiąi informacije o različici\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: pisalna napaka.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: --adjust in --noadjfile izbiri se medsebojno izključujeta. Podali ste "
+"obe.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "klic setuid() ni uspel"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "uporaba: namei [-mx] imenik [imenik ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p pisarniąki-tel ]\n"
+"\t[ -h domači-tel ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Izpiąi informacije o različici\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: vi (uporabnik %d) ne obstajate.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: uporabnik \"%s\" ne obstja.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr ""
+"%s: lahko spreminja samo lokalne vnose; namesto tega uporabite yp%s .\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s nima pristojnosti za spreminjanje informacije finger od %s\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+#, fuzzy
+msgid "Unknown user context"
+msgstr "Neznana napaka v uporabniąki zvezi[user context]"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: Ne more se nastaviti privzete zveze[context] za /etc/passwd"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Spreminjam finger informacijo za %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger informacija ni spremenjena.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Prekinjeno.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "polje je predolgo.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "polje je predolgo.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' ni dovoljeno.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' ni dovoljeno.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Nadzorni znaki niso dovoljeni.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Nadzorni znaki niso dovoljeni.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Finger informacija NI spremenjena. Poskusite ponovno kasneje.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell=lupina Nastavi lupinsko konvencijo citiranja\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr ""
+"%s: lahko spreminja samo lokalne vnose; namesto tega uporabite yp%s .\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s nima pristojnosti za spremembo lupine %s\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: Tekoči UID ne ustreza UIDu uporabnika, ki ga aľuriramo, sprememba lupine "
+"zanikana\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "%s: Vaąa lupina ni v /etc/shells, sprememba lupine zanikana\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Spreminjam lupino za %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Nova lupina"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "Lupina ni bila spremenjena.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "Lupina NI bila spremenjena. Poskusite znova kasneje.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Lupina je bila spremenjena.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: lupina mora biti polno ime poti.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" ne obstaja.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" ni izvrąljiva.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Opozorilo: \"%s\" ni na seznamu v /etc/shells.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" ni na seznamu v /etc/shells.\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Ni znanih lupin.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"uporaba: last [-#] [-f dat] [-t tty] [-h ime gostitelja] [uporabnik ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " ąe vedno prijavljen"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp začenja %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"prekinjeno %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "Prijava je potekla po %d sekundah.\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "USODNA NAPAKA: tty ni mogoče znova odpreti: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s ni posebna bločna naprava"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "priklop ni uspel"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() ni uspel: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "USODNA NAPAKA: poąkodovan tty"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Zadnja prijava: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "z računalnika %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "z linije %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "Odpiranje %s ni uspelo"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "TELEFONSKA PRIJAVA Z LINIJE %s, UPORABNIK %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "SKRBNI©KA PRIJAVA Z RAČUNALNIKA %s, UPORABNIK %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "SKRBNI©KA PRIJAVA NA LINIJI %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "PRIJAVA NA LINIJI %s UPORABNIKA %s Z RAČUNALNIKA %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "PRIJAVA NA LINIJI %s UPORABNIKA %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "prijava: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "login: PAM ni uspel, prekinjam: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAM ni moč inicializirati: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "NEUSPE©NA PRIJAVA %d IZ %s ZA UPORABNIKA %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Nepravilna prijava\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "PREVEČ POSKUSOV PRIJAVE (%d) IZ %s ZA %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "NEUSPE©NA PRIJAVNA SEJA IZ %s za %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Neuspeąna prijava\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Napaka pri nastavljanju seje, prekinjam.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "ničelno uporabniąko ime v %s:%d. Prekinjam."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY ni uspel: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h je na voljo samo za sistemskega skrbnika.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"uporaba: last [-#] [-f dat] [-t tty] [-h ime gostitelja] [uporabnik ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Nepravilno uporabniąko ime \"%s\" v %s:%d. Prekinjam."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "klic setuid() ni uspel"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Čaka vas nova poąta.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Čaka vas poąta.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "klic setuid() ni uspel"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Vpisujem se s domačim imenikom = \"/\".\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: skripta ukazne lupine ni moč pognati: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Ni ukazne lupine"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Neveljavna vrednost intervala: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Geslo: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: Taka skupine ni."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Kdo si?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "klic setuid() ni uspel"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: Taka skupine ni."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: dostop zavrnjen"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "klic setuid() ni uspel"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "zagon ni uspel\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "ni mogoče odpreti %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "id-a %s ni mogoče odstraniti (%s)\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: trenutnega imenika ni mogoče dobiti - %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "Signalnega upravljalnika ni mogoče nastaviti"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "iskanje je bilo neuspeąno"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Napačno geslo."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "stanja %s ni mogoče dobiti"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Poskusite `getopt --help' za več informacij.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "uporaba: %s program [izbira ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: uporabnik \"%s\" ne obstja.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: trenutnega imenika ni mogoče dobiti - %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: ni odprto za branje/pisanje"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: ni odprto za branje/pisanje"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: datoteka skupine je v rabi.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Ali res ľelite nadaljevati"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "zagon ni uspel\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "neveljaven id"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: to lahko izvede samo sistemski skrbnik"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "korenski inod ni imenik"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY ni uspel: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: ni mogoče odpreti %s\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: začasne datoteke ni mogoče odpreti.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: preimenovanje %s na %s ni uspelo: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: Ni mogoče dobiti zveze za %s"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: Ni mogoče nastaviti uporabniąke zveze za %s"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s ni spremenjeno\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "vejitev ni mogoča"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: brez sprememb\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Na tem sistemu uporabljate zasenčene skupine.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Na tem sistemu uporabljate zasenčena gesla.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Ali ľelite aľurirati %s [y/n]? "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Nedovoljeno ątevilo glav"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "neveljavna vrednost leta: uporabite 1-9999"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "neveljavna vrednost meseca: uporabite 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "neveljavna vrednost leta: uporabite 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "uporaba: cal [-13smjyV] [[mesec] leto]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "uporaba: %s [+format] [dan mesec leto]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Dan st. Tiba"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "ni mogoče odpreti %s"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "bločna naprava"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "uporabne izbire:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "©tevilka razdelka"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Neznan ukaz: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "beri %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr "Odstrani"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "neznanem"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "napaka pri iskanju"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s %s ni mogoče brati.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc ni uspel"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Razpoloľljivi ukazi:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "Imenik %s ne obstaja!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "neveljavni id: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "dolga prazna izbira po -l ali --long izbira"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "neznana lupina po -s ali -shell izbira"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [izbire] -o|--izbire optstring [izbire] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a. --alternative Dovoli dolge izbire, ki se začnejo z enim -\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h --help Manjąa navodila\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l --longoptions=dolgeizbire Dolge izbire za prepoznavo\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name=imeprograma Ime na katerega se naslavljajo napake\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=nizizbir Kratke izbire za prepoznavo\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr " -q, --quiet Onemogoči getopt(3) poročanje napak\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Brez normalnega izhoda\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell=lupina Nastavi lupinsko konvencijo citiranja\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T. --test Test za različico getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote Ne citiraj izhoda\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Izpiąi informacije o različici\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "manjka izbira nizizbir "
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "notranja napaka, sporočite avtorju."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: neznan signal %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "neveljaven id"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: procesa ni mogoče najti \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: neznan signal %s; veljavni signali:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "uporaba: %s [ -s signal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr "\t%s -l [signal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: neznano ime poslopja[facility]: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: neznano prednostno ime: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "Prijavno ime je predolgo.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "Velikost bloka: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "nfs povezava"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "nfs kanal"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "nfs povezava"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Naslednja datoteka: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "neveljaven id"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "©tevilka razdelka"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "stat imenika ni uspel\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "nastavi samo za branje"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " odstranljiv"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "stat imenika ni uspel\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Neveljavno uporabniąko ime"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "slaba velikost inoda"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "preberi velikost sektorja"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "preberi velikost sektorja"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "slaba velikost inoda"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " u spremeni prikazne/vnosne enote"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount: %s: neznana naprava"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Razpoloľljivi ukazi:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "stat imenika ni uspel\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "ni mogoče dobiti velikosti %s"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "neznanem"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "neveljavni id: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Dobljenih %d bajtov od %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "zagon ni uspel\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "korenski inod ni imenik"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "uporaba: namei [-mx] imenik [imenik ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "Izbira --date je predolga.\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: preimenovanje %s na %s ni uspelo: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: slab argument -l: %s.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "Zapiąi"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "beri %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "stanja %s ni mogoče dobiti"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "%s ni mogoče odpreti: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "%s ni mogoče odpreti: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "%s ni mogoče odpreti: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Napaka pri branju %s\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "neveljaven id"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "neveljaven id"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: slaba vrednost\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Napaka pri spreminjanju načina %s: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "%s ni mogoče odpreti: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: neuspeąno iskanje"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "neveljaven id"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "opozorilo: napaka pri branju %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "opozorilo: ne morem odpreti %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: ni mogoče odpreti %s - uporabljam %s namesto tega\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ni mogoče ustvariti omejitvene datoteke %s: %s (za povozitev uporabi -n)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr "omejitvene datoteke %s ni mogoče vezati : %s (za povozitev uporabi -n)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "omejitvene datoteke %s ni mogoče odpreti: %s (za povozitev uporabi -n)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Omejitvene datoteke %s ni mogoče zakleniti: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "omejitvene datoteke %s ni mogoče zakleniti: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "čas se je iztekel"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Povezave %s ni mogoče ustvariti\n"
+"Mogoče obstaja neveljavna zaklepna datoteka?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "%s ni mogoče odpreti (%s) - mtab ni aľuriran"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "napaka pri pisanju %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: za %s stanje ni znano: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "Napaka pri spreminjanju načina %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "Napaka pri spreminjanju načina %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "ni mogoče preimenovati %s v %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: %s ni mogoče najti v %s ali %s"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: po evidenci mtab je %s ľe priklopljeno na %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: po evidenci mtab je %s priklopljeno na %s<"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: enote %s ni moč odpreti za pisanje: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: napaka pri pisanju na %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: napaka pri spreminjanju načina %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: ni mogoče vejiti: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Poskuąam z %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: za %s niste podali vrste dat. sistema\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr "\tUporabili se bodo vsi tipi omenjeni v %s ali %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr "\tin izgleda kot da je izmenjalni prostor\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr "\tUporabljen bo tip %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s je podoben izmenjalnemu prostoru, zato ne bo priklopljen"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "priklop ni uspel"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: samo sistemski skrbnik lahko priklopi %s na %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: loop naprava je podana dvakrat"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: tip je podan dvakrat"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: nastavitev loop naprave bo preskočena\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: loop naprava %s bo uporabljena\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: po evidenci mtab je %s ľe priklopljeno na %s"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "V pomnilnik ni mogoče zakleniti, končujem.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: nastavitev loop naprave ni uspela\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: loop naprava %s bo uporabljena\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: nastavitev loop naprave ni uspela\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: nastavitev loop naprave ni uspela\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: nastavitev loop naprave je uspela\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s bo ustvarjen, ker ga nisem naąel\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argument pri -p ali --pass-fd mora biti ątevilka"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: %s ni mogoče odpreti za nastavitev hitrosti"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: mount-deprecated/mount.c:1564
+#, fuzzy, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: po evidenci mtab je %s ľe priklopljeno na %s"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: %s je zaposlena - ponovno priklapljam samo za branje\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: %s je zaposlena - ponovno priklapljam samo za branje\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount: Tipa dat. sistema ni bilo mogoče ugotoviti in ni bil podan"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: tip dat. sistema mora biti podan"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: priklop ni uspel"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: priklopna točka %s ni imenik"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: dostop zavrnjen"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: ukaz mount lahko uporablja samo sistemski skrbnik"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s je v rabi"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc je ľe priklopljen"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s je ľe priklopljen ali %s zaposlen"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: priklopna točka %s ne obstaja"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: priklopna točka %s je simbolna povezava do ničesar"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: posebna naprava %s ne obstaja"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: posebna naprava %s ne obstaja\n"
+"\t(pot ni imenik)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s ąe ni priklopljen ali nepravilna izbira"
+
+#: mount-deprecated/mount.c:1758
+#, fuzzy, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: napačen tip dat. sistema, nepravilna izbira, poąkodovan superblok na "
+"%s,\n"
+"\tmanjkajoča kodna stran ali druge napake"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+"\t(to bi lahko bila IDE naprava pri kateri uporabljate\n"
+"\tide-scsi tako, da je potrebno imeti sr0 ali sda)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+"\t(ali poskuąate priklopiti raząirjen razdelek,\n"
+"\tnamesto notranjega logičnega razdelka?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+"\tV nekaterih primerih dobite uporabne informacije v sist. dnevniku\n"
+"\tposkusite z dmesg | tail\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "priklopna tabela je polna"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: superbloka ni mogoče prebrati"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: neznana naprava"
+
+#: mount-deprecated/mount.c:1805
+#, fuzzy, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: neznan tip dat. sistema '%s'"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: verjetno je bilo miąljeno %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: mogoče je bil miąljen 'iso9660'?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: mogoče je bil miąljen 'vfat'?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s ima napačno ątevilko naprave ali pa datotečnosistemski tip %s ni "
+"podprt"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s ni bločna naprava in stat ne uspe?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: jedro ne prepozna %s kot bločne naprave\n"
+"\t(mogoče `insmod gonilnik'?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s ni bločna naprava (poskusite `-o loop'?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s ni bločna naprava"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s ni veljavna bločna naprava"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "bločna naprava"
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: %s%s ni moč priklopiti samo za branje"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s je zaąčitena pred pisanjem ampak podana je `-w' zastavica"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: %s%s ni moč priklopiti samo za branje"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s je zaąčitena pred pisanjem, priklapljam samo za branje"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s je ľe priklopljen v %s\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: tip ni bil podan - predpostavlja se nfs zaradi dvopičja\n"
+
+#: mount-deprecated/mount.c:1987
+#, fuzzy, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount: tip ni bil podan - predpostavlja se smbfs zaradi predpone // \n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s je ľe priklopljen v %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, fuzzy, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Uporaba: mount -V : izpis različice\n"
+" mount -h : izpis te pomoči\n"
+" mount : seznam priklopljenih datotečnih sistemov\n"
+" mount -l : seznam prikl. dat. sist. z oznakami "
+"obsegov\n"
+"To so bile informativne izbire. Ukaz za priklop ima obliko\n"
+" mount [-t tip] naprava imenik\n"
+"Če je naprava ľe navedena v /etc/fstab, lahko podrobnosti izpustimo.\n"
+" mount -a [-t|-O] \t: priklop vseh naprav, navedenih v /etc/"
+"fstab\n"
+" mount naprava \t: priklop naprave na znano priklopno "
+"točko\n"
+" mount imenik \t: priklop znane naprave na imenik\n"
+" mount -t tip naprava imenik : tipičen ukaz mount\n"
+"V resnici pravzaprav ne priklopimo naprave, ampak datotečni sistem "
+"(podanega\n"
+"tipa) na podani napravi.\n"
+"Tudi vidni imenik v obstoječem datotečnem sistemu lahko priklopimo na drugo "
+"točko:\n"
+" mount --bind stari_imenik novi_imenik\n"
+"Mogoče je premakniti tudi celo imeniąko strukturo:\n"
+" mount --move stari_imenik novi_imenik\n"
+"Napravo lahko naslovimo z imenom posebne datoteke, npr. /dev/hda1 ali /dev/"
+"cdrom,\n"
+"z oznako (z izbiro -L oznaka), ali z identifikacijsko ątevilko (z izbiro -U "
+"uuid).\n"
+"Druge izbire: [-nfFrsvw] [-o izbire].\n"
+"Podrobnosti lahko poiąčete v priročniku z ukazom: man 8 mount\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: to lahko izvede samo sistemski skrbnik"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: to lahko izvede samo sistemski skrbnik"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "nič ni bilo priklopljeno"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: takega razdelka nisem naąel"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %s ni mogoče najti v %s ali %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+"[mntent]: opozorilo: na koncu datoteke %s manjka prehod na začetek vrstice\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: vrstici %d in %s sta poąkodovani%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; preostanek datoteke bo ignoriran"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "hroąč v klicu xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "premalo pomnilnika"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: prevajanje je potekalo brez podpore za -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: mount-deprecated/umount.c:171
+#, fuzzy, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: vejitev ni mogoča: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: neveljavna bločna naprava"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ni priklopljena"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: superbloka ni mogoče zapisati"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: neuspeąno iskanje"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: samo sistemski skrbnik lahko odklaplja"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: na dat. sist. bločne naprave niso dovoljene"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: sprememba imenika ni mogoča v %s - %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: trenutnega imenika ni mogoče dobiti - %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: priklopna točka %s ne obstaja"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ni umount2, poskuąam z umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s je zaposlena - ponovno priklapljam samo za branje\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: ponovni priklop %s samo za branje ni mogoč\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s je odklopljen\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: seznama dat. sist. za odklop ni mogoče najti"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Uporaba: umount [-hV]\n"
+"\t umount -a [-f] [-r] [-n] [-v] [-t tip nav. dat. sist.] [-O izbire]\n"
+"\t umount [-f] [-r] [-n] [-v] posebno | vozliąče...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektor %d je ľe dodeljen\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektor %d je ľe dodeljen\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "ni mogoče odklopiti \"\"\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "%s poskuąam odklopiti\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "%s ni mogoče najti v mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "Sektor %d je ľe dodeljen\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s ni priklopljen (glede na mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: izgleda kot da je %s večkrat priklopljen"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s ni v fstab (in vi niste sistemski skrbnik)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: priklop %s je v nasprotju z fstab"
+
+#: mount-deprecated/umount.c:751
+#, fuzzy, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "mount: samo sistemski skrbnik lahko odklopi %s na %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: samo sistemski skrbnik naredi to"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS čez TCP ni podprt.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: za %s ni mogoče najti naprave\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "neveljaven id"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty ni uspel\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty ni uspel\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "neveljaven id"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "neveljavni id: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Neznan ukaz: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "v id je neznana napaka"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "zagon ni uspel\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "uporaba: %s program [izbira ...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "ni mogoče dobiti velikosti %s"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "malloc ni uspel"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" ne obstaja.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Sektor %d je ľe dodeljen\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Sektor %d je ľe dodeljen\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" ni izvrąljiva.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Sektor %d je ľe dodeljen\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Sektor %d je ľe dodeljen\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Samozaznava ni uspela.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Samozaznava ni uspela.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "Neveljavno ątevilo: %s\n"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: neznan argument: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Uporaba: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Za nastavitev obnaąanja Ctrl-Alt-Del morate biti sistemski skrbnik.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: privzeti prag: %ld, in privzeti odmor: %ld\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h --help Manjąa navodila\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Datoteka %s, Za pragovno vrednost %lu, Največ znakov v fifo je bilo %d,\n"
+"in največja hitrost prenosa %f znakov/sekundo\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Datoteka %s, Za pragovno vrednost %lu in vrednost odmora %lu, Največ znakov "
+"v fifo je bilo %d,\n"
+"in največja prenosna hitrost je bila %f znakov/sekundo\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "klic gettimeofday ni uspel"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "Signala CYGETMON ni mogoče izdati na %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Pragu za %s ni mogoče dobiti: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Odmora za %s ni mogoče dobiti: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ątevil, %lu/%lu znakov; fifo: %lu prag, %lu odmor, %lu največ, %lu "
+"trenutna\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f ąt./sek; %f sprejeto, %f poslano (znak/sek)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ąt., %lu znakov, fifo: %lu prag, %lu odmor, %lu največ, %lu "
+"trenutna\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f ąt./sek; %f sprejetih (znak/sek)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Neveljavna vrednost intervala: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Neveljavna vrednost intervala: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Neveljavna privzeta vrednost: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Neveljavna privzeta vrednost: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Neveljavna vrednost za nastavitev časa:%s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Neveljavna vrednost za nastavitev časa:%s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Neveljavna vrednost za privzeti čas: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Neveljavna vrednost za privzeti čas: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "%s ni mogoče nastaviti na prag %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "%s ni mogoče nastaviti na časovni prag %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: trenutni prag: %ld, in trenutni odmor: %ld\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: privzeti prag: %ld, in privzeti odmor: %ld\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Ta razdelek ni uporaben"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "napaka pri zapiranju %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Opozorilo: razdelek %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "sporočila"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Vnesite vrsto datotečnega sistema: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "ni mogoče dobiti velikosti %s"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "ni mogoče dobiti velikosti %s"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Neznan ukaz: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "Imenik %s ne obstaja!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync ni uspel"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "ni mogoče odpreti %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "(Naslednja datoteka: %s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "neveljaven id"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "klic gettimeofday ni uspel"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "ni ukaza?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fsync ni uspel"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "neveljavni id: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "neveljavni id: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "stanja %s ni mogoče dobiti"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "%s ni bločna enota oz. datoteka\n"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "priklop ni uspel"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "ni mogoče odpreti %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: priklopna točka %s ne obstaja"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: preimenovanje %s na %s ni uspelo: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s: neuspeąno iskanje"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " odstranljiv"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Uporbljena bo privzeta vrednost %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: ni mogoče odpreti naprave %s: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s: neuspeąno iskanje"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: ni bločna naprava\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: ni mogoče odpreti naprave %s: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "umount: %s: naprava je zaposlena"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s je uspelo.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "zagon ni uspel\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "open imenika ni uspel\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Preveč argumentov.\n"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "Izbira --date ni bila podana.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "naj. ąt. odsekov = %lu\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "openpty ni uspel\n"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "neveljaven id"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s zahteva argument\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "korenski inod ni imenik"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "klic setuid() ni uspel"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "Izbira --date ni bila podana.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "Izbira --date ni bila podana.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "korenski inod ni imenik"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "openpty ni uspel\n"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "openpty ni uspel\n"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "Izbira --date ni bila podana.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "korenski inod ni imenik"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "openpty ni uspel\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "ni mogoče odpreti %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Privzemamo, da strojna ura teče v %s času.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "krajevnem"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Opozorilo: neprepoznana tretja vrstica v datoteki adjtime\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Zadnja prilagoditev drsenju opravljena %ld sekund po letu 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Zadnje preverjanje mer je bilo opravljeno %ld sekund po letu 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Strojna ura teče v %s času\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Čakamo na tiktak ure...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...dobili tiktak.\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Neveljavne vrednosti v strojni uri: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Čas strojne ure: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld sekund po letu 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Čas, prebran iz strojne ure: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "Strojno uro nastavljamo na %.2d:%.2d:%.2d = %ld sekund po letu 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Ure ni spremenjena - zgolj preizkus.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Čas, ki je pretekel od referenčnega, je %.6f sekund.\n"
+"Povečujemo zaostanek, da bi dosegli naslednjo celo sekundo.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Registri strojne ure vsebujejo vrednosti ki so bodisi neveljavne\n"
+"(npr. 50. dan v mesecu), bodisi izven naąega dosega (npr. leto 2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f sekund\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "Izbira --date ni bila podana.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "Izbira --date je predolga.\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Vrednost, podana pri izbiri --date ni veljaven datum.\n"
+"Med drugim vsebuje narekovaje.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Izvajamo ukaz date: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Ne moremo pognati ukaza 'date' v lupini /bin/sh, klic popen() ni uspel"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "odziv ukaza date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"Ukaz date, ki ga je pognal %s, je vrnil nepričakovan rezultat.\n"
+"Ukaz je bil:\n"
+" %s\n"
+"Odziv pa:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"Ukaz date, ki ga je pognal %s je vrnil nekaj drugega kot ątevilo, kjer je "
+"bil pričakovan zamenjan čas.\n"
+"Ukaz je bil:\n"
+" %s\n"
+"Odziv pa:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "niz datum %s je enak %ld sekund od leta 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Strojna ura ne vsebuje veljavnega časa, zato nastavljanje sistemskega časa "
+"iz nje ni mogoče.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Kličem settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tc.tc_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Sistemska ura ne bo nastavljena, ker se izvaja testiranje.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Samo sistemski skrbnik lahko nastavlja sistemsko uro.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "klic settimeofday() ni uspel"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr "Faktor drsenja ne bo nastavljen, ker je strojna ura vsebovala smeti.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Faktor drsenja ne bo nastavljen, ker ja zadnji kalibracijski čas 0,\n"
+"zgodovina je zato poąkodovana. Potrebna je ponovna kalibracija.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Faktor drsenja ne bo nastavljen, zato ker je minil manj kot en dan od zadnje "
+"kalibracije.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Ura je drsela %.1f sekund v zadnjih %d sekundah, navkljub temu da je faktor "
+"drsenja %f sekund/dan.\n"
+"Prilagajam faktor drsenja za %f sekund/dan\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Čas od zadnje prilagoditve je %d sekund\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "Potrebno je vstaviti %d sekund in previti čas za %.6f sekund\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "adjtime ne bo posodobljen zaradi testnega načina.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Na %s bi bilo napisano sledeče:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Drsne prilagoditve parametrov ne bodo posodobljene.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"Strojna ura ne vsebuje veljavnega časa, zato se je ne more prilagoditi.\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Faktor drsenja ne bo nastavljen, ker ja zadnji kalibracijski čas 0,\n"
+"zgodovina je zato poąkodovana. Potrebna je ponovna kalibracija.\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"Potrebna prilagoditev je manjąa od ene sekund, zato ura ne bo nastavljena.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Uporabljam %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Iskanje uporabnega urinega vmesnika ni bilo uspeąno.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Sistemske ure se ne da nastaviti.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Jedro hrani razdobno vrednost za Strojno uro samo na Alpha stroju.\n"
+"Ta kopija strojne ure je bila zgrajena za drugega\n"
+"(in zdaj verjetno ne teče na Alpha stroju). Brez ukrepov.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Vrednosti epoch ni mogoče dobiti od jedra.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Jedro predpostavlja, da je vrednost epoch %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr "Če hočete nastaviti vrednost epoch, morate uporabiti izbiro 'epoch'\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Epoch ne bo nastavljen na %d - samo preizkuąam.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Vrednosti epoch ni bilo moľno nastaviti.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d razdelkov:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" povej hwclocku tip alpha, ki ga imap (glej hwclock(8))\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "Sistemske ure se ne da nastaviti.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "neveljaven id"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s ne sprejema argumentov brez izbir. Podali ste: %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "%s: --noadjfile morate podati skupaj z --utc ali --localtime\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Ni uporabnega nastavitvenega časa. Ura ne bo nastavljena.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "®al lahko samo sistemski skrbnik spreminja strojno uro.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "®al lahko samo sistemski skrbnik spreminj sistemsko uro.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"®al lahko samo sistemski skrbnik spreminja razdobje strojne ure v jedru.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "Do strojne ure ni mogoče dostopati po znanih metodah.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr "Uporabite --debug izbiro, za podrobnosti o iskanju metode dostopa.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "zagnano iz MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ura Ruffian BCD\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "vrata ure naravnana na 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "zabavna IGRAČA!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: atomski %s neuspeąen v 1000 ponovitvah!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "Dovoljenja mi ni uspelo pridobiti, ker nisem poskusil.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "%s ne more dobiti dostopa do V/I vrat: klic iopl(3) neuspeąen.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Verjetno potrebujete pravice skrbnika sistema.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Čakam v zanki na spremembo časa iz KDGHWCLK\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl za branje časa ni uspelo"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl za branje časa ni uspelo v zanki"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Sprememba časa je trajala predolgo.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK ni uspel"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "/dev/tty1 ali /dev/vc/1 ni mogoče odpreti"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl ni uspel"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "klic ioctl() k %s za branje časa ni uspel\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Čakam v zanki na spremembo časa iz %s\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s nima prekinitvenih funkcij."
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "klic read() k %s za čakanje na premik ure ni uspel"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "klic select() k %s za čakanje na premik ure ni uspel"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "klic select() k %s za čakanje na premik ure je trajal predolgo\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "klic ioctl() k %s za izklop posodabljanja prekinitev ni uspel"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"klic ioctl() k %s za vklop posodabljanja prekinitev nepričakovano ni uspel"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "klic ioctl() k %s za nastavitev časa ni uspel.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "klic ioctl(%s) je bil uspeąen.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Za spreminjanje vrednosti razdobja v jedru je potrebno imeti dostop do "
+"Linuxovega 'rtc' gonilnika naprave skozi posebno datoteko naprave %s. Na tem "
+"sistemu ta datoteka ne obstaja.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "klic ioctl(RTC_EPOCH_READ) k %s ni uspel"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "prebrana je bila vrednost razdobja %ld iz %s z RTC_EPOCH_READ ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr ""
+"Vrednost razdobja mora biti večja ali enaka 1900. Zahtevana je bila %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "nastavljam vrednost razdobja na %ld z RTC_EPOCH_SET ioctl na %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Gonilnik jedra za %s nima RTC_EPOCH_SET ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) k %s ni uspel"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output Brez normalnega izhoda\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Segment deljenega pomnilnika shmid=%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"msqid sporočilne vrste = %d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "dodeljeni semaforji = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"semid Polj semaforjev=%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Izpiąi informacije o različici\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Segment deljenega pomnilnika shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"msqid sporočilne vrste = %d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"semid Polj semaforjev=%d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "za ključ dostop zanikan"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "za id je dostop zavrnjen"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "neveljaven ključ"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "neveljaven id"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "ključ je ľe bil odstranjen"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "id je ľe odstranjen"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "klic setuid() ni uspel"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "neveljavni id: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Preveč argumentov.\n"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "vir/i so zbrisani\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: nedovoljen ključ (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "za deljen pomnilnik jedro ni nastavljeno\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "za semaforje jedro ni pravilno nastavljeno\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "za sporočilne vrste jedro ni pravilno nastavljeno\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: neznan argument: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : podrobnosti o viru prepoznanem po id\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "nevarne izbire:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "za deljen pomnilnik jedro ni nastavljeno\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---- Omejitve deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "naj. ąt. odsekov = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "naj. velikost odseka (kB) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "naj. skupno deljenega pom. (strani) = %lu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "najmanj. vel. odseka (B) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "---- Stanje deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "---- stvarniki/lastniki deljenega pomnilniąkega odseka ----\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "dovoljenja"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "---- Deljeno pomnilniąki pripeti/odpeti/spremenjeni časi ----\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "lastnik"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "pripeto"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "odpeto"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "spremenjeno"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "---- Stvaritelj deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "---- Segmenti deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "ključ"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "bajtov"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "stanje"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Nenastavljeno"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "ponor"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "zaklenjen"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "za semaforje jedro ni pravilno nastavljeno\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "---- Omejitve semaforjev ----\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "naj. ąt. polj = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "naj. ąt. semaforjev na polje = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "naj. sistemskih semaforjev = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "naj. ąt. operacij na klic semop = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "naj. vrednost semaforja = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "---- Stanje semaforja ----\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "uporabljena polja = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "dodeljeni semaforji = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "---- stvarniki/lastniki polj semaforjev ----\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "---- Časi operacij/sprememb deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "zadnja-op"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "zadnja sprememba"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "---- Semaforna polja ----\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "ątsem"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "za sporočilne vrste jedro ni pravilno nastavljeno\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "---- Sporočila: Omejitve ----\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "naj. sistemskih vrst = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "naj. velikost sporočila (B) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "naj. privzeta velikost vrste (B) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "---- Sporočila: Stanje ----\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "dodeljene vrste = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "uporabljene glave = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "porabljen prostor = %d bajtov\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "---- Sporočilna vrsta: stvarniki/lastniki ----\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "idsporvrst"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "---- Časi oddaje/sprejema/spremembe sporočilnih vrst ----\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "poąlji"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "sprejmi"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "spremeni"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "---- PID-i sporočilnih vrst ----\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "---- Sporočilne vrste ----\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "porabljeni-bajti"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "sporočila"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync ni uspel"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Segment deljenega pomnilnika shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "način=%#o\tdostop_dovoljenja=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bajti=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_čas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_čas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "čas_spremembe=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync ni uspel"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"msqid sporočilne vrste = %d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "oddajni_čas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "sprejemni_čas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid Polj semaforjev=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "način=%#o, dostop_dovoljenja=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "ątsem = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "ątsem"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "vrednost"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "neveljavni id: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "neveljaven id"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "neveljaven id"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "neveljavni id: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s ni posebna bločna naprava"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "ni mogoče dobiti velikosti %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "ni mogoče dobiti velikosti %s"
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Iskanje na disku ni mogoče"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "ni mogoče dobiti velikosti %s"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", odmik %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", omejitev_velikosti %lld"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", ąifriranje %s (tip %d)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"uporaba:\n"
+" %s loop_naprava\t\t\t\t\t# dobi informacije\n"
+" %s -d loop_naprava\t\t\t\t\t# zbriąi\n"
+" %s -f\t\t\t\t\t\t# najdi neuporabljene\n"
+" %s [-e ąifriranje] [-o odmik] {-f|loop_naprava} dat. # nastavitev\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: loop naprava je podana dvakrat"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "Izbira --date ni bila podana.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "V pomnilnik ni mogoče zakleniti, končujem.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: za %s ni mogoče najti naprave\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "ponovno preberi tabelo razdelkov"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: priklop ni uspel"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "Brez"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "preberi velikost sektorja"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "preberi velikost sektorja"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "nfs kanal"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Staro stanje:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: to lahko izvede samo sistemski skrbnik"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: to lahko izvede samo sistemski skrbnik"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: samo sistemski skrbnik lahko priklopi %s na %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: to lahko izvede samo sistemski skrbnik"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s iz %s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "napaka pri iskanju"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "stanja %s ni mogoče dobiti"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s je ľe priklopljen v %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: samo sistemski skrbnik lahko priklopi %s na %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s je ľe priklopljen v %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: %s ni mogoče najti v %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: %s ni mogoče najti v %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: %s ni mogoče najti v %s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "mount: Tipa dat. sistema ni bilo mogoče ugotoviti in ni bil podan"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: tip dat. sistema mora biti podan"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: ni mogoče povezati %s: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: priklop ni uspel"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "priklop ni uspel"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: priklop ni uspel"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: priklopna točka %s ni imenik"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: ukaz mount lahko uporablja samo sistemski skrbnik"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s je v rabi"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s je ľe priklopljen ali %s zaposlen"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s je ľe priklopljen v %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: priklopna točka %s ne obstaja"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: priklopna točka %s je simbolna povezava do ničesar"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: posebna naprava %s ne obstaja"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "priklop ni uspel"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: posebna naprava %s ne obstaja\n"
+"\t(pot ni imenik)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s ąe ni priklopljen ali nepravilna izbira"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s ąe ni priklopljen ali nepravilna izbira"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: napačen tip dat. sistema, nepravilna izbira, poąkodovan superblok na "
+"%s,\n"
+"\tmanjkajoča kodna stran ali druge napake"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+"\tV nekaterih primerih dobite uporabne informacije v sist. dnevniku\n"
+"\tposkusite z dmesg | tail\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: superbloka ni mogoče prebrati"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: neznan tip dat. sistema '%s'"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s ni bločna naprava in stat ne uspe?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: jedro ne prepozna %s kot bločne naprave\n"
+"\t(mogoče `insmod gonilnik'?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s ni bločna naprava (poskusite `-o loop'?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: ni bločna naprava\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s ni veljavna bločna naprava"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: %s%s ni moč priklopiti samo za branje"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s je zaąčitena pred pisanjem ampak podana je `-w' zastavica"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: %s%s ni moč priklopiti samo za branje"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s je zaąčitena pred pisanjem, priklapljam samo za branje"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s je ľe priklopljen v %s\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: preimenovanje %s na %s ni uspelo: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: priklop ni uspel"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "korenski inod ni imenik"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s je priklopljen.\t "
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld blokov\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS sekundarni"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "slaba velikost inoda"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "naj. ąt. odsekov = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "naj. ąt. odsekov = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "naj. ąt. odsekov = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "sporočila"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "dobiprioriteto"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "naj. ąt. odsekov = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Neveljavno uporabniąko ime"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "bločna naprava"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Enote"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d razdelkov:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "nevarne izbire:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: --adjust in --noadjfile izbiri se medsebojno izključujeta. Podali ste "
+"obe.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Prvi Zadnji\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unqote Ne citiraj izhoda\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Izpiąi informacije o različici\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h --help Manjąa navodila\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T. --test Test za različico getopt(1)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "napaka pri pisanju %s: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Vzorčni_korak: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): napačna preslikovalna(map) vrstica\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: \"_stext\" ni mogoče najti v %s\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s: profil naslova je izven dometa. Napačna preslik.(map) dat.?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "skupno"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s iz %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Neznan ukaz: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "nepravilna vrednost za prekoračitev časa: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "uporabnik"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: stara prioriteta %d, nova prioriteta %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "klic gettimeofday ni uspel"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "dodeljeni semaforji = %d\n"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "dodeljeni semaforji = %d\n"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "klic gettimeofday ni uspel"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: neprepoznan tip tabele razdelkov"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "neveljaven id"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "neveljaven id"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Uporabljam %s.\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Uporabljam %s.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s ni lp naprava.\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "Sporočilo iz %s@%s na %s pri %s ..."
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "Sporočilo iz %s@%s na %s pri %s ..."
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "(Naslednja datoteka: %s)"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "uporaba: %s program [izbira ...]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr "Poskusite `getopt --help' za več informacij.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr "Poskusite `getopt --help' za več informacij.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: neprepoznan tip tabele razdelkov"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Preveč argumentov.\n"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "uporaba: %s program [izbira ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "vejitev: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "klic setuid() ni uspel"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "zagon ni uspel\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s na %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "Niste sistemski skrbnik.\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d zbriąi razdelek"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "stat imenika ni uspel\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "stat imenika ni uspel\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Označi, da je v rabi"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "nastaviprioriteto"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "zagon ni uspel\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Odpiranje %s ni uspelo"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Ime"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: opozorilo: %s ima nevarna dovoljenja %04o, svetujem %04o\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: opozorilo: %s ima nevarna dovoljenja %04o, svetujem %04o\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: dat. %s ne bo upoątevana zaradi lukenj.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s na %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Razpoloľljivi ukazi:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: za %s ni mogoče najti naprave\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "korenski inod ni imenik"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "%s poskuąam odklopiti\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: trenutnega imenika ni mogoče dobiti - %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unqote Ne citiraj izhoda\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unqote Ne citiraj izhoda\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "nepravilna vrednost za prekoračitev časa: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s ni lp naprava.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "napaka pri LPGETIRQ"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s stanje je %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", zaposlen"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", pripravljen"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", papirja je zmanjkalo"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", povezano"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", napaka"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fsync ni uspel"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "napaka pri LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s uporablja IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s uporablja glasovanje\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "priklop ni uspel"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: priklop ni uspel"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: neveljavna bločna naprava"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: superbloka ni mogoče prebrati"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: samo sistemski skrbnik lahko odklaplja"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: na dat. sist. bločne naprave niso dovoljene"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "uporaba: %s program [izbira ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Prijava je potekla po %d sekundah.\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Prijava je potekla po %d sekundah.\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "bločna naprava"
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "stanje"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "stanja %s ni mogoče dobiti"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "mount: %s: neznana naprava"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: neznan argument: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: ni mogoče odpreti naprave %s: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Razpoloľljivi ukazi:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: neznan signal %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "izmenjalne naprave ni mogoče previti"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Odmora za %s ni mogoče dobiti: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "iskanje ni uspelo v write_tables"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f sekund\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "čas se je iztekel"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Naprava"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s različica %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: ne more izvesti %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "Napaka pri spreminjanju načina %s: %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: procesa ni mogoče najti \"%s\"\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ne more izvesti %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "nepravilna vrednost za prekoračitev časa: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "nepravilna hitrost: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "preveč različnih hitrosti"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: ni mogoče odpreti kot standardni vhod: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ni znakovna naprava"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: ni odprto za branje/pisanje"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: napaka pri prevari: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "vrsta: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: beri: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: vhod je preplavljen"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "uporabnik"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "uporabniki"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "iskanje je bilo neuspeąno"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "je y\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "je n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "dodeljeni semaforji = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "neveljavni id: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Opozorilo: `%s' je povezava.\n"
+"Uporabite `%s [izbire] %s' če jo ľelite uporabiti.\n"
+"Skript ni bil izvrąen.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script se je začel, dat. je %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Script se je začel na %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: za %s ni mogoče najti naprave\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script končan na %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script končan, dat. je %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty ni uspel\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "Zmanjkalo pty-jev\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Odpiranje %s ni uspelo"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "naj. ąt. odsekov = %lu\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "klic ioctl() ni uspel prebrati časa iz %s"
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: Nepričakovan konec datoteke v %s\n"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: Napake pri izbiri, uporabi\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "vejitev ni mogoča"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "vejitev ni mogoča"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "%s ne morem odpreti\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "ni mogoče nastaviti powersave načina\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "naprave %s ni mogoče odpreti za branje\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "klogctl napaka: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Napaka pri branju zaslonskega izpisa\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Ni mogoče odpreti %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM ni določen.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: neznan signal %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "preveč iov-jev (spremeni kodo v wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "prekoračitev dolľine vrstice argumenta"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "vejitev ni mogoča"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "vejitev: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "nepravilna vrednost za prekoračitev časa: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Velikosti diskovne steze ni mogoče prebrati"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Prejeto sporočilo od %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: %s ne bo prebran - uporabi stdin.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "(Naslednja datoteka: %s)"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "uporaba: namei [-mx] imenik [imenik ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: imena vaąega tty ni mogoče najti\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: dovoljenje za pisanje imate izklopljeno.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s ni prijavljen na %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s ima onemogočena sporočila na %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s se ni prijavljen\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s ima onemogočena sporočila\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s se je prijavil več kot enkrat; piąem v %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Vhodna vrstica je predolga.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Sporočilo iz %s@%s (kot %s) na %s pri %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Sporočilo iz %s@%s na %s pri %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "malloc ni uspel"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: pisalna napaka.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: slab argument -l: %s.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: opozorilo: varnostno kopiranje %s ni mogoče.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "za prvo vrstico"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- vrstica je ľe splaknjena"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: slab argument -l: %s.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: slab argument -l: %s.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "neveljaven id"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "naj. ąt. odsekov = %lu\n"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: neznana moľnost \"-%c\"\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: imenik ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Ni znakovna datoteka ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Za izhod uporabite q ali Q]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Naprej--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Naslednja datoteka: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Pritisnite preslednico za nadaljevanje, Q za izhod.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...nazaj za %d strani"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...nazaj za eno stran"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...preskok vrstice"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...preskok %d vrstic"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Nazaj***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Krpa regularnega izraza"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"Večini ukazv se lahko doda celoątevilski argument k. Privzeto v oklepajih.\n"
+"Zvezdica (*) pomeni, da bo argument od sedaj naprej privzet.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<preslednica> Prikaľi naslednjih k vrstic besedila [trenutna "
+"velikost zaslona]\n"
+"z Prikaľi naslednjih k vrstic besedila [trenutna "
+"velikost zaslona]\n"
+"<enter> Prikaľi naslednjih k vrstic besedila [1]*\n"
+"d ali ctrl-d Pomakni se za k vrstic [trenutna pomična hitrost, "
+"ponavadi 11]*\n"
+"q, Q ali <prekinitev> Prekini izpis\n"
+"s Preskoči k vrstic besedila [1]\n"
+"f Preskoči k zaslonov besedila [1]\n"
+"b ali ctrl-B Prekoči k zaslonov besedila nazaj [1]\n"
+"' Pojdi na prostor začetka prejąnjega iskanja\n"
+"= Prikaľi ątevilko vrstice\n"
+"/<regularni izraz> Poiąči k-to pojavitev regularnega izraza [1]\n"
+"n Poiąči k-to pojavitev zadnjega reg. izraza [1]\n"
+"!<ukaz> ali :!<ukaz> Zaľeni ukaz v podlupini\n"
+"v Zaľeni /usr/bin/vi na trenutni vrstici\n"
+"ctrl-L Osveľi zaslon\n"
+":n Pojdi na k-to datoteko za trenutno [1]\n"
+":p Pojid na k-to datoteka pred trenutno [1]\n"
+":f Prikaľi ime trenutne datoteke in ątevilko vrstice\n"
+". Ponovi prejąnji ukaz\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Pritisnite 'h' za navodila.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" vrstica %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Ni datoteka] vrstica %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Prekoračitev\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...preskok\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Vzorca ni moč najti\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Vzorca ni moč najti"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "zagon ni uspel\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "vejitev ni mogoča\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"... Preskok "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "... Preskok na datoteko "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "... Preskok nazaj na datoteko "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Vrstica je predolga"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Zaradi neobstoječega prejąnjega ukaza zamenjava ni mogoča"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "vrstica je predolga"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: ątevec bajtov je naveden z večkratnimi pretvornimi znaki.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: slab ątevec bajtov za pretvorni znak %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: %%s zahteva bodisi natančnost bodisi ątevec bajtov.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: slaba oblika [%s]\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: slab pretvorni znak %%%s.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p Prepiąi tabelo razdelkov na zaslon ali v datoteko"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : ne zapiąi sprememb na disk"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Izpiąi informacije o različici\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Izpiąi informacije o različici\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: izbira zahteva argument -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: nedovoljena izbira -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "... preskok naprej\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "... preskok nazaj\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Naslednje datoteke ni"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Prejąnje datoteke ni"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Napaka pri branju iz datoteke %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Nepričakovan konec datoteke v %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Neznana napaka v datoteki %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Začasne datoteke ni mogoče ustvariti\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "napaka RE: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Shranjenega iskalnega niza ni"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "ni mogoče odpreti %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "shranjeno"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !ukaz ni dovoljen v rflag načinu.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "klic fork() ni uspel, poskusite pozneje\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Naslednja datoteka: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "Izbira --date ni bila podana.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "pri branju terminfo baze podatk. je priąlo do napake"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Na vhodu je neznano ubeľno zaporedje: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Vhodna vrstica je predolga.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "openpty ni uspel\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "stanja naprave %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Ni mogoče odpreti %s\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "openpty ni uspel\n"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "'%s' ni mogoče odpreti"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "stanja naprave %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "stanja naprave %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Ta disk je označek kot tipa DOS in tipa BSD.\n"
+#~ "Uporabite 'b' ukaz, da preidete v BSD način.\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "ni mogoče odpreti %s"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: ni mogoče odpreti %s\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "%s ni mogoče odpreti za branje\n"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Ni mogoče odpreti %s\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "stanja naprave %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "stanja naprave %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "iskanje je bilo neuspeąno"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Odprtje vrat /dev/port: %s ni uspelo"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "klic open() za %s ni uspel"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Odpiranje %s ni uspelo"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Ni mogoče odpreti %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "stanja %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "stanja %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "stanja %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "(Naslednja datoteka: %s)"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "Datoteke ,%s` ni mogoče odpreti"
+
+#~ msgid "Cannot open "
+#~ msgstr "Ni mogoče odpreti "
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "\"%s\" ni mogoče odpreti za branje\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "stanja naprave %s ni mogoče dobiti"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "uporaba: %s [-hv] [-d imenik] datoteka\n"
+#~ " -h prikaľi to pomoč\n"
+#~ " -x imenik raząiri v imenik\n"
+#~ " -v prikaľi več informacij\n"
+#~ " datoteka datoteka, ki jo testiramo\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Uporaba: %s [-larvsmf] /dev/ime\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "Naprava izmenjalnega prostora ne bo ustvarjena na ,%s`"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "stanja naprave %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Ne boste mogli zapisati tabele razdelkov.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Razdelek %i se ne začne na meji stez:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "moral bi biti (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "moral bi biti (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Disk %s ne vsebuje veljavne tabele razdelkov\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "%s ne morem odpreti\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "To jedro najde velikost sektorja samostojno - -b izbire ni upoątevana\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "je zmanjkalo pomnilnika?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: prezgoden konec vnosa\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: %s ni mogoče odpreti: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Podali ste več funkcij.\n"
+#~ "Izvedete lahko samo eno funkcijo naenkrat.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: --utc in --localtime izbiri se medsebojno izključujeta. Podali ste "
+#~ "obe.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: --adjust in --noadjfile izbiri se medsebojno izključujeta. Podali ste "
+#~ "obe.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: --adjust in --noadjfile izbiri se medsebojno izključujeta. Podali ste "
+#~ "obe.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount: hitrosti ni mogoče nastaviti: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: datoteka %s je v rabi (%s dosegljiva)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "Vrednost izven dosega.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "stanja %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "Neuspeąno zapisovanje razdelka na %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "neveljavni id: %s\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: nastavitev loop naprave ni uspela\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "ni mogoče odpreti %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: Nepričakovan konec datoteke v %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "Izbira --date je predolga.\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "dodeljeni semaforji = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: slaba vrednost dolľine.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: slaba vrednost preskoka.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Uporaba: %s [-ątevilo] [-p niz] [-cefnrs] [+vrstica] [+/vzorec/] "
+#~ "[datoteke]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "napaka pri iskanju"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "vejitev ni uspela\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "iskanje je bilo neuspeąno"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d zbriąi razdelek tipa BSD"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l izpiąi znane datotečne sisteme"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n dodaj novo particijo tipa BSD"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p izpiąi BSD-jevo tabelo razdelkov"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t spremeni id razdelčnega datotečnega sistema"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u spremeni enote (steze/sektorji)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p izpiąi tabelo razdelkov"
+
+#, fuzzy
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Ustvarja se nova oznaka diska tipa DOS. Spremembe bodo ostale v "
+#~ "pomnilniku\n"
+#~ "dokler se ne odločite, da jih boste zapisali. Po tem prejąnja vsebina\n"
+#~ "ne bo več obnovljiva.\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Naprava ne vsebuje veljavne tabele razdelkov tipa DOS, niti oznake diska "
+#~ "tipa Sun, SGI ali OSF\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Notranja napaka\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tZa tabele particij tipa SGI ľal ni strokovnega menija.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Ali se zavedate, da se vam na disku prekrivajo razdelki?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Ustvarja se nova SGI oznaka diska. Spremembe bodo ostale v pomnilniku\n"
+#~ "samo, dokler se ne odločite, da jih boste zapisali. Potem bo prejąnja\n"
+#~ "vsebina nepovrnljiva.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "pomnilnika je zmanjkalo - zaključujem\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "vpis: vpis je lahko neuspeąen,ker je malo prostega pomnilnika\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "za ttyclass ni mogoče dodeliti pomnilnika"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "za grplist ni mogoče dodeliti pomnilnika"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Vpis na %s iz %s je zanikan(privzeto).\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Vpis na %s iz %s je zanikan.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Uporaba: %s [ -f polno-ime] [ -o pisarna ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "login: PAM ni uspel, prekinjam: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Uporaba: %s [ -s lupina ] [ --list-shells ] [ --help] [ --version ]\n"
+#~ " [ uporabniąko ime]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr ""
+#~ "%s: lahko spreminja samo lokalne vnose; namesto tega uporabite yp%s .\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: Ne more se nastaviti privzete zveze[context] za /etc/passwd"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "iskanje je bilo neuspeąno"
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: uporabite -l za izpis seznama\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Uporabite %s -l za izpis seznama.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "uporaba: login [-fp] [uporabnik]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "zmanjkalo je pomnilnika"
+
+#~ msgid "Illegal username"
+#~ msgstr "Neveljavno uporabniąko ime"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s na tem terminalu je vpis zanikan.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "VPIS %s ZANIKAN OD %s NA TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "LOGIN %s ZANIKAN NA TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Prijava ni uspela\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "dodeljeni semaforji = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: vejitev ni uspela: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s prijava: "
+
+#~ msgid "NAME too long"
+#~ msgstr "IME je predolgo"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "Prijavno ime je predolgo.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "Prijavna imena se ne morejo začeti z znakom '-'.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "PREKOMERNI pomiki v novo vrsto"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "preveč pomikov v novo vrsto\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "NEUSPE©NA PRIJAVA Z %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "NEUSPE©NA PRIJAVA NA %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d NEUSPE©NIH PRIJAV Z %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d NEUSPE©NIH PRIJAV NA %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: datoteka skupine je v rabi.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr "%s: ni mogoče odkleniti %s: %s (vaąe spremembe so ąe vedno v %s)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "malloc ni uspel"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "Disk %s ne vsebuje veljavne tabele razdelkov\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "openpty ni uspel\n"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: uporabnik \"%s\" ne obstja.\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: informacij o napravi %s ni mogoče dobiti: %s\n"
+
+#, fuzzy
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", odmik %d"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", ąifrirni tip %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: informacij o napravi %s ni mogoče dobiti: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: ni mogoče odpreti naprave %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: za vpogled v /dev/loop# ni dovoljenja"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: loop naprave ni mogoče najti. Mogoče to jedro ne ve za napravo\n"
+#~ "\tte vrste. (Če je to res, ponovno prevedi jedro ali si pomagaj z "
+#~ "`modprobe loop'.)"
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Pri povečevanju medpomnilnika je zmanjkalo pomnilnika.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "Sektor %d je ľe dodeljen\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "mount: %s%s je zaąčitena pred pisanjem, priklapljam samo za branje"
+
+#, fuzzy
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu): uspeh\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): uspeh\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: naprave %s ni mogoče zbrisati: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Program mount je bil preveden brez podpore za loop. Poskusite ponovno "
+#~ "prevesti mount.\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Med prevajanjem ni bilo podpore za loop napravo. Poskusite ponovno "
+#~ "prevesti.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Uporaba: %s [-q [-i interval]] ([-s vrednost]|[-S vrednost]) ([-t "
+#~ "vrednost]|[-T vrednost]) [-g|-G] dat [ dat...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "%s ni mogoče odpreti: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: %s ni mogoče odpreti: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: slaba vrednost\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "vejitev ni uspela\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "zastarela raba: %s {skup_medpom | sporčlo | id_semfrja} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "neznan vir: %s\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "v ključu je neznana napaka "
+
+#~ msgid "unknown error in id"
+#~ msgstr "v id je neznana napaka"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s ponuja informacije o ipc poslopjih za katere imate bralni dostop\n"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s iz %s\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Uporaba: \"%s [izbire]\n"
+#~ "\t -m <preslikdat> (privzeta: \"%s\" in\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-dat> (privzeto: \"%s\")\n"
+#~ "\t -M <mult> nastavi profilni večkratnik na <mult>\n"
+#~ "\t -i izpiąi informacije o vzorčnem koraku\n"
+#~ "\t -v podatke izpiąi gostobesedno\n"
+#~ "\t -a izpiąi vse simbole, tudi če je preątevek 0\n"
+#~ "\t -b izpiąi samostojne histogramske preątevke\n"
+#~ "\t -s izpiąi samostojne preątevke znotraj funkcij\n"
+#~ "\t -r ponovno nastavi vse ątevce (lahko samo skrbnik)\n"
+#~ "\t -n onemogoči samozaznavo bajtnega reda\n"
+#~ "\t -V izpiąi različico in izhod\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: napaka pri pisanju na %s: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr "Poskusite `getopt --help' za več informacij.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "uporaba: %s program [izbira ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Uporaba: %s <naprava> [ -i <IRQ> | -t <ČAS> | -c <ZNAKI> | -w <ČAKAJ> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s |\n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: slaba vrednost\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr "Finger informacija spremenjena.\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "Napaka pri zapiranju datoteke\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "®al lahko spremenite Oznako nepraznih razdelkov.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Opozorilo: razdelek %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Opozorilo: razdelki %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "in %s se prekrivata\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "naprava: npr. /dev/hda ali /dev/sda"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "bajtov"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr "\t%s -l [signal ]\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [naprave]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] ukazi naprave\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Razpoloľljivi ukazi:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: ni mogoče odpreti %s\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "napaka pri iskanju"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "uporaba: %s [ -n ] naprava\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: ni bločna naprava\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc ni uspel"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: napaka pri razčlenjevanju izbir\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Uporaba: %s [-x] [-d <ąt>] slika-iso9660\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Uporaba: %s [-b] [-N ąt. inodov] [-V ime-obsega[volume]]\n"
+#~ " [-F ime dat. sistema] naprava [ąt. blokov]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "stanja %s ni mogoče dobiti"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "ni mogoče dobiti velikosti %s"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "vejitev ni uspela\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr "Uporaba: %s [-c] [-v0|-v1] [-p vel. strani] /dev/ime [bloki]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Zmanjkalo je pomnilnika"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "Uporaba:\n"
+
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menu brez smeri. Privzeta je vodoravno."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Izbrisati morate nek razdelek in najprej dodati raząirjen razdelek\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Ukazna akcija\n"
+#~ " %s\n"
+#~ " p primarni razdelek (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [ali --show-size]: izpiąi velikost razdelka"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [ali --id]: izpiąi ali spremeni Id razdelka"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [ali --list]: izpiąi razdelke za vsako napravo"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [ali --dump]: podobno kot prej, ampak v obliki, uporabni za "
+#~ "kasnejąi vnos"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr " -i [ali --increment]: ątevilo stez, npr. od 1 namesto od 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: sprejmi/poročaj v enotah sektorjev/blokov/stez/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [ali --list-types]:izpiąi znane tipe razdelkov"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [ali --DOS]: za zdruľljivost z DOS-om: porabi malo prostora"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [ali --re-read]: prisili jedro v ponovno branje tabele razdelkov"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : spremeni samo razdelke s ątevilko #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O datoteka : shrani sektorje, ki bodo prepisani v datoteki"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I datoteka: ponovno obnovi te sektorje"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [ali --version]: izpiąi različico"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [ali --help]: izpiąi to sporočilo"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [ali --show-geometry]: izpiąi geometrijo tako, kot ga razume jedro"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [ali --Linux]: ne pritoľuj se nad stvarmi, ki niso pomembne "
+#~ "za Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [ali --quiet]: ne prikaľi opozoril"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Zaznano geometrijo lahko obidete tako da uporabite:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# [ali --cylinders #]:nastavi ątevilo stez"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [ali --heads #]: nastavi ątevilo glav"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [ali --sectors #]: nastavi ątevilo sektorjev"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Vsa doslednostna preverjanja lahko onemogočite z:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr " -f [ali --force]: naredi kar rečem brez ugovorov"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: tip dat. sistema mora biti podan"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Uporaba: mkfs [-V] [-t tip dat. sistema] [izbire dat. sist.] naprava "
+#~ "[velikost]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "%s ni mogoče odpreti: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s iz %s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "Dodelitev medpomnilnika za inode ni moľna"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Poskusite `getopt --help' za več informacij.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Uporaba: getopt optstring parametri\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [izbire] [--] optstring parametri\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parametri\n"
+
+#, fuzzy
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getpot (raząirjen) 1.1.3\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Pričakovano: `UTC' ali `LOCAL` ali nič.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - povpraąaj in nastavi strojno uro (RTC)\n"
+#~ "\n"
+#~ "Uporaba: hwclock [funkcija] [izbire...]\n"
+#~ "\n"
+#~ "Funkcije:\n"
+#~ " --help prikaľi to pomoč\n"
+#~ " --show preberi strojno uro in izpiąi rezultat\n"
+#~ " --set nastavi rtc na čas podan z --date\n"
+#~ " --hctosys nastavi sistemski čas na strojno uro\n"
+#~ " --systohc nastavi strojno uro na sistemski čas\n"
+#~ " --adjust ponastavi rtc, tako da se upoąteva sistemsko drsenje\n"
+#~ " odkar je bil ura nazadnje nastavljena\n"
+#~ " --getepoch izpiąi razdobje jedrove strojne ure\n"
+#~ " --setepoch nastavi razdobje jedrove strojne ure na vrednost\n"
+#~ " podano z --epoch\n"
+#~ " --version izpiąi različico hwclock na standardni izhod\n"
+#~ "\n"
+#~ "Izbire: \n"
+#~ " --utc strojna ura je shranjena v koordiniranem univerzalnem "
+#~ "času\n"
+#~ " --localtime strojna ura je shranjena v lokalnem času\n"
+#~ " --directisa do ISA vodila dostopaj neposredno namesto %s\n"
+#~ " --badyear prezri rtcjevo leto, zato ker je bios poąkodovan\n"
+#~ " --date poda čas, na katerega je nastavljena strojna ura\n"
+#~ " --epoch=leto podaj leto, ki je začetna vrednost epohe strojne ure\n"
+#~ " --noadjfile ne dostopaj do /etc/adjtime. Zahteva uporabo --utc ali\n"
+#~ " --localtime\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "za začetni niz ni mogoče dodeliti pomnilnika"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Uporaba: %s [-hiLmw] [-l vpisni_program] [-t odmor] [-I začetniniz] [-H "
+#~ "vpisno ime gostitelja] hitrost_prenosa_v_baudih,... vrstica "
+#~ "[tipterminala]\n"
+#~ "ali\t[-hiLmw] [-l vpisni_program] [-t odmor] [-I začetniniz] [-H vpisno "
+#~ "ime gostitelja] vod hitrost_prenosa_v_baudih,... [tipterminala]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "uporaba: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s RESNA NAPAKA"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "uporaba: %s [datoteka]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s %s ni mogoče brati.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "uporaba: logger [-is] [-f dat] [-p prednost] [-t značka] [-u vtičnica] "
+#~ "[ sporočilo ...]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "uporaba: look [-dfa] [-t znak] niz [datoteka]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "je zmanjkalo pomnilnika?\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "klic: %s iz na datoteke...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "uporaba: script [-a] [-f] [-q] [-t] [datoteka]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "napaka pri pisanju na %s\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "napaka pri pisanju na %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term ime_terminala ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [-snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ atribut ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 ... ] ] (ąt. tab-ov = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 ... ] ] (ąt. tab-ov = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#, fuzzy
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-©T_UPRAVLJALNIKOV] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-©T_UPRAVLJALNIKOV] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq frekvenčna_ąt. ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "uporaba: last [-#] [-f dat] [-t tty] [-h ime gostitelja] [uporabnik ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr "\t%s -l [signal ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM imenik ... -f ] ime...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "uporaba: write uporabnik [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: %s ni mogoče odpreti: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "neznanem"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Uporaba: shutdown [-h|-r] [-fqs] [now|hh:ss|+minut]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Postopek zaustavitve prekinjen"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Sistem lahko zaustavi samo sistemski skrbnik.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "To se mora zgoditi jutri, ali ne morete počakati do takrat?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "za vzdrľevanje"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Sistem se bo zaustavil čez pet minut"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Prijava zato ni dovoljena."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "ponovno zagnal uporabnik %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "ustavil uporabnik %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Zakaj sem ąe vedno aktiven po ponovnem zagonu?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Zdaj lahko varno izklopite računalnik."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Kličem jedrovo izključitveno metodo...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Napaka pri izključevanju\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Zaganjam program \"%s\" ...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Napaka pri izvajanju\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "NUJNO: oddaj sporočilo iz %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Sistem se bo ustavil čez %d ur in %d minut."
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Sistem se bo ustavil čez eno uro in %d minut."
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Sistem se bo ustavil čez %d minut.\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Sistem se bo ustavil čez eno minuto.\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Sistem se ustavlja ZDAJ.\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Ni mogoče vejiti za izklučitev izmenjalnega prostora."
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr ""
+#~ "izključitve izmenjalnega prostora ni mogoče izvesti, upam, da bo umount "
+#~ "uspel"
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Umount vejitev ni uspela, poizkuąam ročno"
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Ni moč izvesti %s, poskuąam z umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Ni moč izvesti umount, nadaljni poskusi opuąčeni."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Odklapljam preostale datotečne sisteme..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Umount ni uspel z %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Zagon v enouporabniąkem načinu.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "izvedba enouporabniąke lupine ni uspela\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "vejitev enouporabniąke lupine ni uspela\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "napaka pri odpiranju fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "napaka pri nastavljanju zapiranja pri izvrąitvi na /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "napaka med izvajanjem poslednjega programa\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "napak pri vejitvi poslednjega programa\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Napačno geslo.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "lstat imenika ni uspel\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "vejitev ni uspela\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "inittab ni mogoče odpreti\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "ni terminala ali ni mogoče dostopati do tty\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "napaka pri zaustavljanju storitve: \"%s\""
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "napaka pri zaustavljanju storitve: \"%s\""
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "napaka pri zaustavljanju storitve: \"%s\""
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Uporaba: %s [-c] [-n stopnja] [-s vel_medpom]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "Odpiranje %s ni uspelo"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "malloc ni uspel"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "uporaba: col [-bfpx] [-l ątlinije]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "uporaba: %s [ - ] [ -2 ] [ dat ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e oblika] [-f oblk_dat] [-n dolľina] [-s preskok] "
+#~ "[dat ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "uporaba: %s [-dflpcsu] [+vrstica | +/vzorec] ime1 ime2 ...\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: branje %s ni mogoče.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: vrstica je predolga.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "uporaba: %s [datoteka]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "malloc ni uspel"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Uporaba: tailf dnevdat[log]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "Uporaba: %s [ -i ] [ -tTerm ] dat...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "%s ni mogoče odpreti\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Dodeljevanje pomnilnika ni več mogoče\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "3x dobljen EOF - Končujem..\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: malloc ni uspel.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: dobi ime gostitelja"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Zmanjkalo je prostega pomnilnika\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Imenik %s ne obstaja!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: ni prostega pomnilnika za lupinski skript.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: ni ukazne lupine: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: nastavi gid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: Dostop zanikan"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: nastavi uid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: Ni mogoče vejiti\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s %s ni mogoče brati.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s ni mogoče dobiti stanja začasne datoteke.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: ni mogoče brati iz začasne datoteke.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "napaka pri pisanju na %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "napaka pri iskanju"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " in "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: neznan uporabnik\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: nepravilna vrednost\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) je nadomeąčen s programom hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: hexdump(1) ne podpira izbire -%c izbir%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; glejte strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Razdelek se konča v zadnji delni stezi"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: zmanjkalo pomnilnika\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "Odpiranje %s ni uspelo"
+
+#, fuzzy
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: nedovoljen ključ (%s)\n"
+
+#, fuzzy
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: nedovoljena izbira -- %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "ni mogoče preimenovati %s v %s: %s\n"
+
+#, fuzzy
+#~ msgid "rtc read"
+#~ msgstr ", pripravljen"
+
+#~ msgid "malloc error"
+#~ msgstr "napaka v malloc"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "uporaba: column [-tx] [-c stolpec] [dat ...]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "Zmanjkalo je pomnilnika"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "Za medpomnilnik ni mogoče dodeliti prostora.\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "Uporaba: rev [dat ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Za medpomnilnik ni mogoče dodeliti pomnilnika.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Pri povečevanju medpomnilnika je zmanjkalo pomnilnika.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: nedovoljena izbira -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "%d dodeljenih odsekov\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "%ld dodeljenih strani\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "%ld prisotnih strani\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "%ld izmenjanih strani\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Učinkovitost izmenjalnega prostora: %ld poskusov\t %ld uspeąnih\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "napaka med izvajanjem poslednjega programa\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#, fuzzy
+#~ msgid "current"
+#~ msgstr "ncount"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "Nova"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#, fuzzy
+#~ msgid "Linux JFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Uporaba: fdisk [-b velsekt] -[u] DISK Spremeni tabelo razdelkov\n"
+#~ " fdisk -l [-b velsekt] -[u] DISK Izpiąi tabelo/e razdelkov\n"
+#~ " fdisk -s RAZDELEK Vrni velikost/i razdelkov v "
+#~ "blokih\n"
+#~ " fdisk -v Vrni različico fdisk-a\n"
+#~ "DISK je lahko /dev/hdb ali /dev/sda\n"
+#~ "RAZDELEK je lahko /dev/hda7\n"
+#~ " velsekt - velikost sektorja\n"
+#~ "-u: vrni Začetek in Konec v sektorskih (namesto v steznih) enotah\n"
+#~ "-b 2048: (za nekatere MO diske) uporabi sektorje velikosti 2048-bajtov\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Uporaba: fdisk [l] [-b velsekt] [-u] naprava\n"
+#~ "Npr.: fdisk /dev/hda (za prv IDE disk)\n"
+#~ " ali: fdisk /dev/sdc (za prvi SCSI disk)\n"
+#~ " ali: fdisk /dev/eda (za prvi PS/2 ESDI disk)\n"
+#~ " ali: fdisk /dev/rd/c0d0 ali fdisk /dev/ida/c0d0 (za RAID naprave)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "©tevilo stez na tem disku je nastavljeno na %d.\n"
+#~ "S tem ni nič narobe, ampak to je večje kot 1024,\n"
+#~ "in bi lahko v določenih primerih povzročilo teľave z:\n"
+#~ "1) programjem, ki deluje med zaganjanjem (npr. stare različice LILO)\n"
+#~ "2) zagonskim in razdeljevalnim programjem drugih\n"
+#~ "operacijskih sistemov(npr. DOS FDISK, OS/2 FDISK)\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: %s bo ustvarjen, ker ga nisem naąel\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "uporaba : %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h za pomoč.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Specifikacija vira:\n"
+#~ "\t-m : deljen_pom\n"
+#~ "\t-q : sporočila\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semaforji\n"
+#~ "\t-a : vse (privzeto)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Oblika Izhoda:\n"
+#~ "\t-t : čas\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : stvarnik\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : omejitve\n"
+#~ "\t-u : povzetek\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "napaka RE: "
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "napaka pri branju %s\n"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr "uporaba: rdev [ -rv ] [ -o ODMIK ] [ SLIKA [ VREDNOST [ ODMIK ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (ali rdev /linux, itn.) prikaľe trenutno korensko napravo"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr ""
+#~ " rdev /dev/fd0 /dev/hda2 nastavi korensko napravo na /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 nastavi kor. zastavice (samo za branje)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 nastavi velikost pom. diska"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/df0 1 nastavi zagonski grafični način"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N. ... uporabi bajtni odmik N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... enako kot rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... enako kot rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... enako kot rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Opomba: grafični načini so: -3=Vpraąaj, -2=Raząirjen, -1=NavadniVGA, "
+#~ "1=ključ1, 2=ključ2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " uporabi -R 1 za priklop korenske naprave v načinu samo za branje, -R "
+#~ "0 pa za branje/pisanje"
+
+#~ msgid "missing comma"
+#~ msgstr "vejica manjka"
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "zmanjkalo je pomnilnika"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "%lld nedodeljenih sektorjev\n"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "začetek"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Največja velikost=%ld\n"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX zagonski"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Lupina ni bila spremenjena.\n"
+
+#, fuzzy
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: napaka: oznaka samo z v1 izmenjalnim prostorom\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "usodna napaka: prva stran neberljiva"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: Enota '%s' vsebuje veljavno Sunovo oznako diska.\n"
+#~ "To pomeni, da bi ustvarjanje izmenjalnega prostora v0 uničijo "
+#~ "razdelitveno\n"
+#~ "tabelo. Izmenjalni prostor ni bil ustvarjen. Če res ľelite ustvariti "
+#~ "izmenjalni prostor v0 na tej napravi, uporabite izbiro -f.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: sprememba na korenski imenik ni mogoča!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: neznano stanje sist. skrbnika!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: prekoračitev medpomnilnika\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr "preklop v imenik %s - %s (%d) ni mogoč\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr "teľave pri branju simb. povezave %s - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** PREKORAČITEV UNIX-ove MEJE SIMB. POVEZAV ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: neznan tip datoteke 0%06o v dat. %s\n"
+
+#, fuzzy
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: %s bo priklopljen glede na UUID-om\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: %s bo priklopljen glede na oznako"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: Ni mogoče vejiti\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "odklop %s ni uspel - poskuąam z %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#, fuzzy
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM ni uspel, prekinjam: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "%s ni mogoče prebrati, zaključujem."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM ni uspel, prekinjam: %s\n"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: \"%s\" gre v ozadje\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: predaja se \"%s\"\n"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "`%s': poąkodovan imenik: '.' ni na prvem mestu\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "`%s': poąkodovan direktorij: '..' ni na drugem mestu\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "kličem open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "kličem termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "zapisujem začetni niz\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "pred autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "čakam na cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "berem prijavno ime\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "po getopt zanki\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "zaključujem pregled argumentov\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "vstop v pregled hitrosti\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "zaključujem pregled hitrosti\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "prevara\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "Napaka v geslu."
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Opozorilo: \"%s\" ni na seznamu v /etc/shells\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "časovna omejitev = %d, tiąina = %d, ponovni zagon = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "no mogoče brati %s in ni mogoče dobiti izpisa ioctl\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", odmik %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: naprave /dev/loop# ni mogoče najti"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "uporaba: %s [-hV]\n"
+#~ "\t %s -a [-e] [-v]\n"
+#~ "\t %s [-v] [-p prednost] posebna_dat|LABEL=obsegovo_ime ...\n"
+#~ "\t %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "uporaba: %s [-hV]\n"
+#~ "\t %s -a [-v]\n"
+#~ "\t %s [-v] posebna_dat\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: %s ni mogoče odpreti: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "uporaba: renice prioriteta [ [ -p ] pid-i ] [ [ -g ] pskup ] [ [ -u ] "
+#~ "uporabniki ]\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: neznana moľnost \"-%c\"\n"
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES. Raise this value in mkcramfs.c and recompile. "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "Prekoračen MAXENTRIES. Povečajte top vrednost v mkcramfs in ponovno "
+#~ "prevedite. Končujem.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Privzemamo strani velikosti %d (in ne %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "Samozaznava je naąla: %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Tip pogona\n"
+#~ " ? samozaznava\n"
+#~ " 0 po meri (s privzetimi izbirami samozaznave)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Izberite tip (? za samozaznavo, 0 za po meri): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Alternativne steze"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Fizične steze"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Vse diskovne parametre lahko spremenite v meniju x"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" mehki disk"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux po meri"
+
+#, fuzzy
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s od util-linux-%s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: napaka: oznaka %s se pojavi na %s in %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: %s ni mogoče odpreti, zato pretvorba med UUID in OZNAKA ni mogoča.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: poąkodovan UUID"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: nfs priklop ni uspel z različico 4, poskuąam s 3..\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: priklaplja se %s\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: pri ugibanju vrste dat. sist. je priąlo do napake\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: izbira gostitelj:imenik je predolga\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: opozorilo: večkratna imena gostiteljev niso podprta\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: priklopni imenik ni oblike gostitelj:imenik\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: za %s ni mogoče dobiti naslova\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: poąkodovan hp->h_length\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: predolg parameter izbire\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Opozorilo: izbira proto= je neznana.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Opozorilo: Izbira namlen ni podprta.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "priklopni parameter nfs je neznan: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Opozorilo: izbira nolock ni podprta.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "priklopna izbira nfs je neznana: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: poąkodovan hp->h_length?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "streľnik nfs je sporočil, da storitev ni dosegljiva"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "za iskanje NFS vrat je bil uporabljen portmapper\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "uporabljajo se %d vrata za demona nfs\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "nfs-jeva povratna vrednost stanja ni znana: %d "
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "gostitelj: %s, imenik: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: naslova za %s ni mogoče dobiti\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: poąkodovan hostp->h_length\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: neveljaven cramfs - poąkodovana dolľina poti\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: neveljaven cramfs - napačen tip datoteke\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr "%s: opozorilo - dolľina datoteke je predolga, dopolnjena slika?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: neveljaven cramfs - napaka v nadzorni vsoti\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: neveljaven cramfs - poąkodovan superblok\n"
+
+#~ msgid "%s: not compiled with minix v2 support\n"
+#~ msgstr "%s: ni prevedeno s podporo za Minix v2\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Skladenjska napaka: ,%s`\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr " %s [ -p ] enota ime\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ " %s [ -p ] enota vel sekt glav stez razteg presl stopnja spec1 fmt_gap\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] enota\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] enota\n"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Brez (%02X)"
+
+#~ msgid "version"
+#~ msgstr "različica"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "Prijavljenih je ľe preveč uporabnikov.\n"
+#~ "Poskusite pozneje.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Hkrati teče preveč vaąih procesov.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "Geslo mora biti dolgo vsaj 6 znakov, poskusite ąe enkrat.\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "Geslo mora vsebovati tako črke (velike ali male), kot ątevke ali druge\n"
+#~ "ne-alfanumerične znake. Izčrpnejąa navodila so na voljo v passwd(1).\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "Starega gesla ne morete znova uporabiti.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr "Prosim, da za geslo ne uporabljate uporabniąkega imena.\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr "Prosim, da za geslo ne uporabljate vaąega imena.\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Uporaba: passwd [uporabnik [geslo]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr ""
+#~ "Samo sistemski skrbnik lahko uprablja obliko z enim ali dvema "
+#~ "argumentoma.\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Uporaba: passwd [-foqsvV] [uporabnik [geslo]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "Ni moč pognati %s: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "Prijavnega imena ni moč najti"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Samo sistemski skrbnik lahko spreminja gesla drugih uporabnikov.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr "Uporabniąkega imena ni moč najti. Je ,%s` res uporabnik?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr ""
+#~ "S tem ukazom lahko spreminjate samo lokalna gesla. Uporabite yppasswd."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "UID in uporabniąko ime se ne ujemata"
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "Spreminjamo geslo za %s\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Vnesite staro geslo: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Geslo ni veljavno."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Vnesite novo geslo: "
+
+#~ msgid "Password not changed."
+#~ msgstr "Geslo ni bilo spremenjeno."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Ponovno vnesite novo geslo: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Gesli se ne ujemata. Geslo ni bilo spremenjeno."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "geslo spremenjeno, uporabnik %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "SKRBNI©KO GESLO SPREMENJENO"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "geslo spremenil skrbnik, uporabnik %s"
+
+#~ msgid "Password *NOT* changed. Try again later.\n"
+#~ msgstr "Geslo NI BILO spremenjeno. Poskusite pozneje.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Geslo je bilo spremenjeno.\n"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "Can't open help file"
+#~ msgstr "Datoteke s pomočjo ni mogoče odpreti"
diff --git a/po/stamp-po b/po/stamp-po
new file mode 100644
index 0000000..9788f70
--- /dev/null
+++ b/po/stamp-po
@@ -0,0 +1 @@
+timestamp
diff --git a/po/sv.gmo b/po/sv.gmo
new file mode 100644
index 0000000..946cd59
--- /dev/null
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..bf1a0a8
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,18388 @@
+# Swedish messages for util-linux.
+# Copyright (C) 2001, 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
+# Christian Rose <menthos@menthos.com>, 2001, 2002, 2003, 2004.
+# Daniel Nylander <po@danielnylander.se>, 2007.
+#
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.13.1-rc1\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2007-11-14 09:20+0100\n"
+"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
+"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "kan inte öppna %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "ogiltigt id"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "ogiltigt id"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "ogiltigt id"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "läs om partitionstabellen"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "ställ in som skrivskyddad"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "ställ in som läs och skriv"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "hämta skrivskyddad"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+#, fuzzy
+msgid "get logical block (sector) size"
+msgstr "hämta sektorstorlek"
+
+#: disk-utils/blockdev.c:93
+#, fuzzy
+msgid "get physical block (sector) size"
+msgstr "hämta sektorstorlek"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "felaktig storlek pĂĄ inod"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "Extra sektorer per cylinder"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "hämta blockstorlek"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "ställ in blockstorlek"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "hämta 32-bitars sektorantal"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "hämta storlek i byte"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "ställ in förvägsläsning"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "hämta förvägsläsning"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "ställ in filsystemsförvägsläsning"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "hämta filsystemsförvägsläsning"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "töm buffertar"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "läs om partitionstabellen"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "hämta storlek i 512-byte sektorer"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Kan inte hämta diskstorlek"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Okänt kommando: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s kräver ett argument\n"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s misslyckades.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s lyckades.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: ioctl-fel pĂĄ %s\n"
+
+#: disk-utils/blockdev.c:469
+#, fuzzy, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ Startsektor Storlek Enhet\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "användning: sfdisk --id enhet partitionsnummer [Id]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "läs om partitionstabellen"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "användning:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s är ingen blockenhet eller fil\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Formaterar... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "klar\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Verifierar... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Läste: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problem vid läsning av cylinder %d, förväntade %d, läste %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"felaktig data pĂĄ cylinder %d\n"
+"Fortsätter... "
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s frĂĄn %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "(Nästa fil: %s)"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: inte en blockenhet\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "Kunde inte avgöra nuvarande formattyp"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%ssidig, %d spĂĄr, %d sektorer/spĂĄr. Total kapacitet %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Dubbel"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Enkel"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s är monterad.\t "
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s hittades inte"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "kan inte ta status pĂĄ %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "sökfel"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Synkroniserar hĂĄrddiskar.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s lyckades.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "%s misslyckades.\n"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "sökfel"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s hittades inte"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "grening misslyckades\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "openpty misslyckades\n"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() misslyckades"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: fel %d vid uppackning! %p(%d)\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s är ingen lp-enhet.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: okänd filsystemstyp \"%s\""
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "Kan inte allokera buffert.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Tvingar filsystemskontroll pĂĄ %s.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: %s är ingen lp-enhet.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s avmonterad\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Avmonterar alla ĂĄterstĂĄende filsystem..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Avmonterar alla ĂĄterstĂĄende filsystem..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: okänt argument: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Skriv ut versionsinformation\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: varning--kan inte avgöra filsystemsstorlek \n"
+
+#: disk-utils/fsck.cramfs.c:158
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s är ingen blockenhet eller fil\n"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: ogiltigt cramfs--fillängden är för kort\n"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Nästa fil: %s)"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Ange typen av filsystem: "
+
+#: disk-utils/fsck.cramfs.c:188
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Antal sektorer"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Varning: partition %s fortsätter utanför hårddisken\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: varning--gammal cramfs-avbild, ingen CRC\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+#, fuzzy
+msgid "crc error"
+msgstr ", fel"
+
+#: disk-utils/fsck.cramfs.c:324
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "rotinoden är inte en katalog"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " hĂĄl vid %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " packar upp block vid %ld till %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: Icke-blockbyte (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:394
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: Icke-storleksbyte (%ld gentemot %ld)\n"
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Nästa fil: %s)"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "montering misslyckades"
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "montering misslyckades"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "felaktigt timeoutvärde: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() misslyckades: %m"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "felaktig storlek pĂĄ inod"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: storleksfel i symboliska länken \"%s\"\n"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync misslyckades"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: felaktiga rättigheter på \"%s\" (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:584
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "montering misslyckades"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "%s: ogiltigt cramfs--katalogdataslut (%ld) != fildatabörjan (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:625
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: ogiltigt cramfs--ogiltigt fildataavstĂĄnd\n"
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: kompilerad utan stöd för -x\n"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file dumpfilnamn ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "behöver terminal för interaktiva reparationer"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Skriv ut versionsinformation\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s är monterad.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Vill du verkligen fortsätta"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "kontroll avbruten.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zonnummer < \"FIRSTZONE\" i filen \"%s\"."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zonnummer >= \"ZONES\" i filen \"%s\"."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Ta bort block"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Läsfel: kan inte söka till blocket i filen \"%s\"\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Läsfel: felaktigt block i filen \"%s\"\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Internt fel: försöker att skriva felaktigt block\n"
+"Skrivbegäran ignoreras\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "sökning misslyckades i \"write_block\""
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Skrivfel: felaktigt block i filen \"%s\"\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "sökning misslyckades i \"write_super_block\""
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "kan inte skriva superblock"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Kan inte skriva inodstabell"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Kan inte skriva zontabell"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Kan inte skriva inoder"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "sökning misslyckades"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "kan inte allokera buffertar för tabeller"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "kan inte läsa superblock"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "felaktig magisk siffra i superblocket"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Endast 1 kB stora block/zoner stöds"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "felaktigt \"s_imap_blocks\"-fält i superblocket"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "felaktigt \"s_zmap_blocks\"-fält i superblocket"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Kan inte allokera buffert för inodstabell"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Kan inte allokera buffert för zonkarta"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Kan inte allokera buffert för inoder"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Kan inte allokera buffert för inodsräknare"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Kan inte allokera buffert för zonräknare"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Kan inte läsa inodstabell"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Kan inte läsa zontabell"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Kan inte läsa inoder"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Varning: \"Firstzone\" != \"Norm_firstzone\"\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inoder\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld block\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "\"Firstdatazone\"=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonstorlek=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxstorlek=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "FilsystemstillstĂĄnd=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"\"namelen\"=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inod %d är markerad som oanvänd, men används för filen \"%s\"\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Märk som använd"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Filen \"%s\" har rättigheterna %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Varning: antalet inoder är för stort.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "rotinoden är inte en katalog"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Blocket har använts tidigare. Nu i filen \"%s\"."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Töm"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Block %d i filen \"%s\" är markerat som oanvänt."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Korrigera"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+"Katalogen \"%s\" innehåller ett felaktigt inodsnummer för filen \"%.*s\"."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Ta bort"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: felaktig katalog: \".\" kommer inte först\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: felaktig katalog: \"..\" kommer inte pĂĄ andra plats\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "internt fel"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: felaktig katalog: storlek < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "sökning misslyckades i \"bad_zone\""
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Inod %d är inte tömd."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inod %d är oanvänd, markerad som använd i bittabellen."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inod %d är använd, markerad som oanvänd i bittabellen."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Ställ in"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inod %d (rättighet = %07o), i_nlinks=%d, räknade=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Ställ i_nlinks till räknat antal"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Zon %d: markerad som använd, ingen fil använder den."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Avmarkera"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Zon %d: används, räknade=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Zon %d: används inte, räknade=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "felaktig storlek pĂĄ inod"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "felaktig storlek pĂĄ v2-inod"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "behöver terminal för interaktiva reparationer"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "kan inte öppna %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s är rent, ingen kontroll.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Tvingar filsystemskontroll pĂĄ %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Filsystemet på %s är smutsigt, behöver kontroll.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inoder används (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zoner används (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d vanliga filer\n"
+"%6d kataloger\n"
+"%6d teckenenhetsfiler\n"
+"%6d blockenhetsfiler\n"
+"%6d länkar\n"
+"%6d symboliska länkar\n"
+"------\n"
+"%6d filer\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"-----------------------\n"
+"FILSYSTEMET HAR Ă„NDRATS\n"
+"-----------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: sökfel på %s\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: läsfel på %s\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektorantal: %d, sektorstorlek: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "Ogiltigt tal: %s\n"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "volymnamnet är för långt"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "filsystemsnamnet är för långt"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s är ingen blockspecialenhet"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "ogiltigt id"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "kan inte hämta storleken på %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "blockargumentet är för stort, max är %lu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "för många inoder - max är 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "inte tillräckligt med utrymme, behöver minst %lu block"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Enhet: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volym: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Filsystemsnamn: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blockstorlek: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inoder: %d (i 1 block)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inoder: %d (i %ld block)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Block: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inodsslut: %d, dataslut: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "fel vid skrivning av superblock"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "fel vid skrivning av rotinod"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "fel vid skrivning av inod"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "sökfel"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "fel vid skrivning av \".\"-post"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "fel vid skrivning av \"..\"-post"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "fel vid stängning av %s"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Användning: mkfs [-V] [-t filsystemstyp] [filsystemsflaggor] enhet "
+"[storlek]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, fuzzy, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"användning: %s [-h] [-v] [-b blkstrl] [-e utgåva] [-i fil] [-n namn] katnamn "
+"utfil\n"
+" -h visa denna hjälptext\n"
+" -v var informativ\n"
+" -E gör alla varningar till fel (slutstatus inte noll)\n"
+" -b blkstrl använd denna blockstorlek, måste vara lika med sidstorlek\n"
+" -e utgåva ställ in editionsnummer (del av fsid)\n"
+" -i fil infoga en filavbild i filsystemet (kräver >= 2.4.0)\n"
+" -n namn ställ in namnet på cramfs-filsystemet\n"
+" -p fyll ut med %d byte för startkod\n"
+" -s sortera katalogposter (gammal flagga, ignorerad)\n"
+" -z skapa explicita hål (kräver >= 2.3.39)\n"
+" katnamn rot för filsystemet som ska komprimeras\n"
+" utfil utdatafil\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "rotinoden är inte en katalog"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Mycket lĂĄngt (%u byte) filnamn \"%s\" hittades.\n"
+" Ă–ka MAX_INPUT_NAMELEN i mkcramfs.c och kompilera om. Avslutar.\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "filsystemet är för stort. Avslutar.\n"
+
+# · (centered dot) is normally used as the multiplication sign in Swedish.
+# See "Svenska skrivregler" §260.
+#
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: block \"komprimerat\" till > 2·blocklängd (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d byte)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: ogiltig blockenhet"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "aktivera rtc-alarm"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"varning: uppskattning av begärd storlek (övre gräns) är %Ld MB, men maximal "
+"avbildsstorlek är %u MB. Vi kan dö i förtid.\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Inklusive: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Katalogdata: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Allting: %d kilobyte\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblock: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"inte tillräckligt med utrymme allokerat för ROM-avbild (%lld allokerat, %d "
+"använt)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "ROM-avbildsskrivning misslyckades (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "varning: filnamn avkortade till 255 byte.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "varning: filer hoppades över på grund av fel.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "varning: filstorlekar avkortade till %lu MB (minus 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"varning: uid avkortade till %u bitar (detta kan vara ett säkerhetsproblem).\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"varning: gid avkortade till %u bitar (detta kan vara ett säkerhetsproblem).\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"VARNING: enhetsnummer avkortade till %u bitar. Detta betyder med största\n"
+"sannolikhet att en del enhetsfiler kommer att vara felaktiga.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Användning: %s [-c | -l filnamn] [-nXX] [-iXX] /dev/namn [block]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s är monterad; kommer inte att skapa ett filsystem här!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "sökning till startblock misslyckades i \"write_tables\""
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "kan inte tömma startsektor"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "sökning misslyckades i \"write_tables\""
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "kan inte skriva superblock"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "kan inte skriva inodstabell"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "kan inte skriva zontabell"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "kan inte skriva inoder"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "sökning misslyckades i \"write_block\""
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "skrivning misslyckades i \"write_block\""
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "för många felaktiga block"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "inte tillräckligt med korrekta block"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "kan inte allokera buffertar för tabeller"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "kan inte allokera buffertar för tabeller"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "kan inte allokera buffert för inoder"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld inoder\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld block\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxstorlek=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "sökning misslyckades under test av block"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Konstiga värden i \"do_check\": troligtvis programfel\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "sökning misslyckades i \"check_blocks\""
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "felaktiga block före dataområde: kan inte skapa filsystem"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d felaktiga block\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "ett felaktigt block\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "kan inte öppna fil med felaktiga block"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "Kan inte inte läsa diskenhet"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "felaktig storlek pĂĄ inod"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol-fel: antalet block är inte angivet"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "umount: %s: enheten är upptagen"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "kan inte hämta storleken på %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "kommer inte att försöka skapa filsystem på \"%s\""
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "Antal sektorer"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Användardefinierade sidstorleken %d är felaktig\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Använder användardefinierade sidstorleken %d istället för systemvärdet %d\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr "Felaktig storlek på växlingshuvud, ingen etikett skrevs.\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "Etiketten var avkapad.\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "ingen etikett, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "inget uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "för många felaktiga sidor"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "sökning misslyckades i \"check_blocks\""
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "en felaktig sida\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu felaktiga sidor\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "kan inte allokera buffert för inoder"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "kan inte allokera buffert för inoder"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "kan inte tömma startsektor"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "kan inte tömma startsektor"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p skriv ut BSD-partitionstabell"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s visa fullständig disketikett"
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr " s visa fullständig disketikett"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "sökning misslyckades"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "allokerade semaforer = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: fel: version %d är okänd\n"
+
+#: disk-utils/mkswap.c:530
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr "Fel vid stängning av fil\n"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: fel: Ingenstans att skapa växlingsutrymme?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "ogiltigt id"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: fel: storleken %lu är större än enhetsstorleken %lu\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: fel: växlingsutrymmet måste vara minst %ld kB\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: varning: avkortar växlingsutrymmet till %ld kB\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s: fel: %s är monterad; kommer inte att skapa växlingsutrymme.\n"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Varning: %s är ingen blockenhet\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Kan inte ställa in växlingsutrymme: oläsbart"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Ställer in växlingsutrymme version %d, storlek = %llu kB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "kan inte skriva signatursida"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync misslyckades"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: %s: kunde inte fĂĄ selinux-filetikett: %s\n"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "kunde inte matchpathcon()"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "kunde inte skapa nytt selinux-sammanhang"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "kunde inte beräkna selinux-sammanhang"
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "%s: kan inte byta etikett pĂĄ %s till %s: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Partitionsnummer"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Visa bara partitionstabellen"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "Misslyckades med att skriva partitionen pĂĄ %s\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Antal sektorer"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Partitionsnummer"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Skriver partitionstabell till disk..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# partitionstabell för %s\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "Kan inte allokera buffert.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: kunde inte hitta nĂĄgon ledig slingenhet"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: kommer att använda slingenheten %s\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Okänt kommando: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "sökning misslyckades i \"write_tables\""
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Valde partition %d\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Inga partitioner är angivna\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Denna partition finns redan.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Valde partition %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "är inte innesluten i partition %s\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Varning: partitionerna %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Inga partitioner är angivna\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s misslyckades.\n"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "Kan inte allokera buffert.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "Kan inte allokera buffert.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "Kan inte allokera buffert.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "Kan inte allokera buffert.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "läs om partitionstabellen"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p skriv ut BSD-partitionstabell"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "Disk %s innehĂĄller inte en giltig partitionstabell\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "Tillgängliga kommandon:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Kan inte ta bort en tom partition"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "Kan inte allokera buffert.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Kan inte lĂĄsa lĂĄsfilen %s: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Varning: %s är ingen blockenhet\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "kan inte ta status pĂĄ enheten %s"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "kan inte ta status pĂĄ enheten %s"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s: ingen teckenenhet"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s är ingen blockspecialenhet"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "fel vid stoppande av tjänst: \"%s\""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "fel vid stoppande av tjänst: \"%s\""
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "användning: sfdisk --id enhet partitionsnummer [Id]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "sökning misslyckades i \"write_tables\""
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "läs om partitionstabellen"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: det finns ingen sĂĄdan partition\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: fel: version %d är okänd\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "sökning misslyckades i \"write_tables\""
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Slut pĂĄ minne!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Oanvändbar"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Ledigt utrymme"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disken har ändrats.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Starta om systemet för att försäkra dig om att partitionstabellen har\n"
+"uppdaterats korrekt.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"VARNING: Om du har skapat eller ändrat DOS 6.x-\n"
+"partitioner bör du titta i manualen för cfdisk\n"
+"för ytterligare information.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "Ă–DESDIGERT FEL"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Tryck valfri tangent för att avsluta cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Kan inte söka på diskenhet"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Kan inte inte läsa diskenhet"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Kan inte skriva diskenhet"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "För många partitioner"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Partitionen börjar före sektor 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Partitionen slutar före sektor 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Partitonen börjar efter slutet på disken"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Partitionen slutar efter slutet pĂĄ disken"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "logiska partitioner är inte i diskordning"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "logiska partitioner överlappar varandra"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "förstorade logiska partitioner överlappar varandra"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Internt fel vid skapande av logisk enhet utan utökad partition !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Kan inte skapa logisk enhet här -- det skulle skapa två utökade partitioner"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menyposten är för lång. Menyn kan se konstig ut."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Ogiltig tangent"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Tryck en tangent för att fortsätta"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Primär"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Skapa en ny primär partition"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Logisk"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Skapa en ny logisk partition"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Skapa inte nĂĄgon partition"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Internt fel !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Storlek (i MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Början"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Lägg till partition i början av det lediga utrymmet"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Slutet"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Lägg till partition i slutet av det lediga utrymmet"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Ingen plats att skapa den utökade partitionen"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Ingen partitionstabell.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Ingen partitionstabell. Startar med tom tabell."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Felaktig signatur pĂĄ partitionstabell"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Okänd typ av partitionstabell"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Vill du börja med en tom tabell [j/N]?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Du angav fler cylindrar än som ryms på disken"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Kan inte öppna diskenhet"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Öppnade disken skrivskyddat - du har ingen behörighet att skriva"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Varning!! GPT (GUID Partition Table) upptäcktes men stöds inte. Använd GNU "
+"Parted."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Kan inte hämta diskstorlek"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Felaktig primär partition"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Felaktig logisk partition"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Varning!! Detta kan förstöra data på din disk!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Är du säker på att du vill skriva partitionstabellen till disk? (ja eller "
+"nej): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "nej"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Skrev inte partitionstabellen till disk"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "ja"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Ange \"ja\" eller \"nej\""
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Skriver partitionstabell till disk..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Skrev partitionstabell till disk"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Skrev partitionstabellen, men omläsning av tabellen misslyckades. Starta om "
+"för att uppdatera tabellen."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Inga primära partitioner är markerade som startbara. DOS huvudstartpost\n"
+"(MBR) kan inte starta detta."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Mer än en primär partition är markerad som startbar. DOS huvudstartpost\n"
+"(MBR) kan inte starta detta."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Ange filnamnet eller tryck RETUR för att visa på skärmen: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Diskenhet: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Ingen "
+
+# Primär/Logisk antar jag
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Pri/Log"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Primär "
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Logisk "
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Okänd"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Start"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Ingen"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitionstabell för %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Första Sista\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Typ Sektor Sektor Avstånd Längd Filsystemstyp (ID) "
+"Flagga\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------- ---------- -------------------- "
+"----\n"
+
+# This is broken
+#
+# fp_printf(fp, _(" ---Starting--- ----Ending---- Start Number of\n"));
+# fp_printf(fp, _(" # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"));
+# fp_printf(fp, _("-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"));
+#
+# This makes no sense to translate seperately, since the lines are very
+# much related. In fact, in seperate messages like the above it makes
+# sense to translate "Start Number of": Only if you look carefully in the
+# source you realize that "Start" belongs to "Sector" in another message
+# (the one from the line below in the source).
+#
+#: fdisks/cfdisk.c:2039
+#, fuzzy
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ----Start----- -----Slut----- Start- Antal\n"
+
+#: fdisks/cfdisk.c:2040
+#, fuzzy
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Flggr Hvd Sekt Cyl ID Hvd Sekt Cyl sektor sektorer\n"
+
+#: fdisks/cfdisk.c:2041
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "RĂĄtt"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Visa tabellen i rĂĄtt dataformat"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektorer"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Visa tabellen sorterad efter sektorer"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tabell"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Visa bara partitionstabellen"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Visa inte tabellen"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Hjälpskärm för cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Det här är cfdisk, ett curses-baserat diskpartitioneringsprogram som"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "låter dig skapa, ta bort och ändra partitioner på din"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "hĂĄrddisk."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright © 1994-1999 Kevin E. Martin och aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Kommando Betydelse"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "-------- ---------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b SlĂĄ pĂĄ/av startbarhetsflaggan pĂĄ aktuell partition"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Ta bort aktuell partition"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+" g Ändra parametrarna för cylindrar, huvuden, sektorer-per-spår"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " VARNING: Denna flagga bör endast användas av personer som"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " vet vad de gör."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Visa denna hjälpskärm"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Maximera diskanvändandet på aktuell partition"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr ""
+" Obs: Detta kan komma att göra partitionen inkompatibel med"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Skapa en ny partition frĂĄn ledigt utrymme"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr ""
+" p Visa partitionstabellen på skärmen eller skriv den till en fil"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Det finns flera olika format pĂĄ partitionen"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " som du kan välja mellan:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr " r - RĂĄ data (exakt det som skulle skrivas till disken)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Tabell sorterad efter sektorer"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Tabell i rĂĄtt format"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Avsluta programmet utan att skriva partitionstabellen"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Byt filsystemstypen"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Byt enheter pĂĄ visningen av partitionsstorlek"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Byter mellan MB, sektorer och cylindrar"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W Skriv partitionstabellen till disk (mĂĄste vara ett stort W)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Eftersom detta kan förstöra data på disken måste du"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr ""
+" antingen bekräfta eller avvisa detta genom att ange \"ja\""
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " eller \"nej\""
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Uppil Flytta markören till föregående partition"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Nerpil Flytta markören till nästa partition"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL+L Rita om skärmen"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Visa denna skärm"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Obs: Alla kommandon kan anges antingen med små eller stora bokstäver"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "(utom för skrivningar med W)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Cylindrar"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Ă„ndra cylindergeometri"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Huvuden"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Ă„ndra huvudgeometri"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Ă„ndra sektorgeometri"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Klar"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Färdig med geometriändring"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Ange antalet cylindrar: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Ogiltigt antal cylindrar"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Ange antalet huvuden: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Ogiltigt antal huvuden"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Ange antalet sektorer per spĂĄr: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Ogiltigt antal sektorer"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Ange typen av filsystem: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Kan inte ändra filsystemstypen till ett tomt värde"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Kan inte ändra filsystemstypen till utökad"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Okänd(%02X)"
+
+# Vad är detta?
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Okänd (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Diskenhet: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Storlek: %lld byte, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Storlek: %lld byte, %lld,%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Huvuden: %d Sektorer per spĂĄr: %d Cylindrar: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Namn"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Flaggor"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Part.-typ"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "FS-typ"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Etikett]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sektorer"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Cylindrar"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Storlek (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Storlek (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Inge fler partitioner"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Startbar"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "SlĂĄ pĂĄ/av startbarhetsflaggan pĂĄ aktuell partition"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Ta bort"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Ta bort aktuell partition"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometri"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Ă„ndra diskgeometri (endast experter)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Hjälp"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Visa hjälpskärm"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Maximera"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maximera diskanvändningen för aktuell partition (endast experter)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Ny"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Skapa ny partition frĂĄn ledigt utrymme"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Visa"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Visa partitionstabellen på skärmen eller skriv den till en fil"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Avsluta"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Avsluta programmet utan att skriva partitionstabellen"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Typ"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Ă„ndra filsystemstypen (DOS, Linux, OS/2 och sĂĄ vidare)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Enheter"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Byt enheter pĂĄ visningen av partitionsstorleken (MB, sektorer, cylindrar)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Skriv"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Skriv partitionstabellen till disk (detta kan förstöra data)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Kan inte göra denna partition startbar"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Kan inte ta bort en tom partition"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Kan inte maximera denna partition"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Denna partition är oanvändbar"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Denna partition används redan"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Kan inte ändra typen på en tom partition"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Ogiltigt kommando"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994-2002 Kevin E. Martin och aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Användning:\n"
+"Visa versionsinformation:\n"
+" %s -v\n"
+"Visa partitionstabell:\n"
+" %s -P {r|s|t} [flaggor] enhet\n"
+"Interaktiv användning:\n"
+" %s [options] device\n"
+"\n"
+"Flaggor:\n"
+"-a: Använd pil istället för markering;\n"
+"-z: Börja med en tom partitionstabell istället för att läsa partitions-\n"
+" tabellen frĂĄn disk;\n"
+"-c C -h H -s S: Åsidosätt kärnans uppfattning om antalet cylindrar,\n"
+" antalet huvuden och antalet sektorer per spĂĄr.\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c ändra antalet cylindrar"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "kan inte öppna %s"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "kan inte öppna %s"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tDet finns en giltig AIX-etikett pĂĄ denna disk.\n"
+"\tTyvärr kan inte Linux hantera dessa diskar\n"
+"\tför tillfället. Här är hursomhelst en del råd:\n"
+"\t1. fdisk kommer att förstöra dess innehåll vid\n"
+"\t skrivning.\n"
+"\t2. Försäkra dig om att denna disk INTE fortfarande\n"
+"\t är en vital del i en volymgrupp (annars kan du\n"
+"\t radera de andra diskarna, om de inte speglas).\n"
+"\t3. Innan du tar bort den fysiska volymen bör du\n"
+"\t försäkra dig om att du logiskt tar bort disken\n"
+"\t frĂĄn din AIX-maskin (annars blir du en AIXpert)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tTyvärr - denna fdisk kan inte hantera AIX-disketiketter.\n"
+"\tOm du vill lägga till partitioner av DOS-typ bör du\n"
+"\tskapa en ny tom DOS-partitionstabell först (använd \"o\").\n"
+"\tVARNING: Detta kommer att förstöra det nuvarande innehållet\n"
+"\tpĂĄ disken.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD-etikett för enhet: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Skriver disketikett till %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Första %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Sista %s eller +storlek eller +storlekM eller +storlekK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s innehĂĄller ingen disketikett.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Vill du skapa en disketikett? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partitionen %s har ogiltig startsektor 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Läser disketikett för %s vid sektor %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Det finns ingen *BSD-partition pĂĄ %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD-disketikettskommando (m för hjälp): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "typ: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "typ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etikett: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "flaggor:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " löstagbar"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " felsekt"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte/sektor: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektorer/spĂĄr: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "spĂĄr/cylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektorer/cylinder: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindrar: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "varv per minut: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "mellanrum: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "spårförskjutning: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderförskjutning: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "huvudbyte: %ld\t\tantal millisekunder\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "spår-till-spår-sökning: %ld\tantal millisekunder\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "enhetsdata: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# början slut storlek fs-typ [fstrl bstrl cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "byte/sektor"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektorer/spĂĄr"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "spĂĄr/cylinder"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "cylindrar"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektorer/cylinder"
+
+# · (centered dot) is normally used as the multiplication sign in Swedish.
+# See "Svenska skrivregler" §260.
+#
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Måste vara <= sektorer/spår · spår/cylinder (standard).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "varv per minut"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "mellanrum"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "spårförskjutning"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderförskjutning"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "huvudbytye"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "spår-till-spår-sökning"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Förstartare (bootstrap): %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Förstartare (bootstrap) överlappar med disketikett!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Förstartare (bootstrap) installerad på %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partition (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Det maximala antalet partitioner har skapats\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Denna partition finns redan.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Varning: för många partitioner (%d, max är %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synkroniserar hĂĄrddiskar.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a slĂĄ pĂĄ/av en startbarhetsflagga"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a slå på/av en flagga för skrivskydd"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a välj startbar partition"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a ändra antalet alternativa cylindrar"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b redigera bsd-disketikett"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b redigera startfilspost"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b flytta början på data i en partition"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c slĂĄ pĂĄ/av dos-kompatibilitetsflaggan"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c slĂĄ pĂĄ/av monterbarhetsflaggan"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c välj sgi-växlingspartition"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c ändra antalet cylindrar"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d ta bort en partition"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d skriv ut den rĂĄa datan i partitionstabellen"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e ändra antalet extra sektorer per cylinder"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e lista utökade partitioner"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e redigera enhetsdata"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f fixa partitionsordningen"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g skapa en IRIX-partitionstabell (SGI)"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h ändra antalet huvuden"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i ändra mellanrumsfaktor"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " i ändra diskidentifieraren"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i installera förstartare (bootstrap)"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l lista kända partitionstyper"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m visa denna meny"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n lägg till en ny partition"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o skapa en ny tom DOS-partitionstabell"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o ändra rotationshastighet (varv per minut)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Visa bara partitionstabellen"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q avsluta utan att spara ändringar"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r ĂĄtergĂĄ till huvudmenyn"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s skapa en ny tom Sun-disketikett"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s ändra antalet sektorer/spår"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s visa fullständig disketikett"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t ändra en partitions system-id"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u ändra visnings-/postenheter"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v verifiera partitionstabellen"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w skriv tabellen till disk och avsluta"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w skriv disketikett till disk"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x extra funktionalitet (endast experter)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x länka BSD-partition till icke-BSD-partition"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y ändra antalet fysiska cylindrar"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "Kan inte läsa %s\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "Kan inte söka på %s\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "Kan inte skriva %s\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE-ioctl:en misslyckades pĂĄ %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Ă–desdigert fel\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Kommandoåtgärd"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Du måste ställa in"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "huvuden"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektorer"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Du kan göra detta från menyn extra funktionalitet.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " och "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Vill du verkligen fortsätta"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Hexadecimal kod (tryck L för att se koder): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, standardvärde %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Använder standardvärdet %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Värdet är utanför intervallet.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Partitionsnummer"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Varning: partition %d har tom typ\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Valde partition %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ingen partition är definierad än!\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "cylinder"
+msgstr[1] "cylinder"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektor"
+msgstr[1] "sektor"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Ă„ndrar visnings-/inmatningsenheter till %s\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Ă„ndrar visnings-/inmatningsenheter till %s\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "VARNING: Partition %d är en utökad partition\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOS-kompatibilitetsflagga är satt\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-kompatibilitetsflagga är inte satt\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Partition %d har inget dataomrĂĄde\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partition %d finns inte än!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Typ 0 betyder ledigt utrymme för många\n"
+"system (men inte för Linux). Att ha\n"
+"partitioner av typ 0 är förmodligen\n"
+"oklokt. Du kan ta bort en partition\n"
+"genom att använda kommandot \"d\".\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Du kan inte ändra en partition till en utökad partition eller tvärtom\n"
+"Ta bort den först.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Du bör överväga att lämna partition 3 som Hel disk (5),\n"
+"eftersom SunOS/Solaris förväntar sig det och även Linux\n"
+"gillar det.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Du bör överväga att lämna partition 9 som volymhuvud (0)\n"
+"och partition 11 som hel volym (6) eftersom IRIX\n"
+"förväntar sig det.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Ändrade systemtypen för partition %d till %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Systemtyp för partition %d är oförändrad %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "Partition %d har olika fysiska/logiska början (icke-Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fys=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logisk=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partition %d har olika fysiska/logiska slut:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partition %i slutar inte på cylindergräns.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Partition %i börjar inte på cylindergräns:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld MB, %lld byte\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld,%ld GB, %lld byte\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", totalt %llu sektorer"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d huvuden, %llu sektorer/spĂĄr, %d cylindrar"
+
+# · (centered dot) is normally used as the multiplication sign in Swedish.
+# See "Svenska skrivregler" §260.
+#
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Enheter = %s av %d · %d = %d byte\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "felaktig storlek pĂĄ inod"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Ingenting att göra. Ordningen är redan korrekt.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Färdig\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Detta ser inte ut som en partitionstabell\n"
+"Du valde nog fel enhet.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Start Början Slut Block Id System\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Enhet"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Posterna i partitionstabellen är inte i diskordning\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d huvuden, %llu sektorer, %d cylindrar\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr AF Hd Sek Cyl Hd Sek Cyl Början Strl ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Varning: partition %d innehĂĄller sektor 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partition %d: huvud %d är större än maximala %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partition %d: sektor %d är större än maximala %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Partitioner %d: cylinder %d är större än maximala %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+"Partition %d: tidigare sektorer %d stämmer inte överens med totala %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Partition %d finns inte än!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Kan inte skriva diskenhet"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Partitionstabellen har ändrats!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Anropar ioctl() för att läsa om partitionstabellen.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"VARNING: Omläsning av partitionstabellen misslyckades med fel %d: %s.\n"
+"Kärnan använder fortfarande den gamla tabellen.\n"
+"Den nya tabellen kommer att användas vid nästa omstart.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"VARNING: Om du har skapat eller ändrat någon DOS 6.x-partition\n"
+"bör du läsa fdisk-manualsidan för ytterligare information.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Fel vid stängning av fil\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synkroniserar hĂĄrddiskar.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partition %d har inget dataomrĂĄde\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Ny början utav data"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Expertkommando (m för hjälp): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Antal cylindrar"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Antal huvuden"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Antal sektorer"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Varning: ställer in sektoravstånd för DOS-kompatibilitet\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"VARNING: GPT (GUID Partition Table) upptäcktes på \"%s\"! Verktyget fdisk "
+"saknar stöd för GPT. Använd GNU Parted.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "kan inte öppna %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: okänt kommando\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Bygger en ny sun-disketikett. Ändringar kommer att förbli endast i\n"
+"minnet, till dess att du beslutar dig för att skriva dem. Efter det\n"
+"kommer naturligtvis det tidigare innehĂĄllet inte att vara\n"
+"återställningsbart.\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Upptäckte en OSF/1-disketikett på %s, går in i disketikettsläge.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Kommando (m för hjälp): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "ogiltigt id"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "ogiltigt id"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "ogiltigt id"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "ogiltigt id"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Varning: flaggan -b (ställ in sektorstorlek) måste användas med en angiven "
+"enhet\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Observera: sektorstorleken är %d (inte %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Disk %s innehĂĄller inte en giltig partitionstabell\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Alla primära partitioner har redan definierats!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Felaktigt avstånd i primär utökad partition\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Varning: utelämnar partitioner efter nr %d.\n"
+"De kommer att tas bort om du sparar denna partitionstabell.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Varning: extra länkpekare i partitionstabell %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Varning: ignorerar extra data i partitionstabell %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Varning: tom partition\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Diskidentifierare: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Ny diskidentifierare (nuvarande 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ignorerar extra utökad partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Varning: ogiltiga flaggan 0x%04x i partitionstabell %d kommer ett korrigeras "
+"vid skrivning med w\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"Partition %d är redan definierad. Ta bort den innan du lägger till den "
+"igen.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu är redan allokerad\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Inga lediga sektorer är tillgängliga\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Felaktig logisk partition"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Varning: felaktig databörjan på partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Varning: partition %d överlappar med partition %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Varning: partition %d är tom\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logisk partition %d är inte helt inuti partition %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Totala antalet allokerade sektorer %ld är större än maximala %lld\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld oallokerade sektorer\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Alla logiska partitioner används\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Alla logiska partitioner används\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Lägger till en primär partition\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l logisk (5 eller högre)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e utökad"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Använder standardvärdet %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Ogiltigt partitionsnummer för typen \"%c\"\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tDet finns en giltig Mac-etikett pĂĄ denna disk.\n"
+"\tTyvärr kan inte fdisk(1) hantera dessa diskar.\n"
+"\tAnvänd antingen pdisk eller parted\n"
+"\tför att ändra partitionstabellen.\n"
+"\tHär är hursomhelst en del råd:\n"
+"\t1. fdisk kommer att förstöra dess innehåll vid\n"
+"\t skrivning.\n"
+"\t2. Försäkra dig om att denna disk INTE fortfarande\n"
+"\t är en vital del i en volymgrupp (annars kan du\n"
+"\t radera de andra diskarna, om de inte speglas).\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tTyvärr - denna fdisk kan inte hantera Mac-disketiketter.\n"
+"\tOm du vill lägga till partitioner av DOS-typ bör du\n"
+"\tskapa en ny tom DOS-partitionstabell först (använd \"o\").\n"
+"\tVARNING: Detta kommer att förstöra det nuvarande innehållet\n"
+"\tpĂĄ disken.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI-volhvd"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI-sprrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI-sekrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI rĂĄ"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI-volym"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux växling"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux egen"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Enligt MIPS Computer Systems, Inc får etiketten inte innehålla mer än 512 "
+"byte\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Hittade sgi-disketikett med felaktig kontrollsumma.\n"
+
+# · (centered dot) is normally used as the multiplication sign in Swedish.
+# See "Svenska skrivregler" §260.
+#
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI-disketikett): %d huvuden, %llu sektorer\n"
+"%d cylindrar, %d fysiska cylindrar\n"
+"%d extra sektorer/cylinder, mellanrum %d:1\n"
+"%s\n"
+"Enheter = %s av %d · %d byte\n"
+"\n"
+
+# · (centered dot) is normally used as the multiplication sign in Swedish.
+# See "Svenska skrivregler" §260.
+#
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI-disketikett): %d huvuden, %llu sektorer, %d cylindrar\n"
+"Enheter = %s av %d · %d byte\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- partitioner -----\n"
+"Pt %*s Info Början Slut Sektorer Id System\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Startinfo -----\n"
+"Startfil: %s\n"
+"----- Katalogposter -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u storlek%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Ogiltig startfil!\n"
+"\tStartfilen måste vara en absolut icketom sökväg,\n"
+"\tt.ex. \"/unix\" eller \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNamnet på startfilen är för långt: 16 byte är max.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tStartfilen måste ha en fullständig sökväg.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tObservera att det inte kontrolleras om startfilen finns.\n"
+"\tSGI:s standardalternativ är \"/unix\" respektive \"/unix.save\"\n"
+"\tför säkerhetskopior.\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Aktuell startfil är: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Ange namnet pĂĄ den nya startfilen: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Startfilen oförändrad\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tStartfilen ändrades till \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Det finns fler än en diskpost.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Inga partitioner är angivna\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX gillar om partition 11 täcker hela hårddisken.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Hela diskpartitionen måste börja vid block 0,\n"
+"inte vid diskblock %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Hela diskpartitionen är endast %d diskblock stor,\n"
+"men hårddisken är %d diskblock lång.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "En partition (11) måste täcka hela hårddisken.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partition %d börjar inte på en jämn cylindergräns.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partition %d slutar inte på en jämn cylindergräns.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partition %d och %d överlappar varandra med %d sektorer.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Oanvänt mellanrum på %8u sektorer - sektorerna %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Startpartitionen finns inte.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Växlingspartitionen finns inte.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Växlingspartitionen har ingen växlingstyp.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tDu har valt ett ovanligt namn pĂĄ startfilen.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Tyvärr, endast superanvändaren kan ändra systemklockan.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Det rekommenderas varmt att partitionen på avstånd 0 är av\n"
+"typen \"SGI volhvd\", IRIX-systemet kommer att förlita sig på\n"
+"det för att hämta självständiga verktyg som sash och fx från\n"
+"katalogen. Endast den fullständiga \"SGI-volym\"-disksektionen\n"
+"får lov att bryta mot detta. Skriv in JA om du är säker på att\n"
+"du vill ge denna partition en annan tagg.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "JA\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+"Du har partitioner som överlappar varandra på disken. Fixa det först!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Försöker att generera fullständig diskpost automatiskt.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Hela disken är redan täckt med partitioner.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Du har partitioner som överlappar varandra på disken. Fixa det först!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Det rekommenderas varmt att den elfte partitionen\n"
+"täcker hela hårddisken och är av typen \"SGI-volym\"\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Du kommer att få överlappande partitioner på hårddisken. Fixa det först!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " sista %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "BLKGETSIZE-ioctl:en misslyckades pĂĄ %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Varning: BLKGETSIZE-ioctl misslyckades på %s. Använder\n"
+"geometricylindervärdet %d.\n"
+"Detta värde kan vara avkortat för enheter > 33,8 GB.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tBĂ–RJAN=%d\tLĂ„NGD=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Försöker att behålla parametrarna för partition %d.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Otilldelad"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS rot"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS växling"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Hela disken"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sektorer"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS reserverad"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetekterad"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Detekterade en sun-disketikett med felaktig\n"
+"kontrollsumma. Du måste troligtvis ställa in\n"
+"alla värden, dvs. huvuden, sektorer, cylindrar\n"
+"och partitioner, eller tvinga en ny etikett\n"
+"(kommandot s i huvudmenyn)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Hittade sun-disketikett med felaktig version [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Hittade sun-disketikett med felaktig kontrollsumma [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Hittade sun-disketikett med felaktig num_partitions [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Varning: Felaktiga värden behöver rättas till och kommer att korrigeras av w"
+"(skriv)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s innehĂĄller ingen disketikett.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektorer/spĂĄr"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partition %d slutar inte på jämn cylindergräns\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partition %d överlappar med andra på sektorerna %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Oanvänt mellanrum - sektorerna 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Oanvänt mellanrum - sektorerna %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Andra partitioner täcker redan hela hårddisken.\n"
+"Ta bort/krymp dem innan du försöker igen.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Det rekommenderas varmt att den elfte partitionen\n"
+"täcker hela hårddisken och är av typen \"SGI-volym\"\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Du har inte täckt hela hårddisken med den tredje partitionen, men ditt\n"
+"värde %d %s täcker en annan partition. Din inmatning har ändrats till %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Om du vill behålla kompatibilitet med SunOS/Solaris bör du lämna denna\n"
+"partition som Hela disken (5), med början på 0, och med %u sektorer\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Det rekommenderas varmt att partitionen på avstånd 0 är\n"
+"UFS, filsystemet EXT2FS eller SunOS växling. Att lägga\n"
+"Linux växling där kan förstöra din partitionstabell och\n"
+"ditt startblock.\n"
+"Skiv in JA om du är väldigt säker på att du vill att\n"
+"denna partition ska ha taggen 82 (Linux växling): "
+
+# · (centered dot) is normally used as the multiplication sign in Swedish.
+# See "Svenska skrivregler" §260.
+#
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun-disketikett): %d huvuden, %llu sektorer,\n"
+"%d varv per minut, %d cylindrar, %d alternativa\n"
+"cylindrar, %d fysiska cylindrar, %d extra sektorer/cylinder,\n"
+"mellanrum %d:1\n"
+"Etikett-id: %s\n"
+"Volym-id: %s\n"
+"Enheter = %s av %d · 512 byte\n"
+"\n"
+
+# · (centered dot) is normally used as the multiplication sign in Swedish.
+# See "Svenska skrivregler" §260.
+#
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun-disketikett): %d huvuden, %llu sektorer, %d cylindrar\n"
+"Enheter = %s av %d · 512 byte\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Flagga Början Slut Block Id System\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Antal alternerande cylindrar"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Extra sektorer per cylinder"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Mellanrumsfaktor"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Rotationshastighet (varv per minut)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Antal fysiska cylindrar"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Tom"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX rot"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 < 32 MB"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Utökad"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX startbar"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Utökad (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Dold FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq-diagnostik"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Dold FAT16 < 32 MB"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Dold FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Dold HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Dold W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Dold W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Dold W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "Dold HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic-återställning"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP start"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2:a delen"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3:e delen"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "Ontrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD / SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-start"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Gammal Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / gammal Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux växling / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 dold C:-enhet"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux utökad"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS-volymsamling"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux klartext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad-viloläge"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin start"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI växling"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard dold"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris start"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32 MB)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Icke-filsystemsdata"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell-verktyg"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS-ĂĄtkomst"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC start"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS sekundär"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "sökfel på %s - kan inte spola till %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "sökfel: ville ha 0x%08x%08x, fick 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "läsfel på %s - kan inte läsa sektor %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "skrivfel pĂĄ %s - kan inte skriva sektor %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "kan inte öppna partitionssektorsparfil (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "skrivfel pĂĄ %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "kan inte ta status på partitionsåterställningsfil (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "partitionsåterställningsfilen har fel storlek - återställer inte\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "kan inte öppna partitionsåterställningsfilen (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "fel vid läsning av %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "kan inte öppna enhet %s för skrivning\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "fel vid skrivning av sektor %lu pĂĄ %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: kan inte fĂĄ tag i geometri\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: kan inte fĂĄ tag i storlek\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Varning: start=%lu - detta ser mer ut som en partition än\n"
+"hela disken. Att använda fdisk på det är troligtvis meningslöst.\n"
+"[Använd flaggan --force om du verkligen vill detta]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Varning: HDIO_GETGEO säger att det finns %lu huvuden\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Varning: HDIO_GETGEO säger att det finns %lu sektorer\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Varning: BLKGETSIZE/HDIO_GETGEO säger att det finns %lu cylindrar\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Varning: Osannolikt antal sektorer (%lu) - vanligtvis är det som mest 63\n"
+"Detta kommer att ge problem med all programvara som använder C/H/S-"
+"adressering.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disk %s: %lu cylindrar, %lu huvuden, %lu sektorer/spĂĄr\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s på partition %s har omöjligt värde på huvud: %lu (måste vara mellan 0-"
+"%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s på partition %s har omöjligt värde på sektor: %lu (måste vara mellan 1-"
+"%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s på partition %s har omöjligt värde på cylinder: %lu (måste vara mellan 0-"
+"%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id Namn\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Läser om partitionstabellen...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Kommandot för att läsa om partitionstabellen misslyckades\n"
+"Starta om ditt system nu, innan du använder mkfs\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Fel vid stängning av %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: det finns ingen sĂĄdan partition\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "okänt format - använder sektorer\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "oimplementerat format - använder %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheter = cylindrar med %lu byte, block med 1024 byte, räknat från %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Enhet Start Början Slut Cyl. Block Id System\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheter = sektorer med 512 byte, räknat från %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Enhet Start Början Slut Sektorer Id System\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheter = block med 1024 byte, räknat från %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Enhet Start Början Slut Block Id System\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheter = mebibyte med 1048576 byte, block med 1024 byte, räknat från %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Enhet Start Början Slut MiB Block Id System\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tbörjan: (c,h,s) (%ld,%ld,%ld) förväntades (%ld,%ld,%ld) hittades\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tslut: (c,h,s) (%ld,%ld,%ld) förväntades (%ld,%ld,%ld) hittades\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partitionen slutar på cylinder %ld, utanför slutet på hårddisken\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Inga partitioner hittades\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Varning: Partitionstabellen ser ut som om den gjordes\n"
+" för C/H/S=*/%ld/%ld (istället för %ld/%ld/%ld).\n"
+"I denna visning kommer jag att antaga den geometrin.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "ingen partitionstabell finns tillgänglig.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "konstigt, endast %d partitioner är angivna.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Varning: partition %s har storlek 0 men är inte markerad tom\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Varning: partition %s har storlek 0 och är startbar\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Varning: partition %s har storlek 0 och en början som inte är 0\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "är inte innesluten i partition %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Varning: partition %d är tom\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Varning: partition %s innehĂĄller en del av partitionstabellen (sektor %lu),\n"
+"och kommer att förstöra den då den fylls\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Varning: partition %s börjar på sektor 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Varning: partition %s fortsätter utanför hårddisken\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Endast en av de primära partitionerna kan vara utökad\n"
+" (även om detta inte är ett problem under Linux)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Varning: partition %s börjar inte på en jämn cylindergräns\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Varning: partition %s slutar inte på en jämn cylindergräns\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Varning: fler än en primär partition är markerad som startbar (aktiv)\n"
+"LILO bryr sig inte om detta, men DOS huvudstartpost (MBR) kommer inte att\n"
+"kunna starta denna disk.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Varning: normalt kan man endast starta från primära partitioner\n"
+"LILO ignorerar startbarhetsflaggan.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Varning: ingen primär partition är markerad som startbar (aktiv)\n"
+"LILO bryr sig inte om detta, men DOS huvudstartpost (MBR) kommer inte att\n"
+"kunna starta denna disk.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "början"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partition %s: början: (c,h,s) (%ld,%ld,%ld) förväntades (%ld,%ld,%ld) "
+"hittades\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "slut"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partition %s: slut: (c,h,s) (%ld,%ld,%ld) förväntades (%ld,%ld,%ld) "
+"hittades\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partition %s slutar på cylinder %ld, utanför slutet på hårddisken\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Varning: ändrade början på extd-partitionen från %ld till %ld\n"
+"(Endast för listningsändamål. Ändra inte dess innehåll).\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Varning: utökad partition börjar inte på jämn cylindergräns.\n"
+"DOS och Linux kommer att tolka innehĂĄllet annorlunda.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "FEL: sektor %lu har ingen msdos-signatur\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "för många partitioner - ignorerar de efter nummer (%d)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "träd med partitioner?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "upptäckte Disk Manager - kan inte hantera det\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6-signatur hittades - ger upp\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "konstigt, en utökad partition med storlek 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "konstigt, en BSD-partition med storlek 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: okänd typ av partitionstabell\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "Flaggan -n angavs: Inget ändrades\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Misslyckades med att spara de gamla sektorerna - avbryter\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Misslyckades med att skriva partitionen pĂĄ %s\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "lång eller ofullständig indatarad - avslutar\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "indatafel: \"=\" förväntas efter %s-fält\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "indatafel: oväntat tecken %c efter %s-fält\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "okänd indata: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "talet är för stort\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "eftersläpande skräp efter tal\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "ingen plats för partitionshandtag\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "kan inte bygga omgivande utökad partition\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "för många indatafield\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Inte plats för mer\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Ogiltig typ\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Varning: angiven storlek (%lu) överskrider största tillåtna storleken (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Varning: tom partition\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Varning: felaktig början på partition (första %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "okänd startbarhetsflagga - välj - eller *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "c,h,s-specifikation ofullständig?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Utökad partition finns inte där den förväntades\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "felaktig indata\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "för många partitioner\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Indata på följande format; fält som saknas får ett standardvärde.\n"
+"<början> <storlek> <typ [E,S,L,X,hex]> <startbar [-,*]> <c,h,s> <c,h,s>\n"
+"Vanlligtvis behöver du bara ange <början> och <storlek> (och kanske <typ>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Användning:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "farliga flaggor:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -G [eller --show-pt-geometry]: skriv ut gissad geometri frĂĄn "
+"partitionstabellen"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [eller --show-extended]: visa även utökade partitioner i utdata\n"
+" eller förvänta handtag för dem som indata"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Användning:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s enhet\t\t visa aktiva partitioner pĂĄ enhet\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s enhet n1 n2 ... aktivera partitioner n1 ..., deaktivera resten\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An enhet\t aktivera partition n, deaktivera de andra\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"VARNING: GPT (GUID Partition Table) upptäcktes på \"%s\"! Verktyget sfdisk "
+"saknar stöd för GPT. Använd GNU Parted.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Använd flaggan --force för att undertrycka denna kontroll.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "inget kommando?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "Ogiltigt tal: %s\n"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "totalt: %llu block\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "användning: sfdisk --print-id enhet partitionsnummer\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "användning: sfdisk --change-id enhet partitionsnummer Id\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "användning: sfdisk --id enhet partitionsnummer [Id]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "kan endast ange en enhet (utom med -l eller -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "kan inte öppna %s för läsning och skrivning\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "kan inte öppna %s för läsning\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylindrar, %ld huvuden, %ld sektorer/spĂĄr\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "Kan inte hämta storleken på %s\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "felaktig aktiv byte: 0x%x istället för 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Färdig\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Du har %d aktiva primära partitioner. LILO bryr sig inte om detta, men\n"
+"DOS huvudstartpost (MBR) kan endast starta en hĂĄrddisk med 1 aktiv\n"
+"partition.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "partition %s har id %x och är inte dold\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "Felaktigt Id %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Denna hårddisk används för tillfället.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Ă–desdigert fel: kan inte hitta %s\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Varning: %s är ingen blockenhet\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Kontrollerar att ingen använder hårddisken just nu...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Disken används för tillfället - ompartitionering är troligtvis en dum\n"
+"idé. Avmontera alla filsystem, och se till att alla växlingspartitioner\n"
+"på denna disk är utväxlade. Använd flaggan --no-reread för att\n"
+"undertrycka denna kontroll.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Använd flaggan --force för att undertrycka alla kontroller.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Tidigare situation:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Partition %d finns inte, kan inte ändra den\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Ny situation:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Jag gillar inte dessa partitioner - ingenting ändrades.\n"
+"(Om du verkligen vill göra detta bör du använda flaggan --force).\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Jag gillar inte detta - du bör nog svara nej\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Är du nöjd med detta? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Vill du skriva detta till disk? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Avslutar - ingenting ändrades\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Svara med ett av y, n eller q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Lyckades skapa den nya partitionstabellen\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Om du skapade eller ändrade en DOS-partition, låt oss säga /dev/foo7, bör\n"
+"du sedan använda dd(1) för att nollställa de första 512 byten:\n"
+"dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(Se fdisk(8)).\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Skriv ut versionsinformation\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: skrivfel.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: Flaggorna --adjust och --noadjfile är ömsesidigt uteslutande. Du angav "
+"bĂĄda.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() misslyckades"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "Kan inte allokera buffert.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "användning: namei [-mx] sökväg [sökväg ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p jobbtelefon ]\n"
+"\t[ -h hemtelefon ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Skriv ut versionsinformation\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: du (användare %d) finns inte.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: användaren \"%s\" finns inte.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "%s: kan endast ändra lokala poster; använd yp%s istället.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s tillåts inte ändra fingerinformationen för %s\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Okänt användarsammanhang"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: Kan inte ställa in standardsammanhanget för /etc/passwd"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Ändrar fingerinformation för %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Fingerinformationen ändrades inte.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Avbröts.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "fältet är för långt.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "fältet är för långt.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: \"%c\" är inte tillåtet.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "\"%c\" är inte tillåtet.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Kontrolltecken är inte tillåtna.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Kontrolltecken är inte tillåtna.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Fingerinformationen ändrades *INTE*. Försök igen senare.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Fingerinformationen ändrades.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+" -s, --shell=skal Ställ in konventioner för skalcitering\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "%s: kan endast ändra lokala poster; använd yp%s istället.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s tillåts inte byta skalet för %s\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: Det körande UID:et stämmer inte överens med UID för den användare vi "
+"försöker ändra, skalbyte nekades\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "%s: Ditt skal är inte i /etc/shells, skalbyte nekades\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Byter skal för %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Nytt skal"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "Skalet byttes inte.\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "Skalet byttes *INTE*. Försök igen senare.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Skalet byttes.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: skalet måste vara en fullständig sökväg.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" finns inte.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" är inte körbar.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Varning: \"%s\" finns inte med i /etc/shells.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" finns inte med i /etc/shells.\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Inga kända skal.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"användning: last [-#] [-f fil] [-t tty] [-h värdnamn] [användare ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "%s misslyckades.\n"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " fortfarande inloggad"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp börjar %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "Fel vid stängning av fil\n"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"avbruten %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "Inloggning gjorde time-out efter %d sekunder\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "ÖDESDIGERT: kan inte återöppna tty: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s är ingen blockspecialenhet"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "montering misslyckades"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() misslyckades: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "Ă–DESDIGERT: felaktig tty"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Senaste inloggning: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "frĂĄn %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "pĂĄ %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "Ă–ppning av %s misslyckades"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "UPPRINGNING PĂ… %s AV %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT-INLOGGNING PĂ… %s FRĂ…N %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT-INLOGGNING PĂ… %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "INLOGGNING PĂ… %s AV %s FRĂ…N %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "INLOGGNING PĂ… %s AV %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "användarnamn: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "chsh: PAM-fel, avbryter: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Kunde inte initiera PAM: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "MISSLYCKAD INLOGGNING %d FRĂ…N %s FĂ–R %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Felaktig inloggning\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "FĂ–R MĂ…NGA INLOGGNINGSFĂ–RSĂ–K (%d) FRĂ…N %s FĂ–R %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "MISSLYCKAD INLOGGNINGSSESSION FRĂ…N %s FĂ–R %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Felaktig inloggning\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Problem med upprättandet av sessionen, avbryter.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Användarnamnet är NULL i %s:%d. Avbryter."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY misslyckades: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h endast för superanvändaren.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"användning: last [-#] [-f fil] [-t tty] [-h värdnamn] [användare ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Ogiltigt användarnamn \"%s\" i %s:%d. Avbryter."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr "Fel vid stängning av fil\n"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() misslyckades"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Du har ny post.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Du har post.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() misslyckades"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "sökning misslyckades"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Loggar in med hemkatalog = \"/\".\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: kunde inte köra skalskript: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Inget skal"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Ogiltigt intervallvärde: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Lösenord: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: Ingen sĂĄdan grupp."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Vem är du?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() misslyckades"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: Ingen sĂĄdan grupp."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: ĂĄtkomst nekas"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() misslyckades"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "körning misslyckades\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "kan inte öppna %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "kan inte ta bort id %s (%s)\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: kunde inte fĂĄ tag i aktuell katalog - %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "Kan inte ställa in signalhanterare"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s misslyckades.\n"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Felaktigt lösenord."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "kan inte ta status pĂĄ %s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount: kan inte ställa in grupp-id: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount: kan inte ställa in grupp-id: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: kan inte ställa in användar-id: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Prova med \"%s --help\" för mer information.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "användning: %s program [argument ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: användaren \"%s\" finns inte.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: kunde inte fĂĄ tag i aktuell katalog - %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: inte öppen för läsning/skrivning"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: inte öppen för läsning/skrivning"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: lösenordsfilen är upptagen.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Vill du verkligen fortsätta"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "sökning misslyckades"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "körning misslyckades\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "sökning misslyckades"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "%s misslyckades.\n"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "%s misslyckades.\n"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "ogiltigt id"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: endast root kan göra det"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "rotinoden är inte en katalog"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY misslyckades: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: kan inte ställa in användar-id: %s"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s misslyckades.\n"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: kan inte öppna %s\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: kan inte öppna temporär fil.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: namnbyte av %s till %s misslyckades: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s : Kan inte få sammanhang för %s"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: Kan inte ställa in sammanhang för %s"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s är oförändrad\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "kan inte grena"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: inga ändringar gjordes\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Du använder skuggrupper på detta system.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Du använder skugglösenord på detta system.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Vill du redigera %s nu [y/n]? "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Ogiltigt antal huvuden"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "ogiltigt årsvärde: använd 1-9999"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "ogiltigt månadsvärde: använd 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "ogiltigt årsvärde: använd 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "användning: cal [-13smjyV] [[månad] år]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "användning: %s [+format] [dag månad år]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "St. Tibs Dag"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "kan inte öppna %s"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "blockenhet "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Ange typen av filsystem: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "användbara flaggor:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Ange typen av filsystem: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Partitionsnummer"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Ange typen av filsystem: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Ange typen av filsystem: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Ange typen av filsystem: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Ange typen av filsystem: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Ange typen av filsystem: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Okänt kommando: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "nräkn"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "nräkn"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "läste %c\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Ta bort"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "okänd"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "sökfel"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "Kan inte allokera buffert.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: kan inte läsa %s.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "Kan inte allokera buffert.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "Kan inte allokera buffert.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc() misslyckades"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "Tillgängliga kommandon:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "Katalogen %s finns inte!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "ogiltigt id: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "Kan inte allokera buffert.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "tom lĂĄng flagga efter argumenten -l eller --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "okänt skal efter argumenten -s eller --shell"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [flaggor] -o|--options flaggsträng [flaggor] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Tillåt långa flaggor som börjar med ensamt -\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Denna enkla användningsguide\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=långflg Långa flaggor att känna igen\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name=programnamn Det namn under vilket fel rapporteras\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=flaggsträng Korta flaggor att känna igen\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr " -q, --quiet Stäng av felrapportering av getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Ingen normal utdata\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell=skal Ställ in konventioner för skalcitering\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Undersök getopt(1)-version\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unquote Citera inte utdata\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Skriv ut versionsinformation\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "flaggsträngsargument saknas"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "internt fel, kontakta författaren."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: okänd signal %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "ogiltigt id"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: kan inte hitta processen \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: okänd signal %s; giltiga signaler:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "användning: %s [ -s signal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ signal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: okänt facilitetsnamn: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: okänt prioritetsnamn: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "användarnamnet är alldeles för långt.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "Blockstorlek: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "nfs-anslut"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "nfs-uttag"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "nfs-anslut"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Nästa fil: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "ogiltigt id"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Partitionsnummer"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "stat() på sökväg misslyckades\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "ställ in som skrivskyddad"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " löstagbar"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "stat() på sökväg misslyckades\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Ogiltigt användarnamn"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "felaktig storlek pĂĄ inod"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "hämta sektorstorlek"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "hämta sektorstorlek"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "felaktig storlek pĂĄ inod"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " i ändra diskidentifieraren"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount: %s: okänd enhet"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "Kan inte allokera buffert.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "Tillgängliga kommandon:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "stat() på sökväg misslyckades\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "kan inte hämta storleken på %s"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "okänd"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "ogiltigt id: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Fick %d byte frĂĄn %s\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "körning misslyckades\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "rotinoden är inte en katalog"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "användning: namei [-mx] sökväg [sökväg ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+#, fuzzy
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "--date-argumentet är för långt\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: namnbyte av %s till %s misslyckades: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: felaktigt argument %s till -l.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "Skriv"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "läste %c\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "kan inte ta status pĂĄ %s"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Kan inte öppna %s: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Kan inte öppna %s: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Kan inte öppna %s: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Fel vid läsning av %s\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "ogiltigt id"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "ogiltigt id"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: felaktigt värde\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "fel vid byte av rättigheter på %s: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Kan inte öppna %s: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "Fel vid stängning av fil\n"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s hittades inte"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "ogiltigt id"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "varning: fel vid läsning av %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "varning: kan inte öppna %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: kunde inte öppna %s - använder %s istället\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr "kan inte skapa låsfilen %s: %s (använd flaggan -n för att åsidosätta)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr "kan inte länka låsfilen %s: %s (använd flaggan -n för att åsidosätta)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "kan inte öppna låsfilen %s: %s (använd flaggan -n för att åsidosätta)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Kan inte lĂĄsa lĂĄsfilen %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "kan inte lĂĄsa lĂĄsfilen %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "gjorde time-out"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Kan inte skapa länken %s\n"
+"Det finns kanske en kvarglömd låsfil?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "kan inte öppna %s (%s) - mtab uppdaterades inte"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "fel vid skrivning av %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: kan inte ta status pĂĄ %s: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "fel vid byte av rättigheter på %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "fel vid byte av rättigheter på %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "kan inte byta namn pĂĄ %s till %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: felaktigt citerad flaggsträng \"%s\""
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: översatte %s \"%s\" till \"%s\"\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: enligt mtab är %s redan monterat på %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: enligt mtab är %s monterat på %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: kan inte öppna %s för skrivning: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: fel vid skrivning av %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: fel vid byte av rättigheter på %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: kan inte ställa in grupp-id: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: kan inte ställa in användar-id: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: kan inte grena: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Försöker med %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: du angav ingen filsystemstyp för %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Jag kommer att försöka med alla typer nämnda i %s eller %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " och det verkar som om detta är växlingsutrymme\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Jag kommer att försöka med typen %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ser ut som växlingsutrymme - monteras inte"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "montering misslyckades"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: endast root kan montera %s pĂĄ %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: slingenheten angiven tvĂĄ gĂĄnger"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: typen angiven tvĂĄ gĂĄnger"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: hoppar över konfigurationen av en slingenhet\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: kommer att använda slingenheten %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "Ogiltigt inställt värde: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "Ogiltigt inställt värde: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: enligt mtab är %s redan monterat på %s"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "Kunde inte lĂĄsa i minne, avslutar.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: misslyckades konfigurera slingenheten\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: kommer att använda slingenheten %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: misslyckades konfigurera slingenheten\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: misslyckades konfigurera slingenheten\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: stulen loop=%s ...försöker igen\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: stulen loop=%s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: lyckades konfigurera slingenheten\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: ingen %s hittades - skapar den...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argument till -p eller --pass-fd mĂĄste vara ett tal"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: kan inte öppna %s för inställning av hastighet"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: kan inte ställa in hastighet: %s"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: enligt mtab är %s redan monterat på %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: %s är upptagen - monterade om som endast läsbar\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: %s är upptagen - monterade om som endast läsbar\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount: Jag kunde inte avgöra filsystemstypen, och ingen angavs"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: du mĂĄste ange filsystemstypen"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: montering misslyckades"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: monteringspunkten %s är inte en katalog"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: ĂĄtkomst nekas"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: måste vara superanvändaren för att använda mount"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s är upptagen"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc är redan monterad"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s är redan monterad eller %s är upptagen"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: monteringspunkten %s finns inte"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: monteringspunkten %s är en symbolisk länk till ingenstans"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: specialenheten %s finns inte"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: specialenheten %s finns inte\n"
+" (ett sökvägsprefix är inte en katalog)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s är inte redan monterad, eller felaktig flagga"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: fel filsystemstyp, felaktig flagga, felaktigt superblock\n"
+" på %s, codepage eller hjälpprogram saknas, eller annat fel"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (kan detta vara den IDE-enhet där du i själva verket\n"
+" använder ide-scsi så att sr0 eller sda eller något\n"
+" liknande behövs?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (försöker du kanske montera en utökad partition,\n"
+" istället för någon logisk partition inuti?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" I en del fall kan användbar information hittas i syslog\n"
+" - prova dmesg | tail eller nĂĄgot liknande\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "monteringstabellen full"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: kan inte läsa superblock"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: okänd enhet"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: okänd filsystemstyp \"%s\""
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: du menade troligtvis %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: du menade kanske \"iso9660\"?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: du menade kanske \"vfat\"?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr "mount: %s har fel enhetsnummer eller så stöds filsystemstypen %s inte"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s är inte en blockenhet, och statustagning misslyckas?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: kärnan känner inte igen %s som en blockenhet\n"
+" (kanske \"insmod drivrutin\"?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s är ingen blockenhet (försök kanske med \"-o loop\"?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s är ingen blockenhet"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s är ingen giltig blockenhet"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "blockenhet "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: kan inte montera %s%s som endast läsbar"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s är skrivskyddad med en explicit \"-w\"-flagga angavs"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: kan inte montera %s%s som endast läsbar"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s är skrivskyddad, monterar som endast läsbar"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s är redan monterad på %s\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: ingen typ angavs - jag kommer att anta nfs pĂĄ grund av kolonet\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: ingen typ angavs - jag kommer att anta cifs pĂĄ grund //-prefixet\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s är redan monterad på %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Användning: mount -V : visa version\n"
+" mount -h : visa denna hjälptext\n"
+" mount : visa monterade filsystem\n"
+" mount -l : samma, inklusive volymetiketter\n"
+"Det var den informativa delen. Nu kommer vi till montering.\n"
+"Kommandot är \"mount [-t filsystemstyp] någonting här\".\n"
+"Detaljer som kan hittas i /etc/fstab kan utelämnas.\n"
+" mount -a [-t|-O] ... : montera allt i /etc/fstab\n"
+" mount enhet : montera enhet på den kända platsen\n"
+" mount katalog : montera känd enhet här\n"
+" mount -t typ enhet kat : vanligt monteringskommando\n"
+"Observera att man egentligen inte monterar en enhet, utan ett\n"
+"filsystem (av angiven typ) som finns pĂĄ enheten.\n"
+"Man kan också montera ett redan synligt katalogträd någon annanstans:\n"
+" mount --bind gammalkatalog nykatalog\n"
+"eller flytta ett underträd:\n"
+" mount --move gammalkatalog nykatalog\n"
+"Man kan ändra monteringstypen som innehåller katalogen \"katalog\":\n"
+" mount --make-shared katalog\n"
+" mount --make-slave katalog\n"
+" mount --make-private katalog\n"
+" mount --make-unbindable katalog\n"
+"Man kan ändra typen för alla monteringarna i ett monteringsunderträd\n"
+"som innehĂĄller katalogen \"katalog\":\n"
+" mount --make-rshared katalog\n"
+" mount --make-rslave katalog\n"
+" mount --make-rprivate katalog\n"
+" mount --make-runbindable katalog\n"
+"En enhet kan anges med namn, exempelvis /dev/hda1 eller /dev/cdrom,\n"
+"eller med etikett, genom att använda -L etikett eller med uuid,\n"
+"genom att använda -U uuid.\n"
+"Andra flaggor: [-nfFrsvw] [-o flaggor] [-p lösenordfd].\n"
+"Ange man 8 mount för ytterligare detaljer.\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: endast root kan göra det"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: endast root kan göra det"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "ingenting monterades"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: ingen sĂĄdan partition hittades"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: kan inte hitta %s i %s eller %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: varning: ingen avslutande nyrad pĂĄ slutet av %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: rad %d i %s är felaktig%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; resten av filen ignoreras"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "programfel i xstrndup-anrop"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "inte tillräckligt med minne"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: kompilerad utan stöd för -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: kan inte ställa in grupp-id: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: kan inte ställa in användar-id: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: kan inte grena: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: ogiltig blockenhet"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: inte monterad"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: kan inte skriva superblock"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s hittades inte"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: måste vara superanvändare för att avmontera"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: blockenheter är inte tillåtna på filsystem"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: kunde inte byta katalog till %s - %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: kunde inte fĂĄ tag i aktuell katalog - %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: monteringspunkten %s finns inte"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ingen umount2, försöker med umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s är upptagen - monterade om som endast läsbar\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: kunde inte montera om %s som endast läsbar\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s avmonterad\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: kan inte hitta lista med filsystem att avmontera"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Användning: umount [-hV]\n"
+" umount -a [-f] [-r] [-n] [-v] [-t vfs-typer] [-O alternativ]\n"
+" umount [-f] [-r] [-n] [-v] special | nod...\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "Kan inte avmontera \"\"\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Försöker avmontera %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Kunde inte hitta %s i mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s är inte monterad (enligt mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: det verkar som om %s är monterad flera gånger"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s är inte i fstab (och du är inte root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: montering av %s stämmer inte överens med fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: endast %s kan avmontera %s frĂĄn %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: endast root kan göra det"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS över TCP stöds inte.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: kan inte hitta enheten för %s\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "ogiltigt id"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty misslyckades\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty misslyckades\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "ogiltigt id"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "ogiltigt id: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Okänt kommando: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "okänt fel i id"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "körning misslyckades\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "användning: %s program [argument ...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "konvertera rtc-tid"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "kan inte hämta storleken på %s"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "minnesallokering misslyckades"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "sökning misslyckades"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" finns inte.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" är inte körbar.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Automatisk konfiguration misslyckades.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Automatisk konfiguration misslyckades.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "Ogiltigt tal: %s\n"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: okänt argument: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Användning: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Du måste vara root för att kunna ställa in Ctrl-Alt-Del-beteendet.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld standardtröskel och %ld standardtimeout\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Denna enkla användningsguide\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Fil %s, för tröskelvärde %lu, största antalet tecken i fifon var %d,\n"
+"och den maximala överföringshastigheten i tecken/sekund var %f\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Fil %s, för tröskelvärde %lu och timeoutvärdet %lu, största antalet tecken i "
+"fifon var %d,\n"
+"och den maximala överföringshastigheten i tecken/sekund var %f\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday misslyckades"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "Kan inte utlysa CYGETMON pĂĄ %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "Kan inte få tröskelvärde för %s: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "Kan inte få time-out för %s: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu avbrott, %lu/%lu tecken; fifo: %lu tröskel, %lu time-out, %lu max, "
+"%lu nu\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f avbrott/s; %f mott., %f skickat (tecken/s)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu avbrott, %lu tecken; fifo: %lu tröskel, %lu time-out, %lu max, %lu "
+"nu\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f avbrott/sek; %f mott. (tecken/s)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Ogiltigt intervallvärde: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Ogiltigt intervallvärde: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Ogiltigt inställt värde: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Ogiltigt inställt värde: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Ogiltigt standardvärde: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Ogiltigt standardvärde: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Ogiltigt inställt tidsvärde: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Ogiltigt inställt tidsvärde: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Ogiltigt standardtidsvärde: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Ogiltigt standardtidsvärde: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Kan inte ställa in %s till tröskelvärde %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "Kan inte ställa in %s till tidströskelvärde %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld aktuell tröskel och %ld aktuell time-out\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld standardtröskel och %ld standardtimeout\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Denna partition är oanvändbar"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "fel vid stängning av %s"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Varning: partition %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "meddelanden"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Ange typen av filsystem: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "kan inte hämta storleken på %s"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "kan inte hämta storleken på %s"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Okänt kommando: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "Katalogen %s finns inte!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync misslyckades"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "kan inte öppna %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "(Nästa fil: %s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "ogiltigt id"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "läs rtc-tid"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "inget kommando?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fsync misslyckades"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+#, fuzzy
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "mount: filsystemstypen %s stöds inte av kärnan"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+#, fuzzy
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "mount: filsystemstypen %s stöds inte av kärnan"
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "kan inte ta status pĂĄ %s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "%s är ingen blockenhet eller fil\n"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "montering misslyckades"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: kan inte ställa in användar-id: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "kan inte öppna %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: monteringspunkten %s finns inte"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: namnbyte av %s till %s misslyckades: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s hittades inte"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " löstagbar"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Använder standardvärdet %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: kan inte öppna enheten %s: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s hittades inte"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: inte en blockenhet\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: kan inte öppna enheten %s: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "umount: %s: enheten är upptagen"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s lyckades.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "körning misslyckades\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "öppnande av katalog misslyckades\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Inte tillräckligt många argument"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "Ogiltigt inställt värde: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "Ogiltigt inställt värde: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "Ingen --date-flagga angavs.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "maximalt antal segment = %lu\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "openpty misslyckades\n"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: kan inte ställa in användar-id: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "ogiltigt id"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s kräver ett argument\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "rotinoden är inte en katalog"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() misslyckades"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "Ingen --date-flagga angavs.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "Ingen --date-flagga angavs.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "rotinoden är inte en katalog"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "openpty misslyckades\n"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "openpty misslyckades\n"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "Ingen --date-flagga angavs.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "rotinoden är inte en katalog"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "openpty misslyckades\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "kan inte öppna %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Antar att hĂĄrdvaruklockan hĂĄller %s-tid.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "lokal"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Varning: okänd tredje rad i adjtime-fil\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Senaste dragningsjustering gjordes %ld sekunder efter 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Senaste kalibrering gjordes %ld sekunder efter 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "HĂĄrdvaruklockan hĂĄller %s-tid\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Väntar på klocktick...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...fick klocktick\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Ogiltiga värden i hårdvaruklockan: %4d-%.2d-%.2d %.2d.%.2d.%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "Hv-klocktid: %4d-%.2d-%.2d %.2d.%.2d.%.2d = %ld sekunder sedan 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Tid som lästs från hårdvaruklockan: %4d-%.2d-%.2d %02d.%02d.%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Ställer hårdvaruklockan till %.2d.%.2d.%.2d = %ld sekunder sedan 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Klockan är inte ändrad - testar bara.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Tid som har gått sedan referenstiden är %.6f sekunder.\n"
+"Fördröjer ytterligare för att nå nästa hela sekund.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Hårdvaruklockans register innehåller värden som antingen är ogiltiga (t.ex. "
+"50:e dagen i månaden) eller utanför det intervall som vi kan hantera (t.ex. "
+"ĂĄr 2095).\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f sekunder\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "Ingen --date-flagga angavs.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "--date-argumentet är för långt\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Värdet i --date-flaggan är ogiltigt.\n"
+"I synnerhet som det innehĂĄller citationstecken.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Anropar date-kommandot: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Kan inte köra \"date\"-programmet i skalet /bin/sh. popen() misslyckades"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "svar frĂĄn date-kommandot = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"date-kommandot som anropades av %s returnerade oväntade resultat.\n"
+"Kommandot var:\n"
+" %s\n"
+"Svaret var:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"date-kommandot som anropades av %s returnerade någonting annat än ett heltal "
+"där den konverterade tiden förväntades.\n"
+"Kommandot var:\n"
+" %s\n"
+"Svaret var:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "datumsträngen %s är lika med %ld sekunder sedan 1969.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Hårdvaruklockan innehåller inte en giltig tid, så vi kan inte ställa "
+"systemtiden med den.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Anropar settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Ställer inte systemklockan eftersom vi kör i testläge.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Måste vara superanvändaren för att kunna ställa systemklockan.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() misslyckades"
+
+#: sys-utils/hwclock.c:785
+#, fuzzy, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "läs systemtid"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Justerar inte dragningsfaktorn eftersom hårdvaruklockan tidigare innehöll "
+"skräp.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Justerar inte dragningsfaktorn eftersom senaste kalibreringstiden\n"
+"är noll, så historiken är trasig och en omstart av kalibreringen\n"
+"är nödvändig.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Justerar inte dragningsfaktorn eftersom det har gått mindre än en dag sedan "
+"den senaste kalibreringen.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Klockan drog sig %.1f sekunder under de senaster %d sekunderna trots en "
+"dragningsfaktor pĂĄ %f sekunder/dag.\n"
+"Justerar dragningsfaktorn med %f sekunder/dag\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Tid sedan senaste justeringen är %d sekunder\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Behöver infoga %d sekunder och referera tillbaka i tiden %.6f sekunder "
+"sedan\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Uppdaterar inte adjtime-filen eftersom vi är i testläge.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Skulle skrivit följande till %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Dragningsjusteringsparametrarna uppdaterades inte.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"HĂĄrdvaruklockan innehĂĄller inte giltig tid, sĂĄ vi kan inte justera den.\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Justerar inte dragningsfaktorn eftersom senaste kalibreringstiden\n"
+"är noll, så historiken är trasig och en omstart av kalibreringen\n"
+"är nödvändig.\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"Den justering som behövs är mindre än en sekund, så ställer inte klockan.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Använder %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Inget användbart klockgränssnitt hittades.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Kunde inte ställa systemklockan.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Kärnan sparar ett epokvärde för hårdvaruklockan endast på Alpha-maskiner.\n"
+"Denna kopia av hwclock byggdes för en annan maskin än Alpha\n"
+"(och körs därför troligen inte på en Alpha just nu). Ingen åtgärd utfördes.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Kunde inte få tag i epokvärdet från kärnan.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kärnan antar att epokvärdet är %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"För att ställa epokvärdet måste du använda flaggan \"epoch\" för att ange "
+"vilket värde det ska ställas till.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Ställer inte epoken till %d - testar bara.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Kan inte ställa in epokvärdet i kärnan.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" tala om för hwclock vilken typ av alpha du har (se hwclock"
+"(8))\n"
+
+# audit är inget svenskt ord men hittar inte passande. revision? granskning?
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "%s: Kunde inte ansluta till auditsystem\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "ogiltigt id"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s tar inga argument som inte är flaggor. Du angav %d.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "%s: Med --noadjfile mĂĄste du ange antingen --utc eller --localtime\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Ingen användbar tid att ställa. Kan inte ställa klockan.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Tyvärr, endast superanvändaren kan ändra hårdvaruklockan.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Tyvärr, endast superanvändaren kan ändra systemklockan.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Tyvärr, endast superanvändaren kan ändra hårdvaruklockans epok i kärnan.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "Kan inte komma åt hårdvaruklockan via någon känd metod.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Använd flaggan --debug för att se detaljerna över vår sökning efter en "
+"ĂĄtkomstmetod.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "startade frĂĄn MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD-klocka\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "klockporten justerades till 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "häftig LEKSAK!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: atomisk %s misslyckades för 1000 iterationer!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "Jag misslyckades med att få tillåtelse eftersom jag inte försökte.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "%s kan inte fĂĄ I/O-porttillgĂĄng: iopl(3)-anropet misslyckades.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Du behöver troligtvis root-privilegier.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Väntar i slingan på att tiden från KDGHWCLK ska ändras\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK-ioctl för att läsa tid misslyckades"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK-ioctl för att läsa tid misslyckades i slingan"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Gjorde time-out under väntan på att tiden skulle ändras.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "KDSHWCLK-ioctl misslyckades"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Kan inte öppna /dev/tty1 eller /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK-ioctl misslyckades"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl() till %s för att läsa tid misslyckades.\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Väntar i slingan på att tiden från %s ska ändras\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s har inga avbrottsfunktioner. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() på %s för att vänta på klocktick misslyckades"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() på %s för att vänta på klocktick misslyckades"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "select() på %s för att vänta på klocktick gjorde time-out\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() på %s för att slå av uppdateringsavbrott misslyckades"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "ioctl() på %s för att slå på uppdateringsavbrott misslyckades oväntat"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl() på %s för att ställa tiden misslyckades.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) lyckades.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"För att ändra epokvärdet i kärnan måste vi komma åt Linux \"rtc\"-drivrutin "
+"via specialenhetsfilen %s. Denna fil finns inte pĂĄ detta system.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) pĂĄ %s misslyckades"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "vi har läst epoken %ld från %s med RTC_EPOCH_READ-ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Epokvärdet får inte vara mindre än 1900. Du begärde %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "ställer epoken till %ld med RTC_EPOCH_SET-ioctl på %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Kärndrivrutinen för %s har inte RTC_EPOCH_SET-ioctl:en.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) pĂĄ %s misslyckades"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output Ingen normal utdata\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Delat minnessegment shmid=%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Meddelandekö meddköid=%d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "allokerade semaforer = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Semaforvektor semid=%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Skriv ut versionsinformation\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Delat minnessegment shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"Meddelandekö meddköid=%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"Semaforvektor semid=%d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "åtkomst nekas för nyckel"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "åtkomst nekas för id"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "ogiltig nyckel"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "ogiltigt id"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "redan borttagen nyckel"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "redan borttaget id"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "sökning misslyckades"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() misslyckades"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Inte tillräckligt många argument"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "resurser borttagna\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: otillĂĄten nyckel (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "kärnan är inte konfigurerad för delat minne\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "kärnan är inte konfigurerad för semaforer\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "kärnan är inte konfigurerad för meddelandeköer\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: okänt argument: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : detaljer om resursen som identifieras av id\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "farliga flaggor:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "kärnan är inte konfigurerad för delat minne\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Gränser för delat minne --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "maximalt antal segment = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maximal segmentstorlek (kilobyte) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "maximalt totalt delat minne (kbyte) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "minimal segmentstorlek (byte) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Status för delat minne --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Skapare/Ă„gare av delade minnessegment --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "rättigh"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "vuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Tilläggs-/Lösgörnings-/Ändringstider för delat minne --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "ägare"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "tillagd"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "lösgjord"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "ändrad"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ Skapare/Senaste operation pĂĄ delat minne --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Delade minnessegment --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "nyckel"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "byte"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "anttill"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Inte inställd"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "mĂĄl"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "lĂĄst"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "kärnan är inte konfigurerad för semaforer\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Semaforgränser --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maximalt antal vektorer = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maximalt antal semaforer per vektor = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "maximalt antal semaforer pĂĄ systemet = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maximalt antal operationer per semaforopsanrop = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maxvärde på semafor = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semaforstatus --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "använda vektorer = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "allokerade semaforer = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Skapare/Ă„gare av semaforvektorer --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Semaforoperation/Ă„ndringstider --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "senaste-op"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "senast-ändrad"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaforvektorer --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "antsem"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "kärnan är inte konfigurerad för meddelandeköer\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Meddelanden: Gränser --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "maximalt antal köer på hela systemet = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximal storlek pĂĄ meddelande (byte) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "standardmaxstorlek på kö (byte) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Meddelande: Status --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "allokerade köer = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "använda huvuden = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "använt utrymme = %d byte\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ Meddelandeköer: Skapare/Ägare --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "meddköid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+"------ Meddelandeköernas sändnings-/mottagnings-/ändringstider --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "sänt"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "mottaget"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "ändring"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID för meddelandeköer --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Meddelandeköer --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "använda-byte"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "meddelanden"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync misslyckades"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Delat minnessegment shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "rättighet=%#o\tåtkomsträttigheter=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "byte=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "attid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "dettid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "ändringstid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync misslyckades"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Meddelandekö meddköid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\trättighet=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbyte=%ld\tqbyte=%ld\tkönum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "sändningstid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "mottagningstid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "sökning misslyckades"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semaforvektor semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "rättighet=%#o, åtkomsträttigheter=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "antsem = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otid = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctid = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "värde"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "nräkn"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zräkn"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "ogiltigt id"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "ogiltigt id"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s är ingen blockspecialenhet"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "kan inte hämta storleken på %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "kan inte hämta storleken på %s"
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Kan inte söka på diskenhet"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "kan inte hämta storleken på %s"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", avstĂĄnd %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", storleksgräns %lld"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", kryptering %s (typ %d)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s misslyckades.\n"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s misslyckades.\n"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"användning:\n"
+" %s slingenhet # ge information\n"
+" %s -d slingenhet # ta bort\n"
+" %s -f # hitta ledig\n"
+" %s [-e kryptering] [-o avstĂĄnd] {-f|slingenhet} fil # konfiguration\n"
+
+#: sys-utils/losetup.c:169
+#, fuzzy
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+"\n"
+"Användning:\n"
+" %1$s slingenhet # ge info\n"
+" %1$s -a | --all # lista alla använda\n"
+" %1$s -d | --detach slingenhet # ta bort\n"
+" %1$s -f | --find # hitta oanvända\n"
+" %1$s [ flaggor ] {-f|--find|slingenhet} fil # konfigurera\n"
+"\n"
+"Flaggor:\n"
+" -e | --encryption <typ> aktivera datakryptering med angivet <namn/num>\n"
+" -h | --help den här hjälpen\n"
+" -o | --offset <num> starta pĂĄ offset <num> i filen\n"
+" -p | --pass-fd <num> läs lösenfras från filidentifierare <num>\n"
+" -r | --read-only konfigurera skrivskyddad slingenhet\n"
+" -s | --show skriv ut enhetsnamn (med -f <fil>)\n"
+" -v | --verbose informativt läge\n"
+"\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: slingenheten angiven tvĂĄ gĂĄnger"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "Ingen --date-flagga angavs.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "Kunde inte lĂĄsa i minne, avslutar.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: kan inte hitta enheten för %s\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "läs om partitionstabellen"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: montering misslyckades"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "Ingen"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "hämta sektorstorlek"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "hämta sektorstorlek"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr "Fel vid stängning av fil\n"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "Kan inte allokera buffert.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "nfs-uttag"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Tidigare situation:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: endast root kan göra det"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: endast root kan göra det"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: endast root kan montera %s pĂĄ %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: endast root kan göra det"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s frĂĄn %s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "sökfel"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "kan inte ta status pĂĄ %s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s är redan monterad på %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: endast root kan montera %s pĂĄ %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s är redan monterad på %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: kan inte hitta %s i %s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: kan inte hitta %s i %s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: kan inte hitta %s i %s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "mount: Jag kunde inte avgöra filsystemstypen, och ingen angavs"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: du mĂĄste ange filsystemstypen"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: kan inte länka %s: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: montering misslyckades"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "montering misslyckades"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: montering misslyckades"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: monteringspunkten %s är inte en katalog"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: måste vara superanvändaren för att använda mount"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s är upptagen"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: %s är redan monterad eller %s är upptagen"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s är redan monterad på %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: monteringspunkten %s finns inte"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: monteringspunkten %s är en symbolisk länk till ingenstans"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: specialenheten %s finns inte"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "montering misslyckades"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: specialenheten %s finns inte\n"
+" (ett sökvägsprefix är inte en katalog)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s är inte redan monterad, eller felaktig flagga"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s är inte redan monterad, eller felaktig flagga"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: fel filsystemstyp, felaktig flagga, felaktigt superblock\n"
+" på %s, codepage eller hjälpprogram saknas, eller annat fel"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" I en del fall kan användbar information hittas i syslog\n"
+" - prova dmesg | tail eller nĂĄgot liknande\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: kan inte läsa superblock"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: okänd filsystemstyp \"%s\""
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount: %s är inte en blockenhet, och statustagning misslyckas?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: kärnan känner inte igen %s som en blockenhet\n"
+" (kanske \"insmod drivrutin\"?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s är ingen blockenhet (försök kanske med \"-o loop\"?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: inte en blockenhet\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s är ingen giltig blockenhet"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: kan inte montera %s%s som endast läsbar"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s är skrivskyddad med en explicit \"-w\"-flagga angavs"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: kan inte montera %s%s som endast läsbar"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s är skrivskyddad, monterar som endast läsbar"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s är redan monterad på %s\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: namnbyte av %s till %s misslyckades: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: montering misslyckades"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "rotinoden är inte en katalog"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s är monterad.\t "
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld block\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS sekundär"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "felaktig storlek pĂĄ inod"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "maximalt antal segment = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "maximalt antal segment = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "maximalt antal segment = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "meddelanden"
+
+# Detta är systemanrop (getpriority(2))
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "maximalt antal segment = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Ogiltigt användarnamn"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "blockenhet "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Enheter"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "farliga flaggor:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: Flaggorna --adjust och --noadjfile är ömsesidigt uteslutande. Du angav "
+"bĂĄda.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Första Sista\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unquote Citera inte utdata\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Skriv ut versionsinformation\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Denna enkla användningsguide\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test Undersök getopt(1)-version\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "fel vid skrivning av %s: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Samplingssteg: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): felaktig tabellrad\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: kan inte hitta \"_stext\" i %s\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s: profiladressen är utanför intervallet. Fel tabellfil?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "totalt"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s frĂĄn %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Okänt kommando: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "felaktigt timeoutvärde: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "användare"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: gammal prioritet %d, ny prioritet %d\n"
+
+#: sys-utils/rtcwake.c:92
+#, fuzzy
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+"användning: %s [flaggor]\n"
+" -d | --device <enhet> välj rtc-enhet (rtc0|rtc1|...)\n"
+" -l | --local RTC använd lokal tidszon\n"
+" -m | --mode standby|mem|... sovläge\n"
+" -s | --seconds <sekunder> sekunder att sova\n"
+" -t | --time <time_t> tid för uppvaknande\n"
+" -u | --utc RTC använder UTC\n"
+" -v | --verbose informativa meddelanden\n"
+" -V | --version visa version\n"
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "läs rtc-tid"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "läs systemtid"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "konvertera rtc-tid"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "ställ in rtc-alarm"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "aktivera rtc-alarm"
+
+#: sys-utils/rtcwake.c:248
+#, fuzzy
+msgid "set rtc wake alarm failed"
+msgstr "ställ in rtc-uppvakningsalarm"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "aktivera rtc-alarm"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "konvertera rtc-tid"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "%s: okänt väntelägestillstånd \"%s\"\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "ogiltigt id"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "ogiltigt id"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: antar att RTC använder UTC ...\n"
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Använder %s-tid\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Använder %s-tid\n"
+
+#: sys-utils/rtcwake.c:491
+#, fuzzy
+msgid "must provide wake time (see -t and -s options)"
+msgstr "%s: mĂĄste tillhandahĂĄlla uppvakningstid\n"
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s är inte aktiverad för uppvakningshändelser\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "alarm %ld, sys_time %ld, rtc_time %ld, sekunder %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, fuzzy, c-format
+msgid "time doesn't go backward to %s"
+msgstr "%s: tiden går inte baklänges till %s\n"
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: uppvakning frĂĄn \"%s\" med %s klockan %s\n"
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: uppvakning frĂĄn \"%s\" med %s klockan %s\n"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "(Nästa fil: %s)"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+#, fuzzy
+msgid "disable rtc alarm interrupt failed"
+msgstr "inaktivera rtc-alarmavbrott"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "SlĂĄr pĂĄ %s.\n"
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+"Användning: %s%s [flaggor] [program [programargument]]\n"
+"\n"
+"Flaggor:\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Prova med \"%s --help\" för mer information.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"Prova med \"%s --help\" för mer information.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: Arkitekturen är okänd"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Inte tillräckligt många argument"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "användning: %s program [argument ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() misslyckades"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "körning misslyckades\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s pĂĄ %s\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "Inte superanvändare.\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s misslyckades.\n"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d ta bort en partition"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "stat() på sökväg misslyckades\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "stat() på sökväg misslyckades\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Märk som använd"
+
+# Detta är systemanrop (setpriority(2))
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "körning misslyckades\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "sökning misslyckades"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Ă–ppning av %s misslyckades"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Namn"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: varning: %s har osäkra rättigheter %04o, föreslår %04o\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: varning: %s har osäkra rättigheter %04o, föreslår %04o\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: Hoppar över filen %s - den verkar innehålla hål.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "sökning misslyckades"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s pĂĄ %s\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s misslyckades.\n"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "Tillgängliga kommandon:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: kan inte hitta enheten för %s\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "%s misslyckades.\n"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "rotinoden är inte en katalog"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "Försöker avmontera %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: kunde inte fĂĄ tag i aktuell katalog - %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "%s misslyckades.\n"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unquote Citera inte utdata\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unquote Citera inte utdata\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "felaktigt timeoutvärde: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s är ingen lp-enhet.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "LPGETIRQ-fel"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "statusen för %s är %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", upptagen"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", redo"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", slut pĂĄ papper"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", inkopplad"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", fel"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fsync misslyckades"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ-fel"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s använder IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s använder pollning\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "montering misslyckades"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: montering misslyckades"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: ogiltig blockenhet"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: kan inte läsa superblock"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: måste vara superanvändare för att avmontera"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: blockenheter är inte tillåtna på filsystem"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "användning: %s program [argument ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "sökning misslyckades"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "%s misslyckades.\n"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Inloggning gjorde time-out efter %d sekunder\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Inloggning gjorde time-out efter %d sekunder\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "blockenhet "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "status"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "kan inte ta status pĂĄ %s"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "mount: %s: okänd enhet"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: okänt argument: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: kan inte öppna enheten %s: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "Tillgängliga kommandon:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: okänd signal %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "Kan inte få time-out för %s: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "sökning misslyckades i \"write_tables\""
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f sekunder\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "gjorde time-out"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Enhet"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s: version %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: kan inte köra %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "fel vid byte av rättigheter på %s: %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: kan inte hitta processen \"%s\"\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: kan inte köra %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "Kan inte allokera buffert.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "felaktigt timeoutvärde: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "felaktig hastighet: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "för många alternativa hastigheter"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: kan inte öppna som standard in: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ingen teckenenhet"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: inte öppen för läsning/skrivning"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: dupliceringsproblem: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "typ: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: läste: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: indataspill"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "användare"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "användare"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "sökning misslyckades"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "är på (y)\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "är av (n)\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "allokerade semaforer = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "ogiltigt id: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Varning: \"%s\" är en länk.\n"
+"Använd \"%s [flaggor] %s\" om du verkligen vill använda den.\n"
+"Skriptet startades inte.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Skriptet startades, filen är %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Skriptet startades %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: kan inte hitta enheten för %s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Skriptet färdigt %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Skriptet färdigt, filen är %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty misslyckades\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "Slut pĂĄ pty:er\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Ă–ppning av %s misslyckades"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "maximalt antal segment = %lu\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: Oväntat filslut i %s-fil\n"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: Argumentfel, användning\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "kan inte grena"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "kan inte grena"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "kan inte öppna %s\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "kan inte ställa in/återställa strömsparläget\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "kan inte öppna enhet %s för skrivning\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "klogctl-fel: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Fel vid skrivning av skärmdump\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "Kunde inte öppna %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM är inte angiven.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: okänd signal %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "för många iov (ändra kod i wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "onödigt långt linjeargument"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "kan inte grena"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "felaktigt timeoutvärde: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: kan inte ställa in användar-id: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Kan inte hämta diskstorlek"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Meddelande till alla frĂĄn %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: kommer inte att läsa %s - använd standard in.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "(Nästa fil: %s)"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "användning: namei [-mx] sökväg [sökväg ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: kan inte hitta namnet pĂĄ din tty\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: du har inte skrivrättighet aktiverad.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s är inte inloggad på %s.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s har meddelanden avstängda på %s\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s är inte inloggad\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: %s har meddelanden avstängda\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s är loggad in mer än en gång; skriver till %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Indataraden är för lång.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Meddelande frĂĄn %s@%s (som %s) pĂĄ %s klockan %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Meddelande frĂĄn %s@%s pĂĄ %s klockan %s ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "minnesallokering misslyckades"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: skrivfel.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: felaktigt argument %s till -l.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: varning: kan inte säkerhetskopiera %s.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "förbi första raden"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- raden redan spolad"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: felaktigt argument %s till -l.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: felaktigt argument %s till -l.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "ogiltigt id"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "aktivera rtc-alarm"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: okänd flagga \"-%c\"\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: katalog ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Inte en textfil ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Använd q eller Q för att avsluta]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Mer--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Nästa fil: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Tryck blanksteg för att fortsätta, \"q\" för att avsluta.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...tillbaka %d sidor"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...tillbaka 1 sida"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...hoppar över en rad"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...hoppar över %d rader"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Tillbaka***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "Reguljärt uttrycksmischmasch"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"De flesta kommandon valfritt föregångna av ett heltalsargument k.\n"
+"Standardalternativ inom hakparenteser.\n"
+"\n"
+"Stjärna (*) indikerar att argumentet blir nytt standardalternativ.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<blanksteg> Visa nästa k rader med text [aktuell skärmstorlek]\n"
+"z Visa nästa k rader med text [aktuell skärmstorlek]*\n"
+"<retur> Visa nästa k rader med text [1]*\n"
+"d eller ctrl-D Rulla k rader [aktuell rullningsstorlek, initialt 11]"
+"*\n"
+"q, Q eller <avbrott> Avsluta more\n"
+"s Hoppa framĂĄt k rader med text [1]\n"
+"f Hoppa framåt k skärmlängder med text [1]\n"
+"b eller ctrl-B Hoppa bakåt k skärmlängder med text [1]\n"
+"' Gå till platsen där föregående sökning började\n"
+"= Visa aktuellt radnummer\n"
+"/<reguljärt uttryck> Sök efter den k:te förekomsten av reguljärt uttryck "
+"[1]\n"
+"n Sök efter den k:te förekomsten av senaste reguljära\n"
+" uttrycket [1]\n"
+"!<kmdo> eller :!<kmdo> Kör <kmdo> i ett underskal\n"
+"v Starta /usr/bin/vi vid aktuell rad\n"
+"ctrl-L Rita om skärmen\n"
+":n Gå till k:te nästa fil [1]\n"
+":p Gå till k:te föregående fil [1]\n"
+":f Visa aktuellt filnamn och radnummer\n"
+". Upprepa föregående kommando\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Tryck \"h\" för instruktioner.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" rad %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Inte en fil] rad %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Spill\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...hoppar över\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Mönstret hittades inte\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Mönstret hittades inte"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "körning misslyckades\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "kan inte grena\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Hoppar över "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Hoppar över till filen "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Hoppar tillbaka till filen "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Raden är för lång"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Inget tidigare kommando att ersätta"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "raden är för lång"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: byteantal med flera konverteringstecken.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: felaktigt byteantal för konverteringstecken %s.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdumo: %%s kräver ett precisionsvärde eller ett byteantal.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: felaktigt format {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: felaktigt konverteringstecken %%%s.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr ""
+" p Visa partitionstabellen på skärmen eller skriv den till en fil"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : skriv inte till hĂĄrddisken"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Skriv ut versionsinformation\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Skriv ut versionsinformation\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: flaggan kräver ett argument -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: otillĂĄten flagga -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...hoppar framĂĄt\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...hoppar bakĂĄt\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Ingen nästa fil"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Inga tidigare fil"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Läsfel från %s-fil\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Oväntat filslut i %s-fil\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Okänt fel i %s-fil\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Kan inte skapa temporär fil\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "RE-fel: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(Filslut)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Ingen ihågkommen söksträng"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "kan inte öppna %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "sparad"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !kommando inte tillåtet i rflag-läge.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() misslyckades, försök igen senare\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Nästa fil: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "Ingen --date-flagga angavs.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "problem vid läsning av terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Okänd inbäddningssekvens i indata: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Indataraden är för lång.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "openpty misslyckades\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "Kan inte öppna filen \"%s\""
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "kan inte ta status pĂĄ enheten %s"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "Kunde inte öppna %s\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "openpty misslyckades\n"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "kan inte öppna \"%s\""
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "kan inte ta status pĂĄ enheten %s"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "kan inte ta status pĂĄ enheten %s"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Kan inte öppna filen \"%s\""
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Denna disk har bĂĄde magiska DOS- och BSD-siffror.\n"
+#~ "Ge kommandot \"b\" för att gå till BSD-läge.\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "kan inte öppna %s"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: kan inte öppna %s\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "kan inte öppna %s för läsning"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "Kan inte öppna filen \"%s\""
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "Kunde inte öppna %s\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "kan inte ta status pĂĄ enheten %s"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "kan inte ta status pĂĄ enheten %s"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s misslyckades.\n"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Kan inte öppna /dev/port: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "open() pĂĄ %s misslyckades"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Ă–ppning av %s misslyckades"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Kan inte öppna %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "Kan inte allokera buffert.\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "kan inte ta status pĂĄ %s"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "kan inte ta status pĂĄ %s"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "kan inte ta status pĂĄ %s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "(Nästa fil: %s)"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "Kan inte öppna filen \"%s\""
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "Kan inte öppna filen \"%s\""
+
+#~ msgid "Cannot open "
+#~ msgstr "Kan inte öppna "
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "Kan inte öppna \"%s\" för läsning\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "kan inte ta status pĂĄ enheten %s"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "användning: %s [-hv] [-x kat] fil\n"
+#~ " -h visa denna hjälptext\n"
+#~ " -x kat packa upp i kat\n"
+#~ " -v var mer utförlig\n"
+#~ " fil fil att testa\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Användning: %s [-larvsmf] /dev/namn\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "%s: fel: kommer inte att försöka skapa växlingsenhet på \"%s\"\n"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "kan inte ta status pĂĄ enheten %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Du kommer inte att kunna skriva partitionstabellen.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Partition %i börjar inte på cylindergräns:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "borde vara (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "borde vara (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "Disk %s innehĂĄller inte en giltig partitionstabell\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Kan inte öppna %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr "Denna kärna hittar själv sektorstorleken - flaggan -b ignoreras\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "slut pĂĄ minne?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: för tidigt slut på indata\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: kan inte öppna %s: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Du har angivit flera funktioner\n"
+#~ "Du kan bara utföra en funktion åt gången.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: Flaggorna --utc och --localtime är ömsesidigt uteslutande. Du angav "
+#~ "bĂĄda.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Flaggorna --adjust och --noadjfile är ömsesidigt uteslutande. Du "
+#~ "angav bĂĄda.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: Flaggorna --adjust och --noadjfile är ömsesidigt uteslutande. Du "
+#~ "angav bĂĄda.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount: kan inte ställa in grupp-id: %s"
+
+# _("%s: the %s file is busy (%s present)\n"),
+# progname,
+# program == VIPW ? "password" : "group",
+# tmp_file);
+#
+# Detta är trasigt - This is broken
+# -
+# Dela aldrig upp ett meddelande så här, använd två meddelanden istället
+# -
+# Never split a sentence like this, use two full messages instead
+#
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: filen %s är upptagen (%s finns)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "Värdet är utanför intervallet.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Ogiltigt inställt värde: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "kan inte ta status pĂĄ %s"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "ogiltigt id: %s\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Ogiltigt inställt värde: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Ogiltigt inställt värde: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: misslyckades konfigurera slingenheten\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "kan inte öppna %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: Oväntat filslut i %s-fil\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "--date-argumentet är för långt\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "allokerade semaforer = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: felaktigt längdvärde.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: felaktigt överhoppningsvärde.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Användning: %s [-number] [-p sträng] [-cefnrs] [+rad] [+/mönster/] "
+#~ "[filer]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "sökfel"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "grening misslyckades\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "%s misslyckades.\n"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d ta bort en BSD-partition"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l visa kända filsystemstyper"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n lägg till en ny BSD-partition"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p skriv ut BSD-partitionstabell"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t ändra en partitions filsystemsid"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u byt enheter (cylindrar/sektorer)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p visa partitionstabellen"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Bygger en ny DOS-disketikett med diskidentifieraren 0x%08x.\n"
+#~ "Ändringar kommer endast att finnas i minnet till du bestämmer\n"
+#~ "dig för att skriva dem. Efter det kommer naturligtvis inte det\n"
+#~ "tidigare innehållet att kunna återställas.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Enheten innehĂĄller varken en giltig DOS-partitionstabell eller en Sun-, "
+#~ "SGI- eller OSF-disketikett\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Internt fel\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tTyvärr, det finns ingen expertmeny tillgänglig för SGI-"
+#~ "partitionstabeller.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Vet du om att partitioner överlappar varandra på hårddisken?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Bygger en ny SGI-disketikett. Ă„ndringar kommer endast att finnas i\n"
+#~ "minnet, till dess att du väljer att skriva dem. Efter det kommer\n"
+#~ "naturligtvis det tidigare innehållet att vara spårlöst borta.\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "slut pĂĄ minne - ger upp\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: lite minne, inloggning kan misslyckas\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "kan inte minnesallokera för ttyclass"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "kan inte minnesallokera för grplist"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "Inloggning pĂĄ %s frĂĄn %s nekas som standard.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "Inloggning pĂĄ %s frĂĄn %s nekas.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Användning: %s [ -f fullständigt-namn ] [ -o jobb ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "chsh: PAM-fel, avbryter: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Användning: %s [ -s skal ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ användarnamn ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s: kan endast ändra lokala poster; använd yp%s istället.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: Kan inte ställa in standardsammanhanget för /etc/passwd"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "sökning misslyckades"
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: använd flaggan -l för att se listan\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Använd %s -l för att se listan.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "användning: login [-fp] [användarnamn]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "slut pĂĄ minne"
+
+#~ msgid "Illegal username"
+#~ msgstr "Ogiltigt användarnamn"
+
+# %s blir här "root" i de flesta fall vad jag förstår
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s-inloggning nekas pĂĄ denna terminal.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "INLOGGNING AV %s NEKAS FRĂ…N %s PĂ… TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "INLOGGNING AV %s NEKAS PĂ… TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Felaktig inloggning\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "allokerade semaforer = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: grenande misslyckades: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s användarnamn: "
+
+#~ msgid "NAME too long"
+#~ msgstr "NAMNET är för långt"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "användarnamnet är alldeles för långt.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "användarnamn får inte börja med \"-\".\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "FĂ–R MĂ…NGA nyrader"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "för många tomma nyrader.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "MISSLYCKAD INLOGGNING FRĂ…N %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "MISSLYCKAD INLOGGNING PĂ… %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d MISSLYCKADE INLOGGNINGAR FRĂ…N %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d MISSLYCKADE INLOGGNINGAR PĂ… %s, %s"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: gruppfilen är upptagen.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr "%s: kan inte låsa upp %s: %s (dina ändringar är fortfarande i %s)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "minnesallokering misslyckades"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "Disk %s innehĂĄller inte en giltig partitionstabell\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "openpty misslyckades\n"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: användaren \"%s\" finns inte.\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: kan inte fĂĄ tag i information om enheten %s: %s\n"
+
+#, fuzzy
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", avstĂĄnd %d"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", krypteringstyp %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: kan inte fĂĄ tag i information om enheten %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: kan inte öppna enheten %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: inga rättigheter att granska /dev/loop#"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Kunde inte hitta någon slingenhet. Denna kärna känner kanske inte\n"
+#~ " till slingenheten? (Om det är så bör du kompilera om eller\n"
+#~ " \"modprobe loop\")."
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Slut på minne vid växande av buffert.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "Sektor %d är redan allokerad\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "mount: %s%s är skrivskyddad, monterar som endast läsbar"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "ioctl LOOP_SET_FD misslyckades: %s\n"
+
+#, fuzzy
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu): lyckades\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): lyckades\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: kan inte ta bort enheten %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Denna mount kompilerades utan stöd för slingor. Du bör kompilera om.\n"
+
+#, fuzzy
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "mount: stulen loop=%s ...försöker igen\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Inget stöd för slingor fanns tillgängligt vid kompileringen. Du bör\n"
+#~ "kompilera om.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Användning: %s [-q [-i intervall]] ([-s värde]|[-S värde]) ([-t värde]|[-"
+#~ "T värde]) [-g|-G] fil [fil...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Kan inte öppna %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: kan inte öppna %s: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: felaktigt värde\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "grening misslyckades\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "föråldrad användning: %s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "okänd typ av resurs: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "användning: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgnyckel] [-M shmnyckel] [-S semnyckel] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "okänt fel i nyckel"
+
+#~ msgid "unknown error in id"
+#~ msgstr "okänt fel i id"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s tillhandahåller information om ipc-faciliteter för vilka du har\n"
+#~ "läsrättighet.\n"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%s frĂĄn %s\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Användning: \"%s [flaggor]\n"
+#~ "\t -m <tabellfil> (standardalternativ: \"%s\" och\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-fil> (standardalternativ: \"%s\")\n"
+#~ "\t -M <mult> ställ in profileringsmultiplikatorn till <mult>\n"
+#~ "\t -i visa endast information om samplingssteget\n"
+#~ "\t -v visa utförlig data\n"
+#~ "\t -a visa alla symboler, även om antalet är 0\n"
+#~ "\t -b visa antal individuella histogram-bin\n"
+#~ "\t -s visa individuella räknare inom funktioner\n"
+#~ "\t -r nollställ alla räknare (endast root)\n"
+#~ "\t -n deaktivera automatisk detektering av byteordning\n"
+#~ "\t -V visa versionsinformation och avsluta\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: fel vid skrivning av %s: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "Prova med \"%s --help\" för mer information.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "användning: %s program [argument ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Användning: %s <enhet> [ -i <IRQ> | -t <TID> | -c <TECKEN> | \n"
+#~ " -w <VĂ„NTETID> | -a [on|off] | -o [on|off] | \n"
+#~ " -C [on|off] | -q [on|off] | -s | -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: felaktigt värde\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "För mer information, se setarch(8).\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "Fel vid stängning av fil\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Tyvärr, du kan ändra taggen på icke-tomma partitioner.\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Varning: partition %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Varning: partitionerna %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "och %s överlappar varandra\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "enhet: nĂĄgonting liknande /dev/hda eller /dev/sda"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "byte"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -l [ signal ]\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [enheter]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] kommandon enheter\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "Tillgängliga kommandon:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: kan inte öppna %s\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "sökfel"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "användning: %s [ -n ] enhet\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: inte en blockenhet\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "minnesallokering misslyckades"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: fel vid flaggtolkning\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Användning: %s [-x] [-d <num>] iso9660-avbild\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Användning: %s [-v] [-N antal-inoder] [-V volymnamn]\n"
+#~ " [-F filsystemsnamn] enhet [blockantal]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "kan inte ta status pĂĄ %s"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "kan inte hämta storleken på %s"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "grening misslyckades\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Användning: %s [-c] [-v0|-v1] [-pSIDSTORLEK] [-L etikett] /dev/namn "
+#~ "[block]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Slut pĂĄ minne"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "Användning:\n"
+
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Meny utan riktning. Använder standardvärdet vågrät."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Du måste ta bort en partition och lägga till en utökad partition först\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Kommandoåtgärd\n"
+#~ " %s\n"
+#~ " p primär partition (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [eller --show-size]: visa storlek pĂĄ en partition"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [eller --id]: visa eller ändra partitionsid"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [eller --list]: visa partitioner pĂĄ varje enhet"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [eller --dump]: samma, men i format lämpligt för senare inmatning"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i [eller --increment]: numrera cylindrar osv från 1 istället för "
+#~ "frĂĄn 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: acceptera/rapportera i enheter om sektorer/block/"
+#~ "cylindrar/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [eller --list-types]:visa de kända partitionstyperna"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr " -D [eller --DOS]: för DOS-kompatibilitet: slösa lite utrymme"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr ""
+#~ " -R [eller --re-read]: gör så att kärnan läser om partitionstabellen"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr ""
+#~ " -N<nummer>: ändra endast partitionen med numret <nummer>"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O fil : spara sektorerna som kommer att skrivas över "
+#~ "till fil"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I fil : återställ dessa sektorer igen"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [eller --version]: visa versionsinformation"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [eller --help]: visa detta meddelande"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr " -g [eller --show-geometry]: visa kärnans bild av geometrin"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [eller --Linux]: klaga inte på saker som är irrelevanta för "
+#~ "Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [eller --quiet]: undertryck varningsmeddelanden"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Du kan åsidosätta den detekterade geometrin genom att använda:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr ""
+#~ " -C<tal> [eller --cylinders <tal>]:ställ in antalet cylindrar att "
+#~ "använda"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr ""
+#~ " -H<tal> [eller --heads <tal>]:ställ in antalet huvuden att använda"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr ""
+#~ " -S<tal> [eller --sectors <tal>]:ställ in antalet sektorer att använda"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Du kan stänga av all konsekvenskontroll med:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr " -f [eller --force]: gör vad jag säger även om det är dumt"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: du mĂĄste ange filsystemstypen"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Användning: mkfs [-V] [-t filsystemstyp] [filsystemsflaggor] enhet "
+#~ "[storlek]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Kan inte öppna %s: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%s frĂĄn %s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "Kan inte allokera buffert för inoder"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Försök med \"getopt --help\" för mer information.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Användning: getopt flaggsträng parametrar\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [flaggor] [--] flaggsträng parametrar\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parametrar\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (utökad) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Förväntade: \"UTC\" eller \"LOCAL\" eller ingenting.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - fråga och ställ in hårdvaruklockan (RTC)\n"
+#~ "\n"
+#~ "Användning: hwclock [funktion] [flaggor...]\n"
+#~ "\n"
+#~ "Funktioner:\n"
+#~ " --help visa denna hjälp\n"
+#~ " --show läs hårdvaruklockan och skriv resultatet\n"
+#~ " --set ställ rtc:n till tiden som anges med --date\n"
+#~ " --hctosys ställ systemtiden från hårdvaruklockan\n"
+#~ " --systohc ställ hårdvaruklockan till aktuell systemtid\n"
+#~ " --adjust justera rtc:n för att kompensera för systematisk "
+#~ "dragning\n"
+#~ " sedan klockan senast ställdes eller justerades\n"
+#~ " --getepoch skriv ut kärnans värde på hårdvaruklockepok\n"
+#~ " --setepoch ställ kärnans värde på hårdvaruklockepok till värdet som\n"
+#~ " angivits med --epoch\n"
+#~ " --version skriv ut versionsnumret pĂĄ hwclock pĂĄ standard ut\n"
+#~ "\n"
+#~ "Flaggor: \n"
+#~ " --utc hĂĄrdvaruklockan hĂĄlls i universaltid (UTC)\n"
+#~ " --localtime hĂĄrdvaruklockan hĂĄlls i lokal tid\n"
+#~ " --rtc=path specialfil /dev/... att använda istället för standard\n"
+#~ " --directisa använd ISA-bussen direkt istället för %s\n"
+#~ " --badyear ignorera året i rtc:n eftersom bioset är trasigt\n"
+#~ " --date anger tiden som hårdvaruklockan ska ställas till\n"
+#~ " --epoch=år anger det år som är början på hårdvaruklockans epokvärde\n"
+#~ " --noadjfile försök inte komma åt /etc/adjtime. Kräver att antingen\n"
+#~ " --utc eller --localtime används\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "kan inte minnesallokera initieringssträng"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Användning: %s [-8hiLmw] [-l inloggningsprogram] [-t tidsgräns] [-I "
+#~ "initieringssträng] [-H inloggningsvärd] baudhastighet,... linje "
+#~ "[terminaltyp]\n"
+#~ "eller\t[-hiLmw] [-l inloggningsprogram] [-t tidsgräns] [-I "
+#~ "initieringssträng] [-H inloggningsvärd] linje baudhastighet,... "
+#~ "[terminaltyp]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "användning: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: ALLVARLIGT FEL"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "användning: %s [fil]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: kan inte läsa %s.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "användning: logger [-is] [-f fil] [-p pri] [-t tagg] [-u uttag] "
+#~ "[ meddelande ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "användning: look [-dfa] [-t tecken] sträng [fil]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "slut pĂĄ minne?\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "anropa: %s frĂĄn till filer...\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "användning: script [-a] [-f] [-q] [-t] [fil]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "skrivfel pĂĄ %s\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "skrivfel pĂĄ %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term terminalnamn ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tabb1 tabb2 tabb3 ... ] ] (tabbnummer = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tabb1 tabb2 tabb3 ... ] ] (tabbnummer = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#, fuzzy
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-ANTAL_KONSOLLER] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-ANTAL_KONSOLLER] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq frekvensnummer ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "användning: last [-#] [-f fil] [-t tty] [-h värdnamn] [användare ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ signal ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM kat ... -f ] namn...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "användning: write användare [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: kan inte öppna %s: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "okänd"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Användning: shutdown [-h|-r] [-fqs] [now|tt:ss|+minuter]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Nedstängningsförloppet avbrutet"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Endast root kan stänga ner ett system.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "Det måste vara imorgon, kan du inte vänta till dess?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "för underhåll; studs, studs"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Systemet stängs ner inom 5 minuter"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Inloggning är därför inte tillåten."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "omstartad av %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "stannad av %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Varför lever jag fortfarande efter omstart?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Nu kan du stänga av strömmen..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Anropar kärnans avstängningsfacilitet...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Fel vid avstängning\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Kör programmet \"%s\"...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Fel vid körning av\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "BRĂ…DSKANDE: meddelande till alla frĂĄn %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Systemet gĂĄr ner om %d timmar och %d minuter"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Systemet gĂĄr ner om 1 timme och %d minuter"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Systemet gĂĄr ner om %d minuter\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Systemet gĂĄr ner om 1 minut\n"
+
+# msgid "\aURGENT: broadcast message from %s:"
+# msgstr ""
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Systemet gĂĄr ner OMEDELBART!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Kan inte grena för swapoff. Suck!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "Kan inte köra swapoff, hoppas att umount fixar det."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Kan inte grena för umount, försöker manuellt."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Kan inte köra %s, försöker med umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Kan inte köra umount, ger upp med umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Avmonterar alla ĂĄterstĂĄende filsystem..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Kunde inte avmontera %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Startar i enanvändarläge.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "körning av enanvändarskal misslyckades\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "grening av enanvändarskal misslyckades\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "fel vid öppnande av fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "fel vid inställning av close-on-exec på /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "fel vid körning av finalprog\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "fel vid grening av finalprog\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Fel lösenord.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "lstat() på sökväg misslyckades\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "grening misslyckades\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "kan inte öppna inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "ingen TERM eller kan inte ta status pĂĄ tty\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "fel vid stoppande av tjänst: \"%s\""
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "fel vid stoppande av tjänst: \"%s\""
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "fel vid stoppande av tjänst: \"%s\""
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Användning: %s [-c] [-n nivå] [-s buffertstorlek]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "Ă–ppning av %s misslyckades"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "minnesallokering misslyckades"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "användning: col [-bfpx] [-l antalrader]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "användning: %s [ - ] [ -2 ] [ fil ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmtfil] [-n längd] [-s överhopp] "
+#~ "[fil ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr ""
+#~ "användning: %s [-dflpcsu] [+radnummer | +/mönster] namn1 namn2 ...\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "Kan inte allokera buffert.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: kan inte läsa %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: raden är för lång.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "användning: %s [fil]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "minnesallokering misslyckades"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Användning: tailf loggfil\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "användning: %s [ -i ] [ -tTerminal ] fil...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "Kan inte öppna %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Kan inte allokera mer minne\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "mottog EOF tre gĂĄnger - avslutar...\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: minnesallokeringsfel.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Slut pĂĄ minne\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Katalogen %s finns inte!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: inget minne för skalskript.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: inget skal: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: Ă…tkomst nekas."
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: Kan inte grena\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: kan inte läsa %s.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: kan inte ta status på temporär fil.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: kan inte läsa temporär fil.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "skrivfel pĂĄ %s\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "sökfel"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " och "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: okänd användare\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: felaktigt värde\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) har ersatts av hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: hexdump(1)-kompatibilitet stöder inte flaggan -%c%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; se strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Partitionen slutar i den slutliga partiella cylindern"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: slut pĂĄ minne\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "Ă–ppning av %s misslyckades"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: otillĂĄtet intervall %s sekunder\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: otillåtet värde för time_t, %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: kan inte byta etikett pĂĄ %s till %s: %s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "rtc läs"
+
+#~ msgid "malloc error"
+#~ msgstr "minnesallokeringsfel"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "användning: column [-tx] [-c kolumner] [fil ...]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "Slut pĂĄ minne"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "Kan inte allokera buffertutrymme\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "användning: rev [fil ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Kan inte allokera buffert.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Slut på minne vid växande av buffert.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: otillĂĄten flagga -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "allokerade segment %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "allokerade sidor %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "residenta sidor %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "utväxlade sidor %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Växlingsprestanda: %ld försök\t %ld lyckade försök\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "fel vid körning av finalprog\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "Ogiltigt inställt värde: %s\n"
+
+#, fuzzy
+#~ msgid "current"
+#~ msgstr "nräkn"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "Ny"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Användning: fdisk [-b SSZ] [-u] DISK Ändra partitionstabell\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK Lista partitionstabell(er)\n"
+#~ " fdisk -s PARTITION Visa partitionsstorlek(ar) i "
+#~ "block\n"
+#~ " fdisk -v Visa fdisks versionsnummer\n"
+#~ "DISK är någonting liknande /dev/hdb eller /dev/sda\n"
+#~ "och PARTITION är någonting liknande /dev/hda7\n"
+#~ "-u: visa början och slut i sektorer (istället för cylindrar)\n"
+#~ "-b 2048: (för vissa MO-enheter) använd 2048-bytessektorer\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Användning: fdisk [-l] [-b SSZ] [-u] enhet\n"
+#~ "Exempelvis: fdisk /dev/hda (för den första IDE-disken)\n"
+#~ " eller: fdisk /dev/sdc (för den tredje SCSI-disken)\n"
+#~ " eller: fdisk /dev/eda (för den första PS/2-ESDI-enheten)\n"
+#~ " eller: fdisk /dev/rd/c0d0 eller: fdisk /dev/ida/c0d0 (för RAID-"
+#~ "enheter)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Antalet cylindrar för denna disk är satt till %d.\n"
+#~ "Det är inget fel med det, men det är större än 1024, och kan i\n"
+#~ "vissa konfigurationer orsaka problem med:\n"
+#~ "1) programvara som kör under uppstart (exempelvis gamla versioner\n"
+#~ " av LILO)\n"
+#~ "2) start- och partitioneringsprogramvara frĂĄn andra operativsystem\n"
+#~ " (exemeplvis DOS FDISK, OS/2 FDISK)\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: stulen loop=%s ...försöker igen\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "användning: %s -asmq -tclup\n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h för hjälp.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Resursspecifikation:\n"
+#~ "\t-m : delat minne\n"
+#~ "\t-q : meddelanden\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semaforer\n"
+#~ "\t-a : alla (standard)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Utdataformat:\n"
+#~ "\t-t : tid\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : skapare\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : gränser\n"
+#~ "\t-u : sammanfattning\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "RE-fel: "
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "fel vid läsning av %s\n"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr ""
+#~ "användning: rdev [ -rv ] [ -o AVSTÅND ] [ BILD [ VÄRDE [ AVSTÅND ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (eller rdev /linux, osv.) visar den aktuella ROT-enheten"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 ställer in ROT till /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 ställer in ROTFLAGGORNA (endast läsbar)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 ställer in RAMDISK-storleken"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr ""
+#~ " rdev -v /dev/fd0 1 ställer in GRAFIKLÄGET vid uppstart"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " rdev -o N ... använd byteavstånd N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... samma som rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... samma som rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... samma som rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Obs: grafiklägen är: -3=Fråga, -2=Utökat, -1=NormalVga, 1=nyckel1, "
+#~ "2=nyckel2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " använd -R 1 för att montera roten endast läsbar, -R 0 för läs/skriv."
+
+#~ msgid "missing comma"
+#~ msgstr "komma saknas"
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "slut pĂĄ minne"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "SunOS alt sektorer"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "början"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Maxstorlek=%ld\n"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX startbar"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Skalet byttes inte.\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: fel: etikett endast med v1 växlingsutrymme\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "ödesdigert: första sidan är oläsbar"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: Enheten \"%s\" innehĂĄller en giltig Sun-disketikett.\n"
+#~ "Detta innebär troligtvis att skapandet av v0-växlingsutrymme skulle \n"
+#~ "förstöra din partitionstabell.\n"
+#~ "Inget växlingsutrymme har skapats. Om du verkligen vill skapa v0-\n"
+#~ "växlingsutrymme på den enheten kan du använda flaggan -f för att tvinga\n"
+#~ "fram det.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: kunde inte byta katalog till roten!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: kunde inte ta status pĂĄ roten!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: buffertspill\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? kunde inte byta katalog till %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? problem vid läsning av symboliska länken %s - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** Ă–VERSKRED UNIX-GRĂ„NSEN FĂ–R SYMBOLISKA LĂ„NKAR ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: okänd filtyp 0%06o på filen %s\n"
+
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: kommer att montera %s efter %s\n"
+
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr ""
+#~ "mount: ingen LABEL=, inget UUID=, kommer att montera %s efter sökväg\n"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: Kan inte grena\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: misslyckades med att öppna: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "kunde inte avmontera %s - försöker med %s istället\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "chfn: PAM-fel, avbryter: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "Kan inte läsa %s, avslutar."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM-fel, avbryter: %s\n"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: förlägger \"%s\" till bakgrunden\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: ger upp \"%s\"\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "anropar open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "anropar termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "skriver initieringssträng\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "före autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "väntar på cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "läser användarnamn\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "efter getopt-slinga\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "avslutar parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "gick in i parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "avslutar parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "duplicerar\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Varning: \"%s\" finns inte med i /etc/shells\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "time-out = %d, tyst = %d, omstart = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "kunde inte läsa %s, och kan inte dumpa ioctl\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", avstĂĄnd %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: kunde inte hitta nĂĄgon /dev/loop#-enhet"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "användning: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p prioritet] special|LABEL=volymnamn ...\n"
+#~ " %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "användning: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: kan inte göra %s kanonisk: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "användning: renice prioritet [ [ -p ] pid ] [ [ -g ] pgrupper ]\n"
+#~ " [ [ -u ] användare ]\n"
+
+#~ msgid "\t-%c\tEnable %s\n"
+#~ msgstr "\t-%c\tAktivera %s\n"
+
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "Okända flaggan \"%c\" ignorerad"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "\"%s\": felaktig katalog: \".\" kommer inte först\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "\"%s\": felaktig katalog: \"..\" kommer inte pĂĄ andra plats\n"
+
+#~ msgid "Password error."
+#~ msgstr "Lösenordsfel."
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES. Raise this value in mkcramfs.c and recompile. "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "Överskred MAXENTRIES. Öka detta värde i mkcramfs.c och kompilera om. "
+#~ "Avslutar.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Antar sidstorleken %d (inte %d)\n"
+
+#~ msgid "Total allocated sectors %d greater than the maximum %lld\n"
+#~ msgstr "Totala antalet allokerade sektorer %d större än maximala %lld\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "Automatiska konfigurationen hittade en %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Enhetstyp\n"
+#~ " ? konfigurera automatiskt\n"
+#~ " 0 anpassad (med hĂĄrdvarudetekterade standardalternativ)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Välj typ (? för automatisk konfiguration, 0 för anpassad): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Alternativa cylindrar"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Fysiska cylindrar"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Du kan ändra alla diskaparametrar från x-menyn"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5-tumsdiskett"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux anpassad"
+
+#, fuzzy
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s frĂĄn %s\n"
+
+#, fuzzy
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "mount: etiketten %s förekommer både på %s och %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "mount: kunde inte öppna %s, så UUID och ETIKETT-konvertering kan inte "
+#~ "utföras.\n"
+
+#, fuzzy
+#~ msgid "%s: bad UUID"
+#~ msgstr "mount: felaktig UUID"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr ""
+#~ "mount: misslyckades med montering av nfs version 4, försöker med 3...\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: monterar %s\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: fel vid gissning av filsystemstypen\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: överdrivet långt värd:katalog-argument\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: varning: flera samtidiga värdnamn stöds inte\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: katalog att montera är inte på formatet värd:katalog\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: kan inte få tag i adress för %s\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: fick felaktig hp->h_length\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: överdrivet långt flaggargument\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Varning: Okänd \"proto=\"-flagga.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Varning: Flaggan namlen stöds inte.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "okänd nfs-monteringsparameter: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Varning: flaggan nolock stöds inte.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "okänd nfs-monteringsflagga: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: fick felaktig hp->h_length?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs-bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "nfs-servern rapporterade att tjänsten var otillgänglig"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "använde portmapper för att hitta NFS-porten\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "använder port %d för nfs-demonen\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "okänt nfs-statusreturvärde: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "värd: %s, katalog: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: kan inte få tag i adress för %s\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: fick felaktig hostp->h_length\n"
+
+#~ msgid "max total shared memory (pages) = %lu\n"
+#~ msgstr "maximalt totalt delat minne (sidor) = %lu\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: ogiltigt cramfs--felaktig sökvägslängd\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: ogiltigt cramfs--felaktig magisk siffra\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr "%s: varning--fillängden är för lång, utfylld avbild?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: ogiltigt cramfs--crc-fel\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: ogiltigt cramfs--felaktigt superblock\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Syntaxfel: \"%s\"\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Ingen sådan parameter är inställd: \"%s\"\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr " %s [ -p ] enhet namn\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ " %s [ -p ] enhet storlek sektorer huvuden spår utsträckning mellanrum "
+#~ "hastighet spec1 formatavstĂĄnd\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] enhet\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] enhet\n"
+
+#~ msgid "version"
+#~ msgstr "version"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "kunde inte öppna /dev/urandom"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "kunde inte läsa slumpdata från /dev/urandom"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "kan inte ta status pĂĄ %s"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "%s har inte rätt filrättigheter"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "kan inte läsa data från %s"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "För många användare är redan inloggade.\n"
+#~ "Försök igen senare.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Du har för många processer körande.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "Lösenordet måste ha minst 6 tecken, försök igen.\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "Lösenordet måste innehålla tecken som tillhör två av följande klasser:\n"
+#~ "små och stora bokstäver, siffror och icke-alfanumeriska tecken. Se\n"
+#~ "passwd(1) för mer information.\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "Du kan inte återanvända det gamla lösenordet.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr "Använd inte någonting som liknar ditt användarnamn som lösenord!\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr "Använd inte någonting som liknar ditt verkliga namn som lösenord!\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Användning: passwd [användarnamn [lösenord]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "Endast root kan använda formen med en eller två argument.\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Användning: passwd [-foqsvV] [användare [lösenord]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "Kan inte köra %s: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "Kan inte hitta användarnamn"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Endast root kan byta lösenordet åt andra.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr ""
+#~ "Kan inte hitta användarnamnet någonstans. Är \"%s\" verkligen en "
+#~ "användare?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr ""
+#~ "Tyvärr, jag kan bara byta lokala lösenord. Använd yppasswd istället."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "UID och användarnamn stämmer inte överens, bedragare!"
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "Byter lösenordet för %s\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Ange gamla lösenordet: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Ogiltigt lösenord, bedragare."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Ange nya lösenordet: "
+
+#~ msgid "Password not changed."
+#~ msgstr "Lösenordet ändrades inte."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Ange nya lösenordet på nytt: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Du stavade fel till det. Lösenordet ändrades inte."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "lösenordet ändrades, användare %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "ROOT-LĂ–SENORDET Ă„NDRADES"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "lösenordet ändrades av root, användare %s"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "anropar setpwnam för att ställa in lösenord.\n"
+
+#~ msgid "Password *NOT* changed. Try again later.\n"
+#~ msgstr "Lösenordet ändrades *INTE*. Försök igen senare.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Lösenordet ändrades.\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr "mount: denna version kompilerades utan stöd för typen \"nfs\""
+
+#~ msgid "Cannot umount \"%s\"\n"
+#~ msgstr "Kan inte avmontera \"%s\"\n"
+
+#~ msgid "Cannot umount %s\n"
+#~ msgstr "Kan inte avmontera %s\n"
+
+#~ msgid "Warning: omitting partitions after %d\n"
+#~ msgstr "Varning: utelämnar partitioner efter %d\n"
+
+#~ msgid "get size"
+#~ msgstr "hämta storlek"
+
+#~ msgid "%d bad pages\n"
+#~ msgstr "%d felaktiga sidor\n"
+
+#~ msgid "%s: error: size %ld is larger than device size %d\n"
+#~ msgstr "%s: fel: storleken %ld är större än enhetsstorleken %d\n"
+
+#~ msgid "Total allocated sectors %d greater than the maximum %d\n"
+#~ msgstr "Totala antalet allokerade sektorer %d större än maximala %d\n"
+
+#~ msgid "%s: not compiled with minix v2 support\n"
+#~ msgstr "%s: inte kompilerad med stöd för minix v2\n"
+
+#~ msgid "BLKGETSIZE ioctl failed for %s\n"
+#~ msgstr "BLKGETSIZE-ioctl misslyckades för %s\n"
+
+#~ msgid "mount: %s duplicate - not mounted"
+#~ msgstr "mount: %s dubblerad - inte monterad"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "mount: the label %s occurs on both %s and %s - not mounted\n"
+#~ msgstr "mount: etiketten %s förekommer på både %s och %s - inte monterad\n"
+
+#~ msgid "umount: only root can unmount %s from %s"
+#~ msgstr "umount: endast root kan avmontera %s frĂĄn %s"
+
+#~ msgid "Size (MB)"
+#~ msgstr "Storlek (MB)"
+
+#~ msgid "Size (GB)"
+#~ msgstr "Storlek (GB)"
+
+#~ msgid "Win95 FAT32"
+#~ msgstr "Win95 FAT32"
+
+#~ msgid "Win95 FAT32 (LBA)"
+#~ msgstr "Win95 FAT32 (LBA)"
+
+#~ msgid "Win95 FAT16 (LBA)"
+#~ msgstr "Win95 FAT16 (LBA)"
+
+#~ msgid "Win95 Ext'd (LBA)"
+#~ msgstr "Win95 Utökad (LBA)"
+
+#~ msgid "Hidden Win95 FAT32"
+#~ msgstr "Dold Win95 FAT32"
+
+#~ msgid "Hidden Win95 FAT32 (LBA)"
+#~ msgstr "Dold Win95 FAT32 (LBA)"
+
+#~ msgid "Hidden Win95 FAT16 (LBA)"
+#~ msgstr "Dold Win95 FAT16 (LBA)"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "Start (%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Ingen (%02X)"
+
+#~ msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
+#~ msgstr "%s: [%04x]:%ld (%s) avstĂĄnd %d, kryptering: %s\n"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ " Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: Kunde inte hitta nĂĄgon slingenhet.\n"
+#~ " Kanske /dev/loop# har ett felaktigt huvudnummer?"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device (then recompile or `insmod loop.o'), or\n"
+#~ " maybe /dev/loop# has the wrong major number?"
+#~ msgstr ""
+#~ "mount: Kunde inte hitta någon slingenhet. Denna kärna vet kanske inte\n"
+#~ " om slingenheten (om det är så bör du kompilera om eller\n"
+#~ " \"insmod loop.o\"), eller kanske /dev/loop# har fel huvudnummer?"
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "Init (upp till 16 hexadecimala siffror): "
+
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "Icke-hexadecimal siffra \"%c\".\n"
+
+#~ msgid "Don't know how to get key for encryption system %d\n"
+#~ msgstr "Vet inte hur jag ska få tag i nyckel för krypteringssystem %d\n"
+
+#~ msgid ""
+#~ "Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from "
+#~ "%d\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Enheter = megabyte med 1048576 byte, block med 1024 byte, räknat från %d\n"
+#~ "\n"
+
+#~ msgid " Device Boot Start End MB #blocks Id System\n"
+#~ msgstr " Enhet Start Början Slut MB Block Id System\n"
+
+#~ msgid "Partition %i does not end on cylinder boundary:\n"
+#~ msgstr "Partition %i slutar inte på cylindergräns:\n"
+
+#~ msgid "Can't open help file"
+#~ msgstr "Kan inte öppna hjälpfil"
diff --git a/po/tr.gmo b/po/tr.gmo
new file mode 100644
index 0000000..32dfc7b
--- /dev/null
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..7df60eb
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,18249 @@
+# Turkish translations for util-linux messages.
+# Copyright © 2004 Nilgün Belma Bugüner.
+#
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such. No warranty.
+# NilgĂĽn Belma BugĂĽner <nilgun@buguner.name.tr>, 2001, ..., 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.13-pre7\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2006-03-06 15:45+0200\n"
+"Last-Translator: NilgĂĽn Belma BugĂĽner <nilgun@buguner.name.tr>\n"
+"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "%s açılamıyor"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "kimlik geçersiz"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "kimlik geçersiz"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "kimlik geçersiz"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "bölümleme tablosu yeniden okunur"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "salt-okunur ayarlanır"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "oku-yaz ayarlanır"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "salt-okunur ise 1 verir"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+#, fuzzy
+msgid "get logical block (sector) size"
+msgstr "sektör uzunluğunu verir"
+
+#: disk-utils/blockdev.c:93
+#, fuzzy
+msgid "get physical block (sector) size"
+msgstr "sektör uzunluğunu verir"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "düğüm sayısı hatalı"
+
+#: disk-utils/blockdev.c:117
+#, fuzzy
+msgid "get max sectors per request"
+msgstr "Silindir başına fazladan sektörler"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "blok uzunluÄźunu verir"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "blok uzunluÄźu belirtilir"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "32 bitlik sektör sayısını verir"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "boyutları bayt cinsinden verir"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "readahead ayarlanır - sektör sayısı ile"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "readahead okunur - sektör sayısı olarak"
+
+#: disk-utils/blockdev.c:162
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "readahead ayarlanır - sektör sayısı ile"
+
+#: disk-utils/blockdev.c:168
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "readahead okunur - sektör sayısı olarak"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "tamponları boşaltır"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "bölümleme tablosu yeniden okunur"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "boyutları bayt cinsinden verir"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s: (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "Diskin toplam alanı hesaplanamıyor"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s: Bilinmeyen komut: %s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s bir argümanla kullanılır\n"
+
+#: disk-utils/blockdev.c:370
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "erişim başarısız"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s başarıldı.\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s: %s üzerinde G/Ç hatası\n"
+
+#: disk-utils/blockdev.c:469
+#, fuzzy, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA Sboyu Bboyu BaşlSkt Boyut Aygıt\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "kullanımı: sfdisk --id aygıt disk-bölümü-numarası [kimlik]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "bölümleme tablosu yeniden okunur"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "kullanımı:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s bir blok aygıtı ya da dosyası değil\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Biçemlendiriliyor..."
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "tamam\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Doğrulanıyor..."
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Okunan: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "%d silindiri okunurken sorun çıktı, %d gerekirken %d okundu\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"%d silindirinde veri hatalı\n"
+"Devam ediliyor..."
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%2$s deki %1$s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "(Sonraki dosya: %s)"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s: bir blok aygıtı değil\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "'%s' dosyası açılamıyor"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "mevcut biçem türü saptanamadı"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s-yüzlü, %d iz, %d sektör/iz. Toplam %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Çift"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Tek"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s bağlı.\t"
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "umount: %s: yok"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, fuzzy, c-format
+msgid "failed to read: %s"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, fuzzy, c-format
+msgid "parse error: %s"
+msgstr "erişim hatası"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "Diskler eşzamanlanıyor.\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s başarıldı.\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "erişim başarısız"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "erişim hatası"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: açılamıyor: %s\n"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "umount: %s: yok"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+#, fuzzy
+msgid "fork failed"
+msgstr "ast süreç oluşturulamadı\n"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "openpty başarısız\n"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "setuid() başarısız"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s: sıkıştırma açılırken hata %d! %p(%d)\n"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, fuzzy, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: %s bir lp aygıtı değil.\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount: dosya sistemi tĂĽrĂĽ '%s' bilinmiyor"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "Tampon ayrılamadı.\n"
+
+#: disk-utils/fsck.c:1183
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "%s için dosya sistemi denetimi şart.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s: %s bir lp aygıtı değil.\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "%s sistemden ayrıldı\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "Kalan dosya istemleri ayrılıyor..."
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "Kalan dosya istemleri ayrılıyor..."
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s: bilinmeyen argĂĽman: %s\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: uyarı -- dosya sistemi boyu saptanamıyor \n"
+
+#: disk-utils/fsck.cramfs.c:158
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s bir blok aygıtı ya da dosyası değil\n"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: geçersiz cramfs -- dosya uzunluğu çok küçük\n"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Sonraki dosya: %s)"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: disk-utils/fsck.cramfs.c:188
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Sektör sayısı"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Uyarı: %s disk bölümü disk sonunu aşıyor\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: uyarı -- eski cramfs eşlemi, CRC'siz\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+#, fuzzy
+msgid "crc error"
+msgstr ", hata"
+
+#: disk-utils/fsck.cramfs.c:324
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "kök düğümü bir dizin değil"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, fuzzy, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " %ld de delik (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " %ld den %ld ye kadar blok sıkıştırılmamış (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: bloksuz (%ld) bayt\n"
+
+#: disk-utils/fsck.cramfs.c:394
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: boyutsuz (%ld vs %ld) bayt\n"
+
+#: disk-utils/fsck.cramfs.c:400
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Sonraki dosya: %s)"
+
+#: disk-utils/fsck.cramfs.c:412
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "mount başarısız"
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "mount başarısız"
+
+#: disk-utils/fsck.cramfs.c:421
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "zaman aşımı değeri hatalı: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() başarısız: %m"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:472
+#, fuzzy
+msgid "bad inode offset"
+msgstr "düğüm sayısı hatalı"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: sembolik bağ `%s' üzerinde boyut hatası\n"
+
+#: disk-utils/fsck.cramfs.c:543
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync hata verdi"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: sahte kip `%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:584
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "mount başarısız"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: geçersiz cramfs -- dizin verisi sonu (%ld) != dosya verisi başlangıcı "
+"(%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:625
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: geçersiz cramfs -- geçersiz dosya verisi başlangıcı\n"
+
+#: disk-utils/fsck.cramfs.c:669
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: -x desteği olmaksızın derlenmiş\n"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: TAMAM\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file dökümDosyası ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "etkileşimli onarım için terminal gerekli"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s bağlı.\t"
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Gerçekten devam etmek istiyor musunuz?"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "denetim durdu.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "`%s' dosyasındaki bölge No < İLKBÖLGE."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "`%s' dosyasındaki bölge No >= BÖLGE sayısı."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "blok kaldırılsın mı?"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Okuma hatası: '%s' dosyasındaki bloğa erişilemiyor\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Okuma hatası: '%s' dosyasındaki bir blok bozuk\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Bozuk bloğa yazmaya çalışılırken iç hata oluştu:\n"
+"Yazma isteği yoksayıldı\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "write_block işleminde erişim sağlanamadı"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Yazma hatası: '%s' dosyasındaki bir blok bozuk\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "super-blok yazma işleminde erişim sağlanamadı"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "super-bloka yazılamadı"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "düğüm eşlemi yazılamıyor"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "bölge tablosu yazılamıyor"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Düğümler yazılamıyor"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "erişim başarısız"
+
+#: disk-utils/fsck.minix.c:553
+#, fuzzy
+msgid "unable to alloc buffer for superblock"
+msgstr "tablolar için tampon bellek ayrılamıyor"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "super blok okunamıyor"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "super-bloktaki betimleyici numara hatalı"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Sadece 1k blok/bölge desteği var"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "super-bloktaki s_imap_blocks alanı bozuk"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "super-bloktaki s_zmap_blocks alanı bozuk"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "düğüm eşlemi için tampon bellek ayrılamıyor"
+
+#: disk-utils/fsck.minix.c:600
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "düğüm eşlemi için tampon bellek ayrılamıyor"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Düğümler için tampon bellek ayrılamıyor"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Düğüm sayısı kadar tampon bellek ayrılamıyor"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "bölge sayısı kadar tampon bellek ayrılamıyor"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Düğüm eşlemi okunamıyor"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "bölge tablosu okunamıyor"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Düğümler okunamıyor"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Uyarı: İlkBölge != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld düğüm\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blok\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "İlkVeriBölgesi = %ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "BölgeUzunluğu = %d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "AzamiUzunluk = %ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "DosyaSistemi durumu = %d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"isimUzunluÄźu = %d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "%d. düğüm serbest olarak imli ama '%s' dosyası için kullanılmış\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Kullanımda olarak imlensin mi?"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "`%s' %05o kipe sahip\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Uyarı: düğüm sayısı çok büyük.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "kök düğümü bir dizin değil"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Blok `%s' dosyası için kullanılıyor."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "Temizlensin mi?"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "`%2$s' dosyasının %1$d. bloğu kullanımda değil olarak imli."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "DoÄźru mu?"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "'%s' dizini '%.*s' dosyası için bir hatalı düğüm numarası içeriyor."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Silinsin mi?"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: dizin hatalı: '.' ilk değil\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: dizin hatalı: '..' ikinci değil\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "iç hata"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: dizin hatalı: uzunluk < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "bad_zone'da erişim başarısız"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "%d.düğümde kip temiz değil."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "%d. düğüm kullanımda değil ama biteşlemde kullanımda olarak imli."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "%d.düğüm kullanımda ama biteşlemde kullanımda değil olarak imli."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Ä°mlensin mi?"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Düğüm %d (kip = %07o), i_nlinks = %d, sayılan = %d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "i_nlinks bu sayıya ayarlansın mı?"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Bölge %d: kullanımda olarak imli ama hiçbir dosya kullanmıyor"
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "İm kaldırılsın mı?"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Bölge %d: kullanımda, sayılan = %d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Bölge %d: kullanım dışı, sayılan = %d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "düğüm sayısı hatalı"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "v2 düğüm sayısı hatalı"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "etkileşimli onarım için terminal gerekli"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "%s açılamıyor"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s temiz, denetim gereksiz.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "%s için dosya sistemi denetimi şart.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "%s ĂĽzerindeki dosya sistemi dĂĽzensiz, denetlenmesi gerekiyor.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld düğüm kullanımda (%%%ld)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld bölge kullanımda (%%%ld)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d normal dosya\n"
+"%6d dizin\n"
+"%6d karakter aygıtı dosyası\n"
+"%6d blok aygıtı dosyası\n"
+"%6d baÄź\n"
+"%6d sembolik baÄź\n"
+"------\n"
+"%6d dosya\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"--------------------------\n"
+"DOSYA SİSTEMİ DEĞİŞTİRİLDİ\n"
+"--------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s: %s üzerinde erişim hatası\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s: %s üzerinde okuma hatası\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektör sayısı: %d, sektör uzunluğu: %d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "`%s' geçersiz sayı\n"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "bölüm ismi çok uzun"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "dosya sistemi ismi çok uzun"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s bir blok-özel aygıt değil"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "kimlik geçersiz"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "%s uzunluğu alınamıyor"
+
+#: disk-utils/mkfs.bfs.c:199
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "blok argümanları çok fazla, en çok %lu olabilir"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "düğüm sayısı çok fazla - en çok 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "yer yetersiz, en az %lu blok gerekiyor"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Aygıt: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Bölüm: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "DSismi:<%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "BlokUzunl: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Düğüm sayısı: %d (1 blokta)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Düğüm sayısı: %d (%ld blokta)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blok #: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Son düğüm: %d, Veri sonu: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "süperblok yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "kök düğümü yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "düğüm yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "erişim hatası"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr " . girdisi yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr " .. girdisi yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "%s kapatılırken hata"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+"Kullanımı: mkfs [-V] [-t dsySistTürü] [dsySist-seçenekleri] aygıt [uzunluk]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, fuzzy, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"kullanımı: %s [-h] [-v] [-b blkuz] [-e baskı] [-i dosya] [-n isim]\n"
+" dizinismi çıktıdosyası\n"
+"\n"
+" -h bu yardım iletisi gösterilir\n"
+" -v çıktı daha ayrıntılı olur\n"
+" -E uyarılar hata olarak verilir (sıfırdan farklı çıkış kodu)\n"
+" -b blkuz bu blok uzunluğu kullanılır, sayfa uzunluğuna eşit olmalıdır\n"
+" -e baskı baskı numarasını ayarlar (dosyasistemi kimliğinin bir parçası)\n"
+" -i dosya dosya sistemine bir dosya eĹźlemi sokuĹźturur (>= 2.4.0 gerekir)\n"
+" -n isim cramfs dosya sisteminin ismi\n"
+" -p önyükleme koduna %d baytlık adımlama uygulanır\n"
+" -s dizin içeriğini sıralar (eski seçenek, yoksayılır)\n"
+" -z belirgin delikler yapar (>= 2.3.39 gerekir)\n"
+" dizinismi sıkıştırılacak dosya sisteminin kökdizini\n"
+" çdosyası çıktı dosyası\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "kök düğümü bir dizin değil"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Çok uzun (%u baytlık) dosya ismi `%s' bulundu.\n"
+"mkcramfs.c içinde MAX_INPUT_NAMELEN değerini arttırın ve tekrar derleyin. "
+"Çıkılıyor.\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "dosya sistemi çok büyük. Çıklıyor.\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "OLAMAZ: blok \"sıkıştırması\" > 2*blokuzunluğu (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%%%6.2f (%+d bayt)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "'%s' dosyası açılamıyor"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount: %s: blok aygıtı geçersiz"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"uyarı: gereken tahmini boyut (üst sınır) %Ld MB, ama en büyük bellekeşlem "
+"boyu %u MB. Vakitsiz ölüm.\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "İçeriği: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dizin verisi: %d bayt\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Hepsi: %d kB\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "SĂĽper blok: %d bayt\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+"ROM bellekeşlemi için ayrılan alan yetersiz (%Ld ayrıldı, %d kullanıldı)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "ROM bellekeĹźlemi yazmada hata (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "uyarı: dosya isimleri 255 bayt olarak kısaltıldı.\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "uyarı: hatalardan dolayı dosyalar atlandı.\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "uyarı: dosya boyutları %luMB'a düşürüldü (eksi 1 bayt).\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"uyarı: kullanıcı kimlikleri %u bite düşürüldü. (Bu bir güvenlik kaygısı "
+"olabilir.)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"uyarı: grup kimlikleri %u bite düşürüldü. (Bu bir güvenlik kaygısı "
+"olabilir.)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"UYARI: aygıt numaraları %u bitle sınırlandı. Bu işlem bazı aygıt "
+"dosyalarının isimlerinin yanlış olmasına sebep olacak.\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr ""
+"Kullanımı: %s [-c | -l dosyaismi] [-nXX] [-iXX] /dev/isim [blokSayısı]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s bağlı; burada bir dosya sistemi yapılmayacak!"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "write_tables içinde başlatma bloğuna erişilemedi"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "başlatma sektörü temizlenemiyor"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "write_tables içinde erişim başarısız"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "super-bloka yazılamadı"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "düğüm eşlemi yazılamıyor"
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "bölge tablosu yazılamıyor"
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "düğümler yazılamıyor"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "write_block işleminde erişim sağlanamadı"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "write_block içine yazma başarısız"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "çok fazla hatalı blok var"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "iyi bloklar yetersiz"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "tablolar için tampon bellek ayrılamıyor"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "tablolar için tampon bellek ayrılamıyor"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "düğümler için tampon bellek ayrılamıyor"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld düğüm\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld blok\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Azamiuzunluk = %ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "bloklar denetlenirken erişim başarısız"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "do_check yapılırken tuhaf değerler: yazılım hatası olabilir\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "check_blocks işleminde erişim başarısız"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "veri alanından önceki bloklar hatalı: dosya sistemi yapılamıyor"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d bozuk blok\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "bir bozuk blok\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "bozuk bloklar dosyası açılamıyor"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "Disk sürücüsü okunamıyor"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "düğüm sayısı hatalı"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol hatası: blok sayısı belirtilmemiş"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "umount: %s: aygıt meşgul"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "%s uzunluğu alınamıyor"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "'%s' üzerinde dosya sistemi oluşturmaya çalışılmayacak"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "Sektör sayısı"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "kullanıcı tarafından belirtilen sayfa uzunluğu %d hatalı\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Kullanıcı tarafından belirtilen sayfa uzunluğu %d kullanılıyor,\n"
+"(sistem deÄźeri %d/%d yerine)\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr "Takas başlığı uzunluğu hatalı, bir etiket yazılmamış.\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "Etiket kısaltıldı.\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "bir etiket yok, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "UUID yok\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "çok fazla bozuk sayfa var"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "check_blocks işleminde erişim başarısız"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "1 bozuk sayfa\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu bozuk sayfa\n"
+
+#: disk-utils/mkswap.c:358
+#, fuzzy
+msgid "unable to alloc new libblkid probe"
+msgstr "düğümler için tampon bellek ayrılamıyor"
+
+#: disk-utils/mkswap.c:360
+#, fuzzy
+msgid "unable to assign device to libblkid probe"
+msgstr "düğümler için tampon bellek ayrılamıyor"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "takas alanında başa gidilemiyor"
+
+#: disk-utils/mkswap.c:414
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "başlatma sektörü temizlenemiyor"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "başlatma sektörü temizlenemiyor"
+
+#: disk-utils/mkswap.c:433
+#, fuzzy, c-format
+msgid " (%s partition table detected). "
+msgstr " p BSD disk bölümleme tablosunu gösterir"
+
+#: disk-utils/mkswap.c:435
+#, fuzzy, c-format
+msgid " on whole disk. "
+msgstr " s disk etiketinin tamamını gösterir"
+
+#: disk-utils/mkswap.c:437
+#, fuzzy, c-format
+msgid " (compiled without libblkid). "
+msgstr " s disk etiketinin tamamını gösterir"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "erişim başarısız"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "ayrılmış semafor sayısı = %d\n"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s: hata: sĂĽrĂĽm %d bilinmiyor\n"
+
+#: disk-utils/mkswap.c:530
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s: hata: Takas alanını koyacak yer yok mu?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "kimlik geçersiz"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s: hata: %lu aygıtın boyutundan büyük (%lu)\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s: hata: takas alanı için en az %ldkB gerekiyor\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s: uyarı: takas alanı %ldkB ile sınırlanıyor\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s bağlı; burada bir dosya sistemi yapılmayacak!"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "Uyarı: %s bir blok aygıtı değil\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Takas alanı oluşturulamıyor: okunabilir değil"
+
+#: disk-utils/mkswap.c:617
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Takas alanı sürüm %d, uzunluk = %llu kB olarak ayarlanıyor\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "imza sayfası yazılamıyor"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync hata verdi"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "takas alanında başa gidilemiyor"
+
+#: disk-utils/mkswap.c:653
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: disk-utils/mkswap.c:656
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "düğümler yazılamıyor"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "%s %s olarak deÄźiĹźtirilemiyor: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "Disk bölümü numarası"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "Disk bölümleme tablosunu yazar"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "Sektör sayısı"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "Disk bölümü numarası"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d disk bölümü:\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "Disk bölümleme tablosu diske yazılıyor..."
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d disk bölümü:\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "# %s disk bölümleme tablosu\n"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "Tampon ayrılamadı.\n"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: hiç serbest loop aygıtı yok"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount: %s loop aygıtının kullanımına gidiliyor\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: açılamıyor: %s\n"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "takas alanında başa gidilemiyor"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, fuzzy, c-format
+msgid "unknown column: %s"
+msgstr "%s: Bilinmeyen komut: %s\n"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "write_tables içinde erişim başarısız"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "Seçilen disk bölümü %d\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "Atanmış disk bölümü yok\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "Bu disk bölümü zaten var.\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "Seçilen disk bölümü %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "%s disk bölümünde değil\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "Uyarı: %s disk bölümü "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "Atanmış disk bölümü yok\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "erişim başarısız"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+#, fuzzy
+msgid "failed to add line to output"
+msgstr "Tampon ayrılamadı.\n"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+#, fuzzy
+msgid "failed to initialize output table"
+msgstr "Tampon ayrılamadı.\n"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+#, fuzzy
+msgid "failed to initialize output column"
+msgstr "Tampon ayrılamadı.\n"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "Tampon ayrılamadı.\n"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "bölümleme tablosu yeniden okunur"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " p BSD disk bölümleme tablosunu gösterir"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "%s diski geçerli bir disk bölümleme tablosu içermiyor\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "MĂĽmkĂĽn komutlar:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "%s: açılamıyor: %s\n"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "Bir boş disk bölümü silinemez"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "Tampon ayrılamadı.\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "%s kilit dosyası kilitlenemiyor: %s\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Uyarı: %s bir blok aygıtı değil\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "%s: açılamıyor: %s\n"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "/dev/%s: bir karakter aygıtı değil"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "%s bir blok-özel aygıt değil"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "servis durdurulurken hata: \"%s\""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "servis durdurulurken hata: \"%s\""
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "kullanımı: sfdisk --id aygıt disk-bölümü-numarası [kimlik]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "write_tables içinde erişim başarısız"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "bölümleme tablosu yeniden okunur"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, fuzzy, c-format
+msgid "%s: unable to probe device"
+msgstr "takas alanında başa gidilemiyor"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, fuzzy, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: böyle bir disk bölümü yok\n"
+
+#: disk-utils/swaplabel.c:74
+#, fuzzy, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: hata: sĂĽrĂĽm %d bilinmiyor\n"
+
+#: disk-utils/swaplabel.c:114
+#, fuzzy, c-format
+msgid "failed to parse UUID: %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: disk-utils/swaplabel.c:118
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: açılamıyor: %s\n"
+
+#: disk-utils/swaplabel.c:122
+#, fuzzy, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: açılamıyor: %s\n"
+
+#: disk-utils/swaplabel.c:133
+#, fuzzy, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: açılamıyor: %s\n"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, fuzzy, c-format
+msgid "%s: failed to write label"
+msgstr "write_tables içinde erişim başarısız"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Bellek yetersiz!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Kullanışsız"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "BoĹź Alan"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disk deÄźiĹźtirildi.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Bölümleme tablosunun doğru olarak güncellendiğinden emin olabilmek için\n"
+"sistemi yeniden başlatın.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"UYARI: Herhangi bir DOS 6.x bölümünü oluşturduysanız ya da\n"
+"değişiklik yaptıysanız, lütfen cfdisk man sayfalarındaki\n"
+"ek bilgileri okuyun.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "Ă–LĂśMCĂśL HATA"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "cfdisk'ten çıkmak için herhangi bir tuşa basınız"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Disk sürücü üzerinde arama yapılamıyor"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Disk sürücüsü okunamıyor"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Disk sürücüsüne yazılamıyor"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Disk bölümü sayısı çok fazla"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Disk bölümü sıfırıncı sektörden önce başlıyor"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Disk bölümü sıfırıncı sektörden önce bitiyor"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Disk bölümü disk sonundan sonra başlıyor"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Disk bölümü disk sonundan sonra bitiyor"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "mantıksal bölümler sıralamaya uygun değil"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "mantıksal bölümler içiçe geçmiş"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "büyütülen mantıksal bölümler içiçe geçiyor"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Ek disk bölümü içermeyen mantıksal bölüm oluşturulurken iç hata !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr "Burada mantıksal bölüm oluşturulamıyor -- iki ek bölüm oluşacaktı"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menü öğesi çok uzun. Menü tuhaf görünebilir."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Kuraldışı tuş"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Devam etmek için bir tuşa basınız"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Birincil"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Yeni birincil disk bölümü oluşturur"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Mantıksal"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Yeni mantıksal disk bölümü oluşturur"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Vazgeç"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Bir disk bölümü oluşturulmaz"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! İç hata !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Alan (MB):"
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Başlangıç"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Disk bölümünü boş alanın başlangıcına ekler"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Son"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Disk bölümnü boş alanın sonuna ekler"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Ek disk bölümünü oluşturacak yer yok"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Disk bölümleme tablosu yok.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Disk bölümleme tablosu yok. Boş tablo ile başlanacak."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Disk bölümleme tablosundaki imza kötü"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Disk bölümleme tablosu türü bilinmiyor"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Temiz bir tablo ile baĹźlamak ister misiniz [e/H] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Diskte bulunan silindir sayısından büyük bir sayı belirttiniz"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Disk açılamıyor"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Açılan disk salt-okunur - yazma izniniz yok"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Diskin toplam alanı hesaplanamıyor"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Birincil disk bölümü bozuk"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Mantıksal disk bölümü bozuk"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Uyarı!! Bu işlem disk üzerindeki veriyi yokedebilir!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Disk bölümleme tablosunun diske yazılmasını gerçekten istiyor musunuz?\n"
+"(evet/hayır ya da yes/no): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "hayır"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Disk bölümleme tablosu diske yazılmadı"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "evet"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Lütfen ya `evet´ ya da `hayır´ yazınız"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Disk bölümleme tablosu diske yazılıyor..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Disk bölümleme tablosu diske yazıldı"
+
+#: fdisks/cfdisk.c:1744
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Bölümleme tablosu yazıldı ama tablo yeniden okunamadı. Sistemi yeniden "
+"başlatın."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Önyükleme için imlenmiş hiç birincil disk bölümü yok. DOS MBR bunu "
+"baĹźlatamayabilir."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Önyükleme için imlenmiş çok sayıda birincil disk bölümü var. DOS MBR bunu "
+"baĹźlatamayabilir."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Dosya ismini girin ya da ENTER tuşuna basın: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Sabit Disk: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Sektör 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektör %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Yok "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Bir/Man"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Birincil "
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Mantıksal "
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Bilinmeyen"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Açılış"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Hiçbiri"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "%s için Disk Bölümleme Tablosu\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Bölüm İlk Son Sektör Dosya\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Türü Sektör Sektör Başl Sayısı Sistemi Türü "
+"Flama\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- --------- ----- "
+"------\n"
+
+#: fdisks/cfdisk.c:2039
+#, fuzzy
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " --Başlangıç--- ----Bitiş----- Başlangıç Sektör\n"
+
+#: fdisks/cfdisk.c:2040
+#, fuzzy
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Flama Kafa Sekt Sld Kiml Kafa Sekt Sld Sektörü Sayısı\n"
+
+#: fdisks/cfdisk.c:2041
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- --------- ---------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Ham"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "Tablo temel veri biçemi olarak yazılır"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Sektör"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "Tabloyu sektörlere dağılımına göre yazar"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Tablo"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Disk bölümleme tablosunu yazar"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Tablo yazılamıyor"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "cfdisk Yardım Ekranı"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+"Sabit diskinizdeki disk bölümlerini oluşturabilmenizi, silebilmenizi ve"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+"değiştirebilmenizi sağlayan etkileşimli bir disk bölümleme uygulamasıdır."
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr " "
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Telif Hakkı (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr " Komut Anlamı"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr " ----- ------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Seçilen disk bölümünün açılış flamasını kaldırır/indirir"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Seçilen disk bölümünü siler"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Silindir, kafa, sektör/İz parametrelerini değiştirir"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " UYARI: Bu seçenek sadece ne yaptığını iyi bilen kişilerce"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " kullanılabilir."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Bu yardım ekranını gösterir"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Seçilen disk bölümünü kalan boş yere sığdırır"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Bilgi: Disk bölümünü DOS, OS/2 ve benzeri sistemlerle"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " uyumsuzluk oluĹźturabilir."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Boş alanda yeni bir disk bölümü oluşturur"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p Disk bölümleme tablosunu ekrana ya da bir dosyaya yazar"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr ""
+" Disk bölümleme tablosunu farklı biçemlerde elde edebilirsiniz."
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " Bu biçemler:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr " r - Temel veri (verinin diske yazılan biçemi)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Disk bölümlerinin sektörlere dağılımını gösterir"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Geleneksel disk bölümleme tablosu"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr ""
+" q Disk bölümleme tablosu diskteki yerine kaydedilmeden çıkılır"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Dosya sistemi tĂĽrĂĽnĂĽ deÄźiĹźtirir"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Disk bölümü boyunun birimini değiştirir"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " MB, sektör, silindir birimleri sırayla yer değiştirir"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Disk bölümleme tablosunu diskteki yerine yazar. (Büyük W)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Diskteki veriyi yanlışlıkla kaybetmemek için "
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr ""
+" 'evet' ya da 'hayır' yazmanız istenerek veriyi diske yazdırıp,"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " yazdırmayacağınıza kesin karar verebilirsiniz"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "Yukarı Ok Kürsörü önceki disk bölümüne kaydırır"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "Aşağı Ok Kürsörü sonraki disk bölümüne kaydırır"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Ekranı tazeler"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Bu yardım ekranını gösterir"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Bilgi: Kaydet (W) komutu dışında tüm komutları büyük ya da küçük harf"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "olarak kullanabilirsiniz."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Silindir"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Silindir geometrisini deÄźiĹźtirir"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Kafa"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Kafa geometrisini deÄźiĹźtirir"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Sektör geometrisini değiştirir"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Tamam"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Geometri değişikliği yapıldı"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Silindir sayısını verin: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Silindir sayısı kuraldışı"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Kafa sayısını verin: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Kafa sayısı kuraldışı"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "sektör/iz sayısını verin: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "sektör sayısı kuraldışı"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Dosya sistemi tĂĽrĂĽ boĹź olarak deÄźiĹźtirilemez"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Dosya sistemi tĂĽrĂĽ ek olarak deÄźiĹźtirilemez"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Ne?(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Bir/Man"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Bilinmeyen (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Sabit Disk: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Boyut: %lld bayt, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Boyut: %lld bayt, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Kafa: %d Sektör/İz: %d Silindir: %lld "
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Ä°sim"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Flama"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Bölüm Türü"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "DS TĂĽrĂĽ"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Etiket]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Sektör "
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Silindir"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Boy (MB) "
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Boy (GB) "
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Başka disk bölümü yok"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Açılış"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Seçilen disk bölümünde Açılış flamasını kaldırır/indirir"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Sil"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Seçilen disk bölümünü kaldırır"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Geometri"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Disk geometrisini değiştirir (uzmanlar için)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Yardım"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Yardım ekranını gösterir"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Sığdır"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Seçilen disk bölümünü kalan yere göre ayarlar (uzmanlar için)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Yeni"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Boş alanda yeni bir disk bölümü oluşturur"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "Yaz"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "Disk bölümleme tablosunu ekrana ya da bir dosyaya yazar"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Çık"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Disk bölümleme tablosunu diske kaydetmeden çıkar"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "TĂĽrĂĽ"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ deÄźiĹźtirir (DOS, Linux, OS/2,..,vs)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Birim"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Gösterilecek boy birimini değiştirir (MB, sekt, sld)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Kaydet"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+"Disk bölümleme tablosunu diske kaydeder (bu işlem verilerin kaybına sebep "
+"olur)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Bu disk bölümüne açılış kaydı yapılamaz"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Bir boş disk bölümü silinemez"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "Bu disk bölümü sığdırılamıyor"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Bu disk bölümü kullanışsız"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Bu disk bölümü zaten kullanımda"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Bir boş disk bölümünün türü değiştirilemez"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Kuraldışı komut"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Telif Hakkı © 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Kullanımı:\n"
+"Sürümü göster:\n"
+" %s -v\n"
+"Disk bölümleme tablosunu göster:\n"
+" %s -P {r|s|t} [seçenekler] aygıt\n"
+"Etkileşimli kullanım:\n"
+" %s [seçenekler] aygıt\n"
+"\n"
+"Seçenekler:\n"
+"-a: Aydınlatma yerine ok kullanılır;\n"
+"-z: Disk bölümleme tablosunu okumadan sıfır tablo ile başlar;\n"
+"-c C -h H -s S: Çekirdekte kayıtlı silindir sayısı(C), kafa sayısı(H),\n"
+" sektör/iz sayısı(S) değerlerini değiştirir.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c silindir sayısını değiştirir"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "%s açılamıyor"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "%s açılamıyor"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tDisk üzerinde geçerli bir AIX etiketi var.\n"
+"\tNe yazık ki, Linux şu anda bu disklerle\n"
+"\tçalışamıyor. Buna rağmen biraz tavsiye:\n"
+"\t1. fdisk ile üstüne yazarsanız içeriğini kaybedeceksiniz.\n"
+"\t2. Bu diskin hala bir grubun yaşamsal öneme sahip bir\n"
+"\t üyesi olmadığından emin olun. (Aksi takdirde,\n"
+"\t aynalanmamışsa, diğer diskleri de silebilirsiniz.\n"
+"\t3. Bu fiziksel bölümü silmeden önce diski AIX\n"
+"\t makinanızdan mantıksal olarak kaldırdığınıza\n"
+"\t emin olun. (Aksi takdirde bir AIXpert haline\n"
+"\t gelebilirsiniz.)"
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tBu fdisk AIX disk etiketleri ile çalışamaz.\n"
+"\tDOS bölümleri eklemek istiyorsanız önce yeni\n"
+"\tbir DOS disk bölümleme tablosu oluşturun. (o ile)\n"
+"\tUYARI: Bu işlem ile diskteki tüm bilgile kaybalacaktır.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Aygıt için BSD disk etiketi: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Disk etiketi %s üzerine yazılıyor.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "Ä°lk %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Son %s, +size, +sizeM veya +sizeK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s disk etiketi içermiyor.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Bir disk etiketi oluĹźturmak ister misiniz? (e/h) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "%s disk bölümü geçersiz başlangıç sektör 0 değerine sahip.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "%s disk etiketi sektör %d den okunuyor.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "%s üzerinde *BSD disk bölümü yok.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD disk etiketi komutu (yardım için m): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "tĂĽrĂĽ: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "tĂĽrĂĽ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiket: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "flamalar:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " silinebilir"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " bozukSektör"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bayt/sektör: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektör/iz: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "iz/silindir: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektör/silindir: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "silindir sayısı: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "devir sayısı: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "serpiĹźtirme: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "izkayması: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "silindirkayması: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "kafadeÄźiĹźimi %ld\t\t# milisaniye\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "izden-ize geçiş: %ld\t# milisaniye\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "aygıtverisi:"
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d disk bölümü:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# başlangıç bitiş boy dstürü [dboyu bboyu cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "bayt/sektör"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "sektör/iz"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "iz/silindir"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "silindir"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "sektör/silindir"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr " <= sektör/iz * iz/silindir (öntanımlı) olmalı.\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "serpiĹźtirme"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "izkayması"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "silindirkayması"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "kafadeÄźiĹźtirme"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "izden-ize geçiş"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Ă–nyĂĽkleyici: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Önyükleyici disk etiketinin alanına giriyor!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "%s üzerine önyükleyici kuruldu.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Disk bölümü (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Oluşturulabilecek disk bölümlerinin tümü oluşturuldu\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Bu disk bölümü zaten var.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Uyarı: disk bölümü sayısı çok fazla (%d, en çok %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Diskler eşzamanlanıyor.\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a açılış flamasını indirir/kaldırır"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a salt-okunur flamasını kaldırır/indirir"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a açılış disk bölümünü seçer"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a almaşık silindirlerin sayısını değiştirir"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b bsd disk etiketini dĂĽzenler"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b açılış dosyası girdilerini düzenler"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b disk bölümü içindeki verinin başlanıcına gider"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c dos uyumluluk flamasını indirir/kaldırır"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c bağlanabilir flamasını kaldırır/indirir"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c sgi takas bölümü seçilir"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c silindir sayısını değiştirir"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d bir disk bölümünü siler"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d disk bölümleme tablosunun temel verisini gösterir"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e silindir başına fazladan sektör sayısını değiştirir"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e ek disk bölümlerini listeler"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e aygıt verisini düzenler"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f disk bölümleme sırasını düzeltir"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g IRIX (SGI) disk bölümleme tablosu oluşturur"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h kafa sayısını değiştirir"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i serpiĹźtirme etkenini deÄźiĹźtirir"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " u gösterme/girdi birimini değiştirir"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i önyükleyici kurar"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l bilinen disk bölümü türlerini listeler"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m bu menüyü gösterir"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n yeni bir disk bölümü ekler"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o yeni bir DOS disk bölümü oluşturur"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o devir sayısını değiştirir (rpm)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "Disk bölümleme tablosunu yazar"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q değişiklikleri kaydetmeden çıkar"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r ana menüye döner"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s yeni bir Sun disk etiketi oluĹźturur"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s sektör/iz sayısını değiştirir"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s disk etiketinin tamamını gösterir"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t disk bölümünün sistem kimliğini değiştirir"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u gösterme/girdi birimini değiştirir"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v disk bölümleme tablosunu doğrular"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w tabloyu diskteki yerine yazar ve çıkar"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w disk etiketini diske yazar"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x fazladan işlevsellik (uzmanlar için)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x BSD disk bölümünü BSD-olmayan bir bölüme bağlar"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y fiziksel silindir sayısını değiştirir"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "%s okunamıyor\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "%s üzerinde erişim olanaksız\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "%s yazılamıyor\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "%s ĂĽzerinde BLKGETSIZE ioctl hata verdi\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "Ă–lĂĽmcĂĽl Hata\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr " Komut yaptığı iş "
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Belirtilmeli"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "kafa"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "sektör"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Bunu fazladan iĹźlevler menĂĽsĂĽnden yapabilirsiniz.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " ve "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "Gerçekten devam etmek istiyor musunuz?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Onaltılık kod (kod listesi için L tuşlayın):"
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, öntanımlı %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Öntanımlı değer %u kullanılıyor\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Değer kapsamdışı.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Disk bölümü numarası"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Uyarı: %d disk bölümünün türü boş görünüyor\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Seçilen disk bölümü %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Tanımlı bir disk bölümü henüz yok!\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "silindir"
+msgstr[1] "silindir"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "sektör"
+msgstr[1] "sektör"
+
+#: fdisks/fdisk.c:805
+#, fuzzy, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "gösterme/girdi birimi %s olarak değiştiriliyor\n"
+
+#: fdisks/fdisk.c:807
+#, fuzzy, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "gösterme/girdi birimi %s olarak değiştiriliyor\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "UYARI: %d disk bölümü bir ek disk bölümü\n"
+
+#: fdisks/fdisk.c:827
+#, fuzzy, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOS uyumluluk flaması etkin\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS uyumluluk flaması etkin değil\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "%d disk bölümü veri alanına sahip değil\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "%d disk bölümü henüz yok!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Birçok sistemde (Linux dışında) 0 türü boş alanı\n"
+"gösterir. 0 türünde bir disk bölümüne sahip olmak\n"
+"muhtemelen pek uygun olmayacaktır. 'd' komutunu\n"
+"kullanarak bir disk bölümünü silebilirsiniz.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Bir disk bölümünü bir ek bölümün içinde ya da herhangi bir yerde\n"
+"deÄźiĹźtiremezsiniz. Ă–nce silmeniz gerekir.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Linux'a uygun olsa da SunOS/Solaris gerektirdiÄźinden,\n"
+"3. disk bölümünün diskin tamamı (5) olarak bırakıldığı kabul ediliyor.\n"
+
+#: fdisks/fdisk.c:889
+#, fuzzy, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"IRIX gerektirdiğinden, 11. disk bölümü tüm 'volume' (6) ve\n"
+"9. disk bölümü 'volume' başlığı (6) olarak bırakıldığı kabul ediliyor.\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "%d disk bölümünün sistem türü %x (%s) olarak değiştirildi\n"
+
+#: fdisks/fdisk.c:909
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "%d disk bölümünün sistem türü %x (%s) olarak değiştirildi\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"%d disk bölümü farklı fiziksel/mantıksal başlangıçlara sahip (Linux "
+"deÄźil?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " fiziksel=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "mantıksal=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "%d disk bölümü farklı fiziksel/mantıksal bitişlere sahip:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "%i. disk bölümü silindir sınırında bitmiyor.\n"
+
+#: fdisks/fdisk.c:990
+#, fuzzy, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "%i disk bölümünün başlangıcı silindir sınırları dışında:\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld MB %lld bayt\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bayt\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr ", toplam %llu sektör"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d kafa, %d sektör/iz, %d silindir"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+"Birimler = %s / %d * %d = %d bayt\n"
+"\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, fuzzy, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "düğüm sayısı hatalı"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Hiçbir şey yapılmadı. Sıralama zaten doğru.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Bitti\n"
+"\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Bu bir disk bölümleme tablosu gibi görünmüyor.\n"
+"Galiba yanlış aygıt seçtiniz.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Açılış Başlangıç Bitiş BlokSayısı Kml Sistem\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Aygıt"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Disk bölümleme tablosu girdileri diskteki sırasında değil\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d kafa, %d sektör, %d silindir\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "No AF Hd Skt Sln Hd Skt Sld Başlangıç Boy Kml\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Uyarı: %d disk bölümü 0. sektörü içeriyor\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr ""
+"%d disk bölümü: kafa sayısı %d en çok olabileceği %d değerinden büyük\n"
+
+#: fdisks/fdisk.c:1304
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr ""
+"%d disk bölümü: sektör sayısı %d en çok olabileceği %d değerinden büyük\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr ""
+"%d disk bölümü: silindir sayısı %d en çok olabileceği %d değerinden büyük\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "%d disk bölümü: önceki sektör sayısı %d toplam %d ile çelişiyor\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "%d disk bölümü henüz yok!\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "Disk sürücüsüne yazılamıyor"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Disk bölümleme tablosu zaten değişmişti!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Disk bölümleme tablosunu yeniden okumak için ioctl() çağrılıyor.\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"UYARI: Disk bölümleme tablosu yeniden okunamadı. Hata: %d:%s.\n"
+"Çekirdek hala eski tabloyu kullanıyor.\n"
+"Yeni tablo makinayı yeniden başlattığınızda geçerli olacak.\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"UYARI: Herhangi bir DOS 6.x bölümünü oluşturduysanız ya da\n"
+"değişiklik yaptıysanız, lütfen fdisk man sayfalarındaki\n"
+"ek bilgileri okuyun.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Diskler eşzamanlanıyor.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "%d disk bölümü veri alanına sahip değil\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Yeni veri başlangıcı"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Uzman komutları (yardım için m): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Silindir sayısı"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Kafa sayısı"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Sektör sayısı"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Uyarı: Sektör hizalaması DOS uyumlu olarak yapılıyor\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s açılamıyor\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: komut bilinmiyor\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Bir yeni sun disk etiketi kurgulanıyor. Siz diske yazana kadar\n"
+"değişiklikler bellekte tutulacak. Şüphesiz, yazıldıktan sonra,\n"
+"diskte bulunan tĂĽm bilgiyi bir daha geri alamamak ĂĽzere\n"
+"kaybedeceksiniz.\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"%s üzerinde OSF/1 disk etiketi saptandı, disk etiketi kipine giriliyor.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Komut (yardım için m): "
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "kimlik geçersiz"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "kimlik geçersiz"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "kimlik geçersiz"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "kimlik geçersiz"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Uyarı: -b (sektör uzunluğu ayarı) seçeneği tek aygıt ile kullanılmış "
+"olmalıydı\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Bilgi: sektör uzunluğu %d (%d değil)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "%s diski geçerli bir disk bölümleme tablosu içermiyor\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Tüm birincil bölümler zaten tanımlı!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Birincil ek disk bölümünde hizalama hatalı\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Uyarı: %d. bölümden sonrakiler atlanıyor.\n"
+"Bu bölümleme tablosunu kaydederseniz, bunlar silinmiş olacak.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Uyarı: %d disk bölümleme tablosunda fazladan bağ imleyici\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Uyarı: %d disk bölümleme tablosundaki fazladan veri yoksayılıyor\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Uyarı: boş disk bölümü\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Fazladan ek disk bölümü %d yoksayılıyor\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Uyarı: geçersiz bayrak 0x%04x %d. disk bölümleme tablosunda w(yaz) ile "
+"dĂĽzeltilmiĹź olacak\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "%d disk bölümü zaten atanmış. Yeniden eklemeden önce silmelisiniz.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Boşta sektör yok\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Mantıksal disk bölümü bozuk"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Uyarı: %d disk bölümünün veri-başlangıcı hatalı\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Uyarı: %d ile %d disk bölümleri birbirine girmiş.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Uyarı: %d disk bölümü boş\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Mantıksal disk bölümü %d tamamen %d disk bölümünün içinde değil\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+"Tahsis edilen sektör sayısı %d en fazla olması gereken %lld değerinden "
+"bĂĽyĂĽk\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "%lld sektör kullanılmamış\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Tüm mantıksal bölümler kullanımda\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Tüm mantıksal bölümler kullanımda\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Bir birincil disk bölümü ekleniyor\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l mantıksal (5 veya üzeri)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e ek"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "Öntanımlı değer %u kullanılıyor\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Tür '%c' için disk bölümü numarası geçersiz\n"
+
+#: fdisks/fdiskmaclabel.c:30
+#, fuzzy
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tDisk üzerinde geçerli bir AIX etiketi var.\n"
+"\tNe yazık ki, Linux şu anda bu disklerle\n"
+"\tçalışamıyor. Buna rağmen biraz tavsiye:\n"
+"\t1. fdisk ile üstüne yazarsanız içeriğini kaybedeceksiniz.\n"
+"\t2. Bu diskin hala bir grubun yaşamsal öneme sahip bir\n"
+"\t üyesi olmadığından emin olun. (Aksi takdirde,\n"
+"\t aynalanmamışsa, diğer diskleri de silebilirsiniz.\n"
+"\t3. Bu fiziksel bölümü silmeden önce diski AIX\n"
+"\t makinanızdan mantıksal olarak kaldırdığınıza\n"
+"\t emin olun. (Aksi takdirde bir AIXpert haline\n"
+"\t gelebilirsiniz.)"
+
+#: fdisks/fdiskmaclabel.c:92
+#, fuzzy, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tBu fdisk AIX disk etiketleri ile çalışamaz.\n"
+"\tDOS bölümleri eklemek istiyorsanız önce yeni\n"
+"\tbir DOS disk bölümleme tablosu oluşturun. (o ile)\n"
+"\tUYARI: Bu işlem ile diskteki tüm bilgile kaybalacaktır.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI ham"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI bölümü"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux takas"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux doÄźal"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"MIPS Computer Systems, Inc'e göre, Etiket 512 bayttan fazlasını içeremez\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Yanlış sağlama toplamı veren sgi disk etiketi saptandı.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI disk etiketi): %d kafa, %d sektör\n"
+"%d silindir, %d fiziksel silindir\n"
+"%d ek sektör/sld, serpiştirme %d:1\n"
+"%s\n"
+"Birim = %s (%d * %d bayt)\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI disk etiketi): %d kafa, %d sektör, %d silindir\n"
+"Birim = %s (%d * %d bayt)\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- disk bölümleri -----\n"
+"Bl# %*s Bilgi Başlangıç Bitiş Sektor Kiml Sistem\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Ă–nyĂĽkleme Bilgileri -----\n"
+"Önyükleme dosyası: %s\n"
+"----- Dizin Girdileri -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektör%5u boy%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Önyükleme dosyası geçersiz!\n"
+"\tÖnyükleme dosyasının okunabilir bir ismi olmalıdır,\n"
+"\törn. \"/unix\" ya da \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tÖnyükleme dosyasının ismi çok uzun: en çok 16 bayt.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tÖnyükleme dosyasının ismi dosya yolunu da içermeli.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tÖnyükleme dosyasının varlığını denetlemediğini bilmelisiniz.\n"
+"\tSGI için \"/unix\" öntanımlı önyükleme dosyasıdır ve yedek dosyasının\n"
+"öntanımlı ismi \"/unix.save\"dir.\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Şu anki önyükleme dosyası: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Lütfen yeni açılış dosyasının ismini giriniz:"
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Açılış dosyası değiştirilmedi\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tÖnyükleme dosyası \"%s\" olarak değiştirildi.\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Birden fazla tĂĽm disk girdisi var.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Atanmış disk bölümü yok\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "11. disk bölümü tüm diski kapsadığında IRIX'e uygun olur.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Diskin tümünü kaplayan bir disk bölümü blok 0'dan başlamalıydı.\n"
+"%d. bloktan deÄźil\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Diskin tümünü kapladığı belirtilen disk bölümü %d blok,\n"
+"diskin tamamı ise %d blok.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Tek disk bölümü (#11) tüm diski kaplamalıydı.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "%d disk bölümü silindir sınırında başlamıyor.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "%d disk bölümü silindir sınırında bitmiyor.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "%d disk bölümü ile %d birbirinin %d sektör içine giriyor.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "%8u sektörlük boşluk kullanılmadı - %8u-%u sektörleri\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Önyükleme disk bölümü yok.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Takas bölümü yok.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Takas bölümünün türü takas değil.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tKullanışsız bir önyükleme dosyası seçtiniz.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Sistem saati sadece root tarafından değiştirilebilir.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Göreli konumu 0 olan disk bölümünün \"SGI volhdr\" türünde olması\n"
+"tavsiye edilir. IRIX sistemi onun sash ve fx gibi dizin araçlarından\n"
+"onu elde etmeye çalışacaktır. Sadece tüm disk bölümü olarak\n"
+"\"SGI volume\" onunla çelişebilir. Bu disk bölümünü farklı\n"
+"oluşturmak istiyorsanız EVET yazın.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "EVET\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+"Disk üzerindeki diğer bölümlerin üzerine taşan bir disk bölümü\n"
+"ayırdığınız. Önce bunu düzeltin!\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Tüm disk girdisi otomatik olarak üretilmeye çalışılıyor.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Tüm disk alanı zaten disk bölümlerince kullanılmış.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Disk üzerindeki diğer bölümlerin üzerine taşan bir disk bölümü\n"
+"ayırdığınız. Önce bunu düzeltin!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Onbirinci disk bölümünün tüm diski kapsaması ve `SGI volume'\n"
+"türünde olması tavsiye edilir.\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Disk üzerindeki diğer bölümlerin üzerine taşan bir disk bölümü\n"
+"ayıracaksınız. Önce bunu düzeltin!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " Son %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "%s ĂĽzerinde BLKGETSIZE ioctl hata verdi\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Uyarı: BLKGETSIZE ioctl %s üzerinde başarısız. Silindir geometrisi için "
+"%d\n"
+"değeri kullanılıyor. Bu değer 33.8 GB'dan büyük aygıtlarda kırpılabilir.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "Kimlik=%02x\tBaşlangıç=%d\tBoy=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "%d disk bölümünün parametreleri okunmaya çalışılıyor.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS takas"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "TĂĽm disk"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld sektör kullanılmamış\n"
+
+#: fdisks/fdisksunlabel.c:41
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:42
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid otosaptama"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Yanlış sağlama toplamı veren bir sun disk etiketi saptandı.\n"
+"Tüm değerleri örn. kafa, sektör, silindir ve disk bölümlerini\n"
+"belirlemeniz ya da baĹźtan bir temiz etiket (ana menĂĽden s komutu ile)\n"
+"oluşturmanız gerekebilecek.\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Yanlış sağlama toplamı veren sgi disk etiketi saptandı.\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Yanlış sağlama toplamı veren sgi disk etiketi saptandı.\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Yanlış sağlama toplamı veren sgi disk etiketi saptandı.\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Uyarı: geçersiz bayrak 0x%04x %d. disk bölümleme tablosunda w(yaz) ile "
+"dĂĽzeltilmiĹź olacak\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s disk etiketi içermiyor.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Sektör/iz"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "%d disk bölümü silindir sınırında bitmiyor\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "%d disk bölümü diğerleriyle %d-%d sektörlerinde üstüste biniyor\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Kullanılmamış boşluk - 0-%d sektörlerinde\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Kullanılmamış boşluk - %d-%d sektörlerinde\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Diğer disk bölümleri zaten diski kaplamış.\n"
+"Tekrar denemeden önce bazılarını silmeniz ya da\n"
+"küçültmeniz gerek.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, fuzzy, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Onbirinci disk bölümünün tüm diski kapsaması ve `SGI volume'\n"
+"türünde olması tavsiye edilir.\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Üçüncü disk bölümünüz tüm diski kapladığı gibi %d %s değeriyle\n"
+"diğer disk bölümlerine de geçiyor. Girdiğiniz değer %d %s olarak\n"
+"deÄźiĹźtirildi.\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"SunOS/Solaris uyumluluğu sağlamak isterseniz, bu disk bölümünü 0 dan\n"
+"başlayan %u sektörlük tüm disk (5) olarak bırakmayı gözönüne alabilirsiniz\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Göreli değeri 0 da olan UFS, EXT2FS dosya sistemi ya da SunOS takas\n"
+"disk bölümü tavsiye edilir. Linux takas alanını koymak disk bölümleme\n"
+"tablonuzu ve önyükleme blokunuzu bozabilecek. Bu disk bölümünüzün\n"
+"82 etiketli (Linux takas) olmasını istediğinizden eminseniz lütfen\n"
+"EVET yazınız: "
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun disk etiketi): %d kafa, %d sektör, %d rpm\n"
+"%d silindir, %d almaşık silindir, %d fiziksel silindir\n"
+"%d fazladan sekt/sld, serpiĹźtirme %d:1\n"
+"%s\n"
+"Birim = %s (%d * 512 bayt)\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun disk etiketi): %d kafa, %d sektör, %d silindir\n"
+"Birim = %s (%d * 512 bayt)\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Flama Başlangıç Bitiş Blok# Kiml Sistem\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Almaşık silindirlerin sayısı"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Silindir başına fazladan sektörler"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "SerpiĹźtirme etkeni"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Devir sayısı (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Fiziksel silindirlerin sayısı"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "BoĹź"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Ek"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX önyüklenebilir"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Önyükleme Yöneticisi"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Gizli FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq teĹźhis sistemi"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Gizli FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Gizli FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Gizli HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Gizli W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Gizli W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Gizli W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "Gizli HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "Disk Bölümü kaydı kurtarma"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Ă–nyĂĽkleme"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. bölüm"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. bölüm"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD veya SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Eski Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / eski Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux takas / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 gizli C: aygıtı"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux ek"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS bölüm kümesi"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux saltmetin"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisks/i386_sys_types.c:75
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI ds"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI takas"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Önyükleme sihirbazı gizli"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "DS-olmayan veri"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Uygulaması"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS eriĹźimi"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC önyüklemesi"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS ikincil"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "%s üzerinde erişim hatası - %lu ya erişilemiyor\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "erişim hatası: 0x%08x%08x istendi, 0x%08x%08x alındı\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "%s üzerinde okuma hatası - %lu sektörü okunamıyor\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "%s üzerinde yazma hatası - %lu sektörüne yazılamıyor\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "disk bölümü sektör kayıt dosyası (%s) açılamıyor\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "%s üzerinde yazma hatası\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "disk bölümü tekrar oluşturma dosyası (%s) durum bilgileri alınamıyor\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"disk bölümü tekrar oluşturma dosyasının uzunluğu hatalı - tekrar "
+"oluşturulamıyor\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "disk bölümü tekrar oluşturma dosyası (%s) açılamıyor\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "%s okunurken hata\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "%s aygıtı yazılmak üzere açılamıyor\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "%lu sektörünü %s üzerine yazmada hata\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: geometri alınamıyor\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: boyu alınamıyor\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Uyarı: başlangıç=%lu - bu diskin tamamı değil de bir disk bölümü\n"
+"gibi görünüyor. fdisk kullanmak anlamlı olmayacak.\n"
+"[Bunu mutlaka yapmak istiyorsanız --force seçeneğini kullanabilirsiniz]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Uyarı: HDIO_GETGEO %lu kafa bildiriyor\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Uyarı: HDIO_GETGEO %lu sektör bildiriyor\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Uyarı: BLKGETSIZE/HDIO_GETGEO %lu silindir bildiriyor\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Uyarı: sektör sayısı (%lu) en fazla 63 olabileceğinden pek sektör\n"
+"sayısına benzemiyor. Bu chs adresleme kullanılan yazılımlarla sorun "
+"çıkarır.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disk %s: %lu silindir, %lu kafa, %lu sektör/iz\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s (%s disk bölümündeki) yanlış kafa sayısı içeriyor: %lu (0-%lu arasında "
+"olmalıydı)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s (%s disk bölümündeki) yanlış sektör sayısı içeriyor: %lu (1-%lu arasında "
+"olmalıydı)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s (%s disk bölümündeki) yanlış silindir sayısı içeriyor: %lu (0-%lu "
+"arasında olmalıydı)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Kiml Ä°sim\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Disk bölümleme tablosu yeniden okunuyor ...\n"
+
+#: fdisks/sfdisk.c:780
+#, fuzzy
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Disk bölümleme tablosunun yeniden okunması başarılamadı\n"
+"mkfs kullanabilmek için sistemi yeniden başlatmalısınız.\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "%s kapatılırken hata\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: böyle bir disk bölümü yok\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "biçem bilinmiyor - sektör sayısı kullanılıyor\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "desteklenmeyen biçem - %s kullanılıyor\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"birimler = %lu baytlık silindir, 1024 baytlık blok, %d'den başlayarak\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr ""
+" silindir blok\n"
+" Aygıt Önykl Balangıç Bitiş sayısı sayısı\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"birimler = 512 baytlık sektör, %d'den başlayarak\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr ""
+" Aygıt Önyükl Başlangıç Bitiş sektör Kiml Sistem\n"
+" sayısı\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"birim = 1024 baytlık blok, %d'den başlayarak\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr ""
+" Aygıt Önyükl Başlangıç Bitiş blok Kiml Sistem\n"
+" sayısı\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"birimler = 1048576 baytlık mebibayt, 1024 baytlık blok, %d'den başlayarak\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr ""
+" Aygıt Önyük Başl Bitiş MiB blok Kiml Sistem\n"
+" sayısı\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tbaşlangıç: (sld,kafa,sekt) (%ld,%ld,%ld) gerekirken (%ld,%ld,%ld) "
+"bulundu\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tbitiĹź: (sld,kafa,sekt) (%ld,%ld,%ld) gerekirken (%ld,%ld,%ld) bulundu\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "disk bölümü disk sonundan sonra, %ld. silindirde bitiyor\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Disk bölümü bulunamadı\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Uyarı: Disk bölümünün sld/kafa/sekt sıralaması */%ld/%ld\n"
+"(%ld/%ld/%ld yerine) yapılmış görünüyor.\n"
+"Bu listeleme bu geometriyle kabul ediliyor.\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "disk bölümleme tablosu yok.\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "tuhaf, sadece %d disk bölümü atanmış.\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Uyarı: %s disk bölümü sıfır uzunlukta ama boş olarak imli değil\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Uyarı: %s disk bölümü sıfır uzunlukta ve önyüklenebilir\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Uyarı: %s disk bölümü sıfır uzunlukta ve başlangıcı 0 da değil\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "%s disk bölümünde değil\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Uyarı: %d disk bölümü boş\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Uyarı: %s disk bölümleme tablosunun bir kısmını içerdiğinden (sektör %lu)\n"
+"dolduÄźunda onu bozacak\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Uyarı: %s disk bölümü 0. sektörde başlıyor\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Uyarı: %s disk bölümü disk sonunu aşıyor\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Birincil disk bölümlerinden en çok biri ek disk bölümünde bulunabilir.\n"
+" (Şüphesiz Linux altında bu bir sorun değildir)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Uyarı: %s disk bölümü bir silindir sınırından başlamıyor\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Uyarı: %s disk bölümü bir silindir sınırında bitmiyor\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Uyarı: birden fazla disk bölümü önyükleme flaması içeriyor.\n"
+"Bu LILO için sorun yaratmaz ama DOS MBR bu diski çalıştıramaz.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Uyarı: birincil disk bölümlerinden sadece bir tanesi önyüklenebilir,\n"
+"LILO `bootable' flamasına aldırmaz.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Uyarı hiçbir disk bölümü önyükleme bayrağı içermiyor\n"
+"Bu LILO için sorun oluşturmaz ama DOS MBR bu diski çalıştıramaz.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "başlangıç"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"%s: başlangıç: (sld,kafa,sekt) sırasıyla (%ld,%ld,%ld) olmalıydı\n"
+"(%ld,%ld,%ld) bulundu\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "bitiĹź"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"%s: bitiş: (sld,kafa,sekt) sırasıyla (%ld,%ld,%ld) olmalıydı\n"
+"(%ld,%ld,%ld) bulundu\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "%s diskin sonunu aĹźarak %ld. silindirde bitiyor\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Uyarı: ek disk bölümünün başlangıcı %ld den %ld ye kaydırıldı\n"
+"(Sadece liste uyumluluğu için. İçeriği değişmiyor.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Uyarı: ek disk bölümü bir silindir sınırında başlamıyor.\n"
+"DOS ve Linux içerikleri farklı yorumlayacaktır.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "HATA: %lu sektörü msdos imzası taşımıyor\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "disk bölümü sayısı çok fazla - Bu sonuncusu (%d) disk bölümü\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "ağacında yok sayılsın mı?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Disk yöneticisi saptadı - bulunan DM6 imzası\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "ile çalışılamıyor - bırakılıyor\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "tuhaf..., sıfır uzunlukta bir ek disk bölümü?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "tuhaf..., sıfır uzunlukta bir BSD disk bölümü?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: disk bölümleme tablosu türü tanınmıyor\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "-n flaması verilmiş: Hiçbir şey değişmedi\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Eski sektörlere yazmada başarısızlık - çıkılıyor\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "uzun ve eksik girdi satırı - çıkılıyor\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "girdi hatası: %s alanından sonra bir `=' gerekli\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "girdi hatası: %c karakteri gereksiz (%s alanından sonra)\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "anlaşılmayan girdi: %s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "sayı çok büyük\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "sayıdan sonrasında süprüntü\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "disk bölümü betimleyici için yer yok\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "kuşatan ek disk bölümü kurgulanamıyor\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "girdi alanları çok fazla\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Daha fazla yer yok\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Kuraldışı tür\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "Uyarı: belirtilen (%lu) uzunluk, izin verilen (%lu) uzunluktan fazla\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Uyarı: boş disk bölümü\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Uyarı: disk bölümü başlangıcı hatalı (en erken %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "anlaşılmayan önyükleme flaması; - ya da * seçiniz\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "kısmi sld,kafa,sekt özellikleri?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Ek disk bölümü gereken yerde değil\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "girdi hatalı\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "çok fazla disk bölümü var\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Girdi biçemi aşağıdaki gibidir; verilmeyen alanlara öntanımlı değerler "
+"atanır.\n"
+"<başlangıç> <uzunluk> <türü [E,S,L,X,hex]> <önyükleme [-,*]>\n"
+"<sld,kafa,sekt> <sld,kafa,sekt>\n"
+"Genellikle <başlangıç> ve <uzunluk> değerleri (ve tabii ki <türü>)\n"
+"belirtmek yeterlidir.\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "Kullanımı:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d disk bölümü:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "tehlikeli seçenekler:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -G [veya --show-pt-geometry]: bölümleme tablosundan alınan geometriyi "
+"basar"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x --show-extended ek disk bölümlerini gösterir ve\n"
+" betimleyicileri için girdi bekler"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Kullanımı:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s aygıt\t\t aygıt üstündeki etkin disk bölümlerini gösterir\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s aygıt n1 n2 ... n1, n2 ile belirtilen disk bölümleri etkinleştirilir,\n"
+" diÄźerleri etkisizleĹźtirilir\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+"%s -An aygıt\t n. disk bölümünü etkinleştirilir, diğerlerini "
+"etkisizleĹźtirilir\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Tüm denetimleri kaldırmak için --force seçeneğini kullanın.\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "Komut?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "`%s' geçersiz sayı\n"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "toplam: %llu blok\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "Kullanımı: sfdisk --print-id aygıt disk-bölümü-numarası\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "kullanımı: sfdisk --change-id aygıt disk-bölümü-numarası kimlik\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "kullanımı: sfdisk --id aygıt disk-bölümü-numarası [kimlik]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "sadece bir aygıt belirtilebilir (-l ya da -s ile gerekir)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "%s oku-yaz açılamıyor\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "%s okumak için açılamıyor\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld silindir, %ld kafa, %ld sektör/iz\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "%s gibi bir boyut alınamıyor\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "hatalı etkin bayt: 0x80 yerine 0x%x\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Bitti\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"%d etkin birincil disk bölümü var. Bu LILO için sorun olmamakla beraber\n"
+"DOS MBR sadece 1 etkin disk bölümü önyüklemesi yapabilir.\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "%s disk bölümünün kimliği %x ve gizli değil\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "Kimlik %lx hatalı\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Bu disk şu an kullanılıyor.\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Ölümcül hata: %s bulunamıyor\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Uyarı: %s bir blok aygıtı değil\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Diskin kullanımda olup olmadığı denetleniyor...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Bu disk şu anda kullanımda olduğundan yeniden bölümlemek için:\n"
+"TĂĽm dosya sistemlerini umount edin ve bu disk ĂĽzerindeki tĂĽm takas\n"
+"alanlarını swapoff ile kapatın. --no-reread bayrağını kullanarak\n"
+"yeniden okuma iĹźlemini engelleyin.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Tüm denetimleri kaldırmak için --force seçeneğini kullanın.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "TAMAM\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Eski durum:\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "%d. disk bölümü olmadığından geçilemiyor\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Yeni durum:\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Bu disk bölümlerinde hiç bir değişiklik yapılmadı.\n"
+"(Bunu gerçekten istiyorsanız --force seçeneğini kullanın.)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Uygulanamıyor - siz de Hayır derdiniz, büyük ihtimalle\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Bundan memnun musunuz? [ehs] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Bunu diske yazmak ister misiniz? [ehs] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "Çıkılıyor - Değişiklik yok\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Lütfen e, h, s harflerinden biri ile yanıtlayın\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Yeni disk bölümleme tablosu başarıyla yazıldı\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Bir DOS disk bölümünü (örn. /dev/foo7) oluşturduysanız ya da "
+"deÄźiĹźtirdiyseniz\n"
+"ilk 512 baytını sıfırlamak için dd kullanın:\n"
+"dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(daha fazla bilgi için: fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col: yazma hatası.\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr ""
+"%s: --adjust ve --noadjfile seçenekleri birbiriyle çelişir.\n"
+"Siz ikisini de belirtmiĹźsiniz.\n"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "setuid() başarısız"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "Tampon ayrılamadı.\n"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: lib/path.c:181
+#, fuzzy, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr "kullanımı: namei [-mx] dosyaYolu [dosyaYolu ...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p iĹź-telefonu ]\n"
+"\t[ -h ev-telefonu ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s: Siz (%d) yoksunuz.\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s: \"%s\" yok.\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "%s: sadece yerel girdileri değiştirebilir; yerine yp%s kullanın.\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr ""
+"%s: %s, %s kullanıcısının kişisel bilgilerini değiştirmeye yetkili değil\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Kullanıcı bağlamı bilinmiyor"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s: /etc/passwd için öntanımlı bağlam belirtilemiyor"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "%s için kullanıcı bilgileri değiştiriliyor.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Kullanıcı bilgileri değişmedi.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"Bırakıldı.\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "alan çok uzun.\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "alan çok uzun.\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: '%c' kullanılamaz.\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' kullanılamaz.\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: Kontrol karakterleri kullanılamaz.\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "Kontrol karakterleri kullanılamaz.\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Kullanıcı bilgileri değiştirilemedi. Daha sonra tekrar deneyin.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell=kabukTürü Kullanılacak kabuk türü belirtilir\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "%s: sadece yerel girdileri değiştirebilir; yerine yp%s kullanın.\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s, %s kullanıcısının kabuğunu değiştirmeye yetkili değil\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"%s: kabuğun kullanıcı kimliği değiştirdiğimiz kullanıcı kimlikle\n"
+"aynı değil, kabuk değişikliği kabul edilmedi\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "%s: Bu kabuk /etc/shells dosyasında yok, kabuk değiştirilemedi\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "%s için kabuk değiştiriliyor.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Yeni kabuk"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "Kabuk deÄźiĹźtirilmedi,\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "Kabuk deÄźiĹźtirilemedi. Daha sonra tekrar deneyin.\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Kabuk deÄźiĹźtirildi.\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s: kabuk tam bir dosya yolu içermeli.\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s: \"%s\" yok.\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s: \"%s\" çalıştırılabilir değil.\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Uyarı: \"%s\" /etc/shells dosyasında yok.\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s: \"%s\" /etc/shells dosyasında yok.\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "Kullanılabilecek kabuklar belirlenmemiş.\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"Kullanımı: last [-#] [-f dosya] [-t tty] [-h makinaAdı] [kullanıcı ...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "erişim başarısız"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " Ĺźu an sistemde"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp kayıtlarının başlangıcı: %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"durduruldu: %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "Giriş %d saniye sonra zaman aşımına uğradı\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "ÖLÜMCÜL: tty tekrar açılamıyor: %s"
+
+#: login-utils/login.c:290
+#, fuzzy, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "%s bir blok-özel aygıt değil"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "mount başarısız"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev: chdir() başarısız: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "ÖLÜMCÜL: tty hatalı"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Son giriĹź: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "sularında %.*s makinasına yapıldı\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "sularında %.*s konsoluna yapıldı\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "%s açılamadı"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "%s ĂśZERÄ°NDEN %s Ä°SMÄ°YLE DIALUP"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "%s ÜZERİNDEN %s MAKİNASINA ROOT GİRİŞİ"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "%s ÜZERİNDE ROOT GİRİŞİ"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "%s ĂśZERÄ°NDEN %s, %s MAKÄ°NASINA GÄ°RDÄ°"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "%s ĂśZERÄ°NDEN %s SÄ°STEME GÄ°RDÄ°"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "Kullanıcı ismi: "
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "login: PAM hatası, çıkılıyor: %s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAM başlatılamadı: %s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "%3$s %2$s ĂśZERÄ°NDEN %1$d DEFA GÄ°REMEDÄ°, %4$s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Giriş başarısız\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "%3$s %2$s ÜZERİNDEN ÇOK FAZLA GİRİŞ DENEDİ (%1$d), %4$s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "%s MAKİNASINA %s İÇİN GİRİŞ OTURUMU KAPANDI, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Giriş başarısız\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Oturum ayarları sorunu, çıkılıyor.\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "%s işlevinin %d. satırında kullanıcı ismi yok (NULL)."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY başarısız: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h sadece root tarafından kullanılabilir.\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"Kullanımı: last [-#] [-f dosya] [-t tty] [-h makinaAdı] [kullanıcı ...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+"%2$s işlevinin %3$d. satırında kullanıcı ismi \"%1$s\" geçersiz. Çıkılıyor."
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() başarısız"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Yeni e-postanız var.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "E-postanız var.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() başarısız"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "erişim başarısız"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Ev dizini \"/\" ile giriĹź.\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login: kabuk betiği çalıştırılamadı: %s.\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "Kabuk yok"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "Aralık değeri geçersiz: %s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Parola: "
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp: Böyle bir grup yok."
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp: Siz kim siniz?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() başarısız"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp: Böyle bir grup yok."
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount: eriĹźim engellendi"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() başarısız"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, fuzzy, c-format
+msgid "exec %s failed"
+msgstr "çalıştırma başarısız\n"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "%s açılamıyor"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "kimlik %s kaldırılamıyor (%s)\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "namei: çalışılan dizine geçilemiyor - %s\n"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "'%s' dosyası açılamıyor"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "sinyal yakalayıcı ayarlanamıyor"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "erişim başarısız"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "Parola yanlış."
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+#, fuzzy
+msgid "cannot set group id"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+#, fuzzy
+msgid "cannot set user id"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Daha fazla bilgi için `getopt --help' yazınız.\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "kullanımı: %s program [arg ...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s: \"%s\" yok.\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "namei: çalışılan dizine geçilemiyor - %s\n"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: oku/yaz için açık değil"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s: oku/yaz için açık değil"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s: parola dosyası meşgul.\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "Gerçekten devam etmek istiyor musunuz?"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "erişim başarısız"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "çalıştırma başarısız\n"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "erişim başarısız"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "erişim başarısız"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "erişim başarısız"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "kimlik geçersiz"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount: bunu sadece root yapabilir"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "kök düğümü bir dizin değil"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY başarısız: %m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: login-utils/utmpdump.c:121
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "erişim başarısız"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: %s açılamıyor\n"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s: geçici dosya açılamıyor.\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: %s %s olarak deÄźiĹźtirilemedi: %s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s: %s için bağlam alınamıyor"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s: %s için bağlam belirlenemiyor"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s deÄźiĹźmedi\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "ast süreç oluşturulamıyor"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s: yapılan değişiklik yok\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "'%s' dosyası açılamıyor"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Bu sistemde gölge gruplar kullanılıyor.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Bu sistemde gölge parolalar kullanılıyor.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "%s dosyasını şimdi düzenlemek ister misiniz [e/h]? "
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "Kafa sayısı kuraldışı"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "yıl değeri kuraldışı: 1-9999 arasında olmalı"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "ay numarası kuraldışı: 1..12 arasında olmalı"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "yıl değeri kuraldışı: 1-9999 arasında olmalı"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "kullanımı: cal [-13smjyV] [[ay] yıl]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "kullanımı: %s [+biçem] [gün ay yıl]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "St. Tib GĂĽnĂĽ"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "%s açılamıyor"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "blok aygıtı "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "kullanışlı seçenekler:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "Disk bölümü numarası"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "%s: Bilinmeyen komut: %s\n"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "nsayısı"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "nsayısı"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "%c okundu\n"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " Silinsin mi?"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "bilinmeyen"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "erişim hatası"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "Tampon ayrılamadı.\n"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "%s: %s okunamıyor.\n"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+#, fuzzy
+msgid "failed to initialize libmount iterator"
+msgstr "Tampon ayrılamadı.\n"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "Tampon ayrılamadı.\n"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "bellek ayrılamadı"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "MĂĽmkĂĽn komutlar:\n"
+
+#: misc-utils/findmnt.c:1127
+#, fuzzy, c-format
+msgid "unknown direction '%s'"
+msgstr "%s dizini yok!\n"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "kimlik geçersiz: %s\n"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+#, fuzzy
+msgid "failed to initialize libmount cache"
+msgstr "Tampon ayrılamadı.\n"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "-l ya da --long için argüman olarak uzun seçenek verilmemiş"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "-s ya da --shell seçenekleri ile belirtilen kabuk bilinmiyor"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" getopt [seçenekler] -o|--options seçenek-dizgesi [seçenekler] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative tek - ile başlayan uzun seçeneklere izin\n"
+" verilir\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Bu yardım iletisini gösterir\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=uzunSeçnk tanınacak uzun seçenek belirtilir\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name=uygismi Hatalar bu isim altında raporlanır\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=sçnkdizgesi Tanınacak kısa seçenekler belirtilir\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet getopt(3)'un ürettiği hatalar gösterilmez\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Normalde verilen çıktı verilmez\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell=kabukTürü Kullanılacak kabuk türü belirtilir\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test getopt(1) sürümü için test\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote Çıktı tırnak içine alınmaz\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "seçenek-dizgesi verilmemiş"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "iç hata, yazara bildirin."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: bilinmeyen sinyal: %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "kimlik geçersiz"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: \"%s\" süreci bulunamıyor\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: %s sinyali bilinmiyor; geçerli sinyaller:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "kullanımı: %s [ -s sinyal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ sinyal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger: bilinmeyen yetenek ismi: %s.\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger: bilinmeyen öncelik ismi: %s.\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "Kullanıcı adınız çok uzun.\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "BlokUzunl: %d\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "nfs bağlantısı"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+#, fuzzy
+msgid "socket"
+msgstr "nfs soketi"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+#, fuzzy
+msgid "connect"
+msgstr "nfs bağlantısı"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(Sonraki dosya: %s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "kimlik geçersiz"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "Disk bölümü numarası"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "dosya yolu durum bilgileri alınamadı\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "salt-okunur ayarlanır"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " silinebilir"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "dosya yolu durum bilgileri alınamadı\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "Kullanıcı ismi kuraldışı"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "düğüm sayısı hatalı"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "sektör uzunluğunu verir"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "sektör uzunluğunu verir"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "düğüm sayısı hatalı"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " u gösterme/girdi birimini değiştirir"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "takas alanında başa gidilemiyor"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount: %s: aygıt bilinmiyor"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "Tampon ayrılamadı.\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "%s: açılamıyor: %s\n"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "MĂĽmkĂĽn komutlar:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "dosya yolu durum bilgileri alınamadı\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "%s uzunluğu alınamıyor"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "'%s' dosyası açılamıyor"
+
+#: misc-utils/lslocks.c:271
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "bilinmeyen"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "kimlik geçersiz: %s\n"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%d bayt %s dosyasından alındı\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "çalıştırma başarısız\n"
+
+#: misc-utils/namei.c:186
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "kök düğümü bir dizin değil"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "kullanımı: namei [-mx] dosyaYolu [dosyaYolu ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "--date ile verilen argüman çok uzun\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%s: %s %s olarak deÄźiĹźtirilemedi: %s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: -l argümanı %s hatalı.\n"
+
+#: misc-utils/uuidd.c:166
+#, fuzzy
+msgid "write"
+msgstr "Kaydet"
+
+#: misc-utils/uuidd.c:174
+#, fuzzy
+msgid "read count"
+msgstr "%c okundu\n"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "%s açılamıyor: %s\n"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "%s açılamıyor: %s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "%s açılamıyor: %s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "%s okunurken hata\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, fuzzy, c-format
+msgid "operation %d\n"
+msgstr "kimlik geçersiz"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "kimlik geçersiz"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "Numara geçersiz: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "%s için kip değiştirilirken hata: %s\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "%s açılamıyor: %s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, fuzzy, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: açılamıyor: %s\n"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount: %s: yok"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "kimlik geçersiz"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "uyarı: %s okunurken hata: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "uyarı: %s açılamıyor: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: %s açılamadı - yerine %s kullanılıyor\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"kilit dosyası %s oluşturulamıyor: %s (zorlamak için -n seçeneğini kullanın)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"%s kilit dosyası için bağ oluşturulamıyor: %s (zorlamak için -n seçeneğini "
+"kullanın)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "%s kilit dosyası açılamıyor: %s (zorlamak için -n seçeneğini kullanın)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "%s kilit dosyası kilitlenemiyor: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "%s kilit dosyası kilitlenemiyor: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "zaman aşımı"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"%s bağı oluşturulamıyor\n"
+"Kalmış bir kilit dosyası olabilir mi?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "%s açılamıyor (%s) - mtab güncel değil"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "%s yazılırken hata: %s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: %s durum bilgileri alınamıyor: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "%s için kip değiştirilirken hata: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "%s için kip değiştirilirken hata: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "%s %s olarak deÄźiĹźtirilemiyor: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: %s %s ya da %s içinde bulunamıyor"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: mtab'a göre, %s zaten %s üzerinde bağlı"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: mtab'a göre, %s %s üzerinde bağlı"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: %s yazmak için açılamıyor: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: %s yazılırken hata: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: %s kipi deÄźiĹźtirilirken hata: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: ast süreç oluşturulamıyor: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "%s deneniyor\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: %s için bir dosya sistemi türü belirtilmemiş\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " %s ya da %s içindeki anılan tüm türler denenecek\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " ve bu takas alanı gibi görünüyor\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " %s tĂĽrĂĽ denenecek\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s takas alanı gibi görünüyor - bağlanmadı"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "mount başarısız"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: %s %s üzerinde sadece root tarafından bağlanabilir"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: loop aygıtı iki kere belirtilmiş"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: tĂĽrĂĽ iki defa belirtilmiĹź"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: loop aygıtı ayarları atlanıyor\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount: %s loop aygıtının kullanımına gidiliyor\n"
+
+#: mount-deprecated/mount.c:1298
+#, fuzzy, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "Ayar değeri geçersiz: %s\n"
+
+#: mount-deprecated/mount.c:1302
+#, fuzzy, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "Ayar değeri geçersiz: %s\n"
+
+#: mount-deprecated/mount.c:1307
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: mtab'a göre, %s zaten %s üzerinde bağlı"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "Bellek içinde kilitlenemedi, çıkılıyor.\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount: loop aygıtı ayarları yapılamadı\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: %s loop aygıtının kullanımına gidiliyor\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "mount: loop aygıtı ayarları yapılamadı\n"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: loop aygıtı ayarları yapılamadı\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: loop aygıtı ayarları tamamlandı\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s yok - oluĹźturuluyor...\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: -p ve --pass-fd seçeneklerinin argümanı bir sayı olmalıdır"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: hızı ayarlamak için %s açılamıyor"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount-deprecated/mount.c:1564
+#, fuzzy, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: mtab'a göre, %s zaten %s üzerinde bağlı"
+
+#: mount-deprecated/mount.c:1643
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "umount: %s meşgul- salt-okunur olarak yeniden bağlandı\n"
+
+#: mount-deprecated/mount.c:1655
+#, fuzzy, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "umount: %s meşgul- salt-okunur olarak yeniden bağlandı\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount: Dosya sistemi türü saptanamadı ve belirtilmemiş"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: dosya sistemi tĂĽrĂĽnĂĽ belirtmelisiniz"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: bağlanamadı"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: bağlama noktası %s bir dizin değil"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: eriĹźim engellendi"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: root tarafından kullanılmalı"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s meĹźgul"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc zaten bağlı"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: ya %s zaten bağlı ya da %s meşgul"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: bağlama noktası %s yok"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: bağlama noktası %s hiçbir yere sembolik bağ sağlamıyor"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: özel aygıt %s yok"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: özel aygıt %s yok\n"
+" (dosya yolu öneki bir dizin değil)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s zaten bağlı değil, ya da seçenek yanlış"
+
+#: mount-deprecated/mount.c:1758
+#, fuzzy, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: dosya sistemi türü yanlış, seçenek yanlış, %s üzerinde superblok\n"
+" hatalı, karakter kümesi eksik, ya da başka bir hata olabilir"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (fiilen ide-scsi kullanıldığına göre bu bir IDE aygıt\n"
+" olabilir mi? Burada sr0, sda gibi birşeyler olmalı, değil mi?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (içindeki bir mantıksal disk bölümü yerine\n"
+" bir ek disk bölümünü bağlamaya çalışmıyor musunuz?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Bazı durumlarda syslog'da bulunan bilgiler yararlıdır.\n"
+" dmesg | tail gibi birĹźeyler deneyin\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "baÄź tablosu dolu"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: superblok okunamıyor"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: aygıt bilinmiyor"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: dosya sistemi tĂĽrĂĽ '%s' bilinmiyor"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: herhalde %s kastettiniz"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: 'iso9660' kastetmiĹź olabilir misiniz?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: 'vfat' kastetmiĹź olabilir misiniz?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s yanlış aygıt numarasına sahip ya da dosya sistemi türü %s "
+"desteklenmiyor"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+"mount: %s bir blok aygıtı olmayabilir mi ve durum bilgileri alınamayabilir "
+"mi?"
+
+#: mount-deprecated/mount.c:1836
+#, fuzzy, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: çekirdek %s aygıtını bir blok aygıtı olarak tanımıyor\n"
+" (`insmod sĂĽrĂĽcĂĽ' denenebilir?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s bir blok aygıtı değil ( `-o loop' denenebilir mi?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s bir blok aygıtı değil"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s geçerli bir blok aygıtı değil"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "blok aygıtı "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: %s%s salt-okunur bağlanamıyor"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s yazma korumalı olduğu halde alenen `-w' seçeneği belirtilmiş"
+
+#: mount-deprecated/mount.c:1860
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: %s%s salt-okunur bağlanamıyor"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s yazma korumalı, salt-okunur olarak bağlanıyor"
+
+#: mount-deprecated/mount.c:1883
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s zaten %s üzerinde bağlı\n"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: tür belirtilmemiş - ':' içerdiğinden nfs varsayılıyor\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount: tür belirtilmemiş - '//' öneki içerdiğinden cifs varsayılıyor\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s zaten %s üzerinde bağlı\n"
+
+#: mount-deprecated/mount.c:2249
+#, fuzzy, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Kullanımı: mount [seçenekler] [aygıt] [dizin]\n"
+"Bilgilendirme:\n"
+" mount bağlı dosya sistemlerini gösterir.\n"
+" mount -l üsttekine ek olarak bölüm etiketlerini gösterir\n"
+" mount -V sürüm bilgilerini gösterir\n"
+" mount -h bu yardım iletisini gösterir\n"
+"\n"
+"Bir aygıtı bağlama:\n"
+" mount -a [-t|-O] ... /etc/fstab'da bulunanların tamamını bağlar\n"
+" mount aygıt bu aygıtı /etc/fstab'da belirtilmiş dizine bağlar\n"
+" mount dizin bu dizine /etc/fstab'da belirtilmiş aygıtı bağlar\n"
+" mount -t TÜR AYGIT DİZİN TÜR türündeki AYGITı DİZİNe bağlar\n"
+"\n"
+"Bağlı bir dosya sistemindeki işlemler:\n"
+" mount --bind ESKÄ°DÄ°ZÄ°N YENÄ°DÄ°ZÄ°N\n"
+" ESKİDİZİNde bağlı olan aygıtı YENİDİZİNe yeniden bağlar\n"
+" mount --move ESKÄ°DÄ°ZÄ°N YENÄ°DÄ°ZÄ°N\n"
+" ESKİDİZİNde bağlı olan aygıtın dosya sistemindeki yerini\n"
+" YENÄ°DÄ°ZÄ°N olarak deÄźiĹźtirir.\n"
+"\n"
+"Diğer seçenekler: [-nfFrsvw] [-o seçenekler] [-p parola].\n"
+" mount -o remount,ro DÄ°ZÄ°N DÄ°ZÄ°Ni salt-okunur olarak yeniden baÄźlar.\n"
+" mount -o remount,rw DÄ°ZÄ°N DÄ°ZÄ°Ni oku-yaz olarak yeniden baÄźlar.\n"
+"\n"
+"Çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n"
+"Daha fazla bilgi edinmek için 'man 8 mount' yazabilirsiniz.\n"
+
+#: mount-deprecated/mount.c:2579
+#, fuzzy, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: bunu sadece root yapabilir"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: bunu sadece root yapabilir"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "hiçbir şey bağlanmadı"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: böyle bir disk bölümü yok"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %s %s ya da %s içinde bulunamıyor"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: uyarı: %s dosyasının sonunda son bir satırsonu gerekli\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: %d satırı %s dosyasında hatalı%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; dosyanın kalanı yoksayıldı"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "xstrndup çağrısında yazılım hatası"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "yeterli bellek yok"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: -f için destek içermeksizin derlenmiş\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: ast süreç oluşturulamıyor: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: blok aygıtı geçersiz"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: bağlanmadı"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: superblok yazılamıyor"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: yok"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: bağı kaldırmak için root gerekli"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: dosya sisteminde blok aygıtlara izin yok"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "namei: %s dizinine geçilemiyor - %s (%d)\n"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "namei: çalışılan dizine geçilemiyor - %s\n"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount: bağlama noktası %s yok"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "umount2 yok, umount deneniyor...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s meşgul- salt-okunur olarak yeniden bağlandı\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: %s salt okunur olarak yeniden bağlanamıyor\n"
+
+#: mount-deprecated/umount.c:375
+#, fuzzy, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s sistemden ayrıldı\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: ayrılacak dosya sistemlerinin listesi bulunamıyor"
+
+#: mount-deprecated/umount.c:514
+#, fuzzy, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Kullanımı: umount [-hV]\n"
+" umount -a [-f] [-l] [-r] [-n] [-v] [-t ds-türü] [-O seçenekler]\n"
+" umount [-f] [-r] [-n] [-v] özel | düğüm...\n"
+"Bağlı dosya sistemlerini ayırmak için kullanılır.\n"
+" -h bu yardım iletisini gösterir ve çıkar\n"
+" -V sürüm bilgilerini gösterir ve çıkar\n"
+" -a /etc/mtab'da kayıtlı tüm dosya sistemlerini ayırır\n"
+" -v çıktı ayrıntı içerir\n"
+" -n /etc/mtab dosyasına yazmaz\n"
+" -r ayırma başarısız olursa salt-okunur olarak bağlamayı dener\n"
+" -f dosya sistemi eriĹźilebilir deÄźilse bile dosya sistemini "
+"ayırır\n"
+" -l dosya sistemini mutlaka ayırır. (en az linux-2.4.11 gerekir)\n"
+" -t ds-türü -a seçeneği ile kullanıldığında sadece türü belirtilen dosya\n"
+" sistemlerini ayırır\n"
+"\n"
+"Çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz\n"
+"Daha fazla bilgi edinmek için 'man 8 umount' yazınız.\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "%s: açılamıyor: %s\n"
+
+#: mount-deprecated/umount.c:566
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: mount-deprecated/umount.c:572
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: mount-deprecated/umount.c:606
+#, fuzzy
+msgid "Cannot unmount \"\"\n"
+msgstr "\"\" ayrılamaz\n"
+
+#: mount-deprecated/umount.c:614
+#, fuzzy, c-format
+msgid "Trying to unmount %s\n"
+msgstr "%s sistemden ayrılmaya çalışılıyor\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "mtab içinde %s bulunamadı\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s bağlı değil (mtab içinde yok)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: %s defalarca bağlanmış görünüyor"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s fstab içinde yok (ve siz root değilsiniz)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s bağı fstab ile çelişiyor"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: sadece %1$s %3$s aygıtını %2$s dizininden ayırabilir"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: bu sadece root tarafından yapılabilir"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "TCP ĂĽzerinden NFS desteklenmiyor.\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "%s: %s için aygıt ismi bulunamıyor\n"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "kimlik geçersiz"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: schedutils/chrt.c:326
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: schedutils/ionice.c:76
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty başarısız\n"
+
+#: schedutils/ionice.c:98
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty başarısız\n"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "kimlik geçersiz"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "kimlik geçersiz: %s\n"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "%s: Bilinmeyen komut: %s\n"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "kimlikte bilinmeyen hata"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, fuzzy, c-format
+msgid "executing %s failed"
+msgstr "çalıştırma başarısız\n"
+
+#: schedutils/taskset.c:52
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr "kullanımı: %s program [arg ...]\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, fuzzy, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: schedutils/taskset.c:117
+#, fuzzy, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+#, fuzzy
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "%s uzunluğu alınamıyor"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+#, fuzzy
+msgid "cpuset_alloc failed"
+msgstr "bellek ayrılamadı"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s: \"%s\" yok.\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s: \"%s\" çalıştırılabilir değil.\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, fuzzy, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Otoyapılandırma hata verdi.\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, fuzzy, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Otoyapılandırma hata verdi.\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "`%s' geçersiz sayı\n"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s: bilinmeyen argĂĽman: %s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "Kullanımı: ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+"Ctrl-Alt-Del davranışının belirlenmesi sadece root tarafından yapılabilir.\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s: %ld eşik ve %ld zaman aşımı öntanımlı\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help Bu yardım iletisini gösterir\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Dosya %s, eşik değeri %lu, fifo'daki en fazla karakter sayısı %d ve\n"
+"karakter/saniye cinsinden en yüksek aktarım hızı %f idi\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Dosya %s, eşik değeri %lu, zaman aşımı değeri %lu,\n"
+"fifo'daki en fazla karakter sayısı %d ve\n"
+"karakter/saniye cinsinden en yüksek aktarım hızı %f idi\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday başarısız"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "%s üzerinde CYGETMON uygulanamıyor: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "%s için eşik değeri alınamıyor: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "%s için zaman aşımı değeri alınamıyor: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu kesme, %lu/%lu karkt; fifo: %lu eşik, %lu zam.aş, ençok %lu, şuan "
+"%lu\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f kesme/s; %f kayıt, %f gönderi (karkt/s)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu kesme, %lu karakter; fifo: eşik %lu, zaman aşımı %lu, en çok %lu, "
+"Ĺźimdiki %lu\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f kesme/sec; %f kayıt (karkt/s)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "Aralık değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "Aralık değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "Ayar değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "Ayar değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "Öntanımlı değer geçersiz: %s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "Öntanımlı değer geçersiz: %s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "Zaman ayar değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "Zaman ayar değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "Öntanımlı zaman değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "Öntanımlı zaman değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "%s %d eşik değerine ayarlanamıyor: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "%s %d zaman eşik değerine ayarlanamıyor: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld eşik ve %ld zaman aşımı mevcut\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld eşik ve %ld zaman aşımı öntanımlı\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "Bu disk bölümü kullanışsız"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "%s kapatılırken hata"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "Uyarı: %s disk bölümü "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "ileti-sayısı"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "Dosya sistemi tĂĽrĂĽnĂĽ verin: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "%s uzunluğu alınamıyor"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "%s uzunluğu alınamıyor"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "%s: Bilinmeyen komut: %s\n"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "%s dizini yok!\n"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync hata verdi"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "%s açılamıyor"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "(Sonraki dosya: %s)"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "gettimeofday başarısız"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "Komut?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "fsync hata verdi"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+#, fuzzy
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "mount: dosya sistemi türü %s çekirdek tarafından desteklenmiyor"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+#, fuzzy
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "mount: dosya sistemi türü %s çekirdek tarafından desteklenmiyor"
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "%s bir blok aygıtı ya da dosyası değil\n"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "mount başarısız"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "%s açılamıyor"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount: bağlama noktası %s yok"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%s: %s %s olarak deÄźiĹźtirilemedi: %s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "umount: %s: yok"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " silinebilir"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "Öntanımlı değer %u kullanılıyor\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "takas alanında başa gidilemiyor"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "loop: %s aygıtı açılamıyor: %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "umount: %s: yok"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: bir blok aygıtı değil\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "loop: %s aygıtı açılamıyor: %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "umount: %s: aygıt meşgul"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s başarıldı.\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "çalıştırma başarısız\n"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "dizine geçilemedi\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+#, fuzzy
+msgid "no length argument specified"
+msgstr "Çok fazla argüman belirtildi.\n"
+
+#: sys-utils/fallocate.c:138
+#, fuzzy
+msgid "invalid length value specified"
+msgstr "Ayar değeri geçersiz: %s\n"
+
+#: sys-utils/fallocate.c:140
+#, fuzzy
+msgid "invalid offset value specified"
+msgstr "Ayar değeri geçersiz: %s\n"
+
+#: sys-utils/fallocate.c:142
+#, fuzzy
+msgid "no filename specified."
+msgstr "--date seçeneği belirtilmemiş.\n"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+#, fuzzy
+msgid "unexpected number of arguments"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, fuzzy, c-format
+msgid "%s: fallocate failed"
+msgstr "openpty başarısız\n"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "'%s' dosyası açılamıyor"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s bir argümanla kullanılır\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "kök düğümü bir dizin değil"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() başarısız"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+#, fuzzy
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: sys-utils/fsfreeze.c:92
+#, fuzzy
+msgid "no action specified"
+msgstr "--date seçeneği belirtilmemiş.\n"
+
+#: sys-utils/fsfreeze.c:94
+#, fuzzy
+msgid "no filename specified"
+msgstr "--date seçeneği belirtilmemiş.\n"
+
+#: sys-utils/fsfreeze.c:112
+#, fuzzy, c-format
+msgid "%s: is not a directory"
+msgstr "kök düğümü bir dizin değil"
+
+#: sys-utils/fsfreeze.c:118
+#, fuzzy, c-format
+msgid "%s: freeze failed"
+msgstr "openpty başarısız\n"
+
+#: sys-utils/fsfreeze.c:123
+#, fuzzy, c-format
+msgid "%s: unfreeze failed"
+msgstr "openpty başarısız\n"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "--date seçeneği belirtilmemiş.\n"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "kök düğümü bir dizin değil"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "openpty başarısız\n"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "%s açılamıyor"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Donanım saatinin %s de tutulduğu varsayılıyor.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "yerel"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%s: Uyarı: adjtime dosyasındaki üçüncü satır anlaşılamadı\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Son sapma ayarı 1969 dan sonraki %ld. saniyede yapıldı\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Son düzeltme 1969 dan sonraki %ld. saniyede yapıldı\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Donanım saati %s den beri açık\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "saat tiki için bekleniyor...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "... saat tiki alındı\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Donanım saatinde geçersiz değerler: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Donanım zamanı: %4d/%.2d/%.2d %.2d:%.2d:%.2d = 1969 yılından beri %ld "
+"saniye\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Donanım saatinden okunan: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Donanım Saati %.2d:%.2d:%.2d = 1969 dan beri %ld saniye olarak ayarlanıyor\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Saat deÄźiĹźmeyecek - sadece test ediliyor.\n"
+
+#: sys-utils/hwclock.c:540
+#, fuzzy, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Başlangıç zamanından beri geçen zaman %.6f saniye oldu.\n"
+"Gecikme sonraki tam saniyeye kadar olandan daha fazla.\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Donanım saati yazmaçları hem geçersiz (ayın 50. günü gibi) hem de elde "
+"edilebilir olmayan bir aralıkta (2500 yılı gibi) değerler içeriyor.\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f saniye\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "--date seçeneği belirtilmemiş.\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "--date ile verilen argüman çok uzun\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"--date seçeneğinin değeri geçersiz.\n"
+"Ayrıca tırnak işaretleri de içeriyor.\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Verilen date komutu: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"'date' uygulaması /bin/sh kabuğunda çalıştırılamıyor. popen() başarısız"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "date komutunun sonucu = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"%s tarafından verilen date komutu anlaşılmayan sonuçlar verdi.\n"
+"Komut:\n"
+" %s\n"
+"Sonuç:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"%s tarafından verilen date komutu dönüştürülmüş zaman değeri olarak bir "
+"tamsayı yerine farklı birşeylerle sonuçlandı.\n"
+"Komut:\n"
+" %s\n"
+"Sonuç:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "tarih dizgesi %s 1969 dan beri %ld saniyeye eĹźittir.\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Donanım Saati geçerli bir zaman değeri içermediğinden Sistem Zamanı o değere "
+"ayarlanamaz.\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "settimeofday çağrısı:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Test kipinde çalışıldığından sistem saati değişmiyor.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "Sistem saatinin ayarlanması root yetkisindedir.\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() başarısız"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Donanım saatinin önceki değerleri bozuk olduğundan sapma faktörü "
+"ayarlanamıyor.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Son düzeltme zamanı sıfır olduğndan sapma faktörü ayarsız,\n"
+"yani geçmiş hatalı ve bir düzeltme başlangıcı gerekiyor.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Son düzeltmeden beri 1 günden az zaman geçtiğinden sapma faktörü "
+"ayarlanamıyor.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"%3$f saniye/gün sapma faktörüne rağmen, %2$d saniye içinde saat %1$.1f "
+"saniye saptı.\n"
+"Sapma faktörü %4$f saniye/gün olarak ayarlanıyor\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Son ayarlamadan beri %d saniye geçti\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "%d saniye girmek gerekli ve zaman %.6f saniye öncesine ait\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "adjtime dosyası test kipinde olunduğundan güncellenmiyor.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Aşağıdaki %s e yazılmalı:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "Sapma ayar parametreleri gĂĽncellenmedi.\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr "Donanım saati geçerli bir zaman içermediğinden ayarlanamıyor.\n"
+
+#: sys-utils/hwclock.c:1076
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Son düzeltme zamanı sıfır olduğndan sapma faktörü ayarsız,\n"
+"yani geçmiş hatalı ve bir düzeltme başlangıcı gerekiyor.\n"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr "Gereken ayar bir saniyenin altında olduğundan saat ayarlanmıyor.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "%s kullanarak.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Kullanılabilir bir saat arayüzü yok.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Sistem saati ayarlanamıyor.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Çekirdek sadece Alpha makina üstünde Donanım Saati için bir dönemsellik "
+"deÄźeri saklar.\n"
+"hwclock'un bu kopyası bir Alpha için derlenmemiş. Bir şey yapılmadı.\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Çekirdekten dönemsellik değeri alınamıyor.\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Çekirdek dönemsellik değerini %lu varsayıyor\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Dönemsellik değerinin ayarlanabilmesi için, ayarlanacak değeri 'epoch' "
+"seçeneği ile vermelisiniz.\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Dönemsellik %d olarak ayarlanmayacak - sadece test ediliyor.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Çekirdekte dönemsellik değeri ayarlanamıyor.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"%d disk bölümü:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" --jensen, --arc, --srm, --funky-toy\n"
+" Alpha'nızın hwclock türü belirtilir\n"
+" (hwclock(8) man sayfasına bakınız)\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "Sistem saati ayarlanamıyor.\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s seçeneği argüman almaz. %d verildi.\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "%s: --noadjfile ile ya --utc ya da --localtime belirtilmelidir\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Zaman ayarlama kullanımdışı. Saat ayarlanamaz.\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "Donanım saati sadece root tarafından değiştirilebilir.\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Sistem saati sadece root tarafından değiştirilebilir.\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Çekirdekteki Donanım Saati dönemsellik değeri sadece root tarafından "
+"deÄźiĹźtirilebilir.\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "Bilinen her hangi bir yöntemle Donanım Saatine erişilemiyor.\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Bir erişim yöntemi için arama ayrıntılarını görmek için --debug seçeneğini "
+"kullanın.\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "MILO'dan açıldı\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD clock\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "saatportu 0x%x'e ayarlandı\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TimeOfYear!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%s: 1000 yineleme için atomik %s başarısız!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "Denenmediğinden erişim izinleri alınamadı.\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "%s G/Ç portu erişimi alamıyor: iopl(3) çağrısı başarısız.\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Size root yetkileri gerekli.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "KDGHWCLK zaman değiştirilmek üzere çevrim içinde bekleniyor.\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl zamanı okumada başarısız"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl çevrim içinde zamanı okumada başarısız"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "Zamanı değiştirmek için zamanaşımı bekleniyor.\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK başarısız"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "/dev/tty1 veya /dev/vc/1 açılamıyor"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl başarısız"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl() %s den zaman okumada başarısız\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "%s den zamanı değiştirmek için çevrim içinde bekleniyor\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s için kesme işlevleri yok."
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() %s den saat darbesi beklerken hata verdi"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() %s den saat darbesi beklerken hata verdi"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "select() %s den saat darbesi beklerken zamanaşımına uğradı\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() %s den güncelleme kesmelerini durduramadı"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "ioctl() %s den güncelleme kesmelerini açması gerekirken hata verdi"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl() %s den zamanı ayarlayamadı.\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) başarıldı.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Çekirdekteki dönemsellik değerini değiştirmek için aygıt özel dosyası %s "
+"üzerinden Linux 'rtc' aygıt sürücüsüne erişilmelidir. Bu dosya sistemde "
+"yok.\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) %s için başarısız"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "RTC_EPOCH_READ ioctl ile dönemsellik %ld %s den okunabilir.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr ""
+"Dönemsellik değerinin başlangıcı 1900 yılından önce olamaz. %ld istendi.\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "RTC_EPOCH_SET ioctl ile dönemsellik %ld %s den ayarlanıyor.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "%s için çekirdek aygıt sürücüsünde RTC_EPOCH_SET ioctl yok.\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) %s için hata verdi"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output Normalde verilen çıktı verilmez\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Paylaşımlı bellek Bölüt shmid=%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Ä°leti KuyruÄźu iltkiml=%d\n"
+
+#: sys-utils/ipcmk.c:154
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "ayrılmış semafor sayısı = %d\n"
+
+#: sys-utils/ipcmk.c:156
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Semafor Dizisi semkiml=%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"Paylaşımlı bellek Bölüt shmid=%d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+"\n"
+"Ä°leti KuyruÄźu iltkiml=%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+"\n"
+"Semafor Dizisi semkiml=%d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "anahtar için erişim engellendi"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "kimlik için izinler yetersiz"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "anahtar geçersiz"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "anahtar zaten silinmiĹź"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "kimlik zaten silinmiĹź"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() başarısız"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "Çok fazla argüman belirtildi.\n"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "özkaynak(lar) silindi\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s: kuraldışı tuş (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "çekirdek paylaşımlı bellek için yapılandırılmamış\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "çekirdek semaforlar için yapılandırılmamış\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "çekirdek ileti kuyrukları için yapılandırılmamış\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s: bilinmeyen argĂĽman: %s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+"-i kimlik [-s -q -m] : kimlik ile belirtilen özkaynak hakkında bilgi verir\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "tehlikeli seçenekler:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "çekirdek paylaşımlı bellek için yapılandırılmamış\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---- Paylaşımlı Bellek Sınırları ----\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "azami bölüt boyu (kb) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "azami toplam paylaşımlı bellek (sayfa) = %lu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "asgari bölüt boyu (bayt) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "----- Paylaşımlı Bellek Durumu -----\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "--- Paylaşımlı Bellek Bölüt Oluşturucuları/Kendileri ---\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "izinler"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "ckullkiml"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgkiml"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "kullkim"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gkiml"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "---- Paylaşımlı Bellek Ekleme/Ayırma/Değişiklik Zamanları ----\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "sahibi"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "ekleme"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "ayırma"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "deÄźiĹźiklik"
+
+#: sys-utils/ipcs.c:340
+#, fuzzy, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "---- Paylaşımlı Bellek Oluşturucu/Son işlem ----\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "----- Paylaşımlı Bellek Bölütleri -----\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "anahtar"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "bayt"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "ekSayısı"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "durum"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Belirlenmedi"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "hedef"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "kilitli"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "çekirdek semaforlar için yapılandırılmamış\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Semafor Sınırları --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "azami dizi sayısı = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "dizi başına azami semafor sayısı = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "tüm sistemdeki azami semafor sayısı = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "semop çağrısı başına azami işlem sayısı = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "semafor azami deÄźeri = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semafor Durumu --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "kullanılan dizi sayısı = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "ayrılmış semafor sayısı = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Semafor Dizileri OluĹźturucu/Kendi --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semkiml"
+
+#: sys-utils/ipcs.c:452
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "---- Paylaşımlı Bellek İşlem/Değişiklik Zamanları ----\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "son-iĹźl"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "son-değş"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semafor Dizileri ------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "semSayısı"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "çekirdek ileti kuyrukları için yapılandırılmamış\n"
+
+#: sys-utils/ipcs.c:529
+#, fuzzy, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ İletiler: Sınırlar --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "tüm sistemdeki azami kuyruk sayısı = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "azami ileti uzunluÄźu (bayt) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "öntanımlı azami kuyruk boyu (bayt) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, fuzzy, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Ä°letiler: Durum --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "ayrılmış kuyruk sayısı = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "kullanılmış başlık sayısı = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "kullanılmış alan = %d bayt\n"
+
+#: sys-utils/ipcs.c:543
+#, fuzzy, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ İleti Kuyrukları: Oluşturucu/Kendi --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "iltkiml"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ İleti Kuyrukları Gönd/Alım/Değiş. Zamanları --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "gönderim"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "alım"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "deÄźiĹźim"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ İleti Kuyrukları PID'leri --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ İleti Kuyrukları --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "kull-bayt"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "ileti-sayısı"
+
+#: sys-utils/ipcs.c:627
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync hata verdi"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Paylaşımlı bellek Bölüt shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "kullkiml=%d\tgkiml=%d\tckullkiml=%d\tcgkiml=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "kip=%#o\teriĹźim_izni=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bayt=%ld\tlpid=%d\tcpid=%d\tekSayısı=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync hata verdi"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Ä°leti KuyruÄźu iltkiml=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "kullkiml=%d\tgkiml=%d\tckullkiml=%d\tcgkiml=%d\tkip=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbayt=%ld\tqbayt=%ld\tqSayısı=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "gönderim_zamanı=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "alış_zamanı=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+#, fuzzy
+msgid "semctl failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semafor Dizisi semkiml=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "kullkiml=%d\t gkiml=%d\t ckullkiml=%d\t cgkiml=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "kip=%#o, eriĹźim_izni=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "semSayısı = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "deÄźer"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "nsayısı"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zsayısı"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/ldattach.c:277
+#, fuzzy
+msgid "invalid option"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/ldattach.c:295
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s bir blok-özel aygıt değil"
+
+#: sys-utils/ldattach.c:302
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "%s uzunluğu alınamıyor"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "%s uzunluğu alınamıyor"
+
+#: sys-utils/ldattach.c:361
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Disk sürücü üzerinde arama yapılamıyor"
+
+#: sys-utils/ldattach.c:367
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "%s uzunluğu alınamıyor"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ", baĹźl %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ", boysınırı %lld"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", %s Ĺźifreleme tĂĽrĂĽ (%d) bilinmiyor"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"kullanımı:\n"
+" %s loop_aygıtı # bilgi verilir\n"
+" %s -d loop_aygıtı # silme\n"
+" %s -f # "
+"kullanılmamışlar\n"
+" %s [ -e şifreleme ] [ -o konum ] {-f|loop_aygıtı} dosya # ayarlama\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "takas alanında başa gidilemiyor"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount: loop aygıtı iki kere belirtilmiş"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "takas alanında başa gidilemiyor"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "--date seçeneği belirtilmemiş.\n"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "Bellek içinde kilitlenemedi, çıkılıyor.\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "%s: %s için aygıt ismi bulunamıyor\n"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "bölümleme tablosu yeniden okunur"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "mount: bağlanamadı"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+#, fuzzy
+msgid "none"
+msgstr "Hiçbiri"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "sektör uzunluğunu verir"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "sektör uzunluğunu verir"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "Tampon ayrılamadı.\n"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "nfs soketi"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Eski durum:\n"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount: bunu sadece root yapabilir"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount: bunu sadece root yapabilir"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount: %s %s üzerinde sadece root tarafından bağlanabilir"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount: bunu sadece root yapabilir"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%2$s%3$s deki %1$s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "erişim hatası"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount: %s zaten %s üzerinde bağlı\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount: %s %s üzerinde sadece root tarafından bağlanabilir"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount: %s zaten %s üzerinde bağlı\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount: %s %s içinde bulunamıyor"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount: %s %s içinde bulunamıyor"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount: %s %s içinde bulunamıyor"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "mount: Dosya sistemi türü saptanamadı ve belirtilmemiş"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount: dosya sistemi tĂĽrĂĽnĂĽ belirtmelisiniz"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s: %s için bağ oluşturulamıyor: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount: bağlanamadı"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "takas alanında başa gidilemiyor"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "mount başarısız"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount: bağlanamadı"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount: bağlama noktası %s bir dizin değil"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount: root tarafından kullanılmalı"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount: %s meĹźgul"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount: ya %s zaten bağlı ya da %s meşgul"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount: %s zaten %s üzerinde bağlı\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount: bağlama noktası %s yok"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount: bağlama noktası %s hiçbir yere sembolik bağ sağlamıyor"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount: özel aygıt %s yok"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "mount başarısız"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount: özel aygıt %s yok\n"
+" (dosya yolu öneki bir dizin değil)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount: %s zaten bağlı değil, ya da seçenek yanlış"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount: %s zaten bağlı değil, ya da seçenek yanlış"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: dosya sistemi türü yanlış, seçenek yanlış, %s üzerinde superblok\n"
+" hatalı, karakter kümesi eksik, ya da başka bir hata olabilir"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Bazı durumlarda syslog'da bulunan bilgiler yararlıdır.\n"
+" dmesg | tail gibi birĹźeyler deneyin\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount: %s: superblok okunamıyor"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount: dosya sistemi tĂĽrĂĽ '%s' bilinmiyor"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr ""
+"mount: %s bir blok aygıtı olmayabilir mi ve durum bilgileri alınamayabilir "
+"mi?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: çekirdek %s aygıtını bir blok aygıtı olarak tanımıyor\n"
+" (`insmod sĂĽrĂĽcĂĽ' denenebilir?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s bir blok aygıtı değil ( `-o loop' denenebilir mi?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s: bir blok aygıtı değil\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount: %s geçerli bir blok aygıtı değil"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount: %s%s salt-okunur bağlanamıyor"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+"mount: %s%s yazma korumalı olduğu halde alenen `-w' seçeneği belirtilmiş"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount: %s%s salt-okunur bağlanamıyor"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount: %s%s yazma korumalı, salt-okunur olarak bağlanıyor"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount: %s zaten %s üzerinde bağlı\n"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%s: %s %s olarak deÄźiĹźtirilemedi: %s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount: bağlanamadı"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "kök düğümü bir dizin değil"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s bağlı.\t"
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "'%s' dosyası açılamıyor"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld blok\n"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS ikincil"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "düğüm sayısı hatalı"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "ileti-sayısı"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "Kullanıcı ismi kuraldışı"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "blok aygıtı "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "Birim"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"%d disk bölümü:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "tehlikeli seçenekler:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+"%s: --adjust ve --noadjfile seçenekleri birbiriyle çelişir.\n"
+"Siz ikisini de belirtmiĹźsiniz.\n"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " Bölüm İlk Son Sektör Dosya\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unqote Çıktı tırnak içine alınmaz\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help Bu yardım iletisini gösterir\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test getopt(1) sürümü için test\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "%s yazılırken hata: %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Örnekleme_adımı: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i): eşlem satırı yanlış\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s: \"_stext\" %s içinde bulunamıyor\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s: profil adresi kapsamdışı. Eşlem dosyası yanlış olabilir mi?\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "toplam"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: sys-utils/renice.c:102
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%2$s deki %1$s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "%s: Bilinmeyen komut: %s\n"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "zaman aşımı değeri hatalı: %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "kullanıcı"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: eski öncelik %d, yeni öncelik %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "gettimeofday başarısız"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "ayrılmış semafor sayısı = %d\n"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "ayrılmış semafor sayısı = %d\n"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "gettimeofday başarısız"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr " %s: disk bölümleme tablosu türü tanınmıyor\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "%s kullanarak.\n"
+
+#: sys-utils/rtcwake.c:486
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "%s kullanarak.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s bir lp aygıtı değil.\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s@%s den ileti var (%s ĂĽzerinden, Ĺźu an %s) ..."
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s@%s den ileti var (%s ĂĽzerinden, Ĺźu an %s) ..."
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "(Sonraki dosya: %s)"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr "kullanımı: %s program [arg ...]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr "Daha fazla bilgi için `getopt --help' yazınız.\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr "Daha fazla bilgi için `getopt --help' yazınız.\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: disk bölümleme tablosu türü tanınmıyor\n"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Çok fazla argüman belirtildi.\n"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "kullanımı: %s program [arg ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "fork: %s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() başarısız"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "çalıştırma başarısız\n"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s %s ĂĽzerinde\n"
+
+#: sys-utils/swapoff.c:44
+#, fuzzy
+msgid "Not superuser."
+msgstr "root deÄźil.\n"
+
+#: sys-utils/swapoff.c:47
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d bir disk bölümünü siler"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "dosya yolu durum bilgileri alınamadı\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "dosya yolu durum bilgileri alınamadı\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "Kullanımda olarak imlensin mi?"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+#, fuzzy
+msgid "execv failed"
+msgstr "çalıştırma başarısız\n"
+
+#: sys-utils/swapon.c:315
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/swapon.c:321
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "%s açılamadı"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+#, fuzzy
+msgid "same"
+msgstr "Ä°sim"
+
+#: sys-utils/swapon.c:456
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: uyarı: %s güvencesiz izinler (%04o) içeriyor, %04o önerilir\n"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: uyarı: %s güvencesiz izinler (%04o) içeriyor, %04o önerilir\n"
+
+#: sys-utils/swapon.c:468
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: %s atlanıyor - bazı delikler içeriyor gibi görünüyor.\n"
+
+#: sys-utils/swapon.c:482
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s %s ĂĽzerinde\n"
+
+#: sys-utils/swapon.c:580
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "MĂĽmkĂĽn komutlar:\n"
+
+#: sys-utils/swapon-common.c:62
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: %s için aygıt ismi bulunamıyor\n"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "kök düğümü bir dizin değil"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "%s sistemden ayrılmaya çalışılıyor\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "namei: çalışılan dizine geçilemiyor - %s\n"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "erişim başarısız"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "'%s' dosyası açılamıyor"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unqote Çıktı tırnak içine alınmaz\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unqote Çıktı tırnak içine alınmaz\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "zaman aşımı değeri hatalı: %s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s bir lp aygıtı değil.\n"
+
+#: sys-utils/tunelp.c:291
+#, fuzzy
+msgid "LPGETSTATUS error"
+msgstr "LPGETIRQ hatası"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s durumu %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", meĹźgul"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", hazır"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", kağıt yok"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", çalışıyor"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", hata"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "fsync hata verdi"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ hatası"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s IRQ %d kullanıyor\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s sorgulama kullanıyor\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "mount başarısız"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount: bağlanamadı"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount: %s: blok aygıtı geçersiz"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount: %s: superblok okunamıyor"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount: %s: bağı kaldırmak için root gerekli"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount: %s: dosya sisteminde blok aygıtlara izin yok"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "%s: açılamıyor: %s\n"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "kullanımı: %s program [arg ...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+#, fuzzy
+msgid "unshare failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "Giriş %d saniye sonra zaman aşımına uğradı\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "Giriş %d saniye sonra zaman aşımına uğradı\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "blok aygıtı "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "durum"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "mount: %s: aygıt bilinmiyor"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s: bilinmeyen argĂĽman: %s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "loop: %s aygıtı açılamıyor: %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "MĂĽmkĂĽn komutlar:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: bilinmeyen sinyal: %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "takas alanında başa gidilemiyor"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "%s için zaman aşımı değeri alınamıyor: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "write_tables içinde erişim başarısız"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f saniye\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "zaman aşımı"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "Aygıt"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr ""
+"%s sĂĽrĂĽm %s\n"
+"Çeviri hatalarını <gnu-tr-u12a@listssourceforge.net> adresine bildiriniz\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: %s çalıştırılamıyor: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s için kip değiştirilirken hata: %s\n"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: \"%s\" süreci bulunamıyor\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: %s çalıştırılamıyor: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "Tampon ayrılamadı.\n"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "zaman aşımı değeri hatalı: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "hatalı hız: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "almaşık hız çok yüksek"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: standart girdi olarak açılamıyor: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: bir karakter aygıtı değil"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: oku/yaz için açık değil"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: çoğaltma sorunu: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "tĂĽrĂĽ: %s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: okunan: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: girdi geçersiz"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "kullanıcı"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "kullanıcı"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "erişim başarısız"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "Başkaları uçbirime yazabilir.\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "Başkaları uçbirime yazamaz.\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "ayrılmış semafor sayısı = %d\n"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "kimlik geçersiz: %s\n"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"Uyarı: `%s' bir sembolik bağ dosyası.\n"
+"Gerçekten kullanmak istiyorsanız `%s [seçenekler] %s' ile kullanın.\n"
+"Betik başlatılmadı.\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Betik başlatıldı, dosyası %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "%s de betik başlatıldı"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s: %s için aygıt ismi bulunamıyor\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"%s üzerinde betik tamamlandı"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Betik tamamlandı, dosyası %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty başarısız\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "pty sayısı yetersiz\n"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "%s açılamadı"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: term-utils/scriptreplay.c:215
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: term-utils/scriptreplay.c:217
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: %s doyasında beklenmedik dosya sonu\n"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s: Argüman hatası, kullanımı\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "ast süreç oluşturulamıyor"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "ast süreç oluşturulamıyor"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "%s açılamıyor\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "ekonomi kipi denetim dışı\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "%s aygıtı yazılmak üzere açılamıyor\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "klogctl hatası: %s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "Ekran dökümü yazılırken hata\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "%s açılamadı\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s: $TERM atanmamış.\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: bilinmeyen sinyal: %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "iov sayısı çok fazla (wall/ttymsg.c de kodu değiştir)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "satır argümanı gereğinden uzun"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "ast süreç oluşturulamıyor"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "zaman aşımı değeri hatalı: %s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "Diskin toplam alanı hesaplanamıyor"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "%s@%s den Uyarı"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s: %s okunamayacak - stdG kullanın.\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "(Sonraki dosya: %s)"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr "kullanımı: namei [-mx] dosyaYolu [dosyaYolu ...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write: kullandığınız tty ismi bulunamıyor\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write: yazma izinleriniz kapalı.\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write: %s ile %s üzerinde giriş yapılmamış.\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write: %s iletileri %s üzerinde kapalı\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write: %s sistemde deÄźil\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write: iletiler %s için kapalı\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write: %s birden fazla giriş yapmış; %s'e yazıyor\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "Girdi satırı çok uzun.\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "%s@%s den ileti var (%s olarak, %s ĂĽzerinden, Ĺźu an %s) ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "%s@%s den ileti var (%s ĂĽzerinden, Ĺźu an %s) ..."
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "bellek ayrılamadı"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col: yazma hatası.\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col: -l argümanı %s hatalı.\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col: uyarı: %s yedeklenemiyor.\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "geçen ilk satır"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- satır zaten geçti"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "col: -l argümanı %s hatalı.\n"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "col: -l argümanı %s hatalı.\n"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "kimlik geçersiz"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s: \"-%c\" diye bir seçenek bilinmiyor\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: dizin ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Bir metin dosyası değil ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Çıkmak için q ya da Q kullanın]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--BaĹźka--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Sonraki dosya: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Devam etmek için boşluk çubuğuna, çıkmak için 'q' tuşuna basınız.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...kalan %d sayfa"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...kalan 1 sayfa"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...bir satır atlanıyor"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...%d satır atlanıyor"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Kalan***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "DĂĽzenli ifade acemice"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"Komutların çoğu bir k tamsayı argüman alabilir. Verilmezse köşeli\n"
+"parantezlerle belirtilenler öntanımlıdır. Yıldız (*) işareti yeni öntanımlı\n"
+"değer olacağını belirtir.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<boşluk> Metnin sonraki k satırını gösterir [ekranın satır sayısı]\n"
+"z Metnin sonraki k satırını gösterir [ekranın satır sayısı]*\n"
+"<enter> Metnin sonraki k satırını gösterir [1]*\n"
+"d veya ctrl-D Metni k satır ilerletir [genellikle 11 satır]*\n"
+"q veya Q ya da <kesme>\n"
+" more'dan çıkılır.\n"
+"s Metnin k satırını atlar [1]\n"
+"f Metnin k ekranlık bölümünü atlar [1]\n"
+"b veya ctrl-B Metnin geriye doğru k ekranlık bölümünü atlar [1]\n"
+"' Aramanın ilk başlatıldığı yere döner\n"
+"= O anki satır numarasını gösterir\n"
+"/<dĂĽzenli ifade>\n"
+" Düzenli ifade ile belirtilen k'ıncı eşleşmeyi arar [1]\n"
+"n Son düzenli ifade ile belirtilen sonraki k'ıncı eşleşmeyi\n"
+" arar [1]\n"
+"!<komut> veya :!<komut>\n"
+" Alt kabuğunda <komut>u çalıştırır\n"
+"v Bulunulan satırda /usr/bin/vi çalıştırılır\n"
+"ctrl-L Ekranı tazeler\n"
+":n Sonraki k'ıncı satıra gider [1]\n"
+":p Önceki k'ıncı satıra gider [1]\n"
+":f Dosya ismini ve satır numarasını gösterir\n"
+". Önceki komut tekrarlanır\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Yardım başlıkları için 'h' tuşuna basınız]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" satır %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Dosya değil] satır %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " TaĹźma\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...atlanıyor\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Kalıp bulunamadı\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Kalıp bulunamadı"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "çalıştırma başarısız\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "ast süreç oluşturulamadı\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Atlanıyor "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Dosyaya atlanıyor: "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Önceki dosyaya atlanıyor: "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Satır çok uzun"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Yerini alacak öncesinde bir komut yok"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "satır çok uzun"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump: çoklu dönüşüm karakterleriyle bayt sayısı.\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump: dönüşüm karakteri %s için bayt sayısı hatalı.\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump: %%s bir duyarlık ya da bayt sayısı gerektirir.\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump: biçem hatalı {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdump: dönüşüm karakteri %%%s hatalı.\n"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p Disk bölümleme tablosunu ekrana ya da bir dosyaya yazar"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n gerçekte diske yazılmaz"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: seçenek bir argümanla kullanılır -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: kuraldışı seçenek -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...ileri atlanıyor\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...geri atlanıyor\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Sonrasında dosya yok"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Ă–ncesinde dosya yok"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: %s dosyasından okuma hatası\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: %s doyasında beklenmedik dosya sonu\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: %s doyasında bilinmeyen hata\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: geçici dosya oluşturulamıyor.\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "RE hatası:"
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(DosyaSonu)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Arama dizgesi yok"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "%s açılamıyor"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "kaydedildi"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": rflag kipinde ! komutu kullanılmaz.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "Alt süreç oluşturulamadı, daha sonra tekrar deneyin\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Sonraki dosya: "
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "%s: açılamıyor: %s\n"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "--date seçeneği belirtilmemiş.\n"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "terminfo okunmaya çalışılıyor"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "Girdideki önceleme dizgesi bilinmiyor: %o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "Girdi satırı çok uzun.\n"
+
+#, fuzzy
+#~ msgid "%s: open failed"
+#~ msgstr "openpty başarısız\n"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "'%s' dosyası açılamıyor"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "%s açılamadı\n"
+
+#, fuzzy
+#~ msgid "open failed: %s"
+#~ msgstr "openpty başarısız\n"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "'%s' açılamıyor"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#, fuzzy
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "'%s' dosyası açılamıyor"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "Bu disk hem DOS hem de BSD olarak imli.\n"
+#~ "BSD kipine geçmek için 'b' komutunu verin.\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "%s açılamıyor"
+
+#, fuzzy
+#~ msgid "error: cannot open %s"
+#~ msgstr "%s: %s açılamıyor\n"
+
+#, fuzzy
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "%s okumak için açılamıyor"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "'%s' dosyası açılamıyor"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "%s açılamadı\n"
+
+#, fuzzy
+#~ msgid "could not stat '%s'"
+#~ msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#, fuzzy
+#~ msgid "%s: fstat failed"
+#~ msgstr "erişim başarısız"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "/dev/port açılamıyor: %s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "%s için open() işlevi hata verdi"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "%s açılamadı"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "%s açılamıyor"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "Tampon ayrılamadı.\n"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "%s durum bilgileri alınamıyor"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "%s durum bilgileri alınamıyor"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "%s durum bilgileri alınamıyor"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "(Sonraki dosya: %s)"
+
+#, fuzzy
+#~ msgid "cannot open timing file %s"
+#~ msgstr "'%s' dosyası açılamıyor"
+
+#, fuzzy
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "'%s' dosyası açılamıyor"
+
+#~ msgid "Cannot open "
+#~ msgstr "Açılamıyor"
+
+#, fuzzy
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "\"%s\" okumak için açılamıyor\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "kullanımı: %s [-hv] [-x dizin] dosya\n"
+#~ " -h bu yardım iletisini gösterir\n"
+#~ " -x dizin dizin içine açar\n"
+#~ " -v ayrıntılı çıktı verir\n"
+#~ " dosya denenen dosya\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "kullanımı: %s [-larvsmf] /dev/İSİM\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "'%s' üzerinde takas aygıtı oluşturulmayacak"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Disk bölümleme tablosunu diskteki yerine kaydetme yetkiniz yok.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "%i disk bölümünün başlangıcı silindir sınırları dışında:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "(%d, %d, 1) olmalıydı\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "(%d, %d, %d) olmalıydı\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "%s diski geçerli bir disk bölümleme tablosu içermiyor\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "%s açılamıyor\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr ""
+#~ "Bu çekirdek sektör uzunluğunu kendisi bulur. - -b seçeneği yoksayıldı\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "bellek yetersiz?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: girdi sonu eksik\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "%s: %s açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Çok sayıda işlev belirttiniz.\n"
+#~ "Bir defada sadece bir iĹźlev uygulanabilir.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "%s: --utc ve --localtime seçenekleri birbiriyle çelişiyor. İkisi de "
+#~ "belirtilmiĹź.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: --adjust ve --noadjfile seçenekleri birbiriyle çelişir.\n"
+#~ "Siz ikisini de belirtmiĹźsiniz.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "%s: --adjust ve --noadjfile seçenekleri birbiriyle çelişir.\n"
+#~ "Siz ikisini de belirtmiĹźsiniz.\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "mount: hız ayarlanamıyor: %s"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: %s dosyası meşgul. (%s hazır)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "`%s' `%s' aralığının dışında\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#, fuzzy
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "Ayar değeri geçersiz: %s\n"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "%s durum bilgileri alınamıyor"
+
+#, fuzzy
+#~ msgid "failed to parse priority"
+#~ msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "kimlik geçersiz: %s\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "Ayar değeri geçersiz: %s\n"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "Ayar değeri geçersiz: %s\n"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount: loop aygıtı ayarları yapılamadı\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "%s açılamıyor"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: %s doyasında beklenmedik dosya sonu\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "--date ile verilen argüman çok uzun\n"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "ayrılmış semafor sayısı = %d\n"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump: uzunluk hatalı.\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump: atlama değeri hatalı.\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Kullanımı: %s [-number] [-p dizge] [-cefnrs] [+satır] [+/kalıp/] "
+#~ "[dosyalar]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "erişim hatası"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "ast süreç oluşturulamadı\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "erişim başarısız"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d bir BSD disk bölümünü siler"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l bilinen dosya sistemi tĂĽrlerini listeler"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n yeni bir BSD disk bölümü ekler"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p BSD disk bölümleme tablosunu gösterir"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t disk bölümünün dosya sistemi kimliğini gösterir"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u birim değiştirir (silindir/sektör)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p disk bölümleme tablosunu gösterir"
+
+#, fuzzy
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Yeni bir DOS disk etiketi kurgulanıyor. Siz onları yazana kadar "
+#~ "deÄźiĹźiklikler\n"
+#~ "bellekte bekleyecek. Aksi takdirde, önceki içerik kurtarılamayacak.\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr ""
+#~ "Aygıt ne geçerli bir DOS disk bölümleme tablosu ne de Sun, SGI ya da OSF "
+#~ "disk etiketleri içeriyor.\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "İç hata\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tSGI disk bölümleme tablosu için uzman menüsü yok.\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr ""
+#~ "Disk üzerindeki diğer bölümlerin üzerine taşan bir disk bölümü\n"
+#~ "ayırdığınızın farkında mısınız?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Bir yeni SGI disk etiketi kurgulanıyor. Siz diske yazana kadar\n"
+#~ "değişiklikler bellekte tutulacak. Şüphesiz, yazıldıktan sonra,\n"
+#~ "diskte bulunan tĂĽm bilgiyi bir daha geri alamamak ĂĽzere\n"
+#~ "kaybedeceksiniz.\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "bellek yetersiz - bırakılıyor\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "giriş: bellek az, giriş yapılamayabilir\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "ttyclass için bellek ayrılamadı"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "grplist için bellek ayrılamadı"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr ""
+#~ "%s üzerinden %s makinasına girişe öntanımlı olarak izin verilmedi.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "%s üzerinden %s makinasına girişe izin verilmedi.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Kullanımı: %s [ -f ad-soyadı ] [ -o iş yeri ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "login: PAM hatası, çıkılıyor: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "Kullanımı: %s [ -s kabuk ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ kullanıcı_ismi ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s: sadece yerel girdileri değiştirebilir; yerine yp%s kullanın.\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s: /etc/passwd için öntanımlı bağlam belirtilemiyor"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "erişim başarısız"
+
+#, fuzzy
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: listeyi görmek için -l seçeneğini kullanın\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Listeyi görmek için %s -l kullanın.\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "Kullanımı: login [-fp] [kullanıcı]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "bellek yetersiz"
+
+#~ msgid "Illegal username"
+#~ msgstr "Kullanıcı ismi kuraldışı"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s için bu terminalden giriş reddedildi.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "%s İÇİN %s MAKİNASINDAN %s TERMİNALİNE GİRİŞ REDDEDİLDİ"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "%s İÇİN %s TERMİNALİNE GİRİŞ REDDEDİLDİ"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Giriş başarısız\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "ayrılmış semafor sayısı = %d\n"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login: ast süreç oluşturma başarısız: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s kullanıcı ismi: "
+
+#~ msgid "NAME too long"
+#~ msgstr "İSİM çok uzun"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "Kullanıcı adınız çok uzun.\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "kullanıcı isimleri bir '-' ile başlayamaz.\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "HADDÄ°NDEN FAZLA boĹź giriĹź"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "çok fazla boş geçildi.\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "%s MAKİNASINDAN %s GİRİŞİ BAŞARISIZ"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "%s ÜZERİNDEN %s GİRİŞİ BAŞARISIZ"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%3$s %2$s MAKÄ°NASINDAN %1$d KERE GÄ°REMEDÄ°"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%3$s %2$s ĂśZERÄ°NDEN %1$d KERE GÄ°REMEDÄ°"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: grup dosyası meşgul.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr ""
+#~ "%s: %s için bağ kaldırılamıyor: %s (değişiklikleriniz hala %s içinde)\n"
+
+#, fuzzy
+#~ msgid "calloc failed"
+#~ msgstr "bellek ayrılamadı"
+
+#, fuzzy
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "%s diski geçerli bir disk bölümleme tablosu içermiyor\n"
+
+#, fuzzy
+#~ msgid "%s: write failed"
+#~ msgstr "openpty başarısız\n"
+
+#, fuzzy
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: \"%s\" yok.\n"
+
+#, fuzzy
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: %s aygıtı hakkında bilgi alınamıyor: %s\n"
+
+#, fuzzy
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", baĹźl %d"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", Ĺźifreleme tĂĽrĂĽ %d bilinmiyor\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: %s aygıtı hakkında bilgi alınamıyor: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: %s aygıtı açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: /dev/loop# için izinler yetersiz"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Hiç bir loop aygıtı bulunamadı. Bu çekirdek loop aygıtı hakkında\n"
+#~ " bilgiye sahip değil. (`modprobe loop' deneyin, sonuç alamazsanız\n"
+#~ " çekirdeği yeniden derleyin.)"
+
+#, fuzzy
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Tampon bĂĽyĂĽtĂĽlĂĽrken bellek yetmedi.\n"
+
+#, fuzzy
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "Sektör %d zaten kullanımda\n"
+
+#, fuzzy
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "mount: %s%s yazma korumalı, salt-okunur olarak bağlanıyor"
+
+#, fuzzy
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu): başarılı\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): başarılı\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: %s aygıtı silinemiyor: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Bu mount loop desteği olmaksızın derlenmiş. Lütfen yeniden derleyin.\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr ""
+#~ "Derleme sırasında loop desteği verilmemiş. Lütfen yeniden derleyin.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Kullanımı: %s [-q [-i aralık]] ([-s değer]|[-S değer]) ([-t değer]|[-T "
+#~ "deÄźer]) [-g|-G] dosya [dosya...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "%s açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%s: %s açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "Numara geçersiz: %s\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "ast süreç oluşturulamadı\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr ""
+#~ "eski kullanımı: %s {shm | msg | sem} kimlik ...\n"
+#~ "Kimlik ile belirtilen özkaynağı kaldırır\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "özkaynak türü bilinmiyor: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "kullanımı: %s [ [-q msqkiml] [-m shmkiml] [-s semkiml]\n"
+#~ " [-Q msganh] [-M shmanh] [-S semanh] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "anahtarda bilinmeyen hata"
+
+#~ msgid "unknown error in id"
+#~ msgstr "kimlikte bilinmeyen hata"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr "%s okuma erişiminiz olan ipc yetenekleri hakkında bilgi sağlar.\n"
+
+#, fuzzy
+#~ msgid "ldattach from %s\n"
+#~ msgstr "%2$s deki %1$s\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Kullanımı: \"%s [seçenekler]\n"
+#~ "\t -m <eşlemdosyası> (öntanımlı = \"%s\" ve\n"
+#~ "\t \"%s\")\n"
+#~ "\t -p <prodosyası> (öntanımlı = \"%s\")\n"
+#~ "\t -M <çarpan> profil çoğullayıcı belirtilir\n"
+#~ "\t -i örnekleme adımı hakkında bilgi verir\n"
+#~ "\t -v ayrıntılı bilgi verir\n"
+#~ "\t -a sayısı 0 bile olsa tüm sembolleri gösterir\n"
+#~ "\t -b histogram-bin sayılarını tek tek gösterir\n"
+#~ "\t -s işlevlerin içindeki bağımsız sayaçları basar\n"
+#~ "\t -r tüm sayaçlar sıfırlanır (sadece root)\n"
+#~ "\t -n bayt sıralamasının saptanmasını önler\n"
+#~ "\t -V sürüm bilgilerini gösterir ve çıkar\n"
+
+#, fuzzy
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "mount: %s yazılırken hata: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr "Daha fazla bilgi için `getopt --help' yazınız.\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "kullanımı: %s program [arg ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Kullanımı: %s <aygıt> [ -i <IRQ> | -t <ZAMAN> | -c <KARKT> | -w <GECİKME> "
+#~ "| \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s: değer hatalı\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "Dosya kapatılırken hata\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Boş olmayan bir disk bölümünün etiketini değiştirebilirsiniz!\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "Uyarı: %s disk bölümü "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "Uyarı: %s disk bölümü "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "ve %s birbirine girmiĹź\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "aygıt: /dev/hda veya /dev/sda gibi"
+
+#, fuzzy
+#~ msgid "%zd bytes ["
+#~ msgstr "bayt"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#, fuzzy
+#~ msgid " %s -V\n"
+#~ msgstr " %s -l [ sinyal ]\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [AYGITLAR]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] KOMUTLAR AYGITLAR\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "MĂĽmkĂĽn komutlar:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: %s açılamıyor\n"
+
+#, fuzzy
+#~ msgid "parse error\n"
+#~ msgstr "erişim hatası"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "kullanımı: %s [ -n ] AYGIT\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s: bir blok aygıtı değil\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "bellek ayrılamadı"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: seçenek çözümleme hatası\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Kullanımı: %s [-x] [-d <num>] iso9660-image\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Kullanımı: %s [-v] [-N i-düğümSayısı] [-V bölümİsmi]\n"
+#~ " [-F dsySistİsmi] aygıt [blokSayısı]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "%s durum bilgileri alınamıyor"
+
+#, fuzzy
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "%s uzunluğu alınamıyor"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "ast süreç oluşturulamadı\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Kullanımı: %s [-c] [-v0|-v1] [-pSayfaUzunluğu] [-L etiket]\n"
+#~ " /dev/isim [blokSayısı]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Bellek yetersiz"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "Kullanımı:\n"
+
+#, fuzzy
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "Menü yönsüz. Yatay olarak öntanımlanıyor."
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr ""
+#~ "Önce bazı disk bölümlerini silip ondan sonra ek disk bölümünü "
+#~ "eklemelisiniz\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ " Komut yaptığı iş\n"
+#~ " %s\n"
+#~ " p birincil disk bölümü (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s --show-size disk bölümü uzunlukları listelenir"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr ""
+#~ " -c --id disk bölümü kimliği değiştirilir ya da gösterilir"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l --list aygıtların disk bölümlerini listeler"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d --dump dökümler, ama sonraki girdiler için uygun biçemde"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr ""
+#~ " -i --increment silindir sayısı v.s. 0 yerine 1 den itibaren"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM sektör/blok/silindir/MB birimleriyle değer alır/"
+#~ "gösterir"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T --list-types bilinen disk bölümü türlerini listeler"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D --DOS DOS-uyumluluğu için: bir disk bölümünü "
+#~ "çoraklaştırır"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr " -R --re-read çekirdek yeniden okuma tablosu yapar"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# sadece # numaralı disk alanı değiştirilir"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr " -O dosya üstüne yazarak sektörleri dosyaya kaydeder"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I dosya sektörleri bu dosyadan tekrar oluşturur"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v --version sürüm bilgilerini gösterir"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? --help bu yardım iletisini gösterir ve çıkar"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr " -g --show-geometry çekirdeğin geometri bilgisini gösterir"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L --Linux Linux ile alakasız şeyler hakkında hata üretmez"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q --quiet uyarıları engeller"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr "Saptanan geometriyi aşmak için seçenekler:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# --cylinders # kullanılacak silindir sayısı belirtilir"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# --heads # kulanılacak kafa sayısı belirtilir"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# --sectors # kullanılacak sektör sayısı belirtilir"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Kararlılık denetimlerini etkisizleştirme seçenekleri:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr " -f --force yapılacak işlem hatalı da olsa yapılır"
+
+#, fuzzy
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "mount: dosya sistemi tĂĽrĂĽnĂĽ belirtmelisiniz"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Kullanımı: mkfs [-V] [-t dsySistTürü] [dsySist-seçenekleri] aygıt "
+#~ "[uzunluk]\n"
+
+#, fuzzy
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "%s açılamıyor: %s\n"
+
+#, fuzzy
+#~ msgid "fsck from %s\n"
+#~ msgstr "%2$s deki %1$s\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "Düğümler için tampon bellek ayrılamıyor"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "Daha fazla bilgi için `getopt --help' yazınız.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Kullanımı: getopt seçenek-dizgesi parametreler\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [seçenekler] [--] seçenek-dizgesi parametreler\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " parametreler\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (geliĹźmiĹź) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Gereken: `UTC', `LOCAL' ya da hiçbiri.)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - Donanım saatini (RTC) ayarlamak ve sorgulamak için kullanılır.\n"
+#~ "\n"
+#~ "Kullanımı: hwclock [İŞLEV] [SEÇENEK...]\n"
+#~ "\n"
+#~ "Ä°ĹžLEVler:\n"
+#~ " --help bu yardım iletisini gösterir\n"
+#~ " --show donanım saati okunur ve sonucu gösterilir\n"
+#~ " --set donanım saati --date ile verilen değere ayarlanır\n"
+#~ " --hctosys sistem zamanı donanım saatinden ayarlanır\n"
+#~ " --systohc donanım saati sistem saatinden ayarlanır\n"
+#~ " --adjust saatin son ayarından beri oluşan sistematik sapmaya göre\n"
+#~ " donanım saati ayarlanır\n"
+#~ " --getepoch çekirdeğin donanım saati dönemsellik değeri gösterilir\n"
+#~ " --setepoch çekirdeğin donanım saati dönemsellik değeri --epoch\n"
+#~ " ile verilen değere ayarlanır\n"
+#~ " --version hwclock sürüm bilgileri gösterilir\n"
+#~ "\n"
+#~ "SEÇENEKler: \n"
+#~ " --utc donanım saati koordinatlı evrensel zamanda tutulur\n"
+#~ " --localtime donanım saati yerel zamanda tutulur\n"
+#~ " --directisa %s yerine ISA veriyoluna doÄźrudan eriĹźilir\n"
+#~ " --badyear bios bozuk olduğunda donanım saatinin yılı gözardı "
+#~ "edilir\n"
+#~ " --date donanım saatinin ayarlanacağı değer belirtilir\n"
+#~ " --epoch=YIL donanım saatinin dönemsellik başlangıç değeri olan\n"
+#~ " YIL belirtilir\n"
+#~ " --noadjfile /etc/adjtime okunmaz. Ya --utc ya da --localtime "
+#~ "kullanmak\n"
+#~ " gerekir.\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "başlatma dizgesi için yer ayrılamıyor"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Kullanımı: %s [-hiLmw] [-l giriş,_uygulaması] [-t zamanAşımı]\n"
+#~ " [-I başlatmaDizgesi] [-H giriş_makinası] bağlantı_hızı,...\n"
+#~ " satır [terminalTürü]\n"
+#~ " ya da [-hiLmw] [-l giriş,_uygulaması] [-t zamanAşımı]\n"
+#~ " [-I başlatmaDizgesi] [-H giriş_makinası] satır\n"
+#~ " bağlantı_hızı,... [terminalTürü]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "Kullanımı: mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: BÄ°LÄ°NMEYEN HATA"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "Kullanımı: %s [dosya]\n"
+
+#, fuzzy
+#~ msgid "can't read: %s"
+#~ msgstr "%s: %s okunamıyor.\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "kullanımı: logger [-is] [-f dosya] [-p pri] [-t başlık] [-u soket] "
+#~ "[ ileti ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "kullanımı: look [-dfa] [-t karakter] dizge [dosya]\n"
+
+#, fuzzy
+#~ msgid "out of memory?"
+#~ msgstr "bellek yetersiz?\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "çağrı: %s hangi dosyalarla çalışacak?\n"
+
+#, fuzzy
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "kullanımı: script [-a] [-f] [-q] [-t] [dosya]\n"
+
+#, fuzzy
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s üzerinde yazma hatası\n"
+
+#, fuzzy
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s üzerinde yazma hatası\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term terminal_ismi ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#, fuzzy
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-Konsol_nr] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-Konsol_nr] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq frekans_nr ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "Kullanımı: last [-#] [-f dosya] [-t tty] [-h makinaAdı] [kullanıcı ...]\n"
+
+#, fuzzy
+#~ msgid " %s -k\n"
+#~ msgstr " %s -l [ sinyal ]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM dizin ... -f ] isim...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "kullanımı: write kullanıcı [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: %s açılamıyor: %s"
+
+#, fuzzy
+#~ msgid "unknown\n"
+#~ msgstr "bilinmeyen"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Kullanımı: shutdown [-h|-r] [-fqs] [now|hh:ss|+dakika]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Kapatma iĹźlemi durduruldu"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s: Sadece root sistemi kapatabilir.\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "DĂĽne kadar bekleyebilecek misiniz?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "teşhis için; zıpla, zıpla"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Sistem 5 dakikaya kadar kapanıyor"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Bu nedenle girişler yasaklandı."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "%s tarafından yaeniden başlatıldı: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "%s tarafından kapatıldı: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Tekrar görüşmek üzere..."
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Şimdi makinanın enerjisini kesebilirsiniz..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Çekirdekteki enerji kapatma sistemi çağrılıyor...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Enerji kapatılırken hata oluştu\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "\"%s\" uygulaması çalıştırılıyor ...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Çalıştırma sırasında hata\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "ÖNEMLİ: %s'den uyarı:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Sistem %d saat %d dakikaya kadar kapanıyor"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Sistem 1 saat %d dakikaya kadar kapanıyor"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Sistem %d dakikaya kadar kapanıyor\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Sistem 1 dakikaya kadar kapanıyor\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Sistem ŞU ANDA kapanıyor!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "swapoff ast süreç olamıyor."
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "swapoff çalıştırılamıyor, umount denenecek."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "umount ast süreç olamıyor, doğrudan çalıştırılması denenecek."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "%s çalıştırılamıyor. umount denenecek.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "umount çalıştırılamıyor, umount'dan vazgeçiliyor."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Kalan dosya istemleri ayrılıyor..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: %s ayrılamadı: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Tek kullanıcılı kip başlatılıyor.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "Tek kullanıcılı kabuk çalıştırılamadı\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "Tek kullanıcılı kabuğun ast sürece alınamadı\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "fifo açılırken hata\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "/dev/initctl üstünde close-on-exec ayarlanırken hata"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "uç uygulama çalıştırılırken hata\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "uç uygulama ast sürece alınırken hata\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Parola yanlış.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "dosya yolu durum bilgileri alınamadı\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "ast süreç oluşturulamadı\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "inittab açılamıyor\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "Ya TERM boş ya da tty durum bilgileri alınamıyor\n"
+
+#, fuzzy
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "servis durdurulurken hata: \"%s\""
+
+#, fuzzy
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "servis durdurulurken hata: \"%s\""
+
+#, fuzzy
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "servis durdurulurken hata: \"%s\""
+
+#, fuzzy
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Kullanımı: %s [-c] [-n seviye] [-s tamponBoyu]\n"
+
+#, fuzzy
+#~ msgid "error: strdup failed"
+#~ msgstr "%s açılamadı"
+
+#, fuzzy
+#~ msgid "error: calloc failed"
+#~ msgstr "bellek ayrılamadı"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "kullanımı: col [-bfpx] [-l satırsayısı]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "kullanımı: %s [ - ] [ -2 ] [ dosya ... ]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e biçem] [-f biçemDosyası] [-n uzunluk] [-s "
+#~ "atlanan] [dosya ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "kullanımı: %s [-dflpcsu] [+satırnum | +/kalıp] isim1 isim2 ...\n"
+
+#, fuzzy
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "Tampon ayrılamadı.\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: %s okunamıyor.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: satır çok uzun.\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "Kullanımı: %s [dosya]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "bellek ayrılamadı"
+
+#, fuzzy
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "Kullanımı: tailf günlük_dosyası\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "kullanımı: %s [ -i ] [ -tTerm ] dosya...\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "%s açılamıyor\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Daha fazla bellek ayrılamıyor\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Dosya sonuna rastlandı - çıkılıyor..\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: bellek ayrılamadı.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Bellek yetersiz\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "%s dizini yok!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: kabuk betiği için bellek yetersiz.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: kabuk yok: %s.\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: EriĹźim engellendi"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: Ast süreç oluşturulamıyor\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: %s okunamıyor.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: geçici dosya durum bilgileri alınamıyor.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: geçici dosya okunamıyor.\n"
+
+#, fuzzy
+#~ msgid "%s: parse error: %s"
+#~ msgstr "%s üzerinde yazma hatası\n"
+
+#, fuzzy
+#~ msgid "parse error at lines: "
+#~ msgstr "erişim hatası"
+
+#, fuzzy
+#~ msgid " and %d."
+#~ msgstr " ve "
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: kullanıcı bilinmiyor\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: değer hatalı\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) hexdump(1) için uygun bulunmamıştı.\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: hexdump(1) uyumluluğu -%c seçeneğini desteklemiyor%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; Bak: strings(1)."
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Disk bölümü son kısmî silindir içinde bitiyor"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: bellek yetersiz\n"
+
+#, fuzzy
+#~ msgid "strdup failed"
+#~ msgstr "%s açılamadı"
+
+#, fuzzy
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: kuraldışı tuş (%s)\n"
+
+#, fuzzy
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: kuraldışı seçenek -- %s\n"
+
+#, fuzzy
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s %s olarak deÄźiĹźtirilemiyor: %s\n"
+
+#, fuzzy
+#~ msgid "rtc read"
+#~ msgstr ", hazır"
+
+#~ msgid "malloc error"
+#~ msgstr "bellek ayırma hatası"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "kullanımı: column [-tx] [-c sütun] [dosya ...]\n"
+
+#, fuzzy
+#~ msgid "Out of memory\n"
+#~ msgstr "Bellek yetersiz"
+
+#, fuzzy
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "Tampon alanı ayrılamadı\n"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "kullanımı: rev [dosya ...]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Tampon ayrılamadı.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "Tampon bĂĽyĂĽtĂĽlĂĽrken bellek yetmedi.\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: kuraldışı seçenek -- %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "ayrılmış bölüt sayısı %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "ayrılmış sayfa sayısı %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "bulunan sayfa sayısı %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "takaslı sayfa sayısı %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Takas verimi: %ld deneme\t %ld başarı\n"
+
+#, fuzzy
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "uç uygulama çalıştırılırken hata\n"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' value specified"
+#~ msgstr "Ayar değeri geçersiz: %s\n"
+
+#, fuzzy
+#~ msgid "current"
+#~ msgstr "nsayısı"
+
+#, fuzzy
+#~ msgid "new"
+#~ msgstr "Yeni"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ "Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
+#~ " fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
+#~ " fdisk -s PARTITION Give partition size(s) in blocks\n"
+#~ " fdisk -v Give fdisk version\n"
+#~ "Here DISK is something like /dev/hdb or /dev/sda\n"
+#~ "and PARTITION is something like /dev/hda7\n"
+#~ "-u: give Start and End in sector (instead of cylinder) units\n"
+#~ "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
+#~ msgstr ""
+#~ "Kullanımı:\n"
+#~ " fdisk [-b SktUz] [-u] DiSK Disk bölümleme tablosunu değiştirir\n"
+#~ " fdisk -l [-b SktUz] [-u] DiSK Disk bölümleme tablosunu listeler\n"
+#~ " fdisk -s BÖLÜM Bölüm uzunluklarını blok cinsinden "
+#~ "verir\n"
+#~ " fdisk -v fdisk sürüm bilgilerini gösterir\n"
+#~ "Burada:\n"
+#~ "DiSK /dev/hdb veya /dev/sda gibi ve\n"
+#~ "BĂ–LĂśM /dev/hdb7 gibi verilir.\n"
+#~ "-u: Başlangıç ve bitiş sektörlerini (silindir değil) verir\n"
+#~ "-b 2048: 2048 baytlık sektörler kullanılır\n"
+
+#~ msgid ""
+#~ "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+#~ "E.g.: fdisk /dev/hda (for the first IDE disk)\n"
+#~ " or: fdisk /dev/sdc (for the third SCSI disk)\n"
+#~ " or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
+#~ " or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
+#~ " ...\n"
+#~ msgstr ""
+#~ "Kullanımı: fdisk [-l] [-b Skt] [-u] aygıt\n"
+#~ " Ă–rneÄźin:\n"
+#~ " fdisk /dev/hda (ilk IDE disk)\n"
+#~ " fdisk /dev/sdc (üçüncü SCSI disk)\n"
+#~ " fdisk /dev/eda (ilk PS/2 ESDI aygıtı)\n"
+#~ " fdisk /dev/rd/c0d0 veya\n"
+#~ " fdisk /dev/ida/c0d0 (RAID aygıtları)\n"
+#~ " ...\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "The number of cylinders for this disk is set to %d.\n"
+#~ "There is nothing wrong with that, but this is larger than 1024,\n"
+#~ "and could in certain setups cause problems with:\n"
+#~ "1) software that runs at boot time (e.g., old versions of LILO)\n"
+#~ "2) booting and partitioning software from other OSs\n"
+#~ " (e.g., DOS FDISK, OS/2 FDISK)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Bu disk için silindir sayısı %d olarak belirlendi.\n"
+#~ "Yanlış bir şey yok fakat 1024 silindirden büyük değerlerle\n"
+#~ "bazı yazılımlar sorun çıkabilir:\n"
+#~ "1) önyükleme sırasında çalışan yazılımlar (örn. LILO'nun eski sürümleri)\n"
+#~ "2) diğer işletim sistemlerinin önyükleme ve disk bölümleme yazılımları\n"
+#~ " (örn. DOS FDISK, OS/2 FDISK)\n"
+
+#, fuzzy
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: %s yok - oluĹźturuluyor...\n"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "kullanımı: %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr " %s [-s -m -q] -i kimlik\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr " %s -h yardım almak için.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Özkaynak özellikleri:\n"
+#~ "\t-m : paylaşımlı bellek\n"
+#~ "\t-q : iletiler\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : semaforlar\n"
+#~ "\t-a : tümü (öntanımlı)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Çıktı biçemi:\n"
+#~ "\t-t : zaman\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : oluĹźturan\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : sınırlar\n"
+#~ "\t-u : özet\n"
+
+#, fuzzy
+#~ msgid "error: %s"
+#~ msgstr "RE hatası:"
+
+#, fuzzy
+#~ msgid "error parse: %s"
+#~ msgstr "%s okunurken hata\n"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr "kullanımı: rdev [ -rv ] [ -o KONUM ] [ YANSI [ DEĞER [ KONUM ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr " rdev /dev/fd0 (veya rdev /linux, vb.) KÖK aygıtı gösterir"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 KĂ–KĂĽ /dev/hda2 'ye ayarlar"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 KÖK Bayrakları belirlenir (salt-okunur)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 RAMDISK boyu belirlenir"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr " rdev -v /dev/fd0 1 önyükleme VIDEOMODE belirlenir"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr ""
+#~ " rdev -o N ... bayt göreli konumu N olarak belirlenir"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... rdev -R ile aynı"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... rdev -r ile aynı"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... rdev -v ile aynı"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Bilgi: video kipleri: -3=Sor, -2=GeliĹźmiĹź, -1=NormalVga, 1=tuĹź1, "
+#~ "2=tuĹź2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr ""
+#~ " kökü salt-okunur bağlamak için -R 1, oku-yaz için -R 0 kullanın."
+
+#~ msgid "missing comma"
+#~ msgstr "virgĂĽl eksik"
+
+#, fuzzy
+#~ msgid "out if memory"
+#~ msgstr "bellek yetersiz"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "%lld sektör kullanılmamış\n"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "başlangıç"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "AzamiUzunluk = %ld\n"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX önyüklenebilir"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Kabuk deÄźiĹźtirilmedi,\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: hata: sadece v1 takas alanlı etiket\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "ölümcül: ilk sayfa okunabilir değil"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: Device '%s' contains a valid Sun disklabel.\n"
+#~ "This probably means creating v0 swap would destroy your partition table.\n"
+#~ "No swap was created. If you really want to create v0 swap on that "
+#~ "device,\n"
+#~ "use the -f option to force it.\n"
+#~ msgstr ""
+#~ "%s: '%s' aygıtı bir geçerli Sun disk etiketi içeriyor.\n"
+#~ "Bu durumda v0 takas alanı oluşturmak bölümleme tablosunu bozacağından\n"
+#~ "takas alanı oluşturulmadı. Burada mutlaka bir v0 takas alanı oluşturmak\n"
+#~ "istiyorsanız -f seçeneği ile bunu yapabilirsiniz.\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: kök dizine geçilemedi!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: Kök dizin durum bilgileri alınamadı!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: tampon bellekte taĹźma\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? %s içinde chdir yapamadı - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr "%s sembolik bağı okunurken hata - %s (%d)\n"
+
+#~ msgid " *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr " *** UNIX SEMBOLÄ°K BAÄž SINIRLARI AĹžILDI ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: 0%06o dosya türü %s dosyasında anlaşılamadı\n"
+
+#, fuzzy
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: %s UUID'sine göre bağlanıyor\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: %s etiketine göre bağlanıyor\n"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: Ast süreç oluşturulamıyor\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: açılamıyor: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "umount %s gerçekleştirilemedi- yerine %s deneniyor\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-10s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n"
+
+#~ msgid "%-8s %-10s %-26.24s %-26.24s\n"
+#~ msgstr "%-8s %-10s %-26.24s %-26.24s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s\n"
+
+#~ msgid "%-8s %-10s %-20s %-20s %-20s\n"
+#~ msgstr "%-8s %-10s %-20s %-20s %-20s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-12s %-12s\n"
+
+#, fuzzy
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM hatası, çıkılıyor: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "%s okunamıyor, bırakılıyor."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM hatası, çıkılıyor: %s\n"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: \"%s\" artalana alınıyor\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: \"%s\" bırakılıyor\n"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "`%s': dizin hatalı: '.' ilk değil\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "`%s': dizin hatalı: '..' ikinci değil\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "open_tty çağrılıyor\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "termio_init çağrılıyor\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "başlatma dizgesi yazılıyor\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "bağlantı hızı saptama öncesi\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "cr-lf için bekleniyor\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "kullanıcı ismi okunuyor\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "getopt çevrimi sonrası\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "parseargs çıkıyor\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "parse_speeds girildi\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "parsespeeds'den çıkılyor\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "çoğaltıyor\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "Parola hatası."
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Uyarı: \"%s\" /etc/shells dosyasında yok.\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "zaman aşımı = %d, basit = %d, yeniden = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "%s okunamadı ve ioctl dökümlenemiyor\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", baĹźl %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: /dev/loop# gibi bir aygıt bulunamadı"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ " %s [-s]\n"
+#~ msgstr ""
+#~ "kullanımı: %s [-hV]\n"
+#~ " %s -a [-e] [-v]\n"
+#~ " %s [-v] [-p öncelik] özel|LABEL=oylum_ismi ...\n"
+#~ " %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] special ...\n"
+#~ msgstr ""
+#~ "kullanımı: %s [-hV]\n"
+#~ " %s -a [-v]\n"
+#~ " %s [-v] özel ...\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: %s açılamıyor: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "kullanımı: renice öncelik [ [ -p ] pid ] [ [ -g ] pgrp ] [ [ -u ] "
+#~ "kullanıcı ]\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: \"-%c\" diye bir seçenek bilinmiyor\n"
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES. Raise this value in mkcramfs.c and recompile. "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "MAXENTRIES aşıldı. mkcramfs.c içinde bu değeri yükseltin ve yeniden "
+#~ "derleyin. Çıkılıyor.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Sayfa uzunluğu olarak %d kullanılıyor (%d değil)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "Otomatik yapılandırma tarafından bir %s%s%s bulundu\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ " ? auto configure\n"
+#~ " 0 custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Aygıt türü\n"
+#~ " ? oto yapılandırma\n"
+#~ " 0 özel (saptanan öntanımlara sahip donanımla)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Aygıt Türü (?: oto, 0: özel): "
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Almaşık silindirler"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Fiziksel silindirler"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "TĂĽm disk parametrelerini x menĂĽsĂĽnden deÄźiĹźtirebilirsiniz"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" floppy"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux özel"
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "util-linux-%2$s sĂĽrĂĽmĂĽndeki %1$s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: error: etiket %s hem %s hem de %s için kullanılmış\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr "%s: %s açılamadı, UUID ve LABEL dönüşümü yapılmış olmayabilir.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: UUID hatalı"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: nfs mount sürüm 4 ile başarısız, 3 deneniyor...\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: %s bağlanıyor\n"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: dosya sistemi tĂĽrĂĽ belirlenirken hata\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: makina:dizin argümanı gereğinden uzun\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: uyarı: çoklu makina isimleri desteklenmiyor\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: bağlanılacak dizin makina:dizin biçeminde değil\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: %s için adres alınamıyor\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: yanlış hp->h_length alındı\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: seçenek argümanı gereğinden uzun\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Uyarı: proto= seçeneği bilinmiyor.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Uyarı: namlen seçeneği desteklenmiyor.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "bilinmeyen nfs baÄź parametresi: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Uyarı: nolock seçeneği desteklenmiyor.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "bilinmeyen nfs bağ seçeneği: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: yanlış hp->h_length alındı?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "nfs sunucu servisi kullanımdışı olarak raporladı"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "NFS portunu bulmak için portmapper kullanıldı\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "nfs artalan süreci için %d portu kullanılıyor\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "bilinmeyen nfs durum sonuç değeri: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "makina: %s, dizin: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: %s için adres alınamıyor\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: yanlış hostp->h_length alındı\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: geçersiz cramfs -- dosya yolu uzunluğu hatalı\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: geçersiz cramfs -- hatalı dosya kimliği\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr "%s: uyarı -- dosya uzunluğu çok büyük, adımlı eşlem?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: geçersiz cramfs--crc hatası\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: geçersiz cramfs -- hatalı süperblok\n"
+
+#~ msgid "flock: unknown option, aborting.\n"
+#~ msgstr "flock: bilinmeyen seçenek, çıkılıyor\n"
+
+#~ msgid ""
+#~ "Usage flock [--shared] [--timeout=seconds] filename command {arg arg...}\n"
+#~ msgstr ""
+#~ "Kullanımı: flock [--shared] [--timeout=saniye] dosyaismi komut {arg "
+#~ "arg...}\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Sözdizimi hatası: '%s'\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Böyle bir parametre yok: '%s'\n"
+
+#~ msgid " %s [ -p ] dev name\n"
+#~ msgstr " %s [ -p ] aygıt isim\n"
+
+#~ msgid ""
+#~ " %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ " %s [ -p ] aygıt uzunluk sektor kafa iz gerilme boşluk oran özellik1 "
+#~ "fmt_gap\n"
+
+#~ msgid " %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr " %s [ -c | -y | -n | -d ] aygıt\n"
+
+#~ msgid " %s [ -c | -y | -n ] dev\n"
+#~ msgstr " %s [ -c | -y | -n ] aygıt\n"
+
+#~ msgid "version"
+#~ msgstr "sĂĽrĂĽm"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "/dev/urandom açılamadı"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "/dev/urandom'dan rasgele veri okunamadı"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "stat %s yapılamadı"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "%s doÄźru dosya kiplerine sahip deÄźil"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "%s dosyasından veri okunamıyor"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "Kullanıcı sayısı sınırı aşıldı.\n"
+#~ "Daha sonra tekrar deneyin.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Çalıştırabileceğiniz uygulama sayısını aştınız.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "Parola en az 6 karakter uzunlukta olmalıdır, tekrar deneyin.\n"
+
+#~ msgid ""
+#~ "The password must contain characters out of two of the following\n"
+#~ "classes: upper and lower case letters, digits and non alphanumeric\n"
+#~ "characters. See passwd(1) for more information.\n"
+#~ msgstr ""
+#~ "Bir parola bu karakter gruplarının en az ikisindeki karakterleri\n"
+#~ "içermelidir: büyük ve küçük harfler, rakamlar, işaretler.\n"
+#~ "Daha fazla bilgi için: 'man 1 passwd'\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "Eski parolanızı yeniden kullanamazsınız.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr "Lütfen parola olarak kullanıcı adınız gibi şeyleri kullanmayınız!\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr "Lütfen parola olarak ad-soyadı gibi şeyleri kullanmayınız!\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Kullanımı: passwd [kullanıcıİsmi [parola]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "Argümanlı kullanım sadece root için mümkündür.\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Kullanımı: passwd [-foqsvV] [kullanıcı [parola]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "%s çalıştırılamıyor: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "Kullanıcı ismi bulunamıyor"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Diğerlerinin parolasını sadece root değiştirebilir.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr ""
+#~ "Kullanıcı ismi hiçbir yerde bulunamıyor. `%s' gerçekten bir kullanıcı "
+#~ "ismi mi?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr ""
+#~ "Sadece yerel parolalar değiştirilebilir. Bunun yerine yppasswd kullanın."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "Kullanıcı kimliği ile kullanıcı ismi uyuşmuyor, sahtekar!"
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "%s için parola değiştiriliyor\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Eski parolanızı yazınız: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Kuraldışı parola."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Yeni parolanızı yazınız: "
+
+#~ msgid "Password not changed."
+#~ msgstr "Parola deÄźiĹźtirildi."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Yeni parolanızı tekrar yazınız: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Yanlış yazdınız. Parola değiştirilmedi."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "%s için parola değiştirildi"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "ROOT PAROLASI DEĞİŞTİRİLDİ"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "%s için parola root tarafından değiştirildi"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "parolayı kaydetmek için setpwnam çağrılıyor.\n"
+
+#~ msgid "Password *NOT* changed. Try again later.\n"
+#~ msgstr "Parola deÄźiĹźtirilmedi! Daha sonra tekrar deneyin.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Parola deÄźiĹźtirildi.\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr "mount: bu sürüm `nfs' türü için destek olmaksızın derlenmiş"
+
+#~ msgid "Warning: omitting partitions after %d\n"
+#~ msgstr "Uyarı: %d bölümünden sonrakiler atlanıyor\n"
+
+#~ msgid "%s: not compiled with minix v2 support\n"
+#~ msgstr "%s: minix v2 desteÄźiyle derlenmemiĹź\n"
+
+#~ msgid "BLKGETSIZE ioctl failed for %s\n"
+#~ msgstr "BLKGETSIZE ioctl %s için başarısız\n"
+
+#~ msgid "mount: %s duplicate - not mounted"
+#~ msgstr "mount: %s yinelendi - bağlanmadı"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "mount: the label %s occurs on both %s and %s - not mounted\n"
+#~ msgstr "mount: etiket %s hem %s hem de %s için görünüyor - bağlanmadı\n"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "Boot (%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Yok (%02X)"
+
+#~ msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
+#~ msgstr "%s: [%04x]:%ld (%s) göreli konum %d, %s şifreleme\n"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ " Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: Hiç bir loop aygıtı bulunamadı.\n"
+#~ " /dev/loop# bir yanlış major numarası içeriyor olabilir mi?"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device (then recompile or `insmod loop.o'), or\n"
+#~ " maybe /dev/loop# has the wrong major number?"
+#~ msgstr ""
+#~ "mount: Hiç bir loop aygıtı bulunamadı. Bu çekirdek ya loop aygıtı "
+#~ "hakkında\n"
+#~ " bilgiye sahip değil (`insmod loop.o' deneyin, sonuç alamazsanız\n"
+#~ " çekirdeği yeniden derleyin.) ya da /dev/loop# yanlış majör "
+#~ "numarasına\n"
+#~ " sahip olabilir?"
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "Başlangıç (16 taneye kadar onaltılık rakam): "
+
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "'%c' onaltılık bir rakam değil.\n"
+
+#~ msgid "Don't know how to get key for encryption system %d\n"
+#~ msgstr "%d şifreleme sistemi için nasıl anahtar alınacağı bilinmiyor\n"
+
+#~ msgid "Partition %i does not end on cylinder boundary:\n"
+#~ msgstr "%i disk bölümünün bitişi silindir sınırları dışında:\n"
+
+#~ msgid "Can't open help file"
+#~ msgstr "Yardım dosyası açılamıyor"
+
+#~ msgid ""
+#~ "\n"
+#~ "Disk %s: %d heads, %d sectors, %d cylinders\n"
+#~ "Units = %s of %d * %d bytes\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Disk %s: %d kafa, %d sektör, %d silindir\n"
+#~ "Birim = %s (%d * %d baytlık)\n"
+#~ "\n"
+
+#~ msgid "unrecognized option `%s'\n"
+#~ msgstr "`%s' seçeneği bilinmiyor\n"
+
+#~ msgid "option `%s' doesn't allow an argument\n"
+#~ msgstr "`%s' seçeneği bir argümansız kullanılır\n"
+
+#~ msgid "unrecognized option `-%c'\n"
+#~ msgstr "`-%c' seçeneği bilinmiyor\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-12s\n"
+#~ msgstr "%-10s %-10s %-10s %-10s %-10s %-12s\n"
diff --git a/po/uk.gmo b/po/uk.gmo
new file mode 100644
index 0000000..6b427a9
--- /dev/null
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
new file mode 100644
index 0000000..10cb7d9
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,16507 @@
+# Ukrainian translation to util-linux.
+# Copyright (C) 2004 Free Software Foundation, Inc
+# This file is put in the public domain.
+#
+# Maxim V. Dziumanenko <mvd@mylinux.com.ua>, 2004-2006.
+# Yuri Chornoivan <yurchor@ukr.net>, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.22-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2012-08-26 21:02+0300\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr " %s <диŃковий приŃтрій> <номер розділŃ> <початок> <довжина>\n"
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "не вдалоŃŃŹ відкрити %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+msgid "invalid partition number argument"
+msgstr "некоректний аргŃмент номера розділŃ"
+
+#: disk-utils/addpart.c:56
+msgid "invalid start argument"
+msgstr "некоректний аргŃмент початкŃ"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+msgid "invalid length argument"
+msgstr "некоректний аргŃмент довжини"
+
+#: disk-utils/addpart.c:58
+msgid "failed to add partition"
+msgstr "не вдалоŃŃŹ додати розділ"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "вŃтановити ŃŹĐş лиŃе-для-читання"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "вŃтановити для читання-запиŃŃ"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "отримати ŃŃ‚Đ°Đ˝ лиŃе-для-читання"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr "отримати ŃŃ‚Đ°Đ˝ підтримки відкидання Đ˝Ńлів"
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "отримати розмір логічного Đ±Đ»ĐľĐşŃ (Ńектора)"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "отримати розмір фізичного Đ±Đ»ĐľĐşŃ (Ńектора)"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "отримати мінімальний розмір введення-виведення"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "отримати оптимальний розмір введення-виведення"
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr "отримати відŃŃ‚ŃĐż вирівнювання Ń Đ±Đ°ĐąŃ‚Đ°Ń…"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "отримати значення ĐĽĐ°ĐşŃимальної кількоŃŃ‚Ń– Ńекторів на запит"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "отримати розмір блокŃ"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "вŃтановити розмір блокŃ"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr ""
+"отримати 32-Đ±Ń–Ń‚ĐľĐ˛Ń ĐşŃ–Đ»ŃŚĐşŃ–ŃŃ‚ŃŚ Ńекторів (Đ·Đ°Ńтарілий, ŃкориŃтайтеŃŃŹ --getsz)"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "отримати розмір Ń Đ±Đ°ĐąŃ‚Đ°Ń…"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "вŃтановити режим попереднього читання"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "отримати ŃŃ‚Đ°Đ˝ Ń€ĐµĐ¶Đ¸ĐĽŃ ĐżĐľĐżĐµŃ€ĐµĐ´Đ˝ŃŚĐľĐłĐľ читання"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "вŃтановити для файлової ŃиŃтеми режим попереднього читання"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "отримати ŃŃ‚Đ°Đ˝ Ń€ĐµĐ¶Đ¸ĐĽŃ ĐżĐľĐżĐµŃ€ĐµĐ´Đ˝ŃŚĐľĐłĐľ читання для файлової ŃиŃтеми"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "ŃкинŃти бŃфери"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "перечитати таблицю розділів"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %1$s -V\n"
+" %1$s --report [приŃтрої]\n"
+" %1$s [-v|-q] команди приŃтрої\n"
+"\n"
+"ДоŃŃ‚Ńпні команди:\n"
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr " %-25s отримати розмір Ń 512-байтових Ńекторах\n"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr "не вдалоŃŃŹ отримати розмір приŃтрою"
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr "Невідома команда: %s"
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr "%s потребŃŃ” визначення аргŃментŃ"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "Помилка %s.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s виконано.\n"
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr "помилка ioctl Ń %s"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "Чт ПоЧт РзмС Đ Đ·ĐĽĐ‘Đ» ПочСект Розмір ПриŃтрій\n"
+
+#: disk-utils/delpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr " %s <диŃковий приŃтрій> <номер розділŃ>\n"
+
+#: disk-utils/delpart.c:57
+msgid "failed to remove partition"
+msgstr "не вдалоŃŃŹ вилŃчити розділ"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "КориŃŃ‚Ńвання:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tĐ—ĐĐŁĐ’ĐЖЕННЯ: elvtune працює лиŃе Đ· ядрами 2.4\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+"не вказано блокового приŃтрою, ŃкориŃтайтеŃŃŹ -h, щоб отримати довідкŃ\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune Ń” кориŃним лиŃе для Đ·Đ°Ńтарілих ядер;\n"
+"Ń ŃŹĐ´Ń€Đ°Ń… 2.6 Ńлід викориŃтовŃвати налаŃŃ‚Ńвання планŃвальника введення-"
+"виведення sysfs.\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "ФорматŃвання ... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "виконано\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Перевірка ... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Читання: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Помилка зчитŃвання циліндра %d, очікŃвалоŃŃŚ %d, прочитано %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"поŃкоджені дані Ń Ń†Đ¸Đ»Ń–Đ˝Đ´Ń€Ń– %d\n"
+"Продовження ... "
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "КориŃŃ‚Ńвання: %s [параметри] приŃтрій\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -n, --no-verify вимкнŃти ĐżĐµŃ€ĐµĐ˛Ń–Ń€ĐşŃ ĐżŃ–Ńля форматŃвання\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s Đ· %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, c-format
+msgid "stat failed %s"
+msgstr "помилка stat: %s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr "%s: не Ń” блоковим приŃтроєм"
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr "не вдалоŃŃŹ отримати Đ´ĐľŃŃ‚ŃĐż Đ´Đľ файла %s"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "не вдалоŃŃŹ визначити поточний тип форматŃ"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s-Ńторони, %d доріжок, %d Ńект/доріжкŃ. Загальний об'єм %d кб.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "Дві"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Одна"
+
+#: disk-utils/fsck.c:191
+#, c-format
+msgid "%s is mounted\n"
+msgstr "%s змонтовано.\n"
+
+#: disk-utils/fsck.c:193
+#, c-format
+msgid "%s is not mounted\n"
+msgstr "%s не змонтовано\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr "не вдалоŃŃŹ прочитати: %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "помилка обробки: %s"
+
+#: disk-utils/fsck.c:329
+#, c-format
+msgid "Locking disk %s ... "
+msgstr "БлокŃвання приŃтрою %s... "
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr "(очікŃвання) "
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr "ŃŃпіŃно"
+
+#: disk-utils/fsck.c:349
+msgid "failed"
+msgstr "невдача"
+
+#: disk-utils/fsck.c:386
+#, c-format
+msgid "failed to setup description for %s"
+msgstr "не вдалоŃŃŹ налаŃŃ‚Ńвати ĐľĐżĐ¸Ń Đ´Đ»ŃŹ %s"
+
+#: disk-utils/fsck.c:412
+#, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "%s: помилка обробки Ń Ń€ŃŹĐ´ĐşŃ %d -- проігноровано"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: не вдалоŃŃŹ обробити fstab"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, c-format
+msgid "%s: not found"
+msgstr "%s: не знайдено"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "невдале розгалŃження"
+
+#: disk-utils/fsck.c:617
+#, c-format
+msgid "%s: execute failed"
+msgstr "%s: помилка виконання"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr "чекайте, більŃе не залиŃилоŃŃŹ дочірніх процеŃів?!?"
+
+#: disk-utils/fsck.c:708
+msgid "waidpid failed"
+msgstr "помилка waidpid"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr "Попередження... виконання %s для приŃтрою %s заверŃилоŃŃŹ Ńигналом %d."
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr "%s %s: ŃŃ‚Đ°Đ˝ — %x, такого не повинно бŃло ŃтатиŃŃŹ."
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "ЗаверŃено, %s (ŃŃ‚Đ°Đ˝ Đ˛Đ¸Ń…ĐľĐ´Ń %d)\n"
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "помилка %d під Ń‡Đ°Ń Đ˛Đ¸ĐşĐľĐ˝Đ°Đ˝Đ˝ŃŹ fsck.%s для %s"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+"ĐźŃ€ĐµŃ„Ń–ĐşŃ Â«no» або «!» ĐĽĐ°Ń” бŃти передано або вŃŃ–ĐĽ або Đ¶ĐľĐ´Đ˝ĐľĐĽŃ Đ· типів "
+"файлових\n"
+"ŃиŃтем, переданих Đ´Đľ -t."
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+"%s: пропŃŃкаємо помилковий рядок Ń /etc/fstab: монтŃвання Đ· прив’язŃванням Ń– "
+"ненŃльовою кількіŃŃ‚ŃŽ проходів fsck"
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: пропŃŃкаємо приŃтрій, якого не Ń–ŃĐ˝ŃŃ”\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+"%s: приŃтрою не Ń–ŃĐ˝ŃŃ” (щоб пропŃŃтити цей приŃтрій, можна ŃкориŃтатиŃŃŹ "
+"параметром \"nofail\" Ń fstab)\n"
+
+#: disk-utils/fsck.c:1060
+#, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "%s: пропŃŃкаємо Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃŃ‚ĐµĐĽŃ Đ˝ĐµĐ˛Ń–Đ´ĐľĐĽĐľĐłĐľ типŃ\n"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "не вдалоŃŃŹ перевірити %s: на виявлено fsck.%s"
+
+#: disk-utils/fsck.c:1168
+msgid "failed to allocate iterator"
+msgstr "не вдалоŃŃŹ розподілити ітератор"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "Перевірка вŃŃ–Ń… файлових ŃиŃтем.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--очікŃвання-- (прохід %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [параметри fsck] [параметри файлової ŃиŃтеми] [файлова ŃиŃтема...]\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+"\n"
+"Параметри:\n"
+" -A перевірити вŃŃ– файлові ŃиŃтеми\n"
+" -R пропŃŃтити ĐşĐľŃ€ĐµĐ˝ĐµĐ˛Ń Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃтемŃ; кориŃне лиŃе Đ· «-A»\n"
+" -M не перевіряти змонтовані файлові ŃиŃтеми\n"
+" -t <тип> вказати типи файлових ŃиŃтем, які Ńлід перевірити;\n"
+" типи можна вказати Ń Ń„ĐľŃ€ĐĽĐ°Ń‚Ń– ŃпиŃĐşŃ Đ· відокремленням комами\n"
+" -P перевірити файлові ŃиŃтеми, зокрема кореневŃ, Ń ĐżĐ°Ń€Đ°Đ»ĐµĐ»ŃŚĐ˝ĐľĐĽŃ "
+"режимі\n"
+" -r вивеŃти ŃтатиŃтичні дані для кожного приŃтрою fsck\n"
+" -s Ńтворити поŃлідовніŃŃ‚ŃŚ Đ´Ń–Đą fsck\n"
+" -l заблокŃвати приŃтрій Đ·Đ° допомогою flock()\n"
+" -N нічого не виконŃвати, проŃŃ‚Đľ показати Đ´Ń–Ń—, які бŃде виконано\n"
+" -T не показŃвати заголовок піŃля Đ·Đ°ĐżŃŃĐşŃ\n"
+" -C <Đ´Ń„> показŃвати ŃĐĽŃĐ¶ĐşŃ ĐżĐľŃŃ‚ŃĐżŃ, деŃкриптор файла призначено для "
+"графічного інтерфейŃŃ\n"
+" -V пояŃнювати, що робить програма\n"
+" -? показати це довідкове повідомлення і вийти\n"
+"\n"
+"ОзнайомтеŃŃŹ Đ· довідкою Đ´Đľ команд fsck.*, щоб дізнатиŃŃŹ більŃе про параметри "
+"файлових ŃиŃтем."
+
+#: disk-utils/fsck.c:1354
+msgid "too many devices"
+msgstr "забагато приŃтроїв"
+
+#: disk-utils/fsck.c:1366
+msgid "Is /proc mounted?"
+msgstr "/proc змонтовано?"
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr ""
+"для поŃŃĐşŃ Đ˛Ń–Đ´ĐżĐľĐ˛Ń–Đ´Đ˝Đ¸Ń… файлових ŃиŃтем Ńлід виконŃвати ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ˛Ń–Đ´ імені "
+"адмініŃтратора (root): %s"
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "не вдалоŃŃŹ знайти Đ˛Ń–Đ´ĐżĐľĐ˛Ń–Đ´Đ˝Ń Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃтемŃ: %s"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+msgid "too many arguments"
+msgstr "забагато аргŃментів"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr "параметр -l можна викориŃтовŃвати лиŃе Đ· одним приŃтроєм - ігнорŃємо"
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, c-format
+msgid " %s [options] file\n"
+msgstr " %s [параметри] файл\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr " -x, --destination <каталог> видобŃти дані Đ´Đľ каталогŃ\n"
+
+#: disk-utils/fsck.cramfs.c:117
+msgid " -v, --verbose be more verbose\n"
+msgstr " -v, --verbose виводити докладні повідомлення\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "помилка ioctl: не вдалоŃŃŹ визначити розмір приŃтрою: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "не Ń” блоковим приŃтроєм або файлом: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "довжина файла є надто малою"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "Спроба виконання read заверŃилаŃŃŹ невдало: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "не знайдено контрольної ŃŃми ŃŃперблокŃ"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "порядок байтів cramfs: %s\n"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr "прямий"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr "зворотний"
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "непідтримŃвані можливоŃŃ‚Ń– файлової ŃиŃтеми"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "розмір ŃŃĐżĐµŃ€Đ±Đ»ĐľĐşŃ (%d) Ń” надто малим"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "Đ˝Ńльова кількіŃŃ‚ŃŚ файлів"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "попередження: файл заверŃŃєтьŃŃŹ Đ·Đ° межами файлової ŃиŃтеми\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "попередження: Đ·Đ°Ńтарілий формат cramfs\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "не вдалоŃŃŹ перевірити CRC: Đ·Đ°Ńтарілий формат cramfs"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "помилка crc"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "кореневий вŃзол не Ń” каталогом"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "помилковий Đ·ŃŃв кореня (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "блок даних є надто великим"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "помилка розпакŃвання %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " дірка на %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " розтиŃкаєтьŃŃŹ блок Đ· %ld Đ´Đľ %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "неблокові (%ld) байти"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "безрозмірні (%ld, а не %ld) байти"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "помилка write: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "помилка lchown: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "помилка chown: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "помилка utime: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "inode ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ ĐĽĐ°Ń” Đ˝Ńльовий Đ·ŃŃв Ń– ненŃльовий розмір: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "помилка mkdir: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "розмір назви файла Ń” Đ˝Ńльовим"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "помилковий розмір назви файла"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "помилковий відŃŃ‚ŃĐż вŃзла"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "inode файла ĐĽĐ°Ń” Đ˝Ńльовий Đ·ŃŃв Ń– ненŃльовий розмір"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "inode файла ĐĽĐ°Ń” Đ˝Ńльовий розмір Ń– ненŃльовий Đ·ŃŃв"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "Ńимволічне поŃилання ĐĽĐ°Ń” Đ˝Ńльовий відŃŃ‚ŃĐż"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "Ńимволічне поŃилання ĐĽĐ°Ń” Đ˝Ńльовий розмір"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "помилка Ń€ĐľĐ·ĐĽŃ–Đ˝Ń Ń ŃĐ¸ĐĽĐ˛ĐľĐ»Ń–Ń‡Đ˝ĐľĐĽŃ ĐżĐľŃиланні: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "помилка symlink: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "ĐľŃобливий файл ĐĽĐ°Ń” ненŃльовий відŃŃ‚ŃĐż: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "fifo ĐĽĐ°Ń” ненŃльовий розмір: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "Ńокет ĐĽĐ°Ń” ненŃльовий розмір: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "фіктивний режим: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "помилка mknod: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+"початок даних ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ (%ld) < розмір(struct cramfs_super) + початок (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "заверŃення даних ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ (%ld) != ĐżĐľŃ‡Đ°Ń‚ĐşŃ Đ´Đ°Đ˝Đ¸Ń… файлів (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "некоректний Đ·ŃŃв даних файла"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "зібрано без підтримки -x"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Гаразд\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, c-format
+msgid " %s [options] <device>\n"
+msgstr " %s [параметри] <приŃтрій>\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr " -l показати ŃпиŃок вŃŃ–Ń… назв файлів\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr " -a автоматичне відновлення\n"
+
+#: disk-utils/fsck.minix.c:198
+msgid " -r interactive repair\n"
+msgstr " -r інтерактивне відновлення\n"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr " -v докладний режим\n"
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr " -s вивеŃти дані щодо ŃŃперблоків\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr " -m задіяти режим без вилŃчення попереджень\n"
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr " -f примŃŃова перевірка\n"
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr "%s (т/н або y/n)? "
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr "%s (н/т або n/y)? "
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr "y\n"
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr "n\n"
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s змонтовано.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Ви Đ´Ń–ĐąŃно бажаєте продовжити"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "ĐżĐµŃ€ĐµĐ˛Ń–Ń€ĐşŃ ĐżĐµŃ€ĐµŃ€Đ˛Đ°Đ˝Đľ.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "nr зони < FIRSTZONE Ń Ń„Đ°ĐąĐ»Ń– `%s'."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "nr зони >= ZONES Ń Ń„Đ°ĐąĐ»Ń– `%s'."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Видалити блок"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Помилка читання: помилка при позиціюванні на блок Ń Ń„Đ°ĐąĐ»Ń– '%s'\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Помилка читання: неправильний блок Ń Ń„Đ°ĐąĐ»Ń– '%s'\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Đ’Đ˝ŃтріŃня помилка: Ńпроба запиŃŃ Ń ĐżĐľŃкоджений блок\n"
+"Операція запиŃŃ ĐżŃ€ĐľŃ–ĐłĐ˝ĐľŃ€ĐľĐ˛Đ°Đ˝Đ°\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "помилка при позиціюванні Ń Ń„Ńнкції write_block"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Помилка запиŃŃ: поŃкоджений блок Ń Ń„Đ°ĐąĐ»Ń– '%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "помилка при позиціюванні Ń Ń„Ńнкції write_super_block"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "помилка запиŃŃ ŃŃперблокŃ"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Не вдалоŃŃŹ запиŃати ĐşĐ°Ń€Ń‚Ń inode"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Не вдалоŃŃŹ запиŃати ĐĽĐ°ĐżŃ Đ·ĐľĐ˝"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Не вдалоŃŃŹ запиŃати вŃзли"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "помилка при вŃтановленні позиції"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "не вдалоŃŃŹ отримати бŃфер для ŃŃперблокŃ"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "не вдалоŃŃŹ прочитати ŃŃперблок"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "неправильна ŃигнатŃра ŃŃперблока"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "ПідтримŃŃŽŃ‚ŃŚŃŃŹ лиŃе 1k блоки/зонŃ"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "неправильне s_imap_blocks поле Ń ŃŃперблоці"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "неправильне s_zmap_blocks поле Ń ŃŃперблоці"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Не вдалоŃŃŹ виділити бŃфер для мапи вŃзлів"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Не вдалоŃŃŹ розміŃтити бŃфер для карти зон"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Не вдалоŃŃŹ виділити бŃфер для вŃзлів"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Не вдалоŃŃŹ виділити бŃфер для лічильника вŃзлів"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Не вдалоŃŃŹ виділити бŃфер для лічильника зон"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Не вдалоŃŃŹ прочитати ĐĽĐ°ĐżŃ Đ˛Ńзлів"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Не вдалоŃŃŹ прочитати ĐĽĐ°ĐżŃ Đ·ĐľĐ˝"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Не вдалоŃŃŹ прочитати вŃзли"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Попередження: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld вŃзлів\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld блоків\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "ПерŃĐ° зона даних=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Розмір зони=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "МакŃ.розмір=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Стан файлової ŃиŃтеми=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"довж.назви=%zd\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Đ’Ńзол %d позначений ŃŹĐş вільний, але викориŃтовŃєтьŃŃŹ Ń '%s'\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Позначити ŃŹĐş викориŃтовŃваний"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Файл `%s' ĐĽĐ°Ń” права Đ´ĐľŃŃ‚ŃĐżŃ %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Попередження: значення лічильника вŃзлів надто велике.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "кореневий вŃзол не Ń” каталогом"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Блок вже викориŃтовŃєтьŃŃŹ раніŃе. Тепер Ń Ń„Đ°ĐąĐ»Ń– `%s'."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "ОчиŃтити"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Блок %d Đ· Ń„Đ°ĐąĐ»Ń `%s' позначений вільним."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Виправити"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "Каталог '%s' ĐĽŃ–Ńтить Đ˝ĐµĐżŃ€Đ°Đ˛Đ¸Đ»ŃŚĐ˝Ń ĐşŃ–Đ»ŃŚĐşŃ–ŃŃ‚ŃŚ вŃзлів для Ń„Đ°ĐąĐ»Ń '%.*s'."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Видалити"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: неправильний каталог: елемент '.' не перŃий\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: неправильний каталог: елемент '..' не Đ´Ń€Ńгий\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "внŃтріŃня помилка"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: неправильний каталог: розмір < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "помилка при позиціюванні Ń Ń„Ńнкції bad_zone"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Режим inode %lu не ŃкинŃŃ‚Đľ."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr ""
+"Inode %lu не викориŃтано, хоча його позначено ŃŹĐş викориŃтаний на карті."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inode %lu викориŃтано, хоча його позначено ŃŹĐş невикориŃтаний на карті."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Đ’Ńтановити"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %lu (режим Đ´ĐľŃŃ‚ŃĐżŃ = %07o), i_nlinks=%d, лічильник=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Đ’Ńтановити i_nlinks Ń Đ·Đ˝Đ°Ń‡ĐµĐ˝Đ˝ŃŹ лічильника"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr ""
+"Зона %lu: позначена ŃŹĐş викориŃтана, хоча не викориŃтовŃєтьŃŃŹ жодним файлом."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Зняти позначення"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Зона %lu: викориŃтовŃєтьŃŃŹ, лічильник=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Зона %lu: не викориŃтовŃєтьŃŃŹ, лічильник=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "неправильний розмір inode"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "неправильний номер вŃзла верŃŃ–Ń— 2"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "для інтерактивного відновлення необхідний термінал"
+
+#: disk-utils/fsck.minix.c:1305
+#, c-format
+msgid "cannot open %s: %s"
+msgstr "не вдалоŃŃŹ відкрити %s: %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s - чиŃтий, перевірка не виконŃватиметьŃŃŹ.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "ПримŃŃова перевірка файлової ŃиŃтеми на %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Файлова ŃиŃтема на %s поŃкоджена, потрібна перевірка.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld викориŃтаних вŃзлів (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld викориŃтаних зон (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d звичайних файлів\n"
+"%6d каталогів\n"
+"%6d файлів Ńимвольних приŃтроїв\n"
+"%6d файлів блочних приŃтроїв\n"
+"%6d поŃилань\n"
+"%6d Ńимвольних поŃилань\n"
+"------\n"
+"%6d файлів\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"ФĐЙЛОВРСĐСТЕМРЗĐĐ—ĐťĐЛРЗМІН\n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr "помилка позиціювання на %s"
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr "помилка читання на %s"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "кількіŃŃ‚ŃŚ Ńекторів: %d, розмір Ńектора: %d\n"
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [параметри] файл_образŃ_iso9660\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -d, --divisor=ЧĐСЛО ділити Đ·Đ° ЧĐСЛОм байтів\n"
+" -x, --sectors вивеŃти дані щодо кількоŃŃ‚Ń– Ń– Ń€ĐľĐ·ĐĽŃ–Ń€Ń Ńекторів\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -H, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr "некоректний аргŃмент поділŃ"
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "КориŃŃ‚Ńвання: %s [параметри] приŃтрій [кількіŃŃ‚ŃŚ блоків]\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -N, --inodes=ЧĐСЛО вказати Đ±Đ°Đ¶Đ°Đ˝Ń ĐşŃ–Đ»ŃŚĐşŃ–ŃŃ‚ŃŚ inode\n"
+" -V, --vname=ĐťĐЗВРвказати Đ˝Đ°Đ·Đ˛Ń Ń‚ĐľĐĽŃ\n"
+" -F, --fname=ĐťĐЗВРвказати Đ˝Đ°Đ·Đ˛Ń Ń„Đ°ĐąĐ»ĐľĐ˛ĐľŃ— ŃиŃтеми\n"
+" -v, --verbose пояŃнити Đ´Ń–Ń—, які бŃде виконано\n"
+" -c цей параметр бŃде без попередження пропŃщено\n"
+" -l цей параметр бŃде без попередження пропŃщено\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -V для верŃŃ–Ń— можна викориŃтовŃвати лиŃе один раз\n"
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+"\n"
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr "некоректна кількіŃŃ‚ŃŚ inode"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "назва Ń‚ĐľĐĽŃ Đ·Đ°Đ˝Đ°Đ´Ń‚Đľ довга"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "назва файлової ŃиŃтеми надто довга"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s не Ń” Ńпеціальним файлом блочного приŃтрою"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr "некоректна кількіŃŃ‚ŃŚ блоків"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "не вдалоŃŃŹ отримати розмір %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "аргŃмент блоків Ń” надто великим, ĐĽĐ°ĐşŃимальним Ń” значення %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "надто багато вŃзлів - ĐĽĐ°ĐşŃимŃĐĽ 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "не виŃтачає проŃторŃ, потрібно принаймні %llu блоків"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "ПриŃтрій: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Том: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Назва Ń„.Ń.: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Розмір блокŃ: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inode: %lu (Ń 1 блоці)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inode: %lu (Ń %llu блоках)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Блоків: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Кінець вŃзлів: %d, Кінець даних: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "помилка запиŃŃ ŃŃперблокŃ"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "помилка запиŃŃ ĐşĐľŃ€ĐµĐ˝ĐµĐ˛ĐľĐłĐľ вŃзла"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "помилка запиŃŃ Đ˛Ńзла"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "помилка позиціювання"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "помилка запиŃŃ ĐµĐ»ĐµĐĽĐµĐ˝Ń‚Đ° '.'"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "помилка запиŃŃ ĐµĐ»ĐµĐĽĐµĐ˝Ń‚Đ° '..'"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "помилка закривання %s"
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "КориŃŃ‚Ńвання: %s [параметри] [-t тип параметри_Ń„Ń] приŃтрій [розмір]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -t, --type=ТĐĐź тип файлової ŃиŃтеми; якщо не визначено, ext2\n"
+" параметри-Ń„Ń ĐżĐ°Ń€Đ°ĐĽĐµŃ‚Ń€Đ¸ Đ·Đ°ŃĐľĐ±Ń ĐżĐľĐ±Ńдови файлової ŃиŃтеми\n"
+" приŃтрій Ńлях Đ´Đľ приŃтрою\n"
+" розмір кількіŃŃ‚ŃŚ блоків на приŃтрої\n"
+" -V, --verbose пояŃнити виконані Đ´Ń–Ń—\n"
+" визначення декількох -V призведе Đ´Đľ теŃŃ‚Ńвання без "
+"виконання\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -V для верŃŃ–Ń— Ńлід вказŃвати лиŃе один раз\n"
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"ДокладніŃŃ– відомоŃŃ‚Ń– можна знайти Ń Đ´ĐľĐşŃментації Đ´Đľ mkfs(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"кориŃŃ‚Ńвання: %s [-h] [-v] [-b розм_бл] [-e модифікація] [-N порядок] [-i "
+"файл] [-n назва] назв_кат файл_вив\n"
+" -h вивеŃти цю довідкŃ\n"
+" -v докладніŃий вивід\n"
+" -E вважати вŃŃ– попередження помилками (ненŃльовий код заверŃення)\n"
+" -b розм_бл викориŃтовŃвати цей розмір блокŃ, повинен дорівнювати Ń€ĐľĐ·ĐĽŃ–Ń€Ń "
+"Ńторінки\n"
+" -e модифікація вŃтановити номер модифікації (чаŃтина від fsid)\n"
+" -N порядок вŃтановити порядок байтів Ń cramfs (big|little|host), типовим Ń” "
+"host\n"
+" -i файл вŃтавити файл ĐľĐ±Ń€Đ°Đ·Ń Ń Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃŃ‚ĐµĐĽŃ (вимагає >= 2.4.0)\n"
+" -n назва вŃтановити Đ˝Đ°Đ·Đ˛Ń Ń„Đ°ĐąĐ»ĐľĐ˛ĐľŃ— ŃиŃтеми cramfs\n"
+" -p зарезервŃвати %d байт для ĐşĐľĐ´Ń Đ·Đ°Đ˛Đ°Đ˝Ń‚Đ°Đ¶Ńвача\n"
+" -s ŃортŃвати елементи ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ (Đ·Đ°Ńтарілий параметр, ігнорŃєтьŃŃŹ)\n"
+" -z Ńтворювати явні дірки (вимагає >= 2.3.39)\n"
+" назв_кат кореневий каталог майбŃтньої ŃтиŃĐ˝Ńтої файлової ŃиŃтеми\n"
+" файл_вив файл виводŃ\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr "не вдалоŃŃŹ прочитати каталог %s"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Виявлено надто Đ´ĐľĐ˛ĐłŃ Đ˝Đ°Đ·Đ˛Ń (%zu байтів) «%s».\n"
+" ЗбільŃте значення MAX_INPUT_NAMELEN Ń Ń„Đ°ĐąĐ»Ń– mkcramfs.c Ń– виконайте повторне "
+"збирання.\n"
+"ЗаверŃŃємо роботŃ."
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr "файлова ŃиŃтема надто велика. ЗаверŃення."
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: блок \"ŃтиŃнений\" > 2*blocklength (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld байтів)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr "не вдалоŃŃŹ закрити файл %s"
+
+#: disk-utils/mkfs.cramfs.c:726
+msgid "invalid blocksize argument"
+msgstr "некоректний аргŃмент Ń€ĐľĐ·ĐĽŃ–Ń€Ń Ń Đ±Đ»ĐľĐşĐ°Ń…"
+
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr "помилка Ń Đ°Ń€ĐłŃменті номера модифікації"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+"вказано некоректний порядок байтів. Має бŃти вказано 'big', 'little' або "
+"'host'"
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"Попередження: очікŃваний необхідний розмір (верхня межа) Ńкладає %lld МБ, "
+"але ĐĽĐ°ĐşŃимальний розмір ĐľĐ±Ń€Đ°Đ·Ń â€” %u МБ. Можливе передчаŃне аварійне "
+"заверŃення."
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "картка ĐľĐ±Ń€Đ°Đ·Ń ROM"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "ВключаєтьŃŃŹ: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Дані каталогŃ: %zd байтів\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Загалом: %zd кілобайтів\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "СŃперблок: %zd байтів\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "Контрольна ŃŃĐĽĐ°: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr "не виŃтачає проŃŃ‚ĐľŃ€Ń Đ´Đ»ŃŹ ROM-ĐľĐ±Ń€Đ°Đ·Ń (отримано %lld, викориŃтано %zu)"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "образ ROM"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "помилка запиŃŃ ROM-ĐľĐ±Ń€Ń–Đ·Ń (%zd %zd)"
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "попередження: назви файлів обрізано до 255 байтів."
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr "попередження: файли пропŃщено через помилки."
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "попередження: розміри файлів обрізано Đ´Đľ %lu МБ (ĐĽŃ–Đ˝ŃŃ 1 байт)."
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr "попередження: uid обрізано Đ´Đľ %u бітів. (Це може загрожŃвати безпеці.)"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr "попередження: gid обрізано Đ´Đľ %u бітів. (Це може загрожŃвати безпеці.)"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"ĐŁĐ’ĐĐ“Đ: номери приŃтроїв обрізано Đ´Đľ %u бітів. Це майже завжди означає\n"
+"що деякі Đ· файлів приŃтроїв бŃĐ´ŃŃ‚ŃŚ помилковими."
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr ""
+"КориŃŃ‚Ńвання: %s [-c | -l назва_файла] [-nXX] [-iXX] /dev/назва [блоки]"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s підключений; Ń‚ŃŃ‚ не можна Ńтворювати Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃтемŃ!"
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "%s: помилка позиціювання Ń Đ±Đ»ĐľŃ†Ń– завантаження Ń write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%s: не вдалоŃŃŹ Ńпорожнити Ńектор завантажŃвача"
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "%s: помилка позиціювання Ń Ń„Ńнкції write_tables"
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr "%s: не вдалоŃŃŹ запиŃати ŃŃперблок"
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr "%s: не вдалоŃŃŹ запиŃати ĐşĐ°Ń€Ń‚Ń inode"
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr "%s: не вдалоŃŃŹ запиŃати ĐşĐ°Ń€Ń‚Ń Đ·ĐľĐ˝"
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr "%s: не вдалоŃŃŹ запиŃати inode"
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s: помилка під Ń‡Đ°Ń ĐżĐľĐ·Đ¸Ń†Ń–ŃŽĐ˛Đ°Đ˝Đ˝ŃŹ Ń Ń„Ńнкції write_block"
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr "%s: помилка запиŃŃ Ń Ń„Ńнкції write_block"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr "%s: надто багато помилкових блоків"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr "%s: недоŃтатньо неŃŃкоджених блоків"
+
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "%s: не вдалоŃŃŹ розміŃтити бŃфер для ŃŃперблокŃ"
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "%s: не вдалоŃŃŹ розміŃтити бŃфери для карт"
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "%s: не вдалоŃŃŹ розміŃтити бŃфер для inode"
+
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr "%lu inode\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr "%lu блоків\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"МакŃ.розмір=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "%s: помилка позиціювання при перевірці блоків"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "НезрозŃміле значення Ń Ń„Ńнкції do_check: можливо помилка\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s: помилка позиціювання Ń Ń„Ńнкції check_blocks"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "%s: неправильні блоки перед облаŃŃ‚ŃŽ даних: не вдалоŃŃŹ Ńтворити ФС"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d поŃкоджених блоків\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "один поŃкоджений блок\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s: не вдалоŃŃŹ відкрити файл поŃкоджених блоків"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "помилка Ń Đ˛Ń…Ń–Đ´Đ˝Đ¸Ń… даних щодо кількоŃŃ‚Ń– поŃкоджених блоків Ń Ń€ŃŹĐ´ĐşŃ %d\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s: не вдалоŃŃŹ прочитати файл помилкових блоків"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr "%s: помилковий розмір вŃзла"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol помилка: не вказано кількіŃŃ‚ŃŚ блоків"
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr "%s: помилкове вирівнювання на приŃтрої"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "розмір Đ±Đ»ĐľĐşŃ Ń” менŃим Đ·Đ° розмір фізичного Ńектора, %s"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "не вдалоŃŃŹ визначити розмір %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "файлова ŃиŃтема не бŃде Ńтворена на '%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr "%s: кількіŃŃ‚ŃŚ блоків Ń” надто малою"
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr "КориŃŃ‚Ńвачем вказано помилковий розмір Ńторінки, %u"
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"ВикориŃтовŃєтьŃŃŹ вказаний кориŃŃ‚Ńвачем розмір Ńторінки %d, Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ "
+"ŃиŃтемного значення %d"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr "Помилковий розмір заголовка Ń€ĐľĐ·Đ´Ń–Đ»Ń ŃвопінгŃ, ĐĽŃ–Ń‚ĐşŃ Đ˝Đµ запиŃано."
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr "ĐśŃ–Ń‚ĐşŃ Đ±Ńло обрізано."
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "немає етикетки, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "немає uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [параметри] приŃтрій [розмір]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -c, --check перевірити пам’ять Đ´Đľ Ńтворення облаŃŃ‚Ń– ŃвопінгŃ\n"
+" -f, --force дозволити перевищення ĐľĐ±â€™Ń”ĐĽŃ ĐżŃ€Đ¸Ńтрою облаŃŃ‚ŃŽ "
+"ŃвопінгŃ\n"
+" -p, --pagesize РОЗМІР вказати розмір Ńторінки Ń Đ±Đ°ĐąŃ‚Đ°Ń…\n"
+" -L, --label МІТКРвказати ĐĽŃ–Ń‚ĐşŃ\n"
+" -v, --swapversion ЧĐСЛО вказати номер верŃŃ–Ń— облаŃŃ‚Ń– ŃвопінгŃ\n"
+" -U, --uuid UUID вказати uuid, яким Ńлід ŃкориŃтатиŃŃŹ\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+"\n"
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "надто багато поŃкоджених Ńторінок"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "помилка позиціювання Ń Ń„Ńнкції check_blocks"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "одна поŃкоджена Ńторінка\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu поŃкоджених Ńторінок\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "не вдалоŃŃŹ отримати пам’ять для нового зондŃвання libblkid"
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr "не вдалоŃŃŹ призначити приŃтрій Đ´Đľ зондŃвання libblkid"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "помилка вŃтановлення позиції на початок приŃтрою ŃвопінгŃ"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "не вдалоŃŃŹ очиŃтити завантажŃвальні Ńектори"
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s: попередження: не вилŃчайте завантажŃвальні Ńектори"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (виявлено таблицю розділів %s). "
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " на вŃŃŚĐľĐĽŃ Đ´Đ¸ŃĐşŃ. "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (зібрано без підтримки libblkid). "
+
+#: disk-utils/mkswap.c:489
+msgid "parse page size failed"
+msgstr "Ńпроба обробки Ń€ĐľĐ·ĐĽŃ–Ń€Ń Ńторінки зазнала невдачі"
+
+#: disk-utils/mkswap.c:495
+msgid "parse version number failed"
+msgstr "Ńпроба обробки номера верŃŃ–Ń— зазнала невдачі"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr "попередження: ігнорŃємо -U (UUID не підтримŃŃŽŃ‚ŃŚŃŃŹ %s)"
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr "не підтримŃŃ” верŃŃ–ŃŽ swapspace %d."
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "помилка: не вдалоŃŃŹ обробити значення UUID"
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr "помилка: Не вказано, де Ńтворити облаŃŃ‚ŃŚ ŃвопінгŃ?"
+
+#: disk-utils/mkswap.c:545
+msgid "invalid block count argument"
+msgstr "некоректний аргŃмент кількоŃŃ‚Ń– блоків"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "помилка: розмір %llu КіБ Ń” більŃим Đ·Đ° розмір приŃтрою, %llu КіБ"
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "помилка: облаŃŃ‚ŃŚ ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ ĐĽĐ°Ń” перевищŃвати Đ·Đ° об’ємом %ld КіБ"
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "попередження: обрізаємо облаŃŃ‚ŃŚ ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Đ´Đľ %llu КіБ"
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr ""
+"помилка: %s змонтовано; ĐĽŃ–Ńце для резервного зберігання не бŃде Ńтворено."
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr "попередження: помилкове вирівнювання %s"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "не вдалоŃŃŹ вŃтановити проŃŃ‚Ń–Ń€ ŃвопінгŃ: не вдалоŃŃŹ прочитати"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Đ’Ńтановлюємо верŃŃ–ŃŽ 1 облаŃŃ‚Ń– ŃвопінгŃ, розмір = %llu КіБ\n"
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s: не вдалоŃŃŹ запиŃати ŃŃ‚ĐľŃ€Ń–Đ˝ĐşŃ ĐżŃ–Đ´ĐżĐ¸ŃŃ"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "помилка виконання fsync"
+
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: не вдалоŃŃŹ отримати ĐĽŃ–Ń‚ĐşŃ Ń„Đ°ĐąĐ»Đ° selinux"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "не вдалоŃŃŹ виконати matchpathcon()"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "не вдалоŃŃŹ Ńтворити новий контекŃŃ‚ selinux"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "не вдалоŃŃŹ визначити контекŃŃ‚ selinux"
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr "не вдалоŃŃŹ змінити ĐĽŃ–Ń‚ĐşŃ %s на %s"
+
+#: disk-utils/partx.c:79
+msgid "partition number"
+msgstr "номер розділŃ"
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr "початок Ń€ĐľĐ·Đ´Ń–Đ»Ń Ń Ńекторах"
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr "кінець Ń€ĐľĐ·Đ´Ń–Đ»Ń Ń Ńекторах"
+
+#: disk-utils/partx.c:82
+msgid "number of sectors"
+msgstr "кількіŃŃ‚ŃŚ Ńекторів"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr "Đ·Ń€Ńчний для читання розмір"
+
+#: disk-utils/partx.c:84
+msgid "partition name"
+msgstr "назва розділŃ"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+msgid "partition UUID"
+msgstr "UUID розділŃ"
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr "тип таблиці розділів (dos, gpt, ...)"
+
+#: disk-utils/partx.c:87
+msgid "partition flags"
+msgstr "прапорці розділŃ"
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr "ŃŃ–Ńтнадцятковий тип Ń€ĐľĐ·Đ´Ń–Đ»Ń Đ°Đ±Đľ uuid"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+msgid "failed to initialize loopcxt"
+msgstr "не вдалоŃŃŹ ініціалізŃвати loopcxt"
+
+#: disk-utils/partx.c:110
+#, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: не вдалоŃŃŹ знайти невикориŃтаний петльовий (loop) приŃтрій"
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "Спроба викориŃтання «%s» ŃŹĐş петльового (loop) приŃтрою\n"
+
+#: disk-utils/partx.c:118
+#, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: не вдалоŃŃŹ вŃтановити резервний файл"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s: не вдалоŃŃŹ налаŃŃ‚Ńвати петльовий (loop) приŃтрій"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "невідомий Ńтовпчик: %s"
+
+#: disk-utils/partx.c:200
+#, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s: не вдалоŃŃŹ отримати номер розділŃ"
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr "%s: помилка під Ń‡Đ°Ń Ńпроби вилŃчення Ń€ĐľĐ·Đ´Ń–Đ»Ń %d"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "%s: помилка під Ń‡Đ°Ń Ńпроби вилŃчення розділів %d-%d"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr "вказаний діапазон <%d:%d> не ĐĽĐ°Ń” ŃенŃŃ"
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "%s: розділ %d вилŃчено\n"
+
+#: disk-utils/partx.c:304
+#, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "%s: Ń€ĐľĐ·Đ´Ń–Đ»Ń %d вже не Ń–ŃĐ˝ŃŃ”\n"
+
+#: disk-utils/partx.c:309
+#, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "%s: Ńпроба вилŃчення Ń€ĐľĐ·Đ´Ń–Đ»Ń %d зазнала невдачі"
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr "%s: помилка під Ń‡Đ°Ń Đ´ĐľĐ´Đ°Đ˛Đ°Đ˝Đ˝ŃŹ Ń€ĐľĐ·Đ´Ń–Đ»Ń %d"
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "%s: помилка під Ń‡Đ°Ń Đ´ĐľĐ´Đ°Đ˛Đ°Đ˝Đ˝ŃŹ розділів %d-%d"
+
+#: disk-utils/partx.c:368
+#, c-format
+msgid "%s: partition #%d added\n"
+msgstr "%s: додано розділ %d\n"
+
+#: disk-utils/partx.c:373
+#, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s: Ńпроба додавання Ń€ĐľĐ·Đ´Ń–Đ»Ń %d зазнала невдачі"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr "#%2d: %9ju-%9ju (%9ju Ńекторів, %6ju МБ)\n"
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr "не вдалоŃŃŹ додати рядок Đ´Đľ виведених даних"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr "не вдалоŃŃŹ ініціалізŃвати таблицю виведення даних"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr "не вдалоŃŃŹ ініціалізŃвати Ńтовпчик виведення"
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "не вдалоŃŃŹ ініціалізŃвати фільтр ідентифікаторів блоків для «%s»"
+
+#: disk-utils/partx.c:585
+#, c-format
+msgid "%s: failed to read partition table"
+msgstr "%s: не вдалоŃŃŹ прочитати таблицю розділів"
+
+#: disk-utils/partx.c:591
+#, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr "%s: виявлено тип таблиці розділів «%s»\n"
+
+#: disk-utils/partx.c:595
+#, c-format
+msgid "%s: partition table with no partitions"
+msgstr "%s: таблиця розділів без розділів"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr " %s [-a|-d|-s] [--nr <n:m> | <розділ>] <диŃĐş>\n"
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --add додати вказані розділи або вŃŃ– розділи\n"
+" -d, --delete вилŃчити вказані розділи або вŃŃ– розділи\n"
+" -l, --list вивеŃти ŃпиŃок розділів (Đ—ĐСТĐРІЛĐĐ™)\n"
+" -s, --show вивеŃти ŃпиŃок розділів\n"
+"\n"
+" -b, --bytes вивеŃти РОЗМІР Ń Đ±Đ°ĐąŃ‚Đ°Ń…, Đ° не Ń Đ·Ń€ŃŃ‡Đ˝ĐľĐĽŃ Đ´Đ»ŃŹ читання "
+"форматі\n"
+" -g, --noheadings не виводити заголовки для --show\n"
+" -n, --nr <n:m> вказати діапазон розділів (наприклад, --nr 2:4)\n"
+" -o, --output <тип> визначити, які Ńтовпчики Ńлід викориŃтовŃвати для "
+"виведення\n"
+" -P, --pairs викориŃтовŃвати формат виведення ключ=\"значення\"\n"
+" -r, --raw викориŃтовŃвати формат виведення без обробки\n"
+" -t, --type <тип> вказати тип Ń€ĐľĐ·Đ´Ń–Đ»Ń (dos, bsd, solaris тощо)\n"
+" -v, --verbose докладний режим виведення\n"
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+"\n"
+"ДоŃŃ‚Ńпні Ńтовпчики (для --show, --raw або --pairs):\n"
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr "не вдалоŃŃŹ обробити діапазон --nr <M-N>"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "--nr Ń– <розділ> не можна викориŃтовŃвати одночаŃно"
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr "розділ: %s, диŃĐş: %s, нижній: %d, верхній: %d\n"
+
+#: disk-utils/partx.c:829
+#, c-format
+msgid "%s: cannot delete partitions"
+msgstr "%s: не вдалоŃŃŹ вилŃчити розділи"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+"%s: підтримки петльових (loop) приŃтроїв, поділених на розділи, не "
+"передбачено"
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "%s: не вдалоŃŃŹ ініціалізŃвати зондŃвальник ідентифікаторів блоків"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+" %1$s %2$srawN <ĐľŃновний> <Đ´Ń€Ńгорядний>\n"
+" %1$s %2$srawN /dev/<блоковий приŃтрій>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr " -q, --query вŃтановити режимі запитŃ\n"
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr " -a, --all опитати вŃŃ– необроблені приŃтрої\n"
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+"ПриŃтрій «%s» не контрольним необробленим приŃтроєм (ŃкориŃтайтеŃŃŹ raw<N>, "
+"де <N> Ń” більŃим Đ·Đ° Đ˝Ńль)"
+
+#: disk-utils/raw.c:178
+#, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Не вдалоŃŃŹ визначити розтаŃŃвання блокового приŃтрою «%s»"
+
+#: disk-utils/raw.c:181
+#, c-format
+msgid "Device '%s' is not a block device"
+msgstr "ПриŃтрій «%s» не Ń” блоковим приŃтроєм"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+msgid "failed to parse argument"
+msgstr "не вдалоŃŃŹ обробити аргŃмент"
+
+#: disk-utils/raw.c:210
+#, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Не вдалоŃŃŹ відкрити ĐľŃновний необроблений приŃтрій «%s»"
+
+#: disk-utils/raw.c:225
+#, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "Не вдалоŃŃŹ визначити розтаŃŃвання необробленого приŃтрою «%s»"
+
+#: disk-utils/raw.c:228
+#, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "Необроблений приŃтрій «%s» не Ń” Ńимвольним приŃтроєм"
+
+#: disk-utils/raw.c:232
+#, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "ПриŃтрій «%s» не Ń” необробленим приŃтроєм"
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr "Помилка під Ń‡Đ°Ń Ńпроби опитŃвання необробленого приŃтрою"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr "%sraw%d: прив’язатиŃŃŹ Đ´Đľ ĐľŃновного %d, додаткового %d\n"
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr "Помилка під Ń‡Đ°Ń Ńпроби налаŃтовŃвання необробленого приŃтрою"
+
+#: disk-utils/resizepart.c:18
+#, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr " %s <диŃковий приŃтрій> <номер розділŃ> <довжина>\n"
+
+#: disk-utils/resizepart.c:98
+#, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s: не вдалоŃŃŹ отримати значення ĐżĐľŃ‡Đ°Ń‚ĐşŃ Ń€ĐľĐ·Đ´Ń–Đ»Ń Đ· номером %s"
+
+#: disk-utils/resizepart.c:103
+msgid "failed to resize partition"
+msgstr "не вдалоŃŃŹ змінити розміри розділŃ"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr "%s: не вдалоŃŃŹ виконати зондŃвання приŃтрою"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr "%s: неоднозначний резŃльтат зондŃвання, ŃкориŃтайтеŃŃŹ wipefs(8)"
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: не Ń” коректним розділом ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ (резервної пам’яті)"
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: непідтримŃвана верŃŃ–ŃŹ ŃвопінгŃ, «%s»"
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr "не вдалоŃŃŹ обробити UUID: %s"
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: не вдалоŃŃŹ вŃтановити позицію Đ´Đľ UUID ŃвопінгŃ"
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: не вдалоŃŃŹ запиŃати UUID"
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: не вдалоŃŃŹ вŃтановити позицію на ĐĽŃ–Ń‚ĐşŃ ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ "
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr "мітка Ń” надто довгою. Її бŃде обрізано Đ´Đľ '%s'"
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr "%s: не вдалоŃŃŹ запиŃати етикеткŃ"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+" -L, --label <мітка> вказати Đ˝ĐľĐ˛Ń ĐĽŃ–Ń‚ĐşŃ\n"
+" -U, --uuid <uuid> вказати новий uuid\n"
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "ігнорŃвати -U (UUID не підтримŃŃŽŃ‚ŃŚŃŃŹ)"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: НедоŃтатньо пам'ŃŹŃ‚Ń–!\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Не викориŃтано"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Вільний проŃŃ‚Ń–Ń€"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "ДиŃĐş бŃло змінено.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Перезавантажте ŃиŃŃ‚ĐµĐĽŃ Ń‰ĐľĐ± впевнитиŃŃŚ, що таблиця розділів коректно "
+"оновлена.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"ĐŁĐ’ĐĐ“Đ: Якщо ви Ńтворили або змінити бŃĐ´ŃŚ-які\n"
+"DOS 6.x розділи, перегляньте man ŃŃ‚ĐľŃ€Ń–Đ˝ĐşŃ Đ· cfdisk\n"
+"щоб отримати докладніŃŃ Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–ŃŽ.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "ФĐТĐЛЬНРПОМĐЛКĐ"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "НатиŃніть бŃĐ´ŃŚ-ŃŹĐşŃ ĐşĐ»Đ°Đ˛Ń–ŃŃ Đ´Đ»ŃŹ заверŃення cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Помилка позиціювання на диŃĐşĐľĐ˛ĐľĐĽŃ ĐżŃ€Đ¸Ńтрої"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "не вдалоŃŃŹ прочитати диŃковий приŃтрій"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "не вдалоŃŃŹ запиŃати на диŃковий приŃтрій"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Надто багато розділів"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Розділ починаєтьŃŃŹ перед Ńектором 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Розділ закінчŃєтьŃŃŹ перед Ńектором 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Розділ починаєтьŃŃŹ піŃля кінця диŃка"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Розділ закінчŃєтьŃŃŹ піŃля кінця диŃка"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "логічні розділи не Ń Ń‚ĐľĐĽŃ ĐżĐľŃ€ŃŹĐ´ĐşŃ ŃŹĐş на диŃка"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "логічні розділи перекриваютьŃŃŹ"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "збільŃені логічні розділи перекриваютьŃŃŹ"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Đ’Đ˝ŃтріŃня помилка Ńтворення логічного приŃтрою без розŃиреного "
+"Ń€ĐľĐ·Đ´Ń–Đ»Ń !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"не вдалоŃŃŹ Ńтворити Ń‚ŃŃ‚ логічний приŃтрій -- бŃде Ńтворено два розŃирених "
+"розділи"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "ĐźŃнкт меню надто довгий. Меню виглядатиме дивно."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Неправильний ключ"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "НатиŃніть бŃĐ´ŃŚ-ŃŹĐşŃ ĐşĐ»Đ°Đ˛Ń–ŃŃ Đ´Đ»ŃŹ продовження"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "Первинний"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Створити новий розділ"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "Логічний"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Створити новий логічний приŃтрій"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "СкаŃŃвати"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Не Ńтворювати розділ"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Đ’Đ˝ŃтріŃня помилка !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Розмір (Ń MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Початок"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Додати розділ на ĐżĐľŃ‡Đ°Ń‚ĐşŃ Đ˛Ń–Đ»ŃŚĐ˝ĐľĐłĐľ проŃторŃ"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Кінець"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Додати розділ наприкінці вільного проŃторŃ"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "НедоŃтатньо проŃŃ‚ĐľŃ€Ń Đ´Đ»ŃŹ Ńтворення розŃиреного розділŃ"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Đ’Ń–Đ´ŃŃтня таблиця розділів.\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Đ’Ń–Đ´ŃŃтня таблиця розділів або невідома ŃигнатŃра таблиці розділів."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Неправильна ŃигнатŃра таблиці розділів"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "Таблиця розділів невідомого типŃ"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Бажаєте почати Đ· Đ˝Ńльової таблиці [y/N] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Ви вказали більŃе циліндрів ніж Ń” на диŃка"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "не вдалоŃŃŹ відкрити приŃтрій диŃка"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Відкритий диŃĐş лиŃе для читання - Ń Đ˛Đ°Ń Đ˝ĐµĐĽĐ°Ń” прав для запиŃŃ"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Увага! Виявлено непідтримŃĐ˛Đ°Đ˝Ń GPT (GUID Partition Table або таблицю "
+"розділів GUID). СкориŃтайтеŃŃŹ GNU Parted."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "не вдалоŃŃŹ отримати розмір диŃка"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Неправильний первинний розділ"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Неправильний логічний розділ"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Увага!! Це може знищити дані на диŃĐşŃ!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Ви впевнені, що бажаєте запиŃати таблицю розділів на диŃĐş? (yes або no): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "no"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Не запиŃŃвати таблицю розділів на диŃĐş"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "yes"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Введіть `yes'(так) або `no'(ні)"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "ЗапиŃŃєтьŃŃŹ таблиця розділів на диŃĐş..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "Таблиця розділів запиŃана на диŃĐş"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Таблицю розділів запиŃано, але ŃталаŃŃŹ помилка при Ń—Ń— перечитŃванні. "
+"Виконайте partprobe(8), kpartx(8) або перезавантажте ŃиŃŃ‚ĐµĐĽŃ Đ´Đ»ŃŹ оновлення "
+"таблиці."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Немає первинних розділів позначених ŃŹĐş завантажŃвальні. DOS MBR не зможе "
+"завантажŃватиŃŃŚ."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Đ‘Ń–Đ»ŃŚŃ Đ˝Ń–Đ¶ один розділ позначений ŃŹĐş завантажŃвальний. DOS MBR не зможе "
+"завантажŃватиŃŃŚ."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Введіть Đ˝Đ°Đ·Đ˛Ń Ń„Đ°ĐąĐ»Ń Đ°Đ±Đľ натиŃніть Enter, щоб відобразити екран: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "ДиŃковий приŃтрій: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "Сектор 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Сектор %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " Немає "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " Перв/Лог "
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " Первинний"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " Логічний "
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "Невідомий"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Заван."
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "Немає"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Таблиця розділів для %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " ПерŃий ĐžŃтанній\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Тип Сектор Сектор Đ—ŃŃв Довжина Тип файл. ŃиŃтеми(ID) Ознаки\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ---Початок--- ----Кінець---- Початок Кільк.\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # Прапор Гол Сект Цил ID Гол Сект Цил Сектор Секторів\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Неформатов."
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "ВивеŃти таблицю Ń 'неформатованомŃ' вигляді"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "Сектори"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "ВивеŃти таблицю ŃĐľŃ€Ń‚ĐľĐ˛Đ°Đ˝Ń Đ·Đ° Ńекторами"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Таблиця"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "ПроŃŃ‚Đľ вивеŃти таблицю розділів"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Не виводити таблицю"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Екран з довідкою для cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Це cfdisk - конŃольна програма роботи Đ· розділами на базі curses, яка"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "дозволяє Ńтворювати, видаляти Ń‚Đ° змінювати розділи ваŃого"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "жорŃткого диŃка."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Команда Призначення"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -----------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b ПеремикнŃти ĐľĐ·Đ˝Đ°ĐşŃ Đ·Đ°Đ˛Đ°Đ˝Ń‚Đ°Đ¶ĐµĐ˝Đ˝ŃŹ поточного розділŃ"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Видалити поточний розділ"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g Змінити параметри: циліндри, головки, Ńектори-на-доріжкŃ"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " ĐŁĐ’ĐĐ“Đ: Цей параметр повинен викориŃтовŃватиŃŃŚ лиŃе людьми"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " які знають, що вони роблять."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h ВивеŃти цю довідкŃ"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m МакŃимізŃвати викориŃтання диŃка поточним розділом"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Đ—Đ°Ńважте: це може зробити розділ неŃŃĐĽŃ–Ńним Đ·"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Створити новий розділ Ń Đ˛Ń–Đ»ŃŚĐ˝ĐľĐĽŃ ĐżŃ€ĐľŃторі"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p ВивеŃти таблицю розділів на екран або Ń Ń„Đ°ĐąĐ»"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Đ„ декілька форматів Đ˛Đ¸Đ˛ĐľĐ´Ń Ń€ĐľĐ·Đ´Ń–Đ»Ń–Đ˛:"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " "
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - не форматовані дані (Ń Đ˛Đ¸ĐłĐ»ŃŹĐ´Ń–, в ŃŹĐşĐľĐĽŃ Đ˛ĐľĐ˝Đ¸ запиŃŃŃ‚ŃŚŃŃŹ "
+"на диŃĐş)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Таблиця Ńортована по Ńекторам"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - таблиця не форматованих даних"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Вийти Đ· програми без запиŃŃ Ń‚Đ°Đ±Đ»Đ¸Ń†Ń– розділів"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Змінити тип файлової ŃиŃтеми"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Змінити одиниці вимірювання Ń€ĐľĐ·ĐĽŃ–Ń€Ń Ń€ĐľĐ·Đ´Ń–Đ»Ń–Đ˛"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Перемикає між Мб, Ńекторами Ń‚Đ° циліндрами"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+" W ЗапиŃати таблицю розділів на диŃĐş ( W повинен бŃти в Đ˛ĐµŃ€Ń…Đ˝ŃŚĐľĐĽŃ "
+"регіŃтрі)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Це може Đ·Ń€ŃйнŃвати дані на диŃĐşŃ, Ń‚ĐľĐĽŃ Đ˝ĐµĐľĐ±Ń…Ń–Đ´Đ˝Đľ або"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " підтвердити або відмовитиŃŃŚ від запиŃŃ Đ˝Đ°Đ±Ń€Đ°Đ˛Ńи `yes' чи "
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " `no'"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "ĐˇŃ‚Ń€Ń–Đ»ĐşĐ°Đ’ĐłĐľŃ€Ń ĐźĐµŃ€ĐµĐĽŃ–Ńтити ĐşŃŃ€Ńор на попередню позицію"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "СтрілкаВниз ПереміŃтити ĐşŃŃ€Ńор Ń Đ˝Đ°ŃŃ‚ŃĐżĐ˝Ń ĐżĐľĐ·Đ¸Ń†Ń–ŃŽ"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Оновлює вміŃŃ‚ екранŃ"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Виводить цю довідкŃ"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Đ—Đ°Ńважте: Đ’ŃŃ– команди вводятьŃŃŹ або Ń Đ˝Đ¸Đ¶Đ˝ŃŚĐľĐĽŃ Đ°Đ±Đľ Ń Đ˛ĐµŃ€Ń…Đ˝ŃŚĐľĐĽŃ"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "регіŃтрах (Đ·Đ° винятком (W)запиŃŃ)."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Циліндрів"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Змінити геометрію циліндра"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Головки"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Змінити геометрію головки"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Змінити геометрію ŃекторŃ"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Виконано"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "ЗаверŃити Đ·ĐĽŃ–Đ˝Ń ĐłĐµĐľĐĽĐµŃ‚Ń€Ń–Ń—"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Введіть кількіŃŃ‚ŃŚ циліндрів: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "НедопŃŃтиме значення циліндрів"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Введіть геометрію головок: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "НедопŃŃтиме значення головок"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Введіть кількіŃŃ‚ŃŚ Ńекторів на доріжкŃ: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "НедопŃŃтиме значення Ńекторів"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Введіть тип файлової ŃиŃтеми: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Тип ФС не може бŃти порожнім"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Не можна змінювати тип ФС на розŃирений"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Невід(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", НК"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "НК"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "Перв/Лог"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Невідомий (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "ПриŃтрій диŃка: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Розмір: %lld байт, %lld Мб"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Розмір: %lld байт, %lld.%lld Гб"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Головок: %d Секторів на доріжкŃ: %d Циліндрів: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "Назва"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Ознаки"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Тип розд."
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Тип ФС"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[Позначка]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " Секторів"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Циліндрів"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr "Розмір (Мб)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr "Розмір (Гб)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Немає більŃе розділів"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Завантаж."
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "ПеремикнŃти ĐľĐ·Đ˝Đ°ĐşŃ Đ·Đ°Đ˛Đ°Đ˝Ń‚Đ°Đ¶ĐµĐ˝Đ˝ŃŹ поточного розділŃ"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Видалити"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Видалити поточний розділ"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Геометрія"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Змінити геометрію диŃка (лиŃе для фахівців)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Довідка"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "ВивеŃти вікно Đ· довідкою"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "МакŃимŃĐĽ"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "МакŃимізŃвати викориŃтання диŃка поточним розділом (для фахівців)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Новий"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Створити новий розділ Ń Đ˛Ń–Đ»ŃŚĐ˝ĐľĐĽŃ ĐżŃ€ĐľŃторі"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "ВивеŃти"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "ВивеŃти таблицю розділів на екран або Ń Ń„Đ°ĐąĐ»"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Вихід"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Вийти Đ· програми без запиŃŃ Ń‚Đ°Đ±Đ»Đ¸Ń†Ń– розділів"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Тип"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Змінити тип файлової ŃиŃтеми (DOS, Linux, OS/2 Ń‚Đ° Ń–Đ˝.)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Одиниці"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Змінити одиниці вимірювання розмірів Ń€ĐľĐ·Đ´Ń–Đ»Ń (МБ. Ńект, цил)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "ЗапиŃати"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "ЗапиŃати таблицю розділів на диŃĐş (може Đ·Ń–ĐżŃŃвати дані)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "не вдалоŃŃŹ зробити розділ завантажŃвальним"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "не вдалоŃŃŹ видалити порожній розділ"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "не вдалоŃŃŹ ĐĽĐ°ĐşŃимізŃвати цей розділ"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Цей розділ не викориŃтовŃєтьŃŃŹ"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Цей розділ вже викориŃтовŃєтьŃŃŹ"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "не вдалоŃŃŹ змінити тип порожнього розділŃ"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Неправильна команда"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+"Вивід верŃŃ–Ń—:\n"
+" %s -v\n"
+"Вивід таблиці розділів:\n"
+" %s -P {r|s|t} [параметри] приŃтрій\n"
+"Інтерактивне викориŃтання:\n"
+" %s [параметри] приŃтрій\n"
+"\n"
+"Параметри:\n"
+"-a: викориŃтовŃвати Ńтрілки Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ підŃвічŃвання;\n"
+"-z: Почати Đ· Đ˝Ńльової таблиці розділів, Đ° не читати Ń—Ń— Đ· диŃĐşŃ;\n"
+"-c Ц -h Đ“ -s С: Перевизначити ĐľŃ‚Ń€Đ¸ĐĽĐ°Đ˝Ń Đ˛Ń–Đ´ ядра кількіŃŃ‚ŃŚ циліндрів,\n"
+" кількіŃŃ‚ŃŚ головок Ń‚Đ° кількіŃŃ‚ŃŚ Ńекторів/доріжкŃ.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+msgid "cannot parse number of cylinders"
+msgstr "не вдалоŃŃŹ обробити значення кількоŃŃ‚Ń– циліндрів"
+
+#: fdisks/cfdisk.c:2789
+msgid "cannot parse number of heads"
+msgstr "не вдалоŃŃŹ обробити значення кількоŃŃ‚Ń– голівок"
+
+#: fdisks/cfdisk.c:2796
+msgid "cannot parse number of sectors"
+msgstr "не вдалоŃŃŹ обробити значення кількоŃŃ‚Ń– Ńекторів"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tНа Ń†ŃŚĐľĐĽŃ Đ´Đ¸ŃĐşŃ Đ·Đ˝Đ°ĐąĐ´ĐµĐ˝Đľ ĐżŃ€Đ°Đ˛Đ¸Đ»ŃŚĐ˝Ń ĐµŃ‚Đ¸ĐşĐµŃ‚ĐşŃ AIX диŃка.\n"
+"\tНажаль наразі Linux не підтримŃŃ” цей тип диŃків.\n"
+"\tПроте деякі поради:\n"
+"\t1. fdisk знищить вміŃŃ‚ при запиŃŃ.\n"
+"\t2. Перевірте, що цей диŃĐş НЕ Ń” життєво\n"
+"\t необхідною чаŃтиною грŃпи томів. (ĐŁ Ń–Đ˝ŃĐľĐĽŃ Đ˛Đ¸ĐżĐ°Đ´ĐşŃ\n"
+"\t також можна Ńтерти Ń–Đ˝ŃŃ– диŃки.)\n"
+"\t3. Перед видаленням цього фізичного Ń‚ĐľĐĽŃ ĐżĐµŃ€ĐµĐşĐľĐ˝Đ°ĐąŃ‚ĐµŃŃŚ що\n"
+"\t диŃко логічно видалений Đ· AIX\n"
+"\t ŃиŃтеми. (ĐŁ Ń–Đ˝ŃĐľĐĽŃ Đ˛Đ¸ĐżĐ°Đ´ĐşŃ Đ˛Đ¸ Ńтанете фахівцем Đ· AIX)."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tПробачте - ця програма fdisk не підтримŃŃ” AIX етикетки диŃка.\n"
+"\tЯкщо ви бажаєте додати DOS розділи, Ńтворіть ŃĐżĐľŃ‡Đ°Ń‚ĐşŃ Đ˝ĐľĐ˛Ń\n"
+"\tDOS таблицю розділів. (ВикориŃтовŃйте ĐşĐľĐĽĐ°Đ˝Đ´Ń o.)\n"
+"\tĐ—ĐСТЕРЕЖЕННЯ: Це призведе Đ´Đľ знищення поточного вміŃŃ‚Ń Đ´Đ¸Ńка.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD етикетка приŃтрою: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Đ—Đ°ĐżĐ¸Ń ĐµŃ‚Đ¸ĐşĐµŃ‚ĐşĐ¸ диŃка Ń %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "ПерŃий %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "ĐžŃтанній %s або +size або +sizeM або +sizeK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s не ĐĽŃ–Ńтить етикетки диŃка.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Створити Đ˝ĐľĐ˛Ń ĐµŃ‚Đ¸ĐşĐµŃ‚ĐşŃ Đ´Đ¸Ńка? (y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Розділ %s ĐĽĐ°Ń” Đ˝ĐµĐżŃ€Đ°Đ˛Đ¸Đ»ŃŚĐ˝Ń ĐşŃ–Đ»ŃŚĐşŃ–ŃŃ‚ŃŚ Ńекторів 0.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "ЧитаєтьŃŃŹ етикетка диŃка %s Đ· ŃĐµĐşŃ‚ĐľŃ€Ń %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Немає *BSD розділів на %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Команда Ń€ĐµĐ¶Đ¸ĐĽŃ BSD етикетки диŃка (m - довідка): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "тип: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "тип: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "диŃĐş: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "етикетка: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "ознаки:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " змінний"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " поŃĐş.Ńект"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "байт/Ńектор: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "Ńекторів/доріжкŃ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "доріжок/циліндр: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "векторів/циліндр: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "циліндрів: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "об/хв: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "чергŃвання: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "доріжк.Ńхил: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "циліндр.Ńхил: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "перемик.головок: %ld\t\t# міліŃекŃнд\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "перех.наŃŃ‚.доріжки: %ld\t# міліŃекŃнд\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "дані:"
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d розділів:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# початок кінець розмір тип Ń„Ń [розм.Ń„Ń Ń€ĐľĐ·ĐĽ.бл cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "байт/Ńектор"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "Ńекторів/доріжкŃ"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "доріжок/циліндр"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "циліндри"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "Ńекторів/циліндр"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Повинно бŃти <= Ńекторів/Đ´ĐľŃ€Ń–Đ¶ĐşŃ * доріжок/циліндр (типово).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "об/хв"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "чергŃвання"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "доріжк.Ńхил"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "циліндр.Ńхил"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "перех.головок"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "перех.наŃŃ‚.доріжки"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap перекриваєтьŃŃŹ Đ· етикеткою диŃка!\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Đ’Ńтановлено Ń %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Розділ (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Вже Ńтворено ĐĽĐ°ĐşŃĐ¸ĐĽĐ°Đ»ŃŚĐ˝Ń ĐşŃ–Đ»ŃŚĐşŃ–ŃŃ‚ŃŚ розділів\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Цей розділ вже Ń–ŃĐ˝ŃŃ”.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Попередження: надто багато розділів (%d, ĐĽĐ°ĐşŃимŃĐĽ - %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"СинхронізŃŃŽŃ‚ŃŚŃŃŹ диŃки.\n"
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr "перемкнŃти прапорець завантажŃваноŃŃ‚Ń–"
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr "перемикнŃти прапорець «лиŃе-для-читання»"
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr "вибрати завантажŃвальний розділ"
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr "змінити кількіŃŃ‚ŃŚ запаŃних циліндрів"
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr "змінити диŃĐşĐľĐ˛Ń ĐĽŃ–Ń‚ĐşŃ bsd"
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr "редагŃвати Đ·Đ°ĐżĐ¸Ń Đ·Đ°Đ˛Đ°Đ˝Ń‚Đ°Đ¶Ńвального файла"
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr "переміŃтити початок даних на розділі"
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr "перемикнŃти прапорець ŃŃĐĽŃ–ŃноŃŃ‚Ń– Đ· dos"
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr "перемикнŃти прапорець монтŃвання"
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr "вибрати sgi-розділ ŃвопінгŃ"
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr "змінити кількіŃŃ‚ŃŚ циліндрів"
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr "вилŃчити розділ"
+
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr "вивеŃти таблицю розділів Ń Đ˝ĐµŃ„ĐľŃ€ĐĽĐ°Ń‚ĐľĐ˛Đ°Đ˝ĐľĐĽŃ Đ˛Đ¸ĐłĐ»ŃŹĐ´Ń–"
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr "змінити кількіŃŃ‚ŃŚ додаткових Ńекторів на циліндр"
+
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr "показати ŃпиŃок розŃирених розділів"
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr "змінити дані диŃка"
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr "виправити порядок розділів"
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr "Ńтворити таблицю розділів IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr "змінити кількіŃŃ‚ŃŚ головок"
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr "змінити коефіцієнт чергŃвання"
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr "змінити ідентифікатор диŃка"
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr "вŃтановити початковий завантажŃвач"
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr "показати ŃпиŃок відомих типів розділів"
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr "вивеŃти це меню"
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr "додати новий розділ"
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr "Ńтворити Đ˝ĐľĐ˛Ń ĐżĐľŃ€ĐľĐ¶Đ˝ŃŽ таблицю розділів DOS"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr "змінити ŃвидкіŃŃ‚ŃŚ обертання (об./хв.)"
+
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr "вивеŃти таблицю розділів"
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr "вийти без збереження змін"
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr "повернŃтиŃŃŚ Đ´Đľ головного меню"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr "Ńтворити Đ˝ĐľĐ˛Ń ĐżĐľŃ€ĐľĐ¶Đ˝ŃŽ ĐĽŃ–Ń‚ĐşŃ Đ´Đ¸Ńка Sun"
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr "змінити кількіŃŃ‚ŃŚ Ńекторів/доріжкŃ"
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr "показати ĐĽŃ–Ń‚ĐşŃ Đ´Đ¸Ńка повніŃŃ‚ŃŽ"
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr "змінити ідентифікатор Ń ŃиŃтемі для розділŃ"
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr "змінити одиниці показŃ/введення"
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr "перевірити таблицю розділів"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr "запиŃати таблицю на диŃĐş Ń– вийти"
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr "запиŃати ĐµŃ‚Đ¸ĐşĐµŃ‚ĐşŃ Đ´Đ¸Ńка на диŃĐş"
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr "додаткові Ń„Ńнкціональні можливоŃŃ‚Ń– (лиŃе для фахівців)"
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr "прив’язŃвання Ń€ĐľĐ·Đ´Ń–Đ»Ń BSD Đ´Đľ розділŃ, що не належить Đ´Đľ Ń‚Đ¸ĐżŃ BSD"
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr "змінити розмір фізичних циліндрів"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+"КориŃŃ‚Ńвання:\n"
+" %1$s [параметри] <диŃĐş> змінити таблицю розділів\n"
+" %1$s [параметри] -l <диŃĐş> показати ŃпиŃок таблиць розділів\n"
+" %1$s -s <розділ> вказати розміри розділів Ń Đ±Đ»ĐľĐşĐ°Ń…\n"
+"\n"
+"Параметри:\n"
+" -b <розмір> розмір Ńектора (512, 1024, 2048 або 4096)\n"
+" -c[=<ражим>] режим ŃŃĐĽŃ–ŃноŃŃ‚Ń–: 'dos' або 'nondos' (типовий)\n"
+" -h вивеŃти це довідкове повідомлення\n"
+" -u[=<одиниця>] одиниці показŃ: 'cylinders' або 'sectors' (типова)\n"
+" -v вивеŃти дані щодо верŃŃ–Ń— програми\n"
+" -C <кількіŃŃ‚ŃŚ> вказати кількіŃŃ‚ŃŚ циліндрів\n"
+" -H <кількіŃŃ‚ŃŚ> вказати кількіŃŃ‚ŃŚ голівок\n"
+" -S <кількіŃŃ‚ŃŚ> вказати кількіŃŃ‚ŃŚ Ńекторів на доріжкŃ\n"
+"\n"
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr "не вдалоŃŃŹ прочитати %s"
+
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr "не вдалоŃŃŹ виконати позиціювання Đ´Đľ %s"
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr "не вдалоŃŃŹ запиŃати %s"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "помилка ioctl BLKGETSIZE на %s"
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr "критична помилка"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Команда дія"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Необхідно вŃтановити"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "головки"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "Ńектори"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Ви можете зробити це Đ· меню додаткових Ń„Ńнкцій.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " Ń‚Đ° "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"ПОПЕРЕДЖЕННЯ: розмір цього диŃка дорівнює %d,%d ТБ (%llu байтів).\n"
+"Формат таблиці розділів DOS не можна викориŃтовŃвати для диŃків Đ·\n"
+"томами, більŃими Đ·Đ° (%llu байтів) для %ld-байтових Ńекторів.\n"
+"СкориŃтайтеŃŃŹ parted(1) Ń– форматом таблиці розділів GUID (GPT).\n"
+"\n"
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+"\n"
+"ПриŃтроєм повідомляєтьŃŃŹ про розмір логічного Ńектора, який Ń”\n"
+"менŃим Đ·Đ° розмір фізичного Ńектора. РекомендŃємо вам ŃкориŃтатиŃŃŹ\n"
+"вирівнюванням Đ·Đ° розміром фізичного Ńектора (оптимальним розміром\n"
+"введення-виведення), інакŃе може поŃтраждати Ńвидкодія.\n"
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"ПОПЕРЕДЖЕННЯ: режим ŃŃĐĽŃ–ŃноŃŃ‚Ń– Đ· DOS вважаєтьŃŃŹ Đ·Đ°Ńтарілим. Наполегливо\n"
+" рекомендŃємо вам вимкнŃти цей режим (Đ·Đ° допомогою команди «c»)."
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+"\n"
+"ПОПЕРЕДЖЕННЯ: циліндри, ŃŹĐş одиниці показŃ, вважаютьŃŃŹ Đ·Đ°Ńтарілими. "
+"СкориŃтайтеŃŃŹ\n"
+" командою «u», щоб змінити одиниці на Ńектори.\n"
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr "Ви Ńправді хочете вийти? "
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "ШіŃтнадцятковий код (наберіть L щоб переглянŃти перелік кодів)"
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, типово %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "НепідтримŃваний ŃŃŃ„Ń–ĐşŃ: '%s'.\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"ПідтримŃвані: 10^N: KB (кілобайт), MB (мегабайт), GB (гігабайт)\n"
+" 2^N: K (кібібайт), M (мебібайт), G (гібібайт)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "ВикориŃтовŃєтьŃŃŹ типове значення %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Значення Đ·Đ° межами діапазонŃ.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Номер розділŃ"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Попередження: розділ %d ĐĽĐ°Ń” порожнє поле типŃ\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Вибраний розділ %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ще не визначено жодного розділŃ!\n"
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "циліндр"
+msgstr[1] "циліндри"
+msgstr[2] "циліндрів"
+msgstr[3] "циліндр"
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "Ńектор"
+msgstr[1] "Ńектори"
+msgstr[2] "Ńекторів"
+msgstr[3] "Ńектор"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Зміна одиниць ĐżĐľĐşĐ°Đ·Ń Ń– виведення на циліндри (Đ—ĐСТĐРІЛЕ!)\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Зміна одиниць ĐżĐľĐşĐ°Đ·Ń Ń– введення на Ńектори\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ĐŁĐ’ĐĐ“Đ: Розділ %d Ń” розŃиреним розділом\n"
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "Đ’Ńтановлено прапорець ŃŃĐĽŃ–ŃноŃŃ‚Ń– Đ· DOS (Đ—ĐСТĐРІЛЕ!)\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "ĐžĐ·Đ˝Đ°ĐşŃ ŃŃĐĽŃ–ŃноŃŃ‚Ń– Đ· DOS не вŃтановлено\n"
+
+#: fdisks/fdisk.c:841
+#, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Розділ %d вилŃчено\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Розділ %d ще не Ń–ŃĐ˝ŃŃ”!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"На багатьох ŃиŃтемах тип 0 означає вільний проŃŃ‚Ń–Ń€\n"
+"(але не на Linux). Мати розділи з типом 0, \n"
+"можливо, нерозŃŃдливо. Ви можете видалити\n"
+"розділ викориŃтовŃючи ĐşĐľĐĽĐ°Đ˝Đ´Ń `d'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Не можна перетворювати первинний розділ Ń Ń€ĐľĐ·Ńирений, або навпаки\n"
+"ĐˇĐżĐľŃ‡Đ°Ń‚ĐşŃ Đ˛Đ¸Đ´Đ°Đ»Ń–Ń‚ŃŚ його.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"ОбміркŃйте варіант розтаŃŃвання Ń€ĐľĐ·Đ´Ń–Đ»Ń 3 на веŃŃŚ дик (5),\n"
+"Ń‚ĐľĐĽŃ Ń‰Đľ на це покладаютьŃŃŹ SunOS/Solaris, Ń‚Đ° Linux також це Ńприймає.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Đ’Đ°ĐĽ варто зробити розділ 9 заголовком Ń‚ĐľĐĽŃ (0), Đ°\n"
+"розділ 11 повним томом (6), ŃŹĐş це очікŃєтьŃŃŹ IRIX.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Змінено тип ŃиŃтеми Ń€ĐľĐ·Đ´Ń–Đ»Ń %d на %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Тип ŃиŃтеми Ń€ĐľĐ·Đ´Ń–Đ»Ń %d не змінено: %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "ĐŁ Ń€ĐľĐ·Đ´Ń–Đ»Ń %d відрізняютьŃŃŹ фізичний Ń‚Đ° логічний початок (не-Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " Ń„Ń–Đ·=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "логічний=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "ĐŁ Ń€ĐľĐ·Đ´Ń–Đ»Ń %d відрізняютьŃŃŹ фізичний Ń‚Đ° логічний кінці:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Розділ %i не закінчŃєтьŃŃŹ на межі циліндра.\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Розділ %i не починаєтьŃŃŹ на межі фізичного Ńектора.\n"
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"ДиŃĐş %s: %ld МБ, %lld байтів"
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"ДиŃĐş %s: %ld,%ld Đ“Đ‘, %llu байтів"
+
+#: fdisks/fdisk.c:1007
+#, c-format
+msgid ", %llu sectors\n"
+msgstr ", %llu Ńекторів\n"
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d головок, %llu Ńекторів/доріжкŃ, %llu циліндрів\n"
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Одиниці = %s з %d * %ld = %ld байтів\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "Розмір Ńектора (логічного/фізичного): %lu байтів / %lu байтів\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+"Розмір введення-виведення (мінімальний/оптимальний): %lu байтів / %lu "
+"байтів\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "Đ’Ń–Đ´ŃŃ‚ŃĐż вирівнювання: %lu байтів\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Немає що робити. Порядок вже коректний.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Виконано.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Не Ńхоже на таблицю розділів\n"
+"Можливо ви вибрали неправильний приŃтрій.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Завант Початок Кінець Блоків Ід СиŃтема\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "ПриŃтрій"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Елементи таблиці розділів не Ń Ń‚ĐľĐĽŃ ĐżĐľŃ€ŃŹĐ´ĐşŃ, ŃŹĐş на диŃĐşŃ\n"
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"ДиŃĐş %s: %d головок, %llu Ńекторів, %llu циліндрів\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "â„– Đкт Гол Сек Цил Гол Сек Цил Початок Розмір Ід\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Попередження: розділ %d ĐĽŃ–Ńтить Đ˝Ńльовий Ńектор\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Розділ %d: головка %d перевищŃŃ” ĐĽĐ°ĐşŃимŃĐĽ %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Розділ %d: Ńектор %d перевищŃŃ” ĐĽĐ°ĐşŃимŃĐĽ Ń %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Розділ %d: циліндр %d перевищŃŃ” ĐĽĐ°ĐşŃимŃĐĽ Ń %llu\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+"Розділ %d: кількіŃŃ‚ŃŚ попередніх Ńекторів %d відрізняєтьŃŃŹ від загальної %d\n"
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Đ’Ńтановлено розділ %d Ń‚Đ¸ĐżŃ %s Ń– Ń€ĐľĐ·ĐĽŃ–Ń€Ń %s\n"
+
+#: fdisks/fdisk.c:1355
+msgid "cannot write disk label"
+msgstr "не вдалоŃŃŹ запиŃати ĐĽŃ–Ń‚ĐşŃ Đ´Đ¸Ńка"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Таблиця розділів бŃла змінена!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "ВикликаєтьŃŃŹ ioctl(), щоб перечитати таблицю розділів.\n"
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"ПОПЕРЕДЖЕННЯ: Ńпроба повторного читання таблиці розділів заверŃилаŃŃŹ\n"
+"невдало, помилка %d: %m.\n"
+"Ядро продовжŃŃ” викориŃтовŃвати ŃŃ‚Đ°Ń€Ń Ń‚Đ°Đ±Đ»Đ¸Ń†ŃŽ. ĐťĐľĐ˛Ń Ń‚Đ°Đ±Đ»Đ¸Ń†ŃŽ бŃде\n"
+"викориŃтано під Ń‡Đ°Ń Đ˝Đ°ŃŃ‚Ńпного перезавантаження або Đ·Đ°ĐżŃŃĐşŃ partprobe(8)\n"
+"чи kpartx(8)\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"Đ—ĐСТЕРЕЖЕННЯ: Якщо ви Ńтворили або змінили бŃĐ´ŃŚ-які DOS 6.x\n"
+"розділи, перегляньте man-ŃŃ‚ĐľŃ€Ń–Đ˝ĐşŃ Đ· fdisk для отримання додаткової\n"
+"інформації.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Помилка закривання файлŃ\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Синхронізація диŃків.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Розділ %d не ĐĽĐ°Ń” облаŃŃ‚Ń– даних\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Новий початок даних"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Команди екŃпертного режимŃ(m - довідка): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "КількіŃŃ‚ŃŚ циліндрів"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "КількіŃŃ‚ŃŚ головок"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "КількіŃŃ‚ŃŚ Ńекторів"
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Попередження: вŃтановлюєтьŃŃŹ Đ·ŃŃв Ńектора для ŃŃĐĽŃ–ŃноŃŃ‚Ń– Đ· DOS\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"ПОПЕРЕДЖЕННЯ: на «%s» виявлено GPT (GUID Partition Table)! У програмі fdisk "
+"не передбачено підтримки GPT. СкориŃтайтеŃŃŹ GNU Parted.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "не вдалоŃŃŹ відкрити %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: невідома команда\n"
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Вітаємо Ń fdisk (%s).\n"
+"\n"
+"Зміни бŃде збережено Ń ĐżĐ°ĐĽâ€™ŃŹŃ‚Ń–, доки ви не виріŃите запиŃати Ń—Ń….\n"
+"Đ‘Ńдьте обережні Đ· викориŃтанням команди запиŃŃ.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Знайдено OSF/1 ĐµŃ‚Đ¸ĐşĐµŃ‚ĐşŃ Đ´Đ¸Ńка на %s, перехід Ń Ń€ĐµĐ¶Đ¸ĐĽ етикетки диŃка.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Команда (m - довідка): "
+
+#: fdisks/fdisk.c:1821
+msgid "invalid sector size argument"
+msgstr "некоректний аргŃмент Ń€ĐľĐ·ĐĽŃ–Ń€Ń Ńектора"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+msgid "invalid cylinders argument"
+msgstr "некоректний аргŃмент кількоŃŃ‚Ń– циліндрів"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+msgid "invalid heads argument"
+msgstr "некоректний аргŃмент кількоŃŃ‚Ń– голівок"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+msgid "invalid sectors argument"
+msgstr "некоректний аргŃмент кількоŃŃ‚Ń– Ńекторів"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Попередження: Đ· вказаним приŃтроєм повинен викориŃтовŃватиŃŃŚ параметр -b "
+"(вŃтановити розмір Ńектора)\n"
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Примітка: розмір ŃĐµĐşŃ‚ĐľŃ€Ń %ld (не %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "ПриŃтрій не ĐĽŃ–Ńтить розпізнаної таблиці розділів\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Đ’ŃŃ– первинні розділи вже бŃли визначені!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Неправильний Đ·ŃŃв Ń ĐłĐľĐ»ĐľĐ˛Đ˝ĐľĐĽŃ Ń€ĐľĐ·ŃĐ¸Ń€ĐµĐ˝ĐľĐĽŃ Ń€ĐľĐ·Đ´Ń–Đ»Ń–\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Попередження: розділи піŃля #%d пропŃŃкаютьŃŃŹ.\n"
+"Вони бŃĐ´ŃŃ‚ŃŚ видалені, якщо ви збережете цю таблицю розділів.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Попередження: додатковий вказівник Ń Ń‚Đ°Đ±Đ»Đ¸Ń†Ń– розділів %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Попередження: додаткові дані Ń Ń‚Đ°Đ±Đ»Đ¸Ń†Ń– розділів проігноровано %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "пропŃŃкаємо порожній розділ (%d)\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Ідентифікатор диŃка: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr "Đ‘ŃĐ´Ńємо Đ˝ĐľĐ˛Ń ĐĽŃ–Ń‚ĐşŃ Đ´Đ¸Ńка DOS Đ· ідентифікатором диŃка 0x%08x.\n"
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Новий ідентифікатор диŃка (поточний 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Додаткові розŃирені розділи ігнорŃŃŽŃ‚ŃŚŃŃŹ %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Попередження: неправильна ознака 0x%04x таблиці розділів %d бŃде виправлена "
+"при w(запиŃŃ)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "Розділ %d вже визначений. Видаліть його перед повторним додаванням.\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Сектор %llu вже розподілено\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Немає наявних вільних Ńекторів\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "ĐžŃтанній %1$s, +%2$s або +size{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Додавання логічного Ń€ĐľĐ·Đ´Ń–Đ»Ń %d\n"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Попередження: неправильна облаŃŃ‚ŃŚ ĐżĐľŃ‡Đ°Ń‚ĐşŃ Đ´Đ°Đ˝Đ¸Ń… Ń Ń€ĐľĐ·Đ´Ń–Đ»Ń– %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Попередження: розділ %d перекриваєтьŃŃŹ Đ· розділом %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Попередження: розділ %d порожній\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Логічний розділ %d не вміщŃєтьŃŃŹ цілком Ń Ń€ĐľĐ·Đ´Ń–Đ» %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+"Загальна кількіŃŃ‚ŃŚ розподілених Ńекторів, %llu, перевищŃŃ” ĐĽĐ°ĐşŃимальне "
+"значення, %llu\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "ЗалиŃаєтьŃŃŹ %lld нерозподілених %ld-байтових Ńекторів\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, c-format
+msgid "All primary partitions are in use\n"
+msgstr "ĐŁŃŃ– ĐľŃновні розділи вже викориŃтано\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+"Якщо вам потрібно Ńтворити більŃе Đ·Đ° чотири розділи, вам Ńлід ŃперŃŃ\n"
+"замінити ĐľŃновний розділ на розŃирений розділ.\n"
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "ĐŁŃŃ– логічні розділи зайняті\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "ДодаєтьŃŃŹ первинний розділ\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+"Тип розділŃ:\n"
+" p ĐľŃновний (ĐľŃновних %d, розŃирених %d, вільних %d)\n"
+"%s\n"
+"Виберіть (типовим є %c): "
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr " l логічний (5 або більŃе)"
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr " e розŃирений"
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr "ВикориŃтовŃємо Ń‚Đ¸ĐżĐľĐ˛Ń Đ˛Ń–Đ´ĐżĐľĐ˛Ń–Đ´ŃŚ %c\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Некоректний тип Ń€ĐľĐ·Đ´Ń–Đ»Ń Â«%c»\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tНа Ń†ŃŚĐľĐĽŃ Đ´Đ¸ŃĐşŃ Đ·Đ˝Đ°ĐąĐ´ĐµĐ˝Đľ ĐşĐľŃ€ĐµĐşŃ‚Đ˝Ń ĐĽŃ–Ń‚ĐşŃ Đ´Đ¸Ńка Mac.\n"
+"\tНа жаль, fdisk() не здатний обробляти такі диŃки.\n"
+"\tСкориŃтайтеŃŃŹ pdisk або parted, щоб змінити таблицю розділів.\n"
+"\tĐ’Ń‚Ń–ĐĽ, ĐľŃŃŚ декілька порад:\n"
+"\t1. fdisk знищить вміŃŃ‚ диŃка під Ń‡Đ°Ń Đ·Đ°ĐżĐ¸ŃŃ.\n"
+"\t2. ПереконайтеŃŃŹ, що цей диŃĐş НЕ Ń” життєво\n"
+"\t необхідною чаŃтиною грŃпи томів. (якщо це не Ń‚Đ°Đş,\n"
+"\t ви можете ненавмиŃно Ńтерти Ń–Đ˝ŃŃ– диŃки.)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tПробачте - ця програма fdisk не підтримŃŃ” Mac етикетки диŃка.\n"
+"\tЯкщо ви бажаєте додати DOS розділи, Ńтворіть ŃĐżĐľŃ‡Đ°Ń‚ĐşŃ Đ˝ĐľĐ˛Ń\n"
+"\tDOS таблицю розділів. (ВикориŃтовŃйте ĐşĐľĐĽĐ°Đ˝Đ´Ń o.)\n"
+"\tĐ—ĐСТЕРЕЖЕННЯ: Це призведе Đ´Đľ знищення поточного вміŃŃ‚Ń Đ´Đ¸Ńка.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI том"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Згідно MIPS Computer Systems, Inc етикетка не повинна ĐĽŃ–Ńтити більŃе ніж 512 "
+"байт\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Знайдено sgi ĐµŃ‚Đ¸ĐşĐµŃ‚ĐşŃ Đ´Đ¸Ńка Đ· неправильною контрольною ŃŃмою.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ДиŃĐş %s (мітка диŃка SGI): %d головок, %llu Ńекторів\n"
+"%llu циліндрів, %d фізичних циліндрів\n"
+"%d додаткових Ńекторів/цил, чергŃвання %d:1\n"
+"%s\n"
+"Одиниці Đ˛Đ¸ĐĽŃ–Ń€Ń = %s Đ· %d * %ld байтів\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ДиŃĐş %s (мітка диŃка SGI): %d головок, %llu Ńекторів, %llu циліндрів\n"
+"Одиниці Đ˛Đ¸ĐĽŃ–Ń€Ń = %s Đ· %d * %ld байтів\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- розділи -----\n"
+"Đ Đ·Đ´# %*s Інфо Початок Кінець Секторів Ід СиŃтема\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- ЗавантажŃвальна інформація -----\n"
+"ЗавантажŃвальний файл: %s\n"
+"----- Елементи ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s Ńектор%5u розмір%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Неправильний завантажŃвальний файл!\n"
+"\tЗавантажŃвальний файл повинен мати не-Đ˝Ńльовий абŃолютний Ńлях,\n"
+"\tнаприклад, \"/unix\" або \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tНазва завантажŃвального Ń„Đ°ĐąĐ»Ń Đ˝Đ°Đ´Ń‚Đľ велика: ĐĽĐ°ĐşŃимŃĐĽ 16 байт.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tЗавантажŃвальний файл повинен мати абŃолютний Ńлях.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tЗнайте, що Ń–ŃĐ˝Ńвання завантажŃвального Ń„Đ°ĐąĐ»Ń Đ˝Đµ перевіряєтьŃŃŹ.\n"
+"\tТипові для SGI - \"/unix\" та резервна копія \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Поточний файл завантаження: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Введіть Đ˝Đ°Đ·Đ˛Ń Đ˝ĐľĐ˛ĐľĐłĐľ Ń„Đ°ĐąĐ»Ń Đ·Đ°Đ˛Đ°Đ˝Ń‚Đ°Đ¶ĐµĐ˝Đ˝ŃŹ: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Файл завантаження не змінено\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tЗавантажŃвальний файл змінено на \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "ПриŃŃтній Đ±Ń–Đ»ŃŚŃ Đ˝Ń–Đ¶ один елемент диŃка.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Не визначено розділів\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX покладаєтьŃŃŹ на те, що розділ 11 займає веŃŃŚ диŃĐş.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Розділ на веŃŃŚ диŃĐş повинен починатиŃŃŚ Đ· Đ±Đ»ĐľĐşŃ 0,\n"
+"Đ° не Đ· Đ±Đ»ĐľĐşŃ Đ´Đ¸Ńка %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Розділ на веŃŃŚ диŃĐş довжиною лиŃе %d диŃкових блоків,\n"
+"але довжина диŃка Ńкладає %d диŃкових блоків.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Розділ 11 ĐĽĐ°Ń” заповнювати веŃŃŚ диŃĐş.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Розділ %d не починаєтьŃŃŹ Đ· межі циліндра.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Розділ %d не закінчŃєтьŃŃŹ на межі циліндра.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Розділи %d Ń‚Đ° %d перекриваютьŃŃŹ на %d Ńекторів.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "НевикориŃтаний проŃŃ‚Ń–Ń€ Đ· %8u Ńекторів - Ńектори %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"ЗавантажŃвальний розділ не Ń–ŃĐ˝ŃŃ”.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Đ ĐľĐ·Đ´Ń–Đ»Ń ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Đ˝Đµ Ń–ŃĐ˝ŃŃ”.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Розділ ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Đ˝Đµ належить Đ´Đľ Ń‚Đ¸ĐżŃ Ń€ĐľĐ·Đ´Ń–Đ»Ń–Đ˛ ŃвопінгŃ.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tВи вибрали Đ˝ĐµĐ·Đ˛Đ¸Ń‡Đ°ĐąĐ˝Ń Đ˝Đ°Đ·Đ˛Ń Ń„Đ°ĐąĐ»Ń Đ·Đ°Đ˛Đ°Đ˝Ń‚Đ°Đ¶ĐµĐ˝Đ˝ŃŹ.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Вибачте, змінювати теґ можна лиŃе для непорожніх розділів.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Наполегливо рекомендŃєтьŃŃŹ, щоб тип Ń€ĐľĐ·Đ´Ń–Đ»Ń Đ·Ń– Đ·ŃŃвом 0\n"
+"бŃв \"SGI volhdr\", IRIX ŃиŃтема покладаєтьŃŃŹ на це при\n"
+"отримані Đ· Ń—Ń— ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ ĐľĐşŃ€ĐµĐĽĐ¸Ń… Ńтиліт, наприклад sash Ń‚Đ° fx.\n"
+"Не дотримŃватиŃŃŚ цього можŃŃ‚ŃŚ лиŃе \"SGI volume\" на веŃŃŚ диŃĐş.\n"
+"Введіть YES, якщо ви впевнені, що хочете позначити цей розділ по-Ń–Đ˝ŃомŃ.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "YES\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Перекриття розділів на диŃĐşŃ.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Спроба Ńтворити веŃŃŚ диŃĐş автоматично.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "ВеŃŃŚ диŃĐş вже зайнятий розділами.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "На диŃĐşŃ Ń” розділи, що перекриваютьŃŃŹ. ĐˇĐżĐľŃ‡Đ°Ń‚ĐşŃ Đ˛Đ¸ĐżŃ€Đ°Đ˛Ń‚Đµ це!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Наполегливо рекомендŃєтьŃŃŹ, щоб одинадцятий розділ\n"
+"займав ŃвеŃŃŚ диŃĐş Ń‚Đ° мав тип `SGI volume'\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Đ’Đ°ŃŃ– розділи на диŃĐşŃ Đ±ŃĐ´ŃŃ‚ŃŚ перекриватиŃŃŚ. Виправте це!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " ĐžŃтанній %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr "ПобŃдова нової мітки диŃка SGI.\n"
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "помилка ioctl HDIO_GETGEO на %s"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Попередження: BLKGETSIZE ioctl заверŃивŃŃŹ аварійно на %s. ВикориŃтовŃєтьŃŃŹ "
+"значення геометрії циліндра %llu.\n"
+"Це значення може бŃти обрізане для приŃтроїв > 33,8 Đ“Đ‘.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ІД=%02x\tПОЧĐТОК=%d\tДОВЖĐĐťĐ=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "НамагаємоŃŃŹ зберегти вже вŃтановлені параметри розділів.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Не призначено"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "ВеŃŃŚ диŃĐş"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS, альтернативні Ńектори"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"Знайдено sun ĐµŃ‚Đ¸ĐşĐµŃ‚ĐşŃ Đ´Đ¸Ńка Đ· неправильною контрольною ŃŃмою.\n"
+"Можливо Ńлід перевŃтановити вŃŃ– значення,\n"
+"такі ŃŹĐş головки, Ńектори, циліндри Ń‚Đ° розділи\n"
+"або примŃŃово очиŃтити ĐµŃ‚Đ¸ĐşĐµŃ‚ĐşŃ (команда s Ń ĐłĐľĐ»ĐľĐ˛Đ˝ĐľĐĽŃ ĐĽĐµĐ˝ŃŽ)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Виявлено ĐĽŃ–Ń‚ĐşŃ Đ´Đ¸Ńка sun Đ· помилковою верŃією [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+"Виявлено ĐĽŃ–Ń‚ĐşŃ Đ´Đ¸Ńка sun Đ· помилковою придатніŃŃ‚ŃŽ Đ´Đľ викориŃтання (sanity) "
+"[0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Виявлено ĐĽŃ–Ń‚ĐşŃ Đ´Đ¸Ńка sun Đ· помилковим значенням num_partitions [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Попередження: помилкові значення Ńлід виправити, Ń—Ń… бŃде виправлено командою "
+"w(rite)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "ПобŃдова нової мітки диŃка Sun.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "Секторів/доріжкŃ"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Розділ %d не закінчŃєтьŃŃŹ на межі циліндра\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Розділ %d перекриваєтьŃŃŹ Đ· Ń–Đ˝Ńим Ń Ńекторах %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "НевикориŃтаний проŃŃ‚Ń–Ń€ - Ńектори 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "НевикориŃтаний проŃŃ‚Ń–Ń€ - Ńектори %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"ІнŃŃ– розділи вже займають веŃŃŚ диŃĐş.\n"
+"Видаліть чаŃтинŃ/зменŃŃ–Ń‚ŃŚ Ń—Ń… розмір перед Ńпробою.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Наполегливо рекомендŃємо зробити Ń‚Đ°Đş, щоб третій розділ займав веŃŃŚ диŃĐş\n"
+"Ń– бŃти Ń‚Đ¸ĐżŃ Â«Đ’ĐµŃŃŚ диŃк»\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Сектор %d вже розподілений\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Третій розділ не займає веŃŃŚ диŃĐş, але значення\n"
+"%d %s перекриває деякий Ń–Đ˝Ńий розділ. Đ’Đ°Ń ĐµĐ»ĐµĐĽĐµĐ˝Ń‚ бŃло змінено\n"
+"на %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Якщо ви бажаєте підтримŃвати ŃŃĐĽŃ–ŃніŃŃ‚ŃŚ Đ· SunOS/Solaris, Ńтворіть цей розділ "
+"ŃŹĐş\n"
+"веŃŃŚ диŃĐş(5), починаючи Đ· 0, розміром %u Ńекторів\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Наполегливо рекомендŃєтьŃŃŹ, щоб розділ Đ·Ń– Đ·ŃŃвом 0 бŃв UFS,\n"
+"файловою ŃиŃтемою EXT2FS або SunOS swap. Якщо Ń‚ŃŃ‚ вŃтавити Linux swap,\n"
+"можна Đ·Ń€ŃйнŃвати таблицю розділів Ń‚Đ° завантажŃвальний блок.\n"
+"Введіть YES, якщо ви Ńправді впевнені, що бажаєте позначити розділ\n"
+"типом 82 (Linux swap): "
+
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ДиŃĐş %s (мітка диŃка Sun): %u головок, %llu Ńекторів, %d об/хв\n"
+"%llu циліндрів, %d запаŃних циліндрів, %d фізичних циліндрів\n"
+"%d додаткових Ńекторів/цил, чергŃвання %d:1\n"
+"Ід. мітки: %s\n"
+"Ід. томŃ: %s\n"
+"Одиниці = %s з %d * 512 байтів\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ДиŃĐş %s (мітка диŃка Sun): %u головок, %llu Ńекторів, %llu циліндрів\n"
+"Одиниці Đ˛Đ¸ĐĽŃ–Ń€Ń = %s Ń %d * 512 байтів\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Ознака Початок Кінець Блоки Ід СиŃтема\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "КількіŃŃ‚ŃŚ запаŃних циліндрів"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Додаткових Ńекторів Ń Ń†Đ¸Đ»Ń–Đ˝Đ´Ń€Ń–"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Фактор чергŃвання"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "ШвидкіŃŃ‚ŃŚ обертання (об/хв)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "КількіŃŃ‚ŃŚ фізичних циліндрів"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Порожн"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Extended"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS/exFAT"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootable"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Hidden FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Hidden FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Hidden FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Hidden HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Hidden W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Hidden W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Hidden W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr "Hidden NTFS WinRE"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD or SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 hidden C: drive"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux extended"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard hidden"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris завантажŃвальний"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Не-ФС дані"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS secondary"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMFS VMware"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMKCORE VMware"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "помилка позиціювання %s - не вдалоŃŃŹ перейти на %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "помилка позиціювання: очікŃвалоŃŃŚ 0x%08x%08x, отримано 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "помилка читання %s - не вдалоŃŃŹ прочитати Ńектор %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "помилка запиŃŃ Đ˝Đ° %s - не вдалоŃŃŹ запиŃати Ńектор %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "не вдалоŃŃŹ відкрити файл збереження ŃĐµĐşŃ‚ĐľŃ€Ń Ń€ĐľĐ·Đ´Ń–Đ»Ń (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "помилка запиŃŃ Đ˝Đ° %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "не вдалоŃŃŹ отримати інформацію про файл відновлення Ń€ĐľĐ·Đ´Ń–Đ»Ń (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"файл відновлення Ń€ĐľĐ·Đ´Ń–Đ»Ń ĐĽĐ°Ń” неправильний розмір - ŃкаŃŃвання відновлення\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "не вдалоŃŃŹ відкрити файл відновлення (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "помилка читання %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "не вдалоŃŃŹ відкрити приŃтрій %s для запиŃŃ\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "помилка запиŃŃ ŃĐµĐşŃ‚ĐľŃ€Ń %lu на %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "ДиŃĐş %s: не вдалоŃŃŹ отримати геометрію\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "ДиŃĐş %s: не вдалоŃŃŹ отримати розмір\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Попередження: початок=%lu - Ńхоже на розділ, Đ° не на диŃĐş.\n"
+"ВикориŃтання fdisk для нього мабŃŃ‚ŃŚ безглŃĐ·Đ´Đľ..\n"
+"[ВикориŃтовŃйте параметр --force, якщо ви Đ´Ń–ĐąŃно цього бажаєте]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Попередження: HDIO_GETGEO вказŃŃ”, що Ń” %lu головок\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Попередження: HDIO_GETGEO вказŃŃ”, що Ń” %lu Ńекторів\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Попередження: BLKGETSIZE/HDIO_GETGEO вказŃŃ”, що Ń” %lu циліндрів\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Попередження: неправильна кількіŃŃ‚ŃŚ Ńекторів (%lu) - зазвичай щонайбільŃе "
+"63\n"
+"Це бŃде Ńпричиняти проблеми Đ· ŃŃŃ–ĐĽ ПЗ, яке викориŃтовŃŃ” C/H/S адреŃацію.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"ДиŃĐş %s: %lu циліндрів, %lu головок, %lu Ńекторів/доріжкŃ\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s Đ· Ń€ĐľĐ·Đ´Ń–Đ»Ń %s ĐĽĐ°Ń” неможливе значення кількоŃŃ‚Ń– головок: %lu (ĐĽŃŃить бŃти 0-"
+"%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s Đ· Ń€ĐľĐ·Đ´Ń–Đ»Ń %s ĐĽĐ°Ń” неможливе значення кількоŃŃ‚Ń– Ńекторів: %lu (ĐĽŃŃить бŃти "
+"1-%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s Đ· Ń€ĐľĐ·Đ´Ń–Đ»Ń %s ĐĽĐ°Ń” неможливе значення кількоŃŃ‚Ń– циліндрів: %lu (ĐĽŃŃить бŃти "
+"0-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Ідентиф. Назва\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "ПеречитŃєтьŃŃŹ таблиця розділів ...\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"ПеречитŃвання таблиці розділів заверŃилоŃŃŚ Ń Đ°Đ˛Đ°Ń€Ń–ĐąĐ˝ĐľĐĽŃ Ń€ĐµĐ¶Đ¸ĐĽŃ–.\n"
+"Виконайте partprobe(8), kpartx(8) або перезавантажте ŃиŃтемŃ\n"
+"перед викориŃтанням mkfs\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Помилка закривання %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: немає такого розділŃ\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "нерозпізнаний формат - викориŃтовŃŃŽŃ‚ŃŚŃŃŹ Ńектори\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "нереалізований формат - викориŃтовŃєтьŃŃŹ %s\n"
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Одиниці вимірŃ: циліндри Ń %lu байтів, блоки Ń 1024 байтів, відлік від %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr "ПриŃтрій Завант Початок Кінець Циліндрів Блоків Ід СиŃтема\n"
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Одиниці вимірŃ: Ńектори Ń 512 байтів, відлік від %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr "ПриŃтрій Завант Початок Кінець Секторів Ід СиŃтема\n"
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Одиниці вимірŃ: блоки Ń 1024 байтів, відлік від %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr "ПриŃтрій Завант Початок Кінець Блоків Ід СиŃтема\n"
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Одиниці вимірŃ: 1 МіБ = 1024*1024 байтів, блоки Ń 1024 байтів, відлік від "
+"%d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " ПриŃтрій Завант Початок Кінець Мб Блоків Ід СиŃтема\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"\t\tпочаток: (c,h,s) очікŃвалоŃŃŚ (%ld,%ld,%ld) знайдено (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tкінець: (c,h,s) очікŃвалоŃŃŚ (%ld,%ld,%ld) знайдено (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "розділ закінчŃєтьŃŃŹ на циліндрі %ld, Đ·Đ° межею обŃŃŹĐłŃ Đ´Đ¸Ńка\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Не знайдено розділів\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Попередження: Схоже,що таблиця розділів бŃла зроблена\n"
+" для C/H/S=*/%ld/%ld (Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ %ld/%ld/%ld).\n"
+"Для цього Đ˛Đ¸Đ˛ĐľĐ´Ń Đ˛Đ˛Đ°Đ¶Đ°Ń‚Đ¸ĐĽĐµŃ‚ŃŚŃŃŹ ця геометрія.\n"
+
+#: fdisks/sfdisk.c:1166
+msgid "no partition table present."
+msgstr "немає таблиці розділів."
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr "дивно, визначено лиŃе %d розділів."
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Попередження: розділ %s має розмір 0, але не позначений порожнім\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Попередження: розділ %s ĐĽĐ°Ń” розмір 0 Ń‚Đ° позначений завантажŃвальним\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Попередження: розділ %s ĐĽĐ°Ń” розмір 0 але починаєтьŃŃŹ не Đ· Đ˝Ńля\n"
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "Попередження: розділ %s не ĐĽŃ–ŃтитьŃŃŹ Ń Ń€ĐľĐ·Đ´Ń–Đ»Ń– %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Попередження: розділи %s Ń– %s перекриваютьŃŃŹ\n"
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Попередження: розділ %s ĐĽŃ–Ńтить чаŃŃ‚Đ¸Đ˝Ń Ń‚Đ°Đ±Đ»Đ¸Ń†Ń– розділів (Ńектор %llu),\n"
+"Ń—Ń— бŃде знищено Ń Ń€Đ°Đ·Ń– його заповнення\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Попередження: розділ %s починаєтьŃŃŹ Đ· Ńектор 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Попередження: розділ %s поŃирюєтьŃŃŹ Đ·Đ° межі диŃка\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+"Попередження: розділ %s має розмір %d.%d ТБ (%llu байтів),\n"
+"тобто більŃий Đ·Đ° обмеження Ń %llu байтів, яке накладаєтьŃŃŹ\n"
+"таблицею розділів DOS для %d-байтових Ńекторів\n"
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+"Попередження: розділ %s починаєтьŃŃŹ Đ· Ńектора %llu (%d,%d ТБ для %d-байтових "
+"Ńекторів),\n"
+"що перевищŃŃ” обмеження таблиці розділів DOS Ń %llu Ńекторів\n"
+"\n"
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Крім первинних розділів, принаймні один може бŃти розŃиреним\n"
+" (хоча це не проблема для Linux)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Попередження: розділ %s починаєтьŃŃŹ не Đ· межі циліндра\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Попередження: розділ %s не закінчŃєтьŃŃŹ на межі циліндра\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Попередження: Đ±Ń–Đ»ŃŚŃ Đ˝Ń–Đ¶ один первинний розділ позначений завантажŃвальним "
+"(активним)\n"
+"Це не ĐĽĐ°Ń” значення для Lilo, але DOS MBR не зможе завантажŃватиŃŃŚ Đ· цього "
+"диŃка.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Попередження: зазвичай можна завантажŃватиŃŃŚ лиŃе Đ· первинних розділів\n"
+"LILO не звертає Ńваги на ĐľĐ·Đ˝Đ°ĐşŃ `завантажŃвальний'.\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Попередження: немає первинного Ń€ĐľĐ·Đ´Ń–Đ»Ń ĐżĐľĐ·Đ˝Đ°Ń‡ĐµĐ˝ĐľĐłĐľ завантажŃвальним "
+"(активним)\n"
+"Це неŃŃттєво для LILO, але DOS MBR не зможе завантажŃватиŃŃŚ Đ· цього диŃка.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "початок"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"розділ %s: початок: (c,h,s) очікŃвалоŃŃŚ (%ld,%ld,%ld) знайдено (%ld,%ld,"
+"%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "кінець"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"розділ %s: кінець: (c,h,s) очікŃвалоŃŃŚ (%ld,%ld,%ld) знайдено (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "розділ %s закінчŃєтьŃŃŹ на циліндрі %ld, Đ·Đ° межами диŃка\n"
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Попередження: зміщено початок розŃиреного Ń€ĐľĐ·Đ´Ń–Đ»Ń Đ· %lld на %lld\n"
+"(ЛиŃе для показŃ. Đ’ĐĽŃ–ŃŃ‚ не змінюєтьŃŃŹ.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Попередження: розŃирений розділ не починаєтеŃŃŹ на межі циліндра.\n"
+"DOS Ń‚Đ° Linux бŃĐ´ŃŃ‚ŃŚ інтерпретŃвати вміŃŃ‚ по-різномŃ.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ПОМĐЛКĐ: Ńектор %lu немає msdos ŃигнатŃри\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "надто багато розділів - ігнорŃємо розділи піŃля номера (%ld)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "дерево розділів?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "знайдено Disk Manager - це нне вдалоŃяобробити\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "знайдено DM6 ŃигнатŃŃ€Ń - ŃкаŃŃвання Đ´Ń–Ń—\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "дивно..., розŃирений розділ Đ˝Ńльового розмірŃ?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "дивно..., BSD розмір Đ˝Ńльового розмірŃ?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: невідомий тип таблиці розділів\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "вказано параметр -n: Нічого не змінено\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "не вдалоŃŃŹ зберегти Ńтарі Ńектори - виконання перервано\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "не вдалоŃŃŹ запиŃати розділ на %s\n"
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr "довгий або незаверŃений рядок вхідних даних — заверŃення"
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "помилка вводŃ: очікŃвавŃŃŹ Ńимвол «=» піŃля поля %s"
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "помилка вводŃ: очікŃвавŃŃŹ Ńимвол %c піŃля поля %s"
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr "нерозпізнані вхідні дані: %s"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "чиŃло занадто велике\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "не цифри піŃля чиŃла\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "немає ĐĽŃ–Ńця для деŃĐşŃ€Đ¸ĐżŃ‚ĐľŃ€Ń Ń€ĐľĐ·Đ´Ń–Đ»Ń\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "не вдалоŃŃŹ Ńтворити оточŃючий розŃирений розділ\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "надто багато вхідних полів\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Немає більŃе ĐĽŃ–Ńця\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "НедопŃŃтимий тип\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Попередження: вказаний розмір (%lu) перевищŃŃ” допŃŃтимий розмір (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Попередження: порожній розділ\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Попередження: неправильний початок Ń€ĐľĐ·Đ´Ń–Đ»Ń (раніŃе %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "не розпізнана завантажŃвальна ознака - виберіть - або *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "чаŃткова Ńпецифікація цил,гол,Ńект?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "РозŃирений розділ не Ń‚Đ°ĐĽ де ĐĽĐ°Ń” бŃти розŃирений\n"
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr "помилкові вхідні дані"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "надто багато розділів\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Ввід Ń Đ˝Đ°ŃŃ‚ŃĐżĐ˝ĐľĐĽŃ Ń„ĐľŃ€ĐĽĐ°Ń‚Ń–; відŃŃтні поля отримŃŃŽŃ‚ŃŚ типове значення.\n"
+"<початок> <розмір> <тип [E,S,L,X,hex]> <озн.завантаж. [-,*]> <c,h,s> <c,h,"
+"s>\n"
+"Зазвичай, вам необхідно лиŃе вказати <початок> Ń‚Đ° <розмір> (Ń‚Đ° можливо "
+"<тип>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+
+#: fdisks/sfdisk.c:2368
+#, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr " %s [параметри] <приŃтрій> [...]\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+" -s, --show-size вивеŃти розмір роділŃ\n"
+" -c, --id змінити або вивеŃти ідентифікатор розділŃ\n"
+" --change-id змінити ідентифікатор\n"
+" --print-id вивеŃти ідентифікатор\n"
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+" -l, --list вивеŃти ŃпиŃок розділів на ĐşĐľĐ¶Đ˝ĐľĐĽŃ Đ· приŃтроїв\n"
+" -d, --dump те Ńаме, але Ń Ń„ĐľŃ€ĐĽĐ°Ń‚Ń–, Đ·Ń€ŃŃ‡Đ˝ĐľĐĽŃ Đ´Đ»ŃŹ наŃŃ‚Ńпної "
+"обробки\n"
+" -i, --increment Đ˝ŃмерŃвати циліндри Ń‚Đ° Ń–Đ˝ŃŃ– елемент Đ· 1, Đ° не Đ· "
+"0\n"
+" -u, --unit <літера> одиниці вимірŃ; <літера> може мати одне Đ· таких "
+"значень\n"
+" S (Ńектори), C (циліндри), B (блоки) або M "
+"(МБ)\n"
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+" -1, --one-only зарезервований параметр, який Ń ĐżĐľŃ‚ĐľŃ‡Đ˝Ń–Đą верŃŃ–Ń— "
+"не працює\n"
+" -T, --list-types показати ŃпиŃок вŃŃ–Ń… відомих типів розділів\n"
+" -D, --DOS для ŃŃĐĽŃ–ŃноŃŃ‚Ń– Đ· DOS, доведетьŃŃŹ витратити ще "
+"трохи ĐĽŃ–Ńця\n"
+" -E, --DOS-extended ŃŃĐĽŃ–ŃніŃŃ‚ŃŚ Đ· розŃиреними розділами DOS\n"
+" -R, --re-read наказати ŃŹĐ´Ń€Ń ĐżĐµŃ€ĐµŃ‡Đ¸Ń‚Đ°Ń‚Đ¸ таблицю розділів\n"
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+" -N <номер> вноŃити зміни лиŃе Đ´Đľ Ń€ĐľĐ·Đ´Ń–Đ»Ń Đ· цим <номер>ом\n"
+" -n не виконŃвати запиŃŃ Đ´Đľ файла\n"
+" -O <файл> зберегти розділи, які бŃде перезапиŃано Đ´Đľ "
+"<файл>\n"
+" -I <file> відновити вміŃŃ‚ Ńекторів на ĐľŃнові даних Đ· файла "
+"<file>\n"
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -V, --verify переконатиŃŃŹ, що вŃŃ– розділи Ń ŃпиŃĐşŃ Đ˛ĐşĐ°Đ·Đ°Đ˝Đľ "
+"належно\n"
+" -v, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: fdisks/sfdisk.c:2393
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr ""
+"\n"
+"Небезпечні параметри:\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+" -f, --force вимкнŃти вŃŃ– перевірки коректноŃŃ‚Ń–\n"
+" --no-reread не перевіряти, чи викориŃтовŃєтьŃŃŹ розділ\n"
+" -q, --quiet не виводити повідомлень з попередженнями\n"
+" -L, --Linux не ŃкаржитиŃŃŹ на проблеми, які не Ń” характерними "
+"для Linux\n"
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g, --show-geometry вивеŃти дані ядра щодо геометрії\n"
+" -G, --show-pt-geometry вивеŃти дані щодо геометрії, Đ·Đ°Ńновані на таблиці "
+"розділів\n"
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -A, --activate[=<приŃŃ‚Ń€>] активŃвати прапорець завантажŃваноŃŃ‚Ń–g\n"
+" -U, --unhide[=<приŃŃ‚Ń€>] зробити розділ видимим\n"
+" -x, --show-extended також вивеŃти перелік розŃирених розділів\n"
+" або очікŃвати Ń—Ń… деŃкриптори при введенні\n"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+" --leave-last не розподіляти ĐľŃтанній циліндр\n"
+" --IBM те Ńаме, що Ń– --leave-last\n"
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+" --in-order розділи впорядковано\n"
+" --not-in-order розділи не впорядковано\n"
+" --inside-outer вŃŃ– логічні розділи ĐĽŃ–ŃŃ‚ŃŹŃ‚ŃŚŃŃŹ Ń Đ·Đ°ĐłĐ°Đ»ŃŚĐ˝ĐľĐĽŃ "
+"зовніŃньомŃ\n"
+" --not-inside-outer не вŃŃ– логічні розділи ĐĽŃ–ŃŃ‚ŃŹŃ‚ŃŚŃŃŹ Ń Đ·Đ°ĐłĐ°Đ»ŃŚĐ˝ĐľĐĽŃ "
+"зовніŃньомŃ\n"
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+" --nested вŃŃ– розділи не перетинаютьŃŃŹ Đ· Ń–Đ˝Ńими\n"
+" --chained подібно Đ´Đľ nested, але розŃирені розділи можŃŃ‚ŃŚ "
+"перебŃвати назовні\n"
+" --onesector розділи взаємно не перетинаютьŃŃŹ\n"
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+"\n"
+"Визначені параметри геометрії можна змінити за допомогою\n"
+" -C, --cylinders <чиŃло> вŃтановити кількіŃŃ‚ŃŚ циліндрів\n"
+" -H, --heads <чиŃло> вŃтановити кількіŃŃ‚ŃŚ голівок\n"
+" -S, --sectors <чиŃло> вŃтановити кількіŃŃ‚ŃŚ Ńекторів\n"
+"\n"
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "КориŃŃ‚Ńвання:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s приŃтрій\t\t вивеŃти активні розділи приŃтрою\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s приŃтрій n1 n2 ... активŃвати розділ n1 ..., де-активŃвати реŃŃ‚Ń\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An приŃтрій\t активŃвати розділ n, де-активŃвати реŃŃ‚Ń Ń€ĐľĐ·Đ´Ń–Đ»Ń–Đ˛\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"ПОПЕРЕДЖЕННЯ: на «%s» виявлено GPT (GUID Partition Table)! У програмі sfdisk "
+"не передбачено підтримки GPT. СкориŃтайтеŃŃŹ GNU Parted.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "СкориŃтайтеŃŃŹ параметром --force, щоб відхилити цю перевіркŃ.\n"
+
+#: fdisks/sfdisk.c:2582
+msgid "no command?"
+msgstr "немає команди?"
+
+#: fdisks/sfdisk.c:2662
+msgid "invalid number of partitions argument"
+msgstr "некоректний аргŃмент кількоŃŃ‚Ń– розділів"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "загалом: %llu блоків\n"
+
+#: fdisks/sfdisk.c:2795
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "кориŃŃ‚Ńвання: sfdisk --Ń–Đ´_Đ´Ń€ŃĐşŃ ĐżŃ€Đ¸Ńтрій номер_розділŃ"
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "кориŃŃ‚Ńвання: sfdisk --change-id приŃтрій номер_Ń€ĐľĐ·Đ´Ń–Đ»Ń Ń–Đ´ĐµĐ˝Ń‚Đ¸Ń„."
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "кориŃŃ‚Ńвання: sfdisk --id приŃтрій номер_приŃтрою [ідентиф.]"
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr "можна вказŃвати лиŃе один приŃтрій (Đ·Đ° винятком -l чи -s)"
+
+#: fdisks/sfdisk.c:2832
+#, c-format
+msgid "cannot open %s read-write"
+msgstr "не вдалоŃŃŹ відкрити %s для читання або запиŃŃ"
+
+#: fdisks/sfdisk.c:2834
+#, c-format
+msgid "cannot open %s for reading"
+msgstr "не вдалоŃŃŹ відкрити %s для читання"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld циліндрів, %ld головок, %ld Ńекторів/трек\n"
+
+#: fdisks/sfdisk.c:2929
+#, c-format
+msgid "Cannot get size of %s"
+msgstr "Не вдалоŃŃŹ отримати розмір %s"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "неправильний 'активний' байт 0x%x Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Виконано\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Позначено активними %d розділів. Це немає значення для LILO,\n"
+"Đле DOS MBR може завантажŃватиŃŃŚ лиŃе Đ· диŃків, Ń ŃŹĐşĐ¸Ń… 1 активний розділ.\n"
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "розділ %s має ідентиф. %x, його не приховано"
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr "Помилковий ідентифікатор %lx"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "Цей диŃĐş наразі викориŃтовŃєтьŃŃŹ.\n"
+
+#: fdisks/sfdisk.c:3154
+#, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Критична помилка: не вдалоŃŃŹ знайти %s"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Попередження: %s не Ń” блоковим приŃтроєм\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "ПеревіряєтьŃŃŹ, що ніхто наразі не викориŃтовŃŃ” диŃĐş ...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Цей диŃĐş наразі викориŃтовŃєтьŃŃŹ - зміна розділів, можливо, погана ідея.\n"
+"ДемонтŃйте вŃŃ– файлові ŃиŃтеми, Ń‚Đ° відключіть вŃŃ– розділи ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Đ˝Đ° Ń†ŃŚĐľĐĽŃ "
+"диŃĐşŃ.\n"
+"ВикориŃтовŃйте параметр --no-reread щоб обминŃти цю перевіркŃ.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "ВикориŃтовŃйте параметр --force, щоб відхилити вŃŃ– перевірки.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "Гаразд\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Старий ŃŃ‚Đ°Đ˝:\n"
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Đ ĐľĐ·Đ´Ń–Đ»Ń %d не Ń–ŃĐ˝ŃŃ”, його параметри не можна змінити"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Новий ŃŃ‚Đ°Đ˝:\n"
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Ці розділи виглядають неправильно — нічого не змінено.\n"
+"(Якщо ви Đ´Ń–ĐąŃно цього бажаєте, ŃкориŃтайтеŃŃŹ параметром --force.)"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Ці розділи виглядають неправильно - можливо Ńлід відповіŃти No\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Ви цим задоволені? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Бажаєте запиŃати на диŃĐş? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr "ЗаверŃення - нічого не змінено"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Відповідайте одне з y,n,q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"ĐŁŃпіŃно запиŃано Đ˝ĐľĐ˛Ń Ń‚Đ°Đ±Đ»Đ¸Ń†ŃŽ розділів\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Якщо ви Ńтворили або змінили DOS розділ, Ńкажімо /dev/foo7, тоді "
+"викориŃтовŃйте dd(1)\n"
+"для заповнення Đ˝Ńлями перŃих 512 байт: dd if=/dev/zero of=/dev/foo7 bs=512 "
+"count=1\n"
+"(ДивітьŃŃŹ fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr "\n"
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help вивеŃти Đ´ĐľĐ˛Ń–Đ´ĐşŃ Ń‚Đ° заверŃити роботŃ\n"
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version вивеŃти інформацію щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: include/c.h:246
+#, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"ДокладніŃŃ– відомоŃŃ‚Ń– можна отримати Đ· докŃментації Đ´Đľ %s.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, c-format
+msgid "write error"
+msgstr "помилка запиŃŃ"
+
+#: include/optutils.h:76
+#, c-format
+msgid "%s: options "
+msgstr "%s: параметри "
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr "не можна викориŃтовŃвати одночаŃно"
+
+#: lib/pager.c:107
+#, c-format
+msgid "waitpid failed (%s)"
+msgstr "помилка waitpid (%s)"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr "не вдалоŃŃŹ виконати callocate для Đ˝Đ°Đ±ĐľŃ€Ń ĐżŃ€ĐľŃ†ĐµŃорів"
+
+#: lib/path.c:178
+#, c-format
+msgid "failed to parse CPU list %s"
+msgstr "не вдалоŃŃŹ обробити ŃпиŃок процеŃорів %s"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "не вдалоŃŃŹ обробити ĐĽĐ°ŃĐşŃ ĐżŃ€ĐľŃ†ĐµŃорів %s"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, c-format
+msgid " %s [options] [username]\n"
+msgstr " %s [параметри] [кориŃŃ‚Ńвач]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr " -f, --full-name <ім’я> Ńправжнє ім’я\n"
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr " -o, --office <кімната> номер кімнати\n"
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr " -p, --office-phone <телефон> номер робочого телефонŃ\n"
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr " -h, --home-phone <телефон> номер домаŃнього телефонŃ\n"
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr " -u, --help показати ці довідкові дані і вийти\n"
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr " -v, --version вивеŃти інформацію щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr "ваŃого кориŃŃ‚Ńвача (%d) не Ń–ŃĐ˝ŃŃ”."
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr "кориŃŃ‚Ńвача «%s» не Ń–ŃĐ˝ŃŃ”."
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr "може змінювати лиŃе локальні запиŃи"
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s не Ńповноважено на Đ·ĐĽŃ–Đ˝Ń Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–Ń— finger щодо %s"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "Невідомий контекŃŃ‚ кориŃŃ‚Ńвача"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, c-format
+msgid "can't set default context for %s"
+msgstr "не вдалоŃŃŹ вŃтановити типовий контекŃŃ‚ для %s"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Зміна finger інформації для %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger інформацію не змінено.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "ОфіŃ"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "СлŃжбовий телефон"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "ДомаŃній телефон"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+msgid "Aborted."
+msgstr "Перервано."
+
+#: login-utils/chfn.c:383
+#, c-format
+msgid "field %s is too long"
+msgstr "поле %s є надто довгим"
+
+#: login-utils/chfn.c:385
+msgid "field is too long"
+msgstr "поле є надто довгим"
+
+#: login-utils/chfn.c:393
+#, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: «%c» заборонено"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, c-format
+msgid "'%c' is not allowed"
+msgstr "«%c» заборонено"
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: викориŃтання керівних Ńимволів заборонено"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr "викориŃтання керівних Ńимволів заборонено"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Finger інформацію НЕ змінено. СпробŃйте пізніŃе.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger інформацію змінено.\n"
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell <оболонка> вказати ĐľĐ±ĐľĐ»ĐľĐ˝ĐşŃ Đ˛Ń…ĐľĐ´Ń Đ´Đľ ŃиŃтеми\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr " -l, --list-shells вивеŃти ŃпиŃок оболонок Ń– вийти\n"
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr "може змінювати лиŃе локальні запиŃи."
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s не Ńповноважено на Đ·ĐĽŃ–Đ˝Ń ĐşĐľĐĽĐ°Đ˝Đ´Đ˝ĐľŃ— оболонки %s"
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"UID, від імені якого Đ·Đ°ĐżŃщено командŃ, не збігаєтьŃŃŹ Đ· UID кориŃŃ‚Ńвача, Đ´Đľ "
+"параметрів роботи якого вноŃŃŹŃ‚ŃŚŃŃŹ зміни, Ń Đ·ĐĽŃ–Đ˝Ń– оболонки відмовлено"
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "ваŃої оболонки немає Ń %s, Ń Đ·ĐĽŃ–Đ˝Ń– оболонки відмовлено"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "ЗмінюєтьŃŃŹ оболонка для %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "Нова оболонка"
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr "ĐžĐ±ĐľĐ»ĐľĐ˝ĐşŃ Đ˝Đµ змінено."
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"помилка setpwnam\n"
+"ĐžĐ±ĐľĐ»ĐľĐ˝ĐşŃ Đ˝Đµ змінено. Повторіть ŃĐżŃ€ĐľĐ±Ń ĐżŃ–Đ·Đ˝Ń–Ńе."
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Оболонка змінена.\n"
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr "Ńлях Đ´Đľ оболонки ĐĽĐ°Ń” бŃти вказано повніŃŃ‚ŃŽ"
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr "«%s» не Ń–ŃĐ˝ŃŃ”"
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr "«%s» не Ń” виконŃваним файлом"
+
+#: login-utils/chsh.c:321
+#, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Попередження: «%s» немає Ń ŃпиŃĐşŃ %s."
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+"«%s» немає Ń ŃпиŃĐşŃ %s.\n"
+"СкориŃтайтеŃŃŹ %s -l, щоб переглянŃти ŃпиŃок."
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr "Немає відомих оболонок."
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"КориŃŃ‚Ńвання: last [-#] [-f file] [-t tty] [-h назва_вŃзла] "
+"[кориŃŃ‚Ńвач ...]\n"
+
+#: login-utils/last.c:252
+#, c-format
+msgid "%s: mmap failed"
+msgstr "%s: помилка mmap"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " Đ´ĐľŃŃ– Ń ŃиŃтемі"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp починаєтьŃŃŹ %s"
+
+#: login-utils/last.c:431
+msgid "gethostname failed"
+msgstr "помилка gethostname"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"перервано %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr "Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання бŃло вичерпано Đ·Đ° %u ŃекŃнд"
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "КРĐТĐЧНРПОМĐЛКĐ: не вдалоŃŃŹ відкрити tty: %m"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "КРĐТĐЧНРПОМĐЛКĐ: %s не Ń” терміналом"
+
+#: login-utils/login.c:308
+#, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "Ńпроба зміни влаŃника (%s, %lu, %lu) зазнала невдачі: %m"
+
+#: login-utils/login.c:312
+#, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "Ńпроба зміни Ń€ĐµĐ¶Đ¸ĐĽŃ Đ´ĐľŃŃ‚ŃĐżŃ (%s, %u) зазнала невдачі: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "ФĐТĐЛЬНРПОМĐЛКĐ: неправильний tty"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr "ĐĐ’ĐРІЯ: %s: Ńпроба зміни прав Đ´ĐľŃŃ‚ŃĐżŃ Đ·Đ°Đ·Đ˝Đ°Đ»Đ° невдачі: %m"
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "ĐžŃтанній вхід: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "Đ· %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "на %.*s\n"
+
+#: login-utils/login.c:553
+msgid "write lastlog failed"
+msgstr "Ńпроба запиŃŃ lastlog зазнала невдачі"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "ВХІД НР%s ВІД %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ВХІД ROOT НР%s З %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ВХІД ROOT НР%s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "ВХІД НР%s КОРĐСТУВĐЧ %s Đ— %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "ВХІД НР%s КОРĐСТУВĐЧ %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "Ім'я:"
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "помилка PAM, перервано: %s"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Не вдалоŃŃŹ ініціалізŃвати PAM: %s"
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "ПОМĐЛКРВХОДУ %u Đ— %s ДЛЯ %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Некоректний вхід\n"
+"\n"
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "ĐťĐДТО Đ‘ĐĐ“ĐТО ПОМĐЛОК ВХОДУ (%u) Đ— %s ДЛЯ %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "НЕВДĐĐ›ĐĐ™ СЕĐНС ВХОДУ Đ— %s ДЛЯ %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Некоректний вхід\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Проблема Đ· налаŃтовŃванням ŃеанŃŃ, перервано."
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "NULL Ń–ĐĽ'ŃŹ кориŃŃ‚Ńвача Ń %s:%d. Вихід."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "помилка TIOCSCTTY: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: параметр -h може викориŃтовŃвати лиŃе адмініŃтратор.\n"
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"кориŃŃ‚Ńвання: login [ -p ] [ -h вŃзол ] [ -H ] [ -f кориŃŃ‚Ńвач | "
+"кориŃŃ‚Ńвач ]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Неправильне Ń–ĐĽ'ŃŹ кориŃŃ‚Ńвача \"%s\" Ń %s:%d. Вихід."
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr "Ńпроба ініціалізації грŃĐż зазнала невдачі: %m"
+
+#: login-utils/login.c:1382
+msgid "setgid() failed"
+msgstr "помилка setgid()"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Для Đ˛Đ°Ń Ń” нова поŃŃ‚Đ°.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Для Đ˛Đ°Ń Ń” поŃŃ‚Đ°.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "помилка setuid()"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, c-format
+msgid "%s: change directory failed"
+msgstr "%s: Ńпроба змінити каталог зазнала невдачі"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Đ’Ń…Ń–Đ´ Đ· домаŃнім каталогом = \"/\".\n"
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr "не вдалоŃŃŹ виконати Ńкрипт оболонки"
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr "немає оболонки"
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "%s: %s ĐĽŃ–Ńтить некоректне чиŃлове значення: %s"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Пароль: "
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr " %s <грŃпа>\n"
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr "ви хто?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+msgid "setgid failed"
+msgstr "помилка setgid"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr "такої грŃпи немає"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr "відмовлено Ń Đ´ĐľŃŃ‚Ńпі"
+
+#: login-utils/newgrp.c:176
+msgid "setuid failed"
+msgstr "помилка setuid"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "Ńпроба виконати %s зазнала невдачі"
+
+#: login-utils/su.c:205
+#, c-format
+msgid "cannot not open session: %s"
+msgstr "не вдалоŃŃŹ відкрити ŃеанŃ: %s"
+
+#: login-utils/su.c:215
+msgid "cannot create child process"
+msgstr "не вдалоŃŃŹ Ńтворити дочірній процеŃ"
+
+#: login-utils/su.c:227
+#, c-format
+msgid "cannot change directory to %s"
+msgstr "не вдалоŃŃŹ змінити каталог на %s"
+
+#: login-utils/su.c:232
+msgid "cannot block signals"
+msgstr "не вдалоŃŃŹ заблокŃвати Ńигнали"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr "не вдалоŃŃŹ вŃтановити обробник ŃигналŃ"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+"\n"
+"ĐˇĐµĐ°Đ˝Ń ĐżĐµŃ€ĐµŃ€Đ˛Đ°Đ˝Đľ, заверŃŃємо Ń€ĐľĐ±ĐľŃ‚Ń ĐľĐ±ĐľĐ»ĐľĐ˝ĐşĐ¸â€¦"
+
+#: login-utils/su.c:303
+#, c-format
+msgid " ...killed.\n"
+msgstr " …заверŃено.\n"
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr "помилковий пароль"
+
+#: login-utils/su.c:485
+msgid "failed to set PATH"
+msgstr "не вдалоŃŃŹ вŃтановити PATH"
+
+#: login-utils/su.c:558
+msgid "cannot set groups"
+msgstr "не вдалоŃŃŹ вŃтановити грŃпи"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "не вдалоŃŃŹ вŃтановити грŃповий id"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "не вдалоŃŃŹ вŃтановити id кориŃŃ‚Ńвача"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Виконайте ĐşĐľĐĽĐ°Đ˝Đ´Ń Â«%s --help», щоб дізнатиŃŃŹ більŃе.\n"
+
+#: login-utils/su.c:652
+#, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr " %s [параметри] [-] [КОРĐСТУВĐЧ [аргŃмент]...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+"\n"
+" Змінити ідентифікатор поточного кориŃŃ‚Ńвача Ń– грŃпи на дані КОРĐСТУВĐЧĐ\n"
+" ПроŃŃ‚Đľ знак ĐĽŃ–Đ˝ŃŃ ĐľĐ·Đ˝Đ°Ń‡Đ°Ń” -l. Якщо КОРĐСТУВĐЧа не вказано,\n"
+" викориŃтовŃєтьŃŃŹ root.\n"
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+" -, -l, --login зробити ĐľĐ±ĐľĐ»ĐľĐ˝ĐşŃ ĐľĐ±ĐľĐ»ĐľĐ˝ĐşĐľŃŽ реєŃтрації\n"
+" -c, --command <команда> передати ĐľĐşŃ€ĐµĐĽŃ ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ´Đľ оболонки Đ·Đ° "
+"допомогою -c\n"
+" --session-command <команда> передати ĐľĐşŃ€ĐµĐĽŃ ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ´Đľ оболонки Đ·Đ° "
+"допомогою -c\n"
+" Ń– не Ńтворювати новий ŃеанŃ\n"
+" -f, --fast передати -f до оболонки (для csh або tcsh)\n"
+" -m, --preserve-environment не Ńкидати значення змінних Ńередовища\n"
+" -p те Ńаме, що Ń– -m\n"
+" -s, --shell <оболонка> виконати оболонкŃ, якщо це дозволено /etc/"
+"shells\n"
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr "кориŃŃ‚Ńвача %s не Ń–ŃĐ˝ŃŃ”"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr "викориŃтовŃєтьŃŃŹ обмежена оболонка %s"
+
+#: login-utils/su.c:808
+#, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "попередження: не вдалоŃŃŹ змінити каталог на %s"
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: немає запиŃŃ Đ´Đ»ŃŹ root\n"
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr "%s: немає запиŃŃ Đ´Đ»ŃŹ root"
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr "%s: пароль адмініŃтратора (root) викривлено"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+"Вкажіть пароль root, щоб виконати Đ´Ń–Ń— Đ· підтримання працездатноŃŃ‚Ń– ŃиŃтеми\n"
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr "НатиŃніть Enter, щоб перейти Đ´Đľ Ń€ĐµĐ¶Đ¸ĐĽŃ ŃŃпроводŃ"
+
+#: login-utils/sulogin.c:296
+#, c-format
+msgid "(or type Control-D to continue): "
+msgstr "(або натиŃніть Ctrl-D, щоб продовжити): "
+
+#: login-utils/sulogin.c:347
+msgid "change directory to system root failed"
+msgstr "Ńпроба зміни ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ Đ˝Đ° кореневий каталог ŃиŃтеми зазнала невдачі"
+
+#: login-utils/sulogin.c:394
+msgid "setexeccon failed"
+msgstr "помилка setexeccon"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, c-format
+msgid "%s: exec failed"
+msgstr "%s: Ńпроба виконання зазнала невдачі"
+
+#: login-utils/sulogin.c:430
+msgid "tcgetattr failed"
+msgstr "помилка tcgetattr"
+
+#: login-utils/sulogin.c:437
+msgid "tcsetattr failed"
+msgstr "помилка tcsetattr"
+
+#: login-utils/sulogin.c:444
+#, c-format
+msgid " %s [options] [tty device]\n"
+msgstr " %s [параметри] [приŃтрій tty]\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+" -p, --login-shell Đ·Đ°ĐżŃŃтити ĐľĐ±ĐľĐ»ĐľĐ˝ĐşŃ Ń€ĐµŃ”Ńтрації\n"
+" -t, --timeout <ŃекŃнди> ĐĽĐ°ĐşŃимальна триваліŃŃ‚ŃŚ очікŃвання на пароль "
+"(типово не обмежŃєтьŃŃŹ)\n"
+" -e, --force перевірити файли паролів безпоŃередньо, якщо це не "
+"може зробити getpwnam(3)\n"
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr "некоректний аргŃмент чаŃŃ ĐľŃ‡Ń–ĐşŃвання"
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr "Đ·Đ°ĐżŃŃкати цю ĐżŃ€ĐľĐłŃ€Đ°ĐĽŃ ĐĽĐľĐ¶Đ˝Đ° лиŃе від імені адмініŃтратора (root)."
+
+#: login-utils/sulogin.c:529
+#, c-format
+msgid "%s: not a tty"
+msgstr "%s: не є tty"
+
+#: login-utils/sulogin.c:577
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY: помилка ioctl"
+
+#: login-utils/sulogin.c:586
+msgid "cannot open password database."
+msgstr "не вдалоŃŃŹ відкрити Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ¸Ń… паролів."
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: помилка stat"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s: не вдалоŃŃŹ додати ĐżŃнкт ŃпоŃтереження inotify."
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: не вдалоŃŃŹ прочитати ŃпиŃок подій inotify"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr "Зайвий Ńимвол нового рядка Ń Ń„Đ°ĐąĐ»Ń–. ЗаверŃення роботи."
+
+#: login-utils/utmpdump.c:286
+#, c-format
+msgid " %s [options] [filename]\n"
+msgstr " %s [параметри] [назва файла]\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+" -f, --follow виводити допиŃані дані Ń Ń€Đ°Đ·Ń– збільŃення файла\n"
+" -r, --reverse виконŃвати зворотний Đ·Đ°ĐżĐ¸Ń Đ·Ń–Đ±Ń€Đ°Đ˝Đ¸Ń… даних Đ´Đľ файла utmp\n"
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr "підтримки вказаного нижче джерела вхідних даних не передбачено"
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr "Зворотний дамп utmp %s\n"
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr "Дамп utmp %s\n"
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+msgid "can't open temporary file"
+msgstr "не вдалоŃŃŹ відкрити тимчаŃовий файл"
+
+#: login-utils/vipw.c:166
+#, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: Ńпроба Ńтворення поŃилання на %s зазнала невдачі"
+
+#: login-utils/vipw.c:173
+#, c-format
+msgid "Can't get context for %s"
+msgstr "Не вдалоŃŃŹ отримати контекŃŃ‚ для %s"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr "Не вдалоŃŃŹ вŃтановити контекŃŃ‚ для %s"
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr "%s не змінено"
+
+#: login-utils/vipw.c:264
+msgid "cannot get lock"
+msgstr "не вдалоŃŃŹ заблокŃвати"
+
+#: login-utils/vipw.c:291
+msgid "no changes made"
+msgstr "не бŃло внеŃено жодних Đ·ĐĽŃ–Đ˝"
+
+#: login-utils/vipw.c:300
+msgid "cannot chmod file"
+msgstr "не вдалоŃŃŹ змінити режим Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ файла"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "На цій ŃиŃтемі викориŃтовŃŃŽŃ‚ŃŚŃŃŹ тіньові грŃпи.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "На цій ŃиŃтемі викориŃтовŃŃŽŃ‚ŃŚŃŃŹ тіньові паролі.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Бажаєте відредагŃвати %s зараз [y/n]? "
+
+#: misc-utils/cal.c:371
+msgid "illegal day value"
+msgstr "некоректне значення дня"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "помилкове значення дня: мало бŃти 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "неправильне значення ĐĽŃ–Ńяця: викориŃтовŃйте 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "неправильне значення рокŃ: викориŃтовŃйте 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr " %s [параметри] [[[день] ĐĽŃ–Ńяць] рік]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+" -1, --one вивеŃти лиŃе поточний ĐĽŃ–Ńяць (типова поведінка)\n"
+" -3, --three вивеŃти попередній, поточний Ń– наŃŃ‚Ńпний ĐĽŃ–Ńяці\n"
+" -s, --sunday неділя Ń” перŃим днем тижня\n"
+" -m, --monday понеділок Ń” перŃим днем тижня\n"
+" -j, --julian виводити дати Đ·Đ° юліанŃьким календарем\n"
+" -y, --year вивеŃти поточний рік повніŃŃ‚ŃŽ\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– заверŃити роботŃ\n"
+" -h, --help вивеŃти довідкове повідомлення Ń– заверŃити роботŃ\n"
+"\n"
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "викориŃтання: %s [+формат] [день ĐĽŃ–Ńяць рік]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "День Ńвятого Tib"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+" %1$s [параметри] LABEL=<мітка>\n"
+" %1$s [параметри] UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "не вдалоŃŃŹ виконати визначення «%s»"
+
+#: misc-utils/findmnt.c:105
+msgid "source device"
+msgstr "приŃтрій-джерело"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr "точка монтŃвання"
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr "тип файлової ŃиŃтеми"
+
+#: misc-utils/findmnt.c:108
+msgid "all mount options"
+msgstr "вŃŃ– параметри монтŃвання"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr "параметри монтŃвання, Ńпецифічні для VFS"
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr "параметри монтŃвання, Ńпецифічні для ФС"
+
+#: misc-utils/findmnt.c:111
+msgid "filesystem label"
+msgstr "мітка файлової ŃиŃтеми"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr "UUID файлової ŃиŃтеми"
+
+#: misc-utils/findmnt.c:113
+msgid "partition label"
+msgstr "мітка розділŃ"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr "номер приŃтрою ĐľŃновний:додатковий"
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr "дія, виявлена --poll"
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr "Ńтарі параметри монтŃвання, збережені --poll"
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr "попередня точка монтŃвання, збережена Đ·Đ° допомогою --poll"
+
+#: misc-utils/findmnt.c:119
+msgid "filesystem size"
+msgstr "розмір файлової ŃиŃтеми"
+
+#: misc-utils/findmnt.c:120
+msgid "filesystem size available"
+msgstr "вільний об’єм Ń Ń„Đ°ĐąĐ»ĐľĐ˛Ń–Đą ŃиŃтемі"
+
+#: misc-utils/findmnt.c:121
+msgid "filesystem size used"
+msgstr "викориŃтаний розмір Ń Ń„Đ°ĐąĐ»ĐľĐ˛Ń–Đą ŃиŃтемі"
+
+#: misc-utils/findmnt.c:122
+msgid "filesystem use percentage"
+msgstr "відŃоток викориŃтаноŃŃ‚Ń– файлової ŃиŃтеми"
+
+#: misc-utils/findmnt.c:123
+msgid "filesystem root"
+msgstr "корінь файлової ŃиŃтеми"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr "ідентифікатор завдання"
+
+#: misc-utils/findmnt.c:298
+#, c-format
+msgid "unknown action: %s"
+msgstr "невідома дія: %s"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr "mount"
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr "umount"
+
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr "remount"
+
+#: misc-utils/findmnt.c:513
+msgid "move"
+msgstr "move"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "невідомий"
+
+#: misc-utils/findmnt.c:630
+#, c-format
+msgid "%s: parse error at line %d"
+msgstr "%s: помилка обробки Ń Ń€ŃŹĐ´ĐşŃ %d"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+msgid "failed to initialize libmount table"
+msgstr "не вдалоŃŃŹ ініціалізŃвати таблицю libmount"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, c-format
+msgid "can't read %s"
+msgstr "не вдалоŃŃŹ прочитати %s"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr "не вдалоŃŃŹ ініціалізŃвати ітератор libmount"
+
+#: misc-utils/findmnt.c:886
+msgid "failed to initialize libmount tabdiff"
+msgstr "не вдалоŃŃŹ ініціалізŃвати tabdiff libmount"
+
+#: misc-utils/findmnt.c:914
+msgid "poll() failed"
+msgstr "помилка poll()"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+" %1$s [параметри]\n"
+" %1$s [параметри] <приŃтрій> | <точка_монтŃвання>\n"
+" %1$s [параметри] <приŃтрій> <точка_монтŃвання>\n"
+" %1$s [параметри] [--source <приŃтрій>] [--target <точка_монтŃвання>]\n"
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -s, --fstab ŃŃкати Ń Ńтатичній таблиці файлових ŃиŃтем\n"
+" -m, --mtab ŃŃкати Ń Ń‚Đ°Đ±Đ»Đ¸Ń†Ń– змонтованих файлових ŃиŃтем\n"
+" -k, --kernel ŃŃкати Ń Ń‚Đ°Đ±Đ»Đ¸Ń†Ń– ядра змонтованих\n"
+" файлових ŃиŃтем (типова поведінка)\n"
+"\n"
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+" -p, --poll[=<ŃпиŃок>] Ńтежити Đ·Đ° змінами Ń Ń‚Đ°Đ±Đ»Đ¸Ń†Ń– змонтованих файлових "
+"ŃиŃтем\n"
+" -w, --timeout <чиŃло> верхня межа чаŃŃ ĐľŃ‡Ń–ĐşŃвання Ń ĐĽŃ–Đ»Ń–ŃекŃндах, ŃŹĐşŃ "
+"блокŃватиме --poll\n"
+"\n"
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+" -A, --all вимкнŃти вŃŃ– вбŃдовані фільтри, вивеŃти ŃпиŃок вŃŃ–Ń… "
+"файлових ŃиŃтем\n"
+" -a, --ascii викориŃтовŃвати Ńимволи ASCII для форматŃвання "
+"ієрархії\n"
+" -c, --canonicalize вивеŃти Ńляхи Ń ĐşĐ°Đ˝ĐľĐ˝Ń–Ń‡Đ˝Ń–Đą формі\n"
+" -D, --df Ń–ĐĽŃ–Ń‚Ńвати виведення df(1)\n"
+" -d, --direction <Ńлово> напрямок поŃŃĐşŃ, «forward» (вперед) або "
+"«backward» (назад)\n"
+" -e, --evaluate перетворити мітки (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" Ń Đ˝Đ°Đ·Đ˛Đ¸ приŃтроїв\n"
+" -F, --tab-file <Ńлях> альтернативний файл для параметрів --fstab, --mtab Ń– "
+"--kernel\n"
+" -f, --first-only вивеŃти дані лиŃе щодо перŃої знайденої файлової "
+"ŃиŃтеми\n"
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+" -i, --invert інвертŃвати відповідніŃŃ‚ŃŚ\n"
+" -l, --list викориŃтати формат ŃпиŃĐşŃ Đ´Đ»ŃŹ виведення\n"
+" -N, --task <tid> викориŃтовŃвати альтернативний проŃŃ‚Ń–Ń€ назв (/proc/"
+"<tid>/файл даних монтŃвання)\n"
+" -n, --noheadings не виводити заголовки Ńтовпчиків\n"
+" -u, --notruncate не обрізати текŃŃ‚ Ń Ńтовпчиках\n"
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+" -O, --options <ŃпиŃок> обмежити набір файлових ŃиŃтемах параметрами "
+"монтŃвання\n"
+" -o, --output <ŃпиŃок> Ńтовпчики виведення, які бŃде показано\n"
+" -P, --pairs викориŃтати формат виведення ключ=\"значення\"\n"
+" -r, --raw викориŃтовŃвати формат виведення без обробки\n"
+" -t, --types <ŃпиŃок> обмежити набір файлових ŃиŃтем Đ·Đ° типами ФС\n"
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+" -v, --nofsroot не виводити [/каталог] для монтŃвань bind Ń‚Đ° btrfs\n"
+" -R, --submounts вивеŃти вŃŃ– підмонтŃвання для відповідних файлових "
+"ŃиŃтем\n"
+" -S, --source <рядок> приŃтрій, який Ńлід змонтŃвати (Đ·Đ° назвою, ĐľŃновний:"
+"додатковий, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <рядок> точка монтŃвання, якою Ńлід ŃкориŃтатиŃŃŹ\n"
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+"\n"
+"ДоŃŃ‚Ńпні Ńтовпчики:\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr "невідомий напрямок «%s»"
+
+#: misc-utils/findmnt.c:1196
+msgid "invalid TID argument"
+msgstr "некоректний аргŃмент TID"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+"Đ· --poll можна вказŃвати лиŃе один файл, але Ń --tab-file вказано декілька "
+"файлів"
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+"параметри --target Ń– --source не можна викориŃтовŃвати разом Đ· елементами "
+"командного рядка, які не є параметрами"
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr "не вдалоŃŃŹ ініціалізŃвати ĐşĐµŃ libmount"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr "надійŃов запит на Ńтовпчик %s, але --poll не Ńвімкнено"
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "порожній довий параметр піŃля аргŃĐĽĐµĐ˝Ń‚Ń -l або --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "невідома оболонка піŃля аргŃĐĽĐµĐ˝Ń‚Ń -s або --shell"
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" %1$s рядок_ключів параметри\n"
+" %1$s [ключі] [--] рядок_ключів параметри\n"
+" %1$s [ключі] -o|--options рядок_ключів [ключі] [--] параметри\n"
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative довгі аргŃменти можŃŃ‚ŃŚ починалиŃŃŚ Đ· одного -\n"
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Ця коротка довідка Đ· кориŃŃ‚Ńвання\n"
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=<довгі_ключі> довгі ключі, які Ńлід розпізнавати\n"
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+" -n, --name <назва_програми> помилки виводити від імені цієї програми\n"
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options <Ńпециф_арг> Ńпецифікація коротких аргŃментів\n"
+
+#: misc-utils/getopt.c:328
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+" -q, --quiet вимкнŃти Ńповіщення про помилки від getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output не виводити звичайні дані\n"
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell <оболонка> вŃтановити Ńтиль викориŃтання лапок ŃŹĐş Ń "
+"оболонці\n"
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Перевірити верŃŃ–ŃŽ getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr ""
+" -u, --unqote не викориŃтовŃвати лапки Ń Đ˛Đ¸Đ˛ĐµĐ´ĐµĐ˝Đ¸Ń… даних\n"
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version вивеŃти дані щодо верŃŃ–Ń—\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "немає аргŃĐĽĐµĐ˝Ń‚Ń Ńпециф_арг"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "внŃтріŃня помилка, зв'яжітьŃŃŹ Đ· автором."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: невідомий Ńигнал %s\n"
+
+#: misc-utils/kill.c:244
+msgid "invalid sigval argument"
+msgstr "некоректний аргŃмент sigval"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: не вдалоŃŃŹ знайти ĐżŃ€ĐľŃ†ĐµŃ \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: невідомий Ńигнал %s; правильні Ńигнали:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "викориŃтання: %s [ -s Ńигнал | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ Ńигнал ]\n"
+
+#: misc-utils/logger.c:88
+#, c-format
+msgid "unknown facility name: %s."
+msgstr "невідома назва можливоŃŃ‚Ń–: %s."
+
+#: misc-utils/logger.c:97
+#, c-format
+msgid "unknown priority name: %s."
+msgstr "невідома назва пріоритетŃ: %s."
+
+#: misc-utils/logger.c:107
+#, c-format
+msgid "openlog %s: pathname too long"
+msgstr "openlog %s: Ńлях Ń” надто довгим"
+
+#: misc-utils/logger.c:113
+#, c-format
+msgid "socket %s"
+msgstr "Ńокет %s"
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr "з'єднання %s"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "Ńокет"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "з'єднання"
+
+#: misc-utils/logger.c:174
+#, c-format
+msgid " %s [options] [message]\n"
+msgstr " %s [параметри] [повідомлення]\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -d, --udp викориŃтовŃвати UDP (TCP Ń” типовим)\n"
+" -i, --id запиŃати Đ´Đľ жŃŃ€Đ˝Đ°Đ»Ń Ń–Đ´ĐµĐ˝Ń‚Đ¸Ń„Ń–ĐşĐ°Ń‚ĐľŃ€Đ¸ процеŃів\n"
+" -f, --file <файл> запиŃати Đ´Đľ жŃŃ€Đ˝Đ°Đ»Ń Đ˛ĐĽŃ–ŃŃ‚ цього файла\n"
+" -h, --help вивеŃти цей довідковий текŃŃ‚ Ń– вийти\n"
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+" -n, --server <назва> веŃти Đ·Đ°ĐżĐ¸Ń Đ´Đľ вказаного віддаленого Ńервера "
+"жŃрналювання\n"
+" -P, --port <чиŃло> викориŃтовŃвати вказаний порт UDP\n"
+" -p, --priority <пріо> позначати вказане повідомлення цим рівнем "
+"пріоритетноŃŃ‚Ń–\n"
+" -s, --stderr вивеŃти також повідомлення Đ´Đľ Ńтандартного виведення "
+"помилок\n"
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+" -t, --tag <мітка> позначати вŃŃ– рядки цією міткою\n"
+" -u, --socket <Ńокет> запиŃати дані Đ´Đľ цього Ńокета Unix\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+"\n"
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr "файл %s"
+
+#: misc-utils/logger.c:261
+msgid "invalid port number argument"
+msgstr "некоректний аргŃмент номера портŃ"
+
+#: misc-utils/look.c:370
+#, c-format
+msgid " %s [options] string [file]\n"
+msgstr " %s [параметри] рядок [файли]\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --alternative викориŃтовŃвати Ń–Đ˝Ńий Ńловник\n"
+" -d, --alphanum порівнювати лиŃе бŃквенно-цифрові Ńимволи\n"
+" -f, --ignore-case ігнорŃвати регіŃŃ‚Ń€ під Ń‡Đ°Ń ĐżĐľŃ€Ń–Đ˛Đ˝ŃŹĐ˝Đ˝ŃŹ\n"
+" -t, --terminate <Ńимв> визначити Ńимвол заверŃення рядка\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+"\n"
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr "назва приŃтрою"
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr "внŃтріŃня назва приŃтрою Ń ŃŹĐ´Ń€Ń–"
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr "ĐşŃди змонтовано приŃтрій"
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr "МІТКРфайлової ŃиŃтеми"
+
+#: misc-utils/lsblk.c:119
+msgid "partition LABEL"
+msgstr "МІТКРрозділŃ"
+
+#: misc-utils/lsblk.c:122
+msgid "read-ahead of the device"
+msgstr "ŃŃ‚Đ°Đ˝ випереджального читання Đ· приŃтрою"
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr "приŃтрій лиŃе-для-читання"
+
+#: misc-utils/lsblk.c:124
+msgid "removable device"
+msgstr "портативний приŃтрій"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr "змінний приŃтрій"
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr "ідентифікатор приŃтрою"
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr "розмір приŃтрою"
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr "ŃŃ‚Đ°Đ˝ приŃтрою"
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr "Ń–ĐĽ'ŃŹ кориŃŃ‚Ńвача"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr "назва грŃпи"
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr "права Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ вŃзла приŃтрою"
+
+#: misc-utils/lsblk.c:132
+msgid "alignment offset"
+msgstr "відŃŃ‚ŃĐż вирівнювання"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr "мінімальний розмір введення-виведення"
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr "оптимальний розмір введення-виведення"
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr "розмір фізичного Ńектора"
+
+#: misc-utils/lsblk.c:136
+msgid "logical sector size"
+msgstr "розмір логічного Ńектора"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr "назва планŃвальника введення-виведення"
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr "розмір черги запитів"
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr "тип приŃтрою"
+
+#: misc-utils/lsblk.c:140
+msgid "discard alignment offset"
+msgstr "відкинŃти відŃŃ‚ŃĐż вирівнювання"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr "відкинŃти ĐłĐ»Đ¸Đ±Đ¸Đ˝Ń Đ´ĐµŃ‚Đ°Đ»Ń–Đ·Đ°Ń†Ń–Ń—"
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr "відкинŃти ĐĽĐ°ĐşŃĐ¸ĐĽĐ°Đ»ŃŚĐ˝Ń ĐşŃ–Đ»ŃŚĐşŃ–ŃŃ‚ŃŚ байтів"
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr "відкинŃти Đ˝Ńльові дані"
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr "Ńнікальний ідентифікатор Ńховища даних"
+
+#: misc-utils/lsblk.c:828
+#, c-format
+msgid "%s: failed to get device path"
+msgstr "%s: не вдалоŃŃŹ отримати Ńлях Đ´Đľ приŃтрою"
+
+#: misc-utils/lsblk.c:835
+#, c-format
+msgid "%s: unknown device name"
+msgstr "%s: невідома назва приŃтрою"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "%s: не вдалоŃŃŹ ініціалізŃвати обробник sysfs"
+
+#: misc-utils/lsblk.c:869
+#, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: не вдалоŃŃŹ отримати Đ˝Đ°Đ·Đ˛Ń dm"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr "не вдалоŃŃŹ відкрити каталог приŃтрою Ń sysfs"
+
+#: misc-utils/lsblk.c:1081
+#, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: не вдалоŃŃŹ отримати номер приŃтрою вŃього диŃка"
+
+#: misc-utils/lsblk.c:1099
+#, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "не вдалоŃŃŹ зібрати Ńлях sysfs для %s"
+
+#: misc-utils/lsblk.c:1106
+#, c-format
+msgid "%s: failed to read link"
+msgstr "%s: не вдалоŃŃŹ прочитати поŃилання"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, c-format
+msgid "failed to parse list '%s'"
+msgstr "не вдалоŃŃŹ обробити ŃпиŃок '%s'"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr "ŃпиŃок виключених приŃтроїв Ń” занадто довгим (обмежено %d приŃтроями)"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr "ŃпиŃок включених приŃтроїв Ń” занадто довгим (обмежено %d приŃтроями)"
+
+#: misc-utils/lsblk.c:1194
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [параметри] [<приŃтрій> ...]\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -a, --all вивеŃти ŃпиŃок вŃŃ–Ń… приŃтроїв\n"
+" -b, --bytes вивеŃти РОЗМІР Ń Đ±Đ°ĐąŃ‚Đ°Ń…, Đ° не Ń Đ·Ń€ŃŃ‡Đ˝ĐľĐĽŃ Đ´Đ»ŃŹ читання "
+"форматі\n"
+" -d, --nodeps не виводити підлеглі елемент або ŃтримŃвачі\n"
+" -D, --discard вивеŃти дані щодо відкинŃтих можливоŃтей\n"
+" -e, --exclude <ŃпиŃок> виключити приŃтрої Đ·Đ° ĐľŃновним номером (типово диŃки "
+"Ń ĐżĐ°ĐĽâ€™ŃŹŃ‚Ń–)\n"
+" -I, --include <ŃпиŃок> вивеŃти лиŃе приŃтрої Đ· вказаними ĐľŃновними "
+"номерами\n"
+" -f, --fs вивеŃти дані щодо файлових ŃиŃтем\n"
+" -h, --help дані щодо кориŃŃ‚Ńвання (цей текŃŃ‚)\n"
+" -i, --ascii викориŃтовŃвати лиŃе Ńимволи ASCII\n"
+" -m, --perms вивеŃти дані щодо прав Đ´ĐľŃŃ‚ŃĐżŃ\n"
+" -l, --list викориŃтатиŃŃŹ для виведення формат ŃпиŃĐşŃ\n"
+" -n, --noheadings не виводити заголовки\n"
+" -o, --output <ŃпиŃок> Ńтовпчики виведених даних\n"
+" -P, --pairs ŃкориŃтатиŃŃŹ для виведення форматом ключ=\"значення"
+"\"\n"
+" -r, --raw ŃкориŃтатиŃŃŹ для виведення режим без обробки\n"
+" -s, --inverse виконати інверŃŃ–ŃŽ залежноŃтей\n"
+" -t, --topology вивеŃти дані щодо топології\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr ""
+"\n"
+"Можливі Ńтовпчики (для --output):\n"
+
+#: misc-utils/lsblk.c:1231
+#, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "не вдалоŃŃŹ отримати Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ ĐşĐ°Ń‚Đ°Đ»ĐľĐłŃ sysfs: %s"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr "команда процеŃŃ, що ŃтримŃŃ” блокŃвання"
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr "PID процеŃŃ, який ŃтримŃŃ” блокŃвання"
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr "тип блокŃвання: FL_FLOCK або FL_POSIX."
+
+#: misc-utils/lslocks.c:71
+msgid "size of the lock"
+msgstr "розмір блокŃвання"
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr "режим Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ блокŃвання"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr "обов’язковий ŃŃ‚Đ°Đ˝ блокŃвання: 0 (немає), 1 (вŃтановлено)"
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr "відноŃний Đ·ŃŃв блокŃвання Ń Đ±Đ°ĐąŃ‚Đ°Ń…"
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr "Đ·ŃŃв кінця блокŃвання"
+
+#: misc-utils/lslocks.c:76
+msgid "path of the locked file"
+msgstr "Ńлях Đ´Đľ заблокованого файла"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "не вдалоŃŃŹ обробити pid"
+
+#: misc-utils/lslocks.c:274
+msgid "(unknown)"
+msgstr "(невідомий)"
+
+#: misc-utils/lslocks.c:283
+msgid "failed to parse start"
+msgstr "не вдалоŃŃŹ обробити початок"
+
+#: misc-utils/lslocks.c:290
+msgid "failed to parse end"
+msgstr "не вдалоŃŃŹ обробити кінець"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, c-format
+msgid " %s [options]\n"
+msgstr " %s [параметри]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <pid> ідентифікатор процеŃŃ\n"
+" -o, --output <ŃпиŃок> визначити ŃпиŃок Ńтовпчиків для виведення\n"
+" -n, --noheadings не виводити заголовків Ńтовпчиків\n"
+" -r --raw викориŃтовŃвати формат виведення даних без обробки\n"
+" -u, --notruncate не обрізати текŃŃ‚ Ń Ńтовпчиках\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+msgid "invalid PID argument"
+msgstr "некоректний аргŃмент PID"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -f, --file <файл> викориŃтовŃвати файл для Ńтворення ĐşŃĐş\n"
+" -v, --verbose показŃвати дані щодо виконання Đ´Ń–Đą\n"
+" -v, --version показати дані щодо верŃŃ–Ń— Ń– заверŃити роботŃ.\n"
+" -h, --help показати цю Đ´ĐľĐ˛Ń–Đ´ĐşĐľĐ˛Ń Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–ŃŽ Ń– заверŃити роботŃ.\n"
+"\n"
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Отримано %d байт з %s\n"
+
+#: misc-utils/mcookie.c:158
+#, c-format
+msgid "closing %s failed"
+msgstr "помилка під Ń‡Đ°Ń Ńпроби закрити %s"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "не вдалоŃŃŹ прочитати Ńимволічне поŃилання: %s"
+
+#: misc-utils/namei.c:370
+#, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s — немає такого файла або каталогŃ.\n"
+
+#: misc-utils/namei.c:420
+#, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr " %s [параметри] Ńлях [Ńлях ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+" -h, --help вивеŃти цей довідковий текŃŃ‚\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -x, --mountpoints вивеŃти каталоги точок монтŃвання Đ· «D»\n"
+" -m, --modes вивеŃти біти Ń€ĐµĐ¶Đ¸ĐĽŃ Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đ»ŃŹ кожного Đ· файлів\n"
+" -o, --owners вивеŃти дані щодо влаŃника Ń– назви грŃпи для кожного Đ· "
+"файлів\n"
+" -l, --long викориŃтовŃвати формат довгого ŃпиŃĐşŃ (-m -o -v) \n"
+" -n, --nosymlinks не переходити Đ·Đ° Ńимволічними поŃиланнями\n"
+" -v, --vertical вертикальне вирівнювання для запиŃів режимів Ń‚Đ° "
+"влаŃників\n"
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"ДокладніŃŃ– відомоŃŃ‚Ń– можна знайти Ń Đ´ĐľĐ˛Ń–Đ´Đ˝Đ¸ĐşŃ Đ· namei(1).\n"
+
+#: misc-utils/namei.c:493
+msgid "pathname argument is missing"
+msgstr "не вказано аргŃĐĽĐµĐ˝Ń‚Ń ŃляхŃ"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s: перевищено обмеження на Ńимволічні поŃилання"
+
+#: misc-utils/rename.c:54
+#, c-format
+msgid "renaming %s to %s failed"
+msgstr "помилка перейменŃвання %s на %s"
+
+#: misc-utils/rename.c:67
+#, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr " %s [параметри] вираз замінник файл...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose показŃвати дані щодо виконання Đ´Ń–Đą\n"
+" -v, --version показати дані щодо верŃŃ–Ń— Ń– заверŃити роботŃ.\n"
+" -h, --help показати цю Đ´ĐľĐ˛Ń–Đ´ĐşĐľĐ˛Ń Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–ŃŽ Ń– заверŃити "
+"роботŃ.\n"
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -p, --pid <Ńлях> Ńлях Đ´Đľ файла pid\n"
+" -s, --socket <Ńлях> Ńлях Đ´Đľ Ńокета\n"
+" -T, --timeout <Ńек> вказати Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання на активніŃŃ‚ŃŚ\n"
+" -k, --kill заверŃити Ń€ĐľĐ±ĐľŃ‚Ń Đ·Đ°ĐżŃщеної фонової ŃĐ»Ńжби\n"
+" -r, --random перевірити Ńтворення на ĐľŃнові випадкового чиŃла\n"
+" -t, --time перевірити Ńтворення на ĐľŃнові даних щодо чаŃŃ\n"
+" -n, --uuids <кількіŃŃ‚ŃŚ> надіŃлати запит на декілька UUID\n"
+" -P, --no-pid не Ńтворювати файл pid\n"
+" -F, --no-fork не Ńтворювати ŃĐ»Ńжби Đ·Đ° допомогою подвійного "
+"розгалŃження\n"
+" -S, --socket-activation не Ńтворювати Ńокета очікŃвання даних\n"
+" -d, --debug Đ·Đ°ĐżŃŃтити Ń Đ´Ń–Đ°ĐłĐ˝ĐľŃŃ‚Đ¸Ń‡Đ˝ĐľĐĽŃ Ń€ĐµĐ¶Đ¸ĐĽŃ–\n"
+" -q, --quiet ŃвімкнŃти режим без повідомлень\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+"\n"
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "помилкові параметри"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "запиŃ"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr "кількіŃŃ‚ŃŚ читань"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "помилкова довжина відповіді"
+
+#: misc-utils/uuidd.c:220
+#, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "Не вдалоŃŃŹ відкрити або Ńтворити %s: %m\n"
+
+#: misc-utils/uuidd.c:235
+#, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "Не вдалоŃŃŹ заблокŃвати %s: %m\n"
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Не вдалоŃŃŹ Ńтворити Ńокет ĐżĐľŃ‚ĐľĐşŃ Đ´Đ°Đ˝Đ¸Ń… unix: %m"
+
+#: misc-utils/uuidd.c:285
+#, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Не вдалоŃŃŹ прив'язатиŃŃŹ Đ´Đľ Ńокета unix %s: %m\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "Ń„ĐľĐ˝ĐľĐ˛Ń ŃĐ»ŃĐ¶Đ±Ń uuidd вже Đ·Đ°ĐżŃщено Đ· pid %s\n"
+
+#: misc-utils/uuidd.c:334
+#, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Не вдалоŃŃŹ почати очікŃвання даних на Ńокеті unix %s: %m\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+"Не отримано жодного деŃкриптора файла або отримано надто багато деŃкрипторів "
+"файлів.\n"
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Помилка під Ń‡Đ°Ń Ń‡Đ¸Ń‚Đ°Đ˝Đ˝ŃŹ Đ· клієнта, довжина = %d\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "операція %d, вхідне чиŃло = %d\n"
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr "Đ´Ń–ŃŹ %d\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "Створений на ĐľŃнові чаŃŃ UUID: %s\n"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "Створений ĐżŃевдовипадковий UUID: %s\n"
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] "Створено UUID на ĐľŃнові чаŃŃ %s Ń– ще %d UUID\n"
+msgstr[1] "Створено UUID на ĐľŃнові чаŃŃ %s Ń– ще %d UUID\n"
+msgstr[2] "Створено UUID на ĐľŃнові чаŃŃ %s Ń– ще %d UUID\n"
+msgstr[3] "Створено UUID на ĐľŃнові чаŃŃ %s Ń– ще одне UUID\n"
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "Створено %d UUID:\n"
+msgstr[1] "Створено %d UUID:\n"
+msgstr[2] "Створено %d UUID:\n"
+msgstr[3] "Створено %d UUID:\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Некоректна дія %d\n"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "НеочікŃвана довжина відповіді від Ńервера %d"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Помилковий номер: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr "uuidd бŃло зібрано без підтримки активації Ńокетів.\n"
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr "Вказано ĐľĐ´Ń€Đ°Đ·Ń --pid Ń– --no-pid. ІгнорŃємо --no-pid.\n"
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+"Вказано ĐľĐ´Ń€Đ°Đ·Ń ĐżĐ°Ń€Đ°ĐĽĐµŃ‚Ń€Đ¸ --socket-activation Ń– --socket. ІгнорŃємо --socket\n"
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Помилка під Ń‡Đ°Ń Ńпроби викликати Ń„ĐľĐ˝ĐľĐ˛Ń ŃĐ»ŃĐ¶Đ±Ń uuidd (%s): %m\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "%s Ń– %d поŃлідовний UUID\n"
+msgstr[1] "%s Ń– %d поŃлідовні UUID\n"
+msgstr[2] "%s Ń– %d поŃлідовні UUID\n"
+msgstr[3] "%s Ń– %d поŃлідовний UUID\n"
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr "СпиŃок UUID:\n"
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Не вдалоŃŃŹ припинити Ń€ĐľĐ±ĐľŃ‚Ń uuidd, Đ·Đ°ĐżŃщеного Đ· pid %d: %m\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "Припинено Ń€ĐľĐ±ĐľŃ‚Ń uuidd Đ· pid %d\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -r, --random Ńтворити ĐżŃевдовипадковий uuid\n"
+" -t, --time Ńтворити uuid на ĐľŃнові поточного чаŃŃ\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+" -f <файл> визначити діапазон поŃŃĐşŃ\n"
+" -b ŃŃкати лиŃе виконŃвані файли\n"
+" -B <кат> визначити ĐĽŃ–Ńця поŃŃĐşŃ Đ˛Đ¸ĐşĐľĐ˝Ńваних файлів\n"
+" -m ŃŃкати лиŃе Ń ĐşĐ°Ń‚Đ°Đ»ĐľĐłĐ°Ń… Đ· підрŃчниками\n"
+" -M <кат> визначити ĐĽŃ–Ńця поŃŃĐşŃ ĐżŃ–Đ´Ń€Ńчників\n"
+" -s ŃŃкати лиŃе Ń ĐşĐ°Ń‚Đ°Đ»ĐľĐłĐ°Ń… Đ· початковими кодами\n"
+" -S <кат> визначити ĐĽŃ–Ńця поŃŃĐşŃ ĐżĐľŃ‡Đ°Ń‚ĐşĐľĐ˛Đ¸Ń… кодів\n"
+" -u ŃŃкати Ńеред нетипових об’єктів\n"
+" -V вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h вивеŃти це довідкове повідомлення Ń– вийти\n"
+"\n"
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+"ДокладніŃе про викориŃтання аргŃментів файла Ń‚Đ° каталогів можна дізнатиŃŃŹ Đ· "
+"докŃментації Đ´Đľ whereis(1).\n"
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "помилка: %s: Ńпроба ініціалізації зондŃвання зазнала невдачі"
+
+#: misc-utils/wipefs.c:292
+#, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: не вдалоŃŃŹ витерти рядок контрольної ŃŃми %s Đ·Đ° Đ·ŃŃвом 0x%08jx"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr "%s: %zd байтів бŃло вилŃчено Đ·Đ° Đ·ŃŃвом 0x%08jx (%s): "
+
+#: misc-utils/wipefs.c:344
+#, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "%s: позиції Đ·Ń– Đ·ŃŃвом 0x%jx не знайдено"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all витерти вŃŃ– рядки контрольних ŃŃĐĽ (БУДЬТЕ ОБĐЧНІ!)\n"
+" -h, --help вивеŃти це довідкове повідомлення\n"
+" -n, --no-act виконати вŃŃ– Đ´Ń–Ń—, окрім Đ˛Đ¸ĐşĐ»Đ¸ĐşŃ Ń„Ńнкції write()\n"
+" -o, --offset <n> Đ·ŃŃв для витирання Ń Đ±Đ°ĐąŃ‚Đ°Ń…\n"
+" -p, --parsable виводити повідомлення Ń Đ·Ń€ŃŃ‡Đ˝ĐľĐĽŃ Đ´Đ»ŃŹ читання, Đ° не для "
+"Đ´Ń€ŃĐşŃ Ń„ĐľŃ€ĐĽĐ°Ń‚Ń–\n"
+" -q, --quiet придŃŃити виведення повідомлень\n"
+" -t, --types <ŃпиŃок> обмежити набір файлових ŃиŃтем, ĐĽĐ°Ńивів RAID або "
+"таблиць розділів\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"ДокладніŃŃ– відомоŃŃ‚Ń– можна знайти Ń Đ´ĐľĐ˛Ń–Đ´Ń†Ń– Đ´Đľ wipefs(8).\n"
+
+#: misc-utils/wipefs.c:425
+msgid "invalid offset argument"
+msgstr "некоректний аргŃмент Đ·ŃŃвŃ"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "Попередження: помилка читання %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "Попередження: не вдалоŃŃŹ відкрити %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: не вдалоŃŃŹ відкрити %s - натоміŃŃ‚ŃŚ викориŃтовŃєтьŃŃŹ %s\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"не вдалоŃŃŹ Ńтворити файл блокŃвання %s: %s (для перевизначення "
+"викориŃтовŃйте -n)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"не вдалоŃŃŹ Ńтворити поŃилання на файл блокŃвання %s: %s (для перевизначення "
+"викориŃтовŃйте -n)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"не вдалоŃŃŹ відкрити файл блокŃвання %s: %s (для перевизначення "
+"викориŃтовŃйте -n)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "не вдалоŃŃŹ заблокŃвати файл блокŃвання %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "не вдалоŃŃŹ заблокŃвати файл блокŃвання %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "вийŃов Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"не вдалоŃŃŹ Ńтворити поŃилання %s\n"
+"Можливо Ń” Đ·Đ°Ńтарілий файл файл блокŃвання?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "не вдалоŃŃŹ відкрити %s (%s) - mtab не оновлено"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "помилка запиŃŃ %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: не вдалоŃŃŹ виконати fflush для Đ·ĐĽŃ–Đ˝: %s"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "помилка зміни Ń€ĐµĐ¶Đ¸ĐĽŃ Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "помилка зміни влаŃника %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "не вдалоŃŃŹ перейменŃвати %s Ń %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount: попередження: Đ·Đ°ĐżĐ¸Ń Đ´Đľ /etc/mtab неможливий (можливо, через Ń„Đ°ĐąĐ»ĐľĐ˛Ń "
+"ŃиŃтемŃ).\n"
+" Ймовірно, що дані, повідомлені mount(8) не відповідають поточній "
+"ŃитŃації.\n"
+" Щоб дізнатиŃŃŹ Ńправжні дані щодо точок монтŃвання ŃиŃтеми, "
+"ŃкориŃтайтеŃŃŹ\n"
+" файлом /proc/mounts.\n"
+"\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: помилки Ń Đ˛Đ¸ĐşĐľŃ€Đ¸Ńтанні лапок Ń Ń€ŃŹĐ´ĐşŃ ĐżĐ°Ń€Đ°ĐĽĐµŃ‚Ń€Ń–Đ˛ «%s»"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: перенеŃено %s «%s» Đ´Đľ «%s»\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+"mount: параметри SELinux *context= ігнорŃŃŽŃ‚ŃŚŃŃŹ під Ń‡Đ°Ń ĐżĐľĐ˛Ń‚ĐľŃ€Đ˝ĐľĐłĐľ "
+"монтŃвання.\n"
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: згідно mtab, %s вже підключений Ń %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: згідно mtab, %s підключений Ń %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: не вдалоŃŃŹ відкрити %s для запиŃŃ: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: помилка запиŃŃ %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: помилка зміни прав Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: не вдалоŃŃŹ вŃтановити ідентифікатор грŃпи: %m"
+
+#: mount-deprecated/mount.c:813
+#, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: не вдалоŃŃŹ вŃтановити ідентифікатор кориŃŃ‚Ńвача: %m"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: помилка Ńтворення процеŃŃ: %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "ВипробовŃєтьŃŃŹ %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: ви не вказали тип файлової ŃиŃтеми для %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " бŃĐ´ŃŃ‚ŃŚ випробŃвані вŃŃ– типи вказані Ń %s або %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " Ń‚Đ° він Ńхожий розділ підкачки\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " бŃде випробŃвано тип %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s Ńхожий на розділ підкачки - не підключатиметьŃŃŹ"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+"mount: %s: виявлено додаткові файлові ŃиŃтеми. Цього не мало трапитиŃŃŹ,\n"
+" ŃкориŃтайтеŃŃŹ -t <тип>, щоб явно вказати тип файлової ŃиŃтеми або\n"
+" wipefs(8), щоб Ńпорожнити приŃтрій.\n"
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "помилка підключення"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: лиŃе адмініŃтратор(root) може підключати %s Ń %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: loop-приŃтрій вказано двічі"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: тип вказано двічі"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: пропŃŃкаєтьŃŃŹ вŃтановлення loop-приŃтрою\n"
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr ""
+"mount: вмикаємо прапорець автоматичного очищення петльового приŃтрою (loop)\n"
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "mount: вказано некоректний Đ·ŃŃв «%s»"
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "mount: вказано некоректне обмеження розмірŃ, «%s»"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+"mount: згідно mtab, %s вже змонтовано Đ´Đľ %s ŃŹĐş петльовий приŃтрій (loop)"
+
+#: mount-deprecated/mount.c:1314
+msgid "mount: couldn't lock into memory"
+msgstr "mount: не вдалоŃŃŹ заблокŃвати Ń ĐżĐ°ĐĽâ€™ŃŹŃ‚Ń–"
+
+#: mount-deprecated/mount.c:1334
+msgid "mount: failed to found free loop device"
+msgstr "mount: не вдалоŃŃŹ знайти вільний петльовий приŃтрій (loop)"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: бŃде викориŃтовŃватиŃŃŚ loop-приŃтрій %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr ""
+"mount: %s: не вдалоŃŃŹ вŃтановити атрибŃти петльового приŃтрою (loopdev)"
+
+#: mount-deprecated/mount.c:1364
+#, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: %s: не вдалоŃŃŹ налаŃŃ‚Ńвати петльовий приŃтрій (loop): %m"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: викрадено петльовий приŃтрій %s ...повторюємо ŃпробŃ\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: викрадено петльовий приŃтрій %s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: вŃтановлення loop-приŃтрою ŃŃпіŃно заверŃено\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: не знайдено %s - ŃтворюєтьŃŃŹ..\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: аргŃмент для -p або --pass-fd повинен бŃти чиŃлом"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: помилка відкривання %s для вŃтановлення ŃвидкоŃŃ‚Ń–"
+
+#: mount-deprecated/mount.c:1473
+#, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: не вдалоŃŃŹ вŃтановити ŃвидкіŃŃ‚ŃŚ: %m"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: згідно з mtab, %s вже змонтовано до %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr ""
+"mount: попередження: здаєтьŃŃŹ, %s бŃде змонтовано Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– читання-запиŃŃ.\n"
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr ""
+"mount: попередження: здаєтьŃŃŹ, %s бŃде змонтовано Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– лиŃе читання\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: не вдалоŃŃŹ визначити тип файлової ŃиŃтеми, Ń‚Đ° тип явно не вказаний"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: необхідно вказати тип файлової ŃиŃтеми"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: помилка підключення"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: точка монтŃвання %s не Ń” каталогом"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: Đ´ĐľŃŃ‚ŃĐż заборонено"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: для викориŃтання mount Ńлід мати права адмініŃтратора"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s зайнятий"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: proc вже підключено"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s вже підключено або %s зайнятий"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: точки монтŃвання %s не Ń–ŃĐ˝ŃŃ”"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: точка монтŃвання %s Ń” Ńимволічним поŃиланням, яке вказŃŃ” нікŃди"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: Ńпеціальний приŃтрій %s не Ń–ŃĐ˝ŃŃ”"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: Ńпеціальний приŃтрій %s не Ń–ŃĐ˝ŃŃ”\n"
+" (ĐżŃ€ĐµŃ„Ń–ĐşŃ ŃĐ»ŃŹŃ…Ń Đ˝Đµ Ń” каталогом)\n"
+
+#: mount-deprecated/mount.c:1756
+#, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s не змонтовано або вказано помилковий параметр"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: помилковий тип ФС, помилковий параметр, помилковий ŃŃперблок на %s,\n"
+" не виŃтачає кодової Ńторінки або допоміжної програми чи Ń–Đ˝ŃĐ° помилка"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (для роботи Đ· деякими файловими ŃиŃтемами (зокрема nfs, cifs)\n"
+" вам може знадобитиŃŃŹ допоміжна програма /sbin/mount.<тип>)"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (може це приŃтрій IDE, для якого ви фактично викориŃтовŃєте\n"
+" ide-scsi, Ń‚ĐľĐĽŃ ĐżĐľŃ‚Ń€Ń–Đ±Đ˝Ń– sr0, або sda чи щоŃŃŚ подібне?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (чи не намагаєтеŃŃŚ ви aren't you trying to mount an extended "
+"partition,\n"
+" instead of some logical partition inside?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" ĐŁ деяких випадках кориŃĐ˝Ń Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–ŃŽ можна знайти Ń ŃиŃŃ‚ĐµĐĽĐ˝ĐľĐĽŃ "
+"жŃрналі\n"
+" ŃпробŃйте - dmesg | tail чи щоŃŃŚ подібне\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "таблиця монтŃвання переповнена"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: не вдалоŃŃŹ прочитати ŃŃперблок"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: невідомий приŃтрій"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: невідомий тип файлової ŃиŃтеми '%s'"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: можливо ви мали на Ńвазі %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: можливо ви мали на Ńвазі 'iso9660'?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: можливо ви мали на Ńвазі iso9660 ?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s ĐĽĐ°Ń” неправильний номер приŃтрою або файлова ŃиŃтема Ń‚Đ¸ĐżŃ %s не "
+"підтримŃєтьŃŃŹ"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s не Ń” блоковим приŃтроєм, Ń‚Đ° stat зазнав невдачі?"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: приŃтрій %s не розпізнано ядром ŃŹĐş блоковий\n"
+" (забŃли «modprobe драйвер»?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s не Ń” блоковим приŃтроєм (можливо, ŃпробŃйте `-o loop'?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s не Ń” блоковим приŃтроєм"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s не Ń” правильним блоковим приŃтроєм"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "блочний приŃтрій "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: не вдалоŃŃŹ підключити %s%s лиŃе для читання"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s захищений від запиŃŃ, але бŃло вказано ключ `-w'"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+"mount: не вдалоŃŃŹ повторно змонтŃвати %s%s Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– читання-запиŃŃ, приŃтрій "
+"захищено від запиŃŃ"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s захищений від запиŃŃ, монтŃєтьŃŃŹ лиŃе для читання"
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: не знайдено ноŃŃ–ŃŹ Ń %s"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+"mount: %s не ĐĽŃ–Ńтить міток SELinux.\n"
+" Ви щойно змонтŃвали Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃтемŃ, Ń ŃŹĐşŃ–Đą передбачено мітки Ń– яка\n"
+" не ĐĽŃ–Ńтить міток, Ń ĐľĐżĐµŃ€Đ°Ń†Ń–ĐąĐ˝Ń–Đą ŃиŃтемі Đ· підтримкою SELinux.\n"
+" Ймовірно, програми Đ· обмеженнями Ń Đ´ĐľŃŃ‚Ńпі виводитимŃŃ‚ŃŚ повідомлення\n"
+" AVC Ń– не зможŃŃ‚ŃŚ отримŃвати Đ´ĐľŃŃ‚ŃĐż Đ´Đľ цієї файлової ŃиŃтеми.\n"
+" Щоб дізнатиŃŃŹ більŃе, ознайомтеŃŃŹ Đ· докŃментацією Đ´Đľ restorecon(8) Ń–\n"
+" mount(8).\n"
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: не вказано тип - вважаєтьŃŃŹ nfs, через наявніŃŃ‚ŃŚ двокрапки\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount: не вказано тип - вважаєтьŃŃŹ cifs, через наявніŃŃ‚ŃŚ префікŃŃ //\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr "mount: ігнорŃємо %s (непридатний Đ´Đľ обробки параметр offset=)\n"
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s вже підключений Ń %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"КориŃŃ‚Ńвання: mount -V : вивеŃти верŃŃ–ŃŽ\n"
+" mount -h : вивеŃти цю довідкŃ\n"
+" mount : вивеŃти перелік підключених файлових "
+"ŃиŃтем\n"
+" mount -l : те ж Ńаме, але також виводити мітки томів\n"
+"ДоŃŃ– бŃла інформаційна чаŃтина. Далі про монтŃвання файлових ŃиŃтем.\n"
+"Команда Ń” такою: `mount [-t тип_Ń„Ń] що ĐşŃди'.\n"
+"Подробиці, вказані Ń /etc/fstab, можна пропŃŃкати.\n"
+" mount -a [-t|-O] ... : змонтŃвати вŃŃ– файлові ŃиŃтеми Đ· /etc/"
+"fstab\n"
+" mount приŃтрій : змонтŃвати приŃтрій Ń Đ˛Ń–Đ´ĐľĐĽĐµ ĐĽŃ–Ńце\n"
+" mount каталог : змонтŃвати Ń Ń†ĐµĐą каталог відомий приŃтрій\n"
+" mount -t тип приŃŃ‚Ń€ кат : звичайна команда монтŃвання\n"
+"Зверніть ŃвагŃ, наŃправді монтŃєтьŃŃŹ не приŃтрій, Đ° файлова ŃиŃтема\n"
+"(вказаного), розтаŃована на приŃтрої.\n"
+"Також можна монтŃвати вже видимий каталог Ń Ń–Đ˝Ńе ĐĽŃ–Ńце:\n"
+" mount --bind Ńтарий_кат новий_кат\n"
+"або переŃŃвати піддерево:\n"
+" mount --move Ńтарий_кат новий_кат\n"
+"Можна змірити тип Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ змонтованого каталогŃ:\n"
+" mount --make-shared каталог\n"
+" mount --make-slave каталог\n"
+" mount --make-private каталог\n"
+" mount --make-unbindable каталог\n"
+"Можна змінити Đ´ĐľŃŃ‚ŃĐż Đ´Đľ вŃŃ–Ń… елементів ієрархії змонтованого\n"
+"каталогŃ:\n"
+" mount --make-rshared каталог\n"
+" mount --make-rslave каталог\n"
+" mount --make-rprivate каталог\n"
+" mount --make-runbindable каталог\n"
+"ПриŃтрій можна вказŃвати Đ·Đ° назвою, наприклад /dev/hda1 або /dev/cdrom,\n"
+"або Đ·Đ° назвою Ń‚ĐľĐĽŃ (-L назва_томŃ), або Đ·Đ° uuid, викориŃтовŃючи -U uuid .\n"
+"ІнŃŃ– параметри: [-nfFrsvw] [-o параметри] [-p пароль].\n"
+"Đ”ĐľĐ´Đ°Ń‚ĐşĐľĐ˛Ń Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–ŃŽ можна отримати Đ· man 8 mount .\n"
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: це може робити лиŃе адмініŃтратор (ефективним UID Ń” %u)"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: це може робити лиŃе адмініŃтратор(root)"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "нічого не бŃло підключено"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: не знайдено такого розділŃ"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: не вдалоŃŃŹ знайти %s Ń %s або %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: Попередження: відŃŃтній Ńимвол нового рядка наприкінці %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: рядок %d Ń %s неправильний%s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; залиŃок Ń„Đ°ĐąĐ»Ń Ń–ĐłĐ˝ĐľŃ€ŃєтьŃŃŹ"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "помилка при Đ˛Đ¸ĐşĐ»Đ¸ĐşŃ xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "недоŃтатньо пам'ŃŹŃ‚Ń–"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: зібрано без підтримки -f\n"
+
+#: mount-deprecated/umount.c:139
+#, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: не вдалоŃŃŹ вŃтановити ідентифікатор грŃпи: %m"
+
+#: mount-deprecated/umount.c:142
+#, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: не вдалоŃŃŹ вŃтановити ідентифікатор кориŃŃ‚Ńвача: %m"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: не вдалоŃŃŹ Đ·Đ°ĐżŃŃтити дочірній процеŃ: %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: неправильний блочний приŃтрій"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: не підключений"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: не вдалоŃŃŹ запиŃати ŃŃперблок"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: приŃтрій зайнято.\n"
+" (Іноді кориŃні дані щодо процеŃів, які викориŃтовŃŃŽŃ‚ŃŚ\n"
+" приŃтрій, можна отримати Đ·Đ° допомогою lsof(8) або fuser(1))"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: не Ń–ŃĐ˝ŃŃ”"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: для викориŃтання umount Ńлід мати права адмініŃтратора"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: блочні приŃтрої не дозволено на файловій ŃиŃтемі"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr "umount: внŃтріŃня помилка: некоректний абŃолютний Ńлях: %s"
+
+#: mount-deprecated/umount.c:254
+#, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "umount: не вдалоŃŃŹ змінити каталог на %s: %m"
+
+#: mount-deprecated/umount.c:257
+#, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "umount: не вдалоŃŃŹ отримати поточний каталог: %m"
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "umount: Ń‚ĐľŃ‡ĐşŃ ĐĽĐľĐ˝Ń‚Ńвання переŃŃĐ˝ŃŃ‚Đľ (%s -> %s)"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr "поточний каталог переŃŃĐ˝ŃŃ‚Đľ Đ´Đľ %s\n"
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "немає umount2, пробŃєтьŃŃŹ umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s зайнятий - перепідключено Ń Ń€ĐµĐ¶Đ¸ĐĽ лиŃе-для-читання\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: не вдалоŃŃŹ перепідключити %s Ń Ń€ĐµĐ¶Đ¸ĐĽ лиŃе-для-читання\n"
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s бŃло демонтовано\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: не вдалоŃŃŹ знайти перелік файлових ŃиŃтем для відключення"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"КориŃŃ‚Ńвання: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t тип_вфŃ] [-O параметри]\n"
+" umount [-d] [-f] [-r] [-n] [-v] Ńпец_файл | вŃзол...\n"
+
+#: mount-deprecated/umount.c:558
+#, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "не вдалоŃŃŹ обробити параметри «offset=%s»\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "приŃтрій %s пов'язано Đ· %s\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "приŃтрій %s не пов'язано Đ· %s\n"
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr "Неможливо демонтŃвати «»\n"
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr "НамагаємоŃŃŹ демонтŃвати %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: помилка під Ń‡Đ°Ń Đ°Đ˝Đ°Đ»Ń–Đ·Ń mtab"
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+"umount: не вдалоŃŃŹ демонтŃвати %s -- %s змонтовано над ним Đ´Đľ тієї Ńамої "
+"точки монтŃвання"
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "не вдалоŃŃŹ знайти %s Ń mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr "%s пов’язано з %s\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+"umount: попередження: %s пов’язано Đ· декількома петльовими приŃтроями "
+"(loop)\n"
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s не є підключеним (згідно mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: здаєтьŃŃŹ %s підключений декілька разів"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s відŃŃтній Ń fstab (Ń‚Đ° ви не адмініŃтратор)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: підключений %s відрізняєтьŃŃŹ від fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: лиŃе %s може відключити %s від %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: це може робити лиŃе адмініŃтратор(root)"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+"\n"
+"chrt — динамічне керŃвання атрибŃтами процеŃŃ\n"
+"\n"
+"Đ’Ńтановити правила:\n"
+" chrt [параметри] <правила> <пріоритетніŃŃ‚ŃŚ> {<pid> | <команда> "
+"[<аргŃмент> ...]}\n"
+"\n"
+"Отримати правила:\n"
+" chrt [параметри] {<pid> | <команда> [<аргŃменти> ...]}\n"
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+"\n"
+"Правила планŃвання:\n"
+" -b | --batch вŃтановити правила SCHED_BATCH\n"
+" -f | --fifo вŃтановити правила SCHED_FIFO\n"
+" -i | --idle вŃтановити правила SCHED_IDLE\n"
+" -o | --other вŃтановити правила SCHED_OTHER\n"
+" -r | --rr вŃтановити правила SCHED_RR (типові)\n"
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+"\n"
+"Прапорці планŃвання:\n"
+" -R | --reset-on-fork вŃтановити SCHED_RESET_ON_FORK для FIFO або RR\n"
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -a | --all-tasks працювати Đ· ŃŃŃ–ĐĽĐ° завданнями (потоками) для вказаного "
+"pid\n"
+" -h | --help вивеŃти це довідкове повідомлення\n"
+" -m | --max вивеŃти мінімальне Ń– ĐĽĐ°ĐşŃимальне коректне значення "
+"пріоритетноŃŃ‚Ń–\n"
+" -p | --pid працювати Đ· вже Ńтвореним вказаним pid\n"
+" -v | --verbose вивеŃти дані щодо ŃŃ‚Đ°Đ˝Ń\n"
+" -V | --version вивеŃти дані щодо верŃŃ–Ń—\n"
+"\n"
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "не вдалоŃŃŹ отримати правила щодо pid %d"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "нові правила планŃвання pid %d: "
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "поточні правила планŃвання для pid %d: "
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr "невідомі правила планŃвання"
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "не вдалоŃŃŹ отримати атрибŃти pid %d"
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "новий пріоритет планŃвання pid %d: %d\n"
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "поточний пріоритет планŃвання pid %d: %d\n"
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "SCHED_%s ĐĽŃ–Đ˝./ĐĽĐ°ĐşŃ. пріоритет\t: %d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s не підтримŃєтьŃŃŹ?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+msgid "cannot obtain the list of tasks"
+msgstr "не вдалоŃŃŹ отримати ŃпиŃок завдань"
+
+#: schedutils/chrt.c:299
+msgid "invalid priority argument"
+msgstr "некоректний аргŃмент пріоритетŃ"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+"ĐżŃ–Đ´Ń‚Ń€Đ¸ĐĽĐşŃ ĐżŃ€Đ°ĐżĐľŃ€Ń†ŃŹ SCHED_RESET_ON_FORK передбачено лиŃе для правил "
+"SCHED_FIFO Ń– SCHED_RR"
+
+#: schedutils/chrt.c:323
+#, c-format
+msgid "failed to set tid %d's policy"
+msgstr "не вдалоŃŃŹ вŃтановити правила щодо tid %d"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "не вдалоŃŃŹ вŃтановити правила щодо pid %d"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "не вдалоŃŃŹ виконати %s"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "помилка ioprio_get"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "помилка ioprio_set"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"%1$s вŃтановлює або отримŃŃ” ĐşĐ»Đ°Ń Ń– пріоритетніŃŃ‚ŃŚ планŃвання введення-"
+"виведення для процеŃŃ.\n"
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %1$s [ĐźĐĐ ĐМЕТР] -p PID [PID...]\n"
+" %1$s [ĐźĐĐ ĐМЕТР] КОМĐНДĐ\n"
+"\n"
+"Параметри:\n"
+" -c, --class <клаŃ> назва або номер клаŃŃ ĐżĐ»Đ°Đ˝Ńвання\n"
+" 0: немає, 1: реальний чаŃ, 2: рівноправний, 3: "
+"лінивий\n"
+" -n, --classdata <n> дані клаŃŃ ĐżĐ»Đ°Đ˝Ńвання\n"
+" 0-7 для клаŃів реального чаŃŃ Ń– рівноправного\n"
+" -p, --pid=PID переглянŃти або змінити параметри вже Đ·Đ°ĐżŃщеного "
+"процеŃŃ\n"
+" -t, --ignore ігнорŃвати помилки\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+"\n"
+
+#: schedutils/ionice.c:148
+msgid "invalid class data argument"
+msgstr "некоректний аргŃмент даних клаŃŃ"
+
+#: schedutils/ionice.c:154
+msgid "invalid class argument"
+msgstr "некоректний аргŃмент клаŃŃ"
+
+#: schedutils/ionice.c:159
+#, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "невідомий ĐşĐ»Đ°Ń ĐżĐ»Đ°Đ˝Ńвання: «%s»"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr "ігнорŃємо вказані дані клаŃŃ Đ´Đ»ŃŹ порожнього клаŃŃ"
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr "ігнорŃємо вказані дані клаŃŃ Đ´Đ»ŃŹ неактивного клаŃŃ"
+
+#: schedutils/ionice.c:196
+#, c-format
+msgid "unknown prio class %d"
+msgstr "невідомий ĐşĐ»Đ°Ń ĐżŃ€Ń–ĐľŃ€Đ¸Ń‚ĐµŃ‚Ń %d"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "Ńпроба виконання %s зазнала невдачі"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+"КориŃŃ‚Ńвання: %s [параметри] [ĐĽĐ°Ńка | ŃпиŃок_процеŃорів] [pid|команда "
+"[аргŃменти...]]\n"
+"\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+"Параметри:\n"
+" -a, --all-tasks працювати Đ· ŃŃŃ–ĐĽĐ° завданнями (потоками) для "
+"вказаного pid\n"
+" -p, --pid працювати Đ· вже Ńтвореним вказаним pid\n"
+" -c, --cpu-list вивеŃти або вказати процеŃори Ń Ń„ĐľŃ€ĐĽĐ°Ń‚Ń– ŃпиŃĐşŃ\n"
+" -h, --help вивеŃти це довідкове повідомлення\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń—\n"
+"\n"
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+"Типовою поведінкою Ń” Đ·Đ°ĐżŃŃĐş нової команди:\n"
+" %1$s 03 sshd -b 1024\n"
+"Ви можете отримати ĐĽĐ°ŃĐşŃ Đ˛Đ¶Đµ Ńтвореного завдання:\n"
+" %1$s -p 700\n"
+"Đбо вŃтановити Ń—Ń—:\n"
+" %1$s -p 03 700\n"
+"ĐŁ форматі ŃпиŃĐşŃ Đ˛Đ¸ĐşĐľŃ€Đ¸ŃтовŃєтьŃŃŹ ŃпиŃок значень, відокремлених комами "
+"Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ ĐĽĐ°Ńки:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Діапазони Ń Ń„ĐľŃ€ĐĽĐ°Ń‚Ń– ŃпиŃĐşŃ ĐĽĐľĐ¶ŃŃ‚ŃŚ приймати аргŃмент крокŃ:\n"
+" наприклад, 0-31:2 еквівалентне ĐĽĐ°Ńці 0x55555555\n"
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"Щоб дізнатиŃŃŹ більŃе, ознайомтеŃŃŹ Đ· довідкою Đ´Đľ taskset(1).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr "Новий ŃпиŃок ŃпорідненоŃŃ‚Ń– для pid %d: %s\n"
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr "Поточний ŃпиŃок ŃпорідненоŃŃ‚Ń– pid %d: %s\n"
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr "Нова ĐĽĐ°Ńка ŃпорідненоŃŃ‚Ń– pid %d: %s\n"
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr "Поточна ĐĽĐ°Ńка ŃпорідненоŃŃ‚Ń– pid %d: %s\n"
+
+#: schedutils/taskset.c:97
+msgid "conversion from cpuset to string failed"
+msgstr "не вдалоŃŃŹ виконати перетворення Đ· Đ˝Đ°Đ±ĐľŃ€Ń ĐżŃ€ĐľŃ†ĐµŃорів (cpuset) Ń Ń€ŃŹĐ´ĐľĐş"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "не вдалоŃŃŹ отримати дані щодо ŃпорідненоŃŃ‚Ń– pid %d"
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "не вдалоŃŃŹ вŃтановити ŃпорідненіŃŃ‚ŃŚ для pid %d"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "не вдалоŃŃŹ визначити NR_CPUS; перериваємо роботŃ"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr "помилка cpuset_alloc"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "не вдалоŃŃŹ обробити ŃпиŃок процеŃорів: %s"
+
+#: schedutils/taskset.c:217
+#, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "не вдалоŃŃŹ обробити ĐĽĐ°ŃĐşŃ ĐżŃ€ĐľŃ†ĐµŃорів: %s"
+
+#: sys-utils/arch.c:79
+msgid "uname failed"
+msgstr "помилка uname"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, c-format
+msgid "CPU %d does not exist\n"
+msgstr "процеŃора %d не Ń–ŃĐ˝ŃŃ”\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr "процеŃор %d не можна вŃтавляти наживо\n"
+
+#: sys-utils/chcpu.c:88
+#, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "процеŃор %d вже Ńвімкнено\n"
+
+#: sys-utils/chcpu.c:92
+#, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "процеŃор %d вже вимкнено\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+"Ńпроба вмикання процеŃора %d зазнала невдачі (процеŃор вилŃчено Đ· "
+"налаŃŃ‚Ńвань)\n"
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr "Ńпроба вмикання процеŃора %d зазнала невдачі (%m)\n"
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr "процеŃор %d Ńвімкнено\n"
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+"Ńпроба вимикання процеŃора %d зазнала невдачі (ĐľŃтанній Ńвімкнений "
+"процеŃор)\n"
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr "Ńпроба вимикання процеŃора %d зазнала невдачі (%m)\n"
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr "процеŃор %d вимкнено\n"
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr "ĐŁ цій ŃиŃтемі не передбачено підтримки повторного поŃŃĐşŃ ĐżŃ€ĐľŃ†ĐµŃорів"
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Не вдалоŃŃŹ розпочати повторний поŃŃĐş процеŃорів"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr "Розпочато повторний поŃŃĐş процеŃорів\n"
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+"ĐŁ цій ŃиŃтемі не передбачено підтримки вŃтановлення Ń€ĐµĐ¶Đ¸ĐĽŃ Ń€ĐľĐ·ĐżĐľĐ´Ń–Đ»Ń "
+"процеŃорів"
+
+#: sys-utils/chcpu.c:142
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Не вдалоŃŃŹ вŃтановити режим горизонтального розподілŃ"
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "ĐŁŃпіŃно вŃтановлено режим горизонтального розподілŃ\n"
+
+#: sys-utils/chcpu.c:146
+msgid "Failed to set vertical dispatch mode"
+msgstr "Не вдалоŃŃŹ вŃтановити режим вертикального розподілŃ"
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "ĐŁŃпіŃно вŃтановлено режим вертикального розподілŃ\n"
+
+#: sys-utils/chcpu.c:165
+#, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "процеŃор %d не можна налаŃтовŃвати\n"
+
+#: sys-utils/chcpu.c:170
+#, c-format
+msgid "CPU %d is already configured\n"
+msgstr "процеŃор %d вже додано Đ´Đľ налаŃŃ‚Ńвань\n"
+
+#: sys-utils/chcpu.c:174
+#, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "процеŃор %d вже вилŃчено Đ· налаŃŃ‚Ńвань\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+"Ńпроба вилŃчення процеŃора %d Đ· налаŃŃ‚Ńвань зазнала невдачі (Đ´ĐľŃŃ‚ŃĐż Đ´Đľ "
+"процеŃора вŃе ще дозволено)\n"
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "Ńпроба додавання процеŃора %d Đ´Đľ налаŃŃ‚Ńвань зазнала невдачі (%m)\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr "процеŃор %d налаŃтовано\n"
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "Ńпроба вилŃчення процеŃора %d Đ· налаŃŃ‚Ńвань зазнала невдачі (%m)\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr "процеŃор %d вилŃчено Đ· налаŃŃ‚Ńвань\n"
+
+#: sys-utils/chcpu.c:208
+#, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "некоректний номер процеŃора Ń ŃпиŃĐşŃ ĐżŃ€ĐľŃ†ĐµŃорів: %s"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [параметри]\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -h, --help вивеŃти цю довідкŃ\n"
+" -e, --enable <процеŃори> ŃвімкнŃти процеŃори\n"
+" -d, --disable <процеŃори> вимкнŃти процеŃори\n"
+" -c, --configure <процеŃори> додати Đ´Đľ налаŃŃ‚Ńвань процеŃори\n"
+" -g, --deconfigure <процеŃори> вилŃчити Đ· налаŃŃ‚Ńвань процеŃори\n"
+" -p, --dispatch <режим> вŃтановити режим Ń€ĐľĐ·ĐżĐľĐ´Ń–Đ»Ń Đ˝Đ°Đ˛Đ°Đ˝Ń‚Đ°Đ¶ĐµĐ˝Đ˝ŃŹ\n"
+" -r, --rescan виконати повторний поŃŃĐş процеŃорів\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: sys-utils/chcpu.c:300
+#, c-format
+msgid "unsupported argument: %s"
+msgstr "непідтримŃваний аргŃмент: %s"
+
+#: sys-utils/ctrlaltdel.c:21
+#, c-format
+msgid " %s <hard|soft>\n"
+msgstr " %s <hard|soft>\n"
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+"Для налаŃтовŃвання відповіді на натиŃкання Ctrl-Alt-Del вам потрібні права "
+"Đ´ĐľŃŃ‚ŃĐżŃ root"
+
+#: sys-utils/cytune.c:92
+#, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr " %s [параметри] <tty> [...]\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+" -s, --set-threshold <чиŃло> вŃтановити значення порогового рівня "
+"переривання\n"
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+" -g, --get-threshold вивеŃти поточне порогове значення\n"
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+" -S, --set-default-threshold <num> вŃтановити типове порогове значення\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+" -t, --set-flush <n> вŃтановити вказане значення для ĐżĐµŃ€Ń–ĐľĐ´Ń "
+"Ńкидання\n"
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+" -G, --get-flush вивеŃти типове значення ĐżĐµŃ€Ń–ĐľĐ´Ń "
+"Ńкидання\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+" -T, --set-default-flush <n> вŃтановити типове значення ĐżĐµŃ€Ń–ĐľĐ´Ń "
+"Ńкидання\n"
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+" -q, --stats вивеŃти ŃтатиŃтичні дані щодо tty\n"
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+" -i, --interval <ŃекŃнди> збирати ŃтатиŃтичні дані Đ· інтервалом Ń "
+"Đ˛ĐşĐ°Đ·Đ°Đ˝Ń ĐşŃ–Đ»ŃŚĐşŃ–ŃŃ‚ŃŚ ŃекŃнд\n"
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Файл %s, для граничного значення %lu, ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ Ńимволів Ń fifo "
+"бŃла %d,\n"
+"Đ° ĐĽĐ°ĐşŃимальна ŃвидкіŃŃ‚ŃŚ передачі Ń Ńимволах/ŃекŃĐ˝Đ´Ń Đ±Ńла %f"
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Файл %s, для граничного значення %lu Ń‚Đ° значення чаŃŃ ĐľŃ‡Ń–ĐşŃвання %lu, "
+"ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ Ńимволів Ń fifo бŃла %d,\n"
+"Ń‚Đ° ĐĽĐ°ĐşŃимальна ŃвидкіŃŃ‚ŃŚ передачі Ń Ńимволах/ŃекŃĐ˝Đ´Ń Đ±Ńла %f"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "помилка Ń gettimeofday"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "не вдалоŃŃŹ віддати ĐşĐľĐĽĐ°Đ˝Đ´Ń CYGETMON на %s"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, c-format
+msgid "cannot get threshold for %s"
+msgstr "не вдалоŃŃŹ отримати порогове значення для %s"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, c-format
+msgid "cannot get timeout for %s"
+msgstr "не вдалоŃŃŹ отримати Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання для %s"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu переривань, %lu/%lu Ńимв.; fifo: %lu межа, %lu таймаŃŃ‚, %lu ĐĽĐ°ĐşŃ, "
+"%lu зараз\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f перерв/Ńек; %f отрим, %f відпр (Ńимв/Ńек)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu переривань, %lu Ńимв; fifo: %lu межа, %lu таймаŃŃ‚, %lu ĐĽĐ°ĐşŃ, %lu "
+"зараз\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f перерв/Ńек; %f отрим (Ńимв/Ńек)\n"
+
+#: sys-utils/cytune.c:326
+msgid "Invalid interval value"
+msgstr "Некоректне значення інтервалŃ"
+
+#: sys-utils/cytune.c:328
+#, c-format
+msgid "Invalid interval value: %d"
+msgstr "Некоректне значення інтервалŃ: %d"
+
+#: sys-utils/cytune.c:335
+msgid "Invalid set value"
+msgstr "Некоректне вŃтановлене значення"
+
+#: sys-utils/cytune.c:337
+#, c-format
+msgid "Invalid set value: %d"
+msgstr "Некоректне вŃтановлене значення: %d"
+
+#: sys-utils/cytune.c:344
+msgid "Invalid default value"
+msgstr "Некоректне типове значення"
+
+#: sys-utils/cytune.c:346
+#, c-format
+msgid "Invalid default value: %d"
+msgstr "Некоректне типове значення: %d"
+
+#: sys-utils/cytune.c:354
+msgid "Invalid set time value"
+msgstr "Некоректне значення вŃтановленого чаŃŃ"
+
+#: sys-utils/cytune.c:356
+#, c-format
+msgid "Invalid set time value: %d"
+msgstr "Некоректне значення вŃтановленого чаŃŃ: %d"
+
+#: sys-utils/cytune.c:364
+msgid "Invalid default time value"
+msgstr "Некоректне значення типового чаŃŃ"
+
+#: sys-utils/cytune.c:366
+#, c-format
+msgid "Invalid default time value: %d"
+msgstr "Некоректне значення типового чаŃŃ: %d"
+
+#: sys-utils/cytune.c:409
+#, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "не вдалоŃŃŹ вŃтановити %s Ń ĐłŃ€Đ°Đ˝Đ¸Ń‡Đ˝Đµ значення %d"
+
+#: sys-utils/cytune.c:423
+#, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "не вдалоŃŃŹ вŃтановити %s Ń ĐłŃ€Đ°Đ˝Đ¸Ń‡Đ˝Đµ значення чаŃŃ %d"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld - поточна межа, Ń‚Đ° %ld - поточний таймаŃŃ‚\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld - типова межа, Ń‚Đ° %ld - типовий таймаŃŃ‚\n"
+
+#: sys-utils/dmesg.c:72
+msgid "system is unusable"
+msgstr "ŃиŃтема не придатна Đ´Đľ викориŃтання"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr "Đ´Ń–ŃŽ ĐĽĐ°Ń” бŃти виконано негайно"
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr "критичні Ńмови"
+
+#: sys-utils/dmesg.c:75
+msgid "error conditions"
+msgstr "Ńмови помилки"
+
+#: sys-utils/dmesg.c:76
+msgid "warning conditions"
+msgstr "Ńмови попередження"
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr "Ńмова щодо звичайних, але значимих"
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr "інформаційні"
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr "повідомлення діагноŃтичного рівня"
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr "повідомлення ядра"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr "випадкові повідомлення рівня кориŃŃ‚Ńвача"
+
+#: sys-utils/dmesg.c:95
+msgid "mail system"
+msgstr "поŃтова ŃиŃтема"
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr "фонові ŃĐ»Ńжби ŃиŃтеми"
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr "повідомлення захиŃŃ‚Ń Ń– Ńповноваження"
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr "повідомлення, Ńтворені syslogd на внŃтріŃĐ˝ŃŚĐľĐĽŃ Ń€Ń–Đ˛Đ˝Ń–"
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr "підŃиŃтема лінійного Đ´Ń€ŃĐşŃ"
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr "підŃиŃтема новин мережі"
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr "підŃиŃтема UUCP"
+
+#: sys-utils/dmesg.c:102
+msgid "clock daemon"
+msgstr "фонова ŃĐ»Ńжба годинника"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr "повідомлення захиŃŃ‚Ń/Ńповноваження (закриті)"
+
+#: sys-utils/dmesg.c:104
+msgid "ftp daemon"
+msgstr "фонова ŃĐ»Ńжба ftp"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+" -C, --clear Ńпорожнити кільцевий бŃфер ядра\n"
+" -c, --read-clear прочитати Ń– Ńпорожнити вŃŃ– повідомлення\n"
+" -D, --console-off вимкнŃти виведення повідомлень Đ´Đľ конŃолі\n"
+" -d, --show-delta вивеŃти чаŃовий крок між виведеними "
+"повідомленнями\n"
+" -e, --reltime вивеŃти ĐĽŃ–Ńцевий Ń‡Đ°Ń Ń– крок Ń Đ·Ń€ŃŃ‡Đ˝ĐľĐĽŃ Đ´Đ»ŃŹ "
+"читання форматі\n"
+" -E, --console-on ŃвімкнŃти виведення повідомлень Đ´Đľ конŃолі\n"
+" -F, --file <файл> викориŃтовŃвати файл Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ бŃфера жŃŃ€Đ˝Đ°Đ»Ń "
+"ядра\n"
+" -f, --facility <ŃпиŃок> обмежити виведення визначеними можливоŃтями\n"
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+" -k, --kernel вивеŃти повідомлення ядра\n"
+" -l, --level <ŃпиŃок> обмежити виведення вказаними рівнями\n"
+" -n, --console-level <рівень> вŃтановити рівень виведення повідомлень Đ´Đľ "
+"конŃолі\n"
+" -r, --raw вивеŃти бŃфер повідомлень без обробки\n"
+" -S, --syslog примŃŃово викориŃтовŃвати syslog(2) Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ /"
+"dev/kmsg\n"
+" -s, --buffer-size <розмір> розмір бŃфера для опитŃвання кільцевого бŃфера "
+"ядра\n"
+" -T, --ctime вивеŃти чаŃĐľĐ˛Ń ĐżĐľĐ·Đ˝Đ°Ń‡ĐşŃ Ń Đ·Ń€ŃŃ‡Đ˝ĐľĐĽŃ Đ´Đ»ŃŹ читання "
+"форматі (може \n"
+" бŃти неточним, якщо вами викориŃтано SUSPEND/"
+"RESUME)\n"
+" -t, --notime не виводити чаŃові позначки повідомлень\n"
+" -u, --userspace виводити повідомлення Đ· проŃŃ‚ĐľŃ€Ń ĐşĐľŃ€Đ¸ŃŃ‚Ńвача\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -w, --follow очікŃвати на нові повідомлення\n"
+" -x, --decode декодŃвати можливоŃŃ‚Ń– Ń– рівень Ń ĐżŃ€Đ¸Đ´Đ°Ń‚Đ˝Đ¸Đą Đ´Đľ "
+"читання рядок\n"
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+"\n"
+"ПідтримŃвані можливоŃŃ‚Ń– жŃрналювання:\n"
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+"\n"
+"ПідтримŃвані рівні жŃрналювання (пріоритети):\n"
+
+#: sys-utils/dmesg.c:260
+#, c-format
+msgid "failed to parse level '%s'"
+msgstr "не вдалоŃŃŹ обробити рівень «%s»"
+
+#: sys-utils/dmesg.c:262
+#, c-format
+msgid "unknown level '%s'"
+msgstr "невідомий рівень «%s»"
+
+#: sys-utils/dmesg.c:298
+#, c-format
+msgid "failed to parse facility '%s'"
+msgstr "не вдалоŃŃŹ обробити Đ·Đ°ĐżĐ¸Ń ĐĽĐľĐ¶Đ»Đ¸Đ˛ĐľŃŃ‚Ń–, «%s»"
+
+#: sys-utils/dmesg.c:300
+#, c-format
+msgid "unknown facility '%s'"
+msgstr "невідома можливіŃŃ‚ŃŚ, «%s»"
+
+#: sys-utils/dmesg.c:415
+msgid "sysinfo failed"
+msgstr "помилка sysinfo"
+
+#: sys-utils/dmesg.c:442
+#, c-format
+msgid "cannot mmap: %s"
+msgstr "не вдалоŃŃŹ виконати mmap: %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+msgid "write failed"
+msgstr "Đ·Đ°ĐżĐ¸Ń Đ·Đ°Đ˛ĐµŃ€ŃивŃŃŹ помилкою"
+
+#: sys-utils/dmesg.c:1132
+msgid "invalid buffer size argument"
+msgstr "некоректний аргŃмент Ń€ĐľĐ·ĐĽŃ–Ń€Ń Đ±Ńфера"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+"--raw не можна викориŃтовŃвати одночаŃно Đ· визначенням параметрів рівня, "
+"можливоŃтей, декодŃвання, крокŃ, ctime Ń‚Đ° notime"
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr "--notime не можна викориŃтовŃвати разом Đ· --ctime або --reltime"
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr "--reltime не можна викориŃтовŃвати разом Đ· --ctime "
+
+#: sys-utils/dmesg.c:1192
+msgid "read kernel buffer failed"
+msgstr "Ńпроба читання бŃфера ядра зазнала невдачі"
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr "непідтримŃвана команда"
+
+#: sys-utils/dmesg.c:1211
+msgid "klogctl failed"
+msgstr "помилка klogctl"
+
+#: sys-utils/eject.c:135
+#, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr " %s [параметри] [<приŃтрій>|<точка монтŃвання>]\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+" -a, --auto <on|off> ŃвімкнŃти або вимкнŃти можливіŃŃ‚ŃŚ "
+"автовід’єднання\n"
+" -c, --changerslot <Ńлот> перемкнŃти диŃки Ń Đ·Đ°ĐĽŃ–Đ˝Đ˝Đ¸ĐşŃ CD-ROM\n"
+" -d, --default вивеŃти дані типового приŃтрою\n"
+" -f, --floppy виŃтовхнŃти диŃкетŃ\n"
+" -F, --force не зважати на тип приŃтрою\n"
+" -i, --manualeject <on|off> ŃвімкнŃти або вимкнŃти захиŃŃ‚ від від’єднання "
+"врŃчнŃ\n"
+" -m, --no-unmount не демонтŃвати приŃтрій, навіть якщо його "
+"змонтовано\n"
+" -M, --no-partitions-unmount не демонтŃвати Ń–Đ˝ŃŃ– розділи\n"
+" -n, --noop не від’єднŃвати, проŃŃ‚Đľ вивеŃти знайдені "
+"приŃтрої\n"
+" -p, --proc викориŃтовŃвати /proc/mounts Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ /etc/mtab\n"
+" -q, --tape виŃтовхнŃти Ńтрічковий накопичŃвач\n"
+" -r, --cdrom виŃтовхнŃти CD-ROM\n"
+" -s, --scsi виŃтовхнŃти SCSI-приŃтрій\n"
+" -t, --trayclose закрити лоток\n"
+" -T, --traytoggle перемкнŃти ŃŃ‚Đ°Đ˝ закриття лотка\n"
+" -v, --verbose ŃвімкнŃти режим докладних повідомлень\n"
+" -x, --cdspeed <ŃвидкіŃŃ‚ŃŚ> вŃтановити ĐĽĐ°ĐşŃĐ¸ĐĽĐ°Đ»ŃŚĐ˝Ń ŃвидкіŃŃ‚ŃŚ CD-ROM\n"
+" -X, --listspeed вивеŃти ŃпиŃок Đ´ĐľŃŃ‚Ńпних ŃвидкоŃтей CD-ROM\n"
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+"\n"
+"Типово, бŃде виконано ŃĐżŃ€ĐľĐ±Ń ĐżĐľŃлідовного викориŃтання -r, -s, -f Ń– -q, аж "
+"доки не бŃде Đ´ĐľŃягнŃŃ‚Đľ ŃŃпіхŃ.\n"
+
+#: sys-utils/eject.c:208
+msgid "invalid argument to --auto/-a option"
+msgstr "некоректний аргŃмент параметра --auto або -a"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr "некоректний аргŃмент параметра --changerslot або -c"
+
+#: sys-utils/eject.c:216
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "некоректний аргŃмент параметра --cdspeed або -x"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr "некоректний аргŃмент параметра --manualeject або -i"
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr "Ńпроба виконання команди автовиŃтовхŃвання CD-ROM зазнала невдачі"
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr "Ńпроба виконати ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ±Đ»ĐľĐşŃвання лотка CD-ROM зазнала невдачі"
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+"виŃтовхнŃти лоток приŃтрою читання компакт-диŃків НЕ можна Đ·Đ° допомогою "
+"кнопки на приŃтрої"
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+"виŃтовхнŃти лоток приŃтрою читання компакт-диŃків можна Đ·Đ° допомогою кнопки "
+"на приŃтрої"
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr "помилка команди Đ˛Đ¸Đ±ĐľŃ€Ń Đ´Đ¸Ńка CD-ROM"
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr "Ńпроба виконання команди завантаження CD-ROM Đ· лотка зазнала невдачі"
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+"Ń Ń†ŃŚĐľĐĽŃ ŃŹĐ´Ń€Ń– не передбачено команди зміни CD-ROM, з’єднаного Đ·Đ° допомогою "
+"IDE/ATAPI\n"
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr "не вдалоŃŃŹ виконати ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ·Đ°ĐşŃ€Đ¸Ń‚Ń‚ŃŹ лотка CD-ROM"
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "Ń Ń†ŃŚĐľĐĽŃ ŃŹĐ´Ń€Ń– не передбачено команди закриття лотка CD-ROM\n"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr "підтримки виŃтовхŃвання CD-ROM не передбачено"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr "Ńпроба виконання команди виŃтовхŃвання CD-ROM зазнала невдачі"
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr "дані щодо CD-ROM недоŃŃ‚Ńпні"
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr "приŃтрій читання CD-ROM неготовий"
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr "не вдалоŃŃŹ виконати ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ˛Đ¸Đ±ĐľŃ€Ń ŃвидкоŃŃ‚Ń– роботи CD-ROM"
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "Ń Ń†ŃŚĐľĐĽŃ ŃŹĐ´Ń€Ń– не передбачено команди Đ˛Đ¸Đ±ĐľŃ€Ń ŃвидкоŃŃ‚Ń– роботи CD-ROM"
+
+#: sys-utils/eject.c:521
+#, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: не вдалоŃŃŹ визначити Đ˝Đ°Đ·Đ˛Ń CD-ROM"
+
+#: sys-utils/eject.c:536
+#, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: не вдалоŃŃŹ прочитати ŃвидкіŃŃ‚ŃŚ"
+
+#: sys-utils/eject.c:544
+msgid "failed to read speed"
+msgstr "не вдалоŃŃŹ прочитати ŃвидкіŃŃ‚ŃŚ"
+
+#: sys-utils/eject.c:588
+msgid "not an sg device, or old sg driver"
+msgstr "не Ń” приŃтроєм sg або Ń” Đ·Đ°Ńтарілим приŃтроєм sg"
+
+#: sys-utils/eject.c:650
+#, c-format
+msgid "%s: unmounting"
+msgstr "%s: демонтŃвання"
+
+#: sys-utils/eject.c:658
+msgid "eject: cannot set user id"
+msgstr "eject: не вдалоŃŃŹ вŃтановити ідентифікатор кориŃŃ‚Ńвача"
+
+#: sys-utils/eject.c:665
+#, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "не вдалоŃŃŹ виконати /bin/umount для «%s»"
+
+#: sys-utils/eject.c:668
+msgid "unable to fork"
+msgstr "не вдалоŃŃŹ Ńтворити відгалŃження"
+
+#: sys-utils/eject.c:675
+#, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "демонтŃвання «%s» не вдалоŃŃŹ заверŃити Ń Đ·Đ˛Đ¸Ń‡Đ°ĐąĐ˝ĐľĐĽŃ Ń€ĐµĐ¶Đ¸ĐĽŃ–"
+
+#: sys-utils/eject.c:678
+#, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "Ńпроба демонтŃвання «%s» заверŃилаŃŃŹ невдало\n"
+
+#: sys-utils/eject.c:719
+msgid "failed to parse mount table"
+msgstr "не вдалоŃŃŹ обробити таблицю монтŃвання"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, c-format
+msgid "%s: mounted on %s"
+msgstr "%s: змонтовано до %s"
+
+#: sys-utils/eject.c:877
+#, c-format
+msgid "%s: is removable device"
+msgstr "%s: Ń” портативним приŃтроєм"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr "%s: з’єднано підŃиŃтемою динамічного з’єднання: %s"
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr "вŃтановлюємо ŃвидкіŃŃ‚ŃŚ роботи CD-ROM автоматично"
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr "вŃтановлюємо ŃвидкіŃŃ‚ŃŚ роботи CD-ROM Ń Đ·Đ˝Đ°Ń‡ĐµĐ˝Đ˝ŃŹ %ldX"
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr "типовий приŃтрій: «%s»"
+
+#: sys-utils/eject.c:952
+#, c-format
+msgid "using default device `%s'"
+msgstr "викориŃтовŃємо типовий приŃтрій «%s»"
+
+#: sys-utils/eject.c:971
+#, c-format
+msgid "%s: unable to find device"
+msgstr "%s: не вдалоŃŃŹ знайти приŃтрій"
+
+#: sys-utils/eject.c:973
+#, c-format
+msgid "device name is `%s'"
+msgstr "назва приŃтрою — «%s»"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, c-format
+msgid "%s: not mounted"
+msgstr "%s: не змонтовано"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+"%s: диŃковий приŃтрій: %s (диŃковий приŃтрій бŃде викориŃтано для eject)"
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr "%s: не виявлено точки монтŃвання або приŃтрою Đ· вказаною назвою"
+
+#: sys-utils/eject.c:994
+#, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: Ń” приŃтроєм вŃього диŃка"
+
+#: sys-utils/eject.c:998
+#, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: не Ń” приŃтроєм Đ· інтерактивним з’єднанням"
+
+#: sys-utils/eject.c:1002
+#, c-format
+msgid "device is `%s'"
+msgstr "приŃтроєм Ń” «%s»"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr "заверŃŃємо Ń€ĐľĐ±ĐľŃ‚Ń Ń‡ĐµŃ€ĐµĐ· додавання параметра -n/--noop"
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr "%s: вмикаємо режим автовиŃтовхŃвання"
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr "%s: вимикаємо режим автовиŃтовхŃвання"
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr "%s: закриваємо лоток"
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr "%s: перемикаємо ŃŃ‚Đ°Đ˝ закриття лотка"
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr "%s: показŃємо ŃпиŃок ŃвидкоŃтей роботи CD-ROM"
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr "помилка: %s: приŃтрій викориŃтовŃєтьŃŃŹ"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr "%s: вибираємо диŃĐş CD-ROM â„–%ld"
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+"%s: намагаємоŃŃŹ виŃтовхнŃти лоток Đ·Đ° допомогою команди eject для CD-ROM"
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr "ŃŃпіŃно виконано ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ˛Đ¸ŃтовхŃвання лотка CD-ROM"
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr "%s: намагаємоŃŃŹ виŃтовхнŃти лоток Đ·Đ° допомогою команд SCSI"
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr "ŃŃпіŃне від’єднання SCSI"
+
+#: sys-utils/eject.c:1103
+msgid "SCSI eject failed"
+msgstr "Спроба від’єднання SCSI зазнала невдачі"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+"%s: намагаємоŃŃŹ виŃтовхнŃти лоток Đ·Đ° допомогою команди eject для диŃкети"
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr "ŃŃпіŃно виконано ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ˛Đ¸ŃтовхŃвання диŃкети"
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr "Ńпроба виŃтовхŃвання диŃкети зазнала невдачі"
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+"%s: намагаємоŃŃŹ виŃтовхнŃти Ńтрічковий накопичŃвач командою його вимикання"
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr "ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ˛Đ¸ĐĽĐ¸ĐşĐ°Đ˝Đ˝ŃŹ Ńтрічкового накопичŃвача ŃŃпіŃно виконано"
+
+#: sys-utils/eject.c:1117
+msgid "tape offline command failed"
+msgstr "Ńпроба вимикання Ńтрічкового накопичŃвача заверŃилаŃŃŹ невдало"
+
+#: sys-utils/eject.c:1121
+msgid "unable to eject"
+msgstr "не вдалоŃŃŹ від’єднати"
+
+#: sys-utils/fallocate.c:60
+#, c-format
+msgid " %s [options] <filename>\n"
+msgstr " %s [параметри] <назва файла>\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+" -n, --keep-size не змінювати Đ´ĐľĐ˛Đ¶Đ¸Đ˝Ń Ń„Đ°ĐąĐ»Đ°\n"
+" -p, --punch-hole вŃтавити дірки Đ´Đľ файла\n"
+" -o, --offset <чиŃло> Đ·ŃŃв розподіленої облаŃŃ‚Ń– Ń Đ±Đ°ĐąŃ‚Đ°Ń…\n"
+" -l, --length <чиŃло> довжина розподіленої облаŃŃ‚Ń– Ń Đ±Đ°ĐąŃ‚Đ°Ń…\n"
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr "не вказано аргŃĐĽĐµĐ˝Ń‚Ń Đ´ĐľĐ˛Đ¶Đ¸Đ˝Đ¸"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr "вказано некоректне значення довжини"
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr "вказано некоректне значення Đ·ŃŃвŃ"
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr "не вказано назви файла."
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr "неочікŃвана кількіŃŃ‚ŃŚ аргŃментів"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr "підтримки Ń€ĐµĐ¶Đ¸ĐĽŃ Đ·Đ±ĐµŃ€ĐµĐ¶ĐµĐ˝Đ˝ŃŹ Ń€ĐľĐ·ĐĽŃ–Ń€Ń (параметра -n) не передбачено"
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s: помилка fallocate"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+" %1$s [параметри] <номер деŃкриптора файла>\n"
+" %1$s [параметри] <файл> -c <команда>\n"
+" %1$s [параметри] <каталог> -c <команда>\n"
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr " -s --shared отримати блокŃвання Ńпільного викориŃтання\n"
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr " -x --exclusive отримати виключне блокŃвання (типовий)\n"
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr " -u --unlock вилŃчити блокŃвання\n"
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr " -n --nonblock заверŃити Ń€ĐľĐ±ĐľŃ‚Ń Đ±ĐµĐ· очікŃвання\n"
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr " -w --timeout <ŃекŃнди> очікŃвати обмежений проміжок чаŃŃ\n"
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+" -E --conflict-exit-code <чиŃло> код Đ˛Đ¸Ń…ĐľĐ´Ń ĐżŃ–Ńля ĐşĐľĐ˝Ń„Đ»Ń–ĐşŃ‚Ń Đ°Đ±Đľ "
+"заверŃення чаŃŃ ĐľŃ‡Ń–ĐşŃвання\n"
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+" -o --close закрити деŃкриптор файла Đ´Đľ виконання команди\n"
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+" -c --command <команда> виконати окремий рядок команди за допомогою "
+"оболонки\n"
+
+#: sys-utils/flock.c:86
+msgid "timeout cannot be zero"
+msgstr "Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання не може бŃти Đ˝Ńльовим"
+
+#: sys-utils/flock.c:123
+#, c-format
+msgid "cannot open lock file %s"
+msgstr "не вдалоŃŃŹ відкрити файл блокŃвання, %s"
+
+#: sys-utils/flock.c:206
+msgid "invalid exit code"
+msgstr "некоректний код виходŃ"
+
+#: sys-utils/flock.c:226
+#, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s вимагає точно одного аргŃĐĽĐµĐ˝Ń‚Ń ĐşĐľĐĽĐ°Đ˝Đ´Đ¸"
+
+#: sys-utils/flock.c:247
+msgid "requires file descriptor, file or directory"
+msgstr "потребŃŃ” деŃкриптора файла, назви файла або каталогŃ"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "помилка waitpid"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, c-format
+msgid " %s [options] <mount point>\n"
+msgstr " %s [параметри] <точка монтŃвання>\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+" -h, --help ця довідкова інформація\n"
+" -f, --freeze заморозити Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃтемŃ\n"
+" -u, --unfreeze розморозити Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃтемŃ\n"
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"Щоб дізнатиŃŃŹ більŃе, звернітьŃŃŹ Đ´Đľ докŃментації Đ· fsfreeze(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr "дії не вказано"
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr "не вказано назви файла"
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr "%s: не є каталогом"
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr "%s: не вдалоŃŃŹ заморозити"
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr "%s: не вдалоŃŃŹ розморозити"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+" -o, --offset <n> Đ·ŃŃв Ń Đ±Đ°ĐąŃ‚Đ°Ń…, звідки Ńлід почати відкидання\n"
+" -l, --length <n> довжина Ń Đ±Đ°ĐąŃ‚Đ°Ń… облаŃŃ‚Ń–, ŃŹĐşŃ Ńлід відкинŃти\n"
+" -m, --minimum <n> мінімальна довжина відкидання\n"
+" -v, --verbose вивеŃти кількіŃŃ‚ŃŚ відкинŃтих байтів\n"
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+msgid "failed to parse length"
+msgstr "не вдалоŃŃŹ обробити довжинŃ"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+msgid "failed to parse offset"
+msgstr "не вдалоŃŃŹ обробити Đ·ŃŃв"
+
+#: sys-utils/fstrim.c:114
+msgid "failed to parse minimum extent length"
+msgstr "не вдалоŃŃŹ обробити значення мінімального ĐľĐ±â€™Ń”ĐĽŃ Đ´ĐľĐ˛Đ¶Đ¸Đ˝Đ¸"
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr "не вказано точки монтŃвання."
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, c-format
+msgid "%s: not a directory"
+msgstr "%s: не є каталогом"
+
+#: sys-utils/fstrim.c:145
+#, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s: помилка ioctl FITRIM"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr "%s: %<PRIu64> байтів бŃло обрізано\n"
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, c-format
+msgid "cannot write %s"
+msgstr "не вдалоŃŃŹ запиŃати %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "ВважаєтьŃŃŹ, що апаратний годинник Ńинхронізований Đ· %s чаŃом.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "локальний"
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+"Попередження: нерозпізнаний третій рядок Ń Ń„Đ°ĐąĐ»Ń– adjtime\n"
+"(Мало бŃти «UTC», «LOCAL» або порожній рядок.)"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "ĐžŃтання корекція відхилення виконана Ń %ld ŃекŃнд піŃля 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "ĐžŃтаннє калібрŃвання виконано Ń %ld ŃекŃнд піŃля 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Đпаратний годинник налаŃтований на %s чаŃ\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "ОчікŃєтьŃŃŹ Ńигнал годинника...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "…Ńпроба Ńинхронізації зазнала невдачі\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...отримано Ńигнал годинника\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"Неправильне значення Ń Đ°ĐżĐ°Ń€Đ°Ń‚Đ˝ĐľĐĽŃ ĐłĐľĐ´Đ¸Đ˝Đ˝Đ¸ĐşŃ: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Đ§Đ°Ń Đ°ĐżĐ°Ń€Đ°Ń‚Đ˝ĐľĐłĐľ годинника: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld ŃекŃнд піŃля "
+"1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Đ§Đ°Ń ĐżŃ€ĐľŃ‡Đ¸Ń‚Đ°Đ˝Đ¸Đą Đ· апаратного годинника: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Đпаратний годинник вŃтановлюєтьŃŃŹ Ń %.2d:%.2d:%.2d = %ld ŃекŃнд піŃля 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Годинник не змінено - лиŃе перевірка.\n"
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"ЧаŃ, що минŃв Đ· ĐĽĐľĐĽĐµĐ˝Ń‚Ń Ńинхронізації чаŃŃ, %.6f ŃекŃнд.\n"
+"ПродовжŃємо Đ·Đ°Ń‚Ń€Đ¸ĐĽĐşŃ Đ´Đľ Đ´ĐľŃягнення нового ĐżŃĐ˝ĐşŃ‚Ń Ń‡Đ°ŃŃ.\n"
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"РегіŃтри апаратного годинника ĐĽŃ–ŃŃ‚ŃŹŃ‚ŃŚ значення, які Ń” або некоректними "
+"(наприклад 50-Đą день ĐĽŃ–Ńяця), або Đ·Đ° межами, які може обробити програма "
+"(наприклад 2095 рік)."
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f ŃекŃнд\n"
+
+#: sys-utils/hwclock.c:617
+msgid "No --date option specified."
+msgstr "Не вказано параметра --date."
+
+#: sys-utils/hwclock.c:623
+msgid "--date argument too long"
+msgstr "аргŃмент --date Ń” надто довгим"
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Значення аргŃĐĽĐµĐ˝Ń‚Ń --date не Ń” коректною датою.\n"
+"Зокрема, Ń Đ˝ŃŚĐľĐĽŃ ĐĽŃ–ŃŃ‚ŃŹŃ‚ŃŚŃŃŹ лапки."
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "ВиконŃєтьŃŃŹ команда date: %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "не вдалоŃŃŹ виконати ĐşĐľĐĽĐ°Đ˝Đ´Ń 'date' Ń ĐľĐ±ĐľĐ»ĐľĐ˝Ń†Ń– /bin/sh. Помилка popen()"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "вивід команди date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"Команда date, виконана %s, повернŃла неочікŃвані дані.\n"
+"Команда:\n"
+" %s\n"
+"РезŃльтат:\n"
+" %s"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"Команда date виконана %s повернŃла резŃльтат відмінний від цілого чиŃла, яке "
+"мало б бŃти конвертованим значенням чаŃŃ.\n"
+"Команда:\n"
+" %s\n"
+"РезŃльтат:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "рядок дати %s дорівнює %ld ŃекŃндам Đ· 1969.\n"
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Đпаратний годинник ĐĽŃ–Ńтить неправильний чаŃ, Ń‚ĐľĐĽŃ ĐżŃ€ĐľĐłŃ€Đ°ĐĽĐ° не може "
+"вŃтановити Đ·Đ° ним ŃиŃтемний чаŃ."
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Đ—Đ°ĐżŃŃкаєтьŃŃŹ settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+"СиŃтемний Ń‡Đ°Ń Đ˝Đµ вŃтановлюєтьŃŃŹ, Ń‚ĐľĐĽŃ Ń‰Đľ Đ·Đ°ĐżŃщений Ń Ń‚ĐµŃŃ‚ĐľĐ˛ĐľĐĽŃ Ń€ĐµĐ¶Đ¸ĐĽŃ–.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr "Для вŃтановлення ŃиŃтемного чаŃŃ Ńлід мати права адмініŃтратора."
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "помилка Ń settimeofday()"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Поточний Ń‡Đ°Ń Ń ŃиŃтемі: %ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Коефіцієнт відхилення не коригŃєтьŃŃŹ, Ń‚ĐľĐĽŃ Ń‰Đľ попереднє значення апаратного "
+"годинника бŃло неправильним.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Коефіцієнт відхилення не коригŃєтьŃŃŹ, Ń‚ĐľĐĽŃ Ń‰Đľ Ń‡Đ°Ń ĐľŃтаннього калібрŃвання "
+"дорівнює Đ˝Ńлю,\n"
+"Ń‚ĐľĐĽŃ ĐżĐľĐżĐµŃ€ĐµĐ´Đ˝Ń” значення неправильне Ń‚Đ° необхідне рекалібрŃвання.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Коефіцієнт відхилення не коригŃєтьŃŃŹ, Ń‚ĐľĐĽŃ Ń‰Đľ минŃло менŃе доби Đ· ĐĽĐľĐĽĐµĐ˝Ń‚Ń "
+"ĐľŃтаннього калібрŃвання.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Відхилення годинника %.1f ŃекŃнд Đ·Đ° ĐľŃтанні %d ŃекŃнд незважаючи на "
+"поправочний коефіцієнт відхилення %f ŃекŃнд/добŃ.\n"
+"Коефіцієнт відхилення коригŃєтьŃŃŹ на %f ŃекŃнд/добŃ\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Đ— ĐĽĐľĐĽĐµĐ˝Ń‚Ń ĐľŃтаннього коригŃвання минŃло %d ŃекŃнд\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Необхідно вŃтавити %d ŃекŃнд Ń‚Đ° Đ·Đ˝ĐľĐ˛Ń ĐżĐµŃ€ĐµĐ˛Ń–Ń€Đ¸Ń‚Đ¸ Ń‡Đ°Ń Đ·Đ˝ĐľĐ˛Ń %.6f ŃекŃнд "
+"назад\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "ĐŁ теŃŃ‚ĐľĐ˛ĐľĐĽŃ Ń€ĐµĐ¶Đ¸ĐĽŃ– файл adjtime не оновлюєтьŃŃŹ.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"ĐŁ файл %s бŃло б запиŃано:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+"Не вдалоŃŃŹ відкрити файл Đ· параметрами коригŃвання годинника (%s) для запиŃŃ"
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr "Не вдалоŃŃŹ оновити файл Đ· параметрами коригŃвання годинника (%s)"
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr "Параметри корекції відхилення не оновлено."
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"ĐŁ Đ°ĐżĐ°Ń€Đ°Ń‚Đ˝ĐľĐĽŃ ĐłĐľĐ´Đ¸Đ˝Đ˝Đ¸ĐşŃ Đ˛Ńтановлено некоректний чаŃ, Ń‚ĐľĐĽŃ ĐąĐľĐłĐľ не вдалоŃŃŹ "
+"виправити."
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Значення годинника не вŃтановлено, ĐľŃкільки ĐľŃтаннє коригŃвання бŃло "
+"Đ˝Ńльовим, отже жŃрнал Đ·ĐĽŃ–Đ˝ поŃкоджено."
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"Необхідна корекція менŃе ніж на ĐľĐ´Đ˝Ń ŃекŃндŃ, Ń‚ĐľĐĽŃ ĐłĐľĐ´Đ¸Đ˝Đ˝Đ¸Đş не оновлюєтьŃŃŹ.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "ВикориŃтовŃєтьŃŃŹ %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Не знайдено підтримŃваного інтерфейŃŃ ĐłĐľĐ´Đ¸Đ˝Đ˝Đ¸ĐşĐ°.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "не вдалоŃŃŹ вŃтановити ŃиŃтемний чаŃ.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+"ĐŁ Ń‡Đ°Ń %ld ŃекŃнд піŃля 1969 рокŃ, RTC мало бŃти прочитано %ld ŃекŃнд піŃля "
+"1969 рокŃ.\n"
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Ядро зберігає значення епохи Ń Đ°ĐżĐ°Ń€Đ°Ń‚Đ˝ĐľĐĽŃ ĐłĐľĐ´Đ¸Đ˝Đ˝Đ¸ĐşŃ Đ»Đ¸Ńе на ŃиŃтемах "
+"архітектŃри Alpha.\n"
+"Цю копію hwclock зібрано для архітектŃри відмінної від Alpha\n"
+"(тож, напевно, ця ŃиŃтема не Ń” ŃиŃтемою Alpha). Ніяких Đ´Ń–Đą не виконано."
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Не вдалоŃŃŹ отримати значення епохи від ядра."
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Ядро вважає, що значення епохи - %lu\n"
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Щоб вŃтановити значення епохи, Ńлід ŃкориŃтатиŃŃŹ параметром 'epoch' Ń–Đ· "
+"зазначенням вŃтановлюваного значення."
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Епоха не вŃтановлюєтьŃŃŹ Ń %d - лиŃе теŃŃ‚Ńвання.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "не вдалоŃŃŹ вŃтановити значення епохи Ń ŃŹĐ´Ń€Ń–.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr " hwclock [Ń„Ńнкція] [параметр…]\n"
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"ФŃнкції:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+" -h, --help показати це довідкове повідомлення Ń– заверŃити роботŃ\n"
+" -r, --show прочитати дані апаратного годинника Ń– вивеŃти "
+"резŃльтат\n"
+" --set вŃтановити RTC Ń Ń‡Đ°Ń, який задано Đ·Đ° допомогою --date\n"
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+" -s, --hctosys вŃтановити для ŃиŃтеми Ń‡Đ°Ń Đ°ĐżĐ°Ń€Đ°Ń‚Đ˝ĐľĐłĐľ годинника\n"
+" -w, --systohc вŃтановити для апаратного годинника Ń‡Đ°Ń ŃиŃтеми\n"
+" --systz вŃтановити Ń‡Đ°Ń ŃиŃтеми на ĐľŃнові поточного чаŃового "
+"пояŃŃ\n"
+" --adjust ŃкоригŃвати RTC Đ· метою врахŃвання ŃиŃтематичної "
+"похибки\n"
+" Đ· чаŃŃ ĐľŃтаннього вŃтановлення або коригŃвання\n"
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+" --getepoch вивеŃти значення епохи для апаратного годинника ядра\n"
+" --setepoch вŃтановити значення епохи для апаратного годинника \n"
+" ядра Ń Đ·Đ˝Đ°Ń‡ĐµĐ˝Đ˝ŃŹ, задане Đ·Đ° допомогою --epoch\n"
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+" --predict передбачити значення RTC Ń Ń‡Đ°Ń, заданий Đ·Đ° допомогою --"
+"date\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+" -u, --utc апаратний годинник Ńзгоджено Đ·Đ° UTC\n"
+" --localtime апаратний годинник Ńзгоджено Đ·Đ° ĐĽŃ–Ńцевим чаŃом\n"
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+" -f, --rtc <файл> ĐľŃобливий файл /dev/..., яким Ńлід ŃкориŃтатиŃŃŹ "
+"Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ типового\n"
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+" --directisa отримŃвати Đ´ĐľŃŃ‚ŃĐż Đ´Đľ ĐşĐ°Đ˝Đ°Đ»Ń ISA безпоŃередньо, Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ "
+"%s\n"
+" --badyear ігнорŃвати рік RTC, ĐľŃкільки дані BIOS поŃкоджено\n"
+" --date <чаŃ> визначає чаŃ, Ń ŃŹĐşĐ¸Đą Ńлід вŃтановити апаратний "
+"годинник\n"
+" --epoch <рік> визначає рік, який Ń” початком Đ˛Ń–Đ´Đ»Ń–ĐşŃ Đ·Đ˝Đ°Ń‡ĐµĐ˝Đ˝ŃŹ епохи\n"
+" апаратного годинника\n"
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+" --noadjfile не отримŃвати Đ´ĐľŃŃ‚ŃĐż Đ´Đľ %s; потребŃŃ” викориŃтання\n"
+" --utc або --localtime\n"
+" --adjfile <файл> визначає Ńлях Đ´Đľ файла коригŃвання;\n"
+" типовим є %s\n"
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+" --test нічого не оновлювати, проŃŃ‚Đľ показати, які Đ´Ń–Ń— бŃде "
+"виконано\n"
+" -D, --debug діагноŃтичний режим\n"
+"\n"
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" повідомити hwclock тип ŃиŃтеми Alpha, Đ· яким маєте ŃĐżŃ€Đ°Đ˛Ń (див. hwclock"
+"(8))\n"
+"\n"
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr "Не вдалоŃŃŹ зв’язатиŃŃŹ Ń–Đ· ŃиŃтемою ŃпоŃтереження"
+
+#: sys-utils/hwclock.c:1619
+msgid "invalid epoch argument"
+msgstr "некоректний аргŃмент епохи"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s не очікŃŃ” параметрів без ключів. Ви вказали %d.\n"
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "Разом Đ· --noadjfile Ńлід вказŃвати або --utc, або --localtime"
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr ""
+"Немає придатного для вŃтановлення значення чаŃŃ. Đ§Đ°Ń ĐłĐľĐ´Đ¸Đ˝Đ˝Đ¸ĐşĐ° не змінено."
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr ""
+"Вибачте, змінювати значення чаŃŃ Đ°ĐżĐ°Ń€Đ°Ń‚Đ˝ĐľĐłĐľ годинника ŃиŃтеми може лиŃе "
+"адмініŃтратор."
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "Вибачте, змінювати Ń‡Đ°Ń ŃиŃтеми може лиŃе адмініŃтратор."
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Вибачте, змінювати значення епохи апаратного годинника ŃиŃтеми Ń ŃŹĐ´Ń€Ń– може "
+"лиŃе адмініŃтратор."
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+"Не вдалоŃŃŹ отримати Đ´ĐľŃŃ‚ŃĐż Đ´Đľ апаратного годинника Đ·Đ° допомогою бŃĐ´ŃŚ-якого Đ· "
+"відомих методів."
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"СкориŃтайтеŃŃŹ параметром --debug для отримання додаткових відомоŃтей щодо "
+"поŃŃĐşŃ ŃпоŃĐľĐ±Ń Đ´ĐľŃŃ‚ŃĐżŃ."
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "ŃиŃтема завантажена Đ· MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD годинник\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "порт годинника наŃтроєно на 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "боязливий TOY!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "помилка атомарної дії %s протягом 1000 ітерацій!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+"cmos_read(): Ńпроба запиŃŃ Đ·Đ° контрольною адреŃою %X зазнала невдачі: %m\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "cmos_read(): Ńпроба читання Đ·Đ° адреŃою %X зазнала невдачі: %m\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+"cmos_write(): Ńпроба запиŃŃ Đ·Đ° контрольною адреŃою %X зазнала невдачі: %m\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "cmos_write(): Ńпроба запиŃŃ Đ´Đ°Đ˝Đ¸Ń… Đ·Đ° адреŃою %X зазнала невдачі: %m\n"
+
+#: sys-utils/hwclock-cmos.c:644
+msgid "I failed to get permission because I didn't try."
+msgstr "Не вдалоŃŃŹ отримати дозвіл, ĐľŃкільки не бŃло зроблено Ńпроби."
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+"не вдалоŃŃŹ отримати Đ´ĐľŃŃ‚ŃĐż Đ´Đľ ĐżĐľŃ€Ń‚Ń Đ˛Đ˛ĐµĐ´ĐµĐ˝Đ˝ŃŹ-виведення: помилка ŃиŃтемного "
+"Đ˛Đ¸ĐşĐ»Đ¸ĐşŃ iopl(3)."
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Можливо Ńлід мати права адмініŃтратора.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "ОчікŃвання зміни чаŃŃ Đ· KDGHWCLK Ń Ń†Đ¸ĐşĐ»Ń–\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Помилка зчитŃвання чаŃŃ Đ· ŃиŃŃ‚ĐµĐĽĐ˝ĐľĐĽŃ Đ˛Đ¸ĐşĐ»Đ¸ĐşŃ ioctl KDGHWCLK"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "Помилка зчитŃвання Ń Ń†Đ¸ĐşĐ»Ń– чаŃŃ Đ· ŃиŃŃ‚ĐµĐĽĐ˝ĐľĐĽŃ Đ˛Đ¸ĐşĐ»Đ¸ĐşŃ ioctl KDGHWCLK"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr "Перевищено Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання на Đ·ĐĽŃ–Đ˝Ń Ń‡Đ°ŃŃ."
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "помилка зчитŃвання чаŃŃ Ń ioctl() Đ· %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "помилка ioctl KDSHWCLK"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "не вдалоŃŃŹ відкрити /dev/tty1 чи /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "помилка ioctl KDSHWCLK"
+
+#: sys-utils/hwclock-rtc.c:195
+#, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "Ńпроба виконання ioctl(%s) Đ´Đľ %s для читання чаŃŃ Đ·Đ°Đ·Đ˝Đ°Đ»Đ° невдачі"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "ОчікŃвання зміни чаŃŃ Đ· %s Ń Ń†Đ¸ĐşĐ»Ń–\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s не ĐĽĐ°Ń” Ń„Ńнкції переривання."
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "помилка очікŃвання Ń Ń†Đ¸ĐşĐ»Ń– в read() для %s"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "помилка очікŃвання Ń Ń†Đ¸ĐşĐ»Ń– в select() для %s"
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "перевищено Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання Ń Ń†Đ¸ĐşĐ»Ń– для select() щодо %s"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "помилка вимкнення оновлення переривань Ń ioctl() для %s"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "неочікŃвана помилка вимкнення оновлення переривань Ń ioctl() для %s"
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr ""
+"Ńпроба виконання ioctl(%s) для %s Đ· метою вŃтановлення значення чаŃŃ Đ·Đ°Đ·Đ˝Đ°Đ»Đ° "
+"невдачі."
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) ŃŃпіŃно виконано.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Для роботи Đ·Ń– значенням епохи Ń ŃŹĐ´Ń€Ń– потрібен Đ´ĐľŃŃ‚ŃĐż Đ´Đľ драйвера приŃтрою "
+"«rtc» Linux Đ·Đ° допомогою Ńпеціального файла %s. ĐŁ цій ŃиŃтемі такого файла "
+"не Ń–ŃĐ˝ŃŃ”."
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "помилка Ń ioctl(RTC_EPOCH_READ) для %s"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "прочитано значення епохи %ld з %s через RTC_EPOCH_READ ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Значення епохи не може бŃти нижчим Đ·Đ° 1900. Ви вказали %ld"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "вŃтановлюєтьŃŃŹ епоха = %ld через RTC_EPOCH_SET ioctl Ń %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "Драйвер ядра для приŃтрою %s не ĐĽŃ–Ńтить ioctl RTC_EPOCH_SET."
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "помилка Ń ioctl(RTC_EPOCH_SET) для %s"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+" -M, --shmem <розмір> Ńтворити Ńегмент пам’яті Ńпільного викориŃтання "
+"розміром <розмір>\n"
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+" -S, --semaphore <чиŃло> Ńтворити ĐĽĐ°Ńив Ńемафорів Đ· <чиŃло> елементів\n"
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --queue Ńтворити Ń‡ĐµŃ€ĐłŃ ĐżĐľĐ˛Ń–Đ´ĐľĐĽĐ»ĐµĐ˝ŃŚ\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr " -p, --mode <Đ´ĐľŃŃ‚ŃĐż> права Đ´ĐľŃŃ‚ŃĐżŃ Đ´Đľ реŃŃŃ€ŃŃ (типовими Ń” 0644)\n"
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+msgid "failed to parse size"
+msgstr "не вдалоŃŃŹ обробити значення розмірŃ"
+
+#: sys-utils/ipcmk.c:114
+msgid "failed to parse elements"
+msgstr "не вдалоŃŃŹ обробити елементи"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+"Ńпроба Ńтворення облаŃŃ‚Ń– пам’яті Ńпільного викориŃтання зазнала невдачі"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "Ідентифікатор Ńпільної пам’яті: %d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr "Ńпроба Ńтворення черги повідомлень зазнала невдачі"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "Ідентифікатор черги повідомлень: %d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "Ńпроба Ńтворення Ńемафора зазнала невдачі"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "Ідент. Ńемафора: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+" -m, --shmem-id <Ń–Đ´> вилŃчити Ńегмент пам’яті Ńпільного викориŃтання "
+"Đ·Đ° shmid\n"
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+" -m, --shmem-key <ключ> вилŃчити Ńегмент пам’яті Ńпільного викориŃтання "
+"за ключем\n"
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+" -q, --queue-id <Ń–Đ´.> вилŃчити Ń‡ĐµŃ€ĐłŃ ĐżĐľĐ˛Ń–Đ´ĐľĐĽĐ»ĐµĐ˝ŃŚ Đ·Đ° ідентифікатором\n"
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr " -Q, --queue-key <ключ> вилŃчити Ń‡ĐµŃ€ĐłŃ ĐżĐľĐ˛Ń–Đ´ĐľĐĽĐ»ĐµĐ˝ŃŚ Đ·Đ° ключем\n"
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr " -s, --semaphore-id <Ń–Đ´> вилŃчити Ńемафор Đ·Đ° ідентифікатором\n"
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr " -S, --semaphore-key <ключ> вилŃчити Ńемафор Đ·Đ° ключем\n"
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr " -a, --all[=<Ńпп|пов|Ńем>] вилŃчити вŃŃ–\n"
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -v, --verbose вивеŃти дані щодо Đ´Ń–Đą, які виконŃŃŽŃ‚ŃŚŃŃŹ\n"
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"вилŃчаємо Ńегмент пам’яті Ńпільного викориŃтання Đ· ідентифікатором «%d»\n"
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "вилŃчаємо Ń‡ĐµŃ€ĐłŃ ĐżĐľĐ˛Ń–Đ´ĐľĐĽĐ»ĐµĐ˝ŃŚ Đ· ідентифікатором «%d»\n"
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "вилŃчаємо Ńемафор Đ· ідентифікатором «%d»\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "Đ´ĐľŃŃ‚ŃĐż заборонено для ключа"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "Đ´ĐľŃŃ‚ŃĐż заборонено для ідентифікатора"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "неправильний ключ"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "неправильний ідентифікатор"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "ключ вже видалено"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "ідентифікатор вже видалений"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+msgid "key failed"
+msgstr "помилка Ń ĐşĐ»ŃŽŃ‡Ń–"
+
+#: sys-utils/ipcrm.c:111
+msgid "id failed"
+msgstr "помилка Ń Ń–Đ´ĐµĐ˝Ń‚Đ¸Ń„Ń–ĐşĐ°Ń‚ĐľŃ€Ń–"
+
+#: sys-utils/ipcrm.c:128
+#, c-format
+msgid "invalid id: %s"
+msgstr "некоректний ідентифікатор: %s"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+msgid "not enough arguments"
+msgstr "недоŃтатньо аргŃментів"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "реŃŃŃ€Ń(и) видалений\n"
+
+#: sys-utils/ipcrm.c:194
+#, c-format
+msgid "illegal key (%s)"
+msgstr "помилковий ключ (%s)"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr "ĐżŃ–Đ´Ń‚Ń€Đ¸ĐĽĐşŃ Ńпільної пам'ŃŹŃ‚Ń– не налаŃтовано Ń ŃŹĐ´Ń€Ń–"
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr "ĐżŃ–Đ´Ń‚Ń€Đ¸ĐĽĐşŃ Ńемафорів не налаŃтовано Ń ŃŹĐ´Ń€Ń–"
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr "ĐżŃ–Đ´Ń‚Ń€Đ¸ĐĽĐşŃ Ń‡ĐµŃ€Đł повідомлень не налаŃтовано Ń ŃŹĐ´Ń€Ń–"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, c-format
+msgid "unknown argument: %s"
+msgstr "невідомий аргŃмент: %s"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr " -i, --id <Ń–Đ´> вивеŃти подробиці щодо реŃŃŃ€ŃŃ Đ· ідентифікатором Ń–Đ´\n"
+
+#: sys-utils/ipcs.c:126
+msgid "Resource options:\n"
+msgstr "Параметри реŃŃŃ€Ńів:\n"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr " -m, --shmems Ńегменти пам’яті Ńпільного викориŃтання\n"
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr " -q, --queues черги повідомлень\n"
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr " -s, --semaphores Ńемафори\n"
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr " -a, --all вŃŃ– (типова поведінка)\n"
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr "Формат виведення:\n"
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr " -t, --time виводити чаŃи долŃчення, від’єднання Ń‚Đ° зміни\n"
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr " -p, --pid виводити PID процеŃŃ Ńтворення Ń‚Đ° ĐľŃтанніх Đ´Ń–Đą\n"
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr " -c, --creator вивеŃти дані щодо того, Ń…Ń‚Đľ Ńтворив, Ń‚Đ° влаŃника\n"
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr " -l, --limits вивеŃти дані щодо обмежень реŃŃŃ€Ńів\n"
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr " -u, --summary вивеŃти резюме щодо ŃŃ‚Đ°Đ˝Ń\n"
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "ĐżŃ–Đ´Ń‚Ń€Đ¸ĐĽĐşŃ Ńпільної пам'ŃŹŃ‚Ń– не налаŃтовано Ń ŃŹĐ´Ń€Ń–\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Обмеження Ńпільної пам'ŃŹŃ‚Ń– --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ Ńегментів = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "ĐĽĐ°ĐşŃимальний розмір Ńегмента (кілобайт) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "ĐĽĐ°ĐşŃимŃĐĽ Ńпільної пам'ŃŹŃ‚Ń– загалом (Ń ĐşĐ‘) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "мінімальний розмір ŃĐµĐłĐĽĐµĐ˝Ń‚Ń (байт) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Стан Ńпільної пам'ŃŹŃ‚Ń– --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+"отримано Ńегментів %d\n"
+"отримано Ńторінок %ld\n"
+"оперативних Ńторінок %ld\n"
+"Ńторінок Ń ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ %ld\n"
+"Швидкодія ŃвопінгŃ: %ld Ńпроб\t %ld ŃŃпіхів\n"
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Đвтори/ВлаŃники Ńегментів Ńпільної пам'ŃŹŃ‚Ń– --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "права"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Đ§Đ°Ń ĐżŃ€Đ¸Ń”Đ´Đ˝Đ°Đ˝Đ˝ŃŹ/від'єднання/зміни Ńпільної пам'ŃŹŃ‚Ń– --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "влаŃник"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "приєднано"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "від'єднано"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "змінено"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "- PID процеŃŃ Ńтворення ŃĐż. пам’яті/ĐľŃŃ‚. оператор -\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Сегменти Ńпільної пам'ŃŹŃ‚Ń– --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "ключ"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "байт"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "кільк.підкл"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "ŃŃ‚Đ°Đ˝"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "Не вŃŃ‚Đ°Đ˝."
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "Đ·Ń€Ńйн"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "блоковано"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "ĐżŃ–Đ´Ń‚Ń€Đ¸ĐĽĐşŃ Ńемафорів не налаŃтовано Ń ŃŹĐ´Ń€Ń–\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Обмеження Ńемафорів --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ ĐĽĐ°Ńивів = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "ĐĽĐ°ĐşŃимŃĐĽ Ńемафорів на ĐĽĐ°Ńив = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "ĐĽĐ°ĐşŃимŃĐĽ Ńемафорів Ń ŃиŃтемі = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "ĐĽĐ°ĐşŃимŃĐĽ операцій Đ·Đ° semop виклик = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "ĐĽĐ°ĐşŃимальне значення Ńемафора = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Стан Ńемафора --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "викориŃтано ĐĽĐ°Ńивів = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "виділено Ńемафорів = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Đвтори/ВлаŃники ĐĽĐ°Ńивів Ńемафорів --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Đ§Đ°Ń Đ´Ń–Ń—/внеŃення Đ·ĐĽŃ–Đ˝ Đ´Đľ Ńемафорів --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "ĐľŃŃ‚Đ°Đ˝-оп"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "ĐľŃŃ‚Đ°Đ˝-Đ·ĐĽŃ–Đ˝"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ МаŃиви Ńемафорів --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "кільк.Ńем"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "ĐżŃ–Đ´Ń‚Ń€Đ¸ĐĽĐşŃ Ń‡ĐµŃ€Đł повідомлень не налаŃтовано Ń ŃŹĐ´Ń€Ń–\n"
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "---- Обмеження повідомлень ------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "ĐĽĐ°ĐşŃимŃĐĽ черг Ń ŃиŃтемі = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "ĐĽĐ°ĐşŃимальний розмір повідомлення (байт) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "типовий ĐĽĐ°ĐşŃимальний розмір черги (байт) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Стан повідомлень -------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "виділено черг = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "викориŃтано заголовків = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "викориŃтано проŃŃ‚ĐľŃ€Ń = %d байт\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "-- Створювачі Ń‚Đ° влаŃники черг повідомлень ---\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Đ§Đ°Ń Đ˛Ń–Đ´ĐżŃ€Đ°Đ˛Đ»ĐµĐ˝Đ˝ŃŹ/отримання/зміни черг повідомлень--------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "відправлено"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "отримано"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "змінено"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID черг повідомлень --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Черги повідомлень --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "викориŃтано-байт"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "повідомлень"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "помилка shmctl"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Сегмент Ńпільної пам'ŃŹŃ‚Ń– shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "режим=%#o\tправа_Đ´ĐľŃŃ‚ŃĐżŃ=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "байти=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "чаŃ_приєдн=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "чаŃ_від'єдн=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "чаŃ_Đ·ĐĽŃ–Đ˝=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "помилка msgctl"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Черга повідомлень msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tрежим=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "чаŃ_надŃил=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "чаŃ_отрим=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "помилка semctl"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"МаŃив Ńемафорів semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "режим=%#o, права_Đ´ĐľŃŃ‚=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "кільк.Ńем = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "ном.Ńем"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "значення"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+msgid "invalid iflag"
+msgstr "некоректний прапорець Ń€ĐµĐ¶Đ¸ĐĽŃ Đ˛Đ˛ĐµĐ´ĐµĐ˝Đ˝ŃŹ"
+
+#: sys-utils/ldattach.c:160
+#, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr " %s [параметри] <ldisc> <приŃтрій>\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr " -d, --debug виводити докладні повідомлення до stderr\n"
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+" -s, --speed <значення> вŃтановити значення ŃвидкоŃŃ‚Ń– поŃлідовної лінії\n"
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr " -7, --sevenbits вŃтановити 7-бітовий розмір ŃимволŃ\n"
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr " -8, --eightbits вŃтановити 8-бітовий розмір ŃимволŃ\n"
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr " -n, --noparity вŃтановити режим без визначення парноŃŃ‚Ń–\n"
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr " -e, --evenparity вŃтановити режим парноŃŃ‚Ń–\n"
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr " -o, --oddparity вŃтановити режим непарноŃŃ‚Ń–\n"
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr " -1, --onestopbit вŃтановити Ńтоп-біти Ń Đ·Đ˝Đ°Ń‡ĐµĐ˝Đ˝ŃŹ одиниці\n"
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr " -2, --twostopbits вŃтановити Ńтоп-біти Ń Đ·Đ˝Đ°Ń‡ĐµĐ˝Đ˝ŃŹ двійки\n"
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr " -i, --iflag [-]<iflag> вŃтановити прапорець Ń€ĐµĐ¶Đ¸ĐĽŃ Đ˛Đ˛ĐµĐ´ĐµĐ˝Đ˝ŃŹ\n"
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Відомі програмі значення <ldisc>:\n"
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"Відомі програмі значення <iflag>:\n"
+
+#: sys-utils/ldattach.c:266
+msgid "invalid speed argument"
+msgstr "некоректний аргŃмент ŃвидкоŃŃ‚Ń–"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "некоректний параметр"
+
+#: sys-utils/ldattach.c:288
+msgid "invalid line discipline argument"
+msgstr "некоректний аргŃмент правил обробки рядків"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s не Ń” поŃлідовною лінією"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "не вдалоŃŃŹ отримати атрибŃти термінала для %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "підтримки ŃвидкоŃŃ‚Ń– %d не передбачено"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "не вдалоŃŃŹ вŃтановити атрибŃти термінала для %s"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "не вдалоŃŃŹ вŃтановити правила обробки рядків"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "не вдалоŃŃŹ Ńтворити Ń„ĐľĐ˝ĐľĐ˛Ń ŃĐ»ŃжбŃ"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ", Đ·ŃŃв %ju"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ", обмеження на розмір %ju"
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", ŃифрŃвання %s (тип %u)"
+
+#: sys-utils/losetup.c:120
+#, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: Ńпроба вŃтановлення ĐĽŃ–ŃткоŃŃ‚Ń– зазнала невдачі"
+
+#: sys-utils/losetup.c:130
+#, c-format
+msgid "%s: detach failed"
+msgstr "%s: помилка від’єднання"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+" %1$s [параметри] [<петлприŃтрій>]\n"
+" %1$s [параметри] -f | <петлприŃтрій> <файл>\n"
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+" -a, --all вивеŃти ŃпиŃок вŃŃ–Ń… викориŃтаних приŃтроїв\n"
+" -d, --detach <loopdev> [...] від’єднати один або декілька приŃтроїв\n"
+" -D, --detach-all від’єднати вŃŃ– викориŃтані приŃтрої\n"
+" -f, --find знайти перŃий невикориŃтаний приŃтрій\n"
+" -c, --set-capacity <loopdev> змінити розмір приŃтрою\n"
+" -j, --associated <файл> вивеŃти ŃпиŃок вŃŃ–Ń… приŃтроїв, пов’язаних Đ· "
+"файлом <файл>\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -e, --encryption <тип> ŃвімкнŃти ŃифрŃвання Đ· вказаною <назвою/"
+"номером>\n"
+" -o, --offset <n> розпочати Đ· відŃŃ‚ŃĐżŃ <n> Ń Ń„Đ°ĐąĐ»Ń–\n"
+" --sizelimit <n> приŃтрій обмежено <n> байтами файла\n"
+" -p, --pass-fd <n> прочитати пароль Đ· файла Đ· деŃкриптором <n>\n"
+" -P, --partscan Ńтворити поділений на розділи петльовий "
+"приŃтрій\n"
+" -r, --read-only налаŃŃ‚Ńвати придатний лиŃе для читання "
+"петльовий приŃтрій\n"
+" --show вивеŃти Đ˝Đ°Đ·Đ˛Ń ĐżŃ€Đ¸Ńтрою піŃля налаŃŃ‚Ńвання (Đ· -"
+"f)\n"
+" -v, --verbose режим докладних повідомлень\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+"%s: попередження: розмір файла Ń” менŃим Đ·Đ° 512 байтів, петльовий приŃтрій "
+"може виявитиŃŃŹ непридатним або невидимим для Ń–Đ˝ŃŃ‚Ń€Ńментів ŃиŃтеми."
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+"%s: попередження: файл не вкладаєтьŃŃŹ Ń 512-байтовий Ńектор, отже кінець "
+"файла бŃде проігноровано."
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, c-format
+msgid "%s: failed to use device"
+msgstr "%s: не вдалоŃŃŹ викориŃтати приŃтрій"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr "некоректний деŃкриптор файла паролів"
+
+#: sys-utils/losetup.c:352
+msgid "no loop device specified"
+msgstr "не вказано жодного петльового приŃтрою (loop)"
+
+#: sys-utils/losetup.c:354
+#, c-format
+msgid "%s failed to use device"
+msgstr "%s: не вдалоŃŃŹ викориŃтати приŃтрій"
+
+#: sys-utils/losetup.c:359
+msgid "no file specified"
+msgstr "не вказано жодного файла"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+"параметри %s можна викориŃтовŃвати лиŃе для початкового налаŃтовŃвання "
+"петльового приŃтрою"
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr "параметр --offset не можна викориŃтовŃвати Ń Ń†ŃŚĐľĐĽŃ ĐşĐľĐ˝Ń‚ĐµĐşŃŃ‚Ń–."
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+msgid "couldn't lock into memory"
+msgstr "не вдалоŃŃŹ заблокŃвати Ń ĐżĐ°ĐĽâ€™ŃŹŃ‚Ń–"
+
+#: sys-utils/losetup.c:391
+msgid "not found unused device"
+msgstr "не знайдено невикориŃтаний приŃтрій"
+
+#: sys-utils/losetup.c:403
+#, c-format
+msgid "%s: failed to use backing file"
+msgstr "%s: не вдалоŃŃŹ ŃкориŃтатиŃŃŹ резервним файлом"
+
+#: sys-utils/losetup.c:442
+msgid "find unused loop device failed"
+msgstr "не вдалоŃŃŹ знайти невикориŃтаний петльовий приŃтрій"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "немає"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "пара"
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "повна"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr "горизонтальний"
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr "вертикальний"
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr "номер логічного процеŃора"
+
+#: sys-utils/lscpu.c:238
+msgid "logical core number"
+msgstr "номер логічного ядра"
+
+#: sys-utils/lscpu.c:239
+msgid "logical socket number"
+msgstr "номер логічного Ńокета"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr "номер логічного вŃзла NUMA"
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr "номер логічної книги"
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr "показŃŃ”, ŃŹĐş розподілено кеŃŃ– між процеŃорами"
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr "Режим Ń€ĐľĐ·ĐżĐľĐ´Ń–Đ»Ń Ń‡Đ°ŃŃ ĐżŃ€ĐľŃ†ĐµŃорів на віртŃĐ°Đ»ŃŚĐ˝ĐľĐĽŃ ĐľĐ±Đ»Đ°Đ´Đ˝Đ°Đ˝Đ˝Ń–"
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr "фізична адреŃĐ° процеŃора"
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr "показŃŃ”, чи отримано гіпервізором Ń ĐşĐľŃ€Đ¸ŃŃ‚Ńвання процеŃор"
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr "показŃŃ”, чи викориŃтовŃŃ” зараз Linux процеŃор"
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "помилка: не вдалоŃŃŹ виконати uname"
+
+#: sys-utils/lscpu.c:551
+msgid "failed to allocate memory"
+msgstr "не вдалоŃŃŹ отримати пам’ять"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr "Y"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "N"
+msgstr "N"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+"# Нижче наведено дані Ń ĐżŃ€Đ¸Đ´Đ°Ń‚Đ˝ĐľĐĽŃ Đ´Đľ обробки форматі, який можна\n"
+"# передати Ń–Đ˝Ńим програмам. Đ’ŃŃ– запиŃи Ń ĐşĐľĐ¶Đ˝ĐľĐĽŃ ŃŃ‚ĐľĐ˛ĐżŃ‡Đ¸ĐşŃ ĐĽĐ°ŃŽŃ‚ŃŚ\n"
+"# Ńнікальні ідентифікатори, що починаютьŃŃŹ Đ· Đ˝Ńля.\n"
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "ĐрхітектŃра:"
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "Режими ЦП:"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr "Порядок байтів:"
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr "ПроцеŃори:"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr "МаŃка робочих ЦП:"
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr "СпиŃок робочих ЦП:"
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr "МаŃка вимкнених ЦП:"
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr "СпиŃок вимкнених ЦП:"
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "Потоків на ядро:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "Ядер на Ńокет:"
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr "Сокетів на книгŃ:"
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr "Книги:"
+
+#: sys-utils/lscpu.c:1164
+msgid "Socket(s):"
+msgstr "Сокети:"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "Đ’Ńзли NUMA:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "Ідентифікатор виробника:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "СімейŃтво процеŃорів:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Модель:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "Модифікація:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "ЧаŃтота Ń ĐśĐ“Ń†:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr "BogoMIPS:"
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "ВіртŃалізація:"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr "Гіпервізор:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Виробник гіпервізора:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Тип віртŃалізації:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr "Режим розподілŃ:"
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "ĐšĐµŃ %s:"
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "ПроцеŃори вŃзла%d NUMA:"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+" -a, --all вивеŃти ŃпиŃок робочих Ń– вимкнених ЦП (типово для "
+"-e)\n"
+" -b, --online вивеŃти ŃпиŃок лиŃе робочих ЦП (типово для -p)\n"
+" -c, --offline вивеŃти ŃпиŃок лиŃе вимкнених ЦП\n"
+" -e, --extended[=<ŃпиŃок>] вивеŃти дані Ń Ń€ĐľĐ·ŃĐ¸Ń€ĐµĐ˝ĐľĐĽŃ ĐżŃ€Đ¸Đ´Đ°Ń‚Đ˝ĐľĐĽŃ Đ´Đ»ŃŹ читання "
+"форматі\n"
+" -h, --help вивеŃти це довідкове повідомлення\n"
+" -p, --parse[=<ŃпиŃок>] вивеŃти дані Ń ĐżŃ€Đ¸Đ´Đ°Ń‚Đ˝ĐľĐĽŃ Đ´Đľ обробки форматі\n"
+" -s, --sysroot <каталог> викориŃтати вказаний каталог ŃŹĐş кореневий Ń "
+"ŃиŃтемі\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -x, --hex вивеŃти ŃŃ–Ńтнадцяткові ĐĽĐ°Ńки Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ ŃпиŃків "
+"процеŃорів\n"
+
+#: sys-utils/lscpu.c:1235
+#, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"ДокладніŃŃ– відомоŃŃ‚Ń– можна знайти Ń Đ´ĐľĐşŃментації Đ· lscpu(1).\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+"%s: параметри --all, --online Ń– --offline можна викориŃтовŃвати лиŃе разом Đ· "
+"параметром --extended або --parsable.\n"
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr ""
+"параметром «--%s» може кориŃŃ‚ŃватиŃŃŹ лиŃе адмініŃтратор (UID дорівнює %u)"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "цю Đ´Ń–ŃŽ може виконŃвати лиŃе адмініŃтратор (UID дорівнює %u)"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "параметром «--%s» може кориŃŃ‚ŃватиŃŃŹ лиŃе адмініŃтратор"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr "це може робити лиŃе кориŃŃ‚Ńвач root"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s Đ· %s (libmount %s"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "%s: помилка обробки: ігнорŃємо Đ·Đ°ĐżĐ¸Ń Ń Ń€ŃŹĐ´ĐşŃ %d."
+
+#: sys-utils/mount.c:158
+msgid "failed to read mtab"
+msgstr "не вдалоŃŃŹ прочитати таблицю монтŃвання"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr "%-25s: проігноровано\n"
+
+#: sys-utils/mount.c:221
+#, c-format
+msgid "%-25s: already mounted\n"
+msgstr "%-25s: вже змонтовано\n"
+
+#: sys-utils/mount.c:367
+#, c-format
+msgid "only root can mount %s on %s"
+msgstr "лиŃе адмініŃтратор може монтŃвати %s Đ´Đľ %s"
+
+#: sys-utils/mount.c:370
+#, c-format
+msgid "%s is already mounted"
+msgstr "%s вже змонтовано"
+
+#: sys-utils/mount.c:374
+#, c-format
+msgid "can't find %s in %s"
+msgstr "не вдалоŃŃŹ знайти %s Ń %s"
+
+#: sys-utils/mount.c:381
+#, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "не вдалоŃŃŹ знайти Ń‚ĐľŃ‡ĐşŃ ĐĽĐľĐ˝Ń‚Ńвання %s Ń %s"
+
+#: sys-utils/mount.c:384
+#, c-format
+msgid "can't find mount source %s in %s"
+msgstr "не вдалоŃŃŹ знайти джерело монтŃвання %s Ń %s"
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "Не вдалоŃŃŹ визначити тип файлової ŃиŃтеми, Ń‚Đ° тип явно не вказаний"
+
+#: sys-utils/mount.c:392
+msgid "you must specify the filesystem type"
+msgstr "вам Ńлід вказати тип файлової ŃиŃтеми"
+
+#: sys-utils/mount.c:396
+#, c-format
+msgid "can't find %s"
+msgstr "не вдалоŃŃŹ знайти %s"
+
+#: sys-utils/mount.c:398
+msgid "mount source not defined"
+msgstr "джерело монтŃвання не визначено"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+msgid "failed to parse mount options"
+msgstr "не вдалоŃŃŹ обробити параметри монтŃвання"
+
+#: sys-utils/mount.c:410
+#, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr ""
+"%s: не вдалоŃŃŹ ŃкориŃтатиŃŃŹ петльовим приŃтроєм (ймовірно, невідомий тип "
+"ŃифрŃвання)"
+
+#: sys-utils/mount.c:416
+#, c-format
+msgid "%s: mount failed"
+msgstr "%s: не вдалоŃŃŹ змонтŃвати"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr ""
+"%s: Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃŃ‚ĐµĐĽŃ Đ·ĐĽĐľĐ˝Ń‚ĐľĐ˛Đ°Đ˝Đľ, але Ńпроба виконання mount(8) заверŃилаŃŃŹ "
+"помилкою"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, c-format
+msgid "mount point %s is not a directory"
+msgstr "точка монтŃвання %s не Ń” каталогом"
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr "для викориŃтання mount Ńлід мати права адмініŃтратора"
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr "%s зайнято"
+
+#: sys-utils/mount.c:459
+#, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "%s вже змонтовано або %s зайнято"
+
+#: sys-utils/mount.c:471
+#, c-format
+msgid " %s is already mounted on %s\n"
+msgstr " %s вже змонтовано до %s\n"
+
+#: sys-utils/mount.c:479
+#, c-format
+msgid "mount point %s does not exist"
+msgstr "точки монтŃвання %s не Ń–ŃĐ˝ŃŃ”"
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "точка монтŃвання %s Ń” Ńимволічним поŃиланням, яке нікŃди не вказŃŃ”"
+
+#: sys-utils/mount.c:486
+#, c-format
+msgid "special device %s does not exist"
+msgstr "Ńпеціального приŃтрою %s не Ń–ŃĐ˝ŃŃ”"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+msgid "mount(2) failed"
+msgstr "Ńпроба виконати mount(2) зазнала невдачі"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr "Ńпеціального приŃтрою %s не Ń–ŃĐ˝ŃŃ” (ĐżŃ€ĐµŃ„Ń–ĐşŃ ŃĐ»ŃŹŃ…Ń Đ˝Đµ Ń” каталогом)"
+
+#: sys-utils/mount.c:510
+#, c-format
+msgid "%s not mounted or bad option"
+msgstr "%s не змонтовано або вказано помилковий параметр"
+
+#: sys-utils/mount.c:512
+#, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "%s не Ń” точкою монтŃвання або вказано помилковий параметр"
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"помилковий тип ФС, помилковий параметр, помилковий ŃŃперблок на %s,\n"
+" не виŃтачає кодової Ńторінки або допоміжної програми чи Ń–Đ˝ŃĐ° помилка"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (для роботи Đ· деякими файловими ŃиŃтемами (зокрема nfs, cifs)\n"
+" вам може знадобитиŃŃŹ допоміжна програма /sbin/mount.<тип>)\n"
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Іноді кориŃĐ˝Ń Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–ŃŽ можна знайти Ń ŃиŃŃ‚ĐµĐĽĐ˝ĐľĐĽŃ Đ¶Ńрналі,\n"
+" ŃпробŃйте - dmesg | tail чи щоŃŃŚ подібне\n"
+
+#: sys-utils/mount.c:533
+#, c-format
+msgid "%s: can't read superblock"
+msgstr "%s: не вдалоŃŃŹ прочитати ŃŃперблок"
+
+#: sys-utils/mount.c:537
+#, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "невідомий тип файлової ŃиŃтеми «%s»"
+
+#: sys-utils/mount.c:545
+#, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr ""
+"%s не Ń” блоковим приŃтроєм, Đ° Ńпроба виконання stat(2) зазнала невдачі?"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"приŃтрій %s не розпізнано ядром ŃŹĐş блоковий\n"
+" (забŃли «modprobe драйвер»?)"
+
+#: sys-utils/mount.c:550
+#, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "%s не Ń” блоковим приŃтроєм (варто ŃпробŃвати `-o loop'?)"
+
+#: sys-utils/mount.c:552
+#, c-format
+msgid " %s is not a block device"
+msgstr " %s не Ń” блоковим приŃтроєм"
+
+#: sys-utils/mount.c:559
+#, c-format
+msgid "%s is not a valid block device"
+msgstr "%s не Ń” коректним блоковим приŃтроєм"
+
+#: sys-utils/mount.c:565
+#, c-format
+msgid "cannot mount %s read-only"
+msgstr "не вдалоŃŃŹ змонтŃвати %s Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– лиŃе читання"
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "%s захищено від запиŃŃ, але бŃло явно вказано ключ «-w»"
+
+#: sys-utils/mount.c:571
+#, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr ""
+"не вдалоŃŃŹ повторно змонтŃвати %s Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– читання-запиŃŃ, приŃтрій захищено "
+"від запиŃŃ"
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "%s захищено від запиŃŃ, монтŃємо лиŃе для читання"
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr "Ń %s не знайдено ноŃŃ–ŃŹ даних"
+
+#: sys-utils/mount.c:591
+#, c-format
+msgid "mount %s on %s failed"
+msgstr "Ńпроба монтŃвання %s Đ´Đľ %s заверŃилаŃŃŹ невдало"
+
+#: sys-utils/mount.c:613
+#, c-format
+msgid "%s: failed to parse"
+msgstr "%s: не вдалоŃŃŹ обробити"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+" %1$s [-lhV]\n"
+" %1$s -a [параметри]\n"
+" %1$s [параметри] [--source] <джерело> | [--target] <каталог>\n"
+" %1$s [параметри] <джерело> <каталог>\n"
+" %1$s <Đ´Ń–ŃŹ> <точка монтŃвання> [<призначення>]\n"
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+" -a, --all змонтŃвати вŃŃ– файлові ŃиŃтеми, згадані Ń fstab\n"
+" -c, --no-canonicalize не переводити Ńляхи Ń ĐşĐ°Đ˝ĐľĐ˝Ń–Ń‡Đ˝Ń Ń„ĐľŃ€ĐĽŃ\n"
+" -f, --fake теŃтовий Đ·Đ°ĐżŃŃĐş; пропŃŃтити ŃиŃтемний виклик mount"
+"(2)\n"
+" -F, --fork відгалŃжŃватиŃŃŹ для кожного приŃтрою (кориŃŃ‚ŃйтеŃŃŹ "
+"Đ· -a)\n"
+" -T, --fstab <Ńлях> файл, альтернативний щодо /etc/fstab\n"
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+" -i, --internal-only не викликати допоміжні програми mount.<тип>\n"
+" -l, --show-labels вивеŃти ŃпиŃок вŃŃ–Ń… змонтованих точок Đ· міткою "
+"МІТКĐ\n"
+" -n, --no-mtab не запиŃŃвати /etc/mtab\n"
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+" -o, --options <ŃпиŃок> ŃпиŃок відокремлених комами параметрів монтŃвання\n"
+" -O, --test-opts <ŃпиŃок> обмежити набір файлових ŃиŃтем (ŃкориŃтайтеŃŃŹ Đ· -"
+"a)\n"
+" -p, --pass-fd <n> прочитати пароль Đ· файла Đ· вказаним деŃкриптором\n"
+" -r, --read-only змонтŃвати Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃŃ‚ĐµĐĽŃ Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– лиŃе читання "
+"(= -o ro)\n"
+" -t, --types <ŃпиŃок> обмежити набір типів файлових ŃиŃтем\n"
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+" --source <джерело> вказати джерело явно (Ńлях, мітка, uuid)\n"
+" --target <ціль> вказати Ń‚ĐľŃ‡ĐşŃ ĐĽĐľĐ˝Ń‚Ńвання явно\n"
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+" -v, --verbose вивеŃти повідомлення про Đ´Ń–Ń—\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -w, --read-write змонтŃвати Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃŃ‚ĐµĐĽŃ Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– читання-запиŃŃ "
+"(типово)\n"
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+"\n"
+"Джерело:\n"
+" -L, --label <мітка> Ńинонім Đ´Đľ LABEL=<мітка>\n"
+" -U, --uuid <uuid> Ńинонім Đ´Đľ UUID=<uuid>\n"
+" LABEL=<мітка> вказати приŃтрій Đ·Đ° міткою файлової ŃиŃтеми\n"
+" UUID=<uuid> вказати приŃтрій Đ·Đ° UUID файлової ŃиŃтеми\n"
+" PARTLABEL=<мітки> вказати приŃтрій Đ·Đ° міткою розділŃ\n"
+" PARTUUID=<uuid> вказати приŃтрій Đ·Đ° UUID розділŃ\n"
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+" <приŃтрій> вказати приŃтрій Đ·Đ° Ńляхом\n"
+" <каталог> точка монтŃвання для монтŃвань прив’язŃвання (див. "
+"--bind/rbind)\n"
+" <файл> звичайний файл для налаŃŃ‚Ńвання петльового "
+"приŃтрою\n"
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+"\n"
+"Дії:\n"
+" -B, --bind змонтŃвати підієрархію Ń Ń–Đ˝Ńе ĐĽŃ–Ńце (те Ńаме, що Ń– -"
+"o bind)\n"
+" -M, --move переŃŃĐ˝Ńти підієрархію Đ´Đľ Ń–Đ˝Ńого ĐĽŃ–Ńця\n"
+" -R, --rbind змонтŃвати підієрархію Ń– вŃŃ– підмонтŃвання Ń Ń–Đ˝Ńе "
+"ĐĽŃ–Ńце\n"
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+" --make-shared позначити підієрархію ŃŹĐş ŃпільнŃ\n"
+" --make-slave позначити підієрархію ŃŹĐş підлеглŃ\n"
+" --make-private позначити підієрархію ŃŹĐş закритŃ\n"
+" --make-unbindable позначити підієрархію ŃŹĐş Đ˝ĐµĐżŃ€Đ¸Đ´Đ°Ń‚Đ˝Ń Đ´Đľ "
+"прив’язŃвання\n"
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+" --make-rshared рекŃŃ€Ńивно позначити вŃŃŽ підієрархію ŃŹĐş ŃпільнŃ\n"
+" --make-rslave рекŃŃ€Ńивно позначити вŃŃŽ підієрархію ŃŹĐş підлеглŃ\n"
+" --make-rprivate рекŃŃ€Ńивно позначити вŃŃŽ підієрархію ŃŹĐş закритŃ\n"
+" --make-runbindable рекŃŃ€Ńивно позначити вŃŃŽ підієрархію ŃŹĐş Đ˝ĐµĐżŃ€Đ¸Đ´Đ°Ń‚Đ˝Ń "
+"до прив’язки\n"
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr "не вдалоŃŃŹ розподілити контекŃŃ‚ libmount"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+msgid "failed to append options"
+msgstr "не вдалоŃŃŹ допиŃати параметри"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+msgid "failed to set options pattern"
+msgstr "не вдалоŃŃŹ вŃтановити Ńаблон параметрів"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+" %1$s [-qd] /Ńлях/Đ´Đľ/каталогŃ\n"
+" %1$s -x /dev/приŃтрій\n"
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+" -q, --quiet режим без виведення повідомлень\n"
+" -d, --fs-devno вивеŃти номер приŃтрою файлової ŃиŃтеми, ĐľŃновний:"
+"додатковий\n"
+" -x, --devno вивеŃти номер приŃтрою блокового приŃтрою, ĐľŃновний:"
+"додатковий\n"
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s не Ń” точкою монтŃвання\n"
+
+#: sys-utils/mountpoint.c:208
+#, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s Ń” точкою монтŃвання\n"
+
+#: sys-utils/pivot_root.c:33
+#, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr " %s [параметри] новий_корінь ĐĽŃ–Ńце_Ńтарого\n"
+
+#: sys-utils/pivot_root.c:71
+#, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "не вдалоŃŃŹ змінити ĐşĐľŃ€ĐµĐ˝ĐµĐ˛Ń Ń‚ĐµĐşŃ Đ· «%s» на «%s»"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr "обмеження проŃŃ‚ĐľŃ€Ń Đ°Đ´Ń€ĐµŃ"
+
+#: sys-utils/prlimit.c:71
+msgid "max core file size"
+msgstr "ĐĽĐ°ĐşŃимальний розмір файла ядра"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+msgid "blocks"
+msgstr "блоків"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr "Đ§Đ°Ń ĐżŃ€ĐľŃ†ĐµŃора"
+
+#: sys-utils/prlimit.c:72
+msgid "seconds"
+msgstr "ŃекŃнд"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr "ĐĽĐ°ĐşŃ. розмір даних"
+
+#: sys-utils/prlimit.c:74
+msgid "max file size"
+msgstr "ĐĽĐ°ĐşŃ. розмір файла"
+
+#: sys-utils/prlimit.c:75
+msgid "max number of file locks held"
+msgstr "Đ´ĐľŃягнŃŃ‚Đľ ĐĽĐ°ĐşŃимальної кількоŃŃ‚Ń– блокŃвань файлів"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr "ĐĽĐ°ĐşŃимальний проŃŃ‚Ń–Ń€ Đ°Đ´Ń€ĐµŃ Đ±Đ»ĐľĐşŃвання Ń ĐżĐ°ĐĽâ€™ŃŹŃ‚Ń–"
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr "ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ байтів Ń m-чергах POSIX"
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr "ĐĽĐ°ĐşŃимальне значення пріоритетноŃŃ‚Ń– nice, яке можна вŃтановити"
+
+#: sys-utils/prlimit.c:79
+msgid "max number of open files"
+msgstr "ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ відкритих файлів"
+
+#: sys-utils/prlimit.c:80
+msgid "max number of processes"
+msgstr "ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ процеŃів"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr "ĐĽĐ°ĐşŃимальний розмір оперативного наборŃ"
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr "Ńторінок"
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr "ĐĽĐ°ĐşŃ. пріоритет реального чаŃŃ"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr "Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання для завдань реального чаŃŃ"
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr "ĐĽĐşŃ"
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr "ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ Ńигналів Ń Ń‡ĐµŃ€Đ·Ń–"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr "ĐĽĐ°ĐşŃ. розмір Ńтека"
+
+#: sys-utils/prlimit.c:116
+msgid "resource name"
+msgstr "назва реŃŃŃ€ŃŃ"
+
+#: sys-utils/prlimit.c:117
+msgid "resource description"
+msgstr "ĐľĐżĐ¸Ń Ń€ĐµŃŃŃ€ŃŃ"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr "м’яке обмеження"
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr "жорŃтке обмеження (Ńтеля)"
+
+#: sys-utils/prlimit.c:120
+msgid "units"
+msgstr "одиниць"
+
+#: sys-utils/prlimit.c:156
+#, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr " %s [параметри] [-p PID]\n"
+
+#: sys-utils/prlimit.c:158
+#, c-format
+msgid " %s [options] COMMAND\n"
+msgstr " %s [параметри] КОМĐНДĐ\n"
+
+#: sys-utils/prlimit.c:160
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"Загальні параметри:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <pid> ідентифікатор процеŃŃ\n"
+" -o, --output <ŃпиŃок> визначити ŃпиŃок Ńтовпчиків для виведення\n"
+" --noheadings не виводити заголовків Ńтовпчиків\n"
+" --raw викориŃтовŃвати формат виведення даних без обробки\n"
+" --verbose режим докладного виведення даних\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: sys-utils/prlimit.c:169
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr ""
+"\n"
+"Параметри реŃŃŃ€Ńів:\n"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+" -c, --core ĐĽĐ°ĐşŃимальний розмір Ńтворених файлів ядра\n"
+" -d, --data ĐĽĐ°ĐşŃимальний розмір Ńегмента даних процеŃŃ\n"
+" -e, --nice ĐĽĐ°ĐşŃимальна пріоритетніŃŃ‚ŃŚ процеŃŃ\n"
+" -f, --fsize ĐĽĐ°ĐşŃимальний розмір файлів, які може запиŃŃвати "
+"процеŃ\n"
+" -i, --sigpending ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ Ńигналів Ń Ń‡ĐµŃ€Đ·Ń–\n"
+" -l, --memlock ĐĽĐ°ĐşŃимальний об’єм, який ĐżŃ€ĐľŃ†ĐµŃ ĐĽĐľĐ¶Đ˝Đ° заблокŃвати Ń "
+"пам’яті\n"
+" -m, --rss ĐĽĐ°ĐşŃимальний об’єм оперативного наборŃ\n"
+" -n, --nofile ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ відкритих файлів\n"
+" -q, --msgqueue ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ байтів Ń Ń‡ĐµŃ€ĐłĐ°Ń… повідомлень "
+"POSIX\n"
+" -r, --rtprio ĐĽĐ°ĐşŃимальна пріоритетніŃŃ‚ŃŚ Ń ĐżĐ»Đ°Đ˝Ńванні реального "
+"чаŃŃ\n"
+" -s, --stack ĐĽĐ°ĐşŃимальний розмір Ńтека\n"
+" -t, --cpu ĐĽĐ°ĐşŃимальний процеŃорний Ń‡Đ°Ń Ń ŃекŃндах\n"
+" -u, --nproc ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ процеŃів кориŃŃ‚Ńвача\n"
+" -v, --as об’єм віртŃальної пам’яті\n"
+" -x, --locks ĐĽĐ°ĐşŃимальна кількіŃŃ‚ŃŚ блокŃвань файлів\n"
+" -y, --rttime процеŃорний Ń‡Đ°Ń Ń ĐĽŃ–ĐşŃ€ĐľŃекŃндах, запланований для "
+"процеŃŃ\n"
+" Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– планŃвання реального чаŃŃ\n"
+
+#: sys-utils/prlimit.c:320
+#, c-format
+msgid "failed to get old %s limit"
+msgstr "не вдалоŃŃŹ отримати попереднє обмеження %s"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+"значення м’якого обмеження, %s, не може перевищŃвати значення жорŃткого "
+"обмеження"
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr "Нове обмеження %s: "
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr "без обмежень"
+
+#: sys-utils/prlimit.c:365
+#, c-format
+msgid "failed to set the %s resource limit"
+msgstr "не вдалоŃŃŹ вŃтановити обмеження реŃŃŃ€ŃŃ %s"
+
+#: sys-utils/prlimit.c:366
+#, c-format
+msgid "failed to get the %s resource limit"
+msgstr "не вдалоŃŃŹ отримати обмеження реŃŃŃ€ŃŃ %s"
+
+#: sys-utils/prlimit.c:445
+#, c-format
+msgid "failed to parse %s limit"
+msgstr "не вдалоŃŃŹ обробити обмеження %s"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr "параметр --pid можна вказŃвати лиŃе один раз"
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "параметри --pid Ń– КОМĐНДРне можна викориŃтовŃвати одночаŃно"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr " -m, --mapfile <файл карти> (типовими є «%s» і\n"
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr " «%s»)\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr " -p, --profile <профіль> (типовим є «%s»)\n"
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+" -M, --multiplier <m> вŃтановити множник профілювання Ń Đ·Đ˝Đ°Ń‡ĐµĐ˝Đ˝ŃŹ <m>\n"
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+" -i, --info вивеŃти лиŃе дані щодо ĐşŃ€ĐľĐşŃ Đ´Đ¸Ńкретизації\n"
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr " -v, --verbose вивеŃти докладні дані\n"
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+" -a, --all вивеŃти вŃŃ– Ńимволи, навіть якщо кількіŃŃ‚ŃŚ "
+"дорівнює Đ˝Ńлеві\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+" -b, --histbin вивеŃти окремі значення позначок гіŃтограми\n"
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr " -s, --counters вивеŃти окремі лічильники Ń Ń„Ńнкціях\n"
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -r, --reset Đ·Đ°Đ˝Ńлити вŃŃ– лічильники (лиŃе для root)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+" -n, --no-auto вимкнŃти автоматичне визначення ĐżĐľŃ€ŃŹĐ´ĐşŃ Đ±Đ°ĐąŃ‚Ń–Đ˛\n"
+
+#: sys-utils/readprofile.c:237
+#, c-format
+msgid "error writing %s"
+msgstr "помилка запиŃŃ %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+"ВикориŃтовŃвати обернений порядок байтів. СкориŃтайтеŃŃŹ -n, щоб примŃŃово "
+"вŃтановити природний порядок байтів."
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Крок_профілювання: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s(%i): помилковий рядок карти"
+
+#: sys-utils/readprofile.c:310
+#, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "не вдалоŃŃŹ знайти «_stext» Ń %s"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr "адреŃĐ° профілю поза діапазоном. Помилковий файл карти?"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "загалом"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+" %1$s [-n] <пріоритет> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <пріоритет> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <пріоритет> -u <кориŃŃ‚> [<кориŃŃ‚> ...]\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+" -g, --pgrp <Ń–Đ´> вважати ідентифікатором грŃпи процеŃів\n"
+" -h, --help вивеŃти довідкове повідомлення\n"
+" -n, --priority <n> вŃтановити крок збільŃення ŃподобаноŃŃ‚Ń–\n"
+" -p, --pid <Ń–Đ´> примŃŃово вважати ідентифікатором процеŃŃ\n"
+" -u, --user <назва|Ń–Đ´> вважати іменем або ідентифікатором кориŃŃ‚Ńвача\n"
+" -v, --version вивеŃти дані щодо верŃŃ–Ń—\n"
+
+#: sys-utils/renice.c:70
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"ДокладніŃŃ– дані можна знайти Ń Đ´ĐľĐşŃментації Đ´Đľ renice(1).\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice Đ· %s\n"
+
+#: sys-utils/renice.c:139
+#, c-format
+msgid "unknown user %s"
+msgstr "невідомий кориŃŃ‚Ńвач %s"
+
+#: sys-utils/renice.c:146
+#, c-format
+msgid "bad value %s"
+msgstr "помилкове значення %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr "Ń–Đ´. процеŃŃ"
+
+#: sys-utils/renice.c:161
+msgid "user ID"
+msgstr "Ń–Đ´. кориŃŃ‚Ńвача"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr "ідентифікатор грŃпи процеŃів"
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "не вдалоŃŃŹ отримати значення пріоритетноŃŃ‚Ń– для %d (%s)"
+
+#: sys-utils/renice.c:172
+#, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "не вдалоŃŃŹ вŃтановити значення пріоритетноŃŃ‚Ń– для %d (%s)"
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr ""
+"%d (%s) попереднє значення пріоритетноŃŃ‚Ń– - %d, нове значення пріоритетноŃŃ‚Ń– "
+"- %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+" -d, --device <приŃтрій> вибрати приŃтрій rtc (rtc0|rtc1|...)\n"
+" -n, --dry-run виконати вŃŃ– Đ´Ń–Ń—, окрім приŃипляння\n"
+" -l, --local RTC викориŃтовŃŃ” ĐĽŃ–Ńцевий чаŃ\n"
+" -m, --mode <режим> режим приŃипляння standby|mem|...\n"
+" -s, --seconds <ŃекŃнди> Ń‡Đ°Ń Ń ŃекŃндах Đ´Đľ приŃипляння\n"
+" -t, --time <time_t> Ń‡Đ°Ń Đ´Đľ пробŃдження\n"
+" -u, --utc RTC викориŃтовŃŃ” UTC\n"
+" -v, --verbose режим докладних повідомлень\n"
+
+#: sys-utils/rtcwake.c:156
+msgid "read rtc time failed"
+msgstr "Ńпроба читання чаŃŃ rtc зазнала невдачі"
+
+#: sys-utils/rtcwake.c:161
+msgid "read system time failed"
+msgstr "Ńпроба читання значення ŃиŃтемного чаŃŃ Đ·Đ°Đ·Đ˝Đ°Đ»Đ° невдачі"
+
+#: sys-utils/rtcwake.c:179
+msgid "convert rtc time failed"
+msgstr "Ńпроба перетворення чаŃŃ rtc зазнала невдачі"
+
+#: sys-utils/rtcwake.c:239
+msgid "set rtc alarm failed"
+msgstr "Ńпроба вŃтановлення нагадŃвання rtc зазнала невдачі"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr "Ńпроба вмикання нагадŃвання rtc зазнала невдачі"
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr "Ńпроба вŃтановлення нагадŃвання щодо пробŃдження rtc зазнала невдачі"
+
+#: sys-utils/rtcwake.c:351
+msgid "read rtc alarm failed"
+msgstr "Ńпроба читання нагадŃвання rtc зазнала невдачі"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr "нагадŃвання: вимкнено\n"
+
+#: sys-utils/rtcwake.c:374
+msgid "convert time failed"
+msgstr "Ńпроба перетворення чаŃŃ Đ·Đ°Đ·Đ˝Đ°Đ»Đ° невдачі"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr "нагадŃвання: Đľ %s"
+
+#: sys-utils/rtcwake.c:438
+#, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "невідомий ŃŃ‚Đ°Đ˝ приŃипляння «%s»"
+
+#: sys-utils/rtcwake.c:448
+msgid "invalid seconds argument"
+msgstr "некоректний аргŃмент ŃекŃнд"
+
+#: sys-utils/rtcwake.c:455
+msgid "invalid time argument"
+msgstr "некоректний аргŃмент чаŃŃ"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: припŃŃкаєтьŃŃŹ, що RTC викориŃтовŃŃ” UTC...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "ВикориŃтовŃємо вŃеŃвітній Ń‡Đ°Ń (UTC).\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "ВикориŃтовŃємо ĐĽŃ–Ńцевий чаŃ.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr "Ńлід вказати Ń‡Đ°Ń ĐżŃ€ĐľĐ±Ńдження (див. параметри -t Ń– -s)"
+
+#: sys-utils/rtcwake.c:508
+#, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s не визначено для подій пробŃдження"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "нагадŃвання %ld, ŃиŃŃ‚_Ń‡Đ°Ń %ld, чаŃ_rtc %ld, ŃекŃнди %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr "приŃипляння на «%s» недоŃŃ‚Ńпне"
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr "Ń‡Đ°Ń Đ˛Đ¶Đµ не повернетьŃŃŹ Đ´Đľ %s"
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: пробŃдження на ĐľŃнові %s Đľ %s"
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: пробŃдження Đ· «%s» на ĐľŃнові %s Đľ %s"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr "режим приŃипляння: ні; виходимо\n"
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr "режим приŃипляння: вимкнено; виконŃємо %s\n"
+
+#: sys-utils/rtcwake.c:578
+#, c-format
+msgid "unable to execute %s"
+msgstr "не вдалоŃŃŹ виконати %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr "режим приŃипляння: Ńвімкнено; читаємо rtc\n"
+
+#: sys-utils/rtcwake.c:592
+msgid "rtc read failed"
+msgstr "Ńпроба читання rtc заверŃилаŃŃŹ невдало"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr "режим приŃипляння: вимкнено; вимикаємо нагадŃвання\n"
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr "режим приŃипляння: показ; виводимо дані нагадŃвання\n"
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr "режим приŃипляння: %s; приŃипляємо ŃиŃтемŃ\n"
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr "Ńпроба вимикання переривання нагадŃвання rtc зазнала невдачі"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Вмикаємо %s.\n"
+
+#: sys-utils/setarch.c:94
+#, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr " %s%s [параметри] [програма [аргŃменти програми]]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -v, --verbose вивеŃти параметри, які бŃде Ńвімкнено\n"
+" -R, --addr-no-randomize вимикає рандомізацію проŃŃ‚ĐľŃ€Ń Đ˛Ń–Ń€Ń‚Ńальних адреŃ\n"
+" -F, --fdpic-funcptrs вказівники Ń„Ńнкцій вказŃŃŽŃ‚ŃŚ на деŃкриптори\n"
+" -Z, --mmap-page-zero вмикає MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout змінює ŃпоŃіб Ń€ĐľĐ·ĐżĐľĐ´Ń–Đ»Ń Đ˛Ń–Ń€Ń‚Ńальної пам’яті\n"
+" -X, --read-implies-exec вмикає READ_IMPLIES_EXEC\n"
+" -B, --32bit вмикає ADDR_LIMIT_32BIT\n"
+" -I, --short-inode вмикає SHORT_INODE\n"
+" -S, --whole-seconds вмикає WHOLE_SECONDS\n"
+" -T, --sticky-timeouts вмикає STICKY_TIMEOUTS\n"
+" -3, --3gb обмежŃŃ” викориŃтаний проŃŃ‚Ń–Ń€ Đ°Đ´Ń€ĐµŃ ĐĽĐ°ĐşŃимŃмом Ń 3 "
+"Đ“Đ‘\n"
+" --4gb ігнорŃєтьŃŃŹ (збережено лиŃе Đ· міркŃвань "
+"ŃŃĐĽŃ–ŃноŃŃ‚Ń–)\n"
+" --uname-2.6 вмикає UNAME26\n"
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s\n"
+"СпробŃйте «%s --help», щоб отримати Đ´ĐľĐ´Đ°Ń‚ĐşĐľĐ˛Ń Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–ŃŽ."
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr "СпробŃйте «%s --help» для отримання докладніŃого опиŃŃ."
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: нерозпізнана архітектŃра"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "НедоŃтатньо аргŃментів"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Не вдалоŃŃŹ вŃтановити Ńпеціалізацію Ń Đ·Đ˝Đ°Ń‡ĐµĐ˝Đ˝ŃŹ %s"
+
+#: sys-utils/setsid.c:28
+#, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr " %s [параметри] <програма> [аргŃменти ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr " -c, --ctty зробити керівним терміналом поточний термінал\n"
+
+#: sys-utils/setsid.c:79
+msgid "fork"
+msgstr "розгалŃження"
+
+#: sys-utils/setsid.c:90
+msgid "setsid failed"
+msgstr "помилка Ń setsid"
+
+#: sys-utils/setsid.c:94
+msgid "failed to set the controlling terminal"
+msgstr "не вдалоŃŃŹ вŃтановити керівний термінал"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "помилка execvp"
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr "swapoff %s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "Не адмініŃтратор."
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: помилка swapoff"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr " %s [параметри] [<Ńпецифікація>]\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all вимкнŃти вŃŃ– облаŃŃ‚Ń– ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Đ· /proc/swaps\n"
+" -v, --verbose режим докладних повідомлень\n"
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Параметр <Ńпецифікація>:\n"
+" -L <мітка> МІТКРприŃтрою, який бŃде викориŃтано\n"
+" -U <uuid> UUID приŃтрою, який бŃде викориŃтано\n"
+" LABEL=<мітка> МІТКРприŃтрою, який бŃде викориŃтано\n"
+" UUID=<uuid> UUID приŃтрою, який бŃде викориŃтано\n"
+" <приŃтрій> назва приŃтрою, який бŃде викориŃтано\n"
+" <файл> назва файла, який бŃде викориŃтано\n"
+
+#: sys-utils/swapon.c:89
+msgid "device file or partition path"
+msgstr "файл приŃтрою або Ńлях Đ´Đľ розділŃ"
+
+#: sys-utils/swapon.c:90
+msgid "type of the device"
+msgstr "тип приŃтрою"
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr "розмір облаŃŃ‚Ń– резервної пам’яті (ŃвопінгŃ)"
+
+#: sys-utils/swapon.c:92
+msgid "bytes in use"
+msgstr "байтів викориŃтано"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr "пріоритет ŃвопінгŃ"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr "%s\t\t\t\tТип\t\tРозмір\tВикор.\tПріоритет\n"
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr "Назва файла"
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: повторно ініціалізŃємо Ń€ĐµĐ·ĐµŃ€Đ˛Đ˝Ń ĐżĐ°ĐĽâ€™ŃŹŃ‚ŃŚ (Ńвопінг)."
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "помилка execv"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: операція lseek заверŃилаŃŃŚ помилкою"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: Ńпроба запиŃŃ ĐżŃ–Đ´ĐżĐ¸ŃŃ Đ·Đ°Đ·Đ˝Đ°Đ»Đ° невдачі"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+"%s: виявлено ĐżŃ–Đ´ĐżĐ¸Ń swap: верŃŃ–ŃŹ - %d, розмір Ń Ńторінках - %d, %s порядок "
+"байтів"
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "різний"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "однаковий"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: небезпечні права Đ´ĐľŃŃ‚ŃĐżŃ %04o, пропонŃємо ŃкориŃтатиŃŃŹ %04o."
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+"%s: небезпечне значення влаŃника файла %d, пропонŃємо ŃкориŃтатиŃŃŹ 0 (root)."
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: пропŃŃкаємо, здаєтьŃŃŹ, ĐĽŃ–Ńтить дірки."
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: не вдалоŃŃŹ отримати розмір"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+"%s: Ńпроба читання заголовка резервної пам’яті (ŃвопінгŃ) зазнала невдачі"
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr "%s: розмŃтор=%d, розмŃвоп=%llu, розмприŃŃ‚Ń€=%llu"
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+"%s: значення last_page 0x%08llx Ń” більŃим Đ·Đ° Ńправжній розмір проŃŃ‚ĐľŃ€Ń "
+"ŃвопінгŃ"
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: розмір Ńторінки Ń„ĐľŃ€ĐĽĐ°Ń‚Ń ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Ń” невідповідним."
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+"%s: розмір Ńторінки Ń„ĐľŃ€ĐĽĐ°Ń‚Ń ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Ń” невідповідним. (СкориŃтайтеŃŃŹ --"
+"fixpgsz, щоб повторно ініціалізŃвати його.)"
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+"%s: виявлено дані програмного приŃипляння. ПерезапиŃŃємо ĐżŃ–Đ´ĐżĐ¸Ń Ń€ĐľĐ·Đ´Ń–Đ»Ń "
+"ŃвопінгŃ."
+
+#: sys-utils/swapon.c:555
+#, c-format
+msgid "swapon %s\n"
+msgstr "swapon %s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s: помилка swapon"
+
+#: sys-utils/swapon.c:607
+#, c-format
+msgid "failed to parse %s"
+msgstr "не вдалоŃŃŹ обробити %s"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all ŃвімкнŃти вŃŃ– облаŃŃ‚Ń– ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Đ· /etc/fstab\n"
+" -d, --discard відкинŃти звільнені Ńторінки Đ´Đľ повторного "
+"викориŃтання\n"
+" -e, --ifexists без повідомлень відкинŃти приŃтрої, який не Ń–ŃĐ˝ŃŃ”\n"
+" -f, --fixpgsz повторно ініціалізŃвати проŃŃ‚Ń–Ń€ ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Đ·Đ° потреби\n"
+" -p, --priority <пріо> вказати пріоритетніŃŃ‚ŃŚ приŃтрою ŃвопінгŃ\n"
+" -s, --summary вивеŃти резюме щодо викориŃтаних приŃтроїв ŃвопінгŃ\n"
+" --show[=<Ńтовпч>] вивеŃти резюме Ń Đ˛Đ¸Đ·Đ˝Đ°Ń‡ĐµĐ˝Ń–Đą таблиці\n"
+" --noheadings не виводити заголовки, ŃкориŃтайтеŃŃŹ Đ· --show\n"
+" --raw викориŃтовŃвати формат виведення без обробки, "
+"ŃкориŃтайтеŃŃŹ Đ· --show\n"
+" --bytes вивеŃти розмір ŃĐ˛ĐľĐżŃ–Đ˝ĐłŃ Ń Đ±Đ°ĐąŃ‚Đ°Ń… Ń Đ˛Đ¸Đ˛ĐµĐ´ĐµĐ˝Đ˝Ń– --show\n"
+" -v, --verbose режим докладного виведення\n"
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Параметр <Ńпецифікація>:\n"
+" -L <мітка> Ńинонім LABEL=<мітка>\n"
+" -U <uuid> Ńинонім UUID=<uuid>\n"
+" LABEL=<мітка> визначає приŃтрій Đ·Đ° міткою облаŃŃ‚Ń– ŃвопінгŃ\n"
+" UUID=<uuid> визначає приŃтрій Đ·Đ° UUID облаŃŃ‚Ń– ŃвопінгŃ\n"
+" PARTLABEL=<мітка> визначає приŃтрій Đ·Đ° міткою розділŃ\n"
+" PARTUUID=<uuid> визначає приŃтрій Đ·Đ° UUID розділŃ\n"
+" <приŃтрій> назва приŃтрою, який бŃде викориŃтано\n"
+" <файл> назва файла, який бŃде викориŃтано\n"
+
+#: sys-utils/swapon.c:676
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr ""
+"\n"
+"Можливі Ńтовпчики (для --show):\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "не вдалоŃŃŹ знайти приŃтрій для %s"
+
+#: sys-utils/switch_root.c:57
+msgid "failed to open directory"
+msgstr "не вдалоŃŃŹ відкрити каталог"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+msgid "stat failed"
+msgstr "операція stat заверŃилаŃŃŚ помилкою"
+
+#: sys-utils/switch_root.c:75
+msgid "failed to read directory"
+msgstr "не вдалоŃŃŹ прочитати каталог"
+
+#: sys-utils/switch_root.c:107
+#, c-format
+msgid "failed to unlink %s"
+msgstr "не вдалоŃŃŹ від’єднати %s"
+
+#: sys-utils/switch_root.c:144
+#, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "не вдалоŃŃŹ змонтŃвати Ń€Ńхомий %s Đ´Đľ %s"
+
+#: sys-utils/switch_root.c:146
+#, c-format
+msgid "forcing unmount of %s"
+msgstr "примŃŃово виконŃємо демонтŃвання %s"
+
+#: sys-utils/switch_root.c:152
+#, c-format
+msgid "failed to change directory to %s"
+msgstr "не вдалоŃŃŹ змінити каталог на %s"
+
+#: sys-utils/switch_root.c:160
+#, c-format
+msgid "failed to mount moving %s to /"
+msgstr "не вдалоŃŃŹ змонтŃвати Ń€Ńхомий %s Đ´Đľ /"
+
+#: sys-utils/switch_root.c:166
+msgid "failed to change root"
+msgstr "не вдалоŃŃŹ змінити кореневий каталог"
+
+#: sys-utils/switch_root.c:185
+#, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr " %s [параметри] <новий кореневий каталог> <init> <аргŃменти Đ´Đľ init>\n"
+
+#: sys-utils/switch_root.c:217
+msgid "failed. Sorry."
+msgstr "помилка. Вибачте."
+
+#: sys-utils/switch_root.c:220
+#, c-format
+msgid "cannot access %s"
+msgstr "не вдалоŃŃŹ отримати Đ´ĐľŃŃ‚ŃĐż Đ´Đľ %s"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr " -i, --irq <чиŃло> вказати irq паралельного портŃ\n"
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr " -t, --time <ĐĽŃ> Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання драйвера Ń ĐĽŃ–Đ»Ń–ŃекŃндах\n"
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+" -c, --chars <n> кількіŃŃ‚ŃŚ виведених Ńимволів перед Ńном\n"
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr " -w, --wait <ĐĽĐşŃ> очікŃвання Ń ĐĽŃ–ĐşŃ€ĐľŃекŃндах\n"
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr " -a, --abort <on|off> переривати Ń€ĐľĐ±ĐľŃ‚Ń Ń Ń€Đ°Đ·Ń– помилки\n"
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+" -o, --check-status <on|off> перевірити ŃŃ‚Đ°Đ˝ принтера Đ´Đľ виконання Đ´Ń€ŃĐşŃ\n"
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr " -C, --careful <on|off> додаткова Đ´Đľ перевірки ŃŃ‚Đ°Đ˝Ń ĐżĐµŃ€ĐµĐ˛Ń–Ń€ĐşĐ°\n"
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr " -s, --status опитати принтер щодо ŃŃ‚Đ°Đ˝Ń\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr " -T, --trust-irq <on|off> перемикач довіри Đ´Đľ irq Ń Đ´Ń€Đ°ĐąĐ˛ĐµŃ€Ń–\n"
+
+#: sys-utils/tunelp.c:95
+msgid " -r, --reset reset the port\n"
+msgstr " -r, --reset ŃкинŃти номер портŃ\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+" -q, --print-irq <on|off> перемикач ĐżĐľĐşĐ°Đ·Ń ĐżĐľŃ‚ĐľŃ‡Đ˝Đ¸Ń… параметрів irq\n"
+
+#: sys-utils/tunelp.c:109
+msgid "bad value"
+msgstr "помилкове значення"
+
+#: sys-utils/tunelp.c:271
+#, c-format
+msgid "%s not an lp device"
+msgstr "%s не Ń” приŃтроєм lp"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "помилка LPGETSTATUS"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s ŃŃ‚Đ°Đ˝ - %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", зайнятий"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", готовий"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", ŃкінчивŃŃŹ папір"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", помилка"
+
+#: sys-utils/tunelp.c:312
+msgid "ioctl failed"
+msgstr "помилка ioctl"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "помилка LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s викориŃтовŃŃ” IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s викориŃтовŃŃ” опитŃвання ŃŃ‚Đ°Đ˝Ń\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+" %1$s [-hV]\n"
+" %1$s -a [параметри]\n"
+" %1$s [параметри] <джерело> | <каталог>\n"
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+" -a, --all демонтŃвати вŃŃ– файлові ŃиŃтеми\n"
+" -c, --no-canonicalize не переводити Ńляхи Ń ĐşĐ°Đ˝ĐľĐ˝Ń–Ń‡Đ˝Ń Ń„ĐľŃ€ĐĽŃ\n"
+" -d, --detach-loop якщо змонтовано петльовий приŃтрій, також звільнити "
+"цей петльовий приŃтрій\n"
+" --fake теŃтовий Đ·Đ°ĐżŃŃĐş; пропŃŃтити ŃиŃтемний виклик umount"
+"(2)\n"
+" -f, --force примŃŃове демонтŃвання (Ń Ń€Đ°Đ·Ń– недоŃŃ‚ŃпноŃŃ‚Ń– "
+"ŃиŃтеми NFS)\n"
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+" -i, --internal-only не викликати допоміжні програми umount.<тип>\n"
+" -n, --no-mtab не виконŃвати Đ·Đ°ĐżĐ¸Ń Đ´Đľ /etc/mtab\n"
+" -l, --lazy від’єднати Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃŃ‚ĐµĐĽŃ Đ·Đ°Ń€Đ°Đ·, Đ° Ńпорожнити Ń—Ń— "
+"пізніŃе\n"
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+" -O, --test-opts <ŃпиŃок> обмежити набір файлових ŃиŃтем (ŃкориŃтайтеŃŃŹ Đ· -"
+"a)\n"
+" -r, --read-only якщо не вдаŃŃ‚ŃŚŃŃŹ демонтŃвати, ŃпробŃвати "
+"перемонтŃвати Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– читання\n"
+" -t, --types <ŃпиŃок> обмежити набір типів файлових ŃиŃтем\n"
+" -v, --verbose повідомити про Đ´Ń–Ń—, які бŃде виконано\n"
+
+#: sys-utils/umount.c:179
+#, c-format
+msgid "%s: umount failed"
+msgstr "%s: помилка umount"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr ""
+"%s: Ń„Đ°ĐąĐ»ĐľĐ˛Ń ŃиŃŃ‚ĐµĐĽŃ Đ´ĐµĐĽĐľĐ˝Ń‚ĐľĐ˛Đ°Đ˝Đľ, але Ńпроба виконання mount(8) заверŃилаŃŃŹ "
+"помилкою"
+
+#: sys-utils/umount.c:202
+#, c-format
+msgid "%s: invalid block device"
+msgstr "%s: некоректний блоковий приŃтрій"
+
+#: sys-utils/umount.c:208
+#, c-format
+msgid "%s: can't write superblock"
+msgstr "%s: не вдалоŃŃŹ запиŃати ŃŃпер блок"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"%s: приŃтрій призначення зайнято.\n"
+" (Іноді кориŃні дані щодо процеŃів, які викориŃтовŃŃŽŃ‚ŃŚ\n"
+" приŃтрій, можна отримати Đ·Đ° допомогою lsof(8) або fuser(1))"
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr "%s: для викориŃтання umount Ńлід мати права адмініŃтратора"
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "%s: блокові приŃтрої не дозволено на файловій ŃиŃтемі"
+
+#: sys-utils/umount.c:272
+msgid "failed to set umount target"
+msgstr "не вдалоŃŃŹ вŃтановити призначення umount"
+
+#: sys-utils/unshare.c:60
+#, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr " %s [параметри] <програма> [аргŃменти...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+" -m, --mount ŃкаŃŃвати Ńпільне викориŃтання проŃŃ‚ĐľŃ€Ń Đ˝Đ°Đ·Đ˛ монтŃвання\n"
+" -u, --uts ŃкаŃŃвати Ńпільне викориŃтання проŃŃ‚ĐľŃ€Ń Đ˝Đ°Đ·Đ˛ UTS (назви "
+"вŃзла тощо)\n"
+" -i, --ipc ŃкаŃŃвати Ńпільне викориŃтання проŃŃ‚ĐľŃ€Ń Đ˝Đ°Đ·Đ˛ IPC System "
+"V\n"
+" -n, --net ŃкаŃŃвати Ńпільне викориŃтання проŃŃ‚ĐľŃ€Ń Đ˝Đ°Đ·Đ˛ мережі\n"
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "помилка unshare"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr "ПроцеŃор раніŃе ŃкинŃŃ‚Đľ карткою"
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr "ЗовніŃній перемикач 1"
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr "ЗовніŃній перемикач 2"
+
+#: sys-utils/wdctl.c:47
+msgid "Fan failed"
+msgstr "Помилка даних щодо охолодження"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr "Відповідь підтримання зв’язкŃ"
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr "ПідтримŃŃ” Ńимвол магічного закриття"
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr "СкинŃŃ‚Đľ через перегрівання процеŃора"
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr "Надмірне живлення"
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr "Помилка/Відмова живлення"
+
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr "Попередній Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання (Ń ŃекŃндах)"
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr "Đ’Ńтановити Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання (Ń ŃекŃндах)"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr "назва прапорця"
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr "ĐľĐżĐ¸Ń ĐżŃ€Đ°ĐżĐľŃ€Ń†ŃŹ"
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr "ŃŃ‚Đ°Đ˝ прапорця"
+
+#: sys-utils/wdctl.c:73
+msgid "flag boot status"
+msgstr "ŃŃ‚Đ°Đ˝ прапорця під Ń‡Đ°Ń Đ·Đ°Đ˛Đ°Đ˝Ń‚Đ°Đ¶ĐµĐ˝Đ˝ŃŹ"
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr "назва ŃпоŃтережного приŃтрою"
+
+#: sys-utils/wdctl.c:108
+#, c-format
+msgid "unknown flag: %s"
+msgstr "невідомий прапорець: %s"
+
+#: sys-utils/wdctl.c:145
+#, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr " %s [параметри] [<приŃтрій> ...]\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+" -f, --flags <ŃпиŃок> вивеŃти лиŃе вибрані прапорці\n"
+" -F, --noflags не виводити дані щодо прапорців\n"
+" -I, --noident не виводити дані щодо профілю ŃпоŃтереження\n"
+" -n, --noheadings не виводити заголовки для таблиці прапорців\n"
+" -O, --oneline вивеŃти вŃŃ– дані Ń ĐľĐ´Đ¸Đ˝ рядок\n"
+" -o, --output <ŃпиŃок> вивеŃти Ńтовпчики прапорців\n"
+" -r, --raw формат виведення без обробки для таблиці прапорців\n"
+" -T, --notimeouts не виводити чаŃи очікŃвання Đ·Đ°ŃĐľĐ±Ń ŃпоŃтереження\n"
+" -s, --settimeout <Ńек> вŃтановити Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання Đ·Đ°ŃĐľĐ±Ń ŃпоŃтереження\n"
+" -x, --flags-only вивеŃти лиŃе таблицю прапорців (те Ńаме, що Ń– -I -"
+"T)\n"
+
+#: sys-utils/wdctl.c:165
+#, c-format
+msgid "The default device is %s.\n"
+msgstr "Типовим приŃтроєм Ń” %s.\n"
+
+#: sys-utils/wdctl.c:168
+msgid "Available columns:\n"
+msgstr "ДоŃŃ‚Ńпні Ńтовпчики:\n"
+
+#: sys-utils/wdctl.c:254
+#, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: невідомі прапорці 0x%x\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr "%s: Đ·Đ°Ńіб ŃпоŃтереження вже викориŃтовŃєтьŃŃŹ, перериваємо завдання."
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s: не вдалоŃŃŹ вимкнŃти Đ·Đ°Ńіб ŃпоŃтереження"
+
+#: sys-utils/wdctl.c:307
+#, c-format
+msgid "cannot set timeout for %s"
+msgstr "не вдалоŃŃŹ вŃтановити Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання для %s"
+
+#: sys-utils/wdctl.c:345
+#, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s: не вдалоŃŃŹ отримати дані щодо Đ·Đ°ŃĐľĐ±Ń ŃпоŃтереження"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%-15s%2i ŃекŃнд\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr "Đ§Đ°Ń ĐľŃ‡Ń–ĐşŃвання:"
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr "Попередній Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання:"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr "ЗалиŃ. чаŃŃ:"
+
+#: sys-utils/wdctl.c:564
+msgid "Device:"
+msgstr "ПриŃтрій:"
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%-15s%s [верŃŃ–ŃŹ %x]\n"
+
+#: term-utils/agetty.c:435
+#, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: не вдалоŃŃŹ змінити кореневий каталог %s: %m"
+
+#: term-utils/agetty.c:440
+#, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s: не вдалоŃŃŹ змінити робочий каталог %s: %m"
+
+#: term-utils/agetty.c:445
+#, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: не вдалоŃŃŹ змінити пріоритетніŃŃ‚ŃŚ процеŃŃ: %m"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: не вдалоŃŃŹ Đ·Đ°ĐżŃŃтити %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, c-format
+msgid "failed to allocate memory: %m"
+msgstr "не вдалоŃŃŹ отримати пам'ŃŹŃ‚ŃŚ: %m"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "неправильне значення ĐżĐµŃ€Ń–ĐľĐ´Ń ĐľŃ‡Ń–ĐşŃвання: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "неправильне значення ŃвидкоŃŃ‚Ń–: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "надто багато запаŃних значень ŃвидкоŃŃ‚Ń–"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: не вдалоŃŃŹ відкрити Ńтандартний ввід: %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: не Ń” Ńимвольним приŃтроєм"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: не вдалоŃŃŹ відкрити для читання/запиŃŃ"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: помилка при dup: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr "Num Lock вимкнено"
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr "Num Lock Ńвімкнено"
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr "Caps Lock Ńвімкнено"
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr "Scroll Lock Ńвімкнено"
+
+#: term-utils/agetty.c:1287
+#, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr ""
+"Підказка: %s\n"
+"\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: прочитано: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: переповнення вводŃ"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %1$s [параметри] лінія чаŃтота_Ń_бодах,... [тип термінала]\n"
+" %1$s [параметри] чаŃтота_Ń_бодах,... лінія [тип термінала]\n"
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -8, --8bits вважати tty 8-бітовим\n"
+" -a, --autologin <кориŃŃ‚> Ńвійти від імені вказаного кориŃŃ‚Ńвача "
+"автоматично\n"
+" -c, --noreset не ŃкаŃовŃвати режим керŃвання\n"
+" -f, --issue-file <файл> вивеŃти файл резŃльтатів\n"
+" -h, --flow-control ŃвімкнŃти апаратне керŃвання потоком\n"
+" -H, --host <назва вŃзла> вказати вŃзол Đ˛Ń…ĐľĐ´Ń Đ´Đľ ŃиŃтеми\n"
+" -i, --noissue не показŃвати файл резŃльтатів\n"
+" -I, --init-string <рядок> вŃтановити рядок ініціалізації\n"
+" -l, --login-program <файл> вказати ĐżŃ€ĐľĐłŃ€Đ°ĐĽŃ Đ˛Ń…ĐľĐ´Ń Đ´Đľ ŃиŃтеми\n"
+" -L, --local-line примŃŃово викориŃтати Đ»ĐľĐşĐ°Đ»ŃŚĐ˝Ń Đ»Ń–Đ˝Ń–ŃŽ\n"
+" -m, --extract-baud отримати дані щодо ŃвидкоŃŃ‚Ń– під Ń‡Đ°Ń Đ·â€™Ń”Đ´Đ˝Đ°Đ˝Đ˝ŃŹ\n"
+" -n, --skip-login не надŃилати запит щодо Đ˛Ń…ĐľĐ´Ń Đ´Đľ ŃиŃтеми\n"
+" -o, --login-options <парм> параметри, які бŃде передано під Ń‡Đ°Ń Đ˛Ń…ĐľĐ´Ń\n"
+" -p, --loginpause очікŃвати на бŃĐ´ŃŚ-який ключ Đ´Đľ Đ˛Ń…ĐľĐ´Ń Đ´Đľ ŃиŃтеми\n"
+" -R, --hangup віртŃально повіŃити ŃĐ»ŃŃ…Đ°Đ˛ĐşŃ Đ˝Đ° tty\n"
+" -s, --keep-baud намагатиŃŃŹ підтримŃвати ŃвидкіŃŃ‚ŃŚ піŃля "
+"переривання зв’язкŃ\n"
+" -t, --timeout <чиŃло> Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання під Ń‡Đ°Ń Đ˛Ń…ĐľĐ´Ń Đ´Đľ ŃиŃтеми\n"
+" -U, --detect-case визначати термінали верхнього регіŃŃ‚Ń€Ń\n"
+" -w, --wait-cr очікŃвати на Ńимвол повернення каретки\n"
+" --noclear не Ńпорожняти екран Đ´Đľ запитŃ\n"
+" --nohints не виводити підказки\n"
+" --nonewline не виводити Ńимвол нового рядка Đ´Đľ резŃльтатŃ\n"
+" --no-hostname взагалі не показŃвати назви вŃзла\n"
+" --long-hostname вивеŃти Đ˝Đ°Đ·Đ˛Ń Đ˛Ńзла повніŃŃ‚ŃŽ\n"
+" --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+"\n"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "кориŃŃ‚Ńвач"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "кориŃŃ‚Ńвачів"
+
+#: term-utils/mesg.c:74
+#, c-format
+msgid " %s [options] [y | n]\n"
+msgstr " %s [параметри] [y | n]\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose показŃвати дані щодо виконання Đ´Ń–Đą\n"
+" -v, --version показати дані щодо верŃŃ–Ń— Ń– заверŃити роботŃ.\n"
+" -h, --help показати цю Đ´ĐľĐ˛Ń–Đ´ĐşĐľĐ˛Ń Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–ŃŽ Ń– заверŃити "
+"роботŃ.\n"
+
+#: term-utils/mesg.c:121
+msgid "ttyname failed"
+msgstr "помилка ttyname"
+
+#: term-utils/mesg.c:128
+msgid "is y"
+msgstr "вŃтановлено y"
+
+#: term-utils/mesg.c:131
+msgid "is n"
+msgstr "вŃтановлено n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, c-format
+msgid "change %s mode failed"
+msgstr "Ńпроба змінити режим %s зазнала невдачі"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr "Đ·Đ°ĐżĐ¸Ń Đ˝Đ° Đ˛Đ°Ń Ń‚ĐµŃ€ĐĽŃ–Đ˝Đ°Đ» дозволено"
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr "Đ·Đ°ĐżĐ¸Ń Đ˝Đ° Đ˛Đ°Ń Ń‚ĐµŃ€ĐĽŃ–Đ˝Đ°Đ» заборонено"
+
+#: term-utils/mesg.c:153
+#, c-format
+msgid "invalid argument: %s"
+msgstr "помилковий аргŃмент: %s"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"файл виведення даних, «%s», Ń” поŃиланням на Ń–Đ˝Ńий файл.\n"
+"СкориŃтайтеŃŃŹ параметром --force, якщо Ńправді хочете викориŃтовŃвати цей "
+"файл.\n"
+"ĐźŃ€ĐľĐłŃ€Đ°ĐĽŃ Đ˝Đµ Đ·Đ°ĐżŃщено."
+
+#: term-utils/script.c:132
+#, c-format
+msgid " %s [options] [file]\n"
+msgstr " %s [параметри] [файл]\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --append допиŃати виведені дані\n"
+" -c, --command <команда> виконати ĐşĐľĐĽĐ°Đ˝Đ´Ń Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ інтерактивної оболонки\n"
+" -e, --return повернŃти код Đ˛Đ¸Ń…ĐľĐ´Ń Đ´ĐľŃ‡Ń–Ń€Đ˝ŃŚĐľĐłĐľ процеŃŃ\n"
+" -f, --flush виконŃвати Ńкидання піŃля кожного запиŃŃ\n"
+" --force викориŃтовŃвати файл виведення, навіть якщо він Ń” "
+"поŃиланням\n"
+" -q, --quiet не виводити повідомлення\n"
+" -t, --timing[=<файл>] вивеŃти дані чаŃових параметрів Đ´Đľ stderr (або Đ´Đľ "
+"файла)\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+"\n"
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Сценарій Đ·Đ°ĐżŃщено, файл - %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "Сценарій Đ·Đ°ĐżŃщено на %s"
+
+#: term-utils/script.c:401
+msgid "cannot write script file"
+msgstr "не вдалоŃŃŹ запиŃати файл ŃкриптŃ"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Сценарій заверŃено на %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Сценарій заверŃено, файл %s\n"
+
+#: term-utils/script.c:513
+msgid "openpty failed"
+msgstr "помилка openpty"
+
+#: term-utils/script.c:549
+msgid "out of pty's"
+msgstr "ŃкінчилиŃŃŚ pty-приŃтрої"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr " %s [-t] файл_чаŃових_параметрів [введення ŃкриптŃ] [дільник]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -t, --timing <файл> файл виведення для чаŃових параметрів виконання "
+"ŃкриптŃ\n"
+" -s, --typescript <файл> файл виведення ŃеанŃŃ Ń‚ĐµŃ€ĐĽŃ–Đ˝Đ°Đ»Đ° ŃкриптŃ\n"
+" -d, --divisor <чиŃло> вŃтановити дільник приŃвидŃення або Ńповільнення "
+"виконання\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help вивеŃти це довідкове повідомлення Ń– вийти\n"
+"\n"
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "очікŃвалоŃŃŹ чиŃло, Đ° отримано «%s»"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "дільник «%s»"
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "не вдалоŃŃŹ запиŃати Đ´Đľ Ńтандартного виведення"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "неочікŃване заверŃення файла на %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "не вдалоŃŃŹ прочитати файл typescript %s"
+
+#: term-utils/scriptreplay.c:185
+msgid "wrong number of arguments"
+msgstr "помилкова кількіŃŃ‚ŃŚ параметрів"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "не вдалоŃŃŹ прочитати файл чаŃових параметрів %s"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "файл чаŃових параметрів %s: %lu: неочікŃваний формат"
+
+#: term-utils/setterm.c:674
+msgid "Argument error."
+msgstr "Помилка Ń Đ°Ń€ĐłŃментах."
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+" -term <назва термінала>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-К-ТЬ_КОНСОЛЕЙ>\n"
+" -append <1-К-ТЬ_КОНСОЛЕЙ>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+
+#: term-utils/setterm.c:1072
+msgid "cannot force blank"
+msgstr "не можна примŃŃово виконŃвати blank"
+
+#: term-utils/setterm.c:1076
+msgid "cannot force unblank"
+msgstr "не можна примŃŃово виконŃвати unblank"
+
+#: term-utils/setterm.c:1082
+msgid "cannot get blank status"
+msgstr "не вдалоŃŃŹ отримати ŃŃ‚Đ°Đ˝ blank"
+
+#: term-utils/setterm.c:1094
+msgid "cannot (un)set powersave mode"
+msgstr "не вдалоŃŃŹ вŃтановити (ŃкаŃŃвати) режим енергозбереження"
+
+#: term-utils/setterm.c:1114
+#, c-format
+msgid "can not open dump file %s for output"
+msgstr "не вдалоŃŃŹ відкрити файл Đ´Đ°ĐĽĐżŃ %s для виведення даних"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+msgid "klogctl error"
+msgstr "помилка klogctl"
+
+#: term-utils/setterm.c:1205
+msgid "Error writing screendump"
+msgstr "Помилка запиŃŃ ĐµĐşŃ€Đ°Đ˝Đ˝ĐľĐłĐľ Đ´Đ°ĐĽĐżŃ"
+
+#: term-utils/setterm.c:1212
+#, c-format
+msgid "Couldn't read %s"
+msgstr "Не вдалоŃŃŹ прочитати %s"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr "$TERM не визначено."
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr "не вдалоŃŃŹ знайти Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ¸Ń… terminfo"
+
+#: term-utils/setterm.c:1276
+#, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: невідомий тип термінала"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr "терміналом Ń” термінал жорŃткого копіювання"
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "надто багато iov-ŃŃ‚Ń€ŃктŃŃ€ (змініть код Ń wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "надмірно довгий рядок параметра"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "не вдалоŃŃŹ Ńтворити процеŃ"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr "%s: ПОМĐЛКĐ, повідомлення Ń” надто довгим"
+
+#: term-utils/wall.c:83
+#, c-format
+msgid " %s [options] [<file>]\n"
+msgstr " %s [параметри] [<файл>]\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -n, --nobanner не виводити початкове повідомлення, працює лиŃе для "
+"root\n"
+" -t, --timeout <timeout> Ń‡Đ°Ń ĐľŃ‡Ń–ĐşŃвання на Đ·Đ°ĐżĐ¸Ń Ń ŃекŃндах\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr "--nobanner може кориŃŃ‚ŃватиŃŃŹ лиŃе адмініŃтративний кориŃŃ‚Ńвач (root)"
+
+#: term-utils/wall.c:130
+#, c-format
+msgid "invalid timeout argument: %s"
+msgstr "некоректний аргŃмент чаŃŃ ĐľŃ‡Ń–ĐşŃвання: %s"
+
+#: term-utils/wall.c:202
+msgid "cannot get passwd uid"
+msgstr "не вдалоŃŃŹ отримати UID passwd"
+
+#: term-utils/wall.c:207
+msgid "cannot get tty name"
+msgstr "не вдалоŃŃŹ отримати Đ˝Đ°Đ·Đ˛Ń tty"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Широкомовне повідомлення від %s@%s"
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr "не бŃде прочитано %s — викориŃтовŃєтьŃŃŹ stdin."
+
+#: term-utils/wall.c:275
+msgid "fread failed"
+msgstr "помилка fread"
+
+#: term-utils/write.c:81
+#, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr " %s [параметри] <кориŃŃ‚Ńвач> [<назва tty>]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr "не вдалоŃŃŹ визначити Đ˝Đ°Đ·Đ˛Ń Đ˛Đ°Ńого tty"
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr "ваŃŃ– права Đ´ĐľŃŃ‚ŃĐżŃ Ń‰ĐľĐ´Đľ запиŃŃ Đ˛Đ¸ĐĽĐşĐ˝ĐµĐ˝Đľ"
+
+#: term-utils/write.c:168
+#, c-format
+msgid "%s is not logged in on %s"
+msgstr "%s не ввійŃов Đ´Đľ ŃиŃтеми на %s"
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr "повідомлення %s на %s вимкнено"
+
+#: term-utils/write.c:269
+#, c-format
+msgid "%s is not logged in"
+msgstr "%s не ввійŃов Đ´Đľ ŃиŃтеми"
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr "повідомлення %s вимкнено"
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "%s ŃвійŃов Đ´Đľ ŃиŃтеми більŃе одного разŃ; надŃилаємо Đ´Đľ %s"
+
+#: term-utils/write.c:326
+#, c-format
+msgid "tty path %s too long"
+msgstr "Ńлях tty %s Ń” надто довгим"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Повідомлення від %s@%s (ŃŹĐş %s) Đ´Đľ %s Ń %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Повідомлення від %s@%s Đ´Đľ %s Ń %s ..."
+
+#: term-utils/write.c:372
+msgid "carefulputc failed"
+msgstr "помилка carefulputc"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -b, --no-backspaces не виводити Ńимволи зворотного ходŃ\n"
+" -f, --fine дозволити переходи вперед на ĐżĐľĐ»ĐľĐ˛Đ¸Đ˝Ń Ń€ŃŹĐ´ĐşĐ°\n"
+" -p, --pass передати невідомі керівні поŃлідовноŃŃ‚Ń–\n"
+" -h, --tabs перетворити пробіли Ń Ń‚Đ°Đ±Ńляції\n"
+" -x, --spaces перетворити табŃляції Ń ĐżŃ€ĐľĐ±Ń–Đ»Đ¸\n"
+" -l, --lines ЧĐСЛО зберігати Ń Đ±Ńфері принаймні ЧĐСЛО рядків\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -H, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+"%s читає дані Đ·Ń– Ńтандартного джерела даних Ń– запиŃŃŃ” Ń—Ń… Đ´Đľ Ńтандартного "
+"виведення даних\n"
+"\n"
+
+#: text-utils/col.c:144
+msgid "write error."
+msgstr "помилка запиŃŃ."
+
+#: text-utils/col.c:199
+msgid "bad -l argument"
+msgstr "помилковий аргŃмент -l"
+
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr "попередження: не вдалоŃŃŹ Ńтворити Ń€ĐµĐ·ĐµŃ€Đ˛Đ˝Ń ĐşĐľĐżŃ–ŃŽ %s."
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "повз перŃий рядок"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- рядок вже ŃкинŃŃ‚Đľ Ń ĐżĐľŃ‚Ń–Đş"
+
+#: text-utils/colcrt.c:314
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [параметри] [файл ...]\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -, --no-underlining придŃŃити підкреŃлювання\n"
+" -2, --half-lines вивеŃти вŃŃ– напіврядки\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: text-utils/colrm.c:59
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [початковий Ńтовпчик [заверŃальний Ńтовпчик]]\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: text-utils/colrm.c:185
+msgid "first argument"
+msgstr "перŃий аргŃмент"
+
+#: text-utils/colrm.c:187
+msgid "second argument"
+msgstr "Đ´Ń€Ńгий аргŃмент"
+
+#: text-utils/column.c:90
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання: %s [параметри] [файл ...]\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+" -h, --help показати це довідкове повідомлення\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -c, --columns <Ńирина> Ńирина виведеного текŃŃ‚Ń Ń Ńимволах\n"
+" -t, --table Ńтворити таблицю\n"
+" -s, --separator <рядок> роздільник таблиці\n"
+" -x, --fillrows заповнити рядки перед Ńтовпчиками\n"
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"Щоб дізнатиŃŃŹ більŃе, ознайомтеŃŃŹ Đ· докŃментацією щодо column(1).\n"
+
+#: text-utils/column.c:150
+msgid "invalid columns argument"
+msgstr "некоректний аргŃмент Ńтовпчиків"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr "рядок %d Ń” надто довгим, виведені дані бŃде обрізано"
+
+#: text-utils/display.c:262
+msgid "all input file arguments failed"
+msgstr "помилка Đ· ŃŃŃ–ĐĽĐ° аргŃментами вхідних файлів"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+"виклик hexdump ŃŹĐş od вважаєтьŃŃŹ Đ·Đ°Ńтарілим, вам варто ŃкориŃтатиŃŃŹ od Đ· GNU "
+"coreutils."
+
+#: text-utils/hexsyntax.c:123
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [параметри] файл...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -b однобайтове віŃімкове виведення\n"
+" -c однобайтове Ńимвольне виведення\n"
+" -C канонічне виведення ŃŃ–Ńтнад.+ASCII\n"
+" -d двобайтове деŃяткове виведення\n"
+" -o двобайтове віŃімкове виведення\n"
+" -x двобайтове ŃŃ–Ńтнадцяткове виведення\n"
+" -e формат рядок Ń„ĐľŃ€ĐĽĐ°Ń‚Ń Đ´Đ»ŃŹ виведення даних\n"
+" -f файл_Ń„ĐľŃ€ĐĽĐ°Ń‚Ń Ń„Đ°ĐąĐ», що ĐĽŃ–Ńтить рядки форматŃ\n"
+" -n довжина обробляти лиŃе байти довжини Ń Đ˛Đ˛ĐµĐ´ĐµĐ˝Đ˝Ń–\n"
+" -s Đ·ŃŃв пропŃŃтити Đ˛ĐşĐ°Đ·Đ°Đ˝Ń ĐşŃ–Đ»ŃŚĐşŃ–ŃŃ‚ŃŚ байтів на початкŃ\n"
+" -v вивеŃти без ŃтиŃкання однакових рядків\n"
+" -V вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+"\n"
+
+#: text-utils/more.c:300
+#, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr ""
+"КориŃŃ‚Ńвання: %s [параметри] файл...\n"
+"\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+"Параметри:\n"
+" -d вивеŃти довідкове повідомлення Đ·Đ°ĐĽŃ–ŃŃ‚ŃŚ ĐłŃдка\n"
+" -f лічити логічні рядки, а не рядки на екрані\n"
+" -l придŃŃити паŃĐ·Ń ĐżŃ–Ńля ŃĐ¸ĐĽĐ˛ĐľĐ»Ń Đ·Đ°ĐĽŃ–Đ˝Đ¸ Ńторінки\n"
+" -p придŃŃити гортання, Ńпорожнити екран Ń– вивеŃти текŃŃ‚\n"
+" -c придŃŃити гортання, вивеŃти текŃŃ‚ Ń– вилŃчити кінці рядків\n"
+" -u придŃŃити підкреŃлювання\n"
+" -s об’єднŃвати поŃлідовні порожні рядки Ń ĐľĐ´Đ¸Đ˝\n"
+" -ЧĐСЛО вказати кількіŃŃ‚ŃŚ рядків на екран\n"
+" +ЧĐСЛО вивеŃти початок файла Đ· рядка ЧĐСЛО\n"
+" +/РЯДОК вивеŃти початок файла Đ· відповідника рядка поŃŃĐşŃ\n"
+" -V вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: text-utils/more.c:540
+#, c-format
+msgid "more (%s)\n"
+msgstr "more (%s)\n"
+
+#: text-utils/more.c:544
+#, c-format
+msgid "unknown option -%s"
+msgstr "невідомий параметр -%s"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: каталог ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: не Ń” текŃтовим файлом ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[ВикориŃтовŃйте q чи Q щоб вийти]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Далі--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(НаŃŃ‚Ńпний файл: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[НатиŃніть пробіл, щоб продовжити, або 'q', щоб вийти.]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...назад %d Ńторінок"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...назад 1 ŃторінкŃ"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...пропŃŃкаєтьŃŃŹ один рядок"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...пропŃŃкаєтьŃŃŹ %d рядків"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Назад***\n"
+"\n"
+
+#: text-utils/more.c:1339
+msgid "No previous regular expression"
+msgstr "Đ’Ń–Đ´ŃŃтній попередній регŃлярний вираз"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"БільŃŃ–ŃŃ‚ŃŚ команд можŃŃ‚ŃŚ мати необов'язковий чиŃловий параметр k. Типові "
+"значення Ń ĐşŃтових Đ´Ńжках.\n"
+"Зірочка (*) означає, що параметр ŃŃ‚Đ°Ń” новим типовим значенням.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<space> Вивід наŃŃ‚Ńпних k рядків текŃŃ‚Ń [поточний розмір "
+"екранŃ]\n"
+"z Вивід наŃŃ‚Ńпних k рядків текŃŃ‚Ń [поточний розмір "
+"екранŃ]*\n"
+"<enter> Вивід наŃŃ‚Ńпних k рядків текŃŃ‚Ń [1]*\n"
+"d або ctrl-D ПрокрŃтити k рядків [поточний розмір прокрŃтки, "
+"ŃĐżĐľŃ‡Đ°Ń‚ĐşŃ 11]*\n"
+"q або Q або <interrupt> Вийти з more\n"
+"s Перейти вперед на k рядків текŃŃ‚Ń [1]\n"
+"f Перейти вперед на k екранів текŃŃ‚Ń [1]\n"
+"b або ctrl-B Перейти назад на k екранів текŃŃ‚Ń [1]\n"
+"' Перейти Ń ĐĽŃ–Ńце ĐżĐľŃ‡Đ°Ń‚ĐşŃ ĐżĐľĐżĐµŃ€ĐµĐ´Đ˝ŃŚĐľĐłĐľ поŃŃĐşŃ\n"
+"= Відобразити поточний номер рядка\n"
+"/<регŃлярний вираз> Знайти k-Đą випадок Đ·Đ±Ń–ĐłŃ Đ· регŃлярним виразом [1]\n"
+"n Знайти k-Đą випадок Đ·Đ±Ń–ĐłŃ Đ· ĐľŃтаннім рег.виразом [1]\n"
+"!<кмнд> або :!<кмнд> Виконати <кмнд> Ń ĐľĐ±ĐľĐ»ĐľĐ˝Ń†Ń–\n"
+"v Đ—Đ°ĐżŃŃтити /usr/bin/vi Đ· поточного рядка\n"
+"ctrl-L Оновити вміŃŃ‚ екранŃ\n"
+":n Перейти на k-Đą рядок Ń„Đ°ĐąĐ»Ń [1]\n"
+":p Перейти на k-й попередній файл [1]\n"
+":f Відобразити Đ˝Đ°Đ·Đ˛Ń ĐżĐľŃ‚ĐľŃ‡Đ˝ĐľĐłĐľ Ń„Đ°ĐąĐ»Ń Ń‚Đ° номер рядка\n"
+". Повторити попередню командŃ\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[НатиŃніть 'h' щоб переглянŃти довідкŃ.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" рядок %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Не файл] рядок %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Переповнення\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...перехід\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Шаблон не знайдено\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Шаблон не знайдено"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "помилка Đ·Đ°ĐżŃŃĐşŃ\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "не вдалоŃŃŹ Ńтворити процеŃ\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Перехід "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Перехід Đ´Đľ файлŃ"
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Перехід назад Đ´Đľ файлŃ"
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Рядок надто довгий"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Немає попередньої команди для заміни"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "рядок надто довгий"
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr "кількіŃŃ‚ŃŚ байтів Đ· декількома Ńимволами перетворення"
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "помилкова кількіŃŃ‚ŃŚ байтів для ŃĐ¸ĐĽĐ˛ĐľĐ»Ń ĐżĐµŃ€ĐµŃ‚Đ˛ĐľŃ€ĐµĐ˝Đ˝ŃŹ %s"
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "%%s потребŃŃ” визначення точноŃŃ‚Ń– або кількоŃŃ‚Ń– байтів"
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr "помилкове форматŃвання {%s}"
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr "помилковий Ńимвол перетворення %%%s"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+"-------------------------------------------------------\n"
+" h це довідкове повідомлення\n"
+" q або Q вийти з програми\n"
+" <Ńимвол нового рядка> наŃŃ‚Ńпна Ńторінка\n"
+" f перейти на ŃŃ‚ĐľŃ€Ń–Đ˝ĐşŃ Đ˛ĐżĐµŃ€ĐµĐ´\n"
+" d або ^D вперед на пів Ńторінки\n"
+" l наŃŃ‚Ńпний рядок\n"
+" $ ĐľŃтання Ńторінка\n"
+" /вираз/ ŃŃкати вираз вперед Đ·Đ° текŃтом\n"
+" ?вираз? або ^вираз^ ŃŃкати вираз назад Đ·Đ° текŃтом\n"
+" . або ^L оновити вміŃŃ‚ екрана\n"
+" w або z вŃтановити розмір Ńторінки Ń– перейти далі\n"
+" s назва_файла зберегти поточні дані до файла\n"
+" !команда керŃвання Đ· командної оболонки\n"
+" p перейти до попереднього файла\n"
+" n перейти Đ´Đľ наŃŃ‚Ńпного файла\n"
+"\n"
+"ĐŁ багатьох командах передбачено додавання перед командою чиŃла, приклад:\n"
+"+1<Ńимвол нового рядка> (наŃŃ‚Ńпна Ńторінка); -1<Ńимвол нового рядка>\n"
+"(попередня Ńторінка); 1<Ńимвол нового рядка> (перŃĐ° Ńторінка).\n"
+"\n"
+"Див. докŃментацію Đ´Đľ pg(1), щоб дізнатиŃŃŹ більŃе.\n"
+"-------------------------------------------------------\n"
+
+#: text-utils/pg.c:224
+#, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr " %s [параметри] [+рядок] [+/Ńаблон/] [файли]\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr " -чиŃло кількіŃŃ‚ŃŚ рядків на ŃторінкŃ\n"
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr " -c Ńпорожнити екран перед показом даних\n"
+
+#: text-utils/pg.c:229
+msgid " -e do not pause at end of a file\n"
+msgstr " -e не призŃпиняти Ń€ĐľĐ±ĐľŃ‚Ń Đ˝Đ°ĐżŃ€Đ¸ĐşŃ–Đ˝Ń†Ń– файла\n"
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr " -f не розділяти довгі рядки\n"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr " -n заверŃити виконання команди Ńимволом нового рядка\n"
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr " -p <запит> вказати запит\n"
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr " -r вимкнŃти екранŃвання Ńимволів оболонки\n"
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr ""
+" -s вивеŃти повідомлення Đ´Đľ Ńтандартного виведення (stdout)\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr " +чиŃло почати Đ· вказаного рядка\n"
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr " +/Ńаблон/ почати Đ· рядка, що ĐĽŃ–Ńтить Ńаблон\n"
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr " -h вивеŃти це довідкове повідомлення Ń– вийти\n"
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr " -V вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: параметр потребŃŃ” вказŃвання аргŃĐĽĐµĐ˝Ń‚Ń -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: неправильний параметр -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...перехід вперед\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...перехід назад\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "Немає наŃŃ‚Ńпного файлŃ"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "Немає попереднього файлŃ"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Помилка читання Đ· Ń„Đ°ĐąĐ»Ń %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: НеочікŃваний кінець файла Ń Ń„Đ°ĐąĐ»Ń– %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Невідома помилка Ń Ń„Đ°ĐąĐ»Ń– %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: не вдалоŃŃŹ Ńтворити тимчаŃовий файл\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "Помилка РВ: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(Кінець файлŃ)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Немає збереженого Ń ĐżĐ°ĐĽ'ŃŹŃ‚Ń– Ń€ŃŹĐ´ĐşŃ ĐżĐľŃŃĐşŃ"
+
+#: text-utils/pg.c:1313
+msgid "cannot open "
+msgstr "не вдалоŃŃŹ відкрити "
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "збережено"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": команда ! не допŃŃтима Ń Ń€ĐµĐ¶Đ¸ĐĽŃ– rflag.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "помилка виконання fork(), ŃпробŃйте пізніŃе ще раз\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr "%s %s © Gunnar Ritter, 2000–2001. Đ’ŃŃ– права Đ·Đ°Ńтережено.\n"
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(НаŃŃ‚Ńпний файл: "
+
+#: text-utils/rev.c:77
+#, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "КориŃŃ‚Ńвання: %s [параметри] [файл ...]\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"Щоб дізнатиŃŃŹ більŃе, звернітьŃŃŹ Đ´Đľ докŃментації Đ· rev(1).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "незаверŃено Đ·Đ°ĐżĐ¸Ń Đ´Đľ «%s» (запиŃано %zd, мало бŃти запиŃано %zd)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+"%s: не вдалоŃŃŹ додати ĐżŃнкт ŃпоŃтереження inotify (Đ´ĐľŃягнŃŃ‚Đľ обмеження на "
+"кількіŃŃ‚ŃŚ ŃпоŃтережень inotify)."
+
+#: text-utils/tailf.c:198
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [параметр] файл\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -n, --lines ЧĐСЛО вивеŃти ĐľŃтанні ЧĐСЛО рядків\n"
+" -ЧĐСЛО те Ńаме, що Ń– «-n ЧĐСЛО»\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– вийти\n"
+" -h, --help показати це довідкове повідомлення і вийти\n"
+"\n"
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+msgid "failed to parse number of lines"
+msgstr "не вдалоŃŃŹ обробити значення кількоŃŃ‚Ń– рядків"
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr "не вказано файла вхідних даних"
+
+#: text-utils/ul.c:136
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr ""
+"\n"
+"КориŃŃ‚Ńвання:\n"
+" %s [параметри] [файл...]\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Параметри:\n"
+" -t, --terminal ТЕРМІНĐĐ› перевизначити Đ·ĐĽŃ–Đ˝Đ˝Ń Ńередовища TERM\n"
+" -i, --indicated підкреŃлювання позначаєтьŃŃŹ Đ·Đ° допомогою "
+"окремого рядка\n"
+" -V, --version вивеŃти дані щодо верŃŃ–Ń— Ń– заверŃити роботŃ\n"
+" -h, --help показати це довідкове повідомлення Ń– заверŃити "
+"роботŃ\n"
+"\n"
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "проблема при читанні terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+"термінал «%s» не належить Đ´Đľ ŃпиŃĐşŃ Đ˛Ń–Đ´ĐľĐĽĐ¸Ń…, повертаємоŃŃŹ Đ´Đľ типового, «dumb»"
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "невідома керівна поŃлідовніŃŃ‚ŃŚ Ń Đ˛Ń…Ń–Đ´Đ˝Đ¸Ń… даних: %o, %o"
+
+#: text-utils/ul.c:648
+msgid "Input line too long."
+msgstr "Рядок вхідних даних є надто довгим."
diff --git a/po/update-potfiles b/po/update-potfiles
new file mode 100755
index 0000000..fe957f8
--- /dev/null
+++ b/po/update-potfiles
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+
+# find all *.c files,
+# sort the list
+# exclude /samples/ subdirectories
+# exclude ./tests/ from the list
+# and remove "./" prefix
+
+[ ! -f "po/Makevars" ] && \
+ echo "You must run this script in the top-level directory"
+
+find -name "*.c" -or -name "*.h" | \
+ sort | \
+ sed ':/samples/:d' | \
+ gawk '! /^\.\/tests\// { print gensub(/^\.\//, "", 1) }' \
+ > po/POTFILES.in
diff --git a/po/util-linux.pot b/po/util-linux.pot
new file mode 100644
index 0000000..9e2070d
--- /dev/null
+++ b/po/util-linux.pot
@@ -0,0 +1,14597 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Karel Zak <kzak@redhat.com>
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr ""
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+msgid "invalid partition number argument"
+msgstr ""
+
+#: disk-utils/addpart.c:56
+msgid "invalid start argument"
+msgstr ""
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+msgid "invalid length argument"
+msgstr ""
+
+#: disk-utils/addpart.c:58
+msgid "failed to add partition"
+msgstr ""
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr ""
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr ""
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr ""
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr ""
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr ""
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr ""
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr ""
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr ""
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr ""
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr ""
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr ""
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr ""
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr ""
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr ""
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr ""
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr ""
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr ""
+
+#: disk-utils/delpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr ""
+
+#: disk-utils/delpart.c:57
+msgid "failed to remove partition"
+msgstr ""
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr ""
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr ""
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr ""
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, c-format
+msgid "stat failed %s"
+msgstr ""
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr ""
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr ""
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr ""
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr ""
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr ""
+
+#: disk-utils/fsck.c:191
+#, c-format
+msgid "%s is mounted\n"
+msgstr ""
+
+#: disk-utils/fsck.c:193
+#, c-format
+msgid "%s is not mounted\n"
+msgstr ""
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:329
+#, c-format
+msgid "Locking disk %s ... "
+msgstr ""
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr ""
+
+#: disk-utils/fsck.c:349
+msgid "failed"
+msgstr ""
+
+#: disk-utils/fsck.c:386
+#, c-format
+msgid "failed to setup description for %s"
+msgstr ""
+
+#: disk-utils/fsck.c:412
+#, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, c-format
+msgid "%s: failed to parse fstab"
+msgstr ""
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, c-format
+msgid "%s: not found"
+msgstr ""
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr ""
+
+#: disk-utils/fsck.c:617
+#, c-format
+msgid "%s: execute failed"
+msgstr ""
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+msgid "waidpid failed"
+msgstr ""
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr ""
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+msgid "failed to allocate iterator"
+msgstr ""
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+msgid "too many devices"
+msgstr ""
+
+#: disk-utils/fsck.c:1366
+msgid "Is /proc mounted?"
+msgstr ""
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+msgid "too many arguments"
+msgstr ""
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, c-format
+msgid " %s [options] file\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+msgid " -v, --verbose be more verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, c-format
+msgid " %s [options] <device>\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+msgid " -r interactive repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1305
+#, c-format
+msgid "cannot open %s: %s"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr ""
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr ""
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr ""
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr ""
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:726
+msgid "invalid blocksize argument"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr ""
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr ""
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr ""
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr ""
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr ""
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr ""
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr ""
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr ""
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr ""
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr ""
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr ""
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr ""
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr ""
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr ""
+
+#: disk-utils/mkswap.c:489
+msgid "parse page size failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:495
+msgid "parse version number failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr ""
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr ""
+
+#: disk-utils/mkswap.c:545
+msgid "invalid block count argument"
+msgstr ""
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr ""
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr ""
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr ""
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr ""
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr ""
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr ""
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr ""
+
+#: disk-utils/partx.c:79
+msgid "partition number"
+msgstr ""
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr ""
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr ""
+
+#: disk-utils/partx.c:82
+msgid "number of sectors"
+msgstr ""
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+msgid "partition name"
+msgstr ""
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+msgid "partition UUID"
+msgstr ""
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr ""
+
+#: disk-utils/partx.c:87
+msgid "partition flags"
+msgstr ""
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr ""
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+msgid "failed to initialize loopcxt"
+msgstr ""
+
+#: disk-utils/partx.c:110
+#, c-format
+msgid "%s: failed to find unused loop device"
+msgstr ""
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr ""
+
+#: disk-utils/partx.c:118
+#, c-format
+msgid "%s: failed to set backing file"
+msgstr ""
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, c-format
+msgid "%s: failed to setup loop device"
+msgstr ""
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr ""
+
+#: disk-utils/partx.c:200
+#, c-format
+msgid "%s: failed to get partition number"
+msgstr ""
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr ""
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr ""
+
+#: disk-utils/partx.c:304
+#, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr ""
+
+#: disk-utils/partx.c:309
+#, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr ""
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr ""
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:368
+#, c-format
+msgid "%s: partition #%d added\n"
+msgstr ""
+
+#: disk-utils/partx.c:373
+#, c-format
+msgid "%s: adding partition #%d failed"
+msgstr ""
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr ""
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr ""
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr ""
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr ""
+
+#: disk-utils/partx.c:585
+#, c-format
+msgid "%s: failed to read partition table"
+msgstr ""
+
+#: disk-utils/partx.c:591
+#, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr ""
+
+#: disk-utils/partx.c:595
+#, c-format
+msgid "%s: partition table with no partitions"
+msgstr ""
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr ""
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, c-format
+msgid "%s: cannot delete partitions"
+msgstr ""
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr ""
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, c-format
+msgid "Cannot locate block device '%s'"
+msgstr ""
+
+#: disk-utils/raw.c:181
+#, c-format
+msgid "Device '%s' is not a block device"
+msgstr ""
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+msgid "failed to parse argument"
+msgstr ""
+
+#: disk-utils/raw.c:210
+#, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr ""
+
+#: disk-utils/raw.c:225
+#, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr ""
+
+#: disk-utils/raw.c:228
+#, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr ""
+
+#: disk-utils/raw.c:232
+#, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr ""
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr ""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr ""
+
+#: disk-utils/resizepart.c:18
+#, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr ""
+
+#: disk-utils/resizepart.c:98
+#, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr ""
+
+#: disk-utils/resizepart.c:103
+msgid "failed to resize partition"
+msgstr ""
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr ""
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr ""
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr ""
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr ""
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr ""
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr ""
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr ""
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr ""
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr ""
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr ""
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr ""
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr ""
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr ""
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr ""
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr ""
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr ""
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr ""
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr ""
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr ""
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr ""
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr ""
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr ""
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr ""
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr ""
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr ""
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr ""
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr ""
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr ""
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr ""
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr ""
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr ""
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr ""
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr ""
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr ""
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr ""
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr ""
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr ""
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr ""
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr ""
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr ""
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr ""
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr ""
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr ""
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr ""
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr ""
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr ""
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr ""
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr ""
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr ""
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr ""
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr ""
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr ""
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr ""
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr ""
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr ""
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr ""
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr ""
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr ""
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr ""
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr ""
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr ""
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr ""
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr ""
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr ""
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr ""
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr ""
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr ""
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr ""
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr ""
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr ""
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr ""
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr ""
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr ""
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr ""
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr ""
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr ""
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr ""
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr ""
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr ""
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr ""
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr ""
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr ""
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr ""
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr ""
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr ""
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr ""
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ""
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr ""
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr ""
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr ""
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr ""
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr ""
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr ""
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr ""
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr ""
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr ""
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr ""
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr ""
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr ""
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr ""
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr ""
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr ""
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr ""
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr ""
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr ""
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr ""
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr ""
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr ""
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr ""
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr ""
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr ""
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr ""
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr ""
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr ""
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr ""
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr ""
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr ""
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2779
+msgid "cannot parse number of cylinders"
+msgstr ""
+
+#: fdisks/cfdisk.c:2789
+msgid "cannot parse number of heads"
+msgstr ""
+
+#: fdisks/cfdisk.c:2796
+msgid "cannot parse number of sectors"
+msgstr ""
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr ""
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr ""
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr ""
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr ""
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr ""
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr ""
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr ""
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr ""
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr ""
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr ""
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr ""
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr ""
+
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr ""
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr ""
+
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr ""
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr ""
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr ""
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr ""
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr ""
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr ""
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr ""
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr ""
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr ""
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr ""
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr ""
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr ""
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr ""
+
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr ""
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr ""
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr ""
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr ""
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr ""
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr ""
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr ""
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr ""
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr ""
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr ""
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr ""
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr ""
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr ""
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr ""
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr ""
+
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr ""
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr ""
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr ""
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr ""
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr ""
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr ""
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr ""
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr ""
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr ""
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr ""
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr ""
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr ""
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr ""
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr ""
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr ""
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr ""
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] ""
+msgstr[1] ""
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] ""
+msgstr[1] ""
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr ""
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr ""
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr ""
+
+#: fdisks/fdisk.c:841
+#, c-format
+msgid "Partition %d is deleted\n"
+msgstr ""
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr ""
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr ""
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr ""
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+
+#: fdisks/fdisk.c:1007
+#, c-format
+msgid ", %llu sectors\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr ""
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1355
+msgid "cannot write disk label"
+msgstr ""
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr ""
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr ""
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr ""
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr ""
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr ""
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr ""
+
+#: fdisks/fdisk.c:1821
+msgid "invalid sector size argument"
+msgstr ""
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+msgid "invalid cylinders argument"
+msgstr ""
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+msgid "invalid heads argument"
+msgstr ""
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+msgid "invalid sectors argument"
+msgstr ""
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:738
+#, c-format
+msgid "All primary partitions are in use\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:779
+#, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr ""
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr ""
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr ""
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1166
+msgid "no partition table present."
+msgstr ""
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr ""
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr ""
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr ""
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr ""
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr ""
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr ""
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2368
+#, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr ""
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2582
+msgid "no command?"
+msgstr ""
+
+#: fdisks/sfdisk.c:2662
+msgid "invalid number of partitions argument"
+msgstr ""
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2795
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr ""
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr ""
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr ""
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr ""
+
+#: fdisks/sfdisk.c:2832
+#, c-format
+msgid "cannot open %s read-write"
+msgstr ""
+
+#: fdisks/sfdisk.c:2834
+#, c-format
+msgid "cannot open %s for reading"
+msgstr ""
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2929
+#, c-format
+msgid "Cannot get size of %s"
+msgstr ""
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr ""
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr ""
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3154
+#, c-format
+msgid "Fatal error: cannot find %s"
+msgstr ""
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr ""
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr ""
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#: include/c.h:246
+#, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, c-format
+msgid "write error"
+msgstr ""
+
+#: include/optutils.h:76
+#, c-format
+msgid "%s: options "
+msgstr ""
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr ""
+
+#: lib/pager.c:107
+#, c-format
+msgid "waitpid failed (%s)"
+msgstr ""
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr ""
+
+#: lib/path.c:178
+#, c-format
+msgid "failed to parse CPU list %s"
+msgstr ""
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr ""
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, c-format
+msgid " %s [options] [username]\n"
+msgstr ""
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr ""
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr ""
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr ""
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr ""
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, c-format
+msgid "can't set default context for %s"
+msgstr ""
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr ""
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+msgid "Aborted."
+msgstr ""
+
+#: login-utils/chfn.c:383
+#, c-format
+msgid "field %s is too long"
+msgstr ""
+
+#: login-utils/chfn.c:385
+msgid "field is too long"
+msgstr ""
+
+#: login-utils/chfn.c:393
+#, c-format
+msgid "%s: '%c' is not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, c-format
+msgid "'%c' is not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr ""
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr ""
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr ""
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr ""
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr ""
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr ""
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr ""
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr ""
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr ""
+
+#: login-utils/chsh.c:321
+#, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr ""
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr ""
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+
+#: login-utils/last.c:252
+#, c-format
+msgid "%s: mmap failed"
+msgstr ""
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr ""
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+
+#: login-utils/last.c:431
+msgid "gethostname failed"
+msgstr ""
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr ""
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr ""
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr ""
+
+#: login-utils/login.c:308
+#, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr ""
+
+#: login-utils/login.c:312
+#, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr ""
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr ""
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:553
+msgid "write lastlog failed"
+msgstr ""
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr ""
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr ""
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr ""
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr ""
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr ""
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1382
+msgid "setgid() failed"
+msgstr ""
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr ""
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, c-format
+msgid "%s: change directory failed"
+msgstr ""
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr ""
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr ""
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr ""
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr ""
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr ""
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr ""
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr ""
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+msgid "setgid failed"
+msgstr ""
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr ""
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr ""
+
+#: login-utils/newgrp.c:176
+msgid "setuid failed"
+msgstr ""
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr ""
+
+#: login-utils/su.c:205
+#, c-format
+msgid "cannot not open session: %s"
+msgstr ""
+
+#: login-utils/su.c:215
+msgid "cannot create child process"
+msgstr ""
+
+#: login-utils/su.c:227
+#, c-format
+msgid "cannot change directory to %s"
+msgstr ""
+
+#: login-utils/su.c:232
+msgid "cannot block signals"
+msgstr ""
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr ""
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, c-format
+msgid " ...killed.\n"
+msgstr ""
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr ""
+
+#: login-utils/su.c:485
+msgid "failed to set PATH"
+msgstr ""
+
+#: login-utils/su.c:558
+msgid "cannot set groups"
+msgstr ""
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr ""
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr ""
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: login-utils/su.c:652
+#, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr ""
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr ""
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, c-format
+msgid "warning: cannot change directory to %s"
+msgstr ""
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr ""
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr ""
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr ""
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, c-format
+msgid "(or type Control-D to continue): "
+msgstr ""
+
+#: login-utils/sulogin.c:347
+msgid "change directory to system root failed"
+msgstr ""
+
+#: login-utils/sulogin.c:394
+msgid "setexeccon failed"
+msgstr ""
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, c-format
+msgid "%s: exec failed"
+msgstr ""
+
+#: login-utils/sulogin.c:430
+msgid "tcgetattr failed"
+msgstr ""
+
+#: login-utils/sulogin.c:437
+msgid "tcsetattr failed"
+msgstr ""
+
+#: login-utils/sulogin.c:444
+#, c-format
+msgid " %s [options] [tty device]\n"
+msgstr ""
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr ""
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr ""
+
+#: login-utils/sulogin.c:529
+#, c-format
+msgid "%s: not a tty"
+msgstr ""
+
+#: login-utils/sulogin.c:577
+msgid "TIOCSCTTY: ioctl failed"
+msgstr ""
+
+#: login-utils/sulogin.c:586
+msgid "cannot open password database."
+msgstr ""
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr ""
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr ""
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, c-format
+msgid " %s [options] [filename]\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+msgid "can't open temporary file"
+msgstr ""
+
+#: login-utils/vipw.c:166
+#, c-format
+msgid "%s: create a link to %s failed"
+msgstr ""
+
+#: login-utils/vipw.c:173
+#, c-format
+msgid "Can't get context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr ""
+
+#: login-utils/vipw.c:264
+msgid "cannot get lock"
+msgstr ""
+
+#: login-utils/vipw.c:291
+msgid "no changes made"
+msgstr ""
+
+#: login-utils/vipw.c:300
+msgid "cannot chmod file"
+msgstr ""
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: misc-utils/cal.c:371
+msgid "illegal day value"
+msgstr ""
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr ""
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr ""
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr ""
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:786
+#, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr ""
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr ""
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr ""
+
+#: misc-utils/findmnt.c:105
+msgid "source device"
+msgstr ""
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr ""
+
+#: misc-utils/findmnt.c:108
+msgid "all mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:111
+msgid "filesystem label"
+msgstr ""
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+msgid "partition label"
+msgstr ""
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+msgid "filesystem size"
+msgstr ""
+
+#: misc-utils/findmnt.c:120
+msgid "filesystem size available"
+msgstr ""
+
+#: misc-utils/findmnt.c:121
+msgid "filesystem size used"
+msgstr ""
+
+#: misc-utils/findmnt.c:122
+msgid "filesystem use percentage"
+msgstr ""
+
+#: misc-utils/findmnt.c:123
+msgid "filesystem root"
+msgstr ""
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, c-format
+msgid "unknown action: %s"
+msgstr ""
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr ""
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr ""
+
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr ""
+
+#: misc-utils/findmnt.c:513
+msgid "move"
+msgstr ""
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr ""
+
+#: misc-utils/findmnt.c:630
+#, c-format
+msgid "%s: parse error at line %d"
+msgstr ""
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+msgid "failed to initialize libmount table"
+msgstr ""
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, c-format
+msgid "can't read %s"
+msgstr ""
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr ""
+
+#: misc-utils/findmnt.c:886
+msgid "failed to initialize libmount tabdiff"
+msgstr ""
+
+#: misc-utils/findmnt.c:914
+msgid "poll() failed"
+msgstr ""
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr ""
+
+#: misc-utils/findmnt.c:1196
+msgid "invalid TID argument"
+msgstr ""
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr ""
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr ""
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:328
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr ""
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr ""
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr ""
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr ""
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr ""
+
+#: misc-utils/kill.c:244
+msgid "invalid sigval argument"
+msgstr ""
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr ""
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr ""
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr ""
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr ""
+
+#: misc-utils/logger.c:88
+#, c-format
+msgid "unknown facility name: %s."
+msgstr ""
+
+#: misc-utils/logger.c:97
+#, c-format
+msgid "unknown priority name: %s."
+msgstr ""
+
+#: misc-utils/logger.c:107
+#, c-format
+msgid "openlog %s: pathname too long"
+msgstr ""
+
+#: misc-utils/logger.c:113
+#, c-format
+msgid "socket %s"
+msgstr ""
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr ""
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr ""
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr ""
+
+#: misc-utils/logger.c:174
+#, c-format
+msgid " %s [options] [message]\n"
+msgstr ""
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr ""
+
+#: misc-utils/logger.c:261
+msgid "invalid port number argument"
+msgstr ""
+
+#: misc-utils/look.c:370
+#, c-format
+msgid " %s [options] string [file]\n"
+msgstr ""
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+msgid "partition LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:122
+msgid "read-ahead of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr ""
+
+#: misc-utils/lsblk.c:124
+msgid "removable device"
+msgstr ""
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr ""
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+msgid "alignment offset"
+msgstr ""
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr ""
+
+#: misc-utils/lsblk.c:136
+msgid "logical sector size"
+msgstr ""
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+msgid "discard alignment offset"
+msgstr ""
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:828
+#, c-format
+msgid "%s: failed to get device path"
+msgstr ""
+
+#: misc-utils/lsblk.c:835
+#, c-format
+msgid "%s: unknown device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr ""
+
+#: misc-utils/lsblk.c:869
+#, c-format
+msgid "%s: failed to get dm name"
+msgstr ""
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr ""
+
+#: misc-utils/lsblk.c:1099
+#, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr ""
+
+#: misc-utils/lsblk.c:1106
+#, c-format
+msgid "%s: failed to read link"
+msgstr ""
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, c-format
+msgid "failed to parse list '%s'"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1231
+#, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr ""
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+msgid "size of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr ""
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+msgid "path of the locked file"
+msgstr ""
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr ""
+
+#: misc-utils/lslocks.c:274
+msgid "(unknown)"
+msgstr ""
+
+#: misc-utils/lslocks.c:283
+msgid "failed to parse start"
+msgstr ""
+
+#: misc-utils/lslocks.c:290
+msgid "failed to parse end"
+msgstr ""
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, c-format
+msgid " %s [options]\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+msgid "invalid PID argument"
+msgstr ""
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:158
+#, c-format
+msgid "closing %s failed"
+msgstr ""
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr ""
+
+#: misc-utils/namei.c:370
+#, c-format
+msgid "%s - No such file or directory\n"
+msgstr ""
+
+#: misc-utils/namei.c:420
+#, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr ""
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+msgid "pathname argument is missing"
+msgstr ""
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, c-format
+msgid "renaming %s to %s failed"
+msgstr ""
+
+#: misc-utils/rename.c:67
+#, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr ""
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr ""
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr ""
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr ""
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:235
+#, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr ""
+
+#: misc-utils/uuidd.c:285
+#, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+
+#: misc-utils/wipefs.c:292
+#, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr ""
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr ""
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:425
+msgid "invalid offset argument"
+msgstr ""
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr ""
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:937
+#, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:810
+#, c-format
+msgid "mount: cannot set group id: %m"
+msgstr ""
+
+#: mount-deprecated/mount.c:813
+#, c-format
+msgid "mount: cannot set user id: %m"
+msgstr ""
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount-deprecated/mount.c:1314
+msgid "mount: couldn't lock into memory"
+msgstr ""
+
+#: mount-deprecated/mount.c:1334
+msgid "mount: failed to found free loop device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1353
+#, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr ""
+
+#: mount-deprecated/mount.c:1364
+#, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr ""
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1473
+#, c-format
+msgid "mount: cannot set speed: %m"
+msgstr ""
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr ""
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr ""
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1756
+#, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr ""
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr ""
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr ""
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr ""
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr ""
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr ""
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr ""
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:139
+#, c-format
+msgid "umount: cannot set group id: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:142
+#, c-format
+msgid "umount: cannot set user id: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr ""
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr ""
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:257
+#, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr ""
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:558
+#, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+msgid "cannot obtain the list of tasks"
+msgstr ""
+
+#: schedutils/chrt.c:299
+msgid "invalid priority argument"
+msgstr ""
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, c-format
+msgid "failed to set tid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr ""
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr ""
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr ""
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+msgid "invalid class data argument"
+msgstr ""
+
+#: schedutils/ionice.c:154
+msgid "invalid class argument"
+msgstr ""
+
+#: schedutils/ionice.c:159
+#, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr ""
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, c-format
+msgid "unknown prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr ""
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+msgid "conversion from cpuset to string failed"
+msgstr ""
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr ""
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr ""
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr ""
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr ""
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, c-format
+msgid "failed to parse CPU list: %s"
+msgstr ""
+
+#: schedutils/taskset.c:217
+#, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr ""
+
+#: sys-utils/arch.c:79
+msgid "uname failed"
+msgstr ""
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, c-format
+msgid "CPU %d does not exist\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, c-format
+msgid "CPU %d is already enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:92
+#, c-format
+msgid "CPU %d is already disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+msgid "Failed to set horizontal dispatch mode"
+msgstr ""
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:146
+msgid "Failed to set vertical dispatch mode"
+msgstr ""
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:165
+#, c-format
+msgid "CPU %d is not configurable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:170
+#, c-format
+msgid "CPU %d is already configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:174
+#, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr ""
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, c-format
+msgid "unsupported argument: %s"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:21
+#, c-format
+msgid " %s <hard|soft>\n"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+
+#: sys-utils/cytune.c:92
+#, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr ""
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr ""
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr ""
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, c-format
+msgid "cannot get threshold for %s"
+msgstr ""
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, c-format
+msgid "cannot get timeout for %s"
+msgstr ""
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:326
+msgid "Invalid interval value"
+msgstr ""
+
+#: sys-utils/cytune.c:328
+#, c-format
+msgid "Invalid interval value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:335
+msgid "Invalid set value"
+msgstr ""
+
+#: sys-utils/cytune.c:337
+#, c-format
+msgid "Invalid set value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:344
+msgid "Invalid default value"
+msgstr ""
+
+#: sys-utils/cytune.c:346
+#, c-format
+msgid "Invalid default value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:354
+msgid "Invalid set time value"
+msgstr ""
+
+#: sys-utils/cytune.c:356
+#, c-format
+msgid "Invalid set time value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:364
+msgid "Invalid default time value"
+msgstr ""
+
+#: sys-utils/cytune.c:366
+#, c-format
+msgid "Invalid default time value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:409
+#, c-format
+msgid "cannot set %s to threshold %d"
+msgstr ""
+
+#: sys-utils/cytune.c:423
+#, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr ""
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:72
+msgid "system is unusable"
+msgstr ""
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+msgid "error conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:76
+msgid "warning conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+msgid "mail system"
+msgstr ""
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+msgid "clock daemon"
+msgstr ""
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+msgid "ftp daemon"
+msgstr ""
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, c-format
+msgid "failed to parse level '%s'"
+msgstr ""
+
+#: sys-utils/dmesg.c:262
+#, c-format
+msgid "unknown level '%s'"
+msgstr ""
+
+#: sys-utils/dmesg.c:298
+#, c-format
+msgid "failed to parse facility '%s'"
+msgstr ""
+
+#: sys-utils/dmesg.c:300
+#, c-format
+msgid "unknown facility '%s'"
+msgstr ""
+
+#: sys-utils/dmesg.c:415
+msgid "sysinfo failed"
+msgstr ""
+
+#: sys-utils/dmesg.c:442
+#, c-format
+msgid "cannot mmap: %s"
+msgstr ""
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+msgid "write failed"
+msgstr ""
+
+#: sys-utils/dmesg.c:1132
+msgid "invalid buffer size argument"
+msgstr ""
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+msgid "read kernel buffer failed"
+msgstr ""
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr ""
+
+#: sys-utils/dmesg.c:1211
+msgid "klogctl failed"
+msgstr ""
+
+#: sys-utils/eject.c:135
+#, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr ""
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+msgid "invalid argument to --auto/-a option"
+msgstr ""
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+msgid "invalid argument to --cdspeed/-x option"
+msgstr ""
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr ""
+
+#: sys-utils/eject.c:536
+#, c-format
+msgid "%s: failed to read speed"
+msgstr ""
+
+#: sys-utils/eject.c:544
+msgid "failed to read speed"
+msgstr ""
+
+#: sys-utils/eject.c:588
+msgid "not an sg device, or old sg driver"
+msgstr ""
+
+#: sys-utils/eject.c:650
+#, c-format
+msgid "%s: unmounting"
+msgstr ""
+
+#: sys-utils/eject.c:658
+msgid "eject: cannot set user id"
+msgstr ""
+
+#: sys-utils/eject.c:665
+#, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:668
+msgid "unable to fork"
+msgstr ""
+
+#: sys-utils/eject.c:675
+#, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr ""
+
+#: sys-utils/eject.c:678
+#, c-format
+msgid "unmount of `%s' failed\n"
+msgstr ""
+
+#: sys-utils/eject.c:719
+msgid "failed to parse mount table"
+msgstr ""
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, c-format
+msgid "%s: mounted on %s"
+msgstr ""
+
+#: sys-utils/eject.c:877
+#, c-format
+msgid "%s: is removable device"
+msgstr ""
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, c-format
+msgid "using default device `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:971
+#, c-format
+msgid "%s: unable to find device"
+msgstr ""
+
+#: sys-utils/eject.c:973
+#, c-format
+msgid "device name is `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, c-format
+msgid "%s: not mounted"
+msgstr ""
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, c-format
+msgid "%s: is whole-disk device"
+msgstr ""
+
+#: sys-utils/eject.c:998
+#, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr ""
+
+#: sys-utils/eject.c:1002
+#, c-format
+msgid "device is `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr ""
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1103
+msgid "SCSI eject failed"
+msgstr ""
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+msgid "tape offline command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1121
+msgid "unable to eject"
+msgstr ""
+
+#: sys-utils/fallocate.c:60
+#, c-format
+msgid " %s [options] <filename>\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr ""
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr ""
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr ""
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+msgid "timeout cannot be zero"
+msgstr ""
+
+#: sys-utils/flock.c:123
+#, c-format
+msgid "cannot open lock file %s"
+msgstr ""
+
+#: sys-utils/flock.c:206
+msgid "invalid exit code"
+msgstr ""
+
+#: sys-utils/flock.c:226
+#, c-format
+msgid "%s requires exactly one command argument"
+msgstr ""
+
+#: sys-utils/flock.c:247
+msgid "requires file descriptor, file or directory"
+msgstr ""
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, c-format
+msgid " %s [options] <mount point>\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr ""
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+msgid "failed to parse length"
+msgstr ""
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+msgid "failed to parse offset"
+msgstr ""
+
+#: sys-utils/fstrim.c:114
+msgid "failed to parse minimum extent length"
+msgstr ""
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr ""
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, c-format
+msgid "%s: not a directory"
+msgstr ""
+
+#: sys-utils/fstrim.c:145
+#, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr ""
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, c-format
+msgid "cannot write %s"
+msgstr ""
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr ""
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr ""
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:617
+msgid "No --date option specified."
+msgstr ""
+
+#: sys-utils/hwclock.c:623
+msgid "--date argument too long"
+msgstr ""
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr ""
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr ""
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr ""
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr ""
+
+#: sys-utils/hwclock.c:1619
+msgid "invalid epoch argument"
+msgstr ""
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+msgid "I failed to get permission because I didn't try."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:195
+#, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+msgid "failed to parse size"
+msgstr ""
+
+#: sys-utils/ipcmk.c:114
+msgid "failed to parse elements"
+msgstr ""
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+msgid "key failed"
+msgstr ""
+
+#: sys-utils/ipcrm.c:111
+msgid "id failed"
+msgstr ""
+
+#: sys-utils/ipcrm.c:128
+#, c-format
+msgid "invalid id: %s"
+msgstr ""
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+msgid "not enough arguments"
+msgstr ""
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:194
+#, c-format
+msgid "illegal key (%s)"
+msgstr ""
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr ""
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr ""
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr ""
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, c-format
+msgid "unknown argument: %s"
+msgstr ""
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:126
+msgid "Resource options:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr ""
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr ""
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr ""
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr ""
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr ""
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr ""
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr ""
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr ""
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr ""
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr ""
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr ""
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr ""
+
+#: sys-utils/ldattach.c:144
+msgid "invalid iflag"
+msgstr ""
+
+#: sys-utils/ldattach.c:160
+#, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+msgid "invalid speed argument"
+msgstr ""
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr ""
+
+#: sys-utils/ldattach.c:288
+msgid "invalid line discipline argument"
+msgstr ""
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr ""
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr ""
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr ""
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ""
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ""
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ""
+
+#: sys-utils/losetup.c:120
+#, c-format
+msgid "%s: set capacity failed"
+msgstr ""
+
+#: sys-utils/losetup.c:130
+#, c-format
+msgid "%s: detach failed"
+msgstr ""
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, c-format
+msgid "%s: failed to use device"
+msgstr ""
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+msgid "no loop device specified"
+msgstr ""
+
+#: sys-utils/losetup.c:354
+#, c-format
+msgid "%s failed to use device"
+msgstr ""
+
+#: sys-utils/losetup.c:359
+msgid "no file specified"
+msgstr ""
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+msgid "couldn't lock into memory"
+msgstr ""
+
+#: sys-utils/losetup.c:391
+msgid "not found unused device"
+msgstr ""
+
+#: sys-utils/losetup.c:403
+#, c-format
+msgid "%s: failed to use backing file"
+msgstr ""
+
+#: sys-utils/losetup.c:442
+msgid "find unused loop device failed"
+msgstr ""
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+msgid "logical core number"
+msgstr ""
+
+#: sys-utils/lscpu.c:239
+msgid "logical socket number"
+msgstr ""
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:551
+msgid "failed to allocate memory"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "N"
+msgstr ""
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+msgid "Socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr ""
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr ""
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr ""
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr ""
+
+#: sys-utils/mount.c:158
+msgid "failed to read mtab"
+msgstr ""
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, c-format
+msgid "%-25s: already mounted\n"
+msgstr ""
+
+#: sys-utils/mount.c:367
+#, c-format
+msgid "only root can mount %s on %s"
+msgstr ""
+
+#: sys-utils/mount.c:370
+#, c-format
+msgid "%s is already mounted"
+msgstr ""
+
+#: sys-utils/mount.c:374
+#, c-format
+msgid "can't find %s in %s"
+msgstr ""
+
+#: sys-utils/mount.c:381
+#, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr ""
+
+#: sys-utils/mount.c:384
+#, c-format
+msgid "can't find mount source %s in %s"
+msgstr ""
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: sys-utils/mount.c:392
+msgid "you must specify the filesystem type"
+msgstr ""
+
+#: sys-utils/mount.c:396
+#, c-format
+msgid "can't find %s"
+msgstr ""
+
+#: sys-utils/mount.c:398
+msgid "mount source not defined"
+msgstr ""
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+msgid "failed to parse mount options"
+msgstr ""
+
+#: sys-utils/mount.c:410
+#, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr ""
+
+#: sys-utils/mount.c:416
+#, c-format
+msgid "%s: mount failed"
+msgstr ""
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, c-format
+msgid "mount point %s is not a directory"
+msgstr ""
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr ""
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr ""
+
+#: sys-utils/mount.c:459
+#, c-format
+msgid "%s is already mounted or %s busy"
+msgstr ""
+
+#: sys-utils/mount.c:471
+#, c-format
+msgid " %s is already mounted on %s\n"
+msgstr ""
+
+#: sys-utils/mount.c:479
+#, c-format
+msgid "mount point %s does not exist"
+msgstr ""
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: sys-utils/mount.c:486
+#, c-format
+msgid "special device %s does not exist"
+msgstr ""
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+msgid "mount(2) failed"
+msgstr ""
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+
+#: sys-utils/mount.c:510
+#, c-format
+msgid "%s not mounted or bad option"
+msgstr ""
+
+#: sys-utils/mount.c:512
+#, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr ""
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: sys-utils/mount.c:533
+#, c-format
+msgid "%s: can't read superblock"
+msgstr ""
+
+#: sys-utils/mount.c:537
+#, c-format
+msgid "unknown filesystem type '%s'"
+msgstr ""
+
+#: sys-utils/mount.c:545
+#, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr ""
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: sys-utils/mount.c:550
+#, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: sys-utils/mount.c:552
+#, c-format
+msgid " %s is not a block device"
+msgstr ""
+
+#: sys-utils/mount.c:559
+#, c-format
+msgid "%s is not a valid block device"
+msgstr ""
+
+#: sys-utils/mount.c:565
+#, c-format
+msgid "cannot mount %s read-only"
+msgstr ""
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: sys-utils/mount.c:571
+#, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr ""
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr ""
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr ""
+
+#: sys-utils/mount.c:591
+#, c-format
+msgid "mount %s on %s failed"
+msgstr ""
+
+#: sys-utils/mount.c:613
+#, c-format
+msgid "%s: failed to parse"
+msgstr ""
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr ""
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+msgid "failed to append options"
+msgstr ""
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+msgid "failed to set options pattern"
+msgstr ""
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:208
+#, c-format
+msgid "%s is a mountpoint\n"
+msgstr ""
+
+#: sys-utils/pivot_root.c:33
+#, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr ""
+
+#: sys-utils/pivot_root.c:71
+#, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr ""
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+msgid "max core file size"
+msgstr ""
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+msgid "blocks"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+msgid "seconds"
+msgstr ""
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+msgid "max file size"
+msgstr ""
+
+#: sys-utils/prlimit.c:75
+msgid "max number of file locks held"
+msgstr ""
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+msgid "max number of open files"
+msgstr ""
+
+#: sys-utils/prlimit.c:80
+msgid "max number of processes"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr ""
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr ""
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+msgid "resource name"
+msgstr ""
+
+#: sys-utils/prlimit.c:117
+msgid "resource description"
+msgstr ""
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+msgid "units"
+msgstr ""
+
+#: sys-utils/prlimit.c:156
+#, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:158
+#, c-format
+msgid " %s [options] COMMAND\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:160
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, c-format
+msgid "failed to get old %s limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, c-format
+msgid "failed to set the %s resource limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:366
+#, c-format
+msgid "failed to get the %s resource limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:445
+#, c-format
+msgid "failed to parse %s limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, c-format
+msgid "error writing %s"
+msgstr ""
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr ""
+
+#: sys-utils/readprofile.c:310
+#, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr ""
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr ""
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr ""
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr ""
+
+#: sys-utils/renice.c:139
+#, c-format
+msgid "unknown user %s"
+msgstr ""
+
+#: sys-utils/renice.c:146
+#, c-format
+msgid "bad value %s"
+msgstr ""
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+msgid "user ID"
+msgstr ""
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr ""
+
+#: sys-utils/renice.c:172
+#, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr ""
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+msgid "read rtc time failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:161
+msgid "read system time failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:179
+msgid "convert rtc time failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:239
+msgid "set rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+msgid "read rtc alarm failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+msgid "convert time failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr ""
+
+#: sys-utils/rtcwake.c:448
+msgid "invalid seconds argument"
+msgstr ""
+
+#: sys-utils/rtcwake.c:455
+msgid "invalid time argument"
+msgstr ""
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, c-format
+msgid "%s not enabled for wakeup events"
+msgstr ""
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, c-format
+msgid "unable to execute %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+msgid "rtc read failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr ""
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr ""
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr ""
+
+#: sys-utils/setsid.c:28
+#, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr ""
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+msgid "fork"
+msgstr ""
+
+#: sys-utils/setsid.c:90
+msgid "setsid failed"
+msgstr ""
+
+#: sys-utils/setsid.c:94
+msgid "failed to set the controlling terminal"
+msgstr ""
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr ""
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr ""
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr ""
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+msgid "device file or partition path"
+msgstr ""
+
+#: sys-utils/swapon.c:90
+msgid "type of the device"
+msgstr ""
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr ""
+
+#: sys-utils/swapon.c:92
+msgid "bytes in use"
+msgstr ""
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr ""
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr ""
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr ""
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr ""
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr ""
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, c-format
+msgid "swapon %s\n"
+msgstr ""
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr ""
+
+#: sys-utils/swapon.c:607
+#, c-format
+msgid "failed to parse %s"
+msgstr ""
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr ""
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:57
+msgid "failed to open directory"
+msgstr ""
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+msgid "stat failed"
+msgstr ""
+
+#: sys-utils/switch_root.c:75
+msgid "failed to read directory"
+msgstr ""
+
+#: sys-utils/switch_root.c:107
+#, c-format
+msgid "failed to unlink %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:144
+#, c-format
+msgid "failed to mount moving %s to %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:146
+#, c-format
+msgid "forcing unmount of %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:152
+#, c-format
+msgid "failed to change directory to %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:160
+#, c-format
+msgid "failed to mount moving %s to /"
+msgstr ""
+
+#: sys-utils/switch_root.c:166
+msgid "failed to change root"
+msgstr ""
+
+#: sys-utils/switch_root.c:185
+#, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr ""
+
+#: sys-utils/switch_root.c:217
+msgid "failed. Sorry."
+msgstr ""
+
+#: sys-utils/switch_root.c:220
+#, c-format
+msgid "cannot access %s"
+msgstr ""
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+msgid " -r, --reset reset the port\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+msgid "bad value"
+msgstr ""
+
+#: sys-utils/tunelp.c:271
+#, c-format
+msgid "%s not an lp device"
+msgstr ""
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr ""
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr ""
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ""
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ""
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ""
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ""
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ""
+
+#: sys-utils/tunelp.c:312
+msgid "ioctl failed"
+msgstr ""
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr ""
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr ""
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, c-format
+msgid "%s: umount failed"
+msgstr ""
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/umount.c:202
+#, c-format
+msgid "%s: invalid block device"
+msgstr ""
+
+#: sys-utils/umount.c:208
+#, c-format
+msgid "%s: can't write superblock"
+msgstr ""
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr ""
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr ""
+
+#: sys-utils/umount.c:272
+msgid "failed to set umount target"
+msgstr ""
+
+#: sys-utils/unshare.c:60
+#, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr ""
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr ""
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+msgid "Fan failed"
+msgstr ""
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr ""
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr ""
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr ""
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr ""
+
+#: sys-utils/wdctl.c:73
+msgid "flag boot status"
+msgstr ""
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr ""
+
+#: sys-utils/wdctl.c:108
+#, c-format
+msgid "unknown flag: %s"
+msgstr ""
+
+#: sys-utils/wdctl.c:145
+#, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, c-format
+msgid "The default device is %s.\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:168
+msgid "Available columns:\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:254
+#, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr ""
+
+#: sys-utils/wdctl.c:307
+#, c-format
+msgid "cannot set timeout for %s"
+msgstr ""
+
+#: sys-utils/wdctl.c:345
+#, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr ""
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, c-format
+msgid "%-15s%2i seconds\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+msgid "Device:"
+msgstr ""
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr ""
+
+#: term-utils/agetty.c:435
+#, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr ""
+
+#: term-utils/agetty.c:440
+#, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr ""
+
+#: term-utils/agetty.c:445
+#, c-format
+msgid "%s: can't change process priority: %m"
+msgstr ""
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr ""
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, c-format
+msgid "failed to allocate memory: %m"
+msgstr ""
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr ""
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr ""
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr ""
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr ""
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr ""
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr ""
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr ""
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr ""
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr ""
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr ""
+
+#: term-utils/mesg.c:74
+#, c-format
+msgid " %s [options] [y | n]\n"
+msgstr ""
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+msgid "ttyname failed"
+msgstr ""
+
+#: term-utils/mesg.c:128
+msgid "is y"
+msgstr ""
+
+#: term-utils/mesg.c:131
+msgid "is n"
+msgstr ""
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, c-format
+msgid "change %s mode failed"
+msgstr ""
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, c-format
+msgid "invalid argument: %s"
+msgstr ""
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+
+#: term-utils/script.c:132
+#, c-format
+msgid " %s [options] [file]\n"
+msgstr ""
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr ""
+
+#: term-utils/script.c:401
+msgid "cannot write script file"
+msgstr ""
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:513
+msgid "openpty failed"
+msgstr ""
+
+#: term-utils/script.c:549
+msgid "out of pty's"
+msgstr ""
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr ""
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:185
+msgid "wrong number of arguments"
+msgstr ""
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: term-utils/setterm.c:674
+msgid "Argument error."
+msgstr ""
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+msgid "cannot force blank"
+msgstr ""
+
+#: term-utils/setterm.c:1076
+msgid "cannot force unblank"
+msgstr ""
+
+#: term-utils/setterm.c:1082
+msgid "cannot get blank status"
+msgstr ""
+
+#: term-utils/setterm.c:1094
+msgid "cannot (un)set powersave mode"
+msgstr ""
+
+#: term-utils/setterm.c:1114
+#, c-format
+msgid "can not open dump file %s for output"
+msgstr ""
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+msgid "klogctl error"
+msgstr ""
+
+#: term-utils/setterm.c:1205
+msgid "Error writing screendump"
+msgstr ""
+
+#: term-utils/setterm.c:1212
+#, c-format
+msgid "Couldn't read %s"
+msgstr ""
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr ""
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, c-format
+msgid "%s: unknown terminal type"
+msgstr ""
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr ""
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr ""
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr ""
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, c-format
+msgid " %s [options] [<file>]\n"
+msgstr ""
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, c-format
+msgid "invalid timeout argument: %s"
+msgstr ""
+
+#: term-utils/wall.c:202
+msgid "cannot get passwd uid"
+msgstr ""
+
+#: term-utils/wall.c:207
+msgid "cannot get tty name"
+msgstr ""
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr ""
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr ""
+
+#: term-utils/wall.c:275
+msgid "fread failed"
+msgstr ""
+
+#: term-utils/write.c:81
+#, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr ""
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr ""
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr ""
+
+#: term-utils/write.c:168
+#, c-format
+msgid "%s is not logged in on %s"
+msgstr ""
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr ""
+
+#: term-utils/write.c:269
+#, c-format
+msgid "%s is not logged in"
+msgstr ""
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr ""
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr ""
+
+#: term-utils/write.c:326
+#, c-format
+msgid "tty path %s too long"
+msgstr ""
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr ""
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr ""
+
+#: term-utils/write.c:372
+msgid "carefulputc failed"
+msgstr ""
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+msgid "write error."
+msgstr ""
+
+#: text-utils/col.c:199
+msgid "bad -l argument"
+msgstr ""
+
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr ""
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr ""
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr ""
+
+#: text-utils/colcrt.c:314
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr ""
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+msgid "first argument"
+msgstr ""
+
+#: text-utils/colrm.c:187
+msgid "second argument"
+msgstr ""
+
+#: text-utils/column.c:90
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr ""
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+
+#: text-utils/column.c:150
+msgid "invalid columns argument"
+msgstr ""
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+msgid "all input file arguments failed"
+msgstr ""
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, c-format
+msgid "more (%s)\n"
+msgstr ""
+
+#: text-utils/more.c:544
+#, c-format
+msgid "unknown option -%s"
+msgstr ""
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr ""
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr ""
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr ""
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr ""
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr ""
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr ""
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr ""
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr ""
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:1339
+msgid "No previous regular expression"
+msgstr ""
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr ""
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr ""
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr ""
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr ""
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr ""
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr ""
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr ""
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr ""
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr ""
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr ""
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr ""
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr ""
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr ""
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr ""
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr ""
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr ""
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr ""
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr ""
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+msgid " -e do not pause at end of a file\n"
+msgstr ""
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr ""
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr ""
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr ""
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr ""
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr ""
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr ""
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1313
+msgid "cannot open "
+msgstr ""
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr ""
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr ""
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr ""
+
+#: text-utils/rev.c:77
+#, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr ""
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr ""
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+msgid "failed to parse number of lines"
+msgstr ""
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr ""
+
+#: text-utils/ul.c:136
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr ""
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr ""
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr ""
+
+#: text-utils/ul.c:648
+msgid "Input line too long."
+msgstr ""
diff --git a/po/vi.gmo b/po/vi.gmo
new file mode 100644
index 0000000..8e79576
--- /dev/null
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
new file mode 100644
index 0000000..f77bd3a
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,18362 @@
+# Vietnamese translation for Util-Linux.
+# Copyright © 2012 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux package.
+# Phan Vinh Thinh <teppi82@gmail.com>, 2005-2007.
+# Clytie Siddall <clytie@riverland.net.au>, 2007-2010.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-2.22-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2012-08-21 14:14+0700\n"
+"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
+"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: LocFactoryEditor 1.8\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr " %s <thiáşżt bị Ä‘Ä©a> <số phân vĂąng> <Ä‘iá»m đầu> <Ä‘á»™ dĂ i>\n"
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "không thỠmở được %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+msgid "invalid partition number argument"
+msgstr "tham số số lượng phân vùng không hợp lệ"
+
+#: disk-utils/addpart.c:56
+msgid "invalid start argument"
+msgstr "đối số khởi đầu không hợp lệ"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+msgid "invalid length argument"
+msgstr "tham số chiá»u dĂ i khĂ´ng hợp lệ"
+
+#: disk-utils/addpart.c:58
+msgid "failed to add partition"
+msgstr "thêm phân vùng gặp lỗi"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "đặt chỉ đọc"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "đặt đọc-viết"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "lấy chỉ đọc"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr "lấy trạng thái hỗ trợ số không loại bỏ"
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "lấy kích cỡ khối hợp lý (rãnh ghi)"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "lấy kích cỡ khối vật lý (rãnh ghi)"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "lấy kĂ­ch cỡ V/R tối thiá»u"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "lấy kích cỡ V/R tối ưu"
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr "lấy khoảng sắp hàng offset theo byte"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "lấy số tối đa các rãnh ghi cho mỗi yêu cầu"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "lấy kích cỡ khối"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "đặt kích cỡ khối"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "lấy số lượng rãnh ghi 32 bit(không được dùng, sử dụng --getsz)"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "lấy kích cỡ tính bằng byte"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "đặt đọc sẵn"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "lấy đọc sẵn"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "đặt đọc sẵn cho hệ thống tập tin"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "lấy đọc sẵn cho hệ thống tập tin"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "đẩy dữ liệu bộ đệm"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "đọc lại bảng phân vùng"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+"\n"
+"Cách dùng:\n"
+" %1$s -V\n"
+" %1$s --report [thiết_bị]\n"
+" %1$s [-v|-q] lệnh thiết_bị\n"
+"\n"
+"Các lệnh hợp lệ:\n"
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr " %-25s lấy kích cỡ theo rãnh ghi là 512 byte\n"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr "không thỠlấy kích thước thiết bị"
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr "KhĂ´ng hiá»u câu lệnh: %s"
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr "%s yêu cầu một đối số"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s bị lỗi.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s thĂ nh cĂ´ng.\n"
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr "lá»—i ioctl trĂŞn %s"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ RĂŁnhÄầu Cỡ Thiáşżt bị\n"
+
+#: disk-utils/delpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "%s <thiết-bị> <số-phân-vùng>\n"
+
+#: disk-utils/delpart.c:57
+msgid "failed to remove partition"
+msgstr "gỡ bỏ phân vùng gặp lỗi"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "sử dụng:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tGHI CHÚ: elvtune chỉ hoạt động với nhân linux phiên bản 2.4\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "thiếu thiết bị khối, sử dụng lệnh \"-h\" đỠthấy trợ giúp\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune chỉ hữu ích khi sử dụng với nhân linux cũ;\n"
+"đối với phiên bản 2.6, hãy thay thế bằng\n"
+"phần má»m định thời V/R sysfs tunables.\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "Äang định dạng ... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "hoàn tất\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "Äang kiá»m tra ... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "Äọc: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Có vấn đỠkhi đọc hình trụ %d, mong chờ %d, đọc %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"dữ liệu sai tại trụ (cyl) %d\n"
+"Äang tiáşżp tục ... "
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "Sử dụng: %s [tùy-chọn] thiết-bị\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Tuỳ chọn:\n"
+" -n, --no-verify không thẩm định sau định dạng\n"
+" -V, --version kết xuất thông tin phiên bản rồi thoát\n"
+" -h, --help kết xuất thông tin này rồi thoát\n"
+"\n"
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s từ %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, c-format
+msgid "stat failed %s"
+msgstr "lấy trạng thái %s gặp lỗi"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr "%s: không phải là thiết bị khối"
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr "khĂ´ng thá» truy cáş­p táş­p tin %s"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "KhĂ´ng thá» xác định được kiá»u định dạng hiện thời"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s mặt, %d rãnh, %d giây/rãnh. Tổng dung lượng %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "KĂ©p"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "Äơn"
+
+#: disk-utils/fsck.c:191
+#, c-format
+msgid "%s is mounted\n"
+msgstr "%s đã được gắn\n"
+
+#: disk-utils/fsck.c:193
+#, c-format
+msgid "%s is not mounted\n"
+msgstr "%s chưa được gắn\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr "không đọc được: %s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "lỗi phân tích cú pháp: %s"
+
+#: disk-utils/fsck.c:329
+#, c-format
+msgid "Locking disk %s ... "
+msgstr "Äang khoá Ä‘Ä©a %s ... "
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr "(đang chờ)"
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr "thĂ nh cĂ´ng"
+
+#: disk-utils/fsck.c:349
+msgid "failed"
+msgstr "bị lỗi"
+
+#: disk-utils/fsck.c:386
+#, c-format
+msgid "failed to setup description for %s"
+msgstr "gặp lỗi khi cài đặt mô tả cho %s"
+
+#: disk-utils/fsck.c:412
+#, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "%s: lỗi phân tích cú pháp tại dòng %d -- ignore"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s: lỗi phân tích fstab"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, c-format
+msgid "%s: not found"
+msgstr "%s: không tìm thấy"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "lỗi phân nhánh"
+
+#: disk-utils/fsck.c:617
+#, c-format
+msgid "%s: execute failed"
+msgstr "%s: thá»±c thi gáş·p lá»—i"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr "đợi: không có tiến trình con nữa ?!?"
+
+#: disk-utils/fsck.c:708
+msgid "waidpid failed"
+msgstr "waidpid gáş·p lá»—i"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr "Cảnh báo... %s cho thiết bị %s đã thoát với tín hiệu %d."
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr "%s %s: trạng thái là %x, không bao giờ nên xảy ra."
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "ÄĂŁ káşżt thĂşc vá»›i %s (trạng thái thoát %d)\n"
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "lỗi %d trong khi thực hiện fsck.%s cho %s"
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+"Hoáş·c tất cả hoáş·c khĂ´ng cĂł kiá»u hệ thống táş­p tin được qua\n"
+"cho tĂąy chọn \"-t\" phải cĂł tiá»n tố \"no\" hay \"!\"."
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+"%s: đang bỏ qua dòng sai trong \"/etc/fstab\": buộc gắn với số gửi qua fsck "
+"khác số không"
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s: đang bỏ qua thiết bị không tồn tại\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+"%s: thiết bị không sẵn sàng (tuỳ chọn \"nofail\" của fstab có lẽ đã được sử "
+"dụng đỠbỏ qua thiết bị này)\n"
+
+#: disk-utils/fsck.c:1060
+#, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "%s: bỏ qua kiá»u hệ thống táş­p tin chĆ°a biáşżt\n"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "khĂ´ng thá» kiá»m tra %s: fsck.%s khĂ´ng tìm thấy"
+
+#: disk-utils/fsck.c:1168
+msgid "failed to allocate iterator"
+msgstr "gặp lỗi khi cấp phát iterator"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "Äang kiá»m tra tất cả các hệ thống táş­p tin.\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--waiting-- (lần chạy %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+" %s [tuỳ-chọn-fsck] [tuỳ-chọn-fs] [filesys ...]\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+"\n"
+"Tuỳ chọn:\n"
+" -A kiá»m tra toĂ n bá»™ hệ thống\n"
+" -R bỏ qua hệ thống tập tin gốc (root), chỉ hữu dụng với tuỳ chọn `-"
+"A'\n"
+" -M khĂ´ng kiá»m tra hệ thống táş­p tin Ä‘ĂŁ gắn\n"
+" -t <kiá»u> chỉ định kiá»u cho hệ thĂ´ng táş­p tin sáş˝ được kiá»m tra;\n"
+" kiá»u được cho phĂ©p lĂ  danh sách ngÄn cách báş±ng dấu pháş©y\n"
+" -P kiá»m tra hệ thống táş­p tin song song, bao gồm cả root\n"
+" -r báo cáo thống kê cho mỗi fsck thiết bị\n"
+" -s hoạt Ä‘á»™ng kiá»u fsck nối tiáşżp nhau\n"
+" -l khoá thiết bị sử dụng flock()\n"
+" -N khĂ´ng thá»±c hiện, chỉ hiá»n thị cái gì sáş˝ lĂ m\n"
+" -T khĂ´ng hiá»n thị tiĂŞu Ä‘á» khi khởi Ä‘á»™ng\n"
+" -C <fd> hiá»n thị thanh diá»…n tiáşżn; bá»™ mĂ´ tả táş­p tin cho GUIs\n"
+" -V giảng giải cái gì đang được làm\n"
+" -? hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+"Xem lệnh fsck.* đỠbiết các-tuỳ-chọn-fs."
+
+#: disk-utils/fsck.c:1354
+msgid "too many devices"
+msgstr "quá nhiá»u thiáşżt bị"
+
+#: disk-utils/fsck.c:1366
+msgid "Is /proc mounted?"
+msgstr "/proc đã được gắn kết chưa?"
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "phải là người chủ (root) đỠquét tìm hệ thống tập tin tương ứng: %s"
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "không tìm thấy hệ thống tập tin khớp: %s"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+msgid "too many arguments"
+msgstr "quá nhiá»u đối số"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr "tuỳ chọn -l chỉ có thỠsử dụng với một thiết bị mà thôi -- ignore"
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, c-format
+msgid " %s [options] file\n"
+msgstr "%s [TUỲ_CHỌN] [TẬP_TIN]\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr " -x, --destination <thư-mục> xuất ra thư mục\n"
+
+#: disk-utils/fsck.cramfs.c:117
+msgid " -v, --verbose be more verbose\n"
+msgstr " -v, --verbose chi tiết hơn nữa\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl bị lỗi: không thỠxác định kích cỡ thiết bị: %s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "không phải thiết bị khối hay tập tin: %s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "chiá»u dĂ i táş­p tin quá ngắn"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "lỗi đọc: %s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "không tìm thấy ma thuật siêu khối"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "cramfs khĂ´ng endian lĂ  %s\n"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr "lá»›n"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr "nhỏ"
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "gáş·p tĂ­nh nÄng hệ thống táş­p tin khĂ´ng được há»— trợ"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "kích cỡ siêu khối (%d) quá nhỏ"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "đếm số không tập tin"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "cảnh báo: táş­p tin kĂ©o dĂ i quá Ä‘iá»m cuối hệ thống táş­p tin\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "cảnh báo: định dạng cramfs cũ\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "không thỠthử CRC: định dạng cramfs cũ"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "lá»—i crc"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "inode gốc không phải thư mục"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "hiệu gốc sai (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "khối dữ liệu quá lớn"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "lỗi giải nén %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " gặp lỗ ở %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " đang giải nén khối ở %ld đến %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "khác khối (%ld) byte"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "khác kích cỡ (%ld vs %ld) byte"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "lá»—i ghi: %s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "inode thư mục có hiệu số không và kích cỡ khác số không: %s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "tập tin có tên dài số không"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "táş­p tin cĂł tĂŞn dĂ i sai"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "hiệu inode sai"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "inode tập tin có hiệu số không và kích cỡ khác số không"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "inode tập tin có kích cỡ số không và hiệu khác số không"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "liên kết tượng trưng có hiệu số không"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "liên kết tượng trưng có kích cỡ số không"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "gặp lỗi kích cỡ trong liên kết tượng trưng: %s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "liên kết tượng trưng bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "tập tin đặc biệt có hiệu khác số không: %s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "FIFO có kích cỡ khác số không: %s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "ổ cắm (socket) có kích cỡ khác số không: %s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "chế độ giả: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod bị lỗiT: %s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr "đầu dữ liệu thư mục (%ld) < kích_cỡ(struct cramfs_super) + đầu (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "cuối dữ liệu thư mục (%ld) != đầu dữ liệu tập tin (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "sai đặt hiệu dữ liệu tập tin"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "biên dịch mà không hỗ trợ -x"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, c-format
+msgid " %s [options] <device>\n"
+msgstr "%s [tùy chọn] <thiết bị>\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr " -l liệt kê tất cả tên tập tin\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr " -a sá»­a lá»—i tá»± Ä‘á»™ng\n"
+
+#: disk-utils/fsck.minix.c:198
+msgid " -r interactive repair\n"
+msgstr " -r sá»­a chữa kiá»u tương tác vá»›i người dĂąng\n"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr " -v xuất chi tiết\n"
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr " -s hiá»n thị thĂ´ng tin của super-block (siĂŞu khối)\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr " -m hoạt hóa chế độ không xóa các cảnh báo\n"
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr " -f Ă©p buá»™c kiá»m tra\n"
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr "%s (y/n)? "
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr "%s (n/y)? "
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr "y\n"
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr "n\n"
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s đã được gắn.\t "
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Bạn có thực sự muốn tiếp tục"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "kiá»m tra bị dừng.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "VĂąng nr < VĂ™NGÄẦUTIĂŠN trong táş­p tin `%s'."
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "VĂąng nr >= CĂCVĂ™NG trong táş­p tin `%s'."
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Xoá khối"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Lỗi đọc: không thỠtìm tới khối trong tập tin '%s'\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Lỗi đọc: khối xấu trong tập tin '%s'\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Lỗi nội bộ: ghi vào khối xấu\n"
+"Yêu cầu ghi bị bỏ qua\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "tìm kiếm bị lỗi trong ghi_khối"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Lỗi ghi: khối xấu trong tập tin '%s'\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "tìm kiếm bị lỗi trong ghi_siêu_ khối"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "không thỠghi siêu khối"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "Không thỠghi sơ đồ inode"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "Không thỠghi sơ đồ vùng"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "Không thỠghi các inode"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "tìm nơi bị lỗi"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "không thỠcấp phát vùng đệm cho siêu khối"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "không thỠđọc siêu khối"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "số magic xấu trong siêu khối"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "Chỉ hỗ trợ khối/vùng 1k"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "vùng s_imap_blocks xấu trong siêu khối"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "vùng s_zmap_blocks xấu trong siêu khối"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "Không thỠphân phối bộ đệm cho sơ đồ inode"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "Không thỠphân cấp bộ đệm cho sơ đồ vùng"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "Không thỠphân phối bộ đệm cho các inode"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "Không thỠphân phối bộ đệm cho việc đếm inode"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "Không thỠphân phối bộ đệm cho việc đếm vùng"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "Không thỠđọc sơ đồ inode"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "Không thỠđọc sơ đồ vùng"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "Không thỠđọc các inode"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Cảnh báo: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inode\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld khối\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Vùng_dữ_liệu_đầu_tiên=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Cỡ_vùng=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Cỡ_tối_đa=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Trạng thái hệ thống tập tin=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"namelen=%zd\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "inode %d đánh dấu không sử dụng, nhưng lại dùng cho tập tin '%s'\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "Dấu được dùng"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Táş­p tin `%s' cĂł cháşż Ä‘á»™ %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Cảnh báo: số đếm inode quá lớn.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "inode gốc không phải là một thư mục"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Khối đã được dùng. Bây giờ trong tập tin `%s'."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "XĂła"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Khối %d trong tập tin `%s' có dấu \"không dùng\"."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Sá»­a"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "Thư mục '%s' chứa một số hiệu inode xấu cho tập tin '%.*s'."
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " Bỏ"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: thư mục xấu: '.' không phải đứng đầu\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: thư mục xấu: '..' không phải đứng thứ hai\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "lá»—i ná»™i bá»™"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: thư mục xấu: kích cỡ < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "tìm nơi không thành công trong bad_zone (vùng_xấu)"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Inode %lu chưa được xóa."
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Chưa sử dụng %lu inode, còn đánh dấu \"đã dùng\" trong ảnh mảng."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "ÄĂŁ sá»­ dụng %lu inode, còn đánh dấu \"chĆ°a dĂąng\" trong ảnh mảng."
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "Äáş·t"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %lu (chế độ = %07o), i_nlinks=%d, số_lượng=%d."
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "Äáş·t i_nlinks cho số Ä‘áşżm"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "Vùng %lu: được đánh dấu là đang dùng, không tập tin nào dùng nó."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "Bỏ đánh dấu"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "Vùng %lu: không dùng, số lượng=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "Vùng %lu: không dùng, số lượng=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "kích cỡ inode xấu"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "kích cỡ inode v2 xấu"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "cần dùng thiết bị cuối cho những sửa chữa tương tác qua lại"
+
+#: disk-utils/fsck.minix.c:1305
+#, c-format
+msgid "cannot open %s: %s"
+msgstr "không thỠmở %s: %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s sạch sáş˝, khĂ´ng kiá»m tra.\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Bắt buá»™c kiá»m tra hệ thống táş­p tin trĂŞn %s.\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Hệ thống táş­p tin %s báş©n, cần kiá»m tra.\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inode được dùng (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld vùng được dùng (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d tập tin thông thường\n"
+"%6d thư mục\n"
+"%6d tập tin thiết bị ký tự\n"
+"%6d tập tin thiết bị khối\n"
+"%6d liĂŞn káşżt\n"
+"%6d liĂŞn káşżt má»m\n"
+"------\n"
+"%6d táş­p tin\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"HỆ THá»NG TẬP TIN BỊ THAY Äá»”I\n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr "lỗi tìm nơi trên %s"
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr "lỗi đọc trên %s"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "số rãnh ghi: %d, kích cỡ rãnh ghi: %d\n"
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+"%s [tùy_chọn] tên_tệp_tin_iso9660\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Tuỳ chọn:\n"
+" -d, --divisor=Sá» Sá» byte chia\n"
+" -x, --sectors hiá»n thị số rĂŁnh vĂ  kĂ­ch thĆ°á»›c\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -H, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr "đối số ước số không hợp lệ"
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Sử dụng: %s [ tùy_chọn... ] thiết_bị [số_lượng_khối]\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Tuỳ chọn:\n"
+" -N, --inodes=SỠchỉ định SỠmong muốn cho nút\n"
+" -V, --vname=TÊN chỉ định TÊN phân vùng\n"
+" -F, --fname=TÊN chỉ định TÊN hệ thống\n"
+" -v, --verbose giải thích đã làm những gì\n"
+" -c tuỳ chọn này đơn giản bị lờ đi\n"
+" -l tuỳ chọn này đơn giản bị lờ đi\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -V chỉ là tuỳ chọn\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr "số lượng nốt không hợp lệ"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "tên khối tin quá dài"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "tên hệ thống tập tin quá dài"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s không phải là thiết bị khối đặc biệt"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr "số lượng khối sai"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "không lấy được kích cỡ %s"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "đối số khối quá lớn, tối đa %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "quá nhiá»u inode - tối Ä‘a 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "không đủ chỗ trống, cần ít nhất %llu khối"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "Thiết bị: %s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Khối tin: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Tên hệ thống tập tin: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Kích cỡ khối: %d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Nốt: %lu (trong 1 khối)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inodes: %lu (trong %llu khối)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Khối: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Kết thúc inode: %d, Kết thúc dữ liệu: %d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "lỗi ghi nhớ siêu khối"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "lỗi ghi inode gốc"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "lá»—i ghi inode"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "lỗi tìm nơi"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "lỗi ghi mục nhập chấm (.)"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "lỗi ghi mục nhập chấm đôi (..)"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "lá»—i Ä‘Ăłng %s"
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "Sá»­ dụng: %s [TUỲ_CHỌN] [-t kiá»u_hệ_thống_táş­p_tin] thiáşżt_bị [kĂ­ch_cỡ]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE kiá»u hệ thống táş­p tin, khi ext2 chĆ°a rõ được sá»­ dụng\n"
+" fs-options các tham số cho bộ xây dựng hệ thống tập tin thực tế\n"
+" device đường dẫn tới thiết bị\n"
+" size số lượng khối trên thiết bị\n"
+" -V, --verbose giải thích đã làm những gì\n"
+" thĂŞm -V nhiá»u hơn má»™t Ä‘á» cĂł nhiá»u thĂ´ng tin hơn nữa\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -V chỉ là tuỳ chọn\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem mkfs(8).\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"sá»­ dụng: %s [-h] [-v] [-b cỡ_khối] [-e bản_in] [-N vá»_cuối] [-i táş­p_tin] [-n "
+"tên] tên_thư_mục tập_tin_ra\n"
+" -h hiá»n thị trợ giĂşp nĂ y\n"
+" -v xuất chi tiết\n"
+" -E làm cho mọi cảnh báo là lỗi (trạng thái thoát khác số không)\n"
+" -b cỡ_khối\tdùng kích cỡ khối này (phải bằng với kích cỡ trang)\n"
+" -e bản_in\tđặt số thứ tự bản in (phần của fsid)\n"
+" -N vá»_cuối\tÄ‘áş·t tình trạng cuối cramfs:\n"
+"\t\t\t• big\tvỠcuối lớn\n"
+"\t\t\t• little\tvỠcuối nhỏ\n"
+"\t\t\t• host\tmáy chủ (mặc định)\n"
+" -i tập_tin\tchèn một ảnh tập tin vào hệ thống tập tin (cần ≥2.4.0)\n"
+" -n tên\tđặt tên của hệ thống tập tin cramfs\n"
+" -p đệm theo %d byte cho mã khởi động\n"
+" -s sấp xếp các mục nhập thư mục (tùy chọn cũ thì bị lờ đi)\n"
+" -z tạo các lỗ dứt khoát (cần ≥2.3.39)\n"
+" tên_thư_mục\t\tgốc của hệ thống tập tin cần nén\n"
+" tập_tin_ra\t\ttập tin kết xuất\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr "không thỠđọc thư mục %s"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"Tìm thấy tập tin rất dài (%zu bytes) là `%s'.\n"
+" Xin hĂŁy tÄng giá trị \"MAX_INPUT_NAMELEN\" trong táş­p tin \"mkcramfs.c\" rồi "
+"biĂŞn dịch lại. Äang thoát."
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr "hệ thống táş­p tin quá lá»›n. Äang thoát."
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: khối \"Ä‘ĂŁ nĂ©n\" thĂ nh > 2*bá»_dĂ i_khối (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld byte)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr "khĂ´ng thá» Ä‘Ăłng táş­p tin %s"
+
+#: disk-utils/mkfs.cramfs.c:726
+msgid "invalid blocksize argument"
+msgstr "tham số blocksize (kích thước khối) không hợp lệ"
+
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr "xuất bản tham số số gặp lỗi"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+"kiá»u endian (hĆ°á»›ng lĆ°u trữ số) được chỉ ra khĂ´ng hợp lệ. Phải lĂ  'big', "
+"'little', hay 'host'"
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"cảnh báo: số ước lượng của kích cỡ yêu cầu (giới hạn trên) là %lld MB, nhưng "
+"kích cỡ ảnh lớn nhất là %uMB. Chúng ta có thỠchết non."
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "Sơ đồ ảnh ROM"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "Bao gồm: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dữ liệu thư mục: %zd byte\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Mọi thứ: %zd kilô byte\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Siêu khối: %zd byte\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr "không đủ khoảng trống phân cấp cho ảnh ROM (phân cấp %lld, dùng %zu)"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "Ảnh ROM"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "Lỗi ghi ảnh ROM (%zd %zd)"
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "cảnh báo: tên tập tin bị cắt ngắn thành 255 byte."
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr "cảnh báo: các tập tin bị bỏ qua vì có lỗi."
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "cảnh báo: kích cỡ tập tin bị cắt ngắn thành %luMB (trừ 1 byte)."
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"cảnh báo: uids bị cắt ngắn thĂ nh %u bit. (Äây cĂł thá» lĂ  sá»± lo ngại bảo máş­t.)"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+"cảnh báo: gids bị cắt ngắn thĂ nh %u bit. (Äây cĂł thá» lĂ  sá»± lo ngại bảo máş­t.)"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"CẢNH BĂO: số thiáşżt bị cắt ngắn thĂ nh %u bit. Äiá»u nĂ y gần chắc chắn cĂł "
+"nghĩa là\n"
+"một vài tập tin thiết bị sẽ bị hỏng."
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "Sử dụng: %s [-c | -l tên_tập_tin] [-nXX] [-iXX] /dev/tên [khối]"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s đã được gắn, sẽ không tạo hệ thống tập tin ở đây."
+
+#: disk-utils/mkfs.minix.c:197
+#, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr ""
+"%s: tìm tới khối khởi động không thành công trong write_tables (ghi các bảng)"
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%s: không xóa được rãnh ghi khởi động"
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "%s: tìm tới không thành công trong write_tables (ghi các bảng)"
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr "%s: không thỠghi siêu khối"
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr "%s: không thỠghi sơ đồ inode"
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr "%s: không thỠghi sơ đồ vùng"
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr "%s: không thỠghi các inode"
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s: tìm kiếm bị lỗi trong ghi_khối"
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr "%s: ghi không thành công trong write_block (ghi khối)"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr "%s: quá nhiá»u khối xấu"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr "%s: không đủ khối tốt"
+
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "%s: không thỠcấp phát vùng đệm cho siêu khối"
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "%s: không thỠphân phối các bộ đệm cho sơ đồ"
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "%s: Không thỠphân phối bộ đệm cho các inode"
+
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr "%lu nốt\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr "%lu khối\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Kích cỡ tối đa=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "%s: tìm tới không thành công trong khi thử các khối"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Giá trị kỳ lạ trong do_check (lĂ m kiá»m tra): cĂł thá» lĂ  lá»—i\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s: tìm tá»›i khĂ´ng thĂ nh cĂ´ng trong check_blocks (kiá»m tra khối)"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "%s: khối xấu trước vùng dữ liệu: không thỠtạo ra hệ thống tập tin"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d khối xấu\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "một khối xấu\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s: không mở được tập tin của các khối xấu"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "gặp lỗi nhập số khối xấu trên dòng %d\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s: không thỠđọc tập tin khối xấu"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr "%s: kích cỡ nút sai"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "lỗi strtol: không chỉ ra số khối"
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr "%s thiết bị không được đồng chỉnh"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "kích cỡ khối nhỏ hơn kích cỡ rãnh ghi vật lý của %s"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "không thỠquyết định kích cỡ của %s"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "sẽ không thử tạo hệ thống tập tin trên '%s'"
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr "%s: số lượng khối quá nhỏ"
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr "Sai kích cỡ trang do người dùng chỉ ra %u"
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+"Sử dụng kích cỡ trang do người dùng chỉ ra %d, thay cho giá trị hệ thống %d"
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr "Kích cỡ phần đầu xấu cho bộ nhớ trao đổi, không ghi nhãn nào."
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr "Nhãn bị cắt ngắn."
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "khĂ´ng nhĂŁn, "
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "khĂ´ng uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+"%s [TUỲ_CHỌN] thiết_bị [kích_cỡ]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -c, --check kiá»m tra khối hỏng trĆ°á»›c khi tạo vĂąng hoán "
+"chuyá»n\n"
+" -f, --force cho phĂ©p kĂ­ch thĆ°á»›c vĂąng hoán chuyá»n lá»›n hơn "
+"thiết bị\n"
+" -p, --pagesize SIZE chỉ định cỡ trang theo bytes\n"
+" -L, --label LABEL chỉ định nhãn\n"
+" -v, --swapversion NUM chỉ định số phiĂŞn bản cho vĂąng hoán chuyá»n\n"
+" -U, --uuid UUID chỉ định uuid\n"
+" -V, --version kết xuất thông tin phiên bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "quá nhiá»u trang xấu"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "tìm tá»›i khĂ´ng thĂ nh cĂ´ng trong check_blocks (kiá»m tra khối)"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "một trang xấu\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu trang xấu\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "không thỠcấp phát đoạn dò libblklid mới"
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr "khĂ´ng thá» gán thiáşżt bị cho bá»™ thÄm dò libblkid"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "không thỠ\"tua lại\" thiết bị trao đổi"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "không xoá được rãnh ghi bit khởi động"
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s: cảnh báo: đừng xoá rãnh ghi khởi động"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (%s phát hiện được bảng phân vùng). "
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " trĂŞn toĂ n Ä‘Ä©a. "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (biên dịch mà không có libblkid). "
+
+#: disk-utils/mkswap.c:489
+msgid "parse page size failed"
+msgstr "lỗi đặt kích cỡ trang"
+
+#: disk-utils/mkswap.c:495
+msgid "parse version number failed"
+msgstr "gặp lỗi khi phân tích số phiên bản"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr "cảnh báo: bỏ qua \"-U\" (UUIDs không được %s hỗ trợ)"
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr "không hỗ trợ swapspace phiên bản %d."
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "lỗi: không phân tích được cú pháp của UUID"
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr "lỗi: không có chỗ nào đỠthiết lập bộ nhớ trao đổi ?"
+
+#: disk-utils/mkswap.c:545
+msgid "invalid block count argument"
+msgstr "đối số chỉ ra số lượng khối không hợp lệ"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "lỗi: kích cỡ %llu KiB lớn hơn kích cỡ thiết bị %llu KiB"
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "lỗi: vùng trao đổi cần ít nhất %ld KiB"
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "cảnh báo: đang cắt ngắn vùng trao đổi thành %llu KiB"
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "lỗi: %s đã được gắn; sẽ không tạo vùng trao đổi."
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr "cảnh báo: %s không được đồng chỉnh"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Không thỠthiết lập vùng trao đổi: không thỠđọc"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Äang thiáşżt láş­p vĂąng trao đổi phiĂŞn bản 1, kĂ­ch cỡ = %llu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr " %s: không thỠghi trang chữ ký"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync bị lỗi"
+
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: không thỠlấy nhãn tập tin SELinux"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "khĂ´ng thá» matchpathcon()"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "không thỠtạo ngữ cảnh SELinux mới"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "không thỠtính ngữ cảnh SELinux"
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr "không thỠđổi nhãn của %s thành %s"
+
+#: disk-utils/partx.c:79
+msgid "partition number"
+msgstr "số của phân vùng"
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr "Ä‘iá»m đầu của phân vĂąng theo đơn vị rĂŁnh (sector)"
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr "Ä‘iá»m cuối của phân vĂąng theo đơn vị rĂŁnh (sector)"
+
+#: disk-utils/partx.c:82
+msgid "number of sectors"
+msgstr "số rãnh ghi"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr "định dạng kích thước cho người đọc"
+
+#: disk-utils/partx.c:84
+msgid "partition name"
+msgstr "tên phân vùng"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+msgid "partition UUID"
+msgstr "UUID phân vùng"
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr "kiá»u bảng phân vĂąng (dos, gpt, ...)"
+
+#: disk-utils/partx.c:87
+msgid "partition flags"
+msgstr "các cờ của phân vùng"
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr "kiá»u của phân vĂąng dạng tháş­p lục phân hay uuid"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+msgid "failed to initialize loopcxt"
+msgstr "gặp lỗi khi khởi tạo loopcxt"
+
+#: disk-utils/partx.c:110
+#, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s: tìm thiết bị vòng lặp chưa sử dụng gặp lỗi"
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "cố sử dụng '%s' cho thiết bị vòng lặp\n"
+
+#: disk-utils/partx.c:118
+#, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s: gặp lỗi khi đặt tập tin đứng sau"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s: gặp lỗi khi cài đặt thiết bị loop"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "khĂ´ng hiá»u cá»™t: %s"
+
+#: disk-utils/partx.c:200
+#, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s: gặp lỗi khi lấy số của phân vùng"
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr "%s: lỗi khi xoá bỏ phân vùng %d"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr "%s: lỗi khi xoá bỏ phân vùng %d-%d"
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr "vùng đã chỉ định <%d:%d> không tạo nên phân biệt HOA/thường"
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "%s: phân vùng #%d bị gỡ bỏ\n"
+
+#: disk-utils/partx.c:304
+#, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "%s: phân vùng #%d chưa tồn tại\n"
+
+#: disk-utils/partx.c:309
+#, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "%s: xoá phân vùng #%d gặp lỗi"
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr "%s: lỗi thêm phân vùng %d"
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "%s: lỗi khi thêm phân vùng %d-%d"
+
+#: disk-utils/partx.c:368
+#, c-format
+msgid "%s: partition #%d added\n"
+msgstr "%s: phân vùng #%d được thêm vào\n"
+
+#: disk-utils/partx.c:373
+#, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s: thêm phân vùng #%d gặp lỗi"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr "#%2d: %9ju-%9ju (%9ju rĂŁnh, %6ju MB)\n"
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr "không thêm được dòng vào kết xuất"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr "lỗi sơ khởi bảng kết xuất"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr "lỗi sơ khởi cột kết xuất"
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "gặp lỗi khi khởi tạo bộ lọc blkid cho '%s'"
+
+#: disk-utils/partx.c:585
+#, c-format
+msgid "%s: failed to read partition table"
+msgstr "%s: lỗi đọc khối phân vùng"
+
+#: disk-utils/partx.c:591
+#, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " %s: tìm thấy kiá»u bảng phân vĂąng '%s'\n"
+
+#: disk-utils/partx.c:595
+#, c-format
+msgid "%s: partition table with no partitions"
+msgstr "%s: bảng phân vùng không có phân vùng nào"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr " %s [-a|-d|-s] [--nr <n:m> | <phân vùng>] <đĩa>\n"
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --add thêm các phân vùng đã chỉ định hay tất cả chúng\n"
+" -d, --delete xoá các phân vùng đã chỉ định hay tất cả chúng\n"
+" -l, --list liệt kê các phân vùng (KHÔNG NÊN DÙNG NỮA)\n"
+" -s, --show liệt kê các phân vùng\n"
+"\n"
+" -b, --bytes hiá»n thị SIZE tĂ­nh theo byte thay vì định dạng Ä‘á» cho "
+"con người đọc\n"
+" -g, --noheadings khĂ´ng hiá»n thị tiĂŞu Ä‘á» cho tuỳ chọn --show\n"
+" -n, --nr <n:m> chỉ định một vùng các phân vùng (v.d --nr 2:4)\n"
+" -o, --output <type> định nghĩa cột nào sẽ được dùng\n"
+" -P, --pairs sử dụng khoá=\"giá trị\" làm định dạng kết xuất\n"
+" -r, --raw sử dụng kết xuất dạng thô\n"
+" -t, --type <type> chỉ định kiá»u phân vĂąng (dos, bsd, solaris, v.v..)\n"
+" -v, --verbose cháşż Ä‘á»™ hiá»n thị đầy đủ\n"
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+"\n"
+"Các cột sẵn dùng (cho --show, --raw hay --pairs):\n"
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr "lỗi khi phân tích phạm vi --nr <M-N>"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "--nr vĂ  <partition> (Ä‘iá»u vĂ o lại) loại từ láş«n nhau."
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr "phân vùng: %s, đĩa: %s, thấp: %d, cao: %d\n"
+
+#: disk-utils/partx.c:829
+#, c-format
+msgid "%s: cannot delete partitions"
+msgstr "%s: không thỠxoá các phân vùng"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "%s: thiết bị lặp (loop) đã phân vùng không được hỗ trợ"
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "%s: gáş·p lá»—i khi khởi tạo bá»™ thÄm dò blkid"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<thiếtbịkhối>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr " -q, --query đặt chế độ truy vấn\n"
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr " -a, --all truy vấn mọi thiết bị thô\n"
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+"Thiáşżt bị \"%s\" lĂ  thiáşżt bị thĂ´ Ä‘iá»u khiá»n (hĂŁy dĂąng thĂ´<N> mĂ  <N> lá»›n hơn "
+"số không)"
+
+#: disk-utils/raw.c:178
+#, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "Không thỠcấp phát thiết bị thô \"%s\""
+
+#: disk-utils/raw.c:181
+#, c-format
+msgid "Device '%s' is not a block device"
+msgstr "Thiết bị %s không phải thiết bị khối"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+msgid "failed to parse argument"
+msgstr "gặp lỗi khi phân tích đối số"
+
+#: disk-utils/raw.c:210
+#, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "Không thỠmở thiết bị chủ thô '%s'"
+
+#: disk-utils/raw.c:225
+#, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "Không thỠcấp phát thiết bị thô \"%s\""
+
+#: disk-utils/raw.c:228
+#, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "Thiết bị thô \"%s\" không phải một thiết bị ký tự"
+
+#: disk-utils/raw.c:232
+#, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "Thiết bị \"%s\" không phải một thiết bị thô"
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr "Lỗi hỏi thiết bị thô"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr "%sraw%d: biên hạn số lớn %d, nhỏ %d\n"
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr "Lỗi đặt thiết bị thô"
+
+#: disk-utils/resizepart.c:18
+#, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr " %s <thiết bị đĩa> <số phân vùng> <độ dài>\n"
+
+#: disk-utils/resizepart.c:98
+#, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s: gáş·p lá»—i khi lấy Ä‘iá»m bắt đầu của phân vĂąng số %s"
+
+#: disk-utils/resizepart.c:103
+msgid "failed to resize partition"
+msgstr "thay đổi kích thước phân vùng gặp lỗi"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr "%s: khĂ´ng thá» thÄm dò thiáşżt bị"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr "%s: káşżt quả thÄm dò khĂ´ng rõ, dĂąng wipefs(8)"
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s: không phải là một phân vùng trao đổi đúng"
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s: không hỗ trợ vùng trao đổi phiên bản \"%s\""
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr "lỗi phân tích UUID: %s"
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s: lỗi tìm nơi tới UUID trao đổi"
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s: lá»—i ghi nhá»› UUID"
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s: lỗi tìm nơi tới nhãn trao đổi"
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr "nhãn quá dài nên cắt ngắn nó thành \"%s\""
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr "%s: lá»—i ghi nhĂŁn"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+" -L, --label <nhãn> chỉ ra một nhãn mới\n"
+" -U, --uuid <uuid> chỉ ra một UUID mới\n"
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "bỏ qua -U (UUIDs không được hỗ trợ)"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Không đủ bộ nhớ.\n"
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "Không dùng được"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "Chỗ trống"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "ÄÄ©a Ä‘ĂŁ được thay đổi.\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Khởi động lại hệ thống đỠđảm bảo là bảng phân vùng được cập nhật đúng.\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"CẢNH BĂO: Náşżu bạn phải tạo hay sá»­ đổi bất kỳ\n"
+"phân vùng DOS 6.x nào, xin hãy xem hướng dẫn người\n"
+"dĂąng cfdisk Ä‘á» biáşżt thĂŞm thĂ´ng tin.\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "LỖI NGHIÊM TRỌNG"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "Hãy nhấn phím bất kỳ đỠthoát khỏi cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "Không thỠtìm nơi trên ổ đĩa"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "Không thỠđọc ổ đĩa"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "Không thỠghi vào ổ đĩa"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "Quá nhiá»u phân vĂąng"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "Phân vùng bắt đầu trước rãnh ghi 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "Phân vùng kết thúc trước rãnh ghi 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "Phân vùng bắt đầu trước kết-thúc-của-đĩa"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "Phân vùng bắt đầu sau kết-thúc-của-đĩa"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "Phân vùng lôgíc không theo thứ tự đĩa"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "phân vùng lôgíc chồng lên nhau"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "phân vùng lôgíc mở rộng chồng lên nhau"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "!!!! Lỗi nội bộ khi tạo các ổ lôgíc mà không có phân vùng mở rộng !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr "Không thỠtạo ổ lôgíc ở đây -- vì như thế sẽ tạo hai phân vùng mở rộng"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "Mục trình đơn quá dài. Trình đơn có thỠtrông lạc lõng."
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "Phím cấm"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "Nhấn một phím đỠtiếp tục"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "ChĂ­nh"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "Tạo một phân vùng chính mới"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "LĂ´gĂ­c"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "Tạo một phân vùng lôgíc mới"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "Hủy bỏ"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "Äừng tạo má»™t phân vĂąng"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! Lá»—i ná»™i bá»™ !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "Kích cỡ (theo MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "Äầu"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "Thêm một phân vùng tại đầu vùng đĩa trống"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "Cuối"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "Thêm một phân vùng tại cuối vùng đĩa trống"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "Không còn chỗ đỠtạo phân vùng mở rộng"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "Không có bảng phân vùng\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "Không có bảng phân vùng. Khởi động với một bảng trắng."
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "Chữ ký sai trong bảng phân vùng"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "KhĂ´ng hiá»u kiáş»u bảng phân vĂąng"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Bạn có muốn khởi động với một bảng trắng [c/K] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "Bạn đã đưa ra số hình trụ lớn hơn số có trên đĩa"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "Không thỠmở ổ đĩa"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Mở Ä‘Ä©a chỉ đọc - bạn khĂ´ng cĂł quyá»n ghi"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Cảnh báo!! Phát hiện GPT (bảng phân vùng GUID) không được hỗ trợ. Hãy dùng "
+"chương trình GNU Parted."
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "Không thỠlấy kích cỡ đĩa"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "Phân vùng chính xấu"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "Phân vùng lôgíc xấu"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "Cảnh báo!! Có thỠsẽ xóa hết dữ liệu trên đĩa của bạn."
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr "Bạn có chắc muốn ghi bảng phân vùng lên đĩa không? (có hoặc không): "
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "khĂ´ng"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Bảng phân vùng đã không được ghi lên đĩa"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "cĂł"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "Xin hĂŁy nháş­p \"cĂł\" hay \"khĂ´ng\""
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "Äang ghi bảng phân vĂąng lĂŞn Ä‘Ä©a..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "ÄĂŁ ghi bảng phân vĂąng lĂŞn Ä‘Ä©a"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"ÄĂŁ ghi bảng phân vĂąng, nhĆ°ng khĂ´ng đọc lại được bảng. HĂŁy chạy cĂ´ng cụ "
+"partprobe(8) hay kpartx(8), hoặc khởi động lại đỠcập nhật bảng."
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Không có phân vùng chính nào được đánh dấu có thỠkhởi động. MBR (mục ghi "
+"khởi động chủ) của DOS không thỠkhởi động trong trường hợp này."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Có vài phân vùng chính được đánh dấu là có thỠkhởi động. MBR (mục ghi khởi "
+"động chủ) của DOS không thỠkhởi động trong trường hợp này."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Nháş­p tĂŞn táş­p tin hoáş·c nhấn phĂ­m RETURN Ä‘á» hiá»n thị trĂŞn mĂ n hình: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "á»” Ä‘Ä©a: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "RĂŁnh ghi 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "RĂŁnh ghi %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " KhĂ´ng "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " ChĂ­nh/LĂ´gĂ­c"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " ChĂ­nh"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " LĂ´gĂ­c"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "KhĂ´ng hiá»u"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "Khởi động"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "KhĂ´ng"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Bảng Phân Vùng cho %s\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " Äầu Cuối\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Loại RĂŁnh ghi RĂŁnh ghi Hiệu Äá»™ dĂ i Kiá»u hệ thống táş­p "
+"tin (ID) Cờ\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ---Bắt đầu--- ----Káşżt thĂşc---- Äầu Số\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " #Cờ RĂŁnh Äầu Trụ ID RĂŁnh Äầu Trụ RĂŁnh ghi RĂŁnh ghi\n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "Thô sơ"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "In bảng ra sử dụng định dạng dữ liệu thô"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "RĂŁnh ghi"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "In bảng theo thứ tự rãnh ghi"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "Bảng"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "Chỉ in bảng phân vùng"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "Äừng in bảng phân vĂąng"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "Trợ giúp của cfdisk"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Äây lĂ  cfdisk, má»™t chương trình phân vĂąng Ä‘Ä©a dá»±a trĂŞn curses,"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "chương trình cho phép bạn tạo, xóa và sửa đổi các phân vùng trên"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "ổ đĩa cứng."
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Tác quyá»n © nÄm 1994-1999 của Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "Câu lệnh Ý nghĩa"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b Báş­t/tắt khả nÄng khởi Ä‘á»™ng của phân vĂąng hiện tại"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d Xóa phân vùng hiện thời"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+" g Thay đổi các tham số: cylinders (hình trụ), heads (đầu đọc), "
+"sectors-per-track (số rãnh ghi trên mỗi rãnh)"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " CẢNH BĂO: TĂąy chọn nĂ y chỉ dĂ nh cho những người dĂąng"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " đã có kinh nghiệm."
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h Hiá»n thị trợ giĂşp nĂ y"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m Äáş·t phân vĂąng hiện thời dĂąng vĂąng Ä‘Ä©a lá»›n nhất cĂł thá»"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " Chú ý: có thỠlàm cho phân vùng không tương thích với"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2, ..."
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n Tạo một phân vùng mới từ không gian trống"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p In ra màn hình hay ghi vào tập tin bảng phân vùng"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " Có vài định dạng khác nhau cho phân vùng"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " mà bạn có thỠchọn:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+" r - Dữ liệu thô (là những gì chính xác sẽ được ghi lên đĩa)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - Bảng theo thứ tự rãnh ghi"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - Bảng theo định dạng thô"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q Thoát khỏi chương trình và không ghi lại bảng phân vùng"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t Thay đổi loại hệ thống tập tin"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u Thay đổi đơn vị hiá»n thị kĂ­ch cỡ phân vĂąng"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " Luân phiên MB, các rãnh ghi và hình trụ"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W Ghi bảng phân vùng lên đĩa (cần nhập chữ W hoa)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " Vì câu lệnh có thỠhủy dữ liệu trên đĩa, bạn cần"
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr ""
+" hoặc đồng ý hoặc hủy bỏ việc ghi bằng các nhập \"có\" hoặc"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " \"khĂ´ng\""
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "MĹ©i tĂŞn lĂŞn Di chuyá»n con trỏ tá»›i phân vĂąng ở trĆ°á»›c"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "MĹ©i tĂŞn xuống Di chuyá»n con trỏ tá»›i phân vĂąng tiáşżp theo"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L Cập nhật màn hình"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? Hiá»n thị trợ giĂşp nĂ y"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Chú ý: Có thỠnhập tất cả các câu lệnh với chữ thường và chữ hoa"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "(ngoại trừ lệnh Write [ghi])."
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "Hình trụ"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "Thay đổi cấu trúc hình trụ"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "Äầu đọc"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "Thay đổi cấu trúc đầu đọc"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "Thay đổi cấu trúc rãnh ghi"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "Hoàn tất"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "Hoàn thành việc thay đổi cấu trúc"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "Nhập số hình trụ: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "Giá trị hình trụ cấm"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "Nhập số đầu đọc: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "Giá trị số đầu đọc cấm"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "Nhập số rãnh ghi trên mỗi rãnh: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "Giá trị số rãnh ghi cấm"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "Nhập loại hệ thống tập tin: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "Không thỠthay đổi loại hệ thống tập tin thành rỗng"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "Không thỠthay đổi loại hệ thống tập tin thành mở rộng"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Không_rõ(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "ChĂ­nh/LĂ´gĂ­c"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "KhĂ´ng hiá»u (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "á»” Ä‘Ä©a: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Kích cỡ: %lld byte, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Kích cỡ: %lld byte, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "Äầu đọc: %d RĂŁnh ghi má»—i rĂŁnh: %d Hình trụ: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "TĂŞn"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "Cờ"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "Loại phân vùng"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "Loại hệ thống"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[NhĂŁn]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " RĂŁnh ghi"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " Hình trụ"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " Kích cỡ (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " Kích cỡ (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "Không có thêm phân vùng nào nữa"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "Có thỠkhởi động"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "Báş·t tắt khả nÄng khởi Ä‘á»™ng của phân vĂąng hiện thời"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "Xoá"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "Xoá phân vùng hiện thời"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "Cấu trúc"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "Thay đổi cấu trúc đĩa (chỉ dành cho người có kinh nghiệm)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "Trợ giúp"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "Hiá»n thị mĂ n hình trợ giĂşp"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "Lớn nhất"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Äáş·t phân vĂąng hiện thời dĂąng vĂąng lá»›n nhất cĂł thá» trĂŞn Ä‘Ä©a (chỉ dĂ nh cho "
+"người có kinh nghiệm)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "Má»›i"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "Tạo một phân vùng mới từ vùng đĩa trống"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "In"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "In bảng phân vùng ra màn hình hay ghi vào tập tin"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "Thoát"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "Thoát chương trình và không ghi lại bảng phân vùng"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "Loại"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Thay đổi kiá»u hệ thống táş­p tin (DOS, Linux, OS/2 v.v...)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "Äơn vị"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Thay đổi đơn vị hiện thị kích cỡ phân vùng (MB, rãnh ghi, trụ)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "Ghi"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Ghi bảng phân vùng lên đĩa (có thỠhủy dữ liệu)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "Không thỠlàm cho phân vùng có thỠkhởi động"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "Không thỠxóa một phân vùng rỗng"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "KhĂ´ng thá» tÄng kĂ­ch cỡ lĂŞn lá»›n nhất phân vĂąng nĂ y"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "Phân vùng này không thỠsử dụng"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "Phân vùng này đã được sử dụng"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "Không thỠthay đổi loại của một phân vùng rỗng"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "Lệnh cấm"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Tác quyá»n © nÄm 1994-2002 của Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+"Hiện số phiên bản:\n"
+" %s -v\n"
+"Hiện bảng phân vùng:\n"
+" %s -P {r|s|t} [tùy chọn] thiết bị\n"
+"Dùng tương tác:\n"
+" %s [tùy chọn] thiết bị\n"
+"\n"
+"Tùy chọn:\n"
+"-a: sử dụng mũi tên thay cho hiện sáng;\n"
+"-z: Khởi động với bảng phân vùng rỗng thay vì đọc bảng phân vùng từ đĩa;\n"
+"-c C -h H -s S: Viết chèn lên số hình trụ, số đầu đọc và số\n"
+" rãnh ghi/rãnh theo quan niệm của nhân Linux.\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+msgid "cannot parse number of cylinders"
+msgstr "không thỠphân tích số trụ"
+
+#: fdisks/cfdisk.c:2789
+msgid "cannot parse number of heads"
+msgstr "không thỠphân tích số đầu từ"
+
+#: fdisks/cfdisk.c:2796
+msgid "cannot parse number of sectors"
+msgstr "không thỠphân tích số rãnh"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tCó một nhãn AIX hợp lệ trên đĩa này.\n"
+"\tKhĂ´ng may lĂ  hiện tại Linux khĂ´ng thá» Ä‘iá»u khiá»n\n"
+"\tnhững đĩa này. Tuy nhiên một vài\n"
+"\tlời khuyên:\n"
+"\t1. fdisk sẽ hủy hết nội dung đĩa khi ghi.\n"
+"\t2. Cần đảm bảo là đĩa này KHÔNG phải là phần\n"
+"\t quan trọng của một nhóm đĩa. (Nói cách khác bạn có\n"
+"\t thỠxóa các đĩa khác, nếu không tạo gương.)\n"
+"\t3. Trước khi xóa bộ đĩa vật lý này, cần phải\n"
+"\t xóa đĩa một cách lôgíc từ máy AIX.\n"
+"\t (Nói cách khác bạn trở thành AIXpert\n"
+"\t\t[chơi chữ với \"expert\" ;) ])."
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tXin lỗi - fdisk này không thỠquản lý nhãn đĩa AIX.\n"
+"\tNếu bạn muốn thêm các phân vùng dạng DOS, hãy tạo\n"
+"\tmột bảng phân vùng DOS rỗng trước. (Sử dụng o.)\n"
+"\tCẢNH BĂO: Ná»™i dung hiện thời của Ä‘Ä©a sáş˝ bị hủy.\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Nhãn BSD cho thiết bị: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Viáşżt nhĂŁn Ä‘Ä©a vĂ o %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "%s đầu tiên"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "%s cuối hay +size hay +sizeM hay +sizeK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s không chứa nhãn đĩa.\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Bạn có muốn tạo một nhãn đĩa? (c/k) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Phân vùng %s có một rãnh ghi bắt đầu 0 bị lỗi.\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Äọc nhĂŁn Ä‘Ä©a của %s tại rĂŁnh ghi %d.\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Không có phân vùng *BSD trên %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "Câu lệnh nhãn đĩa BSD (m đỠxem trợ giúp): "
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "loại: %s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "loại: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "Ä‘Ä©a: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "nhĂŁn: %.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "cờ:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " rời"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " rãnh ghi xấu"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte/rảnh ghi: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "rĂŁnh ghi/rĂŁnh: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "rãnh/trụ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "rãnh ghi/trụ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "trụ: %ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "vòng mỗi phút: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "xen káş˝: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "độ lệch rãnh: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "Äá»™ lệch trụ: %d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "bật đầu đọc: %ld\t\t# milli giây\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "tìm nơi từ rãnh tới rãnh: %ld\t# milli giây\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "dữ liệu ổ đĩa: "
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d phân vùng:\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr ""
+"# đầu cuối kích cỡ hệthống [cỡ_tệp cỡ_khối cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "byte/rĂŁnh ghi"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "rĂŁnh ghi/rĂŁnh"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "rãnh/trụ"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "trụ"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "rãnh ghi/trụ"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Phải ≤ số rãnh ghi/rãnh * số rãnh/trụ (mặc định).\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "vòng mỗi phút"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "xen káş˝"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "độ lệch rãnh"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "độ lệch trụ"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "bật đầu đọc"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "tìm nơi từ rãnh tới rãnh"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Trình mồi: %sboot -> boot%s (%s): "
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Trình mồi đè lên nhau với nhãn đĩa.\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Trình mồi được cài trên %s.\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Phân vùng (a-%c): "
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "ÄĂŁ tạo ra số phân vĂąng lá»›n nhất cho phĂ©p\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Phân vùng này đã có.\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Cảnh báo: cĂł quá nhiá»u phân vĂąng (%d, tối Ä‘a lĂ  %d).\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Äồng bá»™ các Ä‘Ä©a.\n"
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr "bật/tắt cờ có thỠkhởi động"
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr "bật/tắt cờ chỉ đọc"
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr "chọn phân vùng có thỠkhởi động"
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr "thay đổi số trụ vật lý thay thế"
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr "sá»­a nhĂŁn Ä‘Ä©a bsd"
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr "soạn thảo tập tin khởi động"
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr "di chuyá»n dữ liệu bÄt đầu trong má»™t phân vĂąng"
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr "bật cờ tương thích với DOS"
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr "bật/tắt cờ có thỠgắn"
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr "chọn phân vùng trao đổi sgi"
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr "thay đổi số trụ"
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr "xóa một phân vùng"
+
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr "in bảng ra dữ liệu thô của bảng phân vùng"
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr "thay đổi số rãnh ghi dự phòng trong mỗi trụ"
+
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr "liệt kê các phân vùng mở rộng"
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr "sửa dữ liệu ổ đĩa"
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr "sửa thứ tự phân vùng"
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr "tạo một bảng phân vùng IRIX (SGI)"
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr "thay đổi số đầu đọc"
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr "thay đổi hệ số xen kẽ"
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr "thay định danh nhận diện đĩa"
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr "cài đặt trình khởi động tự mồi"
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr "hiá»n thị loại phân vĂąng Ä‘ĂŁ biáşżt"
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr "hiá»n thị trình đơn nĂ y"
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr "thêm một phân vùng mới"
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr "tạo một bảng phân vùng DOS rỗng"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr "thay đổi tốc độ quay (rpm)"
+
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr "in ra bảng phân vùng"
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr "thoát và không ghi nhớ các thay đổi"
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr "quay lại trình đơn chính"
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr "tạo một nhãn đĩa Sun rỗng"
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr "thay đổi số rãnh ghi/rãnh"
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr "hiá»n thị toĂ n bá»™ nhĂŁn Ä‘Ä©a"
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr "thay đổi id hệ thống của phân vùng"
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr "thay đổi đơn vị hiá»n thị"
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr "kiá»m tra bảng phân vĂąng"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr "ghi bảng phân vùng lên đĩa và thoát"
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr "ghi nhớ nhãn đĩa lên ổ đĩa"
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr "các chức nÄng mở rá»™ng (chỉ dĂ nh cho người cĂł kinh nghiệm)"
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr "liên kết phân vùng BSD tới phân vùng không phải BSD"
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr "thay đổi số trụ vật lý"
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+"Sử dụng:\n"
+" %1$s [tuỳ_chọn] <đĩa> thay đổi bảng phân vùng\n"
+" %1$s [tuỳ_chọn] -l <đĩa> liệt kê (các) bảng phân vùng\n"
+" %1$s -s <phân_vùng> đưa ra (các) kích cỡ phân vùng theo khối\n"
+"\n"
+"Tuỳ chọn:\n"
+" -b <kích_cỡ> kích cỡ rãnh ghi (512, 1024, 2048 hay 4096)\n"
+" -c[=<chế_độ>] chế độ tương thích: \"dos\" hay \"nondos\" (mặc định)\n"
+" -h hiá»n thị trợ giĂşp\n"
+" -u[=<đơn_vị>] hiá»n thị đơn vị: \"cylnders\" (trụ) hay \"sectors\" (rĂŁnh "
+"ghi: mặc định)\n"
+" -v hiá»n thị số thứ tá»± phiĂŞn bản\n"
+" -C <số> ghi rõ số các trụ\n"
+" -H <số> ghi rõ số các đầu từ\n"
+" -S <số> ghi rõ số các rãnh ghi trên mỗi rãnh\n"
+"\n"
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr "không thỠđọc %s"
+
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr "không thỠtìm nơi trên %s"
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr "không ghi được %s"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl khĂ´ng thĂ nh cĂ´ng trĂŞn %s"
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr "lỗi nghiêm trọng"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "Tác dụng của câu lệnh"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "Bạn phải đặt"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "đầu đọc"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "rĂŁnh ghi"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Bạn cĂł thá» lĂ m việc nĂ y từ trình đơn chức nÄng mở rá»™ng.\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " vĂ  "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"CẢNH BĂO: Ä‘Ä©a nĂ y cĂł kĂ­ch cỡ %d.%d TB (%llu byte).\n"
+"Äịnh dạng bảng phân vĂąng DOS khĂ´ng dĂąng được\n"
+"trên ổ đĩa có khối tin lớn hơn (%llu byte) cho rãnh ghi %ld-byte.\n"
+"Hãy dùng công cụ parted(1) và định dạng bảng phân vùng GUID (GPT).\n"
+"\n"
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+"\n"
+"Thiết bị đưa ra một kích cỡ rãnh ghi hợp lý\n"
+"vẫn nhỏ hơn kích cỡ rãnh ghi vật lý.\n"
+"Äá» tránh hiệu suất bị giảm, cĂł nĂŞn sắp hĂ ng\n"
+"với một biên giới kích cỡ rãnh ghi vật lý (hay V/R tối ưu).\n"
+"\n"
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"CẢNH BĂO: cháşż Ä‘á»™ tương thĂ­ch vá»›i DOS bị phản đối.\n"
+"\tRất khuyên bạn tắt chế độ này (dùng lệnh \"c\")."
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+"\n"
+"CẢNH BĂO: hiá»n thị đơn vị trụ giờ bị phản đối.\n"
+"\tHĂŁy dĂąng lệnh \"u\" Ä‘á» chuyá»n đổi đơn vị sang rĂŁnh ghi.\n"
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr "Bạn thực sự muốn thoát không?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "Mã Hex (gõ L đỠliệt kê mã): "
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, mặc định %u): "
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Hấu tố không được hỗ trợ: \"%s\".\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"Hỗ trợ:\n"
+" • 10^N\n"
+"\tKB\tkilĂ´-byte\n"
+"\tMB\tmega-byte\n"
+"\tGB\tgiga-byte\n"
+" • 2^N\n"
+"\tK\tkibi-byte\n"
+"\tM\tmebi-byte\n"
+"\tG\tgibi-byte\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Sử dụng giá trị mặc định %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Giá trị vượt quá giới hạn.\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "Số thứ tự phân vùng"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Cảnh báo: phân vùng %d chưa phân loại\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Phân vùng được chọn %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Không có phân vùng được xác định!\n"
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "trụ"
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "rĂŁnh ghi"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "Äang chuyá»n đổi đơn vị hiá»n thị/nháş­p thĂ nh trụ (BỊ PHẢN Äá»I)\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "Äang chuyá»n đổi đơn vị hiá»n thị/nháş­p thĂ nh rĂŁnh ghi\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "CẢNH BĂO: Phân vĂąng %d lĂ  má»™t phân vĂąng mở rá»™ng\n"
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "Cờ tương thĂ­ch vá»›i DOS được láş­p (BỊ PHẢN Äá»I)\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Cờ tương thích DOS không được đặt\n"
+
+#: fdisks/fdisk.c:841
+#, c-format
+msgid "Partition %d is deleted\n"
+msgstr "Phân vùng %d dã bị xoá\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Phân vùng %d không tồn tại!\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Gõ 0 có nghĩa là không gian trống đối với\n"
+"nhiá»u hệ thống (nhĆ°ng vá»›i Linux thì khĂ´ng).\n"
+"Không nên có phân vùng với loại 0. Bạn có\n"
+"thỠxóa một phân vùng sử dụng câu lệnh `d'.\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Bạn không thỠthay đổi một phân vùng thành đồ mở rộng hoặc ngược lại.\n"
+"XĂła nĂł trĆ°á»›c.\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Nên đỠphân vùng 3 như Cả một đĩa (5),\n"
+"vì SunOS/Solaris đòi hỏi Ä‘iá»u nĂ y vĂ  tháş­m chĂ­ Linux thĂ­ch.\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Nên đỠphân vùng 9 như đầu một khối tin (0),\n"
+"và phân vùng 11 như cả một khối tin (6)\n"
+"theo yêu cầu của IRIX.\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "ÄĂŁ thay đổi loại hệ thống của phân vĂąng %d thĂ nh %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Kiá»u hệ thống của phân vĂąng %d chĆ°a thay đổi: %x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"Phân vĂąng %d cĂł Ä‘iá»m khởi đầu váş­t lĂ˝/lĂ´gĂ­c khác nhay (khĂ´ng phải Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " váş­t lĂ˝=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "lĂ´gĂ­c=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Phân vĂąng %d cĂł Ä‘iá»m cuối váş­t lĂ˝/lĂ´gĂ­c khác nhau:\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Phân vùng %i không kết thúc trên ranh giới trụ:\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "Phân vùng %i không bắt đầu ở biên giới rãnh ghi vật lý.\n"
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"ÄÄ©a %s: %ld MB, %lld byte"
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"ÄÄ©a %s: %ld.%ld GB, %llu bytes"
+
+#: fdisks/fdisk.c:1007
+#, c-format
+msgid ", %llu sectors\n"
+msgstr ", %llu rĂŁnh ghi\n"
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d đầu đọc, %llu rãnh ghi/rãnh, %llu trụ\n"
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "Äơn vị = %s of %d * %ld = %ld bytes\n"
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "Kích cỡ rãnh ghi (lôgíc/vật lý): %lu byte / %lu byte\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr "KĂ­ch cỡ V/R (tối thiá»u / tối Ć°u): %lu byte / %lu byte\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "Khoảng chênh sắp hàng: %lu byte\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Không cần làm gì. Thứ tự đã đúng sẵn.\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "Hoàn tất.\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Có vẻ như đây không phải là bảng phân vùng\n"
+"Có thỠbạn đã chọn nhầm thiết bị.\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s Khởi_Ä‘á»™ng Äầu Cuối Khối Id Hệ_thống\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "Thiết bị"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Các mục trong bảng phân vùng không theo thứ tự như trên đĩa\n"
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"ÄÄ©a %s: %d đầu đọc, %llu rĂŁnh ghi, %llu trụ\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr AF Äầu RĂŁnh Trụ Äầu RĂŁnh Trụ Bắt_đầu Cỡ ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Cảnh báo: phân vùng %d chứa rãnh ghi 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Phân vùng %d: đầu %d lớn hơn max %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Phân vùng %d: rãnh ghi %d lớn hơn tối đa %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "Phân vùng %d: trụ %d lớn hơn tối đa %llu\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Phân vùng %d: các rãnh ghi phía trước %d không hợp với tổng số %d\n"
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "Phân vĂąng %d kiá»u %s vĂ  kĂ­ch cỡ %s được Ä‘áş·t\n"
+
+#: fdisks/fdisk.c:1355
+msgid "cannot write disk label"
+msgstr "khĂ´ng thá» ghi nhĂŁn Ä‘Ä©a"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Bảng phân vùng đã được ghi!\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Gọi ioctl() đỠđọc lại bảng phân vùng.\n"
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"CẢNH BĂO: Thao tác đọc lại bảng phân vĂąng khĂ´ng thĂ nh cĂ´ng vá»›i lá»—i %d: %m.\n"
+"Nhân hệ Ä‘iá»u hĂ nh váş«n còn dĂąng bảng cĹ©. Bảng má»›i sáş˝ được dĂąng lần káşż tiáşżp "
+"khởi động,\n"
+"hoặc sau khi bạn chạy lệnh partprobe(8) hay kpartx(8).\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"CẢNH BĂO: Náşżu bạn Ä‘ĂŁ tạo hoáş·c sá»­a đổi bất kỳ phân vĂąng\n"
+"DOS 6.x nào, xin hãy xem trang hướng dẫn sử dụng man fdisk\n"
+"Ä‘á» biáşżt thĂŞm chi tiáşżt.\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Lá»—i Ä‘Ăłng táş­p tin\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Äang đồng bá»™ hoá các Ä‘Ä©a.\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Phân vùng %d không có vùng dữ liệu\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "Äiá»m bắt đầu dữ liệu má»›i"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "Câu lệnh nâng cao (m đỠxem trợ giúp): "
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "Số trụ"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "Số đầu đọc"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "Số rãnh ghi"
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "Cảnh báo: thiết lập khoảng bù rãnh ghi cho tương thích DOS\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"CẢNH BĂO: phát hiện GPT (bảng phân vĂąng GUID) trĂŞn \"%s\". Tiện Ă­ch fdisk "
+"không hỗ trợ GPT. Hãy dùng chương trình GNU Parted.\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "không thỠmở %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: khĂ´ng hiá»u câu lệnh\n"
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"Chào mừng bạn sử dụng fdisk (%s).\n"
+"\n"
+"Thay đổi chỉ diễn ra trong bộ nhớ, cho đến khi bạn quyết định ghi lại nó.\n"
+"Hãy cần thận trước khi chạy lệnh ghi lại.\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Tìm thấy một nhãn đĩa OSF/1 trên %s, nhập chế độ nhãn đĩa.\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "Câu lệnh (m đỠxem trợ giúp): "
+
+#: fdisks/fdisk.c:1821
+msgid "invalid sector size argument"
+msgstr "tham số kích thước rãnh (sector) không hợp lệ"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+msgid "invalid cylinders argument"
+msgstr "đối số trụ (cylinders) không hợp lệ"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+msgid "invalid heads argument"
+msgstr "đối số trụ () không hợp lệ"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+msgid "invalid sectors argument"
+msgstr "đối số rãnh ghi (sectors) không hợp lệ"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Cảnh báo: tùy chọn -b (đặt kích cỡ rãnh ghi) cần sử dụng với một thiết bị "
+"xác định\n"
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "Chú ý: kích thước rãnh ghi là %ld (không phải là %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "Thiết bị không chứa một bảng phân vùng hợp lệ\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Tất cả các phân vùng chính phải được xác định!\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Hiệu sai trong phân vùng mở rộng chính\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Cảnh báo: Bỏ sót các phân vùng sau #%d.\n"
+"Chúng sẽ bị xóa nếu bạn ghi nhớ bảng phân vùng này.\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Cảnh báo: Ä‘iá»m liĂŞn káşżt dá»± phòng trong bảng phân vĂąng %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Cảnh báo: bỏ qua dữ liệu dự phòng trong bảng phân vùng %d\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "đang bỏ quên phân vùng rỗng (%d)\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Äồ nháş­n diện Ä‘Ä©a: 0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr "Äang xây dá»±ng nhĂŁn Ä‘Ä©a DOS má»›i vá»›i định danh Ä‘Ä©a 0x%08x.\n"
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Äồ nháş­n diện Ä‘Ä©a má»›i (hiện thời 0x%08x): "
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Bỏ qua các phân vùng mở rộng dự phòng %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"Cảnh báo: cờ 0x%04x của bảng phân vùng %d bị lỗi sẽ được sửa bởi w(rite) "
+"(ghi nhá»›)\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+"Phân vùng %d đã được xác định. Hãy xóa nó trước khi thêm lại lần nữa\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Rãnh ghi %llu đã được phân phối\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Không còn rãnh ghi nào trống\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Cuối %1$s, +%2$s hay +kích_cỡ{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr "Thêm phân vùng logíc %d\n"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Cảnh báo: khởi-đầu-dữ-liệu xấu trong phân vùng %d\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Cảnh báo: phân vùng %d đè lên phân vùng %d.\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Cảnh báo: phân vùng %d rỗng\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Phân vùng lôgíc %d không hoàn toàn trong phân vùng %d\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Tổng số rãnh ghi phân phối %llu lớn hơn tối đa %llu\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "Còn lại %lld chưa được cấp phát %ld-by rãnh ghi\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, c-format
+msgid "All primary partitions are in use\n"
+msgstr "Tất cả các phân vùng cơ bản đã được sử dụng\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+"Náşżu bạn muốn tạo ra nhiá»u hơn bốn phân vĂąng, bạn phải Ä‘áş·t má»™t\n"
+"phân vùng cơ bản với một phân vùng, mở rộng trước.\n"
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Tất cả các phân vùng lôgíc được sử dụng\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Thêm phân vùng chính\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+"Kiá»u phân vĂąng:\n"
+" p cơ bản (%d cơ bản, %d mở rộng, %d trống)\n"
+"%s\n"
+"Chọn (mặc định là %c): "
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr " l logíc (tính bắt đầu từ 5)"
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr " e mở rộng"
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr "Sử dụng đáp ứng mặc định %c\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "Sai kiá»u phân vĂąng cho `%c'\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\tCó một nhãn Mac hợp lệ trên đĩa này.\n"
+"\tKhĂ´ng may lĂ  hiện tại fdisk(1) khĂ´ng thá» Ä‘iá»u khiá»n\n"
+"\tnhững đĩa này. Dùng hoặc pdisk hoặc parted\n"
+"đỠsửa đổi bảng phân vùng.\n"
+"\n"
+"Tuy nhiên một vài lời khuyên:\n"
+"\t1. fdisk sẽ hủy hết nội dung đĩa khi ghi.\n"
+"\t2. Cần đảm bảo là đĩa này KHÔNG phải là phần\n"
+"\t quan trọng của một nhóm đĩa. (Nói cách khác bạn có\n"
+"\t thỠxóa các đĩa khác, nếu không tạo gương.)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\tXin lỗi - fdisk này không thỠquản lý nhãn đĩa Mac.\n"
+"\tNếu bạn muốn thêm các phân vùng dạng DOS, hãy tạo\n"
+"\tmột bảng phân vùng DOS rỗng trước. (Sử dụng \"o\".)\n"
+"\tCẢNH BĂO: Ná»™i dung hiện thời của Ä‘Ä©a sáş˝ bị hủy.\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI thĂ´"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "Khối tin SGI"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Trao đổi Linux"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux sở hữu"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"TĂąy theo MIPS Computer Systems, Inc. thì NhĂŁn khĂ´ng được chứa nhiá»u hơn 512 "
+"byte\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Tìm thấy nhĂŁn Ä‘Ä©a sgi vá»›i tổng kiá»m tra (checksum) sai.\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ÄÄ©a %s (nhĂŁn Ä‘Ä©a SGI): %d đầu từ, %llu rĂŁnh ghi\n"
+"%llu trụ, %d trụ vật lý\n"
+"%d rãnh ghi/trụ thêm, xen kẽ %d:1\n"
+"%s\n"
+"Äơn vị = %s của %d * %ld byte\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ÄÄ©a %s (nhĂŁn Ä‘Ä©a SGI ): %d đầu đọc, %llu rĂŁnh ghi, %llu trụ\n"
+"Äơn vị = %s trĂŞn %d * %ld byte\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- các phân vùng -----\n"
+"Pv# %*s ThTin Äầu Cuối RĂŁnh ghi Id Hệ thống\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Thông tin khởi động -----\n"
+"Tập tin khởi động: %s\n"
+"----- Thư mục -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s rãnh ghi %5u cỡ %8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Tập tin khởi động bị lỗi!\n"
+"\tTập tin khởi động phải là một tên đường dẫn tuyệt đối không rỗng,\n"
+"\tv.d. \"/unix\" hay \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tTên của Tập tin khởi động quá dài: max là 16 byte.\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tTập tin khởi động phải có đường dẫn đầy đủ.\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tCần biáşżt ráş±ng táş­p tin khởi Ä‘á»™ng khĂ´ng được kiá»m tra tồn tại.\n"
+"\tMặc định SGI là \"/unix\" và sao lưu là \"/unix.save\".\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Tập tin khởi động hiện thời là: %s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "Xin hãy nhập tên của tập tin khởi động mới: "
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Tập tin khởi động không thay đổi\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tTập tin khởi động được thay đổi thành \"%s\".\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "CĂł nhiá»u hơn má»™t mục Ä‘Ä©a.\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Không có phân vùng nào được định nghĩa\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "Thích hợp với IRIX khi Phân vùng 11 bao bọc cả một đĩa.\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Phân vùng chứa cả một đĩa phải bắt đầu tại khối 0,\n"
+"chứ không phải tại khối %d.\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Phân vùng chứa cả một đĩa chỉ gồm %d khối,\n"
+"trong khi đĩa chứa %d khối.\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "Phân vùng 11 bao bọc cả một đĩa.\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Phân vùng %d không bắt đầu trên ranh giới trụ.\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Phân vùng %d không kết thúc trên rang giới trụ.\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Phân vùng %d và %d chèn lên nhau %d rãnh ghi.\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Khoảng trống không sử dụng %8u rãnh ghi - rãnh ghi %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Phân vùng khởi động không tồn tại.\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Phân vùng trao đổi không tồn tại.\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Phân vĂąng trao đổi cĂł hệ thống táş­p tin khĂ´ng phải kiá»u trao đổi.\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tBạn đã chọn một tên tập tin khởi động lạ.\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "Rất tiếc, nhưng chỉ phân vùng không rỗng mới có thỠthay đổi cờ.\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Rất khuyên dùng là phân vùng tại hiệu 0 có loại là\n"
+"\"SGI volhdr\", hệ thống IRIX sẽ dựa trên đó đỠlấy từ thư\n"
+"mục đó các công cụ đơn lẻ như sash và fx. Chỉ có các \"khối tin SGI\"\n"
+"chứa cả một đĩa mới nằm ngoại lệ. Gõ CÓ nếu bạn chắc chắn muốn đặt\n"
+"thẻ khác cho phân vùng này.\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "YES\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "Các phân vùng chồng lên nhau trên cùng một đĩa.\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Thử tự động phân vùng cả đĩa.\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Ổ đĩa đã chứa các phân vùng.\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Bạn có một phân vùng đè lên nhau trên ổ đĩa. Hãy sửa trước!\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Rất khuyên dùng khi phân vùng số mười một chứa\n"
+"cả ổ đĩa và có loại \"khối tin SGI\".\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Bạn sẽ có một phân vùng đè lên nhau trên ổ đĩa. Hãy sửa trước!\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " %s cuối"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr "Äang tạo má»™t nhĂŁn Ä‘Ä©a SGI má»›i.\n"
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "HDIO_GETGEO ioctl gáş·p lá»—i trĂŞn %s"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Cảnh báo: BLKGETSIZE ioctl gặp lỗi trên %s. Sử dụng giá trị cấu trúc trụ là "
+"%llu.\n"
+"Giá trị này có lẽ bị cắt cụt cho thiết bị > 33.8 GB.\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tÄẦU=%d\tÄá» DĂ€I=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "Äang cố giữ lại các tham số của phân vĂąng Ä‘ĂŁ được Ä‘áş·t sáşµn.\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "Chưa gán"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "Gốc SunOS"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "Trao đổi SunOS"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "Cả đĩa"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "RĂŁnh ghi thay tháşż SunOS"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "Hệ thống tập tin nhớ tạm SunOS"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "DĂ nh riĂŞng SunOS"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Tá»± Ä‘á»™ng nháş­n ra Linux raid"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"ÄĂŁ nháş­n ra nhĂŁn Ä‘Ä©a sun vá»›i tổng kiá»m tra checksum\n"
+"lỗi. Có thỠbạn phải đặt lại tất cả các giá trị,\n"
+"v.d. đầu đọc, rãnh ghi, trụ và phân vùng hoặc\n"
+"bắt buộc một nhãn mới (câu lệnh \"s\" trong trình đơn chính)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Tìm thấy nhãn đĩa Sun có phiên bản sai [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Tìm thấy nhãn đĩa Sun với sự đúng mực sai [0x%08x].\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Tìm thấy nhãn đĩa Sun với số phân vùng (num_partitions) sai [%u].\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Cảnh báo: các giá trị không đúng cần phải được sửa chữa nên sẽ được sửa bởi w"
+"(rite) (ghi nhá»›)\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "tạo một nhãn đĩa Sun rỗng.\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "RĂŁnh ghi/rĂŁnh"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Phân vùng %d không kết thúc trên ranh giới trụ\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Phân vùng %d đè lên nhau với các phân vùng khác trên rãnh ghi %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Khoảng trống không sử dụng - rãnh ghi 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Khoảng trống không sử dụng - rãnh ghi %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Các phân vùng khác đã chứa cả đĩa.\n"
+"Hãy xóa hay thu nhỏ chúng trước khi thử lại.\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"Rất khuyên đặt phân vùng thứ ba chiếm toàn bộ đĩa\n"
+"vĂ  cĂł kiá»u \"ToĂ n Ä‘Ä©a\" (Whole disk).\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Rãnh ghi %d đã được phân phối\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Phân vùng thứ 3 không chứa cả ổ đĩa, nhưng các giá trị %d %s đè lên\n"
+"một số phân vùng khác. Các mục đã thay đổi thành %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"Nếu bạn muốn duy trì một đĩa tương thích với SunOS/Solaris, thì cần đỠphân\n"
+"vùng này là Cả đĩa (5), bắt đầu từ 0, với %u rãnh ghi\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Rất khuyên dùng phân vùng tại offset 0 có hệ thống tập tin\n"
+"UFS, EXT2FS hay swap SunOS. Nếu đặt thành vùng trao đổi của Linux thì\n"
+"có thỠhủy bảng phân vùng của bạn và khối khởi động.\n"
+"Gõ CÓ nếu bạn chắc chắn muốn đặt phân vùng đó có thẻ\n"
+"82 (vùng trao đổi của Linux): "
+
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ÄÄ©a %s (nhĂŁn Ä‘Ä©a Sun): %u đầu đọc, %llu rĂŁnh ghi, %d vòng/phĂşt\n"
+"%llu trụ, %d trụ xen kẽ, %d trụ vật lý\n"
+"%d rãnh ghi/trụ thêm, độ xen kẽ %d:1\n"
+"ID nhĂŁn: %s\n"
+"ID vĂąng: %s\n"
+"Äơn vị = %s trĂŞn %d * 512 byte\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ÄÄ©a %s (nhĂŁn Ä‘Ä©a Sun): %u đầu đọc, %llu rĂŁnh ghi, %llu trụ\n"
+"Äơn vị = %s trĂŞn %d * 512 byte\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s Cờ Äầu Cuối Khối Id Hệ thống\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "Số trụ xen kẽ"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "Số rãnh ghi dự phòng mỗi trụ"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "Hệ số xen kẽ"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "Tốc độ quay (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "Số trụ vật lý"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Rá»—ng"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX gốc"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Mở rộng"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS/exFAT"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "ATX có thỠkhởi động"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Quản lý khởi động"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 áş©n"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Chuẩn đoán Compaq"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 áş©n <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 áş©n"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS áş©n"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "W95 FAT32 áş©n"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "W95 FAT32 áş©n (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA) áş©n"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr "NTFS WinRE áş©n"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "Khôi phục PartitionMagic"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "Khởi động PPC PReP"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x phần 2"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x phần 3"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD hay SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "Bảomáş­tÄ‘Ä©a Äa-khởi-Ä‘á»™ng"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Minix cũ"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minux / Linux cũ"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Trao đổi Linux / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 ổ đĩa C: ẩn"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux mở rộng"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "Bộ khối tin NTFS"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux nháş­p thĂ´"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "Ngủ động của IBM Thinkpad"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Khởi động Darwin"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "Hệ thống tập tin BSDI"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "Trao đổi BSDI"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "Thuật sĩ khởi động ẩn"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Khởi động Solaris"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Dữ liệu không phải FS"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Công cụ Dell"
+
+# Name: don't translate/Tên: đừng dịch
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "Truy cáş­p DOS"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O (chỉ đọc)"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "Hệ thống tập tin BeOS"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Khởi động Linux/PA-RISC"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS phụ"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+# Name: don't translate/Tên: đừng dịch
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "lỗi tìm kiếm trên %s - không thỠtìm tới %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "lỗi tìm nơi: cần 0x%08x%08x, nhận được 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "lỗi đọc trên %s - không thỠđọc rãnh ghi %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "lá»—i ghi trĂŞn %s - khĂ´ng thá» ghi rĂŁnh ghi %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "không thỠmở phân vùng rãnh ghi ghi tập tin (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "lá»—i ghi trĂŞn %s\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "không thỠxác định tập tin phục hồi phân vùng (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "tập tin phục hồi phân vùng có kích cỡ sai - không phục hồi\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "không thỠmở tập tin phục hồi phân vùng (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "lỗi đọc %s\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "không thỠmở thiết bị %s đỠghi\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "lá»—i ghi rĂŁnh ghi %lu trĂŞn %s\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "ÄÄ©a %s: khĂ´ng thá» lấy cấu trĂşc\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "ÄÄ©a %s: khĂ´ng thá» lấy kĂ­ch cỡ\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"Cảnh báo: đầu=%lu - giống một phân vùng hơn là cả một đĩa.\n"
+"Sử dụng fdisk có thỠkhông có ý nghĩa gì.\n"
+"[Sử dụng tùy chọn --force nếu bạn thực sự muốn]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Cảnh báo: HDIO_GETGEO nói có %lu đầu đọc\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Cảnh báo: HDIO_GETGEO nói có %lu rãnh ghi\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Cảnh báo: BLKGETSIZE/HDIO_GETGEO nói có %lu trụ\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Cảnh báo: không giống số sector (%lu) - thường là 63\n"
+"Sáş˝ nảy sinh vấn Ä‘á» vá»›i tất cả phần má»m sá»­ dụng việc đánh địa chỉ C/H/S.\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"ÄÄ©a %s: %lu trụ, %lu đầu đọc, %lu rĂŁnh ghi/rĂŁnh\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+"%s của phân vùng %s có số đầu đọc không thỠcó: %lu (phải trong khoảng 0-"
+"%lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+"%s của phân vùng %s có số rãnh ghi không thỠcó: %lu (phải trong khoảng 1-"
+"%lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+"%s của phân vùng %s có số trụ không thỠcó: %lu (phải trong khoảng 1-%lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"Id TĂŞn\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Äang đọc lại bảng phân vĂąng ...\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"Lỗi chạy câu lệnh đọc lại bảng phân vùng.\n"
+"Hãy chạy công cụ partprobe(8) hay kpartx(8),\n"
+"hoặc khởi động lại hệ thống ngay bây giờ,\n"
+"trĆ°á»›c khi dĂąng mkfs.\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Lá»—i Ä‘Ăłng %s\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: không có phân vùng như vậy\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "định dạng không nhận ra - sử dụng rãnh ghi\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "định dạng chưa hỗ trợ - sử dụng %s\n"
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Äơn vị: trụ %lu byte, khối 1024 byte, Ä‘áşżm từ %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " Thiáşżt bị Khởi Ä‘á»™ng Äầu Cuối #trụ #khối Id Hệ thống\n"
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Äơn vị: sector 512 byte, Ä‘áşżm từ %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " Thiáşżt bị Khởi Ä‘á»™ng Äầu Cuối #rĂŁnh ghi Id Hệ thống\n"
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Äơn vị: khối 1024 byte, Ä‘áşżm từ %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " Thiáşżt bị Khởi Ä‘á»™ng Äầu Cuối #Khối Id Hệ thống\n"
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Äơn vị: 1MiB = 1024*1024 bytes, khối các 1024 byte, Ä‘áşżm từ %d\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " Thiáşżt bị Khởi Ä‘á»™ng Äầu MiB #Khối Id Hệ thống\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tđầu: (c,h,s) mong đợi (%ld,%ld,%ld) tìm thấy (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tcuối: (c,h,s) mong đợi (%ld,%ld,%ld) tìm thấy (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "phân vĂąng káşżt thĂşc trĂŞn trụ %ld, vượt quá Ä‘iá»m cuối của Ä‘Ä©a\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "Không tìm thấy phân vùng nào\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Cảnh báo: Bảng phân vùng có vẻ như được tạo ra\n"
+"với C/H/S=*/%ld/%ld (thay vì %ld/%ld/%ld).\n"
+"Tôi sẽ thừa nhận cấu trúc đó cho danh sách này.\n"
+
+#: fdisks/sfdisk.c:1166
+msgid "no partition table present."
+msgstr "không có bảng phân vùng nào."
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr "kỳ lạ, chỉ có %d phân vùng xác định."
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Cảnh báo: phân vùng %s có kích cỡ 0 nhưng không được đánh dấu rỗng\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Cảnh báo: phân vùng %s có kích cỡ 0 và có thỠkhởi động\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Cảnh báo: phân vĂąng %s cĂł kĂ­ch cỡ 0 vĂ  Ä‘iá»m đầu khác 0\n"
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "Cảnh báo: phân vùng \"%s\" không được chứa trong phân vùng %s\n"
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "Cảnh báo: phân vùng %s và %s chồng lên nhau\n"
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Cảnh báo: phân vùng %s chứa một phần của bảng phân vùng (rãnh ghi %llu),\n"
+"vĂ  sáş˝ phá hủy nĂł khi được Ä‘iá»n đầy\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Cảnh báo: phân vùng %s bắt đầu tại rãnh ghi 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Cảnh báo: phân vĂąng %s kĂ©o dĂ i quá Ä‘iá»m cuối Ä‘Ä©a\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+"Cảnh báo: phân vung %s có kích thước %d.%d TB (%llu bytes),\n"
+"mà nó lớn hơn giới hạn %llu bytes bị bắt buộc\n"
+"bởi bảng phân vĂąng kiá»ue DOS cho %d-byte rĂŁnh (sectors)\n"
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+"Cảnh báo: phân vùng %s bắt đầu tại rãnh (sector) %llu (%d.%d TB cho %d-byte "
+"sectors),\n"
+"mĂ  nĂł Ä‘ĂŁ vượt giá»›i hạn bảng phân vĂąng kiá»u DOS của %llu rĂŁnh (sector)\n"
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"Trong số các phân vĂąng chĂ­nh, nhiá»u nhất chỉ cĂł má»™t lĂ  mở rá»™ng\n"
+" (mặc dù đây không phải là vấn đỠdưới Linux)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Cảnh báo: phân vùng %s không bắt đầu trên ranh giới trụ\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Cảnh báo: phân vùng %s không kết thúc trên ranh giới trụ\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Cảnh báo: cĂł nhiá»u hơn má»™t phân vĂąng chĂ­nh được đánh dấu cĂł thá» khởi\n"
+"Ä‘á»™ng. Äây khĂ´ng phải lĂ  vấn đỠđối vá»›i LILO, nhĆ°ng MBR của DOS sáş˝ khĂ´ng\n"
+"khởi động đĩa này.\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Cảnh báo: thông thường người dùng chỉ có thỠkhởi động từ phân vùng\n"
+"chính. LILO không quan tâm đến cờ \"có thỠkhởi động\".\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Cảnh báo: không có phân vùng chính nào được đánh dấu có thỠkhởi\n"
+"Ä‘á»™ng. Äây khĂ´ng phải lĂ  vấn đỠđối vá»›i LILO, nhĆ°ng MBR của DOS sáş˝ khĂ´ng\n"
+"khởi động đĩa này.\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "đầu"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"phân vùng %s: đầu: (c,h,s) mong đợi (%ld,%ld,%ld) tìm thấy (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "cuối"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"phân vùng %s: cuối: (c,h,s) mong đợi (%ld,%ld,%ld) tìm thấy (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "phân vĂąng %s káşżt thĂşc trĂŞn trụ %ld, vượt quá Ä‘iá»m cuối của Ä‘Ä©a\n"
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Cảnh báo: dịch chuyá»n đầu của phân vĂąng mởi rá»™ng từ %lld tá»›i %lld\n"
+" (Chỉ với mục đích liệt kê. Không thay đổi nội dung.)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Cảnh báo: phân vùng mở rộng không bắt đầu trên ranh giới trụ.\n"
+"DOS và Linux sẽ biên dịch nội dung một cách khác nhau.\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "LỖI: rãnh ghi %lu không có dấu hiệu của msdos\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "quá nhiá»u phân vĂąng - bỏ qua những phân vĂąng sau nr (%ld)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "cây phân vùng?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "tìm thấy Trình Quản LĂ˝ ÄÄ©a - khĂ´ng thá» Ä‘iá»u khiá»n nĂł\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "Không tìm thấy dấu hiệu DM6 - dừng lại\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "kỳ lạ..., một phân vùng mở rộng với kích cỡ 0?\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "kỳ lại..., một phân vùng BSD với kích cỡ 0?\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: loại bảng phân vùng không nhận ra\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "đã đưa ra cờ -n: Không có gì thay đổi\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Lỗi ghi rãnh ghi cũ - đang dừng lại\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Lỗi ghi phân vùng trên %s\n"
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr "dòng nhập vào dài hay không đầy đủ - đang thoát"
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "lỗi nhập: `=' được mong đợi sau trường %s"
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "lỗi nhập: mong đợi ký tự %c sau vùng %s"
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr "dữ liệu vào không nhận ra: %s"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "số quá lớn\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "đuôi bỏ đi sau một số\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "không có chỗ cho mô tả phân vùng\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "không thỠtạo phân vùng mở rộng bao quanh\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "quá nhiá»u vĂąng nháş­p vĂ o\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "Không còn chỗ trống\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "Loại không cho phép\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "Cảnh báo: kích cỡ đưa ra (%lu) vượt quá kích cỡ max cho phép (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "Cảnh báo: phân vùng rỗng\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Cảnh báo: Ä‘iá»m đầu phân vĂąng xấu (trĆ°á»›c %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "cờ có thỠkhởi động không nhận ra - chọn - hay *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "Äáş·c Ä‘iá»m phân vĂąng c,h,s?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "Phân vùng mở rộng không ở chỗ mong đợi\n"
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr "dữ liệu vào xấu"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "quá nhiá»u phân vĂąng\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Dữ liệu vào trong định dạng sau; dùng giá trị mặc định cho chỗ thiếu\n"
+"<đầu> <kíchthước> <loại [E,S,L,X,hex]> <khởiđộng [-,*]> <c,h,s> <c,h,s>\n"
+"Thông thường bạn chỉ cần chỉ rõ <đầu> và <kíchthước> (và có thỠ<loại>).\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+
+#: fdisks/sfdisk.c:2368
+#, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "%s [tùy chọn] <thiết bị> [...]\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Tuỳ chọn:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+" -s, --show-size liệt kê kích thước của một phân vùng\n"
+" -c, --id thay đổi hay hiá»n thị Id phân vĂąng\n"
+" --change-id thay đổi Id\n"
+" --print-id hiá»n thị Id\n"
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+" -l, --list liệt kê các phân vùng của từng thiết bị\n"
+" -d, --dump như trên, nhưng ở định dạng phù hợp làm đầu vào "
+"sau nĂ y\n"
+" -i, --increment số trụ ví dụ từ 1 thay vì từ 0\n"
+" -u, --unit <đơn vị> kiá»u đơn vị sáş˝ được sá»­ dụng; <đơn vị> cĂł thá» lĂ  "
+"má»™t trong\n"
+" S (sectors), C (cylinders), B (blocks), hay M "
+"(MB)\n"
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+" -1, --one-only tuỳ chọn dự trữ này hiện tại không làm gì cả\n"
+" -T, --list-types liệt kĂŞ các kiá»u phân vĂąng\n"
+" -D, --DOS dành đỠtương thích với DOS: hơi tốn không gian "
+"má»™t chĂşt\n"
+" -E, --DOS-extended tương thích với phân vùng mở rộng DOS\n"
+" -R, --re-read làm cho nhân có thỠđọc bảng phân vùng\n"
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+" -N <số> thay đổi chỉ với phân vùng với <số> này\n"
+" -n khĂ´ng thá»±c sá»± ghi vĂ o Ä‘Ä©a\n"
+" -O <tập-tin> ghi các liên cung mà nó sẽ bị ghi đè vào <tập-"
+"tin>\n"
+" -I <tập-tin> phục hồi các liên cung từ <tập-tin>\n"
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -V, --verify kiá»m tra xem bảng phân vĂąng Ä‘ĂŁ liệt kĂŞ cĂł hợp lĂ˝ "
+"khĂ´ng\n"
+" -v, --version hiá»n thị thĂ´ng tin phiĂŞn bản vĂ  thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+
+#: fdisks/sfdisk.c:2393
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn nguy hiá»m:\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+" -f, --force tắt tất cả việc kiá»m tra nhất quán\n"
+" --no-reread khĂ´ng kiá»m tra dĂą phân vĂąng Ä‘ang sá»­ dụng\n"
+" -q, --quiet cấm các thông tin cảnh báo\n"
+" -L, --Linux khĂ´ng phĂ n nĂ n vá» những Ä‘iá»u khĂ´ng thĂ­ch hợp cho "
+"hệ Ä‘iá»u hĂ nh Linux\n"
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+" -g, --show-geometry hiá»n thị Ă˝ kiáşżn của nhân vá» hình thái\n"
+" -G, --show-pt-geometry hiá»n thị hình thái Ć°á»›c Ä‘oán từ bảng phân vĂąng\n"
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -A, --activate[=<device>] kích hoạt cờ khởi động\n"
+" -U, --unhide[=<dev>] đặt phân vùng thành không ẩn\n"
+" -x, --show-extended đồng thời liệt kê các phân vùng mở rộng trong kết "
+"xuất\n"
+" hay các mô tả mong đợi cho chúng trong đầu "
+"vĂ o\n"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+" --leave-last không cấp phát trụ cuối cùng\n"
+" --IBM giống như --leave-last\n"
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+" --in-order các phân vùng theo thứ tự\n"
+" --not-in-order các phân vùng không theo thứ tự\n"
+" --inside-outer tất cả các phân vùng lôgíc ở trong phần mở rộng "
+"ngoĂ i cĂąng\n"
+" --not-inside-outer ngược với --inside-outer\n"
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+" --nested mọi phân vùng rời với các cái khác\n"
+" --chained giống với nested, nhưng phân vùng mở rộng có thỠ"
+"ở bên ngoài\n"
+" --onesector các phân vùng rời lẫn nhau\n"
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+"\n"
+"Ghi đè hình học đã dò tìm thấy sử dụng:\n"
+" -C, --cylinders <số> đặt số trụ đỠsử dụng\n"
+" -H, --heads <số> đặt số đầu từ đỠsử dụng\n"
+" -S, --sectors <số> đặt số rãnh (sector) đỠsử dụng\n"
+"\n"
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "Sử dụng:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s thiết bị\t\t liệt kê phân vùng kích hoạt trên thiết bị\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s thiết bị n1 n2 ... kích hoạt phân vùng n1 ..., bỏ kích hoạt phần còn lại\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An thiết bị\t kích hoạt phân vùng n, bỏ kích hoạt những cái khác\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"CẢNH BĂO: phát hiện GPT (bảng phân vĂąng GUID) trĂŞn \"%s\". Tiện Ă­ch sfdisk "
+"không hỗ trợ GPT. Hãy dùng chương trình GNU Parted.\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Sá»­ dụng cờ \"--force\" (bắt buá»™c) Ä‘á» bĂŁi bỏ sá»± kiá»m tra nĂ y.\n"
+
+#: fdisks/sfdisk.c:2582
+msgid "no command?"
+msgstr "không lệnh?"
+
+#: fdisks/sfdisk.c:2662
+msgid "invalid number of partitions argument"
+msgstr "tham số số lượng phân vùng không hợp lệ"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "tổng sô: %llu khối\n"
+
+#: fdisks/sfdisk.c:2795
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "sử dụng: sfdisk --print-id thiết-bị số-phân-vùng"
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "sử dụng: sfdisk --change-id thiết-bị số-phân-vùng Id"
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "sử dụng: sfdisk --id thiết-bị số-phân-vùng [Id]"
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr "chỉ có thỠchỉ ra một thiết bị (ngoại trừ với -l hay -s)"
+
+#: fdisks/sfdisk.c:2832
+#, c-format
+msgid "cannot open %s read-write"
+msgstr "không thỠmở %s đỠđọc-viết"
+
+#: fdisks/sfdisk.c:2834
+#, c-format
+msgid "cannot open %s for reading"
+msgstr "không mở được %s đỠđọc"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld trụ, %ld đầu đọc, %ld rãnh ghi/trac\n"
+
+#: fdisks/sfdisk.c:2929
+#, c-format
+msgid "Cannot get size of %s"
+msgstr "không thỠlấy kích cỡ của %s"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "byte kích hoạt sai: 0x%x thay cho 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"HoĂ n thĂ nh\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Bạn cĂł %d phân vĂąng chĂ­nh kĂ­ch hoạt. Äây khĂ´ng phải lĂ  vấn Ä‘á» cho LILO,\n"
+"nhưng MBR của DOS sẽ chỉ khởi động đĩa có 1 phân vùng kích hoạt.\n"
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "phân vùng %s có id %x và không phải là ẩn"
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr "Id xấu %lx"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "ÄÄ©a nĂ y hiện Ä‘ang được sá»­ dụng.\n"
+
+#: fdisks/sfdisk.c:3154
+#, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "Lỗi nặng: không thỠtìm %s"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Cảnh báo: %s không phải là thiết bị khối\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Äang kiá»m tra xem cĂł ai Ä‘Ăł Ä‘ang sá»­ dụng Ä‘Ä©a nĂ y khĂ´ng...\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"ÄÄ©a nĂ y hiện thời Ä‘ang được sá»­ dụng - phân vĂąng lại khĂ´ng phải lĂ  Ă˝ muốn\n"
+"tốt. Bỏ gắn tất cả các hệ thống tập tin, và tắt (swapoff) các phân vùng trao "
+"đổi\n"
+"trĂŞn Ä‘Ä©a nĂ y. Sá»­ dụng \"--no-reread\" Ä‘á» bỏ kiá»m tra nĂ y.\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Sá»­ dụng --force Ä‘á» bĂŁi bỏ mọi kiá»m tra.\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "Tình huống cũ:\n"
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "Phân vùng %d không tồn tại, không thỠthay đổi nó"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "Tình huống mới:\n"
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"Tôi không thích những phân vùng này - không có gì thay đổi.\n"
+"(Náşżu bạn thá»±c sá»± muốn Ä‘iá»u nĂ y, sá»­ dụng tĂąy chọn --force.)"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "TĂ´i khĂ´ng thĂ­ch Ä‘iá»u nĂ y - bạn nĂŞn trả lời No\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Bạn cĂł hĂ i lòng vá»›i Ä‘iá»u nĂ y? [ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Bạn có muốn ghi lên đĩa? [ynq] "
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr "Äang thoát - khĂ´ng cĂł gì thay đổi"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Xin hãy trả lời một trng y,n,q\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Viết thành công bảng phân vùng mới\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Nếu bạn tạo hay thay đổi một phân vùng DOS, ví dụ /dev/foo7, thì hãy dùng\n"
+"dd(1) đỠlàm rỗng 512 byte đầu: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(Xem fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr "\n"
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version đưa ra thông tin phiên bản rồi thoát\n"
+
+#: include/c.h:246
+#, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem %s.\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, c-format
+msgid "write error"
+msgstr "lá»—i ghi"
+
+#: include/optutils.h:76
+#, c-format
+msgid "%s: options "
+msgstr "%s: các tùy chọn"
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr "là loại từ lẫn nhau."
+
+#: lib/pager.c:107
+#, c-format
+msgid "waitpid failed (%s)"
+msgstr "waitpid bị lỗi (%s)"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr "lỗi phân cấp (callocate) tập hợp CPU"
+
+#: lib/path.c:178
+#, c-format
+msgid "failed to parse CPU list %s"
+msgstr "lỗi phân tích danh sách CPU %s"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "lỗi phân tích cú pháp của bộ lọc CPU %s"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, c-format
+msgid " %s [options] [username]\n"
+msgstr " %s [tuỳ_chọn] [tài_khoản_người_dùng]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr " -f, --full-name <họ_tên> Thay đổi họ tên thật của bạn.\n"
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr " -o, --office <office> số vÄn phòng\n"
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+" -p, --office-phone <Ä‘iện_thoại> số Ä‘iện thoại vÄn phòng của bạn\n"
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+" -h, --home-phone <điện_thoại_ở_nhà> số điện thoại của bạn ở nhà\n"
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr " -u, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr " -v, --version đưa ra thông tin phiên bản rồi thoát\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr "bạn (người dùng %d) không tồn tại."
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr "người dùng \"%s\" không tồn tại."
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr "chỉ có thỠthay đổi các mục nội bộ"
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s chưa được xác thực đỠthay đổi thông tin finger của %s"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "KhĂ´ng hiá»u ngữ cảnh người dĂąng"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, c-format
+msgid "can't set default context for %s"
+msgstr "khĂ´ng Ä‘áş·t được vÄn cảnh cho %s"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Thay đổi thông tin finger cho %s.\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Thông tin finger chưa thay đổi.\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "VÄn phòng"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "Äiện thoại vÄn phòng"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "Äiện thoại ở nhĂ "
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+msgid "Aborted."
+msgstr "Bị hủy bỏ."
+
+#: login-utils/chfn.c:383
+#, c-format
+msgid "field %s is too long"
+msgstr "trường %s quá dài"
+
+#: login-utils/chfn.c:385
+msgid "field is too long"
+msgstr "trường quá dài"
+
+#: login-utils/chfn.c:393
+#, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s: không cho phép \"%c\""
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, c-format
+msgid "'%c' is not allowed"
+msgstr "không cho phép \"%c\""
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s: khĂ´ng cho phĂ©p dĂąng kĂ˝ tá»± Ä‘iá»u khiá»n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr "khĂ´ng cho phĂ©p dĂąng kĂ˝ tá»± Ä‘iá»u khiá»n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Thông tin finger *CHƯA* thay đổi. Hãy thử lại sau.\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Thông tin finger đã thay đổi.\n"
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell <shell> chỉ định shell (hệ vỏ) Ä‘Äng nháş­p\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr " -l, --list-shells In ra danh sách các shell (hệ vỏ) rồi thoát\n"
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr "chỉ có thỠthay đổi các mục nội bộ."
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s không được xác thực đỠthay đổi shell (hệ vỏ) của \"%s\""
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+"UID đang hoạt động không tương ứng với UID của người dùng chúng ta đang "
+"nhập, shell (hệ vỏ) không cho phép thay đổi"
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+"shell (hệ vỏ) của bạn không có trong %s, không cho phép thay đổi hệ vỏ "
+"(shell)"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Äang thay đổi shell (hệ vỏ) cho %s.\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "shell (hệ vỏ) mới"
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr "Chưa thay đổi shell (hệ vỏ)."
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+"setpwnam gáş·p lá»—i\n"
+"shell (hệ vỏ) *CHƯA* thay đổi. Hãy thử lại sau."
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "shell (hệ vỏ) đã thay đổi.\n"
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr "shell (hệ vỏ) phải có dạng tên đường dẫn đầy đủ"
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr "\"%s\" không tồn tại"
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr "\"%s\" khĂ´ng cĂł khả nÄng thá»±c thi"
+
+#: login-utils/chsh.c:321
+#, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "Cảnh báo: \"%s\" không nằm trong \"%s\"."
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+"\"%s\" không liệt kê trong \"%s\".\n"
+"Sử dụng %s -l đỠxem danh sách."
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr "KhĂ´ng hiá»u shell (hệ vỏ)."
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"sử dụng: last [-#] [-f tập_tin] [-t tty] [-h tên_máy] [người_dùng ...]\n"
+
+#: login-utils/last.c:252
+#, c-format
+msgid "%s: mmap failed"
+msgstr "%s: lá»—i mmap"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " váş«n còn Ä‘Äng nháş­p"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp bắt đầu %s"
+
+#: login-utils/last.c:431
+msgid "gethostname failed"
+msgstr "Lỗi gethostname (lấy tên máy)"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"đã gián đoạn %10.10s %5.5s \n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr "lỗi quá lâu sau %u giây"
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "LỖI NẶNG: không thỠmở lại tty: %m"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "NGHIÊM TRỌNG: %s không phải là một thiết bị cuối"
+
+#: login-utils/login.c:308
+#, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown (%s, %lu, %lu) gáş·p lá»—i: %m"
+
+#: login-utils/login.c:312
+#, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "chmod (%s, %u) gáş·p lá»—i: %m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "LỖI NẶNG: tty xấu"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr "FATAL: %s: thay đổi quyá»n gáş·p lá»—i: %m"
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "ÄÄng nháş­p lần cuối: %.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "từ %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "trĂŞn %.*s\n"
+
+#: login-utils/login.c:553
+msgid "write lastlog failed"
+msgstr "lần ghi nhật ký cuối gặp lỗi"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "QUAY SỠTẠI %s BỞI %s"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ÄÄ‚NG NHẬP NGƯỜI CHỦ TRĂŠN %s TỪ %s"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ÄÄ‚NG NHẬP NGƯỜI CHỦ TRĂŠN %s"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "ÄÄ‚NG NHẬP TRĂŠN %s BỞI %s TỪ %s"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "ÄÄ‚NG NHẬP TRĂŠN %s BỞI %s"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "Ä‘Äng nháş­p: "
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "PAM thất bại nên hủy bỏ: %s"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Không thỠkhởi tạo PAM: %s"
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "Lá»–I ÄÄ‚NG NHẬP %u TỪ %s CHO %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Sai tên người dùng hoặc mật khẩu\n"
+"\n"
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "QUĂ NHIỀU LẦN THỬ ÄÄ‚NG NHẬP (%u) TỪ %s CHO %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "PHIĂŠN CHáş Y ÄÄ‚NG NHẬP BỊ Lá»–I TỪ %s CHO %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Sai tên người dùng hoặc mật khẩu\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"Có vấn đỠcấu hình phiên chạy nên hủy bỏ."
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Tên người dùng bằng VÔ GIà TRỊ (NULL) trong %s:%d. Thoát."
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY bị lỗi: %m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: \"-h\" chỉ dành cho siêu người dùng.\n"
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+"sử dụng: login [-p] [-h tên_máy] [ -H ] [-f tên_người_dùng | "
+"tên_người_dùng]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Tên người dùng sai \"%s\" trong %s:%d. Hủy bỏ."
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr "sự khởi tạo nhóm gặp lỗi: %m"
+
+#: login-utils/login.c:1382
+msgid "setgid() failed"
+msgstr "setgid khĂ´ng thĂ nh cĂ´ng"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Bạn có thư mới.\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "Bạn có thư.\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() bị lỗi"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, c-format
+msgid "%s: change directory failed"
+msgstr "%s: đổi thư mục gặp lỗi"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Äang Ä‘Äng nháş­p vá»›i thĆ° mục cá nhân = \"/\".\n"
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr "khĂ´ng thá»±c hiện được vÄn lệnh shell (hệ vỏ)"
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr "không có hệ vỏ"
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "%s: %s chứa giá trị bằng số không hợp lệ: %s"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "Máş­t kháş©u: "
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr " %s <nhĂłm>\n"
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr "bạn là ai?"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+msgid "setgid failed"
+msgstr "setgid khĂ´ng thĂ nh cĂ´ng"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr "khĂ´ng cĂł nhĂłm nhĆ° váş­y"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr "quyá»n truy cáş­p bị từ chối"
+
+#: login-utils/newgrp.c:176
+msgid "setuid failed"
+msgstr "setuid bị lỗi"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "exec %s bị lỗi"
+
+#: login-utils/su.c:205
+#, c-format
+msgid "cannot not open session: %s"
+msgstr "kinh tế mở phiên: %s"
+
+#: login-utils/su.c:215
+msgid "cannot create child process"
+msgstr "không thỠtạo tiến trình con"
+
+#: login-utils/su.c:227
+#, c-format
+msgid "cannot change directory to %s"
+msgstr "khĂ´ng chuyá»n đổi được sang thĆ° mục %s"
+
+#: login-utils/su.c:232
+msgid "cannot block signals"
+msgstr "khĂ´ng thá» ngÄn cản các tĂ­n hiệu"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr "không đặt bộ tiếp hợp tín hiệu"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+"\n"
+"Phiên làm việc bị chấm dứt, đang giết shell..."
+
+#: login-utils/su.c:303
+#, c-format
+msgid " ...killed.\n"
+msgstr " ...bị giết.\n"
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr "sai máş­t kháş©u"
+
+#: login-utils/su.c:485
+msgid "failed to set PATH"
+msgstr "Lá»—i Ä‘áş·t ÄƯỜNG-DẪN"
+
+#: login-utils/su.c:558
+msgid "cannot set groups"
+msgstr "không đặt được các nhóm"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "không đặt được mã số nhóm (GID)"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "không đặt được mã số người dùng (UID)"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Hãy thử lệnh \"%s --help\" đỠxem thông tin thêm.\n"
+
+#: login-utils/su.c:652
+#, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr " %s [các-tùy-chọn] [-] [NGUỜI-DÙNG [tsố]...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+"\n"
+"Thay đổi id người dùng và nhóm cho những cái đó của .\n"
+"- hiá»u lĂ  -1. Náşżu khĂ´ng chỉ ra NGƯỜI-DĂ™NG thì coi đây lĂ  siĂŞu người dĂąng "
+"(root).\n"
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+" -, -l, --login lĂ m cho shell (hệ vỏ) lĂ  được Ä‘Äng nháş­p\n"
+" -c, --command <lệnh> chuyá»n má»™t câu lệnh đơn cho shell (hệ vỏ) báş±ng -"
+"c\n"
+" --session-command <lệnh> chuyá»n má»™t câu lệnh đơn cho shell (hệ vỏ) báş±ng -"
+"c\n"
+" và không tạo một phiên mới\n"
+" -f, --fast chuyá»n -f cho shell (hệ vỏ) (cho csh hay "
+"tcsh)\n"
+" -m, --preserve-environment không đặt lại biến môi trường\n"
+" -p giống với -m\n"
+" -s, --shell <shell> chạy shell (hệ vỏ) nếu /etc/shells cho phép\n"
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr "người dùng %s không tồn tại"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr "sử dụng shell (hệ vỏ) bị giới hạn %s"
+
+#: login-utils/su.c:808
+#, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "cảnh báo: khĂ´ng thá» chuyá»n đổi thĆ° mục sang %s"
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s: không có mục nào cho root\n"
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr "%s: không có mục nào cho root"
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr "%s: mật khẩu cho siêu người dùng không đúng"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr "ÄĆ°a ra máş­t kháş©u siĂŞu quản trị Ä‘á» bảo trì\n"
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr "Bấm enter đỠbảo trì"
+
+#: login-utils/sulogin.c:296
+#, c-format
+msgid "(or type Control-D to continue): "
+msgstr "(hoặc gõ Control-D nếu muốn tiếp tục): "
+
+#: login-utils/sulogin.c:347
+msgid "change directory to system root failed"
+msgstr "thay đổi thư mục sang gốc của hệ thống gặp lỗi"
+
+#: login-utils/sulogin.c:394
+msgid "setexeccon failed"
+msgstr "setexeccon gáş·p lá»—i"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, c-format
+msgid "%s: exec failed"
+msgstr "%s: exec gáş·p lá»—i"
+
+#: login-utils/sulogin.c:430
+msgid "tcgetattr failed"
+msgstr "tcgetattr gáş·p lá»—i"
+
+#: login-utils/sulogin.c:437
+msgid "tcsetattr failed"
+msgstr "tcsetattr gáş·p lá»—i"
+
+#: login-utils/sulogin.c:444
+#, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "%s [tùy chọn] [thiết bị tty]\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+" -p, --login-shell khởi Ä‘á»™ng shell (hệ vỏ) Ä‘Äng nháş­p\n"
+" -t, --timeout <giây> thời gian chờ mật khẩu tối đa (mặc định: không giới "
+"hạn)\n"
+" -e, --force xem xét đến các tập tin mật khẩu một cách trực "
+"tiáşżp náşżu getpwnam(3) gáş·p lá»—i\n"
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr "đối số quá giờ không hợp lệ"
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr "bạn phải chạy chương trình này với tư cách người chủ (root)."
+
+#: login-utils/sulogin.c:529
+#, c-format
+msgid "%s: not a tty"
+msgstr "%s: không phải một tty"
+
+#: login-utils/sulogin.c:577
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY: ioctl gáş·p lá»—i"
+
+#: login-utils/sulogin.c:586
+msgid "cannot open password database."
+msgstr "không thỠmở tập tin cơ sở dữ liệu."
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: lỗi lấy trạng thái"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s: không thỠthêm sự theo dõi inotify."
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: không thỠđọc sự kiện inotify"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr "Kiá»u xuống dòng má»›i xa lạ trong táş­p tin. Äang thoát."
+
+#: login-utils/utmpdump.c:286
+#, c-format
+msgid " %s [options] [filename]\n"
+msgstr "%s [các-tùy-chọn] [tên-tập-tin]\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+" -f, --follow nối thêm dữ liệu kết xuất làm cho tập tin lớn lên\n"
+" -r, --reverse ghi dữ liệu \"đổ dồn\" vào tập tin utmp\n"
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr "các đầu vào chuẩn sau đây không được hỗ trợ"
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr "Utmp undump của %s\n"
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr "đổ Utmp của %s\n"
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+msgid "can't open temporary file"
+msgstr "không thỠmở tập tin tạm"
+
+#: login-utils/vipw.c:166
+#, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s: tạo được liĂŞn káşżt má»m tá»›i %s gáş·p lá»—i"
+
+#: login-utils/vipw.c:173
+#, c-format
+msgid "Can't get context for %s"
+msgstr "KhĂ´ng lấy được vÄn cảnh cho %s"
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr "KhĂ´ng Ä‘áş·t được vÄn cảnh cho %s"
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr "%s không thay đổi"
+
+#: login-utils/vipw.c:264
+msgid "cannot get lock"
+msgstr "không thỠlấy khoá"
+
+#: login-utils/vipw.c:291
+msgid "no changes made"
+msgstr "không có thay đổi nào"
+
+#: login-utils/vipw.c:300
+msgid "cannot chmod file"
+msgstr "kinh táşż chmod táş­p tin"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Bạn đang dùng shadow group (bóng nhóm) trên hệ thống này.\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Bạn đang dùng shadow passwords (mật khẩu bóng) trên hệ thống này.\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Soạn thảo %s bây giờ [y/n]? "
+
+#: misc-utils/cal.c:371
+msgid "illegal day value"
+msgstr "giá trị ngày bị sai"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "giá trị ngày bị sai: hãy dùng 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "giá trị tháng bị sai: hãy dùng 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "giá trị nÄm bị sai: hĂŁy dĂąng 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "%s [tuỳ_chọn] [[[ngĂ y] tháng] nÄm]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+" -1, --one hiá»n thị chỉ tháng hiện hĂ nh (máş·c định)\n"
+" -3, --three hiá»n thị tháng trĆ°á»›c, hiện hĂ nh vĂ  káşż tiáşżp\n"
+" -s, --sunday Chủ nhật là ngày đầu tiên của tuần\n"
+" -m, --monday Thứ hai là ngày đầu tiên của tuần\n"
+" -j, --julian kết xuất định dạng Julian\n"
+" -y, --year hiá»n thị toĂ n bá»™ nÄm hiện tại\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "sá»­ dụng: %s [+định_dạng] [ngĂ y tháng nÄm]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "Ngày Thánh Tib"
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+"%1$s [tùy chọn] LABEL=<nhãn>\n"
+"%1$s [tùy chọn] UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "không giải quyết được \"%s\""
+
+#: misc-utils/findmnt.c:105
+msgid "source device"
+msgstr "thiết bị nguồn"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr "Ä‘iá»m gắn"
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr "kiá»u hệ thống táş­p tin"
+
+#: misc-utils/findmnt.c:108
+msgid "all mount options"
+msgstr "tất cả tùy chọn cho gắn"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr "VFS chỉ định tuỳ chọn gắn"
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr "FS chỉ định tuỳ chọn gắn"
+
+#: misc-utils/findmnt.c:111
+msgid "filesystem label"
+msgstr "nhãn hệ thống tập tin"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr "UUID hệ thống tập tin"
+
+#: misc-utils/findmnt.c:113
+msgid "partition label"
+msgstr "nhãn của phân vùng"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr "số lớn:nhỏ thiết bị"
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr "hành động được nhận ra vởi --poll"
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr "các tuỳ chọn cũ được ghi lại bằng tuỳ chọn --poll"
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr "Ä‘iá»m gắn cĹ© được ghi lại bởi tuỳ chọn --poll"
+
+#: misc-utils/findmnt.c:119
+msgid "filesystem size"
+msgstr "kích thước hệ thống tập tin"
+
+#: misc-utils/findmnt.c:120
+msgid "filesystem size available"
+msgstr "kích thước hệ thống tập tin có thỠdùng"
+
+#: misc-utils/findmnt.c:121
+msgid "filesystem size used"
+msgstr "kích thước hệ thống tập tin đã dùng"
+
+#: misc-utils/findmnt.c:122
+msgid "filesystem use percentage"
+msgstr "phần trÄm hệ thống táş­p tin Ä‘ĂŁ dĂąng"
+
+#: misc-utils/findmnt.c:123
+msgid "filesystem root"
+msgstr "Gá»C của hệ thống táş­p tin"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr "ID tác vụ"
+
+#: misc-utils/findmnt.c:298
+#, c-format
+msgid "unknown action: %s"
+msgstr "khĂ´ng hiá»u hĂ nh Ä‘á»™ng: %s"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr "gắn"
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr "bỏ gắn"
+
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr "gắn lại"
+
+#: misc-utils/findmnt.c:513
+msgid "move"
+msgstr "di chuyá»n"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "khĂ´ng hiá»u"
+
+#: misc-utils/findmnt.c:630
+#, c-format
+msgid "%s: parse error at line %d"
+msgstr "%s: lỗi phân tích tại dòng %d"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+msgid "failed to initialize libmount table"
+msgstr "gặp lỗi khi khởi tạo bảng libmount"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, c-format
+msgid "can't read %s"
+msgstr "không đọc được %s"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr "lỗi sơ khởi bộ lặp lại libmount"
+
+#: misc-utils/findmnt.c:886
+msgid "failed to initialize libmount tabdiff"
+msgstr "gặp lỗi khi khởi tạo bảng tabdiff libmount"
+
+#: misc-utils/findmnt.c:914
+msgid "poll() failed"
+msgstr "poll() gáş·p lá»—i"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+" %1$s [tuỳ_chọn]\n"
+" %1$s [tuỳ_chọn] <thiáşżt_bị> | <Ä‘iá»m_lắp>\n"
+" %1$s [tuỳ_chọn] <thiáşżt_bị> <Ä‘iá»m_lắp>\n"
+" %1$s [tuỳ_chọn] [--source <thiáşżt_bị>] [--target <Ä‘iá»m_lắp>]\n"
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+"\n"
+"Options:\n"
+" -s, --fstab tìm kiếm bảng thống kê của hệ thống tập tin\n"
+" -m, --mtab tìm kiếm bảng của hệ thống tập tin đã gắn\n"
+" -k, --kernel tìm kiếm bảng nhân của hệ thống tập tin\n"
+" đã gắn (mặc định)\n"
+"\n"
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+" -p, --poll[=<list>] theo dõi các thay đổi trong bảng của hệ thống tập "
+"tin đã gắn\n"
+" -w, --timeout <num> giới hạn trên theo milli-giây mà --poll sẽ khoá\n"
+"\n"
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+" -A, --all tắt tất cả bá»™ lọc dá»±ng sáşµn, hiá»n thị toĂ n bá»™ hệ "
+"thống tập tin\n"
+" -a, --ascii sử dụng ký tự ASCII cho định cây\n"
+" -c, --canonicalize đường dẫn in được dạng canonicalize\n"
+"-D, --df khởi tạo kết xuất của df(1)\n"
+" -d, --direction <word> hướng tìm kiếm, 'forward' hay 'backward'\n"
+" -e, --evaluate cờ chuyá»n đổi (LABEL,UUID,PARTUUID,PARTLABEL) cho "
+"tên thiết bị\n"
+" -F, --tab-file <path> tập tin thay thế cho --fstab, --mtab hay các tuỳ "
+"chọn --kernel\n"
+" -f, --first-only chỉ hiá»n thị hệ thống táş­p tin đầu tiĂŞn tìm thấy\n"
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+" -i, --invert đảo ngược ý so khớp\n"
+" -l, --list sử dụng kết xuất dạng danh sách\n"
+" -n, --noheadings khĂ´ng hiá»n thị đầu cá»™t\n"
+" -u, --notruncate không cắt ngắn chữ trong các cột\n"
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+" -O, --options <list> giới hạntập hợp của hệ thống tập tin bởi các tuỳ "
+"chọn gắn\n"
+" -o, --output <list> các cá»™t sáş˝ được hiá»n thị ra\n"
+" -P, --pairs sử dụng khoá=\"value\" đỠđịnh dạng kết xuất\n"
+" -r, --raw sử dụng kết xuất dạng thô\n"
+" -t, --types <list> giá»›i hạn táş­p hợp hệ thống táş­p tin bởi kiá»u FS\n"
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+" -v, --nofsroot không in ra [/dir] khi gắn dùng tuỳ chọn bind hay "
+"btrfs\n"
+" -R, --submounts in ra toàn bộ các gắn con cho hệ thống tập tin tương "
+"ứng\n"
+" -S, --source <string> thiết bị đỠgắn (theo tên, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> Ä‘iá»n gắn sáş˝ sá»­ dụng\n"
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+"\n"
+"Các cột sẵn dùng:\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr "khĂ´ng hiá»u hĆ°á»›ng \"%s\""
+
+#: misc-utils/findmnt.c:1196
+msgid "invalid TID argument"
+msgstr "đối số TID không hợp lệ"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+"--poll thừa nhận chỉ một tệp tin, nhưng phải được chỉ định bởi --tab-file"
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+"không thỠsử dụng cả hai tuỳ chọn \"--target\" (đích) và \"--source"
+"\" (nguồn) với một yếu tố dòng lệnh mà không thỠlà một tuỳ chọn"
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr "lỗi sơ khởi vùng nhớ tạm libmount"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr "%s cột được yêu cầu, nhưng tuỳ chọn --poll lại không được bật"
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "tùy chọn dài rỗng sau -l hay tham số --long"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "khĂ´ng hiá»u shell (hệ vỏ) sau -s hay tham số --shell"
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+" %1$s tham số optstring\n"
+" %1$s [các tuỳ chọn] [--] tham số optstring\n"
+" %1$s [các tuỳ chọn] -o|--options tham số optstring [các tuỳ chọn] [--] \n"
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+" -a, --alternative Cho phép tùy chọn dài bắt đầu với một - đơn\n"
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help Hướng dẫn sử dụng nhỏ này\n"
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions <tùychọndài> Tùy chọn dài cần nhận ra\n"
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name <tên_chương_trình> Tên mà bị báo cáo lỗi\n"
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options <chuỗi_tùy_chọn> Các tùy chọn ngắn cần nhận ra\n"
+
+#: misc-utils/getopt.c:328
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr " -q, --quiet Tắt bỏ báo cáo lỗi bằng getopt(3)\n"
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output Không có kết quả ra thông thường\n"
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+" -s, --shell <trình_bao> Äáş·t quy Ć°á»›c trĂ­ch dáş«n shell (hệ vỏ)\n"
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test Thử phiên bản getopt(1)\n"
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote Không trích dẫn kết quả ra\n"
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version Kết xuất thông tin phiên bản\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "thiếu đối số chuỗi_tùy_chọn"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "lỗi nội bộ, hãy liên hệ với tác giả."
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: khĂ´ng hiá»u tĂ­n hiệu %s\n"
+
+#: misc-utils/kill.c:244
+msgid "invalid sigval argument"
+msgstr "đối số sigval không hợp lệ"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: không thỠtìm thấy tiến trình \"%s\"\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: khĂ´ng hiá»u tĂ­n %s; tĂ­n hiệu cĂł thá» dĂąng:\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "sử dụng: %s [ -s tín_hiệu | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ tín_hiệu ]\n"
+
+#: misc-utils/logger.c:88
+#, c-format
+msgid "unknown facility name: %s."
+msgstr "khĂ´ng hiá»u tĂŞn thiáşżt bị: %s."
+
+#: misc-utils/logger.c:97
+#, c-format
+msgid "unknown priority name: %s."
+msgstr "khĂ´ng hiá»u tĂŞn Ć°u tiĂŞn: %s."
+
+#: misc-utils/logger.c:107
+#, c-format
+msgid "openlog %s: pathname too long"
+msgstr "openlog %s: tên đường dẫn quá dài"
+
+#: misc-utils/logger.c:113
+#, c-format
+msgid "socket %s"
+msgstr "ổ cắm (socket) %s"
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr "kết nối %s"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "ổ cắm (socket)"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "kết nối"
+
+#: misc-utils/logger.c:174
+#, c-format
+msgid " %s [options] [message]\n"
+msgstr " %s [tuỳ chọn] [thông điệp]\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+" -d, --udp sử dụng UDP (TCP là mặc định)\n"
+" -i, --id ghi cả nhật ký ID tiến trình\n"
+" -f, --file <file> ghi nhật ký nội dung của tập tin này\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+" -n, --server <name> ghi tới máy chủ ghi nhật ký hệ thống trên mạng này\n"
+" -P, --port <number> sử dụng cổng UDP này\n"
+" -p, --priority <prio> đánh dấu thông điệp đã chỉ ra với mức ưu tiên này\n"
+" -s, --stderr kết xuất thông điệp ra đầu lỗi chuẩn cũng tốt\n"
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+" -t, --tag <tag> đánh dấu mọi dòng với cờ này\n"
+" -u, --socket <socket> ghi vào đầu nối (socket) Unix này\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+"\n"
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr "táş­p tin %s"
+
+#: misc-utils/logger.c:261
+msgid "invalid port number argument"
+msgstr "tham số số hiệu cổng không hợp lệ"
+
+#: misc-utils/look.c:370
+#, c-format
+msgid " %s [options] string [file]\n"
+msgstr "%s [TUỲ_CHỌN] xâu [TẬP_TIN]\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --alternative sá»­ dụng từ Ä‘iá»n thay tháşż\n"
+" -d, --alphanum chỉ so sánh chữ cái và chữ số\n"
+" -f, --ignore-case lờ hoa thường đi khi so sánh\n"
+" -t, --terminate <char> định nghĩa ký tự chấm dứt chuỗi\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr "tên thiết bị"
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr "tên thiết bị nhân nội bộ"
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr "nơi mà thiết bị được gắn vào"
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr "NHĂN hệ thống táş­p tin"
+
+#: misc-utils/lsblk.c:119
+msgid "partition LABEL"
+msgstr "NHĂN của phân vĂąng"
+
+#: misc-utils/lsblk.c:122
+msgid "read-ahead of the device"
+msgstr "read-ahead của thiết bị"
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr "thiết bị chỉ đọc"
+
+#: misc-utils/lsblk.c:124
+msgid "removable device"
+msgstr "thiết bị có thỠtháo rời"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr "thiết bị quay"
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr "định danh thiết bị"
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr "kích cỡ của thiết bị"
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr "trạng thái của thiết bị"
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr "tài khoản"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr "tĂŞn nhĂłm"
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr "các quyá»n của nĂşt thiáşżt bị"
+
+#: misc-utils/lsblk.c:132
+msgid "alignment offset"
+msgstr "khoảng chênh sắp hàng"
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr "lấy kĂ­ch cỡ V/R tối thiá»u"
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr "lấy kích cỡ V/R tối ưu"
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr "Kích cỡ rãnh ghi vật lý"
+
+#: misc-utils/lsblk.c:136
+msgid "logical sector size"
+msgstr "kích cỡ khối vật lý"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr "tĂŞn lịch biá»u I/O"
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr "yêu cầu kích cỡ hàng đợi"
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr "kiá»u thiáşżt bị"
+
+#: misc-utils/lsblk.c:140
+msgid "discard alignment offset"
+msgstr "loại bỏ khoảng chênh sắp hàng"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr "huá»· granularity"
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr "loại bỏ kích cỡ lớn nhất"
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr "bỏ qua dữ liệu không"
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr "định danh thiết bị lưu trữ duy nhất"
+
+#: misc-utils/lsblk.c:828
+#, c-format
+msgid "%s: failed to get device path"
+msgstr "%s: lỗi khi lấy đường dẫn thiết bị"
+
+#: misc-utils/lsblk.c:835
+#, c-format
+msgid "%s: unknown device name"
+msgstr "%s: khĂ´ng hiá»u tĂŞn thiáşżt bị"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "%s: gặp lỗi ghi khởi tạo bộ tiếp hợp sysfs"
+
+#: misc-utils/lsblk.c:869
+#, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s: lỗi khi lấy tên dm"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr "gặp lỗi khi mở thư mục thiết bị trong sysfs"
+
+#: misc-utils/lsblk.c:1081
+#, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s: gặp lỗi khi lấy số thiết bị trên toàn bộ đĩa"
+
+#: misc-utils/lsblk.c:1099
+#, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "gặp lỗi khi tạo đường dẫn sysfs cho %s"
+
+#: misc-utils/lsblk.c:1106
+#, c-format
+msgid "%s: failed to read link"
+msgstr "%s: lỗi khi đọc liên kết tượng trưng"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, c-format
+msgid "failed to parse list '%s'"
+msgstr "lỗi phân tích danh sách '%s'"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr "danh sách các thiết bị loại trừ quá lớn (giới hạn là %d thiết bị)"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr "danh sách các thiết bị quá lớn (giới hạn là %d thiết bị)"
+
+#: misc-utils/lsblk.c:1194
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+"%s [tùy chọn] [<thiết bị> ...]\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -a, --all hiá»n thị tất cả các thiáşżt bị\n"
+" -b, --bytes hiá»n thị SIZE tĂ­nh báş±ng byte thay vì ở định dạng danh "
+"cho người đọc\n"
+" -d, --nodeps khĂ´ng hiá»n thị thiáşżt bị slaves hay holders\n"
+" -D, --discard hiá»n thị các khả nÄng bị huá»· bỏ\n"
+" -e, --exclude <list> loại trừ các thiết bị theo số lớn (major) (mặc định: "
+"các đĩa RAM)\n"
+" -I, --include <list> chỉ hiá»n thị những thiáşżt bị vá»›i số major được chỉ ra\n"
+" -f, --fs hiá»n thị thĂ´ng tin vá» hệ thống táş­p tin\n"
+" -h, --help các sử dụng (chính cái này)\n"
+" -i, --ascii chỉ sử dụng các ký tự định dạng ascii\n"
+" -m, --perms hiá»n thị các thĂ´ng tin vá» quyá»n hạn\n"
+" -l, --list sá»­ dụng káşżt xuất định dạng kiá»u danh sách\n"
+" -n, --noheadings khĂ´ng hiá»n thị tiĂŞu Ä‘á»\n"
+" -o, --output <list> các cột sẽ được kết xuất\n"
+" -P, --pairs sử dụng khoá =\"value\" làm định dạng kết xuất\n"
+" -r, --raw sử dụng kết xuất theo định dạng thô\n"
+" -s, --inverse đảo ngược phần phụ thuộc\n"
+" -t, --topology xuất thông tin vỠhình thái học\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr ""
+"\n"
+"Các cột sẵn dùng (cho kết xuất):\n"
+
+#: misc-utils/lsblk.c:1231
+#, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "Truy cập thư mục sysfs gặp lỗi: %s"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr "lệnh của của tiến trình đang giữ khóa"
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr "PID của tiến trình giữ khóa"
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr "kiá»u khĂła: FL_FLOCK hoáş·c FL_POSIX."
+
+#: misc-utils/lslocks.c:71
+msgid "size of the lock"
+msgstr "kích thước của khóa"
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr "cháşż Ä‘á»™ truy cáş­p khĂła"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr "trạng thái lệnh của khóa: 0 (không), 1 (đặt)"
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr "khoảng bù theo byte tương đối của khóa"
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr "kết thúc khoảng bù của khóa"
+
+#: misc-utils/lslocks.c:76
+msgid "path of the locked file"
+msgstr "đường dẫn tập tin khóa"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "lỗi phân tích PID"
+
+#: misc-utils/lslocks.c:274
+msgid "(unknown)"
+msgstr "(khĂ´ng hiá»u)"
+
+#: misc-utils/lslocks.c:283
+msgid "failed to parse start"
+msgstr "gặp lỗi phân tích bắt đầu"
+
+#: misc-utils/lslocks.c:290
+msgid "failed to parse end"
+msgstr "gặp lỗi phân tích kết thúc"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, c-format
+msgid " %s [options]\n"
+msgstr " %s [Tùy chọn]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <pid> id của tiến trình\n"
+" -o, --output <list> định nghĩa là cột kết xuất nào sẽ được sử dụng\n"
+" -n, --noheadings khĂ´ng hiá»n thị đầu Ä‘á»\n"
+" -r, --raw sá»­ dụng định dạng hiá»n thị thĂ´\n"
+" -u, --notruncate không cắt cụt chữ trong các cột\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+msgid "invalid PID argument"
+msgstr "đối số PID không hợp lệ"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -f, --file <file> sử dụng tập tin như là hạt giống cho cookie\n"
+" -v, --verbose giải thích những gì đang được thực hiện\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Nhận %d byte từ %s\n"
+
+#: misc-utils/mcookie.c:158
+#, c-format
+msgid "closing %s failed"
+msgstr "Ä‘Ăłng %s gáş·p lá»—i"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "lỗi đọc liên kết tượng trưng: %s"
+
+#: misc-utils/namei.c:370
+#, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s - Không có tập tin hay thư mục như vậy.\n"
+
+#: misc-utils/namei.c:420
+#, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr "%s [các_tuỳ_chọn] tên_đường_dẫn [tên_đường_dẫn ...]\n"
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+" -h, --help hiá»n thị trợ giĂşp nĂ y\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+" -x, --mountpoints hiá»n thị các thĆ° mục Ä‘iá»m lắp dĂąng \"D\"\n"
+" -m, --modes hiá»n thị các bit cháşż Ä‘á»™ của má»—i táş­p tin\n"
+" -o, --owners hiá»n thị tĂŞn chủ vĂ  nhĂłm của má»—i táş­p tin\n"
+" -l, --long dùng một định dạng liệt kê dài (-m -o -v) \n"
+" -n, --nosymlinks không theo liên kết tượng trưng\n"
+" -v, --vertical sắp hĂ ng theo chiá»u dọc các cháşż Ä‘á»™ vĂ  chủ sở hữu\n"
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem namei(1).\n"
+
+#: misc-utils/namei.c:493
+msgid "pathname argument is missing"
+msgstr "đối số tới tên đường dẫn còn thiếu"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s: vượt quá hạn ngạch số các liên kết tượng trưng"
+
+#: misc-utils/rename.c:54
+#, c-format
+msgid "renaming %s to %s failed"
+msgstr "thay đổi tên %s thành %s gặp lỗi"
+
+#: misc-utils/rename.c:67
+#, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr " %s [các tuỳ chọn] biá»u_thức táş­p tin thay tháşż...\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose giải thích những gì đang được thực hiện\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -p, --pid <path> đường dẫn tới tập tin pid\n"
+" -s, --socket <path> đường dẫn tới socket\n"
+" -T, --timeout <sec> chỉ định thời gian hoạt động tối đa\n"
+" -k, --kill diệt dịch vụ (daemon) đang chạy\n"
+" -r, --random kiá»m tra tạo số ngáş«u nhiĂŞn\n"
+" -t, --time kiá»m tra tạo thời gian cơ sở\n"
+" -n, --uuids <num> yêu cầu số của uuids\n"
+" -F, --no-fork không rẽ nhánh tuyến trình sử dụng fork-kép\n"
+" -S, --socket-activation không tạo ổ cắm (socket) lắng nghe\n"
+" -d, --debug chạy trong chế độ gỡ lỗi\n"
+" -q, --quiet báş­t cháşż Ä‘á»™ im láş·ng\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "đối số sai"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "ghi"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr "đếm số lần đọc"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "chiá»u dĂ i đáp ứng sai"
+
+#: misc-utils/uuidd.c:220
+#, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "Lỗi tạo hoặc mở/tạo %s: %m\n"
+
+#: misc-utils/uuidd.c:235
+#, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "Lỗi khi khoá %s: %m\n"
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "Không thỠtạo ổ cắm (socket) luồng UNIX: %m"
+
+#: misc-utils/uuidd.c:285
+#, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "Không thỠràng buộc ổ cắm (socket) UNIX %s: %m\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "Trình ná»n uuidd Ä‘ĂŁ chạy vá»›i PID %s\n"
+
+#: misc-utils/uuidd.c:334
+#, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "Không thỠlắng nghe trên ổ cắm (socket) UNIX %s: %m\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr "KhĂ´ng hoáş·c lĂ  quá nhiá»u bá»™ mĂ´ tả táş­p tin được nháş­n vá».\n"
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Gặp lỗi khi đọc từ ứng dụng khách, dài = %d\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "thao tác %d, số gửi đến = %d\n"
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr "thao tác %d\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "UUID thời gian đã tạo ra: %s\n"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "UUID ngẫu nhiên đã tạo ra: %s\n"
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] "ÄĂŁ tạo ra UUID thời gian %s vĂ  %d theo sau\n"
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "ÄĂŁ tạo ra %d UUID:\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Thao tác không hợp lệ %d\n"
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "Máy phục vụ đáp ứng vá»›i chiá»u dĂ i bất thường %d"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Số sai: %s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr "uuid được xây dựng mà không hỗ trợ cho hoạt hóa ổ cắm (socket) .\n"
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr "Cả hai tĂąy chọn --pid vĂ  --no-pid được chỉ ra. Äang lờ Ä‘i --no-pid.\n"
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+"Cả hai tĂąy chọn --socket-activation vĂ  --socket được chỉ ra. Äang lờ Ä‘i --"
+"socket\n"
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "Gáş·p lá»—i khi gọi trình ná»n uuidd (%s): %m\n"
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "%s và %d UUID xảy ra sau\n"
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr "Danh sách các UUID:\n"
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "Không thỠbuộc kết thúc uuidd đang chạy với pid %d: %m\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "ÄĂŁ buá»™c káşżt thĂşc uuidd chạy vá»›i PID %d\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -r, --random tạo số ngẫu nhiên cơ sở uuid\n"
+" -t, --time tạo thời gian cơ sở uuid\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+" -f <file> định nghĩa phạm vi tìm kiếm\n"
+" -b chỉ tìm kiá»u nhị phân\n"
+" -B <dirs> định nghĩa đường dẫn tìm kiếm nhị phân\n"
+" -m chỉ tìm kiếm các thư mục được chỉ định thủ công\n"
+" -M <dirs> định nghĩa đường dẫn tìm kiếm cho man\n"
+" -s chỉ tìm trên đường dẫn nguồn\n"
+" -S <dirs> định nghĩa đường dẫn tìm kiếm\n"
+" -u tìm kiếm từ các mục bất thường\n"
+" -V hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+"Xem thêm cách sử dụng đối số tập tin và thư mục từ phần hướng dẫn của whereis"
+"(1).\n"
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "lỗi: %s: lỗi sơ khởi hàm dò"
+
+#: misc-utils/wipefs.c:292
+#, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s: gặp lỗi khi tẩy chuỗi màu nhiệm %s tại vị trí offset 0x%08jx"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr "%s: %zd bytes bị xoá ở khoảng bù 0x%08jx (%s): "
+
+#: misc-utils/wipefs.c:344
+#, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "%s: Ä‘iá»m offset 0x%jx khĂ´ng tìm thấy"
+
+#: misc-utils/wipefs.c:364
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all xoá mọi chuỗi ma thuật (CẨN THẬN!)\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y\n"
+" -n, --no-act làm tất cả các việc, trừ cuộc gọi ghi write() thật\n"
+" -o, --offset <Sá»> khoảng chĂŞnh cần xoá, theo byte\n"
+" -p, --parsable in ra theo định dạng có thỠphân tích, thay cho định "
+"dạng có thỠin ấn\n"
+" -q, --quiet chặn mọi thông điệp\n"
+" -t, --types <list> giá»›i hạn kiá»u hệ thống táş­p tin, RAIDs hay bảng phân "
+"vĂąng\n"
+" -V, --version kết xuất thông tin vỠphiên bản rồi thoát\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem wipefs(8).\n"
+
+#: misc-utils/wipefs.c:425
+msgid "invalid offset argument"
+msgstr "đối số khoảng bù không hợp lệ"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "cảnh báo: lỗi đọc %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "cảnh báo: không mở được %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: không mở được %s - sử dụng %s đỠthay thế\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr "không tạo được tập tin khóa %s: %s (hãy dùng cờ -n đỠghi đè lên)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr "không liên kết được tập tin khóa %s: %s (hãy dùng cờ -n đỠghi đè lên)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "không mở được tập tin khóa %s: %s (hãy dùng cờ -n đỠghi đè lên)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Không khóa được tập tin khóa (lock file) %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "không khóa được tập tin khóa (lock file) %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "quá hạn"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Không tạo được liên kết %s\n"
+"CĂł thỠđây lĂ  táş­p tin khĂła bá»n vững?\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "không mở được %s (%s) - mtab chưa cập nhật"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "lá»—i ghi nhá»› %s: %s"
+
+#: mount-deprecated/fstab.c:937
+#, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s: không thỠfflush các thay đổi: %s"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "lỗi thay đổi chế độ của %s: %s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "lỗi thay đổi chủ sở hữu của %s: %s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "không đổi tên được %s thành %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount: cảnh báo: \"/etc/mtab\" không cho phép ghi (tức là hệ thống chỉ-"
+"đọc).\n"
+" Có thỠlà mount(8) đã cung cấp thông tin quá cũ.\n"
+" Äá» tìm thĂ´ng tin tháş­t vá» các Ä‘iá»m lắp hệ thống, xem táş­p tin \"/proc/"
+"mounts\".\n"
+"\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: chuỗi tùy chọn \"%s\" sai trích dẫn"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: đã dịch %s \"%s\" sang \"%s\"\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr "gắn: SELinux *context= tuỳ chọn bị bỏ qua khi gắn lại.\n"
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: theo như mtab thì %s đã gắn vào %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: theo như mtab thì %s đã gắn vào %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: không mở được %s đỠghi nhớ: %s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: lá»—i ghi nhá»› %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: lỗi thay đổi chế độ của %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount: không đặt được id nhóm: %m"
+
+#: mount-deprecated/mount.c:813
+#, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount: không đặt được id người dùng: %m"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: không thỠphân nhánh %s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "Äang thá»­ %s.\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: bạn chĆ°a chỉ ra kiá»u hệ thống táş­p tin cho %s\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " Sẽ thử tất cả mọi loại đỠcập đến trong %s hay %s\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " và đây có vẻ là vùng trao đổi\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " Sẽ thử loại %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s có vẻ là vùng trao đổi - không gắn"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+"mount: %s: phát hiện được nhiá»u hệ thống táş­p tin hơn.\n"
+" Trường hợp này không nên xảy ra.\n"
+" HĂŁy dĂąng \"-t <kiá»u>\" Ä‘á» ghi rõ dứt khoát kiá»u hệ thống táş­p tin\n"
+" hoặc dùng wipefs(8) đỠlàm sạch thiết bị.\n"
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "mount (gắn) không thành công"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: chỉ người chủ cĂł quyá»n gắn %s vĂ o %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount: chỉ ra hai lần thiết bị vòng lặp"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount: chỉ ra hai lần kiá»u hệ thống táş­p tin"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: bỏ qua việc cấu hình thiết bị vòng lặp\n"
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "gắn: cho phép tự động xoá cờ thiết bị vòng lặp (loopdev)\n"
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "mount: sai xác định giá trị chênh \"%s\""
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "mount: sai xác định giới hạn kích cỡ \"%s\""
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: theo như mtab thì %s đã gắn vào %s làm vòng lặp"
+
+#: mount-deprecated/mount.c:1314
+msgid "mount: couldn't lock into memory"
+msgstr "mount: không thỠkhoá vào bộ nhớ"
+
+#: mount-deprecated/mount.c:1334
+msgid "mount: failed to found free loop device"
+msgstr "gắn: tìm thiết lập thiết bị vòng lặp rảnh rỗi không thành công"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: sẽ sử dụng thiết bị vòng lặp %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "gắn: %s: đặt các thuộc tính vỠthiết bị vòng lặp (loopdev) gặp lỗi"
+
+#: mount-deprecated/mount.c:1364
+#, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount: %s: thiết lập thiết bị vòng lặp không thành công %m"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: stolen loop=%s (vòng láş·p bị Än cắp) nĂŞn thá»­ lại\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: stolen loop=%s (vòng láş·p bị Än cắp)"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: thiết lập thiết bị vòng lặp thành công\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: không tìm thấy %s - đang tạo..\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: tham số cho -p hoặc --pass-fd phải là một số"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: không mở được %s đỠđặt tốc độ"
+
+#: mount-deprecated/mount.c:1473
+#, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount: không đặt được tốc độ: %m"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: theo như mtab thì %s đã gắn vào %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "mount: cảnh báo: có vẻ là %s được lắp đọc-ghi.\n"
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "mount: cảnh báo: có vẻ là %s được lắp chỉ-đọc.\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: khĂ´ng thá» nháş­n ra kiá»u hệ thống táş­p tin, vĂ  người dĂąng khĂ´ng chỉ ra "
+"kiá»u nĂ o"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: cần chỉ rõ kiá»u hệ thống táş­p tin"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount: gắn không thành công"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: Ä‘iá»m gắn %s khĂ´ng phải lĂ  má»™t thĆ° mục"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount: khĂ´ng đủ quyá»n hạn"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount: cần phải là siêu người dùng (root) đỠsử dụng hàm mount"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s Ä‘ang báş­n"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount: đã gắn proc"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: đã gắn %s hoặc %s đang bận"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: Ä‘iá»m gắn %s khĂ´ng tồn tại"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: Ä‘iá»m gắn %s lĂ  má»™t liĂŞn káşżt má»m khĂ´ng chỉ tá»›i đâu"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: thiết bị đặc biệt %s không tồn tại"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount: thiết bị đặc biệt %s không tồn tại\n"
+" (tiá»n tố của đường dáş«n khĂ´ng phải lĂ  má»™t thĆ° mục)\n"
+
+#: mount-deprecated/mount.c:1756
+#, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount: %s chưa gắn, hoặc tùy chọn xấu"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount: sai kiá»u hệ thống táş­p tin, tĂąy chọn xấu, siĂŞu khối xấu trĂŞn %s,\n"
+" thiếu trang mã hay chương trình bổ trợ, hoặc lỗi khác"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (đối với vài hệ thống tập tin, v.d. nfs, cifs, có lẽ\n"
+" bạn cần dĂąng trình bổ trợ \"/sbin/mount.<kiá»u>\")"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (có thỠđây là thiết bị IDE mà trên thực tế sử dụng\n"
+" ide-scsi vì thế cần sr0 hoặc sda hoặc tương tự?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (có phải bạn đang cố gắn một phân vùng mở rộng,\n"
+" chứ không phải một phân vùng lôgíc bên trong nó?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Trong một số trường hợp có thỠtìm thấy thông tin có\n"
+" ích trong syslog - hãy thử dmesg | tail hoặc tương tự\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "đầy bảng gắn"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s không đọc được siêu khối"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: khĂ´ng hiá»u thiáşżt bị"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: khĂ´ng hiá»u kiá»u hệ thống táş­p tin '%s'"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: có thỠmuốn đặt %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: có thỠmuốn đặt 'iso9660'?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: có thỠmuốn đặt 'vfat'?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s cĂł số hiệu thiáşżt bị sai hoáş·c chĆ°a há»— trợ kiá»u hệ thống táş­p tin %s"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+"mount: %s không phải là một thiết bị khối, và stat (lấy trạng thái) không "
+"thĂ nh cĂ´ng?"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount: hạt nhân không nhận ra %s như là thiết bị khối\n"
+" (cĂł thá» thá»­ \"modprobe driver\" ?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s không phải là thiết bị khối (có thỠhãy thử `-o loop'?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s không phải là thiết bị khối"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s không phải là thiết bị khối thích hợp"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "thiết bị khối "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: không gắn được %s%s với chế độ chỉ đọc"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s được bảo vệ khỏi ghi nhưng đưa ra cờ `-w' (write, ghi)"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: không thỠlắp lại %s%s đọc-ghi vì nó cấm ghi"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s được bảo vệ khỏi ghi, đang gắn chỉ đọc"
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: không tìm thấy vật chứa trên %s"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+"mount: %s khĂ´ng chứa nhĂŁn kiá»u SELinux.\n"
+"\tBạn vừa mới gắn kết một hệ thống tập tin mà hỗ trợ nhãn\n"
+"\tnhĆ°ng cĹ©ng khĂ´ng cĂł nhĂŁn, Ä‘áşżn má»™t máy kiá»u SELinux.\n"
+"\tRất có thỠlà ứng dụng bị giam hãm sẽ tạo thông điệp AVC\n"
+"\tvĂ  khĂ´ng cĂł quyá»n truy cáş­p Ä‘áşżn hệ thống táş­p tin nĂ y.\n"
+"\tÄá» tìm chi tiáşżt, xem trang hĆ°á»›ng dáş«n (man) restorecon(8) vĂ  mount(8).\n"
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+"mount: khĂ´ng Ä‘Ć°a ra kiá»u hệ thống táş­p tin nĂŞn coi nhĆ° nfs vì cĂł dấu hai "
+"chấm\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: khĂ´ng Ä‘Ć°a ra kiá»u hệ thống táş­p tin nĂŞn giả sá»­ smbfs vì cĂł // Ä‘áş±ng "
+"trĆ°á»›c\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr "gắn: lờ đi %s (không thỠphân tích được offset= tuỳ chọn)\n"
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: đã gắn %s trên %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"Sử dụng: mount -V : in ra phiên bản\n"
+" mount -h : in ra trợ giúp này\n"
+" mount : liệt kê các hệ thống tập tin đã gắn\n"
+" mount -l : như trên, bao gồm cả nhãn khối tin\n"
+"\n"
+"Phần trước là phần thông tin. Tiếp theo gắn.\n"
+"Câu lệnh là:\n"
+"\tmount [-t kiá»u_hệ_thống_táş­p_tin] mục vị_trĂ­.\n"
+"\n"
+"Chi tiết tìm thấy trong \"/etc/fstab\" có thỠbị bỏ đi.\n"
+" mount -a [-t|-O] ... : gắn mọi thứ từ \"/etc/fstab\"\n"
+" mount thiết_bị : gắn thiết bị này vào nơi đã biết\n"
+" mount thư_mục : gắn thiết bị đã biết vào thư mục này\n"
+" mount -t kiá»u thiáşżt_bị thĆ°_mục : câu lệnh gắn chuáş©n\n"
+"\n"
+"Chú ý rằng người dùng không thực sự gắn một thiết bị, mà gắn hệ thống\n"
+"táş­p tin (vá»›i kiá»u Ä‘Ć°a ra) tìm thấy trĂŞn thiáşżt bị.\n"
+"Người dùng cũng có thỠgắn cây thư mục đã gắn vào nơi khác:\n"
+" mount --bind thư_mục_cũ thư_mục_mới\n"
+"hoáş·c di chuyá»n má»™t cây thĆ° mục con:\n"
+" mount --move thư_mục_cũ thư_mục_mới\n"
+"\n"
+"CĹ©ng cĂł thá» thay đổi kiá»u đồ gắn chứa thĆ° má»™t mục nĂ o Ä‘Ăł:\n"
+" mount --make-shared thư_mục\tkhiến đồ gắn dùng chung\n"
+" mount --make-slave thư_mục\tkhiến đồ gắn phụ\n"
+" mount --make-private thư_mục\tkhiến đồ gắn riêng\n"
+" mount --make-unbindable thư_mục khiến thư mục không thỠđóng kết\n"
+"\n"
+"CĹ©ng cĂł thá» thay đổi kiá»u của mọi đồ gán trong cĂąng má»™t cây con gắn\n"
+"chứa một thư mục nào đó:\n"
+" mount --make-rshared thư_mục\n"
+" mount --make-rslave thư_mục\n"
+" mount --make-rprivate thư_mục\n"
+" mount --make-runbindable thư_mục\n"
+"\n"
+"Có thỠxác định thiết bị theo tên (v.d. \"/dev/hda1\" hay \"/dev/cdrom\",\n"
+"hoặc theo nhãn, dùng tùy chọn \"-L nhãn\",\n"
+"hoặc theo UUID, dùng tùy chọn \"-U UUID\" .\n"
+"\n"
+"Tùy chọn khác: [-nfFrsvw] [-o tùy_chọn] [-p thư_mục_chứa_tập_tin_mật_khẩu].\n"
+"Äá» xem rất nhiá»u chi tiáşżt, dĂąng lệnh \"man 8 mount\".\n"
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount: chỉ người chủ (root) cĂł quyá»n lĂ m Ä‘Ăł (UID cĂł káşżt quả lĂ  %u)"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount: chỉ người chủ (root) cĂł quyá»n thá»±c hiện"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "không gắn gì cả"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount: không tìm thấy phân vùng như vậy"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: không tìm thấy %s trong %s hoặc %s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: cảnh báo: không có dòng mới đặt ở cuối %s\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: dòng %d trong %s xấu %s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr "; bỏ qua phần còn lại của tập tin"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "lỗi (bug) trong lời gọi xstrndup"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "không đủ bộ nhớ"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: không biên dịch hỗ trợ -f\n"
+
+#: mount-deprecated/umount.c:139
+#, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount: không đặt được id nhóm: %m"
+
+#: mount-deprecated/umount.c:142
+#, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount: không đặt được id người dùng: %m"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: không thỠphân nhánh %s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: thiết bị khối không hợp lệ"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: chưa gắn"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: không thỠghi siêu khối"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount: %s: thiết bị đang bận.\n"
+"\t(Trong một số trường hợp nào đó,\n"
+"\thàm lsof(8) hoặc fuser(1) có thỠtìm\n"
+"\tthông tin có ích vỠcác tiến trình đang dùng thiết bị."
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: không tìm thấy"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: phải là siêu người dùng (root) đỠbỏ gắn"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: thiết bị khối không cho phép trên hệ thống tập tin"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr "gắn: lỗi nội bộ: đường dẫn tuyệt đối không hợp lệ: %s"
+
+#: mount-deprecated/umount.c:254
+#, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "khĂ´ng chuyá»n thĆ° mục Ä‘áşżn %s: %m"
+
+#: mount-deprecated/umount.c:257
+#, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "umount: gặp lỗi khi lấy thư mục hiện hành: %m"
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "umount: Ä‘iá»m gắn Ä‘ĂŁ bị di chuyá»n (%s -> %s)"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr "thĆ° mục hiện hĂ nh được di chuyá»n Ä‘áşżn %s\n"
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "khĂ´ng cĂł umount2, Ä‘ang thá»­ umount..\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s bận - gắn lại chỉ đọc\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: không thỠgắn lại %s chỉ đọc\n"
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s đã bỏ gắn\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: không tìm thấy danh sách hệ thống tập tin đỠbỏ gắn"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Sử dụng: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t loại_VFS ...] [-O "
+"tuỳ_chọn ...]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+"\n"
+"special\tđặc biệt\n"
+"node\tnĂşt\n"
+
+#: mount-deprecated/umount.c:558
+#, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "phân tích tuỳ chọn 'offset=%s' gặp lỗi\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "thiết bị %s tương ứng với %s\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "thiết bị %s không tương ứng với %s\n"
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr "Không bỏ gắn được \"\"\n"
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr "Äang thá»­ bỏ gắn %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: biĚŁ lâĚn lĂ´ĚŁn khi phân tĂ­ch mtab"
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+"umount: không thỠtháo gắn kết %s — %s được gắn kết ở trên nó ở cùng một "
+"Ä‘iá»m."
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Không tìm thấy %s trong mtab\n"
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr "%s tương ứng với %s\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+"bỏ gắn: cảnh báo: %s được tiáşżp hợp vá»›i nhiá»u hơn má»™t thiáşżt bị vòng láş·p\n"
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s chưa gắn (theo mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: cĂł váş» lĂ  %s được gắn nhiá»u lần"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s không có trong fstab (và người dùng không phải là root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: gắn %s không tương ứng fstab"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: chỉ có %s có thỠbỏ gắn %s từ %s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount: chỉ người chủ (root) cĂł quyá»n thá»±c hiện"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+"\n"
+"chrt - thao tác các thuộc tính thời gian thật của một tiến trình nào đó\n"
+"\n"
+"Lập chính sách:\n"
+" chrt [tuỳ_chọn] <chính_sách> <ưu_tiên> {<pid> | <lệnh> [<đối_số> ...]}\n"
+"\n"
+"Lấy chính sách:\n"
+" chrt [tuỳ_chọn] {<pid> | <lệnh> [<đối_số> ...]}\n"
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+"\n"
+"Äịnh thời chĂ­nh sách\n"
+" -b | --batch lập chính sách thành SCHED_BATCH\n"
+" -f | --fifo lập chính sách thành SCHED_FIFO\n"
+" -i | --idle lập chính sách thành SCHED_IDLE\n"
+" -o | --other lập chính sách thành SCHED_OTHER\n"
+" -r | --rr lập chính sách thành SCHED_RR (mặc định)\n"
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+"\n"
+"Cờ định thời:\n"
+" -R | --reset-on-fork láş­p SCHED_RESET_ON_FORK cho FIFO hay RR\n"
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+"\n"
+"Tuỳ chọn:\n"
+" -h | --help hiá»n thị trợ giĂşp nĂ y\n"
+" -a | --all-tasks tác Ä‘á»™ng lĂŞn toĂ n bá»™ các tác vụ (tuyá»n) cho pid Ä‘ĂŁ "
+"chỉ ra\n"
+" -m | --max hiá»n thị mức Ć°u tiĂŞn hợp lệ cả hai tối Ä‘a vĂ  tối "
+"thiá»u\n"
+" -p | --pid thao tác một PID hợp lệ đã có\n"
+" -v | --verbose hiá»n thị thĂ´ng tin vá» trạng thái\n"
+" -V | --version xuất thông tin vỠphiên bản\n"
+"\n"
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "lỗi lấy chính sách của PID %d"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "chính sách định thời mới của PID %d: "
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "chính sách định thời hiện thời của PID %d: "
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr "khĂ´ng hiá»u chĂ­nh sách thời khĂła biá»u"
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "lỗi lấy các thuộc tính vỠPID %d"
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "mức ưu tiên định thời mới của PID %d: %d\n"
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "mức ưu tiên định thời hiện thời của PID %d: %d\n"
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "SCHED_%s Ć°u tiĂŞn tiá»u/Ä‘a\t: %d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s không được hỗ trợ ?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+msgid "cannot obtain the list of tasks"
+msgstr "không thỠlấy thấy danh sách tác vụ"
+
+#: schedutils/chrt.c:299
+msgid "invalid priority argument"
+msgstr "đối số mức ưu tiên không hợp lệ"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+"Cờ SCHED_RESET_ON_FORK được hỗ trợ chỉ cho chính sách SCHED_FIFO và SCHED_RR"
+
+#: schedutils/chrt.c:323
+#, c-format
+msgid "failed to set tid %d's policy"
+msgstr "lỗi đặt tid của chính sách %d"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "lỗi đặt chính sách của PID %d"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "lỗi thực hiện %s"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "ioprio_get bị lỗi"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "ioprio_set bị lỗi"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"%1$s - đặt hay lấy tiến trình lớp lập lịnh vào ra và mức ưu tiên.\n"
+"\n"
+"Usage:\n"
+" %1$s [TUỲ_CHỌN] -p PID [PID...]\n"
+" %1$s [TUỲ_CHỌN] LỆNH\n"
+"\n"
+"Các tuỳ chọn:\n"
+" -c, --class <class> tĂŞn hay số của lá»›p lịch biá»u\n"
+" 0: không, 1: thời gian thực, 2: best-effort, 3: "
+"idle\n"
+" -n, --classdata <num> dữ liệu của lá»›p lịch biá»u\n"
+" 0-7 cho lớp hệ thống thời gian thực và best-"
+"effort\n"
+" -p, --pid=PID hiá»n thị hay chỉnh sá»­ tiáşżn trình Ä‘ĂŁ chạy sáşµn rồi\n"
+" -t, --ignore lờ đi các thất bại\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: schedutils/ionice.c:148
+msgid "invalid class data argument"
+msgstr "đối số lớp dữ liệu không hợp lệ"
+
+#: schedutils/ionice.c:154
+msgid "invalid class argument"
+msgstr "đối số lớp không hợp lệ"
+
+#: schedutils/ionice.c:159
+#, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "khĂ´ng hiá»u lá»›p thời khoá biá»u: '%s'"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr "đang lờ đi dữ liệu hạng đưa ra cho hạng \"không có\""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr "đang lờ đi dữ liệu hạng đưa ra cho hạng nghỉ"
+
+#: schedutils/ionice.c:196
+#, c-format
+msgid "unknown prio class %d"
+msgstr "khĂ´ng hiá»u lá»›p prio: %d"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "không thực hiện được %s"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+"Sử dụng: %s [tuỳ_chọn] [bộ_lọc | danh_sách_CPU] [PID|lệnh [đối_số...]]\n"
+"\n"
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+"Tuỳ chọn:\n"
+" -a, --all-tasks thao tác trên tất cả các tác vụ (tuyến) với pid đã "
+"cho\n"
+" -p, --pid thao tác trên PID đưa ra đã sẵn có\n"
+" -c, --cpu-list hiá»n thị vĂ  ghi rõ các CPU theo định dạng danh "
+"sách\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y\n"
+" -V, --version xuất thông tin vỠphiên bản\n"
+"\n"
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+"Ứng xử mặc định là chạy một câu lệnh mới\n"
+" %1$s 03 sshd -b 1024\n"
+"Bạn có thỠlấy bộ lọc của một công việc đã có:\n"
+" %1$s -p 700\n"
+"Hoáş·c láş­p nĂł:\n"
+" %1$s -p 03 700\n"
+"Äịnh dạng danh sách thì dĂąng má»™t danh sách định giá»›i báş±ng dấu pháş©y\n"
+"thay cho một bộ lọc:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Phạm vi theo định dạng danh sách cĂł khả nÄng chấp nháş­n má»™t đối số stride:\n"
+" v.d.. 0-31:2 tương đương với bộ lọc 0x55555555\n"
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem taskset(1).\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr "danh sách quan hệ bộ xử lý mới của PID %d: %s\n"
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr "danh sách quan hệ bộ xử lý hiện thời của PID %d: %s\n"
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr "bộ lọc quan hệ bộ xử lý mới của PID %d: %s\n"
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr "bộ lọc quan hệ bộ xử lý hiện thời của PID %d: %s\n"
+
+#: schedutils/taskset.c:97
+msgid "conversion from cpuset to string failed"
+msgstr "chuyá»n đổi cpuset thĂ nh chuá»—i gáş·p lá»—i"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "lỗi lấy quan hệ bộ xử lý của PID %d"
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "lỗi đặt quan hệ bộ xử lý của PID %d"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "không thỠquyết định NR_CPUS nên hủy bỏ"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr "cpuset_alloc bị lỗi"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "lỗi phân tích danh sách CPU: %s"
+
+#: schedutils/taskset.c:217
+#, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "lỗi phân tích mặt nạ CPU: %s"
+
+#: sys-utils/arch.c:79
+msgid "uname failed"
+msgstr "uname khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, c-format
+msgid "CPU %d does not exist\n"
+msgstr "CPU %d chĆ°a cĂł\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr "CPU %d chưa được gắn\n"
+
+#: sys-utils/chcpu.c:88
+#, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "CPU %d chưa được bâtk\n"
+
+#: sys-utils/chcpu.c:92
+#, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "CPU %d đã được tắt\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr "CPU %d bật gặp lỗi (CPU bị bỏ cấu hình)\n"
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr "CPU %d báş­t gáş·p lá»—i (%m)\n"
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr "CPU %d được bật\n"
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr "CPU %d tắt gặp lỗi (CPU được bật cuối cùng)\n"
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr "CPU %d tắt gặp lỗi (%m)\n"
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr "CPU %d bị tắt\n"
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr "Hệ thống này không hỗ trợ quét tìm lại của CPU"
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr "Gặp lỗi khi bẫy việc quét tìm lại CPUs"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr "Bẫy quét tìm của CPUs\n"
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+"Hệ thống này không hỗ trọ cài đặt chế độ phân phối của các bộ vi xử lý."
+
+#: sys-utils/chcpu.c:142
+msgid "Failed to set horizontal dispatch mode"
+msgstr "Gáş·p lá»—i khi Ä‘áş·t cháşż Ä‘á»™ phân phối theo chiá»u ngang"
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "Äáş·t thĂ nh cháşż Ä‘á»™ phân phối theo chiá»u ngang má»™t cách thĂ nh cĂ´ng\n"
+
+#: sys-utils/chcpu.c:146
+msgid "Failed to set vertical dispatch mode"
+msgstr "Gáş·p lá»—i khi Ä‘áş·t cháşż Ä‘á»™ phân phối theo chiá»u dọc"
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "Äáş·t thĂ nh cháşż Ä‘á»™ phân phối theo chiá»u dọc má»™t cách thĂ nh cĂ´ng\n"
+
+#: sys-utils/chcpu.c:165
+#, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "CPU %d không thỠcấu hình\n"
+
+#: sys-utils/chcpu.c:170
+#, c-format
+msgid "CPU %d is already configured\n"
+msgstr "CPU %d chưa được cấu hình\n"
+
+#: sys-utils/chcpu.c:174
+#, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "CPU %d đã được cấu hình rồi\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr "CPU %d bỏ cấu hình gặp lỗi (CPU được bật)\n"
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr "CPU %d cấu hình gặp lỗi (%m)\n"
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr "CPU %d đã được cấu hình\n"
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr "CPU %d bỏ cấu hình gặp lỗi (%m)\n"
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr "CPU %d bỏ cấu hình\n"
+
+#: sys-utils/chcpu.c:208
+#, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "số CPU sai trong danh sách CPU: %s"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+"%s [các_tùy_chọn]\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y\n"
+" -e, --enable <cpu-list> bật các cpu\n"
+" -d, --disable <cpu-list> tắt các cpu\n"
+" -c, --configure <cpu-list> cấu hình các cpu\n"
+" -g, --deconfigure <cpu-list> bỏ cấu hình cpu\n"
+" -p, --dispatch <mode> đặt chế độ phân phối\n"
+" -r, --rescan bẫy quét lại của các cpu\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+
+#: sys-utils/chcpu.c:300
+#, c-format
+msgid "unsupported argument: %s"
+msgstr "tham số không hỗ trợ: %s"
+
+#: sys-utils/ctrlaltdel.c:21
+#, c-format
+msgid " %s <hard|soft>\n"
+msgstr " %s <hard|soft>\n"
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "Phải lĂ  người chủ (root) Ä‘á» Ä‘áş·t tĂ­nh nÄng của Ctrl-Alt-Del"
+
+#: sys-utils/cytune.c:92
+#, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr " %s [tuỳ chọn] <tty> [...]\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr " -s, --set-threshold <số> đặt giá trị ngưỡng ngắt\n"
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr " -g, --get-threshold hiá»n thị giá trị ngưỡng hiện tại\n"
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+" -S, --set-default-threshold <số> đặt giá trị ngưỡng mặc định\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr " -t, --set-flush <số> đặt thời gian quá giờ cho flush\n"
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+" -G, --get-glush hiá»n thị giá trị quá giờ flush máş·c định\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+" -T, --set-default-flush <số> đặt giá trị quá giờ mặc định cho flush\n"
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr " -q, --stats trình bày thống kê vỠtty\n"
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr " -i, --interval <giây> thu thập thống kê sau mỗi <giây>\n"
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Tập tin %s, Cho giá trị ngưỡng %lu, Số ký tự lớn nhất trong fifo là %d,\n"
+"vĂ  tốc Ä‘á»™ truyá»n tải lá»›n nhất tĂ­nh theo kĂ˝ tá»±/giây lĂ  %f"
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"Tập tin %s, Cho giá trị ngưỡng %lu, và giá trị thời gian chờ %lu, Số ký tự "
+"lớn nhất trong fifo là %d,\n"
+"vĂ  tốc Ä‘á»™ truyá»n tải lá»›n nhất tĂ­nh theo kĂ˝ tá»±/giây lĂ  %f"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday (lấy giờ) không thành công"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "không phát hành CYGETMON được trên %s"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, c-format
+msgid "cannot get threshold for %s"
+msgstr "Không lấy được ngưỡng cho %s"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, c-format
+msgid "cannot get timeout for %s"
+msgstr "không lấy được thời gian chờ cho %s"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ngắt, %lu/%lu ký tự; fifo: %lu ngưỡng, %lu thời hạn, %lu tối đa, %lu "
+"bây giờ\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f int/giây; %f rec, %f gửi (kýtự/giây)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ngắt, %lu ký tự; fifo: %lu ngưỡng, %lu thời hạn, %lu tối đa, %lu bây "
+"giờ\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f int/giây; %f rec (kýtự/giây)\n"
+
+#: sys-utils/cytune.c:326
+msgid "Invalid interval value"
+msgstr "Giá trị nhịp thời gian không đúng"
+
+#: sys-utils/cytune.c:328
+#, c-format
+msgid "Invalid interval value: %d"
+msgstr "Giá trị khoảng thời gian không đúng: %d"
+
+#: sys-utils/cytune.c:335
+msgid "Invalid set value"
+msgstr "Giá trị đặt không đúng"
+
+#: sys-utils/cytune.c:337
+#, c-format
+msgid "Invalid set value: %d"
+msgstr "Giá trị đặt không đúng: %d"
+
+#: sys-utils/cytune.c:344
+msgid "Invalid default value"
+msgstr "Giá trị mặc định không đúng"
+
+#: sys-utils/cytune.c:346
+#, c-format
+msgid "Invalid default value: %d"
+msgstr "Giá trị mặc định không đúng: %d"
+
+#: sys-utils/cytune.c:354
+msgid "Invalid set time value"
+msgstr "Giá trị đặt thời gian không đúng"
+
+#: sys-utils/cytune.c:356
+#, c-format
+msgid "Invalid set time value: %d"
+msgstr "Giá trị đặt thời gian không đúng: %d"
+
+#: sys-utils/cytune.c:364
+msgid "Invalid default time value"
+msgstr "Giá trị thời gian mặc định không đúng"
+
+#: sys-utils/cytune.c:366
+#, c-format
+msgid "Invalid default time value: %d"
+msgstr "Giá trị thời gian mặc định không đúng: %d"
+
+#: sys-utils/cytune.c:409
+#, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "Không đặt được %s cho ngưỡng %d"
+
+#: sys-utils/cytune.c:423
+#, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "Không đặt được %s cho ngưỡng thời gian %d"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld ngưỡng hiện thời và %ld thời gian chờ hiện thời\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld ngưỡng mặc định và %ld thời gian chờ mặc định\n"
+
+#: sys-utils/dmesg.c:72
+msgid "system is unusable"
+msgstr "hệ thống không thỠsử dụng"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr "hành động phải được nắm ngay lập tức"
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr "Ä‘iá»u kiện tá»›i hạn"
+
+#: sys-utils/dmesg.c:75
+msgid "error conditions"
+msgstr "Ä‘iá»u kiện lá»—i"
+
+#: sys-utils/dmesg.c:76
+msgid "warning conditions"
+msgstr "Ä‘iá»u kiện cảnh báo"
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr "thĂ´ng thường nhĆ°ng Ä‘iá»u kiện lĂ  quan trọng"
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr "thĂ´ng tin"
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr "thông điệp mức gỡ lỗi"
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr "thông điệp nhân"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr "thông điệp ngẫu nhiên mức người dùng"
+
+#: sys-utils/dmesg.c:95
+msgid "mail system"
+msgstr "hệ thống thư"
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr "daemon hệ thống"
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr "thông điệp an ninh và xác thực"
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr "thông điệp được tạo ra từ nội bộ bên trong bởi syslogd"
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr "hệ thống con máy in dòng"
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr "hệ thống mạng phụ mới"
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr "hệ thống phụ UUCP"
+
+#: sys-utils/dmesg.c:102
+msgid "clock daemon"
+msgstr "daemon (dịch vụ) đồng hồ"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr "thông tin an-ninh/chứng-thực (riêng tư)"
+
+#: sys-utils/dmesg.c:104
+msgid "ftp daemon"
+msgstr "daemon (dịch vụ) ftp"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+" -C, --clear xoá sạch bộ đệm vòng nhân (kernel)\n"
+" -c, --read-clear đọc và xoá sạch tất cả các thông điệp\n"
+" -D, --console-off tắt hiá»n thị thĂ´ng Ä‘iệp tá»›i thiáşżt bị console\n"
+" -d, --show-delta hiá»n thị thời gian delta giữa các thĂ´ng Ä‘iệp "
+"được hiá»n thị\n"
+" -e, --reltime hiá»n thị thời gian địa phương vĂ  delta ở định "
+"dạng có thỠđọc được\n"
+" -E, --console-on cho phĂ©p hiá»n thị thĂ´ng Ä‘iệp tá»›i thiáşżt bị "
+"console\n"
+" -F, --file <file> sử dụng tập tin thay vì bộ đệm nhật ký nhân\n"
+" -f, --facility <list> hạn chế kết xuất đến các phương tiện đã định "
+"nghĩa\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+" -k, --kernel hiá»n thị thĂ´ng Ä‘iệp nhân\n"
+" -l, --level <list> hạn chế kết xuất đến các mức đã định nghĩa\n"
+" -n, --console-level <level> Ä‘áş·t mức của thĂ´ng Ä‘iệp được hiá»n thị ở thiáşżt bị "
+"console\n"
+" -r, --raw hiá»n thị ra bá»™ đệm thĂ´ng Ä‘iệp dạng thĂ´\n"
+" -S, --syslog ép buộc sử dụng syslog(2) thay vì /dev/kmsg\n"
+" -s, --buffer-size <size> kích thước bộ đỠđỠtruy vấn bộ đệm vòng nhân\n"
+" -T, --ctime hiá»n thị dấu váşżt thời gian dạng cho con người "
+"đọc (có lẽ \n"
+" sai nếu bạn sử dụng SUSPEND/RESUME)\n"
+" -t, --notime khĂ´ng hiá»n thị dấu váşżt thời gian\n"
+" -u, --userspace hiá»n thị thĂ´ng Ä‘iệp mức người dĂąng\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode giải mã phương tiên và mức thành chỗi có thỠ"
+"đọc được\n"
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+"\n"
+"Hỗ trợ các phương tiện ghi nhật ký:\n"
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+"\n"
+"Các mức ghi nhật ký (mức ưu tiên):\n"
+
+#: sys-utils/dmesg.c:260
+#, c-format
+msgid "failed to parse level '%s'"
+msgstr "không phân tích được mức '%s'"
+
+#: sys-utils/dmesg.c:262
+#, c-format
+msgid "unknown level '%s'"
+msgstr "khĂ´ng hiá»u mức '%s'"
+
+#: sys-utils/dmesg.c:298
+#, c-format
+msgid "failed to parse facility '%s'"
+msgstr "gặp lỗi khi phân tích phương tiện '%s'"
+
+#: sys-utils/dmesg.c:300
+#, c-format
+msgid "unknown facility '%s'"
+msgstr "khĂ´ng hiá»u phương tiện '%s'"
+
+#: sys-utils/dmesg.c:415
+msgid "sysinfo failed"
+msgstr "lấy thông tin hệ thống (sysinfo) gặp lỗi"
+
+#: sys-utils/dmesg.c:442
+#, c-format
+msgid "cannot mmap: %s"
+msgstr "khĂ´ng thá» mmap: %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+msgid "write failed"
+msgstr "lá»—i ghi"
+
+#: sys-utils/dmesg.c:1132
+msgid "invalid buffer size argument"
+msgstr "đối số kích cỡ không hợp lệ"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+"tuỳ chọn --raw không thỠsử dụng cùng với các tuỳ chọn level, facility, "
+"decode, delta, ctime hay notime"
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr "--notime không thỠsử dụng cùng với --ctime hay --reltime"
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr "--reltime không thỠsử dụng cùng với --ctime"
+
+#: sys-utils/dmesg.c:1192
+msgid "read kernel buffer failed"
+msgstr "đọc bộ đệm kernel gặp lỗi"
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr "lệnh không được hỗ trợ"
+
+#: sys-utils/dmesg.c:1211
+msgid "klogctl failed"
+msgstr "klogctl gáş·p lá»—i"
+
+#: sys-utils/eject.c:135
+#, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr "%s [tĂąy chọn] [<thiáşżt-bị>|<Ä‘iá»m-gắn>]\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+" -a, --auto <on|off> báş­t tĂ­nh nÄng tá»±-Ä‘áş©y-Ä‘Ä©a lĂ  tắt hoáş·c báş­t\n"
+" -c, --changerslot <slot> chuyá»n Ä‘Ä©a trĂŞn bá»™ chuyá»n Ä‘Ä©a CD-ROM\n"
+" -d, --default hiá»n thị thiáşżt bị máş·c định\n"
+" -f, --floppy Ä‘áş©y Ä‘Ä©a má»m\n"
+" -F, --force khĂ´ng quan tâm kiá»u thiáşżt bị lĂ  gì\n"
+" -i, --manualeject <on|off> báş­t/tắt chức nÄng bảo vệ Ä‘áş©y Ä‘Ä©a ra báş±ng tay\n"
+" -m, --no-unmount không bỏ gắn thậm chí cả khi nó đã được gắn\n"
+" -M, --no-partitions-unmount không bỏ gắn các phân vùng khác\n"
+" -n, --noop khĂ´ng Ä‘áş©y ra, chỉ hiá»n thị các thiáşżt bị tìm "
+"thấy\n"
+" -p, --proc sử dụng /proc/mounts thay vì /etc/mtab\n"
+" -q, --tape Ä‘áş©y bÄng từ\n"
+" -r, --cdrom Ä‘áş©y Ä‘Ä©a CD-ROM\n"
+" -s, --scsi đẩy thiết bị SCSI\n"
+" -t, --trayclose Ä‘Ăłng khay Ä‘Ä©a\n"
+" -T, --traytoggle đóng/mở khay đĩa\n"
+" -v, --verbose cho phĂ©p hiá»n thị chi tiáşżt cĂ´ng việc\n"
+" -x, --cdspeed <speed> đặt tốc độ CD-ROM tối đa\n"
+" -X, --listspeed liệt kê tốc độ CD-ROM sẵn có\n"
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+"\n"
+"Theo mặc định các mục -r, -s, -f, và -q thực hiện theo thứ tự này cho đến "
+"khi thĂ nh cĂ´ng.\n"
+
+#: sys-utils/eject.c:208
+msgid "invalid argument to --auto/-a option"
+msgstr "đối số không hợp lệ đối với tùy chọn --auto/-a"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr "đối số không hợp lệ đối với tùy chọn --changerslot/-c"
+
+#: sys-utils/eject.c:216
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "đối số không hợp lệ đối với tùy chọn --cdspeed/-x"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr "đối số không hợp lệ đối với tùy chọn --manualeject/-i"
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr "Lệnh đẩy đĩa CD-ROM ra tự động gặp lỗi"
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr "Lệnh khóa cửa CD-ROM gặp lỗi"
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr "ÄÄ©a CD-ROM cĂł láş˝ khĂ´ng thỠđược Ä‘áş©y ra vá»›i nĂşt ở thiáşżt bị"
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr "ÄÄ©a CD-ROM cĂł láş˝ được Ä‘áş©y ra vá»›i nĂşt ở thiáşżt bị"
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr "Lệnh chọn đĩa cho CD-ROM gặp lỗi"
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr "tài CD-ROM từ lệnh slot gặp lỗi"
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr "Thay đổi IDE/ATAPI CD-ROM không được hỗ trợ bởi kernel này\n"
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr "Lệnh đóng đĩa CD-ROM vào gặp lỗi"
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr "Lệnh đóng đĩa CD-ROM vào không được hỗ trợ bởi kernel này\n"
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr "Äáş©y Ä‘Ä©a CD-ROM ra khĂ´ng được há»— trợ"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr "Lệnh đẩy đĩa CD-ROM ra gặp lỗi"
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr "khĂ´ng cĂł thĂ´ng tin CD-ROM sáşµn sĂ ng"
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr "á»” Ä‘Ä©a CD-ROM chĆ°a sáşµn sĂ ng"
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr "Lệnh chọn tốc độ cho CD-ROM gặp lỗi"
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr "Lệnh chọn tốc độ đĩa CD-ROM không được hỗ trợ bởi kernel này"
+
+#: sys-utils/eject.c:521
+#, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s: lỗi khi lấy tên CD-ROM"
+
+#: sys-utils/eject.c:536
+#, c-format
+msgid "%s: failed to read speed"
+msgstr "%s: đọc tốc độ gặp lỗi"
+
+#: sys-utils/eject.c:544
+msgid "failed to read speed"
+msgstr "đọc tốc độ gặp lỗi"
+
+#: sys-utils/eject.c:588
+msgid "not an sg device, or old sg driver"
+msgstr "khĂ´ng phải lĂ  thiáşżt bị sg, hoáş·c trình Ä‘iá»u khiá»n sg quá cĹ©"
+
+#: sys-utils/eject.c:650
+#, c-format
+msgid "%s: unmounting"
+msgstr "%s: đang bỏ gắn"
+
+#: sys-utils/eject.c:658
+msgid "eject: cannot set user id"
+msgstr "eject: không đặt được id người dùng"
+
+#: sys-utils/eject.c:665
+#, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "kinh táşż thi hĂ nh /bin/umount cho `%s'"
+
+#: sys-utils/eject.c:668
+msgid "unable to fork"
+msgstr "không thỠtạo tiến trình con"
+
+#: sys-utils/eject.c:675
+#, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "bỏ gắn \"%s\" không thoát bình thường"
+
+#: sys-utils/eject.c:678
+#, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "bỏ gắn `%s' gặp lỗi\n"
+
+#: sys-utils/eject.c:719
+msgid "failed to parse mount table"
+msgstr "gặp lỗi khi phân tích bảng gắn"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, c-format
+msgid "%s: mounted on %s"
+msgstr "%s: được gắn vào %s"
+
+#: sys-utils/eject.c:877
+#, c-format
+msgid "%s: is removable device"
+msgstr "%s: là thiết bị tháo lắp được"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr "%s: được kết nối bởi hệ thống con cắm-nóng: %s"
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr "đặt tốc độ cho CD-ROM thành tự động"
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr "đặt tốc độ cho CD-ROM thành tự động %ldX"
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr "thiết bị mặc định: `%s'"
+
+#: sys-utils/eject.c:952
+#, c-format
+msgid "using default device `%s'"
+msgstr "sử dụng thiết bị mặc định `%s'"
+
+#: sys-utils/eject.c:971
+#, c-format
+msgid "%s: unable to find device"
+msgstr "%s: không thỠtìm thiết bị"
+
+#: sys-utils/eject.c:973
+#, c-format
+msgid "device name is `%s'"
+msgstr "tên thiết bị là `%s'"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, c-format
+msgid "%s: not mounted"
+msgstr "%s: chưa gắn"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr "%s: thiết bị đĩa: %s (thiết bị đĩa sẽ được đẩy ra)"
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr "%s: khĂ´ng tìm thấy Ä‘iá»m gắn hay thiáşżt bị cĂł tĂŞn Ä‘ĂŁ chỉ ra"
+
+#: sys-utils/eject.c:994
+#, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s: là thiết bị toàn-bộ-đĩa"
+
+#: sys-utils/eject.c:998
+#, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s: không phải là thiết bị cắm nóng"
+
+#: sys-utils/eject.c:1002
+#, c-format
+msgid "device is `%s'"
+msgstr "thiết bị là `%s'"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr "thoát ra bởi vì tùy chọn -n/--noop"
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr "%s: báş­t cháşż Ä‘á»™ tá»±-Ä‘á»™ng-Ä‘áş©y-khay-Ä‘Ä©a"
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr "%s: tắt chế độ tự-động-đẩy-khay-đĩa"
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr "%s: Ä‘Ăłng khay"
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr "%s: đóng/mở khay"
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr "%s: liệt kê tốc độ CD-ROM"
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr "lỗi: %s: thiết bị đang được sử dụng"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr "%s: đang chọn đĩa CD-ROM #%ld"
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr "%s: đang thử đẩy đĩaCD-ROM ra sử dụng lệnh eject"
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr "Lệnh đẩy đĩa CD-ROM ra thành công"
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr "%s: đang thử đẩy đĩaCD-ROM ra sử dụng lệnh SCSI"
+
+#: sys-utils/eject.c:1102
+msgid "SCSI eject succeeded"
+msgstr "đẩy đĩa ra sử dụng SCSI thành công"
+
+#: sys-utils/eject.c:1103
+msgid "SCSI eject failed"
+msgstr "đẩy đĩa ra sử dụng SCSI gặp lỗi"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr "%s: Ä‘ang thá»­ Ä‘áş©y Ä‘Ä©a má»m ra sá»­ dụng lệnh eject"
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr "lệnh Ä‘áş©y Ä‘Ä©a má»m ra thĂ nh cĂ´ng"
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr "lệnh Ä‘áş©y Ä‘Ä©a má»m ra gáş·p lá»—i"
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr "%s: đang thử đẩy đĩa ra sử dụng lệnh \"tape offline\""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr "lệnh đẩy đĩa \"tape offline\" thành công"
+
+#: sys-utils/eject.c:1117
+msgid "tape offline command failed"
+msgstr "lệnh đẩy đĩa \"tape offline\" gặp lỗi"
+
+#: sys-utils/eject.c:1121
+msgid "unable to eject"
+msgstr "không thỠmở khay được"
+
+#: sys-utils/fallocate.c:60
+#, c-format
+msgid " %s [options] <filename>\n"
+msgstr "%s [CĂC_TĂ™Y_CHỌN] <TĂŠN_TẬP_TIN>\n"
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+" -n, --keep-size đừng sá»­a đổi chiá»u dĂ i của táş­p tin\n"
+" -p, --punch-hole bấm lỗ trong tệp tin\n"
+" -o, --offset <Sá»> khoảng chĂŞnh cấp phát, theo byte\n"
+" -l, --length <Sá»> chiá»u dĂ i cấp phát, theo byte\n"
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr "chĆ°a xác định đối số chiá»u dĂ i"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr "sai xác định giá trị chiá»u dĂ i"
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr "sai xác định giá trị chênh"
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr "chưa xác định tên tập tin."
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr "gặp số các đối số bất thường"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr "chế độ giữ kích cỡ (tuỳ chọn \"-n\") không được hỗ trợ"
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s: fallocate bị lỗi"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+" %1$s [các tuỳ chọn] <số mô tả tập tin>\n"
+" %1$s [các tuỳ chọn] <tập-tin> -c <lệnh>\n"
+" %1$s [các tuỳ chọn} <thư-mục> -c <lệnh>\n"
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr " -s --shared lấy khối chia sẻ\n"
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr " -x --exclusive lấy một khoá loại trừ (mặc định)\n"
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr " -u --unlock gỡ bỏ một khoá\n"
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr " -n --nonblock làm hỏng thay vì đợi\n"
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr " -w --timeout <giây> chờ đợi có giới hạn\n"
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr " -E --conflict-exit-code <số> mã thoát sau xung đột hoặc quá giờ\n"
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr " -o --close đóng bộ mô tả tập tin trước khi chạy lệnh\n"
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr " -c --command <lệnh> chạy một câu lệnh đơn thông qua hệ vỏ shell\n"
+
+#: sys-utils/flock.c:86
+msgid "timeout cannot be zero"
+msgstr "thời gian quá giờ không thỠlà số không"
+
+#: sys-utils/flock.c:123
+#, c-format
+msgid "cannot open lock file %s"
+msgstr "không mở được tập tin khoá %s"
+
+#: sys-utils/flock.c:206
+msgid "invalid exit code"
+msgstr "mã thoát không hợp lệ"
+
+#: sys-utils/flock.c:226
+#, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s: yêu cầu chính xác một đối số lệnh"
+
+#: sys-utils/flock.c:247
+msgid "requires file descriptor, file or directory"
+msgstr "yêu cầu bộ mô tả tập tin, tập tin hay thư mục"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "waitpid bị lỗi"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, c-format
+msgid " %s [options] <mount point>\n"
+msgstr " %s [các tuỳ chọn] <Ä‘iá»m gắn>\n"
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+" -h, --help trợ giúp này\n"
+" -f, --freeze làm đông đặc hệ thống tập tin\n"
+" -u, --unfreeze bỏ đông đặc hệ thống tập tin\n"
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem fsfreeze(8).\n"
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr "chưa xác định hành động"
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr "chưa xác định tên tập tin"
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr "%s: không phải là một thư mục"
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr "%s: không đông đặc được"
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr "%s: không bỏ đông đặc được"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+" -o, --offset <số> khoảng bù (offset) tính theo bytes đỠmà bỏ qua từ đó\n"
+" -l, --length <số> độ dài byte đỠbỏ qua tính từ khoảng bù (offset)\n"
+" -m, --minimum <số> Ä‘á»™ dĂ i mở rá»™ng tối thiá»u Ä‘á» bỏ qua\n"
+" -v, --verbose hiá»n thị số byte Ä‘ĂŁ bị bỏ qua\n"
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+msgid "failed to parse length"
+msgstr "không phân tích được độ dài"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+msgid "failed to parse offset"
+msgstr "không phân tích được offset"
+
+#: sys-utils/fstrim.c:114
+msgid "failed to parse minimum extent length"
+msgstr "gáş·p lá»—i khi phân tin Ä‘á»™ dĂ i tối thiá»u của phần mở rá»™ng"
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr "chĆ°a xác định Ä‘iá»m gắn."
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, c-format
+msgid "%s: not a directory"
+msgstr "%s: không phải một thư mục"
+
+#: sys-utils/fstrim.c:145
+#, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s: FITRIM ioctl khĂ´ng thĂ nh cĂ´ng"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr "%s: %<PRIu64> bytes đã bị cắt gọn\n"
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, c-format
+msgid "cannot write %s"
+msgstr "khĂ´ng thá» ghi %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Coi như đồng hồ phần cứng được giữ tại %s.\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "ná»™i bá»™"
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+"Cảnh báo: không chấp nhận dòng thứ ba của tập tin dùng cho chỉnh sửa\n"
+"(Mong đợi: `UTC' hoặc `LOCAL' hoặc không gì cả.)"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Äiá»u chỉnh Ä‘á»™ lệch lần cuối tại %ld giây sau 1969\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Sá»± định khuĂ´n thá»±c hiện lần cuối tại %ld giây sau nÄm 1969\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Äồng hồ phần cứng lĂ  trĂŞn %s\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Chờ tiếng tíc tắc của đồng hồ...\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...lỗi đồng bộ hoá\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...đã nghe thấy tiếng tíc tắc\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"Giá trị không đúng trong đồng hồ phần cứng: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Thời gian đồng hồ phần cứng : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld giây kỠtừ "
+"nÄm 1969\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Thời gian đọc từ Äồng hồ Phần cứng: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "Äáş·t Äồng hồ Phần cứng thĂ nh %.2d:%.2d:%.2d = %ld giây ká» từ nam 1969\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Äồng hồ khĂ´ng thay đổi - chỉ thá»­ nghiệm mĂ  thĂ´i.\n"
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"Thời gian trôi qua kỠtừ thời gian tham chiếu là %.6f giây.\n"
+"Trì hoãn thêm đỠđi tới thời gian mới.\n"
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"Äồng hồ Phần cứng chứa các giá trị hoáş·c khĂ´ng Ä‘Ăşng (v.d. ngĂ y thứ 50 của "
+"tháng) hoáş·c vượt quá phạm vi chĂşng ta cĂł thá» nắm giữ (v.d. NÄm 2095)."
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f giây\n"
+
+#: sys-utils/hwclock.c:617
+msgid "No --date option specified."
+msgstr "Không chỉ ra tùy chọn --date."
+
+#: sys-utils/hwclock.c:623
+msgid "--date argument too long"
+msgstr "Tham số --date quá dài"
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"Giá trị của tùy chọn \"--date\" không phải là một ngày thích hợp.\n"
+"Trong trường hợp này, nó chứa các dấu trích dẫn."
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "ÄĆ°a ra câu lệnh date (ngĂ y tháng): %s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Không chạy được chương trình 'date' trong shell (hệ vỏ). popen() bị lỗi"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "đáp ứng từ câu lệnh date = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"Câu lệnh date (ngày tháng) đưa ra bởi %s trả lại kết quả không mong đợi.\n"
+"Câu lệnh là:\n"
+" %s\n"
+"Kết quả là:\n"
+" %s"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"Câu lệnh date (ngày tháng) đưa ra bởi %s trả lại kết quả không phải là một "
+"số nguyĂŞn, trong khi mong đợi giá trị thời gian Ä‘ĂŁ chuyá»n đổi.\n"
+"Câu lệnh là:\n"
+" %s\n"
+"Kết quả là:\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "chuá»—i ngĂ y tháng %s báş±ng %ld giây ká» từ nÄm 1969.\n"
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+"Äồng hồ Phần cứng khĂ´ng chứa thời gian thĂ­ch hợp, vì tháşż chĂşng ta khĂ´ng thá» "
+"đặt Thời gian của Hệ thống từ đó."
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Äang gọi lệnh giờ settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+"Không thiết lập đồng hồ hệ thống bở vì đang chạy trong chế độ thử nghiệm.\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr "Cần phải là người dùng root đỠđặt đồng hồ hệ thống."
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Thời gian hệ thống hiện thời: %ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr "KhĂ´ng chỉnh Ä‘á»™ lệnh thời gian vì Äồng hồ phần cứng chứa rác.\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"Không chỉnh độ lệnh thời gian vì lần định thời gian cuối cùng bằng 0,\n"
+"vì thế lịch sử xấu, và cần khởi động lại việc định thời gian.\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Không chỉnh độ lệnh thời gian vì nó nhỏ hơn một ngày kỠtừ lần định thời "
+"gian cuối cùng.\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Äồng hồ chạy sai lệch %.1f giây trong số %d giây Ä‘ĂŁ qua, vĂ  Ä‘i ngược lạiÄ‘á»™ "
+"sai lệch %f giây/ngày.\n"
+"Chỉnh lại độ sai lệch %f giây/ngày\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Thời gian kỠtừ lần chỉnh cuối cùng là %d giây\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "Cần thĂŞm %d giây vĂ  chuyá»n thời gian ngược lại %.6f giây\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Không cập nhật thời gian chỉnh vì chế độ thử nghiệm.\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Ghi nhớ cái sau tới %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr "KhĂ´ng thá» mở táş­p tin chứa các tham số Ä‘iá»u chỉnh đồng hồ (%s) Ä‘á» ghi"
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr "KhĂ´ng thá» cáş­p nháş­t táş­p tin chứa các tham số Ä‘iá»u chỉnh đồng hồ (%s)"
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr "Không cập nhật các tham số chỉnh sai lệch."
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+"Äồng hồ Phần cứng khĂ´ng cĂł thời gian thĂ­ch hợp, vì tháşż chĂşng ta khĂ´ng thá» "
+"chỉnh."
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Sáş˝ khĂ´ng Ä‘áş·t đồng hồ vì thời gian Ä‘iá»u chỉnh cuối cĂąng lĂ  số khĂ´ng thì lịch "
+"sá»­ sai."
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr "Cần chỉnh ít hơn một giây, vì thế không đặt đồng hồ.\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "Sử dụng %s.\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Không tìm thấy giao diện đồng hồ có thỠsử dụng nào.\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Không đặt được đồng hồ hệ thống.\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr "Vào %ld giây sau 1969, RTC được dự đoán đỠđọc %ld giây sau 1969.\n"
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"Nhân chỉ giữ giá trị khởi đầu cho Äồng hồ Phần cứng trĂŞn má»™t máy Alpha.\n"
+"Bản sao này của hwclock được biên dịch cho một máy khác thay vì Alpha\n"
+"(và vì thế đoán rằng không chạy trên một máy Alpha). Không thực hiện gì."
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr "Không lấy được giá trị khởi đầu từ nhân."
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Nhân đang giữ giá trị khởi đầu là %lu\n"
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+"Äá» Ä‘áş·t giá trị khởi đầu, bạn cần sá»­ dụng tĂąy chọn 'epoch' Ä‘á» thĂ´ng báo giá "
+"trị muốn đặt."
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Không đặt khởi đầu thành %d - chỉ thử nghiệm.\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Không đặt được giá trị khởi đầu trong nhân.\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr " hwclock [hàm] [tuỳ chọn...]\n"
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"HĂ m:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+" -r, --show đọc giờ từ phần cứng và in kết quả ra\n"
+" --set đặt RTC với thời gian được chỉ định với --date\n"
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+" -s, --hctosys đặt giờ hệ thống từ đồng hồ phần cứng của máy tính\n"
+" -w, --systohc đặt giờ hệ thống từ giờ hiện hành của hệ thống\n"
+" --systz đặt giờ hệ thống trên cơ sở múi giờ hiện hành\n"
+" --adjust chỉnh RTC đỠtính toán bằng cách dịch thời gian tính "
+"từ\n"
+" đồng hồ lần cuối được đặt hay chỉnh sửa\n"
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+" --getepoch hiá»n thị ra giá trị khởi đầu của đồng hồ phần cứng của "
+"nhân\n"
+" --setepoch đựt giá trị khởi đầu đồng hồ phần cứng bằng\n"
+" giá trị được đưa ra bởi --epoch\n"
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+" --predict dá»± Ä‘oán việc đọc RTC tại thời Ä‘iá»m chỉ ra bởi --date\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+" -u, --utc đồng hồ của máy tính giữ theo múi giờ Quốc tế UTC\n"
+" --localtime đồng hồ của máy tính giữ theo múi giờ bản địa\n"
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+" -f, --rtc <tập-tin> chỉ định tập tin /dev/... đỠsử dụng thay vì mặc "
+"định\n"
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+" --directisa truy cập trực tiếp qua bus ISA thay vì %s\n"
+" --badyear bỏ qua nÄm của RTC bởi vì BIOS Ä‘ĂŁ bị hỏng\n"
+" --date <time> chỉ định thời gian mà nó được đặt cho đồng hồ phần "
+"cứng máy tính\n"
+" --epoch <year> chỉ định nÄm mĂ  nĂł lĂ m giá trị khởi đầu\n"
+" cho đồng hồ phần cứng\n"
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+" --noadjfile khĂ´ng truy cáş­p %s; Ä‘iá»u nĂ y yĂŞu cầu sá»­ dụng\n"
+" má»™t trong hai --utc hoáş·c --localtime\n"
+" --adjfile <tập-tin> chỉ định đường dẫn tới tập tin chỉnh sửa;\n"
+" mặc định là %s\n"
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+" --test khĂ´ng cáş­p nháş­t cái gì cả, chỉ hiá»n thị những gì cĂł thá» "
+"xảy ra\n"
+" -D, --debug chế độ gỡ lỗi\n"
+"\n"
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" báo hwclock biáşżt kiá»u alpha bạn cĂł (xem hwclock(8))\n"
+"\n"
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr "không thỠkết nối đến hệ thống audit"
+
+#: sys-utils/hwclock.c:1619
+msgid "invalid epoch argument"
+msgstr "đối số epoch không hợp lệ"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s lấy các tham số không tùy chọn. Bạn đã cung cấp %d.\n"
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "Với \"--noadjfile\", bạn phải chỉ ra \"--utc\" hoặc \"--localtime\""
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr "Không có thời gian set-to nào có thỠsử dụng. Không thỠđặt đồng hồ"
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr ""
+"Rất tiáşżc, nhĆ°ng chỉ người dĂąng root má»›i cĂł thá» thay đổi Äồng hồ Phần cứng."
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr ""
+"Rất tiáşżc, nhĆ°ng chỉ người dĂąng root má»›i cĂł thá» thay đổi Äồng hồ Hệ thống."
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+"Rất tiáşżc, nhĆ°ng chỉ người dĂąng root má»›i cĂł thá» thay đổi khởi đầu củaÄồng hồ "
+"Phần cứng trong nhân."
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "KhĂ´ng thá» truy cáş­p tá»›i Äồng hồ Phần cứng qua má»™t phương pháp khĂ´ng rõ."
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+"Sử dụng tùy chọn --debug đỠxem chi tiết vỠtiến trình tìm kiếm phương pháp "
+"truy cập của chúng ta."
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "khởi động từ MILO\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Äồng hồ Ruffian BCD\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "clockport (bản chuyá»n đồng hồ) Ä‘iá»u chỉnh thĂ nh 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "Äá»’ CHĆ I nhĂşt nhát!\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "nguyên tử %s gặp lỗi sau lặp 1000 lần!"
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr "cmos_read(): lá»—i ghi vĂ o địa chỉ Ä‘iá»u khiá»n %X: %m\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "cmos_read(): lỗi đọc địa chỉ dữ liệu %X: %m\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr "cmos_write(): lá»—i ghi vĂ o địa chỉ Ä‘iá»u khiá»n %X: %m\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "cmos_write(): lỗi ghi vào địa chỉ dữ liệu %X: %m\n"
+
+#: sys-utils/hwclock-cmos.c:644
+msgid "I failed to get permission because I didn't try."
+msgstr "TĂ´i lấy thĂ´ng tin quyá»n hạn khĂ´ng thĂ nh cĂ´ng vì Ä‘ĂŁ khĂ´ng cố thá»­."
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "không thỠlấy truy cập cổng V/R: gọi iopl(3) không thành công."
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "Rất cĂł thá» bạn cần quyá»n người chủ.\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Äang chờ (vòng láş·p) thời gian từ KDGHWCLK thay đổi\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl đọc thời gian không thành công"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl đọc thời gian không thành công trong vòng lặp"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr "Quá thời gian chờ thay đổi thời gian."
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() đọc thời gian không thành công từ %s"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Không thỠmở /dev/tty1 hay /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/hwclock-rtc.c:195
+#, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "ioctl(%s) tới %s đỠđọc thời gian không thành công"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Chờ cho thời gian từ %s thay đổi\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s không có hàm gián đoạn nào. "
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() tới %s đỠchờ tiếng tíc tắc không thành công"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() tới %s đỠchờ tiếng tíc tắc không thành công"
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "select() tới %s đỠchờ tiếng tíc tắc bị quá thời gian"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() tới %s đỠtắt việc gián đoạn cập nhật không thành công"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() tới %s đỠbật việc gián đoạn cập nhật không thành công một cách bất "
+"thường"
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "ioctl(%s) tới %s đỠđặt thời gian không thành công."
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) Ä‘ĂŁ thĂ nh cĂ´ng.\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"Äá» Ä‘iá»u khiá»n giá trị khởi đầu (epoch) trong nhân, chĂşng ta cần truy cáş­p tá»›i "
+"driver thiết bị 'rtc' qua tập tin thiết bị đặc biệt %s. Tập tin này không "
+"tồn tại trên hệ thống này."
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) tá»›i %s khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "chúng ta đọc khởi đầu (epoch) %ld từ %s bằng RTC_EPOCH_READ ioctl.\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "Giá trị khởi đầu (epoch) không được nhỏ hơn 1900. Bạn đã yêu cầu %ld"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+"thiết lập khởi đầu (epoch) thành %ld bằng RTC_EPOCH_SET ioctl tới %s.\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+"Trình Ä‘iá»u khiá»n thiáşżt bị của nhân cho %s khĂ´ng cĂł RTC_EPOCH_SET ioctl."
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) tá»›i %s khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr " -M, --shmem <size> tạo đoạn nhớ chia sẻ của kích thước <size>\n"
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr " -S, --semaphore <nsems> tạo mảng tín hiệu với phần tử <nsems>\n"
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --queue tạo hàng đợi thông điệp\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+" -p, --mode <mode> quyá»n của nguồn tĂ i nguyĂŞn (máş·c định lĂ  0644)\n"
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+msgid "failed to parse size"
+msgstr "lỗi đặt kích cỡ trang"
+
+#: sys-utils/ipcmk.c:114
+msgid "failed to parse elements"
+msgstr "lỗi phân tích các phần tử"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr "lỗi tạo vùng nhớ dùng chung"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "ID vĂąng nhá»› dĂąng chung: %d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr "lỗi tạo hàng đợi thông điệp"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "ID hàng đợi thông điệp: %d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "lỗi tạo cờ hiệu"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "ID cờ hiệu: %d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr " -m, --shmem-id <id> gỡ bỏ đoạn nhớ chia sẻ bởi shmid\n"
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr " -M, --shmem-key <khoá> gỡ bỏ đoạn nhớ chia sẻ bởi khoá\n"
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr " -q, --queue-id <id> gỡ bỏ hàng đợi thông điệp bởi id\n"
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr " -Q, --queue-key <khoá> gỡ bỏ hàng đợi thông điệp bởi khoá\n"
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr " -s, --semaphore-id <id> gỡ bỏ tín hiệu bằng id\n"
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr " -S, --semaphore-key <khoá> gỡ bỏ tín hiệu bởi khoá\n"
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr " -a, --all[=<shm|msg|sem>] gỡ bỏ tất cả\n"
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -v, --verbose giải thích các công việc đã làm\n"
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr "gỡ bỏ đoạn bộ nhớ chia sẻ có id `%d'\n"
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "gỡ bỏ id hàng đợi thông điệp `%d'\n"
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "đang gỡ bỏ cờ hiệu id `%d'\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "khĂ´ng đủ quyá»n hạn cho chìa khĂła"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "khĂ´ng đủ quyá»n hạn cho id"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "chìa khóa không đúng"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "id sai"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "đã xóa chìa khoá"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "Ä‘ĂŁ xĂła id"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+msgid "key failed"
+msgstr "khĂła gáş·p lá»—i"
+
+#: sys-utils/ipcrm.c:111
+msgid "id failed"
+msgstr "id gáş·p lá»—i"
+
+#: sys-utils/ipcrm.c:128
+#, c-format
+msgid "invalid id: %s"
+msgstr "id không hợp lệ: %s"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+msgid "not enough arguments"
+msgstr "không đủ đối số"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "đã xóa (các) nguồn\n"
+
+#: sys-utils/ipcrm.c:194
+#, c-format
+msgid "illegal key (%s)"
+msgstr "khoá không họp lệ (%s)"
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr "nhân không cấu hình cho bộ nhớ chia sẻ"
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr "nhân không cấu hình cho đèn tín hiệu"
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr "nhân không cấu hình cho hàng đợi tin"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, c-format
+msgid "unknown argument: %s"
+msgstr "khĂ´ng hiá»u đối số: %s"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+" -i, --id <id> hiá»n thị thĂ´ng tin chi tiáşżt trĂŞn nguồn tĂ i nguyĂŞn định nghÄ©a "
+"bỏi id\n"
+
+#: sys-utils/ipcs.c:126
+msgid "Resource options:\n"
+msgstr "Tùy chọn tài nguyên:\n"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr " -m, --shmems đoạn bộ nhớ chia sẻ\n"
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr " -q, --queues hàng đợi thông điệp\n"
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr " -s, --semaphores tín hiệu\n"
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr " -a, --all tất cả (mặc định)\n"
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr "Äịnh dạng xuất:\n"
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+" -t, --time hiá»n thị Ä‘Ă­nh kèm, bỏ Ä‘Ă­nh kèm vĂ  thời gian thay đổi\n"
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr " -p, --pid hiá»n thị bá»™ tạo vĂ  các PID thao tác cuối\n"
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr " -c, --creator hiá»n thị người tạo vĂ  chủ sở hữu\n"
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr " -l, --limits hiá»n thị giá»›i hạn nguồn tĂ i nguyĂŞn\n"
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr " -u, --summary hiá»n thị tổng hợp trạng thái\n"
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "nhân không cấu hình cho bộ nhớ chia sẻ\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Giới hạn bộ nhớ chia sẻ --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "số đoạn lớn nhất = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "kích cỡ đoạn lớn nhất (kbyte) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "tổng số bộ nhớ chia sẻ lớn nhất (theo kilô-byte) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "kích cỡ đoạn nhỏ nhất (byte) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Trạng thái bộ nhớ chia sẻ --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+"segments được cấp phát %d\n"
+"pages được cấp phát %ld\n"
+"pages thường trú %ld\n"
+"pages được hoán đổi %ld\n"
+"Hiệu suất hoán đổi: %ld thử\t %ld thành công\n"
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Người tạo/Chủ sở hữu các đoạn của bộ nhớ chia sẻ --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "quyá»n hạn"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Gắn/Bỏ gắn/Thời gian thay đổi bộ nhớ chia sẻ --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "chủ sở hữu"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "đã gắn"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "đã bỏ gắn"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "đã thay đổi"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ PID Trình tạo vùng nhớ chia sẻ /Thao tác cuối --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Các đoạn vùng nhớ chia sẻ --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "chìa khoá"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "byte"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "trạng thái"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "ChĆ°a Ä‘áş·t"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "Ä‘Ă­ch"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "đã khoá"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "nhân không cấu hình cho cờ hiệu\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Giới hạn cờ hiệu --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "số dãy lớn nhất = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "số cờ hiệu lớn nhất trên mỗi dãy = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "số cờ hiệu lớn nhất của cả hệ thống = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "số thao tác lớn nhất của mỗi lời gọi cờ hiệu = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "giá trị cờ hiệu lớn nhất = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Trạng thái cờ hiệu --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "dãy đã sử dụng = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "cờ hiệu đã phân phối = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Người tạo/Chủ sở hữu dãy cờ hiệu --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "mã số cờ hiệu"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Thời gian thay đổi / thao tác Cờ hiệu --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "thao tác cuối cùng"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "thay đổi cuối cùng"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Dãy cờ hiệu --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "số cờ hiệu"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "nhân không cấu hình cho hàng đợi tin nhắn\n"
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ Giới hạn Thông điệp --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "số hàng đợi lớn nhất của hệ thống = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "kích cỡ lớn nhất của tin nhắn (theo byte) = %d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "kích cỡ mặc định lớn nhất của hàng đợi (byte) = %d\n"
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ Trạng thái Thông điệp --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "hàng đợi đã phân phối = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "phần đầu đã sử dụng = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "không gian đã sử dụng = %d byte\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ Người tạo/Chủ sở hữu Hàng đợi thông điệp --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Thời gian Gá»­i/Nháş­n/Äổi HĂ ng đợi thĂ´ng Ä‘iệp --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "gá»­i"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "nháş­n"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "đổi"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID của hàng đợi thông điệp --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Hàng đợi thông điệp--------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "byte Ä‘ĂŁ dĂąng"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "thông điệp"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl bị lỗi"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Äoạn vĂąng nhá»› chia sáş» shmid=%d\n"
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "cháşż_Ä‘á»™=%#o\tquyá»n_truy_cáş­p=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "msgctl bị lỗi"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Hàng đợi Thông điệp msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "semctl bị lỗi"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Dãy cờ hiệu semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "cháşż_Ä‘á»™=%#o, quyá»n_truy_cáş­p=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "số cờ hiệu"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "giá trị"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+msgid "invalid iflag"
+msgstr "iflag không hợp lệ"
+
+#: sys-utils/ldattach.c:160
+#, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "%s [các tùy chọn] <ldisc> <thiết bị>\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+" -d, --debug in thông điệp dạng đầy đủ ra dòng báo lỗi stderr\n"
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr " -s, --speed <giá trị> đặt tốc độ cổng nối tiếp\n"
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr " -7, --sevenbits Ä‘áş·t kĂ­ch thĆ°á»›c kĂ˝ tá»± thĂ nh 7 bits\n"
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr " -8, --eightbits Ä‘áş·t kĂ­ch thĆ°á»›c kĂ˝ tá»± thĂ nh 8 bits\n"
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr " -n, --noparity Ä‘áş·t bĂ­t cháşµn láş» thĂ nh rá»—ng khĂ´ng\n"
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr " -e, --evenparity Ä‘áş·t bĂ­t cháşµn láş» thĂ nh cháşµn\n"
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr " -o, --oddparity Ä‘áş·t bĂ­t cháşµn láş» thĂ nh láş»\n"
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr " -1, --onestopbit đặt các bít dừng thành một\n"
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr " -2, --twostopbits đặt các bít dừng thành hai\n"
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr " -i, --iflag [-]<iflag> đặt cờ chế độ nhập\n"
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Các tên <ldisc> đã biết đến:\n"
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"Các tên <iflag> đã biết đến:\n"
+
+#: sys-utils/ldattach.c:266
+msgid "invalid speed argument"
+msgstr "tham số tốc độ không hợp lệ"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "tùy chọn sai"
+
+#: sys-utils/ldattach.c:288
+msgid "invalid line discipline argument"
+msgstr "đối số kỷ luật dòng không hợp lệ"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s không phải là dòng nối tiếp"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "không thỠlấy thuộc tính thiết bị vỠ%s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "tốc độ %d không được hỗ trợ"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "không thỠđặt các thuộc tính thiết bị cho %s"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "không thỠđặt kỷ luật dòng"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "khĂ´ng thá» chạy trong ná»n"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ", offset %ju"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ", giới_hạn_kích_thước %ju"
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ", mĂŁ hoá %s (kiá»u %u)"
+
+#: sys-utils/losetup.c:120
+#, c-format
+msgid "%s: set capacity failed"
+msgstr "%s: đặt dung lượng gặp lỗi"
+
+#: sys-utils/losetup.c:130
+#, c-format
+msgid "%s: detach failed"
+msgstr "%s: tháo gặp lỗi"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+" %1$s [các tuỳ chọn] [<loopdev>]\n"
+" %1$s [các tuỳ chọn] -f | <loopdev> <tập-tin>\n"
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+" -a, --all liệt kê tất cả các thiết bị đã dùng\n"
+" -d, --detach <loopdev> [...] tách ra một hay hơn một thiết bị\n"
+" -D, --detach-all tách ra tất cả các thiết bị đã dùng\n"
+" -f, --find tìm kiếm thiết bị chưa dùng đầu tiên\n"
+" -c, --set-capacity <loopdev> thay đổi kích thước thiết bị\n"
+" -j, --associated <tập-tin> liệt kê tất cả các thiết bị liên quan đến "
+"<táş­p-tin>\n"
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -e, --encryption <kiá»u>\tbáş­t mĂŁ hoá dữ liệu vá»›i <tĂŞn/số> Ä‘ĂŁ ghi rõ\n"
+" -o, --offset <số> \t\tbắt đầu ở khoảng bù số này trong tập tin\n"
+" --sizelimit <số> \thạn chế thiết bị chỉ <số> byte của tập tin\n"
+" -p, --pass-fd <số>\t\tđọc cụm từ mật khẩu từ bộ mô tả tập tin <số>\n"
+" -P, --partscan tạo phân vùng cho thiết bị vòng lặp\n"
+" -r, --read-only \t\tthiết lập thiết bị vòng lặp chỉ đọc\n"
+" --show \t\tin ra tên thiết bị sau khi cài đặt (với \"-f"
+"\")\n"
+" -v, --verbose \t\tcháşż Ä‘á»™ chi tiáşżt\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+"%s: cảnh báo: tập tin nhỏ hơn 512 bytes, thiết bị loop có lẽ không dùng được "
+"hoặc không khả dụng cho các công cụ của hệ thống."
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+"%s: cảnh báo: tập tin không vừa khớp rãnh ghi (sector) 512-byte kết thúc tập "
+"tin sẽ bị bỏ qua."
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, c-format
+msgid "%s: failed to use device"
+msgstr "%s: gặp lỗi khi sử dụng thiết bị"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr "sai mật khẩu bộ mô tả tập tin"
+
+#: sys-utils/losetup.c:352
+msgid "no loop device specified"
+msgstr "không chỉ ra thiết bị loop (vòng ngược)"
+
+#: sys-utils/losetup.c:354
+#, c-format
+msgid "%s failed to use device"
+msgstr "%s gặp lỗi khi sử dụng thiết bị"
+
+#: sys-utils/losetup.c:359
+msgid "no file specified"
+msgstr "chưa ghi rõ tập tin"
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr "tuỳ chọn %s chỉ cho phép cài đặt thiết bị vòng lặp (loop) thôi"
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr "tuỳ chọn --offset là không cho phép trong ngữ cảnh này."
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+msgid "couldn't lock into memory"
+msgstr "không thỠkhoá vào bộ nhớ"
+
+#: sys-utils/losetup.c:391
+msgid "not found unused device"
+msgstr "không có thiết bị nào chưa sử dụng"
+
+#: sys-utils/losetup.c:403
+#, c-format
+msgid "%s: failed to use backing file"
+msgstr "%s: gặp lỗi sử dụng tập tin giật lùi"
+
+#: sys-utils/losetup.c:442
+msgid "find unused loop device failed"
+msgstr "tìm thiết bị loop chưa sử dụng gặp lỗi"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "khĂ´ng"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "phần"
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "đầy"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr "ngang"
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr "dọc"
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr "số CPU logíc"
+
+#: sys-utils/lscpu.c:238
+msgid "logical core number"
+msgstr "số lõi lôgíc"
+
+#: sys-utils/lscpu.c:239
+msgid "logical socket number"
+msgstr "số khe cắm lôgíc"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr "số nút NUMA lôgíc"
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr "số chỗ logíc"
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr "hiá»n thị bá»™ nhá»› đệm được chia sáş» giữ các bá»™ vi sá»­ lĂ˝"
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr "Chế độ CPU phân phối trên phần cứng ảo"
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr "địa chỉ vật lý của CPU"
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr "hiá»n thị náşżu máy ảo Ä‘ĂŁ được cấp CPU"
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr "hiá»n thị náşżu Linux hiện tại cĂł sá»­ dụng CPU"
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "lá»—i: uname khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/lscpu.c:551
+msgid "failed to allocate memory"
+msgstr "gặp lỗi khi cấp phát bộ nhớ"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr "C"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "N"
+msgstr "K"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+"# Sau đây lĂ  định dạng cĂł thá» phân tĂ­ch, kiá»u mĂ  cĂł thỠđược gá»­i cho chương\n"
+"# trình khác. Mỗi mục riêng trong mỗi cột có một mã số ID duy nhất,\n"
+"# bắt đầu từ số không.\n"
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "Kiáşżn trĂşc:"
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "Chế độ thao tác CPU:"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr "Thứ tự Byte:"
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr "CPU(s):"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr "Mặt nạ CPU trực tuyến:"
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr "Danh sách CPU trực tuyến:"
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr "Mặt nạ CPU ngoại tuyến:"
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr "Danh sách CPU ngoại tuyến:"
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "Mạch mỗi lõi:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "Lõi mỗi ổ cắm (socket):"
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr "Số Socket(s) trên mỗi lần đợi:"
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr "Chỗ giữ:"
+
+#: sys-utils/lscpu.c:1164
+msgid "Socket(s):"
+msgstr "Ổ cắm (socket):"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "NĂşt NUMA:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "ID nhà sản xuất:"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "NhĂłm CPU:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "Mô hình:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "LĂ m bĆ°á»›c:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr "BogoMIPS:"
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "Mô phỏng:"
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr "Ảo hoá:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Nhà sản xuất bộ mô phòng đồng thời:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "Kiá»u mĂ´ phỏng:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr "Cháşż Ä‘á»™ gá»­i Ä‘i:"
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "Vùng nhớ tạm %s:"
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "CPU nĂşt%d NUMA:"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+" -a, --all hiá»n thị các CPU trá»±c tuyáşżn vĂ  ngoại tuyáşżn (máş·c "
+"định cho -e)\n"
+" -b, --online chỉ hiá»n thị các CPU trá»±c tuyáşżn (máş·c định cho -p)\n"
+" -c, --offline chỉ hiá»n thị các CPU ngoại tuyáşżn\n"
+" -e, --extended[=<list>] hiá»n thị ra má»™t định dạng đọc được mở rá»™ng\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y\n"
+" -p, --parse[=<list>] hiá»n thị ra má»™t định dạng phân tĂ­ch được\n"
+" -s, --sysroot <dir> sử dụng thư mục DIR như là root của hệ thống\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -x, --hex hiá»n thị ra máş·t mạ dạng tháş­p lục phân thay vì kiá»u "
+"liệt kê CPUs\n"
+
+#: sys-utils/lscpu.c:1235
+#, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem lscpu(1).\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+"%s: các tùy chọn --all, --online và --offline có lẽ chỉ sử dụng cùng với các "
+"tùy chọn --extended hay --parsable.\n"
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr ""
+"chỉ người chủ (root) cĂł quyá»n sá»­ dụng tuỳ chọn \"--%s\" (UID cĂł káşżt quả lĂ  "
+"%u)"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "chỉ người chủ (root) cĂł quyá»n lĂ m Ä‘Ăł (UID cĂł káşżt quả lĂ  %u)"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "chỉ có rôt mới có thỠsử dụng tùy chọn \"--%s\""
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr "chỉ người chủ (root) cĂł quyá»n thá»±c hiện"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s từ %s (libmount %s"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "%s: lỗi phân tích cú pháp: bỏ qua mục tại dòng %d. "
+
+#: sys-utils/mount.c:158
+msgid "failed to read mtab"
+msgstr "việc đọc tập tin mtab gặp lỗi"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr "%-25s: bị bỏ qua\n"
+
+#: sys-utils/mount.c:221
+#, c-format
+msgid "%-25s: already mounted\n"
+msgstr "%-25s: đã gắn kết\n"
+
+#: sys-utils/mount.c:367
+#, c-format
+msgid "only root can mount %s on %s"
+msgstr "chỉ siĂŞu người dĂąng má»›i cĂł quyá»n gắn %s vĂ o %s"
+
+#: sys-utils/mount.c:370
+#, c-format
+msgid "%s is already mounted"
+msgstr "%s đã gắn kết"
+
+#: sys-utils/mount.c:374
+#, c-format
+msgid "can't find %s in %s"
+msgstr "không tìm thấy %s trong %s"
+
+#: sys-utils/mount.c:381
+#, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "khĂ´ng tìm thấy Ä‘iá»m gắn %s trong %s"
+
+#: sys-utils/mount.c:384
+#, c-format
+msgid "can't find mount source %s in %s"
+msgstr "không tìm thấy nguồn gắn %s trong %s"
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+"TĂ´i khĂ´ng thá» nháş­n ra kiá»u hệ thống táş­p tin, vĂ  người dĂąng khĂ´ng chỉ ra kiá»u "
+"nĂ o"
+
+#: sys-utils/mount.c:392
+msgid "you must specify the filesystem type"
+msgstr "bạn cần chỉ rõ kiá»u hệ thống táş­p tin"
+
+#: sys-utils/mount.c:396
+#, c-format
+msgid "can't find %s"
+msgstr "không tìm thấy %s"
+
+#: sys-utils/mount.c:398
+msgid "mount source not defined"
+msgstr "nguồn gắn chưa được định nghĩa"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+msgid "failed to parse mount options"
+msgstr "gặp lỗi khi phân tích các tùy chọn gắn"
+
+#: sys-utils/mount.c:410
+#, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr ""
+"%s: gáş·p lá»—i khi cĂ i Ä‘áş·t thiáşżt bị loop (hầu nhĆ° chắc chắn lĂ  khĂ´ng hiá»u kiá»u "
+"mĂŁ hĂła)"
+
+#: sys-utils/mount.c:416
+#, c-format
+msgid "%s: mount failed"
+msgstr "%s: gắn không thành công"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "%s: hệ thống tập tin đã được gắn, nhưng lệnh mount(8) gặp lỗi"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, c-format
+msgid "mount point %s is not a directory"
+msgstr "Ä‘iá»m gắn %s khĂ´ng phải lĂ  má»™t thĆ° mục"
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr "cần phải là siêu người dùng (root) đỠsử dụng lệnh mount"
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr "%s Ä‘ang báş­n"
+
+#: sys-utils/mount.c:459
+#, c-format
+msgid "%s is already mounted or %s busy"
+msgstr " %sđã gắn rồi hoặc %s đang bận"
+
+#: sys-utils/mount.c:471
+#, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "đã gắn %s trên %s\n"
+
+#: sys-utils/mount.c:479
+#, c-format
+msgid "mount point %s does not exist"
+msgstr "Ä‘iá»m gắn %s khĂ´ng tồn tại"
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "Ä‘iá»m gắn %s lĂ  má»™t liĂŞn káşżt má»m khĂ´ng chỉ tá»›i đâu"
+
+#: sys-utils/mount.c:486
+#, c-format
+msgid "special device %s does not exist"
+msgstr "thiết bị đặc biệt %s không tồn tại"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+msgid "mount(2) failed"
+msgstr "mount(2) khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"thiáşżt bị Ä‘áş·c biệt %s khĂ´ng tồn tại (tiá»n tố của đường dáş«n khĂ´ng phải lĂ  má»™t "
+"thư mục)"
+
+#: sys-utils/mount.c:510
+#, c-format
+msgid "%s not mounted or bad option"
+msgstr "%s chưa gắn, hoặc tùy chọn xấu"
+
+#: sys-utils/mount.c:512
+#, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr " %s khĂ´ng phải lĂ  Ä‘iá»m gắn, hoáş·c tĂąy chọn sai"
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"sai kiá»u hệ thống táş­p tin, tĂąy chọn xấu, siĂŞu khối xấu trĂŞn %s,\n"
+" thiếu trang mã hay chương trình bổ trợ, hoặc lỗi khác"
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (đối với vài hệ thống tập tin, v.d. nfs, cifs, có lẽ\n"
+" bạn cần dĂąng trình tiáşżp hợp kiá»u nhĆ° \"/sbin/mount.<kiá»u>\")\n"
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" Trong một số trường hợp có thỠtìm thấy thông tin có\n"
+" ích trong syslog - hãy thử dmesg | tail hoặc tương tự\n"
+
+#: sys-utils/mount.c:533
+#, c-format
+msgid "%s: can't read superblock"
+msgstr "%s: không đọc được siêu khối"
+
+#: sys-utils/mount.c:537
+#, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "khĂ´ng hiá»u kiá»u hệ thống táş­p tin '%s'"
+
+#: sys-utils/mount.c:545
+#, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr ""
+"%s không phải là một thiết bị khối, và stat (lấy trạng thái) không thành "
+"cĂ´ng?"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"hạt nhân không nhận ra %s như là thiết bị khối\n"
+" (cĂł thá» thá»­ \"modprobe driver\" ?)"
+
+#: sys-utils/mount.c:550
+#, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "%s: không phải là thiết bị khối (có thỠhãy thử `-o loop'?)"
+
+#: sys-utils/mount.c:552
+#, c-format
+msgid " %s is not a block device"
+msgstr "%s không phải thiết bị đặc biệt khối."
+
+#: sys-utils/mount.c:559
+#, c-format
+msgid "%s is not a valid block device"
+msgstr "%s: không phải là thiết bị khối thích hợp"
+
+#: sys-utils/mount.c:565
+#, c-format
+msgid "cannot mount %s read-only"
+msgstr "không gắn được %s với chế độ chỉ đọc"
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "%s được bảo vệ khỏi ghi nhưng đưa ra cờ `-w' (write, ghi)"
+
+#: sys-utils/mount.c:571
+#, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "không thỠlắp lại %s đọc-ghi vì nó được bảo vệ chống ghi"
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "%s được bảo vệ chống ghi nĂŞn chỉ gắn kiá»u chỉ-đọc"
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr "không tìm thấy vật chứa trên %s"
+
+#: sys-utils/mount.c:591
+#, c-format
+msgid "mount %s on %s failed"
+msgstr "gắn %s trên %s gặp lỗi"
+
+#: sys-utils/mount.c:613
+#, c-format
+msgid "%s: failed to parse"
+msgstr " %s: gặp lỗi phân tích"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+" %1$s [-lhV]\n"
+" %1$s -a [tuỳ_chọn]\n"
+" %1$s [tuỳ_chọn] [--source] <nguồn> | [--target] <thư-mục>\n"
+" %1$s [tuỳ_chọn] <nguồn> <thư mục>\n"
+" %1$s <thao-tác> <Ä‘iá»m_gắn> [<Ä‘Ă­ch>]\n"
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+" -a, --all gắn tất cả các hệ thống tập tin được đỠcập trong "
+"fstab\n"
+" -c, --no-canonicalize không đường dẫn canonicalize\n"
+" -f, --fake chạy giả; bỏ bước gọi hàm hệ thống mount(2)\n"
+" -F, --fork rẽ nhánh cho mỗi thiết bị (sử dụng với tuỳ chọn -"
+"a)\n"
+" -T, --fstab <path> táş­p tin thay tháşż cho /etc/fstab\n"
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+" -i, --internal-only khĂ´ng gọi lệnh tiáşżp hợp mount.<kiá»u>\n"
+" -l, --show-labels liệt kĂŞ các gắn vá»›i NHĂN\n"
+" -n, --no-mtab khĂ´ng ghi vĂ o táş­p tin /etc/mtab\n"
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+" -o, --options <list> danh sách các tuỳ chọn Ä‘á» gắn ngÄn cách báş±ng dấu "
+"pháş©y\n"
+" -O, --test-opts <list> giới hạn hệ thống tập tin (sử dụng với tuỳ chọn -"
+"a)\n"
+" -p, --pass-fd <num> đọc mật khẩu từ bộ mô tả tập tin\n"
+" -r, --read-only gắn hệ thống tập tin chỉ cho đọc (giống như là -o "
+"ro)\n"
+" -t, --types <list> giá»›i hạn kiá»u hệ thống táş­p tin\n"
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+" --source <nguồn> chỉ rõ ràng nguồn (đường dẫn, nhãn, uuid)\n"
+" --target <Ä‘Ă­ch> chỉ rõ rĂ ng Ä‘iá»m-gắn\n"
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+" -v, --verbose hiá»n thị cái gì Ä‘ang được thá»±c hiện\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -w, --read-write gắn hệ thống tập tin ở chế độ đọc-ghi (mặc định)\n"
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+"\n"
+"Nguồn:\n"
+" -L, --label <label> đồng nghĩa cho LABEL=<label>\n"
+" -U, --uuid <uuid> đồng nghĩa cho UUID=<uuid>\n"
+" LABEL=<label> chỉ định rõ thiết bị bằng nhãn hệ thống tập tin\n"
+" UUID=<uuid> chỉ định rõ thiết bị bằng UUID hệ thống tập tin\n"
+" PARTLABEL=<label> chỉ định thiết bị theo nhãn của phân vùng\n"
+" PARTUUID=<uuid> chỉ định thiết bị theo UUID của phân vùng\n"
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+" <device> chỉ định thiết bị theo đường dẫn\n"
+" <directory> Ä‘iá»m gắn cho gắn sá»­ dụng tuỳ chọn bind (xem thĂŞm --"
+"bind/rbind)\n"
+" <file> tập tin thường dành cho cài đặt loopdev\n"
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+"\n"
+"Thao tác:\n"
+" -B, --bind gắn một cây con ở một nơi khác (giống như -o bind)\n"
+" -M, --move di chuyá»n má»™t cây con Ä‘áşżn má»™t chá»— khác\n"
+" -R, --rbind gắn một cây con và tất cả các gắn con ở một chỗ "
+"khác\n"
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+" --make-shared đánh dấu một cây con như là phần chia sẻ (shared)\n"
+" --make-slave đánh dấu một cây con như là tớ (slave)\n"
+" --make-private đánh dấu một cây con như là riêng (private)\n"
+" --make-unbindable đánh dấu một cây con như là không thỠbuộc "
+"(unbindable)\n"
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+" --make-rshared đánh dấu một cách đệ qui toàn bộ cây con là chia sẻ "
+"(shared)\n"
+" --make-rslave đánh dấu một cách đệ qui toàn bộ cây con là tớ "
+"(slave)\n"
+" --make-rprivate đánh dấu một cách đệ qui toàn bộ cây con là riêng "
+"(private)\n"
+" --make-runbindable đánh dấu một cách đệ qui toàn bộ cây con là không "
+"thá» buá»™c (unbindable)\n"
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr "cấp phát ngữ cảnh của libmount gặp lỗi"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+msgid "failed to append options"
+msgstr "nối thêm tùy chọn gặp lỗi"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+msgid "failed to set options pattern"
+msgstr "đặt mẫu tuỳ chọn gặp lỗi"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+" %1$s [-qd] /đường/dẫn/tới/thư/mục\n"
+" %1$s -x /dev/device\n"
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+" -q, --quiet cháşż Ä‘á»™ im láş·ng - khĂ´ng hiá»n thị gì cả\n"
+" -d, --fs-devno hiá»n thị cáş·p số maj:min của thiáşżt bị của hệ thống tệp "
+"tin\n"
+" -x, --devno hiá»n thị cáş·p số maj:min của thiáşżt bị của thiáşżt bị khối\n"
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "'%s' khĂ´ng phải má»™t Ä‘iá»m gắn\n"
+
+#: sys-utils/mountpoint.c:208
+#, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s lĂ  má»™t Ä‘iá»m gắn\n"
+
+#: sys-utils/pivot_root.c:33
+#, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr " %s [tuỳ chọn] gốc_mới cất_cũ\n"
+
+#: sys-utils/pivot_root.c:71
+#, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "thay đổi root từ `%s' thành `%s' thất bại"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr "giới hạn không gian địa chỉ"
+
+#: sys-utils/prlimit.c:71
+msgid "max core file size"
+msgstr "kích cỡ lõi tập tin tối đa"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+msgid "blocks"
+msgstr "khối"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr "thời gian CPU"
+
+#: sys-utils/prlimit.c:72
+msgid "seconds"
+msgstr "giây"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr "cỡ dữ liệu tối đa"
+
+#: sys-utils/prlimit.c:74
+msgid "max file size"
+msgstr "kích thước tập tin lớn nhất"
+
+#: sys-utils/prlimit.c:75
+msgid "max number of file locks held"
+msgstr "con số lớn nhất của khoá nắm giữ tập tin"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr "không gian địa chỉ locked-in-memory tối đa"
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr "số lượng byte lớn nhất trong mqueues POSIX"
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr "mức ưu tiên tuyến trình tối đa được phép đưa ra"
+
+#: sys-utils/prlimit.c:79
+msgid "max number of open files"
+msgstr "số lượng tập tin tối đa được mở"
+
+#: sys-utils/prlimit.c:80
+msgid "max number of processes"
+msgstr "số lượng tiến trình tối đa"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr "kích cỡ đỠđặt dài hạn tối đa"
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr "trang"
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr "mức ưu tiên thời-gian-thực tối đa"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr "thời gian tối đa dành cho tác vụ thời gian thực"
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr "mi-crô giây"
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr "con số lớn nhất của tín hiệu treo"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr "cỡ stack tối đa"
+
+#: sys-utils/prlimit.c:116
+msgid "resource name"
+msgstr "tên của tài nguyên"
+
+#: sys-utils/prlimit.c:117
+msgid "resource description"
+msgstr "bộ mô tả tài nguyên"
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr "giá»›i hạn má»m"
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr "giới hạn cứng (trần)"
+
+#: sys-utils/prlimit.c:120
+msgid "units"
+msgstr "đơn _vị:"
+
+#: sys-utils/prlimit.c:156
+#, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr " %s [các tuỳ chọn] [-p PID]\n"
+
+#: sys-utils/prlimit.c:158
+#, c-format
+msgid " %s [options] COMMAND\n"
+msgstr " %s [các tuỳ chọn] LỆNH\n"
+
+#: sys-utils/prlimit.c:160
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"Tuỳ chọn Chung:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -p, --pid <pid> id của tiến trình\n"
+" -o, --output <list> định nghĩa là cột kết xuất nào sẽ được sử dụng\n"
+" --noheadings khĂ´ng hiá»n thị đầu Ä‘á»\n"
+" --raw sá»­ dụng định dạng hiá»n thị thĂ´\n"
+" --verbose hiá»n thị đầy đủ thĂ´ng tin\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+
+#: sys-utils/prlimit.c:169
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr ""
+"\n"
+"Tuỳ chọn Tài nguyên:\n"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+" -c, --core kích thước tối đa của tập tin lõi (core) được tạo "
+"ra\n"
+" -d, --data kích thước tối đa của đoạn dữ liệu của tiến trình\n"
+" -e, --nice mức ưu tiên tối đa được phép nâng lên\n"
+" -f, --fsize kích thước tối đa của tập tin được ghi bởi tiến "
+"trình\n"
+" -i, --sigpending con số tối đa của tín hiệu treo\n"
+" -l, --memlock kích thước tối đa một tiến trình có thỠkhoá vào bộ "
+"nhá»›\n"
+" -m, --rss kích thước tối đa thường trực\n"
+" -n, --nofile số tập tin tối đa được mở\n"
+" -q, --msgqueue số byte tối đa trong hàng đợi thông điệp POSIX\n"
+" -r, --rtprio mức ưu tiên tối đa cho việc lập lịch thời gian thực\n"
+" -s, --stack kích thước khối nhớ (stack) tối đa\n"
+" -t, --cpu mức tối đa vỠtổng số thời gian của CPU tính theo "
+"giây\n"
+" -u, --nproc số lượng tiến trình của người dùng tối đa\n"
+" -v, --as kích thước của bộ nhớ ảo\n"
+" -x, --locks số lượng tập tin bị khoá tối đa\n"
+" -y, --rttime thời gian CPU tính theo mi-crô giây một tiến trình "
+"được lập lịch\n"
+" dưới lịch thời gian thực\n"
+
+#: sys-utils/prlimit.c:320
+#, c-format
+msgid "failed to get old %s limit"
+msgstr "lỗi lấy giới hạn %s cũ"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr "giá»›i hạn má»m %s khĂ´ng thá» vượt quá giá»›i hạn cứng"
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr "%s giới hạn mới:"
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr "vô hạn"
+
+#: sys-utils/prlimit.c:365
+#, c-format
+msgid "failed to set the %s resource limit"
+msgstr "gặp lỗi khi đặt giới hạn nguồn %s"
+
+#: sys-utils/prlimit.c:366
+#, c-format
+msgid "failed to get the %s resource limit"
+msgstr "gặp lỗi khi lấy giới hạn nguồn %s"
+
+#: sys-utils/prlimit.c:445
+#, c-format
+msgid "failed to parse %s limit"
+msgstr "gặp lỗi khi phân tích giới hạn %s"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr "tùy chọn --pid có lẽ chỉ dùng một lần"
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "tuỳ chọn --pid và LỆNH loại từ lẫn nhau"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr " -m, --mapfile <tập tin ánh xạ> (mặc định: \"%s\" và\n"
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr " \"%s\")\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr " -p, --profile <pro-file> (mặc định: \"%s\")\n"
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr " -M, --multiplier <mult> đặt hệ số nhân profiling thành <mult>\n"
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -i, --info chỉ hiá»n thị các thĂ´ng tin vá» bĆ°á»›c máş«u\n"
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr " -v, --verbose hiá»n thị dữ liệu dạng đầy đủ\n"
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+" -a, --all in ra toĂ n bá»™ các biá»u tượng, ká» cả khi số lượng "
+"lĂ  0\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr " -b, --histbin hiá»n thị số lượng histogram-bin cá nhân\n"
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr " -s, --counters hiá»n thị số lượng cá nhân trong hĂ m\n"
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+" -r, --reset đặt lại tất cả số đếm (chỉ root mới thực hiện "
+"được)\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr " -n, --no-auto tắt chức ngÄng tá»± Ä‘á»™ng dò tìm thứ tá»± byte\n"
+
+#: sys-utils/readprofile.c:237
+#, c-format
+msgid "error writing %s"
+msgstr "lá»—i ghi %s"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+"Giả sử thứ tự byte đảo lộn. Dùng \"-n\" đỠép buộc theo thứ tự byte tự nhiên "
+"của máy."
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s(%i): sai dòng ánh xạ"
+
+#: sys-utils/readprofile.c:310
+#, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "không tìm thấy \"_stext\" trong %s"
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr "địa chỉ của xác lập nằm ngoài phạm vi. Tập tin ánh xạ sai?"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "tổng"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+" -g, --pgrp <id> hiá»u lĂ  ID nhĂłm tiáşżn trình\n"
+" -h, --help hiá»n thị trợ giĂşp\n"
+" -n, --priority <num> tÄng giá trị mức Ć°u tiĂŞn\n"
+" -p, --pid <id> Ă©p buá»™c hiá»u đây lĂ  ID tiáşżn trình\n"
+" -u, --user <name|id> hiá»u lĂ  tĂŞn tĂ i khoản hay ID người dĂąng\n"
+" -v, --version hiá»n thị phiĂŞn bản\n"
+
+#: sys-utils/renice.c:70
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem renice(1).\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "thay đổi ưu tiên từ %s\n"
+
+#: sys-utils/renice.c:139
+#, c-format
+msgid "unknown user %s"
+msgstr "người dùng lạ %s"
+
+#: sys-utils/renice.c:146
+#, c-format
+msgid "bad value %s"
+msgstr "giá trị sai %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr "ID tiến trình"
+
+#: sys-utils/renice.c:161
+msgid "user ID"
+msgstr "mã ID Người dùng"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr "ID nhóm tiến trình"
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "gặp lỗi khi lấy mức ưu tiên cho %d (%s)"
+
+#: sys-utils/renice.c:172
+#, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "gáş·p lá»—i khi Ä‘Äth mức Ć°u tiĂŞn cho %d (%s)"
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d (%s) quyá»n Ć°u tiĂŞn cĹ© %d, quyá»n Ć°u tiĂŞn má»›i %d\n"
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+" -d, --device <thiết_bị> chọn thiết bị rtc (rtc0|rtc1|...)\n"
+" -n, --dry-run làm mọi việc, nhưng mà treo\n"
+" -l, --local RTC dùng múi giờ cục bộ\n"
+" -m, --mode <chế độ> chế độ ngủ standby|mem|... \n"
+" -s, --seconds <giây> số giây đợi trước khi ngủ\n"
+" -t, --time <time_t> thời gian trước khi kích hoạt lại\n"
+" -u, --utc RTC dùng thời gian thế giới (UTC)\n"
+" -v, --verbose in ra chi tiáşżt\n"
+
+#: sys-utils/rtcwake.c:156
+msgid "read rtc time failed"
+msgstr "gặp lỗi khi đọc thời gian từ rtc"
+
+#: sys-utils/rtcwake.c:161
+msgid "read system time failed"
+msgstr "gặp lỗi khi đọc thời gian từ đồng hồ của hệ thống"
+
+#: sys-utils/rtcwake.c:179
+msgid "convert rtc time failed"
+msgstr "gáş·p lá»—i khi chuyá»n đổi thời gian từ rtc"
+
+#: sys-utils/rtcwake.c:239
+msgid "set rtc alarm failed"
+msgstr "gáş·p lá»—i khi Ä‘áş·t chuĂ´ng rtc"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr "gặp lỗi khi cho phép đặt chuông rtc"
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr "gặp lỗi khi đặt chuông báo thức rtc"
+
+#: sys-utils/rtcwake.c:351
+msgid "read rtc alarm failed"
+msgstr "gặp lỗi khi đọc chuông báo thức rtc"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr "báo thức: tắt\n"
+
+#: sys-utils/rtcwake.c:374
+msgid "convert time failed"
+msgstr "chuyá»n đổi thời gian Ä‘ĂŁ khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr "báo thức: lúc %s"
+
+#: sys-utils/rtcwake.c:438
+#, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "khĂ´ng hiá»u được trạng thái treo '%s'"
+
+#: sys-utils/rtcwake.c:448
+msgid "invalid seconds argument"
+msgstr "tham số giây không hợp lệ"
+
+#: sys-utils/rtcwake.c:455
+msgid "invalid time argument"
+msgstr "tham số thời gian không hợp lệ"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: giả sử RTC dùng UTC ...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Sử dụng thời gian UTC.\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "Sử dụng thời gian địa phương.\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr "phải cung cấp thời Ä‘iá»m đánh thức (xem thĂŞm các tuỳ chọn -t vĂ  -s)"
+
+#: sys-utils/rtcwake.c:508
+#, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s không thỠbật sự kiện báo thức"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "báo thức %ld, giờ_hệ_thống %ld, giờ_RTC %ld, giây %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr "treo \"%s\" khĂ´ng sáşµn sĂ ng"
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr "thời gian không chạy ngược vỠ%s"
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%s: thức dậy sử dụng %s lúc %s"
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%s: thức dậy từ \"%s\" sử dụng %s lúc %s"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr "chế độ ngưng: không; đang rời\n"
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr "cháşż Ä‘á»™ ngĆ°ng: bị tắt; Ä‘Äng thá»±c hiện %s\n"
+
+#: sys-utils/rtcwake.c:578
+#, c-format
+msgid "unable to execute %s"
+msgstr "khĂ´ng thá» thá»±c thi %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr "chế độ ngưng: đã bật; đang đọc RTC\n"
+
+#: sys-utils/rtcwake.c:592
+msgid "rtc read failed"
+msgstr "đọc fts gặp lỗi"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr "chế độ ngưng: vô hiệu hoá; đang tắt báo động\n"
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr "cháşż Ä‘á»™ ngĆ°ng: hiá»n thị; Ä‘ang in thĂ´ng tin báo thức\n"
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr "chế độ ngưng: %s; đang ngưng chạy hệ thống\n"
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr "tắt khả ngắt của đồng hồ báo thức RTC gặp lỗi"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Äang báş­t %s.\n"
+
+#: sys-utils/setarch.c:94
+#, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr " %s%s [các tuỳ chọn] [chương_trình [các tham số của chương trình]]\n"
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -v, --verbose \t\tliệt kê những tùy chọn đã bật\n"
+" -R, --addr-no-randomize\n"
+"\t\t\ttắt chức nÄng ngáş«u nhiĂŞn hoá khĂ´ng gian địa chỉ ảo\n"
+" -F, --fdpic-funcptrs\t\tlàm cho con trỏ hàm thì chỉ tới bộ mô tả\n"
+" -Z, --mmap-page-zero\tbáş­t MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout\tthay đổi cách cấp phát bộ nhớ ảo\n"
+" -X, --read-implies-exec \tbật READ_IMPLIES_EXEC (đọc ngụ ý thực hiện)\n"
+" -B, --32bit \t\tbật ADDR_LIMIT_32BIT (giới hạn địa chỉ 32-"
+"bit)\n"
+" -I, --short-inode \t\tbật SHORT_INODE (nút thông tin ngắn)\n"
+" -S, --whole-seconds \tbật WHOLE_SECONDS (nguyên giây)\n"
+" -T, --sticky-timeouts \tbật STICKY_TIMEOUTS (thời hạn dính)\n"
+" -3, --3gb \t\tđặt không gian địa chỉ tiêu thụ tối đa 3 GB\n"
+" --4gb \t\tbị bỏ qua (chỉ đỠtương thích ngược)\n"
+" --uname-2.6 báş­t UNAME26\n"
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s\n"
+"Hãy thử lệnh \"%s --help\" đỠxem thông tin thêm."
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr "Hãy thử lệnh `%s --help' đỠxem thông tin thêm."
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: kiáşżn trĂşc khĂ´ng nháş­n ra"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "Không đủ đối số"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Lỗi đặt cá tính thành %s"
+
+#: sys-utils/setsid.c:28
+#, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr " %s [các tuỳ chọn] <chương trình> [các đối số ...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr " -c, --ctty Ä‘áş·t thiáşżt bị cuối Ä‘iá»u khiá»n cho cái hiện tại\n"
+
+#: sys-utils/setsid.c:79
+msgid "fork"
+msgstr "rẽ nhánh tiến trình"
+
+#: sys-utils/setsid.c:90
+msgid "setsid failed"
+msgstr "setsid bị lỗi"
+
+#: sys-utils/setsid.c:94
+msgid "failed to set the controlling terminal"
+msgstr "gáş·p lá»—i khi Ä‘áş·t thiáşżt bị cuối Ä‘iá»u khiá»n"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "execvp bị lỗi"
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr "swapoff %s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "Không phải siêu người dùng.s"
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s swapoff bị lỗi"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr " %s [các tuỳ chọn] [<spec>]\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all tắt toàn bộ swaps từ /proc/swaps\n"
+" -v, --verbose cháşż Ä‘á»™ hiá»n thị đầy đủ thĂ´ng tin\n"
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Các đối số <spec>:\n"
+" -L <label> LABEL của thiết bị cần dùng\n"
+" -U <uuid> UUID của thiết bị cần dùng\n"
+" LABEL=<label> LABEL của thiết bị cần dùng\n"
+" UUID=<uuid> UUID của thiết bị cần dùng\n"
+" <device> tên của thiết bị cần dùng\n"
+" <file> tên của tệp tin được dùng\n"
+
+#: sys-utils/swapon.c:89
+msgid "device file or partition path"
+msgstr "tập tin thiết bị hoặc đường dẫn tới phân vùng"
+
+#: sys-utils/swapon.c:90
+msgid "type of the device"
+msgstr "kiá»u thiáşżt bị"
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr "kích thước vùng hoán đổi"
+
+#: sys-utils/swapon.c:92
+msgid "bytes in use"
+msgstr "byte Ä‘ĂŁ dĂąng"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr "quyá»n Ć°u tiĂŞn swap"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr "%s\t\t\t\tKiá»u\t\tKĂ­ch cỡ\tDĂąng\tMứcĆŻuTiĂŞn\n"
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr "Tên tệp tin"
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: đang sơ khởi lại vùng trao đổi."
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "execv bị lỗi"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: lseek bị lỗi"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: lỗi ghi chữ ký"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+"%s: tìm thấy chữ ký trao đổi: phiên bản %d, kích cỡ trang %d, thứ tự byte %s"
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "khác"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "giống nhau"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: cĂł quyá»n khĂ´ng bảo máş­t %04o, Ä‘á» nghị dĂąng %04o."
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%s: chủ sở hữu không bảo mật %d, đỠnghị dùng 0 (root)."
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: đang bỏ qua — có vẻ là nó bị lỗ."
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: lỗi lấy kích cỡ"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: lỗi đọc phần đầu vùng trao đổi"
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+"%s: kích cỡ trang=%d, kích cỡ vùng trao đổi=%llu, kích cỡ thiết bị=%llu"
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr "%s: last_page 0x%08llx lớn hơn kích cỡ thật của vùng trao đổi"
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: kích cỡ trang định dạng trao đổi không tương ứng."
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+"%s: kích cỡ trang định dạng trao đổi không tương ứng. (Dùng --fixpgsz đỠsơ "
+"khởi lại nó.)"
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr "%s: phát hiện dữ liệu ngĆ°ng phần má»m. Äang ghi lại chữ kĂ˝ trao đổi."
+
+#: sys-utils/swapon.c:555
+#, c-format
+msgid "swapon %s\n"
+msgstr "swapon %s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s swapon bị lỗi"
+
+#: sys-utils/swapon.c:607
+#, c-format
+msgid "failed to parse %s"
+msgstr "gặp lỗi phân tích %s"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+" -a, --all bật tất cả các vùng bộ nhớ trao đổi trong tập tin /"
+"etc/fstab\n"
+" -d, --discard loại bỏ các trang đang rảnh trước khi chúng được sử "
+"dụng lại\n"
+" -e, --ifexists âm thầm bỏ qua các thiết bị mà nó không tồn tại\n"
+" -f, --fixpgsz khởi tạo lại không gian bộ nhớ trao đổi nếu thấy cần "
+"thiáşżt\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+" -p, --priority <prio> chỉ định mức ưu tiên của thiết bị bộ nhớ trao đổi.\n"
+" -s, --summary hiá»n thị thĂ´ng tin tổng quát vá» thiáşżt bị bá»™ nhá»› trao "
+"đổi đã sử dụng rồi thoát\n"
+" --show[=<cá»™t>] hiá»n thị dạng tổng quát trong bảng định nghÄ©a\n"
+" --noheadings khĂ´ng hiá»n thị đầu Ä‘á», sá»­ dụng vá»›i --show\n"
+" --raw sử dụng kết xuất dạng thô, sử dụng với --show\n"
+" --bytes hiá»n thị vĂąng hoán đổi tĂ­nh báş±ng bytes trong káşżt "
+"xuất khi dùng --show\n"
+" -v, --verbose chế độ trình bày đầy đủ thông tin\n"
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"\n"
+"Các đối số <spec>:\n"
+" -L <label> LABEL của thiết bị cần dùng\n"
+" -U <uuid> UUID của thiết bị cần dùng\n"
+" LABEL=<label> LABEL của thiết bị cần dùng\n"
+" UUID=<uuid> UUID của thiết bị cần dùng\n"
+" PARTLABEL=<label> chỉ định thiết bị theo nhãn của phân vùngl\n"
+" PARTUUID=<uuid> chỉ định thiết bị theo UUID của phân vùng\n"
+" <device> tên của thiết bị cần dùng\n"
+" <file> tên của tập tin được dùng\n"
+"\n"
+
+#: sys-utils/swapon.c:676
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr ""
+"\n"
+"Các cột sẵn dùng (cho --show):\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "không tìm thấy thiết bị cho %s"
+
+#: sys-utils/switch_root.c:57
+msgid "failed to open directory"
+msgstr "gặp lỗi khi mở thư mục"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+msgid "stat failed"
+msgstr "lỗi lấy trạng thái vỠtệp tin"
+
+#: sys-utils/switch_root.c:75
+msgid "failed to read directory"
+msgstr "đọc thư mục gặp lỗi"
+
+#: sys-utils/switch_root.c:107
+#, c-format
+msgid "failed to unlink %s"
+msgstr "bỏ liĂŞn káşżt má»m %s khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/switch_root.c:144
+#, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "gáş·p lá»—i khi di chuyá»n gắn %s tá»›i %s"
+
+#: sys-utils/switch_root.c:146
+#, c-format
+msgid "forcing unmount of %s"
+msgstr "ép buộc bỏ gắn của %s"
+
+#: sys-utils/switch_root.c:152
+#, c-format
+msgid "failed to change directory to %s"
+msgstr "gặp lỗi khi thay đổi thư mục tới %s"
+
+#: sys-utils/switch_root.c:160
+#, c-format
+msgid "failed to mount moving %s to /"
+msgstr "gáş·p lá»—i khi di chuyá»n gắn %s tá»›i /"
+
+#: sys-utils/switch_root.c:166
+msgid "failed to change root"
+msgstr "khĂ´ng thá» chuyá»n đổi thĆ° mục gốc"
+
+#: sys-utils/switch_root.c:185
+#, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr " %s [các tuỳ chọn] <thư_mục_gốc_mói> <init> <đối số cho khởi tạo>\n"
+
+#: sys-utils/switch_root.c:217
+msgid "failed. Sorry."
+msgstr "gặp lỗi. Rất tiếc."
+
+#: sys-utils/switch_root.c:220
+#, c-format
+msgid "cannot access %s"
+msgstr "khĂ´ng thá» truy cáş­p %s"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr " -i, --irq <num> chỉ định con số irq cho cổng song song\n"
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr " -t, --time <ms> trình Ä‘iá»u khiá»n đợi trong mi-li-giây\n"
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr " -c, --chars <số> số ký tự được kết xuất trước khi ngủ\n"
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr " -w, --wait <micrôgiây> nhấp nháy đợi trong micrôgiây\n"
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr " -a, --abort <on|off> huỷ bỏ nếu lỗi\n"
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+" -o, --check-status <on|off> kiá»m tra trạng thái máy in trĆ°á»›c khi in\n"
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+" -C, --careful <on|off> kiá»m tra bổ xung cho việc kiá»m tra trạng thái\n"
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr " -s, --status truy vấn trạng thái máy in\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr " -T, --trust-irq <on|off> yĂŞu cầu trình Ä‘iá»u khiá»n tin irq\n"
+
+#: sys-utils/tunelp.c:95
+msgid " -r, --reset reset the port\n"
+msgstr " -r, --reset đặt lại cổng\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr " -q, --print-irq <on|off> hiá»n thị cĂ i Ä‘áş·t irq hiện hĂ nh\n"
+
+#: sys-utils/tunelp.c:109
+msgid "bad value"
+msgstr "giá trị sai"
+
+#: sys-utils/tunelp.c:271
+#, c-format
+msgid "%s not an lp device"
+msgstr "%s không phải là một thiết bị lp"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "lá»—i LPGETSTATUS"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "trạng thái %s là %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ", Ä‘ang báş­n"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ", sáşµn sĂ ng"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ", không đủ trang"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ", trá»±c tuyáşżn"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ", gáş·p lá»—i"
+
+#: sys-utils/tunelp.c:312
+msgid "ioctl failed"
+msgstr "ioctl khĂ´ng thĂ nh cĂ´ng"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "lá»—i LPGETIRQ"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s Ä‘ang dĂąng IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s Ä‘ang dĂąng khả nÄng trĆ°ng cầu\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+" %1$s [-hV]\n"
+" %1$s -a [các tuỳ chọn]\n"
+" %1$s [các tuỳ chọn] <nguồn> | <thư-mục>\n"
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+" -a, --all bỏ gắn toàn bộ hệ thống tập tin\n"
+" -c, --no-canonicalize không canonicalize đường dẫn\n"
+" -d, --detach-loop nếu đã gắn thiết bị vòng lặp, đồng thời giải phóng "
+"luôn cả thiết bị vòng lặp\n"
+" --fake chạy thử; bỏ gọi hàm hệ thống umount(2)\n"
+" -f, --force ép buộc bỏ gắn (trong trường hợp một hệ thống NFS "
+"không thỠkết nối)\n"
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+" -i, --internal-only không gọi lệnh bỏ gắn. trình hỗ trợ <type>\n"
+" -n, --no-mtab khĂ´ng ghi vĂ o táş­p tin /etc/mtab\n"
+" -l, --lazy tháo khỏi hệ thống tập tin ngay, và dọn sạch tất cả "
+"sau Ä‘Ăł\n"
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+" -O, --test-opts <list> giới hạn tập hợp hệ thống tập tin (sử dụng với -a)\n"
+" -r, --read-only Trong trường hợp bỏ gắn gặp lỗi, thử gắn lại với "
+"chỉ-đọc\n"
+" -t, --types <list> giá»›i hạn táş­p hợp kiá»u hệ thống táş­p tin\n"
+" -v, --verbose hiá»n thị những gì Ä‘ang được lĂ m\n"
+
+#: sys-utils/umount.c:179
+#, c-format
+msgid "%s: umount failed"
+msgstr "%s: bỏ gắn gặp lỗi"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "%s: hệ thống tập tin đã bỏ gắn, nhưng lệnh mount(8) gặp lỗi"
+
+#: sys-utils/umount.c:202
+#, c-format
+msgid "%s: invalid block device"
+msgstr "%s: thiết bị khối không hợp lệ"
+
+#: sys-utils/umount.c:208
+#, c-format
+msgid "%s: can't write superblock"
+msgstr "%s: không thỠghi siêu khối"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"%s: thiết bị đang bận.\n"
+"\t(Trong một số trường hợp nào đó,\n"
+"\thàm lsof(8) hoặc fuser(1) có thỠtìm\n"
+"\tthông tin có ích vỠcác tiến trình đang dùng thiết bị."
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr "%s: phải là siêu người dùng (root) đỠbỏ gắn"
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "%s: thiết bị khói không được thừa nhận trên fs"
+
+#: sys-utils/umount.c:272
+msgid "failed to set umount target"
+msgstr "gặp lỗi khi đặt đích bỏ gắn"
+
+#: sys-utils/unshare.c:60
+#, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr " %s [các tuỳ chọn] <chương trình> [các đối số...]\n"
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+" -m, --mount bỏ chia sáş» miá»n tĂŞn mounts\n"
+" -u, --uts bỏ chia sáş» miá»n tĂŞn UTS (tĂŞn máy v.v.)\n"
+" -i, --ipc bỏ chia sáş» miá»n tĂŞn System V IPC\n"
+" -n, --net bỏ chia sáş» miá»n tĂŞn network\n"
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "unshare bị lỗi"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr "Card trước đây lhởi động lại CPU"
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr "Rơ-le nội tại 1"
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr "Rơ-le nội tại 2"
+
+#: sys-utils/wdctl.c:47
+msgid "Fan failed"
+msgstr "Quạt gặp lỗi"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr "Trả lời từ lệnh ping dùng đỠduy trì kết nối"
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr "Hỗ trợ ký tự đóng kỳ diệu"
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr "Khởi động lại bởi vì CPU bị quá nóng"
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr "Quá điện áp nguồn"
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr "Nguồn điện xấu/lỗi"
+
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr "Pretimeout (tính bằng giây)"
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr "Äáş·t thời gian chờ tối Ä‘a (theo giây)"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr "tên cờ"
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr "mô tả cờ"
+
+#: sys-utils/wdctl.c:72
+msgid "flag status"
+msgstr "trạng thái cờ"
+
+#: sys-utils/wdctl.c:73
+msgid "flag boot status"
+msgstr "trạng thái cờ khởi động"
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr "tên thiết bị giữ nhà (watchdog)"
+
+#: sys-utils/wdctl.c:108
+#, c-format
+msgid "unknown flag: %s"
+msgstr "khĂ´ng hiá»u cờ: %s"
+
+#: sys-utils/wdctl.c:145
+#, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "%s [tùy chọn] [<thiết bị> ...]\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+" -f, --flags <list> chỉ hiá»n thị những cờ Ä‘ĂŁ chọn\n"
+" -F, --noflags khĂ´ng hiá»n thị các táş­p tin cho các cờ\n"
+" -I, --noident khĂ´ng hiá»n thị thĂ´ng tin định danh watchdog\n"
+" -n, --noheadings khĂ´ng hiá»n thị đầu Ä‘á» cho bảng các cờ\n"
+" -O, --oneline hiá»n thị mọi thĂ´ng tin trĂŞn má»™t dòng\n"
+" -o, --output <list> hiá»n thị các cá»™t theo danh sách\n"
+" -r, --raw sử dụng định dạng thô cho bảng các cờ\n"
+" -T, --notimeouts khĂ´ng hiá»n thị thời gian chờ tối Ä‘a của watchdog\n"
+" -s, --settimeout <sec> đặt thời gian chờ tối đa watchdog\n"
+" -x, --flags-only chỉ hiá»n thị bảng các cờ (giống vá»›i -I -T)\n"
+
+#: sys-utils/wdctl.c:165
+#, c-format
+msgid "The default device is %s.\n"
+msgstr "Thiết bị mặc định là %s.\n"
+
+#: sys-utils/wdctl.c:168
+msgid "Available columns:\n"
+msgstr "Các cột sẵn dùng:\n"
+
+#: sys-utils/wdctl.c:254
+#, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s: khĂ´ng hiá»u cờ 0x%x\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr "%s: watchdog đã sẵn đang sẵn dùng, đang chấm dứt."
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s: gặp lỗi khi giải trừ đồng hồ giữ nhà (watchdog)"
+
+#: sys-utils/wdctl.c:307
+#, c-format
+msgid "cannot set timeout for %s"
+msgstr "kinh tế đặt thời hạn chờ cho %s"
+
+#: sys-utils/wdctl.c:345
+#, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s: gặp lỗi khi lấy thông tin vỠđồng hồ giữ nhà (watchdog)"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%-15s%2i giây\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr "Thời gian chờ tối đa:"
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr "Pre-timeout:"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr "Còn:"
+
+#: sys-utils/wdctl.c:564
+msgid "Device:"
+msgstr "Thiết bị:"
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%-15s%s [phiên bản %x]\n"
+
+#: term-utils/agetty.c:435
+#, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s: khĂ´ng thá» chuyá»n đổi thĆ° mục gốc %s: %m"
+
+#: term-utils/agetty.c:440
+#, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s: không thỠthay đổi thư mục làm việc %s: %m"
+
+#: term-utils/agetty.c:445
+#, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s: không thỠthay đổi mức ưu tiên của tiến trình: %m"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: không thực hiện được %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, c-format
+msgid "failed to allocate memory: %m"
+msgstr "không cấp pháp được bộ nhớ: %m"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "giá trị thời gian chờ xấu: %s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "tốc độ xấu: %s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "quá nhiá»u tốc Ä‘á»™ luân phiĂŞn"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "không mở được /dev/%s như một đầu vào tiêu chuẩn (stdin): %m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: không phải thiết bị ký tự"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: không mở được đọc/viết"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: vấn đỠkhi dup: %m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr "Tắt phím Num Lock"
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr "Báş­t phĂ­m Num Lock"
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr "Báş­t phĂ­m Caps Lock"
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr "Báş­t phĂ­m Scroll Lock"
+
+#: term-utils/agetty.c:1287
+#, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr ""
+"Gợi YĚ: %s\n"
+"\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: đọc: %m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: thừa dữ liệu vào"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+"\n"
+"Cách dùng:\n"
+" %1$s [các tuỳ chọn] line baud_rate,... [termtype]\n"
+" %1$s [các tuỳ chọn] baud_rate,... line [termtype]\n"
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -8, --8bits giả định tty 8-bit\n"
+" -a, --autologin <user> Ä‘Äng nháş­p tá»± Ä‘á»™ng vá»›i tĂŞn tĂ i khoản Ä‘ĂŁ chỉ định\n"
+" -c, --noreset khĂ´ng Ä‘áş·t lại cháşż Ä‘á»™ Ä‘iá»u khiá»n\n"
+" -f, --issue-file <file> hiá»n thị táş­p tin phát hĂ nh\n"
+" -h, --flow-control cho phĂ©p phần cứng Ä‘iá»u khiá»n luồng chảy\n"
+" -H, --host <hostname> chỉ định tĂŞn máy chủ Ä‘Äng nháş­p\n"
+" -i, --noissue khĂ´ng hiá»n thị táş­p tin phát hĂ nh\n"
+" -I, --init-string <string> chuỗi khởi tạo\n"
+" -l, --login-program <file> chỉ định chương trình Ä‘Äng nháş­p\n"
+" -L, --local-line ép buộc dòng cục bộ\n"
+" -m, --extract-baud trích tốc độ baud trong suốt quá trình kết nối\n"
+" -n, --skip-login khĂ´ng hỏi cho Ä‘Äng nháş­p\n"
+" -o, --login-options <opts> các tuỳ chọn khĂ´ng chuyá»n qua cho Ä‘Äng nháş­p\n"
+" -p, --loginpause chờ má»™t phĂ­m bất kỳ trĆ°á»›c khi Ä‘Äng nháş­p\n"
+" -R, --hangup gần như treo lên trên tty\n"
+" -s, --keep-baud thử giữ tốc độ baud sau khi ngắt\n"
+" -t, --timeout <number> thời gian tối Ä‘a cho quá trình Ä‘Äng nháş­p\n"
+" -U, --detect-case dò tìm thiết bị cuối chữ hoa\n"
+" -w, --wait-cr chờ ký hiệu vỠđầu dòng (cr)\n"
+" --noclear không xoá màn hình trước khi hỏi\n"
+" --nohints khĂ´ng hiá»n thị gợi Ă˝\n"
+" --nonewline khĂ´ng hiá»n thị má»™t dòng má»›i trĆ°á»›c khi phát hĂ nh\n"
+" --no-hostname khĂ´ng cĂł tĂŞn máy chủ cĹ©ng được hiá»n thị\n"
+" --long-hostname hiá»n thị đầy đủ tĂŞn máy chủ\n"
+" --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "người dùng"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "người dùng"
+
+#: term-utils/mesg.c:74
+#, c-format
+msgid " %s [options] [y | n]\n"
+msgstr " %s [các tuỳ chọn] [c | k]\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+" -v, --verbose giải thích những gì đang được làm\n"
+" -V, --version xuất thông tin phiên bản rồi thoát\n"
+" -h, --help hiá»n thị mĂ n hình trợ giĂşp rồi thoát\n"
+"\n"
+
+#: term-utils/mesg.c:121
+msgid "ttyname failed"
+msgstr "ttyname bị lỗi"
+
+#: term-utils/mesg.c:128
+msgid "is y"
+msgstr "lĂ  c"
+
+#: term-utils/mesg.c:131
+msgid "is n"
+msgstr "lĂ  k"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, c-format
+msgid "change %s mode failed"
+msgstr "Lỗi đổi chế độ %s"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr "quyá»n truy cáş­p ghi tá»›i thiáşżt bị cuối của bạn lĂ  được phĂ©p"
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr "quyá»n truy cáş­p ghi tá»›i thiáşżt bị cuối của bạn bị từ chối"
+
+#: term-utils/mesg.c:153
+#, c-format
+msgid "invalid argument: %s"
+msgstr "đối số không hợp lệ: %s"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"tập tin kết xuất `%s' là một liên kết.\n"
+"Hãy dùng `--force' nếu thực sự muốn sử dụng nó.\n"
+"Chương trình chưa khởi chạy."
+
+#: term-utils/script.c:132
+#, c-format
+msgid " %s [options] [file]\n"
+msgstr "%s [TUỲ_CHỌN] [TẬP_TIN]\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -a, --append thêm vào kết xuất\n"
+" -c, --command <lệnh> chạy lệnh thay vì hệ vỏ tương tác\n"
+" -e, --return trả vỠmã của quá trình con\n"
+" -f, --flush chạy lệnh flush sau mỗi lần ghi\n"
+" --force sử dụng tệp tin kết xuất ngay cả khi nó là một liên "
+"káşżt\n"
+" -q, --quiet im láş·ng\n"
+" -t, --timing[=<file>] kết xuất dữ liệu thời gian tới stderr (hay tới "
+"FILE)\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "VÄn lệnh Ä‘ĂŁ khởi chạy, táş­p tin lĂ  %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "VÄn lệnh Ä‘ĂŁ khởi chạy trĂŞn %s"
+
+#: term-utils/script.c:401
+msgid "cannot write script file"
+msgstr "không thỠghi tập tin bó lệnh"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"HoĂ n tất chạy vÄn lệnh trĂŞn %s"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "HoĂ n tất chạy vÄn lệnh, táş­p tin lĂ  %s\n"
+
+#: term-utils/script.c:513
+msgid "openpty failed"
+msgstr "openpty khĂ´ng thĂ nh cĂ´ng"
+
+#: term-utils/script.c:549
+msgid "out of pty's"
+msgstr "háşżt pty's"
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr " %s [-t] timingfile [typescript] [divisor]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -t, --timing <file> tập tin kết xuất tính toán thời gian script\n"
+" -s, --typescript <file> tập tin kết xuất phiên thiết bị cuối script\n"
+" -d, --divisor <num> tÄng hoáş·c giảm tốc thi hĂ nh vá»›i số chia\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "mong đợi con số, còn nhận \"%s\""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "số chia \"%s\""
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "lỗi ghi vào đầu ra tiêu chuẩn"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "gặp kết thúc tập tin bất thường trên %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "lỗi đọc tập tin bản đánh máy %s"
+
+#: term-utils/scriptreplay.c:185
+msgid "wrong number of arguments"
+msgstr "số đối số không đúng"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "lỗi đọc tập tin đếm thời gian %s"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "tập tin đếm thời gian %s: %lu: định dạng bất thường"
+
+#: term-utils/setterm.c:674
+msgid "Argument error."
+msgstr "Lỗi đối số."
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+" -term <tên thết bị cuối>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off> : con trỏ\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default : mặc định\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default> : mĂ u "
+"tiá»n cảnh\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default> : mĂ u "
+"hậu cảnh\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off> : Ä‘áş­m\n"
+" -half-bright <on|off>\n"
+" -blink <on|off> :nhấp nháy\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version : phiên bản\n"
+" -help : trợ giúp\n"
+
+#: term-utils/setterm.c:1072
+msgid "cannot force blank"
+msgstr "không thỠáp buộc đỠtrống"
+
+#: term-utils/setterm.c:1076
+msgid "cannot force unblank"
+msgstr "không thỠáp buộc không đỠtrống"
+
+#: term-utils/setterm.c:1082
+msgid "cannot get blank status"
+msgstr "không thỠlấy trạng thái từ dòng trống"
+
+#: term-utils/setterm.c:1094
+msgid "cannot (un)set powersave mode"
+msgstr "không đặt (bỏ) được chế độ tiết kiệm điện"
+
+#: term-utils/setterm.c:1114
+#, c-format
+msgid "can not open dump file %s for output"
+msgstr "không thỠmở tập tin dump %s đỠxuất ra"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+msgid "klogctl error"
+msgstr "lá»—i klogctl"
+
+#: term-utils/setterm.c:1205
+msgid "Error writing screendump"
+msgstr "Lỗi ghi dump màn hình"
+
+#: term-utils/setterm.c:1212
+#, c-format
+msgid "Couldn't read %s"
+msgstr "Không thỠđọc %s"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr "$TERM chưa được định nghĩa."
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr "cơ sở dữ liệu terminfo không thỠtìm thấy"
+
+#: term-utils/setterm.c:1276
+#, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s: khĂ´ng hiá»u kiá»u thiáşżt bị cuối"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr "thiết bị cuối là máy in"
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "quá nhiá»u iov (thay đổi mĂŁ trong wall/ttymsg.c)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "dòng đối số quá dài"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "không phân nhánh được"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr "%s: LỖI XẤU, thông điệp quá dài"
+
+#: term-utils/wall.c:83
+#, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "%s [TUỲ_CHỌN] [<TẬP_TIN>]\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -n, --nobanner không in ra tiêu đỠ(banner), chỉ làm việc với "
+"root\n"
+" -t, --timeout <timeout> ghi thời gian quá giờ tính bằng giây\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr "--nobanner chỉ dành cho root"
+
+#: term-utils/wall.c:130
+#, c-format
+msgid "invalid timeout argument: %s"
+msgstr "đối số đặt cho quá giờ không hợp lệ: %s"
+
+#: term-utils/wall.c:202
+msgid "cannot get passwd uid"
+msgstr "không thỠlấy uid mật khẩu"
+
+#: term-utils/wall.c:207
+msgid "cannot get tty name"
+msgstr "không lấy được tên tty"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Thông báo Toàn thỠtừ %s@%s"
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr "không thỠđọc %s - sử dụng đầu vào chuẩn stdin."
+
+#: term-utils/wall.c:275
+msgid "fread failed"
+msgstr "fread gáş·p lá»—i"
+
+#: term-utils/write.c:81
+#, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr " %s [các tuỳ chọn] <tài khoản người dùng> [<tên tty>]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -V, --version Xuất thông tin phiên bản rồi thoát.\n"
+" -h, --help Hiá»n thị trợ giĂşp nĂ y rồi thoát.\n"
+"\n"
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr "không thỠtìm tên tty của bạn"
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr "quyá»n ghi của bạn Ä‘ĂŁ bị tắt"
+
+#: term-utils/write.c:168
+#, c-format
+msgid "%s is not logged in on %s"
+msgstr "%s khĂ´ng được Ä‘Äng nháş­p trĂŞn %s"
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr "%s có các thông điệp bị tắt trên %s"
+
+#: term-utils/write.c:269
+#, c-format
+msgid "%s is not logged in"
+msgstr "%s chĆ°a Ä‘Äng nháş­p"
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr "%s có các thông điệp bị tắt"
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "%s Ä‘Äng nháş­p nhiá»u hơn má»™t lần, Ä‘ang ghi vĂ o %s"
+
+#: term-utils/write.c:326
+#, c-format
+msgid "tty path %s too long"
+msgstr "đường dẫn tty %s quá dài"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Tin nhắn từ %s@%s (như %s) trên %s lúc %s ..."
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Tin nhắn %s@%s tên %s lúc %s ..."
+
+#: term-utils/write.c:372
+msgid "carefulputc failed"
+msgstr "carefulputc gáş·p lá»—i"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -b, --no-backspaces không kết xuất backspaces\n"
+" -f, --fine cho phĂ©p chuyá»n tiáşżp ná»­a dòng\n"
+" -p, --pass chuyá»n dĂŁy Ä‘iá»u khiá»n chĆ°a hiá»u\n"
+" -h, --tabs chuyá»n đổi khoảng trắng thĂ nh tab\n"
+" -x, --spaces chuyá»n đổi tab thĂ nh khoảng trắng\n"
+" -l, --lines NUM đệm ít nhất là NUM dòng\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -H, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+"%s đọc từ đầu vào tiêu chuẩn và ghi ra đầu ra tiêu chuẩn\n"
+"\n"
+
+#: text-utils/col.c:144
+msgid "write error."
+msgstr "lá»—i ghi"
+
+#: text-utils/col.c:199
+msgid "bad -l argument"
+msgstr "đối số -l sai"
+
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr "cảnh báo: không sao lưu được %s."
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "đi qua dòng cuối cùng"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- dòng đã san phẳng"
+
+#: text-utils/colcrt.c:314
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+"%s [tùy_chọn] [tên_tệp_tin...]\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+" -, --no-underlining chặn mọi dòng gạch dưới\n"
+" -2, --half-lines hiá»n thị tất cả ná»­a dòng\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: text-utils/colrm.c:59
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+"%s [cột đầu [cột cuối]]\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: text-utils/colrm.c:185
+msgid "first argument"
+msgstr "đối số đầu tiên"
+
+#: text-utils/colrm.c:187
+msgid "second argument"
+msgstr "đối số thứ hai"
+
+#: text-utils/column.c:90
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"Sử dụng: %s [tùy_chọn] [tên_tệp_tin...]\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+" -h, --help hiá»n thị trợ giĂşp nĂ y\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+" -c, --columns <width> độ rộng của kết xuất tính bằng số ký tự\n"
+" -t, --table tạo một bảng\n"
+" -s, --separator <string> kĂ˝ tá»± ngÄn cách bảng\n"
+" -x, --fillrows Ä‘iá»n đầy hĂ ng trĆ°á»›c các cá»™t\n"
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem column(1).\n"
+
+#: text-utils/column.c:150
+msgid "invalid columns argument"
+msgstr "đối số cột không hợp lệ"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr "dòng %d quá dài, kết xuất sẽ bị cắt ngắn"
+
+#: text-utils/display.c:262
+msgid "all input file arguments failed"
+msgstr "toàn bộ đối số tập tin kết xuất sai"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+"việc gọi hexdump giống như là lệnh od đã bị phản đối trong sự thiện ý của "
+"lệnh od của gói GNU coreutils."
+
+#: text-utils/hexsyntax.c:123
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+"%s [tùy_chọn] tên_tệp_tin...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -b hiá»n thị kiá»u má»™t-byte bát phân\n"
+" -c hiá»n thị kiá»u má»™t-byte kĂ˝ tá»±\n"
+" -C hiá»n thị kiá»u tháş­p lục phân +ASCII canonical\n"
+" -d hiá»n thị kiá»u hai-byte tháş­p phân\n"
+" -o hiá»n thị kiá»u hai-byte bát phân\n"
+" -x hiá»n thị kiá»u hai-byte tháş­p lục phân\n"
+" -e format chuá»—i Ä‘ĂŁ định dạng được sá»­ dụng Ä‘á» hiá»n thị dữ liệu\n"
+" -f format_file tập tin mà nó chứa chỗi đã định dạng\n"
+" -n length chỉ thá» hiện chiá»u dĂ i của káşżt xuất tĂ­nh theo byte\n"
+" -s offset bỏ qua má»™t khoảng (má»™t số) bytes tĂ­nh từ Ä‘iá»m bắt đầu\n"
+" -v hiá»n thị mĂ  khĂ´ng dồn nĂ©n các dòng giống nhau\n"
+" -V hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+"\n"
+
+#: text-utils/more.c:300
+#, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr ""
+"Sử dụng: %s [TUY_CHỌN] TẬP_TIN...\n"
+"\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+"Các tuỳ chọn:\n"
+" -d hiá»n thị trợ giĂşp thay vì báo chuĂ´ng\n"
+" -f đếm lôgíc, thay vì các dòng màn hình\n"
+" -l không cho tạp dừng sau form feed\n"
+" -p không cho cuộn, xoá màn hình và trình bày chữ\n"
+" -c không cho cuôn, trình bày chữ và xoá cuối dòng\n"
+" -u không cho gạch chân\n"
+" -s nĂ©n nhiá»u dòng trống lại thĂ nh má»™t\n"
+" -NUM chỉ định số dòng trên màn hình đầy\n"
+" +NUM hiá»n thị tệp tin bắt đầu từ dòng số NUM\n"
+" +/STRING hiá»n thị tệp tin bắt đầu từ chuá»—i khá»›p vá»›i từ cần tìm\n"
+" -V hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+
+#: text-utils/more.c:540
+#, c-format
+msgid "more (%s)\n"
+msgstr "more (%s)\n"
+
+#: text-utils/more.c:544
+#, c-format
+msgid "unknown option -%s"
+msgstr "không biết tùy chọn -%s"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: thư mục ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: KhĂ´ng phải táş­p tin vÄn bản ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Sử dụng q hoặc Q đỠthoát]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--Còn nữa--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Táş­p tin tiáşżp theo: %s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Nhấn phím trắng đỠtiếp tục, 'q' đỠthoát]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...quay lại %d trang"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...quay lại 1 trang"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...bỏ qua một dòng"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...bỏ qua %d dòng"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Quay lại***\n"
+"\n"
+
+#: text-utils/more.c:1339
+msgid "No previous regular expression"
+msgstr "KhĂ´ng cĂł biá»u thức chĂ­nh quy Ä‘i trĆ°á»›c"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"Có thỠthêm một tham số số nguyên vào trước hầu hết các câu lệnh. Mặc định "
+"đặttrong dấu ngoặc đơn.\n"
+"Dấu sao (*) cho biết tham số sẽ thành mặc định mới.\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<space> Hiện k dòng vÄn bản tiáşżp theo [kĂ­ch cỡ mĂ n hình hiện "
+"thời]\n"
+"z Hiá»n thị k dòng vÄn bản tiáşżp theo [kĂ­ch cỡ mĂ n hình "
+"hiện thời]*\n"
+"<return> Hiá»n thị k dòng vÄn bản tiáşżp theo [1]*\n"
+"d hoặc ctrl-D Cuộn k dòng [kích cỡ cuộn hiện thời, ban đầu là 11]"
+"*\n"
+"q hoặc Q hoặc <interrupt> Thoát khỏi more\n"
+"s Bỏ qua k dòng vÄn bản [1]\n"
+"f Bỏ qua k mĂ n hình vÄn bản [1]\n"
+"b hoáş·c ctrl-B Nhảy ngược lại k mĂ n hình vÄn bản [1]\n"
+"' Äi tá»›i nơi trĆ°á»›c khi bắt đầu tìm kiáşżm\n"
+"= Hiá»n thị số thứ tá»± dòng hiện thời\n"
+"/<biá»u thức chĂ­nh quy> Tìm kiáşżm lần xuất hiện thứ k của biá»u thức [1]\n"
+"n Tìm kiáşżm lần xuất hiện thứ k của biá»u thức cuối cĂąng "
+"[1]\n"
+"!<cmd> hoặc :!<cmd> Thực hiện <cmd> trong một shell con\n"
+"v Chạy /usr/bin/vi tại dòng hiện thời\n"
+"ctrl-L Vẽ lại màn hình\n"
+":n Äi tá»›i táş­p tin thứ k tiáşżp theo [1]\n"
+":p Äi tá»›i táş­p tin thứ k phĂ­a trĆ°á»›c [1]\n"
+":f Hiá»n thị tĂŞn táş­p tin hiện thời vĂ  số thứ tá»± dòng\n"
+". Lặp lại câu lệnh vừa thực hiện\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Hãy nhấn 'h' đỠxem chỉ dẫn.]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" dòng %d"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Không phải tập tin] dòng %d"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " Bị tràn\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...bỏ qua\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Không tìm thấy mẫu tìm kiếm\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "Không tìm thấy mẫu tìm kiếm"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "thực hiện (exec) không thành công\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "không phân nhánh được\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Bỏ qua "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...Nhảy tới tập tin "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...Nhảy quay lại tập tin "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "Dòng quá dài"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "Không có câu lệnh ngay trước đỠthay thế cho"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "dòng quá dài"
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr "số Ä‘áşżm byte vá»›i các kĂ˝ tá»± Ä‘a chuyá»n đổi"
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "số lượng byte sai cho kĂ˝ tá»± chuyá»n đổi %s"
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "%%s yêu cầu độ chính xác hoặc một số đếm byte"
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr "định dạng sai {%s}"
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr "kĂ˝ tá»± chuyá»n đổi sai %%%s"
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+"-------------------------------------------------------\n"
+" h trợ giúp này\n"
+" q hay Q thoát khỏi chương trình\n"
+" <dòng_mới> trang kế tiếp\n"
+" f nhảy tới một trang\n"
+" d hay ^D ná»­a trang káşż tiáşżp\n"
+" l dòng kế tiếp\n"
+" $ trang cuối cùng\n"
+" /biá»u thức chĂ­nh quy/ quĂ©t tá»›i tìm chuá»—i nĂ y\n"
+" ?biá»u thức chĂ­nh quy? hay ^biá»u thức chĂ­nh quy^ quĂ©t ngược tìm chuá»—i "
+"nĂ y\n"
+" . hay ^L vẽ lại màn hình\n"
+" w hay z đặt kích cỡ trang và đi tới trang kế tiếp\n"
+" s tên_tập_tin lưu tập tin hiện thời vào tên tập tin này\n"
+" !câu_lệnh thoát vào shell (hệ vỏ)\n"
+" p Ä‘i vá» táş­p tin trĆ°á»›c\n"
+" n Ä‘i tá»›i táş­p tin káşż tiáşżp\n"
+"\n"
+"Nhiá»u câu lệnh cĹ©ng chấp nháş­n số Ä‘i trĆ°á»›c, v.d.\n"
+"+1<dòng_mới> (trang kế tiếp); -1<dòng_mới> (trang trước); 1<dòng_mới> (trang "
+"đầu).\n"
+"\n"
+"Xem pg(1) đỠtìm thêm thông tin.\n"
+"-------------------------------------------------------\n"
+
+#: text-utils/pg.c:224
+#, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr " %s [các-tùy-chọn] [+dòng] [+/mẫu/] [tập-tin]\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr " -number số dòng mỗi trang\n"
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr " -c xoá sạch mĂ n hình sau khi hiá»n thị\n"
+
+#: text-utils/pg.c:229
+msgid " -e do not pause at end of a file\n"
+msgstr " -e không tạm dừng tại cuối tập tin\n"
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr " -f không cắt xuống dòng khi gặp dòng dài\n"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr " -n chấm dứt lệnh với một dòng mới\n"
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr " -p <dấu-nhắc> chỉ ra dấu nhắc\n"
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr " -r không cho phép thoát khỏi shell (hệ vỏ)\n"
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr " -s hiá»n thị thĂ´ng Ä‘iệp ra đầu ra tiĂŞu chuáş©n\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr " +số bắt đầu tại dòng được chỉ ra\n"
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr " +/mẫu/ bắt đầu tại dòng có chứa mẫu\n"
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr " -h hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr "-V đưa ra thông tin phiên bản rồi thoát\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: tùy chọn yêu cầu một tham số -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: tùy chọn không cho phép -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...nhảy vỠtrước\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...nhảy quay lại\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "KhĂ´ng cĂł táş­p tin tiáşżp theo"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "KhĂ´ng cĂł táş­p tin trĆ°á»›c"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Lỗi đọc từ tập tin %s\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: EOF (Kết thúc) không mong đợi trong tập tin %s\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Lỗi không rõ trong tập tin %s\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Không tạo được tập tin tạm thời (tempfile)\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "Lá»—i RE: "
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(Káşżt thĂşc táş­p tin)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "Không có chuỗi tìm kiếm ghi nhớ nào"
+
+#: text-utils/pg.c:1313
+msgid "cannot open "
+msgstr "không thỠmở"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "Ä‘ĂŁ ghi"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !câulệnh không cho phép trong chế độ rflag.\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() không thành công, hãy thử lại sau\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr "%s %s Tác quyá»n (c) 2000-2001 Gunnar Ritter. Giữ toĂ n bá»™ bản quyá»n.\n"
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(Táş­p tin tiáşżp theo: "
+
+#: text-utils/rev.c:77
+#, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "Cách sử dụng: %s [TUY_CHỌN] [TẬP_TIN...]\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -V, --version hiá»n thị thĂ´ng tin phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"Äá» tìm thĂŞm thĂ´ng tin, xem rev(1).\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "ghi không hoàn toàn vào \"%s\" (đã ghi %zd, mong đợi %zd)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+"%s: không thỠthêm sự theo dõi inotify (đã tới giới hạn các sự giới hạn "
+"inotify)."
+
+#: text-utils/tailf.c:198
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr ""
+"\n"
+"Cách sử dụng:\n"
+" %s [tùy_chọn] tập_tin\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -n, --lines NUMBER hiá»n thị NUMBER dòng cuối\n"
+" -NUMBER giống như `-n NUMBER'\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+msgid "failed to parse number of lines"
+msgstr "gặp lỗi khi phân tích số dòng"
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr "chưa ghi rõ tập tin đầu vào"
+
+#: text-utils/ul.c:136
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+"%s [tùy_chọn] [tên_tệp_tin...]\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"Các tuỳ chọn:\n"
+" -t, --terminal TERMINAL ghi đè lên biến môi trường TERM\n"
+" -i, --indicated đường gạch dưới được chỉ ra thông qua một dòng "
+"ngÄn cách\n"
+" -V, --version hiá»n thị thĂ´ng tin vá» phiĂŞn bản rồi thoát\n"
+" -h, --help hiá»n thị trợ giĂşp nĂ y rồi thoát\n"
+"\n"
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "có vấn đỠkhi đọc terminfo"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr "thiáşżt bị cuối `%s' khĂ´ng hiá»u, máş·c định lĂ  `dumb'"
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "khĂ´ng hiá»u dĂŁy thoát trong dữ liệu nháş­p: %o, %o"
+
+#: text-utils/ul.c:648
+msgid "Input line too long."
+msgstr "Dòng nhập quá dài."
+
+#~ msgid "cannot open file %s"
+#~ msgstr "không thỠmở tập tin %s"
+
+#~ msgid "cannot stat file %s"
+#~ msgstr "không thỠstat (lấy trạng thái) tập tin %s"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "sử dụng: %s [-hv] [-x thư mục] tập tin\n"
+#~ " -h\t\t in ra hĆ°á»›ng dáş«n nĂ y\n"
+#~ " -x thư mục\t ghi thông tin vào thư mục này\n"
+#~ " -v\t\t hiện thị nhiá»u thĂ´ng báo khi thá»±c hiện\n"
+#~ " tập tin\t\t tập tin đỠthử nghiệm\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "lỗi mở: %s"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "Sử dụng: %s [-larvsmf] /dev/TÊN\n"
+
+#~ msgid "unable to open '%s': %m"
+#~ msgstr "không thỠmở được '%s': %m"
+
+#~ msgid "failed to open %s"
+#~ msgstr "lỗi mở %s"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "không thỠlấy trạng thái vỠthiết bị %s"
+
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "gặp lỗi khi phân tích đối số kích_thước_tệp_tin"
+
+#~ msgid "cannot stat %s"
+#~ msgstr "không thỠlấy trạng thái (stat) vỠ%s"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s: lỗi mở"
+
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "lỗi: sẽ không thử tạo thiết bị trao đổi trên '%s'"
+
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "Không thỠmở thiết bị chủ thô '%s' (%s)\n"
+
+#~ msgid "%s: failed to open"
+#~ msgstr "%s: không mở được"
+
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "Sử dụng: %s [tùy_chọn ...] <thiết_bị>\n"
+#~ "\n"
+#~ "Tuỳ chọn:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Äá» tìm thĂŞm thĂ´ng tin, xem swaplabel(8).\n"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "Không thỠmở tập tin '%s'"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "Bạn sẽ không thỠghi nhớ bảng phân vùng.\n"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "ÄÄ©a nĂ y cĂł magic kiá»u cả DOS vĂ  BSD.\n"
+#~ "Nhập lệnh 'b' đỠvào chế độ BSD.\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "Phân vùng %i không bắt đầu trên ranh giới trụ:\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "phải là (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "phải là (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "ÄÄ©a %s khĂ´ng chứa má»™t bảng phân vĂąng hợp lệ\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "Không thỠmở %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr "Nhân này tự tìm kích cỡ rãnh ghi - tùy chọn -b bị bỏ qua\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "trĂ n bá»™ nhá»›?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk: dữ liệu vào kết thúc sớm\n"
+
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "CẢNH BĂO: khĂ´ng thá» mở %s"
+
+#~ msgid "WARNING: bad format on line %d of %s"
+#~ msgstr "CẢNH BĂO: gáş·p định dạng sai trĂŞn dòng %d của %s"
+
+#~ msgid ""
+#~ "WARNING: Your /etc/fstab does not contain the fsck passno\n"
+#~ "\tfield. I will kludge around things for you, but you\n"
+#~ "\tshould fix your /etc/fstab file as soon as you can.\n"
+#~ msgstr ""
+#~ "CẢNH BĂO: /etc/fstab của bạn khĂ´ng chứa trường fsck passno.\n"
+#~ "\tTĂ´i sáş˝ Ä‘iá»u chỉnh tạm thời, nhĆ°ng bạn nĂŞn sá»­a chữa\n"
+#~ "\ttập tin /etc/fstab càng sớm càng tốt.\n"
+
+#~ msgid "couldn't open %s"
+#~ msgstr "không thỠmở %s"
+
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "Không mở được /dev/port"
+
+#~ msgid "failed to parse epoch"
+#~ msgstr "gặp lỗi khi phân tích epoch"
+
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "Bạn phải chỉ ra nhiá»u hĂ m.\n"
+#~ "Bạn chỉ có thỠthực hiện một hàm mỗi lần."
+
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr ""
+#~ "Các tùy chọn \"--utc\" và \"--localtime\" loại trừ lẫn nhau. Bạn lại đưa "
+#~ "ra cả hai."
+
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "Các tùy chọn \"--adjust\" và \"--noadjust\" loại trừ lẫn nhau. Bạn lại "
+#~ "đưa ra cả hai."
+
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr ""
+#~ "Các tùy chọn \"--adjfile\" và \"--noadjfile\" loại trừ lẫn nhau. Bạn lại "
+#~ "đưa ra cả hai."
+
+#~ msgid "open() of %s failed"
+#~ msgstr "open() cho %s khĂ´ng thĂ nh cĂ´ng"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "Mở %s không thành công"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "Không mở được %s"
+
+#~ msgid "error: cannot open %s"
+#~ msgstr "không thỠmở %s"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "Không mở được %s đỠđọc nên thoát."
+
+#~ msgid "cannot lock group file"
+#~ msgstr "khĂ´ng thá» khĂła táş­p tin nhĂłm"
+
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "tập tin %s đang bận (%s hiện thời)"
+
+#~ msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+#~ msgstr "Sử dụng: %s LABEL=<nhãn>|UUID=<uuid>\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Äá» tìm thĂŞm thĂ´ng tin, xem findmnt(1).\n"
+
+#~ msgid "failed to parse timeout"
+#~ msgstr "lỗi phân tích quá lâu"
+
+#~ msgid "failed to parse sigval"
+#~ msgstr "lỗi phân tích sigval"
+
+#~ msgid "failed to parse port number"
+#~ msgstr "gặp lỗi khi phân tích số cổng"
+
+#~ msgid "port `%ld' out of range"
+#~ msgstr "cổng `%ld' nằm ngoài phạm vi"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Äá» tìm thĂŞm thĂ´ng tin, xem lsblk(8).\n"
+
+#~ msgid "Could not open %s"
+#~ msgstr "Không thỠmở %s"
+
+#~ msgid "could not stat '%s'"
+#~ msgstr "không thỠlấy trạng thái vỠ\"%s\""
+
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "sai xác định giá trị chênh \"%s\""
+
+#~ msgid "--offset and --all are mutually exclusive"
+#~ msgstr "\"--offset\" và \"--all\" loại từ lẫn nhau"
+
+#~ msgid "only one device as argument is currently supported."
+#~ msgstr "hiện tại chỉ một thiết bị làm đối số được hỗ trợ."
+
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "cảnh báo: việc đọc tập tin mtab gặp lỗi"
+
+#~ msgid "the options %s are mutually exclusive"
+#~ msgstr "các tuỳ chọn %s loại từ lẫn nhau"
+
+#~ msgid "failed to parse priority"
+#~ msgstr "lỗi phân tích mức ưu tiên"
+
+#~ msgid "failed to parse class data"
+#~ msgstr "lỗi sao phân tích dữ liệu lớp"
+
+#~ msgid "failed to parse class"
+#~ msgstr "lỗi phân tích lớp"
+
+#~ msgid ""
+#~ "configure, deconfigure, disable, dispatch, enable and rescan are mutually "
+#~ "exclusive"
+#~ msgstr ""
+#~ "cấu hình, bỏ cấu hình, bất hoạt, phân phối, bật và quét tìm lại là loại "
+#~ "trừ lẫn nhau"
+
+#~ msgid "cannot stat: %s"
+#~ msgstr "khĂ´ng thá» lấy trạng thái (stat) vá»: %s"
+
+#~ msgid ""
+#~ "clear, read-clear, console-level, console-on, and console-off options are "
+#~ "mutually exclusive"
+#~ msgstr ""
+#~ "clear, read-clear, console-level, console-on, và console-off là các tuỳ "
+#~ "chọn loại trừ lẫn nhau"
+
+#~ msgid "failed to parse buffer size"
+#~ msgstr "gặp lỗi khi phân tích kích thước bộ đệm"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Äá» tìm thĂŞm thĂ´ng tin, xem fallocate(1).\n"
+
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s: fstat bị lỗi"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Äá» tìm thĂŞm thĂ´ng tin, xem fstrim(8).\n"
+
+#~ msgid "invalid speed"
+#~ msgstr "tốc độ không hợp lệ"
+
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "sai xác định giá trị chênh \"%s\""
+
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "chỉ định kích cỡ '%s' không hợp lệ"
+
+#~ msgid "failed to setup loop device"
+#~ msgstr "gặp lỗi khi cài đặt thiết bị loop"
+
+#~ msgid "extended and parsable formats are mutually exclusive"
+#~ msgstr "định dạng phân tích được và mở rộng loại từ lẫn nhau"
+
+#~ msgid "--all, --online and --offline options are mutually exclusive"
+#~ msgstr "--all, --online và --offline loại từ lẫn nhau"
+
+#~ msgid "only one <source> may be specified"
+#~ msgstr "chỉ có thỠđưa ra một <thiết bị>"
+
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "lỗi cấp phát một vùng đệm <nguồn>"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Äá» tìm thĂŞm thĂ´ng tin, xem mountpoint(1).\n"
+
+#~ msgid "only use one PID at a time"
+#~ msgstr "chỉ sá»­ dụng má»™t PID tại má»™t thời Ä‘iá»m"
+
+#~ msgid "cannot parse PID"
+#~ msgstr "không thỠphân tích PID"
+
+#~ msgid "failed to parse seconds value"
+#~ msgstr "phân tích giá trị giây gặp lỗi"
+
+#~ msgid "failed to parse time_t value"
+#~ msgstr "gặp lỗi khi phân tích giá trị time_t"
+
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s: gặp định dạng tập tin bất thường"
+
+#~ msgid "'%s' is unsupported program name (must be 'swapon' or 'swapoff')."
+#~ msgstr ""
+#~ "\"%s\" là một tên chương trình không được hỗ trợ (phải là \"swapon\" hay "
+#~ "\"swapoff\")."
+
+#~ msgid "failed to stat directory"
+#~ msgstr "không thỠlấy thống kê stat thư mục"
+
+#~ msgid "failed to stat directory %s"
+#~ msgstr "không thỠlấy thống kê stat thư mục %s"
+
+#~ msgid "stat %s failed"
+#~ msgstr "lỗi lấy trạng thái vỠtập tin %s"
+
+#~ msgid "cannot open timing file %s"
+#~ msgstr "không thỠmở tập tin đếm thời gian %s"
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "không thỠmở tập tin bản đánh máy %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Äá» tìm thĂŞm thĂ´ng tin, xem lsblk(1).\n"
+
+#~ msgid "argument %lu is too large"
+#~ msgstr "tham số %lu quá lớn"
+
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "đặt biến môi trường COLUMNS cho thiết bị cuối (terminal) gặp lỗi"
+
+#~ msgid "bad columns width value"
+#~ msgstr "giá trị độ rộng cột sai"
+
+#~ msgid "-%c positive integer expected as an argument"
+#~ msgstr "-%c số nguyên dương được mong đợi là một đối số"
+
+#~ msgid "bad length value"
+#~ msgstr "giá trị chiá»u dĂ i xấu."
+
+#~ msgid "bad skip value"
+#~ msgstr "bỏ qua giá trị sai"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s: Sử dụng: %s [-số] [-p chuỗi] [-cefnrs] [+dòng] [+/pattern/] "
+#~ "[các_tậptin]\n"
+
+#~ msgid "Cannot open "
+#~ msgstr "Không mở được "
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "không mở được \"%s\" đỠđọc"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "không thỠlấy trạng thái vỠ\"%s\""
+
+#~ msgid " %s -V\n"
+#~ msgstr " %s -V\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [thiết bị]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] câu_lệnh thiết_bị\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s: không thỠmở %s\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "lỗi phân tích cú pháp\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "sử dụng: %s [ -n ] thiết bị\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc khĂ´ng thĂ nh cĂ´ng"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s: lỗi phân tích tùy chọn\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "Sử dụng: %s [-x] [-d <số>] tập-tin-ảnh-iso9660\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "Sử dụng: %s [-v] [-N số_inode] [-V tên_khối_tin]\n"
+#~ " [-F tên_hệ_thống_tập_tin] thiết_bị [đếm_khối]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "không thỠlấy trạng thái vỠ%s"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "không thỠquyết định kích cỡ rãnh ghi cho %s"
+
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: calloc() bị lỗi: %s\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr ""
+#~ "Sử dụng: %s [-c] [-pKÍCH_CỠ_TRANG] [-L nhãn] [-U UUID] /dev/tên "
+#~ "[các_khối]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "Không đủ bộ nhớ"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "Sử dụng:\n"
+#~ " %s "
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "Phân vùng kết thúc trong hình trụ bán phần cuối cùng"
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr ""
+#~ "Trình đơn không có phương hướng nên dùng thiết lập mặc định (nằm ngang)."
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d xóa một phân vùng BSD"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l liệt kê loại hệ thống tập tin đã biết"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n thêm một phân vùng BSD mới"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p in ra bảng phân vùng BSD"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t thay đổi mã hiệu hệ thống tập tin của một phân vùng"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u thay đổi đơn vị (trụ/rãnh ghi)"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "Không thỠmở %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "Không thỠphân phối thêm bộ nhớ\n"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p in ra bảng phân vùng"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Tạo một nhãn đĩa DOS mới có đồ nhận diện đĩa 0x%08x.\n"
+#~ "Thay đỗi chỉ nằm tạm trong bộ nhớ, cho đến khi bạn\n"
+#~ "quyết định ghi chúng. Sau đó, tất nhiên, nội dung\n"
+#~ "trước đó sẽ không thỠđược phục hồi.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr "Thiết bị chứa một bảng phân vùng DOS, hay Sun, SGI hay OSF bị lỗi\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "Lá»—i ná»™i bá»™\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "nhận được EOF ba lần - đang thoát..\n"
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr "Bạn phải xóa vài phân vùng và thêm một phân vùng mở rộng trước\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "Tác dụng của câu lệnh\n"
+#~ " %s\n"
+#~ " p phân vùng chính (1-4)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\tXin lỗi, không có trình đơn nâng cao cho bảng phân vùng SGI.\n"
+#~ "\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "Xin lỗi có thỠBạn thay đổi Tag của phân vùng không rỗng.\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "Bạn Có biết, rằng bạn có một phân vùng đè lên nhau trên đĩa?\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Xây dựng một nhãn đĩa SGI mới. Thay đổi sẽ chỉ ghi trong bộ nhớ,\n"
+#~ "cho đến khi bạn quyết định ghi chúng. Sau đó, tất nhiên, nội dung cũ\n"
+#~ "sẽ mất và không thỠphục hồi.\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "tràn bộ nhớ - không thỠtiếp tục\n"
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "và %s đè lên nhau\n"
+
+#~ msgid "device: something like /dev/hda or /dev/sda"
+#~ msgstr "thiết bị: có dạng /dev/hda hay /dev/sda"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [hay --show-size]: liệt kê kích cỡ phân vùng"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [hay --id]: in ra hay thay đổi Id phân vùng"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [hay --list]: liệt kê các phân vùng của mỗi thiết bị"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr ""
+#~ " -d [hay --dump]: cũng như trên nhưng ở dạng có thỠdùng cho nhập "
+#~ "vĂ o"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr " -i [hay --increment]: số trụ v.v... từ 1 thay vì từ 0"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr ""
+#~ " -uS, -uB, -uC, -uM: chấp nhận/báo cáo với đơn vị rãnh ghi/khối/trụ/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [hay --list-types]:\t\tliệt kĂŞ các kiá»u phân vĂąng Ä‘ĂŁ biáşżt"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr ""
+#~ " -D [hay --DOS]: đỠtương thích với DOS: lãng phí một chút "
+#~ "khoảng trống"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr " -R [hay --re-read]: khiến nhân đọc lại bảng phân vùng"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : chỉ thay đổi phân vùng với số #"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr ""
+#~ " -O tập tin : ghi các rãnh ghi sẽ bị ghi chèn vào tập tin"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I tập tin : phục hồi lại những rãnh ghi này"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [hay --version]: in ra số hiệu phiên bản"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [hay --help]: in trợ giúp này"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr ""
+#~ " -g [hay --show-geometry]: in ra cấu trúc đĩa theo quan niệm của nhân"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr ""
+#~ " -L [hay --Linux]: khĂ´ng than phiá»n vá» những gì khĂ´ng thĂ­ch hợp "
+#~ "vá»›i Linux"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [hay --quiet]: bỏ các cảnh báo"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " Bạn có thỠviết đè lên cấu trúc nhận ra sử dụng:"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# [hay --trụs #]:đặt số trụ sử dụng"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [or --heads #]: đặt số đầu đọc sử dụng"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [or --rãnh ghis #]: đặt số rãnh ghi sử dụng"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "Bạn cĂł thá» tắt tất cả các kiá»m tra cố định vá»›i:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr ""
+#~ " -f [hay --force]: làm bất theo lời bạn, thậm chí là ngu ngốc"
+
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "KhĂ´ng thá» phân cấp bá»™ nhá»› cho kiá»u hệ thống táş­p tin\n"
+
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "Sá»­ dụng: fsck [-AMNPRTV] [ -C [ fd ] ] [-t kiá»u_HTTT] [các_tĂąy_chọn_HTTT] "
+#~ "[HTTT ...]\n"
+#~ "\n"
+#~ "HTTT: hệ thống tập tin\n"
+
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "Không mở được %s: %s\n"
+
+#~ msgid "fsck from %s\n"
+#~ msgstr "fsck từ %s\n"
+
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "%s: Không thỠphân phối bộ nhớ cho fsck_path\n"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "HĂŁy thá»­ `getopt --help' Ä‘á» biáşżt thĂŞm thĂ´ng tin.\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "Sử dụng: getopt chuỗi_tùy_chọn tham_số\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [tùychọn] [--] chuỗi_tùy_chọn tham_số\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " tham số\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (đã nâng cao) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(Mong đợi: `UTC' hay `LOCAL' hay không gì cả.)\n"
+
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock — hỏi giờ và đặt đồng hồ phần cứng (RTC)\n"
+#~ "\n"
+#~ "Sử dụng: hwclock [hàm] [tùy chọn...]\n"
+#~ "\n"
+#~ "HĂ m:\n"
+#~ " -h | --help hiá»n thị trợ giĂşp nĂ y\n"
+#~ " -r | --show đọc đồng hồ phần cứng và in ra kết quả\n"
+#~ " --set đặt rtc thành thời gian đưa ra, dùng \"--date\"\n"
+#~ " -s | --hctosys đặt thời gian hệ thống từ đồng hồ phần cứng\n"
+#~ " -w | --systohc đặt đồng hồ phần cứng thành thời gian hệ thống hiện "
+#~ "thời\n"
+#~ " --systz đặt thời gian hệ thống dựa vào múi giờ hiện thời\n"
+#~ " --adjust Ä‘iá»u chỉnh rtc Ä‘á» tĂ­nh Ä‘áşżn Ä‘á»™ lệch cĂł hệ thống\n"
+#~ "\t\t\t\tkế từ lần cuối cùng đặt hay chỉnh đồng hồ\n"
+#~ " --getepoch in ra giá trị thời Ä‘iá»m đồng hồ phần cứng của hạt "
+#~ "nhân\n"
+#~ " --setepoch Ä‘áş·t giá trị thời Ä‘iá»m đồng hồ phần cứng của hạt "
+#~ "nhân\n"
+#~ "\t\t\t\tthành giá trị đưa ra dùng \"--epoch\"\n"
+#~ " --predict dự đoán đọc RTC nào vào giờ đưa ra (dùng --date )\n"
+#~ " -v | --version in ra đầu ra tiêu chuẩn phiên bản của hwclock\n"
+#~ "\n"
+#~ "Tuỳ chọn: \n"
+#~ " -u | --utc đồng hồ phần cứng tính theo UTC\n"
+#~ " --localtime đồng hồ phần cứng tính theo thời gian cục bộ\n"
+#~ " -f | --rtc=đường_dẫn tập tin \"/dev/...\" đặc biệt cần dùng thay "
+#~ "cho mặc định\n"
+#~ " --directisa truy cập trực tiếp mạch nối ISA thay cho %s\n"
+#~ " --badyear lờ Ä‘i nÄm của rtc vì BIOS bị hỏng\n"
+#~ " --date ghi rõ thời gian cần đặt trong đồng hồ phần cứng\n"
+#~ " --epoch=nÄm ghi rõ nÄm lĂ  đầu của giá trị thời Ä‘iá»m đồng hồ phần "
+#~ "cứng\n"
+#~ " --noadjfile đừng truy cập đến \"/etc/adjtime\".\n"
+#~ "\t\t\t\tCần dùng hoặc \"--utc\" hoặc \"--localtime\"\n"
+#~ " --adjfile=đường_dáş«n\tghi rõ đường dáş«n Ä‘áşżn táş­p tin Ä‘iá»u chỉnh\n"
+#~ "\t\t\t\t(mặc định là \"/etc/adjtime\")\n"
+#~ " --test làm tất cả trừ thực sự cập nhật đồng hồ phần cứng\n"
+#~ "\t\t\t\thoặc cái gì khác\n"
+#~ " -D | --debug chế độ gỡ lỗi\n"
+#~ "\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "không mailloc được chuỗi khởi đầu (init)"
+
+#~ msgid ""
+#~ "Usage: %s [-8hiLmUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "Sử dụng:\n"
+#~ "%s [-8hiLmUw] [-l trình_Ä‘Äng_nháş­p] [-t thời_hạn] [-I chuá»—i_sơ_khởi] [-H "
+#~ "máy_Ä‘Äng_nháş­p] tốc_Ä‘á»™_bốt,... dòng [kiá»u_thiáşżt_bị_cuối]\n"
+#~ "hoáş·c\n"
+#~ "[-hiLmw] [-l trình_Ä‘Äng_nháş­p] [-t thời_hạn] [-I chuá»—i_sơ_khởi] [-H "
+#~ "máy_Ä‘Äng_nháş­p] dòng tốc_Ä‘á»™_bốt,... [kiá»u_thiáşżt_bị_cuối]\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "login: Ă­t bá»™ nhá»›, cĂł thá» khĂ´ng Ä‘Äng nháş­p thĂ nh cĂ´ng\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "không malloc được cho ttyclass (lớp tty)"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "không malloc được cho grplist (danh sách nhóm)"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "ÄÄng nháş­p trĂŞn %s từ %s bị cấm theo máş·c định.\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "ÄÄng nháş­p trĂŞn %s từ %s bị cấm.\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "Sá»­ dụng: %s [ -f tĂŞn-đầy-đủ ] [ -o vÄn-phòng ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#~ msgid ""
+#~ "Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ username ]\n"
+#~ msgstr ""
+#~ "Sử dụng: %s [ -s trình_bao ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ tên_người_dùng ]\n"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s: Dùng tùy chọn \"-l\" đỠxem danh sách.\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "Hãy dùng %s \"-l\" đỠxem danh sách.\n"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last: malloc thất bại.\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last: gethostname (lấy tên máy)"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "login: Không đủ bộ nhớ\n"
+
+#~ msgid "%s login refused on this terminal.\n"
+#~ msgstr "%s Ä‘Äng nháş­p bị từ chối trĂŞn thiáşżt bị cuối nĂ y.\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "ÄÄ‚NG NHẬP %s BỊ TỪ CHá»I TỪ %s TRĂŠN TTY %s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "ÄÄ‚NG NHẬP %s BỊ TỪ CHá»I TRĂŠN TTY %s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "Sai tên người dùng hoặc mật khẩu\n"
+
+#~ msgid "login: failure forking: %s"
+#~ msgstr "login: lỗi phân nhánh (fork): %s"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "Không có thư mục %s!\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login: khĂ´ng cĂł bá»™ nhá»› cho vÄn lệnh trình bao.\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login: không có trình bao: %s.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s Ä‘Äng nháş­p: "
+
+#~ msgid "login name much too long.\n"
+#~ msgstr "tĂŞn Ä‘Äng nháş­p quá dĂ i.\n"
+
+#~ msgid "NAME too long"
+#~ msgstr "TÊN quá dài"
+
+#~ msgid "login names may not start with '-'.\n"
+#~ msgstr "tĂŞn Ä‘Äng nháş­p khĂ´ng được bắt đầu vá»›i \"-\".\n"
+
+#~ msgid "too many bare linefeeds.\n"
+#~ msgstr "quá nhiá»u dòng nháş­p vĂ o trống\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "dòng nhập vào THỪA"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "Lá»–I ÄÄ‚NG NHẬP TỪ %s, %s"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "Lá»–I ÄÄ‚NG NHẬP TRĂŠN %s, %s"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d LẦN KHĂ”NG ÄÄ‚NG NHẬP ÄƯỢC TỪ %s, %s"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d LẦN KHĂ”NG ÄÄ‚NG NHẬP ÄƯỢC TRĂŠN %s, %s"
+
+#~ msgid "usage: mesg [y | n]\n"
+#~ msgstr "sử dụng: mesg [y | n]\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp: setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp: KhĂ´ng đủ quyá»n hạn"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp: setuid"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "Sử dụng: shutdown [-h|-r] [-fqs] [now|hh:ss|+phút]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "Dừng việc tắt máy"
+
+#~ msgid "%s: Only root can shut a system down.\n"
+#~ msgstr "%s: Chỉ người chủ (root) có thỠtắt máy.\n"
+
+#~ msgid "That must be tomorrow, can't you wait till then?\n"
+#~ msgstr "Là ngày mai, có thỠchờ đến lúc đó?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "cho bảo dưỡng;"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "Sẽ tắt máy sau 5 phút"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "Do Ä‘Ăł Ä‘Äng nháş­p lĂ  khĂ´ng thá»."
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "khởi động lại bởi %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "dừng bởi %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "Tại sao tôi vẫn còn sống sau khi khởi động lại?"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "Bây giờ có thỠtắt nguồn điện..."
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "Äang gọi phương tiện tắt máy của nhân...\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "Lỗi tắt máy \t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "Äang thá»±c hiện chương trình \"%s\"...\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "Lỗi thực hiện \t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "URGENT: thông báo toàn thỠtừ %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "Hệ thống sẽ tắt sau %d giờ %d phút"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "Hệ thống sẽ tắt sau 1 giờ %d phút"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "Hệ thống sẽ tắt sau %d phút\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "Hệ thống sẽ tắt sau 1 phút\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "Hệ thống sẽ tắt sau NGAY LẬP TỨC!\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t... %s ...\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "Không thỠphân nhánh cho swapoff (tắt bộ nhớ trao đổi). Bỏ đi!"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "Không thực hiện được swapoff, hy vọng umount sẽ làm thay."
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "Không phân nhánh được cho umount, đang thử một cách thủ công."
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "Không chạy được %s, đang thử umount.\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "Không chạy được umount, bỏ trên umount."
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "Äang bỏ gắn mọi hệ thống táş­p tin nĂłi Ä‘áşżn..."
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown: Không umount được %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "Khởi động vào chế độ một người dùng.\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "không chạy thành công trình bao cho người dùng đơn\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "không phân nhánh thành công trình bao cho người dùng đơn\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "lỗi mở kênh fifo\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "lá»—i thiáşżt láş­p close-on-exec trĂŞn /dev/initctl"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "lỗi chạy finalprog (chương trình cuối cùng)\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "lỗi phân nhánh finalprog (chương trình cuối cùng)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Máş­t kháş©u khĂ´ng Ä‘Ăşng.\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "lstat đường dẫn không thành công\n"
+
+#~ msgid "respawning: \"%s\" too fast: quenching entry\n"
+#~ msgstr "đang tạo và thực hiện lại \"%s\" quá nhanh: đang dập tắt mục nhập\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "phân nhánh không thành công\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "không mở được inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "khĂ´ng cĂł TERM hoáş·c khĂ´ng thá» stat (lấy trạng thái vá») tty\n"
+
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "gặp lỗi khi dừng chạy dịch vụ: \"%s\"\n"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "Dịch vụ bị dừng: %s\n"
+
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "gặp lỗi khi khởi chạy dịch vụ: \"%s\"\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s: LỖI XẤU"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s: táş­p tin nhĂłm Ä‘ang báş­n.\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr "%s: không mở khóa được %s: %s (mọi thay đổi vẫn còn trong %s)\n"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s: Không thỠphân nhánh\n"
+
+#~ msgid "usage: %s [file]\n"
+#~ msgstr "sử dụng: %s [ tập tin ]\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s: không đọc được %s.\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s: không lấy được trạng thái (stat) tập tin tạm thời.\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s: không đọc được tập tin tạm thời.\n"
+
+#~ msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+#~ msgstr "sá»­ dụng: cal [-13smjyV] [[[ngĂ y] tháng] nÄm]\n"
+
+#~ msgid "%s: parse error: %s"
+#~ msgstr "%s: lỗi phân tích cú pháp: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " -s, --fstab search in static table of filesystems\n"
+#~ " -m, --mtab search in table of mounted filesystems\n"
+#~ " -k, --kernel search in kernel table of mounted \n"
+#~ " filesystems (default)\n"
+#~ "\n"
+#~ " -c, --canonicalize canonicalize printed paths\n"
+#~ " -d, --direction <word> search direction - 'forward' or 'backward'\n"
+#~ " -e, --evaluate print all TAGs (LABEL/UUID) evaluated\n"
+#~ " -f, --first-only print the first found filesystem only\n"
+#~ " -h, --help print this help\n"
+#~ " -i, --invert invert sense of matching\n"
+#~ " -l, --list use list format ouput\n"
+#~ " -n, --noheadings don't print headings\n"
+#~ " -u, --notruncate don't truncate text in columns\n"
+#~ " -O, --options <list> limit the set of filesystems by mount options\n"
+#~ " -o, --output <list> output columns\n"
+#~ " -r, --raw use raw format output\n"
+#~ " -a, --ascii use ascii chars for tree formatting\n"
+#~ " -t, --types <list> limit the set of filesystem by FS types\n"
+#~ " -S, --source <string> device, LABEL= or UUID=device\n"
+#~ " -T, --target <string> mountpoint\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Tuỳ chọn:\n"
+#~ " -s, --fstab tìm kiếm trong bảng tĩnh của hệ thống tập tin\n"
+#~ " -m, --mtab tìm kiếm trong bảng của hệ thống tập tin đã lắp\n"
+#~ " -k, --kernel tìm kiếm trong bảng hạt nhân của hệ thống tập tin đã "
+#~ "lắp (mặc định)\n"
+#~ "\n"
+#~ " -c, --canonicalize làm cho hợp nguyên tắc các đường dẫn được in ra\n"
+#~ " -d, --direction <từ> hướng tìm kiếm: \"forward\" (tiếp) hay "
+#~ "\"backward » (lùi)\n"
+#~ " -e, --evaluate in ra mọi THáşş (NHĂN/UUID) được tĂ­nh\n"
+#~ " -f, --first-only chỉ in ra hệ thống tập tin được tìm đầu tiên\n"
+#~ " -h, --help in ra trợ giúp này\n"
+#~ " -i, --invert đảo ngược cách khớp\n"
+#~ " -l, --list xuất theo định dạng danh sách\n"
+#~ " -n, --noheadings đừng in ra phần đầu\n"
+#~ " -u, --notruncate đừng cắt ngắn chuỗi trong cột\n"
+#~ " -O, --options <danh_sách> hạn chế tập hợp các hệ thống tập tin theo "
+#~ "tuỳ chọn lắp\n"
+#~ " -o, --output <danh_sách> xuất cột\n"
+#~ " -r, --raw xuất theo định dạng thô\n"
+#~ " -a, --ascii định dạng cây bằng ký tự ASCII\n"
+#~ " -t, --types <danh_sách> hạn chế tập hợp các hệ thống tập tin theo "
+#~ "kiá»u HTTT\n"
+#~ " -S, --source <chuỗi> thiết bị, LABEL= (nhãn là) hay UUID=thiết_bị\n"
+#~ " -T, --target <chuá»—i> Ä‘iá»m lắp\n"
+#~ "\n"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger: %s: %s.\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "Sử dụng: logger [-is] [-f tập_tin] [-p ưu_tiên] [-t thẻ] [-u ổ_cắm] "
+#~ "[ thông_báo ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "sử dụng: look [-dfa] [-t ký_tự] chuỗi [tập_tin]\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "không đủ bộ nhớ ?"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: không đủ bộ nhớ\n"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "call: %s sang các tập tin...\n"
+
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "sử dụng: script [-a] [-e] [-f] [-q] [-t] [tệp]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s: lá»—i ghi %d: %s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s: lá»—i ghi: %s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term tên_thiết_bị_cuối ]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\tđặt lại\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\t\tsơ khởi\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\tcon trỏ [bật|tắt]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\t\tcuá»™n má»m [báş­t|tắt]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\t\tlặp lại [bật|tắt]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr ""
+#~ " [ -appcursorkeys [on|off] ]\t\tcác phím con trỏ của ứng dụng [bật|tắt]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\t\tngắt dòng [bật|tắt]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\t\tmặc định\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr ""
+#~ " [ -foreground black|blue|green|cyan\n"
+#~ "\n"
+#~ "mĂ u vÄn bản: Ä‘en|xanh|lục|xanh lá mạ"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr ""
+#~ "|red|magenta|yellow|white|default ]\n"
+#~ "\n"
+#~ "|đỏ|đỏ tươi|vàng|trắng|mặc định\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr ""
+#~ " [ -background black|blue|green|cyan\n"
+#~ "\n"
+#~ "mĂ u ná»n: Ä‘en|xanh|lục|xanh lá mạ"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr ""
+#~ " [ -ulcolor black|grey|blue|green|cyan\n"
+#~ "\n"
+#~ "màu gạch dưới: đen|xám|xanh|lục|xanh lá mạ"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr ""
+#~ "|red|magenta|yellow|white ]\n"
+#~ "\n"
+#~ "|đỏ|đỏ tươi|vàng|trắng\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr ""
+#~ " [ -ulcolor bright blue|green|cyan\n"
+#~ "\n"
+#~ "mĂ u gạch dĆ°á»›i: xanh|lục|xanh lá mạ kiá»u sáng"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ thuộc_tính ] ]\t\tlàm nổi\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\t\tmàn hình đảo [bật|tắt]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\t\tin đậm [bật|tắt]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\tnửa sáng [bật|tắt]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\t\tnhấp nháy [bật|tắt]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\tngược lại [bật|tắt]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\t\tgạch dưới [bật|tắt]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr ""
+#~ " [ -store ]\t\tcất giữ [bật|tắt]\n"
+#~ "\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\t\txoá sạch [tất cả|phần còn lại]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (số tab = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (số tab = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60|force|poke] ]\trỗng[buộc|chọc]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-số_bàn_giao_tiếp] ]\tđổ\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-số_bàn_giao_tiếp] ]\tphụ thêm\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\tthông báo\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\t\tcấp thông điệp\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr ""
+#~ " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ "\n"
+#~ "tiáşżt kiệm Ä‘iện nÄng [báş­t|đồng bá»™ dọc|đồng bá»™ ngang|giảm Ä‘iện|tắt]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\t\tgiảm Ä‘iện nÄng\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\t\tđộ dài b (?)\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq tần_số ]\n"
+
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr ""
+#~ "Sử dụng: %s [-d] [-p tập_tin_PID] [-s đường_dẫn_ổ_cắm] [-T thời_hạn]\n"
+
+#~ msgid " %s [-r|t] [-n num] [-s socketpath]\n"
+#~ msgstr " %s [-r|t] [-n số] [-s đường_dẫn_ổ_cắm]\n"
+
+#~ msgid " %s -k\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "Sử dụng: %s [-r] [-t]\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM thư_mục ... -f ] tên...\n"
+
+#~ msgid "strdup failed"
+#~ msgstr "strdup bị lỗi"
+
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "CẢNH BĂO: %s: hình nhĆ° chứa bảng phân vĂąng \"%s\""
+
+#~ msgid "no magic string found at offset 0x%jx -- ignored"
+#~ msgstr "không tìm thấy chuỗi ma thuật ở khoảng chênh 0x%jx nên bỏ qua"
+
+#~ msgid "%zd bytes ["
+#~ msgstr "%zd byte ["
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "sử dụng: write người_dùng [tty]\n"
+
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop: khĂ´ng thá» Ä‘áş·t khả nÄng trĂŞn thiáşżt bị %s: %s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ", bĂą %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ", dạng mã hóa %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop: không lấy được thông tin trên thiết bị %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop: không mở được thiết bị %s: %s\n"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s: thư mục \"/dev\" không tồn tại."
+
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s: khĂ´ng cĂł quyá»n xem /dev/loop%s<N>"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s: Không tìm thấy bất kỳ thiết bị vòng lặp nào. Có thỠnhân này không "
+#~ "biáşżt\n"
+#~ " vỠthiết bị vòng lặp? (Nếu vậy, hãy biên dịch lại hoặc thử "
+#~ "`modprobe loop'.)"
+
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "Không đủ bộ nhớ khi đọc cụm từ mật khẩu"
+
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "cảnh báo: %s đã liên quan đến %s\n"
+
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "cảnh báo: %s: được bảo vệ chống ghi nên đặt chỉ-đọc.\n"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "ioctl LOOP_SET_FD bị lỗi: %s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu,%llu): thĂ nh cĂ´ng\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s): thĂ nh cĂ´ng\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop: không xóa được thiết bị %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr ""
+#~ "Phiên bản mount này được biên dịch không hỗ trợ vòng lặp. Xin hãy biên "
+#~ "dịch lại.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s loop_device give info\n"
+#~ " %1$s -a | --all list all used\n"
+#~ " %1$s -d | --detach <loopdev> [<loopdev> ...] delete\n"
+#~ " %1$s -f | --find find unused\n"
+#~ " %1$s -c | --set-capacity <loopdev> resize\n"
+#~ " %1$s -j | --associated <file> [-o <num>] list all associated with "
+#~ "<file>\n"
+#~ " %1$s [ options ] {-f|--find|loopdev} <file> setup\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Sử dụng:\n"
+#~ " %1$s thiết_bị_vòng_lặp cung cấp thông tin\n"
+#~ " %1$s -a | --all liệt kê tất cả được dùng\n"
+#~ " %1$s -d | --detach <TB_vòng_lặp> [<TB_vòng_lặp> ...] xoá\n"
+#~ " %1$s -f | --find tìm cái chưa dùng\n"
+#~ " %1$s -c | --set-capacity <TB_vòng_lặp> thay đổi kích cỡ\n"
+#~ " %1$s -j | --associated <tập_tin> [-o <số>] liệt kê tất cả tương ứng "
+#~ "vá»›i táş­p tin nĂ y\n"
+#~ " %1$s [ tuỳ_chọn ... ] {-f|--find|TB_vòng_lặp} <tập_tin> thiết "
+#~ "láş­p\n"
+
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "vòng láş·p bị Än cắp=%s... nĂŞn thá»­ lại\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr "Biên dịch không hỗ trợ vòng lặp. Xin hãy biên dịch lại.\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount: không mở được %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Sử dụng:\n"
+#~ " %1$s -a [-e] [-v] [-f] bật tất cả các vùng trao đổi từ /etc/"
+#~ "fstab\n"
+#~ " %1$s [-p ưu_tiên] [-v] [-f] <đặc_biệt> bật vùng trao đổi đưa ra\n"
+#~ " %1$s -s hiá»n thị lược sá»­ vá» cách sá»­ dụng vĂąng "
+#~ "trao đổi\n"
+#~ " %1$s -h hiá»n thị trợ giĂşp\n"
+#~ " %1$s -V hiá»n thị phiĂŞn bản\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Sử dụng:\n"
+#~ " %1$s -a [-v] \t\ttắt mọi trao đổi\n"
+#~ " %1$s [-v] <đặc_biệt> \ttắt trao đổi đã cho\n"
+#~ " %1$s -h \thiá»n thị trợ giĂşp\n"
+#~ " %1$s -V \thiá»n thị phiĂŞn bản\n"
+#~ "\n"
+
+#~ msgid "unknown\n"
+#~ msgstr "không rõ\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "ionice - sets or gets process io scheduling class and priority.\n"
+#~ "\n"
+#~ "Usage:\n"
+#~ " ionice [ options ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ options ] <command> [<arg> ...]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -n <classdata> class data (0-7, lower being higher prio)\n"
+#~ " -c <class> scheduling class\n"
+#~ " 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+#~ " -t ignore failures\n"
+#~ " -h this help\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ionice — đặt hay lấy hạng và mức ưu tiên định thời V/R của tiến trình.\n"
+#~ "\n"
+#~ "Sử dụng:\n"
+#~ " ionice [ các_tùy_chọn ] -p <pid> [<pid> ...]\n"
+#~ " ionoce [ các_tùy_chọn ] <lệnh> [<đối_số> ...]\n"
+#~ "\n"
+#~ "Tuỳ chọn:\n"
+#~ " -n <dữ_liệu_hạng> dữ liệu hạng (0-7, nhỏ hơn thì mức ưu tiên cao "
+#~ "hơn)\n"
+#~ " -c <hạng> hạng định thời\n"
+#~ "\t• 0\tkhông có\n"
+#~ "\t• 1\tthời gian thật\n"
+#~ "\t• 2\tcố gắng tốt nhất\n"
+#~ "\t• 3\tnghỉ\n"
+#~ " -t bỏ qua lỗi\n"
+#~ " -h trợ giúp này\n"
+#~ "\n"
+
+#~ msgid "CPU mask"
+#~ msgstr "Bộ lọc CPU"
+
+#~ msgid "parse error at lines: "
+#~ msgstr "lỗi phân tích cú pháp ở dòng: "
+
+#~ msgid " and %d."
+#~ msgstr " vĂ  %d."
+
+#~ msgid "Usage: ctrlaltdel hard|soft\n"
+#~ msgstr "Sá»­ dụng: ctrlaltdel hard|soft\t\tcứng|má»m\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "Sử dụng: %s [-q [-i khoảngthờigian]] ([-s giátrị]|[-S giátrị]) ([-t "
+#~ "giátrị]|[-T giátrị]) [-g|-G] tậptin [tậptin...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "Không mở được %s: %s\n"
+
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "Sử dụng: %s [-c] [-n bậc] [-r] [ -s cỡ_bộ_đệm]\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [-sxun][-w #] fd#\n"
+#~ " %1$s [-sxon][-w #] file [-c] command...\n"
+#~ " %1$s [-sxon][-w #] directory [-c] command...\n"
+#~ " -s --shared Get a shared lock\n"
+#~ " -x --exclusive Get an exclusive lock\n"
+#~ " -u --unlock Remove a lock\n"
+#~ " -n --nonblock Fail rather than wait\n"
+#~ " -w --timeout Wait for a limited amount of time\n"
+#~ " -o --close Close file descriptor before running command\n"
+#~ " -c --command Run a single command string through the shell\n"
+#~ " -h --help Display this text\n"
+#~ " -V --version Display version\n"
+#~ msgstr ""
+#~ "Sử dụng: %1$s [-sxun][-w #] fd#\n"
+#~ " %1$s [-sxon][-w #] tập_tin [-c] lệnh...\n"
+#~ " %1$s [-sxon][-w #] thư_mục [-c] lệnh...\n"
+#~ "\n"
+#~ " -s --shared Lấy một sự khoá dùng chung\n"
+#~ " -x --exclusive Lấy một sự khoá riêng\n"
+#~ " -u --unlock Gỡ bỏ một sự khoá\n"
+#~ " -n --nonblock Thất bại hơn là đợi\n"
+#~ " -w --timeout Äợi má»™t khoảng thời gian\n"
+#~ " -o --close ÄĂłng bá»™ mĂ´ tả táş­p tin trĆ°á»›c khi chạy câu lệnh\n"
+#~ " -c --command Chạy trong trình bao một chuỗi lệnh riêng lẻ\n"
+#~ " -h --help Hiá»n thị trợ giĂşp nĂ y\n"
+#~ " -V --version Hiá»n thị phiĂŞn bản\n"
+
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s: số sai: %s\n"
+
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s: lỗi phân nhánh: %s\n"
+
+#~ msgid ""
+#~ " -M <size> create shared memory segment of size <size>\n"
+#~ " -S <nsems> create semaphore array with <nsems> elements\n"
+#~ " -Q create message queue\n"
+#~ " -p <mode> permission for the resource (default is 0644)\n"
+#~ msgstr ""
+#~ " -M <kích_cỡ> tạo đoạn nhớ dùng chung có kích cỡ này\n"
+#~ " -S <số> tạo mảng cờ hiệu có số mục này\n"
+#~ " -Q tạo hàng đợi thông điệp\n"
+#~ " -p <cháşż_Ä‘á»™> quyá»n hạn của tĂ i nguyĂŞn (máş·c định 0644)\n"
+
+#~ msgid "cannot remove id %s (%s)\n"
+#~ msgstr "không xóa bỏ được id %s (%s)\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "không nên sử dụng: %s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "dạng nguồn không rõ: %s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "sử dụng: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: tùy chọn không cho phép \"-- %c\"\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "lỗi không rõ trong chìa khóa"
+
+#~ msgid "unknown error in id"
+#~ msgstr "lỗi không rõ trong id"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h for help\n"
+#~ msgstr ""
+#~ "Sử dụng: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h đỠxem trợ giúp\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [resource]... [output-format]\n"
+#~ " %1$s [resource] -i id\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Sử dụng: %1$s [tài_nguyên]... [định_dạng_kết_xuất]\n"
+#~ " %1$s [tĂ i_nguyĂŞn] -i id\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr "Cung cấp thĂ´ng tin vá» phương tiện IPC cho Ä‘Ăł bạn cĂł quyá»n đọc.\n"
+
+#~ msgid ""
+#~ "Resource options:\n"
+#~ " -m shared memory segments\n"
+#~ " -q message queues\n"
+#~ " -s semaphores\n"
+#~ " -a all (default)\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Tuỳ chọn tài nguyên:\n"
+#~ " -m đoạn vùng nhớ chia sẻ\n"
+#~ " -q hàng đợi thông điệp\n"
+#~ " -s cờ hiệu\n"
+#~ " -a tất cả (mặc định)\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Output format:\n"
+#~ " -t time\n"
+#~ " -p pid\n"
+#~ " -c creator\n"
+#~ " -l limits\n"
+#~ " -u summary\n"
+#~ msgstr ""
+#~ "Äịnh dạng káşżt xuất:\n"
+#~ " -t thời gian\n"
+#~ " -p PID\n"
+#~ " -c trình tạo\n"
+#~ " -l giới hạn\n"
+#~ " -u bản tóm tắt\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "%d đoạn đã phân phối\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "%ld trang đã phân phối\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "%ld trang ná»™i trĂş\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "%ld trang Ä‘ĂŁ Ä‘Ć°a vĂ o swap\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "Hiệu suất swap: %ld lần thử\t %ld lần thành công\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> "
+#~ "<device>\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Sử dụng: %s [ -dhV78neo12 ] [ -s <tốc_độ> ] [ -i [-]<iflag> ] <ldisc> "
+#~ "<thiết_bị>\n"
+
+#~ msgid "ldattach from %s\n"
+#~ msgstr "ldattach từ %s\n"
+
+#~ msgid "error: strdup failed"
+#~ msgstr "lá»—i: strdup khĂ´ng thĂ nh cĂ´ng"
+
+#~ msgid "error: calloc failed"
+#~ msgstr "lá»—i: calloc khĂ´ng thĂ nh cĂ´ng"
+
+#~ msgid ""
+#~ "CPU architecture information helper\n"
+#~ "\n"
+#~ " -h, --help usage information\n"
+#~ " -p, --parse print out in parsable instead of printable format.\n"
+#~ " -s, --sysroot use the directory as a new system root.\n"
+#~ msgstr ""
+#~ "Trình bổ trợ thông tin kiến trúc CPU\n"
+#~ "\n"
+#~ " -h, --help trợ giúp\n"
+#~ " -p, --parse in ra theo định dạng có thỠphân tích thay cho định dạng "
+#~ "in được\n"
+#~ " -s, --sysroot dùng thư mục làm gốc hệ thống mới\n"
+
+#~ msgid "out of memory"
+#~ msgstr "không đủ bộ nhớ"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s: Sử dụng: \"%s [tùy chọn]\n"
+#~ "\t -m <tập tin sơ đồ> (mặc định: \"%s\" và\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (mặc định: \"%s\")\n"
+#~ "\t -M <mult> đặt trình số nhân của xác lập thành <mult>\n"
+#~ "\t -i chỉ in ra thông tin vỠbước thử\n"
+#~ "\t -v in dữ liệu chi tiết\n"
+#~ "\t -a in mọi ký tự, kỠcả nếu số đếm là 0\n"
+#~ "\t -b in ra số đếm histogram-bin riêng\n"
+#~ "\t -s in ra số đếm riêng trong hàm\n"
+#~ "\t -r đặt lại tất cả số đếm (chỉ root)\n"
+#~ "\t -n tắt bỏ việc tự động tìm ra thứ tự byte\n"
+#~ "\t -V in ra phiên bản và thoát\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile: lá»—i ghi %s: %s\n"
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice: %s: người dùng lạ\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice: %s: giá trị xấu\n"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s: khoảng cấm %s giây\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s: giá trị \"time_t\" cấm %s\n"
+
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s: không thỠthực hiện %s: %s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "đọc RTC"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "sử dụng: %s chương trình [đối_số ...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "Sá»­ dụng: %s <thiáşżt bị> [ -i <IRQ> | -t <GIỜ> | -c <KĂť_Tá»°> | -w <ÄỢI> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ] \t\t(bật|tắt)\n"
+
+#~ msgid "malloc error"
+#~ msgstr "lá»—i malloc"
+
+#~ msgid "col: bad -l argument %s.\n"
+#~ msgstr "col: tham số -l xấu %s.\n"
+
+#~ msgid "usage: col [-bfpx] [-l nline]\n"
+#~ msgstr "sử dụng: col [-bfpx] [-l nline]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "sử dụng: %s [ - ] [ -2 ] [ tập tin ... ]\n"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "sử dụng: column [-tx] [-c các-cột] [tập-tin ...]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f táş­ptin_fmt] [-n chiá»udĂ i] [-s nhảyqua] "
+#~ "[táş­ptin ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "sử dụng: %s [-dflpcsu] [+sốdòng | +/pattern] tên1 tên2 ...\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od: od(1) không tương thích cho hexdump(1).\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od: tính tương thích với hexdump(1) không hỗ trợ tùy chọn -%c %s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr "; hĂŁy xem strings(1)."
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump: không đọc được %s.\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump: dòng quá dài.\n"
+
+#~ msgid "Out of memory\n"
+#~ msgstr "Không đủ bộ nhớ\n"
+
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "không thỠcấp phát không gian đệm"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "sử dụng: rev [tậptin ...]\n"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "sử dụng: tailf [-n N | -N] tập_tin_ghi_lưu"
+
+#~ msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "sử dụng: %s [ -i ] [ -tTerm ] tập_tin...\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "Không phân phối được bộ đệm.\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "KhĂ´ng đủ bá»™ nhá»› khi tÄng vĂąng đệm.\n"
+
+#~ msgid "Linux ext2"
+#~ msgstr "Linux ext2"
+
+#~ msgid "Linux ext3"
+#~ msgstr "Linux ext3"
+
+#~ msgid "Linux XFS"
+#~ msgstr "Linux XFS"
+
+#~ msgid "Linux JFS"
+#~ msgstr "Linux JFS"
+
+#~ msgid "Linux ReiserFS"
+#~ msgstr "Linux ReiserFS"
+
+#~ msgid "OS/2 HPFS"
+#~ msgstr "OS/2 HPFS"
+
+#~ msgid "OS/2 IFS"
+#~ msgstr "OS/2 IFS"
+
+#~ msgid "NTFS"
+#~ msgstr "NTFS"
+
+#~ msgid ""
+#~ " and change display units to\n"
+#~ " sectors (command 'u').\n"
+#~ msgstr ""
+#~ " vĂ  thay đổi đơn vị hiá»n thị\n"
+#~ "\tsang rãnh ghi (lệnh \"u\").\n"
+
+#~ msgid "error running programme: \"%s\"\n"
+#~ msgstr "lỗi chạy chương trình: \"%s\"\n"
+
+#~ msgid "mount: no medium found on %s ...trying again\n"
+#~ msgstr "mount: không tìm thấy vật chứa trên %s... nên thử lại\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "chrt - manipulate real-time attributes of a process.\n"
+#~ "\n"
+#~ "Set policy:\n"
+#~ " chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+#~ "\n"
+#~ "Get policy:\n"
+#~ " chrt [options] {<pid> | <command> [<arg> ...]}\n"
+#~ "\n"
+#~ "\n"
+#~ "Scheduling policies:\n"
+#~ " -b | --batch set policy to SCHED_BATCH\n"
+#~ " -f | --fifo set policy to SCHED_FIFO\n"
+#~ " -i | --idle set policy to SCHED_IDLE\n"
+#~ " -o | --other set policy to SCHED_OTHER\n"
+#~ " -r | --rr set policy to SCHED_RR (default)\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -h | --help display this help\n"
+#~ " -p | --pid operate on existing given pid\n"
+#~ " -m | --max show min and max valid priorities\n"
+#~ " -v | --verbose display status information\n"
+#~ " -V | --version output version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "chrt — thao tác các thuộc tính thời gian thật của một tiến trình.\n"
+#~ "\n"
+#~ "Äáş·t chĂ­nh sách:\n"
+#~ " chrt [các_tùy_chọn] <chính_sách> <ưu_tiên> {<pid> | <lệnh> "
+#~ "[<đối_số> ...]}\n"
+#~ "\n"
+#~ "Lấy chính sách:\n"
+#~ " chrt [các_tùy_chọn] {<pid> | <lệnh> [<đối_số> ...]}\n"
+#~ "\n"
+#~ "\n"
+#~ "Chính sách định thời:\n"
+#~ " -b | --batch đặt chính sách thành SCHED_BATCH\n"
+#~ " -f | --fifo đặt chính sách thành SCHED_FIFO\n"
+#~ " -i | --idle đặt chính sách thành SCHED_IDLE\n"
+#~ " -o | --other đặt chính sách thành SCHED_OTHER\n"
+#~ " -r | --rr đặt chính sách thành SCHED_RR (mặc định)\n"
+#~ "\n"
+#~ "Tuỳ chọn:\n"
+#~ " -h | --help hiá»n thị trợ giĂşp nĂ y\n"
+#~ " -p | --pid thao tác trên mã số tiến trình (PID) đã đưa ra\n"
+#~ " -m | --max hiá»n thị mức Ć°u tiĂŞn hợp lệ tối Ä‘a vĂ  tối thiá»u\n"
+#~ " -v | --verbose hiá»n thị thĂ´ng tin trạng thái\n"
+#~ " -V | --version xuất thông tin phiên bản\n"
+#~ "\n"
+
+#~ msgid "current"
+#~ msgstr "hiện thời"
+
+#~ msgid "new"
+#~ msgstr "má»›i"
+
+#~ msgid "usage : %s -asmq -tclup \n"
+#~ msgstr "sử dụng : %s -asmq -tclup \n"
+
+#~ msgid "\t%s [-s -m -q] -i id\n"
+#~ msgstr "\t%s [-s -m -q] -i id\n"
+
+#~ msgid "\t%s -h for help.\n"
+#~ msgstr "\t%s -h đỠxem trợ giúp.\n"
+
+#~ msgid ""
+#~ "Resource Specification:\n"
+#~ "\t-m : shared_mem\n"
+#~ "\t-q : messages\n"
+#~ msgstr ""
+#~ "Äáş·c Ä‘iá»m nguồn:\n"
+#~ "\t-m : nguồn_chiasẻ\n"
+#~ "\t-q : tinnhắn\n"
+
+#~ msgid ""
+#~ "\t-s : semaphores\n"
+#~ "\t-a : all (default)\n"
+#~ msgstr ""
+#~ "\t-s : cột đèn hiệu\n"
+#~ "\t-a : tất cả (mặc định)\n"
+
+#~ msgid ""
+#~ "Output Format:\n"
+#~ "\t-t : time\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : creator\n"
+#~ msgstr ""
+#~ "Äịnh dạng káşżt quả Ä‘Ć°a ra:\n"
+#~ "\t-t : thời gian\n"
+#~ "\t-p : pid\n"
+#~ "\t-c : người tạo\n"
+
+#~ msgid ""
+#~ "\t-l : limits\n"
+#~ "\t-u : summary\n"
+#~ msgstr ""
+#~ "\t-l : giới hạn\n"
+#~ "\t-u : tổng kết\n"
+
+#~ msgid "error: %s"
+#~ msgstr "lá»—i: %s"
+
+#~ msgid "error parse: %s"
+#~ msgstr "phân tích lỗi: %s"
+
+#~ msgid "error: /sys filesystem is not accessable."
+#~ msgstr "lỗi: hệ thống tập tin \"/sys\" không thỠtruy cập được"
+
+#~ msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+#~ msgstr "sá»­ dụng: rdev [ -rv ] [ -o BĂ™ ] [ ẢNH [ GIĂ_TRỊ [ BĂ™ ] ] ]"
+
+#~ msgid ""
+#~ " rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device"
+#~ msgstr ""
+#~ " rdev /dev/fd0 (hoáş·c rdev /linux, v.v...) hiá»n thị thiáşżt bị ROOT (gốc) "
+#~ "hiện thời"
+
+#~ msgid " rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2"
+#~ msgstr " rdev /dev/fd0 /dev/hda2 đặt ROOT (gốc) thành /dev/hda2"
+
+#~ msgid ""
+#~ " rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)"
+#~ msgstr ""
+#~ " rdev -R /dev/fd0 1 đặt ROOTFLAGS [các cờ gốc] (trạng thái "
+#~ "chỉ đọc)"
+
+#~ msgid " rdev -r /dev/fd0 627 set the RAMDISK size"
+#~ msgstr " rdev -r /dev/fd0 627 đặt kích cỡ RAMDISK (đĩa RAM)"
+
+#~ msgid " rdev -v /dev/fd0 1 set the bootup VIDEOMODE"
+#~ msgstr ""
+#~ " rdev -v /dev/fd0 1 đặt chế độ VIDEOMODE (chế độ ảnh động) "
+#~ "khởi động"
+
+#~ msgid " rdev -o N ... use the byte offset N"
+#~ msgstr " -u, --unqote sử dụng bộ byte N"
+
+#~ msgid " rootflags ... same as rdev -R"
+#~ msgstr " rootflags ... giống như rdev -R"
+
+#~ msgid " ramsize ... same as rdev -r"
+#~ msgstr " ramsize ... giống như rdev -r"
+
+#~ msgid " vidmode ... same as rdev -v"
+#~ msgstr " vidmode ... giống như rdev -v"
+
+#~ msgid ""
+#~ "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+#~ "2=key2,..."
+#~ msgstr ""
+#~ "Chú ý: chế độ ảnh động là: -3=Hỏi, -2=Mở rộng, -1=VGA chuẩn, 1=phím1, "
+#~ "2=phĂ­m2,..."
+
+#~ msgid " use -R 1 to mount root readonly, -R 0 for read/write."
+#~ msgstr " hãy dùng \"-R 1\" đỠgắn gốc chỉ đọc, \"-R 0\" đỠđọc/ghi."
+
+#~ msgid "missing comma"
+#~ msgstr "thiếu dấu phẩy"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
new file mode 100644
index 0000000..7a10524
--- /dev/null
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..47a74e6
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,14999 @@
+# Chinese simplified translation of util-linux.
+# Copyright (C) 2008-2012, util-linux's authors.
+# This file is distributed under the same license as the util-linux package.
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
+# Ray Wang <wanglei1123@gmail.com>, 2008.
+# Wylmer Wang <wantinghard@gmail.com>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-2.21-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2012-04-22 11:40+0800\n"
+"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n"
+"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: poedit-1.3.9-3.3\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "打不开 %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "ć— ć•ĺŹ‚数:%c"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "%s:读取ĺ†ĺŚşčˇ¨ĺ¤±č´Ą"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "设置只读"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "设置读写"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "获得只读"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "获得逻辑块(扇区)大小"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "获得物ç†ĺť—(扇区)大小"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "获得最小 I/O 大小"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "čŽ·ĺľ—ćś€äĽ I/O 大小"
+
+#: disk-utils/blockdev.c:111
+msgid "get alignment offset in bytes"
+msgstr "获得对é˝ĺŹç§»ĺ­—节数"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "获得每次请求的最大扇区数"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "获得块大小"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "设置块大小"
+
+#: disk-utils/blockdev.c:136
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "获得 32-bit 扇区数量(已废ĺĽďĽŚčŻ·ä˝żç”¨ --getsz)"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "获得字节大小"
+
+# fuzzy
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "设置 readahead"
+
+# fuzzy
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "获取 readahead"
+
+# fuzzy
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "设置文件系统 readahead"
+
+# fuzzy
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "获取文件系统 readahead"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "ĺ·ć–°çĽ“ĺ­"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "重新读取ĺ†ĺŚşčˇ¨"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %1$s -V\n"
+" %1$s --report [设备]\n"
+" %1$s [-v|-q] 命令 设备\n"
+"\n"
+"可用命令有:\n"
+
+#: disk-utils/blockdev.c:189
+#, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr " %-25s 获得 512-byte 扇区的大小\n"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+msgid "could not get device size"
+msgstr "无法多得设备大小"
+
+#: disk-utils/blockdev.c:317
+#, c-format
+msgid "Unknown command: %s"
+msgstr "未知命令: %s"
+
+#: disk-utils/blockdev.c:333
+#, c-format
+msgid "%s requires an argument"
+msgstr "%s 需č¦ä¸€ä¸ŞĺŹ‚ć•°"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s 失败.\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s ć功.\n"
+
+#: disk-utils/blockdev.c:461
+#, c-format
+msgid "ioctl error on %s"
+msgstr "%s ioctl 出错"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ 开始段 大小 设备\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "%s:获取ĺ†ĺŚşĺŹ·ĺ¤±č´Ą"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "%s:读取ĺ†ĺŚşčˇ¨ĺ¤±č´Ą"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "用法:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\t注:elvtune 只č˝ä¸Ž 2.4 内核配ĺ使用\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "缺少块设备,请使用 -h 获取帮助\n"
+
+#: disk-utils/elvtune.c:137
+#, fuzzy, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+"elvtune 只用在旧内核上;\n"
+"对于 2.6 内核,请转用 IO č°ĺş¦ĺ™¨ sysfs tunables ..\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "正在格式化 ... "
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "完ć\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "ć­Łĺś¨éŞŚčŻ ... "
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "读: "
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "读柱面 %d 时有问é˘, ćśźćś› %d, 读取 %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"不正确的数据在柱面 %d\n"
+"继续 ... "
+
+#: disk-utils/fdformat.c:95
+#, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "用法:%s [选项] 设备\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"选项有:\n"
+" -n, --no-verify ç¦ć­˘ć ĽĺĽŹĺŚ–ĺŽçš„校验\n"
+" -V, --version 输出ç‰ćś¬äżˇćŻĺą¶é€€ĺ‡ş\n"
+" -h, --help ćľç¤şć­¤ĺ¸®ĺŠ©ĺą¶é€€ĺ‡ş\n"
+"\n"
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s,来自 %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "stat 失败:%s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, c-format
+msgid "%s: not a block device"
+msgstr "%s:不ćŻä¸€ä¸Şĺť—设备"
+
+#: disk-utils/fdformat.c:151
+#, c-format
+msgid "cannot access file %s"
+msgstr "无法访问文件 %s"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "不č˝ĺ†łĺ®šĺ˝“前格式类型"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s-面, %d çŁé“, %d 秒/çŁé“. 总容量 %d kB.\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "双面"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "单面"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s 已经挂载.\t"
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "%s 未挂载"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr "读失败:%s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:329
+#, c-format
+msgid "Locking disk %s ... "
+msgstr ""
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr "(等待中) "
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+msgid "succeeded"
+msgstr "ć功"
+
+#: disk-utils/fsck.c:349
+msgid "failed"
+msgstr "失败"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "stat 目录 %s 失败"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "%s:第 %d 行解ćžĺ‡şé”™"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s:解ćžĺ¤±č´Ą"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, c-format
+msgid "%s: not found"
+msgstr "%s:找不ĺ°"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "fork 失败"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "%s:挂载失败"
+
+#: disk-utils/fsck.c:705
+msgid "wait: no more child process?!?"
+msgstr ""
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "ID 失败"
+
+#: disk-utils/fsck.c:726
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr ""
+
+#: disk-utils/fsck.c:732
+#, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr ""
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:840
+#, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr ""
+
+#: disk-utils/fsck.c:909
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+
+#: disk-utils/fsck.c:1026
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr ""
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+# fuzzy
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "未知的文件系统类型“%s”"
+
+#: disk-utils/fsck.c:1079
+#, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr ""
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "ĺ†é…Ťĺ†…ĺ­ĺ¤±č´Ą"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1298
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+msgid "too many devices"
+msgstr "设备过多"
+
+#: disk-utils/fsck.c:1366
+msgid "Is /proc mounted?"
+msgstr "/proc 挂载了ĺ—?"
+
+#: disk-utils/fsck.c:1374
+#, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:1378
+#, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr ""
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+msgid "too many arguments"
+msgstr "参数过多"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, c-format
+msgid " %s [options] file\n"
+msgstr " %s [选项] 文件\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+msgid " -v, --verbose be more verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl 失败:无法确定设备大小:%s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "不ćŻä¸€ä¸Şĺť—设备ć–文件:%s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "文件长度过短"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "读失败:%s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "超级块魔数(magic)未找ĺ°"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr "cramfs 大小端为 %s\n"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr "大端"
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr "ĺ°Źç«Ż"
+
+# fuzzy
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "不支ćŚçš„文件系统特性"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "超级块尺寸(%d)过小"
+
+#: disk-utils/fsck.cramfs.c:193
+#, fuzzy
+msgid "zero file count"
+msgstr "零文件计数"
+
+#: disk-utils/fsck.cramfs.c:198
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "警告:文件扩展超过了文件系统末尾\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "警告:旧的 cramfs 格式\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "无法检测 CRC:旧的 cramfs 格式"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "crc 错误"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "ć ą inode 不ćŻä¸€ä¸Şç›®ĺ˝•"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "错误的根ĺŹç§»(%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "数据块过大"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "解压出错 %p(%d):%s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " 正在将 %ld ĺ¤„çš„ĺť—č§ŁĺŽ‹ĺ° %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "写失败:%s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown 失败:%s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown 失败:%s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime 失败:%s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "目录 inode ĺŹç§»ä¸ş 0,大小不为 0:%s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir 失败:%s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "文件ĺŤé•żĺş¦ä¸ş 0"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "文件ĺŤé•żĺş¦ćś‰čŻŻ"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "inode ĺŹç§»ćś‰čŻŻ"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "文件 inode ĺŹç§»ä¸ş 0,大小不为 0"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "文件 inode 大小为 0,ĺŹç§»ä¸Ťä¸ş 0"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "符号链接ĺŹç§»ä¸ş 0"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "符号链接大小为 0"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "符号链接大小出错:%s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symlink 失败:%s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "特殊文件的ĺŹç§»ä¸Ťä¸ş 0:%s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "FIFO 的大小不为 0:%s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "套接字的大小不为 0:%s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "伪(bogus)模式:%s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod 失败:%s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr "目录数据起点(%ld) < sizeof(struct cramfs_super) + 起点 (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "目录数据ç»ç‚ą (%ld) != 文件数据起点 (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "ć— ć•çš„文件数据ĺŹç§»"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "编译时未带有 -x 支ćŚ"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s:OK\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, c-format
+msgid " %s [options] <device>\n"
+msgstr " %s [选项] <设备>\n"
+
+#: disk-utils/fsck.minix.c:196
+msgid " -l list all filenames\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "需č¦ç»ç«ŻćťĄčż›čˇŚäş¤äş’式修复"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+msgid " -s output super-block information\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s 已经挂载.\t"
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "你确认č¦ç»§ç»­"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "检查失败.\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, fuzzy, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "`%s' 文件中的 nr 区 < FIRSTZONE"
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, fuzzy, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "`%s' 文件中的 nr 区 >= FIRSTZONE"
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "ĺ é™¤ĺť—"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "读取错误: 不č˝ĺś¨ć–‡ä»¶ '%s' 中查找ĺ°čŻĄĺť—\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "读取错误: 文件 '%s' 中有坏块\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"内é¨é”™čŻŻ: 试图写坏块\n"
+"写请求忽略\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "在 write_block 中查找失败"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "写入错误: 文件 '%s' 中有坏块\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "在 write_super_block 中查找失败"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "不č˝ĺ†™č¶…级块"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "不č˝ĺ†™ inode map"
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "不č˝ĺ†™ zone map"
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "不č˝ĺ†™ inodes"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "查找失败"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "无法为超级块ĺ†é…ŤçĽ“冲区"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "不č˝čŻ»č¶…级块"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "超级块中的魔数数字损坏"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "ĺŹŞć”ŻćŚ 1k ĺť—/区"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "不正确的 s_imap_blocks 域在超级块中"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "不正确的 s_zmap_blocks 域在超级块中"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "不č˝ä¸ş inode map ĺ†é…ŤçĽ“冲区"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "不č˝ä¸ş zone map ĺ†é…ŤçĽ“冲区"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "不č˝ä¸ş inodes ĺ†é…ŤçĽ“冲区"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "不č˝ä¸ş inode count ĺ†é…ŤçĽ“冲区"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "不č˝ä¸ş zone count ĺ†é…ŤçĽ“冲区"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "不č˝čŻ» inode map"
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "不č˝čŻ» zone map"
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "不č˝čŻ» inodes"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "警告: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld ĺť—\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonesize=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxsize=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Filesystem state=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"namelen=%zd\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inode %d 标记为未使用, 但用于文件 '%s'\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "标记为已使用"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "文件 `%s' 的模式 %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "警告: inode 计数太大.\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "ć ą inode 不ćŻä¸€ä¸Şç›®ĺ˝•"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "块已经被使用, 现在在文件 `%s' 中."
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "清除"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "文件中块 %d `%s' 标记为没有使用."
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "正确"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "目录 '%s' 包ĺ«äş†ä¸€ä¸Şä¸Ťć­Łçˇ®çš„ inode number 文件 '%.*s'. "
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " ĺ é™¤"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: 不正确的目录: '.' 不ćŻç¬¬ä¸€ä¸Ş\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: 不正确的目录: '.' 不ćŻç¬¬äşŚä¸Ş\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "内é¨é”™čŻŻ"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: 不正确的目录: 大小 < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "bad_zone 中ćśĺŻ»ĺ¤±č´Ą"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Inode %lu 模式未清除。"
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inode %lu 未使用,但在位图(bitmap)中标记为已使用。"
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inode %lu 已使用,但在位图(bitmap)中标记为未使用。"
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "%lu 区:标记为使用,但没有文件使用ĺ®ă€‚"
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "清标记"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "inode 大小有误"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "v2 inode 大小有误"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "需č¦ç»ç«ŻćťĄčż›čˇŚäş¤äş’式修复"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "不č˝ć‰“开:%s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s ćŻĺą˛ĺ‡€çš„,不检查。\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "强ĺ¶ĺś¨ %s 上进行文件系统检查。\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "%s 上的文件系统有问é˘ďĽŚéś€č¦ćŁ€ćźĄă€‚\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"已使用 %6ld inodes(%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "已使用 %6ld 区(%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d 个常规文件\n"
+"%6d 个目录\n"
+"%6d 个字符设备文件\n"
+"%6d 个块设备文件\n"
+"%6d 个链接\n"
+"%6d 个符号链接\n"
+"------\n"
+"%6d 个文件\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------\n"
+"文件系统已经更改\n"
+"----------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "seek error on %s"
+msgstr "%s ćśĺŻ»ĺ‡şé”™"
+
+#: disk-utils/isosize.c:132
+#, c-format
+msgid "read error on %s"
+msgstr "%s 读出错"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "扇区计数:%d,扇区大小:%d\n"
+
+#: disk-utils/isosize.c:156
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %s [选项] iso9660_é•śĺŹć–‡ä»¶\n"
+
+#: disk-utils/isosize.c:160
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"选项有:\n"
+" -n, --no-verify ç¦ć­˘ć ĽĺĽŹĺŚ–ĺŽçš„校验\n"
+" -V, --version 输出ç‰ćś¬äżˇćŻĺą¶é€€ĺ‡ş\n"
+" -h, --help ćľç¤şć­¤ĺ¸®ĺŠ©ĺą¶é€€ĺ‡ş\n"
+"\n"
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: disk-utils/mkfs.bfs.c:71
+#, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "Usage: %s [选项] 设备 [块数]\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+"\n"
+"选项有:\n"
+" -N, --inodes=NUM 指定希望的 inodes 数目\n"
+" -V, --vname=NAME 指定卷ĺŤ\n"
+" -F, --fname=NAME 指定文件系统ĺŤ\n"
+" -v, --verbose 解释正在进行的操作\n"
+" -c 此选项将被忽略,不ĺšćŹç¤ş\n"
+" -l 此选项将被忽略,不ĺšćŹç¤ş\n"
+" -V, --version 输出ç‰ćś¬äżˇćŻĺą¶é€€ĺ‡ş\n"
+" -V 大写以示不č˝ä¸Žĺ…¶ä»–选项ĺ用\n"
+" -h, --help ćľç¤şć­¤ĺ¸®ĺŠ©ĺą¶é€€ĺ‡ş\n"
+"\n"
+
+#: disk-utils/mkfs.bfs.c:136
+msgid "invalid number of inodes"
+msgstr "ć— ć•çš„ inodes ć•°ç›®"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "卷ĺŤčż‡é•ż"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "fsname ĺŤčż‡é•ż"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s 不ćŻä¸€ä¸Şĺť—特殊设备"
+
+#: disk-utils/mkfs.bfs.c:188
+msgid "invalid block-count"
+msgstr "ć— ć•çš„块计数"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "无法获得 %s 的大小"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "ĺť—ĺŹ‚ć•°čż‡ĺ¤§ďĽŚćś€ĺ¤§ĺ€ĽćŻ %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "inodes 过多 - 最多 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "ç©şé—´ä¸Ťč¶łďĽŚč‡łĺ°‘éś€č¦ %llu 个块"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "设备:%s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "卷:<%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "文件系统ĺŤďĽš<%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "块大小:%d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inodes:%lu (在 1 个块中)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inodes:%lu (在 %llu 个块中)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "块:%lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode ç»ç‚ąďĽš%d,数据ç»ç‚ąďĽš%d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "写超级块出错"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "写 根 inode 出错"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "写 inode 出错"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "ćśĺŻ»ĺ‡şé”™"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "写 . 记录出错"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "写 .. 记录出错"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "关闭 %s 出错"
+
+#: disk-utils/mkfs.c:39
+#, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "用法:%s [选项] [-t 类型 文件系统选项] 设备 [大小]\n"
+
+# Two -V here, bug?
+#: disk-utils/mkfs.c:42
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+"\n"
+"选项有:\n"
+" -t, --type=TYPE 文件系统类型,不指定时使用 ext2\n"
+" fs-options 实际文件系统ĺ›ĺ»şç¨‹ĺşŹçš„参数\n"
+" 设备 设备路径\n"
+" 大小 设备上的块数\n"
+" -V, --verbose 解释正在进行的操作\n"
+" 多次定义 -V 会导致选项失ć•\n"
+" -V, --version 输出ç‰ćś¬äżˇćŻĺą¶é€€ĺ‡ş\n"
+" -V 大写以示不č˝ä¸Žĺ…¶ä»–选项ĺ用\n"
+" -h, --help ćľç¤şć­¤äżˇćŻĺą¶é€€ĺ‡ş\n"
+
+#: disk-utils/mkfs.c:53
+#, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"更多信ćŻčŻ·ĺŹ‚é… mkfs(8)。\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"用法:%s [-h] [-v] [-b 块大小] [-e ç‰ćś¬] [-N 大小端] [-i 文件] [-n ĺŤç§°] 目录"
+"ĺŤ čľ“ĺ‡şć–‡ä»¶\n"
+" -h 打印此帮助\n"
+" -v 详尽模式\n"
+" -E 将所有警告视为错误(退出状ć€ç éťž 0)\n"
+" -b 块大小 使用此 块大小,必须与页大小相ĺŚ\n"
+" -e ç‰ćś¬ 设置修订ç‰ćś¬ĺŹ·(fsid 的一é¨ĺ†)\n"
+" -N 大小端 设置 cramfs 大小端(big|little|host),é»č®¤ä¸ş host\n"
+" -i 文件 将文件镜ĺŹćŹ’入文件系统(č¦ć±‚ >= 2.4.0)\n"
+" -n ĺŤç§° 设置cramfs 文件系统ĺŤç§°\n"
+" -p 用于ĺŻĺŠ¨ä»Łç çš„ %d 字节的 pad 区\n"
+" -s 对目录记录进行排序(旧选项,会被忽略)\n"
+" -z 产生ćľĺĽŹç©şć´ž (č¦ć±‚ >= 2.3.39)\n"
+" ç›®ĺ˝•ĺŤ č¦ĺŽ‹çĽ©çš„文件系统的根目录\n"
+" 输出文件 输出文件\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, c-format
+msgid "could not read directory %s"
+msgstr "无法读目录 %s"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:442
+msgid "filesystem too big. Exiting."
+msgstr "文件系统过大。将退出。"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:665
+#, c-format
+msgid "cannot close file %s"
+msgstr "无法关闭文件 %s"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "ć— ćł•č§Łćž ĺť—ĺ¤§ĺ°Ź 参数"
+
+#: disk-utils/mkfs.cramfs.c:732
+msgid "edition number argument failed"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC:%x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "ROM é•śĺŹ"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:890
+msgid "warning: filenames truncated to 255 bytes."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:892
+msgid "warning: files were skipped due to errors."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:894
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:898
+#, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:904
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:149
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "%s:ćśĺŻ»č‡łĺŻĺŠ¨ĺť—失败 位于 write_tables"
+
+#: disk-utils/mkfs.minix.c:200
+#, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "%s:无法清除ĺŻĺŠ¨ć‰‡ĺŚş"
+
+#: disk-utils/mkfs.minix.c:202
+#, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "%s:在 write_tables 中ćśĺŻ»ĺ¤±č´Ą"
+
+#: disk-utils/mkfs.minix.c:205
+#, c-format
+msgid "%s: unable to write super-block"
+msgstr "%s:无法写超级块"
+
+#: disk-utils/mkfs.minix.c:208
+#, c-format
+msgid "%s: unable to write inode map"
+msgstr "%s:无法写 inode map"
+
+#: disk-utils/mkfs.minix.c:211
+#, c-format
+msgid "%s: unable to write zone map"
+msgstr "%s:无法写 zone map"
+
+#: disk-utils/mkfs.minix.c:214
+#, c-format
+msgid "%s: unable to write inodes"
+msgstr "%s:无法写 inodes"
+
+#: disk-utils/mkfs.minix.c:219
+#, c-format
+msgid "%s: seek failed in write_block"
+msgstr "%s:在 write_block 中ćśĺŻ»ĺ¤±č´Ą"
+
+#: disk-utils/mkfs.minix.c:222
+#, c-format
+msgid "%s: write failed in write_block"
+msgstr "%s:在 write_block 中写入失败"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, c-format
+msgid "%s: too many bad blocks"
+msgstr "%s:坏块太多"
+
+#: disk-utils/mkfs.minix.c:239
+#, c-format
+msgid "%s: not enough good blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:485
+#, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "%s:不č˝ä¸şč¶…级块ĺ†é…ŤçĽ“冲区"
+
+#: disk-utils/mkfs.minix.c:531
+#, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "%s:不č˝ä¸ş maps ĺ†é…ŤçĽ“冲区"
+
+#: disk-utils/mkfs.minix.c:541
+#, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "%s:不č˝ä¸ş inodes ĺ†é…ŤçĽ“冲区"
+
+#: disk-utils/mkfs.minix.c:544
+#, c-format
+msgid "%lu inodes\n"
+msgstr "%lu 个 inodes\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, c-format
+msgid "%lu blocks\n"
+msgstr "%lu 个块\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:561
+#, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "%s:在测试块时ćśĺŻ»ĺ¤±č´Ą"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:601
+#, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "%s:在 check_blocks 中ćśĺŻ»ĺ¤±č´Ą"
+
+#: disk-utils/mkfs.minix.c:611
+#, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d 个坏块\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "一个坏块\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "%s: 打不开坏块文件"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:635
+#, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "%s: 打不开 badblocks 文件"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, c-format
+msgid "%s: bad inode size"
+msgstr "%s:不正确的 inode 大小"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:771
+#, c-format
+msgid "%s: device is misaligned"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:789
+#, c-format
+msgid "%s: number of blocks too small"
+msgstr ""
+
+#: disk-utils/mkswap.c:162
+#, c-format
+msgid "Bad user-specified page size %u"
+msgstr ""
+
+#: disk-utils/mkswap.c:168
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr ""
+
+#: disk-utils/mkswap.c:191
+msgid "Bad swap header size, no label written."
+msgstr ""
+
+#: disk-utils/mkswap.c:201
+msgid "Label was truncated."
+msgstr ""
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr ""
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "ć—  uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr ""
+"\n"
+"用法\n"
+" %s [选项] 设备 [大小]\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr ""
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr ""
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "一个坏页\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu 个坏页\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "ć— ćł•ĺ†é…Ťć–°çš„ libblkid 探é’"
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr ""
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr ""
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "不č˝ć“¦é™¤ bootbits 扇区"
+
+#: disk-utils/mkswap.c:430
+#, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s:警告,不č¦ć“¦é™¤ bootbits 扇区"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr ""
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " 在整个ç›ä¸Šă€‚ "
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr ""
+
+#: disk-utils/mkswap.c:489
+msgid "parse page size failed"
+msgstr "解ćžéˇµĺ¤§ĺ°Źĺ¤±č´Ą"
+
+#: disk-utils/mkswap.c:495
+msgid "parse version number failed"
+msgstr "解ćžç‰ćś¬ĺŹ·ĺ¤±č´Ą"
+
+#: disk-utils/mkswap.c:501
+#, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr ""
+
+#: disk-utils/mkswap.c:525
+#, c-format
+msgid "does not support swapspace version %d."
+msgstr ""
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:539
+msgid "error: Nowhere to set up swap on?"
+msgstr ""
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "ć— ć•çš„块计数"
+
+#: disk-utils/mkswap.c:553
+#, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:559
+#, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:575
+#, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr ""
+
+#: disk-utils/mkswap.c:580
+#, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr ""
+
+#: disk-utils/mkswap.c:601
+#, c-format
+msgid "warning: %s is misaligned"
+msgstr ""
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr ""
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:629
+#, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s:无法写签ĺŤéˇµ"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync 失败"
+
+#: disk-utils/mkswap.c:650
+#, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s:无法获得 selinux 文件标签"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr ""
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, c-format
+msgid "unable to relabel %s to %s"
+msgstr "无法将 %s 标签改为 %s"
+
+#: disk-utils/partx.c:79
+msgid "partition number"
+msgstr "ĺ†ĺŚşĺŹ·"
+
+#: disk-utils/partx.c:80
+msgid "start of the partition in sectors"
+msgstr ""
+
+#: disk-utils/partx.c:81
+msgid "end of the partition in sectors"
+msgstr ""
+
+#: disk-utils/partx.c:82
+msgid "number of sectors"
+msgstr ""
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+msgid "partition name"
+msgstr "ĺ†ĺŚşĺŤ"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+msgid "partition UUID"
+msgstr ""
+
+#: disk-utils/partx.c:86
+msgid "partition table type (dos, gpt, ...)"
+msgstr ""
+
+#: disk-utils/partx.c:87
+msgid "partition flags"
+msgstr ""
+
+#: disk-utils/partx.c:88
+msgid "partition type hex or uuid"
+msgstr ""
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "ĺťĺ§‹ĺŚ– libmount table 失败"
+
+#: disk-utils/partx.c:110
+#, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s:查找未使用的循环设备失败"
+
+#: disk-utils/partx.c:114
+#, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr ""
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s:设置ĺŽĺ¤‡ć–‡ä»¶ĺ¤±č´Ą"
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s:设置循环设备失败"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "未知ĺ—: %s"
+
+#: disk-utils/partx.c:200
+#, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s:获取ĺ†ĺŚşĺŹ·ĺ¤±č´Ą"
+
+#: disk-utils/partx.c:265
+#, c-format
+msgid "%s: error deleting partition %d"
+msgstr ""
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, c-format
+msgid "%s: partition #%d removed\n"
+msgstr ""
+
+#: disk-utils/partx.c:304
+#, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr ""
+
+#: disk-utils/partx.c:309
+#, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr ""
+
+#: disk-utils/partx.c:329
+#, c-format
+msgid "%s: error adding partition %d"
+msgstr ""
+
+#: disk-utils/partx.c:331
+#, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:368
+#, c-format
+msgid "%s: partition #%d added\n"
+msgstr ""
+
+#: disk-utils/partx.c:373
+#, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s:添加ĺ†ĺŚş #%d 失败"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr ""
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr ""
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr ""
+
+#: disk-utils/partx.c:577
+#, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr ""
+
+#: disk-utils/partx.c:585
+#, c-format
+msgid "%s: failed to read partition table"
+msgstr "%s:读取ĺ†ĺŚşčˇ¨ĺ¤±č´Ą"
+
+#: disk-utils/partx.c:591
+#, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr ""
+
+#: disk-utils/partx.c:595
+#, c-format
+msgid "%s: partition table with no partitions"
+msgstr ""
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr ""
+
+#: disk-utils/partx.c:701
+msgid "failed to parse --nr <M-N> range"
+msgstr "č§Łćž --nr <M-N> čŚĺ›´ĺ¤±č´Ą"
+
+#: disk-utils/partx.c:798
+msgid "--nr and <partition> are mutually exclusive"
+msgstr ""
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, c-format
+msgid "%s: cannot delete partitions"
+msgstr "%s:不č˝ĺ é™¤ĺ†ĺŚş"
+
+#: disk-utils/partx.c:832
+#, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr ""
+
+#: disk-utils/partx.c:849
+#, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "%s:ĺťĺ§‹ĺŚ– blkid 探é’失败"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr ""
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "无法定位块设备 '%s' (%m)\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "设备 '%s' 不ćŻä¸€ä¸Şĺť—设备\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+msgid "failed to parse argument"
+msgstr "解ćžĺŹ‚数失败"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "无法打开主 Raw 设备 '%s' (%s)\n"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "无法定位 Raw 设备 '%s' (%m)\n"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "设备 '%s' 不ćŻä¸€ä¸Şĺť—设备\n"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "设备 '%s' 不ćŻä¸€ä¸Şĺť—设备\n"
+
+#: disk-utils/raw.c:242
+msgid "Error querying raw device"
+msgstr ""
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:265
+msgid "Error setting raw device"
+msgstr ""
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "%s:获取ĺ†ĺŚşĺŹ·ĺ¤±č´Ą"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s:获取ĺ†ĺŚşĺŹ·ĺ¤±č´Ą"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "%s:读取ĺ†ĺŚşčˇ¨ĺ¤±č´Ą"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr "%s:无法探测设备"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr ""
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr ""
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr ""
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr ""
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s:写 UUID 失败"
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr ""
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr ""
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr "%s:写标签失败"
+
+#: disk-utils/swaplabel.c:162
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr ""
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "不可用"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "剩余空间"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "çŁç›ĺ·˛ç»Źć›´ć”ąă€‚\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr "请重ĺŻçł»ç»źćťĄçˇ®äżťĺ†ĺŚşčˇ¨ć­Łçˇ®ć›´ć–°ă€‚\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "致使错误"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "按任意键退出 cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr ""
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr ""
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr ""
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr ""
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr ""
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr ""
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr ""
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr ""
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "按下一个键继续"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "主ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "ĺ›ĺ»şć–°çš„主ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "逻辑ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "ĺ›ĺ»şć–°çš„逻辑ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "取ć¶"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "不ĺ›ĺ»şĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! 内é¨é”™čŻŻ !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "大小(MB):"
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "开头"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "在剩余空间的开头添加ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "ćś«ĺ°ľ"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "在剩余空间的末尾添加ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "ć— ĺ†ĺŚşčˇ¨ă€‚\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr ""
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr ""
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr ""
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr ""
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr ""
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr ""
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "ĺ¦"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "不将ĺ†ĺŚşčˇ¨ĺ†™ĺ…ĄçŁç›"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "ćŻ"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "请输入“yes”ć–“no”"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "正在将ĺ†ĺŚşčˇ¨ĺ†™ĺ…ĄçŁç›..."
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "已将ĺ†ĺŚşčˇ¨ĺ†™ĺ…ĄçŁç›"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "çŁç›é©±ĺŠ¨ĺ™¨ďĽš%s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "扇区 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "扇区 %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " ć—  "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr ""
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " 主ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " 逻辑ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "未知"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "ĺŻĺŠ¨"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "ć— "
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr ""
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr ""
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "扇区"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "按扇区顺序打印表"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "表"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "直接打印ĺ†ĺŚşčˇ¨"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "不打印表"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr ""
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "çŁç›é©±ĺŠ¨ĺ™¨ă€‚"
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "ç‰ćťć‰€ćś‰ (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr ""
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr ""
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr ""
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr ""
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr ""
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr ""
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr ""
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr ""
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr ""
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr ""
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr ""
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr ""
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr ""
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr ""
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr ""
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr ""
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr ""
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr ""
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr ""
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr ""
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "柱面"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "çŁĺ¤´"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "完ć"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr ""
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr ""
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr ""
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr ""
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr ""
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr ""
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr ""
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr ""
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr ""
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ""
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr ""
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr ""
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "未知 (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "çŁç›é©±ĺŠ¨ĺ™¨ďĽš%s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr ""
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr ""
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr ""
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "ĺŤç§°"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "标志"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr ""
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr ""
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr ""
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " 扇区"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " 柱面"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "没有更多ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "可ĺŻĺŠ¨"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "ĺ é™¤"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "ĺ é™¤ĺ˝“前ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr ""
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "帮助"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "打印帮助界面"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "最大化"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "新建"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "在剩余空间上ĺ›ĺ»şć–°ĺ†ĺŚş"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "打印"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "退出"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr ""
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "类型"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "单位"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "写入"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr ""
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr ""
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr ""
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr ""
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "非法命令"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "ç‰ćťć‰€ćś‰ (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr "解ćžčˇŚć•°ĺ¤±č´Ą"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "解ćžčˇŚć•°ĺ¤±č´Ą"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "解ćžčˇŚć•°ĺ¤±č´Ą"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d 个ĺ†ĺŚşďĽš\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "字节/扇区"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "扇区/çŁé“"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "çŁé“/柱面"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "柱面"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "扇区/柱面"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "ĺ†ĺŚş (a-%c):"
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr ""
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:75
+msgid "toggle a bootable flag"
+msgstr "开关 可ĺŻĺŠ¨ 标志"
+
+#: fdisks/fdisk.c:76
+msgid "toggle a read only flag"
+msgstr "开关 只读 标志"
+
+#: fdisks/fdisk.c:77
+msgid "select bootable partition"
+msgstr "选择可ĺŻĺŠ¨ĺ†ĺŚş"
+
+#: fdisks/fdisk.c:78
+msgid "change number of alternate cylinders"
+msgstr ""
+
+#: fdisks/fdisk.c:79
+msgid "edit bsd disklabel"
+msgstr ""
+
+#: fdisks/fdisk.c:80
+msgid "edit bootfile entry"
+msgstr ""
+
+#: fdisks/fdisk.c:81
+msgid "move beginning of data in a partition"
+msgstr ""
+
+#: fdisks/fdisk.c:82
+msgid "toggle the dos compatibility flag"
+msgstr ""
+
+#: fdisks/fdisk.c:83
+msgid "toggle the mountable flag"
+msgstr ""
+
+#: fdisks/fdisk.c:84
+msgid "select sgi swap partition"
+msgstr ""
+
+#: fdisks/fdisk.c:85
+msgid "change number of cylinders"
+msgstr ""
+
+#: fdisks/fdisk.c:86
+msgid "delete a partition"
+msgstr "ĺ é™¤ĺ†ĺŚş"
+
+#: fdisks/fdisk.c:87
+msgid "print the raw data in the partition table"
+msgstr "打印ĺ†ĺŚşčˇ¨ä¸­çš„原始数据"
+
+#: fdisks/fdisk.c:88
+msgid "change number of extra sectors per cylinder"
+msgstr ""
+
+#: fdisks/fdisk.c:89
+msgid "list extended partitions"
+msgstr ""
+
+#: fdisks/fdisk.c:90
+msgid "edit drive data"
+msgstr ""
+
+#: fdisks/fdisk.c:91
+msgid "fix partition order"
+msgstr ""
+
+#: fdisks/fdisk.c:92
+msgid "create an IRIX (SGI) partition table"
+msgstr "ĺ›ĺ»şä¸€ä»˝ IRIX(SGI) ĺ†ĺŚşčˇ¨"
+
+#: fdisks/fdisk.c:93
+msgid "change number of heads"
+msgstr ""
+
+#: fdisks/fdisk.c:94
+msgid "change interleave factor"
+msgstr ""
+
+#: fdisks/fdisk.c:95
+msgid "change the disk identifier"
+msgstr ""
+
+#: fdisks/fdisk.c:96
+msgid "install bootstrap"
+msgstr ""
+
+#: fdisks/fdisk.c:97
+msgid "list known partition types"
+msgstr ""
+
+#: fdisks/fdisk.c:98
+msgid "print this menu"
+msgstr ""
+
+#: fdisks/fdisk.c:99
+msgid "add a new partition"
+msgstr ""
+
+#: fdisks/fdisk.c:100
+msgid "create a new empty DOS partition table"
+msgstr "ĺ›ĺ»şä¸€ä»˝ć–°çš„ç©ş DOS ĺ†ĺŚşčˇ¨"
+
+#: fdisks/fdisk.c:101
+msgid "change rotation speed (rpm)"
+msgstr ""
+
+#: fdisks/fdisk.c:102
+msgid "print the partition table"
+msgstr "打印ĺ†ĺŚşčˇ¨"
+
+#: fdisks/fdisk.c:103
+msgid "quit without saving changes"
+msgstr ""
+
+#: fdisks/fdisk.c:104
+msgid "return to main menu"
+msgstr ""
+
+#: fdisks/fdisk.c:105
+msgid "create a new empty Sun disklabel"
+msgstr ""
+
+#: fdisks/fdisk.c:106
+msgid "change number of sectors/track"
+msgstr ""
+
+#: fdisks/fdisk.c:107
+msgid "show complete disklabel"
+msgstr ""
+
+#: fdisks/fdisk.c:108
+msgid "change a partition's system id"
+msgstr ""
+
+#: fdisks/fdisk.c:109
+msgid "change display/entry units"
+msgstr ""
+
+#: fdisks/fdisk.c:110
+msgid "verify the partition table"
+msgstr "检查ĺ†ĺŚşčˇ¨"
+
+#: fdisks/fdisk.c:111
+msgid "write table to disk and exit"
+msgstr ""
+
+#: fdisks/fdisk.c:112
+msgid "write disklabel to disk"
+msgstr ""
+
+#: fdisks/fdisk.c:113
+msgid "extra functionality (experts only)"
+msgstr ""
+
+#: fdisks/fdisk.c:115
+msgid "link BSD partition to non-BSD partition"
+msgstr ""
+
+#: fdisks/fdisk.c:117
+msgid "change number of physical cylinders"
+msgstr ""
+
+#: fdisks/fdisk.c:139
+#, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:162
+#, c-format
+msgid "unable to read %s"
+msgstr "无法读 %s"
+
+#: fdisks/fdisk.c:165
+#, c-format
+msgid "unable to seek on %s"
+msgstr "无法在 %s 上ćśĺŻ»"
+
+#: fdisks/fdisk.c:168
+#, c-format
+msgid "unable to write %s"
+msgstr "不č˝ĺ†™ %s"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr ""
+
+#: fdisks/fdisk.c:174
+msgid "fatal error"
+msgstr "致命错误"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "命令操作"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr ""
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "çŁĺ¤´"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "扇区"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " ĺ’Ś "
+
+#: fdisks/fdisk.c:407
+#, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:511
+#, c-format
+msgid "Do you really want to quit? "
+msgstr "您确实č¦é€€ĺ‡şĺ—?"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr ""
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u,é»č®¤ä¸ş %u):"
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr ""
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "值超出čŚĺ›´ă€‚\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "ĺ†ĺŚşĺŹ·"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr ""
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr ""
+
+#: fdisks/fdisk.c:795
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "柱面"
+
+#: fdisks/fdisk.c:796
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "扇区"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr ""
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr ""
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr ""
+
+#: fdisks/fdisk.c:841
+#, c-format
+msgid "Partition %d is deleted\n"
+msgstr ""
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr ""
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr ""
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr ""
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1000
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+
+#: fdisks/fdisk.c:1004
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr "扇区"
+
+#: fdisks/fdisk.c:1009
+#, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1011
+#, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1015
+#, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "完ć。\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "设备"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1247
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1307
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1328
+#, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "无法写 %s"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1379
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr ""
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr ""
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "柱面数"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "çŁĺ¤´ć•°"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "扇区数"
+
+#: fdisks/fdisk.c:1561
+#, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "打不开 %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1677
+#, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr ""
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1921
+#, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr ""
+
+#: fdisks/fdisk.c:1928
+#, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:644
+#, c-format
+msgid "Adding logical partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:706
+#, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:738
+#, c-format
+msgid "All primary partitions are in use\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " l logical (numbered from 5)"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+msgid " e extended"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:763
+#, c-format
+msgid "Using default response %c\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:779
+#, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "ć— ć•çš„ĺ†ĺŚşç±»ĺž‹â€ś%c”\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:172
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:184
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:487
+#, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:580
+#, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:617
+#, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:792
+#, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "未ĺ†é…Ť"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:155
+#, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:546
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:562
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr ""
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "ç©ş"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS/exFAT"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX 可ĺŻĺŠ¨"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+msgid "Hidden NTFS WinRE"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD or SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr ""
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:916
+#, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:923
+#, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:928
+#, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:933
+#, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1166
+msgid "no partition table present."
+msgstr "不ĺ­ĺś¨ĺ†ĺŚşčˇ¨ă€‚"
+
+#: fdisks/sfdisk.c:1168
+#, c-format
+msgid "strange, only %d partitions defined."
+msgstr ""
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1195
+#, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1207
+#, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1219
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "开头"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "ćś«ĺ°ľ"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1402
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1756
+msgid "long or incomplete input line - quitting"
+msgstr ""
+
+#: fdisks/sfdisk.c:1792
+#, c-format
+msgid "input error: `=' expected after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1799
+#, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr ""
+
+#: fdisks/sfdisk.c:1805
+#, c-format
+msgid "unrecognized input: %s"
+msgstr ""
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2290
+msgid "bad input"
+msgstr ""
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+msgid ""
+"\n"
+"Usage:\n"
+msgstr ""
+"\n"
+"用法:\n"
+
+#: fdisks/sfdisk.c:2368
+#, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr " %s [选项] <设备> [...]\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr ""
+"\n"
+"危险选项:\n"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2400
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "用法:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2582
+msgid "no command?"
+msgstr "没有命令?"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "ć— ć•çš„ inodes ć•°ç›®"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2795
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr ""
+
+#: fdisks/sfdisk.c:2797
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr ""
+
+#: fdisks/sfdisk.c:2799
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr ""
+
+#: fdisks/sfdisk.c:2806
+msgid "can specify only one device (except with -l or -s)"
+msgstr ""
+
+#: fdisks/sfdisk.c:2832
+#, c-format
+msgid "cannot open %s read-write"
+msgstr "不č˝ä»ĄčŻ»ĺ†™ć–ąĺĽŹć‰“开 %s"
+
+#: fdisks/sfdisk.c:2834
+#, c-format
+msgid "cannot open %s for reading"
+msgstr "不č˝ä»ĄčŻ»ć–ąĺĽŹć‰“开 %s"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2929
+#, c-format
+msgid "Cannot get size of %s"
+msgstr ""
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"完ć\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3055
+#, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr ""
+
+#: fdisks/sfdisk.c:3115
+#, c-format
+msgid "Bad Id %lx"
+msgstr ""
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3154
+#, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "č‡´ĺ‘˝é”™čŻŻďĽšć‰ľä¸Ťĺ° %s"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3186
+#, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr ""
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3199
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisks/sfdisk.c:3214
+msgid "Quitting - nothing changed"
+msgstr ""
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"更多信ćŻčŻ·ĺŹ‚é… mkfs(8)。\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "写出错。"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr " %s [选项]\n"
+
+#: include/optutils.h:85
+#, c-format
+msgid "are mutually exclusive."
+msgstr ""
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "写失败:%s"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+#, fuzzy
+msgid "failed to callocate cpu set"
+msgstr "ĺ†é…Ť CPU 组 失败"
+
+#: lib/path.c:178
+#, c-format
+msgid "failed to parse CPU list %s"
+msgstr "č§Łćž CPU ĺ—表 %s 失败"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr ""
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, c-format
+msgid " %s [options] [username]\n"
+msgstr ""
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+msgid " -v, --version output version information and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, c-format
+msgid "you (user %d) don't exist."
+msgstr ""
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, c-format
+msgid "user \"%s\" does not exist."
+msgstr ""
+
+#: login-utils/chfn.c:131
+msgid "can only change local entries"
+msgstr ""
+
+#: login-utils/chfn.c:141
+#, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr ""
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "无法获取 %s 的超时"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr ""
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "办公"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "办公电话"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "住宅电话"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+msgid "Aborted."
+msgstr "已中止。"
+
+#: login-utils/chfn.c:383
+#, c-format
+msgid "field %s is too long"
+msgstr ""
+
+#: login-utils/chfn.c:385
+msgid "field is too long"
+msgstr ""
+
+#: login-utils/chfn.c:393
+#, c-format
+msgid "%s: '%c' is not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, c-format
+msgid "'%c' is not allowed"
+msgstr "'%c' 不ĺ…许使用"
+
+#: login-utils/chfn.c:401
+#, c-format
+msgid "%s: control characters are not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+msgid "control characters are not allowed"
+msgstr ""
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr ""
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:66
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr ""
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+msgid "can only change local entries."
+msgstr ""
+
+#: login-utils/chsh.c:118
+#, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr ""
+
+#: login-utils/chsh.c:137
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:142
+#, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr ""
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr ""
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr ""
+
+#: login-utils/chsh.c:191
+msgid "Shell not changed."
+msgstr ""
+
+#: login-utils/chsh.c:194
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr ""
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:294
+msgid "shell must be a full path name"
+msgstr ""
+
+#: login-utils/chsh.c:298
+#, c-format
+msgid "\"%s\" does not exist"
+msgstr ""
+
+#: login-utils/chsh.c:302
+#, c-format
+msgid "\"%s\" is not executable"
+msgstr ""
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "%s 未登录"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr ""
+
+#: login-utils/chsh.c:355
+msgid "No known shells."
+msgstr ""
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+
+#: login-utils/last.c:252
+#, c-format
+msgid "%s: mmap failed"
+msgstr "%s:mmap 失败"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr ""
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+
+#: login-utils/last.c:431
+msgid "gethostname failed"
+msgstr "gethostname 失败"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, c-format
+msgid "timed out after %u seconds"
+msgstr ""
+
+#: login-utils/login.c:284
+#, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr ""
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr ""
+
+#: login-utils/login.c:308
+#, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr ""
+
+#: login-utils/login.c:312
+#, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr ""
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr ""
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:553
+msgid "write lastlog failed"
+msgstr "写 lastlog 失败"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr ""
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr ""
+
+#: login-utils/login.c:744
+#, c-format
+msgid "PAM failure, aborting: %s"
+msgstr ""
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr ""
+
+#: login-utils/login.c:817
+#, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+
+#: login-utils/login.c:840
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr ""
+
+#: login-utils/login.c:1293
+#, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr ""
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:1357
+#, c-format
+msgid "groups initialization failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1382
+msgid "setgid() failed"
+msgstr "setgid() 失败"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr ""
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, c-format
+msgid "%s: change directory failed"
+msgstr "%s:更改目录失败"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr ""
+
+#: login-utils/login.c:1470
+msgid "couldn't exec shell script"
+msgstr ""
+
+#: login-utils/login.c:1472
+msgid "no shell"
+msgstr ""
+
+#: login-utils/logindefs.c:203
+#, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr ""
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr ""
+
+#: login-utils/newgrp.c:113
+#, c-format
+msgid " %s <group>\n"
+msgstr ""
+
+#: login-utils/newgrp.c:150
+msgid "who are you?"
+msgstr ""
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+msgid "setgid failed"
+msgstr "setgid 失败"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+msgid "no such group"
+msgstr ""
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+msgid "permission denied"
+msgstr ""
+
+#: login-utils/newgrp.c:176
+msgid "setuid failed"
+msgstr "setuid 失败"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "exec %s 失败"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "不č˝ć‰“开:%s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "无法 stat 文件 %s"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "ĺ°†ç›®ĺ˝•ć›´ć”ąĺ° %s 失败"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "不č˝ć‰“开é”文件 %s"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+msgid "cannot set signal handler"
+msgstr ""
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s 失败.\n"
+
+#: login-utils/su.c:361
+msgid "incorrect password"
+msgstr ""
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "stat %s 失败"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "无法设置 组 id"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "无法设置 组 id"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "无法设置 ç”¨ć· id"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr " %s [选项] [y | n]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, c-format
+msgid "user %s does not exist"
+msgstr ""
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "ĺ°†ç›®ĺ˝•ć›´ć”ąĺ° %s 失败"
+
+#: login-utils/sulogin.c:243
+#, c-format
+msgid "%s: no entry for root\n"
+msgstr ""
+
+#: login-utils/sulogin.c:270
+#, c-format
+msgid "%s: no entry for root"
+msgstr ""
+
+#: login-utils/sulogin.c:274
+#, c-format
+msgid "%s: root password garbled"
+msgstr ""
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "你确认č¦ç»§ç»­"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "%s:更改目录失败"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "execv 失败"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "%s:lseek 失败"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "fstat 失败"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "fstat 失败"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr " %s [选项] <设备>\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+msgid "invalid timeout argument"
+msgstr ""
+
+#: login-utils/sulogin.c:510
+msgid "only root can run this program."
+msgstr ""
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "%s:不ćŻä¸€ä¸Şç›®ĺ˝•"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "ioctl 失败"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "不č˝ä»ĄčŻ»ĺ†™ć–ąĺĽŹć‰“开 %s"
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s:stat 失败"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s:无法读 inotify 事件"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr " %s [选项] [文件]\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "打不开临时文件 %s"
+
+#: login-utils/vipw.c:166
+#, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%s:ĺ›ĺ»şćŚ‡ĺ‘ %s 的链接失败"
+
+#: login-utils/vipw.c:173
+#, c-format
+msgid "Can't get context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:179
+#, c-format
+msgid "Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:248
+#, c-format
+msgid "%s unchanged"
+msgstr ""
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "ć— ćł• fork"
+
+#: login-utils/vipw.c:291
+msgid "no changes made"
+msgstr ""
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "无法关闭文件 %s"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: misc-utils/cal.c:371
+msgid "illegal day value"
+msgstr ""
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr ""
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr ""
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr ""
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:786
+#, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr ""
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr ""
+
+#: misc-utils/findfs.c:22
+#, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "不č˝č§Łćžâ€ś%s”"
+
+#: misc-utils/findmnt.c:105
+msgid "source device"
+msgstr "ćşč®ľĺ¤‡"
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr "挂载点"
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+msgid "filesystem type"
+msgstr "文件系统类型"
+
+#: misc-utils/findmnt.c:108
+msgid "all mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+msgid "FS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:111
+msgid "filesystem label"
+msgstr "文件系统标签"
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "ĺ†ĺŚşĺŤ"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "文件系统类型"
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "文件系统标签"
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "文件系统类型"
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "文件系统类型"
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "文件系统类型"
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, c-format
+msgid "unknown action: %s"
+msgstr "未知操作: %s"
+
+#: misc-utils/findmnt.c:504
+msgid "mount"
+msgstr "挂载"
+
+#: misc-utils/findmnt.c:507
+msgid "umount"
+msgstr "卸载"
+
+#: misc-utils/findmnt.c:510
+msgid "remount"
+msgstr "重新挂载"
+
+#: misc-utils/findmnt.c:513
+msgid "move"
+msgstr "移动"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "未知"
+
+#: misc-utils/findmnt.c:630
+#, c-format
+msgid "%s: parse error at line %d"
+msgstr "%s:第 %d 行解ćžĺ‡şé”™"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+msgid "failed to initialize libmount table"
+msgstr "ĺťĺ§‹ĺŚ– libmount table 失败"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, c-format
+msgid "can't read %s"
+msgstr "不č˝čŻ» %s"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr ""
+
+#: misc-utils/findmnt.c:886
+msgid "failed to initialize libmount tabdiff"
+msgstr "ĺťĺ§‹ĺŚ– libmount tabdiff 失败"
+
+#: misc-utils/findmnt.c:914
+msgid "poll() failed"
+msgstr "poll() 失败"
+
+#: misc-utils/findmnt.c:976
+#, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr ""
+"\n"
+"可用的ĺ—:\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr ""
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "ć— ć•ĺŹ‚数:%c"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr ""
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr ""
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: misc-utils/getopt.c:317
+#, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr ""
+
+#: misc-utils/getopt.c:323
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr ""
+
+#: misc-utils/getopt.c:324
+msgid " -h, --help This small usage guide\n"
+msgstr ""
+
+#: misc-utils/getopt.c:325
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:326
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr ""
+
+#: misc-utils/getopt.c:327
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr ""
+
+#: misc-utils/getopt.c:328
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr ""
+
+#: misc-utils/getopt.c:329
+msgid " -Q, --quiet-output No normal output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:330
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr ""
+
+#: misc-utils/getopt.c:331
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr ""
+
+#: misc-utils/getopt.c:332
+msgid " -u, --unquote Do not quote the output\n"
+msgstr ""
+
+#: misc-utils/getopt.c:333
+msgid " -V, --version Output version information\n"
+msgstr ""
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr ""
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr ""
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr ""
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr ""
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr ""
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr ""
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr ""
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "未知设施ĺŤç§°ďĽš%s。"
+
+#: misc-utils/logger.c:97
+#, c-format
+msgid "unknown priority name: %s."
+msgstr "未知äĽĺ…级ĺŤç§°ďĽš%s。"
+
+#: misc-utils/logger.c:107
+#, c-format
+msgid "openlog %s: pathname too long"
+msgstr ""
+
+#: misc-utils/logger.c:113
+#, c-format
+msgid "socket %s"
+msgstr ""
+
+#: misc-utils/logger.c:116
+#, c-format
+msgid "connect %s"
+msgstr ""
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "套接字"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "连接"
+
+#: misc-utils/logger.c:174
+#, c-format
+msgid " %s [options] [message]\n"
+msgstr " %s [选项] [ć¶ćŻ]\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, c-format
+msgid "file %s"
+msgstr ""
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: misc-utils/look.c:370
+#, c-format
+msgid " %s [options] string [file]\n"
+msgstr ""
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "ĺ†ĺŚşĺŤ"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "设备的状ć€"
+
+#: misc-utils/lsblk.c:123
+msgid "read-only device"
+msgstr "只读设备"
+
+#: misc-utils/lsblk.c:124
+msgid "removable device"
+msgstr ""
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+msgid "state of the device"
+msgstr "设备的状ć€"
+
+#: misc-utils/lsblk.c:129
+msgid "user name"
+msgstr ""
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+msgid "alignment offset"
+msgstr ""
+
+#: misc-utils/lsblk.c:133
+msgid "minimum I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:134
+msgid "optimal I/O size"
+msgstr ""
+
+#: misc-utils/lsblk.c:135
+msgid "physical sector size"
+msgstr "物ç†ć‰‡ĺŚşĺ¤§ĺ°Ź"
+
+#: misc-utils/lsblk.c:136
+msgid "logical sector size"
+msgstr "逻辑扇区大小"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+msgid "discard alignment offset"
+msgstr ""
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+msgid "unique storage identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:828
+#, c-format
+msgid "%s: failed to get device path"
+msgstr "%s:获取设备路径失败"
+
+#: misc-utils/lsblk.c:835
+#, c-format
+msgid "%s: unknown device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "%s:ĺťĺ§‹ĺŚ– sysfs 处ç†ç¨‹ĺşŹĺ¤±č´Ą"
+
+#: misc-utils/lsblk.c:869
+#, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s:获取 dm ĺŤç§°ĺ¤±č´Ą"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr ""
+
+#: misc-utils/lsblk.c:1099
+#, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr ""
+
+#: misc-utils/lsblk.c:1106
+#, c-format
+msgid "%s: failed to read link"
+msgstr "%s:读链接失败"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, c-format
+msgid "failed to parse list '%s'"
+msgstr "解ćžĺ—表“%s”失败"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %s [选项] [<设备> ...]\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr ""
+"\n"
+"可用ĺ—(用于 --output):\n"
+
+#: misc-utils/lsblk.c:1231
+#, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "无法访问 sysfs 目录:%s"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "设备的状ć€"
+
+#: misc-utils/lslocks.c:72
+msgid "lock access mode"
+msgstr ""
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "不č˝ć‰“开é”文件 %s"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "č§Łćž pid 失败"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "未知"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "解ćžĺŹ‚数失败"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "č§Łćž pid 失败"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, c-format
+msgid " %s [options]\n"
+msgstr " %s [选项]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "ć— ć•ĺŹ‚数:%c"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:158
+#, c-format
+msgid "closing %s failed"
+msgstr "关闭 %s 失败"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "读符号链接失败:%s"
+
+#: misc-utils/namei.c:370
+#, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s - 无此文件ć–目录\n"
+
+#: misc-utils/namei.c:420
+#, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr ""
+
+#: misc-utils/namei.c:423
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:493
+msgid "pathname argument is missing"
+msgstr ""
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:54
+#, c-format
+msgid "renaming %s to %s failed"
+msgstr "é‡Ťĺ‘˝ĺŤ %s 为 %s 失败"
+
+#: misc-utils/rename.c:67
+#, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr ""
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr ""
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "写"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr ""
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:220
+#, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "打开/ĺ›ĺ»ş %s 失败:%m\n"
+
+#: misc-utils/uuidd.c:235
+#, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "é”定 %s 失败:%m\n"
+
+#: misc-utils/uuidd.c:259
+#, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr ""
+
+#: misc-utils/uuidd.c:285
+#, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:334
+#, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:433
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:454
+#, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:480
+#, c-format
+msgid "Unexpected reply length from server %d"
+msgstr ""
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:618
+#, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:656
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr ""
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "擦除 %s 魔数字符串失败,位置在ĺŹç§» 0x%08jx"
+
+#: misc-utils/wipefs.c:298
+#, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr ""
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "%s:找不ĺ°"
+
+#: misc-utils/wipefs.c:364
+#, fuzzy
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all 擦除所有魔数字符串(慎重ďĽ)\n"
+" -h, --help ćľç¤şć­¤ĺ¸®ĺŠ©ć–‡ĺ­—\n"
+" -n, --no-act 照常操作但不执行实际的 write() č°ç”¨\n"
+" -o, --offset <ć•°ĺ­—> č¦ć“¦é™¤çš„ĺŹç§»ĺ­—节数\n"
+" -p, --parsable 以可解ćžçš„格式打印输出,而非以可打印的格式\n"
+" -t, --types <ĺ—表> é™ĺ¶ć–‡ä»¶çł»ç»źă€RAID ć–ĺ†ĺŚşčˇ¨çš„集ĺ\n"
+" -V, --version 输出ç‰ćś¬äżˇćŻĺą¶é€€ĺ‡ş\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr ""
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr ""
+
+#: mount-deprecated/fstab.c:937
+#, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s:无法 fflush 更改:%s"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:810
+#, c-format
+msgid "mount: cannot set group id: %m"
+msgstr ""
+
+#: mount-deprecated/mount.c:813
+#, c-format
+msgid "mount: cannot set user id: %m"
+msgstr ""
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1290
+#, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount-deprecated/mount.c:1314
+msgid "mount: couldn't lock into memory"
+msgstr ""
+
+#: mount-deprecated/mount.c:1334
+msgid "mount: failed to found free loop device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1353
+#, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr ""
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "%s:设置循环设备失败"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1473
+#, c-format
+msgid "mount: cannot set speed: %m"
+msgstr ""
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr ""
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr ""
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr ""
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1756
+#, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr ""
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr ""
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr ""
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr ""
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr ""
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr ""
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr ""
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr ""
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr ""
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:139
+#, c-format
+msgid "umount: cannot set group id: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:142
+#, c-format
+msgid "umount: cannot set user id: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr ""
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr ""
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:257
+#, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr ""
+
+#: mount-deprecated/umount.c:260
+#, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr ""
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s 已经卸载\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:558
+#, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "č§Łćž 'offset=%s' 选项失败\n"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr ""
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:652
+#, c-format
+msgid "%s is associated with %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+
+#: schedutils/chrt.c:83
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:143
+msgid "unknown scheduling policy"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+msgid "cannot obtain the list of tasks"
+msgstr ""
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr ""
+
+#: schedutils/chrt.c:323
+#, c-format
+msgid "failed to set tid %d's policy"
+msgstr "设置 tid %d 策略失败"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr ""
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr ""
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "ioprio_set 失败"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "未知的č°ĺş¦ç±»ďĽšâ€ś%s”"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "未知的äĽĺ…级类 %d"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "执行 %s 失败"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:56
+#, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr ""
+
+#: schedutils/taskset.c:97
+msgid "conversion from cpuset to string failed"
+msgstr ""
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr ""
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr ""
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr ""
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr "cpuset_alloc 失败"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "č§Łćž CPU ĺ—表失败:%s"
+
+#: schedutils/taskset.c:217
+#, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "č§Łćž CPU 掩ç ĺ¤±č´ĄďĽš%s"
+
+#: sys-utils/arch.c:79
+msgid "uname failed"
+msgstr "uname 失败"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, c-format
+msgid "CPU %d does not exist\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, c-format
+msgid "CPU %d is already enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:92
+#, c-format
+msgid "CPU %d is already disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+msgid "Failed to trigger rescan of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+msgid "Failed to set horizontal dispatch mode"
+msgstr ""
+
+#: sys-utils/chcpu.c:143
+#, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:146
+msgid "Failed to set vertical dispatch mode"
+msgstr ""
+
+#: sys-utils/chcpu.c:147
+#, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:165
+#, c-format
+msgid "CPU %d is not configurable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:170
+#, c-format
+msgid "CPU %d is already configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:174
+#, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr ""
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %s [选项]\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, c-format
+msgid "unsupported argument: %s"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:21
+#, c-format
+msgid " %s <hard|soft>\n"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:56
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr ""
+
+#: sys-utils/cytune.c:92
+#, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr ""
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:141
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr ""
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr ""
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, c-format
+msgid "cannot get threshold for %s"
+msgstr ""
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, c-format
+msgid "cannot get timeout for %s"
+msgstr "无法获取 %s 的超时"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:326
+msgid "Invalid interval value"
+msgstr ""
+
+#: sys-utils/cytune.c:328
+#, c-format
+msgid "Invalid interval value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:335
+msgid "Invalid set value"
+msgstr ""
+
+#: sys-utils/cytune.c:337
+#, c-format
+msgid "Invalid set value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:344
+msgid "Invalid default value"
+msgstr ""
+
+#: sys-utils/cytune.c:346
+#, c-format
+msgid "Invalid default value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:354
+msgid "Invalid set time value"
+msgstr ""
+
+#: sys-utils/cytune.c:356
+#, c-format
+msgid "Invalid set time value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:364
+msgid "Invalid default time value"
+msgstr ""
+
+#: sys-utils/cytune.c:366
+#, c-format
+msgid "Invalid default time value: %d"
+msgstr ""
+
+#: sys-utils/cytune.c:409
+#, c-format
+msgid "cannot set %s to threshold %d"
+msgstr ""
+
+#: sys-utils/cytune.c:423
+#, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr ""
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:72
+msgid "system is unusable"
+msgstr ""
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+msgid "error conditions"
+msgstr "错误条件"
+
+#: sys-utils/dmesg.c:76
+msgid "warning conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+msgid "kernel messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+msgid "mail system"
+msgstr ""
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+msgid "clock daemon"
+msgstr ""
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+msgid "ftp daemon"
+msgstr ""
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, c-format
+msgid "failed to parse level '%s'"
+msgstr "解ćžçş§ĺ«â€ś%s”失败"
+
+#: sys-utils/dmesg.c:262
+#, c-format
+msgid "unknown level '%s'"
+msgstr "未知级ĺ«â€ś%s”"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "解ćžč®ľć–˝â€ś%s”失败"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "未知设施“%s”"
+
+#: sys-utils/dmesg.c:415
+msgid "sysinfo failed"
+msgstr "sysinfo 失败"
+
+#: sys-utils/dmesg.c:442
+#, c-format
+msgid "cannot mmap: %s"
+msgstr "无法 mmap:%s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+msgid "write failed"
+msgstr "写失败"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "读取 rtc 时间失败"
+
+#: sys-utils/dmesg.c:1205
+msgid "unsupported command"
+msgstr ""
+
+#: sys-utils/dmesg.c:1211
+msgid "klogctl failed"
+msgstr "klogctl 失败"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr " %s [选项] <设备>\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "ć— ć•ĺŹ‚数:%c"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "ć— ć•ĺŹ‚数:%c"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+msgid "CD-ROM eject unsupported"
+msgstr ""
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s:获取 dm ĺŤç§°ĺ¤±č´Ą"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s:读链接失败"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "读失败:%s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "不ćŻä¸€ä¸Şĺť—设备ć–文件:%s"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "%s:umount 失败"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "无法设置 ç”¨ć· id"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "无法执行 %s"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "打不开 %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "挂载点 %s 不ćŻç›®ĺ˝•"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "ĺ°† %s ćŚ‚č˝˝ĺ° %s 失败"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "解ćžč¶…时失败"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "%s:未挂载"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr "%s 不ćŻä¸€ä¸Şĺť—设备"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "无法 stat 设备 %s"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "%s:无法探测设备"
+
+#: sys-utils/eject.c:973
+#, c-format
+msgid "device name is `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, c-format
+msgid "%s: not mounted"
+msgstr "%s:未挂载"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s 不ćŻä¸€ä¸Şĺť—设备"
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s 不ćŻä¸€ä¸Şĺť—设备"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "设备:%s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, c-format
+msgid "error: %s: device in use"
+msgstr ""
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "ć功"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "execv 失败"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+msgid "tape offline command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "无法执行 %s"
+
+#: sys-utils/fallocate.c:60
+#, c-format
+msgid " %s [options] <filename>\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:62
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr ""
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr ""
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr ""
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr ""
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr ""
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+msgid "timeout cannot be zero"
+msgstr ""
+
+#: sys-utils/flock.c:123
+#, c-format
+msgid "cannot open lock file %s"
+msgstr "不č˝ć‰“开é”文件 %s"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "ć— ć•ĺŹ‚数:%c"
+
+#: sys-utils/flock.c:226
+#, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s 需č¦ćźä¸€çš„命令行参数"
+
+#: sys-utils/flock.c:247
+msgid "requires file descriptor, file or directory"
+msgstr ""
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, c-format
+msgid " %s [options] <mount point>\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:46
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr "%s:不ćŻç›®ĺ˝•"
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr ""
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr ""
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "解ćžé•żĺş¦ĺ¤±č´ĄďĽš%s"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "解ćžĺŹç§»ĺ¤±č´ĄďĽš%s"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "č§Łćž time_t 值失败"
+
+#: sys-utils/fstrim.c:126
+msgid "no mountpoint specified."
+msgstr ""
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, c-format
+msgid "%s: not a directory"
+msgstr "%s:不ćŻä¸€ä¸Şç›®ĺ˝•"
+
+#: sys-utils/fstrim.c:145
+#, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s:FITRIM ioctl 失败"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, c-format
+msgid "cannot write %s"
+msgstr "无法写 %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "当地"
+
+#: sys-utils/hwclock.c:301
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr ""
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:576
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:617
+msgid "No --date option specified."
+msgstr ""
+
+#: sys-utils/hwclock.c:623
+msgid "--date argument too long"
+msgstr ""
+
+#: sys-utils/hwclock.c:630
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:652
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:707
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr ""
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+msgid "Must be superuser to set system clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr ""
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: sys-utils/hwclock.c:1028
+msgid "Drift adjustment parameters not updated."
+msgstr ""
+
+#: sys-utils/hwclock.c:1067
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr ""
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1302
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+
+#: sys-utils/hwclock.c:1319
+msgid "Unable to get the epoch value from the kernel."
+msgstr ""
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1326
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr ""
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1524
+msgid "Unable to connect to audit system"
+msgstr ""
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1667
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr ""
+
+#: sys-utils/hwclock.c:1680
+msgid "No usable set-to time. Cannot set clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1695
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1699
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr ""
+
+#: sys-utils/hwclock.c:1703
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr ""
+
+#: sys-utils/hwclock.c:1726
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr ""
+
+#: sys-utils/hwclock.c:1729
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:292
+#, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:319
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:324
+#, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:362
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:368
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:644
+msgid "I failed to get permission because I didn't try."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:647
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr ""
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+msgid "Timed out waiting for time change."
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr ""
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:195
+#, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:321
+#, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:389
+#, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:474
+#, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:499
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr ""
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+msgid " -Q, --queue create message queue\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+msgid "failed to parse size"
+msgstr "解ćžĺ¤§ĺ°Źĺ¤±č´Ą"
+
+#: sys-utils/ipcmk.c:114
+msgid "failed to parse elements"
+msgstr "解ćžĺ…素失败"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+msgid " -v, --verbose explain what is being done\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:80
+#, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:85
+#, c-format
+msgid "removing message queue id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:90
+#, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "键失败"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "ID 失败"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "ć— ć• ID:%s"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+msgid "not enough arguments"
+msgstr "参数不够"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:194
+#, c-format
+msgid "illegal key (%s)"
+msgstr ""
+
+#: sys-utils/ipcrm.c:252
+msgid "kernel not configured for shared memory"
+msgstr ""
+
+#: sys-utils/ipcrm.c:265
+msgid "kernel not configured for semaphores"
+msgstr ""
+
+#: sys-utils/ipcrm.c:279
+msgid "kernel not configured for message queues"
+msgstr ""
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, c-format
+msgid "unknown argument: %s"
+msgstr "未知参数:%s"
+
+#: sys-utils/ipcs.c:122
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:126
+msgid "Resource options:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "ćťé™"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "所有者"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "已连上"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "已断开"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "已更改"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+#, fuzzy
+msgid "key"
+msgstr "é”®"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "字节"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "状ć€"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr ""
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "目标"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "ĺ·˛é”定"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "发é€"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "接收"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "更改"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "ć¶ćŻ"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl 失败"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:630
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:634
+#, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "msgctl 失败"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:656
+#, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "semctl 失败"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:688
+#, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "值"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+msgid "invalid iflag"
+msgstr ""
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr " %s [选项] <ldisc> <设备>\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr ""
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr ""
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr ""
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr ""
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, c-format
+msgid ", offset %ju"
+msgstr ""
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, c-format
+msgid ", sizelimit %ju"
+msgstr ""
+
+#: sys-utils/losetup.c:85
+#, c-format
+msgid ", encryption %s (type %u)"
+msgstr ""
+
+#: sys-utils/losetup.c:120
+#, c-format
+msgid "%s: set capacity failed"
+msgstr "%s:设置容量失败"
+
+#: sys-utils/losetup.c:130
+#, c-format
+msgid "%s: detach failed"
+msgstr "%s:断开失败"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:169
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "%s:设置循环设备失败"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+msgid "no loop device specified"
+msgstr ""
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "%s:设置循环设备失败"
+
+#: sys-utils/losetup.c:359
+msgid "no file specified"
+msgstr ""
+
+#: sys-utils/losetup.c:366
+#, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr ""
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+msgid "couldn't lock into memory"
+msgstr ""
+
+#: sys-utils/losetup.c:391
+msgid "not found unused device"
+msgstr ""
+
+#: sys-utils/losetup.c:403
+#, c-format
+msgid "%s: failed to use backing file"
+msgstr "%s:使用ĺŽĺ¤‡ć–‡ä»¶ĺ¤±č´Ą"
+
+#: sys-utils/losetup.c:442
+msgid "find unused loop device failed"
+msgstr ""
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "ć— "
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "完全"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr "ć°´ĺął"
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr "ç«–ç›´"
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+msgid "logical core number"
+msgstr ""
+
+#: sys-utils/lscpu.c:239
+msgid "logical socket number"
+msgstr ""
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "错误:uname 失败"
+
+#: sys-utils/lscpu.c:551
+msgid "failed to allocate memory"
+msgstr "ĺ†é…Ťĺ†…ĺ­ĺ¤±č´Ą"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr "Y"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "N"
+msgstr "N"
+
+#: sys-utils/lscpu.c:947
+#, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+msgid "CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1160
+msgid "Socket(s) per book:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+msgid "Socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1188
+msgid "Hypervisor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr ""
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, c-format
+msgid "only root can use \"--%s\" option"
+msgstr ""
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+msgid "only root can do that"
+msgstr ""
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, c-format
+msgid "%s from %s (libmount %s"
+msgstr ""
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "%s:解ćžĺ‡şé”™ďĽšĺż˝ç•Ąç¬¬ %d 行的记录。"
+
+#: sys-utils/mount.c:158
+msgid "failed to read mtab"
+msgstr "读取 mtab 失败"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, c-format
+msgid "%-25s: already mounted\n"
+msgstr "%-25s:已经挂载\n"
+
+#: sys-utils/mount.c:367
+#, c-format
+msgid "only root can mount %s on %s"
+msgstr ""
+
+#: sys-utils/mount.c:370
+#, c-format
+msgid "%s is already mounted"
+msgstr "%s 已经挂载"
+
+#: sys-utils/mount.c:374
+#, c-format
+msgid "can't find %s in %s"
+msgstr ""
+
+#: sys-utils/mount.c:381
+#, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr ""
+
+#: sys-utils/mount.c:384
+#, c-format
+msgid "can't find mount source %s in %s"
+msgstr ""
+
+#: sys-utils/mount.c:389
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: sys-utils/mount.c:392
+msgid "you must specify the filesystem type"
+msgstr ""
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "不č˝čŻ» %s"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "ĺ°† %s ćŚ‚č˝˝ĺ° %s 失败"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "č§Łćž 'offset=%s' 选项失败\n"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "%s:设置循环设备失败"
+
+#: sys-utils/mount.c:416
+#, c-format
+msgid "%s: mount failed"
+msgstr "%s:挂载失败"
+
+#: sys-utils/mount.c:426
+#, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, c-format
+msgid "mount point %s is not a directory"
+msgstr "挂载点 %s 不ćŻç›®ĺ˝•"
+
+#: sys-utils/mount.c:447
+msgid "must be superuser to use mount"
+msgstr ""
+
+#: sys-utils/mount.c:455
+#, c-format
+msgid "%s is busy"
+msgstr ""
+
+#: sys-utils/mount.c:459
+#, c-format
+msgid "%s is already mounted or %s busy"
+msgstr ""
+
+#: sys-utils/mount.c:471
+#, c-format
+msgid " %s is already mounted on %s\n"
+msgstr ""
+
+#: sys-utils/mount.c:479
+#, c-format
+msgid "mount point %s does not exist"
+msgstr ""
+
+#: sys-utils/mount.c:481
+#, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: sys-utils/mount.c:486
+#, c-format
+msgid "special device %s does not exist"
+msgstr ""
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+msgid "mount(2) failed"
+msgstr "mount(2) 失败"
+
+#: sys-utils/mount.c:500
+#, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+
+#: sys-utils/mount.c:510
+#, c-format
+msgid "%s not mounted or bad option"
+msgstr ""
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "%s 不ćŻä¸€ä¸ŞćŚ‚载点\n"
+
+#: sys-utils/mount.c:514
+#, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+
+#: sys-utils/mount.c:520
+#, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+
+#: sys-utils/mount.c:524
+#, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+
+#: sys-utils/mount.c:533
+#, c-format
+msgid "%s: can't read superblock"
+msgstr "%s:不č˝čŻ»č¶…级块"
+
+# fuzzy
+#: sys-utils/mount.c:537
+#, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "未知的文件系统类型“%s”"
+
+#: sys-utils/mount.c:545
+#, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "%s 不ćŻĺť—设备,而且 stat(2) 失败?"
+
+#: sys-utils/mount.c:547
+#, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+
+#: sys-utils/mount.c:550
+#, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "%s 不ćŻĺť—设备(用 `-o loop' 试试?)"
+
+#: sys-utils/mount.c:552
+#, c-format
+msgid " %s is not a block device"
+msgstr "%s 不ćŻä¸€ä¸Şĺť—设备"
+
+#: sys-utils/mount.c:559
+#, c-format
+msgid "%s is not a valid block device"
+msgstr "%s 不ćŻä¸€ä¸Şćś‰ć•çš„块设备"
+
+#: sys-utils/mount.c:565
+#, c-format
+msgid "cannot mount %s read-only"
+msgstr ""
+
+#: sys-utils/mount.c:568
+#, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: sys-utils/mount.c:571
+#, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr ""
+
+#: sys-utils/mount.c:574
+#, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr ""
+
+#: sys-utils/mount.c:587
+#, c-format
+msgid "no medium found on %s"
+msgstr ""
+
+#: sys-utils/mount.c:591
+#, c-format
+msgid "mount %s on %s failed"
+msgstr "ĺ°† %s ćŚ‚č˝˝ĺ° %s 失败"
+
+#: sys-utils/mount.c:613
+#, c-format
+msgid "%s: failed to parse"
+msgstr "%s:解ćžĺ¤±č´Ą"
+
+#: sys-utils/mount.c:622
+#, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+msgid "libmount context allocation failed"
+msgstr ""
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+msgid "failed to append options"
+msgstr "追加选项失败"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "设置选项模式失败"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s 不ćŻä¸€ä¸ŞćŚ‚载点\n"
+
+#: sys-utils/mountpoint.c:208
+#, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s ćŻä¸€ä¸ŞćŚ‚载点\n"
+
+#: sys-utils/pivot_root.c:33
+#, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr ""
+
+#: sys-utils/pivot_root.c:71
+#, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr ""
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+msgid "max core file size"
+msgstr ""
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+msgid "blocks"
+msgstr "ĺť—"
+
+#: sys-utils/prlimit.c:72
+msgid "CPU time"
+msgstr ""
+
+#: sys-utils/prlimit.c:72
+msgid "seconds"
+msgstr "秒数"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+msgid "max file size"
+msgstr ""
+
+#: sys-utils/prlimit.c:75
+msgid "max number of file locks held"
+msgstr ""
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+msgid "max number of open files"
+msgstr ""
+
+#: sys-utils/prlimit.c:80
+msgid "max number of processes"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+msgid "pages"
+msgstr "页数"
+
+#: sys-utils/prlimit.c:82
+msgid "max real-time priority"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr "毫秒数"
+
+#: sys-utils/prlimit.c:84
+msgid "max number of pending signals"
+msgstr ""
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+msgid "resource name"
+msgstr ""
+
+#: sys-utils/prlimit.c:117
+msgid "resource description"
+msgstr ""
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+msgid "units"
+msgstr "单位"
+
+#: sys-utils/prlimit.c:156
+#, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr " %s [选项] [-p PID]\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr " %s [选项] COMMAND\n"
+
+#: sys-utils/prlimit.c:160
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, c-format
+msgid "failed to get old %s limit"
+msgstr "获取旧的 %s é™ĺ¶ĺ¤±č´Ą"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr "ć–°çš„ %s é™ĺ¶ďĽš"
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr "ć— é™ĺ¶"
+
+#: sys-utils/prlimit.c:365
+#, c-format
+msgid "failed to set the %s resource limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:366
+#, c-format
+msgid "failed to get the %s resource limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:445
+#, c-format
+msgid "failed to parse %s limit"
+msgstr "č§Łćž %s é™ĺ¶ĺ¤±č´Ą"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr ""
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, c-format
+msgid " \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+msgid " -i, --info print only info about the sampling step\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:115
+msgid " -v, --verbose print verbose data\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:116
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, c-format
+msgid "error writing %s"
+msgstr "写 %s 出错"
+
+#: sys-utils/readprofile.c:268
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr ""
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, c-format
+msgid "%s(%i): wrong map line"
+msgstr ""
+
+#: sys-utils/readprofile.c:310
+#, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr ""
+
+#: sys-utils/readprofile.c:343
+msgid "profile address out of range. Wrong map file?"
+msgstr ""
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "总计"
+
+#: sys-utils/renice.c:57
+#, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr ""
+
+#: sys-utils/renice.c:139
+#, c-format
+msgid "unknown user %s"
+msgstr "ćśŞçźĄç”¨ć· %s"
+
+#: sys-utils/renice.c:146
+#, c-format
+msgid "bad value %s"
+msgstr "错误值 %s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr "进程 ID"
+
+#: sys-utils/renice.c:161
+msgid "user ID"
+msgstr "ç”¨ć· ID"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr "进程组 ID"
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr ""
+
+#: sys-utils/renice.c:172
+#, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "设置 %d çš„äĽĺ…级失败(%s)"
+
+#: sys-utils/renice.c:182
+#, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:92
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:156
+msgid "read rtc time failed"
+msgstr "读取 rtc 时间失败"
+
+#: sys-utils/rtcwake.c:161
+msgid "read system time failed"
+msgstr "读取系统时间失败"
+
+#: sys-utils/rtcwake.c:179
+msgid "convert rtc time failed"
+msgstr "转换 rtc 时间失败"
+
+#: sys-utils/rtcwake.c:239
+msgid "set rtc alarm failed"
+msgstr "设置 rtc 闹钟失败"
+
+#: sys-utils/rtcwake.c:243
+msgid "enable rtc alarm failed"
+msgstr "ĺŻç”¨ rtc 闹钟失败"
+
+#: sys-utils/rtcwake.c:248
+msgid "set rtc wake alarm failed"
+msgstr "设置 rtc 唤醒闹钟失败"
+
+#: sys-utils/rtcwake.c:351
+msgid "read rtc alarm failed"
+msgstr "读取 rtc 闹钟失败"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr "闹钟:关\n"
+
+#: sys-utils/rtcwake.c:374
+msgid "convert time failed"
+msgstr "转换时间失败"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr "闹钟:于 %s"
+
+#: sys-utils/rtcwake.c:438
+#, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr ""
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "使用 UTC 时间。\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "使用当地时间。\n"
+
+#: sys-utils/rtcwake.c:491
+msgid "must provide wake time (see -t and -s options)"
+msgstr ""
+
+#: sys-utils/rtcwake.c:508
+#, c-format
+msgid "%s not enabled for wakeup events"
+msgstr ""
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, c-format
+msgid "time doesn't go backward to %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:547
+#, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:551
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:578
+#, c-format
+msgid "unable to execute %s"
+msgstr "无法执行 %s"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:592
+msgid "rtc read failed"
+msgstr "rtc 读失败"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:607
+#, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:620
+msgid "disable rtc alarm interrupt failed"
+msgstr ""
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:94
+#, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+
+#: sys-utils/setarch.c:100
+#, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+
+#: sys-utils/setarch.c:126
+#, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:128
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr ""
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "参数不够"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr ""
+
+#: sys-utils/setsid.c:28
+#, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr ""
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+msgid "fork"
+msgstr "fork"
+
+#: sys-utils/setsid.c:90
+msgid "setsid failed"
+msgstr "setsid 失败"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "设置选项模式失败"
+
+#: sys-utils/setsid.c:97
+msgid "execvp failed"
+msgstr "execvp 失败"
+
+#: sys-utils/swapoff.c:32
+#, c-format
+msgid "swapoff %s\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "非超级用ć·ă€‚"
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s:swapoff 失败"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr " %s [选项] [<spec>]\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr "ĺ é™¤ĺ†ĺŚş"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "设备的状ć€"
+
+#: sys-utils/swapon.c:91
+msgid "size of the swap area"
+msgstr ""
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "标记为已使用"
+
+#: sys-utils/swapon.c:93
+msgid "swap priority"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "execv 失败"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s:lseek 失败"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr ""
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr ""
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "不ĺŚ"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "相ĺŚ"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:461
+#, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr ""
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s:获取大小失败"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr ""
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: sys-utils/swapon.c:555
+#, c-format
+msgid "swapon %s\n"
+msgstr ""
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s:swapon 失败"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "解ćžĺ¤§ĺ°Źĺ¤±č´Ą"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr ""
+"\n"
+"可用ĺ—(用于 --output):\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:57
+msgid "failed to open directory"
+msgstr "打开目录失败"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "fstat 失败"
+
+#: sys-utils/switch_root.c:75
+msgid "failed to read directory"
+msgstr "读目录失败"
+
+#: sys-utils/switch_root.c:107
+#, c-format
+msgid "failed to unlink %s"
+msgstr "unlink %s 失败"
+
+#: sys-utils/switch_root.c:144
+#, c-format
+msgid "failed to mount moving %s to %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:146
+#, c-format
+msgid "forcing unmount of %s"
+msgstr ""
+
+#: sys-utils/switch_root.c:152
+#, c-format
+msgid "failed to change directory to %s"
+msgstr "ĺ°†ç›®ĺ˝•ć›´ć”ąĺ° %s 失败"
+
+#: sys-utils/switch_root.c:160
+#, c-format
+msgid "failed to mount moving %s to /"
+msgstr ""
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "更改 root 失败"
+
+#: sys-utils/switch_root.c:185
+#, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr ""
+
+#: sys-utils/switch_root.c:217
+msgid "failed. Sorry."
+msgstr "失败了。抱歉。"
+
+#: sys-utils/switch_root.c:220
+#, c-format
+msgid "cannot access %s"
+msgstr "无法访问 %s"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+msgid " -s, --status query printer status\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+msgid " -r, --reset reset the port\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+msgid "bad value"
+msgstr ""
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s ä¸ŤćŻ lp 设备"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "LPGETSTATUS 出错"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s 状ć€ä¸ş %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ",忙碌"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ",就绪"
+
+#: sys-utils/tunelp.c:302
+#, fuzzy, c-format
+msgid ", out of paper"
+msgstr ",缺页"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ""
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ""
+
+#: sys-utils/tunelp.c:312
+msgid "ioctl failed"
+msgstr "ioctl 失败"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ 出错"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s 使用中断请求 %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s 使用轮询\n"
+
+#: sys-utils/umount.c:73
+#, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, c-format
+msgid "%s: umount failed"
+msgstr "%s:umount 失败"
+
+#: sys-utils/umount.c:188
+#, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr ""
+
+#: sys-utils/umount.c:202
+#, c-format
+msgid "%s: invalid block device"
+msgstr "%s:无ć•çš„块设备"
+
+#: sys-utils/umount.c:208
+#, c-format
+msgid "%s: can't write superblock"
+msgstr "%s:无法写超级块"
+
+#: sys-utils/umount.c:211
+#, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+
+#: sys-utils/umount.c:220
+#, c-format
+msgid "%s: must be superuser to umount"
+msgstr ""
+
+#: sys-utils/umount.c:223
+#, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr ""
+
+#: sys-utils/umount.c:272
+msgid "failed to set umount target"
+msgstr ""
+
+#: sys-utils/unshare.c:60
+#, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr ""
+
+#: sys-utils/unshare.c:63
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "unshare 失败"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "失败"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+msgid "Pretimeout (in seconds)"
+msgstr ""
+
+#: sys-utils/wdctl.c:54
+msgid "Set timeout (in seconds)"
+msgstr ""
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+msgid "flag description"
+msgstr ""
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "状ć€"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "stat %s 失败"
+
+#: sys-utils/wdctl.c:74
+msgid "watchdog device name"
+msgstr ""
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "未知参数:%s"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr " %s [选项] <设备> [...]\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, c-format
+msgid "The default device is %s.\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr ""
+"\n"
+"可用的ĺ—:\n"
+
+#: sys-utils/wdctl.c:254
+#, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s:获取设备路径失败"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "无法获取 %s 的超时"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s:获取ĺ†ĺŚşĺŹ·ĺ¤±č´Ą"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, c-format
+msgid "%-15s%2i seconds\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+msgid "Pre-timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "设备"
+
+#: sys-utils/wdctl.c:565
+#, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr ""
+
+#: term-utils/agetty.c:435
+#, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s:无法更改根目录 %s:%m"
+
+#: term-utils/agetty.c:440
+#, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr ""
+
+#: term-utils/agetty.c:445
+#, c-format
+msgid "%s: can't change process priority: %m"
+msgstr ""
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr ""
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, c-format
+msgid "failed to allocate memory: %m"
+msgstr "ĺ†é…Ťĺ†…ĺ­ĺ¤±č´ĄďĽš%m"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr ""
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "速度有误:%s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr ""
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr ""
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr ""
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr ""
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s:dup é—®é˘ďĽš%m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr "Num Lock ĺ…ł"
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr "Num Lock 开"
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr "Caps Lock 开"
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr "Scroll Lock 开"
+
+#: term-utils/agetty.c:1287
+#, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s:read:%m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s:输入过载"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "用ć·"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "用ć·"
+
+#: term-utils/mesg.c:74
+#, c-format
+msgid " %s [options] [y | n]\n"
+msgstr " %s [选项] [y | n]\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+msgid "ttyname failed"
+msgstr "ttyname 失败"
+
+#: term-utils/mesg.c:128
+msgid "is y"
+msgstr ""
+
+#: term-utils/mesg.c:131
+msgid "is n"
+msgstr ""
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, c-format
+msgid "change %s mode failed"
+msgstr "更改 %s 模式失败"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "ć— ć•ĺŹ‚数:%c"
+
+#: term-utils/script.c:122
+#, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+
+#: term-utils/script.c:132
+#, c-format
+msgid " %s [options] [file]\n"
+msgstr " %s [选项] [文件]\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "脚本ĺŻĺŠ¨äşŽ %s"
+
+#: term-utils/script.c:401
+msgid "cannot write script file"
+msgstr ""
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: term-utils/script.c:513
+msgid "openpty failed"
+msgstr "openpty 失败"
+
+#: term-utils/script.c:549
+msgid "out of pty's"
+msgstr ""
+
+#: term-utils/scriptreplay.c:42
+#, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr ""
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:185
+msgid "wrong number of arguments"
+msgstr ""
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr ""
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: term-utils/setterm.c:674
+msgid "Argument error."
+msgstr "参数出错。"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+msgid "cannot force blank"
+msgstr ""
+
+#: term-utils/setterm.c:1076
+msgid "cannot force unblank"
+msgstr ""
+
+#: term-utils/setterm.c:1082
+msgid "cannot get blank status"
+msgstr ""
+
+#: term-utils/setterm.c:1094
+msgid "cannot (un)set powersave mode"
+msgstr ""
+
+#: term-utils/setterm.c:1114
+#, c-format
+msgid "can not open dump file %s for output"
+msgstr "无法打开转储文件 %s 进行输出"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+msgid "klogctl error"
+msgstr "klogctl 出错"
+
+#: term-utils/setterm.c:1205
+msgid "Error writing screendump"
+msgstr ""
+
+#: term-utils/setterm.c:1212
+#, c-format
+msgid "Couldn't read %s"
+msgstr "无法读 %s"
+
+#: term-utils/setterm.c:1266
+msgid "$TERM is not defined."
+msgstr ""
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, c-format
+msgid "%s: unknown terminal type"
+msgstr ""
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr ""
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "ć— ćł• fork"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr ""
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, c-format
+msgid " %s [options] [<file>]\n"
+msgstr " %s [选项] [<文件>]\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, c-format
+msgid "invalid timeout argument: %s"
+msgstr ""
+
+#: term-utils/wall.c:202
+msgid "cannot get passwd uid"
+msgstr ""
+
+#: term-utils/wall.c:207
+msgid "cannot get tty name"
+msgstr "无法获得 tty ĺŤç§°"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr ""
+
+#: term-utils/wall.c:243
+#, c-format
+msgid "will not read %s - use stdin."
+msgstr ""
+
+#: term-utils/wall.c:275
+msgid "fread failed"
+msgstr "fread 失败"
+
+#: term-utils/write.c:81
+#, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr ""
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+msgid "can't find your tty's name"
+msgstr ""
+
+#: term-utils/write.c:150
+msgid "you have write permission turned off"
+msgstr ""
+
+#: term-utils/write.c:168
+#, c-format
+msgid "%s is not logged in on %s"
+msgstr ""
+
+#: term-utils/write.c:174
+#, c-format
+msgid "%s has messages disabled on %s"
+msgstr ""
+
+#: term-utils/write.c:269
+#, c-format
+msgid "%s is not logged in"
+msgstr "%s 未登录"
+
+#: term-utils/write.c:276
+#, c-format
+msgid "%s has messages disabled"
+msgstr ""
+
+#: term-utils/write.c:278
+#, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr ""
+
+#: term-utils/write.c:326
+#, c-format
+msgid "tty path %s too long"
+msgstr "tty 路径 %s 过长"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr ""
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr ""
+
+#: term-utils/write.c:372
+msgid "carefulputc failed"
+msgstr "carefulputc 失败"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+msgid "write error."
+msgstr "写出错。"
+
+#: text-utils/col.c:199
+msgid "bad -l argument"
+msgstr "-l 参数有误"
+
+#: text-utils/col.c:324
+#, c-format
+msgid "warning: can't back up %s."
+msgstr ""
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr ""
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr ""
+
+#: text-utils/colcrt.c:314
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %s [选项] [文件 ...]\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"用法\n"
+" %s [čµ·ĺ§‹ĺ— [结束ĺ—]]\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+msgid "first argument"
+msgstr "第一个参数"
+
+#: text-utils/colrm.c:187
+msgid "second argument"
+msgstr "第二个参数"
+
+#: text-utils/column.c:90
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr ""
+"\n"
+"用法:%s [选项] [文件 ...]\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "ć— ć•çš„ divisor(除数) 参数"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+msgid "all input file arguments failed"
+msgstr ""
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %s [选项] 文件 ...\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr ""
+"用法:%s [选项] 文件...\n"
+"\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, c-format
+msgid "more (%s)\n"
+msgstr "更多(%s)\n"
+
+#: text-utils/more.c:544
+#, c-format
+msgid "unknown option -%s"
+msgstr "未知选项 -%s"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[使用 q ć– Q 退出]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr ""
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(下个文件:%s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr ""
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...ĺŽé€€ %d 页"
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...ĺŽé€€ 1 页"
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...跳过一行"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...跳过 %d 行"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "无上一个文件"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr ""
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "“%s”第 %d 行"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[不ćŻć–‡ä»¶] 第 %d 行"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " 上溢\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...跳过\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "找不ĺ°ć¨ˇĺĽŹ"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "exec 失败\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "ć— ćł• fork\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...č·łĺ°ć–‡ä»¶ "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr ""
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "行过长"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "行过长"
+
+#: text-utils/parse.c:400
+msgid "byte count with multiple conversion characters"
+msgstr ""
+
+#: text-utils/parse.c:479
+#, c-format
+msgid "bad byte count for conversion character %s"
+msgstr ""
+
+#: text-utils/parse.c:484
+#, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr ""
+
+#: text-utils/parse.c:489
+#, c-format
+msgid "bad format {%s}"
+msgstr "格式损坏 {%s}"
+
+#: text-utils/parse.c:494
+#, c-format
+msgid "bad conversion character %%%s"
+msgstr ""
+
+#: text-utils/pg.c:147
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr " %s [选项] [文件]\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+msgid " -e do not pause at end of a file\n"
+msgstr ""
+
+#: text-utils/pg.c:230
+msgid " -f do not split long lines\n"
+msgstr ""
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+msgid " -s print messages to stdout\n"
+msgstr ""
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+msgid " -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "无下一个文件"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "无上一个文件"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr ""
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr ""
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "打不开 %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "已保ĺ­"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr ""
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(下个文件:"
+
+#: text-utils/rev.c:77
+#, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "用法:%s [选项] [文件 ...]\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:198
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %s [选项] 文件\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+msgid "failed to parse number of lines"
+msgstr "解ćžčˇŚć•°ĺ¤±č´Ą"
+
+#: text-utils/tailf.c:275
+msgid "no input file specified"
+msgstr ""
+
+#: text-utils/ul.c:136
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %s [选项] [文件...]\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr ""
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr ""
+
+#: text-utils/ul.c:648
+msgid "Input line too long."
+msgstr "输入行过长。"
+
+#~ msgid "cannot open file %s"
+#~ msgstr "打不开 %s 文件"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "用法: %s [-hv] [-x dir] file\n"
+#~ " -h 打印帮助信ćŻ\n"
+#~ " -x dir č§ŁĺĽ€ĺ° dir 目录\n"
+#~ " -v 更多输出信ćŻ\n"
+#~ " file 用于测试的文件\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "打开失败:%s"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "用法: %s [-larvsmf] /dev/name\n"
+
+#~ msgid "unable to open '%s': %m"
+#~ msgstr "无法打开“%s”:%m"
+
+#~ msgid "failed to open %s"
+#~ msgstr "无法打开 %s"
+
+#~ msgid "cannot stat %s"
+#~ msgstr "ć— ćł• stat %s"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s:打开失败"
+
+#~ msgid "%s: failed to open"
+#~ msgstr "%s:打开失败"
+
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "用法:%s [选项] <设备>\n"
+#~ "\n"
+#~ "选项有:\n"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "çŁç›ć—˘ćś‰ DOS 魔数ĺŹćś‰ BSD 魔数。\n"
+#~ "请用“bâ€ťĺ‘˝ä»¤č˝¬ĺ° BSD 模式。\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "打不开 %s\n"
+
+#~ msgid "couldn't open %s"
+#~ msgstr "打不开 %s"
+
+#~ msgid "error: cannot open %s"
+#~ msgstr "错误:打不开 %s"
+
+#~ msgid "failed to parse sigval"
+#~ msgstr "č§Łćž sigval 失败"
+
+#~ msgid "failed to parse port number"
+#~ msgstr "解ćžç«ŻĺŹŁĺŹ·ĺ¤±č´Ą"
+
+#~ msgid "Could not open %s"
+#~ msgstr "打不开 %s"
+
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "警告:读取 mtab 失败"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "解ćžç±»ć•°ćŤ®ĺ¤±č´Ą"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "解ćžç±»ĺ¤±č´Ą"
+
+#~ msgid "failed to parse buffer size"
+#~ msgstr "解ćžçĽ“冲区大小失败"
+
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s:fstat 失败"
+
+#~ msgid "failed to setup loop device"
+#~ msgstr "设置循环设备失败"
+
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "ĺ†é…ŤćşçĽ“冲区失败"
+
+#~ msgid "cannot parse PID"
+#~ msgstr "ć— ćł•č§Łćž PID"
+
+#~ msgid "failed to parse seconds value"
+#~ msgstr "解ćžç§’数值失败"
+
+#~ msgid "failed to stat directory"
+#~ msgstr "stat 目录失败"
+
+#~ msgid "stat %s failed"
+#~ msgstr "stat %s 失败"
+
+#~ msgid "bad length value"
+#~ msgstr "长度值有误"
+
+#~ msgid "bad skip value"
+#~ msgstr "跳转值有误"
+
+#~ msgid "Cannot open "
+#~ msgstr "打不开 "
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "无法打开“%s”进行读入"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "无法 stat “%s”"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [devices]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] commands devices\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "用法: %s [ -n ] device\n"
+
+#, fuzzy
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s: 不č˝ć‰“开 %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr "用法:\n"
+
+#, fuzzy
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "不č˝ä¸ş inodes ĺ†é…ŤçĽ“冲区"
+
+#, fuzzy
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "用法: %s [ -n ] device\n"
+
+#, fuzzy
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s 失败.\n"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
new file mode 100644
index 0000000..1178b1a
--- /dev/null
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644
index 0000000..ef4bb65
--- /dev/null
+++ b/po/zh_TW.po
@@ -0,0 +1,17762 @@
+# Traditional Chinese Messages for util-linux-ng.
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux-ng package.
+# Wei-Lun Chao <chaoweilun@gmail.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.18-rc2\n"
+"Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n"
+"POT-Creation-Date: 2012-09-04 13:54+0200\n"
+"PO-Revision-Date: 2010-08-22 00:14+0800\n"
+"Last-Translator: Wei-Lun Chao <chaoweilun@gmail.com>\n"
+"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: disk-utils/addpart.c:14
+#, c-format
+msgid " %s <disk device> <partition number> <start> <length>\n"
+msgstr ""
+
+#: disk-utils/addpart.c:52 disk-utils/blockdev.c:276 disk-utils/blockdev.c:420
+#: disk-utils/blockdev.c:445 disk-utils/delpart.c:53 disk-utils/fdformat.c:62
+#: disk-utils/fdformat.c:155 disk-utils/fsck.c:1364
+#: disk-utils/fsck.cramfs.c:146 disk-utils/fsck.cramfs.c:498
+#: disk-utils/isosize.c:126 disk-utils/mkfs.bfs.c:184
+#: disk-utils/mkfs.cramfs.c:660 disk-utils/mkfs.cramfs.c:786
+#: disk-utils/mkfs.minix.c:762 disk-utils/partx.c:840
+#: disk-utils/resizepart.c:95 disk-utils/swaplabel.c:105 fdisks/cfdisk.c:1823
+#: fdisks/cfdisk.c:1941 fdisks/cfdisk.c:2025 fdisks/fdisk.c:1610
+#: fdisks/fdisk.c:1794 fdisks/fdisk.c:1909 lib/path.c:58 lib/path.c:70
+#: login-utils/islocal.c:87 login-utils/last.c:245 login-utils/sulogin.c:216
+#: login-utils/sulogin.c:254 login-utils/sulogin.c:524
+#: login-utils/sulogin.c:559 login-utils/utmpdump.c:118
+#: login-utils/utmpdump.c:343 login-utils/vipw.c:268 login-utils/vipw.c:286
+#: misc-utils/findmnt.c:896 misc-utils/mcookie.c:147 misc-utils/mcookie.c:181
+#: sys-utils/cytune.c:178 sys-utils/cytune.c:404 sys-utils/cytune.c:418
+#: sys-utils/cytune.c:434 sys-utils/dmesg.c:436 sys-utils/eject.c:500
+#: sys-utils/eject.c:691 sys-utils/fallocate.c:153 sys-utils/fsfreeze.c:104
+#: sys-utils/fstrim.c:142 sys-utils/hwclock-cmos.c:637
+#: sys-utils/hwclock-rtc.c:162 sys-utils/hwclock-rtc.c:256
+#: sys-utils/hwclock-rtc.c:420 sys-utils/hwclock-rtc.c:441
+#: sys-utils/hwclock-rtc.c:488 sys-utils/ldattach.c:293
+#: sys-utils/losetup.c:118 sys-utils/rtcwake.c:119 sys-utils/rtcwake.c:279
+#: sys-utils/rtcwake.c:517 sys-utils/swapon.c:310 sys-utils/swapon.c:477
+#: sys-utils/wdctl.c:286 sys-utils/wdctl.c:340 term-utils/script.c:208
+#: term-utils/script.c:233 term-utils/script.c:560
+#: term-utils/scriptreplay.c:197 term-utils/scriptreplay.c:200
+#: term-utils/wall.c:247 text-utils/rev.c:131 text-utils/tailf.c:62
+#: text-utils/tailf.c:99 text-utils/ul.c:231
+#, c-format
+msgid "cannot open %s"
+msgstr "無法開啟 %s"
+
+#: disk-utils/addpart.c:55 disk-utils/delpart.c:56 disk-utils/resizepart.c:92
+#, fuzzy
+msgid "invalid partition number argument"
+msgstr "無ć•çš„é¸é …"
+
+#: disk-utils/addpart.c:56
+#, fuzzy
+msgid "invalid start argument"
+msgstr "無ć•çš„é¸é …"
+
+#: disk-utils/addpart.c:57 disk-utils/resizepart.c:102
+#, fuzzy
+msgid "invalid length argument"
+msgstr "無ć•çš„é¸é …"
+
+#: disk-utils/addpart.c:58
+#, fuzzy
+msgid "failed to add partition"
+msgstr "重新讀取ĺ†ĺ‰˛čˇ¨"
+
+#: disk-utils/blockdev.c:62
+msgid "set read-only"
+msgstr "設定唯讀"
+
+#: disk-utils/blockdev.c:69
+msgid "set read-write"
+msgstr "設定可讀寫"
+
+#: disk-utils/blockdev.c:75
+msgid "get read-only"
+msgstr "取得唯讀"
+
+#: disk-utils/blockdev.c:81
+msgid "get discard zeroes support status"
+msgstr ""
+
+#: disk-utils/blockdev.c:87
+msgid "get logical block (sector) size"
+msgstr "取得邏輯區塊 (çŁĺŤ€) 大小"
+
+#: disk-utils/blockdev.c:93
+msgid "get physical block (sector) size"
+msgstr "取得實際區塊 (çŁĺŤ€) 大小"
+
+#: disk-utils/blockdev.c:99
+msgid "get minimum I/O size"
+msgstr "取得最小 I/O 大小"
+
+#: disk-utils/blockdev.c:105
+msgid "get optimal I/O size"
+msgstr "取得最佳化 I/O 大小"
+
+#: disk-utils/blockdev.c:111
+#, fuzzy
+msgid "get alignment offset in bytes"
+msgstr "取得對齊ĺŹç§»ĺ€Ľ"
+
+#: disk-utils/blockdev.c:117
+msgid "get max sectors per request"
+msgstr "取得單一č¦ć±‚最大çŁĺŤ€"
+
+#: disk-utils/blockdev.c:123
+msgid "get blocksize"
+msgstr "取得區塊大小"
+
+#: disk-utils/blockdev.c:130
+msgid "set blocksize"
+msgstr "設定區塊大小"
+
+#: disk-utils/blockdev.c:136
+#, fuzzy
+msgid "get 32-bit sector count (deprecated, use --getsz)"
+msgstr "取得 32-bit çŁĺŤ€ć•¸"
+
+#: disk-utils/blockdev.c:142
+msgid "get size in bytes"
+msgstr "以位ĺ…組為單位取得大小"
+
+#: disk-utils/blockdev.c:149
+msgid "set readahead"
+msgstr "設定é ĺ…讀取"
+
+#: disk-utils/blockdev.c:155
+msgid "get readahead"
+msgstr "取得é ĺ…讀取"
+
+#: disk-utils/blockdev.c:162
+msgid "set filesystem readahead"
+msgstr "設定檔ćˇçł»çµ±é ĺ…讀取"
+
+#: disk-utils/blockdev.c:168
+msgid "get filesystem readahead"
+msgstr "取得檔ćˇçł»çµ±é ĺ…讀取"
+
+#: disk-utils/blockdev.c:172
+msgid "flush buffers"
+msgstr "清ç†ç·©čˇťĺŤ€"
+
+#: disk-utils/blockdev.c:176
+msgid "reread partition table"
+msgstr "重新讀取ĺ†ĺ‰˛čˇ¨"
+
+#: disk-utils/blockdev.c:183
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s -V\n"
+" %1$s --report [devices]\n"
+" %1$s [-v|-q] commands devices\n"
+"\n"
+"Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:189
+#, fuzzy, c-format
+msgid " %-25s get size in 512-byte sectors\n"
+msgstr "以 512 位ĺ…組為單位取得大小"
+
+#: disk-utils/blockdev.c:232 disk-utils/isosize.c:198 disk-utils/mkfs.c:60
+#: disk-utils/mkfs.minix.c:668 misc-utils/ddate.c:183
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/blockdev.c:311
+#, fuzzy
+msgid "could not get device size"
+msgstr "無法取得çŁç˘źĺ¤§ĺ°Ź"
+
+#: disk-utils/blockdev.c:317
+#, fuzzy, c-format
+msgid "Unknown command: %s"
+msgstr "%s:不ćŽçš„命令:%s\n"
+
+#: disk-utils/blockdev.c:333
+#, fuzzy, c-format
+msgid "%s requires an argument"
+msgstr "%s 需č¦ä¸€ĺ€‹ĺĽ•ć•¸\n"
+
+#: disk-utils/blockdev.c:370
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s 失敗。\n"
+
+#: disk-utils/blockdev.c:377
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s ć功。\n"
+
+#: disk-utils/blockdev.c:461
+#, fuzzy, c-format
+msgid "ioctl error on %s"
+msgstr "%s:ioctl 錯誤發生於 %s\n"
+
+#: disk-utils/blockdev.c:469
+#, c-format
+msgid "RO RA SSZ BSZ StartSec Size Device\n"
+msgstr "RO RA SSZ BSZ 起始çŁĺŤ€ 大小 裝置\n"
+
+#: disk-utils/delpart.c:14
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number>\n"
+msgstr "用法:sfdisk --id 裝置 ĺ†ĺ‰˛ĺŤ€ç·¨č™ź [č­ĺĄč™ź]\n"
+
+#: disk-utils/delpart.c:57
+#, fuzzy
+msgid "failed to remove partition"
+msgstr "重新讀取ĺ†ĺ‰˛čˇ¨"
+
+#: disk-utils/elvtune.c:56
+#, c-format
+msgid "usage:\n"
+msgstr "用法:\n"
+
+#: disk-utils/elvtune.c:61
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\t註č¨ďĽšelvtune 只é©ç”¨ć–Ľ 2.4 內核\n"
+
+#: disk-utils/elvtune.c:116
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "缺少區塊裝置,使用 -h 以獲得說ćŽ\n"
+
+#: disk-utils/elvtune.c:137
+#, c-format
+msgid ""
+"\n"
+"elvtune is only useful on older kernels;\n"
+"for 2.6 use IO scheduler sysfs tunables instead..\n"
+msgstr ""
+"\n"
+" elvtune 只é©ç”¨ć–ĽčŠçš„內核;\n"
+"ć–Ľ 2.6 請使用 IO 排程程式 sysfs tunables ĺšç‚şć›żä»Łă€‚\n"
+
+#: disk-utils/fdformat.c:28
+#, c-format
+msgid "Formatting ... "
+msgstr "格式化中…"
+
+#: disk-utils/fdformat.c:48 disk-utils/fdformat.c:88
+#, c-format
+msgid "done\n"
+msgstr "已完ć\n"
+
+#: disk-utils/fdformat.c:59
+#, c-format
+msgid "Verifying ... "
+msgstr "驗證中…"
+
+#: disk-utils/fdformat.c:71
+msgid "Read: "
+msgstr "讀取:"
+
+#: disk-utils/fdformat.c:73
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "問題發生在讀取第 %d 個çŁćź±ć™‚,é č¨čł‡ć–™ç‚ş %d,實際讀取資料為 %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"第 %d 個çŁćź±ćś‰ĺŁžčł‡ć–™ă€‚\n"
+"繼續進行..."
+
+#: disk-utils/fdformat.c:95
+#, fuzzy, c-format
+msgid "Usage: %s [options] device\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: disk-utils/fdformat.c:98
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --no-verify disable the verification after the format\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:131 disk-utils/fsck.c:1507 disk-utils/mkfs.bfs.c:89
+#: disk-utils/mkfs.cramfs.c:763 fdisks/sfdisk.c:2633 include/c.h:248
+#: misc-utils/cal.c:353 misc-utils/getopt.c:431 misc-utils/kill.c:193
+#: misc-utils/logger.c:264 misc-utils/look.c:126 misc-utils/lsblk.c:1360
+#: misc-utils/mcookie.c:119 misc-utils/namei.c:466 misc-utils/rename.c:101
+#: misc-utils/uuidd.c:580 misc-utils/uuidgen.c:77 misc-utils/whereis.c:466
+#: misc-utils/wipefs.c:438 schedutils/ionice.c:171 sys-utils/chcpu.c:307
+#: sys-utils/cytune.c:378 sys-utils/dmesg.c:1150 sys-utils/hwclock.c:1342
+#: sys-utils/lscpu.c:1315 term-utils/agetty.c:672 term-utils/mesg.c:108
+#: term-utils/script.c:212 term-utils/scriptreplay.c:172
+#: term-utils/setterm.c:812 term-utils/wall.c:133 term-utils/write.c:112
+#: text-utils/col.c:208 text-utils/colcrt.c:118 text-utils/colrm.c:174
+#: text-utils/column.c:146 text-utils/hexsyntax.c:103 text-utils/rev.c:114
+#: text-utils/tailf.c:265 text-utils/ul.c:195
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s 來自 %s\n"
+
+#: disk-utils/fdformat.c:146 disk-utils/fsck.cramfs.c:142
+#: disk-utils/mkfs.bfs.c:177 disk-utils/mkfs.cramfs.c:748
+#: disk-utils/mkfs.cramfs.c:783 disk-utils/mkfs.minix.c:755
+#: disk-utils/partx.c:779 misc-utils/namei.c:231 sys-utils/dmesg.c:438
+#: sys-utils/fsfreeze.c:107 sys-utils/fstrim.c:136 sys-utils/swapon.c:446
+#: sys-utils/switch_root.c:88 sys-utils/switch_root.c:128
+#: term-utils/mesg.c:124 text-utils/tailf.c:102 text-utils/tailf.c:280
+#, fuzzy, c-format
+msgid "stat failed %s"
+msgstr "狀態取得失敗:%s"
+
+#: disk-utils/fdformat.c:149 disk-utils/partx.c:837 misc-utils/lsblk.c:1077
+#: sys-utils/mountpoint.c:107
+#, fuzzy, c-format
+msgid "%s: not a block device"
+msgstr "%s:不ćŻĺŤ€ĺˇŠčŁťç˝®\n"
+
+#: disk-utils/fdformat.c:151
+#, fuzzy, c-format
+msgid "cannot access file %s"
+msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#: disk-utils/fdformat.c:157
+msgid "Could not determine current format type"
+msgstr "無法決定目前的格式類型"
+
+#: disk-utils/fdformat.c:159
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s面ă€%d çŁč»Śă€%d çŁĺŤ€/çŁč»Śă€‚總容量 %d kB。\n"
+
+#: disk-utils/fdformat.c:160
+msgid "Double"
+msgstr "é›™"
+
+#: disk-utils/fdformat.c:160
+msgid "Single"
+msgstr "ĺ–®"
+
+#: disk-utils/fsck.c:191
+#, fuzzy, c-format
+msgid "%s is mounted\n"
+msgstr "%s 已掛載。\t"
+
+#: disk-utils/fsck.c:193
+#, fuzzy, c-format
+msgid "%s is not mounted\n"
+msgstr "fsck:%s:找不ĺ°\n"
+
+#: disk-utils/fsck.c:307 lib/path.c:98 lib/path.c:119 lib/path.c:165
+#, c-format
+msgid "failed to read: %s"
+msgstr "讀取時失敗:%s"
+
+#: disk-utils/fsck.c:309 lib/path.c:121
+#, c-format
+msgid "parse error: %s"
+msgstr "剖ćžéŚŻčŞ¤ďĽš%s"
+
+#: disk-utils/fsck.c:329
+#, fuzzy, c-format
+msgid "Locking disk %s ... "
+msgstr "ĺŚć­ĄçŁç˘źă€‚\n"
+
+#: disk-utils/fsck.c:339
+#, c-format
+msgid "(waiting) "
+msgstr ""
+
+#. TRANSLATORS: These are followups to "Locking disk...".
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "succeeded"
+msgstr "%s ć功。\n"
+
+#: disk-utils/fsck.c:349
+#, fuzzy
+msgid "failed"
+msgstr "%s 失敗。\n"
+
+#: disk-utils/fsck.c:386
+#, fuzzy, c-format
+msgid "failed to setup description for %s"
+msgstr "讀取 typescript ćŞ”ćˇ %s 時失敗"
+
+#: disk-utils/fsck.c:412
+#, fuzzy, c-format
+msgid "%s: parse error at line %d -- ignore"
+msgstr "剖ćžéŚŻčŞ¤ç™Ľç”źć–Ľĺ—號:"
+
+#: disk-utils/fsck.c:441 disk-utils/fsck.c:443
+#, fuzzy, c-format
+msgid "%s: failed to parse fstab"
+msgstr "%s:無法開啟"
+
+#: disk-utils/fsck.c:584 sys-utils/umount.c:217
+#, fuzzy, c-format
+msgid "%s: not found"
+msgstr "fsck:%s:找不ĺ°\n"
+
+#: disk-utils/fsck.c:610 login-utils/login.c:1085 login-utils/vipw.c:212
+#: sys-utils/flock.c:314 sys-utils/swapon.c:267 term-utils/script.c:264
+#: term-utils/script.c:274
+msgid "fork failed"
+msgstr "衍生執行時失敗"
+
+#: disk-utils/fsck.c:617
+#, fuzzy, c-format
+msgid "%s: execute failed"
+msgstr "%s:凍çµć™‚失敗"
+
+#: disk-utils/fsck.c:705
+#, fuzzy
+msgid "wait: no more child process?!?"
+msgstr "%s:等待:沒有更多ĺ­é€˛ç¨‹ ?!?\n"
+
+#: disk-utils/fsck.c:708
+#, fuzzy
+msgid "waidpid failed"
+msgstr "waitpid 失敗"
+
+#: disk-utils/fsck.c:726
+#, fuzzy, c-format
+msgid "Warning... %s for device %s exited with signal %d."
+msgstr "警告…%s 用於裝置 %s 已用信號 %d 離開。\n"
+
+#: disk-utils/fsck.c:732
+#, fuzzy, c-format
+msgid "%s %s: status is %x, should never happen."
+msgstr "%s %sďĽšç‹€ć…‹ćŻ %x,應該永é ä¸Ťćśç™Ľç”źă€‚\n"
+
+#: disk-utils/fsck.c:778
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "以 %s 完ć (離開狀態 %d)\n"
+
+#: disk-utils/fsck.c:840
+#, fuzzy, c-format
+msgid "error %d while executing fsck.%s for %s"
+msgstr "%s:錯誤 %d 當執行 fsck.%s 用於 %s\n"
+
+#: disk-utils/fsck.c:909
+#, fuzzy
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'."
+msgstr ""
+"當檔ćˇçł»çµ±éˇžĺž‹ĺ‚łéžçµ¦ -t 時必é ĺ…¨é¨ć–ćŻć˛’有任何一項\n"
+"加上前綴「no」ć–「!」。\n"
+
+#: disk-utils/fsck.c:1026
+#, fuzzy, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number"
+msgstr "%sďĽšč·łéŽ /etc/fstab 中不當的ĺ—:以非零值 fsck 通éŽć•¸ĺ­—連çµćŽ›čĽ‰\n"
+
+#: disk-utils/fsck.c:1038
+#, c-format
+msgid "%s: skipping nonexistent device\n"
+msgstr "%s:跳éŽä¸Ťĺ­ĺś¨çš„裝置\n"
+
+#: disk-utils/fsck.c:1043
+#, c-format
+msgid ""
+"%s: nonexistent device (\"nofail\" fstab option may be used to skip this "
+"device)\n"
+msgstr ""
+
+#: disk-utils/fsck.c:1060
+#, fuzzy, c-format
+msgid "%s: skipping unknown filesystem type\n"
+msgstr "mount:不ćŽçš„檔ćˇçł»çµ±éˇžĺž‹ă€Ś%s」"
+
+#: disk-utils/fsck.c:1079
+#, fuzzy, c-format
+msgid "cannot check %s: fsck.%s not found"
+msgstr "fsck:無法檢查 %sďĽšć‰ľä¸Ťĺ° fsck.%s\n"
+
+#: disk-utils/fsck.c:1168
+#, fuzzy
+msgid "failed to allocate iterator"
+msgstr "配置輸出緩衝區時失敗"
+
+#: disk-utils/fsck.c:1183
+msgid "Checking all file systems.\n"
+msgstr "檢查所有檔ćˇçł»çµ±ă€‚\n"
+
+#: disk-utils/fsck.c:1274
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--等待-- (é€šéŽ %d)\n"
+
+#: disk-utils/fsck.c:1298
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [fsck-options] [fs-options] [filesys ...]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: disk-utils/fsck.c:1302
+msgid ""
+"\n"
+"Options:\n"
+" -A check all filesystems\n"
+" -R skip root filesystem; useful only with `-A'\n"
+" -M do not check mounted filesystems\n"
+" -t <type> specify filesystem types to be checked;\n"
+" type is allowed to be comma-separated list\n"
+" -P check filesystems in parallel, including root\n"
+" -r report statistics for each device fsck\n"
+" -s serialize fsck operations\n"
+" -l lock the device using flock()\n"
+" -N do not execute, just show what would be done\n"
+" -T do not show the title on startup\n"
+" -C <fd> display progress bar; file descriptor is for GUIs\n"
+" -V explain what is being done\n"
+" -? display this help and exit\n"
+"\n"
+"See fsck.* commands for fs-options."
+msgstr ""
+
+#: disk-utils/fsck.c:1354
+#, fuzzy
+msgid "too many devices"
+msgstr "%s:太多裝置\n"
+
+#: disk-utils/fsck.c:1366
+#, fuzzy
+msgid "Is /proc mounted?"
+msgstr "/proc 已經掛載?\n"
+
+#: disk-utils/fsck.c:1374
+#, fuzzy, c-format
+msgid "must be root to scan for matching filesystems: %s"
+msgstr "ĺż…é ćŻ root 才č˝ćŽćŹŹç¬¦ĺ的檔ćˇçł»çµ±ďĽš%s\n"
+
+#: disk-utils/fsck.c:1378
+#, fuzzy, c-format
+msgid "couldn't find matching filesystem: %s"
+msgstr "找不ĺ°ç¬¦ĺ的檔ćˇçł»çµ±ďĽš%s\n"
+
+#: disk-utils/fsck.c:1386 disk-utils/fsck.c:1474 sys-utils/eject.c:285
+#, fuzzy
+msgid "too many arguments"
+msgstr "%s:太多引數\n"
+
+#: disk-utils/fsck.c:1526
+msgid "the -l option can be used with one device only -- ignore"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:114 misc-utils/whereis.c:141
+#, fuzzy, c-format
+msgid " %s [options] file\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: disk-utils/fsck.cramfs.c:116
+msgid " -x, --destination <dir> extract into directory\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:117
+#, fuzzy
+msgid " -v, --verbose be more verbose\n"
+msgstr " -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+
+#: disk-utils/fsck.cramfs.c:152
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl 失敗:無法決定裝置大小:%s"
+
+#: disk-utils/fsck.cramfs.c:158
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "不ćŻĺŤ€ĺˇŠčŁťç˝®ć–檔ćˇďĽš%s"
+
+#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:195
+msgid "file length too short"
+msgstr "檔ćˇé•·ĺş¦ĺ¤Şçź­"
+
+#: disk-utils/fsck.cramfs.c:165 disk-utils/fsck.cramfs.c:171
+#: disk-utils/fsck.cramfs.c:227 disk-utils/fsck.cramfs.c:244
+#, c-format
+msgid "read failed: %s"
+msgstr "讀取失敗:%s"
+
+#: disk-utils/fsck.cramfs.c:175 disk-utils/fsck.cramfs.c:177
+msgid "superblock magic not found"
+msgstr "找不ĺ°č¶…區塊的魔術標č¨"
+
+#: disk-utils/fsck.cramfs.c:180
+#, c-format
+msgid "cramfs endianness is %s\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "big"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+msgid "little"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185
+msgid "unsupported filesystem features"
+msgstr "不受支援的檔ćˇçł»çµ±ç‰ąĺľµ"
+
+#: disk-utils/fsck.cramfs.c:188
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "超區塊大小 (%d) 太小"
+
+#: disk-utils/fsck.cramfs.c:193
+msgid "zero file count"
+msgstr "零個檔ćˇč¨ć•¸"
+
+#: disk-utils/fsck.cramfs.c:198
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "警告:檔ćˇĺ»¶äĽ¸č¶…éŽćŞ”ćˇçł»çµ±ćś«ç«Ż\n"
+
+#: disk-utils/fsck.cramfs.c:200
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "警告:čŠçš„ cramfs 格式\n"
+
+#: disk-utils/fsck.cramfs.c:212
+msgid "unable to test CRC: old cramfs format"
+msgstr "無法測試循環冗é¤ćŞ˘ćźĄďĽščŠçš„ cramfs 格式"
+
+#: disk-utils/fsck.cramfs.c:263
+msgid "crc error"
+msgstr "循環冗é¤ćŞ˘ćźĄéŚŻčŞ¤"
+
+#: disk-utils/fsck.cramfs.c:324
+msgid "root inode is not directory"
+msgstr "根 inode 並非目錄"
+
+#: disk-utils/fsck.cramfs.c:328
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "不當的根ĺŹç§» (%lu)"
+
+#: disk-utils/fsck.cramfs.c:346
+msgid "data block too large"
+msgstr "資料區塊太大"
+
+#: disk-utils/fsck.cramfs.c:350
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "解壓縮錯誤 %p(%d):%s"
+
+#: disk-utils/fsck.cramfs.c:376
+#, c-format
+msgid " hole at %ld (%zd)\n"
+msgstr " 漏洞位於 %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:383 disk-utils/fsck.cramfs.c:537
+#, c-format
+msgid " uncompressing block at %ld to %ld (%ld)\n"
+msgstr " 解壓縮區塊位於 %ld ĺ° %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:390
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "非區塊 (%ld) 位ĺ…組"
+
+#: disk-utils/fsck.cramfs.c:394
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "非大小 (%ld vs %ld) 位ĺ…組"
+
+#: disk-utils/fsck.cramfs.c:400
+#, c-format
+msgid "write failed: %s"
+msgstr "寫入失敗:%s"
+
+#: disk-utils/fsck.cramfs.c:412
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown 失敗:%s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown 失敗:%s"
+
+#: disk-utils/fsck.cramfs.c:421
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime 失敗:%s"
+
+#: disk-utils/fsck.cramfs.c:433
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "目錄 inode 有零ĺŹç§»ĺ€Ľĺ’Śéťžé›¶ĺ¤§ĺ°ŹďĽš%s"
+
+#: disk-utils/fsck.cramfs.c:448
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir 失敗:%s"
+
+#: disk-utils/fsck.cramfs.c:464
+msgid "filename length is zero"
+msgstr "檔ĺŤé•·ĺş¦ç‚şé›¶"
+
+#: disk-utils/fsck.cramfs.c:466
+msgid "bad filename length"
+msgstr "不當的檔ĺŤé•·ĺş¦"
+
+#: disk-utils/fsck.cramfs.c:472
+msgid "bad inode offset"
+msgstr "不當的 inode ĺŹç§»ĺ€Ľ"
+
+#: disk-utils/fsck.cramfs.c:487
+msgid "file inode has zero offset and non-zero size"
+msgstr "ćŞ”ćˇ inode 有零ĺŹç§»ĺ€Ľĺ’Śéťžé›¶ĺ¤§ĺ°Ź"
+
+#: disk-utils/fsck.cramfs.c:490
+msgid "file inode has zero size and non-zero offset"
+msgstr "ćŞ”ćˇ inode 有零大小和非零ĺŹç§»ĺ€Ľ"
+
+#: disk-utils/fsck.cramfs.c:518
+msgid "symbolic link has zero offset"
+msgstr "符號連çµćś‰é›¶ĺŹç§»ĺ€Ľ"
+
+#: disk-utils/fsck.cramfs.c:520
+msgid "symbolic link has zero size"
+msgstr "符號連çµćś‰é›¶ĺ¤§ĺ°Ź"
+
+#: disk-utils/fsck.cramfs.c:529
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "大小錯誤發生於符號連çµďĽš%s"
+
+#: disk-utils/fsck.cramfs.c:543
+#, c-format
+msgid "symlink failed: %s"
+msgstr "符號連çµĺ¤±ć•—:%s"
+
+#: disk-utils/fsck.cramfs.c:556
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "特殊檔ćˇćś‰éťžé›¶ĺŹç§»ĺ€ĽďĽš%s"
+
+#: disk-utils/fsck.cramfs.c:566
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "fifo 有非零大小:%s"
+
+#: disk-utils/fsck.cramfs.c:572
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "通訊端有非零大小:%s"
+
+#: disk-utils/fsck.cramfs.c:575
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "ĺ‡é€ ć¨ˇĺĽŹďĽš%s (%o)"
+
+#: disk-utils/fsck.cramfs.c:584
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod 失敗:%s"
+
+#: disk-utils/fsck.cramfs.c:616
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr "目錄資料起始 (%ld) < sizeof(struct cramfs_super) + 起始 (%ld)"
+
+#: disk-utils/fsck.cramfs.c:620
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr "目錄資料çµćťź (%ld) != 檔ćˇčł‡ć–™čµ·ĺ§‹ (%ld)"
+
+#: disk-utils/fsck.cramfs.c:625
+msgid "invalid file data offset"
+msgstr "無ć•çš„檔ćˇčł‡ć–™ĺŹç§»ĺ€Ľ"
+
+#: disk-utils/fsck.cramfs.c:669
+msgid "compiled without -x support"
+msgstr "編譯時不具 -x 支援"
+
+#: disk-utils/fsck.cramfs.c:689 fdisks/sfdisk.c:2859
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s:確定\n"
+
+#: disk-utils/fsck.minix.c:194 disk-utils/swaplabel.c:159
+#: misc-utils/wipefs.c:361 sys-utils/tunelp.c:80
+#, fuzzy, c-format
+msgid " %s [options] <device>\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: disk-utils/fsck.minix.c:196
+#, fuzzy
+msgid " -l list all filenames\n"
+msgstr " [ -file dumpfilename ]\n"
+
+#: disk-utils/fsck.minix.c:197
+msgid " -a automatic repair\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:198
+#, fuzzy
+msgid " -r interactive repair\n"
+msgstr "需č¦çµ‚端機以進行互動式修復"
+
+#: disk-utils/fsck.minix.c:199
+msgid " -v be verbose\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:200
+#, fuzzy
+msgid " -s output super-block information\n"
+msgstr " -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+
+#: disk-utils/fsck.minix.c:201
+msgid " -m activate mode not cleared warnings\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:202
+msgid " -f force check\n"
+msgstr ""
+
+#. TRANSLATORS: these yes no questions uses rpmatch(), and should be
+#. * translated.
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (y/n)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:261
+#, c-format
+msgid "%s (n/y)? "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:278
+#, c-format
+msgid "y\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:280
+#, c-format
+msgid "n\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:296
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s 已掛載。\t"
+
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "您真的č¦çąĽçşŚĺ—ŽďĽź"
+
+#: disk-utils/fsck.minix.c:302
+#, c-format
+msgid "check aborted.\n"
+msgstr "已放棄檢查。\n"
+
+#: disk-utils/fsck.minix.c:318 disk-utils/fsck.minix.c:339
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "區域 nr < 檔ćˇă€Ś%s」中的 FIRSTZONE。"
+
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:342
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "區域 nr >= 檔ćˇă€Ś%s」中的 ZONES。"
+
+#: disk-utils/fsck.minix.c:325 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "移除區塊"
+
+#: disk-utils/fsck.minix.c:362
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "讀取錯誤:無法在檔ćˇă€Ś%s」中ćśĺ°‹ĺ°ĺŤ€ĺˇŠ\n"
+
+#: disk-utils/fsck.minix.c:368
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "讀取錯誤:在檔ćˇă€Ś%s」中有不良區塊\n"
+
+#: disk-utils/fsck.minix.c:380
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"ĺ…§é¨éŚŻčŞ¤ďĽšĺ—試寫入不良區塊\n"
+"寫入č¦ć±‚已忽略\n"
+
+#: disk-utils/fsck.minix.c:386
+msgid "seek failed in write_block"
+msgstr "write_block 時ćśĺ°‹ĺ¤±ć•—"
+
+#: disk-utils/fsck.minix.c:389
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "寫入錯誤:在檔ćˇă€Ś%s」中有不良區塊\n"
+
+#: disk-utils/fsck.minix.c:501
+msgid "seek failed in write_super_block"
+msgstr "write_super_block 時ćśĺ°‹ĺ¤±ć•—"
+
+#: disk-utils/fsck.minix.c:503
+msgid "unable to write super-block"
+msgstr "無法寫入 super-block"
+
+#: disk-utils/fsck.minix.c:515
+msgid "Unable to write inode map"
+msgstr "無法寫入 inode ĺ°Ťć "
+
+#: disk-utils/fsck.minix.c:518
+msgid "Unable to write zone map"
+msgstr "無法寫入區域對ć "
+
+#: disk-utils/fsck.minix.c:521
+msgid "Unable to write inodes"
+msgstr "無法寫入 inodes"
+
+#: disk-utils/fsck.minix.c:549
+msgid "seek failed"
+msgstr "ćśĺ°‹ĺ¤±ć•—"
+
+#: disk-utils/fsck.minix.c:553
+msgid "unable to alloc buffer for superblock"
+msgstr "無法配置緩衝區給超區塊"
+
+#: disk-utils/fsck.minix.c:556
+msgid "unable to read super block"
+msgstr "無法讀取超區塊"
+
+#: disk-utils/fsck.minix.c:574
+msgid "bad magic number in super-block"
+msgstr "超區塊中有不當的魔術數字"
+
+#: disk-utils/fsck.minix.c:576
+msgid "Only 1k blocks/zones supported"
+msgstr "只有支援 1k 區塊/區域"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad s_imap_blocks field in super-block"
+msgstr "超區塊中有不當的 s_imap_blocks 欄位"
+
+#: disk-utils/fsck.minix.c:581
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "超區塊中有不當的 s_zmap_blocks 欄位"
+
+#: disk-utils/fsck.minix.c:597
+msgid "Unable to allocate buffer for inode map"
+msgstr "無法配置 inode ĺ°Ťć ç·©čˇťĺŤ€"
+
+#: disk-utils/fsck.minix.c:600
+msgid "Unable to allocate buffer for zone map"
+msgstr "無法配置區域對ć ç·©čˇťĺŤ€"
+
+#: disk-utils/fsck.minix.c:603
+msgid "Unable to allocate buffer for inodes"
+msgstr "無法配置 inodes 緩衝區"
+
+#: disk-utils/fsck.minix.c:606
+msgid "Unable to allocate buffer for inode count"
+msgstr "無法配置 inode č¨ć•¸ç·©čˇťĺŤ€"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to allocate buffer for zone count"
+msgstr "無法配置區域č¨ć•¸ç·©čˇťĺŤ€"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inode map"
+msgstr "無法讀取 inode ĺ°Ťć "
+
+#: disk-utils/fsck.minix.c:617
+msgid "Unable to read zone map"
+msgstr "無法讀取區域對ć "
+
+#: disk-utils/fsck.minix.c:621
+msgid "Unable to read inodes"
+msgstr "無法讀取 inodes"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "警告:Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:628
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:629
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld 區塊\n"
+
+#: disk-utils/fsck.minix.c:630 disk-utils/mkfs.minix.c:546
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "第一資料區=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:631 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "區域大小=%d\n"
+
+#: disk-utils/fsck.minix.c:632
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "最大大小=%ld\n"
+
+#: disk-utils/fsck.minix.c:633
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "檔ćˇçł»çµ±ç‹€ć…‹=%d\n"
+
+#: disk-utils/fsck.minix.c:634
+#, fuzzy, c-format
+msgid ""
+"namelen=%zd\n"
+"\n"
+msgstr ""
+"ĺŤç¨±é•·ĺş¦=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:649 disk-utils/fsck.minix.c:699
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inode %d 標č¨ç‚şćśŞä˝żç”¨ďĽŚä˝†ćŻĺŤ»ç”¨ć–ĽćŞ”ćˇă€Ś%s」\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/fsck.minix.c:702
+msgid "Mark in use"
+msgstr "標č¨ç‚şä˝żç”¨ä¸­"
+
+#: disk-utils/fsck.minix.c:674 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "檔ćˇă€Ś%s」具有模式 %05o\n"
+
+#: disk-utils/fsck.minix.c:681 disk-utils/fsck.minix.c:728
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "警告:inode 數量太大。\n"
+
+#: disk-utils/fsck.minix.c:740 disk-utils/fsck.minix.c:748
+msgid "root inode isn't a directory"
+msgstr "根 inode 並非目錄"
+
+#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:791
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "區塊於之前已使用。現在屬於檔ćˇă€Ś%s」。"
+
+#: disk-utils/fsck.minix.c:762 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1123
+#: disk-utils/fsck.minix.c:1170 disk-utils/fsck.minix.c:1179
+msgid "Clear"
+msgstr "清除"
+
+#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:803
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "檔ćˇă€Ś%2$s」中的 區塊 %1$d 已標č¨ç‚şćśŞč˘«ä˝żç”¨ă€‚"
+
+#: disk-utils/fsck.minix.c:774 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "修正"
+
+#: disk-utils/fsck.minix.c:944 disk-utils/fsck.minix.c:1012
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "目錄「%s」ĺ«ćś‰ä¸Ťç•¶çš„ inode 編號於檔ćˇă€Ś%.*s」。"
+
+#: disk-utils/fsck.minix.c:946 disk-utils/fsck.minix.c:1014
+msgid " Remove"
+msgstr " 移除"
+
+#: disk-utils/fsck.minix.c:960 disk-utils/fsck.minix.c:1028
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s:不當的目錄:「.」不ćŻç¬¬ä¸€ĺ€‹\n"
+
+#: disk-utils/fsck.minix.c:969 disk-utils/fsck.minix.c:1037
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s:不當的目錄:「..」不ćŻç¬¬äşŚĺ€‹\n"
+
+#: disk-utils/fsck.minix.c:1071 disk-utils/fsck.minix.c:1088
+msgid "internal error"
+msgstr "ĺ…§é¨éŚŻčޤ"
+
+#: disk-utils/fsck.minix.c:1074 disk-utils/fsck.minix.c:1091
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s:不當的目錄:大小 < 32"
+
+#: disk-utils/fsck.minix.c:1103
+msgid "seek failed in bad_zone"
+msgstr "在ćŤćŻ€ĺŤ€ĺźźä¸­ćśĺ°‹ĺ¤±ć•—"
+
+#: disk-utils/fsck.minix.c:1113 disk-utils/fsck.minix.c:1169
+#, fuzzy, c-format
+msgid "Inode %lu mode not cleared."
+msgstr "Inode %d 模式無法清空。"
+
+#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1178
+#, fuzzy, c-format
+msgid "Inode %lu not used, marked used in the bitmap."
+msgstr "Inode %d 未被使用,在點陣圖中標č¨ç‚şä˝żç”¨ă€‚"
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1184
+#, fuzzy, c-format
+msgid "Inode %lu used, marked unused in the bitmap."
+msgstr "Inode %d 已使用,在點陣圖中標č¨ç‚şćśŞä˝żç”¨ă€‚"
+
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1185
+msgid "Set"
+msgstr "設定"
+
+#: disk-utils/fsck.minix.c:1133 disk-utils/fsck.minix.c:1189
+#, fuzzy, c-format
+msgid "Inode %lu (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (模式 = %07o),i_nlinks=%d,數量=%d。"
+
+#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1192
+msgid "Set i_nlinks to count"
+msgstr "設定 in_links 加入č¨ć•¸"
+
+#: disk-utils/fsck.minix.c:1148 disk-utils/fsck.minix.c:1204
+#, fuzzy, c-format
+msgid "Zone %lu: marked in use, no file uses it."
+msgstr "區域 %d: 標č¨ç‚şä˝żç”¨ä¸­ďĽŚä˝†ç„ˇćŞ”ćˇä˝żç”¨ĺ®ă€‚"
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1206
+msgid "Unmark"
+msgstr "取ć¶ć¨™č¨"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1211
+#, fuzzy, c-format
+msgid "Zone %lu: in use, counted=%d\n"
+msgstr "區域 %d: 使用中,數量=%d\n"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1214
+#, fuzzy, c-format
+msgid "Zone %lu: not in use, counted=%d\n"
+msgstr "區域 %d: 未被使用,數量=%d\n"
+
+#: disk-utils/fsck.minix.c:1255
+msgid "bad inode size"
+msgstr "不當的 inode 大小"
+
+#: disk-utils/fsck.minix.c:1257
+msgid "bad v2 inode size"
+msgstr "不當的 v2 inode 大小"
+
+#: disk-utils/fsck.minix.c:1301
+msgid "need terminal for interactive repairs"
+msgstr "需č¦çµ‚端機以進行互動式修復"
+
+#: disk-utils/fsck.minix.c:1305
+#, fuzzy, c-format
+msgid "cannot open %s: %s"
+msgstr "無法開啟 %s"
+
+#: disk-utils/fsck.minix.c:1316
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s 已清除,不ĺšćŞ˘ćźĄă€‚\n"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "強ĺ¶ćŞ˘ćźĄ %s 檔ćˇçł»çµ±ă€‚\n"
+
+#: disk-utils/fsck.minix.c:1321
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "%s 檔ćˇçł»çµ±ä¸Ťäąľć·¨ďĽŚéś€č¦ćŞ˘ćźĄă€‚\n"
+
+#: disk-utils/fsck.minix.c:1353
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes 已使用 (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1359
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld 區域已使用 (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1361
+#, c-format
+msgid ""
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
+msgstr ""
+"\n"
+"%6d 標準檔ćˇ\n"
+"%6d 目錄\n"
+"%6d ĺ­—ĺ…裝置檔ćˇ\n"
+"%6d 區塊裝置檔ćˇ\n"
+"%6d éŹçµ\n"
+"%6d 符號連çµ\n"
+"------\n"
+"%6d 檔ćˇ\n"
+
+#: disk-utils/fsck.minix.c:1375
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"檔ćˇçł»çµ±ĺ·˛č®Šć›´\n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, fuzzy, c-format
+msgid "seek error on %s"
+msgstr "%s:於 %s 尋找錯誤\n"
+
+#: disk-utils/isosize.c:132
+#, fuzzy, c-format
+msgid "read error on %s"
+msgstr "%s:於 %s 讀取錯誤\n"
+
+#: disk-utils/isosize.c:139
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "çŁĺŤ€ć•¸é‡ŹďĽš%d, çŁĺŤ€ĺ¤§ĺ°ŹďĽš%d\n"
+
+#: disk-utils/isosize.c:156
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] iso9660_image_file\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: disk-utils/isosize.c:160
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -d, --divisor=NUM divide bytes NUM\n"
+" -x, --sectors show sector count and size\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/isosize.c:192
+msgid "invalid divisor argument"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:71
+#, fuzzy, c-format
+msgid "Usage: %s [options] device [block-count]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: disk-utils/mkfs.bfs.c:73
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -N, --inodes=NUM specify desired number of inodes\n"
+" -V, --vname=NAME specify volume name\n"
+" -F, --fname=NAME specify file system name\n"
+" -v, --verbose explain what is being done\n"
+" -c this option is silently ignored\n"
+" -l this option is silently ignored\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:136
+#, fuzzy
+msgid "invalid number of inodes"
+msgstr "無ć•çš„ĺ—數"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "volume name too long"
+msgstr "卷冊ĺŤç¨±ĺ¤Şé•·"
+
+#: disk-utils/mkfs.bfs.c:149
+msgid "fsname name too long"
+msgstr "檔ćˇçł»çµ±ĺŤç¨±ĺ¤Şé•·"
+
+#: disk-utils/mkfs.bfs.c:180
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s 並非區塊特殊裝置"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy
+msgid "invalid block-count"
+msgstr "無ć•çš„é¸é …"
+
+#: disk-utils/mkfs.bfs.c:194
+#, c-format
+msgid "cannot get size of %s"
+msgstr "無法取得 %s 的大小"
+
+#: disk-utils/mkfs.bfs.c:199
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "ĺŤ€ĺˇŠĺĽ•ć•¸ĺ¤Şĺ¤§ďĽŚćś€ĺ¤§ćŻ %llu"
+
+#: disk-utils/mkfs.bfs.c:214
+msgid "too many inodes - max is 512"
+msgstr "太多 inodes - 最大為 512"
+
+#: disk-utils/mkfs.bfs.c:224
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "沒有足夠的空間,需č¦č‡łĺ°‘ %llu 區塊"
+
+#: disk-utils/mkfs.bfs.c:236 fdisks/fdisk.c:1426
+#, c-format
+msgid "Device: %s\n"
+msgstr "裝置:%s\n"
+
+#: disk-utils/mkfs.bfs.c:237
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "卷冊:<%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:238
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "檔ćˇçł»çµ±ĺŤç¨±ďĽš<%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:239
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "區塊大小:%d\n"
+
+#: disk-utils/mkfs.bfs.c:241
+#, fuzzy, c-format
+msgid "Inodes: %lu (in 1 block)\n"
+msgstr "Inodes:%d (在 1 個區塊中)\n"
+
+#: disk-utils/mkfs.bfs.c:244
+#, fuzzy, c-format
+msgid "Inodes: %lu (in %llu blocks)\n"
+msgstr "Inodes:%d (在 %lld 個區塊中)\n"
+
+#: disk-utils/mkfs.bfs.c:246
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "區塊:%lld\n"
+
+#: disk-utils/mkfs.bfs.c:247
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode çµćťźďĽš%d, 資料çµćťźďĽš%d\n"
+
+#: disk-utils/mkfs.bfs.c:252
+msgid "error writing superblock"
+msgstr "寫入超區塊時發生錯誤"
+
+#: disk-utils/mkfs.bfs.c:272
+msgid "error writing root inode"
+msgstr "寫入根 inode 時發生錯誤"
+
+#: disk-utils/mkfs.bfs.c:277
+msgid "error writing inode"
+msgstr "寫入 inode 時發生錯誤"
+
+#: disk-utils/mkfs.bfs.c:280
+msgid "seek error"
+msgstr "尋找錯誤"
+
+#: disk-utils/mkfs.bfs.c:286
+msgid "error writing . entry"
+msgstr "寫入 . 項目時發生錯誤"
+
+#: disk-utils/mkfs.bfs.c:290
+msgid "error writing .. entry"
+msgstr "寫入 .. 項目時發生錯誤"
+
+#: disk-utils/mkfs.bfs.c:293
+#, c-format
+msgid "error closing %s"
+msgstr "關閉 %s 時發生錯誤"
+
+#: disk-utils/mkfs.c:39
+#, fuzzy, c-format
+msgid "Usage: %s [options] [-t type fs-options] device [size]\n"
+msgstr "用法:mkfs [-V] [-t 檔ćˇçł»çµ±éˇžĺž‹] [檔ćˇçł»çµ±é¸é …] 裝置 [大小]\n"
+
+#: disk-utils/mkfs.c:42
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --type=TYPE file system type, when undefined ext2 is used\n"
+" fs-options parameters to real file system builder\n"
+" device path to a device\n"
+" size number of blocks on the device\n"
+" -V, --verbose explain what is done\n"
+" defining -V more than once will cause a dry-run\n"
+" -V, --version output version information and exit\n"
+" -V as version must be only option\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see mkfs(8).\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ wipefs(8)。\n"
+
+#: disk-utils/mkfs.c:131
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:122
+#, c-format
+msgid ""
+"usage: %s [-h] [-v] [-b blksize] [-e edition] [-N endian] [-i file] [-n "
+"name] dirname outfile\n"
+" -h print this help\n"
+" -v be verbose\n"
+" -E make all warnings errors (non-zero exit status)\n"
+" -b blksize use this blocksize, must equal page size\n"
+" -e edition set edition number (part of fsid)\n"
+" -N endian set cramfs endianness (big|little|host), default host\n"
+" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
+" -n name set name of cramfs filesystem\n"
+" -p pad by %d bytes for boot code\n"
+" -s sort directory entries (old option, ignored)\n"
+" -z make explicit holes (requires >= 2.3.39)\n"
+" dirname root of the filesystem to be compressed\n"
+" outfile output file\n"
+msgstr ""
+"用法:%s [-h] [-v] [-b 區塊大小] [-e 編次] [-N 尾序] [-i 檔ćˇ] [-n ĺŤç¨±] "
+"dirname outfile\n"
+" -h 印出這個說ćŽ\n"
+" -v 詳細訊ćŻ\n"
+" -E 所有警告視為錯誤 (非零çµćťźç‹€ć…‹)\n"
+" -b 區塊大小 使用這個區塊大小,必é ç­‰ć–Ľé éť˘ĺ¤§ĺ°Ź\n"
+" -e 編次 設定編次數字 (é¨ĺ†çš„ fsid)\n"
+" -N 尾序 設定 cramfs 尾序 (大|ĺ°Ź|主機),é č¨­äľťä¸»ć©ź\n"
+" -i ćŞ”ćˇ ćŹ’ĺ…ĄćŞ”ćˇĺ˝±ĺŹĺ°ćŞ”ćˇçł»çµ± (需求 >= 2.4.0)\n"
+" -n ĺŤç¨± 設定 cramfs 檔ćˇçł»çµ±çš„ĺŤç¨±\n"
+" -p 填充 %d 位ĺ…組於開機碼\n"
+" -s 排序目錄項目 (čŠé¸é …,忽略)\n"
+" -z 製作ćŽç˘şçš„ç©şć´ž (需求 >= 2.3.39)\n"
+" dirname 壓縮的檔ćˇçł»çµ±ć ąç›®éŚ„\n"
+" outfile 輸出檔ćˇ\n"
+
+#: disk-utils/mkfs.cramfs.c:295
+#, fuzzy, c-format
+msgid "could not read directory %s"
+msgstr "%s:並非目錄"
+
+#: disk-utils/mkfs.cramfs.c:320
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile. Exiting."
+msgstr ""
+"找ĺ°ĺľé•· (%zu 位ĺ…組) 的檔ĺŤă€Ś%s」。\n"
+"請在 mkcramfs.c 中增加 MAX_INPUT_NAMELEN 並重新編譯。離開。\n"
+
+#: disk-utils/mkfs.cramfs.c:442
+#, fuzzy
+msgid "filesystem too big. Exiting."
+msgstr "檔ćˇçł»çµ±ĺ¤Şĺ¤§ă€‚離開。\n"
+
+#: disk-utils/mkfs.cramfs.c:601
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEEďĽšĺŤ€ĺˇŠă€Śč˘«ĺŁ“ç¸®ă€Ťĺ° > 2*區塊長度 (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:620
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld 位ĺ…組)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:665
+#, fuzzy, c-format
+msgid "cannot close file %s"
+msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#: disk-utils/mkfs.cramfs.c:726
+#, fuzzy
+msgid "invalid blocksize argument"
+msgstr "umount:%s: 無ć•çš„區塊裝置"
+
+#: disk-utils/mkfs.cramfs.c:732
+#, fuzzy
+msgid "edition number argument failed"
+msgstr "啟用 rtc 警示"
+
+#: disk-utils/mkfs.cramfs.c:742
+msgid "invalid endianness given. Must be 'big', 'little', or 'host'"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:804
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB. We might die prematurely."
+msgstr ""
+"警告:所需大小é äĽ° (上é™) ç‚ş %lldMB,但ćŻĺ˝±ĺŹĺ¤§ĺ°Źćś€ĺ¤§ĺ€Ľç‚ş %uMB。 ć‘們也許ćśéŽ"
+"早中斷執行。\n"
+
+#: disk-utils/mkfs.cramfs.c:828
+msgid "ROM image map"
+msgstr "唯讀č¨ć†¶é«”ĺś–ĺŹć ĺ°„"
+
+#: disk-utils/mkfs.cramfs.c:840
+#, c-format
+msgid "Including: %s\n"
+msgstr "包ĺ«ďĽš%s\n"
+
+#: disk-utils/mkfs.cramfs.c:846
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "目錄資料:%zd 位ĺ…組\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "所有東西:%zd ĺŤä˝Ťĺ…組\n"
+
+#: disk-utils/mkfs.cramfs.c:859
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "超區塊:%zd 位ĺ…組\n"
+
+#: disk-utils/mkfs.cramfs.c:866
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC:%x\n"
+
+#: disk-utils/mkfs.cramfs.c:871
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)"
+msgstr "配置給唯讀č¨ć†¶é«”ć ĺŹçš„空間不足 (%lld 已配置,%zu 已使用)\n"
+
+#: disk-utils/mkfs.cramfs.c:878
+msgid "ROM image"
+msgstr "唯讀č¨ć†¶é«”ć ĺŹ"
+
+#: disk-utils/mkfs.cramfs.c:880
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)"
+msgstr "唯讀č¨ć†¶é«”ć ĺŹĺŻ«ĺ…Ąĺ¤±ć•— (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:890
+#, fuzzy
+msgid "warning: filenames truncated to 255 bytes."
+msgstr "警告:檔ĺŤćŞçź­č‡ł 255 位ĺ…組。\n"
+
+#: disk-utils/mkfs.cramfs.c:892
+#, fuzzy
+msgid "warning: files were skipped due to errors."
+msgstr "警告:檔ćˇĺ·˛ĺ› éŚŻčŞ¤č€Śç•ĄéŽă€‚\n"
+
+#: disk-utils/mkfs.cramfs.c:894
+#, fuzzy, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte)."
+msgstr "警告:檔ćˇĺ¤§ĺ°ŹćŞçź­č‡ł %luMB (減去 1 位ĺ…組)。\n"
+
+#: disk-utils/mkfs.cramfs.c:898
+#, fuzzy, c-format
+msgid "warning: uids truncated to %u bits. (This may be a security concern.)"
+msgstr "警告:uids ćŞçź­č‡ł %u 位ĺ…。 (這個也許ćŻĺ®‰ĺ…¨ä¸Šçš„č€é‡Źă€‚)\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "warning: gids truncated to %u bits. (This may be a security concern.)"
+msgstr "警告:gids ćŞçź­č‡ł %u 位ĺ…。 (這個也許ćŻĺ®‰ĺ…¨ä¸Šçš„č€é‡Źă€‚)\n"
+
+#: disk-utils/mkfs.cramfs.c:904
+#, fuzzy, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits. This almost certainly means\n"
+"that some device files will be wrong."
+msgstr ""
+"警告:裝置數量ćŞçź­č‡ł %u 位ĺ…。 這幾乎ćŽç˘şć„Źĺ‘łč‘—\n"
+"ćźäş›čŁťç˝®ćŞ”ćˇĺ°‡ćśç™Ľç”źéŚŻčŞ¤ă€‚\n"
+
+#: disk-utils/mkfs.minix.c:149
+#, fuzzy, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
+msgstr "用法:%s [-c | -l 檔ĺŤ] [-nXX] [-iXX] /dev/ĺŤç¨± [區塊]\n"
+
+#: disk-utils/mkfs.minix.c:171
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s 已掛載;在此將無法製作檔ćˇçł»çµ±ďĽ"
+
+#: disk-utils/mkfs.minix.c:197
+#, fuzzy, c-format
+msgid "%s: seek to boot block failed in write_tables"
+msgstr "在 write_tables 中ćśĺ°‹ĺ•źĺ‹•ĺŤ€ĺˇŠć™‚失敗"
+
+#: disk-utils/mkfs.minix.c:200
+#, fuzzy, c-format
+msgid "%s: unable to clear boot sector"
+msgstr "無法清空開機çŁĺŤ€"
+
+#: disk-utils/mkfs.minix.c:202
+#, fuzzy, c-format
+msgid "%s: seek failed in write_tables"
+msgstr "在 write_tables 中的尋找失敗"
+
+#: disk-utils/mkfs.minix.c:205
+#, fuzzy, c-format
+msgid "%s: unable to write super-block"
+msgstr "無法寫入 super-block"
+
+#: disk-utils/mkfs.minix.c:208
+#, fuzzy, c-format
+msgid "%s: unable to write inode map"
+msgstr "無法寫入 inode ĺ°Ťć "
+
+#: disk-utils/mkfs.minix.c:211
+#, fuzzy, c-format
+msgid "%s: unable to write zone map"
+msgstr "無法寫入區域對ć "
+
+#: disk-utils/mkfs.minix.c:214
+#, fuzzy, c-format
+msgid "%s: unable to write inodes"
+msgstr "無法寫入 inodes"
+
+#: disk-utils/mkfs.minix.c:219
+#, fuzzy, c-format
+msgid "%s: seek failed in write_block"
+msgstr "write_block 時ćśĺ°‹ĺ¤±ć•—"
+
+#: disk-utils/mkfs.minix.c:222
+#, fuzzy, c-format
+msgid "%s: write failed in write_block"
+msgstr "寫入 write_block 時失敗"
+
+#: disk-utils/mkfs.minix.c:231 disk-utils/mkfs.minix.c:306
+#: disk-utils/mkfs.minix.c:355
+#, fuzzy, c-format
+msgid "%s: too many bad blocks"
+msgstr "太多不良區塊"
+
+#: disk-utils/mkfs.minix.c:239
+#, fuzzy, c-format
+msgid "%s: not enough good blocks"
+msgstr "良好區塊不足"
+
+#: disk-utils/mkfs.minix.c:485
+#, fuzzy, c-format
+msgid "%s: unable to alloc buffer for superblock"
+msgstr "無法配置緩衝區給超區塊"
+
+#: disk-utils/mkfs.minix.c:531
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffers for maps"
+msgstr "無法配置對ć ç·©čˇťĺŤ€"
+
+#: disk-utils/mkfs.minix.c:541
+#, fuzzy, c-format
+msgid "%s: unable to allocate buffer for inodes"
+msgstr "無法配置 inodes 緩衝區"
+
+#: disk-utils/mkfs.minix.c:544
+#, fuzzy, c-format
+msgid "%lu inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/mkfs.minix.c:545
+#, fuzzy, c-format
+msgid "%lu blocks\n"
+msgstr "%ld 區塊\n"
+
+#: disk-utils/mkfs.minix.c:548
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"最大容量=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:561
+#, fuzzy, c-format
+msgid "%s: seek failed during testing of blocks"
+msgstr "測試區塊的尋找失敗"
+
+#: disk-utils/mkfs.minix.c:568
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "do_check 中出現異常值:可č˝éŚŻčޤ\n"
+
+#: disk-utils/mkfs.minix.c:601
+#, fuzzy, c-format
+msgid "%s: seek failed in check_blocks"
+msgstr "在 check_blocks 中的尋找失敗"
+
+#: disk-utils/mkfs.minix.c:611
+#, fuzzy, c-format
+msgid "%s: bad blocks before data-area: cannot make fs"
+msgstr "資料區之前有不良區塊:無法製作檔ćˇçł»çµ±"
+
+#: disk-utils/mkfs.minix.c:618 disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d 個不良區塊\n"
+
+#: disk-utils/mkfs.minix.c:620 disk-utils/mkfs.minix.c:646
+#, c-format
+msgid "one bad block\n"
+msgstr "一個不良區塊\n"
+
+#: disk-utils/mkfs.minix.c:629
+#, fuzzy, c-format
+msgid "%s: can't open file of bad blocks"
+msgstr "無法開啟不良區塊中的檔ćˇ"
+
+#: disk-utils/mkfs.minix.c:634
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "ćŤĺŁžĺŤ€ĺˇŠç·¨č™źčĽ¸ĺ…ĄéŚŻčŞ¤ć–Ľç¬¬ %d ĺ—\n"
+
+#: disk-utils/mkfs.minix.c:635
+#, fuzzy, c-format
+msgid "%s: cannot read badblocks file"
+msgstr "無法讀取ćŤĺŁžĺŤ€ĺˇŠćŞ”ćˇ"
+
+#: disk-utils/mkfs.minix.c:673 disk-utils/mkfs.minix.c:675
+#, fuzzy, c-format
+msgid "%s: bad inode size"
+msgstr "不當的 inode 大小"
+
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol 錯誤:區塊數量尚未指定"
+
+#: disk-utils/mkfs.minix.c:771
+#, fuzzy, c-format
+msgid "%s: device is misaligned"
+msgstr "%s:%s:裝置忙碌中"
+
+#: disk-utils/mkfs.minix.c:774
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "區段大小小於 %s 的實體çŁĺŤ€ĺ¤§ĺ°Ź"
+
+#: disk-utils/mkfs.minix.c:778
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "無法決定 %s 的大小"
+
+#: disk-utils/mkfs.minix.c:787
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "將不ćśč©¦č‘—於「%s」製作檔ćˇçł»çµ±"
+
+#: disk-utils/mkfs.minix.c:789
+#, fuzzy, c-format
+msgid "%s: number of blocks too small"
+msgstr "區塊數量太小"
+
+#: disk-utils/mkswap.c:162
+#, fuzzy, c-format
+msgid "Bad user-specified page size %u"
+msgstr "不當的使用者指定é éť˘ĺ¤§ĺ°Ź %d\n"
+
+#: disk-utils/mkswap.c:168
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d"
+msgstr "正在採行使用者指定é éť˘ĺ¤§ĺ°Ź %d, 以代替系統值 %d\n"
+
+#: disk-utils/mkswap.c:191
+#, fuzzy
+msgid "Bad swap header size, no label written."
+msgstr "不當的交換é é¦–大小,未寫入標籤。\n"
+
+#: disk-utils/mkswap.c:201
+#, fuzzy
+msgid "Label was truncated."
+msgstr "標籤已被ćŞć–·ă€‚\n"
+
+#: disk-utils/mkswap.c:207
+#, c-format
+msgid "no label, "
+msgstr "無標籤,"
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "no uuid\n"
+msgstr "沒有 uuid\n"
+
+#: disk-utils/mkswap.c:280
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] device [size]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: disk-utils/mkswap.c:285
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -c, --check check bad blocks before creating the swap area\n"
+" -f, --force allow swap size area be larger than device\n"
+" -p, --pagesize SIZE specify page size in bytes\n"
+" -L, --label LABEL specify label\n"
+" -v, --swapversion NUM specify swap-space version number\n"
+" -U, --uuid UUID specify the uuid to use\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:304
+msgid "too many bad pages"
+msgstr "太多不良é éť˘"
+
+#: disk-utils/mkswap.c:321
+msgid "seek failed in check_blocks"
+msgstr "在 check_blocks 中的尋找失敗"
+
+#: disk-utils/mkswap.c:327
+#, c-format
+msgid "one bad page\n"
+msgstr "一個不良é éť˘\n"
+
+#: disk-utils/mkswap.c:329
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu 個不良é éť˘\n"
+
+#: disk-utils/mkswap.c:358
+msgid "unable to alloc new libblkid probe"
+msgstr "無法配置新的 libblkid 探針"
+
+#: disk-utils/mkswap.c:360
+msgid "unable to assign device to libblkid probe"
+msgstr "無法指派裝置給 libblkid 探針"
+
+#: disk-utils/mkswap.c:376 disk-utils/mkswap.c:410 disk-utils/mkswap.c:625
+msgid "unable to rewind swap-device"
+msgstr "無法倒轉交換裝置"
+
+#: disk-utils/mkswap.c:414
+msgid "unable to erase bootbits sectors"
+msgstr "無法清除開機çŁĺŤ€"
+
+#: disk-utils/mkswap.c:430
+#, fuzzy, c-format
+msgid "%s: warning: don't erase bootbits sectors"
+msgstr "%s:%s:警告:不清除開機çŁĺŤ€\n"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid " (%s partition table detected). "
+msgstr " (ĺµć¸¬ĺ° %s ĺ†ĺ‰˛čˇ¨)。"
+
+#: disk-utils/mkswap.c:435
+#, c-format
+msgid " on whole disk. "
+msgstr " 於整個çŁç˘źă€‚"
+
+#: disk-utils/mkswap.c:437
+#, c-format
+msgid " (compiled without libblkid). "
+msgstr " (編譯時未支援 libblkid)。"
+
+#: disk-utils/mkswap.c:489
+#, fuzzy
+msgid "parse page size failed"
+msgstr "%s:取得大小時失敗"
+
+#: disk-utils/mkswap.c:495
+#, fuzzy
+msgid "parse version number failed"
+msgstr "建立號誌時失敗"
+
+#: disk-utils/mkswap.c:501
+#, fuzzy, c-format
+msgid "warning: ignore -U (UUIDs are unsupported by %s)"
+msgstr "%1$s: 警告:忽略 -U (UUIDs 未被 %1$s 支援)\n"
+
+#: disk-utils/mkswap.c:525
+#, fuzzy, c-format
+msgid "does not support swapspace version %d."
+msgstr "%s:不支援 swapspace ç‰ćś¬ %d。\n"
+
+#: disk-utils/mkswap.c:530
+msgid "error: UUID parsing failed"
+msgstr "錯誤:UUID 剖ćžĺ¤±ć•—"
+
+#: disk-utils/mkswap.c:539
+#, fuzzy
+msgid "error: Nowhere to set up swap on?"
+msgstr "%s:錯誤:無處可設置開啟交換?\n"
+
+#: disk-utils/mkswap.c:545
+#, fuzzy
+msgid "invalid block count argument"
+msgstr "無ć•çš„é¸é …"
+
+#: disk-utils/mkswap.c:553
+#, fuzzy, c-format
+msgid "error: size %llu KiB is larger than device size %llu KiB"
+msgstr "%s:錯誤:大小 %llu KiB 大於裝置大小 %llu KiB\n"
+
+#: disk-utils/mkswap.c:559
+#, fuzzy, c-format
+msgid "error: swap area needs to be at least %ld KiB"
+msgstr "%s:錯誤:交換區需č¦č‡łĺ°‘ %ld KiB\n"
+
+#: disk-utils/mkswap.c:575
+#, fuzzy, c-format
+msgid "warning: truncating swap area to %llu KiB"
+msgstr "%s:警告:將交換區ćŞć–·ç‚ş %llu KiB\n"
+
+#: disk-utils/mkswap.c:580
+#, fuzzy, c-format
+msgid "error: %s is mounted; will not make swapspace."
+msgstr "%s:錯誤:%s 已掛載;將不ćśčŁ˝ä˝śäş¤ćŹ›ç©şé–“。\n"
+
+#: disk-utils/mkswap.c:601
+#, fuzzy, c-format
+msgid "warning: %s is misaligned"
+msgstr "警告:%s 並非區塊裝置\n"
+
+#: disk-utils/mkswap.c:614
+msgid "Unable to set up swap-space: unreadable"
+msgstr "無法設置交換空間:無法讀取"
+
+#: disk-utils/mkswap.c:617
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "設定 swapspace ç‰ćś¬ 1, 大小 = %llu KiB\n"
+
+#: disk-utils/mkswap.c:629
+#, fuzzy, c-format
+msgid "%s: unable to write signature page"
+msgstr "%s:%s:無法寫入簽章é éť˘ďĽš%s"
+
+#: disk-utils/mkswap.c:638
+msgid "fsync failed"
+msgstr "fsync 失敗"
+
+#: disk-utils/mkswap.c:650
+#, fuzzy, c-format
+msgid "%s: unable to obtain selinux file label"
+msgstr "%s: %s: ç„ˇćł•ĺľ—ĺ° selinux 檔ćˇć¨™ç±¤ďĽš%s\n"
+
+#: disk-utils/mkswap.c:653
+msgid "unable to matchpathcon()"
+msgstr "無法 matchpathcon()"
+
+#: disk-utils/mkswap.c:656
+msgid "unable to create new selinux context"
+msgstr "無法建立新的 selinux 相關項目"
+
+#: disk-utils/mkswap.c:658
+msgid "couldn't compute selinux context"
+msgstr "無法č¨ç®— selinux 相關項目"
+
+#: disk-utils/mkswap.c:664
+#, fuzzy, c-format
+msgid "unable to relabel %s to %s"
+msgstr "%s:無法重新標籤 %s 為 %s: %s\n"
+
+#: disk-utils/partx.c:79
+#, fuzzy
+msgid "partition number"
+msgstr "ĺ†ĺ‰˛ĺŤ€ç·¨č™ź"
+
+#: disk-utils/partx.c:80
+#, fuzzy
+msgid "start of the partition in sectors"
+msgstr "只顯示此ĺ†ĺ‰˛čˇ¨"
+
+#: disk-utils/partx.c:81
+#, fuzzy
+msgid "end of the partition in sectors"
+msgstr "寫入ĺ†ĺ‰˛ĺŤ€ć–Ľ %s 時失敗\n"
+
+#: disk-utils/partx.c:82
+#, fuzzy
+msgid "number of sectors"
+msgstr "çŁĺŤ€ć•¸é‡Ź"
+
+#: disk-utils/partx.c:83
+msgid "human readable size"
+msgstr ""
+
+#: disk-utils/partx.c:84
+#, fuzzy
+msgid "partition name"
+msgstr "ĺ†ĺ‰˛ĺŤ€ç·¨č™ź"
+
+#: disk-utils/partx.c:85 misc-utils/findmnt.c:114 misc-utils/lsblk.c:120
+#, fuzzy
+msgid "partition UUID"
+msgstr ""
+"\n"
+"%d ĺ†ĺ‰˛ĺŤ€ďĽš\n"
+
+#: disk-utils/partx.c:86
+#, fuzzy
+msgid "partition table type (dos, gpt, ...)"
+msgstr "正寫入ĺ†ĺ‰˛čˇ¨ĺ°çˇ¬ç˘źâ€¦"
+
+#: disk-utils/partx.c:87
+#, fuzzy
+msgid "partition flags"
+msgstr ""
+"\n"
+"%d ĺ†ĺ‰˛ĺŤ€ďĽš\n"
+
+#: disk-utils/partx.c:88
+#, fuzzy
+msgid "partition type hex or uuid"
+msgstr "權é™č˘«ć‹’用於č­ĺĄč™ź"
+
+#: disk-utils/partx.c:106 sys-utils/losetup.c:251
+#, fuzzy
+msgid "failed to initialize loopcxt"
+msgstr "ĺťĺ§‹ĺŚ–輸出表格時失敗"
+
+#: disk-utils/partx.c:110
+#, fuzzy, c-format
+msgid "%s: failed to find unused loop device"
+msgstr "%s:找不ĺ°ä»»ä˝•ĺŹŻç”¨çš„環路裝置"
+
+#: disk-utils/partx.c:114
+#, fuzzy, c-format
+msgid "Trying to use '%s' for the loop device\n"
+msgstr "mount:即將使用環路裝置 %s\n"
+
+#: disk-utils/partx.c:118
+#, fuzzy, c-format
+msgid "%s: failed to set backing file"
+msgstr "%s:無法尋指ĺ°äş¤ćŹ›ć¨™ç±¤ "
+
+#: disk-utils/partx.c:123 sys-utils/losetup.c:411 sys-utils/mount.c:413
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device"
+msgstr "%s:無法探查裝置"
+
+#: disk-utils/partx.c:153 misc-utils/findmnt.c:341 misc-utils/lsblk.c:258
+#: misc-utils/lslocks.c:342 sys-utils/lscpu.c:260 sys-utils/prlimit.c:271
+#: sys-utils/swapon.c:110 sys-utils/wdctl.c:121
+#, c-format
+msgid "unknown column: %s"
+msgstr "不ćŽç›´ć¬„:%s"
+
+#: disk-utils/partx.c:200
+#, fuzzy, c-format
+msgid "%s: failed to get partition number"
+msgstr "%s:無法寫入標籤"
+
+#: disk-utils/partx.c:265
+#, fuzzy, c-format
+msgid "%s: error deleting partition %d"
+msgstr "ĺ·˛é¸ĺ†ĺ‰˛ĺŤ€ %d\n"
+
+#: disk-utils/partx.c:267
+#, c-format
+msgid "%s: error deleting partitions %d-%d"
+msgstr ""
+
+#: disk-utils/partx.c:291 disk-utils/partx.c:862
+#, c-format
+msgid "specified range <%d:%d> does not make sense"
+msgstr ""
+
+#: disk-utils/partx.c:300
+#, fuzzy, c-format
+msgid "%s: partition #%d removed\n"
+msgstr "無已定義ĺ†ĺ‰˛ĺŤ€\n"
+
+#: disk-utils/partx.c:304
+#, fuzzy, c-format
+msgid "%s: partition #%d already doesn't exist\n"
+msgstr "這個ĺ†ĺ‰˛ĺŤ€ĺ·˛ç¶“ĺ­ĺś¨ă€‚\n"
+
+#: disk-utils/partx.c:309
+#, fuzzy, c-format
+msgid "%s: deleting partition #%d failed"
+msgstr "ĺ·˛é¸ĺ†ĺ‰˛ĺŤ€ %d\n"
+
+#: disk-utils/partx.c:329
+#, fuzzy, c-format
+msgid "%s: error adding partition %d"
+msgstr "並未包ĺ«ć–Ľĺ†ĺ‰˛ĺŤ€ %s 中\n"
+
+#: disk-utils/partx.c:331
+#, fuzzy, c-format
+msgid "%s: error adding partitions %d-%d"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s "
+
+#: disk-utils/partx.c:368
+#, fuzzy, c-format
+msgid "%s: partition #%d added\n"
+msgstr "無已定義ĺ†ĺ‰˛ĺŤ€\n"
+
+#: disk-utils/partx.c:373
+#, fuzzy, c-format
+msgid "%s: adding partition #%d failed"
+msgstr "%s:swapon 失敗"
+
+#: disk-utils/partx.c:426
+#, c-format
+msgid "#%2d: %9ju-%9ju (%9ju sectors, %6ju MB)\n"
+msgstr ""
+
+#: disk-utils/partx.c:443 misc-utils/findmnt.c:548 misc-utils/findmnt.c:565
+#: misc-utils/lslocks.c:391 sys-utils/prlimit.c:222 sys-utils/swapon.c:138
+#: sys-utils/wdctl.c:184
+msgid "failed to add line to output"
+msgstr "加入輸出ĺ—時失敗"
+
+#: disk-utils/partx.c:531 misc-utils/findmnt.c:1318 misc-utils/lsblk.c:1393
+#: misc-utils/lslocks.c:444 sys-utils/lscpu.c:1022 sys-utils/prlimit.c:283
+#: sys-utils/swapon.c:230 sys-utils/wdctl.c:226
+msgid "failed to initialize output table"
+msgstr "ĺťĺ§‹ĺŚ–輸出表格時失敗"
+
+#: disk-utils/partx.c:539 misc-utils/findmnt.c:1336 misc-utils/lsblk.c:1403
+#: misc-utils/lslocks.c:452 sys-utils/prlimit.c:291 sys-utils/swapon.c:238
+#: sys-utils/wdctl.c:235
+msgid "failed to initialize output column"
+msgstr "ĺťĺ§‹ĺŚ–輸出欄時失敗"
+
+#: disk-utils/partx.c:577
+#, fuzzy, c-format
+msgid "failed to initialize blkid filter for '%s'"
+msgstr "ĺťĺ§‹ĺŚ– libmount 迭代器時失敗"
+
+#: disk-utils/partx.c:585
+#, fuzzy, c-format
+msgid "%s: failed to read partition table"
+msgstr "重新讀取ĺ†ĺ‰˛čˇ¨"
+
+#: disk-utils/partx.c:591
+#, fuzzy, c-format
+msgid "%s: partition table type '%s' detected\n"
+msgstr " (ĺµć¸¬ĺ° %s ĺ†ĺ‰˛čˇ¨)。"
+
+#: disk-utils/partx.c:595
+#, fuzzy, c-format
+msgid "%s: partition table with no partitions"
+msgstr "çŁç˘ź %s 不包ĺ«ćś‰ć•çš„ĺ†ĺ‰˛čˇ¨\n"
+
+#: disk-utils/partx.c:607
+#, c-format
+msgid " %s [-a|-d|-s] [--nr <n:m> | <partition>] <disk>\n"
+msgstr ""
+
+#: disk-utils/partx.c:611
+msgid ""
+" -a, --add add specified partitions or all of them\n"
+" -d, --delete delete specified partitions or all of them\n"
+" -l, --list list partitions (DEPRECATED)\n"
+" -s, --show list partitions\n"
+"\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -g, --noheadings don't print headings for --show\n"
+" -n, --nr <n:m> specify the range of partitions (e.g. --nr 2:4)\n"
+" -o, --output <type> define which output columns to use\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --type <type> specify the partition type (dos, bsd, solaris, etc.)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: disk-utils/partx.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show, --raw or --pairs):\n"
+msgstr "可用命令:\n"
+
+#: disk-utils/partx.c:701
+#, fuzzy
+msgid "failed to parse --nr <M-N> range"
+msgstr "剖ćžĺ„Şĺ…權時失敗"
+
+#: disk-utils/partx.c:798
+#, fuzzy
+msgid "--nr and <partition> are mutually exclusive"
+msgstr "é¸é …彼此互斥"
+
+#: disk-utils/partx.c:817
+#, c-format
+msgid "partition: %s, disk: %s, lower: %d, upper: %d\n"
+msgstr ""
+
+#: disk-utils/partx.c:829
+#, fuzzy, c-format
+msgid "%s: cannot delete partitions"
+msgstr "無法ĺŞé™¤ä¸€ĺ€‹ç©şçš„ĺ†ĺ‰˛ĺŤ€"
+
+#: disk-utils/partx.c:832
+#, fuzzy, c-format
+msgid "%s: partitioned loop devices unsupported"
+msgstr "速度 %d 不受支援"
+
+#: disk-utils/partx.c:849
+#, fuzzy, c-format
+msgid "%s: failed to initialize blkid prober"
+msgstr "ĺťĺ§‹ĺŚ–ĺ—緩衝區時失敗\n"
+
+#: disk-utils/raw.c:52
+#, c-format
+msgid ""
+" %1$s %2$srawN <major> <minor>\n"
+" %1$s %2$srawN /dev/<blockdevice>\n"
+" %1$s -q %2$srawN\n"
+" %1$s -qa\n"
+msgstr ""
+
+#: disk-utils/raw.c:58
+msgid " -q, --query set query mode\n"
+msgstr ""
+
+#: disk-utils/raw.c:59
+msgid " -a, --all query all raw devices\n"
+msgstr ""
+
+#: disk-utils/raw.c:161
+#, fuzzy, c-format
+msgid ""
+"Device '%s' is the control raw device (use raw<N> where <N> is greater than "
+"zero)"
+msgstr "裝置「%să€ŤćŽ§ĺ¶ raw 裝置 (使用 raw<N> 其中 <N> 大於零)\n"
+
+#: disk-utils/raw.c:178
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s'"
+msgstr "無法定位區塊裝置「%s」(%s)\n"
+
+#: disk-utils/raw.c:181
+#, fuzzy, c-format
+msgid "Device '%s' is not a block device"
+msgstr "裝置「%s」並非區塊裝置\n"
+
+#: disk-utils/raw.c:190 disk-utils/raw.c:193 sys-utils/ipcrm.c:340
+#: sys-utils/ipcrm.c:353 sys-utils/ipcrm.c:366
+#, fuzzy
+msgid "failed to parse argument"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: disk-utils/raw.c:210
+#, fuzzy, c-format
+msgid "Cannot open master raw device '%s'"
+msgstr "ç„ˇćł•é–‹ĺ•źä¸»č¦ raw 裝置 '"
+
+#: disk-utils/raw.c:225
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s'"
+msgstr "無法定位 raw 裝置「%s」(%s)\n"
+
+#: disk-utils/raw.c:228
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev"
+msgstr "Raw 裝置「%s」並非字ĺ…裝置\n"
+
+#: disk-utils/raw.c:232
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev"
+msgstr "裝置「%s」並非 raw 裝置\n"
+
+#: disk-utils/raw.c:242
+#, fuzzy
+msgid "Error querying raw device"
+msgstr "查詢 raw 裝置 (%s) 時發生錯誤\n"
+
+#: disk-utils/raw.c:251 disk-utils/raw.c:266
+#, fuzzy, c-format
+msgid "%sraw%d: bound to major %d, minor %d\n"
+msgstr "raw%d:\tçą«çµĺ°ä¸»č¦ %dďĽŚć¬ˇč¦ %d\n"
+
+#: disk-utils/raw.c:265
+#, fuzzy
+msgid "Error setting raw device"
+msgstr "設定 raw 裝置 (%s) 時發生錯誤\n"
+
+#: disk-utils/resizepart.c:18
+#, fuzzy, c-format
+msgid " %s <disk device> <partition number> <length>\n"
+msgstr "用法:sfdisk --id 裝置 ĺ†ĺ‰˛ĺŤ€ç·¨č™ź [č­ĺĄč™ź]\n"
+
+#: disk-utils/resizepart.c:98
+#, fuzzy, c-format
+msgid "%s: failed to get start of the partition number %s"
+msgstr "%s:無法寫入標籤"
+
+#: disk-utils/resizepart.c:103
+#, fuzzy
+msgid "failed to resize partition"
+msgstr "重新讀取ĺ†ĺ‰˛čˇ¨"
+
+#: disk-utils/swaplabel.c:50 disk-utils/swaplabel.c:63
+#, c-format
+msgid "%s: unable to probe device"
+msgstr "%s:無法探查裝置"
+
+#: disk-utils/swaplabel.c:65
+#, c-format
+msgid "%s: ambivalent probing result, use wipefs(8)"
+msgstr "%s:探查çµćžśç”˘ç”źçź›ç›ľďĽŚä˝żç”¨ wipefs(8)"
+
+#: disk-utils/swaplabel.c:67
+#, c-format
+msgid "%s: not a valid swap partition"
+msgstr "%s:不ćŻćś‰ć•çš„交換ĺ†ĺ‰˛ĺŤ€"
+
+#: disk-utils/swaplabel.c:74
+#, c-format
+msgid "%s: unsupported swap version '%s'"
+msgstr "%s:不受支援的交換ç‰ćś¬ă€Ś%s」"
+
+#: disk-utils/swaplabel.c:114
+#, c-format
+msgid "failed to parse UUID: %s"
+msgstr "ĺ‰–ćž UUID 時失敗:%s"
+
+#: disk-utils/swaplabel.c:118
+#, c-format
+msgid "%s: failed to seek to swap UUID"
+msgstr "%s:無法尋指ĺ°äş¤ćŹ› UUID"
+
+#: disk-utils/swaplabel.c:122
+#, c-format
+msgid "%s: failed to write UUID"
+msgstr "%s:無法寫入 UUID"
+
+#: disk-utils/swaplabel.c:133
+#, c-format
+msgid "%s: failed to seek to swap label "
+msgstr "%s:無法尋指ĺ°äş¤ćŹ›ć¨™ç±¤ "
+
+#: disk-utils/swaplabel.c:140
+#, c-format
+msgid "label is too long. Truncating it to '%s'"
+msgstr "標籤太長。將ĺ®ćŞć–·ç‚şă€Ś%s」"
+
+#: disk-utils/swaplabel.c:143
+#, c-format
+msgid "%s: failed to write label"
+msgstr "%s:無法寫入標籤"
+
+#: disk-utils/swaplabel.c:162
+#, fuzzy
+msgid ""
+" -L, --label <label> specify a new label\n"
+" -U, --uuid <uuid> specify a new uuid\n"
+msgstr ""
+" -h, --help 這個說ćŽ\n"
+" -L, --label <label> 指定新的標籤\n"
+" -U, --uuid <uuid> 指定新的 uuid\n"
+
+#: disk-utils/swaplabel.c:205
+msgid "ignore -U (UUIDs are unsupported)"
+msgstr "忽略 -U (UUIDs 不受支援)"
+
+#: fdisks/cfdisk.c:363
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s:č¨ć†¶é«”不足ďĽ\n"
+
+# "無法建立 %s: %s\n"
+#: fdisks/cfdisk.c:388 fdisks/cfdisk.c:1901
+msgid "Unusable"
+msgstr "無法使用"
+
+#: fdisks/cfdisk.c:390 fdisks/cfdisk.c:1903
+msgid "Free Space"
+msgstr "剩é¤ç©şé–“"
+
+#: fdisks/cfdisk.c:405
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "çŁç˘źĺ·˛č®Šć›´ă€‚\n"
+
+#: fdisks/cfdisk.c:407
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr "系統重新開機以確保ĺ†ĺ‰˛čˇ¨ć­Łç˘şĺś°č˘«ć›´ć–°ă€‚\n"
+
+#: fdisks/cfdisk.c:411
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"警告:如果您已建立ć–修改任何\n"
+"DOS 6.x ĺ†ĺ‰˛ĺŤ€ďĽŚč«‹ĺŹçś‹ cfdisk 手冊\n"
+"以獲得額外的資訊。\n"
+
+#: fdisks/cfdisk.c:555
+msgid "FATAL ERROR"
+msgstr "嚴重錯誤"
+
+#: fdisks/cfdisk.c:556
+msgid "Press any key to exit cfdisk"
+msgstr "按任何鍵以離開 cfdisk"
+
+#: fdisks/cfdisk.c:603 fdisks/cfdisk.c:611
+msgid "Cannot seek on disk drive"
+msgstr "無法ćśĺ°‹çŁç˘ź"
+
+#: fdisks/cfdisk.c:605
+msgid "Cannot read disk drive"
+msgstr "無法讀取çŁç˘ź"
+
+#: fdisks/cfdisk.c:613
+msgid "Cannot write disk drive"
+msgstr "無法寫入çŁç˘ź"
+
+#: fdisks/cfdisk.c:821
+msgid "Too many partitions"
+msgstr "ĺ†ĺ‰˛ĺŤ€éŽĺ¤š"
+
+#: fdisks/cfdisk.c:826
+msgid "Partition begins before sector 0"
+msgstr "ĺ†ĺ‰˛ĺŤ€é–‹ç«Żĺ°Źć–ĽçŁĺŤ€ 0"
+
+#: fdisks/cfdisk.c:831
+msgid "Partition ends before sector 0"
+msgstr "ĺ†ĺ‰˛ĺŤ€çµĺ°ľĺ°Źć–ĽçŁĺŤ€ 0"
+
+#: fdisks/cfdisk.c:836
+msgid "Partition begins after end-of-disk"
+msgstr "ĺ†ĺ‰˛ĺŤ€é–‹ç«Żĺ¤§ć–ĽçŁç˘źćś«ç«Ż"
+
+#: fdisks/cfdisk.c:841
+msgid "Partition ends after end-of-disk"
+msgstr "ĺ†ĺ‰˛ĺŤ€çµĺ°ľĺ¤§ć–ĽçŁç˘źćś«ç«Ż"
+
+#: fdisks/cfdisk.c:865
+msgid "logical partitions not in disk order"
+msgstr "邏輯ĺ†ĺ‰˛ĺŤ€ćśŞćŚ‰çŁç˘źé †ĺşŹ"
+
+#: fdisks/cfdisk.c:868
+msgid "logical partitions overlap"
+msgstr "邏輯ĺ†ĺ‰˛ĺŤ€é‡Ťç–Š"
+
+#: fdisks/cfdisk.c:872
+msgid "enlarged logical partitions overlap"
+msgstr "擴大的邏輯ĺ†ĺ‰˛ĺŤ€é‡Ťç–Š"
+
+#: fdisks/cfdisk.c:902
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "!!!! ĺ…§é¨éŚŻčޤ! 新增邏輯çŁç˘źć˛’有用於擴展ĺ†ĺ‰˛ĺŤ€ !!!!"
+
+#: fdisks/cfdisk.c:913 fdisks/cfdisk.c:925
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr "無法在此新增邏輯çŁç˘ź -- 如此將造ć二個擴展ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:1059
+msgid "Menu item too long. Menu may look odd."
+msgstr "é¸ĺ–®é …目太長,é¸ĺ–®çś‹čµ·äľ†ćśĺľĺĄ‡ć€Şă€‚"
+
+#: fdisks/cfdisk.c:1174
+msgid "Illegal key"
+msgstr "無ć•ćŚ‰éŤµ"
+
+#: fdisks/cfdisk.c:1199
+msgid "Press a key to continue"
+msgstr "按任何鍵繼續"
+
+#: fdisks/cfdisk.c:1246 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2404
+#: fdisks/cfdisk.c:2406
+msgid "Primary"
+msgstr "主č¦çš„"
+
+#: fdisks/cfdisk.c:1246
+msgid "Create a new primary partition"
+msgstr "新增一個主č¦ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:1247 fdisks/cfdisk.c:1872 fdisks/cfdisk.c:2403
+#: fdisks/cfdisk.c:2406
+msgid "Logical"
+msgstr "邏輯的"
+
+#: fdisks/cfdisk.c:1247
+msgid "Create a new logical partition"
+msgstr "新增一個邏輯ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303 fdisks/cfdisk.c:2077
+msgid "Cancel"
+msgstr "取ć¶"
+
+#: fdisks/cfdisk.c:1248 fdisks/cfdisk.c:1303
+msgid "Don't create a partition"
+msgstr "不č¦ć–°ĺ˘žä¸€ĺ€‹ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:1264
+msgid "!!! Internal error !!!"
+msgstr "!!! ĺ…§é¨éŚŻčޤ !!!"
+
+#: fdisks/cfdisk.c:1267
+msgid "Size (in MB): "
+msgstr "大小 (單位 MB): "
+
+#: fdisks/cfdisk.c:1301
+msgid "Beginning"
+msgstr "開始"
+
+#: fdisks/cfdisk.c:1301
+msgid "Add partition at beginning of free space"
+msgstr "新增ĺ†ĺ‰˛ĺŤ€ć–Ľĺ‰©é¤ç©şé–“開頭位置"
+
+#: fdisks/cfdisk.c:1302
+msgid "End"
+msgstr "çµćťź"
+
+#: fdisks/cfdisk.c:1302
+msgid "Add partition at end of free space"
+msgstr "新增ĺ†ĺ‰˛ĺŤ€ć–Ľĺ‰©é¤ç©şé–“ćś«ç«Ż"
+
+#: fdisks/cfdisk.c:1320
+msgid "No room to create the extended partition"
+msgstr "已無多é¤çš„çŁç˘źç©şé–“可開啟擴充ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:1389
+msgid "No partition table.\n"
+msgstr "無ĺ†ĺ‰˛čˇ¨ă€‚\n"
+
+#: fdisks/cfdisk.c:1393
+msgid "No partition table. Starting with zero table."
+msgstr "無ĺ†ĺ‰˛čˇ¨ă€‚以空的表格開始。"
+
+#: fdisks/cfdisk.c:1403
+msgid "Bad signature on partition table"
+msgstr "ĺ†ĺ‰˛čˇ¨ä¸Šćś‰ä¸Ťç•¶çš„簽章"
+
+#: fdisks/cfdisk.c:1407
+msgid "Unknown partition table type"
+msgstr "不ćŽçš„ĺ†ĺ‰˛čˇ¨éˇžĺž‹"
+
+#: fdisks/cfdisk.c:1409
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "您ćłč¦ä»Ąä¸€ĺ€‹ç©şçš„ĺ†ĺ‰˛čˇ¨é–‹ĺ§‹ĺ—Ž [y/N] ?"
+
+#: fdisks/cfdisk.c:1456
+msgid "You specified more cylinders than fit on disk"
+msgstr "您指定了比çŁç˘źä¸Šé‚„多的çŁćź±ć•¸"
+
+#: fdisks/cfdisk.c:1492
+msgid "Cannot open disk drive"
+msgstr "無法開啟çŁç˘ź"
+
+#: fdisks/cfdisk.c:1494 fdisks/cfdisk.c:1683
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "已開啟çŁç˘źç‚şĺ”Żč®€ - 您無權é™ĺŹŻĺŻ«ĺ…Ą"
+
+#: fdisks/cfdisk.c:1505
+msgid ""
+"Warning!! Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr "警告 !! ĺµć¸¬ĺ°ä¸ŤĺŹ—支援的 GPT (GUID ĺ†ĺ‰˛čˇ¨)。使用 GNU Parted。"
+
+#: fdisks/cfdisk.c:1524
+msgid "Cannot get disk size"
+msgstr "無法取得çŁç˘źĺ¤§ĺ°Ź"
+
+#: fdisks/cfdisk.c:1550
+msgid "Bad primary partition"
+msgstr "壞的主č¦ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:1580
+msgid "Bad logical partition"
+msgstr "壞的邏輯ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:1695
+msgid "Warning!! This may destroy data on your disk!"
+msgstr "警告!! 這項操作可č˝ćśä˝żć‚¨çˇ¬ç˘źä¸­çš„資料ć¶ĺ¤±!"
+
+#: fdisks/cfdisk.c:1699
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr "您確定č¦ĺ°‡ĺ†ĺ‰˛čˇ¨ĺŻ«ĺ…Ąçˇ¬ç˘źä¸­ĺ—Ž? (yes ć– no):"
+
+#: fdisks/cfdisk.c:1705 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "no"
+msgstr "ĺ¦"
+
+#: fdisks/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "不č¦ĺ°‡ĺ†ĺ‰˛čˇ¨ĺŻ«ĺ…Ąçˇ¬ç˘ź"
+
+#: fdisks/cfdisk.c:1709 sys-utils/lscpu.c:866 sys-utils/lscpu.c:876
+#, c-format
+msgid "yes"
+msgstr "ćŻ"
+
+#: fdisks/cfdisk.c:1713
+msgid "Please enter `yes' or `no'"
+msgstr "請鍵入 `yes' ć– `no'"
+
+#: fdisks/cfdisk.c:1717
+msgid "Writing partition table to disk..."
+msgstr "正寫入ĺ†ĺ‰˛čˇ¨ĺ°çˇ¬ç˘źâ€¦"
+
+#: fdisks/cfdisk.c:1742 fdisks/cfdisk.c:1746
+msgid "Wrote partition table to disk"
+msgstr "已將ĺ†ĺ‰˛čˇ¨ĺŻ«ĺ…Ąçˇ¬ç˘ź"
+
+#: fdisks/cfdisk.c:1744
+msgid ""
+"Wrote partition table, but re-read table failed. Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"已寫入ĺ†ĺ‰˛čˇ¨ďĽŚä˝†é‡Ťč®€ĺ¤±ć•—。 請執行 partprobe(8)ă€kpartx(8) ć–重新開機以更新ĺ†"
+"割表。"
+
+#: fdisks/cfdisk.c:1754
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr "沒有主č¦ĺ†ĺ‰˛ĺŤ€č˘«ć¨™č¨ç‚şĺŹŻé–‹ć©ź. DOS MBR 無法由此開機."
+
+#: fdisks/cfdisk.c:1756
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr "超éŽä¸€ĺ€‹ä¸»č¦ĺ†ĺ‰˛ĺŤ€ć¨™č¨ç‚şĺŹŻé–‹ć©ź. DOS MBR 無法由此開機."
+
+#: fdisks/cfdisk.c:1814 fdisks/cfdisk.c:1933 fdisks/cfdisk.c:2017
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "鍵入檔ĺŤć–按 Enter 鍵以顯示於螢幕上: "
+
+#: fdisks/cfdisk.c:1834
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "硬碟: %s\n"
+
+#: fdisks/cfdisk.c:1836
+msgid "Sector 0:\n"
+msgstr "çŁĺŤ€ 0:\n"
+
+#: fdisks/cfdisk.c:1843
+#, c-format
+msgid "Sector %d:\n"
+msgstr "çŁĺŤ€ %d:\n"
+
+#: fdisks/cfdisk.c:1863
+msgid " None "
+msgstr " 無 "
+
+#: fdisks/cfdisk.c:1865
+msgid " Pri/Log"
+msgstr " 主č¦/邏輯"
+
+#: fdisks/cfdisk.c:1867
+msgid " Primary"
+msgstr " 主č¦çš„ "
+
+#: fdisks/cfdisk.c:1869
+msgid " Logical"
+msgstr " 邏輯的"
+
+#: fdisks/cfdisk.c:1907 fdisks/fdisk.c:904 fdisks/fdisk.c:1227
+#: fdisks/fdisksgilabel.c:210 fdisks/fdisksunlabel.c:586 fdisks/sfdisk.c:609
+msgid "Unknown"
+msgstr "未知"
+
+#: fdisks/cfdisk.c:1913 fdisks/cfdisk.c:2381 fdisks/fdisksunlabel.c:32
+msgid "Boot"
+msgstr "可開機"
+
+#: fdisks/cfdisk.c:1915
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisks/cfdisk.c:1917
+msgid "None"
+msgstr "無"
+
+#: fdisks/cfdisk.c:1952 fdisks/cfdisk.c:2036
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "%s çš„ĺ†ĺ‰˛čˇ¨\n"
+
+#: fdisks/cfdisk.c:1954
+msgid " First Last\n"
+msgstr " 第一個 最後的\n"
+
+#: fdisks/cfdisk.c:1955
+msgid ""
+" # Type Sector Sector Offset Length Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # 類型 çŁĺŤ€ çŁĺŤ€ĺŹç§»ĺ€Ľ 長度 檔ćˇçł»çµ±éˇžĺž‹ (ID) ć——"
+"標\n"
+
+#: fdisks/cfdisk.c:1956
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisks/cfdisk.c:2039
+msgid " ---Starting---- ----Ending----- Start Number of\n"
+msgstr " ---開始--- ----çµćťź----- 開始 數量\n"
+
+#: fdisks/cfdisk.c:2040
+msgid " # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n"
+msgstr " # 旗標 çŁé ­ çŁĺŤ€ çŁćź± ID çŁé ­ çŁĺŤ€ çŁćź± çŁĺŤ€ çŁĺŤ€ć•¸ \n"
+
+#: fdisks/cfdisk.c:2041
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisks/cfdisk.c:2074
+msgid "Raw"
+msgstr "原始"
+
+#: fdisks/cfdisk.c:2074
+msgid "Print the table using raw data format"
+msgstr "用原始資料格式顯示ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/cfdisk.c:2075 fdisks/cfdisk.c:2178
+msgid "Sectors"
+msgstr "çŁĺŤ€"
+
+#: fdisks/cfdisk.c:2075
+msgid "Print the table ordered by sectors"
+msgstr "用çŁĺŤ€ć•¸ĺ¤§ĺ°ŹéˇŻç¤şĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/cfdisk.c:2076
+msgid "Table"
+msgstr "ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/cfdisk.c:2076
+msgid "Just print the partition table"
+msgstr "只顯示此ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/cfdisk.c:2077
+msgid "Don't print the table"
+msgstr "不顯示此ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/cfdisk.c:2105
+msgid "Help Screen for cfdisk"
+msgstr "cfdisk 的說ćŽç•«éť˘"
+
+#: fdisks/cfdisk.c:2107
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "本程式 cfdisk,ćŻä¸€ĺ€‹ä»Ąć¸¸ć¨™ć“Ťä˝śç‚şĺźşç¤Žçš„硬碟ĺ†ĺ‰˛ç¨‹ĺĽŹďĽŚ"
+
+#: fdisks/cfdisk.c:2108
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "可供您新增ă€ĺŞé™¤ĺ’Śäż®ć”ąçˇ¬ç˘źä¸­çš„ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:2109
+msgid "disk drive."
+msgstr "。"
+
+#: fdisks/cfdisk.c:2111
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "著作權©1994-1999 Kevin E.Martin & aeb"
+
+#: fdisks/cfdisk.c:2113
+msgid "Command Meaning"
+msgstr "按鍵命令 意義"
+
+#: fdisks/cfdisk.c:2114
+msgid "------- -------"
+msgstr "------- -------"
+
+#: fdisks/cfdisk.c:2115
+msgid " b Toggle bootable flag of the current partition"
+msgstr " b ĺ‡ćŹ›ç›®ĺ‰Ťĺ†ĺ‰˛ĺŤ€çš„開機屬性旗標"
+
+#: fdisks/cfdisk.c:2116
+msgid " d Delete the current partition"
+msgstr " d ĺŞé™¤ç›®ĺ‰Ťçš„ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:2117
+msgid " g Change cylinders, heads, sectors-per-track parameters"
+msgstr " g 變更çŁćź±ă€çŁé ­ă€ćŻŹä¸€çŁč»ŚçŁĺŤ€ć•¸ĺ„é …ĺŹć•¸"
+
+#: fdisks/cfdisk.c:2118
+msgid " WARNING: This option should only be used by people who"
+msgstr " 警告: ć­¤é¸é …只é©ç”¨ć–Ľé‚Łäş›"
+
+#: fdisks/cfdisk.c:2119
+msgid " know what they are doing."
+msgstr " 知é“他自己在ĺšä»€éşĽçš„人。"
+
+#: fdisks/cfdisk.c:2120
+msgid " h Print this screen"
+msgstr " h 顯示本說ćŽç•«éť˘"
+
+#: fdisks/cfdisk.c:2121
+msgid " m Maximize disk usage of the current partition"
+msgstr " m ĺ°‡ĺ†ĺ‰˛ĺŤ€çš„用量最大化"
+
+#: fdisks/cfdisk.c:2122
+msgid " Note: This may make the partition incompatible with"
+msgstr " 注意: 這將使ĺ†ĺ‰˛ĺŤ€ä¸Ťç›¸ĺ®ąć–Ľ"
+
+#: fdisks/cfdisk.c:2123
+msgid " DOS, OS/2, ..."
+msgstr " DOS, OS/2,…"
+
+#: fdisks/cfdisk.c:2124
+msgid " n Create new partition from free space"
+msgstr " n 由剩é¤ç©şé–“中新增一塊ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:2125
+msgid " p Print partition table to the screen or to a file"
+msgstr " p 顯示ĺ†ĺ‰˛čˇ¨ć–Ľčž˘ĺą•ć–輸出至檔ćˇ"
+
+#: fdisks/cfdisk.c:2126
+msgid " There are several different formats for the partition"
+msgstr " 這裡有不ĺŚçš„ĺ†ĺ‰˛ĺŤ€ć ĽĺĽŹ"
+
+#: fdisks/cfdisk.c:2127
+msgid " that you can choose from:"
+msgstr " 以下您可以é¸ć“‡:"
+
+#: fdisks/cfdisk.c:2128
+msgid " r - Raw data (exactly what would be written to disk)"
+msgstr " r - 原始資料 (和您寫入硬碟中的一樣)"
+
+#: fdisks/cfdisk.c:2129
+msgid " s - Table ordered by sectors"
+msgstr " s - ĺ†ĺ‰˛čˇ¨ä»ĄçŁĺŤ€ć•¸ćŽ’ĺ—"
+
+#: fdisks/cfdisk.c:2130
+msgid " t - Table in raw format"
+msgstr " t - ĺ†ĺ‰˛čˇ¨ä»ĄĺŽźĺ§‹ć ĽĺĽŹéˇŻç¤ş"
+
+#: fdisks/cfdisk.c:2131
+msgid " q Quit program without writing partition table"
+msgstr " q 離開本程式並且不寫入ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/cfdisk.c:2132
+msgid " t Change the filesystem type"
+msgstr " t 變更檔ćˇçł»çµ±çš„類型"
+
+#: fdisks/cfdisk.c:2133
+msgid " u Change units of the partition size display"
+msgstr " u 變更ĺ†ĺ‰˛ĺŤ€ĺ¤§ĺ°Źçš„顯示單位"
+
+#: fdisks/cfdisk.c:2134
+msgid " Rotates through MB, sectors and cylinders"
+msgstr " 循環顯示 MBă€çŁĺŤ€ć•¸ĺ’ŚçŁćź±ć•¸"
+
+#: fdisks/cfdisk.c:2135
+msgid " W Write partition table to disk (must enter upper case W)"
+msgstr " W 寫入ĺ†ĺ‰˛čˇ¨ (寫入一定č¦ç”¨ĺ¤§ĺŻ« W)"
+
+#: fdisks/cfdisk.c:2136
+msgid " Since this might destroy data on the disk, you must"
+msgstr " 因為這將ćśä˝żć‚¨çš„硬碟中的資料ć¶ĺ¤±ďĽŚć‚¨ĺż…é "
+
+#: fdisks/cfdisk.c:2137
+msgid " either confirm or deny the write by entering `yes' or"
+msgstr " ćŽç˘şĺś°ĺ›žç­” 'yes' 代表寫入,若不č¦ĺŻ«ĺ…Ąč«‹ĺ›žç­”"
+
+#: fdisks/cfdisk.c:2138
+msgid " `no'"
+msgstr " `no'"
+
+#: fdisks/cfdisk.c:2139
+msgid "Up Arrow Move cursor to the previous partition"
+msgstr "ĺ‘上鍵 移動往上鍵可移至上一個ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:2140
+msgid "Down Arrow Move cursor to the next partition"
+msgstr "ĺ‘下鍵 移動往下鍵可移至下一個ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:2141
+msgid "CTRL-L Redraws the screen"
+msgstr "CTRL-L 重新整ç†ç•«éť˘(以免有ć®ĺ˝±)"
+
+#: fdisks/cfdisk.c:2142
+msgid " ? Print this screen"
+msgstr " ? 顯示此畫面"
+
+#: fdisks/cfdisk.c:2144
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "注意: 以上所有的按鍵命令均不區ĺ†ĺ¤§ĺ°ŹĺŻ«"
+
+#: fdisks/cfdisk.c:2145
+msgid "case letters (except for Writes)."
+msgstr "(除了 '寫入' 之外)。"
+
+#: fdisks/cfdisk.c:2176 fdisks/fdisksunlabel.c:195
+msgid "Cylinders"
+msgstr "çŁćź±"
+
+#: fdisks/cfdisk.c:2176
+msgid "Change cylinder geometry"
+msgstr "變更çŁćź±çµć§‹"
+
+#: fdisks/cfdisk.c:2177 fdisks/fdisksunlabel.c:193
+msgid "Heads"
+msgstr "çŁé ­"
+
+#: fdisks/cfdisk.c:2177
+msgid "Change head geometry"
+msgstr "變更çŁé ­çµć§‹"
+
+#: fdisks/cfdisk.c:2178
+msgid "Change sector geometry"
+msgstr "變更çŁĺŤ€çµć§‹"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done"
+msgstr "完ć"
+
+#: fdisks/cfdisk.c:2179
+msgid "Done with changing geometry"
+msgstr "變更çµć§‹ĺ®Ść"
+
+#: fdisks/cfdisk.c:2192
+msgid "Enter the number of cylinders: "
+msgstr "鍵入çŁćź±ć•¸: "
+
+#: fdisks/cfdisk.c:2203 fdisks/cfdisk.c:2781
+msgid "Illegal cylinders value"
+msgstr "çŁćź±ć•¸ĺ€Ľä¸Ťĺćł•"
+
+#: fdisks/cfdisk.c:2209
+msgid "Enter the number of heads: "
+msgstr "鍵入çŁé ­ć•¸ĺ­—: "
+
+#: fdisks/cfdisk.c:2216 fdisks/cfdisk.c:2791
+msgid "Illegal heads value"
+msgstr "çŁé ­ć•¸ĺ€Ľä¸Ťĺćł•"
+
+#: fdisks/cfdisk.c:2222
+msgid "Enter the number of sectors per track: "
+msgstr "鍵入每一çŁč»Śçš„çŁĺŤ€ć•¸: "
+
+#: fdisks/cfdisk.c:2229 fdisks/cfdisk.c:2798
+msgid "Illegal sectors value"
+msgstr "çŁĺŤ€ć•¸ä¸Ťĺćł•"
+
+#: fdisks/cfdisk.c:2332
+msgid "Enter filesystem type: "
+msgstr "請觀察上表,輸入該檔ćˇçł»çµ±çš„類型代碼: "
+
+#: fdisks/cfdisk.c:2350
+msgid "Cannot change FS Type to empty"
+msgstr "無法變更檔ćˇçł»çµ±éˇžĺž‹ç‚şç©ş"
+
+#: fdisks/cfdisk.c:2352
+msgid "Cannot change FS Type to extended"
+msgstr "無法變更檔ćˇçł»çµ±éˇžĺž‹ç‚şć“´ĺ±•çš„"
+
+#: fdisks/cfdisk.c:2383
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unk(%02X)"
+
+#: fdisks/cfdisk.c:2386 fdisks/cfdisk.c:2389
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisks/cfdisk.c:2394 fdisks/cfdisk.c:2397
+msgid "NC"
+msgstr "NC"
+
+#: fdisks/cfdisk.c:2405
+msgid "Pri/Log"
+msgstr "主č¦/邏輯"
+
+#: fdisks/cfdisk.c:2412
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "未知的 (%02X)"
+
+#: fdisks/cfdisk.c:2481
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "硬碟: %s"
+
+#: fdisks/cfdisk.c:2488
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "大小: %lld 位ĺ…組, %lld MB"
+
+#: fdisks/cfdisk.c:2491
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "大小: %lld 位ĺ…組, %lld.%lld GB"
+
+#: fdisks/cfdisk.c:2495
+#, c-format
+msgid "Heads: %d Sectors per Track: %d Cylinders: %lld"
+msgstr "çŁé ­ć•¸: %d 每一çŁč»Śçš„çŁĺŤ€ć•¸: %d çŁćź±ć•¸: %lld"
+
+#: fdisks/cfdisk.c:2499 login-utils/chfn.c:248 login-utils/chfn.c:328
+msgid "Name"
+msgstr "ĺŤç¨±"
+
+#: fdisks/cfdisk.c:2500
+msgid "Flags"
+msgstr "屬性旗標"
+
+#: fdisks/cfdisk.c:2501
+msgid "Part Type"
+msgstr "ĺ†ĺ‰˛ĺŤ€éˇžĺž‹"
+
+#: fdisks/cfdisk.c:2502
+msgid "FS Type"
+msgstr "檔ćˇçł»çµ±éˇžĺž‹"
+
+#: fdisks/cfdisk.c:2503
+msgid "[Label]"
+msgstr "[標č¨ĺŤç¨±]"
+
+#: fdisks/cfdisk.c:2505
+msgid " Sectors"
+msgstr " çŁĺŤ€"
+
+#: fdisks/cfdisk.c:2507
+msgid " Cylinders"
+msgstr " çŁćź±"
+
+#: fdisks/cfdisk.c:2509
+msgid " Size (MB)"
+msgstr " 大小 (MB)"
+
+#: fdisks/cfdisk.c:2511
+msgid " Size (GB)"
+msgstr " 大小 (GB)"
+
+#: fdisks/cfdisk.c:2533
+msgid "No more partitions"
+msgstr "已無多é¤çš„ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:2566
+msgid "Bootable"
+msgstr "可開機"
+
+#: fdisks/cfdisk.c:2566
+msgid "Toggle bootable flag of the current partition"
+msgstr "ĺ‡ćŹ›ç›®ĺ‰Ťĺ†ĺ‰˛ĺŤ€çš„屬性旗標"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete"
+msgstr "ĺŞé™¤"
+
+#: fdisks/cfdisk.c:2567
+msgid "Delete the current partition"
+msgstr "ĺŞé™¤ç›®ĺ‰Ťçš„ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:2568
+msgid "Geometry"
+msgstr "çµć§‹"
+
+#: fdisks/cfdisk.c:2568
+msgid "Change disk geometry (experts only)"
+msgstr "變更çŁç˘źçµć§‹ (č€ć‰‹é©ç”¨)"
+
+#: fdisks/cfdisk.c:2569
+msgid "Help"
+msgstr "求助"
+
+#: fdisks/cfdisk.c:2569
+msgid "Print help screen"
+msgstr "顯示說ćŽç•«éť˘"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize"
+msgstr "最大化"
+
+#: fdisks/cfdisk.c:2570
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "使目前的ĺ†ĺ‰˛ĺŤ€çš„çŁç˘źä˝żç”¨ćś€ĺ¤§ĺŚ– (č€ć‰‹é©ç”¨)"
+
+#: fdisks/cfdisk.c:2571
+msgid "New"
+msgstr "新增"
+
+#: fdisks/cfdisk.c:2571
+msgid "Create new partition from free space"
+msgstr "從剩é¤ç©şé–“新增一個新的ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print"
+msgstr "印出"
+
+#: fdisks/cfdisk.c:2572
+msgid "Print partition table to the screen or to a file"
+msgstr "印出ĺ†ĺ‰˛čˇ¨č‡łčž˘ĺą•ć–檔ćˇ"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit"
+msgstr "離開"
+
+#: fdisks/cfdisk.c:2573
+msgid "Quit program without writing partition table"
+msgstr "離開本程式且不寫入ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/cfdisk.c:2574
+msgid "Type"
+msgstr "類型"
+
+#: fdisks/cfdisk.c:2574
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "變更檔ćˇçł»çµ±çš„類型 (DOS, Linux, swap, OS/2 等等)"
+
+#: fdisks/cfdisk.c:2575
+msgid "Units"
+msgstr "單位"
+
+#: fdisks/cfdisk.c:2575
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "變更ĺ†ĺ‰˛ĺŤ€ĺ¤§ĺ°Źçš„顯示單位 (用 MBă€çŁĺŤ€ć•¸ć–çŁćź±ć•¸)"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write"
+msgstr "寫入"
+
+#: fdisks/cfdisk.c:2576
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "寫入ĺ†ĺ‰˛čˇ¨č‡łçˇ¬ç˘źä¸­ (可č˝ä˝żč©˛ĺ†ĺ‰˛ĺŤ€ä¸­çš„資料ć¶ĺ¤±!)"
+
+#: fdisks/cfdisk.c:2623
+msgid "Cannot make this partition bootable"
+msgstr "無法讓這個ĺ†ĺ‰˛ĺŤ€č®Šć可開機"
+
+#: fdisks/cfdisk.c:2633
+msgid "Cannot delete an empty partition"
+msgstr "無法ĺŞé™¤ä¸€ĺ€‹ç©şçš„ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/cfdisk.c:2653 fdisks/cfdisk.c:2655
+msgid "Cannot maximize this partition"
+msgstr "無法將這個ĺ†ĺ‰˛ĺŤ€ćś€ĺ¤§ĺŚ–"
+
+#: fdisks/cfdisk.c:2663
+msgid "This partition is unusable"
+msgstr "這個ĺ†ĺ‰˛ĺŤ€ç„ˇćł•ä˝żç”¨"
+
+#: fdisks/cfdisk.c:2665
+msgid "This partition is already in use"
+msgstr "這個ĺ†ĺ‰˛ĺŤ€ĺ·˛ĺś¨ä˝żç”¨ä¸­"
+
+#: fdisks/cfdisk.c:2682
+msgid "Cannot change the type of an empty partition"
+msgstr "無法變更一個空ĺ†ĺ‰˛ĺŤ€çš„類型"
+
+#: fdisks/cfdisk.c:2726
+msgid "Illegal command"
+msgstr "無ć•çš„命令"
+
+#: fdisks/cfdisk.c:2736
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "ç‰ć¬ŠÂ©1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisks/cfdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+" %s -v\n"
+"Print partition table:\n"
+" %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+" %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+" the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"用法:\n"
+"印出ç‰ćś¬ďĽš\n"
+" %s -v\n"
+"印出ĺ†ĺ‰˛čˇ¨ďĽš\n"
+" %s -P {r|s|t} [é¸é …] 裝置\n"
+"互動式使用:\n"
+" %s [é¸é …] 裝置\n"
+"\n"
+"é¸é …:\n"
+"-a: 使用箭頭以代替é«äş®ĺş¦éˇŻç¤şďĽ›\n"
+"-z: 以零ĺ†ĺ‰˛čˇ¨é–‹ĺ§‹ďĽŚä»Ąä»Łć›żĺľžçŁç˘źč®€ĺŹ–ĺ†ĺ‰˛čˇ¨ďĽ›\n"
+"-c C -h H -s S:強ĺ¶č®Šć›´ĺ…§ć ¸čŞŤç‚şçš„çŁćź±ć•¸é‡Źă€\n"
+" çŁé ­ć•¸é‡Źĺ’ŚćŻŹä¸€çŁč»Śçš„çŁĺŤ€ć•¸é‡Źă€‚\n"
+"\n"
+
+#: fdisks/cfdisk.c:2779
+#, fuzzy
+msgid "cannot parse number of cylinders"
+msgstr " c 變更çŁćź±ć•¸é‡Ź"
+
+#: fdisks/cfdisk.c:2789
+#, fuzzy
+msgid "cannot parse number of heads"
+msgstr "無法剖ćžć•¸ĺ­—「%s」"
+
+#: fdisks/cfdisk.c:2796
+#, fuzzy
+msgid "cannot parse number of sectors"
+msgstr "無法剖ćžć•¸ĺ­—「%s」"
+
+#: fdisks/fdiskaixlabel.c:27
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment. Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t to remove the disk logically from your AIX\n"
+"\t machine. (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\t這個çŁç˘źĺ…·ĺ‚™ćś‰ć•çš„ AIX 標籤。\n"
+"\t不幸地 Linux 目前無法處ç†é€™äş›\n"
+"\tçŁç˘źă€‚ 即使如此還ćŻćś‰ä¸€äş›\n"
+"\t忠告:\n"
+"\t1.fdisk 於寫入時將銷毀ĺ®çš„內容。\n"
+"\t2.請確認這個çŁç˘źä¸¦éťžä»Ťç„¶ć´»čşŤ\n"
+"\t 的卷冊群之一é¨ä»˝ă€‚(ĺ¦ĺ‰‡ć‚¨äąźč¨±ćś\n"
+"\t ĺŚć™‚清除了其他çŁç˘źďĽŚĺ¦‚果未被鏡射的話)\n"
+"\t3.ĺŞé™¤é€™ĺ€‹ĺŻ¦é«”卷冊之前請確定,\n"
+"\t 邏輯上從您的 AIX 機器\n"
+"\t 移除çŁç˘źă€‚(除非您ćç‚ş AIX ĺ°ĺ®¶)。"
+
+#: fdisks/fdiskaixlabel.c:74
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle AIX disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\t抱歉 - fdisk ç„ˇćł•č™•ç† AIX çŁç˘źć¨™ç±¤ă€‚\n"
+"\t如果您č¦ĺŠ ĺ…Ą DOS 類型ĺ†ĺ‰˛ĺŤ€ďĽŚč«‹ĺ…建立\n"
+"\tć–°çš„ç©ş DOS ĺ†ĺ‰˛čˇ¨ă€‚(使用 o.)\n"
+"\t警告:這將銷毀現有çŁç˘źĺ…§ĺ®ąă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:120
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"裝置的 BSD 標籤:%s\n"
+
+#: fdisks/fdiskbsdlabel.c:143 fdisks/fdiskbsdlabel.c:146
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "ĺ°‡çŁç˘źć¨™ç±¤ĺŻ«ĺ…Ą %s。\n"
+
+#: fdisks/fdiskbsdlabel.c:174 fdisks/fdiskdoslabel.c:524
+#: fdisks/fdisksgilabel.c:687 fdisks/fdisksunlabel.c:396
+#, c-format
+msgid "First %s"
+msgstr "čµ·ĺť %s"
+
+#: fdisks/fdiskbsdlabel.c:181 fdisks/fdisksunlabel.c:453
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "最後 %s ć– +size ć– +sizeM ć– +sizeK"
+
+#: fdisks/fdiskbsdlabel.c:199 fdisks/fdiskbsdlabel.c:201
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s 不ĺ«ä»»ä˝•çŁç˘źć¨™ç±¤ă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:206
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "您č¦ĺ»şç«‹çŁç˘źć¨™ç±¤ĺ—ŽďĽź(y/n) "
+
+#: fdisks/fdiskbsdlabel.c:239
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %s 具有無ć•çš„開始çŁĺŤ€ 0。\n"
+
+#: fdisks/fdiskbsdlabel.c:243
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "ć–ĽçŁĺŤ€ %2$d 讀取 %1$s çš„çŁç˘źć¨™ç±¤ă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:253
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "沒有任何 *BSD ĺ†ĺ‰˛ä˝Ťć–Ľ %s。\n"
+
+#: fdisks/fdiskbsdlabel.c:267
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD çŁç˘źć¨™ç±¤ĺ‘˝ä»¤ (m 以獲得說ćŽ):"
+
+#: fdisks/fdiskbsdlabel.c:340
+#, c-format
+msgid "type: %s\n"
+msgstr "類型:%s\n"
+
+#: fdisks/fdiskbsdlabel.c:342
+#, c-format
+msgid "type: %d\n"
+msgstr "類型:%d\n"
+
+#: fdisks/fdiskbsdlabel.c:343
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "çŁç˘źďĽš%.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:344
+#, c-format
+msgid "label: %.*s\n"
+msgstr "標籤:%.*s\n"
+
+#: fdisks/fdiskbsdlabel.c:345
+#, c-format
+msgid "flags:"
+msgstr "旗標:"
+
+#: fdisks/fdiskbsdlabel.c:347
+#, c-format
+msgid " removable"
+msgstr " 可移除的"
+
+#: fdisks/fdiskbsdlabel.c:349
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisks/fdiskbsdlabel.c:351
+#, c-format
+msgid " badsect"
+msgstr " 不良çŁĺŤ€"
+
+#: fdisks/fdiskbsdlabel.c:355
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "位ĺ…組/çŁĺŤ€ďĽš%ld\n"
+
+#: fdisks/fdiskbsdlabel.c:356
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "çŁĺŤ€/çŁč»ŚďĽš%ld\n"
+
+#: fdisks/fdiskbsdlabel.c:357
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "çŁč»Ś/çŁćź±ďĽš%ld\n"
+
+#: fdisks/fdiskbsdlabel.c:358
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "çŁĺŤ€/çŁćź±ďĽš%ld\n"
+
+#: fdisks/fdiskbsdlabel.c:359
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "çŁćź±ďĽš%ld\n"
+
+#: fdisks/fdiskbsdlabel.c:360
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm:%d\n"
+
+#: fdisks/fdiskbsdlabel.c:361
+#, c-format
+msgid "interleave: %d\n"
+msgstr "交錯:%d\n"
+
+#: fdisks/fdiskbsdlabel.c:362
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew:%d\n"
+
+#: fdisks/fdiskbsdlabel.c:363
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew:%d\n"
+
+#: fdisks/fdiskbsdlabel.c:364
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch:%ld\t\t# 毫秒\n"
+
+#: fdisks/fdiskbsdlabel.c:366
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "軌對軌ćśĺ°‹ďĽš%ld\t# 毫秒\n"
+
+#: fdisks/fdiskbsdlabel.c:368
+#, c-format
+msgid "drivedata: "
+msgstr "çŁç˘źčł‡ć–™ďĽš"
+
+#: fdisks/fdiskbsdlabel.c:377
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d ĺ†ĺ‰˛ĺŤ€ďĽš\n"
+
+#: fdisks/fdiskbsdlabel.c:378
+#, c-format
+msgid "# start end size fstype [fsize bsize cpg]\n"
+msgstr "# 開始 çµćťź 大小 檔ćˇçł»çµ±éˇžĺž‹ [fsize bsize cpg]\n"
+
+#: fdisks/fdiskbsdlabel.c:445
+msgid "bytes/sector"
+msgstr "位ĺ…組/çŁĺŤ€"
+
+#: fdisks/fdiskbsdlabel.c:446
+msgid "sectors/track"
+msgstr "çŁĺŤ€/çŁč»Ś"
+
+#: fdisks/fdiskbsdlabel.c:447
+msgid "tracks/cylinder"
+msgstr "çŁč»Ś/çŁćź±"
+
+#: fdisks/fdiskbsdlabel.c:448 fdisks/fdisk.c:381 fdisks/sfdisk.c:913
+msgid "cylinders"
+msgstr "çŁćź±"
+
+#: fdisks/fdiskbsdlabel.c:455
+msgid "sectors/cylinder"
+msgstr "çŁĺŤ€/çŁćź±"
+
+#: fdisks/fdiskbsdlabel.c:459
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "ĺż…é  <= çŁĺŤ€/çŁč»Ś * çŁč»Ś/çŁćź± (é č¨­)。\n"
+
+#: fdisks/fdiskbsdlabel.c:461
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisks/fdiskbsdlabel.c:462
+msgid "interleave"
+msgstr "交錯"
+
+#: fdisks/fdiskbsdlabel.c:463
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisks/fdiskbsdlabel.c:464
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisks/fdiskbsdlabel.c:465
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisks/fdiskbsdlabel.c:466
+msgid "track-to-track seek"
+msgstr "軌對軌ćśĺ°‹"
+
+#: fdisks/fdiskbsdlabel.c:507
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "啟動程式:%sboot -> boot%s (%s):"
+
+#: fdisks/fdiskbsdlabel.c:532
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "啟動程式č‡çŁç˘źć¨™ç±¤é‡Ťç–ŠďĽ\n"
+
+#: fdisks/fdiskbsdlabel.c:553 fdisks/fdiskbsdlabel.c:555
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "啟動程式已安裝於 %s。\n"
+
+#: fdisks/fdiskbsdlabel.c:577
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "ĺ†ĺ‰˛ĺŤ€ (a-%c):"
+
+#: fdisks/fdiskbsdlabel.c:596 fdisks/fdiskdoslabel.c:732
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "已建立ĺ†ĺ‰˛ĺŤ€çš„最大數量\n"
+
+#: fdisks/fdiskbsdlabel.c:608
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "這個ĺ†ĺ‰˛ĺŤ€ĺ·˛ç¶“ĺ­ĺś¨ă€‚\n"
+
+#: fdisks/fdiskbsdlabel.c:734
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "警告:太多ĺ†ĺ‰˛ĺŤ€ (%d, 最大值為 %d)。\n"
+
+#: fdisks/fdiskbsdlabel.c:782
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"ĺŚć­ĄçŁç˘źă€‚\n"
+
+#: fdisks/fdisk.c:75
+#, fuzzy
+msgid "toggle a bootable flag"
+msgstr " a ĺ‡ćŹ›ĺŹŻé–‹ć©źçš„旗標"
+
+#: fdisks/fdisk.c:76
+#, fuzzy
+msgid "toggle a read only flag"
+msgstr " a ĺ‡ćŹ›ĺ”Żč®€ć——標"
+
+#: fdisks/fdisk.c:77
+#, fuzzy
+msgid "select bootable partition"
+msgstr " a é¸ĺŹ–可開機的ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisk.c:78
+#, fuzzy
+msgid "change number of alternate cylinders"
+msgstr " a 變更交替çŁćź±ć•¸é‡Ź"
+
+#: fdisks/fdisk.c:79
+#, fuzzy
+msgid "edit bsd disklabel"
+msgstr " b 編輯 bsd çŁç˘źć¨™ç±¤"
+
+#: fdisks/fdisk.c:80
+#, fuzzy
+msgid "edit bootfile entry"
+msgstr " b 編輯開機檔ćˇé …ç›®"
+
+#: fdisks/fdisk.c:81
+#, fuzzy
+msgid "move beginning of data in a partition"
+msgstr " b 移動ĺ†ĺ‰˛ĺŤ€ä¸­čł‡ć–™çš„開始位置"
+
+#: fdisks/fdisk.c:82
+#, fuzzy
+msgid "toggle the dos compatibility flag"
+msgstr " c ĺ‡ćŹ› DOS 相容性旗標"
+
+#: fdisks/fdisk.c:83
+#, fuzzy
+msgid "toggle the mountable flag"
+msgstr " c ĺ‡ćŹ›ćŽ›čĽ‰čˇ¨ć——標"
+
+#: fdisks/fdisk.c:84
+#, fuzzy
+msgid "select sgi swap partition"
+msgstr " c é¸ĺŹ– sgi 交換ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisk.c:85
+#, fuzzy
+msgid "change number of cylinders"
+msgstr " c 變更çŁćź±ć•¸é‡Ź"
+
+#: fdisks/fdisk.c:86
+#, fuzzy
+msgid "delete a partition"
+msgstr " d ĺŞé™¤ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisk.c:87
+#, fuzzy
+msgid "print the raw data in the partition table"
+msgstr " d 印出ĺ†ĺ‰˛čˇ¨ä¸­ćśŞç¶“處ç†čł‡ć–™ĺś¨äą‹ä¸­"
+
+#: fdisks/fdisk.c:88
+#, fuzzy
+msgid "change number of extra sectors per cylinder"
+msgstr " e 變更ĺ„çŁćź±çš„額外çŁĺŤ€ć•¸"
+
+#: fdisks/fdisk.c:89
+#, fuzzy
+msgid "list extended partitions"
+msgstr " e ĺ—出擴充ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisk.c:90
+#, fuzzy
+msgid "edit drive data"
+msgstr " e 編輯çŁç˘źčł‡ć–™"
+
+#: fdisks/fdisk.c:91
+#, fuzzy
+msgid "fix partition order"
+msgstr " f 修正ĺ†ĺ‰˛ĺŤ€ćŽ’序"
+
+#: fdisks/fdisk.c:92
+#, fuzzy
+msgid "create an IRIX (SGI) partition table"
+msgstr " g 建立 IRIX (SGI) ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/fdisk.c:93
+#, fuzzy
+msgid "change number of heads"
+msgstr " h 變更çŁé ­ć•¸é‡Ź"
+
+#: fdisks/fdisk.c:94
+#, fuzzy
+msgid "change interleave factor"
+msgstr " i 變更交錯因ĺ­"
+
+#: fdisks/fdisk.c:95
+#, fuzzy
+msgid "change the disk identifier"
+msgstr " i 變更çŁç˘źč­ĺĄç˘Ľ"
+
+#: fdisks/fdisk.c:96
+#, fuzzy
+msgid "install bootstrap"
+msgstr " i 安裝啟動程式"
+
+#: fdisks/fdisk.c:97
+#, fuzzy
+msgid "list known partition types"
+msgstr " l ĺ—出已知ĺ†ĺ‰˛ĺŤ€éˇžĺž‹"
+
+#: fdisks/fdisk.c:98
+#, fuzzy
+msgid "print this menu"
+msgstr " m 印出這個é¸ĺ–®"
+
+#: fdisks/fdisk.c:99
+#, fuzzy
+msgid "add a new partition"
+msgstr " n 加入新的ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisk.c:100
+#, fuzzy
+msgid "create a new empty DOS partition table"
+msgstr " o 建立新的空白 DOS ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/fdisk.c:101
+#, fuzzy
+msgid "change rotation speed (rpm)"
+msgstr " o 變更轉速 (rpm)"
+
+#: fdisks/fdisk.c:102
+#, fuzzy
+msgid "print the partition table"
+msgstr "只顯示此ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/fdisk.c:103
+#, fuzzy
+msgid "quit without saving changes"
+msgstr " q 離開而不需儲ĺ­č®Šć›´"
+
+#: fdisks/fdisk.c:104
+#, fuzzy
+msgid "return to main menu"
+msgstr " r 回ĺ°ä¸»é¸ĺ–®"
+
+#: fdisks/fdisk.c:105
+#, fuzzy
+msgid "create a new empty Sun disklabel"
+msgstr " s 建立新的空白 Sun çŁç˘źć¨™ç±¤"
+
+#: fdisks/fdisk.c:106
+#, fuzzy
+msgid "change number of sectors/track"
+msgstr " s 變更每條çŁč»Śçš„çŁĺŤ€ć•¸"
+
+#: fdisks/fdisk.c:107
+#, fuzzy
+msgid "show complete disklabel"
+msgstr " s 顯示完整çŁç˘źć¨™ç±¤"
+
+#: fdisks/fdisk.c:108
+#, fuzzy
+msgid "change a partition's system id"
+msgstr " t 變更ĺ†ĺ‰˛ĺŤ€çł»çµ±č­ĺĄč™ź"
+
+#: fdisks/fdisk.c:109
+#, fuzzy
+msgid "change display/entry units"
+msgstr " u 變更顯示/輸入單位"
+
+#: fdisks/fdisk.c:110
+#, fuzzy
+msgid "verify the partition table"
+msgstr " v é©—č­‰ĺ†ĺ‰˛čˇ¨"
+
+#: fdisks/fdisk.c:111
+#, fuzzy
+msgid "write table to disk and exit"
+msgstr " w ĺ†ĺ‰˛čˇ¨ĺŻ«ĺ…ĄçŁç˘źç„¶ĺľŚé›˘é–‹"
+
+#: fdisks/fdisk.c:112
+#, fuzzy
+msgid "write disklabel to disk"
+msgstr " w ĺ°‡çŁç˘źć¨™ç±¤ĺŻ«ĺ…ĄçŁç˘ź"
+
+#: fdisks/fdisk.c:113
+#, fuzzy
+msgid "extra functionality (experts only)"
+msgstr " x éˇŤĺ¤–ĺŠźč˝ (ĺ°ĺ®¶é™ç”¨)"
+
+#: fdisks/fdisk.c:115
+#, fuzzy
+msgid "link BSD partition to non-BSD partition"
+msgstr " x éŹçµ BSD ĺ†ĺ‰˛ĺŤ€ĺ°éťž BSD ĺ†ĺ‰˛"
+
+#: fdisks/fdisk.c:117
+#, fuzzy
+msgid "change number of physical cylinders"
+msgstr " y 變更實體çŁćź±ć•¸é‡Ź"
+
+#: fdisks/fdisk.c:139
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+" %1$s [options] <disk> change partition table\n"
+" %1$s [options] -l <disk> list partition table(s)\n"
+" %1$s -s <partition> give partition size(s) in blocks\n"
+"\n"
+"Options:\n"
+" -b <size> sector size (512, 1024, 2048 or 4096)\n"
+" -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)\n"
+" -h print this help text\n"
+" -u[=<unit>] display units: 'cylinders' or 'sectors' (default)\n"
+" -v print program version\n"
+" -C <number> specify the number of cylinders\n"
+" -H <number> specify the number of heads\n"
+" -S <number> specify the number of sectors per track\n"
+"\n"
+msgstr ""
+"用法:\n"
+" fdisk [é¸é …] <disk> 變更ĺ†ĺ‰˛čˇ¨\n"
+" fdisk [é¸é …] -l <disk> 清單ĺ†ĺ‰˛čˇ¨\n"
+" fdisk -s <partition> 給出ĺ†ĺ‰˛ĺŤ€ĺ¤§ĺ°Ź(單位:區塊)\n"
+"\n"
+"é¸é …:\n"
+" -b <size> çŁĺŤ€ĺ¤§ĺ°Ź (512,- 1024, 2048 ć– 4096)\n"
+" -c[=<mode>] 相容模式:'dos' ć– 'nondos' (é č¨­)\n"
+" -h ĺ—印這個說ćŽć–‡ĺ­—\n"
+" -u[=<unit>] dysplay 單位:'cylinders' ć– 'sectors' (é č¨­)\n"
+" -v ĺ—印程式ç‰ćś¬\n"
+" -C <number> 指定çŁćź±ç·¨č™ź\n"
+" -H <number> 指定前端編號\n"
+" -S <number> 指定ĺ„軌段çŁĺŤ€ć•¸é‡Ź\n"
+"\n"
+
+#: fdisks/fdisk.c:162
+#, fuzzy, c-format
+msgid "unable to read %s"
+msgstr "無法讀取 %s\n"
+
+#: fdisks/fdisk.c:165
+#, fuzzy, c-format
+msgid "unable to seek on %s"
+msgstr "無法尋找 %s\n"
+
+#: fdisks/fdisk.c:168
+#, fuzzy, c-format
+msgid "unable to write %s"
+msgstr "無法寫入 %s\n"
+
+#: fdisks/fdisk.c:171 fdisks/fdisk.c:1797
+#, fuzzy, c-format
+msgid "BLKGETSIZE ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl 失敗於 %s\n"
+
+#: fdisks/fdisk.c:174
+#, fuzzy
+msgid "fatal error"
+msgstr "嚴重錯誤\n"
+
+#: fdisks/fdisk.c:214
+msgid "Command action"
+msgstr "命令動作"
+
+#: fdisks/fdisk.c:287
+#, c-format
+msgid "You must set"
+msgstr "您必é č¨­ĺ®š"
+
+#: fdisks/fdisk.c:377
+msgid "heads"
+msgstr "çŁé ­"
+
+#: fdisks/fdisk.c:379 fdisks/sfdisk.c:913
+msgid "sectors"
+msgstr "çŁĺŤ€"
+
+#: fdisks/fdisk.c:385
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"您可以從額外函式é¸ĺ–®äľ†ĺšé€™ĺ€‹ă€‚\n"
+
+#: fdisks/fdisk.c:386
+msgid " and "
+msgstr " ĺ’Ś "
+
+#: fdisks/fdisk.c:407
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: The size of this disk is %d.%d TB (%llu bytes).\n"
+"DOS partition table format can not be used on drives for volumes\n"
+"larger than (%llu bytes) for %ld-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"警告:這個çŁç˘źçš„ĺ¤§ĺ°ŹćŻ %d.%d TB (%llu 位ĺ…組)。\n"
+"DOS ĺ†ĺ‰˛čˇ¨ć ĽĺĽŹç„ˇćł•ç”¨ć–Ľĺ®ąé‡Źĺ¤§ć–Ľ (%llu 位ĺ…組)\n"
+"而有 %d-位ĺ…組çŁĺŤ€çš„çŁç˘źă€‚使用 parted(1) ĺ’Ś GUID\n"
+"ĺ†ĺ‰˛čˇ¨ć ĽĺĽŹ (GPT)。\n"
+"\n"
+
+#: fdisks/fdisk.c:425
+#, c-format
+msgid ""
+"\n"
+"The device presents a logical sector size that is smaller than\n"
+"the physical sector size. Aligning to a physical sector (or optimal\n"
+"I/O) size boundary is recommended, or performance may be impacted.\n"
+msgstr ""
+"\n"
+"裝置ĺ‘現的邏輯區大小小於\n"
+"實體çŁĺŤ€ĺ¤§ĺ°Źă€‚建議對齊ĺ°ĺŻ¦é«”çŁĺŤ€ (ć–最佳化\n"
+"I/O) 大小邊界,ĺ¦ĺ‰‡ć•č˝äąźč¨±ćśč˘«ĺ˝±éźżă€‚\n"
+
+#: fdisks/fdisk.c:431
+#, c-format
+msgid ""
+"\n"
+"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to\n"
+" switch off the mode (with command 'c')."
+msgstr ""
+"\n"
+"警告:不宜再使用 DOS 相容模式。強ç建議\n"
+" 關掉此模式 (ĺ©ç”¨ĺ‘˝ä»¤ă€Śc」)。"
+
+#: fdisks/fdisk.c:436
+#, c-format
+msgid ""
+"\n"
+"WARNING: cylinders as display units are deprecated. Use command 'u' to\n"
+" change units to sectors.\n"
+msgstr ""
+"\n"
+"警告:不宜再用çŁćź±ĺšç‚şéˇŻç¤şĺ–®ä˝Ťă€‚使用命令「u」以\n"
+" 變更單位為çŁĺŤ€ă€‚\n"
+
+#: fdisks/fdisk.c:511
+#, fuzzy, c-format
+msgid "Do you really want to quit? "
+msgstr "您真的č¦çąĽçşŚĺ—ŽďĽź"
+
+#: fdisks/fdisk.c:572
+msgid "Hex code (type L to list codes): "
+msgstr "ĺŤĺ…­é€˛ä˝Ťç·¨ç˘Ľ (輸入 L 以ĺ—出編碼):"
+
+#: fdisks/fdisk.c:606
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, é č¨­ %u):"
+
+#: fdisks/fdisk.c:676
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "不受支援的字尾:「%s」。\n"
+
+#: fdisks/fdisk.c:677
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+msgstr ""
+"支援的單位: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+" 2^N: K (KibiByte), M (MebiByte), G (GibiByte)\n"
+
+#: fdisks/fdisk.c:703
+#, c-format
+msgid "Using default value %u\n"
+msgstr "使用é č¨­ĺ€Ľ %u\n"
+
+#: fdisks/fdisk.c:709
+#, c-format
+msgid "Value out of range.\n"
+msgstr "數值超出範圍。\n"
+
+#: fdisks/fdisk.c:736
+msgid "Partition number"
+msgstr "ĺ†ĺ‰˛ĺŤ€ç·¨č™ź"
+
+#: fdisks/fdisk.c:747
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %d 有空的類型\n"
+
+#: fdisks/fdisk.c:780 fdisks/fdiskdoslabel.c:50
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "ĺ·˛é¸ĺ†ĺ‰˛ĺŤ€ %d\n"
+
+#: fdisks/fdisk.c:783
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "尚無ĺ†ĺ‰˛ĺŤ€č˘«ĺ®šçľ©ďĽ\n"
+
+#: fdisks/fdisk.c:795
+#, fuzzy
+msgid "cylinder"
+msgid_plural "cylinders"
+msgstr[0] "çŁćź±"
+
+#: fdisks/fdisk.c:796
+#, fuzzy
+msgid "sector"
+msgid_plural "sectors"
+msgstr[0] "çŁĺŤ€"
+
+#: fdisks/fdisk.c:805
+#, c-format
+msgid "Changing display/entry units to cylinders (DEPRECATED!)\n"
+msgstr "變更顯示/輸入單位為çŁćź± (不宜再用ďĽ)\n"
+
+#: fdisks/fdisk.c:807
+#, c-format
+msgid "Changing display/entry units to sectors\n"
+msgstr "變更顯示/輸入單位為çŁĺŤ€\n"
+
+#: fdisks/fdisk.c:817
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %d ćŻć“´ĺ……ĺ†ĺ‰˛ĺŤ€\n"
+
+#: fdisks/fdisk.c:827
+#, c-format
+msgid "DOS Compatibility flag is set (DEPRECATED!)\n"
+msgstr "DOS 相容性旗標已設定 (不宜再用ďĽ)\n"
+
+#: fdisks/fdisk.c:829
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS 相容性旗標未設定\n"
+
+#: fdisks/fdisk.c:841
+#, fuzzy, c-format
+msgid "Partition %d is deleted\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 沒有資料區域\n"
+
+#: fdisks/fdisk.c:860
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 尚不ĺ­ĺś¨ďĽ\n"
+
+#: fdisks/fdisk.c:865
+#, c-format
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"類型 0 對於許多系統而言表示剩é¤ç©şé–“\n"
+"(並不包括 Linux)。具有\n"
+"類型為 0 çš„ĺ†ĺ‰˛ĺŤ€ĺŹŻč˝ä¸Ťĺ¤ŞćŽć™şă€‚您可以\n"
+"使用「d」命令來ĺŞé™¤ĺ†ĺ‰˛ĺŤ€ă€‚\n"
+
+#: fdisks/fdisk.c:874
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"您無法變更ĺ†ĺ‰˛ĺŤ€ç‚şä¸€ĺ€‹ć“´ĺ……ĺ†ĺ‰˛ć–反之\n"
+"č«‹ĺ…ĺŞé™¤ĺ®ă€‚\n"
+
+#: fdisks/fdisk.c:883
+#, c-format
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"č€ć…®äżťç•™ĺ†ĺ‰˛ĺŤ€ 3 為整個çŁç˘ź (5),\n"
+"SunOS/Solaris ćŻĺ¦‚ć­¤é ćśźďĽŽç”šč‡ł Linux äąźĺ–ść­ˇĺ®ă€‚\n"
+"\n"
+
+#: fdisks/fdisk.c:889
+#, c-format
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6), as IRIX expects it.\n"
+"\n"
+msgstr ""
+"č€ć…®äżťç•™ĺ†ĺ‰˛ĺŤ€ 9 為卷冊標頭 (0),\n"
+"以及ĺ†ĺ‰˛ĺŤ€ 11 為整個卷冊 (6)ďĽŚĺ¦‚ĺŚ IRIX 所é ćśźă€‚\n"
+"\n"
+
+#: fdisks/fdisk.c:906
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 的系統類型已變更為 %x (%s)\n"
+
+#: fdisks/fdisk.c:909
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 的系統類型未被變更:%x (%s)\n"
+
+#: fdisks/fdisk.c:966
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 有不ĺŚçš„實體/邏輯開始位置 (éťž Linux?):\n"
+
+#: fdisks/fdisk.c:968 fdisks/fdisk.c:976
+#, c-format
+msgid " phys=(%d, %d, %d) "
+msgstr " 實體=(%d, %d, %d) "
+
+#: fdisks/fdisk.c:969 fdisks/fdisk.c:977
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "邏輯=(%d, %d, %d)\n"
+
+#: fdisks/fdisk.c:974
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 有不ĺŚçš„實體/邏輯çµćťźä˝Ťç˝®ďĽš\n"
+
+#: fdisks/fdisk.c:982
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %i 並非çµćťźć–ĽçŁćź±é‚Šç•Śă€‚\n"
+
+#: fdisks/fdisk.c:990
+#, c-format
+msgid "Partition %i does not start on physical sector boundary.\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %i 並非開始於çŁćź±é‚Šç•Śă€‚\n"
+
+#: fdisks/fdisk.c:1000
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes"
+msgstr ""
+"\n"
+"çŁç˘ź %s: %ld MB,%lld 位ĺ…組\n"
+
+#: fdisks/fdisk.c:1004
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %llu bytes"
+msgstr ""
+"\n"
+"çŁç˘ź %s: %ld.%ld GB,%lld 位ĺ…組\n"
+
+#: fdisks/fdisk.c:1007
+#, fuzzy, c-format
+msgid ", %llu sectors\n"
+msgstr "ďĽŚç¸˝č¨ %llu çŁĺŤ€"
+
+#: fdisks/fdisk.c:1009
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %llu cylinders\n"
+msgstr "%d çŁé ­ďĽŚ%llu çŁĺŤ€/çŁč»ŚďĽŚ%d çŁćź±"
+
+#: fdisks/fdisk.c:1011
+#, fuzzy, c-format
+msgid "Units = %s of %d * %ld = %ld bytes\n"
+msgstr "單位 = %s äą‹ć–Ľ %d * %d = %d 位ĺ…組\n"
+
+#: fdisks/fdisk.c:1015
+#, fuzzy, c-format
+msgid "Sector size (logical/physical): %lu bytes / %lu bytes\n"
+msgstr "çŁĺŤ€ĺ¤§ĺ°Ź (邏輯/實體):%u 位ĺ…組 / %lu 位ĺ…組\n"
+
+#: fdisks/fdisk.c:1017
+#, c-format
+msgid "I/O size (minimum/optimal): %lu bytes / %lu bytes\n"
+msgstr "I/O 大小 (最小/最佳化):%lu 位ĺ…組 / %lu 位ĺ…組\n"
+
+#: fdisks/fdisk.c:1020
+#, c-format
+msgid "Alignment offset: %lu bytes\n"
+msgstr "對齊ĺŹç§»ĺ€ĽďĽš%lu 位ĺ…組\n"
+
+#: fdisks/fdisk.c:1129
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"無事可ĺšă€‚順序已經ćŻć­Łç˘şçš„。\n"
+"\n"
+
+#: fdisks/fdisk.c:1157
+#, c-format
+msgid "Done.\n"
+msgstr "完ć。\n"
+
+#: fdisks/fdisk.c:1185
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"這看起來不ĺŹćŻä¸€ĺ€‹ĺ†ĺ‰˛čˇ¨\n"
+"您大概é¸äş†éŚŻčŞ¤çš„čŁťç˝®ă€‚\n"
+"\n"
+
+#: fdisks/fdisk.c:1198
+#, c-format
+msgid "%*s Boot Start End Blocks Id System\n"
+msgstr "%*s é–‹ć©ź 開始 çµćťź 區塊 č­ĺĄč™ź 系統\n"
+
+#: fdisks/fdisk.c:1199 fdisks/fdisksgilabel.c:193 fdisks/fdisksunlabel.c:568
+msgid "Device"
+msgstr "所用裝置"
+
+#: fdisks/fdisk.c:1237
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"ĺ†ĺ‰˛čˇ¨é …目未按çŁç˘źćŽ’序\n"
+
+#: fdisks/fdisk.c:1247
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %llu cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"çŁç˘ź %s: %d çŁé ­ďĽŚ%llu çŁĺŤ€ďĽŚ%d çŁćź±\n"
+"\n"
+
+#: fdisks/fdisk.c:1249
+#, c-format
+msgid "Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"
+msgstr "Nr AF çŁé ­ çŁĺŤ€ çŁćź± çŁé ­ çŁĺŤ€ çŁćź± 開始 大小 ID\n"
+
+#: fdisks/fdisk.c:1298
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %d ĺ«ćś‰çŁĺŤ€ 0\n"
+
+#: fdisks/fdisk.c:1301
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d: çŁé ­ %d 大於最大值 %d\n"
+
+#: fdisks/fdisk.c:1304
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d: çŁĺŤ€ %d 大於最大值 %llu\n"
+
+#: fdisks/fdisk.c:1307
+#, fuzzy, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %llu\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d: çŁćź± %d 大於最大值 %d\n"
+
+#: fdisks/fdisk.c:1311
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d: 之前çŁĺŤ€ %d č‡ç¸˝č¨ä¸Ťä¸€č‡´ %d\n"
+
+#: fdisks/fdisk.c:1328
+#, fuzzy, c-format
+msgid "Partition %d of type %s and of size %s is set\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 尚不ĺ­ĺś¨ďĽ\n"
+
+#: fdisks/fdisk.c:1355
+#, fuzzy
+msgid "cannot write disk label"
+msgstr "無法寫入çŁç˘ź"
+
+#: fdisks/fdisk.c:1357
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"ĺ†ĺ‰˛čˇ¨ĺ·˛č®Šć›´ďĽ\n"
+"\n"
+
+#: fdisks/fdisk.c:1370
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "呼叫 ioctl() 以重新讀取ĺ†ĺ‰˛čˇ¨ă€‚\n"
+
+#: fdisks/fdisk.c:1379
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %m.\n"
+"The kernel still uses the old table. The new table will be used at\n"
+"the next reboot or after you run partprobe(8) or kpartx(8)\n"
+msgstr ""
+"\n"
+"警告:重新讀取ĺ†ĺ‰˛čˇ¨ĺ¤±ć•—並產生錯誤 %d: %s。\n"
+"內核仍然使用čŠçš„表格。新的表格將於下一次\n"
+"重新開機時使用,ć–ćŻć‚¨ĺź·čˇŚ partprobe(8) ć– kpartx(8) 之後。\n"
+
+#: fdisks/fdisk.c:1387
+#, c-format
+msgid ""
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
+msgstr ""
+"\n"
+"警告:如果您已建立ć–修改任何 DOS 6.x\n"
+"ĺ†ĺ‰˛ĺŤ€ďĽŚč«‹ĺŹçś‹ fdisk 線上手冊以獲得額外\n"
+"資訊。\n"
+
+#: fdisks/fdisk.c:1393
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"關閉檔ćˇç™Ľç”źéŚŻčޤ\n"
+
+#: fdisks/fdisk.c:1397
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "ĺŚć­ĄçŁç˘źă€‚\n"
+
+#: fdisks/fdisk.c:1443
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 沒有資料區域\n"
+
+#: fdisks/fdisk.c:1472
+msgid "New beginning of data"
+msgstr "新的資料開始é¨ä»˝"
+
+#: fdisks/fdisk.c:1496
+msgid "Expert command (m for help): "
+msgstr "ĺ°ĺ®¶ĺ‘˝ä»¤ (m 以獲得說ćŽ):"
+
+#: fdisks/fdisk.c:1509
+msgid "Number of cylinders"
+msgstr "çŁćź±ć•¸é‡Ź"
+
+#: fdisks/fdisk.c:1534
+msgid "Number of heads"
+msgstr "çŁé ­ć•¸é‡Ź"
+
+#: fdisks/fdisk.c:1559
+msgid "Number of sectors"
+msgstr "çŁĺŤ€ć•¸é‡Ź"
+
+#: fdisks/fdisk.c:1561
+#, fuzzy, c-format
+msgid "Warning: setting sector offset for DOS compatibility\n"
+msgstr "警告:設定çŁĺŤ€ĺŹç§»ä»Ąé”ĺ° DOS 相容性\n"
+
+#: fdisks/fdisk.c:1599
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util fdisk doesn't "
+"support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"警告:於「%s」ĺµć¸¬ĺ° GPT (GUID ĺ†ĺ‰˛čˇ¨)ďĽĺ·Ąĺ…·ç¨‹ĺĽŹ fdisk 不支援 GPT。請使用 "
+"GNU Parted。\n"
+"\n"
+
+#: fdisks/fdisk.c:1649 fdisks/sfdisk.c:2732
+#, c-format
+msgid "cannot open %s\n"
+msgstr "無法開啟 %s\n"
+
+#: fdisks/fdisk.c:1672
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: 不ćŽçš„命令\n"
+
+#: fdisks/fdisk.c:1677
+#, fuzzy, c-format
+msgid ""
+"Welcome to fdisk (%s).\n"
+"\n"
+"Changes will remain in memory only, until you decide to write them.\n"
+"Be careful before using the write command.\n"
+"\n"
+msgstr ""
+"建立新的 sun çŁç˘źć¨™ç±¤ă€‚變更將只ĺ­ĺś¨č¨ć†¶é«”中,\n"
+"ç›´ĺ°ć‚¨ć±şĺ®šĺŻ«ĺ…Ąĺ®ĺ€‘。當然在此之後,之前的\n"
+"內容將ćŻä¸ŤĺŹŻĺ›žĺľ©çš„。\n"
+"\n"
+
+#: fdisks/fdisk.c:1691
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "ć–Ľ %s ĺµć¸¬ĺ° OSF/1 çŁç˘źć¨™ç±¤ďĽŚé€˛ĺ…ĄçŁç˘źć¨™ç±¤ć¨ˇĺĽŹă€‚\n"
+
+#: fdisks/fdisk.c:1701
+msgid "Command (m for help): "
+msgstr "命令 (m 以獲得說ćŽ):"
+
+#: fdisks/fdisk.c:1821
+#, fuzzy
+msgid "invalid sector size argument"
+msgstr "無ć•çš„é¸é …"
+
+#: fdisks/fdisk.c:1828 fdisks/sfdisk.c:2647
+#, fuzzy
+msgid "invalid cylinders argument"
+msgstr "無ć•çš„é¸é …"
+
+#: fdisks/fdisk.c:1839 fdisks/sfdisk.c:2656
+#, fuzzy
+msgid "invalid heads argument"
+msgstr "無ć•çš„é¸é …"
+
+#: fdisks/fdisk.c:1844 fdisks/sfdisk.c:2674
+#, fuzzy
+msgid "invalid sectors argument"
+msgstr "無ć•çš„é¸é …"
+
+#: fdisks/fdisk.c:1875
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr "警告:-b (設定çŁĺŤ€ĺ¤§ĺ°Ź) é¸é …應該č‡ä¸€ĺ€‹ćŚ‡ĺ®ščŁťç˝®ĺ…±ĺŚä˝żç”¨\n"
+
+#: fdisks/fdisk.c:1921
+#, fuzzy, c-format
+msgid "Note: sector size is %ld (not %d)\n"
+msgstr "註č¨ďĽšçŁĺŤ€ĺ¤§ĺ°Źç‚ş %d (而非 %d)\n"
+
+#: fdisks/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Device does not contain a recognized partition table\n"
+msgstr "çŁç˘ź %s 不包ĺ«ćś‰ć•çš„ĺ†ĺ‰˛čˇ¨\n"
+
+#: fdisks/fdiskdoslabel.c:53
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "所有主č¦ĺ†ĺ‰˛ĺŤ€ĺ·˛č˘«ĺ®šçľ©ďĽ\n"
+
+#: fdisks/fdiskdoslabel.c:204
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "在主č¦ć“´ĺ……ĺ†ĺ‰˛ĺŤ€ä¸­çš„不當ĺŹç§»ĺ€Ľ\n"
+
+#: fdisks/fdiskdoslabel.c:218
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"警告:忽略 #%d 之後的ĺ†ĺ‰˛ĺŤ€ă€‚\n"
+"如果您儲ĺ­é€™ĺ€‹ĺ†ĺ‰˛čˇ¨ĺ°±ćśĺŞé™¤ĺ®ĺ€‘。\n"
+
+#: fdisks/fdiskdoslabel.c:237
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "警告:在ĺ†ĺ‰˛čˇ¨ä¸­ćś‰éˇŤĺ¤–çš„éŹçµćŚ‡ć¨™ %d\n"
+
+#: fdisks/fdiskdoslabel.c:245
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "警告:忽略ĺ†ĺ‰˛čˇ¨ %d 中的額外資料\n"
+
+#: fdisks/fdiskdoslabel.c:278
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "忽略空的ĺ†ĺ‰˛ (%d)\n"
+
+#: fdisks/fdiskdoslabel.c:287
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "çŁç˘źč­ĺĄç˘ĽďĽš0x%08x\n"
+
+#: fdisks/fdiskdoslabel.c:297
+#, c-format
+msgid "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:318
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "ć–°çŁç˘źč­ĺĄç˘Ľ (目前為 0x%08x):"
+
+#: fdisks/fdiskdoslabel.c:385
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "忽略額外的擴充ĺ†ĺ‰˛ĺŤ€ %d\n"
+
+#: fdisks/fdiskdoslabel.c:397
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr "警告:ĺ†ĺ‰˛čˇ¨ %2$d 的無ć•ć——標 0x%1$04x 將由 w(rite) 所修正\n"
+
+#: fdisks/fdiskdoslabel.c:496 fdisks/fdisksgilabel.c:669
+#: fdisks/fdisksunlabel.c:380
+#, c-format
+msgid "Partition %d is already defined. Delete it before re-adding it.\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 已經定義。 在重新加入之前ĺŞé™¤ĺ®ă€‚\n"
+
+#: fdisks/fdiskdoslabel.c:542
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "çŁĺŤ€ %llu 已經配置\n"
+
+#: fdisks/fdiskdoslabel.c:578
+#, c-format
+msgid "No free sectors available\n"
+msgstr "沒有可用的çŁĺŤ€ĺ­ĺś¨\n"
+
+#: fdisks/fdiskdoslabel.c:589
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "最後 %1$s, +%2$s ć– +大小{K,M,G}"
+
+#: fdisks/fdiskdoslabel.c:644
+#, fuzzy, c-format
+msgid "Adding logical partition %d\n"
+msgstr "壞的邏輯ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdiskdoslabel.c:664
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "警告:在ĺ†ĺ‰˛ĺŤ€ %d 中不當的資料起始\n"
+
+#: fdisks/fdiskdoslabel.c:672
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %d č‡ĺ†ĺ‰˛ĺŤ€ %d 重疊。\n"
+
+#: fdisks/fdiskdoslabel.c:692
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %d ćŻç©şçš„\n"
+
+#: fdisks/fdiskdoslabel.c:697
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "邏輯ĺ†ĺ‰˛ĺŤ€ %d 並非完整處於ĺ†ĺ‰˛ĺŤ€ %d 中\n"
+
+#: fdisks/fdiskdoslabel.c:703
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "配置的çŁĺŤ€ç¸˝č¨ %llu 大於最大值 %llu\n"
+
+#: fdisks/fdiskdoslabel.c:706
+#, fuzzy, c-format
+msgid "Remaining %lld unallocated %ld-byte sectors\n"
+msgstr "ĺ°šé¤ %lld 未配置的 %d-位ĺ…組çŁĺŤ€\n"
+
+#: fdisks/fdiskdoslabel.c:738
+#, fuzzy, c-format
+msgid "All primary partitions are in use\n"
+msgstr "所有邏輯ĺ†ĺ‰˛ĺŤ€é˝ĺś¨ä˝żç”¨ä¸­\n"
+
+#: fdisks/fdiskdoslabel.c:741
+#, c-format
+msgid ""
+"If you want to create more than four partitions, you must replace a\n"
+"primary partition with an extended partition first.\n"
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:744
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "所有邏輯ĺ†ĺ‰˛ĺŤ€é˝ĺś¨ä˝żç”¨ä¸­\n"
+
+#: fdisks/fdiskdoslabel.c:745
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "加入一個主č¦ĺ†ĺ‰˛ĺŤ€\n"
+
+#: fdisks/fdiskdoslabel.c:752
+#, c-format
+msgid ""
+"Partition type:\n"
+" p primary (%d primary, %d extended, %d free)\n"
+"%s\n"
+"Select (default %c): "
+msgstr ""
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " l logical (numbered from 5)"
+msgstr "l 邏輯 (5 ć–之上)"
+
+#: fdisks/fdiskdoslabel.c:757
+#, fuzzy
+msgid " e extended"
+msgstr "e ć“´ĺ……"
+
+#: fdisks/fdiskdoslabel.c:763
+#, fuzzy, c-format
+msgid "Using default response %c\n"
+msgstr "使用é č¨­ĺ€Ľ %u\n"
+
+#: fdisks/fdiskdoslabel.c:779
+#, fuzzy, c-format
+msgid "Invalid partition type `%c'\n"
+msgstr "無ć•çš„ĺ†ĺ‰˛ĺŤ€ç·¨č™źç”¨ć–Ľéˇžĺž‹ă€Ś%c」\n"
+
+#: fdisks/fdiskmaclabel.c:30
+msgid ""
+"\n"
+"\tThere is a valid Mac label on this disk.\n"
+"\tUnfortunately fdisk(1) cannot handle these disks.\n"
+"\tUse either pdisk or parted to modify the partition table.\n"
+"\tNevertheless some advice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t part of a volume group. (Otherwise you may\n"
+"\t erase the other disks as well, if unmirrored.)\n"
+msgstr ""
+"\n"
+"\t有ć•çš„ Mac 標籤位於這個çŁç˘źă€‚\n"
+"\t不幸地 fdisk(1) 無法處ç†é€™äş›çŁç˘źă€‚\n"
+"\tĺż…é ä˝żç”¨ pdisk ć– parted 以修改ĺ†ĺ‰˛čˇ¨ă€‚\n"
+"\t不論如何還ćŻćś‰äş›ĺ»şč¨€ďĽš\n"
+"\t1.fdisk 將於寫入時銷毀ĺ®çš„內容。\n"
+"\t2.確認這個çŁç˘źä¸¦éťžä»ŤćŻ\n"
+"\t 卷冊群的現用é¨ä»˝ă€‚(ĺ¦ĺ‰‡ĺ¦‚果沒有鏡ĺŹĺ‚™ä»˝çš„話,\n"
+"\t 您也許ĺŚć¨Łćść¸…除其他çŁç˘źă€‚)\n"
+
+#: fdisks/fdiskmaclabel.c:92
+#, c-format
+msgid ""
+"\tSorry - this fdisk cannot handle Mac disk labels.\n"
+"\tIf you want to add DOS-type partitions, create\n"
+"\ta new empty DOS partition table first. (Use o.)\n"
+"\tWARNING: This will destroy the present disk contents.\n"
+msgstr ""
+"\t抱歉 - fdisk ç„ˇćł•č™•ç† Mac çŁç˘źć¨™ç±¤ă€‚\n"
+"\t如果您č¦ĺŠ ĺ…Ą DOS 類型ĺ†ĺ‰˛ĺŤ€ďĽŚč«‹ĺ…建立\n"
+"\tć–°çš„ç©ş DOS ĺ†ĺ‰˛čˇ¨ă€‚(使用 o.)\n"
+"\t警告:這將銷毀現有çŁç˘źĺ…§ĺ®ąă€‚\n"
+
+#: fdisks/fdisksgilabel.c:91
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisks/fdisksgilabel.c:92
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisks/fdisksgilabel.c:93
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisks/fdisksgilabel.c:94
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisks/fdisksgilabel.c:95
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisks/fdisksgilabel.c:96
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisks/fdisksgilabel.c:97
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisks/fdisksgilabel.c:98
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisks/fdisksgilabel.c:99
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisks/fdisksgilabel.c:100
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisks/fdisksgilabel.c:101
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisks/fdisksgilabel.c:102
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisks/fdisksgilabel.c:103
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisks/fdisksgilabel.c:104
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisks/fdisksgilabel.c:105 fdisks/fdisksunlabel.c:43
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisks/fdisksgilabel.c:106 fdisks/fdisksunlabel.c:44
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisks/fdisksgilabel.c:107 fdisks/fdisksunlabel.c:45
+#: fdisks/i386_sys_types.c:64
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisks/fdisksgilabel.c:108
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisks/fdisksgilabel.c:137
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr "ć ąć“š MIPS 電腦系統公司,標籤必é ĺŚ…ĺ«ä¸Ťč¶…éŽ 512 位ĺ…組\n"
+
+#: fdisks/fdisksgilabel.c:155
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "ĺµć¸¬ĺ° sgi çŁç˘źć¨™ç±¤č‡éŚŻčŞ¤çš„ç¸˝ĺ’ŚćŞ˘ćźĄç˘Ľă€‚\n"
+
+#: fdisks/fdisksgilabel.c:172
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%llu cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"çŁç˘ź %s (SGI çŁç˘źć¨™ç±¤):%d çŁé ­ďĽŚ%llu çŁĺŤ€\n"
+"%d çŁćź±ďĽŚ%d 實體çŁćź±\n"
+"%d 額外çŁĺŤ€/çŁćź±ďĽŚäş¤éŚŻ %d:1\n"
+"%s\n"
+"單位 = %s äą‹ć–Ľ %d * %d 位ĺ…組\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:184
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * %ld bytes\n"
+"\n"
+msgstr ""
+"\n"
+"çŁç˘ź %s (SGI çŁç˘źć¨™ç±¤):%d çŁé ­ďĽŚ%llu çŁĺŤ€ďĽŚ%d çŁćź±\n"
+"單位 = %s äą‹ć–Ľ %d * %d 位ĺ…組\n"
+"\n"
+
+#: fdisks/fdisksgilabel.c:191
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s Info Start End Sectors Id System\n"
+msgstr ""
+"----- ĺ†ĺ‰˛ĺŤ€ -----\n"
+"Pt# %*s 資訊 開始 çµćťź çŁĺŤ€ č­ĺĄč™ź 系統\n"
+
+#: fdisks/fdisksgilabel.c:213
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- 開機資訊 -----\n"
+"開機檔ćˇďĽš%s\n"
+"----- 目錄項目 -----\n"
+
+#: fdisks/fdisksgilabel.c:221
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s çŁĺŤ€%5u 大小%8u\n"
+
+#: fdisks/fdisksgilabel.c:275
+#, c-format
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"無ć•çš„開機檔ćˇďĽ\n"
+"\t開機檔ćˇĺŤç¨±ĺż…é ćŻçµ•ĺ°Ťä¸”非零路徑,\n"
+"\t例如「/unix」ć–「/unix.save」。\n"
+
+#: fdisks/fdisksgilabel.c:281
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long: 16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\t開機檔ćˇçš„ĺŤç¨±ĺ¤Şé•·ďĽšćś€ĺ¤§ç‚ş 16 位ĺ…組。\n"
+
+#: fdisks/fdisksgilabel.c:286
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\t開機檔ćˇĺż…é ćś‰ĺ®Śĺ…¨ĺćł•çš„č·Żĺľ‘ĺŤç¨±ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:293
+#, c-format
+msgid ""
+"\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
+msgstr ""
+"\n"
+"\tč¦çźĄé“,開機檔ćˇä¸¦ćśŞćŞ˘ćźĄćŻĺ¦ĺ­ĺś¨ă€‚\n"
+"\tSGI é č¨­ç‚şă€Ś/unix」和用於備份的「/unix.save」。\n"
+
+#: fdisks/fdisksgilabel.c:304
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"目前的啟動檔ćˇç‚şďĽš%s\n"
+
+#: fdisks/fdisksgilabel.c:305
+msgid "Please enter the name of the new boot file: "
+msgstr "請輸入新的啟動檔ćˇĺŤç¨±ďĽš"
+
+#: fdisks/fdisksgilabel.c:306
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "啟動檔ćˇćśŞč®Šć›´\n"
+
+#: fdisks/fdisksgilabel.c:320
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\t開機檔ćˇĺ·˛č®Šć›´ç‚şă€Ś%s」。\n"
+
+#: fdisks/fdisksgilabel.c:458
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "ĺ­ĺś¨ĺ¤šć–Ľä¸€ĺ€‹ĺ®Ść•´çŁç˘źé …目。\n"
+
+#: fdisks/fdisksgilabel.c:465 fdisks/fdisksunlabel.c:349
+#, c-format
+msgid "No partitions defined\n"
+msgstr "無已定義ĺ†ĺ‰˛ĺŤ€\n"
+
+#: fdisks/fdisksgilabel.c:473
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX ĺŹĺĄ˝ĺ†ĺ‰˛ĺŤ€ 11 涵蓋整個çŁç˘źă€‚\n"
+
+#: fdisks/fdisksgilabel.c:475
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"整個çŁç˘źĺ†ĺ‰˛ĺŤ€ć‡‰č©˛ĺ§‹ć–ĽĺŤ€ĺˇŠ 0,\n"
+"而非çŁç˘źĺŤ€ĺˇŠ %d。\n"
+
+#: fdisks/fdisksgilabel.c:481
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"整個çŁç˘źĺ†ĺ‰˛ĺŤ€ĺ¤§ĺ°ŹĺŹŞćś‰ %d çŁç˘źĺŤ€ĺˇŠďĽŚ\n"
+"但ćŻé€™ĺ€‹çŁç˘źĺ¤§ĺ°Źç‚ş %d çŁç˘źĺŤ€ĺˇŠă€‚\n"
+
+#: fdisks/fdisksgilabel.c:487
+#, fuzzy, c-format
+msgid "Partition 11 should cover the entire disk.\n"
+msgstr "一個ĺ†ĺ‰˛ĺŤ€ (#11) 應該涵蓋整個çŁç˘źă€‚\n"
+
+#: fdisks/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 並非始於çŁćź±é‚Šç•Śă€‚\n"
+
+#: fdisks/fdisksgilabel.c:503
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 並非終於çŁćź±é‚Šç•Śă€‚\n"
+
+#: fdisks/fdisksgilabel.c:510
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d č‡ %d 有 %d 塊çŁĺŤ€ç›¸äş’重疊。\n"
+
+#: fdisks/fdisksgilabel.c:518 fdisks/fdisksgilabel.c:539
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "%8u 塊çŁĺŤ€çš„未使用間隙 - çŁĺŤ€ %8u-%u\n"
+
+#: fdisks/fdisksgilabel.c:550
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"é–‹ć©źĺ†ĺ‰˛ĺŤ€ä¸Ťĺ­ĺś¨ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:553
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"交換ĺ†ĺ‰˛ĺŤ€ä¸Ťĺ­ĺś¨ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:557
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"交換ĺ†ĺ‰˛ĺŤ€ä¸Ťĺ…·ćś‰äş¤ćŹ›éˇžĺž‹ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:560
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\t您é¸ć“‡äş†ä¸€ĺ€‹ä¸Ťĺ°‹ĺ¸¸çš„啟動檔ćˇĺŤç¨±ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:580
+#, fuzzy, c-format
+msgid "Sorry, only for non-empty partitions you can change the tag.\n"
+msgstr "抱歉,只有系統管ç†č€…可以變更系統時é。\n"
+
+#: fdisks/fdisksgilabel.c:586
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"強ç建議位於ĺŹç§» 0 çš„ĺ†ĺ‰˛ĺŤ€\n"
+"類型為「SGI volhdr」,IRIX 系統將ćśäľťéť ĺ®ä»Ą\n"
+"取回ĺ®çš„目錄獨立工具,諸如 sash ĺ’Ś fx。\n"
+"只有「SGI 卷冊」整個çŁç˘źĺŤ€ć®µçš„話,也許ćśĺ°Ťć­¤ćś‰ć‰€ĺ¦¨ĺ®łă€‚\n"
+"如果您確定將這個ĺ†ĺ‰˛ĺŤ€č˛Ľä¸Šä¸ŤĺŚçš„標籤,就輸入 YES。\n"
+
+#: fdisks/fdisksgilabel.c:591 fdisks/fdisksunlabel.c:519
+msgid "YES\n"
+msgstr "YES\n"
+
+#: fdisks/fdisksgilabel.c:617
+#, fuzzy, c-format
+msgid "Partition overlap on the disk.\n"
+msgstr "您的çŁç˘źä¸Šćś‰é‡Ťç–Šçš„ĺ†ĺ‰˛ĺŤ€ďĽŚč«‹ĺ…修正ĺ®ďĽ\n"
+
+#: fdisks/fdisksgilabel.c:675
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "試圖自動產生整個çŁç˘źé …目。\n"
+
+#: fdisks/fdisksgilabel.c:680
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "整個çŁç˘źĺ·˛ç¶“被ĺ†ĺ‰˛ĺŤ€ć‰€č¦†č“‹ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:684
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "您的çŁç˘źä¸Šćś‰é‡Ťç–Šçš„ĺ†ĺ‰˛ĺŤ€ďĽŚč«‹ĺ…修正ĺ®ďĽ\n"
+
+#: fdisks/fdisksgilabel.c:693 fdisks/fdisksgilabel.c:722
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"強ç建議第ĺŤä¸€ĺˇŠĺ†ĺ‰˛ĺŤ€\n"
+"覆蓋整個çŁç˘źä¸¦ä¸”為「SGI 卷冊」類型\n"
+
+#: fdisks/fdisksgilabel.c:709
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "您的çŁç˘źä¸Šĺ°‡ćśćś‰é‡Ťç–Šçš„ĺ†ĺ‰˛ĺŤ€ďĽŚč«‹ĺ…修正ĺ®ďĽ\n"
+
+#: fdisks/fdisksgilabel.c:714
+#, c-format
+msgid " Last %s"
+msgstr " 最後一筆 %s"
+
+#: fdisks/fdisksgilabel.c:743
+#, c-format
+msgid "Building a new SGI disklabel.\n"
+msgstr ""
+
+#: fdisks/fdisksgilabel.c:751
+#, fuzzy, c-format
+msgid "HDIO_GETGEO ioctl failed on %s"
+msgstr "BLKGETSIZE ioctl 失敗於 %s\n"
+
+#: fdisks/fdisksgilabel.c:766 fdisks/fdisksunlabel.c:185
+#, fuzzy, c-format
+msgid ""
+"Warning: BLKGETSIZE ioctl failed on %s. Using geometry cylinder value of "
+"%llu.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"警告: BLKGETSIZE ioctl ć–Ľ %s 處失敗。使用çŁćź±çš„物ç†ä˝Ťç˝®ĺ€Ľ %d。\n"
+"這個值用於 >33.8 GB 的裝置時也許ćśč˘«ćŞć–·ă€‚\n"
+
+#: fdisks/fdisksgilabel.c:784
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "č­ĺĄč™ź=%02x\t開始=%d\t長度=%d\n"
+
+#: fdisks/fdisksgilabel.c:792
+#, fuzzy, c-format
+msgid "Trying to keep parameters of partitions already set.\n"
+msgstr "試著保ćŚĺ†ĺ‰˛ĺŤ€çš„ĺŹć•¸ %d。\n"
+
+#: fdisks/fdisksunlabel.c:31
+msgid "Unassigned"
+msgstr "未指定"
+
+#: fdisks/fdisksunlabel.c:33
+msgid "SunOS root"
+msgstr "SunOS ć ąĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisksunlabel.c:34
+msgid "SunOS swap"
+msgstr "SunOS 交換ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisksunlabel.c:35
+msgid "SunOS usr"
+msgstr "SunOS usr ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisksunlabel.c:36
+msgid "Whole disk"
+msgstr "整顆çŁç˘ź"
+
+#: fdisks/fdisksunlabel.c:37
+msgid "SunOS stand"
+msgstr "SunOS stand ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisksunlabel.c:38
+msgid "SunOS var"
+msgstr "SunOS var ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisksunlabel.c:39
+msgid "SunOS home"
+msgstr "SunOS home ĺ†ĺ‰˛ĺŤ€"
+
+#: fdisks/fdisksunlabel.c:40
+msgid "SunOS alt sectors"
+msgstr "SunOS alt çŁĺŤ€"
+
+#: fdisks/fdisksunlabel.c:41
+msgid "SunOS cachefs"
+msgstr "SunOS 快取檔ćˇçł»çµ±"
+
+#: fdisks/fdisksunlabel.c:42
+msgid "SunOS reserved"
+msgstr "SunOS 保留區"
+
+#: fdisks/fdisksunlabel.c:46 fdisks/i386_sys_types.c:104
+msgid "Linux raid autodetect"
+msgstr "Linux raid 自動ĺµć¸¬"
+
+#: fdisks/fdisksunlabel.c:100
+#, c-format
+msgid ""
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
+msgstr ""
+"ĺµć¸¬ĺ°ĺ…·ćś‰éŚŻčŞ¤ç¸˝ĺ’ŚćŞ˘ćźĄç˘Ľçš„ sun çŁç˘źć¨™ç±¤ă€‚\n"
+"也許您必é č¨­ĺ®šć‰€ćś‰çš„值,\n"
+"例如:çŁé ­ă€çŁĺŤ€ă€çŁćź±ĺ’Śĺ†ĺ‰˛ĺŤ€ďĽŚ\n"
+"ć–ćŻĺĽ·ĺ¶č¨­ĺ®šć–°çš„標籤 (使用主é¸ĺ–®çš„ s 命令)\n"
+
+#: fdisks/fdisksunlabel.c:112
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "ĺµć¸¬ĺ°ĺ…·ćś‰éŚŻčޤç‰ćś¬ [0x%08x] çš„ sun çŁç˘źć¨™ç±¤ă€‚\n"
+
+#: fdisks/fdisksunlabel.c:117
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "ĺµć¸¬ĺ°ĺ…·ćś‰ä¸Ťĺ®Ść•´ć€§ [0x%08x] çš„ sun çŁç˘źć¨™ç±¤ă€‚\n"
+
+#: fdisks/fdisksunlabel.c:122
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "ĺµć¸¬ĺ°ĺ…·ćś‰éŚŻčޤĺ†ĺ‰˛ĺŤ€ć•¸ [%u] çš„ sun çŁç˘źć¨™ç±¤ă€‚\n"
+
+#: fdisks/fdisksunlabel.c:127
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr "警告:錯誤值需č¦ç¶“ç”± w(rite) 而修正\n"
+
+#: fdisks/fdisksunlabel.c:155
+#, fuzzy, c-format
+msgid "Building a new Sun disklabel.\n"
+msgstr "%s 不ĺ«ä»»ä˝•çŁç˘źć¨™ç±¤ă€‚\n"
+
+#: fdisks/fdisksunlabel.c:194
+msgid "Sectors/track"
+msgstr "çŁĺŤ€/çŁč»Ś"
+
+#: fdisks/fdisksunlabel.c:311
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 並非çµćťźć–ĽçŁćź±é‚Šç•Ś\n"
+
+#: fdisks/fdisksunlabel.c:331
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d č‡ %d-%d 中的其他çŁĺŤ€é‡Ťç–Š\n"
+
+#: fdisks/fdisksunlabel.c:354
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "未使用的間隙 - çŁĺŤ€ 0-%d\n"
+
+#: fdisks/fdisksunlabel.c:356 fdisks/fdisksunlabel.c:362
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "未使用的間隙 - çŁĺŤ€ %d-%d\n"
+
+#: fdisks/fdisksunlabel.c:391
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"其他ĺ†ĺ‰˛ĺŤ€ĺ·˛ç¶“涵蓋整個çŁç˘źă€‚\n"
+"請於重試之前ĺŞé™¤é¨ä»˝ć–縮減ĺ®ĺ€‘。\n"
+
+#: fdisks/fdisksunlabel.c:414
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+"強ç建議第三ĺ†ĺ‰˛ĺŤ€ĺŚ…括\n"
+"整個çŁç˘źä¸¦ä¸”為「整顆çŁç˘źă€Ťéˇžĺž‹\n"
+
+#: fdisks/fdisksunlabel.c:442
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "çŁĺŤ€ %d 已經被配置\n"
+
+#: fdisks/fdisksunlabel.c:472
+#, c-format
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"您未以第三ĺ†ĺ‰˛ĺŤ€ć¶µč“‹ć•´ĺ€‹çŁç˘źďĽŚä˝†ćŻć‚¨č¨­ĺ®šçš„值\n"
+"%d %s 涵蓋ćźäş›ĺ…¶ä»–çš„ĺ†ĺ‰˛ĺŤ€ă€‚您的輸入值已變更\n"
+"ç‚ş %d %s\n"
+
+#: fdisks/fdisksunlabel.c:499
+#, c-format
+msgid ""
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
+msgstr ""
+"如果您č¦ç¶­ćŚ SunOS/Solaris 的相容性,請č€ć…®äżťćŚé€™ĺ€‹\n"
+"ĺ†ĺ‰˛ĺŤ€ç‚şć•´ĺ€‹çŁç˘ź (5),開始於 0, ĺ…·ĺ‚™ %u çŁĺŤ€\n"
+
+#: fdisks/fdisksunlabel.c:514
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"強ç建議位於ĺŹç§»ĺ€Ľ 0 çš„ĺ†ĺ‰˛ĺŤ€\n"
+"ç‚ş UFSă€EXT2FS 檔ćˇçł»çµ±ć– SunOS 交換區。將 Linux 交換區放在\n"
+"那裏也許ćśéŠ·ćŻ€ć‚¨çš„ĺ†ĺ‰˛čˇ¨ĺ’Śĺ•źĺ‹•ĺŤ€ĺˇŠă€‚\n"
+"如果您ĺľç˘şĺ®šćłč¦č©˛ĺ†ĺ‰˛ĺŤ€č˘«\n"
+"標示為 82 (Linux 交換區) 就輸入 YES:"
+
+#: fdisks/fdisksunlabel.c:546
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %d rpm\n"
+"%llu cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"Label ID: %s\n"
+"Volume ID: %s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"çŁç˘ź %s (Sun çŁç˘źć¨™ç±¤):%u çŁé ­ďĽŚ%llu çŁĺŤ€ďĽŚćŻŹĺ†é轉速 %d\n"
+"%u çŁćź±ďĽŚ%d 替代çŁćź±ďĽŚ%d 實體çŁćź±\n"
+"%d 額外çŁĺŤ€/çŁćź±ďĽŚäş¤éŚŻ %d:1\n"
+"標籤č­ĺĄč™źďĽš%s\n"
+"卷冊č­ĺĄč™źďĽš%s\n"
+"單位 = %s äą‹ć–Ľ %d * 512 位ĺ…組\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:562
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %u heads, %llu sectors, %llu cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"çŁç˘ź %s (Sun çŁç˘źć¨™ç±¤):%u çŁé ­ďĽŚ%llu çŁĺŤ€ďĽŚ%u çŁćź±\n"
+"單位 = %s äą‹ć–Ľ %d * 512 位ĺ…組\n"
+"\n"
+
+#: fdisks/fdisksunlabel.c:567
+#, c-format
+msgid "%*s Flag Start End Blocks Id System\n"
+msgstr "%*s 旗標 開始 çµćťź 區塊 č­ĺĄč™ź 系統\n"
+
+#: fdisks/fdisksunlabel.c:595
+msgid "Number of alternate cylinders"
+msgstr "替代çŁćź±ć•¸é‡Ź"
+
+#: fdisks/fdisksunlabel.c:607
+msgid "Extra sectors per cylinder"
+msgstr "每çŁćź±çš„額外çŁĺŤ€"
+
+#: fdisks/fdisksunlabel.c:614
+msgid "Interleave factor"
+msgstr "交錯因ĺ­"
+
+#: fdisks/fdisksunlabel.c:621
+msgid "Rotation speed (rpm)"
+msgstr "旋轉速度 (rpm)"
+
+#: fdisks/fdisksunlabel.c:628
+msgid "Number of physical cylinders"
+msgstr "實體çŁćź±ć•¸é‡Ź"
+
+#: fdisks/i386_sys_types.c:6
+msgid "Empty"
+msgstr "ç©ş"
+
+#: fdisks/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisks/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisks/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisks/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:11
+msgid "Extended"
+msgstr "延伸"
+
+#: fdisks/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisks/i386_sys_types.c:13
+#, fuzzy
+msgid "HPFS/NTFS/exFAT"
+msgstr "HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisks/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX 可開機"
+
+#: fdisks/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 開機管ç†ĺ“ˇ"
+
+#: fdisks/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisks/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisks/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisks/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "隱藏 FAT12"
+
+#: fdisks/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq 診斷"
+
+#: fdisks/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "隱藏 FAT16 <32M"
+
+#: fdisks/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "隱藏 FAT16"
+
+#: fdisks/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "隱藏 HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST 智慧休眠"
+
+#: fdisks/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "隱藏 W95 FAT32"
+
+#: fdisks/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "隱藏 W95 FAT32 (LBA)"
+
+#: fdisks/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "隱藏 W95 FAT16 (LBA)"
+
+#: fdisks/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisks/i386_sys_types.c:32
+#, fuzzy
+msgid "Hidden NTFS WinRE"
+msgstr "隱藏 HPFS/NTFS"
+
+#: fdisks/i386_sys_types.c:33
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisks/i386_sys_types.c:34
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic 復原"
+
+#: fdisks/i386_sys_types.c:35
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisks/i386_sys_types.c:36
+msgid "PPC PReP Boot"
+msgstr "PPC PReP é–‹ć©ź"
+
+#: fdisks/i386_sys_types.c:37
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisks/i386_sys_types.c:38
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisks/i386_sys_types.c:39
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 第二é¨ĺ†"
+
+#: fdisks/i386_sys_types.c:40
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 第三é¨ĺ†"
+
+#: fdisks/i386_sys_types.c:41
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisks/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisks/i386_sys_types.c:43
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisks/i386_sys_types.c:44
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisks/i386_sys_types.c:45
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisks/i386_sys_types.c:46
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisks/i386_sys_types.c:47
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisks/i386_sys_types.c:48
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisks/i386_sys_types.c:49 fdisks/i386_sys_types.c:93
+#: fdisks/i386_sys_types.c:99 fdisks/i386_sys_types.c:100
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisks/i386_sys_types.c:50
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ć– SysV"
+
+#: fdisks/i386_sys_types.c:51
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisks/i386_sys_types.c:52
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisks/i386_sys_types.c:53
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure 多種開機"
+
+#: fdisks/i386_sys_types.c:54
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisks/i386_sys_types.c:55
+msgid "Old Minix"
+msgstr "čŠç‰ Minix"
+
+#: fdisks/i386_sys_types.c:56
+msgid "Minix / old Linux"
+msgstr "Minix / čŠç‰ Linux"
+
+#: fdisks/i386_sys_types.c:57
+msgid "Linux swap / Solaris"
+msgstr "Linux 交換區/ Solaris"
+
+#: fdisks/i386_sys_types.c:58
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisks/i386_sys_types.c:59
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 隱藏 C: çŁç˘ź"
+
+#: fdisks/i386_sys_types.c:60
+msgid "Linux extended"
+msgstr "Linux 擴展"
+
+#: fdisks/i386_sys_types.c:61 fdisks/i386_sys_types.c:62
+msgid "NTFS volume set"
+msgstr "NTFS 卷冊集"
+
+#: fdisks/i386_sys_types.c:63
+msgid "Linux plaintext"
+msgstr "Linux 純文字"
+
+#: fdisks/i386_sys_types.c:65
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisks/i386_sys_types.c:66
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisks/i386_sys_types.c:67
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisks/i386_sys_types.c:68
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisks/i386_sys_types.c:69
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisks/i386_sys_types.c:70
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisks/i386_sys_types.c:71
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisks/i386_sys_types.c:72
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisks/i386_sys_types.c:73
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisks/i386_sys_types.c:74
+msgid "Darwin boot"
+msgstr "Darwin é–‹ć©ź"
+
+#: fdisks/i386_sys_types.c:75
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisks/i386_sys_types.c:76
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisks/i386_sys_types.c:77
+msgid "BSDI swap"
+msgstr "BSDI 交換區"
+
+#: fdisks/i386_sys_types.c:78
+msgid "Boot Wizard hidden"
+msgstr "開機精éťéš±č—Ź"
+
+#: fdisks/i386_sys_types.c:79
+msgid "Solaris boot"
+msgstr "Solaris é–‹ć©ź"
+
+#: fdisks/i386_sys_types.c:80
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisks/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisks/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisks/i386_sys_types.c:83
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisks/i386_sys_types.c:84
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisks/i386_sys_types.c:85
+msgid "Non-FS data"
+msgstr "Non-FS 資料"
+
+#: fdisks/i386_sys_types.c:86
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS /…"
+
+#: fdisks/i386_sys_types.c:88
+msgid "Dell Utility"
+msgstr "Dell 公用程式"
+
+#: fdisks/i386_sys_types.c:89
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisks/i386_sys_types.c:90
+msgid "DOS access"
+msgstr "DOS ĺ­ĺŹ–"
+
+#: fdisks/i386_sys_types.c:92
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisks/i386_sys_types.c:95
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisks/i386_sys_types.c:96
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisks/i386_sys_types.c:97
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisks/i386_sys_types.c:98
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC é–‹ć©ź"
+
+#: fdisks/i386_sys_types.c:101
+msgid "DOS secondary"
+msgstr "DOS 次級"
+
+#: fdisks/i386_sys_types.c:102
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisks/i386_sys_types.c:103
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisks/i386_sys_types.c:107
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisks/i386_sys_types.c:108
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisks/sfdisk.c:132
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "ć–Ľ %s ćśĺ°‹éŚŻčޤ - 無法ćśĺ°‹č‡ł %lu\n"
+
+#: fdisks/sfdisk.c:137
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "ćśĺ°‹éŚŻčŞ¤ďĽšćłč¦ 0x%08x%08x, ĺľ—ĺ° 0x%08x%08x\n"
+
+#: fdisks/sfdisk.c:187 fdisks/sfdisk.c:268
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "ć–Ľ %s 讀取錯誤 - 無法讀取çŁĺŤ€ %lu\n"
+
+#: fdisks/sfdisk.c:218
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "ć–Ľ %s 寫入錯誤 - 無法寫入çŁĺŤ€ %lu\n"
+
+#: fdisks/sfdisk.c:256
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "無法開啟ĺ†ĺ‰˛çŁĺŤ€çš„儲ĺ­ćŞ”ćˇ (%s)\n"
+
+#: fdisks/sfdisk.c:274
+#, c-format
+msgid "write error on %s\n"
+msgstr "於 %s 寫入錯誤\n"
+
+#: fdisks/sfdisk.c:300
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "無法č­ĺĄĺ†ĺ‰˛ĺŤ€çš„還原檔ćˇç‹€ć…‹ (%s)\n"
+
+#: fdisks/sfdisk.c:305
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€é‚„原檔ćˇĺ¤§ĺ°Źćś‰čޤ - 無法還原\n"
+
+#: fdisks/sfdisk.c:315
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "無法開啟ĺ†ĺ‰˛ĺŤ€çš„é‚„ĺŽźćŞ”ćˇ (%s)\n"
+
+#: fdisks/sfdisk.c:321
+#, c-format
+msgid "error reading %s\n"
+msgstr "讀取 %s 時發生錯誤\n"
+
+#: fdisks/sfdisk.c:328
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "無法開啟裝置 %s 以供寫入\n"
+
+#: fdisks/sfdisk.c:339
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "ć–Ľ %2$s 寫入çŁĺŤ€ %1$lu 時發生錯誤\n"
+
+#: fdisks/sfdisk.c:407
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "çŁç˘ź %s: 無法取得çµć§‹ĺŹć•¸\n"
+
+#: fdisks/sfdisk.c:424
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "çŁç˘ź %s: 無法取得大小\n"
+
+#: fdisks/sfdisk.c:456
+#, c-format
+msgid ""
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
+msgstr ""
+"警告:開始=%lu - 這看來ĺŹćŻĺ†ĺ‰˛ĺŤ€č€Śéťž\n"
+"整個çŁç˘źă€‚於其上使用 fdisk 可č˝ä¸Ťĺ…·ć„Źçľ©çš„。\n"
+"[如果您確實ćłč¦ĺ¦‚此,就使用 --force é¸é …]\n"
+
+#: fdisks/sfdisk.c:464
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "警告:HDIO_GETGEO 表示具有 %lu 個çŁé ­\n"
+
+#: fdisks/sfdisk.c:467
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "警告:HDIO_GETGEO 表示具有 %lu 段çŁĺŤ€\n"
+
+#: fdisks/sfdisk.c:471
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "警告:BLKGETSIZE/HDIO_GETGEO 表示具有 %lu ĺśçŁćź±\n"
+
+#: fdisks/sfdisk.c:476
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"警告:不太可č˝çš„çŁĺŤ€ć•¸é‡Ź (%lu) - 通常最多為 63\n"
+"這將對於使用 C/H/S 定址的軟體造ć問題。\n"
+
+#: fdisks/sfdisk.c:480
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"çŁç˘ź %s: %lu çŁćź±ďĽŚ%lu çŁé ­ďĽŚ%lu çŁĺŤ€/çŁč»Ś\n"
+
+#: fdisks/sfdisk.c:566
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %2$s çš„ %1$s 有不可č˝çš„çŁé ­ć•¸ĺ€ĽďĽš%3$lu (應該介於 0-%4$lu)\n"
+
+#: fdisks/sfdisk.c:571
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-"
+"%lu)\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %1$s çš„ %2$s 有不可č˝çš„çŁĺŤ€ć•¸ĺ€ĽďĽš%3$lu (應該介於 1-%4$lu)\n"
+
+#: fdisks/sfdisk.c:576
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-"
+"%lu)\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %1$s çš„ %2$s 有不可č˝çš„çŁćź±ć•¸ĺ€ĽďĽš%3$lu (應該介於 0-%4$lu)\n"
+
+#: fdisks/sfdisk.c:616
+#, c-format
+msgid ""
+"Id Name\n"
+"\n"
+msgstr ""
+"č­ĺĄč™ź ĺŤç¨±\n"
+"\n"
+
+#: fdisks/sfdisk.c:775
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "重新讀取ĺ†ĺ‰˛čˇ¨â€¦\n"
+
+#: fdisks/sfdisk.c:780
+msgid ""
+"The command to re-read the partition table failed.\n"
+"Run partprobe(8), kpartx(8) or reboot your system now,\n"
+"before using mkfs\n"
+msgstr ""
+"重新讀取ĺ†ĺ‰˛čˇ¨çš„命令失敗。\n"
+"在使用 mkfs 之前,請執行 partprobe(8),kpartx(8) ć–將您的系統重新開機\n"
+
+#: fdisks/sfdisk.c:788
+#, c-format
+msgid "Error closing %s\n"
+msgstr "關閉 %s 時發生錯誤\n"
+
+#: fdisks/sfdisk.c:829
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s:無此類ĺ†ĺ‰˛ĺŤ€\n"
+
+#: fdisks/sfdisk.c:852
+msgid "unrecognized format - using sectors\n"
+msgstr "無法辨č­çš„格式 - 使用çŁĺŤ€ć•¸\n"
+
+#: fdisks/sfdisk.c:912
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "尚未實作的格式 - 使用 %s\n"
+
+#: fdisks/sfdisk.c:916
+#, fuzzy, c-format
+msgid ""
+"Units: cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"單位 = %lu 位ĺ…組的çŁćź±ďĽŚ1024 位ĺ…組的區塊,從 %d čµ·č¨ć•¸\n"
+"\n"
+
+#: fdisks/sfdisk.c:918
+#, c-format
+msgid " Device Boot Start End #cyls #blocks Id System\n"
+msgstr " 裝置開機起始 çµćťź çŁćź±ć•¸ 區塊數 č­ĺĄč™ź 系統\n"
+
+#: fdisks/sfdisk.c:923
+#, fuzzy, c-format
+msgid ""
+"Units: sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"單位 = 512 位ĺ…組的çŁĺŤ€ďĽŚĺľž %d čµ·č¨ć•¸\n"
+"\n"
+
+#: fdisks/sfdisk.c:925
+#, c-format
+msgid " Device Boot Start End #sectors Id System\n"
+msgstr " 裝置開機 起始 çµćťź çŁĺŤ€ć•¸ č­ĺĄč™ź 系統\n"
+
+#: fdisks/sfdisk.c:928
+#, fuzzy, c-format
+msgid ""
+"Units: blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"單位 = 1024 位ĺ…組的區塊,從 %d čµ·č¨ć•¸\n"
+"\n"
+
+#: fdisks/sfdisk.c:930
+#, c-format
+msgid " Device Boot Start End #blocks Id System\n"
+msgstr " 裝置開機 起始 çµćťź 區塊數 č­ĺĄč™ź 系統\n"
+
+#: fdisks/sfdisk.c:933
+#, fuzzy, c-format
+msgid ""
+"Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"單位 = 1048576 位ĺ…組的 mebibytes,1024 位ĺ…組的區塊,從 %d čµ·č¨ć•¸\n"
+"\n"
+
+#: fdisks/sfdisk.c:935
+#, c-format
+msgid " Device Boot Start End MiB #blocks Id System\n"
+msgstr " 裝置開機起始 çµćťź MiB 區塊數 č­ĺĄč™ź 系統\n"
+
+#: fdisks/sfdisk.c:1094
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\t起始:(c,h,s) é ćśźç‚ş (%ld,%ld,%ld) 辨認為 (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1101
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tçµćťźďĽš(c,h,s) é ćśźç‚ş (%ld,%ld,%ld) 辨認為 (%ld,%ld,%ld)\n"
+
+#: fdisks/sfdisk.c:1104
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€çµćťźć–ĽçŁćź± %ld,位於çŁç˘źćś«ç«Żäą‹ĺľŚ\n"
+
+#: fdisks/sfdisk.c:1115
+msgid "No partitions found\n"
+msgstr "找不ĺ°ĺ†ĺ‰˛ĺŤ€\n"
+
+#: fdisks/sfdisk.c:1118
+#, c-format
+msgid ""
+"Warning: The partition table looks like it was made\n"
+" for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"警告:ĺ†ĺ‰˛čˇ¨çś‹čµ·äľ†ĺŹćŻ\n"
+"用於 C/H/S=*/%ld/%ld (而非 %ld/%ld/%ld)。\n"
+"ć‘ĺ°‡ćśĺ‡č¨­č©˛çµć§‹ĺŹć•¸ä»Ąç”¨ć–Ľć­¤ĺ—表。\n"
+
+#: fdisks/sfdisk.c:1166
+#, fuzzy
+msgid "no partition table present."
+msgstr "ĺ†ĺ‰˛čˇ¨ä¸Ťĺ­ĺś¨ă€‚\n"
+
+#: fdisks/sfdisk.c:1168
+#, fuzzy, c-format
+msgid "strange, only %d partitions defined."
+msgstr "奇怪,只有定義 %d 個ĺ†ĺ‰˛ĺŤ€ă€‚\n"
+
+#: fdisks/sfdisk.c:1177
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s 大小為 0 但ćŻä¸¦ćśŞć¨™č¨ç‚şç©ş\n"
+
+#: fdisks/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s 大小為 0 且為可開機\n"
+
+#: fdisks/sfdisk.c:1183
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s 大小為 0 且以非零值開始\n"
+
+#: fdisks/sfdisk.c:1195
+#, fuzzy, c-format
+msgid "Warning: partition %s is not contained in partition %s\n"
+msgstr "並未包ĺ«ć–Ľĺ†ĺ‰˛ĺŤ€ %s 中\n"
+
+#: fdisks/sfdisk.c:1207
+#, fuzzy, c-format
+msgid "Warning: partitions %s and %s overlap\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %d ćŻç©şçš„\n"
+
+#: fdisks/sfdisk.c:1219
+#, fuzzy, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %llu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"警告:ĺ†ĺ‰˛ĺŤ€ %s ĺ«ćś‰é¨ĺ†çš„ĺ†ĺ‰˛čˇ¨ (çŁĺŤ€ %lu),\n"
+"當ĺ®ĺˇ«ć»żĺľŚĺ°‡ćśč˘«ćŤćŻ€\n"
+
+#: fdisks/sfdisk.c:1232
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s 開始於çŁĺŤ€ 0\n"
+
+#: fdisks/sfdisk.c:1237
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s 延伸超éŽçŁç˘źćś«ç«Ż\n"
+
+#: fdisks/sfdisk.c:1254
+#, c-format
+msgid ""
+"Warning: partition %s has size %d.%d TB (%llu bytes),\n"
+"which is larger than the %llu bytes limit imposed\n"
+"by the DOS partition table for %d-byte sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1270
+#, c-format
+msgid ""
+"Warning: partition %s starts at sector %llu (%d.%d TB for %d-byte sectors),\n"
+"which exceeds the DOS partition table limit of %llu sectors\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:1290
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+"在主č¦ĺ†ĺ‰˛ĺŤ€äą‹ä¸­ďĽŚćś€ĺ¤šĺŹŞč˝ćś‰ä¸€ĺ€‹ćŻć“´ĺ……ĺ†ĺ‰˛ĺŤ€\n"
+"(雖然這在 Linux 之下並不ćŻĺ€‹ĺ•ŹéˇŚ)\n"
+
+#: fdisks/sfdisk.c:1310
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s 並非啟始於çŁćź±é‚Šç•Ś\n"
+
+#: fdisks/sfdisk.c:1316
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s 並非çµćťźć–ĽçŁćź±é‚Šç•Ś\n"
+
+#: fdisks/sfdisk.c:1335
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"警告:超éŽä¸€ĺ€‹çš„主č¦ĺ†ĺ‰˛ĺŤ€č˘«ć¨™č¨ç‚şĺŹŻé–‹ć©źçš„ (作用中)\n"
+"這個對 LILO 而言不ćĺ•ŹéˇŚďĽŚä˝†ćŻ DOS MBR 將無法以這個çŁç˘źé–‹ć©źă€‚\n"
+
+#: fdisks/sfdisk.c:1342
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"警告:通常只可以從主č¦ĺ†ĺ‰˛ĺŤ€é–‹ć©ź\n"
+"LILO 並不ç†ćśă€ŚĺŹŻé–‹ć©źçš„」旗標。\n"
+
+#: fdisks/sfdisk.c:1348
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"警告:沒有主č¦ĺ†ĺ‰˛ĺŤ€č˘«ć¨™č¨ç‚şĺŹŻé–‹ć©źçš„ (作用中)\n"
+"這個對 LILO 而言不ćĺ•ŹéˇŚďĽŚä˝†ćŻ DOS MBR 將無法以這個çŁç˘źé–‹ć©źă€‚\n"
+
+#: fdisks/sfdisk.c:1362
+msgid "start"
+msgstr "啟始"
+
+#: fdisks/sfdisk.c:1365
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"ĺ†ĺ‰˛ĺŤ€ %s:啟始:(c,h,s) é ćśźç‚ş (%ld ,%ld ,%ld) ä˝†ć‰ľĺ° (%ld ,%ld ,%ld)\n"
+
+#: fdisks/sfdisk.c:1371
+msgid "end"
+msgstr "çµćťź"
+
+#: fdisks/sfdisk.c:1374
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %s:çµćťźďĽš(c,h,s) é ćśźç‚ş (%ld ,%ld ,%ld) ć‰ľĺ° (%ld ,%ld ,%ld)\n"
+
+#: fdisks/sfdisk.c:1377
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %s çµćťźć–ĽçŁćź± %ld,位於çŁç˘źçš„末端之後\n"
+
+#: fdisks/sfdisk.c:1402
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %lld to %lld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"警告:擴充ĺ†ĺ‰˛ĺŤ€çš„啟始從 %ld ä˝Ťç§»ĺ° %ld\n"
+"(只用於ĺ—表目的。請不č¦č®Šć›´ĺ®çš„內容。)\n"
+
+#: fdisks/sfdisk.c:1407
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"警告:擴充ĺ†ĺ‰˛ĺŤ€éťžĺ•źĺ§‹ć–ĽçŁćź±é‚Šç•Śă€‚\n"
+"DOS ĺ’Ś Linux 將對內容有不ĺŚč§Łč­Żă€‚\n"
+
+#: fdisks/sfdisk.c:1420
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "錯誤:çŁĺŤ€ %lu 沒有 msdos 簽章\n"
+
+#: fdisks/sfdisk.c:1427 fdisks/sfdisk.c:1504
+#, fuzzy, c-format
+msgid "too many partitions - ignoring those past nr (%ld)\n"
+msgstr "太多ĺ†ĺ‰˛ĺŤ€ - 忽略那些éŽĺŽ»çš„ nr (%d)\n"
+
+#: fdisks/sfdisk.c:1442
+msgid "tree of partitions?\n"
+msgstr "ĺ†ĺ‰˛ĺŤ€çš„樹狀圖?\n"
+
+#: fdisks/sfdisk.c:1550
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "ĺµć¸¬ĺ°çŁç˘źç®ˇç†ĺ“ˇ - 無法處ç†ĺ®\n"
+
+#: fdisks/sfdisk.c:1558
+msgid "DM6 signature found - giving up\n"
+msgstr "ć‰ľĺ° DM6 簽章 - 放棄\n"
+
+#: fdisks/sfdisk.c:1577
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "ĺľĺĄ‡ć€Şâ€¦ďĽŚĺ¤§ĺ°Źç‚ş 0 çš„ć“´ĺ……ĺ†ĺ‰˛ĺŤ€ďĽź\n"
+
+#: fdisks/sfdisk.c:1584 fdisks/sfdisk.c:1595
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "ĺľĺĄ‡ć€Şâ€¦ďĽŚĺ¤§ĺ°Źç‚ş 0 çš„ BSD ĺ†ĺ‰˛ĺŤ€ďĽź\n"
+
+#: fdisks/sfdisk.c:1639
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: 無法辨č­çš„ĺ†ĺ‰˛čˇ¨éˇžĺž‹\n"
+
+#: fdisks/sfdisk.c:1651
+msgid "-n flag was given: Nothing changed\n"
+msgstr "-n 旗標已給定:沒有改變任何東西\n"
+
+#: fdisks/sfdisk.c:1668
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "儲ĺ­čŠçš„çŁĺŤ€ć™‚失敗 - 放棄\n"
+
+#: fdisks/sfdisk.c:1673 fdisks/sfdisk.c:1678
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "寫入ĺ†ĺ‰˛ĺŤ€ć–Ľ %s 時失敗\n"
+
+#: fdisks/sfdisk.c:1756
+#, fuzzy
+msgid "long or incomplete input line - quitting"
+msgstr "太長ć–ä¸Ťĺ®Ść•´çš„čĽ¸ĺ…Ąĺ— - 離開\n"
+
+#: fdisks/sfdisk.c:1792
+#, fuzzy, c-format
+msgid "input error: `=' expected after %s field"
+msgstr "輸入錯誤:é ćśźă€Ś=」位於 %s 欄位之後\n"
+
+#: fdisks/sfdisk.c:1799
+#, fuzzy, c-format
+msgid "input error: unexpected character %c after %s field"
+msgstr "輸入錯誤:未é ćśźçš„ĺ­—ĺ… %c 位於 %s 欄位之後\n"
+
+#: fdisks/sfdisk.c:1805
+#, fuzzy, c-format
+msgid "unrecognized input: %s"
+msgstr "無法辨č­çš„輸入:%s\n"
+
+#: fdisks/sfdisk.c:1846 fdisks/sfdisk.c:1883
+msgid "number too big\n"
+msgstr "數字太大\n"
+
+#: fdisks/sfdisk.c:1850 fdisks/sfdisk.c:1887
+msgid "trailing junk after number\n"
+msgstr "數字之後尾隨無用物\n"
+
+#: fdisks/sfdisk.c:2012
+msgid "no room for partition descriptor\n"
+msgstr "沒有空間可用於ĺ†ĺ‰˛ĺŤ€ćŹŹčż°\n"
+
+#: fdisks/sfdisk.c:2045
+msgid "cannot build surrounding extended partition\n"
+msgstr "無法圍繞擴充ĺ†ĺ‰˛ĺŤ€ĺ»şç«‹\n"
+
+#: fdisks/sfdisk.c:2096
+msgid "too many input fields\n"
+msgstr "太多輸入欄位\n"
+
+#: fdisks/sfdisk.c:2130
+msgid "No room for more\n"
+msgstr "沒有空間可容納更多\n"
+
+#: fdisks/sfdisk.c:2149
+msgid "Illegal type\n"
+msgstr "不ĺ法的類型\n"
+
+#: fdisks/sfdisk.c:2183
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "警告:給定的大小 (%lu) 超出所ĺ…許的最大值 (%lu)\n"
+
+#: fdisks/sfdisk.c:2189
+msgid "Warning: empty partition\n"
+msgstr "警告:空的ĺ†ĺ‰˛ĺŤ€\n"
+
+#: fdisks/sfdisk.c:2203
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "警告:不當的ĺ†ĺ‰˛ĺŤ€ĺ•źĺ§‹ (ćś€ĺ… %lu)\n"
+
+#: fdisks/sfdisk.c:2216
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "無法辨č­çš„可開機旗標 - é¸ć“‡ - ć– *\n"
+
+#: fdisks/sfdisk.c:2233 fdisks/sfdisk.c:2247
+msgid "partial c,h,s specification?\n"
+msgstr "é¨ä»˝ c,h,s 規格?\n"
+
+#: fdisks/sfdisk.c:2258
+msgid "Extended partition not where expected\n"
+msgstr "ć“´ĺ……ĺ†ĺ‰˛ĺŤ€ä¸Ťĺś¨é ćśźçš„位置\n"
+
+#: fdisks/sfdisk.c:2290
+#, fuzzy
+msgid "bad input"
+msgstr "不當的輸入\n"
+
+#: fdisks/sfdisk.c:2313
+msgid "too many partitions\n"
+msgstr "太多ĺ†ĺ‰˛ĺŤ€\n"
+
+#: fdisks/sfdisk.c:2346
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"以下ĺ—的格式輸入;缺值欄位將取得é č¨­ĺ€Ľă€‚\n"
+"<啟始> <大小> <類型 [E,S,L,X, ĺŤĺ…­é€˛ä˝Ť]> <可開機 [-,*]> <c,h,s> <c,h,s>\n"
+"常常您只有需č¦ćŚ‡ĺ®š <啟始> ĺ’Ś <大小> (也許還有 <類型>)。\n"
+
+#: fdisks/sfdisk.c:2366 include/c.h:241 misc-utils/cal.c:784
+#: misc-utils/getopt.c:314 misc-utils/logger.c:172 misc-utils/look.c:368
+#: misc-utils/mcookie.c:68 misc-utils/namei.c:418 misc-utils/rename.c:65
+#: misc-utils/uuidd.c:69 misc-utils/uuidgen.c:34 misc-utils/whereis.c:139
+#: misc-utils/wipefs.c:359 sys-utils/dmesg.c:181 sys-utils/fsfreeze.c:41
+#: sys-utils/hwclock.c:1362 sys-utils/renice.c:55 term-utils/mesg.c:70
+#: term-utils/script.c:130 term-utils/scriptreplay.c:40
+#: term-utils/setterm.c:676 term-utils/wall.c:81 term-utils/write.c:79
+#, fuzzy
+msgid ""
+"\n"
+"Usage:\n"
+msgstr "用法:\n"
+
+#: fdisks/sfdisk.c:2368
+#, fuzzy, c-format
+msgid " %s [options] <device> [...]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: fdisks/sfdisk.c:2370 include/c.h:242 misc-utils/cal.c:789
+#: misc-utils/getopt.c:322 misc-utils/logger.c:176 misc-utils/look.c:372
+#: misc-utils/mcookie.c:72 misc-utils/namei.c:422 misc-utils/rename.c:70
+#: misc-utils/uuidd.c:73 misc-utils/uuidgen.c:38 misc-utils/whereis.c:143
+#: misc-utils/wipefs.c:363 sys-utils/dmesg.c:185 sys-utils/fsfreeze.c:45
+#: sys-utils/hwclock.c:1382 sys-utils/renice.c:62 term-utils/mesg.c:76
+#: term-utils/script.c:134 term-utils/scriptreplay.c:45
+#: term-utils/setterm.c:680 term-utils/wall.c:85 term-utils/write.c:84
+#: text-utils/column.c:92
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"é¸é …:\n"
+
+#: fdisks/sfdisk.c:2371
+msgid ""
+" -s, --show-size list size of a partition\n"
+" -c, --id change or print partition Id\n"
+" --change-id change Id\n"
+" --print-id print Id\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2375
+msgid ""
+" -l, --list list partitions of each device\n"
+" -d, --dump idem, but in a format suitable for later input\n"
+" -i, --increment number cylinders etc. from 1 instead of from 0\n"
+" -u, --unit <letter> units to be used; <letter> can be one of\n"
+" S (sectors), C (cylinders), B (blocks), or M "
+"(MB)\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2380
+msgid ""
+" -1, --one-only reserved option that does nothing currently\n"
+" -T, --list-types list the known partition types\n"
+" -D, --DOS for DOS-compatibility: waste a little space\n"
+" -E, --DOS-extended DOS extended partition compatibility\n"
+" -R, --re-read make the kernel reread the partition table\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2385
+msgid ""
+" -N <number> change only the partition with this <number>\n"
+" -n do not actually write to disk\n"
+" -O <file> save the sectors that will be overwritten to "
+"<file>\n"
+" -I <file> restore sectors from <file>\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2389
+msgid ""
+" -V, --verify check that the listed partitions are reasonable\n"
+" -v, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2393
+#, fuzzy
+msgid ""
+"\n"
+"Dangerous options:\n"
+msgstr "危險é¸é …:"
+
+#: fdisks/sfdisk.c:2394
+msgid ""
+" -f, --force disable all consistency checking\n"
+" --no-reread do not check whether the partition is in use\n"
+" -q, --quiet suppress warning messages\n"
+" -L, --Linux do not complain about things irrelevant for "
+"Linux\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2398
+#, fuzzy
+msgid ""
+" -g, --show-geometry print the kernel's idea of the geometry\n"
+" -G, --show-pt-geometry print geometry guessed from the partition table\n"
+msgstr " -G [ć– --show-pt-geometry]:印出根據ĺ†ĺ‰˛čˇ¨ć‰€çŚść¸¬çš„硬碟çµć§‹ĺŹć•¸"
+
+#: fdisks/sfdisk.c:2400
+#, fuzzy
+msgid ""
+" -A, --activate[=<device>] activate bootable flag\n"
+" -U, --unhide[=<dev>] set partition unhidden\n"
+" -x, --show-extended also list extended partitions in the output,\n"
+" or expect descriptors for them in the input\n"
+msgstr ""
+" -x [ć– --show-extended]:於輸出時也ĺ—出擴充ĺ†ĺ‰˛ĺŤ€\n"
+" ć–é ćśźčĽ¸ĺ…Ąć™‚有對於ĺ®ĺ€‘的描述"
+
+#: fdisks/sfdisk.c:2404
+msgid ""
+" --leave-last do not allocate the last cylinder\n"
+" --IBM same as --leave-last\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2406
+msgid ""
+" --in-order partitions are in order\n"
+" --not-in-order partitions are not in order\n"
+" --inside-outer all logicals inside outermost extended\n"
+" --not-inside-outer not all logicals inside outermost extended\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2410
+msgid ""
+" --nested every partition is disjoint from all others\n"
+" --chained like nested, but extended partitions may lie "
+"outside\n"
+" --onesector partitions are mutually disjoint\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2414
+msgid ""
+"\n"
+"Override the detected geometry using:\n"
+" -C, --cylinders <number> set the number of cylinders to use\n"
+" -H, --heads <number> set the number of heads to use\n"
+" -S, --sectors <number> set the number of sectors to use\n"
+"\n"
+msgstr ""
+
+#: fdisks/sfdisk.c:2424
+msgid "Usage:"
+msgstr "用法:"
+
+#: fdisks/sfdisk.c:2425
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s 裝置\t\t ĺ—出裝置上的作用中ĺ†ĺ‰˛ĺŤ€\n"
+
+#: fdisks/sfdisk.c:2426
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s 裝置 n1 n2…啟用ĺ†ĺ‰˛ĺŤ€ n1..., ĺśç”¨ĺ…¶é¤çš„\n"
+
+#: fdisks/sfdisk.c:2428
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An 裝置\t 啟用ĺ†ĺ‰˛ĺŤ€ n, ĺśç”¨ĺŹ¦ĺ¤–一個\n"
+
+#: fdisks/sfdisk.c:2537
+#, c-format
+msgid ""
+"\n"
+"WARNING: GPT (GUID Partition Table) detected on '%s'! The util sfdisk "
+"doesn't support GPT. Use GNU Parted.\n"
+"\n"
+msgstr ""
+"\n"
+"警告:GPT (GUID ĺ†ĺ‰˛čˇ¨) 於「%s」ĺµć¸¬ĺ°ďĽĺ·Ąĺ…·ç¨‹ĺĽŹ sfdisk 不支援 GPT。使用 GNU "
+"Parted。\n"
+"\n"
+
+#: fdisks/sfdisk.c:2542
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "使用 --force 旗標以é§ĺ›žé€™ĺ€‹ćŞ˘ćźĄă€‚\n"
+
+#: fdisks/sfdisk.c:2582
+#, fuzzy
+msgid "no command?"
+msgstr "沒有命令?\n"
+
+#: fdisks/sfdisk.c:2662
+#, fuzzy
+msgid "invalid number of partitions argument"
+msgstr "無ć•çš„ĺ—數"
+
+#: fdisks/sfdisk.c:2752
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "總č¨ďĽš%llu 區塊\n"
+
+#: fdisks/sfdisk.c:2795
+#, fuzzy
+msgid "usage: sfdisk --print-id device partition-number"
+msgstr "用法:sfdisk --print-id 裝置 ĺ†ĺ‰˛ĺŤ€ç·¨č™ź\n"
+
+#: fdisks/sfdisk.c:2797
+#, fuzzy
+msgid "usage: sfdisk --change-id device partition-number Id"
+msgstr "用法:sfdisk --change-id 裝置 ĺ†ĺ‰˛ĺŤ€ç·¨č™ź č­ĺĄč™ź\n"
+
+#: fdisks/sfdisk.c:2799
+#, fuzzy
+msgid "usage: sfdisk --id device partition-number [Id]"
+msgstr "用法:sfdisk --id 裝置 ĺ†ĺ‰˛ĺŤ€ç·¨č™ź [č­ĺĄč™ź]\n"
+
+#: fdisks/sfdisk.c:2806
+#, fuzzy
+msgid "can specify only one device (except with -l or -s)"
+msgstr "只可以指定一個裝置 (除了配ĺ -l ć– -s)\n"
+
+#: fdisks/sfdisk.c:2832
+#, fuzzy, c-format
+msgid "cannot open %s read-write"
+msgstr "無法開啟 %s 的可讀可寫\n"
+
+#: fdisks/sfdisk.c:2834
+#, fuzzy, c-format
+msgid "cannot open %s for reading"
+msgstr "無法開啟 %s 用於讀取\n"
+
+#: fdisks/sfdisk.c:2878 fdisks/sfdisk.c:2910
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s:%ld çŁćź±ďĽŚ%ld çŁé ­ďĽŚ%ld çŁĺŤ€/çŁč»Ś\n"
+
+#: fdisks/sfdisk.c:2929
+#, fuzzy, c-format
+msgid "Cannot get size of %s"
+msgstr "無法取得 %s 的大小\n"
+
+#: fdisks/sfdisk.c:3010
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "不當的作用中位ĺ…組:0x%x 而非 0x80\n"
+
+#: fdisks/sfdisk.c:3029 fdisks/sfdisk.c:3086 fdisks/sfdisk.c:3119
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"完ć\n"
+"\n"
+
+#: fdisks/sfdisk.c:3038
+#, c-format
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"您有 %d 塊作用中的主č¦ĺ†ĺ‰˛ĺŤ€ă€‚這個不ćśĺ˝±éźżĺ° LILO,\n"
+"ä˝†ćŻ DOS MBR 只č˝ĺ°‡ĺ…·ćś‰ä¸€ĺˇŠä˝śç”¨ä¸­ĺ†ĺ‰˛ĺŤ€çš„çŁç˘źé–‹ć©źă€‚\n"
+
+#: fdisks/sfdisk.c:3055
+#, fuzzy, c-format
+msgid "partition %s has id %x and is not hidden"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %s 具有č­ĺĄč™ź %x 而且並未隱藏\n"
+
+#: fdisks/sfdisk.c:3115
+#, fuzzy, c-format
+msgid "Bad Id %lx"
+msgstr "不當的č­ĺĄč™ź %lx\n"
+
+#: fdisks/sfdisk.c:3133
+msgid "This disk is currently in use.\n"
+msgstr "這個çŁç˘źç‚şç›®ĺ‰Ťĺś¨ä˝żç”¨ä¸­ă€‚\n"
+
+#: fdisks/sfdisk.c:3154
+#, fuzzy, c-format
+msgid "Fatal error: cannot find %s"
+msgstr "ĺš´é‡ŤéŚŻčŞ¤ďĽšć‰ľä¸Ťĺ° %s\n"
+
+#: fdisks/sfdisk.c:3157
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "警告:%s 並非區塊裝置\n"
+
+#: fdisks/sfdisk.c:3163
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "檢查ćŻĺ¦ć˛’有人現在正使用這個çŁç˘źâ€¦\n"
+
+#: fdisks/sfdisk.c:3165
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"這個çŁç˘źç›®ĺ‰Ťĺś¨ä˝żç”¨ä¸­ - 重新設定ĺ†ĺ‰˛ĺŤ€ĺŹŻč˝ä¸ŤćŻĺ€‹ĺĄ˝ä¸»ć„Źă€‚\n"
+"卸載所有檔ćˇçł»çµ±ďĽŚä¸¦é—śé–‰é€™ĺ€‹çŁç˘źä¸Šçš„所有交換ĺ†ĺ‰˛ĺŤ€ă€‚\n"
+"使用 --no-reread 旗標以抑ĺ¶é€™ĺ€‹ćŞ˘ćźĄă€‚\n"
+
+#: fdisks/sfdisk.c:3169
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "使用 --force 旗標以é§ĺ›žć‰€ćś‰ćŞ˘ćźĄă€‚\n"
+
+#: fdisks/sfdisk.c:3173
+msgid "OK\n"
+msgstr "確定\n"
+
+#: fdisks/sfdisk.c:3182
+#, c-format
+msgid "Old situation:\n"
+msgstr "čŠçš„ć…ćłďĽš\n"
+
+#: fdisks/sfdisk.c:3186
+#, fuzzy, c-format
+msgid "Partition %d does not exist, cannot change it"
+msgstr "ĺ†ĺ‰˛ĺŤ€ %d 不ĺ­ĺś¨ďĽŚç„ˇćł•č®Šć›´ĺ®\n"
+
+#: fdisks/sfdisk.c:3194
+#, c-format
+msgid "New situation:\n"
+msgstr "ć–°çš„ć…ćłďĽš\n"
+
+#: fdisks/sfdisk.c:3199
+#, fuzzy
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)"
+msgstr ""
+"ć‘不喜歡這些ĺ†ĺ‰˛ - 沒有變更任何東西。\n"
+"(如果您真的ćłč¦ĺ¦‚此,請使用 --force é¸é …。)\n"
+
+#: fdisks/sfdisk.c:3202
+msgid "I don't like this - probably you should answer No\n"
+msgstr "ć‘不喜歡這個 - 您也許應該回答 No\n"
+
+#. TRANSLATORS: sfdisk uses rpmatch which means the answers y and n
+#. * should be translated, but that is not the case with q answer.
+#: fdisks/sfdisk.c:3209
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "您滿意這個嗎?[ynq] "
+
+#: fdisks/sfdisk.c:3211
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "您č¦ĺ°‡é€™ĺ€‹ĺŻ«ĺ…ĄçŁç˘źĺ—ŽďĽź[ynq] "
+
+#: fdisks/sfdisk.c:3214
+#, fuzzy
+msgid "Quitting - nothing changed"
+msgstr "離開中 - 沒有變更任何東西\n"
+
+#: fdisks/sfdisk.c:3220
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "請以 y,n,q 之一回答\n"
+
+#: fdisks/sfdisk.c:3228
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"ć功寫入新的ĺ†ĺ‰˛čˇ¨\n"
+"\n"
+
+#: fdisks/sfdisk.c:3236
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"如果您建立ć–變更 DOS ĺ†ĺ‰˛ĺŤ€(ĺ‡č¨­ćŻ /dev/foo7),就得使用 dd(1)\n"
+"將開頭的 512 位ĺ…組歸零:dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(ĺŹçś‹ fdisk(8).)\n"
+
+#: include/c.h:243 sys-utils/ipcs.c:125 sys-utils/ipcs.c:131
+msgid "\n"
+msgstr ""
+
+#: include/c.h:244
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: include/c.h:245
+#, fuzzy
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+
+#: include/c.h:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see %s.\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ swaplabel(8)。\n"
+
+#: include/closestream.h:41 include/closestream.h:43 login-utils/vipw.c:283
+#: login-utils/vipw.c:302 mount-deprecated/mount_mntent.c:58
+#: sys-utils/rtcwake.c:290 term-utils/script.c:288 term-utils/script.c:298
+#: term-utils/script.c:411 term-utils/script.c:422 term-utils/script.c:484
+#: term-utils/setterm.c:1118 term-utils/wall.c:278
+#, fuzzy, c-format
+msgid "write error"
+msgstr "col:寫入錯誤。\n"
+
+#: include/optutils.h:76
+#, fuzzy, c-format
+msgid "%s: options "
+msgstr "用法:%s [é¸é …]\n"
+
+#: include/optutils.h:85
+#, fuzzy, c-format
+msgid "are mutually exclusive."
+msgstr "é¸é …彼此互斥"
+
+#: lib/pager.c:107
+#, fuzzy, c-format
+msgid "waitpid failed (%s)"
+msgstr "waitpid 失敗"
+
+#: lib/path.c:174 sys-utils/lscpu.c:1118
+msgid "failed to callocate cpu set"
+msgstr "callocate cpu 集ĺ時失敗"
+
+#: lib/path.c:178
+#, fuzzy, c-format
+msgid "failed to parse CPU list %s"
+msgstr "ĺ‰–ćž CPU é®ç˝© %s 時失敗"
+
+#: lib/path.c:181
+#, c-format
+msgid "failed to parse CPU mask %s"
+msgstr "ĺ‰–ćž CPU é®ç˝© %s 時失敗"
+
+#: login-utils/chfn.c:76 login-utils/chsh.c:64
+#, fuzzy, c-format
+msgid " %s [options] [username]\n"
+msgstr ""
+"\n"
+"用法:%s [é¸é …] č·Żĺľ‘ĺŤç¨± [č·Żĺľ‘ĺŤç¨±...]\n"
+
+#: login-utils/chfn.c:78
+msgid " -f, --full-name <full-name> real name\n"
+msgstr ""
+
+#: login-utils/chfn.c:79
+msgid " -o, --office <office> office number\n"
+msgstr ""
+
+#: login-utils/chfn.c:80
+#, fuzzy
+msgid " -p, --office-phone <phone> office phone number\n"
+msgstr ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+
+#: login-utils/chfn.c:81
+msgid " -h, --home-phone <phone> home phone number\n"
+msgstr ""
+
+#: login-utils/chfn.c:83 login-utils/chsh.c:69
+msgid " -u, --help display this help and exit\n"
+msgstr ""
+
+#: login-utils/chfn.c:84 login-utils/chsh.c:70
+#, fuzzy
+msgid " -v, --version output version information and exit\n"
+msgstr " -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+
+#: login-utils/chfn.c:121 login-utils/chsh.c:96
+#, fuzzy, c-format
+msgid "you (user %d) don't exist."
+msgstr "%s:您 (使用者 %d) 不ĺ­ĺś¨ă€‚\n"
+
+#: login-utils/chfn.c:126 login-utils/chsh.c:101
+#, fuzzy, c-format
+msgid "user \"%s\" does not exist."
+msgstr "%s:使用者「%s」不ĺ­ĺś¨ă€‚\n"
+
+#: login-utils/chfn.c:131
+#, fuzzy
+msgid "can only change local entries"
+msgstr "%s:只č˝č®Šć›´ćś¬ĺś°é …目;使用 yp%s ĺšç‚şć›żä»Łă€‚\n"
+
+#: login-utils/chfn.c:141
+#, fuzzy, c-format
+msgid "%s is not authorized to change the finger info of %s"
+msgstr "%s: %s 並未被ćŽć¬ŠĺŽ»č®Šć›´ %s çš„ finger 資訊\n"
+
+#: login-utils/chfn.c:143 login-utils/chsh.c:119
+msgid "Unknown user context"
+msgstr "不ćŽçš„使用者相關環ĺ˘"
+
+#: login-utils/chfn.c:149 login-utils/chsh.c:125
+#, fuzzy, c-format
+msgid "can't set default context for %s"
+msgstr "%s:無法設定 /etc/passwd çš„é č¨­ç›¸é—śç’°ĺ˘"
+
+#: login-utils/chfn.c:159
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "修改 %s 的 finger 資訊。\n"
+
+#: login-utils/chfn.c:196
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger 資訊沒有變更。\n"
+
+#: login-utils/chfn.c:252 login-utils/chfn.c:329
+msgid "Office"
+msgstr "辦公室"
+
+#: login-utils/chfn.c:256 login-utils/chfn.c:330
+msgid "Office Phone"
+msgstr "辦公室電話"
+
+#: login-utils/chfn.c:260 login-utils/chfn.c:331
+msgid "Home Phone"
+msgstr "住家電話"
+
+#: login-utils/chfn.c:351 login-utils/chsh.c:265
+#, fuzzy
+msgid "Aborted."
+msgstr ""
+"\n"
+"已中止。\n"
+
+#: login-utils/chfn.c:383
+#, fuzzy, c-format
+msgid "field %s is too long"
+msgstr "欄位太長。\n"
+
+#: login-utils/chfn.c:385
+#, fuzzy
+msgid "field is too long"
+msgstr "欄位太長。\n"
+
+#: login-utils/chfn.c:393
+#, fuzzy, c-format
+msgid "%s: '%c' is not allowed"
+msgstr "%s:「%c」並不被ĺ…許。\n"
+
+#: login-utils/chfn.c:395 login-utils/chsh.c:309
+#, fuzzy, c-format
+msgid "'%c' is not allowed"
+msgstr "「%c」未被ĺ…許。\n"
+
+#: login-utils/chfn.c:401
+#, fuzzy, c-format
+msgid "%s: control characters are not allowed"
+msgstr "%s:控ĺ¶ĺ­—ĺ…不被ĺ…許。\n"
+
+#: login-utils/chfn.c:404 login-utils/chsh.c:313
+#, fuzzy
+msgid "control characters are not allowed"
+msgstr "控ĺ¶ĺ­—ĺ…不被ĺ…許。\n"
+
+#: login-utils/chfn.c:481
+#, c-format
+msgid "Finger information *NOT* changed. Try again later.\n"
+msgstr "Finger 資訊 *未被* 變更。請稍後再ĺ—試。\n"
+
+#: login-utils/chfn.c:484
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger 資訊已變更。\n"
+
+#: login-utils/chsh.c:66
+#, fuzzy
+msgid " -s, --shell <shell> specify login shell\n"
+msgstr " -s, --shell=命令殼 設定命令殼引號慣例\n"
+
+#: login-utils/chsh.c:67
+msgid " -l, --list-shells print list of shells and exit\n"
+msgstr ""
+
+#: login-utils/chsh.c:106
+#, fuzzy
+msgid "can only change local entries."
+msgstr "%s:只č˝č®Šć›´ćś¬ĺś°é …目;使用 yp%s ĺšç‚şć›żä»Łă€‚\n"
+
+#: login-utils/chsh.c:118
+#, fuzzy, c-format
+msgid "%s is not authorized to change the shell of %s"
+msgstr "%s: %s 未被ćŽć¬ŠĺŽ»č®Šć›´ %s 的命令殼\n"
+
+#: login-utils/chsh.c:137
+#, fuzzy
+msgid ""
+"running UID doesn't match UID of user we're altering, shell change denied"
+msgstr "%s:執行中的 UID 不符ĺć‘們正在變更中的使用者 UID,命令殼的變更被拒\n"
+
+#: login-utils/chsh.c:142
+#, fuzzy, c-format
+msgid "your shell is not in %s, shell change denied"
+msgstr "%s:您的命令殼並不包ĺ«ć–Ľ /etc/shells,命令殼的變更被拒\n"
+
+#: login-utils/chsh.c:148
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "變更 %s 的 shell。\n"
+
+#: login-utils/chsh.c:182
+msgid "New shell"
+msgstr "新命令殼"
+
+#: login-utils/chsh.c:191
+#, fuzzy
+msgid "Shell not changed."
+msgstr "命令殼未變更。\n"
+
+#: login-utils/chsh.c:194
+#, fuzzy
+msgid ""
+"setpwnam failed\n"
+"Shell *NOT* changed. Try again later."
+msgstr "命令殼 *未* 變更。稍後再試一次。\n"
+
+#: login-utils/chsh.c:198
+#, c-format
+msgid "Shell changed.\n"
+msgstr "shell 已變更。\n"
+
+#: login-utils/chsh.c:294
+#, fuzzy
+msgid "shell must be a full path name"
+msgstr "%s:命令殼必é ćŻč·Żĺľ‘完整的ĺŤç¨±ă€‚\n"
+
+#: login-utils/chsh.c:298
+#, fuzzy, c-format
+msgid "\"%s\" does not exist"
+msgstr "%s:「%s」不ĺ­ĺś¨ă€‚\n"
+
+#: login-utils/chsh.c:302
+#, fuzzy, c-format
+msgid "\"%s\" is not executable"
+msgstr "%s:「%s」並非可執行。\n"
+
+#: login-utils/chsh.c:321
+#, fuzzy, c-format
+msgid "Warning: \"%s\" is not listed in %s."
+msgstr "警告:「%s」並未表ĺ—ć–Ľ /etc/shells 之中。\n"
+
+#: login-utils/chsh.c:325 login-utils/chsh.c:331
+#, fuzzy, c-format
+msgid ""
+"\"%s\" is not listed in %s.\n"
+"Use %s -l to see list."
+msgstr "%s:「%s」並未表ĺ—ć–Ľ /etc/shells 之中。\n"
+
+#: login-utils/chsh.c:355
+#, fuzzy
+msgid "No known shells."
+msgstr "無已知命令殼。\n"
+
+#: login-utils/last.c:155
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "用法:last [-#] [-f file] [-t tty] [-h hostname] [user...]\n"
+
+#: login-utils/last.c:252
+#, fuzzy, c-format
+msgid "%s: mmap failed"
+msgstr "%s:swapon 失敗"
+
+#: login-utils/last.c:312
+msgid " still logged in"
+msgstr " 仍然在登入狀態"
+
+#: login-utils/last.c:334
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp 開始 %s"
+
+#: login-utils/last.c:431
+#, fuzzy
+msgid "gethostname failed"
+msgstr "錯誤:uname 失敗"
+
+#: login-utils/last.c:477
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"發生插斷 %10.10s %5.5s\n"
+
+#. TRANSLATORS: The standard value for %u is 60.
+#: login-utils/login.c:176
+#, fuzzy, c-format
+msgid "timed out after %u seconds"
+msgstr "%d 秒之後登入將逾時\n"
+
+#: login-utils/login.c:284
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %m"
+msgstr "嚴重:無法重新開啟 tty:%s"
+
+#: login-utils/login.c:290
+#, c-format
+msgid "FATAL: %s is not a terminal"
+msgstr "嚴重:%s 並非終端機"
+
+#: login-utils/login.c:308
+#, fuzzy, c-format
+msgid "chown (%s, %lu, %lu) failed: %m"
+msgstr "chown 失敗:%s"
+
+#: login-utils/login.c:312
+#, fuzzy, c-format
+msgid "chmod (%s, %u) failed: %m"
+msgstr "/dev:chdir() 失敗:%m"
+
+#: login-utils/login.c:374
+msgid "FATAL: bad tty"
+msgstr "嚴重:不當的 tty"
+
+#: login-utils/login.c:404
+#, c-format
+msgid "FATAL: %s: change permissions failed: %m"
+msgstr ""
+
+#: login-utils/login.c:531
+#, c-format
+msgid "Last login: %.*s "
+msgstr "上次登入:%.*s "
+
+#: login-utils/login.c:533
+#, c-format
+msgid "from %.*s\n"
+msgstr "ĺľž %.*s\n"
+
+#: login-utils/login.c:536
+#, c-format
+msgid "on %.*s\n"
+msgstr "ć–Ľ %.*s\n"
+
+#: login-utils/login.c:553
+#, fuzzy
+msgid "write lastlog failed"
+msgstr "寫入標準輸出時失敗"
+
+#: login-utils/login.c:643
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "由 %2$s 於 %1$s 撥號進入"
+
+#: login-utils/login.c:648
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ĺľž %2$s ć–Ľ %1$s 登入為系統管ç†ĺ“ˇ"
+
+#: login-utils/login.c:651
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "系統管ç†ĺ“ˇć–Ľ %s 登入"
+
+#: login-utils/login.c:654
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "由 %2$s 從 %3$s 於 %1$s 登入"
+
+#: login-utils/login.c:657
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "由 %2$s 於 %1$s 登入"
+
+#: login-utils/login.c:718
+msgid "login: "
+msgstr "登入:"
+
+#: login-utils/login.c:744
+#, fuzzy, c-format
+msgid "PAM failure, aborting: %s"
+msgstr "%s:PAM 失敗,放棄:%s\n"
+
+#: login-utils/login.c:745
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "無法ĺťĺ§‹ĺŚ– PAM:%s"
+
+#: login-utils/login.c:817
+#, fuzzy, c-format
+msgid "FAILED LOGIN %u FROM %s FOR %s, %s"
+msgstr "失敗的登入 %d 自 %s 用於 %s, %s"
+
+#: login-utils/login.c:825 login-utils/sulogin.c:602
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"登入不正確\n"
+"\n"
+
+#: login-utils/login.c:840
+#, fuzzy, c-format
+msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s"
+msgstr "太多登入ĺ—試 (%d) 自 %s 用於 %s, %s"
+
+#: login-utils/login.c:846
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "失敗的登入執行階段自 %s 用於 %s, %s"
+
+#: login-utils/login.c:854
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"登入錯誤\n"
+
+#: login-utils/login.c:882 login-utils/login.c:1334 login-utils/login.c:1358
+#, fuzzy
+msgid ""
+"\n"
+"Session setup problem, abort."
+msgstr ""
+"\n"
+"執行階段設定發生問題,放棄。\n"
+
+#: login-utils/login.c:883
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "在 %s:%d 中包ĺ«ç©şä˝żç”¨č€…ĺŤç¨±ďĽŚć”ľćŁ„。"
+
+#: login-utils/login.c:1137
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY 失敗:%m"
+
+#: login-utils/login.c:1278
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login:-h 只ćŹäľ›çł»çµ±ç®ˇç†č€…使用。\n"
+
+#: login-utils/login.c:1293
+#, fuzzy, c-format
+msgid "usage: login [ -p ] [ -h host ] [ -H ] [ -f username | username ]\n"
+msgstr "用法:last [-#] [-f file] [-t tty] [-h hostname] [user...]\n"
+
+#: login-utils/login.c:1335
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "無ć•çš„使用者ĺŤç¨±ă€Ś%s」於 %s:%d,放棄。"
+
+#: login-utils/login.c:1357
+#, fuzzy, c-format
+msgid "groups initialization failed: %m"
+msgstr "錯誤:%s:試探ĺťĺ§‹ĺŚ–時失敗"
+
+#: login-utils/login.c:1382
+#, fuzzy
+msgid "setgid() failed"
+msgstr "setuid() 失敗"
+
+#: login-utils/login.c:1412
+#, c-format
+msgid "You have new mail.\n"
+msgstr "您有新éµä»¶ă€‚\n"
+
+#: login-utils/login.c:1414
+#, c-format
+msgid "You have mail.\n"
+msgstr "您有éµä»¶ă€‚\n"
+
+#: login-utils/login.c:1428
+msgid "setuid() failed"
+msgstr "setuid() 失敗"
+
+#: login-utils/login.c:1434 login-utils/sulogin.c:343
+#, fuzzy, c-format
+msgid "%s: change directory failed"
+msgstr "%s:取得大小時失敗"
+
+#: login-utils/login.c:1441 login-utils/sulogin.c:344
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "登入時個人資料夾=「/」。\n"
+
+#: login-utils/login.c:1470
+#, fuzzy
+msgid "couldn't exec shell script"
+msgstr "login:無法執行命令稿:%s。\n"
+
+#: login-utils/login.c:1472
+#, fuzzy
+msgid "no shell"
+msgstr "無命令殼"
+
+#: login-utils/logindefs.c:203
+#, fuzzy, c-format
+msgid "%s: %s contains invalid numerical value: %s"
+msgstr "無ć•çš„間隔值:%s\n"
+
+#: login-utils/newgrp.c:101 mount-deprecated/mount.c:1318
+#: sys-utils/losetup.c:384 sys-utils/mount.c:119
+msgid "Password: "
+msgstr "密碼:"
+
+#: login-utils/newgrp.c:113
+#, fuzzy, c-format
+msgid " %s <group>\n"
+msgstr "newgrp:無此群組。"
+
+#: login-utils/newgrp.c:150
+#, fuzzy
+msgid "who are you?"
+msgstr "newgrp:您ćŻĺ“Şä˝ŤďĽź"
+
+#: login-utils/newgrp.c:157 login-utils/newgrp.c:169
+#, fuzzy
+msgid "setgid failed"
+msgstr "setuid() 失敗"
+
+#: login-utils/newgrp.c:162 login-utils/newgrp.c:165
+#, fuzzy
+msgid "no such group"
+msgstr "newgrp:無此群組。"
+
+#: login-utils/newgrp.c:171 sys-utils/mount.c:445
+#, fuzzy
+msgid "permission denied"
+msgstr "mount:權é™č˘«ć‹’"
+
+#: login-utils/newgrp.c:176
+#, fuzzy
+msgid "setuid failed"
+msgstr "setuid() 失敗"
+
+#: login-utils/newgrp.c:181 sys-utils/unshare.c:136
+#, c-format
+msgid "exec %s failed"
+msgstr "執行 %s 時失敗"
+
+#: login-utils/su.c:205
+#, fuzzy, c-format
+msgid "cannot not open session: %s"
+msgstr "無法開啟 %s"
+
+#: login-utils/su.c:215
+#, fuzzy
+msgid "cannot create child process"
+msgstr "%s:等待:沒有更多ĺ­é€˛ç¨‹ ?!?\n"
+
+#: login-utils/su.c:227
+#, fuzzy, c-format
+msgid "cannot change directory to %s"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: login-utils/su.c:232
+#, fuzzy
+msgid "cannot block signals"
+msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#: login-utils/su.c:246 login-utils/su.c:254 login-utils/su.c:260
+#: sys-utils/cytune.c:170
+#, fuzzy
+msgid "cannot set signal handler"
+msgstr "無法設定訊號處ç†ç¨‹ĺĽŹ"
+
+#: login-utils/su.c:293
+#, c-format
+msgid ""
+"\n"
+"Session terminated, killing shell..."
+msgstr ""
+
+#: login-utils/su.c:303
+#, fuzzy, c-format
+msgid " ...killed.\n"
+msgstr "%s 失敗。\n"
+
+#: login-utils/su.c:361
+#, fuzzy
+msgid "incorrect password"
+msgstr "錯誤的密碼。"
+
+#: login-utils/su.c:485
+#, fuzzy
+msgid "failed to set PATH"
+msgstr "顯示狀態時失敗:%s"
+
+#: login-utils/su.c:558
+#, fuzzy
+msgid "cannot set groups"
+msgstr "無法設定群組č­ĺĄč™ź"
+
+#: login-utils/su.c:573 sys-utils/eject.c:655 sys-utils/unshare.c:129
+msgid "cannot set group id"
+msgstr "無法設定群組č­ĺĄč™ź"
+
+#: login-utils/su.c:575 sys-utils/unshare.c:132
+msgid "cannot set user id"
+msgstr "無法設定使用者č­ĺĄč™ź"
+
+#: login-utils/su.c:647 misc-utils/getopt.c:219
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"ĺ—試「%s --help」以獲得更多資訊。\n"
+
+#: login-utils/su.c:652
+#, fuzzy, c-format
+msgid " %s [options] [-] [USER [arg]...]\n"
+msgstr "用法:%s [é¸é …] <程式> [引數...]\n"
+
+#: login-utils/su.c:653
+msgid ""
+"\n"
+" Change the effective user id and group id to that of USER.\n"
+" A mere - implies -l. If USER not given, assume root.\n"
+msgstr ""
+
+#: login-utils/su.c:657
+msgid ""
+" -, -l, --login make the shell a login shell\n"
+" -c, --command <command> pass a single command to the shell with -c\n"
+" --session-command <command> pass a single command to the shell with -c\n"
+" and do not create a new session\n"
+" -f, --fast pass -f to the shell (for csh or tcsh)\n"
+" -m, --preserve-environment do not reset environment variables\n"
+" -p same as -m\n"
+" -s, --shell <shell> run shell if /etc/shells allows it\n"
+msgstr ""
+
+#: login-utils/su.c:757
+#, fuzzy, c-format
+msgid "user %s does not exist"
+msgstr "%s:使用者「%s」不ĺ­ĺś¨ă€‚\n"
+
+#: login-utils/su.c:788
+#, c-format
+msgid "using restricted shell %s"
+msgstr ""
+
+#: login-utils/su.c:808
+#, fuzzy, c-format
+msgid "warning: cannot change directory to %s"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: login-utils/sulogin.c:243
+#, fuzzy, c-format
+msgid "%s: no entry for root\n"
+msgstr "%s:無法開啟用於讀取/寫入"
+
+#: login-utils/sulogin.c:270
+#, fuzzy, c-format
+msgid "%s: no entry for root"
+msgstr "%s:無法開啟用於讀取/寫入"
+
+#: login-utils/sulogin.c:274
+#, fuzzy, c-format
+msgid "%s: root password garbled"
+msgstr "%s:密碼檔ćˇĺż™ç˘Śä¸­ă€‚\n"
+
+#: login-utils/sulogin.c:293
+#, c-format
+msgid "Give root password for maintenance\n"
+msgstr ""
+
+#: login-utils/sulogin.c:295
+#, c-format
+msgid "Press enter for maintenance"
+msgstr ""
+
+#: login-utils/sulogin.c:296
+#, fuzzy, c-format
+msgid "(or type Control-D to continue): "
+msgstr "您真的č¦çąĽçşŚĺ—ŽďĽź"
+
+#: login-utils/sulogin.c:347
+#, fuzzy
+msgid "change directory to system root failed"
+msgstr "%s:取得大小時失敗"
+
+#: login-utils/sulogin.c:394
+#, fuzzy
+msgid "setexeccon failed"
+msgstr "execv 失敗"
+
+#: login-utils/sulogin.c:403 login-utils/sulogin.c:407
+#, fuzzy, c-format
+msgid "%s: exec failed"
+msgstr "%s:lseek 失敗"
+
+#: login-utils/sulogin.c:430
+#, fuzzy
+msgid "tcgetattr failed"
+msgstr "%s:fstat 失敗"
+
+#: login-utils/sulogin.c:437
+#, fuzzy
+msgid "tcsetattr failed"
+msgstr "%s:fstat 失敗"
+
+#: login-utils/sulogin.c:444
+#, fuzzy, c-format
+msgid " %s [options] [tty device]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: login-utils/sulogin.c:447
+msgid ""
+" -p, --login-shell start a login shell\n"
+" -t, --timeout <seconds> max time to wait for a password (default: no "
+"limit)\n"
+" -e, --force examine password files directly if getpwnam(3) "
+"fails\n"
+msgstr ""
+
+#: login-utils/sulogin.c:488 misc-utils/findmnt.c:1213 sys-utils/wdctl.c:482
+#: term-utils/wall.c:128
+#, fuzzy
+msgid "invalid timeout argument"
+msgstr "無ć•çš„é¸é …"
+
+#: login-utils/sulogin.c:510
+#, fuzzy
+msgid "only root can run this program."
+msgstr "mount:只有 root 可以那樣ĺš"
+
+#: login-utils/sulogin.c:529
+#, fuzzy, c-format
+msgid "%s: not a tty"
+msgstr "%s:並非目錄"
+
+#: login-utils/sulogin.c:577
+#, fuzzy
+msgid "TIOCSCTTY: ioctl failed"
+msgstr "TIOCSCTTY 失敗:%m"
+
+#: login-utils/sulogin.c:586
+#, fuzzy
+msgid "cannot open password database."
+msgstr "無法設定使用者č­ĺĄč™ź"
+
+#: login-utils/utmpdump.c:121
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s:stat 失敗"
+
+#: login-utils/utmpdump.c:158 text-utils/tailf.c:165
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr "%s:無法加入 inotify 監看。"
+
+#: login-utils/utmpdump.c:167 text-utils/tailf.c:174
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s:無法讀取 inotify 事件"
+
+#: login-utils/utmpdump.c:228 login-utils/utmpdump.c:233
+msgid "Extraneous newline in file. Exiting."
+msgstr ""
+
+#: login-utils/utmpdump.c:286
+#, fuzzy, c-format
+msgid " %s [options] [filename]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: login-utils/utmpdump.c:289
+msgid ""
+" -f, --follow output appended data as the file grows\n"
+" -r, --reverse write back dumped data into utmp file\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:346
+msgid "following standard input is unsupported"
+msgstr ""
+
+#: login-utils/utmpdump.c:352
+#, c-format
+msgid "Utmp undump of %s\n"
+msgstr ""
+
+#: login-utils/utmpdump.c:355
+#, c-format
+msgid "Utmp dump of %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:150 term-utils/wall.c:193
+#, fuzzy
+msgid "can't open temporary file"
+msgstr "%s:無法開啟暫ĺ­ćŞ”ă€‚\n"
+
+#: login-utils/vipw.c:166
+#, fuzzy, c-format
+msgid "%s: create a link to %s failed"
+msgstr "%sďĽšé‡Ťć–°ĺ‘˝ĺŤ %s ç‚ş %s 時失敗:%s\n"
+
+#: login-utils/vipw.c:173
+#, fuzzy, c-format
+msgid "Can't get context for %s"
+msgstr "%s:無法取得 %s 的上下關係"
+
+#: login-utils/vipw.c:179
+#, fuzzy, c-format
+msgid "Can't set context for %s"
+msgstr "%s:無法設定 %s 的上下關係"
+
+#: login-utils/vipw.c:248
+#, fuzzy, c-format
+msgid "%s unchanged"
+msgstr "%s: %s 未變更\n"
+
+#: login-utils/vipw.c:264
+#, fuzzy
+msgid "cannot get lock"
+msgstr "無法衍生執行"
+
+#: login-utils/vipw.c:291
+#, fuzzy
+msgid "no changes made"
+msgstr "%s:未造ć任何變更\n"
+
+#: login-utils/vipw.c:300
+#, fuzzy
+msgid "cannot chmod file"
+msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#: login-utils/vipw.c:341
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "您正在這個系統中使用陰影群組。\n"
+
+#: login-utils/vipw.c:342
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "您正在這個系統中使用陰影密碼。\n"
+
+#. TRANSLATORS: this program uses for y and n rpmatch(3),
+#. * which means they can be translated.
+#: login-utils/vipw.c:345
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "您現在ćłč¦ç·¨čĽŻ %s ĺ—Ž[y/n]?"
+
+#: misc-utils/cal.c:371
+#, fuzzy
+msgid "illegal day value"
+msgstr "çŁé ­ć•¸ĺ€Ľä¸Ťĺćł•"
+
+#: misc-utils/cal.c:373 misc-utils/cal.c:387
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "不ĺ法的日號:使用 1-%d"
+
+#: misc-utils/cal.c:376 misc-utils/cal.c:378
+msgid "illegal month value: use 1-12"
+msgstr "不ĺćł•çš„ćśä»˝ďĽšä˝żç”¨ 1-12"
+
+#: misc-utils/cal.c:381 misc-utils/cal.c:383
+msgid "illegal year value: use 1-9999"
+msgstr "不ĺ法的年份:使用 1-9999"
+
+#: misc-utils/cal.c:471
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:786
+#, fuzzy, c-format
+msgid " %s [options] [[[day] month] year]\n"
+msgstr "用法:cal [-13smjyV] [[[ć—Ą] ćś] ĺą´]\n"
+
+#: misc-utils/cal.c:790
+msgid ""
+" -1, --one show only current month (default)\n"
+" -3, --three show previous, current and next month\n"
+" -s, --sunday Sunday as first day of week\n"
+" -m, --monday Monday as first day of week\n"
+" -j, --julian output Julian dates\n"
+" -y, --year show whole current year\n"
+" -V, --version display version information and exit\n"
+" -h, --help display this help text and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/ddate.c:207
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "用法:%s [+format] [day month year]\n"
+
+#: misc-utils/ddate.c:254
+msgid "St. Tib's Day"
+msgstr "St. Tib's ć—Ą"
+
+#: misc-utils/findfs.c:22
+#, fuzzy, c-format
+msgid ""
+" %1$s [options] LABEL=<label>\n"
+" %1$s [options] UUID=<uuid>\n"
+msgstr "用法:%s LABEL=<label>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:64 misc-utils/logger.c:128
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "無法解決「%s」"
+
+#: misc-utils/findmnt.c:105
+#, fuzzy
+msgid "source device"
+msgstr "區塊裝置 "
+
+#: misc-utils/findmnt.c:106
+msgid "mountpoint"
+msgstr ""
+
+#: misc-utils/findmnt.c:107 misc-utils/lsblk.c:114
+#, fuzzy
+msgid "filesystem type"
+msgstr "請觀察上表,輸入該檔ćˇçł»çµ±çš„類型代碼: "
+
+#: misc-utils/findmnt.c:108
+#, fuzzy
+msgid "all mount options"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: misc-utils/findmnt.c:109
+msgid "VFS specific mount options"
+msgstr ""
+
+#: misc-utils/findmnt.c:110
+#, fuzzy
+msgid "FS specific mount options"
+msgstr "有用的é¸é …:"
+
+#: misc-utils/findmnt.c:111
+#, fuzzy
+msgid "filesystem label"
+msgstr "請觀察上表,輸入該檔ćˇçł»çµ±çš„類型代碼: "
+
+#: misc-utils/findmnt.c:112 misc-utils/lsblk.c:117
+msgid "filesystem UUID"
+msgstr ""
+
+#: misc-utils/findmnt.c:113
+#, fuzzy
+msgid "partition label"
+msgstr "ĺ†ĺ‰˛ĺŤ€ç·¨č™ź"
+
+#: misc-utils/findmnt.c:115 misc-utils/lsblk.c:113
+msgid "major:minor device number"
+msgstr ""
+
+#: misc-utils/findmnt.c:116
+msgid "action detected by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:117
+msgid "old mount options saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:118
+msgid "old mountpoint saved by --poll"
+msgstr ""
+
+#: misc-utils/findmnt.c:119
+#, fuzzy
+msgid "filesystem size"
+msgstr "請觀察上表,輸入該檔ćˇçł»çµ±çš„類型代碼: "
+
+#: misc-utils/findmnt.c:120
+#, fuzzy
+msgid "filesystem size available"
+msgstr "請觀察上表,輸入該檔ćˇçł»çµ±çš„類型代碼: "
+
+#: misc-utils/findmnt.c:121
+#, fuzzy
+msgid "filesystem size used"
+msgstr "請觀察上表,輸入該檔ćˇçł»çµ±çš„類型代碼: "
+
+#: misc-utils/findmnt.c:122
+#, fuzzy
+msgid "filesystem use percentage"
+msgstr "請觀察上表,輸入該檔ćˇçł»çµ±çš„類型代碼: "
+
+#: misc-utils/findmnt.c:123
+#, fuzzy
+msgid "filesystem root"
+msgstr "請觀察上表,輸入該檔ćˇçł»çµ±çš„類型代碼: "
+
+#: misc-utils/findmnt.c:124
+msgid "task ID"
+msgstr ""
+
+#: misc-utils/findmnt.c:298
+#, fuzzy, c-format
+msgid "unknown action: %s"
+msgstr "不ćŽç›´ć¬„:%s"
+
+#: misc-utils/findmnt.c:504
+#, fuzzy
+msgid "mount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:507
+#, fuzzy
+msgid "umount"
+msgstr "ncount"
+
+#: misc-utils/findmnt.c:510
+#, fuzzy
+msgid "remount"
+msgstr "讀取č¨ć•¸"
+
+#: misc-utils/findmnt.c:513
+#, fuzzy
+msgid "move"
+msgstr " 移除"
+
+#: misc-utils/findmnt.c:516 schedutils/ionice.c:79 sys-utils/hwclock.c:317
+msgid "unknown"
+msgstr "不ćŽçš„"
+
+#: misc-utils/findmnt.c:630
+#, fuzzy, c-format
+msgid "%s: parse error at line %d"
+msgstr "剖ćžéŚŻčŞ¤ç™Ľç”źć–Ľĺ—號:"
+
+#: misc-utils/findmnt.c:659 misc-utils/findmnt.c:874 sys-utils/eject.c:709
+#: sys-utils/mount.c:606
+#, fuzzy
+msgid "failed to initialize libmount table"
+msgstr "ĺťĺ§‹ĺŚ– libmount é ć¨™ć™‚失敗"
+
+#: misc-utils/findmnt.c:686 text-utils/parse.c:64
+#, fuzzy, c-format
+msgid "can't read %s"
+msgstr "無法讀取:%s"
+
+#: misc-utils/findmnt.c:814 misc-utils/findmnt.c:880 sys-utils/mount.c:162
+#: sys-utils/mount.c:210 sys-utils/swapoff.c:98 sys-utils/swapon.c:194
+#: sys-utils/swapon.c:226 sys-utils/swapon.c:611 sys-utils/umount.c:241
+msgid "failed to initialize libmount iterator"
+msgstr "ĺťĺ§‹ĺŚ– libmount 迭代器時失敗"
+
+#: misc-utils/findmnt.c:886
+#, fuzzy
+msgid "failed to initialize libmount tabdiff"
+msgstr "ĺťĺ§‹ĺŚ– libmount é ć¨™ć™‚失敗"
+
+#: misc-utils/findmnt.c:914
+#, fuzzy
+msgid "poll() failed"
+msgstr "malloc() 失敗"
+
+#: misc-utils/findmnt.c:976
+#, fuzzy, c-format
+msgid ""
+" %1$s [options]\n"
+" %1$s [options] <device> | <mountpoint>\n"
+" %1$s [options] <device> <mountpoint>\n"
+" %1$s [options] [--source <device>] [--target <mountpoint>]\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %1$s [é¸é …]\n"
+" %1$s [é¸é …] <裝置> |<掛載點>\n"
+" %1$s [é¸é …] <裝置> <掛載點>\n"
+" %1$s [é¸é …] [--source <裝置>] [--target <掛載點>]\n"
+
+#: misc-utils/findmnt.c:983
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -s, --fstab search in static table of filesystems\n"
+" -m, --mtab search in table of mounted filesystems\n"
+" -k, --kernel search in kernel table of mounted\n"
+" filesystems (default)\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:990
+#, c-format
+msgid ""
+" -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+" -w, --timeout <num> upper limit in milliseconds that --poll will block\n"
+"\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:994
+#, c-format
+msgid ""
+" -A, --all disable all built-in filters, print all filesystems\n"
+" -a, --ascii use ASCII chars for tree formatting\n"
+" -c, --canonicalize canonicalize printed paths\n"
+" -D, --df imitate the output of df(1)\n"
+" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
+" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
+" to device names\n"
+" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel "
+"options\n"
+" -f, --first-only print the first found filesystem only\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1005
+#, c-format
+msgid ""
+" -i, --invert invert the sense of matching\n"
+" -l, --list use list format output\n"
+" -N, --task <tid> use alternative namespace (/proc/<tid>/mountinfo "
+"file)\n"
+" -n, --noheadings don't print column headings\n"
+" -u, --notruncate don't truncate text in columns\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1011
+#, c-format
+msgid ""
+" -O, --options <list> limit the set of filesystems by mount options\n"
+" -o, --output <list> the output columns to be shown\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -t, --types <list> limit the set of filesystems by FS types\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1017
+#, c-format
+msgid ""
+" -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+" -R, --submounts print all submounts for the matching filesystems\n"
+" -S, --source <string> the device to mount (by name, maj:min, \n"
+" LABEL=, UUID=, PARTUUID=, PARTLABEL=)\n"
+" -T, --target <string> the mountpoint to use\n"
+msgstr ""
+
+#: misc-utils/findmnt.c:1027 sys-utils/lscpu.c:1230
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns:\n"
+msgstr "可用命令:\n"
+
+#: misc-utils/findmnt.c:1127
+#, c-format
+msgid "unknown direction '%s'"
+msgstr "不ćŽć–ąĺ‘「%s」"
+
+#: misc-utils/findmnt.c:1196
+#, fuzzy
+msgid "invalid TID argument"
+msgstr "無ć•çš„ iflag:%s"
+
+#: misc-utils/findmnt.c:1253
+msgid "--poll accepts only one file, but more specified by --tab-file"
+msgstr ""
+
+#: misc-utils/findmnt.c:1257
+msgid ""
+"options --target and --source can't be used together with command line "
+"element that is not an option"
+msgstr "é¸é … --target ĺ’Ś --source 無法č‡ä¸ŤćŻé¸é …的命令ĺ—ĺ…素一起使用"
+
+#: misc-utils/findmnt.c:1300
+msgid "failed to initialize libmount cache"
+msgstr "ĺťĺ§‹ĺŚ– libmount 快取時失敗"
+
+#: misc-utils/findmnt.c:1330
+#, c-format
+msgid "%s column is requested, but --poll is not enabled"
+msgstr ""
+
+#: misc-utils/getopt.c:288
+msgid "empty long option after -l or --long argument"
+msgstr "-l ć– --long 引數之後出現空的長é¸é …"
+
+#: misc-utils/getopt.c:309
+msgid "unknown shell after -s or --shell argument"
+msgstr "-s ć– --shell 引數之後出現不ćŽçš„命令殼ĺŤç¨±"
+
+#: misc-utils/getopt.c:317
+#, fuzzy, c-format
+msgid ""
+" %1$s optstring parameters\n"
+" %1$s [options] [--] optstring parameters\n"
+" %1$s [options] -o|--options optstring [options] [--] parameters\n"
+msgstr " getopt [é¸é …] -o|--options é¸é …字串 [é¸é …] [--]\n"
+
+#: misc-utils/getopt.c:323
+#, fuzzy
+msgid ""
+" -a, --alternative Allow long options starting with single -\n"
+msgstr " -a, --alternative ĺ…許長é¸é …以單一 - 開始\n"
+
+#: misc-utils/getopt.c:324
+#, fuzzy
+msgid " -h, --help This small usage guide\n"
+msgstr " -h, --help 這份簡單用法說ćŽ\n"
+
+#: misc-utils/getopt.c:325
+#, fuzzy
+msgid " -l, --longoptions <longopts> Long options to be recognized\n"
+msgstr " -l, --longoptions=é•·é¸é … ĺšç‚şčľ¨č­çš„é•·é¸é …\n"
+
+#: misc-utils/getopt.c:326
+#, fuzzy
+msgid ""
+" -n, --name <progname> The name under which errors are reported\n"
+msgstr " -n, --name=程式ĺŤç¨± 錯誤報告時所用的ĺŤç¨±\n"
+
+#: misc-utils/getopt.c:327
+#, fuzzy
+msgid " -o, --options <optstring> Short options to be recognized\n"
+msgstr " -o, --options=é¸é …字串 ĺšç‚şčľ¨č­çš„çź­é¸é …\n"
+
+#: misc-utils/getopt.c:328
+#, fuzzy
+msgid " -q, --quiet Disable error reporting by getopt(3)\n"
+msgstr " -q, --quiet ĺśç”¨ getopt(3) 發出的錯誤報告\n"
+
+#: misc-utils/getopt.c:329
+#, fuzzy
+msgid " -Q, --quiet-output No normal output\n"
+msgstr " -Q, --quiet-output 沒有一č¬çš„輸出\n"
+
+#: misc-utils/getopt.c:330
+#, fuzzy
+msgid " -s, --shell <shell> Set shell quoting conventions\n"
+msgstr " -s, --shell=命令殼 設定命令殼引號慣例\n"
+
+#: misc-utils/getopt.c:331
+#, fuzzy
+msgid " -T, --test Test for getopt(1) version\n"
+msgstr " -T, --test 測試 getopt(1) çš„ç‰ćś¬\n"
+
+#: misc-utils/getopt.c:332
+#, fuzzy
+msgid " -u, --unquote Do not quote the output\n"
+msgstr " -u, --unqote 輸出不加上引號\n"
+
+#: misc-utils/getopt.c:333
+#, fuzzy
+msgid " -V, --version Output version information\n"
+msgstr " -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+
+#: misc-utils/getopt.c:383 misc-utils/getopt.c:444
+msgid "missing optstring argument"
+msgstr "缺少é¸é …字串引數"
+
+#: misc-utils/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "ĺ…§é¨éŚŻčŞ¤ďĽŚč«‹č‡ä˝śč€…連絡。"
+
+#: misc-utils/kill.c:211
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s:不ćŽäżˇč™ź %s\n"
+
+#: misc-utils/kill.c:244
+#, fuzzy
+msgid "invalid sigval argument"
+msgstr "無ć•çš„é¸é …"
+
+#: misc-utils/kill.c:285
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s:找不ĺ°é€˛ç¨‹ă€Ś%s」\n"
+
+#: misc-utils/kill.c:365
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s:不ćŽäżˇč™ź %s; 有ć•äżˇč™źďĽš\n"
+
+#: misc-utils/kill.c:413
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "用法:%s [-s signal | -p ] [ -a ] pid…\n"
+
+#: misc-utils/kill.c:414
+#, c-format
+msgid " %s -l [ signal ]\n"
+msgstr " %s -l [ signal ]\n"
+
+#: misc-utils/logger.c:88
+#, fuzzy, c-format
+msgid "unknown facility name: %s."
+msgstr "logger:不ćŽĺŠźč˝ĺŤç¨±ďĽš%s。\n"
+
+#: misc-utils/logger.c:97
+#, fuzzy, c-format
+msgid "unknown priority name: %s."
+msgstr "logger:不ćŽçš„ĺ„Şĺ…ĺŤç¨±ďĽš%s。\n"
+
+#: misc-utils/logger.c:107
+#, fuzzy, c-format
+msgid "openlog %s: pathname too long"
+msgstr "logger:openlog:路徑ĺŤç¨±ĺ¤Şé•·\n"
+
+#: misc-utils/logger.c:113
+#, fuzzy, c-format
+msgid "socket %s"
+msgstr "通訊端:%s。\n"
+
+#: misc-utils/logger.c:116
+#, fuzzy, c-format
+msgid "connect %s"
+msgstr "連接:%s。\n"
+
+#: misc-utils/logger.c:131 misc-utils/uuidd.c:135
+msgid "socket"
+msgstr "通訊端"
+
+#: misc-utils/logger.c:138 misc-utils/uuidd.c:146
+msgid "connect"
+msgstr "連接"
+
+#: misc-utils/logger.c:174
+#, fuzzy, c-format
+msgid " %s [options] [message]\n"
+msgstr ""
+"\n"
+"用法:%s [é¸é …]\n"
+"\n"
+
+#: misc-utils/logger.c:177
+msgid ""
+" -d, --udp use UDP (TCP is default)\n"
+" -i, --id log the process ID too\n"
+" -f, --file <file> log the contents of this file\n"
+" -h, --help display this help text and exit\n"
+msgstr ""
+
+#: misc-utils/logger.c:181
+msgid ""
+" -n, --server <name> write to this remote syslog server\n"
+" -P, --port <number> use this UDP port\n"
+" -p, --priority <prio> mark given message with this priority\n"
+" -s, --stderr output message to standard error as well\n"
+msgstr ""
+
+#: misc-utils/logger.c:185
+msgid ""
+" -t, --tag <tag> mark every line with this tag\n"
+" -u, --socket <socket> write to this Unix socket\n"
+" -V, --version output version information and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/logger.c:234
+#, fuzzy, c-format
+msgid "file %s"
+msgstr "(下一個檔ćˇďĽš%s)"
+
+#: misc-utils/logger.c:261
+#, fuzzy
+msgid "invalid port number argument"
+msgstr "無ć•çš„é¸é …"
+
+#: misc-utils/look.c:370
+#, fuzzy, c-format
+msgid " %s [options] string [file]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: misc-utils/look.c:373
+msgid ""
+" -a, --alternative use alternate dictionary\n"
+" -d, --alphanum compare only alpha numeric characters\n"
+" -f, --ignore-case ignore when comparing\n"
+" -t, --terminate <char> define string termination character\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:111
+msgid "device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:112
+msgid "internal kernel device name"
+msgstr ""
+
+#: misc-utils/lsblk.c:115
+msgid "where the device is mounted"
+msgstr ""
+
+#: misc-utils/lsblk.c:116
+msgid "filesystem LABEL"
+msgstr ""
+
+#: misc-utils/lsblk.c:119
+#, fuzzy
+msgid "partition LABEL"
+msgstr "ĺ†ĺ‰˛ĺŤ€ç·¨č™ź"
+
+#: misc-utils/lsblk.c:122
+#, fuzzy
+msgid "read-ahead of the device"
+msgstr "路徑 stat 時失敗\n"
+
+#: misc-utils/lsblk.c:123
+#, fuzzy
+msgid "read-only device"
+msgstr "設定唯讀"
+
+#: misc-utils/lsblk.c:124
+#, fuzzy
+msgid "removable device"
+msgstr " 可移除的"
+
+#: misc-utils/lsblk.c:125
+msgid "rotational device"
+msgstr ""
+
+#: misc-utils/lsblk.c:126
+msgid "device identifier"
+msgstr ""
+
+#: misc-utils/lsblk.c:127
+msgid "size of the device"
+msgstr ""
+
+#: misc-utils/lsblk.c:128
+#, fuzzy
+msgid "state of the device"
+msgstr "路徑 stat 時失敗\n"
+
+#: misc-utils/lsblk.c:129
+#, fuzzy
+msgid "user name"
+msgstr "不ĺ法的使用者ĺŤç¨±"
+
+#: misc-utils/lsblk.c:130
+msgid "group name"
+msgstr ""
+
+#: misc-utils/lsblk.c:131
+msgid "device node permissions"
+msgstr ""
+
+#: misc-utils/lsblk.c:132
+#, fuzzy
+msgid "alignment offset"
+msgstr "取得對齊ĺŹç§»ĺ€Ľ"
+
+#: misc-utils/lsblk.c:133
+#, fuzzy
+msgid "minimum I/O size"
+msgstr "取得最小 I/O 大小"
+
+#: misc-utils/lsblk.c:134
+#, fuzzy
+msgid "optimal I/O size"
+msgstr "取得最佳化 I/O 大小"
+
+#: misc-utils/lsblk.c:135
+#, fuzzy
+msgid "physical sector size"
+msgstr "取得實際區塊 (çŁĺŤ€) 大小"
+
+#: misc-utils/lsblk.c:136
+#, fuzzy
+msgid "logical sector size"
+msgstr "取得邏輯區塊 (çŁĺŤ€) 大小"
+
+#: misc-utils/lsblk.c:137
+msgid "I/O scheduler name"
+msgstr ""
+
+#: misc-utils/lsblk.c:138
+msgid "request queue size"
+msgstr ""
+
+#: misc-utils/lsblk.c:139
+msgid "device type"
+msgstr ""
+
+#: misc-utils/lsblk.c:140
+#, fuzzy
+msgid "discard alignment offset"
+msgstr "取得對齊ĺŹç§»ĺ€Ľ"
+
+#: misc-utils/lsblk.c:141
+msgid "discard granularity"
+msgstr ""
+
+#: misc-utils/lsblk.c:142
+msgid "discard max bytes"
+msgstr ""
+
+#: misc-utils/lsblk.c:143
+msgid "discard zeroes data"
+msgstr ""
+
+#: misc-utils/lsblk.c:144
+#, fuzzy
+msgid "unique storage identifier"
+msgstr " i 變更çŁç˘źč­ĺĄç˘Ľ"
+
+#: misc-utils/lsblk.c:828
+#, fuzzy, c-format
+msgid "%s: failed to get device path"
+msgstr "%s:無法探查裝置"
+
+#: misc-utils/lsblk.c:835
+#, fuzzy, c-format
+msgid "%s: unknown device name"
+msgstr "mount:%s: 不ćŽçš„裝置"
+
+#: misc-utils/lsblk.c:841 misc-utils/lsblk.c:848
+#, fuzzy, c-format
+msgid "%s: failed to initialize sysfs handler"
+msgstr "ĺťĺ§‹ĺŚ–ĺ—緩衝區時失敗\n"
+
+#: misc-utils/lsblk.c:869
+#, fuzzy, c-format
+msgid "%s: failed to get dm name"
+msgstr "%s:無法開啟"
+
+#: misc-utils/lsblk.c:906
+msgid "failed to open device directory in sysfs"
+msgstr ""
+
+#: misc-utils/lsblk.c:1081
+#, fuzzy, c-format
+msgid "%s: failed to get whole-disk device number"
+msgstr "%s:無法尋指ĺ°äş¤ćŹ›ć¨™ç±¤ "
+
+#: misc-utils/lsblk.c:1099
+#, fuzzy, c-format
+msgid "failed to compose sysfs path for %s"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: misc-utils/lsblk.c:1106
+#, fuzzy, c-format
+msgid "%s: failed to read link"
+msgstr "%s:無法開啟"
+
+#: misc-utils/lsblk.c:1148 misc-utils/lsblk.c:1150 misc-utils/lsblk.c:1175
+#: misc-utils/lsblk.c:1177
+#, fuzzy, c-format
+msgid "failed to parse list '%s'"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1155
+#, c-format
+msgid "the list of excluded devices is too large (limit is %d devices)"
+msgstr ""
+
+#. TRANSLATORS: The standard value for %d is 256.
+#: misc-utils/lsblk.c:1182
+#, c-format
+msgid "the list of included devices is too large (limit is %d devices)"
+msgstr ""
+
+#: misc-utils/lsblk.c:1194
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [<device> ...]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: misc-utils/lsblk.c:1198
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a, --all print all devices\n"
+" -b, --bytes print SIZE in bytes rather than in human readable "
+"format\n"
+" -d, --nodeps don't print slaves or holders\n"
+" -D, --discard print discard capabilities\n"
+" -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
+" -I, --include <list> show only devices with specified major numbers\n"
+" -f, --fs output info about filesystems\n"
+" -h, --help usage information (this)\n"
+" -i, --ascii use ascii characters only\n"
+" -m, --perms output info about permissions\n"
+" -l, --list use list format ouput\n"
+" -n, --noheadings don't print headings\n"
+" -o, --output <list> output columns\n"
+" -P, --pairs use key=\"value\" output format\n"
+" -r, --raw use raw output format\n"
+" -s, --inverse inverse dependencies\n"
+" -t, --topology output info about topology\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lsblk.c:1218 misc-utils/lslocks.c:489 sys-utils/prlimit.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Available columns (for --output):\n"
+msgstr "可用命令:\n"
+
+#: misc-utils/lsblk.c:1231
+#, fuzzy, c-format
+msgid "failed to access sysfs directory: %s"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: misc-utils/lslocks.c:68
+msgid "command of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:69
+msgid "PID of the process holding the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:70
+msgid "kind of lock: FL_FLOCK or FL_POSIX."
+msgstr ""
+
+#: misc-utils/lslocks.c:71
+#, fuzzy
+msgid "size of the lock"
+msgstr "路徑 stat 時失敗\n"
+
+#: misc-utils/lslocks.c:72
+#, fuzzy
+msgid "lock access mode"
+msgstr "無法ĺ®č­·ç¨‹ĺĽŹĺŚ–"
+
+#: misc-utils/lslocks.c:73
+msgid "mandatory state of the lock: 0 (none), 1 (set)"
+msgstr ""
+
+#: misc-utils/lslocks.c:74
+msgid "relative byte offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:75
+msgid "ending offset of the lock"
+msgstr ""
+
+#: misc-utils/lslocks.c:76
+#, fuzzy
+msgid "path of the locked file"
+msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#: misc-utils/lslocks.c:271
+msgid "failed to parse pid"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: misc-utils/lslocks.c:274
+#, fuzzy
+msgid "(unknown)"
+msgstr "不ćŽçš„"
+
+#: misc-utils/lslocks.c:283
+#, fuzzy
+msgid "failed to parse start"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: misc-utils/lslocks.c:290
+#, fuzzy
+msgid "failed to parse end"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: misc-utils/lslocks.c:478 misc-utils/mcookie.c:70 misc-utils/uuidd.c:71
+#: misc-utils/uuidgen.c:36 sys-utils/arch.c:44 sys-utils/dmesg.c:183
+#: sys-utils/ipcmk.c:67 sys-utils/lscpu.c:1217 sys-utils/readprofile.c:104
+#: sys-utils/rtcwake.c:89 term-utils/setterm.c:678
+#, fuzzy, c-format
+msgid " %s [options]\n"
+msgstr "用法:%s [é¸é …]\n"
+
+#: misc-utils/lslocks.c:481
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" -n, --noheadings don't print headings\n"
+" -r --raw use the raw output format\n"
+" -u, --notruncate don't truncate text in columns\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: misc-utils/lslocks.c:524 schedutils/chrt.c:257 schedutils/ionice.c:165
+#: schedutils/ionice.c:213 schedutils/ionice.c:223 schedutils/taskset.c:161
+#: sys-utils/prlimit.c:583
+#, fuzzy
+msgid "invalid PID argument"
+msgstr "無ć•çš„ iflag:%s"
+
+#: misc-utils/mcookie.c:73
+msgid ""
+" -f, --file <file> use file as a cookie seed\n"
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:152 misc-utils/mcookie.c:176
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "ĺľž %2$s 取得 %1$d 位ĺ…組\n"
+
+#: misc-utils/mcookie.c:158
+#, fuzzy, c-format
+msgid "closing %s failed"
+msgstr "執行 %s 時失敗"
+
+#: misc-utils/namei.c:186
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "讀取符號連çµć™‚失敗:%s"
+
+#: misc-utils/namei.c:370
+#, fuzzy, c-format
+msgid "%s - No such file or directory\n"
+msgstr "%s:需č¦ćŞ”ćˇćŹŹčż°ç¬¦č™źă€ćŞ”ćˇć–目錄\n"
+
+#: misc-utils/namei.c:420
+#, fuzzy, c-format
+msgid " %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"用法:%s [é¸é …] č·Żĺľ‘ĺŤç¨± [č·Żĺľ‘ĺŤç¨±...]\n"
+
+#: misc-utils/namei.c:423
+#, fuzzy
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -x, --mountpoints show mount point directories with a 'D'\n"
+" -m, --modes show the mode bits of each file\n"
+" -o, --owners show owner and group name of each file\n"
+" -l, --long use a long listing format (-m -o -v) \n"
+" -n, --nosymlinks don't follow symlinks\n"
+" -v, --vertical vertical align of modes and owners\n"
+msgstr ""
+" -h, --help 顯示這個說ćŽć–‡ĺ­—\n"
+" -x, --mountpoints 以「D」顯示掛載點目錄\n"
+" -m, --modes 顯示每個檔ćˇçš„模式位ĺ…\n"
+" -o, --owners 顯示每個檔ćˇçš„ć“有者和群組ĺŤç¨±\n"
+" -l, --long 使用長ĺ—表格式 (-m -o -v)\n"
+" -n, --nosymlinks 不跟隨符號連çµ\n"
+" -v, --vertical 垂直對齊模式和ć“有者\n"
+
+#: misc-utils/namei.c:432
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ namei(1)。\n"
+
+#: misc-utils/namei.c:493
+#, fuzzy
+msgid "pathname argument is missing"
+msgstr "--date 引數太長\n"
+
+#: misc-utils/namei.c:517
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s:超出符號連çµçš„é™ĺ¶"
+
+#: misc-utils/rename.c:54
+#, fuzzy, c-format
+msgid "renaming %s to %s failed"
+msgstr "%sďĽšé‡Ťć–°ĺ‘˝ĺŤ %s ç‚ş %s 時失敗:%s\n"
+
+#: misc-utils/rename.c:67
+#, fuzzy, c-format
+msgid " %s [options] expression replacement file...\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: misc-utils/rename.c:71
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:74
+msgid ""
+" -p, --pid <path> path to pid file\n"
+" -s, --socket <path> path to socket\n"
+" -T, --timeout <sec> specify inactivity timeout\n"
+" -k, --kill kill running daemon\n"
+" -r, --random test random-based generation\n"
+" -t, --time test time-based generation\n"
+" -n, --uuids <num> request number of uuids\n"
+" -P, --no-pid do not create pid file\n"
+" -F, --no-fork do not daemonize using double-fork\n"
+" -S, --socket-activation do not create listening socket\n"
+" -d, --debug run in debugging mode\n"
+" -q, --quiet turn on quiet mode\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:128
+msgid "bad arguments"
+msgstr "不當的引數"
+
+#: misc-utils/uuidd.c:166
+msgid "write"
+msgstr "寫入"
+
+#: misc-utils/uuidd.c:174
+msgid "read count"
+msgstr "讀取č¨ć•¸"
+
+#: misc-utils/uuidd.c:180
+msgid "bad response length"
+msgstr "不當的回應長度"
+
+#: misc-utils/uuidd.c:220
+#, fuzzy, c-format
+msgid "Failed to open/create %s: %m\n"
+msgstr "開啟/建立 %s 時失敗:%s\n"
+
+#: misc-utils/uuidd.c:235
+#, fuzzy, c-format
+msgid "Failed to lock %s: %m\n"
+msgstr "鎖定 %s 時失敗:%s\n"
+
+#: misc-utils/uuidd.c:259
+#, fuzzy, c-format
+msgid "Couldn't create unix stream socket: %m"
+msgstr "無法建立 unix 串ćµé€šč¨Šç«ŻďĽš%s"
+
+#: misc-utils/uuidd.c:285
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %m\n"
+msgstr "ç„ˇćł•é€Łçµ unix 通訊端 %s:%s\n"
+
+#: misc-utils/uuidd.c:323
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "uuidd ĺ®č­·ç¨‹ĺĽŹĺ·˛ç¶“以 pid %s é‹čˇŚä¸­\n"
+
+#: misc-utils/uuidd.c:334
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %m\n"
+msgstr "ç„ˇćł•ç›Łč˝ unix 通訊端 %s:%s\n"
+
+#: misc-utils/uuidd.c:361
+#, c-format
+msgid "No or too many file descriptors received.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:386
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "從客ć¶ç«Żč®€ĺŹ–時發生錯誤,長度 = %d\n"
+
+#: misc-utils/uuidd.c:395
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "操作 %d,即將來ĺ°çš„數字 = %d\n"
+
+#: misc-utils/uuidd.c:398
+#, c-format
+msgid "operation %d\n"
+msgstr "操作 %d\n"
+
+#: misc-utils/uuidd.c:414
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "產生的時間 UUID:%s\n"
+
+#: misc-utils/uuidd.c:424
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "產生的隨機 UUID:%s\n"
+
+#: misc-utils/uuidd.c:433
+#, fuzzy, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgid_plural "Generated time UUID %s and %d following\n"
+msgstr[0] "產生的時間 UUID %s ĺ’Ś %d ćŻäľťç…§\n"
+
+#: misc-utils/uuidd.c:454
+#, fuzzy, c-format
+msgid "Generated %d UUID:\n"
+msgid_plural "Generated %d UUIDs:\n"
+msgstr[0] "產生 %d UUIDs:\n"
+
+#: misc-utils/uuidd.c:468
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "無ć•çš„操作 %d\n"
+
+#: misc-utils/uuidd.c:480
+#, fuzzy, c-format
+msgid "Unexpected reply length from server %d"
+msgstr "未é ćśźĺľžäĽşćśŤĺ™¨ %d 的回覆長度\n"
+
+#: misc-utils/uuidd.c:535 misc-utils/uuidd.c:575
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "不當的數字:%s\n"
+
+#: misc-utils/uuidd.c:555
+#, c-format
+msgid "uuidd has been built without support for socket activation.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:592
+#, c-format
+msgid "Both --pid and --no-pid specified. Ignoring --no-pid.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:602
+#, c-format
+msgid "Both --socket-activation and --socket specified. Ignoring --socket\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:609 misc-utils/uuidd.c:637
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %m\n"
+msgstr "呼叫 uuidd ĺ®č­·ç¨‹ĺĽŹ (%s) 時發生錯誤:%s\n"
+
+#: misc-utils/uuidd.c:618
+#, fuzzy, c-format
+msgid "%s and %d subsequent UUID\n"
+msgid_plural "%s and %d subsequent UUIDs\n"
+msgstr[0] "%s 和後續的 %d UUIDs\n"
+
+#: misc-utils/uuidd.c:622
+#, c-format
+msgid "List of UUIDs:\n"
+msgstr "UUIDs ĺ—表:\n"
+
+#: misc-utils/uuidd.c:656
+#, fuzzy, c-format
+msgid "Couldn't kill uuidd running at pid %d: %m\n"
+msgstr "無法砍除執行於 pid %d 的 uuidd:%s\n"
+
+#: misc-utils/uuidd.c:661
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "已砍除執行於 pid %d 的 uuidd\n"
+
+#: misc-utils/uuidgen.c:39
+msgid ""
+" -r, --random generate random-based uuid\n"
+" -t, --time generate time-based uuid\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:144
+msgid ""
+" -f <file> define search scope\n"
+" -b search only binaries\n"
+" -B <dirs> define binaries lookup path\n"
+" -m search only manual paths\n"
+" -M <dirs> define man lookup path\n"
+" -s search only sources path\n"
+" -S <dirs> define sources lookup path\n"
+" -u search from unusual entities\n"
+" -V output version information and exit\n"
+" -h display this help and exit\n"
+"\n"
+msgstr ""
+
+#: misc-utils/whereis.c:155
+msgid "See how to use file and dirs arguments from whereis(1) manual.\n"
+msgstr ""
+
+#: misc-utils/wipefs.c:248
+#, c-format
+msgid "error: %s: probing initialization failed"
+msgstr "錯誤:%s:試探ĺťĺ§‹ĺŚ–時失敗"
+
+#: misc-utils/wipefs.c:292
+#, fuzzy, c-format
+msgid "%s: failed to erase %s magic string at offset 0x%08jx"
+msgstr "%s:無法尋指ĺ°ĺŹç§»ĺ€Ľ 0x%jx"
+
+#: misc-utils/wipefs.c:298
+#, fuzzy, c-format
+msgid "%s: %zd bytes were erased at offset 0x%08jx (%s): "
+msgstr "] 已清除於ĺŹç§»ĺ€Ľ 0x%jx (%s)\n"
+
+#: misc-utils/wipefs.c:344
+#, fuzzy, c-format
+msgid "%s: offset 0x%jx not found"
+msgstr "umount:%s: 找不ĺ°"
+
+#: misc-utils/wipefs.c:364
+#, fuzzy
+msgid ""
+" -a, --all wipe all magic strings (BE CAREFUL!)\n"
+" -h, --help show this help text\n"
+" -n, --no-act do everything except the actual write() call\n"
+" -o, --offset <num> offset to erase, in bytes\n"
+" -p, --parsable print out in parsable instead of printable format\n"
+" -q, --quiet suppress output messages\n"
+" -t, --types <list> limit the set of filesystem, RAIDs or partition tables\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+" -a, --all 抹拭所有魔術字串 (č«‹ĺ°Źĺż !)\n"
+" -h, --help 顯示這個說ćŽć–‡ĺ­—\n"
+" -n, --no-act 執行所有東西除了實際的 write() 呼叫\n"
+" -o, --offset <num> č¦ć¸…除的ĺŹç§»ĺ€ĽďĽŚä»Ąä˝Ťĺ…組為單位\n"
+" -p, --parsable 以可剖ćžč€ŚéťžĺŹŻĺ—印的格式來印出\n"
+
+#: misc-utils/wipefs.c:373
+#, c-format
+msgid ""
+"\n"
+"For more information see wipefs(8).\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ wipefs(8)。\n"
+
+#: misc-utils/wipefs.c:425
+#, fuzzy
+msgid "invalid offset argument"
+msgstr "無ć•çš„é¸é …"
+
+#: mount-deprecated/fstab.c:145
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "警告:讀取時發生錯誤 %s: %s"
+
+#: mount-deprecated/fstab.c:172 mount-deprecated/fstab.c:197
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "警告:無法開啟 %s: %s"
+
+#: mount-deprecated/fstab.c:177
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount:無法開啟 %s - 使用 %s ĺšç‚şć›żä»Ł\n"
+
+#: mount-deprecated/fstab.c:635
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr "ç„ˇćł•ĺ»şç«‹éŽ–ĺ®šćŞ”ćˇ %s: %s (使用 -n 旗標以強ĺ¶č®Šć›´)"
+
+#: mount-deprecated/fstab.c:661
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr "無法éŹçµéŽ–ĺ®šćŞ”ćˇ %s: %s (使用 -n 旗標以強ĺ¶č®Šć›´)"
+
+#: mount-deprecated/fstab.c:677
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "ç„ˇćł•é–‹ĺ•źéŽ–ĺ®šćŞ”ćˇ %s: %s (使用 -n 旗標以強ĺ¶č®Šć›´)"
+
+#: mount-deprecated/fstab.c:692
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "ç„ˇćł•éŽ–ĺ®šĺ·˛éŽ–ĺ®šćŞ”ćˇ %s: %s\n"
+
+#: mount-deprecated/fstab.c:706
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "ç„ˇćł•éŽ–ĺ®šĺ·˛éŽ–ĺ®šćŞ”ćˇ %s: %s"
+
+#: mount-deprecated/fstab.c:708
+msgid "timed out"
+msgstr "已逾時"
+
+#: mount-deprecated/fstab.c:715
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"無法建立éŹçµ %s\n"
+"也許有失去時ć•çš„鎖定檔ćˇďĽź\n"
+
+#: mount-deprecated/fstab.c:857 mount-deprecated/fstab.c:914
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "無法開啟 %s (%s) - mtab 尚未更新"
+
+#: mount-deprecated/fstab.c:922
+#, c-format
+msgid "error writing %s: %s"
+msgstr "寫入 %s 時發生錯誤:%s"
+
+#: mount-deprecated/fstab.c:937
+#, fuzzy, c-format
+msgid "%s: cannot fflush changes: %s"
+msgstr "%s:無法éŹçµ %s: %s\n"
+
+#: mount-deprecated/fstab.c:954
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "變更 %s 模式時發生錯誤:%s\n"
+
+#: mount-deprecated/fstab.c:967
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "變更 %s çš„ć“有者時發生錯誤:%s\n"
+
+#: mount-deprecated/fstab.c:978
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "ç„ˇćł•é‡Ťć–°ĺ‘˝ĺŤ %s ç‚ş %s: %s\n"
+
+#: mount-deprecated/mount.c:318
+#, c-format
+msgid ""
+"\n"
+"mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).\n"
+" It's possible that information reported by mount(8) is not\n"
+" up to date. For actual information about system mount points\n"
+" check the /proc/mounts file.\n"
+"\n"
+msgstr ""
+"\n"
+"mount:警告:/etc/mtab 不可寫入 (例:唯讀檔ćˇçł»çµ±)。\n"
+" ç”± mount(8) 所報告的資訊有可č˝ä¸ŤćŻćś€ć–°ç‹€ćłă€‚\n"
+" ćłč¦çŤ˛ĺľ—有關系統掛載點的實際資訊,\n"
+" 請檢查 /proc/mounts 檔ćˇă€‚\n"
+"\n"
+
+#: mount-deprecated/mount.c:368
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount:é¸é …字串「%s」加入了不é©ç•¶çš„引號"
+
+#: mount-deprecated/mount.c:401
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount:已翻譯 %s「%s」為「%s」\n"
+
+#: mount-deprecated/mount.c:458
+#, c-format
+msgid "mount: SELinux *context= options are ignore on remount.\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:654
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount:根據 mtab,%s ĺ·˛ç¶“ćŽ›čĽ‰ĺ° %s"
+
+#: mount-deprecated/mount.c:659
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount:根據 mtab,%s ĺ·˛ç¶“ćŽ›čĽ‰ĺ° %s"
+
+#: mount-deprecated/mount.c:683
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount:無法開啟 %s 以用於寫入:%s"
+
+#: mount-deprecated/mount.c:700
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount:寫入時發生錯誤 %s: %s"
+
+#: mount-deprecated/mount.c:708
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount:變更模式時發生錯誤 %s: %s"
+
+#: mount-deprecated/mount.c:810
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %m"
+msgstr "mount:無法設定群組č­ĺĄç·¨č™źďĽš%s"
+
+#: mount-deprecated/mount.c:813
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %m"
+msgstr "mount:無法設定使用者č­ĺĄç·¨č™źďĽš%s"
+
+#: mount-deprecated/mount.c:860 mount-deprecated/mount.c:2167
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount:無法衍生執行:%s"
+
+#: mount-deprecated/mount.c:996
+#, c-format
+msgid "Trying %s\n"
+msgstr "ĺ—試 %s\n"
+
+#: mount-deprecated/mount.c:1024
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount:您並未指定 %s 的檔ćˇçł»çµ±éˇžĺž‹\n"
+
+#: mount-deprecated/mount.c:1027
+#, c-format
+msgid " I will try all types mentioned in %s or %s\n"
+msgstr " ć‘ĺ°‡ĺ—試所有在 %s ć– %s 中ćŹĺŹŠçš„類型\n"
+
+#: mount-deprecated/mount.c:1030
+#, c-format
+msgid " and it looks like this is swapspace\n"
+msgstr " 而ĺ®çś‹čµ·äľ†ĺŹćŻĺ€‹ç˝®ćŹ›ç©şé–“\n"
+
+#: mount-deprecated/mount.c:1032
+#, c-format
+msgid " I will try type %s\n"
+msgstr " ć‘ĺ°‡ĺ—試類型 %s\n"
+
+#: mount-deprecated/mount.c:1057
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s 看起來ĺŹćŻç˝®ćŹ›ç©şé–“ - 未掛載"
+
+#: mount-deprecated/mount.c:1065
+#, c-format
+msgid ""
+"mount: %s: more filesystems detected. This should not happen,\n"
+" use -t <type> to explicitly specify the filesystem type or\n"
+" use wipefs(8) to clean up the device.\n"
+msgstr ""
+"掛載:%s:ĺµć¸¬ĺ°ĺ¤šĺ€‹ćŞ”ćˇçł»çµ±ă€‚這不應發生,\n"
+" 使用 -t <type> 以ćŽç˘şćŚ‡ĺ®šćŞ”ćˇçł»çµ±ĺž‹ć…‹ć–\n"
+" 使用 wipefs(8) 以清ç†čŁťç˝®ă€‚\n"
+
+#: mount-deprecated/mount.c:1153
+msgid "mount failed"
+msgstr "掛載失敗"
+
+#: mount-deprecated/mount.c:1155
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount:只有 root 可以將 %s ćŽ›čĽ‰ĺ° %s"
+
+#: mount-deprecated/mount.c:1246
+msgid "mount: loop device specified twice"
+msgstr "mount:環路裝置被指定了兩次"
+
+#: mount-deprecated/mount.c:1251
+msgid "mount: type specified twice"
+msgstr "mount:類型被指定了兩次"
+
+#: mount-deprecated/mount.c:1279
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount:跳éŽç’°č·ŻčŁťç˝®çš„設定\n"
+
+#: mount-deprecated/mount.c:1290
+#, fuzzy, c-format
+msgid "mount: enabling autoclear loopdev flag\n"
+msgstr "mount:即將使用環路裝置 %s\n"
+
+#: mount-deprecated/mount.c:1298
+#, c-format
+msgid "mount: invalid offset '%s' specified"
+msgstr "mount:指定了無ć•çš„ĺŹç§»ĺ€Ľă€Ś%s」"
+
+#: mount-deprecated/mount.c:1302
+#, c-format
+msgid "mount: invalid sizelimit '%s' specified"
+msgstr "mount:指定了無ć•çš„大小é™ĺ¶ă€Ś%s」"
+
+#: mount-deprecated/mount.c:1307
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount:根據 mtab %s 已被當ĺšç’°č·Żč€ŚćŽ›čĽ‰ć–Ľ %s"
+
+#: mount-deprecated/mount.c:1314
+#, fuzzy
+msgid "mount: couldn't lock into memory"
+msgstr "無法鎖入č¨ć†¶é«”,即將離開。\n"
+
+#: mount-deprecated/mount.c:1334
+#, fuzzy
+msgid "mount: failed to found free loop device"
+msgstr "mount:設定環路裝置時失敗\n"
+
+#: mount-deprecated/mount.c:1339
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount:即將使用環路裝置 %s\n"
+
+#: mount-deprecated/mount.c:1353
+#, fuzzy, c-format
+msgid "mount: %s: failed to set loopdev attributes"
+msgstr "取得 pid %d 的屬性時失敗"
+
+#: mount-deprecated/mount.c:1364
+#, fuzzy, c-format
+msgid "mount: %s: failed setting up loop device: %m"
+msgstr "mount:設定環路裝置時失敗\n"
+
+#: mount-deprecated/mount.c:1375
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount:丟失環路=%s ...再試一次\n"
+
+#: mount-deprecated/mount.c:1380
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount:丟失環路=%s"
+
+#: mount-deprecated/mount.c:1387
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount:ć功設定環路裝置\n"
+
+#: mount-deprecated/mount.c:1435
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mountďĽšć‰ľä¸Ťĺ° %s - 建立ĺ®â€¦\n"
+
+#: mount-deprecated/mount.c:1457
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount:-p ć– --pass-fd 的引數必é ćŻć•¸ĺ­—"
+
+#: mount-deprecated/mount.c:1470
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount:無法開啟 %s 以用於設定速度"
+
+#: mount-deprecated/mount.c:1473
+#, fuzzy, c-format
+msgid "mount: cannot set speed: %m"
+msgstr "mount:無法設定速度:%s"
+
+#: mount-deprecated/mount.c:1564
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount:根據 mtab,%s ĺ·˛ç¶“ćŽ›čĽ‰ĺ° %s\n"
+
+#: mount-deprecated/mount.c:1643
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-write.\n"
+msgstr "mount:警告:%s 似乎被掛載為可讀可寫。\n"
+
+#: mount-deprecated/mount.c:1655
+#, c-format
+msgid "mount: warning: %s seems to be mounted read-only.\n"
+msgstr "mount:警告:%s 似乎被掛載為唯讀。\n"
+
+#: mount-deprecated/mount.c:1691
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount:ć‘無法決定檔ćˇçł»çµ±éˇžĺž‹ďĽŚč€Śĺ®ä¸¦ćśŞč˘«ćŚ‡ĺ®š"
+
+#: mount-deprecated/mount.c:1694
+msgid "mount: you must specify the filesystem type"
+msgstr "mount:您必é ćŚ‡ĺ®šćŞ”ćˇçł»çµ±éˇžĺž‹"
+
+#: mount-deprecated/mount.c:1697
+msgid "mount: mount failed"
+msgstr "mount:掛載時失敗"
+
+#: mount-deprecated/mount.c:1703 mount-deprecated/mount.c:1740
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount:掛載點 %s 並非目錄"
+
+#: mount-deprecated/mount.c:1705
+msgid "mount: permission denied"
+msgstr "mount:權é™č˘«ć‹’"
+
+#: mount-deprecated/mount.c:1707
+msgid "mount: must be superuser to use mount"
+msgstr "mount:必é ćŻçł»çµ±ç®ˇç†č€…才č˝ä˝żç”¨ćŽ›čĽ‰"
+
+#: mount-deprecated/mount.c:1711 mount-deprecated/mount.c:1715
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount:%s 忙碌中"
+
+#: mount-deprecated/mount.c:1717
+msgid "mount: proc already mounted"
+msgstr "mount:proc 已被掛載"
+
+#: mount-deprecated/mount.c:1719
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount:%s 已被掛載ć–者 %s 忙碌中"
+
+#: mount-deprecated/mount.c:1725
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount:掛載點 %s 不ĺ­ĺś¨"
+
+#: mount-deprecated/mount.c:1727
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount:掛載點 %s ćŻä¸ŤćŽä˝Ťç˝®çš„符號連çµ"
+
+#: mount-deprecated/mount.c:1732
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount:特殊裝置 %s 不ĺ­ĺś¨"
+
+#: mount-deprecated/mount.c:1744
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+" (a path prefix is not a directory)\n"
+msgstr ""
+"mount:特殊裝置 %s 不ĺ­ĺś¨\n"
+" (路徑前綴並非目錄)\n"
+
+#: mount-deprecated/mount.c:1756
+#, fuzzy, c-format
+msgid "mount: %s not mounted or bad option"
+msgstr "mount:%s 未被掛載,ć–ćŻä¸Ťç•¶çš„é¸é …"
+
+#: mount-deprecated/mount.c:1758
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount:錯誤檔ćˇçł»çµ±éˇžĺž‹ă€ä¸Ťç•¶çš„é¸é …ă€ä¸Ťç•¶çš„超區塊於 %s,\n"
+" 缺少編碼é ć–輔助程式,ć–其他錯誤"
+
+#: mount-deprecated/mount.c:1765
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)"
+msgstr ""
+" (對於許多檔ćˇçł»çµ± (例如 nfs,cifs) 您也許\n"
+" éś€č¦ /sbin/mount.<type> 輔助程式)"
+
+#: mount-deprecated/mount.c:1774
+msgid ""
+" (could this be the IDE device where you in fact use\n"
+" ide-scsi so that sr0 or sda or so is needed?)"
+msgstr ""
+" (ćŻĺ¦ĺŹŻč˝ć‚¨ä˝żç”¨ IDE 裝置其實ćŻ\n"
+" ide-scsi ĺ› č€Śéś€č¦ sr0 ć– sda 之類裝置?)"
+
+#: mount-deprecated/mount.c:1779
+msgid ""
+" (aren't you trying to mount an extended partition,\n"
+" instead of some logical partition inside?)"
+msgstr ""
+" (您ćŻĺ¦č©¦č‘—掛載擴充ĺ†ĺ‰˛ĺŤ€ďĽŚ\n"
+" 而非其中的邏輯ĺ†ĺ‰˛ĺŤ€ ?)"
+
+#: mount-deprecated/mount.c:1786
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" 在ćźäş›ç‹€ćłä¸‹ďĽŚsyslog 中可以找ĺ°ćś‰ç”¨çš„資訊 - ĺ—試\n"
+" dmesg | tail 之類命令\n"
+
+#: mount-deprecated/mount.c:1792 sys-utils/mount.c:529
+msgid "mount table full"
+msgstr "掛載表已滿"
+
+#: mount-deprecated/mount.c:1794
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount:%s: 無法讀取超區塊"
+
+#: mount-deprecated/mount.c:1800
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount:%s: 不ćŽçš„裝置"
+
+#: mount-deprecated/mount.c:1805
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount:不ćŽçš„檔ćˇçł»çµ±éˇžĺž‹ă€Ś%s」"
+
+#: mount-deprecated/mount.c:1817
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mountďĽšć‚¨çš„ć„Źć€ťĺ¤§ć¦‚ćŻ %s"
+
+#: mount-deprecated/mount.c:1820
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount:也許您的意思ćŻă€Śiso9660」?"
+
+#: mount-deprecated/mount.c:1823
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount:也許您的意思ćŻă€Śvfat」?"
+
+#: mount-deprecated/mount.c:1826
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr "mount:%s 有錯誤的裝置編號,ć–ćŻä¸Ťć”ŻćŹ´ćŞ”ćˇçł»çµ±éˇžĺž‹ %s"
+
+#: mount-deprecated/mount.c:1834
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount:%s 並非一個區塊裝置,而且取得狀態時失敗?"
+
+#: mount-deprecated/mount.c:1836
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount:內核無法č­ĺĄ %s 為一個區塊裝置\n"
+" (也許č¦ç”¨ă€Śmodprobe driver」?)"
+
+#: mount-deprecated/mount.c:1839
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount:%s 並非一個區塊裝置 (也許試試「-o loop」?)"
+
+#: mount-deprecated/mount.c:1842
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount:%s 並非一個區塊裝置"
+
+#: mount-deprecated/mount.c:1847
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount:%s 並非有ć•çš„區塊裝置"
+
+#: mount-deprecated/mount.c:1850
+msgid "block device "
+msgstr "區塊裝置 "
+
+#: mount-deprecated/mount.c:1852
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount:無法以唯讀方式掛載 %s%s"
+
+#: mount-deprecated/mount.c:1856
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount:%s%s ç‚şé˛ĺŻ«ďĽŚä˝†ĺŤ»ćŽç˘şçµ¦ĺ®šäş†ă€Ś-w」旗標"
+
+#: mount-deprecated/mount.c:1860
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount:無法重新將 %s%s 掛載ć可讀可寫,其為é˛ĺŻ«çš„"
+
+#: mount-deprecated/mount.c:1875
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount:%s%s ç‚şé˛ĺŻ«ďĽŚĺŤłĺ°‡ä»Ąĺ”Żč®€ć–ąĺĽŹćŽ›čĽ‰"
+
+#: mount-deprecated/mount.c:1883
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount:%s 中找不ĺ°ä»»ä˝•ĺŞ’é«”"
+
+#: mount-deprecated/mount.c:1901 sys-utils/mount.c:310
+#, c-format
+msgid ""
+"mount: %s does not contain SELinux labels.\n"
+" You just mounted an file system that supports labels which does not\n"
+" contain labels, onto an SELinux box. It is likely that confined\n"
+" applications will generate AVC messages and not be allowed access to\n"
+" this file system. For more details see restorecon(8) and mount(8).\n"
+msgstr ""
+"mount:%s ä¸ŤĺŚ…ĺ« SELinux 標籤。\n"
+" 您剛掛載了支援標籤的檔ćˇçł»çµ±ďĽŚĺ®ĺŤ»ĺś¨ SELinux 框上\n"
+" 不包ĺ«ć¨™ç±¤ă€‚似乎受é™çš„應用程式\n"
+" 將產生 AVC 訊ćŻďĽŚä¸¦ä¸”不被ĺ…許去ĺ­ĺŹ–\n"
+" 這個檔ćˇçł»çµ±ă€‚č¦çŤ˛ĺľ—更多細節請ĺŹçś‹ restorecon(8) ĺ’Ś mount(8)。\n"
+
+#: mount-deprecated/mount.c:1981
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount:沒有給定任何類型 - ć‘將因為冒號而ĺ‡č¨­ćŻ nfs\n"
+
+#: mount-deprecated/mount.c:1987
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount:沒有給定任何類型 - ć‘將因為 // 前綴而ĺ‡č¨­ćŻ cifs\n"
+
+#: mount-deprecated/mount.c:2055
+#, c-format
+msgid "mount: ignore %s (unparsable offset= option)\n"
+msgstr ""
+
+#: mount-deprecated/mount.c:2068
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount:%s ĺ·˛ç¶“ćŽ›čĽ‰ĺ° %s\n"
+
+#: mount-deprecated/mount.c:2249
+#, c-format
+msgid ""
+"Usage: mount -V : print version\n"
+" mount -h : print this help\n"
+" mount : list mounted filesystems\n"
+" mount -l : idem, including volume labels\n"
+"So far the informational part. Next the mounting.\n"
+"The command is `mount [-t fstype] something somewhere'.\n"
+"Details found in /etc/fstab may be omitted.\n"
+" mount -a [-t|-O] ... : mount all stuff from /etc/fstab\n"
+" mount device : mount device at the known place\n"
+" mount directory : mount known device here\n"
+" mount -t type dev dir : ordinary mount command\n"
+"Note that one does not really mount a device, one mounts\n"
+"a filesystem (of the given type) found on the device.\n"
+"One can also mount an already visible directory tree elsewhere:\n"
+" mount --bind olddir newdir\n"
+"or move a subtree:\n"
+" mount --move olddir newdir\n"
+"One can change the type of mount containing the directory dir:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"One can change the type of all the mounts in a mount subtree\n"
+"containing the directory dir:\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
+"or by label, using -L label or by uuid, using -U uuid .\n"
+"Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n"
+"For many more details, say man 8 mount .\n"
+msgstr ""
+"用法:mount -V :印出ç‰ćś¬\n"
+" mount -h :印出這個說ćŽ\n"
+" mount :ĺ—出掛載的檔ćˇçł»çµ±\n"
+" mount -l :idem,包ĺ«ĺŤ·ĺ†Šć¨™ç±¤\n"
+"目前為止ćŻćś‰é—śčł‡č¨Šé¨ĺ†ă€‚下ĺ—有關掛載。\n"
+"命令為「mount [-t fstype] something somewhere」。\n"
+"在 /etc/fstab 中找ĺ°çš„細節也許ćśč˘«çśç•Ąă€‚\n"
+" mount -a [-t|-O]… :依據 /etc/fstab 掛載所有項目\n"
+" mount device :於已知位置掛載裝置\n"
+" mount directory :在此掛載已知裝置\n"
+" mount -t type dev dir :標準的掛載命令\n"
+"č¦ćł¨ć„Źçš„ćŻďĽŚä¸¦éťžçśźć­Łĺś°ćŽ›čĽ‰čŁťç˝®ďĽŚč€ŚćŻćŽ›čĽ‰ä¸€ĺ€‹\n"
+"在裝置中找ĺ°çš„檔ćˇçł»çµ± (給定的類型)。\n"
+"已經可見的目錄樹也可以被掛載ĺ°ĺ…¶ä»–地方:\n"
+" mount --bind olddir newdir\n"
+"ć–ćŻç§»ĺ‹•ĺ­ć¨ąďĽš\n"
+" mount --move olddir newdir\n"
+"也可以變更包ĺ«ç›®éŚ„ dir 的掛載類型:\n"
+" mount --make-shared dir\n"
+" mount --make-slave dir\n"
+" mount --make-private dir\n"
+" mount --make-unbindable dir\n"
+"包ĺ«ç›®éŚ„ dir 的掛載ĺ­ć¨ąä¸­ć‰€ćś‰ćŽ›čĽ‰çš„類型\n"
+"é˝ĺŹŻä»Ąč®Šć›´ďĽš\n"
+" mount --make-rshared dir\n"
+" mount --make-rslave dir\n"
+" mount --make-rprivate dir\n"
+" mount --make-runbindable dir\n"
+"裝置可以由ĺŤç¨±çµ¦ĺ®šďĽŚäľ‹ĺ¦‚ /dev/hda1 ć– /dev/cdrom,\n"
+"ć–ćŻĺ©ç”¨ -L label 經由標籤,ć–ćŻĺ©ç”¨ -U uuid 而經由 uuid。\n"
+"其他é¸é …:[-nfFrsvw] [-o options] [-p passwdfd]。\n"
+"č¦çŤ˛ĺľ—更多細節,就用 man 8 mount。\n"
+
+#: mount-deprecated/mount.c:2579
+#, c-format
+msgid "mount: only root can do that (effective UID is %u)"
+msgstr "mount:只有 root ĺŹŻä»Ąé‚Łć¨Łĺš (ćś‰ć• UID ćŻ %u)"
+
+#: mount-deprecated/mount.c:2582
+msgid "mount: only root can do that"
+msgstr "mount:只有 root 可以那樣ĺš"
+
+#: mount-deprecated/mount.c:2593
+msgid "nothing was mounted"
+msgstr "沒有掛載任何東西"
+
+#: mount-deprecated/mount.c:2611 mount-deprecated/mount.c:2637
+msgid "mount: no such partition found"
+msgstr "mount:找不ĺ°ć­¤éˇžĺ†ĺ‰˛"
+
+#: mount-deprecated/mount.c:2614
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount:無法在 %2$s ć– %3$s ä¸­ć‰ľĺ° %1$s"
+
+#: mount-deprecated/mount_mntent.c:110
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]:警告:在 %s çš„çµĺ°ľć˛’有最後的換ĺ—ĺ­—ĺ…\n"
+
+#: mount-deprecated/mount_mntent.c:160
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]:在 %2$s 中的第 %1$d ĺ—ćŻä¸Ťç•¶çš„ %3$s\n"
+
+#: mount-deprecated/mount_mntent.c:163
+msgid "; rest of file ignored"
+msgstr ";忽略檔ćˇçš„ĺ…¶é¤é¨ä»˝"
+
+#: mount-deprecated/sundries.c:30
+msgid "bug in xstrndup call"
+msgstr "在 xstrndup 呼叫中有程式錯誤"
+
+#: mount-deprecated/sundries.c:225 mount-deprecated/sundries.c:283
+#: mount-deprecated/sundries.c:298
+msgid "not enough memory"
+msgstr "č¨ć†¶é«”不足"
+
+#: mount-deprecated/umount.c:43
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount:編譯時未支援 -f\n"
+
+#: mount-deprecated/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %m"
+msgstr "umount:無法設定群組č­ĺĄč™źďĽš%s"
+
+#: mount-deprecated/umount.c:142
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %m"
+msgstr "umount:無法設定使用者č­ĺĄč™źďĽš%s"
+
+#: mount-deprecated/umount.c:171
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount:無法衍生執行:%s"
+
+#: mount-deprecated/umount.c:192
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount:%s: 無ć•çš„區塊裝置"
+
+#: mount-deprecated/umount.c:194
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount:%s: 未掛載"
+
+#: mount-deprecated/umount.c:196
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount:%s: 無法寫入超區塊"
+
+#: mount-deprecated/umount.c:200
+#, c-format
+msgid ""
+"umount: %s: device is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount:%s:裝置忙碌中。\n"
+" (在ćźäş›ć…ćłä¸‹é—ść–Ľä˝żç”¨č©˛čŁťç˝®äą‹é€˛ç¨‹çš„\n"
+" 有用資訊,可以藉由 lsof(8) ć– fuser(1) 找ĺ°)"
+
+#: mount-deprecated/umount.c:205
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount:%s: 找不ĺ°"
+
+#: mount-deprecated/umount.c:207
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount:%s: ĺż…é ćŻçł»çµ±ç®ˇç†č€…ć‰Ťč˝ umount"
+
+#: mount-deprecated/umount.c:209
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount:%s: 區塊裝置在檔ćˇçł»çµ±ä¸­ä¸Ťč˘«ĺ…許"
+
+#: mount-deprecated/umount.c:211
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount:%s: %s"
+
+#: mount-deprecated/umount.c:239
+#, c-format
+msgid "umount: internal error: invalid abs path: %s"
+msgstr ""
+
+#: mount-deprecated/umount.c:254
+#, fuzzy, c-format
+msgid "umount: failed to chdir to %s: %m"
+msgstr "mount:變更模式時發生錯誤 %s: %s"
+
+#: mount-deprecated/umount.c:257
+#, fuzzy, c-format
+msgid "umount: failed to obtain current directory: %m"
+msgstr "mount:變更模式時發生錯誤 %s: %s"
+
+#: mount-deprecated/umount.c:260
+#, fuzzy, c-format
+msgid "umount: mountpoint moved (%s -> %s)"
+msgstr "mount:掛載點 %s 不ĺ­ĺś¨"
+
+#: mount-deprecated/umount.c:263
+#, c-format
+msgid "current directory moved to %s\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:328
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "沒有 umount2, 試試 umount...\n"
+
+#: mount-deprecated/umount.c:348
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount:%s 忙碌中 - 已重新以唯讀掛載\n"
+
+#: mount-deprecated/umount.c:366
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount:無法以唯讀重新掛載 %s\n"
+
+#: mount-deprecated/umount.c:375
+#, c-format
+msgid "%s has been unmounted\n"
+msgstr "%s 已卸載\n"
+
+#: mount-deprecated/umount.c:482
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount:找不ĺ°ĺŹŻĺŤ¸čĽ‰ćŞ”ćˇçł»çµ±çš„ĺ—表"
+
+#: mount-deprecated/umount.c:514
+#, c-format
+msgid ""
+"Usage: umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"用法:umount -h | -V\n"
+" umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n"
+" umount [-d] [-f] [-r] [-n] [-v] 特殊 | 節點…\n"
+
+#: mount-deprecated/umount.c:558
+#, fuzzy, c-format
+msgid "failed to parse 'offset=%s' options\n"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: mount-deprecated/umount.c:566
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "裝置 %s č‡ %s 有所關čŻ\n"
+
+#: mount-deprecated/umount.c:572
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "裝置 %s ćśŞč‡ %s 有所關čŻ\n"
+
+#: mount-deprecated/umount.c:606
+msgid "Cannot unmount \"\"\n"
+msgstr "無法卸載「」\n"
+
+#: mount-deprecated/umount.c:614
+#, c-format
+msgid "Trying to unmount %s\n"
+msgstr "ĺ—試卸載 %s\n"
+
+#: mount-deprecated/umount.c:628
+msgid "umount: confused when analyzing mtab"
+msgstr "umount:ĺ†ćž mtab 時感ĺ°ĺ›°ć‘"
+
+#: mount-deprecated/umount.c:634
+#, c-format
+msgid "umount: cannot unmount %s -- %s is mounted over it on the same point"
+msgstr "umount:無法卸載 %s -- %s 被掛載於相ĺŚé»žäą‹ä¸Š"
+
+#: mount-deprecated/umount.c:642
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "在 mtab ä¸­ć‰ľä¸Ťĺ° %s\n"
+
+#: mount-deprecated/umount.c:652
+#, fuzzy, c-format
+msgid "%s is associated with %s\n"
+msgstr "裝置 %s č‡ %s 有所關čŻ\n"
+
+#: mount-deprecated/umount.c:658
+#, c-format
+msgid "umount: warning: %s is associated with more than one loop device\n"
+msgstr ""
+
+#: mount-deprecated/umount.c:676
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount:%s 未掛載 (根據 mtab)"
+
+#: mount-deprecated/umount.c:690
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount:%s 似乎已被多次掛載"
+
+#: mount-deprecated/umount.c:704
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount:%s 並不在 fstab 之中(č€Śä¸”ć‚¨ä¸ŤćŻ root)"
+
+#: mount-deprecated/umount.c:710
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount:%s ćŽ›čĽ‰č‡ fstab 不相符"
+
+#: mount-deprecated/umount.c:751
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount:只有 %1$s 可以從 %3$s 卸載 %2$s"
+
+#: mount-deprecated/umount.c:848
+msgid "umount: only root can do that"
+msgstr "umount:只有 root 可以那樣ĺš"
+
+#: schedutils/chrt.c:63
+#, c-format
+msgid ""
+"\n"
+"chrt - manipulate real-time attributes of a process\n"
+"\n"
+"Set policy:\n"
+" chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+"\n"
+"Get policy:\n"
+" chrt [options] {<pid> | <command> [<arg> ...]}\n"
+msgstr ""
+"\n"
+" chrt - 操控進程的即時屬性\n"
+"\n"
+"設定策略:\n"
+" chrt [é¸é …] <policy> <priority> {<pid> |<command> [<arg>...]}\n"
+"\n"
+"取得策略:\n"
+" chrt [é¸é …] {<pid> | <command> [<arg>...]}\n"
+
+#: schedutils/chrt.c:70
+#, c-format
+msgid ""
+"\n"
+"Scheduling policies:\n"
+" -b | --batch set policy to SCHED_BATCH\n"
+" -f | --fifo set policy to SCHED_FIFO\n"
+" -i | --idle set policy to SCHED_IDLE\n"
+" -o | --other set policy to SCHED_OTHER\n"
+" -r | --rr set policy to SCHED_RR (default)\n"
+msgstr ""
+"\n"
+"排程策略:\n"
+" -b | --batch 設定策略為 SCHED_BATCH\n"
+" -f | --fifo 設定策略為 SCHED_FIFO\n"
+" -i | --idle 設定策略為 SCHED_IDLE\n"
+" -o | --other 設定策略為 SCHED_OTHER\n"
+" -r | --rr 設定策略為 SCHED_RR (é č¨­)\n"
+
+#: schedutils/chrt.c:79
+#, c-format
+msgid ""
+"\n"
+"Scheduling flags:\n"
+" -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"
+msgstr ""
+"\n"
+"排程旗標:\n"
+" -R | --reset-on-fork 設定 SCHED_RESET_ON_FORK 用於 FIFO ć– RR\n"
+
+#: schedutils/chrt.c:83
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -h | --help display this help\n"
+" -m | --max show min and max valid priorities\n"
+" -p | --pid operate on existing given pid\n"
+" -v | --verbose display status information\n"
+" -V | --version output version information\n"
+"\n"
+msgstr ""
+"\n"
+"é¸é …:\n"
+" -h | --help 顯示這個說ćŽ\n"
+" -m | --max 顯示最小和最大的有ć•ĺ„Şĺ…等級\n"
+" -p | --pid 作用於現有給定的 pid\n"
+" -v | --verbose 顯示狀態資訊\n"
+" -V | --version 輸出ç‰ćś¬čł‡č¨Š\n"
+"\n"
+
+#: schedutils/chrt.c:105
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "取得 pid %d 的策略時失敗"
+
+#: schedutils/chrt.c:108
+#, c-format
+msgid "pid %d's new scheduling policy: "
+msgstr "pid %d 新的排程策略:"
+
+#: schedutils/chrt.c:110
+#, c-format
+msgid "pid %d's current scheduling policy: "
+msgstr "pid %d 目前的排程策略:"
+
+#: schedutils/chrt.c:143
+#, fuzzy
+msgid "unknown scheduling policy"
+msgstr "pid %d 新的排程策略:"
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "取得 pid %d 的屬性時失敗"
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "pid %d's new scheduling priority: %d\n"
+msgstr "pid %d 新的排程優ĺ…權:%d\n"
+
+#: schedutils/chrt.c:153
+#, c-format
+msgid "pid %d's current scheduling priority: %d\n"
+msgstr "pid %d 目前的排程優ĺ…權:%d\n"
+
+#: schedutils/chrt.c:188
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr "SCHED_%s 最小/最大優ĺ…權\t:%d/%d\n"
+
+#: schedutils/chrt.c:191
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s 不被支援?\n"
+
+#: schedutils/chrt.c:287 schedutils/chrt.c:320
+#, fuzzy
+msgid "cannot obtain the list of tasks"
+msgstr "找不ĺ°ĺšç‚ş %s 的裝置"
+
+#: schedutils/chrt.c:299
+#, fuzzy
+msgid "invalid priority argument"
+msgstr "無ć•çš„é¸é …"
+
+#: schedutils/chrt.c:305
+msgid ""
+"SCHED_RESET_ON_FORK flag is suppoted for SCHED_FIFO and SCHED_RR policies "
+"only"
+msgstr "SCHED_RESET_ON_FORK 旗標只被支援用於 SCHED_FIFO 和 SCHED_RR 策略"
+
+#: schedutils/chrt.c:323
+#, fuzzy, c-format
+msgid "failed to set tid %d's policy"
+msgstr "設定 pid %d 的策略時失敗"
+
+#: schedutils/chrt.c:326
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "設定 pid %d 的策略時失敗"
+
+#: schedutils/chrt.c:335 sys-utils/switch_root.c:223 term-utils/script.c:451
+#, c-format
+msgid "failed to execute %s"
+msgstr "執行 %s 時失敗"
+
+#: schedutils/ionice.c:76
+msgid "ioprio_get failed"
+msgstr "ioprio_get 失敗"
+
+#: schedutils/ionice.c:98
+msgid "ioprio_set failed"
+msgstr "ioprio_set 失敗"
+
+#: schedutils/ionice.c:104
+#, c-format
+msgid ""
+"\n"
+"%1$s - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+" %1$s [OPTION] -p PID [PID...]\n"
+" %1$s [OPTION] COMMAND\n"
+"\n"
+"Options:\n"
+" -c, --class <class> scheduling class name or number\n"
+" 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+" -n, --classdata <num> scheduling class data\n"
+" 0-7 for realtime and best-effort classes\n"
+" -p, --pid=PID view or modify already running process\n"
+" -t, --ignore ignore failures\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: schedutils/ionice.c:148
+#, fuzzy
+msgid "invalid class data argument"
+msgstr "無ć•çš„é¸é …"
+
+#: schedutils/ionice.c:154
+#, fuzzy
+msgid "invalid class argument"
+msgstr "無ć•çš„ iflag:%s"
+
+#: schedutils/ionice.c:159
+#, fuzzy, c-format
+msgid "unknown scheduling class: '%s'"
+msgstr "不ćŽç›´ć¬„:%s"
+
+#: schedutils/ionice.c:183
+msgid "ignoring given class data for none class"
+msgstr "忽略給定的無類ĺĄčł‡ć–™"
+
+#: schedutils/ionice.c:191
+msgid "ignoring given class data for idle class"
+msgstr "忽略給定的閒置類ĺĄčł‡ć–™"
+
+#: schedutils/ionice.c:196
+#, fuzzy, c-format
+msgid "unknown prio class %d"
+msgstr "不當的優ĺ…ć¬ŠéˇžĺĄ %d"
+
+#: schedutils/ionice.c:232 schedutils/taskset.c:238 sys-utils/prlimit.c:639
+#, c-format
+msgid "executing %s failed"
+msgstr "執行 %s 時失敗"
+
+#: schedutils/taskset.c:52
+#, c-format
+msgid ""
+"Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n"
+"\n"
+msgstr ""
+"用法:%s [é¸é …] [é®ç˝©| cpu-list] [pid|cmd [引數...]]\n"
+"\n"
+
+#: schedutils/taskset.c:56
+#, fuzzy, c-format
+msgid ""
+"Options:\n"
+" -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+" -p, --pid operate on existing given pid\n"
+" -c, --cpu-list display and specify cpus in list format\n"
+" -h, --help display this help\n"
+" -V, --version output version information\n"
+"\n"
+msgstr ""
+"é¸é …:\n"
+" -p, --pid 作用於現有給定的 pid\n"
+" -c, --cpu-list 以清單格式顯示和指定中央處ç†ĺ™¨\n"
+" -h, --help 顯示這個說ćŽ\n"
+" -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+"\n"
+
+#: schedutils/taskset.c:64
+#, c-format
+msgid ""
+"The default behavior is to run a new command:\n"
+" %1$s 03 sshd -b 1024\n"
+"You can retrieve the mask of an existing task:\n"
+" %1$s -p 700\n"
+"Or set it:\n"
+" %1$s -p 03 700\n"
+"List format uses a comma-separated list instead of a mask:\n"
+" %1$s -pc 0,3,7-11 700\n"
+"Ranges in list format can take a stride argument:\n"
+" e.g. 0-31:2 is equivalent to mask 0x55555555\n"
+msgstr ""
+"é č¨­čˇŚç‚şćŻĺź·čˇŚć–°çš„命令:\n"
+" %1$s 03 sshd -b 1024\n"
+"您可以取回現有任務的é®ç˝©ďĽš\n"
+" %1$s -p 700\n"
+"ć–設定ĺ®ďĽš\n"
+" %1$s -p 03 700\n"
+"清單格式使用以逗號ĺ†éš”的清單以代替é®ç˝©ďĽš\n"
+" %1$s -pc 0,3,7-11 700\n"
+"清單格式中的範圍可以加上一個跨越引數:\n"
+" 例如:0-31:2 相當於é®ç˝© 0x55555555\n"
+
+#: schedutils/taskset.c:76
+#, c-format
+msgid ""
+"\n"
+"For more information see taskset(1).\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ taskset(1)。\n"
+
+#: schedutils/taskset.c:87
+#, c-format
+msgid "pid %d's new affinity list: %s\n"
+msgstr "pid %d 新的近似者清單:%s\n"
+
+#: schedutils/taskset.c:88
+#, c-format
+msgid "pid %d's current affinity list: %s\n"
+msgstr "pid %d 目前的近似者清單:%s\n"
+
+#: schedutils/taskset.c:91
+#, c-format
+msgid "pid %d's new affinity mask: %s\n"
+msgstr "pid %d 新的近似者é®ç˝©ďĽš%s\n"
+
+#: schedutils/taskset.c:92
+#, c-format
+msgid "pid %d's current affinity mask: %s\n"
+msgstr "pid %d 目前的近似者é®ç˝©ďĽš%s\n"
+
+#: schedutils/taskset.c:97
+#, fuzzy
+msgid "conversion from cpuset to string failed"
+msgstr "轉換 rtc 時間"
+
+#: schedutils/taskset.c:107 schedutils/taskset.c:123
+#, c-format
+msgid "failed to get pid %d's affinity"
+msgstr "取得 pid %d 的近似者時失敗"
+
+#: schedutils/taskset.c:117
+#, c-format
+msgid "failed to set pid %d's affinity"
+msgstr "設定 pid %d 的近似者時失敗"
+
+#: schedutils/taskset.c:185 sys-utils/chcpu.c:263
+msgid "cannot determine NR_CPUS; aborting"
+msgstr "無法決定 NR_CPUS;放棄"
+
+#: schedutils/taskset.c:194 schedutils/taskset.c:207 sys-utils/chcpu.c:269
+msgid "cpuset_alloc failed"
+msgstr "cpuset_alloc 失敗"
+
+#: schedutils/taskset.c:214 sys-utils/chcpu.c:209
+#, fuzzy, c-format
+msgid "failed to parse CPU list: %s"
+msgstr "ĺ‰–ćž CPU é®ç˝© %s 時失敗"
+
+#: schedutils/taskset.c:217
+#, fuzzy, c-format
+msgid "failed to parse CPU mask: %s"
+msgstr "ĺ‰–ćž CPU é®ç˝© %s 時失敗"
+
+#: sys-utils/arch.c:79
+#, fuzzy
+msgid "uname failed"
+msgstr "unshare 失敗"
+
+#: sys-utils/chcpu.c:79 sys-utils/chcpu.c:161
+#, fuzzy, c-format
+msgid "CPU %d does not exist\n"
+msgstr "%s:「%s」不ĺ­ĺś¨ă€‚\n"
+
+#: sys-utils/chcpu.c:83
+#, c-format
+msgid "CPU %d is not hot pluggable\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:88
+#, fuzzy, c-format
+msgid "CPU %d is already enabled\n"
+msgstr "çŁĺŤ€ %d 已經被配置\n"
+
+#: sys-utils/chcpu.c:92
+#, fuzzy, c-format
+msgid "CPU %d is already disabled\n"
+msgstr "çŁĺŤ€ %d 已經被配置\n"
+
+#: sys-utils/chcpu.c:100
+#, c-format
+msgid "CPU %d enable failed (CPU is deconfigured)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:103
+#, c-format
+msgid "CPU %d enable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:105
+#, c-format
+msgid "CPU %d enabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:108
+#, c-format
+msgid "CPU %d disable failed (last enabled CPU)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:114
+#, c-format
+msgid "CPU %d disable failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:116
+#, c-format
+msgid "CPU %d disabled\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:128
+msgid "This system does not support rescanning of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:130
+#, fuzzy
+msgid "Failed to trigger rescan of CPUs"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/chcpu.c:131
+#, c-format
+msgid "Triggered rescan of CPUs\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:138
+msgid "This system does not support setting the dispatching mode of CPUs"
+msgstr ""
+
+#: sys-utils/chcpu.c:142
+#, fuzzy
+msgid "Failed to set horizontal dispatch mode"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/chcpu.c:143
+#, fuzzy, c-format
+msgid "Successfully set horizontal dispatching mode\n"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/chcpu.c:146
+#, fuzzy
+msgid "Failed to set vertical dispatch mode"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/chcpu.c:147
+#, fuzzy, c-format
+msgid "Successfully set vertical dispatching mode\n"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/chcpu.c:165
+#, fuzzy, c-format
+msgid "CPU %d is not configurable\n"
+msgstr "%s:「%s」並非可執行。\n"
+
+#: sys-utils/chcpu.c:170
+#, fuzzy, c-format
+msgid "CPU %d is already configured\n"
+msgstr "çŁĺŤ€ %d 已經被配置\n"
+
+#: sys-utils/chcpu.c:174
+#, fuzzy, c-format
+msgid "CPU %d is already deconfigured\n"
+msgstr "çŁĺŤ€ %d 已經被配置\n"
+
+#: sys-utils/chcpu.c:179
+#, c-format
+msgid "CPU %d deconfigure failed (CPU is enabled)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:186
+#, c-format
+msgid "CPU %d configure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:188
+#, c-format
+msgid "CPU %d configured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:192
+#, c-format
+msgid "CPU %d deconfigure failed (%m)\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:194
+#, c-format
+msgid "CPU %d deconfigured\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:208
+#, fuzzy, c-format
+msgid "invalid CPU number in CPU list: %s"
+msgstr "無ć•çš„ĺ—數"
+
+#: sys-utils/chcpu.c:215 text-utils/col.c:121
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options]\n"
+msgstr ""
+"\n"
+"用法:%s [é¸é …]\n"
+"\n"
+
+#: sys-utils/chcpu.c:218
+msgid ""
+"\n"
+"Options:\n"
+" -h, --help print this help\n"
+" -e, --enable <cpu-list> enable cpus\n"
+" -d, --disable <cpu-list> disable cpus\n"
+" -c, --configure <cpu-list> configure cpus\n"
+" -g, --deconfigure <cpu-list> deconfigure cpus\n"
+" -p, --dispatch <mode> set dispatching mode\n"
+" -r, --rescan trigger rescan of cpus\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/chcpu.c:300
+#, fuzzy, c-format
+msgid "unsupported argument: %s"
+msgstr "%s:不ćŽçš„引數:%s\n"
+
+#: sys-utils/ctrlaltdel.c:21
+#, fuzzy, c-format
+msgid " %s <hard|soft>\n"
+msgstr "用法:ctrlaltdel hard|soft\n"
+
+#: sys-utils/ctrlaltdel.c:56
+#, fuzzy
+msgid "You must be root to set the Ctrl-Alt-Del behaviour"
+msgstr "您必é ćŻ root 才č˝č¨­ĺ®š Ctrl-Alt-Del 動作。\n"
+
+#: sys-utils/cytune.c:92
+#, fuzzy, c-format
+msgid " %s [options] <tty> [...]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: sys-utils/cytune.c:94
+#, c-format
+msgid " -s, --set-threshold <num> set interruption threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:95
+#, c-format
+msgid " -g, --get-threshold display current threshold value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:96
+#, fuzzy, c-format
+msgid " -S, --set-default-threshold <num> set default threshold value\n"
+msgstr "%s:%ld ç‚şé č¨­č‡¨ç•Śĺ€Ľä»ĄĺŹŠ %ld ç‚şé č¨­é€ľć™‚值\n"
+
+#: sys-utils/cytune.c:97
+#, c-format
+msgid " -t, --set-flush <num> set flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:98
+#, fuzzy, c-format
+msgid ""
+" -G, --get-glush display default flush timeout value\n"
+msgstr " -h, --help 這份簡單用法說ćŽ\n"
+
+#: sys-utils/cytune.c:99
+#, c-format
+msgid ""
+" -T, --set-default-flush <num> set the default flush timeout to value\n"
+msgstr ""
+
+#: sys-utils/cytune.c:100
+#, c-format
+msgid " -q, --stats display statistics about the tty\n"
+msgstr ""
+
+#: sys-utils/cytune.c:101
+#, c-format
+msgid ""
+" -i, --interval <seconds> gather statistics every <seconds> "
+"interval\n"
+msgstr ""
+
+#: sys-utils/cytune.c:132
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"ćŞ”ćˇ %s, 用於臨界值 %lu,在 fifo 中字ĺ…ćś€ĺ¤§ĺ€ĽćŻ %d,\n"
+"而轉é€é€źçŽ‡ćś€ĺ¤§ĺ€Ľ(ĺ­—ĺ…/秒)ćŻ %f\n"
+
+#: sys-utils/cytune.c:141
+#, fuzzy, c-format
+msgid ""
+"File %s, For threshold value %lu and timeout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f"
+msgstr ""
+"ćŞ”ćˇ %s, 用於臨界值 %lu ĺ’Ś 逾時值 %lu,fifo 中最大字ĺ…值為 %d,\n"
+"而轉é€é€źçŽ‡ćś€ĺ¤§ĺ€Ľ(ĺ­—ĺ…/秒)ćŻ %f\n"
+
+#: sys-utils/cytune.c:172 sys-utils/cytune.c:196 sys-utils/dmesg.c:417
+msgid "gettimeofday failed"
+msgstr "gettimeofday 失敗"
+
+#: sys-utils/cytune.c:181 sys-utils/cytune.c:204
+#, fuzzy, c-format
+msgid "cannot issue CYGETMON on %s"
+msgstr "無法發放 CYGETMON 於 %s: %s\n"
+
+#: sys-utils/cytune.c:186 sys-utils/cytune.c:209 sys-utils/cytune.c:439
+#, fuzzy, c-format
+msgid "cannot get threshold for %s"
+msgstr "無法取得臨界值用於 %s: %s\n"
+
+#: sys-utils/cytune.c:189 sys-utils/cytune.c:214 sys-utils/cytune.c:444
+#, fuzzy, c-format
+msgid "cannot get timeout for %s"
+msgstr "無法取得逾時值用於 %s: %s\n"
+
+#: sys-utils/cytune.c:247
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s:%lu 間隔值,%lu/%lu ĺ­—ĺ…值;fifo:%lu 臨界值,%lu 逾時值,%lu 最大"
+"值,%lu 當前值\n"
+
+#: sys-utils/cytune.c:253
+#, c-format
+msgid " %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr " %f é–“éš”/秒;%f č¨éŚ„,%f ç™Ľé€ (ĺ­—ĺ…/秒)\n"
+
+#: sys-utils/cytune.c:256
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s:%lu 間隔值,%lu ĺ­—ĺ…值;fifo:%lu 臨界值,%lu 逾時值,%lu 最大值,%lu 當"
+"前值\n"
+
+#: sys-utils/cytune.c:261
+#, c-format
+msgid " %f int/sec; %f rec (char/sec)\n"
+msgstr " %f é–“éš”/秒;%f č¨éŚ„ (ĺ­—ĺ…/秒)\n"
+
+#: sys-utils/cytune.c:326
+#, fuzzy
+msgid "Invalid interval value"
+msgstr "無ć•çš„間隔值:%s\n"
+
+#: sys-utils/cytune.c:328
+#, fuzzy, c-format
+msgid "Invalid interval value: %d"
+msgstr "無ć•çš„間隔值:%s\n"
+
+#: sys-utils/cytune.c:335
+#, fuzzy
+msgid "Invalid set value"
+msgstr "無ć•çš„設定值:%s\n"
+
+#: sys-utils/cytune.c:337
+#, fuzzy, c-format
+msgid "Invalid set value: %d"
+msgstr "無ć•çš„設定值:%s\n"
+
+#: sys-utils/cytune.c:344
+#, fuzzy
+msgid "Invalid default value"
+msgstr "無ć•çš„é č¨­ĺ€ĽďĽš%s\n"
+
+#: sys-utils/cytune.c:346
+#, fuzzy, c-format
+msgid "Invalid default value: %d"
+msgstr "無ć•çš„é č¨­ĺ€ĽďĽš%s\n"
+
+#: sys-utils/cytune.c:354
+#, fuzzy
+msgid "Invalid set time value"
+msgstr "無ć•çš„設定時間值:%s\n"
+
+#: sys-utils/cytune.c:356
+#, fuzzy, c-format
+msgid "Invalid set time value: %d"
+msgstr "無ć•çš„設定時間值:%s\n"
+
+#: sys-utils/cytune.c:364
+#, fuzzy
+msgid "Invalid default time value"
+msgstr "無ć•çš„é č¨­ć™‚間值:%s\n"
+
+#: sys-utils/cytune.c:366
+#, fuzzy, c-format
+msgid "Invalid default time value: %d"
+msgstr "無ć•çš„é č¨­ć™‚間值:%s\n"
+
+#: sys-utils/cytune.c:409
+#, fuzzy, c-format
+msgid "cannot set %s to threshold %d"
+msgstr "無法設定 %s 為臨界值 %d: %s\n"
+
+#: sys-utils/cytune.c:423
+#, fuzzy, c-format
+msgid "cannot set %s to time threshold %d"
+msgstr "無法設定 %s ĺ°ć™‚間臨界值 %d: %s\n"
+
+#: sys-utils/cytune.c:447
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s:%ld 為目前臨界值以及 %ld 為目前逾時值\n"
+
+#: sys-utils/cytune.c:450
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s:%ld ç‚şé č¨­č‡¨ç•Śĺ€Ľä»ĄĺŹŠ %ld ç‚şé č¨­é€ľć™‚值\n"
+
+#: sys-utils/dmesg.c:72
+#, fuzzy
+msgid "system is unusable"
+msgstr "這個ĺ†ĺ‰˛ĺŤ€ç„ˇćł•ä˝żç”¨"
+
+#: sys-utils/dmesg.c:73
+msgid "action must be taken immediately"
+msgstr ""
+
+#: sys-utils/dmesg.c:74
+msgid "critical conditions"
+msgstr ""
+
+#: sys-utils/dmesg.c:75
+#, fuzzy
+msgid "error conditions"
+msgstr "關閉 %s 時發生錯誤"
+
+#: sys-utils/dmesg.c:76
+#, fuzzy
+msgid "warning conditions"
+msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s "
+
+#: sys-utils/dmesg.c:77
+msgid "normal but significant condition"
+msgstr ""
+
+#: sys-utils/dmesg.c:78
+msgid "informational"
+msgstr ""
+
+#: sys-utils/dmesg.c:79
+msgid "debug-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:93
+#, fuzzy
+msgid "kernel messages"
+msgstr "訊ćŻ"
+
+#: sys-utils/dmesg.c:94
+msgid "random user-level messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:95
+#, fuzzy
+msgid "mail system"
+msgstr "請觀察上表,輸入該檔ćˇçł»çµ±çš„類型代碼: "
+
+#: sys-utils/dmesg.c:96
+msgid "system daemons"
+msgstr ""
+
+#: sys-utils/dmesg.c:97
+msgid "security/authorization messages"
+msgstr ""
+
+#: sys-utils/dmesg.c:98
+msgid "messages generated internally by syslogd"
+msgstr ""
+
+#: sys-utils/dmesg.c:99
+msgid "line printer subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:100
+msgid "network news subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:101
+msgid "UUCP subsystem"
+msgstr ""
+
+#: sys-utils/dmesg.c:102
+#, fuzzy
+msgid "clock daemon"
+msgstr "無法ĺ®č­·ç¨‹ĺĽŹĺŚ–"
+
+#: sys-utils/dmesg.c:103
+msgid "security/authorization messages (private)"
+msgstr ""
+
+#: sys-utils/dmesg.c:104
+#, fuzzy
+msgid "ftp daemon"
+msgstr "無法ĺ®č­·ç¨‹ĺĽŹĺŚ–"
+
+#: sys-utils/dmesg.c:186
+msgid ""
+" -C, --clear clear the kernel ring buffer\n"
+" -c, --read-clear read and clear all messages\n"
+" -D, --console-off disable printing messages to console\n"
+" -d, --show-delta show time delta between printed messages\n"
+" -e, --reltime show local time and time delta in readable "
+"format\n"
+" -E, --console-on enable printing messages to console\n"
+" -F, --file <file> use the file instead of the kernel log buffer\n"
+" -f, --facility <list> restrict output to defined facilities\n"
+" -h, --help display this help and exit\n"
+" -k, --kernel display kernel messages\n"
+" -l, --level <list> restrict output to defined levels\n"
+" -n, --console-level <level> set level of messages printed to console\n"
+" -r, --raw print the raw message buffer\n"
+" -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+" -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+" -T, --ctime show human readable timestamp (could be \n"
+" inaccurate if you have used SUSPEND/RESUME)\n"
+" -t, --notime don't print messages timestamp\n"
+" -u, --userspace display userspace messages\n"
+" -V, --version output version information and exit\n"
+" -w, --follow wait for new messages\n"
+" -x, --decode decode facility and level to readable string\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:209
+msgid ""
+"\n"
+"Supported log facilities:\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:216
+msgid ""
+"\n"
+"Supported log levels (priorities):\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:260
+#, fuzzy, c-format
+msgid "failed to parse level '%s'"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: sys-utils/dmesg.c:262
+#, fuzzy, c-format
+msgid "unknown level '%s'"
+msgstr "不ćŽç›´ć¬„:%s"
+
+#: sys-utils/dmesg.c:298
+#, fuzzy, c-format
+msgid "failed to parse facility '%s'"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: sys-utils/dmesg.c:300
+#, fuzzy, c-format
+msgid "unknown facility '%s'"
+msgstr "不ćŽć–ąĺ‘「%s」"
+
+#: sys-utils/dmesg.c:415
+#, fuzzy
+msgid "sysinfo failed"
+msgstr "fsync 失敗"
+
+#: sys-utils/dmesg.c:442
+#, fuzzy, c-format
+msgid "cannot mmap: %s"
+msgstr "無法開啟 %s"
+
+#: sys-utils/dmesg.c:564 term-utils/script.c:304 term-utils/script.c:396
+#, fuzzy
+msgid "write failed"
+msgstr "寫入失敗:%s"
+
+#: sys-utils/dmesg.c:1132
+#, fuzzy
+msgid "invalid buffer size argument"
+msgstr "無ć•çš„é¸é …"
+
+#: sys-utils/dmesg.c:1172
+msgid ""
+"--raw can't be used together with level, facility, decode, delta, ctime or "
+"notime options"
+msgstr ""
+
+#: sys-utils/dmesg.c:1176
+msgid "--notime can't be used together with --ctime or --reltime"
+msgstr ""
+
+#: sys-utils/dmesg.c:1178
+msgid "--reltime can't be used together with --ctime "
+msgstr ""
+
+#: sys-utils/dmesg.c:1192
+#, fuzzy
+msgid "read kernel buffer failed"
+msgstr "讀取 rtc 時間"
+
+#: sys-utils/dmesg.c:1205
+#, fuzzy
+msgid "unsupported command"
+msgstr "沒有命令?\n"
+
+#: sys-utils/dmesg.c:1211
+#, fuzzy
+msgid "klogctl failed"
+msgstr "msgctl 失敗"
+
+#: sys-utils/eject.c:135
+#, fuzzy, c-format
+msgid " %s [options] [<device>|<mountpoint>]\n"
+msgstr ""
+"用法:%s [é¸é …] <掛載點>\n"
+"\n"
+"é¸é …:\n"
+
+#: sys-utils/eject.c:138
+msgid ""
+" -a, --auto <on|off> turn auto-eject feature on or off\n"
+" -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+" -d, --default display default device\n"
+" -f, --floppy eject floppy\n"
+" -F, --force don't care about device type\n"
+" -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+" -m, --no-unmount do not unmount device even if it is mounted\n"
+" -M, --no-partitions-unmount do not unmount another partitions\n"
+" -n, --noop don't eject, just show device found\n"
+" -p, --proc use /proc/mounts instead of /etc/mtab\n"
+" -q, --tape eject tape\n"
+" -r, --cdrom eject CD-ROM\n"
+" -s, --scsi eject SCSI device\n"
+" -t, --trayclose close tray\n"
+" -T, --traytoggle toggle tray\n"
+" -v, --verbose enable verbose output\n"
+" -x, --cdspeed <speed> set CD-ROM max speed\n"
+" -X, --listspeed list CD-ROM available speeds\n"
+msgstr ""
+
+#: sys-utils/eject.c:162
+msgid ""
+"\n"
+"By default tries -r, -s, -f, and -q in order until success.\n"
+msgstr ""
+
+#: sys-utils/eject.c:208
+#, fuzzy
+msgid "invalid argument to --auto/-a option"
+msgstr "無ć•çš„ iflag:%s"
+
+#: sys-utils/eject.c:212
+msgid "invalid argument to --changerslot/-c option"
+msgstr ""
+
+#: sys-utils/eject.c:216
+#, fuzzy
+msgid "invalid argument to --cdspeed/-x option"
+msgstr "無ć•çš„ iflag:%s"
+
+#: sys-utils/eject.c:237
+msgid "invalid argument to --manualeject/-i option"
+msgstr ""
+
+#: sys-utils/eject.c:332
+msgid "CD-ROM auto-eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:349
+msgid "CD-ROM lock door command failed"
+msgstr ""
+
+#: sys-utils/eject.c:352
+msgid "CD-Drive may NOT be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:354
+msgid "CD-Drive may be ejected with device button"
+msgstr ""
+
+#: sys-utils/eject.c:365
+msgid "CD-ROM select disc command failed"
+msgstr ""
+
+#: sys-utils/eject.c:369
+msgid "CD-ROM load from slot command failed"
+msgstr ""
+
+#: sys-utils/eject.c:371
+msgid "IDE/ATAPI CD-ROM changer not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:389
+msgid "CD-ROM tray close command failed"
+msgstr ""
+
+#: sys-utils/eject.c:391
+msgid "CD-ROM tray close command not supported by this kernel\n"
+msgstr ""
+
+#: sys-utils/eject.c:405
+#, fuzzy
+msgid "CD-ROM eject unsupported"
+msgstr "速度 %d 不受支援"
+
+#: sys-utils/eject.c:436 sys-utils/eject.c:457 sys-utils/eject.c:1096
+msgid "CD-ROM eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:439
+msgid "no CD-ROM information available"
+msgstr ""
+
+#: sys-utils/eject.c:442
+msgid "CD-ROM drive is not ready"
+msgstr ""
+
+#: sys-utils/eject.c:482
+msgid "CD-ROM select speed command failed"
+msgstr ""
+
+#: sys-utils/eject.c:484 sys-utils/eject.c:570
+msgid "CD-ROM select speed command not supported by this kernel"
+msgstr ""
+
+#: sys-utils/eject.c:521
+#, fuzzy, c-format
+msgid "%s: failed to finding CD-ROM name"
+msgstr "%s:無法開啟"
+
+#: sys-utils/eject.c:536
+#, fuzzy, c-format
+msgid "%s: failed to read speed"
+msgstr "%s:無法開啟"
+
+#: sys-utils/eject.c:544
+#, fuzzy
+msgid "failed to read speed"
+msgstr "讀取時失敗:%s"
+
+#: sys-utils/eject.c:588
+#, fuzzy
+msgid "not an sg device, or old sg driver"
+msgstr "不ćŻĺŤ€ĺˇŠčŁťç˝®ć–檔ćˇďĽš%s"
+
+#: sys-utils/eject.c:650
+#, fuzzy, c-format
+msgid "%s: unmounting"
+msgstr "掛載失敗"
+
+#: sys-utils/eject.c:658
+#, fuzzy
+msgid "eject: cannot set user id"
+msgstr "無法設定使用者č­ĺĄč™ź"
+
+#: sys-utils/eject.c:665
+#, fuzzy, c-format
+msgid "unable to exec /bin/umount of `%s'"
+msgstr "執行 %s 時失敗"
+
+#: sys-utils/eject.c:668
+#, fuzzy
+msgid "unable to fork"
+msgstr "無法開啟 %s"
+
+#: sys-utils/eject.c:675
+#, fuzzy, c-format
+msgid "unmount of `%s' did not exit normally"
+msgstr "mount:掛載點 %s 不ĺ­ĺś¨"
+
+#: sys-utils/eject.c:678
+#, fuzzy, c-format
+msgid "unmount of `%s' failed\n"
+msgstr "%sďĽšé‡Ťć–°ĺ‘˝ĺŤ %s ç‚ş %s 時失敗:%s\n"
+
+#: sys-utils/eject.c:719
+#, fuzzy
+msgid "failed to parse mount table"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: sys-utils/eject.c:780 sys-utils/eject.c:977
+#, fuzzy, c-format
+msgid "%s: mounted on %s"
+msgstr "fsck:%s:找不ĺ°\n"
+
+#: sys-utils/eject.c:877
+#, fuzzy, c-format
+msgid "%s: is removable device"
+msgstr " 可移除的"
+
+#: sys-utils/eject.c:896
+#, c-format
+msgid "%s: connected by hotplug subsystem: %s"
+msgstr ""
+
+#: sys-utils/eject.c:917
+msgid "setting CD-ROM speed to auto"
+msgstr ""
+
+#: sys-utils/eject.c:919
+#, c-format
+msgid "setting CD-ROM speed to %ldX"
+msgstr ""
+
+#: sys-utils/eject.c:946
+#, c-format
+msgid "default device: `%s'"
+msgstr ""
+
+#: sys-utils/eject.c:952
+#, fuzzy, c-format
+msgid "using default device `%s'"
+msgstr "使用é č¨­ĺ€Ľ %u\n"
+
+#: sys-utils/eject.c:971
+#, fuzzy, c-format
+msgid "%s: unable to find device"
+msgstr "%s:無法探查裝置"
+
+#: sys-utils/eject.c:973
+#, fuzzy, c-format
+msgid "device name is `%s'"
+msgstr "ç’°č·ŻčŁťç˝®ćŻ %s\n"
+
+#: sys-utils/eject.c:979 sys-utils/umount.c:205
+#, fuzzy, c-format
+msgid "%s: not mounted"
+msgstr "fsck:%s:找不ĺ°\n"
+
+#: sys-utils/eject.c:983
+#, c-format
+msgid "%s: disc device: %s (disk device will be used for eject)"
+msgstr ""
+
+#: sys-utils/eject.c:991
+#, c-format
+msgid "%s: not found mountpoint or device with the given name"
+msgstr ""
+
+#: sys-utils/eject.c:994
+#, fuzzy, c-format
+msgid "%s: is whole-disk device"
+msgstr "%s:無法尋指ĺ°äş¤ćŹ›ć¨™ç±¤ "
+
+#: sys-utils/eject.c:998
+#, fuzzy, c-format
+msgid "%s: is not hot-pluggable device"
+msgstr "%s:不ćŻĺŤ€ĺˇŠčŁťç˝®\n"
+
+#: sys-utils/eject.c:1002
+#, fuzzy, c-format
+msgid "device is `%s'"
+msgstr "ç’°č·ŻčŁťç˝®ćŻ %s\n"
+
+#: sys-utils/eject.c:1003
+msgid "exiting due to -n/--noop option"
+msgstr ""
+
+#: sys-utils/eject.c:1017
+#, c-format
+msgid "%s: enabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1019
+#, c-format
+msgid "%s: disabling auto-eject mode"
+msgstr ""
+
+#: sys-utils/eject.c:1027
+#, c-format
+msgid "%s: closing tray"
+msgstr ""
+
+#: sys-utils/eject.c:1036
+#, c-format
+msgid "%s: toggling tray"
+msgstr ""
+
+#: sys-utils/eject.c:1045
+#, c-format
+msgid "%s: listing CD-ROM speed"
+msgstr ""
+
+#: sys-utils/eject.c:1071
+#, fuzzy, c-format
+msgid "error: %s: device in use"
+msgstr "%s:%s:裝置忙碌中"
+
+#: sys-utils/eject.c:1077
+#, c-format
+msgid "%s: selecting CD-ROM disc #%ld"
+msgstr ""
+
+#: sys-utils/eject.c:1093
+#, c-format
+msgid "%s: trying to eject using CD-ROM eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1095
+msgid "CD-ROM eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1100
+#, c-format
+msgid "%s: trying to eject using SCSI commands"
+msgstr ""
+
+#: sys-utils/eject.c:1102
+#, fuzzy
+msgid "SCSI eject succeeded"
+msgstr "%s ć功。\n"
+
+#: sys-utils/eject.c:1103
+#, fuzzy
+msgid "SCSI eject failed"
+msgstr "execv 失敗"
+
+#: sys-utils/eject.c:1107
+#, c-format
+msgid "%s: trying to eject using floppy eject command"
+msgstr ""
+
+#: sys-utils/eject.c:1109
+msgid "floppy eject command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1110
+msgid "floppy eject command failed"
+msgstr ""
+
+#: sys-utils/eject.c:1114
+#, c-format
+msgid "%s: trying to eject using tape offline command"
+msgstr ""
+
+#: sys-utils/eject.c:1116
+msgid "tape offline command succeeded"
+msgstr ""
+
+#: sys-utils/eject.c:1117
+#, fuzzy
+msgid "tape offline command failed"
+msgstr "目錄開啟時失敗\n"
+
+#: sys-utils/eject.c:1121
+#, fuzzy
+msgid "unable to eject"
+msgstr "執行 %s 時失敗"
+
+#: sys-utils/fallocate.c:60
+#, fuzzy, c-format
+msgid " %s [options] <filename>\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: sys-utils/fallocate.c:62
+#, fuzzy
+msgid ""
+" -n, --keep-size don't modify the length of the file\n"
+" -p, --punch-hole punch holes in the file\n"
+" -o, --offset <num> offset of the allocation, in bytes\n"
+" -l, --length <num> length of the allocation, in bytes\n"
+msgstr ""
+" -h, --help 這個說ćŽ\n"
+" -n, --keep-size 不修改檔ćˇçš„長度\n"
+" -o, --offset <num> 以位ĺ…組為單位的配置ĺŹç§»ĺ€Ľ\n"
+" -l, --length <num> 以位ĺ…組為單位的配置長度\n"
+
+#: sys-utils/fallocate.c:136
+msgid "no length argument specified"
+msgstr "未指定任何長度引數"
+
+#: sys-utils/fallocate.c:138
+msgid "invalid length value specified"
+msgstr "指定了無ć•çš„長度值"
+
+#: sys-utils/fallocate.c:140
+msgid "invalid offset value specified"
+msgstr "指定了無ć•çš„ĺŹç§»ĺ€Ľ"
+
+#: sys-utils/fallocate.c:142
+msgid "no filename specified."
+msgstr "未指定任何檔ĺŤă€‚"
+
+#: sys-utils/fallocate.c:147 sys-utils/fsfreeze.c:98 sys-utils/fstrim.c:131
+msgid "unexpected number of arguments"
+msgstr "未é ćśźçš„引數數量"
+
+#: sys-utils/fallocate.c:167
+msgid "keep size mode (-n option) unsupported"
+msgstr "äżťćŚĺ¤§ĺ°Źć¨ˇĺĽŹ (-n é¸é …) 未受支援"
+
+#: sys-utils/fallocate.c:168
+#, c-format
+msgid "%s: fallocate failed"
+msgstr "%s:fallocate 失敗"
+
+#: sys-utils/flock.c:51
+#, c-format
+msgid ""
+" %1$s [options] <file descriptor number>\n"
+" %1$s [options] <file> -c <command>\n"
+" %1$s [options} <directory> -c <command>\n"
+msgstr ""
+
+#: sys-utils/flock.c:56
+msgid " -s --shared get a shared lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:57
+msgid " -x --exclusive get an exclusive lock (default)\n"
+msgstr ""
+
+#: sys-utils/flock.c:58
+msgid " -u --unlock remove a lock\n"
+msgstr ""
+
+#: sys-utils/flock.c:59
+msgid " -n --nonblock fail rather than wait\n"
+msgstr ""
+
+#: sys-utils/flock.c:60
+msgid " -w --timeout <secs> wait for a limited amount of time\n"
+msgstr ""
+
+#: sys-utils/flock.c:61
+msgid ""
+" -E --conflict-exit-code <number> exit code after conflict or timeout\n"
+msgstr ""
+
+#: sys-utils/flock.c:62
+msgid ""
+" -o --close close file descriptor before running command\n"
+msgstr ""
+
+#: sys-utils/flock.c:63
+msgid ""
+" -c --command <command> run a single command string through the shell\n"
+msgstr ""
+
+#: sys-utils/flock.c:86
+#, fuzzy
+msgid "timeout cannot be zero"
+msgstr "mount:無法設定使用者č­ĺĄç·¨č™źďĽš%s"
+
+#: sys-utils/flock.c:123
+#, fuzzy, c-format
+msgid "cannot open lock file %s"
+msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#: sys-utils/flock.c:206
+#, fuzzy
+msgid "invalid exit code"
+msgstr "無ć•çš„č­ĺĄč™ź"
+
+#: sys-utils/flock.c:226
+#, fuzzy, c-format
+msgid "%s requires exactly one command argument"
+msgstr "%s:%s 需č¦ĺ‰›ĺĄ˝ä¸€ĺ€‹ćŚ‡ä»¤ĺĽ•ć•¸\n"
+
+#: sys-utils/flock.c:247
+#, fuzzy
+msgid "requires file descriptor, file or directory"
+msgstr "%s:需č¦ćŞ”ćˇćŹŹčż°ç¬¦č™źă€ćŞ”ćˇć–目錄\n"
+
+#: sys-utils/flock.c:331 sys-utils/swapon.c:291
+msgid "waitpid failed"
+msgstr "waitpid 失敗"
+
+#: sys-utils/fsfreeze.c:43 sys-utils/fstrim.c:58
+#, fuzzy, c-format
+msgid " %s [options] <mount point>\n"
+msgstr ""
+"用法:%s [é¸é …] <掛載點>\n"
+"\n"
+"é¸é …:\n"
+
+#: sys-utils/fsfreeze.c:46
+#, fuzzy
+msgid ""
+" -h, --help this help\n"
+" -f, --freeze freeze the filesystem\n"
+" -u, --unfreeze unfreeze the filesystem\n"
+msgstr ""
+" -h, --help 這個說ćŽ\n"
+" -f, --freeze 凍çµćŞ”ćˇçł»çµ±\n"
+" -u, --unfreeze 解除檔ćˇçł»çµ±ĺ‡Ťçµ\n"
+
+#: sys-utils/fsfreeze.c:50
+msgid ""
+"\n"
+"For more information see fsfreeze(8).\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ fsfreeze(8)。\n"
+
+#: sys-utils/fsfreeze.c:92
+msgid "no action specified"
+msgstr "未指定任何動作"
+
+#: sys-utils/fsfreeze.c:94
+msgid "no filename specified"
+msgstr "未指定任何檔ĺŤ"
+
+#: sys-utils/fsfreeze.c:112
+#, c-format
+msgid "%s: is not a directory"
+msgstr "%s:並非目錄"
+
+#: sys-utils/fsfreeze.c:118
+#, c-format
+msgid "%s: freeze failed"
+msgstr "%s:凍çµć™‚失敗"
+
+#: sys-utils/fsfreeze.c:123
+#, c-format
+msgid "%s: unfreeze failed"
+msgstr "%s:解除凍çµć™‚失敗"
+
+#: sys-utils/fstrim.c:60
+msgid ""
+" -o, --offset <num> offset in bytes to discard from\n"
+" -l, --length <num> length of bytes to discard from the offset\n"
+" -m, --minimum <num> minimum extent length to discard\n"
+" -v, --verbose print number of discarded bytes\n"
+msgstr ""
+
+#: sys-utils/fstrim.c:106 text-utils/hexsyntax.c:86
+#, fuzzy
+msgid "failed to parse length"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: sys-utils/fstrim.c:110 sys-utils/losetup.c:297 text-utils/hexsyntax.c:93
+#, fuzzy
+msgid "failed to parse offset"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: sys-utils/fstrim.c:114
+#, fuzzy
+msgid "failed to parse minimum extent length"
+msgstr "č®€ĺŹ–ć™‚ĺşŹćŞ”ćˇ %s 時失敗"
+
+#: sys-utils/fstrim.c:126
+#, fuzzy
+msgid "no mountpoint specified."
+msgstr "未指定任何動作"
+
+#: sys-utils/fstrim.c:138 sys-utils/mountpoint.c:196
+#, fuzzy, c-format
+msgid "%s: not a directory"
+msgstr "%s:並非目錄"
+
+#: sys-utils/fstrim.c:145
+#, fuzzy, c-format
+msgid "%s: FITRIM ioctl failed"
+msgstr "%s:寫入失敗"
+
+#. TRANSLATORS: The standard value here is a very large number.
+#: sys-utils/fstrim.c:149
+#, c-format
+msgid "%s: %<PRIu64> bytes were trimmed\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:155 sys-utils/hwclock.c:157
+#, fuzzy, c-format
+msgid "cannot write %s"
+msgstr "無法開啟 %s"
+
+#: sys-utils/hwclock.c:226
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "ĺ‡č¨­çˇ¬é«”時é被保ćŚĺś¨ %s 時間。\n"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:317
+msgid "UTC"
+msgstr "UTC"
+
+#: sys-utils/hwclock.c:227 sys-utils/hwclock.c:316
+msgid "local"
+msgstr "本地"
+
+#: sys-utils/hwclock.c:301
+#, fuzzy
+msgid ""
+"Warning: unrecognized third line in adjtime file\n"
+"(Expected: `UTC' or `LOCAL' or nothing.)"
+msgstr "%sďĽšč­¦ĺ‘ŠďĽšç„ˇćł•čľ¨č­ adjtime 檔ćˇä¸­çš„第三ĺ—\n"
+
+#: sys-utils/hwclock.c:310
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "最後一次ĺŹĺ·®čŞżć•´ĺ·˛ć–Ľ 1969 年之後 %ld 秒完ć\n"
+
+#: sys-utils/hwclock.c:312
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "最後一次校測已於 1969 年之後 %ld 秒完ć\n"
+
+#: sys-utils/hwclock.c:314
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "硬體時é位於 %s 時間\n"
+
+#: sys-utils/hwclock.c:341
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "等候時é週期…\n"
+
+#: sys-utils/hwclock.c:347
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...ĺŚć­ĄĺŚ–失敗\n"
+
+#: sys-utils/hwclock.c:349
+#, c-format
+msgid "...got clock tick\n"
+msgstr "…獲得時é週期\n"
+
+#: sys-utils/hwclock.c:405
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "硬體時é的無ć•ĺ€ĽďĽš%4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: sys-utils/hwclock.c:414
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "硬體時é時間:%4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld 秒自 1969 ĺą´čµ·ç®—\n"
+
+#: sys-utils/hwclock.c:448
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "從硬體時é讀取時間:%4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: sys-utils/hwclock.c:476
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "設定硬體時éç‚ş %.2d:%.2d:%.2d = %ld 秒自 1969 ĺą´čµ·ç®—\n"
+
+#: sys-utils/hwclock.c:482
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "時é未變更 - 只ĺšç‚şć¸¬č©¦ă€‚\n"
+
+#: sys-utils/hwclock.c:540
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+"ĺľžĺŹč€ć™‚é–“čµ·ç®—ĺ·˛ç¶“éŽ %.6f 秒。\n"
+"多延é˛ä¸€é»žä»Ąé”ĺ°ć–°çš„時間。\n"
+
+#: sys-utils/hwclock.c:576
+#, fuzzy
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095)."
+msgstr ""
+"硬體時éćš«ĺ­ĺ™¨ć‰€ĺŚ…ĺ«çš„值,若非ćŻç„ˇć•çš„ (例如ćźćśç¬¬ 50 ć—Ą) ĺ°±ćŻä˝Ťć–Ľć‘們可以處"
+"ç†çš„範圍之外 (例如 2095 ĺą´)。\n"
+
+#: sys-utils/hwclock.c:586
+#, c-format
+msgid "%s %.6f seconds\n"
+msgstr "%s %.6f 秒\n"
+
+#: sys-utils/hwclock.c:617
+#, fuzzy
+msgid "No --date option specified."
+msgstr "未指定 --date é¸é …。\n"
+
+#: sys-utils/hwclock.c:623
+#, fuzzy
+msgid "--date argument too long"
+msgstr "--date 引數太長\n"
+
+#: sys-utils/hwclock.c:630
+#, fuzzy
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks."
+msgstr ""
+"--date é¸é …的值並非有ć•ć—Ąćśźă€‚\n"
+"尤其ćŻĺ®ĺ«ćś‰ĺĽ•č™źă€‚\n"
+
+#: sys-utils/hwclock.c:638
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "執行日期命令:%s\n"
+
+#: sys-utils/hwclock.c:642
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "無法在 /bin/sh 命令殼中é‹čˇŚă€Śdate」程式。popen() 失敗"
+
+#: sys-utils/hwclock.c:650
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "日期命令的回應 = %s\n"
+
+#: sys-utils/hwclock.c:652
+#, fuzzy, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s"
+msgstr ""
+"ç”± %s 所執行的日期命令回傳了未é ćśźçš„çµćžśă€‚\n"
+"命令ćŻďĽš\n"
+" %s\n"
+"回應ćŻďĽš\n"
+" %s\n"
+
+#: sys-utils/hwclock.c:663
+#, c-format
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+" %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"ç”± %s 所執行的日期命令回傳了一些非整數的東西,而非é ćśźĺ·±č˝‰ćŹ›çš„時間值。\n"
+"命令ćŻďĽš\n"
+" %s\n"
+"回應ćŻďĽš\n"
+"%s\n"
+
+#: sys-utils/hwclock.c:675
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "日期字串 %s 表示自 1969 ĺą´ä»Ąäľ†ĺ·±éŽ %ld 秒。\n"
+
+#: sys-utils/hwclock.c:707
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it."
+msgstr "硬體時é不具有ć•ć™‚間,因而ć‘們無法依其設定系統時間。\n"
+
+#: sys-utils/hwclock.c:729 sys-utils/hwclock.c:810
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "呼叫 settimeofday:\n"
+
+#: sys-utils/hwclock.c:730 sys-utils/hwclock.c:812
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: sys-utils/hwclock.c:732 sys-utils/hwclock.c:814
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: sys-utils/hwclock.c:736 sys-utils/hwclock.c:818
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "未設定系統時é,因為在測試模式中執行。\n"
+
+#: sys-utils/hwclock.c:745 sys-utils/hwclock.c:828
+#, fuzzy
+msgid "Must be superuser to set system clock."
+msgstr "ĺż…é ćŻçł»çµ±ç®ˇç†č€…才č˝č¨­ĺ®šçł»çµ±ć™‚é。\n"
+
+#: sys-utils/hwclock.c:748 sys-utils/hwclock.c:831
+msgid "settimeofday() failed"
+msgstr "settimeofday() 失敗"
+
+#: sys-utils/hwclock.c:785
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "目前的系統時間:%ld = %s\n"
+
+#: sys-utils/hwclock.c:811
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC:%s\n"
+
+#: sys-utils/hwclock.c:860
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr "無法調整ĺŹĺ·®äż‚數,因為之前的硬體時é包ĺ«äş†ç„ˇç”¨čł‡ć–™ă€‚\n"
+
+#: sys-utils/hwclock.c:865
+#, c-format
+msgid ""
+"Not adjusting drift factor because last calibration time is zero,\n"
+"so history is bad and calibration startover is necessary.\n"
+msgstr ""
+"無法調整ĺŹĺ·®äż‚數,因為最後一次校測時間為零,\n"
+"因而不當的歷史č¨éŚ„使得啟始校測為必č¦çš„。\n"
+
+#: sys-utils/hwclock.c:871
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr "無法調整ĺŹĺ·®äż‚數,因為ĺ®ĺľžćś€ĺľŚä¸€ć¬ˇć ˇć¸¬čµ·ĺ·˛ç¶“ć…˘éŽć–Ľä¸€ĺ¤©ă€‚\n"
+
+#: sys-utils/hwclock.c:919
+#, c-format
+msgid ""
+"Clock drifted %.1f seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"時éĺŹĺ·®ç‚ş %.1f 秒發生於éŽĺŽ» %d 秒內,而不管 %f 秒/天的ĺŹĺ·®äż‚數。\n"
+"以 %f 秒/天來調整ĺŹĺ·®äż‚數\n"
+
+#: sys-utils/hwclock.c:965
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "從最後一次調整後經éŽçš„時間為 %d 秒\n"
+
+#: sys-utils/hwclock.c:967
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "需č¦ćŹ’ĺ…Ą %d 秒並回溯ĺŹč€ %.6f 秒之前的時間\n"
+
+#: sys-utils/hwclock.c:997
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "無法更新 adjtime 檔ćˇďĽŚĺ› ç‚şč™•ć–Ľć¸¬č©¦ć¨ˇĺĽŹă€‚\n"
+
+#: sys-utils/hwclock.c:998
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"ĺ°‡ćśĺŻ«ĺ…Ąä¸‹ĺ—čł‡ć–™ĺ° %s:\n"
+"%s"
+
+#: sys-utils/hwclock.c:1007
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr "無法以其中的時é調整ĺŹć•¸ (%s) 開啟檔ćˇç”¨ć–ĽĺŻ«ĺ…Ą"
+
+#: sys-utils/hwclock.c:1013 sys-utils/hwclock.c:1020
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr "無法以其中的時é調整ĺŹć•¸ (%s) 更新檔ćˇ"
+
+#: sys-utils/hwclock.c:1028
+#, fuzzy
+msgid "Drift adjustment parameters not updated."
+msgstr "ĺŹĺ·®čŞżć•´ĺŹć•¸ćśŞć›´ć–°ă€‚\n"
+
+#: sys-utils/hwclock.c:1067
+#, fuzzy
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it."
+msgstr "硬體時é不包ĺ«ćś‰ć•ć™‚間,因而ć‘們無法調整ĺ®ă€‚\n"
+
+#: sys-utils/hwclock.c:1076
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr "無法設定時é因為最後一次調整時間為零,因而歷史č¨éŚ„ćŻä¸Ťç•¶çš„。"
+
+#: sys-utils/hwclock.c:1098
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr "所需的調整少於一秒é,因而無法設定時é。\n"
+
+#: sys-utils/hwclock.c:1123
+#, c-format
+msgid "Using %s.\n"
+msgstr "正在使用 %s。\n"
+
+#: sys-utils/hwclock.c:1125
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "找不ĺ°ĺŹŻç”¨çš„時é介面。\n"
+
+#: sys-utils/hwclock.c:1254 sys-utils/hwclock.c:1260
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "無法設定系統時é。\n"
+
+#: sys-utils/hwclock.c:1273
+#, c-format
+msgid ""
+"At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"
+msgstr "1969 年之後 %ld 秒, RTC é č¨ćśč®€ĺŹ– 1969 之後 %ld 秒。\n"
+
+#: sys-utils/hwclock.c:1302
+#, fuzzy
+msgid ""
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now). No action taken."
+msgstr ""
+"只有在 Alpha 機器的內核保留時期值以用於硬體時é。\n"
+"此一 hwclock 的複本ćŻç‚şäş† Alpha 之外的機器所組建\n"
+"(因而推測目前無法於 Alpha 機器中執行)。未採行任何動作。\n"
+
+#: sys-utils/hwclock.c:1319
+#, fuzzy
+msgid "Unable to get the epoch value from the kernel."
+msgstr "無法從內核取得時期值。\n"
+
+#: sys-utils/hwclock.c:1321
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "內核ĺ‡č¨­ć™‚期值為 %lu\n"
+
+#: sys-utils/hwclock.c:1326
+#, fuzzy
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it."
+msgstr "č¦č¨­ĺ®šć™‚期值,您必é ä˝żç”¨ă€Śepoch」é¸é …以告訴ĺ®č¦č¨­ĺ®šç‚şä˝•ĺ€Ľă€‚\n"
+
+#: sys-utils/hwclock.c:1330
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "不將時期設定為 %d - 只é™ć–Ľć¸¬č©¦ă€‚\n"
+
+#: sys-utils/hwclock.c:1334
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "無法在內核中設定時期值。\n"
+
+#: sys-utils/hwclock.c:1363
+msgid " hwclock [function] [option...]\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1365
+#, fuzzy
+msgid ""
+"\n"
+"Functions:\n"
+msgstr ""
+"\n"
+"é¸é …:\n"
+
+#: sys-utils/hwclock.c:1366
+msgid ""
+" -h, --help show this help text and exit\n"
+" -r, --show read hardware clock and print result\n"
+" --set set the RTC to the time given with --date\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1369
+msgid ""
+" -s, --hctosys set the system time from the hardware clock\n"
+" -w, --systohc set the hardware clock from the current system time\n"
+" --systz set the system time based on the current timezone\n"
+" --adjust adjust the RTC to account for systematic drift since\n"
+" the clock was last set or adjusted\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1375
+msgid ""
+" --getepoch print out the kernel's hardware clock epoch value\n"
+" --setepoch set the kernel's hardware clock epoch value to the \n"
+" value given with --epoch\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1379
+msgid ""
+" --predict predict RTC reading at time given with --date\n"
+" -V, --version display version information and exit\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1383
+msgid ""
+" -u, --utc the hardware clock is kept in UTC\n"
+" --localtime the hardware clock is kept in local time\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1386
+msgid " -f, --rtc <file> special /dev/... file to use instead of default\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1389
+#, c-format
+msgid ""
+" --directisa access the ISA bus directly instead of %s\n"
+" --badyear ignore RTC's year because the BIOS is broken\n"
+" --date <time> specifies the time to which to set the hardware clock\n"
+" --epoch <year> specifies the year which is the beginning of the\n"
+" hardware clock's epoch value\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1395
+#, c-format
+msgid ""
+" --noadjfile do not access %s; this requires the use of\n"
+" either --utc or --localtime\n"
+" --adjfile <file> specifies the path to the adjust file;\n"
+" the default is %s\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1399
+msgid ""
+" --test do not update anything, just show what would happen\n"
+" -D, --debug debugging mode\n"
+"\n"
+msgstr ""
+
+#: sys-utils/hwclock.c:1402
+#, fuzzy
+msgid ""
+" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+" tell hwclock the type of Alpha you have (see hwclock(8))\n"
+"\n"
+msgstr ""
+" -J|--jensen,-A|--arc,-S|--srm,-F|--funky-toy\n"
+" 告訴 hwclock 您所具有的 alpha 類型 (ĺŹçś‹ hwclock (8))\n"
+
+#: sys-utils/hwclock.c:1524
+#, fuzzy
+msgid "Unable to connect to audit system"
+msgstr "%s:無法č‡ç¨˝ć ¸çł»çµ±é€ŁćŽĄ\n"
+
+#: sys-utils/hwclock.c:1619
+#, fuzzy
+msgid "invalid epoch argument"
+msgstr "無ć•çš„é¸é …"
+
+#: sys-utils/hwclock.c:1658
+#, c-format
+msgid "%s takes no non-option arguments. You supplied %d.\n"
+msgstr "%s 無需非é¸é …引數。 您卻已給定 %d。\n"
+
+#: sys-utils/hwclock.c:1667
+#, fuzzy
+msgid "With --noadjfile, you must specify either --utc or --localtime"
+msgstr "%s:配ĺ --noadjfile 使用,您必é ćŚ‡ĺ®š --utc ć– --localtime 兩者之一\n"
+
+#: sys-utils/hwclock.c:1680
+#, fuzzy
+msgid "No usable set-to time. Cannot set clock."
+msgstr "無可用的 set-to 時間。 無法設定時é。\n"
+
+#: sys-utils/hwclock.c:1695
+#, fuzzy
+msgid "Sorry, only the superuser can change the Hardware Clock."
+msgstr "抱歉,只有系統管ç†č€…可以變更硬體時é。\n"
+
+#: sys-utils/hwclock.c:1699
+#, fuzzy
+msgid "Sorry, only the superuser can change the System Clock."
+msgstr "抱歉,只有系統管ç†č€…可以變更系統時é。\n"
+
+#: sys-utils/hwclock.c:1703
+#, fuzzy
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the kernel."
+msgstr "抱歉,只有系統管ç†č€…可以變更內核中的硬體時é時期。\n"
+
+#: sys-utils/hwclock.c:1726
+#, fuzzy
+msgid "Cannot access the Hardware Clock via any known method."
+msgstr "無法透éŽä»»ä˝•ĺ·˛çźĄć–ąćł•ĺŽ»ĺ­ĺŹ–硬體時é。\n"
+
+#: sys-utils/hwclock.c:1729
+#, fuzzy
+msgid ""
+"Use the --debug option to see the details of our search for an access method."
+msgstr "使用 --debug é¸é …以ĺŹçś‹ć‘們ćśĺ°‹ĺ­ĺŹ–方法的細節。\n"
+
+#: sys-utils/hwclock-cmos.c:217
+#, c-format
+msgid "booted from MILO\n"
+msgstr "ĺľž MILO é–‹ć©ź\n"
+
+#: sys-utils/hwclock-cmos.c:229
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD 時é\n"
+
+#: sys-utils/hwclock-cmos.c:248
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "時éé€šč¨Šĺź čŞżć•´ĺ° 0x%x\n"
+
+#: sys-utils/hwclock-cmos.c:264
+#, c-format
+msgid "funky TOY!\n"
+msgstr "畏縮的玩具ďĽ\n"
+
+#: sys-utils/hwclock-cmos.c:292
+#, fuzzy, c-format
+msgid "atomic %s failed for 1000 iterations!"
+msgstr "%sďĽšĺźşĺ… %s ć–Ľ 1000 次反覆é‹ç®—時失敗ďĽ"
+
+#: sys-utils/hwclock-cmos.c:319
+#, fuzzy, c-format
+msgid "cmos_read(): write to control address %X failed: %m\n"
+msgstr "cmos_read():寫入控ĺ¶ä˝Ťĺť€ %X 失敗:%s\n"
+
+#: sys-utils/hwclock-cmos.c:324
+#, fuzzy, c-format
+msgid "cmos_read(): read data address %X failed: %m\n"
+msgstr "cmos_read():讀取資料位址 %X 失敗:%s\n"
+
+#: sys-utils/hwclock-cmos.c:362
+#, fuzzy, c-format
+msgid "cmos_write(): write to control address %X failed: %m\n"
+msgstr "cmos_write():寫入控ĺ¶ä˝Ťĺť€ %X 失敗:%s\n"
+
+#: sys-utils/hwclock-cmos.c:368
+#, fuzzy, c-format
+msgid "cmos_write(): write to data address %X failed: %m\n"
+msgstr "cmos_write():寫入資料位址 %X 失敗:%s\n"
+
+#: sys-utils/hwclock-cmos.c:644
+#, fuzzy
+msgid "I failed to get permission because I didn't try."
+msgstr "ĺ› ç‚şć‘並未ĺ—試而無法取得權é™ă€‚\n"
+
+#: sys-utils/hwclock-cmos.c:647
+#, fuzzy
+msgid "unable to get I/O port access: the iopl(3) call failed."
+msgstr "%s 無法ĺ­ĺŹ– I/O 連接埠:iopl(3) 呼叫失敗。\n"
+
+#: sys-utils/hwclock-cmos.c:650
+msgid "Probably you need root privileges.\n"
+msgstr "您大概需č¦çł»çµ±ç®ˇç†č€…權é™ă€‚\n"
+
+#: sys-utils/hwclock-kd.c:49
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "循環等待自 KDGHWCLK 變更起的時間\n"
+
+#: sys-utils/hwclock-kd.c:52
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl 讀取時間失敗"
+
+#: sys-utils/hwclock-kd.c:74
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl 讀取時間於循環中失敗"
+
+#: sys-utils/hwclock-kd.c:81 sys-utils/hwclock-rtc.c:236
+#, fuzzy
+msgid "Timed out waiting for time change."
+msgstr "等候時間變更已逾時。\n"
+
+#: sys-utils/hwclock-kd.c:100
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() 從 %s 讀取時間失敗"
+
+#: sys-utils/hwclock-kd.c:136
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK 失敗"
+
+#: sys-utils/hwclock-kd.c:172
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "無法開啟 /dev/tty1 ć– /dev/vc/1"
+
+#: sys-utils/hwclock-kd.c:176
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl 失敗"
+
+#: sys-utils/hwclock-rtc.c:195
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to read the time failed"
+msgstr "%s 的 ioctl() 讀取時間失敗。\n"
+
+#: sys-utils/hwclock-rtc.c:217
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "循環等候自 %s 變更起的時間\n"
+
+#: sys-utils/hwclock-rtc.c:280
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s 沒有插斷函式。"
+
+#: sys-utils/hwclock-rtc.c:292
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "%s çš„ read() 等候時é週期失敗"
+
+#: sys-utils/hwclock-rtc.c:317
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "%s çš„ select() 等候時é週期失敗"
+
+#: sys-utils/hwclock-rtc.c:321
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out"
+msgstr "%s çš„ select() 等候時é週期已逾時\n"
+
+#: sys-utils/hwclock-rtc.c:331
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "%s 的 ioctl() 關閉更新插斷失敗"
+
+#: sys-utils/hwclock-rtc.c:335
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "%s 的 ioctl() 打開更新插斷意外地失敗"
+
+#: sys-utils/hwclock-rtc.c:389
+#, fuzzy, c-format
+msgid "ioctl(%s) to %s to set the time failed."
+msgstr "%s 的 ioctl() 設定時間失敗。\n"
+
+#: sys-utils/hwclock-rtc.c:395
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) 原本ć功。\n"
+
+#: sys-utils/hwclock-rtc.c:436 sys-utils/hwclock-rtc.c:483
+#, fuzzy, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s. This file does not exist on "
+"this system."
+msgstr ""
+"č¦ć“ŤćŽ§ĺ…§ć ¸ä¸­çš„時期值,ć‘們必é é€ŹéŽčŁťç˝®ç‰ąĺ®šćŞ”ćˇ %s 來ĺ­ĺŹ– Linux 'rtc' 裝置驅動"
+"程式。這個檔ćˇä¸Ťĺ­ĺś¨ć–Ľć­¤çł»çµ±ă€‚\n"
+
+#: sys-utils/hwclock-rtc.c:448
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "%s 的 ioctl(RTC_EPOCH_READ) 失敗"
+
+#: sys-utils/hwclock-rtc.c:454
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "ć‘們已從具備 RTC_EPOCH_READ ioctl çš„ %2$s 讀取了時期 %1$ld。\n"
+
+#: sys-utils/hwclock-rtc.c:474
+#, fuzzy, c-format
+msgid "The epoch value may not be less than 1900. You requested %ld"
+msgstr "epoch 值不可以少於 1900。您č¦ć±‚çš„ćŻ %ld\n"
+
+#: sys-utils/hwclock-rtc.c:493
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "設定 epoch ĺ° %ld 以及 RTC_EPOCH_SET ioctl ĺ° %s。\n"
+
+#: sys-utils/hwclock-rtc.c:499
+#, fuzzy, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl."
+msgstr "用於 %s 的內核裝置驅動程式沒有 RTC_EPOCH_SET ioctl。\n"
+
+#: sys-utils/hwclock-rtc.c:503
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) ĺ° %s 時失敗"
+
+#: sys-utils/ipcmk.c:70
+msgid " -M, --shmem <size> create shared memory segment of size <size>\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:71
+msgid ""
+" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:72
+#, fuzzy
+msgid " -Q, --queue create message queue\n"
+msgstr " -Q, --quiet-output 沒有一č¬çš„輸出\n"
+
+#: sys-utils/ipcmk.c:73
+msgid ""
+" -p, --mode <mode> permission for the resource (default is 0644)\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:107 sys-utils/losetup.c:317
+#, fuzzy
+msgid "failed to parse size"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: sys-utils/ipcmk.c:114
+#, fuzzy
+msgid "failed to parse elements"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: sys-utils/ipcmk.c:138
+msgid "create share memory failed"
+msgstr "建立共享č¨ć†¶é«”時失敗"
+
+#: sys-utils/ipcmk.c:140
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "共用č¨ć†¶é«”č­ĺĄč™źďĽš%d\n"
+
+#: sys-utils/ipcmk.c:146
+msgid "create message queue failed"
+msgstr "建立訊ćŻä˝‡ĺ—時失敗"
+
+#: sys-utils/ipcmk.c:148
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "訊ćŻä˝‡ĺ—č­ĺĄč™źďĽš%d\n"
+
+#: sys-utils/ipcmk.c:154
+msgid "create semaphore failed"
+msgstr "建立號誌時失敗"
+
+#: sys-utils/ipcmk.c:156
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "號誌č­ĺĄč™źďĽš%d\n"
+
+#: sys-utils/ipcrm.c:53
+msgid " -m, --shmem-id <id> remove shared memory segment by shmid\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:54
+msgid " -M, --shmem-key <key> remove shared memory segment by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:55
+msgid " -q, --queue-id <id> remove message queue by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:56
+msgid " -Q, --queue-key <key> remove message queue by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:57
+msgid " -s, --semaphore-id <id> remove semaphore by id\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:58
+msgid " -S, --semaphore-key <key> remove semaphore by key\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:59
+msgid " -a, --all[=<shm|msg|sem>] remove all\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:60
+#, fuzzy
+msgid " -v, --verbose explain what is being done\n"
+msgstr " -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+
+#: sys-utils/ipcrm.c:80
+#, fuzzy, c-format
+msgid "removing shared memory segment id `%d'\n"
+msgstr ""
+"\n"
+"共用č¨ć†¶é«”資料段 shmid = %d\n"
+
+#: sys-utils/ipcrm.c:85
+#, fuzzy, c-format
+msgid "removing message queue id `%d'\n"
+msgstr "訊ćŻä˝‡ĺ—č­ĺĄč™źďĽš%d\n"
+
+#: sys-utils/ipcrm.c:90
+#, fuzzy, c-format
+msgid "removing semaphore id `%d'\n"
+msgstr "號誌č­ĺĄč™źďĽš%d\n"
+
+#: sys-utils/ipcrm.c:102 sys-utils/ipcrm.c:216
+msgid "permission denied for key"
+msgstr "權é™č˘«ć‹’用於鍵值"
+
+#: sys-utils/ipcrm.c:102
+msgid "permission denied for id"
+msgstr "權é™č˘«ć‹’用於č­ĺĄč™ź"
+
+#: sys-utils/ipcrm.c:105 sys-utils/ipcrm.c:222
+msgid "invalid key"
+msgstr "無ć•çš„鍵值"
+
+#: sys-utils/ipcrm.c:105
+msgid "invalid id"
+msgstr "無ć•çš„č­ĺĄč™ź"
+
+#: sys-utils/ipcrm.c:108 sys-utils/ipcrm.c:219
+msgid "already removed key"
+msgstr "已經移除的鍵值"
+
+#: sys-utils/ipcrm.c:108
+msgid "already removed id"
+msgstr "已經移除的č­ĺĄč™ź"
+
+#: sys-utils/ipcrm.c:111 sys-utils/ipcrm.c:225
+#, fuzzy
+msgid "key failed"
+msgstr "ćśĺ°‹ĺ¤±ć•—"
+
+#: sys-utils/ipcrm.c:111
+#, fuzzy
+msgid "id failed"
+msgstr "setuid() 失敗"
+
+#: sys-utils/ipcrm.c:128
+#, fuzzy, c-format
+msgid "invalid id: %s"
+msgstr "無ć•çš„č­ĺĄč™źďĽš%s\n"
+
+#: sys-utils/ipcrm.c:154 term-utils/agetty.c:685 term-utils/agetty.c:694
+#, fuzzy
+msgid "not enough arguments"
+msgstr "引數不足"
+
+#: sys-utils/ipcrm.c:161
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "資ćşĺ·˛ĺŞé™¤\n"
+
+#: sys-utils/ipcrm.c:194
+#, fuzzy, c-format
+msgid "illegal key (%s)"
+msgstr "%s:不ĺ法的鍵值 (%s)\n"
+
+#: sys-utils/ipcrm.c:252
+#, fuzzy
+msgid "kernel not configured for shared memory"
+msgstr "內核未組配支援共用č¨ć†¶é«”\n"
+
+#: sys-utils/ipcrm.c:265
+#, fuzzy
+msgid "kernel not configured for semaphores"
+msgstr "內核未組配用於號誌\n"
+
+#: sys-utils/ipcrm.c:279
+#, fuzzy
+msgid "kernel not configured for message queues"
+msgstr "內核未組配用於訊ćŻä˝‡ĺ—\n"
+
+#: sys-utils/ipcrm.c:381 sys-utils/ipcrm.c:405
+#, fuzzy, c-format
+msgid "unknown argument: %s"
+msgstr "%s:不ćŽçš„引數:%s\n"
+
+#: sys-utils/ipcs.c:122
+#, fuzzy
+msgid " -i, --id <id> print details on resource identified by id\n"
+msgstr ""
+" -h 顯示這個說ćŽ\n"
+" -i id 印出由 id 標č­ĺ‡şçš„資ćşç´°çŻ€\n"
+"\n"
+
+#: sys-utils/ipcs.c:126
+#, fuzzy
+msgid "Resource options:\n"
+msgstr "危險é¸é …:"
+
+#: sys-utils/ipcs.c:127
+msgid " -m, --shmems shared memory segments\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+msgid " -q, --queues message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:129
+msgid " -s, --semaphores semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+msgid " -a, --all all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+msgid "Output format:\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+msgid " -t, --time show attach, detach and change times\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+msgid " -p, --pid show creator and last operations PIDs\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:135
+msgid " -c, --creator show creator and owner\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:136
+msgid " -l, --limits show resource limits\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:137
+msgid " -u, --summary show status summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:278
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "內核未組配支援共用č¨ć†¶é«”\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ 共用č¨ć†¶é«”é™ĺş¦ --------\n"
+
+#: sys-utils/ipcs.c:291
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "最大資料段數量 = %lu\n"
+
+#: sys-utils/ipcs.c:293
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "最大資料段大小 (ĺŤä˝Ťĺ…組) = %lu\n"
+
+#: sys-utils/ipcs.c:295
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "最大共用č¨ć†¶é«” (ĺŤä˝Ťĺ…組) = %llu\n"
+
+#: sys-utils/ipcs.c:297
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "最小資料段大小 (位ĺ…組) = %lu\n"
+
+#: sys-utils/ipcs.c:302
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ 共用č¨ć†¶é«”狀態 --------\n"
+
+#: sys-utils/ipcs.c:314
+#, c-format
+msgid ""
+"segments allocated %d\n"
+"pages allocated %ld\n"
+"pages resident %ld\n"
+"pages swapped %ld\n"
+"Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:327
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ 共用č¨ć†¶é«”資料段建立者/ć“有者 --------\n"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:335 sys-utils/ipcs.c:342
+#: sys-utils/ipcs.c:348
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:348 sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:545 sys-utils/ipcs.c:563
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:329 sys-utils/ipcs.c:448 sys-utils/ipcs.c:545
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:333
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ 共用č¨ć†¶é«”附加/卸離/變更 次數 --------\n"
+
+#: sys-utils/ipcs.c:335 sys-utils/ipcs.c:342 sys-utils/ipcs.c:348
+#: sys-utils/ipcs.c:454 sys-utils/ipcs.c:463 sys-utils/ipcs.c:551
+#: sys-utils/ipcs.c:557 sys-utils/ipcs.c:563
+msgid "owner"
+msgstr "ć“有者"
+
+#: sys-utils/ipcs.c:335
+msgid "attached"
+msgstr "已附加"
+
+#: sys-utils/ipcs.c:335
+msgid "detached"
+msgstr "已卸離"
+
+#: sys-utils/ipcs.c:336
+msgid "changed"
+msgstr "已變更"
+
+#: sys-utils/ipcs.c:340
+#, c-format
+msgid "------ Shared Memory Creator/Last-op PIDs --------\n"
+msgstr "------ 共用č¨ć†¶é«”建立者/最後操作 PIDs --------\n"
+
+#: sys-utils/ipcs.c:342
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:342
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:346
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ 共用č¨ć†¶é«”資料段 --------\n"
+
+#: sys-utils/ipcs.c:348 sys-utils/ipcs.c:463 sys-utils/ipcs.c:563
+msgid "key"
+msgstr "鍵值"
+
+#: sys-utils/ipcs.c:348 sys-utils/prlimit.c:70 sys-utils/prlimit.c:73
+#: sys-utils/prlimit.c:76 sys-utils/prlimit.c:77 sys-utils/prlimit.c:85
+msgid "bytes"
+msgstr "位ĺ…組"
+
+#: sys-utils/ipcs.c:349
+msgid "nattch"
+msgstr "使用數"
+
+#: sys-utils/ipcs.c:349
+msgid "status"
+msgstr "狀態"
+
+#: sys-utils/ipcs.c:370 sys-utils/ipcs.c:372 sys-utils/ipcs.c:374
+#: sys-utils/ipcs.c:484 sys-utils/ipcs.c:486 sys-utils/ipcs.c:584
+#: sys-utils/ipcs.c:586 sys-utils/ipcs.c:588 sys-utils/ipcs.c:638
+#: sys-utils/ipcs.c:640 sys-utils/ipcs.c:667 sys-utils/ipcs.c:669
+#: sys-utils/ipcs.c:671 sys-utils/ipcs.c:694
+msgid "Not set"
+msgstr "未設定"
+
+#: sys-utils/ipcs.c:402
+msgid "dest"
+msgstr "目標"
+
+#: sys-utils/ipcs.c:403
+msgid "locked"
+msgstr "已鎖定"
+
+#: sys-utils/ipcs.c:422
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "內核未組配用於號誌\n"
+
+#: sys-utils/ipcs.c:428
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ 號誌é™ĺş¦ --------\n"
+
+#: sys-utils/ipcs.c:432
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "最大陣ĺ—數量 = %d\n"
+
+#: sys-utils/ipcs.c:433
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "ĺ„陣ĺ—最大號誌 = %d\n"
+
+#: sys-utils/ipcs.c:434
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "系統整體最大號誌 = %d\n"
+
+#: sys-utils/ipcs.c:435
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "ĺ„ semop 呼叫最大 ops = %d\n"
+
+#: sys-utils/ipcs.c:436
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "號誌最大值 = %d\n"
+
+#: sys-utils/ipcs.c:440
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ 號誌狀態 --------\n"
+
+#: sys-utils/ipcs.c:441
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "ĺ·˛ç”¨é™Łĺ— = %d\n"
+
+#: sys-utils/ipcs.c:442
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "已配置號誌 = %d\n"
+
+#: sys-utils/ipcs.c:446
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ 號誌陣ĺ—建立者/ć“有者 --------\n"
+
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:454 sys-utils/ipcs.c:463
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:452
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ 號誌作業/變更 次數 --------\n"
+
+#: sys-utils/ipcs.c:454
+msgid "last-op"
+msgstr "最後操作者"
+
+#: sys-utils/ipcs.c:454
+msgid "last-changed"
+msgstr "最後變更者"
+
+#: sys-utils/ipcs.c:461
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ č™źčŞŚé™Łĺ— --------\n"
+
+#: sys-utils/ipcs.c:463
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:521
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "內核未組配用於訊ćŻä˝‡ĺ—\n"
+
+#: sys-utils/ipcs.c:529
+#, c-format
+msgid "------ Messages Limits --------\n"
+msgstr "------ 訊ćŻé™ĺş¦ --------\n"
+
+#: sys-utils/ipcs.c:530
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "çł»çµ±ć•´é«”ćś€ĺ¤§ä˝‡ĺ— = %d\n"
+
+#: sys-utils/ipcs.c:531
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "訊ćŻćś€ĺ¤§ĺ°şĺŻ¸ (位ĺ…組)=%d\n"
+
+#: sys-utils/ipcs.c:532
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "é č¨­ä˝‡ĺ—最大尺寸 (位ĺ…組)=%d\n"
+
+#: sys-utils/ipcs.c:536
+#, c-format
+msgid "------ Messages Status --------\n"
+msgstr "------ 訊ćŻç‹€ć…‹ --------\n"
+
+#: sys-utils/ipcs.c:537
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "ĺ·˛é…Ťç˝®ä˝‡ĺ— = %d\n"
+
+#: sys-utils/ipcs.c:538
+#, c-format
+msgid "used headers = %d\n"
+msgstr "已用標頭 = %d\n"
+
+#: sys-utils/ipcs.c:539
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "已用空間 = %d 位ĺ…組\n"
+
+#: sys-utils/ipcs.c:543
+#, c-format
+msgid "------ Message Queues Creators/Owners --------\n"
+msgstr "------ 訊ćŻä˝‡ĺ—建立者/ć“有者 --------\n"
+
+#: sys-utils/ipcs.c:545 sys-utils/ipcs.c:551 sys-utils/ipcs.c:557
+#: sys-utils/ipcs.c:563
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:549
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ 訊ćŻä˝‡ĺ—發é€/接收/變更 次數 --------\n"
+
+#: sys-utils/ipcs.c:551
+msgid "send"
+msgstr "發é€"
+
+#: sys-utils/ipcs.c:551
+msgid "recv"
+msgstr "接收"
+
+#: sys-utils/ipcs.c:551
+msgid "change"
+msgstr "變更"
+
+#: sys-utils/ipcs.c:555
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ 訊ćŻä˝‡ĺ— PIDs --------\n"
+
+#: sys-utils/ipcs.c:557
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:557
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:561
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ 訊ćŻä˝‡ĺ— --------\n"
+
+#: sys-utils/ipcs.c:564
+msgid "used-bytes"
+msgstr "已用位ĺ…組"
+
+#: sys-utils/ipcs.c:564
+msgid "messages"
+msgstr "訊ćŻ"
+
+#: sys-utils/ipcs.c:627
+msgid "shmctl failed"
+msgstr "shmctl 失敗"
+
+#: sys-utils/ipcs.c:629
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"共用č¨ć†¶é«”資料段 shmid = %d\n"
+
+#: sys-utils/ipcs.c:630
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:632
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:634
+#, fuzzy, c-format
+msgid "bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:637
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:639
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:641 sys-utils/ipcs.c:670
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:653
+msgid "msgctl failed"
+msgstr "msgctl 失敗"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"訊ćŻä˝‡ĺ— msqid=%d\n"
+
+#: sys-utils/ipcs.c:656
+#, fuzzy, c-format
+msgid "uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:658
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:666
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time =%-26.24s\n"
+
+#: sys-utils/ipcs.c:668
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:685 sys-utils/ipcs.c:707
+msgid "semctl failed"
+msgstr "semctl 失敗"
+
+#: sys-utils/ipcs.c:687
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"č™źčŞŚé™Łĺ— semid=%d\n"
+
+#: sys-utils/ipcs.c:688
+#, fuzzy, c-format
+msgid "uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:690
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "模式=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:692
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:693
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:695
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:698
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:698
+msgid "value"
+msgstr "值"
+
+#: sys-utils/ipcs.c:698
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:698
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:698
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:144
+#, fuzzy
+msgid "invalid iflag"
+msgstr "無ć•çš„ iflag:%s"
+
+#: sys-utils/ldattach.c:160
+#, fuzzy, c-format
+msgid " %s [options] <ldisc> <device>\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: sys-utils/ldattach.c:163
+msgid " -d, --debug print verbose messages to stderr\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:164
+msgid " -s, --speed <value> set serial line speed\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:165
+msgid " -7, --sevenbits set character size to 7 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:166
+msgid " -8, --eightbits set character size to 8 bits\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:167
+msgid " -n, --noparity set parity to none\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:168
+msgid " -e, --evenparity set parity to even\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:169
+msgid " -o, --oddparity set parity to odd\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:170
+msgid " -1, --onestopbit set stop bits to one\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:171
+msgid " -2, --twostopbits set stop bits to two\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:172
+msgid " -i, --iflag [-]<iflag> set input mode flag\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:177
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"已知 <ldisc> ĺŤç¨±ďĽš\n"
+
+#: sys-utils/ldattach.c:179
+msgid ""
+"\n"
+"Known <iflag> names:\n"
+msgstr ""
+"\n"
+"已知 <iflag> ĺŤç¨±ďĽš\n"
+
+#: sys-utils/ldattach.c:266
+#, fuzzy
+msgid "invalid speed argument"
+msgstr "無ć•çš„é¸é …"
+
+#: sys-utils/ldattach.c:277
+msgid "invalid option"
+msgstr "無ć•çš„é¸é …"
+
+#: sys-utils/ldattach.c:288
+#, fuzzy
+msgid "invalid line discipline argument"
+msgstr "無ć•çš„線路規律:%s"
+
+#: sys-utils/ldattach.c:295
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s 並非序ĺ—ç·šč·Ż"
+
+#: sys-utils/ldattach.c:302
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "無法取得終端機屬性用於 %s"
+
+#: sys-utils/ldattach.c:305
+#, c-format
+msgid "speed %d unsupported"
+msgstr "速度 %d 不受支援"
+
+#: sys-utils/ldattach.c:354
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "無法設定終端機屬性用於 %s"
+
+#: sys-utils/ldattach.c:361
+msgid "cannot set line discipline"
+msgstr "無法設定線路規律"
+
+#: sys-utils/ldattach.c:367
+msgid "cannot daemonize"
+msgstr "無法ĺ®č­·ç¨‹ĺĽŹĺŚ–"
+
+#: sys-utils/losetup.c:62 sys-utils/losetup.c:74
+#, fuzzy, c-format
+msgid ", offset %ju"
+msgstr ",ĺŹç§» %d"
+
+#: sys-utils/losetup.c:65 sys-utils/losetup.c:77
+#, fuzzy, c-format
+msgid ", sizelimit %ju"
+msgstr ",大小é™ĺ¶ %<PRIu64>"
+
+#: sys-utils/losetup.c:85
+#, fuzzy, c-format
+msgid ", encryption %s (type %u)"
+msgstr ",加密 %s (類型 %<PRIu32>)"
+
+#: sys-utils/losetup.c:120
+#, fuzzy, c-format
+msgid "%s: set capacity failed"
+msgstr "%s:stat 失敗"
+
+#: sys-utils/losetup.c:130
+#, fuzzy, c-format
+msgid "%s: detach failed"
+msgstr "%s:stat 失敗"
+
+#: sys-utils/losetup.c:156
+#, c-format
+msgid ""
+" %1$s [options] [<loopdev>]\n"
+" %1$s [options] -f | <loopdev> <file>\n"
+msgstr ""
+
+#: sys-utils/losetup.c:161
+#, fuzzy
+msgid ""
+" -a, --all list all used devices\n"
+" -d, --detach <loopdev> [...] detach one or more devices\n"
+" -D, --detach-all detach all used devices\n"
+" -f, --find find first unused device\n"
+" -c, --set-capacity <loopdev> resize device\n"
+" -j, --associated <file> list all devices associated with <file>\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %1$s loop_device ćŹäľ›čł‡č¨Š\n"
+" %1$s -a | --all ĺ—出所有已用的\n"
+" %1$s -d | --detach <loopdev> [<loopdev>...] ĺŞé™¤\n"
+" %1$s -f | --find 尋找未使用的\n"
+" %1$s -c | --set-capacity <loopdev> 調整大小\n"
+" %1$s -j | --associated <file>[-o <num>] ĺ—ĺ‡şć‰€ćś‰č‡ <file> 相關čŻçš„\n"
+" %1$s [é¸é …] {-f|--find|loopdev} <file> 設定\n"
+
+#: sys-utils/losetup.c:169
+#, fuzzy
+msgid ""
+" -e, --encryption <type> enable encryption with specified <name/num>\n"
+" -o, --offset <num> start at offset <num> into file\n"
+" --sizelimit <num> device limited to <num> bytes of the file\n"
+" -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+" -P, --partscan create partitioned loop device\n"
+" -r, --read-only setup read-only loop device\n"
+" --show print device name after setup (with -f)\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+"\n"
+"é¸é …:\n"
+" -e | --encryption <type> 以指定的 <name/num> 啟用資料加密\n"
+" -h | --help 這份說ćŽ\n"
+" -o | --offset <num> 開始於ĺŹç§»ĺ€Ľ <num> 後進入檔ćˇ\n"
+" --sizelimit <num> é™ĺ¶ç’°č·Żç‚şĺŹŞćś‰ <num> 位ĺ…組的檔ćˇ\n"
+" -p | --pass-fd <num> 從檔ćˇćŹŹčż°ç·¨č™ź <num> 讀取密語\n"
+" -r | --read-only 設定唯讀環路裝置\n"
+" --show 印出裝置ĺŤç¨± (é…Ťĺ -f <file>)\n"
+" -v | --verbose 詳細模式\n"
+"\n"
+
+#: sys-utils/losetup.c:198
+#, c-format
+msgid ""
+"%s: warning: file smaller than 512 bytes, the loop device maybe be useless "
+"or invisible for system tools."
+msgstr ""
+
+#: sys-utils/losetup.c:202
+#, c-format
+msgid ""
+"%s: warning: file does not fit into a 512-byte sector the end of the file "
+"will be ignored."
+msgstr ""
+
+#: sys-utils/losetup.c:267 sys-utils/losetup.c:276 sys-utils/losetup.c:341
+#: sys-utils/losetup.c:431
+#, fuzzy, c-format
+msgid "%s: failed to use device"
+msgstr "%s:無法探查裝置"
+
+#: sys-utils/losetup.c:302 sys-utils/mount.c:839
+msgid "invalid passphrase file descriptor"
+msgstr ""
+
+#: sys-utils/losetup.c:352
+#, fuzzy
+msgid "no loop device specified"
+msgstr "mount:環路裝置被指定了兩次"
+
+#: sys-utils/losetup.c:354
+#, fuzzy, c-format
+msgid "%s failed to use device"
+msgstr "%s:無法探查裝置"
+
+#: sys-utils/losetup.c:359
+#, fuzzy
+msgid "no file specified"
+msgstr "未指定任何檔ĺŤ"
+
+#: sys-utils/losetup.c:366
+#, fuzzy, c-format
+msgid "the options %s are allowed to loop device setup only"
+msgstr "é¸é …彼此互斥"
+
+#: sys-utils/losetup.c:371
+msgid "the option --offset is not allowed in this context."
+msgstr ""
+
+#: sys-utils/losetup.c:382 sys-utils/mount.c:115
+#, fuzzy
+msgid "couldn't lock into memory"
+msgstr "無法鎖入č¨ć†¶é«”,即將離開。\n"
+
+#: sys-utils/losetup.c:391
+#, fuzzy
+msgid "not found unused device"
+msgstr "找不ĺ°ĺšç‚ş %s 的裝置"
+
+#: sys-utils/losetup.c:403
+#, fuzzy, c-format
+msgid "%s: failed to use backing file"
+msgstr "重新讀取ĺ†ĺ‰˛čˇ¨"
+
+#: sys-utils/losetup.c:442
+#, fuzzy
+msgid "find unused loop device failed"
+msgstr "tunelp:ioctl 失敗"
+
+#: sys-utils/losetup.c:452 sys-utils/umount.c:227
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+msgid "none"
+msgstr "無"
+
+#: sys-utils/lscpu.c:66
+msgid "para"
+msgstr "é¨ä»˝"
+
+#: sys-utils/lscpu.c:67
+msgid "full"
+msgstr "ĺ…¨é¨"
+
+#: sys-utils/lscpu.c:110
+msgid "horizontal"
+msgstr ""
+
+#: sys-utils/lscpu.c:111
+msgid "vertical"
+msgstr ""
+
+#: sys-utils/lscpu.c:237
+msgid "logical CPU number"
+msgstr ""
+
+#: sys-utils/lscpu.c:238
+#, fuzzy
+msgid "logical core number"
+msgstr "取得邏輯區塊 (çŁĺŤ€) 大小"
+
+#: sys-utils/lscpu.c:239
+#, fuzzy
+msgid "logical socket number"
+msgstr "取得邏輯區塊 (çŁĺŤ€) 大小"
+
+#: sys-utils/lscpu.c:240
+msgid "logical NUMA node number"
+msgstr ""
+
+#: sys-utils/lscpu.c:241
+msgid "logical book number"
+msgstr ""
+
+#: sys-utils/lscpu.c:242
+msgid "shows how caches are shared between CPUs"
+msgstr ""
+
+#: sys-utils/lscpu.c:243
+msgid "CPU dispatching mode on virtual hardware"
+msgstr ""
+
+#: sys-utils/lscpu.c:244
+msgid "physical address of a CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:245
+msgid "shows if the hypervisor has allocated the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:246
+msgid "shows if Linux currently makes use of the CPU"
+msgstr ""
+
+#: sys-utils/lscpu.c:340
+msgid "error: uname failed"
+msgstr "錯誤:uname 失敗"
+
+#: sys-utils/lscpu.c:551
+#, fuzzy
+msgid "failed to allocate memory"
+msgstr "配置輸出緩衝區時失敗"
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, c-format
+msgid "Y"
+msgstr ""
+
+#: sys-utils/lscpu.c:863 sys-utils/lscpu.c:873
+#, fuzzy, c-format
+msgid "N"
+msgstr "NC"
+
+#: sys-utils/lscpu.c:947
+#, fuzzy, c-format
+msgid ""
+"# The following is the parsable format, which can be fed to other\n"
+"# programs. Each different item in every column has an unique ID\n"
+"# starting from zero.\n"
+msgstr ""
+"# 下ĺ—ćŻĺ‰–ćžć ĽĺĽŹďĽŚĺ®ĺŹŻä»Ąč˘«é€ĺ…Ąĺ…¶ä»–\n"
+"# 程式。每一欄中每個不ĺŚçš„項目有從零開始的\n"
+"# 唯一č­ĺĄč™źă€‚\n"
+"# CPU,ć ¸ĺż,通訊端,節點"
+
+#: sys-utils/lscpu.c:1081
+msgid "Architecture:"
+msgstr "架構:"
+
+#: sys-utils/lscpu.c:1095
+msgid "CPU op-mode(s):"
+msgstr "CPU 作業模式:"
+
+#: sys-utils/lscpu.c:1098 sys-utils/lscpu.c:1100
+msgid "Byte Order:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1102
+#, fuzzy
+msgid "CPU(s):"
+msgstr "CPU 通訊端:"
+
+#: sys-utils/lscpu.c:1105
+msgid "On-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1106
+msgid "On-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1124
+msgid "Off-line CPU(s) mask:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1125
+msgid "Off-line CPU(s) list:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1156
+msgid "Thread(s) per core:"
+msgstr "每核ĺżĺź·čˇŚç·’數:"
+
+#: sys-utils/lscpu.c:1157
+msgid "Core(s) per socket:"
+msgstr "每通訊端核ĺżć•¸ďĽš"
+
+#: sys-utils/lscpu.c:1160
+#, fuzzy
+msgid "Socket(s) per book:"
+msgstr "每通訊端核ĺżć•¸ďĽš"
+
+#: sys-utils/lscpu.c:1162
+msgid "Book(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:1164
+#, fuzzy
+msgid "Socket(s):"
+msgstr "CPU 通訊端:"
+
+#: sys-utils/lscpu.c:1168
+msgid "NUMA node(s):"
+msgstr "NUMA 節點:"
+
+#: sys-utils/lscpu.c:1170
+msgid "Vendor ID:"
+msgstr "供應商č­ĺĄč™źďĽš"
+
+#: sys-utils/lscpu.c:1172
+msgid "CPU family:"
+msgstr "CPU 家族:"
+
+#: sys-utils/lscpu.c:1174
+msgid "Model:"
+msgstr "型號:"
+
+#: sys-utils/lscpu.c:1176
+msgid "Stepping:"
+msgstr "製程:"
+
+#: sys-utils/lscpu.c:1178
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:1180
+msgid "BogoMIPS:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1183 sys-utils/lscpu.c:1185
+msgid "Virtualization:"
+msgstr "虛擬:"
+
+#: sys-utils/lscpu.c:1188
+#, fuzzy
+msgid "Hypervisor:"
+msgstr "Hypervisor 供應商:"
+
+#: sys-utils/lscpu.c:1190
+msgid "Hypervisor vendor:"
+msgstr "Hypervisor 供應商:"
+
+#: sys-utils/lscpu.c:1191
+msgid "Virtualization type:"
+msgstr "虛擬型態:"
+
+#: sys-utils/lscpu.c:1194
+msgid "Dispatching mode:"
+msgstr ""
+
+#: sys-utils/lscpu.c:1200
+#, c-format
+msgid "%s cache:"
+msgstr "%s 快取:"
+
+#: sys-utils/lscpu.c:1206
+#, c-format
+msgid "NUMA node%d CPU(s):"
+msgstr "NUMA node%d CPU(s):"
+
+#: sys-utils/lscpu.c:1220
+msgid ""
+" -a, --all print online and offline CPUs (default for -e)\n"
+" -b, --online print online CPUs only (default for -p)\n"
+" -c, --offline print offline CPUs only\n"
+" -e, --extended[=<list>] print out an extended readable format\n"
+" -h, --help print this help\n"
+" -p, --parse[=<list>] print out a parsable format\n"
+" -s, --sysroot <dir> use directory DIR as system root\n"
+" -V, --version print version information and exit\n"
+" -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:1235
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more details see lscpu(1).\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ swaplabel(8)。\n"
+
+#: sys-utils/lscpu.c:1325
+#, c-format
+msgid ""
+"%s: options --all, --online and --offline may only be used with options --"
+"extended or --parsable.\n"
+msgstr ""
+
+#: sys-utils/mount.c:67 sys-utils/umount.c:112
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option (effective UID is %u)"
+msgstr "mount:只有 root ĺŹŻä»Ąé‚Łć¨Łĺš (ćś‰ć• UID ćŻ %u)"
+
+#: sys-utils/mount.c:70 sys-utils/umount.c:115
+#, fuzzy, c-format
+msgid "only root can do that (effective UID is %u)"
+msgstr "mount:只有 root ĺŹŻä»Ąé‚Łć¨Łĺš (ćś‰ć• UID ćŻ %u)"
+
+#: sys-utils/mount.c:74 sys-utils/umount.c:119
+#, fuzzy, c-format
+msgid "only root can use \"--%s\" option"
+msgstr "mount:只有 root 可以將 %s ćŽ›čĽ‰ĺ° %s"
+
+#: sys-utils/mount.c:75 sys-utils/umount.c:120
+#, fuzzy
+msgid "only root can do that"
+msgstr "mount:只有 root 可以那樣ĺš"
+
+#: sys-utils/mount.c:86 sys-utils/umount.c:57
+#, fuzzy, c-format
+msgid "%s from %s (libmount %s"
+msgstr "%s 來自 %s\n"
+
+#: sys-utils/mount.c:103 sys-utils/umount.c:43
+#, fuzzy, c-format
+msgid "%s: parse error: ignore entry at line %d."
+msgstr "剖ćžéŚŻčŞ¤ç™Ľç”źć–Ľĺ—號:"
+
+#: sys-utils/mount.c:158
+#, fuzzy
+msgid "failed to read mtab"
+msgstr "讀取時失敗:%s"
+
+#: sys-utils/mount.c:220 sys-utils/umount.c:251
+#, c-format
+msgid "%-25s: ignored\n"
+msgstr ""
+
+#: sys-utils/mount.c:221
+#, fuzzy, c-format
+msgid "%-25s: already mounted\n"
+msgstr "mount:%s ĺ·˛ç¶“ćŽ›čĽ‰ĺ° %s\n"
+
+#: sys-utils/mount.c:367
+#, fuzzy, c-format
+msgid "only root can mount %s on %s"
+msgstr "mount:只有 root 可以將 %s ćŽ›čĽ‰ĺ° %s"
+
+#: sys-utils/mount.c:370
+#, fuzzy, c-format
+msgid "%s is already mounted"
+msgstr "mount:%s ĺ·˛ç¶“ćŽ›čĽ‰ĺ° %s\n"
+
+#: sys-utils/mount.c:374
+#, fuzzy, c-format
+msgid "can't find %s in %s"
+msgstr "mount:無法在 %2$s ć– %3$s ä¸­ć‰ľĺ° %1$s"
+
+#: sys-utils/mount.c:381
+#, fuzzy, c-format
+msgid "can't find mountpoint %s in %s"
+msgstr "mount:無法在 %2$s ć– %3$s ä¸­ć‰ľĺ° %1$s"
+
+#: sys-utils/mount.c:384
+#, fuzzy, c-format
+msgid "can't find mount source %s in %s"
+msgstr "mount:無法在 %2$s ć– %3$s ä¸­ć‰ľĺ° %1$s"
+
+#: sys-utils/mount.c:389
+#, fuzzy
+msgid "I could not determine the filesystem type, and none was specified"
+msgstr "mount:ć‘無法決定檔ćˇçł»çµ±éˇžĺž‹ďĽŚč€Śĺ®ä¸¦ćśŞč˘«ćŚ‡ĺ®š"
+
+#: sys-utils/mount.c:392
+#, fuzzy
+msgid "you must specify the filesystem type"
+msgstr "mount:您必é ćŚ‡ĺ®šćŞ”ćˇçł»çµ±éˇžĺž‹"
+
+#: sys-utils/mount.c:396
+#, fuzzy, c-format
+msgid "can't find %s"
+msgstr "%s:無法éŹçµ %s: %s\n"
+
+#: sys-utils/mount.c:398
+#, fuzzy
+msgid "mount source not defined"
+msgstr "mount:掛載時失敗"
+
+#: sys-utils/mount.c:402 sys-utils/mount.c:404
+#, fuzzy
+msgid "failed to parse mount options"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: sys-utils/mount.c:410
+#, fuzzy, c-format
+msgid "%s: failed to setup loop device (probably unknown encryption type)"
+msgstr "%s:無法探查裝置"
+
+#: sys-utils/mount.c:416
+#, fuzzy, c-format
+msgid "%s: mount failed"
+msgstr "掛載失敗"
+
+#: sys-utils/mount.c:426
+#, fuzzy, c-format
+msgid "%s: filesystem mounted, but mount(8) failed"
+msgstr "mount:掛載時失敗"
+
+#: sys-utils/mount.c:443 sys-utils/mount.c:495
+#, fuzzy, c-format
+msgid "mount point %s is not a directory"
+msgstr "mount:掛載點 %s 並非目錄"
+
+#: sys-utils/mount.c:447
+#, fuzzy
+msgid "must be superuser to use mount"
+msgstr "mount:必é ćŻçł»çµ±ç®ˇç†č€…才č˝ä˝żç”¨ćŽ›čĽ‰"
+
+#: sys-utils/mount.c:455
+#, fuzzy, c-format
+msgid "%s is busy"
+msgstr "mount:%s 忙碌中"
+
+#: sys-utils/mount.c:459
+#, fuzzy, c-format
+msgid "%s is already mounted or %s busy"
+msgstr "mount:%s 已被掛載ć–者 %s 忙碌中"
+
+#: sys-utils/mount.c:471
+#, fuzzy, c-format
+msgid " %s is already mounted on %s\n"
+msgstr "mount:%s ĺ·˛ç¶“ćŽ›čĽ‰ĺ° %s\n"
+
+#: sys-utils/mount.c:479
+#, fuzzy, c-format
+msgid "mount point %s does not exist"
+msgstr "mount:掛載點 %s 不ĺ­ĺś¨"
+
+#: sys-utils/mount.c:481
+#, fuzzy, c-format
+msgid "mount point %s is a symbolic link to nowhere"
+msgstr "mount:掛載點 %s ćŻä¸ŤćŽä˝Ťç˝®çš„符號連çµ"
+
+#: sys-utils/mount.c:486
+#, fuzzy, c-format
+msgid "special device %s does not exist"
+msgstr "mount:特殊裝置 %s 不ĺ­ĺś¨"
+
+#: sys-utils/mount.c:489 sys-utils/mount.c:504
+#, fuzzy
+msgid "mount(2) failed"
+msgstr "掛載失敗"
+
+#: sys-utils/mount.c:500
+#, fuzzy, c-format
+msgid "special device %s does not exist (a path prefix is not a directory)"
+msgstr ""
+"mount:特殊裝置 %s 不ĺ­ĺś¨\n"
+" (路徑前綴並非目錄)\n"
+
+#: sys-utils/mount.c:510
+#, fuzzy, c-format
+msgid "%s not mounted or bad option"
+msgstr "mount:%s 未被掛載,ć–ćŻä¸Ťç•¶çš„é¸é …"
+
+#: sys-utils/mount.c:512
+#, fuzzy, c-format
+msgid "%s is not mountpoint or bad option"
+msgstr "mount:%s 未被掛載,ć–ćŻä¸Ťç•¶çš„é¸é …"
+
+#: sys-utils/mount.c:514
+#, fuzzy, c-format
+msgid ""
+"wrong fs type, bad option, bad superblock on %s,\n"
+" missing codepage or helper program, or other error"
+msgstr ""
+"mount:錯誤檔ćˇçł»çµ±éˇžĺž‹ă€ä¸Ťç•¶çš„é¸é …ă€ä¸Ťç•¶çš„超區塊於 %s,\n"
+" 缺少編碼é ć–輔助程式,ć–其他錯誤"
+
+#: sys-utils/mount.c:520
+#, fuzzy, c-format
+msgid ""
+" (for several filesystems (e.g. nfs, cifs) you might\n"
+" need a /sbin/mount.<type> helper program)\n"
+msgstr ""
+" (對於許多檔ćˇçł»çµ± (例如 nfs,cifs) 您也許\n"
+" éś€č¦ /sbin/mount.<type> 輔助程式)"
+
+#: sys-utils/mount.c:524
+#, fuzzy, c-format
+msgid ""
+" In some cases useful info is found in syslog - try\n"
+" dmesg | tail or so\n"
+msgstr ""
+" 在ćźäş›ç‹€ćłä¸‹ďĽŚsyslog 中可以找ĺ°ćś‰ç”¨çš„資訊 - ĺ—試\n"
+" dmesg | tail 之類命令\n"
+
+#: sys-utils/mount.c:533
+#, fuzzy, c-format
+msgid "%s: can't read superblock"
+msgstr "mount:%s: 無法讀取超區塊"
+
+#: sys-utils/mount.c:537
+#, fuzzy, c-format
+msgid "unknown filesystem type '%s'"
+msgstr "mount:不ćŽçš„檔ćˇçł»çµ±éˇžĺž‹ă€Ś%s」"
+
+#: sys-utils/mount.c:545
+#, fuzzy, c-format
+msgid "%s is not a block device, and stat(2) fails?"
+msgstr "mount:%s 並非一個區塊裝置,而且取得狀態時失敗?"
+
+#: sys-utils/mount.c:547
+#, fuzzy, c-format
+msgid ""
+"the kernel does not recognize %s as a block device\n"
+" (maybe `modprobe driver'?)"
+msgstr ""
+"mount:內核無法č­ĺĄ %s 為一個區塊裝置\n"
+" (也許č¦ç”¨ă€Śmodprobe driver」?)"
+
+#: sys-utils/mount.c:550
+#, fuzzy, c-format
+msgid "%s is not a block device (maybe try `-o loop'?)"
+msgstr "mount:%s 並非一個區塊裝置 (也許試試「-o loop」?)"
+
+#: sys-utils/mount.c:552
+#, fuzzy, c-format
+msgid " %s is not a block device"
+msgstr "%s:不ćŻĺŤ€ĺˇŠčŁťç˝®\n"
+
+#: sys-utils/mount.c:559
+#, fuzzy, c-format
+msgid "%s is not a valid block device"
+msgstr "mount:%s 並非有ć•çš„區塊裝置"
+
+#: sys-utils/mount.c:565
+#, fuzzy, c-format
+msgid "cannot mount %s read-only"
+msgstr "mount:無法以唯讀方式掛載 %s%s"
+
+#: sys-utils/mount.c:568
+#, fuzzy, c-format
+msgid "%s is write-protected but explicit `-w' flag given"
+msgstr "mount:%s%s ç‚şé˛ĺŻ«ďĽŚä˝†ĺŤ»ćŽç˘şçµ¦ĺ®šäş†ă€Ś-w」旗標"
+
+#: sys-utils/mount.c:571
+#, fuzzy, c-format
+msgid "cannot remount %s read-write, is write-protected"
+msgstr "mount:無法重新將 %s%s 掛載ć可讀可寫,其為é˛ĺŻ«çš„"
+
+#: sys-utils/mount.c:574
+#, fuzzy, c-format
+msgid "%s is write-protected, mounting read-only"
+msgstr "mount:%s%s ç‚şé˛ĺŻ«ďĽŚĺŤłĺ°‡ä»Ąĺ”Żč®€ć–ąĺĽŹćŽ›čĽ‰"
+
+#: sys-utils/mount.c:587
+#, fuzzy, c-format
+msgid "no medium found on %s"
+msgstr "mount:%s 中找不ĺ°ä»»ä˝•ĺŞ’é«”"
+
+#: sys-utils/mount.c:591
+#, fuzzy, c-format
+msgid "mount %s on %s failed"
+msgstr "%sďĽšé‡Ťć–°ĺ‘˝ĺŤ %s ç‚ş %s 時失敗:%s\n"
+
+#: sys-utils/mount.c:613
+#, fuzzy, c-format
+msgid "%s: failed to parse"
+msgstr "%s:無法開啟"
+
+#: sys-utils/mount.c:622
+#, fuzzy, c-format
+msgid ""
+" %1$s [-lhV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] [--source] <source> | [--target] <directory>\n"
+" %1$s [options] <source> <directory>\n"
+" %1$s <operation> <mountpoint> [<target>]\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %1$s [é¸é …]\n"
+" %1$s [é¸é …] <裝置> |<掛載點>\n"
+" %1$s [é¸é …] <裝置> <掛載點>\n"
+" %1$s [é¸é …] [--source <裝置>] [--target <掛載點>]\n"
+
+#: sys-utils/mount.c:631
+#, c-format
+msgid ""
+" -a, --all mount all filesystems mentioned in fstab\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -f, --fake dry run; skip the mount(2) syscall\n"
+" -F, --fork fork off for each device (use with -a)\n"
+" -T, --fstab <path> alternative file to /etc/fstab\n"
+msgstr ""
+
+#: sys-utils/mount.c:637
+#, c-format
+msgid ""
+" -h, --help display this help text and exit\n"
+" -i, --internal-only don't call the mount.<type> helpers\n"
+" -l, --show-labels lists all mounts with LABELs\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+msgstr ""
+
+#: sys-utils/mount.c:642
+#, c-format
+msgid ""
+" -o, --options <list> comma-separated list of mount options\n"
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -p, --pass-fd <num> read the passphrase from file descriptor\n"
+" -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+" -t, --types <list> limit the set of filesystem types\n"
+msgstr ""
+
+#: sys-utils/mount.c:648
+#, c-format
+msgid ""
+" --source <src> explicitly specifies source (path, label, uuid)\n"
+" --target <target> explicitly specifies mountpoint\n"
+msgstr ""
+
+#: sys-utils/mount.c:651
+#, c-format
+msgid ""
+" -v, --verbose say what is being done\n"
+" -V, --version display version information and exit\n"
+" -w, --read-write mount the filesystem read-write (default)\n"
+msgstr ""
+
+#: sys-utils/mount.c:660
+#, c-format
+msgid ""
+"\n"
+"Source:\n"
+" -L, --label <label> synonym for LABEL=<label>\n"
+" -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by filesystem label\n"
+" UUID=<uuid> specifies device by filesystem UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+msgstr ""
+
+#: sys-utils/mount.c:669
+#, c-format
+msgid ""
+" <device> specifies device by path\n"
+" <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+" <file> regular file for loopdev setup\n"
+msgstr ""
+
+#: sys-utils/mount.c:674
+#, c-format
+msgid ""
+"\n"
+"Operations:\n"
+" -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+" -M, --move move a subtree to some other place\n"
+" -R, --rbind mount a subtree and all submounts somewhere else\n"
+msgstr ""
+
+#: sys-utils/mount.c:679
+#, c-format
+msgid ""
+" --make-shared mark a subtree as shared\n"
+" --make-slave mark a subtree as slave\n"
+" --make-private mark a subtree as private\n"
+" --make-unbindable mark a subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:684
+#, c-format
+msgid ""
+" --make-rshared recursively mark a whole subtree as shared\n"
+" --make-rslave recursively mark a whole subtree as slave\n"
+" --make-rprivate recursively mark a whole subtree as private\n"
+" --make-runbindable recursively mark a whole subtree as unbindable\n"
+msgstr ""
+
+#: sys-utils/mount.c:775 sys-utils/umount.c:318
+#, fuzzy
+msgid "libmount context allocation failed"
+msgstr "mount:掛載時失敗"
+
+#: sys-utils/mount.c:815 sys-utils/mount.c:826 sys-utils/mount.c:831
+#, fuzzy
+msgid "failed to append options"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: sys-utils/mount.c:835 sys-utils/umount.c:363
+#, fuzzy
+msgid "failed to set options pattern"
+msgstr "取得 pid %d 的屬性時失敗"
+
+#: sys-utils/mountpoint.c:118
+#, c-format
+msgid ""
+" %1$s [-qd] /path/to/directory\n"
+" %1$s -x /dev/device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:122
+msgid ""
+" -q, --quiet quiet mode - don't print anything\n"
+" -d, --fs-devno print maj:min device number of the filesystem\n"
+" -x, --devno print maj:min device number of the block device\n"
+msgstr ""
+
+#: sys-utils/mountpoint.c:202
+#, fuzzy, c-format
+msgid "%s is not a mountpoint\n"
+msgstr "%s:並非目錄"
+
+#: sys-utils/mountpoint.c:208
+#, fuzzy, c-format
+msgid "%s is a mountpoint\n"
+msgstr "%s 已掛載。\t"
+
+#: sys-utils/pivot_root.c:33
+#, fuzzy, c-format
+msgid " %s [options] new_root put_old\n"
+msgstr ""
+"用法:%s [é¸é …] <掛載點>\n"
+"\n"
+"é¸é …:\n"
+
+#: sys-utils/pivot_root.c:71
+#, fuzzy, c-format
+msgid "failed to change root from `%s' to `%s'"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/prlimit.c:70
+msgid "address space limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:71
+#, fuzzy
+msgid "max core file size"
+msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#: sys-utils/prlimit.c:71 sys-utils/prlimit.c:74
+#, fuzzy
+msgid "blocks"
+msgstr "%ld 區塊\n"
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "CPU time"
+msgstr "CPU 清單"
+
+#: sys-utils/prlimit.c:72
+#, fuzzy
+msgid "seconds"
+msgstr "DOS 次級"
+
+#: sys-utils/prlimit.c:73
+msgid "max data size"
+msgstr ""
+
+#: sys-utils/prlimit.c:74
+#, fuzzy
+msgid "max file size"
+msgstr "不當的 inode 大小"
+
+#: sys-utils/prlimit.c:75
+#, fuzzy
+msgid "max number of file locks held"
+msgstr "最大資料段數量 = %lu\n"
+
+#: sys-utils/prlimit.c:76
+msgid "max locked-in-memory address space"
+msgstr ""
+
+#: sys-utils/prlimit.c:77
+msgid "max bytes in POSIX mqueues"
+msgstr ""
+
+#: sys-utils/prlimit.c:78
+msgid "max nice prio allowed to raise"
+msgstr ""
+
+#: sys-utils/prlimit.c:79
+#, fuzzy
+msgid "max number of open files"
+msgstr "最大資料段數量 = %lu\n"
+
+#: sys-utils/prlimit.c:80
+#, fuzzy
+msgid "max number of processes"
+msgstr "最大資料段數量 = %lu\n"
+
+#: sys-utils/prlimit.c:81
+msgid "max resident set size"
+msgstr ""
+
+#: sys-utils/prlimit.c:81
+#, fuzzy
+msgid "pages"
+msgstr "訊ćŻ"
+
+#: sys-utils/prlimit.c:82
+#, fuzzy
+msgid "max real-time priority"
+msgstr "getpriority"
+
+#: sys-utils/prlimit.c:83
+msgid "timeout for real-time tasks"
+msgstr ""
+
+#: sys-utils/prlimit.c:83
+msgid "microsecs"
+msgstr ""
+
+#: sys-utils/prlimit.c:84
+#, fuzzy
+msgid "max number of pending signals"
+msgstr "最大資料段數量 = %lu\n"
+
+#: sys-utils/prlimit.c:85
+msgid "max stack size"
+msgstr ""
+
+#: sys-utils/prlimit.c:116
+#, fuzzy
+msgid "resource name"
+msgstr "不ĺ法的使用者ĺŤç¨±"
+
+#: sys-utils/prlimit.c:117
+#, fuzzy
+msgid "resource description"
+msgstr "區塊裝置 "
+
+#: sys-utils/prlimit.c:118
+msgid "soft limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:119
+msgid "hard limit (ceiling)"
+msgstr ""
+
+#: sys-utils/prlimit.c:120
+#, fuzzy
+msgid "units"
+msgstr "單位"
+
+#: sys-utils/prlimit.c:156
+#, fuzzy, c-format
+msgid " %s [options] [-p PID]\n"
+msgstr ""
+"\n"
+"用法:%s [é¸é …]\n"
+"\n"
+
+#: sys-utils/prlimit.c:158
+#, fuzzy, c-format
+msgid " %s [options] COMMAND\n"
+msgstr "用法:%s [é¸é …]\n"
+
+#: sys-utils/prlimit.c:160
+#, fuzzy
+msgid ""
+"\n"
+"General Options:\n"
+msgstr ""
+"\n"
+"é¸é …:\n"
+
+#: sys-utils/prlimit.c:161
+msgid ""
+" -p, --pid <pid> process id\n"
+" -o, --output <list> define which output columns to use\n"
+" --noheadings don't print headings\n"
+" --raw use the raw output format\n"
+" --verbose verbose output\n"
+" -h, --help display this help and exit\n"
+" -V, --version output version information and exit\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:169
+#, fuzzy
+msgid ""
+"\n"
+"Resources Options:\n"
+msgstr "危險é¸é …:"
+
+#: sys-utils/prlimit.c:170
+msgid ""
+" -c, --core maximum size of core files created\n"
+" -d, --data maximum size of a process's data segment\n"
+" -e, --nice maximum nice priority allowed to raise\n"
+" -f, --fsize maximum size of files written by the process\n"
+" -i, --sigpending maximum number of pending signals\n"
+" -l, --memlock maximum size a process may lock into memory\n"
+" -m, --rss maximum resident set size\n"
+" -n, --nofile maximum number of open files\n"
+" -q, --msgqueue maximum bytes in POSIX message queues\n"
+" -r, --rtprio maximum real-time scheduling priority\n"
+" -s, --stack maximum stack size\n"
+" -t, --cpu maximum amount of CPU time in seconds\n"
+" -u, --nproc maximum number of user processes\n"
+" -v, --as size of virtual memory\n"
+" -x, --locks maximum number of file locks\n"
+" -y, --rttime CPU time in microseconds a process scheduled\n"
+" under real-time scheduling\n"
+msgstr ""
+
+#: sys-utils/prlimit.c:320
+#, fuzzy, c-format
+msgid "failed to get old %s limit"
+msgstr "取得 pid %d 的近似者時失敗"
+
+#: sys-utils/prlimit.c:344
+#, c-format
+msgid "the soft limit %s cannot exceed the hard limit"
+msgstr ""
+
+#: sys-utils/prlimit.c:351
+#, c-format
+msgid "New %s limit: "
+msgstr ""
+
+#: sys-utils/prlimit.c:353 sys-utils/prlimit.c:358
+msgid "unlimited"
+msgstr ""
+
+#: sys-utils/prlimit.c:365
+#, fuzzy, c-format
+msgid "failed to set the %s resource limit"
+msgstr "設定 pid %d 的策略時失敗"
+
+#: sys-utils/prlimit.c:366
+#, fuzzy, c-format
+msgid "failed to get the %s resource limit"
+msgstr "取得 pid %d 的策略時失敗"
+
+#: sys-utils/prlimit.c:445
+#, fuzzy, c-format
+msgid "failed to parse %s limit"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: sys-utils/prlimit.c:582
+msgid "option --pid may be specified only once"
+msgstr ""
+
+#: sys-utils/prlimit.c:613
+#, fuzzy
+msgid "options --pid and COMMAND are mutually exclusive"
+msgstr "é¸é …彼此互斥"
+
+#: sys-utils/readprofile.c:108
+#, c-format
+msgid " -m, --mapfile <mapfile> (defaults: \"%s\" and\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:110
+#, fuzzy, c-format
+msgid " \"%s\")\n"
+msgstr " 第一個 最後的\n"
+
+#: sys-utils/readprofile.c:112
+#, c-format
+msgid " -p, --profile <pro-file> (default: \"%s\")\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:113
+msgid " -M, --multiplier <mult> set the profiling multiplier to <mult>\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:114
+#, fuzzy
+msgid " -i, --info print only info about the sampling step\n"
+msgstr " -u, --unqote 輸出不加上引號\n"
+
+#: sys-utils/readprofile.c:115
+#, fuzzy
+msgid " -v, --verbose print verbose data\n"
+msgstr " -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+
+#: sys-utils/readprofile.c:116
+#, fuzzy
+msgid " -a, --all print all symbols, even if count is 0\n"
+msgstr " -h, --help 這份簡單用法說ćŽ\n"
+
+#: sys-utils/readprofile.c:117
+msgid " -b, --histbin print individual histogram-bin counts\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+msgid " -s, --counters print individual counters within functions\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:119
+#, fuzzy
+msgid " -r, --reset reset all the counters (root only)\n"
+msgstr " -T, --test 測試 getopt(1) çš„ç‰ćś¬\n"
+
+#: sys-utils/readprofile.c:120
+msgid " -n, --no-auto disable byte order auto-detection\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:237
+#, fuzzy, c-format
+msgid "error writing %s"
+msgstr "寫入 %s 時發生錯誤:%s"
+
+#: sys-utils/readprofile.c:268
+#, fuzzy
+msgid "Assuming reversed byte order. Use -n to force native byte order."
+msgstr "ĺ‡č¨­ĺŹŤĺ‘的位ĺ…組次序。使用 -n 以強ĺ¶ĺŽźç”źä˝Ťĺ…組次序。\n"
+
+#: sys-utils/readprofile.c:283
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "取樣率:%i\n"
+
+#: sys-utils/readprofile.c:299 sys-utils/readprofile.c:320
+#, fuzzy, c-format
+msgid "%s(%i): wrong map line"
+msgstr "%s: %s(%i):錯誤對ć ĺ—\n"
+
+#: sys-utils/readprofile.c:310
+#, fuzzy, c-format
+msgid "can't find \"_stext\" in %s"
+msgstr "%s:在 %s 中找不ĺ°ă€Ś_stext」\n"
+
+#: sys-utils/readprofile.c:343
+#, fuzzy
+msgid "profile address out of range. Wrong map file?"
+msgstr "%s:ĺ´ĺŻ«ćŞ”ä˝Ťĺť€č¶…ĺ‡şçŻ„ĺśŤă€‚éŚŻčŞ¤çš„ĺ°Ťć ćŞ”ćˇďĽź\n"
+
+#: sys-utils/readprofile.c:401
+msgid "total"
+msgstr "總č¨"
+
+#: sys-utils/renice.c:57
+#, fuzzy, c-format
+msgid ""
+" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+" %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+" %1$s [-n] <priority> -u <user> [<user> ...]\n"
+msgstr ""
+"\n"
+"用法:\n"
+" renice [-n] ĺ„Şĺ…權 [-p|--pid] pid [... pid]\n"
+" renice [-n] ĺ„Şĺ…權 -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] ĺ„Şĺ…權 -u|--user 使用者 [...使用者]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:63
+msgid ""
+" -g, --pgrp <id> interpret as process group ID\n"
+" -h, --help print help\n"
+" -n, --priority <num> set the nice increment value\n"
+" -p, --pid <id> force to be interpreted as process ID\n"
+" -u, --user <name|id> interpret as username or user ID\n"
+" -v, --version print version\n"
+msgstr ""
+
+#: sys-utils/renice.c:70
+#, fuzzy
+msgid ""
+"\n"
+"For more information see renice(1).\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ namei(1)。\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice 自 %s\n"
+
+#: sys-utils/renice.c:139
+#, fuzzy, c-format
+msgid "unknown user %s"
+msgstr "不ćŽç›´ć¬„:%s"
+
+#: sys-utils/renice.c:146
+#, fuzzy, c-format
+msgid "bad value %s"
+msgstr "不當的逾時設定值:%s"
+
+#: sys-utils/renice.c:158
+msgid "process ID"
+msgstr ""
+
+#: sys-utils/renice.c:161
+#, fuzzy
+msgid "user ID"
+msgstr "使用者"
+
+#: sys-utils/renice.c:163
+msgid "process group ID"
+msgstr ""
+
+#: sys-utils/renice.c:168 sys-utils/renice.c:178
+#, fuzzy, c-format
+msgid "failed to get priority for %d (%s)"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/renice.c:172
+#, fuzzy, c-format
+msgid "failed to set priority for %d (%s)"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/renice.c:182
+#, fuzzy, c-format
+msgid "%d (%s) old priority %d, new priority %d\n"
+msgstr "%d: čŠçš„ĺ„Şĺ…權 %d, ć–°çš„ĺ„Şĺ…權 %d\n"
+
+#: sys-utils/rtcwake.c:92
+#, fuzzy
+msgid ""
+" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+" -n, --dry-run does everything, but suspend\n"
+" -l, --local RTC uses local timezone\n"
+" -m, --mode <mode> standby|mem|... sleep mode\n"
+" -s, --seconds <seconds> seconds to sleep\n"
+" -t, --time <time_t> time to wake\n"
+" -u, --utc RTC uses UTC\n"
+" -v, --verbose verbose messages\n"
+msgstr ""
+"用法:%s [é¸é …]\n"
+" -d | --device <device> é¸ĺŹ– rtc 裝置 (rtc0|rtc1|...)\n"
+" -n | --dry-run ĺ…¨é¨ĺź·čˇŚďĽŚä˝†ćŻć‡¸ç˝®\n"
+" -l | --local RTC 使用本地時區\n"
+" -m | --mode standby|mem|... ćš«ĺść¨ˇĺĽŹ\n"
+" -s | --seconds <seconds> 幾秒後暫ĺś\n"
+" -t | --time <time_t> 喚醒的時間\n"
+" -u | --utc RTC 使用 UTC\n"
+" -v | --verbose 詳細的訊ćŻ\n"
+" -V | --version 顯示ç‰ćś¬\n"
+
+#: sys-utils/rtcwake.c:156
+#, fuzzy
+msgid "read rtc time failed"
+msgstr "讀取 rtc 時間"
+
+#: sys-utils/rtcwake.c:161
+#, fuzzy
+msgid "read system time failed"
+msgstr "讀取系統時間"
+
+#: sys-utils/rtcwake.c:179
+#, fuzzy
+msgid "convert rtc time failed"
+msgstr "轉換 rtc 時間"
+
+#: sys-utils/rtcwake.c:239
+#, fuzzy
+msgid "set rtc alarm failed"
+msgstr "設定 rtc 警示"
+
+#: sys-utils/rtcwake.c:243
+#, fuzzy
+msgid "enable rtc alarm failed"
+msgstr "啟用 rtc 警示"
+
+#: sys-utils/rtcwake.c:248
+#, fuzzy
+msgid "set rtc wake alarm failed"
+msgstr "設定 rtc 喚醒警示"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy
+msgid "read rtc alarm failed"
+msgstr "啟用 rtc 警示"
+
+#: sys-utils/rtcwake.c:357
+#, c-format
+msgid "alarm: off\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:374
+#, fuzzy
+msgid "convert time failed"
+msgstr "轉換 rtc 時間"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "alarm: on %s"
+msgstr ""
+
+#: sys-utils/rtcwake.c:438
+#, fuzzy, c-format
+msgid "unrecognized suspend state '%s'"
+msgstr "%s:無法辨č­çš„懸置狀態「%s」\n"
+
+#: sys-utils/rtcwake.c:448
+#, fuzzy
+msgid "invalid seconds argument"
+msgstr "無ć•çš„é¸é …"
+
+#: sys-utils/rtcwake.c:455
+#, fuzzy
+msgid "invalid time argument"
+msgstr "無ć•çš„é¸é …"
+
+#: sys-utils/rtcwake.c:479
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s:ĺ‡č¨­ RTC 使用 UTC ...\n"
+
+#: sys-utils/rtcwake.c:485
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "使用 UTC 時間。\n"
+
+#: sys-utils/rtcwake.c:486
+#, c-format
+msgid "Using local time.\n"
+msgstr "使用當地時間。\n"
+
+#: sys-utils/rtcwake.c:491
+#, fuzzy
+msgid "must provide wake time (see -t and -s options)"
+msgstr "%s:必é ćŹäľ›ĺ–šé†’時間\n"
+
+#: sys-utils/rtcwake.c:508
+#, fuzzy, c-format
+msgid "%s not enabled for wakeup events"
+msgstr "%s: %s 未啟用喚醒事件\n"
+
+#: sys-utils/rtcwake.c:523
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr "警示 %ld,系統時間 %ld,rtc 時間 %ld,秒數 %u\n"
+
+#: sys-utils/rtcwake.c:529
+#, c-format
+msgid "suspend to \"%s\" unavailable"
+msgstr ""
+
+#: sys-utils/rtcwake.c:537
+#, fuzzy, c-format
+msgid "time doesn't go backward to %s"
+msgstr "%sďĽšć™‚é–“ç„ˇćł•ĺľŚé€€ĺ° %s\n"
+
+#: sys-utils/rtcwake.c:547
+#, fuzzy, c-format
+msgid "%s: wakeup using %s at %s"
+msgstr "%1$s:使用 %3$s 於 %4$s 自「%2$s」喚醒\n"
+
+#: sys-utils/rtcwake.c:551
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s"
+msgstr "%1$s:使用 %3$s 於 %4$s 自「%2$s」喚醒\n"
+
+#: sys-utils/rtcwake.c:560
+#, c-format
+msgid "suspend mode: no; leaving\n"
+msgstr "懸置模式:無;離開\n"
+
+#: sys-utils/rtcwake.c:568
+#, c-format
+msgid "suspend mode: off; executing %s\n"
+msgstr "懸置模式:關閉;執行 %s\n"
+
+#: sys-utils/rtcwake.c:578
+#, fuzzy, c-format
+msgid "unable to execute %s"
+msgstr "執行 %s 時失敗"
+
+#: sys-utils/rtcwake.c:586
+#, c-format
+msgid "suspend mode: on; reading rtc\n"
+msgstr "懸置模式:開啟;讀取 rtc\n"
+
+#: sys-utils/rtcwake.c:592
+#, fuzzy
+msgid "rtc read failed"
+msgstr "讀取失敗:%s"
+
+#: sys-utils/rtcwake.c:603
+#, c-format
+msgid "suspend mode: disable; disabling alarm\n"
+msgstr "懸置模式:ĺśç”¨ďĽ›ĺśç”¨č­¦ç¤ş\n"
+
+#: sys-utils/rtcwake.c:607
+#, fuzzy, c-format
+msgid "suspend mode: show; printing alarm info\n"
+msgstr "懸置模式:ĺśç”¨ďĽ›ĺśç”¨č­¦ç¤ş\n"
+
+#: sys-utils/rtcwake.c:614
+#, c-format
+msgid "suspend mode: %s; suspending system\n"
+msgstr "懸置模式:%s;懸置系統\n"
+
+#: sys-utils/rtcwake.c:620
+#, fuzzy
+msgid "disable rtc alarm interrupt failed"
+msgstr "ĺśç”¨ rtc 警示插斷"
+
+#: sys-utils/setarch.c:52
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "ĺ‡ćŹ›ć–Ľ %s。\n"
+
+#: sys-utils/setarch.c:94
+#, fuzzy, c-format
+msgid " %s%s [options] [program [program arguments]]\n"
+msgstr ""
+"用法:%s%s [é¸é …] [程式 [程式引數]]\n"
+"\n"
+"é¸é …:\n"
+
+#: sys-utils/setarch.c:100
+#, fuzzy, c-format
+msgid ""
+" -v, --verbose says what options are being switched on\n"
+" -R, --addr-no-randomize disables randomization of the virtual address "
+"space\n"
+" -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+" -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+" -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+" -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+" -I, --short-inode turns on SHORT_INODE\n"
+" -S, --whole-seconds turns on WHOLE_SECONDS\n"
+" -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+" -3, --3gb limits the used address space to a maximum of 3 "
+"GB\n"
+" --4gb ignored (for backward compatibility only)\n"
+" --uname-2.6 turns on UNAME26\n"
+msgstr ""
+" -h, --help 顯示這個說ćŽć–‡ĺ­—\n"
+" -v, --verbose 顯示什麼é¸é …正在被ĺ‡ćŹ›é–‹ĺ•ź\n"
+" -R, --addr-no-randomize ĺśç”¨č™›ć“¬ä˝Ťĺť€ç©şé–“的亂數啟始\n"
+" -F, --fdpic-funcptrs 將函式指標指ĺ°ćŹŹčż°ĺ…\n"
+" -Z, --mmap-page-zero 打開 MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout 變更虛擬č¨ć†¶é«”被配置的方式\n"
+" -X, --read-implies-exec 打開 READ_IMPLIES_EXEC\n"
+" -B, --32bit 打開 ADDR_LIMIT_32BIT\n"
+" -I, --short-inode 打開 SHORT_INODE\n"
+" -S, --whole-seconds 打開 WHOLE_SECONDS\n"
+" -T, --sticky-timeouts 打開 STICKY_TIMEOUTS\n"
+" -3, --3 gb é™ĺ¶ĺ·˛ç”¨çš„位址空間最大值為 3 GB\n"
+" --4 gb 已忽略 (只用於ĺ‘後相容性)\n"
+
+#: sys-utils/setarch.c:126
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"ĺ—試「%s --help」以獲得更多資訊。\n"
+
+#: sys-utils/setarch.c:128
+#, fuzzy, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+"%s: %s\n"
+"ĺ—試「%s --help」以獲得更多資訊。\n"
+
+#: sys-utils/setarch.c:206 sys-utils/setarch.c:221
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s:無法辨č­çš„架構"
+
+#: sys-utils/setarch.c:262 sys-utils/setarch.c:268
+msgid "Not enough arguments"
+msgstr "引數不足"
+
+#: sys-utils/setarch.c:280 sys-utils/setarch.c:341
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/setsid.c:28
+#, fuzzy, c-format
+msgid " %s [options] <program> [arguments ...]\n"
+msgstr "用法:%s [é¸é …] <程式> [引數...]\n"
+
+#: sys-utils/setsid.c:32
+msgid " -c, --ctty set the controlling terminal to the current one\n"
+msgstr ""
+
+#: sys-utils/setsid.c:79
+#, fuzzy
+msgid "fork"
+msgstr "衍生:%s"
+
+#: sys-utils/setsid.c:90
+#, fuzzy
+msgid "setsid failed"
+msgstr "setuid() 失敗"
+
+#: sys-utils/setsid.c:94
+#, fuzzy
+msgid "failed to set the controlling terminal"
+msgstr "取得 pid %d 的屬性時失敗"
+
+#: sys-utils/setsid.c:97
+#, fuzzy
+msgid "execvp failed"
+msgstr "execv 失敗"
+
+#: sys-utils/swapoff.c:32
+#, fuzzy, c-format
+msgid "swapoff %s\n"
+msgstr "%s ć–Ľ %s\n"
+
+#: sys-utils/swapoff.c:44
+msgid "Not superuser."
+msgstr "並非系統管ç†č€…。"
+
+#: sys-utils/swapoff.c:47
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s:swapoff 失敗"
+
+#: sys-utils/swapoff.c:68 sys-utils/swapon.c:647
+#, fuzzy, c-format
+msgid " %s [options] [<spec>]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: sys-utils/swapoff.c:71
+msgid ""
+" -a, --all disable all swaps from /proc/swaps\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapoff.c:78
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> LABEL of device to be used\n"
+" -U <uuid> UUID of device to be used\n"
+" LABEL=<label> LABEL of device to be used\n"
+" UUID=<uuid> UUID of device to be used\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"<special> ĺŹć•¸ďĽš\n"
+" {-L 標籤 | LABEL=標籤} 標籤的裝置為使用\n"
+" {-U uuid | UUID=uuid} UUID 的裝置為使用\n"
+" <device> č¦ä˝żç”¨çš„裝置ĺŤç¨±\n"
+" <file> č¦ä˝żç”¨çš„檔ćˇĺŤç¨±\n"
+"\n"
+
+#: sys-utils/swapon.c:89
+#, fuzzy
+msgid "device file or partition path"
+msgstr " d ĺŞé™¤ĺ†ĺ‰˛ĺŤ€"
+
+#: sys-utils/swapon.c:90
+#, fuzzy
+msgid "type of the device"
+msgstr "路徑 stat 時失敗\n"
+
+#: sys-utils/swapon.c:91
+#, fuzzy
+msgid "size of the swap area"
+msgstr "路徑 stat 時失敗\n"
+
+#: sys-utils/swapon.c:92
+#, fuzzy
+msgid "bytes in use"
+msgstr "標č¨ç‚şä˝żç”¨ä¸­"
+
+#: sys-utils/swapon.c:93
+#, fuzzy
+msgid "swap priority"
+msgstr "setpriority"
+
+#: sys-utils/swapon.c:197
+#, c-format
+msgid "%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"
+msgstr ""
+
+#: sys-utils/swapon.c:197
+msgid "Filename"
+msgstr ""
+
+#: sys-utils/swapon.c:263
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s:重新ĺťĺ§‹ĺŚ–交換區。"
+
+#: sys-utils/swapon.c:283
+msgid "execv failed"
+msgstr "execv 失敗"
+
+#: sys-utils/swapon.c:315
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s:lseek 失敗"
+
+#: sys-utils/swapon.c:321
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s:寫入簽章時失敗"
+
+#: sys-utils/swapon.c:405
+#, c-format
+msgid "%s: found swap signature: version %d, page-size %d, %s byte order"
+msgstr "%s:找ĺ°äş¤ćŹ›ĺŤ€ç°˝ç« ďĽšç‰ćś¬ %d,é éť˘ĺ¤§ĺ°Ź %d,%s 位ĺ…組序"
+
+#: sys-utils/swapon.c:410
+msgid "different"
+msgstr "不ĺŚ"
+
+#: sys-utils/swapon.c:410
+msgid "same"
+msgstr "相ĺŚ"
+
+#: sys-utils/swapon.c:456
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%sďĽšä¸Ťĺ®‰ĺ…¨çš„ć¬Šé™ %04o, 建議使用 %04o。"
+
+#: sys-utils/swapon.c:461
+#, fuzzy, c-format
+msgid "%s: insecure file owner %d, 0 (root) suggested."
+msgstr "%sďĽšä¸Ťĺ®‰ĺ…¨çš„ć¬Šé™ %04o, 建議使用 %04o。"
+
+#: sys-utils/swapon.c:468
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%sďĽšč·łéŽ - 看來似乎有漏洞。"
+
+#: sys-utils/swapon.c:482
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s:取得大小時失敗"
+
+#: sys-utils/swapon.c:488
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s:讀取交換區é é¦–失敗"
+
+#: sys-utils/swapon.c:498
+#, c-format
+msgid "%s: pagesize=%d, swapsize=%llu, devsize=%llu"
+msgstr "%s:pagesize=%d,swapsize=%llu,devsize=%llu"
+
+#: sys-utils/swapon.c:503
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr "%s:last_page 0x%08llx 大於實際的交換區空間大小"
+
+#: sys-utils/swapon.c:513
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s:交換區格式é éť˘ĺ¤§ĺ°Źä¸Ťĺ»ĺ。"
+
+#: sys-utils/swapon.c:521
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr "%s:交換區格式é éť˘ĺ¤§ĺ°Źä¸Ťĺ»ĺ。(使用 --fixpgsz 以重新ĺťĺ§‹ĺ®ă€‚)"
+
+#: sys-utils/swapon.c:530
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr "%s:ĺµć¸¬ĺ°č»źé«”懸置資料。重新寫入交換區簽章。"
+
+#: sys-utils/swapon.c:555
+#, fuzzy, c-format
+msgid "swapon %s\n"
+msgstr "%s ć–Ľ %s\n"
+
+#: sys-utils/swapon.c:580
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s:swapon 失敗"
+
+#: sys-utils/swapon.c:607
+#, fuzzy, c-format
+msgid "failed to parse %s"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: sys-utils/swapon.c:650
+msgid ""
+" -a, --all enable all swaps from /etc/fstab\n"
+" -d, --discard discard freed pages before they are reused\n"
+" -e, --ifexists silently skip devices that do not exist\n"
+" -f, --fixpgsz reinitialize the swap space if necessary\n"
+" -p, --priority <prio> specify the priority of the swap device\n"
+" -s, --summary display summary about used swap devices\n"
+" --show[=<columns>] display summary in definable table\n"
+" --noheadings don't print headings, use with --show\n"
+" --raw use the raw output format, use with --show\n"
+" --bytes display swap size in bytes in --show output\n"
+" -v, --verbose verbose mode\n"
+msgstr ""
+
+#: sys-utils/swapon.c:666
+#, fuzzy
+msgid ""
+"\n"
+"The <spec> parameter:\n"
+" -L <label> synonym for LABEL=<label>\n"
+" -U <uuid> synonym for UUID=<uuid>\n"
+" LABEL=<label> specifies device by swap area label\n"
+" UUID=<uuid> specifies device by swap area UUID\n"
+" PARTLABEL=<label> specifies device by partition label\n"
+" PARTUUID=<uuid> specifies device by partition UUID\n"
+" <device> name of device to be used\n"
+" <file> name of file to be used\n"
+msgstr ""
+"<special> ĺŹć•¸ďĽš\n"
+" {-L 標籤 | LABEL=標籤} 標籤的裝置為使用\n"
+" {-U uuid | UUID=uuid} UUID 的裝置為使用\n"
+" <device> č¦ä˝żç”¨çš„裝置ĺŤç¨±\n"
+" <file> č¦ä˝żç”¨çš„檔ćˇĺŤç¨±\n"
+"\n"
+
+#: sys-utils/swapon.c:676
+#, fuzzy
+msgid ""
+"\n"
+"Available columns (for --show):\n"
+msgstr "可用命令:\n"
+
+#: sys-utils/swapon-common.c:62
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "找不ĺ°ĺšç‚ş %s 的裝置"
+
+#: sys-utils/switch_root.c:57
+#, fuzzy
+msgid "failed to open directory"
+msgstr "%s:開啟失敗:%s\n"
+
+#: sys-utils/switch_root.c:65 term-utils/wall.c:269
+#, fuzzy
+msgid "stat failed"
+msgstr "%s:fstat 失敗"
+
+#: sys-utils/switch_root.c:75
+#, fuzzy
+msgid "failed to read directory"
+msgstr "%s:並非目錄"
+
+#: sys-utils/switch_root.c:107
+#, fuzzy, c-format
+msgid "failed to unlink %s"
+msgstr "%s:開啟失敗:%s\n"
+
+#: sys-utils/switch_root.c:144
+#, fuzzy, c-format
+msgid "failed to mount moving %s to %s"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: sys-utils/switch_root.c:146
+#, fuzzy, c-format
+msgid "forcing unmount of %s"
+msgstr "ĺ—試卸載 %s\n"
+
+#: sys-utils/switch_root.c:152
+#, fuzzy, c-format
+msgid "failed to change directory to %s"
+msgstr "設定身ĺ†ç‚ş %s 時失敗"
+
+#: sys-utils/switch_root.c:160
+#, fuzzy, c-format
+msgid "failed to mount moving %s to /"
+msgstr "%s:開啟失敗:%s\n"
+
+#: sys-utils/switch_root.c:166
+#, fuzzy
+msgid "failed to change root"
+msgstr "剖ćžĺ„Şĺ…權時失敗"
+
+#: sys-utils/switch_root.c:185
+#, fuzzy, c-format
+msgid " %s [options] <newrootdir> <init> <args to init>\n"
+msgstr ""
+"用法:%s [é¸é …] <掛載點>\n"
+"\n"
+"é¸é …:\n"
+
+#: sys-utils/switch_root.c:217
+#, fuzzy
+msgid "failed. Sorry."
+msgstr "%s 失敗。\n"
+
+#: sys-utils/switch_root.c:220
+#, fuzzy, c-format
+msgid "cannot access %s"
+msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#: sys-utils/tunelp.c:83
+msgid " -i, --irq <num> specify parallel port irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:84
+msgid " -t, --time <ms> driver wait time in milliseconds\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:85
+msgid ""
+" -c, --chars <num> number of output characters before sleep\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:86
+msgid " -w, --wait <us> strobe wait in micro seconds\n"
+msgstr ""
+
+#. TRANSLATORS: do not translate <on|off> arguments. The
+#. argument reader does not recognize locale, unless `on' is
+#. exactly that very same string.
+#: sys-utils/tunelp.c:90
+msgid " -a, --abort <on|off> abort on error\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:91
+msgid " -o, --check-status <on|off> check printer status before printing\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:92
+msgid " -C, --careful <on|off> extra checking to status check\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:93
+#, fuzzy
+msgid " -s, --status query printer status\n"
+msgstr " -u, --unqote 輸出不加上引號\n"
+
+#: sys-utils/tunelp.c:94
+msgid " -T, --trust-irq <on|off> make driver to trust irq\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:95
+#, fuzzy
+msgid " -r, --reset reset the port\n"
+msgstr " -u, --unqote 輸出不加上引號\n"
+
+#: sys-utils/tunelp.c:96
+msgid " -q, --print-irq <on|off> display current irq setting\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:109
+#, fuzzy
+msgid "bad value"
+msgstr "不當的逾時設定值:%s"
+
+#: sys-utils/tunelp.c:271
+#, fuzzy, c-format
+msgid "%s not an lp device"
+msgstr "%s: %s ä¸ŤćŻ lp 裝置。\n"
+
+#: sys-utils/tunelp.c:291
+msgid "LPGETSTATUS error"
+msgstr "LPGETSTATUS 錯誤"
+
+#: sys-utils/tunelp.c:296
+#, c-format
+msgid "%s status is %d"
+msgstr "%s 狀態為 %d"
+
+#: sys-utils/tunelp.c:298
+#, c-format
+msgid ", busy"
+msgstr ",忙碌中"
+
+#: sys-utils/tunelp.c:300
+#, c-format
+msgid ", ready"
+msgstr ",就緒"
+
+#: sys-utils/tunelp.c:302
+#, c-format
+msgid ", out of paper"
+msgstr ",紙張耗盡"
+
+#: sys-utils/tunelp.c:304
+#, c-format
+msgid ", on-line"
+msgstr ",上線"
+
+#: sys-utils/tunelp.c:306
+#, c-format
+msgid ", error"
+msgstr ",錯誤"
+
+#: sys-utils/tunelp.c:312
+#, fuzzy
+msgid "ioctl failed"
+msgstr "msgctl 失敗"
+
+#: sys-utils/tunelp.c:322
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ 錯誤"
+
+#: sys-utils/tunelp.c:327
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s 正在使用 IRQ %d\n"
+
+#: sys-utils/tunelp.c:329
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s 正在使用輪詢\n"
+
+#: sys-utils/umount.c:73
+#, fuzzy, c-format
+msgid ""
+" %1$s [-hV]\n"
+" %1$s -a [options]\n"
+" %1$s [options] <source> | <directory>\n"
+msgstr ""
+"\n"
+"用法:\n"
+" %1$s [é¸é …]\n"
+" %1$s [é¸é …] <裝置> |<掛載點>\n"
+" %1$s [é¸é …] <裝置> <掛載點>\n"
+" %1$s [é¸é …] [--source <裝置>] [--target <掛載點>]\n"
+
+#: sys-utils/umount.c:80
+#, c-format
+msgid ""
+" -a, --all umount all filesystems\n"
+" -c, --no-canonicalize don't canonicalize paths\n"
+" -d, --detach-loop if mounted loop device, also free this loop device\n"
+" --fake dry run; skip the umount(2) syscall\n"
+" -f, --force force unmount (in case of an unreachable NFS "
+"system)\n"
+msgstr ""
+
+#: sys-utils/umount.c:86
+#, c-format
+msgid ""
+" -i, --internal-only don't call the umount.<type> helpers\n"
+" -n, --no-mtab don't write to /etc/mtab\n"
+" -l, --lazy detach the filesystem now, and cleanup all later\n"
+msgstr ""
+
+#: sys-utils/umount.c:90
+#, c-format
+msgid ""
+" -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+" -r, --read-only In case unmounting fails, try to remount read-only\n"
+" -t, --types <list> limit the set of filesystem types\n"
+" -v, --verbose say what is being done\n"
+msgstr ""
+
+#: sys-utils/umount.c:179
+#, fuzzy, c-format
+msgid "%s: umount failed"
+msgstr "掛載失敗"
+
+#: sys-utils/umount.c:188
+#, fuzzy, c-format
+msgid "%s: filesystem umounted, but mount(8) failed"
+msgstr "mount:掛載時失敗"
+
+#: sys-utils/umount.c:202
+#, fuzzy, c-format
+msgid "%s: invalid block device"
+msgstr "umount:%s: 無ć•çš„區塊裝置"
+
+#: sys-utils/umount.c:208
+#, fuzzy, c-format
+msgid "%s: can't write superblock"
+msgstr "mount:%s: 無法讀取超區塊"
+
+#: sys-utils/umount.c:211
+#, fuzzy, c-format
+msgid ""
+"%s: target is busy.\n"
+" (In some cases useful info about processes that use\n"
+" the device is found by lsof(8) or fuser(1))"
+msgstr ""
+"umount:%s:裝置忙碌中。\n"
+" (在ćźäş›ć…ćłä¸‹é—ść–Ľä˝żç”¨č©˛čŁťç˝®äą‹é€˛ç¨‹çš„\n"
+" 有用資訊,可以藉由 lsof(8) ć– fuser(1) 找ĺ°)"
+
+#: sys-utils/umount.c:220
+#, fuzzy, c-format
+msgid "%s: must be superuser to umount"
+msgstr "umount:%s: ĺż…é ćŻçł»çµ±ç®ˇç†č€…ć‰Ťč˝ umount"
+
+#: sys-utils/umount.c:223
+#, fuzzy, c-format
+msgid "%s: block devices not permitted on fs"
+msgstr "umount:%s: 區塊裝置在檔ćˇçł»çµ±ä¸­ä¸Ťč˘«ĺ…許"
+
+#: sys-utils/umount.c:272
+#, fuzzy
+msgid "failed to set umount target"
+msgstr "ĺ‰–ćž pid 時失敗"
+
+#: sys-utils/unshare.c:60
+#, fuzzy, c-format
+msgid " %s [options] <program> [args...]\n"
+msgstr "用法:%s [é¸é …] <程式> [引數...]\n"
+
+#: sys-utils/unshare.c:63
+#, fuzzy
+msgid ""
+" -m, --mount unshare mounts namespace\n"
+" -u, --uts unshare UTS namespace (hostname etc)\n"
+" -i, --ipc unshare System V IPC namespace\n"
+" -n, --net unshare network namespace\n"
+msgstr ""
+"以ćźäş›č‡Şä¸Šĺ±¤ĺ†äş«çš„ĺ‘˝ĺŤç©şé–“來執行程式\n"
+"\n"
+" -h, --help 用法資訊 (這個說ćŽ)\n"
+" -m, --mount 取ć¶ĺ†äş«ćŽ›čĽ‰ĺ‘˝ĺŤç©şé–“\n"
+" -u, --uts 取ć¶ĺ†äş« UTS ĺ‘˝ĺŤç©şé–“ (主機ĺŤç¨±ç­‰é …)\n"
+" -i, --ipc 取ć¶ĺ†äş« System V IPC ĺ‘˝ĺŤç©şé–“\n"
+" -n, --net 取ć¶ĺ†äş«ç¶˛č·Żĺ‘˝ĺŤç©şé–“\n"
+
+#: sys-utils/unshare.c:125
+msgid "unshare failed"
+msgstr "unshare 失敗"
+
+#: sys-utils/wdctl.c:44
+msgid "Card previously reset the CPU"
+msgstr ""
+
+#: sys-utils/wdctl.c:45
+msgid "External relay 1"
+msgstr ""
+
+#: sys-utils/wdctl.c:46
+msgid "External relay 2"
+msgstr ""
+
+#: sys-utils/wdctl.c:47
+#, fuzzy
+msgid "Fan failed"
+msgstr "%s 失敗。\n"
+
+#: sys-utils/wdctl.c:48
+msgid "Keep alive ping reply"
+msgstr ""
+
+#: sys-utils/wdctl.c:49
+msgid "Supports magic close char"
+msgstr ""
+
+#: sys-utils/wdctl.c:50
+msgid "Reset due to CPU overheat"
+msgstr ""
+
+#: sys-utils/wdctl.c:51
+msgid "Power over voltage"
+msgstr ""
+
+#: sys-utils/wdctl.c:52
+msgid "Power bad/power fault"
+msgstr ""
+
+#: sys-utils/wdctl.c:53
+#, fuzzy
+msgid "Pretimeout (in seconds)"
+msgstr "%d 秒之後登入將逾時\n"
+
+#: sys-utils/wdctl.c:54
+#, fuzzy
+msgid "Set timeout (in seconds)"
+msgstr "%d 秒之後登入將逾時\n"
+
+#: sys-utils/wdctl.c:70
+msgid "flag name"
+msgstr ""
+
+#: sys-utils/wdctl.c:71
+#, fuzzy
+msgid "flag description"
+msgstr "區塊裝置 "
+
+#: sys-utils/wdctl.c:72
+#, fuzzy
+msgid "flag status"
+msgstr "狀態"
+
+#: sys-utils/wdctl.c:73
+#, fuzzy
+msgid "flag boot status"
+msgstr "顯示狀態時失敗:%s"
+
+#: sys-utils/wdctl.c:74
+#, fuzzy
+msgid "watchdog device name"
+msgstr "mount:%s: 不ćŽçš„裝置"
+
+#: sys-utils/wdctl.c:108
+#, fuzzy, c-format
+msgid "unknown flag: %s"
+msgstr "%s:不ćŽçš„引數:%s\n"
+
+#: sys-utils/wdctl.c:145
+#, fuzzy, c-format
+msgid " %s [options] [<device> ...]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: sys-utils/wdctl.c:149
+msgid ""
+" -f, --flags <list> print selected flags only\n"
+" -F, --noflags don't print information about flags\n"
+" -I, --noident don't print watchdog identity information\n"
+" -n, --noheadings don't print headings for flags table\n"
+" -O, --oneline print all information on one line\n"
+" -o, --output <list> output columns of the flags\n"
+" -r, --raw use raw output format for flags table\n"
+" -T, --notimeouts don't print watchdog timeouts\n"
+" -s, --settimeout <sec> set watchdog timeout\n"
+" -x, --flags-only print only flags table (same as -I -T)\n"
+msgstr ""
+
+#: sys-utils/wdctl.c:165
+#, fuzzy, c-format
+msgid "The default device is %s.\n"
+msgstr "ç’°č·ŻčŁťç˝®ćŻ %s\n"
+
+#: sys-utils/wdctl.c:168
+#, fuzzy
+msgid "Available columns:\n"
+msgstr "可用命令:\n"
+
+#: sys-utils/wdctl.c:254
+#, fuzzy, c-format
+msgid "%s: unknown flags 0x%x\n"
+msgstr "%s:不ćŽäżˇč™ź %s\n"
+
+#: sys-utils/wdctl.c:284 sys-utils/wdctl.c:338
+#, c-format
+msgid "%s: watchdog already in use, terminating."
+msgstr ""
+
+#: sys-utils/wdctl.c:298 sys-utils/wdctl.c:366
+#, fuzzy, c-format
+msgid "%s: failed to disarm watchdog"
+msgstr "%s:無法探查裝置"
+
+#: sys-utils/wdctl.c:307
+#, fuzzy, c-format
+msgid "cannot set timeout for %s"
+msgstr "無法取得逾時值用於 %s: %s\n"
+
+#: sys-utils/wdctl.c:345
+#, fuzzy, c-format
+msgid "%s: failed to get information about watchdog"
+msgstr "%s:無法寫入標籤"
+
+#: sys-utils/wdctl.c:426 sys-utils/wdctl.c:428 sys-utils/wdctl.c:430
+#, fuzzy, c-format
+msgid "%-15s%2i seconds\n"
+msgstr "%s %.6f 秒\n"
+
+#: sys-utils/wdctl.c:426
+msgid "Timeout:"
+msgstr ""
+
+#: sys-utils/wdctl.c:428
+#, fuzzy
+msgid "Pre-timeout:"
+msgstr "已逾時"
+
+#: sys-utils/wdctl.c:430
+msgid "Timeleft:"
+msgstr ""
+
+#: sys-utils/wdctl.c:564
+#, fuzzy
+msgid "Device:"
+msgstr "所用裝置"
+
+#: sys-utils/wdctl.c:565
+#, fuzzy, c-format
+msgid "%-15s%s [version %x]\n"
+msgstr "%s:ç‰ćś¬ %s\n"
+
+#: term-utils/agetty.c:435
+#, fuzzy, c-format
+msgid "%s: can't change root directory %s: %m"
+msgstr "%s:無法 exec %s: %m"
+
+#: term-utils/agetty.c:440
+#, fuzzy, c-format
+msgid "%s: can't change working directory %s: %m"
+msgstr "%s:無法 exec %s: %m"
+
+#: term-utils/agetty.c:445
+#, fuzzy, c-format
+msgid "%s: can't change process priority: %m"
+msgstr "%s:找不ĺ°é€˛ç¨‹ă€Ś%s」\n"
+
+#: term-utils/agetty.c:451
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s:無法 exec %s: %m"
+
+#: term-utils/agetty.c:480 term-utils/agetty.c:737 term-utils/agetty.c:749
+#: term-utils/agetty.c:1464 term-utils/agetty.c:1824
+#, fuzzy, c-format
+msgid "failed to allocate memory: %m"
+msgstr "配置輸出緩衝區時失敗"
+
+#: term-utils/agetty.c:654
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "不當的逾時設定值:%s"
+
+#: term-utils/agetty.c:767
+#, c-format
+msgid "bad speed: %s"
+msgstr "不當的速度:%s"
+
+#: term-utils/agetty.c:769
+msgid "too many alternate speeds"
+msgstr "太多交替速度"
+
+#: term-utils/agetty.c:890 term-utils/agetty.c:907 term-utils/agetty.c:947
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: 無法開啟為標準輸入:%m"
+
+#: term-utils/agetty.c:911 term-utils/agetty.c:915
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: 不ćŻĺ­—ĺ…裝置"
+
+#: term-utils/agetty.c:962
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s:無法開啟用於讀取/寫入"
+
+#: term-utils/agetty.c:981
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s:dup 問題:%m"
+
+#: term-utils/agetty.c:1275
+msgid "Num Lock off"
+msgstr ""
+
+#: term-utils/agetty.c:1278
+msgid "Num Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1281
+msgid "Caps Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1284
+msgid "Scroll Lock on"
+msgstr ""
+
+#: term-utils/agetty.c:1287
+#, fuzzy, c-format
+msgid ""
+"Hint: %s\n"
+"\n"
+msgstr "類型:%s\n"
+
+#: term-utils/agetty.c:1390
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s:讀取:%m"
+
+#: term-utils/agetty.c:1444
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s:輸入超出"
+
+#: term-utils/agetty.c:1594
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %1$s [options] line baud_rate,... [termtype]\n"
+" %1$s [options] baud_rate,... line [termtype]\n"
+msgstr ""
+
+#: term-utils/agetty.c:1599
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -8, --8bits assume 8-bit tty\n"
+" -a, --autologin <user> login the specified user automatically\n"
+" -c, --noreset do not reset control mode\n"
+" -f, --issue-file <file> display issue file\n"
+" -h, --flow-control enable hardware flow control\n"
+" -H, --host <hostname> specify login host\n"
+" -i, --noissue do not display issue file\n"
+" -I, --init-string <string> set init string\n"
+" -l, --login-program <file> specify login program\n"
+" -L, --local-line force local line\n"
+" -m, --extract-baud extract baud rate during connect\n"
+" -n, --skip-login do not prompt for login\n"
+" -o, --login-options <opts> options that are passed to login\n"
+" -p, --loginpause wait for any key before the login\n"
+" -R, --hangup do virtually hangup on the tty\n"
+" -s, --keep-baud try to keep baud rate after break\n"
+" -t, --timeout <number> login process timeout\n"
+" -U, --detect-case detect uppercase terminal\n"
+" -w, --wait-cr wait carriage-return\n"
+" --noclear do not clear the screen before prompt\n"
+" --nohints do not print hints\n"
+" --nonewline do not print a newline before issue\n"
+" --no-hostname no hostname at all will be shown\n"
+" --long-hostname show full qualified hostname\n"
+" --version output version information and exit\n"
+" --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "user"
+msgstr "使用者"
+
+#: term-utils/agetty.c:1808
+#, c-format
+msgid "users"
+msgstr "使用者"
+
+#: term-utils/mesg.c:74
+#, fuzzy, c-format
+msgid " %s [options] [y | n]\n"
+msgstr ""
+"\n"
+"用法:%s [é¸é …]\n"
+"\n"
+
+#: term-utils/mesg.c:77
+msgid ""
+" -v, --verbose explain what is being done\n"
+" -V, --version output version information and exit\n"
+" -h, --help output help screen and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/mesg.c:121
+#, fuzzy
+msgid "ttyname failed"
+msgstr "unshare 失敗"
+
+#: term-utils/mesg.c:128
+#, fuzzy
+msgid "is y"
+msgstr "ćŻ y\n"
+
+#: term-utils/mesg.c:131
+#, fuzzy
+msgid "is n"
+msgstr "ćŻ n\n"
+
+#: term-utils/mesg.c:142 term-utils/mesg.c:148
+#, fuzzy, c-format
+msgid "change %s mode failed"
+msgstr "建立號誌時失敗"
+
+#: term-utils/mesg.c:144
+msgid "write access to your terminal is allowed"
+msgstr ""
+
+#: term-utils/mesg.c:150
+msgid "write access to your terminal is denied"
+msgstr ""
+
+#: term-utils/mesg.c:153
+#, fuzzy, c-format
+msgid "invalid argument: %s"
+msgstr "無ć•çš„ iflag:%s"
+
+#: term-utils/script.c:122
+#, fuzzy, c-format
+msgid ""
+"output file `%s' is a link\n"
+"Use --force if you really want to use it.\n"
+"Program not started."
+msgstr ""
+"警告:「%s」ćŻä¸€ĺ€‹éŹçµă€‚\n"
+"如果您真的č¦ä˝żç”¨ĺ®ĺ°±čĽ¸ĺ…Ąă€Ś%s [options] %s」。\n"
+"命令稿並未啟動。\n"
+
+#: term-utils/script.c:132
+#, fuzzy, c-format
+msgid " %s [options] [file]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: term-utils/script.c:135
+msgid ""
+" -a, --append append the output\n"
+" -c, --command <command> run command rather than interactive shell\n"
+" -e, --return return exit code of the child process\n"
+" -f, --flush run flush after each write\n"
+" --force use output file even when it is a link\n"
+" -q, --quiet be quiet\n"
+" -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/script.c:243
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "命令稿已啟動,檔ćˇćŻ %s\n"
+
+#: term-utils/script.c:365
+#, c-format
+msgid "Script started on %s"
+msgstr "命令稿啟動於 %s"
+
+#: term-utils/script.c:401
+#, fuzzy
+msgid "cannot write script file"
+msgstr "%s:無法寫入命令稿檔ćˇďĽŚéŚŻčŞ¤ďĽš%s\n"
+
+#: term-utils/script.c:481
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"命令稿已於 %s 完ć"
+
+#: term-utils/script.c:491
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "命令稿已完ć,檔ćˇćŻ %s\n"
+
+#: term-utils/script.c:513
+#, fuzzy
+msgid "openpty failed"
+msgstr "openpty 失敗\n"
+
+#: term-utils/script.c:549
+#, fuzzy
+msgid "out of pty's"
+msgstr "pty 數量不足\n"
+
+#: term-utils/scriptreplay.c:42
+#, fuzzy, c-format
+msgid " %s [-t] timingfile [typescript] [divisor]\n"
+msgstr "%s <timingfile> [<typescript> [<divisor>]]\n"
+
+#: term-utils/scriptreplay.c:46
+msgid ""
+" -t, --timing <file> script timing output file\n"
+" -s, --typescript <file> script terminal session output file\n"
+" -d, --divisor <num> speed up or slow down execution with time divisor\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/scriptreplay.c:65
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "é ćśźä¸€ĺ€‹ć•¸ĺ­—,但ćŻĺŤ»ĺľ—ĺ°ă€Ś%s」"
+
+#: term-utils/scriptreplay.c:68 term-utils/scriptreplay.c:72
+#, c-format
+msgid "divisor '%s'"
+msgstr "除數「%s」"
+
+#: term-utils/scriptreplay.c:116
+msgid "write to stdout failed"
+msgstr "寫入標準輸出時失敗"
+
+#: term-utils/scriptreplay.c:122
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "未é ćśźçš„檔ćˇçµćťźć–Ľ %s"
+
+#: term-utils/scriptreplay.c:124
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "讀取 typescript ćŞ”ćˇ %s 時失敗"
+
+#: term-utils/scriptreplay.c:185
+#, fuzzy
+msgid "wrong number of arguments"
+msgstr "未é ćśźçš„引數數量"
+
+#: term-utils/scriptreplay.c:215
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "č®€ĺŹ–ć™‚ĺşŹćŞ”ćˇ %s 時失敗"
+
+#: term-utils/scriptreplay.c:217
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "ć™‚ĺşŹćŞ”ćˇ %s:%lu:未é ćśźçš„格式"
+
+#: term-utils/setterm.c:674
+#, fuzzy
+msgid "Argument error."
+msgstr "%s:引數錯誤,用法\n"
+
+#: term-utils/setterm.c:681
+msgid ""
+" -term <terminal_name>\n"
+" -reset\n"
+" -initialize\n"
+" -cursor <on|off>\n"
+" -repeat <on|off>\n"
+" -appcursorkeys <on|off>\n"
+" -linewrap <on|off>\n"
+" -default\n"
+" -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+" -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+" -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+" -inversescreen <on|off>\n"
+" -bold <on|off>\n"
+" -half-bright <on|off>\n"
+" -blink <on|off>\n"
+" -reverse <on|off>\n"
+" -underline <on|off>\n"
+" -store >\n"
+" -clear <all|rest>\n"
+" -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+" -regtabs <1-160>\n"
+" -blank <0-60|force|poke>\n"
+" -dump <1-NR_CONSOLES>\n"
+" -append <1-NR_CONSOLES>\n"
+" -file dumpfilename\n"
+" -msg <on|off>\n"
+" -msglevel <0-8>\n"
+" -powersave <on|vsync|hsync|powerdown|off>\n"
+" -powerdown <0-60>\n"
+" -blength <0-2000>\n"
+" -bfreq freqnumber\n"
+" -version\n"
+" -help\n"
+msgstr ""
+
+#: term-utils/setterm.c:1072
+#, fuzzy
+msgid "cannot force blank"
+msgstr "無法強ĺ¶ç©şç™˝\n"
+
+#: term-utils/setterm.c:1076
+#, fuzzy
+msgid "cannot force unblank"
+msgstr "無法強ĺ¶éťžç©şç™˝\n"
+
+#: term-utils/setterm.c:1082
+#, fuzzy
+msgid "cannot get blank status"
+msgstr "無法取得空白狀態\n"
+
+#: term-utils/setterm.c:1094
+#, fuzzy
+msgid "cannot (un)set powersave mode"
+msgstr "無法(取ć¶)設定çśé›»ć¨ˇĺĽŹ\n"
+
+#: term-utils/setterm.c:1114
+#, fuzzy, c-format
+msgid "can not open dump file %s for output"
+msgstr "無法開啟裝置 %s 以供寫入\n"
+
+#: term-utils/setterm.c:1131 term-utils/setterm.c:1139
+#, fuzzy
+msgid "klogctl error"
+msgstr "klogctl 錯誤:%s\n"
+
+#: term-utils/setterm.c:1205
+#, fuzzy
+msgid "Error writing screendump"
+msgstr "寫入螢幕傾印時發生錯誤\n"
+
+#: term-utils/setterm.c:1212
+#, fuzzy, c-format
+msgid "Couldn't read %s"
+msgstr "無法讀取 %s\n"
+
+#: term-utils/setterm.c:1266
+#, fuzzy
+msgid "$TERM is not defined."
+msgstr "%s:$TERM 並未定義。\n"
+
+#: term-utils/setterm.c:1274
+msgid "terminfo database cannot be found"
+msgstr ""
+
+#: term-utils/setterm.c:1276
+#, fuzzy, c-format
+msgid "%s: unknown terminal type"
+msgstr "%s:不ćŽäżˇč™ź %s\n"
+
+#: term-utils/setterm.c:1278
+msgid "terminal is hardcopy"
+msgstr ""
+
+#: term-utils/ttymsg.c:77
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "太多 iov's (變更 wall/ttymsg.c 中的編碼)"
+
+#: term-utils/ttymsg.c:87
+#, c-format
+msgid "excessively long line arg"
+msgstr "éŽé•·çš„命令ĺ—引數"
+
+#: term-utils/ttymsg.c:142
+#, c-format
+msgid "cannot fork"
+msgstr "無法衍生執行"
+
+#: term-utils/ttymsg.c:146
+#, c-format
+msgid "fork: %s"
+msgstr "衍生:%s"
+
+#: term-utils/ttymsg.c:176
+#, c-format
+msgid "%s: BAD ERROR, message is far too long"
+msgstr ""
+
+#: term-utils/wall.c:83
+#, fuzzy, c-format
+msgid " %s [options] [<file>]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: term-utils/wall.c:86
+msgid ""
+" -n, --nobanner do not print banner, works only for root\n"
+" -t, --timeout <timeout> write timeout in seconds\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/wall.c:125
+msgid "--nobanner is available only for root"
+msgstr ""
+
+#: term-utils/wall.c:130
+#, fuzzy, c-format
+msgid "invalid timeout argument: %s"
+msgstr "不當的逾時設定值:%s"
+
+#: term-utils/wall.c:202
+#, fuzzy
+msgid "cannot get passwd uid"
+msgstr "無法設定使用者č­ĺĄč™ź"
+
+#: term-utils/wall.c:207
+#, fuzzy
+msgid "cannot get tty name"
+msgstr "無法取得çŁç˘źĺ¤§ĺ°Ź"
+
+#: term-utils/wall.c:223
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "廣播訊ćŻäľ†č‡Ş %s@%s"
+
+#: term-utils/wall.c:243
+#, fuzzy, c-format
+msgid "will not read %s - use stdin."
+msgstr "%s:無法讀取 %s - 使用標準輸入。\n"
+
+#: term-utils/wall.c:275
+#, fuzzy
+msgid "fread failed"
+msgstr "讀取失敗:%s"
+
+#: term-utils/write.c:81
+#, fuzzy, c-format
+msgid " %s [options] <user> [<ttyname>]\n"
+msgstr ""
+"\n"
+"用法:%s [é¸é …] č·Żĺľ‘ĺŤç¨± [č·Żĺľ‘ĺŤç¨±...]\n"
+
+#: term-utils/write.c:85
+msgid ""
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: term-utils/write.c:137
+#, fuzzy
+msgid "can't find your tty's name"
+msgstr "write:找不ĺ°ć‚¨çš„ tty ĺŤç¨±\n"
+
+#: term-utils/write.c:150
+#, fuzzy
+msgid "you have write permission turned off"
+msgstr "write:您已關閉寫入權é™ă€‚\n"
+
+#: term-utils/write.c:168
+#, fuzzy, c-format
+msgid "%s is not logged in on %s"
+msgstr "write:%s 並未登入 %s。\n"
+
+#: term-utils/write.c:174
+#, fuzzy, c-format
+msgid "%s has messages disabled on %s"
+msgstr "write:%s 已於 %s ĺśç”¨č¨ŠćŻ\n"
+
+#: term-utils/write.c:269
+#, fuzzy, c-format
+msgid "%s is not logged in"
+msgstr "write:%s 並未登入\n"
+
+#: term-utils/write.c:276
+#, fuzzy, c-format
+msgid "%s has messages disabled"
+msgstr "write:%s ĺ·˛ĺśç”¨č¨ŠćŻ\n"
+
+#: term-utils/write.c:278
+#, fuzzy, c-format
+msgid "%s is logged in more than once; writing to %s"
+msgstr "write:%s 已登入一次以上;寫入 %s\n"
+
+#: term-utils/write.c:326
+#, fuzzy, c-format
+msgid "tty path %s too long"
+msgstr "輸入ĺ—太長。\n"
+
+#: term-utils/write.c:342
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "訊ćŻäľ†č‡Ş %s@%s (身份為 %s) ć–Ľ %s 在 %s …"
+
+#: term-utils/write.c:345
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "訊ćŻäľ†č‡Ş %s@%s ć–Ľ %s 在 %s …"
+
+#: term-utils/write.c:372
+#, fuzzy
+msgid "carefulputc failed"
+msgstr "calloc 失敗"
+
+#: text-utils/col.c:125
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b, --no-backspaces do not output backspaces\n"
+" -f, --fine permit forward half line feeds\n"
+" -p, --pass pass unknown control sequences\n"
+" -h, --tabs convert spaces to tabs\n"
+" -x, --spaces convert tabs to spaces\n"
+" -l, --lines NUM buffer at least NUM lines\n"
+" -V, --version output version information and exit\n"
+" -H, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:136 text-utils/colrm.c:67
+#, c-format
+msgid ""
+"%s reads from standard input and writes to standard output\n"
+"\n"
+msgstr ""
+
+#: text-utils/col.c:144
+#, fuzzy
+msgid "write error."
+msgstr "col:寫入錯誤。\n"
+
+#: text-utils/col.c:199
+#, fuzzy
+msgid "bad -l argument"
+msgstr "col:不當的 -l 引數 %s。\n"
+
+#: text-utils/col.c:324
+#, fuzzy, c-format
+msgid "warning: can't back up %s."
+msgstr "col:警告:無法備份 %s。\n"
+
+#: text-utils/col.c:325
+msgid "past first line"
+msgstr "ç•ĄéŽç¬¬ä¸€ĺ—"
+
+#: text-utils/col.c:325
+msgid "-- line already flushed"
+msgstr "-- ĺ—已經清ç†"
+
+#: text-utils/colcrt.c:314
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file ...]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: text-utils/colcrt.c:318
+#, c-format
+msgid ""
+" -, --no-underlining suppress all underlining\n"
+" -2, --half-lines print all half-lines\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:59
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [startcol [endcol]]\n"
+msgstr ""
+"\n"
+"用法:%s [é¸é …]\n"
+"\n"
+
+#: text-utils/colrm.c:63
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/colrm.c:185
+#, fuzzy
+msgid "first argument"
+msgstr "不當的引數"
+
+#: text-utils/colrm.c:187
+#, fuzzy
+msgid "second argument"
+msgstr "不當的引數"
+
+#: text-utils/column.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] [file ...]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: text-utils/column.c:95
+#, c-format
+msgid ""
+" -h, --help displays this help text\n"
+" -V, --version output version information and exit\n"
+" -c, --columns <width> width of output in number of characters\n"
+" -t, --table create a table\n"
+" -s, --separator <string> table delimeter\n"
+" -x, --fillrows fill rows before columns\n"
+msgstr ""
+
+#: text-utils/column.c:102
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see column(1).\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ ipcmk(1)。\n"
+"\n"
+
+#: text-utils/column.c:150
+#, fuzzy
+msgid "invalid columns argument"
+msgstr "無ć•çš„é¸é …"
+
+#: text-utils/column.c:351
+#, c-format
+msgid "line %d is too long, output will be truncated"
+msgstr ""
+
+#: text-utils/display.c:262
+#, fuzzy
+msgid "all input file arguments failed"
+msgstr "啟用 rtc 警示"
+
+#: text-utils/hexdump.c:66
+msgid ""
+"calling hexdump as od has been deprecated in favour to GNU coreutils od."
+msgstr ""
+
+#: text-utils/hexsyntax.c:123
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] file...\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: text-utils/hexsyntax.c:127
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -b one-byte octal display\n"
+" -c one-byte character display\n"
+" -C canonical hex+ASCII display\n"
+" -d two-byte decimal display\n"
+" -o two-byte octal display\n"
+" -x two-byte hexadecimal display\n"
+" -e format format string to be used for displaying data\n"
+" -f format_file file that contains format strings\n"
+" -n length interpret only length bytes of input\n"
+" -s offset skip offset bytes from the beginning\n"
+" -v display without squeezing similar lines\n"
+" -V output version information and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:300
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: text-utils/more.c:303
+#, c-format
+msgid ""
+"Options:\n"
+" -d display help instead of ring bell\n"
+" -f count logical, rather than screen lines\n"
+" -l suppress pause after form feed\n"
+" -p suppress scroll, clean screen and display text\n"
+" -c suppress scroll, display text and clean line ends\n"
+" -u suppress underlining\n"
+" -s squeeze multiple blank lines into one\n"
+" -NUM specify the number of lines per screenful\n"
+" +NUM display file beginning from line number NUM\n"
+" +/STRING display file beginning from search string match\n"
+" -V output version information and exit\n"
+msgstr ""
+
+#: text-utils/more.c:540
+#, fuzzy, c-format
+msgid "more (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: text-utils/more.c:544
+#, fuzzy, c-format
+msgid "unknown option -%s"
+msgstr "%s:不ćŽçš„é¸é …「-%c」\n"
+
+#: text-utils/more.c:575
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: 目錄 ***\n"
+"\n"
+
+#: text-utils/more.c:619
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: 不ćŻć–‡ĺ­—檔 ********\n"
+"\n"
+
+#: text-utils/more.c:723
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[使用 q ć– Q 以離開]"
+
+#: text-utils/more.c:799
+#, c-format
+msgid "--More--"
+msgstr "--更多--"
+
+#: text-utils/more.c:801
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(下一個檔ćˇďĽš%s)"
+
+#: text-utils/more.c:806
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[按下空格以繼續,「q」表示離開。]"
+
+#: text-utils/more.c:1239
+#, c-format
+msgid "...back %d pages"
+msgstr "...倒退 %d é "
+
+#: text-utils/more.c:1241
+msgid "...back 1 page"
+msgstr "...倒退 1 é "
+
+#: text-utils/more.c:1284
+msgid "...skipping one line"
+msgstr "...č·łéŽ 1 ĺ—"
+
+#: text-utils/more.c:1286
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...č·łéŽ %d ĺ—"
+
+#: text-utils/more.c:1323
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***倒退***\n"
+"\n"
+
+#: text-utils/more.c:1339
+#, fuzzy
+msgid "No previous regular expression"
+msgstr "正規表示式補ä¸"
+
+#: text-utils/more.c:1368
+msgid ""
+"\n"
+"Most commands optionally preceded by integer argument k. Defaults in "
+"brackets.\n"
+"Star (*) indicates argument becomes new default.\n"
+msgstr ""
+"\n"
+"大é¨ä»˝ĺ‘˝ä»¤ĺŹŻé¸ç”¨ĺ‰Ťĺ°Žçš„整數引數 k。é č¨­ĺ€Ľä˝Ťć–Ľä¸­ć‹¬č™źĺ…§ă€‚\n"
+"ćźč™ź (*) 用來指定引數ćç‚şć–°çš„é č¨­ĺ€Ľă€‚\n"
+
+#: text-utils/more.c:1375
+msgid ""
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"
+msgstr ""
+"<space> 顯示下一組 k ĺ—文字 [目前螢幕大小]\n"
+"z 顯示下一組 k ĺ—文字 [目前螢幕大小]*\n"
+"<return> 顯示下一組 k ĺ—文字 [1]*\n"
+"d ć– ctrl-D 捲動 k ĺ— [目前捲動大小,ĺťĺ§‹ĺ€Ľ 11]*\n"
+"q ć– Q ć– <interrupt> 離開 more\n"
+"s ĺ‘ĺ‰Ťč·łéŽ k ĺ—文字 [1]\n"
+"f ĺ‘ĺ‰Ťč·łéŽ k 全螢幕的文字 [1]\n"
+"b ć– ctrl-B ĺ‘ĺľŚč·łéŽ k 全螢幕的文字 [1]\n"
+"' 前往前一個ćśĺ°‹é–‹ĺ§‹çš„位置\n"
+"= 顯示目前ĺ—號\n"
+"/<正規表示式> ćśĺ°‹ç¬¬ k 個出現的正規表示式 [1]\n"
+"n ćśĺ°‹ç¬¬ k 個出現的倒數正規表示式 [1]\n"
+"!<cmd> ć– :!<cmd> 在 subshell 中執行 <cmd>\n"
+"v 在當前ĺ—上啟動 /usr/bin/vi\n"
+"ctrl-L 重繪螢幕\n"
+":n 前往後面第 k ĺ€‹ćŞ”ćˇ [1]\n"
+":p 前往前面第 k ĺ€‹ćŞ”ćˇ [1]\n"
+":f 顯示目前檔ćˇĺŤç¨±ĺ’Śĺ—號\n"
+". 重複前一個命令\n"
+
+#: text-utils/more.c:1444 text-utils/more.c:1449
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[按下「h」ĺ—出指令。]"
+
+#: text-utils/more.c:1483
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "「%s」第 %d ĺ—"
+
+#: text-utils/more.c:1485
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[非檔ćˇ] 第 %d ĺ—"
+
+#: text-utils/more.c:1569
+msgid " Overflow\n"
+msgstr " 溢位\n"
+
+#: text-utils/more.c:1619
+msgid "...skipping\n"
+msgstr "...č·łéŽ\n"
+
+#: text-utils/more.c:1655
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"找不ĺ°ç›¸ç¬¦çš„式樣\n"
+
+#: text-utils/more.c:1658 text-utils/pg.c:1130 text-utils/pg.c:1281
+msgid "Pattern not found"
+msgstr "找不ĺ°ç›¸ç¬¦çš„式樣"
+
+#: text-utils/more.c:1707
+msgid "exec failed\n"
+msgstr "執行時失敗\n"
+
+#: text-utils/more.c:1721
+msgid "can't fork\n"
+msgstr "無法衍生執行\n"
+
+#: text-utils/more.c:1760
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...č·łéŽ "
+
+#: text-utils/more.c:1764
+msgid "...Skipping to file "
+msgstr "...č·łĺ°ćŞ”ćˇ "
+
+#: text-utils/more.c:1766
+msgid "...Skipping back to file "
+msgstr "...č·łĺ›žćŞ”ćˇ "
+
+#: text-utils/more.c:2042
+msgid "Line too long"
+msgstr "ĺ—太長"
+
+#: text-utils/more.c:2077
+msgid "No previous command to substitute for"
+msgstr "沒有前一個命令可用於替代"
+
+#: text-utils/parse.c:67
+msgid "line too long"
+msgstr "ĺ—的長度éŽé•·"
+
+#: text-utils/parse.c:400
+#, fuzzy
+msgid "byte count with multiple conversion characters"
+msgstr "hexdump:位ĺ…組č¨ć•¸č‡ĺ¤šé‡Ťč˝‰ćŹ›ĺ­—ĺ…。\n"
+
+#: text-utils/parse.c:479
+#, fuzzy, c-format
+msgid "bad byte count for conversion character %s"
+msgstr "hexdump:不當的位ĺ…組č¨ć•¸ç”¨ć–Ľč˝‰ćŹ›ĺ­—ĺ… %s。\n"
+
+#: text-utils/parse.c:484
+#, fuzzy, c-format
+msgid "%%s requires a precision or a byte count"
+msgstr "hexdump:%%s č¦ć±‚精確度ć–位ĺ…組č¨ć•¸ă€‚\n"
+
+#: text-utils/parse.c:489
+#, fuzzy, c-format
+msgid "bad format {%s}"
+msgstr "hexdump:不當的格式 {%s}\n"
+
+#: text-utils/parse.c:494
+#, fuzzy, c-format
+msgid "bad conversion character %%%s"
+msgstr "hexdumpďĽšä¸Ťç•¶çš„č˝‰ćŹ›ĺ­—ĺ… %%%s。\n"
+
+#: text-utils/pg.c:147
+#, fuzzy
+msgid ""
+"-------------------------------------------------------\n"
+" h this screen\n"
+" q or Q quit program\n"
+" <newline> next page\n"
+" f skip a page forward\n"
+" d or ^D next halfpage\n"
+" l next line\n"
+" $ last page\n"
+" /regex/ search forward for regex\n"
+" ?regex? or ^regex^ search backward for regex\n"
+" . or ^L redraw screen\n"
+" w or z set page size and go to next page\n"
+" s filename save current file to filename\n"
+" !command shell escape\n"
+" p go to previous file\n"
+" n go to next file\n"
+"\n"
+"Many commands accept preceding numbers, for example:\n"
+"+1<newline> (next page); -1<newline> (previous page); 1<newline> (first "
+"page).\n"
+"\n"
+"See pg(1) for more information.\n"
+"-------------------------------------------------------\n"
+msgstr ""
+"ç‰ć¬Šć‰€ćś‰ă€‚\n"
+" -------------------------------------------------------\n"
+" h 這個畫面\n"
+" q ć– Q 離開程式\n"
+" <newline> 下一é \n"
+" f ĺ‘前跳éŽé éť˘\n"
+" d ć– ^D 下一半é \n"
+" l 下一ĺ—\n"
+" $ 最後一é \n"
+" /regex/ ĺ‘前ćśĺ°‹ regex\n"
+" ?regex? ć– ^regex^ ĺ‘後ćśĺ°‹ regex\n"
+" . ć– ^L 重繪螢幕\n"
+" w ć– z 設定é éť˘ĺ¤§ĺ°Źä¸¦ĺ‰Ťĺľ€ä¸‹ä¸€é \n"
+" s ćŞ”ĺŤ ĺ„˛ĺ­ç›®ĺ‰Ťçš„檔ćˇç‚şćŞ”ĺŤ\n"
+" !命令 命令殼命令\n"
+" p 前往上一個檔ćˇ\n"
+" n 前往下一個檔ćˇ\n"
+"\n"
+"許多命令接受前置數量,č‰äľ‹äľ†čŞŞďĽš\n"
+"+1<newline>(下一é );-1<newline> (上一é );1<newline>(第一é )。\n"
+"\n"
+"ĺŹçś‹ pg(1) 以獲得更多資訊。\n"
+" -------------------------------------------------------\n"
+
+#: text-utils/pg.c:224
+#, fuzzy, c-format
+msgid " %s [options] [+line] [+/pattern/] [files]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: text-utils/pg.c:227
+msgid " -number lines per page\n"
+msgstr ""
+
+#: text-utils/pg.c:228
+msgid " -c clear screen before displaying\n"
+msgstr ""
+
+#: text-utils/pg.c:229
+#, fuzzy
+msgid " -e do not pause at end of a file\n"
+msgstr " p 顯示ĺ†ĺ‰˛čˇ¨ć–Ľčž˘ĺą•ć–輸出至檔ćˇ"
+
+#: text-utils/pg.c:230
+#, fuzzy
+msgid " -f do not split long lines\n"
+msgstr " -n : 不č¦çśźĺś°ĺŻ«ĺ…ĄçŁç˘ź"
+
+#: text-utils/pg.c:231
+msgid " -n terminate command with new line\n"
+msgstr ""
+
+#: text-utils/pg.c:232
+msgid " -p <prompt> specify prompt\n"
+msgstr ""
+
+#: text-utils/pg.c:233
+msgid " -r disallow shell escape\n"
+msgstr ""
+
+#: text-utils/pg.c:234
+#, fuzzy
+msgid " -s print messages to stdout\n"
+msgstr " -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+
+#: text-utils/pg.c:235
+msgid " +number start at the given line\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+msgid " +/pattern/ start at the line containing pattern\n"
+msgstr ""
+
+#: text-utils/pg.c:237
+msgid " -h display this help and exit\n"
+msgstr ""
+
+#: text-utils/pg.c:238
+#, fuzzy
+msgid " -V output version information and exit\n"
+msgstr " -V, --version 輸出ç‰ćś¬čł‡č¨Š\n"
+
+#: text-utils/pg.c:246
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s:é¸é …需č¦ä¸€ĺ€‹ĺĽ•ć•¸ -- %s\n"
+
+#: text-utils/pg.c:254
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s:不ĺćł•çš„é¸é … -- %s\n"
+
+#: text-utils/pg.c:371
+msgid "...skipping forward\n"
+msgstr "...ĺ‘前跳éŽ\n"
+
+#: text-utils/pg.c:373
+msgid "...skipping backward\n"
+msgstr "...ĺ‘後跳éŽ\n"
+
+#: text-utils/pg.c:395
+msgid "No next file"
+msgstr "沒有下個檔ćˇ"
+
+#: text-utils/pg.c:399
+msgid "No previous file"
+msgstr "沒有上個檔ćˇ"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s:從 %s 檔ćˇč®€ĺŹ–時錯誤\n"
+
+#: text-utils/pg.c:940
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s:在 %s 檔ćˇä¸­ĺ‡şçŹľćśŞé ćśźçš„檔ćˇçµćťź\n"
+
+#: text-utils/pg.c:943
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s:%s 檔ćˇä¸­ç™Ľç”źä¸ŤćŽéŚŻčޤ\n"
+
+#: text-utils/pg.c:1038
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s:無法建立暫ĺ­ćŞ”\n"
+
+#: text-utils/pg.c:1047 text-utils/pg.c:1222 text-utils/pg.c:1249
+msgid "RE error: "
+msgstr "正規表示式錯誤:"
+
+#: text-utils/pg.c:1204
+msgid "(EOF)"
+msgstr "(檔ćˇçµćťź)"
+
+#: text-utils/pg.c:1230 text-utils/pg.c:1257
+msgid "No remembered search string"
+msgstr "沒有被č¨ä˝Źçš„ćśĺ°‹ĺ­—串"
+
+#: text-utils/pg.c:1313
+#, fuzzy
+msgid "cannot open "
+msgstr "無法開啟 %s"
+
+#: text-utils/pg.c:1361
+msgid "saved"
+msgstr "已儲ĺ­"
+
+#: text-utils/pg.c:1468
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ":!命令在 rflag 模式不ĺ…許。\n"
+
+#: text-utils/pg.c:1500
+msgid "fork() failed, try again later\n"
+msgstr "fork() 失敗,稍後再試\n"
+
+#: text-utils/pg.c:1592
+#, c-format
+msgid "%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"
+msgstr ""
+
+#: text-utils/pg.c:1717
+msgid "(Next file: "
+msgstr "(下個檔ćˇďĽš"
+
+#: text-utils/rev.c:77
+#, fuzzy, c-format
+msgid "Usage: %s [options] [file ...]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: text-utils/rev.c:80
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+msgstr ""
+
+#: text-utils/rev.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see rev(1).\n"
+msgstr ""
+"\n"
+"č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ unshare(1)。\n"
+
+#: text-utils/tailf.c:115
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "寫入「%s」不完整 (已寫入 %zd,é ćśźĺ‰‡ç‚ş %zd)\n"
+
+#: text-utils/tailf.c:161
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr "%s:無法加入 inotify 監看 (ĺ·˛é”ĺ° inotify 的監看é™ĺ¶)。"
+
+#: text-utils/tailf.c:198
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [option] file\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: text-utils/tailf.c:203
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -n, --lines NUMBER output the last NUMBER lines\n"
+" -NUMBER same as `-n NUMBER'\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/tailf.c:221 text-utils/tailf.c:262
+#, fuzzy
+msgid "failed to parse number of lines"
+msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#: text-utils/tailf.c:275
+#, fuzzy
+msgid "no input file specified"
+msgstr "未指定任何檔ĺŤ"
+
+#: text-utils/ul.c:136
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" %s [options] [file...]\n"
+msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#: text-utils/ul.c:140
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -t, --terminal TERMINAL override the TERM environment variable\n"
+" -i, --indicated underlining is indicated via a separate line\n"
+" -V, --version output version information and exit\n"
+" -h, --help display this help and exit\n"
+"\n"
+msgstr ""
+
+#: text-utils/ul.c:210
+msgid "trouble reading terminfo"
+msgstr "讀取 terminfo 時出現問題"
+
+#: text-utils/ul.c:215
+#, c-format
+msgid "terminal `%s' is not known, defaulting to `dumb'"
+msgstr ""
+
+#: text-utils/ul.c:311
+#, fuzzy, c-format
+msgid "unknown escape sequence in input: %o, %o"
+msgstr "不ćŽçš„退出序ĺ—於輸入:%o, %o\n"
+
+#: text-utils/ul.c:648
+#, fuzzy
+msgid "Input line too long."
+msgstr "輸入ĺ—太長。\n"
+
+#~ msgid "%s: open failed"
+#~ msgstr "%s:開啟失敗"
+
+#, fuzzy
+#~ msgid "cannot open file %s"
+#~ msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#, fuzzy
+#~ msgid "cannot stat file %s"
+#~ msgstr "無法č­ĺĄčŁťç˝®ç‹€ć…‹ %s"
+
+#, fuzzy
+#~ msgid "couldn't open %s"
+#~ msgstr "無法開啟 %s\n"
+
+#~ msgid "open failed: %s"
+#~ msgstr "開啟失敗:%s"
+
+#, fuzzy
+#~ msgid "unable to open '%s': %s"
+#~ msgstr "無法開啟「%s」:%s"
+
+#, fuzzy
+#~ msgid "failed to open %s"
+#~ msgstr "%s:開啟失敗:%s\n"
+
+#~ msgid "cannot stat device %s"
+#~ msgstr "無法č­ĺĄčŁťç˝®ç‹€ć…‹ %s"
+
+#, fuzzy
+#~ msgid "cannot stat %s"
+#~ msgstr "無法č­ĺĄă€Ś%s」狀態"
+
+#~ msgid "%s: failed to open"
+#~ msgstr "%s:無法開啟"
+
+#~ msgid "Cannot open file '%s'"
+#~ msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#~ msgid ""
+#~ "This disk has both DOS and BSD magic.\n"
+#~ "Give the 'b' command to go to BSD mode.\n"
+#~ msgstr ""
+#~ "這個çŁç˘źĺŚć™‚有 DOS ĺ’Ś BSD 特殊碼。\n"
+#~ "輸入「b」命令以前往 BSD 模式。\n"
+
+#~ msgid "unable to open %s"
+#~ msgstr "無法開啟 %s"
+
+#~ msgid "error: cannot open %s"
+#~ msgstr "錯誤:無法開啟 %s"
+
+#~ msgid "Failed to open %s for reading, exiting."
+#~ msgstr "開啟 %s 用於讀取時失敗,離開。"
+
+#, fuzzy
+#~ msgid "cannot open file"
+#~ msgstr "ç„ˇćł•é–‹ĺ•źćŞ”ćˇ '%s'"
+
+#, fuzzy
+#~ msgid "Could not open %s"
+#~ msgstr "無法開啟 %s\n"
+
+#~ msgid "could not stat '%s'"
+#~ msgstr "無法顯示狀態「%s」"
+
+#, fuzzy
+#~ msgid "cannot stat: %s"
+#~ msgstr "無法č­ĺĄă€Ś%s」狀態"
+
+#~ msgid "%s: fstat failed"
+#~ msgstr "%s:fstat 失敗"
+
+#, fuzzy
+#~ msgid "Cannot open /dev/port"
+#~ msgstr "無法開啟 /dev/port:%s"
+
+#~ msgid "open() of %s failed"
+#~ msgstr "%s 的 open() 失敗"
+
+#~ msgid "Open of %s failed"
+#~ msgstr "開啟 %s 時失敗"
+
+#~ msgid "Unable to open %s"
+#~ msgstr "無法開啟 %s"
+
+#, fuzzy
+#~ msgid "failed to allocate source buffer"
+#~ msgstr "配置輸出緩衝區時失敗"
+
+#, fuzzy
+#~ msgid "failed to stat directory"
+#~ msgstr "顯示狀態時失敗:%s"
+
+#, fuzzy
+#~ msgid "failed to stat %s"
+#~ msgstr "顯示狀態時失敗:%s"
+
+#, fuzzy
+#~ msgid "failed to stat directory %s"
+#~ msgstr "顯示狀態時失敗:%s"
+
+#, fuzzy
+#~ msgid "stat %s failed"
+#~ msgstr "狀態取得失敗:%s"
+
+#~ msgid "cannot open timing file %s"
+#~ msgstr "ç„ˇćł•é–‹ĺ•źć™‚ĺşŹćŞ”ćˇ %s"
+
+#~ msgid "cannot open typescript file %s"
+#~ msgstr "無法開啟 typescript ćŞ”ćˇ %s"
+
+#~ msgid "Cannot open "
+#~ msgstr "無法開啟 "
+
+#~ msgid "cannot open \"%s\" for read"
+#~ msgstr "無法開啟「%s」以讀取"
+
+#~ msgid "cannot stat \"%s\""
+#~ msgstr "無法č­ĺĄă€Ś%s」狀態"
+
+#~ msgid ""
+#~ "usage: %s [-hv] [-x dir] file\n"
+#~ " -h print this help\n"
+#~ " -x dir extract into dir\n"
+#~ " -v be more verbose\n"
+#~ " file file to test\n"
+#~ msgstr ""
+#~ "用法:%s [-hv] [-x dir] file\n"
+#~ " -h 印出這個說ćŽ\n"
+#~ " -x dir 解開ĺ°ç›®éŚ„\n"
+#~ " -v 更詳細的訊ćŻ\n"
+#~ " file 用來測試的檔ćˇ\n"
+
+#~ msgid "Usage: %s [-larvsmf] /dev/name\n"
+#~ msgstr "用法:%s [-larvsmf] /dev/name\n"
+
+#, fuzzy
+#~ msgid "failed to parse blocksize argument"
+#~ msgstr "ĺ‰–ćž pid 時失敗"
+
+#, fuzzy
+#~ msgid "error: will not try to make swapdevice on '%s'"
+#~ msgstr "%s:錯誤:將不ćśč©¦č‘—於「%s」製作交換裝置\n"
+
+#, fuzzy
+#~ msgid "Cannot open master raw device '%s' (%s)\n"
+#~ msgstr "無法定位 raw 裝置「%s」(%s)\n"
+
+#~ msgid ""
+#~ "Usage: %s [options] <device>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "用法:%s [é¸é …] <裝置>\n"
+#~ "\n"
+#~ "é¸é …:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see swaplabel(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ swaplabel(8)。\n"
+
+#~ msgid "You will not be able to write the partition table.\n"
+#~ msgstr "您將不č˝ĺŻ«ĺ…Ąĺ†ĺ‰˛čˇ¨ă€‚\n"
+
+#~ msgid "Partition %i does not start on cylinder boundary:\n"
+#~ msgstr "ĺ†ĺ‰˛ĺŤ€ %i 並非開始於çŁćź±é‚Šç•ŚďĽš\n"
+
+#~ msgid "should be (%d, %d, 1)\n"
+#~ msgstr "ć‡‰č©˛ćŻ (%d, %d, 1)\n"
+
+#~ msgid "should be (%d, %d, %d)\n"
+#~ msgstr "ć‡‰č©˛ćŻ (%d, %d, %d)\n"
+
+#~ msgid "Disk %s doesn't contain a valid partition table\n"
+#~ msgstr "çŁç˘ź %s 不包ĺ«ćś‰ć•çš„ĺ†ĺ‰˛čˇ¨\n"
+
+#~ msgid "Cannot open %s\n"
+#~ msgstr "無法開啟 %s\n"
+
+#~ msgid "This kernel finds the sector size itself - -b option ignored\n"
+#~ msgstr "內核自行找ĺ°çŁĺŤ€ĺ¤§ĺ°Ź - -b é¸é …忽略\n"
+
+#~ msgid "out of memory?\n"
+#~ msgstr "č¨ć†¶é«”不足?\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "sfdisk: premature end of input\n"
+#~ msgstr ""
+#~ "\n"
+#~ "sfdisk:未é”çµĺ°ľçš„輸入\n"
+
+#, fuzzy
+#~ msgid "WARNING: couldn't open %s"
+#~ msgstr "警告:無法開啟 %s:%s\n"
+
+#, fuzzy
+#~ msgid "WARNING: bad format on line %d of %s"
+#~ msgstr "警告:不當的格式於 %2$s 的第 %1$d ĺ—\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "WARNING: Your /etc/fstab does not contain the fsck passno\n"
+#~ "\tfield. I will kludge around things for you, but you\n"
+#~ "\tshould fix your /etc/fstab file as soon as you can.\n"
+#~ msgstr ""
+#~ "警告:您的 /etc/fstab ä¸ŤĺŚ…ĺ« fsck passno\n"
+#~ "\t欄位。ć‘將為您打點瑣事,但ćŻć‚¨\n"
+#~ "\t應該ĺ„快修正您的 /etc/fstab 檔ćˇă€‚\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "failed to parse epoch"
+#~ msgstr "ĺ‰–ćž pid 時失敗"
+
+#, fuzzy
+#~ msgid ""
+#~ "You have specified multiple functions.\n"
+#~ "You can only perform one function at a time."
+#~ msgstr ""
+#~ "您已指定多重功č˝ă€‚\n"
+#~ "您只č˝ä¸€ć¬ˇĺŻ¦čˇŚä¸€ĺ€‹ĺŠźč˝ă€‚\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --utc and --localtime options are mutually exclusive. You specified "
+#~ "both."
+#~ msgstr "%s:--utc ĺ’Ś --localtime é¸é …互斥。 您卻已指定兩者。\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjust and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr "%s:--adjust ĺ’Ś --noadjfile é¸é …互斥。 您卻已指定兩者。\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "The --adjfile and --noadjfile options are mutually exclusive. You "
+#~ "specified both."
+#~ msgstr "%s:--adjust ĺ’Ś --noadjfile é¸é …互斥。 您卻已指定兩者。\n"
+
+#, fuzzy
+#~ msgid "cannot lock group file"
+#~ msgstr "無法設定群組č­ĺĄč™ź"
+
+#, fuzzy
+#~ msgid "the %s file is busy (%s present)"
+#~ msgstr "%s: %s 檔ćˇĺż™ç˘Śä¸­ (目前 %s)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see findmnt(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ findmnt(1)。\n"
+
+#, fuzzy
+#~ msgid "failed to parse timeout"
+#~ msgstr "ĺ‰–ćž pid 時失敗"
+
+#, fuzzy
+#~ msgid "failed to parse sigval"
+#~ msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#, fuzzy
+#~ msgid "failed to parse port number"
+#~ msgstr "剖ćžĺ„Şĺ…權時失敗"
+
+#, fuzzy
+#~ msgid "port `%ld' out of range"
+#~ msgstr "數值超出範圍。\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ swaplabel(8)。\n"
+
+#~ msgid "invalid offset value '%s' specified"
+#~ msgstr "指定了無ć•çš„ĺŹç§»ĺ€Ľă€Ś%s」"
+
+#~ msgid "--offset and --all are mutually exclusive"
+#~ msgstr "--offset 和 --all 彼此互斥"
+
+#, fuzzy
+#~ msgid "warning: failed to read mtab"
+#~ msgstr "讀取時失敗:%s"
+
+#, fuzzy
+#~ msgid "the options %s are mutually exclusive"
+#~ msgstr "é¸é …彼此互斥"
+
+#~ msgid "failed to parse priority"
+#~ msgstr "剖ćžĺ„Şĺ…權時失敗"
+
+#, fuzzy
+#~ msgid "failed to parse class data"
+#~ msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#, fuzzy
+#~ msgid "failed to parse class"
+#~ msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#, fuzzy
+#~ msgid "failed to parse buffer size"
+#~ msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fallocate(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ fallocate(1)。\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see fstrim(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ findmnt(1)。\n"
+
+#, fuzzy
+#~ msgid "invalid speed"
+#~ msgstr "無ć•çš„速度:%s"
+
+#, fuzzy
+#~ msgid "invalid offset '%s' specified"
+#~ msgstr "%s:指定了無ć•çš„ĺŹç§»ĺ€Ľă€Ś%s」"
+
+#, fuzzy
+#~ msgid "invalid size '%s' specified"
+#~ msgstr "%s:指定了無ć•çš„大小é™ĺ¶ă€Ś%s」"
+
+#, fuzzy
+#~ msgid "failed to setup loop device"
+#~ msgstr "mount:設定環路裝置時失敗\n"
+
+#, fuzzy
+#~ msgid "extended and parsable formats are mutually exclusive"
+#~ msgstr "é¸é …彼此互斥"
+
+#, fuzzy
+#~ msgid "--all, --online and --offline options are mutually exclusive"
+#~ msgstr "é¸é …彼此互斥"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mountpoint(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ ipcmk(1)。\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "cannot parse PID"
+#~ msgstr "無法開啟 %s"
+
+#, fuzzy
+#~ msgid "failed to parse seconds value"
+#~ msgstr "ĺ‰–ćž %s %s 時失敗"
+
+#, fuzzy
+#~ msgid "failed to parse time_t value"
+#~ msgstr "ĺ‰–ćž pid 時失敗"
+
+#~ msgid "%s: unexpected file format"
+#~ msgstr "%s:未é ćśźçš„檔ćˇć ĽĺĽŹ"
+
+#~ msgid "'%s' is unsupported program name (must be 'swapon' or 'swapoff')."
+#~ msgstr "「%s」為不受支援的程式ĺŤç¨± (ĺż…é ćŻă€Śswapon」ć–「swapoff」)。"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see lsblk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ swaplabel(8)。\n"
+
+#, fuzzy
+#~ msgid "argument %lu is too large"
+#~ msgstr "資料區塊太大"
+
+#, fuzzy
+#~ msgid "terminal environment COLUMNS failed"
+#~ msgstr "建立號誌時失敗"
+
+#, fuzzy
+#~ msgid "bad length value"
+#~ msgstr "hexdump:不當的長度值。\n"
+
+#, fuzzy
+#~ msgid "bad skip value"
+#~ msgstr "hexdump:不當的跳éŽĺ€Ľă€‚\n"
+
+#~ msgid ""
+#~ "%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+#~ "[files]\n"
+#~ msgstr ""
+#~ "%s:用法:%s [-數字] [-p 字串] [-cefnrs] [+ĺ—] [+/式樣/] [多個檔ćˇ]\n"
+
+#, fuzzy
+#~ msgid "%s: %d: parse error -- line ignored.\n"
+#~ msgstr "剖ćžéŚŻčŞ¤ç™Ľç”źć–Ľĺ—號:"
+
+#, fuzzy
+#~ msgid "warning: failed to parse %s"
+#~ msgstr "讀取時失敗:%s"
+
+#, fuzzy
+#~ msgid "%-25s: failed: %s\n"
+#~ msgstr "%s:衍生執行時失敗:%s\n"
+
+#, fuzzy
+#~ msgid "%-25s: failed\n"
+#~ msgstr "%s 失敗。\n"
+
+#~ msgid " d delete a BSD partition"
+#~ msgstr " d ĺŞé™¤ BSD ĺ†ĺ‰˛"
+
+#~ msgid " l list known filesystem types"
+#~ msgstr " l ĺ—出已知檔ćˇçł»çµ±éˇžĺž‹"
+
+#~ msgid " n add a new BSD partition"
+#~ msgstr " n 加入新的 BSD ĺ†ĺ‰˛"
+
+#~ msgid " p print BSD partition table"
+#~ msgstr " p 印出 BSD ĺ†ĺ‰˛čˇ¨"
+
+#~ msgid " t change a partition's filesystem id"
+#~ msgstr " t 變更ĺ†ĺ‰˛ĺŤ€çš„檔ćˇçł»çµ±č­ĺĄč™ź"
+
+#~ msgid " u change units (cylinders/sectors)"
+#~ msgstr " u 變更單位 (çŁćź±/çŁĺŤ€)"
+
+#~ msgid " p print the partition table"
+#~ msgstr " p 印出ĺ†ĺ‰˛čˇ¨"
+
+#~ msgid ""
+#~ "Building a new DOS disklabel with disk identifier 0x%08x.\n"
+#~ "Changes will remain in memory only, until you decide to write them.\n"
+#~ "After that, of course, the previous content won't be recoverable.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "以çŁç˘źč­ĺĄç˘Ľ 0x%08x 建立新的 DOS çŁç˘źć¨™ç±¤ă€‚\n"
+#~ "變更將ĺ…ĺ­ć–Ľč¨ć†¶é«”之中,直ĺ°ć‚¨ć±şĺ®šĺŻ«ĺ…Ąĺ®ĺ€‘。\n"
+#~ "在此之後,前一個內容當然將無法回復。\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+#~ "disklabel\n"
+#~ msgstr "裝置不ĺ«ćś‰ć•çš„ DOS ĺ†ĺ‰˛čˇ¨ďĽŚäąźä¸Ťĺ« Sună€SGI ć– OSF çŁç˘źć¨™ç±¤\n"
+
+#~ msgid "Internal error\n"
+#~ msgstr "ĺ…§é¨éŚŻčޤ\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\tSorry, no experts menu for SGI partition tables available.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\t抱歉,沒有可用的 SGI ĺ†ĺ‰˛čˇ¨ĺ°ĺ®¶é¸ĺ–®ă€‚\n"
+#~ "\n"
+
+#~ msgid "Do You know, You got a partition overlap on the disk?\n"
+#~ msgstr "您知é“在çŁç˘źä¸Šćś‰é‡Ťç–Šçš„ĺ†ĺ‰˛ĺŤ€ĺ—ŽďĽź\n"
+
+#~ msgid ""
+#~ "Building a new SGI disklabel. Changes will remain in memory only,\n"
+#~ "until you decide to write them. After that, of course, the previous\n"
+#~ "content will be unrecoverably lost.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "建立新的 SGI çŁç˘źć¨™ç±¤ă€‚變更將只保留於č¨ć†¶é«”中,\n"
+#~ "ç›´ĺ°ć‚¨ć±şĺ®šĺŻ«ĺ…Ąĺ®ĺ€‘。當然在此之後,前一個\n"
+#~ "內容將ćśĺ¤±ĺŽ»č€Śç„ˇćł•ĺ›žĺľ©ă€‚\n"
+#~ "\n"
+
+#~ msgid "out of memory - giving up\n"
+#~ msgstr "č¨ć†¶é«”不足 - 放棄\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see mount(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ ipcmk(1)。\n"
+#~ "\n"
+
+#~ msgid "login: memory low, login may fail\n"
+#~ msgstr "登入:č¨ć†¶é«”減少,登入也可č˝ćśĺ¤±ć•—\n"
+
+#~ msgid "can't malloc for ttyclass"
+#~ msgstr "無法將 malloc 用於 ttyclass"
+
+#~ msgid "can't malloc for grplist"
+#~ msgstr "無法將 malloc 用於 grplist"
+
+#~ msgid "Login on %s from %s denied by default.\n"
+#~ msgstr "é č¨­ćść‹’絕從 %2$s ç™»ĺ…Ąĺ° %1$s。\n"
+
+#~ msgid "Login on %s from %s denied.\n"
+#~ msgstr "ĺľž %2$s ĺ° %1$s 的登入被拒。\n"
+
+#~ msgid "Usage: %s [ -f full-name ] [ -o office ] "
+#~ msgstr "用法:%s [ -f full-name ] [ -o office ] "
+
+#~ msgid "[ --help ] [ --version ]\n"
+#~ msgstr "[ --help ] [ --version ]\n"
+
+#, fuzzy
+#~ msgid "%s: PAM failure, aborting: %s"
+#~ msgstr "%s:PAM 失敗,放棄:%s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %1$s [-s shell] [username]\n"
+#~ " or: %1$s (--list-shells | --help | --version)\n"
+#~ msgstr ""
+#~ "用法:%s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+#~ " [ username ]\n"
+
+#, fuzzy
+#~ msgid "%s: can only change local entries."
+#~ msgstr "%s:只č˝č®Šć›´ćś¬ĺś°é …目;使用 yp%s ĺšç‚şć›żä»Łă€‚\n"
+
+#, fuzzy
+#~ msgid "%s: can't set default context for /etc/passwd"
+#~ msgstr "%s:無法設定 /etc/passwd çš„é č¨­ç›¸é—śç’°ĺ˘"
+
+#, fuzzy
+#~ msgid "setpwnam failed"
+#~ msgstr "strdup 失敗"
+
+#~ msgid "%s: Use -l option to see list.\n"
+#~ msgstr "%s:使用 -l é¸é …以ĺŹçś‹ĺ—表\n"
+
+#~ msgid "Use %s -l to see list.\n"
+#~ msgstr "使用 %s -l 以ĺŹçś‹ĺ—表。\n"
+
+#~ msgid "usage: login [-fp] [username]\n"
+#~ msgstr "用法:login [-fp] [username]\n"
+
+#~ msgid "out of memory"
+#~ msgstr "č¨ć†¶é«”不足"
+
+#~ msgid "Illegal username"
+#~ msgstr "不ĺ法的使用者ĺŤç¨±"
+
+#, fuzzy
+#~ msgid "%s login refused on this terminal."
+#~ msgstr "%s 於此終端機被拒絕登入。\n"
+
+#~ msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+#~ msgstr "從 %2$s 於 TTY %3$s 被拒絕登入 %1$s"
+
+#~ msgid "LOGIN %s REFUSED ON TTY %s"
+#~ msgstr "於 TTY %2$s 被拒絕登入 %1$s"
+
+#~ msgid "Login incorrect\n"
+#~ msgstr "登入不正確\n"
+
+#, fuzzy
+#~ msgid "change terminal owner failed"
+#~ msgstr "建立號誌時失敗"
+
+#, fuzzy
+#~ msgid "failure forking"
+#~ msgstr "login:衍生程式失敗:%s"
+
+#~ msgid ""
+#~ "\n"
+#~ "%s login: "
+#~ msgstr ""
+#~ "\n"
+#~ "%s login:"
+
+#~ msgid "NAME too long"
+#~ msgstr "ĺŤç¨±éŽé•·"
+
+#, fuzzy
+#~ msgid "login name much too long."
+#~ msgstr "登入ĺŤç¨±éŽé•·ă€‚\n"
+
+#, fuzzy
+#~ msgid "login names may not start with '-'."
+#~ msgstr "登入ĺŤç¨±ä¸ŤĺŹŻç”¨ă€Ś-」啟始。\n"
+
+#~ msgid "EXCESSIVE linefeeds"
+#~ msgstr "EXCESSIVE 換ĺ—ĺ­—ĺ…"
+
+#, fuzzy
+#~ msgid "too many bare linefeeds."
+#~ msgstr "太多單純換ĺ—ĺ­—ĺ…。\n"
+
+#~ msgid "LOGIN FAILURE FROM %s, %s"
+#~ msgstr "從 %s, %s 的登入失敗"
+
+#~ msgid "LOGIN FAILURE ON %s, %s"
+#~ msgstr "於 %s, %s 的登入失敗"
+
+#~ msgid "%d LOGIN FAILURES FROM %s, %s"
+#~ msgstr "%d 從 %s, %s 的登入失敗"
+
+#~ msgid "%d LOGIN FAILURES ON %s, %s"
+#~ msgstr "%d 於 %s, %s 的登入失敗"
+
+#~ msgid "%s: the group file is busy.\n"
+#~ msgstr "%s:群組檔ćˇĺż™ç˘Śä¸­ă€‚\n"
+
+#~ msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+#~ msgstr "%s:無法解除鎖定 %s: %s (您的變更ćŻä»Ťç„¶ĺś¨ %s 中)\n"
+
+#~ msgid "calloc failed"
+#~ msgstr "calloc 失敗"
+
+#~ msgid "WARNING: %s: appears to contain '%s' partition table"
+#~ msgstr "警告:%s:似乎包ĺ«ă€Ś%s」ĺ†ĺ‰˛čˇ¨"
+
+#~ msgid "no magic string found at offset 0x%jx -- ignored"
+#~ msgstr "找不ĺ°ä»»ä˝•é­”術字串於ĺŹç§»ĺ€Ľ 0x%jx -- 忽略"
+
+#~ msgid "%s: write failed"
+#~ msgstr "%s:寫入失敗"
+
+#~ msgid "%s: /dev directory does not exist."
+#~ msgstr "%s:/dev 目錄不ĺ­ĺś¨ă€‚"
+
+#~ msgid "loop: can't set capacity on device %s: %s\n"
+#~ msgstr "loop:無法設定裝置上的容量 %s:%s\n"
+
+#~ msgid ", offset %<PRIu64>"
+#~ msgstr ",ĺŹç§»ĺ€Ľ %<PRIu64>"
+
+#~ msgid ", encryption type %d\n"
+#~ msgstr ",加密類型 %d\n"
+
+#~ msgid "loop: can't get info on device %s: %s\n"
+#~ msgstr "loop:無法取得裝置上的資訊 %s: %s\n"
+
+#~ msgid "loop: can't open device %s: %s\n"
+#~ msgstr "loop:無法開啟裝置 %s: %s\n"
+
+#~ msgid "%s: no permission to look at /dev/loop%s<N>"
+#~ msgstr "%s:無權é™ĺŹŻćźĄçś‹ /dev/loop%s<N>"
+
+#~ msgid ""
+#~ "%s: Could not find any loop device. Maybe this kernel does not know\n"
+#~ " about the loop device? (If so, recompile or `modprobe loop'.)"
+#~ msgstr ""
+#~ "%s:找不ĺ°ä»»ä˝•ç’°č·ŻčŁťç˝®ă€‚也許這個內核不認č­\n"
+#~ " 什麼ćŻç’°č·ŻčŁťç˝®ďĽź(如果ćŻé€™ć¨ŁďĽŚč«‹é‡Ťć–°ç·¨č­Żć–執行「modprobe loop」。)"
+
+#~ msgid "Out of memory while reading passphrase"
+#~ msgstr "讀取密語時č¨ć†¶é«”不足"
+
+#~ msgid "warning: %s is already associated with %s\n"
+#~ msgstr "警告:%s 已經和 %s 相關čŻ\n"
+
+#~ msgid "warning: %s: is write-protected, using read-only.\n"
+#~ msgstr "警告:%s:為é˛ĺŻ«ďĽŚä˝żç”¨ĺ”Żč®€ă€‚\n"
+
+#~ msgid "ioctl LOOP_SET_FD failed: %s\n"
+#~ msgstr "ioctl LOOP_SET_FD 失敗:%s\n"
+
+#~ msgid "set_loop(%s,%s,%llu,%llu): success\n"
+#~ msgstr "set_loop(%s,%s,%llu,%llu):ć功\n"
+
+#~ msgid "del_loop(%s): success\n"
+#~ msgstr "del_loop(%s):ć功\n"
+
+#~ msgid "loop: can't delete device %s: %s\n"
+#~ msgstr "loop:無法ĺŞé™¤čŁťç˝® %s: %s\n"
+
+#~ msgid "This mount was compiled without loop support. Please recompile.\n"
+#~ msgstr "這個 mount 程式編譯時不具環路支援。請重新編譯。\n"
+
+#~ msgid "stolen loop=%s...trying again\n"
+#~ msgstr "丟失的環路=%s...再試一次\n"
+
+#~ msgid "No loop support was available at compile time. Please recompile.\n"
+#~ msgstr "編譯時期就已不支援環路。請重新編譯。\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see partx(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ setarch(8)。\n"
+
+#~ msgid ""
+#~ "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+#~ msgstr ""
+#~ "用法:%s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+#~ "value]) [-g|-G] file [file...]\n"
+
+#~ msgid "Can't open %s: %s\n"
+#~ msgstr "無法開啟 %s: %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -s --shared Get a shared lock\n"
+#~ " -x --exclusive Get an exclusive lock\n"
+#~ " -u --unlock Remove a lock\n"
+#~ " -n --nonblock Fail rather than wait\n"
+#~ " -w --timeout Wait for a limited amount of time\n"
+#~ " -o --close Close file descriptor before running command\n"
+#~ " -c --command Run a single command string through the shell\n"
+#~ " -h --help Display this text\n"
+#~ " -V --version Display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "用法:%1$s [-sxun ][-w #] fd#\n"
+#~ " %1$s [-sxon ][-w #] ćŞ”ćˇ [-c] 命令…\n"
+#~ " %1$s [-sxon ][-w #] 目錄 [-c] 命令…\n"
+#~ " -s --shared 取得共享的鎖定\n"
+#~ " -x --exclusive 取得ĺ°ç”¨çš„鎖定\n"
+#~ " -u --unlock 移除鎖定\n"
+#~ " -n --nonblock 失敗而不ćŻç­‰ĺľ…\n"
+#~ " -w --timeout 等待一段受é™ĺ¶çš„時間\n"
+#~ " -o --close 執行命令之前關閉檔ćˇćŹŹčż°ç¬¦č™ź\n"
+#~ " -c --command 透éŽĺ‘˝ä»¤ć®Ľĺź·čˇŚĺ–®ä¸€ĺ‘˝ä»¤ĺ­—串\n"
+#~ " -h --help 顯示這個說ćŽ\n"
+#~ " -V --version 顯示ç‰ćś¬\n"
+
+#~ msgid "%s: cannot open lock file %s: %s\n"
+#~ msgstr "%sďĽšç„ˇćł•é–‹ĺ•źéŽ–ĺ®šćŞ”ćˇ %s:%s\n"
+
+#~ msgid "%s: bad number: %s\n"
+#~ msgstr "%s:不當的數字:%s\n"
+
+#~ msgid "%s: fork failed: %s\n"
+#~ msgstr "%s:衍生執行時失敗:%s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -M <size> create shared memory segment of size <size>\n"
+#~ " -S <nsems> create semaphore array with <nsems> elements\n"
+#~ " -Q create message queue\n"
+#~ " -p <mode> permission for the resource (default is 0644)\n"
+#~ msgstr ""
+#~ " -M <size> 以 <size> 大小建立共用č¨ć†¶é«”資料段\n"
+#~ " -S <nsems> 以 <nsems> ĺ…件建立號誌陣ĺ—\n"
+#~ " -Q 建立訊ćŻä˝‡ĺ—\n"
+#~ " -p <mode> 用於資ćşçš„ć¬Šé™ (é č¨­ćŻ 0644)\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see ipcmk(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ ipcmk(1)。\n"
+#~ "\n"
+
+#~ msgid "cannot remove id %s (%s)\n"
+#~ msgstr "無法移除č­ĺĄč™ź %s (%s)\n"
+
+#~ msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+#~ msgstr "不宜用法:%s {shm | msg | sem} id ...\n"
+
+#~ msgid "unknown resource type: %s\n"
+#~ msgstr "不ćŽçš„資ćşéˇžĺž‹ďĽš%s\n"
+
+#~ msgid ""
+#~ "usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+#~ msgstr ""
+#~ "用法:%s [ [-q msqid] [-m shmid] [-s semid]\n"
+#~ " [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+
+#~ msgid "unknown error in key"
+#~ msgstr "鍵值發生不ćŽéŚŻčޤ"
+
+#~ msgid "unknown error in id"
+#~ msgstr "č­ĺĄč™źç™Ľç”źä¸ŤćŽéŚŻčޤ"
+
+#~ msgid "%s: %s (%s)\n"
+#~ msgstr "%s: %s (%s)\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i id\n"
+#~ " %1$s -h for help\n"
+#~ msgstr ""
+#~ "用法:%1$s [-asmq] [-t|-c|-l|-u|-p]\n"
+#~ " %1$s [-s|-m|-q] -i č­ĺĄč™ź\n"
+#~ " %1$s -h 以獲得說ćŽ\n"
+
+#~ msgid ""
+#~ "Usage: %1$s [resource]... [output-format]\n"
+#~ " %1$s [resource] -i id\n"
+#~ "\n"
+#~ msgstr ""
+#~ "用法:%1$s [資ćş]... [輸出格式]\n"
+#~ " %1$s [資ćş] -i č­ĺĄč™ź\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Provide information on IPC facilities for which you have read access.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "對於您有讀取權é™çš„項目,ćŹäľ› ipc ć©źč˝çš„資訊。\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Resource options:\n"
+#~ " -m shared memory segments\n"
+#~ " -q message queues\n"
+#~ " -s semaphores\n"
+#~ " -a all (default)\n"
+#~ "\n"
+#~ msgstr ""
+#~ "資ćşé¸é …:\n"
+#~ " -m 共用č¨ć†¶é«”資料段\n"
+#~ " -q 訊ćŻä˝‡ĺ—\n"
+#~ " -s 號誌\n"
+#~ " -a ĺ…¨é¨ (é č¨­)\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Output format:\n"
+#~ " -t time\n"
+#~ " -p pid\n"
+#~ " -c creator\n"
+#~ " -l limits\n"
+#~ " -u summary\n"
+#~ msgstr ""
+#~ "輸出格式:\n"
+#~ " -t 時間\n"
+#~ " -p pid\n"
+#~ " -c 建立者\n"
+#~ " -l é™ĺş¦\n"
+#~ " -u 概č¦\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " %s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> <device>\n"
+#~ msgstr ""
+#~ "\n"
+#~ "用法:%s [ -dhV78neo12 ] [ -s <speed> ] [ -i [-]<iflag> ] <ldisc> "
+#~ "<device>\n"
+
+#~ msgid "ldattach from %s\n"
+#~ msgstr "ldattach 自 %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ " -h, --help print this help\n"
+#~ " -p, --parse <list> print out a parsable instead of a readable format\n"
+#~ " -s, --sysroot <dir> use directory DIR as system root\n"
+#~ " -x, --hex print hexadecimal masks rather than lists of CPUs\n"
+#~ "\n"
+#~ msgstr ""
+#~ "CPU 架構資訊輔助程式\n"
+#~ "\n"
+#~ " -h, --help 用法資訊\n"
+#~ " -p, --parse 以可剖ćžć ĽĺĽŹĺŤ°ĺ‡şä»Ąä»Łć›żĺŹŻĺ—印格式。\n"
+#~ " -s, --sysroot 使用此目錄ĺšç‚şć–°çł»çµ±çš„根目錄。\n"
+
+#~ msgid ""
+#~ "%s: Usage: \"%s [options]\n"
+#~ "\t -m <mapfile> (defaults: \"%s\" and\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (default: \"%s\")\n"
+#~ "\t -M <mult> set the profiling multiplier to <mult>\n"
+#~ "\t -i print only info about the sampling step\n"
+#~ "\t -v print verbose data\n"
+#~ "\t -a print all symbols, even if count is 0\n"
+#~ "\t -b print individual histogram-bin counts\n"
+#~ "\t -s print individual counters within functions\n"
+#~ "\t -r reset all the counters (root only)\n"
+#~ "\t -n disable byte order auto-detection\n"
+#~ "\t -V print version and exit\n"
+#~ msgstr ""
+#~ "%s:用法:\"%s [options]\n"
+#~ "\t -m <mapfile> (é č¨­ĺ€ĽďĽš\"%s\" ĺ’Ś\n"
+#~ "\t\t\t\t \"%s\")\n"
+#~ "\t -p <pro-file> (é č¨­ďĽš\"%s\")\n"
+#~ "\t -M <mult> 設定ĺ´ĺŻ«ćŞ”č¤‡čŁ˝ĺ™¨ç‚ş<mult>\n"
+#~ "\t -i 只印出有關取樣率的資訊\n"
+#~ "\t -v 印出詳細的資料\n"
+#~ "\t -a 即使č¨ć•¸ç‚ş 0 也印出所有符號\n"
+#~ "\t -b ĺŤ°ĺ‡şĺ€‹ĺĄ histogram-bin č¨ć•¸\n"
+#~ "\t -s 印出函式內個ĺĄč¨ć•¸ĺ™¨\n"
+#~ "\t -r 重置所有č¨ć•¸ĺ™¨(ĺŹŞé™ root 使用)\n"
+#~ "\t -n ĺśç”¨ä˝Ťĺ…組次序的自動ĺµć¸¬\n"
+#~ "\t -V 印出ç‰ćś¬ç„¶ĺľŚé›˘é–‹\n"
+
+#~ msgid "readprofile: error writing %s: %s\n"
+#~ msgstr "readprofile:寫入 %s 時錯誤:%s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "For more information see rtcwake(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ taskset(1)。\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see setarch(8).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ setarch(8)。\n"
+
+#~ msgid ""
+#~ "%s: %s\n"
+#~ "Try `%s --help' for more information.\n"
+#~ msgstr ""
+#~ "%s: %s\n"
+#~ "ĺ—試「%s --help」以獲得更多資訊。\n"
+
+#~ msgid "usage: %s program [arg ...]\n"
+#~ msgstr "用法:%s 程式 [引數...]\n"
+
+#~ msgid ""
+#~ "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+#~ msgstr ""
+#~ "用法:%s <裝置> [ -i <IRQ> | -t <時間> | -c <ĺ­—ĺ…> | -w <等待> | \n"
+#~ " -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+#~ " -T [on|off] ]\n"
+
+#~ msgid "%s: bad value\n"
+#~ msgstr "%s:不當的值\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "For more information see unshare(1).\n"
+#~ msgstr ""
+#~ "\n"
+#~ "č¦çŤ˛ĺľ—更多資訊請ĺŹçś‹ unshare(1)。\n"
+
+#, fuzzy
+#~ msgid "closing file %s"
+#~ msgstr ""
+#~ "\n"
+#~ "關閉檔ćˇç™Ľç”źéŚŻčޤ\n"
+
+#~ msgid "Sorry You may change the Tag of non-empty partitions.\n"
+#~ msgstr "抱歉,您也許變更了非空白ĺ†ĺ‰˛ĺŤ€çš„標č¨ă€‚\n"
+
+#~ msgid "Warning: partition %s "
+#~ msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s "
+
+#~ msgid "Warning: partitions %s "
+#~ msgstr "警告:ĺ†ĺ‰˛ĺŤ€ %s "
+
+#~ msgid "and %s overlap\n"
+#~ msgstr "和 %s 重疊\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] device [...]\n"
+#~ msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#, fuzzy
+#~ msgid "Device is something like /dev/hda or /dev/sda\n"
+#~ msgstr "裝置:諸如 /dev/hda ć– /dev/sda"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " -s, --fstab search in static table of filesystems\n"
+#~ " -m, --mtab search in table of mounted filesystems\n"
+#~ " -k, --kernel search in kernel table of mounted \n"
+#~ " filesystems (default)\n"
+#~ "\n"
+#~ " -p, --poll[=<list>] monitor changes in table of mounted filesystems\n"
+#~ " -w, --timeout <num> upper limit in millisecods which --poll will "
+#~ "block\n"
+#~ "\n"
+#~ " -c, --canonicalize canonicalize printed paths\n"
+#~ " -d, --direction <word> search direction - 'forward' or 'backward'\n"
+#~ " -e, --evaluate print all TAGs (LABEL/UUID) evaluated\n"
+#~ " -f, --first-only print the first found filesystem only\n"
+#~ " -h, --help print this help\n"
+#~ " -i, --invert invert sense of matching\n"
+#~ " -l, --list use list format output\n"
+#~ " -n, --noheadings don't print headings\n"
+#~ " -u, --notruncate don't truncate text in columns\n"
+#~ " -O, --options <list> limit the set of filesystems by mount options\n"
+#~ " -o, --output <list> output columns\n"
+#~ " -P, --pairs use key=\"value\" output format\n"
+#~ " -r, --raw use raw output format\n"
+#~ " -a, --ascii use ascii chars for tree formatting\n"
+#~ " -t, --types <list> limit the set of filesystem by FS types\n"
+#~ " -v, --nofsroot don't print [/dir] for bind or btrfs mounts\n"
+#~ " -R, --submounts print all submount for the matching filesystems\n"
+#~ " -S, --source <string> device, LABEL= or UUID=device\n"
+#~ " -T, --target <string> mountpoint\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "é¸é …:\n"
+#~ " -s, --fstab 在檔ćˇçł»çµ±çš„靜態表格中ćśĺ°‹\n"
+#~ " -m, --mtab 在掛載檔ćˇçł»çµ±çš„表格中ćśĺ°‹\n"
+#~ " -k, --kernel 在掛載檔ćˇçł»çµ±çš„內核表格中\n"
+#~ " ćśĺ°‹ (é č¨­)\n"
+#~ "\n"
+#~ " -c, --canonicalize 正則化印出路徑\n"
+#~ " -d, --direction <word> ćśĺ°‹ć–ąĺ‘ - 'forward' ć– 'backward'\n"
+#~ " -e, --evaluate ĺŤ°ĺ‡şć‰€ćś‰ĺ·˛ć±‚ĺ€Ľć¨™č¨ (LABEL/UUID)\n"
+#~ " -f, --first-only 只印出第一個找ĺ°çš„檔ćˇçł»çµ±\n"
+#~ " -h, --help 印出這個說ćŽ\n"
+#~ " -i, --invert 反ĺ‘符ĺ方式\n"
+#~ " -l, --list 使用清單格式輸出\n"
+#~ " -n, --noheadings 不ĺ—印標頭\n"
+#~ " -u, --notruncate 不ćŞć–·ç›´ć¬„中的文字\n"
+#~ " -O, --options <list> 依掛載é¸é …é™ĺ¶ćŞ”ćˇçł»çµ±é›†ĺ\n"
+#~ " -o, --output <list> 輸出直欄\n"
+#~ " -r, --raw 使用原始格式輸出\n"
+#~ " -a, --ascii 使用 ascii ĺ­—ĺ…於樹狀格式化\n"
+#~ " -t, --types <list> 依檔ćˇçł»çµ±éˇžĺž‹é™ĺ¶ćŞ”ćˇçł»çµ±é›†ĺ\n"
+#~ " -S, --source <string> 裝置ă€LABEL= ć– UUID=裝置\n"
+#~ " -T, --target <string> 掛載點\n"
+#~ "\n"
+
+#~ msgid "%zd bytes ["
+#~ msgstr "%zd 位ĺ…組 ["
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-e] [-v] [-f] enable all swaps from /etc/fstab\n"
+#~ " %1$s [-p priority] [-d] [-v] [-f] <special> enable given swap\n"
+#~ " %1$s -s display swap usage summary\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "用法:\n"
+#~ " %1$s -a [-e] [-v] [-f] ĺľž /etc/fstab 啟用全é¨äş¤ćŹ›ĺŤ€\n"
+#~ " %1$s [-p ĺ„Şĺ…權] [-v] [-f] <special> 啟用給定交換區\n"
+#~ " %1$s -s 顯示交換區用法概č¦\n"
+#~ " %1$s -h 顯示說ćŽ\n"
+#~ " %1$s -V 顯示ç‰ćś¬\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %1$s -a [-v] disable all swaps\n"
+#~ " %1$s [-v] <special> disable given swap\n"
+#~ " %1$s -h display help\n"
+#~ " %1$s -V display version\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "用法:\n"
+#~ " %1$s -a [-v] ĺśç”¨ć‰€ćś‰äş¤ćŹ›ĺŤ€\n"
+#~ " %1$s [-v] <special> ĺśç”¨çµ¦ĺ®šçš„交換區\n"
+#~ " %1$s -h 顯示說ćŽ\n"
+#~ " %1$s -V 顯示ç‰ćś¬\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: %s [options] <filename>\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "用法:%s [é¸é …] <檔ćˇĺŤç¨±>\n"
+#~ "\n"
+#~ "é¸é …:\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "用法:%s [é¸é …]\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [options]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ msgstr ""
+#~ "用法:%s [é¸é …] <裝置>\n"
+#~ "\n"
+#~ "é¸é …:\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage:\n"
+#~ " %s [options] [file]\n"
+#~ msgstr "用法:%s [é¸é …] 裝置…\n"
+
+#~ msgid " %s -V\n"
+#~ msgstr " %s -V\n"
+
+#~ msgid " %s --report [devices]\n"
+#~ msgstr " %s --report [裝置]\n"
+
+#~ msgid " %s [-v|-q] commands devices\n"
+#~ msgstr " %s [-v|-q] 命令裝置\n"
+
+#~ msgid "Available commands:\n"
+#~ msgstr "可用命令:\n"
+
+#~ msgid "%s: cannot open %s\n"
+#~ msgstr "%s:無法開啟 %s\n"
+
+#~ msgid "parse error\n"
+#~ msgstr "剖ćžéŚŻčޤ\n"
+
+#~ msgid "usage: %s [ -n ] device\n"
+#~ msgstr "用法:%s [-n] 裝置\n"
+
+#~ msgid "%s: not a block device\n"
+#~ msgstr "%s:不ćŻĺŤ€ĺˇŠčŁťç˝®\n"
+
+#~ msgid "malloc failed"
+#~ msgstr "malloc 失敗"
+
+#~ msgid "%s: option parse error\n"
+#~ msgstr "%s:é¸é …剖ćžéŚŻčޤ\n"
+
+#~ msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+#~ msgstr "用法:%s [-x] [-d<num>] iso9660-image\n"
+
+#~ msgid ""
+#~ "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+#~ " [-F fsname] device [block-count]\n"
+#~ msgstr ""
+#~ "用法:%s [-v] [-N nr-of-inodes] [-V 卷冊ĺŤç¨±]\n"
+#~ " [-F 檔ćˇçł»çµ±ĺŤç¨±] 裝置 [區塊數量]\n"
+
+#~ msgid "unable to stat %s"
+#~ msgstr "無法顯示狀態 %s"
+
+#~ msgid "cannot determine sector size for %s"
+#~ msgstr "無法決定çŁĺŤ€ĺ¤§ĺ°Źçµ¦ %s"
+
+#~ msgid "%s: calloc() failed: %s\n"
+#~ msgstr "%s:calloc() 失敗:%s\n"
+
+#~ msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+#~ msgstr "用法:%s [-c] [-pé éť˘ĺ¤§ĺ°Ź] [-L 標籤] [-U UUID] /dev/ĺŤç¨± [區塊]\n"
+
+#~ msgid "Out of memory"
+#~ msgstr "č¨ć†¶é«”不足"
+
+#~ msgid ""
+#~ "Usage:\n"
+#~ " %s "
+#~ msgstr ""
+#~ "用法:\n"
+#~ " %s "
+
+#~ msgid "Menu without direction. Defaulting to horizontal."
+#~ msgstr "é¸ĺ–®ć˛’有方ĺ‘,é č¨­ć°´ĺąłć–ąĺĽŹă€‚"
+
+#~ msgid "You must delete some partition and add an extended partition first\n"
+#~ msgstr "您必é ĺŞé™¤ćźäş›ĺ†ĺ‰˛ĺŤ€ä¸¦ĺ…加入擴充ĺ†ĺ‰˛ĺŤ€\n"
+
+#~ msgid ""
+#~ "Command action\n"
+#~ " %s\n"
+#~ " p primary partition (1-4)\n"
+#~ msgstr ""
+#~ "命令動作\n"
+#~ " %s\n"
+#~ " p 主č¦ĺ†ĺ‰˛ĺŤ€ (1-4)\n"
+
+#~ msgid " -s [or --show-size]: list size of a partition"
+#~ msgstr " -s [ć– --show-size]:ĺ—出ĺ†ĺ‰˛ĺŤ€ĺ¤§ĺ°Ź"
+
+#~ msgid " -c [or --id]: print or change partition Id"
+#~ msgstr " -c [ć– --id]: 印出ć–變更ĺ†ĺ‰˛ĺŤ€č­ĺĄč™ź"
+
+#~ msgid " -l [or --list]: list partitions of each device"
+#~ msgstr " -l [ć– --list]: ĺ—出每個裝置的ĺ†ĺ‰˛ĺŤ€"
+
+#~ msgid ""
+#~ " -d [or --dump]: idem, but in a format suitable for later input"
+#~ msgstr " -d [ć– --dump]: idem,但ćŻć ĽĺĽŹćŻé©ć–Ľç¨ŤĺľŚčĽ¸ĺ…Ą"
+
+#~ msgid ""
+#~ " -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+#~ msgstr " -i [ć– --increment]:çŁćź±ç­‰é …的編號。從 1 而非 0 開始"
+
+#~ msgid ""
+#~ " -uS, -uB, -uC, -uM: accept/report in units of sectors/blocks/"
+#~ "cylinders/MB"
+#~ msgstr " -uS,-uB,-uC,-uM: 接受/報告的單位ćŻçŁĺŤ€/區塊/çŁćź±/MB"
+
+#~ msgid " -T [or --list-types]:list the known partition types"
+#~ msgstr " -T [ć– --list-types]:ĺ—出已知ĺ†ĺ‰˛ĺŤ€éˇžĺž‹"
+
+#~ msgid " -D [or --DOS]: for DOS-compatibility: waste a little space"
+#~ msgstr " -D [ć– --DOS]: 用於 DOS-相容性:浪費一些空間"
+
+#~ msgid " -R [or --re-read]: make kernel reread partition table"
+#~ msgstr " -R [ć– --re-read]: 讓內核重新讀取ĺ†ĺ‰˛čˇ¨"
+
+#~ msgid " -N# : change only the partition with number #"
+#~ msgstr " -N# : 只變更編號為 # çš„ĺ†ĺ‰˛ĺŤ€"
+
+#~ msgid ""
+#~ " -O file : save the sectors that will be overwritten to file"
+#~ msgstr " -O ćŞ”ćˇ ďĽš 把將č¦č˘«č¦†ĺŻ«çš„çŁĺŤ€ĺ„˛ĺ­ĺ°ćŞ”ćˇ"
+
+#~ msgid " -I file : restore these sectors again"
+#~ msgstr " -I ćŞ”ćˇ ďĽš 再次還原這些çŁĺŤ€"
+
+#~ msgid " -v [or --version]: print version"
+#~ msgstr " -v [ć– --version]: 印出ç‰ćś¬"
+
+#~ msgid " -? [or --help]: print this message"
+#~ msgstr " -? [ć– --help]: 印出這個訊ćŻ"
+
+#~ msgid " -g [or --show-geometry]: print the kernel's idea of the geometry"
+#~ msgstr " -g [ć– --show-geometry]:印出內核對於硬碟çµć§‹ĺŹć•¸çš„認知"
+
+#~ msgid ""
+#~ " -L [or --Linux]: do not complain about things irrelevant for "
+#~ "Linux"
+#~ msgstr " -L [ć– --Linux]: 不抱怨對於 Linux 而言並不重č¦çš„東西"
+
+#~ msgid " -q [or --quiet]: suppress warning messages"
+#~ msgstr " -q [ć– --quiet]: 抑ĺ¶č­¦ĺ‘Šč¨ŠćŻ"
+
+#~ msgid " You can override the detected geometry using:"
+#~ msgstr " 您可以強ĺ¶č®Šć›´ĺµć¸¬ĺ°çš„硬碟çµć§‹ĺŹć•¸č€Śä˝żç”¨ďĽš"
+
+#~ msgid " -C# [or --cylinders #]:set the number of cylinders to use"
+#~ msgstr " -C# [ć– --cylinders #]:設定č¦ç”¨çš„çŁćź±ć•¸é‡Ź"
+
+#~ msgid " -H# [or --heads #]: set the number of heads to use"
+#~ msgstr " -H# [ć– --heads #]: 設定č¦ç”¨çš„çŁé ­ć•¸é‡Ź"
+
+#~ msgid " -S# [or --sectors #]: set the number of sectors to use"
+#~ msgstr " -S# [ć– --sectors #]: 設定č¦ç”¨çš„çŁĺŤ€ć•¸é‡Ź"
+
+#~ msgid "You can disable all consistency checking with:"
+#~ msgstr "您可以ĺśç”¨ć‰€ćś‰çš„一致性檢查藉由:"
+
+#~ msgid " -f [or --force]: do what I say, even if it is stupid"
+#~ msgstr " -f [ć– --force]: ç…§ć‘所說的去ĺšďĽŚĺŤłä˝żĺ®ćś‰äş›ć„šč ˘"
+
+#~ msgid "Couldn't allocate memory for filesystem types\n"
+#~ msgstr "無法配置č¨ć†¶é«”給檔ćˇçł»çµ±éˇžĺž‹\n"
+
+#~ msgid ""
+#~ "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] "
+#~ "[filesys ...]\n"
+#~ msgstr ""
+#~ "用法:fsck [-AMNPRTV] [ -C [ fd ] ] [-t 檔ćˇçł»çµ±éˇžĺž‹] [檔ćˇçł»çµ±é¸é …] [檔ćˇ"
+#~ "系統 ...]\n"
+
+#~ msgid "Couldn't open %s: %s\n"
+#~ msgstr "無法開啟 %s:%s\n"
+
+#~ msgid "fsck from %s\n"
+#~ msgstr "fsck 來自 %s\n"
+
+#~ msgid "%s: Unable to allocate memory for fsck_path\n"
+#~ msgstr "%s:無法配置č¨ć†¶é«”給 fsck_path\n"
+
+#~ msgid "Try `getopt --help' for more information.\n"
+#~ msgstr "試著執行「getopt --help」以獲得更多資訊。\n"
+
+#~ msgid "Usage: getopt optstring parameters\n"
+#~ msgstr "用法:getopt é¸é …字串 ĺŹć•¸\n"
+
+#~ msgid " getopt [options] [--] optstring parameters\n"
+#~ msgstr " getopt [é¸é …] [--] é¸é …字串 ĺŹć•¸\n"
+
+#~ msgid " parameters\n"
+#~ msgstr " ĺŹć•¸\n"
+
+#~ msgid "getopt (enhanced) 1.1.4\n"
+#~ msgstr "getopt (進階ç‰) 1.1.4\n"
+
+#~ msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+#~ msgstr "(é ćśźďĽšă€ŚUTC」ă€ă€Śćś¬ĺś°ă€Ťć–沒有任何設定。)\n"
+
+#~ msgid ""
+#~ "hwclock - query and set the hardware clock (RTC)\n"
+#~ "\n"
+#~ "Usage: hwclock [function] [options...]\n"
+#~ "\n"
+#~ "Functions:\n"
+#~ " -h | --help show this help\n"
+#~ " -r | --show read hardware clock and print result\n"
+#~ " --set set the rtc to the time given with --date\n"
+#~ " -s | --hctosys set the system time from the hardware clock\n"
+#~ " -w | --systohc set the hardware clock to the current system time\n"
+#~ " --systz set the system time based on the current timezone\n"
+#~ " --adjust adjust the rtc to account for systematic drift "
+#~ "since\n"
+#~ " the clock was last set or adjusted\n"
+#~ " --getepoch print out the kernel's hardware clock epoch value\n"
+#~ " --setepoch set the kernel's hardware clock epoch value to "
+#~ "the \n"
+#~ " value given with --epoch\n"
+#~ " --predict predict rtc reading at time given with --date\n"
+#~ " -v | --version print out the version of hwclock to stdout\n"
+#~ "\n"
+#~ "Options: \n"
+#~ " -u | --utc the hardware clock is kept in UTC\n"
+#~ " --localtime the hardware clock is kept in local time\n"
+#~ " -f | --rtc=path special /dev/... file to use instead of default\n"
+#~ " --directisa access the ISA bus directly instead of %s\n"
+#~ " --badyear ignore rtc's year because the bios is broken\n"
+#~ " --date specifies the time to which to set the hardware "
+#~ "clock\n"
+#~ " --epoch=year specifies the year which is the beginning of the \n"
+#~ " hardware clock's epoch value\n"
+#~ " --noadjfile do not access /etc/adjtime. Requires the use of\n"
+#~ " either --utc or --localtime\n"
+#~ " --adjfile=path specifies the path to the adjust file (default is\n"
+#~ " /etc/adjtime)\n"
+#~ " --test do everything except actually updating the "
+#~ "hardware\n"
+#~ " clock or anything else\n"
+#~ " -D | --debug debug mode\n"
+#~ "\n"
+#~ msgstr ""
+#~ "hwclock - 查詢和設定硬體時é (RTC)\n"
+#~ "\n"
+#~ "用法:hwclock [功č˝] [é¸é …...]\n"
+#~ "\n"
+#~ "函式:\n"
+#~ " -h | --help 顯示這個說ćŽ\n"
+#~ " -r | --show 讀取硬體時é和印出çµćžś\n"
+#~ " --set 設定 rtc 為以 --date 所給定的時間\n"
+#~ " -s | --hctosys 從硬體時é設定系統時間\n"
+#~ " -w | --systohc 設定硬體時é為目前系統時間\n"
+#~ " --systz 設定系統時間基於目前的時區\n"
+#~ " --adjust 調整 rtc 為帳號的系統ĺŹĺ·®ďĽŚć ąć“š\n"
+#~ " 時é的最後一次設定ć–調整\n"
+#~ " --getepoch 印出內核的硬體時é時期值\n"
+#~ " --setepoch 設定內核的硬體時é時期值為\n"
+#~ " 以 --epoch 所給定的值\n"
+#~ " --predict predict rtc 讀取於時間給定自 --date\n"
+#~ " -v | --version 印出 hwclock çš„ç‰ćś¬ĺ°ć¨™ćş–輸出\n"
+#~ "\n"
+#~ "é¸é …:\n"
+#~ " -u | --utc 硬體時éäżťćŚç‚şĺŤ”調世界時間\n"
+#~ " --localtime 硬體時éäżťćŚç‚şĺŤ€ĺźźć™‚é–“\n"
+#~ " -f | --rtc=path 使用特殊 /dev/... 檔ćˇä»Ąä»Łć›żé č¨­\n"
+#~ " --directisa 直接ĺ­ĺŹ– ISA 匯ćµćŽ’以代替 %s\n"
+#~ " --badyear 忽略 rtc 的年份,因為 bios 不完整\n"
+#~ " --date 指定時間為該項以設定硬體時é\n"
+#~ " --epoch=year 指定硬體時é時期值\n"
+#~ " 的開始年份\n"
+#~ " --noadjfile 不ĺ­ĺŹ– /etc/adjtime。需č¦ä˝żç”¨\n"
+#~ " --utc ćŠ‘ć– --localtime\n"
+#~ " --adjfile=č·Żĺľ‘ 指定路徑ĺ°čŞżć•´ćŞ”ćˇ (é č¨­ćŻ\n"
+#~ " /等項/adjtime)\n"
+#~ " --test ĺšć‰€ćś‰ćť±čĄżé™¤äş†ĺŻ¦éš›çš„地更新硬體\n"
+#~ " 時éć–其他任何事\n"
+#~ " -D | --debug 除錯模式\n"
+#~ "\n"
+
+#~ msgid "can't malloc initstring"
+#~ msgstr "無法 malloc ĺťĺ§‹ĺ­—串"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [-8hiLmsUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+#~ msgstr ""
+#~ "用法:%s [-8hiLmUw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] baud_rate,... line [termtype]\n"
+#~ "ć–\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
+#~ "login_host] line baud_rate,... [termtype]\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [y | n]"
+#~ msgstr "用法:mesg [y | n]\n"
+
+#~ msgid "%s: BAD ERROR"
+#~ msgstr "%s:不當的錯誤"
+
+#, fuzzy
+#~ msgid "usage: %s [-n] [file]\n"
+#~ msgstr "用法:%s [file]\n"
+
+#~ msgid "can't read: %s"
+#~ msgstr "無法讀取:%s"
+
+#~ msgid "logger: %s: %s.\n"
+#~ msgstr "logger:%s: %s。\n"
+
+#~ msgid ""
+#~ "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+#~ msgstr ""
+#~ "用法:logger [-is] [-f file] [-p pri] [-t tag] [-u socket] "
+#~ "[ message ... ]\n"
+
+#~ msgid "usage: look [-dfa] [-t char] string [file]\n"
+#~ msgstr "用法:look [-dfa] [-t ĺ­—ĺ…] 字串 [檔ćˇ]\n"
+
+#~ msgid "out of memory?"
+#~ msgstr "č¨ć†¶é«”不足?"
+
+#~ msgid "call: %s from to files...\n"
+#~ msgstr "呼叫:%s ĺšç‚şç›®ć¨™ćŞ”ćˇâ€¦\n"
+
+#~ msgid "usage: script [-a] [-e] [-f] [-q] [-t] [file]\n"
+#~ msgstr "用法:script [-a] [-e] [-f] [-q] [-t] [檔ćˇ]\n"
+
+#~ msgid "%s: write error %d: %s\n"
+#~ msgstr "%s:寫入錯誤 %d:%s\n"
+
+#~ msgid "%s: write error: %s\n"
+#~ msgstr "%s:寫入錯誤:%s\n"
+
+#~ msgid " [ -term terminal_name ]\n"
+#~ msgstr " [ -term terminal_name]\n"
+
+#~ msgid " [ -reset ]\n"
+#~ msgstr " [ -reset ]\n"
+
+#~ msgid " [ -initialize ]\n"
+#~ msgstr " [ -initialize ]\n"
+
+#~ msgid " [ -cursor [on|off] ]\n"
+#~ msgstr " [ -cursor [on|off] ]\n"
+
+#~ msgid " [ -snow [on|off] ]\n"
+#~ msgstr " [ -snow [on|off] ]\n"
+
+#~ msgid " [ -softscroll [on|off] ]\n"
+#~ msgstr " [ -softscroll [on|off] ]\n"
+
+#~ msgid " [ -repeat [on|off] ]\n"
+#~ msgstr " [ -repeat [on|off] ]\n"
+
+#~ msgid " [ -appcursorkeys [on|off] ]\n"
+#~ msgstr " [ -appcursorkeys [on|off] ]\n"
+
+#~ msgid " [ -linewrap [on|off] ]\n"
+#~ msgstr " [ -linewrap [on|off] ]\n"
+
+#~ msgid " [ -default ]\n"
+#~ msgstr " [ -default ]\n"
+
+#~ msgid " [ -foreground black|blue|green|cyan"
+#~ msgstr " [ -foreground black|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white|default ]\n"
+#~ msgstr "|red|magenta|yellow|white|default ]\n"
+
+#~ msgid " [ -background black|blue|green|cyan"
+#~ msgstr " [ -background black|blue|green|cyan"
+
+#~ msgid " [ -ulcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -ulcolor black|grey|blue|green|cyan"
+
+#~ msgid "|red|magenta|yellow|white ]\n"
+#~ msgstr "|red|magenta|yellow|white ]\n"
+
+#~ msgid " [ -ulcolor bright blue|green|cyan"
+#~ msgstr " [ -ulcolor bright blue|green|cyan"
+
+#~ msgid " [ -hbcolor black|grey|blue|green|cyan"
+#~ msgstr " [ -hbcolor black|grey|blue|green|cyan"
+
+#~ msgid " [ -hbcolor bright blue|green|cyan"
+#~ msgstr " [ -hbcolor bright blue|green|cyan"
+
+#~ msgid " [ -standout [ attr ] ]\n"
+#~ msgstr " [ -standout [ attr ] ]\n"
+
+#~ msgid " [ -inversescreen [on|off] ]\n"
+#~ msgstr " [ -inversescreen [on|off] ]\n"
+
+#~ msgid " [ -bold [on|off] ]\n"
+#~ msgstr " [ -bold [on|off] ]\n"
+
+#~ msgid " [ -half-bright [on|off] ]\n"
+#~ msgstr " [ -half-bright [on|off] ]\n"
+
+#~ msgid " [ -blink [on|off] ]\n"
+#~ msgstr " [ -blink [on|off] ]\n"
+
+#~ msgid " [ -reverse [on|off] ]\n"
+#~ msgstr " [ -reverse [on|off] ]\n"
+
+#~ msgid " [ -underline [on|off] ]\n"
+#~ msgstr " [ -underline [on|off] ]\n"
+
+#~ msgid " [ -store ]\n"
+#~ msgstr " [ -store ]\n"
+
+#~ msgid " [ -clear [all|rest] ]\n"
+#~ msgstr " [ -clear [all|rest] ]\n"
+
+#~ msgid " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -tabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+#~ msgstr " [ -clrtabs [ tab1 tab2 tab3 ... ] ] (tabn = 1-160)\n"
+
+#~ msgid " [ -regtabs [1-160] ]\n"
+#~ msgstr " [ -regtabs [1-160] ]\n"
+
+#~ msgid " [ -blank [0-60|force|poke] ]\n"
+#~ msgstr " [ -blank [0-60|force|poke] ]\n"
+
+#~ msgid " [ -dump [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -dump [1-NR_CONSOLES] ]\n"
+
+#~ msgid " [ -append [1-NR_CONSOLES] ]\n"
+#~ msgstr " [ -append [1-NR_CONSOLES] ]\n"
+
+#~ msgid " [ -msg [on|off] ]\n"
+#~ msgstr " [ -msg [on|off] ]\n"
+
+#~ msgid " [ -msglevel [0-8] ]\n"
+#~ msgstr " [ -msglevel [0-8] ]\n"
+
+#~ msgid " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+#~ msgstr " [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#~ msgid " [ -powerdown [0-60] ]\n"
+#~ msgstr " [ -powerdown [0-60] ]\n"
+
+#~ msgid " [ -blength [0-2000] ]\n"
+#~ msgstr " [ -blength [0-2000] ]\n"
+
+#~ msgid " [ -bfreq freqnumber ]\n"
+#~ msgstr " [ -bfreq 頻率數 ]\n"
+
+#~ msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+#~ msgstr "用法:%s [-d] [-p pidfile] [-s 通訊端路徑] [-T 逾時]\n"
+
+#~ msgid " %s [-r|t] [-n num] [-s socketpath]\n"
+#~ msgstr " %s [-r|t] [-n num] [-s 通訊端路徑]\n"
+
+#~ msgid " %s -k\n"
+#~ msgstr " %s -k\n"
+
+#~ msgid "Usage: %s [-r] [-t]\n"
+#~ msgstr "用法:%s [-r] [-t]\n"
+
+#~ msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+#~ msgstr "whereis [ -sbmu ] [ -SBM 目錄 ... -f ] ĺŤç¨±...\n"
+
+#~ msgid "usage: write user [tty]\n"
+#~ msgstr "用法:write user [tty]\n"
+
+#~ msgid "mount: can't open %s: %s"
+#~ msgstr "mount:無法開啟 %s: %s"
+
+#~ msgid "unknown\n"
+#~ msgstr "不ćŽ\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "ionice - sets or gets process io scheduling class and priority.\n"
+#~ "\n"
+#~ "Usage:\n"
+#~ " ionice [ options ] -p <pid> [<pid> ...]\n"
+#~ " ionice [ options ] <command> [<arg> ...]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ " -n <classdata> class data (0-7, lower being higher prio)\n"
+#~ " -c <class> scheduling class\n"
+#~ " 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+#~ " -t ignore failures\n"
+#~ " -h this help\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ionice - 設定ć–取得進程 io 排程類ĺĄĺ’Śĺ„Şĺ…權。\n"
+#~ "\n"
+#~ "用法:\n"
+#~ " ionice [é¸é …] -p <pid> [<pid>...]\n"
+#~ " ionice [é¸é …] <command> [<arg>...]\n"
+#~ "\n"
+#~ "é¸é …:\n"
+#~ " -n <classdata> 類ĺĄčł‡ć–™ (0-7, čĽä˝Žč€…有čĽé«ĺ„Şĺ…權)\n"
+#~ " -c <class> 排程類ĺĄ\n"
+#~ " 0:無,1:即時,2:盡力,3:閒置\n"
+#~ " -t 忽略失敗\n"
+#~ " -h 這個說ćŽ\n"
+#~ "\n"
+
+#~ msgid "CPU mask"
+#~ msgstr "CPU é®ç˝©"
+
+#~ msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+#~ msgstr "用法:shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#~ msgid "Shutdown process aborted"
+#~ msgstr "放棄關機進程"
+
+#, fuzzy
+#~ msgid "only root can shut a system down."
+#~ msgstr "%s:只有 root 可以關閉系統。\n"
+
+#, fuzzy
+#~ msgid "that must be tomorrow, can't you wait till then?"
+#~ msgstr "é‚Łĺż…é č¦ĺ°ćŽĺ¤©ďĽŚć‚¨ç„ˇćł•ç­‰ĺ°é‚Łć™‚候嗎?\n"
+
+#~ msgid "for maintenance; bounce, bounce"
+#~ msgstr "基於維護因素;跳開ă€č·łé–‹"
+
+#~ msgid "The system is being shut down within 5 minutes"
+#~ msgstr "系統將在五ĺ†é內關機"
+
+#~ msgid "Login is therefore prohibited."
+#~ msgstr "登入因而被ç¦ć­˘ă€‚"
+
+#~ msgid "rebooted by %s: %s"
+#~ msgstr "重新開機命令來自 %s: %s"
+
+#~ msgid "halted by %s: %s"
+#~ msgstr "終止命令來自 %s: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Why am I still alive after reboot?"
+#~ msgstr ""
+#~ "\n"
+#~ "為什麼重新開機之後ć‘還在é‹čˇŚďĽź"
+
+#~ msgid ""
+#~ "\n"
+#~ "Now you can turn off the power..."
+#~ msgstr ""
+#~ "\n"
+#~ "現在您可以關閉電ćşâ€¦"
+
+#~ msgid "Calling kernel power-off facility...\n"
+#~ msgstr "呼叫內核關機功č˝â€¦\n"
+
+#~ msgid "Error powering off\t%s\n"
+#~ msgstr "關閉電ćşć™‚發生錯誤\t%s\n"
+
+#~ msgid "Executing the program \"%s\" ...\n"
+#~ msgstr "正在執行程式「%s」…\n"
+
+#~ msgid "Error executing\t%s\n"
+#~ msgstr "發生錯誤於執行\t%s\n"
+
+#~ msgid "URGENT: broadcast message from %s:"
+#~ msgstr "緊急:廣播訊ćŻäľ†č‡Ş %s:"
+
+#~ msgid "System going down in %d hours %d minutes"
+#~ msgstr "系統於 %d 小時 %d ĺ†é後進行關機"
+
+#~ msgid "System going down in 1 hour %d minutes"
+#~ msgstr "系統於 1 小時 %d ĺ†é後進行關機"
+
+#~ msgid "System going down in %d minutes\n"
+#~ msgstr "系統於 %d ĺ†é後進行關機\n"
+
+#~ msgid "System going down in 1 minute\n"
+#~ msgstr "系統於 1 ĺ†é後進行關機\n"
+
+#~ msgid "System going down IMMEDIATELY!\n"
+#~ msgstr "系統即將進行關機ďĽ\n"
+
+#~ msgid "\t... %s ...\n"
+#~ msgstr "\t… %s …\n"
+
+#~ msgid "Cannot fork for swapoff. Shrug!"
+#~ msgstr "無法衍生執行 swapoff。沒輒ďĽ"
+
+#~ msgid "Cannot exec swapoff, hoping umount will do the trick."
+#~ msgstr "無法執行 swapoff,希望 umount č˝é †äľżĺšĺ°ă€‚"
+
+#~ msgid "Cannot fork for umount, trying manually."
+#~ msgstr "無法衍生執行 umount,試著手動執行。"
+
+#~ msgid "Cannot exec %s, trying umount.\n"
+#~ msgstr "無法執行 %s, 試著 umount。\n"
+
+#~ msgid "Cannot exec umount, giving up on umount."
+#~ msgstr "無法執行 umount,放棄執行 umount。"
+
+#~ msgid "Unmounting any remaining filesystems..."
+#~ msgstr "卸載任何還掛載的檔ćˇçł»çµ±â€¦"
+
+#~ msgid "shutdown: Couldn't umount %s: %s\n"
+#~ msgstr "shutdown:無法卸載 %s: %s\n"
+
+#~ msgid "Booting to single user mode.\n"
+#~ msgstr "開機進入單一使用者模式。\n"
+
+#~ msgid "exec of single user shell failed\n"
+#~ msgstr "單一使用者命令殼執行時失敗\n"
+
+#~ msgid "fork of single user shell failed\n"
+#~ msgstr "單一使用者命令殼衍生執行時失敗\n"
+
+#~ msgid "error opening fifo\n"
+#~ msgstr "開啟 fifo 時發生錯誤\n"
+
+#~ msgid "error setting close-on-exec on /dev/initctl"
+#~ msgstr "於 /dev/initctl 設定 close-on-exec 時發生錯誤"
+
+#~ msgid "error running finalprog\n"
+#~ msgstr "執行 finalprog 時發生錯誤\n"
+
+#~ msgid "error forking finalprog\n"
+#~ msgstr "衍生執行 finalprog 時發生錯誤\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Wrong password.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "錯誤的密碼。\n"
+
+#~ msgid "lstat of path failed\n"
+#~ msgstr "路徑 lstat 時失敗\n"
+
+#~ msgid "respawning: \"%s\" too fast: quenching entry\n"
+#~ msgstr "respawning:「%s」太快:ĺśćŻé …ç›®\n"
+
+#~ msgid "fork failed\n"
+#~ msgstr "衍生執行時失敗\n"
+
+#~ msgid "cannot open inittab\n"
+#~ msgstr "無法開啟 inittab\n"
+
+#~ msgid "no TERM or cannot stat tty\n"
+#~ msgstr "沒有 TERM ć–無法取得 tty 狀態\n"
+
+#~ msgid "error at stopping service \"%s\"\n"
+#~ msgstr "ć–Ľĺść­˘ćśŤĺ‹™ă€Ś%s」時發生錯誤\n"
+
+#~ msgid "Stopped service: %s\n"
+#~ msgstr "ĺść­˘çš„服務:%s\n"
+
+#~ msgid "error at starting service \"%s\"\n"
+#~ msgstr "於開始服務「%s」時發生錯誤\n"
+
+#~ msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+#~ msgstr "用法:%s [-c] [-n 等級] [-r] [-s 緩衝區大小]\n"
+
+#~ msgid "error: strdup failed"
+#~ msgstr "錯誤:strdup 失敗"
+
+#~ msgid "error: calloc failed"
+#~ msgstr "錯誤:calloc 失敗"
+
+#, fuzzy
+#~ msgid "usage: %s [-bfpx] [-l nline]"
+#~ msgstr "用法:col [-bfpx] [-l ĺ—數]\n"
+
+#~ msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+#~ msgstr "用法:%s [ - ] [ -2 ] [檔ćˇâ€¦]\n"
+
+#~ msgid ""
+#~ "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] "
+#~ "[file ...]\n"
+#~ msgstr ""
+#~ "hexdump:[-bcCdovx] [-e 格式] [-f 格式檔ćˇ] [-n 長度] [-s č·łéŽ] [檔"
+#~ "ćˇ ...]\n"
+
+#~ msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+#~ msgstr "用法:%s [-dflpcsu] [+ĺ—號 | +/式樣] ĺŤç¨±ä¸€ ĺŤç¨±äşŚâ€¦\n"
+
+#~ msgid "failed to initialize line buffer\n"
+#~ msgstr "ĺťĺ§‹ĺŚ–ĺ—緩衝區時失敗\n"
+
+#~ msgid "hexdump: can't read %s.\n"
+#~ msgstr "hexdump:無法讀取 %s。\n"
+
+#~ msgid "hexdump: line too long.\n"
+#~ msgstr "hexdump:ĺ—太長。\n"
+
+#, fuzzy
+#~ msgid "Usage: %s [file ...]\n"
+#~ msgstr "用法:%s [file]\n"
+
+#, fuzzy
+#~ msgid "realloc failed"
+#~ msgstr "malloc 失敗"
+
+#~ msgid "usage: tailf [-n N | -N] logfile"
+#~ msgstr "用法:tailf [-n N | -N] 日誌檔ćˇ"
+
+#, fuzzy
+#~ msgid "Usage: %s [ -i ] [ -tTerm ] file...\n"
+#~ msgstr "用法:%s [ -i ] [ -tTerm ] 檔ćˇâ€¦\n"
+
+#~ msgid "Unable to open %s\n"
+#~ msgstr "無法開啟 %s\n"
+
+#~ msgid "Unable to allocate any more memory\n"
+#~ msgstr "無法配置更多的č¨ć†¶é«”\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "got EOF thrice - exiting..\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ĺľ—ĺ° EOF 三次 - 離開中..\n"
+
+#~ msgid "Partition ends in the final partial cylinder"
+#~ msgstr "ĺ†ĺ‰˛ĺŤ€çµĺ°ľĺś¨ćś€ĺľŚé¨ä»˝çŁćź±"
+
+#~ msgid "last: malloc failure.\n"
+#~ msgstr "last:malloc 失敗。\n"
+
+#~ msgid "last: gethostname"
+#~ msgstr "last:gethostname"
+
+#~ msgid "login: Out of memory\n"
+#~ msgstr "登入:č¨ć†¶é«”不足\n"
+
+#~ msgid "No directory %s!\n"
+#~ msgstr "目錄 %s 不ĺ­ĺś¨ďĽ\n"
+
+#~ msgid "login: no memory for shell script.\n"
+#~ msgstr "login:無č¨ć†¶é«”可用於命令稿。\n"
+
+#~ msgid "login: no shell: %s.\n"
+#~ msgstr "login:無命令殼:%s。\n"
+
+#~ msgid "newgrp: setgid"
+#~ msgstr "newgrp:setgid"
+
+#~ msgid "newgrp: Permission denied"
+#~ msgstr "newgrp:權é™č˘«ć‹’"
+
+#~ msgid "newgrp: setuid"
+#~ msgstr "newgrp:setuid"
+
+#~ msgid "%s: Cannot fork\n"
+#~ msgstr "%s:無法衍生執行\n"
+
+#~ msgid "%s: can't read %s.\n"
+#~ msgstr "%s:無法讀取 %s。\n"
+
+#~ msgid "%s: can't stat temporary file.\n"
+#~ msgstr "%s:無法取得暫ĺ­ćŞ”ç‹€ć…‹ă€‚\n"
+
+#~ msgid "%s: can't read temporary file.\n"
+#~ msgstr "%s:無法讀取暫ĺ­ćŞ”ă€‚\n"
+
+#~ msgid "%s: parse error: %s"
+#~ msgstr "%s:剖ćžéŚŻčŞ¤ďĽš%s"
+
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s:č¨ć†¶é«”用盡\n"
+
+#~ msgid "parse error at lines: "
+#~ msgstr "剖ćžéŚŻčŞ¤ç™Ľç”źć–Ľĺ—號:"
+
+#~ msgid " and %d."
+#~ msgstr " 和 %d。"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s:不ĺćł•çš„é¸é … ─ %c\n"
+
+#~ msgid "segments allocated %d\n"
+#~ msgstr "已配置資料段 %d\n"
+
+#~ msgid "pages allocated %ld\n"
+#~ msgstr "已配置č¨ć†¶é«”é  %ld\n"
+
+#~ msgid "pages resident %ld\n"
+#~ msgstr "常é§č¨ć†¶é«”é  %ld\n"
+
+#~ msgid "pages swapped %ld\n"
+#~ msgstr "已交換č¨ć†¶é«”é  %ld\n"
+
+#~ msgid "Swap performance: %ld attempts\t %ld successes\n"
+#~ msgstr "交換ć•č˝ďĽš%ld 次ĺ—試\t%ld 次ć功\n"
+
+#~ msgid "renice: %s: unknown user\n"
+#~ msgstr "renice:%s: 不ćŽçš„使用者\n"
+
+#~ msgid "renice: %s: bad value\n"
+#~ msgstr "renice:%s: 不當的值\n"
+
+#~ msgid "%s: illegal interval %s seconds\n"
+#~ msgstr "%s:不ĺćł•çš„ %s 秒間隔\n"
+
+#~ msgid "%s: illegal time_t value %s\n"
+#~ msgstr "%s:不ĺćł•çš„ time_t 值 %s\n"
+
+#~ msgid "%s: unable to execute %s: %s\n"
+#~ msgstr "%s:無法執行 %s:%s\n"
+
+#~ msgid "rtc read"
+#~ msgstr "rtc 讀取"
+
+#~ msgid "malloc error"
+#~ msgstr "malloc 錯誤"
+
+#~ msgid "usage: column [-tx] [-c columns] [file ...]\n"
+#~ msgstr "用法:column [-tx] [-c 欄數] [檔ćˇ...]\n"
+
+#~ msgid "od: od(1) has been deprecated for hexdump(1).\n"
+#~ msgstr "od:od(1) 已不宜用於 hexdump(1)。\n"
+
+#~ msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+#~ msgstr "od:hexdump(1) 的相容性不支援 -%c é¸é …%s\n"
+
+#~ msgid "; see strings(1)."
+#~ msgstr ";ĺŹçś‹ strings(1)。"
+
+#~ msgid "Out of memory\n"
+#~ msgstr "č¨ć†¶é«”不足\n"
+
+#~ msgid "unable to allocate bufferspace"
+#~ msgstr "無法配置緩衝區空間"
+
+#~ msgid "usage: rev [file ...]\n"
+#~ msgstr "用法:rev [檔ćˇâ€¦]\n"
+
+#~ msgid "Unable to allocate buffer.\n"
+#~ msgstr "無法配置緩衝區。\n"
+
+#~ msgid "Out of memory when growing buffer.\n"
+#~ msgstr "緩衝區ć長時發生č¨ć†¶é«”不足。\n"
diff --git a/schedutils/Makemodule.am b/schedutils/Makemodule.am
new file mode 100644
index 0000000..d447536
--- /dev/null
+++ b/schedutils/Makemodule.am
@@ -0,0 +1,22 @@
+if BUILD_SCHEDUTILS
+
+usrbin_exec_PROGRAMS += chrt
+dist_man_MANS += schedutils/chrt.1
+chrt_SOURCES = schedutils/chrt.c
+chrt_LDADD = $(LDADD) libcommon.la
+
+if BUILD_IONICE
+usrbin_exec_PROGRAMS += ionice
+dist_man_MANS += schedutils/ionice.1
+ionice_SOURCES = schedutils/ionice.c
+ionice_LDADD = $(LDADD) libcommon.la
+endif
+
+if BUILD_TASKSET
+usrbin_exec_PROGRAMS += taskset
+dist_man_MANS += schedutils/taskset.1
+taskset_SOURCES = schedutils/taskset.c
+taskset_LDADD = $(LDADD) libcommon.la
+endif
+
+endif # BUILD_SCHEDUTILS
diff --git a/schedutils/chrt.1 b/schedutils/chrt.1
new file mode 100644
index 0000000..b85717b
--- /dev/null
+++ b/schedutils/chrt.1
@@ -0,0 +1,158 @@
+.\" chrt(1) manpage
+.\"
+.\" Copyright (C) 2004 Robert Love
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" 2002-05-11 Robert Love <rml@tech9.net>
+.\" Initial version
+.\"
+.TH CHRT 1 "June 2010" "util-linux" "User Commands"
+.SH NAME
+chrt \- manipulate the real-time attributes of a process
+.SH SYNOPSIS
+.B chrt
+.RI [ options ]\ prio
+.IR command\ [ arg ]...
+.br
+.B chrt
+.RI [ options ]
+.B \-p
+.RI [ prio ]\ pid
+.SH DESCRIPTION
+.PP
+.B chrt
+sets or retrieves the real-time scheduling attributes of an existing \fIpid\fR,
+or runs \fIcommand\fR with the given attributes. Both policy (one of
+.BR SCHED_OTHER ,
+.BR SCHED_FIFO ,
+.BR SCHED_RR ,
+.BR SCHED_BATCH ,
+or
+.BR SCHED_IDLE )
+and priority can be set and retrieved.
+.PP
+The
+.BR SCHED_BATCH
+policy is supported since Linux 2.6.16. The
+.BR SCHED_IDLE
+policy is supported since Linux 2.6.23.
+.PP
+The
+.BR SCHED_RESET_ON_FORK
+flag for policies SCHED_RR and SCHED_FIFO is supported
+since Linux 2.6.31.
+.SH OPTIONS
+.TP
+.B -a, --all-tasks
+Set or retrieve the scheduling attributes of all the tasks (threads) for a
+given PID.
+.TP
+.B -b, --batch
+Set scheduling policy to
+.BR SCHED_BATCH
+(Linux specific).
+.TP
+.B -f, --fifo
+Set scheduling policy to
+.BR SCHED_FIFO .
+.TP
+.B -i, --idle
+Set scheduling policy to
+.BR SCHED_IDLE
+(Linux specific).
+.TP
+.B -m, --max
+Show minimum and maximum valid priorities, then exit.
+.TP
+.B -o, --other
+Set policy scheduling policy to
+.BR SCHED_OTHER .
+.TP
+.B -p, --pid
+Operate on an existing PID and do not launch a new task.
+.TP
+.B -r, --rr
+Set scheduling policy to
+.BR SCHED_RR
+(the default).
+.TP
+.B -R, --reset-on-fork
+Add
+.B SCHED_RESET_ON_FORK
+flag to the
+.B SCHED_FIFO
+or
+.B SCHED_RR
+scheduling policy (Linux specific).
+.TP
+.B -v, --verbose
+Show status information.
+.TP
+.B -h, --help
+Display usage information and exit.
+.TP
+.B -V, --version
+Display version information and exit.
+.SH USAGE
+.TP
+The default behavior is to run a new command:
+.B chrt
+.I prio
+.IR command\ [ arguments ]
+.TP
+You can also retrieve the real-time attributes of an existing task:
+.B chrt \-p
+.I pid
+.TP
+Or set them:
+.B chrt \-p
+.I prio pid
+.SH PERMISSIONS
+A user must possess
+.BR CAP_SYS_NICE
+to change the scheduling attributes of a process. Any user can retrieve the
+scheduling information.
+.SH NOTES
+Only
+.BR SCHED_FIFO ,
+.BR SCHED_OTHER
+and
+.BR SCHED_RR
+are part of POSIX 1003.1b Process Scheduling. The other scheduling attributes
+may be ignored on some systems.
+.SH AUTHOR
+Written by Robert M. Love.
+.SH COPYRIGHT
+Copyright \(co 2004 Robert M. Love
+.br
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.SH "SEE ALSO"
+.BR taskset (1),
+.BR nice (1),
+.BR renice (1)
+.sp
+See
+.BR sched_setscheduler (2)
+for a description of the Linux scheduling scheme.
+.SH AVAILABILITY
+The chrt command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/schedutils/chrt.c b/schedutils/chrt.c
new file mode 100644
index 0000000..95a6adc
--- /dev/null
+++ b/schedutils/chrt.c
@@ -0,0 +1,339 @@
+/*
+ * chrt.c - chrt
+ * Command-line utility for manipulating a task's real-time attributes
+ *
+ * Robert Love <rml@tech9.net>
+ * 27-Apr-2002: initial version
+ * 04-May-2011: make thread aware - Davidlohr Bueso <dave@gnu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, v2, as
+ * published by the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Copyright (C) 2004 Robert Love
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sched.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <errno.h>
+
+#include "c.h"
+#include "nls.h"
+#include "closestream.h"
+#include "strutils.h"
+#include "procutils.h"
+
+/* the SCHED_BATCH is supported since Linux 2.6.16
+ * -- temporary workaround for people with old glibc headers
+ */
+#if defined (__linux__) && !defined(SCHED_BATCH)
+# define SCHED_BATCH 3
+#endif
+
+/* the SCHED_IDLE is supported since Linux 2.6.23
+ * commit id 0e6aca43e08a62a48d6770e9a159dbec167bf4c6
+ * -- temporary workaround for people with old glibc headers
+ */
+#if defined (__linux__) && !defined(SCHED_IDLE)
+# define SCHED_IDLE 5
+#endif
+
+#if defined(__linux__) && !defined(SCHED_RESET_ON_FORK)
+#define SCHED_RESET_ON_FORK 0x40000000
+#endif
+
+
+static void __attribute__((__noreturn__)) show_usage(int rc)
+{
+ FILE *out = rc == EXIT_SUCCESS ? stdout : stderr;
+
+ fprintf(out, _(
+ "\nchrt - manipulate real-time attributes of a process\n"
+ "\nSet policy:\n"
+ " chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]}\n"
+ "\nGet policy:\n"
+ " chrt [options] {<pid> | <command> [<arg> ...]}\n"));
+
+ fprintf(out, _(
+ "\nScheduling policies:\n"
+ " -b | --batch set policy to SCHED_BATCH\n"
+ " -f | --fifo set policy to SCHED_FIFO\n"
+ " -i | --idle set policy to SCHED_IDLE\n"
+ " -o | --other set policy to SCHED_OTHER\n"
+ " -r | --rr set policy to SCHED_RR (default)\n"));
+
+#ifdef SCHED_RESET_ON_FORK
+ fprintf(out, _(
+ "\nScheduling flags:\n"
+ " -R | --reset-on-fork set SCHED_RESET_ON_FORK for FIFO or RR\n"));
+#endif
+ fprintf(out, _(
+ "\nOptions:\n"
+ " -a | --all-tasks operate on all the tasks (threads) for a given pid\n"
+ " -h | --help display this help\n"
+ " -m | --max show min and max valid priorities\n"
+ " -p | --pid operate on existing given pid\n"
+ " -v | --verbose display status information\n"
+ " -V | --version output version information\n\n"));
+
+ exit(rc);
+}
+
+static void show_rt_info(pid_t pid, int isnew)
+{
+ struct sched_param sp;
+ int policy;
+
+ /* don't display "pid 0" as that is confusing */
+ if (!pid)
+ pid = getpid();
+
+ policy = sched_getscheduler(pid);
+ if (policy == -1)
+ err(EXIT_FAILURE, _("failed to get pid %d's policy"), pid);
+
+ if (isnew)
+ printf(_("pid %d's new scheduling policy: "), pid);
+ else
+ printf(_("pid %d's current scheduling policy: "), pid);
+
+ switch (policy) {
+ case SCHED_OTHER:
+ printf("SCHED_OTHER\n");
+ break;
+ case SCHED_FIFO:
+ printf("SCHED_FIFO\n");
+ break;
+#ifdef SCHED_RESET_ON_FORK
+ case SCHED_FIFO | SCHED_RESET_ON_FORK:
+ printf("SCHED_FIFO|SCHED_RESET_ON_FORK\n");
+ break;
+#endif
+#ifdef SCHED_IDLE
+ case SCHED_IDLE:
+ printf("SCHED_IDLE\n");
+ break;
+#endif
+ case SCHED_RR:
+ printf("SCHED_RR\n");
+ break;
+#ifdef SCHED_RESET_ON_FORK
+ case SCHED_RR | SCHED_RESET_ON_FORK:
+ printf("SCHED_RR|SCHED_RESET_ON_FORK\n");
+ break;
+#endif
+#ifdef SCHED_BATCH
+ case SCHED_BATCH:
+ printf("SCHED_BATCH\n");
+ break;
+#endif
+ default:
+ warnx(_("unknown scheduling policy"));
+ }
+
+ if (sched_getparam(pid, &sp))
+ err(EXIT_FAILURE, _("failed to get pid %d's attributes"), pid);
+
+ if (isnew)
+ printf(_("pid %d's new scheduling priority: %d\n"),
+ pid, sp.sched_priority);
+ else
+ printf(_("pid %d's current scheduling priority: %d\n"),
+ pid, sp.sched_priority);
+}
+
+static void show_min_max(void)
+{
+ unsigned long i;
+ int policies[] = {
+ SCHED_OTHER,
+ SCHED_FIFO,
+ SCHED_RR,
+#ifdef SCHED_BATCH
+ SCHED_BATCH,
+#endif
+#ifdef SCHED_IDLE
+ SCHED_IDLE,
+#endif
+ };
+ const char *names[] = {
+ "OTHER",
+ "FIFO",
+ "RR",
+#ifdef SCHED_BATCH
+ "BATCH",
+#endif
+#ifdef SCHED_IDLE
+ "IDLE",
+#endif
+ };
+
+ for (i = 0; i < ARRAY_SIZE(policies); i++) {
+ int max = sched_get_priority_max(policies[i]);
+ int min = sched_get_priority_min(policies[i]);
+
+ if (max >= 0 && min >= 0)
+ printf(_("SCHED_%s min/max priority\t: %d/%d\n"),
+ names[i], min, max);
+ else
+ printf(_("SCHED_%s not supported?\n"), names[i]);
+ }
+}
+
+int main(int argc, char **argv)
+{
+ int i, policy = SCHED_RR, priority = 0, verbose = 0, policy_flag = 0,
+ all_tasks = 0;
+ struct sched_param sp;
+ pid_t pid = -1;
+
+ static const struct option longopts[] = {
+ { "all-tasks", 0, NULL, 'a' },
+ { "batch", 0, NULL, 'b' },
+ { "fifo", 0, NULL, 'f' },
+ { "idle", 0, NULL, 'i' },
+ { "pid", 0, NULL, 'p' },
+ { "help", 0, NULL, 'h' },
+ { "max", 0, NULL, 'm' },
+ { "other", 0, NULL, 'o' },
+ { "rr", 0, NULL, 'r' },
+ { "reset-on-fork", 0, NULL, 'R' },
+ { "verbose", 0, NULL, 'v' },
+ { "version", 0, NULL, 'V' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while((i = getopt_long(argc, argv, "+abfiphmoRrvV", longopts, NULL)) != -1)
+ {
+ int ret = EXIT_FAILURE;
+
+ switch (i) {
+ case 'a':
+ all_tasks = 1;
+ break;
+ case 'b':
+#ifdef SCHED_BATCH
+ policy = SCHED_BATCH;
+#endif
+ break;
+ case 'f':
+ policy = SCHED_FIFO;
+ break;
+ case 'R':
+#ifdef SCHED_RESET_ON_FORK
+ policy_flag |= SCHED_RESET_ON_FORK;
+#endif
+ break;
+ case 'i':
+#ifdef SCHED_IDLE
+ policy = SCHED_IDLE;
+#endif
+ break;
+ case 'm':
+ show_min_max();
+ return EXIT_SUCCESS;
+ case 'o':
+ policy = SCHED_OTHER;
+ break;
+ case 'p':
+ errno = 0;
+ pid = strtos32_or_err(argv[argc - 1], _("invalid PID argument"));
+ break;
+ case 'r':
+ policy = SCHED_RR;
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ case 'V':
+ printf("%s from %s\n", program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ ret = EXIT_SUCCESS;
+ /* fallthrough */
+ default:
+ show_usage(ret);
+ }
+ }
+
+ if (((pid > -1) && argc - optind < 1) ||
+ ((pid == -1) && argc - optind < 2))
+ show_usage(EXIT_FAILURE);
+
+ if ((pid > -1) && (verbose || argc - optind == 1)) {
+ if (all_tasks) {
+ pid_t tid;
+ struct proc_tasks *ts = proc_open_tasks(pid);
+
+ if (!ts)
+ err(EXIT_FAILURE, _("cannot obtain the list of tasks"));
+ while (!proc_next_tid(ts, &tid))
+ show_rt_info(tid, FALSE);
+ proc_close_tasks(ts);
+ } else
+ show_rt_info(pid, FALSE);
+
+ if (argc - optind == 1)
+ return EXIT_SUCCESS;
+ }
+
+ errno = 0;
+ priority = strtos32_or_err(argv[optind], _("invalid priority argument"));
+
+#ifdef SCHED_RESET_ON_FORK
+ /* sanity check */
+ if ((policy_flag & SCHED_RESET_ON_FORK) &&
+ !(policy == SCHED_FIFO || policy == SCHED_RR))
+ errx(EXIT_FAILURE, _("SCHED_RESET_ON_FORK flag is suppoted for "
+ "SCHED_FIFO and SCHED_RR policies only"));
+#endif
+
+ policy |= policy_flag;
+
+ if (pid == -1)
+ pid = 0;
+ sp.sched_priority = priority;
+
+ if (all_tasks) {
+ pid_t tid;
+ struct proc_tasks *ts = proc_open_tasks(pid);
+
+ if (!ts)
+ err(EXIT_FAILURE, _("cannot obtain the list of tasks"));
+ while (!proc_next_tid(ts, &tid))
+ if (sched_setscheduler(tid, policy, &sp) == -1)
+ err(EXIT_FAILURE, _("failed to set tid %d's policy"), tid);
+ proc_close_tasks(ts);
+ } else if (sched_setscheduler(pid, policy, &sp) == -1)
+ err(EXIT_FAILURE, _("failed to set pid %d's policy"), pid);
+
+ if (verbose)
+ show_rt_info(pid, TRUE);
+
+ if (!pid) {
+ argv += optind + 1;
+ execvp(argv[0], argv);
+ perror("execvp");
+ err(EXIT_FAILURE, _("failed to execute %s"), argv[0]);
+ }
+
+ return EXIT_SUCCESS;
+}
diff --git a/schedutils/ionice.1 b/schedutils/ionice.1
new file mode 100644
index 0000000..163df1d
--- /dev/null
+++ b/schedutils/ionice.1
@@ -0,0 +1,114 @@
+.TH IONICE 1 "July 2011" "util-linux" "User Commands"
+.SH NAME
+ionice \- set or get process I/O scheduling class and priority
+.SH SYNOPSIS
+.B ionice
+.RB [ \-c
+.IR class ]
+.RB [ \-n
+.IR level ]
+.RB [ \-t ]
+.B \-p
+.IR PID ...
+.br
+.B ionice
+.RB [ \-c
+.IR class ]
+.RB [ \-n
+.IR level ]
+.RB [ \-t ]
+.IR "command " [ argument ...]
+.SH DESCRIPTION
+This program sets or gets the I/O scheduling class and priority for a program.
+If no arguments or just \fB\-p\fR is given, \fBionice\fR will query the current
+I/O scheduling class and priority for that process.
+
+When \fIcommand\fR is given,
+.B ionice
+will run this command with the given arguments.
+If no \fIclass\fR is specified, then
+.I command
+will be executed with the "best-effort" scheduling class. The default
+priority level is 4.
+
+As of this writing, a process can be in one of three scheduling classes:
+.IP "\fBIdle\fP"
+A program running with idle I/O priority will only get disk time when no other
+program has asked for disk I/O for a defined grace period. The impact of an
+idle I/O process on normal system activity should be zero. This scheduling
+class does not take a priority argument. Presently, this scheduling class
+is permitted for an ordinary user (since kernel 2.6.25).
+.IP "\fBBest-effort\fP"
+This is the effective scheduling class for any process that has not asked for
+a specific I/O priority.
+This class takes a priority argument from \fI0-7\fR, with a lower
+number being higher priority. Programs running at the same best-effort
+priority are served in a round-robin fashion.
+
+Note that before kernel 2.6.26 a process that has not asked for an I/O priority
+formally uses "\fBnone\fP" as scheduling class, but the I/O scheduler will treat
+such processes as if it were in the best-effort class. The priority within the
+best-effort class will be dynamically derived from the CPU nice level of the
+process: io_priority = (cpu_nice + 20) / 5.
+
+For kernels after 2.6.26 with the CFQ I/O scheduler, a process that has not asked
+for an I/O priority inherits its CPU scheduling class. The I/O priority is derived
+from the CPU nice level of the process (same as before kernel 2.6.26).
+
+.IP "\fBRealtime\fP"
+The RT scheduling class is given first access to the disk, regardless of
+what else is going on in the system. Thus the RT class needs to be used with
+some care, as it can starve other processes. As with the best-effort class,
+8 priority levels are defined denoting how big a time slice a given process
+will receive on each scheduling window. This scheduling class is not
+permitted for an ordinary (i.e., non-root) user.
+.SH OPTIONS
+.TP
+.BR \-c , " \-\-class " \fIclass\fR
+Specify the name or number of the scheduling class to use; \fI0\fR for none,
+\fI1\fR for realtime, \fI2\fR for best-effort, \fI3\fR for idle.
+.TP
+.BR \-n , " \-\-classdata " \fIlevel\fR
+Specify the scheduling class data. This only has an effect if the class
+accepts an argument. For realtime and best-effort, \fI0-7\fR are valid data
+(priority levels).
+.TP
+.BR \-p , " \-\-pid " \fIPID\fR...
+Specify the process IDs of running processes for which to get or set the
+scheduling parameters.
+.TP
+.BR \-t , " \-\-ignore"
+Ignore failure to set the requested priority. If \fIcommand\fR was specified,
+run it even in case it was not possible to set the desired scheduling priority,
+which can happen due to insufficient privileges or an old kernel version.
+.TP
+.BR \-h , " \-\-help"
+Display help and exit.
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit.
+.SH EXAMPLES
+.LP
+.TP 7
+# \fBionice\fP -c 3 -p 89
+.TP 7
+Sets process with PID 89 as an idle I/O process.
+.TP 7
+# \fBionice\fP -c 2 -n 0 bash
+.TP 7
+Runs 'bash' as a best-effort program with highest priority.
+.TP 7
+# \fBionice\fP -p 89 91
+.TP 7
+Prints the class and priority of the processes with PID 89 and 91.
+.SH NOTES
+Linux supports I/O scheduling priorities and classes since 2.6.13 with the CFQ
+I/O scheduler.
+.SH AUTHORS
+.nf
+Jens Axboe <jens@axboe.dk>
+Karel Zak <kzak@redhat.com>
+.fi
+.SH AVAILABILITY
+The ionice command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/schedutils/ionice.c b/schedutils/ionice.c
new file mode 100644
index 0000000..e25428d
--- /dev/null
+++ b/schedutils/ionice.c
@@ -0,0 +1,238 @@
+/*
+ * ionice: set or get process io scheduling class and priority
+ *
+ * Copyright (C) 2005 Jens Axboe <jens@axboe.dk>
+ *
+ * Released under the terms of the GNU General Public License version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <sys/syscall.h>
+#include <ctype.h>
+
+#include "nls.h"
+#include "strutils.h"
+#include "c.h"
+#include "closestream.h"
+
+static int tolerant;
+
+static inline int ioprio_set(int which, int who, int ioprio)
+{
+ return syscall(SYS_ioprio_set, which, who, ioprio);
+}
+
+static inline int ioprio_get(int which, int who)
+{
+ return syscall(SYS_ioprio_get, which, who);
+}
+
+enum {
+ IOPRIO_CLASS_NONE,
+ IOPRIO_CLASS_RT,
+ IOPRIO_CLASS_BE,
+ IOPRIO_CLASS_IDLE,
+};
+
+enum {
+ IOPRIO_WHO_PROCESS = 1,
+ IOPRIO_WHO_PGRP,
+ IOPRIO_WHO_USER,
+};
+
+#define IOPRIO_CLASS_SHIFT (13)
+#define IOPRIO_PRIO_MASK ((1UL << IOPRIO_CLASS_SHIFT) - 1)
+
+#define IOPRIO_PRIO_CLASS(mask) ((mask) >> IOPRIO_CLASS_SHIFT)
+#define IOPRIO_PRIO_DATA(mask) ((mask) & IOPRIO_PRIO_MASK)
+#define IOPRIO_PRIO_VALUE(class, data) (((class) << IOPRIO_CLASS_SHIFT) | data)
+
+const char *to_prio[] = {
+ [IOPRIO_CLASS_NONE] = "none",
+ [IOPRIO_CLASS_RT] = "realtime",
+ [IOPRIO_CLASS_BE] = "best-effort",
+ [IOPRIO_CLASS_IDLE] = "idle"
+};
+
+static int parse_ioclass(const char *str)
+{
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(to_prio); i++)
+ if (!strcasecmp(str, to_prio[i]))
+ return i;
+ return -1;
+}
+
+static void ioprio_print(int pid)
+{
+ int ioprio = ioprio_get(IOPRIO_WHO_PROCESS, pid);
+
+ if (ioprio == -1)
+ err(EXIT_FAILURE, _("ioprio_get failed"));
+ else {
+ int ioclass = IOPRIO_PRIO_CLASS(ioprio);
+ const char *name = _("unknown");
+
+ if (ioclass > 0 && (size_t) ioclass < ARRAY_SIZE(to_prio))
+ name = to_prio[ioclass];
+
+ if (ioclass != IOPRIO_CLASS_IDLE)
+ printf("%s: prio %lu\n", name,
+ IOPRIO_PRIO_DATA(ioprio));
+ else
+ printf("%s\n", name);
+ }
+}
+
+static void ioprio_setpid(pid_t pid, int ioclass, int data)
+{
+ int rc = ioprio_set(IOPRIO_WHO_PROCESS, pid,
+ IOPRIO_PRIO_VALUE(ioclass, data));
+
+ if (rc == -1 && !tolerant)
+ err(EXIT_FAILURE, _("ioprio_set failed"));
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out,
+ _("\n"
+ "%1$s - sets or gets process io scheduling class and priority.\n"
+ "\n"
+ "Usage:\n"
+ " %1$s [OPTION] -p PID [PID...]\n"
+ " %1$s [OPTION] COMMAND\n"
+ "\n"
+ "Options:\n"
+ " -c, --class <class> scheduling class name or number\n"
+ " 0: none, 1: realtime, 2: best-effort, 3: idle\n"
+ " -n, --classdata <num> scheduling class data\n"
+ " 0-7 for realtime and best-effort classes\n"
+ " -p, --pid=PID view or modify already running process\n"
+ " -t, --ignore ignore failures\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"),
+ program_invocation_short_name);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int data = 4, set = 0, ioclass = IOPRIO_CLASS_BE, c;
+ pid_t pid = 0;
+
+ static const struct option longopts[] = {
+ { "classdata", required_argument, NULL, 'n' },
+ { "class", required_argument, NULL, 'c' },
+ { "help", no_argument, NULL, 'h' },
+ { "ignore", no_argument, NULL, 't' },
+ { "pid", required_argument, NULL, 'p' },
+ { "version", no_argument, NULL, 'V' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "+n:c:p:tVh", longopts, NULL)) != EOF)
+ switch (c) {
+ case 'n':
+ data = strtos32_or_err(optarg, _("invalid class data argument"));
+ set |= 1;
+ break;
+ case 'c':
+ if (isdigit(*optarg))
+ ioclass = strtos32_or_err(optarg,
+ _("invalid class argument"));
+ else {
+ ioclass = parse_ioclass(optarg);
+ if (ioclass < 0)
+ errx(EXIT_FAILURE,
+ _("unknown scheduling class: '%s'"),
+ optarg);
+ }
+ set |= 2;
+ break;
+ case 'p':
+ pid = strtos32_or_err(optarg, _("invalid PID argument"));
+ break;
+ case 't':
+ tolerant = 1;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name, PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ switch (ioclass) {
+ case IOPRIO_CLASS_NONE:
+ if ((set & 1) && !tolerant)
+ warnx(_("ignoring given class data for none class"));
+ data = 0;
+ break;
+ case IOPRIO_CLASS_RT:
+ case IOPRIO_CLASS_BE:
+ break;
+ case IOPRIO_CLASS_IDLE:
+ if ((set & 1) && !tolerant)
+ warnx(_("ignoring given class data for idle class"));
+ data = 7;
+ break;
+ default:
+ if (!tolerant)
+ warnx(_("unknown prio class %d"), ioclass);
+ break;
+ }
+
+ if (!set && !pid && optind == argc)
+ /*
+ * ionice without options, print the current ioprio
+ */
+ ioprio_print(0);
+
+ else if (!set && pid) {
+ /*
+ * ionice -p PID [PID ...]
+ */
+ ioprio_print(pid);
+
+ for(; argv[optind]; ++optind) {
+ pid = strtos32_or_err(argv[optind], _("invalid PID argument"));
+ ioprio_print(pid);
+ }
+ } else if (set && pid) {
+ /*
+ * ionice -c CLASS -p PID [PID ...]
+ */
+ ioprio_setpid(pid, ioclass, data);
+
+ for(; argv[optind]; ++optind) {
+ pid = strtos32_or_err(argv[optind], _("invalid PID argument"));
+ ioprio_setpid(pid, ioclass, data);
+ }
+ } else if (argv[optind]) {
+ /*
+ * ionice [-c CLASS] COMMAND
+ */
+ ioprio_setpid(0, ioclass, data);
+ execvp(argv[optind], &argv[optind]);
+ err(EXIT_FAILURE, _("executing %s failed"), argv[optind]);
+ } else
+ usage(stderr);
+
+
+ return EXIT_SUCCESS;
+}
diff --git a/schedutils/taskset.1 b/schedutils/taskset.1
new file mode 100644
index 0000000..efaa0d2
--- /dev/null
+++ b/schedutils/taskset.1
@@ -0,0 +1,128 @@
+.\" taskset(1) manpage
+.\"
+.\" Copyright (C) 2004 Robert Love
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" 2002-05-11 Robert Love <rml@tech9.net>
+.\" Initial version
+.\"
+.TH TASKSET 1 "April 2003" "util-linux" "User Commands"
+.SH NAME
+taskset \- retrieve or set a process's CPU affinity
+.SH SYNOPSIS
+.B taskset
+.RI [ options ]\ mask
+.IR command\ [ arg ]...
+.br
+.B taskset
+.RI [ options ]
+.B \-p
+.RI [ mask ]\ pid
+.SH DESCRIPTION
+.PP
+.B taskset
+is used to set or retrieve the CPU affinity of a running process given its PID
+or to launch a new COMMAND with a given CPU affinity. CPU affinity is a
+scheduler property that "bonds" a process to a given set of CPUs on the system.
+The Linux scheduler will honor the given CPU affinity and the process will not
+run on any other CPUs. Note that the Linux scheduler also supports natural
+CPU affinity: the scheduler attempts to keep processes on the same CPU as long
+as practical for performance reasons. Therefore, forcing a specific CPU
+affinity is useful only in certain applications.
+.sp
+The CPU affinity is represented as a bitmask, with the lowest order bit
+corresponding to the first logical CPU and the highest order bit corresponding
+to the last logical CPU. Not all CPUs may exist on a given system but a mask
+may specify more CPUs than are present. A retrieved mask will reflect only the
+bits that correspond to CPUs physically on the system. If an invalid mask is
+given (i.e., one that corresponds to no valid CPUs on the current system) an
+error is returned. The masks are typically given in hexadecimal. For example,
+.TP
+.BR 0x00000001
+is processor #0
+.TP
+.BR 0x00000003
+is processors #0 and #1
+.TP
+.BR 0xFFFFFFFF
+is all processors (#0 through #31).
+.PP
+When
+.BR taskset
+returns, it is guaranteed that the given program has been scheduled to a legal
+CPU.
+.SH OPTIONS
+.TP
+.BR \-a ,\ \-\-all-tasks
+Set or retrieve the CPU affinity of all the tasks (threads) for a given PID.
+.TP
+.BR \-p ,\ \-\-pid
+Operate on an existing PID and do not launch a new task.
+.TP
+.BR \-c ,\ \-\-cpu-list
+Specify a numerical list of processors instead of a bitmask. The numbers
+are separated by commas and may include ranges. For example:
+.BR 0,5,7,9-11 .
+.TP
+.BR \-h ,\ \-\-help
+Display usage information and exit.
+.TP
+.BR \-V ,\ \-\-version
+Display version information and exit.
+.SH USAGE
+.TP
+The default behavior is to run a new command with a given affinity mask:
+.B taskset
+.I mask
+.IR command\ [ arguments ]
+.TP
+You can also retrieve the CPU affinity of an existing task:
+.B taskset \-p
+.I pid
+.TP
+Or set it:
+.B taskset \-p
+.I mask pid
+.SH PERMISSIONS
+A user must possess
+.B CAP_SYS_NICE
+to change the CPU affinity of a process. Any user can retrieve the affinity
+mask.
+.SH AUTHOR
+Written by Robert M. Love.
+.SH COPYRIGHT
+Copyright \(co 2004 Robert M. Love
+.br
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.SH "SEE ALSO"
+.BR chrt (1),
+.BR nice (1),
+.BR renice (1),
+.BR sched_setaffinity (2),
+.BR sched_getaffinity (2)
+.sp
+See
+.BR sched_setscheduler (2)
+for a description of the Linux scheduling scheme.
+.SH AVAILABILITY
+The taskset command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/schedutils/taskset.c b/schedutils/taskset.c
new file mode 100644
index 0000000..c1bb173
--- /dev/null
+++ b/schedutils/taskset.c
@@ -0,0 +1,242 @@
+/*
+ * taskset.c - command-line utility for setting and retrieving
+ * a task's CPU affinity
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, v2, as
+ * published by the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Copyright (C) 2004 Robert Love
+ * Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <errno.h>
+#include <sched.h>
+#include <stddef.h>
+#include <string.h>
+
+#include "cpuset.h"
+#include "nls.h"
+#include "strutils.h"
+#include "xalloc.h"
+#include "procutils.h"
+#include "c.h"
+#include "closestream.h"
+
+struct taskset {
+ pid_t pid; /* task PID */
+ cpu_set_t *set; /* task CPU mask */
+ size_t setsize;
+ char *buf; /* buffer for conversion from mask to string */
+ size_t buflen;
+ unsigned int use_list:1, /* use list rather than masks */
+ get_only:1; /* print the mask, but not modify */
+};
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fprintf(out,
+ _("Usage: %s [options] [mask | cpu-list] [pid|cmd [args...]]\n\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _(
+ "Options:\n"
+ " -a, --all-tasks operate on all the tasks (threads) for a given pid\n"
+ " -p, --pid operate on existing given pid\n"
+ " -c, --cpu-list display and specify cpus in list format\n"
+ " -h, --help display this help\n"
+ " -V, --version output version information\n\n"));
+
+ fprintf(out, _(
+ "The default behavior is to run a new command:\n"
+ " %1$s 03 sshd -b 1024\n"
+ "You can retrieve the mask of an existing task:\n"
+ " %1$s -p 700\n"
+ "Or set it:\n"
+ " %1$s -p 03 700\n"
+ "List format uses a comma-separated list instead of a mask:\n"
+ " %1$s -pc 0,3,7-11 700\n"
+ "Ranges in list format can take a stride argument:\n"
+ " e.g. 0-31:2 is equivalent to mask 0x55555555\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _("\nFor more information see taskset(1).\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void print_affinity(struct taskset *ts, int isnew)
+{
+ char *str, *msg;
+
+ if (ts->use_list) {
+ str = cpulist_create(ts->buf, ts->buflen, ts->set, ts->setsize);
+ msg = isnew ? _("pid %d's new affinity list: %s\n") :
+ _("pid %d's current affinity list: %s\n");
+ } else {
+ str = cpumask_create(ts->buf, ts->buflen, ts->set, ts->setsize);
+ msg = isnew ? _("pid %d's new affinity mask: %s\n") :
+ _("pid %d's current affinity mask: %s\n");
+ }
+
+ if (!str)
+ /* this is internal error... */
+ errx(EXIT_FAILURE, _("conversion from cpuset to string failed"));
+
+ printf(msg, ts->pid, str);
+}
+
+static void do_taskset(struct taskset *ts, size_t setsize, cpu_set_t *set)
+{
+ /* read the current mask */
+ if (ts->pid) {
+ if (sched_getaffinity(ts->pid, ts->setsize, ts->set) < 0)
+ err(EXIT_FAILURE, _("failed to get pid %d's affinity"),
+ ts->pid);
+ print_affinity(ts, FALSE);
+ }
+
+ if (ts->get_only)
+ return;
+
+ /* set new mask */
+ if (sched_setaffinity(ts->pid, setsize, set) < 0)
+ err(EXIT_FAILURE, _("failed to set pid %d's affinity"),
+ ts->pid);
+
+ /* re-read the current mask */
+ if (ts->pid) {
+ if (sched_getaffinity(ts->pid, ts->setsize, ts->set) < 0)
+ err(EXIT_FAILURE, _("failed to get pid %d's affinity"),
+ ts->pid);
+ print_affinity(ts, TRUE);
+ }
+}
+
+int main(int argc, char **argv)
+{
+ cpu_set_t *new_set;
+ pid_t pid = 0;
+ int c, all_tasks = 0;
+ int ncpus;
+ size_t new_setsize, nbits;
+ struct taskset ts;
+
+ static const struct option longopts[] = {
+ { "all-tasks", 0, NULL, 'a' },
+ { "pid", 0, NULL, 'p' },
+ { "cpu-list", 0, NULL, 'c' },
+ { "help", 0, NULL, 'h' },
+ { "version", 0, NULL, 'V' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ memset(&ts, 0, sizeof(ts));
+
+ while ((c = getopt_long(argc, argv, "+apchV", longopts, NULL)) != -1) {
+ switch (c) {
+ case 'a':
+ all_tasks = 1;
+ break;
+ case 'p':
+ pid = strtos32_or_err(argv[argc - 1],
+ _("invalid PID argument"));
+ break;
+ case 'c':
+ ts.use_list = 1;
+ break;
+ case 'V':
+ printf("%s from %s\n", program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ break;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ if ((!pid && argc - optind < 2)
+ || (pid && (argc - optind < 1 || argc - optind > 2)))
+ usage(stderr);
+
+ ncpus = get_max_number_of_cpus();
+ if (ncpus <= 0)
+ errx(EXIT_FAILURE, _("cannot determine NR_CPUS; aborting"));
+
+ /*
+ * the ts->set is always used for the sched_getaffinity call
+ * On the sched_getaffinity the kernel demands a user mask of
+ * at least the size of its own cpumask_t.
+ */
+ ts.set = cpuset_alloc(ncpus, &ts.setsize, &nbits);
+ if (!ts.set)
+ err(EXIT_FAILURE, _("cpuset_alloc failed"));
+
+ /* buffer for conversion from mask to string */
+ ts.buflen = 7 * nbits;
+ ts.buf = xmalloc(ts.buflen);
+
+ /*
+ * new_set is always used for the sched_setaffinity call
+ * On the sched_setaffinity the kernel will zero-fill its
+ * cpumask_t if the user's mask is shorter.
+ */
+ new_set = cpuset_alloc(ncpus, &new_setsize, NULL);
+ if (!new_set)
+ err(EXIT_FAILURE, _("cpuset_alloc failed"));
+
+ if (argc - optind == 1)
+ ts.get_only = 1;
+
+ else if (ts.use_list) {
+ if (cpulist_parse(argv[optind], new_set, new_setsize, 0))
+ errx(EXIT_FAILURE, _("failed to parse CPU list: %s"),
+ argv[optind]);
+ } else if (cpumask_parse(argv[optind], new_set, new_setsize)) {
+ errx(EXIT_FAILURE, _("failed to parse CPU mask: %s"),
+ argv[optind]);
+ }
+
+ if (all_tasks) {
+ struct proc_tasks *tasks = proc_open_tasks(pid);
+ while (!proc_next_tid(tasks, &ts.pid))
+ do_taskset(&ts, new_setsize, new_set);
+ proc_close_tasks(tasks);
+ } else {
+ ts.pid = pid;
+ do_taskset(&ts, new_setsize, new_set);
+ }
+
+ free(ts.buf);
+ cpuset_free(ts.set);
+ cpuset_free(new_set);
+
+ if (!pid) {
+ argv += optind + 1;
+ execvp(argv[0], argv);
+ err(EXIT_FAILURE, _("executing %s failed"), argv[0]);
+ }
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/Makemodule.am b/sys-utils/Makemodule.am
new file mode 100644
index 0000000..d376f04
--- /dev/null
+++ b/sys-utils/Makemodule.am
@@ -0,0 +1,302 @@
+
+usrbin_exec_PROGRAMS += flock
+dist_man_MANS += sys-utils/flock.1
+flock_SOURCES = sys-utils/flock.c
+flock_LDADD = $(LDADD) libcommon.la
+
+usrbin_exec_PROGRAMS += ipcmk
+dist_man_MANS += sys-utils/ipcmk.1
+ipcmk_SOURCES = sys-utils/ipcmk.c
+ipcmk_LDADD = $(LDADD) libcommon.la
+
+usrbin_exec_PROGRAMS += ipcrm
+dist_man_MANS += sys-utils/ipcrm.1
+ipcrm_SOURCES = sys-utils/ipcrm.c
+ipcrm_LDADD = $(LDADD) libcommon.la
+
+usrbin_exec_PROGRAMS += ipcs
+dist_man_MANS += sys-utils/ipcs.1
+ipcs_SOURCES = sys-utils/ipcs.c
+
+usrbin_exec_PROGRAMS += renice
+dist_man_MANS += sys-utils/renice.1
+renice_SOURCES = sys-utils/renice.c
+
+usrbin_exec_PROGRAMS += setsid
+dist_man_MANS += sys-utils/setsid.1
+setsid_SOURCES = sys-utils/setsid.c
+
+usrsbin_exec_PROGRAMS += readprofile
+dist_man_MANS += sys-utils/readprofile.8
+readprofile_SOURCES = sys-utils/readprofile.c
+
+
+if LINUX
+#
+# Linux-only utils with no another dependencies. All another dependencies have
+# to be resolved in configure.ac end exported to makefiles by BUILD_*.
+#
+bin_PROGRAMS += dmesg
+dist_man_MANS += sys-utils/dmesg.1
+dmesg_SOURCES = sys-utils/dmesg.c
+dmesg_LDADD = $(LDADD) libcommon.la
+
+sbin_PROGRAMS += ctrlaltdel
+dist_man_MANS += sys-utils/ctrlaltdel.8
+ctrlaltdel_SOURCES = sys-utils/ctrlaltdel.c
+
+sbin_PROGRAMS += fsfreeze
+dist_man_MANS += sys-utils/fsfreeze.8
+fsfreeze_SOURCES = sys-utils/fsfreeze.c
+
+sbin_PROGRAMS += fstrim
+dist_man_MANS += sys-utils/fstrim.8
+fstrim_SOURCES = sys-utils/fstrim.c
+fstrim_LDADD = $(LDADD) libcommon.la
+
+usrbin_exec_PROGRAMS += cytune
+dist_man_MANS += sys-utils/cytune.8
+cytune_SOURCES = sys-utils/cytune.c sys-utils/cyclades.h
+cytune_LDADD = $(LDADD) libcommon.la
+
+usrsbin_exec_PROGRAMS += ldattach
+dist_man_MANS += sys-utils/ldattach.8
+ldattach_SOURCES = sys-utils/ldattach.c
+ldattach_LDADD = $(LDADD) libcommon.la
+
+usrsbin_exec_PROGRAMS += tunelp
+dist_man_MANS += sys-utils/tunelp.8
+tunelp_SOURCES = sys-utils/tunelp.c sys-utils/lp.h
+
+usrsbin_exec_PROGRAMS += rtcwake
+dist_man_MANS += sys-utils/rtcwake.8
+rtcwake_SOURCES = sys-utils/rtcwake.c
+rtcwake_LDADD = $(LDADD) libcommon.la
+
+usrbin_exec_PROGRAMS += setarch
+dist_man_MANS += sys-utils/setarch.8
+setarch_SOURCES = sys-utils/setarch.c
+
+SETARCH_LINKS = linux32 linux64
+
+if ARCH_S390
+SETARCH_LINKS += s390 s390x
+endif
+if ARCH_I86
+SETARCH_LINKS += i386
+endif
+if ARCH_86_64
+SETARCH_LINKS += i386 x86_64
+endif
+if ARCH_PPC
+SETARCH_LINKS += ppc ppc64 ppc32
+endif
+if ARCH_SPARC
+SETARCH_LINKS += sparc sparc64 sparc32 sparc32bash
+endif
+if ARCH_MIPS
+SETARCH_LINKS += mips mips64 mips32
+endif
+if ARCH_IA64
+SETARCH_LINKS += i386 ia64
+endif
+if ARCH_HPPA
+SETARCH_LINKS += parisc parisc64 parisc32
+endif
+
+SETARCH_MAN_LINKS = $(addprefix sys-utils/,$(SETARCH_LINKS:=.8))
+man_MANS += $(SETARCH_MAN_LINKS)
+CLEANFILES += $(SETARCH_MAN_LINKS)
+
+$(SETARCH_MAN_LINKS):
+ $(AM_V_GEN)echo ".so man8/setarch.8" > $@
+
+install-exec-hook-setarch:
+ for I in $(SETARCH_LINKS); do \
+ cd $(DESTDIR)$(usrbin_execdir) && ln -sf setarch $$I ; \
+ done
+
+uninstall-hook-setarch:
+ for I in $(SETARCH_LINKS); do \
+ rm -f $(DESTDIR)$(usrbin_execdir)/$$I ; \
+ done
+
+INSTALL_EXEC_HOOKS += install-exec-hook-setarch
+UNINSTALL_HOOKS += uninstall-hook-setarch
+
+endif # LINUX
+
+
+if BUILD_EJECT
+usrbin_exec_PROGRAMS += eject
+eject_SOURCES = sys-utils/eject.c
+eject_LDADD = $(LDADD) libmount.la libcommon.la
+eject_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+dist_man_MANS += sys-utils/eject.1
+endif
+
+
+if BUILD_LOSETUP
+sbin_PROGRAMS += losetup
+dist_man_MANS += sys-utils/losetup.8
+losetup_SOURCES = sys-utils/losetup.c
+losetup_LDADD = $(LDADD) libcommon.la
+
+if HAVE_STATIC_LOSETUP
+bin_PROGRAMS += losetup.static
+losetup_static_SOURCES = $(losetup_SOURCES)
+losetup_static_LDFLAGS = -all-static
+losetup_static_LDADD = $(losetup_LDADD)
+endif
+endif # BUILD_LOSETUP
+
+
+if BUILD_PRLIMIT
+usrbin_exec_PROGRAMS += prlimit
+dist_man_MANS += sys-utils/prlimit.1
+prlimit_SOURCES = sys-utils/prlimit.c
+prlimit_LDADD = $(LDADD) libcommon.la
+endif
+
+
+if BUILD_MOUNT
+#
+# The original mount is in mount/ directory
+# -- temporary we share some man pages
+#
+bin_PROGRAMS += mount umount
+dist_man_MANS += \
+ sys-utils/mount.8 \
+ sys-utils/fstab.5 \
+ sys-utils/umount.8
+mount_SOURCES = sys-utils/mount.c
+mount_LDADD = $(LDADD) libcommon.la libmount.la $(SELINUX_LIBS)
+mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) -I$(ul_libmount_incdir)
+mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+
+umount_SOURCES = sys-utils/umount.c
+umount_LDADD = $(LDADD) libcommon.la libmount.la
+umount_CFLAGS = $(AM_CFLAGS) $(SUID_CFLAGS) -I$(ul_libmount_incdir)
+umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+
+if HAVE_STATIC_MOUNT
+bin_PROGRAMS += mount.static
+mount_static_SOURCES = $(mount_SOURCES)
+mount_static_CFLAGS = $(mount_CFLAGS)
+mount_static_LDFLAGS = $(mount_LDFLAGS) -all-static
+mount_static_LDADD = $(mount_LDADD) $(SELINUX_LIBS_STATIC)
+endif
+
+if HAVE_STATIC_UMOUNT
+bin_PROGRAMS += umount.static
+umount_static_SOURCES = $(umount_SOURCES)
+umount_static_CFLAGS = $(umount_CFLAGS)
+umount_static_LDFLAGS = $(umount_LDFLAGS) -all-static
+umount_static_LDADD = $(umount_LDADD)
+endif
+
+if MAKEINSTALL_DO_SETUID
+install-exec-hook-mount:
+ chmod 4755 $(DESTDIR)$(bindir)/mount
+ chmod 4755 $(DESTDIR)$(bindir)/umount
+
+INSTALL_EXEC_HOOKS += install-exec-hook-mount
+endif
+endif # BUILD_MOUNT
+
+
+if BUILD_SWAPON
+sbin_PROGRAMS += swapon swapoff
+dist_man_MANS += \
+ sys-utils/swapoff.8 \
+ sys-utils/swapon.8
+
+swapon_SOURCES = \
+ sys-utils/swapon.c \
+ sys-utils/swapon-common.c \
+ sys-utils/swapon-common.h
+
+swapon_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+swapon_LDADD = $(LDADD) libcommon.la libmount.la
+
+swapoff_SOURCES = sys-utils/swapoff.c sys-utils/swapon-common.c
+swapoff_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+swapoff_LDADD = $(LDADD) libmount.la
+endif
+
+if BUILD_LSCPU
+usrbin_exec_PROGRAMS += lscpu
+lscpu_SOURCES = sys-utils/lscpu.c
+lscpu_LDADD = $(LDADD) libcommon.la
+dist_man_MANS += sys-utils/lscpu.1
+endif
+
+if BUILD_CHCPU
+sbin_PROGRAMS += chcpu
+chcpu_SOURCES = sys-utils/chcpu.c
+chcpu_LDADD = $(LDADD) libcommon.la
+dist_man_MANS += sys-utils/chcpu.8
+endif
+
+if BUILD_WDCTL
+bin_PROGRAMS += wdctl
+dist_man_MANS += sys-utils/wdctl.8
+wdctl_SOURCES = sys-utils/wdctl.c
+wdctl_LDADD = $(LDADD) libcommon.la
+endif
+
+if BUILD_MOUNTPOINT
+bin_PROGRAMS += mountpoint
+mountpoint_LDADD = $(LDADD) libmount.la
+mountpoint_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
+dist_man_MANS += sys-utils/mountpoint.1
+mountpoint_SOURCES = sys-utils/mountpoint.c
+endif
+
+if BUILD_FALLOCATE
+usrbin_exec_PROGRAMS += fallocate
+fallocate_SOURCES = sys-utils/fallocate.c
+fallocate_LDADD = $(LDADD) libcommon.la
+dist_man_MANS += sys-utils/fallocate.1
+endif
+
+if BUILD_PIVOT_ROOT
+sbin_PROGRAMS += pivot_root
+dist_man_MANS += sys-utils/pivot_root.8
+pivot_root_SOURCES = sys-utils/pivot_root.c
+endif
+
+if BUILD_SWITCH_ROOT
+sbin_PROGRAMS += switch_root
+dist_man_MANS += sys-utils/switch_root.8
+switch_root_SOURCES = sys-utils/switch_root.c
+endif
+
+if BUILD_UNSHARE
+usrbin_exec_PROGRAMS += unshare
+dist_man_MANS += sys-utils/unshare.1
+unshare_SOURCES = sys-utils/unshare.c
+endif
+
+if BUILD_ARCH
+bin_PROGRAMS += arch
+dist_man_MANS += sys-utils/arch.1
+arch_SOURCES = sys-utils/arch.c
+endif
+
+if BUILD_HWCLOCK
+sbin_PROGRAMS += hwclock
+dist_man_MANS += sys-utils/hwclock.8
+hwclock_SOURCES = \
+ sys-utils/hwclock.c \
+ sys-utils/hwclock.h \
+ sys-utils/hwclock-cmos.c \
+ sys-utils/hwclock-kd.c
+if LINUX
+hwclock_SOURCES += sys-utils/hwclock-rtc.c
+endif
+hwclock_LDADD = $(LDADD) libcommon.la
+if HAVE_AUDIT
+hwclock_LDADD += -laudit
+endif
+endif # BUILD_HWCLOCK
diff --git a/sys-utils/arch.1 b/sys-utils/arch.1
new file mode 100644
index 0000000..96cbc0a
--- /dev/null
+++ b/sys-utils/arch.1
@@ -0,0 +1,40 @@
+.\" arch.1 --
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" Public domain: may be freely distributed.
+.TH ARCH 1 "July 1997" "util-linux" "User Commands"
+.SH NAME
+arch \- print machine architecture
+.SH SYNOPSIS
+.B arch
+.SH DESCRIPTION
+.B arch
+is a deprecated command since util-linux 2.13. Use
+.B "uname -m"
+or use
+.B arch
+from the GNU coreutils package.
+
+On current Linux systems,
+.B arch
+prints things such as "i386", "i486", "i586", "alpha", "sparc",
+"arm", "m68k", "mips", "ppc".
+.SH SEE ALSO
+.BR uname (1),
+.BR uname (2)
+.SH AVAILABILITY
+The arch command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.\"
+.\" Details:
+.\" arch prints the machine part of the system_utsname struct
+.\" This struct is defined in version.c, and this field is
+.\" initialized with UTS_MACHINE, which is defined as $ARCH
+.\" in the main Makefile.
+.\" That gives the possibilities
+.\" alpha arm i386 m68k mips ppc sparc sparc64
+.\"
+.\" If Makefile is not edited, ARCH is guessed by
+.\" ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/)
+.\" Then how come we get these i586 values?
+.\" Well, the routine check_bugs() does system_utsname.machine[1] = '0' + x86;
+.\" (called in init/main.c, defined in ./include/asm-i386/bugs.h)
diff --git a/sys-utils/arch.c b/sys-utils/arch.c
new file mode 100644
index 0000000..a730589
--- /dev/null
+++ b/sys-utils/arch.c
@@ -0,0 +1,84 @@
+/* arch -- print machine architecture information
+ * Created: Mon Dec 20 12:27:15 1993 by faith@cs.unc.edu
+ * Revised: Mon Dec 20 12:29:23 1993 by faith@cs.unc.edu
+ * Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/*
+ * This command is deprecated. The utility is in maintenance mode,
+ * meaning we keep them in source tree for backward compatibility
+ * only. Do not waste time making this command better, unless the
+ * fix is about security or other very critical issue.
+ *
+ * See Documentation/deprecated.txt for more information.
+ */
+
+#include <err.h>
+#include <errno.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <sys/utsname.h>
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, USAGE_HEADER);
+ /* Synopsis */
+ fprintf(out, _(" %s [options]\n"), program_invocation_short_name);
+ fprintf(out, USAGE_OPTIONS);
+ fprintf(out, USAGE_HELP);
+ fprintf(out, USAGE_VERSION);
+ fprintf(out, USAGE_MAN_TAIL("arch(1)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ struct utsname utsbuf;
+ int ch;
+ static const struct option longopts[] = {
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((ch = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
+ switch (ch) {
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (uname(&utsbuf))
+ err(EXIT_FAILURE, _("uname failed"));
+
+ printf("%s\n", utsbuf.machine);
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/chcpu.8 b/sys-utils/chcpu.8
new file mode 100644
index 0000000..d016b86
--- /dev/null
+++ b/sys-utils/chcpu.8
@@ -0,0 +1,96 @@
+.TH CHCPU "8" "June 2012" Linux "User Manuals"
+.SH NAME
+chcpu \- configure CPUs
+.SH SYNOPSIS
+chcpu
+[\-e] [\-d] [\-c] [\-g]
+cpu-list
+.br
+chcpu [\-p] mode
+.br
+chcpu
+\-r
+.br
+chcpu [\-h] [\-V]
+.br
+.SH DESCRIPTION
+.B chcpu
+can modify the state of CPUs. It can enable or disable CPUs, scan for new
+CPUs, change the CPU dispatching
+.I mode
+of the underlying hypervisor, and request CPUs from the hypervisor
+(configure) or return CPUs to the hypervisor (deconfigure).
+.PP
+Some options have a
+.I cpu-list
+argument. Use this argument to specify a comma-separated list of CPUs. The
+list can contain individual CPU addresses or ranges of addresses. For
+example,
+.B 0,5,7,9-11
+makes the command applicable to the CPUs with the addresses 0, 5, 7, 9, 10,
+and 11.
+.SH OPTIONS
+.TP
+.BR \-r , " \-\-rescan"
+Trigger a rescan of CPUs. Use this option on systems that do not
+automatically detect newly attached CPUs. The Linux kernel then recognizes
+the new CPUs.
+.TP
+.BR \-c , " \-\-configure " \fIcpu-list\fP
+Configure all specified CPUs. Configuring a CPU means that the hypervisor
+takes a CPU from the CPU pool and assigns it to the virtual hardware on which
+your kernel runs.
+.TP
+.BR \-e , " \-\-enable " \fIcpu-list\fP
+Enable all specified CPUs. Enabling a CPU means that the kernel sets it
+online. A CPU must be configured, see
+.BR -c ,
+before it can be enabled.
+.TP
+.BR \-p , " \-\-dispatch " \fImode\fP
+Set the CPU dispatching
+.I mode
+(polarization). This option has an effect only if your hardware architecture
+and hypervisor support CPU polarization. Available
+.I modes
+are:
+.RS 14
+.TP 12
+.PD 0
+.B horizontal
+The workload is spread across all available CPUs.
+.TP 12
+.B vertical
+The workload is concentrated on few CPUs.
+.RE
+.PD 1
+.TP
+.BR \-d , " \-\-disable " \fIcpu-list\fP
+Disable all specified CPUs. Disabling a CPU means that the kernel sets it
+offline.
+.TP
+.BR \-g , " \-\-deconfigure " \fIcpu-list\fP
+Deconfigure all specified CPUs. Deconfiguring a CPU means that the
+hypervisor removes the CPU from the virtual hardware on which the Linux
+instance runs and returns it to the CPU pool. A CPU must be offline, see
+\-d, before it can be deconfigured.
+.TP
+.BR \-h , " \-\-help"
+Display help information and exit.
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit.
+.SH AUTHOR
+.MT heiko.carstens@de.ibm.com
+Heiko Carstens
+.ME
+.SH COPYRIGHT
+Copyright IBM Corp. 2011
+.br
+.SH "SEE ALSO"
+.BR lscpu (1)
+.SH AVAILABILITY
+The chcpu command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/chcpu.c b/sys-utils/chcpu.c
new file mode 100644
index 0000000..0209fe9
--- /dev/null
+++ b/sys-utils/chcpu.c
@@ -0,0 +1,335 @@
+/*
+ * chcpu - CPU configuration tool
+ *
+ * Copyright IBM Corp. 2011
+ * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>,
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <ctype.h>
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/utsname.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include "cpuset.h"
+#include "nls.h"
+#include "xalloc.h"
+#include "c.h"
+#include "strutils.h"
+#include "bitops.h"
+#include "path.h"
+#include "closestream.h"
+#include "optutils.h"
+
+#define EXCL_ERROR "--{configure,deconfigure,disable,dispatch,enable}"
+
+#define _PATH_SYS_CPU "/sys/devices/system/cpu"
+#define _PATH_SYS_CPU_ONLINE _PATH_SYS_CPU "/online"
+#define _PATH_SYS_CPU_RESCAN _PATH_SYS_CPU "/rescan"
+#define _PATH_SYS_CPU_DISPATCH _PATH_SYS_CPU "/dispatching"
+
+static cpu_set_t *onlinecpus;
+static int maxcpus;
+
+#define is_cpu_online(cpu) (CPU_ISSET_S((cpu), CPU_ALLOC_SIZE(maxcpus), onlinecpus))
+#define num_online_cpus() (CPU_COUNT_S(CPU_ALLOC_SIZE(maxcpus), onlinecpus))
+
+enum {
+ CMD_CPU_ENABLE = 0,
+ CMD_CPU_DISABLE,
+ CMD_CPU_CONFIGURE,
+ CMD_CPU_DECONFIGURE,
+ CMD_CPU_RESCAN,
+ CMD_CPU_DISPATCH_HORIZONTAL,
+ CMD_CPU_DISPATCH_VERTICAL,
+};
+
+static int cpu_enable(cpu_set_t *cpu_set, size_t setsize, int enable)
+{
+ unsigned int cpu;
+ int online, rc;
+ int configured = -1;
+
+ for (cpu = 0; cpu < setsize; cpu++) {
+ if (!CPU_ISSET(cpu, cpu_set))
+ continue;
+ if (!path_exist(_PATH_SYS_CPU "/cpu%d", cpu)) {
+ printf(_("CPU %d does not exist\n"), cpu);
+ continue;
+ }
+ if (!path_exist(_PATH_SYS_CPU "/cpu%d/online", cpu)) {
+ printf(_("CPU %d is not hot pluggable\n"), cpu);
+ continue;
+ }
+ online = path_getnum(_PATH_SYS_CPU "/cpu%d/online", cpu);
+ if ((online == 1) && (enable == 1)) {
+ printf(_("CPU %d is already enabled\n"), cpu);
+ continue;
+ }
+ if ((online == 0) && (enable == 0)) {
+ printf(_("CPU %d is already disabled\n"), cpu);
+ continue;
+ }
+ if (path_exist(_PATH_SYS_CPU "/cpu%d/configure", cpu))
+ configured = path_getnum(_PATH_SYS_CPU "/cpu%d/configure", cpu);
+ if (enable) {
+ rc = path_writestr("1", _PATH_SYS_CPU "/cpu%d/online", cpu);
+ if ((rc == -1) && (configured == 0))
+ printf(_("CPU %d enable failed "
+ "(CPU is deconfigured)\n"), cpu);
+ else if (rc == -1)
+ printf(_("CPU %d enable failed (%m)\n"), cpu);
+ else
+ printf(_("CPU %d enabled\n"), cpu);
+ } else {
+ if (onlinecpus && num_online_cpus() == 1) {
+ printf(_("CPU %d disable failed "
+ "(last enabled CPU)\n"), cpu);
+ continue;
+ }
+ rc = path_writestr("0", _PATH_SYS_CPU "/cpu%d/online", cpu);
+ if (rc == -1)
+ printf(_("CPU %d disable failed (%m)\n"), cpu);
+ else {
+ printf(_("CPU %d disabled\n"), cpu);
+ if (onlinecpus)
+ CPU_CLR(cpu, onlinecpus);
+ }
+ }
+ }
+ return EXIT_SUCCESS;
+}
+
+static int cpu_rescan(void)
+{
+ if (!path_exist(_PATH_SYS_CPU_RESCAN))
+ errx(EXIT_FAILURE, _("This system does not support rescanning of CPUs"));
+ if (path_writestr("1", _PATH_SYS_CPU_RESCAN) == -1)
+ err(EXIT_FAILURE, _("Failed to trigger rescan of CPUs"));
+ printf(_("Triggered rescan of CPUs\n"));
+ return EXIT_SUCCESS;
+}
+
+static int cpu_set_dispatch(int mode)
+{
+ if (!path_exist(_PATH_SYS_CPU_DISPATCH))
+ errx(EXIT_FAILURE, _("This system does not support setting "
+ "the dispatching mode of CPUs"));
+ if (mode == 0) {
+ if (path_writestr("0", _PATH_SYS_CPU_DISPATCH) == -1)
+ err(EXIT_FAILURE, _("Failed to set horizontal dispatch mode"));
+ printf(_("Successfully set horizontal dispatching mode\n"));
+ } else {
+ if (path_writestr("1", _PATH_SYS_CPU_DISPATCH) == -1)
+ err(EXIT_FAILURE, _("Failed to set vertical dispatch mode"));
+ printf(_("Successfully set vertical dispatching mode\n"));
+ }
+ return EXIT_SUCCESS;
+}
+
+static int cpu_configure(cpu_set_t *cpu_set, size_t setsize, int configure)
+{
+ unsigned int cpu;
+ int rc, current;
+
+ for (cpu = 0; cpu < setsize; cpu++) {
+ if (!CPU_ISSET(cpu, cpu_set))
+ continue;
+ if (!path_exist(_PATH_SYS_CPU "/cpu%d", cpu)) {
+ printf(_("CPU %d does not exist\n"), cpu);
+ continue;
+ }
+ if (!path_exist(_PATH_SYS_CPU "/cpu%d/configure", cpu)) {
+ printf(_("CPU %d is not configurable\n"), cpu);
+ continue;
+ }
+ current = path_getnum(_PATH_SYS_CPU "/cpu%d/configure", cpu);
+ if ((current == 1) && (configure == 1)) {
+ printf(_("CPU %d is already configured\n"), cpu);
+ continue;
+ }
+ if ((current == 0) && (configure == 0)) {
+ printf(_("CPU %d is already deconfigured\n"), cpu);
+ continue;
+ }
+ if ((current == 1) && (configure == 0) && onlinecpus &&
+ is_cpu_online(cpu)) {
+ printf(_("CPU %d deconfigure failed "
+ "(CPU is enabled)\n"), cpu);
+ continue;
+ }
+ if (configure) {
+ rc = path_writestr("1", _PATH_SYS_CPU "/cpu%d/configure", cpu);
+ if (rc == -1)
+ printf(_("CPU %d configure failed (%m)\n"), cpu);
+ else
+ printf(_("CPU %d configured\n"), cpu);
+ } else {
+ rc = path_writestr("0", _PATH_SYS_CPU "/cpu%d/configure", cpu);
+ if (rc == -1)
+ printf(_("CPU %d deconfigure failed (%m)\n"), cpu);
+ else
+ printf(_("CPU %d deconfigured\n"), cpu);
+ }
+ }
+ return EXIT_SUCCESS;
+}
+
+static void cpu_parse(char *cpu_string, cpu_set_t *cpu_set, size_t setsize)
+{
+ int rc;
+
+ rc = cpulist_parse(cpu_string, cpu_set, setsize, 1);
+ if (rc == 0)
+ return;
+ if (rc == 2)
+ errx(EXIT_FAILURE, _("invalid CPU number in CPU list: %s"), cpu_string);
+ errx(EXIT_FAILURE, _("failed to parse CPU list: %s"), cpu_string);
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fprintf(out, _(
+ "\nUsage:\n"
+ " %s [options]\n"), program_invocation_short_name);
+
+ puts(_( "\nOptions:\n"
+ " -h, --help print this help\n"
+ " -e, --enable <cpu-list> enable cpus\n"
+ " -d, --disable <cpu-list> disable cpus\n"
+ " -c, --configure <cpu-list> configure cpus\n"
+ " -g, --deconfigure <cpu-list> deconfigure cpus\n"
+ " -p, --dispatch <mode> set dispatching mode\n"
+ " -r, --rescan trigger rescan of cpus\n"
+ " -V, --version output version information and exit\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ cpu_set_t *cpu_set;
+ size_t setsize;
+ int cmd = -1;
+ int c;
+
+ static const struct option longopts[] = {
+ { "configure", required_argument, 0, 'c' },
+ { "deconfigure",required_argument, 0, 'g' },
+ { "disable", required_argument, 0, 'd' },
+ { "dispatch", required_argument, 0, 'p' },
+ { "enable", required_argument, 0, 'e' },
+ { "help", no_argument, 0, 'h' },
+ { "rescan", no_argument, 0, 'r' },
+ { "version", no_argument, 0, 'V' },
+ { NULL, 0, 0, 0 }
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'c','d','e','g','p' },
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ maxcpus = get_max_number_of_cpus();
+ if (maxcpus < 1)
+ errx(EXIT_FAILURE, _("cannot determine NR_CPUS; aborting"));
+ if (path_exist(_PATH_SYS_CPU_ONLINE))
+ onlinecpus = path_cpulist(maxcpus, _PATH_SYS_CPU_ONLINE);
+ setsize = CPU_ALLOC_SIZE(maxcpus);
+ cpu_set = CPU_ALLOC(maxcpus);
+ if (!cpu_set)
+ err(EXIT_FAILURE, _("cpuset_alloc failed"));
+
+ while ((c = getopt_long(argc, argv, "c:d:e:g:hp:rV", longopts, NULL)) != -1) {
+
+ err_exclusive_options(c, longopts, excl, excl_st);
+
+ switch (c) {
+ case 'c':
+ cmd = CMD_CPU_CONFIGURE;
+ cpu_parse(argv[optind - 1], cpu_set, setsize);
+ break;
+ case 'd':
+ cmd = CMD_CPU_DISABLE;
+ cpu_parse(argv[optind - 1], cpu_set, setsize);
+ break;
+ case 'e':
+ cmd = CMD_CPU_ENABLE;
+ cpu_parse(argv[optind - 1], cpu_set, setsize);
+ break;
+ case 'g':
+ cmd = CMD_CPU_DECONFIGURE;
+ cpu_parse(argv[optind - 1], cpu_set, setsize);
+ break;
+ case 'h':
+ usage(stdout);
+ case 'p':
+ if (strcmp("horizontal", argv[optind - 1]) == 0)
+ cmd = CMD_CPU_DISPATCH_HORIZONTAL;
+ else if (strcmp("vertical", argv[optind - 1]) == 0)
+ cmd = CMD_CPU_DISPATCH_VERTICAL;
+ else
+ errx(EXIT_FAILURE, _("unsupported argument: %s"),
+ argv[optind -1 ]);
+ break;
+ case 'r':
+ cmd = CMD_CPU_RESCAN;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ default:
+ usage(stderr);
+ }
+ }
+
+ if ((argc == 1) || (argc != optind))
+ usage(stderr);
+
+ switch (cmd) {
+ case CMD_CPU_ENABLE:
+ return cpu_enable(cpu_set, maxcpus, 1);
+ case CMD_CPU_DISABLE:
+ return cpu_enable(cpu_set, maxcpus, 0);
+ case CMD_CPU_CONFIGURE:
+ return cpu_configure(cpu_set, maxcpus, 1);
+ case CMD_CPU_DECONFIGURE:
+ return cpu_configure(cpu_set, maxcpus, 0);
+ case CMD_CPU_RESCAN:
+ return cpu_rescan();
+ case CMD_CPU_DISPATCH_HORIZONTAL:
+ return cpu_set_dispatch(0);
+ case CMD_CPU_DISPATCH_VERTICAL:
+ return cpu_set_dispatch(1);
+ }
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/ctrlaltdel.8 b/sys-utils/ctrlaltdel.8
new file mode 100644
index 0000000..14cf3dd
--- /dev/null
+++ b/sys-utils/ctrlaltdel.8
@@ -0,0 +1,51 @@
+.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH CTRLALTDEL 8 "August 2011" "util-linux" "System Administration"
+.SH NAME
+ctrlaltdel \- set the function of the Ctrl-Alt-Del combination
+.SH SYNOPSIS
+.BR "ctrlaltdel hard" | soft
+.SH DESCRIPTION
+Based on examination of the
+.I linux/kernel/sys.c
+code, it is clear that there are two supported functions that the
+Ctrl-Alt-Del sequence can perform: a
+.I hard
+reset, which immediately reboots the computer without calling
+.BR sync (2)
+and without any other preparation; and a
+.I soft
+reset, which sends the SIGINT (interrupt) signal to the
+.B init
+process (this is always the process with PID 1). If this option is used,
+the
+.BR init (8)
+program must support this feature. Since there are now several
+.BR init (8)
+programs in the Linux community, please consult the documentation for the
+version that you are currently using.
+.PP
+.B ctrlaltdel
+is usually used in the
+.I /etc/rc.local
+file.
+.SH OPTIONS
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help and exit.
+.SH FILES
+.I /etc/rc.local
+.SH "SEE ALSO"
+.BR init (8)
+.SH AUTHOR
+.UR poe@daimi.aau.dk
+Peter Orbaek
+.UE
+.SH AVAILABILITY
+The ctrlaltdel command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/ctrlaltdel.c b/sys-utils/ctrlaltdel.c
new file mode 100644
index 0000000..2ad56a1
--- /dev/null
+++ b/sys-utils/ctrlaltdel.c
@@ -0,0 +1,69 @@
+/*
+ * ctrlaltdel.c - Set the function of the Ctrl-Alt-Del combination
+ * Created 4-Jul-92 by Peter Orbaek <poe@daimi.aau.dk>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include "linux_reboot.h"
+#include "nls.h"
+#include "c.h"
+#include "closestream.h"
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, USAGE_HEADER);
+ fprintf(out, _(" %s <hard|soft>\n"), program_invocation_short_name);
+ fprintf(out, USAGE_OPTIONS);
+ fprintf(out, USAGE_HELP);
+ fprintf(out, USAGE_VERSION);
+ fprintf(out, USAGE_MAN_TAIL("ctrlaltdel(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int ch;
+ static const struct option longopts[] = {
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((ch = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
+ switch (ch) {
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (geteuid())
+ errx(EXIT_FAILURE,
+ _("You must be root to set the Ctrl-Alt-Del behaviour"));
+
+ if (argc == 2 && !strcmp("hard", argv[1])) {
+ if (my_reboot(LINUX_REBOOT_CMD_CAD_ON) < 0)
+ err(EXIT_FAILURE, "reboot");
+ } else if (argc == 2 && !strcmp("soft", argv[1])) {
+ if (my_reboot(LINUX_REBOOT_CMD_CAD_OFF) < 0)
+ err(EXIT_FAILURE, "reboot");
+ } else {
+ usage(stderr);
+ }
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/cyclades.h b/sys-utils/cyclades.h
new file mode 100644
index 0000000..afcf600
--- /dev/null
+++ b/sys-utils/cyclades.h
@@ -0,0 +1,16 @@
+struct cyclades_monitor {
+ unsigned long int_count;
+ unsigned long char_count;
+ unsigned long char_max;
+ unsigned long char_last;
+};
+
+#define CYGETMON 0x435901
+#define CYGETTHRESH 0x435902
+#define CYSETTHRESH 0x435903
+#define CYGETDEFTHRESH 0x435904
+#define CYSETDEFTHRESH 0x435905
+#define CYGETTIMEOUT 0x435906
+#define CYSETTIMEOUT 0x435907
+#define CYGETDEFTIMEOUT 0x435908
+#define CYSETDEFTIMEOUT 0x435909
diff --git a/sys-utils/cytune.8 b/sys-utils/cytune.8
new file mode 100644
index 0000000..fd82391
--- /dev/null
+++ b/sys-utils/cytune.8
@@ -0,0 +1,194 @@
+.\" cytune.8 --
+.\" Created: Sat Mar 4 17:44:53 1995 by faith@cs.unc.edu
+.\" Update: Sat Mar 4 18:22:24 1995 by faith@cs.unc.edu
+.\" Update: Sun Mar 5 06:40:12 1995 by njs@scifi.emi.net
+.\" Copyright 1995 Rickard E. Faith (faith@cs.unc.edu)
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" "
+.TH CYTUNE 8 "September 2011" "util-linux" "System Administration"
+.SH NAME
+cytune \- tune driver parameters for Cyclades-Z multiport serial card
+.SH SYNOPSIS
+.B cytune
+[options] tty [...]
+.SH DESCRIPTION
+.B cytune
+queries and modifies the interruption threshold for the Cyclades driver.
+Each serial line on a Cyclades card has a 12-byte FIFO for input (and another
+12-byte FIFO for output). The "threshold" specifies how many input
+characters must be present in the FIFO before an interruption is raised.
+When a Cyclades tty is opened, this threshold is set to a default value based
+on baud rate:
+.sp
+.RS
+Baud Threshold
+.sp
+50-4800 10
+.br
+9600 8
+.br
+19200 4
+.br
+38400 2
+.br
+57600-150000 1
+.RE
+.PP
+If the threshold is set too low, the large number of interruptions can load
+the machine and decrease overall system throughput. If the threshold is set
+too high, the FIFO buffer can overflow, and characters will be lost. Slower
+machines, however, may not be able to deal with the interrupt load, and will
+require that the threshold be adjusted upwards.
+.PP
+If the cyclades driver was compiled with
+.B ENABLE_MONITORING
+defined, the cytune command can be used with the
+.B \-q
+option to report interrupts over the monitoring interval and characters
+transferred over the monitoring interval. It will also report the state of
+the FIFO. The maximum number of characters in the FIFO when an interrupt
+occurred, the instantaneous count of characters in the FIFO, and how many
+characters are now in the FIFO are reported. This output might look like
+this:
+.sp
+.RS
+/dev/cubC0: 830 ints, 9130 chars; fifo: 11 threshold, 11 max, 11 now
+.br
+ 166.259866 interrupts/second, 1828.858521 characters/second
+.RE
+.PP
+This output indicates that for this monitoring period, the interrupts were
+always being handled within one character time, because
+.B max
+never rose above
+.BR threshold .
+This is good, and you can probably run this way, provided that a large number
+of samples come out this way. You will lose characters if you overrun the
+FIFO, as the Cyclades hardware does not seem to support the RTS RS-232 signal
+line for hardware flow control from the DCE to the DTE.
+.PP
+In query mode
+.B cytune
+will produce a summary report when ended with a SIGINT or when the threshold
+or timeout is changed.
+.PP
+There may be a responsiveness vs. throughput tradeoff. The Cyclades card, at
+the higher speeds, is capable of putting a very high interrupt load on the
+system. This will reduce the amount of CPU time available for other tasks on
+your system. However, the time it takes to respond to a single character may
+be increased if you increase the threshold. This might be noticed by
+monitoring
+.BR ping (8)
+times on a SLIP link controlled by a Cyclades card. If your SLIP link is
+generally used for interactive work such as
+.BR telnet (1),
+you may want to leave the threshold low, so that characters are responded to
+as quickly as possible. If your SLIP link is generally used for file
+transfer, WWW, and the like, setting the FIFO to a high value is likely to
+reduce the load on your system while not significantly affecting throughput.
+Alternatively, see the
+.B \-t
+or
+.B \-T
+options to adjust the time that the cyclades waits before flushing its
+buffer. Units are 5ms.
+.PP
+If you are running a mouse on a Cyclades port, it is likely that you would
+want to maintain the threshold and timeout at a low value.
+.PP
+.SH OPTIONS
+.TP
+\fB\-s\fR, \fB\-\-set\-threshold\fR \fIvalue\fR
+Set the current threshold to
+.I value
+characters. Note that if the
+.I tty
+is not being held open by another process, the threshold will be reset on the
+next open. Only values between 1 and 12, inclusive, are permitted.
+.TP
+\fB\-t\fR, \fB\-\-set\-flush\fR \fIvalue\fR
+Set the current flush timeout to
+.I value
+units. Note that if the
+.I tty
+is not being held open by another process, the threshold will be reset on the
+next open. Only values between 0 and 255, inclusive, are permitted. Setting
+.I value
+to zero forces the default, currently 0x20 (160ms), but soon to be 0x02
+(10ms). Units are 5 ms.
+.TP
+\fB\-g\fR, \fB\-\-get\-threshold\fR
+Get the current threshold and timeout.
+.TP
+\fB\-S\fR, \fB\-\-set\-default\-threshold\fR \fIvalue\fR
+Set the default threshold to
+.I value
+characters. When the
+.I tty
+is next opened, this value will be used instead of the default. Only values
+between 1 and 12, inclusive, are permitted.
+.TP
+\fB\-T\fR, \fB\-\-set\-default\-flush\fR \fIvalue\fR
+Set the default flush timeout to
+.I value
+units. When the
+.I tty
+is next opened, this value will be used instead of the default. If
+.I value
+is zero, then the the value will default to 0x20 (160ms), soon to be 0x02
+(10ms).
+.TP
+\fB\-G\fR, \fB\-\-get\-glush\fR
+Get the default threshold and flush timeout values.
+.TP
+\fB\-q\fR, \fB\-\-stats\fR
+Gather statistics about the
+.IR tty .
+The results are only valid if the Cyclades driver has been compiled with
+.B ENABLE_MONITORING
+defined. This is probably not the default.
+.TP
+\fB\-i\fR, \fB\-\-interval\fR \fIinterval\fR
+Statistics will be gathered every
+.I interval
+seconds.
+.SH BUGS
+If you run two copies of
+.B cytune
+at the same time to report statistics about the same port, the 'ints', 'chars',
+and 'max' value will be reset and not reported correctly.
+.B cytune
+should prevent this, but does not.
+.\" .SH AUTHOR
+.\" Nick Simicich (njs@scifi.emi.net), with modifications by
+.\" Rik Faith (faith@cs.unc.edu)
+.SH FILES
+.I /dev/ttyC[0-8]
+.br
+.I /dev/cubC[0-8]
+.SH "SEE ALSO"
+.BR setserial (8)
+.SH AVAILABILITY
+The cytune command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/cytune.c b/sys-utils/cytune.c
new file mode 100644
index 0000000..9b39726
--- /dev/null
+++ b/sys-utils/cytune.c
@@ -0,0 +1,461 @@
+/* cytune.c -- Tune Cyclades driver
+ *
+ * Copyright 1995 Nick Simicich (njs@scifi.emi.net)
+ * Modifications by Rik Faith (faith@cs.unc.edu)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the Nick Simicich
+ * 4. Neither the name of the Nick Simicich nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NICK SIMICICH AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL NICK SIMICICH OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+ /*
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ * - fixed strerr(errno) in gettext calls
+ */
+
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/ioctl.h>
+#include <unistd.h>
+#include <string.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <signal.h>
+#include <termios.h>
+
+#include "c.h"
+#include "cyclades.h"
+#include "closestream.h"
+#include "strutils.h"
+
+#if 0
+# ifndef XMIT
+# include <linux/version.h>
+# if LINUX_VERSION_CODE > 66056
+# define XMIT
+# endif
+# endif
+#endif
+
+#include "xalloc.h"
+#include "nls.h"
+/* Until it gets put in the kernel, toggle by hand. */
+#undef XMIT
+
+struct cyclades_control {
+ struct cyclades_monitor c;
+ int cfile;
+ int maxmax;
+ double maxtran;
+ double maxxmit;
+ unsigned long threshold_value;
+ unsigned long timeout_value;
+};
+struct cyclades_control *cmon;
+int cmon_index;
+
+static int global_argc, global_optind;
+static char ***global_argv;
+
+#define mvtime(tvpto, tvpfrom) (((tvpto)->tv_sec = (tvpfrom)->tv_sec),(tvpto)->tv_usec = (tvpfrom)->tv_usec)
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, USAGE_HEADER);
+ fprintf(out, _(" %s [options] <tty> [...]\n"), program_invocation_short_name);
+ fprintf(out, USAGE_OPTIONS);
+ fprintf(out, _(" -s, --set-threshold <num> set interruption threshold value\n"));
+ fprintf(out, _(" -g, --get-threshold display current threshold value\n"));
+ fprintf(out, _(" -S, --set-default-threshold <num> set default threshold value\n"));
+ fprintf(out, _(" -t, --set-flush <num> set flush timeout to value\n"));
+ fprintf(out, _(" -G, --get-glush display default flush timeout value\n"));
+ fprintf(out, _(" -T, --set-default-flush <num> set the default flush timeout to value\n"));
+ fprintf(out, _(" -q, --stats display statistics about the tty\n"));
+ fprintf(out, _(" -i, --interval <seconds> gather statistics every <seconds> interval\n"));
+ fprintf(out, USAGE_SEPARATOR);
+ fprintf(out, USAGE_HELP);
+ fprintf(out, USAGE_VERSION);
+ fprintf(out, USAGE_MAN_TAIL("cytune(8)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static inline double dtime(struct timeval *tvpnew, struct timeval *tvpold)
+{
+ double diff;
+ diff = (double)tvpnew->tv_sec - (double)tvpold->tv_sec;
+ diff += ((double)tvpnew->tv_usec - (double)tvpold->tv_usec) / 1000000;
+ return diff;
+}
+
+static void summary(int sig)
+{
+ struct cyclades_control *cc;
+ int argc, local_optind;
+ char **argv;
+ int i;
+
+ argc = global_argc;
+ argv = *global_argv;
+ local_optind = global_optind;
+
+ if (sig > 0) {
+ for (i = local_optind; i < argc; i++) {
+ cc = &cmon[cmon_index];
+ warnx(_("File %s, For threshold value %lu, Maximum characters in fifo were %d,\n"
+ "and the maximum transfer rate in characters/second was %f"),
+ argv[i], cc->threshold_value, cc->maxmax,
+ cc->maxtran);
+ }
+ exit(EXIT_SUCCESS);
+ }
+ cc = &cmon[cmon_index];
+ if (cc->threshold_value > 0 && sig != -1) {
+ warnx(_("File %s, For threshold value %lu and timeout value %lu, Maximum characters in fifo were %d,\n"
+ "and the maximum transfer rate in characters/second was %f"),
+ argv[cmon_index + local_optind], cc->threshold_value,
+ cc->timeout_value, cc->maxmax, cc->maxtran);
+ }
+ cc->maxmax = 0;
+ cc->maxtran = 0.0;
+ cc->threshold_value = 0;
+ cc->timeout_value = 0;
+}
+
+static void query_tty_stats(int argc, char **argv, int interval, int numfiles,
+ unsigned long *threshold_value,
+ unsigned long *timeout_value)
+{
+ struct cyclades_monitor cywork;
+ struct timeval lasttime, thistime;
+ struct timezone tz = { 0, 0 };
+ int i;
+ double diff;
+ double xfer_rate;
+#ifdef XMIT
+ double xmit_rate;
+#endif
+
+ cmon = xmalloc(sizeof(struct cyclades_control) * numfiles);
+
+ if (signal(SIGINT, summary) ||
+ signal(SIGQUIT, summary) || signal(SIGTERM, summary))
+ err(EXIT_FAILURE, _("cannot set signal handler"));
+ if (gettimeofday(&lasttime, &tz))
+ err(EXIT_FAILURE, _("gettimeofday failed"));
+
+ for (i = optind; i < argc; i++) {
+ cmon_index = i - optind;
+ cmon[cmon_index].cfile = open(argv[i], O_RDONLY);
+ if (cmon[cmon_index].cfile == -1)
+ err(EXIT_FAILURE, _("cannot open %s"), argv[i]);
+ if (ioctl
+ (cmon[cmon_index].cfile, CYGETMON, &cmon[cmon_index].c))
+ err(EXIT_FAILURE, _("cannot issue CYGETMON on %s"),
+ argv[i]);
+ summary(-1);
+ if (ioctl
+ (cmon[cmon_index].cfile, CYGETTHRESH, &threshold_value))
+ err(EXIT_FAILURE, _("cannot get threshold for %s"),
+ argv[i]);
+ if (ioctl(cmon[cmon_index].cfile, CYGETTIMEOUT, &timeout_value))
+ err(EXIT_FAILURE, _("cannot get timeout for %s"),
+ argv[i]);
+ }
+ while (1) {
+ sleep(interval);
+
+ if (gettimeofday(&thistime, &tz))
+ err(EXIT_FAILURE, _("gettimeofday failed"));
+ diff = dtime(&thistime, &lasttime);
+ mvtime(&lasttime, &thistime);
+
+ for (i = optind; i < argc; i++) {
+ cmon_index = i - optind;
+ if (ioctl(cmon[cmon_index].cfile, CYGETMON, &cywork))
+ err(EXIT_FAILURE,
+ _("cannot issue CYGETMON on %s"), argv[i]);
+ if (ioctl
+ (cmon[cmon_index].cfile, CYGETTHRESH,
+ &threshold_value))
+ err(EXIT_FAILURE,
+ _("cannot get threshold for %s"), argv[i]);
+ if (ioctl
+ (cmon[cmon_index].cfile, CYGETTIMEOUT,
+ &timeout_value))
+ err(EXIT_FAILURE,
+ _("cannot get timeout for %s"), argv[i]);
+
+ xfer_rate = cywork.char_count / diff;
+#ifdef XMIT
+ xmit_rate = cywork.send_count / diff;
+#endif
+ if ((*threshold_value) !=
+ cmon[cmon_index].threshold_value
+ || (*timeout_value) !=
+ cmon[cmon_index].timeout_value) {
+ summary(-2);
+ /* Note that the summary must come before the
+ * setting of threshold_value */
+ cmon[cmon_index].threshold_value =
+ (*threshold_value);
+ cmon[cmon_index].timeout_value =
+ (*timeout_value);
+ } else {
+ /* Don't record this first cycle after change */
+ if (xfer_rate > cmon[cmon_index].maxtran)
+ cmon[cmon_index].maxtran = xfer_rate;
+#ifdef XMIT
+ if (xmit_rate > cmon[cmon_index].maxxmit)
+ cmon[cmon_index].maxxmit = xmit_rate;
+#endif
+ if (cmon[cmon_index].maxmax < 0 ||
+ cywork.char_max >
+ (unsigned long)cmon[cmon_index].maxmax)
+ cmon[cmon_index].maxmax =
+ cywork.char_max;
+ }
+
+#ifdef XMIT
+ printf(_("%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, "
+ "%lu max, %lu now\n"), argv[i],
+ cywork.int_count, cywork.char_count,
+ cywork.send_count, *threshold_value,
+ *timeout_value, cywork.char_max,
+ cywork.char_last);
+ printf(_(" %f int/sec; %f rec, %f send (char/sec)\n"),
+ cywork.int_count / diff, xfer_rate, xmit_rate);
+#else
+ printf(_("%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, "
+ "%lu max, %lu now\n"), argv[i],
+ cywork.int_count, cywork.char_count,
+ *threshold_value, *timeout_value, cywork.char_max,
+ cywork.char_last);
+ printf(_(" %f int/sec; %f rec (char/sec)\n"),
+ cywork.int_count / diff, xfer_rate);
+#endif
+ memcpy(&cmon[cmon_index].c, &cywork,
+ sizeof(struct cyclades_monitor));
+ }
+ }
+
+ free(cmon);
+ return;
+}
+
+int main(int argc, char **argv)
+{
+ int query = 0;
+ int interval = 1;
+ int set = 0;
+ int set_val = -1;
+ int get = 0;
+ int set_def = 0;
+ int set_def_val = -1;
+ int get_def = 0;
+ int set_time = 0;
+ int set_time_val = -1;
+ int set_def_time = 0;
+ int set_def_time_val = -1;
+ int errflg = 0;
+ int file;
+ int numfiles;
+ int i;
+ unsigned long threshold_value;
+ unsigned long timeout_value;
+
+ static const struct option longopts[] = {
+ {"set-threshold", required_argument, NULL, 's'},
+ {"get-threshold", no_argument, NULL, 'g'},
+ {"set-default-threshold", required_argument, NULL, 'S'},
+ {"set-flush", required_argument, NULL, 't'},
+ {"get-flush", no_argument, NULL, 'G'},
+ {"set-default-flush", required_argument, NULL, 'T'},
+ {"stats", no_argument, NULL, 'q'},
+ {"interval", required_argument, NULL, 'i'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ /* For signal routine. */
+ global_argc = argc;
+ global_argv = &argv;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((i =
+ getopt_long(argc, argv, "qs:S:t:T:gGi:Vh", longopts,
+ NULL)) != -1) {
+ switch (i) {
+ case 'q':
+ query = 1;
+ break;
+ case 'i':
+ interval = strtou32_or_err(optarg,
+ _("Invalid interval value"));
+ if (interval < 1) {
+ warnx(_("Invalid interval value: %d"),
+ interval);
+ errflg++;
+ }
+ break;
+ case 's':
+ ++set;
+ set_val = strtou32_or_err(optarg, _("Invalid set value"));
+ if (set_val < 1 || 12 < set_val) {
+ warnx(_("Invalid set value: %d"), set_val);
+ errflg++;
+ }
+ break;
+ case 'S':
+ ++set_def;
+ set_def_val = strtou32_or_err(optarg,
+ _("Invalid default value"));
+ if (set_def_val < 0 || 12 < set_def_val) {
+ warnx(_("Invalid default value: %d"),
+ set_def_val);
+ errflg++;
+ }
+ break;
+ case 't':
+ ++set_time;
+ set_time_val = strtou32_or_err(optarg,
+ _("Invalid set time value"));
+ if (set_time_val < 1 || 255 < set_time_val) {
+ warnx(_("Invalid set time value: %d"),
+ set_time_val);
+ errflg++;
+ }
+ break;
+ case 'T':
+ ++set_def_time;
+ set_def_time_val = strtou32_or_err(optarg,
+ _("Invalid default time value"));
+ if (set_def_time_val < 0 || 255 < set_def_time_val) {
+ warnx(_("Invalid default time value: %d"),
+ set_def_time_val);
+ errflg++;
+ }
+ break;
+ case 'g':
+ ++get;
+ break;
+ case 'G':
+ ++get_def;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ }
+ numfiles = argc - optind;
+
+ if (errflg
+ || (numfiles == 0)
+ || (!query && !set && !set_def && !get && !get_def && !set_time && !set_def_time)
+ || (set && set_def)
+ || (set_time && set_def_time)
+ || (get && get_def))
+ usage(stderr);
+
+ /* For signal routine. */
+ global_optind = optind;
+
+ if (set || set_def) {
+ for (i = optind; i < argc; i++) {
+ file = open(argv[i], O_RDONLY);
+ if (file == -1)
+ err(EXIT_FAILURE, _("cannot open %s"), argv[i]);
+ if (ioctl(file,
+ set ? CYSETTHRESH : CYSETDEFTHRESH,
+ set ? set_val : set_def_val))
+ err(EXIT_FAILURE,
+ _("cannot set %s to threshold %d"), argv[i],
+ set ? set_val : set_def_val);
+ close(file);
+ }
+ }
+ if (set_time || set_def_time) {
+ for (i = optind; i < argc; i++) {
+ file = open(argv[i], O_RDONLY);
+ if (file == -1)
+ err(EXIT_FAILURE, _("cannot open %s"), argv[i]);
+ if (ioctl(file,
+ set_time ? CYSETTIMEOUT : CYSETDEFTIMEOUT,
+ set_time ? set_time_val : set_def_time_val))
+ err(EXIT_FAILURE,
+ _("cannot set %s to time threshold %d"),
+ argv[i],
+ set_time ? set_time_val : set_def_time_val);
+ close(file);
+ }
+ }
+
+ if (get || get_def) {
+ for (i = optind; i < argc; i++) {
+ file = open(argv[i], O_RDONLY);
+ if (file == -1)
+ err(EXIT_FAILURE, _("cannot open %s"), argv[i]);
+ if (ioctl
+ (file, get ? CYGETTHRESH : CYGETDEFTHRESH,
+ &threshold_value))
+ err(EXIT_FAILURE,
+ _("cannot get threshold for %s"), argv[i]);
+ if (ioctl
+ (file, get ? CYGETTIMEOUT : CYGETDEFTIMEOUT,
+ &timeout_value))
+ err(EXIT_FAILURE,
+ _("cannot get timeout for %s"), argv[i]);
+ close(file);
+ if (get)
+ printf(_("%s: %ld current threshold and %ld current timeout\n"),
+ argv[i], threshold_value, timeout_value);
+ else
+ printf(_("%s: %ld default threshold and %ld default timeout\n"),
+ argv[i], threshold_value, timeout_value);
+ }
+ }
+
+ if (!query)
+ return EXIT_SUCCESS;
+
+ query_tty_stats(argc, argv, interval, numfiles, &threshold_value, &timeout_value);
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/dmesg.1 b/sys-utils/dmesg.1
new file mode 100644
index 0000000..6a8374a
--- /dev/null
+++ b/sys-utils/dmesg.1
@@ -0,0 +1,162 @@
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH DMESG "1" "July 2012" "util-linux" "User Commands"
+.SH NAME
+dmesg \- print or control the kernel ring buffer
+.SH SYNOPSIS
+.B dmesg
+.RB [ options ]
+.sp
+dmesg \-\-clear
+.br
+dmesg \-\-read-clear [options]
+.br
+dmesg \-\-console-level level
+.br
+dmesg \-\-console-on
+.br
+dmesg \-\-console-off
+.SH DESCRIPTION
+.B dmesg
+is used to examine or control the kernel ring buffer.
+.PP
+The default action is to read all messages from kernel ring buffer.
+.SH OPTIONS
+The \-\-clear, \-\-read-clear, \-\-console-on, \-\-console-off and
+\-\-console-level options are mutually exclusive.
+.PP
+.IP "\fB\-C\fR, \fB\-\-clear\fR"
+Clear the ring buffer.
+.IP "\fB\-c\fR, \fB\-\-read-clear\fR"
+Clear the ring buffer contents after printing.
+.IP "\fB\-D\fR, \fB\-\-console-off\fR"
+Disable printing messages to the console.
+.IP "\fB\-d\fR, \fB\-\-show-delta\fR"
+Display the timestamp and time delta spent between messages. If used
+together with
+.B \-\-notime
+then only the time delta without the timestamp is printed.
+.IP "\fB\-e\fR, \fB\-\-reltime\fR"
+Display the local time and delta in human readable format.
+.IP "\fB\-E\fR, \fB\-\-console-on\fR"
+Enable printing messages to the console.
+.IP "\fB\-F\fR, \fB\-\-file \fIfile\fR"
+Read log from
+.IR file .
+.IP "\fB\-f\fR, \fB\-\-facility \fIlist\fR"
+Restrict output to defined (comma separated)
+.I list
+of facilities. For example
+.PP
+.RS 14
+dmesg \-\-facility=daemon
+.RE
+.IP
+will print messages from system daemons only. For all supported facilities
+see
+.B dmesg \-\-help
+output.
+.IP "\fB\-h\fR, \fB\-\-help\fR"
+Print a help text and exit.
+.IP "\fB\-k\fR, \fB\-\-kernel\fR"
+Print kernel messages.
+.IP "\fB\-l\fR, \fB\-\-level \fIlist\fR"
+Restrict output to defined (comma separated)
+.I list
+of levels. For example
+.PP
+.RS 14
+dmesg \-\-level=err,warn
+.RE
+.IP
+will print error and warning messages only. For all supported levels see
+.B dmesg \-\-help
+output.
+.IP "\fB\-n\fR, \fB\-\-console-level \fIlevel\fR
+Set the
+.I level
+at which logging of messages is done to the console. The
+.I level
+is a level number or abbreviation of the level name. For all supported
+levels see
+.B dmesg \-\-help
+output.
+.sp
+For example,
+.B \-n 1
+or
+.B \-n alert
+prevents all messages, except emergency (panic) messages, from appearing on
+the console. All levels of messages are still written to
+.IR /proc/kmsg ,
+so
+.BR syslogd (8)
+can still be used to control exactly where kernel messages appear. When the
+.B \-n
+option is used,
+.B dmesg
+will
+.I not
+print or clear the kernel ring buffer.
+.IP "\fB\-r\fR, \fB\-\-raw\fR"
+Print the raw message buffer, i.e., do not strip the log level prefixes.
+
+Note that the real raw format depends on method how
+.BR dmesg (1)
+reads kernel messages. The /dev/kmsg uses different format than
+.BR syslog (2) .
+For backward compatibility
+.BR dmesg (1)
+returns data always in
+.BR syslog (2)
+format. The real raw data from /dev/kmsg is possible to read for example by
+command 'dd if=/dev/kmsg iflag=nonblock'.
+.IP "\fB\-S\fR, \fB\-\-syslog\fR"
+Force to use
+.BR syslog (2)
+kernel interface to read kernel messages. The default is to use /dev/kmsg rather
+than
+.BR syslog (2)
+since kernel 3.5.0.
+.IP "\fB\-s\fR, \fB\-\-buffer-size \fIsize\fR
+Use a buffer of
+.I size
+to query the kernel ring buffer. This is 16392 by default. (The default
+kernel syslog buffer size was 4096 at first, 8192 since 1.3.54, 16384 since
+2.1.113.) If you have set the kernel buffer to be larger than the default
+then this option can be used to view the entire buffer.
+.IP "\fB\-T\fR, \fB\-\-ctime\fR"
+Print human readable timestamps. The timestamp could be inaccurate!
+.IP
+The
+.B time
+source used for the logs is
+.B not updated after
+system
+.BR SUSPEND / RESUME .
+.IP "\fB\-t\fR, \fB\-\-notime\fR"
+Do not print kernel's timestamps.
+.IP "\fB\-u\fR, \fB\-\-userspace\fR"
+Print userspace messages.
+.IP "\fB\-V\fR, \fB\-\-version\fR"
+Output version information and exit.
+.IP "\fB\-w\fR, \fB\-\-follow\fR"
+Wait for new messages. This feature is supported on systems with readable
+/dev/kmsg only (since kernel 3.5.0).
+.IP "\fB\-x\fR, \fB\-\-decode\fR"
+Decode facility and level (priority) number to human readable prefixes.
+.SH SEE ALSO
+.BR syslogd (8)
+.SH AUTHORS
+.MT kzak@redhat.com
+Karel Zak
+.ME
+.br
+.MT tytso@athena.mit.edu
+Theodore Ts'o
+.ME
+.SH AVAILABILITY
+The dmesg command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c
new file mode 100644
index 0000000..0ee03ee
--- /dev/null
+++ b/sys-utils/dmesg.c
@@ -0,0 +1,1214 @@
+/*
+ * dmesg.c -- Print out the contents of the kernel ring buffer
+ *
+ * Copyright (C) 1993 Theodore Ts'o <tytso@athena.mit.edu>
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ *
+ * This program comes with ABSOLUTELY NO WARRANTY.
+ */
+#include <linux/unistd.h>
+#include <stdio.h>
+#include <getopt.h>
+#include <stdlib.h>
+#include <sys/klog.h>
+#include <sys/syslog.h>
+#include <sys/time.h>
+#include <sys/sysinfo.h>
+#include <ctype.h>
+#include <time.h>
+#include <sys/mman.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "c.h"
+#include "nls.h"
+#include "strutils.h"
+#include "xalloc.h"
+#include "widechar.h"
+#include "all-io.h"
+#include "bitops.h"
+#include "closestream.h"
+#include "optutils.h"
+#include "mangle.h"
+
+/* Close the log. Currently a NOP. */
+#define SYSLOG_ACTION_CLOSE 0
+/* Open the log. Currently a NOP. */
+#define SYSLOG_ACTION_OPEN 1
+/* Read from the log. */
+#define SYSLOG_ACTION_READ 2
+/* Read all messages remaining in the ring buffer. (allowed for non-root) */
+#define SYSLOG_ACTION_READ_ALL 3
+/* Read and clear all messages remaining in the ring buffer */
+#define SYSLOG_ACTION_READ_CLEAR 4
+/* Clear ring buffer. */
+#define SYSLOG_ACTION_CLEAR 5
+/* Disable printk's to console */
+#define SYSLOG_ACTION_CONSOLE_OFF 6
+/* Enable printk's to console */
+#define SYSLOG_ACTION_CONSOLE_ON 7
+/* Set level of messages printed to console */
+#define SYSLOG_ACTION_CONSOLE_LEVEL 8
+/* Return number of unread characters in the log buffer */
+#define SYSLOG_ACTION_SIZE_UNREAD 9
+/* Return size of the log buffer */
+#define SYSLOG_ACTION_SIZE_BUFFER 10
+
+/*
+ * Priority and facility names
+ */
+struct dmesg_name {
+ const char *name;
+ const char *help;
+};
+
+/*
+ * Priority names -- based on sys/syslog.h
+ */
+static const struct dmesg_name level_names[] =
+{
+ [LOG_EMERG] = { "emerg", N_("system is unusable") },
+ [LOG_ALERT] = { "alert", N_("action must be taken immediately") },
+ [LOG_CRIT] = { "crit", N_("critical conditions") },
+ [LOG_ERR] = { "err", N_("error conditions") },
+ [LOG_WARNING] = { "warn", N_("warning conditions") },
+ [LOG_NOTICE] = { "notice",N_("normal but significant condition") },
+ [LOG_INFO] = { "info", N_("informational") },
+ [LOG_DEBUG] = { "debug", N_("debug-level messages") }
+};
+
+/*
+ * sys/syslog.h uses (f << 3) for all facility codes.
+ * We want to use the codes as array idexes, so shift back...
+ *
+ * Note that libc LOG_FAC() macro returns the base codes, not the
+ * shifted code :-)
+ */
+#define FAC_BASE(f) ((f) >> 3)
+
+static const struct dmesg_name facility_names[] =
+{
+ [FAC_BASE(LOG_KERN)] = { "kern", N_("kernel messages") },
+ [FAC_BASE(LOG_USER)] = { "user", N_("random user-level messages") },
+ [FAC_BASE(LOG_MAIL)] = { "mail", N_("mail system") },
+ [FAC_BASE(LOG_DAEMON)] = { "daemon", N_("system daemons") },
+ [FAC_BASE(LOG_AUTH)] = { "auth", N_("security/authorization messages") },
+ [FAC_BASE(LOG_SYSLOG)] = { "syslog", N_("messages generated internally by syslogd") },
+ [FAC_BASE(LOG_LPR)] = { "lpr", N_("line printer subsystem") },
+ [FAC_BASE(LOG_NEWS)] = { "news", N_("network news subsystem") },
+ [FAC_BASE(LOG_UUCP)] = { "uucp", N_("UUCP subsystem") },
+ [FAC_BASE(LOG_CRON)] = { "cron", N_("clock daemon") },
+ [FAC_BASE(LOG_AUTHPRIV)] = { "authpriv", N_("security/authorization messages (private)") },
+ [FAC_BASE(LOG_FTP)] = { "ftp", N_("ftp daemon") },
+};
+
+/* supported methods to read message buffer
+ */
+enum {
+ DMESG_METHOD_KMSG, /* read messages from /dev/kmsg (default) */
+ DMESG_METHOD_SYSLOG, /* klogctl() buffer */
+ DMESG_METHOD_MMAP /* mmap file with records (see --file) */
+};
+
+struct dmesg_control {
+ /* bit arrays -- see include/bitops.h */
+ char levels[ARRAY_SIZE(level_names) / NBBY + 1];
+ char facilities[ARRAY_SIZE(facility_names) / NBBY + 1];
+
+ struct timeval lasttime; /* last printed timestamp */
+ struct tm lasttm; /* last localtime */
+ time_t boot_time; /* system boot time */
+
+ int action; /* SYSLOG_ACTION_* */
+ int method; /* DMESG_METHOD_* */
+
+ size_t bufsize; /* size of syslog buffer */
+
+ int kmsg; /* /dev/kmsg file descriptor */
+ ssize_t kmsg_first_read;/* initial read() return code */
+ char kmsg_buf[BUFSIZ];/* buffer to read kmsg data */
+
+ /*
+ * For the --file option we mmap whole file. The unnecessary (already
+ * printed) pages are always unmapped. The result is that we have in
+ * memory only the currently used page(s).
+ */
+ char *filename;
+ char *mmap_buff;
+ size_t pagesize;
+
+ unsigned int follow:1, /* wait for new messages */
+ raw:1, /* raw mode */
+ fltr_lev:1, /* filter out by levels[] */
+ fltr_fac:1, /* filter out by facilities[] */
+ decode:1, /* use "facility: level: " prefix */
+ notime:1, /* don't print timestamp */
+ delta:1, /* show time deltas */
+ reltime:1, /* show human readable relative times */
+ ctime:1; /* show human readable time */
+};
+
+struct dmesg_record {
+ const char *mesg;
+ size_t mesg_size;
+
+ int level;
+ int facility;
+ struct timeval tv;
+
+ const char *next; /* buffer with next unparsed record */
+ size_t next_size; /* size of the next buffer */
+};
+
+#define INIT_DMESG_RECORD(_r) do { \
+ (_r)->mesg = NULL; \
+ (_r)->mesg_size = 0; \
+ (_r)->facility = -1; \
+ (_r)->level = -1; \
+ (_r)->tv.tv_sec = 0; \
+ (_r)->tv.tv_usec = 0; \
+ } while (0)
+
+static int read_kmsg(struct dmesg_control *ctl);
+
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ size_t i;
+
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -C, --clear clear the kernel ring buffer\n"
+ " -c, --read-clear read and clear all messages\n"
+ " -D, --console-off disable printing messages to console\n"
+ " -d, --show-delta show time delta between printed messages\n"
+ " -e, --reltime show local time and time delta in readable format\n"
+ " -E, --console-on enable printing messages to console\n"
+ " -F, --file <file> use the file instead of the kernel log buffer\n"
+ " -f, --facility <list> restrict output to defined facilities\n"
+ " -h, --help display this help and exit\n"
+ " -k, --kernel display kernel messages\n"
+ " -l, --level <list> restrict output to defined levels\n"
+ " -n, --console-level <level> set level of messages printed to console\n"
+ " -r, --raw print the raw message buffer\n"
+ " -S, --syslog force to use syslog(2) rather than /dev/kmsg\n"
+ " -s, --buffer-size <size> buffer size to query the kernel ring buffer\n"
+ " -T, --ctime show human readable timestamp (could be \n"
+ " inaccurate if you have used SUSPEND/RESUME)\n"
+ " -t, --notime don't print messages timestamp\n"
+ " -u, --userspace display userspace messages\n"
+ " -V, --version output version information and exit\n"
+ " -w, --follow wait for new messages\n"
+ " -x, --decode decode facility and level to readable string\n"), out);
+
+ fputs(_("\nSupported log facilities:\n"), out);
+ for (i = 0; i < ARRAY_SIZE(level_names); i++) {
+ fprintf(stderr, " %7s - %s\n",
+ facility_names[i].name,
+ _(facility_names[i].help));
+ }
+
+ fputs(_("\nSupported log levels (priorities):\n"), out);
+ for (i = 0; i < ARRAY_SIZE(level_names); i++) {
+ fprintf(stderr, " %7s - %s\n",
+ level_names[i].name,
+ _(level_names[i].help));
+ }
+
+ fputc('\n', out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+/*
+ * LEVEL ::= <number> | <name>
+ * <number> ::= number in range <0..N>, where N < ARRAY_SIZE(level_names)
+ * <name> ::= case-insensitive text
+ */
+static int parse_level(const char *str, size_t len)
+{
+ if (!str)
+ return -1;
+ if (!len)
+ len = strlen(str);
+ errno = 0;
+
+ if (isdigit(*str)) {
+ char *end = NULL;
+ long x = strtol(str, &end, 10);
+
+ if (!errno && end && end > str && (size_t) (end - str) == len &&
+ x >= 0 && (size_t) x < ARRAY_SIZE(level_names))
+ return x;
+ } else {
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(level_names); i++) {
+ const char *n = level_names[i].name;
+
+ if (strncasecmp(str, n, len) == 0 && *(n + len) == '\0')
+ return i;
+ }
+ }
+
+ if (errno)
+ err(EXIT_FAILURE, _("failed to parse level '%s'"), str);
+
+ errx(EXIT_FAILURE, _("unknown level '%s'"), str);
+ return -1;
+}
+
+/*
+ * FACILITY ::= <number> | <name>
+ * <number> ::= number in range <0..N>, where N < ARRAY_SIZE(facility_names)
+ * <name> ::= case-insensitive text
+ */
+static int parse_facility(const char *str, size_t len)
+{
+ if (!str)
+ return -1;
+ if (!len)
+ len = strlen(str);
+ errno = 0;
+
+ if (isdigit(*str)) {
+ char *end = NULL;
+ long x = strtol(str, &end, 10);
+
+ if (!errno && end && end > str && (size_t) (end - str) == len &&
+ x >= 0 && (size_t) x < ARRAY_SIZE(facility_names))
+ return x;
+ } else {
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(facility_names); i++) {
+ const char *n = facility_names[i].name;
+
+ if (strncasecmp(str, n, len) == 0 && *(n + len) == '\0')
+ return i;
+ }
+ }
+
+ if (errno)
+ err(EXIT_FAILURE, _("failed to parse facility '%s'"), str);
+
+ errx(EXIT_FAILURE, _("unknown facility '%s'"), str);
+ return -1;
+}
+
+/*
+ * Parses numerical prefix used for all messages in kernel ring buffer.
+ *
+ * Priorities/facilities are encoded into a single 32-bit quantity, where the
+ * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
+ * (0-big number).
+ *
+ * Note that the number has to end with '>' or ',' char.
+ */
+static const char *parse_faclev(const char *str, int *fac, int *lev)
+{
+ long num;
+ char *end = NULL;
+
+ if (!str)
+ return str;
+
+ errno = 0;
+ num = strtol(str, &end, 10);
+
+ if (!errno && end && end > str) {
+ *fac = LOG_FAC(num);
+ *lev = LOG_PRI(num);
+
+ if (*lev < 0 || (size_t) *lev > ARRAY_SIZE(level_names))
+ *lev = -1;
+ if (*fac < 0 || (size_t) *fac > ARRAY_SIZE(facility_names))
+ *fac = -1;
+ return end + 1; /* skip '<' or ',' */
+ }
+
+ return str;
+}
+
+/*
+ * Parses timestamp from syslog message prefix, expected format:
+ *
+ * seconds.microseconds]
+ *
+ * the ']' is the timestamp field terminator.
+ */
+static const char *parse_syslog_timestamp(const char *str0, struct timeval *tv)
+{
+ const char *str = str0;
+ char *end = NULL;
+
+ if (!str0)
+ return str0;
+
+ errno = 0;
+ tv->tv_sec = strtol(str, &end, 10);
+
+ if (!errno && end && *end == '.' && *(end + 1)) {
+ str = end + 1;
+ end = NULL;
+ tv->tv_usec = strtol(str, &end, 10);
+ }
+ if (errno || !end || end == str || *end != ']')
+ return str0;
+
+ return end + 1; /* skip ']' */
+}
+
+/*
+ * Parses timestamp from /dev/kmsg, expected formats:
+ *
+ * microseconds,
+ * microseconds;
+ *
+ * the ',' is fields separators and ';' items terminator (for the last item)
+ */
+static const char *parse_kmsg_timestamp(const char *str0, struct timeval *tv)
+{
+ const char *str = str0;
+ char *end = NULL;
+ uint64_t usec;
+
+ if (!str0)
+ return str0;
+
+ errno = 0;
+ usec = strtoumax(str, &end, 10);
+
+ if (!errno && end && (*end == ';' || *end == ',')) {
+ tv->tv_usec = usec % 1000000;
+ tv->tv_sec = usec / 1000000;
+ } else
+ return str0;
+
+ return end + 1; /* skip separator */
+}
+
+
+static double time_diff(struct timeval *a, struct timeval *b)
+{
+ return (a->tv_sec - b->tv_sec) + (a->tv_usec - b->tv_usec) / 1E6;
+}
+
+static int get_syslog_buffer_size(void)
+{
+ int n = klogctl(SYSLOG_ACTION_SIZE_BUFFER, NULL, 0);
+
+ return n > 0 ? n : 0;
+}
+
+static time_t get_boot_time(void)
+{
+ struct sysinfo info;
+ struct timeval tv;
+
+ if (sysinfo(&info) != 0)
+ warn(_("sysinfo failed"));
+ else if (gettimeofday(&tv, NULL) != 0)
+ warn(_("gettimeofday failed"));
+ else
+ return tv.tv_sec -= info.uptime;
+ return 0;
+}
+
+/*
+ * Reads messages from regular file by mmap
+ */
+static ssize_t mmap_file_buffer(struct dmesg_control *ctl, char **buf)
+{
+ struct stat st;
+ int fd;
+
+ if (!ctl->filename)
+ return -1;
+
+ fd = open(ctl->filename, O_RDONLY);
+ if (fd < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), ctl->filename);
+ if (fstat(fd, &st))
+ err(EXIT_FAILURE, _("stat failed %s"), ctl->filename);
+
+ *buf = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
+ if (*buf == MAP_FAILED)
+ err(EXIT_FAILURE, _("cannot mmap: %s"), ctl->filename);
+ ctl->mmap_buff = *buf;
+ ctl->pagesize = getpagesize();
+ close(fd);
+
+ return st.st_size;
+}
+
+/*
+ * Reads messages from kernel ring buffer by klogctl()
+ */
+static ssize_t read_syslog_buffer(struct dmesg_control *ctl, char **buf)
+{
+ size_t sz;
+ int rc = -1;
+
+ if (ctl->bufsize) {
+ sz = ctl->bufsize + 8;
+ *buf = xmalloc(sz * sizeof(char));
+ rc = klogctl(ctl->action, *buf, sz);
+ } else {
+ sz = 16392;
+ while (1) {
+ *buf = xmalloc(sz * sizeof(char));
+ rc = klogctl(SYSLOG_ACTION_READ_ALL, *buf, sz);
+ if (rc < 0)
+ break;
+ if ((size_t) rc != sz || sz > (1 << 28))
+ break;
+ free(*buf);
+ *buf = NULL;
+ sz *= 4;
+ }
+
+ if (rc > 0 && ctl->action == SYSLOG_ACTION_READ_CLEAR)
+ rc = klogctl(SYSLOG_ACTION_READ_CLEAR, *buf, sz);
+ }
+
+ return rc;
+}
+
+/*
+ * Top level function to read messages
+ */
+static ssize_t read_buffer(struct dmesg_control *ctl, char **buf)
+{
+ ssize_t n = -1;
+
+ switch (ctl->method) {
+ case DMESG_METHOD_MMAP:
+ n = mmap_file_buffer(ctl, buf);
+ break;
+ case DMESG_METHOD_SYSLOG:
+ if (!ctl->bufsize)
+ ctl->bufsize = get_syslog_buffer_size();
+
+ n = read_syslog_buffer(ctl, buf);
+ break;
+ case DMESG_METHOD_KMSG:
+ /*
+ * Since kernel 3.5.0
+ */
+ n = read_kmsg(ctl);
+ if (n == 0 && ctl->action == SYSLOG_ACTION_READ_CLEAR)
+ n = klogctl(SYSLOG_ACTION_CLEAR, NULL, 0);
+ break;
+ }
+
+ return n;
+}
+
+static int fwrite_hex(const char *buf, size_t size, FILE *out)
+{
+ size_t i;
+
+ for (i = 0; i < size; i++) {
+ int rc = fprintf(out, "\\x%02x", buf[i]);
+ if (rc < 0)
+ return rc;
+ }
+ return 0;
+}
+
+/*
+ * Prints to 'out' and non-printable chars are replaced with \x<hex> sequences.
+ */
+static void safe_fwrite(const char *buf, size_t size, FILE *out)
+{
+ size_t i;
+#ifdef HAVE_WIDECHAR
+ mbstate_t s;
+ memset(&s, 0, sizeof (s));
+#endif
+ for (i = 0; i < size; i++) {
+ const char *p = buf + i;
+ int rc, hex = 0;
+ size_t len = 1;
+
+#ifdef HAVE_WIDECHAR
+ wchar_t wc;
+ len = mbrtowc(&wc, p, size - i, &s);
+
+ if (len == 0) /* L'\0' */
+ return;
+
+ if (len == (size_t)-1 || len == (size_t)-2) { /* invalid sequence */
+ memset(&s, 0, sizeof (s));
+ len = hex = 1;
+ } else if (len > 1 && !iswprint(wc)) { /* non-printable multibyte */
+ hex = 1;
+ }
+ i += len - 1;
+#else
+ if (!isprint((unsigned int) *p) &&
+ !isspace((unsigned int) *p)) /* non-printable */
+ hex = 1;
+#endif
+ if (hex)
+ rc = fwrite_hex(p, len, out);
+ else
+ rc = fwrite(p, 1, len, out) != len;
+ if (rc != 0)
+ err(EXIT_FAILURE, _("write failed"));
+ }
+}
+
+static const char *skip_item(const char *begin, const char *end, const char *sep)
+{
+ while (begin < end) {
+ int c = *begin++;
+
+ if (c == '\0' || strchr(sep, c))
+ break;
+ }
+
+ return begin;
+}
+
+/*
+ * Parses one record from syslog(2) buffer
+ */
+static int get_next_syslog_record(struct dmesg_control *ctl,
+ struct dmesg_record *rec)
+{
+ size_t i;
+ const char *begin = NULL;
+
+ if (ctl->method != DMESG_METHOD_MMAP &&
+ ctl->method != DMESG_METHOD_SYSLOG)
+ return -1;
+
+ if (!rec->next || !rec->next_size)
+ return 1;
+
+ INIT_DMESG_RECORD(rec);
+
+ /*
+ * Unmap already printed file data from memory
+ */
+ if (ctl->mmap_buff && (size_t) (rec->next - ctl->mmap_buff) > ctl->pagesize) {
+ void *x = ctl->mmap_buff;
+
+ ctl->mmap_buff += ctl->pagesize;
+ munmap(x, ctl->pagesize);
+ }
+
+ for (i = 0; i < rec->next_size; i++) {
+ const char *p = rec->next + i;
+ const char *end = NULL;
+
+ if (!begin)
+ begin = p;
+ if (i + 1 == rec->next_size) {
+ end = p + 1;
+ i++;
+ } else if (*p == '\n' && *(p + 1) == '<')
+ end = p;
+
+ if (begin && !*begin)
+ begin = NULL; /* zero(s) at the end of the buffer? */
+ if (!begin || !end)
+ continue;
+ if (end <= begin)
+ continue; /* error or empty line? */
+
+ if (*begin == '<') {
+ if (ctl->fltr_lev || ctl->fltr_fac || ctl->decode)
+ begin = parse_faclev(begin + 1, &rec->facility,
+ &rec->level);
+ else
+ begin = skip_item(begin, end, ">");
+ }
+
+ if (*begin == '[' && (*(begin + 1) == ' ' ||
+ isdigit(*(begin + 1)))) {
+ if (ctl->delta || ctl->ctime || ctl->reltime)
+ begin = parse_syslog_timestamp(begin + 1, &rec->tv);
+ else if (ctl->notime)
+ begin = skip_item(begin, end, "]");
+
+ if (begin < end && *begin == ' ')
+ begin++;
+ }
+
+ rec->mesg = begin;
+ rec->mesg_size = end - begin;
+
+ rec->next_size -= end - rec->next;
+ rec->next = rec->next_size > 0 ? end + 1 : NULL;
+ if (rec->next_size > 0)
+ rec->next_size--;
+
+ return 0;
+ }
+
+ return 1;
+}
+
+static int accept_record(struct dmesg_control *ctl, struct dmesg_record *rec)
+{
+ if (ctl->fltr_lev && (rec->facility < 0 ||
+ !isset(ctl->levels, rec->level)))
+ return 0;
+
+ if (ctl->fltr_fac && (rec->facility < 0 ||
+ !isset(ctl->facilities, rec->facility)))
+ return 0;
+
+ return 1;
+}
+
+static void raw_print(struct dmesg_control *ctl, const char *buf, size_t size)
+{
+ int lastc = '\n';
+
+ if (!ctl->mmap_buff) {
+ /*
+ * Print whole ring buffer
+ */
+ safe_fwrite(buf, size, stdout);
+ lastc = buf[size - 1];
+ } else {
+ /*
+ * Print file in small chunks to save memory
+ */
+ while (size) {
+ size_t sz = size > ctl->pagesize ? ctl->pagesize : size;
+ char *x = ctl->mmap_buff;
+
+ safe_fwrite(x, sz, stdout);
+ lastc = x[sz - 1];
+ size -= sz;
+ ctl->mmap_buff += sz;
+ munmap(x, sz);
+ }
+ }
+
+ if (lastc != '\n')
+ putchar('\n');
+}
+
+static struct tm *record_localtime(struct dmesg_control *ctl,
+ struct dmesg_record *rec,
+ struct tm *tm)
+{
+ time_t t = ctl->boot_time + rec->tv.tv_sec;
+ return localtime_r(&t, tm);
+}
+
+static char *record_ctime(struct dmesg_control *ctl,
+ struct dmesg_record *rec,
+ char *buf, size_t bufsiz)
+{
+ struct tm tm;
+
+ record_localtime(ctl, rec, &tm);
+
+ if (strftime(buf, bufsiz, "%a %b %e %H:%M:%S %Y", &tm) == 0)
+ *buf = '\0';
+ return buf;
+}
+
+static char *short_ctime(struct tm *tm, char *buf, size_t bufsiz)
+{
+ if (strftime(buf, bufsiz, "%b%e %H:%M", tm) == 0)
+ *buf = '\0';
+ return buf;
+}
+
+static double record_count_delta(struct dmesg_control *ctl,
+ struct dmesg_record *rec)
+{
+ double delta = 0;
+
+ if (timerisset(&ctl->lasttime))
+ delta = time_diff(&rec->tv, &ctl->lasttime);
+
+ ctl->lasttime = rec->tv;
+ return delta;
+}
+
+static void print_record(struct dmesg_control *ctl,
+ struct dmesg_record *rec)
+{
+ char buf[256];
+
+ if (!accept_record(ctl, rec))
+ return;
+
+ if (!rec->mesg_size) {
+ putchar('\n');
+ return;
+ }
+
+ /*
+ * compose syslog(2) compatible raw output -- used for /dev/kmsg for
+ * backward compatibility with syslog(2) buffers only
+ */
+ if (ctl->raw) {
+ printf("<%d>[%5d.%06d] ",
+ LOG_MAKEPRI(rec->facility, rec->level),
+ (int) rec->tv.tv_sec,
+ (int) rec->tv.tv_usec);
+
+ goto mesg;
+ }
+
+ /*
+ * facility : priority :
+ */
+ if (ctl->decode && rec->level >= 0 && rec->facility >= 0)
+ printf("%-6s:%-6s: ", facility_names[rec->facility].name,
+ level_names[rec->level].name);
+
+ /*
+ * [sec.usec <delta>] or [ctime <delta>]
+ */
+ if (ctl->delta) {
+ if (ctl->ctime)
+ printf("[%s ", record_ctime(ctl, rec, buf, sizeof(buf)));
+ else if (ctl->notime)
+ putchar('[');
+ else
+ printf("[%5d.%06d ", (int) rec->tv.tv_sec,
+ (int) rec->tv.tv_usec);
+ printf("<%12.06f>] ", record_count_delta(ctl, rec));
+
+ /*
+ * [ctime]
+ */
+ } else if (ctl->ctime)
+ printf("[%s] ", record_ctime(ctl, rec, buf, sizeof(buf)));
+
+ /*
+ * [reltime]
+ */
+ else if (ctl->reltime) {
+ double delta;
+ struct tm cur;
+
+ record_localtime(ctl, rec, &cur);
+ delta = record_count_delta(ctl, rec);
+
+ if (cur.tm_min != ctl->lasttm.tm_min ||
+ cur.tm_hour != ctl->lasttm.tm_hour ||
+ cur.tm_yday != ctl->lasttm.tm_yday)
+ printf("[%s] ", short_ctime(&cur, buf, sizeof(buf)));
+ else if (delta < 10)
+ printf("[ %+8.06f] ", delta);
+ else
+ printf("[ %+9.06f] ", delta);
+
+ ctl->lasttm = cur;
+ }
+
+ /*
+ * In syslog output the timestamp is part of the message and we don't
+ * parse the timestamp by default. We parse the timestamp only if
+ * --show-delta or --ctime is specified.
+ *
+ * In kmsg output we always parse the timesptamp, so we have to compose
+ * the [sec.usec] string.
+ */
+ if (ctl->method == DMESG_METHOD_KMSG &&
+ !ctl->notime && !ctl->delta && !ctl->ctime && !ctl->reltime)
+ printf("[%5d.%06d] ", (int) rec->tv.tv_sec, (int) rec->tv.tv_usec);
+
+mesg:
+ safe_fwrite(rec->mesg, rec->mesg_size, stdout);
+
+ if (*(rec->mesg + rec->mesg_size - 1) != '\n')
+ putchar('\n');
+}
+
+/*
+ * Prints the 'buf' kernel ring buffer; the messages are filtered out according
+ * to 'levels' and 'facilities' bitarrays.
+ */
+static void print_buffer(struct dmesg_control *ctl,
+ const char *buf, size_t size)
+{
+ struct dmesg_record rec = { .next = buf, .next_size = size };
+
+ if (ctl->raw) {
+ raw_print(ctl, buf, size);
+ return;
+ }
+
+ while (get_next_syslog_record(ctl, &rec) == 0)
+ print_record(ctl, &rec);
+}
+
+static ssize_t read_kmsg_one(struct dmesg_control *ctl)
+{
+ ssize_t size;
+
+ /* kmsg returns EPIPE if record was modified while reading */
+ do {
+ size = read(ctl->kmsg, ctl->kmsg_buf,
+ sizeof(ctl->kmsg_buf) - 1);
+ } while (size < 0 && errno == EPIPE);
+
+ return size;
+}
+
+static int init_kmsg(struct dmesg_control *ctl)
+{
+ int mode = O_RDONLY;
+
+ if (!ctl->follow)
+ mode |= O_NONBLOCK;
+
+ ctl->kmsg = open("/dev/kmsg", mode);
+ if (ctl->kmsg < 0)
+ return -1;
+
+ /*
+ * Seek after the last record available at the time
+ * the last SYSLOG_ACTION_CLEAR was issued.
+ *
+ * ... otherwise SYSLOG_ACTION_CLEAR will have no effect for kmsg.
+ */
+ lseek(ctl->kmsg, 0, SEEK_DATA);
+
+ /*
+ * Old kernels (<3.5) allow to successfully open /dev/kmsg for
+ * read-only, but read() returns -EINVAL :-(((
+ *
+ * Let's try to read the first record. The record is later processed in
+ * read_kmsg().
+ */
+ ctl->kmsg_first_read = read_kmsg_one(ctl);
+ if (ctl->kmsg_first_read < 0) {
+ close(ctl->kmsg);
+ ctl->kmsg = -1;
+ return -1;
+ }
+
+ return 0;
+}
+
+/*
+ * /dev/kmsg record format:
+ *
+ * faclev,seqnum,timestamp[optional, ...];messgage\n
+ * TAGNAME=value
+ * ...
+ *
+ * - fields are separated by ','
+ * - last field is terminated by ';'
+ *
+ */
+#define LAST_KMSG_FIELD(s) (!s || !*s || *(s - 1) == ';')
+
+static int parse_kmsg_record(struct dmesg_control *ctl,
+ struct dmesg_record *rec,
+ char *buf,
+ size_t sz)
+{
+ const char *p = buf, *end;
+
+ if (sz == 0 || !buf || !*buf)
+ return -1;
+
+ end = buf + (sz - 1);
+ INIT_DMESG_RECORD(rec);
+
+ while (p < end && isspace(*p))
+ p++;
+
+ /* A) priority and facility */
+ if (ctl->fltr_lev || ctl->fltr_fac || ctl->decode || ctl->raw)
+ p = parse_faclev(p, &rec->facility, &rec->level);
+ else
+ p = skip_item(p, end, ",");
+ if (LAST_KMSG_FIELD(p))
+ goto mesg;
+
+ /* B) sequence number */
+ p = skip_item(p, end, ",;");
+ if (LAST_KMSG_FIELD(p))
+ goto mesg;
+
+ /* C) timestamp */
+ if (ctl->notime)
+ p = skip_item(p, end, ",;");
+ else
+ p = parse_kmsg_timestamp(p, &rec->tv);
+ if (LAST_KMSG_FIELD(p))
+ goto mesg;
+
+ /* D) optional fields (ignore) */
+ p = skip_item(p, end, ";");
+ if (LAST_KMSG_FIELD(p))
+ goto mesg;
+
+mesg:
+ /* E) message text */
+ rec->mesg = p;
+ p = skip_item(p, end, "\n");
+
+ if (!p)
+ return -1;
+
+ rec->mesg_size = p - rec->mesg;
+
+ /*
+ * Kernel escapes non-printable characters, unfortuately kernel
+ * definition of "non-printable" is too strict. On UTF8 console we can
+ * print many chars, so let's decode from kernel.
+ */
+ unhexmangle_to_buffer(rec->mesg, (char *) rec->mesg, rec->mesg_size + 1);
+
+ /* F) message tags (ignore) */
+
+ return 0;
+}
+
+/*
+ * Note that each read() call for /dev/kmsg returns always one record. It means
+ * that we don't have to read whole message buffer before the records parsing.
+ *
+ * So this function does not compose one huge buffer (like read_syslog_buffer())
+ * and print_buffer() is unnecessary. All is done in this function.
+ *
+ * Returns 0 on success, -1 on error.
+ */
+static int read_kmsg(struct dmesg_control *ctl)
+{
+ struct dmesg_record rec;
+ ssize_t sz;
+
+ if (ctl->method != DMESG_METHOD_KMSG || ctl->kmsg < 0)
+ return -1;
+
+ /*
+ * The very first read() call is done in kmsg_init() where we test
+ * /dev/kmsg usability. The return code from the initial read() is
+ * stored in ctl->kmsg_first_read;
+ */
+ sz = ctl->kmsg_first_read;
+
+ while (sz > 0) {
+ *(ctl->kmsg_buf + sz) = '\0'; /* for debug messages */
+
+ if (parse_kmsg_record(ctl, &rec,
+ ctl->kmsg_buf, (size_t) sz) == 0)
+ print_record(ctl, &rec);
+
+ sz = read_kmsg_one(ctl);
+ }
+
+ return 0;
+}
+
+#define EXCL_ACT_ERR "--{clear,read-clear,console-level,console-on,console-off}"
+#define EXCL_SYS_ERR "--{syslog,follow}"
+
+int main(int argc, char *argv[])
+{
+ char *buf = NULL;
+ int c;
+ int console_level = 0;
+ int klog_rc = 0;
+ ssize_t n;
+ static struct dmesg_control ctl = {
+ .filename = NULL,
+ .action = SYSLOG_ACTION_READ_ALL,
+ .method = DMESG_METHOD_KMSG,
+ .kmsg = -1,
+ };
+
+ static const struct option longopts[] = {
+ { "buffer-size", required_argument, NULL, 's' },
+ { "clear", no_argument, NULL, 'C' },
+ { "console-level", required_argument, NULL, 'n' },
+ { "console-off", no_argument, NULL, 'D' },
+ { "console-on", no_argument, NULL, 'E' },
+ { "decode", no_argument, NULL, 'x' },
+ { "file", required_argument, NULL, 'F' },
+ { "facility", required_argument, NULL, 'f' },
+ { "follow", no_argument, NULL, 'w' },
+ { "help", no_argument, NULL, 'h' },
+ { "kernel", no_argument, NULL, 'k' },
+ { "level", required_argument, NULL, 'l' },
+ { "syslog", no_argument, NULL, 'S' },
+ { "raw", no_argument, NULL, 'r' },
+ { "read-clear", no_argument, NULL, 'c' },
+ { "reltime", no_argument, NULL, 'e' },
+ { "show-delta", no_argument, NULL, 'd' },
+ { "ctime", no_argument, NULL, 'T' },
+ { "notime", no_argument, NULL, 't' },
+ { "userspace", no_argument, NULL, 'u' },
+ { "version", no_argument, NULL, 'V' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'C','D','E','c','n' }, /* clear,off,on,read-clear,level*/
+ { 'S','w' }, /* syslog,follow */
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "CcDdEeF:f:hkl:n:rSs:TtuVwx",
+ longopts, NULL)) != -1) {
+
+ err_exclusive_options(c, longopts, excl, excl_st);
+
+ switch (c) {
+ case 'C':
+ ctl.action = SYSLOG_ACTION_CLEAR;
+ break;
+ case 'c':
+ ctl.action = SYSLOG_ACTION_READ_CLEAR;
+ break;
+ case 'D':
+ ctl.action = SYSLOG_ACTION_CONSOLE_OFF;
+ break;
+ case 'd':
+ ctl.delta = 1;
+ break;
+ case 'E':
+ ctl.action = SYSLOG_ACTION_CONSOLE_ON;
+ break;
+ case 'e':
+ ctl.boot_time = get_boot_time();
+ if (ctl.boot_time)
+ ctl.reltime = 1;
+ break;
+ case 'F':
+ ctl.filename = optarg;
+ ctl.method = DMESG_METHOD_MMAP;
+ break;
+ case 'f':
+ ctl.fltr_fac = 1;
+ if (string_to_bitarray(optarg,
+ ctl.facilities, parse_facility) < 0)
+ return EXIT_FAILURE;
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case 'k':
+ ctl.fltr_fac = 1;
+ setbit(ctl.facilities, FAC_BASE(LOG_KERN));
+ break;
+ case 'l':
+ ctl.fltr_lev= 1;
+ if (string_to_bitarray(optarg,
+ ctl.levels, parse_level) < 0)
+ return EXIT_FAILURE;
+ break;
+ case 'n':
+ ctl.action = SYSLOG_ACTION_CONSOLE_LEVEL;
+ console_level = parse_level(optarg, 0);
+ break;
+ case 'r':
+ ctl.raw = 1;
+ break;
+ case 'S':
+ ctl.method = DMESG_METHOD_SYSLOG;
+ break;
+ case 's':
+ ctl.bufsize = strtou32_or_err(optarg,
+ _("invalid buffer size argument"));
+ if (ctl.bufsize < 4096)
+ ctl.bufsize = 4096;
+ break;
+ case 'T':
+ ctl.boot_time = get_boot_time();
+ if (ctl.boot_time)
+ ctl.ctime = 1;
+ break;
+ case 't':
+ ctl.notime = 1;
+ break;
+ case 'u':
+ ctl.fltr_fac = 1;
+ for (n = 1; (size_t) n < ARRAY_SIZE(facility_names); n++)
+ setbit(ctl.facilities, n);
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'w':
+ ctl.follow = 1;
+ break;
+ case 'x':
+ ctl.decode = 1;
+ break;
+ case '?':
+ default:
+ usage(stderr);
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+ if (argc > 1)
+ usage(stderr);
+
+ if (ctl.raw && (ctl.fltr_lev || ctl.fltr_fac || ctl.delta ||
+ ctl.notime || ctl.ctime || ctl.decode))
+ errx(EXIT_FAILURE, _("--raw can't be used together with level, "
+ "facility, decode, delta, ctime or notime options"));
+
+ if (ctl.notime && (ctl.ctime || ctl.reltime))
+ errx(EXIT_FAILURE, _("--notime can't be used together with --ctime or --reltime"));
+ if (ctl.reltime && ctl.ctime)
+ errx(EXIT_FAILURE, _("--reltime can't be used together with --ctime "));
+
+ switch (ctl.action) {
+ case SYSLOG_ACTION_READ_ALL:
+ case SYSLOG_ACTION_READ_CLEAR:
+ if (ctl.method == DMESG_METHOD_KMSG && init_kmsg(&ctl) != 0)
+ ctl.method = DMESG_METHOD_SYSLOG;
+
+ n = read_buffer(&ctl, &buf);
+ if (n > 0)
+ print_buffer(&ctl, buf, n);
+ if (!ctl.mmap_buff)
+ free(buf);
+ if (n < 0)
+ err(EXIT_FAILURE, _("read kernel buffer failed"));
+ if (ctl.kmsg >= 0)
+ close(ctl.kmsg);
+ break;
+ case SYSLOG_ACTION_CLEAR:
+ case SYSLOG_ACTION_CONSOLE_OFF:
+ case SYSLOG_ACTION_CONSOLE_ON:
+ klog_rc = klogctl(ctl.action, NULL, 0);
+ break;
+ case SYSLOG_ACTION_CONSOLE_LEVEL:
+ klog_rc = klogctl(ctl.action, NULL, console_level);
+ break;
+ default:
+ errx(EXIT_FAILURE, _("unsupported command"));
+ break;
+ }
+
+
+ if (klog_rc)
+ err(EXIT_FAILURE, _("klogctl failed"));
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/eject.1 b/sys-utils/eject.1
new file mode 100644
index 0000000..1a23229
--- /dev/null
+++ b/sys-utils/eject.1
@@ -0,0 +1,165 @@
+.\" Copyright (C) 1994-2005 Jeff Tranter (tranter@pobox.com)
+.\" Copyright (C) 2012 Karel Zak <kzak@redhat.com>
+.\"
+.\" It may be distributed under the GNU Public License, version 2, or
+.\" any higher version. See section COPYING of the GNU Public license
+.\" for conditions under which this file may be redistributed.
+.TH EJECT 1 "April 2012" "Linux" "User Commands"
+.SH NAME
+eject \- eject removable media
+.SH SYNOPSIS
+.B eject
+.RB [ options ]
+.IR device | mountpoint
+.SH DESCRIPTION
+.B Eject
+allows removable media (typically a CD-ROM, floppy disk, tape, JAZ, ZIP or USB
+disk) to be ejected under software control. The command can also control some
+multi-disc CD-ROM changers, the auto-eject feature supported by some devices,
+and close the disc tray of some CD-ROM drives.
+.PP
+The device corresponding to \fIdevice\fP or \fImountpoint\fP is ejected. If no
+name is specified, the default name /dev/cdrom is used. The device may be
+addressed by device name (e.g. 'sda'), device path (e.g. '/dev/sda'),
+UUID=<uuid> or LABEL=<label> tags.
+.PP
+There are four different methods of ejecting, depending on whether the device
+is a CD-ROM, SCSI device, removable floppy, or tape. By default eject tries
+all four methods in order until it succeeds.
+.PP
+If device partition is specified, the whole-disk device is used. If the device
+or a device partition is currently mounted, it is unmounted before ejecting.
+.SH OPTIONS
+.IP "\fB\-a, \-\-auto \fIon|off\fP"
+This option controls the auto-eject mode, supported by some devices. When
+enabled, the drive automatically ejects when the device is closed.
+.IP "\fB\-c, \-\-changerslot \fIslot\fP"
+With this option a CD slot can be selected from an ATAPI/IDE CD-ROM changer.
+Linux 2.0 or higher is required to use this feature. The CD-ROM drive can not
+be in use (mounted data CD or playing a music CD) for a change request to work.
+Please also note that the first slot of the changer is referred to as 0, not 1.
+.IP "\fB\-d, \-\-default\fP"
+List the default device name.
+.IP "\fB\-f, \-\-floppy\fP"
+This option specifies that the drive should be ejected using a removable floppy
+disk eject command.
+.IP "\fB\-F, \-\-force\fP"
+Force eject, don't check device type.
+.IP "\fB\-h, \-\-help\fP"
+Print a help text and exit.
+.IP "\fB\-i, \-\-manualeject \fIon|off\fP"
+This option controls locking of the hardware eject button. When enabled, the
+drive will not be ejected when the button is pressed. This is useful when you
+are carrying a laptop in a bag or case and don't want it to eject if the button
+is inadvertently pressed.
+.IP "\fB\-p, \-\-proc\fP"
+This option allow you to use /proc/mounts instead /etc/mtab. It also passes the
+\-n option to umount(1).
+.IP "\fB\-q, \-\-tape\fP"
+This option specifies that the drive should be ejected using a tape drive
+offline command.
+.IP "\fB\-m, \-\-no-unmount\fP"
+The option tells eject to not try to unmount at all.
+.IP "\fB\-M, \-\-no-partitions-unmount\fP"
+The option tells eject to not try to unmount another partitions on partitioned
+devices. If another partition is mounted the program will not attempt to eject
+the media. It will attempt to unmount only mountpoint or mounted device given
+on eject command line.
+.IP "\fB\-n, \-\-noop\fP"
+With this option the selected device is displayed but no action is performed.
+.IP "\fB\-t, \-\-trayclose\fP"
+With this option the drive is given a CD-ROM tray close command. Not all
+devices support this command.
+.IP "\fB\-T, \-\-traytoggle\fP"
+With this option the drive is given a CD-ROM tray close command if it's opened,
+and a CD-ROM tray eject command if it's closed. Not all devices support this
+command, because it uses the above CD-ROM tray close command.
+.IP "\fB\-r, \-\-cdrom\fP"
+This option specifies that the drive should be ejected using a CDROM eject
+command.
+.IP "\fB\-s, \-\-scsi\fP"
+This option specifies that the drive should be ejected using SCSI commands.
+.IP "\fB\-v, \-\-verbose\fP"
+Run in verbose mode; more information is displayed about what the command is
+doing.
+.IP "\fB\-V, \-\-version\fP"
+Display program version and exit.
+.IP "\fB\-x, \-\-cdspeed \fI<speed>\fP"
+With this option the drive is given a CD-ROM select speed command. The speed
+argument is a number indicating the desired speed (e.g. 8 for 8X speed), or 0
+for maximum data rate. Not all devices support this command and you can only
+specify speeds that the drive is capable of. Every time the media is changed
+this option is cleared. This option can be used alone, or with the \-t and \-c
+options.
+.IP "\fB\-X, \-\-listspeed\fP"
+With this option the CD-ROM drive will be probed to detect the available
+speeds. The output is a list of speeds which can be used as an argument of the
+\-x option. This only works with Linux 2.6.13 or higher, on previous versions
+solely the maximum speed will be reported. Also note that some drive may not
+correctly report the speed and therefore this option does not work with them.
+.SH EXIT STATUS
+Returns 0 if operation was successful, 1 if operation failed or command syntax
+was not valid.
+.SH NOTES
+.B Eject
+only works with devices that support one or more of the four methods of
+ejecting. This includes most CD-ROM drives (IDE, SCSI, and proprietary), some
+SCSI tape drives, JAZ drives, ZIP drives (parallel port, SCSI, and IDE
+versions), and LS120 removable floppies. Users have also reported success with
+floppy drives on Sun SPARC and Apple Macintosh systems. If
+.B eject
+does not work, it is most likely a limitation of the kernel driver for the
+device and not the
+.B eject
+program itself.
+.PP
+The \-r, \-s, \-f, and \-q options allow controlling which methods are used to
+eject. More than one method can be specified. If none of these options are
+specified, it tries all four (this works fine in most cases).
+.PP
+.B Eject
+may not always be able to determine if the device is mounted (e.g. if it has
+several names). If the device name is a symbolic link,
+.B eject
+will follow the link and use the device that it points to.
+.PP
+If
+.B eject
+determines that the device can have multiple partitions, it will attempt to
+unmount all mounted partitions of the device before ejecting (see
+--no-partitions-unmount). If an unmount fails, the program will not attempt to
+eject the media.
+.PP
+You can eject an audio CD. Some CD-ROM drives will refuse to open the tray if
+the drive is empty. Some devices do not support the tray close command.
+.PP
+If the auto-eject feature is enabled, then the drive will always be ejected
+after running this command. Not all Linux kernel CD-ROM drivers support the
+auto-eject mode. There is no way to find out the state of the auto-eject mode.
+.PP
+You need appropriate privileges to access the device files. Running as root is
+required to eject some devices (e.g. SCSI devices).
+.SH AUTHORS
+.MT tranter@\:pobox.com
+Jeff Tranter
+.ME
+- original author.
+.br
+.MT kzak@\:redhat.com
+Karel Zak
+.ME
+and
+.MT mluscon@\:redhat.com
+Michal Luscon
+.ME
+- util-linux version.
+.SH SEE ALSO
+.BR lsblk (8),
+.BR findmnt (8),
+.BR mount (8),
+.BR umount (8)
+.SH AVAILABILITY
+The eject command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/eject.c b/sys-utils/eject.c
new file mode 100644
index 0000000..2097961
--- /dev/null
+++ b/sys-utils/eject.c
@@ -0,0 +1,1132 @@
+/*
+ * Copyright (C) 1994-2005 Jeff Tranter (tranter@pobox.com)
+ * Copyright (C) 2012 Karel Zak <kzak@redhat.com>
+ * Copyright (C) Michal Luscon <mluscon@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <err.h>
+#include <stdarg.h>
+
+#include <getopt.h>
+#include <errno.h>
+#include <regex.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/wait.h>
+#include <sys/mtio.h>
+#include <linux/cdrom.h>
+#include <linux/fd.h>
+#include <sys/mount.h>
+#include <scsi/scsi.h>
+#include <scsi/sg.h>
+#include <scsi/scsi_ioctl.h>
+#include <sys/time.h>
+
+#include <libmount.h>
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "strutils.h"
+#include "xalloc.h"
+#include "pathnames.h"
+#include "sysfs.h"
+
+#define EJECT_DEFAULT_DEVICE "/dev/cdrom"
+
+
+/* Used by the toggle_tray() function. If ejecting the tray takes this
+ * time or less, the tray was probably already ejected, so we close it
+ * again.
+ */
+#define TRAY_WAS_ALREADY_OPEN_USECS 200000 /* about 0.2 seconds */
+
+/* eject(1) is able to eject only 'removable' devices (attribute in /sys)
+ * _or_ devices connected by hotplug subsystem.
+ */
+static const char * const hotplug_subsystems[] = {
+ "usb",
+ "ieee1394",
+ "pcmcia",
+ "mmc",
+ "ccw"
+};
+
+/* Global Variables */
+static int a_option; /* command flags and arguments */
+static int c_option;
+static int d_option;
+static int f_option;
+static int F_option;
+static int n_option;
+static int q_option;
+static int r_option;
+static int s_option;
+static int t_option;
+static int T_option;
+static int X_option;
+static int v_option;
+static int x_option;
+static int p_option;
+static int m_option;
+static int M_option;
+static int i_option;
+static int a_arg;
+static int i_arg;
+static long int c_arg;
+static long int x_arg;
+
+struct libmnt_table *mtab;
+struct libmnt_cache *cache;
+
+static void vinfo(const char *fmt, va_list va)
+{
+ fprintf(stdout, "%s: ", program_invocation_short_name);
+ vprintf(fmt, va);
+ fputc('\n', stdout);
+}
+
+static inline void verbose(const char *fmt, ...)
+{
+ va_list va;
+
+ if (!v_option)
+ return;
+
+ va_start(va, fmt);
+ vinfo(fmt, va);
+ va_end(va);
+}
+
+static inline void info(const char *fmt, ...)
+{
+ va_list va;
+ va_start(va, fmt);
+ vinfo(fmt, va);
+ va_end(va);
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+
+ fprintf(out,
+ _(" %s [options] [<device>|<mountpoint>]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -a, --auto <on|off> turn auto-eject feature on or off\n"
+ " -c, --changerslot <slot> switch discs on a CD-ROM changer\n"
+ " -d, --default display default device\n"
+ " -f, --floppy eject floppy\n"
+ " -F, --force don't care about device type\n"
+ " -i, --manualeject <on|off> toggle manual eject protection on/off\n"
+ " -m, --no-unmount do not unmount device even if it is mounted\n"
+ " -M, --no-partitions-unmount do not unmount another partitions\n"
+ " -n, --noop don't eject, just show device found\n"
+ " -p, --proc use /proc/mounts instead of /etc/mtab\n"
+ " -q, --tape eject tape\n"
+ " -r, --cdrom eject CD-ROM\n"
+ " -s, --scsi eject SCSI device\n"
+ " -t, --trayclose close tray\n"
+ " -T, --traytoggle toggle tray\n"
+ " -v, --verbose enable verbose output\n"
+ " -x, --cdspeed <speed> set CD-ROM max speed\n"
+ " -X, --listspeed list CD-ROM available speeds\n"),
+ out);
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+
+ fputs(_("\nBy default tries -r, -s, -f, and -q in order until success.\n"), out);
+ fprintf(out, USAGE_MAN_TAIL("eject(1)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+
+/* Handle command line options. */
+static void parse_args(int argc, char **argv, char **device)
+{
+ static const struct option long_opts[] =
+ {
+ {"auto", required_argument, NULL, 'a'},
+ {"cdrom", no_argument, NULL, 'r'},
+ {"cdspeed", required_argument, NULL, 'x'},
+ {"changerslot", required_argument, NULL, 'c'},
+ {"default", no_argument, NULL, 'd'},
+ {"floppy", no_argument, NULL, 'f'},
+ {"force", no_argument, NULL, 'F'},
+ {"help", no_argument, NULL, 'h'},
+ {"listspeed", no_argument, NULL, 'X'},
+ {"manualeject", required_argument, NULL, 'i'},
+ {"noop", no_argument, NULL, 'n'},
+ {"no-unmount", no_argument, NULL, 'm'},
+ {"no-partitions-unmount", no_argument, NULL, 'M' },
+ {"proc", no_argument, NULL, 'p'},
+ {"scsi", no_argument, NULL, 's'},
+ {"tape", no_argument, NULL, 'q'},
+ {"trayclose", no_argument, NULL, 't'},
+ {"traytoggle", no_argument, NULL, 'T'},
+ {"verbose", no_argument, NULL, 'v'},
+ {"version", no_argument, NULL, 'V'},
+ {0, 0, 0, 0}
+ };
+ int c;
+
+ while ((c = getopt_long(argc, argv,
+ "a:c:i:x:dfFhnqrstTXvVpmM", long_opts, NULL)) != -1) {
+ switch (c) {
+ case 'a':
+ a_option = 1;
+ if (!strcmp(optarg, "0") || !strcmp(optarg, "off"))
+ a_arg = 0;
+ else if (!strcmp(optarg, "1") || !strcmp(optarg, "on"))
+ a_arg = 1;
+ else
+ errx(EXIT_FAILURE, _("invalid argument to --auto/-a option"));
+ break;
+ case 'c':
+ c_option = 1;
+ c_arg = strtoul_or_err(optarg, _("invalid argument to --changerslot/-c option"));
+ break;
+ case 'x':
+ x_option = 1;
+ x_arg = strtoul_or_err(optarg, _("invalid argument to --cdspeed/-x option"));
+ break;
+ case 'd':
+ d_option = 1;
+ break;
+ case 'f':
+ f_option = 1;
+ break;
+ case 'F':
+ F_option = 1;
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case 'i':
+ i_option = 1;
+ if (!strcmp(optarg, "0") || !strcmp(optarg, "off"))
+ i_arg = 0;
+ else if (!strcmp(optarg, "1") || !strcmp(optarg, "on"))
+ i_arg = 1;
+ else
+ errx(EXIT_FAILURE, _("invalid argument to --manualeject/-i option"));
+ break;
+ case 'm':
+ m_option = 1;
+ break;
+ case 'M':
+ M_option = 1;
+ break;
+ case 'n':
+ n_option = 1;
+ break;
+ case 'p':
+ p_option = 1;
+ break;
+ case 'q':
+ q_option = 1;
+ break;
+ case 'r':
+ r_option = 1;
+ break;
+ case 's':
+ s_option = 1;
+ break;
+ case 't':
+ t_option = 1;
+ break;
+ case 'T':
+ T_option = 1;
+ break;
+ case 'X':
+ X_option = 1;
+ break;
+ case 'v':
+ v_option = 1;
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ exit(EXIT_SUCCESS);
+ break;
+ default:
+ case '?':
+ usage(stderr);
+ break;
+ }
+ }
+
+ /* check for a single additional argument */
+ if ((argc - optind) > 1)
+ errx(EXIT_FAILURE, _("too many arguments"));
+
+ if ((argc - optind) == 1)
+ *device = xstrdup(argv[optind]);
+}
+
+/*
+ * Given name, such as foo, see if any of the following exist:
+ *
+ * foo (if foo starts with '.' or '/')
+ * /dev/foo
+ *
+ * If found, return the full path. If not found, return 0.
+ * Returns pointer to dynamically allocated string.
+ */
+static char *find_device(const char *name)
+{
+ if (!name)
+ return NULL;
+
+ if ((*name == '.' || *name == '/') && access(name, F_OK) == 0)
+ return xstrdup(name);
+ else {
+ char buf[PATH_MAX];
+
+ snprintf(buf, sizeof(buf), "/dev/%s", name);
+ if (access(buf, F_OK) == 0)
+ return xstrdup(buf);
+ }
+
+ return NULL;
+}
+
+/* Set or clear auto-eject mode. */
+static void auto_eject(int fd, int on)
+{
+ int status = -1;
+
+#if defined(CDROM_SET_OPTIONS) && defined(CDROM_CLEAR_OPTIONS)
+ if (on)
+ status = ioctl(fd, CDROM_SET_OPTIONS, CDO_AUTO_EJECT);
+ else
+ status = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_AUTO_EJECT);
+#else
+ errno = ENOSYS;
+#endif
+ if (status < 0)
+ err(EXIT_FAILURE,_("CD-ROM auto-eject command failed"));
+}
+
+/*
+ * Stops CDROM from opening on manual eject pressing the button.
+ * This can be useful when you carry your laptop
+ * in your bag while it's on and no CD inserted in it's drive.
+ * Implemented as found in Documentation/ioctl/cdrom.txt
+ *
+ * TODO: Maybe we should check this also:
+ * EDRIVE_CANT_DO_THIS Door lock function not supported.
+ * EBUSY Attempt to unlock when multiple users
+ * have the drive open and not CAP_SYS_ADMIN
+ */
+static void manual_eject(int fd, int on)
+{
+ if (ioctl(fd, CDROM_LOCKDOOR, on) < 0)
+ err(EXIT_FAILURE, _("CD-ROM lock door command failed"));
+
+ if (on)
+ info(_("CD-Drive may NOT be ejected with device button"));
+ else
+ info(_("CD-Drive may be ejected with device button"));
+}
+
+/*
+ * Changer select. CDROM_SELECT_DISC is preferred, older kernels used
+ * CDROMLOADFROMSLOT.
+ */
+static void changer_select(int fd, int slot)
+{
+#ifdef CDROM_SELECT_DISC
+ if (ioctl(fd, CDROM_SELECT_DISC, slot) < 0)
+ err(EXIT_FAILURE, _("CD-ROM select disc command failed"));
+
+#elif defined CDROMLOADFROMSLOT
+ if (ioctl(fd, CDROMLOADFROMSLOT, slot) != 0)
+ err(EXIT_FAILURE, _("CD-ROM load from slot command failed"));
+#else
+ warnx(_("IDE/ATAPI CD-ROM changer not supported by this kernel\n") );
+#endif
+}
+
+/*
+ * Close tray. Not supported by older kernels.
+ */
+static void close_tray(int fd)
+{
+ int status;
+
+#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE)
+#if defined(CDROMCLOSETRAY)
+ status = ioctl(fd, CDROMCLOSETRAY);
+#elif defined(CDIOCCLOSE)
+ status = ioctl(fd, CDIOCCLOSE);
+#endif
+ if (status != 0)
+ err(EXIT_FAILURE, _("CD-ROM tray close command failed"));
+#else
+ warnx(_("CD-ROM tray close command not supported by this kernel\n"));
+#endif
+}
+
+/*
+ * Eject using CDROMEJECT ioctl.
+ */
+static int eject_cdrom(int fd)
+{
+#if defined(CDROMEJECT)
+ return ioctl(fd, CDROMEJECT) >= 0;
+#elif defined(CDIOCEJECT)
+ return ioctl(fd, CDIOCEJECT) >= 0;
+#else
+ warnx(_("CD-ROM eject unsupported"));
+ errno = ENOSYS;
+ return 0;
+#endif
+}
+
+/*
+ * Toggle tray.
+ *
+ * Written by Benjamin Schwenk <benjaminschwenk@yahoo.de> and
+ * Sybren Stuvel <sybren@thirdtower.com>
+ *
+ * Not supported by older kernels because it might use
+ * CloseTray().
+ *
+ */
+static void toggle_tray(int fd)
+{
+ struct timeval time_start, time_stop;
+ int time_elapsed;
+
+#ifdef CDROM_DRIVE_STATUS
+ /* First ask the CDROM for info, otherwise fall back to manual. */
+ switch (ioctl(fd, CDROM_DRIVE_STATUS)) {
+ case CDS_TRAY_OPEN:
+ close_tray(fd);
+ return;
+
+ case CDS_NO_DISC:
+ case CDS_DISC_OK:
+ if (!eject_cdrom(fd))
+ err(EXIT_FAILURE, _("CD-ROM eject command failed"));
+ return;
+ case CDS_NO_INFO:
+ warnx(_("no CD-ROM information available"));
+ return;
+ case CDS_DRIVE_NOT_READY:
+ warnx(_("CD-ROM drive is not ready"));
+ return;
+ default:
+ abort();
+ }
+#endif
+
+ /* Try to open the CDROM tray and measure the time therefor
+ * needed. In my experience the function needs less than 0.05
+ * seconds if the tray was already open, and at least 1.5 seconds
+ * if it was closed. */
+ gettimeofday(&time_start, NULL);
+
+ /* Send the CDROMEJECT command to the device. */
+ if (!eject_cdrom(fd))
+ err(EXIT_FAILURE, _("CD-ROM eject command failed"));
+
+ /* Get the second timestamp, to measure the time needed to open
+ * the tray. */
+ gettimeofday(&time_stop, NULL);
+
+ time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) -
+ (time_start.tv_sec * 1000000 + time_start.tv_usec);
+
+ /* If the tray "opened" too fast, we can be nearly sure, that it
+ * was already open. In this case, close it now. Else the tray was
+ * closed before. This would mean that we are done. */
+ if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS)
+ close_tray(fd);
+}
+
+/*
+ * Select Speed of CD-ROM drive.
+ * Thanks to Roland Krivanek (krivanek@fmph.uniba.sk)
+ * http://dmpc.dbp.fmph.uniba.sk/~krivanek/cdrom_speed/
+ */
+static void select_speed(int fd, int speed)
+{
+#ifdef CDROM_SELECT_SPEED
+ if (ioctl(fd, CDROM_SELECT_SPEED, speed) != 0)
+ err(EXIT_FAILURE, _("CD-ROM select speed command failed"));
+#else
+ warnx(_("CD-ROM select speed command not supported by this kernel"));
+#endif
+}
+
+/*
+ * Read Speed of CD-ROM drive. From Linux 2.6.13, the current speed
+ * is correctly reported
+ */
+static int read_speed(const char *devname)
+{
+ int drive_number = -1;
+ char *name;
+ FILE *f;
+
+ f = fopen(_PATH_PROC_CDROMINFO, "r");
+ if (!f)
+ err(EXIT_FAILURE, _("cannot open %s"), _PATH_PROC_CDROMINFO);
+
+ name = rindex(devname, '/') + 1;
+
+ while (!feof(f)) {
+ char line[512];
+ char *str;
+
+ if (!fgets(line, sizeof(line), f))
+ break;
+
+ /* find drive number in line "drive name" */
+ if (drive_number == -1) {
+ if (strncmp(line, "drive name:", 11) == 0) {
+ str = strtok(&line[11], "\t ");
+ drive_number = 0;
+ while (strncmp(name, str, strlen(name)) != 0) {
+ drive_number++;
+ str = strtok(NULL, "\t ");
+ if (!str)
+ errx(EXIT_FAILURE,
+ _("%s: failed to finding CD-ROM name"),
+ _PATH_PROC_CDROMINFO);
+ }
+ }
+ /* find line "drive speed" and read the correct speed */
+ } else {
+ if (strncmp(line, "drive speed:", 12) == 0) {
+ int i;
+
+ str = strtok(&line[12], "\t ");
+ for (i = 1; i < drive_number; i++)
+ str = strtok(NULL, "\t ");
+
+ if (!str)
+ errx(EXIT_FAILURE,
+ _("%s: failed to read speed"),
+ _PATH_PROC_CDROMINFO);
+ fclose(f);
+ return atoi(str);
+ }
+ }
+ }
+
+ errx(EXIT_FAILURE, _("failed to read speed"));
+}
+
+/*
+ * List Speed of CD-ROM drive.
+ */
+static void list_speeds(const char *name, int fd)
+{
+#ifdef CDROM_SELECT_SPEED
+ int max_speed, curr_speed = 0, prev_speed;
+
+ select_speed(fd, 0);
+ max_speed = read_speed(name);
+
+ while (curr_speed < max_speed) {
+ prev_speed = curr_speed;
+ select_speed(fd, prev_speed + 1);
+ curr_speed = read_speed(name);
+ if (curr_speed > prev_speed)
+ printf("%d ", curr_speed);
+ else
+ curr_speed = prev_speed + 1;
+ }
+
+ printf("\n");
+#else
+ warnx(_("CD-ROM select speed command not supported by this kernel"));
+#endif
+}
+
+/*
+ * Eject using SCSI SG_IO commands. Return 1 if successful, 0 otherwise.
+ */
+static int eject_scsi(int fd)
+{
+ int status, k;
+ sg_io_hdr_t io_hdr;
+ unsigned char allowRmBlk[6] = {ALLOW_MEDIUM_REMOVAL, 0, 0, 0, 0, 0};
+ unsigned char startStop1Blk[6] = {START_STOP, 0, 0, 0, 1, 0};
+ unsigned char startStop2Blk[6] = {START_STOP, 0, 0, 0, 2, 0};
+ unsigned char inqBuff[2];
+ unsigned char sense_buffer[32];
+
+ if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) {
+ verbose(_("not an sg device, or old sg driver"));
+ return 0;
+ }
+
+ memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
+ io_hdr.interface_id = 'S';
+ io_hdr.cmd_len = 6;
+ io_hdr.mx_sb_len = sizeof(sense_buffer);
+ io_hdr.dxfer_direction = SG_DXFER_NONE;
+ io_hdr.dxfer_len = 0;
+ io_hdr.dxferp = inqBuff;
+ io_hdr.sbp = sense_buffer;
+ io_hdr.timeout = 10000;
+
+ io_hdr.cmdp = allowRmBlk;
+ status = ioctl(fd, SG_IO, (void *)&io_hdr);
+ if (status < 0)
+ return 0;
+
+ io_hdr.cmdp = startStop1Blk;
+ status = ioctl(fd, SG_IO, (void *)&io_hdr);
+ if (status < 0)
+ return 0;
+
+ io_hdr.cmdp = startStop2Blk;
+ status = ioctl(fd, SG_IO, (void *)&io_hdr);
+ if (status < 0)
+ return 0;
+
+ /* force kernel to reread partition table when new disc inserted */
+ status = ioctl(fd, BLKRRPART);
+ return 1;
+}
+
+/*
+ * Eject using FDEJECT ioctl. Return 1 if successful, 0 otherwise.
+ */
+static int eject_floppy(int fd)
+{
+ return ioctl(fd, FDEJECT) >= 0;
+}
+
+
+/*
+ * Rewind and eject using tape ioctl. Return 1 if successful, 0 otherwise.
+ */
+static int eject_tape(int fd)
+{
+ struct mtop op = { .mt_op = MTOFFL, .mt_count = 0 };
+
+ return ioctl(fd, MTIOCTOP, &op) >= 0;
+}
+
+
+/* umount a device. */
+static void umount_one(const char *name)
+{
+ int status;
+
+ if (!name)
+ return;
+
+ verbose(_("%s: unmounting"), name);
+
+ switch (fork()) {
+ case 0: /* child */
+ if (setgid(getgid()) < 0)
+ err(EXIT_FAILURE, _("cannot set group id"));
+
+ if (setuid(getuid()) < 0)
+ err(EXIT_FAILURE, _("eject: cannot set user id"));
+
+ if (p_option)
+ execl("/bin/umount", "/bin/umount", name, "-n", NULL);
+ else
+ execl("/bin/umount", "/bin/umount", name, NULL);
+
+ errx(EXIT_FAILURE, _("unable to exec /bin/umount of `%s'"), name);
+
+ case -1:
+ warn( _("unable to fork"));
+ break;
+
+ default: /* parent */
+ wait(&status);
+ if (WIFEXITED(status) == 0)
+ errx(EXIT_FAILURE,
+ _("unmount of `%s' did not exit normally"), name);
+
+ if (WEXITSTATUS(status) != 0)
+ errx(EXIT_FAILURE, _("unmount of `%s' failed\n"), name);
+ break;
+ }
+}
+
+/* Open a device file. */
+static int open_device(const char *name)
+{
+ int fd = open(name, O_RDWR|O_NONBLOCK);
+
+ if (fd < 0)
+ fd = open(name, O_RDONLY|O_NONBLOCK);
+ if (fd == -1)
+ err(EXIT_FAILURE, _("cannot open %s"), name);
+ return fd;
+}
+
+/*
+ * See if device has been mounted by looking in mount table. If so, set
+ * device name and mount point name, and return 1, otherwise return 0.
+ */
+static int device_get_mountpoint(char **devname, char **mnt)
+{
+ struct libmnt_fs *fs;
+ int rc;
+
+ *mnt = NULL;
+
+ if (!mtab) {
+ mtab = mnt_new_table();
+ if (!mtab)
+ err(EXIT_FAILURE, _("failed to initialize libmount table"));
+
+ cache = mnt_new_cache();
+ mnt_table_set_cache(mtab, cache);
+
+ if (p_option)
+ rc = mnt_table_parse_file(mtab, _PATH_PROC_MOUNTINFO);
+ else
+ rc = mnt_table_parse_mtab(mtab, NULL);
+ if (rc)
+ err(EXIT_FAILURE, _("failed to parse mount table"));
+ }
+
+ fs = mnt_table_find_source(mtab, *devname, MNT_ITER_BACKWARD);
+ if (!fs) {
+ /* maybe 'devname' is mountpoint rather than a real device */
+ fs = mnt_table_find_target(mtab, *devname, MNT_ITER_BACKWARD);
+ if (fs) {
+ free(*devname);
+ *devname = xstrdup(mnt_fs_get_source(fs));
+ }
+ }
+
+ if (fs)
+ *mnt = xstrdup(mnt_fs_get_target(fs));
+ return *mnt ? 0 : -1;
+}
+
+static char *get_disk_devname(const char *device)
+{
+ struct stat st;
+ dev_t diskno = 0;
+ char diskname[128];
+
+ if (stat(device, &st) != 0)
+ return NULL;
+
+ /* get whole-disk devno */
+ if (sysfs_devno_to_wholedisk(st.st_rdev, diskname,
+ sizeof(diskname), &diskno) != 0)
+ return NULL;
+
+ return st.st_rdev == diskno ? NULL : find_device(diskname);
+}
+
+static int umount_partitions(const char *disk, int checkonly)
+{
+ struct sysfs_cxt cxt = UL_SYSFSCXT_EMPTY;
+ dev_t devno;
+ DIR *dir = NULL;
+ struct dirent *d;
+ int count = 0;
+
+ devno = sysfs_devname_to_devno(disk, NULL);
+ if (sysfs_init(&cxt, devno, NULL) != 0)
+ return 0;
+
+ /* open /sys/block/<wholedisk> */
+ if (!(dir = sysfs_opendir(&cxt, NULL)))
+ goto done;
+
+ /* scan for partition subdirs */
+ while ((d = readdir(dir))) {
+ if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, ".."))
+ continue;
+
+ if (sysfs_is_partition_dirent(dir, d, disk)) {
+ char *mnt = NULL;
+ char *dev = find_device(d->d_name);
+
+ if (dev && device_get_mountpoint(&dev, &mnt) == 0) {
+ verbose(_("%s: mounted on %s"), dev, mnt);
+ if (!checkonly)
+ umount_one(mnt);
+ count++;
+ }
+ free(dev);
+ free(mnt);
+ }
+ }
+
+done:
+ if (dir)
+ closedir(dir);
+ sysfs_deinit(&cxt);
+
+ return count;
+}
+
+static int is_hotpluggable_subsystem(const char *name)
+{
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(hotplug_subsystems); i++)
+ if (strcmp(name, hotplug_subsystems[i]) == 0)
+ return 1;
+
+ return 0;
+}
+
+#define SUBSYSTEM_LINKNAME "/subsystem"
+
+/*
+ * For example:
+ *
+ * chain: /sys/dev/block/../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/ \
+ * 1-1.2:1.0/host65/target65:0:0/65:0:0:0/block/sdb
+ *
+ * The function check if <chain>/subsystem symlink exists, if yes then returns
+ * basename of the readlink result, and remove the last subdirectory from the
+ * <chain> path.
+ */
+static char *get_subsystem(char *chain, char *buf, size_t bufsz)
+{
+ size_t len;
+ char *p;
+
+ if (!chain || !*chain)
+ return NULL;
+
+ len = strlen(chain);
+ if (len + sizeof(SUBSYSTEM_LINKNAME) > PATH_MAX)
+ return NULL;
+
+ do {
+ ssize_t sz;
+
+ /* append "/subsystem" to the path */
+ memcpy(chain + len, SUBSYSTEM_LINKNAME, sizeof(SUBSYSTEM_LINKNAME));
+
+ /* try if subsystem symlink exists */
+ sz = readlink(chain, buf, bufsz);
+
+ /* remove last subsystem from chain */
+ chain[len] = '\0';
+ p = strrchr(chain, '/');
+ if (p) {
+ *p = '\0';
+ len = p - chain;
+ }
+
+ if (sz > 0) {
+ /* we found symlink to subsystem, return basename */
+ buf[sz] = '\0';
+ return basename(buf);
+ }
+
+ } while (p);
+
+ return NULL;
+}
+
+static int is_hotpluggable(const char* device)
+{
+ struct sysfs_cxt cxt = UL_SYSFSCXT_EMPTY;
+ char devchain[PATH_MAX];
+ char subbuf[PATH_MAX];
+ dev_t devno;
+ int rc = 0;
+ ssize_t sz;
+ char *sub;
+
+ devno = sysfs_devname_to_devno(device, NULL);
+ if (sysfs_init(&cxt, devno, NULL) != 0)
+ return 0;
+
+ /* check /sys/dev/block/<maj>:<min>/removable attribute */
+ if (sysfs_read_int(&cxt, "removable", &rc) == 0 && rc == 1) {
+ verbose(_("%s: is removable device"), device);
+ goto done;
+ }
+
+ /* read /sys/dev/block/<maj>:<min> symlink */
+ sz = sysfs_readlink(&cxt, NULL, devchain, sizeof(devchain));
+ if (sz <= 0 || sz + sizeof(_PATH_SYS_DEVBLOCK "/") > sizeof(devchain))
+ goto done;
+
+ devchain[sz++] = '\0';
+
+ /* create absolute patch from the link */
+ memmove(devchain + sizeof(_PATH_SYS_DEVBLOCK "/") - 1, devchain, sz);
+ memcpy(devchain, _PATH_SYS_DEVBLOCK "/",
+ sizeof(_PATH_SYS_DEVBLOCK "/") - 1);
+
+ while ((sub = get_subsystem(devchain, subbuf, sizeof(subbuf)))) {
+ rc = is_hotpluggable_subsystem(sub);
+ if (rc) {
+ verbose(_("%s: connected by hotplug subsystem: %s"),
+ device, sub);
+ break;
+ }
+ }
+
+done:
+ sysfs_deinit(&cxt);
+ return rc;
+}
+
+
+/* handle -x option */
+static void set_device_speed(char *name)
+{
+ int fd;
+
+ if (!x_option)
+ return;
+
+ if (x_arg == 0)
+ verbose(_("setting CD-ROM speed to auto"));
+ else
+ verbose(_("setting CD-ROM speed to %ldX"), x_arg);
+
+ fd = open_device(name);
+ select_speed(fd, x_arg);
+ exit(EXIT_SUCCESS);
+}
+
+
+/* main program */
+int main(int argc, char **argv)
+{
+ char *device = NULL;
+ char *disk = NULL;
+ char *mountpoint = NULL;
+ int worked = 0; /* set to 1 when successfully ejected */
+ int fd; /* file descriptor for device */
+
+ setlocale(LC_ALL,"");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ /* parse the command line arguments */
+ parse_args(argc, argv, &device);
+
+ /* handle -d option */
+ if (d_option) {
+ info(_("default device: `%s'"), EJECT_DEFAULT_DEVICE);
+ return EXIT_SUCCESS;
+ }
+
+ if (!device) {
+ device = mnt_resolve_path(EJECT_DEFAULT_DEVICE, NULL);
+ verbose(_("using default device `%s'"), device);
+ } else {
+ char *p;
+
+ if (device[strlen(device)-1] == '/')
+ device[strlen(device)-1] = '\0';
+
+ /* figure out full device or mount point name */
+ p = find_device(device);
+ if (p)
+ free(device);
+ else
+ p = device;
+
+ device = mnt_resolve_spec(p, NULL);
+ free(p);
+ }
+
+ if (!device)
+ errx(EXIT_FAILURE, _("%s: unable to find device"), device);
+
+ verbose(_("device name is `%s'"), device);
+
+ device_get_mountpoint(&device, &mountpoint);
+ if (mountpoint)
+ verbose(_("%s: mounted on %s"), device, mountpoint);
+ else
+ verbose(_("%s: not mounted"), device);
+
+ disk = get_disk_devname(device);
+ if (disk) {
+ verbose(_("%s: disc device: %s (disk device will be used for eject)"), device, disk);
+ free(device);
+ device = disk;
+ disk = NULL;
+ } else {
+ struct stat st;
+
+ if (stat(device, &st) != 0 || !S_ISBLK(st.st_mode))
+ errx(EXIT_FAILURE, _("%s: not found mountpoint or device "
+ "with the given name"), device);
+
+ verbose(_("%s: is whole-disk device"), device);
+ }
+
+ if (F_option == 0 && is_hotpluggable(device) == 0)
+ errx(EXIT_FAILURE, _("%s: is not hot-pluggable device"), device);
+
+ /* handle -n option */
+ if (n_option) {
+ info(_("device is `%s'"), device);
+ verbose(_("exiting due to -n/--noop option"));
+ return EXIT_SUCCESS;
+ }
+
+ /* handle -i option */
+ if (i_option) {
+ fd = open_device(device);
+ manual_eject(fd, i_arg);
+ return EXIT_SUCCESS;
+ }
+
+ /* handle -a option */
+ if (a_option) {
+ if (a_arg)
+ verbose(_("%s: enabling auto-eject mode"), device);
+ else
+ verbose(_("%s: disabling auto-eject mode"), device);
+ fd = open_device(device);
+ auto_eject(fd, a_arg);
+ return EXIT_SUCCESS;
+ }
+
+ /* handle -t option */
+ if (t_option) {
+ verbose(_("%s: closing tray"), device);
+ fd = open_device(device);
+ close_tray(fd);
+ set_device_speed(device);
+ return EXIT_SUCCESS;
+ }
+
+ /* handle -T option */
+ if (T_option) {
+ verbose(_("%s: toggling tray"), device);
+ fd = open_device(device);
+ toggle_tray(fd);
+ set_device_speed(device);
+ return EXIT_SUCCESS;
+ }
+
+ /* handle -X option */
+ if (X_option) {
+ verbose(_("%s: listing CD-ROM speed"), device);
+ fd = open_device(device);
+ list_speeds(device, fd);
+ return EXIT_SUCCESS;
+ }
+
+ /* handle -x option only */
+ if (!c_option)
+ set_device_speed(device);
+
+
+ /*
+ * Unmount all partitions if -m is not specified; or umount given
+ * mountpoint if -M is specified, otherwise print error of another
+ * partition is mounted.
+ */
+ if (!m_option) {
+ int ct = umount_partitions(device, M_option);
+
+ if (ct == 0 && mountpoint)
+ umount_one(mountpoint); /* probably whole-device */
+
+ if (M_option) {
+ if (ct == 1 && mountpoint)
+ umount_one(mountpoint);
+ else if (ct)
+ errx(EXIT_FAILURE, _("error: %s: device in use"), device);
+ }
+ }
+
+ /* handle -c option */
+ if (c_option) {
+ verbose(_("%s: selecting CD-ROM disc #%ld"), device, c_arg);
+ fd = open_device(device);
+ changer_select(fd, c_arg);
+ set_device_speed(device);
+ return EXIT_SUCCESS;
+ }
+
+ /* if user did not specify type of eject, try all four methods */
+ if (r_option + s_option + f_option + q_option == 0)
+ r_option = s_option = f_option = q_option = 1;
+
+ /* open device */
+ fd = open_device(device);
+
+ /* try various methods of ejecting until it works */
+ if (r_option) {
+ verbose(_("%s: trying to eject using CD-ROM eject command"), device);
+ worked = eject_cdrom(fd);
+ verbose(worked ? _("CD-ROM eject command succeeded") :
+ _("CD-ROM eject command failed"));
+ }
+
+ if (s_option && !worked) {
+ verbose(_("%s: trying to eject using SCSI commands"), device);
+ worked = eject_scsi(fd);
+ verbose(worked ? _("SCSI eject succeeded") :
+ _("SCSI eject failed"));
+ }
+
+ if (f_option && !worked) {
+ verbose(_("%s: trying to eject using floppy eject command"), device);
+ worked = eject_floppy(fd);
+ verbose(worked ? _("floppy eject command succeeded") :
+ _("floppy eject command failed"));
+ }
+
+ if (q_option && !worked) {
+ verbose(_("%s: trying to eject using tape offline command"), device);
+ worked = eject_tape(fd);
+ verbose(worked ? _("tape offline command succeeded") :
+ _("tape offline command failed"));
+ }
+
+ if (!worked)
+ errx(EXIT_FAILURE, _("unable to eject"));
+
+ /* cleanup */
+ close(fd);
+ free(device);
+ free(mountpoint);
+
+ mnt_free_table(mtab);
+ mnt_free_cache(cache);
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/fallocate.1 b/sys-utils/fallocate.1
new file mode 100644
index 0000000..4952334
--- /dev/null
+++ b/sys-utils/fallocate.1
@@ -0,0 +1,62 @@
+.\" -*- nroff -*-
+.TH FALLOCATE 1 "September 2011" "util-linux" "User Commands"
+.SH NAME
+fallocate \- preallocate space to a file
+.SH SYNOPSIS
+.B fallocate
+.RB [ \-n ]
+.RB [ \-p ]
+.RB [ \-o
+.IR offset ]
+.B \-l
+.IR length
+.I filename
+.SH DESCRIPTION
+.B fallocate
+is used to preallocate blocks to a file. For filesystems which support the
+fallocate system call, this is done quickly by allocating blocks and marking
+them as uninitialized, requiring no IO to the data blocks. This is much faster
+than creating a file by filling it with zeros.
+.PP
+As of the Linux Kernel v2.6.31, the fallocate system call is supported by the
+btrfs, ext4, ocfs2, and xfs filesystems.
+.PP
+The exit code returned by
+.B fallocate
+is 0 on success and 1 on failure.
+.PP
+.SH OPTIONS
+The \fIlength\fR and \fIoffset\fR arguments may be followed by the multiplicative
+suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB
+(the "iB" is optional, e.g. "K" has the same meaning as "KiB") or the suffixes
+KB=1000, MB=1000*1000, and so on for GB, PB, EB, ZB and YB.
+.IP "\fB\-n, \-\-keep-size\fP"
+Do not modify the apparent length of the file. This may effectively allocate
+blocks past EOF, which can be removed with a truncate.
+.IP "\fB\-p, \-\-punch-hole\fP"
+Punch holes in the file, the range should not exceed the length of the file.
+.IP "\fB\-o, \-\-offset\fP \fIoffset\fP
+Specifies the beginning offset of the allocation, in bytes.
+.IP "\fB\-l, \-\-length\fP \fIlength\fP
+Specifies the length of the allocation, in bytes.
+.IP "\fB\-h, \-\-help\fP"
+Print help and exit.
+.IP "\fB-V, \-\-version"
+Print version and exit.
+.SH AUTHORS
+.UR sandeen@redhat.com
+Eric Sandeen
+.UE
+.br
+.UR kzak@redhat.com
+Karel Zak
+.UE
+.SH SEE ALSO
+.BR fallocate (2),
+.BR posix_fallocate (3),
+.BR truncate (1)
+.SH AVAILABILITY
+The fallocate command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/fallocate.c b/sys-utils/fallocate.c
new file mode 100644
index 0000000..ff0f9e6
--- /dev/null
+++ b/sys-utils/fallocate.c
@@ -0,0 +1,173 @@
+/*
+ * fallocate - utility to use the fallocate system call
+ *
+ * Copyright (C) 2008-2009 Red Hat, Inc. All rights reserved.
+ * Written by Eric Sandeen <sandeen@redhat.com>
+ * Karel Zak <kzak@redhat.com>
+ *
+ * cvtnum routine taken from xfsprogs,
+ * Copyright (c) 2003-2005 Silicon Graphics, Inc.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <limits.h>
+
+#ifndef HAVE_FALLOCATE
+# include <sys/syscall.h>
+#endif
+
+#ifdef HAVE_LINUX_FALLOC_H
+# include <linux/falloc.h> /* for FALLOC_FL_* flags */
+#endif
+
+#ifndef FALLOC_FL_KEEP_SIZE
+# define FALLOC_FL_KEEP_SIZE 1
+#endif
+
+#ifndef FALLOC_FL_PUNCH_HOLE
+# define FALLOC_FL_PUNCH_HOLE 2
+#endif
+
+#include "nls.h"
+#include "strutils.h"
+#include "c.h"
+#include "closestream.h"
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %s [options] <filename>\n"), program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -n, --keep-size don't modify the length of the file\n"
+ " -p, --punch-hole punch holes in the file\n"
+ " -o, --offset <num> offset of the allocation, in bytes\n"
+ " -l, --length <num> length of the allocation, in bytes\n"), out);
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("fallocate(1)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static loff_t cvtnum(char *s)
+{
+ uintmax_t x;
+
+ if (strtosize(s, &x))
+ return -1LL;
+
+ return x;
+}
+
+int main(int argc, char **argv)
+{
+ char *fname;
+ int c;
+ int error;
+ int fd;
+ int mode = 0;
+ loff_t length = -2LL;
+ loff_t offset = 0;
+
+ static const struct option longopts[] = {
+ { "help", 0, 0, 'h' },
+ { "version", 0, 0, 'V' },
+ { "keep-size", 0, 0, 'n' },
+ { "punch-hole", 0, 0, 'p' },
+ { "offset", 1, 0, 'o' },
+ { "length", 1, 0, 'l' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "hVnpl:o:", longopts, NULL)) != -1) {
+ switch(c) {
+ case 'h':
+ usage(stdout);
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'p':
+ mode |= FALLOC_FL_PUNCH_HOLE;
+ /* fall through */
+ case 'n':
+ mode |= FALLOC_FL_KEEP_SIZE;
+ break;
+ case 'l':
+ length = cvtnum(optarg);
+ break;
+ case 'o':
+ offset = cvtnum(optarg);
+ break;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ if (length == -2LL)
+ errx(EXIT_FAILURE, _("no length argument specified"));
+ if (length <= 0)
+ errx(EXIT_FAILURE, _("invalid length value specified"));
+ if (offset < 0)
+ errx(EXIT_FAILURE, _("invalid offset value specified"));
+ if (optind == argc)
+ errx(EXIT_FAILURE, _("no filename specified."));
+
+ fname = argv[optind++];
+
+ if (optind != argc) {
+ warnx(_("unexpected number of arguments"));
+ usage(stderr);
+ }
+
+ fd = open(fname, O_WRONLY|O_CREAT, 0644);
+ if (fd < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), fname);
+
+#ifdef HAVE_FALLOCATE
+ error = fallocate(fd, mode, offset, length);
+#else
+ error = syscall(SYS_fallocate, fd, mode, offset, length);
+#endif
+ /*
+ * EOPNOTSUPP: The FALLOC_FL_KEEP_SIZE is unsupported
+ * ENOSYS: The filesystem does not support sys_fallocate
+ */
+ if (error < 0) {
+ if ((mode & FALLOC_FL_KEEP_SIZE) && errno == EOPNOTSUPP)
+ errx(EXIT_FAILURE,
+ _("keep size mode (-n option) unsupported"));
+ err(EXIT_FAILURE, _("%s: fallocate failed"), fname);
+ }
+
+ close(fd);
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/flock.1 b/sys-utils/flock.1
new file mode 100644
index 0000000..b50c619
--- /dev/null
+++ b/sys-utils/flock.1
@@ -0,0 +1,166 @@
+.\" -----------------------------------------------------------------------
+.\"
+.\" Copyright 2003-2006 H. Peter Anvin - All Rights Reserved
+.\"
+.\" Permission is hereby granted, free of charge, to any person
+.\" obtaining a copy of this software and associated documentation
+.\" files (the "Software"), to deal in the Software without
+.\" restriction, including without limitation the rights to use,
+.\" copy, modify, merge, publish, distribute, sublicense, and/or
+.\" sell copies of the Software, and to permit persons to whom
+.\" the Software is furnished to do so, subject to the following
+.\" conditions:
+.\"
+.\" The above copyright notice and this permission notice shall
+.\" be included in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+.\" OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+.\" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+.\" HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" -----------------------------------------------------------------------
+.TH FLOCK 1 "September 2011" "util-linux" "User Commands"
+.SH NAME
+flock \- manage locks from shell scripts
+.SH SYNOPSIS
+.B flock
+[options] <file> -c <command>
+.br
+.B flock
+[options] <directory> -c <command>
+.br
+.B flock
+[options] <file descriptor number>
+.SH DESCRIPTION
+.PP
+This utility manages
+.BR flock (2)
+locks from within shell scripts or the command line.
+.PP
+The first and second forms wrap the lock around the executing a command, in
+a manner similar to
+.BR su (1)
+or
+.BR newgrp (1).
+It locks a specified file or directory, which is created (assuming
+appropriate permissions), if it does not already exist. By default, if the
+lock cannot be immediately acquired,
+.B flock
+waits until the lock is available.
+.PP
+The third form uses open file by file descriptor number. See examples how
+that can be used.
+.SH OPTIONS
+.TP
+\fB\-s\fP, \fB\-\-shared\fP
+Obtain a shared lock, sometimes called a read lock.
+.TP
+\fB\-x\fP, \fB\-e\fP, \fB\-\-exclusive\fP
+Obtain an exclusive lock, sometimes called a write lock. This is the
+default.
+.TP
+\fB\-u\fP, \fB\-\-unlock\fP
+Drop a lock. This is usually not required, since a lock is automatically
+dropped when the file is closed. However, it may be required in special
+cases, for example if the enclosed command group may have forked a background
+process which should not be holding the lock.
+.TP
+\fB\-n\fP, \fB\-\-nb\fP, \fB\-\-nonblock\fP
+Fail rather than wait if the lock cannot be
+immediately acquired.
+See the
+.I \-E
+option for the exit code used.
+.TP
+\fB\-w\fP, \fB\-\-wait\fP, \fB\-\-timeout\fP \fIseconds\fP
+Fail if the lock cannot be acquired within
+.IR seconds .
+Decimal fractional values are allowed.
+See the
+.I \-E
+option for the exit code used.
+.TP
+\fB\-o\fP, \fB\-\-close\fP
+Close the file descriptor on which the lock is held before executing
+.BR command\ .
+This is useful if
+.B command
+spawns a child process which should not be holding the lock.
+.TP
+\fB\-E\fP, \fB\-\-conflict\-exit\-code\fP \fInumber\fP
+The exit code used when the \fB\-n\fP option is in use, and the
+conflicting lock exists, or the \fB\-w\fP option is in use,
+and the timeout is reached. The default value is 1.
+.TP
+\fB\-c\fP, \fB\-\-command\fP \fIcommand\fP
+Pass a single
+.IR command ,
+without arguments, to the shell with
+.BR -c .
+.TP
+\fB\-h\fP, \fB\-\-help\fP
+Print a help message.
+.IP "\fB\-V, \-\-version\fP"
+Show version number and exit.
+.SH EXAMPLES
+.TP
+shell1> flock /tmp -c cat
+.TQ
+shell2> flock -w .007 /tmp -c echo; /bin/echo $?
+Set exclusive lock to directory /tmp and the second command will fail.
+.TP
+shell1> flock -s /tmp -c cat
+.TQ
+shell2> flock -s -w .007 /tmp -c echo; /bin/echo $?
+Set shared lock to directory /tmp and the second command will not fail.
+Notice that attempting to get exclusive lock with second command would fail.
+.TP
+(
+.TQ
+ flock -n 9 || exit 1
+.TQ
+ # ... commands executed under lock ...
+.TQ
+) 9>/var/lock/mylockfile
+The form is convenient inside shell scripts. The mode used to open the file
+doesn't matter to
+.BR flock ;
+using
+.I >
+or
+.I >>
+allows the lockfile to be created if it does not already exist, however,
+write permission is required. Using
+.I <
+requires that the file already exists but only read permission is required.
+.SH "EXIT STATUS"
+The command uses
+.B sysexits.h
+return values for everything else but an options
+.I \-n
+or
+.I \-w
+failures which return either the value given by the
+.I \-E
+option, or 1 by default.
+.SH AUTHOR
+.UR hpa@zytor.com
+H. Peter Anvin
+.UE
+.SH COPYRIGHT
+Copyright \(co 2003\-2006 H. Peter Anvin.
+.br
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.SH "SEE ALSO"
+.BR flock (2)
+.SH AVAILABILITY
+The flock command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/flock.c b/sys-utils/flock.c
new file mode 100644
index 0000000..5a3422a
--- /dev/null
+++ b/sys-utils/flock.c
@@ -0,0 +1,343 @@
+/* Copyright 2003-2005 H. Peter Anvin - All Rights Reserved
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall
+ * be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <paths.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sysexits.h>
+#include <sys/file.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "nls.h"
+#include "strutils.h"
+#include "closestream.h"
+
+static void __attribute__((__noreturn__)) usage(int ex)
+{
+ fprintf(stderr, USAGE_HEADER);
+ fprintf(stderr,
+ _(" %1$s [options] <file descriptor number>\n"
+ " %1$s [options] <file> -c <command>\n"
+ " %1$s [options} <directory> -c <command>\n"),
+ program_invocation_short_name);
+ fputs(USAGE_OPTIONS, stderr);
+ fputs(_( " -s --shared get a shared lock\n"), stderr);
+ fputs(_( " -x --exclusive get an exclusive lock (default)\n"), stderr);
+ fputs(_( " -u --unlock remove a lock\n"), stderr);
+ fputs(_( " -n --nonblock fail rather than wait\n"), stderr);
+ fputs(_( " -w --timeout <secs> wait for a limited amount of time\n"), stderr);
+ fputs(_( " -E --conflict-exit-code <number> exit code after conflict or timeout\n"), stderr);
+ fputs(_( " -o --close close file descriptor before running command\n"), stderr);
+ fputs(_( " -c --command <command> run a single command string through the shell\n"), stderr);
+ fprintf(stderr, USAGE_SEPARATOR);
+ fprintf(stderr, USAGE_HELP);
+ fprintf(stderr, USAGE_VERSION);
+ fprintf(stderr, USAGE_MAN_TAIL("flock(1)"));
+ exit(ex);
+}
+
+static sig_atomic_t timeout_expired = 0;
+
+static void timeout_handler(int sig __attribute__((__unused__)))
+{
+ timeout_expired = 1;
+}
+
+static void strtotimeval(const char *str, struct timeval *tv)
+{
+ double user_input;
+
+ user_input = strtod_or_err(str, "bad number");
+ tv->tv_sec = (time_t) user_input;
+ tv->tv_usec = (long)((user_input - tv->tv_sec) * 1000000);
+ if ((tv->tv_sec + tv->tv_usec) == 0)
+ errx(EX_USAGE, _("timeout cannot be zero"));
+}
+
+static void setup_timer(struct itimerval *timer, struct itimerval *old_timer,
+ struct sigaction *sa, struct sigaction *old_sa)
+{
+ memset(sa, 0, sizeof *sa);
+ sa->sa_handler = timeout_handler;
+ sa->sa_flags = SA_RESETHAND;
+ sigaction(SIGALRM, sa, old_sa);
+ setitimer(ITIMER_REAL, timer, old_timer);
+}
+
+static void cancel_timer(struct itimerval *old_timer, struct sigaction *old_sa)
+{
+ setitimer(ITIMER_REAL, old_timer, NULL);
+ sigaction(SIGALRM, old_sa, NULL);
+}
+
+static int open_file(const char *filename, int *flags)
+{
+
+ int fd;
+ int fl = *flags == 0 ? O_RDONLY : *flags;
+
+ errno = 0;
+ fl |= O_NOCTTY | O_CREAT;
+ fd = open(filename, fl, 0666);
+
+ /* Linux doesn't like O_CREAT on a directory, even though it
+ * should be a no-op; POSIX doesn't allow O_RDWR or O_WRONLY
+ */
+ if (fd < 0 && errno == EISDIR) {
+ fl = O_RDONLY | O_NOCTTY;
+ fd = open(filename, fl);
+ }
+ if (fd < 0) {
+ warn(_("cannot open lock file %s"), filename);
+ if (errno == ENOMEM || errno == EMFILE || errno == ENFILE)
+ exit(EX_OSERR);
+ if (errno == EROFS || errno == ENOSPC)
+ exit(EX_CANTCREAT);
+ exit(EX_NOINPUT);
+ }
+ *flags = fl;
+ return fd;
+}
+
+int main(int argc, char *argv[])
+{
+ struct itimerval timeout, old_timer;
+ int have_timeout = 0;
+ int type = LOCK_EX;
+ int block = 0;
+ int open_flags = 0;
+ int fd = -1;
+ int opt, ix;
+ int do_close = 0;
+ int status;
+ /*
+ * The default exit code for lock conflict or timeout
+ * is specified in man flock.1
+ */
+ int conflict_exit_code = 1;
+ char **cmd_argv = NULL, *sh_c_argv[4];
+ const char *filename = NULL;
+ struct sigaction sa, old_sa;
+
+ static const struct option long_options[] = {
+ {"shared", no_argument, NULL, 's'},
+ {"exclusive", no_argument, NULL, 'x'},
+ {"unlock", no_argument, NULL, 'u'},
+ {"nonblocking", no_argument, NULL, 'n'},
+ {"nb", no_argument, NULL, 'n'},
+ {"timeout", required_argument, NULL, 'w'},
+ {"wait", required_argument, NULL, 'w'},
+ {"conflict-exit-code", required_argument, NULL, 'E'},
+ {"close", no_argument, NULL, 'o'},
+ {"help", no_argument, NULL, 'h'},
+ {"version", no_argument, NULL, 'V'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc < 2)
+ usage(EX_USAGE);
+
+ memset(&timeout, 0, sizeof timeout);
+
+ optopt = 0;
+ while ((opt =
+ getopt_long(argc, argv, "+sexnouw:E:hV?", long_options,
+ &ix)) != EOF) {
+ switch (opt) {
+ case 's':
+ type = LOCK_SH;
+ break;
+ case 'e':
+ case 'x':
+ type = LOCK_EX;
+ break;
+ case 'u':
+ type = LOCK_UN;
+ break;
+ case 'o':
+ do_close = 1;
+ break;
+ case 'n':
+ block = LOCK_NB;
+ break;
+ case 'w':
+ have_timeout = 1;
+ strtotimeval(optarg, &timeout.it_value);
+ break;
+ case 'E':
+ conflict_exit_code = strtos32_or_err(optarg,
+ _("invalid exit code"));
+ break;
+ case 'V':
+ printf("flock (%s)\n", PACKAGE_STRING);
+ exit(EX_OK);
+ default:
+ /* optopt will be set if this was an unrecognized
+ * option, i.e. *not* 'h' or '?
+ */
+ usage(optopt ? EX_USAGE : 0);
+ break;
+ }
+ }
+
+ if (argc > optind + 1) {
+ /* Run command */
+ if (!strcmp(argv[optind + 1], "-c") ||
+ !strcmp(argv[optind + 1], "--command")) {
+ if (argc != optind + 3)
+ errx(EX_USAGE,
+ _("%s requires exactly one command argument"),
+ argv[optind + 1]);
+ cmd_argv = sh_c_argv;
+ cmd_argv[0] = getenv("SHELL");
+ if (!cmd_argv[0] || !*cmd_argv[0])
+ cmd_argv[0] = _PATH_BSHELL;
+ cmd_argv[1] = "-c";
+ cmd_argv[2] = argv[optind + 2];
+ cmd_argv[3] = 0;
+ } else {
+ cmd_argv = &argv[optind + 1];
+ }
+
+ filename = argv[optind];
+ fd = open_file(filename, &open_flags);
+
+ } else if (optind < argc) {
+ /* Use provided file descriptor */
+ fd = (int)strtol_or_err(argv[optind], "bad number");
+ } else {
+ /* Bad options */
+ errx(EX_USAGE, _("requires file descriptor, file or directory"));
+ }
+
+ if (have_timeout) {
+ if (timeout.it_value.tv_sec == 0 &&
+ timeout.it_value.tv_usec == 0) {
+ /* -w 0 is equivalent to -n; this has to be
+ * special-cased because setting an itimer to zero
+ * means disabled!
+ */
+ have_timeout = 0;
+ block = LOCK_NB;
+ } else
+ setup_timer(&timeout, &old_timer, &sa, &old_sa);
+ }
+
+ while (flock(fd, type | block)) {
+ switch (errno) {
+ case EWOULDBLOCK:
+ /* -n option set and failed to lock. */
+ exit(conflict_exit_code);
+ case EINTR:
+ /* Signal received */
+ if (timeout_expired)
+ /* -w option set and failed to lock. */
+ exit(conflict_exit_code);
+ /* otherwise try again */
+ continue;
+ case EIO:
+ /* Probably NFSv4 where flock() is emulated by fcntl().
+ * Let's try to reopen in read-write mode.
+ */
+ if (!(open_flags & O_RDWR) &&
+ type != LOCK_SH &&
+ access(filename, R_OK | W_OK) == 0) {
+
+ close(fd);
+ open_flags = O_RDWR;
+ fd = open_file(filename, &open_flags);
+
+ if (open_flags & O_RDWR)
+ break;
+ }
+ /* go through */
+ default:
+ /* Other errors */
+ if (filename)
+ warn("%s", filename);
+ else
+ warn("%d", fd);
+ exit((errno == ENOLCK
+ || errno == ENOMEM) ? EX_OSERR : EX_DATAERR);
+ }
+ }
+
+ if (have_timeout)
+ cancel_timer(&old_timer, &old_sa);
+
+ status = EX_OK;
+
+ if (cmd_argv) {
+ pid_t w, f;
+ /* Clear any inherited settings */
+ signal(SIGCHLD, SIG_DFL);
+ f = fork();
+
+ if (f < 0) {
+ err(EX_OSERR, _("fork failed"));
+ } else if (f == 0) {
+ if (do_close)
+ close(fd);
+ execvp(cmd_argv[0], cmd_argv);
+ /* execvp() failed */
+ warn("%s", cmd_argv[0]);
+ _exit((errno == ENOMEM) ? EX_OSERR : EX_UNAVAILABLE);
+ } else {
+ do {
+ w = waitpid(f, &status, 0);
+ if (w == -1 && errno != EINTR)
+ break;
+ } while (w != f);
+
+ if (w == -1) {
+ status = EXIT_FAILURE;
+ warn(_("waitpid failed"));
+ } else if (WIFEXITED(status))
+ status = WEXITSTATUS(status);
+ else if (WIFSIGNALED(status))
+ status = WTERMSIG(status) + 128;
+ else
+ /* WTF? */
+ status = EX_OSERR;
+ }
+ }
+
+ return status;
+}
diff --git a/sys-utils/fsfreeze.8 b/sys-utils/fsfreeze.8
new file mode 100644
index 0000000..7693861
--- /dev/null
+++ b/sys-utils/fsfreeze.8
@@ -0,0 +1,73 @@
+.\" -*- nroff -*-
+.TH FSFREEZE 8 "May 2010" "util-linux" "System Administration"
+.SH NAME
+fsfreeze \- suspend access to a filesystem (Linux Ext3/4, ReiserFS, JFS, XFS)
+.SH SYNOPSIS
+.B fsfreeze \-f
+.I mountpoint
+
+.B fsfreeze \-u
+.I mountpoint
+
+.SH DESCRIPTION
+.B fsfreeze
+suspends and resumes access to an filesystem
+.PP
+.B fsfreeze
+halts new access to the filesystem and creates a stable image on disk.
+.B fsfreeze
+is intended to be used with hardware RAID devices that support the creation
+of snapshots.
+.PP
+.B fsfreeze
+is unnecessary for
+.B device-mapper
+devices. The device-mapper (and LVM)
+automatically freezes filesystem on the device when a snapshot creation is requested.
+For more details see the
+.BR dmsetup (8)
+man page.
+.PP
+The
+.I mount-point
+argument is the pathname of the directory where the filesystem
+is mounted.
+The filesystem must be mounted to be frozen (see
+.BR mount (8)).
+.SH OPTIONS
+.IP "\fB\-h, \-\-help\fP"
+Print help and exit.
+.IP "\fB\-f, \-\-freeze\fP"
+This option requests the specified a filesystem to be frozen from new
+modifications. When this is selected, all ongoing transactions in the
+filesystem are allowed to complete, new write system calls are halted, other
+calls which modify the filesystem are halted, and all dirty data, metadata, and
+log information are written to disk. Any process attempting to write to the
+frozen filesystem will block waiting for the filesystem to be unfrozen.
+
+Note that even after freezing, the on-disk filesystem can contain
+information on files that are still in the process of unlinking.
+These files will not be unlinked until the filesystem is unfrozen
+or a clean mount of the snapshot is complete.
+.IP "\fB\-u, \-\-unfreeze\fP
+This option is used to un-freeze the filesystem and allow operations to
+continue. Any filesystem modifications that were blocked by the freeze are
+unblocked and allowed to complete.
+.SH AUTHOR
+.PP
+Written by Hajime Taira.
+.SH NOTES
+.PP
+This man page based on xfs_freeze.
+One of
+.B \-f
+or
+.B \-u
+must be supplied to
+.BR fsfreeze .
+.SH SEE ALSO
+.BR mount (8)
+.SH AVAILABILITY
+The fsfreeze command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+
diff --git a/sys-utils/fsfreeze.c b/sys-utils/fsfreeze.c
new file mode 100644
index 0000000..7161442
--- /dev/null
+++ b/sys-utils/fsfreeze.c
@@ -0,0 +1,134 @@
+/*
+ * fsfreeze.c -- Filesystem freeze/unfreeze IO for Linux
+ *
+ * Copyright (C) 2010 Hajime Taira <htaira@redhat.com>
+ * Masatake Yamato <yamato@redhat.com>
+ *
+ * This program is free software. You can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation: either version 1 or
+ * (at your option) any later version.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <fcntl.h>
+#include <linux/fs.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <getopt.h>
+
+#include "blkdev.h"
+#include "nls.h"
+#include "closestream.h"
+#include "c.h"
+
+static int freeze_f(int fd)
+{
+ return ioctl(fd, FIFREEZE, 0);
+}
+
+static int unfreeze_f(int fd)
+{
+ return ioctl(fd, FITHAW, 0);
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] <mount point>\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -h, --help this help\n"
+ " -f, --freeze freeze the filesystem\n"
+ " -u, --unfreeze unfreeze the filesystem\n"), out);
+
+ fputs(_("\nFor more information see fsfreeze(8).\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int fd = -1, c;
+ int freeze = -1, rc = EXIT_FAILURE;
+ char *path;
+ struct stat sb;
+
+ static const struct option longopts[] = {
+ { "help", 0, 0, 'h' },
+ { "freeze", 0, 0, 'f' },
+ { "unfreeze", 0, 0, 'u' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "hfu", longopts, NULL)) != -1) {
+ switch(c) {
+ case 'h':
+ usage(stdout);
+ break;
+ case 'f':
+ freeze = TRUE;
+ break;
+ case 'u':
+ freeze = FALSE;
+ break;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ if (freeze == -1)
+ errx(EXIT_FAILURE, _("no action specified"));
+ if (optind == argc)
+ errx(EXIT_FAILURE, _("no filename specified"));
+ path = argv[optind++];
+
+ if (optind != argc) {
+ warnx(_("unexpected number of arguments"));
+ usage(stderr);
+ }
+
+ fd = open(path, O_RDONLY);
+ if (fd < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), path);
+
+ if (fstat(fd, &sb) == -1) {
+ warn(_("stat failed %s"), path);
+ goto done;
+ }
+
+ if (!S_ISDIR(sb.st_mode)) {
+ warnx(_("%s: is not a directory"), path);
+ goto done;
+ }
+
+ if (freeze) {
+ if (freeze_f(fd)) {
+ warn(_("%s: freeze failed"), path);
+ goto done;
+ }
+ } else {
+ if (unfreeze_f(fd)) {
+ warn(_("%s: unfreeze failed"), path);
+ goto done;
+ }
+ }
+
+ rc = EXIT_SUCCESS;
+done:
+ if (fd >= 0)
+ close(fd);
+ return rc;
+}
+
diff --git a/sys-utils/fstab.5 b/sys-utils/fstab.5
new file mode 100644
index 0000000..91c3157
--- /dev/null
+++ b/sys-utils/fstab.5
@@ -0,0 +1,271 @@
+.\" Copyright (c) 1980, 1989, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)fstab.5 6.5 (Berkeley) 5/10/91
+.\"
+.\" Modified Sat Mar 6 20:45:03 1993, faith@cs.unc.edu, for Linux
+.\" Sat Oct 9 10:07:10 1993: converted to man format by faith@cs.unc.edu
+.\" Sat Nov 20 20:47:38 1993: hpfs documentation added
+.\" Sat Nov 27 20:23:32 1993: Updated authorship information
+.\" Wed Jul 26 00:00:00 1995: Updated some nfs stuff, joey@infodrom.north.de
+.\" Tue Apr 2 00:38:28 1996: added info about "noauto", "user", etc.
+.\" Tue Jun 15 20:02:18 1999: added LABEL and UUID
+.\" Sat Jul 14 2001: Michael K. Johnson <johnsonm@redhat.com> added -O
+.\"
+.TH FSTAB 5 "August 2010" "util-linux" "File Formats"
+.SH NAME
+fstab \- static information about the filesystems
+.SH SYNOPSIS
+.B /etc/fstab
+.SH DESCRIPTION
+The file
+.B fstab
+contains descriptive information about the various file systems.
+.B fstab
+is only read by programs, and not written; it is the duty of the system
+administrator to properly create and maintain this file. Each filesystem
+is described on a separate line; fields on each line are separated by tabs or
+spaces. Lines starting with '#' are comments, blank lines are ignored. The
+order of records in
+.B fstab
+is important because
+.BR fsck (8),
+.BR mount (8),
+and
+.BR umount (8)
+sequentially iterate through
+.B fstab
+doing their thing.
+
+.B The first field
+.RI ( fs_spec ).
+.RS
+This field describes the block special device or
+remote filesystem to be mounted.
+.LP
+For ordinary mounts it will hold (a link to) a block special
+device node (as created by
+.BR mknod (8))
+for the device to be mounted, like `/dev/cdrom' or `/dev/sdb7'.
+For NFS mounts one will have <host>:<dir>, e.g., `knuth.aeb.nl:/'.
+For procfs, use `proc'.
+.LP
+Instead of giving the device explicitly, one may indicate
+the filesystem that is to be mounted by its UUID or
+LABEL (cf.
+.BR e2label (8)
+or
+.BR xfs_admin (8)),
+writing LABEL=<label> or UUID=<uuid>,
+e.g., `LABEL=Boot' or `UUID=3e6be9de\%-8139\%-11d1\%-9106\%-a43f08d823a6'.
+
+It's also possible to use PARTUUID= and PARTLABEL=. These partitions identifiers
+are supported for GUID Partition Table (GPT) and MAC partition table only.
+
+See
+.BR blkid (8)
+or
+.BR lsblk (8)
+for more details about devices identifiers.
+
+.LP
+Note that
+.BR mount (8)
+uses UUIDs as strings. The string representation of the UUID should be based on
+lower case characters.
+.RE
+
+.B The second field
+.RI ( fs_file ).
+.RS
+This field describes the mount point for the filesystem. For swap partitions, this
+field should be specified as `none'. If the name of the mount point
+contains spaces these can be escaped as `\\040'.
+.RE
+
+.B The third field
+.RI ( fs_vfstype ).
+.RS
+This field describes the type of the filesystem. Linux supports lots
+of filesystem types, such as
+.IR adfs ,
+.IR affs ,
+.IR autofs ,
+.IR coda ,
+.IR coherent ,
+.IR cramfs ,
+.IR devpts ,
+.IR efs ,
+.IR ext2 ,
+.IR ext3 ,
+.IR hfs ,
+.IR hpfs ,
+.IR iso9660 ,
+.IR jfs ,
+.IR minix ,
+.IR msdos ,
+.IR ncpfs ,
+.IR nfs ,
+.IR ntfs ,
+.IR proc ,
+.IR qnx4 ,
+.IR reiserfs ,
+.IR romfs ,
+.IR smbfs ,
+.IR sysv ,
+.IR tmpfs ,
+.IR udf ,
+.IR ufs ,
+.IR umsdos ,
+.IR vfat ,
+.IR xenix ,
+.IR xfs ,
+and possibly others. For more details, see
+.BR mount (8).
+
+For the filesystems currently supported by the running kernel, see
+.IR /proc/filesystems .
+
+An entry
+.I swap
+denotes a file or partition to be used
+for swapping, cf.\&
+.BR swapon (8).
+An entry
+.I none
+is useful for bind or move mounts.
+
+.BR mount (8)
+and
+.BR umount (8)
+support filesystem
+.IR subtypes .
+The subtype is defined by '.subtype' suffix. For
+example 'fuse.sshfs'. It's recommended to use subtype notation rather than add
+any prefix to the first fstab field (for example 'sshfs#example.com' is
+deprecated).
+.RE
+
+.B The fourth field
+.RI ( fs_mntops ).
+.RS
+This field describes the mount options associated with the filesystem.
+
+It is formatted as a comma separated list of options. It contains at least
+the type of mount plus any additional options appropriate to the filesystem
+type. For documentation on the available mount options, see
+.BR mount (8).
+For documentation on the available swap options, see
+.BR swapon (8).
+
+Basic file system independent options are:
+.TP
+.B defaults
+use default options: rw, suid, dev, exec, auto, nouser, and async.
+.TP
+.B noauto
+do not mount when "mount -a" is given (e.g., at boot time)
+.TP
+.B user
+allow a user to mount
+.TP
+.B owner
+allow device owner to mount
+.TP
+.B comment
+or
+.B x-<name>
+for use by fstab-maintaining programs
+.TP
+.B nofail
+do not report errors for this device if it does not exist.
+.RE
+
+.B The fifth field
+.RI ( fs_freq ).
+.RS
+This field is used for these filesystems by the
+.BR dump (8)
+command to determine which filesystems need to be dumped. If the fifth
+field is not present, a value of zero is returned and
+.B dump
+will assume that the filesystem does not need to be dumped.
+.RE
+
+.B The sixth field
+.RI ( fs_passno ).
+.RS
+This field is used by the
+.BR fsck (8)
+program to determine the order in which filesystem checks are done at
+reboot time. The root filesystem should be specified with a
+.I fs_passno
+of 1, and other filesystems should have a
+.I fs_passno
+of 2. Filesystems within a drive will be checked sequentially, but
+filesystems on different drives will be checked at the same time to utilize
+parallelism available in the hardware. If the sixth field is not present
+or zero, a value of zero is returned and
+.B fsck
+will assume that the filesystem does not need to be checked.
+.RE
+
+.SH NOTES
+The proper way to read records from
+.B fstab
+is to use the routines
+.BR getmntent (3)
+or
+.BR libmount .
+
+The keyword
+.B ignore
+as filesystem type (3rd field) is not more supported by the pure
+libmount based mount utility (since util-linux v2.22).
+
+.SH FILES
+.IR /etc/fstab ,
+.I <fstab.h>
+.SH "SEE ALSO"
+.BR findmnt (8),
+.BR mount (8),
+.BR swapon (8),
+.BR fs (5),
+.BR getmntent (3)
+.SH HISTORY
+The ancestor of this
+.B fstab
+file format appeared in 4.0BSD.
+.\" But without comment convention, and options and vfs_type.
+.\" Instead there was a type rw/ro/rq/sw/xx, where xx is the present 'ignore'.
+.SH AVAILABILITY
+This man page is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/fstrim.8 b/sys-utils/fstrim.8
new file mode 100644
index 0000000..a235703
--- /dev/null
+++ b/sys-utils/fstrim.8
@@ -0,0 +1,85 @@
+.\" -*- nroff -*-
+.TH FSTRIM 8 "November 2010" "util-linux" "System Administration"
+.SH NAME
+fstrim \- discard unused blocks on a mounted filesystem
+.SH SYNOPSIS
+.B fstrim
+.RB [ \-o
+.IR offset ]
+.RB [ \-l
+.IR length ]
+.RB [ \-m
+.IR minimum-free-extent ]
+.RB [ \-v ]
+.I mountpoint
+
+.SH DESCRIPTION
+.B fstrim
+is used on a mounted filesystem to discard (or "trim") blocks which are not in
+use by the filesystem. This is useful for solid-state drives (SSDs) and
+thinly-provisioned storage.
+.PP
+By default,
+.B fstrim
+will discard all unused blocks in the filesystem. Options may be used to
+modify this behavior based on range or size, as explained below.
+.PP
+The
+.I mountpoint
+argument is the pathname of the directory where the filesystem
+is mounted.
+
+.SH OPTIONS
+The \fIoffset\fR, \fIlength\fR, and \fIminimum-free-extent\fR arguments may be
+followed by the multiplicative suffixes KiB=1024, MiB=1024*1024, and so on for
+GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional, e.g. "K" has the same
+meaning as "KiB") or the suffixes KB=1000, MB=1000*1000, and so on for GB, PB,
+EB, ZB and YB.
+.IP "\fB\-h, \-\-help\fP"
+Print help and exit.
+.IP "\fB\-o, \-\-offset\fP \fIoffset\fP"
+Byte offset in filesystem from which to begin searching for free blocks
+to discard. Default value is zero, starting at the beginning of the
+filesystem.
+.IP "\fB\-l, \-\-length\fP \fIlength\fP"
+Number of bytes after starting point to search for free blocks to discard.
+If the specified value extends past the end of the filesystem,
+.B fstrim
+will stop at the filesystem size boundary. Default value extends to the end
+of the filesystem.
+.IP "\fB\-m, \-\-minimum\fP \fIminimum-free-extent\fP"
+Minimum contiguous free range to discard, in bytes. (This value is internally
+rounded up to a multiple of the filesystem block size). Free ranges smaller
+than this will be ignored. By increasing this value, the fstrim operation
+will complete more quickly for filesystems with badly fragmented freespace,
+although not all blocks will be discarded. Default value is zero, discard
+every free block.
+.IP "\fB\-v, \-\-verbose\fP"
+Verbose execution. When specified
+.B fstrim
+will output the number of bytes passed from the filesystem
+down the block stack to the device for potential discard. This number is a
+maximum discard amount from the storage device's perspective, because
+.I FITRIM
+ioctl called repeated will keep sending the same sectors for discard repeatedly.
+
+.B fstrim
+will report the same potential discard bytes each time, but only sectors which
+had been written to between the discards would actually be discarded by the
+storage device. Further, the kernel block layer reserves the right to adjust
+the discard ranges to fit raid stripe geometry, non-trim capable devices in a
+LVM setup, etc. These reductions would not be reflected in fstrim_range.len
+(the
+.B --length
+option).
+
+.SH AUTHOR
+.nf
+Lukas Czerner <lczerner@redhat.com>
+Karel Zak <kzak@redhat.com>
+.fi
+.SH SEE ALSO
+.BR mount (8)
+.SH AVAILABILITY
+The fstrim command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/fstrim.c b/sys-utils/fstrim.c
new file mode 100644
index 0000000..332601d
--- /dev/null
+++ b/sys-utils/fstrim.c
@@ -0,0 +1,153 @@
+/*
+ * fstrim.c -- discard the part (or whole) of mounted filesystem.
+ *
+ * Copyright (C) 2010 Red Hat, Inc. All rights reserved.
+ * Written by Lukas Czerner <lczerner@redhat.com>
+ * Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ * This program uses FITRIM ioctl to discard parts or the whole filesystem
+ * online (mounted). You can specify range (start and length) to be
+ * discarded, or simply discard whole filesystem.
+ */
+
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <getopt.h>
+
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <linux/fs.h>
+
+#include "nls.h"
+#include "strutils.h"
+#include "c.h"
+#include "closestream.h"
+
+#ifndef FITRIM
+struct fstrim_range {
+ uint64_t start;
+ uint64_t len;
+ uint64_t minlen;
+};
+#define FITRIM _IOWR('X', 121, struct fstrim_range)
+#endif
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %s [options] <mount point>\n"), program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -o, --offset <num> offset in bytes to discard from\n"
+ " -l, --length <num> length of bytes to discard from the offset\n"
+ " -m, --minimum <num> minimum extent length to discard\n"
+ " -v, --verbose print number of discarded bytes\n"), out);
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("fstrim(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ char *path;
+ int c, fd, verbose = 0;
+ struct fstrim_range range;
+ struct stat sb;
+
+ static const struct option longopts[] = {
+ { "help", 0, 0, 'h' },
+ { "version", 0, 0, 'V' },
+ { "offset", 1, 0, 'o' },
+ { "length", 1, 0, 'l' },
+ { "minimum", 1, 0, 'm' },
+ { "verbose", 0, 0, 'v' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ memset(&range, 0, sizeof(range));
+ range.len = ULLONG_MAX;
+
+ while ((c = getopt_long(argc, argv, "hVo:l:m:v", longopts, NULL)) != -1) {
+ switch(c) {
+ case 'h':
+ usage(stdout);
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'l':
+ range.len = strtosize_or_err(optarg,
+ _("failed to parse length"));
+ break;
+ case 'o':
+ range.start = strtosize_or_err(optarg,
+ _("failed to parse offset"));
+ break;
+ case 'm':
+ range.minlen = strtosize_or_err(optarg,
+ _("failed to parse minimum extent length"));
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ if (optind == argc)
+ errx(EXIT_FAILURE, _("no mountpoint specified."));
+
+ path = argv[optind++];
+
+ if (optind != argc) {
+ warnx(_("unexpected number of arguments"));
+ usage(stderr);
+ }
+
+ if (stat(path, &sb) == -1)
+ err(EXIT_FAILURE, _("stat failed %s"), path);
+ if (!S_ISDIR(sb.st_mode))
+ errx(EXIT_FAILURE, _("%s: not a directory"), path);
+
+ fd = open(path, O_RDONLY);
+ if (fd < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), path);
+
+ if (ioctl(fd, FITRIM, &range))
+ err(EXIT_FAILURE, _("%s: FITRIM ioctl failed"), path);
+
+ if (verbose)
+ /* TRANSLATORS: The standard value here is a very large number. */
+ printf(_("%s: %" PRIu64 " bytes were trimmed\n"),
+ path, (uint64_t) range.len);
+ close(fd);
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/hwclock-cmos.c b/sys-utils/hwclock-cmos.c
new file mode 100644
index 0000000..61a15a3
--- /dev/null
+++ b/sys-utils/hwclock-cmos.c
@@ -0,0 +1,677 @@
+/*
+ * i386 CMOS starts out with 14 bytes clock data alpha has something
+ * similar, but with details depending on the machine type.
+ *
+ * byte 0: seconds 0-59
+ * byte 2: minutes 0-59
+ * byte 4: hours 0-23 in 24hr mode,
+ * 1-12 in 12hr mode, with high bit unset/set
+ * if am/pm.
+ * byte 6: weekday 1-7, Sunday=1
+ * byte 7: day of the month 1-31
+ * byte 8: month 1-12
+ * byte 9: year 0-99
+ *
+ * Numbers are stored in BCD/binary if bit 2 of byte 11 is unset/set The
+ * clock is in 12hr/24hr mode if bit 1 of byte 11 is unset/set The clock is
+ * undefined (being updated) if bit 7 of byte 10 is set. The clock is frozen
+ * (to be updated) by setting bit 7 of byte 11 Bit 7 of byte 14 indicates
+ * whether the CMOS clock is reliable: it is 1 if RTC power has been good
+ * since this bit was last read; it is 0 when the battery is dead and system
+ * power has been off.
+ *
+ * Avoid setting the RTC clock within 2 seconds of the day rollover that
+ * starts a new month or enters daylight saving time.
+ *
+ * The century situation is messy:
+ *
+ * Usually byte 50 (0x32) gives the century (in BCD, so 19 or 20 hex), but
+ * IBM PS/2 has (part of) a checksum there and uses byte 55 (0x37).
+ * Sometimes byte 127 (0x7f) or Bank 1, byte 0x48 gives the century. The
+ * original RTC will not access any century byte; some modern versions will.
+ * If a modern RTC or BIOS increments the century byte it may go from 0x19
+ * to 0x20, but in some buggy cases 0x1a is produced.
+ */
+/*
+ * A struct tm has int fields
+ * tm_sec 0-59, 60 or 61 only for leap seconds
+ * tm_min 0-59
+ * tm_hour 0-23
+ * tm_mday 1-31
+ * tm_mon 0-11
+ * tm_year number of years since 1900
+ * tm_wday 0-6, 0=Sunday
+ * tm_yday 0-365
+ * tm_isdst >0: yes, 0: no, <0: unknown
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "nls.h"
+
+#if defined(__i386__)
+# ifdef HAVE_SYS_IO_H
+# include <sys/io.h>
+# elif defined(HAVE_ASM_IO_H)
+# include <asm/io.h> /* for inb, outb */
+# else
+/*
+ * Disable cmos access; we can no longer use asm/io.h, since the kernel does
+ * not export that header.
+ */
+#undef __i386__
+void outb(int a __attribute__ ((__unused__)),
+ int b __attribute__ ((__unused__)))
+{
+}
+
+int inb(int c __attribute__ ((__unused__)))
+{
+ return 0;
+}
+#endif /* __i386__ */
+
+#elif defined(__alpha__)
+/* <asm/io.h> fails to compile, probably because of u8 etc */
+extern unsigned int inb(unsigned long port);
+extern void outb(unsigned char b, unsigned long port);
+#else
+static void outb(int a __attribute__ ((__unused__)),
+ int b __attribute__ ((__unused__)))
+{
+}
+
+static int inb(int c __attribute__ ((__unused__)))
+{
+ return 0;
+}
+#endif /* __alpha__ */
+
+#include "hwclock.h"
+
+#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
+#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
+
+/*
+ * The epoch.
+ *
+ * Unix uses 1900 as epoch for a struct tm, and 1970 for a time_t. But what
+ * was written to CMOS?
+ *
+ * Digital DECstations use 1928 - this is on a mips or alpha Digital Unix
+ * uses 1952, e.g. on AXPpxi33. Windows NT uses 1980. The ARC console
+ * expects to boot Windows NT and uses 1980. (But a Ruffian uses 1900, just
+ * like SRM.) It is reported that ALPHA_PRE_V1_2_SRM_CONSOLE uses 1958.
+ */
+#define TM_EPOCH 1900
+int cmos_epoch = 1900;
+
+/*
+ * Martin Ostermann writes:
+ *
+ * The problem with the Jensen is twofold: First, it has the clock at a
+ * different address. Secondly, it has a distinction between "local" and
+ * normal bus addresses. The local ones pertain to the hardware integrated
+ * into the chipset, like serial/parallel ports and of course, the RTC.
+ * Those need to be addressed differently. This is handled fine in the
+ * kernel, and it's not a problem, since this usually gets totally optimized
+ * by the compile. But the i/o routines of (g)libc lack this support so far.
+ * The result of this is, that the old clock program worked only on the
+ * Jensen when USE_DEV_PORT was defined, but not with the normal inb/outb
+ * functions.
+ */
+int use_dev_port = 0; /* 1 for Jensen */
+int dev_port_fd;
+unsigned short clock_ctl_addr = 0x70; /* 0x170 for Jensen */
+unsigned short clock_data_addr = 0x71; /* 0x171 for Jensen */
+
+int century_byte = 0; /* 0: don't access a century byte
+ * 50 (0x32): usual PC value
+ * 55 (0x37): PS/2
+ */
+
+#ifdef __alpha__
+int funkyTOY = 0; /* 1 for PC164/LX164/SX164 type alpha */
+#endif
+
+#ifdef __alpha
+
+static int is_in_cpuinfo(char *fmt, char *str)
+{
+ FILE *cpuinfo;
+ char field[256];
+ char format[256];
+ int found = 0;
+
+ sprintf(format, "%s : %s", fmt, "%255s");
+
+ if ((cpuinfo = fopen("/proc/cpuinfo", "r")) != NULL) {
+ while (!feof(cpuinfo)) {
+ if (fscanf(cpuinfo, format, field) == 1) {
+ if (strncmp(field, str, strlen(str)) == 0)
+ found = 1;
+ break;
+ }
+ fgets(field, 256, cpuinfo);
+ }
+ fclose(cpuinfo);
+ }
+ return found;
+}
+
+/*
+ * Set cmos_epoch, either from user options, or by asking the kernel, or by
+ * looking at /proc/cpu_info
+ */
+void set_cmos_epoch(int ARCconsole, int SRM)
+{
+ unsigned long epoch;
+
+ /* Believe the user */
+ if (epoch_option != -1) {
+ cmos_epoch = epoch_option;
+ return;
+ }
+
+ if (ARCconsole)
+ cmos_epoch = 1980;
+
+ if (ARCconsole || SRM)
+ return;
+
+#ifdef __linux__
+ /*
+ * If we can ask the kernel, we don't need guessing from
+ * /proc/cpuinfo
+ */
+ if (get_epoch_rtc(&epoch, 1) == 0) {
+ cmos_epoch = epoch;
+ return;
+ }
+#endif
+
+ /*
+ * The kernel source today says: read the year.
+ *
+ * If it is in 0-19 then the epoch is 2000.
+ * If it is in 20-47 then the epoch is 1980.
+ * If it is in 48-69 then the epoch is 1952.
+ * If it is in 70-99 then the epoch is 1928.
+ *
+ * Otherwise the epoch is 1900.
+ * TODO: Clearly, this must be changed before 2019.
+ */
+ /*
+ * See whether we are dealing with SRM or MILO, as they have
+ * different "epoch" ideas.
+ */
+ if (is_in_cpuinfo("system serial number", "MILO")) {
+ ARCconsole = 1;
+ if (debug)
+ printf(_("booted from MILO\n"));
+ }
+
+ /*
+ * See whether we are dealing with a RUFFIAN aka Alpha PC-164 UX (or
+ * BX), as they have REALLY different TOY (TimeOfYear) format: BCD,
+ * and not an ARC-style epoch. BCD is detected dynamically, but we
+ * must NOT adjust like ARC.
+ */
+ if (ARCconsole && is_in_cpuinfo("system type", "Ruffian")) {
+ ARCconsole = 0;
+ if (debug)
+ printf(_("Ruffian BCD clock\n"));
+ }
+
+ if (ARCconsole)
+ cmos_epoch = 1980;
+}
+
+void set_cmos_access(int Jensen, int funky_toy)
+{
+
+ /*
+ * See whether we're dealing with a Jensen---it has a weird I/O
+ * system. DEC was just learning how to build Alpha PCs.
+ */
+ if (Jensen || is_in_cpuinfo("system type", "Jensen")) {
+ use_dev_port = 1;
+ clock_ctl_addr = 0x170;
+ clock_data_addr = 0x171;
+ if (debug)
+ printf(_("clockport adjusted to 0x%x\n"),
+ clock_ctl_addr);
+ }
+
+ /*
+ * See whether we are dealing with PC164/LX164/SX164, as they have a
+ * TOY that must be accessed differently to work correctly.
+ */
+ /* Nautilus stuff reported by Neoklis Kyriazis */
+ if (funky_toy ||
+ is_in_cpuinfo("system variation", "PC164") ||
+ is_in_cpuinfo("system variation", "LX164") ||
+ is_in_cpuinfo("system variation", "SX164") ||
+ is_in_cpuinfo("system type", "Nautilus")) {
+ funkyTOY = 1;
+ if (debug)
+ printf(_("funky TOY!\n"));
+ }
+}
+#endif /* __alpha */
+
+#if __alpha__
+/*
+ * The Alpha doesn't allow user-level code to disable interrupts (for good
+ * reasons). Instead, we ensure atomic operation by performing the operation
+ * and checking whether the high 32 bits of the cycle counter changed. If
+ * they did, a context switch must have occurred and we redo the operation.
+ * As long as the operation is reasonably short, it will complete
+ * atomically, eventually.
+ */
+static unsigned long
+atomic(const char *name, unsigned long (*op) (unsigned long), unsigned long arg)
+{
+ unsigned long ts1, ts2, n, v;
+
+ for (n = 0; n < 1000; ++n) {
+ asm volatile ("rpcc %0":"r=" (ts1));
+ v = (*op) (arg);
+ asm volatile ("rpcc %0":"r=" (ts2));
+
+ if ((ts1 ^ ts2) >> 32 == 0) {
+ return v;
+ }
+ }
+ errx(EXIT_FAILURE, _("atomic %s failed for 1000 iterations!"),
+ name);
+}
+#else
+
+/*
+ * Hmmh, this isn't very atomic. Maybe we should force an error instead?
+ *
+ * TODO: optimize the access to CMOS by mlockall(MCL_CURRENT) and SCHED_FIFO
+ */
+static unsigned long
+atomic(const char *name __attribute__ ((__unused__)),
+ unsigned long (*op) (unsigned long),
+ unsigned long arg)
+{
+ return (*op) (arg);
+}
+
+#endif
+
+static inline unsigned long cmos_read(unsigned long reg)
+{
+ if (use_dev_port) {
+ unsigned char v = reg | 0x80;
+ lseek(dev_port_fd, clock_ctl_addr, 0);
+ if (write(dev_port_fd, &v, 1) == -1 && debug)
+ printf(_
+ ("cmos_read(): write to control address %X failed: %m\n"),
+ clock_ctl_addr);
+ lseek(dev_port_fd, clock_data_addr, 0);
+ if (read(dev_port_fd, &v, 1) == -1 && debug)
+ printf(_
+ ("cmos_read(): read data address %X failed: %m\n"),
+ clock_data_addr);
+ return v;
+ } else {
+ /*
+ * We only want to read CMOS data, but unfortunately writing
+ * to bit 7 disables (1) or enables (0) NMI; since this bit
+ * is read-only we have to guess the old status. Various
+ * docs suggest that one should disable NMI while
+ * reading/writing CMOS data, and enable it again
+ * afterwards. This would yield the sequence
+ *
+ * outb (reg | 0x80, 0x70);
+ * val = inb(0x71);
+ * outb (0x0d, 0x70); // 0x0d: random read-only location
+ *
+ * Other docs state that "any write to 0x70 should be
+ * followed by an action to 0x71 or the RTC wil be left in
+ * an unknown state". Most docs say that it doesn't matter at
+ * all what one does.
+ */
+ /*
+ * bit 0x80: disable NMI while reading - should we? Let us
+ * follow the kernel and not disable. Called only with 0 <=
+ * reg < 128
+ */
+ outb(reg, clock_ctl_addr);
+ return inb(clock_data_addr);
+ }
+}
+
+static inline unsigned long cmos_write(unsigned long reg, unsigned long val)
+{
+ if (use_dev_port) {
+ unsigned char v = reg | 0x80;
+ lseek(dev_port_fd, clock_ctl_addr, 0);
+ if (write(dev_port_fd, &v, 1) == -1 && debug)
+ printf(_
+ ("cmos_write(): write to control address %X failed: %m\n"),
+ clock_ctl_addr);
+ v = (val & 0xff);
+ lseek(dev_port_fd, clock_data_addr, 0);
+ if (write(dev_port_fd, &v, 1) == -1 && debug)
+ printf(_
+ ("cmos_write(): write to data address %X failed: %m\n"),
+ clock_data_addr);
+ } else {
+ outb(reg, clock_ctl_addr);
+ outb(val, clock_data_addr);
+ }
+ return 0;
+}
+
+static unsigned long cmos_set_time(unsigned long arg)
+{
+ unsigned char save_control, save_freq_select, pmbit = 0;
+ struct tm tm = *(struct tm *)arg;
+ unsigned int century;
+
+/*
+ * CMOS byte 10 (clock status register A) has 3 bitfields:
+ * bit 7: 1 if data invalid, update in progress (read-only bit)
+ * (this is raised 224 us before the actual update starts)
+ * 6-4 select base frequency
+ * 010: 32768 Hz time base (default)
+ * 111: reset
+ * all other combinations are manufacturer-dependent
+ * (e.g.: DS1287: 010 = start oscillator, anything else = stop)
+ * 3-0 rate selection bits for interrupt
+ * 0000 none (may stop RTC)
+ * 0001, 0010 give same frequency as 1000, 1001
+ * 0011 122 microseconds (minimum, 8192 Hz)
+ * .... each increase by 1 halves the frequency, doubles the period
+ * 1111 500 milliseconds (maximum, 2 Hz)
+ * 0110 976.562 microseconds (default 1024 Hz)
+ */
+ save_control = cmos_read(11); /* tell the clock it's being set */
+ cmos_write(11, (save_control | 0x80));
+ save_freq_select = cmos_read(10); /* stop and reset prescaler */
+ cmos_write(10, (save_freq_select | 0x70));
+
+ tm.tm_year += TM_EPOCH;
+ century = tm.tm_year / 100;
+ tm.tm_year -= cmos_epoch;
+ tm.tm_year %= 100;
+ tm.tm_mon += 1;
+ tm.tm_wday += 1;
+
+ if (!(save_control & 0x02)) { /* 12hr mode; the default is 24hr mode */
+ if (tm.tm_hour == 0)
+ tm.tm_hour = 24;
+ if (tm.tm_hour > 12) {
+ tm.tm_hour -= 12;
+ pmbit = 0x80;
+ }
+ }
+
+ if (!(save_control & 0x04)) { /* BCD mode - the default */
+ BIN_TO_BCD(tm.tm_sec);
+ BIN_TO_BCD(tm.tm_min);
+ BIN_TO_BCD(tm.tm_hour);
+ BIN_TO_BCD(tm.tm_wday);
+ BIN_TO_BCD(tm.tm_mday);
+ BIN_TO_BCD(tm.tm_mon);
+ BIN_TO_BCD(tm.tm_year);
+ BIN_TO_BCD(century);
+ }
+
+ cmos_write(0, tm.tm_sec);
+ cmos_write(2, tm.tm_min);
+ cmos_write(4, tm.tm_hour | pmbit);
+ cmos_write(6, tm.tm_wday);
+ cmos_write(7, tm.tm_mday);
+ cmos_write(8, tm.tm_mon);
+ cmos_write(9, tm.tm_year);
+ if (century_byte)
+ cmos_write(century_byte, century);
+
+ /*
+ * The kernel sources, linux/arch/i386/kernel/time.c, have the
+ * following comment:
+ *
+ * The following flags have to be released exactly in this order,
+ * otherwise the DS12887 (popular MC146818A clone with integrated
+ * battery and quartz) will not reset the oscillator and will not
+ * update precisely 500 ms later. You won't find this mentioned in
+ * the Dallas Semiconductor data sheets, but who believes data
+ * sheets anyway ... -- Markus Kuhn
+ */
+ cmos_write(11, save_control);
+ cmos_write(10, save_freq_select);
+ return 0;
+}
+
+static int hclock_read(unsigned long reg)
+{
+ return atomic("clock read", cmos_read, (reg));
+}
+
+static void hclock_set_time(const struct tm *tm)
+{
+ atomic("set time", cmos_set_time, (unsigned long)(tm));
+}
+
+static inline int cmos_clock_busy(void)
+{
+ return
+#ifdef __alpha__
+ /* poll bit 4 (UF) of Control Register C */
+ funkyTOY ? (hclock_read(12) & 0x10) :
+#endif
+ /* poll bit 7 (UIP) of Control Register A */
+ (hclock_read(10) & 0x80);
+}
+
+static int synchronize_to_clock_tick_cmos(void)
+{
+ int i;
+
+ /*
+ * Wait for rise. Should be within a second, but in case something
+ * weird happens, we have a limit on this loop to reduce the impact
+ * of this failure.
+ */
+ for (i = 0; !cmos_clock_busy(); i++)
+ if (i >= 10000000)
+ return 1;
+
+ /* Wait for fall. Should be within 2.228 ms. */
+ for (i = 0; cmos_clock_busy(); i++)
+ if (i >= 1000000)
+ return 1;
+ return 0;
+}
+
+/*
+ * Read the hardware clock and return the current time via <tm> argument.
+ * Assume we have an ISA machine and read the clock directly with CPU I/O
+ * instructions.
+ *
+ * This function is not totally reliable. It takes a finite and
+ * unpredictable amount of time to execute the code below. During that time,
+ * the clock may change and we may even read an invalid value in the middle
+ * of an update. We do a few checks to minimize this possibility, but only
+ * the kernel can actually read the clock properly, since it can execute
+ * code in a short and predictable amount of time (by turning of
+ * interrupts).
+ *
+ * In practice, the chance of this function returning the wrong time is
+ * extremely remote.
+ */
+static int read_hardware_clock_cmos(struct tm *tm)
+{
+ bool got_time = FALSE;
+ unsigned char status, pmbit;
+
+ status = pmbit = 0; /* just for gcc */
+
+ while (!got_time) {
+ /*
+ * Bit 7 of Byte 10 of the Hardware Clock value is the
+ * Update In Progress (UIP) bit, which is on while and 244
+ * uS before the Hardware Clock updates itself. It updates
+ * the counters individually, so reading them during an
+ * update would produce garbage. The update takes 2mS, so we
+ * could be spinning here that long waiting for this bit to
+ * turn off.
+ *
+ * Furthermore, it is pathologically possible for us to be
+ * in this code so long that even if the UIP bit is not on
+ * at first, the clock has changed while we were running. We
+ * check for that too, and if it happens, we start over.
+ */
+ if (!cmos_clock_busy()) {
+ /* No clock update in progress, go ahead and read */
+ tm->tm_sec = hclock_read(0);
+ tm->tm_min = hclock_read(2);
+ tm->tm_hour = hclock_read(4);
+ tm->tm_wday = hclock_read(6);
+ tm->tm_mday = hclock_read(7);
+ tm->tm_mon = hclock_read(8);
+ tm->tm_year = hclock_read(9);
+ status = hclock_read(11);
+#if 0
+ if (century_byte)
+ century = hclock_read(century_byte);
+#endif
+ /*
+ * Unless the clock changed while we were reading,
+ * consider this a good clock read .
+ */
+ if (tm->tm_sec == hclock_read(0))
+ got_time = TRUE;
+ }
+ /*
+ * Yes, in theory we could have been running for 60 seconds
+ * and the above test wouldn't work!
+ */
+ }
+
+ if (!(status & 0x04)) { /* BCD mode - the default */
+ BCD_TO_BIN(tm->tm_sec);
+ BCD_TO_BIN(tm->tm_min);
+ pmbit = (tm->tm_hour & 0x80);
+ tm->tm_hour &= 0x7f;
+ BCD_TO_BIN(tm->tm_hour);
+ BCD_TO_BIN(tm->tm_wday);
+ BCD_TO_BIN(tm->tm_mday);
+ BCD_TO_BIN(tm->tm_mon);
+ BCD_TO_BIN(tm->tm_year);
+#if 0
+ BCD_TO_BIN(century);
+#endif
+ }
+
+ /*
+ * We don't use the century byte of the Hardware Clock since we
+ * don't know its address (usually 50 or 55). Here, we follow the
+ * advice of the X/Open Base Working Group: "if century is not
+ * specified, then values in the range [69-99] refer to years in the
+ * twentieth century (1969 to 1999 inclusive), and values in the
+ * range [00-68] refer to years in the twenty-first century (2000 to
+ * 2068 inclusive)."
+ */
+ tm->tm_wday -= 1;
+ tm->tm_mon -= 1;
+ tm->tm_year += (cmos_epoch - TM_EPOCH);
+ if (tm->tm_year < 69)
+ tm->tm_year += 100;
+ if (pmbit) {
+ tm->tm_hour += 12;
+ if (tm->tm_hour == 24)
+ tm->tm_hour = 0;
+ }
+
+ tm->tm_isdst = -1; /* don't know whether it's daylight */
+ return 0;
+}
+
+static int set_hardware_clock_cmos(const struct tm *new_broken_time)
+{
+
+ hclock_set_time(new_broken_time);
+ return 0;
+}
+
+#if defined(__i386__) || defined(__alpha__)
+# if defined(HAVE_IOPL)
+static int i386_iopl(const int level)
+{
+ extern int iopl(const int lvl);
+ return iopl(level);
+}
+# else
+static int i386_iopl(const int level __attribute__ ((__unused__)))
+{
+ extern int ioperm(unsigned long from, unsigned long num, int turn_on);
+ return ioperm(clock_ctl_addr, 2, 1);
+}
+# endif
+#else
+static int i386_iopl(const int level __attribute__ ((__unused__)))
+{
+ return -2;
+}
+#endif
+
+static int get_permissions_cmos(void)
+{
+ int rc;
+
+ if (use_dev_port) {
+ if ((dev_port_fd = open("/dev/port", O_RDWR)) < 0) {
+ warn(_("cannot open %s"), "/dev/port");
+ rc = 1;
+ } else
+ rc = 0;
+ } else {
+ rc = i386_iopl(3);
+ if (rc == -2) {
+ warnx(_("I failed to get permission because I didn't try."));
+ } else if (rc != 0) {
+ rc = errno;
+ warn(_("unable to get I/O port access: "
+ "the iopl(3) call failed."));
+ if (rc == EPERM && geteuid())
+ warnx(_("Probably you need root privileges.\n"));
+ }
+ }
+ return rc ? 1 : 0;
+}
+
+static struct clock_ops cmos = {
+ "direct I/O instructions to ISA clock",
+ get_permissions_cmos,
+ read_hardware_clock_cmos,
+ set_hardware_clock_cmos,
+ synchronize_to_clock_tick_cmos,
+};
+
+/*
+ * return &cmos if cmos clock present, NULL otherwise choose this
+ * construction to avoid gcc messages about unused variables
+ */
+struct clock_ops *probe_for_cmos_clock(void)
+{
+ int have_cmos =
+#if defined(__i386__) || defined(__alpha__)
+ TRUE;
+#else
+ FALSE;
+#endif
+ return have_cmos ? &cmos : NULL;
+}
diff --git a/sys-utils/hwclock-kd.c b/sys-utils/hwclock-kd.c
new file mode 100644
index 0000000..bfe50dc
--- /dev/null
+++ b/sys-utils/hwclock-kd.c
@@ -0,0 +1,182 @@
+/*
+ * kd.c - KDGHWCLK stuff, possibly m68k only, likely to be deprecated
+ */
+
+# include "hwclock.h"
+
+#ifdef __m68k__
+
+# include <fcntl.h>
+# include <sysexits.h>
+# include <sys/ioctl.h>
+# include <unistd.h>
+
+# include "nls.h"
+# include "usleep.h"
+
+/* Get defines for KDGHWCLK and KDSHWCLK (m68k) */
+# include <linux/kd.h>
+
+/* Even on m68k, if KDGHWCLK (antique) is not defined, don't build this */
+
+#endif
+
+#if !defined(__m68k__) || !defined(KDGHWCLK)
+
+#include <stddef.h>
+struct clock_ops *probe_for_kd_clock(void)
+{
+ return NULL;
+}
+
+#else /* __m68k__ && KDGHWCLK */
+
+/* Opened by probe_for_kd_clock(), and never closed. */
+static int con_fd = -1;
+static char *con_fd_filename; /* usually "/dev/tty1" */
+
+/*
+ * Wait for the top of a clock tick by calling KDGHWCLK in a busy loop until
+ * we see it.
+ */
+static int synchronize_to_clock_tick_kd(void)
+{
+ /* The time when we were called (and started waiting) */
+ struct hwclk_time start_time, nowtime;
+ struct timeval begin, now;
+
+ if (debug)
+ printf(_("Waiting in loop for time from KDGHWCLK to change\n"));
+
+ if (ioctl(con_fd, KDGHWCLK, &start_time) == -1) {
+ warn(_("KDGHWCLK ioctl to read time failed"));
+ return 3;
+ }
+
+ /*
+ * Wait for change. Should be within a second, but in case something
+ * weird happens, we have a time limit (1.5s) on this loop to reduce
+ * the impact of this failure.
+ */
+ gettimeofday(&begin, NULL);
+ do {
+ /*
+ * Added by Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
+ *
+ * "The culprit is the fast loop with KDGHWCLK ioctls. It
+ * seems the kernel gets confused by those on Amigas with
+ * A2000 RTCs and simply hangs after some time. Inserting a
+ * sleep helps."
+ */
+ usleep(1);
+
+ if (ioctl(con_fd, KDGHWCLK, &nowtime) == -1) {
+ warn(_("KDGHWCLK ioctl to read time failed in loop"));
+ return 3;
+ }
+ if (start_time.tm_sec != nowtime.tm_sec)
+ break;
+ gettimeofday(&now, NULL);
+ if (time_diff(now, begin) > 1.5) {
+ warnx(_("Timed out waiting for time change."));
+ return 2;
+ }
+ } while (1);
+
+ return 0;
+}
+
+/*
+ * Read the hardware clock and return the current time via <tm> argument.
+ * Use ioctls to /dev/tty1 on what we assume is an m68k machine.
+ *
+ * Note that we don't use /dev/console here. That might be a serial console.
+ */
+static int read_hardware_clock_kd(struct tm *tm)
+{
+ struct hwclk_time t;
+
+ if (ioctl(con_fd, KDGHWCLK, &t) == -1) {
+ warn(_("ioctl() failed to read time from %s"),
+ con_fd_filename);
+ hwclock_exit(EX_IOERR);
+ }
+
+ tm->tm_sec = t.sec;
+ tm->tm_min = t.min;
+ tm->tm_hour = t.hour;
+ tm->tm_mday = t.day;
+ tm->tm_mon = t.mon;
+ tm->tm_year = t.year;
+ tm->tm_wday = t.wday;
+ tm->tm_isdst = -1; /* Don't know if it's Daylight Savings Time */
+
+ return 0;
+}
+
+/*
+ * Set the Hardware Clock to the time <new_broken_time>. Use ioctls to
+ * /dev/tty1 on what we assume is an m68k machine.
+ *
+ * Note that we don't use /dev/console here. That might be a serial console.
+ */
+static int set_hardware_clock_kd(const struct tm *new_broken_time)
+{
+ struct hwclk_time t;
+
+ t.sec = new_broken_time->tm_sec;
+ t.min = new_broken_time->tm_min;
+ t.hour = new_broken_time->tm_hour;
+ t.day = new_broken_time->tm_mday;
+ t.mon = new_broken_time->tm_mon;
+ t.year = new_broken_time->tm_year;
+ t.wday = new_broken_time->tm_wday;
+
+ if (ioctl(con_fd, KDSHWCLK, &t) == -1) {
+ warn(_("ioctl KDSHWCLK failed"));
+ hwclock_exit(EX_IOERR);
+ }
+ return 0;
+}
+
+static int get_permissions_kd(void)
+{
+ return 0;
+}
+
+static struct clock_ops kd = {
+ "KDGHWCLK interface to m68k clock",
+ get_permissions_kd,
+ read_hardware_clock_kd,
+ set_hardware_clock_kd,
+ synchronize_to_clock_tick_kd,
+};
+
+/* return &kd if KDGHWCLK works, NULL otherwise */
+struct clock_ops *probe_for_kd_clock()
+{
+ struct clock_ops *ret = NULL;
+ struct hwclk_time t;
+
+ if (con_fd < 0) { /* first time here */
+ con_fd_filename = "/dev/tty1";
+ con_fd = open(con_fd_filename, O_RDONLY);
+ }
+ if (con_fd < 0) {
+ /* perhaps they are using devfs? */
+ con_fd_filename = "/dev/vc/1";
+ con_fd = open(con_fd_filename, O_RDONLY);
+ }
+ if (con_fd < 0) {
+ /* probably KDGHWCLK exists on m68k only */
+ warn(_("Can't open /dev/tty1 or /dev/vc/1"));
+ } else {
+ if (ioctl(con_fd, KDGHWCLK, &t) == -1) {
+ if (errno != EINVAL)
+ warn(_("KDGHWCLK ioctl failed"));
+ } else
+ ret = &kd;
+ }
+ return ret;
+}
+#endif /* __m68k__ && KDGHWCLK */
diff --git a/sys-utils/hwclock-rtc.c b/sys-utils/hwclock-rtc.c
new file mode 100644
index 0000000..3380941
--- /dev/null
+++ b/sys-utils/hwclock-rtc.c
@@ -0,0 +1,509 @@
+/*
+ * rtc.c - Use /dev/rtc for clock access
+ */
+#include <asm/ioctl.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sysexits.h>
+#include <sys/ioctl.h>
+#include <sys/select.h>
+#include <sys/time.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "nls.h"
+
+#include "hwclock.h"
+
+/*
+ * Get defines for rtc stuff.
+ *
+ * Getting the rtc defines is nontrivial. The obvious way is by including
+ * <linux/mc146818rtc.h> but that again includes <asm/io.h> which again
+ * includes ... and on sparc and alpha this gives compilation errors for
+ * many kernel versions. So, we give the defines ourselves here. Moreover,
+ * some Sparc person decided to be incompatible, and used a struct rtc_time
+ * different from that used in mc146818rtc.h.
+ */
+
+/*
+ * On Sparcs, there is a <asm/rtc.h> that defines different ioctls (that are
+ * required on my machine). However, this include file does not exist on
+ * other architectures.
+ */
+/* One might do:
+#ifdef __sparc__
+# include <asm/rtc.h>
+#endif
+ */
+/* The following is roughly equivalent */
+struct sparc_rtc_time
+{
+ int sec; /* Seconds 0-59 */
+ int min; /* Minutes 0-59 */
+ int hour; /* Hour 0-23 */
+ int dow; /* Day of the week 1-7 */
+ int dom; /* Day of the month 1-31 */
+ int month; /* Month of year 1-12 */
+ int year; /* Year 0-99 */
+};
+
+#define RTCGET _IOR('p', 20, struct sparc_rtc_time)
+#define RTCSET _IOW('p', 21, struct sparc_rtc_time)
+
+/* non-sparc stuff */
+#if 0
+# include <linux/version.h>
+/*
+ * Check if the /dev/rtc interface is available in this version of the
+ * system headers. 131072 is linux 2.0.0.
+ */
+# if LINUX_VERSION_CODE >= 131072
+# include <linux/mc146818rtc.h>
+# endif
+#endif
+
+/*
+ * struct rtc_time is present since 1.3.99.
+ * Earlier (since 1.3.89), a struct tm was used.
+ */
+struct linux_rtc_time {
+ int tm_sec;
+ int tm_min;
+ int tm_hour;
+ int tm_mday;
+ int tm_mon;
+ int tm_year;
+ int tm_wday;
+ int tm_yday;
+ int tm_isdst;
+};
+
+/* RTC_RD_TIME etc have this definition since 1.99.9 (pre2.0-9) */
+#ifndef RTC_RD_TIME
+# define RTC_RD_TIME _IOR('p', 0x09, struct linux_rtc_time)
+# define RTC_SET_TIME _IOW('p', 0x0a, struct linux_rtc_time)
+# define RTC_UIE_ON _IO('p', 0x03) /* Update int. enable on */
+# define RTC_UIE_OFF _IO('p', 0x04) /* Update int. enable off */
+#endif
+
+/* RTC_EPOCH_READ and RTC_EPOCH_SET are present since 2.0.34 and 2.1.89 */
+#ifndef RTC_EPOCH_READ
+# define RTC_EPOCH_READ _IOR('p', 0x0d, unsigned long) /* Read epoch */
+# define RTC_EPOCH_SET _IOW('p', 0x0e, unsigned long) /* Set epoch */
+#endif
+
+/*
+ * /dev/rtc is conventionally chardev 10/135
+ * ia64 uses /dev/efirtc, chardev 10/136
+ * devfs (obsolete) used /dev/misc/... for miscdev
+ * new RTC framework + udev uses dynamic major and /dev/rtc0.../dev/rtcN
+ * ... so we need an overridable default
+ */
+
+/* default or user defined dev (by hwclock --rtc=<path>) */
+char *rtc_dev_name;
+
+static int rtc_dev_fd = -1;
+
+static void close_rtc(void)
+{
+ if (rtc_dev_fd != -1)
+ close(rtc_dev_fd);
+ rtc_dev_fd = -1;
+}
+
+static int open_rtc(void)
+{
+ char *fls[] = {
+#ifdef __ia64__
+ "/dev/efirtc",
+ "/dev/misc/efirtc",
+#endif
+ "/dev/rtc",
+ "/dev/rtc0",
+ "/dev/misc/rtc",
+ NULL
+ };
+ char **p;
+
+ if (rtc_dev_fd != -1)
+ return rtc_dev_fd;
+
+ /* --rtc option has been given */
+ if (rtc_dev_name)
+ rtc_dev_fd = open(rtc_dev_name, O_RDONLY);
+ else {
+ for (p = fls; *p; ++p) {
+ rtc_dev_fd = open(*p, O_RDONLY);
+
+ if (rtc_dev_fd < 0
+ && (errno == ENOENT || errno == ENODEV))
+ continue;
+ rtc_dev_name = *p;
+ break;
+ }
+ if (rtc_dev_fd < 0)
+ rtc_dev_name = *fls; /* default for error messages */
+ }
+
+ if (rtc_dev_fd != 1)
+ atexit(close_rtc);
+ return rtc_dev_fd;
+}
+
+static int open_rtc_or_exit(void)
+{
+ int rtc_fd = open_rtc();
+
+ if (rtc_fd < 0) {
+ warn(_("cannot open %s"), rtc_dev_name);
+ hwclock_exit(EX_OSFILE);
+ }
+ return rtc_fd;
+}
+
+static int do_rtc_read_ioctl(int rtc_fd, struct tm *tm)
+{
+ int rc = -1;
+ char *ioctlname;
+
+#ifdef __sparc__
+ /* some but not all sparcs use a different ioctl and struct */
+ struct sparc_rtc_time stm;
+
+ ioctlname = "RTCGET";
+ rc = ioctl(rtc_fd, RTCGET, &stm);
+ if (rc == 0) {
+ tm->tm_sec = stm.sec;
+ tm->tm_min = stm.min;
+ tm->tm_hour = stm.hour;
+ tm->tm_mday = stm.dom;
+ tm->tm_mon = stm.month - 1;
+ tm->tm_year = stm.year - 1900;
+ tm->tm_wday = stm.dow - 1;
+ tm->tm_yday = -1; /* day in the year */
+ }
+#endif
+ if (rc == -1) { /* no sparc, or RTCGET failed */
+ ioctlname = "RTC_RD_TIME";
+ rc = ioctl(rtc_fd, RTC_RD_TIME, tm);
+ }
+ if (rc == -1) {
+ warn(_("ioctl(%s) to %s to read the time failed"),
+ ioctlname, rtc_dev_name);
+ return -1;
+ }
+
+ tm->tm_isdst = -1; /* don't know whether it's dst */
+ return 0;
+}
+
+/*
+ * Wait for the top of a clock tick by reading /dev/rtc in a busy loop until
+ * we see it.
+ */
+static int busywait_for_rtc_clock_tick(const int rtc_fd)
+{
+ struct tm start_time;
+ /* The time when we were called (and started waiting) */
+ struct tm nowtime;
+ int rc;
+ struct timeval begin, now;
+
+ if (debug)
+ printf(_("Waiting in loop for time from %s to change\n"),
+ rtc_dev_name);
+
+ rc = do_rtc_read_ioctl(rtc_fd, &start_time);
+ if (rc)
+ return 1;
+
+ /*
+ * Wait for change. Should be within a second, but in case
+ * something weird happens, we have a time limit (1.5s) on this loop
+ * to reduce the impact of this failure.
+ */
+ gettimeofday(&begin, NULL);
+ do {
+ rc = do_rtc_read_ioctl(rtc_fd, &nowtime);
+ if (rc || start_time.tm_sec != nowtime.tm_sec)
+ break;
+ gettimeofday(&now, NULL);
+ if (time_diff(now, begin) > 1.5) {
+ warnx(_("Timed out waiting for time change."));
+ return 2;
+ }
+ } while (1);
+
+ if (rc)
+ return 3;
+ return 0;
+}
+
+/*
+ * Same as synchronize_to_clock_tick(), but just for /dev/rtc.
+ */
+static int synchronize_to_clock_tick_rtc(void)
+{
+ int rtc_fd; /* File descriptor of /dev/rtc */
+ int ret;
+
+ rtc_fd = open_rtc();
+ if (rtc_fd == -1) {
+ warn(_("cannot open %s"), rtc_dev_name);
+ ret = 1;
+ } else {
+ int rc; /* Return code from ioctl */
+ /* Turn on update interrupts (one per second) */
+#if defined(__alpha__) || defined(__sparc__)
+ /*
+ * Not all alpha kernels reject RTC_UIE_ON, but probably
+ * they should.
+ */
+ rc = -1;
+ errno = EINVAL;
+#else
+ rc = ioctl(rtc_fd, RTC_UIE_ON, 0);
+#endif
+ if (rc == -1 && (errno == ENOTTY || errno == EINVAL)) {
+ /*
+ * This rtc device doesn't have interrupt functions.
+ * This is typical on an Alpha, where the Hardware
+ * Clock interrupts are used by the kernel for the
+ * system clock, so aren't at the user's disposal.
+ */
+ if (debug)
+ printf(_
+ ("%s does not have interrupt functions. "),
+ rtc_dev_name);
+ ret = busywait_for_rtc_clock_tick(rtc_fd);
+ } else if (rc == 0) {
+#ifdef Wait_until_update_interrupt
+ unsigned long dummy;
+
+ /* this blocks until the next update interrupt */
+ rc = read(rtc_fd, &dummy, sizeof(dummy));
+ ret = 1;
+ if (rc == -1)
+ warn(_
+ ("read() to %s to wait for clock tick failed"),
+ rtc_dev_name);
+ else
+ ret = 0;
+#else
+ /*
+ * Just reading rtc_fd fails on broken hardware: no
+ * update interrupt comes and a bootscript with a
+ * hwclock call hangs
+ */
+ fd_set rfds;
+ struct timeval tv;
+
+ /*
+ * Wait up to five seconds for the next update
+ * interrupt
+ */
+ FD_ZERO(&rfds);
+ FD_SET(rtc_fd, &rfds);
+ tv.tv_sec = 5;
+ tv.tv_usec = 0;
+ rc = select(rtc_fd + 1, &rfds, NULL, NULL, &tv);
+ ret = 1;
+ if (rc == -1)
+ warn(_
+ ("select() to %s to wait for clock tick failed"),
+ rtc_dev_name);
+ else if (rc == 0)
+ warn(_
+ ("select() to %s to wait for clock tick timed out"),
+ rtc_dev_name);
+ else
+ ret = 0;
+#endif
+
+ /* Turn off update interrupts */
+ rc = ioctl(rtc_fd, RTC_UIE_OFF, 0);
+ if (rc == -1)
+ warn(_
+ ("ioctl() to %s to turn off update interrupts failed"),
+ rtc_dev_name);
+ } else {
+ warn(_
+ ("ioctl() to %s to turn on update interrupts "
+ "failed unexpectedly"), rtc_dev_name);
+ ret = 1;
+ }
+ }
+ return ret;
+}
+
+static int read_hardware_clock_rtc(struct tm *tm)
+{
+ int rtc_fd, rc;
+
+ rtc_fd = open_rtc_or_exit();
+
+ /* Read the RTC time/date, return answer via tm */
+ rc = do_rtc_read_ioctl(rtc_fd, tm);
+
+ return rc;
+}
+
+/*
+ * Set the Hardware Clock to the broken down time <new_broken_time>. Use
+ * ioctls to "rtc" device /dev/rtc.
+ */
+static int set_hardware_clock_rtc(const struct tm *new_broken_time)
+{
+ int rc = -1;
+ int rtc_fd;
+ char *ioctlname;
+
+ rtc_fd = open_rtc_or_exit();
+
+#ifdef __sparc__
+ {
+ struct sparc_rtc_time stm;
+
+ stm.sec = new_broken_time->tm_sec;
+ stm.min = new_broken_time->tm_min;
+ stm.hour = new_broken_time->tm_hour;
+ stm.dom = new_broken_time->tm_mday;
+ stm.month = new_broken_time->tm_mon + 1;
+ stm.year = new_broken_time->tm_year + 1900;
+ stm.dow = new_broken_time->tm_wday + 1;
+
+ ioctlname = "RTCSET";
+ rc = ioctl(rtc_fd, RTCSET, &stm);
+ }
+#endif
+ if (rc == -1) { /* no sparc, or RTCSET failed */
+ ioctlname = "RTC_SET_TIME";
+ rc = ioctl(rtc_fd, RTC_SET_TIME, new_broken_time);
+ }
+
+ if (rc == -1) {
+ warn(_("ioctl(%s) to %s to set the time failed."),
+ ioctlname, rtc_dev_name);
+ hwclock_exit(EX_IOERR);
+ }
+
+ if (debug)
+ printf(_("ioctl(%s) was successful.\n"), ioctlname);
+
+ return 0;
+}
+
+static int get_permissions_rtc(void)
+{
+ return 0;
+}
+
+static struct clock_ops rtc = {
+ "/dev interface to clock",
+ get_permissions_rtc,
+ read_hardware_clock_rtc,
+ set_hardware_clock_rtc,
+ synchronize_to_clock_tick_rtc,
+};
+
+/* return &rtc if /dev/rtc can be opened, NULL otherwise */
+struct clock_ops *probe_for_rtc_clock(void)
+{
+ int rtc_fd = open_rtc();
+ if (rtc_fd >= 0)
+ return &rtc;
+ if (debug)
+ warn(_("cannot open %s"), rtc_dev_name);
+ return NULL;
+}
+
+/*
+ * Get the Hardware Clock epoch setting from the kernel.
+ */
+int get_epoch_rtc(unsigned long *epoch_p, int silent)
+{
+ int rtc_fd;
+
+ rtc_fd = open_rtc();
+ if (rtc_fd < 0) {
+ if (!silent) {
+ if (errno == ENOENT)
+ warnx(_
+ ("To manipulate the epoch value in the kernel, we must "
+ "access the Linux 'rtc' device driver via the device special "
+ "file %s. This file does not exist on this system."),
+ rtc_dev_name);
+ else
+ warn(_("cannot open %s"), rtc_dev_name);
+ }
+ return 1;
+ }
+
+ if (ioctl(rtc_fd, RTC_EPOCH_READ, epoch_p) == -1) {
+ if (!silent)
+ warn(_("ioctl(RTC_EPOCH_READ) to %s failed"),
+ rtc_dev_name);
+ return 1;
+ }
+
+ if (debug)
+ printf(_("we have read epoch %ld from %s "
+ "with RTC_EPOCH_READ ioctl.\n"), *epoch_p,
+ rtc_dev_name);
+
+ return 0;
+}
+
+/*
+ * Set the Hardware Clock epoch in the kernel.
+ */
+int set_epoch_rtc(unsigned long epoch)
+{
+ int rtc_fd;
+
+ if (epoch < 1900) {
+ /* kernel would not accept this epoch value
+ *
+ * Bad habit, deciding not to do what the user asks just
+ * because one believes that the kernel might not like it.
+ */
+ warnx(_("The epoch value may not be less than 1900. "
+ "You requested %ld"), epoch);
+ return 1;
+ }
+
+ rtc_fd = open_rtc();
+ if (rtc_fd < 0) {
+ if (errno == ENOENT)
+ warnx(_
+ ("To manipulate the epoch value in the kernel, we must "
+ "access the Linux 'rtc' device driver via the device special "
+ "file %s. This file does not exist on this system."),
+ rtc_dev_name);
+ else
+ warn(_("cannot open %s"), rtc_dev_name);
+ return 1;
+ }
+
+ if (debug)
+ printf(_("setting epoch to %ld "
+ "with RTC_EPOCH_SET ioctl to %s.\n"), epoch,
+ rtc_dev_name);
+
+ if (ioctl(rtc_fd, RTC_EPOCH_SET, epoch) == -1) {
+ if (errno == EINVAL)
+ warnx(_("The kernel device driver for %s "
+ "does not have the RTC_EPOCH_SET ioctl."),
+ rtc_dev_name);
+ else
+ warn(_("ioctl(RTC_EPOCH_SET) to %s failed"),
+ rtc_dev_name);
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/sys-utils/hwclock.8 b/sys-utils/hwclock.8
new file mode 100644
index 0000000..07d9fc0
--- /dev/null
+++ b/sys-utils/hwclock.8
@@ -0,0 +1,661 @@
+.TH HWCLOCK 8 "August 2011" "util-linux" "System Administration"
+.SH NAME
+hwclock \- query or set the hardware clock (RTC)
+.SH SYNOPSIS
+.B hwclock
+.RI [ function ]
+.RI [ option ...]
+
+.SH DESCRIPTION
+.B hwclock
+is a tool for accessing the Hardware Clock. You can display the
+current time, set the Hardware Clock to a specified time, set the
+Hardware Clock from the System Time, or set the System Time from the
+Hardware Clock.
+.PP
+You can also run
+.B hwclock
+periodically to add or subtract time from the Hardware Clock to
+compensate for systematic drift (where the clock consistently loses or
+gains time at a certain rate when left to run).
+
+.SH FUNCTIONS
+You need exactly one of the following options to tell
+.B hwclock
+what function to perform:
+.PP
+.TP
+.BR \-r , \ \-\-show
+Read the Hardware Clock and print the time on standard output.
+The time shown is always in local time, even if you keep your Hardware Clock
+in Coordinated Universal Time. See the
+.B \-\-utc
+option.
+Showing the Hardware Clock time is the default when no function is specified.
+
+.TP
+.B \-\-set
+Set the Hardware Clock to the time given by the
+.B \-\-date
+option.
+.TP
+.BR \-s , \ \-\-hctosys
+Set the System Time from the Hardware Clock.
+
+Also set the kernel's timezone value to the local timezone
+as indicated by the TZ environment variable and/or
+.IR /usr/share/zoneinfo ,
+as
+.BR tzset (3)
+would interpret them.
+The obsolete tz_dsttime field of the kernel's timezone value is set
+to DST_NONE. (For details on what this field used to mean, see
+.BR settimeofday (2).)
+
+This is a good option to use in one of the system startup scripts.
+.TP
+.BR \-w , \ \-\-systohc
+Set the Hardware Clock to the current System Time.
+.TP
+.B \-\-systz
+Reset the System Time based on the current timezone.
+
+Also set the kernel's timezone value to the local timezone
+as indicated by the TZ environment variable and/or
+.IR /usr/share/zoneinfo ,
+as
+.BR tzset (3)
+would interpret them.
+The obsolete tz_dsttime field of the kernel's timezone value is set
+to DST_NONE. (For details on what this field used to mean, see
+.BR settimeofday (2).)
+
+This is an alternate option to
+.B \-\-hctosys
+that does not read the hardware clock, and may be used in system startup
+scripts for recent 2.6 kernels where you know the System Time contains
+the Hardware Clock time.
+.TP
+.B \-\-adjust
+Add or subtract time from the Hardware Clock to account for systematic
+drift since the last time the clock was set or adjusted. See discussion
+below.
+.TP
+.B \-\-getepoch
+Print the kernel's Hardware Clock epoch value to standard output.
+This is the number of years into AD to which a zero year value in the
+Hardware Clock refers. For example, if you are using the convention
+that the year counter in your Hardware Clock contains the number of
+full years since 1952, then the kernel's Hardware Clock epoch value
+must be 1952.
+
+This epoch value is used whenever
+.B hwclock
+reads or sets the Hardware Clock.
+.TP
+.B \-\-setepoch
+Set the kernel's Hardware Clock epoch value to the value specified by the
+.B \-\-epoch
+option. See the
+.B \-\-getepoch
+option for details.
+
+.TP
+.BI \-\-predict
+Predict what the RTC will read at time given by the
+.B \-\-date
+option based on the adjtime file. This is useful for example if you
+need to set an RTC wakeup time to distant future and want to account
+for the RTC drift.
+.TP
+.BR \-h , \ \-\-help
+Display a help text and exit.
+.TP
+.BR \-V , \ \-\-version
+Display the version of
+.B hwclock
+and exit.
+
+.SH OPTIONS
+.PP
+The first two options apply to just a few specific functions,
+the others apply to most functions.
+.TP
+.BI \-\-date= date_string
+You need this option if you specify the
+.B \-\-set
+or
+.B \-\-predict
+functions, otherwise it is ignored.
+It specifies the time to which to set the Hardware Clock, or the
+time for which to predict the Hardware Clock reading.
+The value of this option is an argument to the
+.BR date (1)
+program.
+For example:
+.sp
+.B " hwclock" --set --date="2011-08-14 16:45:05"
+.sp
+The argument must be in local time, even if you keep your Hardware Clock in
+Coordinated Universal time. See the
+.B \-\-utc
+option.
+
+.TP
+.BI \-\-epoch= year
+Specifies the year which is the beginning of the Hardware Clock's
+epoch, that is the number of years into AD to which a zero value in the
+Hardware Clock's year counter refers. It is used together with
+the \fB\-\-setepoch\fR option to set the kernel's idea of the epoch of the
+Hardware Clock, or otherwise to specify the epoch for use with
+direct ISA access.
+
+For example, on a Digital Unix machine:
+.sp
+.B " hwclock" --setepoch --epoch=1952
+
+.TP
+.BR \-u , \ \-\-utc
+.TP
+.B \-\-localtime
+Indicates that the Hardware Clock is kept in Coordinated Universal
+Time or local time, respectively. It is your choice whether to keep
+your clock in UTC or local time, but nothing in the clock tells which
+you've chosen. So this option is how you give that information to
+.BR hwclock .
+
+If you specify the wrong one of these options (or specify neither and
+take a wrong default), both setting and querying of the Hardware Clock
+will be messed up.
+
+If you specify neither
+.B \-\-utc
+nor
+.BR \-\-localtime ,
+the default is whichever was specified the last time
+.B hwclock
+was used to set the clock (i.e.
+.B hwclock
+was successfully run with the
+.BR \-\-set ,
+.BR \-\-systohc ,
+or
+.B \-\-adjust
+options), as recorded in the adjtime file. If the adjtime file doesn't
+exist, the default is UTC time.
+
+.TP
+.B \-\-noadjfile
+Disables the facilities provided by
+.IR /etc/adjtime .
+.B hwclock
+will not read nor write to that file with this option. Either
+.B \-\-utc
+or
+.B \-\-localtime
+must be specified when using this option.
+
+.TP
+.BI \-\-adjfile= filename
+Overrides the default /etc/adjtime.
+
+.TP
+.BR \-f , \ \-\-rtc=\fIfilename\fB
+Overrides the default /dev file name, which is
+.IR /dev/rtc
+on many platforms but may be
+.IR /dev/rtc0 ,
+.IR /dev/rtc1 ,
+and so on.
+
+.TP
+.B \-\-directisa
+This option is meaningful only on an ISA machine or an Alpha (which implements
+enough of ISA to be, roughly speaking, an ISA machine for
+.BR hwclock 's
+purposes). For other machines, it has no effect. This option tells
+.B hwclock
+to use explicit I/O instructions to access the Hardware Clock.
+Without this option,
+.B hwclock
+will try to use the /dev/rtc device (which it assumes to be driven by the
+RTC device driver). If it is unable to open the device (for reading), it will
+use the explicit I/O instructions anyway.
+
+.TP
+.B \-\-badyear
+Indicates that the Hardware Clock is incapable of storing years outside
+the range 1994-1999. There is a problem in some BIOSes (almost all
+Award BIOSes made between 4/26/94 and 5/31/95) wherein they are unable
+to deal with years after 1999. If one attempts to set the year-of-century
+value to something less than 94 (or 95 in some cases), the value that
+actually gets set is 94 (or 95). Thus, if you have one of these machines,
+.B hwclock
+cannot set the year after 1999 and cannot use the value of the clock as
+the true time in the normal way.
+
+To compensate for this (without your getting a BIOS update, which would
+definitely be preferable), always use
+.B \-\-badyear
+if you have one of these machines. When
+.B hwclock
+knows it's working with a brain-damaged clock, it ignores the year part of
+the Hardware Clock value and instead tries to guess the year based on the
+last calibrated date in the adjtime file, by assuming that that date is
+within the past year. For this to work, you had better do a
+.B hwclock \-\-set
+or
+.B hwclock \-\-systohc
+at least once a year!
+
+Though
+.B hwclock
+ignores the year value when it reads the Hardware Clock, it sets the
+year value when it sets the clock. It sets it to 1995, 1996, 1997, or
+1998, whichever one has the same position in the leap year cycle as
+the true year. That way, the Hardware Clock inserts leap days where
+they belong. Again, if you let the Hardware Clock run for more than a
+year without setting it, this scheme could be defeated and you could
+end up losing a day.
+
+.B hwclock
+warns you that you probably need
+.B \-\-badyear
+whenever it finds your Hardware Clock set to 1994 or 1995.
+
+.TP
+.B \-\-srm
+This option is equivalent to
+.B \-\-epoch=1900
+and is used to specify the most common epoch on Alphas
+with SRM console.
+.TP
+.B \-\-arc
+This option is equivalent to
+.B \-\-epoch=1980
+and is used to specify the most common epoch on Alphas
+with ARC console (but Ruffians have epoch 1900).
+.TP
+.B \-\-jensen
+.TP
+.B \-\-funky\-toy
+These two options specify what kind of Alpha machine you have. They
+are invalid if you don't have an Alpha and are usually unnecessary
+if you do, because
+.B hwclock
+should be able to determine by itself what it's
+running on, at least when
+.I /proc
+is mounted.
+(If you find you need one of these options to make
+.B hwclock
+work, contact the maintainer to see if the program can be improved
+to detect your system automatically. Output of `hwclock --debug'
+and `cat /proc/cpuinfo' may be of interest.)
+
+Option
+.B \-\-jensen
+means you are running on a Jensen model. And
+.B \-\-funky\-toy
+means that on your machine one has to use the UF bit instead
+of the UIP bit in the Hardware Clock to detect a time transition. "Toy"
+in the option name refers to the Time Of Year facility of the machine.
+
+
+.TP
+.B \-\-test
+Do everything except actually updating the Hardware Clock or anything
+else. This is useful, especially in conjunction with
+.BR \-\-debug ,
+in learning about
+.BR hwclock .
+.TP
+.B \-\-debug
+Display a lot of information about what
+.B hwclock
+is doing internally. Some of its function is complex and this output
+can help you understand how the program works.
+
+
+.SH NOTES
+
+
+.SH Clocks in a Linux System
+.PP
+There are two main clocks in a Linux system:
+.PP
+.B The Hardware Clock:
+This is a clock that runs independently of any control program running
+in the CPU and even when the machine is powered off.
+
+On an ISA system, this clock is specified as part of the ISA standard.
+The control program can read or set this clock to a whole second, but
+the control program can also detect the edges of the 1 second clock
+ticks, so the clock actually has virtually infinite precision.
+.PP
+This clock is commonly called the hardware clock, the real time clock,
+the RTC, the BIOS clock, and the CMOS clock. Hardware Clock, in its
+capitalized form, was coined for use by
+.B hwclock
+because all of the other names are inappropriate to the point of being
+misleading.
+.PP
+So for example, some non-ISA systems have a few real time clocks with
+only one of them having its own power domain.
+A very low power external I2C or SPI clock chip might be used with a
+backup battery as the hardware clock to initialize a more functional
+integrated real-time clock which is used for most other purposes.
+.PP
+.B The System Time:
+This is the time kept by a clock inside the Linux kernel and driven by
+a timer interrupt. (On an ISA machine, the timer interrupt is part of
+the ISA standard). It has meaning only while Linux is running on the
+machine. The System Time is the number of seconds since 00:00:00
+January 1, 1970 UTC (or more succinctly, the number of seconds since
+1969). The System Time is not an integer, though. It has virtually
+infinite precision.
+.PP
+The System Time is the time that matters. The Hardware Clock's basic
+purpose in a Linux system is to keep time when Linux is not running. You
+initialize the System Time to the time from the Hardware Clock when Linux
+starts up, and then never use the Hardware Clock again. Note that in DOS,
+for which ISA was designed, the Hardware Clock is the only real time clock.
+.PP
+It is important that the System Time not have any discontinuities such as
+would happen if you used the
+.BR date (1L)
+program to set it while the system is running. You can, however, do whatever
+you want to the Hardware Clock while the system is running, and the next
+time Linux starts up, it will do so with the adjusted time from the Hardware
+Clock. You can also use the program
+.BR adjtimex (8)
+to smoothly adjust the System Time while the system runs.
+.PP
+A Linux kernel maintains a concept of a local timezone for the system.
+But don't be misled -- almost nobody cares what timezone the kernel
+thinks it is in. Instead, programs that care about the timezone
+(perhaps because they want to display a local time for you) almost
+always use a more traditional method of determining the timezone: They
+use the TZ environment variable and/or the
+.I /usr/share/zoneinfo
+directory, as explained in the man page for
+.BR tzset (3).
+However, some
+programs and fringe parts of the Linux kernel such as filesystems use
+the kernel timezone value. An example is the vfat filesystem. If the
+kernel timezone value is wrong, the vfat filesystem will report and
+set the wrong timestamps on files.
+.PP
+.B hwclock
+sets the kernel timezone to the value indicated by TZ and/or
+.I /usr/share/zoneinfo
+when you set the System Time using the
+.B \-\-hctosys
+option.
+.PP
+The timezone value actually consists of two parts: 1) a field
+tz_minuteswest indicating how many minutes local time (not adjusted
+for DST) lags behind UTC, and 2) a field tz_dsttime indicating
+the type of Daylight Savings Time (DST) convention that is in effect
+in the locality at the present time.
+This second field is not used under Linux and is always zero.
+(See also
+.BR settimeofday (2).)
+
+.SH Users access and setuid
+.PP
+Sometimes, you need to install
+.B hwclock
+setuid root. If you want users other than the superuser to be able to
+display the clock value using the direct ISA I/O method, install it setuid
+root. If you have the /dev/rtc interface on your system or are on a non-ISA
+system, there's probably no need for users to use the direct ISA I/O method,
+so don't bother.
+
+In any case, hwclock will not allow you to set anything unless you have the
+superuser real uid. (This is restriction is not necessary if you haven't
+installed setuid root, but it's there for now).
+
+.SH How hwclock Accesses the Hardware Clock
+.PP
+.B hwclock
+uses many different ways to get and set Hardware Clock values.
+The most normal way is to do I/O to the device special file /dev/rtc,
+which is presumed to be driven by the rtc device driver. However,
+this method is not always available. For one thing, the rtc driver is
+a relatively recent addition to Linux. Older systems don't have it.
+Also, though there are versions of the rtc driver that work on DEC
+Alphas, there appear to be plenty of Alphas on which the rtc driver
+does not work (a common symptom is hwclock hanging).
+Moreover, recent Linux systems have more generic support for RTCs,
+even systems that have more than one, so you might need to override
+the default by specifying
+.I /dev/rtc0
+or
+.I /dev/rtc1
+instead.
+.PP
+On older systems, the method of accessing the Hardware Clock depends on
+the system hardware.
+.PP
+On an ISA system,
+.B hwclock
+can directly access the "CMOS memory" registers that
+constitute the clock, by doing I/O to Ports 0x70 and 0x71. It does
+this with actual I/O instructions and consequently can only do it if
+running with superuser effective userid. (In the case of a Jensen
+Alpha, there is no way for
+.B hwclock
+to execute those I/O instructions, and so it uses instead the
+/dev/port device special file, which provides almost as low-level an
+interface to the I/O subsystem).
+
+This is a really poor method of accessing the clock, for all the
+reasons that user space programs are generally not supposed to do
+direct I/O and disable interrupts. Hwclock provides it because it is
+the only method available on ISA and Alpha systems which don't have
+working rtc device drivers available.
+
+.PP
+On an m68k system,
+.B hwclock
+can access the clock via the console driver, via the device special
+file /dev/tty1.
+.PP
+.B hwclock
+tries to use /dev/rtc. If it is compiled for a kernel that doesn't have
+that function or it is unable to open /dev/rtc
+(or the alternative special file you've defined on the command line)
+.B hwclock
+will fall back to another method, if available. On an ISA or Alpha
+machine, you can force
+.B hwclock
+to use the direct manipulation of the CMOS registers without even trying
+.I /dev/rtc
+by specifying the
+.B \-\-directisa
+option.
+
+
+.SH The Adjust Function
+.PP
+The Hardware Clock is usually not very accurate. However, much of its
+inaccuracy is completely predictable - it gains or loses the same amount
+of time every day. This is called systematic drift.
+.BR hwclock 's
+"adjust" function lets you make systematic corrections to correct the
+systematic drift.
+.PP
+It works like this:
+.B hwclock
+keeps a file,
+.IR /etc/adjtime ,
+that keeps some historical information. This is called the adjtime file.
+.PP
+Suppose you start with no adjtime file. You issue a
+.I hwclock \-\-set
+command to set the Hardware Clock to the true current time.
+.B Hwclock
+creates the adjtime file and records in it the current time as the
+last time the clock was calibrated.
+5 days later, the clock has gained 10 seconds, so you issue another
+.I hwclock \-\-set
+command to set it back 10 seconds.
+.B Hwclock
+updates the adjtime file to show the current time as the last time the
+clock was calibrated, and records 2 seconds per day as the systematic
+drift rate. 24 hours go by, and then you issue a
+.I hwclock \-\-adjust
+command.
+.B Hwclock
+consults the adjtime file and sees that the clock gains 2 seconds per
+day when left alone and that it has been left alone for exactly one
+day. So it subtracts 2 seconds from the Hardware Clock. It then
+records the current time as the last time the clock was adjusted.
+Another 24 hours goes by and you issue another
+.IR "hwclock \-\-adjust" .
+.B Hwclock
+does the same thing: subtracts 2 seconds and updates the adjtime file
+with the current time as the last time the clock was adjusted.
+.PP
+Every time you calibrate (set) the clock (using
+.I \-\-set
+or
+.IR \-\-systohc ),
+.B hwclock
+recalculates the systematic drift rate based on how long it has been
+since the last calibration, how long it has been since the last
+adjustment, what drift rate was assumed in any intervening
+adjustments, and the amount by which the clock is presently off.
+.PP
+A small amount of error creeps in any time
+.B hwclock
+sets the clock, so it refrains from making an adjustment that would be
+less than 1 second. Later on, when you request an adjustment again,
+the accumulated drift will be more than a second and
+.B hwclock
+will do the adjustment then.
+.PP
+It is good to do a
+.I hwclock \-\-adjust
+just before the
+.I hwclock \-\-hctosys
+at system startup time, and maybe periodically while the system is
+running via cron.
+.PP
+The adjtime file, while named for its historical purpose of controlling
+adjustments only, actually contains other information for use by hwclock
+in remembering information from one invocation to the next.
+.PP
+The format of the adjtime file is, in ASCII:
+.PP
+Line 1: 3 numbers, separated by blanks: 1) systematic drift rate in
+seconds per day, floating point decimal; 2) Resulting number of
+seconds since 1969 UTC of most recent adjustment or calibration,
+decimal integer; 3) zero (for compatibility with
+.BR clock (8))
+as a decimal integer.
+.PP
+Line 2: 1 number: Resulting number of seconds since 1969 UTC of most
+recent calibration. Zero if there has been no calibration yet or it
+is known that any previous calibration is moot (for example, because
+the Hardware Clock has been found, since that calibration, not to
+contain a valid time). This is a decimal integer.
+.PP
+Line 3: "UTC" or "LOCAL". Tells whether the Hardware Clock is set to
+Coordinated Universal Time or local time. You can always override this
+value with options on the
+.B hwclock
+command line.
+.PP
+You can use an adjtime file that was previously used with the
+.BR clock (8)
+program with
+.BR hwclock .
+
+
+.SH "Automatic Hardware Clock Synchronization By the Kernel"
+
+You should be aware of another way that the Hardware Clock is kept
+synchronized in some systems. The Linux kernel has a mode wherein it
+copies the System Time to the Hardware Clock every 11 minutes.
+This is a good mode to use when you are using something sophisticated
+like ntp to keep your System Time synchronized. (ntp is a way to keep
+your System Time synchronized either to a time server somewhere on the
+network or to a radio clock hooked up to your system. See RFC 1305).
+
+This mode (we'll call it "11 minute mode") is off until something
+turns it on. The ntp daemon xntpd is one thing that turns it on. You
+can turn it off by running anything, including
+.IR "hwclock \-\-hctosys" ,
+that sets the System Time the old fashioned way.
+
+To see if it is on or
+off, use the command
+.I adjtimex \-\-print
+and look at the value of "status". If the "64" bit of this number
+(expressed in binary) equal to 0, 11 minute mode is on. Otherwise, it
+is off.
+
+If your system runs with 11 minute mode on, don't use
+.I hwclock \-\-adjust
+or
+.IR "hwclock \-\-hctosys" .
+You'll just make a mess. It is acceptable to use a
+.I hwclock \-\-hctosys
+at startup time to get a reasonable System Time until your system is
+able to set the System Time from the external source and start 11
+minute mode.
+
+
+.SH ISA Hardware Clock Century value
+
+There is some sort of standard that defines CMOS memory Byte 50 on an ISA
+machine as an indicator of what century it is.
+.B hwclock
+does not use or set that byte because there are some machines that
+don't define the byte that way, and it really isn't necessary anyway,
+since the year-of-century does a good job of implying which century it
+is.
+
+If you have a bona fide use for a CMOS century byte, contact the
+.B hwclock
+maintainer; an option may be appropriate.
+
+Note that this section is only relevant when you are using the "direct
+ISA" method of accessing the Hardware Clock.
+ACPI provides a standard way to access century values, when they
+are supported by the hardware.
+
+.SH "ENVIRONMENT VARIABLES"
+.I TZ
+
+.SH FILES
+.I /etc/adjtime
+.I /usr/share/zoneinfo/
+.RI ( /usr/lib/zoneinfo
+on old systems)
+.I /dev/rtc
+.I /dev/rtc0
+.I /dev/port
+.I /dev/tty1
+.I /proc/cpuinfo
+
+.SH "SEE ALSO"
+.BR adjtimex (8),
+.BR date (1),
+.BR gettimeofday (2),
+.BR settimeofday (2),
+.BR crontab (1),
+.BR tzset (3)
+
+.SH AUTHORS
+Written by Bryan Henderson, September 1996 (bryanh@giraffe-data.com),
+based on work done on the
+.I clock
+program by Charles Hedrick, Rob Hooft, and Harald Koenig.
+See the source code for complete history and credits.
+
+.SH AVAILABILITY
+The hwclock command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c
new file mode 100644
index 0000000..e25546d
--- /dev/null
+++ b/sys-utils/hwclock.c
@@ -0,0 +1,1870 @@
+/*
+ * hwclock.c
+ *
+ * clock.c was written by Charles Hedrick, hedrick@cs.rutgers.edu, Apr 1992
+ * Modified for clock adjustments - Rob Hooft <hooft@chem.ruu.nl>, Nov 1992
+ * Improvements by Harald Koenig <koenig@nova.tat.physik.uni-tuebingen.de>
+ * and Alan Modra <alan@spri.levels.unisa.edu.au>.
+ *
+ * Major rewrite by Bryan Henderson <bryanh@giraffe-data.com>, 96.09.19.
+ * The new program is called hwclock. New features:
+ *
+ * - You can set the hardware clock without also modifying the system
+ * clock.
+ * - You can read and set the clock with finer than 1 second precision.
+ * - When you set the clock, hwclock automatically refigures the drift
+ * rate, based on how far off the clock was before you set it.
+ *
+ * Reshuffled things, added sparc code, and re-added alpha stuff
+ * by David Mosberger <davidm@azstarnet.com>
+ * and Jay Estabrook <jestabro@amt.tay1.dec.com>
+ * and Martin Ostermann <ost@coments.rwth-aachen.de>, aeb@cwi.nl, 990212.
+ *
+ * Fix for Award 2094 bug, Dave Coffin (dcoffin@shore.net) 11/12/98
+ * Change of local time handling, Stefan Ring <e9725446@stud3.tuwien.ac.at>
+ * Change of adjtime handling, James P. Rutledge <ao112@rgfn.epcc.edu>.
+ *
+ * Distributed under GPL
+ */
+/*
+ * Explanation of `adjusting' (Rob Hooft):
+ *
+ * The problem with my machine is that its CMOS clock is 10 seconds
+ * per day slow. With this version of clock.c, and my '/etc/rc.local'
+ * reading '/etc/clock -au' instead of '/etc/clock -u -s', this error
+ * is automatically corrected at every boot.
+ *
+ * To do this job, the program reads and writes the file '/etc/adjtime'
+ * to determine the correction, and to save its data. In this file are
+ * three numbers:
+ *
+ * 1) the correction in seconds per day. (So if your clock runs 5
+ * seconds per day fast, the first number should read -5.0)
+ * 2) the number of seconds since 1/1/1970 the last time the program
+ * was used
+ * 3) the remaining part of a second which was leftover after the last
+ * adjustment
+ *
+ * Installation and use of this program:
+ *
+ * a) create a file '/etc/adjtime' containing as the first and only
+ * line: '0.0 0 0.0'
+ * b) run 'clock -au' or 'clock -a', depending on whether your cmos is
+ * in universal or local time. This updates the second number.
+ * c) set your system time using the 'date' command.
+ * d) update your cmos time using 'clock -wu' or 'clock -w'
+ * e) replace the first number in /etc/adjtime by your correction.
+ * f) put the command 'clock -au' or 'clock -a' in your '/etc/rc.local'
+ */
+
+#include <errno.h>
+#include <getopt.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sysexits.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <time.h>
+#include <unistd.h>
+
+#define OPTUTILS_EXIT_CODE EX_USAGE
+
+#include "c.h"
+#include "closestream.h"
+#include "nls.h"
+#include "optutils.h"
+#include "pathnames.h"
+#include "strutils.h"
+#include "hwclock.h"
+
+#ifdef HAVE_LIBAUDIT
+#include <libaudit.h>
+static int hwaudit_fd = -1;
+static int hwaudit_on;
+#endif
+
+/* The struct that holds our hardware access routines */
+struct clock_ops *ur;
+
+#define FLOOR(arg) ((arg >= 0 ? (int) arg : ((int) arg) - 1));
+
+const char *adj_file_name = NULL;
+
+struct adjtime {
+ /*
+ * This is information we keep in the adjtime file that tells us how
+ * to do drift corrections. Elements are all straight from the
+ * adjtime file, so see documentation of that file for details.
+ * Exception is <dirty>, which is an indication that what's in this
+ * structure is not what's in the disk file (because it has been
+ * updated since read from the disk file).
+ */
+ bool dirty;
+ /* line 1 */
+ double drift_factor;
+ time_t last_adj_time;
+ double not_adjusted;
+ /* line 2 */
+ time_t last_calib_time;
+ /*
+ * The most recent time that we set the clock from an external
+ * authority (as opposed to just doing a drift adjustment)
+ */
+ /* line 3 */
+ enum a_local_utc { LOCAL, UTC, UNKNOWN } local_utc;
+ /*
+ * To which time zone, local or UTC, we most recently set the
+ * hardware clock.
+ */
+};
+
+/*
+ * We are running in debug mode, wherein we put a lot of information about
+ * what we're doing to standard output.
+ */
+bool debug;
+
+/* Workaround for Award 4.50g BIOS bug: keep the year in a file. */
+bool badyear;
+
+/* User-specified epoch, used when rtc fails to return epoch. */
+unsigned long epoch_option = -1;
+
+/*
+ * Almost all Award BIOS's made between 04/26/94 and 05/31/95 have a nasty
+ * bug limiting the RTC year byte to the range 94-99. Any year between 2000
+ * and 2093 gets changed to 2094, every time you start the system.
+ *
+ * With the --badyear option, we write the date to file and hope that the
+ * file is updated at least once a year. I recommend putting this command
+ * "hwclock --badyear" in the monthly crontab, just to be safe.
+ *
+ * -- Dave Coffin 11/12/98
+ */
+static void write_date_to_file(struct tm *tm)
+{
+ FILE *fp;
+
+ if ((fp = fopen(_PATH_LASTDATE, "w"))) {
+ fprintf(fp, "%02d.%02d.%04d\n", tm->tm_mday, tm->tm_mon + 1,
+ tm->tm_year + 1900);
+ if (close_stream(fp) != 0)
+ warn(_("cannot write %s"), _PATH_LASTDATE);
+ } else
+ warn(_("cannot write %s"), _PATH_LASTDATE);
+}
+
+static void read_date_from_file(struct tm *tm)
+{
+ int last_mday, last_mon, last_year;
+ FILE *fp;
+
+ if ((fp = fopen(_PATH_LASTDATE, "r"))) {
+ if (fscanf(fp, "%d.%d.%d\n", &last_mday, &last_mon, &last_year)
+ == 3) {
+ tm->tm_year = last_year - 1900;
+ if ((tm->tm_mon << 5) + tm->tm_mday <
+ ((last_mon - 1) << 5) + last_mday)
+ tm->tm_year++;
+ }
+ fclose(fp);
+ }
+ write_date_to_file(tm);
+}
+
+/*
+ * The difference in seconds between two times in "timeval" format.
+ */
+double time_diff(struct timeval subtrahend, struct timeval subtractor)
+{
+ return (subtrahend.tv_sec - subtractor.tv_sec)
+ + (subtrahend.tv_usec - subtractor.tv_usec) / 1E6;
+}
+
+/*
+ * The time, in "timeval" format, which is <increment> seconds after the
+ * time <addend>. Of course, <increment> may be negative.
+ */
+static struct timeval time_inc(struct timeval addend, double increment)
+{
+ struct timeval newtime;
+
+ newtime.tv_sec = addend.tv_sec + (int)increment;
+ newtime.tv_usec = addend.tv_usec + (increment - (int)increment) * 1E6;
+
+ /*
+ * Now adjust it so that the microsecond value is between 0 and 1
+ * million.
+ */
+ if (newtime.tv_usec < 0) {
+ newtime.tv_usec += 1E6;
+ newtime.tv_sec -= 1;
+ } else if (newtime.tv_usec >= 1E6) {
+ newtime.tv_usec -= 1E6;
+ newtime.tv_sec += 1;
+ }
+ return newtime;
+}
+
+static bool
+hw_clock_is_utc(const bool utc, const bool local_opt,
+ const struct adjtime adjtime)
+{
+ bool ret;
+
+ if (utc)
+ ret = TRUE; /* --utc explicitly given on command line */
+ else if (local_opt)
+ ret = FALSE; /* --localtime explicitly given */
+ else
+ /* get info from adjtime file - default is UTC */
+ ret = (adjtime.local_utc != LOCAL);
+ if (debug)
+ printf(_("Assuming hardware clock is kept in %s time.\n"),
+ ret ? _("UTC") : _("local"));
+ return ret;
+}
+
+/*
+ * Read the adjustment parameters out of the /etc/adjtime file.
+ *
+ * Return them as the adjtime structure <*adjtime_p>. If there is no
+ * /etc/adjtime file, return defaults. If values are missing from the file,
+ * return defaults for them.
+ *
+ * return value 0 if all OK, !=0 otherwise.
+ */
+static int read_adjtime(struct adjtime *adjtime_p)
+{
+ FILE *adjfile;
+ int rc; /* local return code */
+ struct stat statbuf; /* We don't even use the contents of this. */
+ char line1[81]; /* String: first line of adjtime file */
+ char line2[81]; /* String: second line of adjtime file */
+ char line3[81]; /* String: third line of adjtime file */
+ long timeval;
+
+ rc = stat(adj_file_name, &statbuf);
+ if (rc < 0 && errno == ENOENT) {
+ /* He doesn't have a adjtime file, so we'll use defaults. */
+ adjtime_p->drift_factor = 0;
+ adjtime_p->last_adj_time = 0;
+ adjtime_p->not_adjusted = 0;
+ adjtime_p->last_calib_time = 0;
+ adjtime_p->local_utc = UNKNOWN;
+ adjtime_p->dirty = FALSE; /* don't create a zero adjfile */
+
+ return 0;
+ }
+
+ adjfile = fopen(adj_file_name, "r"); /* open file for reading */
+ if (adjfile == NULL) {
+ warn("cannot open %s", adj_file_name);
+ return EX_OSFILE;
+ }
+
+
+ if (!fgets(line1, sizeof(line1), adjfile))
+ line1[0] = '\0'; /* In case fgets fails */
+ if (!fgets(line2, sizeof(line2), adjfile))
+ line2[0] = '\0'; /* In case fgets fails */
+ if (!fgets(line3, sizeof(line3), adjfile))
+ line3[0] = '\0'; /* In case fgets fails */
+
+ fclose(adjfile);
+
+ /* Set defaults in case values are missing from file */
+ adjtime_p->drift_factor = 0;
+ adjtime_p->last_adj_time = 0;
+ adjtime_p->not_adjusted = 0;
+ adjtime_p->last_calib_time = 0;
+ timeval = 0;
+
+ sscanf(line1, "%lf %ld %lf",
+ &adjtime_p->drift_factor,
+ &timeval, &adjtime_p->not_adjusted);
+ adjtime_p->last_adj_time = timeval;
+
+ sscanf(line2, "%ld", &timeval);
+ adjtime_p->last_calib_time = timeval;
+
+ if (!strcmp(line3, "UTC\n")) {
+ adjtime_p->local_utc = UTC;
+ } else if (!strcmp(line3, "LOCAL\n")) {
+ adjtime_p->local_utc = LOCAL;
+ } else {
+ adjtime_p->local_utc = UNKNOWN;
+ if (line3[0]) {
+ warnx(_("Warning: unrecognized third line in adjtime file\n"
+ "(Expected: `UTC' or `LOCAL' or nothing.)"));
+ }
+ }
+
+ adjtime_p->dirty = FALSE;
+
+ if (debug) {
+ printf(_
+ ("Last drift adjustment done at %ld seconds after 1969\n"),
+ (long)adjtime_p->last_adj_time);
+ printf(_("Last calibration done at %ld seconds after 1969\n"),
+ (long)adjtime_p->last_calib_time);
+ printf(_("Hardware clock is on %s time\n"),
+ (adjtime_p->local_utc ==
+ LOCAL) ? _("local") : (adjtime_p->local_utc ==
+ UTC) ? _("UTC") : _("unknown"));
+ }
+
+ return 0;
+}
+
+/*
+ * Wait until the falling edge of the Hardware Clock's update flag so that
+ * any time that is read from the clock immediately after we return will be
+ * exact.
+ *
+ * The clock only has 1 second precision, so it gives the exact time only
+ * once per second, right on the falling edge of the update flag.
+ *
+ * We wait (up to one second) either blocked waiting for an rtc device or in
+ * a CPU spin loop. The former is probably not very accurate.
+ *
+ * Return 0 if it worked, nonzero if it didn't.
+ */
+static int synchronize_to_clock_tick(void)
+{
+ int rc;
+
+ if (debug)
+ printf(_("Waiting for clock tick...\n"));
+
+ rc = ur->synchronize_to_clock_tick();
+
+ if (debug) {
+ if (rc)
+ printf(_("...synchronization failed\n"));
+ else
+ printf(_("...got clock tick\n"));
+ }
+
+ return rc;
+}
+
+/*
+ * Convert a time in broken down format (hours, minutes, etc.) into standard
+ * unix time (seconds into epoch). Return it as *systime_p.
+ *
+ * The broken down time is argument <tm>. This broken down time is either
+ * in local time zone or UTC, depending on value of logical argument
+ * "universal". True means it is in UTC.
+ *
+ * If the argument contains values that do not constitute a valid time, and
+ * mktime() recognizes this, return *valid_p == false and *systime_p
+ * undefined. However, mktime() sometimes goes ahead and computes a
+ * fictional time "as if" the input values were valid, e.g. if they indicate
+ * the 31st day of April, mktime() may compute the time of May 1. In such a
+ * case, we return the same fictional value mktime() does as *systime_p and
+ * return *valid_p == true.
+ */
+static void
+mktime_tz(struct tm tm, const bool universal,
+ bool * valid_p, time_t * systime_p)
+{
+ time_t mktime_result; /* The value returned by our mktime() call */
+ char *zone; /* Local time zone name */
+
+ /*
+ * We use the C library function mktime(), but since it only works
+ * on local time zone input, we may have to fake it out by
+ * temporarily changing the local time zone to UTC.
+ */
+ zone = getenv("TZ"); /* remember original time zone */
+ if (universal) {
+ /* Set timezone to UTC */
+ setenv("TZ", "", TRUE);
+ /*
+ * Note: tzset() gets called implicitly by the time code,
+ * but only the first time. When changing the environment
+ * variable, better call tzset() explicitly.
+ */
+ tzset();
+ }
+ mktime_result = mktime(&tm);
+ if (mktime_result == -1) {
+ /*
+ * This apparently (not specified in mktime() documentation)
+ * means the 'tm' structure does not contain valid values
+ * (however, not containing valid values does _not_ imply
+ * mktime() returns -1).
+ */
+ *valid_p = FALSE;
+ *systime_p = 0;
+ if (debug)
+ printf(_("Invalid values in hardware clock: "
+ "%4d/%.2d/%.2d %.2d:%.2d:%.2d\n"),
+ tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
+ tm.tm_hour, tm.tm_min, tm.tm_sec);
+ } else {
+ *valid_p = TRUE;
+ *systime_p = mktime_result;
+ if (debug)
+ printf(_
+ ("Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = "
+ "%ld seconds since 1969\n"), tm.tm_year + 1900,
+ tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min,
+ tm.tm_sec, (long)*systime_p);
+ }
+ /* now put back the original zone. */
+ if (zone)
+ setenv("TZ", zone, TRUE);
+ else
+ unsetenv("TZ");
+ tzset();
+}
+
+/*
+ * Read the hardware clock and return the current time via <tm> argument.
+ *
+ * Use the method indicated by <method> argument to access the hardware
+ * clock.
+ */
+static int
+read_hardware_clock(const bool universal, bool * valid_p, time_t * systime_p)
+{
+ struct tm tm;
+ int err;
+
+ err = ur->read_hardware_clock(&tm);
+ if (err)
+ return err;
+
+ if (badyear)
+ read_date_from_file(&tm);
+
+ if (debug)
+ printf(_
+ ("Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"),
+ tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour,
+ tm.tm_min, tm.tm_sec);
+ mktime_tz(tm, universal, valid_p, systime_p);
+
+ return 0;
+}
+
+/*
+ * Set the Hardware Clock to the time <newtime>, in local time zone or UTC,
+ * according to <universal>.
+ */
+static void
+set_hardware_clock(const time_t newtime,
+ const bool universal, const bool testing)
+{
+ struct tm new_broken_time;
+ /*
+ * Time to which we will set Hardware Clock, in broken down format,
+ * in the time zone of caller's choice
+ */
+
+ if (universal)
+ new_broken_time = *gmtime(&newtime);
+ else
+ new_broken_time = *localtime(&newtime);
+
+ if (debug)
+ printf(_("Setting Hardware Clock to %.2d:%.2d:%.2d "
+ "= %ld seconds since 1969\n"),
+ new_broken_time.tm_hour, new_broken_time.tm_min,
+ new_broken_time.tm_sec, (long)newtime);
+
+ if (testing)
+ printf(_("Clock not changed - testing only.\n"));
+ else {
+ if (badyear) {
+ /*
+ * Write the real year to a file, then write a fake
+ * year between 1995 and 1998 to the RTC. This way,
+ * Award BIOS boots on 29 Feb 2000 thinking that
+ * it's 29 Feb 1996.
+ */
+ write_date_to_file(&new_broken_time);
+ new_broken_time.tm_year =
+ 95 + ((new_broken_time.tm_year + 1) & 3);
+ }
+ ur->set_hardware_clock(&new_broken_time);
+ }
+}
+
+/*
+ * Set the Hardware Clock to the time "sethwtime", in local time zone or
+ * UTC, according to "universal".
+ *
+ * Wait for a fraction of a second so that "sethwtime" is the value of the
+ * Hardware Clock as of system time "refsystime", which is in the past. For
+ * example, if "sethwtime" is 14:03:05 and "refsystime" is 12:10:04.5 and
+ * the current system time is 12:10:06.0: Wait .5 seconds (to make exactly 2
+ * seconds since "refsystime") and then set the Hardware Clock to 14:03:07,
+ * thus getting a precise and retroactive setting of the clock.
+ *
+ * (Don't be confused by the fact that the system clock and the Hardware
+ * Clock differ by two hours in the above example. That's just to remind you
+ * that there are two independent time scales here).
+ *
+ * This function ought to be able to accept set times as fractional times.
+ * Idea for future enhancement.
+ */
+static void
+set_hardware_clock_exact(const time_t sethwtime,
+ const struct timeval refsystime,
+ const bool universal, const bool testing)
+{
+ time_t newhwtime = sethwtime;
+ struct timeval beginsystime, nowsystime;
+ double tdiff;
+ int time_resync = 1;
+
+ /*
+ * Now delay some more until Hardware Clock time newhwtime arrives.
+ * The 0.5 s is because the Hardware Clock always sets to your set
+ * time plus 500 ms (because it is designed to update to the next
+ * second precisely 500 ms after you finish the setting).
+ */
+ do {
+ if (time_resync) {
+ gettimeofday(&beginsystime, NULL);
+ tdiff = time_diff(beginsystime, refsystime);
+ newhwtime = sethwtime + (int)(tdiff + 0.5);
+ if (debug)
+ printf(_
+ ("Time elapsed since reference time has been %.6f seconds.\n"
+ "Delaying further to reach the new time.\n"),
+ tdiff);
+ time_resync = 0;
+ }
+
+ gettimeofday(&nowsystime, NULL);
+ tdiff = time_diff(nowsystime, beginsystime);
+ if (tdiff < 0) {
+ time_resync = 1; /* probably backward time reset */
+ continue;
+ }
+ if (tdiff > 0.1) {
+ time_resync = 1; /* probably forward time reset */
+ continue;
+ }
+ beginsystime = nowsystime;
+ tdiff = time_diff(nowsystime, refsystime);
+ } while (newhwtime == sethwtime + (int)(tdiff + 0.5));
+
+ set_hardware_clock(newhwtime, universal, testing);
+}
+
+/*
+ * Put the time "systime" on standard output in display format. Except if
+ * hclock_valid == false, just tell standard output that we don't know what
+ * time it is.
+ *
+ * Include in the output the adjustment "sync_duration".
+ */
+static void
+display_time(const bool hclock_valid, const time_t systime,
+ const double sync_duration)
+{
+ if (!hclock_valid)
+ warnx(_
+ ("The Hardware Clock registers contain values that are "
+ "either invalid (e.g. 50th day of month) or beyond the range "
+ "we can handle (e.g. Year 2095)."));
+ else {
+ struct tm *lt;
+ char *format = "%c";
+ char ctime_now[200];
+
+ lt = localtime(&systime);
+ strftime(ctime_now, sizeof(ctime_now), format, lt);
+ printf(_("%s %.6f seconds\n"), ctime_now, -(sync_duration));
+ }
+}
+
+/*
+ * Interpret the value of the --date option, which is something like
+ * "13:05:01". In fact, it can be any of the myriad ASCII strings that
+ * specify a time which the "date" program can understand. The date option
+ * value in question is our "dateopt" argument.
+ *
+ * The specified time is in the local time zone.
+ *
+ * Our output, "*time_p", is a seconds-into-epoch time.
+ *
+ * We use the "date" program to interpret the date string. "date" must be
+ * runnable by issuing the command "date" to the /bin/sh shell. That means
+ * in must be in the current PATH.
+ *
+ * If anything goes wrong (and many things can), we return return code 10
+ * and arbitrary *time_p. Otherwise, return code is 0 and *time_p is valid.
+ */
+static int interpret_date_string(const char *date_opt, time_t * const time_p)
+{
+ FILE *date_child_fp;
+ char date_resp[100];
+ const char magic[] = "seconds-into-epoch=";
+ char date_command[100];
+ int retcode; /* our eventual return code */
+ int rc; /* local return code */
+
+ if (date_opt == NULL) {
+ warnx(_("No --date option specified."));
+ return 14;
+ }
+
+ /* prevent overflow - a security risk */
+ if (strlen(date_opt) > sizeof(date_command) - 50) {
+ warnx(_("--date argument too long"));
+ return 13;
+ }
+
+ /* Quotes in date_opt would ruin the date command we construct. */
+ if (strchr(date_opt, '"') != NULL) {
+ warnx(_
+ ("The value of the --date option is not a valid date.\n"
+ "In particular, it contains quotation marks."));
+ return 12;
+ }
+
+ sprintf(date_command, "date --date=\"%s\" +seconds-into-epoch=%%s",
+ date_opt);
+ if (debug)
+ printf(_("Issuing date command: %s\n"), date_command);
+
+ date_child_fp = popen(date_command, "r");
+ if (date_child_fp == NULL) {
+ warn(_("Unable to run 'date' program in /bin/sh shell. "
+ "popen() failed"));
+ return 10;
+ }
+
+ if (!fgets(date_resp, sizeof(date_resp), date_child_fp))
+ date_resp[0] = '\0'; /* in case fgets fails */
+ if (debug)
+ printf(_("response from date command = %s\n"), date_resp);
+ if (strncmp(date_resp, magic, sizeof(magic) - 1) != 0) {
+ warnx(_("The date command issued by %s returned "
+ "unexpected results.\n"
+ "The command was:\n %s\n"
+ "The response was:\n %s"),
+ program_invocation_short_name, date_command, date_resp);
+ retcode = 8;
+ } else {
+ long seconds_since_epoch;
+ rc = sscanf(date_resp + sizeof(magic) - 1, "%ld",
+ &seconds_since_epoch);
+ if (rc < 1) {
+ warnx(_("The date command issued by %s returned "
+ "something other than an integer where the "
+ "converted time value was expected.\n"
+ "The command was:\n %s\n"
+ "The response was:\n %s\n"),
+ program_invocation_short_name, date_command,
+ date_resp);
+ retcode = 6;
+ } else {
+ retcode = 0;
+ *time_p = seconds_since_epoch;
+ if (debug)
+ printf(_("date string %s equates to "
+ "%ld seconds since 1969.\n"),
+ date_opt, (long)*time_p);
+ }
+ }
+ pclose(date_child_fp);
+
+ return retcode;
+}
+
+/*
+ * Set the System Clock to time 'newtime'.
+ *
+ * Also set the kernel time zone value to the value indicated by the TZ
+ * environment variable and/or /usr/lib/zoneinfo/, interpreted as tzset()
+ * would interpret them.
+ *
+ * EXCEPT: if hclock_valid is false, just issue an error message saying
+ * there is no valid time in the Hardware Clock to which to set the system
+ * time.
+ *
+ * If 'testing' is true, don't actually update anything -- just say we would
+ * have.
+ */
+static int
+set_system_clock(const bool hclock_valid, const time_t newtime,
+ const bool testing)
+{
+ int retcode;
+
+ if (!hclock_valid) {
+ warnx(_
+ ("The Hardware Clock does not contain a valid time, so "
+ "we cannot set the System Time from it."));
+ retcode = 1;
+ } else {
+ struct timeval tv;
+ struct tm *broken;
+ int minuteswest;
+ int rc;
+
+ tv.tv_sec = newtime;
+ tv.tv_usec = 0;
+
+ broken = localtime(&newtime);
+#ifdef HAVE_TM_GMTOFF
+ minuteswest = -broken->tm_gmtoff / 60; /* GNU extension */
+#else
+ minuteswest = timezone / 60;
+ if (broken->tm_isdst)
+ minuteswest -= 60;
+#endif
+
+ if (debug) {
+ printf(_("Calling settimeofday:\n"));
+ printf(_("\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"),
+ (long)tv.tv_sec, (long)tv.tv_usec);
+ printf(_("\ttz.tz_minuteswest = %d\n"), minuteswest);
+ }
+ if (testing) {
+ printf(_
+ ("Not setting system clock because running in test mode.\n"));
+ retcode = 0;
+ } else {
+ const struct timezone tz = { minuteswest, 0 };
+
+ rc = settimeofday(&tv, &tz);
+ if (rc) {
+ if (errno == EPERM) {
+ warnx(_
+ ("Must be superuser to set system clock."));
+ retcode = EX_NOPERM;
+ } else {
+ warn(_("settimeofday() failed"));
+ retcode = 1;
+ }
+ } else
+ retcode = 0;
+ }
+ }
+ return retcode;
+}
+
+/*
+ * Reset the System Clock from local time to UTC, based on its current value
+ * and the timezone unless universal is TRUE.
+ *
+ * Also set the kernel time zone value to the value indicated by the TZ
+ * environment variable and/or /usr/lib/zoneinfo/, interpreted as tzset()
+ * would interpret them.
+ *
+ * If 'testing' is true, don't actually update anything -- just say we would
+ * have.
+ */
+static int set_system_clock_timezone(const bool universal, const bool testing)
+{
+ int retcode;
+ struct timeval tv;
+ struct tm *broken;
+ int minuteswest;
+ int rc;
+
+ gettimeofday(&tv, NULL);
+ if (debug) {
+ struct tm broken_time;
+ char ctime_now[200];
+
+ broken_time = *gmtime(&tv.tv_sec);
+ strftime(ctime_now, sizeof(ctime_now), "%Y/%m/%d %H:%M:%S",
+ &broken_time);
+ printf(_("Current system time: %ld = %s\n"), (long)tv.tv_sec,
+ ctime_now);
+ }
+
+ broken = localtime(&tv.tv_sec);
+#ifdef HAVE_TM_GMTOFF
+ minuteswest = -broken->tm_gmtoff / 60; /* GNU extension */
+#else
+ minuteswest = timezone / 60;
+ if (broken->tm_isdst)
+ minuteswest -= 60;
+#endif
+
+ if (debug) {
+ struct tm broken_time;
+ char ctime_now[200];
+
+ gettimeofday(&tv, NULL);
+ if (!universal)
+ tv.tv_sec += minuteswest * 60;
+
+ broken_time = *gmtime(&tv.tv_sec);
+ strftime(ctime_now, sizeof(ctime_now), "%Y/%m/%d %H:%M:%S",
+ &broken_time);
+
+ printf(_("Calling settimeofday:\n"));
+ printf(_("\tUTC: %s\n"), ctime_now);
+ printf(_("\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"),
+ (long)tv.tv_sec, (long)tv.tv_usec);
+ printf(_("\ttz.tz_minuteswest = %d\n"), minuteswest);
+ }
+ if (testing) {
+ printf(_
+ ("Not setting system clock because running in test mode.\n"));
+ retcode = 0;
+ } else {
+ const struct timezone tz = { minuteswest, 0 };
+ const struct timeval *tv_null = NULL;
+
+ rc = settimeofday(tv_null, &tz);
+ if (rc) {
+ if (errno == EPERM) {
+ warnx(_
+ ("Must be superuser to set system clock."));
+ retcode = EX_NOPERM;
+ } else {
+ warn(_("settimeofday() failed"));
+ retcode = 1;
+ }
+ } else
+ retcode = 0;
+ }
+ return retcode;
+}
+
+/*
+ * Update the drift factor in <*adjtime_p> to reflect the fact that the
+ * Hardware Clock was calibrated to <nowtime> and before that was set to
+ * <hclocktime>.
+ *
+ * We record in the adjtime file the time at which we last calibrated the
+ * clock so we can compute the drift rate each time we calibrate.
+ *
+ * EXCEPT: if <hclock_valid> is false, assume Hardware Clock was not set
+ * before to anything meaningful and regular adjustments have not been done,
+ * so don't adjust the drift factor.
+ */
+static void
+adjust_drift_factor(struct adjtime *adjtime_p,
+ const time_t nowtime,
+ const bool hclock_valid,
+ const time_t hclocktime, const double sync_delay)
+{
+ if (!hclock_valid) {
+ if (debug)
+ printf(_("Not adjusting drift factor because the "
+ "Hardware Clock previously contained "
+ "garbage.\n"));
+ } else if (adjtime_p->last_calib_time == 0) {
+ if (debug)
+ printf(_("Not adjusting drift factor because last "
+ "calibration time is zero,\n"
+ "so history is bad and calibration startover "
+ "is necessary.\n"));
+ } else if ((hclocktime - adjtime_p->last_calib_time) < 23 * 60 * 60) {
+ if (debug)
+ printf(_("Not adjusting drift factor because it has "
+ "been less than a day since the last "
+ "calibration.\n"));
+ } else if (adjtime_p->last_calib_time != 0) {
+ /*
+ * At adjustment time we adjust the hardware clock according
+ * to the contents of /etc/adjtime.
+ *
+ * At calibration time we set the hardware clock and update
+ * /etc/adjtime, that is, for each calibration (except the
+ * first) we also do an adjustment.
+ *
+ * We are now at calibration time.
+ *
+ * Let us do computation in doubles. (Floats almost suffice,
+ * but 195 days + 1 second equals 195 days in floats.)
+ */
+ const double sec_per_day = 24.0 * 60.0 * 60.0;
+ double atime_per_htime;
+ double adj_days, cal_days;
+ double exp_drift, unc_drift;
+ double factor_adjust;
+
+ /* Adjusted time units per hardware time unit */
+ atime_per_htime = 1.0 + adjtime_p->drift_factor / sec_per_day;
+
+ /* Days since last adjustment (in hardware clock time) */
+ adj_days = (double)(hclocktime - adjtime_p->last_adj_time)
+ / sec_per_day;
+
+ /* Expected drift (sec) since last adjustment */
+ exp_drift = adj_days * adjtime_p->drift_factor
+ + adjtime_p->not_adjusted;
+
+ /* Uncorrected drift (sec) since last calibration */
+ unc_drift = (double)(nowtime - hclocktime)
+ + sync_delay - exp_drift;
+
+ /* Days since last calibration (in hardware clock time) */
+ cal_days = ((double)(adjtime_p->last_adj_time
+ - adjtime_p->last_calib_time)
+ + adjtime_p->not_adjusted)
+ / (sec_per_day * atime_per_htime) + adj_days;
+
+ /* Amount to add to previous drift factor */
+ factor_adjust = unc_drift / cal_days;
+
+ if (debug)
+ printf(_("Clock drifted %.1f seconds in the past "
+ "%d seconds in spite of a drift factor of "
+ "%f seconds/day.\n"
+ "Adjusting drift factor by %f seconds/day\n"),
+ unc_drift,
+ (int)(nowtime - adjtime_p->last_calib_time),
+ adjtime_p->drift_factor, factor_adjust);
+
+ adjtime_p->drift_factor += factor_adjust;
+ }
+ adjtime_p->last_calib_time = nowtime;
+
+ adjtime_p->last_adj_time = nowtime;
+
+ adjtime_p->not_adjusted = 0;
+
+ adjtime_p->dirty = TRUE;
+}
+
+/*
+ * Do the drift adjustment calculation.
+ *
+ * The way we have to set the clock, we need the adjustment in two parts:
+ *
+ * 1) an integer number of seconds (return as *adjustment_p)
+ * 2) a positive fraction of a second (less than 1) (return as *retro_p)
+ *
+ * The sum of these two values is the adjustment needed. Positive means to
+ * advance the clock or insert seconds. Negative means to retard the clock
+ * or remove seconds.
+ */
+static void
+calculate_adjustment(const double factor,
+ const time_t last_time,
+ const double not_adjusted,
+ const time_t systime, int *adjustment_p, double *retro_p)
+{
+ double exact_adjustment;
+
+ exact_adjustment =
+ ((double)(systime - last_time)) * factor / (24 * 60 * 60)
+ + not_adjusted;
+ *adjustment_p = FLOOR(exact_adjustment);
+
+ *retro_p = exact_adjustment - (double)*adjustment_p;
+ if (debug) {
+ printf(_("Time since last adjustment is %d seconds\n"),
+ (int)(systime - last_time));
+ printf(_("Need to insert %d seconds and refer time back "
+ "%.6f seconds ago\n"), *adjustment_p, *retro_p);
+ }
+}
+
+/*
+ * Write the contents of the <adjtime> structure to its disk file.
+ *
+ * But if the contents are clean (unchanged since read from disk), don't
+ * bother.
+ */
+static void save_adjtime(const struct adjtime adjtime, const bool testing)
+{
+ char newfile[412]; /* Stuff to write to disk file */
+
+ if (adjtime.dirty) {
+ /*
+ * snprintf is not always available, but this is safe as
+ * long as libc does not use more than 100 positions for %ld
+ * or %f
+ */
+ sprintf(newfile, "%f %ld %f\n%ld\n%s\n",
+ adjtime.drift_factor,
+ (long)adjtime.last_adj_time,
+ adjtime.not_adjusted,
+ (long)adjtime.last_calib_time,
+ (adjtime.local_utc == UTC) ? "UTC" : "LOCAL");
+
+ if (testing) {
+ printf(_
+ ("Not updating adjtime file because of testing mode.\n"));
+ printf(_("Would have written the following to %s:\n%s"),
+ adj_file_name, newfile);
+ } else {
+ FILE *adjfile;
+ int err = 0;
+
+ adjfile = fopen(adj_file_name, "w");
+ if (adjfile == NULL) {
+ warn(_
+ ("Could not open file with the clock adjustment parameters "
+ "in it (%s) for writing"), adj_file_name);
+ err = 1;
+ } else {
+ if (fputs(newfile, adjfile) < 0) {
+ warn(_
+ ("Could not update file with the clock adjustment "
+ "parameters (%s) in it"),
+ adj_file_name);
+ err = 1;
+ }
+ if (close_stream(adjfile) != 0) {
+ warn(_
+ ("Could not update file with the clock adjustment "
+ "parameters (%s) in it"),
+ adj_file_name);
+ err = 1;
+ }
+ }
+ if (err)
+ warnx(_
+ ("Drift adjustment parameters not updated."));
+ }
+ }
+}
+
+/*
+ * Do the adjustment requested, by 1) setting the Hardware Clock (if
+ * necessary), and 2) updating the last-adjusted time in the adjtime
+ * structure.
+ *
+ * Do not update anything if the Hardware Clock does not currently present a
+ * valid time.
+ *
+ * Arguments <factor> and <last_time> are current values from the adjtime
+ * file.
+ *
+ * <hclock_valid> means the Hardware Clock contains a valid time, and that
+ * time is <hclocktime>.
+ *
+ * <read_time> is the current system time (to be precise, it is the system
+ * time at the time <hclocktime> was read, which due to computational delay
+ * could be a short time ago).
+ *
+ * <universal>: the Hardware Clock is kept in UTC.
+ *
+ * <testing>: We are running in test mode (no updating of clock).
+ *
+ * We do not bother to update the clock if the adjustment would be less than
+ * one second. This is to avoid cumulative error and needless CPU hogging
+ * (remember we use an infinite loop for some timing) if the user runs us
+ * frequently.
+ */
+static void
+do_adjustment(struct adjtime *adjtime_p,
+ const bool hclock_valid, const time_t hclocktime,
+ const struct timeval read_time,
+ const bool universal, const bool testing)
+{
+ if (!hclock_valid) {
+ warnx(_("The Hardware Clock does not contain a valid time, "
+ "so we cannot adjust it."));
+ adjtime_p->last_calib_time = 0; /* calibration startover is required */
+ adjtime_p->last_adj_time = 0;
+ adjtime_p->not_adjusted = 0;
+ adjtime_p->dirty = TRUE;
+ } else if (adjtime_p->last_adj_time == 0) {
+ if (debug)
+ printf(_
+ ("Not setting clock because last adjustment time is zero, "
+ "so history is bad."));
+ } else {
+ int adjustment;
+ /* Number of seconds we must insert in the Hardware Clock */
+ double retro;
+ /*
+ * Fraction of second we have to remove from clock after
+ * inserting <adjustment> whole seconds.
+ */
+ calculate_adjustment(adjtime_p->drift_factor,
+ adjtime_p->last_adj_time,
+ adjtime_p->not_adjusted,
+ hclocktime, &adjustment, &retro);
+ if (adjustment > 0 || adjustment < -1) {
+ set_hardware_clock_exact(hclocktime + adjustment,
+ time_inc(read_time, -retro),
+ universal, testing);
+ adjtime_p->last_adj_time = hclocktime + adjustment;
+ adjtime_p->not_adjusted = 0;
+ adjtime_p->dirty = TRUE;
+ } else if (debug)
+ printf(_("Needed adjustment is less than one second, "
+ "so not setting clock.\n"));
+ }
+}
+
+static void determine_clock_access_method(const bool user_requests_ISA)
+{
+ ur = NULL;
+
+ if (user_requests_ISA)
+ ur = probe_for_cmos_clock();
+
+#ifdef __linux__
+ if (!ur)
+ ur = probe_for_rtc_clock();
+#endif
+
+ if (!ur)
+ ur = probe_for_kd_clock();
+
+ if (!ur && !user_requests_ISA)
+ ur = probe_for_cmos_clock();
+
+ if (debug) {
+ if (ur)
+ printf(_("Using %s.\n"), ur->interface_name);
+ else
+ printf(_("No usable clock interface found.\n"));
+ }
+}
+
+/*
+ * Do all the normal work of hwclock - read, set clock, etc.
+ *
+ * Issue output to stdout and error message to stderr where appropriate.
+ *
+ * Return rc == 0 if everything went OK, rc != 0 if not.
+ */
+static int
+manipulate_clock(const bool show, const bool adjust, const bool noadjfile,
+ const bool set, const time_t set_time,
+ const bool hctosys, const bool systohc, const bool systz,
+ const struct timeval startup_time,
+ const bool utc, const bool local_opt,
+ const bool testing, const bool predict)
+{
+ /* Contents of the adjtime file, or what they should be. */
+ struct adjtime adjtime;
+ bool universal;
+ /* Set if user lacks necessary authorization to access the clock */
+ bool no_auth;
+ /* The time at which we read the Hardware Clock */
+ struct timeval read_time;
+ /*
+ * The Hardware Clock gives us a valid time, or at
+ * least something close enough to fool mktime().
+ */
+ bool hclock_valid = FALSE;
+ /*
+ * The time the hardware clock had just after we
+ * synchronized to its next clock tick when we
+ * started up. Defined only if hclock_valid is true.
+ */
+ time_t hclocktime = 0;
+ /* local return code */
+ int rc = 0;
+
+ if (!systz && !predict) {
+ no_auth = ur->get_permissions();
+ if (no_auth)
+ return EX_NOPERM;
+ }
+
+ if (!noadjfile
+ && (adjust || set || systohc || (!utc && !local_opt) || predict)) {
+ rc = read_adjtime(&adjtime);
+ if (rc)
+ return rc;
+ } else {
+ /* A little trick to avoid reading the file if we don't have to */
+ adjtime.dirty = FALSE;
+ }
+
+ universal = hw_clock_is_utc(utc, local_opt, adjtime);
+
+ if ((set || systohc || adjust) &&
+ (adjtime.local_utc == UTC) != universal) {
+ adjtime.local_utc = universal ? UTC : LOCAL;
+ adjtime.dirty = TRUE;
+ }
+
+ if (show || adjust || hctosys || (!noadjfile && !systz && !predict)) {
+ /* data from HW-clock are required */
+ rc = synchronize_to_clock_tick();
+
+ /*
+ * 2 = synchronization timeout. We don't
+ * error out if the user is attempting to
+ * set the RTC - the RTC could be
+ * functioning but contain invalid time data
+ * so we still want to allow a user to set
+ * the RTC time.
+ */
+ if (rc && rc != 2 && !set && !systohc)
+ return EX_IOERR;
+ gettimeofday(&read_time, NULL);
+
+ /*
+ * If we can't synchronize to a clock tick,
+ * we likely can't read from the RTC so
+ * don't bother reading it again.
+ */
+ if (!rc) {
+ rc = read_hardware_clock(universal,
+ &hclock_valid, &hclocktime);
+ if (rc && !set && !systohc)
+ return EX_IOERR;
+ }
+ }
+
+ if (show) {
+ display_time(hclock_valid, hclocktime,
+ time_diff(read_time, startup_time));
+ } else if (set) {
+ set_hardware_clock_exact(set_time, startup_time,
+ universal, testing);
+ if (!noadjfile)
+ adjust_drift_factor(&adjtime, set_time,
+ hclock_valid,
+ hclocktime,
+ time_diff(read_time, startup_time));
+ } else if (adjust) {
+ do_adjustment(&adjtime, hclock_valid,
+ hclocktime, read_time, universal, testing);
+ } else if (systohc) {
+ struct timeval nowtime, reftime;
+ /*
+ * We can only set_hardware_clock_exact to a
+ * whole seconds time, so we set it with
+ * reference to the most recent whole
+ * seconds time.
+ */
+ gettimeofday(&nowtime, NULL);
+ reftime.tv_sec = nowtime.tv_sec;
+ reftime.tv_usec = 0;
+ set_hardware_clock_exact((time_t)
+ reftime.tv_sec,
+ reftime, universal, testing);
+ if (!noadjfile)
+ adjust_drift_factor(&adjtime, (time_t)
+ reftime.tv_sec,
+ hclock_valid, hclocktime, (double)
+ read_time.tv_usec / 1E6);
+ } else if (hctosys) {
+ rc = set_system_clock(hclock_valid, hclocktime, testing);
+ if (rc) {
+ printf(_("Unable to set system clock.\n"));
+ return rc;
+ }
+ } else if (systz) {
+ rc = set_system_clock_timezone(universal, testing);
+ if (rc) {
+ printf(_("Unable to set system clock.\n"));
+ return rc;
+ }
+ } else if (predict) {
+ int adjustment;
+ double retro;
+
+ calculate_adjustment(adjtime.drift_factor,
+ adjtime.last_adj_time,
+ adjtime.not_adjusted,
+ set_time, &adjustment, &retro);
+ if (debug) {
+ printf(_
+ ("At %ld seconds after 1969, RTC is predicted to read %ld seconds after 1969.\n"),
+ set_time, set_time + adjustment);
+ }
+ display_time(TRUE, set_time + adjustment, -retro);
+ }
+ if (!noadjfile)
+ save_adjtime(adjtime, testing);
+ return 0;
+}
+
+/*
+ * Get or set the Hardware Clock epoch value in the kernel, as appropriate.
+ * <getepoch>, <setepoch>, and <epoch> are hwclock invocation options.
+ *
+ * <epoch> == -1 if the user did not specify an "epoch" option.
+ */
+#ifdef __linux__
+/*
+ * Maintenance note: This should work on non-Alpha machines, but the
+ * evidence today (98.03.04) indicates that the kernel only keeps the epoch
+ * value on Alphas. If that is ever fixed, this function should be changed.
+ */
+# ifndef __alpha__
+static void
+manipulate_epoch(const bool getepoch __attribute__ ((__unused__)),
+ const bool setepoch __attribute__ ((__unused__)),
+ const unsigned long epoch_opt __attribute__ ((__unused__)),
+ const bool testing __attribute__ ((__unused__)))
+{
+ warnx(_("The kernel keeps an epoch value for the Hardware Clock "
+ "only on an Alpha machine.\nThis copy of hwclock was built for "
+ "a machine other than Alpha\n(and thus is presumably not running "
+ "on an Alpha now). No action taken."));
+}
+# else
+static void
+manipulate_epoch(const bool getepoch,
+ const bool setepoch,
+ const unsigned long epoch_opt,
+ const bool testing)
+{
+ if (getepoch) {
+ unsigned long epoch;
+
+ if (get_epoch_rtc(&epoch, 0))
+ warnx(_
+ ("Unable to get the epoch value from the kernel."));
+ else
+ printf(_("Kernel is assuming an epoch value of %lu\n"),
+ epoch);
+ } else if (setepoch) {
+ if (epoch_opt == -1)
+ warnx(_
+ ("To set the epoch value, you must use the 'epoch' "
+ "option to tell to what value to set it."));
+ else if (testing)
+ printf(_
+ ("Not setting the epoch to %d - testing only.\n"),
+ epoch_opt);
+ else if (set_epoch_rtc(epoch_opt))
+ printf(_
+ ("Unable to set the epoch value in the kernel.\n"));
+ }
+}
+# endif /* __alpha__ */
+#endif /* __linux__ */
+
+static void out_version(void)
+{
+ printf(_("%s from %s\n"), program_invocation_short_name, PACKAGE_STRING);
+}
+
+/*
+ * usage - Output (error and) usage information
+ *
+ * This function is called both directly from main to show usage information
+ * and as fatal function from shhopt if some argument is not understood. In
+ * case of normal usage info FMT should be NULL. In that case the info is
+ * printed to stdout. If FMT is given usage will act like fprintf( stderr,
+ * fmt, ... ), show a usage information and terminate the program
+ * afterwards.
+ */
+static void usage(const char *fmt, ...)
+{
+ FILE *usageto;
+ va_list ap;
+
+ usageto = fmt ? stderr : stdout;
+
+ fputs(_("\nUsage:\n"), usageto);
+ fputs(_(" hwclock [function] [option...]\n"), usageto);
+
+ fputs(_("\nFunctions:\n"), usageto);
+ fputs(_(" -h, --help show this help text and exit\n"
+ " -r, --show read hardware clock and print result\n"
+ " --set set the RTC to the time given with --date\n"), usageto);
+ fputs(_(" -s, --hctosys set the system time from the hardware clock\n"
+ " -w, --systohc set the hardware clock from the current system time\n"
+ " --systz set the system time based on the current timezone\n"
+ " --adjust adjust the RTC to account for systematic drift since\n"
+ " the clock was last set or adjusted\n"), usageto);
+#ifdef __linux__
+ fputs(_(" --getepoch print out the kernel's hardware clock epoch value\n"
+ " --setepoch set the kernel's hardware clock epoch value to the \n"
+ " value given with --epoch\n"), usageto);
+#endif
+ fputs(_(" --predict predict RTC reading at time given with --date\n"
+ " -V, --version display version information and exit\n"), usageto);
+
+ fputs(_("\nOptions:\n"), usageto);
+ fputs(_(" -u, --utc the hardware clock is kept in UTC\n"
+ " --localtime the hardware clock is kept in local time\n"), usageto);
+#ifdef __linux__
+ fputs(_(" -f, --rtc <file> special /dev/... file to use instead of default\n"), usageto);
+#endif
+ fprintf(usageto, _(
+ " --directisa access the ISA bus directly instead of %s\n"
+ " --badyear ignore RTC's year because the BIOS is broken\n"
+ " --date <time> specifies the time to which to set the hardware clock\n"
+ " --epoch <year> specifies the year which is the beginning of the\n"
+ " hardware clock's epoch value\n"), _PATH_RTC_DEV);
+ fprintf(usageto, _(
+ " --noadjfile do not access %s; this requires the use of\n"
+ " either --utc or --localtime\n"
+ " --adjfile <file> specifies the path to the adjust file;\n"
+ " the default is %s\n"), _PATH_ADJPATH, _PATH_ADJPATH);
+ fputs(_(" --test do not update anything, just show what would happen\n"
+ " -D, --debug debugging mode\n" "\n"), usageto);
+#ifdef __alpha__
+ fputs(_(" -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+ " tell hwclock the type of Alpha you have (see hwclock(8))\n"
+ "\n"), usageto);
+#endif
+
+ if (fmt) {
+ va_start(ap, fmt);
+ vfprintf(usageto, fmt, ap);
+ va_end(ap);
+ }
+
+ fflush(usageto);
+ hwclock_exit(fmt ? EX_USAGE : EX_OK);
+}
+
+/*
+ * Returns:
+ * EX_USAGE: bad invocation
+ * EX_NOPERM: no permission
+ * EX_OSFILE: cannot open /dev/rtc or /etc/adjtime
+ * EX_IOERR: ioctl error getting or setting the time
+ * 0: OK (or not)
+ * 1: failure
+ */
+int main(int argc, char **argv)
+{
+ struct timeval startup_time;
+ /*
+ * The time we started up, in seconds into the epoch, including
+ * fractions.
+ */
+ time_t set_time = 0; /* Time to which user said to set Hardware Clock */
+
+ bool permitted; /* User is permitted to do the function */
+ int rc, c;
+
+ /* Variables set by various options; show may also be set later */
+ /* The options debug, badyear and epoch_option are global */
+ bool show, set, systohc, hctosys, systz, adjust, getepoch, setepoch,
+ predict;
+ bool utc, testing, local_opt, noadjfile, directisa;
+ char *date_opt;
+#ifdef __alpha__
+ bool ARCconsole, Jensen, SRM, funky_toy;
+#endif
+ /* Long only options. */
+ enum {
+ OPT_ADJFILE = CHAR_MAX + 1,
+ OPT_BADYEAR,
+ OPT_DATE,
+ OPT_DIRECTISA,
+ OPT_EPOCH,
+ OPT_GETEPOCH,
+ OPT_LOCALTIME,
+ OPT_NOADJFILE,
+ OPT_PREDICT_HC,
+ OPT_SET,
+ OPT_SETEPOCH,
+ OPT_SYSTZ,
+ OPT_TEST
+ };
+
+ static const struct option longopts[] = {
+ {"adjust", 0, 0, 'a'},
+ {"help", 0, 0, 'h'},
+ {"show", 0, 0, 'r'},
+ {"hctosys", 0, 0, 's'},
+ {"utc", 0, 0, 'u'},
+ {"version", 0, 0, 'v'},
+ {"systohc", 0, 0, 'w'},
+ {"debug", 0, 0, 'D'},
+#ifdef __alpha__
+ {"ARC", 0, 0, 'A'},
+ {"arc", 0, 0, 'A'},
+ {"Jensen", 0, 0, 'J'},
+ {"jensen", 0, 0, 'J'},
+ {"SRM", 0, 0, 'S'},
+ {"srm", 0, 0, 'S'},
+ {"funky-toy", 0, 0, 'F'},
+#endif
+ {"set", 0, 0, OPT_SET},
+#ifdef __linux__
+ {"getepoch", 0, 0, OPT_GETEPOCH},
+ {"setepoch", 0, 0, OPT_SETEPOCH},
+#endif
+ {"noadjfile", 0, 0, OPT_NOADJFILE},
+ {"localtime", 0, 0, OPT_LOCALTIME},
+ {"badyear", 0, 0, OPT_BADYEAR},
+ {"directisa", 0, 0, OPT_DIRECTISA},
+ {"test", 0, 0, OPT_TEST},
+ {"date", 1, 0, OPT_DATE},
+ {"epoch", 1, 0, OPT_EPOCH},
+#ifdef __linux__
+ {"rtc", 1, 0, 'f'},
+#endif
+ {"adjfile", 1, 0, OPT_ADJFILE},
+ {"systz", 0, 0, OPT_SYSTZ},
+ {"predict-hc", 0, 0, OPT_PREDICT_HC},
+ {NULL, 0, NULL, 0}
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'a','r','s','w',
+ OPT_GETEPOCH, OPT_PREDICT_HC, OPT_SET,
+ OPT_SETEPOCH, OPT_SYSTZ },
+ { 'u', OPT_LOCALTIME},
+ { OPT_ADJFILE, OPT_NOADJFILE },
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ /* Remember what time we were invoked */
+ gettimeofday(&startup_time, NULL);
+
+#ifdef HAVE_LIBAUDIT
+ hwaudit_fd = audit_open();
+ if (hwaudit_fd < 0 && !(errno == EINVAL || errno == EPROTONOSUPPORT ||
+ errno == EAFNOSUPPORT)) {
+ /*
+ * You get these error codes only when the kernel doesn't
+ * have audit compiled in.
+ */
+ warnx(_("Unable to connect to audit system"));
+ return EX_NOPERM;
+ }
+#endif
+ setlocale(LC_ALL, "");
+#ifdef LC_NUMERIC
+ /*
+ * We need LC_CTYPE and LC_TIME and LC_MESSAGES, but must avoid
+ * LC_NUMERIC since it gives problems when we write to /etc/adjtime.
+ * - gqueri@mail.dotcom.fr
+ */
+ setlocale(LC_NUMERIC, "C");
+#endif
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ /* Set option defaults */
+ show = set = systohc = hctosys = systz = adjust = noadjfile = predict =
+ FALSE;
+ getepoch = setepoch = utc = local_opt = directisa = testing = debug = FALSE;
+#ifdef __alpha__
+ ARCconsole = Jensen = SRM = funky_toy = badyear = FALSE;
+#endif
+ date_opt = NULL;
+
+ while ((c = getopt_long(argc, argv,
+ "?hvVDarsuwAJSFf:", longopts, NULL)) != -1) {
+
+ err_exclusive_options(c, longopts, excl, excl_st);
+
+ switch (c) {
+ case 'D':
+ debug = TRUE;
+ break;
+ case 'a':
+ adjust = TRUE;
+ break;
+ case 'r':
+ show = TRUE;
+ break;
+ case 's':
+ hctosys = TRUE;
+ break;
+ case 'u':
+ utc = TRUE;
+ break;
+ case 'w':
+ systohc = TRUE;
+ break;
+#ifdef __alpha__
+ case 'A':
+ ARCconsole = TRUE;
+ break;
+ case 'J':
+ Jensen = TRUE;
+ break;
+ case 'S':
+ SRM = TRUE;
+ break;
+ case 'F':
+ funky_toy = TRUE;
+ break;
+#endif
+ case OPT_SET:
+ set = TRUE;
+ break;
+#ifdef __linux__
+ case OPT_GETEPOCH:
+ getepoch = TRUE;
+ break;
+ case OPT_SETEPOCH:
+ setepoch = TRUE;
+ break;
+#endif
+ case OPT_NOADJFILE:
+ noadjfile = TRUE;
+ break;
+ case OPT_LOCALTIME:
+ local_opt = TRUE; /* --localtime */
+ break;
+ case OPT_BADYEAR:
+ badyear = TRUE;
+ break;
+ case OPT_DIRECTISA:
+ directisa = TRUE;
+ break;
+ case OPT_TEST:
+ testing = TRUE; /* --test */
+ break;
+ case OPT_DATE:
+ date_opt = optarg; /* --date */
+ break;
+ case OPT_EPOCH:
+ epoch_option = /* --epoch */
+ strtoul_or_err(optarg, _("invalid epoch argument"));
+ break;
+ case OPT_ADJFILE:
+ adj_file_name = optarg; /* --adjfile */
+ break;
+ case OPT_SYSTZ:
+ systz = TRUE; /* --systz */
+ break;
+ case OPT_PREDICT_HC:
+ predict = TRUE; /* --predict-hc */
+ break;
+#ifdef __linux__
+ case 'f':
+ rtc_dev_name = optarg; /* --rtc */
+ break;
+#endif
+ case 'v': /* --version */
+ case 'V':
+ out_version();
+ return 0;
+ case 'h': /* --help */
+ case '?':
+ default:
+ usage(NULL);
+ }
+ }
+
+ argc -= optind;
+ argv += optind;
+
+#ifdef HAVE_LIBAUDIT
+ if (testing != TRUE) {
+ if (adjust == TRUE || hctosys == TRUE || systohc == TRUE ||
+ set == TRUE || setepoch == TRUE) {
+ hwaudit_on = TRUE;
+ }
+ }
+#endif
+ if (argc > 0) {
+ usage(_("%s takes no non-option arguments. "
+ "You supplied %d.\n"), program_invocation_short_name,
+ argc);
+ }
+
+ if (!adj_file_name)
+ adj_file_name = _PATH_ADJPATH;
+
+ if (noadjfile && !utc && !local_opt) {
+ warnx(_("With --noadjfile, you must specify "
+ "either --utc or --localtime"));
+ hwclock_exit(EX_USAGE);
+ }
+#ifdef __alpha__
+ set_cmos_epoch(ARCconsole, SRM);
+ set_cmos_access(Jensen, funky_toy);
+#endif
+
+ if (set || predict) {
+ rc = interpret_date_string(date_opt, &set_time);
+ /* (time-consuming) */
+ if (rc != 0) {
+ warnx(_("No usable set-to time. "
+ "Cannot set clock."));
+ hwclock_exit(EX_USAGE);
+ }
+ }
+
+ if (!(show | set | systohc | hctosys | systz | adjust | getepoch
+ | setepoch | predict))
+ show = 1; /* default to show */
+
+ if (getuid() == 0)
+ permitted = TRUE;
+ else {
+ /* program is designed to run setuid (in some situations) */
+ if (set || systohc || adjust) {
+ warnx(_("Sorry, only the superuser can change "
+ "the Hardware Clock."));
+ permitted = FALSE;
+ } else if (systz || hctosys) {
+ warnx(_("Sorry, only the superuser can change "
+ "the System Clock."));
+ permitted = FALSE;
+ } else if (setepoch) {
+ warnx(_("Sorry, only the superuser can change the "
+ "Hardware Clock epoch in the kernel."));
+ permitted = FALSE;
+ } else
+ permitted = TRUE;
+ }
+
+ if (!permitted)
+ hwclock_exit(EX_NOPERM);
+
+#ifdef __linux__
+ if (getepoch || setepoch) {
+ manipulate_epoch(getepoch, setepoch, epoch_option, testing);
+ hwclock_exit(EX_OK);
+ }
+#endif
+
+ if (debug)
+ out_version();
+
+ if (!systz && !predict) {
+ determine_clock_access_method(directisa);
+ if (!ur) {
+ warnx(_("Cannot access the Hardware Clock via "
+ "any known method."));
+ if (!debug)
+ warnx(_("Use the --debug option to see the "
+ "details of our search for an access "
+ "method."));
+ hwclock_exit(EX_SOFTWARE);
+ }
+ }
+
+ rc = manipulate_clock(show, adjust, noadjfile, set, set_time,
+ hctosys, systohc, systz, startup_time, utc,
+ local_opt, testing, predict);
+ hwclock_exit(rc);
+ return rc; /* Not reached */
+}
+
+#ifdef HAVE_LIBAUDIT
+/*
+ * hwclock_exit calls either this function or plain exit depending
+ * HAVE_LIBAUDIT see also clock.h
+ */
+void __attribute__((__noreturn__)) hwaudit_exit(int status)
+{
+ if (hwaudit_on) {
+ audit_log_user_message(hwaudit_fd, AUDIT_USYS_CONFIG,
+ "changing system time", NULL, NULL, NULL,
+ status ? 0 : 1);
+ close(hwaudit_fd);
+ }
+ exit(status);
+}
+#endif
+
+/*
+ * History of this program:
+ *
+ * 98.08.12 BJH Version 2.4
+ *
+ * Don't use century byte from Hardware Clock. Add comments telling why.
+ *
+ * 98.06.20 BJH Version 2.3.
+ *
+ * Make --hctosys set the kernel timezone from TZ environment variable
+ * and/or /usr/lib/zoneinfo. From Klaus Ripke (klaus@ripke.com).
+ *
+ * 98.03.05 BJH. Version 2.2.
+ *
+ * Add --getepoch and --setepoch.
+ *
+ * Fix some word length things so it works on Alpha.
+ *
+ * Make it work when /dev/rtc doesn't have the interrupt functions. In this
+ * case, busywait for the top of a second instead of blocking and waiting
+ * for the update complete interrupt.
+ *
+ * Fix a bunch of bugs too numerous to mention.
+ *
+ * 97.06.01: BJH. Version 2.1. Read and write the century byte (Byte 50) of
+ * the ISA Hardware Clock when using direct ISA I/O. Problem discovered by
+ * job (jei@iclnl.icl.nl).
+ *
+ * Use the rtc clock access method in preference to the KDGHWCLK method.
+ * Problem discovered by Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de>.
+ *
+ * November 1996: Version 2.0.1. Modifications by Nicolai Langfeldt
+ * (janl@math.uio.no) to make it compile on linux 1.2 machines as well as
+ * more recent versions of the kernel. Introduced the NO_CLOCK access method
+ * and wrote feature test code to detect absence of rtc headers.
+ *
+ ***************************************************************************
+ * Maintenance notes
+ *
+ * To compile this, you must use GNU compiler optimization (-O option) in
+ * order to make the "extern inline" functions from asm/io.h (inb(), etc.)
+ * compile. If you don't optimize, which means the compiler will generate no
+ * inline functions, the references to these functions in this program will
+ * be compiled as external references. Since you probably won't be linking
+ * with any functions by these names, you will have unresolved external
+ * references when you link.
+ *
+ * The program is designed to run setuid superuser, since we need to be able
+ * to do direct I/O. (More to the point: we need permission to execute the
+ * iopl() system call). (However, if you use one of the methods other than
+ * direct ISA I/O to access the clock, no setuid is required).
+ *
+ * Here's some info on how we must deal with the time that elapses while
+ * this program runs: There are two major delays as we run:
+ *
+ * 1) Waiting up to 1 second for a transition of the Hardware Clock so
+ * we are synchronized to the Hardware Clock.
+ * 2) Running the "date" program to interpret the value of our --date
+ * option.
+ *
+ * Reading the /etc/adjtime file is the next biggest source of delay and
+ * uncertainty.
+ *
+ * The user wants to know what time it was at the moment he invoked us, not
+ * some arbitrary time later. And in setting the clock, he is giving us the
+ * time at the moment we are invoked, so if we set the clock some time
+ * later, we have to add some time to that.
+ *
+ * So we check the system time as soon as we start up, then run "date" and
+ * do file I/O if necessary, then wait to synchronize with a Hardware Clock
+ * edge, then check the system time again to see how much time we spent. We
+ * immediately read the clock then and (if appropriate) report that time,
+ * and additionally, the delay we measured.
+ *
+ * If we're setting the clock to a time given by the user, we wait some more
+ * so that the total delay is an integral number of seconds, then set the
+ * Hardware Clock to the time the user requested plus that integral number
+ * of seconds. N.B. The Hardware Clock can only be set in integral seconds.
+ *
+ * If we're setting the clock to the system clock value, we wait for the
+ * system clock to reach the top of a second, and then set the Hardware
+ * Clock to the system clock's value.
+ *
+ * Here's an interesting point about setting the Hardware Clock: On my
+ * machine, when you set it, it sets to that precise time. But one can
+ * imagine another clock whose update oscillator marches on a steady one
+ * second period, so updating the clock between any two oscillator ticks is
+ * the same as updating it right at the earlier tick. To avoid any
+ * complications that might cause, we set the clock as soon as possible
+ * after an oscillator tick.
+ *
+ * About synchronizing to the Hardware Clock when reading the time: The
+ * precision of the Hardware Clock counters themselves is one second. You
+ * can't read the counters and find out that is 12:01:02.5. But if you
+ * consider the location in time of the counter's ticks as part of its
+ * value, then its precision is as infinite as time is continuous! What I'm
+ * saying is this: To find out the _exact_ time in the hardware clock, we
+ * wait until the next clock tick (the next time the second counter changes)
+ * and measure how long we had to wait. We then read the value of the clock
+ * counters and subtract the wait time and we know precisely what time it
+ * was when we set out to query the time.
+ *
+ * hwclock uses this method, and considers the Hardware Clock to have
+ * infinite precision.
+ *
+ * TODO: Enhancements needed:
+ *
+ * - When waiting for whole second boundary in set_hardware_clock_exact,
+ * fail if we miss the goal by more than .1 second, as could happen if we
+ * get pre-empted (by the kernel dispatcher).
+ */
diff --git a/sys-utils/hwclock.h b/sys-utils/hwclock.h
new file mode 100644
index 0000000..175a6d1
--- /dev/null
+++ b/sys-utils/hwclock.h
@@ -0,0 +1,47 @@
+#ifndef HWCLOCK_CLOCK_H
+#define HWCLOCK_CLOCK_H
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+
+#include "c.h"
+
+struct clock_ops {
+ char *interface_name;
+ int (*get_permissions) (void);
+ int (*read_hardware_clock) (struct tm * tm);
+ int (*set_hardware_clock) (const struct tm * tm);
+ int (*synchronize_to_clock_tick) (void);
+};
+
+extern struct clock_ops *probe_for_cmos_clock(void);
+extern struct clock_ops *probe_for_rtc_clock(void);
+extern struct clock_ops *probe_for_kd_clock(void);
+
+typedef int bool;
+
+/* hwclock.c */
+extern char *progname;
+extern int debug;
+extern unsigned long epoch_option;
+extern double time_diff(struct timeval subtrahend, struct timeval subtractor);
+/* cmos.c */
+extern void set_cmos_epoch(int ARCconsole, int SRM);
+extern void set_cmos_access(int Jensen, int funky_toy);
+
+/* rtc.c */
+extern int get_epoch_rtc(unsigned long *epoch, int silent);
+extern int set_epoch_rtc(unsigned long epoch);
+extern char *rtc_dev_name;
+
+#ifdef HAVE_LIBAUDIT
+extern void hwaudit_exit(int status);
+# define hwclock_exit(_status) hwaudit_exit(_status)
+#else
+# define hwclock_exit(_status) exit(_status)
+#endif
+
+#endif /* HWCLOCK_CLOCK_H */
diff --git a/sys-utils/ipcmk.1 b/sys-utils/ipcmk.1
new file mode 100644
index 0000000..0900a19
--- /dev/null
+++ b/sys-utils/ipcmk.1
@@ -0,0 +1,51 @@
+.\" Copyright 2008 Hayden A. James (hayden.james@gmail.com)
+.\" May be distributed under the GNU General Public License
+.TH IPCMK "1" "September 2011" "util-linux" "User Commands"
+.SH "NAME"
+ipcmk \- create various ipc resources
+.SH "SYNOPSIS"
+.B ipcmk
+<resource options>
+[additional options]
+.SH "DESCRIPTION"
+.B ipcmk
+allows you to create shared memory segments, message queues or semaphore arrays.
+.SH "RESOURCE OPTIONS"
+.TP
+Resources may be specified as follows:
+.TP
+\fB\-M\fR, \fB\-\-shmem\fR [\fIsize\fR]
+Shared memory segment of
+.I size
+bytes.
+.TP
+\fB\-S\fR, \fB\-\-semaphore\fR [\fInumber\fR]
+Semaphore array with
+.I number
+of elements.
+.TP
+\fB\-Q\fR, \fB\-\-queue\fR
+Message queue.
+.SH "ADDITIONAL OPTIONS"
+.TP
+\fB\-p\fR, \fB\-\-mode\fR [\fImode\fR]
+Permission for the resource. Default is 0644.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display a short help message and exit.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.PP
+.SH "SEE ALSO"
+.BR ipcrm (1),
+.BR ipcs (1)
+.SH "AUTHOR"
+.MT hayden.james@gmail.com
+Hayden A. James
+.ME
+.SH "AVAILABILITY"
+The ipcmk command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/ipcmk.c b/sys-utils/ipcmk.c
new file mode 100644
index 0000000..a862ba1
--- /dev/null
+++ b/sys-utils/ipcmk.c
@@ -0,0 +1,160 @@
+/*
+ * ipcmk.c - used to create ad-hoc IPC segments
+ *
+ * Copyright (C) 2008 Hayden A. James (hayden.james@gmail.com)
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <errno.h>
+#include <getopt.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/ipc.h>
+#include <sys/msg.h>
+#include <sys/sem.h>
+#include <sys/shm.h>
+#include <sys/time.h>
+
+#include "c.h"
+#include "nls.h"
+#include "strutils.h"
+#include "closestream.h"
+
+static key_t create_key(void)
+{
+ struct timeval now;
+ gettimeofday(&now, NULL);
+ srandom(now.tv_usec);
+ return random();
+}
+
+static int create_shm(size_t size, int permission)
+{
+ key_t key = create_key();
+ return shmget(key, size, permission | IPC_CREAT);
+}
+
+static int create_msg(int permission)
+{
+ key_t key = create_key();
+ return msgget(key, permission | IPC_CREAT);
+}
+
+static int create_sem(int nsems, int permission)
+{
+ key_t key = create_key();
+ return semget(key, nsems, permission | IPC_CREAT);
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, USAGE_HEADER);
+ fprintf(out, _(" %s [options]\n"), program_invocation_short_name);
+ fprintf(out, USAGE_OPTIONS);
+
+ fputs(_(" -M, --shmem <size> create shared memory segment of size <size>\n"), out);
+ fputs(_(" -S, --semaphore <nsems> create semaphore array with <nsems> elements\n"), out);
+ fputs(_(" -Q, --queue create message queue\n"), out);
+ fputs(_(" -p, --mode <mode> permission for the resource (default is 0644)\n"), out);
+
+ fprintf(out, USAGE_SEPARATOR);
+ fprintf(out, USAGE_HELP);
+ fprintf(out, USAGE_VERSION);
+ fprintf(out, USAGE_MAN_TAIL("ipcmk(1)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int permission = 0644;
+ int opt;
+ size_t size = 0;
+ int nsems = 0;
+ int ask_shm = 0, ask_msg = 0, ask_sem = 0;
+ static const struct option longopts[] = {
+ {"shmem", required_argument, NULL, 'M'},
+ {"semaphore", required_argument, NULL, 'S'},
+ {"queue", no_argument, NULL, 'Q'},
+ {"mode", required_argument, NULL, 'p'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while((opt = getopt_long(argc, argv, "hM:QS:p:Vh", longopts, NULL)) != -1) {
+ switch(opt) {
+ case 'M':
+ size = strtou64_or_err(optarg, _("failed to parse size"));
+ ask_shm = 1;
+ break;
+ case 'Q':
+ ask_msg = 1;
+ break;
+ case 'S':
+ nsems = strtos32_or_err(optarg, _("failed to parse elements"));
+ ask_sem = 1;
+ break;
+ case 'p':
+ permission = strtoul(optarg, NULL, 8);
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ default:
+ ask_shm = ask_msg = ask_sem = 0;
+ break;
+ }
+ }
+
+ if(!ask_shm && !ask_msg && !ask_sem)
+ usage(stderr);
+
+ if (ask_shm) {
+ int shmid;
+ if (-1 == (shmid = create_shm(size, permission)))
+ err(EXIT_FAILURE, _("create share memory failed"));
+ else
+ printf(_("Shared memory id: %d\n"), shmid);
+ }
+
+ if (ask_msg) {
+ int msgid;
+ if (-1 == (msgid = create_msg(permission)))
+ err(EXIT_FAILURE, _("create message queue failed"));
+ else
+ printf(_("Message queue id: %d\n"), msgid);
+ }
+
+ if (ask_sem) {
+ int semid;
+ if (-1 == (semid = create_sem(nsems, permission)))
+ err(EXIT_FAILURE, _("create semaphore failed"));
+ else
+ printf(_("Semaphore id: %d\n"), semid);
+ }
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/ipcrm.1 b/sys-utils/ipcrm.1
new file mode 100644
index 0000000..6cf74a5
--- /dev/null
+++ b/sys-utils/ipcrm.1
@@ -0,0 +1,111 @@
+.\" Copyright 2002 Andre C. Mazzone (linuxdev@karagee.com)
+.\" May be distributed under the GNU General Public License
+.TH IPCRM "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+ipcrm \- remove a message queue, semaphore set or shared memory id
+.SH SYNOPSIS
+.B ipcrm
+[options]
+.br
+.B ipcrm
+.I <shm|msg|sem> <id>
+[...]
+.SH DESCRIPTION
+.I ipcrm
+removes System V interprocess communication (IPC) objects
+and associated data structures from the system.
+In order to delete such objects, you must be superuser, or
+the creator or owner of the object.
+.PP
+System V IPC objects are of three types: shared memory,
+message queues, and semaphores.
+Deletion of a message queue or semaphore object is immediate
+(regardless of whether any process still holds an IPC
+identifier for the object).
+A shared memory object is only removed
+after all currently attached processes have detached
+.RB ( shmdt (2))
+the object from their virtual address space.
+.PP
+Two syntax styles are supported. The old Linux historical syntax specifies
+a three letter keyword indicating which class of object is to be deleted,
+followed by one or more IPC identifiers for objects of this type.
+.PP
+The SUS-compliant syntax allows the specification of
+zero or more objects of all three types in a single command line,
+with objects specified either by key or by identifier. (See below.)
+Both keys and identifiers may be specified in decimal, hexadecimal
+(specified with an initial '0x' or '0X'), or octal (specified with
+an initial '0').
+.SH OPTIONS
+.TP
+\fB\-M\fR, \fB\-\-shmem\-key\fR \fIshmkey\fR
+removes the shared memorysegment created with
+.I shmkey
+after the last detach is performed.
+.TP
+\fB\-m\fR, \fB\-\-shmem\-id\fR \fIshmid\fR
+removes the shared memory segment identified by
+.I shmid
+after the last detach is performed.
+.TP
+\fB\-Q\fR, \fB\-\-queue\-key\fR \fImsgkey\fR
+removes the message queue created with
+.IR msgkey .
+.TP
+\fB\-q\fR, \fB\-\-queue\-id\fR \fImsgid\fR
+removes the message queue identified by
+.IR msgid .
+.TP
+\fB\-S\fR, \fB\-\-semaphore\-key\fR \fIsemkey\fR
+removes the semaphore created with
+.IR semkey .
+.TP
+\fB\-s\fR, \fB\-\-semaphore\-id\fR \fIsemid\fR
+removes the semaphore identified by
+.IR semid .
+.TP
+\fB-a\fR, \fB\-\-all\fR [\fIshm msg sem\fR]
+Remove all resources. When option argument is provided the removal is
+performed only to for the specified resource types. Warning! Do not use
+.B \-a
+if you are unsure how the software using resources might react on missing
+objects. Some programs create these resources at start up and may not have
+any code to deal unexpected disappearance.
+.LP
+The details of the removes are described in
+.IR msgctl (2),
+.IR shmctl (2),
+and
+.IR semctl (2).
+The identifiers and keys may be found by using
+.IR ipcs (1).
+.SH NOTES
+In its first Linux implementation, ipcrm used the deprecated syntax
+shown in the
+.BR SYNOPSIS .
+Functionality present in other *nix implementations of ipcrm has since
+been added, namely the ability to delete resources by key (not just
+identifier), and to respect the same command-line syntax. For backward
+compatibility the previous syntax is still supported.
+.\" .SH AUTHORS
+.\" Andre C. Mazzone (linuxdev@karagee.com)
+.\" .br
+.\" Krishna Balasubramanian (balasub@cis.ohio-state.edu)
+.SH SEE ALSO
+.nh
+.BR ipcs (1),
+.BR ipcmk (1),
+.BR msgctl (2),
+.BR msgget (2),
+.BR semctl (2),
+.BR semget (2),
+.BR shmctl (2),
+.BR shmdt (2),
+.BR shmget (2),
+.BR ftok (3)
+.SH AVAILABILITY
+The ipcrm command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/ipcrm.c b/sys-utils/ipcrm.c
new file mode 100644
index 0000000..7807bd4
--- /dev/null
+++ b/sys-utils/ipcrm.c
@@ -0,0 +1,410 @@
+/*
+ * krishna balasubramanian 1993
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 1999-04-02 frank zago
+ * - can now remove several id's in the same call
+ *
+ */
+
+#include <errno.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ipc.h>
+#include <sys/msg.h>
+#include <sys/sem.h>
+#include <sys/shm.h>
+#include <sys/types.h>
+#include "c.h"
+#include "nls.h"
+#include "strutils.h"
+#include "closestream.h"
+
+#ifndef HAVE_UNION_SEMUN
+/* according to X/OPEN we have to define it ourselves */
+union semun {
+ int val;
+ struct semid_ds *buf;
+ unsigned short int *array;
+ struct seminfo *__buf;
+};
+#endif
+
+typedef enum type_id {
+ SHM,
+ SEM,
+ MSG,
+ ALL
+} type_id;
+
+static int verbose = 0;
+
+/* print the new usage */
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, USAGE_HEADER);
+ fprintf(out, " %s [options]\n", program_invocation_short_name);
+ fprintf(out, " %s <shm|msg|sem> <id> [...]\n", program_invocation_short_name);
+ fprintf(out, USAGE_OPTIONS);
+ fputs(_(" -m, --shmem-id <id> remove shared memory segment by shmid\n"), out);
+ fputs(_(" -M, --shmem-key <key> remove shared memory segment by key\n"), out);
+ fputs(_(" -q, --queue-id <id> remove message queue by id\n"), out);
+ fputs(_(" -Q, --queue-key <key> remove message queue by key\n"), out);
+ fputs(_(" -s, --semaphore-id <id> remove semaphore by id\n"), out);
+ fputs(_(" -S, --semaphore-key <key> remove semaphore by key\n"), out);
+ fputs(_(" -a, --all[=<shm|msg|sem>] remove all\n"), out);
+ fputs(_(" -v, --verbose explain what is being done\n"), out);
+ fprintf(out, USAGE_SEPARATOR);
+ fprintf(out, USAGE_HELP);
+ fprintf(out, USAGE_VERSION);
+ fprintf(out, USAGE_MAN_TAIL("ipcrm(1)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static int remove_id(int type, int iskey, int id)
+{
+ int ret;
+ char *errmsg;
+ /* needed to delete semaphores */
+ union semun arg;
+ arg.val = 0;
+
+ /* do the removal */
+ switch (type) {
+ case SHM:
+ if (verbose)
+ printf(_("removing shared memory segment id `%d'\n"), id);
+ ret = shmctl(id, IPC_RMID, NULL);
+ break;
+ case MSG:
+ if (verbose)
+ printf(_("removing message queue id `%d'\n"), id);
+ ret = msgctl(id, IPC_RMID, NULL);
+ break;
+ case SEM:
+ if (verbose)
+ printf(_("removing semaphore id `%d'\n"), id);
+ ret = semctl(id, 0, IPC_RMID, arg);
+ break;
+ default:
+ errx(EXIT_FAILURE, "impossible occurred");
+ }
+
+ /* how did the removal go? */
+ if (ret < 0) {
+ switch (errno) {
+ case EACCES:
+ case EPERM:
+ errmsg = iskey ? _("permission denied for key") : _("permission denied for id");
+ break;
+ case EINVAL:
+ errmsg = iskey ? _("invalid key") : _("invalid id");
+ break;
+ case EIDRM:
+ errmsg = iskey ? _("already removed key") : _("already removed id");
+ break;
+ default:
+ err(EXIT_FAILURE, iskey ? _("key failed") : _("id failed"));
+ }
+ warnx("%s (%d)", errmsg, id);
+ return 1;
+ }
+ return 0;
+}
+
+static int remove_arg_list(type_id type, int argc, char **argv)
+{
+ int id;
+ char *end;
+ int nb_errors = 0;
+
+ do {
+ id = strtoul(argv[0], &end, 10);
+ if (*end != 0) {
+ warnx(_("invalid id: %s"), argv[0]);
+ nb_errors++;
+ } else {
+ if (remove_id(type, 0, id))
+ nb_errors++;
+ }
+ argc--;
+ argv++;
+ } while (argc);
+ return (nb_errors);
+}
+
+static int deprecated_main(int argc, char **argv)
+{
+ type_id type;
+
+ if (!strcmp(argv[1], "shm"))
+ type = SHM;
+ else if (!strcmp(argv[1], "msg"))
+ type = MSG;
+ else if (!strcmp(argv[1], "sem"))
+ type = SEM;
+ else
+ return 0;
+
+ if (argc < 3) {
+ warnx(_("not enough arguments"));
+ usage(stderr);
+ }
+
+ if (remove_arg_list(type, argc - 2, &argv[2]))
+ exit(EXIT_FAILURE);
+
+ printf(_("resource(s) deleted\n"));
+ return 1;
+}
+
+static unsigned long strtokey(const char *str, const char *errmesg)
+{
+ unsigned long num;
+ char *end = NULL;
+
+ if (str == NULL || *str == '\0')
+ goto err;
+ errno = 0;
+ /* keys are in hex or decimal */
+ num = strtoul(str, &end, 0);
+
+ if (errno || str == end || (end && *end))
+ goto err;
+
+ return num;
+ err:
+ if (errno)
+ err(EXIT_FAILURE, "%s: '%s'", errmesg, str);
+ else
+ errx(EXIT_FAILURE, "%s: '%s'", errmesg, str);
+ return 0;
+}
+
+static int key_to_id(type_id type, char *optarg)
+{
+ int id;
+ /* keys are in hex or decimal */
+ key_t key = strtokey(optarg, "failed to parse argument");
+ if (key == IPC_PRIVATE) {
+ warnx(_("illegal key (%s)"), optarg);
+ return -1;
+ }
+ switch (type) {
+ case SHM:
+ id = shmget(key, 0, 0);
+ break;
+ case MSG:
+ id = msgget(key, 0);
+ break;
+ case SEM:
+ id = semget(key, 0, 0);
+ break;
+ case ALL:
+ abort();
+ default:
+ errx(EXIT_FAILURE, "impossible occurred");
+ }
+ if (id < 0) {
+ char *errmsg;
+ switch (errno) {
+ case EACCES:
+ errmsg = _("permission denied for key");
+ break;
+ case EIDRM:
+ errmsg = _("already removed key");
+ break;
+ case ENOENT:
+ errmsg = _("invalid key");
+ break;
+ default:
+ err(EXIT_FAILURE, _("key failed"));
+ }
+ warnx("%s (%s)", errmsg, optarg);
+ }
+ return id;
+}
+
+static int remove_all(type_id type)
+{
+ int ret = 0;
+ int id, rm_me, maxid;
+
+ struct shmid_ds shmseg;
+ struct shm_info shm_info;
+
+ struct semid_ds semary;
+ struct seminfo seminfo;
+ union semun arg;
+
+ struct msqid_ds msgque;
+ struct msginfo msginfo;
+
+ if (type == SHM || type == ALL) {
+ maxid =
+ shmctl(0, SHM_INFO, (struct shmid_ds *)(void *)&shm_info);
+ if (maxid < 0)
+ errx(EXIT_FAILURE,
+ _("kernel not configured for shared memory"));
+ for (id = 0; id <= maxid; id++) {
+ rm_me = shmctl(id, SHM_STAT, &shmseg);
+ if (rm_me < 0)
+ continue;
+ ret |= remove_id(SHM, 0, rm_me);
+ }
+ }
+ if (type == SEM || type == ALL) {
+ arg.array = (ushort *) (void *)&seminfo;
+ maxid = semctl(0, 0, SEM_INFO, arg);
+ if (maxid < 0)
+ errx(EXIT_FAILURE,
+ _("kernel not configured for semaphores"));
+ for (id = 0; id <= maxid; id++) {
+ arg.buf = (struct semid_ds *)&semary;
+ rm_me = semctl(id, 0, SEM_STAT, arg);
+ if (rm_me < 0)
+ continue;
+ ret |= remove_id(SEM, 0, rm_me);
+ }
+ }
+ if (type == MSG || type == ALL) {
+ maxid =
+ msgctl(0, MSG_INFO, (struct msqid_ds *)(void *)&msginfo);
+ if (maxid < 0)
+ errx(EXIT_FAILURE,
+ _("kernel not configured for message queues"));
+ for (id = 0; id <= maxid; id++) {
+ rm_me = msgctl(id, MSG_STAT, &msgque);
+ if (rm_me < 0)
+ continue;
+ ret |= remove_id(MSG, 0, rm_me);
+ }
+ }
+ return ret;
+}
+
+int main(int argc, char **argv)
+{
+ int c;
+ int ret = 0;
+ int id = -1;
+ int iskey;
+ int rm_all = 0;
+ type_id what_all;
+
+ static const struct option longopts[] = {
+ {"shmem-id", required_argument, NULL, 'm'},
+ {"shmem-key", required_argument, NULL, 'M'},
+ {"queue-id", required_argument, NULL, 'q'},
+ {"queue-key", required_argument, NULL, 'Q'},
+ {"semaphore-id", required_argument, NULL, 's'},
+ {"semaphore-key", required_argument, NULL, 'S'},
+ {"all", optional_argument, NULL, 'a'},
+ {"verbose", no_argument, NULL, 'v'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ /* if the command is executed without parameters, do nothing */
+ if (argc == 1)
+ return 0;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ /* check to see if the command is being invoked in the old way if so
+ * then remove argument list */
+ if (deprecated_main(argc, argv))
+ return EXIT_SUCCESS;
+
+ /* process new syntax to conform with SYSV ipcrm */
+ while((c = getopt_long(argc, argv, "q:m:s:Q:M:S:a::vhV", longopts, NULL)) != -1) {
+ iskey = 0;
+ switch (c) {
+ case 'M':
+ iskey = 1;
+ id = key_to_id(SHM, optarg);
+ if (id < 0) {
+ ret++;
+ break;
+ }
+ case 'm':
+ if (!iskey)
+ id = strtos32_or_err(optarg, _("failed to parse argument"));
+ if (remove_id(SHM, iskey, id))
+ ret++;
+ break;
+ case 'Q':
+ iskey = 1;
+ id = key_to_id(MSG, optarg);
+ if (id < 0) {
+ ret++;
+ break;
+ }
+ case 'q':
+ if (!iskey)
+ id = strtos32_or_err(optarg, _("failed to parse argument"));
+ if (remove_id(MSG, iskey, id))
+ ret++;
+ break;
+ case 'S':
+ iskey = 1;
+ id = key_to_id(SEM, optarg);
+ if (id < 0) {
+ ret++;
+ break;
+ }
+ case 's':
+ if (!iskey)
+ id = strtos32_or_err(optarg, _("failed to parse argument"));
+ if (remove_id(SEM, iskey, id))
+ ret++;
+ break;
+ case 'a':
+ rm_all = 1;
+ if (optarg) {
+ if (!strcmp(optarg, "shm"))
+ what_all = SHM;
+ else if (!strcmp(optarg, "msg"))
+ what_all = MSG;
+ else if (!strcmp(optarg, "sem"))
+ what_all = SEM;
+ else
+ errx(EXIT_FAILURE,
+ _("unknown argument: %s"), optarg);
+ } else {
+ what_all = ALL;
+ }
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ case 'h':
+ usage(stdout);
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (rm_all)
+ if (remove_all(what_all))
+ ret++;
+
+ /* print usage if we still have some arguments left over */
+ if (optind < argc) {
+ warnx(_("unknown argument: %s"), argv[optind]);
+ usage(stderr);
+ }
+
+ return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
+}
diff --git a/sys-utils/ipcs.1 b/sys-utils/ipcs.1
new file mode 100644
index 0000000..7c094c8
--- /dev/null
+++ b/sys-utils/ipcs.1
@@ -0,0 +1,103 @@
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH IPCS "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+ipcs \- provide information on ipc facilities
+.SH SYNOPSIS
+.B ipcs
+[resource] [...] [output\-format]
+.br
+.B ipcs
+[resource]
+.I \-i id
+.SH DESCRIPTION
+.B ipcs
+provides information on the ipc facilities for which the calling process
+has read access.
+.SH OPTIONS
+.TP
+\fB\-i\fR, \fB\-\-id\fR \fIid\fR
+Print details only on resource identified by
+.IR id .
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display this help and exit.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.SH "RESOURCE OPTIONS"
+.TP
+\fB\-m\fR, \fB\-\-shmems\fR
+Write information about active shared memory segments.
+.TP
+\fB\-q\fR, \fB\-\-queues\fR
+Write information about active message queues.
+.TP
+\fB\-s\fR, \fB\-\-semaphores\fR
+Write information about active semaphore sets.
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+Write information about all resources (default).
+.SH "OUTPUT FORMATS"
+.TP
+\fB\-t\fR, \fB\-\-time\fR
+Write time information. Time of the last control operation that changed the
+access permissions for all facilities, time of the last
+.I msgsnd()
+and
+.I msgrcv()
+operations on message queues, time of the last
+.I shmat()
+and
+.I shmdt()
+operations on shared memory, and time of the last
+.I semop()
+operation on semaphores.
+.TP
+\fB\-p\fR, \fB\-\-pid\fR
+Show creator and last operations PIDs.
+.TP
+\fB\-c\fR, \fB\-\-creator\fR
+Show creator and owner.
+.TP
+\fB\-l\fR, \fB\-\-limits\fR
+Show resource limits.
+.TP
+\fB\-u\fR, \fB\-\-summary\fR
+Show status summary.
+.SH SEE ALSO
+.BR ipcrm (1),
+.BR ipcmk (1),
+.BR msgrcv (2),
+.BR msgsnd (2),
+.BR semget (2),
+.BR semop (2),
+.BR shmat (2),
+.BR shmdt (2),
+.BR shmget (2)
+.SH CONFORMING TO
+The Linux ipcs utility is not fully compatible to the POSIX ipcs utility.
+The Linux version does not support the
+.B \-b
+and
+.B \-o
+options, but does support the
+.B \-l
+and
+.B \-u
+options not defined by POSIX. The portable application shall not use the
+.BR \-b ,
+.BR \-o ,
+.BR \-l ,
+and
+.B \-u
+options.
+.SH AUTHOR
+.UR balasub@cis.ohio-state.edu
+Krishna Balasubramanian
+.UE
+.SH AVAILABILITY
+The ipcs command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/ipcs.c b/sys-utils/ipcs.c
new file mode 100644
index 0000000..2fbca08
--- /dev/null
+++ b/sys-utils/ipcs.c
@@ -0,0 +1,714 @@
+/* Original author unknown, may be "krishna balasub@cis.ohio-state.edu" */
+/*
+ * Modified Sat Oct 9 10:55:28 1993 for 0.99.13
+ *
+ * Patches from Mike Jagdis (jaggy@purplet.demon.co.uk) applied Wed Feb 8
+ * 12:12:21 1995 by faith@cs.unc.edu to print numeric uids if no passwd file
+ * entry.
+ *
+ * Patch from arnolds@ifns.de (Heinz-Ado Arnolds) applied Mon Jul 1 19:30:41
+ * 1996 by janl@math.uio.no to add code missing in case PID: clauses.
+ *
+ * Patched to display the key field -- hy@picksys.com 12/18/96
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <errno.h>
+#include <features.h>
+#include <getopt.h>
+#include <grp.h>
+#include <pwd.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/ipc.h>
+#include <sys/msg.h>
+#include <sys/sem.h>
+#include <sys/shm.h>
+#include <sys/types.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "nls.h"
+#include "closestream.h"
+
+/*
+ * SHM_DEST and SHM_LOCKED are defined in kernel headers, but inside
+ * #ifdef __KERNEL__ ... #endif
+ */
+#ifndef SHM_DEST
+ /* shm_mode upper byte flags */
+# define SHM_DEST 01000 /* segment will be destroyed on last detach */
+# define SHM_LOCKED 02000 /* segment will not be swapped */
+#endif
+
+/* For older kernels the same holds for the defines below */
+#ifndef MSG_STAT
+# define MSG_STAT 11
+# define MSG_INFO 12
+#endif
+
+#ifndef SHM_STAT
+# define SHM_STAT 13
+# define SHM_INFO 14
+struct shm_info {
+ int used_ids;
+ ulong shm_tot; /* total allocated shm */
+ ulong shm_rss; /* total resident shm */
+ ulong shm_swp; /* total swapped shm */
+ ulong swap_attempts;
+ ulong swap_successes;
+};
+#endif
+
+#ifndef SEM_STAT
+# define SEM_STAT 18
+# define SEM_INFO 19
+#endif
+
+/* Some versions of libc only define IPC_INFO when __USE_GNU is defined. */
+#ifndef IPC_INFO
+# define IPC_INFO 3
+#endif
+
+/*
+ * The last arg of semctl is a union semun, but where is it defined? X/OPEN
+ * tells us to define it ourselves, but until recently Linux include files
+ * would also define it.
+ */
+#ifndef HAVE_UNION_SEMUN
+/* according to X/OPEN we have to define it ourselves */
+union semun {
+ int val;
+ struct semid_ds *buf;
+ unsigned short int *array;
+ struct seminfo *__buf;
+};
+#endif
+
+/*
+ * X/OPEN (Jan 1987) does not define fields key, seq in struct ipc_perm;
+ * glibc-1.09 has no support for sysv ipc.
+ * glibc 2 uses __key, __seq
+ */
+#if defined (__GLIBC__) && __GLIBC__ >= 2
+# define KEY __key
+#else
+# define KEY key
+#endif
+
+#define LIMITS 1
+#define STATUS 2
+#define CREATOR 3
+#define TIME 4
+#define PID 5
+
+void do_shm (char format);
+void do_sem (char format);
+void do_msg (char format);
+void print_shm (int id);
+void print_msg (int id);
+void print_sem (int id);
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, USAGE_HEADER);
+ fprintf(out, " %s [resource ...] [output-format]\n", program_invocation_short_name);
+ fprintf(out, " %s [resource] -i <id>\n", program_invocation_short_name);
+ fprintf(out, USAGE_OPTIONS);
+ fputs(_(" -i, --id <id> print details on resource identified by id\n"), out);
+ fprintf(out, USAGE_HELP);
+ fprintf(out, USAGE_VERSION);
+ fputs(_("\n"), out);
+ fputs(_("Resource options:\n"), out);
+ fputs(_(" -m, --shmems shared memory segments\n"), out);
+ fputs(_(" -q, --queues message queues\n"), out);
+ fputs(_(" -s, --semaphores semaphores\n"), out);
+ fputs(_(" -a, --all all (default)\n"), out);
+ fputs(_("\n"), out);
+ fputs(_("Output format:\n"), out);
+ fputs(_(" -t, --time show attach, detach and change times\n"), out);
+ fputs(_(" -p, --pid show creator and last operations PIDs\n"), out);
+ fputs(_(" -c, --creator show creator and owner\n"), out);
+ fputs(_(" -l, --limits show resource limits\n"), out);
+ fputs(_(" -u, --summary show status summary\n"), out);
+ fprintf(out, USAGE_MAN_TAIL("ipcs(1)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main (int argc, char **argv)
+{
+ int opt, msg = 0, sem = 0, shm = 0, id=0, print=0;
+ char format = 0;
+ static const struct option longopts[] = {
+ {"id", required_argument, NULL, 'i'},
+ {"shmems", no_argument, NULL, 'm'},
+ {"queues", no_argument, NULL, 'q'},
+ {"semaphores", no_argument, NULL, 's'},
+ {"all", no_argument, NULL, 'a'},
+ {"time", no_argument, NULL, 't'},
+ {"pid", no_argument, NULL, 'p'},
+ {"creator", no_argument, NULL, 'c'},
+ {"limits", no_argument, NULL, 'l'},
+ {"summary", no_argument, NULL, 'u'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+ char options[] = "i:mqsatpcluVh";
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((opt = getopt_long(argc, argv, options, longopts, NULL)) != -1) {
+ switch (opt) {
+ case 'i':
+ id = atoi (optarg);
+ print = 1;
+ break;
+ case 'a':
+ msg = shm = sem = 1;
+ break;
+ case 'q':
+ msg = 1;
+ break;
+ case 's':
+ sem = 1;
+ break;
+ case 'm':
+ shm = 1;
+ break;
+ case 't':
+ format = TIME;
+ break;
+ case 'c':
+ format = CREATOR;
+ break;
+ case 'p':
+ format = PID;
+ break;
+ case 'l':
+ format = LIMITS;
+ break;
+ case 'u':
+ format = STATUS;
+ break;
+ case 'h':
+ usage(stdout);
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (print) {
+ if (shm)
+ print_shm (id);
+ if (sem)
+ print_sem (id);
+ if (msg)
+ print_msg (id);
+ if (!shm && !sem && !msg )
+ usage (stderr);
+ } else {
+ if ( !shm && !msg && !sem)
+ msg = sem = shm = 1;
+ printf ("\n");
+
+ if (shm) {
+ do_shm (format);
+ printf ("\n");
+ }
+ if (sem) {
+ do_sem (format);
+ printf ("\n");
+ }
+ if (msg) {
+ do_msg (format);
+ printf ("\n");
+ }
+ }
+ return EXIT_SUCCESS;
+}
+
+static void print_perms (int id, struct ipc_perm *ipcp)
+{
+ struct passwd *pw;
+ struct group *gr;
+
+ printf ("%-10d %-10o", id, ipcp->mode & 0777);
+
+ if ((pw = getpwuid(ipcp->cuid)))
+ printf(" %-10s", pw->pw_name);
+ else
+ printf(" %-10u", ipcp->cuid);
+ if ((gr = getgrgid(ipcp->cgid)))
+ printf(" %-10s", gr->gr_name);
+ else
+ printf(" %-10u", ipcp->cgid);
+
+ if ((pw = getpwuid(ipcp->uid)))
+ printf(" %-10s", pw->pw_name);
+ else
+ printf(" %-10u", ipcp->uid);
+ if ((gr = getgrgid(ipcp->gid)))
+ printf(" %-10s\n", gr->gr_name);
+ else
+ printf(" %-10u\n", ipcp->gid);
+}
+
+void do_shm (char format)
+{
+ int maxid, shmid, id;
+ struct shmid_ds shmseg;
+ struct shm_info shm_info;
+ struct shminfo shminfo;
+ struct ipc_perm *ipcp = &shmseg.shm_perm;
+ struct passwd *pw;
+
+ maxid = shmctl (0, SHM_INFO, (struct shmid_ds *) (void *) &shm_info);
+ if (maxid < 0) {
+ printf (_("kernel not configured for shared memory\n"));
+ return;
+ }
+
+ switch (format) {
+ case LIMITS:
+ printf (_("------ Shared Memory Limits --------\n"));
+ if ((shmctl (0, IPC_INFO, (struct shmid_ds *) (void *) &shminfo)) < 0 )
+ return;
+ /*
+ * glibc 2.1.3 and all earlier libc's have ints as fields of
+ * struct shminfo; glibc 2.1.91 has unsigned long; ach
+ */
+ printf (_("max number of segments = %lu\n"),
+ (unsigned long) shminfo.shmmni);
+ printf (_("max seg size (kbytes) = %lu\n"),
+ (unsigned long) (shminfo.shmmax >> 10));
+ printf (_("max total shared memory (kbytes) = %llu\n"),
+ getpagesize() / 1024 * (unsigned long long) shminfo.shmall);
+ printf (_("min seg size (bytes) = %lu\n"),
+ (unsigned long) shminfo.shmmin);
+ return;
+
+ case STATUS:
+ printf (_("------ Shared Memory Status --------\n"));
+ /*
+ * TRANSLATORS: This output format is maintained for backward
+ * compatibility as ipcs is used in scripts. For consistency
+ * with the rest, the translated form can follow this model:
+ *
+ * "segments allocated = %d\n"
+ * "pages allocated = %ld\n"
+ * "pages resident = %ld\n"
+ * "pages swapped = %ld\n"
+ * "swap performance = %ld attempts, %ld successes\n"
+ */
+ printf (_("segments allocated %d\n"
+ "pages allocated %ld\n"
+ "pages resident %ld\n"
+ "pages swapped %ld\n"
+ "Swap performance: %ld attempts\t %ld successes\n"),
+ shm_info.used_ids,
+ shm_info.shm_tot,
+ shm_info.shm_rss,
+ shm_info.shm_swp,
+ shm_info.swap_attempts, shm_info.swap_successes);
+ return;
+
+ case CREATOR:
+ printf (_("------ Shared Memory Segment Creators/Owners --------\n"));
+ printf ("%-10s %-10s %-10s %-10s %-10s %-10s\n",
+ _("shmid"),_("perms"),_("cuid"),_("cgid"),_("uid"),_("gid"));
+ break;
+
+ case TIME:
+ printf (_("------ Shared Memory Attach/Detach/Change Times --------\n"));
+ printf ("%-10s %-10s %-20s %-20s %-20s\n",
+ _("shmid"),_("owner"),_("attached"),_("detached"),
+ _("changed"));
+ break;
+
+ case PID:
+ printf (_("------ Shared Memory Creator/Last-op PIDs --------\n"));
+ printf ("%-10s %-10s %-10s %-10s\n",
+ _("shmid"),_("owner"),_("cpid"),_("lpid"));
+ break;
+
+ default:
+ printf (_("------ Shared Memory Segments --------\n"));
+ printf ("%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n",
+ _("key"),_("shmid"),_("owner"),_("perms"),_("bytes"),
+ _("nattch"),_("status"));
+ break;
+ }
+
+ for (id = 0; id <= maxid; id++) {
+ shmid = shmctl (id, SHM_STAT, &shmseg);
+ if (shmid < 0)
+ continue;
+ if (format == CREATOR) {
+ print_perms (shmid, ipcp);
+ continue;
+ }
+ pw = getpwuid(ipcp->uid);
+ switch (format) {
+ case TIME:
+ if (pw)
+ printf ("%-10d %-10.10s", shmid, pw->pw_name);
+ else
+ printf ("%-10d %-10u", shmid, ipcp->uid);
+ /* ctime uses static buffer: use separate calls */
+ printf(" %-20.16s", shmseg.shm_atime
+ ? ctime(&shmseg.shm_atime) + 4 : _("Not set"));
+ printf(" %-20.16s", shmseg.shm_dtime
+ ? ctime(&shmseg.shm_dtime) + 4 : _("Not set"));
+ printf(" %-20.16s\n", shmseg.shm_ctime
+ ? ctime(&shmseg.shm_ctime) + 4 : _("Not set"));
+ break;
+ case PID:
+ if (pw)
+ printf ("%-10d %-10.10s", shmid, pw->pw_name);
+ else
+ printf ("%-10d %-10u", shmid, ipcp->uid);
+ printf (" %-10d %-10d\n",
+ shmseg.shm_cpid, shmseg.shm_lpid);
+ break;
+
+ default:
+ printf("0x%08x ",ipcp->KEY );
+ if (pw)
+ printf ("%-10d %-10.10s", shmid, pw->pw_name);
+ else
+ printf ("%-10d %-10u", shmid, ipcp->uid);
+ printf (" %-10o %-10lu %-10ld %-6s %-6s\n",
+ ipcp->mode & 0777,
+ /*
+ * earlier: int, Austin has size_t
+ */
+ (unsigned long) shmseg.shm_segsz,
+ /*
+ * glibc-2.1.3 and earlier has unsigned short;
+ * Austin has shmatt_t
+ */
+ (long) shmseg.shm_nattch,
+ ipcp->mode & SHM_DEST ? _("dest") : " ",
+ ipcp->mode & SHM_LOCKED ? _("locked") : " ");
+ break;
+ }
+ }
+ return;
+}
+
+void do_sem (char format)
+{
+ int maxid, semid, id;
+ struct semid_ds semary;
+ struct seminfo seminfo;
+ struct ipc_perm *ipcp = &semary.sem_perm;
+ struct passwd *pw;
+ union semun arg;
+
+ arg.array = (ushort *) (void *) &seminfo;
+ maxid = semctl (0, 0, SEM_INFO, arg);
+ if (maxid < 0) {
+ printf (_("kernel not configured for semaphores\n"));
+ return;
+ }
+
+ switch (format) {
+ case LIMITS:
+ printf (_("------ Semaphore Limits --------\n"));
+ arg.array = (ushort *) (void *) &seminfo; /* damn union */
+ if ((semctl (0, 0, IPC_INFO, arg)) < 0 )
+ return;
+ printf (_("max number of arrays = %d\n"), seminfo.semmni);
+ printf (_("max semaphores per array = %d\n"), seminfo.semmsl);
+ printf (_("max semaphores system wide = %d\n"), seminfo.semmns);
+ printf (_("max ops per semop call = %d\n"), seminfo.semopm);
+ printf (_("semaphore max value = %d\n"), seminfo.semvmx);
+ return;
+
+ case STATUS:
+ printf (_("------ Semaphore Status --------\n"));
+ printf (_("used arrays = %d\n"), seminfo.semusz);
+ printf (_("allocated semaphores = %d\n"), seminfo.semaem);
+ return;
+
+ case CREATOR:
+ printf (_("------ Semaphore Arrays Creators/Owners --------\n"));
+ printf ("%-10s %-10s %-10s %-10s %-10s %-10s\n",
+ _("semid"),_("perms"),_("cuid"),_("cgid"),_("uid"),_("gid"));
+ break;
+
+ case TIME:
+ printf (_("------ Semaphore Operation/Change Times --------\n"));
+ printf ("%-8s %-10s %-26.24s %-26.24s\n",
+ _("semid"),_("owner"),_("last-op"),_("last-changed"));
+ break;
+
+ case PID:
+ break;
+
+ default:
+ printf (_("------ Semaphore Arrays --------\n"));
+ printf ("%-10s %-10s %-10s %-10s %-10s\n",
+ _("key"),_("semid"),_("owner"),_("perms"),_("nsems"));
+ break;
+ }
+
+ for (id = 0; id <= maxid; id++) {
+ arg.buf = (struct semid_ds *) &semary;
+ semid = semctl (id, 0, SEM_STAT, arg);
+ if (semid < 0)
+ continue;
+ if (format == CREATOR) {
+ print_perms (semid, ipcp);
+ continue;
+ }
+ pw = getpwuid(ipcp->uid);
+ switch (format) {
+ case TIME:
+ if (pw)
+ printf ("%-8d %-10.10s", semid, pw->pw_name);
+ else
+ printf ("%-8d %-10u", semid, ipcp->uid);
+ printf (" %-26.24s", semary.sem_otime
+ ? ctime(&semary.sem_otime) : _("Not set"));
+ printf (" %-26.24s\n", semary.sem_ctime
+ ? ctime(&semary.sem_ctime) : _("Not set"));
+ break;
+ case PID:
+ break;
+
+ default:
+ printf("0x%08x ", ipcp->KEY);
+ if (pw)
+ printf ("%-10d %-10.10s", semid, pw->pw_name);
+ else
+ printf ("%-10d %-10u", semid, ipcp->uid);
+ printf (" %-10o %-10ld\n",
+ ipcp->mode & 0777,
+ /*
+ * glibc-2.1.3 and earlier has unsigned
+ * short. glibc-2.1.91 has variation between
+ * unsigned short and unsigned long. Austin
+ * prescribes unsigned short.
+ */
+ (long) semary.sem_nsems);
+ break;
+ }
+ }
+}
+
+void do_msg (char format)
+{
+ int maxid, msqid, id;
+ struct msqid_ds msgque;
+ struct msginfo msginfo;
+ struct ipc_perm *ipcp = &msgque.msg_perm;
+ struct passwd *pw;
+
+ maxid = msgctl (0, MSG_INFO, (struct msqid_ds *) (void *) &msginfo);
+ if (maxid < 0) {
+ printf (_("kernel not configured for message queues\n"));
+ return;
+ }
+
+ switch (format) {
+ case LIMITS:
+ if ((msgctl (0, IPC_INFO, (struct msqid_ds *) (void *) &msginfo)) < 0 )
+ return;
+ printf (_("------ Messages Limits --------\n"));
+ printf (_("max queues system wide = %d\n"), msginfo.msgmni);
+ printf (_("max size of message (bytes) = %d\n"), msginfo.msgmax);
+ printf (_("default max size of queue (bytes) = %d\n"), msginfo.msgmnb);
+ return;
+
+ case STATUS:
+ printf (_("------ Messages Status --------\n"));
+ printf (_("allocated queues = %d\n"), msginfo.msgpool);
+ printf (_("used headers = %d\n"), msginfo.msgmap);
+ printf (_("used space = %d bytes\n"), msginfo.msgtql);
+ return;
+
+ case CREATOR:
+ printf (_("------ Message Queues Creators/Owners --------\n"));
+ printf ("%-10s %-10s %-10s %-10s %-10s %-10s\n",
+ _("msqid"),_("perms"),_("cuid"),_("cgid"),_("uid"),_("gid"));
+ break;
+
+ case TIME:
+ printf (_("------ Message Queues Send/Recv/Change Times --------\n"));
+ printf ("%-8s %-10s %-20s %-20s %-20s\n",
+ _("msqid"),_("owner"),_("send"),_("recv"),_("change"));
+ break;
+
+ case PID:
+ printf (_("------ Message Queues PIDs --------\n"));
+ printf ("%-10s %-10s %-10s %-10s\n",
+ _("msqid"),_("owner"),_("lspid"),_("lrpid"));
+ break;
+
+ default:
+ printf (_("------ Message Queues --------\n"));
+ printf ("%-10s %-10s %-10s %-10s %-12s %-12s\n",
+ _("key"), _("msqid"), _("owner"), _("perms"),
+ _("used-bytes"), _("messages"));
+ break;
+ }
+
+ for (id = 0; id <= maxid; id++) {
+ msqid = msgctl (id, MSG_STAT, &msgque);
+ if (msqid < 0)
+ continue;
+ if (format == CREATOR) {
+ print_perms (msqid, ipcp);
+ continue;
+ }
+ pw = getpwuid(ipcp->uid);
+ switch (format) {
+ case TIME:
+ if (pw)
+ printf ("%-8d %-10.10s", msqid, pw->pw_name);
+ else
+ printf ("%-8d %-10u", msqid, ipcp->uid);
+ printf (" %-20.16s", msgque.msg_stime
+ ? ctime(&msgque.msg_stime) + 4 : _("Not set"));
+ printf (" %-20.16s", msgque.msg_rtime
+ ? ctime(&msgque.msg_rtime) + 4 : _("Not set"));
+ printf (" %-20.16s\n", msgque.msg_ctime
+ ? ctime(&msgque.msg_ctime) + 4 : _("Not set"));
+ break;
+ case PID:
+ if (pw)
+ printf ("%-8d %-10.10s", msqid, pw->pw_name);
+ else
+ printf ("%-8d %-10u", msqid, ipcp->uid);
+ printf (" %5d %5d\n",
+ msgque.msg_lspid, msgque.msg_lrpid);
+ break;
+
+ default:
+ printf( "0x%08x ",ipcp->KEY );
+ if (pw)
+ printf ("%-10d %-10.10s", msqid, pw->pw_name);
+ else
+ printf ("%-10d %-10u", msqid, ipcp->uid);
+ printf (" %-10o %-12ld %-12ld\n",
+ ipcp->mode & 0777,
+ /*
+ * glibc-2.1.3 and earlier has unsigned
+ * short. glibc-2.1.91 has variation between
+ * unsigned short, unsigned long. Austin has
+ * msgqnum_t
+ */
+ (long) msgque.msg_cbytes,
+ (long) msgque.msg_qnum);
+ break;
+ }
+ }
+ return;
+}
+
+void print_shm (int shmid)
+{
+ struct shmid_ds shmds;
+ struct ipc_perm *ipcp = &shmds.shm_perm;
+
+ if (shmctl (shmid, IPC_STAT, &shmds) == -1)
+ err(EXIT_FAILURE, _("shmctl failed"));
+
+ printf (_("\nShared memory Segment shmid=%d\n"), shmid);
+ printf (_("uid=%u\tgid=%u\tcuid=%u\tcgid=%u\n"),
+ ipcp->uid, ipcp->gid, ipcp->cuid, ipcp->cgid);
+ printf (_("mode=%#o\taccess_perms=%#o\n"),
+ ipcp->mode, ipcp->mode & 0777);
+ printf (_("bytes=%lu\tlpid=%d\tcpid=%d\tnattch=%ld\n"),
+ (unsigned long) shmds.shm_segsz, shmds.shm_lpid, shmds.shm_cpid,
+ (long) shmds.shm_nattch);
+ printf (_("att_time=%-26.24s\n"),
+ shmds.shm_atime ? ctime (&shmds.shm_atime) : _("Not set"));
+ printf (_("det_time=%-26.24s\n"),
+ shmds.shm_dtime ? ctime (&shmds.shm_dtime) : _("Not set"));
+ printf (_("change_time=%-26.24s\n"), ctime (&shmds.shm_ctime));
+ printf ("\n");
+ return;
+}
+
+
+void print_msg (int msqid)
+{
+ struct msqid_ds buf;
+ struct ipc_perm *ipcp = &buf.msg_perm;
+
+ if (msgctl (msqid, IPC_STAT, &buf) == -1)
+ err(EXIT_FAILURE, _("msgctl failed"));
+
+ printf (_("\nMessage Queue msqid=%d\n"), msqid);
+ printf (_("uid=%u\tgid=%u\tcuid=%u\tcgid=%u\tmode=%#o\n"),
+ ipcp->uid, ipcp->gid, ipcp->cuid, ipcp->cgid, ipcp->mode);
+ printf (_("cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"),
+ /*
+ * glibc-2.1.3 and earlier has unsigned short. glibc-2.1.91
+ * has variation between unsigned short, unsigned long.
+ * Austin has msgqnum_t (for msg_qbytes)
+ */
+ (long) buf.msg_cbytes, (long) buf.msg_qbytes,
+ (long) buf.msg_qnum, buf.msg_lspid, buf.msg_lrpid);
+ printf (_("send_time=%-26.24s\n"),
+ buf.msg_stime ? ctime (&buf.msg_stime) : _("Not set"));
+ printf (_("rcv_time=%-26.24s\n"),
+ buf.msg_rtime ? ctime (&buf.msg_rtime) : _("Not set"));
+ printf (_("change_time=%-26.24s\n"),
+ buf.msg_ctime ? ctime (&buf.msg_ctime) : _("Not set"));
+ printf ("\n");
+ return;
+}
+
+void print_sem (int semid)
+{
+ struct semid_ds semds;
+ struct ipc_perm *ipcp = &semds.sem_perm;
+ union semun arg;
+ size_t i;
+
+ arg.buf = &semds;
+ if (semctl (semid, 0, IPC_STAT, arg) < 0)
+ err(EXIT_FAILURE, _("semctl failed"));
+
+ printf (_("\nSemaphore Array semid=%d\n"), semid);
+ printf (_("uid=%u\t gid=%u\t cuid=%u\t cgid=%u\n"),
+ ipcp->uid, ipcp->gid, ipcp->cuid, ipcp->cgid);
+ printf (_("mode=%#o, access_perms=%#o\n"),
+ ipcp->mode, ipcp->mode & 0777);
+ printf (_("nsems = %ld\n"), (long) semds.sem_nsems);
+ printf (_("otime = %-26.24s\n"),
+ semds.sem_otime ? ctime (&semds.sem_otime) : _("Not set"));
+ printf (_("ctime = %-26.24s\n"), ctime (&semds.sem_ctime));
+
+ printf ("%-10s %-10s %-10s %-10s %-10s\n",
+ _("semnum"),_("value"),_("ncount"),_("zcount"),_("pid"));
+ arg.val = 0;
+ for (i=0; i< semds.sem_nsems; i++) {
+ int val, ncnt, zcnt, pid;
+ val = semctl (semid, i, GETVAL, arg);
+ ncnt = semctl (semid, i, GETNCNT, arg);
+ zcnt = semctl (semid, i, GETZCNT, arg);
+ pid = semctl (semid, i, GETPID, arg);
+ if (val < 0 || ncnt < 0 || zcnt < 0 || pid < 0)
+ err(EXIT_FAILURE, _("semctl failed"));
+
+ printf ("%-10zd %-10d %-10d %-10d %-10d\n",
+ i, val, ncnt, zcnt, pid);
+ }
+ printf ("\n");
+ return;
+}
diff --git a/sys-utils/ldattach.8 b/sys-utils/ldattach.8
new file mode 100644
index 0000000..8ce14f3
--- /dev/null
+++ b/sys-utils/ldattach.8
@@ -0,0 +1,144 @@
+.\" Copyright 2008 Tilman Schmidt (tilman@imap.cc)
+.\" May be distributed under the GNU General Public License version 2 or later
+.TH LDATTACH 8 "February 2010" "util-linux" "System Administration"
+.SH NAME
+ldattach \- attach a line discipline to a serial line
+.SH SYNOPSIS
+.B ldattach
+.RB [ \-dhV78neo12 ]
+.RB [ \-s
+.IR speed ]
+.RB [ \-i
+.IR iflag ]
+.I ldisc device
+.SH DESCRIPTION
+The
+.B ldattach
+daemon opens the specified
+.I device
+file
+(which should refer to a serial device)
+and attaches the line discipline
+.I ldisc
+to it for processing of the sent and/or received data.
+It then goes into the background keeping the device open so that the
+line discipline stays loaded.
+
+The line discipline
+.I ldisc
+may be specified either by name
+or by number.
+
+In order to detach the line discipline,
+.BR kill (1)
+the
+.B ldattach
+process.
+
+With no arguments,
+.B ldattach
+prints usage information.
+.SH LINE DISCIPLINES
+Depending on the kernel release, the following line disciplines are supported:
+.TP
+.BR TTY ( 0 )
+The default line discipline,
+providing transparent operation (raw mode)
+as well as the habitual terminal line editing capabilities (cooked mode).
+.TP
+.BR SLIP ( 1 )
+Serial Line IP (SLIP) protocol processor
+for transmitting TCP/IP packets over serial lines.
+.TP
+.BR MOUSE ( 2 )
+Device driver for RS232 connected pointing devices (serial mice).
+.TP
+.BR PPP ( 3 )
+Point to Point Protocol (PPP) processor
+for transmitting network packets over serial lines.
+.TP
+.BR STRIP ( 4 )
+.TP
+.BR AX25 ( 5 )
+.TP
+.BR X25 ( 6 )
+Line driver for transmitting X.25 packets over asynchronous serial lines.
+.TP
+.BR 6PACK ( 7 )
+.TP
+.BR R3964 ( 9 )
+Driver for Simatic R3964 module.
+.TP
+.BR IRDA ( 11 )
+Linux IrDa (infrared data transmission) driver -
+see http://irda.sourceforge.net/
+.TP
+.BR HDLC ( 13 )
+Synchronous HDLC driver.
+.TP
+.BR SYNC_PPP ( 14 )
+Synchronous PPP driver.
+.TP
+.BR HCI ( 15 )
+Bluetooth HCI UART driver.
+.TP
+.BR GIGASET_M101 ( 16 )
+Driver for Siemens Gigaset M101 serial DECT adapter.
+.TP
+.BR PPS ( 18 )
+Driver for serial line Pulse Per Second (PPS) source.
+.SH OPTIONS
+.TP
+\fB-d\fP | \fB--debug\fP
+Causes
+.B ldattach
+to stay in the foreground so that it can be interrupted or debugged,
+and to print verbose messages about its progress to the standard error output.
+.TP
+\fB-h\fP | \fB--help\fP
+Prints a usage message and exits.
+.TP
+\fB-V\fP | \fB--version\fP
+Prints the program version.
+.TP
+\fB-s\fP \fIvalue\fP | \fB--speed\fP \fIvalue\fP
+Set the speed of the serial line to the specified value.
+.TP
+\fB-7\fP | \fB--sevenbits\fP
+Sets the character size of the serial line to 7 bits.
+.TP
+\fB-8\fP | \fB--eightbits\fP
+Sets the character size of the serial line to 8 bits.
+.TP
+\fB-n\fP | \fB--noparity\fP
+Sets the parity of the serial line to none.
+.TP
+\fB-e\fP | \fB--evenparity\fP
+Sets the parity of the serial line to even.
+.TP
+\fB-o\fP | \fB--oddparity\fP
+Sets the parity of the serial line to odd.
+.TP
+\fB-1\fP | \fB--onestopbit\fP
+Sets the number of stop bits of the serial line to one.
+.TP
+\fB-2\fP | \fB--twostopbits\fP
+Sets the number of stop bits of the serial line to two.
+.TP
+\fB-i\fP \fIvalue\fP | \fB--iflag\fP [\fB-\fP]\fIvalue\fP{,...}
+Sets the specified bits in the c_iflag word of the serial line.
+\fIValue\fP may be a number or a symbolic name.
+If \fIvalue\fP is prefixed by a minus sign, clear the specified bits instead.
+Several comma separated \fIvalue\fPs may be given in order to
+set and clear multiple bits.
+.SH "SEE ALSO"
+.BR inputattach (1),
+.BR ttys (4)
+.SH AUTHOR
+.nf
+Tilman Schmidt (tilman@imap.cc)
+.fi
+.SH AVAILABILITY
+The ldattach command is part of the util-linux package
+and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/ldattach.c b/sys-utils/ldattach.c
new file mode 100644
index 0000000..c06aed2
--- /dev/null
+++ b/sys-utils/ldattach.c
@@ -0,0 +1,373 @@
+/* line discipline loading daemon
+ * open a serial device and attach a line discipline on it
+ *
+ * Usage:
+ * ldattach GIGASET_M101 /dev/ttyS0
+ *
+ * =====================================================================
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ * =====================================================================
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <termios.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "nls.h"
+#include "strutils.h"
+#include "closestream.h"
+
+#ifndef N_GIGASET_M101
+# define N_GIGASET_M101 16
+#endif
+
+#ifndef N_PPS
+# define N_PPS 18
+#endif
+
+/* attach a line discipline ioctl */
+#ifndef TIOCSETD
+# define TIOCSETD 0x5423
+#endif
+
+static const char *progname;
+static int debug = 0;
+
+struct ld_table {
+ const char *name;
+ int value;
+};
+
+/* currently supported line disciplines, plus some aliases */
+static const struct ld_table ld_discs[] = {
+ { "TTY", N_TTY },
+ { "SLIP", N_SLIP },
+ { "MOUSE", N_MOUSE },
+ { "PPP", N_PPP },
+ { "STRIP", N_STRIP },
+ { "AX25", N_AX25 },
+ { "X25", N_X25 },
+ { "6PACK", N_6PACK },
+ { "R3964", N_R3964 },
+ { "IRDA", N_IRDA },
+ { "HDLC", N_HDLC },
+ { "SYNC_PPP", N_SYNC_PPP },
+ { "SYNCPPP", N_SYNC_PPP },
+ { "HCI", N_HCI },
+ { "PPS", N_PPS },
+ { "M101", N_GIGASET_M101 },
+ { "GIGASET", N_GIGASET_M101 },
+ { "GIGASET_M101", N_GIGASET_M101 },
+ { NULL, 0 }
+};
+
+/* known c_iflag names */
+static const struct ld_table ld_iflags[] =
+{
+ { "IGNBRK", IGNBRK },
+ { "BRKINT", BRKINT },
+ { "IGNPAR", IGNPAR },
+ { "PARMRK", PARMRK },
+ { "INPCK", INPCK },
+ { "ISTRIP", ISTRIP },
+ { "INLCR", INLCR },
+ { "IGNCR", IGNCR },
+ { "ICRNL", ICRNL },
+ { "IUCLC", IUCLC },
+ { "IXON", IXON },
+ { "IXANY", IXANY },
+ { "IXOFF", IXOFF },
+ { "IMAXBEL", IMAXBEL },
+ { "IUTF8", IUTF8 },
+ { NULL, 0 }
+};
+
+static void dbg(char *fmt, ...)
+{
+ va_list args;
+
+ if (debug == 0)
+ return;
+ fflush(NULL);
+ fprintf(stderr, "%s: ", program_invocation_short_name);
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ va_end(args);
+ fprintf(stderr, "\n");
+ fflush(NULL);
+ return;
+}
+
+static int lookup_table(const struct ld_table *tab, const char *str)
+{
+ const struct ld_table *t;
+
+ for (t = tab; t && t->name; t++)
+ if (!strcasecmp(t->name, str))
+ return t->value;
+ return -1;
+}
+
+static void print_table(FILE * out, const struct ld_table *tab)
+{
+ const struct ld_table *t;
+ int i;
+
+ for (t = tab, i = 1; t && t->name; t++, i++) {
+ fprintf(out, " %-10s", t->name);
+ if (!(i % 6))
+ fputc('\n', out);
+ }
+}
+
+static int parse_iflag(char *str, int *set_iflag, int *clr_iflag)
+{
+ int iflag;
+ char *s;
+
+ for (s = strtok(str, ","); s != NULL; s = strtok(NULL, ",")) {
+ if (*s == '-')
+ s++;
+ if ((iflag = lookup_table(ld_iflags, s)) < 0)
+ iflag = strtos32_or_err(s, _("invalid iflag"));
+ if (s > str && *(s - 1) == '-')
+ *clr_iflag |= iflag;
+ else
+ *set_iflag |= iflag;
+ }
+ dbg("iflag (set/clear): %d/%d", *set_iflag, *clr_iflag);
+ return 0;
+}
+
+
+static void __attribute__ ((__noreturn__)) usage(int exitcode)
+{
+ FILE *out = exitcode == EXIT_SUCCESS ? stdout : stderr;
+
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(" %s [options] <ldisc> <device>\n"), program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+
+ fputs(_(" -d, --debug print verbose messages to stderr\n"), out);
+ fputs(_(" -s, --speed <value> set serial line speed\n"), out);
+ fputs(_(" -7, --sevenbits set character size to 7 bits\n"), out);
+ fputs(_(" -8, --eightbits set character size to 8 bits\n"), out);
+ fputs(_(" -n, --noparity set parity to none\n"), out);
+ fputs(_(" -e, --evenparity set parity to even\n"), out);
+ fputs(_(" -o, --oddparity set parity to odd\n"), out);
+ fputs(_(" -1, --onestopbit set stop bits to one\n"), out);
+ fputs(_(" -2, --twostopbits set stop bits to two\n"), out);
+ fputs(_(" -i, --iflag [-]<iflag> set input mode flag\n"), out);
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fputs(_("\nKnown <ldisc> names:\n"), out);
+ print_table(out, ld_discs);
+ fputs(_("\nKnown <iflag> names:\n"), out);
+ print_table(out, ld_iflags);
+ fputc('\n', out);
+ fprintf(out, USAGE_MAN_TAIL("ldattach(8)"));
+ exit(exitcode);
+}
+
+static int my_cfsetspeed(struct termios *ts, int speed)
+{
+ /* Standard speeds
+ * -- cfsetspeed() is able to translate number to Bxxx constants
+ */
+ if (cfsetspeed(ts, speed) == 0)
+ return 0;
+
+ /* Nonstandard speeds
+ * -- we have to bypass glibc and set the speed manually (because glibc
+ * checks for speed and supports Bxxx bit rates only)...
+ */
+#ifdef _HAVE_STRUCT_TERMIOS_C_ISPEED
+# define BOTHER 0010000 /* non standard rate */
+ dbg("using non-standard speeds");
+ ts->c_ospeed = ts->c_ispeed = speed;
+ ts->c_cflag &= ~CBAUD;
+ ts->c_cflag |= BOTHER;
+ return 0;
+#else
+ return -1;
+#endif
+}
+
+int main(int argc, char **argv)
+{
+ int tty_fd;
+ struct termios ts;
+ int speed = 0, bits = '-', parity = '-', stop = '-';
+ int set_iflag = 0, clr_iflag = 0;
+ int ldisc;
+ int optc;
+ char *dev;
+ static const struct option opttbl[] = {
+ {"speed", required_argument, NULL, 's'},
+ {"sevenbits", no_argument, NULL, '7'},
+ {"eightbits", no_argument, NULL, '8'},
+ {"noparity", no_argument, NULL, 'n'},
+ {"evenparity", no_argument, NULL, 'e'},
+ {"oddparity", no_argument, NULL, 'o'},
+ {"onestopbit", no_argument, NULL, '1'},
+ {"twostopbits", no_argument, NULL, '2'},
+ {"iflag", required_argument, NULL, 'i'},
+ {"help", no_argument, NULL, 'h'},
+ {"version", no_argument, NULL, 'V'},
+ {"debug", no_argument, NULL, 'd'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ /* parse options */
+ progname = program_invocation_short_name;
+
+ if (argc == 0)
+ usage(EXIT_SUCCESS);
+ while ((optc =
+ getopt_long(argc, argv, "dhV78neo12s:i:", opttbl,
+ NULL)) >= 0) {
+ switch (optc) {
+ case 'd':
+ debug = 1;
+ break;
+ case '1':
+ case '2':
+ stop = optc;
+ break;
+ case '7':
+ case '8':
+ bits = optc;
+ break;
+ case 'n':
+ case 'e':
+ case 'o':
+ parity = optc;
+ break;
+ case 's':
+ speed = strtos32_or_err(optarg, _("invalid speed argument"));
+ break;
+ case 'i':
+ parse_iflag(optarg, &set_iflag, &clr_iflag);
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(EXIT_SUCCESS);
+ default:
+ warnx(_("invalid option"));
+ usage(EXIT_FAILURE);
+ }
+ }
+
+ if (argc - optind != 2)
+ usage(EXIT_FAILURE);
+
+ /* parse line discipline specification */
+ ldisc = lookup_table(ld_discs, argv[optind]);
+ if (ldisc < 0)
+ ldisc = strtos32_or_err(argv[optind], _("invalid line discipline argument"));
+
+ /* open device */
+ dev = argv[optind + 1];
+ if ((tty_fd = open(dev, O_RDWR | O_NOCTTY)) < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), dev);
+ if (!isatty(tty_fd))
+ errx(EXIT_FAILURE, _("%s is not a serial line"), dev);
+
+ dbg("opened %s", dev);
+
+ /* set line speed and format */
+ if (tcgetattr(tty_fd, &ts) < 0)
+ err(EXIT_FAILURE,
+ _("cannot get terminal attributes for %s"), dev);
+ cfmakeraw(&ts);
+ if (speed && my_cfsetspeed(&ts, speed) < 0)
+ errx(EXIT_FAILURE, _("speed %d unsupported"), speed);
+
+ switch (stop) {
+ case '1':
+ ts.c_cflag &= ~CSTOPB;
+ break;
+ case '2':
+ ts.c_cflag |= CSTOPB;
+ break;
+ case '-':
+ break;
+ default:
+ abort();
+ }
+ switch (bits) {
+ case '7':
+ ts.c_cflag = (ts.c_cflag & ~CSIZE) | CS7;
+ break;
+ case '8':
+ ts.c_cflag = (ts.c_cflag & ~CSIZE) | CS8;
+ break;
+ case '-':
+ break;
+ default:
+ abort();
+ }
+ switch (parity) {
+ case 'n':
+ ts.c_cflag &= ~(PARENB | PARODD);
+ break;
+ case 'e':
+ ts.c_cflag |= PARENB;
+ ts.c_cflag &= ~PARODD;
+ break;
+ case 'o':
+ ts.c_cflag |= (PARENB | PARODD);
+ break;
+ case '-':
+ break;
+ default:
+ abort();
+ }
+
+ ts.c_cflag |= CREAD; /* just to be on the safe side */
+ ts.c_iflag |= set_iflag;
+ ts.c_iflag &= ~clr_iflag;
+
+ if (tcsetattr(tty_fd, TCSAFLUSH, &ts) < 0)
+ err(EXIT_FAILURE,
+ _("cannot set terminal attributes for %s"), dev);
+
+ dbg("set to raw %d %c%c%c: cflag=0x%x",
+ speed, bits, parity, stop, ts.c_cflag);
+
+ /* Attach the line discpline. */
+ if (ioctl(tty_fd, TIOCSETD, &ldisc) < 0)
+ err(EXIT_FAILURE, _("cannot set line discipline"));
+
+ dbg("line discipline set to %d", ldisc);
+
+ /* Go into background if not in debug mode. */
+ if (!debug && daemon(0, 0) < 0)
+ err(EXIT_FAILURE, _("cannot daemonize"));
+
+ /* Sleep to keep the line discipline active. */
+ pause();
+
+ exit(EXIT_SUCCESS);
+}
diff --git a/sys-utils/losetup.8 b/sys-utils/losetup.8
new file mode 100644
index 0000000..9b5fe61
--- /dev/null
+++ b/sys-utils/losetup.8
@@ -0,0 +1,174 @@
+.TH LOSETUP 8 "July 2003" "util-linux" "System Administration"
+.SH NAME
+losetup \- set up and control loop devices
+.SH SYNOPSIS
+.ad l
+Get info:
+.sp
+.in +5
+.B losetup
+.I loopdev
+.sp
+.B losetup -a
+.sp
+.B losetup -j
+.I file
+.RB [ \-o
+.IR offset ]
+.sp
+.in -5
+Delete loop:
+.sp
+.in +5
+.B "losetup \-d"
+.IR loopdev ...
+.sp
+.in -5
+Delete all used loop devices:
+.sp
+.in +5
+.B "losetup \-D"
+.sp
+.in -5
+Print name of first unused loop device:
+.sp
+.in +5
+.B "losetup \-f"
+.sp
+.in -5
+Setup loop device:
+.sp
+.in +5
+.B losetup
+.RB [{ \-e | \-E }
+.IR encryption ]
+.RB [ \-o
+.IR offset ]
+.RB [ \-\-sizelimit
+.IR size ]
+.in +8
+.RB [ \-p
+.IR pfd ]
+.RB [ \-rP ]
+.RB { \-f [ \-\-show ]| \fIloopdev\fP }
+.I file
+.sp
+.in -13
+Resize loop device:
+.sp
+.in +5
+.B "losetup \-c"
+.I loopdev
+.in -5
+.ad b
+.SH DESCRIPTION
+.B losetup
+is used to associate loop devices with regular files or block devices,
+to detach loop devices and to query the status of a loop device. If only the
+\fIloopdev\fP argument is given, the status of the corresponding loop
+device is shown.
+
+.SH OPTIONS
++The \fIsize\fR and \fIoffset\fR arguments may be followed by the multiplicative
++suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB
++(the "iB" is optional, e.g. "K" has the same meaning as "KiB") or the suffixes
++KB=1000, MB=1000*1000, and so on for GB, PB, EB, ZB and YB.
+
+.IP "\fB\-a, \-\-all\fP"
+show status of all loop devices. Note that not all information are accessible
+for non-root users.
+.IP "\fB\-c, \-\-set-capacity\fP \fIloopdev\fP
+force loop driver to reread size of the file associated with the specified loop device
+.IP "\fB\-d, \-\-detach\fP \fIloopdev\fP..."
+detach the file or device associated with the specified loop device(s)
+.IP "\fB\-D, \-\-detach-all\fP"
+detach all associated loop devices
+.IP "\fB\-e, \-E, \-\-encryption \fIencryption_type\fP"
+enable data encryption with specified name or number
+.IP "\fB\-f, \-\-find\fP"
+find the first unused loop device. If a
+.I file
+argument is present, use this device. Otherwise, print its name
+.IP "\fB\-h, \-\-help\fP"
+print help
+.IP "\fB\-j, \-\-associated \fIfile\fP"
+show status of all loop devices associated with given
+.I file
+.IP "\fB\-o, \-\-offset \fIoffset\fP"
+the data start is moved \fIoffset\fP bytes into the specified file or
+device
+.IP "\fB\-\-sizelimit \fIsize\fP"
+the data end is set to no more than \fIsize\fP bytes after the data start
+.IP "\fB\-p, \-\-pass-fd \fInum\fP"
+read the passphrase from file descriptor with number
+.I num
+instead of from the terminal
+.IP "\fB\-P, \-\-partscan\fP"
+force kernel to scan partition table on newly created loop device
+.IP "\fB\-r, \-\-read-only\fP"
+setup read-only loop device
+.IP "\fB\-\-show\fP"
+print device name if the
+.I -f
+option and a
+.I file
+argument are present.
+.IP "\fB\-v, \-\-verbose\fP"
+verbose mode
+
+.SH ENCRYPTION
+.B Cryptoloop is deprecated in favor of dm-crypt. For more details see
+.B cryptsetup (8). It is possible that all bug reports regarding to -E/-e
+.B options will be ignored.
+
+
+It is possible to specify transfer functions (for encryption/decryption
+or other purposes) using one of the
+.B \-E
+and
+.B \-e
+options.
+There are two mechanisms to specify the desired encryption: by number
+and by name. If an encryption is specified by number then one
+has to make sure that the Linux kernel knows about the encryption with that
+number, probably by patching the kernel. Standard numbers that are
+always present are 0 (no encryption) and 1 (XOR encryption).
+When the cryptoloop module is loaded (or compiled in), it uses number 18.
+This cryptoloop module will take the name of an arbitrary encryption type
+and find the module that knows how to perform that encryption.
+
+.SH RETURN VALUE
+.B losetup
+returns 0 on success, nonzero on failure. When
+.B losetup
+displays the status of a loop device, it returns 1 if the device
+is not configured and 2 if an error occurred which prevented
+from determining the status of the device.
+
+.SH FILES
+.TP
+.I /dev/loop[0..N]
+loop block devices
+.TP
+.I /dev/loop-cotrol
+loop control device
+
+.SH EXAMPLE
+The following commands can be used as an example of using the loop device.
+.nf
+.IP
+# dd if=/dev/zero of=~/file.img bs=1MiB count=10
+# losetup --find --show ~/file.img
+/dev/loop0
+# mkfs -t ext2 /dev/loop0
+# mount /dev/loop0 /mnt
+ ...
+# umount /dev/loop0
+# losetup --detach /dev/loop0
+.fi
+.SH AUTHORS
+Karel Zak <kzak@redhat.com>, based on original version from
+Theodore Ts'o <tytso@athena.mit.edu>
+.SH AVAILABILITY
+The losetup command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/losetup.c b/sys-utils/losetup.c
new file mode 100644
index 0000000..fdcc0be
--- /dev/null
+++ b/sys-utils/losetup.c
@@ -0,0 +1,465 @@
+/*
+ * Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+ * Originally from Ted's losetup.c
+ *
+ * losetup.c - setup and control loop devices
+ */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <inttypes.h>
+#include <getopt.h>
+
+#include "c.h"
+#include "nls.h"
+#include "strutils.h"
+#include "loopdev.h"
+#include "xgetpass.h"
+#include "closestream.h"
+#include "optutils.h"
+
+enum {
+ A_CREATE = 1, /* setup a new device */
+ A_DELETE, /* delete given device(s) */
+ A_DELETE_ALL, /* delete all devices */
+ A_SHOW, /* list devices */
+ A_SHOW_ONE, /* print info about one device */
+ A_FIND_FREE, /* find first unused */
+ A_SET_CAPACITY, /* set device capacity */
+};
+
+static int verbose;
+
+
+static int printf_loopdev(struct loopdev_cxt *lc)
+{
+ uint64_t x;
+ dev_t dev = 0;
+ ino_t ino = 0;
+ char *fname = NULL;
+ uint32_t type;
+
+ fname = loopcxt_get_backing_file(lc);
+ if (!fname)
+ return -EINVAL;
+
+ if (loopcxt_get_backing_devno(lc, &dev) == 0)
+ loopcxt_get_backing_inode(lc, &ino);
+
+ if (!dev && !ino) {
+ /*
+ * Probably non-root user (no permissions to
+ * call LOOP_GET_STATUS ioctls).
+ */
+ printf("%s: []: (%s)",
+ loopcxt_get_device(lc), fname);
+
+ if (loopcxt_get_offset(lc, &x) == 0 && x)
+ printf(_(", offset %ju"), x);
+
+ if (loopcxt_get_sizelimit(lc, &x) == 0 && x)
+ printf(_(", sizelimit %ju"), x);
+ printf("\n");
+ return 0;
+ }
+
+ printf("%s: [%04d]:%" PRIu64 " (%s)",
+ loopcxt_get_device(lc), (int) dev, ino, fname);
+
+ if (loopcxt_get_offset(lc, &x) == 0 && x)
+ printf(_(", offset %ju"), x);
+
+ if (loopcxt_get_sizelimit(lc, &x) == 0 && x)
+ printf(_(", sizelimit %ju"), x);
+
+ if (loopcxt_get_encrypt_type(lc, &type) == 0) {
+ const char *e = loopcxt_get_crypt_name(lc);
+
+ if ((!e || !*e) && type == 1)
+ e = "XOR";
+ if (e && *e)
+ printf(_(", encryption %s (type %u)"), e, type);
+ }
+ printf("\n");
+ return 0;
+}
+
+static int show_all_loops(struct loopdev_cxt *lc, const char *file,
+ uint64_t offset, int flags)
+{
+ struct stat sbuf, *st = &sbuf;
+
+ if (loopcxt_init_iterator(lc, LOOPITER_FL_USED))
+ return -1;
+
+ if (!file || stat(file, st))
+ st = NULL;
+
+ while (loopcxt_next(lc) == 0) {
+
+ if (file && !loopcxt_is_used(lc, st, file, offset, flags))
+ continue;
+
+ printf_loopdev(lc);
+ }
+ loopcxt_deinit_iterator(lc);
+ return 0;
+}
+
+static int set_capacity(struct loopdev_cxt *lc)
+{
+ int fd = loopcxt_get_fd(lc);
+
+ if (fd < 0)
+ warn(_("cannot open %s"), loopcxt_get_device(lc));
+ else if (ioctl(fd, LOOP_SET_CAPACITY) != 0)
+ warnx(_("%s: set capacity failed"), loopcxt_get_device(lc));
+ else
+ return 0;
+
+ return -1;
+}
+
+static int delete_loop(struct loopdev_cxt *lc)
+{
+ if (loopcxt_delete_device(lc))
+ warn(_("%s: detach failed"), loopcxt_get_device(lc));
+ else
+ return 0;
+
+ return -1;
+}
+
+static int delete_all_loops(struct loopdev_cxt *lc)
+{
+ int res = 0;
+
+ if (loopcxt_init_iterator(lc, LOOPITER_FL_USED))
+ return -1;
+
+ while (loopcxt_next(lc) == 0)
+ res += delete_loop(lc);
+
+ loopcxt_deinit_iterator(lc);
+ return res;
+}
+
+static void usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+
+ fprintf(out,
+ _(" %1$s [options] [<loopdev>]\n"
+ " %1$s [options] -f | <loopdev> <file>\n"),
+ program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -a, --all list all used devices\n"
+ " -d, --detach <loopdev> [...] detach one or more devices\n"
+ " -D, --detach-all detach all used devices\n"
+ " -f, --find find first unused device\n"
+ " -c, --set-capacity <loopdev> resize device\n"
+ " -j, --associated <file> list all devices associated with <file>\n"), out);
+ fputs(USAGE_SEPARATOR, out);
+
+ fputs(_(" -e, --encryption <type> enable encryption with specified <name/num>\n"
+ " -o, --offset <num> start at offset <num> into file\n"
+ " --sizelimit <num> device limited to <num> bytes of the file\n"
+ " -p, --pass-fd <num> read passphrase from file descriptor <num>\n"
+ " -P, --partscan create partitioned loop device\n"
+ " -r, --read-only setup read-only loop device\n"
+ " --show print device name after setup (with -f)\n"
+ " -v, --verbose verbose mode\n"), out);
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+
+ fprintf(out, USAGE_MAN_TAIL("losetup(8)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void warn_size(const char *filename, uint64_t size)
+{
+ struct stat st;
+
+ if (!size) {
+ if (stat(filename, &st))
+ return;
+ size = st.st_size;
+ }
+
+ if (size < 512)
+ warnx(_("%s: warning: file smaller than 512 bytes, the loop device "
+ "maybe be useless or invisible for system tools."),
+ filename);
+ else if (size % 512)
+ warnx(_("%s: warning: file does not fit into a 512-byte sector "
+ "the end of the file will be ignored."),
+ filename);
+}
+
+int main(int argc, char **argv)
+{
+ struct loopdev_cxt lc;
+ int act = 0, flags = 0, passfd = -1, c;
+ char *file = NULL, *encryption = NULL;
+ uint64_t offset = 0, sizelimit = 0;
+ int res = 0, showdev = 0, lo_flags = 0;
+
+ enum {
+ OPT_SIZELIMIT = CHAR_MAX + 1,
+ OPT_SHOW
+ };
+ static const struct option longopts[] = {
+ { "all", 0, 0, 'a' },
+ { "set-capacity", 1, 0, 'c' },
+ { "detach", 1, 0, 'd' },
+ { "detach-all", 0, 0, 'D' },
+ { "encryption", 1, 0, 'e' },
+ { "find", 0, 0, 'f' },
+ { "help", 0, 0, 'h' },
+ { "associated", 1, 0, 'j' },
+ { "offset", 1, 0, 'o' },
+ { "sizelimit", 1, 0, OPT_SIZELIMIT },
+ { "pass-fd", 1, 0, 'p' },
+ { "partscan", 0, 0, 'P' },
+ { "read-only", 0, 0, 'r' },
+ { "show", 0, 0, OPT_SHOW },
+ { "verbose", 0, 0, 'v' },
+ { "version", 0, 0, 'V' },
+ { NULL, 0, 0, 0 }
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in ASCII order */
+ { 'D','a','c','d','f','j' },
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (loopcxt_init(&lc, 0))
+ err(EXIT_FAILURE, _("failed to initialize loopcxt"));
+
+ loopcxt_enable_debug(&lc, getenv("LOOPDEV_DEBUG") ? TRUE : FALSE);
+
+ while ((c = getopt_long(argc, argv, "ac:d:De:E:fhj:o:p:PrvV",
+ longopts, NULL)) != -1) {
+
+ err_exclusive_options(c, longopts, excl, excl_st);
+
+ switch (c) {
+ case 'a':
+ act = A_SHOW;
+ break;
+ case 'c':
+ act = A_SET_CAPACITY;
+ if (loopcxt_set_device(&lc, optarg))
+ err(EXIT_FAILURE, _("%s: failed to use device"),
+ optarg);
+ break;
+ case 'r':
+ lo_flags |= LO_FLAGS_READ_ONLY;
+ break;
+ case 'd':
+ act = A_DELETE;
+ if (loopcxt_set_device(&lc, optarg))
+ err(EXIT_FAILURE, _("%s: failed to use device"),
+ optarg);
+ break;
+ case 'D':
+ act = A_DELETE_ALL;
+ break;
+ case 'E':
+ case 'e':
+ encryption = optarg;
+ break;
+ case 'f':
+ act = A_FIND_FREE;
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case 'j':
+ act = A_SHOW;
+ file = optarg;
+ break;
+ case 'o':
+ offset = strtosize_or_err(optarg, _("failed to parse offset"));
+ flags |= LOOPDEV_FL_OFFSET;
+ break;
+ case 'p':
+ passfd = strtou32_or_err(optarg,
+ _("invalid passphrase file descriptor"));
+ break;
+ case 'P':
+ lo_flags |= LO_FLAGS_PARTSCAN;
+ break;
+ case OPT_SHOW:
+ showdev = 1;
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case OPT_SIZELIMIT: /* --sizelimit */
+ sizelimit = strtosize_or_err(optarg, _("failed to parse size"));
+ flags |= LOOPDEV_FL_SIZELIMIT;
+ break;
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (argc == 1)
+ usage(stderr);
+
+ if (act == A_FIND_FREE && optind < argc) {
+ /*
+ * losetup -f <backing_file>
+ */
+ act = A_CREATE;
+ file = argv[optind++];
+ }
+ if (!act && optind + 1 == argc) {
+ /*
+ * losetup <device>
+ */
+ act = A_SHOW_ONE;
+ if (loopcxt_set_device(&lc, argv[optind]))
+ err(EXIT_FAILURE, _("%s: failed to use device"),
+ argv[optind]);
+ optind++;
+ }
+ if (!act) {
+ /*
+ * losetup <loopdev> <backing_file>
+ */
+ act = A_CREATE;
+
+ if (optind >= argc)
+ errx(EXIT_FAILURE, _("no loop device specified"));
+ if (loopcxt_set_device(&lc, argv[optind]))
+ err(EXIT_FAILURE, _("%s failed to use device"),
+ argv[optind]);
+ optind++;
+
+ if (optind >= argc)
+ errx(EXIT_FAILURE, _("no file specified"));
+ file = argv[optind++];
+ }
+
+ if (act != A_CREATE &&
+ (encryption || sizelimit || passfd != -1 || lo_flags || showdev))
+ errx(EXIT_FAILURE,
+ _("the options %s are allowed to loop device setup only"),
+ "--{encryption,sizelimit,pass-fd,read-only,show}");
+
+ if ((flags & LOOPDEV_FL_OFFSET) &&
+ act != A_CREATE && (act != A_SHOW || !file))
+ errx(EXIT_FAILURE, _("the option --offset is not allowed in this context."));
+
+ switch (act) {
+ case A_CREATE:
+ {
+ char *pass = NULL;
+ int hasdev = loopcxt_has_device(&lc);
+
+ if (encryption) {
+#ifdef MCL_FUTURE
+ if(mlockall(MCL_CURRENT | MCL_FUTURE))
+ err(EXIT_FAILURE, _("couldn't lock into memory"));
+#endif
+ pass = xgetpass(passfd, _("Password: "));
+ }
+ do {
+ /* Note that loopcxt_{find_unused,set_device}() resets
+ * loopcxt struct.
+ */
+ if (!hasdev && (res = loopcxt_find_unused(&lc))) {
+ warnx(_("not found unused device"));
+ break;
+ }
+ if (encryption && pass)
+ loopcxt_set_encryption(&lc, encryption, pass);
+ if (flags & LOOPDEV_FL_OFFSET)
+ loopcxt_set_offset(&lc, offset);
+ if (flags & LOOPDEV_FL_SIZELIMIT)
+ loopcxt_set_sizelimit(&lc, sizelimit);
+ if (lo_flags)
+ loopcxt_set_flags(&lc, lo_flags);
+ if ((res = loopcxt_set_backing_file(&lc, file))) {
+ warn(_("%s: failed to use backing file"), file);
+ break;
+ }
+ errno = 0;
+ res = loopcxt_setup_device(&lc);
+ if (res == 0)
+ break; /* success */
+ if (errno != EBUSY) {
+ warn(_("%s: failed to setup loop device"),
+ hasdev && loopcxt_get_fd(&lc) < 0 ?
+ loopcxt_get_device(&lc) : file);
+ break;
+ }
+ } while (hasdev == 0);
+
+ free(pass);
+
+ if (res == 0) {
+ if (showdev)
+ printf("%s\n", loopcxt_get_device(&lc));
+ warn_size(file, sizelimit);
+ }
+ break;
+ }
+ case A_DELETE:
+ res = delete_loop(&lc);
+ while (optind < argc) {
+ if (loopcxt_set_device(&lc, argv[optind]))
+ warn(_("%s: failed to use device"),
+ argv[optind]);
+ optind++;
+ res += delete_loop(&lc);
+ }
+ break;
+ case A_DELETE_ALL:
+ res = delete_all_loops(&lc);
+ break;
+ case A_FIND_FREE:
+ if (loopcxt_find_unused(&lc))
+ warn(_("find unused loop device failed"));
+ else
+ printf("%s\n", loopcxt_get_device(&lc));
+ break;
+ case A_SHOW:
+ res = show_all_loops(&lc, file, offset, flags);
+ break;
+ case A_SHOW_ONE:
+ res = printf_loopdev(&lc);
+ if (res)
+ warn(_("%s"), loopcxt_get_device(&lc));
+ break;
+ case A_SET_CAPACITY:
+ res = set_capacity(&lc);
+ break;
+ default:
+ usage(stderr);
+ break;
+ }
+
+ loopcxt_deinit(&lc);
+ return res ? EXIT_FAILURE : EXIT_SUCCESS;
+}
+
diff --git a/sys-utils/lp.h b/sys-utils/lp.h
new file mode 100644
index 0000000..7fa83dd
--- /dev/null
+++ b/sys-utils/lp.h
@@ -0,0 +1,83 @@
+/* Line printer stuff mostly follows the original Centronics printers. See
+ IEEE Std.1284-1994 Standard Signaling Method for a Bi-directional Parallel
+ Peripheral Interface for Personal Computers for 5 modes of data transfer. */
+
+/* Parallel port registers: data (0x3bc, 0x378, 0x278), status=data+1, control=data+2 */
+
+/* Parallel port status register (read only):
+bit 7: NBSY (1: ready, 0: busy or error or off-line)
+bit 6: NACK (if NBSY=1, then 1; if NBSY=0 then 1: sending data, 0: ready with data)
+bit 5: PAP (1: out-of-paper)
+bit 4: OFON (1: on-line)
+bit 3: NFEH (1: OK, 0: printer error)
+bits 2-0: 07
+
+On out-of-paper: PAP=1, OFON=0, NFEH=1.
+
+"When reading the busy status, read twice in a row and use the value
+obtained from the second read. This improves the reliability on some
+parallel ports when the busy line may not be connected and is floating."
+"On some Okidata printers when the busy signal switches from high to low,
+the printer sends a 50 ns glitch on the paper out signal line. Before
+declaring a paper out condition, check the status again."
+(The Undocumented PC, F. van Gilluwe, p. 711)
+*/
+
+/* Parallel port control register (read/write):
+bit 4: IRQ (1: we want an interrupt when NACK goes from 1 to 0)
+bit 3: DSL (1: activate printer)
+bit 2: NINI (0: initialise printer)
+bit 1: ALF (1: printer performs automatic linefeed after each line)
+bit 0: STR (0->1: generate a Strobe pulse: transport data to printer)
+*/
+
+/* Parallel port timing:
+ 1. wait for NBSY=1
+ 2. outb(data byte, data port)
+ 3. wait for at least 0.5us
+ 4. read control port, OR with STR=0x1, output to control port - purpose:
+ generate strobe pulse; this will make the busy line go high
+ 5. wait for at least 0.5us
+ 6. read control port, AND with !STR, output to control port
+ 7. wait for at least 0.5us
+ 8. in a loop: read status register until NACK bit is 0 or NBSY=1
+ (the printer will keep NACK=0 for at least 0.5us, then NACK=NBSY=1).
+*/
+
+
+/* lp ioctls */
+#define LPCHAR 0x0601 /* specify the number of times we ask for the status
+ (waiting for ready) before giving up with a timeout
+ The duration may mainly depend on the timing of an inb. */
+#define LPTIME 0x0602 /* time to sleep after each timeout (in units of 0.01 sec) */
+#define LPABORT 0x0604 /* call with TRUE arg to abort on error,
+ FALSE to retry. Default is retry. */
+#define LPSETIRQ 0x0605 /* call with new IRQ number,
+ or 0 for polling (no IRQ) */
+#define LPGETIRQ 0x0606 /* get the current IRQ number */
+#define LPWAIT 0x0608 /* #of loops to wait before taking strobe high */
+#define LPCAREFUL 0x0609 /* call with TRUE arg to require out-of-paper, off-
+ line, and error indicators good on all writes,
+ FALSE to ignore them. Default is ignore. */
+#define LPABORTOPEN 0x060a /* call with TRUE arg to abort open() on error,
+ FALSE to ignore error. Default is ignore. */
+#define LPGETSTATUS 0x060b /* return LP_S(minor) */
+#define LPRESET 0x060c /* reset printer */
+#define LPGETFLAGS 0x060e /* get status flags */
+
+#define LPSTRICT 0x060f /* enable/disable strict compliance (2.0.36) */
+ /* Strict: wait until !READY before taking strobe low;
+ this may be bad for the Epson Stylus 800.
+ Not strict: wait a constant time as given by LPWAIT */
+#define LPTRUSTIRQ 0x060f /* set/unset the LP_TRUST_IRQ flag (2.1.131) */
+
+/*
+ * bit defines for 8255 status port
+ * base + 1
+ * accessed with LP_S(minor), which gets the byte...
+ */
+#define LP_PBUSY 0x80 /* inverted input, active high */
+#define LP_PACK 0x40 /* unchanged input, active low */
+#define LP_POUTPA 0x20 /* unchanged input, active high */
+#define LP_PSELECD 0x10 /* unchanged input, active high */
+#define LP_PERRORP 0x08 /* unchanged input, active low */
diff --git a/sys-utils/lscpu.1 b/sys-utils/lscpu.1
new file mode 100644
index 0000000..f7e34b9
--- /dev/null
+++ b/sys-utils/lscpu.1
@@ -0,0 +1,149 @@
+.\" Process this file with
+.\" groff -man -Tascii lscpu.1
+.\"
+.TH LSCPU 1 "February 2011" "util-linux" "User Commands"
+.SH NAME
+lscpu \- display information about the CPU architecture
+.SH SYNOPSIS
+.B lscpu
+.RB [ \-a | \-b | \-c "] [" \-x "] [" \-s " \fIdirectory\fP] [" \-e " [\fI=list\fP]|" \-p " [\fI=list\fP]]"
+.br
+.B lscpu
+.BR \-h | \-V
+.SH DESCRIPTION
+.B lscpu
+gathers CPU architecture information from sysfs and /proc/cpuinfo. The
+command output can be optimized for parsing or for easy readability by humans.
+.br
+The information includes, for example, the number of CPUs, threads, cores,
+sockets, and Non-Uniform Memory Access (NUMA) nodes. There is also information
+about the CPU caches and cache sharing, family, model, bogoMIPS, byte order,
+and stepping.
+
+Options that result in an output table have a \fIlist\fP argument. Use this
+argument to customize the command output. Specify a comma-separated list of
+column labels to limit the output table to only the specified columns, arranged
+in the specified order. See \fBCOLUMNS\fP for a list of valid column labels. The
+column labels are not case sensitive.
+
+Not all columns are supported on all architectures. If an unsupported column is
+specified, \fBlscpu\fP prints the column but does not provide any data for it.
+
+.SS COLUMNS
+.TP
+.B CPU
+The logical CPU number of a CPU as used by the Linux kernel.
+.TP
+.B CORE
+The logical core number. A core can contain several CPUs.
+.TP
+.B SOCKET
+The logical socket number. A socket can contain several cores.
+.TP
+.B BOOK
+The logical book number. A book can contain several sockets.
+.TP
+.B NODE
+The logical NUMA node number. A node may contain several books.
+.TP
+.B CACHE
+Information about how caches are shared between CPUs.
+.TP
+.B ADDRESS
+The physical address of a CPU.
+.TP
+.B ONLINE
+Indicator that shows whether the Linux instance currently makes use of the CPU.
+.TP
+.B CONFIGURED
+Indicator that shows if the hypervisor has allocated the CPU to the virtual
+hardware on which the Linux instance runs. CPUs that are configured can be set
+online by the Linux instance.
+This column contains data only if your hardware system and hypervisor support
+dynamic CPU resource allocation.
+.TP
+.B POLARIZATION
+This column contains data for Linux instances that run on virtual hardware with
+a hypervisor that can switch the CPU dispatching mode (polarization). The
+polarization can be:
+.RS
+.TP 12
+.B horizontal\fP
+The workload is spread across all available CPUs.
+.TP 12
+.B vertical
+The workload is concentrated on few CPUs.
+.P
+For vertical polarization, the column also shows the degree of concentration,
+high, medium, or low. This column contains data only if your hardware system
+and hypervisor support CPU polarization.
+.RE
+.SH OPTIONS
+.TP
+.BR \-a , " \-\-all"
+Include lines for online and offline CPUs in the output (default for -e). This
+option may only specified together with option -e or -p.
+.TP
+.BR \-b , " \-\-online"
+Limit the output to online CPUs (default for -p). This option may only
+be specified together with option -e or -p.
+.TP
+.BR \-c , " \-\-offline"
+Limit the output to offline CPUs. This option may only be specified together
+with option -e or -p.
+.TP
+.BR \-e , " \-\-extended " \fI[=list]\fP
+Display the CPU information in human readable format.
+
+If the \fIlist\fP argument is omitted, all columns for which data is available
+are included in the command output.
+
+When specifying the \fIlist\fP argument, the string of option, equal sign (=), and
+\fIlist\fP must not contain any blanks or other white space.
+Examples: '\fB-e=cpu,node\fP' or '\fB--extended=cpu,node\fP'.
+.TP
+.BR \-h , " \-\-help"
+Display help information and exit.
+.TP
+.BR \-p , " \-\-parse " \fI[=list]\fP
+Optimize the command output for easy parsing.
+
+If the \fIlist\fP argument is omitted, the command output is compatible with earlier
+versions of \fBlscpu\fP. In this compatible format, two commas are used to separate
+CPU cache columns. If no CPU caches are identified the cache column is omitted.
+.br
+If the \fIlist\fP argument is used, cache columns are separated with a colon (:).
+
+When specifying the \fIlist\fP argument, the string of option, equal sign (=), and
+\fIlist\fP must not contain any blanks or other white space.
+Examples: '\fB-p=cpu,node\fP' or '\fB--parse=cpu,node\fP'.
+.TP
+.BR \-s , " \-\-sysroot " \fIdirectory\fP
+Gather CPU data for a Linux instance other than the instance from which the
+\fBlscpu\fP command is issued. The specified \fIdirectory\fP is the system root
+of the Linux instance to be inspected.
+.TP
+.BR \-x , " \-\-hex"
+Use hexadecimal masks for CPU sets (for example 0x3). The default is to print
+the sets in list format (for example 0,1).
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit.
+.SH BUGS
+The basic overview about CPU family, model, etc. is always based on the first
+CPU only.
+
+Sometimes in Xen Dom0 the kernel reports wrong data.
+
+On virtual hardware the number of cores per socket, etc. can be wrong.
+.SH AUTHOR
+.nf
+Cai Qian <qcai@redhat.com>
+Karel Zak <kzak@redhat.com>
+Heiko Carstens <heiko.carstens@de.ibm.com>
+.fi
+.SH "SEE ALSO"
+.BR chcpu (8)
+.SH AVAILABILITY
+The lscpu command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
new file mode 100644
index 0000000..25a0273
--- /dev/null
+++ b/sys-utils/lscpu.c
@@ -0,0 +1,1400 @@
+/*
+ * lscpu - CPU architecture information helper
+ *
+ * Copyright (C) 2008 Cai Qian <qcai@redhat.com>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <ctype.h>
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/utsname.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include "cpuset.h"
+#include "nls.h"
+#include "xalloc.h"
+#include "c.h"
+#include "strutils.h"
+#include "bitops.h"
+#include "tt.h"
+#include "path.h"
+#include "closestream.h"
+#include "optutils.h"
+
+#define CACHE_MAX 100
+
+/* /sys paths */
+#define _PATH_SYS_SYSTEM "/sys/devices/system"
+#define _PATH_SYS_CPU _PATH_SYS_SYSTEM "/cpu"
+#define _PATH_PROC_XEN "/proc/xen"
+#define _PATH_PROC_XENCAP _PATH_PROC_XEN "/capabilities"
+#define _PATH_PROC_CPUINFO "/proc/cpuinfo"
+#define _PATH_PROC_PCIDEVS "/proc/bus/pci/devices"
+#define _PATH_PROC_SYSINFO "/proc/sysinfo"
+
+/* virtualization types */
+enum {
+ VIRT_NONE = 0,
+ VIRT_PARA,
+ VIRT_FULL
+};
+const char *virt_types[] = {
+ [VIRT_NONE] = N_("none"),
+ [VIRT_PARA] = N_("para"),
+ [VIRT_FULL] = N_("full")
+};
+
+/* hypervisor vendors */
+enum {
+ HYPER_NONE = 0,
+ HYPER_XEN,
+ HYPER_KVM,
+ HYPER_MSHV,
+ HYPER_VMWARE,
+ HYPER_IBM
+};
+const char *hv_vendors[] = {
+ [HYPER_NONE] = NULL,
+ [HYPER_XEN] = "Xen",
+ [HYPER_KVM] = "KVM",
+ [HYPER_MSHV] = "Microsoft",
+ [HYPER_VMWARE] = "VMware",
+ [HYPER_IBM] = "IBM"
+};
+
+/* CPU modes */
+enum {
+ MODE_32BIT = (1 << 1),
+ MODE_64BIT = (1 << 2)
+};
+
+/* cache(s) description */
+struct cpu_cache {
+ char *name;
+ char *size;
+
+ int nsharedmaps;
+ cpu_set_t **sharedmaps;
+};
+
+/* dispatching modes */
+enum {
+ DISP_HORIZONTAL = 0,
+ DISP_VERTICAL = 1
+};
+
+const char *disp_modes[] = {
+ [DISP_HORIZONTAL] = N_("horizontal"),
+ [DISP_VERTICAL] = N_("vertical")
+};
+
+/* cpu polarization */
+enum {
+ POLAR_UNKNOWN = 0,
+ POLAR_VLOW,
+ POLAR_VMEDIUM,
+ POLAR_VHIGH,
+ POLAR_HORIZONTAL
+};
+
+struct polarization_modes {
+ char *parsable;
+ char *readable;
+};
+
+struct polarization_modes polar_modes[] = {
+ [POLAR_UNKNOWN] = {"U", "-"},
+ [POLAR_VLOW] = {"VL", "vert-low"},
+ [POLAR_VMEDIUM] = {"VM", "vert-medium"},
+ [POLAR_VHIGH] = {"VH", "vert-high"},
+ [POLAR_HORIZONTAL] = {"H", "horizontal"},
+};
+
+/* global description */
+struct lscpu_desc {
+ char *arch;
+ char *vendor;
+ char *family;
+ char *model;
+ char *virtflag; /* virtualization flag (vmx, svm) */
+ char *hypervisor; /* hypervisor software */
+ int hyper; /* hypervisor vendor ID */
+ int virtype; /* VIRT_PARA|FULL|NONE ? */
+ char *mhz;
+ char *stepping;
+ char *bogomips;
+ char *flags;
+ int dispatching; /* none, horizontal or vertical */
+ int mode; /* rm, lm or/and tm */
+
+ int ncpus; /* number of CPUs */
+ cpu_set_t *online; /* mask with online CPUs */
+
+ int nnodes; /* number of NUMA modes */
+ cpu_set_t **nodemaps; /* array with NUMA nodes */
+
+ /* books -- based on book_siblings (internal kernel map of cpuX's
+ * hardware threads within the same book */
+ int nbooks; /* number of all online books */
+ cpu_set_t **bookmaps; /* unique book_siblings */
+
+ /* sockets -- based on core_siblings (internal kernel map of cpuX's
+ * hardware threads within the same physical_package_id (socket)) */
+ int nsockets; /* number of all online sockets */
+ cpu_set_t **socketmaps; /* unique core_siblings */
+
+ /* cores -- based on thread_siblings (internel kernel map of cpuX's
+ * hardware threads within the same core as cpuX) */
+ int ncores; /* number of all online cores */
+ cpu_set_t **coremaps; /* unique thread_siblings */
+
+ int nthreads; /* number of online threads */
+
+ int ncaches;
+ struct cpu_cache *caches;
+
+ int *polarization; /* cpu polarization */
+ int *addresses; /* physical cpu addresses */
+ int *configured; /* cpu configured */
+};
+
+enum {
+ OUTPUT_SUMMARY = 0, /* default */
+ OUTPUT_PARSABLE, /* -p */
+ OUTPUT_READABLE, /* -e */
+};
+
+enum {
+ SYSTEM_LIVE = 0, /* analyzing a live system */
+ SYSTEM_SNAPSHOT, /* analyzing a snapshot of a different system */
+};
+
+struct lscpu_modifier {
+ int mode; /* OUTPUT_* */
+ int system; /* SYSTEM_* */
+ unsigned int hex:1, /* print CPU masks rather than CPU lists */
+ compat:1, /* use backwardly compatible format */
+ online:1, /* print online CPUs */
+ offline:1; /* print offline CPUs */
+};
+
+static int maxcpus; /* size in bits of kernel cpu mask */
+
+#define is_cpu_online(_d, _cpu) \
+ ((_d) && (_d)->online ? \
+ CPU_ISSET_S((_cpu), CPU_ALLOC_SIZE(maxcpus), (_d)->online) : 0)
+
+/*
+ * IDs
+ */
+enum {
+ COL_CPU,
+ COL_CORE,
+ COL_SOCKET,
+ COL_NODE,
+ COL_BOOK,
+ COL_CACHE,
+ COL_POLARIZATION,
+ COL_ADDRESS,
+ COL_CONFIGURED,
+ COL_ONLINE,
+};
+
+/* column description
+ */
+struct lscpu_coldesc {
+ const char *name;
+ const char *help;
+
+ unsigned int is_abbr:1; /* name is abbreviation */
+};
+
+static struct lscpu_coldesc coldescs[] =
+{
+ [COL_CPU] = { "CPU", N_("logical CPU number"), 1 },
+ [COL_CORE] = { "CORE", N_("logical core number") },
+ [COL_SOCKET] = { "SOCKET", N_("logical socket number") },
+ [COL_NODE] = { "NODE", N_("logical NUMA node number") },
+ [COL_BOOK] = { "BOOK", N_("logical book number") },
+ [COL_CACHE] = { "CACHE", N_("shows how caches are shared between CPUs") },
+ [COL_POLARIZATION] = { "POLARIZATION", N_("CPU dispatching mode on virtual hardware") },
+ [COL_ADDRESS] = { "ADDRESS", N_("physical address of a CPU") },
+ [COL_CONFIGURED] = { "CONFIGURED", N_("shows if the hypervisor has allocated the CPU") },
+ [COL_ONLINE] = { "ONLINE", N_("shows if Linux currently makes use of the CPU") }
+};
+
+static int
+column_name_to_id(const char *name, size_t namesz)
+{
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(coldescs); i++) {
+ const char *cn = coldescs[i].name;
+
+ if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ return i;
+ }
+ warnx(_("unknown column: %s"), name);
+ return -1;
+}
+
+/* Lookup a pattern and get the value from cpuinfo.
+ * Format is:
+ *
+ * "<pattern> : <key>"
+ */
+static int
+lookup(char *line, char *pattern, char **value)
+{
+ char *p, *v;
+ int len = strlen(pattern);
+
+ if (!*line)
+ return 0;
+
+ /* pattern */
+ if (strncmp(line, pattern, len))
+ return 0;
+
+ /* white spaces */
+ for (p = line + len; isspace(*p); p++);
+
+ /* separator */
+ if (*p != ':')
+ return 0;
+
+ /* white spaces */
+ for (++p; isspace(*p); p++);
+
+ /* value */
+ if (!*p)
+ return 0;
+ v = p;
+
+ /* end of value */
+ len = strlen(line) - 1;
+ for (p = line + len; isspace(*(p-1)); p--);
+ *p = '\0';
+
+ *value = xstrdup(v);
+ return 1;
+}
+
+/* Don't init the mode for platforms where we are not able to
+ * detect that CPU supports 64-bit mode.
+ */
+static int
+init_mode(struct lscpu_modifier *mod)
+{
+ int m = 0;
+
+ if (mod->system == SYSTEM_SNAPSHOT)
+ /* reading info from any /{sys,proc} dump, don't mix it with
+ * information about our real CPU */
+ return 0;
+
+#if defined(__alpha__) || defined(__ia64__)
+ m |= MODE_64BIT; /* 64bit platforms only */
+#endif
+ /* platforms with 64bit flag in /proc/cpuinfo, define
+ * 32bit default here */
+#if defined(__i386__) || defined(__x86_64__) || \
+ defined(__s390x__) || defined(__s390__) || defined(__sparc_v9__)
+ m |= MODE_32BIT;
+#endif
+ return m;
+}
+
+static void
+read_basicinfo(struct lscpu_desc *desc, struct lscpu_modifier *mod)
+{
+ FILE *fp = path_fopen("r", 1, _PATH_PROC_CPUINFO);
+ char buf[BUFSIZ];
+ struct utsname utsbuf;
+
+ /* architecture */
+ if (uname(&utsbuf) == -1)
+ err(EXIT_FAILURE, _("error: uname failed"));
+ desc->arch = xstrdup(utsbuf.machine);
+
+ /* count CPU(s) */
+ while(path_exist(_PATH_SYS_SYSTEM "/cpu/cpu%d", desc->ncpus))
+ desc->ncpus++;
+
+ /* details */
+ while (fgets(buf, sizeof(buf), fp) != NULL) {
+ if (lookup(buf, "vendor", &desc->vendor)) ;
+ else if (lookup(buf, "vendor_id", &desc->vendor)) ;
+ else if (lookup(buf, "family", &desc->family)) ;
+ else if (lookup(buf, "cpu family", &desc->family)) ;
+ else if (lookup(buf, "model", &desc->model)) ;
+ else if (lookup(buf, "stepping", &desc->stepping)) ;
+ else if (lookup(buf, "cpu MHz", &desc->mhz)) ;
+ else if (lookup(buf, "flags", &desc->flags)) ; /* x86 */
+ else if (lookup(buf, "features", &desc->flags)) ; /* s390 */
+ else if (lookup(buf, "type", &desc->flags)) ; /* sparc64 */
+ else if (lookup(buf, "bogomips", &desc->bogomips)) ;
+ else if (lookup(buf, "bogomips per cpu", &desc->bogomips)) ; /* s390 */
+ else
+ continue;
+ }
+
+ desc->mode = init_mode(mod);
+
+ if (desc->flags) {
+ snprintf(buf, sizeof(buf), " %s ", desc->flags);
+ if (strstr(buf, " svm "))
+ desc->virtflag = xstrdup("svm");
+ else if (strstr(buf, " vmx "))
+ desc->virtflag = xstrdup("vmx");
+ if (strstr(buf, " lm "))
+ desc->mode |= MODE_32BIT | MODE_64BIT; /* x86_64 */
+ if (strstr(buf, " zarch "))
+ desc->mode |= MODE_32BIT | MODE_64BIT; /* s390x */
+ if (strstr(buf, " sun4v ") || strstr(buf, " sun4u "))
+ desc->mode |= MODE_32BIT | MODE_64BIT; /* sparc64 */
+ }
+
+ fclose(fp);
+
+ if (path_exist(_PATH_SYS_SYSTEM "/cpu/kernel_max"))
+ /* note that kernel_max is maximum index [NR_CPUS-1] */
+ maxcpus = path_getnum(_PATH_SYS_SYSTEM "/cpu/kernel_max") + 1;
+
+ else if (mod->system == SYSTEM_LIVE)
+ /* the root is '/' so we are working with data from the current kernel */
+ maxcpus = get_max_number_of_cpus();
+
+ if (maxcpus <= 0)
+ /* error or we are reading some /sys snapshot instead of the
+ * real /sys, let's use any crazy number... */
+ maxcpus = desc->ncpus > 2048 ? desc->ncpus : 2048;
+
+ /* get mask for online CPUs */
+ if (path_exist(_PATH_SYS_SYSTEM "/cpu/online")) {
+ size_t setsize = CPU_ALLOC_SIZE(maxcpus);
+ desc->online = path_cpulist(maxcpus, _PATH_SYS_SYSTEM "/cpu/online");
+ desc->nthreads = CPU_COUNT_S(setsize, desc->online);
+ }
+
+ /* get dispatching mode */
+ if (path_exist(_PATH_SYS_SYSTEM "/cpu/dispatching"))
+ desc->dispatching = path_getnum(_PATH_SYS_SYSTEM "/cpu/dispatching");
+ else
+ desc->dispatching = -1;
+}
+
+static int
+has_pci_device(unsigned int vendor, unsigned int device)
+{
+ FILE *f;
+ unsigned int num, fn, ven, dev;
+ int res = 1;
+
+ f = path_fopen("r", 0, _PATH_PROC_PCIDEVS);
+ if (!f)
+ return 0;
+
+ /* for more details about bus/pci/devices format see
+ * drivers/pci/proc.c in linux kernel
+ */
+ while(fscanf(f, "%02x%02x\t%04x%04x\t%*[^\n]",
+ &num, &fn, &ven, &dev) == 4) {
+
+ if (ven == vendor && dev == device)
+ goto found;
+ }
+
+ res = 0;
+found:
+ fclose(f);
+ return res;
+}
+
+#if defined(__x86_64__) || defined(__i386__)
+
+/*
+ * This CPUID leaf returns the information about the hypervisor.
+ * EAX : maximum input value for CPUID supported by the hypervisor.
+ * EBX, ECX, EDX : Hypervisor vendor ID signature. E.g. VMwareVMware.
+ */
+#define HYPERVISOR_INFO_LEAF 0x40000000
+
+static inline void
+cpuid(unsigned int op, unsigned int *eax, unsigned int *ebx,
+ unsigned int *ecx, unsigned int *edx)
+{
+ __asm__(
+#if defined(__PIC__) && defined(__i386__)
+ /* x86 PIC cannot clobber ebx -- gcc bitches */
+ "pushl %%ebx;"
+ "cpuid;"
+ "movl %%ebx, %%esi;"
+ "popl %%ebx;"
+ : "=S" (*ebx),
+#else
+ "cpuid;"
+ : "=b" (*ebx),
+#endif
+ "=a" (*eax),
+ "=c" (*ecx),
+ "=d" (*edx)
+ : "1" (op), "c"(0));
+}
+
+static void
+read_hypervisor_cpuid(struct lscpu_desc *desc)
+{
+ unsigned int eax = 0, ebx = 0, ecx = 0, edx = 0;
+ char hyper_vendor_id[13];
+
+ memset(hyper_vendor_id, 0, sizeof(hyper_vendor_id));
+
+ cpuid(HYPERVISOR_INFO_LEAF, &eax, &ebx, &ecx, &edx);
+ memcpy(hyper_vendor_id + 0, &ebx, 4);
+ memcpy(hyper_vendor_id + 4, &ecx, 4);
+ memcpy(hyper_vendor_id + 8, &edx, 4);
+ hyper_vendor_id[12] = '\0';
+
+ if (!hyper_vendor_id[0])
+ return;
+
+ if (!strncmp("XenVMMXenVMM", hyper_vendor_id, 12))
+ desc->hyper = HYPER_XEN;
+ else if (!strncmp("KVMKVMKVM", hyper_vendor_id, 9))
+ desc->hyper = HYPER_KVM;
+ else if (!strncmp("Microsoft Hv", hyper_vendor_id, 12))
+ desc->hyper = HYPER_MSHV;
+ else if (!strncmp("VMwareVMware", hyper_vendor_id, 12))
+ desc->hyper = HYPER_VMWARE;
+}
+
+#else /* ! __x86_64__ */
+static void
+read_hypervisor_cpuid(struct lscpu_desc *desc)
+{
+}
+#endif
+
+static void
+read_hypervisor(struct lscpu_desc *desc)
+{
+ read_hypervisor_cpuid(desc);
+
+ if (desc->hyper)
+ /* hvm */
+ desc->virtype = VIRT_FULL;
+
+ else if (path_exist(_PATH_PROC_XEN)) {
+ /* Xen para-virt or dom0 */
+ FILE *fd = path_fopen("r", 0, _PATH_PROC_XENCAP);
+ int dom0 = 0;
+
+ if (fd) {
+ char buf[256];
+
+ if (fscanf(fd, "%s", buf) == 1 &&
+ !strcmp(buf, "control_d"))
+ dom0 = 1;
+ fclose(fd);
+ }
+ desc->virtype = dom0 ? VIRT_NONE : VIRT_PARA;
+ desc->hyper = HYPER_XEN;
+
+ } else if (has_pci_device(0x5853, 0x0001)) {
+ /* Xen full-virt on non-x86_64 */
+ desc->hyper = HYPER_XEN;
+ desc->virtype = VIRT_FULL;
+ } else if (path_exist(_PATH_PROC_SYSINFO)) {
+ FILE *fd = path_fopen("r", 0, _PATH_PROC_SYSINFO);
+ char buf[BUFSIZ];
+
+ desc->hyper = HYPER_IBM;
+ desc->hypervisor = "PR/SM";
+ desc->virtype = VIRT_FULL;
+ while (fgets(buf, sizeof(buf), fd) != NULL) {
+ char *str;
+
+ if (!strstr(buf, "Control Program:"))
+ continue;
+ if (!strstr(buf, "KVM"))
+ desc->hyper = HYPER_IBM;
+ else
+ desc->hyper = HYPER_KVM;
+ str = strchr(buf, ':');
+ if (!str)
+ continue;
+ if (xasprintf(&str, "%s", str + 1) == -1)
+ errx(EXIT_FAILURE, _("failed to allocate memory"));
+ /* remove leading, trailing and repeating whitespace */
+ while (*str == ' ')
+ str++;
+ desc->hypervisor = str;
+ str += strlen(str) - 1;
+ while ((*str == '\n') || (*str == ' '))
+ *(str--) = '\0';
+ while ((str = strstr(desc->hypervisor, " ")))
+ memmove(str, str + 1, strlen(str));
+ }
+ fclose(fd);
+ }
+}
+
+/* add @set to the @ary, unnecessary set is deallocated. */
+static int add_cpuset_to_array(cpu_set_t **ary, int *items, cpu_set_t *set)
+{
+ int i;
+ size_t setsize = CPU_ALLOC_SIZE(maxcpus);
+
+ if (!ary)
+ return -1;
+
+ for (i = 0; i < *items; i++) {
+ if (CPU_EQUAL_S(setsize, set, ary[i]))
+ break;
+ }
+ if (i == *items) {
+ ary[*items] = set;
+ ++*items;
+ return 0;
+ }
+ CPU_FREE(set);
+ return 1;
+}
+
+static void
+read_topology(struct lscpu_desc *desc, int num)
+{
+ cpu_set_t *thread_siblings, *core_siblings, *book_siblings;
+
+ if (!path_exist(_PATH_SYS_CPU "/cpu%d/topology/thread_siblings", num))
+ return;
+
+ thread_siblings = path_cpuset(maxcpus, _PATH_SYS_CPU
+ "/cpu%d/topology/thread_siblings", num);
+ core_siblings = path_cpuset(maxcpus, _PATH_SYS_CPU
+ "/cpu%d/topology/core_siblings", num);
+ book_siblings = NULL;
+ if (path_exist(_PATH_SYS_CPU "/cpu%d/topology/book_siblings", num)) {
+ book_siblings = path_cpuset(maxcpus, _PATH_SYS_CPU
+ "/cpu%d/topology/book_siblings", num);
+ }
+
+ if (!desc->coremaps) {
+ int nbooks, nsockets, ncores, nthreads;
+ size_t setsize = CPU_ALLOC_SIZE(maxcpus);
+
+ /* threads within one core */
+ nthreads = CPU_COUNT_S(setsize, thread_siblings);
+ /* cores within one socket */
+ ncores = CPU_COUNT_S(setsize, core_siblings) / nthreads;
+ /* number of sockets within one book.
+ * Because of odd / non-present cpu maps and to keep
+ * calculation easy we make sure that nsockets and
+ * nbooks is at least 1.
+ */
+ nsockets = desc->ncpus / nthreads / ncores ?: 1;
+ /* number of books */
+ nbooks = desc->ncpus / nthreads / ncores / nsockets ?: 1;
+
+ /* all threads, see also read_basicinfo()
+ * -- fallback for kernels without
+ * /sys/devices/system/cpu/online.
+ */
+ if (!desc->nthreads)
+ desc->nthreads = nbooks * nsockets * ncores * nthreads;
+ /* For each map we make sure that it can have up to ncpus
+ * entries. This is because we cannot reliably calculate the
+ * number of cores, sockets and books on all architectures.
+ * E.g. completely virtualized architectures like s390 may
+ * have multiple sockets of different sizes.
+ */
+ desc->coremaps = xcalloc(desc->ncpus, sizeof(cpu_set_t *));
+ desc->socketmaps = xcalloc(desc->ncpus, sizeof(cpu_set_t *));
+ if (book_siblings)
+ desc->bookmaps = xcalloc(desc->ncpus, sizeof(cpu_set_t *));
+ }
+
+ add_cpuset_to_array(desc->socketmaps, &desc->nsockets, core_siblings);
+ add_cpuset_to_array(desc->coremaps, &desc->ncores, thread_siblings);
+ if (book_siblings)
+ add_cpuset_to_array(desc->bookmaps, &desc->nbooks, book_siblings);
+}
+static void
+read_polarization(struct lscpu_desc *desc, int num)
+{
+ char mode[64];
+
+ if (desc->dispatching < 0)
+ return;
+ if (!path_exist(_PATH_SYS_CPU "/cpu%d/polarization", num))
+ return;
+ if (!desc->polarization)
+ desc->polarization = xcalloc(desc->ncpus, sizeof(int));
+ path_getstr(mode, sizeof(mode), _PATH_SYS_CPU "/cpu%d/polarization", num);
+ if (strncmp(mode, "vertical:low", sizeof(mode)) == 0)
+ desc->polarization[num] = POLAR_VLOW;
+ else if (strncmp(mode, "vertical:medium", sizeof(mode)) == 0)
+ desc->polarization[num] = POLAR_VMEDIUM;
+ else if (strncmp(mode, "vertical:high", sizeof(mode)) == 0)
+ desc->polarization[num] = POLAR_VHIGH;
+ else if (strncmp(mode, "horizontal", sizeof(mode)) == 0)
+ desc->polarization[num] = POLAR_HORIZONTAL;
+ else
+ desc->polarization[num] = POLAR_UNKNOWN;
+}
+
+static void
+read_address(struct lscpu_desc *desc, int num)
+{
+ if (!path_exist(_PATH_SYS_CPU "/cpu%d/address", num))
+ return;
+ if (!desc->addresses)
+ desc->addresses = xcalloc(desc->ncpus, sizeof(int));
+ desc->addresses[num] = path_getnum(_PATH_SYS_CPU "/cpu%d/address", num);
+}
+
+static void
+read_configured(struct lscpu_desc *desc, int num)
+{
+ if (!path_exist(_PATH_SYS_CPU "/cpu%d/configure", num))
+ return;
+ if (!desc->configured)
+ desc->configured = xcalloc(desc->ncpus, sizeof(int));
+ desc->configured[num] = path_getnum(_PATH_SYS_CPU "/cpu%d/configure", num);
+}
+
+static int
+cachecmp(const void *a, const void *b)
+{
+ struct cpu_cache *c1 = (struct cpu_cache *) a;
+ struct cpu_cache *c2 = (struct cpu_cache *) b;
+
+ return strcmp(c2->name, c1->name);
+}
+
+static void
+read_cache(struct lscpu_desc *desc, int num)
+{
+ char buf[256];
+ int i;
+
+ if (!desc->ncaches) {
+ while(path_exist(_PATH_SYS_SYSTEM "/cpu/cpu%d/cache/index%d",
+ num, desc->ncaches))
+ desc->ncaches++;
+
+ if (!desc->ncaches)
+ return;
+
+ desc->caches = xcalloc(desc->ncaches, sizeof(*desc->caches));
+ }
+ for (i = 0; i < desc->ncaches; i++) {
+ struct cpu_cache *ca = &desc->caches[i];
+ cpu_set_t *map;
+
+ if (!path_exist(_PATH_SYS_SYSTEM "/cpu/cpu%d/cache/index%d",
+ num, i))
+ continue;
+ if (!ca->name) {
+ int type, level;
+
+ /* cache type */
+ path_getstr(buf, sizeof(buf),
+ _PATH_SYS_CPU "/cpu%d/cache/index%d/type",
+ num, i);
+ if (!strcmp(buf, "Data"))
+ type = 'd';
+ else if (!strcmp(buf, "Instruction"))
+ type = 'i';
+ else
+ type = 0;
+
+ /* cache level */
+ level = path_getnum(_PATH_SYS_CPU "/cpu%d/cache/index%d/level",
+ num, i);
+ if (type)
+ snprintf(buf, sizeof(buf), "L%d%c", level, type);
+ else
+ snprintf(buf, sizeof(buf), "L%d", level);
+
+ ca->name = xstrdup(buf);
+
+ /* cache size */
+ path_getstr(buf, sizeof(buf),
+ _PATH_SYS_CPU "/cpu%d/cache/index%d/size",
+ num, i);
+ ca->size = xstrdup(buf);
+ }
+
+ /* information about how CPUs share different caches */
+ map = path_cpuset(maxcpus,
+ _PATH_SYS_CPU "/cpu%d/cache/index%d/shared_cpu_map",
+ num, i);
+
+ if (!ca->sharedmaps)
+ ca->sharedmaps = xcalloc(desc->ncpus, sizeof(cpu_set_t *));
+ add_cpuset_to_array(ca->sharedmaps, &ca->nsharedmaps, map);
+ }
+}
+
+static void
+read_nodes(struct lscpu_desc *desc)
+{
+ int i;
+
+ /* number of NUMA node */
+ while (path_exist(_PATH_SYS_SYSTEM "/node/node%d", desc->nnodes))
+ desc->nnodes++;
+
+ if (!desc->nnodes)
+ return;
+
+ desc->nodemaps = xcalloc(desc->nnodes, sizeof(cpu_set_t *));
+
+ /* information about how nodes share different CPUs */
+ for (i = 0; i < desc->nnodes; i++)
+ desc->nodemaps[i] = path_cpuset(maxcpus,
+ _PATH_SYS_SYSTEM "/node/node%d/cpumap",
+ i);
+}
+
+static char *
+get_cell_data(struct lscpu_desc *desc, int cpu, int col,
+ struct lscpu_modifier *mod,
+ char *buf, size_t bufsz)
+{
+ size_t setsize = CPU_ALLOC_SIZE(maxcpus);
+ size_t idx;
+
+ *buf = '\0';
+
+ switch (col) {
+ case COL_CPU:
+ snprintf(buf, bufsz, "%d", cpu);
+ break;
+ case COL_CORE:
+ if (cpuset_ary_isset(cpu, desc->coremaps,
+ desc->ncores, setsize, &idx) == 0)
+ snprintf(buf, bufsz, "%zd", idx);
+ break;
+ case COL_SOCKET:
+ if (cpuset_ary_isset(cpu, desc->socketmaps,
+ desc->nsockets, setsize, &idx) == 0)
+ snprintf(buf, bufsz, "%zd", idx);
+ break;
+ case COL_NODE:
+ if (cpuset_ary_isset(cpu, desc->nodemaps,
+ desc->nnodes, setsize, &idx) == 0)
+ snprintf(buf, bufsz, "%zd", idx);
+ break;
+ case COL_BOOK:
+ if (cpuset_ary_isset(cpu, desc->bookmaps,
+ desc->nbooks, setsize, &idx) == 0)
+ snprintf(buf, bufsz, "%zd", idx);
+ break;
+ case COL_CACHE:
+ {
+ char *p = buf;
+ size_t sz = bufsz;
+ int j;
+
+ for (j = desc->ncaches - 1; j >= 0; j--) {
+ struct cpu_cache *ca = &desc->caches[j];
+
+ if (cpuset_ary_isset(cpu, ca->sharedmaps,
+ ca->nsharedmaps, setsize, &idx) == 0) {
+ int x = snprintf(p, sz, "%zd", idx);
+ if (x <= 0 || (size_t) x + 2 >= sz)
+ return NULL;
+ p += x;
+ sz -= x;
+ }
+ if (j != 0) {
+ *p++ = mod->compat ? ',' : ':';
+ *p = '\0';
+ sz++;
+ }
+ }
+ break;
+ }
+ case COL_POLARIZATION:
+ if (desc->polarization) {
+ int x = desc->polarization[cpu];
+
+ snprintf(buf, bufsz, "%s",
+ mod->mode == OUTPUT_PARSABLE ?
+ polar_modes[x].parsable :
+ polar_modes[x].readable);
+ }
+ break;
+ case COL_ADDRESS:
+ if (desc->addresses)
+ snprintf(buf, bufsz, "%d", desc->addresses[cpu]);
+ break;
+ case COL_CONFIGURED:
+ if (!desc->configured)
+ break;
+ if (mod->mode == OUTPUT_PARSABLE)
+ snprintf(buf, bufsz,
+ desc->configured[cpu] ? _("Y") : _("N"));
+ else
+ snprintf(buf, bufsz,
+ desc->configured[cpu] ? _("yes") : _("no"));
+ break;
+ case COL_ONLINE:
+ if (!desc->online)
+ break;
+ if (mod->mode == OUTPUT_PARSABLE)
+ snprintf(buf, bufsz,
+ is_cpu_online(desc, cpu) ? _("Y") : _("N"));
+ else
+ snprintf(buf, bufsz,
+ is_cpu_online(desc, cpu) ? _("yes") : _("no"));
+ break;
+ }
+ return buf;
+}
+
+static char *
+get_cell_header(struct lscpu_desc *desc, int col,
+ struct lscpu_modifier *mod,
+ char *buf, size_t bufsz)
+{
+ *buf = '\0';
+
+ if (col == COL_CACHE) {
+ char *p = buf;
+ size_t sz = bufsz;
+ int i;
+
+ for (i = desc->ncaches - 1; i >= 0; i--) {
+ int x = snprintf(p, sz, "%s", desc->caches[i].name);
+ if (x <= 0 || (size_t) x + 2 > sz)
+ return NULL;
+ sz -= x;
+ p += x;
+ if (i > 0) {
+ *p++ = mod->compat ? ',' : ':';
+ *p = '\0';
+ sz++;
+ }
+ }
+ if (desc->ncaches)
+ return buf;
+ }
+ snprintf(buf, bufsz, "%s", coldescs[col].name);
+ return buf;
+}
+
+/*
+ * [-p] backend, we support two parsable formats:
+ *
+ * 1) "compatible" -- this format is compatible with the original lscpu(1)
+ * output and it contains fixed set of the columns. The CACHE columns are at
+ * the end of the line and the CACHE is not printed if the number of the caches
+ * is zero. The CACHE columns are separated by two commas, for example:
+ *
+ * $ lscpu --parse
+ * # CPU,Core,Socket,Node,,L1d,L1i,L2
+ * 0,0,0,0,,0,0,0
+ * 1,1,0,0,,1,1,0
+ *
+ * 2) "user defined output" -- this format prints always all columns without
+ * special prefix for CACHE column. If there are not CACHEs then the column is
+ * empty and the header "Cache" is printed rather than a real name of the cache.
+ * The CACHE columns are separated by ':'.
+ *
+ * $ lscpu --parse=CPU,CORE,SOCKET,NODE,CACHE
+ * # CPU,Core,Socket,Node,L1d:L1i:L2
+ * 0,0,0,0,0:0:0
+ * 1,1,0,0,1:1:0
+ */
+static void
+print_parsable(struct lscpu_desc *desc, int cols[], int ncols,
+ struct lscpu_modifier *mod)
+{
+ char buf[BUFSIZ], *data;
+ int i;
+
+ /*
+ * Header
+ */
+ printf(_(
+ "# The following is the parsable format, which can be fed to other\n"
+ "# programs. Each different item in every column has an unique ID\n"
+ "# starting from zero.\n"));
+
+ fputs("# ", stdout);
+ for (i = 0; i < ncols; i++) {
+ int col = cols[i];
+
+ if (col == COL_CACHE) {
+ if (mod->compat && !desc->ncaches)
+ continue;
+ if (mod->compat && i != 0)
+ putchar(',');
+ }
+ if (i > 0)
+ putchar(',');
+
+ data = get_cell_header(desc, col, mod, buf, sizeof(buf));
+
+ if (data && * data && col != COL_CACHE &&
+ !coldescs[col].is_abbr) {
+ /*
+ * For normal column names use mixed case (e.g. "Socket")
+ */
+ char *p = data + 1;
+
+ while (p && *p != '\0') {
+ *p = tolower((unsigned int) *p);
+ p++;
+ }
+ }
+ fputs(data && *data ? data : "", stdout);
+ }
+ putchar('\n');
+
+ /*
+ * Data
+ */
+ for (i = 0; i < desc->ncpus; i++) {
+ int c;
+
+ if (!mod->offline && desc->online && !is_cpu_online(desc, i))
+ continue;
+ if (!mod->online && desc->online && is_cpu_online(desc, i))
+ continue;
+ for (c = 0; c < ncols; c++) {
+ if (mod->compat && cols[c] == COL_CACHE) {
+ if (!desc->ncaches)
+ continue;
+ if (c > 0)
+ putchar(',');
+ }
+ if (c > 0)
+ putchar(',');
+
+ data = get_cell_data(desc, i, cols[c], mod,
+ buf, sizeof(buf));
+ fputs(data && *data ? data : "", stdout);
+ }
+ putchar('\n');
+ }
+}
+
+/*
+ * [-e] backend
+ */
+static void
+print_readable(struct lscpu_desc *desc, int cols[], int ncols,
+ struct lscpu_modifier *mod)
+{
+ int i;
+ char buf[BUFSIZ], *data;
+ struct tt *tt = tt_new_table(0);
+
+ if (!tt)
+ err(EXIT_FAILURE, _("failed to initialize output table"));
+
+ for (i = 0; i < ncols; i++) {
+ data = get_cell_header(desc, cols[i], mod, buf, sizeof(buf));
+ tt_define_column(tt, xstrdup(data), 0, 0);
+ }
+
+ for (i = 0; i < desc->ncpus; i++) {
+ int c;
+ struct tt_line *line;
+
+ if (!mod->offline && desc->online && !is_cpu_online(desc, i))
+ continue;
+ if (!mod->online && desc->online && is_cpu_online(desc, i))
+ continue;
+
+ line = tt_add_line(tt, NULL);
+
+ for (c = 0; c < ncols; c++) {
+ data = get_cell_data(desc, i, cols[c], mod,
+ buf, sizeof(buf));
+ tt_line_set_data(line, c, data && *data ? xstrdup(data) : "-");
+ }
+ }
+
+ tt_print_table(tt);
+}
+
+/* output formats "<key> <value>"*/
+#define print_s(_key, _val) printf("%-23s%s\n", _key, _val)
+#define print_n(_key, _val) printf("%-23s%d\n", _key, _val)
+
+static void
+print_cpuset(const char *key, cpu_set_t *set, int hex)
+{
+ size_t setsize = CPU_ALLOC_SIZE(maxcpus);
+ size_t setbuflen = 7 * maxcpus;
+ char setbuf[setbuflen], *p;
+
+ if (hex) {
+ p = cpumask_create(setbuf, setbuflen, set, setsize);
+ printf("%-23s0x%s\n", key, p);
+ } else {
+ p = cpulist_create(setbuf, setbuflen, set, setsize);
+ print_s(key, p);
+ }
+
+}
+
+/*
+ * default output
+ */
+static void
+print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod)
+{
+ char buf[512];
+ int i;
+ size_t setsize = CPU_ALLOC_SIZE(maxcpus);
+
+ print_s(_("Architecture:"), desc->arch);
+
+ if (desc->mode) {
+ char mbuf[64], *p = mbuf;
+
+ if (desc->mode & MODE_32BIT) {
+ strcpy(p, "32-bit, ");
+ p += 8;
+ }
+ if (desc->mode & MODE_64BIT) {
+ strcpy(p, "64-bit, ");
+ p += 8;
+ }
+ *(p - 2) = '\0';
+ print_s(_("CPU op-mode(s):"), mbuf);
+ }
+#if !defined(WORDS_BIGENDIAN)
+ print_s(_("Byte Order:"), "Little Endian");
+#else
+ print_s(_("Byte Order:"), "Big Endian");
+#endif
+ print_n(_("CPU(s):"), desc->ncpus);
+
+ if (desc->online)
+ print_cpuset(mod->hex ? _("On-line CPU(s) mask:") :
+ _("On-line CPU(s) list:"),
+ desc->online, mod->hex);
+
+ if (desc->online && CPU_COUNT_S(setsize, desc->online) != desc->ncpus) {
+ cpu_set_t *set;
+
+ /* Linux kernel provides cpuset of off-line CPUs that contains
+ * all configured CPUs (see /sys/devices/system/cpu/offline),
+ * but want to print real (present in system) off-line CPUs only.
+ */
+ set = cpuset_alloc(maxcpus, NULL, NULL);
+ if (!set)
+ err(EXIT_FAILURE, _("failed to callocate cpu set"));
+ CPU_ZERO_S(setsize, set);
+ for (i = 0; i < desc->ncpus; i++) {
+ if (!is_cpu_online(desc, i))
+ CPU_SET_S(i, setsize, set);
+ }
+ print_cpuset(mod->hex ? _("Off-line CPU(s) mask:") :
+ _("Off-line CPU(s) list:"),
+ set, mod->hex);
+ cpuset_free(set);
+ }
+
+ if (desc->nsockets) {
+ int cores_per_socket, sockets_per_book, books;
+
+ cores_per_socket = sockets_per_book = books = 0;
+ /* s390 detects its cpu topology via /proc/sysinfo, if present.
+ * Using simply the cpu topology masks in sysfs will not give
+ * usable results since everything is virtualized. E.g.
+ * virtual core 0 may have only 1 cpu, but virtual core 2 may
+ * five cpus.
+ * If the cpu topology is not exported (e.g. 2nd level guest)
+ * fall back to old calculation scheme.
+ */
+ if (path_exist(_PATH_PROC_SYSINFO)) {
+ FILE *fd = path_fopen("r", 0, _PATH_PROC_SYSINFO);
+ char pbuf[BUFSIZ];
+ int t0, t1, t2;
+
+ while (fd && fgets(pbuf, sizeof(pbuf), fd) != NULL) {
+ if (sscanf(pbuf, "CPU Topology SW:%d%d%d%d%d%d",
+ &t0, &t1, &t2, &books, &sockets_per_book,
+ &cores_per_socket) == 6)
+ break;
+ }
+ if (fd)
+ fclose(fd);
+ }
+ print_n(_("Thread(s) per core:"), desc->nthreads / desc->ncores);
+ print_n(_("Core(s) per socket:"),
+ cores_per_socket ?: desc->ncores / desc->nsockets);
+ if (desc->nbooks) {
+ print_n(_("Socket(s) per book:"),
+ sockets_per_book ?: desc->nsockets / desc->nbooks);
+ print_n(_("Book(s):"), books ?: desc->nbooks);
+ } else {
+ print_n(_("Socket(s):"), sockets_per_book ?: desc->nsockets);
+ }
+ }
+ if (desc->nnodes)
+ print_n(_("NUMA node(s):"), desc->nnodes);
+ if (desc->vendor)
+ print_s(_("Vendor ID:"), desc->vendor);
+ if (desc->family)
+ print_s(_("CPU family:"), desc->family);
+ if (desc->model)
+ print_s(_("Model:"), desc->model);
+ if (desc->stepping)
+ print_s(_("Stepping:"), desc->stepping);
+ if (desc->mhz)
+ print_s(_("CPU MHz:"), desc->mhz);
+ if (desc->bogomips)
+ print_s(_("BogoMIPS:"), desc->bogomips);
+ if (desc->virtflag) {
+ if (!strcmp(desc->virtflag, "svm"))
+ print_s(_("Virtualization:"), "AMD-V");
+ else if (!strcmp(desc->virtflag, "vmx"))
+ print_s(_("Virtualization:"), "VT-x");
+ }
+ if (desc->hypervisor)
+ print_s(_("Hypervisor:"), desc->hypervisor);
+ if (desc->hyper) {
+ print_s(_("Hypervisor vendor:"), hv_vendors[desc->hyper]);
+ print_s(_("Virtualization type:"), _(virt_types[desc->virtype]));
+ }
+ if (desc->dispatching >= 0)
+ print_s(_("Dispatching mode:"), _(disp_modes[desc->dispatching]));
+ if (desc->ncaches) {
+ char cbuf[512];
+
+ for (i = desc->ncaches - 1; i >= 0; i--) {
+ snprintf(cbuf, sizeof(cbuf),
+ _("%s cache:"), desc->caches[i].name);
+ print_s(cbuf, desc->caches[i].size);
+ }
+ }
+
+ for (i = 0; i < desc->nnodes; i++) {
+ snprintf(buf, sizeof(buf), _("NUMA node%d CPU(s):"), i);
+ print_cpuset(buf, desc->nodemaps[i], mod->hex);
+ }
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ size_t i;
+
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %s [options]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -a, --all print online and offline CPUs (default for -e)\n"
+ " -b, --online print online CPUs only (default for -p)\n"
+ " -c, --offline print offline CPUs only\n"
+ " -e, --extended[=<list>] print out an extended readable format\n"
+ " -h, --help print this help\n"
+ " -p, --parse[=<list>] print out a parsable format\n"
+ " -s, --sysroot <dir> use directory DIR as system root\n"
+ " -V, --version print version information and exit\n"
+ " -x, --hex print hexadecimal masks rather than lists of CPUs\n"), out);
+
+ fprintf(out, _("\nAvailable columns:\n"));
+
+ for (i = 0; i < ARRAY_SIZE(coldescs); i++)
+ fprintf(out, " %13s %s\n", coldescs[i].name, _(coldescs[i].help));
+
+ fprintf(out, _("\nFor more details see lscpu(1).\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ struct lscpu_modifier _mod = { .mode = OUTPUT_SUMMARY }, *mod = &_mod;
+ struct lscpu_desc _desc = { .flags = 0 }, *desc = &_desc;
+ int c, i;
+ int columns[ARRAY_SIZE(coldescs)], ncolumns = 0;
+ int cpu_modifier_specified = 0;
+
+ static const struct option longopts[] = {
+ { "all", no_argument, 0, 'a' },
+ { "online", no_argument, 0, 'b' },
+ { "offline", no_argument, 0, 'c' },
+ { "help", no_argument, 0, 'h' },
+ { "extended", optional_argument, 0, 'e' },
+ { "parse", optional_argument, 0, 'p' },
+ { "sysroot", required_argument, 0, 's' },
+ { "hex", no_argument, 0, 'x' },
+ { "version", no_argument, 0, 'V' },
+ { NULL, 0, 0, 0 }
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in ASCII order */
+ { 'a','b','c' },
+ { 'e','p' },
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "abce::hp::s:xV", longopts, NULL)) != -1) {
+
+ err_exclusive_options(c, longopts, excl, excl_st);
+
+ switch (c) {
+ case 'a':
+ mod->online = mod->offline = 1;
+ cpu_modifier_specified = 1;
+ break;
+ case 'b':
+ mod->online = 1;
+ cpu_modifier_specified = 1;
+ break;
+ case 'c':
+ mod->offline = 1;
+ cpu_modifier_specified = 1;
+ break;
+ case 'h':
+ usage(stdout);
+ case 'p':
+ goto hop_over;
+ case 'e':
+ hop_over:
+ if (optarg) {
+ if (*optarg == '=')
+ optarg++;
+ ncolumns = string_to_idarray(optarg,
+ columns, ARRAY_SIZE(columns),
+ column_name_to_id);
+ if (ncolumns < 0)
+ return EXIT_FAILURE;
+ }
+ mod->mode = c == 'p' ? OUTPUT_PARSABLE : OUTPUT_READABLE;
+ break;
+ case 's':
+ path_setprefix(optarg);
+ mod->system = SYSTEM_SNAPSHOT;
+ break;
+ case 'x':
+ mod->hex = 1;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (cpu_modifier_specified && mod->mode == OUTPUT_SUMMARY) {
+ fprintf(stderr,
+ _("%s: options --all, --online and --offline may only "
+ "be used with options --extended or --parsable.\n"),
+ program_invocation_short_name);
+ return EXIT_FAILURE;
+ }
+
+ if (argc != optind)
+ usage(stderr);
+
+ /* set default cpu display mode if none was specified */
+ if (!mod->online && !mod->offline) {
+ mod->online = 1;
+ mod->offline = mod->mode == OUTPUT_READABLE ? 1 : 0;
+ }
+
+ read_basicinfo(desc, mod);
+
+ for (i = 0; i < desc->ncpus; i++) {
+ read_topology(desc, i);
+ read_cache(desc, i);
+ read_polarization(desc, i);
+ read_address(desc, i);
+ read_configured(desc, i);
+ }
+
+ if (desc->caches)
+ qsort(desc->caches, desc->ncaches,
+ sizeof(struct cpu_cache), cachecmp);
+
+ read_nodes(desc);
+ read_hypervisor(desc);
+
+ switch(mod->mode) {
+ case OUTPUT_SUMMARY:
+ print_summary(desc, mod);
+ break;
+ case OUTPUT_PARSABLE:
+ if (!ncolumns) {
+ columns[ncolumns++] = COL_CPU;
+ columns[ncolumns++] = COL_CORE;
+ columns[ncolumns++] = COL_SOCKET;
+ columns[ncolumns++] = COL_NODE;
+ columns[ncolumns++] = COL_CACHE;
+ mod->compat = 1;
+ }
+ print_parsable(desc, columns, ncolumns, mod);
+ break;
+ case OUTPUT_READABLE:
+ if (!ncolumns) {
+ /* No list was given. Just print whatever is there. */
+ columns[ncolumns++] = COL_CPU;
+ if (desc->nodemaps)
+ columns[ncolumns++] = COL_NODE;
+ if (desc->bookmaps)
+ columns[ncolumns++] = COL_BOOK;
+ if (desc->socketmaps)
+ columns[ncolumns++] = COL_SOCKET;
+ if (desc->coremaps)
+ columns[ncolumns++] = COL_CORE;
+ if (desc->caches)
+ columns[ncolumns++] = COL_CACHE;
+ if (desc->online)
+ columns[ncolumns++] = COL_ONLINE;
+ if (desc->configured)
+ columns[ncolumns++] = COL_CONFIGURED;
+ if (desc->polarization)
+ columns[ncolumns++] = COL_POLARIZATION;
+ if (desc->addresses)
+ columns[ncolumns++] = COL_ADDRESS;
+ }
+ print_readable(desc, columns, ncolumns, mod);
+ break;
+ }
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/mount.8 b/sys-utils/mount.8
new file mode 100644
index 0000000..fc4622d
--- /dev/null
+++ b/sys-utils/mount.8
@@ -0,0 +1,2935 @@
+.\" Copyright (c) 1996-2004 Andries Brouwer
+.\" Copyright (C) 2006-2012 Karel Zak <kzak@redhat.com>
+.\"
+.\" This page is somewhat derived from a page that was
+.\" (c) 1980, 1989, 1991 The Regents of the University of California
+.\" and had been heavily modified by Rik Faith and myself.
+.\" (Probably no BSD text remains.)
+.\" Fragments of text were written by Werner Almesberger, Remy Card,
+.\" Stephen Tweedie and Eric Youngdale.
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\"
+.TH MOUNT 8 "January 2012" "util-linux" "System Administration"
+.SH NAME
+mount \- mount a filesystem
+.SH SYNOPSIS
+.B mount
+.RB [ \-lhV ]
+.LP
+.BI "mount \-a
+.RB [ \-fFnrsvw ]
+.RB [ \-t
+.IR vfstype ]
+.RB [ \-O
+.IR optlist ]
+.LP
+.B mount
+.RB [ \-fnrsvw ]
+.RB [ \-o
+.IR option [ \fB,\fPoption ]...]
+.IR device | dir
+.LP
+.B mount
+.RB [ \-fnrsvw ]
+.RB [ \-t
+.IB vfstype ]
+.RB [ \-o
+.IR options ]
+.I device dir
+.SH DESCRIPTION
+All files accessible in a Unix system are arranged in one big
+tree, the file hierarchy, rooted at
+.BR / .
+These files can be spread out over several devices. The
+.B mount
+command serves to attach the filesystem found on some device
+to the big file tree. Conversely, the
+.BR umount (8)
+command will detach it again.
+
+The standard form of the
+.B mount
+command, is
+.RS
+
+.br
+.BI "mount \-t" " type device dir"
+.br
+
+.RE
+This tells the kernel to attach the filesystem found on
+.I device
+(which is of type
+.IR type )
+at the directory
+.IR dir .
+The previous contents (if any) and owner and mode of
+.I dir
+become invisible, and as long as this filesystem remains mounted,
+the pathname
+.I dir
+refers to the root of the filesystem on
+.IR device .
+
+If only directory or device is given, for example:
+.RS
+
+.br
+.BI "mount /dir"
+.br
+
+.RE
+then mount looks for a mountpoint and if not found then for a device in the
+/etc/fstab file. It's possible to use
+.B --target
+or
+.B --source
+options to avoid ambivalent interpretation of the given argument. For example
+.RS
+
+.br
+.BI "mount --target /mountpoint"
+.br
+
+.RE
+
+
+.B The listing and help.
+.RS
+The listing mode is maintained for backward compatibility only.
+
+For more robust and definable output use
+.BR findmnt (8),
+\fBespecially in your scripts\fP. Note that control characters in the
+mountpoint name are replaced with '?'.
+
+.TP
+.BR "mount " [ -l "] [" "-t \fItype\fP" ]
+lists all mounted filesystems (of type
+.IR type ).
+The option \-l adds the labels in this listing.
+See below.
+.RE
+
+.B The device indication.
+.RS
+Most devices are indicated by a file name (of a block special device), like
+.IR /dev/sda1 ,
+but there are other possibilities. For example, in the case of an NFS mount,
+.I device
+may look like
+.IR knuth.cwi.nl:/dir .
+It is possible to indicate a block special device using its
+filesystem
+.B LABEL
+or
+.B UUID
+(see the \-L and \-U options below) and
+partition
+.B PARTUUID
+or
+.B PARTLABEL
+(partition identifiers are supported for GUID Partition Table (GPT) and MAC
+partition tables only).
+
+The recommended setup is to use tags (e.g. LABEL=<label>) rather than
+.B /dev/disk/by-{label,uuid,partuuid,partlabel}
+udev symlinks in the /etc/fstab file. The tags are
+more readable, robust and portable. The
+.BR mount (8)
+command internally uses udev
+symlinks, so use the symlinks in /etc/fstab has no advantage over the tags.
+For more details see
+.BR libblkid (3).
+
+Note that
+.BR mount (8)
+uses UUIDs as strings. The UUIDs from command line or
+.BR fstab (5)
+are not converted to internal binary representation. The string representation
+of the UUID should be based on lower case characters.
+
+The
+.I proc
+filesystem is not associated with a special device, and when
+mounting it, an arbitrary keyword, such as
+.I proc
+can be used instead of a device specification.
+(The customary choice
+.I none
+is less fortunate: the error message `none busy' from
+.B umount
+can be confusing.)
+.RE
+
+.B The /etc/fstab, /etc/mtab and /proc/mounts files.
+.RS
+The file
+.I /etc/fstab
+(see
+.BR fstab (5)),
+may contain lines describing what devices are usually
+mounted where, using which options. The default location of the
+.BR fstab (5)
+file could be overrided by --fstab <path> command line option (see below for
+more details).
+.LP
+The command
+.RS
+.sp
+.B mount \-a
+.RB [ \-t
+.IR type ]
+.RB [ \-O
+.IR optlist ]
+.sp
+.RE
+(usually given in a bootscript) causes all filesystems mentioned in
+.I fstab
+(of the proper type and/or having or not having the proper options)
+to be mounted as indicated, except for those whose line contains the
+.B noauto
+keyword. Adding the
+.B \-F
+option will make mount fork, so that the
+filesystems are mounted simultaneously.
+.LP
+When mounting a filesystem mentioned in
+.IR fstab
+or
+.IR mtab,
+it suffices to give only the device, or only the mount point.
+
+
+The programs
+.B mount
+and
+.B umount
+maintain a list of currently mounted filesystems in the file
+.IR /etc/mtab .
+If no arguments are given to
+.BR mount ,
+this list is printed.
+
+The
+.B mount
+program does not read the
+.I /etc/fstab
+file if
+.I device
+(or LABEL, UUID, PARTUUID or PARTLABEL) and
+.I dir
+are specified. For example:
+.RS
+.sp
+.B "mount /dev/foo /dir"
+.sp
+.RE
+If you want to override mount options from
+.I /etc/fstab
+you have to use:
+.RS
+.sp
+.B "mount device|dir -o <options>"
+.sp
+.RE
+and then the mount options from command line will be appended to
+the list of options from
+.IR /etc/fstab .
+The usual behaviour is that the last option wins if there is more duplicated
+options.
+
+When the
+.I proc
+filesystem is mounted (say at
+.IR /proc ),
+the files
+.I /etc/mtab
+and
+.I /proc/mounts
+have very similar contents. The former has somewhat
+more information, such as the mount options used,
+but is not necessarily up-to-date (cf. the
+.B \-n
+option below). It is possible to replace
+.I /etc/mtab
+by a symbolic link to
+.IR /proc/mounts ,
+and especially when you have very large numbers of mounts
+things will be much faster with that symlink,
+but some information is lost that way, and in particular
+using the "user" option will fail.
+.RE
+
+.B The non-superuser mounts.
+.RS
+Normally, only the superuser can mount filesystems.
+However, when
+.I fstab
+contains the
+.B user
+option on a line, anybody can mount the corresponding system.
+.LP
+Thus, given a line
+.RS
+.sp
+.B "/dev/cdrom /cd iso9660 ro,user,noauto,unhide"
+.sp
+.RE
+any user can mount the iso9660 filesystem found on his CDROM
+using the command
+.RS
+.sp
+.B "mount /dev/cdrom"
+.sp
+.RE
+or
+.RS
+.sp
+.B "mount /cd"
+.sp
+.RE
+For more details, see
+.BR fstab (5).
+Only the user that mounted a filesystem can unmount it again.
+If any user should be able to unmount, then use
+.B users
+instead of
+.B user
+in the
+.I fstab
+line.
+The
+.B owner
+option is similar to the
+.B user
+option, with the restriction that the user must be the owner
+of the special file. This may be useful e.g. for
+.I /dev/fd
+if a login script makes the console user owner of this device.
+The
+.B group
+option is similar, with the restriction that the user must be
+member of the group of the special file.
+.RE
+
+
+.B The bind mounts.
+.RS
+.\" In fact since 2.3.99. At first the syntax was mount -t bind.
+Since Linux 2.4.0 it is possible to remount part of the
+file hierarchy somewhere else. The call is
+.RS
+.br
+.B mount --bind
+.I olddir newdir
+.RE
+or shortoption
+.RS
+.br
+.B mount -B
+.I olddir newdir
+.RE
+or fstab entry is:
+.RS
+.br
+.I /olddir
+.I /newdir
+.B none bind
+.RE
+
+After this call the same contents is accessible in two places.
+One can also remount a single file (on a single file). It's also
+possible to use the bind mount to create a mountpoint from a regular
+directory, for example:
+
+.RS
+.br
+.B mount --bind
+.I foo foo
+.RE
+
+The bind mount call attaches only (part of) a single filesystem, not possible
+submounts. The entire file hierarchy including submounts is attached
+a second place using
+
+.RS
+.br
+.B mount --rbind
+.I olddir newdir
+.RE
+
+or shortoption
+
+.RS
+.br
+.B mount -R
+.I olddir newdir
+.RE
+.\" available since Linux 2.4.11.
+
+Note that the filesystem mount options will remain the same as those
+on the original mount point, and cannot be changed by passing the -o
+option along with --bind/--rbind. The mount options can be
+changed by a separate remount command, for example:
+
+.RS
+.br
+.B mount --bind
+.I olddir newdir
+.br
+.B mount -o remount,ro
+.I newdir
+.RE
+
+Note that behavior of the remount operation depends on the /etc/mtab file. The
+first command stores the 'bind' flag to the /etc/mtab file and the second
+command reads the flag from the file. If you have a system without the
+/etc/mtab file or if you explicitly define source and target for the remount
+command (then mount(8) does not read /etc/mtab), then you have to use bind flag
+(or option) for the remount command too. For example:
+
+.RS
+.br
+.B mount --bind
+.I olddir newdir
+.br
+.B mount -o remount,ro,bind
+.I olddir newdir
+.RE
+
+Note that
+.I remount,ro,bind
+will create a read-only mountpoint (VFS entry), but the original filesystem suberblock
+will be still writable, it means that the
+.I olddir
+will be writable, but the
+.I newdir
+will be read-only.
+.RE
+
+.B The move operation.
+.RS
+Since Linux 2.5.1 it is possible to atomically move a
+.B mounted tree
+to another place. The call is
+.RS
+.br
+.B mount --move
+.I olddir newdir
+.RE
+or shortoption
+.RS
+.br
+.B mount -M
+.I olddir newdir
+.RE
+This will cause the contents which previously appeared under olddir to be
+accessed under newdir. The physical location of the files is not changed.
+Note that the
+.I olddir
+has to be a mountpoint.
+.RE
+
+.B The shared subtrees operations.
+.RS
+Since Linux 2.6.15 it is possible to mark a mount and its submounts as shared,
+private, slave or unbindable. A shared mount provides ability to create mirrors
+of that mount such that mounts and umounts within any of the mirrors propagate
+to the other mirror. A slave mount receives propagation from its master, but
+any not vice-versa. A private mount carries no propagation abilities. A
+unbindable mount is a private mount which cannot be cloned through a bind
+operation. Detailed semantics is documented in Documentation/filesystems/sharedsubtree.txt
+file in the kernel source tree.
+
+Note that Linux kernel does not allow to change more propagation flags by one
+.B mount (2)
+syscall and the flags cannot be mixed with another mount options. It means that
+more --make-* options cannot be used together or with another mount options.
+
+.RS
+.nf
+.BI "mount --make-shared " mountpoint
+.BI "mount --make-slave " mountpoint
+.BI "mount --make-private " mountpoint
+.BI "mount --make-unbindable " mountpoint
+.fi
+.RE
+
+The following commands allows one to recursively change the type of all the
+mounts under a given mountpoint.
+
+.RS
+.nf
+.BI "mount --make-rshared " mountpoint
+.BI "mount --make-rslave " mountpoint
+.BI "mount --make-rprivate " mountpoint
+.BI "mount --make-runbindable " mountpoint
+.fi
+.RE
+.RE
+
+.SH COMMAND LINE OPTIONS
+The full set of mount options used by an invocation of
+.B mount
+is determined by first extracting the
+mount options for the filesystem from the
+.I fstab
+table, then applying any options specified by the
+.B \-o
+argument, and finally applying a
+.BR \-r " or " \-w
+option, when present.
+
+Command line options available for the
+.B mount
+command:
+.IP "\fB\-V, \-\-version\fP"
+Output version.
+.IP "\fB\-h, \-\-help\fP"
+Print a help message.
+.IP "\fB\-v, \-\-verbose\fP"
+Verbose mode.
+.IP "\fB\-a, \-\-all\fP"
+Mount all filesystems (of the given types) mentioned in
+.IR fstab .
+.IP "\fB\-F, \-\-fork\fP"
+(Used in conjunction with
+.BR \-a .)
+Fork off a new incarnation of mount for each device.
+This will do the mounts on different devices or different NFS servers
+in parallel.
+This has the advantage that it is faster; also NFS timeouts go in
+parallel. A disadvantage is that the mounts are done in undefined order.
+Thus, you cannot use this option if you want to mount both
+.I /usr
+and
+.IR /usr/spool .
+.IP "\fB\-f, \-\-fake\fP"
+Causes everything to be done except for the actual system call; if it's not
+obvious, this ``fakes'' mounting the filesystem. This option is useful in
+conjunction with the
+.B \-v
+flag to determine what the
+.B mount
+command is trying to do. It can also be used to add entries for devices
+that were mounted earlier with the -n option. The -f option checks for
+existing record in /etc/mtab and fails when the record already
+exists (with regular non-fake mount, this check is done by kernel).
+.IP "\fB\-i, \-\-internal\-only\fP"
+Don't call the /sbin/mount.<filesystem> helper even if it exists.
+.IP "\fB\-l\fP"
+Add the labels in the mount output. Mount must have
+permission to read the disk device (e.g. be suid root) for this to work.
+One can set such a label for ext2, ext3 or ext4 using the
+.BR e2label (8)
+utility, or for XFS using
+.BR xfs_admin (8),
+or for reiserfs using
+.BR reiserfstune (8).
+.IP "\fB\-n, \-\-no\-mtab\fP"
+Mount without writing in
+.IR /etc/mtab .
+This is necessary for example when
+.I /etc
+is on a read-only filesystem.
+.IP "\fB\-\-no\-canonicalize\fP"
+Don't canonicalize paths. The mount command canonicalizes all paths
+(from command line or fstab) and stores canonicalized paths to the
+.IR /etc/mtab
+file. This option can be used together with the
+.B \-f
+flag for already canonicalized absolut paths.
+.IP "\fB\-p, \-\-pass\-fd \fInum\fP"
+In case of a loop mount with encryption, read the passphrase from
+file descriptor
+.I num
+instead of from the terminal.
+.IP "\fB\-s\fP"
+Tolerate sloppy mount options rather than failing. This will ignore
+mount options not supported by a filesystem type. Not all filesystems
+support this option. This option exists for support of the Linux
+autofs\-based automounter.
+.IP "\fB\-\-source \fIsrc\fP"
+If only one argument for the mount command is given then the argument might be
+interpreted as target (mountpoint) or source (device). This option allows to
+explicitly define that the argument is mount source.
+.IP "\fB\-r, \-\-read\-only\fP"
+Mount the filesystem read-only. A synonym is
+.BR "\-o ro" .
+
+Note that, depending on the filesystem type, state and kernel behavior, the
+system may still write to the device. For example, Ext3 or ext4 will replay its
+journal if the filesystem is dirty. To prevent this kind of write access, you
+may want to mount ext3 or ext4 filesystem with "ro,noload" mount options or
+set the block device to read-only mode, see command
+.BR blockdev (8).
+.IP "\fB\-w, \-\-rw\fP"
+Mount the filesystem read/write. This is the default. A synonym is
+.BR "\-o rw" .
+.IP "\fB\-L \fIlabel\fP"
+Mount the partition that has the specified
+.IR label .
+.IP "\fB\-U \fIuuid\fP"
+Mount the partition that has the specified
+.IR uuid .
+These two options require the file
+.I /proc/partitions
+(present since Linux 2.1.116) to exist.
+.IP "\fB\-T, \-\-fstab \fIpath\fP"
+Specifies alternative fstab file. If the \fIpath\fP is directory then the files
+in the directory are sorted by
+.BR strverscmp (3),
+files that starts with "." or without .fstab extension are ignored. The option
+can be specified more than once. This option is mostly designed for initramfs
+or chroot scripts where additional configuration is specified outside standard
+system configuration.
+
+Note that mount(8) does not pass the option \fB\-\-fstab\fP to
+/sbin/mount.<type> helpers, it means that the alternative fstab files will be
+invisible for the helpers. This is no problem for normal mounts, but user
+(non-root) mounts always require fstab to verify user's rights.
+.IP "\fB\-t, \-\-types \fIvfstype\fP"
+The argument following the
+.B \-t
+is used to indicate the filesystem type. The filesystem types which are
+currently supported include:
+.IR adfs ,
+.IR affs ,
+.IR autofs ,
+.IR cifs ,
+.IR coda ,
+.IR coherent ,
+.IR cramfs ,
+.IR debugfs ,
+.IR devpts ,
+.IR efs ,
+.IR ext ,
+.IR ext2 ,
+.IR ext3 ,
+.IR ext4 ,
+.IR hfs ,
+.IR hfsplus ,
+.IR hpfs ,
+.IR iso9660 ,
+.IR jfs ,
+.IR minix ,
+.IR msdos ,
+.IR ncpfs ,
+.IR nfs ,
+.IR nfs4 ,
+.IR ntfs ,
+.IR proc ,
+.IR qnx4 ,
+.IR ramfs ,
+.IR reiserfs ,
+.IR romfs ,
+.IR squashfs ,
+.IR smbfs ,
+.IR sysv ,
+.IR tmpfs ,
+.IR ubifs ,
+.IR udf ,
+.IR ufs ,
+.IR umsdos ,
+.IR usbfs ,
+.IR vfat ,
+.IR xenix ,
+.IR xfs ,
+.IR xiafs .
+Note that coherent, sysv and xenix are equivalent and that
+.I xenix
+and
+.I coherent
+will be removed at some point in the future \(em use
+.I sysv
+instead. Since kernel version 2.1.21 the types
+.I ext
+and
+.I xiafs
+do not exist anymore. Earlier,
+.I usbfs
+was known as
+.IR usbdevfs .
+Note, the real list of all supported filesystems depends on your
+kernel.
+
+The programs
+.B mount
+and
+.B umount
+support filesystem subtypes. The subtype is defined by '.subtype' suffix. For
+example 'fuse.sshfs'. It's recommended to use subtype notation rather than add
+any prefix to the mount source (for example 'sshfs#example.com' is
+depreacated).
+
+For most types all the
+.B mount
+program has to do is issue a simple
+.IR mount (2)
+system call, and no detailed knowledge of the filesystem type is required.
+For a few types however (like nfs, nfs4, cifs, smbfs, ncpfs) ad hoc code is
+necessary. The nfs, nfs4, cifs, smbfs, and ncpfs filesystems
+have a separate mount program. In order to make it possible to
+treat all types in a uniform way, mount will execute the program
+.BI /sbin/mount. TYPE
+(if that exists) when called with type
+.IR TYPE .
+Since various versions of the
+.B smbmount
+program have different calling conventions,
+.B /sbin/mount.smbfs
+may have to be a shell script that sets up the desired call.
+
+If no
+.B \-t
+option is given, or if the
+.B auto
+type is specified, mount will try to guess the desired type.
+Mount uses the blkid library for guessing the filesystem
+type; if that does not turn up anything that looks familiar,
+mount will try to read the file
+.IR /etc/filesystems ,
+or, if that does not exist,
+.IR /proc/filesystems .
+All of the filesystem types listed there will be tried,
+except for those that are labeled "nodev" (e.g.,
+.IR devpts ,
+.I proc
+and
+.IR nfs ).
+If
+.I /etc/filesystems
+ends in a line with a single * only, mount will read
+.I /proc/filesystems
+afterwards.
+
+The
+.B auto
+type may be useful for user-mounted floppies.
+Creating a file
+.I /etc/filesystems
+can be useful to change the probe order (e.g., to try vfat before msdos
+or ext3 before ext2) or if you use a kernel module autoloader.
+
+More than one type may be specified in a comma separated
+list. The list of filesystem types can be prefixed with
+.B no
+to specify the filesystem types on which no action should be taken.
+(This can be meaningful with the
+.B \-a
+option.) For example, the command:
+.RS
+.RS
+.sp
+.B "mount \-a \-t nomsdos,ext"
+.sp
+.RE
+mounts all filesystems except those of type
+.I msdos
+and
+.IR ext .
+.RE
+.IP "\fB\-\-target \fIdir\fP"
+If only one argument for the mount command is given then the argument might be
+interpreted as target (mountpoint) or source (device). This option allows to
+explicitly define that the argument is mount target.
+.IP "\fB\-O, \-\-test-opts \fIopts\fP"
+Used in conjunction with
+.BR \-a ,
+to limit the set of filesystems to which the
+.B \-a
+is applied. Like
+.B \-t
+in this regard except that it is useless except in the context of
+.BR \-a .
+For example, the command:
+.RS
+.RS
+.sp
+.B "mount \-a \-O no_netdev"
+.sp
+.RE
+mounts all filesystems except those which have the option
+.I _netdev
+specified in the options field in the
+.I /etc/fstab
+file.
+
+It is different from
+.B \-t
+in that each option is matched exactly; a leading
+.B no
+at the beginning of one option does not negate the rest.
+
+The
+.B \-t
+and
+.B \-O
+options are cumulative in effect; that is, the command
+.RS
+.sp
+.B "mount \-a \-t ext2 \-O _netdev"
+.sp
+.RE
+mounts all ext2 filesystems with the _netdev option, not all filesystems
+that are either ext2 or have the _netdev option specified.
+.RE
+.IP "\fB\-o, \-\-options \fIopts\fP"
+Options are specified with a
+.B \-o
+flag followed by a comma separated string of options. For example:
+.RS
+.RS
+.sp
+.B "mount LABEL=mydisk \-o noatime,nouser"
+.sp
+.RE
+
+For more details, see
+.B FILESYSTEM INDEPENDENT MOUNT OPTIONS
+and
+.B FILESYSTEM SPECIFIC MOUNT OPTIONS
+sections.
+.RE
+.IP "\fB\-B, \-\-bind\fP"
+Remount a subtree somewhere else (so that its contents are available
+in both places). See above.
+.IP "\fB\-R, \-\-rbind\fP"
+Remount a subtree and all possible submounts somewhere else (so that its
+contents are available in both places). See above.
+.IP "\fB\-M, \-\-move\fP"
+Move a subtree to some other place. See above.
+
+.SH FILESYSTEM INDEPENDENT MOUNT OPTIONS
+Some of these options are only useful when they appear in the
+.I /etc/fstab
+file.
+
+Some of these options could be enabled or disabled by default
+in the system kernel. To check the current setting see the options
+in /proc/mounts.
+
+The following options apply to any filesystem that is being
+mounted (but not every filesystem actually honors them - e.g., the
+.B sync
+option today has effect only for ext2, ext3, fat, vfat and ufs):
+
+.TP
+.B async
+All I/O to the filesystem should be done asynchronously. (See also the
+.B sync
+option.)
+.TP
+.B atime
+Do not use noatime feature, then the inode access time is controlled by kernel
+defaults. See also the description for
+.B strictatime
+and
+.B relatime
+mount options.
+.TP
+.B noatime
+Do not update inode access times on this filesystem (e.g., for faster
+access on the news spool to speed up news servers).
+.TP
+.B auto
+Can be mounted with the
+.B \-a
+option.
+.TP
+.B noauto
+Can only be mounted explicitly (i.e., the
+.B \-a
+option will not cause the filesystem to be mounted).
+.TP
+\fBcontext=\fP\fIcontext\fP, \fBfscontext=\fP\fIcontext\fP, \fBdefcontext=\fP\fIcontext\fP and \fBrootcontext=\fP\fIcontext\fP
+The
+.BR context=
+option is useful when mounting filesystems that do not support
+extended attributes, such as a floppy or hard disk formatted with VFAT, or
+systems that are not normally running under SELinux, such as an ext3 formatted
+disk from a non-SELinux workstation. You can also use
+.BR context=
+on filesystems you do not trust, such as a floppy. It also helps in compatibility with
+xattr-supporting filesystems on earlier 2.4.<x> kernel versions. Even where
+xattrs are supported, you can save time not having to label every file by
+assigning the entire disk one security context.
+
+A commonly used option for removable media is
+.BR context="system_u:object_r:removable_t" .
+
+Two other options are
+.BR fscontext=
+and
+.BR defcontext= ,
+both of which are mutually exclusive of the context option. This means you
+can use fscontext and defcontext with each other, but neither can be used with
+context.
+
+The
+.BR fscontext=
+option works for all filesystems, regardless of their xattr
+support. The fscontext option sets the overarching filesystem label to a
+specific security context. This filesystem label is separate from the
+individual labels on the files. It represents the entire filesystem for
+certain kinds of permission checks, such as during mount or file creation.
+Individual file labels are still obtained from the xattrs on the files
+themselves. The context option actually sets the aggregate context that
+fscontext provides, in addition to supplying the same label for individual
+files.
+
+You can set the default security context for unlabeled files using
+.BR defcontext=
+option. This overrides the value set for unlabeled files in the policy and requires a
+filesystem that supports xattr labeling.
+
+The
+.BR rootcontext=
+option allows you to explicitly label the root inode of a FS being mounted
+before that FS or inode because visible to userspace. This was found to be
+useful for things like stateless linux.
+
+Note that kernel rejects any remount request that includes the context
+option even if unchanged from the current context.
+
+.B Warning that \fIcontext\fP value might contains comma
+and in this case the value has to be properly quoted otherwise
+.BR mount (8)
+will interpret the comma as separator between mount options. Don't forget that
+shell strips off quotes and
+.BR "double quoting is required" ,
+for example:
+.RS
+.RS
+.sp
+mount -t tmpfs none /mnt \-o 'context="system_u:object_r:tmp_t:s0:c127,c456",noexec'
+.sp
+.RE
+
+For more details, see
+.BR selinux (8)
+.RE
+
+.TP
+.B defaults
+Use default options:
+.BR rw ", " suid ", " dev ", " exec ", " auto ", " nouser ", and " async.
+.TP
+.B dev
+Interpret character or block special devices on the filesystem.
+.TP
+.B nodev
+Do not interpret character or block special devices on the file
+system.
+.TP
+.B diratime
+Update directory inode access times on this filesystem. This is the default.
+.TP
+.B nodiratime
+Do not update directory inode access times on this filesystem.
+.TP
+.B dirsync
+All directory updates within the filesystem should be done synchronously.
+This affects the following system calls: creat, link, unlink, symlink,
+mkdir, rmdir, mknod and rename.
+.TP
+.B exec
+Permit execution of binaries.
+.TP
+.B noexec
+Do not allow direct execution of any binaries on the mounted filesystem.
+(Until recently it was possible to run binaries anyway using a command like
+/lib/ld*.so /mnt/binary. This trick fails since Linux 2.4.25 / 2.6.0.)
+.TP
+.B group
+Allow an ordinary (i.e., non-root) user to mount the filesystem if one
+of his groups matches the group of the device.
+This option implies the options
+.BR nosuid " and " nodev
+(unless overridden by subsequent options, as in the option line
+.BR group,dev,suid ).
+.TP
+.B iversion
+Every time the inode is modified, the i_version field will be incremented.
+.TP
+.B noiversion
+Do not increment the i_version inode field.
+.TP
+.B mand
+Allow mandatory locks on this filesystem. See
+.BR fcntl (2).
+.TP
+.B nomand
+Do not allow mandatory locks on this filesystem.
+.TP
+.B _netdev
+The filesystem resides on a device that requires network access
+(used to prevent the system from attempting to mount these filesystems
+until the network has been enabled on the system).
+.TP
+.B nofail
+Do not report errors for this device if it does not exist.
+.TP
+.B relatime
+Update inode access times relative to modify or change time. Access
+time is only updated if the previous access time was earlier than the
+current modify or change time. (Similar to noatime, but doesn't break
+mutt or other applications that need to know if a file has been read
+since the last time it was modified.)
+
+Since Linux 2.6.30, the kernel defaults to the behavior provided by this
+option (unless
+.B noatime
+was specified), and the
+.B strictatime
+option is required to obtain traditional semantics. In addition, since Linux
+2.6.30, the file's last access time is always updated if it is more than 1
+day old.
+.TP
+.B norelatime
+Do not use
+.B relatime
+feature. See also the
+.B strictatime
+mount option.
+.TP
+.B strictatime
+Allows to explicitly requesting full atime updates. This makes it
+possible for kernel to defaults to
+.B relatime
+or
+.B noatime
+but still allow userspace to override it. For more details about the default
+system mount options see /proc/mounts.
+.TP
+.B nostrictatime
+Use the kernel's default behaviour for inode access time updates.
+.TP
+.B suid
+Allow set-user-identifier or set-group-identifier bits to take
+effect.
+.TP
+.B nosuid
+Do not allow set-user-identifier or set-group-identifier bits to take
+effect. (This seems safe, but is in fact rather unsafe if you have
+suidperl(1) installed.)
+.TP
+.B silent
+Turn on the silent flag.
+.TP
+.B loud
+Turn off the silent flag.
+.TP
+.B owner
+Allow an ordinary (i.e., non-root) user to mount the filesystem if he
+is the owner of the device.
+This option implies the options
+.BR nosuid " and " nodev
+(unless overridden by subsequent options, as in the option line
+.BR owner,dev,suid ).
+.TP
+.B remount
+Attempt to remount an already-mounted filesystem. This is commonly
+used to change the mount flags for a filesystem, especially to make a
+readonly filesystem writable. It does not change device or mount point.
+
+The remount functionality follows the standard way how the mount command works
+with options from fstab. It means the mount command doesn't read fstab (or
+mtab) only when a
+.IR device
+and
+.IR dir
+are fully specified.
+
+.BR "mount -o remount,rw /dev/foo /dir"
+
+After this call all old mount options are replaced and arbitrary stuff from
+fstab is ignored, except the loop= option which is internally generated and
+maintained by the mount command.
+
+.BR "mount -o remount,rw /dir"
+
+After this call mount reads fstab (or mtab) and merges these options with
+options from command line (
+.B -o
+).
+.TP
+.B ro
+Mount the filesystem read-only.
+.TP
+.B rw
+Mount the filesystem read-write.
+.TP
+.B sync
+All I/O to the filesystem should be done synchronously. In case of media with limited number of write cycles
+(e.g. some flash drives) "sync" may cause life-cycle shortening.
+.TP
+.B user
+Allow an ordinary user to mount the filesystem.
+The name of the mounting user is written to mtab so that he can unmount
+the filesystem again.
+This option implies the options
+.BR noexec ", " nosuid ", and " nodev
+(unless overridden by subsequent options, as in the option line
+.BR user,exec,dev,suid ).
+.TP
+.B nouser
+Forbid an ordinary (i.e., non-root) user to mount the filesystem.
+This is the default.
+.TP
+.B users
+Allow every user to mount and unmount the filesystem.
+This option implies the options
+.BR noexec ", " nosuid ", and " nodev
+(unless overridden by subsequent options, as in the option line
+.BR users,exec,dev,suid ).
+
+.SH "FILESYSTEM SPECIFIC MOUNT OPTIONS"
+The following options apply only to certain filesystems.
+We sort them by filesystem. They all follow the
+.B \-o
+flag.
+
+What options are supported depends a bit on the running kernel.
+More info may be found in the kernel source subdirectory
+.IR Documentation/filesystems .
+
+.SH "Mount options for adfs"
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Set the owner and group of the files in the filesystem (default: uid=gid=0).
+.TP
+\fBownmask=\fP\fIvalue\fP and \fBothmask=\fP\fIvalue\fP
+Set the permission mask for ADFS 'owner' permissions and 'other' permissions,
+respectively (default: 0700 and 0077, respectively).
+See also
+.IR /usr/src/linux/Documentation/filesystems/adfs.txt .
+.SH "Mount options for affs"
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Set the owner and group of the root of the filesystem (default: uid=gid=0,
+but with option
+.B uid
+or
+.B gid
+without specified value, the uid and gid of the current process are taken).
+.TP
+\fBsetuid=\fP\fIvalue\fP and \fBsetgid=\fP\fIvalue\fP
+Set the owner and group of all files.
+.TP
+.BI mode= value
+Set the mode of all files to
+.IR value " & 0777"
+disregarding the original permissions.
+Add search permission to directories that have read permission.
+The value is given in octal.
+.TP
+.B protect
+Do not allow any changes to the protection bits on the filesystem.
+.TP
+.B usemp
+Set uid and gid of the root of the filesystem to the uid and gid
+of the mount point upon the first sync or umount, and then
+clear this option. Strange...
+.TP
+.B verbose
+Print an informational message for each successful mount.
+.TP
+.BI prefix= string
+Prefix used before volume name, when following a link.
+.TP
+.BI volume= string
+Prefix (of length at most 30) used before '/' when following a symbolic link.
+.TP
+.BI reserved= value
+(Default: 2.) Number of unused blocks at the start of the device.
+.TP
+.BI root= value
+Give explicitly the location of the root block.
+.TP
+.BI bs= value
+Give blocksize. Allowed values are 512, 1024, 2048, 4096.
+.TP
+.BR grpquota | noquota | quota | usrquota
+These options are accepted but ignored.
+(However, quota utilities may react to such strings in
+.IR /etc/fstab .)
+
+.SH "Mount options for cifs"
+See the options section of the
+.BR mount.cifs (8)
+man page (cifs-utils package must be installed).
+
+.SH "Mount options for coherent"
+None.
+
+.SH "Mount options for debugfs"
+The debugfs filesystem is a pseudo filesystem, traditionally mounted on
+.IR /sys/kernel/debug .
+.\" or just /debug
+.\" present since 2.6.11
+There are no mount options.
+
+.SH "Mount options for devpts"
+The devpts filesystem is a pseudo filesystem, traditionally mounted on
+.IR /dev/pts .
+In order to acquire a pseudo terminal, a process opens
+.IR /dev/ptmx ;
+the number of the pseudo terminal is then made available to the process
+and the pseudo terminal slave can be accessed as
+.IR /dev/pts/ <number>.
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+This sets the owner or the group of newly created PTYs to
+the specified values. When nothing is specified, they will
+be set to the UID and GID of the creating process.
+For example, if there is a tty group with GID 5, then
+.B gid=5
+will cause newly created PTYs to belong to the tty group.
+.TP
+.BI mode= value
+Set the mode of newly created PTYs to the specified value.
+The default is 0600.
+A value of
+.B mode=620
+and
+.B gid=5
+makes "mesg y" the default on newly created PTYs.
+.TP
+\fBnewinstance
+Create a private instance of devpts filesystem, such that
+indices of ptys allocated in this new instance are
+independent of indices created in other instances of devpts.
+
+All mounts of devpts without this
+.B newinstance
+option share the same set of pty indices (i.e legacy mode).
+Each mount of devpts with the
+.B newinstance
+option has a private set of pty indices.
+
+This option is mainly used to support containers in the
+linux kernel. It is implemented in linux kernel versions
+starting with 2.6.29. Further, this mount option is valid
+only if CONFIG_DEVPTS_MULTIPLE_INSTANCES is enabled in the
+kernel configuration.
+
+To use this option effectively,
+.IR /dev/ptmx
+must be a symbolic link to
+.IR pts/ptmx.
+See
+.IR Documentation/filesystems/devpts.txt
+in the linux kernel source tree for details.
+.TP
+.BI ptmxmode= value
+
+Set the mode for the new
+.IR ptmx
+device node in the devpts filesystem.
+
+With the support for multiple instances of devpts (see
+.B newinstance
+option above), each instance has a private
+.IR ptmx
+node in the root of the devpts filesystem (typically
+.IR /dev/pts/ptmx).
+
+For compatibility with older versions of the kernel, the
+default mode of the new
+.IR ptmx
+node is 0000.
+.BI ptmxmode= value
+specifies a more useful mode for the
+.IR ptmx
+node and is highly recommended when the
+.B newinstance
+option is specified.
+
+This option is only implemented in linux kernel versions
+starting with 2.6.29. Further this option is valid only if
+CONFIG_DEVPTS_MULTIPLE_INSTANCES is enabled in the kernel
+configuration.
+
+.SH "Mount options for ext"
+None.
+Note that the `ext' filesystem is obsolete. Don't use it.
+Since Linux version 2.1.21 extfs is no longer part of the kernel source.
+
+.SH "Mount options for ext2"
+The `ext2' filesystem is the standard Linux filesystem.
+.\" Due to a kernel bug, it may be mounted with random mount options
+.\" (fixed in Linux 2.0.4).
+Since Linux 2.5.46, for most mount options the default
+is determined by the filesystem superblock. Set them with
+.BR tune2fs (8).
+.TP
+.BR acl | noacl
+Support POSIX Access Control Lists (or not).
+.\" requires CONFIG_EXT2_FS_POSIX_ACL
+.TP
+.BR bsddf | minixdf
+Set the behaviour for the
+.I statfs
+system call. The
+.B minixdf
+behaviour is to return in the
+.I f_blocks
+field the total number of blocks of the filesystem, while the
+.B bsddf
+behaviour (which is the default) is to subtract the overhead blocks
+used by the ext2 filesystem and not available for file storage. Thus
+.nf
+
+% mount /k -o minixdf; df /k; umount /k
+Filesystem 1024-blocks Used Available Capacity Mounted on
+/dev/sda6 2630655 86954 2412169 3% /k
+% mount /k -o bsddf; df /k; umount /k
+Filesystem 1024-blocks Used Available Capacity Mounted on
+/dev/sda6 2543714 13 2412169 0% /k
+
+.fi
+(Note that this example shows that one can add command line options
+to the options given in
+.IR /etc/fstab .)
+
+.TP
+.BR check=none " or " nocheck
+No checking is done at mount time. This is the default. This is fast.
+It is wise to invoke
+.BR e2fsck (8)
+every now and then, e.g. at boot time. The non-default behavior is unssuported
+(check=normal and check=strict options have been removed). Note that these mount options
+don't have to be supported if ext4 kernel driver is used for ext2 and ext3 filesystems.
+.TP
+.B debug
+Print debugging info upon each (re)mount.
+.TP
+.BR errors= { continue | remount-ro | panic }
+Define the behaviour when an error is encountered.
+(Either ignore errors and just mark the filesystem erroneous and continue,
+or remount the filesystem read-only, or panic and halt the system.)
+The default is set in the filesystem superblock, and can be
+changed using
+.BR tune2fs (8).
+.TP
+.BR grpid | bsdgroups " and " nogrpid | sysvgroups
+These options define what group id a newly created file gets.
+When
+.BR grpid
+is set, it takes the group id of the directory in which it is created;
+otherwise (the default) it takes the fsgid of the current process, unless
+the directory has the setgid bit set, in which case it takes the gid
+from the parent directory, and also gets the setgid bit set
+if it is a directory itself.
+.TP
+.BR grpquota | noquota | quota | usrquota
+The usrquota (same as quota) mount option enables user quota support on the
+filesystem. grpquota enables group quotas support. You need the quota utilities
+to actually enable and manage the quota system.
+.TP
+.BR nouid32
+Disables 32-bit UIDs and GIDs. This is for interoperability with older
+kernels which only store and expect 16-bit values.
+.TP
+.BR oldalloc " or " orlov
+Use old allocator or Orlov allocator for new inodes. Orlov is default.
+.TP
+\fBresgid=\fP\fIn\fP and \fBresuid=\fP\fIn\fP
+The ext2 filesystem reserves a certain percentage of the available
+space (by default 5%, see
+.BR mke2fs (8)
+and
+.BR tune2fs (8)).
+These options determine who can use the reserved blocks.
+(Roughly: whoever has the specified uid, or belongs to the specified group.)
+.TP
+.BI sb= n
+Instead of block 1, use block
+.I n
+as superblock. This could be useful when the filesystem has been damaged.
+(Earlier, copies of the superblock would be made every 8192 blocks: in
+block 1, 8193, 16385, ... (and one got thousands of copies on
+a big filesystem). Since version 1.08,
+.B mke2fs
+has a \-s (sparse superblock) option to reduce the number of backup
+superblocks, and since version 1.15 this is the default. Note
+that this may mean that ext2 filesystems created by a recent
+.B mke2fs
+cannot be mounted r/w under Linux 2.0.*.)
+The block number here uses 1k units. Thus, if you want to use logical
+block 32768 on a filesystem with 4k blocks, use "sb=131072".
+.TP
+.BR user_xattr | nouser_xattr
+Support "user." extended attributes (or not).
+.\" requires CONFIG_EXT2_FS_XATTR
+
+
+.SH "Mount options for ext3"
+The ext3 filesystem is a version of the ext2 filesystem which has been
+enhanced with journalling. It supports the same options as ext2 as
+well as the following additions:
+.\" .TP
+.\" .BR abort
+.\" Mount the filesystem in abort mode, as if a fatal error has occurred.
+.TP
+.BR journal=update
+Update the ext3 filesystem's journal to the current format.
+.TP
+.BR journal=inum
+When a journal already exists, this option is ignored. Otherwise, it
+specifies the number of the inode which will represent the ext3 filesystem's
+journal file; ext3 will create a new journal, overwriting the old contents
+of the file whose inode number is
+.IR inum .
+.TP
+.BR journal_dev=devnum
+When the external journal device's major/minor numbers
+have changed, this option allows the user to specify
+the new journal location. The journal device is
+identified through its new major/minor numbers encoded
+in devnum.
+.TP
+.BR norecovery / noload
+Don't load the journal on mounting. Note that
+if the filesystem was not unmounted cleanly,
+skipping the journal replay will lead to the
+filesystem containing inconsistencies that can
+lead to any number of problems.
+.TP
+.BR data= { journal | ordered | writeback }
+Specifies the journalling mode for file data. Metadata is always journaled.
+To use modes other than
+.B ordered
+on the root filesystem, pass the mode to the kernel as boot parameter, e.g.
+.IR rootflags=data=journal .
+.RS
+.TP
+.B journal
+All data is committed into the journal prior to being written into the
+main filesystem.
+.TP
+.B ordered
+This is the default mode. All data is forced directly out to the main file
+system prior to its metadata being committed to the journal.
+.TP
+.B writeback
+Data ordering is not preserved - data may be written into the main
+filesystem after its metadata has been committed to the journal.
+This is rumoured to be the highest-throughput option. It guarantees
+internal filesystem integrity, however it can allow old data to appear
+in files after a crash and journal recovery.
+.RE
+.TP
+.BR barrier=0 " / " barrier=1 "
+This enables/disables barriers. barrier=0 disables it, barrier=1 enables it.
+Write barriers enforce proper on-disk ordering of journal commits, making
+volatile disk write caches safe to use, at some performance penalty. The ext3
+filesystem does not enable write barriers by default. Be sure to enable
+barriers unless your disks are battery-backed one way or another. Otherwise
+you risk filesystem corruption in case of power failure.
+.TP
+.BI commit= nrsec
+Sync all data and metadata every
+.I nrsec
+seconds. The default value is 5 seconds. Zero means default.
+.TP
+.BR user_xattr
+Enable Extended User Attributes. See the
+.BR attr (5)
+manual page.
+.TP
+.BR acl
+Enable POSIX Access Control Lists. See the
+.BR acl (5)
+manual page.
+.TP
+.BR usrjquot=aquota.user | grpjquota=aquota.group | jqfmt=vfsv0
+Apart from the old quota system (as in ext2, jqfmt=vfsold aka version 1 quota)
+ext3 also supports journaled quotas (version 2 quota). jqfmt=vfsv0
+enables journaled quotas. For journaled quotas the mount options
+usrjquot=aquota.user and grpjquota=aquota.group are required to tell the
+quota system which quota database files to use. Journaled quotas have the
+advantage that even after a crash no quota check is required.
+
+.SH "Mount options for ext4"
+The ext4 filesystem is an advanced level of the ext3 filesystem which
+incorporates scalability and reliability enhancements for supporting large
+filesystem.
+
+The options
+.B journal_dev, noload, data, commit, orlov, oldalloc, [no]user_xattr
+.B [no]acl, bsddf, minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid
+.B sysvgroups, resgid, resuid, sb, quota, noquota, grpquota, usrquota
+.B usrjquot, grpjquota and jqfmt
+are backwardly compatible with ext3 or ext2.
+.TP
+.BR journal_checksum
+Enable checksumming of the journal transactions. This will allow the recovery
+code in e2fsck and the kernel to detect corruption in the kernel. It is a
+compatible change and will be ignored by older kernels.
+.TP
+.BR journal_async_commit
+Commit block can be written to disk without waiting for descriptor blocks. If
+enabled older kernels cannot mount the device.
+This will enable 'journal_checksum' internally.
+.TP
+.BR journal=update
+Update the ext4 filesystem's journal to the current format.
+.TP
+.BR barrier=0 " / " barrier=1 " / " barrier " / " nobarrier
+This enables/disables the use of write barriers in the jbd code. barrier=0
+disables, barrier=1 enables. This also requires an IO stack which can support
+barriers, and if jbd gets an error on a barrier write, it will disable again
+with a warning. Write barriers enforce proper on-disk ordering of journal
+commits, making volatile disk write caches safe to use, at some performance
+penalty. If your disks are battery-backed in one way or another, disabling
+barriers may safely improve performance. The mount options "barrier" and
+"nobarrier" can also be used to enable or disable barriers, for consistency
+with other ext4 mount options.
+
+The ext4 filesystem enables write barriers by default.
+.TP
+.BI inode_readahead_blks= n
+This tuning parameter controls the maximum number of inode table blocks that
+ext4's inode table readahead algorithm will pre-read into the buffer cache.
+The value must be a power of 2. The default value is 32 blocks.
+.TP
+.BI stripe= n
+Number of filesystem blocks that mballoc will try to use for allocation size
+and alignment. For RAID5/6 systems this should be the number of data disks *
+RAID chunk size in filesystem blocks.
+.TP
+.BR delalloc
+Deferring block allocation until write-out time.
+.TP
+.BR nodelalloc
+Disable delayed allocation. Blocks are allocated when data is copied from user
+to page cache.
+.TP
+.BI max_batch_time= usec
+Maximum amount of time ext4 should wait for additional filesystem operations to
+be batch together with a synchronous write operation. Since a synchronous
+write operation is going to force a commit and then a wait for the I/O
+complete, it doesn't cost much, and can be a huge throughput win, we wait for a
+small amount of time to see if any other transactions can piggyback on the
+synchronous write. The algorithm used is designed to automatically tune for
+the speed of the disk, by measuring the amount of time (on average) that it
+takes to finish committing a transaction. Call this time the "commit time".
+If the time that the transaction has been running is less than the commit time,
+ext4 will try sleeping for the commit time to see if other operations will join
+the transaction. The commit time is capped by the max_batch_time, which
+defaults to 15000us (15ms). This optimization can be turned off entirely by
+setting max_batch_time to 0.
+.TP
+.BI min_batch_time= usec
+This parameter sets the commit time (as described above) to be at least
+min_batch_time. It defaults to zero microseconds. Increasing this parameter
+may improve the throughput of multi-threaded, synchronous workloads on very
+fast disks, at the cost of increasing latency.
+.TP
+.BI journal_ioprio= prio
+The I/O priority (from 0 to 7, where 0 is the highest priorty) which should be
+used for I/O operations submitted by kjournald2 during a commit operation.
+This defaults to 3, which is a slightly higher priority than the default I/O
+priority.
+.TP
+.BR abort
+Simulate the effects of calling ext4_abort() for
+debugging purposes. This is normally used while
+remounting a filesystem which is already mounted.
+.TP
+.BR auto_da_alloc | noauto_da_alloc
+Many broken applications don't use fsync() when
+replacing existing files via patterns such as
+
+fd = open("foo.new")/write(fd,..)/close(fd)/ rename("foo.new", "foo")
+
+or worse yet
+
+fd = open("foo", O_TRUNC)/write(fd,..)/close(fd).
+
+If auto_da_alloc is enabled, ext4 will detect the replace-via-rename and
+replace-via-truncate patterns and force that any delayed allocation blocks are
+allocated such that at the next journal commit, in the default data=ordered
+mode, the data blocks of the new file are forced to disk before the rename()
+operation is committed. This provides roughly the same level of guarantees as
+ext3, and avoids the "zero-length" problem that can happen when a system
+crashes before the delayed allocation blocks are forced to disk.
+.TP
+.BR discard / nodiscard
+Controls whether ext4 should issue discard/TRIM commands to the underlying
+block device when blocks are freed. This is useful for SSD devices and
+sparse/thinly-provisioned LUNs, but it is off by default until sufficient
+testing has been done.
+.TP
+.BR nouid32
+Disables 32-bit UIDs and GIDs. This is for
+interoperability with older kernels which only
+store and expect 16-bit values.
+.TP
+.BR resize
+Allows to resize filesystem to the end of the last
+existing block group, further resize has to be done
+with resize2fs either online, or offline. It can be
+used only with conjunction with remount.
+.TP
+.BR block_validity / noblock_validity
+This options allows to enables/disables the in-kernel facility for tracking
+filesystem metadata blocks within internal data structures. This allows multi-
+block allocator and other routines to quickly locate extents which might
+overlap with filesystem metadata blocks. This option is intended for debugging
+purposes and since it negatively affects the performance, it is off by default.
+.TP
+.BR dioread_lock / dioread_nolock
+Controls whether or not ext4 should use the DIO read locking. If the
+dioread_nolock option is specified ext4 will allocate uninitialized extent
+before buffer write and convert the extent to initialized after IO completes.
+This approach allows ext4 code to avoid using inode mutex, which improves
+scalability on high speed storages. However this does not work with data
+journaling and dioread_nolock option will be ignored with kernel warning.
+Note that dioread_nolock code path is only used for extent-based files.
+Because of the restrictions this options comprises it is off by default
+(e.g. dioread_lock).
+.TP
+.BR i_version
+Enable 64-bit inode version support. This option is off by default.
+
+.SH "Mount options for fat"
+(Note:
+.I fat
+is not a separate filesystem, but a common part of the
+.IR msdos ,
+.I umsdos
+and
+.I vfat
+filesystems.)
+.TP
+.BR blocksize= { 512 | 1024 | 2048 }
+Set blocksize (default 512). This option is obsolete.
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Set the owner and group of all files.
+(Default: the uid and gid of the current process.)
+.TP
+.BI umask= value
+Set the umask (the bitmask of the permissions that are
+.B not
+present). The default is the umask of the current process.
+The value is given in octal.
+.TP
+.BI dmask= value
+Set the umask applied to directories only.
+The default is the umask of the current process.
+The value is given in octal.
+.\" Present since Linux 2.5.43.
+.TP
+.BI fmask= value
+Set the umask applied to regular files only.
+The default is the umask of the current process.
+The value is given in octal.
+.\" Present since Linux 2.5.43.
+.TP
+.BI allow_utime= value
+This option controls the permission check of mtime/atime.
+.RS
+.TP
+.B 20
+If current process is in group of file's group ID, you can change timestamp.
+.TP
+.B 2
+Other users can change timestamp.
+.PP
+The default is set from `dmask' option. (If the directory is writable,
+.B utime(2)
+is also allowed. I.e. ~dmask & 022)
+
+Normally
+.B utime(2)
+checks current process is owner of the file, or it has
+CAP_FOWNER capability. But FAT filesystem doesn't have uid/gid on disk, so
+normal check is too unflexible. With this option you can relax it.
+.RE
+.TP
+.BI check= value
+Three different levels of pickyness can be chosen:
+.RS
+.TP
+.BR r [ elaxed ]
+Upper and lower case are accepted and equivalent, long name parts are
+truncated (e.g.
+.I verylongname.foobar
+becomes
+.IR verylong.foo ),
+leading and embedded spaces are accepted in each name part (name and extension).
+.TP
+.BR n [ ormal ]
+Like "relaxed", but many special characters (*, ?, <, spaces, etc.) are
+rejected. This is the default.
+.TP
+.BR s [ trict ]
+Like "normal", but names may not contain long parts and special characters
+that are sometimes used on Linux, but are not accepted by MS-DOS are
+rejected. (+, =, spaces, etc.)
+.RE
+.TP
+.BI codepage= value
+Sets the codepage for converting to shortname characters on FAT
+and VFAT filesystems. By default, codepage 437 is used.
+.TP
+.BR conv= {b [ inary ]| t [ ext ]| a [ uto ]}
+The
+.I fat
+filesystem can perform CRLF<-->NL (MS-DOS text format to UNIX text
+format) conversion in the kernel. The following conversion modes are
+available:
+.RS
+.TP
+.B binary
+no translation is performed. This is the default.
+.TP
+.B text
+CRLF<-->NL translation is performed on all files.
+.TP
+.B auto
+CRLF<-->NL translation is performed on all files that don't have a
+"well-known binary" extension. The list of known extensions can be found at
+the beginning of
+.I fs/fat/misc.c
+(as of 2.0, the list is: exe, com, bin, app, sys, drv, ovl, ovr, obj,
+lib, dll, pif, arc, zip, lha, lzh, zoo, tar, z, arj, tz, taz, tzp, tpz,
+gz, tgz, deb, gif, bmp, tif, gl, jpg, pcx, tfm, vf, gf, pk, pxl, dvi).
+.PP
+Programs that do computed lseeks won't like in-kernel text conversion.
+Several people have had their data ruined by this translation. Beware!
+
+For filesystems mounted in binary mode, a conversion tool
+(fromdos/todos) is available. This option is obsolete.
+.RE
+.TP
+.BI cvf_format= module
+Forces the driver to use the CVF (Compressed Volume File) module
+.RI cvf_ module
+instead of auto-detection. If the kernel supports kmod, the
+cvf_format=xxx option also controls on-demand CVF module loading.
+This option is obsolete.
+.TP
+.BI cvf_option= option
+Option passed to the CVF module. This option is obsolete.
+.TP
+.B debug
+Turn on the
+.I debug
+flag. A version string and a list of filesystem parameters will be
+printed (these data are also printed if the parameters appear to be
+inconsistent).
+.TP
+.B discard
+If set, causes discard/TRIM commands to be issued to the block device
+when blocks are freed. This is useful for SSD devices and
+sparse/thinly-provisoned LUNs.
+.TP
+.BR fat= {12 | 16 | 32 }
+Specify a 12, 16 or 32 bit fat. This overrides
+the automatic FAT type detection routine. Use with caution!
+.TP
+.BI iocharset= value
+Character set to use for converting between 8 bit characters
+and 16 bit Unicode characters. The default is iso8859-1.
+Long filenames are stored on disk in Unicode format.
+.TP
+.B nfs
+If set, enables in-memory indexing of directory inodes to reduce the
+frequency of ESTALE errors in NFS client operations. Useful only when
+the filesystem is exported via NFS.
+.TP
+.BI tz=UTC
+This option disables the conversion of timestamps
+between local time (as used by Windows on FAT) and UTC
+(which Linux uses internally). This is particularly
+useful when mounting devices (like digital cameras)
+that are set to UTC in order to avoid the pitfalls of
+local time.
+.TP
+.B quiet
+Turn on the
+.I quiet
+flag. Attempts to chown or chmod files do not return errors,
+although they fail. Use with caution!
+.TP
+.B showexec
+If set, the execute permission bits of the file will be allowed only if
+the extension part of the name is .EXE, .COM, or .BAT. Not set by default.
+.TP
+.B sys_immutable
+If set, ATTR_SYS attribute on FAT is handled as IMMUTABLE flag on Linux.
+Not set by default.
+.TP
+.B flush
+If set, the filesystem will try to flush to disk more early than normal.
+Not set by default.
+.TP
+.B usefree
+Use the "free clusters" value stored on FSINFO. It'll
+be used to determine number of free clusters without
+scanning disk. But it's not used by default, because
+recent Windows don't update it correctly in some
+case. If you are sure the "free clusters" on FSINFO is
+correct, by this option you can avoid scanning disk.
+.TP
+.BR dots ", " nodots ", " dotsOK= [ yes | no ]
+Various misguided attempts to force Unix or DOS conventions
+onto a FAT filesystem.
+
+.SH "Mount options for hfs"
+.TP
+.BI creator= cccc ", type=" cccc
+Set the creator/type values as shown by the MacOS finder
+used for creating new files. Default values: '????'.
+.TP
+.BI uid= n ", gid=" n
+Set the owner and group of all files.
+(Default: the uid and gid of the current process.)
+.TP
+.BI dir_umask= n ", file_umask=" n ", umask=" n
+Set the umask used for all directories, all regular files, or all
+files and directories. Defaults to the umask of the current process.
+.TP
+.BI session= n
+Select the CDROM session to mount.
+Defaults to leaving that decision to the CDROM driver.
+This option will fail with anything but a CDROM as underlying device.
+.TP
+.BI part= n
+Select partition number n from the device.
+Only makes sense for CDROMs.
+Defaults to not parsing the partition table at all.
+.TP
+.B quiet
+Don't complain about invalid mount options.
+
+.SH "Mount options for hpfs"
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Set the owner and group of all files. (Default: the uid and gid
+of the current process.)
+.TP
+.BI umask= value
+Set the umask (the bitmask of the permissions that are
+.B not
+present). The default is the umask of the current process.
+The value is given in octal.
+.TP
+.BR case= { lower | asis }
+Convert all files names to lower case, or leave them.
+(Default:
+.BR case=lower .)
+.TP
+.BR conv= { binary | text | auto }
+For
+.BR conv=text ,
+delete some random CRs (in particular, all followed by NL)
+when reading a file.
+For
+.BR conv=auto ,
+choose more or less at random between
+.BR conv=binary " and " conv=text .
+For
+.BR conv=binary ,
+just read what is in the file. This is the default.
+.TP
+.B nocheck
+Do not abort mounting when certain consistency checks fail.
+
+.SH "Mount options for iso9660"
+ISO 9660 is a standard describing a filesystem structure to be used
+on CD-ROMs. (This filesystem type is also seen on some DVDs. See also the
+.I udf
+filesystem.)
+
+Normal
+.I iso9660
+filenames appear in a 8.3 format (i.e., DOS-like restrictions on filename
+length), and in addition all characters are in upper case. Also there is
+no field for file ownership, protection, number of links, provision for
+block/character devices, etc.
+
+Rock Ridge is an extension to iso9660 that provides all of these UNIX-like
+features. Basically there are extensions to each directory record that
+supply all of the additional information, and when Rock Ridge is in use,
+the filesystem is indistinguishable from a normal UNIX filesystem (except
+that it is read-only, of course).
+.TP
+.B norock
+Disable the use of Rock Ridge extensions, even if available. Cf.\&
+.BR map .
+.TP
+.B nojoliet
+Disable the use of Microsoft Joliet extensions, even if available. Cf.\&
+.BR map .
+.TP
+.BR check= { r [ elaxed ]| s [ trict ]}
+With
+.BR check=relaxed ,
+a filename is first converted to lower case before doing the lookup.
+This is probably only meaningful together with
+.B norock
+and
+.BR map=normal .
+(Default:
+.BR check=strict .)
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Give all files in the filesystem the indicated user or group id,
+possibly overriding the information found in the Rock Ridge extensions.
+(Default:
+.BR uid=0,gid=0 .)
+.TP
+.BR map= { n [ ormal ]| o [ ff ]| a [ corn ]}
+For non-Rock Ridge volumes, normal name translation maps upper
+to lower case ASCII, drops a trailing `;1', and converts `;' to `.'.
+With
+.B map=off
+no name translation is done. See
+.BR norock .
+(Default:
+.BR map=normal .)
+.B map=acorn
+is like
+.BR map=normal
+but also apply Acorn extensions if present.
+.TP
+.BI mode= value
+For non-Rock Ridge volumes, give all files the indicated mode.
+(Default: read permission for everybody.)
+Since Linux 2.1.37 one no longer needs to specify the mode in
+decimal. (Octal is indicated by a leading 0.)
+.TP
+.B unhide
+Also show hidden and associated files.
+(If the ordinary files and the associated or hidden files have
+the same filenames, this may make the ordinary files inaccessible.)
+.TP
+.BR block= { 512 | 1024 | 2048 }
+Set the block size to the indicated value.
+(Default:
+.BR block=1024 .)
+.TP
+.BR conv= { a [ uto ]| b [ inary ]| m [ text ]| t [ ext ]}
+(Default:
+.BR conv=binary .)
+Since Linux 1.3.54 this option has no effect anymore.
+(And non-binary settings used to be very dangerous,
+possibly leading to silent data corruption.)
+.TP
+.B cruft
+If the high byte of the file length contains other garbage,
+set this mount option to ignore the high order bits of the file length.
+This implies that a file cannot be larger than 16MB.
+.TP
+.BI session= x
+Select number of session on multisession CD. (Since 2.3.4.)
+.TP
+.BI sbsector= xxx
+Session begins from sector xxx. (Since 2.3.4.)
+.LP
+The following options are the same as for vfat and specifying them only makes
+sense when using discs encoded using Microsoft's Joliet extensions.
+.TP
+.BI iocharset= value
+Character set to use for converting 16 bit Unicode characters on CD
+to 8 bit characters. The default is iso8859-1.
+.TP
+.B utf8
+Convert 16 bit Unicode characters on CD to UTF-8.
+
+.SH "Mount options for jfs"
+.TP
+.BI iocharset= name
+Character set to use for converting from Unicode to ASCII. The default is
+to do no conversion. Use
+.B iocharset=utf8
+for UTF8 translations. This requires CONFIG_NLS_UTF8 to be set in
+the kernel
+.I ".config"
+file.
+.TP
+.BI resize= value
+Resize the volume to
+.I value
+blocks. JFS only supports growing a volume, not shrinking it. This option
+is only valid during a remount, when the volume is mounted read-write. The
+.B resize
+keyword with no value will grow the volume to the full size of the partition.
+.TP
+.B nointegrity
+Do not write to the journal. The primary use of this option is to allow
+for higher performance when restoring a volume from backup media. The
+integrity of the volume is not guaranteed if the system abnormally abends.
+.TP
+.B integrity
+Default. Commit metadata changes to the journal. Use this option to remount
+a volume where the
+.B nointegrity
+option was previously specified in order to restore normal behavior.
+.TP
+.BR errors= { continue | remount-ro | panic }
+Define the behaviour when an error is encountered.
+(Either ignore errors and just mark the filesystem erroneous and continue,
+or remount the filesystem read-only, or panic and halt the system.)
+.TP
+.BR noquota | quota | usrquota | grpquota
+These options are accepted but ignored.
+
+.SH "Mount options for minix"
+None.
+
+.SH "Mount options for msdos"
+See mount options for fat.
+If the
+.I msdos
+filesystem detects an inconsistency, it reports an error and sets the file
+system read-only. The filesystem can be made writable again by remounting
+it.
+
+.SH "Mount options for ncpfs"
+Just like
+.IR nfs ", the " ncpfs
+implementation expects a binary argument (a
+.IR "struct ncp_mount_data" )
+to the mount system call. This argument is constructed by
+.BR ncpmount (8)
+and the current version of
+.B mount
+(2.12) does not know anything about ncpfs.
+
+.SH "Mount options for nfs and nfs4"
+See the options section of the
+.BR nfs (5)
+man page (nfs-utils package must be installed).
+
+The
+.IR nfs " and " nfs4
+implementation expects a binary argument (a
+.IR "struct nfs_mount_data" )
+to the mount system call. This argument is constructed by
+.BR mount.nfs (8)
+and the current version of
+.B mount
+(2.13) does not know anything about nfs and nfs4.
+
+.SH "Mount options for ntfs"
+.TP
+.BI iocharset= name
+Character set to use when returning file names.
+Unlike VFAT, NTFS suppresses names that contain
+nonconvertible characters. Deprecated.
+.\" since 2.5.11
+.TP
+.BI nls= name
+New name for the option earlier called
+.IR iocharset .
+.\" since 2.5.11
+.TP
+.BR utf8
+Use UTF-8 for converting file names.
+.TP
+.BR uni_xlate= { 0 | 1 | 2 }
+For 0 (or `no' or `false'), do not use escape sequences
+for unknown Unicode characters.
+For 1 (or `yes' or `true') or 2, use vfat-style 4-byte escape sequences
+starting with ":". Here 2 give a little-endian encoding
+and 1 a byteswapped bigendian encoding.
+.TP
+.B posix=[0|1]
+If enabled (posix=1), the filesystem distinguishes between
+upper and lower case. The 8.3 alias names are presented as
+hard links instead of being suppressed. This option is obsolete.
+.TP
+\fBuid=\fP\fIvalue\fP, \fBgid=\fP\fIvalue\fP and \fBumask=\fP\fIvalue\fP
+Set the file permission on the filesystem.
+The umask value is given in octal.
+By default, the files are owned by root and not readable by somebody else.
+
+.SH "Mount options for proc"
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+These options are recognized, but have no effect as far as I can see.
+
+.SH "Mount options for ramfs"
+Ramfs is a memory based filesystem. Mount it and you have it. Unmount it
+and it is gone. Present since Linux 2.3.99pre4.
+There are no mount options.
+
+.SH "Mount options for reiserfs"
+Reiserfs is a journaling filesystem.
+.TP
+.BR conv
+Instructs version 3.6 reiserfs software to mount a version 3.5 filesystem,
+using the 3.6 format for newly created objects. This filesystem will no
+longer be compatible with reiserfs 3.5 tools.
+.TP
+.BR hash= { rupasov | tea | r5 | detect }
+Choose which hash function reiserfs will use to find files within directories.
+.RS
+.TP
+.B rupasov
+A hash invented by Yury Yu. Rupasov. It is fast and preserves locality,
+mapping lexicographically close file names to close hash values.
+This option should not be used, as it causes a high probability of hash
+collisions.
+.TP
+.B tea
+A Davis-Meyer function implemented by Jeremy Fitzhardinge.
+It uses hash permuting bits in the name. It gets high randomness
+and, therefore, low probability of hash collisions at some CPU cost.
+This may be used if EHASHCOLLISION errors are experienced with the r5 hash.
+.TP
+.B r5
+A modified version of the rupasov hash. It is used by default and is
+the best choice unless the filesystem has huge directories and
+unusual file-name patterns.
+.TP
+.B detect
+Instructs
+.IR mount
+to detect which hash function is in use by examining
+the filesystem being mounted, and to write this information into
+the reiserfs superblock. This is only useful on the first mount of
+an old format filesystem.
+.RE
+.TP
+.BR hashed_relocation
+Tunes the block allocator. This may provide performance improvements
+in some situations.
+.TP
+.BR no_unhashed_relocation
+Tunes the block allocator. This may provide performance improvements
+in some situations.
+.TP
+.BR noborder
+Disable the border allocator algorithm invented by Yury Yu. Rupasov.
+This may provide performance improvements in some situations.
+.TP
+.BR nolog
+Disable journalling. This will provide slight performance improvements in
+some situations at the cost of losing reiserfs's fast recovery from crashes.
+Even with this option turned on, reiserfs still performs all journalling
+operations, save for actual writes into its journalling area. Implementation
+of
+.IR nolog
+is a work in progress.
+.TP
+.BR notail
+By default, reiserfs stores small files and `file tails' directly into its
+tree. This confuses some utilities such as
+.BR LILO (8).
+This option is used to disable packing of files into the tree.
+.TP
+.BR replayonly
+Replay the transactions which are in the journal, but do not actually
+mount the filesystem. Mainly used by
+.IR reiserfsck .
+.TP
+.BI resize= number
+A remount option which permits online expansion of reiserfs partitions.
+Instructs reiserfs to assume that the device has
+.I number
+blocks.
+This option is designed for use with devices which are under logical
+volume management (LVM).
+There is a special
+.I resizer
+utility which can be obtained from
+.IR ftp://ftp.namesys.com/pub/reiserfsprogs .
+.TP
+.BR user_xattr
+Enable Extended User Attributes. See the
+.BR attr (5)
+manual page.
+.TP
+.BR acl
+Enable POSIX Access Control Lists. See the
+.BR acl (5)
+manual page.
+.TP
+.BR barrier=none " / " barrier=flush "
+This enables/disables the use of write barriers in the journaling code.
+barrier=none disables it, barrier=flush enables it. Write barriers enforce
+proper on-disk ordering of journal commits, making volatile disk write caches
+safe to use, at some performance penalty. The reiserfs filesystem does not
+enable write barriers by default. Be sure to enable barriers unless your disks
+are battery-backed one way or another. Otherwise you risk filesystem
+corruption in case of power failure.
+
+.SH "Mount options for romfs"
+None.
+
+.SH "Mount options for squashfs"
+None.
+
+.SH "Mount options for smbfs"
+Just like
+.IR nfs ", the " smbfs
+implementation expects a binary argument (a
+.IR "struct smb_mount_data" )
+to the mount system call. This argument is constructed by
+.BR smbmount (8)
+and the current version of
+.B mount
+(2.12) does not know anything about smbfs.
+
+.SH "Mount options for sysv"
+None.
+
+.SH "Mount options for tmpfs"
+.TP
+.BI size= nbytes
+Override default maximum size of the filesystem.
+The size is given in bytes, and rounded up to entire pages.
+The default is half of the memory. The size parameter also accepts a suffix %
+to limit this tmpfs instance to that percentage of your physical RAM:
+the default, when neither size nor nr_blocks is specified, is size=50%
+.TP
+.B nr_blocks=
+The same as size, but in blocks of PAGE_CACHE_SIZE
+.TP
+.B nr_inodes=
+The maximum number of inodes for this instance. The default
+is half of the number of your physical RAM pages, or (on a
+machine with highmem) the number of lowmem RAM pages,
+whichever is the lower.
+.PP
+The tmpfs mount options for sizing (
+.BR size ,
+.BR nr_blocks ,
+and
+.BR nr_inodes )
+accept a suffix
+.BR k ,
+.B m
+or
+.B g
+for Ki, Mi, Gi (binary kilo, mega and giga) and can be changed on remount.
+
+.TP
+.B mode=
+Set initial permissions of the root directory.
+.TP
+.B uid=
+The user id.
+.TP
+.B gid=
+The group id.
+.TP
+.B mpol=[default|prefer:Node|bind:NodeList|interleave|interleave:NodeList]
+Set the NUMA memory allocation policy for all files in that
+instance (if the kernel CONFIG_NUMA is enabled) - which can be adjusted on the
+fly via 'mount -o remount ...'
+.RS
+.TP
+.B default
+prefers to allocate memory from the local node
+.TP
+.B prefer:Node
+prefers to allocate memory from the given Node
+.TP
+.B bind:NodeList
+allocates memory only from nodes in NodeList
+.TP
+.B interleave
+prefers to allocate from each node in turn
+.TP
+.B interleave:NodeList
+allocates from each node of NodeList in turn.
+.PP
+The NodeList format is a comma-separated list of decimal numbers and ranges, a
+range being two hyphen-separated decimal numbers, the smallest and largest node
+numbers in the range. For example, mpol=bind:0-3,5,7,9-15
+
+Note that trying to mount a tmpfs with an mpol option will fail if the
+running kernel does not support NUMA; and will fail if its nodelist
+specifies a node which is not online. If your system relies on that
+tmpfs being mounted, but from time to time runs a kernel built without
+NUMA capability (perhaps a safe recovery kernel), or with fewer nodes
+online, then it is advisable to omit the mpol option from automatic
+mount options. It can be added later, when the tmpfs is already mounted
+on MountPoint, by 'mount -o remount,mpol=Policy:NodeList MountPoint'.
+
+.SH "Mount options for ubifs"
+UBIFS is a flash file system which works on top of UBI volumes. Note that
+.B
+atime
+is not supported and is always turned off.
+.TP
+The device name may be specified as
+.RS
+.B ubiX_Y
+UBI device number
+.BR X ,
+volume number
+.B Y
+.TP
+.B ubiY
+UBI device number
+.BR 0 ,
+volume number
+.B Y
+.TP
+.B ubiX:NAME
+UBI device number
+.BR X ,
+volume with name
+.B NAME
+.TP
+.B ubi:NAME
+UBI device number
+.BR 0 ,
+volume with name
+.B NAME
+.RE
+Alternative
+.B !
+separator may be used instead of
+.BR : .
+.TP
+The following mount options are available:
+.TP
+.BR bulk_read
+Enable bulk-read. VFS read-ahead is disabled because it slows down the file
+system. Bulk-Read is an internal optimization. Some flashes may read faster if
+the data are read at one go, rather than at several read requests. For
+example, OneNAND can do "read-while-load" if it reads more than one NAND page.
+.TP
+.BR no_bulk_read
+Do not bulk-read. This is the default.
+.TP
+.BR chk_data_crc
+Check data CRC-32 checksums. This is the default.
+.TP
+.BR no_chk_data_crc.
+Do not check data CRC-32 checksums. With this option, the filesystem does not
+check CRC-32 checksum for data, but it does check it for the internal indexing
+information. This option only affects reading, not writing. CRC-32 is always
+calculated when writing the data.
+.TP
+.BR compr= { none | lzo | zlib }
+Select the default compressor which is used when new files are written. It is
+still possible to read compressed files if mounted with the
+.B none
+option.
+
+.SH "Mount options for udf"
+udf is the "Universal Disk Format" filesystem defined by the Optical
+Storage Technology Association, and is often used for DVD-ROM.
+See also
+.IR iso9660 .
+.TP
+.B gid=
+Set the default group.
+.TP
+.B umask=
+Set the default umask.
+The value is given in octal.
+.TP
+.B uid=
+Set the default user.
+.TP
+.B unhide
+Show otherwise hidden files.
+.TP
+.B undelete
+Show deleted files in lists.
+.TP
+.B nostrict
+Unset strict conformance.
+.\" .TP
+.\" .B utf8
+.\" (unused).
+.TP
+.B iocharset
+Set the NLS character set.
+.TP
+.B bs=
+Set the block size. (May not work unless 2048.)
+.TP
+.B novrs
+Skip volume sequence recognition.
+.TP
+.B session=
+Set the CDROM session counting from 0. Default: last session.
+.TP
+.B anchor=
+Override standard anchor location. Default: 256.
+.TP
+.B volume=
+Override the VolumeDesc location. (unused)
+.TP
+.B partition=
+Override the PartitionDesc location. (unused)
+.TP
+.B lastblock=
+Set the last block of the filesystem.
+.TP
+.B fileset=
+Override the fileset block location. (unused)
+.TP
+.B rootdir=
+Override the root directory location. (unused)
+
+.SH "Mount options for ufs"
+.TP
+.BI ufstype= value
+UFS is a filesystem widely used in different operating systems.
+The problem are differences among implementations. Features of some
+implementations are undocumented, so its hard to recognize the
+type of ufs automatically.
+That's why the user must specify the type of ufs by mount option.
+Possible values are:
+.RS
+.TP
+.B old
+Old format of ufs, this is the default, read only.
+(Don't forget to give the \-r option.)
+.TP
+.B 44bsd
+For filesystems created by a BSD-like system (NetBSD,FreeBSD,OpenBSD).
+.TP
+.B ufs2
+Used in FreeBSD 5.x supported as read-write.
+.TP
+.B 5xbsd
+Synonym for ufs2.
+.TP
+.B sun
+For filesystems created by SunOS or Solaris on Sparc.
+.TP
+.B sunx86
+For filesystems created by Solaris on x86.
+.TP
+.B hp
+For filesystems created by HP-UX, read-only.
+.TP
+.B nextstep
+For filesystems created by NeXTStep (on NeXT station) (currently read only).
+.TP
+.B nextstep-cd
+For NextStep CDROMs (block_size == 2048), read-only.
+.TP
+.B openstep
+For filesystems created by OpenStep (currently read only).
+The same filesystem type is also used by Mac OS X.
+.RE
+
+.TP
+.BI onerror= value
+Set behaviour on error:
+.RS
+.TP
+.B panic
+If an error is encountered, cause a kernel panic.
+.TP
+.RB [ lock | umount | repair ]
+These mount options don't do anything at present;
+when an error is encountered only a console message is printed.
+.RE
+
+.SH "Mount options for umsdos"
+See mount options for msdos.
+The
+.B dotsOK
+option is explicitly killed by
+.IR umsdos .
+
+.SH "Mount options for vfat"
+First of all, the mount options for
+.I fat
+are recognized.
+The
+.B dotsOK
+option is explicitly killed by
+.IR vfat .
+Furthermore, there are
+.TP
+.B uni_xlate
+Translate unhandled Unicode characters to special escaped sequences.
+This lets you backup and restore filenames that are created with any
+Unicode characters. Without this option, a '?' is used when no
+translation is possible. The escape character is ':' because it is
+otherwise illegal on the vfat filesystem. The escape sequence
+that gets used, where u is the unicode character,
+is: ':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12).
+.TP
+.B posix
+Allow two files with names that only differ in case.
+This option is obsolete.
+.TP
+.B nonumtail
+First try to make a short name without sequence number,
+before trying
+.IR name~num.ext .
+.TP
+.B utf8
+UTF8 is the filesystem safe 8-bit encoding of Unicode that is used by the
+console. It can be enabled for the filesystem with this option or disabled
+with utf8=0, utf8=no or utf8=false. If `uni_xlate' gets set, UTF8 gets
+disabled.
+.TP
+.BR shortname= { lower | win95 | winnt | mixed }
+
+Defines the behaviour for creation and display of filenames which fit into
+8.3 characters. If a long name for a file exists, it will always be
+preferred display. There are four modes:
+:
+.RS
+.TP
+.I lower
+Force the short name to lower case upon display; store a long name when
+the short name is not all upper case.
+.TP
+.I win95
+Force the short name to upper case upon display; store a long name when
+the short name is not all upper case.
+.TP
+.I winnt
+Display the shortname as is; store a long name when the short name is
+not all lower case or all upper case.
+.TP
+.I mixed
+Display the short name as is; store a long name when the short name is not
+all upper case. This mode is the default since Linux 2.6.32.
+.RE
+
+
+.SH "Mount options for usbfs"
+.TP
+\fBdevuid=\fP\fIuid\fP and \fBdevgid=\fP\fIgid\fP and \fBdevmode=\fP\fImode\fP
+Set the owner and group and mode of the device files in the usbfs filesystem
+(default: uid=gid=0, mode=0644). The mode is given in octal.
+.TP
+\fBbusuid=\fP\fIuid\fP and \fBbusgid=\fP\fIgid\fP and \fBbusmode=\fP\fImode\fP
+Set the owner and group and mode of the bus directories in the usbfs
+filesystem (default: uid=gid=0, mode=0555). The mode is given in octal.
+.TP
+\fBlistuid=\fP\fIuid\fP and \fBlistgid=\fP\fIgid\fP and \fBlistmode=\fP\fImode\fP
+Set the owner and group and mode of the file
+.I devices
+(default: uid=gid=0, mode=0444). The mode is given in octal.
+
+.SH "Mount options for xenix"
+None.
+
+.SH "Mount options for xfs"
+.TP
+.BI allocsize= size
+Sets the buffered I/O end-of-file preallocation size when
+doing delayed allocation writeout (default size is 64KiB).
+Valid values for this option are page size (typically 4KiB)
+through to 1GiB, inclusive, in power-of-2 increments.
+.TP
+.BR attr2 | noattr2
+The options enable/disable (default is enabled) an "opportunistic"
+improvement to be made in the way inline extended attributes are
+stored on-disk.
+When the new form is used for the first time (by setting or
+removing extended attributes) the on-disk superblock feature
+bit field will be updated to reflect this format being in use.
+.TP
+.B barrier
+Enables the use of block layer write barriers for writes into
+the journal and unwritten extent conversion. This allows for
+drive level write caching to be enabled, for devices that
+support write barriers.
+.TP
+.B dmapi
+Enable the DMAPI (Data Management API) event callouts.
+Use with the
+.B mtpt
+option.
+.TP
+.BR grpid | bsdgroups " and " nogrpid | sysvgroups
+These options define what group ID a newly created file gets.
+When grpid is set, it takes the group ID of the directory in
+which it is created; otherwise (the default) it takes the fsgid
+of the current process, unless the directory has the setgid bit
+set, in which case it takes the gid from the parent directory,
+and also gets the setgid bit set if it is a directory itself.
+.TP
+.BI ihashsize= value
+Sets the number of hash buckets available for hashing the
+in-memory inodes of the specified mount point. If a value
+of zero is used, the value selected by the default algorithm
+will be displayed in
+.IR /proc/mounts .
+.TP
+.BR ikeep | noikeep
+When inode clusters are emptied of inodes, keep them around
+on the disk (ikeep) - this is the traditional XFS behaviour
+and is still the default for now. Using the noikeep option,
+inode clusters are returned to the free space pool.
+.TP
+.B inode64
+Indicates that XFS is allowed to create inodes at any location
+in the filesystem, including those which will result in inode
+numbers occupying more than 32 bits of significance. This is
+provided for backwards compatibility, but causes problems for
+backup applications that cannot handle large inode numbers.
+.TP
+.BR largeio | nolargeio
+If
+.B nolargeio
+is specified, the optimal I/O reported in
+st_blksize by
+.BR stat (2)
+will be as small as possible to allow user
+applications to avoid inefficient read/modify/write I/O.
+If
+.B largeio
+is specified, a filesystem that has a
+.B swidth
+specified
+will return the
+.B swidth
+value (in bytes) in st_blksize. If the
+filesystem does not have a
+.B swidth
+specified but does specify
+an
+.B allocsize
+then
+.B allocsize
+(in bytes) will be returned
+instead.
+If neither of these two options are specified, then filesystem
+will behave as if
+.B nolargeio
+was specified.
+.TP
+.BI logbufs= value
+Set the number of in-memory log buffers. Valid numbers range
+from 2-8 inclusive.
+The default value is 8 buffers for any recent kernel.
+.TP
+.BI logbsize= value
+Set the size of each in-memory log buffer.
+Size may be specified in bytes, or in kilobytes with a "k" suffix.
+Valid sizes for version 1 and version 2 logs are 16384 (16k) and
+32768 (32k). Valid sizes for version 2 logs also include
+65536 (64k), 131072 (128k) and 262144 (256k).
+The default value for any recent kernel is 32768.
+.TP
+\fBlogdev=\fP\fIdevice\fP and \fBrtdev=\fP\fIdevice\fP
+Use an external log (metadata journal) and/or real-time device.
+An XFS filesystem has up to three parts: a data section, a log section,
+and a real-time section.
+The real-time section is optional, and the log section can be separate
+from the data section or contained within it.
+Refer to
+.BR xfs (5).
+.TP
+.BI mtpt= mountpoint
+Use with the
+.B dmapi
+option. The value specified here will be
+included in the DMAPI mount event, and should be the path of
+the actual mountpoint that is used.
+.TP
+.B noalign
+Data allocations will not be aligned at stripe unit boundaries.
+.TP
+.B noatime
+Access timestamps are not updated when a file is read.
+.TP
+.B norecovery
+The filesystem will be mounted without running log recovery.
+If the filesystem was not cleanly unmounted, it is likely to
+be inconsistent when mounted in
+.B norecovery
+mode.
+Some files or directories may not be accessible because of this.
+Filesystems mounted
+.B norecovery
+must be mounted read-only or the mount will fail.
+.TP
+.B nouuid
+Don't check for double mounted filesystems using the filesystem uuid.
+This is useful to mount LVM snapshot volumes.
+.TP
+.B osyncisosync
+Make O_SYNC writes implement true O_SYNC. WITHOUT this option,
+Linux XFS behaves as if an
+.B osyncisdsync
+option is used,
+which will make writes to files opened with the O_SYNC flag set
+behave as if the O_DSYNC flag had been used instead.
+This can result in better performance without compromising
+data safety.
+However if this option is not in effect, timestamp updates from
+O_SYNC writes can be lost if the system crashes.
+If timestamp updates are critical, use the
+.B osyncisosync
+option.
+.TP
+.BR uquota | usrquota | uqnoenforce | quota
+User disk quota accounting enabled, and limits (optionally)
+enforced. Refer to
+.BR xfs_quota (8)
+for further details.
+.TP
+.BR gquota | grpquota | gqnoenforce
+Group disk quota accounting enabled and limits (optionally)
+enforced. Refer to
+.BR xfs_quota (8)
+for further details.
+.TP
+.BR pquota | prjquota | pqnoenforce
+Project disk quota accounting enabled and limits (optionally)
+enforced. Refer to
+.BR xfs_quota (8)
+for further details.
+.TP
+\fBsunit=\fP\fIvalue\fP and \fBswidth=\fP\fIvalue\fP
+Used to specify the stripe unit and width for a RAID device or a stripe
+volume.
+.I value
+must be specified in 512-byte block units.
+If this option is not specified and the filesystem was made on a stripe
+volume or the stripe width or unit were specified for the RAID device at
+mkfs time, then the mount system call will restore the value from the
+superblock.
+For filesystems that are made directly on RAID devices, these options can be
+used to override the information in the superblock if the underlying disk
+layout changes after the filesystem has been created.
+The
+.B swidth
+option is required if the
+.B sunit
+option has been specified,
+and must be a multiple of the
+.B sunit
+value.
+.TP
+.B swalloc
+Data allocations will be rounded up to stripe width boundaries
+when the current end of file is being extended and the file
+size is larger than the stripe width size.
+
+.SH "Mount options for xiafs"
+None. Although nothing is wrong with xiafs, it is not used much,
+and is not maintained. Probably one shouldn't use it.
+Since Linux version 2.1.21 xiafs is no longer part of the kernel source.
+
+.SH "THE LOOP DEVICE"
+One further possible type is a mount via the loop device. For example,
+the command
+.RS
+.sp
+.B "mount /tmp/disk.img /mnt -t vfat -o loop=/dev/loop"
+.sp
+.RE
+will set up the loop device
+.I /dev/loop3
+to correspond to the file
+.IR /tmp/disk.img ,
+and then mount this device on
+.IR /mnt .
+
+If no explicit loop device is mentioned
+(but just an option `\fB\-o loop\fP' is given), then
+.B mount
+will try to find some unused loop device and use that, for example
+.RS
+.sp
+.B "mount /tmp/disk.img /mnt -o loop"
+.sp
+.RE
+The mount command
+.B automatically
+creates a loop device from a regular file if a filesystem type is
+not specified or the filesystem is known for libblkid, for example:
+.RS
+.sp
+.B "mount /tmp/disk.img /mnt"
+.sp
+.B "mount -t ext3 /tmp/disk.img /mnt"
+.sp
+.RE
+This type of mount knows about four options, namely
+.BR loop ", " offset ", " sizelimit " and " encryption ,
+that are really options to
+.BR \%losetup (8).
+(These options can be used in addition to those specific
+to the filesystem type.)
+
+Since Linux 2.6.25 is supported auto-destruction of loop devices and
+then any loop device allocated by
+.B mount
+will be freed by
+.B umount
+independently on
+.IR /etc/mtab .
+
+You can also free a loop device by hand, using `losetup -d' or `umount -d`.
+
+.SH RETURN CODES
+.B mount
+has the following return codes (the bits can be ORed):
+.TP
+.BR 0
+success
+.TP
+.BR 1
+incorrect invocation or permissions
+.TP
+.BR 2
+system error (out of memory, cannot fork, no more loop devices)
+.TP
+.BR 4
+internal
+.B mount
+bug
+.TP
+.BR 8
+user interrupt
+.TP
+.BR 16
+problems writing or locking /etc/mtab
+.TP
+.BR 32
+mount failure
+.TP
+.BR 64
+some mount succeeded
+.RE
+
+The command mount -a returns 0 (all success), 32 (all failed) or 64 (some
+failed, some success).
+
+.SH NOTES
+The syntax of external mount helpers is:
+
+.RS
+.BI /sbin/mount. <suffix>
+.I spec dir
+.RB [ \-sfnv ]
+.RB [ \-o
+.IR options ]
+.RB [ \-t
+.IR type.subtype ]
+.RE
+
+where the <type> is filesystem type and \-sfnvo options have same meaning like
+standard mount options. The \-t option is used for filesystems with subtypes
+support (for example /sbin/mount.fuse -t fuse.sshfs).
+
+.SH FILES
+.TP 18n
+.I /etc/fstab
+filesystem table
+.TP
+.I /etc/mtab
+table of mounted filesystems
+.TP
+.I /etc/mtab~
+lock file
+.TP
+.I /etc/mtab.tmp
+temporary file
+.TP
+.I /etc/filesystems
+a list of filesystem types to try
+.SH ENVIRONMENT
+.IP LIBMOUNT_FSTAB=<path>
+overrides the default location of the fstab file
+.IP LIBMOUNT_MTAB=<path>
+overrides the default location of the mtab file
+.IP LIBMOUNT_DEBUG=0xffff
+enables debug output
+.SH "SEE ALSO"
+.BR mount (2),
+.BR umount (2),
+.BR fstab (5),
+.BR umount (8),
+.BR swapon (8),
+.BR findmnt (8),
+.BR nfs (5),
+.BR xfs (5),
+.BR e2label (8),
+.BR xfs_admin (8),
+.BR mountd (8),
+.BR nfsd (8),
+.BR mke2fs (8),
+.BR tune2fs (8),
+.BR losetup (8)
+.SH BUGS
+It is possible for a corrupted filesystem to cause a crash.
+.PP
+Some Linux filesystems don't support
+.B "\-o sync and \-o dirsync"
+(the ext2, ext3, fat and vfat filesystems
+.I do
+support synchronous updates (a la BSD) when mounted with the
+.B sync
+option).
+.PP
+The
+.B "\-o remount"
+may not be able to change mount parameters (all
+.IR ext2fs -specific
+parameters, except
+.BR sb ,
+are changeable with a remount, for example, but you can't change
+.B gid
+or
+.B umask
+for the
+.IR fatfs ).
+.PP
+It is possible that files
+.IR /etc/mtab
+and
+.IR /proc/mounts
+don't match. The first file is based only on the mount command options, but the
+content of the second file also depends on the kernel and others settings (e.g.
+remote NFS server. In particular case the mount command may reports unreliable
+information about a NFS mount point and the /proc/mounts file usually contains
+more reliable information.)
+.PP
+Checking files on NFS filesystem referenced by file descriptors (i.e. the
+.BR fcntl
+and
+.BR ioctl
+families of functions) may lead to inconsistent result due to the lack of
+consistency check in kernel even if noac is used.
+.SH HISTORY
+A
+.B mount
+command existed in Version 5 AT&T UNIX.
+.SH AUTHORS
+.nf
+Karel Zak <kzak@redhat.com>
+.fi
+.SH AVAILABILITY
+The mount command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+
diff --git a/sys-utils/mount.c b/sys-utils/mount.c
new file mode 100644
index 0000000..2d1d2cd
--- /dev/null
+++ b/sys-utils/mount.c
@@ -0,0 +1,995 @@
+/*
+ * mount(8) -- mount a filesystem
+ *
+ * Copyright (C) 2011 Red Hat, Inc. All rights reserved.
+ * Written by Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <stdarg.h>
+#include <libmount.h>
+#include <ctype.h>
+
+#include "nls.h"
+#include "c.h"
+#include "env.h"
+#include "strutils.h"
+#include "xgetpass.h"
+#include "exitcodes.h"
+#include "xalloc.h"
+#include "closestream.h"
+
+#define OPTUTILS_EXIT_CODE MOUNT_EX_USAGE
+#include "optutils.h"
+
+/*** TODO: DOCS:
+ *
+ * --options-mode={ignore,append,prepend,replace} MNT_OMODE_{IGNORE, ...}
+ * --options-source={fstab,mtab,disable} MNT_OMODE_{FSTAB,MTAB,NOTAB}
+ * --options-source-force MNT_OMODE_FORCE
+ */
+
+static int passfd = -1;
+static int readwrite;
+
+static int mk_exit_code(struct libmnt_context *cxt, int rc);
+
+static void __attribute__((__noreturn__)) exit_non_root(const char *option)
+{
+ const uid_t ruid = getuid();
+ const uid_t euid = geteuid();
+
+ if (ruid == 0 && euid != 0) {
+ /* user is root, but setuid to non-root */
+ if (option)
+ errx(MOUNT_EX_USAGE, _("only root can use \"--%s\" option "
+ "(effective UID is %u)"),
+ option, euid);
+ errx(MOUNT_EX_USAGE, _("only root can do that "
+ "(effective UID is %u)"), euid);
+ }
+ if (option)
+ errx(MOUNT_EX_USAGE, _("only root can use \"--%s\" option"), option);
+ errx(MOUNT_EX_USAGE, _("only root can do that"));
+}
+
+static void __attribute__((__noreturn__)) print_version(void)
+{
+ const char *ver = NULL;
+ const char **features = NULL, **p;
+
+ mnt_get_library_version(&ver);
+ mnt_get_library_features(&features);
+
+ printf(_("%s from %s (libmount %s"),
+ program_invocation_short_name,
+ PACKAGE_STRING,
+ ver);
+ p = features;
+ while (p && *p) {
+ fputs(p == features ? ": " : ", ", stdout);
+ fputs(*p++, stdout);
+ }
+ fputs(")\n", stdout);
+ exit(MOUNT_EX_SUCCESS);
+}
+
+static int table_parser_errcb(struct libmnt_table *tb __attribute__((__unused__)),
+ const char *filename, int line)
+{
+ if (filename)
+ warnx(_("%s: parse error: ignore entry at line %d."),
+ filename, line);
+ return 0;
+}
+
+static char *encrypt_pass_get(struct libmnt_context *cxt)
+{
+ if (!cxt)
+ return 0;
+
+#ifdef MCL_FUTURE
+ if (mlockall(MCL_CURRENT | MCL_FUTURE)) {
+ warn(_("couldn't lock into memory"));
+ return NULL;
+ }
+#endif
+ return xgetpass(passfd, _("Password: "));
+}
+
+static void encrypt_pass_release(struct libmnt_context *cxt
+ __attribute__((__unused__)), char *pwd)
+{
+ char *p = pwd;
+
+ while (p && *p)
+ *p++ = '\0';
+
+ free(pwd);
+ munlockall();
+}
+
+/*
+ * Replace control chars with '?' to be compatible with coreutils. For more
+ * robust solution use findmnt(1) where we use \x?? hex encoding.
+ */
+static void safe_fputs(const char *data)
+{
+ const char *p;
+
+ for (p = data; p && *p; p++) {
+ if (iscntrl((unsigned char) *p))
+ fputc('?', stdout);
+ else
+ fputc(*p, stdout);
+ }
+}
+
+static void print_all(struct libmnt_context *cxt, char *pattern, int show_label)
+{
+ struct libmnt_table *tb;
+ struct libmnt_iter *itr = NULL;
+ struct libmnt_fs *fs;
+ struct libmnt_cache *cache = NULL;
+
+ if (mnt_context_get_mtab(cxt, &tb))
+ err(MOUNT_EX_SYSERR, _("failed to read mtab"));
+
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+ if (!itr)
+ err(MOUNT_EX_SYSERR, _("failed to initialize libmount iterator"));
+ if (show_label)
+ cache = mnt_new_cache();
+
+ while (mnt_table_next_fs(tb, itr, &fs) == 0) {
+ const char *type = mnt_fs_get_fstype(fs);
+ const char *src = mnt_fs_get_source(fs);
+ const char *optstr = mnt_fs_get_options(fs);
+ char *xsrc = NULL;
+
+ if (type && pattern && !mnt_match_fstype(type, pattern))
+ continue;
+
+ if (!mnt_fs_is_pseudofs(fs))
+ xsrc = mnt_pretty_path(src, cache);
+ printf ("%s on ", xsrc ? xsrc : src);
+ safe_fputs(mnt_fs_get_target(fs));
+
+ if (type)
+ printf (" type %s", type);
+ if (optstr)
+ printf (" (%s)", optstr);
+ if (show_label && src) {
+ char *lb = mnt_cache_find_tag_value(cache, src, "LABEL");
+ if (lb)
+ printf (" [%s]", lb);
+ }
+ fputc('\n', stdout);
+ free(xsrc);
+ }
+
+ mnt_free_cache(cache);
+ mnt_free_iter(itr);
+}
+
+/*
+ * mount -a [-F]
+ */
+static int mount_all(struct libmnt_context *cxt)
+{
+ struct libmnt_iter *itr;
+ struct libmnt_fs *fs;
+ int mntrc, ignored, rc = MOUNT_EX_SUCCESS;
+
+ int nsucc = 0, nerrs = 0;
+
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+ if (!itr) {
+ warn(_("failed to initialize libmount iterator"));
+ return MOUNT_EX_SYSERR;
+ }
+
+ while (mnt_context_next_mount(cxt, itr, &fs, &mntrc, &ignored) == 0) {
+
+ const char *tgt = mnt_fs_get_target(fs);
+
+ if (ignored) {
+ if (mnt_context_is_verbose(cxt))
+ printf(ignored == 1 ? _("%-25s: ignored\n") :
+ _("%-25s: already mounted\n"),
+ tgt);
+ } else if (mnt_context_is_fork(cxt)) {
+ if (mnt_context_is_verbose(cxt))
+ printf("%-25s: mount successfully forked\n", tgt);
+ } else {
+ mk_exit_code(cxt, mntrc); /* to print warnings */
+
+ if (mnt_context_get_status(cxt)) {
+ nsucc++;
+
+ if (mnt_context_is_verbose(cxt))
+ printf("%-25s: successfully mounted\n", tgt);
+ } else
+ nerrs++;
+ }
+ }
+
+ if (mnt_context_is_parent(cxt)) {
+ /* wait for mount --fork children */
+ int nchildren = 0;
+
+ nerrs = 0, nsucc = 0;
+
+ rc = mnt_context_wait_for_children(cxt, &nchildren, &nerrs);
+ if (!rc && nchildren)
+ nsucc = nchildren - nerrs;
+ }
+
+ if (nerrs == 0)
+ rc = MOUNT_EX_SUCCESS; /* all success */
+ else if (nsucc == 0)
+ rc = MOUNT_EX_FAIL; /* all failed */
+ else
+ rc = MOUNT_EX_SOMEOK; /* some success, some failed */
+
+ mnt_free_iter(itr);
+ return rc;
+}
+
+/*
+ * Handles generic errors like ENOMEM, ...
+ *
+ * rc = 0 success
+ * <0 error (usually -errno)
+ *
+ * Returns exit status (MOUNT_EX_*) and prints error message.
+ */
+static int handle_generic_errors(int rc, const char *msg, ...)
+{
+ va_list va;
+
+ va_start(va, msg);
+ errno = -rc;
+
+ switch(errno) {
+ case EINVAL:
+ case EPERM:
+ vwarn(msg, va);
+ rc = MOUNT_EX_USAGE;
+ break;
+ case ENOMEM:
+ vwarn(msg, va);
+ rc = MOUNT_EX_SYSERR;
+ break;
+ default:
+ vwarn(msg, va);
+ rc = MOUNT_EX_FAIL;
+ break;
+ }
+ va_end(va);
+ return rc;
+}
+
+#if defined(HAVE_LIBSELINUX) && defined(HAVE_SECURITY_GET_INITIAL_CONTEXT)
+#include <selinux/selinux.h>
+#include <selinux/context.h>
+
+static void selinux_warning(struct libmnt_context *cxt, const char *tgt)
+{
+
+ if (tgt && mnt_context_is_verbose(cxt) && is_selinux_enabled() > 0) {
+ security_context_t raw = NULL, def = NULL;
+
+ if (getfilecon(tgt, &raw) > 0
+ && security_get_initial_context("file", &def) == 0) {
+
+ if (!selinux_file_context_cmp(raw, def))
+ printf(_(
+ "mount: %s does not contain SELinux labels.\n"
+ " You just mounted an file system that supports labels which does not\n"
+ " contain labels, onto an SELinux box. It is likely that confined\n"
+ " applications will generate AVC messages and not be allowed access to\n"
+ " this file system. For more details see restorecon(8) and mount(8).\n"),
+ tgt);
+ }
+ freecon(raw);
+ freecon(def);
+ }
+}
+#else
+# define selinux_warning(_x, _y)
+#endif
+
+
+/*
+ * rc = 0 success
+ * <0 error (usually -errno or -1)
+ *
+ * Returns exit status (MOUNT_EX_*) and/or prints error message.
+ */
+static int mk_exit_code(struct libmnt_context *cxt, int rc)
+{
+ int syserr;
+ struct stat st;
+ unsigned long uflags = 0, mflags = 0;
+
+ int restricted = mnt_context_is_restricted(cxt);
+ const char *tgt = mnt_context_get_target(cxt);
+ const char *src = mnt_context_get_source(cxt);
+
+try_readonly:
+ if (mnt_context_helper_executed(cxt))
+ /*
+ * /sbin/mount.<type> called, return status
+ */
+ return mnt_context_get_helper_status(cxt);
+
+ if (rc == 0 && mnt_context_get_status(cxt) == 1) {
+ /*
+ * Libmount success && syscall success.
+ */
+ selinux_warning(cxt, tgt);
+
+ return MOUNT_EX_SUCCESS; /* mount(2) success */
+ }
+
+ mnt_context_get_mflags(cxt, &mflags); /* mount(2) flags */
+ mnt_context_get_user_mflags(cxt, &uflags); /* userspace flags */
+
+ if (!mnt_context_syscall_called(cxt)) {
+ /*
+ * libmount errors (extra library checks)
+ */
+ switch (rc) {
+ case -EPERM:
+ warnx(_("only root can mount %s on %s"), src, tgt);
+ return MOUNT_EX_USAGE;
+ case -EBUSY:
+ warnx(_("%s is already mounted"), src);
+ return MOUNT_EX_USAGE;
+ case -MNT_ERR_NOFSTAB:
+ if (mnt_context_is_swapmatch(cxt)) {
+ warnx(_("can't find %s in %s"),
+ src ? src : tgt,
+ mnt_get_fstab_path());
+ return MOUNT_EX_USAGE;
+ }
+ /* source/target explicitly defined */
+ if (tgt)
+ warnx(_("can't find mountpoint %s in %s"),
+ tgt, mnt_get_fstab_path());
+ else
+ warnx(_("can't find mount source %s in %s"),
+ src, mnt_get_fstab_path());
+ return MOUNT_EX_USAGE;
+ case -MNT_ERR_NOFSTYPE:
+ if (restricted)
+ warnx(_("I could not determine the filesystem type, "
+ "and none was specified"));
+ else
+ warnx(_("you must specify the filesystem type"));
+ return MOUNT_EX_USAGE;
+ case -MNT_ERR_NOSOURCE:
+ if (src)
+ warnx(_("can't find %s"), src);
+ else
+ warnx(_("mount source not defined"));
+ return MOUNT_EX_USAGE;
+ case -MNT_ERR_MOUNTOPT:
+ if (errno)
+ warn(_("failed to parse mount options"));
+ else
+ warnx(_("failed to parse mount options"));
+ return MOUNT_EX_USAGE;
+ case -MNT_ERR_LOOPDEV:
+ if (errno == ENOENT
+ && (uflags & MNT_MS_ENCRYPTION)
+ && src && stat(src, &st) == 0)
+ warnx(_("%s: failed to setup loop device "
+ "(probably unknown encryption type)"), src);
+ else
+ warn(_("%s: failed to setup loop device"), src);
+ return MOUNT_EX_FAIL;
+ default:
+ return handle_generic_errors(rc, _("%s: mount failed"),
+ tgt ? tgt : src);
+ }
+ } else if (mnt_context_get_syscall_errno(cxt) == 0) {
+ /*
+ * mount(2) syscall success, but something else failed
+ * (probably error in mtab processing).
+ */
+ if (rc < 0)
+ return handle_generic_errors(rc,
+ _("%s: filesystem mounted, but mount(8) failed"),
+ tgt ? tgt : src);
+
+ return MOUNT_EX_SOFTWARE; /* internal error */
+
+ }
+
+ /*
+ * mount(2) errors
+ */
+ syserr = mnt_context_get_syscall_errno(cxt);
+
+
+ switch(syserr) {
+ case EPERM:
+ if (geteuid() == 0) {
+ if (stat(tgt, &st) || !S_ISDIR(st.st_mode))
+ warnx(_("mount point %s is not a directory"), tgt);
+ else
+ warnx(_("permission denied"));
+ } else
+ warnx(_("must be superuser to use mount"));
+ break;
+
+ case EBUSY:
+ {
+ struct libmnt_table *tb;
+
+ if (mflags & MS_REMOUNT) {
+ warnx(_("%s is busy"), tgt);
+ break;
+ }
+
+ warnx(_("%s is already mounted or %s busy"), src, tgt);
+
+ if (src && mnt_context_get_mtab(cxt, &tb) == 0) {
+ struct libmnt_iter *itr = mnt_new_iter(MNT_ITER_FORWARD);
+ struct libmnt_fs *fs;
+
+ while(mnt_table_next_fs(tb, itr, &fs) == 0) {
+ const char *s = mnt_fs_get_srcpath(fs),
+ *t = mnt_fs_get_target(fs);
+
+ if (t && s && mnt_fs_streq_srcpath(fs, src))
+ fprintf(stderr, _(
+ " %s is already mounted on %s\n"), s, t);
+ }
+ mnt_free_iter(itr);
+ }
+ break;
+ }
+ case ENOENT:
+ if (lstat(tgt, &st))
+ warnx(_("mount point %s does not exist"), tgt);
+ else if (stat(tgt, &st))
+ warnx(_("mount point %s is a symbolic link to nowhere"), tgt);
+ else if (stat(src, &st)) {
+ if (uflags & MNT_MS_NOFAIL)
+ return MOUNT_EX_SUCCESS;
+
+ warnx(_("special device %s does not exist"), src);
+ } else {
+ errno = syserr;
+ warn(_("mount(2) failed")); /* print errno */
+ }
+ break;
+
+ case ENOTDIR:
+ if (stat(tgt, &st) || ! S_ISDIR(st.st_mode))
+ warnx(_("mount point %s is not a directory"), tgt);
+ else if (stat(src, &st) && errno == ENOTDIR) {
+ if (uflags & MNT_MS_NOFAIL)
+ return MOUNT_EX_SUCCESS;
+
+ warnx(_("special device %s does not exist "
+ "(a path prefix is not a directory)"), src);
+ } else {
+ errno = syserr;
+ warn(_("mount(2) failed")); /* print errno */
+ }
+ break;
+
+ case EINVAL:
+ if (mflags & MS_REMOUNT)
+ warnx(_("%s not mounted or bad option"), tgt);
+ else if (mflags & MS_PROPAGATION)
+ warnx(_("%s is not mountpoint or bad option"), tgt);
+ else
+ warnx(_("wrong fs type, bad option, bad superblock on %s,\n"
+ " missing codepage or helper program, or other error"),
+ src);
+
+ if (mnt_fs_is_netfs(mnt_context_get_fs(cxt)))
+ fprintf(stderr, _(
+ " (for several filesystems (e.g. nfs, cifs) you might\n"
+ " need a /sbin/mount.<type> helper program)\n"));
+
+ fprintf(stderr, _(
+ " In some cases useful info is found in syslog - try\n"
+ " dmesg | tail or so\n"));
+ break;
+
+ case EMFILE:
+ warnx(_("mount table full"));
+ break;
+
+ case EIO:
+ warnx(_("%s: can't read superblock"), src);
+ break;
+
+ case ENODEV:
+ warnx(_("unknown filesystem type '%s'"), mnt_context_get_fstype(cxt));
+ break;
+
+ case ENOTBLK:
+ if (uflags & MNT_MS_NOFAIL)
+ return MOUNT_EX_SUCCESS;
+
+ if (stat(src, &st))
+ warnx(_("%s is not a block device, and stat(2) fails?"), src);
+ else if (S_ISBLK(st.st_mode))
+ warnx(_("the kernel does not recognize %s as a block device\n"
+ " (maybe `modprobe driver'?)"), src);
+ else if (S_ISREG(st.st_mode))
+ warnx(_("%s is not a block device (maybe try `-o loop'?)"), src);
+ else
+ warnx(_(" %s is not a block device"), src);
+ break;
+
+ case ENXIO:
+ if (uflags & MNT_MS_NOFAIL)
+ return MOUNT_EX_SUCCESS;
+
+ warnx(_("%s is not a valid block device"), src);
+ break;
+
+ case EACCES:
+ case EROFS:
+ if (mflags & MS_RDONLY)
+ warnx(_("cannot mount %s read-only"), src);
+
+ else if (readwrite)
+ warnx(_("%s is write-protected but explicit `-w' flag given"), src);
+
+ else if (mflags & MS_REMOUNT)
+ warnx(_("cannot remount %s read-write, is write-protected"), src);
+
+ else {
+ warnx(_("%s is write-protected, mounting read-only"), src);
+
+ mnt_context_reset_status(cxt);
+ mnt_context_set_mflags(cxt, mflags | MS_RDONLY);
+ rc = mnt_context_do_mount(cxt);
+ if (!rc)
+ rc = mnt_context_finalize_mount(cxt);
+
+ goto try_readonly;
+ }
+ break;
+
+ case ENOMEDIUM:
+ warnx(_("no medium found on %s"), src);
+ break;
+
+ default:
+ warn(_("mount %s on %s failed"), src, tgt);
+ break;
+ }
+
+ return MOUNT_EX_FAIL;
+}
+
+static struct libmnt_table *append_fstab(struct libmnt_context *cxt,
+ struct libmnt_table *fstab,
+ const char *path)
+{
+
+ if (!fstab) {
+ fstab = mnt_new_table();
+ if (!fstab)
+ err(MOUNT_EX_SYSERR, _("failed to initialize libmount table"));
+
+ mnt_table_set_parser_errcb(fstab, table_parser_errcb);
+ mnt_context_set_fstab(cxt, fstab);
+ }
+
+ if (mnt_table_parse_fstab(fstab, path))
+ errx(MOUNT_EX_USAGE,_("%s: failed to parse"), path);
+
+ return fstab;
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(
+ " %1$s [-lhV]\n"
+ " %1$s -a [options]\n"
+ " %1$s [options] [--source] <source> | [--target] <directory>\n"
+ " %1$s [options] <source> <directory>\n"
+ " %1$s <operation> <mountpoint> [<target>]\n"),
+ program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fprintf(out, _(
+ " -a, --all mount all filesystems mentioned in fstab\n"
+ " -c, --no-canonicalize don't canonicalize paths\n"
+ " -f, --fake dry run; skip the mount(2) syscall\n"
+ " -F, --fork fork off for each device (use with -a)\n"
+ " -T, --fstab <path> alternative file to /etc/fstab\n"));
+ fprintf(out, _(
+ " -h, --help display this help text and exit\n"
+ " -i, --internal-only don't call the mount.<type> helpers\n"
+ " -l, --show-labels lists all mounts with LABELs\n"
+ " -n, --no-mtab don't write to /etc/mtab\n"));
+ fprintf(out, _(
+ " -o, --options <list> comma-separated list of mount options\n"
+ " -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+ " -p, --pass-fd <num> read the passphrase from file descriptor\n"
+ " -r, --read-only mount the filesystem read-only (same as -o ro)\n"
+ " -t, --types <list> limit the set of filesystem types\n"));
+ fprintf(out, _(
+ " --source <src> explicitly specifies source (path, label, uuid)\n"
+ " --target <target> explicitly specifies mountpoint\n"));
+ fprintf(out, _(
+ " -v, --verbose say what is being done\n"
+ " -V, --version display version information and exit\n"
+ " -w, --read-write mount the filesystem read-write (default)\n"));
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+
+ fprintf(out, _(
+ "\nSource:\n"
+ " -L, --label <label> synonym for LABEL=<label>\n"
+ " -U, --uuid <uuid> synonym for UUID=<uuid>\n"
+ " LABEL=<label> specifies device by filesystem label\n"
+ " UUID=<uuid> specifies device by filesystem UUID\n"
+ " PARTLABEL=<label> specifies device by partition label\n"
+ " PARTUUID=<uuid> specifies device by partition UUID\n"));
+
+ fprintf(out, _(
+ " <device> specifies device by path\n"
+ " <directory> mountpoint for bind mounts (see --bind/rbind)\n"
+ " <file> regular file for loopdev setup\n"));
+
+ fprintf(out, _(
+ "\nOperations:\n"
+ " -B, --bind mount a subtree somewhere else (same as -o bind)\n"
+ " -M, --move move a subtree to some other place\n"
+ " -R, --rbind mount a subtree and all submounts somewhere else\n"));
+ fprintf(out, _(
+ " --make-shared mark a subtree as shared\n"
+ " --make-slave mark a subtree as slave\n"
+ " --make-private mark a subtree as private\n"
+ " --make-unbindable mark a subtree as unbindable\n"));
+ fprintf(out, _(
+ " --make-rshared recursively mark a whole subtree as shared\n"
+ " --make-rslave recursively mark a whole subtree as slave\n"
+ " --make-rprivate recursively mark a whole subtree as private\n"
+ " --make-runbindable recursively mark a whole subtree as unbindable\n"));
+
+ fprintf(out, USAGE_MAN_TAIL("mount(8)"));
+
+ exit(out == stderr ? MOUNT_EX_USAGE : MOUNT_EX_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int c, rc = MOUNT_EX_SUCCESS, all = 0, show_labels = 0;
+ struct libmnt_context *cxt;
+ struct libmnt_table *fstab = NULL;
+ char *srcbuf = NULL;
+ char *types = NULL;
+ unsigned long oper = 0;
+
+ enum {
+ MOUNT_OPT_SHARED = CHAR_MAX + 1,
+ MOUNT_OPT_SLAVE,
+ MOUNT_OPT_PRIVATE,
+ MOUNT_OPT_UNBINDABLE,
+ MOUNT_OPT_RSHARED,
+ MOUNT_OPT_RSLAVE,
+ MOUNT_OPT_RPRIVATE,
+ MOUNT_OPT_RUNBINDABLE,
+ MOUNT_OPT_TARGET,
+ MOUNT_OPT_SOURCE
+ };
+
+ static const struct option longopts[] = {
+ { "all", 0, 0, 'a' },
+ { "fake", 0, 0, 'f' },
+ { "fstab", 1, 0, 'T' },
+ { "fork", 0, 0, 'F' },
+ { "help", 0, 0, 'h' },
+ { "no-mtab", 0, 0, 'n' },
+ { "read-only", 0, 0, 'r' },
+ { "ro", 0, 0, 'r' },
+ { "verbose", 0, 0, 'v' },
+ { "version", 0, 0, 'V' },
+ { "read-write", 0, 0, 'w' },
+ { "rw", 0, 0, 'w' },
+ { "options", 1, 0, 'o' },
+ { "test-opts", 1, 0, 'O' },
+ { "pass-fd", 1, 0, 'p' },
+ { "types", 1, 0, 't' },
+ { "uuid", 1, 0, 'U' },
+ { "label", 1, 0, 'L'},
+ { "bind", 0, 0, 'B' },
+ { "move", 0, 0, 'M' },
+ { "rbind", 0, 0, 'R' },
+ { "make-shared", 0, 0, MOUNT_OPT_SHARED },
+ { "make-slave", 0, 0, MOUNT_OPT_SLAVE },
+ { "make-private", 0, 0, MOUNT_OPT_PRIVATE },
+ { "make-unbindable", 0, 0, MOUNT_OPT_UNBINDABLE },
+ { "make-rshared", 0, 0, MOUNT_OPT_RSHARED },
+ { "make-rslave", 0, 0, MOUNT_OPT_RSLAVE },
+ { "make-rprivate", 0, 0, MOUNT_OPT_RPRIVATE },
+ { "make-runbindable", 0, 0, MOUNT_OPT_RUNBINDABLE },
+ { "no-canonicalize", 0, 0, 'c' },
+ { "internal-only", 0, 0, 'i' },
+ { "show-labels", 0, 0, 'l' },
+ { "target", 1, 0, MOUNT_OPT_TARGET },
+ { "source", 1, 0, MOUNT_OPT_SOURCE },
+ { NULL, 0, 0, 0 }
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'B','M','R', /* bind,move,rbind */
+ MOUNT_OPT_SHARED, MOUNT_OPT_SLAVE,
+ MOUNT_OPT_PRIVATE, MOUNT_OPT_UNBINDABLE,
+ MOUNT_OPT_RSHARED, MOUNT_OPT_RSLAVE,
+ MOUNT_OPT_RPRIVATE, MOUNT_OPT_RUNBINDABLE },
+
+ { 'L','U', MOUNT_OPT_SOURCE }, /* label,uuid,source */
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ sanitize_env();
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ mnt_init_debug(0);
+ cxt = mnt_new_context();
+ if (!cxt)
+ err(MOUNT_EX_SYSERR, _("libmount context allocation failed"));
+
+ mnt_context_set_tables_errcb(cxt, table_parser_errcb);
+
+ while ((c = getopt_long(argc, argv, "aBcfFhilL:Mno:O:p:rRsU:vVwt:T:",
+ longopts, NULL)) != -1) {
+
+ /* only few options are allowed for non-root users */
+ if (mnt_context_is_restricted(cxt) &&
+ !strchr("hlLUVvpris", c) &&
+ c != MOUNT_OPT_TARGET &&
+ c != MOUNT_OPT_SOURCE)
+ exit_non_root(option_to_longopt(c, longopts));
+
+ err_exclusive_options(c, longopts, excl, excl_st);
+
+ switch(c) {
+ case 'a':
+ all = 1;
+ break;
+ case 'c':
+ mnt_context_disable_canonicalize(cxt, TRUE);
+ break;
+ case 'f':
+ mnt_context_enable_fake(cxt, TRUE);
+ break;
+ case 'F':
+ mnt_context_enable_fork(cxt, TRUE);
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case 'i':
+ mnt_context_disable_helpers(cxt, TRUE);
+ break;
+ case 'n':
+ mnt_context_disable_mtab(cxt, TRUE);
+ break;
+ case 'r':
+ if (mnt_context_append_options(cxt, "ro"))
+ err(MOUNT_EX_SYSERR, _("failed to append options"));
+ readwrite = 0;
+ break;
+ case 'v':
+ mnt_context_enable_verbose(cxt, TRUE);
+ break;
+ case 'V':
+ print_version();
+ break;
+ case 'w':
+ if (mnt_context_append_options(cxt, "rw"))
+ err(MOUNT_EX_SYSERR, _("failed to append options"));
+ readwrite = 1;
+ break;
+ case 'o':
+ if (mnt_context_append_options(cxt, optarg))
+ err(MOUNT_EX_SYSERR, _("failed to append options"));
+ break;
+ case 'O':
+ if (mnt_context_set_options_pattern(cxt, optarg))
+ err(MOUNT_EX_SYSERR, _("failed to set options pattern"));
+ break;
+ case 'p':
+ passfd = strtou32_or_err(optarg,
+ _("invalid passphrase file descriptor"));
+ break;
+ case 'L':
+ xasprintf(&srcbuf, "LABEL=\"%s\"", optarg);
+ mnt_context_disable_swapmatch(cxt, 1);
+ mnt_context_set_source(cxt, srcbuf);
+ free(srcbuf);
+ break;
+ case 'U':
+ xasprintf(&srcbuf, "UUID=\"%s\"", optarg);
+ mnt_context_disable_swapmatch(cxt, 1);
+ mnt_context_set_source(cxt, srcbuf);
+ free(srcbuf);
+ break;
+ case 'l':
+ show_labels = 1;
+ break;
+ case 't':
+ types = optarg;
+ break;
+ case 'T':
+ fstab = append_fstab(cxt, fstab, optarg);
+ break;
+ case 's':
+ mnt_context_enable_sloppy(cxt, TRUE);
+ break;
+ case 'B':
+ oper |= MS_BIND;
+ break;
+ case 'M':
+ oper |= MS_MOVE;
+ break;
+ case 'R':
+ oper |= (MS_BIND | MS_REC);
+ break;
+ case MOUNT_OPT_SHARED:
+ oper |= MS_SHARED;
+ break;
+ case MOUNT_OPT_SLAVE:
+ oper |= MS_SLAVE;
+ break;
+ case MOUNT_OPT_PRIVATE:
+ oper |= MS_PRIVATE;
+ break;
+ case MOUNT_OPT_UNBINDABLE:
+ oper |= MS_UNBINDABLE;
+ break;
+ case MOUNT_OPT_RSHARED:
+ oper |= (MS_SHARED | MS_REC);
+ break;
+ case MOUNT_OPT_RSLAVE:
+ oper |= (MS_SLAVE | MS_REC);
+ break;
+ case MOUNT_OPT_RPRIVATE:
+ oper |= (MS_PRIVATE | MS_REC);
+ break;
+ case MOUNT_OPT_RUNBINDABLE:
+ oper |= (MS_UNBINDABLE | MS_REC);
+ break;
+ case MOUNT_OPT_TARGET:
+ mnt_context_disable_swapmatch(cxt, 1);
+ mnt_context_set_target(cxt, optarg);
+ break;
+ case MOUNT_OPT_SOURCE:
+ mnt_context_disable_swapmatch(cxt, 1);
+ mnt_context_set_source(cxt, optarg);
+ break;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ if (!mnt_context_get_source(cxt) &&
+ !mnt_context_get_target(cxt) &&
+ !argc &&
+ !all) {
+ if (oper)
+ usage(stderr);
+ print_all(cxt, types, show_labels);
+ goto done;
+ }
+
+ if (oper && (types || all || mnt_context_get_source(cxt)))
+ usage(stderr);
+
+ if (types && (all || strchr(types, ',') ||
+ strncmp(types, "no", 2) == 0))
+ mnt_context_set_fstype_pattern(cxt, types);
+ else if (types)
+ mnt_context_set_fstype(cxt, types);
+
+ mnt_context_set_passwd_cb(cxt, encrypt_pass_get, encrypt_pass_release);
+
+ if (all) {
+ /*
+ * A) Mount all
+ */
+ rc = mount_all(cxt);
+ goto done;
+
+ } else if (argc == 0 && (mnt_context_get_source(cxt) ||
+ mnt_context_get_target(cxt))) {
+ /*
+ * B) mount -L|-U|--source|--target
+ */
+ if (mnt_context_is_restricted(cxt) &&
+ mnt_context_get_source(cxt) &&
+ mnt_context_get_target(cxt))
+ exit_non_root(NULL);
+
+ } else if (argc == 1) {
+ /*
+ * C) mount [-L|-U|--source] <target>
+ * mount <source|target>
+ *
+ * non-root may specify source *or* target, but not both
+ */
+ if (mnt_context_is_restricted(cxt) &&
+ mnt_context_get_source(cxt))
+ exit_non_root(NULL);
+
+ mnt_context_set_target(cxt, argv[0]);
+
+ } else if (argc == 2 && !mnt_context_get_source(cxt)
+ && !mnt_context_get_target(cxt)) {
+ /*
+ * D) mount <source> <target>
+ */
+ if (mnt_context_is_restricted(cxt))
+ exit_non_root(NULL);
+ mnt_context_set_source(cxt, argv[0]);
+ mnt_context_set_target(cxt, argv[1]);
+
+ } else
+ usage(stderr);
+
+ if (oper) {
+ /* MS_PROPAGATION operations, let's set the mount flags */
+ mnt_context_set_mflags(cxt, oper);
+
+ /* For -make* or --bind is fstab unnecessary */
+ mnt_context_set_optsmode(cxt, MNT_OMODE_NOTAB);
+ }
+
+ rc = mnt_context_mount(cxt);
+ rc = mk_exit_code(cxt, rc);
+
+done:
+ mnt_free_context(cxt);
+ mnt_free_table(fstab);
+ return rc;
+}
+
diff --git a/sys-utils/mountpoint.1 b/sys-utils/mountpoint.1
new file mode 100644
index 0000000..3c7d084
--- /dev/null
+++ b/sys-utils/mountpoint.1
@@ -0,0 +1,43 @@
+.\" -*- nroff -*-
+.TH MOUNTPOINT 1 "June 2011" "util-linux" "User Commands"
+.SH NAME
+mountpoint \- see if a directory is a mountpoint
+.SH SYNOPSIS
+.B mountpoint
+.RB [ \-q ]
+.RB [ \-d ]
+.I directory
+
+.B mountpoint
+.RB \-x
+.I device
+
+.SH DESCRIPTION
+.B mountpoint
+checks if the directory is mentioned in the /proc/self/mountinfo file.
+.SH OPTIONS
+.IP "\fB\-h, \-\-help\fP"
+Print help and exit.
+.IP "\fB\-q, \-\-quiet\fP"
+Be quiet - don't print anything.
+.IP "\fB\-d, \-\-fs\-devno\fP"
+Print major/minor device number of the filesystem on stdout.
+.IP "\fB\-x, \-\-devno\fP"
+Print major/minor device number of the blockdevice on stdout.
+.SH EXIT STATUS
+Zero if the directory is a mountpoint, non-zero if not.
+.SH AUTHOR
+.PP
+Karel Zak <kzak@redhat.com>
+.SH NOTES
+.PP
+The util-linux
+.B mountpoint
+implementation was written from scratch for libmount. The original version
+for sysvinit suite was written by Miquel van Smoorenburg.
+.SH SEE ALSO
+.BR mount (8)
+.SH AVAILABILITY
+The mountpoint command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+
diff --git a/sys-utils/mountpoint.c b/sys-utils/mountpoint.c
new file mode 100644
index 0000000..6ab813d
--- /dev/null
+++ b/sys-utils/mountpoint.c
@@ -0,0 +1,212 @@
+/*
+ * mountpoint(1) - see if a directory is a mountpoint
+ *
+ * This is libmount based reimplementation of the mountpoit(1)
+ * from sysvinit project.
+ *
+ *
+ * Copyright (C) 2011 Red Hat, Inc. All rights reserved.
+ * Written by Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include <libmount.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "c.h"
+#include "closestream.h"
+
+static int quiet;
+
+static int dir_to_device(const char *spec, dev_t *dev)
+{
+ struct libmnt_table *tb = mnt_new_table_from_file("/proc/self/mountinfo");
+ struct libmnt_fs *fs;
+ struct libmnt_cache *cache;
+ int rc = -1;
+
+ if (!tb) {
+ /*
+ * Fallback. Traditional way to detect mountpoints. This way
+ * is independent on /proc, but not able to detect bind mounts.
+ */
+ struct stat pst, st;
+ char buf[PATH_MAX], *cn;
+ int len;
+
+ if (stat(spec, &st) != 0)
+ return -1;
+
+ cn = mnt_resolve_path(spec, NULL); /* canonicalize */
+
+ len = snprintf(buf, sizeof(buf), "%s/..", cn ? cn : spec);
+ free(cn);
+
+ if (len < 0 || (size_t) len + 1 > sizeof(buf))
+ return -1;
+ if (stat(buf, &pst) !=0)
+ return -1;
+
+ if ((st.st_dev != pst.st_dev) ||
+ (st.st_dev == pst.st_dev && st.st_ino == pst.st_ino)) {
+ *dev = st.st_dev;
+ return 0;
+ }
+
+ return -1;
+ }
+
+ /* to canonicalize all necessary paths */
+ cache = mnt_new_cache();
+ mnt_table_set_cache(tb, cache);
+
+ fs = mnt_table_find_target(tb, spec, MNT_ITER_BACKWARD);
+ if (fs && mnt_fs_get_target(fs)) {
+ *dev = mnt_fs_get_devno(fs);
+ rc = 0;
+ }
+
+ mnt_free_table(tb);
+ mnt_free_cache(cache);
+ return rc;
+}
+
+static int print_devno(const char *devname, struct stat *st)
+{
+ struct stat stbuf;
+
+ if (!st && stat(devname, &stbuf) == 0)
+ st = &stbuf;
+ if (!st)
+ return -1;
+ if (!S_ISBLK(st->st_mode)) {
+ if (!quiet)
+ warnx(_("%s: not a block device"), devname);
+ return -1;
+ }
+ printf("%u:%u\n", major(st->st_rdev), minor(st->st_rdev));
+ return 0;
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %1$s [-qd] /path/to/directory\n"
+ " %1$s -x /dev/device\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -q, --quiet quiet mode - don't print anything\n"
+ " -d, --fs-devno print maj:min device number of the filesystem\n"
+ " -x, --devno print maj:min device number of the block device\n"), out);
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("mountpoint(1)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int c, fs_devno = 0, dev_devno = 0, rc = 0;
+ char *spec;
+ struct stat st;
+
+ static const struct option longopts[] = {
+ { "quiet", 0, 0, 'q' },
+ { "fs-devno", 0, 0, 'd' },
+ { "devno", 0, 0, 'x' },
+ { "help", 0, 0, 'h' },
+ { "version", 0, 0, 'V' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ mnt_init_debug(0);
+
+ while ((c = getopt_long(argc, argv, "qdxhV", longopts, NULL)) != -1) {
+
+ switch(c) {
+ case 'q':
+ quiet = 1;
+ break;
+ case 'd':
+ fs_devno = 1;
+ break;
+ case 'x':
+ dev_devno = 1;
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ if (optind + 1 != argc)
+ usage(stderr);
+
+ spec = argv[optind++];
+
+ if (stat(spec, &st)) {
+ if (!quiet)
+ err(EXIT_FAILURE, "%s", spec);
+ return EXIT_FAILURE;
+ }
+ if (dev_devno)
+ rc = print_devno(spec, &st);
+ else {
+ dev_t src;
+
+ if (!S_ISDIR(st.st_mode)) {
+ if (!quiet)
+ errx(EXIT_FAILURE, _("%s: not a directory"), spec);
+ return EXIT_FAILURE;
+ }
+
+ if ( dir_to_device(spec, &src)) {
+ if (!quiet)
+ printf(_("%s is not a mountpoint\n"), spec);
+ return EXIT_FAILURE;
+ }
+ if (fs_devno)
+ printf("%u:%u\n", major(src), minor(src));
+ else if (!quiet)
+ printf(_("%s is a mountpoint\n"), spec);
+ }
+
+ return rc ? EXIT_FAILURE : EXIT_SUCCESS;
+}
diff --git a/sys-utils/pivot_root.8 b/sys-utils/pivot_root.8
new file mode 100644
index 0000000..e260972
--- /dev/null
+++ b/sys-utils/pivot_root.8
@@ -0,0 +1,75 @@
+.TH PIVOT_ROOT 8 "August 2011" "util-linux" "System Administration"
+.SH NAME
+pivot_root \- change the root filesystem
+.SH SYNOPSIS
+.B pivot_root
+.I new_root put_old
+.SH DESCRIPTION
+\fBpivot_root\fP moves the root file system of the current process to the
+directory \fIput_old\fP and makes \fInew_root\fP the new root file system.
+Since \fBpivot_root\fP(8) simply calls \fBpivot_root\fP(2), we refer to
+the man page of the latter for further details.
+
+Note that, depending on the implementation of \fBpivot_root\fP, root and
+cwd of the caller may or may not change. The following is a sequence for
+invoking \fBpivot_root\fP that works in either case, assuming that
+\fBpivot_root\fP and \fBchroot\fP are in the current \fBPATH\fP:
+.sp
+cd \fInew_root\fP
+.br
+pivot_root . \fIput_old\fP
+.br
+exec chroot . \fIcommand\fP
+.sp
+Note that \fBchroot\fP must be available under the old root and under the new
+root, because \fBpivot_root\fP may or may not have implicitly changed the
+root directory of the shell.
+
+Note that \fBexec chroot\fP changes the running executable, which is
+necessary if the old root directory should be unmounted afterwards.
+Also note that standard input, output, and error may still point to a
+device on the old root file system, keeping it busy. They can easily be
+changed when invoking \fBchroot\fP (see below; note the absence of
+leading slashes to make it work whether \fBpivot_root\fP has changed the
+shell's root or not).
+.SH OPTIONS
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help and exit.
+.SH EXAMPLES
+Change the root file system to /dev/hda1 from an interactive shell:
+.sp
+.nf
+mount /dev/hda1 /new-root
+cd /new-root
+pivot_root . old-root
+exec chroot . sh <dev/console >dev/console 2>&1
+umount /old-root
+.fi
+.sp
+Mount the new root file system over NFS from 10.0.0.1:/my_root and run
+\fBinit\fP:
+.sp
+.nf
+ifconfig lo 127.0.0.1 up # for portmap
+# configure Ethernet or such
+portmap # for lockd (implicitly started by mount)
+mount -o ro 10.0.0.1:/my_root /mnt
+killall portmap # portmap keeps old root busy
+cd /mnt
+pivot_root . old_root
+exec chroot . sh -c 'umount /old_root; exec /sbin/init' \\
+ <dev/console >dev/console 2>&1
+.fi
+.SH "SEE ALSO"
+.BR chroot (1),
+.BR mount (8),
+.BR pivot_root (2),
+.BR switch_root (8),
+.BR umount (8)
+.SH AVAILABILITY
+The pivot_root command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/pivot_root.c b/sys-utils/pivot_root.c
new file mode 100644
index 0000000..31ceabb
--- /dev/null
+++ b/sys-utils/pivot_root.c
@@ -0,0 +1,75 @@
+/*
+ * pivot_root.c - Change the root file system
+ *
+ * Copyright (C) 2000 Werner Almesberger
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+#include <err.h>
+#include <errno.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+#include "c.h"
+#include "nls.h"
+#include "closestream.h"
+
+#define pivot_root(new_root,put_old) syscall(SYS_pivot_root,new_root,put_old)
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, USAGE_HEADER);
+ fprintf(out, _(" %s [options] new_root put_old\n"),
+ program_invocation_short_name);
+ fprintf(out, USAGE_OPTIONS);
+ fprintf(out, USAGE_HELP);
+ fprintf(out, USAGE_VERSION);
+ fprintf(out, USAGE_MAN_TAIL("pivot_root(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int ch;
+ static const struct option longopts[] = {
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((ch = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
+ switch (ch) {
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (argc != 3)
+ usage(stderr);
+
+ if (pivot_root(argv[1], argv[2]) < 0)
+ err(EXIT_FAILURE, _("failed to change root from `%s' to `%s'"),
+ argv[1], argv[2]);
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/prlimit.1 b/sys-utils/prlimit.1
new file mode 100644
index 0000000..2623199
--- /dev/null
+++ b/sys-utils/prlimit.1
@@ -0,0 +1,124 @@
+.\" prlimit.1 --
+.\" Copyright 2011 Davidlohr Bueso <dave@gnu.org>
+.\" May be distributed under the GNU General Public License
+
+.TH PRLIMIT 1 "October 2011" "util-linux" "User Commands"
+.SH NAME
+prlimit \-
+get and set a process resource limits.
+.SH SYNOPSIS
+.B prlimit
+.RB [options]
+.RB [ \-\-{resource_name}[=limits]
+.RB [ \-\-pid\ PID]
+
+.B prlimit
+.RB [options]
+.RB [ \-\-{resource_name}[=limits]]
+.RB "command " [ argument ...]
+
+.SH DESCRIPTION
+Given a process id and one or more resources, \fBprlimit\fP tries to retrieve
+and/or modify the limits.
+
+When \fIcommand\fR is given,
+.B prlimit
+will run this command with the given arguments.
+
+The \fIlimits\fP format is composed by a soft and a hard (ceiling) value, separated
+by a semicolon (:), in order to modify the existing value(s). If no limits are
+used, \fBprlimit\fP will only display the current values. If one of the values
+is not used, then the existing one will be used. To specify the unlimited or
+infinity limit (RLIM_INFINITY), the -1 or 'unlimited' string can be passed.
+
+Because of the nature of limits, the soft value must be lower or equal to the
+high limit. To see all the available resource limits, refer to the RESOURCE
+OPTIONS section.
+
+.IP "\fB<soft>:<hard>\fP Specify both limits"
+.IP "\fB<soft>:\fP Specify only the soft limit"
+.IP "\fB:<hard>\fP Specify only the hard limit"
+.IP "\fB<value>\fP Specify both soft and hard limits to the same value"
+
+.SH GENERAL OPTIONS
+.IP "\fB\-p, \-\-pid\fP"
+Specify the process id, if none is given, it will use the running process.
+.IP "\fB\-o, \-\-output \fIlist\fP"
+Define the output columns to use. If no output arrangement is specified, then a default set is used.
+Use \fB\-\-help\fP to get list of all supported columns.
+.IP "\fB\-V, \-\-version\fP"
+Output version information and exit.
+.IP "\fB\-\-verbose\fP"
+Verbose mode.
+.IP "\fB\-\-raw\fP"
+Use the raw output format.
+.IP "\fB\-\-noheadings\fP"
+Do not print a header line.
+.IP "\fB\-h, \-\-help\fP"
+Print a help text and exit.
+
+.SH RESOURCE OPTIONS
+.IP "\fB\-c, \-\-core\fP[=limits]"
+Maximum size of a core file.
+.IP "\fB\-d, \-\-data\fP[=limits]"
+Maximum data size.
+.IP "\fB\-e, \-\-nice\fP[=limits]"
+Maximum nice priority allowed to raise.
+.IP "\fB\-f, \-\-fsize\fP[=limits]"
+Maximum file size.
+.IP "\fB\-i, \-\-sigpending\fP[=limits]"
+Maximum number of pending signals.
+.IP "\fB\-l, \-\-memlock\fP[=limits]"
+Maximum locked-in-memory address space.
+.IP "\fB\-m, \-\-rss\fP[=limits]"
+Maximum Resident Set Size (RSS).
+.IP "\fB\-n, \-\-nofile\fP[=limits]"
+Maximum number of open files.
+.IP "\fB\-q, \-\-msgqueue\fP[=limits]"
+Maximum number of bytes in POSIX message queues.
+.IP "\fB\-r, \-\-rtprio\fP[=limits]"
+Maximum real-time priority.
+.IP "\fB\-s, \-\-stack\fP[=limits]"
+Maximum size of the stack.
+.IP "\fB\-t, \-\-cpu\fP[=limits]"
+CPU time, in seconds.
+.IP "\fB\-u, \-\-nproc\fP[=limits]"
+Maximum number of processes.
+.IP "\fB\-v, \-\-as\fP[=limits]"
+Address space limit.
+.IP "\fB\-x, \-\-locks\fP[=limits]"
+Maximum number of file locks held.
+.IP "\fB\-y, \-\-rttime\fP[=limits]"
+Timeout for real-time tasks.
+
+.RE
+.SH EXAMPLES
+.IP "\fBprlimit \-\-pid 13134\fP"
+Display limit values for all current resources.
+.IP "\fBprlimit \-\-pid 13134 \--rss --nofile=1024:4095\fP"
+Display the limits of the RSS and set the soft and hard limits for the number
+of open files to 1024 and 4095, respectively.
+.IP "\fBprlimit \-\-pid 13134 --nproc=512:\fP"
+Modify only the soft limit for the number of processes.
+.IP "\fBprlimit \-\-pid $$ --nproc=unlimited\fP"
+Set the number of processes for both soft and ceiling values to unlimited.
+.IP "\fBprlimit --cpu=10 sort -u hugefile\fP"
+Set the soft and hard CPU time limit and run 'sort'.
+
+.SH "SEE ALSO"
+.BR prlimit (2),
+.BR ulimit (1)
+
+.SH NOTES
+.nf
+The prlimit system call is supported since Linux 2.6.36, previous kernels will
+break this program.
+.fi
+
+.SH AUTHORS
+.nf
+Davidlohr Bueso <dave@gnu.org> - In memory of Dennis M. Ritchie.
+.fi
+.SH AVAILABILITY
+The prlimit command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/prlimit.c b/sys-utils/prlimit.c
new file mode 100644
index 0000000..2055adf
--- /dev/null
+++ b/sys-utils/prlimit.c
@@ -0,0 +1,643 @@
+/*
+ * prlimit - get/set process resource limits.
+ *
+ * Copyright (C) 2011 Davidlohr Bueso <dave@gnu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <errno.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <assert.h>
+#include <unistd.h>
+#include <sys/resource.h>
+
+#include "c.h"
+#include "nls.h"
+#include "tt.h"
+#include "xalloc.h"
+#include "strutils.h"
+#include "list.h"
+#include "closestream.h"
+
+#ifndef RLIMIT_RTTIME
+# define RLIMIT_RTTIME 15
+#endif
+
+enum {
+ AS,
+ CORE,
+ CPU,
+ DATA,
+ FSIZE,
+ LOCKS,
+ MEMLOCK,
+ MSGQUEUE,
+ NICE,
+ NOFILE,
+ NPROC,
+ RSS,
+ RTPRIO,
+ RTTIME,
+ SIGPENDING,
+ STACK
+};
+
+struct prlimit_desc {
+ const char *name;
+ const char *help;
+ const char *unit;
+ int resource;
+};
+
+static struct prlimit_desc prlimit_desc[] =
+{
+ [AS] = { "AS", N_("address space limit"), N_("bytes"), RLIMIT_AS },
+ [CORE] = { "CORE", N_("max core file size"), N_("blocks"), RLIMIT_CORE },
+ [CPU] = { "CPU", N_("CPU time"), N_("seconds"), RLIMIT_CPU },
+ [DATA] = { "DATA", N_("max data size"), N_("bytes"), RLIMIT_DATA },
+ [FSIZE] = { "FSIZE", N_("max file size"), N_("blocks"), RLIMIT_FSIZE },
+ [LOCKS] = { "LOCKS", N_("max number of file locks held"), NULL, RLIMIT_LOCKS },
+ [MEMLOCK] = { "MEMLOCK", N_("max locked-in-memory address space"), N_("bytes"), RLIMIT_MEMLOCK },
+ [MSGQUEUE] = { "MSGQUEUE", N_("max bytes in POSIX mqueues"), N_("bytes"), RLIMIT_MSGQUEUE },
+ [NICE] = { "NICE", N_("max nice prio allowed to raise"), NULL, RLIMIT_NICE },
+ [NOFILE] = { "NOFILE", N_("max number of open files"), NULL, RLIMIT_NOFILE },
+ [NPROC] = { "NPROC", N_("max number of processes"), NULL, RLIMIT_NPROC },
+ [RSS] = { "RSS", N_("max resident set size"), N_("pages"), RLIMIT_RSS },
+ [RTPRIO] = { "RTPRIO", N_("max real-time priority"), NULL, RLIMIT_RTPRIO },
+ [RTTIME] = { "RTTIME", N_("timeout for real-time tasks"), N_("microsecs"), RLIMIT_RTTIME },
+ [SIGPENDING] = { "SIGPENDING", N_("max number of pending signals"), NULL, RLIMIT_SIGPENDING },
+ [STACK] = { "STACK", N_("max stack size"), N_("bytes"), RLIMIT_STACK }
+};
+
+struct prlimit {
+ struct list_head lims;
+
+ struct rlimit rlim;
+ struct prlimit_desc *desc;
+ int modify; /* PRLIMIT_{SOFT,HARD} mask */
+};
+
+#define PRLIMIT_EMPTY_LIMIT {{ 0, 0, }, NULL, 0 }
+
+enum {
+ COL_HELP,
+ COL_RES,
+ COL_SOFT,
+ COL_HARD,
+ COL_UNITS,
+};
+
+/* column names */
+struct colinfo {
+ const char *name; /* header */
+ double whint; /* width hint (N < 1 is in percent of termwidth) */
+ int flags; /* TT_FL_* */
+ const char *help;
+};
+
+/* columns descriptions */
+struct colinfo infos[] = {
+ [COL_RES] = { "RESOURCE", 0.25, TT_FL_TRUNC, N_("resource name") },
+ [COL_HELP] = { "DESCRIPTION", 0.1, TT_FL_TRUNC, N_("resource description")},
+ [COL_SOFT] = { "SOFT", 0.1, TT_FL_RIGHT, N_("soft limit")},
+ [COL_HARD] = { "HARD", 1, TT_FL_RIGHT, N_("hard limit (ceiling)")},
+ [COL_UNITS] = { "UNITS", 0.1, TT_FL_TRUNC, N_("units")},
+};
+
+#define NCOLS ARRAY_SIZE(infos)
+#define MAX_RESOURCES ARRAY_SIZE(prlimit_desc)
+
+#define INFINITY_STR "unlimited"
+#define INFINITY_STRLEN (sizeof(INFINITY_STR) - 1)
+
+#define PRLIMIT_SOFT (1 << 1)
+#define PRLIMIT_HARD (1 << 2)
+
+/* array with IDs of enabled columns */
+static int columns[NCOLS], ncolumns;
+static pid_t pid; /* calling process (default) */
+static int verbose;
+
+#ifndef HAVE_PRLIMIT
+# include <sys/syscall.h>
+static int prlimit(pid_t p, int resource,
+ const struct rlimit *new_limit,
+ struct rlimit *old_limit)
+{
+ return syscall(SYS_prlimit64, p, resource, new_limit, old_limit);
+}
+#endif
+
+static void rem_prlim(struct prlimit *lim);
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ size_t i;
+
+ fputs(USAGE_HEADER, out);
+
+ fprintf(out,
+ _(" %s [options] [-p PID]\n"), program_invocation_short_name);
+ fprintf(out,
+ _(" %s [options] COMMAND\n"), program_invocation_short_name);
+
+ fputs(_("\nGeneral Options:\n"), out);
+ fputs(_(" -p, --pid <pid> process id\n"
+ " -o, --output <list> define which output columns to use\n"
+ " --noheadings don't print headings\n"
+ " --raw use the raw output format\n"
+ " --verbose verbose output\n"
+ " -h, --help display this help and exit\n"
+ " -V, --version output version information and exit\n"), out);
+
+ fputs(_("\nResources Options:\n"), out);
+ fputs(_(" -c, --core maximum size of core files created\n"
+ " -d, --data maximum size of a process's data segment\n"
+ " -e, --nice maximum nice priority allowed to raise\n"
+ " -f, --fsize maximum size of files written by the process\n"
+ " -i, --sigpending maximum number of pending signals\n"
+ " -l, --memlock maximum size a process may lock into memory\n"
+ " -m, --rss maximum resident set size\n"
+ " -n, --nofile maximum number of open files\n"
+ " -q, --msgqueue maximum bytes in POSIX message queues\n"
+ " -r, --rtprio maximum real-time scheduling priority\n"
+ " -s, --stack maximum stack size\n"
+ " -t, --cpu maximum amount of CPU time in seconds\n"
+ " -u, --nproc maximum number of user processes\n"
+ " -v, --as size of virtual memory\n"
+ " -x, --locks maximum number of file locks\n"
+ " -y, --rttime CPU time in microseconds a process scheduled\n"
+ " under real-time scheduling\n"), out);
+
+ fputs(_("\nAvailable columns (for --output):\n"), out);
+
+ for (i = 0; i < NCOLS; i++)
+ fprintf(out, " %11s %s\n", infos[i].name, _(infos[i].help));
+
+ fprintf(out, USAGE_MAN_TAIL("prlimit(1)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static inline int get_column_id(int num)
+{
+ assert(ARRAY_SIZE(columns) == NCOLS);
+ assert(num < ncolumns);
+ assert(columns[num] < (int) NCOLS);
+
+ return columns[num];
+}
+
+static inline struct colinfo *get_column_info(unsigned num)
+{
+ return &infos[ get_column_id(num) ];
+}
+
+static void add_tt_line(struct tt *tt, struct prlimit *l)
+{
+ int i;
+ struct tt_line *line;
+
+ assert(tt);
+ assert(l);
+
+ line = tt_add_line(tt, NULL);
+ if (!line) {
+ warn(_("failed to add line to output"));
+ return;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ char *str = NULL;
+ int rc = 0;
+
+ switch (get_column_id(i)) {
+ case COL_RES:
+ rc = xasprintf(&str, "%s", l->desc->name);
+ break;
+ case COL_HELP:
+ rc = xasprintf(&str, "%s", l->desc->help);
+ break;
+ case COL_SOFT:
+ rc = l->rlim.rlim_cur == RLIM_INFINITY ?
+ xasprintf(&str, "%s", "unlimited") :
+ xasprintf(&str, "%llu", (unsigned long long) l->rlim.rlim_cur);
+ break;
+ case COL_HARD:
+ rc = l->rlim.rlim_max == RLIM_INFINITY ?
+ xasprintf(&str, "%s", "unlimited") :
+ xasprintf(&str, "%llu", (unsigned long long) l->rlim.rlim_max);
+ break;
+ case COL_UNITS:
+ str = l->desc->unit ? xstrdup(_(l->desc->unit)) : NULL;
+ break;
+ default:
+ break;
+ }
+
+ if (rc || str)
+ tt_line_set_data(line, i, str);
+ }
+}
+
+static int column_name_to_id(const char *name, size_t namesz)
+{
+ size_t i;
+
+ assert(name);
+
+ for (i = 0; i < NCOLS; i++) {
+ const char *cn = infos[i].name;
+
+ if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ return i;
+ }
+ warnx(_("unknown column: %s"), name);
+ return -1;
+}
+
+static int show_limits(struct list_head *lims, int tt_flags)
+{
+ int i;
+ struct list_head *p, *pnext;
+ struct tt *tt;
+
+ tt = tt_new_table(tt_flags);
+ if (!tt) {
+ warn(_("failed to initialize output table"));
+ return -1;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ struct colinfo *col = get_column_info(i);
+
+ if (!tt_define_column(tt, col->name, col->whint, col->flags)) {
+ warnx(_("failed to initialize output column"));
+ goto done;
+ }
+ }
+
+
+ list_for_each_safe(p, pnext, lims) {
+ struct prlimit *lim = list_entry(p, struct prlimit, lims);
+
+ add_tt_line(tt, lim);
+ rem_prlim(lim);
+ }
+
+ tt_print_table(tt);
+done:
+ tt_free_table(tt);
+ return 0;
+}
+
+/*
+ * If one of the limits is unknown (default value for not being passed), we
+ * need to get the current limit and use it. I see no other way other than
+ * using prlimit(2).
+ */
+static void get_unknown_hardsoft(struct prlimit *lim)
+{
+ struct rlimit old;
+
+ if (prlimit(pid, lim->desc->resource, NULL, &old) == -1)
+ err(EXIT_FAILURE, _("failed to get old %s limit"),
+ lim->desc->name);
+
+ if (!(lim->modify & PRLIMIT_SOFT))
+ lim->rlim.rlim_cur = old.rlim_cur;
+ else if (!(lim->modify & PRLIMIT_HARD))
+ lim->rlim.rlim_max = old.rlim_max;
+}
+
+static void do_prlimit(struct list_head *lims)
+{
+ struct list_head *p, *pnext;
+
+ list_for_each_safe(p, pnext, lims) {
+ struct rlimit *new = NULL, *old = NULL;
+ struct prlimit *lim = list_entry(p, struct prlimit, lims);
+
+ if (lim->modify) {
+ if (lim->modify != (PRLIMIT_HARD | PRLIMIT_SOFT))
+ get_unknown_hardsoft(lim);
+
+ if ((lim->rlim.rlim_cur > lim->rlim.rlim_max) &&
+ (lim->rlim.rlim_cur != RLIM_INFINITY ||
+ lim->rlim.rlim_max != RLIM_INFINITY))
+ errx(EXIT_FAILURE, _("the soft limit %s cannot exceed the hard limit"),
+ lim->desc->name);
+ new = &lim->rlim;
+ } else
+ old = &lim->rlim;
+
+ if (verbose && new) {
+ printf(_("New %s limit: "), lim->desc->name);
+ if (new->rlim_cur == RLIM_INFINITY)
+ printf("<%s", _("unlimited"));
+ else
+ printf("<%ju", new->rlim_cur);
+
+ if (new->rlim_max == RLIM_INFINITY)
+ printf(":%s>\n", _("unlimited"));
+ else
+ printf(":%ju>\n", new->rlim_max);
+ }
+
+ if (prlimit(pid, lim->desc->resource, new, old) == -1)
+ err(EXIT_FAILURE, lim->modify ?
+ _("failed to set the %s resource limit") :
+ _("failed to get the %s resource limit"),
+ lim->desc->name);
+
+ if (lim->modify)
+ rem_prlim(lim); /* modify only; don't show */
+ }
+}
+
+
+
+static int get_range(char *str, rlim_t *soft, rlim_t *hard, int *found)
+{
+ char *end = NULL;
+
+ if (!str)
+ return 0;
+
+ *found = errno = 0;
+ *soft = *hard = RLIM_INFINITY;
+
+ if (!strcmp(str, INFINITY_STR)) { /* <unlimited> */
+ *found |= PRLIMIT_SOFT | PRLIMIT_HARD;
+ return 0;
+
+ } else if (*str == ':') { /* <:hard> */
+ str++;
+
+ if (strcmp(str, INFINITY_STR) != 0) {
+ *hard = strtoull(str, &end, 10);
+
+ if (errno || !end || *end || end == str)
+ return -1;
+ }
+ *found |= PRLIMIT_HARD;
+ return 0;
+
+ }
+
+ if (strncmp(str, INFINITY_STR, INFINITY_STRLEN) == 0) {
+ /* <unlimited> or <unlimited:> */
+ end = str + INFINITY_STRLEN;
+ } else {
+ /* <value> or <soft:> */
+ *hard = *soft = strtoull(str, &end, 10);
+ if (errno || !end || end == str)
+ return -1;
+ }
+
+ if (*end == ':' && !*(end + 1)) /* <soft:> */
+ *found |= PRLIMIT_SOFT;
+
+ else if (*end == ':') { /* <soft:hard> */
+ str = end + 1;
+
+ if (!strcmp(str, INFINITY_STR))
+ *hard = RLIM_INFINITY;
+ else {
+ end = NULL;
+ errno = 0;
+ *hard = strtoull(str, &end, 10);
+
+ if (errno || !end || *end || end == str)
+ return -1;
+ }
+ *found |= PRLIMIT_SOFT | PRLIMIT_HARD;
+
+ } else /* <value> */
+ *found |= PRLIMIT_SOFT | PRLIMIT_HARD;
+
+ return 0;
+}
+
+
+static int parse_prlim(struct rlimit *lim, char *ops, size_t id)
+{
+ rlim_t soft, hard;
+ int found = 0;
+
+ if (get_range(ops, &soft, &hard, &found))
+ errx(EXIT_FAILURE, _("failed to parse %s limit"),
+ prlimit_desc[id].name);
+
+ lim->rlim_cur = soft;
+ lim->rlim_max = hard;
+
+ return found;
+}
+
+static int add_prlim(char *ops, struct list_head *lims, size_t id)
+{
+ struct prlimit *lim = xcalloc(1, sizeof(*lim));
+
+ INIT_LIST_HEAD(&lim->lims);
+ lim->desc = &prlimit_desc[id];
+
+ if (ops)
+ lim->modify = parse_prlim(&lim->rlim, ops, id);
+
+ list_add_tail(&lim->lims, lims);
+ return 0;
+}
+
+static void rem_prlim(struct prlimit *lim)
+{
+ if (!lim)
+ return;
+ list_del(&lim->lims);
+ free(lim);
+}
+
+int main(int argc, char **argv)
+{
+ int opt, tt_flags = 0;
+ struct list_head lims;
+
+ enum {
+ VERBOSE_OPTION = CHAR_MAX + 1,
+ RAW_OPTION,
+ NOHEADINGS_OPTION
+ };
+
+ static const struct option longopts[] = {
+ { "pid", required_argument, NULL, 'p' },
+ { "output", required_argument, NULL, 'o' },
+ { "as", optional_argument, NULL, 'v' },
+ { "core", optional_argument, NULL, 'c' },
+ { "cpu", optional_argument, NULL, 't' },
+ { "data", optional_argument, NULL, 'd' },
+ { "fsize", optional_argument, NULL, 'f' },
+ { "locks", optional_argument, NULL, 'x' },
+ { "memlock", optional_argument, NULL, 'l' },
+ { "msgqueue", optional_argument, NULL, 'q' },
+ { "nice", optional_argument, NULL, 'e' },
+ { "nofile", optional_argument, NULL, 'n' },
+ { "nproc", optional_argument, NULL, 'u' },
+ { "rss", optional_argument, NULL, 'm' },
+ { "rtprio", optional_argument, NULL, 'r' },
+ { "rttime", optional_argument, NULL, 'y' },
+ { "sigpending", optional_argument, NULL, 'i' },
+ { "stack", optional_argument, NULL, 's' },
+ { "version", no_argument, NULL, 'V' },
+ { "help", no_argument, NULL, 'h' },
+ { "noheadings", no_argument, NULL, NOHEADINGS_OPTION },
+ { "raw", no_argument, NULL, RAW_OPTION },
+ { "verbose", no_argument, NULL, VERBOSE_OPTION },
+ { NULL, 0, NULL, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ INIT_LIST_HEAD(&lims);
+
+ /*
+ * Something is very wrong if this doesn't succeed,
+ * assuming STACK is the last resource, of course.
+ */
+ assert(MAX_RESOURCES == STACK + 1);
+
+ while((opt = getopt_long(argc, argv,
+ "+c::d::e::f::i::l::m::n::q::r::s::t::u::v::x::y::p:o:vVh",
+ longopts, NULL)) != -1) {
+ switch(opt) {
+ case 'c':
+ add_prlim(optarg, &lims, CORE);
+ break;
+ case 'd':
+ add_prlim(optarg, &lims, DATA);
+ break;
+ case 'e':
+ add_prlim(optarg, &lims, NICE);
+ break;
+ case 'f':
+ add_prlim(optarg, &lims, FSIZE);
+ break;
+ case 'i':
+ add_prlim(optarg, &lims, SIGPENDING);
+ break;
+ case 'l':
+ add_prlim(optarg, &lims, MEMLOCK);
+ break;
+ case 'm':
+ add_prlim(optarg, &lims, RSS);
+ break;
+ case 'n':
+ add_prlim(optarg, &lims, NOFILE);
+ break;
+ case 'q':
+ add_prlim(optarg, &lims, MSGQUEUE);
+ break;
+ case 'r':
+ add_prlim(optarg, &lims, RTPRIO);
+ break;
+ case 's':
+ add_prlim(optarg, &lims, STACK);
+ break;
+ case 't':
+ add_prlim(optarg, &lims, CPU);
+ break;
+ case 'u':
+ add_prlim(optarg, &lims, NPROC);
+ break;
+ case 'v':
+ add_prlim(optarg, &lims, AS);
+ break;
+ case 'x':
+ add_prlim(optarg, &lims, LOCKS);
+ break;
+ case 'y':
+ add_prlim(optarg, &lims, RTTIME);
+ break;
+
+ case 'p':
+ if (pid)
+ errx(EXIT_FAILURE, _("option --pid may be specified only once"));
+ pid = strtos32_or_err(optarg, _("invalid PID argument"));
+ break;
+ case 'h':
+ usage(stdout);
+ case 'o':
+ ncolumns = string_to_idarray(optarg,
+ columns, ARRAY_SIZE(columns),
+ column_name_to_id);
+ if (ncolumns < 0)
+ return EXIT_FAILURE;
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+
+ case NOHEADINGS_OPTION:
+ tt_flags |= TT_FL_NOHEADINGS;
+ break;
+ case VERBOSE_OPTION:
+ verbose++;
+ break;
+ case RAW_OPTION:
+ tt_flags |= TT_FL_RAW;
+ break;
+
+ default:
+ usage(stderr);
+ }
+ }
+ if (argc > optind && pid)
+ errx(EXIT_FAILURE, _("options --pid and COMMAND are mutually exclusive"));
+ if (!ncolumns) {
+ /* default columns */
+ columns[ncolumns++] = COL_RES;
+ columns[ncolumns++] = COL_HELP;
+ columns[ncolumns++] = COL_SOFT;
+ columns[ncolumns++] = COL_HARD;
+ columns[ncolumns++] = COL_UNITS;
+ }
+
+ if (list_empty(&lims)) {
+ /* default is to print all resources */
+ size_t n;
+
+ for (n = 0; n < MAX_RESOURCES; n++)
+ add_prlim(NULL, &lims, n);
+ }
+
+ do_prlimit(&lims);
+
+ if (!list_empty(&lims))
+ show_limits(&lims, tt_flags);
+
+ if (argc > optind) {
+ /* prlimit [options] COMMAND */
+ execvp(argv[optind], &argv[optind]);
+ err(EXIT_FAILURE, _("executing %s failed"), argv[optind]);
+ }
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/readprofile.8 b/sys-utils/readprofile.8
new file mode 100644
index 0000000..308dba4
--- /dev/null
+++ b/sys-utils/readprofile.8
@@ -0,0 +1,152 @@
+.TH READPROFILE "8" "October 2011" "util-linux" "System Administration"
+.SH NAME
+readprofile - read kernel profiling information
+.SH SYNOPSIS
+.B readprofile
+.RI [ options ]
+.SH VERSION
+This manpage documents version 2.0 of the program.
+.SH DESCRIPTION
+.LP
+The
+.B readprofile
+command uses the
+.B /proc/profile
+information to print ascii data on standard output. The output is
+organized in three columns: the first is the number of clock ticks,
+the second is the name of the C function in the kernel where those
+many ticks occurred, and the third is the normalized `load' of the
+procedure, calculated as a ratio between the number of ticks and the
+length of the procedure. The output is filled with blanks to ease
+readability.
+.SH OPTIONS
+.TP
+\fB\-m\fR, \fB\-\-mapfile\fR \fImapfile\fR
+Specify a mapfile, which by default is
+.BR /usr/src/linux/System.map .
+You should specify the map file on cmdline if your current kernel
+isn't the last one you compiled, or if you keep System.map elsewhere.
+If the name of the map file ends with `.gz' it is decompressed on the
+fly.
+.TP
+\fB\-p\fR, \fB\-\-profile\fR \fIpro-file\fR
+Specify a different profiling buffer, which by default is
+.B /proc/profile.
+Using a different pro-file is useful if you want to `freeze' the
+kernel profiling at some time and read it later. The
+.B /proc/profile
+file can be copied using `cat' or `cp'. There is no more support for
+compressed profile buffers, like in
+.B readprofile-1.1,
+because the program needs to know the size of the buffer in advance.
+.TP
+\fB\-i\fR, \fB\-\-info\fR
+Info. This makes
+.B readprofile
+only print the profiling step used by the kernel. The profiling step
+is the resolution of the profiling buffer, and is chosen during
+kernel configuration (through `make config'), or in the kernel's
+command line. If the
+.B \-t
+(terse) switch is used together with
+.B \-i
+only the decimal number is printed.
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+Print all symbols in the mapfile. By default the procedures with
+reported ticks are not printed.
+.TP
+\fB\-b\fR, \fB\-\-histbin\fR
+Print individual histogram-bin counts.
+.TP
+\fB\-r\fR, \fB\-\-reset\fR
+Reset the profiling buffer. This can only be invoked by root,
+because
+.B /proc/profile
+is readable by everybody but writable only by the superuser.
+However, you can make
+.B readprofile
+setuid 0, in order to reset the buffer without gaining privileges.
+.TP
+\fB\-M\fR, \fB\-\-multiplier\fR \fImultiplier\fR
+On some architectures it is possible to alter the frequency at which
+the kernel delivers profiling interrupts to each CPU. This option
+allows you to set the frequency, as a multiplier of the system clock
+frequency, HZ. This is supported on i386-SMP (2.2 and 2.4 kernel)
+and also on sparc-SMP and sparc64-SMP (2.4 kernel). This option also
+resets the profiling buffer, and requires superuser privileges.
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+Verbose. The output is organized in four columns and filled with
+blanks. The first column is the RAM address of a kernel function,
+the second is the name of the function, the third is the number of
+clock ticks and the last is the normalized load.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+This makes
+.B readprofile
+print its version number and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display help and exit.
+.SH EXAMPLES
+Browse the profiling buffer ordering by clock ticks:
+.nf
+ readprofile | sort -nr | less
+
+.fi
+Print the 20 most loaded procedures:
+.nf
+ readprofile | sort -nr +2 | head -20
+
+.fi
+Print only filesystem profile:
+.nf
+ readprofile | grep _ext2
+
+.fi
+Look at all the kernel information, with ram addresses:
+.nf
+ readprofile -av | less
+
+.fi
+Browse a `freezed' profile buffer for a non current kernel:
+.nf
+ readprofile -p ~/profile.freeze -m /zImage.map.gz
+
+.fi
+Request profiling at 2kHz per CPU, and reset the profiling buffer:
+.nf
+ sudo readprofile -M 20
+.fi
+.SH BUGS
+.LP
+.B readprofile
+only works with an 1.3.x or newer kernel, because
+.B /proc/profile
+changed in the step from 1.2 to 1.3
+.LP
+This program only works with ELF kernels. The change for a.out
+kernels is trivial, and left as an exercise to the a.out user.
+.LP
+To enable profiling, the kernel must be rebooted, because no
+profiling module is available, and it wouldn't be easy to build. To
+enable profiling, you can specify "profile=2" (or another number) on
+the kernel commandline. The number you specify is the two-exponent
+used as profiling step.
+.LP
+Profiling is disabled when interrupts are inhibited. This means that
+many profiling ticks happen when interrupts are re-enabled. Watch
+out for misleading information.
+.SH FILES
+.nf
+/proc/profile A binary snapshot of the profiling buffer.
+/usr/src/linux/System.map The symbol table for the kernel.
+/usr/src/linux/* The program being profiled :-)
+.fi
+.SH AVAILABILITY
+The readprofile command is part of the util-linux package and is
+available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/readprofile.c b/sys-utils/readprofile.c
new file mode 100644
index 0000000..04d9c73
--- /dev/null
+++ b/sys-utils/readprofile.c
@@ -0,0 +1,405 @@
+/*
+ * readprofile.c - used to read /proc/profile
+ *
+ * Copyright (C) 1994,1996 Alessandro Rubini (rubini@ipvvis.unipv.it)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/*
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ * 1999-09-01 Stephane Eranian <eranian@cello.hpl.hp.com>
+ * - 64bit clean patch
+ * 3Feb2001 Andrew Morton <andrewm@uow.edu.au>
+ * - -M option to write profile multiplier.
+ * 2001-11-07 Werner Almesberger <wa@almesberger.net>
+ * - byte order auto-detection and -n option
+ * 2001-11-09 Werner Almesberger <wa@almesberger.net>
+ * - skip step size (index 0)
+ * 2002-03-09 John Levon <moz@compsoc.man.ac.uk>
+ * - make maplineno do something
+ * 2002-11-28 Mads Martin Joergensen +
+ * - also try /boot/System.map-`uname -r`
+ * 2003-04-09 Werner Almesberger <wa@almesberger.net>
+ * - fixed off-by eight error and improved heuristics in byte order detection
+ * 2003-08-12 Nikita Danilov <Nikita@Namesys.COM>
+ * - added -s option; example of use:
+ * "readprofile -s -m /boot/System.map-test | grep __d_lookup | sort -n -k3"
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/utsname.h>
+#include <unistd.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "closestream.h"
+
+#define S_LEN 128
+
+/* These are the defaults */
+static char defaultmap[]="/boot/System.map";
+static char defaultpro[]="/proc/profile";
+
+static FILE *myopen(char *name, char *mode, int *flag)
+{
+ int len = strlen(name);
+
+ if (!strcmp(name + len - 3, ".gz")) {
+ FILE *res;
+ char *cmdline = xmalloc(len + 6);
+ sprintf(cmdline, "zcat %s", name);
+ res = popen(cmdline, mode);
+ free(cmdline);
+ *flag = 1;
+ return res;
+ }
+ *flag = 0;
+ return fopen(name, mode);
+}
+
+#ifndef BOOT_SYSTEM_MAP
+#define BOOT_SYSTEM_MAP "/boot/System.map-"
+#endif
+
+static char *boot_uname_r_str(void)
+{
+ struct utsname uname_info;
+ char *s;
+ size_t len;
+
+ if (uname(&uname_info))
+ return "";
+ len = strlen(BOOT_SYSTEM_MAP) + strlen(uname_info.release) + 1;
+ s = xmalloc(len);
+ strcpy(s, BOOT_SYSTEM_MAP);
+ strcat(s, uname_info.release);
+ return s;
+}
+
+static void __attribute__ ((__noreturn__))
+ usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(" %s [options]\n"), program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+
+ fprintf(out,
+ _(" -m, --mapfile <mapfile> (defaults: \"%s\" and\n"), defaultmap);
+ fprintf(out,
+ _(" \"%s\")\n"), boot_uname_r_str());
+ fprintf(out,
+ _(" -p, --profile <pro-file> (default: \"%s\")\n"), defaultpro);
+ fputs(_(" -M, --multiplier <mult> set the profiling multiplier to <mult>\n"), out);
+ fputs(_(" -i, --info print only info about the sampling step\n"), out);
+ fputs(_(" -v, --verbose print verbose data\n"), out);
+ fputs(_(" -a, --all print all symbols, even if count is 0\n"), out);
+ fputs(_(" -b, --histbin print individual histogram-bin counts\n"), out);
+ fputs(_(" -s, --counters print individual counters within functions\n"), out);
+ fputs(_(" -r, --reset reset all the counters (root only)\n"), out);
+ fputs(_(" -n, --no-auto disable byte order auto-detection\n"), out);
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("readprofile(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ FILE *map;
+ int proFd;
+ char *mapFile, *proFile, *mult = 0;
+ size_t len = 0, indx = 1;
+ unsigned long long add0 = 0;
+ unsigned int step;
+ unsigned int *buf, total, fn_len;
+ unsigned long long fn_add, next_add; /* current and next address */
+ char fn_name[S_LEN], next_name[S_LEN]; /* current and next name */
+ char mode[8];
+ int c;
+ ssize_t rc;
+ int optAll = 0, optInfo = 0, optReset = 0, optVerbose = 0, optNative = 0;
+ int optBins = 0, optSub = 0;
+ char mapline[S_LEN];
+ int maplineno = 1;
+ int popenMap; /* flag to tell if popen() has been used */
+ int header_printed;
+
+ static const struct option longopts[] = {
+ {"mapfile", required_argument, NULL, 'm'},
+ {"profile", required_argument, NULL, 'p'},
+ {"multiplier", required_argument, NULL, 'M'},
+ {"info", no_argument, NULL, 'i'},
+ {"verbose", no_argument, NULL, 'v'},
+ {"all", no_argument, NULL, 'a'},
+ {"histbin", no_argument, NULL, 'b'},
+ {"counters", no_argument, NULL, 's'},
+ {"reest", no_argument, NULL, 'r'},
+ {"no-auto", no_argument, NULL, 'n'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, 0, 0}
+ };
+
+#define next (current^1)
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ proFile = defaultpro;
+ mapFile = defaultmap;
+
+ while ((c = getopt_long(argc, argv, "m:p:M:ivabsrnVh", longopts, NULL)) != -1) {
+ switch (c) {
+ case 'm':
+ mapFile = optarg;
+ break;
+ case 'n':
+ optNative++;
+ break;
+ case 'p':
+ proFile = optarg;
+ break;
+ case 'a':
+ optAll++;
+ break;
+ case 'b':
+ optBins++;
+ break;
+ case 's':
+ optSub++;
+ break;
+ case 'i':
+ optInfo++;
+ break;
+ case 'M':
+ mult = optarg;
+ break;
+ case 'r':
+ optReset++;
+ break;
+ case 'v':
+ optVerbose++;
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (optReset || mult) {
+ int multiplier, fd, to_write;
+
+ /* When writing the multiplier, if the length of the
+ * write is not sizeof(int), the multiplier is not
+ * changed. */
+ if (mult) {
+ multiplier = strtoul(mult, 0, 10);
+ to_write = sizeof(int);
+ } else {
+ multiplier = 0;
+ /* sth different from sizeof(int) */
+ to_write = 1;
+ }
+ /* try to become root, just in case */
+ setuid(0);
+ fd = open(defaultpro, O_WRONLY);
+ if (fd < 0)
+ err(EXIT_FAILURE, "%s", defaultpro);
+ if (write(fd, &multiplier, to_write) != to_write)
+ err(EXIT_FAILURE, _("error writing %s"), defaultpro);
+ close(fd);
+ exit(EXIT_SUCCESS);
+ }
+
+ /* Use an fd for the profiling buffer, to skip stdio overhead */
+ if (((proFd = open(proFile, O_RDONLY)) < 0)
+ || ((int)(len = lseek(proFd, 0, SEEK_END)) < 0)
+ || (lseek(proFd, 0, SEEK_SET) < 0))
+ err(EXIT_FAILURE, "%s", proFile);
+
+ buf = xmalloc(len);
+
+ rc = read(proFd, buf, len);
+ if (rc < 0 || (size_t) rc != len)
+ err(EXIT_FAILURE, "%s", proFile);
+ close(proFd);
+
+ if (!optNative) {
+ int entries = len / sizeof(*buf);
+ int big = 0, small = 0;
+ unsigned *p;
+ size_t i;
+
+ for (p = buf + 1; p < buf + entries; p++) {
+ if (*p & ~0U << (sizeof(*buf) * 4))
+ big++;
+ if (*p & ((1 << (sizeof(*buf) * 4)) - 1))
+ small++;
+ }
+ if (big > small) {
+ warnx(_("Assuming reversed byte order. "
+ "Use -n to force native byte order."));
+ for (p = buf; p < buf + entries; p++)
+ for (i = 0; i < sizeof(*buf) / 2; i++) {
+ unsigned char *b = (unsigned char *)p;
+ unsigned char tmp;
+ tmp = b[i];
+ b[i] = b[sizeof(*buf) - i - 1];
+ b[sizeof(*buf) - i - 1] = tmp;
+ }
+ }
+ }
+
+ step = buf[0];
+ if (optInfo) {
+ printf(_("Sampling_step: %i\n"), step);
+ exit(EXIT_SUCCESS);
+ }
+
+ total = 0;
+
+ map = myopen(mapFile, "r", &popenMap);
+ if (map == NULL && mapFile == defaultmap) {
+ mapFile = boot_uname_r_str();
+ map = myopen(mapFile, "r", &popenMap);
+ }
+ if (map == NULL)
+ err(EXIT_FAILURE, "%s", mapFile);
+
+ while (fgets(mapline, S_LEN, map)) {
+ if (sscanf(mapline, "%llx %s %s", &fn_add, mode, fn_name) != 3)
+ errx(EXIT_FAILURE, _("%s(%i): wrong map line"), mapFile,
+ maplineno);
+ /* only elf works like this */
+ if (!strcmp(fn_name, "_stext") || !strcmp(fn_name, "__stext")) {
+ add0 = fn_add;
+ break;
+ }
+ maplineno++;
+ }
+
+ if (!add0)
+ errx(EXIT_FAILURE, _("can't find \"_stext\" in %s"), mapFile);
+
+ /*
+ * Main loop.
+ */
+ while (fgets(mapline, S_LEN, map)) {
+ unsigned int this = 0;
+ int done = 0;
+
+ if (sscanf(mapline, "%llx %s %s", &next_add, mode, next_name) != 3)
+ errx(EXIT_FAILURE, _("%s(%i): wrong map line"), mapFile,
+ maplineno);
+ header_printed = 0;
+
+ /* the kernel only profiles up to _etext */
+ if (!strcmp(next_name, "_etext") ||
+ !strcmp(next_name, "__etext"))
+ done = 1;
+ else {
+ /* ignore any LEADING (before a '[tT]' symbol
+ * is found) Absolute symbols and __init_end
+ * because some architectures place it before
+ * .text section */
+ if ((*mode == 'A' || *mode == '?')
+ && (total == 0 || !strcmp(next_name, "__init_end")))
+ continue;
+ if (*mode != 'T' && *mode != 't' &&
+ *mode != 'W' && *mode != 'w')
+ break; /* only text is profiled */
+ }
+
+ if (indx >= len / sizeof(*buf))
+ errx(EXIT_FAILURE,
+ _("profile address out of range. Wrong map file?"));
+
+ while (indx < (next_add - add0) / step) {
+ if (optBins && (buf[indx] || optAll)) {
+ if (!header_printed) {
+ printf("%s:\n", fn_name);
+ header_printed = 1;
+ }
+ printf("\t%llx\t%u\n", (indx - 1) * step + add0,
+ buf[indx]);
+ }
+ this += buf[indx++];
+ }
+ total += this;
+
+ if (optBins) {
+ if (optVerbose || this > 0)
+ printf(" total\t\t\t\t%u\n", this);
+ } else if ((this || optAll) &&
+ (fn_len = next_add - fn_add) != 0) {
+ if (optVerbose)
+ printf("%016llx %-40s %6i %8.4f\n", fn_add,
+ fn_name, this, this / (double)fn_len);
+ else
+ printf("%6i %-40s %8.4f\n",
+ this, fn_name, this / (double)fn_len);
+ if (optSub) {
+ unsigned long long scan;
+
+ for (scan = (fn_add - add0) / step + 1;
+ scan < (next_add - add0) / step;
+ scan++) {
+ unsigned long long addr;
+ addr = (scan - 1) * step + add0;
+ printf("\t%#llx\t%s+%#llx\t%u\n",
+ addr, fn_name, addr - fn_add,
+ buf[scan]);
+ }
+ }
+ }
+
+ fn_add = next_add;
+ strcpy(fn_name, next_name);
+
+ maplineno++;
+ if (done)
+ break;
+ }
+
+ /* clock ticks, out of kernel text - probably modules */
+ printf("%6i %s\n", buf[len / sizeof(*buf) - 1], "*unknown*");
+
+ /* trailer */
+ if (optVerbose)
+ printf("%016x %-40s %6i %8.4f\n",
+ 0, "total", total, total / (double)(fn_add - add0));
+ else
+ printf("%6i %-40s %8.4f\n",
+ total, _("total"), total / (double)(fn_add - add0));
+
+ popenMap ? pclose(map) : fclose(map);
+ exit(EXIT_SUCCESS);
+}
diff --git a/sys-utils/renice.1 b/sys-utils/renice.1
new file mode 100644
index 0000000..afffd9e
--- /dev/null
+++ b/sys-utils/renice.1
@@ -0,0 +1,128 @@
+.\" Copyright (c) 1983, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)renice.8 8.1 (Berkeley) 6/9/93
+.\"
+.TH RENICE "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+renice \- alter priority of running processes
+.SH SYNOPSIS
+.B renice
+-n priority [options] <pid> [...]
+.SH DESCRIPTION
+.B Renice
+alters the scheduling priority of one or more running processes. The
+following
+.I who
+parameters are interpreted as process ID's, process group ID's, or user
+names.
+.BR Renice 'ing
+a process group causes all processes in the process group to have their
+scheduling priority altered.
+.BR Renice 'ing
+a user causes all processes owned by the user to have their scheduling
+priority altered. By default, the processes to be affected are specified by
+their process ID's.
+.PP
+.SH OPTIONS
+.TP
+\fB\-n\fR, \fB\-\-priority\fR \fIpriority\fR
+The scheduling
+.I priority
+of the process, process group, or user. Use of
+.BR \-n " or " \-\-priority
+can only exist as the first argument of
+.B renice
+command.
+.TP
+\fB\-g\fR, \fB\-\-pgrp\fR \fIpgid\fR
+Force
+.I who
+parameters to be interpreted as \fIprocess group ID\fR's.
+.TP
+\fB\-u\fR, \fB\-\-user\fR \fIname\fR or \fIuid\fR
+Force the
+.I who
+parameters to be interpreted as \fIuser name\fR or \fIid\fR.
+.TP
+\fB\-p\fR, \fB\-\-pid\fR \fIprocess id\fR
+Resets the
+.I who
+interpretation to be (the default) \fIprocess ID\fR's.
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+Print version.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Print help.
+.SH EXAMPLES
+.TP
+.B renice +1 987 -u daemon root -p 32
+would change the priority of process ID's 987 and 32, and all processes owned
+by users daemon and root.
+.SH NOTES
+Users other than the super-user may only alter the priority of processes they
+own, and can only monotonically increase their ``nice value'' (for security
+reasons) within the range 0 to
+.BR PRIO_MAX \ (20),
+unless a nice resource limit is set (Linux 2.6.12 and higher). The
+super-user may alter the priority of any process and set the priority to any
+value in the range
+.BR PRIO_MIN \ (\-20)
+to
+.BR PRIO_MAX .
+Useful priorities are: 20 (the affected processes will run only when nothing
+else in the system wants to), 0 (the ``base'' scheduling priority), anything
+negative (to make things go very fast).
+.SH FILES
+.TP
+.B /etc/passwd
+to map user names to user ID's
+.SH SEE ALSO
+.BR getpriority (2),
+.BR setpriority (2)
+.SH BUGS
+Non super-users can not increase scheduling priorities of their own processes,
+even if they were the ones that decreased the priorities in the first place.
+.PP
+The Linux kernel (at least version 2.0.0) and linux libc (at least version
+5.2.18) does not agree entirely on what the specifics of the systemcall
+interface to set nice values is. Thus causes renice to report bogus previous
+nice values.
+.SH HISTORY
+The
+.B renice
+command appeared in 4.0BSD.
+.SH AVAILABILITY
+The renice command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/renice.c b/sys-utils/renice.c
new file mode 100644
index 0000000..f5d51b6
--- /dev/null
+++ b/sys-utils/renice.c
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) 1983, 1989, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+
+#include <stdio.h>
+#include <pwd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include "nls.h"
+#include "c.h"
+#include "closestream.h"
+
+static int donice(int,int,int);
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %1$s [-n] <priority> [-p] <pid> [<pid> ...]\n"
+ " %1$s [-n] <priority> -g <pgrp> [<pgrp> ...]\n"
+ " %1$s [-n] <priority> -u <user> [<user> ...]\n"),
+ program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -g, --pgrp <id> interpret as process group ID\n"
+ " -h, --help print help\n"
+ " -n, --priority <num> set the nice increment value\n"
+ " -p, --pid <id> force to be interpreted as process ID\n"
+ " -u, --user <name|id> interpret as username or user ID\n"
+ " -v, --version print version\n"), out);
+
+ fputs(_("\nFor more information see renice(1).\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+/*
+ * Change the priority (nice) of processes
+ * or groups of processes which are already
+ * running.
+ */
+int
+main(int argc, char **argv)
+{
+ int which = PRIO_PROCESS;
+ int who = 0, prio, errs = 0;
+ char *endptr = NULL;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ argc--;
+ argv++;
+
+ if (argc == 1) {
+ if (strcmp(*argv, "-h") == 0 ||
+ strcmp(*argv, "--help") == 0)
+ usage(stdout);
+
+ if (strcmp(*argv, "-v") == 0 ||
+ strcmp(*argv, "--version") == 0) {
+ printf(_("renice from %s\n"), PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ }
+ }
+
+ if (argc < 2)
+ usage(stderr);
+
+ if (strcmp(*argv, "-n") == 0 || strcmp(*argv, "--priority") == 0) {
+ argc--;
+ argv++;
+ }
+
+ prio = strtol(*argv, &endptr, 10);
+ if (*endptr)
+ usage(stderr);
+
+ argc--;
+ argv++;
+
+ for (; argc > 0; argc--, argv++) {
+ if (strcmp(*argv, "-g") == 0 || strcmp(*argv, "--pgrp") == 0) {
+ which = PRIO_PGRP;
+ continue;
+ }
+ if (strcmp(*argv, "-u") == 0 || strcmp(*argv, "--user") == 0) {
+ which = PRIO_USER;
+ continue;
+ }
+ if (strcmp(*argv, "-p") == 0 || strcmp(*argv, "--pid") == 0) {
+ which = PRIO_PROCESS;
+ continue;
+ }
+ if (which == PRIO_USER) {
+ register struct passwd *pwd = getpwnam(*argv);
+
+ if (pwd == NULL) {
+ warnx(_("unknown user %s"), *argv);
+ continue;
+ }
+ who = pwd->pw_uid;
+ } else {
+ who = strtol(*argv, &endptr, 10);
+ if (who < 0 || *endptr) {
+ warnx(_("bad value %s"), *argv);
+ continue;
+ }
+ }
+ errs += donice(which, who, prio);
+ }
+ return errs != 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+}
+
+static int
+donice(int which, int who, int prio) {
+ int oldprio, newprio;
+ const char *idtype = _("process ID");
+
+ if (which == PRIO_USER)
+ idtype = _("user ID");
+ else if (which == PRIO_PGRP)
+ idtype = _("process group ID");
+
+ errno = 0;
+ oldprio = getpriority(which, who);
+ if (oldprio == -1 && errno) {
+ warn(_("failed to get priority for %d (%s)"), who, idtype);
+ return 1;
+ }
+ if (setpriority(which, who, prio) < 0) {
+ warn(_("failed to set priority for %d (%s)"), who, idtype);
+ return 1;
+ }
+ errno = 0;
+ newprio = getpriority(which, who);
+ if (newprio == -1 && errno) {
+ warn(_("failed to get priority for %d (%s)"), who, idtype);
+ return 1;
+ }
+
+ printf(_("%d (%s) old priority %d, new priority %d\n"),
+ who, idtype, oldprio, newprio);
+ return 0;
+}
diff --git a/sys-utils/rtcwake.8 b/sys-utils/rtcwake.8
new file mode 100644
index 0000000..a536f32
--- /dev/null
+++ b/sys-utils/rtcwake.8
@@ -0,0 +1,146 @@
+.\" Copyright (c) 2007, SUSE LINUX Products GmbH
+.\" Bernhard Walle <bwalle@suse.de>
+.\"
+.\" This program is free software; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License
+.\" as published by the Free Software Foundation; either version 2
+.\" of the License, or (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; if not, write to the Free Software
+.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+.\" 02110-1301, USA.
+.\"
+.TH RTCWAKE 8 "July 2007" "util-linux" "System Administration"
+.SH NAME
+rtcwake - enter a system sleep state until specified wakeup time
+.SH SYNOPSIS
+.B rtcwake
+.RB [ \-hvVluan ]
+.RB [ \-d
+.IR device ]
+.RB [ \-m
+.IR standby_mode ]
+.RB { "\-t \fItime_t\fP" | "\-s \fIseconds\fP" }
+.SH DESCRIPTION
+This program is used to enter a system sleep state until specified wakeup time.
+.PP
+This uses cross-platform Linux interfaces to enter a system sleep state, and
+leave it no later than a specified time. It uses any RTC framework driver that
+supports standard driver model wakeup flags.
+.PP
+This is normally used like the old \fBapmsleep\fP utility, to wake from a suspend
+state like ACPI S1 (standby) or S3 (suspend-to-RAM). Most platforms can
+implement those without analogues of BIOS, APM, or ACPI.
+.P
+On some systems, this can also be used like \fBnvram-wakeup\fP, waking from states
+like ACPI S4 (suspend to disk). Not all systems have persistent media that are
+appropriate for such suspend modes.
+.SS Options
+.TP
+\fB-v\fP | \fB--verbose\fP
+Be verbose.
+.TP
+\fB-h\fP | \fB--help\fP
+Display a short help message that shows how to use the program.
+.TP
+\fB-V\fP | \fB--version\fP
+Displays version information and exists.
+.TP
+\fB-n\fP | \fB--dry-run\fP
+This option does everything but actually setup alarm, suspend system or wait
+for the alarm.
+.TP
+\fB-a\fP | \fB--auto\fP
+Reads the clock mode (whether the hardware clock is set to UTC or local time)
+from \fI/etc/adjtime\fP. That's the location where the
+.BR hwclock (8)
+stores that information. This is the default.
+.TP
+\fB-l\fP | \fB--local\fP
+Assumes that the hardware clock is set to local time, regardless of the
+contents of \fI/etc/adjtime\fP.
+.TP
+\fB-u\fP | \fB--utc\fP
+Assumes that the hardware clock is set to UTC (Universal Time Coordinated),
+regardless of the contents of \fI/etc/adjtime\fP.
+.TP
+\fB-d\fP \fIdevice\fP | \fB--device\fP \fIdevice\fP
+Uses \fIdevice\fP instead of \fIrtc0\fP as realtime clock. This option
+is only relevant if your system has more than one RTC. You may specify
+\fIrtc1\fP, \fIrtc2\fP, ... here.
+.TP
+\fB-s\fP \fIseconds\fP | \fB--seconds\fP \fIseconds\fP
+Sets the wakeup time to \fIseconds\fP in future from now.
+.TP
+\fB-t\fP \fItime_t\fP | \fB--time\fP \fItime_t\fP
+Sets the wakeup time to the absolute time \fItime_t\fP. \fItime_t\fP
+is the time in seconds since 1970-01-01, 00:00 UTC. Use the
+.BR date (1)
+tool to convert between human-readable time and \fItime_t\fP.
+.TP
+\fB-m\fP \fImode\fP | \fB--mode\fP \fImode\fP
+Use standby state \fImode\fP. Valid values are:
+.RS
+.TP
+.B standby
+ACPI state S1. This state offers minimal, though real, power savings, while
+providing a very low-latency transition back to a working system. This is the
+default mode.
+.TP
+.B mem
+ACPI state S3 (Suspend-to-RAM). This state offers significant power savings as
+everything in the system is put into a low-power state, except for memory,
+which is placed in self-refresh mode to retain its contents.
+.TP
+.B disk
+ACPI state S4 (Suspend-to-disk). This state offers the greatest power savings,
+and can be used even in the absence of low-level platform support for power
+management. This state operates similarly to Suspend-to-RAM, but includes a
+final step of writing memory contents to disk.
+.TP
+.B off
+ACPI state S5 (Poweroff). This is done by calling '/sbin/shutdown'.
+Not officially supported by ACPI, but usually working.
+.TP
+.B no
+Don't suspend. The rtcwake command sets RTC wakeup time only.
+.TP
+.B on
+Don't suspend, but read RTC device until alarm time appears. This mode is
+useful for debugging.
+.TP
+.B disable
+Disable previously set alarm.
+.TP
+.B show
+Print alarm information in format: "alarm: off|on <time>".
+The time is in ctime() output format, e.g. "alarm: on Tue Nov 16 04:48:45 2010".
+.RE
+.PP
+.SH NOTES
+Some PC systems can't currently exit sleep states such as \fImem\fP
+using only the kernel code accessed by this driver.
+They need help from userspace code to make the framebuffer work again.
+.SH HISTORY
+The program was posted several times on LKML and other lists
+before appearing in kernel commit message for Linux 2.6 in the GIT
+commit 87ac84f42a7a580d0dd72ae31d6a5eb4bfe04c6d.
+.SH AVAILABILITY
+The rtcwake command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+.SH AUTHOR
+The program was written by David Brownell <dbrownell@users.sourceforge.net>
+and improved by Bernhard Walle <bwalle@suse.de>.
+.SH COPYRIGHT
+This is free software. You may redistribute copies of it under the terms
+of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
+There is NO WARRANTY, to the extent permitted by law.
+.SH "SEE ALSO"
+.BR hwclock (8),
+.BR date (1)
diff --git a/sys-utils/rtcwake.c b/sys-utils/rtcwake.c
new file mode 100644
index 0000000..0e16bd3
--- /dev/null
+++ b/sys-utils/rtcwake.c
@@ -0,0 +1,624 @@
+/*
+ * rtcwake -- enter a system sleep state until specified wakeup time.
+ *
+ * This uses cross-platform Linux interfaces to enter a system sleep state,
+ * and leave it no later than a specified time. It uses any RTC framework
+ * driver that supports standard driver model wakeup flags.
+ *
+ * This is normally used like the old "apmsleep" utility, to wake from a
+ * suspend state like ACPI S1 (standby) or S3 (suspend-to-RAM). Most
+ * platforms can implement those without analogues of BIOS, APM, or ACPI.
+ *
+ * On some systems, this can also be used like "nvram-wakeup", waking
+ * from states like ACPI S4 (suspend to disk). Not all systems have
+ * persistent media that are appropriate for such suspend modes.
+ *
+ * The best way to set the system's RTC is so that it holds the current
+ * time in UTC. Use the "-l" flag to tell this program that the system
+ * RTC uses a local timezone instead (maybe you dual-boot MS-Windows).
+ * That flag should not be needed on systems with adjtime support.
+ */
+
+#include <stdio.h>
+#include <getopt.h>
+#include <fcntl.h>
+#include <libgen.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <errno.h>
+#include <time.h>
+
+#include <sys/ioctl.h>
+#include <sys/time.h>
+#include <sys/types.h>
+
+#include <linux/rtc.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "pathnames.h"
+#include "usleep.h"
+#include "strutils.h"
+#include "c.h"
+#include "closestream.h"
+
+/* constants from legacy PC/AT hardware */
+#define RTC_PF 0x40
+#define RTC_AF 0x20
+#define RTC_UF 0x10
+
+#define MAX_LINE 1024
+
+#define RTC_PATH "/sys/class/rtc/%s/device/power/wakeup"
+#define SYS_POWER_STATE_PATH "/sys/power/state"
+#define ADJTIME_PATH "/etc/adjtime"
+#define DEFAULT_DEVICE "/dev/rtc0"
+#define DEFAULT_MODE "standby"
+
+enum ClockMode {
+ CM_AUTO,
+ CM_UTC,
+ CM_LOCAL
+};
+
+static unsigned verbose;
+static unsigned dryrun;
+static unsigned ioctl_aie_on; /* ioctl(AIE_ON) succeeded */
+enum ClockMode clock_mode = CM_AUTO;
+
+static struct option long_options[] = {
+ {"auto", no_argument, 0, 'a'},
+ {"dry-run", no_argument, 0, 'n'},
+ {"local", no_argument, 0, 'l'},
+ {"utc", no_argument, 0, 'u'},
+ {"verbose", no_argument, 0, 'v'},
+ {"version", no_argument, 0, 'V'},
+ {"help", no_argument, 0, 'h'},
+ {"mode", required_argument, 0, 'm'},
+ {"device", required_argument, 0, 'd'},
+ {"seconds", required_argument, 0, 's'},
+ {"time", required_argument, 0, 't'},
+ {0, 0, 0, 0 }
+};
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %s [options]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
+ " -n, --dry-run does everything, but suspend\n"
+ " -l, --local RTC uses local timezone\n"
+ " -m, --mode <mode> standby|mem|... sleep mode\n"
+ " -s, --seconds <seconds> seconds to sleep\n"
+ " -t, --time <time_t> time to wake\n"
+ " -u, --utc RTC uses UTC\n"
+ " -v, --verbose verbose messages\n"), out);
+
+ printf(USAGE_SEPARATOR);
+ printf(USAGE_HELP);
+ printf(USAGE_VERSION);
+
+ printf(USAGE_MAN_TAIL("rtcwake(8)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static int is_wakeup_enabled(const char *devname)
+{
+ char buf[128], *s;
+ FILE *f;
+
+ /* strip the '/dev/' from the devname here */
+ snprintf(buf, sizeof buf, RTC_PATH, devname + strlen("/dev/"));
+ f = fopen(buf, "r");
+ if (!f) {
+ warn(_("cannot open %s"), buf);
+ return 0;
+ }
+ s = fgets(buf, sizeof buf, f);
+ fclose(f);
+ if (!s)
+ return 0;
+
+ s = strchr(buf, '\n');
+ if (!s)
+ return 0;
+ *s = 0;
+
+ /* wakeup events could be disabled or not supported */
+ return strcmp(buf, "enabled") == 0;
+}
+
+/* all times should be in UTC */
+static time_t sys_time;
+static time_t rtc_time;
+
+static int get_basetimes(int fd)
+{
+ struct tm tm;
+ struct rtc_time rtc;
+
+ /* this process works in RTC time, except when working
+ * with the system clock (which always uses UTC).
+ */
+ if (clock_mode == CM_UTC)
+ setenv("TZ", "UTC", 1);
+ tzset();
+
+ /* read rtc and system clocks "at the same time", or as
+ * precisely (+/- a second) as we can read them.
+ */
+ if (ioctl(fd, RTC_RD_TIME, &rtc) < 0) {
+ warn(_("read rtc time failed"));
+ return -1;
+ }
+ sys_time = time(0);
+ if (sys_time == (time_t)-1) {
+ warn(_("read system time failed"));
+ return -1;
+ }
+
+ /* convert rtc_time to normal arithmetic-friendly form,
+ * updating tm.tm_wday as used by asctime().
+ */
+ memset(&tm, 0, sizeof tm);
+ tm.tm_sec = rtc.tm_sec;
+ tm.tm_min = rtc.tm_min;
+ tm.tm_hour = rtc.tm_hour;
+ tm.tm_mday = rtc.tm_mday;
+ tm.tm_mon = rtc.tm_mon;
+ tm.tm_year = rtc.tm_year;
+ tm.tm_isdst = -1; /* assume the system knows better than the RTC */
+ rtc_time = mktime(&tm);
+
+ if (rtc_time == (time_t)-1) {
+ warn(_("convert rtc time failed"));
+ return -1;
+ }
+
+ if (verbose) {
+ /* Unless the system uses UTC, either delta or tzone
+ * reflects a seconds offset from UTC. The value can
+ * help sort out problems like bugs in your C library.
+ */
+ printf("\tdelta = %ld\n", sys_time - rtc_time);
+ printf("\ttzone = %ld\n", timezone);
+
+ printf("\ttzname = %s\n", tzname[daylight]);
+ gmtime_r(&rtc_time, &tm);
+ printf("\tsystime = %ld, (UTC) %s",
+ (long) sys_time, asctime(gmtime(&sys_time)));
+ printf("\trtctime = %ld, (UTC) %s",
+ (long) rtc_time, asctime(&tm));
+ }
+
+ return 0;
+}
+
+static int setup_alarm(int fd, time_t *wakeup)
+{
+ struct tm *tm;
+ struct rtc_wkalrm wake;
+
+ /* The wakeup time is in POSIX time (more or less UTC).
+ * Ideally RTCs use that same time; but PCs can't do that
+ * if they need to boot MS-Windows. Messy...
+ *
+ * When clock_mode == CM_UTC this process's timezone is UTC,
+ * so we'll pass a UTC date to the RTC.
+ *
+ * Else clock_mode == CM_LOCAL so the time given to the RTC
+ * will instead use the local time zone.
+ */
+ tm = localtime(wakeup);
+
+ wake.time.tm_sec = tm->tm_sec;
+ wake.time.tm_min = tm->tm_min;
+ wake.time.tm_hour = tm->tm_hour;
+ wake.time.tm_mday = tm->tm_mday;
+ wake.time.tm_mon = tm->tm_mon;
+ wake.time.tm_year = tm->tm_year;
+ /* wday, yday, and isdst fields are unused by Linux */
+ wake.time.tm_wday = -1;
+ wake.time.tm_yday = -1;
+ wake.time.tm_isdst = -1;
+
+ wake.enabled = 1;
+
+ /* First try the preferred RTC_WKALM_SET */
+ if (!dryrun && ioctl(fd, RTC_WKALM_SET, &wake) < 0) {
+ wake.enabled = 0;
+ /* Fall back on the non-preferred way of setting wakeups; only
+ * works for alarms < 24 hours from now */
+ if ((rtc_time + (24 * 60 * 60)) > *wakeup) {
+ if (ioctl(fd, RTC_ALM_SET, &wake.time) < 0) {
+ warn(_("set rtc alarm failed"));
+ return -1;
+ }
+ if (ioctl(fd, RTC_AIE_ON, 0) < 0) {
+ warn(_("enable rtc alarm failed"));
+ return -1;
+ }
+ ioctl_aie_on = 1;
+ } else {
+ warn(_("set rtc wake alarm failed"));
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+static int is_suspend_available(const char *suspend)
+{
+ int rc;
+ char buf[32];
+ FILE *f = fopen(SYS_POWER_STATE_PATH, "r");
+
+ if (!f)
+ return -1;
+
+ if (fgets(buf, sizeof buf, f) == NULL)
+ rc = -1;
+ else
+ rc = strstr(buf, suspend) != NULL;
+
+ fclose(f);
+ return rc;
+}
+
+static void suspend_system(const char *suspend)
+{
+ FILE *f = fopen(SYS_POWER_STATE_PATH, "w");
+
+ if (!f) {
+ warn(_("cannot open %s"), SYS_POWER_STATE_PATH);
+ return;
+ }
+
+ if (!dryrun) {
+ fprintf(f, "%s\n", suspend);
+ fflush(f);
+ }
+
+ /* this executes after wake from suspend */
+ if (close_stream(f))
+ errx(EXIT_FAILURE, _("write error"));
+}
+
+
+static int read_clock_mode(void)
+{
+ FILE *fp;
+ char linebuf[MAX_LINE];
+
+ fp = fopen(ADJTIME_PATH, "r");
+ if (!fp)
+ return -1;
+
+ /* skip first line */
+ if (!fgets(linebuf, MAX_LINE, fp)) {
+ fclose(fp);
+ return -1;
+ }
+
+ /* skip second line */
+ if (!fgets(linebuf, MAX_LINE, fp)) {
+ fclose(fp);
+ return -1;
+ }
+
+ /* read third line */
+ if (!fgets(linebuf, MAX_LINE, fp)) {
+ fclose(fp);
+ return -1;
+ }
+
+ if (strncmp(linebuf, "UTC", 3) == 0)
+ clock_mode = CM_UTC;
+ else if (strncmp(linebuf, "LOCAL", 5) == 0)
+ clock_mode = CM_LOCAL;
+
+ fclose(fp);
+
+ return 0;
+}
+
+/**
+ * print basic alarm settings
+ */
+static int print_alarm(int fd)
+{
+ struct rtc_wkalrm wake;
+ struct rtc_time rtc;
+ struct tm tm;
+ time_t alarm;
+
+ /* First try the preferred RTC_WKALM_RD */
+ if (ioctl(fd, RTC_WKALM_RD, &wake) < 0) {
+ /* Fall back on the non-preferred way of reading wakeups; only
+ * works for alarms < 24 hours from now
+ *
+ * set wake.enabled to 1 and determine from value of the year-1
+ * means disabled
+ */
+ wake.enabled = 1;
+ if (ioctl(fd, RTC_ALM_READ, &wake.time) < 0) {
+ warn(_("read rtc alarm failed"));
+ return -1;
+ }
+ }
+
+ if (wake.enabled != 1 || wake.time.tm_year == -1) {
+ printf(_("alarm: off\n"));
+ return 0;
+ }
+
+ rtc = wake.time;
+
+ memset(&tm, 0, sizeof tm);
+ tm.tm_sec = rtc.tm_sec;
+ tm.tm_min = rtc.tm_min;
+ tm.tm_hour = rtc.tm_hour;
+ tm.tm_mday = rtc.tm_mday;
+ tm.tm_mon = rtc.tm_mon;
+ tm.tm_year = rtc.tm_year;
+ tm.tm_isdst = -1; /* assume the system knows better than the RTC */
+
+ alarm = mktime(&tm);
+ if (alarm == (time_t)-1) {
+ warn(_("convert time failed"));
+ return -1;
+ }
+
+ /* 0 if both UTC, or expresses diff if RTC in local time */
+ alarm += sys_time - rtc_time;
+
+ printf(_("alarm: on %s"), ctime(&alarm));
+ return 0;
+}
+
+int main(int argc, char **argv)
+{
+ char *devname = DEFAULT_DEVICE;
+ unsigned seconds = 0;
+ char *suspend = DEFAULT_MODE;
+
+ int rc = EXIT_SUCCESS;
+ int t;
+ int fd;
+ time_t alarm = 0;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((t = getopt_long(argc, argv, "ahd:lm:ns:t:uVv",
+ long_options, NULL)) != EOF) {
+ switch (t) {
+ case 'a':
+ /* CM_AUTO is default */
+ break;
+
+ case 'd':
+ devname = optarg;
+ break;
+
+ case 'l':
+ clock_mode = CM_LOCAL;
+ break;
+
+ /* what system power mode to use? for now handle only
+ * standardized mode names; eventually when systems
+ * define their own state names, parse
+ * /sys/power/state.
+ *
+ * "on" is used just to test the RTC alarm mechanism,
+ * bypassing all the wakeup-from-sleep infrastructure.
+ */
+ case 'm':
+ if (strcmp(optarg, "standby") == 0
+ || strcmp(optarg, "mem") == 0
+ || strcmp(optarg, "disk") == 0
+ || strcmp(optarg, "on") == 0
+ || strcmp(optarg, "no") == 0
+ || strcmp(optarg, "off") == 0
+ || strcmp(optarg, "disable") == 0
+ || strcmp(optarg, "show") == 0
+ ) {
+ suspend = optarg;
+ break;
+ }
+
+ errx(EXIT_FAILURE, _("unrecognized suspend state '%s'"),
+ optarg);
+ break;
+
+ case 'n':
+ dryrun = 1;
+ break;
+
+ /* alarm time, seconds-to-sleep (relative) */
+ case 's':
+ seconds = strtou32_or_err(optarg, _("invalid seconds argument"));
+ break;
+
+ /* alarm time, time_t (absolute, seconds since
+ * 1/1 1970 UTC)
+ */
+ case 't':
+ alarm = strtou32_or_err(optarg, _("invalid time argument"));
+ break;
+
+ case 'u':
+ clock_mode = CM_UTC;
+ break;
+
+ case 'v':
+ verbose++;
+ break;
+
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ exit(EXIT_SUCCESS);
+
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (clock_mode == CM_AUTO) {
+ if (read_clock_mode() < 0) {
+ printf(_("%s: assuming RTC uses UTC ...\n"),
+ program_invocation_short_name);
+ clock_mode = CM_UTC;
+ }
+ }
+ if (verbose)
+ printf(clock_mode == CM_UTC ? _("Using UTC time.\n") :
+ _("Using local time.\n"));
+
+ if (!alarm && !seconds && strcmp(suspend,"disable") &&
+ strcmp(suspend,"show")) {
+
+ warnx(_("must provide wake time (see -t and -s options)"));
+ usage(stderr);
+ }
+
+ /* when devname doesn't start with /dev, append it */
+ if (strncmp(devname, "/dev/", strlen("/dev/")) != 0) {
+ char *new_devname;
+
+ new_devname = xmalloc(strlen(devname) + strlen("/dev/") + 1);
+
+ strcpy(new_devname, "/dev/");
+ strcat(new_devname, devname);
+ devname = new_devname;
+ }
+
+ if (strcmp(suspend, "on") != 0 && strcmp(suspend, "no") != 0
+ && !is_wakeup_enabled(devname))
+ errx(EXIT_FAILURE, _("%s not enabled for wakeup events"), devname);
+
+ /* this RTC must exist and (if we'll sleep) be wakeup-enabled */
+#ifdef O_CLOEXEC
+ fd = open(devname, O_RDONLY | O_CLOEXEC);
+#else
+ fd = open(devname, O_RDONLY);
+#endif
+ if (fd < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), devname);
+
+ /* relative or absolute alarm time, normalized to time_t */
+ if (get_basetimes(fd) < 0)
+ exit(EXIT_FAILURE);
+ if (verbose)
+ printf(_("alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"),
+ alarm, sys_time, rtc_time, seconds);
+
+ if (strcmp(suspend, "show") && strcmp(suspend, "disable")) {
+ if (strcmp(suspend, "no") && strcmp(suspend, "on") &&
+ strcmp(suspend, "off") && is_suspend_available(suspend) <= 0) {
+ errx(EXIT_FAILURE, _("suspend to \"%s\" unavailable"), suspend);
+ }
+
+ /* care about alarm setup only if the show|disable
+ * modes are not set
+ */
+ if (alarm) {
+ if (alarm < sys_time)
+ errx(EXIT_FAILURE, _("time doesn't go backward to %s"),
+ ctime(&alarm));
+ alarm += sys_time - rtc_time;
+ } else
+ alarm = rtc_time + seconds + 1;
+
+ if (setup_alarm(fd, &alarm) < 0)
+ exit(EXIT_FAILURE);
+
+ if (strcmp(suspend, "no") == 0 || strcmp(suspend, "on") == 0)
+ printf(_("%s: wakeup using %s at %s"),
+ program_invocation_short_name, devname,
+ ctime(&alarm));
+ else
+ printf(_("%s: wakeup from \"%s\" using %s at %s"),
+ program_invocation_short_name, suspend, devname,
+ ctime(&alarm));
+ fflush(stdout);
+ usleep(10 * 1000);
+ }
+
+ if (strcmp(suspend, "no") == 0) {
+ if (verbose)
+ printf(_("suspend mode: no; leaving\n"));
+ dryrun = 1; /* to skip disabling alarm at the end */
+
+ } else if (strcmp(suspend, "off") == 0) {
+ char *arg[4];
+ int i = 0;
+
+ if (verbose)
+ printf(_("suspend mode: off; executing %s\n"),
+ _PATH_SHUTDOWN);
+ arg[i++] = _PATH_SHUTDOWN;
+ arg[i++] = "-P";
+ arg[i++] = "now";
+ arg[i] = NULL;
+
+ if (!dryrun) {
+ execv(arg[0], arg);
+
+ warn(_("unable to execute %s"), _PATH_SHUTDOWN);
+ rc = EXIT_FAILURE;
+ }
+
+ } else if (strcmp(suspend, "on") == 0) {
+ unsigned long data;
+
+ if (verbose)
+ printf(_("suspend mode: on; reading rtc\n"));
+
+ if (!dryrun) {
+ do {
+ t = read(fd, &data, sizeof data);
+ if (t < 0) {
+ warn(_("rtc read failed"));
+ break;
+ }
+ if (verbose)
+ printf("... %s: %03lx\n", devname, data);
+ } while (!(data & RTC_AF));
+ }
+
+ } else if (strcmp(suspend, "disable") == 0) {
+ /* just break, alarm gets disabled in the end */
+ if (verbose)
+ printf(_("suspend mode: disable; disabling alarm\n"));
+
+ } else if(strcmp(suspend,"show") == 0) {
+ if (verbose)
+ printf(_("suspend mode: show; printing alarm info\n"));
+ if (print_alarm(fd))
+ rc = EXIT_FAILURE;
+ dryrun = 1; /* don't really disable alarm in the end, just show */
+
+ } else {
+ if (verbose)
+ printf(_("suspend mode: %s; suspending system\n"), suspend);
+ sync();
+ suspend_system(suspend);
+ }
+
+ if (!dryrun && ioctl_aie_on && ioctl(fd, RTC_AIE_OFF, 0) < 0)
+ warn(_("disable rtc alarm interrupt failed"));
+
+ close(fd);
+ return rc;
+}
diff --git a/sys-utils/setarch.8 b/sys-utils/setarch.8
new file mode 100644
index 0000000..d206f2c
--- /dev/null
+++ b/sys-utils/setarch.8
@@ -0,0 +1,85 @@
+.TH SETARCH 8 "September 2011" "util-linux" "System Administration"
+.SH NAME
+setarch \- change reported architecture in new program environment and set personality flags
+.SH SYNOPSIS
+.B setarch
+.I <arch>
+.RI [ options ]
+.RI [ program
+.RI [ arguments ]]
+.br
+.B arch
+.RI [ options ]
+.RI [ program
+.RI [ arguments ]]
+.SH DESCRIPTION
+.B setarch
+This utility currently only affects the output of uname -m. For example, on an AMD64 system, running 'setarch i386 program' will cause 'program' to see
+.IR i686
+(or other relevant arch) instead of
+.IR x86_64
+as machine type. It also allows to set various personality options. The default
+.B program
+is /bin/sh.
+.SH OPTIONS
+.TP
+.I "\-v," "\-\-verbose"
+Be verbose.
+.TP
+.I "\-h," "\-\-help"
+Display help (it is also displayed when setarch takes no arguments).
+.TP
+.I "\-V," "\-\-version"
+Output version information and exit.
+.TP
+.I "\-\-uname\-2.6"
+Causes the program to see a kernel version number beginning with 2.6.
+.TP
+.I "\-3," "\-\-3gb"
+Specifies that processes should use a maximum of 3GB of address space on systems where it is supported (ADDR_LIMIT_3GB).
+.TP
+.I "\-B," "\-\-32bit"
+Turns on ADDR_LIMIT_32BIT.
+.TP
+.I "\-F," "\-\-fdpic-funcptrs"
+Userspace function pointers point to descriptors (turns on FDPIC_FUNCPTRS).
+.TP
+.I "\-I," "\-\-short-inode"
+Turns on SHORT_INODE.
+.TP
+.I "\-L," "\-\-addr-compat-layout"
+Changes the way virtual memory is allocated (turns on the ADDR_COMPAT_LAYOUT).
+.TP
+.I "\-R," "\-\-addr-no-randomize"
+Disables randomization of the virtual address space (turns on ADDR_NO_RANDOMIZE).
+.TP
+.I "\-S," "\-\-whole-seconds"
+Turns on WHOLE_SECONDS.
+.TP
+.I "\-T," "\-\-sticky-timeouts"
+Turns on STICKY_TIMEOUTS.
+.TP
+.I "\-X" "\-\-read-implies-exec"
+Turns on READ_IMPLIES_EXEC.
+.TP
+.I "\-Z," "mmap-page-zero"
+Turns on MMAP_PAGE_ZERO.
+.SH EXAMPLES
+setarch ppc32 rpmbuild --target=ppc --rebuild foo.src.rpm
+.br
+setarch ppc32 -v -vL3 rpmbuild --target=ppc --rebuild bar.src.rpm
+.br
+setarch ppc32 --32bit rpmbuild --target=ppc --rebuild foo.src.rpm
+.SH AUTHOR
+.MT sopwith@redhat.com
+Elliot Lee
+.ME
+.br
+.MT jnovy@redhat.com
+Jindrich Novy
+.ME
+.SH AVAILABILITY
+The setarch command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c
new file mode 100644
index 0000000..d13cdd6
--- /dev/null
+++ b/sys-utils/setarch.c
@@ -0,0 +1,351 @@
+/*
+ * Copyright (C) 2003-2007 Red Hat, Inc.
+ *
+ * This file is part of util-linux.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ *
+ * Written by Elliot Lee <sopwith@redhat.com>
+ * New personality options & code added by Jindrich Novy <jnovy@redhat.com>
+ * ADD_NO_RANDOMIZE flag added by Arjan van de Ven <arjanv@redhat.com>
+ * Help and MIPS support from Mike Frysinger (vapier@gentoo.org)
+ * Better error handling from Dmitry V. Levin (ldv@altlinux.org)
+ *
+ * based on ideas from the ppc32 util by Guy Streeter (2002-01), based on the
+ * sparc32 util by Jakub Jelinek (1998, 1999)
+ */
+
+#include <syscall.h>
+#include <linux/personality.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <limits.h>
+#include <sys/utsname.h>
+#include "nls.h"
+#include "c.h"
+#include "closestream.h"
+
+#define set_pers(pers) ((long)syscall(SYS_personality, pers))
+
+/* Options without equivalent short options */
+enum {
+ OPT_4GB = CHAR_MAX + 1,
+ OPT_UNAME26
+};
+
+#define turn_on(_flag, _opts) \
+ do { \
+ (_opts) |= _flag; \
+ if (verbose) \
+ printf(_("Switching on %s.\n"), #_flag); \
+ } while(0)
+
+
+#if !HAVE_DECL_UNAME26
+# define UNAME26 0x0020000
+#endif
+#if !HAVE_DECL_ADDR_NO_RANDOMIZE
+# define ADDR_NO_RANDOMIZE 0x0040000
+#endif
+#if !HAVE_DECL_FDPIC_FUNCPTRS
+# define FDPIC_FUNCPTRS 0x0080000
+#endif
+#if !HAVE_DECL_MMAP_PAGE_ZERO
+# define MMAP_PAGE_ZERO 0x0100000
+#endif
+#if !HAVE_DECL_ADDR_COMPAT_LAYOUT
+# define ADDR_COMPAT_LAYOUT 0x0200000
+#endif
+#if !HAVE_DECL_READ_IMPLIES_EXEC
+# define READ_IMPLIES_EXEC 0x0400000
+#endif
+#if !HAVE_DECL_ADDR_LIMIT_32BIT
+# define ADDR_LIMIT_32BIT 0x0800000
+#endif
+#if !HAVE_DECL_SHORT_INODE
+# define SHORT_INODE 0x1000000
+#endif
+#if !HAVE_DECL_WHOLE_SECONDS
+# define WHOLE_SECONDS 0x2000000
+#endif
+#if !HAVE_DECL_STICKY_TIMEOUTS
+# define STICKY_TIMEOUTS 0x4000000
+#endif
+#if !HAVE_DECL_ADDR_LIMIT_3GB
+# define ADDR_LIMIT_3GB 0x8000000
+#endif
+
+static void __attribute__((__noreturn__))
+show_help(void)
+{
+ printf(USAGE_HEADER);
+ printf(_(" %s%s [options] [program [program arguments]]\n"),
+ program_invocation_short_name,
+ !strcmp(program_invocation_short_name, "setarch") ? " <arch>" : "");
+
+ printf(USAGE_OPTIONS);
+ printf(_(
+ " -v, --verbose says what options are being switched on\n"
+ " -R, --addr-no-randomize disables randomization of the virtual address space\n"
+ " -F, --fdpic-funcptrs makes function pointers point to descriptors\n"
+ " -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO\n"
+ " -L, --addr-compat-layout changes the way virtual memory is allocated\n"
+ " -X, --read-implies-exec turns on READ_IMPLIES_EXEC\n"
+ " -B, --32bit turns on ADDR_LIMIT_32BIT\n"
+ " -I, --short-inode turns on SHORT_INODE\n"
+ " -S, --whole-seconds turns on WHOLE_SECONDS\n"
+ " -T, --sticky-timeouts turns on STICKY_TIMEOUTS\n"
+ " -3, --3gb limits the used address space to a maximum of 3 GB\n"
+ " --4gb ignored (for backward compatibility only)\n"
+ " --uname-2.6 turns on UNAME26\n"));
+
+ printf(USAGE_SEPARATOR);
+ printf(USAGE_HELP);
+ printf(USAGE_VERSION);
+ printf(USAGE_MAN_TAIL("setarch(8)"));
+
+ exit(EXIT_SUCCESS);
+}
+
+static void __attribute__((__noreturn__))
+show_usage(const char *s)
+{
+ if (s)
+ errx(EXIT_FAILURE, _("%s\nTry `%s --help' for more information."), s, program_invocation_short_name);
+ else
+ errx(EXIT_FAILURE, _("Try `%s --help' for more information."), program_invocation_short_name);
+}
+
+static void __attribute__((__noreturn__))
+show_version(void)
+{
+ printf(UTIL_LINUX_VERSION);
+ exit(EXIT_SUCCESS);
+}
+
+static int
+set_arch(const char *pers, unsigned long options)
+{
+ struct utsname un;
+ int i;
+ unsigned long pers_value;
+
+ struct {
+ int perval;
+ const char *target_arch, *result_arch;
+ } transitions[] = {
+ {PER_LINUX32, "linux32", NULL},
+ {PER_LINUX, "linux64", NULL},
+#if defined(__powerpc__) || defined(__powerpc64__)
+ {PER_LINUX32, "ppc32", "ppc"},
+ {PER_LINUX32, "ppc", "ppc"},
+ {PER_LINUX, "ppc64", "ppc64"},
+ {PER_LINUX, "ppc64pseries", "ppc64"},
+ {PER_LINUX, "ppc64iseries", "ppc64"},
+#endif
+#if defined(__x86_64__) || defined(__i386__) || defined(__ia64__)
+ {PER_LINUX32, "i386", "i386"},
+ {PER_LINUX32, "i486", "i386"},
+ {PER_LINUX32, "i586", "i386"},
+ {PER_LINUX32, "i686", "i386"},
+ {PER_LINUX32, "athlon", "i386"},
+#endif
+#if defined(__x86_64__) || defined(__i386__)
+ {PER_LINUX, "x86_64", "x86_64"},
+#endif
+#if defined(__ia64__) || defined(__i386__)
+ {PER_LINUX, "ia64", "ia64"},
+#endif
+#if defined(__hppa__)
+ {PER_LINUX32, "parisc32", "parisc"},
+ {PER_LINUX32, "parisc", "parisc"},
+ {PER_LINUX, "parisc64", "parisc64"},
+#endif
+#if defined(__s390x__) || defined(__s390__)
+ {PER_LINUX32, "s390", "s390"},
+ {PER_LINUX, "s390x", "s390x"},
+#endif
+#if defined(__sparc64__) || defined(__sparc__)
+ {PER_LINUX32, "sparc", "sparc"},
+ {PER_LINUX32, "sparc32bash", "sparc"},
+ {PER_LINUX32, "sparc32", "sparc"},
+ {PER_LINUX, "sparc64", "sparc64"},
+#endif
+#if defined(__mips64__) || defined(__mips__)
+ {PER_LINUX32, "mips32", "mips"},
+ {PER_LINUX32, "mips", "mips"},
+ {PER_LINUX, "mips64", "mips64"},
+#endif
+#if defined(__alpha__)
+ {PER_LINUX, "alpha", "alpha"},
+ {PER_LINUX, "alphaev5", "alpha"},
+ {PER_LINUX, "alphaev56", "alpha"},
+ {PER_LINUX, "alphaev6", "alpha"},
+ {PER_LINUX, "alphaev67", "alpha"},
+#endif
+ {-1, NULL, NULL}
+ };
+
+ for(i = 0; transitions[i].perval >= 0; i++)
+ if(!strcmp(pers, transitions[i].target_arch))
+ break;
+
+ if(transitions[i].perval < 0)
+ errx(EXIT_FAILURE, _("%s: Unrecognized architecture"), pers);
+
+ pers_value = transitions[i].perval | options;
+ if (set_pers(pers_value) == -EINVAL)
+ return 1;
+
+ uname(&un);
+ if(transitions[i].result_arch &&
+ strcmp(un.machine, transitions[i].result_arch))
+ {
+ if(strcmp(transitions[i].result_arch, "i386")
+ || (strcmp(un.machine, "i486")
+ && strcmp(un.machine, "i586")
+ && strcmp(un.machine, "i686")
+ && strcmp(un.machine, "athlon")))
+ errx(EXIT_FAILURE, _("%s: Unrecognized architecture"), pers);
+ }
+
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+ const char *p;
+ unsigned long options = 0;
+ int verbose = 0;
+ int c;
+
+ /* Options --3gb and --4gb are for compatibitity with an old Debian setarch
+ implementation. */
+ static const struct option longopts[] =
+ {
+ { "help", 0, 0, 'h' },
+ { "version", 0, 0, 'V' },
+ { "verbose", 0, 0, 'v' },
+ { "addr-no-randomize", 0, 0, 'R' },
+ { "fdpic-funcptrs", 0, 0, 'F' },
+ { "mmap-page-zero", 0, 0, 'Z' },
+ { "addr-compat-layout", 0, 0, 'L' },
+ { "read-implies-exec", 0, 0, 'X' },
+ { "32bit", 0, 0, 'B' },
+ { "short-inode", 0, 0, 'I' },
+ { "whole-seconds", 0, 0, 'S' },
+ { "sticky-timeouts", 0, 0, 'T' },
+ { "3gb", 0, 0, '3' },
+ { "4gb", 0, 0, OPT_4GB },
+ { "uname-2.6", 0, 0, OPT_UNAME26 },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc < 1)
+ show_usage(_("Not enough arguments"));
+
+ p = program_invocation_short_name;
+ if (!strcmp(p, "setarch")) {
+ argc--;
+ if (argc < 1)
+ show_usage(_("Not enough arguments"));
+ p = argv[1];
+ argv[1] = argv[0]; /* for getopt_long() to get the program name */
+ argv++;
+ if (!strcmp(p, "-h") || !strcmp(p, "--help"))
+ show_help();
+ else if (!strcmp(p, "-V") || !strcmp(p, "--version"))
+ show_version();
+ }
+ #if defined(__sparc64__) || defined(__sparc__)
+ if (!strcmp(p, "sparc32bash")) {
+ if (set_arch(p, 0L))
+ err(EXIT_FAILURE, _("Failed to set personality to %s"), p);
+ execl("/bin/bash", NULL);
+ err(EXIT_FAILURE, "/bin/bash");
+ }
+ #endif
+
+ while ((c = getopt_long(argc, argv, "+hVv3BFILRSTXZ", longopts, NULL)) != -1) {
+ switch (c) {
+ case 'h':
+ show_help();
+ break;
+ case 'V':
+ show_version();
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ case 'R':
+ turn_on(ADDR_NO_RANDOMIZE, options);
+ break;
+ case 'F':
+ turn_on(FDPIC_FUNCPTRS, options);
+ break;
+ case 'Z':
+ turn_on(MMAP_PAGE_ZERO, options);
+ break;
+ case 'L':
+ turn_on(ADDR_COMPAT_LAYOUT, options);
+ break;
+ case 'X':
+ turn_on(READ_IMPLIES_EXEC, options);
+ break;
+ case 'B':
+ turn_on(ADDR_LIMIT_32BIT, options);
+ break;
+ case 'I':
+ turn_on(SHORT_INODE, options);
+ break;
+ case 'S':
+ turn_on(WHOLE_SECONDS, options);
+ break;
+ case 'T':
+ turn_on(STICKY_TIMEOUTS, options);
+ break;
+ case '3':
+ turn_on(ADDR_LIMIT_3GB, options);
+ break;
+ case OPT_4GB: /* just ignore this one */
+ break;
+ case OPT_UNAME26:
+ turn_on(UNAME26, options);
+ break;
+ default:
+ show_usage(NULL);
+ }
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ if (set_arch(p, options))
+ err(EXIT_FAILURE, _("Failed to set personality to %s"), p);
+
+ if (!argc) {
+ execl("/bin/sh", "-sh", NULL);
+ err(EXIT_FAILURE, "/bin/sh");
+ }
+
+ execvp(argv[0], argv);
+ err(EXIT_FAILURE, "%s", argv[0]);
+ return EXIT_FAILURE;
+}
diff --git a/sys-utils/setsid.1 b/sys-utils/setsid.1
new file mode 100644
index 0000000..eff7948
--- /dev/null
+++ b/sys-utils/setsid.1
@@ -0,0 +1,24 @@
+.\" Rick Sladkey <jrs@world.std.com>
+.\" In the public domain.
+.\" Path modifications by faith@cs.unc.edu
+.TH SETSID 1 "November 1993" "util-linux" "User Commands"
+.SH NAME
+setsid \- run a program in a new session
+.SH SYNOPSIS
+.B setsid
+.I program
+.RI [ arg ...]
+.SH DESCRIPTION
+.B setsid
+runs a program in a new session.
+.SH OPTIONS
+.TP
+\fB\-c\fP, \fB\-\-ctty\fP
+Set the controlling terminal to the current one.
+.SH "SEE ALSO"
+.BR setsid (2)
+.SH AUTHOR
+Rick Sladkey <jrs@world.std.com>
+.SH AVAILABILITY
+The setsid command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/setsid.c b/sys-utils/setsid.c
new file mode 100644
index 0000000..071ccc4
--- /dev/null
+++ b/sys-utils/setsid.c
@@ -0,0 +1,98 @@
+/*
+ * setsid.c -- execute a command in a new session
+ * Rick Sladkey <jrs@world.std.com>
+ * In the public domain.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 2001-01-18 John Fremlin <vii@penguinpowered.com>
+ * - fork in case we are process group leader
+ *
+ */
+
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+
+#include "c.h"
+#include "nls.h"
+#include "closestream.h"
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(
+ " %s [options] <program> [arguments ...]\n"),
+ program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -c, --ctty set the controlling terminal to the current one\n"),
+ out);
+
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+
+ fprintf(out, USAGE_MAN_TAIL("setsid(1)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int ch;
+ int ctty = 0;
+
+ static const struct option longopts[] = {
+ {"ctty", no_argument, NULL, 'c'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((ch = getopt_long(argc, argv, "+Vhc", longopts, NULL)) != -1)
+ switch (ch) {
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'c':
+ ctty=1;
+ break;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (argc < 2)
+ usage(stderr);
+
+ if (getpgrp() == getpid()) {
+ switch (fork()) {
+ case -1:
+ err(EXIT_FAILURE, _("fork"));
+ case 0:
+ /* child */
+ break;
+ default:
+ /* parent */
+ return 0;
+ }
+ }
+ if (setsid() < 0)
+ /* cannot happen */
+ err(EXIT_FAILURE, _("setsid failed"));
+
+ if (ctty) {
+ if (ioctl(STDIN_FILENO, TIOCSCTTY, 1))
+ warn(_("failed to set the controlling terminal"));
+ }
+ execvp(argv[optind], argv + optind);
+ err(EXIT_FAILURE, _("execvp failed"));
+}
diff --git a/sys-utils/swapoff.8 b/sys-utils/swapoff.8
new file mode 100644
index 0000000..1a06b7e
--- /dev/null
+++ b/sys-utils/swapoff.8
@@ -0,0 +1 @@
+.so man8/swapon.8
diff --git a/sys-utils/swapoff.c b/sys-utils/swapoff.c
new file mode 100644
index 0000000..0bd85ac
--- /dev/null
+++ b/sys-utils/swapoff.c
@@ -0,0 +1,196 @@
+#include <stdio.h>
+#include <errno.h>
+#include <getopt.h>
+
+#ifdef HAVE_SYS_SWAP_H
+# include <sys/swap.h>
+#endif
+
+#include "nls.h"
+#include "c.h"
+#include "closestream.h"
+
+#include "swapon-common.h"
+
+#ifndef SWAPON_HAS_TWO_ARGS
+/* libc is insane, let's call the kernel */
+# include <sys/syscall.h>
+# define swapoff(path) syscall(SYS_swapoff, path)
+#endif
+
+static int verbose;
+static int all;
+
+#define QUIET 1
+#define CANONIC 1
+
+static int do_swapoff(const char *orig_special, int quiet, int canonic)
+{
+ const char *special = orig_special;
+
+ if (verbose)
+ printf(_("swapoff %s\n"), orig_special);
+
+ if (!canonic) {
+ special = mnt_resolve_spec(orig_special, mntcache);
+ if (!special)
+ return cannot_find(orig_special);
+ }
+
+ if (swapoff(special) == 0)
+ return 0; /* success */
+
+ if (errno == EPERM)
+ errx(EXIT_FAILURE, _("Not superuser."));
+
+ if (!quiet || errno == ENOMEM)
+ warn(_("%s: swapoff failed"), orig_special);
+
+ return -1;
+}
+
+static int swapoff_by_label(const char *label, int quiet)
+{
+ const char *special = mnt_resolve_tag("LABEL", label, mntcache);
+ return special ? do_swapoff(special, quiet, CANONIC) : cannot_find(label);
+}
+
+static int swapoff_by_uuid(const char *uuid, int quiet)
+{
+ const char *special = mnt_resolve_tag("UUID", uuid, mntcache);
+ return special ? do_swapoff(special, quiet, CANONIC) : cannot_find(uuid);
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+
+ fprintf(out, _(" %s [options] [<spec>]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -a, --all disable all swaps from /proc/swaps\n"
+ " -v, --verbose verbose mode\n"), out);
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+
+ fputs(_("\nThe <spec> parameter:\n" \
+ " -L <label> LABEL of device to be used\n" \
+ " -U <uuid> UUID of device to be used\n" \
+ " LABEL=<label> LABEL of device to be used\n" \
+ " UUID=<uuid> UUID of device to be used\n" \
+ " <device> name of device to be used\n" \
+ " <file> name of file to be used\n"), out);
+
+ fprintf(out, USAGE_MAN_TAIL("swapoff(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static int swapoff_all(void)
+{
+ int status = 0;
+ struct libmnt_table *tb;
+ struct libmnt_fs *fs;
+ struct libmnt_iter *itr = mnt_new_iter(MNT_ITER_BACKWARD);
+
+ if (!itr)
+ err(EXIT_FAILURE, _("failed to initialize libmount iterator"));
+
+ /*
+ * In case /proc/swaps exists, unswap stuff listed there. We are quiet
+ * but report errors in status. Errors might mean that /proc/swaps
+ * exists as ordinary file, not in procfs. do_swapoff() exits
+ * immediately on EPERM.
+ */
+ tb = get_swaps();
+
+ while (tb && mnt_table_find_next_fs(tb, itr, match_swap, NULL, &fs) == 0)
+ status |= do_swapoff(mnt_fs_get_source(fs), QUIET, CANONIC);
+
+ /*
+ * Unswap stuff mentioned in /etc/fstab. Probably it was unmounted
+ * already, so errors are not bad. Doing swapoff -a twice should not
+ * give error messages.
+ */
+ tb = get_fstab();
+ mnt_reset_iter(itr, MNT_ITER_FORWARD);
+
+ while (tb && mnt_table_find_next_fs(tb, itr, match_swap, NULL, &fs) == 0) {
+ if (!is_active_swap(mnt_fs_get_source(fs)))
+ do_swapoff(mnt_fs_get_source(fs), QUIET, !CANONIC);
+ }
+
+ mnt_free_iter(itr);
+ return status;
+}
+
+int main(int argc, char *argv[])
+{
+ int status = 0, c;
+ size_t i;
+
+ static const struct option long_opts[] = {
+ { "all", 0, 0, 'a' },
+ { "help", 0, 0, 'h' },
+ { "verbose", 0, 0, 'v' },
+ { "version", 0, 0, 'V' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "ahvVL:U:",
+ long_opts, NULL)) != -1) {
+ switch (c) {
+ case 'a': /* all */
+ ++all;
+ break;
+ case 'h': /* help */
+ usage(stdout);
+ break;
+ case 'v': /* be chatty */
+ ++verbose;
+ break;
+ case 'V': /* version */
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'L':
+ add_label(optarg);
+ break;
+ case 'U':
+ add_uuid(optarg);
+ break;
+ case '?':
+ default:
+ usage(stderr);
+ }
+ }
+ argv += optind;
+
+ if (!all && !numof_labels() && !numof_uuids() && *argv == NULL)
+ usage(stderr);
+
+ mnt_init_debug(0);
+ mntcache = mnt_new_cache();
+
+ for (i = 0; i < numof_labels(); i++)
+ status |= swapoff_by_label(get_label(i), !QUIET);
+
+ for (i = 0; i < numof_uuids(); i++)
+ status |= swapoff_by_uuid(get_uuid(i), !QUIET);
+
+ while (*argv != NULL)
+ status |= do_swapoff(*argv++, !QUIET, !CANONIC);
+
+ if (all)
+ status |= swapoff_all();
+
+ free_tables();
+ mnt_free_cache(mntcache);
+
+ return status;
+}
diff --git a/sys-utils/swapon-common.c b/sys-utils/swapon-common.c
new file mode 100644
index 0000000..5c95ef3
--- /dev/null
+++ b/sys-utils/swapon-common.c
@@ -0,0 +1,106 @@
+
+#include "c.h"
+#include "nls.h"
+#include "swapon-common.h"
+#include "xalloc.h"
+
+/*
+ * content of /proc/swaps and /etc/fstab
+ */
+static struct libmnt_table *swaps, *fstab;
+
+struct libmnt_cache *mntcache;
+
+struct libmnt_table *get_fstab(void)
+{
+ if (!fstab) {
+ fstab = mnt_new_table();
+ if (!fstab)
+ return NULL;
+ mnt_table_set_cache(fstab, mntcache);
+ if (mnt_table_parse_fstab(fstab, NULL) != 0)
+ return NULL;
+ }
+
+ return fstab;
+}
+
+struct libmnt_table *get_swaps(void)
+{
+ if (!swaps) {
+ swaps = mnt_new_table();
+ if (!swaps)
+ return NULL;
+ mnt_table_set_cache(swaps, mntcache);
+ if (mnt_table_parse_swaps(swaps, NULL) != 0)
+ return NULL;
+ }
+
+ return swaps;
+}
+
+void free_tables(void)
+{
+ mnt_free_table(swaps);
+ mnt_free_table(fstab);
+}
+
+int match_swap(struct libmnt_fs *fs, void *data __attribute__((unused)))
+{
+ return fs && mnt_fs_is_swaparea(fs);
+}
+
+int is_active_swap(const char *filename)
+{
+ struct libmnt_table *st = get_swaps();
+ return st && mnt_table_find_source(st, filename, MNT_ITER_BACKWARD);
+}
+
+
+int cannot_find(const char *special)
+{
+ warnx(_("cannot find the device for %s"), special);
+ return -1;
+}
+
+/*
+ * Lists with -L and -U option
+ */
+static const char **llist;
+static size_t llct;
+static const char **ulist;
+static size_t ulct;
+
+
+void add_label(const char *label)
+{
+ llist = (const char **) xrealloc(llist, (++llct) * sizeof(char *));
+ llist[llct - 1] = label;
+}
+
+const char *get_label(size_t i)
+{
+ return i < llct ? llist[i] : NULL;
+}
+
+size_t numof_labels(void)
+{
+ return llct;
+}
+
+void add_uuid(const char *uuid)
+{
+ ulist = (const char **) xrealloc(ulist, (++ulct) * sizeof(char *));
+ ulist[ulct - 1] = uuid;
+}
+
+const char *get_uuid(size_t i)
+{
+ return i < ulct ? ulist[i] : NULL;
+}
+
+size_t numof_uuids(void)
+{
+ return ulct;
+}
+
diff --git a/sys-utils/swapon-common.h b/sys-utils/swapon-common.h
new file mode 100644
index 0000000..53ba15e
--- /dev/null
+++ b/sys-utils/swapon-common.h
@@ -0,0 +1,26 @@
+#ifndef UTIL_LINUX_SWAPON_COMMON_H
+#define UTIL_LINUX_SWAPON_COMMON_H
+
+#include <libmount.h>
+
+extern struct libmnt_cache *mntcache;
+
+extern struct libmnt_table *get_fstab(void);
+extern struct libmnt_table *get_swaps(void);
+extern void free_tables(void);
+
+extern int match_swap(struct libmnt_fs *fs, void *data);
+extern int is_active_swap(const char *filename);
+
+extern int cannot_find(const char *special);
+
+extern void add_label(const char *label);
+extern const char *get_label(size_t i);
+extern size_t numof_labels(void);
+
+extern void add_uuid(const char *uuid);
+extern const char *get_uuid(size_t i);
+extern size_t numof_uuids(void);
+
+
+#endif /* UTIL_LINUX_SWAPON_COMMON_H */
diff --git a/sys-utils/swapon.8 b/sys-utils/swapon.8
new file mode 100644
index 0000000..ed4df55
--- /dev/null
+++ b/sys-utils/swapon.8
@@ -0,0 +1,241 @@
+.\" Copyright (c) 1980, 1991 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)swapon.8 6.3 (Berkeley) 3/16/91
+.\"
+.\" Sun Dec 27 12:31:30 1992: Modified by faith@cs.unc.edu
+.\" Sat Mar 6 20:46:02 1993: Modified by faith@cs.unc.edu
+.\" Sat Oct 9 09:35:30 1993: Converted to man format by faith@cs.unc.edu
+.\" Sat Nov 27 20:22:42 1993: Updated authorship information, faith@cs.unc.edu
+.\" Mon Sep 25 14:12:38 1995: Added -v and -p information
+.\" Tue Apr 30 03:32:07 1996: Added some text from A. Koppenhoefer
+.\"
+.TH SWAPON 8 "September 1995" "util-linux" "System Administration"
+.SH NAME
+swapon, swapoff \- enable/disable devices and files for paging and swapping
+.SH SYNOPSIS
+Get info:
+.br
+.in +5
+.B swapon \-s
+.RB [ \-h ]
+.RB [ \-V ]
+.sp
+.in -5
+Enable/disable:
+.br
+.in +5
+.B swapon
+.RB [ \-d ]
+.RB [ \-f ]
+.RB [ \-p
+.IR priority ]
+.RB [ \-v ]
+.IR specialfile ...
+.br
+.B swapoff
+.RB [ \-v ]
+.IR specialfile ...
+.sp
+.in -5
+Enable/disable all:
+.br
+.in +5
+.B swapon \-a
+.RB [ \-e ]
+.RB [ \-f ]
+.RB [ \-v ]
+.br
+.B swapoff \-a
+.RB [ \-v ]
+.in -5
+.SH DESCRIPTION
+.B swapon
+is used to specify devices on which paging and swapping are to take place.
+
+The device or file used is given by the
+.I specialfile
+parameter. It may be of the form
+.BI \-L " label"
+or
+.BI \-U " uuid"
+to indicate a device by label or uuid.
+
+Calls to
+.B swapon
+normally occur in the system boot scripts making all swap devices available, so
+that the paging and swapping activity is interleaved across several devices and
+files.
+
+.B swapoff
+disables swapping on the specified devices and files.
+When the
+.B \-a
+flag is given, swapping is disabled on all known swap devices and files
+(as found in
+.I /proc/swaps
+or
+.IR /etc/fstab ).
+
+.TP
+.B "\-a, \-\-all"
+All devices marked as ``swap'' in
+.I /etc/fstab
+are made available, except for those with the ``noauto'' option.
+Devices that are already being used as swap are silently skipped.
+.TP
+.B "\-d, \-\-discard"
+Discard freed swap pages before they are reused, if the swap
+device supports the discard or trim operation. This may improve
+performance on some Solid State Devices, but often it does not.
+The
+.I /etc/fstab
+mount option
+.BI discard
+may be also used to enable discard flag.
+.TP
+.B "\-e, \-\-ifexists"
+Silently skip devices that do not exist.
+The
+.I /etc/fstab
+mount option
+.BI nofail
+may be also used to skip non-existing device.
+
+.TP
+.B "\-f, \-\-fixpgsz"
+Reinitialize (exec /sbin/mkswap) the swap space if its page size does not
+match that of the the current running kernel.
+.B mkswap(2)
+initializes the whole device and does not check for bad blocks.
+.TP
+.B \-h, \-\-help
+Provide help.
+.TP
+.B "\-L \fIlabel\fP"
+Use the partition that has the specified
+.IR label .
+(For this, access to
+.I /proc/partitions
+is needed.)
+.TP
+.B "\-p, \-\-priority \fIpriority\fP"
+Specify the priority of the swap device.
+.I priority
+is a value between 0 and 32767. Higher numbers indicate higher
+priority. See
+.BR swapon (2)
+for a full description of swap priorities. Add
+.BI pri= value
+to the option field of
+.I /etc/fstab
+for use with
+.BR "swapon -a" .
+.TP
+.B "\-s, \-\-summary"
+Display swap usage summary by device. Equivalent to "cat /proc/swaps".
+Not available before Linux 2.1.25.
+.TP
+\fB\-\-show\fR [\fIcolumn,column\fR]
+Display definable device table similar to
+.B \-\-summary
+output. See \-\-help output for
+.I column
+list.
+.TP
+.B \-\-noheadings
+Do not print headings when displaying
+.B \-\-show
+output.
+.TP
+.B \-\-raw
+Display
+.B \-\-show
+output without aligning table columns.
+.TP
+.B \-\-inhuman
+Display swap size in bytes in
+.B \-\-show
+output instead of user friendly size and unit.
+.B "\-U \fIuuid\fP"
+Use the partition that has the specified
+.IR uuid .
+.TP
+.B "\-v, \-\-verbose"
+Be verbose.
+.TP
+.B "\-V, \-\-version"
+Display version.
+.SH NOTES
+You should not use
+.B swapon
+on a file with holes.
+Swap over NFS may not work.
+.PP
+.B swapon
+automatically detects and rewrites swap space signature with old software
+suspend data (e.g S1SUSPEND, S2SUSPEND, ...). The problem is that if we don't
+do it, then we get data corruption the next time an attempt at unsuspending is
+made.
+.PP
+.B swapon
+may not work correctly when using a swap file with some versions of btrfs.
+This is due to the swap file implementation in the kernel expecting to be able
+to write to the file directly, without the assistance of the file system.
+Since btrfs is a copy-on-write file system, the file location may not be
+static and corruption can result. Btrfs actively disallows the use of files
+on its file systems by refusing to map the file. This can be seen in the system
+log as "swapon: swapfile has holes." One possible workaround is to map the
+file to a loopback device. This will allow the file system to determine the
+mapping properly but may come with a performance impact.
+
+.SH SEE ALSO
+.BR swapon (2),
+.BR swapoff (2),
+.BR fstab (5),
+.BR init (8),
+.BR mkswap (8),
+.BR rc (8),
+.BR mount (8)
+.SH FILES
+.br
+.I /dev/sd??
+standard paging devices
+.br
+.I /etc/fstab
+ascii filesystem description table
+.SH HISTORY
+The
+.B swapon
+command appeared in 4.0BSD.
+.SH AVAILABILITY
+The swapon command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/swapon.c b/sys-utils/swapon.c
new file mode 100644
index 0000000..c9cabc1
--- /dev/null
+++ b/sys-utils/swapon.c
@@ -0,0 +1,823 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <getopt.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <ctype.h>
+
+#include <libmount.h>
+
+#include "c.h"
+#include "nls.h"
+#include "bitops.h"
+#include "blkdev.h"
+#include "pathnames.h"
+#include "xalloc.h"
+#include "closestream.h"
+
+#include "swapheader.h"
+#include "swapon-common.h"
+#include "strutils.h"
+#include "tt.h"
+
+#define PATH_MKSWAP "/sbin/mkswap"
+
+#ifdef HAVE_SYS_SWAP_H
+# include <sys/swap.h>
+#endif
+
+#ifndef SWAP_FLAG_DISCARD
+# define SWAP_FLAG_DISCARD 0x10000 /* discard swap cluster after use */
+#endif
+
+#ifndef SWAP_FLAG_PREFER
+# define SWAP_FLAG_PREFER 0x8000 /* set if swap priority specified */
+#endif
+
+#ifndef SWAP_FLAG_PRIO_MASK
+# define SWAP_FLAG_PRIO_MASK 0x7fff
+#endif
+
+#ifndef SWAP_FLAG_PRIO_SHIFT
+# define SWAP_FLAG_PRIO_SHIFT 0
+#endif
+
+#ifndef SWAPON_HAS_TWO_ARGS
+/* libc is insane, let's call the kernel */
+# include <sys/syscall.h>
+# define swapon(path, flags) syscall(SYS_swapon, path, flags)
+#endif
+
+#define QUIET 1
+#define CANONIC 1
+
+#define MAX_PAGESIZE (64 * 1024)
+
+enum {
+ SIG_SWAPSPACE = 1,
+ SIG_SWSUSPEND
+};
+
+#define SWAP_SIGNATURE "SWAPSPACE2"
+#define SWAP_SIGNATURE_SZ (sizeof(SWAP_SIGNATURE) - 1)
+
+static int all;
+static int priority = -1; /* non-prioritized swap by default */
+static int discard;
+
+/* If true, don't complain if the device/file doesn't exist */
+static int ifexists;
+static int fixpgsz;
+static int verbose;
+
+/* column names */
+struct colinfo {
+ const char *name; /* header */
+ double whint; /* width hint (N < 1 is in percent of termwidth) */
+ int flags; /* TT_FL_* */
+ const char *help;
+};
+enum { COL_PATH, COL_TYPE, COL_SIZE, COL_USED, COL_PRIO };
+struct colinfo infos[] = {
+ [COL_PATH] = { "NAME", 0.20, 0, N_("device file or partition path") },
+ [COL_TYPE] = { "TYPE", 0.20, TT_FL_TRUNC, N_("type of the device")},
+ [COL_SIZE] = { "SIZE", 0.20, TT_FL_RIGHT, N_("size of the swap area")},
+ [COL_USED] = { "USED", 0.20, TT_FL_RIGHT, N_("bytes in use")},
+ [COL_PRIO] = { "PRIO", 0.20, TT_FL_RIGHT, N_("swap priority")},
+};
+#define NCOLS ARRAY_SIZE(infos)
+static int columns[NCOLS], ncolumns;
+
+static int column_name_to_id(const char *name, size_t namesz)
+{
+ size_t i;
+
+ assert(name);
+
+ for (i = 0; i < NCOLS; i++) {
+ const char *cn = infos[i].name;
+
+ if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ return i;
+ }
+ warnx(_("unknown column: %s"), name);
+ return -1;
+}
+
+static inline int get_column_id(int num)
+{
+ assert(ARRAY_SIZE(columns) == NCOLS);
+ assert(num < ncolumns);
+ assert(columns[num] < (int)NCOLS);
+
+ return columns[num];
+}
+
+static inline struct colinfo *get_column_info(unsigned num)
+{
+ return &infos[get_column_id(num)];
+}
+
+static void add_tt_line(struct tt *tt, struct libmnt_fs *fs, int bytes)
+{
+ int i;
+ struct tt_line *line;
+
+ assert(tt);
+ assert(fs);
+
+ line = tt_add_line(tt, NULL);
+ if (!line) {
+ warn(_("failed to add line to output"));
+ return;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ char *str = NULL;
+ int rc = 0;
+ off_t size;
+
+ switch (get_column_id(i)) {
+ case COL_PATH:
+ rc = xasprintf(&str, "%s", mnt_fs_get_source(fs));
+ break;
+ case COL_TYPE:
+ rc = xasprintf(&str, "%s", mnt_fs_get_swaptype(fs));
+ break;
+ case COL_SIZE:
+ size = mnt_fs_get_size(fs);
+ size *= 1024; /* convert to bytes */
+ if (bytes)
+ rc = xasprintf(&str, "%jd", size);
+ else
+ str = size_to_human_string(SIZE_SUFFIX_1LETTER, size);
+ break;
+ case COL_USED:
+ size = mnt_fs_get_usedsize(fs);
+ size *= 1024; /* convert to bytes */
+ if (bytes)
+ rc = xasprintf(&str, "%jd", size);
+ else
+ str = size_to_human_string(SIZE_SUFFIX_1LETTER, size);
+ break;
+ case COL_PRIO:
+ rc = xasprintf(&str, "%d", mnt_fs_get_priority(fs));
+ break;
+ default:
+ break;
+ }
+
+ if (rc || str)
+ tt_line_set_data(line, i, str);
+ }
+ return;
+}
+
+static int display_summary(void)
+{
+ struct libmnt_table *st = get_swaps();
+ struct libmnt_iter *itr;
+ struct libmnt_fs *fs;
+
+ if (!st)
+ return -1;
+
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+ if (!itr)
+ err(EXIT_FAILURE, _("failed to initialize libmount iterator"));
+
+ if (mnt_table_get_nents(st) > 0)
+ printf(_("%s\t\t\t\tType\t\tSize\tUsed\tPriority\n"), _("Filename"));
+
+ while (mnt_table_next_fs(st, itr, &fs) == 0) {
+ printf("%-39s\t%s\t%jd\t%jd\t%d\n",
+ mnt_fs_get_source(fs),
+ mnt_fs_get_swaptype(fs),
+ mnt_fs_get_size(fs),
+ mnt_fs_get_usedsize(fs),
+ mnt_fs_get_priority(fs));
+ }
+
+ mnt_free_iter(itr);
+ return 0;
+}
+
+static int show_table(int tt_flags, int bytes)
+{
+ struct libmnt_table *st = get_swaps();
+ struct libmnt_iter *itr;
+ struct libmnt_fs *fs;
+
+ int i, rc = 0;
+ struct tt *tt;
+
+ if (!st)
+ return -1;
+
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+ if (!itr)
+ err(EXIT_FAILURE, _("failed to initialize libmount iterator"));
+
+ tt = tt_new_table(tt_flags);
+ if (!tt) {
+ warn(_("failed to initialize output table"));
+ return -1;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ struct colinfo *col = get_column_info(i);
+
+ if (!tt_define_column(tt, col->name, col->whint, col->flags)) {
+ warnx(_("failed to initialize output column"));
+ rc = -1;
+ goto done;
+ }
+ }
+
+ while (mnt_table_next_fs(st, itr, &fs) == 0)
+ add_tt_line(tt, fs, bytes);
+
+ mnt_free_iter(itr);
+ tt_print_table(tt);
+ done:
+ tt_free_table(tt);
+ return rc;
+}
+
+/* calls mkswap */
+static int swap_reinitialize(const char *device,
+ const char *label, const char *uuid)
+{
+ pid_t pid;
+ int status, ret;
+ char *cmd[7];
+ int idx=0;
+
+ warnx(_("%s: reinitializing the swap."), device);
+
+ switch((pid=fork())) {
+ case -1: /* fork error */
+ warn(_("fork failed"));
+ return -1;
+
+ case 0: /* child */
+ cmd[idx++] = PATH_MKSWAP;
+ if (label && *label) {
+ cmd[idx++] = "-L";
+ cmd[idx++] = (char *) label;
+ }
+ if (uuid && *uuid) {
+ cmd[idx++] = "-U";
+ cmd[idx++] = (char *) uuid;
+ }
+ cmd[idx++] = (char *) device;
+ cmd[idx++] = NULL;
+ execv(cmd[0], cmd);
+ err(EXIT_FAILURE, _("execv failed"));
+
+ default: /* parent */
+ do {
+ if ((ret = waitpid(pid, &status, 0)) < 0
+ && errno == EINTR)
+ continue;
+ else if (ret < 0) {
+ warn(_("waitpid failed"));
+ return -1;
+ }
+ } while (0);
+
+ /* mkswap returns: 0=suss, 1=error */
+ if (WIFEXITED(status) && WEXITSTATUS(status)==0)
+ return 0; /* ok */
+ break;
+ }
+ return -1; /* error */
+}
+
+static int swap_rewrite_signature(const char *devname, unsigned int pagesize)
+{
+ int fd, rc = -1;
+
+ fd = open(devname, O_WRONLY);
+ if (fd == -1) {
+ warn(_("cannot open %s"), devname);
+ return -1;
+ }
+
+ if (lseek(fd, pagesize - SWAP_SIGNATURE_SZ, SEEK_SET) < 0) {
+ warn(_("%s: lseek failed"), devname);
+ goto err;
+ }
+
+ if (write(fd, (void *) SWAP_SIGNATURE,
+ SWAP_SIGNATURE_SZ) != SWAP_SIGNATURE_SZ) {
+ warn(_("%s: write signature failed"), devname);
+ goto err;
+ }
+
+ rc = 0;
+err:
+ close(fd);
+ return rc;
+}
+
+static int swap_detect_signature(const char *buf, int *sig)
+{
+ if (memcmp(buf, "SWAP-SPACE", 10) == 0 ||
+ memcmp(buf, "SWAPSPACE2", 10) == 0)
+ *sig = SIG_SWAPSPACE;
+
+ else if (memcmp(buf, "S1SUSPEND", 9) == 0 ||
+ memcmp(buf, "S2SUSPEND", 9) == 0 ||
+ memcmp(buf, "ULSUSPEND", 9) == 0 ||
+ memcmp(buf, "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8) == 0 ||
+ memcmp(buf, "LINHIB0001", 10) == 0)
+ *sig = SIG_SWSUSPEND;
+ else
+ return 0;
+
+ return 1;
+}
+
+static char *swap_get_header(int fd, int *sig, unsigned int *pagesize)
+{
+ char *buf;
+ ssize_t datasz;
+ unsigned int page;
+
+ *pagesize = 0;
+ *sig = 0;
+
+ buf = xmalloc(MAX_PAGESIZE);
+
+ datasz = read(fd, buf, MAX_PAGESIZE);
+ if (datasz == (ssize_t) -1)
+ goto err;
+
+ for (page = 0x1000; page <= MAX_PAGESIZE; page <<= 1) {
+ /* skip 32k pagesize since this does not seem to
+ * be supported */
+ if (page == 0x8000)
+ continue;
+ /* the smallest swap area is PAGE_SIZE*10, it means
+ * 40k, that's less than MAX_PAGESIZE */
+ if (datasz < 0 || (size_t) datasz < (page - SWAP_SIGNATURE_SZ))
+ break;
+ if (swap_detect_signature(buf + page - SWAP_SIGNATURE_SZ, sig)) {
+ *pagesize = page;
+ break;
+ }
+ }
+
+ if (*pagesize)
+ return buf;
+err:
+ free(buf);
+ return NULL;
+}
+
+/* returns real size of swap space */
+static unsigned long long swap_get_size(const char *hdr, const char *devname,
+ unsigned int pagesize)
+{
+ unsigned int last_page = 0;
+ int swap_version = 0;
+ int flip = 0;
+ struct swap_header_v1_2 *s;
+
+ s = (struct swap_header_v1_2 *) hdr;
+ if (s->version == 1) {
+ swap_version = 1;
+ last_page = s->last_page;
+ } else if (swab32(s->version) == 1) {
+ flip = 1;
+ swap_version = 1;
+ last_page = swab32(s->last_page);
+ }
+ if (verbose)
+ warnx(_("%s: found swap signature: version %d, "
+ "page-size %d, %s byte order"),
+ devname,
+ swap_version,
+ pagesize / 1024,
+ flip ? _("different") : _("same"));
+
+ return ((unsigned long long) last_page + 1) * pagesize;
+}
+
+static void swap_get_info(const char *hdr, char **label, char **uuid)
+{
+ struct swap_header_v1_2 *s = (struct swap_header_v1_2 *) hdr;
+
+ if (s && *s->volume_name && label)
+ *label = xstrdup(s->volume_name);
+
+ if (s && *s->uuid && uuid) {
+ const unsigned char *u = s->uuid;
+ char str[37];
+
+ snprintf(str, sizeof(str),
+ "%02x%02x%02x%02x-"
+ "%02x%02x-%02x%02x-"
+ "%02x%02x-%02x%02x%02x%02x%02x%02x",
+ u[0], u[1], u[2], u[3],
+ u[4], u[5], u[6], u[7],
+ u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15]);
+ *uuid = xstrdup(str);
+ }
+}
+
+static int swapon_checks(const char *special)
+{
+ struct stat st;
+ int fd = -1, sig;
+ char *hdr = NULL;
+ unsigned int pagesize;
+ unsigned long long devsize = 0;
+
+ if (stat(special, &st) < 0) {
+ warn(_("stat failed %s"), special);
+ goto err;
+ }
+
+ /* people generally dislike this warning - now it is printed
+ only when `verbose' is set */
+ if (verbose) {
+ int permMask = (S_ISBLK(st.st_mode) ? 07007 : 07077);
+
+ if ((st.st_mode & permMask) != 0)
+ warnx(_("%s: insecure permissions %04o, %04o suggested."),
+ special, st.st_mode & 07777,
+ ~permMask & 0666);
+
+ if (S_ISREG(st.st_mode) && st.st_uid != 0)
+ warnx(_("%s: insecure file owner %d, 0 (root) suggested."),
+ special, st.st_uid);
+ }
+
+ /* test for holes by LBT */
+ if (S_ISREG(st.st_mode)) {
+ if (st.st_blocks * 512 < st.st_size) {
+ warnx(_("%s: skipping - it appears to have holes."),
+ special);
+ goto err;
+ }
+ devsize = st.st_size;
+ }
+
+ fd = open(special, O_RDONLY);
+ if (fd == -1) {
+ warn(_("cannot open %s"), special);
+ goto err;
+ }
+
+ if (S_ISBLK(st.st_mode) && blkdev_get_size(fd, &devsize)) {
+ warn(_("%s: get size failed"), special);
+ goto err;
+ }
+
+ hdr = swap_get_header(fd, &sig, &pagesize);
+ if (!hdr) {
+ warn(_("%s: read swap header failed"), special);
+ goto err;
+ }
+
+ if (sig == SIG_SWAPSPACE && pagesize) {
+ unsigned long long swapsize =
+ swap_get_size(hdr, special, pagesize);
+ int syspg = getpagesize();
+
+ if (verbose)
+ warnx(_("%s: pagesize=%d, swapsize=%llu, devsize=%llu"),
+ special, pagesize, swapsize, devsize);
+
+ if (swapsize > devsize) {
+ if (verbose)
+ warnx(_("%s: last_page 0x%08llx is larger"
+ " than actual size of swapspace"),
+ special, swapsize);
+ } else if (syspg < 0 || (unsigned) syspg != pagesize) {
+ if (fixpgsz) {
+ char *label = NULL, *uuid = NULL;
+ int rc;
+
+ swap_get_info(hdr, &label, &uuid);
+
+ warnx(_("%s: swap format pagesize does not match."),
+ special);
+ rc = swap_reinitialize(special, label, uuid);
+ free(label);
+ free(uuid);
+ if (rc < 0)
+ goto err;
+ } else
+ warnx(_("%s: swap format pagesize does not match. "
+ "(Use --fixpgsz to reinitialize it.)"),
+ special);
+ }
+ } else if (sig == SIG_SWSUSPEND) {
+ /* We have to reinitialize swap with old (=useless) software suspend
+ * data. The problem is that if we don't do it, then we get data
+ * corruption the next time an attempt at unsuspending is made.
+ */
+ warnx(_("%s: software suspend data detected. "
+ "Rewriting the swap signature."),
+ special);
+ if (swap_rewrite_signature(special, pagesize) < 0)
+ goto err;
+ }
+
+ free(hdr);
+ close(fd);
+ return 0;
+err:
+ if (fd != -1)
+ close(fd);
+ free(hdr);
+ return -1;
+}
+
+static int do_swapon(const char *orig_special, int prio,
+ int fl_discard, int canonic)
+{
+ int status;
+ const char *special = orig_special;
+ int flags = 0;
+
+ if (verbose)
+ printf(_("swapon %s\n"), orig_special);
+
+ if (!canonic) {
+ special = mnt_resolve_spec(orig_special, mntcache);
+ if (!special)
+ return cannot_find(orig_special);
+ }
+
+ if (swapon_checks(special))
+ return -1;
+
+#ifdef SWAP_FLAG_PREFER
+ if (prio >= 0) {
+ if (prio > SWAP_FLAG_PRIO_MASK)
+ prio = SWAP_FLAG_PRIO_MASK;
+ flags = SWAP_FLAG_PREFER
+ | ((prio & SWAP_FLAG_PRIO_MASK)
+ << SWAP_FLAG_PRIO_SHIFT);
+ }
+#endif
+ if (fl_discard)
+ flags |= SWAP_FLAG_DISCARD;
+
+ status = swapon(special, flags);
+ if (status < 0)
+ warn(_("%s: swapon failed"), orig_special);
+
+ return status;
+}
+
+static int swapon_by_label(const char *label, int prio, int dsc)
+{
+ const char *special = mnt_resolve_tag("LABEL", label, mntcache);
+ return special ? do_swapon(special, prio, dsc, CANONIC) :
+ cannot_find(label);
+}
+
+static int swapon_by_uuid(const char *uuid, int prio, int dsc)
+{
+ const char *special = mnt_resolve_tag("UUID", uuid, mntcache);
+ return special ? do_swapon(special, prio, dsc, CANONIC) :
+ cannot_find(uuid);
+}
+
+static int swapon_all(void)
+{
+ struct libmnt_table *tb = get_fstab();
+ struct libmnt_iter *itr;
+ struct libmnt_fs *fs;
+ int status = 0;
+
+ if (!tb)
+ err(EXIT_FAILURE, _("failed to parse %s"), mnt_get_fstab_path());
+
+ itr = mnt_new_iter(MNT_ITER_FORWARD);
+ if (!itr)
+ err(EXIT_FAILURE, _("failed to initialize libmount iterator"));
+
+ while (mnt_table_find_next_fs(tb, itr, match_swap, NULL, &fs) == 0) {
+ /* defaults */
+ int pri = priority, dsc = discard, nofail = ifexists;
+ char *p, *src;
+
+ if (mnt_fs_get_option(fs, "noauto", NULL, NULL) == 0)
+ continue;
+ if (mnt_fs_get_option(fs, "discard", NULL, NULL) == 0)
+ dsc = 1;
+ if (mnt_fs_get_option(fs, "nofail", NULL, NULL) == 0)
+ nofail = 1;
+ if (mnt_fs_get_option(fs, "pri", &p, NULL) == 0 && p)
+ pri = atoi(p);
+
+ src = mnt_resolve_spec(mnt_fs_get_source(fs), mntcache);
+ if (!src) {
+ if (!nofail)
+ status |= cannot_find(mnt_fs_get_source(fs));
+ continue;
+ }
+
+ if (!is_active_swap(src) &&
+ (!nofail || !access(src, R_OK)))
+ status |= do_swapon(src, pri, dsc, CANONIC);
+ }
+
+ mnt_free_iter(itr);
+ return status;
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+
+ fprintf(out, _(" %s [options] [<spec>]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -a, --all enable all swaps from /etc/fstab\n"
+ " -d, --discard discard freed pages before they are reused\n"
+ " -e, --ifexists silently skip devices that do not exist\n"
+ " -f, --fixpgsz reinitialize the swap space if necessary\n"
+ " -p, --priority <prio> specify the priority of the swap device\n"
+ " -s, --summary display summary about used swap devices\n"
+ " --show[=<columns>] display summary in definable table\n"
+ " --noheadings don't print headings, use with --show\n"
+ " --raw use the raw output format, use with --show\n"
+ " --bytes display swap size in bytes in --show output\n"
+ " -v, --verbose verbose mode\n"), out);
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+
+ fputs(_("\nThe <spec> parameter:\n" \
+ " -L <label> synonym for LABEL=<label>\n"
+ " -U <uuid> synonym for UUID=<uuid>\n"
+ " LABEL=<label> specifies device by swap area label\n"
+ " UUID=<uuid> specifies device by swap area UUID\n"
+ " PARTLABEL=<label> specifies device by partition label\n"
+ " PARTUUID=<uuid> specifies device by partition UUID\n"
+ " <device> name of device to be used\n"
+ " <file> name of file to be used\n"), out);
+
+ fputs(_("\nAvailable columns (for --show):\n"), out);
+ for (size_t i = 0; i < NCOLS; i++)
+ fprintf(out, " %4s %s\n", infos[i].name, _(infos[i].help));
+
+ fprintf(out, USAGE_MAN_TAIL("swapon(8)"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ int status = 0, c;
+ int show = 0, tt_flags = 0;
+ int bytes = 0;
+ size_t i;
+
+ enum {
+ SHOW_OPTION = CHAR_MAX + 1,
+ RAW_OPTION,
+ NOHEADINGS_OPTION,
+ BYTES_OPTION
+ };
+
+ static const struct option long_opts[] = {
+ { "priority", 1, 0, 'p' },
+ { "discard", 0, 0, 'd' },
+ { "ifexists", 0, 0, 'e' },
+ { "summary", 0, 0, 's' },
+ { "fixpgsz", 0, 0, 'f' },
+ { "all", 0, 0, 'a' },
+ { "help", 0, 0, 'h' },
+ { "verbose", 0, 0, 'v' },
+ { "version", 0, 0, 'V' },
+ { "show", 2, 0, SHOW_OPTION },
+ { "noheadings", 0, 0, NOHEADINGS_OPTION },
+ { "raw", 0, 0, RAW_OPTION },
+ { "bytes", 0, 0, BYTES_OPTION },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ mnt_init_debug(0);
+ mntcache = mnt_new_cache();
+
+ while ((c = getopt_long(argc, argv, "ahdefp:svVL:U:",
+ long_opts, NULL)) != -1) {
+ switch (c) {
+ case 'a': /* all */
+ ++all;
+ break;
+ case 'h': /* help */
+ usage(stdout);
+ break;
+ case 'p': /* priority */
+ priority = atoi(optarg);
+ break;
+ case 'L':
+ add_label(optarg);
+ break;
+ case 'U':
+ add_uuid(optarg);
+ break;
+ case 'd':
+ discard = 1;
+ break;
+ case 'e': /* ifexists */
+ ifexists = 1;
+ break;
+ case 'f':
+ fixpgsz = 1;
+ break;
+ case 's': /* status report */
+ status = display_summary();
+ return status;
+ case 'v': /* be chatty */
+ ++verbose;
+ break;
+ case SHOW_OPTION:
+ if (optarg) {
+ ncolumns = string_to_idarray(optarg,
+ columns,
+ ARRAY_SIZE(columns),
+ column_name_to_id);
+ if (ncolumns < 0)
+ return EXIT_FAILURE;
+ }
+ show = 1;
+ break;
+ case NOHEADINGS_OPTION:
+ tt_flags |= TT_FL_NOHEADINGS;
+ break;
+ case RAW_OPTION:
+ tt_flags |= TT_FL_RAW;
+ break;
+ case BYTES_OPTION:
+ bytes = 1;
+ break;
+ case 'V': /* version */
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 0:
+ break;
+ case '?':
+ default:
+ usage(stderr);
+ }
+ }
+ argv += optind;
+
+ if (show) {
+ if (!ncolumns) {
+ /* default columns */
+ columns[ncolumns++] = COL_PATH;
+ columns[ncolumns++] = COL_TYPE;
+ columns[ncolumns++] = COL_SIZE;
+ columns[ncolumns++] = COL_USED;
+ columns[ncolumns++] = COL_PRIO;
+ }
+ status = show_table(tt_flags, bytes);
+ return status;
+ }
+
+ if (!all && !numof_labels() && !numof_uuids() && *argv == NULL)
+ usage(stderr);
+
+ if (ifexists && !all)
+ usage(stderr);
+
+ if (all)
+ status |= swapon_all();
+
+ for (i = 0; i < numof_labels(); i++)
+ status |= swapon_by_label(get_label(i), priority, discard);
+
+ for (i = 0; i < numof_uuids(); i++)
+ status |= swapon_by_uuid(get_uuid(i), priority, discard);
+
+ while (*argv != NULL)
+ status |= do_swapon(*argv++, priority, discard, !CANONIC);
+
+ free_tables();
+ mnt_free_cache(mntcache);
+
+ return status;
+}
diff --git a/sys-utils/switch_root.8 b/sys-utils/switch_root.8
new file mode 100644
index 0000000..34ab0d0
--- /dev/null
+++ b/sys-utils/switch_root.8
@@ -0,0 +1,61 @@
+.\" Karel Zak <kzak@redhat.com>
+.TH SWITCH_ROOT 8 "June 2009" "util-linux" "System Administration"
+.SH NAME
+switch_root \- switch to another filesystem as the root of the mount tree
+.SH SYNOPSIS
+.B switch_root
+.RB [ \-hV ]
+.LP
+.B switch_root
+.I newroot
+.I init
+.RI [ arg ...]
+.SH DESCRIPTION
+.B switch_root
+moves already mounted /proc, /dev and /sys to
+.I newroot
+and makes
+.I newroot
+the new root filesystem and starts
+.I init
+process.
+
+.B WARNING: switch_root removes recursively all files and directories on the current root filesystem.
+
+.SH OPTIONS
+.IP "\fB\-h, \-\-help\fP"
+show help and exit
+.IP "\fB\-V, \-\-version\fP"
+show version number and exit
+
+.SH RETURN VALUE
+.B switch_root
+returns 0 on success and 1 on failure.
+
+.SH NOTES
+switch_root will fail to function if
+.B newroot
+is not the root of a mount. If you want to switch root into a directory that
+does not meet this requirement then you can first use a bind-mounting trick to
+turn any directory into a mount point:
+.sp
+.nf
+.RS
+mount --bind $DIR $DIR
+.RE
+.fi
+
+.SH "SEE ALSO"
+.BR mount (8)
+.BR chroot (2)
+.BR init (8)
+.BR mkinitrd (8)
+.SH AUTHORS
+.nf
+Peter Jones <pjones@redhat.com>
+Jeremy Katz <katzj@redhat.com>
+Karel Zak <kzak@redhat.com>
+.fi
+.SH AVAILABILITY
+The switch_root command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/switch_root.c b/sys-utils/switch_root.c
new file mode 100644
index 0000000..bcd801d
--- /dev/null
+++ b/sys-utils/switch_root.c
@@ -0,0 +1,225 @@
+/*
+ * switchroot.c - switch to new root directory and start init.
+ *
+ * Copyright 2002-2009 Red Hat, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Peter Jones <pjones@redhat.com>
+ * Jeremy Katz <katzj@redhat.com>
+ */
+#include <sys/mount.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <dirent.h>
+
+#include "c.h"
+#include "nls.h"
+#include "closestream.h"
+
+#ifndef MS_MOVE
+#define MS_MOVE 8192
+#endif
+
+#ifndef MNT_DETACH
+#define MNT_DETACH 0x00000002 /* Just detach from the tree */
+#endif
+
+/* remove all files/directories below dirName -- don't cross mountpoints */
+static int recursiveRemove(int fd)
+{
+ struct stat rb;
+ DIR *dir;
+ int rc = -1;
+ int dfd;
+
+ if (!(dir = fdopendir(fd))) {
+ warn(_("failed to open directory"));
+ goto done;
+ }
+
+ /* fdopendir() precludes us from continuing to use the input fd */
+ dfd = dirfd(dir);
+
+ if (fstat(dfd, &rb)) {
+ warn(_("stat failed"));
+ goto done;
+ }
+
+ while(1) {
+ struct dirent *d;
+
+ errno = 0;
+ if (!(d = readdir(dir))) {
+ if (errno) {
+ warn(_("failed to read directory"));
+ goto done;
+ }
+ break; /* end of directory */
+ }
+
+ if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, ".."))
+ continue;
+
+ if (d->d_type == DT_DIR) {
+ struct stat sb;
+
+ if (fstatat(dfd, d->d_name, &sb, AT_SYMLINK_NOFOLLOW)) {
+ warn(_("stat failed %s"), d->d_name);
+ continue;
+ }
+
+ /* remove subdirectories if device is same as dir */
+ if (sb.st_dev == rb.st_dev) {
+ int cfd;
+
+ cfd = openat(dfd, d->d_name, O_RDONLY);
+ if (cfd >= 0) {
+ recursiveRemove(cfd);
+ close(cfd);
+ }
+ } else
+ continue;
+ }
+
+ if (unlinkat(dfd, d->d_name,
+ d->d_type == DT_DIR ? AT_REMOVEDIR : 0))
+ warn(_("failed to unlink %s"), d->d_name);
+ }
+
+ rc = 0; /* success */
+
+done:
+ if (dir)
+ closedir(dir);
+ return rc;
+}
+
+static int switchroot(const char *newroot)
+{
+ /* Don't try to unmount the old "/", there's no way to do it. */
+ const char *umounts[] = { "/dev", "/proc", "/sys", "/run", NULL };
+ int i;
+ int cfd;
+ pid_t pid;
+ struct stat newroot_stat, sb;
+
+ if (stat(newroot, &newroot_stat) != 0) {
+ warn(_("stat failed %s"), newroot);
+ return -1;
+ }
+
+ for (i = 0; umounts[i] != NULL; i++) {
+ char newmount[PATH_MAX];
+
+ snprintf(newmount, sizeof(newmount), "%s%s", newroot, umounts[i]);
+
+ if ((stat(newmount, &sb) != 0) || (sb.st_dev != newroot_stat.st_dev)) {
+ /* mount point seems to be mounted already or stat failed */
+ umount2(umounts[i], MNT_DETACH);
+ continue;
+ }
+
+ if (mount(umounts[i], newmount, NULL, MS_MOVE, NULL) < 0) {
+ warn(_("failed to mount moving %s to %s"),
+ umounts[i], newmount);
+ warnx(_("forcing unmount of %s"), umounts[i]);
+ umount2(umounts[i], MNT_FORCE);
+ }
+ }
+
+ if (chdir(newroot)) {
+ warn(_("failed to change directory to %s"), newroot);
+ return -1;
+ }
+
+ cfd = open("/", O_RDONLY);
+
+ if (mount(newroot, "/", NULL, MS_MOVE, NULL) < 0) {
+ close(cfd);
+ warn(_("failed to mount moving %s to /"), newroot);
+ return -1;
+ }
+
+ if (chroot(".")) {
+ close(cfd);
+ warn(_("failed to change root"));
+ return -1;
+ }
+
+ if (cfd >= 0) {
+ pid = fork();
+ if (pid <= 0) {
+ recursiveRemove(cfd);
+ if (pid == 0)
+ exit(EXIT_SUCCESS);
+ }
+ close(cfd);
+ }
+ return 0;
+}
+
+static void __attribute__((__noreturn__)) usage(FILE *output)
+{
+ fputs(USAGE_HEADER, output);
+ fprintf(output, _(" %s [options] <newrootdir> <init> <args to init>\n"),
+ program_invocation_short_name);
+ fputs(USAGE_OPTIONS, output);
+ fputs(USAGE_HELP, output);
+ fputs(USAGE_VERSION, output);
+ fprintf(output, USAGE_MAN_TAIL("switch_root(8)"));
+
+ exit(output == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ char *newroot, *init, **initargs;
+ atexit(close_stdout);
+
+ if (argv[1] && (!strcmp(argv[1], "--help") || !strcmp(argv[1], "-h")))
+ usage(stdout);
+ if (argv[1] && (!strcmp(argv[1], "--version") || !strcmp(argv[1], "-V"))) {
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ }
+ if (argc < 3)
+ usage(stderr);
+
+ newroot = argv[1];
+ init = argv[2];
+ initargs = &argv[2];
+
+ if (!*newroot || !*init)
+ usage(stderr);
+
+ if (switchroot(newroot))
+ errx(EXIT_FAILURE, _("failed. Sorry."));
+
+ if (access(init, X_OK))
+ warn(_("cannot access %s"), init);
+
+ execv(init, initargs);
+ err(EXIT_FAILURE, _("failed to execute %s"), init);
+}
+
diff --git a/sys-utils/tunelp.8 b/sys-utils/tunelp.8
new file mode 100644
index 0000000..444cfb4
--- /dev/null
+++ b/sys-utils/tunelp.8
@@ -0,0 +1,147 @@
+.\" This file Copyright (C) 1992-1997 Michael K. Johnson <johnsonm@redhat.com>
+.\" This file Copyright (C) 1998 Andrea Arcangeli <andrea@e-mind.com>
+.\" It may be distributed under the terms of the GNU General Public License,
+.\" version 2, or any higher version. See section COPYING of the GNU General
+.\" Public license for conditions under which this file may be redistributed.
+.\"
+.\" Polished a bit - aeb
+.TH TUNELP 8 "October 2011" "util-linux" "System Administration"
+.SH NAME
+tunelp \- set various parameters for the lp device
+.SH SYNOPSIS
+.B tunelp
+[options]
+.I device
+.SH DESCRIPTION
+\fBtunelp\fP sets several parameters for the /dev/lp\fI?\fP devices, for
+better performance (or for any performance at all, if your printer won't work
+without it...) Without parameters, it tells whether the device is using
+interrupts, and if so, which one. With parameters, it sets the device
+characteristics accordingly.
+.SH OPTIONS
+.TP
+\fB\-i\fR, \fB\-\-irq\fR \fIargument\fR
+specifies the IRQ to use for the parallel port in question. If this is set
+to something non-zero, \-t and \-c have no effect. If your port does not use
+interrupts, this option will make printing stop. The command
+.B tunelp -i 0
+restores non-interrupt driven (polling) action, and your printer should work
+again. If your parallel port does support interrupts, interrupt-driven
+printing should be somewhat faster and efficient, and will probably be
+desirable.
+.IP
+NOTE: This option will have no effect with kernel 2.1.131 or later since the
+irq is handled by the parport driver. You can change the parport irq for
+example via
+.IR /proc/parport/*/irq .
+Read
+.I /usr/src/linux/Documentation/parport.txt
+for more details on parport.
+.TP
+\fB\-t\fR, \fB\-\-time\fR \fImilliseconds\fR
+is the amount of time in jiffies that the driver waits if the printer doesn't
+take a character for the number of tries dictated by the \-c parameter. 10
+is the default value. If you want fastest possible printing, and don't care
+about system load, you may set this to 0. If you don't care how fast your
+printer goes, or are printing text on a slow printer with a buffer, then 500
+(5 seconds) should be fine, and will give you very low system load. This
+value generally should be lower for printing graphics than text, by a factor
+of approximately 10, for best performance.
+.TP
+\fB\-c\fR, \fB\-\-chars\fR \fIcharacters\fR
+is the number of times to try to output a character to the printer before
+sleeping for \-t \fITIME\fP. It is the number of times around a loop that
+tries to send a character to the printer. 120 appears to be a good value for
+most printers in polling mode. 1000 is the default, because there are some
+printers that become jerky otherwise, but you \fImust\fP set this to `1' to
+handle the maximal CPU efficiency if you are using interrupts. If you have a
+very fast printer, a value of 10 might make more sense even if in polling
+mode. If you have a \fIreally\fP old printer, you can increase this further.
+.IP
+Setting \-t \fITIME\fP to 0 is equivalent to setting \-c \fICHARS\fP to
+infinity.
+.TP
+\fB\-w\fR, \fB\-\-wait\fR \fImilliseconds\fR
+is the number of usec we wait while playing with the strobe signal. While
+most printers appear to be able to deal with an extremely short strobe, some
+printers demand a longer one. Increasing this from the default 1 may make it
+possible to print with those printers. This may also make it possible to use
+longer cables. It's also possible to decrease this value to 0 if your
+printer is fast enough or your machine is slow enough.
+.TP
+\fB\-a\fR, \fB\-\-abort\fR \fI<on|off>\fR
+This is whether to abort on printer error - the default is not to. If you
+are sitting at your computer, you probably want to be able to see an error
+and fix it, and have the printer go on printing. On the other hand, if you
+aren't, you might rather that your printer spooler find out that the printer
+isn't ready, quit trying, and send you mail about it. The choice is yours.
+.TP
+\fB\-o\fR, \fB\-\-check\-status\fR \fI<on|off>\fR
+This option is much like \-a. It makes any
+.I open()
+of this device check to see that the device is on-line and not reporting any
+out of paper or other errors. This is the correct setting for most versions
+of lpd.
+.TP
+\fB\-C\fR, \fB\-\-careful\fR \fI<on|off>\fR
+This option adds extra ("careful") error checking. When this option is on,
+the printer driver will ensure that the printer is on-line and not reporting
+any out of paper or other errors before sending data. This is particularly
+useful for printers that normally appear to accept data when turned off.
+.IP
+NOTE: This option is obsolete because it's the default in 2.1.131 kernel or
+later.
+.TP
+\fB\-s\fR, \fB\-\-status\fR
+This option returns the current printer status, both as a decimal number from
+0..255, and as a list of active flags. When this option is specified, \-q
+off, turning off the display of the current IRQ, is implied.
+.TP
+\fB\-T\fR, \fB\-\-trust\-irq\fR \fI<on|off>\fR
+This option is obsolete. It was added in Linux 2.1.131, and removed again in
+Linux 2.3.10. The below is for these old kernels only.
+.IP
+This option tells the lp driver to trust or not the IRQ. This option makes
+sense only if you are using interrupts. If you tell the lp driver to trust
+the irq, then, when the lp driver will get an irq, it will send the next
+pending character to the printer unconditionally, even if the printer still
+claims to be BUSY. This is the only way to sleep on interrupt (and so the
+handle the irq printing efficiently) at least on Epson Stylus Color Printers.
+The lp driver automagically detects if you could get improved performance by
+setting this flag, and in such case it will warn you with a kernel message.
+.IP
+NOTE: Trusting the irq is reported to corrupt the printing on some hardware,
+you must try to know if your printer will work or not...
+.TP
+\fB\-r\fR, \fB\-\-reset\fR
+This option resets the port. It requires a Linux kernel version of 1.1.80 or
+later.
+.TP
+\fB\-q\fR, \fB\-\-print-irq\fR \fI<on|off>\fR
+This option sets printing the display of the current IRQ setting.
+.SH NOTES
+.BR \-o ,
+.BR \-C ,
+and
+.B \-s
+all require a Linux kernel version of 1.1.76 or later.
+.PP
+.B \-C
+requires a Linux version prior to 2.1.131.
+.PP
+.B \-T
+requires a Linux version of 2.1.131 or later.
+.SH BUGS
+By some unfortunate coincidence the ioctl LPSTRICT of 2.0.36 has the same
+number as the ioctl LPTRUSTIRQ introduced in 2.1.131. So, use of the \-T
+option on a 2.0.36 kernel with an tunelp compiled under 2.1.131 or later may
+have unexpected effects.
+.SH FILES
+.I /dev/lp?
+.br
+.I /proc/parport/*/*
+.SH AVAILABILITY
+The tunelp command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/tunelp.c b/sys-utils/tunelp.c
new file mode 100644
index 0000000..5efd602
--- /dev/null
+++ b/sys-utils/tunelp.c
@@ -0,0 +1,335 @@
+/*
+ * Copyright (C) 1992-1997 Michael K. Johnson, johnsonm@redhat.com
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License, version 2, or any later version. See file COPYING for
+ * information on distribution conditions.
+ */
+
+/*
+ * $Log: tunelp.c,v $
+ * Revision 1.9 1998/06/08 19:37:11 janl
+ * Thus compiles tunelp with 2.1.103 kernels
+ *
+ * Revision 1.8 1997/07/06 00:14:06 aebr
+ * Fixes to silence -Wall.
+ *
+ * Revision 1.7 1997/06/20 16:10:38 janl
+ * tunelp refreshed from authors archive.
+ *
+ * Revision 1.9 1997/06/20 12:56:43 johnsonm
+ * Finished fixing license terms.
+ *
+ * Revision 1.8 1997/06/20 12:34:59 johnsonm
+ * Fixed copyright and license.
+ *
+ * Revision 1.7 1995/03/29 11:16:23 johnsonm
+ * TYPO fixed...
+ *
+ * Revision 1.6 1995/03/29 11:12:15 johnsonm
+ * Added third argument to ioctl needed with new kernels
+ *
+ * Revision 1.5 1995/01/13 10:33:43 johnsonm
+ * Chris's changes for new ioctl numbers and backwards compatibility
+ * and the reset ioctl.
+ *
+ * Revision 1.4 1995/01/03 17:42:14 johnsonm
+ * -s isn't supposed to take an argument; removed : after s in getopt...
+ *
+ * Revision 1.3 1995/01/03 07:36:49 johnsonm
+ * Fixed typo
+ *
+ * Revision 1.2 1995/01/03 07:33:44 johnsonm
+ * revisions for lp driver updates in Linux 1.1.76
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 1999-05-07 Merged LPTRUSTIRQ patch by Andrea Arcangeli (1998/11/29), aeb
+ *
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "lp.h"
+#include "nls.h"
+#include "xalloc.h"
+#include "closestream.h"
+
+#define EXIT_BAD_VALUE 3
+#define EXIT_LP_IO_ERR 4
+
+struct command {
+ long op;
+ long val;
+ struct command *next;
+};
+
+static void __attribute__((__noreturn__)) print_usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(" %s [options] <device>\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -i, --irq <num> specify parallel port irq\n"), out);
+ fputs(_(" -t, --time <ms> driver wait time in milliseconds\n"), out);
+ fputs(_(" -c, --chars <num> number of output characters before sleep\n"), out);
+ fputs(_(" -w, --wait <us> strobe wait in micro seconds\n"), out);
+ /* TRANSLATORS: do not translate <on|off> arguments. The
+ argument reader does not recognize locale, unless `on' is
+ exactly that very same string. */
+ fputs(_(" -a, --abort <on|off> abort on error\n"), out);
+ fputs(_(" -o, --check-status <on|off> check printer status before printing\n"), out);
+ fputs(_(" -C, --careful <on|off> extra checking to status check\n"), out);
+ fputs(_(" -s, --status query printer status\n"), out);
+ fputs(_(" -T, --trust-irq <on|off> make driver to trust irq\n"), out);
+ fputs(_(" -r, --reset reset the port\n"), out);
+ fputs(_(" -q, --print-irq <on|off> display current irq setting\n"), out);
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("tunelp(8)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static long get_val(char *val)
+{
+ long ret;
+ if (!(sscanf(val, "%ld", &ret) == 1))
+ errx(EXIT_BAD_VALUE, _("bad value"));
+ return ret;
+}
+
+static long get_onoff(char *val)
+{
+ if (!strncasecmp("on", val, 2))
+ return 1;
+ return 0;
+}
+
+int main(int argc, char **argv)
+{
+ int c, fd, irq, status, show_irq, offset = 0, retval;
+ char *filename;
+ struct stat statbuf;
+ struct command *cmds, *cmdst;
+ static const struct option longopts[] = {
+ {"irq", required_argument, NULL, 'i'},
+ {"time", required_argument, NULL, 't'},
+ {"chars", required_argument, NULL, 'c'},
+ {"wait", required_argument, NULL, 'w'},
+ {"abort", required_argument, NULL, 'a'},
+ {"check-status", required_argument, NULL, 'o'},
+ {"careful", required_argument, NULL, 'C'},
+ {"status", no_argument, NULL, 's'},
+ {"trust-irq", required_argument, NULL, 'T'},
+ {"reset", no_argument, NULL, 'r'},
+ {"print-irq", required_argument, NULL, 'q'},
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc < 2)
+ print_usage(stderr);
+
+ cmdst = cmds = xmalloc(sizeof(struct command));
+ cmds->next = 0;
+
+ show_irq = 1;
+ while ((c = getopt_long(argc, argv, "t:c:w:a:i:ho:C:sq:rT:vV", longopts, NULL)) != -1) {
+ switch (c) {
+ case 'h':
+ print_usage(stdout);
+ break;
+ case 'i':
+ cmds->op = LPSETIRQ;
+ cmds->val = get_val(optarg);
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+ case 't':
+ cmds->op = LPTIME;
+ cmds->val = get_val(optarg);
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+ case 'c':
+ cmds->op = LPCHAR;
+ cmds->val = get_val(optarg);
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+ case 'w':
+ cmds->op = LPWAIT;
+ cmds->val = get_val(optarg);
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+ case 'a':
+ cmds->op = LPABORT;
+ cmds->val = get_onoff(optarg);
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+ case 'q':
+ if (get_onoff(optarg)) {
+ show_irq = 1;
+ } else {
+ show_irq = 0;
+ }
+#ifdef LPGETSTATUS
+ case 'o':
+ cmds->op = LPABORTOPEN;
+ cmds->val = get_onoff(optarg);
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+ case 'C':
+ cmds->op = LPCAREFUL;
+ cmds->val = get_onoff(optarg);
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+ case 's':
+ show_irq = 0;
+ cmds->op = LPGETSTATUS;
+ cmds->val = 0;
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+#endif
+#ifdef LPRESET
+ case 'r':
+ cmds->op = LPRESET;
+ cmds->val = 0;
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+#endif
+#ifdef LPTRUSTIRQ
+ case 'T':
+ /* Note: this will do the wrong thing on
+ * 2.0.36 when compiled under 2.2.x
+ */
+ cmds->op = LPTRUSTIRQ;
+ cmds->val = get_onoff(optarg);
+ cmds->next = xmalloc(sizeof(struct command));
+ cmds = cmds->next;
+ cmds->next = 0;
+ break;
+#endif
+ case 'v':
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ default:
+ print_usage(stderr);
+ }
+ }
+
+ if (optind != argc - 1)
+ print_usage(stderr);
+
+ filename = xstrdup(argv[optind]);
+ fd = open(filename, O_WRONLY | O_NONBLOCK, 0);
+ /* Need to open O_NONBLOCK in case ABORTOPEN is already set
+ * and printer is off or off-line or in an error condition.
+ * Otherwise we would abort...
+ */
+ if (fd < 0)
+ err(EXIT_FAILURE, "%s", filename);
+
+ if (fstat(fd, &statbuf))
+ err(EXIT_FAILURE, "%s: stat() failed", filename);
+
+ if (!S_ISCHR(statbuf.st_mode)) {
+ warnx(_("%s not an lp device"), filename);
+ print_usage(stderr);
+ }
+ /* Allow for binaries compiled under a new kernel to work on
+ * the old ones The irq argument to ioctl isn't touched by
+ * the old kernels, but we don't want to cause the kernel to
+ * complain if we are using a new kernel
+ */
+ if (LPGETIRQ >= 0x0600 && ioctl(fd, LPGETIRQ, &irq) < 0
+ && errno == EINVAL)
+ /* We don't understand the new ioctls */
+ offset = 0x0600;
+
+ cmds = cmdst;
+ while (cmds->next) {
+#ifdef LPGETSTATUS
+ if (cmds->op == LPGETSTATUS) {
+ status = 0xdeadbeef;
+ retval = ioctl(fd, LPGETSTATUS - offset, &status);
+ if (retval < 0)
+ warnx(_("LPGETSTATUS error"));
+ else {
+ if (status == (int)0xdeadbeef)
+ /* a few 1.1.7x kernels will do this */
+ status = retval;
+ printf(_("%s status is %d"), filename, status);
+ if (!(status & LP_PBUSY))
+ printf(_(", busy"));
+ if (!(status & LP_PACK))
+ printf(_(", ready"));
+ if ((status & LP_POUTPA))
+ printf(_(", out of paper"));
+ if ((status & LP_PSELECD))
+ printf(_(", on-line"));
+ if (!(status & LP_PERRORP))
+ printf(_(", error"));
+ printf("\n");
+ }
+ } else
+#endif /* LPGETSTATUS */
+ if (ioctl(fd, cmds->op - offset, cmds->val) < 0)
+ warn(_("ioctl failed"));
+ cmdst = cmds;
+ cmds = cmds->next;
+ free(cmdst);
+ }
+
+ if (show_irq) {
+ irq = 0xdeadbeef;
+ retval = ioctl(fd, LPGETIRQ - offset, &irq);
+ if (retval == -1)
+ err(EXIT_LP_IO_ERR, _("LPGETIRQ error"));
+ if (irq == (int)0xdeadbeef)
+ /* up to 1.1.77 will do this */
+ irq = retval;
+ if (irq)
+ printf(_("%s using IRQ %d\n"), filename, irq);
+ else
+ printf(_("%s using polling\n"), filename);
+ }
+ free(filename);
+ close(fd);
+
+ return EXIT_SUCCESS;
+}
diff --git a/sys-utils/umount.8 b/sys-utils/umount.8
new file mode 100644
index 0000000..d073c55
--- /dev/null
+++ b/sys-utils/umount.8
@@ -0,0 +1,175 @@
+.\" Copyright (c) 1996 Andries Brouwer
+.\" This page is somewhat derived from a page that was
+.\" (c) 1980, 1989, 1991 The Regents of the University of California
+.\" and had been heavily modified by Rik Faith and myself.
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.TH UMOUNT 8 "August 2012" "util-linux" "System Administration"
+.SH NAME
+umount \- unmount file systems
+.SH SYNOPSIS
+.B umount
+.RB [ \-hV ]
+.LP
+.B umount \-a
+.RB [ \-dflnrv ]
+.RB [ \-t
+.IR vfstype ]
+.RB [ \-O
+.IR options ]
+.br
+.B umount
+.RB [ \-dflnrv ]
+.RI { dir | device }...
+.SH DESCRIPTION
+The
+.B umount
+command detaches the file system(s) mentioned from the file hierarchy. A
+file system is specified by giving the directory where it has been
+mounted. Giving the special device on which the file system lives may
+also work, but is obsolete, mainly because it will fail in case this
+device was mounted on more than one directory.
+.PP
+Note that a file system cannot be unmounted when it is 'busy' - for
+example, when there are open files on it, or when some process has its
+working directory there, or when a swap file on it is in use. The
+offending process could even be
+.B umount
+itself - it opens libc, and libc in its turn may open for example locale
+files. A lazy unmount avoids this problem.
+.SH OPTIONS
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+All of the file systems described in
+.I /etc/mtab
+are unmounted. (With
+.B umount
+version 2.7 and later: the
+.I proc
+filesystem is not unmounted.)
+.TP
+\fB\-c\fR, \fB\-\-no\-canonicalize\fR
+Do not canonicalize paths. For more details about this option see the
+.B mount(8)
+man page.
+.TP
+\fB\-d\fR, \fB\-\-detach\-loop\fR
+In case the unmounted device was a loop device, also free this loop
+device.
+.TP
+\fB\-\-fake\fP
+Causes everything to be done except for the actual system call; this
+'fakes' unmounting the filesystem. It can be used to remove entries from
+.I /etc/mtab
+that were unmounted earlier with the
+.B \-n
+option.
+.TP
+\fB\-f\fR, \fB\-\-force\fR
+Force unmount (in case of an unreachable NFS system). (Requires kernel
+2.1.116 or later.)
+.TP
+\fB\-i\fR, \fB\-\-internal\-only\fR
+Do not call the /sbin/umount.<filesystem> helper even if it exists. By
+default /sbin/umount.<filesystem> helper is called if one exists.
+.TP
+\fB\-n\fR, \fB\-\-no\-mtab\fR
+Unmount without writing in
+.IR /etc/mtab .
+.TP
+\fB\-l\fR, \fB\-\-lazy\fR
+Lazy unmount. Detach the filesystem from the filesystem hierarchy now,
+and cleanup all references to the filesystem as soon as it is not busy
+anymore. (Requires kernel 2.4.11 or later.)
+.TP
+\fB\-O\fR, \fB\-\-test\-opts\fR \fIoptions,list\fR
+Indicate that the actions should only be taken on file systems with the
+specified options in
+.IR /etc/fstab .
+More than one option type may be specified in a comma separated list.
+Each option can be prefixed with
+.B no
+to specify options for which no action should be taken.
+.TP
+\fB\-r\fR, \fB\-\-read\-only\fR
+In case unmounting fails, try to remount read-only.
+.TP
+\fB\-t\fR, \fB\-\-types\fR \fIvfstype,ext2,ext3\fR
+Indicate that the actions should only be taken on file systems of the
+specified
+.IR type .
+More than one type may be specified in a comma separated list. The list
+of file system types can be prefixed with
+.B no
+to specify the file system types on which no action should be taken.
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+Verbose mode.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Print help message and exit.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Print version and exit.
+.SH "THE LOOP DEVICE"
+The
+.B umount
+command will free the loop device (if any) associated with the mount, in
+case it finds the option 'loop=...' in
+.IR /etc/mtab ,
+or when the \-d option was given. Any pending loop devices can be freed
+using 'losetup -d', see
+.BR losetup (8).
+.SH NOTES
+The syntax of external umount helpers is:
+.PP
+.BI /sbin/umount. <suffix>
+.RI { dir | device }
+.RB [ \-nlfvr ]
+.RB [ \-t
+.IR type.subtype ]
+.PP
+where the <suffix> is filesystem type or a value from "uhelper=" or
+"helper=" mtab option. The \-t option is used for filesystems with
+subtypes support (for example /sbin/mount.fuse -t fuse.sshfs).
+.PP
+The uhelper= (unprivileged umount helper) is possible to use when
+non-root user wants to umount a mountpoint which is not defined in the
+/etc/fstab file (e.g. devices mounted by udisk).
+.PP
+The helper= mount option redirects all umount requests to the
+/sbin/umount.<helper> independently on UID.
+.SH FILES
+.I /etc/mtab
+table of mounted file systems
+.SH "SEE ALSO"
+.BR umount (2),
+.BR mount (8),
+.BR losetup (8)
+.SH HISTORY
+A
+.B umount
+command appeared in Version 6 AT&T UNIX.
+.SH AVAILABILITY
+The umount command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/umount.c b/sys-utils/umount.c
new file mode 100644
index 0000000..97b2f44
--- /dev/null
+++ b/sys-utils/umount.c
@@ -0,0 +1,399 @@
+/*
+ * umount(8) -- mount a filesystem
+ *
+ * Copyright (C) 2011 Red Hat, Inc. All rights reserved.
+ * Written by Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <sys/types.h>
+
+#include <libmount.h>
+
+#include "nls.h"
+#include "c.h"
+#include "env.h"
+#include "optutils.h"
+#include "exitcodes.h"
+#include "closestream.h"
+
+static int table_parser_errcb(struct libmnt_table *tb __attribute__((__unused__)),
+ const char *filename, int line)
+{
+ if (filename)
+ warnx(_("%s: parse error: ignore entry at line %d."),
+ filename, line);
+ return 0;
+}
+
+
+static void __attribute__((__noreturn__)) print_version(void)
+{
+ const char *ver = NULL;
+ const char **features = NULL, **p;
+
+ mnt_get_library_version(&ver);
+ mnt_get_library_features(&features);
+
+ printf(_("%s from %s (libmount %s"),
+ program_invocation_short_name,
+ PACKAGE_STRING,
+ ver);
+ p = features;
+ while (p && *p) {
+ fputs(p == features ? ": " : ", ", stdout);
+ fputs(*p++, stdout);
+ }
+ fputs(")\n", stdout);
+ exit(MOUNT_EX_SUCCESS);
+}
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out, _(
+ " %1$s [-hV]\n"
+ " %1$s -a [options]\n"
+ " %1$s [options] <source> | <directory>\n"),
+ program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fprintf(out, _(
+ " -a, --all umount all filesystems\n"
+ " -c, --no-canonicalize don't canonicalize paths\n"
+ " -d, --detach-loop if mounted loop device, also free this loop device\n"
+ " --fake dry run; skip the umount(2) syscall\n"
+ " -f, --force force unmount (in case of an unreachable NFS system)\n"));
+ fprintf(out, _(
+ " -i, --internal-only don't call the umount.<type> helpers\n"
+ " -n, --no-mtab don't write to /etc/mtab\n"
+ " -l, --lazy detach the filesystem now, and cleanup all later\n"));
+ fprintf(out, _(
+ " -O, --test-opts <list> limit the set of filesystems (use with -a)\n"
+ " -r, --read-only In case unmounting fails, try to remount read-only\n"
+ " -t, --types <list> limit the set of filesystem types\n"
+ " -v, --verbose say what is being done\n"));
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("umount(8)"));
+
+ exit(out == stderr ? MOUNT_EX_USAGE : MOUNT_EX_SUCCESS);
+}
+
+static void __attribute__((__noreturn__)) exit_non_root(const char *option)
+{
+ const uid_t ruid = getuid();
+ const uid_t euid = geteuid();
+
+ if (ruid == 0 && euid != 0) {
+ /* user is root, but setuid to non-root */
+ if (option)
+ errx(MOUNT_EX_USAGE,
+ _("only root can use \"--%s\" option "
+ "(effective UID is %u)"),
+ option, euid);
+ errx(MOUNT_EX_USAGE, _("only root can do that "
+ "(effective UID is %u)"), euid);
+ }
+ if (option)
+ errx(MOUNT_EX_USAGE, _("only root can use \"--%s\" option"), option);
+ errx(MOUNT_EX_USAGE, _("only root can do that"));
+}
+
+/*
+ * Handles generic errors like ENOMEM, ...
+ *
+ * rc = 0 success
+ * <0 error (usually -errno)
+ *
+ * Returns exit status (MOUNT_EX_*) and prints error message.
+ */
+static int handle_generic_errors(int rc, const char *msg, ...)
+{
+ va_list va;
+
+ va_start(va, msg);
+ errno = -rc;
+
+ switch(errno) {
+ case EINVAL:
+ case EPERM:
+ vwarn(msg, va);
+ rc = MOUNT_EX_USAGE;
+ break;
+ case ENOMEM:
+ vwarn(msg, va);
+ rc = MOUNT_EX_SYSERR;
+ break;
+ default:
+ vwarn(msg, va);
+ rc = MOUNT_EX_FAIL;
+ break;
+ }
+ va_end(va);
+ return rc;
+}
+
+static int mk_exit_code(struct libmnt_context *cxt, int rc)
+{
+ int syserr;
+ const char *tgt = mnt_context_get_target(cxt);
+
+ if (mnt_context_helper_executed(cxt))
+ /*
+ * /sbin/umount.<type> called, return status
+ */
+ return mnt_context_get_helper_status(cxt);
+
+ if (rc == 0 && mnt_context_get_status(cxt) == 1)
+ /*
+ * Libmount success && syscall success.
+ */
+ return MOUNT_EX_SUCCESS;
+
+
+ if (!mnt_context_syscall_called(cxt)) {
+ /*
+ * libmount errors (extra library checks)
+ */
+ return handle_generic_errors(rc, _("%s: umount failed"), tgt);
+
+ } else if (mnt_context_get_syscall_errno(cxt) == 0) {
+ /*
+ * umount(2) syscall success, but something else failed
+ * (probably error in mtab processing).
+ */
+ if (rc < 0)
+ return handle_generic_errors(rc,
+ _("%s: filesystem umounted, but mount(8) failed"),
+ tgt);
+
+ return MOUNT_EX_SOFTWARE; /* internal error */
+
+ }
+
+ /*
+ * umount(2) errors
+ */
+ syserr = mnt_context_get_syscall_errno(cxt);
+
+ switch(syserr) {
+ case ENXIO:
+ warnx(_("%s: invalid block device"), tgt); /* ??? */
+ break;
+ case EINVAL:
+ warnx(_("%s: not mounted"), tgt);
+ break;
+ case EIO:
+ warnx(_("%s: can't write superblock"), tgt);
+ break;
+ case EBUSY:
+ warnx(_("%s: target is busy.\n"
+ " (In some cases useful info about processes that use\n"
+ " the device is found by lsof(8) or fuser(1))"),
+ tgt);
+ break;
+ case ENOENT:
+ warnx(_("%s: not found"), tgt);
+ break;
+ case EPERM:
+ warnx(_("%s: must be superuser to umount"), tgt);
+ break;
+ case EACCES:
+ warnx(_("%s: block devices not permitted on fs"), tgt);
+ break;
+ default:
+ errno = syserr;
+ warn(_("%s"), tgt);
+ break;
+ }
+ return MOUNT_EX_FAIL;
+}
+
+static int umount_all(struct libmnt_context *cxt)
+{
+ struct libmnt_iter *itr;
+ struct libmnt_fs *fs;
+ int mntrc, ignored, rc = 0;
+
+ itr = mnt_new_iter(MNT_ITER_BACKWARD);
+ if (!itr) {
+ warn(_("failed to initialize libmount iterator"));
+ return -ENOMEM;
+ }
+
+ while (mnt_context_next_umount(cxt, itr, &fs, &mntrc, &ignored) == 0) {
+
+ const char *tgt = mnt_fs_get_target(fs);
+
+ if (ignored) {
+ if (mnt_context_is_verbose(cxt))
+ printf(_("%-25s: ignored\n"), tgt);
+ } else {
+ rc |= mk_exit_code(cxt, mntrc);
+
+ if (mnt_context_is_verbose(cxt))
+ printf("%-25s: successfully umounted\n", tgt);
+ }
+ }
+
+ mnt_free_iter(itr);
+ return rc;
+}
+
+static int umount_one(struct libmnt_context *cxt, const char *spec)
+{
+ int rc;
+
+ if (!spec)
+ return -EINVAL;
+
+ if (mnt_context_set_target(cxt, spec))
+ err(MOUNT_EX_SYSERR, _("failed to set umount target"));
+
+ rc = mnt_context_umount(cxt);
+ rc = mk_exit_code(cxt, rc);
+
+ mnt_reset_context(cxt);
+ return rc;
+}
+
+int main(int argc, char **argv)
+{
+ int c, rc = 0, all = 0;
+ struct libmnt_context *cxt;
+ char *types = NULL;
+
+ enum {
+ UMOUNT_OPT_FAKE = CHAR_MAX + 1,
+ };
+
+ static const struct option longopts[] = {
+ { "all", 0, 0, 'a' },
+ { "detach-loop", 0, 0, 'd' },
+ { "fake", 0, 0, UMOUNT_OPT_FAKE },
+ { "force", 0, 0, 'f' },
+ { "help", 0, 0, 'h' },
+ { "internal-only", 0, 0, 'i' },
+ { "lazy", 0, 0, 'l' },
+ { "no-canonicalize", 0, 0, 'c' },
+ { "no-mtab", 0, 0, 'n' },
+ { "read-only", 0, 0, 'r' },
+ { "test-opts", 1, 0, 'O' },
+ { "types", 1, 0, 't' },
+ { "verbose", 0, 0, 'v' },
+ { "version", 0, 0, 'V' },
+ { NULL, 0, 0, 0 }
+ };
+
+ sanitize_env();
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ mnt_init_debug(0);
+ cxt = mnt_new_context();
+ if (!cxt)
+ err(MOUNT_EX_SYSERR, _("libmount context allocation failed"));
+
+ mnt_context_set_tables_errcb(cxt, table_parser_errcb);
+
+ while ((c = getopt_long(argc, argv, "acdfhilnrO:t:vV",
+ longopts, NULL)) != -1) {
+
+
+ /* only few options are allowed for non-root users */
+ if (mnt_context_is_restricted(cxt) && !strchr("hdilVv", c))
+ exit_non_root(option_to_longopt(c, longopts));
+
+ switch(c) {
+ case 'a':
+ all = 1;
+ break;
+ case 'c':
+ mnt_context_disable_canonicalize(cxt, TRUE);
+ break;
+ case 'd':
+ mnt_context_enable_loopdel(cxt, TRUE);
+ break;
+ case UMOUNT_OPT_FAKE:
+ mnt_context_enable_fake(cxt, TRUE);
+ break;
+ case 'f':
+ mnt_context_enable_force(cxt, TRUE);
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case 'i':
+ mnt_context_disable_helpers(cxt, TRUE);
+ break;
+ case 'l':
+ mnt_context_enable_lazy(cxt, TRUE);
+ break;
+ case 'n':
+ mnt_context_disable_mtab(cxt, TRUE);
+ break;
+ case 'r':
+ mnt_context_enable_rdonly_umount(cxt, TRUE);
+ break;
+ case 'O':
+ if (mnt_context_set_options_pattern(cxt, optarg))
+ err(MOUNT_EX_SYSERR, _("failed to set options pattern"));
+ break;
+ case 't':
+ types = optarg;
+ break;
+ case 'v':
+ mnt_context_enable_verbose(cxt, TRUE);
+ break;
+ case 'V':
+ print_version();
+ break;
+ default:
+ usage(stderr);
+ break;
+ }
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ if (all) {
+ if (!types)
+ types = "noproc,nodevfs,nodevpts,nosysfs,norpc_pipefs,nonfsd";
+
+ mnt_context_set_fstype_pattern(cxt, types);
+ rc = umount_all(cxt);
+
+ } else if (argc < 1) {
+ usage(stderr);
+
+ } else while (argc--)
+ rc += umount_one(cxt, *argv++);
+
+ mnt_free_context(cxt);
+ return rc;
+}
+
diff --git a/sys-utils/unshare.1 b/sys-utils/unshare.1
new file mode 100644
index 0000000..d7938c5
--- /dev/null
+++ b/sys-utils/unshare.1
@@ -0,0 +1,62 @@
+.\" Process this file with
+.\" groff -man -Tascii lscpu.1
+.\"
+.TH UNSHARE 1 "October 2008" "util-linux" "User Commands"
+.SH NAME
+unshare \- run program with some namespaces unshared from parent
+.SH SYNOPSIS
+.B unshare
+.RI [ options ]
+program
+.RI [ arguments ]
+.SH DESCRIPTION
+Unshares specified namespaces from parent process and then executes specified
+program. Unshareable namespaces are:
+.TP
+.BR "mount namespace"
+mounting and unmounting filesystems will not affect rest of the system
+(\fBCLONE_NEWNS\fP flag), except for filesystems which are explicitly marked as
+shared (by mount --make-shared). See /proc/self/mountinfo for the shared flags.
+.TP
+.BR "UTS namespace"
+setting hostname, domainname will not affect rest of the system
+(\fBCLONE_NEWUTS\fP flag).
+.TP
+.BR "IPC namespace"
+process will have independent namespace for System V message queues, semaphore
+sets and shared memory segments (\fBCLONE_NEWIPC\fP flag).
+.TP
+.BR "network namespace"
+process will have independent IPv4 and IPv6 stacks, IP routing tables, firewall
+rules, the \fI/proc/net\fP and \fI/sys/class/net\fP directory trees, sockets
+etc. (\fBCLONE_NEWNET\fP flag).
+.TP
+See the clone(2) for exact semantics of the flags.
+.SH OPTIONS
+.TP
+.BR \-h , " \-\-help"
+Print a help message,
+.TP
+.BR \-m , " \-\-mount"
+Unshare the mount namespace,
+.TP
+.BR \-u , " \-\-uts"
+Unshare the UTC namespace,
+.TP
+.BR \-i , " \-\-ipc"
+Unshare the IPC namespace,
+.TP
+.BR \-n , " \-\-net"
+Unshare the network namespace.
+.SH NOTES
+The unshare command drops potential privileges before executing the
+target program. This allows to setuid unshare.
+.SH SEE ALSO
+unshare(2), clone(2)
+.SH BUGS
+None known so far.
+.SH AUTHOR
+Mikhail Gusarov <dottedmag@dottedmag.net>
+.SH AVAILABILITY
+The unshare command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/sys-utils/unshare.c b/sys-utils/unshare.c
new file mode 100644
index 0000000..9de997b
--- /dev/null
+++ b/sys-utils/unshare.c
@@ -0,0 +1,137 @@
+/*
+ * unshare(1) - command-line interface for unshare(2)
+ *
+ * Copyright (C) 2009 Mikhail Gusarov <dottedmag@dottedmag.net>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <errno.h>
+#include <getopt.h>
+#include <sched.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "nls.h"
+#include "c.h"
+#include "closestream.h"
+
+#ifndef CLONE_NEWSNS
+# define CLONE_NEWNS 0x00020000
+#endif
+#ifndef CLONE_NEWUTS
+# define CLONE_NEWUTS 0x04000000
+#endif
+#ifndef CLONE_NEWIPC
+# define CLONE_NEWIPC 0x08000000
+#endif
+#ifndef CLONE_NEWNET
+# define CLONE_NEWNET 0x40000000
+#endif
+
+#ifndef HAVE_UNSHARE
+# include <sys/syscall.h>
+
+static int unshare(int flags)
+{
+ return syscall(SYS_unshare, flags);
+}
+#endif
+
+static void usage(int status)
+{
+ FILE *out = status == EXIT_SUCCESS ? stdout : stderr;
+
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %s [options] <program> [args...]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -m, --mount unshare mounts namespace\n"
+ " -u, --uts unshare UTS namespace (hostname etc)\n"
+ " -i, --ipc unshare System V IPC namespace\n"
+ " -n, --net unshare network namespace\n"), out);
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fprintf(out, USAGE_MAN_TAIL("unshare(1)"));
+
+ exit(status);
+}
+
+int main(int argc, char *argv[])
+{
+ static const struct option longopts[] = {
+ { "help", no_argument, 0, 'h' },
+ { "version", no_argument, 0, 'V'},
+ { "mount", no_argument, 0, 'm' },
+ { "uts", no_argument, 0, 'u' },
+ { "ipc", no_argument, 0, 'i' },
+ { "net", no_argument, 0, 'n' },
+ { NULL, 0, 0, 0 }
+ };
+
+ int unshare_flags = 0;
+
+ int c;
+
+ setlocale(LC_MESSAGES, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while((c = getopt_long(argc, argv, "hVmuin", longopts, NULL)) != -1) {
+ switch(c) {
+ case 'h':
+ usage(EXIT_SUCCESS);
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'm':
+ unshare_flags |= CLONE_NEWNS;
+ break;
+ case 'u':
+ unshare_flags |= CLONE_NEWUTS;
+ break;
+ case 'i':
+ unshare_flags |= CLONE_NEWIPC;
+ break;
+ case 'n':
+ unshare_flags |= CLONE_NEWNET;
+ break;
+ default:
+ usage(EXIT_FAILURE);
+ }
+ }
+
+ if(optind >= argc)
+ usage(EXIT_FAILURE);
+
+ if(-1 == unshare(unshare_flags))
+ err(EXIT_FAILURE, _("unshare failed"));
+
+ /* drop potential root euid/egid if we had been setuid'd */
+ if (setgid(getgid()) < 0)
+ err(EXIT_FAILURE, _("cannot set group id"));
+
+ if (setuid(getuid()) < 0)
+ err(EXIT_FAILURE, _("cannot set user id"));
+
+ execvp(argv[optind], argv + optind);
+
+ err(EXIT_FAILURE, _("exec %s failed"), argv[optind]);
+}
diff --git a/sys-utils/wdctl.8 b/sys-utils/wdctl.8
new file mode 100644
index 0000000..0c9a3ac
--- /dev/null
+++ b/sys-utils/wdctl.8
@@ -0,0 +1,61 @@
+.\" wdctl.8 --
+.\" Copyright (C) 2012 Karel Zak <kzak@redhat.com>
+.\" May be distributed under the GNU General Public License
+.TH WDCTL "8" "June 2012" "util-linux" "System Administration"
+.SH NAME
+wdctl \-
+show hardware watchdog status
+.SH SYNOPSIS
+.B wdctl
+.RB [options]
+.RB [device...]
+.SH DESCRIPTION
+Show hardware watchdog status. The default device is
+.IR /dev/watchdog .
+If more than one device is specified then the output is separated by
+one blank line.
+.PP
+Note that number of supported watchdog features is hardware specific.
+.SH OPTIONS
+.IP "\fB\-f\fR, \fB\-\-flags \fIlist\fP"
+Print selected flags only.
+.IP "\fB\-F\fR, \fB\-\-noflags\fP"
+Do not print information about flags.
+.IP "\fB\-n\fR, \fB\-\-noheadings\fP"
+Do not print a header line for flags table.
+.IP "\fB\-I\fR, \fB\-\-noident\fP"
+Do not print watchdog identity information.
+.IP "\fB\-T\fR, \fB\-\-notimeouts\fP"
+Do not print watchdog timeouts.
+.IP "\fB\-s\fR, \fB\-\-settimeout \fIseconds\fP"
+Set the watchdog timeout in seconds.
+.IP "\fB\-o\fR, \fB\-\-output \fIlist\fP"
+Define the output columns to use in table of watchdog flags. If no
+output arrangement is specified, then a default set is used. Use
+.B \-\-help
+to get list of all supported columns.
+.IP "\fB\-O\fR, \fB\-\-oneline\fP"
+Print all wanted information on one line in key="value" output format.
+.IP "\fB\-V\fR, \fB\-\-version\fP"
+Output version information and exit.
+.IP "\fB\-r\fR, \fB\-\-raw\fP"
+Use the raw output format.
+.IP "\fB\-x\fR, \fB\-\-flags-only\fP"
+Same as \fB\-I \-T\fP.
+.IP "\fB\-h\fR, \fB\-\-help\fP"
+Print a help text and exit.
+.SH AUTHORS
+.MT kzak@\:redhat\:.com
+Karel Zak
+.ME
+.br
+.MT lennart@\:poettering\:.net
+Lennart Poettering
+.ME
+.SH AVAILABILITY
+The
+.B wdctl
+command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/sys-utils/wdctl.c b/sys-utils/wdctl.c
new file mode 100644
index 0000000..6be6fd4
--- /dev/null
+++ b/sys-utils/wdctl.c
@@ -0,0 +1,577 @@
+/*
+ * wdctl(8) - show hardware watchdog status
+ *
+ * Copyright (C) 2012 Lennart Poettering
+ * Copyright (C) 2012 Karel Zak <kzak@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+#include <sys/ioctl.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <signal.h>
+#include <assert.h>
+#include <linux/watchdog.h>
+
+#include "nls.h"
+#include "c.h"
+#include "closestream.h"
+#include "optutils.h"
+#include "pathnames.h"
+#include "strutils.h"
+#include "tt.h"
+
+struct wdflag {
+ uint32_t flag;
+ const char *name;
+ const char *description;
+};
+
+static const struct wdflag wdflags[] = {
+ { WDIOF_CARDRESET, "CARDRESET", N_("Card previously reset the CPU") },
+ { WDIOF_EXTERN1, "EXTERN1", N_("External relay 1") },
+ { WDIOF_EXTERN2, "EXTERN2", N_("External relay 2") },
+ { WDIOF_FANFAULT, "FANFAULT", N_("Fan failed") },
+ { WDIOF_KEEPALIVEPING, "KEEPALIVEPING", N_("Keep alive ping reply") },
+ { WDIOF_MAGICCLOSE, "MAGICCLOSE", N_("Supports magic close char") },
+ { WDIOF_OVERHEAT, "OVERHEAT", N_("Reset due to CPU overheat") },
+ { WDIOF_POWEROVER, "POWEROVER", N_("Power over voltage") },
+ { WDIOF_POWERUNDER, "POWERUNDER", N_("Power bad/power fault") },
+ { WDIOF_PRETIMEOUT, "PRETIMEOUT", N_("Pretimeout (in seconds)") },
+ { WDIOF_SETTIMEOUT, "SETTIMEOUT", N_("Set timeout (in seconds)") }
+};
+
+
+/* column names */
+struct colinfo {
+ const char *name; /* header */
+ double whint; /* width hint (N < 1 is in percent of termwidth) */
+ int flags; /* TT_FL_* */
+ const char *help;
+};
+
+enum { COL_FLAG, COL_DESC, COL_STATUS, COL_BSTATUS, COL_DEVICE };
+
+/* columns descriptions */
+static struct colinfo infos[] = {
+ [COL_FLAG] = { "FLAG", 14, 0, N_("flag name") },
+ [COL_DESC] = { "DESCRIPTION", 0.1, TT_FL_TRUNC, N_("flag description") },
+ [COL_STATUS] = { "STATUS", 1, TT_FL_RIGHT, N_("flag status") },
+ [COL_BSTATUS] = { "BOOT-STATUS", 1, TT_FL_RIGHT, N_("flag boot status") },
+ [COL_DEVICE] = { "DEVICE", 0.1, 0, N_("watchdog device name") }
+
+};
+
+#define NCOLS ARRAY_SIZE(infos)
+static int columns[NCOLS], ncolumns;
+
+struct wdinfo {
+ char *device;
+
+ int timeout;
+ int timeleft;
+ int pretimeout;
+
+ uint32_t status;
+ uint32_t bstatus;
+
+ struct watchdog_info ident;
+
+ unsigned int has_timeout : 1,
+ has_timeleft : 1,
+ has_pretimeout : 1;
+};
+
+/* converts flag name to flag bit */
+static long name2bit(const char *name, size_t namesz)
+{
+ size_t i;
+
+ for (i = 0; i < ARRAY_SIZE(wdflags); i++) {
+ const char *cn = wdflags[i].name;
+ if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ return wdflags[i].flag;
+ }
+ warnx(_("unknown flag: %s"), name);
+ return -1;
+}
+
+static int column2id(const char *name, size_t namesz)
+{
+ size_t i;
+
+ for (i = 0; i < NCOLS; i++) {
+ const char *cn = infos[i].name;
+ if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ return i;
+ }
+ warnx(_("unknown column: %s"), name);
+ return -1;
+}
+
+static int get_column_id(int num)
+{
+ assert(ARRAY_SIZE(columns) == NCOLS);
+ assert(num < ncolumns);
+ assert(columns[num] < (int) NCOLS);
+
+ return columns[num];
+}
+
+static struct colinfo *get_column_info(unsigned num)
+{
+ return &infos[ get_column_id(num) ];
+}
+
+static void usage(FILE *out)
+{
+ size_t i;
+
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %s [options] [<device> ...]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+
+ fputs(_(" -f, --flags <list> print selected flags only\n"
+ " -F, --noflags don't print information about flags\n"
+ " -I, --noident don't print watchdog identity information\n"
+ " -n, --noheadings don't print headings for flags table\n"
+ " -O, --oneline print all information on one line\n"
+ " -o, --output <list> output columns of the flags\n"
+ " -r, --raw use raw output format for flags table\n"
+ " -T, --notimeouts don't print watchdog timeouts\n"
+ " -s, --settimeout <sec> set watchdog timeout\n"
+ " -x, --flags-only print only flags table (same as -I -T)\n"), out);
+
+ fputs(USAGE_SEPARATOR, out);
+ fputs(USAGE_HELP, out);
+ fputs(USAGE_VERSION, out);
+ fputs(USAGE_SEPARATOR, out);
+
+ fprintf(out, _("The default device is %s.\n"), _PATH_WATCHDOG_DEV);
+ fputs(USAGE_SEPARATOR, out);
+
+ fputs(_("Available columns:\n"), out);
+ for (i = 0; i < ARRAY_SIZE(infos); i++)
+ fprintf(out, " %13s %s\n", infos[i].name, _(infos[i].help));
+
+ fprintf(out, USAGE_MAN_TAIL("wdctl(8)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void add_flag_line(struct tt *tt, struct wdinfo *wd, const struct wdflag *fl)
+{
+ int i;
+ struct tt_line *line;
+
+ line = tt_add_line(tt, NULL);
+ if (!line) {
+ warn(_("failed to add line to output"));
+ return;
+ }
+
+ for (i = 0; i < ncolumns; i++) {
+ const char *str = NULL;
+
+ switch (get_column_id(i)) {
+ case COL_FLAG:
+ str = fl->name;
+ break;
+ case COL_DESC:
+ str = fl->description;
+ break;
+ case COL_STATUS:
+ str = wd->status & fl->flag ? "1" : "0";
+ break;
+ case COL_BSTATUS:
+ str = wd->bstatus & fl->flag ? "1" : "0";
+ break;
+ case COL_DEVICE:
+ str = wd->device;
+ break;
+ default:
+ break;
+ }
+
+ if (str)
+ tt_line_set_data(line, i, str);
+ }
+}
+
+static int show_flags(struct wdinfo *wd, int tt_flags, uint32_t wanted)
+{
+ size_t i;
+ int rc = -1;
+ struct tt *tt;
+ uint32_t flags;
+
+ /* create output table */
+ tt = tt_new_table(tt_flags);
+ if (!tt) {
+ warn(_("failed to initialize output table"));
+ return -1;
+ }
+
+ /* define columns */
+ for (i = 0; i < (size_t) ncolumns; i++) {
+ struct colinfo *col = get_column_info(i);
+
+ if (!tt_define_column(tt, col->name, col->whint, col->flags)) {
+ warnx(_("failed to initialize output column"));
+ goto done;
+ }
+ }
+
+ /* fill-in table with data
+ * -- one line for each supported flag (option) */
+ flags = wd->ident.options;
+
+ for (i = 0; i < ARRAY_SIZE(wdflags); i++) {
+ if (wanted && !(wanted & wdflags[i].flag))
+ ; /* ignore */
+ else if (flags & wdflags[i].flag)
+ add_flag_line(tt, wd, &wdflags[i]);
+
+ flags &= ~wdflags[i].flag;
+ }
+
+ if (flags)
+ warnx(_("%s: unknown flags 0x%x\n"), wd->device, flags);
+
+ tt_print_table(tt);
+ rc = 0;
+done:
+ tt_free_table(tt);
+ return rc;
+}
+/*
+ * Warning: successfully opened watchdog has to be properly closed with magic
+ * close character otherwise the machine will be rebooted!
+ *
+ * Don't use err() or exit() here!
+ */
+static int set_watchdog(struct wdinfo *wd, int timeout)
+{
+ int fd;
+ sigset_t sigs, oldsigs;
+ int rc = 0;
+
+ assert(wd->device);
+
+ sigemptyset(&oldsigs);
+ sigfillset(&sigs);
+ sigprocmask(SIG_BLOCK, &sigs, &oldsigs);
+
+ fd = open(wd->device, O_WRONLY|O_CLOEXEC);
+
+ if (fd < 0) {
+ if (errno == EBUSY)
+ warnx(_("%s: watchdog already in use, terminating."),
+ wd->device);
+ warn(_("cannot open %s"), wd->device);
+ return -1;
+ }
+
+ for (;;) {
+ /* We just opened this to query the state, not to arm
+ * it hence use the magic close character */
+ static const char v = 'V';
+
+ if (write(fd, &v, 1) >= 0)
+ break;
+ if (errno != EINTR) {
+ warn(_("%s: failed to disarm watchdog"), wd->device);
+ break;
+ }
+ /* Let's try hard, since if we don't get this right
+ * the machine might end up rebooting. */
+ }
+
+ if (ioctl(fd, WDIOC_SETTIMEOUT, &timeout) != 0) {
+ rc = errno;
+ warn(_("cannot set timeout for %s"), wd->device);
+ }
+
+ close(fd);
+ sigprocmask(SIG_SETMASK, &oldsigs, NULL);
+ printf("Set timeout to %d seconds\n", timeout);
+
+ return rc;
+}
+
+/*
+ * Warning: successfully opened watchdog has to be properly closed with magic
+ * close character otherwise the machine will be rebooted!
+ *
+ * Don't use err() or exit() here!
+ */
+static int read_watchdog(struct wdinfo *wd)
+{
+ int fd;
+ sigset_t sigs, oldsigs;
+
+ assert(wd->device);
+
+ sigemptyset(&oldsigs);
+ sigfillset(&sigs);
+ sigprocmask(SIG_BLOCK, &sigs, &oldsigs);
+
+ fd = open(wd->device, O_WRONLY|O_CLOEXEC);
+
+ if (fd < 0) {
+ if (errno == EBUSY)
+ warnx(_("%s: watchdog already in use, terminating."),
+ wd->device);
+ warn(_("cannot open %s"), wd->device);
+ return -1;
+ }
+
+ if (ioctl(fd, WDIOC_GETSUPPORT, &wd->ident) < 0)
+ warn(_("%s: failed to get information about watchdog"), wd->device);
+ else {
+ ioctl(fd, WDIOC_GETSTATUS, &wd->status);
+ ioctl(fd, WDIOC_GETBOOTSTATUS, &wd->bstatus);
+
+ if (ioctl(fd, WDIOC_GETTIMEOUT, &wd->timeout) >= 0)
+ wd->has_timeout = 1;
+ if (ioctl(fd, WDIOC_GETPRETIMEOUT, &wd->pretimeout) >= 0)
+ wd->has_pretimeout = 1;
+ if (ioctl(fd, WDIOC_GETTIMELEFT, &wd->timeleft) >= 0)
+ wd->has_timeleft = 1;
+ }
+
+ for (;;) {
+ /* We just opened this to query the state, not to arm
+ * it hence use the magic close character */
+ static const char v = 'V';
+
+ if (write(fd, &v, 1) >= 0)
+ break;
+ if (errno != EINTR) {
+ warn(_("%s: failed to disarm watchdog"), wd->device);
+ break;
+ }
+ /* Let's try hard, since if we don't get this right
+ * the machine might end up rebooting. */
+ }
+
+ close(fd);
+ sigprocmask(SIG_SETMASK, &oldsigs, NULL);
+
+ return 0;
+}
+
+static void print_oneline(struct wdinfo *wd, uint32_t wanted,
+ int noident, int notimeouts, int noflags)
+{
+ printf("%s:", wd->device);
+
+ if (!noident) {
+ printf(" VERSION=\"%x\"", wd->ident.firmware_version);
+
+ printf(" IDENTITY=");
+ tt_fputs_quoted((char *) wd->ident.identity, stdout);
+ }
+ if (!notimeouts) {
+ if (wd->has_timeout)
+ printf(" TIMEOUT=\"%i\"", wd->timeout);
+ if (wd->has_pretimeout)
+ printf(" PRETIMEOUT=\"%i\"", wd->pretimeout);
+ if (wd->has_timeleft)
+ printf(" TIMELEFT=\"%i\"", wd->timeleft);
+ }
+
+ if (!noflags) {
+ size_t i;
+ uint32_t flags = wd->ident.options;
+
+ for (i = 0; i < ARRAY_SIZE(wdflags); i++) {
+ const struct wdflag *fl;
+
+ if ((wanted && !(wanted & wdflags[i].flag)) ||
+ !(flags & wdflags[i].flag))
+ continue;
+
+ fl= &wdflags[i];
+
+ printf(" %s=\"%s\"", fl->name,
+ wd->status & fl->flag ? "1" : "0");
+ printf(" %s_BOOT=\"%s\"", fl->name,
+ wd->bstatus & fl->flag ? "1" : "0");
+
+ }
+ }
+
+ fputc('\n', stdout);
+}
+
+static void show_timeouts(struct wdinfo *wd)
+{
+ if (wd->has_timeout)
+ printf(_("%-15s%2i seconds\n"), _("Timeout:"), wd->timeout);
+ if (wd->has_pretimeout)
+ printf(_("%-15s%2i seconds\n"), _("Pre-timeout:"), wd->pretimeout);
+ if (wd->has_timeleft)
+ printf(_("%-15s%2i seconds\n"), _("Timeleft:"), wd->timeleft);
+}
+
+int main(int argc, char *argv[])
+{
+ struct wdinfo wd;
+ int c, tt_flags = 0, res = EXIT_SUCCESS, count = 0;
+ char noflags = 0, noident = 0, notimeouts = 0, oneline = 0;
+ uint32_t wanted = 0;
+ int timeout = 0;
+
+ static const struct option long_opts[] = {
+ { "flags", required_argument, NULL, 'f' },
+ { "flags-only", no_argument, NULL, 'x' },
+ { "help", no_argument, NULL, 'h' },
+ { "noflags", no_argument, NULL, 'F' },
+ { "noheadings", no_argument, NULL, 'n' },
+ { "noident", no_argument, NULL, 'I' },
+ { "notimeouts", no_argument, NULL, 'T' },
+ { "settimeout", required_argument, NULL, 's' },
+ { "output", required_argument, NULL, 'o' },
+ { "oneline", no_argument, NULL, 'O' },
+ { "raw", no_argument, NULL, 'r' },
+ { "version", no_argument, NULL, 'V' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
+ { 'F','f' }, /* noflags,flags*/
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv,
+ "d:f:hFnITo:s:OrVx", long_opts, NULL)) != -1) {
+
+ err_exclusive_options(c, long_opts, excl, excl_st);
+
+ switch(c) {
+ case 'o':
+ ncolumns = string_to_idarray(optarg,
+ columns, ARRAY_SIZE(columns),
+ column2id);
+ if (ncolumns < 0)
+ return EXIT_FAILURE;
+ break;
+ case 's':
+ timeout = strtos32_or_err(optarg, _("invalid timeout argument"));
+ break;
+ case 'f':
+ if (string_to_bitmask(optarg, (unsigned long *) &wanted, name2bit) != 0)
+ return EXIT_FAILURE;
+ break;
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ case 'F':
+ noflags = 1;
+ break;
+ case 'I':
+ noident = 1;
+ break;
+ case 'T':
+ notimeouts = 1;
+ break;
+ case 'n':
+ tt_flags |= TT_FL_NOHEADINGS;
+ break;
+ case 'r':
+ tt_flags |= TT_FL_RAW;
+ break;
+ case 'O':
+ oneline = 1;
+ break;
+ case 'x':
+ noident = 1;
+ notimeouts = 1;
+ break;
+
+ case '?':
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (!ncolumns) {
+ /* default columns */
+ columns[ncolumns++] = COL_FLAG;
+ columns[ncolumns++] = COL_DESC;
+ columns[ncolumns++] = COL_STATUS;
+ columns[ncolumns++] = COL_BSTATUS;
+ }
+
+ do {
+ int rc;
+
+ memset(&wd, 0, sizeof(wd));
+
+ if (optind == argc)
+ wd.device = _PATH_WATCHDOG_DEV;
+ else
+ wd.device = argv[optind++];
+
+ if (count)
+ fputc('\n', stdout);
+ count++;
+
+ if (timeout) {
+ rc = set_watchdog(&wd, timeout);
+ if (rc) {
+ res = EXIT_FAILURE;
+ }
+ }
+
+ rc = read_watchdog(&wd);
+ if (rc) {
+ res = EXIT_FAILURE;
+ continue;
+ }
+
+ if (oneline) {
+ print_oneline(&wd, wanted, noident, notimeouts, noflags);
+ continue;
+ }
+
+ /* pretty output */
+ if (!noident) {
+ printf("%-15s%s\n", _("Device:"), wd.device);
+ printf(_("%-15s%s [version %x]\n"),
+ ("Identity:"),
+ wd.ident.identity,
+ wd.ident.firmware_version);
+ }
+ if (!notimeouts)
+ show_timeouts(&wd);
+ if (!noflags)
+ show_flags(&wd, tt_flags, wanted);
+ } while (optind < argc);
+
+ return res;
+}
diff --git a/term-utils/Makemodule.am b/term-utils/Makemodule.am
new file mode 100644
index 0000000..f4fa92d
--- /dev/null
+++ b/term-utils/Makemodule.am
@@ -0,0 +1,94 @@
+
+usrbin_exec_PROGRAMS += script
+dist_man_MANS += term-utils/script.1
+script_SOURCES = term-utils/script.c
+script_LDADD = $(LDADD)
+if HAVE_UTIL
+script_LDADD += -lutil
+endif
+if HAVE_UTEMPTER
+script_LDADD += -lutempter
+endif
+
+
+usrbin_exec_PROGRAMS += scriptreplay
+dist_man_MANS += term-utils/scriptreplay.1
+scriptreplay_SOURCES = term-utils/scriptreplay.c
+
+
+if BUILD_AGETTY
+sbin_PROGRAMS += agetty
+dist_man_MANS += term-utils/agetty.8
+agetty_SOURCES = term-utils/agetty.c
+agetty_LDADD = $(LDADD) libcommon.la
+endif # BUILD_AGETTY
+
+
+# TODO: add BUILD_SETTERM to configure.am
+if HAVE_NCURSES
+if LINUX
+usrbin_exec_PROGRAMS += setterm
+dist_man_MANS += term-utils/setterm.1
+setterm_SOURCES = term-utils/setterm.c
+endif
+if HAVE_TINFO
+setterm_LDADD = $(LDADD) -ltinfo
+else
+setterm_LDADD = $(LDADD) @NCURSES_LIBS@
+endif
+endif
+
+
+if BUILD_RESET
+dist_usrbin_exec_SCRIPTS += term-utils/reset
+dist_man_MANS += term-utils/reset.1
+endif
+EXTRA_DIST += term-utils/reset.033c
+
+
+if BUILD_MESG
+usrbin_exec_PROGRAMS += mesg
+dist_man_MANS += term-utils/mesg.1
+mesg_SOURCES = term-utils/mesg.c
+endif
+
+
+if BUILD_WALL
+usrbin_exec_PROGRAMS += wall
+wall_SOURCES = \
+ term-utils/wall.c \
+ term-utils/ttymsg.c \
+ term-utils/ttymsg.h
+dist_man_MANS += term-utils/wall.1
+wall_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+wall_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+wall_LDADD = $(LDADD) libcommon.la
+if USE_TTY_GROUP
+if MAKEINSTALL_DO_CHOWN
+install-exec-hook-wall::
+ chgrp tty $(DESTDIR)$(usrbin_execdir)/wall
+ chmod g+s $(DESTDIR)$(usrbin_execdir)/wall
+
+INSTALL_EXEC_HOOKS += install-exec-hook-wall
+endif
+endif
+endif # BUILD_WALL
+
+
+if BUILD_WRITE
+usrbin_exec_PROGRAMS += write
+dist_man_MANS += term-utils/write.1
+write_SOURCES = term-utils/write.c
+write_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+write_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+
+if USE_TTY_GROUP
+if MAKEINSTALL_DO_CHOWN
+install-exec-hook-write::
+ chgrp tty $(DESTDIR)$(usrbin_execdir)/write
+ chmod g+s $(DESTDIR)$(usrbin_execdir)/write
+
+INSTALL_EXEC_HOOKS += install-exec-hook-write
+endif
+endif
+endif # BUILD_WRITE
diff --git a/term-utils/agetty.8 b/term-utils/agetty.8
new file mode 100644
index 0000000..ebfdb96
--- /dev/null
+++ b/term-utils/agetty.8
@@ -0,0 +1,371 @@
+.TH AGETTY 8 "May 2011" "util-linux" "System Administration"
+.SH NAME
+agetty \- alternative Linux getty
+
+.SH SYNOPSIS
+.BR "agetty " [\-8chiLmnsUw]
+.RI "[\-a " user ]
+.RI "[\-f " issue_file ]
+.RI "[\-H " login_host ]
+.RI "[\-I " init ]
+.RI "[\-l " login_program ]
+.RI "[\-t " timeout ]
+.I port
+.I baud_rate,...
+.RI [ term ]
+
+.SH DESCRIPTION
+.ad
+.fi
+\fBagetty\fP opens a tty port, prompts for a login name and invokes
+the /bin/login command. It is normally invoked by \fIinit(8)\fP.
+
+\fBagetty\fP has several \fInon-standard\fP features that are useful
+for hard-wired and for dial-in lines:
+.IP o
+Adapts the tty settings to parity bits and to erase, kill,
+end-of-line and uppercase characters when it reads a login name.
+The program can handle 7-bit characters with even, odd, none or space
+parity, and 8-bit characters with no parity. The following special
+characters are recognized: @ and Control-U (kill); #, DEL and
+back space (erase); carriage return and line feed (end of line).
+.IP o
+Optionally deduces the baud rate from the CONNECT messages produced by
+Hayes(tm)-compatible modems.
+.IP o
+Optionally does not hang up when it is given an already opened line
+(useful for call-back applications).
+.IP o
+Optionally does not display the contents of the \fI/etc/issue\fP file.
+.IP o
+Optionally displays an alternative issue file instead of \fI/etc/issue\fP.
+.IP o
+Optionally does not ask for a login name.
+.IP o
+Optionally invokes a non-standard login program instead of
+\fI/bin/login\fP.
+.IP o
+Optionally turns on hard-ware flow control
+.IP o
+Optionally forces the line to be local with no need for carrier detect.
+.PP
+This program does not use the \fI/etc/gettydefs\fP (System V) or
+\fI/etc/gettytab\fP (SunOS 4) files.
+.SH ARGUMENTS
+.na
+.nf
+.fi
+.ad
+.TP
+port
+A path name relative to the \fI/dev\fP directory. If a "\-" is
+specified, \fBagetty\fP assumes that its standard input is
+already connected to a tty port and that a connection to a
+remote user has already been established.
+.sp
+Under System V, a "\-" \fIport\fP argument should be preceded
+by a "\-\-".
+.TP
+baud_rate,...
+A comma-separated list of one or more baud rates. Each time
+\fBagetty\fP receives a BREAK character it advances through
+the list, which is treated as if it were circular.
+.sp
+Baud rates should be specified in descending order, so that the
+null character (Ctrl\-@) can also be used for baud rate switching.
+.TP
+term
+The value to be used for the TERM environment variable. This overrides
+whatever init(8) may have set, and is inherited by login and the shell.
+.SH OPTIONS
+.na
+.nf
+.fi
+.ad
+.TP
+\-8, \-\-8bits
+Assume that the tty is 8-bit clean, hence disable parity detection.
+.TP
+\-a, \-\-autologin \fIusername\fP
+Log the specified user automatically in without asking for a login name and
+password. The \-f \fIusername\fP option is added to the \fB/bin/login\fP
+command line by default. The \-\-login-options option changes this default
+behaviour and then only \\u is replaced by the \fIusername\fP and no other
+option is added to the login command line.
+.TP
+\-c, \-\-noreset
+Don't reset terminal cflags (control modes). See \fItermios(3)\fP for more
+details.
+.TP
+\-E, \-\-remote
+If \-H \fIfakehost\fP option is given then \-r \fIfakehost\fP options is
+added to the the \fB/bin/login\fP command line.
+.TP
+\-f, \-\-issue\-file \fIissue_file\fP
+Display the contents of \fIissue_file\fP instead of \fI/etc/issue\fP.
+This allows custom messages to be displayed on different terminals.
+The \-i option will override this option.
+.TP
+\-h, \-\-flow\-control
+Enable hardware (RTS/CTS) flow control. It is left up to the
+application to disable software (XON/XOFF) flow protocol where
+appropriate.
+.TP
+\-H, \-\-host \fIlogin_host\fP
+Write the specified \fIlogin_host\fP into the utmp file. (Normally,
+no login host is given, since \fBagetty\fP is used for local hardwired
+connections and consoles. However, this option can be useful for
+identifying terminal concentrators and the like.
+.TP
+\-i, \-\-noissue
+Do not display the contents of \fI/etc/issue\fP (or other) before writing the
+login prompt. Terminals or communications hardware may become confused
+when receiving lots of text at the wrong baud rate; dial-up scripts
+may fail if the login prompt is preceded by too much text.
+.TP
+\-I, \-\-init\-string \fIinitstring\fP
+Set an initial string to be sent to the tty or modem before sending
+anything else. This may be used to initialize a modem. Non printable
+characters may be sent by writing their octal code preceded by a
+backslash (\\). For example to send a linefeed character (ASCII 10,
+octal 012) write \\012.
+.PP
+.TP
+\-l, \-\-login\-program \fIlogin_program\fP
+Invoke the specified \fIlogin_program\fP instead of /bin/login.
+This allows the use of a non-standard login program (for example,
+one that asks for a dial-up password or that uses a different
+password file).
+.TP
+\-L, \-\-local\-line
+Force the line to be a local line with no need for carrier detect. This can
+be useful when you have a locally attached terminal where the serial line
+does not set the carrier detect signal.
+.TP
+\-m, \-\-extract\-baud
+Try to extract the baud rate the CONNECT status message
+produced by Hayes(tm)\-compatible modems. These status
+messages are of the form: "<junk><speed><junk>".
+\fBagetty\fP assumes that the modem emits its status message at
+the same speed as specified with (the first) \fIbaud_rate\fP value
+on the command line.
+.sp
+Since the \fI\-m\fP feature may fail on heavily-loaded systems,
+you still should enable BREAK processing by enumerating all
+expected baud rates on the command line.
+.TP
+\-n, \-\-skip\-login
+Do not prompt the user for a login name. This can be used in
+connection with \-l option to invoke a non-standard login process such
+as a BBS system. Note that with the \-n option, \fBagetty\fR gets no input from
+user who logs in and therefore won't be able to figure out parity,
+character size, and newline processing of the connection. It defaults to
+space parity, 7 bit characters, and ASCII CR (13) end-of-line character.
+Beware that the program that \fBagetty\fR starts (usually /bin/login)
+is run as root.
+.TP
+\-o, \-\-login\-options \fI"login_options"\fP
+Options that are passed to the login program. \\u is replaced
+by the login name. The default \fB/bin/login\fP command line
+is "/bin/login -- <username>".
+
+Please read the SECURITY NOTICE below if you want to use this.
+.TP
+\-p, \-\-login\-pause
+Wait for any key before dropping to the login prompt. Can be combined
+with \fB\-\-autologin\fP to save memory by lazily spawning shells.
+.TP
+\-R, \-\-hangup
+Do call vhangup() for a virtually hangup of the specified terminal.
+.TP
+\-s, \-\-keep\-baud
+Try to keep the existing baud rate. The baud rates from
+the command line are used when agetty receives a BREAK character.
+.TP
+\-t, \-\-timeout \fItimeout\fP
+Terminate if no user name could be read within \fItimeout\fP
+seconds. This option should probably not be used with hard-wired
+lines.
+.TP
+\-U, \-\-detect\-case
+Turn on support for detecting an uppercase only terminal. This setting will
+detect a login name containing only capitals as indicating an uppercase
+only terminal and turn on some upper to lower case conversions. Note that
+this has no support for any unicode characters.
+.TP
+\-w, \-\-wait\-cr
+Wait for the user or the modem to send a carriage-return or a
+linefeed character before sending the \fI/etc/issue\fP (or other) file
+and the login prompt. Very useful in connection with the \-I option.
+.TP
+\-\-noclear
+Do not clear the screen before prompting for the login name
+(the screen is normally cleared).
+.TP
+\-\-nohints
+Do not print hints about Num, Caps and Scroll Locks.
+.TP
+\-\-nonewline
+Do not print a newline before writing out /etc/issue.
+.TP
+\-\-nohostname
+By default the hostname will be printed. With this option enabled,
+no hostname at all will be shown.
+.TP
+\-\-long\-hostname
+By default the hostname is only printed until the first dot. With
+this option enabled, the full qualified hostname by gethostname()
+or if not found by gethostbyname() is shown.
+.TP
+\-\-version
+Output version information and exit.
+.TP
+\-\-help
+Output help screen and exit.
+.PP
+.SH EXAMPLES
+This section shows examples for the process field of an entry in the
+\fI/etc/inittab\fP file. You'll have to prepend appropriate values
+for the other fields. See \fIinittab(5)\fP for more details.
+
+For a hard-wired line or a console tty:
+.ti +5
+/sbin/agetty 9600 ttyS1
+
+For a directly connected terminal without proper carriage detect wiring:
+(try this if your terminal just sleeps instead of giving you a password:
+prompt.)
+.ti +5
+/sbin/agetty \-L 9600 ttyS1 vt100
+
+For a old style dial-in line with a 9600/2400/1200 baud modem:
+.ti +5
+/sbin/agetty \-mt60 ttyS1 9600,2400,1200
+
+For a Hayes modem with a fixed 115200 bps interface to the machine:
+(the example init string turns off modem echo and result codes, makes
+modem/computer DCD track modem/modem DCD, makes a DTR drop cause a
+dis-connection and turn on auto-answer after 1 ring.)
+.ti +5
+/sbin/agetty \-w \-I 'ATE0Q1&D2&C1S0=1\\015' 115200 ttyS1
+
+.SH SECURITY NOTICE
+If you use the \fB\-\-login\-program\fP and \fB\-\-login\-options\fP options,
+be aware that a malicious user may try to enter lognames with embedded options,
+which then get passed to the used login program. Agetty does check
+for a leading "\-" and makes sure the logname gets passed as one parameter
+(so embedded spaces will not create yet another parameter), but depending
+on how the login binary parses the command line that might not be sufficient.
+Check that the used login program can not be abused this way.
+.PP
+Some programs use "\-\-" to indicate that the rest of the commandline should
+not be interpreted as options. Use this feature if available by passing "\-\-"
+before the username gets passed by \\u.
+
+.SH ISSUE ESCAPES
+The issue-file (\fI/etc/issue\fP or the file set with the \-f option)
+may contain certain escape codes to display the system name, date and
+time etc. All escape codes consist of a backslash (\\) immediately
+followed by one of the letters explained below.
+
+.TP
+b
+Insert the baudrate of the current line.
+.TP
+d
+Insert the current date.
+.TP
+s
+Insert the system name, the name of the operating system. Same as `uname \-s'.
+.TP
+l
+Insert the name of the current tty line.
+.TP
+m
+Insert the architecture identifier of the machine. Same as `uname \-m'.
+.TP
+n
+Insert the nodename of the machine, also known as the hostname. Same as `uname \-n'.
+.TP
+o
+Insert the NIS domainname of the machine. Same as `hostname \-d'.
+.TP
+O
+Insert the DNS domainname of the machine.
+.TP
+r
+Insert the release number of the OS. Same as `uname \-r'.
+.TP
+t
+Insert the current time.
+.TP
+u
+Insert the number of current users logged in.
+.TP
+U
+Insert the string "1 user" or "<n> users" where <n> is the number of current
+users logged in.
+.TP
+v
+Insert the version of the OS, eg. the build-date etc.
+.TP
+Example: On my system, the following \fI/etc/issue\fP file:
+
+.na
+.nf
+.ti +.5
+This is \\n.\\o (\\s \\m \\r) \\t
+.TP
+displays as
+
+.ti +.5
+This is thingol.orcan.dk (Linux i386 1.1.9) 18:29:30
+
+.fi
+
+.SH FILES
+.na
+.nf
+/var/run/utmp, the system status file.
+/etc/issue, printed before the login prompt.
+/dev/console, problem reports (if syslog(3) is not used).
+/etc/inittab, \fIinit\fP(8) configuration file.
+.SH BUGS
+.ad
+.fi
+The baud-rate detection feature (the \fI\-m\fP option) requires that
+\fBagetty\fP be scheduled soon enough after completion of a dial-in
+call (within 30 ms with modems that talk at 2400 baud). For robustness,
+always use the \fI\-m\fP option in combination with a multiple baud
+rate command-line argument, so that BREAK processing is enabled.
+
+The text in the \fI/etc/issue\fP file (or other) and the login prompt
+are always output with 7-bit characters and space parity.
+
+The baud-rate detection feature (the \fI\-m\fP option) requires that
+the modem emits its status message \fIafter\fP raising the DCD line.
+.SH DIAGNOSTICS
+.ad
+.fi
+Depending on how the program was configured, all diagnostics are
+written to the console device or reported via the syslog(3) facility.
+Error messages are produced if the \fIport\fP argument does not
+specify a terminal device; if there is no utmp entry for the
+current process (System V only); and so on.
+.SH AUTHOR(S)
+.na
+.nf
+W.Z. Venema <wietse@wzv.win.tue.nl>
+Eindhoven University of Technology
+Department of Mathematics and Computer Science
+Den Dolech 2, P.O. Box 513, 5600 MB Eindhoven, The Netherlands
+
+Peter Orbaek <poe@daimi.aau.dk>
+Linux port and more options. Still maintains the code.
+
+Eric Rasmussen <ear@usfirst.org>
+Added \-f option to display custom login messages on different terminals.
+
+.SH AVAILABILITY
+The agetty command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util\-linux/.
diff --git a/term-utils/agetty.c b/term-utils/agetty.c
new file mode 100644
index 0000000..43243f9
--- /dev/null
+++ b/term-utils/agetty.c
@@ -0,0 +1,1914 @@
+/*
+ * Alternate Getty (agetty) 'agetty' is a versatile, portable, easy to use
+ * replacement for getty on SunOS 4.1.x or the SAC ttymon/ttyadm/sacadm/pmadm
+ * suite on Solaris and other SVR4 systems. 'agetty' was written by Wietse
+ * Venema, enhanced by John DiMarco, and further enhanced by Dennis Cronin.
+ *
+ * Ported to Linux by Peter Orbaek <poe@daimi.aau.dk>
+ * Adopt the mingetty features for a better support
+ * of virtual consoles by Werner Fink <werner@suse.de>
+ *
+ * This program is freely distributable.
+ */
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <termios.h>
+#include <signal.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdarg.h>
+#include <ctype.h>
+#include <utmp.h>
+#include <getopt.h>
+#include <time.h>
+#include <sys/file.h>
+#include <sys/socket.h>
+#include <netdb.h>
+#include <langinfo.h>
+#include <grp.h>
+
+#include "strutils.h"
+#include "all-io.h"
+#include "nls.h"
+#include "pathnames.h"
+#include "c.h"
+#include "widechar.h"
+#include "ttyutils.h"
+
+#ifdef __linux__
+# include <sys/kd.h>
+# include <sys/param.h>
+# define USE_SYSLOG
+# ifndef DEFAULT_VCTERM
+# define DEFAULT_VCTERM "linux"
+# endif
+# ifndef DEFAULT_STERM
+# define DEFAULT_STERM "vt102"
+# endif
+#elif defined(__GNU__)
+# define USE_SYSLOG
+# ifndef DEFAULT_VCTERM
+# define DEFAULT_VCTERM "hurd"
+# endif
+# ifndef DEFAULT_STERM
+# define DEFAULT_STERM "vt102"
+# endif
+#else
+# ifndef DEFAULT_VCTERM
+# define DEFAULT_VCTERM "vt100"
+# endif
+# ifndef DEFAULT_STERM
+# define DEFAULT_STERM "vt100"
+# endif
+#endif
+
+/* If USE_SYSLOG is undefined all diagnostics go to /dev/console. */
+#ifdef USE_SYSLOG
+# include <syslog.h>
+#endif
+
+/*
+ * Some heuristics to find out what environment we are in: if it is not
+ * System V, assume it is SunOS 4. The LOGIN_PROCESS is defined in System V
+ * utmp.h, which will select System V style getty.
+ */
+#ifdef LOGIN_PROCESS
+# define SYSV_STYLE
+#endif
+
+/*
+ * Things you may want to modify.
+ *
+ * If ISSUE is not defined, agetty will never display the contents of the
+ * /etc/issue file. You will not want to spit out large "issue" files at the
+ * wrong baud rate. Relevant for System V only.
+ *
+ * You may disagree with the default line-editing etc. characters defined
+ * below. Note, however, that DEL cannot be used for interrupt generation
+ * and for line editing at the same time.
+ */
+
+/* Displayed before the login prompt. */
+#ifdef SYSV_STYLE
+# define ISSUE _PATH_ISSUE
+# include <sys/utsname.h>
+#endif
+
+/* Login prompt. */
+#define LOGIN "login: "
+#define LOGIN_ARGV_MAX 16 /* Numbers of args for login */
+
+/* Some shorthands for control characters. */
+#define CTL(x) (x ^ 0100) /* Assumes ASCII dialect */
+#define CR CTL('M') /* carriage return */
+#define NL CTL('J') /* line feed */
+#define BS CTL('H') /* back space */
+#define DEL CTL('?') /* delete */
+
+/* Defaults for line-editing etc. characters; you may want to change these. */
+#define DEF_ERASE DEL /* default erase character */
+#define DEF_INTR CTL('C') /* default interrupt character */
+#define DEF_QUIT CTL('\\') /* default quit char */
+#define DEF_KILL CTL('U') /* default kill char */
+#define DEF_EOF CTL('D') /* default EOF char */
+#define DEF_EOL 0
+#define DEF_SWITCH 0 /* default switch char */
+
+/*
+ * When multiple baud rates are specified on the command line, the first one
+ * we will try is the first one specified.
+ */
+#define FIRST_SPEED 0
+
+/* Storage for command-line options. */
+#define MAX_SPEED 10 /* max. nr. of baud rates */
+
+struct options {
+ int flags; /* toggle switches, see below */
+ int timeout; /* time-out period */
+ char *autolog; /* login the user automatically */
+ char *chdir; /* Chdir before the login */
+ char *chroot; /* Chroot before the login */
+ char *login; /* login program */
+ char *logopt; /* options for login program */
+ char *tty; /* name of tty */
+ char *vcline; /* line of virtual console */
+ char *term; /* terminal type */
+ char *initstring; /* modem init string */
+ char *issue; /* alternative issue file */
+ int delay; /* Sleep seconds before prompt */
+ int nice; /* Run login with this priority */
+ int numspeed; /* number of baud rates to try */
+ speed_t speeds[MAX_SPEED]; /* baud rates to be tried */
+};
+
+#define F_PARSE (1<<0) /* process modem status messages */
+#define F_ISSUE (1<<1) /* display /etc/issue */
+#define F_RTSCTS (1<<2) /* enable RTS/CTS flow control */
+#define F_LOCAL (1<<3) /* force local */
+#define F_INITSTRING (1<<4) /* initstring is set */
+#define F_WAITCRLF (1<<5) /* wait for CR or LF */
+#define F_CUSTISSUE (1<<6) /* give alternative issue file */
+#define F_NOPROMPT (1<<7) /* do not ask for login name! */
+#define F_LCUC (1<<8) /* support for *LCUC stty modes */
+#define F_KEEPSPEED (1<<9) /* follow baud rate from kernel */
+#define F_KEEPCFLAGS (1<<10) /* reuse c_cflags setup from kernel */
+#define F_EIGHTBITS (1<<11) /* Assume 8bit-clean tty */
+#define F_VCONSOLE (1<<12) /* This is a virtual console */
+#define F_HANGUP (1<<13) /* Do call vhangup(2) */
+#define F_UTF8 (1<<14) /* We can do UTF8 */
+#define F_LOGINPAUSE (1<<15) /* Wait for any key before dropping login prompt */
+#define F_NOCLEAR (1<<16) /* Do not clear the screen before prompting */
+#define F_NONL (1<<17) /* No newline before issue */
+#define F_NOHOSTNAME (1<<18) /* Do not show the hostname */
+#define F_LONGHNAME (1<<19) /* Show Full qualified hostname */
+#define F_NOHINTS (1<<20) /* Don't print hints */
+#define F_REMOTE (1<<21) /* Add '-h fakehost' to login(1) command line */
+
+#define serial_tty_option(opt, flag) \
+ (((opt)->flags & (F_VCONSOLE|(flag))) == (flag))
+
+/* Storage for things detected while the login name was read. */
+struct chardata {
+ int erase; /* erase character */
+ int kill; /* kill character */
+ int eol; /* end-of-line character */
+ int parity; /* what parity did we see */
+ int capslock; /* upper case without lower case */
+};
+
+/* Initial values for the above. */
+static const struct chardata init_chardata = {
+ DEF_ERASE, /* default erase character */
+ DEF_KILL, /* default kill character */
+ 13, /* default eol char */
+ 0, /* space parity */
+ 0, /* no capslock */
+};
+
+struct Speedtab {
+ long speed;
+ speed_t code;
+};
+
+static const struct Speedtab speedtab[] = {
+ {50, B50},
+ {75, B75},
+ {110, B110},
+ {134, B134},
+ {150, B150},
+ {200, B200},
+ {300, B300},
+ {600, B600},
+ {1200, B1200},
+ {1800, B1800},
+ {2400, B2400},
+ {4800, B4800},
+ {9600, B9600},
+#ifdef B19200
+ {19200, B19200},
+#endif
+#ifdef B38400
+ {38400, B38400},
+#endif
+#ifdef EXTA
+ {19200, EXTA},
+#endif
+#ifdef EXTB
+ {38400, EXTB},
+#endif
+#ifdef B57600
+ {57600, B57600},
+#endif
+#ifdef B115200
+ {115200, B115200},
+#endif
+#ifdef B230400
+ {230400, B230400},
+#endif
+ {0, 0},
+};
+
+static void init_special_char(char* arg, struct options *op);
+static void parse_args(int argc, char **argv, struct options *op);
+static void parse_speeds(struct options *op, char *arg);
+static void update_utmp(struct options *op);
+static void open_tty(char *tty, struct termios *tp, struct options *op);
+static void termio_init(struct options *op, struct termios *tp);
+static void reset_vc (const struct options *op, struct termios *tp);
+static void auto_baud(struct termios *tp);
+static void output_special_char (unsigned char c, struct options *op, struct termios *tp);
+static void do_prompt(struct options *op, struct termios *tp);
+static void next_speed(struct options *op, struct termios *tp);
+static char *get_logname(struct options *op,
+ struct termios *tp, struct chardata *cp);
+static void termio_final(struct options *op,
+ struct termios *tp, struct chardata *cp);
+static int caps_lock(char *s);
+static speed_t bcode(char *s);
+static void usage(FILE * out) __attribute__((__noreturn__));
+static void log_err(const char *, ...) __attribute__((__noreturn__))
+ __attribute__((__format__(printf, 1, 2)));
+static void log_warn (const char *, ...)
+ __attribute__((__format__(printf, 1, 2)));
+static ssize_t append(char *dest, size_t len, const char *sep, const char *src);
+static void check_username (const char* nm);
+static void login_options_to_argv(char *argv[], int *argc, char *str, char *username);
+
+/* Fake hostname for ut_host specified on command line. */
+static char *fakehost;
+
+#ifdef DEBUGGING
+#define debug(s) do { fprintf(dbf,s); fflush(dbf); } while (0)
+FILE *dbf;
+#else
+#define debug(s) do { ; } while (0)
+#endif
+
+int main(int argc, char **argv)
+{
+ char *username = NULL; /* login name, given to /bin/login */
+ struct chardata chardata; /* will be set by get_logname() */
+ struct termios termios; /* terminal mode bits */
+ struct options options = {
+ .flags = F_ISSUE, /* show /etc/issue (SYSV_STYLE) */
+ .login = _PATH_LOGIN, /* default login program */
+ .tty = "tty1", /* default tty line */
+ .term = DEFAULT_VCTERM, /* terminal type */
+ .issue = ISSUE /* default issue file */
+ };
+ char *login_argv[LOGIN_ARGV_MAX + 1];
+ int login_argc = 0;
+ struct sigaction sa, sa_hup, sa_quit, sa_int;
+ sigset_t set;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+
+ /* In case vhangup(2) has to called */
+ sa.sa_handler = SIG_IGN;
+ sa.sa_flags = SA_RESTART;
+ sigemptyset (&sa.sa_mask);
+ sigaction(SIGHUP, &sa, &sa_hup);
+ sigaction(SIGQUIT, &sa, &sa_quit);
+ sigaction(SIGINT, &sa, &sa_int);
+
+#ifdef DEBUGGING
+ dbf = fopen("/dev/ttyp0", "w");
+ for (int i = 1; i < argc; i++)
+ debug(argv[i]);
+#endif /* DEBUGGING */
+
+ /* Parse command-line arguments. */
+ parse_args(argc, argv, &options);
+
+ login_argv[login_argc++] = options.login; /* set login program name */
+
+ /* Update the utmp file. */
+#ifdef SYSV_STYLE
+ update_utmp(&options);
+#endif
+ if (options.delay)
+ sleep(options.delay);
+
+ debug("calling open_tty\n");
+
+ /* Open the tty as standard { input, output, error }. */
+ open_tty(options.tty, &termios, &options);
+
+ /* Unmask SIGHUP if inherited */
+ sigemptyset(&set);
+ sigaddset(&set, SIGHUP);
+ sigprocmask(SIG_UNBLOCK, &set, NULL);
+ sigaction(SIGHUP, &sa_hup, NULL);
+
+ tcsetpgrp(STDIN_FILENO, getpid());
+ /* Initialize the termios settings (raw mode, eight-bit, blocking i/o). */
+ debug("calling termio_init\n");
+ termio_init(&options, &termios);
+
+ /* Write the modem init string and DO NOT flush the buffers. */
+ if (serial_tty_option(&options, F_INITSTRING) &&
+ options.initstring && *options.initstring != '\0') {
+ debug("writing init string\n");
+ write_all(STDOUT_FILENO, options.initstring,
+ strlen(options.initstring));
+ }
+
+ if (!serial_tty_option(&options, F_LOCAL))
+ /* Go to blocking write mode unless -L is specified. */
+ fcntl(STDOUT_FILENO, F_SETFL,
+ fcntl(STDOUT_FILENO, F_GETFL, 0) & ~O_NONBLOCK);
+
+ /* Optionally detect the baud rate from the modem status message. */
+ debug("before autobaud\n");
+ if (serial_tty_option(&options, F_PARSE))
+ auto_baud(&termios);
+
+ /* Set the optional timer. */
+ if (options.timeout)
+ alarm((unsigned) options.timeout);
+
+ /* Optionally wait for CR or LF before writing /etc/issue */
+ if (serial_tty_option(&options, F_WAITCRLF)) {
+ char ch;
+
+ debug("waiting for cr-lf\n");
+ while (read(STDIN_FILENO, &ch, 1) == 1) {
+ /* Strip "parity bit". */
+ ch &= 0x7f;
+#ifdef DEBUGGING
+ fprintf(dbf, "read %c\n", ch);
+#endif
+ if (ch == '\n' || ch == '\r')
+ break;
+ }
+ }
+
+ chardata = init_chardata;
+ if ((options.flags & F_NOPROMPT) == 0) {
+ if (options.autolog) {
+ /* Do the auto login. */
+ debug("doing auto login\n");
+ do_prompt(&options, &termios);
+ printf("%s%s (automatic login)\n", LOGIN, options.autolog);
+ username = options.autolog;
+ } else {
+ /* Read the login name. */
+ debug("reading login name\n");
+ while ((username =
+ get_logname(&options, &termios, &chardata)) == 0)
+ if ((options.flags & F_VCONSOLE) == 0)
+ next_speed(&options, &termios);
+ }
+ }
+
+ /* Disable timer. */
+ if (options.timeout)
+ alarm(0);
+
+ if ((options.flags & F_VCONSOLE) == 0) {
+ /* Finalize the termios settings. */
+ termio_final(&options, &termios, &chardata);
+
+ /* Now the newline character should be properly written. */
+ write_all(STDOUT_FILENO, "\r\n", 2);
+ }
+
+ sigaction(SIGQUIT, &sa_quit, NULL);
+ sigaction(SIGINT, &sa_int, NULL);
+
+ if (username)
+ check_username(username);
+
+ if (options.logopt) {
+ /*
+ * The --login-options completely overwrites the default
+ * way how agetty composes login(1) command line.
+ */
+ login_options_to_argv(login_argv, &login_argc,
+ options.logopt, username);
+ } else {
+ if (fakehost && (options.flags & F_REMOTE)) {
+ login_argv[login_argc++] = "-h";
+ login_argv[login_argc++] = fakehost;
+ }
+ if (username) {
+ if (options.autolog)
+ login_argv[login_argc++] = "-f";
+ else
+ login_argv[login_argc++] = "--";
+ login_argv[login_argc++] = username;
+ }
+ }
+
+ login_argv[login_argc] = NULL; /* last login argv */
+
+ if (options.chroot) {
+ if (chroot(options.chroot) < 0)
+ log_err(_("%s: can't change root directory %s: %m"),
+ options.tty, options.chroot);
+ }
+ if (options.chdir) {
+ if (chdir(options.chdir) < 0)
+ log_err(_("%s: can't change working directory %s: %m"),
+ options.tty, options.chdir);
+ }
+ if (options.nice) {
+ if (nice(options.nice) < 0)
+ log_warn(_("%s: can't change process priority: %m"),
+ options.tty);
+ }
+
+ /* Let the login program take care of password validation. */
+ execv(options.login, login_argv);
+ log_err(_("%s: can't exec %s: %m"), options.tty, login_argv[0]);
+}
+
+/*
+ * Returns : @str if \u not found
+ * : @username if @str equal to "\u"
+ * : newly allocated string if \u mixed with something other
+ */
+static char *replace_u(char *str, char *username)
+{
+ char *entry = NULL, *p = str;
+ size_t usz = username ? strlen(username) : 0;
+
+ while (*p) {
+ size_t sz;
+ char *tp, *old = entry;
+
+ if (memcmp(p, "\\u", 2)) {
+ p++;
+ continue; /* no \u */
+ }
+ sz = strlen(str);
+
+ if (p == str && sz == 2)
+ /* 'str' contains only '\u' */
+ return username;
+
+ tp = entry = malloc(sz + usz);
+ if (!tp)
+ log_err(_("failed to allocate memory: %m"));
+
+ if (p != str) {
+ /* copy chars befor \u */
+ memcpy(tp, str, p - str);
+ tp += p - str;
+ }
+ if (usz) {
+ /* copy username */
+ memcpy(tp, username, usz);
+ tp += usz;
+ }
+ if (*(p + 2))
+ /* copy chars after \u + \0 */
+ memcpy(tp, p + 2, sz - (p - str) - 1);
+ else
+ *tp = '\0';
+
+ p = tp;
+ str = entry;
+ free(old);
+ }
+
+ return entry ? entry : str;
+}
+
+static void login_options_to_argv(char *argv[], int *argc,
+ char *str, char *username)
+{
+ char *p;
+ int i = *argc;
+
+ while (str && isspace(*str))
+ str++;
+ p = str;
+
+ while (p && *p && i < LOGIN_ARGV_MAX) {
+ if (isspace(*p)) {
+ *p = '\0';
+ while (isspace(*++p))
+ ;
+ if (*p) {
+ argv[i++] = replace_u(str, username);
+ str = p;
+ }
+ } else
+ p++;
+ }
+ if (str && *str && i < LOGIN_ARGV_MAX)
+ argv[i++] = replace_u(str, username);
+ *argc = i;
+}
+
+/* Parse command-line arguments. */
+static void parse_args(int argc, char **argv, struct options *op)
+{
+ int c;
+
+ enum {
+ VERSION_OPTION = CHAR_MAX + 1,
+ NOHINTS_OPTION,
+ NOHOSTNAME_OPTION,
+ LONGHOSTNAME_OPTION,
+ HELP_OPTION
+ };
+ const struct option longopts[] = {
+ { "8bits", no_argument, 0, '8' },
+ { "autologin", required_argument, 0, 'a' },
+ { "noreset", no_argument, 0, 'c' },
+ { "chdir", required_argument, 0, 'C' },
+ { "delay", required_argument, 0, 'd' },
+ { "remote", no_argument, 0, 'E' },
+ { "issue-file", required_argument, 0, 'f' },
+ { "flow-control", no_argument, 0, 'h' },
+ { "host", required_argument, 0, 'H' },
+ { "noissue", no_argument, 0, 'i' },
+ { "init-string", required_argument, 0, 'I' },
+ { "noclear", no_argument, 0, 'J' },
+ { "login-program", required_argument, 0, 'l' },
+ { "local-line", no_argument, 0, 'L' },
+ { "extract-baud", no_argument, 0, 'm' },
+ { "skip-login", no_argument, 0, 'n' },
+ { "nonewline", no_argument, 0, 'N' },
+ { "login-options", required_argument, 0, 'o' },
+ { "login-pause", no_argument, 0, 'p' },
+ { "nice", required_argument, 0, 'P' },
+ { "chroot", required_argument, 0, 'r' },
+ { "hangup", no_argument, 0, 'R' },
+ { "keep-baud", no_argument, 0, 's' },
+ { "timeout", required_argument, 0, 't' },
+ { "detect-case", no_argument, 0, 'U' },
+ { "wait-cr", no_argument, 0, 'w' },
+ { "nohints", no_argument, 0, NOHINTS_OPTION },
+ { "nohostname", no_argument, 0, NOHOSTNAME_OPTION },
+ { "long-hostname", no_argument, 0, LONGHOSTNAME_OPTION },
+ { "version", no_argument, 0, VERSION_OPTION },
+ { "help", no_argument, 0, HELP_OPTION },
+ { NULL, 0, 0, 0 }
+ };
+
+ while ((c = getopt_long(argc, argv,
+ "8a:cC:d:Ef:hH:iI:Jl:LmnNo:pP:r:Rst:Uw", longopts,
+ NULL)) != -1) {
+ switch (c) {
+ case '8':
+ op->flags |= F_EIGHTBITS;
+ break;
+ case 'a':
+ op->autolog = optarg;
+ break;
+ case 'c':
+ op->flags |= F_KEEPCFLAGS;
+ break;
+ case 'C':
+ op->chdir = optarg;
+ break;
+ case 'd':
+ op->delay = atoi(optarg);
+ break;
+ case 'E':
+ op->flags |= F_REMOTE;
+ break;
+ case 'f':
+ op->flags |= F_CUSTISSUE;
+ op->issue = optarg;
+ break;
+ case 'h':
+ op->flags |= F_RTSCTS;
+ break;
+ case 'H':
+ fakehost = optarg;
+ break;
+ case 'i':
+ op->flags &= ~F_ISSUE;
+ break;
+ case 'I':
+ init_special_char(optarg, op);
+ op->flags |= F_INITSTRING;
+ break;
+ case 'J':
+ op->flags |= F_NOCLEAR;
+ break;
+ case 'l':
+ op->login = optarg;
+ break;
+ case 'L':
+ op->flags |= F_LOCAL;
+ break;
+ case 'm':
+ op->flags |= F_PARSE;
+ break;
+ case 'n':
+ op->flags |= F_NOPROMPT;
+ break;
+ case 'o':
+ op->logopt = optarg;
+ break;
+ case 'p':
+ op->flags |= F_LOGINPAUSE;
+ break;
+ case 'P':
+ op->nice = atoi(optarg);
+ break;
+ case 'r':
+ op->chroot = optarg;
+ break;
+ case 'R':
+ op->flags |= F_HANGUP;
+ break;
+ case 's':
+ op->flags |= F_KEEPSPEED;
+ break;
+ case 't':
+ if ((op->timeout = atoi(optarg)) <= 0)
+ log_err(_("bad timeout value: %s"), optarg);
+ break;
+ case 'U':
+ op->flags |= F_LCUC;
+ break;
+ case 'w':
+ op->flags |= F_WAITCRLF;
+ break;
+ case NOHINTS_OPTION:
+ op->flags |= F_NOHINTS;
+ break;
+ case NOHOSTNAME_OPTION:
+ op->flags |= F_NOHOSTNAME;
+ break;
+ case LONGHOSTNAME_OPTION:
+ op->flags |= F_LONGHNAME;
+ break;
+ case VERSION_OPTION:
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ case HELP_OPTION:
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ }
+
+ debug("after getopt loop\n");
+
+ if (argc < optind + 1) {
+ log_warn(_("not enough arguments"));
+ usage(stderr);
+ }
+
+ /* Accept "tty", "baudrate tty", and "tty baudrate". */
+ if ('0' <= argv[optind][0] && argv[optind][0] <= '9') {
+ /* Assume BSD style speed. */
+ parse_speeds(op, argv[optind++]);
+ if (argc < optind + 1) {
+ warn(_("not enough arguments"));
+ usage(stderr);
+ }
+ op->tty = argv[optind++];
+ } else {
+ op->tty = argv[optind++];
+ if (argc > optind) {
+ char *v = argv[optind++];
+ if ('0' <= *v && *v <= '9')
+ parse_speeds(op, v);
+ else
+ op->speeds[op->numspeed++] = bcode("9600");
+ }
+ }
+
+ /* On virtual console remember the line which is used for */
+ if (strncmp(op->tty, "tty", 3) == 0 &&
+ strspn(op->tty + 3, "0123456789") == strlen(op->tty+3))
+ op->vcline = op->tty+3;
+
+ if (argc > optind && argv[optind])
+ op->term = argv[optind];
+
+#ifdef DO_DEVFS_FIDDLING
+ /*
+ * Some devfs junk, following Goswin Brederlow:
+ * turn ttyS<n> into tts/<n>
+ * turn tty<n> into vc/<n>
+ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=72241
+ */
+ if (op->tty && strlen(op->tty) < 90) {
+ char dev_name[100];
+ struct stat st;
+
+ if (strncmp(op->tty, "ttyS", 4) == 0) {
+ strcpy(dev_name, "/dev/");
+ strcat(dev_name, op->tty);
+ if (stat(dev_name, &st) < 0) {
+ strcpy(dev_name, "/dev/tts/");
+ strcat(dev_name, op->tty + 4);
+ if (stat(dev_name, &st) == 0) {
+ op->tty = strdup(dev_name + 5);
+ if (!op->tty)
+ log_err(_("failed to allocate memory: %m"));
+ }
+ }
+ } else if (strncmp(op->tty, "tty", 3) == 0) {
+ strcpy(dev_name, "/dev/");
+ strncat(dev_name, op->tty, 90);
+ if (stat(dev_name, &st) < 0) {
+ strcpy(dev_name, "/dev/vc/");
+ strcat(dev_name, op->tty + 3);
+ if (stat(dev_name, &st) == 0) {
+ op->tty = strdup(dev_name + 5);
+ if (!op->tty)
+ log_err(_("failed to allocate memory: %m"));
+ }
+ }
+ }
+ }
+#endif /* DO_DEVFS_FIDDLING */
+
+ debug("exiting parseargs\n");
+}
+
+/* Parse alternate baud rates. */
+static void parse_speeds(struct options *op, char *arg)
+{
+ char *cp;
+
+ debug("entered parse_speeds\n");
+ for (cp = strtok(arg, ","); cp != 0; cp = strtok((char *)0, ",")) {
+ if ((op->speeds[op->numspeed++] = bcode(cp)) <= 0)
+ log_err(_("bad speed: %s"), cp);
+ if (op->numspeed >= MAX_SPEED)
+ log_err(_("too many alternate speeds"));
+ }
+ debug("exiting parsespeeds\n");
+}
+
+#ifdef SYSV_STYLE
+
+/* Update our utmp entry. */
+static void update_utmp(struct options *op)
+{
+ struct utmp ut;
+ time_t t;
+ pid_t pid = getpid();
+ pid_t sid = getsid(0);
+ char *vcline = op->vcline;
+ char *line = op->tty;
+ struct utmp *utp;
+
+ /*
+ * The utmp file holds miscellaneous information about things started by
+ * /sbin/init and other system-related events. Our purpose is to update
+ * the utmp entry for the current process, in particular the process type
+ * and the tty line we are listening to. Return successfully only if the
+ * utmp file can be opened for update, and if we are able to find our
+ * entry in the utmp file.
+ */
+ utmpname(_PATH_UTMP);
+ setutent();
+
+ /*
+ * Find my pid in utmp.
+ *
+ * FIXME: Earlier (when was that?) code here tested only utp->ut_type !=
+ * INIT_PROCESS, so maybe the >= here should be >.
+ *
+ * FIXME: The present code is taken from login.c, so if this is changed,
+ * maybe login has to be changed as well (is this true?).
+ */
+ while ((utp = getutent()))
+ if (utp->ut_pid == pid
+ && utp->ut_type >= INIT_PROCESS
+ && utp->ut_type <= DEAD_PROCESS)
+ break;
+
+ if (utp) {
+ memcpy(&ut, utp, sizeof(ut));
+ } else {
+ /* Some inits do not initialize utmp. */
+ memset(&ut, 0, sizeof(ut));
+ if (vcline && *vcline)
+ /* Standard virtual console devices */
+ strncpy(ut.ut_id, vcline, sizeof(ut.ut_id));
+ else {
+ size_t len = strlen(line);
+ char * ptr;
+ if (len >= sizeof(ut.ut_id))
+ ptr = line + len - sizeof(ut.ut_id);
+ else
+ ptr = line;
+ strncpy(ut.ut_id, ptr, sizeof(ut.ut_id));
+ }
+ }
+
+ strncpy(ut.ut_user, "LOGIN", sizeof(ut.ut_user));
+ strncpy(ut.ut_line, line, sizeof(ut.ut_line));
+ if (fakehost)
+ strncpy(ut.ut_host, fakehost, sizeof(ut.ut_host));
+ time(&t);
+ ut.ut_time = t;
+ ut.ut_type = LOGIN_PROCESS;
+ ut.ut_pid = pid;
+ ut.ut_session = sid;
+
+ pututline(&ut);
+ endutent();
+
+ {
+#ifdef HAVE_UPDWTMP
+ updwtmp(_PATH_WTMP, &ut);
+#else
+ int ut_fd;
+ int lf;
+
+ if ((lf = open(_PATH_WTMPLOCK, O_CREAT | O_WRONLY, 0660)) >= 0) {
+ flock(lf, LOCK_EX);
+ if ((ut_fd =
+ open(_PATH_WTMP, O_APPEND | O_WRONLY)) >= 0) {
+ write_all(ut_fd, &ut, sizeof(ut));
+ close(ut_fd);
+ }
+ flock(lf, LOCK_UN);
+ close(lf);
+ }
+#endif /* HAVE_UPDWTMP */
+ }
+}
+
+#endif /* SYSV_STYLE */
+
+/* Set up tty as stdin, stdout & stderr. */
+static void open_tty(char *tty, struct termios *tp, struct options *op)
+{
+ const pid_t pid = getpid();
+ int serial, closed = 0;
+
+ /* Set up new standard input, unless we are given an already opened port. */
+
+ if (strcmp(tty, "-") != 0) {
+ char buf[PATH_MAX+1];
+ struct group *gr = NULL;
+ struct stat st;
+ int fd, len;
+ pid_t tid;
+ gid_t gid = 0;
+
+ /* Use tty group if available */
+ if ((gr = getgrnam("tty")))
+ gid = gr->gr_gid;
+
+ if (((len = snprintf(buf, sizeof(buf), "/dev/%s", tty)) >=
+ (int)sizeof(buf)) || (len < 0))
+ log_err(_("/dev/%s: cannot open as standard input: %m"), tty);
+
+ /*
+ * There is always a race between this reset and the call to
+ * vhangup() that s.o. can use to get access to your tty.
+ * Linux login(1) will change tty permissions. Use root owner and group
+ * with permission -rw------- for the period between getty and login.
+ */
+ if (chown(buf, 0, gid) || chmod(buf, (gid ? 0660 : 0600))) {
+ if (errno == EROFS)
+ log_warn("%s: %m", buf);
+ else
+ log_err("%s: %m", buf);
+ }
+
+ /* Open the tty as standard input. */
+ if ((fd = open(buf, O_RDWR|O_NOCTTY|O_NONBLOCK, 0)) < 0)
+ log_err(_("/dev/%s: cannot open as standard input: %m"), tty);
+
+ /* Sanity checks... */
+ if (!isatty(fd))
+ log_err(_("/dev/%s: not a character device"), tty);
+ if (fstat(fd, &st) < 0)
+ log_err("%s: %m", buf);
+ if ((st.st_mode & S_IFMT) != S_IFCHR)
+ log_err(_("/dev/%s: not a character device"), tty);
+
+ if (((tid = tcgetsid(fd)) < 0) || (pid != tid)) {
+ if (ioctl(fd, TIOCSCTTY, 1) == -1)
+ log_warn("/dev/%s: cannot get controlling tty: %m", tty);
+ }
+
+ close(STDIN_FILENO);
+ errno = 0;
+
+ if (op->flags & F_HANGUP) {
+
+ if (ioctl(fd, TIOCNOTTY))
+ debug("TIOCNOTTY ioctl failed\n");
+
+ /*
+ * Let's close all file decriptors before vhangup
+ * https://lkml.org/lkml/2012/6/5/145
+ */
+ close(fd);
+ close(STDOUT_FILENO);
+ close(STDERR_FILENO);
+ errno = 0;
+ closed = 1;
+
+ if (vhangup())
+ log_err("/dev/%s: vhangup() failed: %m", tty);
+ } else
+ close(fd);
+
+ debug("open(2)\n");
+ if (open(buf, O_RDWR|O_NOCTTY|O_NONBLOCK, 0) != 0)
+ log_err(_("/dev/%s: cannot open as standard input: %m"), tty);
+
+ if (((tid = tcgetsid(STDIN_FILENO)) < 0) || (pid != tid)) {
+ if (ioctl(STDIN_FILENO, TIOCSCTTY, 1) == -1)
+ log_warn("/dev/%s: cannot get controlling tty: %m", tty);
+ }
+
+ } else {
+
+ /*
+ * Standard input should already be connected to an open port. Make
+ * sure it is open for read/write.
+ */
+
+ if ((fcntl(STDIN_FILENO, F_GETFL, 0) & O_RDWR) != O_RDWR)
+ log_err(_("%s: not open for read/write"), tty);
+
+ }
+
+ if (tcsetpgrp(STDIN_FILENO, pid))
+ log_warn("/dev/%s: cannot set process group: %m", tty);
+
+ /* Get rid of the present outputs. */
+ if (!closed) {
+ close(STDOUT_FILENO);
+ close(STDERR_FILENO);
+ errno = 0;
+ }
+
+ /* Set up standard output and standard error file descriptors. */
+ debug("duping\n");
+
+ /* set up stdout and stderr */
+ if (dup(STDIN_FILENO) != 1 || dup(STDIN_FILENO) != 2)
+ log_err(_("%s: dup problem: %m"), tty);
+
+ /* make stdio unbuffered for slow modem lines */
+ setvbuf(stdout, NULL, _IONBF, 0);
+
+ /*
+ * The following ioctl will fail if stdin is not a tty, but also when
+ * there is noise on the modem control lines. In the latter case, the
+ * common course of action is (1) fix your cables (2) give the modem
+ * more time to properly reset after hanging up.
+ *
+ * SunOS users can achieve (2) by patching the SunOS kernel variable
+ * "zsadtrlow" to a larger value; 5 seconds seems to be a good value.
+ * http://www.sunmanagers.org/archives/1993/0574.html
+ */
+ memset(tp, 0, sizeof(struct termios));
+ if (tcgetattr(STDIN_FILENO, tp) < 0)
+ log_err("%s: tcgetattr: %m", tty);
+
+ /*
+ * Detect if this is a virtual console or serial/modem line.
+ * In case of a virtual console the ioctl TIOCMGET fails and
+ * the error number will be set to EINVAL.
+ */
+ if (ioctl(STDIN_FILENO, TIOCMGET, &serial) < 0 && (errno == EINVAL)) {
+ op->flags |= F_VCONSOLE;
+ if (!op->term)
+ op->term = DEFAULT_VCTERM;
+ } else if (!op->term)
+ op->term = DEFAULT_STERM;
+
+ setenv("TERM", op->term, 1);
+}
+
+/* Initialize termios settings. */
+static void termio_init(struct options *op, struct termios *tp)
+{
+ speed_t ispeed, ospeed;
+ struct winsize ws;
+
+ if (op->flags & F_VCONSOLE) {
+#if defined(IUTF8) && defined(KDGKBMODE)
+ int mode;
+
+ /* Detect mode of current keyboard setup, e.g. for UTF-8 */
+ if (ioctl(STDIN_FILENO, KDGKBMODE, &mode) < 0)
+ mode = K_RAW;
+ switch(mode) {
+ case K_UNICODE:
+ setlocale(LC_CTYPE, "C.UTF-8");
+ op->flags |= F_UTF8;
+ break;
+ case K_RAW:
+ case K_MEDIUMRAW:
+ case K_XLATE:
+ default:
+ setlocale(LC_CTYPE, "POSIX");
+ op->flags &= ~F_UTF8;
+ break;
+ }
+#else
+ setlocale(LC_CTYPE, "POSIX");
+ op->flags &= ~F_UTF8;
+#endif
+ reset_vc(op, tp);
+
+ if ((tp->c_cflag & (CS8|PARODD|PARENB)) == CS8)
+ op->flags |= F_EIGHTBITS;
+
+ if ((op->flags & F_NOCLEAR) == 0) {
+ /*
+ * Do not write a full reset (ESC c) because this destroys
+ * the unicode mode again if the terminal was in unicode
+ * mode. Also it clears the CONSOLE_MAGIC features which
+ * are required for some languages/console-fonts.
+ * Just put the cursor to the home position (ESC [ H),
+ * erase everything below the cursor (ESC [ J), and set the
+ * scrolling region to the full window (ESC [ r)
+ */
+ write_all(STDOUT_FILENO, "\033[r\033[H\033[J", 9);
+ }
+ return;
+ }
+
+ if (op->flags & F_KEEPSPEED) {
+ /* Save the original setting. */
+ ispeed = cfgetispeed(tp);
+ ospeed = cfgetospeed(tp);
+
+ if (!ispeed) ispeed = TTYDEF_SPEED;
+ if (!ospeed) ospeed = TTYDEF_SPEED;
+
+ } else {
+ ospeed = ispeed = op->speeds[FIRST_SPEED];
+ }
+
+ /*
+ * Initial termios settings: 8-bit characters, raw-mode, blocking i/o.
+ * Special characters are set after we have read the login name; all
+ * reads will be done in raw mode anyway. Errors will be dealt with
+ * later on.
+ */
+
+ /* Flush input and output queues, important for modems! */
+ tcflush(STDIN_FILENO, TCIOFLUSH);
+
+#ifdef IUTF8
+ tp->c_iflag = tp->c_iflag & IUTF8;
+ if (tp->c_iflag & IUTF8)
+ op->flags |= F_UTF8;
+#else
+ tp->c_iflag = 0;
+#endif
+ tp->c_lflag = 0;
+ tp->c_oflag &= OPOST | ONLCR;
+
+ if ((op->flags & F_KEEPCFLAGS) == 0)
+ tp->c_cflag = CS8 | HUPCL | CREAD | (tp->c_cflag & CLOCAL);
+
+ /*
+ * Note that the speed is stored in the c_cflag termios field, so we have
+ * set the speed always when the cflag se reseted.
+ */
+ cfsetispeed(tp, ispeed);
+ cfsetospeed(tp, ospeed);
+
+ if (op->flags & F_LOCAL)
+ tp->c_cflag |= CLOCAL;
+#ifdef HAVE_STRUCT_TERMIOS_C_LINE
+ tp->c_line = 0;
+#endif
+ tp->c_cc[VMIN] = 1;
+ tp->c_cc[VTIME] = 0;
+
+ /* Check for terminal size and if not found set default */
+ if (ioctl(STDIN_FILENO, TIOCGWINSZ, &ws) == 0) {
+ int set = 0;
+ if (ws.ws_row == 0) {
+ ws.ws_row = 24;
+ set++;
+ }
+ if (ws.ws_col == 0) {
+ ws.ws_col = 80;
+ set++;
+ }
+ if (ioctl(STDIN_FILENO, TIOCSWINSZ, &ws))
+ debug("TIOCSWINSZ ioctl failed\n");
+ }
+
+ /* Optionally enable hardware flow control. */
+#ifdef CRTSCTS
+ if (op->flags & F_RTSCTS)
+ tp->c_cflag |= CRTSCTS;
+#endif
+
+ tcsetattr(STDIN_FILENO, TCSANOW, tp);
+
+ /* Go to blocking input even in local mode. */
+ fcntl(STDIN_FILENO, F_SETFL,
+ fcntl(STDIN_FILENO, F_GETFL, 0) & ~O_NONBLOCK);
+
+ debug("term_io 2\n");
+}
+
+/* Reset virtual console on stdin to its defaults */
+static void reset_vc(const struct options *op, struct termios *tp)
+{
+ int fl = 0;
+
+ fl |= (op->flags & F_KEEPCFLAGS) == 0 ? 0 : UL_TTY_KEEPCFLAGS;
+ fl |= (op->flags & F_UTF8) == 0 ? 0 : UL_TTY_UTF8;
+
+ reset_virtual_console(tp, fl);
+
+ if (tcsetattr(STDIN_FILENO, TCSADRAIN, tp))
+ log_warn("tcsetattr problem: %m");
+}
+
+/* Extract baud rate from modem status message. */
+static void auto_baud(struct termios *tp)
+{
+ speed_t speed;
+ int vmin;
+ unsigned iflag;
+ char buf[BUFSIZ];
+ char *bp;
+ int nread;
+
+ /*
+ * This works only if the modem produces its status code AFTER raising
+ * the DCD line, and if the computer is fast enough to set the proper
+ * baud rate before the message has gone by. We expect a message of the
+ * following format:
+ *
+ * <junk><number><junk>
+ *
+ * The number is interpreted as the baud rate of the incoming call. If the
+ * modem does not tell us the baud rate within one second, we will keep
+ * using the current baud rate. It is advisable to enable BREAK
+ * processing (comma-separated list of baud rates) if the processing of
+ * modem status messages is enabled.
+ */
+
+ /*
+ * Use 7-bit characters, don't block if input queue is empty. Errors will
+ * be dealt with later on.
+ */
+ iflag = tp->c_iflag;
+ /* Enable 8th-bit stripping. */
+ tp->c_iflag |= ISTRIP;
+ vmin = tp->c_cc[VMIN];
+ /* Do not block when queue is empty. */
+ tp->c_cc[VMIN] = 0;
+ tcsetattr(STDIN_FILENO, TCSANOW, tp);
+
+ /*
+ * Wait for a while, then read everything the modem has said so far and
+ * try to extract the speed of the dial-in call.
+ */
+ sleep(1);
+ if ((nread = read(STDIN_FILENO, buf, sizeof(buf) - 1)) > 0) {
+ buf[nread] = '\0';
+ for (bp = buf; bp < buf + nread; bp++)
+ if (isascii(*bp) && isdigit(*bp)) {
+ if ((speed = bcode(bp))) {
+ cfsetispeed(tp, speed);
+ cfsetospeed(tp, speed);
+ }
+ break;
+ }
+ }
+
+ /* Restore terminal settings. Errors will be dealt with later on. */
+ tp->c_iflag = iflag;
+ tp->c_cc[VMIN] = vmin;
+ tcsetattr(STDIN_FILENO, TCSANOW, tp);
+}
+
+/* Show login prompt, optionally preceded by /etc/issue contents. */
+static void do_prompt(struct options *op, struct termios *tp)
+{
+#ifdef ISSUE
+ FILE *fd;
+#endif /* ISSUE */
+
+ if ((op->flags & F_NONL) == 0) {
+ /* Issue not in use, start with a new line. */
+ write_all(STDOUT_FILENO, "\r\n", 2);
+ }
+
+#ifdef ISSUE
+ if ((op->flags & F_ISSUE) && (fd = fopen(op->issue, "r"))) {
+ int c, oflag = tp->c_oflag; /* Save current setting. */
+
+ if ((op->flags & F_VCONSOLE) == 0) {
+ /* Map new line in output to carriage return & new line. */
+ tp->c_oflag |= (ONLCR | OPOST);
+ tcsetattr(STDIN_FILENO, TCSADRAIN, tp);
+ }
+
+ while ((c = getc(fd)) != EOF) {
+ if (c == '\\')
+ output_special_char(getc(fd), op, tp);
+ else
+ putchar(c);
+ }
+ fflush(stdout);
+
+ if ((op->flags & F_VCONSOLE) == 0) {
+ /* Restore settings. */
+ tp->c_oflag = oflag;
+ /* Wait till output is gone. */
+ tcsetattr(STDIN_FILENO, TCSADRAIN, tp);
+ }
+ fclose(fd);
+ }
+#endif /* ISSUE */
+ if (op->flags & F_LOGINPAUSE) {
+ puts("[press ENTER to login]");
+ getc(stdin);
+ }
+#ifdef KDGKBLED
+ if (!(op->flags & F_NOHINTS) && !op->autolog &&
+ (op->flags & F_VCONSOLE)) {
+ int kb = 0;
+
+ if (ioctl(STDIN_FILENO, KDGKBLED, &kb) == 0) {
+ char hint[256] = { '\0' };
+ int nl = 0;
+
+ if (access(_PATH_NUMLOCK_ON, F_OK) == 0)
+ nl = 1;
+
+ if (nl && (kb & 0x02) == 0)
+ append(hint, sizeof(hint), NULL, _("Num Lock off"));
+
+ else if (nl == 0 && (kb & 2) && (kb & 0x20) == 0)
+ append(hint, sizeof(hint), NULL, _("Num Lock on"));
+
+ if ((kb & 0x04) && (kb & 0x40) == 0)
+ append(hint, sizeof(hint), ", ", _("Caps Lock on"));
+
+ if ((kb & 0x01) && (kb & 0x10) == 0)
+ append(hint, sizeof(hint), ", ", _("Scroll Lock on"));
+
+ if (*hint)
+ printf(_("Hint: %s\n\n"), hint);
+ }
+ }
+#endif /* KDGKBLED */
+ if ((op->flags & F_NOHOSTNAME) == 0) {
+ char hn[MAXHOSTNAMELEN + 1];
+ if (gethostname(hn, sizeof(hn)) == 0) {
+ struct hostent *ht;
+ char *dot = strchr(hn, '.');
+
+ hn[MAXHOSTNAMELEN] = '\0';
+ if ((op->flags & F_LONGHNAME) == 0) {
+ if (dot)
+ *dot = '\0';
+ write_all(STDOUT_FILENO, hn, strlen(hn));
+ } else if (dot == NULL && (ht = gethostbyname(hn)))
+ write_all(STDOUT_FILENO, ht->h_name, strlen(ht->h_name));
+ else
+ write_all(STDOUT_FILENO, hn, strlen(hn));
+ write_all(STDOUT_FILENO, " ", 1);
+ }
+ }
+ if (op->autolog == (char*)0) {
+ /* Always show login prompt. */
+ write_all(STDOUT_FILENO, LOGIN, sizeof(LOGIN) - 1);
+ }
+}
+
+/* Select next baud rate. */
+static void next_speed(struct options *op, struct termios *tp)
+{
+ static int baud_index = -1;
+
+ if (baud_index == -1)
+ /*
+ * If the F_KEEPSPEED flags is set then the FIRST_SPEED is not
+ * tested yet (see termio_init()).
+ */
+ baud_index =
+ (op->flags & F_KEEPSPEED) ? FIRST_SPEED : 1 % op->numspeed;
+ else
+ baud_index = (baud_index + 1) % op->numspeed;
+
+ cfsetispeed(tp, op->speeds[baud_index]);
+ cfsetospeed(tp, op->speeds[baud_index]);
+ tcsetattr(STDIN_FILENO, TCSANOW, tp);
+}
+
+/* Get user name, establish parity, speed, erase, kill & eol. */
+static char *get_logname(struct options *op, struct termios *tp, struct chardata *cp)
+{
+ static char logname[BUFSIZ];
+ char *bp;
+ char c; /* input character, full eight bits */
+ char ascval; /* low 7 bits of input character */
+ int eightbit;
+ static char *erase[] = { /* backspace-space-backspace */
+ "\010\040\010", /* space parity */
+ "\010\040\010", /* odd parity */
+ "\210\240\210", /* even parity */
+ "\210\240\210", /* no parity */
+ };
+
+ /* Initialize kill, erase, parity etc. (also after switching speeds). */
+ *cp = init_chardata;
+
+ /*
+ * Flush pending input (especially important after parsing or switching
+ * the baud rate).
+ */
+ if ((op->flags & F_VCONSOLE) == 0)
+ sleep(1);
+ tcflush(STDIN_FILENO, TCIFLUSH);
+
+ eightbit = (op->flags & F_EIGHTBITS);
+ bp = logname;
+ *bp = '\0';
+
+ while (*logname == '\0') {
+
+ /* Write issue file and prompt */
+ do_prompt(op, tp);
+
+ cp->eol = '\0';
+
+ /* Read name, watch for break and end-of-line. */
+ while (cp->eol == '\0') {
+
+ if (read(STDIN_FILENO, &c, 1) < 1) {
+
+ /* Do not report trivial like EINTR/EIO errors. */
+ if (errno == EINTR || errno == EAGAIN) {
+ usleep(1000);
+ continue;
+ }
+ switch (errno) {
+ case 0:
+ case EIO:
+ case ESRCH:
+ case EINVAL:
+ case ENOENT:
+ break;
+ default:
+ log_err(_("%s: read: %m"), op->tty);
+ }
+ }
+
+ /* Do parity bit handling. */
+ if (eightbit)
+ ascval = c;
+ else if (c != (ascval = (c & 0177))) {
+ uint32_t bits; /* # of "1" bits per character */
+ uint32_t mask; /* mask with 1 bit up */
+ for (bits = 1, mask = 1; mask & 0177; mask <<= 1) {
+ if (mask & ascval)
+ bits++;
+ }
+ cp->parity |= ((bits & 1) ? 1 : 2);
+ }
+
+ /* Do erase, kill and end-of-line processing. */
+ switch (ascval) {
+ case 0:
+ *bp = 0;
+ if (op->numspeed > 1)
+ return NULL;
+ break;
+ case CR:
+ case NL:
+ *bp = 0; /* terminate logname */
+ cp->eol = ascval; /* set end-of-line char */
+ break;
+ case BS:
+ case DEL:
+ case '#':
+ cp->erase = ascval; /* set erase character */
+ if (bp > logname) {
+ if ((tp->c_lflag & ECHO) == 0)
+ write_all(1, erase[cp->parity], 3);
+ bp--;
+ }
+ break;
+ case CTL('U'):
+ case '@':
+ cp->kill = ascval; /* set kill character */
+ while (bp > logname) {
+ if ((tp->c_lflag & ECHO) == 0)
+ write_all(1, erase[cp->parity], 3);
+ bp--;
+ }
+ break;
+ case CTL('D'):
+ exit(EXIT_SUCCESS);
+ default:
+ if (!isascii(ascval) || !isprint(ascval))
+ break;
+ if ((size_t)(bp - logname) >= sizeof(logname) - 1)
+ log_err(_("%s: input overrun"), op->tty);
+ if ((tp->c_lflag & ECHO) == 0)
+ write_all(1, &c, 1); /* echo the character */
+ *bp++ = ascval; /* and store it */
+ break;
+ }
+ }
+ }
+#ifdef HAVE_WIDECHAR
+ if ((op->flags & (F_EIGHTBITS|F_UTF8)) == (F_EIGHTBITS|F_UTF8)) {
+ /* Check out UTF-8 multibyte characters */
+ ssize_t len;
+ wchar_t *wcs, *wcp;
+
+ len = mbstowcs((wchar_t *)0, logname, 0);
+ if (len < 0)
+ log_err("%s: invalid character conversion for login name", op->tty);
+
+ wcs = (wchar_t *) malloc((len + 1) * sizeof(wchar_t));
+ if (!wcs)
+ log_err(_("failed to allocate memory: %m"));
+
+ len = mbstowcs(wcs, logname, len + 1);
+ if (len < 0)
+ log_err("%s: invalid character conversion for login name", op->tty);
+
+ wcp = wcs;
+ while (*wcp) {
+ const wint_t wc = *wcp++;
+ if (!iswprint(wc))
+ log_err("%s: invalid character 0x%x in login name", op->tty, wc);
+ }
+ free(wcs);
+ } else
+#endif
+ if ((op->flags & F_LCUC) && (cp->capslock = caps_lock(logname))) {
+
+ /* Handle names with upper case and no lower case. */
+ for (bp = logname; *bp; bp++)
+ if (isupper(*bp))
+ *bp = tolower(*bp); /* map name to lower case */
+ }
+
+ return logname;
+}
+
+/* Set the final tty mode bits. */
+static void termio_final(struct options *op, struct termios *tp, struct chardata *cp)
+{
+ /* General terminal-independent stuff. */
+
+ /* 2-way flow control */
+ tp->c_iflag |= IXON | IXOFF;
+ tp->c_lflag |= ICANON | ISIG | ECHO | ECHOE | ECHOK | ECHOKE;
+ /* no longer| ECHOCTL | ECHOPRT */
+ tp->c_oflag |= OPOST;
+ /* tp->c_cflag = 0; */
+ tp->c_cc[VINTR] = DEF_INTR;
+ tp->c_cc[VQUIT] = DEF_QUIT;
+ tp->c_cc[VEOF] = DEF_EOF;
+ tp->c_cc[VEOL] = DEF_EOL;
+#ifdef __linux__
+ tp->c_cc[VSWTC] = DEF_SWITCH;
+#elif defined(VSWTCH)
+ tp->c_cc[VSWTCH] = DEF_SWITCH;
+#endif /* __linux__ */
+
+ /* Account for special characters seen in input. */
+ if (cp->eol == CR) {
+ tp->c_iflag |= ICRNL;
+ tp->c_oflag |= ONLCR;
+ }
+ tp->c_cc[VERASE] = cp->erase;
+ tp->c_cc[VKILL] = cp->kill;
+
+ /* Account for the presence or absence of parity bits in input. */
+ switch (cp->parity) {
+ case 0:
+ /* space (always 0) parity */
+ break;
+ case 1:
+ /* odd parity */
+ tp->c_cflag |= PARODD;
+ /* do not break */
+ case 2:
+ /* even parity */
+ tp->c_cflag |= PARENB;
+ tp->c_iflag |= INPCK | ISTRIP;
+ /* do not break */
+ case (1 | 2):
+ /* no parity bit */
+ tp->c_cflag &= ~CSIZE;
+ tp->c_cflag |= CS7;
+ break;
+ }
+ /* Account for upper case without lower case. */
+ if (cp->capslock) {
+#ifdef IUCLC
+ tp->c_iflag |= IUCLC;
+#endif
+#ifdef XCASE
+ tp->c_lflag |= XCASE;
+#endif
+#ifdef OLCUC
+ tp->c_oflag |= OLCUC;
+#endif
+ }
+ /* Optionally enable hardware flow control. */
+#ifdef CRTSCTS
+ if (op->flags & F_RTSCTS)
+ tp->c_cflag |= CRTSCTS;
+#endif
+
+ /* Finally, make the new settings effective. */
+ if (tcsetattr(STDIN_FILENO, TCSANOW, tp) < 0)
+ log_err("%s: tcsetattr: TCSANOW: %m", op->tty);
+}
+
+/*
+ * String contains upper case without lower case.
+ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=52940
+ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=156242
+ */
+static int caps_lock(char *s)
+{
+ int capslock;
+
+ for (capslock = 0; *s; s++) {
+ if (islower(*s))
+ return EXIT_SUCCESS;
+ if (capslock == 0)
+ capslock = isupper(*s);
+ }
+ return capslock;
+}
+
+/* Convert speed string to speed code; return 0 on failure. */
+static speed_t bcode(char *s)
+{
+ const struct Speedtab *sp;
+ long speed = atol(s);
+
+ for (sp = speedtab; sp->speed; sp++)
+ if (sp->speed == speed)
+ return sp->code;
+ return 0;
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, _("\nUsage:\n"
+ " %1$s [options] line baud_rate,... [termtype]\n"
+ " %1$s [options] baud_rate,... line [termtype]\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _("\nOptions:\n"
+ " -8, --8bits assume 8-bit tty\n"
+ " -a, --autologin <user> login the specified user automatically\n"
+ " -c, --noreset do not reset control mode\n"
+ " -f, --issue-file <file> display issue file\n"
+ " -h, --flow-control enable hardware flow control\n"
+ " -H, --host <hostname> specify login host\n"
+ " -i, --noissue do not display issue file\n"
+ " -I, --init-string <string> set init string\n"
+ " -l, --login-program <file> specify login program\n"
+ " -L, --local-line force local line\n"
+ " -m, --extract-baud extract baud rate during connect\n"
+ " -n, --skip-login do not prompt for login\n"
+ " -o, --login-options <opts> options that are passed to login\n"
+ " -p, --loginpause wait for any key before the login\n"
+ " -R, --hangup do virtually hangup on the tty\n"
+ " -s, --keep-baud try to keep baud rate after break\n"
+ " -t, --timeout <number> login process timeout\n"
+ " -U, --detect-case detect uppercase terminal\n"
+ " -w, --wait-cr wait carriage-return\n"
+ " --noclear do not clear the screen before prompt\n"
+ " --nohints do not print hints\n"
+ " --nonewline do not print a newline before issue\n"
+ " --no-hostname no hostname at all will be shown\n"
+ " --long-hostname show full qualified hostname\n"
+ " --version output version information and exit\n"
+ " --help display this help and exit\n\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+/*
+ * Helper function reports errors to console or syslog.
+ * Will be used by log_err() and log_warn() therefore
+ * it takes a format as well as va_list.
+ */
+#define str2cpy(b,s1,s2) strcat(strcpy(b,s1),s2)
+
+static void dolog(int priority, const char *fmt, va_list ap)
+{
+#ifndef USE_SYSLOG
+ int fd;
+#endif
+ char buf[BUFSIZ];
+ char *bp;
+
+ /*
+ * If the diagnostic is reported via syslog(3), the process name is
+ * automatically prepended to the message. If we write directly to
+ * /dev/console, we must prepend the process name ourselves.
+ */
+#ifdef USE_SYSLOG
+ buf[0] = '\0';
+ bp = buf;
+#else
+ str2cpy(buf, program_invocation_short_name, ": ");
+ bp = buf + strlen(buf);
+#endif /* USE_SYSLOG */
+ vsnprintf(bp, sizeof(buf)-strlen(buf), fmt, ap);
+
+ /*
+ * Write the diagnostic directly to /dev/console if we do not use the
+ * syslog(3) facility.
+ */
+#ifdef USE_SYSLOG
+ openlog(program_invocation_short_name, LOG_PID, LOG_AUTHPRIV);
+ syslog(priority, "%s", buf);
+ closelog();
+#else
+ /* Terminate with CR-LF since the console mode is unknown. */
+ strcat(bp, "\r\n");
+ if ((fd = open("/dev/console", 1)) >= 0) {
+ write_all(fd, buf, strlen(buf));
+ close(fd);
+ }
+#endif /* USE_SYSLOG */
+}
+
+static void log_err(const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ dolog(LOG_ERR, fmt, ap);
+ va_end(ap);
+
+ /* Be kind to init(8). */
+ sleep(10);
+ exit(EXIT_FAILURE);
+}
+
+static void log_warn(const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ dolog(LOG_WARNING, fmt, ap);
+ va_end(ap);
+}
+
+static void output_special_char(unsigned char c, struct options *op,
+ struct termios *tp)
+{
+ struct utsname uts;
+
+ uname(&uts);
+
+ switch (c) {
+ case 's':
+ printf("%s", uts.sysname);
+ break;
+ case 'n':
+ printf("%s", uts.nodename);
+ break;
+ case 'r':
+ printf("%s", uts.release);
+ break;
+ case 'v':
+ printf("%s", uts.version);
+ break;
+ case 'm':
+ printf("%s", uts.machine);
+ break;
+ case 'o':
+ {
+ char domainname[MAXHOSTNAMELEN+1];
+#ifdef HAVE_GETDOMAINNAME
+ if (getdomainname(domainname, sizeof(domainname)))
+#endif
+ strcpy(domainname, "unknown_domain");
+ domainname[sizeof(domainname)-1] = '\0';
+ printf("%s", domainname);
+ break;
+ }
+ case 'O':
+ {
+ char *dom = "unknown_domain";
+ char host[MAXHOSTNAMELEN+1];
+ struct addrinfo hints, *info = NULL;
+
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_flags = AI_CANONNAME;
+
+ if (gethostname(host, sizeof(host)) ||
+ getaddrinfo(host, NULL, &hints, &info) ||
+ info == NULL)
+ fputs(dom, stdout);
+ else {
+ char *canon;
+ if (info->ai_canonname &&
+ (canon = strchr(info->ai_canonname, '.')))
+ dom = canon + 1;
+ fputs(dom, stdout);
+ freeaddrinfo(info);
+ }
+ break;
+ }
+ case 'd':
+ case 't':
+ {
+ time_t now;
+ struct tm *tm;
+
+ time(&now);
+ tm = localtime(&now);
+
+ if (!tm)
+ break;
+
+ if (c == 'd') /* ISO 8601 */
+ printf("%s %s %d %d",
+ nl_langinfo(ABDAY_1 + tm->tm_wday),
+ nl_langinfo(ABMON_1 + tm->tm_mon),
+ tm->tm_mday,
+ tm->tm_year < 70 ? tm->tm_year + 2000 :
+ tm->tm_year + 1900);
+ else
+ printf("%02d:%02d:%02d",
+ tm->tm_hour, tm->tm_min, tm->tm_sec);
+ break;
+ }
+ case 'l':
+ printf ("%s", op->tty);
+ break;
+ case 'b':
+ {
+ const speed_t speed = cfgetispeed(tp);
+ int i;
+
+ for (i = 0; speedtab[i].speed; i++) {
+ if (speedtab[i].code == speed) {
+ printf("%ld", speedtab[i].speed);
+ break;
+ }
+ }
+ break;
+ }
+ case 'u':
+ case 'U':
+ {
+ int users = 0;
+ struct utmp *ut;
+ setutent();
+ while ((ut = getutent()))
+ if (ut->ut_type == USER_PROCESS)
+ users++;
+ endutent();
+ printf ("%d ", users);
+ if (c == 'U')
+ printf((users == 1) ? _("user") : _("users"));
+ break;
+ }
+ default:
+ putchar(c);
+ break;
+ }
+}
+
+static void init_special_char(char* arg, struct options *op)
+{
+ char ch, *p, *q;
+ int i;
+
+ op->initstring = malloc(strlen(arg) + 1);
+ if (!op->initstring)
+ log_err(_("failed to allocate memory: %m"));
+
+ /*
+ * Copy optarg into op->initstring decoding \ddd octal
+ * codes into chars.
+ */
+ q = op->initstring;
+ p = arg;
+ while (*p) {
+ /* The \\ is converted to \ */
+ if (*p == '\\') {
+ p++;
+ if (*p == '\\') {
+ ch = '\\';
+ p++;
+ } else {
+ /* Handle \000 - \177. */
+ ch = 0;
+ for (i = 1; i <= 3; i++) {
+ if (*p >= '0' && *p <= '7') {
+ ch <<= 3;
+ ch += *p - '0';
+ p++;
+ } else {
+ break;
+ }
+ }
+ }
+ *q++ = ch;
+ } else
+ *q++ = *p++;
+ }
+ *q = '\0';
+}
+
+/*
+ * Appends @str to @dest and if @dest is not empty then use use @sep as a
+ * separator. The maximal final length of the @dest is @len.
+ *
+ * Returns the final @dest length or -1 in case of error.
+ */
+static ssize_t append(char *dest, size_t len, const char *sep, const char *src)
+{
+ size_t dsz = 0, ssz = 0, sz;
+ char *p;
+
+ if (!dest || !len || !src)
+ return -1;
+
+ if (*dest)
+ dsz = strlen(dest);
+ if (dsz && sep)
+ ssz = strlen(sep);
+ sz = strlen(src);
+
+ if (dsz + ssz + sz + 1 > len)
+ return -1;
+
+ p = dest + dsz;
+ if (ssz) {
+ memcpy(p, sep, ssz);
+ p += ssz;
+ }
+ memcpy(p, src, sz);
+ *(p + sz) = '\0';
+
+ return dsz + ssz + sz;
+}
+
+/*
+ * Do not allow the user to pass an option as a user name
+ * To be more safe: Use `--' to make sure the rest is
+ * interpreted as non-options by the program, if it supports it.
+ */
+static void check_username(const char* nm)
+{
+ const char *p = nm;
+ if (!nm)
+ goto err;
+ if (strlen(nm) > 42)
+ goto err;
+ while (isspace(*p))
+ p++;
+ if (*p == '-')
+ goto err;
+ return;
+err:
+ errno = EPERM;
+ log_err("checkname: %m");
+}
+
diff --git a/term-utils/mesg.1 b/term-utils/mesg.1
new file mode 100644
index 0000000..60d9423
--- /dev/null
+++ b/term-utils/mesg.1
@@ -0,0 +1,112 @@
+.\" Copyright (c) 1987, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mesg.1 8.1 (Berkeley) 6/6/93
+.\"
+.\" Fri Mar 10 20:31:02 1995, modified for standard man macros,
+.\" faith@cs.unc.edu
+.\"
+.\"
+.\" "
+.TH MESG 1 "April 2011" "util-linux" "User Commands"
+.SH NAME
+mesg \- display (do not display) messages from other users
+.SH SYNOPSIS
+.B mesg
+.RB [options]
+.RB [ n | y ]
+.SH DESCRIPTION
+The
+.B mesg
+utility is invoked by a users to control write access others have to the
+terminal device associated with the standard error output. If write access
+is allowed, then programs such as
+.BR talk (1)
+and
+.BR write (1)
+may display messages on the terminal.
+.PP
+Traditionally, write access is allowed by default. However, as users
+become more conscious of various security risks, there is a trend to remove
+write access by default, at least for the primary login shell. To make
+sure your ttys are set the way you want them to be set,
+.B mesg
+should be executed in your login scripts.
+.SH ARGUMENTS
+.TP
+.B n
+Disallows messages.
+.TP
+.B y
+Permits messages to be displayed.
+.SH OPTIONS
+.TP
+.B \-v, \-\-verbose
+Explain what is being done.
+.TP
+.B \-V, \-\-verbose
+Output version information and exit.
+.TP
+.B \-h, \-\-help
+Output help screen and exit.
+.PP
+If no arguments are given,
+.B mesg
+displays the present message status to the standard error output.
+.PP
+The
+.B mesg
+utility exits with one of the following values:
+.TP
+.I "\ 0"
+Messages are allowed.
+.TP
+.I "\ 1"
+Messages are not allowed.
+.TP
+.I ">1"
+An error has occurred.
+.SH FILES
+.I /dev/[pt]ty[pq]?
+.SH "SEE ALSO"
+.BR talk (1),
+.BR write (1),
+.BR wall (1),
+.BR login (1),
+.BR xterm (1)
+.SH HISTORY
+A
+.B mesg
+command appeared in Version 6 AT&T UNIX.
+
+.SH AVAILABILITY
+The mesg command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/term-utils/mesg.c b/term-utils/mesg.c
new file mode 100644
index 0000000..b24e783
--- /dev/null
+++ b/term-utils/mesg.c
@@ -0,0 +1,158 @@
+/*
+ * Copyright (c) 1987, 1993
+ * The Regents of the University of California. All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Modified Fri Mar 10 20:27:19 1995, faith@cs.unc.edu, for Linux
+ * Modified Mon Jul 1 18:14:10 1996, janl@ifi.uio.no, writing to stdout
+ * as suggested by Michael Meskes <meskes@Informatik.RWTH-Aachen.DE>
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 2010-12-01 Marek Polacek <mmpolacek@gmail.com>
+ * - cleanups
+ */
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <getopt.h>
+
+#include "closestream.h"
+#include "nls.h"
+#include "c.h"
+
+/* exit codes */
+
+#define IS_ALLOWED 0 /* Receiving messages is allowed. */
+#define IS_NOT_ALLOWED 1 /* Receiving messages is not allowed. */
+#define MESG_EXIT_FAILURE 2 /* An error occurred. */
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out);
+ /* TRANSLATORS: this program uses for y and n rpmatch(3),
+ * which means they can be translated. */
+ fprintf(out,
+ _(" %s [options] [y | n]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -v, --verbose explain what is being done\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help output help screen and exit\n\n"), out);
+
+ exit(out == stderr ? MESG_EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ struct stat sb;
+ char *tty;
+ int ch, verbose = FALSE;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ static const struct option longopts[] = {
+ { "verbose", no_argument, 0, 'v' },
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'h' },
+ { NULL, 0, 0, 0 }
+ };
+
+ while ((ch = getopt_long(argc, argv, "vVh", longopts, NULL)) != -1)
+ switch (ch) {
+ case 'v':
+ verbose = TRUE;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ if ((tty = ttyname(STDERR_FILENO)) == NULL)
+ err(MESG_EXIT_FAILURE, _("ttyname failed"));
+
+ if (stat(tty, &sb) < 0)
+ err(MESG_EXIT_FAILURE, _("stat failed %s"), tty);
+
+ if (!*argv) {
+ if (sb.st_mode & (S_IWGRP | S_IWOTH)) {
+ puts(_("is y"));
+ return IS_ALLOWED;
+ }
+ puts(_("is n"));
+ return IS_NOT_ALLOWED;
+ }
+
+ switch (rpmatch(argv[0])) {
+ case 1:
+#ifdef USE_TTY_GROUP
+ if (chmod(tty, sb.st_mode | S_IWGRP) < 0)
+#else
+ if (chmod(tty, sb.st_mode | S_IWGRP | S_IWOTH) < 0)
+#endif
+ err(MESG_EXIT_FAILURE, _("change %s mode failed"), tty);
+ if (verbose)
+ puts(_("write access to your terminal is allowed"));
+ return IS_ALLOWED;
+ case 0:
+ if (chmod(tty, sb.st_mode & ~(S_IWGRP|S_IWOTH)) < 0)
+ err(MESG_EXIT_FAILURE, _("change %s mode failed"), tty);
+ if (verbose)
+ puts(_("write access to your terminal is denied"));
+ return IS_NOT_ALLOWED;
+ case -1:
+ warnx(_("invalid argument: %s"), argv[0]);
+ usage(stderr);
+ default:
+ abort();
+ }
+}
diff --git a/term-utils/reset b/term-utils/reset
new file mode 100755
index 0000000..68de82e
--- /dev/null
+++ b/term-utils/reset
@@ -0,0 +1,13 @@
+#!/bin/sh
+stty sane
+tput clear
+tput rmacs
+tput rmm
+tput rmso
+tput rmul
+tput rs1
+tput rs2
+tput rs3
+bot=$((${LINES:-$(tput lines)} - 1))
+if test "${bot}" -le "0"; then bot=24; fi
+tput csr 0 ${bot}
diff --git a/term-utils/reset.033c b/term-utils/reset.033c
new file mode 100755
index 0000000..fc7fad6
--- /dev/null
+++ b/term-utils/reset.033c
@@ -0,0 +1,11 @@
+#!/bin/sh
+stty sane
+tput clear
+tput rmacs
+tput rmm
+tput rmso
+tput rmul
+tput rs1
+tput rs2
+tput rs3
+printf "\\033c\n"
diff --git a/term-utils/reset.1 b/term-utils/reset.1
new file mode 100644
index 0000000..fdf67e2
--- /dev/null
+++ b/term-utils/reset.1
@@ -0,0 +1,45 @@
+.\" Copyright 1992 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH RESET 1 "October 1993" "util-linux" "User Commands"
+.SH NAME
+reset \- reset the terminal
+.SH SYNOPSIS
+.BR reset
+.SH DESCRIPTION
+.B reset
+calls
+.BR tput (1)
+with the
+.IR clear ,
+.IR rmacs ,
+.IR rmm ,
+.IR rmul ,
+.IR rs1 ,
+.IR rs2 ,
+and
+.I rs3
+arguments. This causes
+.B tput
+to send appropriate reset strings to the terminal based on information in
+.I /etc/termcap
+(for the GNU or BSD
+.BR tput )
+or in the terminfo database
+(for the
+.B ncurses
+.BR tput ).
+This sequence seems to be sufficient to reset the Linux VC's when they
+start printing "funny-looking" characters. For good measure,
+.BR stty (1)
+is called with the
+.I sane
+argument in an attempt to get cooked mode back.
+.SH "SEE ALSO"
+.BR clear (1),
+.BR stty (1),
+.BR tput (1)
+.SH AUTHOR
+Rik Faith (faith@cs.unc.edu)
+.SH AVAILABILITY
+The reset command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/term-utils/script.1 b/term-utils/script.1
new file mode 100644
index 0000000..1e430d8
--- /dev/null
+++ b/term-utils/script.1
@@ -0,0 +1,156 @@
+.\" Copyright (c) 1980, 1990 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)script.1 6.5 (Berkeley) 7/27/91
+.\"
+.TH SCRIPT "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+script \- make typescript of terminal session
+.SH SYNOPSIS
+.B script
+[options] [file]
+.SH DESCRIPTION
+.B script
+makes a typescript of everything printed on your terminal. It is useful for
+students who need a hardcopy record of an interactive session as proof of an
+assignment, as the typescript file can be printed out later with
+.BR lpr (1).
+.PP
+If the argument
+.I file
+is given,
+.B script
+saves all dialogue in
+.IR file .
+If no file name is given, the typescript is saved in the file
+.IR typescript .
+.SH OPTIONS
+.TP
+\fB\-a\fR, \fB\-\-append\fR
+Append the output to
+.I file
+or
+.IR typescript ,
+retaining the prior contents.
+.TP
+\fB\-c\fR, \fB\-\-command\fR \fIcommand\fR
+Run the
+.I command
+rather than an interactive shell. This makes it easy for a script to capture
+the output of a program that behaves differently when its stdout is not a
+tty.
+.TP
+\fB\-e\fR, \fB\-\-return\fR
+Return the exit code of the child process. Uses the same format as bash
+termination on signal termination exit code is 128+n.
+.TP
+\fB\-f\fR, \fB\-\-flush\fR
+Flush output after each write. This is nice for telecooperation: one person
+does `mkfifo foo; script -f foo', and another can supervise real-time what is
+being done using `cat foo'.
+.TP
+\fB\-\-force\fR
+Allow the default output destination, i.e. the typescript file, to be a hard
+or symbolic link. The command will follow a symbolic link.
+.TP
+\fB\-q\fR, \fB\-\-quiet\fR
+Be quiet.
+.TP
+\fB\-t\fR, \fB\-\-timing\fR[=\fIfile\fR]
+Output timing data to standard error, or to
+.I file
+when given. This data contains two fields, separated by a space. The first
+field indicates how much time elapsed since the previous output. The second
+field indicates how many characters were output this time. This information
+can be used to replay typescripts with realistic typing and output delays.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Output help and exit.
+.SH NOTES
+The script ends when the forked shell exits (a
+.I control-D
+to exit
+the Bourne shell
+.RB ( sh (1)),
+and
+.IR exit ,
+.I logout
+or
+.I control-d
+(if
+.I ignoreeof
+is not set) for the
+C-shell,
+.BR csh (1)).
+.PP
+Certain interactive commands, such as
+.BR vi (1),
+create garbage in the typescript file.
+.B Script
+works best with commands that do not manipulate the screen, the results are
+meant to emulate a hardcopy terminal.
+.SH ENVIRONMENT
+The following environment variable is utilized by
+.BR script :
+.TP
+.B SHELL
+If the variable
+.I SHELL
+exists, the shell forked by
+.B script
+will be that shell. If
+.I SHELL
+is not set, the Bourne shell is assumed. (Most shells set this variable
+automatically).
+.SH SEE ALSO
+.BR csh (1)
+(for the
+.I history
+mechanism),
+.BR scriptreplay (1).
+.SH HISTORY
+The
+.B script
+command appeared in 3.0BSD.
+.SH BUGS
+.B Script
+places
+.B everything
+in the log file, including linefeeds and backspaces. This is not what the
+naive user expects.
+.SH AVAILABILITY
+The script command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/term-utils/script.c b/term-utils/script.c
new file mode 100644
index 0000000..ccd8873
--- /dev/null
+++ b/term-utils/script.c
@@ -0,0 +1,568 @@
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 2000-07-30 Per Andreas Buer <per@linpro.no> - added "q"-option
+ */
+
+/*
+ * script
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <paths.h>
+#include <time.h>
+#include <sys/stat.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+#include <sys/time.h>
+#include <signal.h>
+#include <errno.h>
+#include <string.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <locale.h>
+#include <stddef.h>
+
+#include "closestream.h"
+#include "nls.h"
+#include "c.h"
+
+#if defined(HAVE_LIBUTIL) && defined(HAVE_PTY_H)
+# include <pty.h>
+#endif
+
+#ifdef HAVE_LIBUTEMPTER
+# include <utempter.h>
+#endif
+
+#define DEFAULT_OUTPUT "typescript"
+
+void finish(int);
+void done(void);
+void fail(void);
+void resize(int);
+void fixtty(void);
+void getmaster(void);
+void getslave(void);
+void doinput(void);
+void dooutput(FILE *timingfd);
+void doshell(void);
+
+char *shell;
+FILE *fscript;
+int master = -1;
+int slave;
+pid_t child;
+pid_t subchild;
+int childstatus;
+char *fname;
+
+struct termios tt;
+struct winsize win;
+int lb;
+int l;
+#if !HAVE_LIBUTIL || !HAVE_PTY_H
+char line[] = "/dev/ptyXX";
+#endif
+int aflg = 0;
+char *cflg = NULL;
+int eflg = 0;
+int fflg = 0;
+int qflg = 0;
+int tflg = 0;
+int forceflg = 0;
+
+int die;
+int resized;
+
+static void
+die_if_link(char *fn) {
+ struct stat s;
+
+ if (forceflg)
+ return;
+ if (lstat(fn, &s) == 0 && (S_ISLNK(s.st_mode) || s.st_nlink > 1))
+ errx(EXIT_FAILURE,
+ _("output file `%s' is a link\n"
+ "Use --force if you really want to use it.\n"
+ "Program not started."), fn);
+}
+
+static void __attribute__((__noreturn__))
+usage(FILE *out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] [file]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -a, --append append the output\n"
+ " -c, --command <command> run command rather than interactive shell\n"
+ " -e, --return return exit code of the child process\n"
+ " -f, --flush run flush after each write\n"
+ " --force use output file even when it is a link\n"
+ " -q, --quiet be quiet\n"
+ " -t, --timing[=<file>] output timing data to stderr (or to FILE)\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+/*
+ * script -t prints time delays as floating point numbers
+ * The example program (scriptreplay) that we provide to handle this
+ * timing output is a perl script, and does not handle numbers in
+ * locale format (not even when "use locale;" is added).
+ * So, since these numbers are not for human consumption, it seems
+ * easiest to set LC_NUMERIC here.
+ */
+
+int
+main(int argc, char **argv) {
+ sigset_t block_mask, unblock_mask;
+ struct sigaction sa;
+ int ch;
+ FILE *timingfd = stderr;
+
+ enum { FORCE_OPTION = CHAR_MAX + 1 };
+
+ static const struct option longopts[] = {
+ { "append", no_argument, NULL, 'a' },
+ { "command", required_argument, NULL, 'c' },
+ { "return", no_argument, NULL, 'e' },
+ { "flush", no_argument, NULL, 'f' },
+ { "force", no_argument, NULL, FORCE_OPTION, },
+ { "quiet", no_argument, NULL, 'q' },
+ { "timing", optional_argument, NULL, 't' },
+ { "version", no_argument, NULL, 'V' },
+ { "help", no_argument, NULL, 'h' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ setlocale(LC_NUMERIC, "C"); /* see comment above */
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((ch = getopt_long(argc, argv, "ac:efqt::Vh", longopts, NULL)) != -1)
+ switch(ch) {
+ case 'a':
+ aflg = 1;
+ break;
+ case 'c':
+ cflg = optarg;
+ break;
+ case 'e':
+ eflg = 1;
+ break;
+ case 'f':
+ fflg = 1;
+ break;
+ case FORCE_OPTION:
+ forceflg = 1;
+ break;
+ case 'q':
+ qflg = 1;
+ break;
+ case 't':
+ if (optarg)
+ if ((timingfd = fopen(optarg, "w")) == NULL)
+ err(EXIT_FAILURE, _("cannot open %s"), optarg);
+ tflg = 1;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ break;
+ case 'h':
+ usage(stdout);
+ break;
+ case '?':
+ default:
+ usage(stderr);
+ }
+ argc -= optind;
+ argv += optind;
+
+ if (argc > 0)
+ fname = argv[0];
+ else {
+ fname = DEFAULT_OUTPUT;
+ die_if_link(fname);
+ }
+ if ((fscript = fopen(fname, aflg ? "a" : "w")) == NULL) {
+ warn(_("cannot open %s"), fname);
+ fail();
+ }
+
+ shell = getenv("SHELL");
+ if (shell == NULL)
+ shell = _PATH_BSHELL;
+
+ getmaster();
+ if (!qflg)
+ printf(_("Script started, file is %s\n"), fname);
+ fixtty();
+
+#ifdef HAVE_LIBUTEMPTER
+ utempter_add_record(master, NULL);
+#endif
+ /* setup SIGCHLD handler */
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
+ sa.sa_handler = finish;
+ sigaction(SIGCHLD, &sa, NULL);
+
+ /* init mask for SIGCHLD */
+ sigprocmask(SIG_SETMASK, NULL, &block_mask);
+ sigaddset(&block_mask, SIGCHLD);
+
+ sigprocmask(SIG_SETMASK, &block_mask, &unblock_mask);
+ child = fork();
+ sigprocmask(SIG_SETMASK, &unblock_mask, NULL);
+
+ if (child < 0) {
+ warn(_("fork failed"));
+ fail();
+ }
+ if (child == 0) {
+
+ sigprocmask(SIG_SETMASK, &block_mask, NULL);
+ subchild = child = fork();
+ sigprocmask(SIG_SETMASK, &unblock_mask, NULL);
+
+ if (child < 0) {
+ warn(_("fork failed"));
+ fail();
+ }
+ if (child)
+ dooutput(timingfd);
+ else
+ doshell();
+ } else {
+ sa.sa_handler = resize;
+ sigaction(SIGWINCH, &sa, NULL);
+ }
+ doinput();
+
+ if (close_stream(timingfd) != 0)
+ errx(EXIT_FAILURE, _("write error"));
+ return EXIT_SUCCESS;
+}
+
+void __attribute__((__noreturn__))
+doinput(void) {
+ ssize_t cc;
+ char ibuf[BUFSIZ];
+
+ if (close_stream(fscript) != 0)
+ errx(EXIT_FAILURE, _("write error"));
+
+ while (die == 0) {
+ if ((cc = read(STDIN_FILENO, ibuf, BUFSIZ)) > 0) {
+ ssize_t wrt = write(master, ibuf, cc);
+ if (wrt < 0) {
+ warn (_("write failed"));
+ fail();
+ }
+ }
+ else if (cc < 0 && errno == EINTR && resized)
+ resized = 0;
+ else
+ break;
+ }
+
+ done();
+}
+
+#include <sys/wait.h>
+
+void
+finish(int dummy __attribute__ ((__unused__))) {
+ int status;
+ pid_t pid;
+
+ while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+ if (pid == child) {
+ childstatus = status;
+ die = 1;
+ }
+}
+
+void
+resize(int dummy __attribute__ ((__unused__))) {
+ resized = 1;
+ /* transmit window change information to the child */
+ ioctl(STDIN_FILENO, TIOCGWINSZ, (char *)&win);
+ ioctl(slave, TIOCSWINSZ, (char *)&win);
+}
+
+/*
+ * Stop extremely silly gcc complaint on %c:
+ * warning: `%c' yields only last 2 digits of year in some locales
+ */
+static void
+my_strftime(char *buf, size_t len, const char *fmt, const struct tm *tm) {
+ strftime(buf, len, fmt, tm);
+}
+
+void __attribute__((__noreturn__))
+dooutput(FILE *timingfd) {
+ ssize_t cc;
+ time_t tvec;
+ char obuf[BUFSIZ];
+ struct timeval tv;
+ double oldtime=time(NULL), newtime;
+ int flgs = 0;
+ ssize_t wrt;
+ ssize_t fwrt;
+
+ close(STDIN_FILENO);
+#ifdef HAVE_LIBUTIL
+ close(slave);
+#endif
+ tvec = time((time_t *)NULL);
+ my_strftime(obuf, sizeof obuf, "%c\n", localtime(&tvec));
+ fprintf(fscript, _("Script started on %s"), obuf);
+
+ do {
+ if (die && flgs == 0) {
+ /* ..child is dead, but it doesn't mean that there is
+ * nothing in buffers.
+ */
+ flgs = fcntl(master, F_GETFL, 0);
+ if (fcntl(master, F_SETFL, (flgs | O_NONBLOCK)) == -1)
+ break;
+ }
+ if (tflg)
+ gettimeofday(&tv, NULL);
+
+ errno = 0;
+ cc = read(master, obuf, sizeof (obuf));
+
+ if (die && errno == EINTR && cc <= 0)
+ /* read() has been interrupted by SIGCHLD, try it again
+ * with O_NONBLOCK
+ */
+ continue;
+ if (cc <= 0)
+ break;
+ if (tflg) {
+ newtime = tv.tv_sec + (double) tv.tv_usec / 1000000;
+ fprintf(timingfd, "%f %zd\n", newtime - oldtime, cc);
+ oldtime = newtime;
+ }
+ wrt = write(STDOUT_FILENO, obuf, cc);
+ if (wrt < 0) {
+ warn (_("write failed"));
+ fail();
+ }
+ fwrt = fwrite(obuf, 1, cc, fscript);
+ if (fwrt < cc) {
+ warn (_("cannot write script file"));
+ fail();
+ }
+ if (fflg)
+ fflush(fscript);
+ } while(1);
+
+ if (flgs)
+ fcntl(master, F_SETFL, flgs);
+ if (close_stream(timingfd) != 0)
+ errx(EXIT_FAILURE, _("write error"));
+ done();
+}
+
+void __attribute__((__noreturn__))
+doshell(void) {
+ char *shname;
+
+ getslave();
+ close(master);
+ if (close_stream(fscript) != 0)
+ errx(EXIT_FAILURE, _("write error"));
+ dup2(slave, STDIN_FILENO);
+ dup2(slave, STDOUT_FILENO);
+ dup2(slave, STDERR_FILENO);
+ close(slave);
+
+ master = -1;
+
+ shname = strrchr(shell, '/');
+ if (shname)
+ shname++;
+ else
+ shname = shell;
+
+ /*
+ * When invoked from within /etc/csh.login, script spawns a csh shell
+ * that spawns programs that cannot be killed with a SIGTERM. This is
+ * because csh has a documented behaviour wherein it disables all
+ * signals when processing the /etc/csh.* files.
+ *
+ * Let's restore the default behavior.
+ */
+ signal(SIGTERM, SIG_DFL);
+
+ if (cflg)
+ execl(shell, shname, "-c", cflg, NULL);
+ else
+ execl(shell, shname, "-i", NULL);
+
+ warn(_("failed to execute %s"), shell);
+ fail();
+}
+
+void
+fixtty(void) {
+ struct termios rtt;
+
+ rtt = tt;
+ cfmakeraw(&rtt);
+ rtt.c_lflag &= ~ECHO;
+ tcsetattr(STDIN_FILENO, TCSANOW, &rtt);
+}
+
+void __attribute__((__noreturn__))
+fail(void) {
+
+ kill(0, SIGTERM);
+ done();
+}
+
+void __attribute__((__noreturn__))
+done(void) {
+ time_t tvec;
+
+ if (subchild) {
+ if (!qflg) {
+ char buf[BUFSIZ];
+ tvec = time((time_t *)NULL);
+ my_strftime(buf, sizeof buf, "%c\n", localtime(&tvec));
+ fprintf(fscript, _("\nScript done on %s"), buf);
+ }
+ if (close_stream(fscript) != 0)
+ errx(EXIT_FAILURE, _("write error"));
+ close(master);
+
+ master = -1;
+ } else {
+ tcsetattr(STDIN_FILENO, TCSADRAIN, &tt);
+ if (!qflg)
+ printf(_("Script done, file is %s\n"), fname);
+#ifdef HAVE_LIBUTEMPTER
+ if (master >= 0)
+ utempter_remove_record(master);
+#endif
+ }
+
+ if(eflg) {
+ if (WIFSIGNALED(childstatus))
+ exit(WTERMSIG(childstatus) + 0x80);
+ else
+ exit(WEXITSTATUS(childstatus));
+ }
+ exit(EXIT_SUCCESS);
+}
+
+void
+getmaster(void) {
+#if defined(HAVE_LIBUTIL) && defined(HAVE_PTY_H)
+ tcgetattr(STDIN_FILENO, &tt);
+ ioctl(STDIN_FILENO, TIOCGWINSZ, (char *)&win);
+ if (openpty(&master, &slave, NULL, &tt, &win) < 0) {
+ warn(_("openpty failed"));
+ fail();
+ }
+#else
+ char *pty, *bank, *cp;
+ struct stat stb;
+
+ pty = &line[strlen("/dev/ptyp")];
+ for (bank = "pqrs"; *bank; bank++) {
+ line[strlen("/dev/pty")] = *bank;
+ *pty = '0';
+ if (stat(line, &stb) < 0)
+ break;
+ for (cp = "0123456789abcdef"; *cp; cp++) {
+ *pty = *cp;
+ master = open(line, O_RDWR);
+ if (master >= 0) {
+ char *tp = &line[strlen("/dev/")];
+ int ok;
+
+ /* verify slave side is usable */
+ *tp = 't';
+ ok = access(line, R_OK|W_OK) == 0;
+ *tp = 'p';
+ if (ok) {
+ tcgetattr(STDIN_FILENO, &tt);
+ ioctl(STDIN_FILENO, TIOCGWINSZ,
+ (char *)&win);
+ return;
+ }
+ close(master);
+ master = -1;
+ }
+ }
+ }
+ master = -1;
+ warn(_("out of pty's"));
+ fail();
+#endif /* not HAVE_LIBUTIL */
+}
+
+void
+getslave(void) {
+#ifndef HAVE_LIBUTIL
+ line[strlen("/dev/")] = 't';
+ slave = open(line, O_RDWR);
+ if (slave < 0) {
+ warn(_("cannot open %s"), line);
+ fail();
+ }
+ tcsetattr(slave, TCSANOW, &tt);
+ ioctl(slave, TIOCSWINSZ, (char *)&win);
+#endif
+ setsid();
+ ioctl(slave, TIOCSCTTY, 0);
+}
diff --git a/term-utils/scriptreplay.1 b/term-utils/scriptreplay.1
new file mode 100644
index 0000000..b4b34a6
--- /dev/null
+++ b/term-utils/scriptreplay.1
@@ -0,0 +1,107 @@
+.TH SCRIPTREPLAY 1 "September 2011" "util-linux" "User Commands"
+.SH "NAME"
+scriptreplay \- play back typescripts, using timing information
+.SH "SYNOPSIS"
+.B scriptreplay
+.RI [ options ]
+.RB [ \-t ]
+.I timingfile
+.RI [ typescript
+.RI [ divisor ]]
+.SH "DESCRIPTION"
+This program replays a typescript, using timing information to ensure that
+output happens at the same speed as it originally appeared when the script
+was recorded.
+.PP
+The replay simply displays the information again; the programs
+that were run when the typescript was being recorded are not run again.
+Since the same information is simply being displayed,
+.B scriptreplay
+is only guaranteed to work properly if run on the same type of
+terminal the typescript was recorded on. Otherwise, any escape characters
+in the typescript may be interpreted differently by the terminal to
+which
+.B scriptreplay
+is sending its output.
+.PP
+The timing information is what
+.BR script (1)
+outputs to standard error if it is
+run with the
+.B \-t
+parameter.
+.PP
+By default, the typescript to display is assumed to be named
+.BR typescript ,
+but other filenames may be specified, as the second parameter or with option
+.BR \-s .
+.PP
+If the third parameter is specified, it is used as a speed-up multiplier.
+For example, a speed-up of 2 makes
+.B scriptreplay
+go twice as fast, and a speed-up of 0.1 makes it go ten times slower
+than the original session.
+.SH OPTIONS
+The first three options will overide old-style arguments.
+.TP
+.BR \-t , " \-\-timing " \fIfile\fR
+File containing script timing output.
+.TP
+.BR \-s , " \-\-typescript " \fIfile\fR
+File containing the script terminal output.
+.TP
+.BR \-d , " \-\-divisor " \fInumber\fR
+Speed up the replay displaying this
+.I number
+of times. The argument is a floating point number. It's called divisor
+because it divides the timings by this factor.
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit.
+.TP
+.BR \-h , " \-\-help"
+Display a help message and exit.
+.SH "EXAMPLE"
+.nf
+% script --timing=file.tm script.out
+Script started, file is script.out
+% ls
+<etc, etc>
+% exit
+Script done, file is script.out
+% scriptreplay --timing file.tm --typescript script.out
+.nf
+.SH "SEE ALSO"
+.BR script (1)
+.SH "COPYRIGHT"
+Copyright \(co 2008 James Youngman
+.br
+Copyright \(co 2008 Karel Zak
+.PP
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+.PP
+Released under the GNU General Public License version 2 or later.
+.SH "AUTHOR"
+The original
+.B scriptreplay
+program was written by
+.MT joey@\:kitenet.net
+Joey Hess
+.ME .
+The program was re-written in C by
+.MT jay@\:gnu.org
+James Youngman
+.ME
+and
+.MT kzak@\:redhat.com
+Karel Zak
+.ME .
+.SH AVAILABILITY
+The
+.B scriptreplay
+command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/term-utils/scriptreplay.c b/term-utils/scriptreplay.c
new file mode 100644
index 0000000..46468be
--- /dev/null
+++ b/term-utils/scriptreplay.c
@@ -0,0 +1,234 @@
+/*
+ * Copyright (C) 2008, Karel Zak <kzak@redhat.com>
+ * Copyright (C) 2008, James Youngman <jay@gnu.org>
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ *
+ * Based on scriptreplay.pl by Joey Hess <joey@kitenet.net>
+ */
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <time.h>
+#include <limits.h>
+#include <math.h>
+#include <sys/select.h>
+#include <unistd.h>
+#include <getopt.h>
+
+#include "closestream.h"
+#include "nls.h"
+#include "c.h"
+
+#define SCRIPT_MIN_DELAY 0.0001 /* from original sripreplay.pl */
+
+static void __attribute__((__noreturn__))
+usage(FILE *out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [-t] timingfile [typescript] [divisor]\n"),
+ program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -t, --timing <file> script timing output file\n"
+ " -s, --typescript <file> script terminal session output file\n"
+ " -d, --divisor <num> speed up or slow down execution with time divisor\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static double
+getnum(const char *s)
+{
+ double d;
+ char *end;
+
+ errno = 0;
+ d = strtod(s, &end);
+
+ if (end && *end != '\0')
+ errx(EXIT_FAILURE, _("expected a number, but got '%s'"), s);
+
+ if ((d == HUGE_VAL || d == -HUGE_VAL) && ERANGE == errno)
+ err(EXIT_FAILURE, _("divisor '%s'"), s);
+
+ if (!(d==d)) { /* did they specify "nan"? */
+ errno = EINVAL;
+ err(EXIT_FAILURE, _("divisor '%s'"), s);
+ }
+ return d;
+}
+
+static void
+delay_for(double delay)
+{
+#ifdef HAVE_NANOSLEEP
+ struct timespec ts, remainder;
+ ts.tv_sec = (time_t) delay;
+ ts.tv_nsec = (delay - ts.tv_sec) * 1.0e9;
+
+ while (-1 == nanosleep(&ts, &remainder)) {
+ if (EINTR == errno)
+ ts = remainder;
+ else
+ break;
+ }
+#else
+ struct timeval tv;
+ tv.tv_sec = (long) delay;
+ tv.tv_usec = (delay - tv.tv_sec) * 1.0e6;
+ select(0, NULL, NULL, NULL, &tv);
+#endif
+}
+
+static void
+emit(FILE *fd, const char *filename, size_t ct)
+{
+ char buf[BUFSIZ];
+
+ while(ct) {
+ size_t len, cc;
+
+ cc = ct > sizeof(buf) ? sizeof(buf) : ct;
+ len = fread(buf, 1, cc, fd);
+
+ if (!len)
+ break;
+
+ ct -= len;
+ cc = write(STDOUT_FILENO, buf, len);
+ if (cc != len)
+ err(EXIT_FAILURE, _("write to stdout failed"));
+ }
+
+ if (!ct)
+ return;
+ if (feof(fd))
+ errx(EXIT_FAILURE, _("unexpected end of file on %s"), filename);
+
+ err(EXIT_FAILURE, _("failed to read typescript file %s"), filename);
+}
+
+
+int
+main(int argc, char *argv[])
+{
+ FILE *tfile, *sfile;
+ const char *sname = NULL, *tname = NULL;
+ double divi = 1;
+ int c, diviopt = FALSE, idx;
+ unsigned long line;
+ size_t oldblk = 0;
+ char ch;
+
+ static const struct option longopts[] = {
+ { "timing", required_argument, 0, 't' },
+ { "typescript", required_argument, 0, 's' },
+ { "divisor", required_argument, 0, 'd' },
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'h' },
+ { NULL, 0, 0, 0 }
+ };
+
+ /* Because we use space as a separator, we can't afford to use any
+ * locale which tolerates a space in a number. In any case, script.c
+ * sets the LC_NUMERIC locale to C, anyway.
+ */
+ setlocale(LC_ALL, "");
+ setlocale(LC_NUMERIC, "C");
+
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((ch = getopt_long(argc, argv, "t:s:d:Vh", longopts, NULL)) != -1)
+ switch(ch) {
+ case 't':
+ tname = optarg;
+ break;
+ case 's':
+ sname = optarg;
+ break;
+ case 'd':
+ diviopt = TRUE;
+ divi = getnum(optarg);
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ argc -= optind;
+ argv += optind;
+ idx = 0;
+
+ if ((argc < 1 && !tname) || argc > 3) {
+ warnx(_("wrong number of arguments"));
+ usage(stderr);
+ }
+ if (!tname)
+ tname = argv[idx++];
+ if (!sname)
+ sname = idx < argc ? argv[idx++] : "typescript";
+ if (!diviopt)
+ divi = idx < argc ? getnum(argv[idx]) : 1;
+
+ tfile = fopen(tname, "r");
+ if (!tfile)
+ err(EXIT_FAILURE, _("cannot open %s"), tname);
+ sfile = fopen(sname, "r");
+ if (!sfile)
+ err(EXIT_FAILURE, _("cannot open %s"), sname);
+
+ /* ignore the first typescript line */
+ while((c = fgetc(sfile)) != EOF && c != '\n');
+
+ for(line = 0; ; line++) {
+ double delay;
+ size_t blk;
+ char nl;
+ if (fscanf(tfile, "%lf %zu%c\n", &delay, &blk, &nl) != 3 ||
+ nl != '\n') {
+ if (feof(tfile))
+ break;
+ if (ferror(tfile))
+ err(EXIT_FAILURE,
+ _("failed to read timing file %s"), tname);
+ errx(EXIT_FAILURE,
+ _("timings file %s: %lu: unexpected format"),
+ tname, line);
+ }
+ delay /= divi;
+
+ if (delay > SCRIPT_MIN_DELAY)
+ delay_for(delay);
+
+ if (oldblk)
+ emit(sfile, sname, oldblk);
+ oldblk = blk;
+ }
+
+ fclose(sfile);
+ fclose(tfile);
+ printf("\n");
+ exit(EXIT_SUCCESS);
+}
diff --git a/term-utils/setterm.1 b/term-utils/setterm.1
new file mode 100644
index 0000000..cde4114
--- /dev/null
+++ b/term-utils/setterm.1
@@ -0,0 +1,196 @@
+\" Copyright 1990 Gordon Irlam (gordoni@cs.ua.oz.au)
+.\" Copyright 1992 Rickard E. Faith (faith@cs.unc.edu)
+.\" Most of this was copied from the source code.
+.\" Do not restrict distribution.
+.\" May be distributed under the GNU General Public License
+.\"
+.\" Most options documented by Colin Watson (cjw44@cam.ac.uk)
+.\" Undocumented: -snow, -softscroll, -standout; these are
+.\" commented out in the source
+.\"
+.TH SETTERM 1 "January 2000" "util-linux" "User Commands"
+.SH NAME
+setterm \- set terminal attributes
+.SH SYNOPSIS
+.B setterm
+.RI [ options ]
+.SH DESCRIPTION
+.B setterm
+writes to standard output a character string that will invoke the
+specified terminal capabilities. Where possible
+.I terminfo
+is consulted to find the string to use. Some options however (marked
+"virtual consoles only" below) do not correspond to a
+.BR terminfo (5)
+capability. In this case, if the terminal type is "con" or "linux" the
+string that invokes the specified capabilities on the PC Minix virtual
+console driver is output. Options that are not implemented by the terminal
+are ignored.
+.SH OPTIONS
+For boolean options (\fBon\fP or \fBoff\fP), the default is \fBon\fP.
+.P
+For conciseness, an \fI8-color\fP below is \fBblack\fP, \fBred\fP,
+\fBgreen\fP, \fByellow\fP, \fBblue\fP, \fBmagenta\fP, \fBcyan\fP, or
+\fBwhite\fP.
+.P
+A \fI16-color\fP is an \fI8-color\fP, \fBgrey\fP, or \fBbright\fP followed
+by \fBred\fP, \fBgreen\fP, \fByellow\fP, \fBblue\fP, \fBmagenta\fP,
+\fBcyan\fP, or \fBwhite\fP.
+.P
+The various color options may be set independently, at least at virtual
+consoles, though the results of setting multiple modes (for example,
+.BR \-underline " and " \-half-bright )
+are hardware-dependent.
+.TP
+.BR \-appcursorkeys " [" on | off "] (virtual consoles only)"
+Sets Cursor Key Application Mode on or off. When on, ESC O A, ESC O B, etc.
+will be sent for the cursor keys instead of ESC [ A, ESC [ B, etc. See the
+"vi and Cursor-Keys" section of the Text-Terminal-HOWTO for how this can
+cause problems for vi users.
+.TP
+.BR \-append " [\fI1-NR_CONS\fP]"
+Like \fB\-dump\fP, but appends to the snapshot file instead of overwriting
+it. Only works if no \fB\-dump\fP options are given.
+.TP
+\fB\-background\fP \fI8-color\fP|\fBdefault\fP (virtual consoles only)
+Sets the background text color.
+.TP
+.BR \-blank " [\fI0-60\fP|\fBforce\fP|\fBpoke\fP] (virtual consoles only)"
+Sets the interval of inactivity, in minutes, after which the screen will be
+automatically blanked (using APM if available). Without an argument, gets the
+blank status (returns which vt was blanked or zero for unblanked vt).
+
+The
+.B force
+option keeps screen blank even if a key is pressed.
+
+The
+.B poke
+option unblank the screen.
+.TP
+.BR \-bfreq " [\fIfreqnumber\fP]"
+Sets the bell frequency in Hz. Without an argument, defaults to 0.
+.TP
+.BR \-blength " [\fI0-2000\fP]"
+Sets the bell duration in milliseconds. Without an argument, defaults to 0.
+.TP
+.BR \-blink " [" on | off ]
+Turns blink mode on or off. Except at a virtual console, \fB\-blink off\fP
+turns off all attributes (bold, half-brightness, blink, reverse).
+.TP
+.BR \-bold " [" on | off ]
+Turns bold (extra bright) mode on or off. Except at a virtual console,
+\fB\-bold off\fP turns off all attributes (bold, half-brightness, blink,
+reverse).
+.TP
+.BR \-clear " [" all ]
+Clears the screen and "homes" the cursor, as
+.BR clear (1).
+.TP
+.B \-clear rest
+Clears from the current cursor position to the end of the screen.
+.TP
+.BR \-clrtabs " [\fItab1 tab2 tab3\fP ...] (virtual consoles only)"
+Clears tab stops from the given horizontal cursor positions, in the range
+1-160. Without arguments, clears all tab stops.
+.TP
+.BR \-cursor " [" on | off ]
+Turns the terminal's cursor on or off.
+.TP
+.B \-default
+Sets the terminal's rendering options to the default values.
+.TP
+.BR \-dump " [\fI1-NR_CONS\fP]"
+Writes a snapshot of the given virtual console (with attributes) to the file
+specified in the \fB\-file\fP option, overwriting its contents; the default
+is screen.dump. Without an argument, dumps the current virtual console.
+Overrides \fB\-append\fP.
+.TP
+.BR \-append " [\fI1-NR_CONS\fP]"
+Like \fB\-dump\fP, but appends to the snapshot file instead of overwriting
+it. Only works if no \fB\-dump\fP options are given.
+.TP
+.BI \-file " dumpfilename"
+Sets the snapshot file name for any \fB\-dump\fP or \fB\-append\fP options
+on the same command line. If this option is not present, the default is
+screen.dump in the current directory. A path name that exceeds system
+maximum will be truncated, see PATH_MAX from linux/limits.h for the value.
+.TP
+.BR \-msg " [" on | off "] (virtual consoles only)"
+Enables or disables the sending of kernel \fBprintk()\fP messages to the
+console.
+.TP
+.BR \-msglevel " \fI1-8\fP (virtual consoles only)"
+Sets the console logging level for kernel \fBprintk()\fP messages. All
+messages strictly more important than this will be printed, so a logging
+level of 0 has the same effect as \fB\-msg on\fP and a logging level of 8
+will print all kernel messages.
+.BR klogd (8)
+may be a more convenient interface to the logging of kernel messages.
+.TP
+.BR \-powerdown " [\fI0-60\fP]"
+Sets the VESA powerdown interval in minutes. Without an argument, defaults
+to 0 (disable powerdown). If the console is blanked or the monitor is in
+suspend mode, then the monitor will go into vsync suspend mode or powerdown
+mode respectively after this period of time has elapsed.
+.TP
+.BR \-underline " [" on | off ]
+Turns underline mode on or off (see \fB\-ulcolor\fP).
+.TP
+.BR \-powersave " [" off "]"
+Turns off monitor VESA powersaving features.
+.TP
+.BR "\-powersave on" | vsync
+Puts the monitor into VESA vsync suspend mode.
+.TP
+.B \-powersave powerdown
+Puts the monitor into VESA powerdown mode.
+.TP
+.B \-powersave hsync
+Puts the monitor into VESA hsync suspend mode.
+.TP
+.BR \-regtabs " [\fI1-160\fP] (virtual consoles only)"
+Clears all tab stops, then sets a regular tab stop pattern, with one tab
+every specified number of positions. Without an argument, defaults to 8.
+.TP
+.BR \-repeat " [" on | off "] (virtual consoles only)"
+Turns keyboard repeat on or off.
+.TP
+.B \-reset
+Displays the terminal reset string, which typically resets the terminal to
+its power on state.
+.TP
+.BR \-reverse " [" on | off ]
+Turns reverse video mode on or off. Except at a virtual console,
+\fB\-reverse off\fP turns off all attributes (bold, half-brightness, blink,
+reverse).
+.TP
+.BR \-store " (virtual consoles only)"
+Stores the terminal's current rendering options (foreground and
+background colors) as the values to be used at reset-to-default.
+.TP
+.BR \-tabs " [\fItab1 tab2 tab3\fP ...] (virtual consoles only)"
+Sets tab stops at the given horizontal cursor positions, in the range 1-160.
+Without arguments, shows the current tab stop settings.
+.TP
+.BR \-term " terminal_name"
+Overrides the TERM environment variable.
+.TP
+\fB\-ulcolor\fP \fI16-color\fP (virtual consoles only)
+Sets the color for underlined characters.
+.TP
+.BR \-version
+Output version information and exit.
+.TP
+.BR \-help
+Output help screen and exit.
+.SH "SEE ALSO"
+.BR tput (1),
+.BR stty (1),
+.BR terminfo (5),
+.BR tty (4)
+.SH BUGS
+Differences between the Minix and Linux versions are not documented.
+.SH AVAILABILITY
+The setterm command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/term-utils/setterm.c b/term-utils/setterm.c
new file mode 100644
index 0000000..a2cf93b
--- /dev/null
+++ b/term-utils/setterm.c
@@ -0,0 +1,1290 @@
+/* setterm.c, set terminal attributes.
+ *
+ * Copyright (C) 1990 Gordon Irlam (gordoni@cs.ua.oz.au). Conditions of use,
+ * modification, and redistribution are contained in the file COPYRIGHT that
+ * forms part of this distribution.
+ *
+ * Adaption to Linux by Peter MacDonald.
+ *
+ * Enhancements by Mika Liljeberg (liljeber@cs.Helsinki.FI)
+ *
+ * Beep modifications by Christophe Jolif (cjolif@storm.gatelink.fr.net)
+ *
+ * Sanity increases by Cafeine Addict [sic].
+ *
+ * Powersave features by todd j. derr <tjd@wordsmith.org>
+ *
+ * Converted to terminfo by Kars de Jong (jongk@cs.utwente.nl)
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ *
+ * Syntax:
+ *
+ * setterm
+ * [ -term terminal_name ]
+ * [ -reset ]
+ * [ -initialize ]
+ * [ -cursor [on|off] ]
+ * [ -repeat [on|off] ]
+ * [ -appcursorkeys [on|off] ]
+ * [ -linewrap [on|off] ]
+ * [ -snow [on|off] ]
+ * [ -softscroll [on|off] ]
+ * [ -defaults ]
+ * [ -foreground black|red|green|yellow|blue|magenta|cyan|white|default ]
+ * [ -background black|red|green|yellow|blue|magenta|cyan|white|default ]
+ * [ -ulcolor black|grey|red|green|yellow|blue|magenta|cyan|white ]
+ * [ -ulcolor bright red|green|yellow|blue|magenta|cyan|white ]
+ * [ -hbcolor black|grey|red|green|yellow|blue|magenta|cyan|white ]
+ * [ -hbcolor bright red|green|yellow|blue|magenta|cyan|white ]
+ * [ -inversescreen [on|off] ]
+ * [ -bold [on|off] ]
+ * [ -half-bright [on|off] ]
+ * [ -blink [on|off] ]
+ * [ -reverse [on|off] ]
+ * [ -underline [on|off] ]
+ * [ -store ]
+ * [ -clear [ all|rest ] ]
+ * [ -tabs [tab1 tab2 tab3 ... ] ] (tabn = 1-160)
+ * [ -clrtabs [ tab1 tab2 tab3 ... ] (tabn = 1-160)
+ * [ -regtabs [1-160] ]
+ * [ -blank [0-60|force|poke|] ]
+ * [ -dump [1-NR_CONS ] ]
+ * [ -append [1-NR_CONS ] ]
+ * [ -file dumpfilename ]
+ * [ -standout [attr] ]
+ * [ -msg [on|off] ]
+ * [ -msglevel [0-8] ]
+ * [ -powersave [on|vsync|hsync|powerdown|off] ]
+ * [ -powerdown [0-60] ]
+ * [ -blength [0-2000] ]
+ * [ -bfreq freq ]
+ * [ -version ]
+ * [ -help ]
+ *
+ *
+ * Semantics:
+ *
+ * Setterm writes to standard output a character string that will
+ * invoke the specified terminal capabilities. Where possible
+ * terminfo is consulted to find the string to use. Some options
+ * however do not correspond to a terminfo capability. In this case if
+ * the terminal type is "con*", or "linux*" the string that invokes
+ * the specified capabilities on the PC Linux virtual console driver
+ * is output. Options that are not implemented by the terminal are
+ * ignored.
+ *
+ * The following options are non-obvious.
+ *
+ * -term can be used to override the TERM environment variable.
+ *
+ * -reset displays the terminal reset string, which typically resets the
+ * terminal to its power on state.
+ *
+ * -initialize displays the terminal initialization string, which typically
+ * sets the terminal's rendering options, and other attributes to the
+ * default values.
+ *
+ * -default sets the terminal's rendering options to the default values.
+ *
+ * -store stores the terminal's current rendering options as the default
+ * values. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <ctype.h>
+#include <unistd.h>
+#include <termios.h>
+#include <string.h>
+#include <fcntl.h>
+#ifndef NCURSES_CONST
+#define NCURSES_CONST const /* define before including term.h */
+#endif
+#include <term.h>
+
+#ifdef HAVE_NCURSES_H
+#include <ncurses.h>
+#elif defined(HAVE_NCURSES_NCURSES_H)
+#include <ncurses/ncurses.h>
+#endif
+
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <sys/ioctl.h>
+#include <sys/time.h>
+#ifdef HAVE_LINUX_TIOCL_H
+#include <linux/tiocl.h>
+#endif
+
+#include "c.h"
+#include "xalloc.h"
+#include "nls.h"
+#include "closestream.h"
+
+#if __GNU_LIBRARY__ < 5
+#ifndef __alpha__
+# include <linux/unistd.h>
+#define __NR_klogctl __NR_syslog
+_syscall3(int, klogctl, int, type, char*, buf, int, len);
+#else /* __alpha__ */
+#define klogctl syslog
+#endif
+#endif
+extern int klogctl(int type, char *buf, int len);
+
+/* Constants. */
+
+/* Non-standard return values. */
+#define EXIT_DUMPFILE -1
+
+/* Keyboard types. */
+#define PC 0
+#define OLIVETTI 1
+#define DUTCH 2
+#define EXTENDED 3
+
+/* Colors. */
+#define BLACK 0
+#define RED 1
+#define GREEN 2
+#define YELLOW 3
+#define BLUE 4
+#define MAGENTA 5
+#define CYAN 6
+#define WHITE 7
+#define GREY 8
+#define DEFAULT 9
+
+/* Blank commands */
+#define BLANKSCREEN -1
+#define UNBLANKSCREEN -2
+#define BLANKEDSCREEN -3
+
+/* <linux/tiocl.h> fallback */
+#ifndef TIOCL_BLANKSCREEN
+# define TIOCL_UNBLANKSCREEN 4 /* unblank screen */
+# define TIOCL_SETVESABLANK 10 /* set vesa blanking mode */
+# define TIOCL_BLANKSCREEN 14 /* keep screen blank even if a key is pressed */
+# define TIOCL_BLANKEDSCREEN 15 /* return which vt was blanked */
+#endif
+
+/* Control sequences. */
+#define ESC "\033"
+#define DCS "\033P"
+#define ST "\033\\"
+
+/* Static variables. */
+
+/* Option flags. Set if the option is to be invoked. */
+int opt_term, opt_reset, opt_initialize, opt_cursor;
+int opt_linewrap, opt_snow, opt_softscroll, opt_default, opt_foreground;
+int opt_background, opt_bold, opt_blink, opt_reverse, opt_underline;
+int opt_store, opt_clear, opt_blank, opt_snap, opt_snapfile, opt_standout;
+int opt_append, opt_ulcolor, opt_hbcolor, opt_halfbright, opt_repeat;
+int opt_tabs, opt_clrtabs, opt_regtabs, opt_appcursorkeys, opt_inversescreen;
+int opt_msg, opt_msglevel, opt_powersave, opt_powerdown;
+int opt_blength, opt_bfreq;
+
+/* Option controls. The variable names have been contracted to ensure
+ * uniqueness.
+ */
+char *opt_te_terminal_name; /* Terminal name. */
+int opt_cu_on, opt_li_on, opt_sn_on, opt_so_on, opt_bo_on, opt_hb_on, opt_bl_on;
+int opt_re_on, opt_un_on, opt_rep_on, opt_appck_on, opt_invsc_on;
+int opt_msg_on; /* Boolean switches. */
+int opt_ke_type; /* Keyboard type. */
+int opt_fo_color, opt_ba_color; /* Colors. */
+int opt_ul_color, opt_hb_color;
+int opt_cl_all; /* Clear all or rest. */
+int opt_bl_min; /* Blank screen. */
+int opt_blength_l;
+int opt_bfreq_f;
+int opt_sn_num; /* Snap screen. */
+int opt_st_attr;
+int opt_rt_len; /* regular tab length */
+int opt_tb_array[161]; /* Array for tab list */
+int opt_msglevel_num;
+int opt_ps_mode, opt_pd_min; /* powersave mode/powerdown time */
+
+char opt_sn_name[PATH_MAX + 1] = "screen.dump";
+
+static void screendump(int vcnum, FILE *F);
+
+/* Command line parsing routines.
+ *
+ * Note that it is an error for a given option to be invoked more than once.
+ */
+
+static void
+parse_term(int argc, char **argv, int *option, char **ttyname, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Term flag to set. */
+ /* ttyname: Terminal name to set. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a -term specification. */
+
+ if (argc != 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1)
+ *ttyname = argv[0];
+}
+
+static void
+parse_none(int argc, char **argv __attribute__ ((__unused__)), int *option, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Term flag to set. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a parameterless specification. */
+
+ if (argc != 0 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+}
+
+static void
+parse_switch(int argc, char **argv, int *option, int *opt_on, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Option flag to set. */
+ /* opt_on: Boolean option switch to set or reset. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a boolean (on/off) specification. */
+
+ if (argc > 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1) {
+ if (strcmp(argv[0], "on") == 0)
+ *opt_on = TRUE;
+ else if (strcmp(argv[0], "off") == 0)
+ *opt_on = FALSE;
+ else
+ *bad_arg = TRUE;
+ } else {
+ *opt_on = TRUE;
+ }
+}
+
+static void
+par_color(int argc, char **argv, int *option, int *opt_color, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Color flag to set. */
+ /* opt_color: Color to set. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a -foreground or -background specification. */
+
+ if (argc != 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1) {
+ if (strcmp(argv[0], "black") == 0)
+ *opt_color = BLACK;
+ else if (strcmp(argv[0], "red") == 0)
+ *opt_color = RED;
+ else if (strcmp(argv[0], "green") == 0)
+ *opt_color = GREEN;
+ else if (strcmp(argv[0], "yellow") == 0)
+ *opt_color = YELLOW;
+ else if (strcmp(argv[0], "blue") == 0)
+ *opt_color = BLUE;
+ else if (strcmp(argv[0], "magenta") == 0)
+ *opt_color = MAGENTA;
+ else if (strcmp(argv[0], "cyan") == 0)
+ *opt_color = CYAN;
+ else if (strcmp(argv[0], "white") == 0)
+ *opt_color = WHITE;
+ else if (strcmp(argv[0], "default") == 0)
+ *opt_color = DEFAULT;
+ else if (isdigit(argv[0][0]))
+ *opt_color = atoi(argv[0]);
+ else
+ *bad_arg = TRUE;
+
+ if(*opt_color < 0 || *opt_color > 9 || *opt_color == 8)
+ *bad_arg = TRUE;
+ }
+}
+
+static void
+par_color2(int argc, char **argv, int *option, int *opt_color, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Color flag to set. */
+ /* opt_color: Color to set. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a -ulcolor or -hbcolor specification. */
+
+ if (!argc || argc > 2 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ *opt_color = 0;
+ if (argc == 2) {
+ if (strcmp(argv[0], "bright") == 0)
+ *opt_color = 8;
+ else {
+ *bad_arg = TRUE;
+ return;
+ }
+ }
+ if (argc) {
+ if (strcmp(argv[argc-1], "black") == 0) {
+ if(*opt_color)
+ *bad_arg = TRUE;
+ else
+ *opt_color = BLACK;
+ } else if (strcmp(argv[argc-1], "grey") == 0) {
+ if(*opt_color)
+ *bad_arg = TRUE;
+ else
+ *opt_color = GREY;
+ } else if (strcmp(argv[argc-1], "red") == 0)
+ *opt_color |= RED;
+ else if (strcmp(argv[argc-1], "green") == 0)
+ *opt_color |= GREEN;
+ else if (strcmp(argv[argc-1], "yellow") == 0)
+ *opt_color |= YELLOW;
+ else if (strcmp(argv[argc-1], "blue") == 0)
+ *opt_color |= BLUE;
+ else if (strcmp(argv[argc-1], "magenta") == 0)
+ *opt_color |= MAGENTA;
+ else if (strcmp(argv[argc-1], "cyan") == 0)
+ *opt_color |= CYAN;
+ else if (strcmp(argv[argc-1], "white") == 0)
+ *opt_color |= WHITE;
+ else if (isdigit(argv[argc-1][0]))
+ *opt_color = atoi(argv[argc-1]);
+ else
+ *bad_arg = TRUE;
+ if(*opt_color < 0 || *opt_color > 15)
+ *bad_arg = TRUE;
+ }
+}
+
+static void
+parse_clear(int argc, char **argv, int *option, int *opt_all, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* opt_all: Clear all switch to set or reset. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a -clear specification. */
+
+ if (argc > 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1) {
+ if (strcmp(argv[0], "all") == 0)
+ *opt_all = TRUE;
+ else if (strcmp(argv[0], "rest") == 0)
+ *opt_all = FALSE;
+ else
+ *bad_arg = TRUE;
+ } else {
+ *opt_all = TRUE;
+ }
+}
+
+static void
+parse_blank(int argc, char **argv, int *option, int *opt_all, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* opt_all: Clear all switch to set or reset. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a -blank specification. */
+
+ if (argc > 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1) {
+ if (!strcmp(argv[0], "force"))
+ *opt_all = BLANKSCREEN;
+ else if (!strcmp(argv[0], "poke"))
+ *opt_all = UNBLANKSCREEN;
+ else {
+ *opt_all = atoi(argv[0]);
+ if ((*opt_all > 60) || (*opt_all < 0))
+ *bad_arg = TRUE;
+ }
+ } else {
+ *opt_all = BLANKEDSCREEN;
+ }
+}
+
+static void
+parse_powersave(int argc, char **argv, int *option, int *opt_mode, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: powersave flag to set. */
+ /* opt_mode: Powersaving mode, defined in vesa_blank.c */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a -powersave mode specification. */
+
+ if (argc > 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1) {
+ if (strcmp(argv[0], "on") == 0)
+ *opt_mode = 1;
+ else if (strcmp(argv[0], "vsync") == 0)
+ *opt_mode = 1;
+ else if (strcmp(argv[0], "hsync") == 0)
+ *opt_mode = 2;
+ else if (strcmp(argv[0], "powerdown") == 0)
+ *opt_mode = 3;
+ else if (strcmp(argv[0], "off") == 0)
+ *opt_mode = 0;
+ else
+ *bad_arg = TRUE;
+ } else {
+ *opt_mode = 0;
+ }
+}
+
+#if 0
+static void
+parse_standout(int argc, char *argv, int *option, int *opt_all, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* opt_all: Clear all switch to set or reset. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a -standout specification. */
+
+ if (argc > 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1)
+ *opt_all = atoi(argv[0]);
+ else
+ *opt_all = -1;
+}
+#endif
+
+static void
+parse_msglevel(int argc, char **argv, int *option, int *opt_all, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* opt_all: Clear all switch to set or reset. */
+ /* bad_arg: Set to true if an error is detected. */
+
+ if (argc > 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1) {
+ *opt_all = atoi(argv[0]);
+ if (*opt_all < 0 || *opt_all > 8)
+ *bad_arg = TRUE;
+ } else {
+ *opt_all = -1;
+ }
+}
+
+static void
+parse_snap(int argc, char **argv, int *option, int *opt_all, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* opt_all: Clear all switch to set or reset. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a -dump or -append specification. */
+
+ if (argc > 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1) {
+ *opt_all = atoi(argv[0]);
+ if ((*opt_all <= 0))
+ *bad_arg = TRUE;
+ } else {
+ *opt_all = 0;
+ }
+}
+
+static void
+parse_snapfile(int argc, char **argv, int *option, int *opt_all, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* opt_all: Clear all switch to set or reset. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a -file specification. */
+
+ if (argc != 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ memset(opt_all, 0, PATH_MAX + 1);
+ if (argc == 1)
+ strncpy((char *)opt_all, argv[0], PATH_MAX);
+}
+
+static void
+parse_tabs(int argc, char **argv, int *option, int *tab_array, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* tab_array: Array of tabs */
+ /* bad_arg: Set to true if an error is detected. */
+
+ if (*option || argc > 160)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ tab_array[argc] = -1;
+ while(argc--) {
+ tab_array[argc] = atoi(argv[argc]);
+ if(tab_array[argc] < 1 || tab_array[argc] > 160) {
+ *bad_arg = TRUE;
+ return;
+ }
+ }
+}
+
+static void
+parse_clrtabs(int argc, char **argv, int *option, int *tab_array, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* tab_array: Array of tabs */
+ /* bad_arg: Set to true if an error is detected. */
+
+ if (*option || argc > 160)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if(argc == 0) {
+ tab_array[0] = -1;
+ return;
+ }
+ tab_array[argc] = -1;
+ while(argc--) {
+ tab_array[argc] = atoi(argv[argc]);
+ if(tab_array[argc] < 1 || tab_array[argc] > 160) {
+ *bad_arg = TRUE;
+ return;
+ }
+ }
+}
+
+static void
+parse_regtabs(int argc, char **argv, int *option, int *opt_len, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* opt_len: Regular tab length. */
+ /* bad_arg: Set to true if an error is detected. */
+
+ if (*option || argc > 1)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if(argc == 0) {
+ *opt_len = 8;
+ return;
+ }
+ *opt_len = atoi(argv[0]);
+ if(*opt_len < 1 || *opt_len > 160) {
+ *bad_arg = TRUE;
+ return;
+ }
+}
+
+
+static void
+parse_blength(int argc, char **argv, int *option, int *opt_all, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* opt_all */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse -blength specification. */
+
+ if (argc > 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1) {
+ *opt_all = atoi(argv[0]);
+ if (*opt_all > 2000)
+ *bad_arg = TRUE;
+ } else {
+ *opt_all = 0;
+ }
+}
+
+static void
+parse_bfreq(int argc, char **argv, int *option, int *opt_all, int *bad_arg) {
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* option: Clear flag to set. */
+ /* opt_all */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse -bfreq specification. */
+
+ if (argc > 1 || *option)
+ *bad_arg = TRUE;
+ *option = TRUE;
+ if (argc == 1) {
+ *opt_all = atoi(argv[0]);
+ } else {
+ *opt_all = 0;
+ }
+}
+
+
+static void
+show_tabs(void) {
+ int i, co = tigetnum("cols");
+
+ if(co > 0) {
+ printf("\r ");
+ for(i = 10; i < co-2; i+=10)
+ printf("%-10d", i);
+ putchar('\n');
+ for(i = 1; i <= co; i++)
+ putchar(i%10+'0');
+ putchar('\n');
+ for(i = 1; i < co; i++)
+ printf("\tT\b");
+ putchar('\n');
+ }
+}
+
+static void __attribute__ ((__noreturn__))
+usage(FILE *out) {
+/* Print error message about arguments, and the command's syntax. */
+
+ if (out == stderr)
+ warnx(_("Argument error."));
+
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options]\n"), program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -term <terminal_name>\n"
+ " -reset\n"
+ " -initialize\n"
+ " -cursor <on|off>\n"
+ " -repeat <on|off>\n"
+ " -appcursorkeys <on|off>\n"
+ " -linewrap <on|off>\n"
+ " -default\n"
+ " -foreground <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+ " -background <black|blue|green|cyan|red|magenta|yellow|white|default>\n"
+ " -ulcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+ " -ulcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+ " -hbcolor <black|grey|blue|green|cyan|red|magenta|yellow|white>\n"
+ " -hbcolor <bright blue|green|cyan|red|magenta|yellow|white>\n"
+ " -inversescreen <on|off>\n"
+ " -bold <on|off>\n"
+ " -half-bright <on|off>\n"
+ " -blink <on|off>\n"
+ " -reverse <on|off>\n"
+ " -underline <on|off>\n"
+ " -store >\n"
+ " -clear <all|rest>\n"
+ " -tabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+ " -clrtabs < tab1 tab2 tab3 ... > (tabn = 1-160)\n"
+ " -regtabs <1-160>\n"
+ " -blank <0-60|force|poke>\n"
+ " -dump <1-NR_CONSOLES>\n"
+ " -append <1-NR_CONSOLES>\n"
+ " -file dumpfilename\n"
+ " -msg <on|off>\n"
+ " -msglevel <0-8>\n"
+ " -powersave <on|vsync|hsync|powerdown|off>\n"
+ " -powerdown <0-60>\n"
+ " -blength <0-2000>\n"
+ " -bfreq freqnumber\n"
+ " -version\n"
+ " -help\n"), out);
+
+ fprintf(out, USAGE_MAN_TAIL("setterm(1)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+#define STRCMP(str1,str2) strncmp(str1,str2,strlen(str1))
+
+static void
+parse_option(char *option, int argc, char **argv, int *bad_arg) {
+ /* option: Option with leading '-' removed. */
+ /* argc: Number of arguments for this option. */
+ /* argv: Arguments for this option. */
+ /* bad_arg: Set to true if an error is detected. */
+
+/* Parse a single specification. */
+
+ if (STRCMP(option, "term") == 0)
+ parse_term(argc, argv, &opt_term, &opt_te_terminal_name, bad_arg);
+ else if (STRCMP(option, "reset") == 0)
+ parse_none(argc, argv, &opt_reset, bad_arg);
+ else if (STRCMP(option, "initialize") == 0)
+ parse_none(argc, argv, &opt_initialize, bad_arg);
+ else if (STRCMP(option, "cursor") == 0)
+ parse_switch(argc, argv, &opt_cursor, &opt_cu_on, bad_arg);
+ else if (STRCMP(option, "repeat") == 0)
+ parse_switch(argc, argv, &opt_repeat, &opt_rep_on, bad_arg);
+ else if (STRCMP(option, "appcursorkeys") == 0)
+ parse_switch(argc, argv, &opt_appcursorkeys, &opt_appck_on, bad_arg);
+ else if (STRCMP(option, "linewrap") == 0)
+ parse_switch(argc, argv, &opt_linewrap, &opt_li_on, bad_arg);
+#if 0
+ else if (STRCMP(option, "snow") == 0)
+ parse_switch(argc, argv, &opt_snow, &opt_sn_on, bad_arg);
+ else if (STRCMP(option, "softscroll") == 0)
+ parse_switch(argc, argv, &opt_softscroll, &opt_so_on, bad_arg);
+#endif
+ else if (STRCMP(option, "default") == 0)
+ parse_none(argc, argv, &opt_default, bad_arg);
+ else if (STRCMP(option, "foreground") == 0)
+ par_color(argc, argv, &opt_foreground, &opt_fo_color, bad_arg);
+ else if (STRCMP(option, "background") == 0)
+ par_color(argc, argv, &opt_background, &opt_ba_color, bad_arg);
+ else if (STRCMP(option, "ulcolor") == 0)
+ par_color2(argc, argv, &opt_ulcolor, &opt_ul_color, bad_arg);
+ else if (STRCMP(option, "hbcolor") == 0)
+ par_color2(argc, argv, &opt_hbcolor, &opt_hb_color, bad_arg);
+ else if (STRCMP(option, "inversescreen") == 0)
+ parse_switch(argc, argv, &opt_inversescreen, &opt_invsc_on, bad_arg);
+ else if (STRCMP(option, "bold") == 0)
+ parse_switch(argc, argv, &opt_bold, &opt_bo_on, bad_arg);
+ else if (STRCMP(option, "half-bright") == 0)
+ parse_switch(argc, argv, &opt_halfbright, &opt_hb_on, bad_arg);
+ else if (STRCMP(option, "blink") == 0)
+ parse_switch(argc, argv, &opt_blink, &opt_bl_on, bad_arg);
+ else if (STRCMP(option, "reverse") == 0)
+ parse_switch(argc, argv, &opt_reverse, &opt_re_on, bad_arg);
+ else if (STRCMP(option, "underline") == 0)
+ parse_switch(argc, argv, &opt_underline, &opt_un_on, bad_arg);
+ else if (STRCMP(option, "store") == 0)
+ parse_none(argc, argv, &opt_store, bad_arg);
+ else if (STRCMP(option, "clear") == 0)
+ parse_clear(argc, argv, &opt_clear, &opt_cl_all, bad_arg);
+ else if (STRCMP(option, "tabs") == 0)
+ parse_tabs(argc, argv, &opt_tabs, opt_tb_array, bad_arg);
+ else if (STRCMP(option, "clrtabs") == 0)
+ parse_clrtabs(argc, argv, &opt_clrtabs, opt_tb_array, bad_arg);
+ else if (STRCMP(option, "regtabs") == 0)
+ parse_regtabs(argc, argv, &opt_regtabs, &opt_rt_len, bad_arg);
+ else if (STRCMP(option, "blank") == 0)
+ parse_blank(argc, argv, &opt_blank, &opt_bl_min, bad_arg);
+ else if (STRCMP(option, "dump") == 0)
+ parse_snap(argc, argv, &opt_snap, &opt_sn_num, bad_arg);
+ else if (STRCMP(option, "append") == 0)
+ parse_snap(argc, argv, &opt_append, &opt_sn_num, bad_arg);
+ else if (STRCMP(option, "file") == 0)
+ parse_snapfile(argc, argv, &opt_snapfile, (int *)opt_sn_name, bad_arg);
+ else if (STRCMP(option, "msg") == 0)
+ parse_switch(argc, argv, &opt_msg, &opt_msg_on, bad_arg);
+ else if (STRCMP(option, "msglevel") == 0)
+ parse_msglevel(argc, argv, &opt_msglevel, &opt_msglevel_num, bad_arg);
+ else if (STRCMP(option, "powersave") == 0)
+ parse_powersave(argc, argv, &opt_powersave, &opt_ps_mode, bad_arg);
+ else if (STRCMP(option, "powerdown") == 0)
+ parse_blank(argc, argv, &opt_powerdown, &opt_pd_min, bad_arg);
+ else if (STRCMP(option, "blength") == 0)
+ parse_blength(argc, argv, &opt_blength, &opt_blength_l, bad_arg);
+ else if (STRCMP(option, "bfreq") == 0)
+ parse_bfreq(argc, argv, &opt_bfreq, &opt_bfreq_f, bad_arg);
+#if 0
+ else if (STRCMP(option, "standout") == 0)
+ parse_standout(argc, argv, &opt_standout, &opt_st_attr, bad_arg);
+#endif
+ else if (STRCMP(option, "version") == 0) {
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ } else if (STRCMP(option, "help") == 0)
+ usage(stdout);
+ else
+ *bad_arg = TRUE;
+}
+
+/* End of command line parsing routines. */
+
+static char *ti_entry(const char *name) {
+ /* name: Terminfo capability string to lookup. */
+
+/* Return the specified terminfo string, or an empty string if no such terminfo
+ * capability exists.
+ */
+
+ char *buf_ptr;
+
+ if ((buf_ptr = tigetstr((char *)name)) == (char *)-1)
+ buf_ptr = NULL;
+ return buf_ptr;
+}
+
+static void
+perform_sequence(int vcterm) {
+ /* vcterm: Set if terminal is a virtual console. */
+
+ int result;
+/* Perform the selected options. */
+
+ /* -reset. */
+ if (opt_reset) {
+ putp(ti_entry("rs1"));
+ }
+
+ /* -initialize. */
+ if (opt_initialize) {
+ putp(ti_entry("is2"));
+ }
+
+ /* -cursor [on|off]. */
+ if (opt_cursor) {
+ if (opt_cu_on)
+ putp(ti_entry("cnorm"));
+ else
+ putp(ti_entry("civis"));
+ }
+
+ /* -linewrap [on|off]. Vc only (vt102) */
+ if (opt_linewrap && vcterm) {
+ if (opt_li_on)
+ printf("\033[?7h");
+ else
+ printf("\033[?7l");
+ }
+
+ /* -repeat [on|off]. Vc only (vt102) */
+ if (opt_repeat && vcterm) {
+ if (opt_rep_on)
+ printf("\033[?8h");
+ else
+ printf("\033[?8l");
+ }
+
+ /* -appcursorkeys [on|off]. Vc only (vt102) */
+ if (opt_appcursorkeys && vcterm) {
+ if (opt_appck_on)
+ printf("\033[?1h");
+ else
+ printf("\033[?1l");
+ }
+
+#if 0
+ /* -snow [on|off]. Vc only. */
+ if (opt_snow && vcterm) {
+ if (opt_sn_on)
+ printf("%s%s%s", DCS, "snow.on", ST);
+ else
+ printf("%s%s%s", DCS, "snow.off", ST);
+ }
+
+ /* -softscroll [on|off]. Vc only. */
+ if (opt_softscroll && vcterm) {
+ if (opt_so_on)
+ printf("%s%s%s", DCS, "softscroll.on", ST);
+ else
+ printf("%s%s%s", DCS, "softscroll.off", ST);
+ }
+#endif
+
+ /* -default. Vc sets default rendition, otherwise clears all
+ * attributes.
+ */
+ if (opt_default) {
+ if (vcterm)
+ printf("\033[0m");
+ else
+ putp(ti_entry("sgr0"));
+ }
+
+ /* -foreground black|red|green|yellow|blue|magenta|cyan|white|default.
+ * Vc only (ANSI).
+ */
+ if (opt_foreground && vcterm) {
+ printf("%s%s%c%s", ESC, "[3", '0' + opt_fo_color, "m");
+ }
+
+ /* -background black|red|green|yellow|blue|magenta|cyan|white|default.
+ * Vc only (ANSI).
+ */
+ if (opt_background && vcterm) {
+ printf("%s%s%c%s", ESC, "[4", '0' + opt_ba_color, "m");
+ }
+
+ /* -ulcolor black|red|green|yellow|blue|magenta|cyan|white|default.
+ * Vc only.
+ */
+ if (opt_ulcolor && vcterm) {
+ printf("\033[1;%d]", opt_ul_color);
+ }
+
+ /* -hbcolor black|red|green|yellow|blue|magenta|cyan|white|default.
+ * Vc only.
+ */
+ if (opt_hbcolor && vcterm) {
+ printf("\033[2;%d]", opt_hb_color);
+ }
+
+ /* -inversescreen [on|off]. Vc only (vt102).
+ */
+ if (opt_inversescreen) {
+ if (vcterm) {
+ if (opt_invsc_on)
+ printf("\033[?5h");
+ else
+ printf("\033[?5l");
+ }
+ }
+
+ /* -bold [on|off]. Vc behaves as expected, otherwise off turns off
+ * all attributes.
+ */
+ if (opt_bold) {
+ if (opt_bo_on)
+ putp(ti_entry("bold"));
+ else {
+ if (vcterm)
+ printf("%s%s", ESC, "[22m");
+ else
+ putp(ti_entry("sgr0"));
+ }
+ }
+
+ /* -half-bright [on|off]. Vc behaves as expected, otherwise off turns off
+ * all attributes.
+ */
+ if (opt_halfbright) {
+ if (opt_hb_on)
+ putp(ti_entry("dim"));
+ else {
+ if (vcterm)
+ printf("%s%s", ESC, "[22m");
+ else
+ putp(ti_entry("sgr0"));
+ }
+ }
+
+ /* -blink [on|off]. Vc behaves as expected, otherwise off turns off
+ * all attributes.
+ */
+ if (opt_blink) {
+ if (opt_bl_on)
+ putp(ti_entry("blink"));
+ else {
+ if (vcterm)
+ printf("%s%s", ESC, "[25m");
+ else
+ putp(ti_entry("sgr0"));
+ }
+ }
+
+ /* -reverse [on|off]. Vc behaves as expected, otherwise off turns
+ * off all attributes.
+ */
+ if (opt_reverse) {
+ if (opt_re_on)
+ putp(ti_entry("rev"));
+ else {
+ if (vcterm)
+ printf("%s%s", ESC, "[27m");
+ else
+ putp(ti_entry("sgr0"));
+ }
+ }
+
+ /* -underline [on|off]. */
+ if (opt_underline) {
+ if (opt_un_on)
+ putp(ti_entry("smul"));
+ else
+ putp(ti_entry("rmul"));
+ }
+
+ /* -store. Vc only. */
+ if (opt_store && vcterm) {
+ printf("\033[8]");
+ }
+
+ /* -clear [all|rest]. */
+ if (opt_clear) {
+ if (opt_cl_all)
+ putp(ti_entry("clear"));
+ else
+ putp(ti_entry("ed"));
+ }
+
+ /* -tabs Vc only. */
+ if (opt_tabs && vcterm) {
+ int i;
+
+ if (opt_tb_array[0] == -1)
+ show_tabs();
+ else {
+ for(i=0; opt_tb_array[i] > 0; i++)
+ printf("\033[%dG\033H", opt_tb_array[i]);
+ putchar('\r');
+ }
+ }
+
+ /* -clrtabs Vc only. */
+ if (opt_clrtabs && vcterm) {
+ int i;
+
+ if (opt_tb_array[0] == -1)
+ printf("\033[3g");
+ else
+ for(i=0; opt_tb_array[i] > 0; i++)
+ printf("\033[%dG\033[g", opt_tb_array[i]);
+ putchar('\r');
+ }
+
+ /* -regtabs Vc only. */
+ if (opt_regtabs && vcterm) {
+ int i;
+
+ printf("\033[3g\r");
+ for(i=opt_rt_len+1; i<=160; i+=opt_rt_len)
+ printf("\033[%dC\033H",opt_rt_len);
+ putchar('\r');
+ }
+
+ /* -blank [0-60]. */
+ if (opt_blank && vcterm) {
+ if (opt_bl_min >= 0)
+ printf("\033[9;%d]", opt_bl_min);
+ else if (opt_bl_min == BLANKSCREEN) {
+ char ioctlarg = TIOCL_BLANKSCREEN;
+ if (ioctl(0,TIOCLINUX,&ioctlarg))
+ warn(_("cannot force blank"));
+ } else if (opt_bl_min == UNBLANKSCREEN) {
+ char ioctlarg = TIOCL_UNBLANKSCREEN;
+ if (ioctl(0,TIOCLINUX,&ioctlarg))
+ warn(_("cannot force unblank"));
+ } else if (opt_bl_min == BLANKEDSCREEN) {
+ char ioctlarg = TIOCL_BLANKEDSCREEN;
+ int ret;
+ ret = ioctl(0,TIOCLINUX,&ioctlarg);
+ if (ret < 0)
+ warn(_("cannot get blank status"));
+ else
+ printf("%d\n",ret);
+ }
+ }
+
+ /* -powersave [on|vsync|hsync|powerdown|off] (console) */
+ if (opt_powersave) {
+ char ioctlarg[2];
+ ioctlarg[0] = TIOCL_SETVESABLANK;
+ ioctlarg[1] = opt_ps_mode;
+ if (ioctl(0,TIOCLINUX,ioctlarg))
+ warn(_("cannot (un)set powersave mode"));
+ }
+
+ /* -powerdown [0-60]. */
+ if (opt_powerdown) {
+ printf("\033[14;%d]", opt_pd_min);
+ }
+
+#if 0
+ /* -standout [num]. */
+ if (opt_standout)
+ /* nothing */;
+#endif
+
+ /* -snap [1-NR_CONS]. */
+ if (opt_snap || opt_append) {
+ FILE *F;
+
+ F = fopen(opt_sn_name, opt_snap ? "w" : "a");
+ if (!F)
+ err(EXIT_DUMPFILE, _("can not open dump file %s for output"),
+ opt_sn_name);
+ screendump(opt_sn_num, F);
+ if (close_stream(F) != 0)
+ errx(EXIT_FAILURE, _("write error"));
+ }
+
+ /* -msg [on|off]. */
+ if (opt_msg && vcterm) {
+ if (opt_msg_on)
+ /* 7 -- Enable printk's to console */
+ result = klogctl(7, NULL, 0);
+ else
+ /* 6 -- Disable printk's to console */
+ result = klogctl(6, NULL, 0);
+
+ if (result != 0)
+ warn(_("klogctl error"));
+ }
+
+ /* -msglevel [0-8] */
+ if (opt_msglevel && vcterm) {
+ /* 8 -- Set level of messages printed to console */
+ result = klogctl(8, NULL, opt_msglevel_num);
+ if (result != 0)
+ warn(_("klogctl error"));
+ }
+
+ /* -blength [0-2000] */
+ if (opt_blength && vcterm) {
+ printf("\033[11;%d]", opt_blength_l);
+ }
+
+ /* -bfreq freqnumber */
+ if (opt_bfreq && vcterm) {
+ printf("\033[10;%d]", opt_bfreq_f);
+ }
+
+}
+
+static void
+screendump(int vcnum, FILE * F)
+{
+ char infile[MAXPATHLEN];
+ unsigned char header[4];
+ unsigned int rows, cols;
+ int fd;
+ size_t i, j;
+ char *inbuf, *outbuf, *p, *q;
+
+ sprintf(infile, "/dev/vcsa%d", vcnum);
+ fd = open(infile, O_RDONLY);
+ if (fd < 0 && vcnum == 0) {
+ /* vcsa0 is often called vcsa */
+ sprintf(infile, "/dev/vcsa");
+ fd = open(infile, O_RDONLY);
+ }
+ if (fd < 0) {
+ /* try devfs name - for zero vcnum just /dev/vcc/a */
+ /* some gcc's warn for %.u - add 0 */
+ sprintf(infile, "/dev/vcc/a%.0u", vcnum);
+ fd = open(infile, O_RDONLY);
+ }
+ if (fd < 0) {
+ sprintf(infile, "/dev/vcsa%d", vcnum);
+ goto read_error;
+ }
+ if (read(fd, header, 4) != 4)
+ goto read_error;
+ rows = header[0];
+ cols = header[1];
+ if (rows * cols == 0)
+ goto read_error;
+
+ inbuf = xmalloc(rows * cols * 2);
+ outbuf = xmalloc(rows * (cols + 1));
+
+ if (read(fd, inbuf, rows * cols * 2) != rows * cols * 2)
+ goto read_error;
+ p = inbuf;
+ q = outbuf;
+ for (i = 0; i < rows; i++) {
+ for (j = 0; j < cols; j++) {
+ *q++ = *p;
+ p += 2;
+ }
+ while (j-- > 0 && q[-1] == ' ')
+ q--;
+ *q++ = '\n';
+ }
+ if (fwrite(outbuf, 1, q - outbuf, F) != (size_t) (q - outbuf)) {
+ warnx(_("Error writing screendump"));
+ goto error;
+ }
+ close(fd);
+ return;
+
+ read_error:
+ warnx(_("Couldn't read %s"), infile);
+ error:
+ if (fd >= 0)
+ close(fd);
+ exit(EXIT_FAILURE);
+}
+
+int
+main(int argc, char **argv) {
+ int bad_arg = FALSE; /* Set if error in arguments. */
+ int arg, modifier;
+ char *term; /* Terminal type. */
+ int vcterm; /* Set if terminal is a virtual console. */
+ int errret;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (argc < 2)
+ bad_arg = TRUE;
+
+ /* Parse arguments. */
+
+ for (arg = 1; arg < argc;) {
+ if (*argv[arg] == '-') {
+
+ /* Parse a single option. */
+
+ for (modifier = arg + 1; modifier < argc; modifier++) {
+ if (*argv[modifier] == '-') break;
+ }
+ parse_option(argv[arg] + 1, modifier - arg - 1,
+ &argv[arg + 1], &bad_arg);
+ arg = modifier;
+ } else {
+ bad_arg = TRUE;
+ arg++;
+ }
+ }
+
+ /* Display syntax message if error in arguments. */
+
+ if (bad_arg)
+ usage(stderr);
+
+ /* Find out terminal name. */
+
+ if (opt_term) {
+ term = opt_te_terminal_name;
+ } else {
+ term = getenv("TERM");
+ if (term == NULL)
+ errx(EXIT_FAILURE, _("$TERM is not defined."));
+ }
+
+ /* Find terminfo entry. */
+
+ if (setupterm(term, 1, &errret))
+ switch(errret) {
+ case -1:
+ errx(EXIT_FAILURE, _("terminfo database cannot be found"));
+ case 0:
+ errx(EXIT_FAILURE, _("%s: unknown terminal type"), term);
+ case 1:
+ errx(EXIT_FAILURE, _("terminal is hardcopy"));
+ }
+
+ /* See if the terminal is a virtual console terminal. */
+
+ vcterm = (!strncmp(term, "con", 3) || !strncmp(term, "linux", 5));
+
+ /* Perform the selected options. */
+
+ perform_sequence(vcterm);
+
+ return EXIT_SUCCESS;
+}
diff --git a/term-utils/ttymsg.c b/term-utils/ttymsg.c
new file mode 100644
index 0000000..aea6c26
--- /dev/null
+++ b/term-utils/ttymsg.c
@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 1989, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Modified Sun Mar 12 10:39:22 1995, faith@cs.unc.edu for Linux
+ *
+ */
+
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ * - fixed strerr(errno) in gettext calls
+ */
+
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <errno.h>
+#include <paths.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "nls.h"
+#include "closestream.h"
+#include "pathnames.h"
+#include "ttymsg.h"
+
+/*
+ * Display the contents of a uio structure on a terminal. Used by wall(1),
+ * syslogd(8), and talkd(8). Forks and finishes in child if write would block,
+ * waiting up to tmout seconds. Returns pointer to error string on unexpected
+ * error; string is not newline-terminated. Various "normal" errors are
+ * ignored (exclusive-use, lack of permission, etc.).
+ */
+char *
+ttymsg(struct iovec *iov, size_t iovcnt, char *line, int tmout) {
+ static char device[MAXNAMLEN];
+ static char errbuf[MAXNAMLEN+1024];
+ size_t cnt, left;
+ ssize_t wret;
+ struct iovec localiov[6];
+ int fd, forked = 0, errsv;
+
+ if (iovcnt > sizeof(localiov) / sizeof(localiov[0]))
+ return (_("too many iov's (change code in wall/ttymsg.c)"));
+
+ /* The old code here rejected the line argument when it contained a '/',
+ saying: "A slash may be an attempt to break security...".
+ However, if a user can control the line argument here
+ then he can make this routine write to /dev/hda or /dev/sda
+ already. So, this test was worthless, and these days it is
+ also wrong since people use /dev/pts/xxx. */
+
+ if (strlen(line) + sizeof(_PATH_DEV) + 1 > sizeof(device)) {
+ (void) sprintf(errbuf, _("excessively long line arg"));
+ return (errbuf);
+ }
+ (void) sprintf(device, "%s%s", _PATH_DEV, line);
+
+ /*
+ * open will fail on slip lines or exclusive-use lines
+ * if not running as root; not an error.
+ */
+ if ((fd = open(device, O_WRONLY|O_NONBLOCK, 0)) < 0) {
+ if (errno == EBUSY || errno == EACCES)
+ return (NULL);
+ if (strlen(strerror(errno)) > 1000)
+ return (NULL);
+ (void) sprintf(errbuf, "%s: %m", device);
+ errbuf[1024] = 0;
+ return (errbuf);
+ }
+
+ for (cnt = left = 0; cnt < iovcnt; ++cnt)
+ left += iov[cnt].iov_len;
+
+ for (;;) {
+ wret = writev(fd, iov, iovcnt);
+ if (wret >= (ssize_t) left)
+ break;
+ if (wret >= 0) {
+ left -= wret;
+ if (iov != localiov) {
+ memmove(localiov, iov,
+ iovcnt * sizeof(struct iovec));
+ iov = localiov;
+ }
+ for (cnt = 0; wret >= (ssize_t) iov->iov_len; ++cnt) {
+ wret -= iov->iov_len;
+ ++iov;
+ --iovcnt;
+ }
+ if (wret) {
+ iov->iov_base = (char *) iov->iov_base + wret;
+ iov->iov_len -= wret;
+ }
+ continue;
+ }
+ if (errno == EWOULDBLOCK) {
+ int cpid, flags;
+ sigset_t sigmask;
+
+ if (forked) {
+ (void) close(fd);
+ _exit(EXIT_FAILURE);
+ }
+ cpid = fork();
+ if (cpid < 0) {
+ if (strlen(strerror(errno)) > 1000)
+ (void) sprintf(errbuf, _("cannot fork"));
+ else {
+ errsv = errno;
+ (void) sprintf(errbuf,
+ _("fork: %s"), strerror(errsv));
+ }
+ (void) close(fd);
+ return (errbuf);
+ }
+ if (cpid) { /* parent */
+ (void) close(fd);
+ return (NULL);
+ }
+ forked++;
+ /* wait at most tmout seconds */
+ (void) signal(SIGALRM, SIG_DFL);
+ (void) signal(SIGTERM, SIG_DFL); /* XXX */
+ sigemptyset(&sigmask);
+ sigprocmask (SIG_SETMASK, &sigmask, NULL);
+ (void) alarm((u_int)tmout);
+ flags = fcntl(fd, F_GETFL);
+ fcntl(flags, F_SETFL, (long) (flags & ~O_NONBLOCK));
+ continue;
+ }
+ /*
+ * We get ENODEV on a slip line if we're running as root,
+ * and EIO if the line just went away.
+ */
+ if (errno == ENODEV || errno == EIO)
+ break;
+ (void) close(fd);
+ if (forked)
+ _exit(EXIT_FAILURE);
+ if (strlen(strerror(errno)) > 1000)
+ (void) sprintf(errbuf, _("%s: BAD ERROR, message is "
+ "far too long"), device);
+ else {
+ errsv = errno;
+ (void) sprintf(errbuf, "%s: %s", device,
+ strerror(errsv));
+ }
+ errbuf[1024] = 0;
+ return (errbuf);
+ }
+
+ (void) close(fd);
+ if (forked)
+ _exit(EXIT_SUCCESS);
+ return (NULL);
+}
diff --git a/term-utils/ttymsg.h b/term-utils/ttymsg.h
new file mode 100644
index 0000000..2cfa730
--- /dev/null
+++ b/term-utils/ttymsg.h
@@ -0,0 +1,2 @@
+char *ttymsg(struct iovec *iov, size_t iovcnt, char *line, int tmout);
+
diff --git a/term-utils/wall.1 b/term-utils/wall.1
new file mode 100644
index 0000000..88e816c
--- /dev/null
+++ b/term-utils/wall.1
@@ -0,0 +1,86 @@
+.\" Copyright (c) 1989, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)wall.1 6.5 (Berkeley) 4/23/91
+.\"
+.\" Modified for Linux, Mon Mar 8 18:07:38 1993, faith@cs.unc.edu
+.\"
+.TH WALL "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+wall \- write a message to users
+.SH SYNOPSIS
+.B wall
+[-n] [-t TIMEOUT] [file]
+.SH DESCRIPTION
+.B Wall
+displays the contents of
+.I file
+or, by default, its standard input, on the terminals of all currently logged
+in users. The command will cut over 79 character long lines to new lines.
+Short lines are white space padded to have 79 characters. The command will
+always put carriage return and new line at the end of each line.
+.PP
+Only the super-user can write on the terminals of users who have chosen to
+deny messages or are using a program which automatically denies messages.
+.PP
+Reading from a file is refused when the invoker is not superuser and the
+program is suid or sgid.
+.SH OPTIONS
+.TP
+\fB\-n\fR, \fB\-\-nobanner\fR
+Suppress banner
+.TP
+\fB\-t\fR, \fB\-\-timeout\fR \fItimeout\fR
+Write
+.I timeout
+to terminals in seconds. Argument must be positive integer. Default value
+is 300 seconds, which is a legacy from time when people ran terminals over
+modem lines.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Output help and exit.
+.SH SEE ALSO
+.BR mesg (1),
+.BR talk (1),
+.BR write (1),
+.BR shutdown (8)
+.SH HISTORY
+A
+.B wall
+command appeared in Version 7 AT&T UNIX.
+.SH AVAILABILITY
+The wall command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/term-utils/wall.c b/term-utils/wall.c
new file mode 100644
index 0000000..30324aa
--- /dev/null
+++ b/term-utils/wall.c
@@ -0,0 +1,280 @@
+/*
+ * Copyright (c) 1988, 1990, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Modified Sun Mar 12 10:34:34 1995, faith@cs.unc.edu, for Linux
+ */
+
+/*
+ * This program is not related to David Wall, whose Stanford Ph.D. thesis
+ * is entitled "Mechanisms for Broadcast and Selective Broadcast".
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ */
+
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/uio.h>
+
+#include <errno.h>
+#include <paths.h>
+#include <ctype.h>
+#include <pwd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <utmp.h>
+#include <getopt.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "strutils.h"
+#include "ttymsg.h"
+#include "pathnames.h"
+#include "carefulputc.h"
+#include "c.h"
+#include "fileutils.h"
+#include "closestream.h"
+
+#define IGNOREUSER "sleeper"
+#define WRITE_TIME_OUT 300 /* in seconds */
+
+/* Function prototypes */
+char *makemsg(char *fname, size_t *mbufsize, int print_banner);
+static void usage(FILE *out);
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] [<file>]\n"),program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -n, --nobanner do not print banner, works only for root\n"
+ " -t, --timeout <timeout> write timeout in seconds\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int
+main(int argc, char **argv) {
+ int ch;
+ struct iovec iov;
+ struct utmp *utmpptr;
+ char *p;
+ char line[sizeof(utmpptr->ut_line) + 1];
+ int print_banner = TRUE;
+ char *mbuf;
+ size_t mbufsize;
+ unsigned timeout = WRITE_TIME_OUT;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ static const struct option longopts[] = {
+ { "nobanner", no_argument, 0, 'n' },
+ { "timeout", required_argument, 0, 't' },
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'h' },
+ { NULL, 0, 0, 0 }
+ };
+
+ while ((ch = getopt_long(argc, argv, "nt:Vh", longopts, NULL)) != -1) {
+ switch (ch) {
+ case 'n':
+ if (geteuid() == 0)
+ print_banner = FALSE;
+ else
+ warnx(_("--nobanner is available only for root"));
+ break;
+ case 't':
+ timeout = strtou32_or_err(optarg, _("invalid timeout argument"));
+ if (timeout < 1)
+ errx(EXIT_FAILURE, _("invalid timeout argument: %s"), optarg);
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ }
+ argc -= optind;
+ argv += optind;
+ if (argc > 1)
+ usage(stderr);
+
+ mbuf = makemsg(*argv, &mbufsize, print_banner);
+
+ iov.iov_base = mbuf;
+ iov.iov_len = mbufsize;
+ while((utmpptr = getutent())) {
+ if (!utmpptr->ut_name[0] ||
+ !strncmp(utmpptr->ut_name, IGNOREUSER,
+ sizeof(utmpptr->ut_name)))
+ continue;
+#ifdef USER_PROCESS
+ if (utmpptr->ut_type != USER_PROCESS)
+ continue;
+#endif
+
+ /* Joey Hess reports that use-sessreg in /etc/X11/wdm/
+ produces ut_line entries like :0, and a write
+ to /dev/:0 fails. */
+ if (utmpptr->ut_line[0] == ':')
+ continue;
+
+ xstrncpy(line, utmpptr->ut_line, sizeof(utmpptr->ut_line));
+ if ((p = ttymsg(&iov, 1, line, timeout)) != NULL)
+ warnx("%s", p);
+ }
+ endutent();
+ free(mbuf);
+ exit(EXIT_SUCCESS);
+}
+
+char *
+makemsg(char *fname, size_t *mbufsize, int print_banner)
+{
+ register int ch, cnt;
+ struct tm *lt;
+ struct passwd *pw;
+ struct stat sbuf;
+ time_t now;
+ FILE *fp;
+ char *p, *whom, *where, *hostname, *lbuf, *tmpname, *mbuf;
+ long line_max;
+
+ hostname = xmalloc(sysconf(_SC_HOST_NAME_MAX) + 1);
+ line_max = sysconf(_SC_LINE_MAX);
+ lbuf = xmalloc(line_max);
+
+ if ((fp = xfmkstemp(&tmpname, NULL)) == NULL)
+ err(EXIT_FAILURE, _("can't open temporary file"));
+ unlink(tmpname);
+ free(tmpname);
+
+ if (print_banner == TRUE) {
+ if (!(whom = getlogin()) || !*whom)
+ whom = (pw = getpwuid(getuid())) ? pw->pw_name : "???";
+ if (!whom) {
+ whom = "someone";
+ warn(_("cannot get passwd uid"));
+ }
+ where = ttyname(STDOUT_FILENO);
+ if (!where) {
+ where = "somewhere";
+ warn(_("cannot get tty name"));
+ }
+ gethostname(hostname, sizeof(hostname));
+ time(&now);
+ lt = localtime(&now);
+
+ /*
+ * all this stuff is to blank out a square for the message;
+ * we wrap message lines at column 79, not 80, because some
+ * terminals wrap after 79, some do not, and we can't tell.
+ * Which means that we may leave a non-blank character
+ * in column 80, but that can't be helped.
+ */
+ /* snprintf is not always available, but the sprintf's here
+ will not overflow as long as %d takes at most 100 chars */
+ fprintf(fp, "\r%79s\r\n", " ");
+ sprintf(lbuf, _("Broadcast Message from %s@%s"),
+ whom, hostname);
+ fprintf(fp, "%-79.79s\007\007\r\n", lbuf);
+ sprintf(lbuf, " (%s) at %d:%02d ...",
+ where, lt->tm_hour, lt->tm_min);
+ fprintf(fp, "%-79.79s\r\n", lbuf);
+ }
+ fprintf(fp, "%79s\r\n", " ");
+
+ free(hostname);
+
+ if (fname) {
+ /*
+ * When we are not root, but suid or sgid, refuse to read files
+ * (e.g. device files) that the user may not have access to.
+ * After all, our invoker can easily do "wall < file"
+ * instead of "wall file".
+ */
+ uid_t uid = getuid();
+ if (uid && (uid != geteuid() || getgid() != getegid()))
+ errx(EXIT_FAILURE, _("will not read %s - use stdin."),
+ fname);
+
+ if (!freopen(fname, "r", stdin))
+ err(EXIT_FAILURE, _("cannot open %s"), fname);
+ }
+
+ while (fgets(lbuf, line_max, stdin)) {
+ for (cnt = 0, p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) {
+ if (cnt == 79 || ch == '\n') {
+ for (; cnt < 79; ++cnt)
+ putc(' ', fp);
+ putc('\r', fp);
+ putc('\n', fp);
+ cnt = 0;
+ }
+ if (ch != '\n')
+ carefulputc(ch, fp);
+ }
+ }
+ fprintf(fp, "%79s\r\n", " ");
+
+ free(lbuf);
+ rewind(fp);
+
+ if (fstat(fileno(fp), &sbuf))
+ err(EXIT_FAILURE, _("stat failed"));
+
+ *mbufsize = (size_t) sbuf.st_size;
+ mbuf = xmalloc(*mbufsize);
+
+ if (fread(mbuf, 1, *mbufsize, fp) != *mbufsize)
+ err(EXIT_FAILURE, _("fread failed"));
+
+ if (close_stream(fp) != 0)
+ errx(EXIT_FAILURE, _("write error"));
+ return mbuf;
+}
diff --git a/term-utils/write.1 b/term-utils/write.1
new file mode 100644
index 0000000..b606575
--- /dev/null
+++ b/term-utils/write.1
@@ -0,0 +1,102 @@
+.\" Copyright (c) 1989, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Jef Poskanzer and Craig Leres of the Lawrence Berkeley Laboratory.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)write.1 8.1 (Berkeley) 6/6/93
+.\"
+.\" Modified for Linux, Sun Mar 12 10:21:01 1995, faith@cs.unc.edu
+.\"
+.TH WRITE 1 "March 1995" "util-linux" "User Commands"
+.SH NAME
+write \- send a message to another user
+.SH SYNOPSIS
+.B write
+.I user
+.RI [ ttyname ]
+.SH DESCRIPTION
+.B Write
+allows you to communicate with other users, by copying lines from
+your terminal to theirs.
+.PP
+When you run the
+.B write
+command, the user you are writing to gets a message of the form:
+.PP
+.RS
+Message from yourname@yourhost on yourtty at hh:mm ...
+.RE
+.PP
+Any further lines you enter will be copied to the specified user's
+terminal. If the other user wants to reply, they must run
+.B write
+as well.
+.PP
+When you are done, type an end-of-file or interrupt character. The other
+user will see the message
+.B EOF
+indicating that the conversation is over.
+.PP
+You can prevent people (other than the super-user) from writing to you with
+the
+.BR mesg (1)
+command. Some commands, for example
+.BR nroff (1)
+and
+.BR pr (1),
+may disallow writing automatically, so that your output isn't overwritten.
+.PP
+If the user you want to write to is logged in on more than one terminal,
+you can specify which terminal to write to by specifying the terminal
+name as the second operand to the
+.B write
+command. Alternatively, you can let
+.B write
+select one of the terminals \- it will pick the one with the shortest idle
+time. This is so that if the user is logged in at work and also dialed up
+from home, the message will go to the right place.
+.PP
+The traditional protocol for writing to someone is that the string `\-o',
+either at the end of a line or on a line by itself, means that it's the
+other person's turn to talk. The string `oo' means that the person
+believes the conversation to be over.
+.SH "SEE ALSO"
+.BR mesg (1),
+.BR talk (1),
+.BR who (1)
+.SH HISTORY
+A
+.B write
+command appeared in Version 6 AT&T UNIX.
+.SH AVAILABILITY
+The write command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/term-utils/write.c b/term-utils/write.c
new file mode 100644
index 0000000..6c746b4
--- /dev/null
+++ b/term-utils/write.c
@@ -0,0 +1,381 @@
+/*
+ * Copyright (c) 1989, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Jef Poskanzer and Craig Leres of the Lawrence Berkeley Laboratory.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Modified for Linux, Mon Mar 8 18:16:24 1993, faith@cs.unc.edu
+ * Wed Jun 22 21:41:56 1994, faith@cs.unc.edu:
+ * Added fix from Mike Grupenhoff (kashmir@umiacs.umd.edu)
+ * Mon Jul 1 17:01:39 MET DST 1996, janl@math.uio.no:
+ * - Added fix from David.Chapell@mail.trincoll.edu enabeling daemons
+ * to use write.
+ * - ANSIed it since I was working on it anyway.
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <utmp.h>
+#include <errno.h>
+#include <time.h>
+#include <pwd.h>
+#include <string.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <paths.h>
+#include <getopt.h>
+
+#include "c.h"
+#include "carefulputc.h"
+#include "closestream.h"
+#include "nls.h"
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out);
+void search_utmp(char *, char *, char *, uid_t);
+void do_write(char *, char *, uid_t);
+void wr_fputs(char *);
+static void __attribute__ ((__noreturn__)) done(int);
+int term_chk(char *, int *, time_t *, int);
+int utmp_chk(char *, char *);
+
+static gid_t myegid;
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(_("\nUsage:\n"), out);
+ fprintf(out,
+ _(" %s [options] <user> [<ttyname>]\n"),
+ program_invocation_short_name);
+
+ fputs(_("\nOptions:\n"), out);
+ fputs(_(" -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"), out);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ time_t atime;
+ uid_t myuid;
+ int msgsok, myttyfd, c;
+ char tty[PATH_MAX], *mytty;
+
+ static const struct option longopts[] = {
+ {"version", no_argument, NULL, 'V'},
+ {"help", no_argument, NULL, 'h'},
+ {NULL, 0, NULL, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((c = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
+ switch (c) {
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ myegid = getegid();
+
+ /* check that sender has write enabled */
+ if (isatty(fileno(stdin)))
+ myttyfd = fileno(stdin);
+ else if (isatty(fileno(stdout)))
+ myttyfd = fileno(stdout);
+ else if (isatty(fileno(stderr)))
+ myttyfd = fileno(stderr);
+ else
+ myttyfd = -1;
+
+ if (myttyfd != -1) {
+ if (!(mytty = ttyname(myttyfd)))
+ errx(EXIT_FAILURE,
+ _("can't find your tty's name"));
+
+ /*
+ * We may have /dev/ttyN but also /dev/pts/xx. Below,
+ * term_chk() will put "/dev/" in front, so remove that
+ * part.
+ */
+ if (!strncmp(mytty, "/dev/", 5))
+ mytty += 5;
+ if (term_chk(mytty, &msgsok, &atime, 1))
+ exit(EXIT_FAILURE);
+ if (!msgsok)
+ errx(EXIT_FAILURE,
+ _("you have write permission turned off"));
+
+ } else
+ mytty = "<no tty>";
+
+ myuid = getuid();
+
+ /* check args */
+ switch (argc) {
+ case 2:
+ search_utmp(argv[1], tty, mytty, myuid);
+ do_write(tty, mytty, myuid);
+ break;
+ case 3:
+ if (!strncmp(argv[2], "/dev/", 5))
+ argv[2] += 5;
+ if (utmp_chk(argv[1], argv[2]))
+ errx(EXIT_FAILURE,
+ _("%s is not logged in on %s"),
+ argv[1], argv[2]);
+ if (term_chk(argv[2], &msgsok, &atime, 1))
+ exit(EXIT_FAILURE);
+ if (myuid && !msgsok)
+ errx(EXIT_FAILURE,
+ _("%s has messages disabled on %s"),
+ argv[1], argv[2]);
+ do_write(argv[2], mytty, myuid);
+ break;
+ default:
+ usage(stderr);
+ }
+
+ done(0);
+ /* NOTREACHED */
+ return EXIT_FAILURE;
+}
+
+
+/*
+ * utmp_chk - checks that the given user is actually logged in on
+ * the given tty
+ */
+int utmp_chk(char *user, char *tty)
+{
+ struct utmp u;
+ struct utmp *uptr;
+ int res = 1;
+
+ utmpname(_PATH_UTMP);
+ setutent();
+
+ while ((uptr = getutent())) {
+ memcpy(&u, uptr, sizeof(u));
+ if (strncmp(user, u.ut_name, sizeof(u.ut_name)) == 0 &&
+ strncmp(tty, u.ut_line, sizeof(u.ut_line)) == 0) {
+ res = 0;
+ break;
+ }
+ }
+
+ endutent();
+ return res;
+}
+
+/*
+ * search_utmp - search utmp for the "best" terminal to write to
+ *
+ * Ignores terminals with messages disabled, and of the rest, returns
+ * the one with the most recent access time. Returns as value the number
+ * of the user's terminals with messages enabled, or -1 if the user is
+ * not logged in at all.
+ *
+ * Special case for writing to yourself - ignore the terminal you're
+ * writing from, unless that's the only terminal with messages enabled.
+ */
+void search_utmp(char *user, char *tty, char *mytty, uid_t myuid)
+{
+ struct utmp u;
+ struct utmp *uptr;
+ time_t bestatime, atime;
+ int nloggedttys, nttys, msgsok, user_is_me;
+ char atty[sizeof(u.ut_line) + 1];
+
+ utmpname(_PATH_UTMP);
+ setutent();
+
+ nloggedttys = nttys = 0;
+ bestatime = 0;
+ user_is_me = 0;
+ while ((uptr = getutent())) {
+ memcpy(&u, uptr, sizeof(u));
+ if (strncmp(user, u.ut_name, sizeof(u.ut_name)) == 0) {
+ ++nloggedttys;
+ strncpy(atty, u.ut_line, sizeof(u.ut_line));
+ atty[sizeof(u.ut_line)] = '\0';
+ if (term_chk(atty, &msgsok, &atime, 0))
+ /* bad term? skip */
+ continue;
+ if (myuid && !msgsok)
+ /* skip ttys with msgs off */
+ continue;
+ if (strcmp(atty, mytty) == 0) {
+ user_is_me = 1;
+ /* don't write to yourself */
+ continue;
+ }
+ if (u.ut_type != USER_PROCESS)
+ /* it's not a valid entry */
+ continue;
+ ++nttys;
+ if (atime > bestatime) {
+ bestatime = atime;
+ strcpy(tty, atty);
+ }
+ }
+ }
+
+ endutent();
+ if (nloggedttys == 0)
+ errx(EXIT_FAILURE, _("%s is not logged in"), user);
+ if (nttys == 0) {
+ if (user_is_me) {
+ /* ok, so write to yourself! */
+ strcpy(tty, mytty);
+ return;
+ }
+ errx(EXIT_FAILURE, _("%s has messages disabled"), user);
+ } else if (nttys > 1) {
+ warnx(_("%s is logged in more than once; writing to %s"),
+ user, tty);
+ }
+}
+
+/*
+ * term_chk - check that a terminal exists, and get the message bit
+ * and the access time
+ */
+int term_chk(char *tty, int *msgsokP, time_t * atimeP, int showerror)
+{
+ struct stat s;
+ char path[PATH_MAX];
+
+ if (strlen(tty) + 6 > sizeof(path))
+ return 1;
+ sprintf(path, "/dev/%s", tty);
+ if (stat(path, &s) < 0) {
+ if (showerror)
+ warn("%s", path);
+ return 1;
+ }
+
+ /* group write bit and group ownership */
+ *msgsokP = (s.st_mode & (S_IWRITE >> 3)) && myegid == s.st_gid;
+ *atimeP = s.st_atime;
+ return 0;
+}
+
+/*
+ * do_write - actually make the connection
+ */
+void do_write(char *tty, char *mytty, uid_t myuid)
+{
+ char *login, *pwuid, *nows;
+ struct passwd *pwd;
+ time_t now;
+ char path[PATH_MAX], host[MAXHOSTNAMELEN], line[512];
+
+ /* Determine our login name(s) before the we reopen() stdout */
+ if ((pwd = getpwuid(myuid)) != NULL)
+ pwuid = pwd->pw_name;
+ else
+ pwuid = "???";
+ if ((login = getlogin()) == NULL)
+ login = pwuid;
+
+ if (strlen(tty) + 6 > sizeof(path))
+ errx(EXIT_FAILURE, _("tty path %s too long"), tty);
+ snprintf(path, sizeof(path), "/dev/%s", tty);
+ if ((freopen(path, "w", stdout)) == NULL)
+ err(EXIT_FAILURE, "%s", path);
+
+ signal(SIGINT, done);
+ signal(SIGHUP, done);
+
+ /* print greeting */
+ if (gethostname(host, sizeof(host)) < 0)
+ strcpy(host, "???");
+ now = time((time_t *) NULL);
+ nows = ctime(&now);
+ nows[16] = '\0';
+ printf("\r\n\007\007\007");
+ if (strcmp(login, pwuid))
+ printf(_("Message from %s@%s (as %s) on %s at %s ..."),
+ login, host, pwuid, mytty, nows + 11);
+ else
+ printf(_("Message from %s@%s on %s at %s ..."),
+ login, host, mytty, nows + 11);
+ printf("\r\n");
+
+ while (fgets(line, sizeof(line), stdin) != NULL)
+ wr_fputs(line);
+}
+
+/*
+ * done - cleanup and exit
+ */
+static void __attribute__ ((__noreturn__))
+ done(int dummy __attribute__ ((__unused__)))
+{
+ printf("EOF\r\n");
+ _exit(EXIT_SUCCESS);
+}
+
+/*
+ * wr_fputs - like fputs(), but makes control characters visible and
+ * turns \n into \r\n.
+ */
+void wr_fputs(char *s)
+{
+ char c;
+
+#define PUTC(c) if (carefulputc(c, stdout) == EOF) \
+ err(EXIT_FAILURE, _("carefulputc failed"));
+ while (*s) {
+ c = *s++;
+ if (c == '\n')
+ PUTC('\r');
+ PUTC(c);
+ }
+ return;
+#undef PUTC
+}
diff --git a/tests/Makemodule.am b/tests/Makemodule.am
new file mode 100644
index 0000000..00da7d3
--- /dev/null
+++ b/tests/Makemodule.am
@@ -0,0 +1,20 @@
+
+include tests/helpers/Makemodule.am
+
+EXTRA_DIST += \
+ tests/expected \
+ tests/functions.sh \
+ tests/commands.sh \
+ tests/run.sh \
+ tests/ts
+
+clean-local-tests:
+ rm -rf $(top_builddir)/tests/output $(top_builddir)/tests/diff
+
+CLEAN_LOCALS += clean-local-tests
+
+
+check-local-tests: $(check_PROGRAMS)
+ $(top_srcdir)/tests/run.sh --srcdir=$(abs_top_srcdir) --builddir=$(abs_top_builddir) --nonroot
+
+CHECK_LOCALS += check-local-tests
diff --git a/tests/commands.sh b/tests/commands.sh
new file mode 100644
index 0000000..8a1577e
--- /dev/null
+++ b/tests/commands.sh
@@ -0,0 +1,64 @@
+# Misc settings
+TS_TESTUSER=${TS_TESTUSER:-"test"}
+
+# helpers
+TS_HELPER_SYSINFO="$top_builddir/test_sysinfo"
+TS_HELPER_PATHS="$top_builddir/test_pathnames"
+TS_HELPER_BYTESWAP="$top_builddir/test_byteswap"
+TS_HELPER_MD5="$top_builddir/test_md5"
+
+TS_HELPER_ISMOUNTED="$top_builddir/test_ismounted"
+TS_HELPER_STRUTILS="$top_builddir/test_strutils"
+TS_HELPER_CPUSET="$top_builddir/test_cpuset"
+
+# libmount
+TS_HELPER_LIBMOUNT_OPTSTR="$top_builddir/test_mount_optstr"
+TS_HELPER_LIBMOUNT_TAB="$top_builddir/test_mount_tab"
+TS_HELPER_LIBMOUNT_UTILS="$top_builddir/test_mount_utils"
+TS_HELPER_LIBMOUNT_LOCK="$top_builddir/test_mount_lock"
+TS_HELPER_LIBMOUNT_UPDATE="$top_builddir/test_mount_tab_update"
+TS_HELPER_LIBMOUNT_CONTEXT="$top_builddir/test_mount_context"
+TS_HELPER_LIBMOUNT_TABDIFF="$top_builddir/test_mount_tab_diff"
+
+TS_HELPER_ISLOCAL="$top_builddir/test_islocal"
+TS_HELPER_LOGINDEFS="$top_builddir/test_logindefs"
+
+# TODO: use partx
+TS_HELPER_PARTITIONS="$top_builddir/sample-partitions"
+
+# paths to commands
+TS_CMD_MOUNT=${TS_CMD_MOUNT:-"$top_builddir/mount"}
+TS_CMD_UMOUNT=${TS_CMD_UMOUNT:-"$top_builddir/umount"}
+
+TS_CMD_SWAPON=${TS_CMD_SWAPON:-"$top_builddir/swapon"}
+TS_CMD_SWAPOFF=${TS_CMD_SWAPOFF:-"$top_builddir/swapoff"}
+TS_CMD_LOSETUP=${TS_CMD_LOSETUP:-"$top_builddir/losetup"}
+
+TS_CMD_MKSWAP=${TS_CMD_MKSWAP:-"$top_builddir/mkswap"}
+TS_CMD_MKCRAMFS=${TS_CMD_MKCRAMFS:-"$top_builddir/mkfs.cramfs"}
+TS_CMD_MKMINIX=${TS_CMD_MKMINIX:-"$top_builddir/mkfs.minix"}
+TS_CMD_FSCKCRAMFS=${TS_CMD_FSCKCRAMFS:-"$top_builddir/fsck.cramfs"}
+TS_CMD_FSCKMINIX=${TS_CMD_FSCKMINIX:-"$top_builddir/fsck.minix"}
+
+TS_CMD_IPCS=${TS_CMD_IPCS:-"$top_builddir/ipcs"}
+
+TS_CMD_COL=${TS_CMD_COL:-"$top_builddir/col"}
+TS_CMD_COLUMN=${TS_CMD_COLUMN:-"$top_builddir/column"}
+TS_CMD_COLRM=${TS_CMD_COLRM:-"$top_builddir/colrm"}
+
+TS_CMD_NAMEI=${TS_CMD_NAMEI-"$top_builddir/namei"}
+TS_CMD_LOOK=${TS_CMD_LOOK-"$top_builddir/look"}
+TS_CMD_CAL=${TS_CMD_CAL-"$top_builddir/cal"}
+TS_CMD_SCRIPT=${TS_CMD_SCRIPT-"$top_builddir/script"}
+TS_CMD_EJECT=${TS_CMD_EJECT-"$top_builddir/eject"}
+
+
+TS_CMD_HWCLOCK=${TS_CMD_HWCLOCK-"$top_builddir/hwclock"}
+TS_CMD_LSCPU=${TS_CMD_LSCPU-"$top_builddir/lscpu"}
+
+TS_CMD_BLKID=${TS_CMD_BLKID-"$top_builddir/blkid"}
+TS_CMD_PARTX=${TS_CMD_PARTX-"$top_builddir/partx"}
+TS_CMD_FINDMNT=${TS_CMD_FINDMNT-"$top_builddir/findmnt"}
+
+TS_CMD_FDISK=${TS_CMD_FDISK-"$top_builddir/fdisk"}
+
diff --git a/tests/expected/bitops/swapbytes b/tests/expected/bitops/swapbytes
new file mode 100644
index 0000000..b9468a7
--- /dev/null
+++ b/tests/expected/bitops/swapbytes
@@ -0,0 +1,21 @@
+Testing swab16
+swab16(0x0001) = 0x0100
+swab16(0x1234) = 0x3412
+swab16(0xff00) = 0x00ff
+swab16(0x4000) = 0x0040
+swab16(0xfeff) = 0xfffe
+Testing swab32
+swab32(0x00000001) = 0x01000000
+swab32(0x80000000) = 0x00000080
+swab32(0x12345678) = 0x78563412
+swab32(0xffff0000) = 0x0000ffff
+swab32(0x00ff0000) = 0x0000ff00
+swab32(0xff000000) = 0x000000ff
+Testing swab64
+swab64(0x0000000000000001) = 0x0100000000000000
+swab64(0x8000000000000000) = 0x0000000000000080
+swab64(0x1234567812345678) = 0x7856341278563412
+swab64(0xffffffff00000000) = 0x00000000ffffffff
+swab64(0x00ff000000000000) = 0x000000000000ff00
+swab64(0xff00000000000000) = 0x00000000000000ff
+No errors found in the byteswap implementation
diff --git a/tests/expected/blkid/low-probe-adaptec-raid b/tests/expected/blkid/low-probe-adaptec-raid
new file mode 100644
index 0000000..99a5888
--- /dev/null
+++ b/tests/expected/blkid/low-probe-adaptec-raid
@@ -0,0 +1,3 @@
+ID_FS_TYPE=adaptec_raid_member
+ID_FS_USAGE=raid
+ID_FS_VERSION=8
diff --git a/tests/expected/blkid/low-probe-befs b/tests/expected/blkid/low-probe-befs
new file mode 100644
index 0000000..b7f25cd
--- /dev/null
+++ b/tests/expected/blkid/low-probe-befs
@@ -0,0 +1,7 @@
+ID_FS_LABEL=befs_test
+ID_FS_LABEL_ENC=befs_test
+ID_FS_TYPE=befs
+ID_FS_USAGE=filesystem
+ID_FS_UUID=95d89dec82f6b73b
+ID_FS_UUID_ENC=95d89dec82f6b73b
+ID_FS_VERSION=little-endian
diff --git a/tests/expected/blkid/low-probe-bfs b/tests/expected/blkid/low-probe-bfs
new file mode 100644
index 0000000..8287304
--- /dev/null
+++ b/tests/expected/blkid/low-probe-bfs
@@ -0,0 +1,2 @@
+ID_FS_TYPE=bfs
+ID_FS_USAGE=filesystem
diff --git a/tests/expected/blkid/low-probe-cramfs b/tests/expected/blkid/low-probe-cramfs
new file mode 100644
index 0000000..7898a36
--- /dev/null
+++ b/tests/expected/blkid/low-probe-cramfs
@@ -0,0 +1,4 @@
+ID_FS_LABEL=test-cram
+ID_FS_LABEL_ENC=test-cram
+ID_FS_TYPE=cramfs
+ID_FS_USAGE=filesystem
diff --git a/tests/expected/blkid/low-probe-ddf-raid b/tests/expected/blkid/low-probe-ddf-raid
new file mode 100644
index 0000000..7956dcd
--- /dev/null
+++ b/tests/expected/blkid/low-probe-ddf-raid
@@ -0,0 +1,5 @@
+ID_FS_TYPE=ddf_raid_member
+ID_FS_USAGE=raid
+ID_FS_UUID=Linux-MDŢ­__
+ID_FS_UUID_ENC=Linux-MDŢ­\xbe\xef
+ID_FS_VERSION=01.02.00
diff --git a/tests/expected/blkid/low-probe-exfat b/tests/expected/blkid/low-probe-exfat
new file mode 100644
index 0000000..b9defbd
--- /dev/null
+++ b/tests/expected/blkid/low-probe-exfat
@@ -0,0 +1,7 @@
+ID_FS_LABEL=Новый_том
+ID_FS_LABEL_ENC=Новый\x20том
+ID_FS_TYPE=exfat
+ID_FS_USAGE=filesystem
+ID_FS_UUID=9C23-8877
+ID_FS_UUID_ENC=9C23-8877
+ID_FS_VERSION=1.0
diff --git a/tests/expected/blkid/low-probe-ext2 b/tests/expected/blkid/low-probe-ext2
new file mode 100644
index 0000000..c70b856
--- /dev/null
+++ b/tests/expected/blkid/low-probe-ext2
@@ -0,0 +1,7 @@
+ID_FS_LABEL=test-ext2
+ID_FS_LABEL_ENC=test-ext2
+ID_FS_TYPE=ext2
+ID_FS_USAGE=filesystem
+ID_FS_UUID=22f0eac3-5c89-4ec1-9076-60799119aaea
+ID_FS_UUID_ENC=22f0eac3-5c89-4ec1-9076-60799119aaea
+ID_FS_VERSION=1.0
diff --git a/tests/expected/blkid/low-probe-ext3 b/tests/expected/blkid/low-probe-ext3
new file mode 100644
index 0000000..4bac43f
--- /dev/null
+++ b/tests/expected/blkid/low-probe-ext3
@@ -0,0 +1,8 @@
+ID_FS_LABEL=test-ext3
+ID_FS_LABEL_ENC=test-ext3
+ID_FS_SEC_TYPE=ext2
+ID_FS_TYPE=ext3
+ID_FS_USAGE=filesystem
+ID_FS_UUID=35f66dab-477e-4090-a872-95ee0e493ad6
+ID_FS_UUID_ENC=35f66dab-477e-4090-a872-95ee0e493ad6
+ID_FS_VERSION=1.0
diff --git a/tests/expected/blkid/low-probe-fat b/tests/expected/blkid/low-probe-fat
new file mode 100644
index 0000000..4201211
--- /dev/null
+++ b/tests/expected/blkid/low-probe-fat
@@ -0,0 +1,8 @@
+ID_FS_LABEL=TEST-FAT
+ID_FS_LABEL_ENC=TEST-FAT
+ID_FS_SEC_TYPE=msdos
+ID_FS_TYPE=vfat
+ID_FS_USAGE=filesystem
+ID_FS_UUID=DEAD-BEEF
+ID_FS_UUID_ENC=DEAD-BEEF
+ID_FS_VERSION=FAT12
diff --git a/tests/expected/blkid/low-probe-fat16_noheads b/tests/expected/blkid/low-probe-fat16_noheads
new file mode 100644
index 0000000..ba47078
--- /dev/null
+++ b/tests/expected/blkid/low-probe-fat16_noheads
@@ -0,0 +1,8 @@
+ID_FS_LABEL=VTech_1070
+ID_FS_LABEL_ENC=VTech\x201070
+ID_FS_SEC_TYPE=msdos
+ID_FS_TYPE=vfat
+ID_FS_USAGE=filesystem
+ID_FS_UUID=2004-1014
+ID_FS_UUID_ENC=2004-1014
+ID_FS_VERSION=FAT16
diff --git a/tests/expected/blkid/low-probe-fat32_label_64MB b/tests/expected/blkid/low-probe-fat32_label_64MB
new file mode 100644
index 0000000..1179490
--- /dev/null
+++ b/tests/expected/blkid/low-probe-fat32_label_64MB
@@ -0,0 +1,7 @@
+ID_FS_LABEL=BINGO
+ID_FS_LABEL_ENC=BINGO
+ID_FS_TYPE=vfat
+ID_FS_USAGE=filesystem
+ID_FS_UUID=8CB5-BA49
+ID_FS_UUID_ENC=8CB5-BA49
+ID_FS_VERSION=FAT32
diff --git a/tests/expected/blkid/low-probe-gfs2 b/tests/expected/blkid/low-probe-gfs2
new file mode 100644
index 0000000..cd5a664
--- /dev/null
+++ b/tests/expected/blkid/low-probe-gfs2
@@ -0,0 +1,5 @@
+ID_FS_LABEL=mycluster:mygfs2
+ID_FS_LABEL_ENC=mycluster:mygfs2
+ID_FS_TYPE=gfs2
+ID_FS_USAGE=filesystem
+ID_FS_VERSION=1
diff --git a/tests/expected/blkid/low-probe-hfs b/tests/expected/blkid/low-probe-hfs
new file mode 100644
index 0000000..d4cbb5c
--- /dev/null
+++ b/tests/expected/blkid/low-probe-hfs
@@ -0,0 +1,4 @@
+ID_FS_LABEL=BBB
+ID_FS_LABEL_ENC=BBB
+ID_FS_TYPE=hfs
+ID_FS_USAGE=filesystem
diff --git a/tests/expected/blkid/low-probe-hfsplus b/tests/expected/blkid/low-probe-hfsplus
new file mode 100644
index 0000000..f54b59f
--- /dev/null
+++ b/tests/expected/blkid/low-probe-hfsplus
@@ -0,0 +1,4 @@
+ID_FS_LABEL=123456789ABCDE
+ID_FS_LABEL_ENC=123456789ABCDE
+ID_FS_TYPE=hfsplus
+ID_FS_USAGE=filesystem
diff --git a/tests/expected/blkid/low-probe-hpfs b/tests/expected/blkid/low-probe-hpfs
new file mode 100644
index 0000000..47ae1af
--- /dev/null
+++ b/tests/expected/blkid/low-probe-hpfs
@@ -0,0 +1,7 @@
+ID_FS_LABEL=P01_S16A
+ID_FS_LABEL_ENC=P01\x20S16A
+ID_FS_TYPE=hpfs
+ID_FS_USAGE=filesystem
+ID_FS_UUID=3BC2-32D5
+ID_FS_UUID_ENC=3BC2-32D5
+ID_FS_VERSION=2
diff --git a/tests/expected/blkid/low-probe-hpt37x-raid b/tests/expected/blkid/low-probe-hpt37x-raid
new file mode 100644
index 0000000..81f6dec
--- /dev/null
+++ b/tests/expected/blkid/low-probe-hpt37x-raid
@@ -0,0 +1,2 @@
+ID_FS_TYPE=hpt37x_raid_member
+ID_FS_USAGE=raid
diff --git a/tests/expected/blkid/low-probe-hpt45x-raid b/tests/expected/blkid/low-probe-hpt45x-raid
new file mode 100644
index 0000000..4eb9552
--- /dev/null
+++ b/tests/expected/blkid/low-probe-hpt45x-raid
@@ -0,0 +1,2 @@
+ID_FS_TYPE=hpt45x_raid_member
+ID_FS_USAGE=raid
diff --git a/tests/expected/blkid/low-probe-iso b/tests/expected/blkid/low-probe-iso
new file mode 100644
index 0000000..53b739c
--- /dev/null
+++ b/tests/expected/blkid/low-probe-iso
@@ -0,0 +1,6 @@
+ID_FS_LABEL=IsoVolumeName
+ID_FS_LABEL_ENC=IsoVolumeName
+ID_FS_TYPE=iso9660
+ID_FS_USAGE=filesystem
+ID_FS_UUID=2009-09-24-10-34-40-00
+ID_FS_UUID_ENC=2009-09-24-10-34-40-00
diff --git a/tests/expected/blkid/low-probe-iso-joliet b/tests/expected/blkid/low-probe-iso-joliet
new file mode 100644
index 0000000..7d38ad3
--- /dev/null
+++ b/tests/expected/blkid/low-probe-iso-joliet
@@ -0,0 +1,7 @@
+ID_FS_LABEL=ThisWonderfulLabelIsVeryVeryLong
+ID_FS_LABEL_ENC=ThisWonderfulLabelIsVeryVeryLong
+ID_FS_TYPE=iso9660
+ID_FS_USAGE=filesystem
+ID_FS_UUID=2009-09-22-12-52-23-00
+ID_FS_UUID_ENC=2009-09-22-12-52-23-00
+ID_FS_VERSION=Joliet\x20Extension
diff --git a/tests/expected/blkid/low-probe-iso-rr-joliet b/tests/expected/blkid/low-probe-iso-rr-joliet
new file mode 100644
index 0000000..0cff383
--- /dev/null
+++ b/tests/expected/blkid/low-probe-iso-rr-joliet
@@ -0,0 +1,7 @@
+ID_FS_LABEL=ThisIsVolumeName
+ID_FS_LABEL_ENC=ThisIsVolumeName
+ID_FS_TYPE=iso9660
+ID_FS_USAGE=filesystem
+ID_FS_UUID=2009-09-24-10-32-43-00
+ID_FS_UUID_ENC=2009-09-24-10-32-43-00
+ID_FS_VERSION=Joliet\x20Extension
diff --git a/tests/expected/blkid/low-probe-isw-raid b/tests/expected/blkid/low-probe-isw-raid
new file mode 100644
index 0000000..42419c5
--- /dev/null
+++ b/tests/expected/blkid/low-probe-isw-raid
@@ -0,0 +1,3 @@
+ID_FS_TYPE=isw_raid_member
+ID_FS_USAGE=raid
+ID_FS_VERSION=1.0.00
diff --git a/tests/expected/blkid/low-probe-jbd b/tests/expected/blkid/low-probe-jbd
new file mode 100644
index 0000000..6c6217d
--- /dev/null
+++ b/tests/expected/blkid/low-probe-jbd
@@ -0,0 +1,5 @@
+ID_FS_TYPE=jbd
+ID_FS_USAGE=other
+ID_FS_UUID=0d7a07df-7b06-4829-bce7-3b9c3ece570c
+ID_FS_UUID_ENC=0d7a07df-7b06-4829-bce7-3b9c3ece570c
+ID_FS_VERSION=1.0
diff --git a/tests/expected/blkid/low-probe-jfs b/tests/expected/blkid/low-probe-jfs
new file mode 100644
index 0000000..877fd16
--- /dev/null
+++ b/tests/expected/blkid/low-probe-jfs
@@ -0,0 +1,6 @@
+ID_FS_LABEL=test-jfs
+ID_FS_LABEL_ENC=test-jfs
+ID_FS_TYPE=jfs
+ID_FS_USAGE=filesystem
+ID_FS_UUID=9bf7b82e-7583-4c74-99a4-189a691f27b5
+ID_FS_UUID_ENC=9bf7b82e-7583-4c74-99a4-189a691f27b5
diff --git a/tests/expected/blkid/low-probe-jmicron-raid b/tests/expected/blkid/low-probe-jmicron-raid
new file mode 100644
index 0000000..dc572b7
--- /dev/null
+++ b/tests/expected/blkid/low-probe-jmicron-raid
@@ -0,0 +1,3 @@
+ID_FS_TYPE=jmicron_raid_member
+ID_FS_USAGE=raid
+ID_FS_VERSION=0.1
diff --git a/tests/expected/blkid/low-probe-lsi-raid b/tests/expected/blkid/low-probe-lsi-raid
new file mode 100644
index 0000000..48f7114
--- /dev/null
+++ b/tests/expected/blkid/low-probe-lsi-raid
@@ -0,0 +1,2 @@
+ID_FS_TYPE=lsi_mega_raid_member
+ID_FS_USAGE=raid
diff --git a/tests/expected/blkid/low-probe-lvm2 b/tests/expected/blkid/low-probe-lvm2
new file mode 100644
index 0000000..19aed2a
--- /dev/null
+++ b/tests/expected/blkid/low-probe-lvm2
@@ -0,0 +1,5 @@
+ID_FS_TYPE=LVM2_member
+ID_FS_USAGE=raid
+ID_FS_UUID=Vynv4k-APH8-xQER-HSBb-8VJ3-SvFF-PB5O1U
+ID_FS_UUID_ENC=Vynv4k-APH8-xQER-HSBb-8VJ3-SvFF-PB5O1U
+ID_FS_VERSION=LVM2\x20001
diff --git a/tests/expected/blkid/low-probe-mdraid b/tests/expected/blkid/low-probe-mdraid
new file mode 100644
index 0000000..0613dfe
--- /dev/null
+++ b/tests/expected/blkid/low-probe-mdraid
@@ -0,0 +1,5 @@
+ID_FS_TYPE=linux_raid_member
+ID_FS_USAGE=raid
+ID_FS_UUID=37c76b91-011a-05c5-d30c-1fd4c5c3dbbc
+ID_FS_UUID_ENC=37c76b91-011a-05c5-d30c-1fd4c5c3dbbc
+ID_FS_VERSION=0.90.0
diff --git a/tests/expected/blkid/low-probe-minix b/tests/expected/blkid/low-probe-minix
new file mode 100644
index 0000000..9627799
--- /dev/null
+++ b/tests/expected/blkid/low-probe-minix
@@ -0,0 +1,3 @@
+ID_FS_TYPE=minix
+ID_FS_USAGE=filesystem
+ID_FS_VERSION=1
diff --git a/tests/expected/blkid/low-probe-netware b/tests/expected/blkid/low-probe-netware
new file mode 100644
index 0000000..094d5c9
--- /dev/null
+++ b/tests/expected/blkid/low-probe-netware
@@ -0,0 +1,5 @@
+ID_FS_TYPE=nss
+ID_FS_USAGE=filesystem
+ID_FS_UUID=64fba6bb-ebad-d901-8000-361d9abf2560
+ID_FS_UUID_ENC=64fba6bb-ebad-d901-8000-361d9abf2560
+ID_FS_VERSION=43.02
diff --git a/tests/expected/blkid/low-probe-nilfs2 b/tests/expected/blkid/low-probe-nilfs2
new file mode 100644
index 0000000..c6c9cab
--- /dev/null
+++ b/tests/expected/blkid/low-probe-nilfs2
@@ -0,0 +1,7 @@
+ID_FS_LABEL=test-nilfs2
+ID_FS_LABEL_ENC=test-nilfs2
+ID_FS_TYPE=nilfs2
+ID_FS_USAGE=filesystem
+ID_FS_UUID=524025fb-6d31-40e6-baad-1db36cfdf806
+ID_FS_UUID_ENC=524025fb-6d31-40e6-baad-1db36cfdf806
+ID_FS_VERSION=2
diff --git a/tests/expected/blkid/low-probe-ntfs b/tests/expected/blkid/low-probe-ntfs
new file mode 100644
index 0000000..aaaa077
--- /dev/null
+++ b/tests/expected/blkid/low-probe-ntfs
@@ -0,0 +1,6 @@
+ID_FS_LABEL=Новый_том
+ID_FS_LABEL_ENC=Новый\x20том
+ID_FS_TYPE=ntfs
+ID_FS_USAGE=filesystem
+ID_FS_UUID=09CBB6DE30C87310
+ID_FS_UUID_ENC=09CBB6DE30C87310
diff --git a/tests/expected/blkid/low-probe-nvidia-raid b/tests/expected/blkid/low-probe-nvidia-raid
new file mode 100644
index 0000000..d143ea7
--- /dev/null
+++ b/tests/expected/blkid/low-probe-nvidia-raid
@@ -0,0 +1,3 @@
+ID_FS_TYPE=nvidia_raid_member
+ID_FS_USAGE=raid
+ID_FS_VERSION=100
diff --git a/tests/expected/blkid/low-probe-ocfs2 b/tests/expected/blkid/low-probe-ocfs2
new file mode 100644
index 0000000..2328d21
--- /dev/null
+++ b/tests/expected/blkid/low-probe-ocfs2
@@ -0,0 +1,7 @@
+ID_FS_LABEL=test-ocfs2
+ID_FS_LABEL_ENC=test-ocfs2
+ID_FS_TYPE=ocfs2
+ID_FS_USAGE=filesystem
+ID_FS_UUID=6b6bfbea-3a79-4f0c-b166-a20776102445
+ID_FS_UUID_ENC=6b6bfbea-3a79-4f0c-b166-a20776102445
+ID_FS_VERSION=0.90
diff --git a/tests/expected/blkid/low-probe-promise-raid b/tests/expected/blkid/low-probe-promise-raid
new file mode 100644
index 0000000..a2a82d0
--- /dev/null
+++ b/tests/expected/blkid/low-probe-promise-raid
@@ -0,0 +1,2 @@
+ID_FS_TYPE=promise_fasttrack_raid_member
+ID_FS_USAGE=raid
diff --git a/tests/expected/blkid/low-probe-reiser3 b/tests/expected/blkid/low-probe-reiser3
new file mode 100644
index 0000000..d376eca
--- /dev/null
+++ b/tests/expected/blkid/low-probe-reiser3
@@ -0,0 +1,7 @@
+ID_FS_LABEL=TESTREISER
+ID_FS_LABEL_ENC=TESTREISER
+ID_FS_TYPE=reiserfs
+ID_FS_USAGE=filesystem
+ID_FS_UUID=9efe7863-b124-46dc-ad68-8ecd04230a7b
+ID_FS_UUID_ENC=9efe7863-b124-46dc-ad68-8ecd04230a7b
+ID_FS_VERSION=JR
diff --git a/tests/expected/blkid/low-probe-reiser4 b/tests/expected/blkid/low-probe-reiser4
new file mode 100644
index 0000000..65d63aa
--- /dev/null
+++ b/tests/expected/blkid/low-probe-reiser4
@@ -0,0 +1,7 @@
+ID_FS_LABEL=TESTR4
+ID_FS_LABEL_ENC=TESTR4
+ID_FS_TYPE=reiser4
+ID_FS_USAGE=filesystem
+ID_FS_UUID=9722633c-d69a-4881-b1c8-bedecbbf39d2
+ID_FS_UUID_ENC=9722633c-d69a-4881-b1c8-bedecbbf39d2
+ID_FS_VERSION=4
diff --git a/tests/expected/blkid/low-probe-romfs b/tests/expected/blkid/low-probe-romfs
new file mode 100644
index 0000000..2eb982b
--- /dev/null
+++ b/tests/expected/blkid/low-probe-romfs
@@ -0,0 +1,4 @@
+ID_FS_LABEL=test-romfs
+ID_FS_LABEL_ENC=test-romfs
+ID_FS_TYPE=romfs
+ID_FS_USAGE=filesystem
diff --git a/tests/expected/blkid/low-probe-silicon-raid b/tests/expected/blkid/low-probe-silicon-raid
new file mode 100644
index 0000000..c468056
--- /dev/null
+++ b/tests/expected/blkid/low-probe-silicon-raid
@@ -0,0 +1,3 @@
+ID_FS_TYPE=silicon_medley_raid_member
+ID_FS_USAGE=raid
+ID_FS_VERSION=0.0
diff --git a/tests/expected/blkid/low-probe-small-fat32 b/tests/expected/blkid/low-probe-small-fat32
new file mode 100644
index 0000000..39239e6
--- /dev/null
+++ b/tests/expected/blkid/low-probe-small-fat32
@@ -0,0 +1,7 @@
+ID_FS_LABEL=TESTVFAT
+ID_FS_LABEL_ENC=TESTVFAT
+ID_FS_TYPE=vfat
+ID_FS_USAGE=filesystem
+ID_FS_UUID=1423-AAE1
+ID_FS_UUID_ENC=1423-AAE1
+ID_FS_VERSION=FAT32
diff --git a/tests/expected/blkid/low-probe-swap0 b/tests/expected/blkid/low-probe-swap0
new file mode 100644
index 0000000..bbd9495
--- /dev/null
+++ b/tests/expected/blkid/low-probe-swap0
@@ -0,0 +1,3 @@
+ID_FS_TYPE=swap
+ID_FS_USAGE=other
+ID_FS_VERSION=1
diff --git a/tests/expected/blkid/low-probe-swap1 b/tests/expected/blkid/low-probe-swap1
new file mode 100644
index 0000000..e078d99
--- /dev/null
+++ b/tests/expected/blkid/low-probe-swap1
@@ -0,0 +1,7 @@
+ID_FS_LABEL=SWAP-TEST
+ID_FS_LABEL_ENC=SWAP-TEST
+ID_FS_TYPE=swap
+ID_FS_USAGE=other
+ID_FS_UUID=8ff8e77f-8553-485e-8656-58be67a81666
+ID_FS_UUID_ENC=8ff8e77f-8553-485e-8656-58be67a81666
+ID_FS_VERSION=2
diff --git a/tests/expected/blkid/low-probe-tuxonice b/tests/expected/blkid/low-probe-tuxonice
new file mode 100644
index 0000000..3fd5a94
--- /dev/null
+++ b/tests/expected/blkid/low-probe-tuxonice
@@ -0,0 +1,5 @@
+ID_FS_TYPE=swsuspend
+ID_FS_USAGE=other
+ID_FS_UUID=7ec1e8e4-0a69-4565-860c-3f13b0f79838
+ID_FS_UUID_ENC=7ec1e8e4-0a69-4565-860c-3f13b0f79838
+ID_FS_VERSION=tuxonice
diff --git a/tests/expected/blkid/low-probe-ubifs b/tests/expected/blkid/low-probe-ubifs
new file mode 100644
index 0000000..4164db4
--- /dev/null
+++ b/tests/expected/blkid/low-probe-ubifs
@@ -0,0 +1,5 @@
+ID_FS_TYPE=ubifs
+ID_FS_USAGE=filesystem
+ID_FS_UUID=bafe46c2-5ed9-4405-8e81-7fc317fab8f0
+ID_FS_UUID_ENC=bafe46c2-5ed9-4405-8e81-7fc317fab8f0
+ID_FS_VERSION=w4r0
diff --git a/tests/expected/blkid/low-probe-udf b/tests/expected/blkid/low-probe-udf
new file mode 100644
index 0000000..ec24963
--- /dev/null
+++ b/tests/expected/blkid/low-probe-udf
@@ -0,0 +1,4 @@
+ID_FS_LABEL=test-udf
+ID_FS_LABEL_ENC=test-udf
+ID_FS_TYPE=udf
+ID_FS_USAGE=filesystem
diff --git a/tests/expected/blkid/low-probe-ufs b/tests/expected/blkid/low-probe-ufs
new file mode 100644
index 0000000..96828d7
--- /dev/null
+++ b/tests/expected/blkid/low-probe-ufs
@@ -0,0 +1,5 @@
+ID_FS_TYPE=ufs
+ID_FS_USAGE=filesystem
+ID_FS_UUID=4b0e640aec56ac70
+ID_FS_UUID_ENC=4b0e640aec56ac70
+ID_FS_VERSION=2
diff --git a/tests/expected/blkid/low-probe-via-raid b/tests/expected/blkid/low-probe-via-raid
new file mode 100644
index 0000000..8dd0e8c
--- /dev/null
+++ b/tests/expected/blkid/low-probe-via-raid
@@ -0,0 +1,3 @@
+ID_FS_TYPE=via_raid_member
+ID_FS_USAGE=raid
+ID_FS_VERSION=1
diff --git a/tests/expected/blkid/low-probe-vmfs b/tests/expected/blkid/low-probe-vmfs
new file mode 100644
index 0000000..41914b0
--- /dev/null
+++ b/tests/expected/blkid/low-probe-vmfs
@@ -0,0 +1,7 @@
+ID_FS_LABEL=toto
+ID_FS_LABEL_ENC=toto
+ID_FS_TYPE=VMFS
+ID_FS_USAGE=filesystem
+ID_FS_UUID=49edf844-ebfc28f3-65cb-0021280083cf
+ID_FS_UUID_ENC=49edf844-ebfc28f3-65cb-0021280083cf
+ID_FS_VERSION=31
diff --git a/tests/expected/blkid/low-probe-vmfs_volume b/tests/expected/blkid/low-probe-vmfs_volume
new file mode 100644
index 0000000..0d4dd83
--- /dev/null
+++ b/tests/expected/blkid/low-probe-vmfs_volume
@@ -0,0 +1,7 @@
+ID_FS_TYPE=VMFS_volume_member
+ID_FS_USAGE=raid
+ID_FS_UUID=49edf842-dcb35d37-b383-0021280083cf
+ID_FS_UUID_ENC=49edf842-dcb35d37-b383-0021280083cf
+ID_FS_UUID_SUB=49edf844-da2dde19-747b-0021280083cf
+ID_FS_UUID_SUB_ENC=49edf844-da2dde19-747b-0021280083cf
+ID_FS_VERSION=3
diff --git a/tests/expected/blkid/low-probe-xfs b/tests/expected/blkid/low-probe-xfs
new file mode 100644
index 0000000..f21d881
--- /dev/null
+++ b/tests/expected/blkid/low-probe-xfs
@@ -0,0 +1,6 @@
+ID_FS_LABEL=test-xfs
+ID_FS_LABEL_ENC=test-xfs
+ID_FS_TYPE=xfs
+ID_FS_USAGE=filesystem
+ID_FS_UUID=8c8a0a5a-9f57-492e-9610-45a61f38f58a
+ID_FS_UUID_ENC=8c8a0a5a-9f57-492e-9610-45a61f38f58a
diff --git a/tests/expected/blkid/low-probe-zfs b/tests/expected/blkid/low-probe-zfs
new file mode 100644
index 0000000..46727de
--- /dev/null
+++ b/tests/expected/blkid/low-probe-zfs
@@ -0,0 +1,9 @@
+ID_FS_LABEL=tank
+ID_FS_LABEL_ENC=tank
+ID_FS_TYPE=zfs_member
+ID_FS_USAGE=raid
+ID_FS_UUID=1782036546311300980
+ID_FS_UUID_ENC=1782036546311300980
+ID_FS_UUID_SUB=13179280127379850514
+ID_FS_UUID_SUB_ENC=13179280127379850514
+ID_FS_VERSION=8
diff --git a/tests/expected/blkid/lowprobe-pt-bsd b/tests/expected/blkid/lowprobe-pt-bsd
new file mode 100644
index 0000000..40e52a2
--- /dev/null
+++ b/tests/expected/blkid/lowprobe-pt-bsd
@@ -0,0 +1,4 @@
+size: 4456448, sector size: 512, PT: bsd, offset: 512
+---
+#1: 7936 4864 0x7
+#2: 12544 3584 0x7
diff --git a/tests/expected/blkid/lowprobe-pt-dos+bsd b/tests/expected/blkid/lowprobe-pt-dos+bsd
new file mode 100644
index 0000000..6585686
--- /dev/null
+++ b/tests/expected/blkid/lowprobe-pt-dos+bsd
@@ -0,0 +1,6 @@
+size: 8388608, sector size: 512, PT: dos, offset: 446
+---
+#1: 32 7648 0x83
+#2: 7680 8704 0xa5
+#5: 7936 4864 0x7 (freebsd)
+#6: 12544 3584 0x7 (freebsd)
diff --git a/tests/expected/blkid/lowprobe-pt-gpt b/tests/expected/blkid/lowprobe-pt-gpt
new file mode 100644
index 0000000..aa65018
--- /dev/null
+++ b/tests/expected/blkid/lowprobe-pt-gpt
@@ -0,0 +1,7 @@
+size: 10485760, sector size: 512, PT: gpt, offset: 512
+---
+#1: 34 2014 0x0 name='ThisIsName' uuid='1dcf10bc-637e-4c52-8203-087ae10a820b' type='ebd0a0a2-b9e5-4433-87c0-68b6b72699c7'
+#2: 2048 2048 0x0 name='ThisIsOtherName' uuid='a1d03a96-7238-46c6-bbb3-789cbe173ec7' type='ebd0a0a2-b9e5-4433-87c0-68b6b72699c7'
+#3: 4096 2048 0x0 name='primary' uuid='a7101b6c-468c-47df-aff6-cd444d12af61' type='ebd0a0a2-b9e5-4433-87c0-68b6b72699c7'
+#4: 6144 2048 0x0 name='primary' uuid='afc4950a-f0f1-4add-802c-5957133486d1' type='ebd0a0a2-b9e5-4433-87c0-68b6b72699c7'
+#5: 8192 2048 0x0 name='primary' uuid='0db0a787-c16b-4886-af3a-fbb97299677c' type='ebd0a0a2-b9e5-4433-87c0-68b6b72699c7'
diff --git a/tests/expected/blkid/lowprobe-pt-sgi b/tests/expected/blkid/lowprobe-pt-sgi
new file mode 100644
index 0000000..22bc7b4
--- /dev/null
+++ b/tests/expected/blkid/lowprobe-pt-sgi
@@ -0,0 +1,4 @@
+size: 10485760, sector size: 512, PT: sgi, offset: 0
+---
+#1: 63 1606437 0x83
+#2: 1606500 30523500 0x83
diff --git a/tests/expected/blkid/lowprobe-pt-sun b/tests/expected/blkid/lowprobe-pt-sun
new file mode 100644
index 0000000..54cb561
--- /dev/null
+++ b/tests/expected/blkid/lowprobe-pt-sun
@@ -0,0 +1,4 @@
+size: 10485760, sector size: 512, PT: sun, offset: 0
+---
+#1: 0 87380 0x83
+#2: 87380 43690 0x82
diff --git a/tests/expected/blkid/md-raid0-whole b/tests/expected/blkid/md-raid0-whole
new file mode 100644
index 0000000..d9c4466
--- /dev/null
+++ b/tests/expected/blkid/md-raid0-whole
@@ -0,0 +1,53 @@
+Initialize devices
+Create RAID device
+Create partitions on RAID device
+
+
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+Device does not contain a recognized partition table
+
+
+Command (m for help): Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+Select (default p): Partition number (1-4, default 1): First sector (2048-204543, default 2048): Using default value 2048
+Last sector, +sectors or +size{K,M,G} (2048-204543, default 204543): Partition 1 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (1 primary, 0 extended, 3 free)
+ e extended
+Select (default p): Partition number (1-4, default 2): First sector (22528-204543, default 22528): Using default value 22528
+Last sector, +sectors or +size{K,M,G} (22528-204543, default 204543): Using default value 204543
+Partition 2 of type Linux and of size 88.9 MiB is set
+
+Command (m for help):
+Disk /dev/md8: 104 MB, 104726528 bytes, 204544 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 65536 bytes / 131072 bytes
+
+
+ Device Boot Start End Blocks Id System
+/dev/md8p1 2048 22527 10240 83 Linux
+/dev/md8p2 22528 204543 91008 83 Linux
+
+Command (m for help): The partition table has been altered!
+
+Calling ioctl() to re-read partition table.
+Syncing disks.
+Probe first RAID member
+ID_FS_TYPE=linux_raid_member
+ID_FS_USAGE=raid
+
+
+ID_FS_VERSION=0.90.0
+Probe second RAID member
+ID_FS_TYPE=linux_raid_member
+ID_FS_USAGE=raid
+
+
+ID_FS_VERSION=0.90.0
+Stop RAID device
+Deinitialize devices
diff --git a/tests/expected/blkid/md-raid1-part b/tests/expected/blkid/md-raid1-part
new file mode 100644
index 0000000..ce93b73
--- /dev/null
+++ b/tests/expected/blkid/md-raid1-part
@@ -0,0 +1,64 @@
+Create partitions
+
+
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+Device does not contain a recognized partition table
+
+
+Command (m for help): Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+Select (default p): Partition number (1-4, default 1): First sector (2048-104447, default 2048): Using default value 2048
+Last sector, +sectors or +size{K,M,G} (2048-104447, default 104447): Partition 1 of type Linux and of size 25 MiB is set
+
+Command (m for help): Partition type:
+ p primary (1 primary, 0 extended, 3 free)
+ e extended
+Select (default p): Partition number (1-4, default 2): First sector (53248-104447, default 53248): Using default value 53248
+Last sector, +sectors or +size{K,M,G} (53248-104447, default 104447): Using default value 104447
+Partition 2 of type Linux and of size 25 MiB is set
+
+Command (m for help):
+Disk /dev/...: 53 MB, 53477376 bytes, 104448 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 32768 bytes
+
+
+ Device Boot Start End Blocks Id System
+/dev/...1 2048 53247 25600 83 Linux
+/dev/...2 53248 104447 25600 83 Linux
+
+Command (m for help): The partition table has been altered!
+
+Calling ioctl() to re-read partition table.
+Syncing disks.
+Create RAID1 device
+Probe whole-disk
+ID_PART_TABLE_TYPE=dos
+Probe first RAID member
+ID_FS_TYPE=linux_raid_member
+ID_FS_USAGE=raid
+ID_FS_UUID=__ts_uuid__
+ID_FS_UUID_ENC=__ts_uuid_enc__
+ID_FS_VERSION=0.90.0
+ID_PART_ENTRY_DISK=__ts_majorminor__
+ID_PART_ENTRY_NUMBER=1
+ID_PART_ENTRY_OFFSET=2048
+ID_PART_ENTRY_SCHEME=dos
+ID_PART_ENTRY_SIZE=51200
+ID_PART_ENTRY_TYPE=0x83
+Probe second RAID member
+ID_FS_TYPE=linux_raid_member
+ID_FS_USAGE=raid
+ID_FS_UUID=__ts_uuid__
+ID_FS_UUID_ENC=__ts_uuid_enc__
+ID_FS_VERSION=0.90.0
+ID_PART_ENTRY_DISK=__ts_majorminor__
+ID_PART_ENTRY_NUMBER=2
+ID_PART_ENTRY_OFFSET=53248
+ID_PART_ENTRY_SCHEME=dos
+ID_PART_ENTRY_SIZE=51200
+ID_PART_ENTRY_TYPE=0x83
diff --git a/tests/expected/blkid/md-raid1-whole b/tests/expected/blkid/md-raid1-whole
new file mode 100644
index 0000000..b6e45dc
--- /dev/null
+++ b/tests/expected/blkid/md-raid1-whole
@@ -0,0 +1,52 @@
+Initialize devices
+Create RAID device
+Create partitions on RAID device
+
+
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+Device does not contain a recognized partition table
+
+
+Command (m for help): Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+Select (default p): Partition number (1-4, default 1): First sector (2048-102271, default 2048): Using default value 2048
+Last sector, +sectors or +size{K,M,G} (2048-102271, default 102271): Partition 1 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (1 primary, 0 extended, 3 free)
+ e extended
+Select (default p): Partition number (1-4, default 2): First sector (22528-102271, default 22528): Using default value 22528
+Last sector, +sectors or +size{K,M,G} (22528-102271, default 102271): Partition 2 of type Linux and of size 10 MiB is set
+
+Command (m for help):
+Disk /dev/md8: 52 MB, 52363264 bytes, 102272 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+
+
+ Device Boot Start End Blocks Id System
+/dev/md8p1 2048 22527 10240 83 Linux
+/dev/md8p2 22528 43007 10240 83 Linux
+
+Command (m for help): The partition table has been altered!
+
+Calling ioctl() to re-read partition table.
+Syncing disks.
+Probe first RAID member
+ID_FS_TYPE=linux_raid_member
+ID_FS_USAGE=raid
+
+
+ID_FS_VERSION=0.90.0
+Probe second RAID member
+ID_FS_TYPE=linux_raid_member
+ID_FS_USAGE=raid
+
+
+ID_FS_VERSION=0.90.0
+Stop RAID device
+Deinitialize devices
diff --git a/tests/expected/build-sys/config b/tests/expected/build-sys/config
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/expected/build-sys/config
diff --git a/tests/expected/build-sys/config-all b/tests/expected/build-sys/config-all
new file mode 100644
index 0000000..c31bc40
--- /dev/null
+++ b/tests/expected/build-sys/config-all
@@ -0,0 +1,111 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+eject: libblkid libmount libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libuuid
+fsck: libblkid libmount libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libudev libuuid
+mkswap: libblkid libuuid
+mount: libblkid libmount libuuid
+mountpoint: libblkid libmount libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libuuid
+swapon: libblkid libmount libuuid
+umount: libblkid libmount libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+arch:
+blkid.static: STATIC
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chfn: libpam libpam_misc
+chrt:
+chsh: libpam libpam_misc
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+ddate:
+delpart:
+dmesg:
+elvtune:
+fallocate:
+fdformat:
+fdisk.static: STATIC
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+last:
+ldattach:
+line:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+losetup.static: STATIC
+lscpu:
+lslocks:
+mcookie:
+mesg:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+mount.static: STATIC
+namei:
+newgrp: rypt
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+sfdisk.static: STATIC
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+umount.static: STATIC
+unshare:
+utmpdump:
+vipw:
+wall:
+wdctl:
+whereis:
+write:
diff --git a/tests/expected/build-sys/config-all-devel b/tests/expected/build-sys/config-all-devel
new file mode 100644
index 0000000..4b31e7e
--- /dev/null
+++ b/tests/expected/build-sys/config-all-devel
@@ -0,0 +1,120 @@
+mkswap: libblkid libselinux libuuid
+swaplabel: libblkid libuuid
+blockdev:
+elvtune:
+fdformat:
+fsck.cramfs: libz
+fsck.minix:
+isosize:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+raw:
+cfdisk: libblkid libncursesw libtinfo libuuid
+fdisk: libblkid libuuid
+sfdisk:
+fsck: libblkid libuuid
+getopt:
+hwclock: libaudit
+test_at:
+test_blkdev:
+test_canonicalize:
+test_cpuset:
+test_ismounted:
+test_loopdev:
+test_mangle:
+test_procutils:
+test_strutils:
+test_sysfs:
+test_tt:
+test_wholedisk:
+mkfs: libblkid libuuid
+partitions: libblkid libuuid
+superblocks: libblkid libuuid
+topology: libblkid libuuid
+libblkid.so.1.1.0: libuuid
+mount: libblkid libmount libselinux libsepol libuuid
+libmount.so.1.1.0: libblkid libselinux libsepol libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+tst_uuid: libuuid
+chfn: libpam libpam_misc libselinux
+chsh: libpam libpam_misc libselinux
+last:
+login: libaudit libpam libpam_misc libselinux
+newgrp: rypt
+test_islocal:
+test_logindefs:
+vipw: libselinux
+blkid: libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libselinux libsepol libuuid
+lsblk: libblkid libudev libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+cal: libncursesw libtinfo
+ddate:
+kill:
+logger:
+look:
+mcookie:
+namei:
+rename:
+whereis:
+mount: libblkid libmount libselinux libsepol libuuid
+swapon: libblkid libuuid
+umount: libblkid libmount libselinux libsepol libuuid
+losetup:
+partx: libblkid libuuid
+addpart:
+delpart:
+chrt:
+ionice:
+taskset:
+mountpoint: libblkid libmount libselinux libsepol libuuid
+arch:
+chcpu:
+ctrlaltdel:
+cytune:
+dmesg:
+fallocate:
+flock:
+fsfreeze:
+fstrim:
+ipcmk:
+ipcrm:
+ipcs:
+ldattach:
+lscpu:
+pivot_root:
+prlimit:
+readprofile:
+renice:
+rtcwake:
+setarch:
+setsid:
+switch_root:
+tunelp:
+unshare:
+agetty:
+mesg:
+script: libutempter libutil
+scriptreplay:
+setterm: libtinfo
+write:
+test_byteswap:
+test_md5:
+test_pathnames:
+test_sysinfo:
+col:
+colcrt:
+colrm:
+column:
+hexdump:
+line:
+more: libtinfo
+pg: libncursesw libtinfo
+rev:
+tailf:
+ul: libtinfo
diff --git a/tests/expected/build-sys/config-all-non-nls b/tests/expected/build-sys/config-all-non-nls
new file mode 100644
index 0000000..c31bc40
--- /dev/null
+++ b/tests/expected/build-sys/config-all-non-nls
@@ -0,0 +1,111 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+eject: libblkid libmount libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libuuid
+fsck: libblkid libmount libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libudev libuuid
+mkswap: libblkid libuuid
+mount: libblkid libmount libuuid
+mountpoint: libblkid libmount libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libuuid
+swapon: libblkid libmount libuuid
+umount: libblkid libmount libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+arch:
+blkid.static: STATIC
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chfn: libpam libpam_misc
+chrt:
+chsh: libpam libpam_misc
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+ddate:
+delpart:
+dmesg:
+elvtune:
+fallocate:
+fdformat:
+fdisk.static: STATIC
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+last:
+ldattach:
+line:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+losetup.static: STATIC
+lscpu:
+lslocks:
+mcookie:
+mesg:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+mount.static: STATIC
+namei:
+newgrp: rypt
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+sfdisk.static: STATIC
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+umount.static: STATIC
+unshare:
+utmpdump:
+vipw:
+wall:
+wdctl:
+whereis:
+write:
diff --git a/tests/expected/build-sys/config-audit b/tests/expected/build-sys/config-audit
new file mode 100644
index 0000000..8c9bfa5
--- /dev/null
+++ b/tests/expected/build-sys/config-audit
@@ -0,0 +1,94 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+eject: libblkid libmount libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libuuid
+fsck: libblkid libmount libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libudev libuuid
+mkswap: libblkid libuuid
+mount: libblkid libmount libuuid
+mountpoint: libblkid libmount libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libuuid
+swapon: libblkid libmount libuuid
+umount: libblkid libmount libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+delpart:
+dmesg:
+fallocate:
+fdformat:
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock: libaudit
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libaudit libpam libpam_misc
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-core b/tests/expected/build-sys/config-core
new file mode 100644
index 0000000..f7da4b9
--- /dev/null
+++ b/tests/expected/build-sys/config-core
@@ -0,0 +1,94 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+eject: libblkid libmount libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libuuid
+fsck: libblkid libmount libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libudev libuuid
+mkswap: libblkid libuuid
+mount: libblkid libmount libuuid
+mountpoint: libblkid libmount libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libuuid
+swapon: libblkid libmount libuuid
+umount: libblkid libmount libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+delpart:
+dmesg:
+fallocate:
+fdformat:
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-devel b/tests/expected/build-sys/config-devel
new file mode 100644
index 0000000..a2e0411
--- /dev/null
+++ b/tests/expected/build-sys/config-devel
@@ -0,0 +1,111 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+eject: libblkid libmount libselinux libsepol libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libselinux libsepol libuuid
+fsck: libblkid libmount libselinux libsepol libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libselinux libsepol libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libselinux libsepol libudev libuuid
+mkswap: libblkid libselinux libuuid
+mount: libblkid libmount libselinux libsepol libuuid
+mountpoint: libblkid libmount libselinux libsepol libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libselinux libsepol libuuid
+swapon: libblkid libmount libselinux libsepol libuuid
+umount: libblkid libmount libselinux libsepol libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+arch:
+blkid.static: STATIC
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chfn: libpam libpam_misc libselinux
+chrt:
+chsh: libpam libpam_misc libselinux
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+ddate:
+delpart:
+dmesg:
+elvtune:
+fallocate:
+fdformat:
+fdisk.static: STATIC
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock: libaudit
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+last:
+ldattach:
+line:
+logger:
+login: libaudit libpam libpam_misc libselinux
+look:
+losetup:
+losetup.static: STATIC
+lscpu:
+lslocks:
+mcookie:
+mesg:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+mount.static: STATIC
+namei:
+newgrp: rypt
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutempter libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+sfdisk.static: STATIC
+su: libpam libpam_misc
+sulogin: libselinux rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+umount.static: STATIC
+unshare:
+utmpdump:
+vipw: libselinux
+wall:
+wdctl:
+whereis:
+write:
diff --git a/tests/expected/build-sys/config-devel-new-mount b/tests/expected/build-sys/config-devel-new-mount
new file mode 100644
index 0000000..74c35c7
--- /dev/null
+++ b/tests/expected/build-sys/config-devel-new-mount
@@ -0,0 +1,127 @@
+mkswap: libblkid libselinux libuuid
+swaplabel: libblkid libuuid
+blockdev:
+elvtune:
+fdformat:
+fsck.cramfs: libz
+fsck.minix:
+isosize:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+raw:
+cfdisk: libblkid libncursesw libtinfo libuuid
+fdisk: libblkid libuuid
+fdisk.static: STATIC
+sfdisk:
+sfdisk.static: STATIC
+fsck: libblkid libuuid
+getopt:
+hwclock: libaudit
+test_at:
+test_blkdev:
+test_canonicalize:
+test_cpuset:
+test_ismounted:
+test_loopdev:
+test_mangle:
+test_procutils:
+test_strutils:
+test_sysfs:
+test_tt:
+test_wholedisk:
+mkfs: libblkid libuuid
+partitions: libblkid libuuid
+superblocks: libblkid libuuid
+topology: libblkid libuuid
+libblkid.so.1.1.0: libuuid
+libmount.so.1.1.0: libblkid libselinux libsepol libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+tst_uuid: libuuid
+chfn: libpam libpam_misc libselinux
+chsh: libpam libpam_misc libselinux
+last:
+login: libaudit libpam libpam_misc libselinux
+newgrp: rypt
+test_islocal:
+test_logindefs:
+vipw: libselinux
+blkid: libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libselinux libsepol libuuid
+lsblk: libblkid libudev libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+blkid.static: STATIC
+cal: libncursesw libtinfo
+ddate:
+kill:
+logger:
+look:
+lslocks:
+mcookie:
+namei:
+rename:
+whereis:
+partx: libblkid libuuid
+addpart:
+delpart:
+chrt:
+ionice:
+taskset:
+mount: libblkid libmount libselinux libsepol libuuid
+mountpoint: libblkid libmount libselinux libsepol libuuid
+swapon: libblkid libuuid
+umount: libblkid libmount libselinux libsepol libuuid
+arch:
+chcpu:
+ctrlaltdel:
+cytune:
+dmesg:
+fallocate:
+flock:
+fsfreeze:
+fstrim:
+ipcmk:
+ipcrm:
+ipcs:
+ldattach:
+losetup:
+losetup.static: STATIC
+lscpu:
+mount.static: STATIC
+pivot_root:
+prlimit:
+readprofile:
+renice:
+rtcwake:
+setarch:
+setsid:
+switch_root:
+tunelp:
+umount.static: STATIC
+unshare:
+agetty:
+mesg:
+script: libutempter libutil
+scriptreplay:
+setterm: libtinfo
+wall:
+write:
+test_byteswap:
+test_md5:
+test_pathnames:
+test_sysinfo:
+col:
+colcrt:
+colrm:
+column:
+hexdump:
+line:
+more: libtinfo
+pg: libncursesw libtinfo
+rev:
+tailf:
+ul: libtinfo
diff --git a/tests/expected/build-sys/config-non-libblkid b/tests/expected/build-sys/config-non-libblkid
new file mode 100644
index 0000000..beb4254
--- /dev/null
+++ b/tests/expected/build-sys/config-non-libblkid
@@ -0,0 +1,75 @@
+libuuid.so.1.3.0: ld-linux-x86-64
+mkswap: libuuid
+uuidd: libuuid
+uuidgen: libuuid
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+cfdisk: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+dmesg:
+fallocate:
+fdformat:
+fdisk: ld-linux-x86-64
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-non-libmount b/tests/expected/build-sys/config-non-libmount
new file mode 100644
index 0000000..72ad726
--- /dev/null
+++ b/tests/expected/build-sys/config-non-libmount
@@ -0,0 +1,84 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+mkswap: libblkid libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+delpart:
+dmesg:
+fallocate:
+fdformat:
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-non-libs b/tests/expected/build-sys/config-non-libs
new file mode 100644
index 0000000..6a9e3c9
--- /dev/null
+++ b/tests/expected/build-sys/config-non-libs
@@ -0,0 +1,72 @@
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+cfdisk: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+dmesg:
+fallocate:
+fdformat:
+fdisk: ld-linux-x86-64
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+mkswap:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-non-libuuid b/tests/expected/build-sys/config-non-libuuid
new file mode 100644
index 0000000..c8dc870
--- /dev/null
+++ b/tests/expected/build-sys/config-non-libuuid
@@ -0,0 +1,91 @@
+blkid: libblkid
+cfdisk: libblkid libncursesw libtinfo
+eject: libblkid libmount
+fdisk: ld-linux-x86-64 libblkid
+findfs: libblkid
+findmnt: libblkid libmount
+fsck: libblkid libmount
+libblkid.so.1.1.0: ld-linux-x86-64
+libmount.so.1.1.0: ld-linux-x86-64 libblkid
+lsblk: libblkid libmount libudev
+mkswap: libblkid
+mount: libblkid libmount
+mountpoint: libblkid libmount
+partx: libblkid
+swaplabel: libblkid
+swapoff: libblkid libmount
+swapon: libblkid libmount
+umount: libblkid libmount
+wipefs: libblkid
+addpart:
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+delpart:
+dmesg:
+fallocate:
+fdformat:
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-non-nls b/tests/expected/build-sys/config-non-nls
new file mode 100644
index 0000000..f7da4b9
--- /dev/null
+++ b/tests/expected/build-sys/config-non-nls
@@ -0,0 +1,94 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+eject: libblkid libmount libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libuuid
+fsck: libblkid libmount libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libudev libuuid
+mkswap: libblkid libuuid
+mount: libblkid libmount libuuid
+mountpoint: libblkid libmount libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libuuid
+swapon: libblkid libmount libuuid
+umount: libblkid libmount libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+delpart:
+dmesg:
+fallocate:
+fdformat:
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-old-mount b/tests/expected/build-sys/config-old-mount
new file mode 100644
index 0000000..4a420e3
--- /dev/null
+++ b/tests/expected/build-sys/config-old-mount
@@ -0,0 +1,94 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+eject: libblkid libmount libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libuuid
+fsck: libblkid libmount libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libudev libuuid
+mkswap: libblkid libuuid
+mount: libblkid libuuid
+mountpoint: libblkid libmount libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libuuid
+swapon: libblkid libmount libuuid
+umount: libblkid libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+delpart:
+dmesg:
+fallocate:
+fdformat:
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-selinux b/tests/expected/build-sys/config-selinux
new file mode 100644
index 0000000..2bffdcf
--- /dev/null
+++ b/tests/expected/build-sys/config-selinux
@@ -0,0 +1,94 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+eject: libblkid libmount libselinux libsepol libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libselinux libsepol libuuid
+fsck: libblkid libmount libselinux libsepol libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libselinux libsepol libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libselinux libsepol libudev libuuid
+mkswap: libblkid libselinux libuuid
+mount: libblkid libmount libselinux libsepol libuuid
+mountpoint: libblkid libmount libselinux libsepol libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libselinux libsepol libuuid
+swapon: libblkid libmount libselinux libsepol libuuid
+umount: libblkid libmount libselinux libsepol libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+delpart:
+dmesg:
+fallocate:
+fdformat:
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc libselinux
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: libselinux rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-slang b/tests/expected/build-sys/config-slang
new file mode 100644
index 0000000..f6268c3
--- /dev/null
+++ b/tests/expected/build-sys/config-slang
@@ -0,0 +1,94 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libslang libuuid
+eject: libblkid libmount libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libuuid
+fsck: libblkid libmount libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libudev libuuid
+mkswap: libblkid libuuid
+mount: libblkid libmount libuuid
+mountpoint: libblkid libmount libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libuuid
+swapon: libblkid libmount libuuid
+umount: libblkid libmount libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+delpart:
+dmesg:
+fallocate:
+fdformat:
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/build-sys/config-static b/tests/expected/build-sys/config-static
new file mode 100644
index 0000000..097d840
--- /dev/null
+++ b/tests/expected/build-sys/config-static
@@ -0,0 +1,100 @@
+blkid: libblkid libuuid
+cfdisk: libblkid libncursesw libtinfo libuuid
+eject: libblkid libmount libuuid
+fdisk: ld-linux-x86-64 libblkid libuuid
+findfs: libblkid libuuid
+findmnt: libblkid libmount libuuid
+fsck: libblkid libmount libuuid
+libblkid.so.1.1.0: ld-linux-x86-64 libuuid
+libmount.so.1.1.0: ld-linux-x86-64 libblkid libuuid
+libuuid.so.1.3.0: ld-linux-x86-64
+lsblk: libblkid libmount libudev libuuid
+mkswap: libblkid libuuid
+mount: libblkid libmount libuuid
+mountpoint: libblkid libmount libuuid
+partx: libblkid libuuid
+swaplabel: libblkid libuuid
+swapoff: libblkid libmount libuuid
+swapon: libblkid libmount libuuid
+umount: libblkid libmount libuuid
+uuidd: libuuid
+uuidgen: libuuid
+wipefs: libblkid libuuid
+addpart:
+agetty:
+blkid.static: STATIC
+blockdev:
+cal: libncursesw libtinfo
+chcpu:
+chrt:
+col:
+colcrt:
+colrm:
+column:
+ctrlaltdel:
+cytune:
+delpart:
+dmesg:
+fallocate:
+fdformat:
+fdisk.static: STATIC
+flock:
+fsck.cramfs: libz
+fsck.minix:
+fsfreeze:
+fstrim:
+getopt:
+hexdump:
+hwclock:
+ionice:
+ipcmk:
+ipcrm:
+ipcs:
+isosize:
+kill:
+ldattach:
+logger:
+login: libpam libpam_misc
+look:
+losetup:
+losetup.static: STATIC
+lscpu:
+lslocks:
+mcookie:
+mkfs:
+mkfs.bfs:
+mkfs.cramfs: libz
+mkfs.minix:
+more: libtinfo
+mount.static: STATIC
+namei:
+pg: libncursesw libtinfo
+pivot_root:
+prlimit:
+raw:
+readprofile:
+rename:
+renice:
+resizepart:
+rev:
+rtcwake:
+script: libutil
+scriptreplay:
+setarch:
+setsid:
+setterm: libtinfo
+sfdisk:
+sfdisk.static: STATIC
+su: libpam libpam_misc
+sulogin: rypt
+switch_root:
+tailf:
+taskset:
+tunelp:
+ul: libtinfo
+umount.static: STATIC
+unshare:
+utmpdump:
+wall:
+wdctl:
+whereis:
diff --git a/tests/expected/cal/1m b/tests/expected/cal/1m
new file mode 100644
index 0000000..f657875
--- /dev/null
+++ b/tests/expected/cal/1m
@@ -0,0 +1,37 @@
+
+Gregorian - Monday-based week
+ September 2006
+Mo Tu We Th Fr Sa Su
+ 1 2 3
+ 4 5 6 7 8 9 10
+11 12 13 14 15 16 17
+18 19 20 21 22 23 24
+25 26 27 28 29 30
+
+Gregorian - Sunday-based week
+ September 2006
+Su Mo Tu We Th Fr Sa
+ 1 2
+ 3 4 5 6 7 8 9
+10 11 12 13 14 15 16
+17 18 19 20 21 22 23
+24 25 26 27 28 29 30
+
+Julian - Monday-based week
+ September 2006
+Mon Tue Wed Thu Fri Sat Sun
+ 244 245 246
+247 248 249 250 251 252 253
+254 255 256 257 258 259 260
+261 262 263 264 265 266 267
+268 269 270 271 272 273
+
+Julian - Sunday-based week
+ September 2006
+Sun Mon Tue Wed Thu Fri Sat
+ 244 245
+246 247 248 249 250 251 252
+253 254 255 256 257 258 259
+260 261 262 263 264 265 266
+267 268 269 270 271 272 273
+
diff --git a/tests/expected/cal/3m b/tests/expected/cal/3m
new file mode 100644
index 0000000..ba9657d
--- /dev/null
+++ b/tests/expected/cal/3m
@@ -0,0 +1,37 @@
+
+Gregorian - Monday-based week
+ August 2006 September 2006 October 2006
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 2 3 4 5 6 1 2 3 1
+ 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
+28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
+ 30 31
+Gregorian - Sunday-based week
+ August 2006 September 2006 October 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
+Julian - Monday-based week
+ August 2006 September 2006 October 2006
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 213 214 215 216 217 218 244 245 246 274
+219 220 221 222 223 224 225 247 248 249 250 251 252 253 275 276 277 278 279 280 281
+226 227 228 229 230 231 232 254 255 256 257 258 259 260 282 283 284 285 286 287 288
+233 234 235 236 237 238 239 261 262 263 264 265 266 267 289 290 291 292 293 294 295
+240 241 242 243 268 269 270 271 272 273 296 297 298 299 300 301 302
+ 303 304
+Julian - Sunday-based week
+ August 2006 September 2006 October 2006
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 213 214 215 216 217 244 245 274 275 276 277 278 279 280
+218 219 220 221 222 223 224 246 247 248 249 250 251 252 281 282 283 284 285 286 287
+225 226 227 228 229 230 231 253 254 255 256 257 258 259 288 289 290 291 292 293 294
+232 233 234 235 236 237 238 260 261 262 263 264 265 266 295 296 297 298 299 300 301
+239 240 241 242 243 267 268 269 270 271 272 273 302 303 304
+
diff --git a/tests/expected/cal/year b/tests/expected/cal/year
new file mode 100644
index 0000000..616d61a
--- /dev/null
+++ b/tests/expected/cal/year
@@ -0,0 +1,177 @@
+
+Gregorian - Monday-based week
+ 2006
+
+ January February March
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5 1 2 3 4 5
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 19
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 26
+23 24 25 26 27 28 29 27 28 27 28 29 30 31
+30 31
+ April May June
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 2 1 2 3 4 5 6 7 1 2 3 4
+ 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 29 30 31 26 27 28 29 30
+
+ July August September
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 2 1 2 3 4 5 6 1 2 3
+ 3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30
+31
+ October November December
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5 1 2 3
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
+30 31
+
+Gregorian - Sunday-based week
+ 2006
+
+ January February March
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2 3 4
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25
+29 30 31 26 27 28 26 27 28 29 30 31
+
+ April May June
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 6 1 2 3
+ 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30
+30
+ July August September
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 1 2
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 3 4 5 6 7 8 9
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 10 11 12 13 14 15 16
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 17 18 19 20 21 22 23
+23 24 25 26 27 28 29 27 28 29 30 31 24 25 26 27 28 29 30
+30 31
+ October November December
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
+29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
+ 31
+
+Julian - Monday-based week
+ 2006
+
+ January February
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 1 32 33 34 35 36
+ 2 3 4 5 6 7 8 37 38 39 40 41 42 43
+ 9 10 11 12 13 14 15 44 45 46 47 48 49 50
+ 16 17 18 19 20 21 22 51 52 53 54 55 56 57
+ 23 24 25 26 27 28 29 58 59
+ 30 31
+ March April
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 60 61 62 63 64 91 92
+ 65 66 67 68 69 70 71 93 94 95 96 97 98 99
+ 72 73 74 75 76 77 78 100 101 102 103 104 105 106
+ 79 80 81 82 83 84 85 107 108 109 110 111 112 113
+ 86 87 88 89 90 114 115 116 117 118 119 120
+
+ May June
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+121 122 123 124 125 126 127 152 153 154 155
+128 129 130 131 132 133 134 156 157 158 159 160 161 162
+135 136 137 138 139 140 141 163 164 165 166 167 168 169
+142 143 144 145 146 147 148 170 171 172 173 174 175 176
+149 150 151 177 178 179 180 181
+
+ July August
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 182 183 213 214 215 216 217 218
+184 185 186 187 188 189 190 219 220 221 222 223 224 225
+191 192 193 194 195 196 197 226 227 228 229 230 231 232
+198 199 200 201 202 203 204 233 234 235 236 237 238 239
+205 206 207 208 209 210 211 240 241 242 243
+212
+ September October
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 244 245 246 274
+247 248 249 250 251 252 253 275 276 277 278 279 280 281
+254 255 256 257 258 259 260 282 283 284 285 286 287 288
+261 262 263 264 265 266 267 289 290 291 292 293 294 295
+268 269 270 271 272 273 296 297 298 299 300 301 302
+ 303 304
+ November December
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 305 306 307 308 309 335 336 337
+310 311 312 313 314 315 316 338 339 340 341 342 343 344
+317 318 319 320 321 322 323 345 346 347 348 349 350 351
+324 325 326 327 328 329 330 352 353 354 355 356 357 358
+331 332 333 334 359 360 361 362 363 364 365
+
+
+Julian - Sunday-based week
+ 2006
+
+ January February
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 2 3 4 5 6 7 32 33 34 35
+ 8 9 10 11 12 13 14 36 37 38 39 40 41 42
+ 15 16 17 18 19 20 21 43 44 45 46 47 48 49
+ 22 23 24 25 26 27 28 50 51 52 53 54 55 56
+ 29 30 31 57 58 59
+
+ March April
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 60 61 62 63 91
+ 64 65 66 67 68 69 70 92 93 94 95 96 97 98
+ 71 72 73 74 75 76 77 99 100 101 102 103 104 105
+ 78 79 80 81 82 83 84 106 107 108 109 110 111 112
+ 85 86 87 88 89 90 113 114 115 116 117 118 119
+ 120
+ May June
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 121 122 123 124 125 126 152 153 154
+127 128 129 130 131 132 133 155 156 157 158 159 160 161
+134 135 136 137 138 139 140 162 163 164 165 166 167 168
+141 142 143 144 145 146 147 169 170 171 172 173 174 175
+148 149 150 151 176 177 178 179 180 181
+
+ July August
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 182 213 214 215 216 217
+183 184 185 186 187 188 189 218 219 220 221 222 223 224
+190 191 192 193 194 195 196 225 226 227 228 229 230 231
+197 198 199 200 201 202 203 232 233 234 235 236 237 238
+204 205 206 207 208 209 210 239 240 241 242 243
+211 212
+ September October
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 244 245 274 275 276 277 278 279 280
+246 247 248 249 250 251 252 281 282 283 284 285 286 287
+253 254 255 256 257 258 259 288 289 290 291 292 293 294
+260 261 262 263 264 265 266 295 296 297 298 299 300 301
+267 268 269 270 271 272 273 302 303 304
+
+ November December
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 305 306 307 308 335 336
+309 310 311 312 313 314 315 337 338 339 340 341 342 343
+316 317 318 319 320 321 322 344 345 346 347 348 349 350
+323 324 325 326 327 328 329 351 352 353 354 355 356 357
+330 331 332 333 334 358 359 360 361 362 363 364
+ 365
+
diff --git a/tests/expected/col/multibyte b/tests/expected/col/multibyte
new file mode 100644
index 0000000..c6d36cc
--- /dev/null
+++ b/tests/expected/col/multibyte
@@ -0,0 +1 @@
+col: Invalid or incomplete multibyte or wide character
diff --git a/tests/expected/colrm/rm2-2 b/tests/expected/colrm/rm2-2
new file mode 100644
index 0000000..bdd45ad
--- /dev/null
+++ b/tests/expected/colrm/rm2-2
@@ -0,0 +1,3 @@
+a b
+c d
+e g
diff --git a/tests/expected/column/fillrow b/tests/expected/column/fillrow
new file mode 100644
index 0000000..07f9952
--- /dev/null
+++ b/tests/expected/column/fillrow
@@ -0,0 +1,4 @@
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5
diff --git a/tests/expected/column/multi-file b/tests/expected/column/multi-file
new file mode 100644
index 0000000..c0ee32d
--- /dev/null
+++ b/tests/expected/column/multi-file
@@ -0,0 +1,10 @@
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
+0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
diff --git a/tests/expected/column/separator_table b/tests/expected/column/separator_table
new file mode 100644
index 0000000..bf974c3
--- /dev/null
+++ b/tests/expected/column/separator_table
@@ -0,0 +1,10 @@
+0 1 3 4 5
+0 1 3 4 5
+0 1 3 4 5
+0 1 3 4 5
+0 1 3 4 5
+0 1 3 4 5
+0 1 3 4 5
+0 1 3 4 5
+0 1 3 4 5
+0 1 3 4 5
diff --git a/tests/expected/cramfs/doubles b/tests/expected/cramfs/doubles
new file mode 100644
index 0000000..5641c66
--- /dev/null
+++ b/tests/expected/cramfs/doubles
@@ -0,0 +1,3 @@
+create mountpoint dir
+create cramfs image
+umount the image
diff --git a/tests/expected/cramfs/fsck-endianness b/tests/expected/cramfs/fsck-endianness
new file mode 100644
index 0000000..a7591b6
--- /dev/null
+++ b/tests/expected/cramfs/fsck-endianness
@@ -0,0 +1,8 @@
+extract from little endian
+little
+create big endian
+bc0b7bbef02765d32e07faa735d2e0c6
+extract from big endian
+big
+create little endian
+4666f0d2b661f9f3962877edabadb210
diff --git a/tests/expected/cramfs/mkfs b/tests/expected/cramfs/mkfs
new file mode 100644
index 0000000..9e62f6e
--- /dev/null
+++ b/tests/expected/cramfs/mkfs
@@ -0,0 +1,4125 @@
+create mountpoint dir
+generate data
+list checksums from original data
+0011a72f38da668f94edfa1d50743e2a ./dir-009/data.009
+0071beb4baa599141a7e446334d58300 ./dir-097/data.001
+00873c875f3461fb9f5baa9a039f218f ./dir-093/data.002
+0120fb81269598438e84f3fe10b24658 ./dir-100/data.010
+013b8ae5c4b011b87b142e5d60645f98 ./dir-020/data.010
+0167791462ffcaba8c221426c25cf455 ./dir-092/data.000
+01936c37169cc786cdc724abbf1961e3 ./dir-094/data.003
+01e5a8bee864f99bcfde91b2f501fa56 ./dir-062/data.004
+024b1d4cb93660f125e6f4783e26972c ./dir-072/data.003
+029c1199d16bc8da2afd2fe1c47b6859 ./dir-077/data.001
+02a1c0a82771c59236eb9f337dd0b4da ./dir-073/data.000
+032cdb1ac223adf9ed45278e64f265f0 ./dir-083/data.007
+03655d081ce567a4d5fc8e0c3dc59e3a ./dir-085/data.006
+0397e01cf6805728256fa9272ab672c4 ./dir-062/data.003
+03a58cec58f7b74c0d8803e5a05da20d ./dir-107/data.004
+03b3b16547b25e9484c516f5e88e5c75 ./dir-089/data.006
+03b4ed70f96d5c693bcf7f5a479ecd9f ./dir-014/data.007
+03d8a4ac5add5a95f3d9cac8f847c8e7 ./dir-023/data.000
+03de2f0958a76e9d01389b919c69ec96 ./dir-079/data.004
+043fa6cba08946ad508ca890a42f0644 ./dir-005/data.004
+04beac49e6d1f1f9067da249f8953fe9 ./dir-041/data.002
+04bf36721c9da55b2fd6780a5a6dcef0 ./dir-012/data.009
+052ac7ff047928a4f1c0d8bf38320483 ./dir-000/data.003
+053b15396096c2751d9e32b186bf0948 ./dir-035/data.005
+058879e070d51c1e2487d481f9c43b78 ./dir-071/data.007
+05bd438d7a151ebec24cceffb792c3bb ./dir-104/data.009
+05bd9b692ef2ff2c3e2e22a582bfc25c ./dir-021/data.006
+06492dee50157f379eabbe811bcb5ac7 ./dir-073/data.009
+068c724e76dba0c887c5323de7b7a434 ./dir-021/data.004
+069379abfd9f26e203c53923443e58a4 ./dir-094/data.006
+06c36f5db0c02127dbbca75c5d7c130c ./dir-104/data.006
+06d219d83d0d2142e9f7a06372e82f81 ./dir-110/data.010
+06df718f885fd71f2568940b616528c3 ./dir-059/data.001
+070178230ea47e90d00f9a6fa1975fd2 ./dir-079/data.005
+072c1d1755a4af7855dfea3c68cf270a ./dir-065/data.008
+07cd767ef24d4ec057ab98d0b4b388a9 ./dir-091/data.002
+081029b7d8bb27f6c4f79a2e4ba67d85 ./dir-070/data.005
+08268088254256c25894c6d76902cd61 ./dir-037/data.007
+0829c20c81113eec0759e5fdd74b1d3e ./dir-056/data.005
+08310ad78cbd3d6ee1864e5c145248d9 ./dir-103/data.001
+08478c7a523a8725107ad804a7dcda1e ./dir-096/data.003
+08763d238e02d7ab57d762b58038e38c ./dir-054/data.000
+08f96bf68eea8b82bce1a5c1565075be ./dir-060/data.003
+090ed88036a9618e4c44858db399793d ./dir-044/data.008
+092baa8d2659ed94803e652be4c8afe4 ./dir-099/data.009
+093d2d4597015cae42df7d3e2e3bf802 ./dir-062/data.009
+096b7a4f67a561fa2933bbefba032c67 ./dir-025/data.010
+099bf4107ae009497abf52d6d08f5b36 ./dir-013/data.006
+09b4f5a2b49ceba752a604297ab60635 ./dir-049/data.006
+09ca2509b418b5721188ea044ef6b4c2 ./dir-062/data.005
+09d6a844a0f194f884c8bfa6ed830a0e ./dir-106/data.007
+09d9867f561d35d2de37d9ae29400ee0 ./dir-084/data.001
+0a4f9161096ecf8ff8397cffcd9bf2c7 ./dir-000/data.002
+0a54f2a8347cad7e806cd0280b617463 ./dir-017/data.005
+0ada042828a700ad2489a23473d8e90e ./dir-003/data.004
+0afd3b49f16d29ebbc6f479a39ce7bfa ./dir-037/data.003
+0b0fb72f03db99cc722d4aaf2a98e5b6 ./dir-010/data.005
+0b508b5021efe48abeafb59bce6a3f6d ./dir-094/data.009
+0b938f0fe7bbb651b1d25f7763ae6d52 ./dir-052/data.004
+0b99746f048b6e421a452e930253bb15 ./dir-056/data.008
+0baaaee1ecaeb5f9cf8b7567afd4ef89 ./dir-026/data.001
+0bbccf04109b26f8d4f1cccb00f727e9 ./dir-053/data.004
+0c1e3c869b0adaa7ce93879a151776df ./dir-001/data.006
+0c8211ef42d75892c707f022e2a7d452 ./dir-043/data.004
+0c9298aefe72004d34643eddef8f4f1f ./dir-109/data.007
+0cfcc152235ac2f1569c390084b6d442 ./dir-012/data.006
+0d13557f56667831a853d422f40cb88d ./dir-014/data.006
+0d3cd9b22b91391d17c30e79fc892a62 ./dir-062/data.008
+0da117532cade43a9b42b681dbb4d97b ./dir-047/data.000
+0db8aea5ecef040742e4d9b3baa76dd6 ./dir-030/data.001
+0dbac1d697cc77685e1fb884916c1ae5 ./dir-026/data.004
+0dbded4d22453c74ed8ca876c759c1d0 ./dir-025/data.006
+0dc89ad916055c7321ad89e135d5b565 ./dir-051/data.006
+0dcc1bb5b8c671fa906a4c027f781149 ./dir-002/data.008
+0def9e49d46f81887afd6004ba27966e ./dir-017/data.003
+0e12577e454a44866f54f99738637d3e ./dir-059/data.004
+0e20a7189f0a9d2435f3bca1c3a6111b ./dir-053/data.003
+0e387d4e1d2669edd5527676dc5aec88 ./dir-092/data.001
+0e4d615c2aafda7ca9e24ce5c4637047 ./dir-046/data.006
+0e64c356b46f76923195fd49d452cda9 ./dir-092/data.004
+0e8d99a3b34733488d4d0e91837ae625 ./dir-010/data.003
+0e93cb8206b3d92c6b377f5f0ae6c3ca ./dir-101/data.008
+0f048b9bda6f694d90e961a5f83ae200 ./dir-039/data.009
+0f5cdc65ef8473f32533e3f56dca2ea4 ./dir-039/data.010
+0f99dffbb780bf4ac5381f2f14782a6e ./dir-041/data.000
+1029e912f6ecc9305585e8333d71602c ./dir-101/data.004
+103b8e299b6ed5b47d5eb6af7d04d85f ./dir-001/data.008
+10417903b3128497ffae512e9413d2bb ./dir-069/data.000
+108c615627e3a2874ffcd0c7daf93fab ./dir-049/data.002
+10e6e1097c9a4c17aeb211a2920e872a ./dir-080/data.010
+10fb5da04134c663b0554af084e2a7ec ./dir-095/data.000
+114f6bc0fcd87635a6bf304008e9b5c4 ./dir-093/data.000
+1151ae62db155a01571d7c79ee9307d3 ./dir-002/data.010
+11b3dec2bff965af6b36670dfd7ae573 ./dir-056/data.001
+11e361b75dffbe0ed09cda638d87e2cd ./dir-047/data.007
+11e9c06c0d7c355f1bb0bf8ad3376acb ./dir-083/data.001
+11fb59cb3557081ed7219666b74374b4 ./dir-004/data.005
+1251803d9b31ceb1ee2900a8407c762f ./dir-018/data.004
+125f71c5016e92b3659070ed04f58be6 ./dir-060/data.007
+12aa5d0dac0eb51e7d22b88246282f03 ./dir-093/data.006
+12cfb3af86b7cc141a3fe9a6268726a5 ./dir-024/data.005
+132af7005255cc4b038ad9021eca3840 ./dir-066/data.005
+13c8eb071c8e8bd68421d37f925601e4 ./dir-016/data.000
+13dd14e55cda92def6f11db482434a00 ./dir-022/data.008
+13f67366ee5c8adb40e80d3a5cd17fb7 ./dir-066/data.001
+13fb236e5f27b789fc31f1cf5b1b8892 ./dir-015/data.003
+14506c18804debcebf27a377aa04eaa6 ./dir-087/data.007
+14528bfaa0a1aca63cbc80acab96f800 ./dir-051/data.008
+148cf5c5feb722092441ec87b7a5611a ./dir-025/data.007
+149b7674a92796bec7f6066bbdef9a3c ./dir-027/data.007
+14da08b2d85bfc81c0b0b92817989791 ./dir-033/data.002
+1500a4c5054d87dd61c392f33868da4b ./dir-038/data.010
+15987cb3da62f45c7aee7a0ab9518206 ./dir-089/data.001
+15c05327f337c7d7414d472fa770ec3c ./dir-038/data.003
+15ccd5a312eb772c85a44a63099322af ./dir-045/data.005
+15f30a3264c0f8c57e6d7497a4064fed ./dir-100/data.003
+16156718becebf0f975136dca6c6ae56 ./dir-042/data.005
+1624d2a4ead61cb3c8e25c21794ea679 ./dir-106/data.006
+168b97bda8aa6f795d8f7272194d1d5a ./dir-020/data.006
+168f7eb82dd7eb78c4a5221d2e581dde ./dir-065/data.002
+16cf8c6acd3cd1ca2fc4bfc9b543982a ./dir-007/data.009
+1714933b11a4a8e600057565866ec423 ./dir-080/data.009
+1745656f9601fbd5163144500eda6568 ./dir-057/data.004
+179353ce148c37425d766ea5b43dc32b ./dir-023/data.007
+17f7787457e5fd1a8601dd2375eea777 ./dir-036/data.003
+1815c6317528cafd2a1e61429d29e1cf ./dir-008/data.003
+1836fd39b05d94a860d727f972a18729 ./dir-029/data.007
+186992572e97dc0a3688b2202c066a70 ./dir-066/data.008
+18b4a437d81acf594cc1482031987f61 ./dir-058/data.009
+18d978c6f54b50bacc51b5be2a6ba6de ./dir-051/data.002
+18edf33da2c7e85b6a2d54b04f79665e ./dir-093/data.009
+1947681ebdb65cfc6a48556ea9d923d9 ./dir-023/data.005
+1969ecd225b9d6fa4029bf673dbea4de ./dir-036/data.007
+19a34f8c9016cea8d58f02b816d4475d ./dir-065/data.003
+19c3f7ba63f64cd6e84d28e974834101 ./dir-012/data.002
+1a35e19c6fab4fa1d818e6efb79a7b18 ./dir-052/data.003
+1a92fd5a4821e924461429577491407d ./dir-002/data.001
+1a973f2c00d0090607a05d608b81897f ./dir-088/data.005
+1acdab480c52a454ba5552c29516d933 ./dir-073/data.006
+1ad17c4603609a36a704914e6f91d1e6 ./dir-034/data.002
+1b1ddfb88f0cf37d96a44edeb26629f9 ./dir-043/data.010
+1bb53747be6ad8a3e7da57c60ae54bf4 ./dir-047/data.010
+1bbb6b1ea7806b92e431aa481ba53256 ./dir-059/data.009
+1befcc0040c6a3b7e936a89b7dcc8d1f ./dir-054/data.003
+1bf3d96c63f0825a0238b3c711b2add1 ./dir-104/data.004
+1bfe6367c46e50e34f9f68debe2fd9e5 ./dir-062/data.002
+1c05f31466a6b05f1d73120760421b07 ./dir-017/data.002
+1c100fa4a99a635b39826fbf32a185ea ./dir-046/data.000
+1c4070f6f2506a5d59dac63579db5c5f ./dir-009/data.010
+1d286ac5a7f4477b07cbf2b8fa608f31 ./dir-022/data.007
+1d842f952850ecb07b9f8ab59cdbbdfc ./dir-074/data.009
+1dabe77be130077a1e2de7b1b243638f ./dir-108/data.001
+1e4b90e70c5531193b82cc3b615853a3 ./dir-083/data.010
+1e4b99c0c6c97cbe59c01b6b81cdd55a ./dir-000/data.004
+1e6fd4ee4737ee447ade2165104f4dc3 ./dir-044/data.001
+1e82a5e977e75d6ff12ba4e4b8121994 ./dir-025/data.001
+1f0a7ad9330818153e6d13705389f506 ./dir-098/data.004
+1faa10ff54c51e9e6a691d2020b28180 ./dir-013/data.009
+1fbafd0531f5dbf3e84a85c3afef7159 ./dir-091/data.004
+201882708185fd15ab164826e7e4ab3b ./dir-007/data.005
+2028e25ee7ea2410b05c96e2531999af ./dir-008/data.009
+204f64ca934489c9c321b7716abe6137 ./dir-013/data.010
+209ca1185749f5f760f3c2b1eeabcf94 ./dir-080/data.007
+2104bfa0d5cc81662f0f251dc88ed1f0 ./dir-002/data.007
+213356c6e050aa1f44fdb67554d9987d ./dir-100/data.006
+21ce95875b349ac8c4a5661ec7fb1c5a ./dir-108/data.009
+225117899bdd50b6fd754fac468523e6 ./dir-046/data.004
+22c7c4d61b254e67bfb62292f6813300 ./dir-006/data.009
+2305cdd515ea03e0e3d9dd7893c48e5e ./dir-093/data.007
+2343947bcb2aca5a583434e20b9afe83 ./dir-031/data.001
+237c5d3b7a556670a119b6bedf4a7a44 ./dir-064/data.005
+23887fc97d5de846dbb9b26fe48560e2 ./dir-105/data.003
+23e98c99c14dc74bf33f40f8438d5947 ./dir-035/data.002
+23f2dcf6bb0454fd2058442ab6c92b32 ./dir-059/data.008
+23facd50784b91efe2e5e81678bf04bb ./dir-069/data.006
+242be68b3720e5868e7f7652da5af043 ./dir-006/data.001
+24a863973f8ef674b357e1189b40de69 ./dir-060/data.000
+24c9f4371c9367eb54479198db061748 ./dir-070/data.010
+2537510cef5e66126ab4a5f2038de98b ./dir-011/data.004
+253e7dc0307e545fb44fb5e621883895 ./dir-002/data.000
+257394c9dca3db7e737ffa1d0419317d ./dir-074/data.000
+2585dcfae46bc4c444f34416e48da371 ./dir-050/data.009
+2595c5d5f15648f5b784cc327a0b9480 ./dir-077/data.010
+25d83de09d075036c37f4fa4084e81f3 ./dir-066/data.006
+25dabb63db7e69e49a20078e3f1c7398 ./dir-103/data.004
+265905e58360d4ee4cabe7fa24eb49bc ./dir-086/data.007
+269bc4b7f4d16c66907d450356661b6e ./dir-088/data.008
+26b6a74e3dabfd3c9a465f7053387f19 ./dir-013/data.000
+26b71d2a0e43c9837d567662bf9c7a01 ./dir-036/data.006
+26ba9e7bf1ffa275602ac235642aec22 ./dir-063/data.006
+270c63b19d9b4c9866df1a7a9d964ba3 ./dir-058/data.001
+2747d5dfdbd4f5ce76642911fd1cd7ba ./dir-037/data.006
+275719a7d2e10fd0cc0dbd406a5dd284 ./dir-030/data.003
+27974aa4801a7c3af842899272b9f6d5 ./dir-032/data.002
+27a1a827d803996650be7554790209bb ./dir-098/data.010
+283c9f8d3dc59cff4850ca6d976545d0 ./dir-010/data.010
+28503c859c89b5d9953f5bf084b44409 ./dir-096/data.006
+28ba83018c7f8d79a4bfb2aa94ecf777 ./dir-107/data.007
+28f2c7408277657e4c2c5b2e8017bcaf ./dir-088/data.006
+290616007d76bbe05a61c73693a9b070 ./dir-001/data.010
+29092e94be3e74a246c24383f920753f ./dir-035/data.006
+2957ae96634044a42bbc4bb0707cd202 ./dir-067/data.006
+2a11d7eceb35d8ff8248f0ec67a4ee55 ./dir-004/data.002
+2a39f7493e5646a38e9f71eb202dbc2d ./dir-029/data.005
+2a4b4ff47d7ab9711757637f480c0586 ./dir-096/data.004
+2a5a748d65991f63f6da39a97a22ccfd ./dir-108/data.000
+2a8860739f9d2dbda65e4d852e0fd309 ./dir-076/data.001
+2a8d705b90b82af455acfa7d9c0fc3c9 ./dir-069/data.009
+2ace4b0d8ef122bd918e8d538714ee73 ./dir-084/data.002
+2b08c2f1783f865051369bf41b47f960 ./dir-023/data.003
+2b31b68d17ec63b0e1a50176c49030e4 ./dir-076/data.007
+2b360e9c50225e1ebf8bf95fc0939e2f ./dir-006/data.005
+2b545e6e6ca3b6638b618c34aaefdbf2 ./dir-100/data.001
+2b5d18108e0309354b4f80b185e2323a ./dir-057/data.010
+2b82448e6fccac3441d9f7d7a13074d4 ./dir-031/data.007
+2bcc2819a288ee4ec2c9c00c585f67d9 ./dir-027/data.001
+2cbc9b3922e5d75a8c4e575e53065f2f ./dir-109/data.000
+2ce7c9d5e1a4aed1e9dec1aa85021f4c ./dir-010/data.006
+2cf7c6e038d3744275d8ffb8b4ab52d0 ./dir-096/data.001
+2d0494a350a570bf86596eb5dcd3e575 ./dir-059/data.007
+2d1cae3d5151bebe12ae7d97d9efb92d ./dir-008/data.004
+2d27ec0d318cf56d8ecc226a972db677 ./dir-027/data.002
+2d392a7b3dcfa6ee1399de9416a41b60 ./dir-083/data.005
+2d4433b6e32bda8e563f042fb799e86d ./dir-110/data.002
+2d70c129d857d22a8266c2e5f3ee4563 ./dir-048/data.001
+2d76b9784bbb68c670aeae134f1c6c32 ./dir-095/data.001
+2dbef0445d1b450b88b9e5817741f295 ./dir-072/data.002
+2dc184e8ece7744de9912d4671f2f116 ./dir-044/data.009
+2df5877dff7f77e48aa45bb96de9f362 ./dir-071/data.010
+2e03f7b258d00c0c5ff10425a701b457 ./dir-082/data.010
+2e0bf9030092dd77ed44cd7a25497496 ./dir-072/data.006
+2e0ee79666904e3629c801f2e39eeef4 ./dir-009/data.001
+2e43ada234775adb77188a840eee1525 ./dir-020/data.009
+2e648a138f04daba3ec30d9ee8502a03 ./dir-028/data.002
+2e90cd54f80352ec7d03fa98737245b5 ./dir-034/data.009
+2f253cb5c065c90cbc5d6667413862a8 ./dir-066/data.009
+2f51608cd1c0aed64f2b0b65fa1020c3 ./dir-025/data.009
+2f8d68bc8ec1c5db8ce2f70c87f91e68 ./dir-067/data.003
+2fa01a6b14ea91c02460c0beb70f69c7 ./dir-003/data.005
+2fd76fadb124c701e852763131480457 ./dir-009/data.007
+301e96925429a577cffd3805c2b6781e ./dir-060/data.005
+304d034c10c3f2e8659b25049028dd60 ./dir-104/data.003
+305eb027ab22375e29f6ce544fbd07bc ./dir-063/data.002
+30a44eacd0af674f1725fda3b7448f4d ./dir-101/data.009
+31179c50bc1553cce235c9aa625c16ae ./dir-105/data.010
+313fdb8585c16ffdeb009c0d3256a3b1 ./dir-078/data.000
+3169cdf524ba2005644d09ce2d72d694 ./dir-100/data.000
+31c5b7365750ca7fbf789c4ca325018d ./dir-107/data.009
+32928650dc72f8810007effa8db00119 ./dir-035/data.008
+32af92e23e453c72417acf56d3ab6fde ./dir-033/data.007
+32cf1dfcb9bd72353f46993006cb2d0c ./dir-003/data.007
+32e3f72b1fca5ac3176e8dbe110e757a ./dir-104/data.005
+3398bf733d4d26a7a8304740381a8333 ./dir-036/data.008
+33e82dbebbf710a1b203655510443ff1 ./dir-037/data.009
+33fc502a0d0616f76551446ef1965c30 ./dir-065/data.005
+3481e8b218141e6e6dc9b75296508b15 ./dir-033/data.004
+34a1997ca886d7c13ba4936f4c8e0daa ./dir-019/data.005
+34c9936c46a847152125e583839c12c6 ./dir-043/data.003
+34f102b63e5308964e2f9725caf6ec2c ./dir-088/data.000
+34f1627786d8d7715842af2bcbc92dd8 ./dir-022/data.000
+357671e20f590900a3869bc29dbee1fd ./dir-051/data.009
+35d3a1bd5dd1a3f7d0b50fb2c5406645 ./dir-039/data.003
+35ecc0144bca35f519985aaa15be26cb ./dir-106/data.004
+35ffbe6e62da5b0ae9c06363600b0715 ./dir-049/data.000
+3603dd8c1f2346ed0770aa548513eb34 ./dir-024/data.002
+361b845aa30dbd442cf2f0b87ad4741a ./dir-055/data.002
+361fd9b6648f95ff7eec8d717d179bc0 ./dir-089/data.008
+36270a415097865dba68478f69628db1 ./dir-003/data.006
+3653a989b9764b2fd530324a98ec8218 ./dir-067/data.004
+36551af77706ae56dc228c1151caa7a6 ./dir-062/data.000
+36b55f77570d1b46380d6018f52661e7 ./dir-109/data.004
+36d68b9cfc51aacce08065d37eb500c6 ./dir-102/data.003
+36fc31babad89ef26acd0337a79286d3 ./dir-049/data.004
+3704c5fd6a446d530bcca18004f2b31d ./dir-081/data.008
+3707760798d4e50da70bae0e8d2c4c28 ./dir-095/data.010
+371719fe5cd052be2a63c6444ec77413 ./dir-044/data.002
+37594be41d8293c0351865a708e2af05 ./dir-063/data.007
+3790a2bce420a800ff76ddc55d4c0d0b ./dir-086/data.001
+37d9e0f2d9a39dbd9fb06c4dbc1d932e ./dir-065/data.000
+38131b5fcb1ba7f74bc3fb89091d67fc ./dir-104/data.001
+382085df5f142fde02b492569b27f7d3 ./dir-078/data.001
+38307eabf1109b786760384dbe7013a2 ./dir-074/data.010
+383aec3d236bde3134bbb811487594ae ./dir-071/data.006
+386bd313b7144bdb7121d9d3cffd8019 ./dir-095/data.002
+38837c036576ad2afb1382e10d229658 ./dir-109/data.001
+38993a904f2d37087a5c4ed413d331d4 ./dir-081/data.007
+38d82c4bbcd2def41636f02151bf5319 ./dir-084/data.004
+392ccf5865fdf0dcfa599034934e4fcf ./dir-072/data.009
+392d6c23d5b6a58ba4553cfef5245191 ./dir-109/data.009
+3973246571d48f5fbe9ddc337ca2c8c9 ./dir-017/data.001
+39de945a763bd83bde787879294c9b49 ./dir-005/data.002
+3a4f397262e2b830fbaffed4d03b37e9 ./dir-016/data.002
+3a8363fc39e4211afe3ede5688f94705 ./dir-077/data.004
+3a897a684dd2b32b4fcc2275988fd080 ./dir-018/data.008
+3a94ca85ac994f47e8010011fc5c9582 ./dir-000/data.006
+3af8ed9c599b06ff2d99fe5563380c30 ./dir-103/data.003
+3b1922fb43fb222b573a9f44bb805e0d ./dir-029/data.009
+3b72b8b4984cd51e67ed03f59da716b0 ./dir-023/data.004
+3b8a656973178c5815451d8c64fa1d21 ./dir-009/data.002
+3ba72c45fd0177d48f6a7a5121fab5a5 ./dir-003/data.001
+3bebd9b6fa4aeb9772ca238fb88ddcf4 ./dir-073/data.010
+3c99ce08823c1c1b24e1c77574cb7bdd ./dir-075/data.005
+3ca50a374e0c46ccc35caba06244a592 ./dir-073/data.004
+3ce0c739083cc21ae6f19eb377258fb3 ./dir-097/data.006
+3cea42052a833a1c65ab6d3de7db95ff ./dir-044/data.005
+3d05c1ebb7adbd72eae064b2b16ed5bd ./dir-015/data.008
+3d362d4af7ac442b0be8a6e1eaed1222 ./dir-058/data.003
+3d3fa69ef78ff4eec72c4a7d62d44320 ./dir-057/data.001
+3da10311ab35b313bcea0b3dcd3ec320 ./dir-085/data.007
+3da5bfc1f121da4a35c5c1a26bdf2871 ./dir-080/data.006
+3dfd203b61606012e3fe4d794026de45 ./dir-060/data.008
+3eb835385bbaa4c12dc66ad5a5787ac3 ./dir-110/data.003
+3ebf14bea5f774ed68dc3aaecfd4c7a7 ./dir-086/data.006
+3ecabfe3d7e0f39d1b77feb30bb2149a ./dir-108/data.006
+4017217c1fc3620f00a63bf7451d7d58 ./dir-011/data.005
+40565e6e9eaeba9538e068d7fc212025 ./dir-030/data.007
+409803908e1249d811421fdf5e7221aa ./dir-011/data.006
+409f1a5df32b48cc615b80f895333125 ./dir-070/data.006
+40da236dcfb37628a7383f110a34ca91 ./dir-018/data.003
+411bceae3a164955533dbad618dcdb19 ./dir-042/data.000
+4129b05173c9dc800c811c1c6ab554f5 ./dir-046/data.008
+412efdab02674ab591ee02c1e5f31d0f ./dir-102/data.005
+41315d3d575108a52e0fc5b07c503177 ./dir-034/data.001
+4141aa05325ffb5c530391d899cd2bcc ./dir-099/data.003
+4174e6169d645307ca8675205d40c853 ./dir-004/data.009
+41bcffb4e71780db8fed9818124e5b6c ./dir-063/data.003
+41ce67b35ee64b9e86c13efcfdd26ce3 ./dir-050/data.010
+434b0fa579b255430214de352151d112 ./dir-041/data.008
+434b26f00c175f276a54105171251d52 ./dir-106/data.005
+435ca233503eefbac946d3ca654f9cc0 ./dir-072/data.010
+437ba3bb8dbb675b158dae0f59d6a445 ./dir-061/data.010
+43c49573357ed53dcc2e364ce112b62d ./dir-061/data.005
+4404b6e4f59a841fe9a3ae2e41c4c488 ./dir-071/data.000
+4426aa424dd25ce972b63b5c47b9530f ./dir-090/data.006
+4448d6c8b60d7a4b08b534ac1059d668 ./dir-089/data.002
+4472ba00b77a4dce904589c457b1bc97 ./dir-106/data.001
+44861e8e164ea51709c069fa286134c6 ./dir-056/data.002
+44961468f08ee80c619adf0154e96a9f ./dir-101/data.010
+44b702805a58f14493bae3c2f2716dc7 ./dir-088/data.007
+44c7d952d5b9528c1263ed11b5dc2ae5 ./dir-012/data.000
+44c825fbf1d23fcabf45e42e395423cd ./dir-085/data.008
+44e3ec8f10255d109773f3204a5020e9 ./dir-022/data.006
+45034f1052987e5d9e2d4bc0f463ec7a ./dir-025/data.004
+451ee4f9e926765a2c07f89b1a2fe078 ./dir-000/data.007
+452b4b43200d2ece30016ae96415718a ./dir-084/data.009
+4535f5d99abee30fe2e0d67098dabc62 ./dir-098/data.000
+45622ac4ee28752eb56eaccfb5462c50 ./dir-016/data.010
+459ba24d0e03a81f8f6ed35700f46460 ./dir-101/data.002
+45af2dca2eebc714cd0ad63f77ceaaa6 ./dir-040/data.008
+45be06fe6e509b43b6f68c52835d54b8 ./dir-016/data.003
+45c250d9570716010f4161f1bff5e450 ./dir-026/data.005
+45ed7a5a54578d5985153ff70330c228 ./dir-011/data.008
+45fe9fcae165a9d88afa27fc3c933406 ./dir-095/data.008
+461b0786590556a5729e1e23512db49e ./dir-037/data.005
+4647cb2043f623bae8860e7e8b58834a ./dir-013/data.008
+468171cdd32b0e94c96a9be1f298738a ./dir-044/data.000
+4690dd33ffa2329e5bc456ca24ec7f72 ./dir-031/data.009
+46f75198e440d8dfb43207eb4965c2c6 ./dir-028/data.006
+4710eacd6b6df6fc6ac2da5ebca94546 ./dir-003/data.009
+472cf0ecd1b1691bfaa8d5fb86c21366 ./dir-075/data.002
+47344f3f3f3a806ff636267eb39369e0 ./dir-082/data.006
+47d6c7304f9210ee16dc2dc5fc2a95ed ./dir-048/data.005
+4829f629b1e545f4cf68f50e9f5e6209 ./dir-022/data.005
+484a291638f8224eb40442351f3e7f41 ./dir-054/data.006
+48e42891bf2fe053538884127b0a50ce ./dir-021/data.001
+49077e5943a100b6771a44be07704a4b ./dir-010/data.001
+493e84baf6c02b38324071c87f0afb4c ./dir-024/data.003
+49a02c341e5de4bfd938ea0326ddd811 ./dir-096/data.009
+49b11279f83f22ff537134bbcc84ff92 ./dir-099/data.002
+49d6ab85b50ab5386f8282a7b98a2083 ./dir-026/data.002
+4a1113a862eec6fc1a29a75a985f02ca ./dir-044/data.007
+4a209585e44265cb0f363756602fca0c ./dir-027/data.010
+4a3a6543fefb560f2383615d905a6a96 ./dir-053/data.007
+4a4c1cc3c778ca8a5ece35295591c423 ./dir-089/data.010
+4a8a0e0c68ee95b541bcf37ceb6fca38 ./dir-032/data.000
+4b7be12f2afafa942663af88a2a34797 ./dir-107/data.002
+4bdf8bf31569a06880b85e176703d3c5 ./dir-038/data.009
+4bf489ff656fef7ba0f643ce64f3abc0 ./dir-038/data.008
+4c010f92cfd01db492b981f234a68437 ./dir-015/data.009
+4c7badffa374dc118c81ff0d04f316b4 ./dir-032/data.007
+4c8f651cae18db445c8bb03efaf57622 ./dir-055/data.006
+4cb4c1f1d3bbf4fda768b972661567fa ./dir-033/data.001
+4cbc6cc296c87027ed9695c018ab5307 ./dir-068/data.004
+4d064d4959a79abc8e3d073675d6c001 ./dir-002/data.009
+4d0e137ae9bd6e011cc974daf47e514f ./dir-020/data.007
+4dfae4a9ef4e894b3cd8209a4ae78bce ./dir-068/data.006
+4e0f932047dc3244c2fe215002ea8ad2 ./dir-099/data.000
+4e26ef37e9c5b6925ad2938e9b5d68f1 ./dir-043/data.006
+4e41ff62e105358125e0b0330a042fdc ./dir-001/data.007
+4e45a4b7ccbd79003283b6e47d69327c ./dir-093/data.004
+4e548f34d5bbeb56fa7eb58cb4222837 ./dir-098/data.009
+4eb2096e115b6e2e7639881ce734ca09 ./dir-012/data.008
+4ec96ab3466c9011cd1555abe6992acf ./dir-029/data.002
+4ec9bd108f0df0b186f0777b60dbe941 ./dir-011/data.003
+4ed5125c06e4188a8e73369cec758b9d ./dir-028/data.001
+4ed6c21f5b75c31336cc7873e795ea4d ./dir-063/data.000
+4f14cfa2698af420ae1ae5e40ce45a5e ./dir-033/data.003
+4f3ff759eb10d55898f3b189c6b8c80d ./dir-000/data.009
+4f66d35fac82aa35322ad3cc5b6905db ./dir-001/data.000
+4f898916010eb8aadb72e455d5b821a5 ./dir-051/data.000
+5026fd8e09c8daef0a1da96a28833150 ./dir-081/data.005
+50389a4e73a9a472b5a5c4a8910d7e96 ./dir-011/data.000
+503b514c984dae8ff69f8bfefa824fb9 ./dir-016/data.001
+5048be8c2e8e765ddb63c3b371852b72 ./dir-053/data.002
+5067419869faec43f85c8c327c3d378d ./dir-008/data.000
+50725a5941d26b2947677bfe0c7761fe ./dir-066/data.010
+50771c76a8213245be499adf1d4311d3 ./dir-100/data.004
+5118ac53d3c7b31072833f966efa7e9f ./dir-064/data.006
+5144c4da0e2a374d95ff48a34c3297c9 ./dir-092/data.002
+514b076e0f0511f216379950f2714f90 ./dir-024/data.004
+515ee463937cf2a3ff157b7891f96eb6 ./dir-052/data.009
+516264e6cd37058c67a6791d59482dda ./dir-080/data.005
+51632cb7f44f5bac30f5d6f4a9edec79 ./dir-097/data.009
+516e6bbb96f69262d57f3a660bc801b2 ./dir-090/data.003
+51ce73b1230c06d1539e6de542b63006 ./dir-007/data.006
+51dbe24d360ca38feac1b436754f9b4d ./dir-089/data.007
+51eaedbaf33988a48e6af65a5b117d38 ./dir-016/data.005
+521dd773fc4171de150b5f8995a88d21 ./dir-009/data.006
+52693bd5407a2471cf5156afefdaf888 ./dir-027/data.006
+52731e0ad3028c530bb4802a4754c408 ./dir-008/data.001
+52ddff97b316a494f4737e0614850f57 ./dir-069/data.002
+5301844c968d05257f1e6531e8ce0d54 ./dir-003/data.008
+53763fd0a894b8e121c281cee01f9402 ./dir-068/data.005
+53d4507a2df8d22076d81da5c0100ebc ./dir-008/data.002
+53f5cc09d57af60fe72559eca2f1a603 ./dir-011/data.007
+546662c6282b5d422413f53037df0d54 ./dir-073/data.001
+5482b2507dc94c8edde840b619b34944 ./dir-081/data.002
+54a6b5192a4fb2d1f2b26866d13c05c2 ./dir-088/data.010
+54c3a5328276de092919bf966e9dd7ad ./dir-066/data.003
+54e78419ba7cf291e26f1160bcd09469 ./dir-028/data.007
+55241d2474b0bee70f50e7629fba3a10 ./dir-070/data.007
+553e65cb3ee0a9a5572826ff4401487c ./dir-054/data.002
+55adf518280a54532de6c33c258a8e6c ./dir-080/data.008
+55b8d57f3beec6a8075221f08752ff42 ./dir-102/data.004
+55c76bdb82f8fa4e0d22f9e41ad3ad0a ./dir-075/data.001
+55c8d13f682a62306c8d29746bd7e6fa ./dir-026/data.009
+55d59fcb49c07ef165b3108621f08ab0 ./dir-071/data.001
+55d66d74201a3a3e5b2d53f9fbb52bbc ./dir-019/data.009
+55d891ada51edc5dec3837cba7c5f2fa ./dir-041/data.006
+55de7aed4c69e32378352e6dd9a3e5ce ./dir-057/data.008
+569f645920cb1a54093de547cd92f337 ./dir-085/data.003
+56ef2f747789aa2ab1ef6c7947b50ed4 ./dir-067/data.000
+571ada4c832aa9ed66403352b06a07df ./dir-016/data.006
+574ce2273f4e17cd6739a1772d43fb67 ./dir-090/data.001
+587e740432de54932b49f4b0b1a9d8cd ./dir-067/data.008
+59226032ef2efb991fffc5d2d2a67dd0 ./dir-098/data.006
+592e2927e0468af2a86bb10e2a5cbffc ./dir-068/data.007
+594f1a21b98ca4a8b8981164f46edd0a ./dir-023/data.006
+59a3f6ffb6432a768ffcfc390ba0d5e4 ./dir-005/data.007
+59a5751a44478789aa08853a7fbcb4fc ./dir-035/data.004
+5a034a2cdb1b397b435c7119a725e622 ./dir-108/data.003
+5aabd813ce725146f47bc73d9449b50e ./dir-107/data.005
+5ac445c2b46c50497deb1e2df3987646 ./dir-065/data.006
+5b62c14d607c393885cd0a77b445a0e3 ./dir-014/data.008
+5b8b4050492565d8661a4431c7d9f0f3 ./dir-010/data.009
+5bbac4ec67fa84d40d8a8a4ba9d00d31 ./dir-015/data.010
+5c0252cdd7cd0d144583c673e26a4cc6 ./dir-042/data.002
+5c1840580df0a528059088e45f23f837 ./dir-091/data.010
+5c24175346dc431720a833da4348aa78 ./dir-105/data.004
+5c2e4b18bb6e78ea09b958f03ba0e750 ./dir-068/data.010
+5c4c416cee200ee67bec2029cb56b6db ./dir-077/data.002
+5c535e14b7cd449a40893ee6a22f60e1 ./dir-031/data.006
+5cd631f166a2970f7aeb8960ace0f8ef ./dir-082/data.000
+5d6a823c24460b343c6e1cb74f9bdb8e ./dir-038/data.000
+5d869905fdbd4409d87d484db8cfd7ee ./dir-058/data.006
+5de94c0de3c4688b56b0d2fd2a892b98 ./dir-026/data.010
+5e5742ef3a3e4f4384ecfbd9663a18eb ./dir-105/data.006
+5e5a607a9b6945a1f4d17922466f86eb ./dir-028/data.008
+5e824e0add90548b50e8def0e0ea15af ./dir-051/data.004
+5edaeebaf220564c0f9fae53cab3b8ad ./dir-064/data.002
+5f2ebfc0810170305609aaa17d3b61a3 ./dir-096/data.005
+5f495116cabd24317cff89e1b946f93b ./dir-068/data.000
+5f82c03aee04bbc7b13bbe81d86f39d2 ./dir-036/data.001
+5fb6b749a06a1cd8e9e8b29383bfbf4d ./dir-090/data.008
+5fc369bef72f37987eb22899e8abe816 ./dir-076/data.000
+602dfd7dc13dca72e5cdb2a55d10e2d7 ./dir-005/data.006
+603c4a2b2591514fe3f89847fe45c9b9 ./dir-101/data.007
+6069799fce0384528b5b6f2978a5923c ./dir-101/data.001
+60a16f4eba5fcac35a449692e475ccae ./dir-088/data.003
+60a3276323425d3942c38a9d916fbcac ./dir-039/data.008
+60a658d52f59389789cbcfcaab41a1d8 ./dir-063/data.008
+60d6c79df48202637082c2213d4ccfdf ./dir-075/data.004
+60d87fb1da7baa439822269fd05467dc ./dir-028/data.005
+60f939a750264ce597002a4c5aa38b0c ./dir-012/data.007
+61724bf9d882734d00cbf2174586cf1e ./dir-081/data.000
+61baca9d4f0c0e1ad440f516eeeccf24 ./dir-040/data.002
+61bd0e648bc1911d452de89d4edcac81 ./dir-038/data.006
+61e13adcedfa2dc97c6fb131c48143af ./dir-078/data.009
+62102e0bb6e4a034d0df190864d3034b ./dir-078/data.005
+624fe86964a8866aa072ca98944d1cfc ./dir-072/data.005
+628a3ac4c873a169d8a3fa9df6615f4c ./dir-109/data.010
+62e10821dc2f80b608f7d789fe83923c ./dir-060/data.010
+633726cd4b41178c5506dd2b2eae0281 ./dir-012/data.005
+636f3b4bbc5e0d8b9042f1dbb35079ab ./dir-074/data.008
+637db8942597652106bd84d1c15341e4 ./dir-097/data.004
+63eb33e88241210c050942ca97a576ec ./dir-040/data.007
+64046b982a59442839a2d09b7470cf52 ./dir-053/data.008
+640b550e180d7c42c2d44f2ed2d7a43f ./dir-015/data.005
+642aed69a28a94bc3fa488fc6527b20f ./dir-016/data.009
+64bf70a1cd945cf459a07ec4631eaf0c ./dir-098/data.001
+654eb3426a0cfccbf51d147f29f8eb4e ./dir-022/data.001
+65bd86cae100830f420cb55dac2e15a4 ./dir-110/data.005
+65cedc58f0c41c8fdae422035b3750b8 ./dir-090/data.002
+666402e134e6ff70cba029c9852b0f97 ./dir-015/data.000
+667548fd68810e209ea97fe7b3fca1f6 ./dir-012/data.003
+6675d5082ea5133f6831499c95739594 ./dir-011/data.001
+669ffc163b66fc3abac6611758613a5d ./dir-089/data.004
+671e2b2280638d8e1d3a8f6b1d7ea8e7 ./dir-032/data.004
+675de03baf8db6f80962ed278b6e7a11 ./dir-110/data.000
+67a8ef2542009e755df5c9ac6f853d80 ./dir-026/data.000
+67bd34a30a05eb26b3f62a075cd856f4 ./dir-038/data.002
+67cffaada9805a90b11355402e635cae ./dir-056/data.007
+67ddfa9b4150737deff4914cb35fd713 ./dir-027/data.008
+6820b342440583f51722b9eb61b48d63 ./dir-088/data.004
+68336b681102e16e64f88a95cf470b72 ./dir-038/data.007
+683aa79bd3cdcdac7aa10ad1e2b0e028 ./dir-033/data.000
+6856991caa694e83caf6c0fca0233b82 ./dir-092/data.008
+68a46055103f6e733e5cceb707f6dd0f ./dir-004/data.003
+68e9e651dc7a564de214b282b9b5c757 ./dir-008/data.007
+6907dfe18a37643916742ba964bdab5d ./dir-027/data.005
+693f9c8b20a8a9279c4d43c80c3fa984 ./dir-097/data.008
+694e99f3b5dc56ba062fffe8381f8731 ./dir-000/data.001
+695cdc5bc7ba46e6aa38950daab71636 ./dir-050/data.005
+6967af8156573e442a1b6bd56d0a4893 ./dir-035/data.003
+69c1a52d538a67bf2a7e5c33379533b8 ./dir-017/data.000
+6a1bd41da62d260f746e0b01c7a13403 ./dir-052/data.000
+6a71aa155d598b5ad2fd6756da3c278a ./dir-098/data.003
+6a85596f81522c38c958910a4c0487d7 ./dir-060/data.004
+6aa3bbb45b6231513e0bee62e9a12a9b ./dir-080/data.003
+6ae19e39f7857f176f021a8cfe768a66 ./dir-023/data.002
+6af7255b3318607b1d5a7894d8caac25 ./dir-082/data.004
+6b780e7f72be3df9db712580acafd0fa ./dir-102/data.010
+6b7cadcbf875ee5ad53b47298abfaae0 ./dir-080/data.001
+6b8533dbffebb6ef2c1fd48e1df6ed19 ./dir-050/data.004
+6bc9e3203e2738ee225be6a45da6d077 ./dir-059/data.010
+6bdfbab8a4b20d71aca5aec66cf4c07f ./dir-071/data.002
+6be3c35f28f68861840f0345f70ff511 ./dir-011/data.010
+6bfa83d47d895ac06f74abcdfe24dbd5 ./dir-067/data.009
+6c324e185cf24623b8eab7daa010e222 ./dir-023/data.008
+6c32f3d5d270bf507f57edf28ac20214 ./dir-105/data.009
+6c8cb56bd81e30ebdb0167ea9c37f14d ./dir-001/data.005
+6c93aac45d9e019e7beec4a708a3033f ./dir-087/data.008
+6caf414d04c342f829887570993579d7 ./dir-089/data.003
+6d2229a029fe6481590413f2db98aa02 ./dir-002/data.005
+6d2a24dfc83ec50692a139bb2c4c61d6 ./dir-082/data.001
+6d38deab9a096a0487e9318265837589 ./dir-022/data.002
+6d3a2f17df2c7210851a2c0d52393c0c ./dir-023/data.010
+6d75df376c491371990eb1de004227ea ./dir-067/data.001
+6d931b032c977bd48eece3900cb75cbc ./dir-031/data.010
+6dd22b9dda6d6347c1bd9afec4793a4f ./dir-070/data.002
+6dd7811a0c6fc4d0742d46707145a3e5 ./dir-004/data.004
+6e32a7359307837e8ac9823de823555c ./dir-046/data.010
+6e5cc8f5f8c2a07b9de4a8b781d5b5e5 ./dir-050/data.006
+6e843730df663e5647de7ac5bd45a9e4 ./dir-074/data.001
+6edd462bc21cf66cbcba400669a8bb5e ./dir-007/data.010
+6ee09737e92a796d494ff85721185da3 ./dir-079/data.001
+6ef6e7d86580f5d0f7736bb57e93f4b2 ./dir-048/data.009
+6f314ada6407cc32b1f3e8d903b5c9b5 ./dir-017/data.008
+6f49da0120119efa5e4f89de195b4d2e ./dir-048/data.000
+6f69257227a260127a65a133508b0319 ./dir-109/data.005
+6f86c9c9ddf31fff41a6e48b52e05a06 ./dir-078/data.003
+6f957949973905e40beea6e33e465d0a ./dir-092/data.006
+6fbe3644be2de3423204d79bce06c40f ./dir-106/data.003
+70296c938c1220bf726197fc521c5da2 ./dir-083/data.006
+7047e1b8a6351da3504977a4c96edb72 ./dir-097/data.002
+7051be81c22bf0e394e8d89a6cc78a20 ./dir-028/data.004
+7077cac646a5b37a418664d366de8d2a ./dir-086/data.008
+70c913bbc3454d3af1d3b97a0851b903 ./dir-085/data.000
+70dbb0dcaf2612b4952b341651ad0c1e ./dir-065/data.007
+71214fecdee78675ad95b492df4017ef ./dir-040/data.004
+7171c7a1796cbc2355c6adb03c312daa ./dir-032/data.001
+71841f91ab1c873938ff4b4f018b2221 ./dir-014/data.002
+71a2294412b3029f236a254cb335ac98 ./dir-103/data.008
+71a6994ef2bf8368aaa2362bcfccdca7 ./dir-019/data.007
+71b4da91bd5142d3342d67d322fef2e5 ./dir-084/data.007
+71dbfc9057fca54a5a183446775e32b8 ./dir-016/data.008
+7214fcff02d0743210d754a37fb98b0c ./dir-102/data.008
+72ce0ff3d78837675c538e6a02a67557 ./dir-068/data.003
+72edc28e71c24a8c04faaa3c2645d936 ./dir-064/data.003
+72ee0b7f236d0c1de171c8618a8e8c7f ./dir-078/data.008
+732b1e0f0ab56898793589bef25f29f3 ./dir-017/data.006
+73bcb49ca5ca609cbb65147cfd405f3f ./dir-105/data.001
+73fd28f9099c39d6d2c92355c060d6ed ./dir-068/data.009
+74374dec8765151f8270209dca6fc5c6 ./dir-098/data.007
+7502ae05db65a32459a2b97996419065 ./dir-046/data.005
+752e6e003b2a63ee5329d9629fc11e37 ./dir-066/data.007
+753b5b925a36ef26874b53df2ebfa061 ./dir-075/data.006
+753e065141176ff596bf2e1ae61ee7eb ./dir-051/data.007
+756432d8f72aad038e5485bbe24bafaf ./dir-106/data.000
+7565d1674164a015c42a2f5011cc087f ./dir-000/data.010
+75aeb3ea4fbd1d50430bbe04e2932b16 ./dir-093/data.001
+75b713f785ac4a9b1d088421f23ed1dd ./dir-008/data.006
+75df7f36eefa42c3638bc5b6a97d55cc ./dir-062/data.006
+75f4acedcce3de89a05b4c098b4f8118 ./dir-084/data.000
+761c8e415dfea226f53be2957780ba69 ./dir-000/data.000
+763c7d41210a0ca975eb99d0e17f4b20 ./dir-058/data.007
+7652846932bd547c814ea86462891fe5 ./dir-036/data.000
+766be2a004cea2f84f9aeb40eb9e5124 ./dir-006/data.004
+7672a3a631d8cebaeeb10b4eeee2f374 ./dir-097/data.010
+767d0c476c9468d63e0871af2cef1738 ./dir-060/data.009
+76c9efefaa60ee3fba78597b33c5f575 ./dir-090/data.004
+76e0a18196e6b9e8f1860791d5e70146 ./dir-075/data.008
+771b05fea5ba6da4cdba84683c070c95 ./dir-053/data.006
+77586b0c211ae906be9094d049370678 ./dir-021/data.003
+77c306d850bed70af9a433a685820431 ./dir-050/data.000
+787d7e089b2520fb323825c0f34f1019 ./dir-047/data.004
+789ae7e99a3a3ff41688d0da0baa5491 ./dir-049/data.008
+78bc020188a5927d1bdd8a00916e7bdc ./dir-047/data.003
+78e4a29d866eeee6f16dac2923ff9039 ./dir-020/data.002
+79adfb3d2a7487932511a5a4279b61d4 ./dir-027/data.000
+7a27a666e2737841367056a9d8fd9d5c ./dir-060/data.002
+7a53dddb70aee58e5661427249ee7038 ./dir-076/data.008
+7a95a94fa02effa09895b4cf9f806fa8 ./dir-053/data.009
+7adef604167c2a7031d11a61876f5e3f ./dir-056/data.006
+7afcc18fdeed24a4b6582f0cb8c8d63a ./dir-079/data.007
+7b806c0a3bd12973c5540a4a661ea698 ./dir-010/data.000
+7b91d10dc9a73501e2695fd03efca8a5 ./dir-064/data.004
+7ba6781b9f6a2102f6ee77e4bcd67e7d ./dir-102/data.007
+7bbc6a3d08c8aafe49f38286ea190736 ./dir-054/data.008
+7bc0ff8f58b050e3588a70ea5a899c2a ./dir-069/data.007
+7c2955cbe8d8635b43f067b782a8d22a ./dir-013/data.002
+7c96eeeb60a073929017e8830287f7ad ./dir-094/data.007
+7cedf898a8fe0dcd9e6e2fd98a74ab8b ./dir-082/data.005
+7d32425b7c104604f90ef5081a066d65 ./dir-015/data.002
+7dbc4d0b5e092ec07d71821d06cec150 ./dir-086/data.003
+7deabfdda68c09ca7212ea05659e9927 ./dir-017/data.004
+7e26cc30612356a343b39f0229ac3d46 ./dir-019/data.003
+7e7c2baf1cc7562b407fca1085c05d16 ./dir-074/data.004
+7e9b0ff66ef80bb5257831f7d04961b5 ./dir-020/data.008
+7ebe836d841b63662eead6beb412d4bc ./dir-107/data.000
+7f49e79851b7b45cd2d33175fa1b2969 ./dir-081/data.001
+7f667fbd3cc3f285932aaf92da189d1c ./dir-044/data.004
+7f84ad2226952dc3a2cad38c3ee2970c ./dir-007/data.001
+8045151192b49a8da4d2c8e6762ccba2 ./dir-107/data.010
+8048e0cba222cc165575eace3922e5b0 ./dir-039/data.000
+8049aa75ee4cb1b4c3bba59df67e47dd ./dir-068/data.002
+808aad824b9e2e465bca41efd1f52954 ./dir-100/data.005
+80940fad75c724a99076c376892083f5 ./dir-008/data.010
+809ad8f87b1d349538479eb8255fbd95 ./dir-087/data.010
+80b12631328b0da15def5ab7ff5923fa ./dir-094/data.002
+80b3adbeaf7752f4b28690bf34277a97 ./dir-082/data.009
+811f2222bf3e3261eddfa7c5b3d081b9 ./dir-046/data.009
+812008464e6378f41d6992b5ffcbeb84 ./dir-046/data.003
+8177492799584288b6d0912ddc3c5788 ./dir-010/data.002
+81fd13878406544d396fb0d907c9a41b ./dir-045/data.006
+8200bdc10480c0f32e2f83cd68515f7e ./dir-084/data.006
+820408ace3493250d98e8674b8187a91 ./dir-052/data.010
+821172e54e4afd62f705d226331c7fb5 ./dir-085/data.005
+826812a36105fcdf4d5500a6df0f08d2 ./dir-085/data.009
+82e160cb68fcd731ffd8c982eb669922 ./dir-034/data.000
+82f2bdcb4728e3ad2ad42688c776051f ./dir-006/data.008
+82fd0c7b72399922c915d56ff6966f09 ./dir-105/data.007
+83961ca3a7fdce7ec70696e2174653c7 ./dir-086/data.004
+83991d573bbd643493c94fe76fca77fc ./dir-006/data.007
+84455e279527682dc16597ccd64ba260 ./dir-103/data.010
+847ce91c4f37960bff5d34020b42ed52 ./dir-069/data.003
+847e94154fe39fcb40974901fd05b59d ./dir-057/data.009
+84a7ce38c6202fdb6b898df285446663 ./dir-106/data.008
+84aba2f561813a9bac0b4c06620152ae ./dir-051/data.001
+84c575bc39d6c0c91600a2dd9e453698 ./dir-078/data.002
+8512e02e44103f6767b334345dc73575 ./dir-049/data.003
+8520bdcd365dbbea56b48e181e892e6f ./dir-035/data.010
+85616c0da662f396d301cb1e6bdd7bd4 ./dir-013/data.004
+85ec836e67e6f2baeec01f665eb23e29 ./dir-095/data.003
+8603067c193e4a1c357801b381641dfb ./dir-092/data.003
+8611a66ab011033b3c906ba7b89e6c2d ./dir-037/data.000
+86378c2ea396585297f165531e6c7890 ./dir-025/data.000
+866430b5d3911c736376d7e660a81f00 ./dir-042/data.007
+86bc362ddc0cecdb48e4ef489efe9dd9 ./dir-005/data.008
+872a73bbce2c848a584e9382d62a7a8a ./dir-090/data.007
+874c93e05f4f32beff5051c4af86b8e4 ./dir-072/data.000
+876a2dd3d630d98143203693874f60d0 ./dir-091/data.000
+87a4a13a15b175b8b943cefdfe3e74e9 ./dir-091/data.008
+87dced824e8413e02cdbf539f8de061b ./dir-086/data.010
+87f5881d5c4a894085307aa10fdb105a ./dir-041/data.009
+87f8e92c8f1a1c8433398808abaf8165 ./dir-109/data.003
+881243716ba4e3c5ff3dd342c21c040b ./dir-082/data.003
+888da3d26656442aa1c19e2e477e59de ./dir-083/data.009
+88fa1bd87fa31d853e36bd503526227d ./dir-043/data.005
+89221d01c894262e97b15e7f5791e14d ./dir-014/data.001
+897ed3d984bf5f1368fabf49f3b0f12b ./dir-072/data.001
+89a503f5d1a1d9b94eadf14a3d7a7dd5 ./dir-045/data.000
+89e6081c35cdd3b86a836cff51971184 ./dir-065/data.009
+89f0acd75ca963beab0cabbffd628724 ./dir-091/data.001
+89f499b0da40af76802f0e03da77f6f6 ./dir-040/data.010
+8a010b14ef676d4304eef73b1f1f78e2 ./dir-004/data.007
+8a1283493ee60b494a58e6ace7452907 ./dir-089/data.009
+8a62a8742ed78023043d4eaec5b1e904 ./dir-098/data.002
+8a6b0c4f2c04e96d5315868996fcdda7 ./dir-108/data.004
+8a82ff49e710bd88450867a3f440b0da ./dir-075/data.009
+8a87b4e00c531cd577a39012397a0f87 ./dir-079/data.000
+8ab93bfdd9e62f3d6da0dbbc53ebffa1 ./dir-076/data.004
+8b09b7d62a3735681da36371657e14f3 ./dir-039/data.007
+8b93f04b52bd1fb0781f9d46ac7a290f ./dir-025/data.002
+8bd5650b0e7d4fbf6973214c2f507801 ./dir-047/data.002
+8bd5bfac106c68cffb3a098c4d157cf1 ./dir-063/data.010
+8c4ff8f780a98e39295f500278a1d887 ./dir-095/data.009
+8d1110f9accc804fc48bb2ee4af6bbf1 ./dir-110/data.009
+8d4261e80352070d2800f528932e37f4 ./dir-055/data.000
+8db08f66dee19a548b3e6eb3a1560980 ./dir-094/data.010
+8df75fe710ddf2316dd13f8065e4bf41 ./dir-087/data.001
+8df80279f2b2051d65bcf1f7a7dea7d9 ./dir-097/data.000
+8e58a42cf383173c0dcd6694402bc946 ./dir-014/data.003
+8e9933936e026159534f451cd0548d4b ./dir-029/data.001
+8e9e45218d17ae1aac57d24ba4417d9c ./dir-070/data.000
+8eab2b1d1ea2a5926ea5e276587543c4 ./dir-024/data.000
+8ee65e80da3449425d6c8cedc7be72fc ./dir-099/data.001
+8ef64875a9b9969869cb0f25a32fa0fd ./dir-039/data.004
+8f7b88afa2cfae0a337e1e330e9507aa ./dir-075/data.010
+8fd4eab768c4b5905e416725de423f55 ./dir-087/data.006
+8ffc927df86dd4c5e3966e9d0566e449 ./dir-014/data.000
+904a6d1b29b6b346d17fe5548b90cb6b ./dir-059/data.005
+904f618fe84960f4d495a2cbf494a179 ./dir-026/data.008
+90e643a0ead24f11449be2c13d739a53 ./dir-017/data.007
+91361fc94a17d6bd001d136355b85354 ./dir-024/data.008
+91850aa3831a821d375c416cf048d830 ./dir-012/data.010
+91f1499f9fc21e74879459600a825654 ./dir-103/data.000
+9207ec877c2fc0c887adbe81b97d7160 ./dir-023/data.009
+923fae1aad1f7f087f7d56be0a949abb ./dir-024/data.007
+924e608e16d18589a9932fc76ab7dad0 ./dir-090/data.005
+927968828d5c3065804466c0b654dfb4 ./dir-054/data.005
+9297c8e3209ad6c3e9eb803d5114753c ./dir-030/data.008
+92b3887179362557a9063adf548b2bd7 ./dir-081/data.010
+92f662f16c3768db5eeda3b60f4f0ade ./dir-022/data.003
+93b7c4d5373a364b8e3e26d077c980c7 ./dir-079/data.002
+93eb15b53e6879eba9e23c2f636e73a6 ./dir-061/data.000
+940bee1d330002cf234a338b63d07911 ./dir-068/data.001
+94172e924a7cdda629f202e115e86e96 ./dir-062/data.007
+94449220fca6a95893857a459eeeeec6 ./dir-000/data.005
+944a60c5820889ac6c204378ab8ec684 ./dir-065/data.010
+94611f97f30b3216ee306a97ee063285 ./dir-106/data.002
+95c4f44dbc662a1b80f231c03a1831a2 ./dir-031/data.005
+95f34bf560977aabf56b2374bfd801fc ./dir-031/data.000
+960b3433addbe419445506e4070e704c ./dir-031/data.004
+96fcc5df339caff14311a24a81134714 ./dir-042/data.006
+9706dd7a7ae979b858155dea8d54cb4e ./dir-033/data.008
+9873fcaaaf129d922cb29c10dd7665a1 ./dir-066/data.002
+989348123dcd08ee33c351e9156dd581 ./dir-005/data.009
+98af23ac4dc89133c749cb7968878859 ./dir-041/data.005
+98b72fa1526e20c16ab02546b656a925 ./dir-069/data.005
+99019e5feeacecd628b79b1eb7e161f7 ./dir-071/data.008
+9914beac14681493f7a7aa19a0f1bd8e ./dir-035/data.000
+993c2c1b64d4d9049df6d5d7cb56c4c7 ./dir-051/data.010
+999490bc33ec2a56ab230b6da8b1c1d1 ./dir-045/data.002
+99b70a3b5235ebfd1de6e096d54ab41f ./dir-083/data.008
+99b81b1024129991e19b010ee0f1299e ./dir-108/data.010
+9a0e0cb9a2f89fa8c888a7310b491aa3 ./dir-074/data.002
+9a2d63c1b47aa35a0d647d278d7b13b3 ./dir-020/data.005
+9a77b017cb714648bb338853717ad7e8 ./dir-059/data.006
+9af3052d79e03234d51790bca3f62abd ./dir-103/data.006
+9b1308d9a71f3d07df20c64ee9485215 ./dir-009/data.004
+9b243e7923207feeba44ef8967835213 ./dir-029/data.006
+9b25cc77ec3884b9b115f34a61aa6b1a ./dir-036/data.002
+9b4475d68d99b0d8b5b724b161ec3858 ./dir-079/data.003
+9b7bfa3dfb1223c084a732a460010ba6 ./dir-027/data.004
+9bd2393f4167104c602f462cff973c9f ./dir-058/data.005
+9c430e6db8f1530dfcab40de1ae320ee ./dir-058/data.000
+9c48ff0e9fc213cb2b483db230feb345 ./dir-022/data.009
+9c9a3eff549dee88a35c589ddd9d218b ./dir-018/data.001
+9ccd05ac96fe9192a6e3c9b864f51cc5 ./dir-043/data.002
+9cf33a7c891d6c7472267d57ca6cbc66 ./dir-046/data.002
+9d21fb30afaaef79aecb0da9815c347b ./dir-050/data.001
+9df2cd9f95fe997c8de62c5481d3c93f ./dir-034/data.003
+9e3b8430c7cb870803ec286c13718b02 ./dir-003/data.003
+9ea9c7d6b9fb3188ba0821136c228e7e ./dir-095/data.004
+9edf9a0560752008ceaaa4ae3ed5785e ./dir-071/data.005
+9f549656466f70f622c9df1c4ccc9521 ./dir-033/data.005
+9f80958140d65b5e0fb9a52167b1c422 ./dir-099/data.006
+9fa7f92a21ba500140aff17d8762a6aa ./dir-076/data.010
+9fd3b2804f593374def5a302a8b450c4 ./dir-074/data.005
+a0339de2c013f2d03f756a8144639897 ./dir-061/data.009
+a0a270ce379fd4d991d9ca728d63b36a ./dir-012/data.004
+a121b30fa0ad50b4e829a45879cc5edf ./dir-101/data.006
+a18b68c77ce90b9bdaca1ae55282337d ./dir-110/data.004
+a1e2cad8e97c82f3253442cff997bcf0 ./dir-080/data.000
+a238e250723b41101f07cfca17f11564 ./dir-045/data.008
+a246c5c6c1f823eb413af37d34b3bfff ./dir-077/data.008
+a29c24e21e6f607570f76e5625d3dc99 ./dir-032/data.003
+a341d8b152be8d341782db5ab1d7aabf ./dir-084/data.010
+a35ec86b31d73849147880eea4297fd0 ./dir-063/data.001
+a3891cd6855c346b07f6d1cd385c49b5 ./dir-094/data.004
+a3d9410efb0b1ff6600b3f627971fd16 ./dir-042/data.001
+a40587138ced04b20fb2527354606f2c ./dir-076/data.006
+a469810e4d1daa13f3e9b2e6f68b8d13 ./dir-004/data.006
+a4c13da90cbcf2f1624a4b2c2a9bb233 ./dir-109/data.008
+a4d4d492179eb2dca7ce30571c8ef3ba ./dir-007/data.004
+a52da0aa1a7acd8778fe6f40f0f8c0a9 ./dir-061/data.004
+a554b9068ef406ca372f9189304a82b7 ./dir-059/data.003
+a581e75f84f4ac6ad9e70e5b6bea53a4 ./dir-095/data.006
+a6055d0047d814a31f32e4185441d4a1 ./dir-007/data.007
+a60741e209b726fda4e969bf344f4aea ./dir-069/data.001
+a6395a9bcf53506cef1c6b62cc37f2d4 ./dir-003/data.000
+a65040955884d1c6e4d54ad9299a08e2 ./dir-062/data.001
+a65457550d23807b21c1afa93e9d21ef ./dir-035/data.009
+a66e2aef802f92385bf38b01ce8b0c80 ./dir-031/data.003
+a6952c83f6a406ed1baa2b1251bccfff ./dir-032/data.010
+a73aa26f62de99e97e691379ff64e838 ./dir-055/data.010
+a73ad6b847af80b66f4b37bf752e1097 ./dir-096/data.002
+a78d53e617d31d29d07a1bc8d463e456 ./dir-096/data.010
+a7903334dab2c9948a9460d94ffd27eb ./dir-082/data.002
+a7957cd1bfb38bb265c2d909bf4f0b21 ./dir-026/data.007
+a79df6152da4b78ece663f4b95d20cd3 ./dir-041/data.010
+a7aa7f0213d41db9b7a2d63c90f77772 ./dir-053/data.001
+a8111a4439244ed9de6e0c5944d7ffa1 ./dir-029/data.008
+a82b1e769c33fe701194d95fccf029c8 ./dir-010/data.004
+a8573ca8719910d3ea25839cf529d441 ./dir-091/data.009
+a85c6629da53d32a0ed0d3c8b0a26c72 ./dir-077/data.005
+a8a137df04b87ac736e158515ec71a42 ./dir-087/data.000
+a8a7ac87c426aa047b573b2dcbc4a0e6 ./dir-058/data.008
+a8c038a03f5bc2e6b52f02b8c5c52cb2 ./dir-054/data.009
+a8c4c1f924133ec0c8360901bcf6c199 ./dir-094/data.001
+a8e06c98144819d98e809492f08aa29c ./dir-035/data.001
+a93a49fd784c6ad90385ea022ecd2343 ./dir-045/data.010
+a95c46ac7047b8866dd9225ee4d648c6 ./dir-054/data.007
+a97f9c6c523f5479046377eca793ef53 ./dir-040/data.000
+a9a50ed2b165d548a1aca2e4b306d06b ./dir-048/data.006
+a9ba09df546930ba27663df0227b047a ./dir-002/data.003
+aa122bfd760ea4dc50aecf4f533c65aa ./dir-016/data.004
+aa3eb53c7a7a77690e996a5c0c1ccfae ./dir-024/data.010
+aa61a5d5f336b0b50e6b1d0796b890ae ./dir-088/data.009
+aa6fef63c3b2bbb9c17c9bd7308c5306 ./dir-036/data.004
+ab0f881f872563bd7846c3432ef7fce6 ./dir-003/data.010
+ab1ea1fe95b3af7db64aa8fa146760bc ./dir-093/data.008
+ab5acd6c59415e13dc791e3f300bccd2 ./dir-039/data.001
+abf175effd6c04dbedc04a31f009ef72 ./dir-038/data.004
+ac00bb6001e354a604063f1e31a8fe3c ./dir-028/data.000
+ac0eee49e473726deb56d47a823198d9 ./dir-086/data.009
+ac6e1f616fcab93bebea12c3dd1fefee ./dir-065/data.001
+ac8e596fdf6279e40fd0085bb0f34165 ./dir-084/data.005
+acc1ee7febd100ab23b6a479d3001825 ./dir-061/data.001
+acdbe2e496d6ae23c0f0dcfb0ea6faa8 ./dir-005/data.005
+ace9c8b5dd8e55dd13735c649c9d4af5 ./dir-099/data.008
+acf5cb2c7b1eb4390a60a1774bc4bab0 ./dir-090/data.009
+ad24114c9cb8f035ade2e862d9abafa8 ./dir-053/data.010
+ad320cdbfbfa5cf6c7b7a8c40a686193 ./dir-021/data.000
+ad5b2d548dbbfe6ab0e21437bb2e1f2d ./dir-019/data.001
+ade98adeb45ab19c7ce8d42782dc04a7 ./dir-087/data.005
+adefc5856d2a4595beeb1adcbd172221 ./dir-019/data.008
+ae81c953786cec82d0f1f9435b0d0c0d ./dir-056/data.009
+aebbeeb5e421cb8ad2e831a302742a6e ./dir-081/data.003
+aec4978b81441da9cba9008549fd58b4 ./dir-103/data.007
+aef628d7676ae21153a87e0f1ee0827d ./dir-053/data.000
+af9385b7625684c3d153854bfbc427fb ./dir-057/data.007
+af949e292c736dec64c29b35dbc94cf3 ./dir-104/data.008
+afb68dd90956c729c49211aa5cc974d3 ./dir-018/data.000
+afc5cceaed901e3baf26410e530b2112 ./dir-043/data.007
+afd05141be6f865a64e93908e05ab2e7 ./dir-070/data.004
+b050f6f0b55cafd91af8b5bfed9d7ef0 ./dir-106/data.010
+b06bca53b131304a89d152fa869e8d44 ./dir-006/data.006
+b07e07d9eb5b9765d5916910d3022a15 ./dir-041/data.003
+b099661d0dc7e777e94b88a768792aba ./dir-029/data.000
+b0f9fbc3889843756c2fbbdbc8e95c80 ./dir-052/data.007
+b141e0746d771b642b80789e2cee78b7 ./dir-055/data.005
+b15458b8d28b4ff277aa19d644c3f01e ./dir-078/data.004
+b19692bfcc887a0326ea0d9ff777b708 ./dir-082/data.008
+b1a0f67c22211b60eaa3ad043300ec39 ./dir-077/data.007
+b1cb07d7f4ab031522a1092cda009ea5 ./dir-024/data.009
+b228391e5b674f6e320f46c92a231a6d ./dir-013/data.001
+b231b16938922b62bc313c4dc791e89f ./dir-040/data.001
+b235e667fe06e2333d3d4f4cfeb11d8e ./dir-061/data.007
+b25e47b8e6084a771082a79d2964125d ./dir-042/data.008
+b2a5017e913a254b33c8fc51a0304745 ./dir-018/data.005
+b329dad6ad85c65a9222b8b261e86361 ./dir-008/data.008
+b33cd0e18b5a2384dc05a46f69b09059 ./dir-007/data.000
+b33f13624a7a7cfc50fef0456d74947a ./dir-097/data.005
+b367a0363b574a8455b841cada04accd ./dir-047/data.005
+b3c5ac9af4d7a04325182806453958ba ./dir-103/data.005
+b3dfc8b0fb7616287af6f7757207b6b8 ./dir-033/data.009
+b41d0afa4d57823e34d11e64bd6534a6 ./dir-087/data.009
+b445b7e624e7f1f7a5be6541a3a93a8a ./dir-043/data.009
+b46cf4a767a2d389800dda0374917427 ./dir-057/data.002
+b4c65166180c16e5437fbfe03af4b5d4 ./dir-015/data.004
+b4ccf8da14998cbe721c990de46c9edc ./dir-032/data.008
+b54b392b4cff92f8151d58cb92e688a0 ./dir-067/data.007
+b5934cbce1651c12cbb4e618e091f435 ./dir-102/data.001
+b5c1e57ffa0ceb0947170f610075f3b0 ./dir-043/data.001
+b5c8f4ca9d2cff5245b847e21c7df049 ./dir-050/data.002
+b61bf319c57da4eb4f121fd5c535760c ./dir-015/data.007
+b67fb5ee7b93061ade64929492590f5c ./dir-097/data.003
+b690077ebb25c2605ef0ee3372894cec ./dir-044/data.003
+b6c20ced9ffe0e91fbf7c4d71cc451bc ./dir-075/data.007
+b7538f880d91a07037290f98027ed306 ./dir-040/data.009
+b79f1bdb5bbb47e5d965e90137ddf26e ./dir-015/data.006
+b7b7cad8720d0f99fdbd7984caad8831 ./dir-061/data.006
+b7f56c9ebadcae8bd7b30e14bde0b5d2 ./dir-014/data.005
+b7f6d1118ee932c65f1e5a1931d6c8ff ./dir-014/data.009
+b84ac96cedb442fe235cffc8aa31199f ./dir-017/data.010
+b88c57aba26f8e1c085cfc7ae11888d0 ./dir-073/data.005
+b8bf171ed4f5f905cf8f7dab6a82a7d3 ./dir-021/data.002
+b8c336dd6ec7df5cb3f70ac79e169221 ./dir-108/data.005
+b8de847d8af8329206b516f825945439 ./dir-107/data.008
+b91053058f5cb868a65eb00ffc8c85db ./dir-018/data.007
+b983ec5e2696dec42e886e4aaf24c2dd ./dir-041/data.001
+ba18e6af480799cb61acf0e3984413d9 ./dir-023/data.001
+ba1c86b4c7519e9987fc62e04e14b93f ./dir-100/data.009
+ba3d3735db7501bb45a1bc37a1c90d91 ./dir-039/data.006
+ba5dff4458e438a37f7020a6997cb3eb ./dir-102/data.002
+ba71ea66885339efc504f581fa9d05fa ./dir-021/data.010
+bab7340230caffd9abe45a213cc7c94d ./dir-044/data.006
+bacf759099d3ce33cde104f0fd09404b ./dir-107/data.006
+bb3dc9d92e7c13191502f9ca2d9a2a46 ./dir-034/data.006
+bbf62db3e277893ae705b95df057c676 ./dir-046/data.001
+bc9a15ee53571be04ca1992754d407bc ./dir-037/data.001
+bcadd63e00fad4b7f09f32cf50c606f8 ./dir-078/data.010
+bce43f4bc32e3b431ce88e714ebde4e7 ./dir-078/data.007
+bd57ca2552a35196422eb254d0b6689b ./dir-010/data.007
+bd6d9661ef44ee94f3a576794ba2e972 ./dir-083/data.000
+bd85e8c8c0fd4ffd0a8abdd38675e4a7 ./dir-061/data.002
+bd8e9c392bc76c3d04ce23a376cf7941 ./dir-104/data.010
+bda8d53c45c521c5a7fcccf19e0fd4d2 ./dir-052/data.006
+bda946d7293089f487dbcf64564b7d79 ./dir-051/data.003
+bdd285092faf5a19c9a8b3fbd1162d64 ./dir-101/data.000
+bdf39b893567b3a6329a36dac48b516c ./dir-099/data.005
+bdf56ade34628d9a2e757b2bc6eb0e0c ./dir-013/data.007
+be507a830dc09b8c6d802d45647edb55 ./dir-104/data.002
+bf106a60eed1963cd3e58461c38cda87 ./dir-034/data.010
+bf21e493d536385c45df037b2e9cdb45 ./dir-089/data.000
+bfb0f4ba9a8588bec3cef4ede6a3bb57 ./dir-106/data.009
+bfda868277a6c6c0e25795ad73316074 ./dir-032/data.006
+bfdac2c988de39cec95a59f8a090636d ./dir-092/data.009
+c01bde4e9fd7733b6a915284ac12c4e8 ./dir-108/data.007
+c056ff72a9b187332dca300fbb81226e ./dir-026/data.003
+c0b2182de19c1695b71277d4fbfacc18 ./dir-052/data.001
+c0b94a538176aa6986cafa2e2fd8fe8c ./dir-045/data.004
+c0e16a96014a13995e537e8e39b0155e ./dir-052/data.002
+c1cf14e3812a8b9933911da679c49f8f ./dir-072/data.007
+c1ef0ec1fe3cc64d705d5499b6ee622e ./dir-110/data.001
+c2129120bc96703d28928d567bc5df58 ./dir-025/data.005
+c2429dbcf4929ef886b612147e8efbb3 ./dir-048/data.008
+c281f9a42b51ea7af93e5a88c1216120 ./dir-084/data.008
+c2c2abb9e870d144dde05ec6d7a979da ./dir-028/data.003
+c2f1846025293c2560ef44a2287ca948 ./dir-007/data.002
+c2f6da08e3e6c04fa04dbe47d9d91ead ./dir-085/data.001
+c35373fb9888c30272d2f574c0a9423b ./dir-079/data.010
+c372e35177aa3286cb5508590b191302 ./dir-051/data.005
+c3cc90dd33b6e5ed10081456f070c447 ./dir-085/data.002
+c47011f9488a8b8b5510aa96ef11fe57 ./dir-039/data.005
+c4958fb09eff0dd518b8a6997c6b71fc ./dir-017/data.009
+c53849249fad0defdf837bbddfa15489 ./dir-077/data.000
+c56775690b961bd0425dfd3d83dc4fa7 ./dir-066/data.000
+c5804311215078aacda89591c40bb4c2 ./dir-005/data.001
+c5b3227aa5484919dca0da947390419a ./dir-096/data.000
+c5caf8575038ceca91b140d9d0e3b24e ./dir-069/data.008
+c61fca3e05f9a8596ffed3f1512c8fd9 ./dir-024/data.001
+c672d7b16693c1848fb2331fd483ba5d ./dir-067/data.010
+c6c64e1a31b6593f2e35798cdfb9a67e ./dir-103/data.009
+c6e7741f3d499cb592e84ee501ae7c12 ./dir-056/data.000
+c734f450ed20e0e6ebe7e52ebeb40c27 ./dir-095/data.007
+c765acd0fddfdd8dd25c1e3b578ab8d2 ./dir-021/data.005
+c77831ccfd2a1c1842c475f2395e586c ./dir-004/data.010
+c78b32a24f2ffaa7a64a910871c7c2da ./dir-086/data.005
+c7aa9ec8f4a91d993ebc357f7c4d624c ./dir-012/data.001
+c7b6276dd9c53abc7824b172377fa566 ./dir-073/data.008
+c7bd7f81b81f3a3dffc9aa6d8903a5d4 ./dir-020/data.004
+c7d3088dbb470b1f8e659795e9ae001a ./dir-072/data.004
+c7db30e49010acd441ca071b159e8952 ./dir-093/data.005
+c87a70665e49298558c54e7b11150bdc ./dir-073/data.007
+c8c52776a8e9b3f43b55c112de4b3615 ./dir-055/data.001
+c90dd7ad53022e2ec777b401a2056794 ./dir-032/data.009
+c91679d9ccec60ec58fec6e5ecb71cde ./dir-001/data.004
+c9283d1db619943708a58a0d4e072490 ./dir-098/data.008
+c97100eaa0d5b50c2986ad2d7a4ab4c6 ./dir-105/data.002
+c9ca93c8b91e23c7d884985261c727bd ./dir-087/data.003
+c9f613e36059f6a2ebb21dcb5ac2e544 ./dir-098/data.005
+c9fb7d08b76286f726d349933453cdaa ./dir-102/data.000
+ca026e1fce7342eea8d59b5ef15ae1b9 ./dir-018/data.002
+ca1b624cfe0398448567862acb496721 ./dir-002/data.006
+ca5dd894a005c13702e966d04a58657a ./dir-074/data.007
+ca690ddf1d9488d3aae5de667b46e3c6 ./dir-071/data.009
+cabb2940fafe7ddf2643830f7542cc4f ./dir-070/data.008
+cacc98cea7525be670fba062e921386f ./dir-027/data.009
+caf930731a2124520be71f7bdbf5147f ./dir-030/data.005
+cb30fa3d22c32ff5b466a216d7e4174c ./dir-041/data.007
+cb353cc900a10c0020fcc40d20fb772c ./dir-050/data.003
+cba8191118e1823bb38f80321b98d7a5 ./dir-032/data.005
+cbf68202741c92a6a1a1345ba40dbc1c ./dir-019/data.004
+cbf9667ac181f5100cf3d7d179f07c26 ./dir-014/data.010
+cbfe24d7f1aef20746adda09edfa0b12 ./dir-072/data.008
+cc2567a2350fee4c5187a00bc0615d5e ./dir-054/data.004
+cc798615c0b02d53f6827240ee654f98 ./dir-064/data.010
+cc83d5b78aa34ff3d82957c7d69ee16a ./dir-013/data.003
+cca5c0bdd6d0eb18b7cdec2bcbb59754 ./dir-076/data.009
+cd6be4b1b25de9bff66ad8191eac7d4c ./dir-042/data.004
+cdcd5240e78c13357281153c4a41395e ./dir-087/data.004
+ce0dec612db80a92a176ce190b19a754 ./dir-070/data.001
+ce3392cd4d81de001fb397ba1655c0c8 ./dir-010/data.008
+ce58a0e50d16d75c45ce9447bc868b45 ./dir-018/data.009
+cf5fb8cbfe7235521fd7878d964badaf ./dir-022/data.004
+cfbe0f69b35baa9133b6355cd2bd6d08 ./dir-094/data.008
+cfc01799332549522a823077147adff0 ./dir-056/data.003
+cfde64c362835a72c8cedfe6477bda56 ./dir-079/data.008
+cff6f29c1536291d54498fb539c6681f ./dir-002/data.002
+d119223e0da07f005012bf6fef415b5c ./dir-082/data.007
+d16dbb40ad04cfe09048dfa56977ca3c ./dir-044/data.010
+d1dbfddf209f6a070bcf48353abdbd8b ./dir-040/data.003
+d1e5806bdc06ae2231b6f9b1a3fa1f0c ./dir-001/data.001
+d2229c5a61c0ccf7b139714484231a84 ./dir-001/data.009
+d244204b0e63d7c33b2dd3e5d2237748 ./dir-036/data.005
+d253d09ebe6df96b84565b3bf26e8bbc ./dir-030/data.002
+d2703dfcb228a9885d58eb6bf8c4318a ./dir-088/data.002
+d27c78713f252e2393ea942abcf4a4ac ./dir-048/data.007
+d2b6e1db7ab88233015e7d8fa5a6bb81 ./dir-021/data.009
+d2be814d2ae5f33723cc8794614483fb ./dir-008/data.005
+d2bf7c23465b9455a3ca27b50cc123ff ./dir-073/data.002
+d2c1b2b6ca16f4e4ff9750926aefacd4 ./dir-030/data.010
+d34362c0b86a934e848478067760c863 ./dir-021/data.008
+d34799931eeefa914727e0822c667fc5 ./dir-031/data.008
+d35a62ef99570c5ef5bb6291bbb36cc9 ./dir-101/data.003
+d39fdbbfcd1e15fda146977224126f8b ./dir-011/data.009
+d3eb0f4bb3b04b412907e453c82bb89f ./dir-035/data.007
+d40f0f333fc2f02a4266d363897f3334 ./dir-045/data.009
+d44fff6de24382f14b0426101e737354 ./dir-110/data.008
+d460686d5f374017452fe62e3f95b4d4 ./dir-105/data.008
+d461cc84eb03cc6db78e0720648d15e4 ./dir-061/data.003
+d463379d1811241dc56a4ccc9bf68dfc ./dir-076/data.005
+d46c8c7b7c0b54ebd046c6209d1f8afa ./dir-054/data.001
+d4d0fae354af6cdcc3202c9aa8ff2e9a ./dir-019/data.002
+d4f3040cabb5fbce85528e25f20cdeab ./dir-061/data.008
+d51be6c824d053d4e75720d6c8f515ff ./dir-001/data.002
+d540ef78ac829556f9933dd6579db7ae ./dir-091/data.003
+d54f188240ba83df0932dffbb36007fb ./dir-021/data.007
+d5b52c7c054a27ba342bc7e53bfe131e ./dir-081/data.009
+d5c7cd835ff19cb7c70e17d3134263bf ./dir-074/data.006
+d5fb3204d70d906a74b760999e5b266c ./dir-042/data.003
+d67493efc7f10910daab14016546a47b ./dir-059/data.000
+d68ed1553d2660f509612d8ddd8bcd62 ./dir-056/data.004
+d6f097c83e62877b98951bead0282dff ./dir-040/data.005
+d6ffc513ced7b0c1005dd11f10924b88 ./dir-055/data.008
+d7a69319272c26b24631cc0abb1521eb ./dir-053/data.005
+d7c2447c79f584c5a4b2ec525c586129 ./dir-031/data.002
+d7e552057b420dabf022aa6b8267946a ./dir-030/data.006
+d87260bd7bf4aa6ec556d77bf958a36d ./dir-060/data.001
+d87f53fa0fad9af8218a27fa1b69c070 ./dir-080/data.002
+d8f379df1febe77c86990017745edebc ./dir-034/data.005
+d945d5a070b995162293f1c77ff15527 ./dir-018/data.010
+d9ed49e99f63581ccafe915b76f3f96d ./dir-102/data.006
+d9fca3922fa0e01fd527f8db69589425 ./dir-088/data.001
+da09dfe4cb9bd06c37473254e857139c ./dir-076/data.003
+da18c9351bceb7f342718d50fb062544 ./dir-006/data.003
+da247fc6c9e1f840d7ef58e86bbed220 ./dir-019/data.000
+da2e4fd85a49ba6b0c7659c7abf99ad1 ./dir-089/data.005
+da57bb441160e6555b30c75915288bf5 ./dir-099/data.004
+da9218453d4c99672e702f0fd7b9c0c0 ./dir-014/data.004
+dab2bec775140e6203daa6ec122f049e ./dir-071/data.003
+dab99d3d9dfc9d5c9f0d525716153562 ./dir-075/data.003
+dadc6c41f41b3ff28706df675eaa96b5 ./dir-004/data.000
+daff2d6af09718e4825b22b98f00b7e9 ./dir-003/data.002
+daff63e9d1ae3734d069d0dc0305be72 ./dir-109/data.006
+db210b89b1004f031eadd847e5a0645b ./dir-043/data.008
+db2b0158388ee251970c6454c8cd9a97 ./dir-083/data.002
+db49a13bd7e2320210df3a006f7e9f6f ./dir-043/data.000
+dbdba9607f2d777e10ddc67f50950e2e ./dir-057/data.005
+dc09e8a41db214d248148efbf9605f95 ./dir-081/data.004
+dc0a7007675041b30317afaf44ee708e ./dir-064/data.001
+dc153ae714532e2d34f1b7ea044b6ff9 ./dir-096/data.008
+dc1f4da785733bbb2897d94ce78bc7bf ./dir-071/data.004
+dc2f22dae3a3d34a18929506cfc6f277 ./dir-029/data.003
+dc40f9a57dfacd21d602218898ab93e7 ./dir-058/data.004
+dc98758c6a9b39a6a3deae298d579c4e ./dir-042/data.009
+dccd562a4a98653a3fe96d77741ddbeb ./dir-104/data.000
+dce7e7c23b5cba5b96b11d5300e00afe ./dir-056/data.010
+dd006052a28552fa069abf5043462570 ./dir-049/data.009
+dd079bd050dd7b83ff6a8e2fb5773ed4 ./dir-049/data.010
+dd898a6ab8739c0cf16dd72034bc7668 ./dir-046/data.007
+dd8c233b992da6babbcbc9ce7879051b ./dir-097/data.007
+dd981304897bc330f690d2040aa1e53f ./dir-047/data.009
+ddcd7ea13cae57498088c1994619b3be ./dir-020/data.001
+de7fe274e770b4dabdeb867fa92a12bc ./dir-109/data.002
+de8a70eee3e508a723d3b5d2a9901316 ./dir-055/data.004
+deb960b1268705a472e3b46181ccebfe ./dir-042/data.010
+debf081b6824f07c5f6c22db6bc152a6 ./dir-086/data.002
+e003aaecb77df91f04990cd45eff2dbc ./dir-018/data.006
+e0596ce1f833197052bf72fa4e45ec28 ./dir-074/data.003
+e06e45e369dc2fa98b18c35268ef81c7 ./dir-037/data.010
+e0c2f2d375b3fa8c0c47a029bb18cc39 ./dir-009/data.000
+e0d48247fcfaa83930555edf8a6647df ./dir-041/data.004
+e0fe16303d99ec21e6dd13ac27d2b5fa ./dir-083/data.004
+e13007540bfd0bccdceda2f824ae3236 ./dir-092/data.010
+e131a83d7b706104b800bcba7e89a9f0 ./dir-009/data.008
+e1697901fb44ebccf438fb056c1cbb03 ./dir-007/data.003
+e1be15cad90b65114aff80e0f922e988 ./dir-034/data.008
+e2e34027afd431af2b5ef0bc815a1623 ./dir-100/data.002
+e32174de64d871b47b38ab874aa50a39 ./dir-102/data.009
+e33dcc8d7ffd1e0fccfb71c6715f6e56 ./dir-049/data.007
+e382a45df3024ad97563f9c13a195181 ./dir-105/data.005
+e3a104190d1c461ffdac462d66dee7ad ./dir-090/data.010
+e45c6752ab067602a7e9a71b9f9105e3 ./dir-045/data.003
+e492d468364872187d50021aa490c367 ./dir-092/data.007
+e49ff5b90e7e7704d5c829c41a859c86 ./dir-047/data.001
+e4a0756e3e92ac6b266c4b26dd43d27e ./dir-064/data.008
+e4a0dbb8ed00208e9a4d293d1c259989 ./dir-105/data.000
+e4e5e5b2642d322e1b9539bb021e1228 ./dir-064/data.009
+e4e9447cdd3ee6f4a753a9fa3bc1823f ./dir-037/data.004
+e5c21a2614775ebb798752e4dbba7f52 ./dir-107/data.001
+e5d87d25b8fdce6d6f30b52230761884 ./dir-070/data.009
+e5f2783896a89baeef0c5f68d0f47382 ./dir-110/data.007
+e6b75284cc6be5b80c57dc613373eec5 ./dir-086/data.000
+e6eecf8a727f4ee6852e2f62fb941b70 ./dir-039/data.002
+e7068f5918b4ce52344808f68ad0a085 ./dir-002/data.004
+e76d156c81829e84fe6688266fb52e37 ./dir-048/data.004
+e776126c38f075d4d2d3ea5e81e36e28 ./dir-094/data.005
+e783cb0562a591793f817a659e708470 ./dir-070/data.003
+e7bd906fce62b116f9088b58737b32c9 ./dir-091/data.006
+e7c710fe94754f90fb64f9e7e89351fc ./dir-069/data.010
+e81eff29b7729656cf2e06ec4a604185 ./dir-048/data.010
+e82627067c5c15970580acf5939be216 ./dir-030/data.000
+e845537c1977f66004c079beb9af5d74 ./dir-067/data.002
+e8649a3c6600e3624f6f2c1ab36bd5fc ./dir-036/data.009
+e88289300b2f2dbcca4c69b96abb31e3 ./dir-060/data.006
+e92f7f1b0a07ac60b05786d5725967ae ./dir-005/data.003
+e9d61885e0bbe1341a7789ecba127ab3 ./dir-020/data.003
+e9d9fb125da6f7296c0ee69235fdc55d ./dir-040/data.006
+e9ebdcc7fc5ce3ec40ec2c22b56a0c5e ./dir-057/data.003
+e9eeeaccd7c260f610226d199dcc1133 ./dir-001/data.003
+e9fe2dd437c71180558c00664d96936e ./dir-057/data.000
+ea2d20b5948278f55f8700bb7cfb525e ./dir-094/data.000
+ea3a40a6ed7c5c7badcddc829240451f ./dir-000/data.008
+ea60b89846ffe9098f376100a15fd623 ./dir-019/data.006
+eab0df7e354bdd20324ff75aa354c67e ./dir-036/data.010
+eac4ad9e6789702729f14d480254df13 ./dir-078/data.006
+eae751b2f5890a8a2e66842500875489 ./dir-064/data.007
+eb213def8582bf9c391032ab810224a4 ./dir-030/data.004
+eb2239dc1c3284a743ec2480b66a440a ./dir-095/data.005
+eb39335474a5f114496e45855d65965b ./dir-030/data.009
+eb49c652a3a9b67f48bed5f453c513fb ./dir-091/data.005
+eb8ab8adf1fd8e2e81eceaa2e405becf ./dir-015/data.001
+ec111bdd9562902ed047cddc4e291e0f ./dir-011/data.002
+ed6738198877ba672174a23b39aaf0ca ./dir-050/data.008
+ed87c44257e44baa0486784489fe1eb7 ./dir-093/data.003
+edae2f977e8885aabcafea140e4ea445 ./dir-103/data.002
+ee03c3c5c80c543bf52029381455e0da ./dir-093/data.010
+ee90d8d8a67c5f06de9a35a505bd4d82 ./dir-005/data.010
+ee98acc4ba7f594a49b86364edcf4312 ./dir-047/data.006
+ef45a01355157d5c4a8ac9783d30b000 ./dir-099/data.010
+efe6dab69eb3503886b623ab24ae32e0 ./dir-033/data.006
+f0230c53db8fb9ff1a66eec12b28d3c0 ./dir-029/data.010
+f038a202cce579e29ed75ef2f8ec9205 ./dir-077/data.009
+f067ef339dbfa373842d6beb5d4c5839 ./dir-006/data.000
+f06af3887a662caed220e9fe98c12f6f ./dir-007/data.008
+f09311e30b55f3199d6b5891cf717bb5 ./dir-080/data.004
+f0b69d2184753e5341681ddf9bc0df32 ./dir-037/data.008
+f0db3f70a37f660ce31bfe0600b80b49 ./dir-087/data.002
+f127bead521c0da62f4a607ebd6627b6 ./dir-057/data.006
+f18ba5b02bbf03abe12fca65564dcb95 ./dir-108/data.008
+f1bf04664350afb4ce5a5f0dd245d2c5 ./dir-038/data.001
+f1d367dea7bb98a9bddd4f5cc7a9798e ./dir-065/data.004
+f1e646f46c36449c3412aed4cb164968 ./dir-110/data.006
+f214ca488221c804a5557a9b809afd65 ./dir-045/data.007
+f237d0598589a542815fbf5ef59751cc ./dir-054/data.010
+f2577aa82791ecbf27b9085a22c23ff9 ./dir-059/data.002
+f2616b2ea0b3ce8565e568c0ed8efacc ./dir-079/data.009
+f2cc443362b156a2228f4a69fe4102bf ./dir-084/data.003
+f2df3b5bbcb225df895cdac384145d84 ./dir-020/data.000
+f329736caf4ce7d80213defa11f3c65a ./dir-025/data.003
+f34fd4ff678b218e8780724d3bd2a420 ./dir-029/data.004
+f39243bebe1bbc71e85de2b3d8d7122a ./dir-107/data.003
+f49b053513974d593dcc2c461c96e2a0 ./dir-028/data.010
+f4c0d20fecc04dbf7a204e105f836893 ./dir-101/data.005
+f4cfb0beced90e2adf96d3f2fa2ba465 ./dir-034/data.007
+f4d745c385f037aafef08310fb194a2c ./dir-066/data.004
+f5084ae9ded9833ee8c63281f5ed1641 ./dir-058/data.002
+f519dd2fcfc3047101faf90bcf18654d ./dir-049/data.005
+f5258302f6ab8a38a7b6b05b10d35097 ./dir-055/data.009
+f5323d4d915d67f9d777d52374cd27c0 ./dir-016/data.007
+f5e7738a9f2c3d02929d009724336023 ./dir-067/data.005
+f62d0c3b799b25730fb6a43d0014f220 ./dir-022/data.010
+f6abfdb63fb4c981814704fedd4b18d0 ./dir-058/data.010
+f6f7d42879db7621ad209d45bd9d6a0a ./dir-013/data.005
+f70fa856aa1740b7ed824a5439665b0f ./dir-062/data.010
+f72df01f8f290bc6e05f972db7a01f90 ./dir-048/data.002
+f73a183eab3ffe4070277b9e7f23da56 ./dir-037/data.002
+f7f7b2f1b136a01d8a9b3f1f6c3f9e88 ./dir-025/data.008
+f81c088c701a88d9b396e30f98776064 ./dir-033/data.010
+f897e7735ef1808a5a7bf6129cf0e0c9 ./dir-092/data.005
+f8a696717bb5a5adecf00ddd097d8d0c ./dir-091/data.007
+f8e2186f04d4cb6801acc2c0a68d810a ./dir-049/data.001
+f8f774997c9388bb7a6d593e6224e998 ./dir-104/data.007
+f90e54c08be11e4aacdf3c02dff8ee1b ./dir-083/data.003
+f9111bb9930d80cea7b7db64f092d597 ./dir-068/data.008
+f969de462dd1b58a64bc75adbe73016d ./dir-045/data.001
+f984f85a77d57c6bd3b366771fd98ea4 ./dir-063/data.005
+f9a468508fd7e6db5a77e3101daf22b3 ./dir-100/data.008
+f9c8e6c3a0c4a938ceb033f151e541ea ./dir-077/data.003
+f9f909982ea33e776b985ee5aca5378a ./dir-052/data.005
+fa411f1f9f559b4ee3dd109c2e59b106 ./dir-081/data.006
+faa2bbf820f78b39454c4feebe08a3c5 ./dir-004/data.001
+fab4fefd2d8eb77c4f36c89959ae7980 ./dir-073/data.003
+fb2388d03c2723f15728bda9c1dc2762 ./dir-024/data.006
+fb524e3bb758f32e7d34e538a5e40560 ./dir-019/data.010
+fb539fb081f4a95ac5b5b5e11343e2b7 ./dir-052/data.008
+fb7dd48f35c128212b78551cceda244c ./dir-038/data.005
+fb8aa16acb9f7292384e265585f4dd37 ./dir-055/data.003
+fbd1db4da87c1ed8082d9cf94fc424aa ./dir-027/data.003
+fc04e84bb6c640f890854fc5775b9d8a ./dir-034/data.004
+fc21a043990d03703003a506b0662821 ./dir-005/data.000
+fc2a45f10e52e18918d25d640f751457 ./dir-099/data.007
+fc2e476a6d1b7ce71b51bd43816891a3 ./dir-096/data.007
+fc304616f24322e26a4666c0e7181e7e ./dir-006/data.002
+fc906d13df56dfc5580af823ca1af610 ./dir-077/data.006
+fc97b066c0af8f2fa40f2bc91cae3b56 ./dir-063/data.009
+fc9bd58f8f126a8406987360b64a91fe ./dir-004/data.008
+fcbaf30100050cc1bb990e98d30605b9 ./dir-006/data.010
+fcd7a6b7924260b997ae603eadfae59f ./dir-090/data.000
+fd1decb314835cbb95d4aa6e7bdf3359 ./dir-075/data.000
+fd38d0ddd60429b3c7071867a8fcfbc0 ./dir-047/data.008
+fd3e4c487cae1c68f05ea2dc81cba74c ./dir-055/data.007
+fd63004ae886ce8e520756c6eff04835 ./dir-009/data.003
+fe086b79a2c29f13437c1346a8cb53f4 ./dir-009/data.005
+fe3505df1642e9d306269e2e07ab1089 ./dir-064/data.000
+fe4f310b776e309503f523b8a26d3ba8 ./dir-085/data.010
+fe68ec6607c15f0ceabada101b382b0e ./dir-069/data.004
+fe7751a5487172303de648672602c28a ./dir-076/data.002
+feb8b69e6224a7ea72e881e3f4a45b32 ./dir-028/data.009
+fed540a11f00f1f80470be7b491fc45c ./dir-108/data.002
+fed5e00dc94ed751061194eccf2c77e2 ./dir-050/data.007
+ff10c7b37d705bc48a1fdee62ea7661f ./dir-079/data.006
+ff13d49326ff8759119e78959de628e9 ./dir-048/data.003
+ff216f0f2e540e9057874b0cb4fdcdb1 ./dir-100/data.007
+ff92bf04634e26a2980ffb6ad47f9c05 ./dir-026/data.006
+ffe078de3583025c4780c8f4305772c3 ./dir-085/data.004
+fff6015c3b8f791f4027791ac0b5f593 ./dir-063/data.004
+
+create cramfs image
+count MD5 from the image
+a6667acb1cb0685d9eb5b9cd3724766c mkfs-loop.img
+
+create loop device from image
+check the image
+mount the image
+list the image
+.:
+total 56
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-000
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-001
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-002
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-003
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-004
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-005
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-006
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-007
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-008
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-009
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-010
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-011
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-012
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-013
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-014
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-015
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-016
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-017
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-018
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-019
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-020
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-021
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-022
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-023
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-024
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-025
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-026
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-027
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-028
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-029
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-030
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-031
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-032
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-033
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-034
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-035
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-036
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-037
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-038
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-039
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-040
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-041
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-042
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-043
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-044
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-045
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-046
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-047
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-048
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-049
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-050
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-051
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-052
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-053
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-054
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-055
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-056
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-057
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-058
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-059
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-060
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-061
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-062
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-063
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-064
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-065
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-066
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-067
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-068
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-069
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-070
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-071
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-072
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-073
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-074
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-075
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-076
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-077
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-078
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-079
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-080
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-081
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-082
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-083
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-084
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-085
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-086
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-087
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-088
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-089
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-090
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-091
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-092
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-093
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-094
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-095
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-096
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-097
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-098
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-099
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-100
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-101
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-102
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-103
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-104
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-105
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-106
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-107
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-108
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-109
+drwxr-xr-x 1 root root 220 1970-01-01 01:00 dir-110
+
+./dir-000:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-001:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-002:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-003:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-004:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-005:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-006:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-007:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-008:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-009:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-010:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-011:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-012:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-013:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-014:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-015:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-016:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-017:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-018:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-019:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-020:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-021:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-022:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-023:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-024:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-025:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-026:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-027:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-028:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-029:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-030:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-031:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-032:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-033:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-034:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-035:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-036:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-037:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-038:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-039:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-040:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-041:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-042:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-043:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-044:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-045:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-046:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-047:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-048:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-049:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-050:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-051:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-052:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-053:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-054:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-055:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-056:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-057:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-058:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-059:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-060:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-061:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-062:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-063:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-064:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-065:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-066:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-067:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-068:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-069:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-070:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-071:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-072:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-073:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-074:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-075:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-076:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-077:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-078:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-079:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-080:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-081:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-082:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-083:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-084:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-085:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-086:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-087:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-088:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-089:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-090:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-091:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-092:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-093:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-094:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-095:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-096:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-097:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-098:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-099:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-100:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-101:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-102:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-103:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-104:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-105:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-106:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-107:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-108:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-109:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+./dir-110:
+total 6
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.000
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.001
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.002
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.003
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.004
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.005
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.006
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.007
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.008
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.009
+-rw-r--r-- 1 root root 15 1970-01-01 01:00 data.010
+
+list checksums from new data
+0011a72f38da668f94edfa1d50743e2a ./dir-009/data.009
+0071beb4baa599141a7e446334d58300 ./dir-097/data.001
+00873c875f3461fb9f5baa9a039f218f ./dir-093/data.002
+0120fb81269598438e84f3fe10b24658 ./dir-100/data.010
+013b8ae5c4b011b87b142e5d60645f98 ./dir-020/data.010
+0167791462ffcaba8c221426c25cf455 ./dir-092/data.000
+01936c37169cc786cdc724abbf1961e3 ./dir-094/data.003
+01e5a8bee864f99bcfde91b2f501fa56 ./dir-062/data.004
+024b1d4cb93660f125e6f4783e26972c ./dir-072/data.003
+029c1199d16bc8da2afd2fe1c47b6859 ./dir-077/data.001
+02a1c0a82771c59236eb9f337dd0b4da ./dir-073/data.000
+032cdb1ac223adf9ed45278e64f265f0 ./dir-083/data.007
+03655d081ce567a4d5fc8e0c3dc59e3a ./dir-085/data.006
+0397e01cf6805728256fa9272ab672c4 ./dir-062/data.003
+03a58cec58f7b74c0d8803e5a05da20d ./dir-107/data.004
+03b3b16547b25e9484c516f5e88e5c75 ./dir-089/data.006
+03b4ed70f96d5c693bcf7f5a479ecd9f ./dir-014/data.007
+03d8a4ac5add5a95f3d9cac8f847c8e7 ./dir-023/data.000
+03de2f0958a76e9d01389b919c69ec96 ./dir-079/data.004
+043fa6cba08946ad508ca890a42f0644 ./dir-005/data.004
+04beac49e6d1f1f9067da249f8953fe9 ./dir-041/data.002
+04bf36721c9da55b2fd6780a5a6dcef0 ./dir-012/data.009
+052ac7ff047928a4f1c0d8bf38320483 ./dir-000/data.003
+053b15396096c2751d9e32b186bf0948 ./dir-035/data.005
+058879e070d51c1e2487d481f9c43b78 ./dir-071/data.007
+05bd438d7a151ebec24cceffb792c3bb ./dir-104/data.009
+05bd9b692ef2ff2c3e2e22a582bfc25c ./dir-021/data.006
+06492dee50157f379eabbe811bcb5ac7 ./dir-073/data.009
+068c724e76dba0c887c5323de7b7a434 ./dir-021/data.004
+069379abfd9f26e203c53923443e58a4 ./dir-094/data.006
+06c36f5db0c02127dbbca75c5d7c130c ./dir-104/data.006
+06d219d83d0d2142e9f7a06372e82f81 ./dir-110/data.010
+06df718f885fd71f2568940b616528c3 ./dir-059/data.001
+070178230ea47e90d00f9a6fa1975fd2 ./dir-079/data.005
+072c1d1755a4af7855dfea3c68cf270a ./dir-065/data.008
+07cd767ef24d4ec057ab98d0b4b388a9 ./dir-091/data.002
+081029b7d8bb27f6c4f79a2e4ba67d85 ./dir-070/data.005
+08268088254256c25894c6d76902cd61 ./dir-037/data.007
+0829c20c81113eec0759e5fdd74b1d3e ./dir-056/data.005
+08310ad78cbd3d6ee1864e5c145248d9 ./dir-103/data.001
+08478c7a523a8725107ad804a7dcda1e ./dir-096/data.003
+08763d238e02d7ab57d762b58038e38c ./dir-054/data.000
+08f96bf68eea8b82bce1a5c1565075be ./dir-060/data.003
+090ed88036a9618e4c44858db399793d ./dir-044/data.008
+092baa8d2659ed94803e652be4c8afe4 ./dir-099/data.009
+093d2d4597015cae42df7d3e2e3bf802 ./dir-062/data.009
+096b7a4f67a561fa2933bbefba032c67 ./dir-025/data.010
+099bf4107ae009497abf52d6d08f5b36 ./dir-013/data.006
+09b4f5a2b49ceba752a604297ab60635 ./dir-049/data.006
+09ca2509b418b5721188ea044ef6b4c2 ./dir-062/data.005
+09d6a844a0f194f884c8bfa6ed830a0e ./dir-106/data.007
+09d9867f561d35d2de37d9ae29400ee0 ./dir-084/data.001
+0a4f9161096ecf8ff8397cffcd9bf2c7 ./dir-000/data.002
+0a54f2a8347cad7e806cd0280b617463 ./dir-017/data.005
+0ada042828a700ad2489a23473d8e90e ./dir-003/data.004
+0afd3b49f16d29ebbc6f479a39ce7bfa ./dir-037/data.003
+0b0fb72f03db99cc722d4aaf2a98e5b6 ./dir-010/data.005
+0b508b5021efe48abeafb59bce6a3f6d ./dir-094/data.009
+0b938f0fe7bbb651b1d25f7763ae6d52 ./dir-052/data.004
+0b99746f048b6e421a452e930253bb15 ./dir-056/data.008
+0baaaee1ecaeb5f9cf8b7567afd4ef89 ./dir-026/data.001
+0bbccf04109b26f8d4f1cccb00f727e9 ./dir-053/data.004
+0c1e3c869b0adaa7ce93879a151776df ./dir-001/data.006
+0c8211ef42d75892c707f022e2a7d452 ./dir-043/data.004
+0c9298aefe72004d34643eddef8f4f1f ./dir-109/data.007
+0cfcc152235ac2f1569c390084b6d442 ./dir-012/data.006
+0d13557f56667831a853d422f40cb88d ./dir-014/data.006
+0d3cd9b22b91391d17c30e79fc892a62 ./dir-062/data.008
+0da117532cade43a9b42b681dbb4d97b ./dir-047/data.000
+0db8aea5ecef040742e4d9b3baa76dd6 ./dir-030/data.001
+0dbac1d697cc77685e1fb884916c1ae5 ./dir-026/data.004
+0dbded4d22453c74ed8ca876c759c1d0 ./dir-025/data.006
+0dc89ad916055c7321ad89e135d5b565 ./dir-051/data.006
+0dcc1bb5b8c671fa906a4c027f781149 ./dir-002/data.008
+0def9e49d46f81887afd6004ba27966e ./dir-017/data.003
+0e12577e454a44866f54f99738637d3e ./dir-059/data.004
+0e20a7189f0a9d2435f3bca1c3a6111b ./dir-053/data.003
+0e387d4e1d2669edd5527676dc5aec88 ./dir-092/data.001
+0e4d615c2aafda7ca9e24ce5c4637047 ./dir-046/data.006
+0e64c356b46f76923195fd49d452cda9 ./dir-092/data.004
+0e8d99a3b34733488d4d0e91837ae625 ./dir-010/data.003
+0e93cb8206b3d92c6b377f5f0ae6c3ca ./dir-101/data.008
+0f048b9bda6f694d90e961a5f83ae200 ./dir-039/data.009
+0f5cdc65ef8473f32533e3f56dca2ea4 ./dir-039/data.010
+0f99dffbb780bf4ac5381f2f14782a6e ./dir-041/data.000
+1029e912f6ecc9305585e8333d71602c ./dir-101/data.004
+103b8e299b6ed5b47d5eb6af7d04d85f ./dir-001/data.008
+10417903b3128497ffae512e9413d2bb ./dir-069/data.000
+108c615627e3a2874ffcd0c7daf93fab ./dir-049/data.002
+10e6e1097c9a4c17aeb211a2920e872a ./dir-080/data.010
+10fb5da04134c663b0554af084e2a7ec ./dir-095/data.000
+114f6bc0fcd87635a6bf304008e9b5c4 ./dir-093/data.000
+1151ae62db155a01571d7c79ee9307d3 ./dir-002/data.010
+11b3dec2bff965af6b36670dfd7ae573 ./dir-056/data.001
+11e361b75dffbe0ed09cda638d87e2cd ./dir-047/data.007
+11e9c06c0d7c355f1bb0bf8ad3376acb ./dir-083/data.001
+11fb59cb3557081ed7219666b74374b4 ./dir-004/data.005
+1251803d9b31ceb1ee2900a8407c762f ./dir-018/data.004
+125f71c5016e92b3659070ed04f58be6 ./dir-060/data.007
+12aa5d0dac0eb51e7d22b88246282f03 ./dir-093/data.006
+12cfb3af86b7cc141a3fe9a6268726a5 ./dir-024/data.005
+132af7005255cc4b038ad9021eca3840 ./dir-066/data.005
+13c8eb071c8e8bd68421d37f925601e4 ./dir-016/data.000
+13dd14e55cda92def6f11db482434a00 ./dir-022/data.008
+13f67366ee5c8adb40e80d3a5cd17fb7 ./dir-066/data.001
+13fb236e5f27b789fc31f1cf5b1b8892 ./dir-015/data.003
+14506c18804debcebf27a377aa04eaa6 ./dir-087/data.007
+14528bfaa0a1aca63cbc80acab96f800 ./dir-051/data.008
+148cf5c5feb722092441ec87b7a5611a ./dir-025/data.007
+149b7674a92796bec7f6066bbdef9a3c ./dir-027/data.007
+14da08b2d85bfc81c0b0b92817989791 ./dir-033/data.002
+1500a4c5054d87dd61c392f33868da4b ./dir-038/data.010
+15987cb3da62f45c7aee7a0ab9518206 ./dir-089/data.001
+15c05327f337c7d7414d472fa770ec3c ./dir-038/data.003
+15ccd5a312eb772c85a44a63099322af ./dir-045/data.005
+15f30a3264c0f8c57e6d7497a4064fed ./dir-100/data.003
+16156718becebf0f975136dca6c6ae56 ./dir-042/data.005
+1624d2a4ead61cb3c8e25c21794ea679 ./dir-106/data.006
+168b97bda8aa6f795d8f7272194d1d5a ./dir-020/data.006
+168f7eb82dd7eb78c4a5221d2e581dde ./dir-065/data.002
+16cf8c6acd3cd1ca2fc4bfc9b543982a ./dir-007/data.009
+1714933b11a4a8e600057565866ec423 ./dir-080/data.009
+1745656f9601fbd5163144500eda6568 ./dir-057/data.004
+179353ce148c37425d766ea5b43dc32b ./dir-023/data.007
+17f7787457e5fd1a8601dd2375eea777 ./dir-036/data.003
+1815c6317528cafd2a1e61429d29e1cf ./dir-008/data.003
+1836fd39b05d94a860d727f972a18729 ./dir-029/data.007
+186992572e97dc0a3688b2202c066a70 ./dir-066/data.008
+18b4a437d81acf594cc1482031987f61 ./dir-058/data.009
+18d978c6f54b50bacc51b5be2a6ba6de ./dir-051/data.002
+18edf33da2c7e85b6a2d54b04f79665e ./dir-093/data.009
+1947681ebdb65cfc6a48556ea9d923d9 ./dir-023/data.005
+1969ecd225b9d6fa4029bf673dbea4de ./dir-036/data.007
+19a34f8c9016cea8d58f02b816d4475d ./dir-065/data.003
+19c3f7ba63f64cd6e84d28e974834101 ./dir-012/data.002
+1a35e19c6fab4fa1d818e6efb79a7b18 ./dir-052/data.003
+1a92fd5a4821e924461429577491407d ./dir-002/data.001
+1a973f2c00d0090607a05d608b81897f ./dir-088/data.005
+1acdab480c52a454ba5552c29516d933 ./dir-073/data.006
+1ad17c4603609a36a704914e6f91d1e6 ./dir-034/data.002
+1b1ddfb88f0cf37d96a44edeb26629f9 ./dir-043/data.010
+1bb53747be6ad8a3e7da57c60ae54bf4 ./dir-047/data.010
+1bbb6b1ea7806b92e431aa481ba53256 ./dir-059/data.009
+1befcc0040c6a3b7e936a89b7dcc8d1f ./dir-054/data.003
+1bf3d96c63f0825a0238b3c711b2add1 ./dir-104/data.004
+1bfe6367c46e50e34f9f68debe2fd9e5 ./dir-062/data.002
+1c05f31466a6b05f1d73120760421b07 ./dir-017/data.002
+1c100fa4a99a635b39826fbf32a185ea ./dir-046/data.000
+1c4070f6f2506a5d59dac63579db5c5f ./dir-009/data.010
+1d286ac5a7f4477b07cbf2b8fa608f31 ./dir-022/data.007
+1d842f952850ecb07b9f8ab59cdbbdfc ./dir-074/data.009
+1dabe77be130077a1e2de7b1b243638f ./dir-108/data.001
+1e4b90e70c5531193b82cc3b615853a3 ./dir-083/data.010
+1e4b99c0c6c97cbe59c01b6b81cdd55a ./dir-000/data.004
+1e6fd4ee4737ee447ade2165104f4dc3 ./dir-044/data.001
+1e82a5e977e75d6ff12ba4e4b8121994 ./dir-025/data.001
+1f0a7ad9330818153e6d13705389f506 ./dir-098/data.004
+1faa10ff54c51e9e6a691d2020b28180 ./dir-013/data.009
+1fbafd0531f5dbf3e84a85c3afef7159 ./dir-091/data.004
+201882708185fd15ab164826e7e4ab3b ./dir-007/data.005
+2028e25ee7ea2410b05c96e2531999af ./dir-008/data.009
+204f64ca934489c9c321b7716abe6137 ./dir-013/data.010
+209ca1185749f5f760f3c2b1eeabcf94 ./dir-080/data.007
+2104bfa0d5cc81662f0f251dc88ed1f0 ./dir-002/data.007
+213356c6e050aa1f44fdb67554d9987d ./dir-100/data.006
+21ce95875b349ac8c4a5661ec7fb1c5a ./dir-108/data.009
+225117899bdd50b6fd754fac468523e6 ./dir-046/data.004
+22c7c4d61b254e67bfb62292f6813300 ./dir-006/data.009
+2305cdd515ea03e0e3d9dd7893c48e5e ./dir-093/data.007
+2343947bcb2aca5a583434e20b9afe83 ./dir-031/data.001
+237c5d3b7a556670a119b6bedf4a7a44 ./dir-064/data.005
+23887fc97d5de846dbb9b26fe48560e2 ./dir-105/data.003
+23e98c99c14dc74bf33f40f8438d5947 ./dir-035/data.002
+23f2dcf6bb0454fd2058442ab6c92b32 ./dir-059/data.008
+23facd50784b91efe2e5e81678bf04bb ./dir-069/data.006
+242be68b3720e5868e7f7652da5af043 ./dir-006/data.001
+24a863973f8ef674b357e1189b40de69 ./dir-060/data.000
+24c9f4371c9367eb54479198db061748 ./dir-070/data.010
+2537510cef5e66126ab4a5f2038de98b ./dir-011/data.004
+253e7dc0307e545fb44fb5e621883895 ./dir-002/data.000
+257394c9dca3db7e737ffa1d0419317d ./dir-074/data.000
+2585dcfae46bc4c444f34416e48da371 ./dir-050/data.009
+2595c5d5f15648f5b784cc327a0b9480 ./dir-077/data.010
+25d83de09d075036c37f4fa4084e81f3 ./dir-066/data.006
+25dabb63db7e69e49a20078e3f1c7398 ./dir-103/data.004
+265905e58360d4ee4cabe7fa24eb49bc ./dir-086/data.007
+269bc4b7f4d16c66907d450356661b6e ./dir-088/data.008
+26b6a74e3dabfd3c9a465f7053387f19 ./dir-013/data.000
+26b71d2a0e43c9837d567662bf9c7a01 ./dir-036/data.006
+26ba9e7bf1ffa275602ac235642aec22 ./dir-063/data.006
+270c63b19d9b4c9866df1a7a9d964ba3 ./dir-058/data.001
+2747d5dfdbd4f5ce76642911fd1cd7ba ./dir-037/data.006
+275719a7d2e10fd0cc0dbd406a5dd284 ./dir-030/data.003
+27974aa4801a7c3af842899272b9f6d5 ./dir-032/data.002
+27a1a827d803996650be7554790209bb ./dir-098/data.010
+283c9f8d3dc59cff4850ca6d976545d0 ./dir-010/data.010
+28503c859c89b5d9953f5bf084b44409 ./dir-096/data.006
+28ba83018c7f8d79a4bfb2aa94ecf777 ./dir-107/data.007
+28f2c7408277657e4c2c5b2e8017bcaf ./dir-088/data.006
+290616007d76bbe05a61c73693a9b070 ./dir-001/data.010
+29092e94be3e74a246c24383f920753f ./dir-035/data.006
+2957ae96634044a42bbc4bb0707cd202 ./dir-067/data.006
+2a11d7eceb35d8ff8248f0ec67a4ee55 ./dir-004/data.002
+2a39f7493e5646a38e9f71eb202dbc2d ./dir-029/data.005
+2a4b4ff47d7ab9711757637f480c0586 ./dir-096/data.004
+2a5a748d65991f63f6da39a97a22ccfd ./dir-108/data.000
+2a8860739f9d2dbda65e4d852e0fd309 ./dir-076/data.001
+2a8d705b90b82af455acfa7d9c0fc3c9 ./dir-069/data.009
+2ace4b0d8ef122bd918e8d538714ee73 ./dir-084/data.002
+2b08c2f1783f865051369bf41b47f960 ./dir-023/data.003
+2b31b68d17ec63b0e1a50176c49030e4 ./dir-076/data.007
+2b360e9c50225e1ebf8bf95fc0939e2f ./dir-006/data.005
+2b545e6e6ca3b6638b618c34aaefdbf2 ./dir-100/data.001
+2b5d18108e0309354b4f80b185e2323a ./dir-057/data.010
+2b82448e6fccac3441d9f7d7a13074d4 ./dir-031/data.007
+2bcc2819a288ee4ec2c9c00c585f67d9 ./dir-027/data.001
+2cbc9b3922e5d75a8c4e575e53065f2f ./dir-109/data.000
+2ce7c9d5e1a4aed1e9dec1aa85021f4c ./dir-010/data.006
+2cf7c6e038d3744275d8ffb8b4ab52d0 ./dir-096/data.001
+2d0494a350a570bf86596eb5dcd3e575 ./dir-059/data.007
+2d1cae3d5151bebe12ae7d97d9efb92d ./dir-008/data.004
+2d27ec0d318cf56d8ecc226a972db677 ./dir-027/data.002
+2d392a7b3dcfa6ee1399de9416a41b60 ./dir-083/data.005
+2d4433b6e32bda8e563f042fb799e86d ./dir-110/data.002
+2d70c129d857d22a8266c2e5f3ee4563 ./dir-048/data.001
+2d76b9784bbb68c670aeae134f1c6c32 ./dir-095/data.001
+2dbef0445d1b450b88b9e5817741f295 ./dir-072/data.002
+2dc184e8ece7744de9912d4671f2f116 ./dir-044/data.009
+2df5877dff7f77e48aa45bb96de9f362 ./dir-071/data.010
+2e03f7b258d00c0c5ff10425a701b457 ./dir-082/data.010
+2e0bf9030092dd77ed44cd7a25497496 ./dir-072/data.006
+2e0ee79666904e3629c801f2e39eeef4 ./dir-009/data.001
+2e43ada234775adb77188a840eee1525 ./dir-020/data.009
+2e648a138f04daba3ec30d9ee8502a03 ./dir-028/data.002
+2e90cd54f80352ec7d03fa98737245b5 ./dir-034/data.009
+2f253cb5c065c90cbc5d6667413862a8 ./dir-066/data.009
+2f51608cd1c0aed64f2b0b65fa1020c3 ./dir-025/data.009
+2f8d68bc8ec1c5db8ce2f70c87f91e68 ./dir-067/data.003
+2fa01a6b14ea91c02460c0beb70f69c7 ./dir-003/data.005
+2fd76fadb124c701e852763131480457 ./dir-009/data.007
+301e96925429a577cffd3805c2b6781e ./dir-060/data.005
+304d034c10c3f2e8659b25049028dd60 ./dir-104/data.003
+305eb027ab22375e29f6ce544fbd07bc ./dir-063/data.002
+30a44eacd0af674f1725fda3b7448f4d ./dir-101/data.009
+31179c50bc1553cce235c9aa625c16ae ./dir-105/data.010
+313fdb8585c16ffdeb009c0d3256a3b1 ./dir-078/data.000
+3169cdf524ba2005644d09ce2d72d694 ./dir-100/data.000
+31c5b7365750ca7fbf789c4ca325018d ./dir-107/data.009
+32928650dc72f8810007effa8db00119 ./dir-035/data.008
+32af92e23e453c72417acf56d3ab6fde ./dir-033/data.007
+32cf1dfcb9bd72353f46993006cb2d0c ./dir-003/data.007
+32e3f72b1fca5ac3176e8dbe110e757a ./dir-104/data.005
+3398bf733d4d26a7a8304740381a8333 ./dir-036/data.008
+33e82dbebbf710a1b203655510443ff1 ./dir-037/data.009
+33fc502a0d0616f76551446ef1965c30 ./dir-065/data.005
+3481e8b218141e6e6dc9b75296508b15 ./dir-033/data.004
+34a1997ca886d7c13ba4936f4c8e0daa ./dir-019/data.005
+34c9936c46a847152125e583839c12c6 ./dir-043/data.003
+34f102b63e5308964e2f9725caf6ec2c ./dir-088/data.000
+34f1627786d8d7715842af2bcbc92dd8 ./dir-022/data.000
+357671e20f590900a3869bc29dbee1fd ./dir-051/data.009
+35d3a1bd5dd1a3f7d0b50fb2c5406645 ./dir-039/data.003
+35ecc0144bca35f519985aaa15be26cb ./dir-106/data.004
+35ffbe6e62da5b0ae9c06363600b0715 ./dir-049/data.000
+3603dd8c1f2346ed0770aa548513eb34 ./dir-024/data.002
+361b845aa30dbd442cf2f0b87ad4741a ./dir-055/data.002
+361fd9b6648f95ff7eec8d717d179bc0 ./dir-089/data.008
+36270a415097865dba68478f69628db1 ./dir-003/data.006
+3653a989b9764b2fd530324a98ec8218 ./dir-067/data.004
+36551af77706ae56dc228c1151caa7a6 ./dir-062/data.000
+36b55f77570d1b46380d6018f52661e7 ./dir-109/data.004
+36d68b9cfc51aacce08065d37eb500c6 ./dir-102/data.003
+36fc31babad89ef26acd0337a79286d3 ./dir-049/data.004
+3704c5fd6a446d530bcca18004f2b31d ./dir-081/data.008
+3707760798d4e50da70bae0e8d2c4c28 ./dir-095/data.010
+371719fe5cd052be2a63c6444ec77413 ./dir-044/data.002
+37594be41d8293c0351865a708e2af05 ./dir-063/data.007
+3790a2bce420a800ff76ddc55d4c0d0b ./dir-086/data.001
+37d9e0f2d9a39dbd9fb06c4dbc1d932e ./dir-065/data.000
+38131b5fcb1ba7f74bc3fb89091d67fc ./dir-104/data.001
+382085df5f142fde02b492569b27f7d3 ./dir-078/data.001
+38307eabf1109b786760384dbe7013a2 ./dir-074/data.010
+383aec3d236bde3134bbb811487594ae ./dir-071/data.006
+386bd313b7144bdb7121d9d3cffd8019 ./dir-095/data.002
+38837c036576ad2afb1382e10d229658 ./dir-109/data.001
+38993a904f2d37087a5c4ed413d331d4 ./dir-081/data.007
+38d82c4bbcd2def41636f02151bf5319 ./dir-084/data.004
+392ccf5865fdf0dcfa599034934e4fcf ./dir-072/data.009
+392d6c23d5b6a58ba4553cfef5245191 ./dir-109/data.009
+3973246571d48f5fbe9ddc337ca2c8c9 ./dir-017/data.001
+39de945a763bd83bde787879294c9b49 ./dir-005/data.002
+3a4f397262e2b830fbaffed4d03b37e9 ./dir-016/data.002
+3a8363fc39e4211afe3ede5688f94705 ./dir-077/data.004
+3a897a684dd2b32b4fcc2275988fd080 ./dir-018/data.008
+3a94ca85ac994f47e8010011fc5c9582 ./dir-000/data.006
+3af8ed9c599b06ff2d99fe5563380c30 ./dir-103/data.003
+3b1922fb43fb222b573a9f44bb805e0d ./dir-029/data.009
+3b72b8b4984cd51e67ed03f59da716b0 ./dir-023/data.004
+3b8a656973178c5815451d8c64fa1d21 ./dir-009/data.002
+3ba72c45fd0177d48f6a7a5121fab5a5 ./dir-003/data.001
+3bebd9b6fa4aeb9772ca238fb88ddcf4 ./dir-073/data.010
+3c99ce08823c1c1b24e1c77574cb7bdd ./dir-075/data.005
+3ca50a374e0c46ccc35caba06244a592 ./dir-073/data.004
+3ce0c739083cc21ae6f19eb377258fb3 ./dir-097/data.006
+3cea42052a833a1c65ab6d3de7db95ff ./dir-044/data.005
+3d05c1ebb7adbd72eae064b2b16ed5bd ./dir-015/data.008
+3d362d4af7ac442b0be8a6e1eaed1222 ./dir-058/data.003
+3d3fa69ef78ff4eec72c4a7d62d44320 ./dir-057/data.001
+3da10311ab35b313bcea0b3dcd3ec320 ./dir-085/data.007
+3da5bfc1f121da4a35c5c1a26bdf2871 ./dir-080/data.006
+3dfd203b61606012e3fe4d794026de45 ./dir-060/data.008
+3eb835385bbaa4c12dc66ad5a5787ac3 ./dir-110/data.003
+3ebf14bea5f774ed68dc3aaecfd4c7a7 ./dir-086/data.006
+3ecabfe3d7e0f39d1b77feb30bb2149a ./dir-108/data.006
+4017217c1fc3620f00a63bf7451d7d58 ./dir-011/data.005
+40565e6e9eaeba9538e068d7fc212025 ./dir-030/data.007
+409803908e1249d811421fdf5e7221aa ./dir-011/data.006
+409f1a5df32b48cc615b80f895333125 ./dir-070/data.006
+40da236dcfb37628a7383f110a34ca91 ./dir-018/data.003
+411bceae3a164955533dbad618dcdb19 ./dir-042/data.000
+4129b05173c9dc800c811c1c6ab554f5 ./dir-046/data.008
+412efdab02674ab591ee02c1e5f31d0f ./dir-102/data.005
+41315d3d575108a52e0fc5b07c503177 ./dir-034/data.001
+4141aa05325ffb5c530391d899cd2bcc ./dir-099/data.003
+4174e6169d645307ca8675205d40c853 ./dir-004/data.009
+41bcffb4e71780db8fed9818124e5b6c ./dir-063/data.003
+41ce67b35ee64b9e86c13efcfdd26ce3 ./dir-050/data.010
+434b0fa579b255430214de352151d112 ./dir-041/data.008
+434b26f00c175f276a54105171251d52 ./dir-106/data.005
+435ca233503eefbac946d3ca654f9cc0 ./dir-072/data.010
+437ba3bb8dbb675b158dae0f59d6a445 ./dir-061/data.010
+43c49573357ed53dcc2e364ce112b62d ./dir-061/data.005
+4404b6e4f59a841fe9a3ae2e41c4c488 ./dir-071/data.000
+4426aa424dd25ce972b63b5c47b9530f ./dir-090/data.006
+4448d6c8b60d7a4b08b534ac1059d668 ./dir-089/data.002
+4472ba00b77a4dce904589c457b1bc97 ./dir-106/data.001
+44861e8e164ea51709c069fa286134c6 ./dir-056/data.002
+44961468f08ee80c619adf0154e96a9f ./dir-101/data.010
+44b702805a58f14493bae3c2f2716dc7 ./dir-088/data.007
+44c7d952d5b9528c1263ed11b5dc2ae5 ./dir-012/data.000
+44c825fbf1d23fcabf45e42e395423cd ./dir-085/data.008
+44e3ec8f10255d109773f3204a5020e9 ./dir-022/data.006
+45034f1052987e5d9e2d4bc0f463ec7a ./dir-025/data.004
+451ee4f9e926765a2c07f89b1a2fe078 ./dir-000/data.007
+452b4b43200d2ece30016ae96415718a ./dir-084/data.009
+4535f5d99abee30fe2e0d67098dabc62 ./dir-098/data.000
+45622ac4ee28752eb56eaccfb5462c50 ./dir-016/data.010
+459ba24d0e03a81f8f6ed35700f46460 ./dir-101/data.002
+45af2dca2eebc714cd0ad63f77ceaaa6 ./dir-040/data.008
+45be06fe6e509b43b6f68c52835d54b8 ./dir-016/data.003
+45c250d9570716010f4161f1bff5e450 ./dir-026/data.005
+45ed7a5a54578d5985153ff70330c228 ./dir-011/data.008
+45fe9fcae165a9d88afa27fc3c933406 ./dir-095/data.008
+461b0786590556a5729e1e23512db49e ./dir-037/data.005
+4647cb2043f623bae8860e7e8b58834a ./dir-013/data.008
+468171cdd32b0e94c96a9be1f298738a ./dir-044/data.000
+4690dd33ffa2329e5bc456ca24ec7f72 ./dir-031/data.009
+46f75198e440d8dfb43207eb4965c2c6 ./dir-028/data.006
+4710eacd6b6df6fc6ac2da5ebca94546 ./dir-003/data.009
+472cf0ecd1b1691bfaa8d5fb86c21366 ./dir-075/data.002
+47344f3f3f3a806ff636267eb39369e0 ./dir-082/data.006
+47d6c7304f9210ee16dc2dc5fc2a95ed ./dir-048/data.005
+4829f629b1e545f4cf68f50e9f5e6209 ./dir-022/data.005
+484a291638f8224eb40442351f3e7f41 ./dir-054/data.006
+48e42891bf2fe053538884127b0a50ce ./dir-021/data.001
+49077e5943a100b6771a44be07704a4b ./dir-010/data.001
+493e84baf6c02b38324071c87f0afb4c ./dir-024/data.003
+49a02c341e5de4bfd938ea0326ddd811 ./dir-096/data.009
+49b11279f83f22ff537134bbcc84ff92 ./dir-099/data.002
+49d6ab85b50ab5386f8282a7b98a2083 ./dir-026/data.002
+4a1113a862eec6fc1a29a75a985f02ca ./dir-044/data.007
+4a209585e44265cb0f363756602fca0c ./dir-027/data.010
+4a3a6543fefb560f2383615d905a6a96 ./dir-053/data.007
+4a4c1cc3c778ca8a5ece35295591c423 ./dir-089/data.010
+4a8a0e0c68ee95b541bcf37ceb6fca38 ./dir-032/data.000
+4b7be12f2afafa942663af88a2a34797 ./dir-107/data.002
+4bdf8bf31569a06880b85e176703d3c5 ./dir-038/data.009
+4bf489ff656fef7ba0f643ce64f3abc0 ./dir-038/data.008
+4c010f92cfd01db492b981f234a68437 ./dir-015/data.009
+4c7badffa374dc118c81ff0d04f316b4 ./dir-032/data.007
+4c8f651cae18db445c8bb03efaf57622 ./dir-055/data.006
+4cb4c1f1d3bbf4fda768b972661567fa ./dir-033/data.001
+4cbc6cc296c87027ed9695c018ab5307 ./dir-068/data.004
+4d064d4959a79abc8e3d073675d6c001 ./dir-002/data.009
+4d0e137ae9bd6e011cc974daf47e514f ./dir-020/data.007
+4dfae4a9ef4e894b3cd8209a4ae78bce ./dir-068/data.006
+4e0f932047dc3244c2fe215002ea8ad2 ./dir-099/data.000
+4e26ef37e9c5b6925ad2938e9b5d68f1 ./dir-043/data.006
+4e41ff62e105358125e0b0330a042fdc ./dir-001/data.007
+4e45a4b7ccbd79003283b6e47d69327c ./dir-093/data.004
+4e548f34d5bbeb56fa7eb58cb4222837 ./dir-098/data.009
+4eb2096e115b6e2e7639881ce734ca09 ./dir-012/data.008
+4ec96ab3466c9011cd1555abe6992acf ./dir-029/data.002
+4ec9bd108f0df0b186f0777b60dbe941 ./dir-011/data.003
+4ed5125c06e4188a8e73369cec758b9d ./dir-028/data.001
+4ed6c21f5b75c31336cc7873e795ea4d ./dir-063/data.000
+4f14cfa2698af420ae1ae5e40ce45a5e ./dir-033/data.003
+4f3ff759eb10d55898f3b189c6b8c80d ./dir-000/data.009
+4f66d35fac82aa35322ad3cc5b6905db ./dir-001/data.000
+4f898916010eb8aadb72e455d5b821a5 ./dir-051/data.000
+5026fd8e09c8daef0a1da96a28833150 ./dir-081/data.005
+50389a4e73a9a472b5a5c4a8910d7e96 ./dir-011/data.000
+503b514c984dae8ff69f8bfefa824fb9 ./dir-016/data.001
+5048be8c2e8e765ddb63c3b371852b72 ./dir-053/data.002
+5067419869faec43f85c8c327c3d378d ./dir-008/data.000
+50725a5941d26b2947677bfe0c7761fe ./dir-066/data.010
+50771c76a8213245be499adf1d4311d3 ./dir-100/data.004
+5118ac53d3c7b31072833f966efa7e9f ./dir-064/data.006
+5144c4da0e2a374d95ff48a34c3297c9 ./dir-092/data.002
+514b076e0f0511f216379950f2714f90 ./dir-024/data.004
+515ee463937cf2a3ff157b7891f96eb6 ./dir-052/data.009
+516264e6cd37058c67a6791d59482dda ./dir-080/data.005
+51632cb7f44f5bac30f5d6f4a9edec79 ./dir-097/data.009
+516e6bbb96f69262d57f3a660bc801b2 ./dir-090/data.003
+51ce73b1230c06d1539e6de542b63006 ./dir-007/data.006
+51dbe24d360ca38feac1b436754f9b4d ./dir-089/data.007
+51eaedbaf33988a48e6af65a5b117d38 ./dir-016/data.005
+521dd773fc4171de150b5f8995a88d21 ./dir-009/data.006
+52693bd5407a2471cf5156afefdaf888 ./dir-027/data.006
+52731e0ad3028c530bb4802a4754c408 ./dir-008/data.001
+52ddff97b316a494f4737e0614850f57 ./dir-069/data.002
+5301844c968d05257f1e6531e8ce0d54 ./dir-003/data.008
+53763fd0a894b8e121c281cee01f9402 ./dir-068/data.005
+53d4507a2df8d22076d81da5c0100ebc ./dir-008/data.002
+53f5cc09d57af60fe72559eca2f1a603 ./dir-011/data.007
+546662c6282b5d422413f53037df0d54 ./dir-073/data.001
+5482b2507dc94c8edde840b619b34944 ./dir-081/data.002
+54a6b5192a4fb2d1f2b26866d13c05c2 ./dir-088/data.010
+54c3a5328276de092919bf966e9dd7ad ./dir-066/data.003
+54e78419ba7cf291e26f1160bcd09469 ./dir-028/data.007
+55241d2474b0bee70f50e7629fba3a10 ./dir-070/data.007
+553e65cb3ee0a9a5572826ff4401487c ./dir-054/data.002
+55adf518280a54532de6c33c258a8e6c ./dir-080/data.008
+55b8d57f3beec6a8075221f08752ff42 ./dir-102/data.004
+55c76bdb82f8fa4e0d22f9e41ad3ad0a ./dir-075/data.001
+55c8d13f682a62306c8d29746bd7e6fa ./dir-026/data.009
+55d59fcb49c07ef165b3108621f08ab0 ./dir-071/data.001
+55d66d74201a3a3e5b2d53f9fbb52bbc ./dir-019/data.009
+55d891ada51edc5dec3837cba7c5f2fa ./dir-041/data.006
+55de7aed4c69e32378352e6dd9a3e5ce ./dir-057/data.008
+569f645920cb1a54093de547cd92f337 ./dir-085/data.003
+56ef2f747789aa2ab1ef6c7947b50ed4 ./dir-067/data.000
+571ada4c832aa9ed66403352b06a07df ./dir-016/data.006
+574ce2273f4e17cd6739a1772d43fb67 ./dir-090/data.001
+587e740432de54932b49f4b0b1a9d8cd ./dir-067/data.008
+59226032ef2efb991fffc5d2d2a67dd0 ./dir-098/data.006
+592e2927e0468af2a86bb10e2a5cbffc ./dir-068/data.007
+594f1a21b98ca4a8b8981164f46edd0a ./dir-023/data.006
+59a3f6ffb6432a768ffcfc390ba0d5e4 ./dir-005/data.007
+59a5751a44478789aa08853a7fbcb4fc ./dir-035/data.004
+5a034a2cdb1b397b435c7119a725e622 ./dir-108/data.003
+5aabd813ce725146f47bc73d9449b50e ./dir-107/data.005
+5ac445c2b46c50497deb1e2df3987646 ./dir-065/data.006
+5b62c14d607c393885cd0a77b445a0e3 ./dir-014/data.008
+5b8b4050492565d8661a4431c7d9f0f3 ./dir-010/data.009
+5bbac4ec67fa84d40d8a8a4ba9d00d31 ./dir-015/data.010
+5c0252cdd7cd0d144583c673e26a4cc6 ./dir-042/data.002
+5c1840580df0a528059088e45f23f837 ./dir-091/data.010
+5c24175346dc431720a833da4348aa78 ./dir-105/data.004
+5c2e4b18bb6e78ea09b958f03ba0e750 ./dir-068/data.010
+5c4c416cee200ee67bec2029cb56b6db ./dir-077/data.002
+5c535e14b7cd449a40893ee6a22f60e1 ./dir-031/data.006
+5cd631f166a2970f7aeb8960ace0f8ef ./dir-082/data.000
+5d6a823c24460b343c6e1cb74f9bdb8e ./dir-038/data.000
+5d869905fdbd4409d87d484db8cfd7ee ./dir-058/data.006
+5de94c0de3c4688b56b0d2fd2a892b98 ./dir-026/data.010
+5e5742ef3a3e4f4384ecfbd9663a18eb ./dir-105/data.006
+5e5a607a9b6945a1f4d17922466f86eb ./dir-028/data.008
+5e824e0add90548b50e8def0e0ea15af ./dir-051/data.004
+5edaeebaf220564c0f9fae53cab3b8ad ./dir-064/data.002
+5f2ebfc0810170305609aaa17d3b61a3 ./dir-096/data.005
+5f495116cabd24317cff89e1b946f93b ./dir-068/data.000
+5f82c03aee04bbc7b13bbe81d86f39d2 ./dir-036/data.001
+5fb6b749a06a1cd8e9e8b29383bfbf4d ./dir-090/data.008
+5fc369bef72f37987eb22899e8abe816 ./dir-076/data.000
+602dfd7dc13dca72e5cdb2a55d10e2d7 ./dir-005/data.006
+603c4a2b2591514fe3f89847fe45c9b9 ./dir-101/data.007
+6069799fce0384528b5b6f2978a5923c ./dir-101/data.001
+60a16f4eba5fcac35a449692e475ccae ./dir-088/data.003
+60a3276323425d3942c38a9d916fbcac ./dir-039/data.008
+60a658d52f59389789cbcfcaab41a1d8 ./dir-063/data.008
+60d6c79df48202637082c2213d4ccfdf ./dir-075/data.004
+60d87fb1da7baa439822269fd05467dc ./dir-028/data.005
+60f939a750264ce597002a4c5aa38b0c ./dir-012/data.007
+61724bf9d882734d00cbf2174586cf1e ./dir-081/data.000
+61baca9d4f0c0e1ad440f516eeeccf24 ./dir-040/data.002
+61bd0e648bc1911d452de89d4edcac81 ./dir-038/data.006
+61e13adcedfa2dc97c6fb131c48143af ./dir-078/data.009
+62102e0bb6e4a034d0df190864d3034b ./dir-078/data.005
+624fe86964a8866aa072ca98944d1cfc ./dir-072/data.005
+628a3ac4c873a169d8a3fa9df6615f4c ./dir-109/data.010
+62e10821dc2f80b608f7d789fe83923c ./dir-060/data.010
+633726cd4b41178c5506dd2b2eae0281 ./dir-012/data.005
+636f3b4bbc5e0d8b9042f1dbb35079ab ./dir-074/data.008
+637db8942597652106bd84d1c15341e4 ./dir-097/data.004
+63eb33e88241210c050942ca97a576ec ./dir-040/data.007
+64046b982a59442839a2d09b7470cf52 ./dir-053/data.008
+640b550e180d7c42c2d44f2ed2d7a43f ./dir-015/data.005
+642aed69a28a94bc3fa488fc6527b20f ./dir-016/data.009
+64bf70a1cd945cf459a07ec4631eaf0c ./dir-098/data.001
+654eb3426a0cfccbf51d147f29f8eb4e ./dir-022/data.001
+65bd86cae100830f420cb55dac2e15a4 ./dir-110/data.005
+65cedc58f0c41c8fdae422035b3750b8 ./dir-090/data.002
+666402e134e6ff70cba029c9852b0f97 ./dir-015/data.000
+667548fd68810e209ea97fe7b3fca1f6 ./dir-012/data.003
+6675d5082ea5133f6831499c95739594 ./dir-011/data.001
+669ffc163b66fc3abac6611758613a5d ./dir-089/data.004
+671e2b2280638d8e1d3a8f6b1d7ea8e7 ./dir-032/data.004
+675de03baf8db6f80962ed278b6e7a11 ./dir-110/data.000
+67a8ef2542009e755df5c9ac6f853d80 ./dir-026/data.000
+67bd34a30a05eb26b3f62a075cd856f4 ./dir-038/data.002
+67cffaada9805a90b11355402e635cae ./dir-056/data.007
+67ddfa9b4150737deff4914cb35fd713 ./dir-027/data.008
+6820b342440583f51722b9eb61b48d63 ./dir-088/data.004
+68336b681102e16e64f88a95cf470b72 ./dir-038/data.007
+683aa79bd3cdcdac7aa10ad1e2b0e028 ./dir-033/data.000
+6856991caa694e83caf6c0fca0233b82 ./dir-092/data.008
+68a46055103f6e733e5cceb707f6dd0f ./dir-004/data.003
+68e9e651dc7a564de214b282b9b5c757 ./dir-008/data.007
+6907dfe18a37643916742ba964bdab5d ./dir-027/data.005
+693f9c8b20a8a9279c4d43c80c3fa984 ./dir-097/data.008
+694e99f3b5dc56ba062fffe8381f8731 ./dir-000/data.001
+695cdc5bc7ba46e6aa38950daab71636 ./dir-050/data.005
+6967af8156573e442a1b6bd56d0a4893 ./dir-035/data.003
+69c1a52d538a67bf2a7e5c33379533b8 ./dir-017/data.000
+6a1bd41da62d260f746e0b01c7a13403 ./dir-052/data.000
+6a71aa155d598b5ad2fd6756da3c278a ./dir-098/data.003
+6a85596f81522c38c958910a4c0487d7 ./dir-060/data.004
+6aa3bbb45b6231513e0bee62e9a12a9b ./dir-080/data.003
+6ae19e39f7857f176f021a8cfe768a66 ./dir-023/data.002
+6af7255b3318607b1d5a7894d8caac25 ./dir-082/data.004
+6b780e7f72be3df9db712580acafd0fa ./dir-102/data.010
+6b7cadcbf875ee5ad53b47298abfaae0 ./dir-080/data.001
+6b8533dbffebb6ef2c1fd48e1df6ed19 ./dir-050/data.004
+6bc9e3203e2738ee225be6a45da6d077 ./dir-059/data.010
+6bdfbab8a4b20d71aca5aec66cf4c07f ./dir-071/data.002
+6be3c35f28f68861840f0345f70ff511 ./dir-011/data.010
+6bfa83d47d895ac06f74abcdfe24dbd5 ./dir-067/data.009
+6c324e185cf24623b8eab7daa010e222 ./dir-023/data.008
+6c32f3d5d270bf507f57edf28ac20214 ./dir-105/data.009
+6c8cb56bd81e30ebdb0167ea9c37f14d ./dir-001/data.005
+6c93aac45d9e019e7beec4a708a3033f ./dir-087/data.008
+6caf414d04c342f829887570993579d7 ./dir-089/data.003
+6d2229a029fe6481590413f2db98aa02 ./dir-002/data.005
+6d2a24dfc83ec50692a139bb2c4c61d6 ./dir-082/data.001
+6d38deab9a096a0487e9318265837589 ./dir-022/data.002
+6d3a2f17df2c7210851a2c0d52393c0c ./dir-023/data.010
+6d75df376c491371990eb1de004227ea ./dir-067/data.001
+6d931b032c977bd48eece3900cb75cbc ./dir-031/data.010
+6dd22b9dda6d6347c1bd9afec4793a4f ./dir-070/data.002
+6dd7811a0c6fc4d0742d46707145a3e5 ./dir-004/data.004
+6e32a7359307837e8ac9823de823555c ./dir-046/data.010
+6e5cc8f5f8c2a07b9de4a8b781d5b5e5 ./dir-050/data.006
+6e843730df663e5647de7ac5bd45a9e4 ./dir-074/data.001
+6edd462bc21cf66cbcba400669a8bb5e ./dir-007/data.010
+6ee09737e92a796d494ff85721185da3 ./dir-079/data.001
+6ef6e7d86580f5d0f7736bb57e93f4b2 ./dir-048/data.009
+6f314ada6407cc32b1f3e8d903b5c9b5 ./dir-017/data.008
+6f49da0120119efa5e4f89de195b4d2e ./dir-048/data.000
+6f69257227a260127a65a133508b0319 ./dir-109/data.005
+6f86c9c9ddf31fff41a6e48b52e05a06 ./dir-078/data.003
+6f957949973905e40beea6e33e465d0a ./dir-092/data.006
+6fbe3644be2de3423204d79bce06c40f ./dir-106/data.003
+70296c938c1220bf726197fc521c5da2 ./dir-083/data.006
+7047e1b8a6351da3504977a4c96edb72 ./dir-097/data.002
+7051be81c22bf0e394e8d89a6cc78a20 ./dir-028/data.004
+7077cac646a5b37a418664d366de8d2a ./dir-086/data.008
+70c913bbc3454d3af1d3b97a0851b903 ./dir-085/data.000
+70dbb0dcaf2612b4952b341651ad0c1e ./dir-065/data.007
+71214fecdee78675ad95b492df4017ef ./dir-040/data.004
+7171c7a1796cbc2355c6adb03c312daa ./dir-032/data.001
+71841f91ab1c873938ff4b4f018b2221 ./dir-014/data.002
+71a2294412b3029f236a254cb335ac98 ./dir-103/data.008
+71a6994ef2bf8368aaa2362bcfccdca7 ./dir-019/data.007
+71b4da91bd5142d3342d67d322fef2e5 ./dir-084/data.007
+71dbfc9057fca54a5a183446775e32b8 ./dir-016/data.008
+7214fcff02d0743210d754a37fb98b0c ./dir-102/data.008
+72ce0ff3d78837675c538e6a02a67557 ./dir-068/data.003
+72edc28e71c24a8c04faaa3c2645d936 ./dir-064/data.003
+72ee0b7f236d0c1de171c8618a8e8c7f ./dir-078/data.008
+732b1e0f0ab56898793589bef25f29f3 ./dir-017/data.006
+73bcb49ca5ca609cbb65147cfd405f3f ./dir-105/data.001
+73fd28f9099c39d6d2c92355c060d6ed ./dir-068/data.009
+74374dec8765151f8270209dca6fc5c6 ./dir-098/data.007
+7502ae05db65a32459a2b97996419065 ./dir-046/data.005
+752e6e003b2a63ee5329d9629fc11e37 ./dir-066/data.007
+753b5b925a36ef26874b53df2ebfa061 ./dir-075/data.006
+753e065141176ff596bf2e1ae61ee7eb ./dir-051/data.007
+756432d8f72aad038e5485bbe24bafaf ./dir-106/data.000
+7565d1674164a015c42a2f5011cc087f ./dir-000/data.010
+75aeb3ea4fbd1d50430bbe04e2932b16 ./dir-093/data.001
+75b713f785ac4a9b1d088421f23ed1dd ./dir-008/data.006
+75df7f36eefa42c3638bc5b6a97d55cc ./dir-062/data.006
+75f4acedcce3de89a05b4c098b4f8118 ./dir-084/data.000
+761c8e415dfea226f53be2957780ba69 ./dir-000/data.000
+763c7d41210a0ca975eb99d0e17f4b20 ./dir-058/data.007
+7652846932bd547c814ea86462891fe5 ./dir-036/data.000
+766be2a004cea2f84f9aeb40eb9e5124 ./dir-006/data.004
+7672a3a631d8cebaeeb10b4eeee2f374 ./dir-097/data.010
+767d0c476c9468d63e0871af2cef1738 ./dir-060/data.009
+76c9efefaa60ee3fba78597b33c5f575 ./dir-090/data.004
+76e0a18196e6b9e8f1860791d5e70146 ./dir-075/data.008
+771b05fea5ba6da4cdba84683c070c95 ./dir-053/data.006
+77586b0c211ae906be9094d049370678 ./dir-021/data.003
+77c306d850bed70af9a433a685820431 ./dir-050/data.000
+787d7e089b2520fb323825c0f34f1019 ./dir-047/data.004
+789ae7e99a3a3ff41688d0da0baa5491 ./dir-049/data.008
+78bc020188a5927d1bdd8a00916e7bdc ./dir-047/data.003
+78e4a29d866eeee6f16dac2923ff9039 ./dir-020/data.002
+79adfb3d2a7487932511a5a4279b61d4 ./dir-027/data.000
+7a27a666e2737841367056a9d8fd9d5c ./dir-060/data.002
+7a53dddb70aee58e5661427249ee7038 ./dir-076/data.008
+7a95a94fa02effa09895b4cf9f806fa8 ./dir-053/data.009
+7adef604167c2a7031d11a61876f5e3f ./dir-056/data.006
+7afcc18fdeed24a4b6582f0cb8c8d63a ./dir-079/data.007
+7b806c0a3bd12973c5540a4a661ea698 ./dir-010/data.000
+7b91d10dc9a73501e2695fd03efca8a5 ./dir-064/data.004
+7ba6781b9f6a2102f6ee77e4bcd67e7d ./dir-102/data.007
+7bbc6a3d08c8aafe49f38286ea190736 ./dir-054/data.008
+7bc0ff8f58b050e3588a70ea5a899c2a ./dir-069/data.007
+7c2955cbe8d8635b43f067b782a8d22a ./dir-013/data.002
+7c96eeeb60a073929017e8830287f7ad ./dir-094/data.007
+7cedf898a8fe0dcd9e6e2fd98a74ab8b ./dir-082/data.005
+7d32425b7c104604f90ef5081a066d65 ./dir-015/data.002
+7dbc4d0b5e092ec07d71821d06cec150 ./dir-086/data.003
+7deabfdda68c09ca7212ea05659e9927 ./dir-017/data.004
+7e26cc30612356a343b39f0229ac3d46 ./dir-019/data.003
+7e7c2baf1cc7562b407fca1085c05d16 ./dir-074/data.004
+7e9b0ff66ef80bb5257831f7d04961b5 ./dir-020/data.008
+7ebe836d841b63662eead6beb412d4bc ./dir-107/data.000
+7f49e79851b7b45cd2d33175fa1b2969 ./dir-081/data.001
+7f667fbd3cc3f285932aaf92da189d1c ./dir-044/data.004
+7f84ad2226952dc3a2cad38c3ee2970c ./dir-007/data.001
+8045151192b49a8da4d2c8e6762ccba2 ./dir-107/data.010
+8048e0cba222cc165575eace3922e5b0 ./dir-039/data.000
+8049aa75ee4cb1b4c3bba59df67e47dd ./dir-068/data.002
+808aad824b9e2e465bca41efd1f52954 ./dir-100/data.005
+80940fad75c724a99076c376892083f5 ./dir-008/data.010
+809ad8f87b1d349538479eb8255fbd95 ./dir-087/data.010
+80b12631328b0da15def5ab7ff5923fa ./dir-094/data.002
+80b3adbeaf7752f4b28690bf34277a97 ./dir-082/data.009
+811f2222bf3e3261eddfa7c5b3d081b9 ./dir-046/data.009
+812008464e6378f41d6992b5ffcbeb84 ./dir-046/data.003
+8177492799584288b6d0912ddc3c5788 ./dir-010/data.002
+81fd13878406544d396fb0d907c9a41b ./dir-045/data.006
+8200bdc10480c0f32e2f83cd68515f7e ./dir-084/data.006
+820408ace3493250d98e8674b8187a91 ./dir-052/data.010
+821172e54e4afd62f705d226331c7fb5 ./dir-085/data.005
+826812a36105fcdf4d5500a6df0f08d2 ./dir-085/data.009
+82e160cb68fcd731ffd8c982eb669922 ./dir-034/data.000
+82f2bdcb4728e3ad2ad42688c776051f ./dir-006/data.008
+82fd0c7b72399922c915d56ff6966f09 ./dir-105/data.007
+83961ca3a7fdce7ec70696e2174653c7 ./dir-086/data.004
+83991d573bbd643493c94fe76fca77fc ./dir-006/data.007
+84455e279527682dc16597ccd64ba260 ./dir-103/data.010
+847ce91c4f37960bff5d34020b42ed52 ./dir-069/data.003
+847e94154fe39fcb40974901fd05b59d ./dir-057/data.009
+84a7ce38c6202fdb6b898df285446663 ./dir-106/data.008
+84aba2f561813a9bac0b4c06620152ae ./dir-051/data.001
+84c575bc39d6c0c91600a2dd9e453698 ./dir-078/data.002
+8512e02e44103f6767b334345dc73575 ./dir-049/data.003
+8520bdcd365dbbea56b48e181e892e6f ./dir-035/data.010
+85616c0da662f396d301cb1e6bdd7bd4 ./dir-013/data.004
+85ec836e67e6f2baeec01f665eb23e29 ./dir-095/data.003
+8603067c193e4a1c357801b381641dfb ./dir-092/data.003
+8611a66ab011033b3c906ba7b89e6c2d ./dir-037/data.000
+86378c2ea396585297f165531e6c7890 ./dir-025/data.000
+866430b5d3911c736376d7e660a81f00 ./dir-042/data.007
+86bc362ddc0cecdb48e4ef489efe9dd9 ./dir-005/data.008
+872a73bbce2c848a584e9382d62a7a8a ./dir-090/data.007
+874c93e05f4f32beff5051c4af86b8e4 ./dir-072/data.000
+876a2dd3d630d98143203693874f60d0 ./dir-091/data.000
+87a4a13a15b175b8b943cefdfe3e74e9 ./dir-091/data.008
+87dced824e8413e02cdbf539f8de061b ./dir-086/data.010
+87f5881d5c4a894085307aa10fdb105a ./dir-041/data.009
+87f8e92c8f1a1c8433398808abaf8165 ./dir-109/data.003
+881243716ba4e3c5ff3dd342c21c040b ./dir-082/data.003
+888da3d26656442aa1c19e2e477e59de ./dir-083/data.009
+88fa1bd87fa31d853e36bd503526227d ./dir-043/data.005
+89221d01c894262e97b15e7f5791e14d ./dir-014/data.001
+897ed3d984bf5f1368fabf49f3b0f12b ./dir-072/data.001
+89a503f5d1a1d9b94eadf14a3d7a7dd5 ./dir-045/data.000
+89e6081c35cdd3b86a836cff51971184 ./dir-065/data.009
+89f0acd75ca963beab0cabbffd628724 ./dir-091/data.001
+89f499b0da40af76802f0e03da77f6f6 ./dir-040/data.010
+8a010b14ef676d4304eef73b1f1f78e2 ./dir-004/data.007
+8a1283493ee60b494a58e6ace7452907 ./dir-089/data.009
+8a62a8742ed78023043d4eaec5b1e904 ./dir-098/data.002
+8a6b0c4f2c04e96d5315868996fcdda7 ./dir-108/data.004
+8a82ff49e710bd88450867a3f440b0da ./dir-075/data.009
+8a87b4e00c531cd577a39012397a0f87 ./dir-079/data.000
+8ab93bfdd9e62f3d6da0dbbc53ebffa1 ./dir-076/data.004
+8b09b7d62a3735681da36371657e14f3 ./dir-039/data.007
+8b93f04b52bd1fb0781f9d46ac7a290f ./dir-025/data.002
+8bd5650b0e7d4fbf6973214c2f507801 ./dir-047/data.002
+8bd5bfac106c68cffb3a098c4d157cf1 ./dir-063/data.010
+8c4ff8f780a98e39295f500278a1d887 ./dir-095/data.009
+8d1110f9accc804fc48bb2ee4af6bbf1 ./dir-110/data.009
+8d4261e80352070d2800f528932e37f4 ./dir-055/data.000
+8db08f66dee19a548b3e6eb3a1560980 ./dir-094/data.010
+8df75fe710ddf2316dd13f8065e4bf41 ./dir-087/data.001
+8df80279f2b2051d65bcf1f7a7dea7d9 ./dir-097/data.000
+8e58a42cf383173c0dcd6694402bc946 ./dir-014/data.003
+8e9933936e026159534f451cd0548d4b ./dir-029/data.001
+8e9e45218d17ae1aac57d24ba4417d9c ./dir-070/data.000
+8eab2b1d1ea2a5926ea5e276587543c4 ./dir-024/data.000
+8ee65e80da3449425d6c8cedc7be72fc ./dir-099/data.001
+8ef64875a9b9969869cb0f25a32fa0fd ./dir-039/data.004
+8f7b88afa2cfae0a337e1e330e9507aa ./dir-075/data.010
+8fd4eab768c4b5905e416725de423f55 ./dir-087/data.006
+8ffc927df86dd4c5e3966e9d0566e449 ./dir-014/data.000
+904a6d1b29b6b346d17fe5548b90cb6b ./dir-059/data.005
+904f618fe84960f4d495a2cbf494a179 ./dir-026/data.008
+90e643a0ead24f11449be2c13d739a53 ./dir-017/data.007
+91361fc94a17d6bd001d136355b85354 ./dir-024/data.008
+91850aa3831a821d375c416cf048d830 ./dir-012/data.010
+91f1499f9fc21e74879459600a825654 ./dir-103/data.000
+9207ec877c2fc0c887adbe81b97d7160 ./dir-023/data.009
+923fae1aad1f7f087f7d56be0a949abb ./dir-024/data.007
+924e608e16d18589a9932fc76ab7dad0 ./dir-090/data.005
+927968828d5c3065804466c0b654dfb4 ./dir-054/data.005
+9297c8e3209ad6c3e9eb803d5114753c ./dir-030/data.008
+92b3887179362557a9063adf548b2bd7 ./dir-081/data.010
+92f662f16c3768db5eeda3b60f4f0ade ./dir-022/data.003
+93b7c4d5373a364b8e3e26d077c980c7 ./dir-079/data.002
+93eb15b53e6879eba9e23c2f636e73a6 ./dir-061/data.000
+940bee1d330002cf234a338b63d07911 ./dir-068/data.001
+94172e924a7cdda629f202e115e86e96 ./dir-062/data.007
+94449220fca6a95893857a459eeeeec6 ./dir-000/data.005
+944a60c5820889ac6c204378ab8ec684 ./dir-065/data.010
+94611f97f30b3216ee306a97ee063285 ./dir-106/data.002
+95c4f44dbc662a1b80f231c03a1831a2 ./dir-031/data.005
+95f34bf560977aabf56b2374bfd801fc ./dir-031/data.000
+960b3433addbe419445506e4070e704c ./dir-031/data.004
+96fcc5df339caff14311a24a81134714 ./dir-042/data.006
+9706dd7a7ae979b858155dea8d54cb4e ./dir-033/data.008
+9873fcaaaf129d922cb29c10dd7665a1 ./dir-066/data.002
+989348123dcd08ee33c351e9156dd581 ./dir-005/data.009
+98af23ac4dc89133c749cb7968878859 ./dir-041/data.005
+98b72fa1526e20c16ab02546b656a925 ./dir-069/data.005
+99019e5feeacecd628b79b1eb7e161f7 ./dir-071/data.008
+9914beac14681493f7a7aa19a0f1bd8e ./dir-035/data.000
+993c2c1b64d4d9049df6d5d7cb56c4c7 ./dir-051/data.010
+999490bc33ec2a56ab230b6da8b1c1d1 ./dir-045/data.002
+99b70a3b5235ebfd1de6e096d54ab41f ./dir-083/data.008
+99b81b1024129991e19b010ee0f1299e ./dir-108/data.010
+9a0e0cb9a2f89fa8c888a7310b491aa3 ./dir-074/data.002
+9a2d63c1b47aa35a0d647d278d7b13b3 ./dir-020/data.005
+9a77b017cb714648bb338853717ad7e8 ./dir-059/data.006
+9af3052d79e03234d51790bca3f62abd ./dir-103/data.006
+9b1308d9a71f3d07df20c64ee9485215 ./dir-009/data.004
+9b243e7923207feeba44ef8967835213 ./dir-029/data.006
+9b25cc77ec3884b9b115f34a61aa6b1a ./dir-036/data.002
+9b4475d68d99b0d8b5b724b161ec3858 ./dir-079/data.003
+9b7bfa3dfb1223c084a732a460010ba6 ./dir-027/data.004
+9bd2393f4167104c602f462cff973c9f ./dir-058/data.005
+9c430e6db8f1530dfcab40de1ae320ee ./dir-058/data.000
+9c48ff0e9fc213cb2b483db230feb345 ./dir-022/data.009
+9c9a3eff549dee88a35c589ddd9d218b ./dir-018/data.001
+9ccd05ac96fe9192a6e3c9b864f51cc5 ./dir-043/data.002
+9cf33a7c891d6c7472267d57ca6cbc66 ./dir-046/data.002
+9d21fb30afaaef79aecb0da9815c347b ./dir-050/data.001
+9df2cd9f95fe997c8de62c5481d3c93f ./dir-034/data.003
+9e3b8430c7cb870803ec286c13718b02 ./dir-003/data.003
+9ea9c7d6b9fb3188ba0821136c228e7e ./dir-095/data.004
+9edf9a0560752008ceaaa4ae3ed5785e ./dir-071/data.005
+9f549656466f70f622c9df1c4ccc9521 ./dir-033/data.005
+9f80958140d65b5e0fb9a52167b1c422 ./dir-099/data.006
+9fa7f92a21ba500140aff17d8762a6aa ./dir-076/data.010
+9fd3b2804f593374def5a302a8b450c4 ./dir-074/data.005
+a0339de2c013f2d03f756a8144639897 ./dir-061/data.009
+a0a270ce379fd4d991d9ca728d63b36a ./dir-012/data.004
+a121b30fa0ad50b4e829a45879cc5edf ./dir-101/data.006
+a18b68c77ce90b9bdaca1ae55282337d ./dir-110/data.004
+a1e2cad8e97c82f3253442cff997bcf0 ./dir-080/data.000
+a238e250723b41101f07cfca17f11564 ./dir-045/data.008
+a246c5c6c1f823eb413af37d34b3bfff ./dir-077/data.008
+a29c24e21e6f607570f76e5625d3dc99 ./dir-032/data.003
+a341d8b152be8d341782db5ab1d7aabf ./dir-084/data.010
+a35ec86b31d73849147880eea4297fd0 ./dir-063/data.001
+a3891cd6855c346b07f6d1cd385c49b5 ./dir-094/data.004
+a3d9410efb0b1ff6600b3f627971fd16 ./dir-042/data.001
+a40587138ced04b20fb2527354606f2c ./dir-076/data.006
+a469810e4d1daa13f3e9b2e6f68b8d13 ./dir-004/data.006
+a4c13da90cbcf2f1624a4b2c2a9bb233 ./dir-109/data.008
+a4d4d492179eb2dca7ce30571c8ef3ba ./dir-007/data.004
+a52da0aa1a7acd8778fe6f40f0f8c0a9 ./dir-061/data.004
+a554b9068ef406ca372f9189304a82b7 ./dir-059/data.003
+a581e75f84f4ac6ad9e70e5b6bea53a4 ./dir-095/data.006
+a6055d0047d814a31f32e4185441d4a1 ./dir-007/data.007
+a60741e209b726fda4e969bf344f4aea ./dir-069/data.001
+a6395a9bcf53506cef1c6b62cc37f2d4 ./dir-003/data.000
+a65040955884d1c6e4d54ad9299a08e2 ./dir-062/data.001
+a65457550d23807b21c1afa93e9d21ef ./dir-035/data.009
+a66e2aef802f92385bf38b01ce8b0c80 ./dir-031/data.003
+a6952c83f6a406ed1baa2b1251bccfff ./dir-032/data.010
+a73aa26f62de99e97e691379ff64e838 ./dir-055/data.010
+a73ad6b847af80b66f4b37bf752e1097 ./dir-096/data.002
+a78d53e617d31d29d07a1bc8d463e456 ./dir-096/data.010
+a7903334dab2c9948a9460d94ffd27eb ./dir-082/data.002
+a7957cd1bfb38bb265c2d909bf4f0b21 ./dir-026/data.007
+a79df6152da4b78ece663f4b95d20cd3 ./dir-041/data.010
+a7aa7f0213d41db9b7a2d63c90f77772 ./dir-053/data.001
+a8111a4439244ed9de6e0c5944d7ffa1 ./dir-029/data.008
+a82b1e769c33fe701194d95fccf029c8 ./dir-010/data.004
+a8573ca8719910d3ea25839cf529d441 ./dir-091/data.009
+a85c6629da53d32a0ed0d3c8b0a26c72 ./dir-077/data.005
+a8a137df04b87ac736e158515ec71a42 ./dir-087/data.000
+a8a7ac87c426aa047b573b2dcbc4a0e6 ./dir-058/data.008
+a8c038a03f5bc2e6b52f02b8c5c52cb2 ./dir-054/data.009
+a8c4c1f924133ec0c8360901bcf6c199 ./dir-094/data.001
+a8e06c98144819d98e809492f08aa29c ./dir-035/data.001
+a93a49fd784c6ad90385ea022ecd2343 ./dir-045/data.010
+a95c46ac7047b8866dd9225ee4d648c6 ./dir-054/data.007
+a97f9c6c523f5479046377eca793ef53 ./dir-040/data.000
+a9a50ed2b165d548a1aca2e4b306d06b ./dir-048/data.006
+a9ba09df546930ba27663df0227b047a ./dir-002/data.003
+aa122bfd760ea4dc50aecf4f533c65aa ./dir-016/data.004
+aa3eb53c7a7a77690e996a5c0c1ccfae ./dir-024/data.010
+aa61a5d5f336b0b50e6b1d0796b890ae ./dir-088/data.009
+aa6fef63c3b2bbb9c17c9bd7308c5306 ./dir-036/data.004
+ab0f881f872563bd7846c3432ef7fce6 ./dir-003/data.010
+ab1ea1fe95b3af7db64aa8fa146760bc ./dir-093/data.008
+ab5acd6c59415e13dc791e3f300bccd2 ./dir-039/data.001
+abf175effd6c04dbedc04a31f009ef72 ./dir-038/data.004
+ac00bb6001e354a604063f1e31a8fe3c ./dir-028/data.000
+ac0eee49e473726deb56d47a823198d9 ./dir-086/data.009
+ac6e1f616fcab93bebea12c3dd1fefee ./dir-065/data.001
+ac8e596fdf6279e40fd0085bb0f34165 ./dir-084/data.005
+acc1ee7febd100ab23b6a479d3001825 ./dir-061/data.001
+acdbe2e496d6ae23c0f0dcfb0ea6faa8 ./dir-005/data.005
+ace9c8b5dd8e55dd13735c649c9d4af5 ./dir-099/data.008
+acf5cb2c7b1eb4390a60a1774bc4bab0 ./dir-090/data.009
+ad24114c9cb8f035ade2e862d9abafa8 ./dir-053/data.010
+ad320cdbfbfa5cf6c7b7a8c40a686193 ./dir-021/data.000
+ad5b2d548dbbfe6ab0e21437bb2e1f2d ./dir-019/data.001
+ade98adeb45ab19c7ce8d42782dc04a7 ./dir-087/data.005
+adefc5856d2a4595beeb1adcbd172221 ./dir-019/data.008
+ae81c953786cec82d0f1f9435b0d0c0d ./dir-056/data.009
+aebbeeb5e421cb8ad2e831a302742a6e ./dir-081/data.003
+aec4978b81441da9cba9008549fd58b4 ./dir-103/data.007
+aef628d7676ae21153a87e0f1ee0827d ./dir-053/data.000
+af9385b7625684c3d153854bfbc427fb ./dir-057/data.007
+af949e292c736dec64c29b35dbc94cf3 ./dir-104/data.008
+afb68dd90956c729c49211aa5cc974d3 ./dir-018/data.000
+afc5cceaed901e3baf26410e530b2112 ./dir-043/data.007
+afd05141be6f865a64e93908e05ab2e7 ./dir-070/data.004
+b050f6f0b55cafd91af8b5bfed9d7ef0 ./dir-106/data.010
+b06bca53b131304a89d152fa869e8d44 ./dir-006/data.006
+b07e07d9eb5b9765d5916910d3022a15 ./dir-041/data.003
+b099661d0dc7e777e94b88a768792aba ./dir-029/data.000
+b0f9fbc3889843756c2fbbdbc8e95c80 ./dir-052/data.007
+b141e0746d771b642b80789e2cee78b7 ./dir-055/data.005
+b15458b8d28b4ff277aa19d644c3f01e ./dir-078/data.004
+b19692bfcc887a0326ea0d9ff777b708 ./dir-082/data.008
+b1a0f67c22211b60eaa3ad043300ec39 ./dir-077/data.007
+b1cb07d7f4ab031522a1092cda009ea5 ./dir-024/data.009
+b228391e5b674f6e320f46c92a231a6d ./dir-013/data.001
+b231b16938922b62bc313c4dc791e89f ./dir-040/data.001
+b235e667fe06e2333d3d4f4cfeb11d8e ./dir-061/data.007
+b25e47b8e6084a771082a79d2964125d ./dir-042/data.008
+b2a5017e913a254b33c8fc51a0304745 ./dir-018/data.005
+b329dad6ad85c65a9222b8b261e86361 ./dir-008/data.008
+b33cd0e18b5a2384dc05a46f69b09059 ./dir-007/data.000
+b33f13624a7a7cfc50fef0456d74947a ./dir-097/data.005
+b367a0363b574a8455b841cada04accd ./dir-047/data.005
+b3c5ac9af4d7a04325182806453958ba ./dir-103/data.005
+b3dfc8b0fb7616287af6f7757207b6b8 ./dir-033/data.009
+b41d0afa4d57823e34d11e64bd6534a6 ./dir-087/data.009
+b445b7e624e7f1f7a5be6541a3a93a8a ./dir-043/data.009
+b46cf4a767a2d389800dda0374917427 ./dir-057/data.002
+b4c65166180c16e5437fbfe03af4b5d4 ./dir-015/data.004
+b4ccf8da14998cbe721c990de46c9edc ./dir-032/data.008
+b54b392b4cff92f8151d58cb92e688a0 ./dir-067/data.007
+b5934cbce1651c12cbb4e618e091f435 ./dir-102/data.001
+b5c1e57ffa0ceb0947170f610075f3b0 ./dir-043/data.001
+b5c8f4ca9d2cff5245b847e21c7df049 ./dir-050/data.002
+b61bf319c57da4eb4f121fd5c535760c ./dir-015/data.007
+b67fb5ee7b93061ade64929492590f5c ./dir-097/data.003
+b690077ebb25c2605ef0ee3372894cec ./dir-044/data.003
+b6c20ced9ffe0e91fbf7c4d71cc451bc ./dir-075/data.007
+b7538f880d91a07037290f98027ed306 ./dir-040/data.009
+b79f1bdb5bbb47e5d965e90137ddf26e ./dir-015/data.006
+b7b7cad8720d0f99fdbd7984caad8831 ./dir-061/data.006
+b7f56c9ebadcae8bd7b30e14bde0b5d2 ./dir-014/data.005
+b7f6d1118ee932c65f1e5a1931d6c8ff ./dir-014/data.009
+b84ac96cedb442fe235cffc8aa31199f ./dir-017/data.010
+b88c57aba26f8e1c085cfc7ae11888d0 ./dir-073/data.005
+b8bf171ed4f5f905cf8f7dab6a82a7d3 ./dir-021/data.002
+b8c336dd6ec7df5cb3f70ac79e169221 ./dir-108/data.005
+b8de847d8af8329206b516f825945439 ./dir-107/data.008
+b91053058f5cb868a65eb00ffc8c85db ./dir-018/data.007
+b983ec5e2696dec42e886e4aaf24c2dd ./dir-041/data.001
+ba18e6af480799cb61acf0e3984413d9 ./dir-023/data.001
+ba1c86b4c7519e9987fc62e04e14b93f ./dir-100/data.009
+ba3d3735db7501bb45a1bc37a1c90d91 ./dir-039/data.006
+ba5dff4458e438a37f7020a6997cb3eb ./dir-102/data.002
+ba71ea66885339efc504f581fa9d05fa ./dir-021/data.010
+bab7340230caffd9abe45a213cc7c94d ./dir-044/data.006
+bacf759099d3ce33cde104f0fd09404b ./dir-107/data.006
+bb3dc9d92e7c13191502f9ca2d9a2a46 ./dir-034/data.006
+bbf62db3e277893ae705b95df057c676 ./dir-046/data.001
+bc9a15ee53571be04ca1992754d407bc ./dir-037/data.001
+bcadd63e00fad4b7f09f32cf50c606f8 ./dir-078/data.010
+bce43f4bc32e3b431ce88e714ebde4e7 ./dir-078/data.007
+bd57ca2552a35196422eb254d0b6689b ./dir-010/data.007
+bd6d9661ef44ee94f3a576794ba2e972 ./dir-083/data.000
+bd85e8c8c0fd4ffd0a8abdd38675e4a7 ./dir-061/data.002
+bd8e9c392bc76c3d04ce23a376cf7941 ./dir-104/data.010
+bda8d53c45c521c5a7fcccf19e0fd4d2 ./dir-052/data.006
+bda946d7293089f487dbcf64564b7d79 ./dir-051/data.003
+bdd285092faf5a19c9a8b3fbd1162d64 ./dir-101/data.000
+bdf39b893567b3a6329a36dac48b516c ./dir-099/data.005
+bdf56ade34628d9a2e757b2bc6eb0e0c ./dir-013/data.007
+be507a830dc09b8c6d802d45647edb55 ./dir-104/data.002
+bf106a60eed1963cd3e58461c38cda87 ./dir-034/data.010
+bf21e493d536385c45df037b2e9cdb45 ./dir-089/data.000
+bfb0f4ba9a8588bec3cef4ede6a3bb57 ./dir-106/data.009
+bfda868277a6c6c0e25795ad73316074 ./dir-032/data.006
+bfdac2c988de39cec95a59f8a090636d ./dir-092/data.009
+c01bde4e9fd7733b6a915284ac12c4e8 ./dir-108/data.007
+c056ff72a9b187332dca300fbb81226e ./dir-026/data.003
+c0b2182de19c1695b71277d4fbfacc18 ./dir-052/data.001
+c0b94a538176aa6986cafa2e2fd8fe8c ./dir-045/data.004
+c0e16a96014a13995e537e8e39b0155e ./dir-052/data.002
+c1cf14e3812a8b9933911da679c49f8f ./dir-072/data.007
+c1ef0ec1fe3cc64d705d5499b6ee622e ./dir-110/data.001
+c2129120bc96703d28928d567bc5df58 ./dir-025/data.005
+c2429dbcf4929ef886b612147e8efbb3 ./dir-048/data.008
+c281f9a42b51ea7af93e5a88c1216120 ./dir-084/data.008
+c2c2abb9e870d144dde05ec6d7a979da ./dir-028/data.003
+c2f1846025293c2560ef44a2287ca948 ./dir-007/data.002
+c2f6da08e3e6c04fa04dbe47d9d91ead ./dir-085/data.001
+c35373fb9888c30272d2f574c0a9423b ./dir-079/data.010
+c372e35177aa3286cb5508590b191302 ./dir-051/data.005
+c3cc90dd33b6e5ed10081456f070c447 ./dir-085/data.002
+c47011f9488a8b8b5510aa96ef11fe57 ./dir-039/data.005
+c4958fb09eff0dd518b8a6997c6b71fc ./dir-017/data.009
+c53849249fad0defdf837bbddfa15489 ./dir-077/data.000
+c56775690b961bd0425dfd3d83dc4fa7 ./dir-066/data.000
+c5804311215078aacda89591c40bb4c2 ./dir-005/data.001
+c5b3227aa5484919dca0da947390419a ./dir-096/data.000
+c5caf8575038ceca91b140d9d0e3b24e ./dir-069/data.008
+c61fca3e05f9a8596ffed3f1512c8fd9 ./dir-024/data.001
+c672d7b16693c1848fb2331fd483ba5d ./dir-067/data.010
+c6c64e1a31b6593f2e35798cdfb9a67e ./dir-103/data.009
+c6e7741f3d499cb592e84ee501ae7c12 ./dir-056/data.000
+c734f450ed20e0e6ebe7e52ebeb40c27 ./dir-095/data.007
+c765acd0fddfdd8dd25c1e3b578ab8d2 ./dir-021/data.005
+c77831ccfd2a1c1842c475f2395e586c ./dir-004/data.010
+c78b32a24f2ffaa7a64a910871c7c2da ./dir-086/data.005
+c7aa9ec8f4a91d993ebc357f7c4d624c ./dir-012/data.001
+c7b6276dd9c53abc7824b172377fa566 ./dir-073/data.008
+c7bd7f81b81f3a3dffc9aa6d8903a5d4 ./dir-020/data.004
+c7d3088dbb470b1f8e659795e9ae001a ./dir-072/data.004
+c7db30e49010acd441ca071b159e8952 ./dir-093/data.005
+c87a70665e49298558c54e7b11150bdc ./dir-073/data.007
+c8c52776a8e9b3f43b55c112de4b3615 ./dir-055/data.001
+c90dd7ad53022e2ec777b401a2056794 ./dir-032/data.009
+c91679d9ccec60ec58fec6e5ecb71cde ./dir-001/data.004
+c9283d1db619943708a58a0d4e072490 ./dir-098/data.008
+c97100eaa0d5b50c2986ad2d7a4ab4c6 ./dir-105/data.002
+c9ca93c8b91e23c7d884985261c727bd ./dir-087/data.003
+c9f613e36059f6a2ebb21dcb5ac2e544 ./dir-098/data.005
+c9fb7d08b76286f726d349933453cdaa ./dir-102/data.000
+ca026e1fce7342eea8d59b5ef15ae1b9 ./dir-018/data.002
+ca1b624cfe0398448567862acb496721 ./dir-002/data.006
+ca5dd894a005c13702e966d04a58657a ./dir-074/data.007
+ca690ddf1d9488d3aae5de667b46e3c6 ./dir-071/data.009
+cabb2940fafe7ddf2643830f7542cc4f ./dir-070/data.008
+cacc98cea7525be670fba062e921386f ./dir-027/data.009
+caf930731a2124520be71f7bdbf5147f ./dir-030/data.005
+cb30fa3d22c32ff5b466a216d7e4174c ./dir-041/data.007
+cb353cc900a10c0020fcc40d20fb772c ./dir-050/data.003
+cba8191118e1823bb38f80321b98d7a5 ./dir-032/data.005
+cbf68202741c92a6a1a1345ba40dbc1c ./dir-019/data.004
+cbf9667ac181f5100cf3d7d179f07c26 ./dir-014/data.010
+cbfe24d7f1aef20746adda09edfa0b12 ./dir-072/data.008
+cc2567a2350fee4c5187a00bc0615d5e ./dir-054/data.004
+cc798615c0b02d53f6827240ee654f98 ./dir-064/data.010
+cc83d5b78aa34ff3d82957c7d69ee16a ./dir-013/data.003
+cca5c0bdd6d0eb18b7cdec2bcbb59754 ./dir-076/data.009
+cd6be4b1b25de9bff66ad8191eac7d4c ./dir-042/data.004
+cdcd5240e78c13357281153c4a41395e ./dir-087/data.004
+ce0dec612db80a92a176ce190b19a754 ./dir-070/data.001
+ce3392cd4d81de001fb397ba1655c0c8 ./dir-010/data.008
+ce58a0e50d16d75c45ce9447bc868b45 ./dir-018/data.009
+cf5fb8cbfe7235521fd7878d964badaf ./dir-022/data.004
+cfbe0f69b35baa9133b6355cd2bd6d08 ./dir-094/data.008
+cfc01799332549522a823077147adff0 ./dir-056/data.003
+cfde64c362835a72c8cedfe6477bda56 ./dir-079/data.008
+cff6f29c1536291d54498fb539c6681f ./dir-002/data.002
+d119223e0da07f005012bf6fef415b5c ./dir-082/data.007
+d16dbb40ad04cfe09048dfa56977ca3c ./dir-044/data.010
+d1dbfddf209f6a070bcf48353abdbd8b ./dir-040/data.003
+d1e5806bdc06ae2231b6f9b1a3fa1f0c ./dir-001/data.001
+d2229c5a61c0ccf7b139714484231a84 ./dir-001/data.009
+d244204b0e63d7c33b2dd3e5d2237748 ./dir-036/data.005
+d253d09ebe6df96b84565b3bf26e8bbc ./dir-030/data.002
+d2703dfcb228a9885d58eb6bf8c4318a ./dir-088/data.002
+d27c78713f252e2393ea942abcf4a4ac ./dir-048/data.007
+d2b6e1db7ab88233015e7d8fa5a6bb81 ./dir-021/data.009
+d2be814d2ae5f33723cc8794614483fb ./dir-008/data.005
+d2bf7c23465b9455a3ca27b50cc123ff ./dir-073/data.002
+d2c1b2b6ca16f4e4ff9750926aefacd4 ./dir-030/data.010
+d34362c0b86a934e848478067760c863 ./dir-021/data.008
+d34799931eeefa914727e0822c667fc5 ./dir-031/data.008
+d35a62ef99570c5ef5bb6291bbb36cc9 ./dir-101/data.003
+d39fdbbfcd1e15fda146977224126f8b ./dir-011/data.009
+d3eb0f4bb3b04b412907e453c82bb89f ./dir-035/data.007
+d40f0f333fc2f02a4266d363897f3334 ./dir-045/data.009
+d44fff6de24382f14b0426101e737354 ./dir-110/data.008
+d460686d5f374017452fe62e3f95b4d4 ./dir-105/data.008
+d461cc84eb03cc6db78e0720648d15e4 ./dir-061/data.003
+d463379d1811241dc56a4ccc9bf68dfc ./dir-076/data.005
+d46c8c7b7c0b54ebd046c6209d1f8afa ./dir-054/data.001
+d4d0fae354af6cdcc3202c9aa8ff2e9a ./dir-019/data.002
+d4f3040cabb5fbce85528e25f20cdeab ./dir-061/data.008
+d51be6c824d053d4e75720d6c8f515ff ./dir-001/data.002
+d540ef78ac829556f9933dd6579db7ae ./dir-091/data.003
+d54f188240ba83df0932dffbb36007fb ./dir-021/data.007
+d5b52c7c054a27ba342bc7e53bfe131e ./dir-081/data.009
+d5c7cd835ff19cb7c70e17d3134263bf ./dir-074/data.006
+d5fb3204d70d906a74b760999e5b266c ./dir-042/data.003
+d67493efc7f10910daab14016546a47b ./dir-059/data.000
+d68ed1553d2660f509612d8ddd8bcd62 ./dir-056/data.004
+d6f097c83e62877b98951bead0282dff ./dir-040/data.005
+d6ffc513ced7b0c1005dd11f10924b88 ./dir-055/data.008
+d7a69319272c26b24631cc0abb1521eb ./dir-053/data.005
+d7c2447c79f584c5a4b2ec525c586129 ./dir-031/data.002
+d7e552057b420dabf022aa6b8267946a ./dir-030/data.006
+d87260bd7bf4aa6ec556d77bf958a36d ./dir-060/data.001
+d87f53fa0fad9af8218a27fa1b69c070 ./dir-080/data.002
+d8f379df1febe77c86990017745edebc ./dir-034/data.005
+d945d5a070b995162293f1c77ff15527 ./dir-018/data.010
+d9ed49e99f63581ccafe915b76f3f96d ./dir-102/data.006
+d9fca3922fa0e01fd527f8db69589425 ./dir-088/data.001
+da09dfe4cb9bd06c37473254e857139c ./dir-076/data.003
+da18c9351bceb7f342718d50fb062544 ./dir-006/data.003
+da247fc6c9e1f840d7ef58e86bbed220 ./dir-019/data.000
+da2e4fd85a49ba6b0c7659c7abf99ad1 ./dir-089/data.005
+da57bb441160e6555b30c75915288bf5 ./dir-099/data.004
+da9218453d4c99672e702f0fd7b9c0c0 ./dir-014/data.004
+dab2bec775140e6203daa6ec122f049e ./dir-071/data.003
+dab99d3d9dfc9d5c9f0d525716153562 ./dir-075/data.003
+dadc6c41f41b3ff28706df675eaa96b5 ./dir-004/data.000
+daff2d6af09718e4825b22b98f00b7e9 ./dir-003/data.002
+daff63e9d1ae3734d069d0dc0305be72 ./dir-109/data.006
+db210b89b1004f031eadd847e5a0645b ./dir-043/data.008
+db2b0158388ee251970c6454c8cd9a97 ./dir-083/data.002
+db49a13bd7e2320210df3a006f7e9f6f ./dir-043/data.000
+dbdba9607f2d777e10ddc67f50950e2e ./dir-057/data.005
+dc09e8a41db214d248148efbf9605f95 ./dir-081/data.004
+dc0a7007675041b30317afaf44ee708e ./dir-064/data.001
+dc153ae714532e2d34f1b7ea044b6ff9 ./dir-096/data.008
+dc1f4da785733bbb2897d94ce78bc7bf ./dir-071/data.004
+dc2f22dae3a3d34a18929506cfc6f277 ./dir-029/data.003
+dc40f9a57dfacd21d602218898ab93e7 ./dir-058/data.004
+dc98758c6a9b39a6a3deae298d579c4e ./dir-042/data.009
+dccd562a4a98653a3fe96d77741ddbeb ./dir-104/data.000
+dce7e7c23b5cba5b96b11d5300e00afe ./dir-056/data.010
+dd006052a28552fa069abf5043462570 ./dir-049/data.009
+dd079bd050dd7b83ff6a8e2fb5773ed4 ./dir-049/data.010
+dd898a6ab8739c0cf16dd72034bc7668 ./dir-046/data.007
+dd8c233b992da6babbcbc9ce7879051b ./dir-097/data.007
+dd981304897bc330f690d2040aa1e53f ./dir-047/data.009
+ddcd7ea13cae57498088c1994619b3be ./dir-020/data.001
+de7fe274e770b4dabdeb867fa92a12bc ./dir-109/data.002
+de8a70eee3e508a723d3b5d2a9901316 ./dir-055/data.004
+deb960b1268705a472e3b46181ccebfe ./dir-042/data.010
+debf081b6824f07c5f6c22db6bc152a6 ./dir-086/data.002
+e003aaecb77df91f04990cd45eff2dbc ./dir-018/data.006
+e0596ce1f833197052bf72fa4e45ec28 ./dir-074/data.003
+e06e45e369dc2fa98b18c35268ef81c7 ./dir-037/data.010
+e0c2f2d375b3fa8c0c47a029bb18cc39 ./dir-009/data.000
+e0d48247fcfaa83930555edf8a6647df ./dir-041/data.004
+e0fe16303d99ec21e6dd13ac27d2b5fa ./dir-083/data.004
+e13007540bfd0bccdceda2f824ae3236 ./dir-092/data.010
+e131a83d7b706104b800bcba7e89a9f0 ./dir-009/data.008
+e1697901fb44ebccf438fb056c1cbb03 ./dir-007/data.003
+e1be15cad90b65114aff80e0f922e988 ./dir-034/data.008
+e2e34027afd431af2b5ef0bc815a1623 ./dir-100/data.002
+e32174de64d871b47b38ab874aa50a39 ./dir-102/data.009
+e33dcc8d7ffd1e0fccfb71c6715f6e56 ./dir-049/data.007
+e382a45df3024ad97563f9c13a195181 ./dir-105/data.005
+e3a104190d1c461ffdac462d66dee7ad ./dir-090/data.010
+e45c6752ab067602a7e9a71b9f9105e3 ./dir-045/data.003
+e492d468364872187d50021aa490c367 ./dir-092/data.007
+e49ff5b90e7e7704d5c829c41a859c86 ./dir-047/data.001
+e4a0756e3e92ac6b266c4b26dd43d27e ./dir-064/data.008
+e4a0dbb8ed00208e9a4d293d1c259989 ./dir-105/data.000
+e4e5e5b2642d322e1b9539bb021e1228 ./dir-064/data.009
+e4e9447cdd3ee6f4a753a9fa3bc1823f ./dir-037/data.004
+e5c21a2614775ebb798752e4dbba7f52 ./dir-107/data.001
+e5d87d25b8fdce6d6f30b52230761884 ./dir-070/data.009
+e5f2783896a89baeef0c5f68d0f47382 ./dir-110/data.007
+e6b75284cc6be5b80c57dc613373eec5 ./dir-086/data.000
+e6eecf8a727f4ee6852e2f62fb941b70 ./dir-039/data.002
+e7068f5918b4ce52344808f68ad0a085 ./dir-002/data.004
+e76d156c81829e84fe6688266fb52e37 ./dir-048/data.004
+e776126c38f075d4d2d3ea5e81e36e28 ./dir-094/data.005
+e783cb0562a591793f817a659e708470 ./dir-070/data.003
+e7bd906fce62b116f9088b58737b32c9 ./dir-091/data.006
+e7c710fe94754f90fb64f9e7e89351fc ./dir-069/data.010
+e81eff29b7729656cf2e06ec4a604185 ./dir-048/data.010
+e82627067c5c15970580acf5939be216 ./dir-030/data.000
+e845537c1977f66004c079beb9af5d74 ./dir-067/data.002
+e8649a3c6600e3624f6f2c1ab36bd5fc ./dir-036/data.009
+e88289300b2f2dbcca4c69b96abb31e3 ./dir-060/data.006
+e92f7f1b0a07ac60b05786d5725967ae ./dir-005/data.003
+e9d61885e0bbe1341a7789ecba127ab3 ./dir-020/data.003
+e9d9fb125da6f7296c0ee69235fdc55d ./dir-040/data.006
+e9ebdcc7fc5ce3ec40ec2c22b56a0c5e ./dir-057/data.003
+e9eeeaccd7c260f610226d199dcc1133 ./dir-001/data.003
+e9fe2dd437c71180558c00664d96936e ./dir-057/data.000
+ea2d20b5948278f55f8700bb7cfb525e ./dir-094/data.000
+ea3a40a6ed7c5c7badcddc829240451f ./dir-000/data.008
+ea60b89846ffe9098f376100a15fd623 ./dir-019/data.006
+eab0df7e354bdd20324ff75aa354c67e ./dir-036/data.010
+eac4ad9e6789702729f14d480254df13 ./dir-078/data.006
+eae751b2f5890a8a2e66842500875489 ./dir-064/data.007
+eb213def8582bf9c391032ab810224a4 ./dir-030/data.004
+eb2239dc1c3284a743ec2480b66a440a ./dir-095/data.005
+eb39335474a5f114496e45855d65965b ./dir-030/data.009
+eb49c652a3a9b67f48bed5f453c513fb ./dir-091/data.005
+eb8ab8adf1fd8e2e81eceaa2e405becf ./dir-015/data.001
+ec111bdd9562902ed047cddc4e291e0f ./dir-011/data.002
+ed6738198877ba672174a23b39aaf0ca ./dir-050/data.008
+ed87c44257e44baa0486784489fe1eb7 ./dir-093/data.003
+edae2f977e8885aabcafea140e4ea445 ./dir-103/data.002
+ee03c3c5c80c543bf52029381455e0da ./dir-093/data.010
+ee90d8d8a67c5f06de9a35a505bd4d82 ./dir-005/data.010
+ee98acc4ba7f594a49b86364edcf4312 ./dir-047/data.006
+ef45a01355157d5c4a8ac9783d30b000 ./dir-099/data.010
+efe6dab69eb3503886b623ab24ae32e0 ./dir-033/data.006
+f0230c53db8fb9ff1a66eec12b28d3c0 ./dir-029/data.010
+f038a202cce579e29ed75ef2f8ec9205 ./dir-077/data.009
+f067ef339dbfa373842d6beb5d4c5839 ./dir-006/data.000
+f06af3887a662caed220e9fe98c12f6f ./dir-007/data.008
+f09311e30b55f3199d6b5891cf717bb5 ./dir-080/data.004
+f0b69d2184753e5341681ddf9bc0df32 ./dir-037/data.008
+f0db3f70a37f660ce31bfe0600b80b49 ./dir-087/data.002
+f127bead521c0da62f4a607ebd6627b6 ./dir-057/data.006
+f18ba5b02bbf03abe12fca65564dcb95 ./dir-108/data.008
+f1bf04664350afb4ce5a5f0dd245d2c5 ./dir-038/data.001
+f1d367dea7bb98a9bddd4f5cc7a9798e ./dir-065/data.004
+f1e646f46c36449c3412aed4cb164968 ./dir-110/data.006
+f214ca488221c804a5557a9b809afd65 ./dir-045/data.007
+f237d0598589a542815fbf5ef59751cc ./dir-054/data.010
+f2577aa82791ecbf27b9085a22c23ff9 ./dir-059/data.002
+f2616b2ea0b3ce8565e568c0ed8efacc ./dir-079/data.009
+f2cc443362b156a2228f4a69fe4102bf ./dir-084/data.003
+f2df3b5bbcb225df895cdac384145d84 ./dir-020/data.000
+f329736caf4ce7d80213defa11f3c65a ./dir-025/data.003
+f34fd4ff678b218e8780724d3bd2a420 ./dir-029/data.004
+f39243bebe1bbc71e85de2b3d8d7122a ./dir-107/data.003
+f49b053513974d593dcc2c461c96e2a0 ./dir-028/data.010
+f4c0d20fecc04dbf7a204e105f836893 ./dir-101/data.005
+f4cfb0beced90e2adf96d3f2fa2ba465 ./dir-034/data.007
+f4d745c385f037aafef08310fb194a2c ./dir-066/data.004
+f5084ae9ded9833ee8c63281f5ed1641 ./dir-058/data.002
+f519dd2fcfc3047101faf90bcf18654d ./dir-049/data.005
+f5258302f6ab8a38a7b6b05b10d35097 ./dir-055/data.009
+f5323d4d915d67f9d777d52374cd27c0 ./dir-016/data.007
+f5e7738a9f2c3d02929d009724336023 ./dir-067/data.005
+f62d0c3b799b25730fb6a43d0014f220 ./dir-022/data.010
+f6abfdb63fb4c981814704fedd4b18d0 ./dir-058/data.010
+f6f7d42879db7621ad209d45bd9d6a0a ./dir-013/data.005
+f70fa856aa1740b7ed824a5439665b0f ./dir-062/data.010
+f72df01f8f290bc6e05f972db7a01f90 ./dir-048/data.002
+f73a183eab3ffe4070277b9e7f23da56 ./dir-037/data.002
+f7f7b2f1b136a01d8a9b3f1f6c3f9e88 ./dir-025/data.008
+f81c088c701a88d9b396e30f98776064 ./dir-033/data.010
+f897e7735ef1808a5a7bf6129cf0e0c9 ./dir-092/data.005
+f8a696717bb5a5adecf00ddd097d8d0c ./dir-091/data.007
+f8e2186f04d4cb6801acc2c0a68d810a ./dir-049/data.001
+f8f774997c9388bb7a6d593e6224e998 ./dir-104/data.007
+f90e54c08be11e4aacdf3c02dff8ee1b ./dir-083/data.003
+f9111bb9930d80cea7b7db64f092d597 ./dir-068/data.008
+f969de462dd1b58a64bc75adbe73016d ./dir-045/data.001
+f984f85a77d57c6bd3b366771fd98ea4 ./dir-063/data.005
+f9a468508fd7e6db5a77e3101daf22b3 ./dir-100/data.008
+f9c8e6c3a0c4a938ceb033f151e541ea ./dir-077/data.003
+f9f909982ea33e776b985ee5aca5378a ./dir-052/data.005
+fa411f1f9f559b4ee3dd109c2e59b106 ./dir-081/data.006
+faa2bbf820f78b39454c4feebe08a3c5 ./dir-004/data.001
+fab4fefd2d8eb77c4f36c89959ae7980 ./dir-073/data.003
+fb2388d03c2723f15728bda9c1dc2762 ./dir-024/data.006
+fb524e3bb758f32e7d34e538a5e40560 ./dir-019/data.010
+fb539fb081f4a95ac5b5b5e11343e2b7 ./dir-052/data.008
+fb7dd48f35c128212b78551cceda244c ./dir-038/data.005
+fb8aa16acb9f7292384e265585f4dd37 ./dir-055/data.003
+fbd1db4da87c1ed8082d9cf94fc424aa ./dir-027/data.003
+fc04e84bb6c640f890854fc5775b9d8a ./dir-034/data.004
+fc21a043990d03703003a506b0662821 ./dir-005/data.000
+fc2a45f10e52e18918d25d640f751457 ./dir-099/data.007
+fc2e476a6d1b7ce71b51bd43816891a3 ./dir-096/data.007
+fc304616f24322e26a4666c0e7181e7e ./dir-006/data.002
+fc906d13df56dfc5580af823ca1af610 ./dir-077/data.006
+fc97b066c0af8f2fa40f2bc91cae3b56 ./dir-063/data.009
+fc9bd58f8f126a8406987360b64a91fe ./dir-004/data.008
+fcbaf30100050cc1bb990e98d30605b9 ./dir-006/data.010
+fcd7a6b7924260b997ae603eadfae59f ./dir-090/data.000
+fd1decb314835cbb95d4aa6e7bdf3359 ./dir-075/data.000
+fd38d0ddd60429b3c7071867a8fcfbc0 ./dir-047/data.008
+fd3e4c487cae1c68f05ea2dc81cba74c ./dir-055/data.007
+fd63004ae886ce8e520756c6eff04835 ./dir-009/data.003
+fe086b79a2c29f13437c1346a8cb53f4 ./dir-009/data.005
+fe3505df1642e9d306269e2e07ab1089 ./dir-064/data.000
+fe4f310b776e309503f523b8a26d3ba8 ./dir-085/data.010
+fe68ec6607c15f0ceabada101b382b0e ./dir-069/data.004
+fe7751a5487172303de648672602c28a ./dir-076/data.002
+feb8b69e6224a7ea72e881e3f4a45b32 ./dir-028/data.009
+fed540a11f00f1f80470be7b491fc45c ./dir-108/data.002
+fed5e00dc94ed751061194eccf2c77e2 ./dir-050/data.007
+ff10c7b37d705bc48a1fdee62ea7661f ./dir-079/data.006
+ff13d49326ff8759119e78959de628e9 ./dir-048/data.003
+ff216f0f2e540e9057874b0cb4fdcdb1 ./dir-100/data.007
+ff92bf04634e26a2980ffb6ad47f9c05 ./dir-026/data.006
+ffe078de3583025c4780c8f4305772c3 ./dir-085/data.004
+fff6015c3b8f791f4027791ac0b5f593 ./dir-063/data.004
+
+umount the image
diff --git a/tests/expected/cramfs/mkfs-endianness b/tests/expected/cramfs/mkfs-endianness
new file mode 100644
index 0000000..ef935a7
--- /dev/null
+++ b/tests/expected/cramfs/mkfs-endianness
@@ -0,0 +1,4 @@
+create little endian
+4666f0d2b661f9f3962877edabadb210
+create big endian
+bc0b7bbef02765d32e07faa735d2e0c6
diff --git a/tests/expected/eject/umount b/tests/expected/eject/umount
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/expected/eject/umount
diff --git a/tests/expected/eject/umount-by-disk b/tests/expected/eject/umount-by-disk
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/eject/umount-by-disk
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/eject/umount-by-disk-mounted b/tests/expected/eject/umount-by-disk-mounted
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/eject/umount-by-disk-mounted
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/eject/umount-by-disk-mounted-partition b/tests/expected/eject/umount-by-disk-mounted-partition
new file mode 100644
index 0000000..2a99ba0
--- /dev/null
+++ b/tests/expected/eject/umount-by-disk-mounted-partition
@@ -0,0 +1,2 @@
+Create partitions
+Success
diff --git a/tests/expected/eject/umount-by-partition b/tests/expected/eject/umount-by-partition
new file mode 100644
index 0000000..2a99ba0
--- /dev/null
+++ b/tests/expected/eject/umount-by-partition
@@ -0,0 +1,2 @@
+Create partitions
+Success
diff --git a/tests/expected/eject/umount-by-partition-mounted b/tests/expected/eject/umount-by-partition-mounted
new file mode 100644
index 0000000..2a99ba0
--- /dev/null
+++ b/tests/expected/eject/umount-by-partition-mounted
@@ -0,0 +1,2 @@
+Create partitions
+Success
diff --git a/tests/expected/fdisk/align-512-4K b/tests/expected/fdisk/align-512-4K
new file mode 100644
index 0000000..293f4ae
--- /dev/null
+++ b/tests/expected/fdisk/align-512-4K
@@ -0,0 +1,83 @@
+Create partitions
+
+
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+Device does not contain a recognized partition table
+
+
+The device presents a logical sector size that is smaller than
+the physical sector size. Aligning to a physical sector (or optimal
+I/O) size boundary is recommended, or performance may be impacted.
+
+Command (m for help): Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+Select (default p): Partition number (1-4, default 1): First sector (2048-102399, default 2048): Using default value 2048
+Last sector, +sectors or +size{K,M,G} (2048-102399, default 102399): Partition 1 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (1 primary, 0 extended, 3 free)
+ e extended
+Select (default p): Partition number (1-4, default 2): First sector (22528-102399, default 22528): Using default value 22528
+Last sector, +sectors or +size{K,M,G} (22528-102399, default 102399): Partition 2 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (2 primary, 0 extended, 2 free)
+ e extended
+Select (default p): Partition number (1-4, default 3): First sector (43008-102399, default 43008): Using default value 43008
+Last sector, +sectors or +size{K,M,G} (43008-102399, default 102399): Partition 3 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (3 primary, 0 extended, 1 free)
+ e extended
+Select (default e): Selected partition 4
+First sector (63488-102399, default 63488): Using default value 63488
+Last sector, +sectors or +size{K,M,G} (63488-102399, default 102399): Using default value 102399
+Partition 4 of type Extended and of size 19 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 5
+First sector (65536-102399, default 65536): Using default value 65536
+Last sector, +sectors or +size{K,M,G} (65536-102399, default 102399): Partition 5 of type Linux and of size 5 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 6
+First sector (77824-102399, default 77824): Using default value 77824
+Last sector, +sectors or +size{K,M,G} (77824-102399, default 102399): Partition 6 of type Linux and of size 5 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 7
+First sector (90112-102399, default 90112): Using default value 90112
+Last sector, +sectors or +size{K,M,G} (90112-102399, default 102399): Using default value 102399
+Partition 7 of type Linux and of size 6 MiB is set
+
+Command (m for help):
+Disk /dev/...: 52 MB, 52428800 bytes, 102400 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 4096 bytes
+I/O size (minimum/optimal): 4096 bytes / 32768 bytes
+
+
+ Device Boot Start End Blocks Id System
+/dev/...1 2048 22527 10240 83 Linux
+/dev/...2 22528 43007 10240 83 Linux
+/dev/...3 43008 63487 10240 83 Linux
+/dev/...4 63488 102399 19456 5 Extended
+/dev/...5 65536 75775 5120 83 Linux
+/dev/...6 77824 88063 5120 83 Linux
+/dev/...7 90112 102399 6144 83 Linux
+
+Command (m for help): The partition table has been altered!
+
+Calling ioctl() to re-read partition table.
+Syncing disks.
+Alignment offsets:
+0
+0
+0
+0
+0
+0
+0
diff --git a/tests/expected/fdisk/align-512-4K-63 b/tests/expected/fdisk/align-512-4K-63
new file mode 100644
index 0000000..5369ec5
--- /dev/null
+++ b/tests/expected/fdisk/align-512-4K-63
@@ -0,0 +1,84 @@
+Create partitions
+
+
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+Device does not contain a recognized partition table
+
+
+The device presents a logical sector size that is smaller than
+the physical sector size. Aligning to a physical sector (or optimal
+I/O) size boundary is recommended, or performance may be impacted.
+
+Command (m for help): Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+Select (default p): Partition number (1-4, default 1): First sector (7-102399, default 7): Using default value 7
+Last sector, +sectors or +size{K,M,G} (7-102399, default 102399): Partition 1 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (1 primary, 0 extended, 3 free)
+ e extended
+Select (default p): Partition number (1-4, default 2): First sector (20487-102399, default 20487): Using default value 20487
+Last sector, +sectors or +size{K,M,G} (20487-102399, default 102399): Partition 2 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (2 primary, 0 extended, 2 free)
+ e extended
+Select (default p): Partition number (1-4, default 3): First sector (40967-102399, default 40967): Using default value 40967
+Last sector, +sectors or +size{K,M,G} (40967-102399, default 102399): Partition 3 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (3 primary, 0 extended, 1 free)
+ e extended
+Select (default e): Selected partition 4
+First sector (61447-102399, default 61447): Using default value 61447
+Last sector, +sectors or +size{K,M,G} (61447-102399, default 102399): Using default value 102399
+Partition 4 of type Extended and of size 20 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 5
+First sector (61454-102399, default 63487): Using default value 63487
+Last sector, +sectors or +size{K,M,G} (63487-102399, default 102399): Partition 5 of type Linux and of size 5 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 6
+First sector (61454-102399, default 75775): Using default value 75775
+Last sector, +sectors or +size{K,M,G} (75775-102399, default 102399): Partition 6 of type Linux and of size 5 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 7
+First sector (61454-102399, default 88063): Using default value 88063
+Last sector, +sectors or +size{K,M,G} (88063-102399, default 102399): Using default value 102399
+Partition 7 of type Linux and of size 7 MiB is set
+
+Command (m for help):
+Disk /dev/...: 52 MB, 52428800 bytes, 102400 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 4096 bytes
+I/O size (minimum/optimal): 4096 bytes / 32768 bytes
+Alignment offset: 3584 bytes
+
+
+ Device Boot Start End Blocks Id System
+/dev/...1 7 20486 10240 83 Linux
+/dev/...2 20487 40966 10240 83 Linux
+/dev/...3 40967 61446 10240 83 Linux
+/dev/...4 61447 102399 20476+ 5 Extended
+/dev/...5 63487 73726 5120 83 Linux
+/dev/...6 75775 86014 5120 83 Linux
+/dev/...7 88063 102399 7168+ 83 Linux
+
+Command (m for help): The partition table has been altered!
+
+Calling ioctl() to re-read partition table.
+Syncing disks.
+Alignment offsets:
+0
+0
+0
+0
+0
+0
+0
diff --git a/tests/expected/fdisk/align-512-4K-md b/tests/expected/fdisk/align-512-4K-md
new file mode 100644
index 0000000..7b7e4bf
--- /dev/null
+++ b/tests/expected/fdisk/align-512-4K-md
@@ -0,0 +1,87 @@
+Create partitions
+
+
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+Device does not contain a recognized partition table
+
+
+The device presents a logical sector size that is smaller than
+the physical sector size. Aligning to a physical sector (or optimal
+I/O) size boundary is recommended, or performance may be impacted.
+
+Command (m for help): Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+Select (default p): Partition number (1-4, default 1): First sector (2048-102399, default 2048): Using default value 2048
+Last sector, +sectors or +size{K,M,G} (2048-102399, default 102399): Partition 1 of type Linux and of size 20 MiB is set
+
+Command (m for help): Partition type:
+ p primary (1 primary, 0 extended, 3 free)
+ e extended
+Select (default p): Partition number (1-4, default 2): First sector (43008-102399, default 43008): Using default value 43008
+Last sector, +sectors or +size{K,M,G} (43008-102399, default 102399): Using default value 102399
+Partition 2 of type Linux and of size 29 MiB is set
+
+Command (m for help):
+Disk /dev/...: 52 MB, 52428800 bytes, 102400 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 4096 bytes
+I/O size (minimum/optimal): 4096 bytes / 32768 bytes
+
+
+ Device Boot Start End Blocks Id System
+/dev/...1 2048 43007 20480 83 Linux
+/dev/...2 43008 102399 29696 83 Linux
+
+Command (m for help): The partition table has been altered!
+
+Calling ioctl() to re-read partition table.
+Syncing disks.
+Alignment offsets:
+0
+0
+Create partitions (MD)
+
+
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+Device does not contain a recognized partition table
+
+
+The device presents a logical sector size that is smaller than
+the physical sector size. Aligning to a physical sector (or optimal
+I/O) size boundary is recommended, or performance may be impacted.
+
+Command (m for help): Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+Select (default p): Partition number (1-4, default 1): First sector (2048-100095, default 2048): Using default value 2048
+Last sector, +sectors or +size{K,M,G} (2048-100095, default 100095): Partition 1 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (1 primary, 0 extended, 3 free)
+ e extended
+Select (default p): Partition number (1-4, default 2): First sector (22528-100095, default 22528): Using default value 22528
+Last sector, +sectors or +size{K,M,G} (22528-100095, default 100095): Partition 2 of type Linux and of size 10 MiB is set
+
+Command (m for help):
+Disk /dev/md8: 51 MB, 51249152 bytes, 100096 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 4096 bytes
+I/O size (minimum/optimal): 65536 bytes / 131072 bytes
+
+
+ Device Boot Start End Blocks Id System
+/dev/md8p1 2048 22527 10240 83 Linux
+/dev/md8p2 22528 43007 10240 83 Linux
+
+Command (m for help): The partition table has been altered!
+
+Calling ioctl() to re-read partition table.
+Syncing disks.
+Alignment offsets (MD):
+0
+0
diff --git a/tests/expected/fdisk/align-512-4K-topology b/tests/expected/fdisk/align-512-4K-topology
new file mode 100644
index 0000000..88f5f37
--- /dev/null
+++ b/tests/expected/fdisk/align-512-4K-topology
@@ -0,0 +1,78 @@
+Create partitions
+Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
+Building a new DOS disklabel with disk identifier 0x817cb84a.
+Changes will remain in memory only, until you decide to write them.
+After that, of course, the previous content won't be recoverable.
+
+Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
+
+The device presents a logical sector size that is smaller than
+the physical sector size. Aligning to a physical sector (or optimal
+I/O) size boundary is recommended, or performance may be impacted.
+
+WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
+ switch off the mode (command 'c') and change display units to
+ sectors (command 'u').
+
+Command (m for help): DOS Compatibility flag is not set
+
+Command (m for help): Changing display/entry units to sectors
+
+Command (m for help): Command action
+ e extended
+ p primary partition (1-4)
+Partition number (1-4): First sector (64-102399, default 64): Using default value 64
+Last sector, +sectors or +size{K,M,G} (64-102399, default 102399):
+Command (m for help): Command action
+ e extended
+ p primary partition (1-4)
+Partition number (1-4): First sector (20544-102399, default 20544): Using default value 20544
+Last sector, +sectors or +size{K,M,G} (20544-102399, default 102399):
+Command (m for help): Command action
+ e extended
+ p primary partition (1-4)
+Partition number (1-4): First sector (41024-102399, default 41024): Using default value 41024
+Last sector, +sectors or +size{K,M,G} (41024-102399, default 102399):
+Command (m for help): Command action
+ e extended
+ p primary partition (1-4)
+Selected partition 4
+First sector (61504-102399, default 61504): Using default value 61504
+Last sector, +sectors or +size{K,M,G} (61504-102399, default 102399): Using default value 102399
+
+Command (m for help): First sector (61568-102399, default 61568): Using default value 61568
+Last sector, +sectors or +size{K,M,G} (61568-102399, default 102399):
+Command (m for help): First sector (71872-102399, default 71872): Using default value 71872
+Last sector, +sectors or +size{K,M,G} (71872-102399, default 102399):
+Command (m for help): First sector (82176-102399, default 82176): Using default value 82176
+Last sector, +sectors or +size{K,M,G} (82176-102399, default 102399): Using default value 102399
+
+Command (m for help):
+Disk /dev/sdb: 52 MB, 52428800 bytes
+32 heads, 32 sectors/track, 100 cylinders, total 102400 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 4096 bytes
+I/O size (minimum/optimal): 4096 bytes / 32768 bytes
+Disk identifier: 0x817cb84a
+
+ Device Boot Start End Blocks Id System
+/dev/sdb1 64 20543 10240 83 Linux
+/dev/sdb2 20544 41023 10240 83 Linux
+/dev/sdb3 41024 61503 10240 83 Linux
+/dev/sdb4 61504 102399 20448 5 Extended
+/dev/sdb5 61568 71807 5120 83 Linux
+/dev/sdb6 71872 82111 5120 83 Linux
+/dev/sdb7 82176 102399 10112 83 Linux
+
+Command (m for help): The partition table has been altered!
+
+Calling ioctl() to re-read partition table.
+Syncing disks.
+Alignment offsets:
+0
+0
+0
+0
+0
+0
+0
diff --git a/tests/expected/fdisk/align-512-512 b/tests/expected/fdisk/align-512-512
new file mode 100644
index 0000000..37cfa71
--- /dev/null
+++ b/tests/expected/fdisk/align-512-512
@@ -0,0 +1,68 @@
+Create partitions
+
+
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+Device does not contain a recognized partition table
+
+
+Command (m for help): Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+Select (default p): Partition number (1-4, default 1): First sector (2048-102399, default 2048): Using default value 2048
+Last sector, +sectors or +size{K,M,G} (2048-102399, default 102399): Partition 1 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (1 primary, 0 extended, 3 free)
+ e extended
+Select (default p): Partition number (1-4, default 2): First sector (22528-102399, default 22528): Using default value 22528
+Last sector, +sectors or +size{K,M,G} (22528-102399, default 102399): Partition 2 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (2 primary, 0 extended, 2 free)
+ e extended
+Select (default p): Partition number (1-4, default 3): First sector (43008-102399, default 43008): Using default value 43008
+Last sector, +sectors or +size{K,M,G} (43008-102399, default 102399): Partition 3 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (3 primary, 0 extended, 1 free)
+ e extended
+Select (default e): Selected partition 4
+First sector (63488-102399, default 63488): Using default value 63488
+Last sector, +sectors or +size{K,M,G} (63488-102399, default 102399): Using default value 102399
+Partition 4 of type Extended and of size 19 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 5
+First sector (65536-102399, default 65536): Using default value 65536
+Last sector, +sectors or +size{K,M,G} (65536-102399, default 102399): Partition 5 of type Linux and of size 5 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 6
+First sector (77824-102399, default 77824): Using default value 77824
+Last sector, +sectors or +size{K,M,G} (77824-102399, default 102399): Partition 6 of type Linux and of size 5 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 7
+First sector (90112-102399, default 90112): Using default value 90112
+Last sector, +sectors or +size{K,M,G} (90112-102399, default 102399): Using default value 102399
+Partition 7 of type Linux and of size 6 MiB is set
+
+Command (m for help):
+Disk /dev/loop0: 52 MB, 52428800 bytes, 102400 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+
+
+ Device Boot Start End Blocks Id System
+/dev/loop0p1 2048 22527 10240 83 Linux
+/dev/loop0p2 22528 43007 10240 83 Linux
+/dev/loop0p3 43008 63487 10240 83 Linux
+/dev/loop0p4 63488 102399 19456 5 Extended
+/dev/loop0p5 65536 75775 5120 83 Linux
+/dev/loop0p6 77824 88063 5120 83 Linux
+/dev/loop0p7 90112 102399 6144 83 Linux
+
+Command (m for help):
diff --git a/tests/expected/fdisk/align-512-512-topology b/tests/expected/fdisk/align-512-512-topology
new file mode 100644
index 0000000..d16233f
--- /dev/null
+++ b/tests/expected/fdisk/align-512-512-topology
@@ -0,0 +1,79 @@
+Create partitions
+
+
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+Device does not contain a recognized partition table
+
+
+Command (m for help): Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+Select (default p): Partition number (1-4, default 1): First sector (2048-102399, default 2048): Using default value 2048
+Last sector, +sectors or +size{K,M,G} (2048-102399, default 102399): Partition 1 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (1 primary, 0 extended, 3 free)
+ e extended
+Select (default p): Partition number (1-4, default 2): First sector (22528-102399, default 22528): Using default value 22528
+Last sector, +sectors or +size{K,M,G} (22528-102399, default 102399): Partition 2 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (2 primary, 0 extended, 2 free)
+ e extended
+Select (default p): Partition number (1-4, default 3): First sector (43008-102399, default 43008): Using default value 43008
+Last sector, +sectors or +size{K,M,G} (43008-102399, default 102399): Partition 3 of type Linux and of size 10 MiB is set
+
+Command (m for help): Partition type:
+ p primary (3 primary, 0 extended, 1 free)
+ e extended
+Select (default e): Selected partition 4
+First sector (63488-102399, default 63488): Using default value 63488
+Last sector, +sectors or +size{K,M,G} (63488-102399, default 102399): Using default value 102399
+Partition 4 of type Extended and of size 19 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 5
+First sector (65536-102399, default 65536): Using default value 65536
+Last sector, +sectors or +size{K,M,G} (65536-102399, default 102399): Partition 5 of type Linux and of size 5 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 6
+First sector (77824-102399, default 77824): Using default value 77824
+Last sector, +sectors or +size{K,M,G} (77824-102399, default 102399): Partition 6 of type Linux and of size 5 MiB is set
+
+Command (m for help): All primary partitions are in use
+Adding logical partition 7
+First sector (90112-102399, default 90112): Using default value 90112
+Last sector, +sectors or +size{K,M,G} (90112-102399, default 102399): Using default value 102399
+Partition 7 of type Linux and of size 6 MiB is set
+
+Command (m for help):
+Disk /dev/...: 52 MB, 52428800 bytes, 102400 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 32768 bytes
+
+
+ Device Boot Start End Blocks Id System
+/dev/...1 2048 22527 10240 83 Linux
+/dev/...2 22528 43007 10240 83 Linux
+/dev/...3 43008 63487 10240 83 Linux
+/dev/...4 63488 102399 19456 5 Extended
+/dev/...5 65536 75775 5120 83 Linux
+/dev/...6 77824 88063 5120 83 Linux
+/dev/...7 90112 102399 6144 83 Linux
+
+Command (m for help): The partition table has been altered!
+
+Calling ioctl() to re-read partition table.
+Syncing disks.
+Alignment offsets:
+0
+0
+0
+0
+0
+0
+0
diff --git a/tests/expected/fdisk/id b/tests/expected/fdisk/id
new file mode 100644
index 0000000..4801f81
--- /dev/null
+++ b/tests/expected/fdisk/id
@@ -0,0 +1,5 @@
+Initialize empty image
+Create MBR with ID=0x1
+Disk identifier: 0x00000001
+Create MBR with ID=0x2
+Disk identifier: 0x00000002
diff --git a/tests/expected/fdisk/mbr-dos-mode b/tests/expected/fdisk/mbr-dos-mode
new file mode 100644
index 0000000..b04f956
--- /dev/null
+++ b/tests/expected/fdisk/mbr-dos-mode
@@ -0,0 +1,182 @@
+Initialize empty image
+f1c9645dbc14efddc7d8a322685f26eb mbr-dos-mode.img
+Create new DOS partition table
+57e721e38d1266c2df055067c18f2cf9 mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 10 MB, 10485760 bytes, 20480 sectors
+255 heads, 63 sectors/track, 1 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+-------------------
+
+Create primary partition
+ae4f9b12f4a768849f72ea36938c30c7 mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 10 MB, 10485760 bytes, 20480 sectors
+255 heads, 63 sectors/track, 1 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 1 1 8001 83 Linux
+-------------------
+
+Set partition type
+4a5dba818f9962a82a086d8b99b89a17 mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 10 MB, 10485760 bytes, 20480 sectors
+255 heads, 63 sectors/track, 1 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 1 1 8001 bf Solaris
+-------------------
+
+Set primary partition active
+c30e9c761b71cf95c67e758b93706ac5 mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 10 MB, 10485760 bytes, 20480 sectors
+255 heads, 63 sectors/track, 1 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 * 1 1 8001 bf Solaris
+-------------------
+
+Re-create primary partition
+ae4f9b12f4a768849f72ea36938c30c7 mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 10 MB, 10485760 bytes, 20480 sectors
+255 heads, 63 sectors/track, 1 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 1 1 8001 83 Linux
+-------------------
+
+Create extended partition
+76987a00b353687cd1dba3ddea9d66f9 mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 10 MB, 10485760 bytes, 20480 sectors
+255 heads, 63 sectors/track, 1 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 1 1 8001 83 Linux
+__ts_dev__2 2 12 88357+ 5 Extended
+-------------------
+
+Create logical partitions
+a1cd6708e4a6d2e5f6bc9d5c0da0cf3b mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 57 MB, 57577472 bytes, 112456 sectors
+255 heads, 63 sectors/track, 7 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 1 1 8001 83 Linux
+__ts_dev__2 2 12 88357+ 5 Extended
+__ts_dev__5 2 3 16033+ 83 Linux
+__ts_dev__6 4 5 16033+ 83 Linux
+__ts_dev__7 6 7 16033+ 83 Linux
+__ts_dev__8 8 9 16033+ 83 Linux
+-------------------
+
+Delete logical partitions
+4c6937d529ace5661fb82efb9394154a mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 57 MB, 57577472 bytes, 112456 sectors
+255 heads, 63 sectors/track, 7 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 1 1 8001 83 Linux
+__ts_dev__2 2 12 88357+ 5 Extended
+__ts_dev__5 6 7 16033+ 83 Linux
+-------------------
+
+Create another logical partition
+9589eaaed698d2402945ab3e513c1eb4 mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 57 MB, 57577472 bytes, 112456 sectors
+255 heads, 63 sectors/track, 7 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 1 1 8001 83 Linux
+__ts_dev__2 2 12 88357+ 5 Extended
+__ts_dev__5 6 7 16033+ 83 Linux
+__ts_dev__6 2 3 16033+ 83 Linux
+
+Partition table entries are not in disk order
+-------------------
+
+Delete primary partition
+1e6d646e5df66a2664cfbbb13fa9a08a mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 57 MB, 57577472 bytes, 112456 sectors
+255 heads, 63 sectors/track, 7 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__2 2 12 88357+ 5 Extended
+__ts_dev__5 6 7 16033+ 83 Linux
+__ts_dev__6 2 3 16033+ 83 Linux
+
+Partition table entries are not in disk order
+-------------------
+
+Delete extended partition
+fc3cdb12326656d7996b09b6f76973e7 mbr-dos-mode.img
+
+---layout----------
+__ts_dev__: 57 MB, 57577472 bytes, 112456 sectors
+255 heads, 63 sectors/track, 7 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+-------------------
+
diff --git a/tests/expected/fdisk/mbr-nondos-mode b/tests/expected/fdisk/mbr-nondos-mode
new file mode 100644
index 0000000..6ded30f
--- /dev/null
+++ b/tests/expected/fdisk/mbr-nondos-mode
@@ -0,0 +1,195 @@
+Initialize empty image
+8f4e33f3dc3e414ff94e5fb6905cba8c mbr-nondos-mode.img
+Create new DOS partition table
+4e23561dcb81678bb1bd678722c7cbb7 mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+-------------------
+
+Create 1st primary partition
+e21e16b7452d82e2a2810a1de8c3db05 mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 2048 8191 3072 83 Linux
+-------------------
+
+Set primary partition active
+47f024f3b406598a0159400af7382e2c mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 * 2048 8191 3072 83 Linux
+-------------------
+
+Re-create 1st primary partition
+a5543ee1e3d2cf79913a56bae893a0f0 mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 2048 8191 3072 83 Linux
+-------------------
+
+Create 2nd primary partition
+9d31ee977e26e72ebce78e8e543cd4ce mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 2048 8191 3072 83 Linux
+__ts_dev__2 8192 12287 2048 83 Linux
+-------------------
+
+Create extended partition
+9528631b198e44564f67f8ca97fa51b8 mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 2048 8191 3072 83 Linux
+__ts_dev__2 8192 12287 2048 83 Linux
+__ts_dev__3 12288 40959 14336 5 Extended
+-------------------
+
+Create logical partitions
+db4406e7bc0773f234fd1db1b58b5997 mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 2048 8191 3072 83 Linux
+__ts_dev__2 8192 12287 2048 83 Linux
+__ts_dev__3 12288 40959 14336 5 Extended
+__ts_dev__5 14336 18431 2048 83 Linux
+__ts_dev__6 20480 24575 2048 83 Linux
+__ts_dev__7 26624 30719 2048 83 Linux
+__ts_dev__8 32768 36863 2048 83 Linux
+-------------------
+
+Delete logical partitions
+de85b8d74f52f307b9467ea4c33438cb mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 2048 8191 3072 83 Linux
+__ts_dev__2 8192 12287 2048 83 Linux
+__ts_dev__3 12288 40959 14336 5 Extended
+__ts_dev__5 26624 30719 2048 83 Linux
+-------------------
+
+Create another logical partition
+28d0cbe795535ee025dc7a4781516965 mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__1 2048 8191 3072 83 Linux
+__ts_dev__2 8192 12287 2048 83 Linux
+__ts_dev__3 12288 40959 14336 5 Extended
+__ts_dev__5 26624 30719 2048 83 Linux
+__ts_dev__6 14336 18431 2048 83 Linux
+
+Partition table entries are not in disk order
+-------------------
+
+Delete primary partition
+6f1b62718cf8d83602d51de8944cee51 mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__2 8192 12287 2048 83 Linux
+__ts_dev__3 12288 40959 14336 5 Extended
+__ts_dev__5 26624 30719 2048 83 Linux
+__ts_dev__6 14336 18431 2048 83 Linux
+
+Partition table entries are not in disk order
+-------------------
+
+Delete primary partition
+7b29a3cda33e990e8a7877b81988b933 mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+__ts_dev__3 12288 40959 14336 5 Extended
+__ts_dev__5 26624 30719 2048 83 Linux
+__ts_dev__6 14336 18431 2048 83 Linux
+
+Partition table entries are not in disk order
+-------------------
+
+Delete extended partition
+e1ef48d3d42f4ebcfd5bf4baf5e370e9 mbr-nondos-mode.img
+
+---layout----------
+__ts_dev__: 20 MB, 20971520 bytes, 40960 sectors
+Units = sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0x00000001
+
+ Device Boot Start End Blocks Id System
+-------------------
+
diff --git a/tests/expected/fdisk/oddinput b/tests/expected/fdisk/oddinput
new file mode 100644
index 0000000..a681d0d
--- /dev/null
+++ b/tests/expected/fdisk/oddinput
@@ -0,0 +1,14 @@
+Initialize empty image
+f1c9645dbc14efddc7d8a322685f26eb oddinput.img
+Empty image listing
+
+Disk testimage: 10 MB, 10485760 bytes, 20480 sectors
+255 heads, 63 sectors/track, 1 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+
+Nonexistant file
+fdisk: cannot open _a_file_that_does_not_exist_: No such file or directory
+Too small file
+fdisk: cannot open oddinput.toosmall: Invalid argument
diff --git a/tests/expected/fdisk/oddinput.toosmall b/tests/expected/fdisk/oddinput.toosmall
new file mode 100644
index 0000000..06c75ed
--- /dev/null
+++ b/tests/expected/fdisk/oddinput.toosmall
@@ -0,0 +1 @@
+This file is too small
diff --git a/tests/expected/fdisk/sunlabel b/tests/expected/fdisk/sunlabel
new file mode 100644
index 0000000..03ad0c7
--- /dev/null
+++ b/tests/expected/fdisk/sunlabel
@@ -0,0 +1,16 @@
+Initialize empty image
+f1c9645dbc14efddc7d8a322685f26eb sunlabel.img
+Create new SUN partition table
+0a32b3a8da607252eda8cdb240cce9fe sunlabel.img
+Create first partition
+10da37badd1a702ff7e3d3f7a84cd879 sunlabel.img
+Set partition sysid
+414df1b428e2f7ec1b3d0fbdf9a28264 sunlabel.img
+Set first partition readonly
+2bc64800c541254e87643262bd9ccc85 sunlabel.img
+Set first partition mountable
+2f5087a60c3aee42c3bc7c681e2f8e0d sunlabel.img
+Create second partition
+5d1557c0d29167f4186d73abd0dcb2f3 sunlabel.img
+Delete all partitions
+f7e309657add78ea53696e2746df9f29 sunlabel.img
diff --git a/tests/expected/fsck/ismounted b/tests/expected/fsck/ismounted
new file mode 100644
index 0000000..bc3bd43
--- /dev/null
+++ b/tests/expected/fsck/ismounted
@@ -0,0 +1 @@
+mounted
diff --git a/tests/expected/ipcs/headers b/tests/expected/ipcs/headers
new file mode 100644
index 0000000..298d8c9
--- /dev/null
+++ b/tests/expected/ipcs/headers
@@ -0,0 +1,64 @@
+test: shm headers
+------ Shared Memory Attach/Detach/Change Times --------
+shmid owner attached detached changed
+------ Shared Memory Creator/Last-op PIDs --------
+shmid owner cpid lpid
+------ Shared Memory Segment Creators/Owners --------
+shmid perms cuid cgid uid gid
+------ Shared Memory Limits --------
+------ Shared Memory Status --------
+
+test: mesg headers
+------ Message Queues Send/Recv/Change Times --------
+msqid owner send recv change
+------ Message Queues PIDs --------
+msqid owner lspid lrpid
+------ Message Queues Creators/Owners --------
+msqid perms cuid cgid uid gid
+------ Messages Limits --------
+------ Messages Status --------
+
+test: sem headers
+------ Semaphore Operation/Change Times --------
+semid owner last-op last-changed
+------ Semaphore Arrays Creators/Owners --------
+semid perms cuid cgid uid gid
+------ Semaphore Limits --------
+------ Semaphore Status --------
+
+test: all headers
+------ Shared Memory Segments --------
+key shmid owner perms bytes nattch status
+--
+------ Semaphore Arrays --------
+key semid owner perms nsems
+--
+------ Message Queues --------
+key msqid owner perms used-bytes messages
+------ Shared Memory Attach/Detach/Change Times --------
+shmid owner attached detached changed
+--
+------ Semaphore Operation/Change Times --------
+semid owner last-op last-changed
+--
+------ Message Queues Send/Recv/Change Times --------
+msqid owner send recv change
+------ Shared Memory Creator/Last-op PIDs --------
+shmid owner cpid lpid
+--
+------ Message Queues PIDs --------
+msqid owner lspid lrpid
+------ Shared Memory Segment Creators/Owners --------
+shmid perms cuid cgid uid gid
+--
+------ Semaphore Arrays Creators/Owners --------
+semid perms cuid cgid uid gid
+--
+------ Message Queues Creators/Owners --------
+msqid perms cuid cgid uid gid
+------ Shared Memory Limits --------
+------ Semaphore Limits --------
+------ Messages Limits --------
+------ Shared Memory Status --------
+------ Semaphore Status --------
+------ Messages Status --------
diff --git a/tests/expected/ipcs/limits b/tests/expected/ipcs/limits
new file mode 100644
index 0000000..7480a1e
--- /dev/null
+++ b/tests/expected/ipcs/limits
@@ -0,0 +1,11 @@
+load original values
+check for difference between kernel and IPC
+/proc/sys/kernel/shmmni OK
+/proc/sys/kernel/shmall OK
+/proc/sys/kernel/shmmax OK
+maximalize kernel setting
+re-check for difference between kernel and IPC
+/proc/sys/kernel/shmmni OK
+/proc/sys/kernel/shmall OK
+/proc/sys/kernel/shmmax OK
+write original values to kernel
diff --git a/tests/expected/ipcs/limits2 b/tests/expected/ipcs/limits2
new file mode 100644
index 0000000..28454e3
--- /dev/null
+++ b/tests/expected/ipcs/limits2
@@ -0,0 +1,4 @@
+check for difference between kernel and IPC
+/proc/sys/kernel/shmmni OK
+/proc/sys/kernel/shmall OK
+/proc/sys/kernel/shmmax OK
diff --git a/tests/expected/libmount/context b/tests/expected/libmount/context
new file mode 100644
index 0000000..5e268a3
--- /dev/null
+++ b/tests/expected/libmount/context
@@ -0,0 +1,5 @@
+Init device
+Create partitions
+Create filesystem
+Do tests...
+...done.
diff --git a/tests/expected/libmount/context-mount-by-devname b/tests/expected/libmount/context-mount-by-devname
new file mode 100644
index 0000000..7504a7e
--- /dev/null
+++ b/tests/expected/libmount/context-mount-by-devname
@@ -0,0 +1 @@
+successfully mounted
diff --git a/tests/expected/libmount/context-mount-by-label b/tests/expected/libmount/context-mount-by-label
new file mode 100644
index 0000000..7504a7e
--- /dev/null
+++ b/tests/expected/libmount/context-mount-by-label
@@ -0,0 +1 @@
+successfully mounted
diff --git a/tests/expected/libmount/context-mount-by-uuid b/tests/expected/libmount/context-mount-by-uuid
new file mode 100644
index 0000000..2f44fc4
--- /dev/null
+++ b/tests/expected/libmount/context-mount-by-uuid
@@ -0,0 +1,2 @@
+successfully mounted
+successfully umounted
diff --git a/tests/expected/libmount/context-mount-flags b/tests/expected/libmount/context-mount-flags
new file mode 100644
index 0000000..9606418
--- /dev/null
+++ b/tests/expected/libmount/context-mount-flags
@@ -0,0 +1,5 @@
+successfully mounted
+ro,nosuid,noexec
+successfully mounted
+rw,nosuid,noexec
+successfully umounted
diff --git a/tests/expected/libmount/context-mount-loopdev b/tests/expected/libmount/context-mount-loopdev
new file mode 100644
index 0000000..2f44fc4
--- /dev/null
+++ b/tests/expected/libmount/context-mount-loopdev
@@ -0,0 +1,2 @@
+successfully mounted
+successfully umounted
diff --git a/tests/expected/libmount/context-umount-by-devname b/tests/expected/libmount/context-umount-by-devname
new file mode 100644
index 0000000..319236f
--- /dev/null
+++ b/tests/expected/libmount/context-umount-by-devname
@@ -0,0 +1 @@
+successfully umounted
diff --git a/tests/expected/libmount/context-umount-by-mountpoint b/tests/expected/libmount/context-umount-by-mountpoint
new file mode 100644
index 0000000..319236f
--- /dev/null
+++ b/tests/expected/libmount/context-umount-by-mountpoint
@@ -0,0 +1 @@
+successfully umounted
diff --git a/tests/expected/libmount/context-utab b/tests/expected/libmount/context-utab
new file mode 100644
index 0000000..cde2e3f
--- /dev/null
+++ b/tests/expected/libmount/context-utab
@@ -0,0 +1,9 @@
+Init device
+Create partitions
+Create filesystem
+Do tests...
+Create filesystem [btrfs]
+All mount options (btrfs subvolume + utab) ---
+rw,relatime,ssd,uhelper=foo
+---
+...done.
diff --git a/tests/expected/libmount/context-utab-mount-by-devname b/tests/expected/libmount/context-utab-mount-by-devname
new file mode 100644
index 0000000..7504a7e
--- /dev/null
+++ b/tests/expected/libmount/context-utab-mount-by-devname
@@ -0,0 +1 @@
+successfully mounted
diff --git a/tests/expected/libmount/context-utab-mount-uhelper b/tests/expected/libmount/context-utab-mount-uhelper
new file mode 100644
index 0000000..7504a7e
--- /dev/null
+++ b/tests/expected/libmount/context-utab-mount-uhelper
@@ -0,0 +1 @@
+successfully mounted
diff --git a/tests/expected/libmount/context-utab-mount-uhelper-subvol b/tests/expected/libmount/context-utab-mount-uhelper-subvol
new file mode 100644
index 0000000..7504a7e
--- /dev/null
+++ b/tests/expected/libmount/context-utab-mount-uhelper-subvol
@@ -0,0 +1 @@
+successfully mounted
diff --git a/tests/expected/libmount/context-utab-umount b/tests/expected/libmount/context-utab-umount
new file mode 100644
index 0000000..319236f
--- /dev/null
+++ b/tests/expected/libmount/context-utab-umount
@@ -0,0 +1 @@
+successfully umounted
diff --git a/tests/expected/libmount/context-utab-umount-by-devname b/tests/expected/libmount/context-utab-umount-by-devname
new file mode 100644
index 0000000..319236f
--- /dev/null
+++ b/tests/expected/libmount/context-utab-umount-by-devname
@@ -0,0 +1 @@
+successfully umounted
diff --git a/tests/expected/libmount/context-utab-umount-subvol b/tests/expected/libmount/context-utab-umount-subvol
new file mode 100644
index 0000000..319236f
--- /dev/null
+++ b/tests/expected/libmount/context-utab-umount-subvol
@@ -0,0 +1 @@
+successfully umounted
diff --git a/tests/expected/libmount/lock b/tests/expected/libmount/lock
new file mode 100644
index 0000000..d7e318d
--- /dev/null
+++ b/tests/expected/libmount/lock
@@ -0,0 +1 @@
+50000 \ No newline at end of file
diff --git a/tests/expected/libmount/optstr-append b/tests/expected/libmount/optstr-append
new file mode 100644
index 0000000..68e5845
--- /dev/null
+++ b/tests/expected/libmount/optstr-append
@@ -0,0 +1 @@
+result: >aaa,bbb=BBB,context="foo,bar,gogo",ccc,ddd<
diff --git a/tests/expected/libmount/optstr-append-value b/tests/expected/libmount/optstr-append-value
new file mode 100644
index 0000000..e0116f6
--- /dev/null
+++ b/tests/expected/libmount/optstr-append-value
@@ -0,0 +1 @@
+result: >aaa,bbb=BBB,ccc,ddd=DDD<
diff --git a/tests/expected/libmount/optstr-apply-linux b/tests/expected/libmount/optstr-apply-linux
new file mode 100644
index 0000000..50a52a7
--- /dev/null
+++ b/tests/expected/libmount/optstr-apply-linux
@@ -0,0 +1,2 @@
+flags: 0x00000400
+optstr: rw,user=kzak,noatime
diff --git a/tests/expected/libmount/optstr-apply-user b/tests/expected/libmount/optstr-apply-user
new file mode 100644
index 0000000..2f34732
--- /dev/null
+++ b/tests/expected/libmount/optstr-apply-user
@@ -0,0 +1,2 @@
+flags: 0x00000408
+optstr: noexec,nosuid,user,nofail
diff --git a/tests/expected/libmount/optstr-deduplicate b/tests/expected/libmount/optstr-deduplicate
new file mode 100644
index 0000000..e2b669a
--- /dev/null
+++ b/tests/expected/libmount/optstr-deduplicate
@@ -0,0 +1 @@
+result: >bbb,ccc,xxx,ddd,AAA=ccc,fff=eee<
diff --git a/tests/expected/libmount/optstr-fix b/tests/expected/libmount/optstr-fix
new file mode 100644
index 0000000..9eb6817
--- /dev/null
+++ b/tests/expected/libmount/optstr-fix
@@ -0,0 +1,2 @@
+optstr: uid=root,gid=root
+fixed: uid=0,gid=0
diff --git a/tests/expected/libmount/optstr-flags b/tests/expected/libmount/optstr-flags
new file mode 100644
index 0000000..17b4727
--- /dev/null
+++ b/tests/expected/libmount/optstr-flags
@@ -0,0 +1,2 @@
+mountflags: 0x0000000e
+userspace-mountflags: 0x00002208
diff --git a/tests/expected/libmount/optstr-get b/tests/expected/libmount/optstr-get
new file mode 100644
index 0000000..7eafc65
--- /dev/null
+++ b/tests/expected/libmount/optstr-get
@@ -0,0 +1 @@
+found; name: aaa
diff --git a/tests/expected/libmount/optstr-get-value b/tests/expected/libmount/optstr-get-value
new file mode 100644
index 0000000..509843f
--- /dev/null
+++ b/tests/expected/libmount/optstr-get-value
@@ -0,0 +1 @@
+found; name: bbb, argument: size=3 data=BBB
diff --git a/tests/expected/libmount/optstr-prepend b/tests/expected/libmount/optstr-prepend
new file mode 100644
index 0000000..cdcf751
--- /dev/null
+++ b/tests/expected/libmount/optstr-prepend
@@ -0,0 +1 @@
+result: >ddd,aaa,bbb=BBB,ccc<
diff --git a/tests/expected/libmount/optstr-prepend-value b/tests/expected/libmount/optstr-prepend-value
new file mode 100644
index 0000000..debc7ee
--- /dev/null
+++ b/tests/expected/libmount/optstr-prepend-value
@@ -0,0 +1 @@
+result: >ddd=DDD,aaa,bbb=BBB,ccc<
diff --git a/tests/expected/libmount/optstr-remove b/tests/expected/libmount/optstr-remove
new file mode 100644
index 0000000..4c28ed2
--- /dev/null
+++ b/tests/expected/libmount/optstr-remove
@@ -0,0 +1 @@
+result: >bbb=BBB,ccc<
diff --git a/tests/expected/libmount/optstr-remove-quoted b/tests/expected/libmount/optstr-remove-quoted
new file mode 100644
index 0000000..92fc5e3
--- /dev/null
+++ b/tests/expected/libmount/optstr-remove-quoted
@@ -0,0 +1 @@
+result: >aaa,bbb=BBB,ccc<
diff --git a/tests/expected/libmount/optstr-remove-value b/tests/expected/libmount/optstr-remove-value
new file mode 100644
index 0000000..eee5c95
--- /dev/null
+++ b/tests/expected/libmount/optstr-remove-value
@@ -0,0 +1 @@
+result: >aaa,ccc<
diff --git a/tests/expected/libmount/optstr-set-large b/tests/expected/libmount/optstr-set-large
new file mode 100644
index 0000000..b518c26
--- /dev/null
+++ b/tests/expected/libmount/optstr-set-large
@@ -0,0 +1 @@
+result: >aaa,bbb=XXX-YYY-ZZZ,ccc<
diff --git a/tests/expected/libmount/optstr-set-new b/tests/expected/libmount/optstr-set-new
new file mode 100644
index 0000000..5d45b4f
--- /dev/null
+++ b/tests/expected/libmount/optstr-set-new
@@ -0,0 +1 @@
+result: >aaa=XXX,bbb=BBB,ccc<
diff --git a/tests/expected/libmount/optstr-set-new-end b/tests/expected/libmount/optstr-set-new-end
new file mode 100644
index 0000000..39675a4
--- /dev/null
+++ b/tests/expected/libmount/optstr-set-new-end
@@ -0,0 +1 @@
+result: >aaa,bbb=BBB,ccc=XXX<
diff --git a/tests/expected/libmount/optstr-set-remove b/tests/expected/libmount/optstr-set-remove
new file mode 100644
index 0000000..0505bed
--- /dev/null
+++ b/tests/expected/libmount/optstr-set-remove
@@ -0,0 +1 @@
+result: >aaa,bbb,ccc<
diff --git a/tests/expected/libmount/optstr-set-small b/tests/expected/libmount/optstr-set-small
new file mode 100644
index 0000000..6c358b3
--- /dev/null
+++ b/tests/expected/libmount/optstr-set-small
@@ -0,0 +1 @@
+result: >aaa,bbb=X,ccc<
diff --git a/tests/expected/libmount/optstr-split b/tests/expected/libmount/optstr-split
new file mode 100644
index 0000000..341a640
--- /dev/null
+++ b/tests/expected/libmount/optstr-split
@@ -0,0 +1,3 @@
+user : x-bar,x-foo=foodata,user=kzak,loop=/dev/loop0
+vfs : noexec,nosuid
+fs : aaa,bbb=BBB,ccc
diff --git a/tests/expected/libmount/tabdiff b/tests/expected/libmount/tabdiff
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/expected/libmount/tabdiff
diff --git a/tests/expected/libmount/tabdiff-mount b/tests/expected/libmount/tabdiff-mount
new file mode 100644
index 0000000..e42c58b
--- /dev/null
+++ b/tests/expected/libmount/tabdiff-mount
@@ -0,0 +1 @@
+/dev/mapper/kzak-home on /home/kzak: MOUNTED
diff --git a/tests/expected/libmount/tabdiff-move b/tests/expected/libmount/tabdiff-move
new file mode 100644
index 0000000..4bed704
--- /dev/null
+++ b/tests/expected/libmount/tabdiff-move
@@ -0,0 +1 @@
+//foo.home/bar/ on /mnt/music: MOVED to /mnt/music
diff --git a/tests/expected/libmount/tabdiff-remount b/tests/expected/libmount/tabdiff-remount
new file mode 100644
index 0000000..c23ee95
--- /dev/null
+++ b/tests/expected/libmount/tabdiff-remount
@@ -0,0 +1,2 @@
+/dev/mapper/kzak-home on /home/kzak: REMOUNTED from 'rw,noatime,barrier=1,data=ordered' to 'ro,noatime,barrier=1,data=ordered'
+//foo.home/bar/ on /mnt/sounds: REMOUNTED from 'rw,relatime,unc=\\foo.home\bar,username=kzak,domain=SRGROUP,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.111.1,posixpaths,serverino,acl,rsize=16384,wsize=57344' to 'ro,relatime,unc=\\foo.home\bar,username=kzak,domain=SRGROUP,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.111.1,posixpaths,serverino,acl,rsize=16384,wsize=57344'
diff --git a/tests/expected/libmount/tabdiff-umount b/tests/expected/libmount/tabdiff-umount
new file mode 100644
index 0000000..753f484
--- /dev/null
+++ b/tests/expected/libmount/tabdiff-umount
@@ -0,0 +1 @@
+/dev/mapper/kzak-home on /home/kzak: UMOUNTED
diff --git a/tests/expected/libmount/tabfiles-copy b/tests/expected/libmount/tabfiles-copy
new file mode 100644
index 0000000..0054586
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-copy
@@ -0,0 +1,18 @@
+ORIGINAL:
+------ fs:
+source: UUID=d3a8f783-df75-4dc8-9163-975a891052c0
+target: /
+fstype: ext3
+optstr: noatime,defaults
+VFS-optstr: noatime
+freq: 1
+pass: 1
+COPY:
+------ fs:
+source: UUID=d3a8f783-df75-4dc8-9163-975a891052c0
+target: /
+fstype: ext3
+optstr: noatime,defaults
+VFS-optstr: noatime
+freq: 1
+pass: 1
diff --git a/tests/expected/libmount/tabfiles-find-pair b/tests/expected/libmount/tabfiles-find-pair
new file mode 100644
index 0000000..fbd730a
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-find-pair
@@ -0,0 +1,6 @@
+------ fs:
+source: /dev/mapper/kzak-home
+target: /home/kzak
+fstype: ext4
+optstr: rw,noatime
+VFS-optstr: rw,noatime
diff --git a/tests/expected/libmount/tabfiles-find-source b/tests/expected/libmount/tabfiles-find-source
new file mode 100644
index 0000000..474652c
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-find-source
@@ -0,0 +1,8 @@
+------ fs:
+source: UUID=fef7ccb3-821c-4de8-88dc-71472be5946f
+target: /boot
+fstype: ext3
+optstr: noatime,defaults
+VFS-optstr: noatime
+freq: 1
+pass: 2
diff --git a/tests/expected/libmount/tabfiles-find-target b/tests/expected/libmount/tabfiles-find-target
new file mode 100644
index 0000000..1a51bd5
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-find-target
@@ -0,0 +1,6 @@
+------ fs:
+source: /dev/mapper/foo
+target: /home/foo
+fstype: ext4
+optstr: noatime,defaults
+VFS-optstr: noatime
diff --git a/tests/expected/libmount/tabfiles-find-target2 b/tests/expected/libmount/tabfiles-find-target2
new file mode 100644
index 0000000..8a6c57b
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-find-target2
@@ -0,0 +1,5 @@
+------ fs:
+source: /dev/foo
+target: /any/foo/
+fstype: auto
+optstr: defaults
diff --git a/tests/expected/libmount/tabfiles-find-target3 b/tests/expected/libmount/tabfiles-find-target3
new file mode 100644
index 0000000..8a6c57b
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-find-target3
@@ -0,0 +1,5 @@
+------ fs:
+source: /dev/foo
+target: /any/foo/
+fstype: auto
+optstr: defaults
diff --git a/tests/expected/libmount/tabfiles-parse-fstab b/tests/expected/libmount/tabfiles-parse-fstab
new file mode 100644
index 0000000..d661526
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-parse-fstab
@@ -0,0 +1,65 @@
+------ fs:
+source: UUID=d3a8f783-df75-4dc8-9163-975a891052c0
+target: /
+fstype: ext3
+optstr: noatime,defaults
+VFS-optstr: noatime
+freq: 1
+pass: 1
+------ fs:
+source: UUID=fef7ccb3-821c-4de8-88dc-71472be5946f
+target: /boot
+fstype: ext3
+optstr: noatime,defaults
+VFS-optstr: noatime
+freq: 1
+pass: 2
+------ fs:
+source: UUID=1f2aa318-9c34-462e-8d29-260819ffd657
+target: swap
+fstype: swap
+optstr: defaults
+------ fs:
+source: tmpfs
+target: /dev/shm
+fstype: tmpfs
+optstr: defaults
+------ fs:
+source: devpts
+target: /dev/pts
+fstype: devpts
+optstr: gid=5,mode=620
+FS-opstr: gid=5,mode=620
+------ fs:
+source: sysfs
+target: /sys
+fstype: sysfs
+optstr: defaults
+------ fs:
+source: proc
+target: /proc
+fstype: proc
+optstr: defaults
+------ fs:
+source: /dev/mapper/foo
+target: /home/foo
+fstype: ext4
+optstr: noatime,defaults
+VFS-optstr: noatime
+------ fs:
+source: foo.com:/mnt/share
+target: /mnt/remote
+fstype: nfs
+optstr: noauto
+user-optstr: noauto
+------ fs:
+source: //bar.com/gogogo
+target: /mnt/gogogo
+fstype: cifs
+optstr: user=SRGROUP/baby,noauto
+user-optstr: user=SRGROUP/baby,noauto
+------ fs:
+source: /dev/foo
+target: /any/foo/
+fstype: auto
+optstr: defaults
diff --git a/tests/expected/libmount/tabfiles-parse-fstab-broken b/tests/expected/libmount/tabfiles-parse-fstab-broken
new file mode 100644
index 0000000..b838fbc
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-parse-fstab-broken
@@ -0,0 +1,63 @@
+
+
+------ fs:
+source: UUID=d3a8f783-df75-4dc8-9163-975a891052c0
+target: /
+fstype: ext3
+optstr: noatime,defaults
+VFS-optstr: noatime
+freq: 1
+pass: 1
+------ fs:
+source: UUID=fef7ccb3-821c-4de8-88dc-71472be5946f
+target: /boot
+fstype: ext3
+optstr: noatime,defaults
+VFS-optstr: noatime
+freq: 1
+pass: 2
+------ fs:
+source: UUID=1f2aa318-9c34-462e-8d29-260819ffd657
+target: swap
+fstype: swap
+optstr: defaults
+------ fs:
+source: tmpfs
+target: /dev/shm
+fstype: tmpfs
+optstr: defaults
+------ fs:
+source: devpts
+target: /dev/pts
+fstype: devpts
+optstr: gid=5,mode=620
+FS-opstr: gid=5,mode=620
+------ fs:
+source: sysfs
+target: /sys
+fstype: sysfs
+optstr: defaults
+------ fs:
+source: proc
+target: /proc
+fstype: proc
+optstr: defaults
+------ fs:
+source: /dev/mapper/foo
+target: /home/foo
+fstype: ext4
+optstr: noatime,defaults
+VFS-optstr: noatime
+freq: 1
+------ fs:
+source: foo.com:/mnt/share
+target: /mnt/remote
+fstype: nfs
+optstr: noauto
+user-optstr: noauto
+------ fs:
+source: //bar.com/gogogo
+target: /mnt/gogogo
+fstype: cifs
+optstr: user=SRGROUP/baby,noauto
+user-optstr: user=SRGROUP/baby,noauto
diff --git a/tests/expected/libmount/tabfiles-parse-mountinfo b/tests/expected/libmount/tabfiles-parse-mountinfo
new file mode 100644
index 0000000..4470801
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-parse-mountinfo
@@ -0,0 +1,352 @@
+------ fs:
+source: /proc
+target: /proc
+fstype: proc
+optstr: rw,relatime
+VFS-optstr: rw,relatime
+FS-opstr: rw
+root: /
+id: 15
+parent: 20
+devno: 0:3
+------ fs:
+source: /sys
+target: /sys
+fstype: sysfs
+optstr: rw,relatime
+VFS-optstr: rw,relatime
+FS-opstr: rw
+root: /
+id: 16
+parent: 20
+devno: 0:15
+------ fs:
+source: udev
+target: /dev
+fstype: devtmpfs
+optstr: rw,relatime,size=1983516k,nr_inodes=495879,mode=755
+VFS-optstr: rw,relatime
+FS-opstr: rw,size=1983516k,nr_inodes=495879,mode=755
+root: /
+id: 17
+parent: 20
+devno: 0:5
+------ fs:
+source: devpts
+target: /dev/pts
+fstype: devpts
+optstr: rw,relatime,gid=5,mode=620,ptmxmode=000
+VFS-optstr: rw,relatime
+FS-opstr: rw,gid=5,mode=620,ptmxmode=000
+root: /
+id: 18
+parent: 17
+devno: 0:10
+------ fs:
+source: tmpfs
+target: /dev/shm
+fstype: tmpfs
+optstr: rw,relatime
+VFS-optstr: rw,relatime
+FS-opstr: rw
+root: /
+id: 19
+parent: 17
+devno: 0:16
+------ fs:
+source: /dev/sda4
+target: /
+fstype: ext3
+optstr: rw,noatime,errors=continue,user_xattr,acl,barrier=0,data=ordered
+VFS-optstr: rw,noatime
+FS-opstr: rw,errors=continue,user_xattr,acl,barrier=0,data=ordered
+root: /
+id: 20
+parent: 1
+devno: 8:4
+------ fs:
+source: tmpfs
+target: /sys/fs/cgroup
+fstype: tmpfs
+optstr: rw,nosuid,nodev,noexec,relatime,mode=755
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,mode=755
+root: /
+id: 21
+parent: 16
+devno: 0:17
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/systemd
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd
+root: /
+id: 22
+parent: 21
+devno: 0:18
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/cpuset
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,cpuset
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,cpuset
+root: /
+id: 23
+parent: 21
+devno: 0:19
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/ns
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,ns
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,ns
+root: /
+id: 24
+parent: 21
+devno: 0:20
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/cpu
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,cpu
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,cpu
+root: /
+id: 25
+parent: 21
+devno: 0:21
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/cpuacct
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,cpuacct
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,cpuacct
+root: /
+id: 26
+parent: 21
+devno: 0:22
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/memory
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,memory
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,memory
+root: /
+id: 27
+parent: 21
+devno: 0:23
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/devices
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,devices
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,devices
+root: /
+id: 28
+parent: 21
+devno: 0:24
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/freezer
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,freezer
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,freezer
+root: /
+id: 29
+parent: 21
+devno: 0:25
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/net_cls
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,net_cls
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,net_cls
+root: /
+id: 30
+parent: 21
+devno: 0:26
+------ fs:
+source: cgroup
+target: /sys/fs/cgroup/blkio
+fstype: cgroup
+optstr: rw,nosuid,nodev,noexec,relatime,blkio
+VFS-optstr: rw,nosuid,nodev,noexec,relatime
+FS-opstr: rw,blkio
+root: /
+id: 31
+parent: 21
+devno: 0:27
+------ fs:
+source: systemd-1
+target: /sys/kernel/security
+fstype: autofs
+optstr: rw,relatime,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+VFS-optstr: rw,relatime
+FS-opstr: rw,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+root: /
+id: 32
+parent: 16
+devno: 0:28
+------ fs:
+source: systemd-1
+target: /dev/hugepages
+fstype: autofs
+optstr: rw,relatime,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+VFS-optstr: rw,relatime
+FS-opstr: rw,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+root: /
+id: 33
+parent: 17
+devno: 0:29
+------ fs:
+source: systemd-1
+target: /sys/kernel/debug
+fstype: autofs
+optstr: rw,relatime,fd=24,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+VFS-optstr: rw,relatime
+FS-opstr: rw,fd=24,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+root: /
+id: 34
+parent: 16
+devno: 0:30
+------ fs:
+source: systemd-1
+target: /proc/sys/fs/binfmt_misc
+fstype: autofs
+optstr: rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+VFS-optstr: rw,relatime
+FS-opstr: rw,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+root: /
+id: 35
+parent: 15
+devno: 0:31
+------ fs:
+source: systemd-1
+target: /dev/mqueue
+fstype: autofs
+optstr: rw,relatime,fd=26,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+VFS-optstr: rw,relatime
+FS-opstr: rw,fd=26,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+root: /
+id: 36
+parent: 17
+devno: 0:32
+------ fs:
+source: /proc/bus/usb
+target: /proc/bus/usb
+fstype: usbfs
+optstr: rw,relatime
+VFS-optstr: rw,relatime
+FS-opstr: rw
+root: /
+id: 37
+parent: 15
+devno: 0:14
+------ fs:
+source: hugetlbfs
+target: /dev/hugepages
+fstype: hugetlbfs
+optstr: rw,relatime
+VFS-optstr: rw,relatime
+FS-opstr: rw
+root: /
+id: 38
+parent: 33
+devno: 0:33
+------ fs:
+source: mqueue
+target: /dev/mqueue
+fstype: mqueue
+optstr: rw,relatime
+VFS-optstr: rw,relatime
+FS-opstr: rw
+root: /
+id: 39
+parent: 36
+devno: 0:12
+------ fs:
+source: /dev/sda6
+target: /boot
+fstype: ext3
+optstr: rw,noatime,errors=continue,barrier=0,data=ordered
+VFS-optstr: rw,noatime
+FS-opstr: rw,errors=continue,barrier=0,data=ordered
+root: /
+id: 40
+parent: 20
+devno: 8:6
+------ fs:
+source: /dev/mapper/kzak-home
+target: /home/kzak
+fstype: ext4
+optstr: rw,noatime,barrier=1,data=ordered
+VFS-optstr: rw,noatime
+FS-opstr: rw,barrier=1,data=ordered
+root: /
+id: 41
+parent: 20
+devno: 253:0
+------ fs:
+source: none
+target: /proc/sys/fs/binfmt_misc
+fstype: binfmt_misc
+optstr: rw,relatime
+VFS-optstr: rw,relatime
+FS-opstr: rw
+root: /
+id: 42
+parent: 35
+devno: 0:34
+------ fs:
+source: fusectl
+target: /sys/fs/fuse/connections
+fstype: fusectl
+optstr: rw,relatime
+VFS-optstr: rw,relatime
+FS-opstr: rw
+root: /
+id: 43
+parent: 16
+devno: 0:35
+------ fs:
+source: gvfs-fuse-daemon
+target: /home/kzak/.gvfs
+fstype: fuse.gvfs-fuse-daemon
+optstr: rw,nosuid,nodev,relatime,user_id=500,group_id=500
+VFS-optstr: rw,nosuid,nodev,relatime
+FS-opstr: rw,user_id=500,group_id=500
+root: /
+id: 44
+parent: 41
+devno: 0:36
+------ fs:
+source: sunrpc
+target: /var/lib/nfs/rpc_pipefs
+fstype: rpc_pipefs
+optstr: rw,relatime
+VFS-optstr: rw,relatime
+FS-opstr: rw
+root: /
+id: 45
+parent: 20
+devno: 0:37
+------ fs:
+source: //foo.home/bar/
+target: /mnt/sounds
+fstype: cifs
+optstr: rw,relatime,unc=\\foo.home\bar,username=kzak,domain=SRGROUP,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.111.1,posixpaths,serverino,acl,rsize=16384,wsize=57344
+VFS-optstr: rw,relatime
+FS-opstr: rw,unc=\\foo.home\bar,username=kzak,domain=SRGROUP,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.111.1,posixpaths,serverino,acl,rsize=16384,wsize=57344
+root: /
+id: 47
+parent: 20
+devno: 0:38
diff --git a/tests/expected/libmount/tabfiles-parse-mtab b/tests/expected/libmount/tabfiles-parse-mtab
new file mode 100644
index 0000000..ffd0c13
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-parse-mtab
@@ -0,0 +1,68 @@
+------ fs:
+source: /dev/sda4
+target: /
+fstype: ext3
+optstr: rw,noatime
+VFS-optstr: rw,noatime
+------ fs:
+source: proc
+target: /proc
+fstype: proc
+optstr: rw
+VFS-optstr: rw
+------ fs:
+source: sysfs
+target: /sys
+fstype: sysfs
+optstr: rw
+VFS-optstr: rw
+------ fs:
+source: devpts
+target: /dev/pts
+fstype: devpts
+optstr: rw,gid=5,mode=620
+VFS-optstr: rw
+FS-opstr: gid=5,mode=620
+------ fs:
+source: tmpfs
+target: /dev/shm
+fstype: tmpfs
+optstr: rw
+VFS-optstr: rw
+------ fs:
+source: /dev/sda6
+target: /boot
+fstype: ext3
+optstr: rw,noatime
+VFS-optstr: rw,noatime
+------ fs:
+source: /dev/mapper/kzak-home
+target: /home/kzak
+fstype: ext4
+optstr: rw,noatime
+VFS-optstr: rw,noatime
+------ fs:
+source: none
+target: /proc/sys/fs/binfmt_misc
+fstype: binfmt_misc
+optstr: rw
+VFS-optstr: rw
+------ fs:
+source: fusectl
+target: /sys/fs/fuse/connections
+fstype: fusectl
+optstr: rw
+VFS-optstr: rw
+------ fs:
+source: gvfs-fuse-daemon
+target: /home/kzak/.gvfs
+fstype: fuse.gvfs-fuse-daemon
+optstr: rw,nosuid,nodev,user=kzak
+VFS-optstr: rw,nosuid,nodev
+user-optstr: user=kzak
+------ fs:
+source: sunrpc
+target: /var/lib/nfs/rpc_pipefs
+fstype: rpc_pipefs
+optstr: rw
+VFS-optstr: rw
diff --git a/tests/expected/libmount/tabfiles-tags-fstab-dev b/tests/expected/libmount/tabfiles-tags-fstab-dev
new file mode 100644
index 0000000..823a19c
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-tags-fstab-dev
@@ -0,0 +1,5 @@
+------ fs:
+
+target: /mnt/mountpoint3
+fstype: auto
+optstr: defaults
diff --git a/tests/expected/libmount/tabfiles-tags-fstab-dev2label b/tests/expected/libmount/tabfiles-tags-fstab-dev2label
new file mode 100644
index 0000000..78d04a4
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-tags-fstab-dev2label
@@ -0,0 +1,5 @@
+------ fs:
+source: LABEL=testLibmount
+target: /mnt/mountpoint
+fstype: auto
+optstr: defaults
diff --git a/tests/expected/libmount/tabfiles-tags-fstab-label b/tests/expected/libmount/tabfiles-tags-fstab-label
new file mode 100644
index 0000000..78d04a4
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-tags-fstab-label
@@ -0,0 +1,5 @@
+------ fs:
+source: LABEL=testLibmount
+target: /mnt/mountpoint
+fstype: auto
+optstr: defaults
diff --git a/tests/expected/libmount/tabfiles-tags-fstab-label2dev b/tests/expected/libmount/tabfiles-tags-fstab-label2dev
new file mode 100644
index 0000000..78d04a4
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-tags-fstab-label2dev
@@ -0,0 +1,5 @@
+------ fs:
+source: LABEL=testLibmount
+target: /mnt/mountpoint
+fstype: auto
+optstr: defaults
diff --git a/tests/expected/libmount/tabfiles-tags-fstab-label2uuid b/tests/expected/libmount/tabfiles-tags-fstab-label2uuid
new file mode 100644
index 0000000..78d04a4
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-tags-fstab-label2uuid
@@ -0,0 +1,5 @@
+------ fs:
+source: LABEL=testLibmount
+target: /mnt/mountpoint
+fstype: auto
+optstr: defaults
diff --git a/tests/expected/libmount/tabfiles-tags-fstab-uuid b/tests/expected/libmount/tabfiles-tags-fstab-uuid
new file mode 100644
index 0000000..67d4e7b
--- /dev/null
+++ b/tests/expected/libmount/tabfiles-tags-fstab-uuid
@@ -0,0 +1,5 @@
+------ fs:
+source: UUID=de1bc6e9-34ab-4151-a1d7-900042eee8d9
+target: /mnt/mountpoint2
+fstype: auto
+optstr: defaults
diff --git a/tests/expected/libmount/update-fstab-add b/tests/expected/libmount/update-fstab-add
new file mode 100644
index 0000000..2b36d58
--- /dev/null
+++ b/tests/expected/libmount/update-fstab-add
@@ -0,0 +1,3 @@
+/dev/sda1 /mnt/foo ext3 rw,bbb,ccc,fff=FFF,ddd,noexec 1 2
+/dev/sda2 /mnt/bar auto defaults 1 2
+/dev/sda3 /mnt/bar auto rw,context="some,selinux,junk",noatime 1 2
diff --git a/tests/expected/libmount/update-mtab-mount b/tests/expected/libmount/update-mtab-mount
new file mode 100644
index 0000000..6fdf7c1
--- /dev/null
+++ b/tests/expected/libmount/update-mtab-mount
@@ -0,0 +1,5 @@
+/dev/sda1 /mnt/foo ext3 rw,noexec,bbb,ccc,fff=FFF,ddd 0 0
+/dev/sdb1 /mnt/bar ext3 ro,noatime,gg=G,ffff=f 0 0
+/dev/sda2 /mnt/bar ext3 rw,noatime 0 0
+/dev/sda1 /mnt/gogo ext3 rw,noatime,nosuid 0 0
+none /proc proc rw 0 0
diff --git a/tests/expected/libmount/update-mtab-move b/tests/expected/libmount/update-mtab-move
new file mode 100644
index 0000000..6185b6b
--- /dev/null
+++ b/tests/expected/libmount/update-mtab-move
@@ -0,0 +1,5 @@
+/dev/sda1 /mnt/newfoo ext3 rw,noexec,bbb,ccc,fff=FFF,ddd 0 0
+/dev/sdb1 /mnt/bar ext3 ro,noatime,gg=G,ffff=f 0 0
+/dev/sda2 /mnt/newbar ext3 rw,noatime 0 0
+/dev/sda1 /mnt/gogo ext3 rw,noatime,nosuid 0 0
+none /proc proc rw 0 0
diff --git a/tests/expected/libmount/update-mtab-remount b/tests/expected/libmount/update-mtab-remount
new file mode 100644
index 0000000..c397b23
--- /dev/null
+++ b/tests/expected/libmount/update-mtab-remount
@@ -0,0 +1,5 @@
+/dev/sda1 /mnt/newfoo ext3 ro,noatime 0 0
+/dev/sdb1 /mnt/bar ext3 rw,atime,nosuid 0 0
+/dev/sda2 /mnt/newbar ext3 rw,noatime 0 0
+/dev/sda1 /mnt/gogo ext3 rw,noatime,nosuid 0 0
+none /proc proc rw 0 0
diff --git a/tests/expected/libmount/update-mtab-umount b/tests/expected/libmount/update-mtab-umount
new file mode 100644
index 0000000..be02573
--- /dev/null
+++ b/tests/expected/libmount/update-mtab-umount
@@ -0,0 +1,2 @@
+/dev/sda1 /mnt/newfoo ext3 ro,noatime 0 0
+/dev/sda2 /mnt/newbar ext3 rw,noatime 0 0
diff --git a/tests/expected/libmount/update-utab-mount b/tests/expected/libmount/update-utab-mount
new file mode 100644
index 0000000..58a0179
--- /dev/null
+++ b/tests/expected/libmount/update-utab-mount
@@ -0,0 +1,3 @@
+SRC=/dev/sdb1 TARGET=/mnt/bar ROOT=/ OPTS=user
+SRC=/dev/sda2 TARGET=/mnt/xyz ROOT=/ OPTS=loop=/dev/loop0,uhelper=hal
+SRC=none TARGET=/proc ROOT=/ OPTS=user
diff --git a/tests/expected/libmount/update-utab-move b/tests/expected/libmount/update-utab-move
new file mode 100644
index 0000000..6008140
--- /dev/null
+++ b/tests/expected/libmount/update-utab-move
@@ -0,0 +1,3 @@
+SRC=/dev/sdb1 TARGET=/mnt/newbar ROOT=/ OPTS=user
+SRC=/dev/sda2 TARGET=/mnt/newxyz ROOT=/ OPTS=loop=/dev/loop0,uhelper=hal
+SRC=none TARGET=/proc ROOT=/ OPTS=user
diff --git a/tests/expected/libmount/update-utab-remount b/tests/expected/libmount/update-utab-remount
new file mode 100644
index 0000000..8e344b3
--- /dev/null
+++ b/tests/expected/libmount/update-utab-remount
@@ -0,0 +1,3 @@
+SRC=/dev/sdb1 TARGET=/mnt/newbar ROOT=/ OPTS=user
+SRC=/dev/sda2 TARGET=/mnt/newxyz ROOT=/ OPTS=user
+SRC=none TARGET=/proc ROOT=/ OPTS=user
diff --git a/tests/expected/libmount/update-utab-umount b/tests/expected/libmount/update-utab-umount
new file mode 100644
index 0000000..4c07d74
--- /dev/null
+++ b/tests/expected/libmount/update-utab-umount
@@ -0,0 +1 @@
+SRC=/dev/sda2 TARGET=/mnt/newxyz ROOT=/ OPTS=user
diff --git a/tests/expected/libmount/utils-ends-with b/tests/expected/libmount/utils-ends-with
new file mode 100644
index 0000000..f033a50
--- /dev/null
+++ b/tests/expected/libmount/utils-ends-with
@@ -0,0 +1 @@
+YES
diff --git a/tests/expected/libmount/utils-fs-root b/tests/expected/libmount/utils-fs-root
new file mode 100644
index 0000000..7746b28
--- /dev/null
+++ b/tests/expected/libmount/utils-fs-root
@@ -0,0 +1 @@
+/proc: /
diff --git a/tests/expected/libmount/utils-fs-root-subdir b/tests/expected/libmount/utils-fs-root-subdir
new file mode 100644
index 0000000..09cdb8d
--- /dev/null
+++ b/tests/expected/libmount/utils-fs-root-subdir
@@ -0,0 +1 @@
+/proc/sys/kernel: /sys/kernel
diff --git a/tests/expected/libmount/utils-fs-root-subdir2 b/tests/expected/libmount/utils-fs-root-subdir2
new file mode 100644
index 0000000..2e8b89a
--- /dev/null
+++ b/tests/expected/libmount/utils-fs-root-subdir2
@@ -0,0 +1 @@
+/etc: /etc
diff --git a/tests/expected/libmount/utils-match-fstype b/tests/expected/libmount/utils-match-fstype
new file mode 100644
index 0000000..4736e08
--- /dev/null
+++ b/tests/expected/libmount/utils-match-fstype
@@ -0,0 +1 @@
+MATCH
diff --git a/tests/expected/libmount/utils-match-fstype-neg b/tests/expected/libmount/utils-match-fstype-neg
new file mode 100644
index 0000000..8262239
--- /dev/null
+++ b/tests/expected/libmount/utils-match-fstype-neg
@@ -0,0 +1 @@
+NOT-MATCH
diff --git a/tests/expected/libmount/utils-match-fstype-neg2 b/tests/expected/libmount/utils-match-fstype-neg2
new file mode 100644
index 0000000..8262239
--- /dev/null
+++ b/tests/expected/libmount/utils-match-fstype-neg2
@@ -0,0 +1 @@
+NOT-MATCH
diff --git a/tests/expected/libmount/utils-match-options b/tests/expected/libmount/utils-match-options
new file mode 100644
index 0000000..4736e08
--- /dev/null
+++ b/tests/expected/libmount/utils-match-options
@@ -0,0 +1 @@
+MATCH
diff --git a/tests/expected/libmount/utils-match-options-list b/tests/expected/libmount/utils-match-options-list
new file mode 100644
index 0000000..4736e08
--- /dev/null
+++ b/tests/expected/libmount/utils-match-options-list
@@ -0,0 +1 @@
+MATCH
diff --git a/tests/expected/libmount/utils-match-options-neg b/tests/expected/libmount/utils-match-options-neg
new file mode 100644
index 0000000..4736e08
--- /dev/null
+++ b/tests/expected/libmount/utils-match-options-neg
@@ -0,0 +1 @@
+MATCH
diff --git a/tests/expected/libmount/utils-match-options-neg-list b/tests/expected/libmount/utils-match-options-neg-list
new file mode 100644
index 0000000..8262239
--- /dev/null
+++ b/tests/expected/libmount/utils-match-options-neg-list
@@ -0,0 +1 @@
+NOT-MATCH
diff --git a/tests/expected/libmount/utils-match-options-neg-list2 b/tests/expected/libmount/utils-match-options-neg-list2
new file mode 100644
index 0000000..4736e08
--- /dev/null
+++ b/tests/expected/libmount/utils-match-options-neg-list2
@@ -0,0 +1 @@
+MATCH
diff --git a/tests/expected/libmount/utils-mountpoint b/tests/expected/libmount/utils-mountpoint
new file mode 100644
index 0000000..47fb251
--- /dev/null
+++ b/tests/expected/libmount/utils-mountpoint
@@ -0,0 +1 @@
+/proc: /proc
diff --git a/tests/expected/libmount/utils-mountpoint-root b/tests/expected/libmount/utils-mountpoint-root
new file mode 100644
index 0000000..c86cf0d
--- /dev/null
+++ b/tests/expected/libmount/utils-mountpoint-root
@@ -0,0 +1 @@
+/: /
diff --git a/tests/expected/libmount/utils-mountpoint-subdir b/tests/expected/libmount/utils-mountpoint-subdir
new file mode 100644
index 0000000..f21d31b
--- /dev/null
+++ b/tests/expected/libmount/utils-mountpoint-subdir
@@ -0,0 +1 @@
+/proc/sys/kernel: /proc
diff --git a/tests/expected/libmount/utils-starts-with b/tests/expected/libmount/utils-starts-with
new file mode 100644
index 0000000..f033a50
--- /dev/null
+++ b/tests/expected/libmount/utils-starts-with
@@ -0,0 +1 @@
+YES
diff --git a/tests/expected/login/islocal b/tests/expected/login/islocal
new file mode 100644
index 0000000..c5d43ff
--- /dev/null
+++ b/tests/expected/login/islocal
@@ -0,0 +1,13 @@
+1:root
+1:nobody
+0:
+0:youngman
+0:youngman2
+0:abcdefghx
+0:nobo
+1:long
+0:rot
+1:al
+0:malformed
+1:nonl
+0:znobody
diff --git a/tests/expected/login/logindefs b/tests/expected/login/logindefs
new file mode 100644
index 0000000..aca2a1f
--- /dev/null
+++ b/tests/expected/login/logindefs
@@ -0,0 +1,14 @@
+logindefs.data: $END: 'the is end'
+logindefs.data: $EMPTY: '(null)'
+logindefs.data: $CRAZY3: 'FoooBaaar'
+logindefs.data: $CRAZY2: 'fooBar'
+logindefs.data: $CRAZY1: 'this is crazy format'
+logindefs.data: $BOOLEAN: 'yEs'
+logindefs.data: $NUMBER: '123456'
+logindefs.data: $STRING: 'this_is_string'
+logindefs.data: $HELLO_WORLD: 'hello world!'
+$STRING: 'this_is_string'
+$NUMBER: '123456'
+$BOOLEAN: 'Y'
+$EMPTY: ''
+$UNKNOWN: 'DEFAULT'
diff --git a/tests/expected/look/separator b/tests/expected/look/separator
new file mode 100644
index 0000000..8c19d03
--- /dev/null
+++ b/tests/expected/look/separator
@@ -0,0 +1 @@
+apple-pie
diff --git a/tests/expected/lscpu/lscpu-i386-amdshanghai b/tests/expected/lscpu/lscpu-i386-amdshanghai
new file mode 100644
index 0000000..25dcaa9
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-i386-amdshanghai
@@ -0,0 +1,29 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 8
+Thread(s) per core: 1
+Core(s) per socket: 4
+Socket(s): 2
+Vendor ID: AuthenticAMD
+CPU family: 16
+Model: 4
+Stepping: 0
+CPU MHz: 1995.158
+BogoMIPS: 3989.99
+Virtualization: AMD-V
+L1d cache: 512K
+L1i cache: 512K
+L2 cache: 512K
+L3 cache: 6144K
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
+0,0,0,,,0,0,0,0
+1,1,0,,,1,1,1,1
+2,2,0,,,2,2,2,2
+3,3,0,,,3,3,3,3
+4,4,1,,,4,4,4,4
+5,5,1,,,5,5,5,5
+6,6,1,,,6,6,6,6
+7,7,1,,,7,7,7,7
diff --git a/tests/expected/lscpu/lscpu-i386-dellpe700 b/tests/expected/lscpu/lscpu-i386-dellpe700
new file mode 100644
index 0000000..77c30af
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-i386-dellpe700
@@ -0,0 +1,17 @@
+CPU(s): 2
+Thread(s) per core: 2
+Core(s) per socket: 1
+Socket(s): 1
+Vendor ID: GenuineIntel
+CPU family: 15
+Model: 2
+Stepping: 9
+CPU MHz: 3391.773
+BogoMIPS: 6781.99
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node
+0,0,0,
+1,0,0,
diff --git a/tests/expected/lscpu/lscpu-i386-intels5000phb b/tests/expected/lscpu/lscpu-i386-intels5000phb
new file mode 100644
index 0000000..bc64565
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-i386-intels5000phb
@@ -0,0 +1,28 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 8
+Thread(s) per core: 1
+Core(s) per socket: 4
+Socket(s): 2
+Vendor ID: GenuineIntel
+CPU family: 6
+Model: 15
+Stepping: 7
+CPU MHz: 1596.044
+BogoMIPS: 3191.91
+Virtualization: VT-x
+L1d cache: 32K
+L1i cache: 32K
+L2 cache: 4096K
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2
+0,0,0,,,0,0,0
+1,1,0,,,1,1,0
+2,2,0,,,2,2,1
+3,3,0,,,3,3,1
+4,4,1,,,4,4,2
+5,5,1,,,5,5,2
+6,6,1,,,6,6,3
+7,7,1,,,7,7,3
diff --git a/tests/expected/lscpu/lscpu-i386-xenpara b/tests/expected/lscpu/lscpu-i386-xenpara
new file mode 100644
index 0000000..ae3fa2c
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-i386-xenpara
@@ -0,0 +1,19 @@
+CPU(s): 2
+Vendor ID: GenuineIntel
+CPU family: 6
+Model: 23
+Stepping: 6
+CPU MHz: 2493.776
+Virtualization: VT-x
+Hypervisor vendor: Xen
+Virtualization type: para
+L1d cache: 32K
+L1i cache: 32K
+L2 cache: 6144K
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2
+0,,,,,0,0,0
+1,,,,,1,1,0
diff --git a/tests/expected/lscpu/lscpu-ia64-512cpus b/tests/expected/lscpu/lscpu-ia64-512cpus
new file mode 100644
index 0000000..0de3ff4
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-ia64-512cpus
@@ -0,0 +1,654 @@
+CPU(s): 512
+Thread(s) per core: 1
+Core(s) per socket: 2
+Socket(s): 256
+NUMA node(s): 128
+Vendor ID: GenuineIntel
+CPU family: 32
+Model: 0
+CPU MHz: 1594.000007
+NUMA node0 CPU(s): 0-3
+NUMA node1 CPU(s): 4-7
+NUMA node2 CPU(s): 8-11
+NUMA node3 CPU(s): 12-15
+NUMA node4 CPU(s): 16-19
+NUMA node5 CPU(s): 20-23
+NUMA node6 CPU(s): 24-27
+NUMA node7 CPU(s): 28-31
+NUMA node8 CPU(s): 32-35
+NUMA node9 CPU(s): 36-39
+NUMA node10 CPU(s): 40-43
+NUMA node11 CPU(s): 44-47
+NUMA node12 CPU(s): 48-51
+NUMA node13 CPU(s): 52-55
+NUMA node14 CPU(s): 56-59
+NUMA node15 CPU(s): 60-63
+NUMA node16 CPU(s): 64-67
+NUMA node17 CPU(s): 68-71
+NUMA node18 CPU(s): 72-75
+NUMA node19 CPU(s): 76-79
+NUMA node20 CPU(s): 80-83
+NUMA node21 CPU(s): 84-87
+NUMA node22 CPU(s): 88-91
+NUMA node23 CPU(s): 92-95
+NUMA node24 CPU(s): 96-99
+NUMA node25 CPU(s): 100-103
+NUMA node26 CPU(s): 104-107
+NUMA node27 CPU(s): 108-111
+NUMA node28 CPU(s): 112-115
+NUMA node29 CPU(s): 116-119
+NUMA node30 CPU(s): 120-123
+NUMA node31 CPU(s): 124-127
+NUMA node32 CPU(s): 128-131
+NUMA node33 CPU(s): 132-135
+NUMA node34 CPU(s): 136-139
+NUMA node35 CPU(s): 140-143
+NUMA node36 CPU(s): 144-147
+NUMA node37 CPU(s): 148-151
+NUMA node38 CPU(s): 152-155
+NUMA node39 CPU(s): 156-159
+NUMA node40 CPU(s): 160-163
+NUMA node41 CPU(s): 164-167
+NUMA node42 CPU(s): 168-171
+NUMA node43 CPU(s): 172-175
+NUMA node44 CPU(s): 176-179
+NUMA node45 CPU(s): 180-183
+NUMA node46 CPU(s): 184-187
+NUMA node47 CPU(s): 188-191
+NUMA node48 CPU(s): 192-195
+NUMA node49 CPU(s): 196-199
+NUMA node50 CPU(s): 200-203
+NUMA node51 CPU(s): 204-207
+NUMA node52 CPU(s): 208-211
+NUMA node53 CPU(s): 212-215
+NUMA node54 CPU(s): 216-219
+NUMA node55 CPU(s): 220-223
+NUMA node56 CPU(s): 224-227
+NUMA node57 CPU(s): 228-231
+NUMA node58 CPU(s): 232-235
+NUMA node59 CPU(s): 236-239
+NUMA node60 CPU(s): 240-243
+NUMA node61 CPU(s): 244-247
+NUMA node62 CPU(s): 248-251
+NUMA node63 CPU(s): 252-255
+NUMA node64 CPU(s): 256-259
+NUMA node65 CPU(s): 260-263
+NUMA node66 CPU(s): 264-267
+NUMA node67 CPU(s): 268-271
+NUMA node68 CPU(s): 272-275
+NUMA node69 CPU(s): 276-279
+NUMA node70 CPU(s): 280-283
+NUMA node71 CPU(s): 284-287
+NUMA node72 CPU(s): 288-291
+NUMA node73 CPU(s): 292-295
+NUMA node74 CPU(s): 296-299
+NUMA node75 CPU(s): 300-303
+NUMA node76 CPU(s): 304-307
+NUMA node77 CPU(s): 308-311
+NUMA node78 CPU(s): 312-315
+NUMA node79 CPU(s): 316-319
+NUMA node80 CPU(s): 320-323
+NUMA node81 CPU(s): 324-327
+NUMA node82 CPU(s): 328-331
+NUMA node83 CPU(s): 332-335
+NUMA node84 CPU(s): 336-339
+NUMA node85 CPU(s): 340-343
+NUMA node86 CPU(s): 344-347
+NUMA node87 CPU(s): 348-351
+NUMA node88 CPU(s): 352-355
+NUMA node89 CPU(s): 356-359
+NUMA node90 CPU(s): 360-363
+NUMA node91 CPU(s): 364-367
+NUMA node92 CPU(s): 368-371
+NUMA node93 CPU(s): 372-375
+NUMA node94 CPU(s): 376-379
+NUMA node95 CPU(s): 380-383
+NUMA node96 CPU(s): 384-387
+NUMA node97 CPU(s): 388-391
+NUMA node98 CPU(s): 392-395
+NUMA node99 CPU(s): 396-399
+NUMA node100 CPU(s): 400-403
+NUMA node101 CPU(s): 404-407
+NUMA node102 CPU(s): 408-411
+NUMA node103 CPU(s): 412-415
+NUMA node104 CPU(s): 416-419
+NUMA node105 CPU(s): 420-423
+NUMA node106 CPU(s): 424-427
+NUMA node107 CPU(s): 428-431
+NUMA node108 CPU(s): 432-435
+NUMA node109 CPU(s): 436-439
+NUMA node110 CPU(s): 440-443
+NUMA node111 CPU(s): 444-447
+NUMA node112 CPU(s): 448-451
+NUMA node113 CPU(s): 452-455
+NUMA node114 CPU(s): 456-459
+NUMA node115 CPU(s): 460-463
+NUMA node116 CPU(s): 464-467
+NUMA node117 CPU(s): 468-471
+NUMA node118 CPU(s): 472-475
+NUMA node119 CPU(s): 476-479
+NUMA node120 CPU(s): 480-483
+NUMA node121 CPU(s): 484-487
+NUMA node122 CPU(s): 488-491
+NUMA node123 CPU(s): 492-495
+NUMA node124 CPU(s): 496-499
+NUMA node125 CPU(s): 500-503
+NUMA node126 CPU(s): 504-507
+NUMA node127 CPU(s): 508-511
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node
+0,0,0,0
+1,1,0,0
+2,2,1,0
+3,3,1,0
+4,4,2,1
+5,5,2,1
+6,6,3,1
+7,7,3,1
+8,8,4,2
+9,9,4,2
+10,10,5,2
+11,11,5,2
+12,12,6,3
+13,13,6,3
+14,14,7,3
+15,15,7,3
+16,16,8,4
+17,17,8,4
+18,18,9,4
+19,19,9,4
+20,20,10,5
+21,21,10,5
+22,22,11,5
+23,23,11,5
+24,24,12,6
+25,25,12,6
+26,26,13,6
+27,27,13,6
+28,28,14,7
+29,29,14,7
+30,30,15,7
+31,31,15,7
+32,32,16,8
+33,33,16,8
+34,34,17,8
+35,35,17,8
+36,36,18,9
+37,37,18,9
+38,38,19,9
+39,39,19,9
+40,40,20,10
+41,41,20,10
+42,42,21,10
+43,43,21,10
+44,44,22,11
+45,45,22,11
+46,46,23,11
+47,47,23,11
+48,48,24,12
+49,49,24,12
+50,50,25,12
+51,51,25,12
+52,52,26,13
+53,53,26,13
+54,54,27,13
+55,55,27,13
+56,56,28,14
+57,57,28,14
+58,58,29,14
+59,59,29,14
+60,60,30,15
+61,61,30,15
+62,62,31,15
+63,63,31,15
+64,64,32,16
+65,65,32,16
+66,66,33,16
+67,67,33,16
+68,68,34,17
+69,69,34,17
+70,70,35,17
+71,71,35,17
+72,72,36,18
+73,73,36,18
+74,74,37,18
+75,75,37,18
+76,76,38,19
+77,77,38,19
+78,78,39,19
+79,79,39,19
+80,80,40,20
+81,81,40,20
+82,82,41,20
+83,83,41,20
+84,84,42,21
+85,85,42,21
+86,86,43,21
+87,87,43,21
+88,88,44,22
+89,89,44,22
+90,90,45,22
+91,91,45,22
+92,92,46,23
+93,93,46,23
+94,94,47,23
+95,95,47,23
+96,96,48,24
+97,97,48,24
+98,98,49,24
+99,99,49,24
+100,100,50,25
+101,101,50,25
+102,102,51,25
+103,103,51,25
+104,104,52,26
+105,105,52,26
+106,106,53,26
+107,107,53,26
+108,108,54,27
+109,109,54,27
+110,110,55,27
+111,111,55,27
+112,112,56,28
+113,113,56,28
+114,114,57,28
+115,115,57,28
+116,116,58,29
+117,117,58,29
+118,118,59,29
+119,119,59,29
+120,120,60,30
+121,121,60,30
+122,122,61,30
+123,123,61,30
+124,124,62,31
+125,125,62,31
+126,126,63,31
+127,127,63,31
+128,128,64,32
+129,129,64,32
+130,130,65,32
+131,131,65,32
+132,132,66,33
+133,133,66,33
+134,134,67,33
+135,135,67,33
+136,136,68,34
+137,137,68,34
+138,138,69,34
+139,139,69,34
+140,140,70,35
+141,141,70,35
+142,142,71,35
+143,143,71,35
+144,144,72,36
+145,145,72,36
+146,146,73,36
+147,147,73,36
+148,148,74,37
+149,149,74,37
+150,150,75,37
+151,151,75,37
+152,152,76,38
+153,153,76,38
+154,154,77,38
+155,155,77,38
+156,156,78,39
+157,157,78,39
+158,158,79,39
+159,159,79,39
+160,160,80,40
+161,161,80,40
+162,162,81,40
+163,163,81,40
+164,164,82,41
+165,165,82,41
+166,166,83,41
+167,167,83,41
+168,168,84,42
+169,169,84,42
+170,170,85,42
+171,171,85,42
+172,172,86,43
+173,173,86,43
+174,174,87,43
+175,175,87,43
+176,176,88,44
+177,177,88,44
+178,178,89,44
+179,179,89,44
+180,180,90,45
+181,181,90,45
+182,182,91,45
+183,183,91,45
+184,184,92,46
+185,185,92,46
+186,186,93,46
+187,187,93,46
+188,188,94,47
+189,189,94,47
+190,190,95,47
+191,191,95,47
+192,192,96,48
+193,193,96,48
+194,194,97,48
+195,195,97,48
+196,196,98,49
+197,197,98,49
+198,198,99,49
+199,199,99,49
+200,200,100,50
+201,201,100,50
+202,202,101,50
+203,203,101,50
+204,204,102,51
+205,205,102,51
+206,206,103,51
+207,207,103,51
+208,208,104,52
+209,209,104,52
+210,210,105,52
+211,211,105,52
+212,212,106,53
+213,213,106,53
+214,214,107,53
+215,215,107,53
+216,216,108,54
+217,217,108,54
+218,218,109,54
+219,219,109,54
+220,220,110,55
+221,221,110,55
+222,222,111,55
+223,223,111,55
+224,224,112,56
+225,225,112,56
+226,226,113,56
+227,227,113,56
+228,228,114,57
+229,229,114,57
+230,230,115,57
+231,231,115,57
+232,232,116,58
+233,233,116,58
+234,234,117,58
+235,235,117,58
+236,236,118,59
+237,237,118,59
+238,238,119,59
+239,239,119,59
+240,240,120,60
+241,241,120,60
+242,242,121,60
+243,243,121,60
+244,244,122,61
+245,245,122,61
+246,246,123,61
+247,247,123,61
+248,248,124,62
+249,249,124,62
+250,250,125,62
+251,251,125,62
+252,252,126,63
+253,253,126,63
+254,254,127,63
+255,255,127,63
+256,256,128,64
+257,257,128,64
+258,258,129,64
+259,259,129,64
+260,260,130,65
+261,261,130,65
+262,262,131,65
+263,263,131,65
+264,264,132,66
+265,265,132,66
+266,266,133,66
+267,267,133,66
+268,268,134,67
+269,269,134,67
+270,270,135,67
+271,271,135,67
+272,272,136,68
+273,273,136,68
+274,274,137,68
+275,275,137,68
+276,276,138,69
+277,277,138,69
+278,278,139,69
+279,279,139,69
+280,280,140,70
+281,281,140,70
+282,282,141,70
+283,283,141,70
+284,284,142,71
+285,285,142,71
+286,286,143,71
+287,287,143,71
+288,288,144,72
+289,289,144,72
+290,290,145,72
+291,291,145,72
+292,292,146,73
+293,293,146,73
+294,294,147,73
+295,295,147,73
+296,296,148,74
+297,297,148,74
+298,298,149,74
+299,299,149,74
+300,300,150,75
+301,301,150,75
+302,302,151,75
+303,303,151,75
+304,304,152,76
+305,305,152,76
+306,306,153,76
+307,307,153,76
+308,308,154,77
+309,309,154,77
+310,310,155,77
+311,311,155,77
+312,312,156,78
+313,313,156,78
+314,314,157,78
+315,315,157,78
+316,316,158,79
+317,317,158,79
+318,318,159,79
+319,319,159,79
+320,320,160,80
+321,321,160,80
+322,322,161,80
+323,323,161,80
+324,324,162,81
+325,325,162,81
+326,326,163,81
+327,327,163,81
+328,328,164,82
+329,329,164,82
+330,330,165,82
+331,331,165,82
+332,332,166,83
+333,333,166,83
+334,334,167,83
+335,335,167,83
+336,336,168,84
+337,337,168,84
+338,338,169,84
+339,339,169,84
+340,340,170,85
+341,341,170,85
+342,342,171,85
+343,343,171,85
+344,344,172,86
+345,345,172,86
+346,346,173,86
+347,347,173,86
+348,348,174,87
+349,349,174,87
+350,350,175,87
+351,351,175,87
+352,352,176,88
+353,353,176,88
+354,354,177,88
+355,355,177,88
+356,356,178,89
+357,357,178,89
+358,358,179,89
+359,359,179,89
+360,360,180,90
+361,361,180,90
+362,362,181,90
+363,363,181,90
+364,364,182,91
+365,365,182,91
+366,366,183,91
+367,367,183,91
+368,368,184,92
+369,369,184,92
+370,370,185,92
+371,371,185,92
+372,372,186,93
+373,373,186,93
+374,374,187,93
+375,375,187,93
+376,376,188,94
+377,377,188,94
+378,378,189,94
+379,379,189,94
+380,380,190,95
+381,381,190,95
+382,382,191,95
+383,383,191,95
+384,384,192,96
+385,385,192,96
+386,386,193,96
+387,387,193,96
+388,388,194,97
+389,389,194,97
+390,390,195,97
+391,391,195,97
+392,392,196,98
+393,393,196,98
+394,394,197,98
+395,395,197,98
+396,396,198,99
+397,397,198,99
+398,398,199,99
+399,399,199,99
+400,400,200,100
+401,401,200,100
+402,402,201,100
+403,403,201,100
+404,404,202,101
+405,405,202,101
+406,406,203,101
+407,407,203,101
+408,408,204,102
+409,409,204,102
+410,410,205,102
+411,411,205,102
+412,412,206,103
+413,413,206,103
+414,414,207,103
+415,415,207,103
+416,416,208,104
+417,417,208,104
+418,418,209,104
+419,419,209,104
+420,420,210,105
+421,421,210,105
+422,422,211,105
+423,423,211,105
+424,424,212,106
+425,425,212,106
+426,426,213,106
+427,427,213,106
+428,428,214,107
+429,429,214,107
+430,430,215,107
+431,431,215,107
+432,432,216,108
+433,433,216,108
+434,434,217,108
+435,435,217,108
+436,436,218,109
+437,437,218,109
+438,438,219,109
+439,439,219,109
+440,440,220,110
+441,441,220,110
+442,442,221,110
+443,443,221,110
+444,444,222,111
+445,445,222,111
+446,446,223,111
+447,447,223,111
+448,448,224,112
+449,449,224,112
+450,450,225,112
+451,451,225,112
+452,452,226,113
+453,453,226,113
+454,454,227,113
+455,455,227,113
+456,456,228,114
+457,457,228,114
+458,458,229,114
+459,459,229,114
+460,460,230,115
+461,461,230,115
+462,462,231,115
+463,463,231,115
+464,464,232,116
+465,465,232,116
+466,466,233,116
+467,467,233,116
+468,468,234,117
+469,469,234,117
+470,470,235,117
+471,471,235,117
+472,472,236,118
+473,473,236,118
+474,474,237,118
+475,475,237,118
+476,476,238,119
+477,477,238,119
+478,478,239,119
+479,479,239,119
+480,480,240,120
+481,481,240,120
+482,482,241,120
+483,483,241,120
+484,484,242,121
+485,485,242,121
+486,486,243,121
+487,487,243,121
+488,488,244,122
+489,489,244,122
+490,490,245,122
+491,491,245,122
+492,492,246,123
+493,493,246,123
+494,494,247,123
+495,495,247,123
+496,496,248,124
+497,497,248,124
+498,498,249,124
+499,499,249,124
+500,500,250,125
+501,501,250,125
+502,502,251,125
+503,503,251,125
+504,504,252,126
+505,505,252,126
+506,506,253,126
+507,507,253,126
+508,508,254,127
+509,509,254,127
+510,510,255,127
+511,511,255,127
diff --git a/tests/expected/lscpu/lscpu-ia64-hpmatterhorn b/tests/expected/lscpu/lscpu-ia64-hpmatterhorn
new file mode 100644
index 0000000..0322622
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-ia64-hpmatterhorn
@@ -0,0 +1,29 @@
+CPU(s): 8
+Thread(s) per core: 1
+Core(s) per socket: 1
+Socket(s): 8
+NUMA node(s): 3
+Vendor ID: GenuineIntel
+CPU family: Itanium 2
+Model: 1
+CPU MHz: 1300.000000
+L1d cache: 16K
+L1i cache: 16K
+L2 cache: 256K
+L3 cache: 3072K
+NUMA node0 CPU(s): 4-7
+NUMA node1 CPU(s): 0-3
+NUMA node2 CPU(s):
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
+0,0,0,1,,0,0,0,0
+1,1,1,1,,1,1,1,1
+2,2,2,1,,2,2,2,2
+3,3,3,1,,3,3,3,3
+4,4,4,0,,4,4,4,4
+5,5,5,0,,5,5,5,5
+6,6,6,0,,6,6,6,6
+7,7,7,0,,7,7,7,7
diff --git a/tests/expected/lscpu/lscpu-ia64-hprx1620 b/tests/expected/lscpu/lscpu-ia64-hprx1620
new file mode 100644
index 0000000..92aa907
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-ia64-hprx1620
@@ -0,0 +1,21 @@
+CPU(s): 2
+Thread(s) per core: 1
+Core(s) per socket: 1
+Socket(s): 2
+NUMA node(s): 1
+Vendor ID: GenuineIntel
+CPU family: Itanium 2
+Model: 2
+CPU MHz: 1599.000967
+L1d cache: 16K
+L1i cache: 16K
+L2 cache: 256K
+L3 cache: 3072K
+NUMA node0 CPU(s): 0,1
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
+0,0,0,0,,0,0,0,0
+1,1,1,0,,1,1,1,1
diff --git a/tests/expected/lscpu/lscpu-ia64-pg0 b/tests/expected/lscpu/lscpu-ia64-pg0
new file mode 100644
index 0000000..50942cc
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-ia64-pg0
@@ -0,0 +1,37 @@
+CPU(s): 16
+Thread(s) per core: 1
+Core(s) per socket: 2
+Socket(s): 8
+NUMA node(s): 2
+Vendor ID: GenuineIntel
+CPU family: Itanium 2
+Model: 0
+CPU MHz: 1418.000227
+L1d cache: 16K
+L1i cache: 16K
+L2d cache: 256K
+L2i cache: 1024K
+L3 cache: 6144K
+NUMA node0 CPU(s): 0-7
+NUMA node1 CPU(s): 8-15
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2d,L2i,L3
+0,0,0,0,,0,0,0,,
+1,1,0,0,,1,1,1,,
+2,2,1,0,,2,2,2,,
+3,3,1,0,,3,3,3,,
+4,4,2,0,,4,4,4,,
+5,5,2,0,,5,5,5,,
+6,6,3,0,,6,6,6,,
+7,7,3,0,,7,7,7,,
+8,8,4,1,,8,8,8,,
+9,9,4,1,,9,9,9,,
+10,10,5,1,,10,10,10,,
+11,11,5,1,,11,11,11,,
+12,12,6,1,,12,12,12,,
+13,13,6,1,,13,13,13,,
+14,14,7,1,,14,14,14,,
+15,15,7,1,,15,15,15,,
diff --git a/tests/expected/lscpu/lscpu-ppc64-POWER7 b/tests/expected/lscpu/lscpu-ppc64-POWER7
new file mode 100644
index 0000000..0d6c5ba
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-ppc64-POWER7
@@ -0,0 +1,31 @@
+CPU(s): 16
+On-line CPU(s) list: 0-15
+Thread(s) per core: 4
+Core(s) per socket: 1
+Socket(s): 4
+NUMA node(s): 1
+Model: IBM,8233-E8B
+L1d cache: 32K
+L1i cache: 32K
+NUMA node0 CPU(s): 0-15
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i
+0,0,0,0,,0,0
+1,0,0,0,,0,0
+2,0,0,0,,0,0
+3,0,0,0,,0,0
+4,1,1,0,,1,1
+5,1,1,0,,1,1
+6,1,1,0,,1,1
+7,1,1,0,,1,1
+8,2,2,0,,2,2
+9,2,2,0,,2,2
+10,2,2,0,,2,2
+11,2,2,0,,2,2
+12,3,3,0,,3,3
+13,3,3,0,,3,3
+14,3,3,0,,3,3
+15,3,3,0,,3,3
diff --git a/tests/expected/lscpu/lscpu-s390-kvm b/tests/expected/lscpu/lscpu-s390-kvm
new file mode 100644
index 0000000..1aa42f9
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-s390-kvm
@@ -0,0 +1,21 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 3
+On-line CPU(s) list: 0-2
+Thread(s) per core: 1
+Core(s) per socket: 1
+Socket(s) per book: 1
+Book(s): 3
+Vendor ID: IBM/S390
+BogoMIPS: 14367.00
+Hypervisor: KVM/Linux
+Hypervisor vendor: KVM
+Virtualization type: full
+Dispatching mode: horizontal
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node
+0,0,0,
+1,1,1,
+2,2,2,
diff --git a/tests/expected/lscpu/lscpu-s390-lpar b/tests/expected/lscpu/lscpu-s390-lpar
new file mode 100644
index 0000000..0799ab9
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-s390-lpar
@@ -0,0 +1,36 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 20
+On-line CPU(s) list: 1-5,8-19
+Off-line CPU(s) list: 0,6,7
+Thread(s) per core: 1
+Core(s) per socket: 4
+Socket(s) per book: 6
+Book(s): 4
+Vendor ID: IBM/S390
+BogoMIPS: 14367.00
+Hypervisor: PR/SM
+Hypervisor vendor: IBM
+Virtualization type: full
+Dispatching mode: vertical
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node
+1,0,0,
+2,1,0,
+3,2,1,
+4,3,1,
+5,4,1,
+8,5,2,
+9,6,2,
+10,7,2,
+11,8,3,
+12,9,3,
+13,10,3,
+14,11,3,
+15,12,4,
+16,13,5,
+17,14,5,
+18,15,5,
+19,16,6,
diff --git a/tests/expected/lscpu/lscpu-s390-zvm b/tests/expected/lscpu/lscpu-s390-zvm
new file mode 100644
index 0000000..04dcf76
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-s390-zvm
@@ -0,0 +1,22 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 4
+On-line CPU(s) list: 0-3
+Thread(s) per core: 1
+Core(s) per socket: 1
+Socket(s) per book: 1
+Book(s): 4
+Vendor ID: IBM/S390
+BogoMIPS: 14367.00
+Hypervisor: z/VM 6.1.0
+Hypervisor vendor: IBM
+Virtualization type: full
+Dispatching mode: horizontal
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node
+0,0,0,
+1,1,1,
+2,2,2,
+3,3,3,
diff --git a/tests/expected/lscpu/lscpu-sparc64-UltraSparc-T1 b/tests/expected/lscpu/lscpu-sparc64-UltraSparc-T1
new file mode 100644
index 0000000..639a7de
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-sparc64-UltraSparc-T1
@@ -0,0 +1,38 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 32
+On-line CPU(s) list: 0-23
+Off-line CPU(s) list: 24-31
+Thread(s) per core: 4
+Core(s) per socket: 1
+Socket(s): 6
+NUMA node(s): 1
+NUMA node0 CPU(s): 0-35
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node
+0,0,0,0
+1,0,0,0
+2,0,0,0
+3,0,0,0
+4,1,1,0
+5,1,1,0
+6,1,1,0
+7,1,1,0
+8,2,2,0
+9,2,2,0
+10,2,2,0
+11,2,2,0
+12,3,3,0
+13,3,3,0
+14,3,3,0
+15,3,3,0
+16,4,4,0
+17,4,4,0
+18,4,4,0
+19,4,4,0
+20,5,5,0
+21,5,5,0
+22,5,5,0
+23,5,5,0
diff --git a/tests/expected/lscpu/lscpu-x86_64-64cpu b/tests/expected/lscpu/lscpu-x86_64-64cpu
new file mode 100644
index 0000000..18630e3
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-64cpu
@@ -0,0 +1,88 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 64
+On-line CPU(s) list: 0-63
+Thread(s) per core: 2
+Core(s) per socket: 8
+Socket(s): 4
+NUMA node(s): 1
+Vendor ID: GenuineIntel
+CPU family: 6
+Model: 46
+Stepping: 6
+CPU MHz: 1064.000
+BogoMIPS: 3989.44
+Virtualization: VT-x
+L1d cache: 32K
+L1i cache: 32K
+L2 cache: 256K
+L3 cache: 18432K
+NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
+0,0,0,0,,0,0,0,0
+1,1,1,,,1,1,1,1
+2,2,2,0,,2,2,2,2
+3,3,3,,,3,3,3,3
+4,4,0,0,,4,4,4,0
+5,5,1,,,5,5,5,1
+6,6,2,0,,6,6,6,2
+7,7,3,,,7,7,7,3
+8,8,0,0,,8,8,8,0
+9,9,1,,,9,9,9,1
+10,10,2,0,,10,10,10,2
+11,11,3,,,11,11,11,3
+12,12,0,0,,12,12,12,0
+13,13,1,,,13,13,13,1
+14,14,2,0,,14,14,14,2
+15,15,3,,,15,15,15,3
+16,16,0,0,,16,16,16,0
+17,17,1,,,17,17,17,1
+18,18,2,0,,18,18,18,2
+19,19,3,,,19,19,19,3
+20,20,0,0,,20,20,20,0
+21,21,1,,,21,21,21,1
+22,22,2,0,,22,22,22,2
+23,23,3,,,23,23,23,3
+24,24,0,0,,24,24,24,0
+25,25,1,,,25,25,25,1
+26,26,2,0,,26,26,26,2
+27,27,3,,,27,27,27,3
+28,28,0,0,,28,28,28,0
+29,29,1,,,29,29,29,1
+30,30,2,0,,30,30,30,2
+31,31,3,,,31,31,31,3
+32,0,0,0,,0,0,0,0
+33,1,1,,,1,1,1,1
+34,2,2,0,,2,2,2,2
+35,3,3,,,3,3,3,3
+36,4,0,0,,4,4,4,0
+37,5,1,,,5,5,5,1
+38,6,2,0,,6,6,6,2
+39,7,3,,,7,7,7,3
+40,8,0,0,,8,8,8,0
+41,9,1,,,9,9,9,1
+42,10,2,0,,10,10,10,2
+43,11,3,,,11,11,11,3
+44,12,0,0,,12,12,12,0
+45,13,1,,,13,13,13,1
+46,14,2,0,,14,14,14,2
+47,15,3,,,15,15,15,3
+48,16,0,0,,16,16,16,0
+49,17,1,,,17,17,17,1
+50,18,2,0,,18,18,18,2
+51,19,3,,,19,19,19,3
+52,20,0,0,,20,20,20,0
+53,21,1,,,21,21,21,1
+54,22,2,0,,22,22,22,2
+55,23,3,,,23,23,23,3
+56,24,0,0,,24,24,24,0
+57,25,1,,,25,25,25,1
+58,26,2,0,,26,26,26,2
+59,27,3,,,27,27,27,3
+60,28,0,0,,28,28,28,0
+61,29,1,,,29,29,29,1
+62,30,2,0,,30,30,30,2
+63,31,3,,,31,31,31,3
diff --git a/tests/expected/lscpu/lscpu-x86_64-dell_e4310 b/tests/expected/lscpu/lscpu-x86_64-dell_e4310
new file mode 100644
index 0000000..ae9e0b4
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-dell_e4310
@@ -0,0 +1,28 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 4
+On-line CPU(s) list: 0-3
+Thread(s) per core: 2
+Core(s) per socket: 2
+Socket(s): 1
+NUMA node(s): 1
+Vendor ID: GenuineIntel
+CPU family: 6
+Model: 37
+Stepping: 5
+CPU MHz: 1199.000
+BogoMIPS: 5319.97
+Virtualization: VT-x
+L1d cache: 32K
+L1i cache: 32K
+L2 cache: 256K
+L3 cache: 3072K
+NUMA node0 CPU(s): 0-3
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
+0,0,0,0,,0,0,0,0
+1,1,0,0,,1,1,1,0
+2,0,0,0,,0,0,0,0
+3,1,0,0,,1,1,1,0
diff --git a/tests/expected/lscpu/lscpu-x86_64-dell_poweredge1950 b/tests/expected/lscpu/lscpu-x86_64-dell_poweredge1950
new file mode 100644
index 0000000..64c5a9c
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-dell_poweredge1950
@@ -0,0 +1,23 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 8
+NUMA node(s): 1
+Vendor ID: GenuineIntel
+CPU family: 6
+Model: 15
+Stepping: 7
+CPU MHz: 2327.526
+BogoMIPS: 4655.08
+NUMA node0 CPU(s): 0-7
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node
+0,,,0
+1,,,0
+2,,,0
+3,,,0
+4,,,0
+5,,,0
+6,,,0
+7,,,0
diff --git a/tests/expected/lscpu/lscpu-x86_64-dell_poweredgeR610 b/tests/expected/lscpu/lscpu-x86_64-dell_poweredgeR610
new file mode 100644
index 0000000..bdd839f
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-dell_poweredgeR610
@@ -0,0 +1,40 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 16
+Thread(s) per core: 2
+Core(s) per socket: 4
+Socket(s): 2
+NUMA node(s): 2
+Vendor ID: GenuineIntel
+CPU family: 6
+Model: 26
+Stepping: 5
+CPU MHz: 2261.056
+BogoMIPS: 4522.04
+Virtualization: VT-x
+L1d cache: 32K
+L1i cache: 32K
+L2 cache: 256K
+L3 cache: 8192K
+NUMA node0 CPU(s): 0,2,4,6,8,10,12,14
+NUMA node1 CPU(s): 1,3,5,7,9,11,13,15
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
+0,0,0,0,,0,0,0,0
+1,1,1,1,,1,1,1,1
+2,2,0,0,,2,2,2,0
+3,3,1,1,,3,3,3,1
+4,4,0,0,,4,4,4,0
+5,5,1,1,,5,5,5,1
+6,6,0,0,,6,6,6,0
+7,7,1,1,,7,7,7,1
+8,0,0,0,,0,0,0,0
+9,1,1,1,,1,1,1,1
+10,2,0,0,,2,2,2,0
+11,3,1,1,,3,3,3,1
+12,4,0,0,,4,4,4,0
+13,5,1,1,,5,5,5,1
+14,6,0,0,,6,6,6,0
+15,7,1,1,,7,7,7,1
diff --git a/tests/expected/lscpu/lscpu-x86_64-dellr710 b/tests/expected/lscpu/lscpu-x86_64-dellr710
new file mode 100644
index 0000000..3b52c6d
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-dellr710
@@ -0,0 +1,40 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 16
+Thread(s) per core: 2
+Core(s) per socket: 4
+Socket(s): 2
+NUMA node(s): 2
+Vendor ID: GenuineIntel
+CPU family: 6
+Model: 26
+Stepping: 5
+CPU MHz: 2527.073
+BogoMIPS: 5053.32
+Virtualization: VT-x
+L1d cache: 32K
+L1i cache: 32K
+L2 cache: 256K
+L3 cache: 8192K
+NUMA node0 CPU(s): 0,2,4,6,8,10,12,14
+NUMA node1 CPU(s): 1,3,5,7,9,11,13,15
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
+0,0,0,0,,0,0,0,0
+1,1,1,1,,1,1,1,1
+2,2,0,0,,2,2,2,0
+3,3,1,1,,3,3,3,1
+4,4,0,0,,4,4,4,0
+5,5,1,1,,5,5,5,1
+6,6,0,0,,6,6,6,0
+7,7,1,1,,7,7,7,1
+8,0,0,0,,0,0,0,0
+9,1,1,1,,1,1,1,1
+10,2,0,0,,2,2,2,0
+11,3,1,1,,3,3,3,1
+12,4,0,0,,4,4,4,0
+13,5,1,1,,5,5,5,1
+14,6,0,0,,6,6,6,0
+15,7,1,1,,7,7,7,1
diff --git a/tests/expected/lscpu/lscpu-x86_64-el5xen b/tests/expected/lscpu/lscpu-x86_64-el5xen
new file mode 100644
index 0000000..454ca35
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-el5xen
@@ -0,0 +1,30 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 8
+Thread(s) per core: 1
+Core(s) per socket: 1
+Socket(s): 8
+Vendor ID: GenuineIntel
+CPU family: 6
+Model: 26
+Stepping: 5
+CPU MHz: 2393.998
+BogoMIPS: 5986.29
+Hypervisor vendor: Xen
+Virtualization type: para
+L1d cache: 32K
+L1i cache: 32K
+L2 cache: 256K
+L3 cache: 8192K
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
+0,0,0,,,0,0,0,0
+1,1,1,,,0,0,0,0
+2,2,2,,,1,1,1,0
+3,3,3,,,1,1,1,0
+4,4,4,,,2,2,2,0
+5,5,5,,,2,2,2,0
+6,6,6,,,3,3,3,0
+7,7,7,,,3,3,3,0
diff --git a/tests/expected/lscpu/lscpu-x86_64-hpdl585 b/tests/expected/lscpu/lscpu-x86_64-hpdl585
new file mode 100644
index 0000000..347ee62
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-hpdl585
@@ -0,0 +1,42 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 16
+Thread(s) per core: 1
+Core(s) per socket: 4
+Socket(s): 4
+NUMA node(s): 4
+Vendor ID: AuthenticAMD
+CPU family: 16
+Model: 2
+Stepping: 3
+CPU MHz: 2210.188
+BogoMIPS: 4420.50
+Virtualization: AMD-V
+L1d cache: 512K
+L1i cache: 512K
+L2 cache: 512K
+L3 cache: 2048K
+NUMA node0 CPU(s): 0,4,8,12
+NUMA node1 CPU(s): 1,5,9,13
+NUMA node2 CPU(s): 2,6,10,14
+NUMA node3 CPU(s): 3,7,11,15
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
+0,0,0,0,,0,0,0,0
+1,1,1,1,,1,1,1,1
+2,2,2,2,,2,2,2,2
+3,3,3,3,,3,3,3,3
+4,4,0,0,,4,4,4,4
+5,5,1,1,,5,5,5,5
+6,6,2,2,,6,6,6,6
+7,7,3,3,,7,7,7,7
+8,8,0,0,,8,8,8,8
+9,9,1,1,,9,9,9,9
+10,10,2,2,,10,10,10,10
+11,11,3,3,,11,11,11,11
+12,12,0,0,,12,12,12,12
+13,13,1,1,,13,13,13,13
+14,14,2,2,,14,14,14,14
+15,15,3,3,,15,15,15,15
diff --git a/tests/expected/lscpu/lscpu-x86_64-ibme326m b/tests/expected/lscpu/lscpu-x86_64-ibme326m
new file mode 100644
index 0000000..8e5e375
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-ibme326m
@@ -0,0 +1,23 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 2
+Thread(s) per core: 1
+Core(s) per socket: 2
+Socket(s): 1
+NUMA node(s): 1
+Vendor ID: AuthenticAMD
+CPU family: 15
+Model: 33
+Stepping: 2
+CPU MHz: 1995.058
+BogoMIPS: 3989.41
+L1d cache: 1024K
+L1i cache: 1024K
+L2 cache: 1024K
+NUMA node0 CPU(s): 0,1
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2
+0,0,0,0,,0,0,0
+1,1,0,0,,1,1,1
diff --git a/tests/expected/lscpu/lscpu-x86_64-necem14 b/tests/expected/lscpu/lscpu-x86_64-necem14
new file mode 100644
index 0000000..91d626e
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-necem14
@@ -0,0 +1,22 @@
+CPU op-mode(s): 32-bit, 64-bit
+CPU(s): 2
+Thread(s) per core: 2
+Core(s) per socket: 1
+Socket(s): 1
+NUMA node(s): 1
+Vendor ID: GenuineIntel
+CPU family: 15
+Model: 4
+Stepping: 3
+CPU MHz: 3790.599
+BogoMIPS: 7579.94
+L1d cache: 16K
+L2 cache: 2048K
+NUMA node0 CPU(s): 0,1
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L2
+0,0,0,0,,0,0
+1,0,0,0,,0,0
diff --git a/tests/expected/lscpu/lscpu-x86_64-xenfull b/tests/expected/lscpu/lscpu-x86_64-xenfull
new file mode 100644
index 0000000..1a5c46a
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-x86_64-xenfull
@@ -0,0 +1,22 @@
+CPU(s): 2
+Thread(s) per core: 1
+Core(s) per socket: 1
+CPU socket(s): 2
+NUMA node(s): 1
+Vendor ID: GenuineIntel
+CPU family: 6
+Model: 23
+Stepping: 6
+CPU MHz: 2493.900
+Hypervisor vendor: Xen
+Virtualization type: full
+L1d cache: 32K
+L1i cache: 32K
+L2 cache: 6144K
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2
+0,0,0,0,,0,0,0
+1,1,1,0,,1,1,1
diff --git a/tests/expected/md5/md5 b/tests/expected/md5/md5
new file mode 100644
index 0000000..6ca300b
--- /dev/null
+++ b/tests/expected/md5/md5
@@ -0,0 +1,7 @@
+d41d8cd98f00b204e9800998ecf8427e -
+900150983cd24fb0d6963f7d28e17f72 -
+5eb6d580e5f68fde65c3778afb8826ff -
+bd1e13bdaab82581d4dc299eb9a3da0f -
+d81ee4f567972a18f9326540b5d8aeaf -
+9561bd208c0041c673080ed744919b85 -
+d98d58d5562ca4dd47f0f0fe86b2d48f -
diff --git a/tests/expected/minix/fsck b/tests/expected/minix/fsck
new file mode 100644
index 0000000..84de725
--- /dev/null
+++ b/tests/expected/minix/fsck
@@ -0,0 +1,8 @@
+create minix fs
+1728 inodes
+5120 blocks
+Firstdatazone=58 (58)
+Zonesize=1024
+Maxsize=268966912
+
+fsck minix fs
diff --git a/tests/expected/minix/mkfs b/tests/expected/minix/mkfs
new file mode 100644
index 0000000..592d5dc
--- /dev/null
+++ b/tests/expected/minix/mkfs
@@ -0,0 +1,10 @@
+create minix fs
+1728 inodes
+5120 blocks
+Firstdatazone=58 (58)
+Zonesize=1024
+Maxsize=268966912
+
+create mountpoint dir
+mount the filesystem
+umount the image
diff --git a/tests/expected/misc/strtosize b/tests/expected/misc/strtosize
new file mode 100644
index 0000000..94fd69a
--- /dev/null
+++ b/tests/expected/misc/strtosize
@@ -0,0 +1,30 @@
+test_strutils: invalid size '-1' value
+ 0 : 0 : 0B : 0 B
+ 1 : 1 : 1B : 1 B
+ 123 : 123 : 123B : 123 B
+ 18446744073709551615 : 18446744073709551615 : 16E : 16 EiB
+ 1K : 1024 : 1K : 1 KiB
+ 1KiB : 1024 : 1K : 1 KiB
+ 1M : 1048576 : 1M : 1 MiB
+ 1MiB : 1048576 : 1M : 1 MiB
+ 1G : 1073741824 : 1G : 1 GiB
+ 1GiB : 1073741824 : 1G : 1 GiB
+ 1T : 1099511627776 : 1T : 1 TiB
+ 1TiB : 1099511627776 : 1T : 1 TiB
+ 1P : 1125899906842624 : 1P : 1 PiB
+ 1PiB : 1125899906842624 : 1P : 1 PiB
+ 1E : 1152921504606846976 : 1E : 1 EiB
+ 1EiB : 1152921504606846976 : 1E : 1 EiB
+ 1KB : 1000 : 1000B : 1000 B
+ 1MB : 1000000 : 976.6K : 976.6 KiB
+ 1GB : 1000000000 : 953.7M : 953.7 MiB
+ 1TB : 1000000000000 : 931.3G : 931.3 GiB
+ 1PB : 1000000000000000 : 909.5T : 909.5 TiB
+ 1EB : 1000000000000000000 : 888.2P : 888.2 PiB
+test_strutils: invalid size '' value
+test_strutils: invalid size ' ' value
+ 1 : 1 : 1B : 1 B
+test_strutils: invalid size '1 ' value
+ 0x0a : 10 : 10B : 10 B
+ 0xff00 : 65280 : 63.8K : 63.8 KiB
+ 0x80000000 : 2147483648 : 2G : 2 GiB
diff --git a/tests/expected/mount/devname b/tests/expected/mount/devname
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/devname
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/encryption b/tests/expected/mount/encryption
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/encryption
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-broken b/tests/expected/mount/fstab-broken
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-broken
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-broken-mount b/tests/expected/mount/fstab-broken-mount
new file mode 100644
index 0000000..d86bac9
--- /dev/null
+++ b/tests/expected/mount/fstab-broken-mount
@@ -0,0 +1 @@
+OK
diff --git a/tests/expected/mount/fstab-broken-mount-all b/tests/expected/mount/fstab-broken-mount-all
new file mode 100644
index 0000000..d86bac9
--- /dev/null
+++ b/tests/expected/mount/fstab-broken-mount-all
@@ -0,0 +1 @@
+OK
diff --git a/tests/expected/mount/fstab-devname b/tests/expected/mount/fstab-devname
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-devname
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-devname2label b/tests/expected/mount/fstab-devname2label
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-devname2label
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-devname2uuid b/tests/expected/mount/fstab-devname2uuid
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-devname2uuid
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-label b/tests/expected/mount/fstab-label
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-label
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-label2devname b/tests/expected/mount/fstab-label2devname
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-label2devname
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-label2uuid b/tests/expected/mount/fstab-label2uuid
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-label2uuid
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-none b/tests/expected/mount/fstab-none
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-none
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-symlink b/tests/expected/mount/fstab-symlink
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-symlink
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-uuid b/tests/expected/mount/fstab-uuid
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-uuid
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-uuid2devname b/tests/expected/mount/fstab-uuid2devname
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-uuid2devname
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-uuid2label b/tests/expected/mount/fstab-uuid2label
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/fstab-uuid2label
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/label b/tests/expected/mount/label
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/label
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/move b/tests/expected/mount/move
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/move
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/noncanonical b/tests/expected/mount/noncanonical
new file mode 100644
index 0000000..01c3a4f
--- /dev/null
+++ b/tests/expected/mount/noncanonical
@@ -0,0 +1,2 @@
+mount: spec: "//etc"
+mount: spec: "/etc"
diff --git a/tests/expected/mount/paths b/tests/expected/mount/paths
new file mode 100644
index 0000000..bec6697
--- /dev/null
+++ b/tests/expected/mount/paths
@@ -0,0 +1,11 @@
+mount: fstab path: "/etc/fstab"
+mount: mtab path: "/etc/mtab"
+mount: lock path: "/etc/mtab~"
+mount: temp path: "/etc/mtab.tmp"
+mount: UID: 0
+mount: eUID: 0
+mount: spec: "/dev/dummy"
+mount: node: "/mnt"
+mount: types: "(null)"
+mount: opts: "(null)"
+/dev/dummy on /mnt type unknown (rw)
diff --git a/tests/expected/mount/regfile b/tests/expected/mount/regfile
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/regfile
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/remount b/tests/expected/mount/remount
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/remount
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/rlimit b/tests/expected/mount/rlimit
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/rlimit
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/rlimit-mount b/tests/expected/mount/rlimit-mount
new file mode 100644
index 0000000..85e2e12
--- /dev/null
+++ b/tests/expected/mount/rlimit-mount
@@ -0,0 +1 @@
+OK: mtab unmodified by mount
diff --git a/tests/expected/mount/rlimit-umount b/tests/expected/mount/rlimit-umount
new file mode 100644
index 0000000..193a8ee
--- /dev/null
+++ b/tests/expected/mount/rlimit-umount
@@ -0,0 +1 @@
+OK: mtab unmodified by umount
diff --git a/tests/expected/mount/shared-subtree b/tests/expected/mount/shared-subtree
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/shared-subtree
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/shared-subtree-make-private b/tests/expected/mount/shared-subtree-make-private
new file mode 100644
index 0000000..39cdd0d
--- /dev/null
+++ b/tests/expected/mount/shared-subtree-make-private
@@ -0,0 +1 @@
+-
diff --git a/tests/expected/mount/shared-subtree-make-shared b/tests/expected/mount/shared-subtree-make-shared
new file mode 100644
index 0000000..8a205e8
--- /dev/null
+++ b/tests/expected/mount/shared-subtree-make-shared
@@ -0,0 +1 @@
+shared
diff --git a/tests/expected/mount/shared-subtree-make-unbindable b/tests/expected/mount/shared-subtree-make-unbindable
new file mode 100644
index 0000000..376cfac
--- /dev/null
+++ b/tests/expected/mount/shared-subtree-make-unbindable
@@ -0,0 +1 @@
+unbindable
diff --git a/tests/expected/mount/special b/tests/expected/mount/special
new file mode 100644
index 0000000..99997d3
--- /dev/null
+++ b/tests/expected/mount/special
@@ -0,0 +1 @@
+/sbin/mount.mytest called with "/foo /bar -o rw"
diff --git a/tests/expected/mount/uuid b/tests/expected/mount/uuid
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/mount/uuid
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/namei/logic b/tests/expected/namei/logic
new file mode 100644
index 0000000..9632db0
--- /dev/null
+++ b/tests/expected/namei/logic
@@ -0,0 +1,13 @@
+f: namei1/namei2/a
+ d namei1
+ d namei2
+ - a
+f: namei1/namei2/b
+ d namei1
+ d namei2
+ - b
+f: namei1/namei2/a/b
+ d namei1
+ d namei2
+ - a
+b - No such file or directory
diff --git a/tests/expected/partx/partx-bsd b/tests/expected/partx/partx-bsd
new file mode 100644
index 0000000..15568c4
--- /dev/null
+++ b/tests/expected/partx/partx-bsd
@@ -0,0 +1,3 @@
+NR START END SECTORS SIZE NAME UUID
+ 1 7936 12799 4864 2.4M
+ 2 12544 16127 3584 1.8M
diff --git a/tests/expected/partx/partx-dos+bsd b/tests/expected/partx/partx-dos+bsd
new file mode 100644
index 0000000..75cdfe8
--- /dev/null
+++ b/tests/expected/partx/partx-dos+bsd
@@ -0,0 +1,5 @@
+NR START END SECTORS SIZE NAME UUID
+ 1 32 7679 7648 3.8M
+ 2 7680 16383 8704 4.3M
+ 5 7936 12799 4864 2.4M
+ 6 12544 16127 3584 1.8M
diff --git a/tests/expected/partx/partx-gpt b/tests/expected/partx/partx-gpt
new file mode 100644
index 0000000..c941f36
--- /dev/null
+++ b/tests/expected/partx/partx-gpt
@@ -0,0 +1,6 @@
+NR START END SECTORS SIZE NAME UUID
+ 1 34 2047 2014 1007K ThisIsName 1dcf10bc-637e-4c52-8203-087ae10a820b
+ 2 2048 4095 2048 1M ThisIsOtherName a1d03a96-7238-46c6-bbb3-789cbe173ec7
+ 3 4096 6143 2048 1M primary a7101b6c-468c-47df-aff6-cd444d12af61
+ 4 6144 8191 2048 1M primary afc4950a-f0f1-4add-802c-5957133486d1
+ 5 8192 10239 2048 1M primary 0db0a787-c16b-4886-af3a-fbb97299677c
diff --git a/tests/expected/partx/partx-sgi b/tests/expected/partx/partx-sgi
new file mode 100644
index 0000000..ba357e0
--- /dev/null
+++ b/tests/expected/partx/partx-sgi
@@ -0,0 +1,3 @@
+NR START END SECTORS SIZE NAME UUID
+ 1 63 1606499 1606437 784.4M
+ 2 1606500 32129999 30523500 14.6G
diff --git a/tests/expected/partx/partx-sun b/tests/expected/partx/partx-sun
new file mode 100644
index 0000000..e69fdb1
--- /dev/null
+++ b/tests/expected/partx/partx-sun
@@ -0,0 +1,3 @@
+NR START END SECTORS SIZE NAME UUID
+ 1 0 87379 87380 42.7M
+ 2 87380 131069 43690 21.3M
diff --git a/tests/expected/paths/built-in b/tests/expected/paths/built-in
new file mode 100644
index 0000000..38356ba
--- /dev/null
+++ b/tests/expected/paths/built-in
@@ -0,0 +1,35 @@
+ _PATH_DEFPATH /usr/local/bin:/bin:/usr/bin
+ _PATH_DEFPATH_ROOT /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+ _PATH_DEV_TTY /dev/tty
+ _PATH_DEV_LOOP /dev/loop
+ _PATH_SECURETTY /etc/securetty
+ _PATH_WTMPLOCK /etc/wtmplock
+ _PATH_HUSHLOGIN .hushlogin
+ _PATH_MAILDIR /var/mail
+ _PATH_MOTDFILE /etc/motd
+ _PATH_NOLOGIN /etc/nologin
+ _PATH_LOGIN /bin/login
+ _PATH_INITTAB /etc/inittab
+ _PATH_RC /etc/rc
+ _PATH_REBOOT /sbin/reboot
+ _PATH_SINGLE /etc/singleboot
+ _PATH_SHUTDOWN_CONF /etc/shutdown.conf
+ _PATH_SECURE /etc/securesingle
+ _PATH_USERTTY /etc/usertty
+ _PATH_UMOUNT /bin/umount
+ _PATH_PASSWD /etc/passwd
+ _PATH_GSHADOW /etc/gshadow
+ _PATH_GROUP /etc/group
+ _PATH_SHADOW_PASSWD /etc/shadow
+ _PATH_WORDS /usr/share/dict/words
+ _PATH_WORDS_ALT /usr/share/dict/web2
+ _PATH_UMOUNT /bin/umount
+ _PATH_FILESYSTEMS /etc/filesystems
+ _PATH_PROC_SWAPS /proc/swaps
+_PATH_PROC_FILESYSTEMS /proc/filesystems
+ _PATH_MOUNTED /etc/mtab
+ _PATH_MNTTAB /etc/fstab
+ _PATH_MOUNTED_LOCK /etc/mtab~
+ _PATH_MOUNTED_TMP /etc/mtab.tmp
+ _PATH_DEV_BYLABEL /dev/disk/by-label
+ _PATH_DEV_BYUUID /dev/disk/by-uuid
diff --git a/tests/expected/schedutils/cpuset b/tests/expected/schedutils/cpuset
new file mode 100644
index 0000000..10e1760
--- /dev/null
+++ b/tests/expected/schedutils/cpuset
@@ -0,0 +1,24 @@
+masks:
+0x00000001 = 1 [0]
+0x00000002 = 2 [1]
+0x00000003 = 3 [0,1]
+0x00000004 = 4 [2]
+0x00000005 = 5 [0,2]
+0x00000006 = 6 [1,2]
+0x00000007 = 7 [0-2]
+0x00000008 = 8 [3]
+0x00000009 = 9 [0,3]
+0x00005555 = 5555 [0,2,4,6,8,10,12,14]
+0x00007777 = 7777 [0-2,4-6,8-10,12-14]
+strings:
+0 = 1 [0]
+1 = 2 [1]
+0,1 = 3 [0,1]
+2 = 4 [2]
+0,2 = 5 [0,2]
+1,2 = 6 [1,2]
+0-2 = 7 [0-2]
+3 = 8 [3]
+0,3 = 9 [0,3]
+0,2,4,6,8,10,12,14 = 5555 [0,2,4,6,8,10,12,14]
+0-2,4-6,8-10,12-14 = 7777 [0-2,4-6,8-10,12-14]
diff --git a/tests/expected/script/race b/tests/expected/script/race
new file mode 100644
index 0000000..83b33d2
--- /dev/null
+++ b/tests/expected/script/race
@@ -0,0 +1 @@
+1000
diff --git a/tests/expected/swapon/devname b/tests/expected/swapon/devname
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/swapon/devname
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/swapon/fixpgsz b/tests/expected/swapon/fixpgsz
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/swapon/fixpgsz
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/swapon/fixsig b/tests/expected/swapon/fixsig
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/swapon/fixsig
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/swapon/label b/tests/expected/swapon/label
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/swapon/label
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/swapon/uuid b/tests/expected/swapon/uuid
new file mode 100644
index 0000000..3582111
--- /dev/null
+++ b/tests/expected/swapon/uuid
@@ -0,0 +1 @@
+Success
diff --git a/tests/functions.sh b/tests/functions.sh
new file mode 100644
index 0000000..8293539
--- /dev/null
+++ b/tests/functions.sh
@@ -0,0 +1,470 @@
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+
+function ts_abspath {
+ cd $1
+ pwd
+}
+
+function ts_canonicalize {
+ P="$1"
+ C=$(readlink -f $P)
+
+ if [ -n "$C" ]; then
+ echo "$C"
+ else
+ echo "$P"
+ fi
+}
+
+function ts_skip_subtest {
+ echo " IGNORE ($1)"
+}
+
+function ts_skip {
+ ts_skip_subtest "$1"
+ if [ -n "$2" -a -b "$2" ]; then
+ ts_device_deinit "$2"
+ fi
+ exit 0
+}
+
+function ts_skip_nonroot {
+ if [ $UID -ne 0 ]; then
+ ts_skip "not root permissions"
+ fi
+}
+
+function ts_failed_subtest {
+ if [ x"$1" == x"" ]; then
+ echo " FAILED ($TS_NS)"
+ else
+ echo " FAILED ($1)"
+ fi
+}
+
+function ts_failed {
+ ts_failed_subtest "$1"
+ exit 1
+}
+
+function ts_ok_subtest {
+ if [ x"$1" == x"" ]; then
+ echo " OK"
+ else
+ echo " OK ($1)"
+ fi
+}
+
+function ts_ok {
+ ts_ok_subtest "$1"
+ exit 0
+}
+
+function ts_log {
+ echo "$1" >> $TS_OUTPUT
+ [ "$TS_VERBOSE" == "yes" ] && echo "$1"
+}
+
+function ts_has_option {
+ NAME="$1"
+ ALL="$2"
+ echo -n $ALL | sed 's/ //g' | awk 'BEGIN { FS="="; RS="--" } /('$NAME'$|'$NAME'=)/ { print "yes" }'
+}
+
+function ts_option_argument {
+ NAME="$1"
+ ALL="$2"
+ echo -n $ALL | sed 's/ //g' | awk 'BEGIN { FS="="; RS="--" } /'$NAME'=/ { print $2 }'
+}
+
+function ts_init_core_env {
+ TS_NS="$TS_COMPONENT/$TS_TESTNAME"
+ TS_OUTPUT="$TS_OUTDIR/$TS_TESTNAME"
+ TS_VGDUMP="$TS_OUTDIR/$TS_TESTNAME.vgdump"
+ TS_DIFF="$TS_DIFFDIR/$TS_TESTNAME"
+ TS_EXPECTED="$TS_TOPDIR/expected/$TS_NS"
+ TS_MOUNTPOINT="$TS_OUTDIR/${TS_TESTNAME}-mnt"
+}
+
+function ts_init_core_subtest_env {
+ TS_NS="$TS_COMPONENT/$TS_TESTNAME-$TS_SUBNAME"
+ TS_OUTPUT="$TS_OUTDIR/$TS_TESTNAME-$TS_SUBNAME"
+ TS_VGDUMP="$TS_OUTDIR/$TS_TESTNAME-$TS_SUBNAME.vgdump"
+ TS_DIFF="$TS_DIFFDIR/$TS_TESTNAME-$TS_SUBNAME"
+ TS_EXPECTED="$TS_TOPDIR/expected/$TS_NS"
+ TS_MOUNTPOINT="$TS_OUTDIR/${TS_TESTNAME}-${TS_SUBNAME}-mnt"
+
+ rm -f $TS_OUTPUT $TS_VGDUMP
+ [ -d "$TS_OUTDIR" ] || mkdir -p "$TS_OUTDIR"
+
+ touch $TS_OUTPUT
+ [ -n "$TS_VALGRIND_CMD" ] && touch $TS_VGDUMP
+}
+
+function ts_init_env {
+ local mydir=$(ts_abspath $(dirname $0))
+
+ LANG="POSIX"
+ LANGUAGE="POSIX"
+ LC_ALL="POSIX"
+ CHARSET="UTF-8"
+
+ export LANG LANGUAGE LC_ALL CHARSET
+
+ mydir=$(ts_canonicalize "$mydir")
+
+ # automake directories
+ top_srcdir=$(ts_option_argument "srcdir" "$*")
+ top_builddir=$(ts_option_argument "builddir" "$*")
+
+ # where is this script
+ TS_TOPDIR=$(ts_abspath $mydir/../../)
+
+ # default
+ if [ -z "$top_srcdir" ]; then
+ top_srcdir="$TS_TOPDIR/.."
+ fi
+ if [ -z "$top_builddir" ]; then
+ top_builddir="$TS_TOPDIR/.."
+ fi
+
+ top_srcdir=$(ts_abspath $top_srcdir)
+ top_builddir=$(ts_abspath $top_builddir)
+
+ TS_SCRIPT="$mydir/$(basename $0)"
+ TS_SUBDIR=$(dirname $TS_SCRIPT)
+ TS_TESTNAME=$(basename $TS_SCRIPT)
+ TS_COMPONENT=$(basename $TS_SUBDIR)
+
+ TS_NSUBTESTS=0
+ TS_NSUBFAILED=0
+
+ TS_SELF="$TS_SUBDIR"
+
+ TS_OUTDIR="$top_builddir/tests/output/$TS_COMPONENT"
+ TS_DIFFDIR="$top_builddir/tests/diff/$TS_COMPONENT"
+
+ ts_init_core_env
+
+ TS_VERBOSE=$(ts_has_option "verbose" "$*")
+
+ BLKID_FILE="$TS_OUTDIR/${TS_TESTNAME}.blkidtab"
+
+ declare -a TS_SUID_PROGS
+ declare -a TS_SUID_USER
+ declare -a TS_SUID_GROUP
+
+ if [ -f $TS_TOPDIR/commands.sh ]; then
+ . $TS_TOPDIR/commands.sh
+ fi
+
+ export BLKID_FILE
+
+ rm -f $TS_OUTPUT $TS_VGDUMP
+ [ -d "$TS_OUTDIR" ] || mkdir -p "$TS_OUTDIR"
+
+ touch $TS_OUTPUT
+ [ -n "$TS_VALGRIND_CMD" ] && touch $TS_VGDUMP
+
+ if [ "$TS_VERBOSE" == "yes" ]; then
+ echo
+ echo " script: $TS_SCRIPT"
+ echo " sub dir: $TS_SUBDIR"
+ echo " top dir: $TS_TOPDIR"
+ echo " self: $TS_SELF"
+ echo " test name: $TS_TESTNAME"
+ echo " test desc: $TS_DESC"
+ echo " component: $TS_COMPONENT"
+ echo " namespace: $TS_NS"
+ echo " verbose: $TS_VERBOSE"
+ echo " output: $TS_OUTPUT"
+ echo " valgrind: $TS_VGDUMP"
+ echo " expected: $TS_EXPECTED"
+ echo " mountpoint: $TS_MOUNTPOINT"
+ echo
+ fi
+}
+
+function ts_init_subtest {
+
+ TS_SUBNAME="$1"
+
+ ts_init_core_subtest_env
+
+ [ $TS_NSUBTESTS -eq 0 ] && echo
+ TS_NSUBTESTS=$(( $TS_NSUBTESTS + 1 ))
+
+ printf "%16s: %-27s ..." "" "$TS_SUBNAME"
+}
+
+function ts_init {
+ local is_fake=$( ts_has_option "fake" "$*")
+ local is_force=$( ts_has_option "force" "$*")
+ local is_memcheck=$( ts_has_option "memcheck" "$*")
+
+ if [ "$is_memcheck" == "yes" -a -f /usr/bin/valgrind ]; then
+ TS_VALGRIND_CMD="/usr/bin/valgrind"
+ fi
+
+ ts_init_env "$*"
+
+ printf "%13s: %-30s ..." "$TS_COMPONENT" "$TS_DESC"
+
+ [ "$is_fake" == "yes" ] && ts_skip "fake mode"
+ [ "$TS_OPTIONAL" == "yes" -a "$is_force" != "yes" ] && ts_skip "optional"
+}
+
+function ts_init_suid {
+ PROG="$1"
+ ct=${#TS_SUID_PROGS[*]}
+
+ # Save info about original setting
+ TS_SUID_PROGS[$ct]=$PROG
+ TS_SUID_USER[$ct]=$(stat --printf="%U" $PROG)
+ TS_SUID_GROUP[$ct]=$(stat --printf="%G" $PROG)
+
+ chown root.root $PROG &> /dev/null
+ chmod u+s $PROG &> /dev/null
+}
+
+function ts_valgrind {
+ if [ -z "$TS_VALGRIND_CMD" ]; then
+ $*
+ else
+ $TS_VALGRIND_CMD --tool=memcheck --leak-check=full \
+ --leak-resolution=high --num-callers=20 \
+ --log-file="$TS_VGDUMP" $*
+ fi
+}
+
+function ts_gen_diff {
+ local res=0
+
+ if [ -s "$TS_OUTPUT" ]; then
+
+ # remove libtool lt- prefixes
+ sed --in-place 's/^lt\-\(.*\: \)/\1/g' $TS_OUTPUT
+
+ [ -d "$TS_DIFFDIR" ] || mkdir -p "$TS_DIFFDIR"
+ diff -u $TS_EXPECTED $TS_OUTPUT > $TS_DIFF
+
+ if [ -s $TS_DIFF ]; then
+ res=1
+ else
+ rm -f $TS_DIFF;
+ fi
+ else
+ res=1
+ fi
+ return $res
+}
+
+function tt_gen_mem_report {
+ [ -z "$TS_VALGRIND_CMD" ] && echo "$1"
+
+ grep -q -E 'ERROR SUMMARY: [1-9]' $TS_VGDUMP &> /dev/null
+ if [ $? -eq 0 ]; then
+ echo "mem-error detected!"
+ fi
+}
+
+function ts_finalize_subtest {
+ local res=0
+
+ if [ -s "$TS_EXPECTED" ]; then
+ ts_gen_diff
+ if [ $? -eq 1 ]; then
+ ts_failed_subtest "$1"
+ res=1
+ else
+ ts_ok_subtest "$(tt_gen_mem_report "$1")"
+ fi
+ else
+ ts_skip_subtest "output undefined"
+ fi
+
+ [ $res -ne 0 ] && TS_NSUBFAILED=$(( $TS_NSUBFAILED + 1 ))
+
+ # reset environment back to parental test
+ ts_init_core_env
+
+ return $res
+}
+
+function ts_finalize {
+ for idx in $(seq 0 $((${#TS_SUID_PROGS[*]} - 1))); do
+ PROG=${TS_SUID_PROGS[$idx]}
+ chmod a-s $PROG &> /dev/null
+ chown ${TS_SUID_USER[$idx]}.${TS_SUID_GROUP[$idx]} $PROG &> /dev/null
+ done
+
+ if [ $TS_NSUBTESTS -ne 0 ]; then
+ printf "%11s..."
+ if [ $TS_NSUBFAILED -ne 0 ]; then
+ ts_failed "$TS_NSUBFAILED from $TS_NSUBTESTS sub-tests"
+ else
+ ts_ok "all $TS_NSUBTESTS sub-tests PASSED"
+ fi
+ fi
+
+ if [ -s $TS_EXPECTED ]; then
+ ts_gen_diff
+ if [ $? -eq 1 ]; then
+ ts_failed "$1"
+ fi
+ ts_ok "$1"
+ fi
+
+ ts_skip "output undefined"
+}
+
+function ts_die {
+ ts_log "$1"
+ if [ -n "$2" ] && [ -b "$2" ]; then
+ ts_device_deinit "$2"
+ ts_fstab_clean # for sure...
+ fi
+ ts_finalize
+}
+
+function ts_image_md5sum {
+ local img=${1:-"$TS_OUTDIR/${TS_TESTNAME}.img"}
+ echo $(md5sum "$img" | awk '{printf $1}') $(basename "$img")
+}
+
+function ts_image_init {
+ local mib=${1:-"5"} # size in MiBs
+ local img=${2:-"$TS_OUTDIR/${TS_TESTNAME}.img"}
+
+ dd if=/dev/zero of="$img" bs=1M count=$mib &> /dev/null
+ echo "$img"
+ return 0
+}
+
+function ts_device_init {
+ local img=$(ts_image_init $1 $2)
+ local dev=$($TS_CMD_LOSETUP --show -f "$img")
+
+ if [ -z "$dev" ]; then
+ ts_device_deinit $dev
+ return 1 # error
+ fi
+
+ echo $dev
+ return 0 # succes
+}
+
+function ts_device_deinit {
+ local DEV="$1"
+
+ if [ -b "$DEV" ]; then
+ $TS_CMD_UMOUNT "$DEV" &> /dev/null
+ $TS_CMD_LOSETUP -d "$DEV" &> /dev/null
+ fi
+}
+
+function ts_uuid_by_devname {
+ echo $($TS_CMD_BLKID -p -s UUID -o value $1)
+}
+
+function ts_label_by_devname {
+ echo $($TS_CMD_BLKID -p -s LABEL -o value $1)
+}
+
+function ts_fstype_by_devname {
+ echo $($TS_CMD_BLKID -p -s TYPE -o value $1)
+}
+
+function ts_device_has {
+ local TAG="$1"
+ local VAL="$2"
+ local DEV="$3"
+ local vl=""
+
+ case $TAG in
+ "TYPE") vl=$(ts_fstype_by_devname $DEV);;
+ "LABEL") vl=$(ts_label_by_devname $DEV);;
+ "UUID") vl=$(ts_uuid_by_devname $DEV);;
+ *) return 1;;
+ esac
+
+ if [ "$vl" == "$VAL" ]; then
+ return 0
+ fi
+ return 1
+}
+
+function ts_device_has_uuid {
+ ts_uuid_by_devname "$1" | egrep -q '^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$'
+ return $?
+}
+
+function ts_is_mounted {
+ local DEV=$(ts_canonicalize "$1")
+
+ grep -q $DEV /proc/mounts && return 0
+
+ if [ "${DEV#/dev/loop/}" != "$DEV" ]; then
+ return grep -q "/dev/loop${DEV#/dev/loop/}" /proc/mounts
+ fi
+ return 1
+}
+
+function ts_fstab_open {
+ echo "# <!-- util-linux test entry" >> /etc/fstab
+}
+
+function ts_fstab_close {
+ echo "# -->" >> /etc/fstab
+}
+
+function ts_fstab_addline {
+ local SPEC="$1"
+ local MNT=${2:-"$TS_MOUNTPOINT"}
+ local FS=${3:-"auto"}
+ local OPT=${4:-"defaults"}
+
+ echo "$SPEC $MNT $FS $OPT 0 0" >> /etc/fstab
+}
+
+function ts_fstab_add {
+ ts_fstab_open
+ ts_fstab_addline $*
+ ts_fstab_close
+}
+
+function ts_fstab_clean {
+ sed --in-place "
+/# <!-- util-linux/!b
+:a
+/# -->/!{
+ N
+ ba
+}
+s/# <!-- util-linux.*-->//;
+/^$/d" /etc/fstab
+}
+
+function ts_fdisk_clean {
+ # remove non comparable parts of fdisk output
+ [ x"${DEVNAME}" != x"" ] && sed -i -e "s/\/dev\/${DEVNAME}/\/dev\/.../g" $TS_OUTPUT
+ sed -i -e 's/Disk identifier:.*//g' \
+ -e 's/Building a new.*//g' \
+ -e 's/Welcome to fdisk.*//g' \
+ $TS_OUTPUT
+}
diff --git a/tests/helpers/Makemodule.am b/tests/helpers/Makemodule.am
new file mode 100644
index 0000000..9724dae
--- /dev/null
+++ b/tests/helpers/Makemodule.am
@@ -0,0 +1,12 @@
+
+check_PROGRAMS += test_byteswap
+test_byteswap_SOURCES = tests/helpers/test_byteswap.c
+
+check_PROGRAMS += test_md5
+test_md5_SOURCES = tests/helpers/test_md5.c lib/md5.c
+
+check_PROGRAMS += test_pathnames
+test_pathnames_SOURCES = tests/helpers/test_pathnames.c
+
+check_PROGRAMS += test_sysinfo
+test_sysinfo_SOURCES = tests/helpers/test_sysinfo.c
diff --git a/tests/helpers/test_byteswap.c b/tests/helpers/test_byteswap.c
new file mode 100644
index 0000000..7467ed2
--- /dev/null
+++ b/tests/helpers/test_byteswap.c
@@ -0,0 +1,114 @@
+/*
+ * This testing program makes sure the byteswap functions work
+ *
+ * Copyright (C) 2000 by Theodore Ts'o.
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <time.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <errno.h>
+#include <inttypes.h>
+
+#include "bitops.h"
+
+uint16_t ary16[] = {
+ 0x0001, 0x0100,
+ 0x1234, 0x3412,
+ 0xff00, 0x00ff,
+ 0x4000, 0x0040,
+ 0xfeff, 0xfffe,
+ 0x0000, 0x0000
+ };
+
+uint32_t ary32[] = {
+ 0x00000001, 0x01000000,
+ 0x80000000, 0x00000080,
+ 0x12345678, 0x78563412,
+ 0xffff0000, 0x0000ffff,
+ 0x00ff0000, 0x0000ff00,
+ 0xff000000, 0x000000ff,
+ 0x00000000, 0x00000000
+ };
+
+uint64_t ary64[] = {
+ 0x0000000000000001, 0x0100000000000000,
+ 0x8000000000000000, 0x0000000000000080,
+ 0x1234567812345678, 0x7856341278563412,
+ 0xffffffff00000000, 0x00000000ffffffff,
+ 0x00ff000000000000, 0x000000000000ff00,
+ 0xff00000000000000, 0x00000000000000ff,
+ 0x0000000000000000, 0x0000000000000000
+ };
+
+int main()
+{
+ int i;
+ int errors = 0;
+
+ printf("Testing swab16\n");
+ i=0;
+ do {
+ printf("swab16(0x%04"PRIx16") = 0x%04"PRIx16"\n",
+ ary16[i], swab16(ary16[i]));
+ if (swab16(ary16[i]) != ary16[i+1]) {
+ printf("Error!!! %04"PRIx16" != %04"PRIx16"\n",
+ swab16(ary16[i]), ary16[i+1]);
+ errors++;
+ }
+ if (swab16(ary16[i+1]) != ary16[i]) {
+ printf("Error!!! %04"PRIx16" != %04"PRIx16"\n",
+ swab16(ary16[i+1]), ary16[i]);
+ errors++;
+ }
+ i += 2;
+ } while (ary16[i] != 0);
+
+ printf("Testing swab32\n");
+ i = 0;
+ do {
+ printf("swab32(0x%08"PRIx32") = 0x%08"PRIx32"\n",
+ ary32[i], swab32(ary32[i]));
+ if (swab32(ary32[i]) != ary32[i+1]) {
+ printf("Error!!! %04"PRIx32" != %04"PRIx32"\n",
+ swab32(ary32[i]), ary32[i+1]);
+ errors++;
+ }
+ if (swab32(ary32[i+1]) != ary32[i]) {
+ printf("Error!!! %04"PRIx32" != %04"PRIx32"\n",
+ swab32(ary32[i+1]), ary32[i]);
+ errors++;
+ }
+ i += 2;
+ } while (ary32[i] != 0);
+
+ printf("Testing swab64\n");
+ i = 0;
+ do {
+ printf("swab64(0x%016"PRIx64") = 0x%016"PRIx64"\n",
+ ary64[i], swab64(ary64[i]));
+ if (swab64(ary64[i]) != ary64[i+1]) {
+ printf("Error!!! %016"PRIx64" != %016"PRIx64"\n",
+ swab64(ary64[i]), ary64[i+1]);
+ errors++;
+ }
+ if (swab64(ary64[i+1]) != ary64[i]) {
+ printf("Error!!! %016"PRIx64" != %016"PRIx64"\n",
+ swab64(ary64[i+1]), ary64[i]);
+ errors++;
+ }
+ i += 2;
+ } while (ary64[i] != 0);
+
+ if (!errors)
+ printf("No errors found in the byteswap implementation\n");
+
+ return errors;
+}
diff --git a/tests/helpers/test_md5.c b/tests/helpers/test_md5.c
new file mode 100644
index 0000000..0f37afd
--- /dev/null
+++ b/tests/helpers/test_md5.c
@@ -0,0 +1,29 @@
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include "md5.h"
+
+int main()
+{
+ int i, ret;
+ struct MD5Context ctx;
+ unsigned char digest[MD5LENGTH];
+ unsigned char buf[BUFSIZ];
+
+ MD5Init( &ctx );
+
+ while(!feof(stdin) && !ferror(stdin)) {
+ ret = fread(buf, 1, sizeof(buf), stdin);
+ if (ret)
+ MD5Update( &ctx, buf, ret );
+ }
+
+ fclose(stdin);
+ MD5Final( digest, &ctx );
+
+ for (i = 0; i < MD5LENGTH; i++)
+ printf( "%02x", digest[i] );
+ printf(" -\n");
+ return 0;
+}
diff --git a/tests/helpers/test_pathnames.c b/tests/helpers/test_pathnames.c
new file mode 100644
index 0000000..ebd5249
--- /dev/null
+++ b/tests/helpers/test_pathnames.c
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+ *
+ * This file is part of util-linux.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "pathnames.h"
+
+struct hlpPath
+{
+ const char *name;
+ const char *path;
+};
+
+#define DEF_HLPPATH(_p) { #_p, _p }
+
+struct hlpPath paths[] =
+{
+ DEF_HLPPATH(_PATH_DEFPATH),
+ DEF_HLPPATH(_PATH_DEFPATH_ROOT),
+ DEF_HLPPATH(_PATH_DEV_TTY),
+ DEF_HLPPATH(_PATH_DEV_LOOP),
+ DEF_HLPPATH(_PATH_SECURETTY),
+ DEF_HLPPATH(_PATH_WTMPLOCK),
+ DEF_HLPPATH(_PATH_HUSHLOGIN),
+ DEF_HLPPATH(_PATH_MAILDIR),
+ DEF_HLPPATH(_PATH_MOTDFILE),
+ DEF_HLPPATH(_PATH_NOLOGIN),
+ DEF_HLPPATH(_PATH_LOGIN),
+ DEF_HLPPATH(_PATH_INITTAB),
+ DEF_HLPPATH(_PATH_RC),
+ DEF_HLPPATH(_PATH_REBOOT),
+ DEF_HLPPATH(_PATH_SINGLE),
+ DEF_HLPPATH(_PATH_SHUTDOWN_CONF),
+ DEF_HLPPATH(_PATH_SECURE),
+ DEF_HLPPATH(_PATH_USERTTY),
+ DEF_HLPPATH(_PATH_UMOUNT),
+ DEF_HLPPATH(_PATH_PASSWD),
+ DEF_HLPPATH(_PATH_GSHADOW),
+ DEF_HLPPATH(_PATH_GROUP),
+ DEF_HLPPATH(_PATH_SHADOW_PASSWD),
+ DEF_HLPPATH(_PATH_WORDS),
+ DEF_HLPPATH(_PATH_WORDS_ALT),
+ DEF_HLPPATH(_PATH_UMOUNT),
+ DEF_HLPPATH(_PATH_FILESYSTEMS),
+ DEF_HLPPATH(_PATH_PROC_SWAPS),
+ DEF_HLPPATH(_PATH_PROC_FILESYSTEMS),
+ DEF_HLPPATH(_PATH_MOUNTED),
+ DEF_HLPPATH(_PATH_MNTTAB),
+ DEF_HLPPATH(_PATH_MOUNTED_LOCK),
+ DEF_HLPPATH(_PATH_MOUNTED_TMP),
+ DEF_HLPPATH(_PATH_DEV_BYLABEL),
+ DEF_HLPPATH(_PATH_DEV_BYUUID),
+ { NULL, NULL }
+};
+
+int
+main(int argc, char **argv)
+{
+ struct hlpPath *p;
+
+ if (argc == 1) {
+ for (p = paths; p->name; p++)
+ printf("%20s %s\n", p->name, p->path);
+ exit(EXIT_SUCCESS);
+ } else {
+ if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0) {
+ printf("%s <option>\n", argv[0]);
+ fputs("options:\n", stdout);
+ for (p = paths; p->name; p++)
+ printf("\t%s\n", p->name);
+ exit(EXIT_SUCCESS);
+ }
+
+ for (p = paths; p->name; p++) {
+ if (strcmp(p->name, argv[1]) == 0) {
+ printf("%s\n", p->path);
+ exit(EXIT_SUCCESS);
+ }
+ }
+ }
+
+ exit(EXIT_FAILURE);
+}
+
diff --git a/tests/helpers/test_sysinfo.c b/tests/helpers/test_sysinfo.c
new file mode 100644
index 0000000..3983f28
--- /dev/null
+++ b/tests/helpers/test_sysinfo.c
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+ *
+ * This file is part of util-linux.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <limits.h>
+
+typedef struct {
+ const char *name;
+ int (*fnc)(void);
+} mntHlpfnc;
+
+static int hlp_wordsize(void)
+{
+ printf("%lu\n", CHAR_BIT * sizeof(void*));
+ return 0;
+}
+
+static int hlp_endianness(void)
+{
+#if !defined(WORDS_BIGENDIAN)
+ printf("LE\n");
+#else
+ printf("BE\n");
+#endif
+ return 0;
+}
+
+
+static int hlp_pagesize(void)
+{
+ printf("%d\n", getpagesize());
+ return 0;
+}
+
+static int hlp_int_max(void)
+{
+ printf("%d\n", INT_MAX);
+ return 0;
+}
+
+static int hlp_uint_max(void)
+{
+ printf("%u\n", UINT_MAX);
+ return 0;
+}
+
+static int hlp_long_max(void)
+{
+ printf("%ld\n", LONG_MAX);
+ return 0;
+}
+
+static int hlp_ulong_max(void)
+{
+ printf("%lu\n", ULONG_MAX);
+ return 0;
+}
+
+static int hlp_ulong_max32(void)
+{
+#if __WORDSIZE == 64
+ printf("%lu\n", ULONG_MAX >> 32);
+#else
+ printf("%lu\n", ULONG_MAX);
+#endif
+ return 0;
+}
+
+static mntHlpfnc hlps[] =
+{
+ { "WORDSIZE", hlp_wordsize },
+ { "pagesize", hlp_pagesize },
+ { "INT_MAX", hlp_int_max },
+ { "UINT_MAX", hlp_uint_max },
+ { "LONG_MAX", hlp_long_max },
+ { "ULONG_MAX", hlp_ulong_max },
+ { "ULONG_MAX32",hlp_ulong_max32 },
+ { "byte-order", hlp_endianness },
+ { NULL, NULL }
+};
+
+int main(int argc, char **argv)
+{
+ int re = 0;
+ mntHlpfnc *fn;
+
+ if (argc == 1) {
+ for (fn = hlps; fn->name; fn++) {
+ printf("%15s: ", fn->name);
+ re += fn->fnc();
+ }
+ } else {
+ int i;
+
+ if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0) {
+ printf("%s <option>\n", argv[0]);
+ fputs("options:\n", stdout);
+ for (fn = hlps; fn->name; fn++)
+ printf("\t%s\n", fn->name);
+ exit(EXIT_SUCCESS);
+ }
+
+ for (i=1; i < argc; i++) {
+ for (fn = hlps; fn->name; fn++) {
+ if (strcmp(fn->name, argv[i]) == 0)
+ re += fn->fnc();
+ }
+ }
+ }
+
+ exit(re ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
diff --git a/tests/run.sh b/tests/run.sh
new file mode 100755
index 0000000..6ed05c1
--- /dev/null
+++ b/tests/run.sh
@@ -0,0 +1,136 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR=$(cd $(dirname $0) && pwd)
+SUBTESTS=
+OPTS=
+
+top_srcdir=
+top_builddir=
+
+while [ -n "$1" ]; do
+ case "$1" in
+ --force)
+ OPTS="$OPTS --force"
+ ;;
+ --fake)
+ OPTS="$OPTS --fake"
+ ;;
+ --memcheck)
+ OPTS="$OPTS --memcheck"
+ ;;
+ --verbose)
+ OPTS="$OPTS --verbose"
+ ;;
+ --nonroot)
+ if [ $(id -ru) -eq 0 ]; then
+ echo "Ignore utils-linux test suite [non-root UID expected]."
+ exit 0
+ fi
+ ;;
+ --srcdir=*)
+ top_srcdir="${1##--srcdir=}"
+ ;;
+ --builddir=*)
+ top_builddir="${1##--builddir=}"
+ ;;
+ --*)
+ echo "Unknown option $1"
+ echo "Usage: "
+ echo " $(basename $0) [options] [<component> ...]"
+ echo "Options:"
+ echo " --force execute demanding tests"
+ echo " --fake do not run, setup tests only"
+ echo " --memcheck run with valgrind"
+ echo " --verbose verbose mode"
+ echo " --nonroot ignore test suite if user is root"
+ echo " --srcdir=<path> autotools top source directory"
+ echo " --builddir=<path> autotools top build directory"
+ echo
+ exit 1
+ ;;
+
+ *)
+ SUBTESTS="$SUBTESTS $1"
+ ;;
+ esac
+ shift
+done
+
+# For compatibility with autotools is necessary to differentiate between source
+# (with test scripts) and build (with temporary files) directories when
+# executed by our build-system.
+#
+# The default is the source tree with this script.
+#
+if [ -z "$top_srcdir" ]; then
+ top_srcdir="$TS_TOPDIR/.."
+fi
+if [ -z "$top_builddir" ]; then
+ top_builddir="$TS_TOPDIR/.."
+fi
+
+OPTS="$OPTS --srcdir=$top_srcdir --builddir=$top_builddir"
+
+if [ -n "$SUBTESTS" ]; then
+ # selected tests only
+ for s in $SUBTESTS; do
+ if [ -d "$top_srcdir/tests/ts/$s" ]; then
+ co=$(find $top_srcdir/tests/ts/$s -type f -perm /a+x -regex ".*/[^\.~]*" | sort)
+ comps="$comps $co"
+ else
+ echo "Unknown test component '$s'"
+ exit 1
+ fi
+ done
+else
+ if [ ! -f "$top_builddir/test_tt" ]; then
+ echo "Tests not compiled! Run 'make check' to fix the problem."
+ exit 1
+ fi
+
+ comps=$(find $top_srcdir/tests/ts/ -type f -perm /a+x -regex ".*/[^\.~]*" | sort)
+fi
+
+
+echo
+echo "-------------------- util-linux regression tests --------------------"
+echo
+echo " For development purpose only. "
+echo " Don't execute on production system! "
+echo
+
+res=0
+count=0
+for ts in $comps; do
+ $ts "$OPTS"
+ res=$(( $res + $? ))
+ count=$(( $count + 1 ))
+done
+
+echo
+echo "---------------------------------------------------------------------"
+if [ $res -eq 0 ]; then
+ echo " All $count tests PASSED"
+ res=0
+else
+ echo " $res tests of $count FAILED"
+ res=1
+fi
+echo "---------------------------------------------------------------------"
+exit $res
diff --git a/tests/ts/bitops/swapbytes b/tests/ts/bitops/swapbytes
new file mode 100755
index 0000000..62e380c
--- /dev/null
+++ b/tests/ts/bitops/swapbytes
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="swap bytes"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+$TS_HELPER_BYTESWAP >> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/blkid/images-fs/adaptec-raid.img.bz2 b/tests/ts/blkid/images-fs/adaptec-raid.img.bz2
new file mode 100644
index 0000000..d3c10d7
--- /dev/null
+++ b/tests/ts/blkid/images-fs/adaptec-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/befs.img.bz2 b/tests/ts/blkid/images-fs/befs.img.bz2
new file mode 100644
index 0000000..f4deaec
--- /dev/null
+++ b/tests/ts/blkid/images-fs/befs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/bfs.img.bz2 b/tests/ts/blkid/images-fs/bfs.img.bz2
new file mode 100644
index 0000000..54df48f
--- /dev/null
+++ b/tests/ts/blkid/images-fs/bfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/cramfs.img.bz2 b/tests/ts/blkid/images-fs/cramfs.img.bz2
new file mode 100644
index 0000000..d638116
--- /dev/null
+++ b/tests/ts/blkid/images-fs/cramfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/ddf-raid.img.bz2 b/tests/ts/blkid/images-fs/ddf-raid.img.bz2
new file mode 100644
index 0000000..b093493
--- /dev/null
+++ b/tests/ts/blkid/images-fs/ddf-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/exfat.img.bz2 b/tests/ts/blkid/images-fs/exfat.img.bz2
new file mode 100644
index 0000000..f96c3f0
--- /dev/null
+++ b/tests/ts/blkid/images-fs/exfat.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/ext2.img.bz2 b/tests/ts/blkid/images-fs/ext2.img.bz2
new file mode 100644
index 0000000..d1811ce
--- /dev/null
+++ b/tests/ts/blkid/images-fs/ext2.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/ext3.img.bz2 b/tests/ts/blkid/images-fs/ext3.img.bz2
new file mode 100644
index 0000000..5394598
--- /dev/null
+++ b/tests/ts/blkid/images-fs/ext3.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/fat.img.bz2 b/tests/ts/blkid/images-fs/fat.img.bz2
new file mode 100644
index 0000000..1fa7f2d
--- /dev/null
+++ b/tests/ts/blkid/images-fs/fat.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/fat16_noheads.img.bz2 b/tests/ts/blkid/images-fs/fat16_noheads.img.bz2
new file mode 100644
index 0000000..4d3d26c
--- /dev/null
+++ b/tests/ts/blkid/images-fs/fat16_noheads.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/fat32_label_64MB.img.bz2 b/tests/ts/blkid/images-fs/fat32_label_64MB.img.bz2
new file mode 100644
index 0000000..ca76293
--- /dev/null
+++ b/tests/ts/blkid/images-fs/fat32_label_64MB.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/gfs2.img.bz2 b/tests/ts/blkid/images-fs/gfs2.img.bz2
new file mode 100644
index 0000000..bab2f90
--- /dev/null
+++ b/tests/ts/blkid/images-fs/gfs2.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/hfs.img.bz2 b/tests/ts/blkid/images-fs/hfs.img.bz2
new file mode 100644
index 0000000..d4fc1ab
--- /dev/null
+++ b/tests/ts/blkid/images-fs/hfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/hfsplus.img.bz2 b/tests/ts/blkid/images-fs/hfsplus.img.bz2
new file mode 100644
index 0000000..b6ad1b9
--- /dev/null
+++ b/tests/ts/blkid/images-fs/hfsplus.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/hpfs.img.bz2 b/tests/ts/blkid/images-fs/hpfs.img.bz2
new file mode 100644
index 0000000..a54e6df
--- /dev/null
+++ b/tests/ts/blkid/images-fs/hpfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/hpt37x-raid.img.bz2 b/tests/ts/blkid/images-fs/hpt37x-raid.img.bz2
new file mode 100644
index 0000000..52e13bb
--- /dev/null
+++ b/tests/ts/blkid/images-fs/hpt37x-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/hpt45x-raid.img.bz2 b/tests/ts/blkid/images-fs/hpt45x-raid.img.bz2
new file mode 100644
index 0000000..1feaa5b
--- /dev/null
+++ b/tests/ts/blkid/images-fs/hpt45x-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/iso-joliet.img.bz2 b/tests/ts/blkid/images-fs/iso-joliet.img.bz2
new file mode 100644
index 0000000..4e43c0b
--- /dev/null
+++ b/tests/ts/blkid/images-fs/iso-joliet.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/iso-rr-joliet.img.bz2 b/tests/ts/blkid/images-fs/iso-rr-joliet.img.bz2
new file mode 100644
index 0000000..97e8b76
--- /dev/null
+++ b/tests/ts/blkid/images-fs/iso-rr-joliet.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/iso.img.bz2 b/tests/ts/blkid/images-fs/iso.img.bz2
new file mode 100644
index 0000000..4389847
--- /dev/null
+++ b/tests/ts/blkid/images-fs/iso.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/isw-raid.img.bz2 b/tests/ts/blkid/images-fs/isw-raid.img.bz2
new file mode 100644
index 0000000..9214c96
--- /dev/null
+++ b/tests/ts/blkid/images-fs/isw-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/jbd.img.bz2 b/tests/ts/blkid/images-fs/jbd.img.bz2
new file mode 100644
index 0000000..e6c4fc4
--- /dev/null
+++ b/tests/ts/blkid/images-fs/jbd.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/jfs.img.bz2 b/tests/ts/blkid/images-fs/jfs.img.bz2
new file mode 100644
index 0000000..1d4d249
--- /dev/null
+++ b/tests/ts/blkid/images-fs/jfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/jmicron-raid.img.bz2 b/tests/ts/blkid/images-fs/jmicron-raid.img.bz2
new file mode 100644
index 0000000..3b4b236
--- /dev/null
+++ b/tests/ts/blkid/images-fs/jmicron-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/lsi-raid.img.bz2 b/tests/ts/blkid/images-fs/lsi-raid.img.bz2
new file mode 100644
index 0000000..ffd75c3
--- /dev/null
+++ b/tests/ts/blkid/images-fs/lsi-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/lvm2.img.bz2 b/tests/ts/blkid/images-fs/lvm2.img.bz2
new file mode 100644
index 0000000..7bb84bf
--- /dev/null
+++ b/tests/ts/blkid/images-fs/lvm2.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/mdraid.img.bz2 b/tests/ts/blkid/images-fs/mdraid.img.bz2
new file mode 100644
index 0000000..d5a67a3
--- /dev/null
+++ b/tests/ts/blkid/images-fs/mdraid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/minix.img.bz2 b/tests/ts/blkid/images-fs/minix.img.bz2
new file mode 100644
index 0000000..d11f3a8
--- /dev/null
+++ b/tests/ts/blkid/images-fs/minix.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/netware.img.bz2 b/tests/ts/blkid/images-fs/netware.img.bz2
new file mode 100644
index 0000000..9c20673
--- /dev/null
+++ b/tests/ts/blkid/images-fs/netware.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/nilfs2.img.bz2 b/tests/ts/blkid/images-fs/nilfs2.img.bz2
new file mode 100644
index 0000000..a9762eb
--- /dev/null
+++ b/tests/ts/blkid/images-fs/nilfs2.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/ntfs.img.bz2 b/tests/ts/blkid/images-fs/ntfs.img.bz2
new file mode 100644
index 0000000..dc1249f
--- /dev/null
+++ b/tests/ts/blkid/images-fs/ntfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/nvidia-raid.img.bz2 b/tests/ts/blkid/images-fs/nvidia-raid.img.bz2
new file mode 100644
index 0000000..21f062e
--- /dev/null
+++ b/tests/ts/blkid/images-fs/nvidia-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/ocfs2.img.bz2 b/tests/ts/blkid/images-fs/ocfs2.img.bz2
new file mode 100644
index 0000000..7e203da
--- /dev/null
+++ b/tests/ts/blkid/images-fs/ocfs2.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/promise-raid.img.bz2 b/tests/ts/blkid/images-fs/promise-raid.img.bz2
new file mode 100644
index 0000000..64a5a08
--- /dev/null
+++ b/tests/ts/blkid/images-fs/promise-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/reiser3.img.bz2 b/tests/ts/blkid/images-fs/reiser3.img.bz2
new file mode 100644
index 0000000..1802bc2
--- /dev/null
+++ b/tests/ts/blkid/images-fs/reiser3.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/reiser4.img.bz2 b/tests/ts/blkid/images-fs/reiser4.img.bz2
new file mode 100644
index 0000000..d07571e
--- /dev/null
+++ b/tests/ts/blkid/images-fs/reiser4.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/romfs.img.bz2 b/tests/ts/blkid/images-fs/romfs.img.bz2
new file mode 100644
index 0000000..f94d77b
--- /dev/null
+++ b/tests/ts/blkid/images-fs/romfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/silicon-raid.img.bz2 b/tests/ts/blkid/images-fs/silicon-raid.img.bz2
new file mode 100644
index 0000000..e3ccbf9
--- /dev/null
+++ b/tests/ts/blkid/images-fs/silicon-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/small-fat32.img.bz2 b/tests/ts/blkid/images-fs/small-fat32.img.bz2
new file mode 100644
index 0000000..8b90f9c
--- /dev/null
+++ b/tests/ts/blkid/images-fs/small-fat32.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/swap0.img.bz2 b/tests/ts/blkid/images-fs/swap0.img.bz2
new file mode 100644
index 0000000..d027b6f
--- /dev/null
+++ b/tests/ts/blkid/images-fs/swap0.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/swap1.img.bz2 b/tests/ts/blkid/images-fs/swap1.img.bz2
new file mode 100644
index 0000000..37adedd
--- /dev/null
+++ b/tests/ts/blkid/images-fs/swap1.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/tuxonice.img.bz2 b/tests/ts/blkid/images-fs/tuxonice.img.bz2
new file mode 100644
index 0000000..a70c95a
--- /dev/null
+++ b/tests/ts/blkid/images-fs/tuxonice.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/ubifs.img.bz2 b/tests/ts/blkid/images-fs/ubifs.img.bz2
new file mode 100644
index 0000000..efba8f7
--- /dev/null
+++ b/tests/ts/blkid/images-fs/ubifs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/udf.img.bz2 b/tests/ts/blkid/images-fs/udf.img.bz2
new file mode 100644
index 0000000..bd2deb0
--- /dev/null
+++ b/tests/ts/blkid/images-fs/udf.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/ufs.img.bz2 b/tests/ts/blkid/images-fs/ufs.img.bz2
new file mode 100644
index 0000000..67abbed
--- /dev/null
+++ b/tests/ts/blkid/images-fs/ufs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/via-raid.img.bz2 b/tests/ts/blkid/images-fs/via-raid.img.bz2
new file mode 100644
index 0000000..9266f5e
--- /dev/null
+++ b/tests/ts/blkid/images-fs/via-raid.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/vmfs.img.bz2 b/tests/ts/blkid/images-fs/vmfs.img.bz2
new file mode 100644
index 0000000..0940143
--- /dev/null
+++ b/tests/ts/blkid/images-fs/vmfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/vmfs_volume.img.bz2 b/tests/ts/blkid/images-fs/vmfs_volume.img.bz2
new file mode 100644
index 0000000..cc0ec66
--- /dev/null
+++ b/tests/ts/blkid/images-fs/vmfs_volume.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/xfs.img.bz2 b/tests/ts/blkid/images-fs/xfs.img.bz2
new file mode 100644
index 0000000..cf6982b
--- /dev/null
+++ b/tests/ts/blkid/images-fs/xfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-fs/zfs.img.bz2 b/tests/ts/blkid/images-fs/zfs.img.bz2
new file mode 100644
index 0000000..dfaaef0
--- /dev/null
+++ b/tests/ts/blkid/images-fs/zfs.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-pt/bsd.img.bz2 b/tests/ts/blkid/images-pt/bsd.img.bz2
new file mode 100644
index 0000000..c4b05e4
--- /dev/null
+++ b/tests/ts/blkid/images-pt/bsd.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-pt/dos+bsd.img.bz2 b/tests/ts/blkid/images-pt/dos+bsd.img.bz2
new file mode 100644
index 0000000..cccdd8a
--- /dev/null
+++ b/tests/ts/blkid/images-pt/dos+bsd.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-pt/gpt.img.bz2 b/tests/ts/blkid/images-pt/gpt.img.bz2
new file mode 100644
index 0000000..df4de7c
--- /dev/null
+++ b/tests/ts/blkid/images-pt/gpt.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-pt/sgi.img.bz2 b/tests/ts/blkid/images-pt/sgi.img.bz2
new file mode 100644
index 0000000..3b1c313
--- /dev/null
+++ b/tests/ts/blkid/images-pt/sgi.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/images-pt/sun.img.bz2 b/tests/ts/blkid/images-pt/sun.img.bz2
new file mode 100644
index 0000000..adf4f02
--- /dev/null
+++ b/tests/ts/blkid/images-pt/sun.img.bz2
Binary files differ
diff --git a/tests/ts/blkid/low-probe b/tests/ts/blkid/low-probe
new file mode 100755
index 0000000..9dc1a17
--- /dev/null
+++ b/tests/ts/blkid/low-probe
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="low-level superblocks probing"
+
+. $TS_TOPDIR/functions.sh
+
+ts_init "$*"
+
+if [ ! -x "$TS_CMD_BLKID" ]; then
+ ts_skip "blkid disabled"
+fi
+
+mkdir -p $TS_OUTDIR/images-fs
+
+for img in $(ls $TS_SELF/images-fs/*.img.bz2 | sort); do
+ name=$(basename $img .img.bz2)
+ outimg=$TS_OUTDIR/images-fs/${name}.img
+
+ ts_init_subtest $name
+
+ bunzip2 < $img > $outimg
+
+ #/lib/udev/vol_id $outimg | egrep -v '[[:alnum:]_]*=$' | sort > $TS_OUTPUT 2>&1
+ $TS_CMD_BLKID -p -o udev $outimg 2>&1 | sort > $TS_OUTPUT
+ ts_finalize_subtest
+done
+
+ts_finalize
+
diff --git a/tests/ts/blkid/lowprobe-pt b/tests/ts/blkid/lowprobe-pt
new file mode 100755
index 0000000..b88dd60
--- /dev/null
+++ b/tests/ts/blkid/lowprobe-pt
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="partitions probing"
+
+. $TS_TOPDIR/functions.sh
+
+ts_init "$*"
+
+if [ ! -x "$TS_HELPER_PARTITIONS" ]; then
+ ts_skip "blkid disabled"
+fi
+
+mkdir -p $TS_OUTDIR/images-pt
+
+for img in $(ls $TS_SELF/images-pt/*.img.bz2 | sort); do
+ name=$(basename $img .img.bz2)
+ outimg=$TS_OUTDIR/images-pt/${name}.img
+
+ ts_init_subtest $name
+
+ bunzip2 < $img > $outimg
+
+ $TS_HELPER_PARTITIONS $outimg &> $TS_OUTPUT
+ ts_finalize_subtest
+done
+
+ts_finalize
+
diff --git a/tests/ts/blkid/md-raid0-whole b/tests/ts/blkid/md-raid0-whole
new file mode 100755
index 0000000..7a55c54
--- /dev/null
+++ b/tests/ts/blkid/md-raid0-whole
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="MD raid0 (whole-disks)"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+[ -x /sbin/mdadm ] || ts_skip "missing mdadm"
+
+set -o pipefail
+
+ts_log "Initialize devices"
+IMGNAME="${TS_OUTDIR}/${TS_TESTNAME}"
+
+DEVICE1=$(ts_device_init 50 ${IMGNAME}1.img)
+[ "$?" == 0 ] || ts_die "Cannot init device1"
+
+DEVICE2=$(ts_device_init 50 ${IMGNAME}2.img)
+[ "$?" == 0 ] || ts_die "Cannot init device2" $DEVICE1
+
+MD_DEVNAME=md8
+MD_DEVICE=/dev/${MD_DEVNAME}
+
+/sbin/mdadm -q -S ${MD_DEVICE} &> /dev/null
+
+ts_log "Create RAID device"
+/sbin/mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 --level=0 \
+ --raid-devices=2 ${DEVICE1} ${DEVICE2} >> $TS_OUTPUT 2>&1
+
+ts_log "Create partitions on RAID device"
+$TS_CMD_FDISK ${MD_DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
+n
+p
+1
+
++10M
+n
+p
+2
+
+
+p
+w
+q
+EOF
+
+sleep 3
+
+ts_log "Probe first RAID member"
+$TS_CMD_BLKID -p -o udev $DEVICE1 2>&1 | sort >> $TS_OUTPUT
+
+ts_log "Probe second RAID member"
+$TS_CMD_BLKID -p -o udev $DEVICE1 2>&1 | sort >> $TS_OUTPUT
+
+ts_log "Stop RAID device"
+/sbin/mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>&1
+
+sleep 3
+
+ts_log "Deinitialize devices"
+ts_device_deinit $DEVICE1
+ts_device_deinit $DEVICE2
+
+ts_fdisk_clean
+# remove generated UUIDs
+sed -i -e 's/ID_FS_UUID.*//g' $TS_OUTPUT
+
+ts_finalize
diff --git a/tests/ts/blkid/md-raid1-part b/tests/ts/blkid/md-raid1-part
new file mode 100755
index 0000000..e13901d
--- /dev/null
+++ b/tests/ts/blkid/md-raid1-part
@@ -0,0 +1,91 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="MD raid1 (last partition)"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+modprobe --dry-run --quiet scsi_debug
+[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+[ -x /sbin/mdadm ] || ts_skip "missing mdadm"
+
+rmmod scsi_debug &> /dev/null
+modprobe scsi_debug dev_size_mb=51 sector_size=512
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+sleep 3
+
+DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
+
+DEVICE="/dev/${DEVNAME}"
+
+ts_log "Create partitions"
+$TS_CMD_FDISK ${DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
+n
+p
+1
+
++25M
+n
+p
+2
+
+
+p
+w
+q
+EOF
+
+sleep 3
+MD_DEVNAME=md8
+MD_DEVICE=/dev/${MD_DEVNAME}
+
+ts_log "Create RAID1 device"
+/sbin/mdadm -q -S ${MD_DEVICE} &> /dev/null
+/sbin/mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 --level=1 \
+ --raid-devices=2 ${DEVICE}1 ${DEVICE}2 >> $TS_OUTPUT 2>&1
+
+sleep 3
+
+ts_log "Probe whole-disk"
+$TS_CMD_BLKID -p -o udev ${DEVICE} 2>&1 | sort >> $TS_OUTPUT
+
+ts_log "Probe first RAID member"
+$TS_CMD_BLKID -p -o udev ${DEVICE}1 2>&1 | sort >> $TS_OUTPUT
+
+ts_log "Probe second RAID member"
+$TS_CMD_BLKID -p -o udev ${DEVICE}2 2>&1 | sort >> $TS_OUTPUT
+
+/sbin/mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>&1
+
+sleep 3
+rmmod scsi_debug
+
+ts_fdisk_clean
+# substitue UUIDs and major/minor number before comparison
+sed -i \
+ -e 's/^\(ID_FS_UUID\)=.*/\1=__ts_uuid__/' \
+ -e 's/^\(ID_FS_UUID_ENC\)=.*/\1=__ts_uuid_enc__/' \
+ -e 's/^\(ID_PART_ENTRY_DISK\)=.*/\1=__ts_majorminor__/' \
+ $TS_OUTPUT
+
+ts_finalize
diff --git a/tests/ts/blkid/md-raid1-whole b/tests/ts/blkid/md-raid1-whole
new file mode 100755
index 0000000..32e17b8
--- /dev/null
+++ b/tests/ts/blkid/md-raid1-whole
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="MD raid1 (whole-disks)"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+[ -x /sbin/mdadm ] || ts_skip "missing mdadm"
+
+set -o pipefail
+
+ts_log "Initialize devices"
+IMGNAME="${TS_OUTDIR}/${TS_TESTNAME}"
+
+DEVICE1=$(ts_device_init 50 ${IMGNAME}1.img)
+[ "$?" == 0 ] || ts_die "Cannot init device1"
+
+DEVICE2=$(ts_device_init 50 ${IMGNAME}2.img)
+[ "$?" == 0 ] || ts_die "Cannot init device2" $DEVICE1
+
+MD_DEVNAME=md8
+MD_DEVICE=/dev/${MD_DEVNAME}
+
+/sbin/mdadm -q -S ${MD_DEVICE} &> /dev/null
+
+ts_log "Create RAID device"
+/sbin/mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 --level=1 \
+ --raid-devices=2 ${DEVICE1} ${DEVICE2} >> $TS_OUTPUT 2>&1
+
+ts_log "Create partitions on RAID device"
+$TS_CMD_FDISK ${MD_DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
+n
+p
+1
+
++10M
+n
+p
+2
+
++10M
+p
+w
+q
+EOF
+
+sleep 3
+
+ts_log "Probe first RAID member"
+$TS_CMD_BLKID -p -o udev $DEVICE1 2>&1 | sort >> $TS_OUTPUT
+
+ts_log "Probe second RAID member"
+$TS_CMD_BLKID -p -o udev $DEVICE1 2>&1 | sort >> $TS_OUTPUT
+
+ts_log "Stop RAID device"
+/sbin/mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>&1
+
+sleep 3
+
+ts_log "Deinitialize devices"
+ts_device_deinit $DEVICE1
+ts_device_deinit $DEVICE2
+
+ts_fdisk_clean
+# remove generated UUIDs
+sed -i -e 's/ID_FS_UUID.*//g' $TS_OUTPUT
+
+ts_finalize
diff --git a/tests/ts/build-sys/config b/tests/ts/build-sys/config
new file mode 100755
index 0000000..e2c2b00
--- /dev/null
+++ b/tests/ts/build-sys/config
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+# Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="config"
+
+# Don't execute this test by default, --force required
+TS_OPTIONAL="yes"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+[ -x /usr/bin/readelf ] || ts_skip "readelf(1) not found"
+[ -x /usr/bin/file ] || ts_skip "file(1) not found"
+
+config_gen_dir="$top_srcdir/tools"
+. $config_gen_dir/config-gen-functions.sh
+
+[ -n "$CFLAGS" ] && export CFLAGS="$CFLAGS"
+
+cd $top_builddir && make -j clean &> /dev/null
+
+for conf in $config_gen_dir/config-gen.d/*.conf; do
+ ts_init_subtest $(basename $conf | sed 's/\.conf//')
+
+ opts=$(ul_get_configuration $conf)
+
+ olddir=$(pwd)
+ cd $top_builddir
+
+ ./configure $opts &> /dev/null
+ make -j &> /dev/null
+
+ bins=$(find . -type f -perm /a+x | sort)
+ for b in $bins; do
+ libs=$(readelf --dynamic $b 2> /dev/null | \
+ awk '/NEEDED/ { print $5 }' | \
+ sed 's:\[::g; s:\..*::g; s:libc::g' | \
+ sort -u | tr '\n' ' ')
+
+ if [ -n "$libs" ]; then
+ echo "$(basename $b): $libs" >> $TS_OUTPUT
+ else
+ fres=$(file $b)
+ case $fres in
+ *statically*)
+ echo "$(basename $b): STATIC" >> $TS_OUTPUT
+ ;;
+ *) # ignore scripts, ...etc.
+ ;;
+ esac
+ fi
+ done
+
+ # clean the tree, but exclude tests/{diff,output} dirs
+ #
+ [ -d tests/diff ] && mv tests/diff tests/diff.save
+ [ -d tests/output ] && mv tests/output tests/output.save
+
+ make -j clean &> /dev/null
+
+ [ -d tests/diff.save ] && mv tests/diff.save tests/diff
+ [ -d tests/output.save ] && mv tests/output.save tests/output
+
+ cd $olddir
+ ts_finalize_subtest
+done
+
+ts_finalize
diff --git a/tests/ts/cal/1m b/tests/ts/cal/1m
new file mode 100755
index 0000000..b4e4b75
--- /dev/null
+++ b/tests/ts/cal/1m
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="1 month"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+MYTIME="27 09 2006"
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+ts_log "Gregorian - Monday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -1m $MYTIME
+fi
+$TS_CMD_CAL -1m $MYTIME >> $TS_OUTPUT
+
+ts_log "Gregorian - Sunday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -1s $MYTIME
+fi
+$TS_CMD_CAL -1s $MYTIME >> $TS_OUTPUT
+
+
+ts_log "Julian - Monday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -1mj $MYTIME
+fi
+$TS_CMD_CAL -1mj $MYTIME >> $TS_OUTPUT
+
+ts_log "Julian - Sunday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -1sj $MYTIME
+fi
+$TS_CMD_CAL -1sj $MYTIME >> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/cal/3m b/tests/ts/cal/3m
new file mode 100755
index 0000000..bf9c222
--- /dev/null
+++ b/tests/ts/cal/3m
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="3 months"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+MYTIME="27 09 2006"
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+ts_log "Gregorian - Monday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -3m $MYTIME
+fi
+$TS_CMD_CAL -3m $MYTIME >> $TS_OUTPUT
+
+ts_log "Gregorian - Sunday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -3s $MYTIME
+fi
+$TS_CMD_CAL -3s $MYTIME >> $TS_OUTPUT
+
+
+ts_log "Julian - Monday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -3mj $MYTIME
+fi
+$TS_CMD_CAL -3mj $MYTIME >> $TS_OUTPUT
+
+ts_log "Julian - Sunday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -3sj $MYTIME
+fi
+$TS_CMD_CAL -3sj $MYTIME >> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/cal/year b/tests/ts/cal/year
new file mode 100755
index 0000000..e1d4d95
--- /dev/null
+++ b/tests/ts/cal/year
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="year"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+MYTIME="29 11 2006"
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+ts_log "Gregorian - Monday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -ym $MYTIME
+fi
+$TS_CMD_CAL -ym $MYTIME >> $TS_OUTPUT
+
+ts_log "Gregorian - Sunday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -ys $MYTIME
+fi
+$TS_CMD_CAL -ys $MYTIME >> $TS_OUTPUT
+
+
+ts_log "Julian - Monday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -ymj $MYTIME
+fi
+$TS_CMD_CAL -ymj $MYTIME >> $TS_OUTPUT
+
+ts_log "Julian - Sunday-based week"
+if [ "$USETERM" == "yes" ]; then
+ $TS_CMD_CAL -ysj $MYTIME
+fi
+$TS_CMD_CAL -ysj $MYTIME >> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/col/multibyte b/tests/ts/col/multibyte
new file mode 100755
index 0000000..7001029
--- /dev/null
+++ b/tests/ts/col/multibyte
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="multibyte input"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+cat $TS_SELF/multibyte.data | $TS_CMD_COL > /dev/null 2> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/col/multibyte.data b/tests/ts/col/multibyte.data
new file mode 100644
index 0000000..b203afd
--- /dev/null
+++ b/tests/ts/col/multibyte.data
@@ -0,0 +1 @@
+Dateiname der Versandhülle
diff --git a/tests/ts/colrm/rm2-2 b/tests/ts/colrm/rm2-2
new file mode 100755
index 0000000..a8419cb
--- /dev/null
+++ b/tests/ts/colrm/rm2-2
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2011 Sami Kerola <kerolasa@iki.fi>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="basic check"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+printf "a b\nc\td\nef\b\tg\n" | $TS_CMD_COLRM 2 2 > $TS_OUTPUT 2>&1
+
+ts_finalize
diff --git a/tests/ts/column/fillrow b/tests/ts/column/fillrow
new file mode 100755
index 0000000..172e858
--- /dev/null
+++ b/tests/ts/column/fillrow
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2011 Sami Kerola <kerolasa@iki.fi>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="fill row"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+cd $TS_OUTDIR
+
+$TS_CMD_COLUMN -x -c 50 $TS_SELF/input >> $TS_OUTPUT 2>&1
+
+ts_finalize
+
diff --git a/tests/ts/column/input b/tests/ts/column/input
new file mode 100644
index 0000000..d3ea4a8
--- /dev/null
+++ b/tests/ts/column/input
@@ -0,0 +1,10 @@
+0 1 2 3 4 5
+0 1 2 3 4 5
+0 1 2 3 4 5
+0 1 2 3 4 5
+0 1 2 3 4 5
+0 1 2 3 4 5
+0 1 2 3 4 5
+0 1 2 3 4 5
+0 1 2 3 4 5
+0 1 2 3 4 5
diff --git a/tests/ts/column/multi-file b/tests/ts/column/multi-file
new file mode 100755
index 0000000..654a1da
--- /dev/null
+++ b/tests/ts/column/multi-file
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2011 Sami Kerola <kerolasa@iki.fi>
+# 2011 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="multiple files"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+cd $TS_OUTDIR
+
+$TS_CMD_COLUMN -x -c 50 $TS_SELF/input \
+ $TS_SELF/input \
+ $TS_SELF/input >> $TS_OUTPUT 2>&1
+
+ts_finalize
+
diff --git a/tests/ts/column/separator_table b/tests/ts/column/separator_table
new file mode 100755
index 0000000..fe6f83c
--- /dev/null
+++ b/tests/ts/column/separator_table
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2011 Sami Kerola <kerolasa@iki.fi>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="separator & table"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+cd $TS_OUTDIR
+
+$TS_CMD_COLUMN -s 2 -t $TS_SELF/input >> $TS_OUTPUT 2>&1
+
+ts_finalize
+
diff --git a/tests/ts/cramfs/cramfs-big.img b/tests/ts/cramfs/cramfs-big.img
new file mode 100644
index 0000000..2ea516e
--- /dev/null
+++ b/tests/ts/cramfs/cramfs-big.img
Binary files differ
diff --git a/tests/ts/cramfs/cramfs-little.img b/tests/ts/cramfs/cramfs-little.img
new file mode 100644
index 0000000..a1dfab5
--- /dev/null
+++ b/tests/ts/cramfs/cramfs-little.img
Binary files differ
diff --git a/tests/ts/cramfs/doubles b/tests/ts/cramfs/doubles
new file mode 100755
index 0000000..ed4e4aa
--- /dev/null
+++ b/tests/ts/cramfs/doubles
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="mkfs doubles"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+ORIGPWD=$(pwd)
+IMAGE_NAME="${TS_TESTNAME}.img"
+IMAGE_PATH="$TS_OUTDIR/$IMAGE_NAME"
+IMAGE_SRC="$TS_OUTDIR/${TS_TESTNAME}-data"
+
+ts_log "create mountpoint dir"
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+mkdir -p $IMAGE_SRC
+echo hello > $IMAGE_SRC/a
+echo hello > $IMAGE_SRC/b
+
+ts_log "create cramfs image"
+$TS_CMD_MKCRAMFS $IMAGE_SRC $IMAGE_PATH 2>&1 >> $TS_OUTPUT
+[ -s "$IMAGE_PATH" ] || ts_die "Cannot create $IMAGE_PATH"
+
+$TS_CMD_MOUNT -r $IMAGE_PATH $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+
+# check it
+ts_is_mounted $TS_MOUNTPOINT || ts_die "Cannot find $TS_MOUNTPOINT in /proc/mounts"
+
+ts_log "umount the image"
+$TS_CMD_UMOUNT $TS_MOUNTPOINT
+ts_finalize
+
diff --git a/tests/ts/cramfs/fsck-endianness b/tests/ts/cramfs/fsck-endianness
new file mode 100755
index 0000000..6a98c9e
--- /dev/null
+++ b/tests/ts/cramfs/fsck-endianness
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="fsck endianness"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+($TS_CMD_FSCKCRAMFS -x TEST_X_FLAG 2>&1 || true) \
+ | grep -q "compiled without -x support" && ts_skip "fsck: compiled without -x support"
+
+IMAGE_LITTLE="$TS_SELF/cramfs-little.img" #Known good little endian image
+IMAGE_BIG="$TS_SELF/cramfs-big.img" #Known good big endian image
+
+IMAGE_CREATED="$TS_OUTDIR/${TS_TESTNAME}-cramfs.img" #Image created during the test and compared against the known images.
+IMAGE_DATA="$TS_OUTDIR/${TS_TESTNAME}-data"
+
+test_image() {
+ local FROM_ENDIANNESS="$1"; shift
+ local TO_ENDIANNESS="$1"; shift
+ local FROM_IMAGE="$1"; shift
+
+ rm -rf "$IMAGE_DATA"
+ ts_log "extract from $FROM_ENDIANNESS endian"
+ $TS_CMD_FSCKCRAMFS -v -x $IMAGE_DATA $FROM_IMAGE | head -n1 | cut -d" " -f4 2>&1 >> $TS_OUTPUT
+
+ ts_log "create $TO_ENDIANNESS endian"
+ $TS_CMD_MKCRAMFS -N "$TO_ENDIANNESS" "$IMAGE_DATA" "$IMAGE_CREATED" 2>&1 >> $TS_OUTPUT
+
+ md5sum $IMAGE_CREATED | cut -d" " -f1 >> $TS_OUTPUT
+
+ rm "$IMAGE_CREATED"
+}
+
+test_image "little" "big" "$IMAGE_LITTLE"
+test_image "big" "little" "$IMAGE_BIG"
+
+ts_finalize
+
diff --git a/tests/ts/cramfs/mkfs b/tests/ts/cramfs/mkfs
new file mode 100755
index 0000000..db9b08c
--- /dev/null
+++ b/tests/ts/cramfs/mkfs
@@ -0,0 +1,95 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="mkfs checksums"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+ORIGPWD=$(pwd)
+IMAGE_NAME="${TS_TESTNAME}-loop.img"
+IMAGE_PATH="$TS_OUTDIR/$IMAGE_NAME"
+IMAGE_SRC="$TS_OUTDIR/${TS_TESTNAME}-data"
+LABEL="testCramfs"
+
+ts_log "create mountpoint dir"
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_log "generate data"
+if [ ! -d "$IMAGE_SRC" ]; then
+ mkdir -p $IMAGE_SRC
+ for d in `seq 0 110`; do
+ DIRNAME="$IMAGE_SRC/$(printf "dir-%03d" $d)"
+ mkdir -p $DIRNAME
+ for f in `seq 0 10`; do
+ FILENAME="$DIRNAME/$(printf "data.%03d" $f)"
+ printf "data in %03d-%03d" $d $f >> $FILENAME
+ done
+ done
+fi
+
+cd $IMAGE_SRC
+
+ts_log "list checksums from original data"
+find -type f -exec md5sum {} \; | sort >> $TS_OUTPUT
+echo >> $TS_OUTPUT
+
+ts_log "create cramfs image"
+$TS_CMD_MKCRAMFS -n $LABEL $IMAGE_SRC $IMAGE_PATH 2>&1 >> $TS_OUTPUT
+[ -s "$IMAGE_PATH" ] || ts_die "Cannot create $IMAGE_PATH"
+
+cd $TS_OUTDIR
+
+ts_log "count MD5 from the image"
+md5sum $IMAGE_NAME 2>&1 | sort >> $TS_OUTPUT
+echo >> $TS_OUTPUT
+
+ts_log "create loop device from image"
+DEVICE=$($TS_CMD_LOSETUP --show -f $IMAGE_PATH)
+
+ts_log "check the image"
+ts_device_has "TYPE" "cramfs" $DEVICE
+[ "$?" == "0" ] || ts_die "Cannot find cramfs on $DEVICE" $DEVICE
+
+ts_log "mount the image"
+$TS_CMD_MOUNT -r -L $LABEL $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+
+# check it
+ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts" $DEVICE
+
+cd $TS_MOUNTPOINT
+
+ts_log "list the image"
+ls -laR --time-style=long-iso . >> $TS_OUTPUT
+echo >> $TS_OUTPUT
+
+ts_log "list checksums from new data"
+find . -type f -exec md5sum {} \; | sort >> $TS_OUTPUT
+echo >> $TS_OUTPUT
+
+cd $ORIGPWD
+
+ts_log "umount the image"
+$TS_CMD_UMOUNT $DEVICE
+$TS_CMD_LOSETUP -d $DEVICE 2>&1 >> $TS_OUTPUT
+ts_finalize
+
diff --git a/tests/ts/cramfs/mkfs-endianness b/tests/ts/cramfs/mkfs-endianness
new file mode 100755
index 0000000..68237c0
--- /dev/null
+++ b/tests/ts/cramfs/mkfs-endianness
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="mkfs endianness"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+IMAGE_DATA="$TS_OUTDIR/${TS_TESTNAME}-data"
+IMAGE_CREATED="$TS_OUTDIR/${TS_TESTNAME}-cramfs.img" #Image created during the test and compared against the known images.
+
+test_image() {
+ local TO_ENDIANNESS="$1"; shift
+ ts_log "create $TO_ENDIANNESS endian"
+
+ $TS_CMD_MKCRAMFS -N "$TO_ENDIANNESS" "$IMAGE_DATA" "$IMAGE_CREATED" 2>&1 >> $TS_OUTPUT
+
+ md5sum $IMAGE_CREATED | cut -d" " -f1 >> $TS_OUTPUT
+
+ rm "$IMAGE_CREATED"
+}
+
+#generate test data
+mkdir -p $IMAGE_DATA/dirA/dirB
+yes "Testing cramfs 1234567890 Endianness check 1234567890 Endianness check" \
+ | dd of=$IMAGE_DATA/dirA/dirB/a bs=512 count=1 &> /dev/null
+yes "Testing cramfs 1234567890 Endianness check 1234567890 Endianness check" \
+ | dd of=$IMAGE_DATA/dirA/dirB/b bs=512 count=30 &> /dev/null
+
+#perform tests for both endians
+test_image "little"
+test_image "big"
+
+ts_finalize
+
diff --git a/tests/ts/eject/umount b/tests/ts/eject/umount
new file mode 100755
index 0000000..3081c1f
--- /dev/null
+++ b/tests/ts/eject/umount
@@ -0,0 +1,111 @@
+#!/bin/bash
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="umount"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+#
+# Note that eject --force is required because scsi_debug is
+# not removable device.
+#
+
+modprobe --dry-run --quiet scsi_debug
+[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+
+rmmod scsi_debug &> /dev/null
+
+function init_device {
+ modprobe scsi_debug dev_size_mb=100
+ [ "$?" == 0 ] || ts_die "Cannot init device"
+
+ sleep 3
+
+ DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
+ [ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
+
+ echo "/dev/${DEVNAME}"
+
+}
+
+function init_partitions {
+ local dev=$1
+
+ ts_log "Create partitions"
+ $TS_CMD_FDISK $dev >> /dev/null 2>&1 <<EOF
+n
+p
+1
+
++50M
+n
+p
+2
+
+
+p
+w
+EOF
+ sleep 1
+ mkfs.ext2 -q ${dev}1
+ mkfs.ext2 -q ${dev}2
+}
+
+function deinit_device {
+ sleep 3
+ rmmod scsi_debug
+}
+
+
+ts_init_subtest "by-disk"
+DEVICE=$(init_device)
+$TS_CMD_EJECT --force $DEVICE && ts_log "Success"
+deinit_device
+ts_finalize_subtest
+
+ts_init_subtest "by-disk-mounted"
+DEVICE=$(init_device)
+mkfs.ext2 -q -F $DEVICE
+mkdir -p $TS_MOUNTPOINT
+mount $DEVICE $TS_MOUNTPOINT
+sleep 1
+$TS_CMD_EJECT --force $DEVICE && ts_log "Success"
+deinit_device
+ts_finalize_subtest
+
+
+ts_init_subtest "by-disk-mounted-partition"
+DEVICE=$(init_device)
+init_partitions $DEVICE
+mkdir -p ${TS_MOUNTPOINT}1
+mkdir -p ${TS_MOUNTPOINT}2
+mount ${DEVICE}1 ${TS_MOUNTPOINT}1
+mount ${DEVICE}2 ${TS_MOUNTPOINT}2
+$TS_CMD_EJECT --force $DEVICE && ts_log "Success"
+deinit_device
+ts_finalize_subtest
+
+
+ts_init_subtest "by-partition"
+DEVICE=$(init_device)
+init_partitions $DEVICE
+$TS_CMD_EJECT --force ${DEVICE}1 && ts_log "Success"
+deinit_device
+ts_finalize_subtest
+
+
+ts_init_subtest "by-partition-mounted"
+DEVICE=$(init_device)
+init_partitions $DEVICE
+mkdir -p ${TS_MOUNTPOINT}1
+mkdir -p ${TS_MOUNTPOINT}2
+mount ${DEVICE}1 ${TS_MOUNTPOINT}1
+mount ${DEVICE}2 ${TS_MOUNTPOINT}2
+$TS_CMD_EJECT --force ${DEVICE}1 && ts_log "Success"
+deinit_device
+ts_finalize_subtest
+
+
+ts_finalize
diff --git a/tests/ts/fdisk/align-512-4K b/tests/ts/fdisk/align-512-4K
new file mode 100755
index 0000000..3d93022
--- /dev/null
+++ b/tests/ts/fdisk/align-512-4K
@@ -0,0 +1,87 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+
+#
+# Test alignment for 512/512 disk *with* topology -- aligned to optimal
+# I/O size (32KiB)
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="align 512/4K"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+modprobe --dry-run --quiet scsi_debug
+[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+
+rmmod scsi_debug &> /dev/null
+modprobe scsi_debug dev_size_mb=50 sector_size=512 physblk_exp=3
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+sleep 3
+
+DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
+
+DEVICE="/dev/${DEVNAME}"
+
+ts_log "Create partitions"
+$TS_CMD_FDISK ${DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
+n
+p
+1
+
++10M
+n
+p
+2
+
++10M
+n
+p
+3
+
++10M
+n
+e
+
+
+n
+
++5M
+n
+
++5M
+n
+
+
+p
+w
+q
+EOF
+
+ts_log "Alignment offsets:"
+cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> $TS_OUTPUT 2>&1
+
+sleep 3
+rmmod scsi_debug
+
+ts_fdisk_clean
+
+ts_finalize
diff --git a/tests/ts/fdisk/align-512-4K-63 b/tests/ts/fdisk/align-512-4K-63
new file mode 100755
index 0000000..7a8e95c
--- /dev/null
+++ b/tests/ts/fdisk/align-512-4K-63
@@ -0,0 +1,87 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+
+#
+# Test alignment for 512/512 disk *with* topology -- aligned to optimal
+# I/O size (32KiB)
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="align 512/4K +alignment_offset"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+modprobe --dry-run --quiet scsi_debug
+[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+
+rmmod scsi_debug &> /dev/null
+modprobe scsi_debug dev_size_mb=50 sector_size=512 physblk_exp=3 lowest_aligned=7
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+sleep 3
+
+DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
+
+DEVICE="/dev/${DEVNAME}"
+
+ts_log "Create partitions"
+$TS_CMD_FDISK ${DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
+n
+p
+1
+
++10M
+n
+p
+2
+
++10M
+n
+p
+3
+
++10M
+n
+e
+
+
+n
+
++5M
+n
+
++5M
+n
+
+
+p
+w
+q
+EOF
+
+ts_log "Alignment offsets:"
+cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> $TS_OUTPUT 2>&1
+
+sleep 3
+rmmod scsi_debug
+
+ts_fdisk_clean
+
+ts_finalize
diff --git a/tests/ts/fdisk/align-512-4K-md b/tests/ts/fdisk/align-512-4K-md
new file mode 100755
index 0000000..f55ee22
--- /dev/null
+++ b/tests/ts/fdisk/align-512-4K-md
@@ -0,0 +1,99 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+
+#
+# Test alignment for 512/512 disk *with* topology -- aligned to optimal
+# I/O size (32KiB)
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="align 512/4K +MD"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+modprobe --dry-run --quiet scsi_debug
+[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+[ -x /sbin/mdadm ] || ts_skip "missing mdadm"
+
+rmmod scsi_debug &> /dev/null
+modprobe scsi_debug dev_size_mb=50 sector_size=512 physblk_exp=3
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+sleep 3
+
+DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
+
+DEVICE="/dev/${DEVNAME}"
+
+ts_log "Create partitions"
+$TS_CMD_FDISK ${DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
+n
+p
+1
+
++20M
+n
+p
+2
+
+
+p
+w
+q
+EOF
+
+ts_log "Alignment offsets:"
+cat /sys/block/${DEVNAME}/${DEVNAME}{1,2}/alignment_offset >> $TS_OUTPUT 2>&1
+
+sleep 3
+MD_DEVNAME=md8
+MD_DEVICE=/dev/${MD_DEVNAME}
+
+/sbin/mdadm -q -S ${MD_DEVICE} &> /dev/null
+/sbin/mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 \
+ --level=0 --raid-devices=2 ${DEVICE}1 ${DEVICE}2 >> $TS_OUTPUT 2>&1
+
+ts_log "Create partitions (MD)"
+$TS_CMD_FDISK ${MD_DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
+n
+p
+1
+
++10M
+n
+p
+2
+
++10M
+p
+w
+q
+EOF
+
+ts_log "Alignment offsets (MD):"
+cat /sys/block/${MD_DEVNAME}/${MD_DEVNAME}p{1,2}/alignment_offset >> $TS_OUTPUT 2>&1
+
+sleep 3
+/sbin/mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>&1
+rmmod scsi_debug
+
+ts_fdisk_clean
+
+ts_finalize
diff --git a/tests/ts/fdisk/align-512-512 b/tests/ts/fdisk/align-512-512
new file mode 100755
index 0000000..82a6268
--- /dev/null
+++ b/tests/ts/fdisk/align-512-512
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+#
+# Test default 1MiB (2048 sectors) alignment for 512/512 disk *without*
+# topology.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="align 512/512"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+DEVICE=$(ts_device_init 50)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+ts_log "Create partitions"
+$TS_CMD_FDISK ${DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
+n
+p
+1
+
++10M
+n
+p
+2
+
++10M
+n
+p
+3
+
++10M
+n
+e
+
+
+n
+
++5M
+n
+
++5M
+n
+
+
+p
+q
+EOF
+
+ts_device_deinit $DEVICE
+
+ts_fdisk_clean
+
+ts_finalize
diff --git a/tests/ts/fdisk/align-512-512-topology b/tests/ts/fdisk/align-512-512-topology
new file mode 100755
index 0000000..ec10fd8
--- /dev/null
+++ b/tests/ts/fdisk/align-512-512-topology
@@ -0,0 +1,87 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+
+#
+# Test alignment for 512/512 disk *with* topology -- aligned to optimal
+# I/O size (32KiB)
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="align 512/512 +topology"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+modprobe --dry-run --quiet scsi_debug
+[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+
+rmmod scsi_debug &> /dev/null
+modprobe scsi_debug dev_size_mb=50 sector_size=512
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+sleep 3
+
+DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
+
+DEVICE="/dev/${DEVNAME}"
+
+ts_log "Create partitions"
+$TS_CMD_FDISK ${DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
+n
+p
+1
+
++10M
+n
+p
+2
+
++10M
+n
+p
+3
+
++10M
+n
+e
+
+
+n
+
++5M
+n
+
++5M
+n
+
+
+p
+w
+q
+EOF
+
+ts_log "Alignment offsets:"
+cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> $TS_OUTPUT 2>&1
+
+sleep 3
+rmmod scsi_debug
+
+ts_fdisk_clean
+
+ts_finalize
diff --git a/tests/ts/fdisk/id b/tests/ts/fdisk/id
new file mode 100755
index 0000000..2c76f42
--- /dev/null
+++ b/tests/ts/fdisk/id
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="MBR - id"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+FDISK_CMD_ID1="x\ni\n0x1\nr\nw\n"
+FDISK_CMD_ID2="x\ni\n0x2\nr\nw\n"
+
+ts_log "Initialize empty image"
+TEST_IMAGE_NAME=$(ts_image_init 10)
+
+ts_log "Create MBR with ID=0x1"
+echo -e "${FDISK_CMD_ID1}" | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+$TS_CMD_FDISK -l ${TEST_IMAGE_NAME} | grep identifier >> $TS_OUTPUT
+
+ts_log "Create MBR with ID=0x2"
+echo -e "${FDISK_CMD_ID2}" | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+$TS_CMD_FDISK -l ${TEST_IMAGE_NAME} | grep identifier >> $TS_OUTPUT
+
+ts_finalize
diff --git a/tests/ts/fdisk/mbr-dos-mode b/tests/ts/fdisk/mbr-dos-mode
new file mode 100755
index 0000000..07b2006
--- /dev/null
+++ b/tests/ts/fdisk/mbr-dos-mode
@@ -0,0 +1,135 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+#
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="MBR - dos mode"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+# cmd to change number of cylinders to 1024 and changes system id to 0x1
+FDISK_CMD_INIT="x\nc\n1024\ni\n0x1\nr\n"
+FDISK_CMD_WRITE_CLOSE="w\nq\n"
+FDISK_CMD_CREATE_DOSLABEL="o\n" #create dos label
+FDISK_CMD_CREATE_PRIMARY="n\np\n1\n\n+1M\n" # create primary partition 1 of size 1MB
+FDISK_CMD_CHANGE_PARTTYPE="t\nbf\n" # change partition type to "bf - solaris", this requires that there is only one partition to change
+FDISK_CMD_SET_ACTIVE="a\n1\n" # set first partition active
+FDISK_CMD_CREATE_EXTENDED="n\ne\n2\n\n+10\n" # create extended partition 2 of size 11 cylinders
+FDISK_CMD_CREATE_LOGICAL="n\nl\n\n+1\n" # create next logical partition of size 2 cyl
+FDISK_CMD_DELETE_LOGICALS="d\n6\nd\n5\nd\n6\d5\n" # delete middle, head, tail, last partitions
+FDISK_CMD_DELETE_PRIMARY="d\n1\n" # delete first primary
+FDISK_CMD_DELETE_EXTENDED="d\n2\n" # delete second primary
+
+#set -x
+
+function print_layout {
+ echo -ne "\n---layout----------" >> $TS_OUTPUT
+ $TS_CMD_FDISK -c=dos -u=cylinders -l ${TEST_IMAGE_NAME} | \
+ sed 's/^.*\.img/__ts_dev__/g;
+ s/^[[:blank:]]*Device Boot/ Device Boot/g' >> $TS_OUTPUT 2>&1
+ echo -ne "-------------------\n\n" >> $TS_OUTPUT
+}
+
+#
+# Note that fdisk will enlarge the disk image (to 57MB) because the logical
+# partitions are out of the original range (10MB).
+#
+ts_log "Initialize empty image"
+TEST_IMAGE_NAME=$(ts_image_init 10)
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+# need to run init twice, to change system ID after new label, otherwise system
+# ID will be random and will screw up md5's
+ts_log "Create new DOS partition table"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_DOSLABEL}${FDISK_CMD_INIT}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Create primary partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Set partition type"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CHANGE_PARTTYPE}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Set primary partition active"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_SET_ACTIVE}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Re-create primary partition"
+echo -e "${FDISK_CMD_INIT}d\n${FDISK_CMD_CREATE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Create extended partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Create logical partitions"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Delete logical partitions"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_LOGICALS}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Create another logical partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Delete primary partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Delete extended partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_finalize
diff --git a/tests/ts/fdisk/mbr-nondos-mode b/tests/ts/fdisk/mbr-nondos-mode
new file mode 100755
index 0000000..119d2c9
--- /dev/null
+++ b/tests/ts/fdisk/mbr-nondos-mode
@@ -0,0 +1,137 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="MBR - non-dos mode"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+# cmd to changes system id to 0x1
+FDISK_CMD_INIT="x\ni\n0x1\nr\n"
+FDISK_CMD_WRITE_CLOSE="w\nq\n"
+FDISK_CMD_CREATE_DOSLABEL="o\n" #create dos label
+FDISK_CMD_CREATE_1PRIMARY="n\np\n\n\n+3M\n" # create primary partition of size 3MiB
+FDISK_CMD_CREATE_2PRIMARY="n\np\n\n\n+2M\n" # create primary partition of size 2MiB
+FDISK_CMD_SET_ACTIVE="a\n1\n" # set first partition active
+FDISK_CMD_CREATE_EXTENDED="n\ne\n\n\n\n" # create extended partition
+FDISK_CMD_CREATE_LOGICAL="n\nl\n\n+2M\n" # create next logical partition of size 10 sectors
+FDISK_CMD_DELETE_LOGICALS="d\n6\nd\n5\nd\n6\d5\n" # delete middle, head, tail, last partitions
+FDISK_CMD_DELETE_1PRIMARY="d\n1\n" # delete first primary
+FDISK_CMD_DELETE_2PRIMARY="d\n2\n" # delete first primary
+FDISK_CMD_DELETE_EXTENDED="d\n3\n" # delete second primary
+
+function print_layout {
+ echo -ne "\n---layout----------" >> $TS_OUTPUT
+ $TS_CMD_FDISK -l ${TEST_IMAGE_NAME} | \
+ sed 's/^.*\.img/__ts_dev__/g;
+ s/^[[:blank:]]*Device Boot/ Device Boot/g' >> $TS_OUTPUT 2>&1
+ echo -ne "-------------------\n\n" >> $TS_OUTPUT
+}
+
+#set -x
+
+ts_log "Initialize empty image"
+TEST_IMAGE_NAME=$(ts_image_init 20) # 20 MiB
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+# need to run init twice, to change system ID after new label, otherwise system
+# ID will be random and will screw up md5's
+ts_log "Create new DOS partition table"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_DOSLABEL}${FDISK_CMD_INIT}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Create 1st primary partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_1PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Set primary partition active"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_SET_ACTIVE}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Re-create 1st primary partition"
+echo -e "${FDISK_CMD_INIT}d\n${FDISK_CMD_CREATE_1PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Create 2nd primary partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_2PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Create extended partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Create logical partitions"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Delete logical partitions"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_LOGICALS}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Create another logical partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Delete primary partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_1PRIMARY}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Delete primary partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_2PRIMARY}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_log "Delete extended partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+print_layout
+
+ts_finalize
diff --git a/tests/ts/fdisk/oddinput b/tests/ts/fdisk/oddinput
new file mode 100755
index 0000000..799eca0
--- /dev/null
+++ b/tests/ts/fdisk/oddinput
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="invalid input tests"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+#set -x
+
+ts_log "Initialize empty image"
+TEST_IMAGE_NAME=$(ts_image_init 10)
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+ts_log "Empty image listing" # this should report empty partition table
+# TEST_IMAGE_NAME has absolute path, and is by definition different on each computer, we need to sed it away
+$TS_CMD_FDISK -c=dos -u=cylinders -l ${TEST_IMAGE_NAME} 2>&1 | sed -e "s/${TEST_IMAGE_NAME//\//\\/}/testimage/" >> $TS_OUTPUT
+
+ts_log "Nonexistant file" # this originally does absolutely nothing
+$TS_CMD_FDISK -c=dos -u=cylinders -l _a_file_that_does_not_exist_ >> $TS_OUTPUT 2>&1
+
+ts_log "Too small file" # same here
+echo "This file is too small" >> oddinput.toosmall
+$TS_CMD_FDISK -c=dos -u=cylinders -l oddinput.toosmall >> $TS_OUTPUT 2>&1
+rm oddinput.toosmall
+ts_finalize
diff --git a/tests/ts/fdisk/sunlabel b/tests/ts/fdisk/sunlabel
new file mode 100755
index 0000000..e1ce4f4
--- /dev/null
+++ b/tests/ts/fdisk/sunlabel
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="sunlabel tests"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+FDISK_CMD_INIT="s\n1\n1\n1024\n" # create new sunlabel
+FDISK_CMD_WRITE_CLOSE="w\nq\n"
+FDISK_CMD_DELETEALL="d\n1\nd\n2\nd\n3\nd\n4\nd\n5\nd\n6\nd\n7\nd\n8\n" # delete all partitions
+
+FDISK_CMD_CREATE_PRIMARY="n\n1\n0\n128\n" # create first partition, cylinders 0 through 128
+FDISK_CMD_TOGGLE_READONLY="a\n1\n" # sets first partition as read-only
+FDISK_CMD_TOGGLE_MOUNTABLE="c\n1\n" # sets first partition as mountable
+FDISK_CMD_CHANGE_SYSID="t\n1\n4\n" # changes sysid to 4 (SunOS usr)
+FDISK_CMD_CREATE_SECONDARY="n\n2\n128\n\n" # create secondary partition cylinders 128 to the end of disk
+
+#set -x
+
+ts_log "Initialize empty image"
+TEST_IMAGE_NAME=$(ts_image_init 10)
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+ts_log "Create new SUN partition table"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETEALL}${FDISK_CMD_WRITE_CLOSE}" \
+ | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+ts_log "Create first partition"
+echo -e "${FDISK_CMD_CREATE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+ts_log "Set partition sysid"
+echo -e "${FDISK_CMD_CHANGE_SYSID}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+ts_log "Set first partition readonly"
+echo -e "${FDISK_CMD_TOGGLE_READONLY}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+ts_log "Set first partition mountable"
+echo -e "${FDISK_CMD_TOGGLE_MOUNTABLE}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+ts_log "Create second partition"
+echo -e "${FDISK_CMD_CREATE_SECONDARY}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+ts_log "Delete all partitions"
+echo -e "${FDISK_CMD_DELETEALL}${FDISK_CMD_WRITE_CLOSE}" | \
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum >> $TS_OUTPUT 2>&1
+
+ts_finalize
diff --git a/tests/ts/fsck/ismounted b/tests/ts/fsck/ismounted
new file mode 100755
index 0000000..6b7f0f7
--- /dev/null
+++ b/tests/ts/fsck/ismounted
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="is mounted"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+> $TS_OUTPUT
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "TYPE" "ext3" $DEVICE || ts_die "Cannot find ext3 on $DEVICE" $DEVICE
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT >> $TS_OUTPUT 2>&1
+
+# test by ismounted.c
+$TS_HELPER_ISMOUNTED $DEVICE | awk '{print $1}' >> $TS_OUTPUT 2>&1
+
+$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_finalize
diff --git a/tests/ts/hwclock/systohc b/tests/ts/hwclock/systohc
new file mode 100755
index 0000000..401ee93
--- /dev/null
+++ b/tests/ts/hwclock/systohc
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="system to hw"
+NTP_SERVER="0.fedora.pool.ntp.org"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+PATH='/usr/sbin:/usr/bin:/sbin:/bin'
+type ntpdate >/dev/null 2>&1 || ts_skip "cannot find ntpdate command"
+
+set -o pipefail
+
+# sync with server
+(ntpdate $NTP_SERVER | sed "s/^.*offset \([0-9.]*\) sec/\1/g") &> /dev/null
+[ "$?" == "1" ] && ts_skip "cannot sync with $NTP_SERVER"
+
+# sync again and check difference
+OFFSET=$( ntpdate $NTP_SERVER 2> /dev/null | sed "s/^.*offset [\-]*\([0-9.]*\) sec/\1/g" )
+[ "$?" == "1" ] && ts_skip "cannot sync with $NTP_SERVER (2nd attempt)"
+
+DIFF=$( echo "$OFFSET > 1" | bc )
+[ "$DIFF" == "1" ] && ts_skip "diff between systime and NTP is greated than 1 second"
+
+# call hwclock
+for i in `seq 0 10`; do
+ #echo "sync #$i"
+ $TS_CMD_HWCLOCK --systohc
+ $TS_CMD_HWCLOCK --hctosys
+done
+
+# sync with NTP and check new difference
+OFFSET=$( ntpdate $NTP_SERVER 2> /dev/null | sed "s/^.*offset [\-]*\([0-9.]*\) sec/\1/g" )
+[ "$?" == "1" ] && ts_skip "cannot sync with $NTP_SERVER (3rd attempt)"
+
+DIFF=$( echo "$OFFSET > 1" | bc )
+[ "$DIFF" == "1" ] && ts_failed "offset is $OFFSET"
+
+ts_ok "offset is $OFFSET"
+
diff --git a/tests/ts/ipcs/functions.sh b/tests/ts/ipcs/functions.sh
new file mode 100644
index 0000000..24ea445
--- /dev/null
+++ b/tests/ts/ipcs/functions.sh
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+PAGE_SIZE=$($TS_HELPER_SYSINFO pagesize)
+
+# kernel files
+IPCS_PROCFILES=(
+ /proc/sys/kernel/shmmni
+ /proc/sys/kernel/shmall
+ /proc/sys/kernel/shmmax
+)
+
+# raw data converted to ipcs-like format
+# shmmni = same
+# shmall = from pages to KBytes
+# shmmax = from bytes to KBytes
+#
+IPCS_KERNEL_CMD=(
+ "cat /proc/sys/kernel/shmmni"
+ "echo \$(cat /proc/sys/kernel/shmall) / 1024 \* $PAGE_SIZE | bc -l | sed 's/\..*//'"
+ "echo \$(cat /proc/sys/kernel/shmmax) / 1024 | bc -l | sed 's/\..*//'"
+)
+
+# data from the ipcs command
+IPCS_CMD=(
+ "$TS_CMD_IPCS -m -l | awk '/max number of segments/ { print \$6 }'"
+ "$TS_CMD_IPCS -m -l | awk '/max total shared memory/ { print \$7 }'"
+ "$TS_CMD_IPCS -m -l | awk '/max seg size/ { print \$6 }'"
+)
+
+
+# The linux kernel accepts ULONG_MAX, but this value is same like ULLONG_MAX on
+# 64-bit archs. So the ipcs command has to always overflow on 64-bit archs when
+# shmall (=num of pages!) is same or almost same like ULONG_MAX. This is reason
+# why we for the test uses 32-bit limits on all archs.
+#
+# (Don't worry that 64-bit ULONG_MAX makes ipcs useless ...
+# ... it's a problem for admins who want to use 75557863725TB of RAM for shm)
+#
+IPCS_LIMITS=(
+ $($TS_HELPER_SYSINFO INT_MAX)
+ $($TS_HELPER_SYSINFO ULONG_MAX32)
+ $($TS_HELPER_SYSINFO ULONG_MAX32)
+)
+
+# list of indexes = 0..(sizeof Array - 1)
+IPCS_IDX=$(seq 0 $(( ${#IPCS_PROCFILES[*]} - 1 )))
+
+# checker
+function ipcs_limits_check {
+ for i in $IPCS_IDX; do
+ echo -n ${IPCS_PROCFILES[$i]}
+
+ a=$(eval ${IPCS_KERNEL_CMD[$i]})
+ b=$(eval ${IPCS_CMD[$i]})
+
+ #echo -n " RAW: "
+ #cat ${IPCS_PROCFILES[$i]}
+ #echo "CMD: ${ICPS_KERNEL_CMD[$i]}"
+
+ if [ x"$a" == x"$b" ]; then
+ echo " OK"
+ else
+ echo " kernel=$a, ipcs=$b"
+ fi
+ done
+}
+
diff --git a/tests/ts/ipcs/headers b/tests/ts/ipcs/headers
new file mode 100755
index 0000000..99b82a3
--- /dev/null
+++ b/tests/ts/ipcs/headers
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="headers"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+ts_log "test: shm headers"
+$TS_CMD_IPCS -m -t | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -m -p | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -m -c | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -m -l | grep "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -m -u | grep "^---" >> $TS_OUTPUT
+echo >> $TS_OUTPUT
+
+ts_log "test: mesg headers"
+$TS_CMD_IPCS -q -t | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -q -p | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -q -c | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -q -l | grep "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -q -u | grep "^---" >> $TS_OUTPUT
+echo >> $TS_OUTPUT
+
+ts_log "test: sem headers"
+$TS_CMD_IPCS -s -t | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -s -p | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -s -c | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -s -l | grep "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -s -u | grep "^---" >> $TS_OUTPUT
+echo >> $TS_OUTPUT
+
+ts_log "test: all headers"
+$TS_CMD_IPCS -a | grep --after-context=1 "^---" >> $TS_OUTPUT
+
+$TS_CMD_IPCS -a -t | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -a -p | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -a -c | grep --after-context=1 "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -a -l | grep "^---" >> $TS_OUTPUT
+$TS_CMD_IPCS -a -u | grep "^---" >> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/ipcs/limits b/tests/ts/ipcs/limits
new file mode 100755
index 0000000..ed6e084
--- /dev/null
+++ b/tests/ts/ipcs/limits
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="limits overflow"
+
+. $TS_TOPDIR/functions.sh
+
+ts_init "$*"
+ts_skip_nonroot
+
+. $TS_SELF/functions.sh
+
+ts_log "load original values"
+for i in $IPCS_IDX; do
+ SHM_ORG[$i]=$(cat ${IPCS_PROCFILES[$i]})
+done >> $TS_OUTPUT
+
+ts_log "check for difference between kernel and IPC"
+ipcs_limits_check >> $TS_OUTPUT
+
+ts_log "maximalize kernel setting"
+for i in $IPCS_IDX; do
+ echo ${IPCS_LIMITS[$i]} >> ${IPCS_PROCFILES[$i]}
+done >> $TS_OUTPUT
+
+ts_log "re-check for difference between kernel and IPC"
+ipcs_limits_check >> $TS_OUTPUT
+
+ts_log "write original values to kernel"
+for i in $IPCS_IDX; do
+ echo ${SHM_ORG[$i]} >> ${IPCS_PROCFILES[$i]}
+done >> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/ipcs/limits2 b/tests/ts/ipcs/limits2
new file mode 100755
index 0000000..acb1749
--- /dev/null
+++ b/tests/ts/ipcs/limits2
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="basic limits"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+. $TS_SELF/functions.sh
+
+ts_log "check for difference between kernel and IPC"
+ipcs_limits_check >> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/libmount/context b/tests/ts/libmount/context
new file mode 100755
index 0000000..c8f2850
--- /dev/null
+++ b/tests/ts/libmount/context
@@ -0,0 +1,133 @@
+#!/bin/bash
+
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="context"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+TESTPROG="$TS_HELPER_LIBMOUNT_CONTEXT"
+LABEL=libmount-test
+UUID=$(uuidgen)
+MOUNTPOINT="$TS_MOUNTPOINT"
+
+#set -x
+
+[ -x $TESTPROG ] || ts_skip "test not compiled"
+
+modprobe --dry-run --quiet scsi_debug
+[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+
+ts_log "Init device"
+umount $MOUNTPOINT &> /dev/null
+rmmod scsi_debug &> /dev/null
+modprobe scsi_debug dev_size_mb=100
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+sleep 3
+
+DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
+
+DEVICE="/dev/${DEVNAME}"
+
+ts_log "Create partitions"
+$TS_CMD_FDISK ${DEVICE} >> /dev/null 2>&1 <<EOF
+n
+p
+1
+
+
+w
+q
+EOF
+
+DEVICE="/dev/${DEVNAME}1"
+
+sleep 3
+
+ts_log "Create filesystem"
+mkfs.ext4 -L "$LABEL" -U "$UUID" $DEVICE &> /dev/null
+
+ts_log "Do tests..."
+
+export LIBMOUNT_MTAB=$TS_OUTPUT.mtab
+> $LIBMOUNT_MTAB
+
+
+ts_init_subtest "mount-by-devname"
+mkdir -p $MOUNTPOINT &> /dev/null
+ts_valgrind $TESTPROG --mount $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1
+
+grep -q $DEVICE $LIBMOUNT_MTAB || \
+ echo "(by device) cannot find $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+ts_init_subtest "umount-by-devname"
+ts_valgrind $TESTPROG --umount $DEVICE >> $TS_OUTPUT 2>&1
+grep -q $DEVICE $LIBMOUNT_MTAB &&
+ echo "umount (device) failed: found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+#exit 1
+
+ts_init_subtest "mount-by-label"
+mkdir -p $MOUNTPOINT &> /dev/null
+ts_valgrind $TESTPROG --mount LABEL="$LABEL" $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $DEVICE $LIBMOUNT_MTAB || \
+ echo "(by label) cannot find $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+
+ts_init_subtest "umount-by-mountpoint"
+ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $DEVICE $LIBMOUNT_MTAB && \
+ echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+
+ts_init_subtest "mount-by-uuid"
+mkdir -p $MOUNTPOINT &> /dev/null
+ts_valgrind $TESTPROG --mount UUID="$UUID" $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $DEVICE $LIBMOUNT_MTAB || \
+ echo "(by uuid) cannot find $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $DEVICE $LIBMOUNT_MTAB &&
+ echo "umount failed: found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+
+ts_init_subtest "mount-flags"
+mkdir -p $MOUNTPOINT &> /dev/null
+ts_valgrind $TESTPROG --mount -o ro,noexec,nosuid,strictatime $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1
+$TS_CMD_FINDMNT --kernel $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>&1
+grep -q $DEVICE $LIBMOUNT_MTAB || \
+ echo "cannot find $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+
+ts_valgrind $TESTPROG --mount -o remount,rw $MOUNTPOINT >> $TS_OUTPUT 2>&1
+$TS_CMD_FINDMNT --kernel $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>&1
+
+ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $DEVICE $LIBMOUNT_MTAB &&
+ echo "umount failed: found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+
+ts_init_subtest "mount-loopdev"
+mkdir -p $MOUNTPOINT &> /dev/null
+img=$(ts_image_init)
+mkfs.ext3 -F $img &> /dev/null
+ts_valgrind $TESTPROG --mount -o loop $img $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $MOUNTPOINT $LIBMOUNT_MTAB || \
+ echo "(loopdev) cannot find $MOUNTPOINT in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $MOUNTPOINT $LIBMOUNT_MTAB &&
+ echo "umount failed: found $MOUNTPOINT in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+ts_log "...done."
+rmmod scsi_debug
+ts_finalize
diff --git a/tests/ts/libmount/context-utab b/tests/ts/libmount/context-utab
new file mode 100755
index 0000000..4c1d117
--- /dev/null
+++ b/tests/ts/libmount/context-utab
@@ -0,0 +1,125 @@
+#!/bin/bash
+
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="context (utab)"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+TESTPROG="$TS_HELPER_LIBMOUNT_CONTEXT"
+LABEL=libmount-test
+UUID=$(uuidgen)
+MOUNTPOINT="$TS_MOUNTPOINT"
+
+[ -x $TESTPROG ] || ts_skip "test not compiled"
+
+modprobe --dry-run --quiet scsi_debug
+[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+
+ts_log "Init device"
+rmmod scsi_debug &> /dev/null
+modprobe scsi_debug dev_size_mb=260
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+sleep 3
+
+DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
+
+DEVICE="/dev/${DEVNAME}"
+
+ts_log "Create partitions"
+$TS_CMD_FDISK ${DEVICE} >> /dev/null 2>&1 <<EOF
+n
+p
+1
+
+
+w
+q
+EOF
+
+DEVICE="/dev/${DEVNAME}1"
+
+sleep 3
+
+ts_log "Create filesystem"
+mkfs.ext4 -L "$LABEL" -U "$UUID" $DEVICE &> /dev/null
+
+ts_log "Do tests..."
+
+export LIBMOUNT_MTAB=$TS_OUTPUT.mtab
+rm -f $LIBMOUNT_MTAB
+ln -s /proc/mounts $LIBMOUNT_MTAB
+
+export LIBMOUNT_UTAB=$TS_OUTPUT.utab
+rm -f $LIBMOUNT_UTAB
+> $LIBMOUNT_UTAB
+
+
+ts_init_subtest "mount-by-devname"
+mkdir -p $MOUNTPOINT &> /dev/null
+ts_valgrind $TESTPROG --mount $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $DEVICE /proc/mounts || \
+ echo "(by device) cannot find $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+sleep 1
+
+ts_init_subtest "umount-by-devname"
+ts_valgrind $TESTPROG --umount $DEVICE >> $TS_OUTPUT 2>&1
+grep -q $DEVICE /proc/mounts &&
+ echo "umount (device) failed: found $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+
+ts_init_subtest "mount-uhelper"
+mkdir -p $MOUNTPOINT &> /dev/null
+ts_valgrind $TESTPROG --mount -o uhelper=foo,rw LABEL="$LABEL" $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $DEVICE $LIBMOUNT_UTAB || \
+ echo "(by label) cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+sleep 1
+
+ts_init_subtest "umount"
+ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1
+grep -q $DEVICE $LIBMOUNT_UTAB && \
+ echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+if [ -x "/sbin/mkfs.btrfs" ]; then
+ ts_log "Create filesystem [btrfs]"
+ /sbin/mkfs.btrfs -L "$LABEL" $DEVICE &> /dev/null
+ mount -t btrfs $DEVICE $MOUNTPOINT &> /dev/null
+ /sbin/btrfsctl -S sub $MOUNTPOINT &> /dev/null
+ umount $MOUNTPOINT &> /dev/null
+
+ sleep 1
+
+ ts_init_subtest "mount-uhelper-subvol"
+ mkdir -p $MOUNTPOINT &> /dev/null
+ ts_valgrind $TESTPROG --mount -o uhelper=foo,rw,subvol=sub $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1
+ grep -q $DEVICE $LIBMOUNT_UTAB || \
+ echo "cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1
+ ts_finalize_subtest
+
+ ts_log "All mount options (btrfs subvolume + utab) ---"
+ $TS_CMD_FINDMNT --mtab $MOUNTPOINT -o OPTIONS -n >> $TS_OUTPUT 2>&1
+ ts_log "---"
+
+ sleep 1
+
+ ts_init_subtest "umount-subvol"
+ ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1
+ grep -q $DEVICE $LIBMOUNT_UTAB && \
+ echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1
+ ts_finalize_subtest
+fi
+
+ts_log "...done."
+rmmod scsi_debug
+ts_finalize
diff --git a/tests/ts/libmount/files/fstab b/tests/ts/libmount/files/fstab
new file mode 100644
index 0000000..a8f73bc
--- /dev/null
+++ b/tests/ts/libmount/files/fstab
@@ -0,0 +1,14 @@
+UUID=d3a8f783-df75-4dc8-9163-975a891052c0 / ext3 noatime,defaults 1 1
+UUID=fef7ccb3-821c-4de8-88dc-71472be5946f /boot ext3 noatime,defaults 1 2
+UUID=1f2aa318-9c34-462e-8d29-260819ffd657 swap swap defaults 0 0
+tmpfs /dev/shm tmpfs defaults 0 0
+devpts /dev/pts devpts gid=5,mode=620 0 0
+sysfs /sys sysfs defaults 0 0
+proc /proc proc defaults 0 0
+# this is comment
+/dev/mapper/foo /home/foo ext4 noatime,defaults 0 0
+
+foo.com:/mnt/share /mnt/remote nfs noauto
+//bar.com/gogogo /mnt/gogogo cifs user=SRGROUP/baby,noauto
+
+/dev/foo /any/foo/ auto defaults 0 0
diff --git a/tests/ts/libmount/files/fstab.broken b/tests/ts/libmount/files/fstab.broken
new file mode 100644
index 0000000..c79f026
--- /dev/null
+++ b/tests/ts/libmount/files/fstab.broken
@@ -0,0 +1,14 @@
+bug
+UUID=d3a8f783-df75-4dc8-9163-975a891052c0 / ext3 noatime,defaults 1 1
+UUID=fef7ccb3-821c-4de8-88dc-71472be5946f /boot ext3 noatime,defaults 1 2
+ UUID=1f2aa318-9c34-462e-8d29-260819ffd657 swap swap defaults 0 0
+tmpfs /dev/shm tmpfs defaults 0 0
+devpts /dev/pts devpts gid=5,mode=620
+ sysfs /sys sysfs defaults 0 0
+this is broken line with unexpected number of fields
+proc /proc proc defaults 0 0
+# this is comment
+/dev/mapper/foo /home/foo ext4 noatime,defaults 1
+
+foo.com:/mnt/share /mnt/remote nfs noauto
+//bar.com/gogogo /mnt/gogogo cifs user=SRGROUP/baby,noauto
diff --git a/tests/ts/libmount/files/mountinfo b/tests/ts/libmount/files/mountinfo
new file mode 100644
index 0000000..ff1e664
--- /dev/null
+++ b/tests/ts/libmount/files/mountinfo
@@ -0,0 +1,32 @@
+15 20 0:3 / /proc rw,relatime - proc /proc rw
+16 20 0:15 / /sys rw,relatime - sysfs /sys rw
+17 20 0:5 / /dev rw,relatime - devtmpfs udev rw,size=1983516k,nr_inodes=495879,mode=755
+18 17 0:10 / /dev/pts rw,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=000
+19 17 0:16 / /dev/shm rw,relatime - tmpfs tmpfs rw
+20 1 8:4 / / rw,noatime - ext3 /dev/sda4 rw,errors=continue,user_xattr,acl,barrier=0,data=ordered
+21 16 0:17 / /sys/fs/cgroup rw,nosuid,nodev,noexec,relatime - tmpfs tmpfs rw,mode=755
+22 21 0:18 / /sys/fs/cgroup/systemd rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd
+23 21 0:19 / /sys/fs/cgroup/cpuset rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpuset
+24 21 0:20 / /sys/fs/cgroup/ns rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,ns
+25 21 0:21 / /sys/fs/cgroup/cpu rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpu
+26 21 0:22 / /sys/fs/cgroup/cpuacct rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpuacct
+27 21 0:23 / /sys/fs/cgroup/memory rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,memory
+28 21 0:24 / /sys/fs/cgroup/devices rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,devices
+29 21 0:25 / /sys/fs/cgroup/freezer rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,freezer
+30 21 0:26 / /sys/fs/cgroup/net_cls rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,net_cls
+31 21 0:27 / /sys/fs/cgroup/blkio rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,blkio
+32 16 0:28 / /sys/kernel/security rw,relatime - autofs systemd-1 rw,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+33 17 0:29 / /dev/hugepages rw,relatime - autofs systemd-1 rw,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+34 16 0:30 / /sys/kernel/debug rw,relatime - autofs systemd-1 rw,fd=24,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+35 15 0:31 / /proc/sys/fs/binfmt_misc rw,relatime - autofs systemd-1 rw,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+36 17 0:32 / /dev/mqueue rw,relatime - autofs systemd-1 rw,fd=26,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+37 15 0:14 / /proc/bus/usb rw,relatime - usbfs /proc/bus/usb rw
+38 33 0:33 / /dev/hugepages rw,relatime - hugetlbfs hugetlbfs rw
+39 36 0:12 / /dev/mqueue rw,relatime - mqueue mqueue rw
+40 20 8:6 / /boot rw,noatime - ext3 /dev/sda6 rw,errors=continue,barrier=0,data=ordered
+41 20 253:0 / /home/kzak rw,noatime - ext4 /dev/mapper/kzak-home rw,barrier=1,data=ordered
+42 35 0:34 / /proc/sys/fs/binfmt_misc rw,relatime - binfmt_misc none rw
+43 16 0:35 / /sys/fs/fuse/connections rw,relatime - fusectl fusectl rw
+44 41 0:36 / /home/kzak/.gvfs rw,nosuid,nodev,relatime - fuse.gvfs-fuse-daemon gvfs-fuse-daemon rw,user_id=500,group_id=500
+45 20 0:37 / /var/lib/nfs/rpc_pipefs rw,relatime - rpc_pipefs sunrpc rw
+47 20 0:38 / /mnt/sounds rw,relatime - cifs //foo.home/bar/ rw,unc=\\foo.home\bar,username=kzak,domain=SRGROUP,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.111.1,posixpaths,serverino,acl,rsize=16384,wsize=57344
diff --git a/tests/ts/libmount/files/mountinfo_mv b/tests/ts/libmount/files/mountinfo_mv
new file mode 100644
index 0000000..3d55aff
--- /dev/null
+++ b/tests/ts/libmount/files/mountinfo_mv
@@ -0,0 +1,32 @@
+15 20 0:3 / /proc rw,relatime - proc /proc rw
+16 20 0:15 / /sys rw,relatime - sysfs /sys rw
+17 20 0:5 / /dev rw,relatime - devtmpfs udev rw,size=1983516k,nr_inodes=495879,mode=755
+18 17 0:10 / /dev/pts rw,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=000
+19 17 0:16 / /dev/shm rw,relatime - tmpfs tmpfs rw
+20 1 8:4 / / rw,noatime - ext3 /dev/sda4 rw,errors=continue,user_xattr,acl,barrier=0,data=ordered
+21 16 0:17 / /sys/fs/cgroup rw,nosuid,nodev,noexec,relatime - tmpfs tmpfs rw,mode=755
+22 21 0:18 / /sys/fs/cgroup/systemd rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd
+23 21 0:19 / /sys/fs/cgroup/cpuset rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpuset
+24 21 0:20 / /sys/fs/cgroup/ns rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,ns
+25 21 0:21 / /sys/fs/cgroup/cpu rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpu
+26 21 0:22 / /sys/fs/cgroup/cpuacct rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpuacct
+27 21 0:23 / /sys/fs/cgroup/memory rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,memory
+28 21 0:24 / /sys/fs/cgroup/devices rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,devices
+29 21 0:25 / /sys/fs/cgroup/freezer rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,freezer
+30 21 0:26 / /sys/fs/cgroup/net_cls rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,net_cls
+31 21 0:27 / /sys/fs/cgroup/blkio rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,blkio
+32 16 0:28 / /sys/kernel/security rw,relatime - autofs systemd-1 rw,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+33 17 0:29 / /dev/hugepages rw,relatime - autofs systemd-1 rw,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+34 16 0:30 / /sys/kernel/debug rw,relatime - autofs systemd-1 rw,fd=24,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+35 15 0:31 / /proc/sys/fs/binfmt_misc rw,relatime - autofs systemd-1 rw,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+36 17 0:32 / /dev/mqueue rw,relatime - autofs systemd-1 rw,fd=26,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+37 15 0:14 / /proc/bus/usb rw,relatime - usbfs /proc/bus/usb rw
+38 33 0:33 / /dev/hugepages rw,relatime - hugetlbfs hugetlbfs rw
+39 36 0:12 / /dev/mqueue rw,relatime - mqueue mqueue rw
+40 20 8:6 / /boot rw,noatime - ext3 /dev/sda6 rw,errors=continue,barrier=0,data=ordered
+41 20 253:0 / /home/kzak rw,noatime - ext4 /dev/mapper/kzak-home rw,barrier=1,data=ordered
+42 35 0:34 / /proc/sys/fs/binfmt_misc rw,relatime - binfmt_misc none rw
+43 16 0:35 / /sys/fs/fuse/connections rw,relatime - fusectl fusectl rw
+44 41 0:36 / /home/kzak/.gvfs rw,nosuid,nodev,relatime - fuse.gvfs-fuse-daemon gvfs-fuse-daemon rw,user_id=500,group_id=500
+45 20 0:37 / /var/lib/nfs/rpc_pipefs rw,relatime - rpc_pipefs sunrpc rw
+47 20 0:38 / /mnt/music rw,relatime - cifs //foo.home/bar/ rw,unc=\\foo.home\bar,username=kzak,domain=SRGROUP,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.111.1,posixpaths,serverino,acl,rsize=16384,wsize=57344
diff --git a/tests/ts/libmount/files/mountinfo_re b/tests/ts/libmount/files/mountinfo_re
new file mode 100644
index 0000000..df379fa
--- /dev/null
+++ b/tests/ts/libmount/files/mountinfo_re
@@ -0,0 +1,32 @@
+15 20 0:3 / /proc rw,relatime - proc /proc rw
+16 20 0:15 / /sys rw,relatime - sysfs /sys rw
+17 20 0:5 / /dev rw,relatime - devtmpfs udev rw,size=1983516k,nr_inodes=495879,mode=755
+18 17 0:10 / /dev/pts rw,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=000
+19 17 0:16 / /dev/shm rw,relatime - tmpfs tmpfs rw
+20 1 8:4 / / rw,noatime - ext3 /dev/sda4 rw,errors=continue,user_xattr,acl,barrier=0,data=ordered
+21 16 0:17 / /sys/fs/cgroup rw,nosuid,nodev,noexec,relatime - tmpfs tmpfs rw,mode=755
+22 21 0:18 / /sys/fs/cgroup/systemd rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd
+23 21 0:19 / /sys/fs/cgroup/cpuset rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpuset
+24 21 0:20 / /sys/fs/cgroup/ns rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,ns
+25 21 0:21 / /sys/fs/cgroup/cpu rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpu
+26 21 0:22 / /sys/fs/cgroup/cpuacct rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpuacct
+27 21 0:23 / /sys/fs/cgroup/memory rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,memory
+28 21 0:24 / /sys/fs/cgroup/devices rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,devices
+29 21 0:25 / /sys/fs/cgroup/freezer rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,freezer
+30 21 0:26 / /sys/fs/cgroup/net_cls rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,net_cls
+31 21 0:27 / /sys/fs/cgroup/blkio rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,blkio
+32 16 0:28 / /sys/kernel/security rw,relatime - autofs systemd-1 rw,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+33 17 0:29 / /dev/hugepages rw,relatime - autofs systemd-1 rw,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+34 16 0:30 / /sys/kernel/debug rw,relatime - autofs systemd-1 rw,fd=24,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+35 15 0:31 / /proc/sys/fs/binfmt_misc rw,relatime - autofs systemd-1 rw,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+36 17 0:32 / /dev/mqueue rw,relatime - autofs systemd-1 rw,fd=26,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+37 15 0:14 / /proc/bus/usb rw,relatime - usbfs /proc/bus/usb rw
+38 33 0:33 / /dev/hugepages rw,relatime - hugetlbfs hugetlbfs rw
+39 36 0:12 / /dev/mqueue rw,relatime - mqueue mqueue rw
+40 20 8:6 / /boot rw,noatime - ext3 /dev/sda6 rw,errors=continue,barrier=0,data=ordered
+41 20 253:0 / /home/kzak ro,noatime - ext4 /dev/mapper/kzak-home rw,barrier=1,data=ordered
+42 35 0:34 / /proc/sys/fs/binfmt_misc rw,relatime - binfmt_misc none rw
+43 16 0:35 / /sys/fs/fuse/connections rw,relatime - fusectl fusectl rw
+44 41 0:36 / /home/kzak/.gvfs rw,nosuid,nodev,relatime - fuse.gvfs-fuse-daemon gvfs-fuse-daemon rw,user_id=500,group_id=500
+45 20 0:37 / /var/lib/nfs/rpc_pipefs rw,relatime - rpc_pipefs sunrpc rw
+47 20 0:38 / /mnt/sounds rw,relatime - cifs //foo.home/bar/ ro,unc=\\foo.home\bar,username=kzak,domain=SRGROUP,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.111.1,posixpaths,serverino,acl,rsize=16384,wsize=57344
diff --git a/tests/ts/libmount/files/mountinfo_u b/tests/ts/libmount/files/mountinfo_u
new file mode 100644
index 0000000..a3dde97
--- /dev/null
+++ b/tests/ts/libmount/files/mountinfo_u
@@ -0,0 +1,31 @@
+15 20 0:3 / /proc rw,relatime - proc /proc rw
+16 20 0:15 / /sys rw,relatime - sysfs /sys rw
+17 20 0:5 / /dev rw,relatime - devtmpfs udev rw,size=1983516k,nr_inodes=495879,mode=755
+18 17 0:10 / /dev/pts rw,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=000
+19 17 0:16 / /dev/shm rw,relatime - tmpfs tmpfs rw
+20 1 8:4 / / rw,noatime - ext3 /dev/sda4 rw,errors=continue,user_xattr,acl,barrier=0,data=ordered
+21 16 0:17 / /sys/fs/cgroup rw,nosuid,nodev,noexec,relatime - tmpfs tmpfs rw,mode=755
+22 21 0:18 / /sys/fs/cgroup/systemd rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd
+23 21 0:19 / /sys/fs/cgroup/cpuset rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpuset
+24 21 0:20 / /sys/fs/cgroup/ns rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,ns
+25 21 0:21 / /sys/fs/cgroup/cpu rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpu
+26 21 0:22 / /sys/fs/cgroup/cpuacct rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,cpuacct
+27 21 0:23 / /sys/fs/cgroup/memory rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,memory
+28 21 0:24 / /sys/fs/cgroup/devices rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,devices
+29 21 0:25 / /sys/fs/cgroup/freezer rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,freezer
+30 21 0:26 / /sys/fs/cgroup/net_cls rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,net_cls
+31 21 0:27 / /sys/fs/cgroup/blkio rw,nosuid,nodev,noexec,relatime - cgroup cgroup rw,blkio
+32 16 0:28 / /sys/kernel/security rw,relatime - autofs systemd-1 rw,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+33 17 0:29 / /dev/hugepages rw,relatime - autofs systemd-1 rw,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+34 16 0:30 / /sys/kernel/debug rw,relatime - autofs systemd-1 rw,fd=24,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+35 15 0:31 / /proc/sys/fs/binfmt_misc rw,relatime - autofs systemd-1 rw,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+36 17 0:32 / /dev/mqueue rw,relatime - autofs systemd-1 rw,fd=26,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
+37 15 0:14 / /proc/bus/usb rw,relatime - usbfs /proc/bus/usb rw
+38 33 0:33 / /dev/hugepages rw,relatime - hugetlbfs hugetlbfs rw
+39 36 0:12 / /dev/mqueue rw,relatime - mqueue mqueue rw
+40 20 8:6 / /boot rw,noatime - ext3 /dev/sda6 rw,errors=continue,barrier=0,data=ordered
+42 35 0:34 / /proc/sys/fs/binfmt_misc rw,relatime - binfmt_misc none rw
+43 16 0:35 / /sys/fs/fuse/connections rw,relatime - fusectl fusectl rw
+44 41 0:36 / /home/kzak/.gvfs rw,nosuid,nodev,relatime - fuse.gvfs-fuse-daemon gvfs-fuse-daemon rw,user_id=500,group_id=500
+45 20 0:37 / /var/lib/nfs/rpc_pipefs rw,relatime - rpc_pipefs sunrpc rw
+47 20 0:38 / /mnt/sounds rw,relatime - cifs //foo.home/bar/ rw,unc=\\foo.home\bar,username=kzak,domain=SRGROUP,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.111.1,posixpaths,serverino,acl,rsize=16384,wsize=57344
diff --git a/tests/ts/libmount/files/mtab b/tests/ts/libmount/files/mtab
new file mode 100644
index 0000000..2de255b
--- /dev/null
+++ b/tests/ts/libmount/files/mtab
@@ -0,0 +1,11 @@
+/dev/sda4 / ext3 rw,noatime 0 0
+proc /proc proc rw 0 0
+sysfs /sys sysfs rw 0 0
+devpts /dev/pts devpts rw,gid=5,mode=620 0 0
+tmpfs /dev/shm tmpfs rw 0 0
+/dev/sda6 /boot ext3 rw,noatime 0 0
+/dev/mapper/kzak-home /home/kzak ext4 rw,noatime 0 0
+none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
+fusectl /sys/fs/fuse/connections fusectl rw 0 0
+gvfs-fuse-daemon /home/kzak/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=kzak 0 0
+sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
diff --git a/tests/ts/libmount/lock b/tests/ts/libmount/lock
new file mode 100755
index 0000000..5c8bcb6
--- /dev/null
+++ b/tests/ts/libmount/lock
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="lock"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+TESTPROG="$TS_HELPER_LIBMOUNT_LOCK"
+
+[ -x $TESTPROG ] || ts_skip "test not compiled"
+
+#
+# Be careful with number of processes. Don't forget that there is time limit
+# when the mount waits on the mtab lock. If you define too much processes some
+# of them will fail with timeout.
+#
+# Note: the original version (< 2.13) of util-linux is completely useless for
+# this test (maximum for this old version is NLOOPS=10 and NPROCESSES=5 (2-way
+# 2GHz machine)). It has terrible performance due a bad timeouts implemntation
+# in lock_mtab().
+#
+NLOOPS=1000
+NPROCESSES=50
+
+
+> $TS_OUTPUT.debug
+echo 0 > $TS_OUTPUT
+SYNCTIME=$(( $(date +%s) + 5 ))
+
+for id in $(seq 0 $(( $NPROCESSES - 1 ))); do
+ ts_valgrind $TESTPROG --lock --synctime $SYNCTIME $TS_OUTPUT $NLOOPS >> $TS_OUTPUT.debug 2>&1 &
+done
+
+wait
+
+ts_finalize
diff --git a/tests/ts/libmount/optstr b/tests/ts/libmount/optstr
new file mode 100755
index 0000000..f6a5c05
--- /dev/null
+++ b/tests/ts/libmount/optstr
@@ -0,0 +1,95 @@
+#!/bin/bash
+
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="options string"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+TESTPROG="$TS_HELPER_LIBMOUNT_OPTSTR"
+
+[ -x $TESTPROG ] || ts_skip "test not compiled"
+
+ts_init_subtest "append"
+ts_valgrind $TESTPROG --append "aaa,bbb=BBB,context=\"foo,bar,gogo\",ccc" "ddd" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "append-value"
+ts_valgrind $TESTPROG --append "aaa,bbb=BBB,ccc" "ddd" "DDD" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "prepend"
+ts_valgrind $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "prepend-value"
+ts_valgrind $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" "DDD" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "set-remove"
+ts_valgrind $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "set-small"
+ts_valgrind $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "X" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "set-large"
+ts_valgrind $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "XXX-YYY-ZZZ" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "set-new"
+ts_valgrind $TESTPROG --set "aaa,bbb=BBB,ccc" "aaa" "XXX" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "set-new-end"
+ts_valgrind $TESTPROG --set "aaa,bbb=BBB,ccc" "ccc" "XXX" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "get"
+ts_valgrind $TESTPROG --get "aaa,bbb=BBB,ccc" "aaa" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "get-value"
+ts_valgrind $TESTPROG --get "aaa,bbb=BBB,ccc" "bbb" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "remove"
+ts_valgrind $TESTPROG --remove "aaa,bbb=BBB,ccc" "aaa" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "remove-quoted"
+ts_valgrind $TESTPROG --remove "aaa,context=\"foo,bar,gogo\",bbb=BBB,ccc" "context" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "remove-value"
+ts_valgrind $TESTPROG --remove "aaa,bbb=BBB,ccc" "bbb" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "split"
+ts_valgrind $TESTPROG --split "aaa,bbb=BBB,ccc,x-bar,x-foo=foodata,user=kzak,noexec,nosuid,loop=/dev/loop0" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "flags"
+ts_valgrind $TESTPROG --flags "aaa,bbb=BBB,x-foo,ccc,user=kzak,nodev,noexec,nosuid,loop=/dev/loop0" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "apply-linux" # add noatime and remove noexec and nosuid
+ts_valgrind $TESTPROG --apply --linux "user=kzak,noexec,nosuid" 0x400 &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "apply-user" # add user,nofail and remove loop
+ts_valgrind $TESTPROG --apply --user "noexec,nosuid,loop=/dev/looop0" 0x408 &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "fix"
+ts_valgrind $TESTPROG --fix "uid=root,gid=root" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "deduplicate"
+ts_valgrind $TESTPROG --dedup bbb,ccc,AAA,xxx,AAA=a,AAA=bbb,ddd,AAA=ccc,fff=eee AAA &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_finalize
diff --git a/tests/ts/libmount/tabdiff b/tests/ts/libmount/tabdiff
new file mode 100755
index 0000000..c988258
--- /dev/null
+++ b/tests/ts/libmount/tabdiff
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="table diffs"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+TESTPROG="$TS_HELPER_LIBMOUNT_TABDIFF"
+
+[ -x $TESTPROG ] || ts_skip "test not compiled"
+
+ts_init_subtest "mount"
+ts_valgrind $TESTPROG --diff $TS_SELF/files/mountinfo_u $TS_SELF/files/mountinfo &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "umount"
+ts_valgrind $TESTPROG --diff $TS_SELF/files/mountinfo $TS_SELF/files/mountinfo_u &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "remount"
+ts_valgrind $TESTPROG --diff $TS_SELF/files/mountinfo $TS_SELF/files/mountinfo_re &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "move"
+ts_valgrind $TESTPROG --diff $TS_SELF/files/mountinfo $TS_SELF/files/mountinfo_mv &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_finalize
diff --git a/tests/ts/libmount/tabfiles b/tests/ts/libmount/tabfiles
new file mode 100755
index 0000000..671c649
--- /dev/null
+++ b/tests/ts/libmount/tabfiles
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="tab files"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+TESTPROG="$TS_HELPER_LIBMOUNT_TAB"
+
+[ -x $TESTPROG ] || ts_skip "test not compiled"
+
+ts_init_subtest "parse-fstab"
+ts_valgrind $TESTPROG --parse "$TS_SELF/files/fstab" &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "parse-mtab"
+ts_valgrind $TESTPROG --parse "$TS_SELF/files/mtab" &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "parse-fstab-broken"
+ts_valgrind $TESTPROG --parse "$TS_SELF/files/fstab.broken" &> $TS_OUTPUT
+sed -i -e 's/.*fstab.broken:[[:digit:]]*: parse error//g; s/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "parse-mountinfo"
+ts_valgrind $TESTPROG --parse "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "copy"
+ts_valgrind $TESTPROG --copy-fs "$TS_SELF/files/fstab" &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "find-source"
+ts_valgrind $TESTPROG --find-forward "$TS_SELF/files/fstab" source UUID=fef7ccb3-821c-4de8-88dc-71472be5946f &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "find-target"
+ts_valgrind $TESTPROG --find-forward "$TS_SELF/files/fstab" target /home/foo &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "find-target2"
+ts_valgrind $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "find-target3"
+ts_valgrind $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo/ &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "find-pair"
+ts_valgrind $TESTPROG --find-pair "$TS_SELF/files/mtab" /dev/mapper/kzak-home /home/kzak &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_finalize
diff --git a/tests/ts/libmount/tabfiles-tags b/tests/ts/libmount/tabfiles-tags
new file mode 100755
index 0000000..c5b4181
--- /dev/null
+++ b/tests/ts/libmount/tabfiles-tags
@@ -0,0 +1,95 @@
+#!/bin/bash
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="tags"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+TESTPROG="$TS_HELPER_LIBMOUNT_TAB"
+
+[ -x $TESTPROG ] || ts_skip "test not compiled"
+
+#
+# Init device
+#
+modprobe --dry-run --quiet scsi_debug
+[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+
+rmmod scsi_debug &> /dev/null
+modprobe scsi_debug dev_size_mb=50 sector_size=512
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+sleep 3
+
+DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
+[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
+
+DEVICE="/dev/${DEVNAME}"
+LABEL="testLibmount"
+UUID="de1bc6e9-34ab-4151-a1d7-900042eee8d9"
+
+#
+# Create filesystem
+#
+mkfs.ext3 -F -L $LABEL $DEVICE -U $UUID &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE
+
+FSTAB="$TS_OUTDIR/fstab"
+
+#
+# Label in fstab
+#
+echo "LABEL=$LABEL /mnt/mountpoint auto defaults" > $FSTAB
+
+ts_init_subtest "fstab-label2uuid"
+ts_valgrind $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "fstab-label2dev"
+ts_valgrind $TESTPROG --find-forward $FSTAB source $DEVICE &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+#
+# Add more enties for the same device
+#
+echo "UUID=$UUID /mnt/mountpoint2 auto defaults" >> $FSTAB
+
+ts_init_subtest "fstab-uuid"
+# has to return /mnt/mountpoint2
+ts_valgrind $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "fstab-label"
+# has to return /mnt/mountpoint
+ts_valgrind $TESTPROG --find-forward $FSTAB source "LABEL=$LABEL" &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+
+ts_init_subtest "fstab-dev2label"
+# has to return /mnt/mountpoint
+ts_valgrind $TESTPROG --find-forward $FSTAB source $DEVICE &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_finalize_subtest
+
+#
+# Add devname
+#
+echo "$DEVICE /mnt/mountpoint3 auto defaults" >> $FSTAB
+
+ts_init_subtest "fstab-dev"
+# has to return /mnt/mountpoint3
+ts_valgrind $TESTPROG --find-forward $FSTAB source $DEVICE &> $TS_OUTPUT
+sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+sed -i -e 's/source: .*//g' $TS_OUTPUT # devname is generated, remove it
+ts_finalize_subtest
+
+
+sleep 3
+rmmod scsi_debug
+ts_finalize
diff --git a/tests/ts/libmount/update b/tests/ts/libmount/update
new file mode 100755
index 0000000..3a989dd
--- /dev/null
+++ b/tests/ts/libmount/update
@@ -0,0 +1,96 @@
+#!/bin/bash
+
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="tab update"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+TESTPROG="$TS_HELPER_LIBMOUNT_UPDATE"
+
+[ -x $TESTPROG ] || ts_skip "test not compiled"
+
+# IMPORTANT notes:
+#
+# - the $TS_OUTPUT variable is between ts_init_subtest and ts_finalize_subtest
+# redefined to subtest specific namespace -- it means that $TS_OUTPUT is a
+# different file within a subtest.
+#
+# - all this test uses global $TS_OUTPUT.{mtab,mountinfo}
+
+
+#
+# Traditional /etc/mtab
+#
+export LIBMOUNT_MTAB=$TS_OUTPUT.mtab
+rm -f $LIBMOUNT_MTAB
+> $LIBMOUNT_MTAB
+
+ts_init_subtest "mtab-mount"
+ts_valgrind $TESTPROG --add /dev/sda1 /mnt/foo ext3 "rw,bbb,ccc,fff=FFF,ddd,noexec"
+ts_valgrind $TESTPROG --add /dev/sdb1 /mnt/bar ext3 "gg=G,ffff=f,ro,noatime"
+ts_valgrind $TESTPROG --add /dev/sda2 /mnt/bar ext3 "rw,noatime"
+ts_valgrind $TESTPROG --add /dev/sda1 /mnt/gogo ext3 "rw,noatime,nosuid"
+ts_valgrind $TESTPROG --add none /proc proc defaults
+cp $LIBMOUNT_MTAB $TS_OUTPUT # save the mtab aside
+ts_finalize_subtest # checks the mtab
+
+ts_init_subtest "mtab-move"
+ts_valgrind $TESTPROG --move /mnt/foo /mnt/newfoo
+ts_valgrind $TESTPROG --move /mnt/bar /mnt/newbar
+cp $LIBMOUNT_MTAB $TS_OUTPUT # save the mtab aside
+ts_finalize_subtest # checks the mtab
+
+ts_init_subtest "mtab-remount"
+ts_valgrind $TESTPROG --remount /mnt/newfoo "ro,noatime"
+ts_valgrind $TESTPROG --remount /mnt/bar "rw,atime,nosuid"
+cp $LIBMOUNT_MTAB $TS_OUTPUT # save the mtab aside
+ts_finalize_subtest # checks the mtab
+
+ts_init_subtest "mtab-umount"
+ts_valgrind $TESTPROG --remove /mnt/bar
+ts_valgrind $TESTPROG --remove /mnt/gogo
+ts_valgrind $TESTPROG --remove /proc
+cp $LIBMOUNT_MTAB $TS_OUTPUT # save the mtab aside
+ts_finalize_subtest # checks the mtab
+
+#
+# utab
+#
+rm -f $LIBMOUNT_MTAB
+ln -s /proc/mounts $LIBMOUNT_MTAB
+
+export LIBMOUNT_UTAB=$TS_OUTPUT.utab
+rm -f $LIBMOUNT_UTAB
+> $LIBMOUNT_UTAB
+
+ts_init_subtest "utab-mount"
+ts_valgrind $TESTPROG --add /dev/sda1 /mnt/foo ext3 "rw,bbb,ccc,fff=FFF,ddd,noexec"
+ts_valgrind $TESTPROG --add /dev/sdb1 /mnt/bar ext3 "ro,user"
+ts_valgrind $TESTPROG --add /dev/sda2 /mnt/xyz ext3 "rw,loop=/dev/loop0,uhelper=hal"
+ts_valgrind $TESTPROG --add none /proc proc "rw,user"
+cp $LIBMOUNT_UTAB $TS_OUTPUT # save the mtab aside
+ts_finalize_subtest # checks the mtab
+
+ts_init_subtest "utab-move"
+ts_valgrind $TESTPROG --move /mnt/bar /mnt/newbar
+ts_valgrind $TESTPROG --move /mnt/xyz /mnt/newxyz
+cp $LIBMOUNT_UTAB $TS_OUTPUT # save the mtab aside
+ts_finalize_subtest # checks the mtab
+
+ts_init_subtest "utab-remount"
+ts_valgrind $TESTPROG --remount /mnt/newbar "ro,noatime"
+ts_valgrind $TESTPROG --remount /mnt/newxyz "rw,user"
+cp $LIBMOUNT_UTAB $TS_OUTPUT # save the mtab aside
+ts_finalize_subtest # checks the mtab
+
+ts_init_subtest "utab-umount"
+ts_valgrind $TESTPROG --remove /mnt/newbar
+ts_valgrind $TESTPROG --remove /proc
+cp $LIBMOUNT_UTAB $TS_OUTPUT # save the mtab aside
+ts_finalize_subtest # checks the mtab
+
+ts_finalize
diff --git a/tests/ts/libmount/utils b/tests/ts/libmount/utils
new file mode 100755
index 0000000..d425400
--- /dev/null
+++ b/tests/ts/libmount/utils
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="utils"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+TESTPROG="$TS_HELPER_LIBMOUNT_UTILS"
+
+[ -x $TESTPROG ] || ts_skip "test not compiled"
+
+ts_init_subtest "match-fstype"
+ts_valgrind $TESTPROG --match-fstype ext3 "ext2,ext3,cifs" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "match-fstype-neg"
+ts_valgrind $TESTPROG --match-fstype cifs "ext2,ext3,nocifs" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "match-fstype-neg2"
+ts_valgrind $TESTPROG --match-fstype cifs "noext2,ext3,cifs" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "match-options"
+ts_valgrind $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "ccc" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "match-options-list"
+ts_valgrind $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "ccc,aaa,ddd" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "match-options-neg"
+ts_valgrind $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "noxxx" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "match-options-neg-list"
+ts_valgrind $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "ddd,noaaa" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "match-options-neg-list2"
+ts_valgrind $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "noxxx,ccc,aaa" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "starts-with"
+ts_valgrind $TESTPROG --starts-with "AAAbbbCCC" "AAA" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "ends-with"
+ts_valgrind $TESTPROG --ends-with "AAAbbbCCC" "CCC" &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "mountpoint"
+ts_valgrind $TESTPROG --mountpoint /proc &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "mountpoint-subdir"
+ts_valgrind $TESTPROG --mountpoint /proc/sys/kernel &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "mountpoint-root"
+ts_valgrind $TESTPROG --mountpoint / &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "fs-root"
+ts_valgrind $TESTPROG --fs-root /proc &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "fs-root-subdir"
+ts_valgrind $TESTPROG --fs-root /proc/sys/kernel &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "fs-root-subdir2"
+ts_valgrind $TESTPROG --fs-root /etc &> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_finalize
diff --git a/tests/ts/login/islocal b/tests/ts/login/islocal
new file mode 100755
index 0000000..c25da6a
--- /dev/null
+++ b/tests/ts/login/islocal
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2008 James Youngman <jay@gnu.org>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="islocal"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+$TS_HELPER_ISLOCAL "$TS_SELF/islocal.data" root nobody "" youngman youngman2 \
+ abcdefghx nobo long rot al malformed \
+ nonl znobody >> $TS_OUTPUT
+ts_finalize
diff --git a/tests/ts/login/islocal.data b/tests/ts/login/islocal.data
new file mode 100644
index 0000000..916a8a9
--- /dev/null
+++ b/tests/ts/login/islocal.data
@@ -0,0 +1,10 @@
+root:x:0:0:root:/root:/bin/bash
+sys:x:3:3:sys:/dev:/bin/sh
+orac:x:33:33:sys:/dev:/bin/youngman
+long:x:4:4:foo:/home/loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnggg:/bin/sh
+al:x:5:5:fnord:/dev:/bin/sh
+abcdefgh:x:6:3:fnord:/dev:/bin/sh
+malformed
+
+nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
+nonl:x:65532:65532:no newline:/:/bin/false
diff --git a/tests/ts/login/logindefs b/tests/ts/login/logindefs
new file mode 100755
index 0000000..10caed7
--- /dev/null
+++ b/tests/ts/login/logindefs
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="defs"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+# list all items
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" | sed 's:'$TS_SELF'/::g' >> $TS_OUTPUT
+
+# search
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" str STRING >> $TS_OUTPUT
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" num NUMBER >> $TS_OUTPUT
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" bool BOOLEAN >> $TS_OUTPUT
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" str EMPTY >> $TS_OUTPUT
+
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" str UNKNOWN >> $TS_OUTPUT
+
+ts_finalize
diff --git a/tests/ts/login/logindefs.data b/tests/ts/login/logindefs.data
new file mode 100644
index 0000000..b899ff7
--- /dev/null
+++ b/tests/ts/login/logindefs.data
@@ -0,0 +1,16 @@
+#
+# this is /etc/login.defs sample
+#
+
+HELLO_WORLD "hello world!"
+STRING this_is_string # another comment
+NUMBER 123456
+BOOLEAN yEs
+
+CRAZY1 = "this is crazy format"
+CRAZY2=fooBar
+CRAZY3 FoooBaaar
+
+EMPTY
+
+END "the is end"
diff --git a/tests/ts/look/separator b/tests/ts/look/separator
new file mode 100755
index 0000000..51e96c9
--- /dev/null
+++ b/tests/ts/look/separator
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+#
+# WARNING: the look command expects that the /usr/share/dict/words uses
+# directory order!
+#
+# for example:
+#
+# cat words.raw | egrep --invert-match "'s$" | \
+# egrep "^[[:alnum:]'&!,./-]+$" | \
+# sort --ignore-case --dictionary-order | \
+# uniq > words
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="separator"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+$TS_CMD_LOOK apple-pie $TS_TOPDIR/ts/look/words >> $TS_OUTPUT
+ts_finalize
+
diff --git a/tests/ts/look/words b/tests/ts/look/words
new file mode 100644
index 0000000..b67ba9a
--- /dev/null
+++ b/tests/ts/look/words
@@ -0,0 +1,3 @@
+apple
+apple-pie
+oranges
diff --git a/tests/ts/lscpu/dumps/i386-amdshanghai.tar.gz b/tests/ts/lscpu/dumps/i386-amdshanghai.tar.gz
new file mode 100644
index 0000000..199c22b
--- /dev/null
+++ b/tests/ts/lscpu/dumps/i386-amdshanghai.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/i386-dellpe700.tar.gz b/tests/ts/lscpu/dumps/i386-dellpe700.tar.gz
new file mode 100644
index 0000000..a18a779
--- /dev/null
+++ b/tests/ts/lscpu/dumps/i386-dellpe700.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/i386-intels5000phb.tar.gz b/tests/ts/lscpu/dumps/i386-intels5000phb.tar.gz
new file mode 100644
index 0000000..36c9811
--- /dev/null
+++ b/tests/ts/lscpu/dumps/i386-intels5000phb.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/ia64-512cpus.tar.gz b/tests/ts/lscpu/dumps/ia64-512cpus.tar.gz
new file mode 100644
index 0000000..caae22d
--- /dev/null
+++ b/tests/ts/lscpu/dumps/ia64-512cpus.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/ia64-hpmatterhorn.tar.gz b/tests/ts/lscpu/dumps/ia64-hpmatterhorn.tar.gz
new file mode 100644
index 0000000..b5f1516
--- /dev/null
+++ b/tests/ts/lscpu/dumps/ia64-hpmatterhorn.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/ia64-hprx1620.tar.gz b/tests/ts/lscpu/dumps/ia64-hprx1620.tar.gz
new file mode 100644
index 0000000..37bcb17
--- /dev/null
+++ b/tests/ts/lscpu/dumps/ia64-hprx1620.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/ia64-pg0.tar.gz b/tests/ts/lscpu/dumps/ia64-pg0.tar.gz
new file mode 100644
index 0000000..f30d792
--- /dev/null
+++ b/tests/ts/lscpu/dumps/ia64-pg0.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/ppc64-POWER7.tar.gz b/tests/ts/lscpu/dumps/ppc64-POWER7.tar.gz
new file mode 100644
index 0000000..c8fcc23
--- /dev/null
+++ b/tests/ts/lscpu/dumps/ppc64-POWER7.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/s390-kvm.tar.gz b/tests/ts/lscpu/dumps/s390-kvm.tar.gz
new file mode 100644
index 0000000..340f7ea
--- /dev/null
+++ b/tests/ts/lscpu/dumps/s390-kvm.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/s390-lpar.tar.gz b/tests/ts/lscpu/dumps/s390-lpar.tar.gz
new file mode 100644
index 0000000..59aea6a
--- /dev/null
+++ b/tests/ts/lscpu/dumps/s390-lpar.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/s390-zvm.tar.gz b/tests/ts/lscpu/dumps/s390-zvm.tar.gz
new file mode 100644
index 0000000..b13594d
--- /dev/null
+++ b/tests/ts/lscpu/dumps/s390-zvm.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/sparc64-UltraSparc-T1.tar.gz b/tests/ts/lscpu/dumps/sparc64-UltraSparc-T1.tar.gz
new file mode 100644
index 0000000..15bfeef
--- /dev/null
+++ b/tests/ts/lscpu/dumps/sparc64-UltraSparc-T1.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/x86_64-64cpu.tar.gz b/tests/ts/lscpu/dumps/x86_64-64cpu.tar.gz
new file mode 100644
index 0000000..4d7516e
--- /dev/null
+++ b/tests/ts/lscpu/dumps/x86_64-64cpu.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/x86_64-dell_e4310.tar.gz b/tests/ts/lscpu/dumps/x86_64-dell_e4310.tar.gz
new file mode 100644
index 0000000..2988cbc
--- /dev/null
+++ b/tests/ts/lscpu/dumps/x86_64-dell_e4310.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/x86_64-dell_poweredge1950.tar.gz b/tests/ts/lscpu/dumps/x86_64-dell_poweredge1950.tar.gz
new file mode 100644
index 0000000..ef3f73e
--- /dev/null
+++ b/tests/ts/lscpu/dumps/x86_64-dell_poweredge1950.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/x86_64-dell_poweredgeR610.tar.gz b/tests/ts/lscpu/dumps/x86_64-dell_poweredgeR610.tar.gz
new file mode 100644
index 0000000..2f9fccd
--- /dev/null
+++ b/tests/ts/lscpu/dumps/x86_64-dell_poweredgeR610.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/x86_64-dellr710.tar.gz b/tests/ts/lscpu/dumps/x86_64-dellr710.tar.gz
new file mode 100644
index 0000000..2c16381
--- /dev/null
+++ b/tests/ts/lscpu/dumps/x86_64-dellr710.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/x86_64-el5xen.tar.gz b/tests/ts/lscpu/dumps/x86_64-el5xen.tar.gz
new file mode 100644
index 0000000..2ad47dd
--- /dev/null
+++ b/tests/ts/lscpu/dumps/x86_64-el5xen.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/x86_64-hpdl585.tar.gz b/tests/ts/lscpu/dumps/x86_64-hpdl585.tar.gz
new file mode 100644
index 0000000..89790b7
--- /dev/null
+++ b/tests/ts/lscpu/dumps/x86_64-hpdl585.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/x86_64-ibme326m.tar.gz b/tests/ts/lscpu/dumps/x86_64-ibme326m.tar.gz
new file mode 100644
index 0000000..5aff52f
--- /dev/null
+++ b/tests/ts/lscpu/dumps/x86_64-ibme326m.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/dumps/x86_64-necem14.tar.gz b/tests/ts/lscpu/dumps/x86_64-necem14.tar.gz
new file mode 100644
index 0000000..00ed35f
--- /dev/null
+++ b/tests/ts/lscpu/dumps/x86_64-necem14.tar.gz
Binary files differ
diff --git a/tests/ts/lscpu/lscpu b/tests/ts/lscpu/lscpu
new file mode 100755
index 0000000..a7d7a95
--- /dev/null
+++ b/tests/ts/lscpu/lscpu
@@ -0,0 +1,50 @@
+#!/bin/bash
+#
+# Copyright (C) 2008 Cai Qian <qcai@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+. $TS_TOPDIR/functions.sh
+
+ts_init "$*"
+
+for dump in $(ls $TS_SELF/dumps/*.tar.gz | sort); do
+ name=$(basename $dump .tar.gz)
+ dumpdir="$TS_OUTDIR/dumps"
+
+ ts_init_subtest $name
+ mkdir -p $dumpdir
+
+ tar -C $dumpdir -zxf $dump
+
+ # Architecture information is not applicable with -s.
+ "${TS_CMD_LSCPU}" -s "${dumpdir}/${name}" | \
+ grep -v "Architecture" >"${TS_OUTPUT}" 2>&1
+
+ echo >>"${TS_OUTPUT}"
+
+ "${TS_CMD_LSCPU}" -p -s "${dumpdir}/${name}" \
+ >>"${TS_OUTPUT}" 2>&1
+
+ # LE/BE depends on binary
+ sed -i -e '/Byte Order:.*/d' $TS_OUTPUT
+
+ ts_finalize_subtest
+done
+
+ts_finalize
+
diff --git a/tests/ts/lscpu/mk-input.sh b/tests/ts/lscpu/mk-input.sh
new file mode 100644
index 0000000..65e3d20
--- /dev/null
+++ b/tests/ts/lscpu/mk-input.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+# Copyright (C) 2008-2009 Karel Zak <kzak@redhat.com>
+#
+# This script makes a copy of relevant files from /sys and /proc.
+# The files are useful for lscpu(1) regression tests.
+#
+progname=$(basename $0)
+
+if [ -z "$1" ]; then
+ echo -e "\nusage: $progname <testname>\n"
+ exit 1
+fi
+
+TS_NAME="$1"
+TS_DUMP="$TS_NAME"
+CP="cp -r --parents"
+
+mkdir -p $TS_DUMP/{proc,sys}
+
+$CP /proc/cpuinfo $TS_DUMP
+
+mkdir -p $TS_DUMP/proc/bus/pci
+$CP /proc/bus/pci/devices $TS_DUMP
+
+if [ -d "/proc/xen" ]; then
+ mkdir -p $TS_DUMP/proc/xen
+ if [ -f "/proc/xen/capabilities" ]; then
+ $CP /proc/xen/capabilities $TS_DUMP
+ fi
+fi
+
+if [ -e "/proc/sysinfo" ]; then
+ $CP /proc/sysinfo $TS_DUMP
+fi
+
+$CP /sys/devices/system/cpu/* $TS_DUMP
+$CP /sys/devices/system/node/*/cpumap $TS_DUMP
+
+tar zcvf $TS_NAME.tar.gz $TS_DUMP
+rm -rf $TS_DUMP
+
+
diff --git a/tests/ts/md5/data b/tests/ts/md5/data
new file mode 100644
index 0000000..1eed05a
--- /dev/null
+++ b/tests/ts/md5/data
@@ -0,0 +1,7 @@
+
+abc
+qazxswedc
+1qazxsw23edc
+a a a a a a a a a a
+KUWIOJDNWQKLFDHQUWEDAYCNAUIWSYDUQUICBSKLBCLUWIGDF
+EASC6545642432132SDECSESCEACSJKDWIOUDOIWIDOQPWUDQWIOSNXCSASCA
diff --git a/tests/ts/md5/md5 b/tests/ts/md5/md5
new file mode 100755
index 0000000..e94fb63
--- /dev/null
+++ b/tests/ts/md5/md5
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+> $TS_OUTPUT
+
+cat $TS_SELF/data | while read data
+do
+ echo -n $data | $TS_HELPER_MD5 >> $TS_OUTPUT
+done
+
+ts_finalize
+
diff --git a/tests/ts/minix/fsck b/tests/ts/minix/fsck
new file mode 100755
index 0000000..f635fc1
--- /dev/null
+++ b/tests/ts/minix/fsck
@@ -0,0 +1,39 @@
+#!/bin/bash
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="mkfs checksums"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+[ -x $TS_CMD_FSCKMINIX ] || ts_skip "fsck.minix not compiled"
+
+IMAGE="$TS_OUTDIR/${TS_TESTNAME}-loop.img"
+DEVICE=$(ts_device_init)
+
+ts_log "create minix fs"
+$TS_CMD_MKMINIX $DEVICE 2>&1 >> $TS_OUTPUT
+
+ts_log "fsck minix fs"
+$TS_CMD_FSCKMINIX $DEVICE 2>&1 >> $TS_OUTPUT
+
+ts_device_deinit $DEVICE
+ts_finalize
+
diff --git a/tests/ts/minix/mkfs b/tests/ts/minix/mkfs
new file mode 100755
index 0000000..93de4e6
--- /dev/null
+++ b/tests/ts/minix/mkfs
@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="mkfs"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+[ -x $TS_CMD_MKMINIX ] || ts_skip "mkfs.minix not compiled"
+
+IMAGE="$TS_OUTDIR/${TS_TESTNAME}-loop.img"
+DEVICE=$(ts_device_init)
+
+ts_log "create minix fs"
+$TS_CMD_MKMINIX $DEVICE 2>&1 >> $TS_OUTPUT
+
+ts_log "create mountpoint dir"
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_log "mount the filesystem"
+$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+
+# check it
+ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts" $DEVICE
+
+ts_log "umount the image"
+$TS_CMD_UMOUNT $DEVICE
+ts_device_deinit $DEVICE
+ts_finalize
+
diff --git a/tests/ts/misc/strtosize b/tests/ts/misc/strtosize
new file mode 100755
index 0000000..7fb2ff9
--- /dev/null
+++ b/tests/ts/misc/strtosize
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="strtosize"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+$TS_HELPER_STRUTILS -1 >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 0 >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1 >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 123 >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 18446744073709551615 >> $TS_OUTPUT 2>&1
+
+$TS_HELPER_STRUTILS 1K >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1KiB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1M >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1MiB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1G >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1GiB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1T >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1TiB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1P >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1PiB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1E >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1EiB >> $TS_OUTPUT 2>&1
+
+$TS_HELPER_STRUTILS 1KB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1MB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1GB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1TB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1PB >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 1EB >> $TS_OUTPUT 2>&1
+
+$TS_HELPER_STRUTILS "" >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS " " >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS " 1" >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS "1 " >> $TS_OUTPUT 2>&1
+
+$TS_HELPER_STRUTILS 0x0a >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 0xff00 >> $TS_OUTPUT 2>&1
+$TS_HELPER_STRUTILS 0x80000000 >> $TS_OUTPUT 2>&1
+
+ts_finalize
+
diff --git a/tests/ts/mount/devname b/tests/ts/mount/devname
new file mode 100755
index 0000000..8f32ef1
--- /dev/null
+++ b/tests/ts/mount/devname
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by devname"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "TYPE" "ext3" $DEVICE || ts_die "Cannot find ext3 on $DEVICE" $DEVICE
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+
+ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts" $DEVICE
+
+grep -q $DEVICE /etc/mtab ||
+ echo "mount failed: cannot find $DEVICE in mtab" >> $TS_OUTPUT 2>&1
+
+$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE" $DEVICE
+
+grep -q $DEVICE /etc/mtab &&
+ echo "umount failed: found $DEVICE in mtab" >> $TS_OUTPUT 2>&1
+
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/encryption b/tests/ts/mount/encryption
new file mode 100755
index 0000000..bf452a0
--- /dev/null
+++ b/tests/ts/mount/encryption
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by devname"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+modprobe --dry-run --quiet cryptoloop
+[ "$?" == 0 ] || ts_skip "missing cryptoloop module"
+
+modprobe cryptoloop &> /dev/null
+
+PASSFILE=$TS_OUTPUT.pwd
+IMAGE=$(ts_image_init)
+
+echo "password" > $PASSFILE
+exec 9<> $PASSFILE
+
+DEVICE=$($TS_CMD_LOSETUP --pass-fd 9 --show --encryption blowfish --find $IMAGE)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+sleep 3
+$TS_CMD_LOSETUP --detach $DEVICE
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+# reopen (we need SEEK_SET 0, but this is shell...)
+exec 9>&-
+exec 9<> $PASSFILE
+
+$TS_CMD_MOUNT --pass-fd 9 -o encryption=blowfish $IMAGE $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+
+$TS_CMD_FINDMNT --kernel --target $TS_MOUNTPOINT &> /dev/null
+[ "$?" == "0" ] || ts_die "Cannot find $TS_MOUNTPOINT in /proc/self/mountinfo"
+
+$TS_CMD_UMOUNT $TS_MOUNTPOINT || ts_die "Cannot umount $TS_MOUNTPOINT" $DEVICE
+
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-broken b/tests/ts/mount/fstab-broken
new file mode 100755
index 0000000..48fe1a1
--- /dev/null
+++ b/tests/ts/mount/fstab-broken
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="broken fstab"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+# Let's use the same mountpoint for all subtests
+MNT=$TS_MOUNTPOINT
+mkdir -p $MNT
+
+ts_fstab_open
+echo "tmpd $MNT tmpfs" >> /etc/fstab
+ts_fstab_close
+
+ts_init_subtest "mount"
+$TS_CMD_MOUNT $MNT &> /dev/null
+$TS_CMD_FINDMNT --kernel --target "$MNT" &> /dev/null
+if [ "$?" != "0" ]; then
+ ts_log "Cannot find $MNT in /proc/self/mountinfo"
+else
+ ts_log "OK"
+fi
+$TS_CMD_UMOUNT $MNT &> /dev/null
+ts_finalize_subtest
+
+
+ts_init_subtest "mount-all"
+$TS_CMD_MOUNT -a &> /dev/null
+$TS_CMD_FINDMNT --kernel --target "$MNT" &> /dev/null
+if [ "$?" != "0" ]; then
+ ts_log "Cannot find $MNT in /proc/self/mountinfo"
+else
+ ts_log "OK"
+fi
+$TS_CMD_UMOUNT $MNT &> /dev/null
+ts_finalize_subtest
+
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-devname b/tests/ts/mount/fstab-devname
new file mode 100755
index 0000000..9af8db6
--- /dev/null
+++ b/tests/ts/mount/fstab-devname
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by devname (fstab)"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "TYPE" "ext3" $DEVICE || ts_die "Cannot find ext3 on $DEVICE" $DEVICE
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_fstab_add $DEVICE
+
+# variant A)
+$TS_CMD_MOUNT $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "A) Cannot umount $DEVICE" $DEVICE
+
+# variant B)
+$TS_CMD_MOUNT $DEVICE 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "B) Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-devname2label b/tests/ts/mount/fstab-devname2label
new file mode 100755
index 0000000..34214db
--- /dev/null
+++ b/tests/ts/mount/fstab-devname2label
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by devname (fstab label)"
+LABEL="testMountD2L"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "LABEL" $LABEL $DEVICE \
+ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" $DEVICE
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_fstab_add "LABEL=$LABEL"
+
+$TS_CMD_MOUNT $DEVICE 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-devname2uuid b/tests/ts/mount/fstab-devname2uuid
new file mode 100755
index 0000000..859bcda
--- /dev/null
+++ b/tests/ts/mount/fstab-devname2uuid
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by devname (fstab uuid)"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_fstab_add "UUID=$UUID"
+
+$TS_CMD_MOUNT $DEVICE 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-label b/tests/ts/mount/fstab-label
new file mode 100755
index 0000000..2c1e7eb
--- /dev/null
+++ b/tests/ts/mount/fstab-label
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by label (fstab)"
+LABEL="testFstabLabel"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "LABEL" $LABEL $DEVICE \
+ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" $DEVICE
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_fstab_add "LABEL=$LABEL"
+
+# variant A)
+$TS_CMD_MOUNT $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "A) Cannot umount $DEVICE" $DEVICE
+
+# variant B)
+$TS_CMD_MOUNT -L $LABEL 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "B) Cannot umount $DEVICE" $DEVICE
+
+# variant C)
+$TS_CMD_MOUNT LABEL=$LABEL 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "C) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "C) Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-label2devname b/tests/ts/mount/fstab-label2devname
new file mode 100755
index 0000000..0d10f1b
--- /dev/null
+++ b/tests/ts/mount/fstab-label2devname
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by label (fstab devname)"
+LABEL="testMountL2D"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "LABEL" $LABEL $DEVICE \
+ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" $DEVICE
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_fstab_add "$DEVICE"
+
+# variant A)
+$TS_CMD_MOUNT -L $LABEL 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "A) Cannot umount $DEVICE" $DEVICE
+
+# variant B)
+$TS_CMD_MOUNT "LABEL=$LABEL" 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "B) Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-label2uuid b/tests/ts/mount/fstab-label2uuid
new file mode 100755
index 0000000..0ad4f05
--- /dev/null
+++ b/tests/ts/mount/fstab-label2uuid
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by label (fstab uuid)"
+LABEL="testMountL2U"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "LABEL" $LABEL $DEVICE \
+ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" $DEVICE
+
+ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_fstab_add "UUID=$UUID"
+
+# variant A)
+$TS_CMD_MOUNT -L $LABEL 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "A) Cannot umount $DEVICE" $DEVICE
+
+# variant B)
+$TS_CMD_MOUNT "LABEL=$LABEL" 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "B) Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-none b/tests/ts/mount/fstab-none
new file mode 100755
index 0000000..62a89ca
--- /dev/null
+++ b/tests/ts/mount/fstab-none
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="none"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+ts_fstab_add "none" "$TS_MOUNTPOINT" "tmpfs" "rw,nosuid,nodev,relatime"
+
+mkdir -p $TS_MOUNTPOINT
+
+$TS_CMD_MOUNT $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+
+$TS_CMD_FINDMNT --target "$TS_MOUNTPOINT" &> /dev/null
+[ $? -eq 0 ] || ts_die "Not found target (mount failed?)"
+
+$TS_CMD_FINDMNT --source "none" --target "$TS_MOUNTPOINT" &> /dev/null
+[ $? -eq 0 ] || ts_die "Not found source and target"
+
+$TS_CMD_UMOUNT $TS_MOUNTPOINT || ts_die "Cannot umount $TS_MOUNTPOINT"
+
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-symlink b/tests/ts/mount/fstab-symlink
new file mode 100755
index 0000000..7f9d91f
--- /dev/null
+++ b/tests/ts/mount/fstab-symlink
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by devname (fstab symlink)"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+LINKNAME="$TS_OUTDIR/${TS_TESTNAME}_lnk"
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "TYPE" "ext3" $DEVICE || ts_die "Cannot find ext3 on $DEVICE" $DEVICE
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+rm -rf $LINKNAME
+ln -s $DEVICE $LINKNAME
+
+ts_fstab_add $LINKNAME $TS_MOUNTPOINT "auto" "defaults,user"
+
+# variant A) -- UID=0
+$TS_CMD_MOUNT $LINKNAME 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $LINKNAME || ts_die "A) Cannot umount $LINKNAME" $DEVICE
+
+# varian B) -- disabled, the $TS_CMD_MOUNT is usually not a real program, but
+# libtool wrapper and the real mount is exec()ed with
+# LD_LIBRARY_PATH. This all is bad for suid programs...
+
+#ts_init_suid $TS_CMD_MOUNT
+#ts_init_suid $TS_CMD_UMOUNT
+#
+#su $TS_TESTUSER -c "$TS_CMD_MOUNT -v -v -v $LINKNAME" 2>&1 >> $TS_OUTPUT
+#ts_is_mounted $DEVICE
+# || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+#su $TS_TESTUSER -c "$TS_CMD_UMOUNT $LINKNAME" 2>&1 >> $TS_OUTPUT \
+# || ts_die "B) Cannot umount $LINKNAME" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+rm -f $LINKNAME
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-uuid b/tests/ts/mount/fstab-uuid
new file mode 100755
index 0000000..8c65b4d
--- /dev/null
+++ b/tests/ts/mount/fstab-uuid
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by uuid (fstab)"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_fstab_add "UUID=$UUID"
+
+# varian A)
+$TS_CMD_MOUNT $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "A) Cannot umount $DEVICE" $DEVICE
+
+# varian B)
+$TS_CMD_MOUNT -U $UUID 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "B) Cannot umount $DEVICE" $DEVICE
+
+# varian C)
+$TS_CMD_MOUNT UUID=$UUID 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "C) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "C) Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-uuid2devname b/tests/ts/mount/fstab-uuid2devname
new file mode 100755
index 0000000..51bac14
--- /dev/null
+++ b/tests/ts/mount/fstab-uuid2devname
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by uuid (fstab devname)"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_fstab_add "$DEVICE"
+
+# variant A)
+$TS_CMD_MOUNT -U $UUID 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "A) Cannot umount $DEVICE" $DEVICE
+
+# variant B)
+$TS_CMD_MOUNT "UUID=$UUID" 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "B) Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-uuid2label b/tests/ts/mount/fstab-uuid2label
new file mode 100755
index 0000000..442cdb7
--- /dev/null
+++ b/tests/ts/mount/fstab-uuid2label
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by uuid (fstab label)"
+LABEL="testMountU2L"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "LABEL" $LABEL $DEVICE \
+ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" $DEVICE
+
+ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+ts_fstab_add "LABEL=$LABEL"
+
+# variant A)
+$TS_CMD_MOUNT -U $UUID 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "A) Cannot umount $DEVICE" $DEVICE
+
+# variant B)
+$TS_CMD_MOUNT "UUID=$UUID" 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "B) Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+ts_fstab_clean
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/label b/tests/ts/mount/label
new file mode 100755
index 0000000..873ea95
--- /dev/null
+++ b/tests/ts/mount/label
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by label"
+LABEL="testMountLabel"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has "LABEL" $LABEL $DEVICE \
+ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" $DEVICE
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+# variant A)
+$TS_CMD_MOUNT -L $LABEL $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "A) Cannot umount $DEVICE" $DEVICE
+
+# variant B)
+$TS_CMD_MOUNT LABEL=$LABEL $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "B) Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/move b/tests/ts/mount/move
new file mode 100755
index 0000000..3862f46
--- /dev/null
+++ b/tests/ts/mount/move
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="move"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+DIR_SRC="$TS_OUTDIR/mnt-move-src"
+DIR_A="$TS_OUTDIR/mnt-move-A"
+DIR_B="$TS_OUTDIR/mnt-move-B"
+
+[ -d $DIR_SRC ] || mkdir $DIR_SRC
+[ -d $DIR_A ] || mkdir $DIR_A
+[ -d $DIR_B ] || mkdir $DIR_B
+
+# bind
+$TS_CMD_MOUNT --bind $DIR_SRC $DIR_A
+
+# check the bind
+$TS_CMD_FINDMNT --kernel --target "$DIR_A" &> /dev/null
+[ "$?" == "0" ] || ts_die "Cannot find binded $DIR_A in /proc/self/mountinfo"
+
+# move
+$TS_CMD_MOUNT --move $DIR_A $DIR_B
+
+# check the move
+$TS_CMD_FINDMNT --kernel --target "$DIR_B" &> /dev/null
+[ "$?" == "0" ] || ts_die "Cannot find binded $DIR_B in /proc/self/mountinfo"
+
+# clean up
+$TS_CMD_UMOUNT $DIR_B
+rmdir $DIR_SRC $DIR_A $DIR_B
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/noncanonical b/tests/ts/mount/noncanonical
new file mode 100755
index 0000000..1d28304
--- /dev/null
+++ b/tests/ts/mount/noncanonical
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="non canonical path"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+[ ! -e "/etc" ] && ts_skip "/etc not such file of directory"
+
+$TS_CMD_MOUNT -V | grep -q "libmount"
+[ $? -eq 0 ] && ts_skip "libmount version"
+
+# Don't canonicalize SPEC for cifs, nfs, smbfs, ...
+$TS_CMD_MOUNT -v -v -v -f -i -n -t cifs //etc /foo | grep "spec:" >> $TS_OUTPUT 2>&1
+
+# Canonicalize when FS type undefined and the SPEC exists
+$TS_CMD_MOUNT -v -v -v -f -i -n //etc /foo | grep "spec:" >> $TS_OUTPUT 2>&1
+
+ts_finalize
+
diff --git a/tests/ts/mount/paths b/tests/ts/mount/paths
new file mode 100755
index 0000000..0b3432b
--- /dev/null
+++ b/tests/ts/mount/paths
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="basic paths"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+$TS_CMD_MOUNT -V | grep -q "libmount"
+[ $? -eq 0 ] && ts_skip "libmount version"
+
+$TS_CMD_MOUNT -n -f -v -v -v /dev/dummy /mnt &> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/mount/regfile b/tests/ts/mount/regfile
new file mode 100755
index 0000000..8d786ad
--- /dev/null
+++ b/tests/ts/mount/regfile
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+# This file is part of util-linux.
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="regular file"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+IMAGE=$(ts_image_init)
+mkfs.ext3 -F $IMAGE &> /dev/null || ts_die "Cannot make ext3 on $IMAGE"
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+$TS_CMD_MOUNT $IMAGE $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+
+DEVICE=$(awk '/regfile/ { print $1 }' /proc/mounts)
+
+ts_is_mounted "$TS_MOUNTPOINT" || ts_die "Cannot find $TS_MOUNTPOINT in /proc/mounts"
+
+if [ -f "/sys/block/$(basename $DEVICE)/loop/backing_file" ]; then
+ $TS_CMD_UMOUNT $IMAGE || ts_die "Cannot umount $IMAGE"
+else
+ $TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
+ ts_skip "too old kernel"
+fi
+
+ts_is_mounted "$TS_MOUNTPOINT" && ts_die "$TS_MOUNTPOINT still in /proc/mounts"
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/remount b/tests/ts/mount/remount
new file mode 100755
index 0000000..051c595
--- /dev/null
+++ b/tests/ts/mount/remount
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="remount"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+# mountpoint
+[ -d $TS_MOUNTPOINT ] || mkdir -p $TS_MOUNTPOINT
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext2 $DEVICE &> /dev/null || ts_die "Cannot make ext2 on $DEVICE" $DEVICE
+
+# mount read-write
+$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT || ts_die "Cannot mount $TS_MOUNTPOINT" $DEVICE
+
+# check the mount
+egrep -q "^$DEVICE $TS_MOUNTPOINT" /etc/mtab \
+ || ts_die "Cannot find $TS_MOUNTPOINT in /etc/mtab" $DEVICE
+
+# remount
+$TS_CMD_MOUNT -o remount,ro $TS_MOUNTPOINT \
+ || ts_die "Cannot remount $TS_MOUNTPOINT" $DEVICE
+
+# check the remount
+$TS_CMD_FINDMNT --kernel --target "$TS_MOUNTPOINT" --options "ro" &> /dev/null
+[ "$?" == "0" ] || ts_die "Cannot find read-only in $TS_MOUNTPOINT in /proc/self/mountinfo"
+
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/rlimit b/tests/ts/mount/rlimit
new file mode 100755
index 0000000..7d7e42b
--- /dev/null
+++ b/tests/ts/mount/rlimit
@@ -0,0 +1,78 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+#
+# The /etc/mtab file should not be modified if RLIMIT_FSIZE (ulimit -f)
+# is too low, otherwise the file could be corrupted (incomplete write).
+# The [u]mount(8) has to block SIGXFSZ and check if all writes and fflush
+# calls are successful.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="rlimit-fsize"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+[ -L /etc/mtab ] && ts_skip "mtab is symlink"
+[ "$(stat --format '%s' /etc/mtab)" -gt "1024" ] || ts_skip "mtab is too small"
+
+set -o pipefail
+
+function mtab_checksum()
+{
+ md5sum /etc/mtab | awk '{printf $1}'
+}
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+
+ts_init_subtest "mount"
+OLD_SUM=$(mtab_checksum)
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+(
+ ulimit -f 1
+ $TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT
+) &> /dev/null
+NEW_SUM=$(mtab_checksum)
+$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
+[ $NEW_SUM = $OLD_SUM ] && echo "OK: mtab unmodified by mount" >> $TS_OUTPUT
+ts_finalize_subtest
+
+
+ts_init_subtest "umount"
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT &> /dev/null
+OLD_SUM=$(mtab_checksum)
+(
+ ulimit -f 1
+ $TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
+) &> /dev/null
+NEW_SUM=$(mtab_checksum)
+$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
+[ $NEW_SUM = $OLD_SUM ] && echo "OK: mtab unmodified by umount" >> $TS_OUTPUT
+ts_finalize_subtest
+
+
+ts_device_deinit $DEVICE
+ts_log "Success"
+ts_finalize
diff --git a/tests/ts/mount/shared-subtree b/tests/ts/mount/shared-subtree
new file mode 100755
index 0000000..a0a76c5
--- /dev/null
+++ b/tests/ts/mount/shared-subtree
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="shared-subtree"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+function get_attr()
+{
+ # It's usually stupid idea to use 'grep | awk',
+ # but use paths in awk /regex/ is too tricky...
+ #
+ # TODO; improve libmount and findmnt to return the
+ # shared-subtree flags
+ #
+ echo $(grep "$1" /proc/self/mountinfo | \
+ awk '{print $7}' | \
+ awk -F ':' '{ print $1 }')
+}
+
+[ -d $TS_MOUNTPOINT ] || mkdir -p $TS_MOUNTPOINT
+
+# bind
+$TS_CMD_MOUNT --bind $TS_MOUNTPOINT $TS_MOUNTPOINT
+
+# check the bind
+$TS_CMD_FINDMNT --kernel --target $TS_MOUNTPOINT &> /dev/null
+[ "$?" == "0" ] || ts_die "Cannot find binded $TS_MOUNTPOINT in /proc/self/mountinfo"
+
+# use the same mounpoint for all sub-tests
+MOUNTPOINT="$TS_MOUNTPOINT"
+
+
+ts_init_subtest "make-shared"
+$TS_CMD_MOUNT --make-shared $MOUNTPOINT >> $TS_OUTPUT 2>&1
+echo "$(get_attr $MOUNTPOINT)" >> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "make-private"
+$TS_CMD_MOUNT --make-private $MOUNTPOINT >> $TS_OUTPUT 2>&1
+echo "$(get_attr $MOUNTPOINT)" >> $TS_OUTPUT
+ts_finalize_subtest
+
+ts_init_subtest "make-unbindable"
+$TS_CMD_MOUNT --make-unbindable $MOUNTPOINT >> $TS_OUTPUT 2>&1
+echo "$(get_attr $MOUNTPOINT)" >> $TS_OUTPUT
+ts_finalize_subtest
+
+
+# clean up
+$TS_CMD_UMOUNT $TS_MOUNTPOINT
+rmdir $TS_MOUNTPOINT
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/special b/tests/ts/mount/special
new file mode 100755
index 0000000..6e198b3
--- /dev/null
+++ b/tests/ts/mount/special
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="call mount.<type>"
+MOUNTER="/sbin/mount.mytest"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+cat > $MOUNTER <<\EOF
+#!/bin/bash
+# This util-linux regression test component
+# It's safe to remove me...
+#
+echo "$0 called with \"$*\""
+EOF
+chmod +x $MOUNTER
+
+$TS_CMD_MOUNT -t mytest /foo /bar &> $TS_OUTPUT
+
+rm -f $MOUNTER
+
+ts_finalize
+
diff --git a/tests/ts/mount/uuid b/tests/ts/mount/uuid
new file mode 100755
index 0000000..e29ad39
--- /dev/null
+++ b/tests/ts/mount/uuid
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by uuid"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
+
+ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
+
+# variant A)
+$TS_CMD_MOUNT -U $UUID $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "A) Cannot umount $DEVICE" $DEVICE
+
+# variant B)
+$TS_CMD_MOUNT UUID=$UUID $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "B) Cannot find $DEVICE in /proc/mounts" $DEVICE
+$TS_CMD_UMOUNT $DEVICE || ts_die "B) Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/namei/logic b/tests/ts/namei/logic
new file mode 100755
index 0000000..eda5d1b
--- /dev/null
+++ b/tests/ts/namei/logic
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="basic functionality"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+cd $TS_OUTDIR
+
+mkdir -p namei1/namei2
+touch namei1/namei2/a namei1/namei2/b
+
+$TS_CMD_NAMEI namei1/namei2/a >> $TS_OUTPUT 2>&1
+$TS_CMD_NAMEI namei1/namei2/b >> $TS_OUTPUT 2>&1
+$TS_CMD_NAMEI namei1/namei2/a/b >> $TS_OUTPUT 2>&1
+
+ts_finalize
+
diff --git a/tests/ts/partx/partx b/tests/ts/partx/partx
new file mode 100755
index 0000000..f09d96b
--- /dev/null
+++ b/tests/ts/partx/partx
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2010 Davidlohr Bueso <dave@gnu.org>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="partitions probing"
+TS_IMGDIR="$TS_TOPDIR/ts/blkid/images-pt"
+
+. $TS_TOPDIR/functions.sh
+
+ts_init "$*"
+
+if [ ! -x "$TS_CMD_PARTX" ]; then
+ ts_skip "partx disabled"
+fi
+
+mkdir -p $TS_OUTDIR/images-pt
+
+for img in $(ls $TS_IMGDIR/*.img.bz2 | sort); do
+ name=$(basename $img .img.bz2)
+ outimg=$TS_OUTDIR/images-pt/${name}.img
+
+ ts_init_subtest $name
+
+ bunzip2 < $img > $outimg
+
+ $TS_CMD_PARTX $outimg &> $TS_OUTPUT
+ ts_finalize_subtest
+done
+
+ts_finalize
diff --git a/tests/ts/paths/built-in b/tests/ts/paths/built-in
new file mode 100755
index 0000000..84ee555
--- /dev/null
+++ b/tests/ts/paths/built-in
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="built-in"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+$TS_HELPER_PATHS &> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/schedutils/cpuset b/tests/ts/schedutils/cpuset
new file mode 100755
index 0000000..f3f11dd
--- /dev/null
+++ b/tests/ts/schedutils/cpuset
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="cpuset"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+MASKS=" 0x00000001 \
+ 0x00000002 \
+ 0x00000003 \
+ 0x00000004 \
+ 0x00000005 \
+ 0x00000006 \
+ 0x00000007 \
+ 0x00000008 \
+ 0x00000009 \
+ 0x00005555 \
+ 0x00007777"
+
+RANGES="0 \
+ 1 \
+ 0,1 \
+ 2 \
+ 0,2 \
+ 1,2 \
+ 0-2 \
+ 3 \
+ 0,3 \
+ 0,2,4,6,8,10,12,14 \
+ 0-2,4-6,8-10,12-14"
+
+ts_log "masks:"
+for i in $MASKS; do
+ $TS_HELPER_CPUSET --mask $i >> $TS_OUTPUT
+done
+
+ts_log "strings:"
+for i in $RANGES; do
+ $TS_HELPER_CPUSET --range $i >> $TS_OUTPUT
+done
+
+ts_finalize
diff --git a/tests/ts/script/race b/tests/ts/script/race
new file mode 100755
index 0000000..e482264
--- /dev/null
+++ b/tests/ts/script/race
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="race conditions"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+bingofile="$TS_OUTDIR/${TS_TESTNAME}-bingo"
+
+set -o pipefail
+
+for i in `seq 1 1000`; do
+ $TS_CMD_SCRIPT -q -c "printf 'Bingo\n'" $bingofile
+done | grep -c Bingo >> $TS_OUTPUT
+
+rm -f $bingofile
+
+ts_finalize
+
diff --git a/tests/ts/swapon/devname b/tests/ts/swapon/devname
new file mode 100755
index 0000000..cbab128
--- /dev/null
+++ b/tests/ts/swapon/devname
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by devname"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+$TS_CMD_MKSWAP $DEVICE > /dev/null 2>> $TS_OUTPUT \
+ || ts_die "Cannot make swap $DEVICE" $DEVICE
+
+ts_device_has "TYPE" "swap" $DEVICE || ts_die "Cannot find swap on $DEVICE" $DEVICE
+
+$TS_CMD_SWAPON $DEVICE 2>&1 >> $TS_OUTPUT
+
+grep -q $DEVICE /proc/swaps || ts_die "Cannot find $DEVICE in /proc/swaps" $DEVICE
+
+$TS_CMD_SWAPOFF $DEVICE
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/swapon/fixpgsz b/tests/ts/swapon/fixpgsz
new file mode 100755
index 0000000..0a694ad
--- /dev/null
+++ b/tests/ts/swapon/fixpgsz
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="fix page size"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+PAGESIZE=$($TS_HELPER_SYSINFO pagesize)
+
+#
+# Create a swap-area with incompatible page size
+#
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+if [ $(( 64 * 1024 )) -ne $PAGESIZE ]; then
+ BADSIZE=$(( 64 * 1024 ))
+else
+ BADSIZE=4096
+fi
+
+DEVICE=$(ts_device_init)
+
+$TS_CMD_MKSWAP -L MyFooBarLabel --pagesize $BADSIZE $DEVICE > /dev/null &> /dev/null \
+ || ts_die "Cannot make swap $DEVICE" $DEVICE
+
+ts_device_has "TYPE" "swap" $DEVICE || ts_die "Cannot find swap on $DEVICE" $DEVICE
+
+#
+# Swapon
+#
+$TS_CMD_SWAPON --fixpgsz $DEVICE &> /dev/null
+
+grep -q $DEVICE /proc/swaps || ts_die "Cannot find $DEVICE in /proc/swaps" $DEVICE
+
+$TS_CMD_SWAPOFF $DEVICE
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/swapon/fixsig b/tests/ts/swapon/fixsig
new file mode 100755
index 0000000..2005dec
--- /dev/null
+++ b/tests/ts/swapon/fixsig
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="fix signature"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+PAGESIZE=$($TS_HELPER_SYSINFO pagesize)
+
+#
+# Create a swap-area
+#
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+$TS_CMD_MKSWAP $DEVICE > /dev/null 2>> $TS_OUTPUT \
+ || ts_die "Cannot make swap $DEVICE" $DEVICE
+
+ts_device_has "TYPE" "swap" $DEVICE || ts_die "Cannot find swap on $DEVICE" $DEVICE
+
+#
+# Rewrite signature to swsuspend
+#
+echo "S2SUSPEND " > $TS_OUTPUT.signature
+dd if=$TS_OUTPUT.signature of=$DEVICE \
+ seek=$(( $PAGESIZE - 10 )) count=10 bs=1 conv=notrunc &> /dev/null
+
+ts_device_has "TYPE" "swsuspend" $DEVICE || ts_die "Cannot find swsuspend on $DEVICE" $DEVICE
+
+#
+# Swapon
+#
+$TS_CMD_SWAPON $DEVICE &> /dev/null
+
+grep -q $DEVICE /proc/swaps || ts_die "Cannot find $DEVICE in /proc/swaps" $DEVICE
+
+$TS_CMD_SWAPOFF $DEVICE
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/swapon/label b/tests/ts/swapon/label
new file mode 100755
index 0000000..5df0541
--- /dev/null
+++ b/tests/ts/swapon/label
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by label"
+LABEL="testSwapLabel"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+$TS_CMD_MKSWAP -L $LABEL $DEVICE > /dev/null 2>> $TS_OUTPUT \
+ || ts_die "Cannot make swap on $DEVICE" $DEVICE
+
+ts_device_has "LABEL" $LABEL $DEVICE \
+ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" $DEVICE
+
+$TS_CMD_SWAPON -L $LABEL 2>&1 >> $TS_OUTPUT
+
+grep -q $DEVICE /proc/swaps || ts_die "Cannot find $DEVICE in /proc/swaps" $DEVICE
+
+$TS_CMD_SWAPOFF $DEVICE
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/swapon/uuid b/tests/ts/swapon/uuid
new file mode 100755
index 0000000..f40720c
--- /dev/null
+++ b/tests/ts/swapon/uuid
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="by uuid"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+set -o pipefail
+
+DEVICE=$(ts_device_init)
+[ "$?" == 0 ] || ts_die "Cannot init device"
+
+$TS_CMD_MKSWAP $DEVICE > /dev/null 2>> $TS_OUTPUT \
+ || ts_die "Cannot make swap $DEVICE" $DEVICE
+
+ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+$TS_CMD_SWAPON -U $UUID 2>&1 >> $TS_OUTPUT
+
+grep -q $DEVICE /proc/swaps || ts_die "Cannot find $DEVICE in /proc/swaps" $DEVICE
+
+$TS_CMD_SWAPOFF $DEVICE
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/text-utils/Makemodule.am b/text-utils/Makemodule.am
new file mode 100644
index 0000000..23185ea
--- /dev/null
+++ b/text-utils/Makemodule.am
@@ -0,0 +1,81 @@
+
+usrbin_exec_PROGRAMS += \
+ col \
+ colcrt \
+ colrm \
+ column \
+ hexdump \
+ rev \
+ tailf
+
+dist_man_MANS += \
+ text-utils/col.1 \
+ text-utils/colcrt.1 \
+ text-utils/colrm.1 \
+ text-utils/column.1 \
+ text-utils/hexdump.1 \
+ text-utils/rev.1 \
+ text-utils/tailf.1
+
+col_SOURCES = text-utils/col.c
+col_LDADD = $(LDADD) libcommon.la
+
+colcrt_SOURCES = text-utils/colcrt.c
+
+colrm_SOURCES = text-utils/colrm.c
+colrm_LDADD = $(LDADD) libcommon.la
+
+column_SOURCES = text-utils/column.c
+column_LDADD = $(LDADD) libcommon.la
+
+hexdump_SOURCES = \
+ text-utils/conv.c \
+ text-utils/display.c \
+ text-utils/hexdump.c \
+ text-utils/hexdump.h \
+ text-utils/hexsyntax.c \
+ text-utils/parse.c
+hexdump_LDADD = $(LDADD) libcommon.la
+
+rev_SOURCES = text-utils/rev.c
+
+tailf_SOURCES = text-utils/tailf.c
+tailf_LDADD = $(LDADD) libcommon.la
+
+if BUILD_LINE
+usrbin_exec_PROGRAMS += line
+line_SOURCES = text-utils/line.c
+dist_man_MANS += text-utils/line.1
+endif
+
+# TODO: add BUILD_{MORE,UL,PG} ./configure.am
+if HAVE_NCURSES
+bin_PROGRAMS += more
+more_SOURCES = text-utils/more.c
+
+usrbin_exec_PROGRAMS += ul pg
+ul_SOURCES = text-utils/ul.c
+pg_SOURCES = text-utils/pg.c
+
+if HAVE_TINFO
+more_LDADD = $(LDADD) -ltinfo
+pg_LDADD = $(LDADD) -ltinfo @NCURSES_LIBS@
+ul_LDADD = $(LDADD) -ltinfo
+else
+more_LDADD = $(LDADD) @NCURSES_LIBS@
+pg_LDADD = $(LDADD) @NCURSES_LIBS@
+ul_LDADD = $(LDADD) @NCURSES_LIBS@
+endif
+
+dist_man_MANS += \
+ text-utils/ul.1 \
+ text-utils/more.1 \
+ text-utils/pg.1
+else
+if HAVE_TERMCAP
+bin_PROGRAMS += more
+more_SOURCES = text-utils/more.c
+more_LDADD = $(LDADD) -ltermcap
+dist_man_MANS += text-utils/more.1
+endif
+endif # !HAVE_NCURSES
diff --git a/text-utils/col.1 b/text-utils/col.1
new file mode 100644
index 0000000..9efc72f
--- /dev/null
+++ b/text-utils/col.1
@@ -0,0 +1,161 @@
+.\" Copyright (c) 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Michael Rendell.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)col.1 6.8 (Berkeley) 6/17/91
+.\"
+.TH COL "1" "September 2011" "util-linux" "User Commands"
+.SH COL
+col - filter reverse line feeds from input
+.SH SYNOPSIS
+.B col
+[options]
+.SH DESCRIPTION
+.B col
+filters out reverse (and half-reverse) line feeds so the output is in the
+correct order with only forward and half-forward line feeds, and replaces
+white-space characters with tabs where possible. This can be useful in
+processing the output of
+.BR nroff (1)
+and
+.BR tbl (1).
+.PP
+.B col
+reads from standard input and writes to standard output.
+.SH OPTIONS
+.TP
+\fB\-b\fR, \fB\-\-no-backspaces\fR
+Do not output any backspaces, printing only the last character written to
+each column position.
+.TP
+\fB\-f\fR, \fB\-\-fine\fR
+Forward half line feeds are permitted
+.I fine
+mode. Normally characters printed on a half-line boundary are printed on the
+following line.
+.TP
+\fB\-p\fR, \fB\-\-pass\fR
+Force unknown control sequences to be passed through unchanged. Normally,
+.B col
+will filter out any control sequences from the input other than those
+recognized and interpreted by itself, which are listed below.
+.TP
+\fB\-h\fR, \fB\-\-tabs\fR
+Output tabs instead of multiple spaces.
+.TP
+\fB\-x\fR, \fB\-\-spaces\fR
+Output multiple spaces instead of tabs.
+.It Fl l, Fl Fl lines Ar num
+.TP
+\fB\-l\fR, \fB\-\-lines\fR \fInumber\fR
+Buffer at least
+.I number
+lines in memory. By default, 128 lines are buffered.
+.It Fl V, Fl Fl version
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.TP
+\fB\-H\fR, \fB\-\-help\fR
+Output help and exit.
+.SH NOTES
+The control sequences for carriage motion that
+.B col
+understands and their decimal values are listed in the following table:
+.PP
+.RS
+.PD 0
+.TP 18
+.B ESC\-7
+reverse line feed (escape then 7)
+.TP
+.B ESC\-8
+half reverse line feed (escape then 8)
+.TP
+.B ESC\-9
+half forward line feed (escape then 9)
+.TP
+.B backspace
+moves back one column (8); ignored in the first column
+.TP
+.B newline
+forward line feed (10); also does carriage return
+.TP
+.B carriage return
+(13)
+.TP
+.B shift in
+shift to normal character set (15)
+.TP
+.B shift out
+shift to alternate character set (14)
+.TP
+.B space
+moves forward one column (32)
+.TP
+.B tab
+moves forward to next tab stop (9)
+.TP
+.B vertical tab
+reverse line feed (11)
+.PD
+.RE
+.PP
+All unrecognized control characters and escape sequences are discarded.
+.PP
+.B col
+keeps track of the character set as characters are read and makes sure the
+character set is correct when they are output.
+.PP
+If the input attempts to back up to the last flushed line,
+.B col
+will display a warning message.
+.SH SEE ALSO
+.BR expand (1),
+.BR nroff (1),
+.BR tbl (1)
+.SH STANDARDS
+The
+.B col
+utility conforms to the Single UNIX Specification, Version 2. The
+.B \-l
+option is an extension to the standard.
+.SH HISTORY
+A
+.B col
+command appeared in Version 6 AT&T UNIX.
+.SH AVAILABILITY
+The col command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/text-utils/col.c b/text-utils/col.c
new file mode 100644
index 0000000..57fa475
--- /dev/null
+++ b/text-utils/col.c
@@ -0,0 +1,576 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Michael Rendell of the Memorial University of Newfoundland.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Wed Jun 22 22:15:41 1994, faith@cs.unc.edu: Added internationalization
+ * patches from Andries.Brouwer@cwi.nl
+ * Wed Sep 14 22:31:17 1994: patches from Carl Christofferson
+ * (cchris@connected.com)
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * added Native Language Support
+ * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
+ * modified to work correctly in multi-byte locales
+ *
+ */
+
+#include <stdlib.h>
+#include <errno.h>
+#include <ctype.h>
+#include <string.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <getopt.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "widechar.h"
+#include "strutils.h"
+#include "closestream.h"
+
+#define BS '\b' /* backspace */
+#define TAB '\t' /* tab */
+#define SPACE ' ' /* space */
+#define NL '\n' /* newline */
+#define CR '\r' /* carriage return */
+#define ESC '\033' /* escape */
+#define SI '\017' /* shift in to normal character set */
+#define SO '\016' /* shift out to alternate character set */
+#define VT '\013' /* vertical tab (aka reverse line feed) */
+#define RLF '\007' /* ESC-07 reverse line feed */
+#define RHLF '\010' /* ESC-010 reverse half-line feed */
+#define FHLF '\011' /* ESC-011 forward half-line feed */
+
+/* build up at least this many lines before flushing them out */
+#define BUFFER_MARGIN 32
+
+typedef char CSET;
+
+typedef struct char_str {
+#define CS_NORMAL 1
+#define CS_ALTERNATE 2
+ short c_column; /* column character is in */
+ CSET c_set; /* character set (currently only 2) */
+ wchar_t c_char; /* character in question */
+ int c_width; /* character width */
+} CHAR;
+
+typedef struct line_str LINE;
+struct line_str {
+ CHAR *l_line; /* characters on the line */
+ LINE *l_prev; /* previous line */
+ LINE *l_next; /* next line */
+ int l_lsize; /* allocated sizeof l_line */
+ int l_line_len; /* strlen(l_line) */
+ int l_needs_sort; /* set if chars went in out of order */
+ int l_max_col; /* max column in the line */
+};
+
+void free_line(LINE *l);
+void flush_line(LINE *l);
+void flush_lines(int);
+void flush_blanks(void);
+LINE *alloc_line(void);
+
+CSET last_set; /* char_set of last char printed */
+LINE *lines;
+int compress_spaces; /* if doing space -> tab conversion */
+int fine; /* if `fine' resolution (half lines) */
+unsigned max_bufd_lines; /* max # lines to keep in memory */
+int nblank_lines; /* # blanks after last flushed line */
+int no_backspaces; /* if not to output any backspaces */
+int pass_unknown_seqs; /* whether to pass unknown control sequences */
+
+#define PUTC(ch) \
+ if (putwchar(ch) == WEOF) \
+ wrerr();
+
+static void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fprintf(out, _(
+ "\nUsage:\n"
+ " %s [options]\n"), program_invocation_short_name);
+
+ fprintf(out, _(
+ "\nOptions:\n"
+ " -b, --no-backspaces do not output backspaces\n"
+ " -f, --fine permit forward half line feeds\n"
+ " -p, --pass pass unknown control sequences\n"
+ " -h, --tabs convert spaces to tabs\n"
+ " -x, --spaces convert tabs to spaces\n"
+ " -l, --lines NUM buffer at least NUM lines\n"
+ " -V, --version output version information and exit\n"
+ " -H, --help display this help and exit\n\n"));
+
+ fprintf(out, _(
+ "%s reads from standard input and writes to standard output\n\n"),
+ program_invocation_short_name);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void __attribute__((__noreturn__)) wrerr()
+{
+ errx(EXIT_FAILURE, _("write error."));
+}
+
+int main(int argc, char **argv)
+{
+ register wint_t ch;
+ CHAR *c;
+ CSET cur_set; /* current character set */
+ LINE *l; /* current line */
+ int extra_lines; /* # of lines above first line */
+ int cur_col; /* current column */
+ int cur_line; /* line number of current position */
+ int max_line; /* max value of cur_line */
+ int this_line; /* line l points to */
+ int nflushd_lines; /* number of lines that were flushed */
+ int adjust, opt, warned;
+ int ret = EXIT_SUCCESS;
+
+ static const struct option longopts[] = {
+ { "no-backspaces", no_argument, 0, 'b' },
+ { "fine", no_argument, 0, 'f' },
+ { "pass", no_argument, 0, 'p' },
+ { "tabs", no_argument, 0, 'h' },
+ { "spaces", no_argument, 0, 'x' },
+ { "lines", required_argument, 0, 'l' },
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'H' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ max_bufd_lines = 128 * 2;
+ compress_spaces = 1; /* compress spaces into tabs */
+ pass_unknown_seqs = 0; /* remove unknown escape sequences */
+
+ while ((opt = getopt_long(argc, argv, "bfhl:pxVH", longopts, NULL)) != -1)
+ switch (opt) {
+ case 'b': /* do not output backspaces */
+ no_backspaces = 1;
+ break;
+ case 'f': /* allow half forward line feeds */
+ fine = 1;
+ break;
+ case 'h': /* compress spaces into tabs */
+ compress_spaces = 1;
+ break;
+ case 'l':
+ /*
+ * Buffered line count, which is a value in half
+ * lines e.g. twice the amount specified.
+ */
+ max_bufd_lines = strtou32_or_err(optarg, _("bad -l argument")) * 2;
+ break;
+ case 'p':
+ pass_unknown_seqs = 1;
+ break;
+ case 'x': /* do not compress spaces into tabs */
+ compress_spaces = 0;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'H':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (optind != argc)
+ usage(stderr);
+
+ adjust = cur_col = extra_lines = warned = 0;
+ cur_line = max_line = nflushd_lines = this_line = 0;
+ cur_set = last_set = CS_NORMAL;
+ lines = l = alloc_line();
+
+ while (feof(stdin) == 0) {
+ errno = 0;
+ if ((ch = getwchar()) == WEOF) {
+ if (errno == EILSEQ) {
+ warn(NULL);
+ ret = EXIT_FAILURE;
+ }
+ break;
+ }
+ if (!iswgraph(ch)) {
+ switch (ch) {
+ case BS: /* can't go back further */
+ if (cur_col == 0)
+ continue;
+ --cur_col;
+ continue;
+ case CR:
+ cur_col = 0;
+ continue;
+ case ESC: /* just ignore EOF */
+ switch(getwchar()) {
+ case RLF:
+ cur_line -= 2;
+ break;
+ case RHLF:
+ cur_line--;
+ break;
+ case FHLF:
+ cur_line++;
+ if (cur_line > max_line)
+ max_line = cur_line;
+ }
+ continue;
+ case NL:
+ cur_line += 2;
+ if (cur_line > max_line)
+ max_line = cur_line;
+ cur_col = 0;
+ continue;
+ case SPACE:
+ ++cur_col;
+ continue;
+ case SI:
+ cur_set = CS_NORMAL;
+ continue;
+ case SO:
+ cur_set = CS_ALTERNATE;
+ continue;
+ case TAB: /* adjust column */
+ cur_col |= 7;
+ ++cur_col;
+ continue;
+ case VT:
+ cur_line -= 2;
+ continue;
+ }
+ if (iswspace(ch)) {
+ if (wcwidth(ch) > 0)
+ cur_col += wcwidth(ch);
+ continue;
+ }
+ if (!pass_unknown_seqs)
+ continue;
+ }
+
+ /* Must stuff ch in a line - are we at the right one? */
+ if (cur_line != this_line - adjust) {
+ LINE *lnew;
+ int nmove;
+
+ adjust = 0;
+ nmove = cur_line - this_line;
+ if (!fine) {
+ /* round up to next line */
+ if (cur_line & 1) {
+ adjust = 1;
+ nmove++;
+ }
+ }
+ if (nmove < 0) {
+ for (; nmove < 0 && l->l_prev; nmove++)
+ l = l->l_prev;
+ if (nmove) {
+ if (nflushd_lines == 0) {
+ /*
+ * Allow backup past first
+ * line if nothing has been
+ * flushed yet.
+ */
+ for (; nmove < 0; nmove++) {
+ lnew = alloc_line();
+ l->l_prev = lnew;
+ lnew->l_next = l;
+ l = lines = lnew;
+ extra_lines++;
+ }
+ } else {
+ if (!warned++)
+ warnx(
+ _("warning: can't back up %s."), cur_line < 0 ?
+ _("past first line") : _("-- line already flushed"));
+ cur_line -= nmove;
+ }
+ }
+ } else {
+ /* may need to allocate here */
+ for (; nmove > 0 && l->l_next; nmove--)
+ l = l->l_next;
+ for (; nmove > 0; nmove--) {
+ lnew = alloc_line();
+ lnew->l_prev = l;
+ l->l_next = lnew;
+ l = lnew;
+ }
+ }
+ this_line = cur_line + adjust;
+ nmove = this_line - nflushd_lines;
+ if (nmove > 0
+ && (unsigned) nmove >= max_bufd_lines + BUFFER_MARGIN) {
+ nflushd_lines += nmove - max_bufd_lines;
+ flush_lines(nmove - max_bufd_lines);
+ }
+ }
+ /* grow line's buffer? */
+ if (l->l_line_len + 1 >= l->l_lsize) {
+ int need;
+
+ need = l->l_lsize ? l->l_lsize * 2 : 90;
+ l->l_line = (CHAR *)xrealloc((void *) l->l_line,
+ (unsigned) need * sizeof(CHAR));
+ l->l_lsize = need;
+ }
+ c = &l->l_line[l->l_line_len++];
+ c->c_char = ch;
+ c->c_set = cur_set;
+ c->c_column = cur_col;
+ c->c_width = wcwidth(ch);
+ /*
+ * If things are put in out of order, they will need sorting
+ * when it is flushed.
+ */
+ if (cur_col < l->l_max_col)
+ l->l_needs_sort = 1;
+ else
+ l->l_max_col = cur_col;
+ if (c->c_width > 0)
+ cur_col += c->c_width;
+ }
+ /* goto the last line that had a character on it */
+ for (; l->l_next; l = l->l_next)
+ this_line++;
+ flush_lines(this_line - nflushd_lines + extra_lines + 1);
+
+ /* make sure we leave things in a sane state */
+ if (last_set != CS_NORMAL)
+ PUTC('\017');
+
+ /* flush out the last few blank lines */
+ nblank_lines = max_line - this_line;
+ if (max_line & 1)
+ nblank_lines++;
+ else if (!nblank_lines)
+ /* missing a \n on the last line? */
+ nblank_lines = 2;
+ flush_blanks();
+ return ret;
+}
+
+void flush_lines(int nflush)
+{
+ LINE *l;
+
+ while (--nflush >= 0) {
+ l = lines;
+ lines = l->l_next;
+ if (l->l_line) {
+ flush_blanks();
+ flush_line(l);
+ }
+ nblank_lines++;
+ if (l->l_line)
+ free((void *)l->l_line);
+ free_line(l);
+ }
+ if (lines)
+ lines->l_prev = NULL;
+}
+
+/*
+ * Print a number of newline/half newlines. If fine flag is set, nblank_lines
+ * is the number of half line feeds, otherwise it is the number of whole line
+ * feeds.
+ */
+void flush_blanks()
+{
+ int half, i, nb;
+
+ half = 0;
+ nb = nblank_lines;
+ if (nb & 1) {
+ if (fine)
+ half = 1;
+ else
+ nb++;
+ }
+ nb /= 2;
+ for (i = nb; --i >= 0;)
+ PUTC('\n');
+ if (half) {
+ PUTC('\033');
+ PUTC('9');
+ if (!nb)
+ PUTC('\r');
+ }
+ nblank_lines = 0;
+}
+
+/*
+ * Write a line to stdout taking care of space to tab conversion (-h flag)
+ * and character set shifts.
+ */
+void flush_line(LINE *l)
+{
+ CHAR *c, *endc;
+ int nchars, last_col, this_col;
+
+ last_col = 0;
+ nchars = l->l_line_len;
+
+ if (l->l_needs_sort) {
+ static CHAR *sorted;
+ static int count_size, *count, i, save, sorted_size, tot;
+
+ /*
+ * Do an O(n) sort on l->l_line by column being careful to
+ * preserve the order of characters in the same column.
+ */
+ if (l->l_lsize > sorted_size) {
+ sorted_size = l->l_lsize;
+ sorted = (CHAR *)xrealloc((void *)sorted,
+ (unsigned)sizeof(CHAR) * sorted_size);
+ }
+ if (l->l_max_col >= count_size) {
+ count_size = l->l_max_col + 1;
+ count = (int *)xrealloc((void *)count,
+ (unsigned)sizeof(int) * count_size);
+ }
+ memset(count, 0, sizeof(int) * l->l_max_col + 1);
+ for (i = nchars, c = l->l_line; --i >= 0; c++)
+ count[c->c_column]++;
+
+ /*
+ * calculate running total (shifted down by 1) to use as
+ * indices into new line.
+ */
+ for (tot = 0, i = 0; i <= l->l_max_col; i++) {
+ save = count[i];
+ count[i] = tot;
+ tot += save;
+ }
+
+ for (i = nchars, c = l->l_line; --i >= 0; c++)
+ sorted[count[c->c_column]++] = *c;
+ c = sorted;
+ } else
+ c = l->l_line;
+ while (nchars > 0) {
+ this_col = c->c_column;
+ endc = c;
+ do {
+ ++endc;
+ } while (--nchars > 0 && this_col == endc->c_column);
+
+ /* if -b only print last character */
+ if (no_backspaces) {
+ c = endc - 1;
+ if (nchars > 0 &&
+ this_col + c->c_width > endc->c_column)
+ continue;
+ }
+
+ if (this_col > last_col) {
+ int nspace = this_col - last_col;
+
+ if (compress_spaces && nspace > 1) {
+ int ntabs;
+
+ ntabs = this_col / 8 - last_col / 8;
+ if (ntabs > 0) {
+ nspace = this_col & 7;
+ while (--ntabs >= 0)
+ PUTC('\t');
+ }
+ }
+ while (--nspace >= 0)
+ PUTC(' ');
+ last_col = this_col;
+ }
+
+ for (;;) {
+ if (c->c_set != last_set) {
+ switch (c->c_set) {
+ case CS_NORMAL:
+ PUTC('\017');
+ break;
+ case CS_ALTERNATE:
+ PUTC('\016');
+ }
+ last_set = c->c_set;
+ }
+ PUTC(c->c_char);
+ if ((c + 1) < endc) {
+ int i;
+ for (i=0; i < c->c_width; i++)
+ PUTC('\b');
+ }
+ if (++c >= endc)
+ break;
+ }
+ last_col += (c - 1)->c_width;
+ }
+}
+
+#define NALLOC 64
+
+static LINE *line_freelist;
+
+LINE *
+alloc_line()
+{
+ LINE *l;
+ int i;
+
+ if (!line_freelist) {
+ l = xmalloc(sizeof(LINE) * NALLOC);
+ line_freelist = l;
+ for (i = 1; i < NALLOC; i++, l++)
+ l->l_next = l + 1;
+ l->l_next = NULL;
+ }
+ l = line_freelist;
+ line_freelist = l->l_next;
+
+ memset(l, 0, sizeof(LINE));
+ return l;
+}
+
+void free_line(LINE *l)
+{
+ l->l_next = line_freelist;
+ line_freelist = l;
+}
diff --git a/text-utils/colcrt.1 b/text-utils/colcrt.1
new file mode 100644
index 0000000..f8a5420
--- /dev/null
+++ b/text-utils/colcrt.1
@@ -0,0 +1,102 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)colcrt.1 8.1 (Berkeley) 6/30/93
+.\"
+.TH COLCRT "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+colcrt \- filter nroff output for CRT previewing
+.SH SYNOPSIS
+.B colcrt
+[options] [file ...]
+.SH DESCRIPTION
+.B colcrt
+provides virtual half-line and reverse line feed sequences for terminals
+without such capability, and on which overstriking is destructive.
+Half-line characters and underlining (changed to dashing `\-') are placed on
+new lines in between the normal output lines.
+.SH OPTIONS
+.TP
+\fB\-\fR, \fB\-\-no-underlining\fR
+Suppress all underlining. This option is especially useful for previewing
+.I allboxed
+tables from
+.BR tbl (1).
+.TP
+\fB\-2\fR, \fB\-\-half-lines\fR
+Causes all half-lines to be printed, effectively double spacing the output.
+Normally, a minimal space output format is used which will suppress empty
+lines. The program never suppresses two consecutive empty lines, however.
+The
+.B \-2
+option is useful for sending output to the line printer when the output
+contains superscripts and subscripts which would otherwise be invisible.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Output help and exit.
+.SH EXAMPLES
+A typical use of
+.B colcrt
+would be
+.PP
+tbl exum2.n \&| nroff \-ms \&| colcrt \- \&| more
+.SH SEE ALSO
+.BR nroff (1),
+.BR troff (1),
+.BR col (1),
+.BR more (1),
+.BR ul (1)
+.SH BUGS
+Should fold underlines onto blanks even with the
+.B '\-'
+option so that a true underline character would show.
+.PP
+Can't back up more than 102 lines.
+.PP
+General overstriking is lost; as a special case '|' overstruck with '\-' or
+underline becomes '+'.
+.PP
+Lines are trimmed to 132 characters.
+.PP
+Some provision should be made for processing superscripts and subscripts in
+documents which are already double-spaced.
+.SH HISTORY
+The
+.B colcrt
+command appeared in 3.0BSD.
+.SH AVAILABILITY
+The colcrt command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/text-utils/colcrt.c b/text-utils/colcrt.c
new file mode 100644
index 0000000..3393d0c
--- /dev/null
+++ b/text-utils/colcrt.c
@@ -0,0 +1,324 @@
+/*
+ * Copyright (c) 1980, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * added Native Language Support
+ * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
+ * modified to work correctly in multi-byte locales
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h> /* for close() */
+#include <string.h>
+#include <getopt.h>
+#include "nls.h"
+
+#include "widechar.h"
+#include "c.h"
+#include "closestream.h"
+
+int plus(wchar_t c, wchar_t d);
+void move(int l, int m);
+void pflush(int ol);
+static void __attribute__ ((__noreturn__)) usage(FILE * out);
+
+/*
+ * colcrt - replaces col for crts with new nroff esp. when using tbl.
+ * Bill Joy UCB July 14, 1977
+ *
+ * This filter uses a screen buffer, 267 half-lines by 132 columns.
+ * It interprets the up and down sequences generated by the new
+ * nroff when used with tbl and by \u \d and \r.
+ * General overstriking doesn't work correctly.
+ * Underlining is split onto multiple lines, etc.
+ *
+ * Option - suppresses all underlining.
+ * Option -2 forces printing of all half lines.
+ */
+
+wchar_t page[267][132];
+
+int outline = 1;
+int outcol;
+
+char suppresul;
+char printall;
+
+void colcrt(FILE *f);
+
+int main(int argc, char **argv) {
+ FILE *f;
+ int i, opt;
+ enum { NO_UL_OPTION = CHAR_MAX + 1 };
+
+ static const struct option longopts[] = {
+ { "no-underlining", no_argument, 0, NO_UL_OPTION },
+ { "half-lines", no_argument, 0, '2' },
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'h' },
+ { NULL, 0, 0, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ /* Take care of lonely hyphen option. */
+ for (i = 0; i < argc; i++)
+ if (argv[i][0] == '-' && argv[i][1] == '\0') {
+ suppresul = 1;
+ argc--;
+ memmove(argv + i, argv + i + 1,
+ sizeof(char *) * (argc - i));
+ i--;
+ }
+
+ while ((opt = getopt_long(argc, argv, "2Vh", longopts, NULL)) != -1)
+ switch (opt) {
+ case NO_UL_OPTION:
+ suppresul = 1;
+ break;
+ case '2':
+ printall = 1;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ argc -= optind;
+ argv += optind;
+
+ do {
+ if (argc > 0) {
+ if (!(f = fopen(argv[0], "r"))) {
+ fflush(stdout);
+ err(EXIT_FAILURE, "%s", argv[0]);
+ }
+ argc--;
+ argv++;
+ } else {
+ f = stdin;
+ }
+ colcrt(f);
+ if (f != stdin)
+ fclose(f);
+ } while (argc > 0);
+ fflush(stdout);
+ return EXIT_SUCCESS;
+}
+
+void colcrt(FILE *f) {
+ wint_t c;
+ wchar_t *cp, *dp;
+ int i, w;
+
+ for (;;) {
+ c = getwc(f);
+ if (c == WEOF) {
+ pflush(outline);
+ fflush(stdout);
+ break;
+ }
+ switch (c) {
+ case '\n':
+ if (outline >= 265)
+ pflush(62);
+ outline += 2;
+ outcol = 0;
+ continue;
+ case '\016':
+ case '\017':
+ continue;
+ case 033:
+ c = getwc(f);
+ switch (c) {
+ case '9':
+ if (outline >= 266)
+ pflush(62);
+ outline++;
+ continue;
+ case '8':
+ if (outline >= 1)
+ outline--;
+ continue;
+ case '7':
+ outline -= 2;
+ if (outline < 0)
+ outline = 0;
+ continue;
+ default:
+ continue;
+ }
+ case '\b':
+ if (outcol)
+ outcol--;
+ continue;
+ case '\t':
+ outcol += 8;
+ outcol &= ~7;
+ outcol--;
+ c = ' ';
+ default:
+ w = wcwidth(c);
+ if (outcol + w > 132) {
+ outcol++;
+ continue;
+ }
+ cp = &page[outline][outcol];
+ outcol += w;
+ if (c == '_') {
+ if (suppresul)
+ continue;
+ cp += 132;
+ c = '-';
+ }
+ if (*cp == 0) {
+ /* trick! */
+ for (i = 0; i < w; i++)
+ cp[i] = c;
+ dp = cp - (outcol - w);
+ for (cp--; cp >= dp && *cp == 0; cp--)
+ *cp = ' ';
+ } else {
+ if (plus(c, *cp) || plus(*cp, c))
+ *cp = '+';
+ else if (*cp == ' ' || *cp == 0) {
+ for (i = 1; i < w; i++)
+ if (cp[i] != ' ' && cp[i] != 0)
+ continue;
+ for (i = 0; i < w; i++)
+ cp[i] = c;
+ }
+ }
+ continue;
+ }
+ }
+}
+
+int plus(wchar_t c, wchar_t d)
+{
+
+ return (c == '|' && (d == '-' || d == '_'));
+}
+
+int first;
+
+void pflush(int ol)
+{
+ register int i;
+ register wchar_t *cp;
+ char lastomit;
+ int l, w;
+
+ l = ol;
+ lastomit = 0;
+ if (l > 266)
+ l = 266;
+ else
+ l |= 1;
+ for (i = first | 1; i < l; i++) {
+ move(i, i - 1);
+ move(i, i + 1);
+ }
+ for (i = first; i < l; i++) {
+ cp = page[i];
+ if (printall == 0 && lastomit == 0 && *cp == 0) {
+ lastomit = 1;
+ continue;
+ }
+ lastomit = 0;
+ while (*cp) {
+ if ((w = wcwidth(*cp)) > 0) {
+ putwchar(*cp);
+ cp += w;
+ } else
+ cp++;
+ }
+ putwchar('\n');
+ }
+ memmove(page, page[ol], (267 - ol) * 132 * sizeof(wchar_t));
+ memset(page[267 - ol], '\0', ol * 132 * sizeof(wchar_t));
+ outline -= ol;
+ outcol = 0;
+ first = 1;
+}
+
+void move(int l, int m)
+{
+ register wchar_t *cp, *dp;
+
+ for (cp = page[l], dp = page[m]; *cp; cp++, dp++) {
+ switch (*cp) {
+ case '|':
+ if (*dp != ' ' && *dp != '|' && *dp != 0)
+ return;
+ break;
+ case ' ':
+ break;
+ default:
+ return;
+ }
+ }
+ if (*cp == 0) {
+ for (cp = page[l], dp = page[m]; *cp; cp++, dp++)
+ if (*cp == '|')
+ *dp = '|';
+ else if (*dp == 0)
+ *dp = ' ';
+ page[l][0] = 0;
+ }
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out,
+ _("\nUsage:\n"
+ " %s [options] [file ...]\n"), program_invocation_short_name);
+
+ fprintf(out,
+ _(" -, --no-underlining suppress all underlining\n"
+ " -2, --half-lines print all half-lines\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
diff --git a/text-utils/colrm.1 b/text-utils/colrm.1
new file mode 100644
index 0000000..03c7f13
--- /dev/null
+++ b/text-utils/colrm.1
@@ -0,0 +1,75 @@
+.\" Copyright (c) 1980, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)colrm.1 6.6 (Berkeley) 3/14/91
+.\"
+.TH COLRM "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+colrm \- remove columns from a file
+.SH SYNOPSIS
+.B colrm
+.RI [ first \ [ last ]]
+.SH DESCRIPTION
+.B colrm
+removes selected columns from a file. Input is taken from standard input.
+Output is sent to standard output.
+.PP
+If called with one parameter the columns of each line will be removed
+starting with the specified
+.I first
+column. If called with two parameters the columns from the
+.I first
+column to the
+.I last
+column will be removed.
+.PP
+Column numbering starts with column 1.
+.SH OPTIONS
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Output help and exit.
+.SH SEE ALSO
+.BR awk (1),
+.BR column (1),
+.BR expand (1),
+.BR paste (1)
+.SH HISTORY
+The
+.B colrm
+command appeared in 3.0BSD.
+.SH AVAILABILITY
+The colrm command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/text-utils/colrm.c b/text-utils/colrm.c
new file mode 100644
index 0000000..a241fb8
--- /dev/null
+++ b/text-utils/colrm.c
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * added Native Language Support
+ * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
+ * modified to work correctly in multi-byte locales
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <unistd.h>
+
+#include "nls.h"
+#include "widechar.h"
+#include "strutils.h"
+#include "c.h"
+#include "closestream.h"
+
+/*
+COLRM removes unwanted columns from a file
+ Jeff Schriebman UC Berkeley 11-74
+*/
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, _("\nUsage:\n"
+ " %s [startcol [endcol]]\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _("\nOptions:\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"));
+
+ fprintf(out, _("%s reads from standard input and writes to standard output\n\n"),
+ program_invocation_short_name);
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static int process_input(unsigned long first, unsigned long last)
+{
+ unsigned long ct = 0;
+ wint_t c;
+ unsigned long i;
+ int w;
+ int padding;
+
+ for (;;) {
+ c = getwc(stdin);
+ if (c == WEOF)
+ return 0;
+ if (c == '\t')
+ w = ((ct + 8) & ~7) - ct;
+ else if (c == '\b')
+ w = (ct ? ct - 1 : 0) - ct;
+ else {
+ w = wcwidth(c);
+ if (w < 0)
+ w = 0;
+ }
+ ct += w;
+ if (c == '\n') {
+ putwc(c, stdout);
+ ct = 0;
+ continue;
+
+ }
+ if (!first || ct < first) {
+ putwc(c, stdout);
+ continue;
+ }
+ break;
+ }
+
+ for (i = ct - w + 1; i < first; i++)
+ putwc(' ', stdout);
+
+ /* Loop getting rid of characters */
+ while (!last || ct < last) {
+ c = getwc(stdin);
+ if (c == WEOF)
+ return 0;
+ if (c == '\n') {
+ putwc(c, stdout);
+ return 1;
+ }
+ if (c == '\t')
+ ct = (ct + 8) & ~7;
+ else if (c == '\b')
+ ct = ct ? ct - 1 : 0;
+ else {
+ w = wcwidth(c);
+ if (w < 0)
+ w = 0;
+ ct += w;
+ }
+ }
+
+ padding = 0;
+
+ /* Output last of the line */
+ for (;;) {
+ c = getwc(stdin);
+ if (c == WEOF)
+ break;
+ if (c == '\n') {
+ putwc(c, stdout);
+ return 1;
+ }
+ if (padding == 0 && last < ct) {
+ for (i = last; i < ct; i++)
+ putwc(' ', stdout);
+ padding = 1;
+ }
+ putwc(c, stdout);
+ }
+ return 0;
+}
+
+int main(int argc, char **argv)
+{
+ unsigned long first = 0, last = 0;
+ int opt;
+
+ static const struct option longopts[] = {
+ {"version", no_argument, 0, 'V'},
+ {"help", no_argument, 0, 'h'},
+ {NULL, 0, 0, 0}
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ while ((opt =
+ getopt_long(argc, argv, "bfhl:pxVH", longopts,
+ NULL)) != -1)
+ switch (opt) {
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (argc > 1)
+ first = strtoul_or_err(*++argv, _("first argument"));
+ if (argc > 2)
+ last = strtoul_or_err(*++argv, _("second argument"));
+
+ while (process_input(first, last))
+ ;
+
+ fflush(stdout);
+ return EXIT_SUCCESS;
+}
diff --git a/text-utils/column.1 b/text-utils/column.1
new file mode 100644
index 0000000..2050666
--- /dev/null
+++ b/text-utils/column.1
@@ -0,0 +1,77 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)column.1 8.1 (Berkeley) 6/6/93
+.\"
+.TH COLUMN 1 "October 2010" "util-linux" "User Commands"
+.SH NAME
+column - columnate lists
+.SH SYNOPSIS
+.B column
+.RI [ options ]
+.IR file ...
+.SH DESCRIPTION
+The
+.B column
+utility formats its input into multiple columns. Rows
+are filled before columns. Input is taken from \fIfile\fR or, by
+default, from standard input. Empty lines are ignored.
+.PP
+.SH OPTIONS
+.IP "\fB\-c, \-\-columns\fP \fIwidth\fP"
+Output is formatted to a width specified as number of characters.
+.IP "\fB\-t, \-\-table\fP"
+Determine the number of columns the input contains and create a table.
+Columns are delimited with whitespace, by default, or with the characters
+supplied using the separator. Table output is useful for pretty-printing.
+.IP "\fB\-s, \-\-separator\fP \fIseparator\fP"
+Specify table separator (default is whitespace).
+.IP "\fB\-x, \-\-fillrows\fP"
+Fill columns before filling rows.
+.IP "\fB\-h, \-\-help\fP"
+Print help and exit.
+.SH ENVIRONMENT
+The environment variable COLUMNS is used to determine the size of
+the screen if no other information is available.
+.SH EXAMPLES
+.nf
+sed 's/#.*//' /etc/fstab | column -t
+.nf
+.SH "SEE ALSO"
+.BR colrm (1),
+.BR ls (1),
+.BR paste (1),
+.BR sort (1)
+.SH HISTORY
+The column command appeared in 4.3BSD-Reno.
+.SH AVAILABILITY
+The column command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/text-utils/column.c b/text-utils/column.c
new file mode 100644
index 0000000..f33cc14
--- /dev/null
+++ b/text-utils/column.c
@@ -0,0 +1,417 @@
+/*
+ * Copyright (c) 1989, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * added Native Language Support
+ * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
+ * modified to work correctly in multi-byte locales
+ */
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <ctype.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <getopt.h>
+
+#include "nls.h"
+#include "widechar.h"
+#include "c.h"
+#include "xalloc.h"
+#include "strutils.h"
+#include "closestream.h"
+#include "ttyutils.h"
+
+#ifdef HAVE_WIDECHAR
+#define wcs_width(s) wcswidth(s,wcslen(s))
+static wchar_t *mbs_to_wcs(const char *);
+#else
+#define wcs_width(s) strlen(s)
+#define mbs_to_wcs(s) xstrdup(s)
+static char *mtsafe_strtok(char *, const char *, char **);
+#define wcstok mtsafe_strtok
+#endif
+
+#define DEFCOLS 25
+#define TAB 8
+#define DEFNUM 1000
+#define MAXLINELEN (LINE_MAX + 1)
+
+static int input(FILE *fp, int *maxlength, wchar_t ***list, int *entries);
+static void c_columnate(int maxlength, long termwidth, wchar_t **list, int entries);
+static void r_columnate(int maxlength, long termwidth, wchar_t **list, int entries);
+static void maketbl(wchar_t **list, int entries, wchar_t *separator);
+static void print(wchar_t **list, int entries);
+
+typedef struct _tbl {
+ wchar_t **list;
+ int cols, *len;
+} TBL;
+
+static void __attribute__((__noreturn__)) usage(int rc)
+{
+ FILE *out = rc == EXIT_FAILURE ? stderr : stdout;
+
+ fprintf(out, _("\nUsage: %s [options] [file ...]\n"),
+ program_invocation_short_name);
+ fprintf(out, _("\nOptions:\n"));
+
+ fprintf(out, _(
+ " -h, --help displays this help text\n"
+ " -V, --version output version information and exit\n"
+ " -c, --columns <width> width of output in number of characters\n"
+ " -t, --table create a table\n"
+ " -s, --separator <string> table delimeter\n"
+ " -x, --fillrows fill rows before columns\n"));
+
+ fprintf(out, _("\nFor more information see column(1).\n"));
+ exit(rc);
+}
+
+int main(int argc, char **argv)
+{
+ int ch, tflag = 0, xflag = 0;
+ int i;
+ int termwidth = 80;
+ int entries = 0; /* number of records */
+ unsigned int eval = 0; /* exit value */
+ int maxlength = 0; /* longest record */
+ wchar_t **list = NULL; /* array of pointers to records */
+
+ /* field separator for table option */
+ wchar_t default_separator[] = { '\t', ' ', 0 };
+ wchar_t *separator = default_separator;
+
+ static const struct option longopts[] =
+ {
+ { "help", 0, 0, 'h' },
+ { "version", 0, 0, 'V' },
+ { "columns", 1, 0, 'c' },
+ { "table", 0, 0, 't' },
+ { "separator", 1, 0, 's' },
+ { "fillrows", 0, 0, 'x' },
+ { NULL, 0, 0, 0 },
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ termwidth = get_terminal_width();
+ if (termwidth <= 0)
+ termwidth = 80;
+
+ while ((ch = getopt_long(argc, argv, "hVc:s:tx", longopts, NULL)) != -1)
+ switch(ch) {
+ case 'h':
+ usage(EXIT_SUCCESS);
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'c':
+ termwidth = strtou32_or_err(optarg, _("invalid columns argument"));
+ break;
+ case 's':
+ separator = mbs_to_wcs(optarg);
+ break;
+ case 't':
+ tflag = 1;
+ break;
+ case 'x':
+ xflag = 1;
+ break;
+ default:
+ usage(EXIT_FAILURE);
+ }
+ argc -= optind;
+ argv += optind;
+
+ if (!*argv)
+ eval += input(stdin, &maxlength, &list, &entries);
+ else
+ for (; *argv; ++argv) {
+ FILE *fp;
+
+ if ((fp = fopen(*argv, "r")) != NULL) {
+ eval += input(fp, &maxlength, &list, &entries);
+ fclose(fp);
+ } else {
+ warn("%s", *argv);
+ eval += EXIT_FAILURE;
+ }
+ }
+
+ if (!entries)
+ exit(eval);
+
+ if (tflag)
+ maketbl(list, entries, separator);
+ else if (maxlength >= termwidth)
+ print(list, entries);
+ else if (xflag)
+ c_columnate(maxlength, termwidth, list, entries);
+ else
+ r_columnate(maxlength, termwidth, list, entries);
+
+ for (i = 0; i < entries; i++)
+ free(list[i]);
+ free(list);
+
+ if (eval == 0)
+ return EXIT_SUCCESS;
+ else
+ return EXIT_FAILURE;
+}
+
+static void c_columnate(int maxlength, long termwidth, wchar_t **list, int entries)
+{
+ int chcnt, col, cnt, endcol, numcols;
+ wchar_t **lp;
+
+ maxlength = (maxlength + TAB) & ~(TAB - 1);
+ numcols = termwidth / maxlength;
+ endcol = maxlength;
+ for (chcnt = col = 0, lp = list;; ++lp) {
+ fputws(*lp, stdout);
+ chcnt += wcs_width(*lp);
+ if (!--entries)
+ break;
+ if (++col == numcols) {
+ chcnt = col = 0;
+ endcol = maxlength;
+ putwchar('\n');
+ } else {
+ while ((cnt = ((chcnt + TAB) & ~(TAB - 1))) <= endcol) {
+ putwchar('\t');
+ chcnt = cnt;
+ }
+ endcol += maxlength;
+ }
+ }
+ if (chcnt)
+ putwchar('\n');
+}
+
+static void r_columnate(int maxlength, long termwidth, wchar_t **list, int entries)
+{
+ int base, chcnt, cnt, col, endcol, numcols, numrows, row;
+
+ maxlength = (maxlength + TAB) & ~(TAB - 1);
+ numcols = termwidth / maxlength;
+ if (!numcols)
+ numcols = 1;
+ numrows = entries / numcols;
+ if (entries % numcols)
+ ++numrows;
+
+ for (row = 0; row < numrows; ++row) {
+ endcol = maxlength;
+ for (base = row, chcnt = col = 0; col < numcols; ++col) {
+ fputws(list[base], stdout);
+ chcnt += wcs_width(list[base]);
+ if ((base += numrows) >= entries)
+ break;
+ while ((cnt = ((chcnt + TAB) & ~(TAB - 1))) <= endcol) {
+ putwchar('\t');
+ chcnt = cnt;
+ }
+ endcol += maxlength;
+ }
+ putwchar('\n');
+ }
+}
+
+static void print(wchar_t **list, int entries)
+{
+ int cnt;
+ wchar_t **lp;
+
+ for (cnt = entries, lp = list; cnt--; ++lp) {
+ fputws(*lp, stdout);
+ putwchar('\n');
+ }
+}
+
+static void maketbl(wchar_t **list, int entries, wchar_t *separator)
+{
+ TBL *t;
+ int cnt, i;
+ wchar_t *p, **lp;
+ ssize_t *lens;
+ ssize_t maxcols = DEFCOLS, coloff;
+ TBL *tbl;
+ wchar_t **cols;
+ wchar_t *wcstok_state;
+
+ t = tbl = xcalloc(entries, sizeof(TBL));
+ cols = xcalloc(maxcols, sizeof(wchar_t *));
+ lens = xcalloc(maxcols, sizeof(ssize_t));
+
+ for (lp = list, cnt = 0; cnt < entries; ++cnt, ++lp, ++t) {
+ coloff = 0;
+ p = *lp;
+ while ((cols[coloff] = wcstok(p, separator, &wcstok_state)) != NULL) {
+ if (++coloff == maxcols) {
+ maxcols += DEFCOLS;
+ cols = xrealloc(cols, maxcols * sizeof(wchar_t *));
+ lens = xrealloc(lens, maxcols * sizeof(ssize_t));
+ /* zero fill only new memory */
+ memset(lens + (maxcols - DEFCOLS), 0,
+ DEFCOLS * sizeof(*lens));
+ }
+ p = NULL;
+ }
+ t->list = xcalloc(coloff, sizeof(wchar_t *));
+ t->len = xcalloc(coloff, sizeof(int));
+ for (t->cols = coloff; --coloff >= 0;) {
+ t->list[coloff] = cols[coloff];
+ t->len[coloff] = wcs_width(cols[coloff]);
+ if (t->len[coloff] > lens[coloff])
+ lens[coloff] = t->len[coloff];
+ }
+ }
+
+ for (t = tbl, cnt = 0; cnt < entries; ++cnt, ++t) {
+ for (coloff = 0; coloff < t->cols - 1; ++coloff) {
+ fputws(t->list[coloff], stdout);
+ for (i = lens[coloff] - t->len[coloff] + 2; i > 0; i--)
+ putwchar(' ');
+ }
+ if (coloff < t->cols) {
+ fputws(t->list[coloff], stdout);
+ putwchar('\n');
+ }
+ }
+
+ for (cnt = 0; cnt < entries; ++cnt) {
+ free((tbl+cnt)->list);
+ free((tbl+cnt)->len);
+ }
+ free(cols);
+ free(lens);
+ free(tbl);
+}
+
+static int input(FILE *fp, int *maxlength, wchar_t ***list, int *entries)
+{
+ static int maxentry = DEFNUM;
+ int len, lineno = 1, reportedline = 0, eval = 0;
+ wchar_t *p, buf[MAXLINELEN];
+ wchar_t **local_list = *list;
+ int local_entries = *entries;
+
+ if (!local_list)
+ local_list = xcalloc(maxentry, sizeof(wchar_t *));
+
+ while (fgetws(buf, MAXLINELEN, fp)) {
+ for (p = buf; *p && iswspace(*p); ++p)
+ ;
+ if (!*p)
+ continue;
+ if (!(p = wcschr(p, '\n')) && !feof(fp)) {
+ if (reportedline < lineno) {
+ warnx(_("line %d is too long, output will be truncated"),
+ lineno);
+ reportedline = lineno;
+ }
+ eval = 1;
+ continue;
+ }
+ lineno++;
+ if (!feof(fp))
+ *p = '\0';
+ len = wcs_width(buf); /* len = p - buf; */
+ if (*maxlength < len)
+ *maxlength = len;
+ if (local_entries == maxentry) {
+ maxentry += DEFNUM;
+ local_list = xrealloc(local_list,
+ (u_int)maxentry * sizeof(wchar_t *));
+ }
+ local_list[local_entries++] = wcsdup(buf);
+ }
+
+ *list = local_list;
+ *entries = local_entries;
+
+ return eval;
+}
+
+#ifdef HAVE_WIDECHAR
+static wchar_t *mbs_to_wcs(const char *s)
+{
+ ssize_t n;
+ wchar_t *wcs;
+
+ n = mbstowcs((wchar_t *)0, s, 0);
+ if (n < 0)
+ return NULL;
+ wcs = xmalloc((n + 1) * sizeof(wchar_t));
+ n = mbstowcs(wcs, s, n + 1);
+ if (n < 0)
+ return NULL;
+ return wcs;
+}
+#endif
+
+#ifndef HAVE_WIDECHAR
+static char *mtsafe_strtok(char *str, const char *delim, char **ptr)
+{
+ if (str == NULL) {
+ str = *ptr;
+ if (str == NULL)
+ return NULL;
+ }
+ str += strspn(str, delim);
+ if (*str == '\0') {
+ *ptr = NULL;
+ return NULL;
+ } else {
+ char *token_end = strpbrk(str, delim);
+ if (token_end) {
+ *token_end = '\0';
+ *ptr = token_end + 1;
+ } else
+ *ptr = NULL;
+ return str;
+ }
+}
+#endif
diff --git a/text-utils/conv.c b/text-utils/conv.c
new file mode 100644
index 0000000..95b8cd2
--- /dev/null
+++ b/text-utils/conv.c
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include "hexdump.h"
+
+void
+conv_c(PR *pr, u_char *p)
+{
+ char buf[10];
+ char const *str;
+
+ switch(*p) {
+ case '\0':
+ str = "\\0";
+ goto strpr;
+ /* case '\a': */
+ case '\007':
+ str = "\\a";
+ goto strpr;
+ case '\b':
+ str = "\\b";
+ goto strpr;
+ case '\f':
+ str = "\\f";
+ goto strpr;
+ case '\n':
+ str = "\\n";
+ goto strpr;
+ case '\r':
+ str = "\\r";
+ goto strpr;
+ case '\t':
+ str = "\\t";
+ goto strpr;
+ case '\v':
+ str = "\\v";
+ goto strpr;
+ default:
+ break;
+ }
+ if (isprint(*p)) {
+ *pr->cchar = 'c';
+ (void)printf(pr->fmt, *p);
+ } else {
+ (void)sprintf(buf, "%03o", (int)*p);
+ str = buf;
+strpr: *pr->cchar = 's';
+ (void)printf(pr->fmt, str);
+ }
+}
+
+void
+conv_u(PR *pr, u_char *p)
+{
+ static const char *list[] = {
+ "nul", "soh", "stx", "etx", "eot", "enq", "ack", "bel",
+ "bs", "ht", "lf", "vt", "ff", "cr", "so", "si",
+ "dle", "dcl", "dc2", "dc3", "dc4", "nak", "syn", "etb",
+ "can", "em", "sub", "esc", "fs", "gs", "rs", "us",
+ };
+
+ /* od used nl, not lf */
+ if (*p <= 0x1f) {
+ *pr->cchar = 's';
+ (void)printf(pr->fmt, list[*p]);
+ } else if (*p == 0x7f) {
+ *pr->cchar = 's';
+ (void)printf(pr->fmt, "del");
+ } else if (isprint(*p)) {
+ *pr->cchar = 'c';
+ (void)printf(pr->fmt, *p);
+ } else {
+ *pr->cchar = 'x';
+ (void)printf(pr->fmt, (int)*p);
+ }
+}
diff --git a/text-utils/display.c b/text-utils/display.c
new file mode 100644
index 0000000..1f9a11b
--- /dev/null
+++ b/text-utils/display.c
@@ -0,0 +1,348 @@
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "hexdump.h"
+#include "xalloc.h"
+#include "c.h"
+#include "nls.h"
+
+static void doskip(const char *, int);
+static u_char *get(void);
+
+enum _vflag vflag = FIRST;
+
+static off_t address; /* address/offset in stream */
+static off_t eaddress; /* end address */
+
+static inline void
+print(PR *pr, unsigned char *bp) {
+
+ switch(pr->flags) {
+ case F_ADDRESS:
+ (void)printf(pr->fmt, (int64_t)address);
+ break;
+ case F_BPAD:
+ (void)printf(pr->fmt, "");
+ break;
+ case F_C:
+ conv_c(pr, bp);
+ break;
+ case F_CHAR:
+ (void)printf(pr->fmt, *bp);
+ break;
+ case F_DBL:
+ {
+ double dval;
+ float fval;
+ switch(pr->bcnt) {
+ case 4:
+ memmove(&fval, bp, sizeof(fval));
+ (void)printf(pr->fmt, fval);
+ break;
+ case 8:
+ memmove(&dval, bp, sizeof(dval));
+ (void)printf(pr->fmt, dval);
+ break;
+ }
+ break;
+ }
+ case F_INT:
+ {
+ short sval; /* int16_t */
+ int ival; /* int32_t */
+ long long Lval; /* int64_t, int64_t */
+
+ switch(pr->bcnt) {
+ case 1:
+ (void)printf(pr->fmt, (int64_t)*bp);
+ break;
+ case 2:
+ memmove(&sval, bp, sizeof(sval));
+ (void)printf(pr->fmt, (int64_t)sval);
+ break;
+ case 4:
+ memmove(&ival, bp, sizeof(ival));
+ (void)printf(pr->fmt, (int64_t)ival);
+ break;
+ case 8:
+ memmove(&Lval, bp, sizeof(Lval));
+ (void)printf(pr->fmt, (int64_t)Lval);
+ break;
+ }
+ break;
+ }
+ case F_P:
+ (void)printf(pr->fmt, isprint(*bp) ? *bp : '.');
+ break;
+ case F_STR:
+ (void)printf(pr->fmt, (char *)bp);
+ break;
+ case F_TEXT:
+ (void)printf("%s", pr->fmt);
+ break;
+ case F_U:
+ conv_u(pr, bp);
+ break;
+ case F_UINT:
+ {
+ unsigned short sval; /* u_int16_t */
+ unsigned int ival; /* u_int32_t */
+ unsigned long long Lval;/* u_int64_t, u_int64_t */
+
+ switch(pr->bcnt) {
+ case 1:
+ (void)printf(pr->fmt, (uint64_t)*bp);
+ break;
+ case 2:
+ memmove(&sval, bp, sizeof(sval));
+ (void)printf(pr->fmt, (uint64_t)sval);
+ break;
+ case 4:
+ memmove(&ival, bp, sizeof(ival));
+ (void)printf(pr->fmt, (uint64_t)ival);
+ break;
+ case 8:
+ memmove(&Lval, bp, sizeof(Lval));
+ (void)printf(pr->fmt, (uint64_t)Lval);
+ break;
+ }
+ break;
+ }
+ }
+}
+
+static void bpad(PR *pr)
+{
+ static const char *spec = " -0+#";
+ char *p1, *p2;
+
+ /*
+ * remove all conversion flags; '-' is the only one valid
+ * with %s, and it's not useful here.
+ */
+ pr->flags = F_BPAD;
+ pr->cchar[0] = 's';
+ pr->cchar[1] = 0;
+ for (p1 = pr->fmt; *p1 != '%'; ++p1);
+ for (p2 = ++p1; *p1 && strchr(spec, *p1); ++p1);
+ while ((*p2++ = *p1++) != 0) ;
+}
+
+void display(void)
+{
+ register FS *fs;
+ register FU *fu;
+ register PR *pr;
+ register int cnt;
+ register unsigned char *bp;
+ off_t saveaddress;
+ unsigned char savech = 0, *savebp;
+
+ while ((bp = get()) != NULL)
+ for (fs = fshead, savebp = bp, saveaddress = address; fs;
+ fs = fs->nextfs, bp = savebp, address = saveaddress)
+ for (fu = fs->nextfu; fu; fu = fu->nextfu) {
+ if (fu->flags&F_IGNORE)
+ break;
+ for (cnt = fu->reps; cnt; --cnt)
+ for (pr = fu->nextpr; pr; address += pr->bcnt,
+ bp += pr->bcnt, pr = pr->nextpr) {
+ if (eaddress && address >= eaddress &&
+ !(pr->flags&(F_TEXT|F_BPAD)))
+ bpad(pr);
+ if (cnt == 1 && pr->nospace) {
+ savech = *pr->nospace;
+ *pr->nospace = '\0';
+ }
+ print(pr, bp);
+ if (cnt == 1 && pr->nospace)
+ *pr->nospace = savech;
+ }
+ }
+ if (endfu) {
+ /*
+ * if eaddress not set, error or file size was multiple of
+ * blocksize, and no partial block ever found.
+ */
+ if (!eaddress) {
+ if (!address)
+ return;
+ eaddress = address;
+ }
+ for (pr = endfu->nextpr; pr; pr = pr->nextpr)
+ switch(pr->flags) {
+ case F_ADDRESS:
+ (void)printf(pr->fmt, (int64_t)eaddress);
+ break;
+ case F_TEXT:
+ (void)printf("%s", pr->fmt);
+ break;
+ }
+ }
+}
+
+static char **_argv;
+
+static u_char *
+get(void)
+{
+ static int ateof = 1;
+ static u_char *curp, *savp;
+ ssize_t n, need, nread;
+ u_char *tmpp;
+
+ if (!curp) {
+ curp = xcalloc(1, blocksize);
+ savp = xcalloc(1, blocksize);
+ } else {
+ tmpp = curp;
+ curp = savp;
+ savp = tmpp;
+ address += blocksize;
+ }
+ for (need = blocksize, nread = 0;;) {
+ /*
+ * if read the right number of bytes, or at EOF for one file,
+ * and no other files are available, zero-pad the rest of the
+ * block and set the end flag.
+ */
+ if (!length || (ateof && !next(NULL))) {
+ if (need == blocksize)
+ return(NULL);
+ if (!need && vflag != ALL &&
+ !memcmp(curp, savp, nread)) {
+ if (vflag != DUP)
+ (void)printf("*\n");
+ return(NULL);
+ }
+ if (need > 0)
+ memset((char *)curp + nread, 0, need);
+ eaddress = address + nread;
+ return(curp);
+ }
+ if (fileno(stdin) == -1) {
+ warnx(_("all input file arguments failed"));
+ return(NULL);
+ }
+ n = fread((char *)curp + nread, sizeof(unsigned char),
+ length == -1 ? need : min(length, need), stdin);
+ if (!n) {
+ if (ferror(stdin))
+ warn("%s", _argv[-1]);
+ ateof = 1;
+ continue;
+ }
+ ateof = 0;
+ if (length != -1)
+ length -= n;
+ if (!(need -= n)) {
+ if (vflag == ALL || vflag == FIRST ||
+ memcmp(curp, savp, blocksize)) {
+ if (vflag == DUP || vflag == FIRST)
+ vflag = WAIT;
+ return(curp);
+ }
+ if (vflag == WAIT)
+ (void)printf("*\n");
+ vflag = DUP;
+ address += blocksize;
+ need = blocksize;
+ nread = 0;
+ }
+ else
+ nread += n;
+ }
+}
+
+int next(char **argv)
+{
+ static int done;
+ int statok;
+
+ if (argv) {
+ _argv = argv;
+ return(1);
+ }
+ for (;;) {
+ if (*_argv) {
+ if (!(freopen(*_argv, "r", stdin))) {
+ warn("%s", *_argv);
+ exitval = EXIT_FAILURE;
+ ++_argv;
+ continue;
+ }
+ statok = done = 1;
+ } else {
+ if (done++)
+ return(0);
+ statok = 0;
+ }
+ if (skip)
+ doskip(statok ? *_argv : "stdin", statok);
+ if (*_argv)
+ ++_argv;
+ if (!skip)
+ return(1);
+ }
+ /* NOTREACHED */
+}
+
+static void
+doskip(const char *fname, int statok)
+{
+ struct stat sbuf;
+
+ if (statok) {
+ if (fstat(fileno(stdin), &sbuf))
+ err(EXIT_FAILURE, "%s", fname);
+ if (S_ISREG(sbuf.st_mode) && skip > sbuf.st_size) {
+ /* If size valid and skip >= size */
+ skip -= sbuf.st_size;
+ address += sbuf.st_size;
+ return;
+ }
+ }
+ /* sbuf may be undefined here - do not test it */
+ if (fseek(stdin, skip, SEEK_SET))
+ err(EXIT_FAILURE, "%s", fname);
+ address += skip;
+ skip = 0;
+}
diff --git a/text-utils/hexdump.1 b/text-utils/hexdump.1
new file mode 100644
index 0000000..84ecaf4
--- /dev/null
+++ b/text-utils/hexdump.1
@@ -0,0 +1,324 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)hexdump.1 8.2 (Berkeley) 4/18/94
+.\"
+.TH HEXDUMP "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+hexdump \- display file contents in ascii, decimal, hexadecimal, or octal
+.SH SYNOPSIS
+.B hexdump
+[options] file [...]
+.SH DESCRIPTION
+The
+.B hexdump
+utility is a filter which displays the specified files, or
+standard input if no files are specified, in a user-specified
+format.
+.SH OPTIONS
+The \fIlength\fR and \fIoffset\fR arguments may be followed by the multiplicative
+suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB
+(the "iB" is optional, e.g. "K" has the same meaning as "KiB") or the suffixes
+KB=1000, MB=1000*1000, and so on for GB, PB, EB, ZB and YB.
+.TP
+.B \-b
+\fIOne-byte octal display\fR. Display the input offset in hexadecimal,
+followed by sixteen space-separated, three-column, zero-filled bytes of input
+data, in octal, per line.
+.TP
+.B \-c
+\fIOne-byte character display\fR. Display the input offset in hexadecimal,
+followed by sixteen space-separated, three-column, space-filled characters of
+input data per line.
+.TP
+.B \-C
+\fICanonical hex+ASCII display\fR. Display the input offset in hexadecimal,
+followed by sixteen space-separated, two-column, hexadecimal bytes, followed
+by the same sixteen bytes in
+.B %_p
+format enclosed in
+.RB ' | '
+characters.
+.TP
+.B \-d
+\fITwo-byte decimal display\fR. Display the input offset in hexadecimal,
+followed by eight space-separated, five-column, zero-filled, two-byte units
+of input data, in unsigned decimal, per line.
+.TP
+.BI \-e \ format_string
+Specify a format string to be used for displaying data.
+.TP
+.BI \-f \ format_file
+Specify a file that contains one or more newline separated format strings.
+Empty lines and lines whose first non-blank character is a hash mark (\&#)
+are ignored.
+.TP
+.BI \-n \ length
+Interpret only
+.I length
+bytes of input.
+.TP
+.B \-o
+\fITwo-byte octal display\fR. Display the input offset in hexadecimal,
+followed by eight space-separated, six-column, zero-filled, two-byte
+quantities of input data, in octal, per line.
+.TP
+.BI \-s \ offset
+Skip
+.I offset
+bytes from the beginning of the input.
+.TP
+.B \-v
+The
+.B \-v
+option causes
+.B hexdump
+to display all input data. Without the
+.B \-v
+option, any number of groups of output lines which would be identical to the
+immediately preceding group of output lines (except for the input offsets),
+are replaced with a line comprised of a single asterisk.
+.TP
+.B \-x
+\fITwo-byte hexadecimal display\fR. Display the input offset in hexadecimal,
+followed by eight space-separated, four-column, zero-filled, two-byte
+quantities of input data, in hexadecimal, per line.
+.PP
+For each input file,
+.B hexdump
+sequentially copies the input to standard output, transforming the data
+according to the format strings specified by the
+.B \-e
+and
+.B \-f
+options, in the order that they were specified.
+.SH FORMATS
+A format string contains any number of format units, separated by whitespace.
+A format unit contains up to three items: an iteration count, a byte count,
+and a format.
+.PP
+The iteration count is an optional positive integer, which defaults to one.
+Each format is applied iteration count times.
+.PP
+The byte count is an optional positive integer. If specified it defines the
+number of bytes to be interpreted by each iteration of the format.
+.PP
+If an iteration count and/or a byte count is specified, a single slash must
+be placed after the iteration count and/or before the byte count to
+disambiguate them. Any whitespace before or after the slash is ignored.
+.PP
+The format is required and must be surrounded by double quote (" ") marks.
+It is interpreted as a fprintf-style format string (see
+.BR fprintf (3),
+with the following exceptions:
+.TP
+1.
+An asterisk (*) may not be used as a field width or precision.
+.TP
+2.
+A byte count or field precision
+.I is
+required for each
+.B s
+conversion character (unlike the
+.BR fprintf (3)
+default which prints the entire string if the precision is unspecified).
+.TP
+3.
+The conversion characters
+.BR h , \ l , \ n , \ p ,
+.RB and \ q
+are not supported.
+.TP
+4.
+The single character escape sequences described in the C standard are
+supported:
+.PP
+.RS 13
+.PD 0
+.TP 21
+NULL
+\e0
+.TP
+<alert character>
+\ea
+.TP
+<backspace>
+\eb
+.TP
+<form-feed>
+\ef
+.TP
+<newline>
+\en
+.TP
+<carriage return>
+\er
+.TP
+<tab>
+\et
+.TP
+<vertical tab>
+\ev
+.PD
+.RE
+.PP
+.SS Conversion strings
+The
+.B hexdump
+utility also supports the following additional conversion strings.
+.TP
+.B \&_a[dox]
+Display the input offset, cumulative across input files, of the next byte to
+be displayed. The appended characters
+.BR d ,
+.BR o ,
+and
+.B x
+specify the display base as decimal, octal or hexadecimal respectively.
+.TP
+.B \&_A[dox]
+Identical to the
+.B \&_a
+conversion string except that it is only performed once, when all of the
+input data has been processed.
+.TP
+.B \&_c
+Output characters in the default character set. Nonprinting characters are
+displayed in three-character, zero-padded octal, except for those
+representable by standard escape notation (see above), which are displayed as
+two-character strings.
+.TP
+.B \&_p
+Output characters in the default character set. Nonprinting characters are
+displayed as a single
+.RB ' \&. '.
+.TP
+.B \&_u
+Output US ASCII characters, with the exception that control characters are
+displayed using the following, lower-case, names. Characters greater than
+0xff, hexadecimal, are displayed as hexadecimal strings.
+.PP
+.nf
+ 000 nul 001 soh 002 stx 003 etx 004 eot 005 enq
+ 006 ack 007 bel 008 bs 009 ht 00A lf 00B vt
+ 00C ff 00D cr 00E so 00F si 010 dle 011 dc1
+ 012 dc2 013 dc3 014 dc4 015 nak 016 syn 017 etb
+ 018 can 019 em 01A sub 01B esc 01C fs 01D gs
+ 01E rs 01F us 0FF del
+.nf
+.SS Counters
+The default and supported byte counts for the conversion characters
+are as follows:
+.TP
+.BR \&%_c , \ \&%_p , \ \&%_u , \ \&%c
+One byte counts only.
+.TP
+.BR \&%d , \ \&%i , \ \&%o , \ \&%u , \ \&%X , \ \&%x
+Four byte default, one, two and four byte counts supported.
+.TP
+.BR \&%E , \ \&%e , \ \&%f , \ \&%G , \ \&%g
+Eight byte default, four byte counts supported.
+.PP
+The amount of data interpreted by each format string is the sum of the data
+required by each format unit, which is the iteration count times the byte
+count, or the iteration count times the number of bytes required by the
+format if the byte count is not specified.
+.PP
+The input is manipulated in
+.IR blocks ,
+where a block is defined as the largest amount of data specified by any
+format string. Format strings interpreting less than an input block's worth
+of data, whose last format unit both interprets some number of bytes and does
+not have a specified iteration count, have the iteration count incremented
+until the entire input block has been processed or there is not enough data
+remaining in the block to satisfy the format string.
+.PP
+If, either as a result of user specification or
+.B hexdump
+modifying the iteration count as described above, an iteration count is
+greater than one, no trailing whitespace characters are output during the
+last iteration.
+.PP
+It is an error to specify a byte count as well as multiple conversion
+characters or strings unless all but one of the conversion characters or
+strings is
+.B \&_a
+or
+.BR \&_A .
+.PP
+If, as a result of the specification of the
+.B \-n
+option or end-of-file being reached, input data only partially satisfies a
+format string, the input block is zero-padded sufficiently to display all
+available data (i.e. any format units overlapping the end of data will
+display some number of the zero bytes).
+.PP
+Further output by such format strings is replaced by an equivalent number of
+spaces. An equivalent number of spaces is defined as the number of spaces
+output by an
+.B s
+conversion character with the same field width and precision as the original
+conversion character or conversion string but with any
+.RB ' \&+ ',
+\' \',
+.RB ' \&# '
+conversion flag characters removed, and referencing a NULL string.
+.PP
+If no format strings are specified, the default display is equivalent
+to specifying the
+.B \-x
+option.
+.SH "EXIT STATUS"
+.B hexdump
+exits 0 on success and >0 if an error occurred.
+.SH EXAMPLES
+Display the input in perusal format:
+.nf
+ "%06.6_ao " 12/1 "%3_u "
+ "\et\et" "%_p "
+ "\en"
+.nf
+.PP
+Implement the \-x option:
+.nf
+ "%07.7_Ax\en"
+ "%07.7_ax " 8/2 "%04x " "\en"
+.nf
+.SH STANDARDS
+The
+.B hexdump
+utility is expected to be IEEE Std 1003.2 ("POSIX.2") compatible.
+.SH AVAILABILITY
+The hexdump command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/text-utils/hexdump.c b/text-utils/hexdump.c
new file mode 100644
index 0000000..a4a61cf
--- /dev/null
+++ b/text-utils/hexdump.c
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "hexdump.h"
+
+#include "nls.h"
+#include "c.h"
+#include "closestream.h"
+
+FS *fshead; /* head of format strings */
+ssize_t blocksize; /* data block size */
+int exitval; /* final exit value */
+ssize_t length = -1; /* max bytes to read */
+
+int main(int argc, char **argv)
+{
+ FS *tfs;
+ char *p;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (!(p = strrchr(argv[0], 'o')) || strcmp(p, "od")) {
+ newsyntax(argc, &argv);
+ } else
+ errx(EXIT_FAILURE, _("calling hexdump as od has been deprecated "
+ "in favour to GNU coreutils od."));
+
+ /* figure out the data block size */
+ for (blocksize = 0, tfs = fshead; tfs; tfs = tfs->nextfs) {
+ tfs->bcnt = block_size(tfs);
+ if (blocksize < tfs->bcnt)
+ blocksize = tfs->bcnt;
+ }
+ /* rewrite the rules, do syntax checking */
+ for (tfs = fshead; tfs; tfs = tfs->nextfs)
+ rewrite(tfs);
+
+ (void)next(argv);
+ display();
+ return exitval;
+}
diff --git a/text-utils/hexdump.h b/text-utils/hexdump.h
new file mode 100644
index 0000000..b9e67a1
--- /dev/null
+++ b/text-utils/hexdump.h
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)hexdump.h 5.4 (Berkeley) 6/1/90
+ */
+
+typedef struct _pr {
+ struct _pr *nextpr; /* next print unit */
+#define F_ADDRESS 0x001 /* print offset */
+#define F_BPAD 0x002 /* blank pad */
+#define F_C 0x004 /* %_c */
+#define F_CHAR 0x008 /* %c */
+#define F_DBL 0x010 /* %[EefGf] */
+#define F_INT 0x020 /* %[di] */
+#define F_P 0x040 /* %_p */
+#define F_STR 0x080 /* %s */
+#define F_U 0x100 /* %_u */
+#define F_UINT 0x200 /* %[ouXx] */
+#define F_TEXT 0x400 /* no conversions */
+ unsigned int flags; /* flag values */
+ int bcnt; /* byte count */
+ char *cchar; /* conversion character */
+ char *fmt; /* printf format */
+ char *nospace; /* no whitespace version */
+} PR;
+
+typedef struct _fu {
+ struct _fu *nextfu; /* next format unit */
+ struct _pr *nextpr; /* next print unit */
+#define F_IGNORE 0x01 /* %_A */
+#define F_SETREP 0x02 /* rep count set, not default */
+ unsigned int flags; /* flag values */
+ int reps; /* repetition count */
+ int bcnt; /* byte count */
+ char *fmt; /* format string */
+} FU;
+
+typedef struct _fs { /* format strings */
+ struct _fs *nextfs; /* linked list of format strings */
+ struct _fu *nextfu; /* linked list of format units */
+ int bcnt;
+} FS;
+
+extern FU *endfu;
+extern FS *fshead; /* head of format strings list */
+extern ssize_t blocksize; /* data block size */
+extern int deprecated; /* od compatibility */
+extern int exitval; /* final exit value */
+extern ssize_t length; /* max bytes to read */
+extern off_t skip; /* bytes to skip */
+
+enum _vflag { ALL, DUP, FIRST, WAIT }; /* -v values */
+extern enum _vflag vflag;
+
+int block_size(FS *);
+void add(const char *);
+void rewrite(FS *);
+void addfile(char *);
+void display(void);
+void __attribute__((__noreturn__)) usage(FILE *out);
+void conv_c(PR *, u_char *);
+void conv_u(PR *, u_char *);
+int next(char **);
+void newsyntax(int, char ***);
diff --git a/text-utils/hexsyntax.c b/text-utils/hexsyntax.c
new file mode 100644
index 0000000..21cc55e
--- /dev/null
+++ b/text-utils/hexsyntax.c
@@ -0,0 +1,142 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <sys/types.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+#include <err.h>
+#include <limits.h>
+#include "hexdump.h"
+#include "nls.h"
+#include "strutils.h"
+#include "c.h"
+
+off_t skip; /* bytes to skip */
+
+
+void
+newsyntax(int argc, char ***argvp)
+{
+ int ch;
+ char **argv;
+
+ argv = *argvp;
+ while ((ch = getopt(argc, argv, "bcCde:f:n:os:vxV")) != -1) {
+ switch (ch) {
+ case 'b':
+ add("\"%07.7_Ax\n\"");
+ add("\"%07.7_ax \" 16/1 \"%03o \" \"\\n\"");
+ break;
+ case 'c':
+ add("\"%07.7_Ax\n\"");
+ add("\"%07.7_ax \" 16/1 \"%3_c \" \"\\n\"");
+ break;
+ case 'C':
+ add("\"%08.8_Ax\n\"");
+ add("\"%08.8_ax \" 8/1 \"%02x \" \" \" 8/1 \"%02x \" ");
+ add("\" |\" 16/1 \"%_p\" \"|\\n\"");
+ break;
+ case 'd':
+ add("\"%07.7_Ax\n\"");
+ add("\"%07.7_ax \" 8/2 \" %05u \" \"\\n\"");
+ break;
+ case 'e':
+ add(optarg);
+ break;
+ case 'f':
+ addfile(optarg);
+ break;
+ case 'n':
+ length = strtosize_or_err(optarg, _("failed to parse length"));
+ break;
+ case 'o':
+ add("\"%07.7_Ax\n\"");
+ add("\"%07.7_ax \" 8/2 \" %06o \" \"\\n\"");
+ break;
+ case 's':
+ skip = strtosize_or_err(optarg, _("failed to parse offset"));
+ break;
+ case 'v':
+ vflag = ALL;
+ break;
+ case 'x':
+ add("\"%07.7_Ax\n\"");
+ add("\"%07.7_ax \" 8/2 \" %04x \" \"\\n\"");
+ break;
+ case 'V':
+ printf(_("%s from %s\n"),
+ program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ break;
+ default:
+ usage(stderr);
+ }
+ }
+
+ if (!fshead) {
+ add("\"%07.7_Ax\n\"");
+ add("\"%07.7_ax \" 8/2 \"%04x \" \"\\n\"");
+ }
+
+ *argvp += optind;
+}
+
+void __attribute__((__noreturn__)) usage(FILE *out)
+{
+ fprintf(out, _("\nUsage:\n"
+ " %s [options] file...\n"),
+ program_invocation_short_name);
+ fprintf(out, _(
+ "\nOptions:\n"
+ " -b one-byte octal display\n"
+ " -c one-byte character display\n"
+ " -C canonical hex+ASCII display\n"
+ " -d two-byte decimal display\n"
+ " -o two-byte octal display\n"
+ " -x two-byte hexadecimal display\n"
+ " -e format format string to be used for displaying data\n"
+ " -f format_file file that contains format strings\n"
+ " -n length interpret only length bytes of input\n"
+ " -s offset skip offset bytes from the beginning\n"
+ " -v display without squeezing similar lines\n"
+ " -V output version information and exit\n\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
diff --git a/text-utils/line.1 b/text-utils/line.1
new file mode 100644
index 0000000..6305f6b
--- /dev/null
+++ b/text-utils/line.1
@@ -0,0 +1,17 @@
+.\" This page is in the public domain
+.TH LINE 1 "July 2002" "util-linux" "User Commands"
+.SH NAME
+line \- read one line
+.SH SYNOPSIS
+.B line
+.SH DESCRIPTION
+The utility
+.B line
+copies one line (up to a newline) from standard input to standard output.
+It always prints at least a newline and returns an exit status of 1
+on EOF or read error.
+.SH "SEE ALSO"
+.BR read (1)
+.SH AVAILABILITY
+The line command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/text-utils/line.c b/text-utils/line.c
new file mode 100644
index 0000000..636122e
--- /dev/null
+++ b/text-utils/line.c
@@ -0,0 +1,45 @@
+/*
+ * line - read one line
+ *
+ * Gunnar Ritter, Freiburg i. Br., Germany, December 2000.
+ *
+ * Public Domain.
+ */
+
+/*
+ * This command is deprecated. The utility is in maintenance mode,
+ * meaning we keep them in source tree for backward compatibility
+ * only. Do not waste time making this command better, unless the
+ * fix is about security or other very critical issue.
+ *
+ * See Documentation/deprecated.txt for more information.
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+
+static int status; /* exit status */
+
+static void
+doline(int fd)
+{
+ char c;
+
+ for (;;) {
+ if (read(fd, &c, 1) <= 0) {
+ status = 1;
+ break;
+ }
+ if (c == '\n')
+ break;
+ putchar(c);
+ }
+ putchar('\n');
+}
+
+int
+main(void)
+{
+ doline(0);
+ return status;
+}
diff --git a/text-utils/more.1 b/text-utils/more.1
new file mode 100644
index 0000000..479f037
--- /dev/null
+++ b/text-utils/more.1
@@ -0,0 +1,249 @@
+.\" Copyright (c) 1988, 1990 The Regents of the University of California.
+.\" Copyright (c) 1988 Mark Nudleman
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)more.1 5.15 (Berkeley) 7/29/91
+.\"
+.\" Revised: Fri Dec 25 15:27:27 1992 by root
+.\" 25Dec92: Extensive changes made by Rik Faith (faith@cs.unc.edu) to
+.\" conform with the more 5.19 currently in use by the Linux community.
+.\"
+.\" .Dd July 29, 1991 (Modified December 25, 1992)
+.TH MORE "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+more \- file perusal filter for crt viewing
+.SH SYNOPSIS
+.B more
+[options] file [...]
+.SH DESCRIPTION
+.B more
+is a filter for paging through text one screenful at a time. This version is
+especially primitive. Users should realize that
+.BR less (1)
+provides
+.BR more (1)
+emulation plus extensive enhancements.
+.SH OPTIONS
+Command-line options are described below. Options are also taken from the
+environment variable
+.B MORE
+(make sure to precede them with a dash (``-'')) but command line options will
+override them.
+.It Fl num
+.TP
+.B \-number
+This option specifies an integer
+.I number
+which is the screen size (in lines).
+.TP
+.B \-d
+.B more
+will prompt the user with the message "[Press space to continue, 'q' to
+quit.]" and will display "[Press 'h' for instructions.]" instead of ringing
+the bell when an illegal key is pressed.
+.TP
+.B \-l
+.B more
+usually treats
+.B \&^L
+(form feed) as a special character, and will pause after any line that
+contains a form feed. The
+.B \-l
+option will prevent this behavior.
+.TP
+.B -f
+Causes
+.B more
+to count logical, rather than screen lines (i.e., long lines are not folded).
+.TP
+.B \-p
+Do not scroll. Instead, clear the whole screen and then display the text.
+Notice that this option is switched on automatically if the executable is
+named
+.BR page .
+.TP
+.B \-c
+Do not scroll. Instead, paint each screen from the top, clearing the
+remainder of each line as it is displayed.
+.TP
+.B \-s
+Squeeze multiple blank lines into one.
+.TP
+.B \-u
+Suppress underlining.
+.TP
+.B +/
+The
+.B +/
+option specifies a string that will be searched for before each file is
+displayed.
+.TP
+.B +number
+Start at line
+.IR number .
+.SH COMMANDS
+Interactive commands for
+.B more
+are based on
+.BR vi (1).
+Some commands may be preceded by a decimal number, called k in the
+descriptions below. In the following descriptions,
+.B ^X
+means
+.BR control-X .
+.PP
+.RS
+.PD 1
+.TP 10
+.BR h \ or \ ?
+Help: display a summary of these commands. If you forget all the other
+commands, remember this one.
+.TP
+.B SPACE
+Display next k lines of text. Defaults to current screen size.
+.TP
+.B z
+Display next k lines of text. Defaults to current screen size. Argument
+becomes new default.
+.TP
+.B RETURN
+Display next k lines of text. Defaults to 1. Argument becomes new default.
+.TP
+.BR d \ or \ \&^D
+Scroll k lines. Default is current scroll size, initially 11. Argument
+becomes new default.
+.TP
+.BR q \ or \ Q \ or \ INTERRUPT
+Exit.
+.TP
+.B s
+Skip forward k lines of text. Defaults to 1.
+.TP
+.B f
+Skip forward k screenfuls of text. Defaults to 1.
+.TP
+.BR b \ or \ \&^B
+Skip backwards k screenfuls of text. Defaults to 1. Only works with files,
+not pipes.
+.TP
+.B \'
+Go to place where previous search started.
+.TP
+.B =
+Display current line number.
+.TP
+.B \&/pattern
+Search for kth occurrence of regular expression. Defaults to 1.
+.TP
+.B n
+Search for kth occurrence of last regular expression. Defaults to 1.
+.TP
+.BR !command \ or \ :!command
+Execute
+.I command
+in a subshell.
+.TP
+.B v
+Start up an editor at current line. The editor is taken from the environment
+variable
+.B VISUAL
+if defined, or
+.B EDITOR
+if
+.B VISUAL
+is not defined, or defaults
+to
+.B vi
+if neither
+.B VISUAL
+nor
+.B EDITOR
+is defined.
+.TP
+.B \&^L
+Redraw screen.
+.TP
+.B :n
+Go to kth next file. Defaults to 1.
+.TP
+.B :P
+Go to kth previous file. Defaults to 1.
+.TP
+.B :f
+Display current file name and line number.
+.TP
+.B \&.
+Repeat previous command.
+.SH ENVIRONMENT
+More utilizes the following environment variables, if they exist:
+.TP
+.B MORE
+This variable may be set with favored options to
+.BR more .
+.TP
+.B SHELL
+Current shell in use (normally set by the shell at login time).
+.TP
+.B TERM
+Specifies terminal type, used by more to get the terminal
+characteristics necessary to manipulate the screen.
+.TP
+.B VISUAL
+Editor the user is preferring. Used when key command
+.I v
+is pressed.
+.TP
+.B EDITOR
+Editor of choise when
+.B VISUAL
+is not specified.
+.SH SEE ALSO
+.BR vi (1),
+.BR less (1)
+.SH AUTHORS
+Eric Shienbrood, UC Berkeley
+.br
+Modified by Geoff Peck, UCB to add underlining, single spacing
+.br
+Modified by John Foderaro, UCB to add -c and MORE environment variable
+.SH HISTORY
+The
+.B more
+command appeared in 3.0BSD. This man page documents
+.B more
+version 5.19 (Berkeley 6/29/88), which is currently in use in the Linux
+community. Documentation was produced using several other versions of the
+man page, and extensive inspection of the source code.
+.SH AVAILABILITY
+The more command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/text-utils/more.c b/text-utils/more.c
new file mode 100644
index 0000000..58c99cc
--- /dev/null
+++ b/text-utils/more.c
@@ -0,0 +1,2197 @@
+/*
+ * Copyright (C) 1980 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+** more.c - General purpose tty output filter and file perusal program
+**
+** by Eric Shienbrood, UC Berkeley
+**
+** modified by Geoff Peck, UCB to add underlining, single spacing
+** modified by John Foderaro, UCB to add -c and MORE environment variable
+** modified by Erik Troan <ewt@redhat.com> to be more posix and so compile
+** on linux/axp.
+** modified by Kars de Jong <jongk@cs.utwente.nl> to use terminfo instead
+** of termcap.
+ 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ - added Native Language Support
+ 1999-03-19 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ - more nls translatable strings
+ 1999-05-09 aeb - applied a RedHat patch (setjmp->sigsetjmp); without it
+ a second ^Z would fail.
+ 1999-05-09 aeb - undone Kars' work, so that more works without
+ libcurses (and hence can be in /bin with libcurses being in /usr/lib
+ which may not be mounted). However, when termcap is not present curses
+ can still be used.
+ 2010-10-21 Davidlohr Bueso <dave@gnu.org>
+ - modified mem allocation handling for util-linux
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h> /* for alloca() */
+#include <stdarg.h> /* for va_start() etc */
+#include <sys/param.h>
+#include <ctype.h>
+#include <signal.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <termios.h>
+#include <setjmp.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/file.h>
+#include <sys/wait.h>
+
+#include "strutils.h"
+#include "nls.h"
+#include "xalloc.h"
+#include "widechar.h"
+#include "closestream.h"
+
+#include <regex.h>
+
+#ifndef XTABS
+#define XTABS TAB3
+#endif /* XTABS */
+
+#define VI "vi" /* found on the user's path */
+
+#define Fopen(s,m) (Currline = 0,file_pos=0,fopen(s,m))
+#define Ftell(f) file_pos
+#define Fseek(f,off) (file_pos=off,fseek(f,off,0))
+#define Getc(f) (++file_pos, getc(f))
+#define Ungetc(c,f) (--file_pos, ungetc(c,f))
+#define putcerr(c) fputc(c, stderr)
+#define putserr(s) fputs(s, stderr)
+#define putsout(s) fputs(s, stdout)
+
+#define stty(fd,argp) tcsetattr(fd,TCSANOW,argp)
+
+/* some function declarations */
+void initterm(void);
+void kill_line(void);
+void doclear(void);
+void cleareol(void);
+void clreos(void);
+void home(void);
+void more_error (char *mess);
+void do_shell (char *filename);
+int colon (char *filename, int cmd, int nlines);
+int expand (char **outbuf, char *inbuf);
+void argscan(char *s);
+void rdline (register FILE *f);
+void copy_file(register FILE *f);
+void search(char buf[], FILE *file, register int n);
+void skipf (register int nskip);
+void skiplns(register int n, register FILE *f);
+void screen (register FILE *f, register int num_lines);
+int command (char *filename, register FILE *f);
+void erasep (register int col);
+void show (register char ch);
+void set_tty(void);
+void reset_tty(void);
+void ttyin (char buf[], register int nmax, char pchar);
+int number(char *cmd);
+int readch (void);
+int get_line(register FILE *f, int *length);
+void prbuf (register char *s, register int n);
+void execute (char *filename, char *cmd, ...);
+FILE *checkf (char *, int *);
+void prepare_line_buffer(void);
+
+#define TBUFSIZ 1024
+#define LINSIZ 256 /* minimal Line buffer size */
+#define ctrl(letter) (letter & 077)
+#define RUBOUT '\177'
+#define ESC '\033'
+#define QUIT '\034'
+#define SCROLL_LEN 11
+#define LINES_PER_PAGE 24
+#define NUM_COLUMNS 80
+#define TERMINAL_BUF 4096
+#define INIT_BUF 80
+#define SHELL_LINE 1000
+#define COMMAND_BUF 200
+#define REGERR_BUF NUM_COLUMNS
+
+struct termios otty, savetty0;
+long file_pos, file_size;
+int fnum, no_intty, no_tty, slow_tty;
+int dum_opt, dlines;
+void onquit(int), onsusp(int), chgwinsz(int), end_it(int);
+int nscroll = SCROLL_LEN; /* Number of lines scrolled by 'd' */
+int fold_opt = 1; /* Fold long lines */
+int stop_opt = 1; /* Stop after form feeds */
+int ssp_opt = 0; /* Suppress white space */
+int ul_opt = 1; /* Underline as best we can */
+int promptlen;
+int Currline; /* Line we are currently at */
+int startup = 1;
+int firstf = 1;
+int notell = 1;
+int docrterase = 0;
+int docrtkill = 0;
+int bad_so; /* True if overwriting does not turn
+ off standout */
+int inwait, Pause, errors;
+int within; /* true if we are within a file,
+ false if we are between files */
+int hard, dumb, noscroll, hardtabs, clreol, eatnl;
+int catch_susp; /* We should catch the SIGTSTP signal */
+char **fnames; /* The list of file names */
+int nfiles; /* Number of files left to process */
+char *shell; /* The name of the shell to use */
+int shellp; /* A previous shell command exists */
+sigjmp_buf restore;
+char *Line; /* Line buffer */
+size_t LineLen; /* size of Line buffer */
+int Lpp = LINES_PER_PAGE; /* lines per page */
+char *Clear; /* clear screen */
+char *eraseln; /* erase line */
+char *Senter, *Sexit; /* enter and exit standout mode */
+char *ULenter, *ULexit; /* enter and exit underline mode */
+char *chUL; /* underline character */
+char *chBS; /* backspace character */
+char *Home; /* go to home */
+char *cursorm; /* cursor movement */
+char cursorhome[40]; /* contains cursor movement to home */
+char *EodClr; /* clear rest of screen */
+int Mcol = NUM_COLUMNS; /* number of columns */
+int Wrap = 1; /* set if automargins */
+int soglitch; /* terminal has standout mode glitch */
+int ulglitch; /* terminal has underline mode glitch */
+int pstate = 0; /* current UL state */
+static int magic(FILE *, char *);
+char *previousre; /* previous search() buf[] item */
+struct {
+ long chrctr, line;
+} context, screen_start;
+extern char PC; /* pad character */
+
+#ifdef HAVE_NCURSES_H
+# include <ncurses.h>
+#elif defined(HAVE_NCURSES_NCURSES_H)
+# include <ncurses/ncurses.h>
+#endif /* HAVE_NCURSES_H */
+
+#if defined(HAVE_NCURSES_H) || defined(HAVE_NCURSES_NCURSES_H)
+# include <term.h> /* include after <curses.h> */
+
+#define TERM_AUTO_RIGHT_MARGIN "am"
+#define TERM_CEOL "xhp"
+#define TERM_CLEAR "clear"
+#define TERM_CLEAR_TO_LINE_END "el"
+#define TERM_CLEAR_TO_SCREEN_END "ed"
+#define TERM_COLS "cols"
+#define TERM_CURSOR_ADDRESS "cup"
+#define TERM_EAT_NEW_LINE "xenl"
+#define TERM_ENTER_UNDERLINE "smul"
+#define TERM_EXIT_STANDARD_MODE "rmso"
+#define TERM_EXIT_UNDERLINE "rmul"
+#define TERM_HARD_COPY "hc"
+#define TERM_HOME "home"
+#define TERM_LINE_DOWN "cud1"
+#define TERM_LINES "lines"
+#define TERM_OVER_STRIKE "os"
+#define TERM_PAD_CHAR "pad"
+#define TERM_STANDARD_MODE "smso"
+#define TERM_STD_MODE_GLITCH "xmc"
+#define TERM_UNDERLINE_CHAR "uc"
+#define TERM_UNDERLINE "ul"
+
+static void my_putstring(char *s) {
+ tputs (s, fileno(stdout), putchar); /* putp(s); */
+}
+
+static void my_setupterm(char *term, int fildes, int *errret) {
+ setupterm(term, fildes, errret);
+}
+
+static int my_tgetnum(char *s) {
+ return tigetnum(s);
+}
+
+static int my_tgetflag(char *s) {
+ return tigetflag(s);
+}
+
+static char *my_tgetstr(char *s) {
+ return tigetstr(s);
+}
+
+static char *my_tgoto(char *cap, int col, int row) {
+ return tparm(cap, col, row);
+}
+
+#elif defined(HAVE_LIBTERMCAP) /* !ncurses */
+
+#include <termcap.h>
+
+#define TERM_AUTO_RIGHT_MARGIN "am"
+#define TERM_CEOL "xs"
+#define TERM_CLEAR "cl"
+#define TERM_CLEAR_TO_LINE_END "ce"
+#define TERM_CLEAR_TO_SCREEN_END "cd"
+#define TERM_COLS "co"
+#define TERM_CURSOR_ADDRESS "cm"
+#define TERM_EAT_NEW_LINE "xn"
+#define TERM_ENTER_UNDERLINE "us"
+#define TERM_EXIT_STANDARD_MODE "se"
+#define TERM_EXIT_UNDERLINE "ue"
+#define TERM_HARD_COPY "hc"
+#define TERM_HOME "ho"
+#define TERM_LINE_DOWN "le"
+#define TERM_LINES "li"
+#define TERM_OVER_STRIKE "os"
+#define TERM_PAD_CHAR "pc"
+#define TERM_STANDARD_MODE "so"
+#define TERM_STD_MODE_GLITCH "sg"
+#define TERM_UNDERLINE_CHAR "uc"
+#define TERM_UNDERLINE "ul"
+
+char termbuffer[TERMINAL_BUF];
+char tcbuffer[TERMINAL_BUF];
+char *strbuf = termbuffer;
+
+static void my_putstring(char *s) {
+ tputs (s, fileno(stdout), putchar);
+}
+
+static void my_setupterm(char *term, int fildes, int *errret) {
+ *errret = tgetent(tcbuffer, term);
+}
+
+static int my_tgetnum(char *s) {
+ return tgetnum(s);
+}
+
+static int my_tgetflag(char *s) {
+ return tgetflag(s);
+}
+
+static char *my_tgetstr(char *s) {
+ return tgetstr(s, &strbuf);
+}
+
+static char *my_tgoto(char *cap, int col, int row) {
+ return tgoto(cap, col, row);
+}
+
+#endif /* HAVE_LIBTERMCAP */
+
+static void __attribute__ ((__noreturn__)) usage(FILE *out)
+{
+ fprintf(out,
+ _("Usage: %s [options] file...\n\n"),
+ program_invocation_short_name);
+ fprintf(out,
+ _("Options:\n"
+ " -d display help instead of ring bell\n"
+ " -f count logical, rather than screen lines\n"
+ " -l suppress pause after form feed\n"
+ " -p suppress scroll, clean screen and display text\n"
+ " -c suppress scroll, display text and clean line ends\n"
+ " -u suppress underlining\n"
+ " -s squeeze multiple blank lines into one\n"
+ " -NUM specify the number of lines per screenful\n"
+ " +NUM display file beginning from line number NUM\n"
+ " +/STRING display file beginning from search string match\n"
+ " -V output version information and exit\n"));
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv) {
+ FILE *f;
+ char *s;
+ int ch;
+ int left;
+ int prnames = 0;
+ int initopt = 0;
+ int srchopt = 0;
+ int clearit = 0;
+ int initline = 0;
+ char *initbuf = NULL;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ nfiles = argc;
+ fnames = argv;
+ setlocale(LC_ALL, "");
+ initterm ();
+
+ /* Auto set no scroll on when binary is called page */
+ if (!(strcmp(program_invocation_short_name, "page")))
+ noscroll++;
+
+ prepare_line_buffer();
+
+ nscroll = Lpp/2 - 1;
+ if (nscroll <= 0)
+ nscroll = 1;
+
+ if ((s = getenv("MORE")) != NULL)
+ argscan(s);
+
+ while (--nfiles > 0) {
+ if ((ch = (*++fnames)[0]) == '-') {
+ argscan(*fnames+1);
+ }
+ else if (ch == '+') {
+ s = *fnames;
+ if (*++s == '/') {
+ srchopt++;
+ initbuf = xstrdup(s + 1);
+ }
+ else {
+ initopt++;
+ for (initline = 0; *s != '\0'; s++)
+ if (isdigit (*s))
+ initline = initline*10 + *s -'0';
+ --initline;
+ }
+ }
+ else break;
+ }
+ /* allow clreol only if Home and eraseln and EodClr strings are
+ * defined, and in that case, make sure we are in noscroll mode
+ */
+ if (clreol) {
+ if((Home == NULL) || (*Home == '\0') ||
+ (eraseln == NULL) || (*eraseln == '\0') ||
+ (EodClr == NULL) || (*EodClr == '\0') )
+ clreol = 0;
+ else noscroll = 1;
+ }
+ if (dlines == 0)
+ dlines = Lpp - 1; /* was: Lpp - (noscroll ? 1 : 2) */
+ left = dlines;
+ if (nfiles > 1)
+ prnames++;
+ if (!no_intty && nfiles == 0)
+ usage(stderr);
+ else
+ f = stdin;
+ if (!no_tty) {
+ signal(SIGQUIT, onquit);
+ signal(SIGINT, end_it);
+#ifdef SIGWINCH
+ signal(SIGWINCH, chgwinsz);
+#endif /* SIGWINCH */
+ if (signal (SIGTSTP, SIG_IGN) == SIG_DFL) {
+ signal(SIGTSTP, onsusp);
+ catch_susp++;
+ }
+ stty (fileno(stderr), &otty);
+ }
+ if (no_intty) {
+ if (no_tty)
+ copy_file (stdin);
+ else {
+ if ((ch = Getc (f)) == '\f')
+ doclear();
+ else {
+ Ungetc (ch, f);
+ if (noscroll && (ch != EOF)) {
+ if (clreol)
+ home ();
+ else
+ doclear ();
+ }
+ }
+ if (srchopt)
+ {
+ previousre = xstrdup(initbuf);
+ search (initbuf, stdin, 1);
+ if (noscroll)
+ left--;
+ }
+ else if (initopt)
+ skiplns (initline, stdin);
+ screen (stdin, left);
+ }
+ no_intty = 0;
+ prnames++;
+ firstf = 0;
+ }
+
+ while (fnum < nfiles) {
+ if ((f = checkf (fnames[fnum], &clearit)) != NULL) {
+ context.line = context.chrctr = 0;
+ Currline = 0;
+ if (firstf) sigsetjmp (restore, 1);
+ if (firstf) {
+ firstf = 0;
+ if (srchopt) {
+ previousre = xstrdup(initbuf);
+ search (initbuf, f, 1);
+ if (noscroll)
+ left--;
+ }
+ else if (initopt)
+ skiplns (initline, f);
+ }
+ else if (fnum < nfiles && !no_tty) {
+ sigsetjmp (restore, 1);
+ left = command (fnames[fnum], f);
+ }
+ if (left != 0) {
+ if ((noscroll || clearit) && (file_size != LONG_MAX)) {
+ if (clreol)
+ home ();
+ else
+ doclear ();
+ }
+ if (prnames) {
+ if (bad_so)
+ erasep (0);
+ if (clreol)
+ cleareol ();
+ putsout("::::::::::::::");
+ if (promptlen > 14)
+ erasep (14);
+ putchar('\n');
+ if(clreol) cleareol();
+ puts(fnames[fnum]);
+ if(clreol) cleareol();
+ puts("::::::::::::::");
+ if (left > Lpp - 4)
+ left = Lpp - 4;
+ }
+ if (no_tty)
+ copy_file (f);
+ else {
+ within++;
+ screen(f, left);
+ within = 0;
+ }
+ }
+ sigsetjmp (restore, 1);
+ fflush(stdout);
+ fclose(f);
+ screen_start.line = screen_start.chrctr = 0L;
+ context.line = context.chrctr = 0L;
+ }
+ fnum++;
+ firstf = 0;
+ }
+ free (previousre);
+ free (initbuf);
+ reset_tty ();
+ exit(EXIT_SUCCESS);
+}
+
+void argscan(char *s) {
+ int seen_num = 0;
+
+ while (*s != '\0') {
+ switch (*s) {
+ case '0': case '1': case '2':
+ case '3': case '4': case '5':
+ case '6': case '7': case '8':
+ case '9':
+ if (!seen_num) {
+ dlines = 0;
+ seen_num = 1;
+ }
+ dlines = dlines*10 + *s - '0';
+ break;
+ case 'd':
+ dum_opt = 1;
+ break;
+ case 'l':
+ stop_opt = 0;
+ break;
+ case 'f':
+ fold_opt = 0;
+ break;
+ case 'p':
+ noscroll++;
+ break;
+ case 'c':
+ clreol++;
+ break;
+ case 's':
+ ssp_opt = 1;
+ break;
+ case 'u':
+ ul_opt = 0;
+ break;
+ case '-': case ' ': case '\t':
+ break;
+ case 'V':
+ printf(_("more (%s)\n"), PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ break;
+ default:
+ warnx(_("unknown option -%s"), s);
+ usage(stderr);
+ break;
+ }
+ s++;
+ }
+}
+
+
+/*
+** Check whether the file named by fs is an ASCII file which the user may
+** access. If it is, return the opened file. Otherwise return NULL.
+*/
+
+FILE *
+checkf (fs, clearfirst)
+ register char *fs;
+ int *clearfirst;
+{
+ struct stat stbuf;
+ register FILE *f;
+ int c;
+
+ if (stat (fs, &stbuf) == -1) {
+ (void)fflush(stdout);
+ if (clreol)
+ cleareol ();
+ perror(fs);
+ return((FILE *)NULL);
+ }
+ if ((stbuf.st_mode & S_IFMT) == S_IFDIR) {
+ printf(_("\n*** %s: directory ***\n\n"), fs);
+ return((FILE *)NULL);
+ }
+ if ((f = Fopen(fs, "r")) == NULL) {
+ (void)fflush(stdout);
+ perror(fs);
+ return((FILE *)NULL);
+ }
+ if (magic(f, fs))
+ return((FILE *)NULL);
+ fcntl(fileno(f), F_SETFD, FD_CLOEXEC );
+ c = Getc(f);
+ *clearfirst = (c == '\f');
+ Ungetc (c, f);
+ if ((file_size = stbuf.st_size) == 0)
+ file_size = LONG_MAX;
+ return(f);
+}
+
+/*
+ * magic --
+ * check for file magic numbers. This code would best be shared with
+ * the file(1) program or, perhaps, more should not try to be so smart.
+ */
+static int
+magic(f, fs)
+ FILE *f;
+ char *fs;
+{
+ signed char twobytes[2];
+
+ /* don't try to look ahead if the input is unseekable */
+ if (fseek(f, 0L, SEEK_SET))
+ return 0;
+
+ if (fread(twobytes, 2, 1, f) == 1) {
+ switch(twobytes[0] + (twobytes[1]<<8)) {
+ case 0407: /* a.out obj */
+ case 0410: /* a.out exec */
+ case 0413: /* a.out demand exec */
+ case 0405:
+ case 0411:
+ case 0177545:
+ case 0x457f: /* simple ELF detection */
+ printf(_("\n******** %s: Not a text file ********\n\n"), fs);
+ (void)fclose(f);
+ return 1;
+ }
+ }
+ (void)fseek(f, 0L, SEEK_SET); /* rewind() not necessary */
+ return 0;
+}
+
+/*
+** Print out the contents of the file f, one screenful at a time.
+*/
+
+#define STOP -10
+
+void screen (register FILE *f, register int num_lines)
+{
+ register int c;
+ register int nchars;
+ int length; /* length of current line */
+ static int prev_len = 1; /* length of previous line */
+
+ for (;;) {
+ while (num_lines > 0 && !Pause) {
+ if ((nchars = get_line (f, &length)) == EOF)
+ {
+ if (clreol)
+ clreos();
+ return;
+ }
+ if (ssp_opt && length == 0 && prev_len == 0)
+ continue;
+ prev_len = length;
+ if (bad_so || ((Senter && *Senter == ' ') && (promptlen > 0)))
+ erasep (0);
+ /* must clear before drawing line since tabs on some terminals
+ * do not erase what they tab over.
+ */
+ if (clreol)
+ cleareol ();
+ prbuf (Line, length);
+ if (nchars < promptlen)
+ erasep (nchars); /* erasep () sets promptlen to 0 */
+ else promptlen = 0;
+ /* is this needed?
+ * if (clreol)
+ * cleareol(); * must clear again in case we wrapped *
+ */
+ if (nchars < Mcol || !fold_opt)
+ prbuf("\n", 1); /* will turn off UL if necessary */
+ if (nchars == STOP)
+ break;
+ num_lines--;
+ }
+ if (pstate) {
+ my_putstring (ULexit);
+ pstate = 0;
+ }
+ fflush(stdout);
+ if ((c = Getc(f)) == EOF)
+ {
+ if (clreol)
+ clreos ();
+ return;
+ }
+
+ if (Pause && clreol)
+ clreos ();
+ Ungetc (c, f);
+ sigsetjmp (restore, 1);
+ Pause = 0; startup = 0;
+ if ((num_lines = command (NULL, f)) == 0)
+ return;
+ if (hard && promptlen > 0)
+ erasep (0);
+ if (noscroll && num_lines >= dlines)
+ {
+ if (clreol)
+ home();
+ else
+ doclear ();
+ }
+ screen_start.line = Currline;
+ screen_start.chrctr = Ftell (f);
+ }
+}
+
+/*
+** Come here if a quit signal is received
+*/
+
+void onquit(int dummy __attribute__ ((__unused__)))
+{
+ signal(SIGQUIT, SIG_IGN);
+ if (!inwait) {
+ putchar ('\n');
+ if (!startup) {
+ signal(SIGQUIT, onquit);
+ siglongjmp (restore, 1);
+ }
+ else
+ Pause++;
+ }
+ else if (!dum_opt && notell) {
+ promptlen += fprintf(stderr, _("[Use q or Q to quit]"));
+ notell = 0;
+ }
+ signal(SIGQUIT, onquit);
+}
+
+/*
+** Come here if a signal for a window size change is received
+*/
+
+#ifdef SIGWINCH
+void chgwinsz(int dummy __attribute__ ((__unused__)))
+{
+ struct winsize win;
+
+ signal(SIGWINCH, SIG_IGN);
+ if (ioctl(fileno(stdout), TIOCGWINSZ, &win) != -1) {
+ if (win.ws_row != 0) {
+ Lpp = win.ws_row;
+ nscroll = Lpp/2 - 1;
+ if (nscroll <= 0)
+ nscroll = 1;
+ dlines = Lpp - 1; /* was: Lpp - (noscroll ? 1 : 2) */
+ }
+ if (win.ws_col != 0)
+ Mcol = win.ws_col;
+ }
+ (void) signal(SIGWINCH, chgwinsz);
+}
+#endif /* SIGWINCH */
+
+/*
+** Clean up terminal state and exit. Also come here if interrupt signal received
+*/
+
+void __attribute__((__noreturn__))
+end_it (int dummy __attribute__ ((__unused__)))
+{
+ reset_tty ();
+ if (clreol) {
+ putchar ('\r');
+ clreos ();
+ fflush (stdout);
+ }
+ else if (!clreol && (promptlen > 0)) {
+ kill_line ();
+ fflush (stdout);
+ }
+ else
+ putcerr('\n');
+ _exit(EXIT_SUCCESS);
+}
+
+void copy_file(register FILE *f) {
+ register int c;
+
+ while ((c = getc(f)) != EOF)
+ putchar(c);
+}
+
+#define ringbell() putcerr('\007')
+
+static void prompt (char *filename)
+{
+ if (clreol)
+ cleareol ();
+ else if (promptlen > 0)
+ kill_line ();
+ if (!hard) {
+ promptlen = 0;
+ if (Senter && Sexit) {
+ my_putstring (Senter);
+ promptlen += (2 * soglitch);
+ }
+ if (clreol)
+ cleareol ();
+ promptlen += printf(_("--More--"));
+ if (filename != NULL) {
+ promptlen += printf(_("(Next file: %s)"), filename);
+ } else if (!no_intty) {
+ promptlen += printf("(%d%%)", (int) ((file_pos * 100) / file_size));
+ }
+ if (dum_opt) {
+ promptlen += printf(_("[Press space to continue, 'q' to quit.]"));
+ }
+ if (Senter && Sexit)
+ my_putstring (Sexit);
+ if (clreol)
+ clreos ();
+ fflush(stdout);
+ }
+ else
+ ringbell();
+ inwait++;
+}
+
+void prepare_line_buffer(void)
+{
+ char *nline;
+ size_t nsz = Mcol * 4;
+
+ if (LineLen >= nsz)
+ return;
+
+ if (nsz < LINSIZ)
+ nsz = LINSIZ;
+
+ nline = xrealloc(Line, nsz);
+ Line = nline;
+ LineLen = nsz;
+}
+
+/*
+ * Get a logical line
+ */
+
+int get_line(register FILE *f, int *length)
+{
+ int c;
+ char *p;
+ int column;
+ static int colflg;
+
+#ifdef HAVE_WIDECHAR
+ size_t i;
+ wchar_t wc;
+ int wc_width;
+ mbstate_t state, state_bak; /* Current status of the stream. */
+ char mbc[MB_LEN_MAX]; /* Buffer for one multibyte char. */
+ size_t mblength; /* Byte length of multibyte char. */
+ size_t mbc_pos = 0; /* Position of the MBC. */
+ int use_mbc_buffer_flag = 0; /* If 1, mbc has data. */
+ int break_flag = 0; /* If 1, exit while(). */
+ long file_pos_bak = Ftell (f);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+#endif /* HAVE_WIDECHAR */
+
+ prepare_line_buffer();
+
+ p = Line;
+ column = 0;
+ c = Getc (f);
+ if (colflg && c == '\n') {
+ Currline++;
+ c = Getc (f);
+ }
+ while (p < &Line[LineLen - 1]) {
+#ifdef HAVE_WIDECHAR
+ if (fold_opt && use_mbc_buffer_flag && MB_CUR_MAX > 1) {
+ use_mbc_buffer_flag = 0;
+ state_bak = state;
+ mbc[mbc_pos++] = c;
+process_mbc:
+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
+
+ switch (mblength) {
+ case (size_t)-2: /* Incomplete multibyte character. */
+ use_mbc_buffer_flag = 1;
+ state = state_bak;
+ break;
+
+ case (size_t)-1: /* Invalid as a multibyte character. */
+ *p++ = mbc[0];
+ state = state_bak;
+ column++;
+ file_pos_bak++;
+
+ if (column >= Mcol) {
+ Fseek (f, file_pos_bak);
+ } else {
+ memmove (mbc, mbc + 1, --mbc_pos);
+ if (mbc_pos > 0) {
+ mbc[mbc_pos] = '\0';
+ goto process_mbc;
+ }
+ }
+ break;
+
+ default:
+ wc_width = wcwidth (wc);
+
+ if (column + wc_width > Mcol) {
+ Fseek (f, file_pos_bak);
+ break_flag = 1;
+ } else {
+ for (i = 0; i < mbc_pos; i++)
+ *p++ = mbc[i];
+ if (wc_width > 0)
+ column += wc_width;
+ }
+ }
+
+ if (break_flag || column >= Mcol)
+ break;
+
+ c = Getc (f);
+ continue;
+ }
+#endif /* HAVE_WIDECHAR */
+ if (c == EOF) {
+ if (p > Line) {
+ *p = '\0';
+ *length = p - Line;
+ return (column);
+ }
+ *length = p - Line;
+ return (EOF);
+ }
+ if (c == '\n') {
+ Currline++;
+ break;
+ }
+
+ *p++ = c;
+#if 0
+ if (c == '\033') { /* ESC */
+ c = Getc(f);
+ while (c > ' ' && c < '0' && p < &Line[LineLen - 1]) {
+ *p++ = c;
+ c = Getc(f);
+ }
+ if (c >= '0' && c < '\177' && p < &Line[LineLen - 1]) {
+ *p++ = c;
+ c = Getc(f);
+ continue;
+ }
+ }
+#endif /* 0 */
+ if (c == '\t') {
+ if (!hardtabs || (column < promptlen && !hard)) {
+ if (hardtabs && eraseln && !dumb) {
+ column = 1 + (column | 7);
+ my_putstring (eraseln);
+ promptlen = 0;
+ }
+ else {
+ for (--p; p < &Line[LineLen - 1];) {
+ *p++ = ' ';
+ if ((++column & 7) == 0)
+ break;
+ }
+ if (column >= promptlen) promptlen = 0;
+ }
+ } else
+ column = 1 + (column | 7);
+ } else if (c == '\b' && column > 0) {
+ column--;
+ } else if (c == '\r') {
+ int next = Getc(f);
+ if (next == '\n') {
+ p--;
+ Currline++;
+ break;
+ }
+ Ungetc(next,f);
+ column = 0;
+ } else if (c == '\f' && stop_opt) {
+ p[-1] = '^';
+ *p++ = 'L';
+ column += 2;
+ Pause++;
+ } else if (c == EOF) {
+ *length = p - Line;
+ return (column);
+ } else {
+#ifdef HAVE_WIDECHAR
+ if (fold_opt && MB_CUR_MAX > 1) {
+ memset (mbc, '\0', MB_LEN_MAX);
+ mbc_pos = 0;
+ mbc[mbc_pos++] = c;
+ state_bak = state;
+
+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
+
+ /* The value of mblength is always less than 2 here. */
+ switch (mblength) {
+ case (size_t)-2:
+ p--;
+ file_pos_bak = Ftell (f) - 1;
+ state = state_bak;
+ use_mbc_buffer_flag = 1;
+ break;
+
+ case (size_t)-1:
+ state = state_bak;
+ column++;
+ break;
+
+ default:
+ wc_width = wcwidth (wc);
+ if (wc_width > 0)
+ column += wc_width;
+ }
+ } else
+#endif /* HAVE_WIDECHAR */
+ {
+ if (isprint(c))
+ column++;
+ }
+ }
+
+ if (column >= Mcol && fold_opt)
+ break;
+ c = Getc (f);
+ }
+ if (column >= Mcol && Mcol > 0) {
+ if (!Wrap) {
+ *p++ = '\n';
+ }
+ }
+ colflg = column == Mcol && fold_opt;
+ if (colflg && eatnl && Wrap) {
+ *p++ = '\n'; /* simulate normal wrap */
+ }
+ *length = p - Line;
+ *p = 0;
+ return (column);
+}
+
+/*
+** Erase the rest of the prompt, assuming we are starting at column col.
+*/
+
+void erasep (register int col)
+{
+
+ if (promptlen == 0)
+ return;
+ if (hard) {
+ putchar ('\n');
+ }
+ else {
+ if (col == 0)
+ putchar ('\r');
+ if (!dumb && eraseln)
+ my_putstring (eraseln);
+ else
+ for (col = promptlen - col; col > 0; col--)
+ putchar (' ');
+ }
+ promptlen = 0;
+}
+
+/*
+** Erase the current line entirely
+*/
+
+void kill_line()
+{
+ erasep(0);
+ if (!eraseln || dumb)
+ putchar('\r');
+}
+
+/*
+ * force clear to end of line
+ */
+void cleareol()
+{
+ my_putstring(eraseln);
+}
+
+void clreos()
+{
+ my_putstring(EodClr);
+}
+
+/* Print a buffer of n characters */
+
+void prbuf (register char *s, register int n)
+{
+ register char c; /* next output character */
+ register int state; /* next output char's UL state */
+#define wouldul(s,n) ((n) >= 2 && (((s)[0] == '_' && (s)[1] == '\b') || ((s)[1] == '\b' && (s)[2] == '_')))
+
+ while (--n >= 0)
+ if (!ul_opt)
+ putchar (*s++);
+ else {
+ if (*s == ' ' && pstate == 0 && ulglitch && wouldul(s+1, n-1)) {
+ s++;
+ continue;
+ }
+ if ((state = wouldul(s, n)) != 0) {
+ c = (*s == '_')? s[2] : *s ;
+ n -= 2;
+ s += 3;
+ } else
+ c = *s++;
+ if (state != pstate) {
+ if (c == ' ' && state == 0 && ulglitch && wouldul(s, n-1))
+ state = 1;
+ else
+ my_putstring(state ? ULenter : ULexit);
+ }
+ if (c != ' ' || pstate == 0 || state != 0 || ulglitch == 0)
+#ifdef HAVE_WIDECHAR
+ {
+ wchar_t wc;
+ size_t mblength;
+ mbstate_t mbstate;
+ memset (&mbstate, '\0', sizeof (mbstate_t));
+ s--; n++;
+ mblength = mbrtowc (&wc, s, n, &mbstate);
+ if (mblength == (size_t) -2 || mblength == (size_t) -1)
+ mblength = 1;
+ while (mblength--)
+ putchar (*s++);
+ n += mblength;
+ }
+#else
+ putchar(c);
+#endif /* HAVE_WIDECHAR */
+ if (state && *chUL) {
+ putsout(chBS);
+ my_putstring(chUL);
+ }
+ pstate = state;
+ }
+}
+
+/*
+** Clear the screen
+*/
+void
+doclear()
+{
+ if (Clear && !hard) {
+ my_putstring(Clear);
+
+ /* Put out carriage return so that system doesn't
+ ** get confused by escape sequences when expanding tabs
+ */
+ putchar ('\r');
+ promptlen = 0;
+ }
+}
+
+/*
+ * Go to home position
+ */
+void
+home()
+{
+ my_putstring(Home);
+}
+
+static int lastcmd, lastarg, lastp;
+static int lastcolon;
+char shell_line[SHELL_LINE];
+
+/*
+** Read a command and do it. A command consists of an optional integer
+** argument followed by the command character. Return the number of lines
+** to display in the next screenful. If there is nothing more to display
+** in the current file, zero is returned.
+*/
+
+int command (char *filename, register FILE *f)
+{
+ register int nlines;
+ register int retval = 0;
+ register int c;
+ char colonch;
+ int done;
+ char comchar, cmdbuf[INIT_BUF];
+
+#define ret(val) retval=val;done++;break
+
+ done = 0;
+ if (!errors)
+ prompt (filename);
+ else
+ errors = 0;
+ for (;;) {
+ nlines = number (&comchar);
+ lastp = colonch = 0;
+ if (comchar == '.') { /* Repeat last command */
+ lastp++;
+ comchar = lastcmd;
+ nlines = lastarg;
+ if (lastcmd == ':')
+ colonch = lastcolon;
+ }
+ lastcmd = comchar;
+ lastarg = nlines;
+ if ((cc_t) comchar == otty.c_cc[VERASE]) {
+ kill_line ();
+ prompt (filename);
+ continue;
+ }
+ switch (comchar) {
+ case ':':
+ retval = colon (filename, colonch, nlines);
+ if (retval >= 0)
+ done++;
+ break;
+ case 'b':
+ case ctrl('B'):
+ {
+ register int initline;
+
+ if (no_intty) {
+ ringbell();
+ return (-1);
+ }
+
+ if (nlines == 0) nlines++;
+
+ putchar ('\r');
+ erasep (0);
+ putchar('\n');
+ if (clreol)
+ cleareol ();
+ if (nlines != 1)
+ printf(_("...back %d pages"), nlines);
+ else
+ putsout(_("...back 1 page"));
+ if (clreol)
+ cleareol ();
+ putchar('\n');
+
+ initline = Currline - dlines * (nlines + 1);
+ if (! noscroll)
+ --initline;
+ if (initline < 0) initline = 0;
+ Fseek(f, 0L);
+ Currline = 0; /* skiplns() will make Currline correct */
+ skiplns(initline, f);
+ if (! noscroll) {
+ ret(dlines + 1);
+ }
+ else {
+ ret(dlines);
+ }
+ }
+ case ' ':
+ case 'z':
+ if (nlines == 0) nlines = dlines;
+ else if (comchar == 'z') dlines = nlines;
+ ret (nlines);
+ case 'd':
+ case ctrl('D'):
+ if (nlines != 0) nscroll = nlines;
+ ret (nscroll);
+ case 'q':
+ case 'Q':
+ end_it (0);
+ case 's':
+ case 'f':
+ case ctrl('F'):
+ if (nlines == 0) nlines++;
+ if (comchar == 'f')
+ nlines *= dlines;
+ putchar ('\r');
+ erasep (0);
+ putchar('\n');
+ if (clreol)
+ cleareol ();
+ if (nlines == 1)
+ putsout(_("...skipping one line"));
+ else
+ printf(_("...skipping %d lines"), nlines);
+
+ if (clreol)
+ cleareol ();
+ putchar('\n');
+
+ while (nlines > 0) {
+ while ((c = Getc (f)) != '\n')
+ if (c == EOF) {
+ retval = 0;
+ done++;
+ goto endsw;
+ }
+ Currline++;
+ nlines--;
+ }
+ ret (dlines);
+ case '\n':
+ if (nlines != 0)
+ dlines = nlines;
+ else
+ nlines = 1;
+ ret (nlines);
+ case '\f':
+ if (!no_intty) {
+ doclear ();
+ Fseek (f, screen_start.chrctr);
+ Currline = screen_start.line;
+ ret (dlines);
+ }
+ else {
+ ringbell();
+ break;
+ }
+ case '\'':
+ if (!no_intty) {
+ kill_line ();
+ putsout(_("\n***Back***\n\n"));
+ Fseek (f, context.chrctr);
+ Currline = context.line;
+ ret (dlines);
+ }
+ else {
+ ringbell();
+ break;
+ }
+ case '=':
+ kill_line ();
+ promptlen = printf("%d", Currline);
+ fflush (stdout);
+ break;
+ case 'n':
+ if (!previousre) {
+ more_error (_("No previous regular expression"));
+ break;
+ }
+ lastp++;
+ /* fallthrough */
+ case '/':
+ if (nlines == 0) nlines++;
+ kill_line ();
+ putchar('/');
+ promptlen = 1;
+ fflush (stdout);
+ if (lastp) {
+ putcerr('\r');
+ search (previousre, f, nlines);
+ }
+ else {
+ ttyin (cmdbuf, sizeof(cmdbuf)-2, '/');
+ putcerr('\r');
+ free (previousre);
+ previousre = xstrdup(cmdbuf);
+ search (cmdbuf, f, nlines);
+ }
+ ret (dlines-1);
+ case '!':
+ do_shell (filename);
+ break;
+ case '?':
+ case 'h':
+ if (noscroll) doclear();
+ putsout(_("\n"
+"Most commands optionally preceded by integer argument k. "
+"Defaults in brackets.\n"
+"Star (*) indicates argument becomes new default.\n"));
+ puts("---------------------------------------"
+ "----------------------------------------");
+ putsout(_(
+"<space> Display next k lines of text [current screen size]\n"
+"z Display next k lines of text [current screen size]*\n"
+"<return> Display next k lines of text [1]*\n"
+"d or ctrl-D Scroll k lines [current scroll size, initially 11]*\n"
+"q or Q or <interrupt> Exit from more\n"
+"s Skip forward k lines of text [1]\n"
+"f Skip forward k screenfuls of text [1]\n"
+"b or ctrl-B Skip backwards k screenfuls of text [1]\n"
+"' Go to place where previous search started\n"
+"= Display current line number\n"
+"/<regular expression> Search for kth occurrence of regular expression [1]\n"
+"n Search for kth occurrence of last r.e [1]\n"
+"!<cmd> or :!<cmd> Execute <cmd> in a subshell\n"
+"v Start up /usr/bin/vi at current line\n"
+"ctrl-L Redraw screen\n"
+":n Go to kth next file [1]\n"
+":p Go to kth previous file [1]\n"
+":f Display current file name and line number\n"
+". Repeat previous command\n"));
+ puts("---------------------------------------"
+ "----------------------------------------");
+ prompt(filename);
+ break;
+ case 'v': /* This case should go right before default */
+ if (!no_intty) {
+ /*
+ * Earlier: call vi +n file. This also works for emacs.
+ * POSIX: call vi -c n file (when editor is vi or ex).
+ */
+ char *editor, *p;
+ int n = (Currline - dlines <= 0 ? 1 :
+ Currline - (dlines + 1) / 2);
+ int split = 0;
+
+ editor = getenv("VISUAL");
+ if (editor == NULL || *editor == '\0')
+ editor = getenv("EDITOR");
+ if (editor == NULL || *editor == '\0')
+ editor = VI;
+
+ p = strrchr(editor, '/');
+ if (p)
+ p++;
+ else
+ p = editor;
+ if (!strcmp(p, "vi") || !strcmp(p, "ex")) {
+ sprintf(cmdbuf, "-c %d", n);
+ split = 1;
+ } else {
+ sprintf(cmdbuf, "+%d", n);
+ }
+
+ kill_line();
+ printf("%s %s %s", editor, cmdbuf, fnames[fnum]);
+ if (split) {
+ cmdbuf[2] = 0;
+ execute(filename, editor, editor, cmdbuf,
+ cmdbuf+3, fnames[fnum], (char *)0);
+ } else
+ execute(filename, editor, editor,
+ cmdbuf, fnames[fnum], (char *)0);
+ break;
+ }
+ /* fall through */
+ default:
+ if (dum_opt) {
+ kill_line ();
+ if (Senter && Sexit) {
+ my_putstring (Senter);
+ promptlen = printf(_("[Press 'h' for instructions.]"))
+ + 2 * soglitch;
+ my_putstring (Sexit);
+ }
+ else
+ promptlen = printf(_("[Press 'h' for instructions.]"));
+ fflush (stdout);
+ }
+ else
+ ringbell();
+ break;
+ }
+ if (done) break;
+ }
+ putchar ('\r');
+endsw:
+ inwait = 0;
+ notell++;
+ return (retval);
+}
+
+static char ch;
+
+/*
+ * Execute a colon-prefixed command.
+ * Returns <0 if not a command that should cause
+ * more of the file to be printed.
+ */
+
+int colon (char *filename, int cmd, int nlines) {
+ if (cmd == 0)
+ ch = readch ();
+ else
+ ch = cmd;
+ lastcolon = ch;
+ switch (ch) {
+ case 'f':
+ kill_line ();
+ if (!no_intty)
+ promptlen = printf(_("\"%s\" line %d"), fnames[fnum], Currline);
+ else
+ promptlen = printf(_("[Not a file] line %d"), Currline);
+ fflush (stdout);
+ return (-1);
+ case 'n':
+ if (nlines == 0) {
+ if (fnum >= nfiles - 1)
+ end_it (0);
+ nlines++;
+ }
+ putchar ('\r');
+ erasep (0);
+ skipf (nlines);
+ return (0);
+ case 'p':
+ if (no_intty) {
+ ringbell();
+ return (-1);
+ }
+ putchar ('\r');
+ erasep (0);
+ if (nlines == 0)
+ nlines++;
+ skipf (-nlines);
+ return (0);
+ case '!':
+ do_shell (filename);
+ return (-1);
+ case 'q':
+ case 'Q':
+ end_it (0);
+ default:
+ ringbell();
+ return (-1);
+ }
+}
+
+/*
+** Read a decimal number from the terminal. Set cmd to the non-digit which
+** terminates the number.
+*/
+
+int number(char *cmd)
+{
+ register int i;
+
+ i = 0; ch = otty.c_cc[VKILL];
+ for (;;) {
+ ch = readch ();
+ if (isdigit(ch))
+ i = i*10 + ch - '0';
+ else if ((cc_t) ch == otty.c_cc[VKILL])
+ i = 0;
+ else {
+ *cmd = ch;
+ break;
+ }
+ }
+ return (i);
+}
+
+void do_shell (char *filename)
+{
+ char cmdbuf[COMMAND_BUF];
+ int rc;
+ char *expanded;
+
+ kill_line ();
+ putchar('!');
+ fflush (stdout);
+ promptlen = 1;
+ if (lastp)
+ putsout(shell_line);
+ else {
+ ttyin (cmdbuf, sizeof(cmdbuf)-2, '!');
+ expanded = 0;
+ rc = expand (&expanded, cmdbuf);
+ if (expanded) {
+ if (strlen(expanded) < sizeof(shell_line))
+ strcpy(shell_line, expanded);
+ else
+ rc = -1;
+ free(expanded);
+ }
+ if (rc < 0) {
+ putserr(_(" Overflow\n"));
+ prompt (filename);
+ return;
+ } else if (rc > 0) {
+ kill_line ();
+ promptlen = printf("!%s", shell_line);
+ }
+ }
+ fflush (stdout);
+ putcerr('\n');
+ promptlen = 0;
+ shellp = 1;
+ execute (filename, shell, shell, "-c", shell_line, 0);
+}
+
+/*
+** Search for nth occurrence of regular expression contained in buf in the file
+*/
+
+void search(char buf[], FILE *file, register int n)
+{
+ long startline = Ftell (file);
+ register long line1 = startline;
+ register long line2 = startline;
+ register long line3 = startline;
+ register int lncount;
+ int saveln, rv, rc;
+ regex_t re;
+
+ context.line = saveln = Currline;
+ context.chrctr = startline;
+ lncount = 0;
+ if ((rc = regcomp (&re, buf, REG_NOSUB)) != 0) {
+ char s[REGERR_BUF];
+ regerror (rc, &re, s, sizeof s);
+ more_error (s);
+ }
+ while (!feof (file)) {
+ line3 = line2;
+ line2 = line1;
+ line1 = Ftell (file);
+ rdline (file);
+ lncount++;
+ if ((rv = regexec (&re, Line, 0, NULL, 0)) == 0) {
+ if (--n == 0) {
+ if (lncount > 3 || (lncount > 1 && no_intty))
+ {
+ putchar('\n');
+ if (clreol)
+ cleareol ();
+ putsout(_("...skipping\n"));
+ }
+ if (!no_intty) {
+ Currline -= (lncount >= 3 ? 3 : lncount);
+ Fseek (file, line3);
+ if (noscroll) {
+ if (clreol) {
+ home ();
+ cleareol ();
+ }
+ else
+ doclear ();
+ }
+ }
+ else {
+ kill_line ();
+ if (noscroll) {
+ if (clreol) {
+ home ();
+ cleareol ();
+ }
+ else
+ doclear ();
+ }
+ puts(Line);
+ }
+ break;
+ }
+ }
+ }
+ if (feof (file)) {
+ if (!no_intty) {
+ Currline = saveln;
+ Fseek (file, startline);
+ }
+ else {
+ putsout(_("\nPattern not found\n"));
+ end_it (0);
+ }
+ more_error (_("Pattern not found"));
+ free (previousre);
+ previousre = NULL;
+ }
+}
+
+/*VARARGS2*/
+void execute (char *filename, char *cmd, ...)
+{
+ int id;
+ int n;
+ va_list argp;
+ char * arg;
+ char ** args;
+ int argcount;
+
+ fflush (stdout);
+ reset_tty ();
+ for (n = 10; (id = fork ()) < 0 && n > 0; n--)
+ sleep (5);
+ if (id == 0) {
+ if (!isatty(0)) {
+ close(0);
+ open("/dev/tty", 0);
+ }
+
+ va_start(argp, cmd);
+ arg = va_arg(argp, char *);
+ argcount = 0;
+ while (arg) {
+ argcount++;
+ arg = va_arg(argp, char *);
+ }
+ va_end(argp);
+
+ args = alloca(sizeof(char *) * (argcount + 1));
+ args[argcount] = NULL;
+
+ va_start(argp, cmd);
+ arg = va_arg(argp, char *);
+ argcount = 0;
+ while (arg) {
+ args[argcount] = arg;
+ argcount++;
+ arg = va_arg(argp, char *);
+ }
+ va_end(argp);
+
+ execvp (cmd, args);
+ putserr(_("exec failed\n"));
+ exit (EXIT_FAILURE);
+ }
+ if (id > 0) {
+ signal (SIGINT, SIG_IGN);
+ signal (SIGQUIT, SIG_IGN);
+ if (catch_susp)
+ signal(SIGTSTP, SIG_DFL);
+ while (wait(0) > 0);
+ signal (SIGINT, end_it);
+ signal (SIGQUIT, onquit);
+ if (catch_susp)
+ signal(SIGTSTP, onsusp);
+ } else
+ putserr(_("can't fork\n"));
+ set_tty ();
+ puts("------------------------");
+ prompt (filename);
+}
+/*
+** Skip n lines in the file f
+*/
+
+void skiplns (register int n, register FILE *f)
+{
+ register int c;
+
+ while (n > 0) {
+ while ((c = Getc (f)) != '\n')
+ if (c == EOF)
+ return;
+ n--;
+ Currline++;
+ }
+}
+
+/*
+** Skip nskip files in the file list (from the command line). Nskip may be
+** negative.
+*/
+
+void skipf (register int nskip)
+{
+ if (nskip == 0) return;
+ if (nskip > 0) {
+ if (fnum + nskip > nfiles - 1)
+ nskip = nfiles - fnum - 1;
+ }
+ else if (within)
+ ++fnum;
+ fnum += nskip;
+ if (fnum < 0)
+ fnum = 0;
+ puts(_("\n...Skipping "));
+ if (clreol)
+ cleareol ();
+ if (nskip > 0)
+ putsout(_("...Skipping to file "));
+ else
+ putsout(_("...Skipping back to file "));
+ puts(fnames[fnum]);
+ if (clreol)
+ cleareol ();
+ putchar('\n');
+ --fnum;
+}
+
+/*----------------------------- Terminal I/O -------------------------------*/
+
+void initterm()
+{
+ int ret;
+ char *padstr;
+ char *term;
+ struct winsize win;
+
+#ifdef do_SIGTTOU
+retry:
+#endif /* do_SIGTTOU */
+ no_tty = tcgetattr(fileno(stdout), &otty);
+ if (!no_tty) {
+ docrterase = (otty.c_cc[VERASE] != 255);
+ docrtkill = (otty.c_cc[VKILL] != 255);
+#ifdef do_SIGTTOU
+ {
+ int tgrp;
+ /*
+ * Wait until we're in the foreground before we save the
+ * the terminal modes.
+ */
+ if ((tgrp = tcgetpgrp(fileno(stdout))) < 0) {
+ perror("tcgetpgrp");
+ exit(EXIT_FAILURE);
+ }
+ if (tgrp != getpgrp(0)) {
+ kill(0, SIGTTOU);
+ goto retry;
+ }
+ }
+#endif /* do_SIGTTOU */
+ if ((term = getenv("TERM")) == 0) {
+ dumb++; ul_opt = 0;
+ }
+ my_setupterm(term, 1, &ret);
+ if (ret <= 0) {
+ dumb++; ul_opt = 0;
+ }
+ else {
+#ifdef TIOCGWINSZ
+ if (ioctl(fileno(stdout), TIOCGWINSZ, &win) < 0) {
+#endif /* TIOCGWINSZ */
+ Lpp = my_tgetnum(TERM_LINES);
+ Mcol = my_tgetnum(TERM_COLS);
+#ifdef TIOCGWINSZ
+ } else {
+ if ((Lpp = win.ws_row) == 0)
+ Lpp = my_tgetnum(TERM_LINES);
+ if ((Mcol = win.ws_col) == 0)
+ Mcol = my_tgetnum(TERM_COLS);
+ }
+#endif /* TIOCGWINSZ */
+ if ((Lpp <= 0) || my_tgetflag(TERM_HARD_COPY)) {
+ hard++; /* Hard copy terminal */
+ Lpp = LINES_PER_PAGE;
+ }
+
+ if (my_tgetflag(TERM_EAT_NEW_LINE))
+ eatnl++; /* Eat newline at last column + 1; dec, concept */
+ if (Mcol <= 0)
+ Mcol = NUM_COLUMNS;
+
+ Wrap = my_tgetflag(TERM_AUTO_RIGHT_MARGIN);
+ bad_so = my_tgetflag (TERM_CEOL);
+ eraseln = my_tgetstr(TERM_CLEAR_TO_LINE_END);
+ Clear = my_tgetstr(TERM_CLEAR);
+ Senter = my_tgetstr(TERM_STANDARD_MODE);
+ Sexit = my_tgetstr(TERM_EXIT_STANDARD_MODE);
+ if ((soglitch = my_tgetnum(TERM_STD_MODE_GLITCH)) < 0)
+ soglitch = 0;
+
+ /*
+ * Set up for underlining: some terminals don't need it;
+ * others have start/stop sequences, still others have an
+ * underline char sequence which is assumed to move the
+ * cursor forward one character. If underline sequence
+ * isn't available, settle for standout sequence.
+ */
+
+ if (my_tgetflag(TERM_UNDERLINE) || my_tgetflag(TERM_OVER_STRIKE))
+ ul_opt = 0;
+ if ((chUL = my_tgetstr(TERM_UNDERLINE_CHAR)) == NULL )
+ chUL = "";
+ if (((ULenter = my_tgetstr(TERM_ENTER_UNDERLINE)) == NULL ||
+ (ULexit = my_tgetstr(TERM_EXIT_UNDERLINE)) == NULL) && !*chUL) {
+ if ((ULenter = Senter) == NULL || (ULexit = Sexit) == NULL) {
+ ULenter = "";
+ ULexit = "";
+ } else
+ ulglitch = soglitch;
+ } else {
+ ulglitch = 0;
+ }
+
+ if ((padstr = my_tgetstr(TERM_PAD_CHAR)) != NULL)
+ PC = *padstr;
+ Home = my_tgetstr(TERM_HOME);
+ if (Home == 0 || *Home == '\0') {
+ if ((cursorm = my_tgetstr(TERM_CURSOR_ADDRESS)) != NULL) {
+ const char *t = (const char *)my_tgoto(cursorm, 0, 0);
+ xstrncpy(cursorhome, t, sizeof(cursorhome));
+ Home = cursorhome;
+ }
+ }
+ EodClr = my_tgetstr(TERM_CLEAR_TO_SCREEN_END);
+ if ((chBS = my_tgetstr(TERM_LINE_DOWN)) == NULL)
+ chBS = "\b";
+
+ }
+ if ((shell = getenv("SHELL")) == NULL)
+ shell = "/bin/sh";
+ }
+ no_intty = tcgetattr(fileno(stdin), &otty);
+ tcgetattr(fileno(stderr), &otty);
+ savetty0 = otty;
+ slow_tty = cfgetispeed(&otty) < B1200;
+ hardtabs = (otty.c_oflag & TABDLY) != XTABS;
+ if (!no_tty) {
+ otty.c_lflag &= ~(ICANON|ECHO);
+ otty.c_cc[VMIN] = 1;
+ otty.c_cc[VTIME] = 0;
+ }
+}
+
+int readch () {
+ unsigned char c;
+
+ errno = 0;
+ if (read (fileno(stderr), &c, 1) <= 0) {
+ if (errno != EINTR)
+ end_it(0);
+ else
+ c = otty.c_cc[VKILL];
+ }
+ return (c);
+}
+
+static char *BS = "\b";
+static char *BSB = "\b \b";
+static char *CARAT = "^";
+#define ERASEONECOLUMN \
+ if (docrterase) \
+ putserr(BSB); \
+ else \
+ putserr(BS);
+
+void ttyin (char buf[], register int nmax, char pchar) {
+ char *sp;
+ int c;
+ int slash = 0;
+ int maxlen;
+
+ sp = buf;
+ maxlen = 0;
+ while (sp - buf < nmax) {
+ if (promptlen > maxlen) maxlen = promptlen;
+ c = readch ();
+ if (c == '\\') {
+ slash++;
+ }
+ else if (((cc_t) c == otty.c_cc[VERASE]) && !slash) {
+ if (sp > buf) {
+#ifdef HAVE_WIDECHAR
+ if (MB_CUR_MAX > 1)
+ {
+ wchar_t wc;
+ size_t pos = 0, mblength;
+ mbstate_t state, state_bak;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ while (1) {
+ state_bak = state;
+ mblength = mbrtowc (&wc, buf + pos, sp - buf, &state);
+
+ state = (mblength == (size_t)-2
+ || mblength == (size_t)-1) ? state_bak : state;
+ mblength = (mblength == (size_t)-2
+ || mblength == (size_t)-1
+ || mblength == 0) ? 1 : mblength;
+
+ if (buf + pos + mblength >= sp)
+ break;
+
+ pos += mblength;
+ }
+
+ if (mblength == 1) {
+ ERASEONECOLUMN
+ }
+ else {
+ int wc_width;
+ wc_width = wcwidth (wc);
+ wc_width = (wc_width < 1) ? 1 : wc_width;
+ while (wc_width--) {
+ ERASEONECOLUMN
+ }
+ }
+
+ while (mblength--) {
+ --promptlen;
+ --sp;
+ }
+ }
+ else
+#endif /* HAVE_WIDECHAR */
+ {
+ --promptlen;
+ ERASEONECOLUMN
+ --sp;
+ }
+
+ if ((*sp < ' ' && *sp != '\n') || *sp == RUBOUT) {
+ --promptlen;
+ ERASEONECOLUMN
+ }
+ continue;
+ }
+ else {
+ if (!eraseln) promptlen = maxlen;
+ siglongjmp (restore, 1);
+ }
+ }
+ else if (((cc_t) c == otty.c_cc[VKILL]) && !slash) {
+ if (hard) {
+ show (c);
+ putchar ('\n');
+ putchar (pchar);
+ }
+ else {
+ putchar ('\r');
+ putchar (pchar);
+ if (eraseln)
+ erasep (1);
+ else if (docrtkill)
+ while (promptlen-- > 1)
+ putserr(BSB);
+ promptlen = 1;
+ }
+ sp = buf;
+ fflush (stdout);
+ continue;
+ }
+ if (slash && ((cc_t) c == otty.c_cc[VKILL]
+ || (cc_t) c == otty.c_cc[VERASE])) {
+ ERASEONECOLUMN
+ --sp;
+ }
+ if (c != '\\')
+ slash = 0;
+ *sp++ = c;
+ if ((c < ' ' && c != '\n' && c != ESC) || c == RUBOUT) {
+ c += (c == RUBOUT) ? -0100 : 0100;
+ putserr(CARAT);
+ promptlen++;
+ }
+ if (c != '\n' && c != ESC) {
+ putcerr(c);
+ promptlen++;
+ }
+ else
+ break;
+ }
+ *--sp = '\0';
+ if (!eraseln) promptlen = maxlen;
+ if (sp - buf >= nmax - 1)
+ more_error (_("Line too long"));
+}
+
+/* return: 0 - unchanged, 1 - changed, -1 - overflow (unchanged) */
+int expand (char **outbuf, char *inbuf) {
+ char *inpstr;
+ char *outstr;
+ char c;
+ char *temp;
+ int changed = 0;
+ int tempsz, xtra, offset;
+
+ xtra = strlen (fnames[fnum]) + strlen (shell_line) + 1;
+ tempsz = 200 + xtra;
+ temp = xmalloc(tempsz);
+ inpstr = inbuf;
+ outstr = temp;
+ while ((c = *inpstr++) != '\0'){
+ offset = outstr-temp;
+ if (tempsz-offset-1 < xtra) {
+ tempsz += 200 + xtra;
+ temp = xrealloc(temp, tempsz);
+ outstr = temp + offset;
+ }
+ switch (c) {
+ case '%':
+ if (!no_intty) {
+ strcpy (outstr, fnames[fnum]);
+ outstr += strlen (fnames[fnum]);
+ changed++;
+ } else
+ *outstr++ = c;
+ break;
+ case '!':
+ if (!shellp)
+ more_error (_("No previous command to substitute for"));
+ strcpy (outstr, shell_line);
+ outstr += strlen (shell_line);
+ changed++;
+ break;
+ case '\\':
+ if (*inpstr == '%' || *inpstr == '!') {
+ *outstr++ = *inpstr++;
+ break;
+ }
+ default:
+ *outstr++ = c;
+ }
+ }
+ *outstr++ = '\0';
+ *outbuf = temp;
+ return (changed);
+}
+
+void show (char c) {
+ if ((c < ' ' && c != '\n' && c != ESC) || c == RUBOUT) {
+ c += (c == RUBOUT) ? -0100 : 0100;
+ putserr(CARAT);
+ promptlen++;
+ }
+ putcerr(c);
+ promptlen++;
+}
+
+void more_error (char *mess)
+{
+ if (clreol)
+ cleareol ();
+ else
+ kill_line ();
+ promptlen += strlen (mess);
+ if (Senter && Sexit) {
+ my_putstring (Senter);
+ putsout(mess);
+ my_putstring (Sexit);
+ }
+ else
+ putsout(mess);
+ fflush(stdout);
+ errors++;
+ siglongjmp (restore, 1);
+}
+
+
+void set_tty () {
+ otty.c_lflag &= ~(ICANON|ECHO);
+ otty.c_cc[VMIN] = 1; /* read at least 1 char */
+ otty.c_cc[VTIME] = 0; /* no timeout */
+ stty(fileno(stderr), &otty);
+}
+
+static int
+ourputch(int c) {
+ return putc(c, stdout);
+}
+
+void
+reset_tty () {
+ if (no_tty)
+ return;
+ if (pstate) {
+ tputs(ULexit, fileno(stdout), ourputch); /* putchar - if that isn't a macro */
+ fflush(stdout);
+ pstate = 0;
+ }
+ otty.c_lflag |= ICANON|ECHO;
+ otty.c_cc[VMIN] = savetty0.c_cc[VMIN];
+ otty.c_cc[VTIME] = savetty0.c_cc[VTIME];
+ stty(fileno(stderr), &savetty0);
+}
+
+void rdline (register FILE *f)
+{
+ register int c;
+ register char *p;
+
+ prepare_line_buffer();
+
+ p = Line;
+ while ((c = Getc (f)) != '\n' && c != EOF && (size_t) (p - Line) < LineLen - 1)
+ *p++ = c;
+ if (c == '\n')
+ Currline++;
+ *p = '\0';
+}
+
+/* Come here when we get a suspend signal from the terminal */
+
+void onsusp (int dummy __attribute__ ((__unused__)))
+{
+ sigset_t signals, oldmask;
+
+ /* ignore SIGTTOU so we don't get stopped if csh grabs the tty */
+ signal(SIGTTOU, SIG_IGN);
+ reset_tty ();
+ fflush (stdout);
+ signal(SIGTTOU, SIG_DFL);
+ /* Send the TSTP signal to suspend our process group */
+ signal(SIGTSTP, SIG_DFL);
+
+ /* unblock SIGTSTP or we won't be able to suspend ourself */
+ sigemptyset(&signals);
+ sigaddset(&signals, SIGTSTP);
+ sigprocmask(SIG_UNBLOCK, &signals, &oldmask);
+
+ kill (0, SIGTSTP);
+ /* Pause for station break */
+
+ sigprocmask(SIG_SETMASK, &oldmask, NULL);
+
+ /* We're back */
+ signal (SIGTSTP, onsusp);
+ set_tty ();
+ if (inwait)
+ siglongjmp (restore, 1);
+}
diff --git a/text-utils/parse.c b/text-utils/parse.c
new file mode 100644
index 0000000..5f1e2bd
--- /dev/null
+++ b/text-utils/parse.c
@@ -0,0 +1,495 @@
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <sys/types.h>
+#include <sys/file.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <string.h>
+#include "hexdump.h"
+#include "nls.h"
+#include "xalloc.h"
+
+static void escape(char *p1);
+static void badcnt(const char *s);
+static void badsfmt(void);
+static void badfmt(const char *fmt);
+static void badconv(const char *ch);
+
+FU *endfu; /* format at end-of-data */
+
+void addfile(char *name)
+{
+ char *p;
+ FILE *fp;
+ int ch;
+ char buf[2048 + 1];
+
+ if ((fp = fopen(name, "r")) == NULL)
+ err(EXIT_FAILURE, _("can't read %s"), name);
+ while (fgets(buf, sizeof(buf), fp)) {
+ if ((p = strchr(buf, '\n')) == NULL) {
+ warnx(_("line too long"));
+ while ((ch = getchar()) != '\n' && ch != EOF);
+ continue;
+ }
+ *p = '\0';
+ for (p = buf; *p && isspace((unsigned char)*p); ++p);
+ if (!*p || *p == '#')
+ continue;
+ add(p);
+ }
+ (void)fclose(fp);
+}
+
+void add(const char *fmt)
+{
+ const char *p;
+ static FS **nextfs = NULL;
+ FS *tfs;
+ FU *tfu, **nextfu;
+ const char *savep;
+
+ /* Start new linked list of format units. */
+ tfs = xcalloc(1, sizeof(FS));
+ if (!fshead)
+ fshead = tfs;
+ else if (nextfs)
+ *nextfs = tfs;
+
+ nextfs = &tfs->nextfs;
+ nextfu = &tfs->nextfu;
+
+ /* Take the format string and break it up into format units. */
+ for (p = fmt;;) {
+ /* Skip leading white space. */
+ for (; isspace((unsigned char)*p); ++p);
+ if (!*p)
+ break;
+
+ /* Allocate a new format unit and link it in. */
+ tfu = xcalloc(1, sizeof(FU));
+ *nextfu = tfu;
+ nextfu = &tfu->nextfu;
+ tfu->reps = 1;
+
+ /* If leading digit, repetition count. */
+ if (isdigit((unsigned char)*p)) {
+ for (savep = p; isdigit((unsigned char)*p); ++p);
+ if (!isspace((unsigned char)*p) && *p != '/')
+ badfmt(fmt);
+ /* may overwrite either white space or slash */
+ tfu->reps = atoi(savep);
+ tfu->flags = F_SETREP;
+ /* skip trailing white space */
+ for (++p; isspace((unsigned char)*p); ++p);
+ }
+
+ /* Skip slash and trailing white space. */
+ if (*p == '/')
+ while (isspace((unsigned char)*++p));
+
+ /* byte count */
+ if (isdigit((unsigned char)*p)) {
+ for (savep = p; isdigit((unsigned char)*p); ++p);
+ if (!isspace((unsigned char)*p))
+ badfmt(fmt);
+ tfu->bcnt = atoi(savep);
+ /* skip trailing white space */
+ for (++p; isspace((unsigned char)*p); ++p);
+ }
+
+ /* format */
+ if (*p != '"')
+ badfmt(fmt);
+ for (savep = ++p; *p != '"';)
+ if (*p++ == 0)
+ badfmt(fmt);
+ tfu->fmt = xmalloc(p - savep + 1);
+ (void) strncpy(tfu->fmt, savep, p - savep);
+ tfu->fmt[p - savep] = '\0';
+ escape(tfu->fmt);
+ p++;
+ }
+}
+
+static const char *spec = ".#-+ 0123456789";
+
+int block_size(FS *fs)
+{
+ FU *fu;
+ int bcnt, cursize;
+ char *fmt;
+ int prec;
+
+ /* figure out the data block size needed for each format unit */
+ for (cursize = 0, fu = fs->nextfu; fu; fu = fu->nextfu) {
+ if (fu->bcnt) {
+ cursize += fu->bcnt * fu->reps;
+ continue;
+ }
+ for (bcnt = prec = 0, fmt = fu->fmt; *fmt; ++fmt) {
+ if (*fmt != '%')
+ continue;
+ /*
+ * skip any special chars -- save precision in
+ * case it's a %s format.
+ */
+ while (strchr(spec + 1, *++fmt));
+ if (*fmt == '.' && isdigit((unsigned char)*++fmt)) {
+ prec = atoi(fmt);
+ while (isdigit((unsigned char)*++fmt));
+ }
+ switch(*fmt) {
+ case 'c':
+ bcnt += 1;
+ break;
+ case 'd': case 'i': case 'o': case 'u':
+ case 'x': case 'X':
+ bcnt += 4;
+ break;
+ case 'e': case 'E': case 'f': case 'g': case 'G':
+ bcnt += 8;
+ break;
+ case 's':
+ bcnt += prec;
+ break;
+ case '_':
+ switch(*++fmt) {
+ case 'c': case 'p': case 'u':
+ bcnt += 1;
+ break;
+ }
+ }
+ }
+ cursize += bcnt * fu->reps;
+ }
+ return(cursize);
+}
+
+void rewrite(FS *fs)
+{
+ enum { NOTOKAY, USEBCNT, USEPREC } sokay;
+ PR *pr, **nextpr;
+ FU *fu;
+ char *p1, *p2;
+ char savech, *fmtp, cs[3];
+ int nconv, prec;
+
+ nextpr = NULL;
+ prec = 0;
+
+ for (fu = fs->nextfu; fu; fu = fu->nextfu) {
+ /*
+ * Break each format unit into print units; each
+ * conversion character gets its own.
+ */
+ for (nconv = 0, fmtp = fu->fmt; *fmtp; nextpr = &pr->nextpr) {
+ pr = xcalloc(1, sizeof(PR));
+ if (!fu->nextpr)
+ fu->nextpr = pr;
+ else if (nextpr)
+ *nextpr = pr;
+
+ /* Skip preceding text and up to the next % sign. */
+ for (p1 = fmtp; *p1 && *p1 != '%'; ++p1);
+
+ /* Only text in the string. */
+ if (!*p1) {
+ pr->fmt = fmtp;
+ pr->flags = F_TEXT;
+ break;
+ }
+
+ /*
+ * Get precision for %s -- if have a byte count, don't
+ * need it.
+ */
+ if (fu->bcnt) {
+ sokay = USEBCNT;
+ /* skip to conversion character */
+ for (++p1; strchr(spec, *p1); ++p1);
+ } else {
+ /* skip any special chars, field width */
+ while (strchr(spec + 1, *++p1));
+ if (*p1 == '.' &&
+ isdigit((unsigned char)*++p1)) {
+ sokay = USEPREC;
+ prec = atoi(p1);
+ while (isdigit((unsigned char)*++p1));
+ } else
+ sokay = NOTOKAY;
+ }
+
+ p2 = p1 + 1; /* Set end pointer. */
+ cs[0] = *p1; /* Set conversion string. */
+ cs[1] = 0;
+
+ /*
+ * Figure out the byte count for each conversion;
+ * rewrite the format as necessary, set up blank-
+ * padding for end of data.
+ */
+ switch(cs[0]) {
+ case 'c':
+ pr->flags = F_CHAR;
+ switch(fu->bcnt) {
+ case 0: case 1:
+ pr->bcnt = 1;
+ break;
+ default:
+ p1[1] = '\0';
+ badcnt(p1);
+ }
+ break;
+ case 'd': case 'i':
+ pr->flags = F_INT;
+ goto isint;
+ case 'o': case 'u': case 'x': case 'X':
+ pr->flags = F_UINT;
+isint: cs[2] = '\0';
+ cs[1] = cs[0];
+ cs[0] = 'q';
+ switch(fu->bcnt) {
+ case 0: case 4:
+ pr->bcnt = 4;
+ break;
+ case 1:
+ pr->bcnt = 1;
+ break;
+ case 2:
+ pr->bcnt = 2;
+ break;
+ case 8:
+ pr->bcnt = 8;
+ break;
+ default:
+ p1[1] = '\0';
+ badcnt(p1);
+ }
+ break;
+ case 'e': case 'E': case 'f': case 'g': case 'G':
+ pr->flags = F_DBL;
+ switch(fu->bcnt) {
+ case 0: case 8:
+ pr->bcnt = 8;
+ break;
+ case 4:
+ pr->bcnt = 4;
+ break;
+ default:
+ p1[1] = '\0';
+ badcnt(p1);
+ }
+ break;
+ case 's':
+ pr->flags = F_STR;
+ switch(sokay) {
+ case NOTOKAY:
+ badsfmt();
+ case USEBCNT:
+ pr->bcnt = fu->bcnt;
+ break;
+ case USEPREC:
+ pr->bcnt = prec;
+ break;
+ }
+ break;
+ case '_':
+ ++p2;
+ switch(p1[1]) {
+ case 'A':
+ endfu = fu;
+ fu->flags |= F_IGNORE;
+ /* FALLTHROUGH */
+ case 'a':
+ pr->flags = F_ADDRESS;
+ ++p2;
+ switch(p1[2]) {
+ case 'd': case 'o': case'x':
+ cs[0] = 'q';
+ cs[1] = p1[2];
+ cs[2] = '\0';
+ break;
+ default:
+ p1[3] = '\0';
+ badconv(p1);
+ }
+ break;
+ case 'c':
+ pr->flags = F_C;
+ /* cs[0] = 'c'; set in conv_c */
+ goto isint2;
+ case 'p':
+ pr->flags = F_P;
+ cs[0] = 'c';
+ goto isint2;
+ case 'u':
+ pr->flags = F_U;
+ /* cs[0] = 'c'; set in conv_u */
+isint2: switch(fu->bcnt) {
+ case 0: case 1:
+ pr->bcnt = 1;
+ break;
+ default:
+ p1[2] = '\0';
+ badcnt(p1);
+ }
+ break;
+ default:
+ p1[2] = '\0';
+ badconv(p1);
+ }
+ break;
+ default:
+ p1[1] = '\0';
+ badconv(p1);
+ }
+
+ /*
+ * Copy to PR format string, set conversion character
+ * pointer, update original.
+ */
+ savech = *p2;
+ p1[0] = '\0';
+ pr->fmt = xmalloc(strlen(fmtp) + strlen(cs) + 1);
+ (void)strcpy(pr->fmt, fmtp);
+ (void)strcat(pr->fmt, cs);
+ *p2 = savech;
+ pr->cchar = pr->fmt + (p1 - fmtp);
+ fmtp = p2;
+
+ /* Only one conversion character if byte count */
+ if (!(pr->flags&F_ADDRESS) && fu->bcnt && nconv++)
+ errx(EXIT_FAILURE,
+ _("byte count with multiple conversion characters"));
+ }
+ /*
+ * If format unit byte count not specified, figure it out
+ * so can adjust rep count later.
+ */
+ if (!fu->bcnt)
+ for (pr = fu->nextpr; pr; pr = pr->nextpr)
+ fu->bcnt += pr->bcnt;
+ }
+ /*
+ * If the format string interprets any data at all, and it's
+ * not the same as the blocksize, and its last format unit
+ * interprets any data at all, and has no iteration count,
+ * repeat it as necessary.
+ *
+ * If rep count is greater than 1, no trailing whitespace
+ * gets output from the last iteration of the format unit.
+ */
+ for (fu = fs->nextfu; fu; fu = fu->nextfu) {
+ if (!fu->nextfu && fs->bcnt < blocksize &&
+ !(fu->flags&F_SETREP) && fu->bcnt)
+ fu->reps += (blocksize - fs->bcnt) / fu->bcnt;
+ if (fu->reps > 1) {
+ for (pr = fu->nextpr;; pr = pr->nextpr)
+ if (!pr->nextpr)
+ break;
+ for (p1 = pr->fmt, p2 = NULL; *p1; ++p1)
+ p2 = isspace((unsigned char)*p1) ? p1 : NULL;
+ if (p2)
+ pr->nospace = p2;
+ }
+ }
+}
+
+
+static void escape(char *p1)
+{
+ char *p2;
+
+ /* alphabetic escape sequences have to be done in place */
+ for (p2 = p1;; ++p1, ++p2) {
+ if (!*p1) {
+ *p2 = *p1;
+ break;
+ }
+ if (*p1 == '\\')
+ switch(*++p1) {
+ case 'a':
+ /* *p2 = '\a'; */
+ *p2 = '\007';
+ break;
+ case 'b':
+ *p2 = '\b';
+ break;
+ case 'f':
+ *p2 = '\f';
+ break;
+ case 'n':
+ *p2 = '\n';
+ break;
+ case 'r':
+ *p2 = '\r';
+ break;
+ case 't':
+ *p2 = '\t';
+ break;
+ case 'v':
+ *p2 = '\v';
+ break;
+ default:
+ *p2 = *p1;
+ break;
+ }
+ }
+}
+
+static void badcnt(const char *s)
+{
+ errx(EXIT_FAILURE, _("bad byte count for conversion character %s"), s);
+}
+
+static void badsfmt(void)
+{
+ errx(EXIT_FAILURE, _("%%s requires a precision or a byte count"));
+}
+
+static void badfmt(const char *fmt)
+{
+ errx(EXIT_FAILURE, _("bad format {%s}"), fmt);
+}
+
+static void badconv(const char *ch)
+{
+ errx(EXIT_FAILURE, _("bad conversion character %%%s"), ch);
+}
diff --git a/text-utils/pg.1 b/text-utils/pg.1
new file mode 100644
index 0000000..93b0209
--- /dev/null
+++ b/text-utils/pg.1
@@ -0,0 +1,232 @@
+.\" @(#)pg.1 1.7 (gritter) 4/25/01
+.TH PG 1 "April 2001" "util-linux" "User Commands"
+.SH NAME
+pg \- browse pagewise through text files
+.SH SYNOPSIS
+.B pg
+.RB [ \-\fInumber\fP ]
+.RB [ \-p
+.IR string ]
+.RB [ \-cefnrs ]
+.RB [ +\fIline\fP ]
+.RB [ +/\fIpattern\fP/ ]
+.RI [ file ...]
+.SH DESCRIPTION
+.B pg
+displays a text file on a
+.SM CRT
+one screenful at once.
+After each page, a prompt is displayed. The user may then either press the
+newline key to view the next page or one of the keys described below.
+.PP
+If no filename is given on the command line,
+.B pg
+reads from standard input.
+If standard output is not a terminal,
+.B pg
+acts like
+.IR cat (1)
+but precedes each file with its name if there is more than one.
+.PP
+If input comes from a pipe,
+.B pg
+stores the data in a buffer file while reading
+to make navigation possible.
+.SH OPTIONS
+.B pg
+accepts the following options:
+.TP
+.BI \- number
+The number of lines per page. Usually, this is the number of
+.SM CRT
+lines minus one.
+.TP
+.B \-c
+Clear the screen before a page is displayed,
+if the terminfo entry for the terminal provides this capability.
+.TP
+.B \-e
+Do not pause and display
+.SM (EOF)
+at the end of a file.
+.TP
+.B \-f
+Do not split long lines.
+.TP
+.B \-n
+Without this option, commands must be terminated by a newline character.
+With this option,
+.B pg
+advances once a command letter is entered.
+.TP
+.BI \-p \ string
+Instead of the normal prompt
+.IR : ,
+.I string
+is displayed.
+If
+.I string
+contains
+.IR %d ,
+its first occurrence is replaced by the number of the current page.
+.TP
+.B \-r
+Disallow the shell escape.
+.TP
+.B \-s
+Print messages in
+.I standout
+mode,
+if the terminfo entry for the terminal provides this capability.
+.TP
+.BI + number
+Start at the given line.
+.TP
+.BI +/ pattern /
+Start at the line containing the Basic Regular Expression
+.I pattern
+given.
+.SH USAGE
+The following commands may be entered at the prompt. Commands preceded by
+.I i
+in this document accept a number as argument, positive or negative.
+If this argument starts with
+.I +
+or
+.I \-,
+it is interpreted relative to the current position in the input file,
+otherwise relative to the beginning.
+.TP
+.IB i <newline>
+Display the next or the indicated page.
+.TP
+\fIi\fR\fBd\fR or \fB^D\fR
+Display the next halfpage. If
+.I i
+is given, it is always interpreted relative to the current position.
+.TP
+.IB i l
+Display the next or the indicated line.
+.TP
+.IB i f
+Skip a page forward.
+.I i
+must be a positive number and is always interpreted relative
+to the current position.
+.TP
+\fIi\fR\fBw\fR or \fIi\fR\fBz\fR
+Behave as
+.I <newline>
+except that
+.I i
+becomes the new page size.
+.TP
+.BR . " or " ^L
+Redraw the screen.
+.TP
+.B $
+Advance to the last line of the input file.
+.TP
+.IB i / pattern /
+Search forward until the first or the \fIi\fR-th
+occurrence of the Basic Regular Expression
+.I pattern
+is found. The search starts
+after the current page and stops at the end of the file.
+No wrap-around is performed.
+.I i
+must be a positive number.
+.TP
+\fIi\fR\fB?\fR\fIpattern\fR\fB?\fR or \fIi\fR\fB^\fR\fIpattern\fR\fB^\fR
+Search backward until the first or the \fIi\fR-th
+occurrence of the Basic Regular Expression
+.I pattern
+is found. The search starts
+before the current page and stops at the beginning of the file.
+No wrap-around is performed.
+.I i
+must be a positive number.
+.PP
+The search commands accept an added letter. If
+.B t
+is given, the line containing the pattern is displayed at the top of the
+screen, which is the default.
+.B m
+selects the middle and
+.B b
+the bottom of the screen.
+The selected position is used in following searches, too.
+.TP
+.IB i n
+Advance to the next file or
+.I i
+files forward.
+.TP
+.IB i p
+Reread the previous file or
+.I i
+files backward.
+.TP
+.BI s \ filename
+Save the current file to the given
+.I filename.
+.TP
+.B h
+Display a command summary.
+.TP
+.BI ! command
+Execute
+.I command
+using the shell.
+.TP
+.BR q " or " Q
+Quit.
+.PP
+If the user presses the interrupt or quit key while
+.B pg
+reads from the
+input file or writes on the terminal,
+.B pg
+will immediately display the prompt.
+In all other situations these keys will terminate
+.BR pg .
+.SH "ENVIRONMENT VARIABLES"
+The following environment variables
+affect the behaviour of
+.BR pg :
+.TP
+.B COLUMNS
+Overrides the system-supplied number of columns if set.
+.TP
+.BR LANG ,\ LC_ALL ,\ LC_COLLATE ,\ LC_CTYPE ,\ LC_MESSAGES
+See
+.IR locale (7).
+.TP
+.B LINES
+Overrides the system-supplied number of lines if set.
+.TP
+.B SHELL
+Used by the
+.BR ! " command."
+.TP
+.B TERM
+Determines the terminal type.
+.SH "SEE ALSO"
+.BR cat (1),
+.BR more (1),
+.BR sh (1),
+.BR terminfo (5),
+.BR locale (7),
+.BR regex (7),
+.BR term (7)
+.SH NOTES
+.B pg
+expects the terminal tabulators to be set every eight positions.
+.PP
+Files that include
+.SM NUL
+characters cannot be displayed by
+.BR pg .
+.SH AVAILABILITY
+The pg command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/text-utils/pg.c b/text-utils/pg.c
new file mode 100644
index 0000000..9ade866
--- /dev/null
+++ b/text-utils/pg.c
@@ -0,0 +1,1783 @@
+/*
+ * pg - A clone of the System V CRT paging utility.
+ *
+ * Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. [deleted]
+ * 4. Neither the name of Gunnar Ritter nor the names of his contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY GUNNAR RITTER AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL GUNNAR RITTER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/* Sccsid @(#)pg.c 1.44 (gritter) 2/8/02 - modified for util-linux */
+
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/stat.h>
+#ifndef TIOCGWINSZ
+#include <sys/ioctl.h>
+#endif
+#include <sys/termios.h>
+#include <fcntl.h>
+#include <regex.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <ctype.h>
+#include <errno.h>
+#include <unistd.h>
+#include <signal.h>
+#include <setjmp.h>
+#include <libgen.h>
+
+#ifdef HAVE_NCURSES_H
+#include <ncurses.h>
+#elif defined(HAVE_NCURSES_NCURSES_H)
+#include <ncurses/ncurses.h>
+#endif
+
+#include <term.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "widechar.h"
+#include "all-io.h"
+#include "closestream.h"
+
+#define READBUF LINE_MAX /* size of input buffer */
+#define CMDBUF 255 /* size of command buffer */
+#define TABSIZE 8 /* spaces consumed by tab character */
+
+/*
+ * Avoid the message "`var' might be clobbered by `longjmp' or `vfork'"
+ */
+#define CLOBBGRD(a) (void)(&(a));
+
+#define cuc(c) ((c) & 0377)
+
+enum { FORWARD = 1, BACKWARD = 2 }; /* search direction */
+enum { TOP, MIDDLE, BOTTOM }; /* position of matching line */
+
+/*
+ * States for syntax-aware command line editor.
+ */
+enum {
+ COUNT,
+ SIGN,
+ CMD_FIN,
+ SEARCH,
+ SEARCH_FIN,
+ ADDON_FIN,
+ STRING,
+ INVALID
+};
+
+/*
+ * Current command
+ */
+struct {
+ char cmdline[CMDBUF];
+ size_t cmdlen;
+ int count;
+ int key;
+ char pattern[CMDBUF];
+ char addon;
+} cmd;
+
+/*
+ * Position of file arguments on argv[] to main()
+ */
+struct {
+ int first;
+ int current;
+ int last;
+} files;
+
+void (*oldint)(int); /* old SIGINT handler */
+void (*oldquit)(int); /* old SIGQUIT handler */
+void (*oldterm)(int); /* old SIGTERM handler */
+char *tty; /* result of ttyname(1) */
+char *progname; /* program name */
+unsigned ontty; /* whether running on tty device */
+unsigned exitstatus; /* exit status */
+int pagelen = 23; /* lines on a single screen page */
+int ttycols = 79; /* screen columns (starting at 0) */
+struct termios otio; /* old termios settings */
+int tinfostat = -1; /* terminfo routines initialized */
+int searchdisplay = TOP; /* matching line position */
+regex_t re; /* regular expression to search for */
+int remembered; /* have a remembered search string */
+int cflag; /* clear screen before each page */
+int eflag; /* suppress (EOF) */
+int fflag; /* do not split lines */
+int nflag; /* no newline for commands required */
+int rflag; /* "restricted" pg */
+int sflag; /* use standout mode */
+char *pstring = ":"; /* prompt string */
+char *searchfor; /* search pattern from argv[] */
+int havepagelen; /* page length is manually defined */
+long startline; /* start line from argv[] */
+int nextfile = 1; /* files to advance */
+jmp_buf jmpenv; /* jump from signal handlers */
+int canjump; /* jmpenv is valid */
+wchar_t wbuf[READBUF]; /* used in several widechar routines */
+
+char *copyright;
+const char *helpscreen = N_("\
+-------------------------------------------------------\n\
+ h this screen\n\
+ q or Q quit program\n\
+ <newline> next page\n\
+ f skip a page forward\n\
+ d or ^D next halfpage\n\
+ l next line\n\
+ $ last page\n\
+ /regex/ search forward for regex\n\
+ ?regex? or ^regex^ search backward for regex\n\
+ . or ^L redraw screen\n\
+ w or z set page size and go to next page\n\
+ s filename save current file to filename\n\
+ !command shell escape\n\
+ p go to previous file\n\
+ n go to next file\n\
+\n\
+Many commands accept preceding numbers, for example:\n\
++1<newline> (next page); -1<newline> (previous page); 1<newline> (first page).\n\
+\n\
+See pg(1) for more information.\n\
+-------------------------------------------------------\n");
+
+#ifndef HAVE_FSEEKO
+ static int fseeko(FILE *f, off_t off, int whence) {
+ return fseek(f, (long) off, whence);
+ }
+ static off_t ftello(FILE *f) {
+ return (off_t) ftell(f);
+ }
+#endif
+
+#ifdef USE_SIGSET /* never defined */
+/* sigset and sigrelse are obsolete - use when POSIX stuff is unavailable */
+#define my_sigset sigset
+#define my_sigrelse sigrelse
+#else
+static int my_sigrelse(int sig) {
+ sigset_t sigs;
+
+ if (sigemptyset(&sigs) || sigaddset(&sigs, sig))
+ return -1;
+ return sigprocmask(SIG_UNBLOCK, &sigs, NULL);
+}
+typedef void (*my_sighandler_t)(int);
+static my_sighandler_t my_sigset(int sig, my_sighandler_t disp) {
+ struct sigaction act, oact;
+
+ act.sa_handler = disp;
+ if (sigemptyset(&act.sa_mask))
+ return SIG_ERR;
+ act.sa_flags = 0;
+ if (sigaction(sig, &act, &oact))
+ return SIG_ERR;
+ if (my_sigrelse(sig))
+ return SIG_ERR;
+ return oact.sa_handler;
+}
+#endif
+
+/*
+ * Quit pg.
+ */
+static void
+quit(int status)
+{
+ exit(status < 0100 ? status : 077);
+}
+
+/*
+ * Usage message and similar routines.
+ */
+static void usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+ fprintf(out,
+ _(" %s [options] [+line] [+/pattern/] [files]\n"),
+ program_invocation_short_name);
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -number lines per page\n"), out);
+ fputs(_(" -c clear screen before displaying\n"), out);
+ fputs(_(" -e do not pause at end of a file\n"), out);
+ fputs(_(" -f do not split long lines\n"), out);
+ fputs(_(" -n terminate command with new line\n"), out);
+ fputs(_(" -p <prompt> specify prompt\n"), out);
+ fputs(_(" -r disallow shell escape\n"), out);
+ fputs(_(" -s print messages to stdout\n"), out);
+ fputs(_(" +number start at the given line\n"), out);
+ fputs(_(" +/pattern/ start at the line containing pattern\n"), out);
+ fputs(_(" -h display this help and exit\n"), out);
+ fputs(_(" -V output version information and exit\n"), out);
+ fprintf(out, USAGE_MAN_TAIL("pg(1)"));
+ quit(out == stderr ? 2 : 0);
+}
+
+static void
+needarg(char *s)
+{
+ fprintf(stderr, _("%s: option requires an argument -- %s\n"),
+ progname, s);
+ usage(stderr);
+}
+
+static void
+invopt(char *s)
+{
+ fprintf(stderr, _("%s: illegal option -- %s\n"), progname, s);
+ usage(stderr);
+}
+
+#ifdef HAVE_WIDECHAR
+/*
+ * A mbstowcs()-alike function that transparently handles invalid sequences.
+ */
+static size_t
+xmbstowcs(wchar_t *pwcs, const char *s, size_t nwcs)
+{
+ size_t n = nwcs;
+ int c;
+
+ ignore_result( mbtowc(pwcs, NULL, MB_CUR_MAX) ); /* reset shift state */
+ while (*s && n) {
+ if ((c = mbtowc(pwcs, s, MB_CUR_MAX)) < 0) {
+ s++;
+ *pwcs = L'?';
+ } else
+ s += c;
+ pwcs++;
+ n--;
+ }
+ if (n)
+ *pwcs = L'\0';
+ ignore_result( mbtowc(pwcs, NULL, MB_CUR_MAX) );
+ return nwcs - n;
+}
+#endif
+
+/*
+ * Helper function for tputs().
+ */
+static int
+outcap(int i)
+{
+ char c = i;
+ return write_all(1, &c, 1) == 0 ? 1 : -1;
+}
+
+/*
+ * Write messages to terminal.
+ */
+static void
+mesg(char *message)
+{
+ if (ontty == 0)
+ return;
+ if (*message != '\n' && sflag)
+ vidputs(A_STANDOUT, outcap);
+ write_all(1, message, strlen(message));
+ if (*message != '\n' && sflag)
+ vidputs(A_NORMAL, outcap);
+}
+
+/*
+ * Get the window size.
+ */
+static void
+getwinsize(void)
+{
+ static int initialized, envlines, envcols, deflines, defcols;
+#ifdef TIOCGWINSZ
+ struct winsize winsz;
+ int badioctl;
+#endif
+ char *p;
+
+ if (initialized == 0) {
+ if ((p = getenv("LINES")) != NULL && *p != '\0')
+ if ((envlines = atoi(p)) < 0)
+ envlines = 0;
+ if ((p = getenv("COLUMNS")) != NULL && *p != '\0')
+ if ((envcols = atoi(p)) < 0)
+ envcols = 0;
+ /* terminfo values. */
+ if (tinfostat != 1 || columns == 0)
+ defcols = 24;
+ else
+ defcols = columns;
+ if (tinfostat != 1 || lines == 0)
+ deflines = 80;
+ else
+ deflines = lines;
+ initialized = 1;
+ }
+#ifdef TIOCGWINSZ
+ badioctl = ioctl(1, TIOCGWINSZ, &winsz);
+#endif
+ if (envcols)
+ ttycols = envcols - 1;
+#ifdef TIOCGWINSZ
+ else if (!badioctl)
+ ttycols = winsz.ws_col - 1;
+#endif
+ else
+ ttycols = defcols - 1;
+ if (havepagelen == 0) {
+ if (envlines)
+ pagelen = envlines - 1;
+#ifdef TIOCGWINSZ
+ else if (!badioctl)
+ pagelen = winsz.ws_row - 1;
+#endif
+ else
+ pagelen = deflines - 1;
+ }
+}
+
+/*
+ * Message if skipping parts of files.
+ */
+static void
+skip(int direction)
+{
+ if (direction > 0)
+ mesg(_("...skipping forward\n"));
+ else
+ mesg(_("...skipping backward\n"));
+}
+
+/*
+ * Signal handler while reading from input file.
+ */
+static void
+sighandler(int signum)
+{
+ if (canjump && (signum == SIGINT || signum == SIGQUIT))
+ longjmp(jmpenv, signum);
+ tcsetattr(1, TCSADRAIN, &otio);
+ quit(exitstatus);
+}
+
+/*
+ * Check whether the requested file was specified on the command line.
+ */
+static int
+checkf(void)
+{
+ if (files.current + nextfile >= files.last) {
+ mesg(_("No next file"));
+ return 1;
+ }
+ if (files.current + nextfile < files.first) {
+ mesg(_("No previous file"));
+ return 1;
+ }
+ return 0;
+}
+
+#ifdef HAVE_WIDECHAR
+/*
+ * Return the last character that will fit on the line at col columns
+ * in case MB_CUR_MAX > 1.
+ */
+static char *
+endline_for_mb(unsigned col, char *s)
+{
+ size_t pos = 0;
+ wchar_t *p = wbuf;
+ wchar_t *end;
+ size_t wl;
+ char *t = s;
+
+ if ((wl = xmbstowcs(wbuf, t, sizeof wbuf - 1)) == (size_t)-1)
+ return s + 1;
+ wbuf[wl] = L'\0';
+ while (*p != L'\0') {
+ switch (*p) {
+ /*
+ * Cursor left.
+ */
+ case L'\b':
+ if (pos > 0)
+ pos--;
+ break;
+ /*
+ * No cursor movement.
+ */
+ case L'\a':
+ break;
+ /*
+ * Special.
+ */
+ case L'\r':
+ pos = 0;
+ break;
+ case L'\n':
+ end = p + 1;
+ goto ended;
+ /*
+ * Cursor right.
+ */
+ case L'\t':
+ pos += TABSIZE - (pos % TABSIZE);
+ break;
+ default:
+ if (iswprint(*p))
+ pos += wcwidth(*p);
+ else
+ pos += wcwidth(L'?');
+ }
+ if (pos > col) {
+ if (*p == L'\t')
+ p++;
+ else if (pos > col + 1)
+ /*
+ * wcwidth() found a character that
+ * has multiple columns. What happens
+ * now? Assume the terminal will print
+ * the entire character onto the next
+ * row.
+ */
+ p--;
+ if (*++p == L'\n')
+ p++;
+ end = p;
+ goto ended;
+ }
+ p++;
+ }
+ end = p;
+ ended:
+ *end = L'\0';
+ p = wbuf;
+ if ((pos = wcstombs(NULL, p, READBUF)) == (size_t) -1)
+ return s + 1;
+ return s + pos;
+}
+#endif
+
+/*
+ * Return the last character that will fit on the line at col columns.
+ */
+static char *
+endline(unsigned col, char *s)
+{
+ unsigned pos = 0;
+ char *t = s;
+
+#ifdef HAVE_WIDECHAR
+ if (MB_CUR_MAX > 1)
+ return endline_for_mb(col, s);
+#endif
+
+ while (*s != '\0') {
+ switch (*s) {
+ /*
+ * Cursor left.
+ */
+ case '\b':
+ if (pos > 0)
+ pos--;
+ break;
+ /*
+ * No cursor movement.
+ */
+ case '\a':
+ break;
+ /*
+ * Special.
+ */
+ case '\r':
+ pos = 0;
+ break;
+ case '\n':
+ t = s + 1;
+ goto cend;
+ /*
+ * Cursor right.
+ */
+ case '\t':
+ pos += TABSIZE - (pos % TABSIZE);
+ break;
+ default:
+ pos++;
+ }
+ if (pos > col) {
+ if (*s == '\t')
+ s++;
+ if (*++s == '\n')
+ s++;
+ t = s;
+ goto cend;
+ }
+ s++;
+ }
+ t = s;
+ cend:
+ return t;
+}
+
+/*
+ * Clear the current line on the terminal's screen.
+ */
+static void
+cline(void)
+{
+ char *buf = xmalloc(ttycols + 2);
+ memset(buf, ' ', ttycols + 2);
+ buf[0] = '\r';
+ buf[ttycols + 1] = '\r';
+ write_all(1, buf, ttycols + 2);
+ free(buf);
+}
+
+/*
+ * Evaluate a command character's semantics.
+ */
+static int
+getstate(int c)
+{
+ switch (c) {
+ case '1': case '2': case '3': case '4': case '5':
+ case '6': case '7': case '8': case '9': case '0':
+ case '\0':
+ return COUNT;
+ case '-': case '+':
+ return SIGN;
+ case 'l': case 'd': case '\004': case 'f': case 'z':
+ case '.': case '\014': case '$': case 'n': case 'p':
+ case 'w': case 'h': case 'q': case 'Q':
+ return CMD_FIN;
+ case '/': case '?': case '^':
+ return SEARCH;
+ case 's': case '!':
+ return STRING;
+ case 'm': case 'b': case 't':
+ return ADDON_FIN;
+ default:
+#ifdef PG_BELL
+ if (bell)
+ tputs(bell, 1, outcap);
+#endif /* PG_BELL */
+ return INVALID;
+ }
+}
+
+/*
+ * Get the count and ignore last character of string.
+ */
+static int
+getcount(char *cmdstr)
+{
+ char *buf;
+ char *p;
+ int i;
+
+ if (*cmdstr == '\0')
+ return 1;
+ buf = xmalloc(strlen(cmdstr) + 1);
+ strcpy(buf, cmdstr);
+ if (cmd.key != '\0') {
+ if (cmd.key == '/' || cmd.key == '?' || cmd.key == '^') {
+ if ((p = strchr(buf, cmd.key)) != NULL)
+ *p = '\0';
+ } else
+ *(buf + strlen(buf) - 1) = '\0';
+ }
+ if (*buf == '\0')
+ return 1;
+ if (buf[0] == '-' && buf[1] == '\0') {
+ i = -1;
+ } else {
+ if (*buf == '+')
+ i = atoi(buf + 1);
+ else
+ i = atoi(buf);
+ }
+ free(buf);
+ return i;
+}
+
+/*
+ * Read what the user writes at the prompt. This is tricky because
+ * we check for valid input.
+ */
+static void
+prompt(long long pageno)
+{
+ struct termios tio;
+ char key;
+ int state = COUNT;
+ int escape = 0;
+ char b[LINE_MAX], *p;
+
+ if (pageno != -1) {
+ if ((p = strstr(pstring, "%d")) == NULL) {
+ mesg(pstring);
+ } else {
+ strcpy(b, pstring);
+ sprintf(b + (p - pstring), "%lld", pageno);
+ strcat(b, p + 2);
+ mesg(b);
+ }
+ }
+ cmd.key = cmd.addon = cmd.cmdline[0] = '\0';
+ cmd.cmdlen = 0;
+ tcgetattr(1, &tio);
+ tio.c_lflag &= ~(ICANON | ECHO);
+ tio.c_cc[VMIN] = 1;
+ tio.c_cc[VTIME] = 0;
+ tcsetattr(1, TCSADRAIN, &tio);
+ tcflush(1, TCIFLUSH);
+ for (;;) {
+ switch (read(1, &key, 1)) {
+ case 0: quit(0);
+ /*NOTREACHED*/
+ case -1: quit(1);
+ }
+ if (key == tio.c_cc[VERASE]) {
+ if (cmd.cmdlen) {
+ write_all(1, "\b \b", 3);
+ cmd.cmdline[--cmd.cmdlen] = '\0';
+ switch (state) {
+ case ADDON_FIN:
+ state = SEARCH_FIN;
+ cmd.addon = '\0';
+ break;
+ case CMD_FIN:
+ cmd.key = '\0';
+ state = COUNT;
+ break;
+ case SEARCH_FIN:
+ state = SEARCH;
+ /*FALLTHRU*/
+ case SEARCH:
+ if (cmd.cmdline[cmd.cmdlen - 1]
+ == '\\') {
+ escape = 1;
+ while(cmd.cmdline[cmd.cmdlen
+ - escape - 1]
+ == '\\') escape++;
+ escape %= 2;
+ }
+ else {
+ escape = 0;
+ if (strchr(cmd.cmdline, cmd.key)
+ == NULL) {
+ cmd.key = '\0';
+ state = COUNT;
+ }
+ }
+ break;
+ }
+ }
+ if (cmd.cmdlen == 0) {
+ state = COUNT;
+ cmd.key = '\0';
+ }
+ continue;
+ }
+ if (key == tio.c_cc[VKILL]) {
+ cline();
+ cmd.cmdlen = 0;
+ cmd.cmdline[0] = '\0';
+ state = COUNT;
+ cmd.key = '\0';
+ continue;
+ }
+ if (key == '\n' || (nflag && state == COUNT && key == ' '))
+ break;
+ if (cmd.cmdlen >= CMDBUF - 1)
+ continue;
+ switch (state) {
+ case STRING:
+ break;
+ case SEARCH:
+ if (!escape) {
+ if (key == cmd.key)
+ state = SEARCH_FIN;
+ if (key == '\\')
+ escape = 1;
+ } else
+ escape = 0;
+ break;
+ case SEARCH_FIN:
+ if (getstate(key) != ADDON_FIN)
+ continue;
+ state = ADDON_FIN;
+ cmd.addon = key;
+ switch (key) {
+ case 't':
+ searchdisplay = TOP;
+ break;
+ case 'm':
+ searchdisplay = MIDDLE;
+ break;
+ case 'b':
+ searchdisplay = BOTTOM;
+ break;
+ }
+ break;
+ case CMD_FIN:
+ case ADDON_FIN:
+ continue;
+ default:
+ state = getstate(key);
+ switch (state) {
+ case SIGN:
+ if (cmd.cmdlen != 0) {
+ state = INVALID;
+ continue;
+ }
+ state = COUNT;
+ /*FALLTHRU*/
+ case COUNT:
+ break;
+ case ADDON_FIN:
+ case INVALID:
+ continue;
+ default:
+ cmd.key = key;
+ }
+ }
+ write_all(1, &key, 1);
+ cmd.cmdline[cmd.cmdlen++] = key;
+ cmd.cmdline[cmd.cmdlen] = '\0';
+ if (nflag && state == CMD_FIN)
+ goto endprompt;
+ }
+endprompt:
+ tcsetattr(1, TCSADRAIN, &otio);
+ cline();
+ cmd.count = getcount(cmd.cmdline);
+}
+
+#ifdef HAVE_WIDECHAR
+/*
+ * Remove backspace formatting, for searches
+ * in case MB_CUR_MAX > 1.
+ */
+static char *
+colb_for_mb(char *s)
+{
+ char *p = s;
+ wchar_t *wp, *wq;
+ size_t l = strlen(s), wl;
+ unsigned i;
+
+ if ((wl = xmbstowcs(wbuf, p, sizeof wbuf)) == (size_t)-1)
+ return s;
+ for (wp = wbuf, wq = wbuf, i = 0; *wp != L'\0' && i < wl;
+ wp++, wq++) {
+ if (*wp == L'\b') {
+ if (wq != wbuf)
+ wq -= 2;
+ else
+ wq--;
+ } else
+ *wq = *wp;
+ }
+ *wq = L'\0';
+ wp = wbuf;
+ wcstombs(s, wp, l + 1);
+
+ return s;
+}
+#endif
+
+/*
+ * Remove backspace formatting, for searches.
+ */
+static char *
+colb(char *s)
+{
+ char *p = s, *q;
+
+#ifdef HAVE_WIDECHAR
+ if (MB_CUR_MAX > 1)
+ return colb_for_mb(s);
+#endif
+
+ for (q = s; *p != '\0'; p++, q++) {
+ if (*p == '\b') {
+ if (q != s)
+ q -= 2;
+ else
+ q--;
+ } else
+ *q = *p;
+ }
+ *q = '\0';
+
+ return s;
+}
+
+#ifdef HAVE_WIDECHAR
+/*
+ * Convert nonprintable characters to spaces
+ * in case MB_CUR_MAX > 1.
+ */
+static void
+makeprint_for_mb(char *s, size_t l)
+{
+ char *t = s;
+ wchar_t *wp = wbuf;
+ size_t wl;
+
+ if ((wl = xmbstowcs(wbuf, t, sizeof wbuf)) == (size_t)-1)
+ return;
+ while (wl--) {
+ if (!iswprint(*wp) && *wp != L'\n' && *wp != L'\r'
+ && *wp != L'\b' && *wp != L'\t')
+ *wp = L'?';
+ wp++;
+ }
+ wp = wbuf;
+ wcstombs(s, wp, l);
+}
+#endif
+
+/*
+ * Convert nonprintable characters to spaces.
+ */
+static void
+makeprint(char *s, size_t l)
+{
+#ifdef HAVE_WIDECHAR
+ if (MB_CUR_MAX > 1) {
+ makeprint_for_mb(s, l);
+ return;
+ }
+#endif
+
+ while (l--) {
+ if (!isprint(cuc(*s)) && *s != '\n' && *s != '\r'
+ && *s != '\b' && *s != '\t')
+ *s = '?';
+ s++;
+ }
+}
+
+/*
+ * Strip backslash characters from the given string.
+ */
+static void
+striprs(char *s)
+{
+ char *p = s;
+
+ do {
+ if (*s == '\\') {
+ s++;
+ }
+ *p++ = *s;
+ } while (*s++ != '\0');
+}
+
+/*
+ * Extract the search pattern off the command line.
+ */
+static char *
+makepat(void)
+{
+ char *p;
+
+ if (cmd.addon == '\0')
+ p = cmd.cmdline + strlen(cmd.cmdline) - 1;
+ else
+ p = cmd.cmdline + strlen(cmd.cmdline) - 2;
+ if (*p == cmd.key)
+ *p = '\0';
+ else
+ *(p + 1) = '\0';
+ if ((p = strchr(cmd.cmdline, cmd.key)) != NULL) {
+ p++;
+ striprs(p);
+ }
+ return p;
+}
+
+/*
+ * Process errors that occurred in temporary file operations.
+ */
+static void
+tmperr(FILE *f, char *ftype)
+{
+ if (ferror(f))
+ fprintf(stderr, _("%s: Read error from %s file\n"),
+ progname, ftype);
+ else if (feof(f))
+ /*
+ * Most likely '\0' in input.
+ */
+ fprintf(stderr, _("%s: Unexpected EOF in %s file\n"),
+ progname, ftype);
+ else
+ fprintf(stderr, _("%s: Unknown error in %s file\n"),
+ progname, ftype);
+ quit(++exitstatus);
+}
+
+/*
+ * perror()-like, but showing the program's name.
+ */
+static void
+pgerror(int eno, char *string)
+{
+ fprintf(stderr, "%s: %s: %s\n", progname, string, strerror(eno));
+}
+
+/*
+ * Read the file and respond to user input.
+ * Beware: long and ugly.
+ */
+static void
+pgfile(FILE *f, char *name)
+{
+ off_t pos, oldpos, fpos;
+ off_t line = 0, fline = 0, bline = 0, oldline = 0, eofline = 0;
+ int dline = 0;
+ /*
+ * These are the line counters:
+ * line the line desired to display
+ * fline the current line of the input file
+ * bline the current line of the file buffer
+ * oldline the line before a search was started
+ * eofline the last line of the file if it is already reached
+ * dline the line on the display
+ */
+ int search = 0;
+ unsigned searchcount = 0;
+ /*
+ * Advance to EOF immediately.
+ */
+ int seekeof = 0;
+ /*
+ * EOF has been reached by `line'.
+ */
+ int eof = 0;
+ /*
+ * f and fbuf refer to the same file.
+ */
+ int nobuf = 0;
+ int sig;
+ int rerror;
+ size_t sz;
+ char b[READBUF + 1];
+ char *p;
+ /*
+ * fbuf an exact copy of the input file as it gets read
+ * find index table for input, one entry per line
+ * save for the s command, to save to a file
+ */
+ FILE *fbuf, *find, *save;
+
+ /* silence compiler - it may warn about longjmp() */
+ CLOBBGRD(line);
+ CLOBBGRD(fline);
+ CLOBBGRD(bline);
+ CLOBBGRD(oldline);
+ CLOBBGRD(eofline);
+ CLOBBGRD(dline);
+ CLOBBGRD(ttycols);
+ CLOBBGRD(search);
+ CLOBBGRD(searchcount);
+ CLOBBGRD(seekeof);
+ CLOBBGRD(eof);
+ CLOBBGRD(fpos);
+ CLOBBGRD(nobuf);
+ CLOBBGRD(fbuf);
+
+ if (ontty == 0) {
+ /*
+ * Just copy stdin to stdout.
+ */
+ while ((sz = fread(b, sizeof *b, READBUF, f)) != 0)
+ write_all(1, b, sz);
+ if (ferror(f)) {
+ pgerror(errno, name);
+ exitstatus++;
+ }
+ return;
+ }
+ if ((fpos = fseeko(f, (off_t)0, SEEK_SET)) == -1)
+ fbuf = tmpfile();
+ else {
+ fbuf = f;
+ nobuf = 1;
+ }
+ find = tmpfile();
+ if (fbuf == NULL || find == NULL) {
+ fprintf(stderr, _("%s: Cannot create tempfile\n"), progname);
+ quit(++exitstatus);
+ }
+ if (searchfor) {
+ search = FORWARD;
+ oldline = 0;
+ searchcount = 1;
+ rerror = regcomp(&re, searchfor, REG_NOSUB | REG_NEWLINE);
+ if (rerror != 0) {
+ mesg(_("RE error: "));
+ regerror(rerror, &re, b, READBUF);
+ mesg(b);
+ goto newcmd;
+ }
+ remembered = 1;
+ }
+
+ for (line = startline; ; ) {
+ /*
+ * Get a line from input file or buffer.
+ */
+ if (line < bline) {
+ fseeko(find, line * sizeof pos, SEEK_SET);
+ if (fread(&pos, sizeof pos, 1, find) == 0)
+ tmperr(find, "index");
+ fseeko(find, (off_t)0, SEEK_END);
+ fseeko(fbuf, pos, SEEK_SET);
+ if (fgets(b, READBUF, fbuf) == NULL)
+ tmperr(fbuf, "buffer");
+ } else if (eofline == 0) {
+ fseeko(find, (off_t)0, SEEK_END);
+ do {
+ if (!nobuf)
+ fseeko(fbuf, (off_t)0, SEEK_END);
+ pos = ftello(fbuf);
+ if ((sig = setjmp(jmpenv)) != 0) {
+ /*
+ * We got a signal.
+ */
+ canjump = 0;
+ my_sigrelse(sig);
+ fseeko(fbuf, pos, SEEK_SET);
+ *b = '\0';
+ dline = pagelen;
+ break;
+ } else {
+ if (nobuf)
+ fseeko(f, fpos, SEEK_SET);
+ canjump = 1;
+ p = fgets(b, READBUF, f);
+ if (nobuf)
+ if ((fpos = ftello(f)) == -1)
+ pgerror(errno, name);
+ canjump = 0;
+ }
+ if (p == NULL || *b == '\0') {
+ if (ferror(f))
+ pgerror(errno, name);
+ eofline = fline;
+ eof = 1;
+ break;
+ } else {
+ if (!nobuf)
+ fputs(b, fbuf);
+ fwrite_all(&pos, sizeof pos, 1, find);
+ if (!fflag) {
+ oldpos = pos;
+ p = b;
+ while (*(p = endline(ttycols,
+ p))
+ != '\0') {
+ pos = oldpos + (p - b);
+ fwrite_all(&pos,
+ sizeof pos,
+ 1, find);
+ fline++;
+ bline++;
+ }
+ }
+ fline++;
+ }
+ } while (line > bline++);
+ } else {
+ /*
+ * eofline != 0
+ */
+ eof = 1;
+ }
+ if (search == FORWARD && remembered == 1) {
+ if (eof) {
+ line = oldline;
+ search = searchcount = 0;
+ mesg(_("Pattern not found"));
+ eof = 0;
+ goto newcmd;
+ }
+ line++;
+ colb(b);
+ if (regexec(&re, b, 0, NULL, 0) == 0) {
+ searchcount--;
+ }
+ if (searchcount == 0) {
+ search = dline = 0;
+ switch (searchdisplay) {
+ case TOP:
+ line -= 1;
+ break;
+ case MIDDLE:
+ line -= pagelen / 2 + 1;
+ break;
+ case BOTTOM:
+ line -= pagelen;
+ break;
+ }
+ skip(1);
+ }
+ continue;
+ } else if (eof) { /*
+ * We are not searching.
+ */
+ line = bline;
+ } else if (*b != '\0') {
+ if (cflag && clear_screen) {
+ switch (dline) {
+ case 0:
+ tputs(clear_screen, 1, outcap);
+ dline = 0;
+ }
+ }
+ line++;
+ if (eofline && line == eofline)
+ eof = 1;
+ dline++;
+ if ((sig = setjmp(jmpenv)) != 0) {
+ /*
+ * We got a signal.
+ */
+ canjump = 0;
+ my_sigrelse(sig);
+ dline = pagelen;
+ } else {
+ p = endline(ttycols, b);
+ sz = p - b;
+ makeprint(b, sz);
+ canjump = 1;
+ write_all(1, b, sz);
+ canjump = 0;
+ }
+ }
+ if (dline >= pagelen || eof) {
+ /*
+ * Time for prompting!
+ */
+ if (eof && seekeof) {
+ eof = seekeof = 0;
+ if (line >= pagelen)
+ line -= pagelen;
+ else
+ line = 0;
+ dline = -1;
+ continue;
+ }
+newcmd:
+ if (eof) {
+ if (fline == 0 || eflag)
+ break;
+ mesg(_("(EOF)"));
+ }
+ prompt((line - 1) / pagelen + 1);
+ switch (cmd.key) {
+ case '/':
+ /*
+ * Search forward.
+ */
+ search = FORWARD;
+ oldline = line;
+ searchcount = cmd.count;
+ p = makepat();
+ if (p != NULL && *p) {
+ if (remembered == 1)
+ regfree(&re);
+ rerror = regcomp(&re, p,
+ REG_NOSUB | REG_NEWLINE);
+ if (rerror != 0) {
+ mesg(_("RE error: "));
+ sz = regerror(rerror, &re,
+ b, READBUF);
+ mesg(b);
+ goto newcmd;
+ }
+ remembered = 1;
+ } else if (remembered == 0) {
+ mesg(_("No remembered search string"));
+ goto newcmd;
+ }
+ continue;
+ case '?':
+ case '^':
+ /*
+ * Search backward.
+ */
+ search = BACKWARD;
+ oldline = line;
+ searchcount = cmd.count;
+ p = makepat();
+ if (p != NULL && *p) {
+ if (remembered == 1)
+ regfree(&re);
+ rerror = regcomp(&re, p,
+ REG_NOSUB | REG_NEWLINE);
+ if (rerror != 0) {
+ mesg(_("RE error: "));
+ regerror(rerror, &re,
+ b, READBUF);
+ mesg(b);
+ goto newcmd;
+ }
+ remembered = 1;
+ } else if (remembered == 0) {
+ mesg(_("No remembered search string"));
+ goto newcmd;
+ }
+ line -= pagelen;
+ if (line <= 0)
+ goto notfound_bw;
+ while (line) {
+ fseeko(find, --line * sizeof pos,
+ SEEK_SET);
+ if(fread(&pos, sizeof pos, 1,find)==0)
+ tmperr(find, "index");
+ fseeko(find, (off_t)0, SEEK_END);
+ fseeko(fbuf, pos, SEEK_SET);
+ if (fgets(b, READBUF, fbuf) == NULL)
+ tmperr(fbuf, "buffer");
+ colb(b);
+ if (regexec(&re, b, 0, NULL, 0) == 0)
+ searchcount--;
+ if (searchcount == 0)
+ goto found_bw;
+ }
+notfound_bw:
+ line = oldline;
+ search = searchcount = 0;
+ mesg(_("Pattern not found"));
+ goto newcmd;
+found_bw:
+ eof = search = dline = 0;
+ skip(-1);
+ switch (searchdisplay) {
+ case TOP:
+ /* line -= 1; */
+ break;
+ case MIDDLE:
+ line -= pagelen / 2;
+ break;
+ case BOTTOM:
+ if (line != 0)
+ dline = -1;
+ line -= pagelen;
+ break;
+ }
+ if (line < 0)
+ line = 0;
+ continue;
+ case 's':
+ /*
+ * Save to file.
+ */
+ p = cmd.cmdline;
+ while (*++p == ' ');
+ if (*p == '\0')
+ goto newcmd;
+ save = fopen(p, "wb");
+ if (save == NULL) {
+ cmd.count = errno;
+ mesg(_("cannot open "));
+ mesg(p);
+ mesg(": ");
+ mesg(strerror(cmd.count));
+ goto newcmd;
+ }
+ /*
+ * Advance to EOF.
+ */
+ fseeko(find, (off_t)0, SEEK_END);
+ for (;;) {
+ if (!nobuf)
+ fseeko(fbuf,(off_t)0,SEEK_END);
+ pos = ftello(fbuf);
+ if (fgets(b, READBUF, f) == NULL) {
+ eofline = fline;
+ break;
+ }
+ if (!nobuf)
+ fputs(b, fbuf);
+ fwrite_all(&pos, sizeof pos, 1, find);
+ if (!fflag) {
+ oldpos = pos;
+ p = b;
+ while (*(p = endline(ttycols,
+ p))
+ != '\0') {
+ pos = oldpos + (p - b);
+ fwrite_all(&pos,
+ sizeof pos,
+ 1, find);
+ fline++;
+ bline++;
+ }
+ }
+ fline++;
+ bline++;
+ }
+ fseeko(fbuf, (off_t)0, SEEK_SET);
+ while ((sz = fread(b, sizeof *b, READBUF,
+ fbuf)) != 0) {
+ /*
+ * No error check for compat.
+ */
+ fwrite_all(b, sizeof *b, sz, save);
+ }
+ fclose(save);
+ fseeko(fbuf, (off_t)0, SEEK_END);
+ mesg(_("saved"));
+ goto newcmd;
+ case 'l':
+ /*
+ * Next line.
+ */
+ if (*cmd.cmdline != 'l')
+ eof = 0;
+ if (cmd.count == 0)
+ cmd.count = 1; /* compat */
+ if (isdigit(cuc(*cmd.cmdline))) {
+ line = cmd.count - 2;
+ dline = 0;
+ } else {
+ if (cmd.count != 1) {
+ line += cmd.count - 1
+ - pagelen;
+ dline = -1;
+ skip(cmd.count);
+ }
+ /*
+ * Nothing to do if count==1.
+ */
+ }
+ break;
+ case 'd':
+ /*
+ * Half screen forward.
+ */
+ case '\004': /* ^D */
+ if (*cmd.cmdline != cmd.key)
+ eof = 0;
+ if (cmd.count == 0)
+ cmd.count = 1; /* compat */
+ line += (cmd.count * pagelen / 2)
+ - pagelen - 1;
+ dline = -1;
+ skip(cmd.count);
+ break;
+ case 'f':
+ /*
+ * Skip forward.
+ */
+ if (cmd.count <= 0)
+ cmd.count = 1; /* compat */
+ line += cmd.count * pagelen - 2;
+ if (eof)
+ line += 2;
+ if (*cmd.cmdline != 'f')
+ eof = 0;
+ else if (eof)
+ break;
+ if (eofline && line >= eofline)
+ line -= pagelen;
+ dline = -1;
+ skip(cmd.count);
+ break;
+ case '\0':
+ /*
+ * Just a number, or '-', or <newline>.
+ */
+ if (cmd.count == 0)
+ cmd.count = 1; /* compat */
+ if (isdigit(cuc(*cmd.cmdline)))
+ line = (cmd.count - 1) * pagelen - 2;
+ else
+ line += (cmd.count - 1)
+ * (pagelen - 1) - 2;
+ if (*cmd.cmdline != '\0')
+ eof = 0;
+ if (cmd.count != 1) {
+ skip(cmd.count);
+ dline = -1;
+ } else {
+ dline = 1;
+ line += 2;
+ }
+ break;
+ case '$':
+ /*
+ * Advance to EOF.
+ */
+ if (!eof)
+ skip(1);
+ eof = 0;
+ line = LONG_MAX;
+ seekeof = 1;
+ dline = -1;
+ break;
+ case '.':
+ case '\014': /* ^L */
+ /*
+ * Repaint screen.
+ */
+ eof = 0;
+ if (line >= pagelen)
+ line -= pagelen;
+ else
+ line = 0;
+ dline = 0;
+ break;
+ case '!':
+ /*
+ * Shell escape.
+ */
+ if (rflag) {
+ mesg(progname);
+ mesg(_(": !command not allowed in "
+ "rflag mode.\n"));
+ } else {
+ pid_t cpid;
+
+ write_all(1, cmd.cmdline,
+ strlen(cmd.cmdline));
+ write_all(1, "\n", 1);
+ my_sigset(SIGINT, SIG_IGN);
+ my_sigset(SIGQUIT, SIG_IGN);
+ switch (cpid = fork()) {
+ case 0:
+ p = getenv("SHELL");
+ if (p == NULL) p = "/bin/sh";
+ if (!nobuf)
+ fclose(fbuf);
+ fclose(find);
+ if (isatty(0) == 0) {
+ close(0);
+ open(tty, O_RDONLY);
+ } else {
+ fclose(f);
+ }
+ my_sigset(SIGINT, oldint);
+ my_sigset(SIGQUIT, oldquit);
+ my_sigset(SIGTERM, oldterm);
+ execl(p, p, "-c",
+ cmd.cmdline + 1, NULL);
+ pgerror(errno, p);
+ _exit(0177);
+ /*NOTREACHED*/
+ case -1:
+ mesg(_("fork() failed, "
+ "try again later\n"));
+ break;
+ default:
+ while (wait(NULL) != cpid);
+ }
+ my_sigset(SIGINT, sighandler);
+ my_sigset(SIGQUIT, sighandler);
+ mesg("!\n");
+ }
+ goto newcmd;
+ case 'h':
+ {
+ /*
+ * Help!
+ */
+ const char *help = _(helpscreen);
+ write_all(1, copyright, strlen(copyright));
+ write_all(1, help, strlen(help));
+ goto newcmd;
+ }
+ case 'n':
+ /*
+ * Next file.
+ */
+ if (cmd.count == 0)
+ cmd.count = 1;
+ nextfile = cmd.count;
+ if (checkf()) {
+ nextfile = 1;
+ goto newcmd;
+ }
+ eof = 1;
+ break;
+ case 'p':
+ /*
+ * Previous file.
+ */
+ if (cmd.count == 0)
+ cmd.count = 1;
+ nextfile = 0 - cmd.count;
+ if (checkf()) {
+ nextfile = 1;
+ goto newcmd;
+ }
+ eof = 1;
+ break;
+ case 'q':
+ case 'Q':
+ /*
+ * Exit pg.
+ */
+ quit(exitstatus);
+ /*NOTREACHED*/
+ case 'w':
+ case 'z':
+ /*
+ * Set window size.
+ */
+ if (cmd.count < 0)
+ cmd.count = 0;
+ if (*cmd.cmdline != cmd.key)
+ pagelen = ++cmd.count;
+ dline = 1;
+ break;
+ }
+ if (line <= 0) {
+ line = 0;
+ dline = 0;
+ }
+ if (cflag && dline == 1) {
+ dline = 0;
+ line--;
+ }
+ }
+ if (eof)
+ break;
+ }
+ fclose(find);
+ if (!nobuf)
+ fclose(fbuf);
+}
+
+int
+main(int argc, char **argv)
+{
+ int arg, i;
+ char *p;
+ FILE *input;
+
+ progname = basename(argv[0]);
+ xasprintf(&copyright,
+ _("%s %s Copyright (c) 2000-2001 Gunnar Ritter. All rights reserved.\n"),
+ program_invocation_short_name, PACKAGE_VERSION);
+
+ setlocale(LC_MESSAGES, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ if (tcgetattr(1, &otio) == 0) {
+ ontty = 1;
+ oldint = my_sigset(SIGINT, sighandler);
+ oldquit = my_sigset(SIGQUIT, sighandler);
+ oldterm = my_sigset(SIGTERM, sighandler);
+ setlocale(LC_CTYPE, "");
+ setlocale(LC_COLLATE, "");
+ tty = ttyname(1);
+ setupterm(NULL, 1, &tinfostat);
+ getwinsize();
+ helpscreen = _(helpscreen);
+ }
+ for (arg = 1; argv[arg]; arg++) {
+ if (*argv[arg] == '+')
+ continue;
+ if (*argv[arg] != '-' || argv[arg][1] == '\0')
+ break;
+ argc--;
+ for (i = 1; argv[arg][i]; i++) {
+ switch (argv[arg][i]) {
+ case '-':
+ if (i != 1 || argv[arg][i + 1])
+ invopt(&argv[arg][i]);
+ goto endargs;
+ case '1': case '2': case '3': case '4': case '5':
+ case '6': case '7': case '8': case '9': case '0':
+ pagelen = atoi(argv[arg] + i);
+ havepagelen = 1;
+ goto nextarg;
+ case 'c':
+ cflag = 1;
+ break;
+ case 'e':
+ eflag = 1;
+ break;
+ case 'f':
+ fflag = 1;
+ break;
+ case 'n':
+ nflag = 1;
+ break;
+ case 'p':
+ if (argv[arg][i + 1]) {
+ pstring = &argv[arg][i + 1];
+ } else if (argv[++arg]) {
+ --argc;
+ pstring = argv[arg];
+ } else
+ needarg("-p");
+ goto nextarg;
+ case 'r':
+ rflag = 1;
+ break;
+ case 's':
+ sflag = 1;
+ break;
+ case 'h':
+ usage(stdout);
+ case 'V':
+ printf(UTIL_LINUX_VERSION);
+ return EXIT_SUCCESS;
+ default:
+ invopt(&argv[arg][i]);
+ }
+ }
+nextarg:
+ ;
+ }
+endargs:
+ for (arg = 1; argv[arg]; arg++) {
+ if (*argv[arg] == '-') {
+ if (argv[arg][1] == '-') {
+ arg++;
+ break;
+ }
+ if (argv[arg][1] == '\0')
+ break;
+ if (argv[arg][1] == 'p' && argv[arg][2] == '\0')
+ arg++;
+ continue;
+ }
+ if (*argv[arg] != '+')
+ break;
+ argc--;
+ switch (*(argv[arg] + 1)) {
+ case '\0':
+ needarg("+");
+ /*NOTREACHED*/
+ case '1': case '2': case '3': case '4': case '5':
+ case '6': case '7': case '8': case '9': case '0':
+ startline = atoi(argv[arg] + 1);
+ break;
+ case '/':
+ searchfor = argv[arg] + 2;
+ if (*searchfor == '\0')
+ needarg("+/");
+ p = searchfor + strlen(searchfor) - 1;
+ if (*p == '/') *p = '\0';
+ if (*searchfor == '\0')
+ needarg("+/");
+ break;
+ default:
+ invopt(argv[arg]);
+ }
+ }
+ if (argc == 1) {
+ pgfile(stdin, "stdin");
+ } else {
+ files.first = arg;
+ files.last = arg + argc - 1;
+ for ( ; argv[arg]; arg += nextfile) {
+ nextfile = 1;
+ files.current = arg;
+ if (argc > 2) {
+ static int firsttime;
+ firsttime++;
+ if (firsttime > 1) {
+ mesg(_("(Next file: "));
+ mesg(argv[arg]);
+ mesg(")");
+newfile:
+ if (ontty) {
+ prompt(-1);
+ switch(cmd.key) {
+ case 'n':
+ /*
+ * Next file.
+ */
+ if (cmd.count == 0)
+ cmd.count = 1;
+ nextfile = cmd.count;
+ if (checkf()) {
+ nextfile = 1;
+ mesg(":");
+ goto newfile;
+ }
+ continue;
+ case 'p':
+ /*
+ * Previous file.
+ */
+ if (cmd.count == 0)
+ cmd.count = 1;
+ nextfile = 0 - cmd.count;
+ if (checkf()) {
+ nextfile = 1;
+ mesg(":");
+ goto newfile;
+ }
+ continue;
+ case 'q':
+ case 'Q':
+ quit(exitstatus);
+ }
+ } else mesg("\n");
+ }
+ }
+ if (strcmp(argv[arg], "-") == 0)
+ input = stdin;
+ else {
+ input = fopen(argv[arg], "r");
+ if (input == NULL) {
+ pgerror(errno, argv[arg]);
+ exitstatus++;
+ continue;
+ }
+ }
+ if (ontty == 0 && argc > 2) {
+ /*
+ * Use the prefix as specified by SUSv2.
+ */
+ write_all(1, "::::::::::::::\n", 15);
+ write_all(1, argv[arg], strlen(argv[arg]));
+ write_all(1, "\n::::::::::::::\n", 16);
+ }
+ pgfile(input, argv[arg]);
+ if (input != stdin)
+ fclose(input);
+ }
+ }
+ quit(exitstatus);
+ /*NOTREACHED*/
+ return 0;
+}
diff --git a/text-utils/rev.1 b/text-utils/rev.1
new file mode 100644
index 0000000..b9b5f48
--- /dev/null
+++ b/text-utils/rev.1
@@ -0,0 +1,60 @@
+.\" Copyright (c) 1985, 1992 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)rev.1 6.3 (Berkeley) 3/21/92
+.\" Modified for Linux by Charles Hannum (mycroft@gnu.ai.mit.edu)
+.\" and Brian Koehmstedt (bpk@gnu.ai.mit.edu)
+.\"
+.TH REV "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+rev \- reverse lines of a file or files
+.SH SYNOPSIS
+.B rev
+[options] [file ...]
+.SH DESCRIPTION
+The
+.B rev
+utility copies the specified files to standard output, reversing the order of
+characters in every line. If no files are specified, standard input is read.
+.SH OPTIONS
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Output version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Output help and exit.
+.SH AVAILABILITY
+The rev command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
+.SH SEE ALSO
+.BR tac (1)
diff --git a/text-utils/rev.c b/text-utils/rev.c
new file mode 100644
index 0000000..a44f9c6
--- /dev/null
+++ b/text-utils/rev.c
@@ -0,0 +1,177 @@
+/*-
+ * Copyright (c) 1987, 1992 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Modified for Linux by Charles Hannum (mycroft@gnu.ai.mit.edu)
+ * and Brian Koehmstedt (bpk@gnu.ai.mit.edu)
+ *
+ * Wed Sep 14 22:26:00 1994: Patch from bjdouma <bjdouma@xs4all.nl> to handle
+ * last line that has no newline correctly.
+ * 3-Jun-1998: Patched by Nicolai Langfeldt to work better on Linux:
+ * Handle any-length-lines. Code copied from util-linux' setpwnam.c
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * added Native Language Support
+ * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
+ * modified to work correctly in multi-byte locales
+ * July 2010 - Davidlohr Bueso <dave@gnu.org>
+ * Fixed memory leaks (including Linux signal handling)
+ * Added some memory allocation error handling
+ * Lowered the default buffer size to 256, instead of 512 bytes
+ * Changed tab indentation to 8 chars for better reading the code
+ */
+
+#include <stdarg.h>
+#include <sys/types.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <signal.h>
+#include <getopt.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "widechar.h"
+#include "c.h"
+#include "closestream.h"
+
+wchar_t *buf;
+
+static void sig_handler(int signo __attribute__ ((__unused__)))
+{
+ free(buf);
+ _exit(EXIT_SUCCESS);
+}
+
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fprintf(out, _("Usage: %s [options] [file ...]\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _("\nOptions:\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n"));
+
+ fprintf(out, _("\nFor more information see rev(1).\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+ char *filename = "stdin";
+ wchar_t *t;
+ size_t len, bufsiz = BUFSIZ;
+ FILE *fp = stdin;
+ int ch, rval = EXIT_SUCCESS;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ signal(SIGINT, sig_handler);
+ signal(SIGTERM, sig_handler);
+
+ static const struct option longopts[] = {
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'h' },
+ { NULL, 0, 0, 0 }
+ };
+
+ while ((ch = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
+ switch(ch) {
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ buf = xmalloc(bufsiz * sizeof(wchar_t));
+
+ do {
+ if (*argv) {
+ if ((fp = fopen(*argv, "r")) == NULL) {
+ warn(_("cannot open %s"), *argv );
+ rval = EXIT_FAILURE;
+ ++argv;
+ continue;
+ }
+ filename = *argv++;
+ }
+
+ while (fgetws(buf, bufsiz, fp)) {
+ len = wcslen(buf);
+
+ /* This is my hack from setpwnam.c -janl */
+ while (buf[len-1] != '\n' && !feof(fp)) {
+ /* Extend input buffer if it failed getting the whole line */
+ /* So now we double the buffer size */
+ bufsiz *= 2;
+
+ buf = xrealloc(buf, bufsiz * sizeof(wchar_t));
+
+ /* And fill the rest of the buffer */
+ if (!fgetws(&buf[len], bufsiz/2, fp))
+ break;
+
+ len = wcslen(buf);
+ }
+
+ t = buf + len - 1 - (*(buf+len-1)=='\r' || *(buf+len-1)=='\n');
+ for ( ; t >= buf; --t) {
+ if (*t != 0)
+ putwchar(*t);
+ }
+ putwchar('\n');
+ }
+
+ fflush(fp);
+ if (ferror(fp)) {
+ warn("%s", filename);
+ rval = EXIT_FAILURE;
+ }
+ if (fclose(fp))
+ rval = EXIT_FAILURE;
+ } while(*argv);
+
+ free(buf);
+ return rval;
+}
+
diff --git a/text-utils/tailf.1 b/text-utils/tailf.1
new file mode 100644
index 0000000..d64d2ca
--- /dev/null
+++ b/text-utils/tailf.1
@@ -0,0 +1,68 @@
+.\" tailf.1 --
+.\" Created: Thu Jan 11 16:43:10 1996 by faith@acm.org
+.\" Copyright 1996, 2003 Rickard E. Faith (faith@acm.org)
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.TH TAILF 1 "February 2003" "util-linux" "User Commands"
+.SH NAME
+tailf \- follow the growth of a log file
+.SH SYNOPSIS
+.B tailf
+[\fIOPTION\fR] \fIfile\fR
+.SH DESCRIPTION
+.B tailf
+will print out the last 10 lines of a file and then wait for the file to
+grow. It is similar to
+.B tail -f
+but does not access the file when it is not growing. This has the side
+effect of not updating the access time for the file, so a filesystem flush
+does not occur periodically when no log activity is happening.
+.PP
+.B tailf
+is extremely useful for monitoring log files on a laptop when logging is
+infrequent and the user desires that the hard disk spin down to conserve
+battery life.
+.PP
+Mandatory arguments to long options are mandatory for short options too.
+.TP
+\fB\-n\fR, \fB\-\-lines\fR=\fIN\fR, \fB\-N\fR
+output the last
+.I N
+lines, instead of the last 10.
+.TP
+\fB\-V\fR, \fB\-\-version
+Output version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help
+Display help and exit.
+
+.SH AUTHOR
+This program was originally written by Rik Faith (faith@acm.org) and may be freely
+distributed under the terms of the X11/MIT License. There is ABSOLUTELY
+NO WARRANTY for this program.
+
+The latest inotify based implementation was written by Karel Zak (kzak@redhat.com).
+.SH "SEE ALSO"
+.BR tail "(1), " less "(1)"
+.SH AVAILABILITY
+The tailf command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
diff --git a/text-utils/tailf.c b/text-utils/tailf.c
new file mode 100644
index 0000000..9571645
--- /dev/null
+++ b/text-utils/tailf.c
@@ -0,0 +1,292 @@
+/* tailf.c -- tail a log file and then follow it
+ * Created: Tue Jan 9 15:49:21 1996 by faith@acm.org
+ * Copyright 1996, 2003 Rickard E. Faith (faith@acm.org)
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * less -F and tail -f cause a disk access every five seconds. This
+ * program avoids this problem by waiting for the file size to change.
+ * Hence, the file is not accessed, and the access time does not need to be
+ * flushed back to disk. This is sort of a "stealth" tail.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <errno.h>
+#include <getopt.h>
+#ifdef HAVE_INOTIFY_INIT
+#include <sys/inotify.h>
+#endif
+
+#include "nls.h"
+#include "xalloc.h"
+#include "usleep.h"
+#include "strutils.h"
+#include "c.h"
+#include "closestream.h"
+
+#define DEFAULT_LINES 10
+
+static void
+tailf(const char *filename, int lines)
+{
+ char *buf, *p;
+ int head = 0;
+ int tail = 0;
+ FILE *str;
+ int i;
+
+ if (!(str = fopen(filename, "r")))
+ err(EXIT_FAILURE, _("cannot open %s"), filename);
+
+ buf = xmalloc((lines ? lines : 1) * BUFSIZ);
+ p = buf;
+ while (fgets(p, BUFSIZ, str)) {
+ if (++tail >= lines) {
+ tail = 0;
+ head = 1;
+ }
+ p = buf + (tail * BUFSIZ);
+ }
+
+ if (head) {
+ for (i = tail; i < lines; i++)
+ fputs(buf + (i * BUFSIZ), stdout);
+ for (i = 0; i < tail; i++)
+ fputs(buf + (i * BUFSIZ), stdout);
+ } else {
+ for (i = head; i < tail; i++)
+ fputs(buf + (i * BUFSIZ), stdout);
+ }
+
+ fflush(stdout);
+ free(buf);
+ fclose(str);
+}
+
+static void
+roll_file(const char *filename, off_t *size)
+{
+ char buf[BUFSIZ];
+ int fd;
+ struct stat st;
+ off_t pos;
+
+ fd = open(filename, O_RDONLY);
+ if (fd < 0)
+ err(EXIT_FAILURE, _("cannot open %s"), filename);
+
+ if (fstat(fd, &st) == -1)
+ err(EXIT_FAILURE, _("stat failed %s"), filename);
+
+ if (st.st_size == *size) {
+ close(fd);
+ return;
+ }
+
+ if (lseek(fd, *size, SEEK_SET) != (off_t)-1) {
+ ssize_t rc, wc;
+
+ while ((rc = read(fd, buf, sizeof(buf))) > 0) {
+ wc = write(STDOUT_FILENO, buf, rc);
+ if (rc != wc)
+ warnx(_("incomplete write to \"%s\" (written %zd, expected %zd)\n"),
+ filename, wc, rc);
+ }
+ fflush(stdout);
+ }
+
+ pos = lseek(fd, 0, SEEK_CUR);
+
+ /* If we've successfully read something, use the file position, this
+ * avoids data duplication. If we read nothing or hit an error, reset
+ * to the reported size, this handles truncated files.
+ */
+ *size = (pos != -1 && pos != *size) ? pos : st.st_size;
+
+ close(fd);
+}
+
+static void
+watch_file(const char *filename, off_t *size)
+{
+ do {
+ roll_file(filename, size);
+ usleep(250000);
+ } while(1);
+}
+
+
+#ifdef HAVE_INOTIFY_INIT
+
+#define EVENTS (IN_MODIFY|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT)
+#define NEVENTS 4
+
+static int
+watch_file_inotify(const char *filename, off_t *size)
+{
+ char buf[ NEVENTS * sizeof(struct inotify_event) ];
+ int fd, ffd, e;
+ ssize_t len;
+
+ fd = inotify_init();
+ if (fd == -1)
+ return 0;
+
+ ffd = inotify_add_watch(fd, filename, EVENTS);
+ if (ffd == -1) {
+ if (errno == ENOSPC)
+ errx(EXIT_FAILURE, _("%s: cannot add inotify watch "
+ "(limit of inotify watches was reached)."),
+ filename);
+
+ err(EXIT_FAILURE, _("%s: cannot add inotify watch."), filename);
+ }
+
+ while (ffd >= 0) {
+ len = read(fd, buf, sizeof(buf));
+ if (len < 0 && (errno == EINTR || errno == EAGAIN))
+ continue;
+ if (len < 0)
+ err(EXIT_FAILURE,
+ _("%s: cannot read inotify events"), filename);
+
+ for (e = 0; e < len; ) {
+ struct inotify_event *ev = (struct inotify_event *) &buf[e];
+
+ if (ev->mask & IN_MODIFY)
+ roll_file(filename, size);
+ else {
+ close(ffd);
+ ffd = -1;
+ break;
+ }
+ e += sizeof(struct inotify_event) + ev->len;
+ }
+ }
+ close(fd);
+ return 1;
+}
+
+#endif /* HAVE_INOTIFY_INIT */
+
+static void __attribute__ ((__noreturn__)) usage(FILE *out)
+{
+ fprintf(out,
+ _("\nUsage:\n"
+ " %s [option] file\n"),
+ program_invocation_short_name);
+
+ fprintf(out, _(
+ "\nOptions:\n"
+ " -n, --lines NUMBER output the last NUMBER lines\n"
+ " -NUMBER same as `-n NUMBER'\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+/* parses -N option */
+static long old_style_option(int *argc, char **argv)
+{
+ int i = 1, nargs = *argc;
+ long lines = -1;
+
+ while(i < nargs) {
+ if (argv[i][0] == '-' && isdigit(argv[i][1])) {
+ lines = strtol_or_err(argv[i] + 1,
+ _("failed to parse number of lines"));
+ nargs--;
+ if (nargs - i)
+ memmove(argv + i, argv + i + 1,
+ sizeof(char *) * (nargs - i));
+ } else
+ i++;
+ }
+ *argc = nargs;
+ return lines;
+}
+
+int main(int argc, char **argv)
+{
+ const char *filename;
+ long lines;
+ int ch;
+ struct stat st;
+ off_t size = 0;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ static const struct option longopts[] = {
+ { "lines", required_argument, 0, 'n' },
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'h' },
+ { NULL, 0, 0, 0 }
+ };
+
+ lines = old_style_option(&argc, argv);
+ if (lines < 0)
+ lines = DEFAULT_LINES;
+
+ while ((ch = getopt_long(argc, argv, "n:N:Vh", longopts, NULL)) != -1)
+ switch((char)ch) {
+ case 'n':
+ case 'N':
+ lines = strtol_or_err(optarg,
+ _("failed to parse number of lines"));
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ exit(EXIT_SUCCESS);
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+
+ if (argc == optind)
+ errx(EXIT_FAILURE, _("no input file specified"));
+
+ filename = argv[optind];
+
+ if (stat(filename, &st) != 0)
+ err(EXIT_FAILURE, _("stat failed %s"), filename);
+
+ size = st.st_size;;
+ tailf(filename, lines);
+
+#ifdef HAVE_INOTIFY_INIT
+ if (!watch_file_inotify(filename, &size))
+#endif
+ watch_file(filename, &size);
+
+ return EXIT_SUCCESS;
+}
+
diff --git a/text-utils/ul.1 b/text-utils/ul.1
new file mode 100644
index 0000000..d6089d0
--- /dev/null
+++ b/text-utils/ul.1
@@ -0,0 +1,113 @@
+.\" Copyright (c) 1980, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ul.1 8.1 (Berkeley) 6/6/93
+.\"
+.TH UL "1" "September 2011" "util-linux" "User Commands"
+.SH NAME
+ul \- do underlining
+.SH SYNOPSIS
+.B ul
+[options] [file ...]
+.SH DESCRIPTION
+.B ul
+reads the named files (or standard input if none are given) and translates
+occurrences of underscores to the sequence which indicates underlining for
+the terminal in use, as specified by the environment variable
+.BR TERM .
+The
+.I terminfo
+database is read to determine the appropriate sequences for underlining. If
+the terminal is incapable of underlining but is capable of a standout mode,
+then that is used instead. If the terminal can overstrike, or handles
+underlining automatically,
+.B ul
+degenerates to
+.BR cat (1).
+If the terminal cannot underline, underlining is ignored.
+.SH OPTIONS
+.TP
+\fB\-i\fR, \fB\-\-indicated\fR
+Underlining is indicated by a separate line containing appropriate dashes
+`\-'; this is useful when you want to look at the underlining which is
+present in an
+.B nroff
+output stream on a crt-terminal.
+.TP
+\fB\-t\fR, \fB\-\-terminal\fR \fIterminal\fR
+.It Fl t Ar terminal
+Overrides the
+.I terminal
+type specified in the environment with
+.BR TERM .
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display version information and exit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display a help text and exit.
+.SH ENVIRONMENT
+The following environment variable is used:
+.TP
+.B TERM
+The
+.B TERM
+variable is used to relate a tty device with its device capability
+description (see
+.BR terminfo (5)).
+.B TERM
+is set at login time, either by the default terminal type specified in
+.I /etc/ttys
+or as set during the login process by the user in their
+.B login
+file (see
+.BR setenv (1)).
+.SH SEE ALSO
+.BR colcrt (1),
+.BR login (1),
+.BR man (1),
+.BR nroff (1),
+.BR setenv (1),
+.BR terminfo (5)
+.SH BUGS
+.B Nroff
+usually outputs a series of backspaces and underlines intermixed with the
+text to indicate underlining. No attempt is made to optimize the backward
+motion.
+.SH HISTORY
+The
+.B ul
+command appeared in 3.0BSD.
+.SH AVAILABILITY
+The ul command is part of the util-linux package and is available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .
diff --git a/text-utils/ul.c b/text-utils/ul.c
new file mode 100644
index 0000000..3c7bf50
--- /dev/null
+++ b/text-utils/ul.c
@@ -0,0 +1,672 @@
+/*
+ * Copyright (c) 1980, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * modified by Kars de Jong <jongk@cs.utwente.nl>
+ * to use terminfo instead of termcap.
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * added Native Language Support
+ * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
+ * modified to work correctly in multi-byte locales
+ */
+
+#include <stdio.h>
+#include <unistd.h> /* for getopt(), isatty() */
+#include <string.h> /* for memset(), strcpy() */
+#include <term.h> /* for setupterm() */
+#include <stdlib.h> /* for getenv() */
+#include <limits.h> /* for INT_MAX */
+#include <signal.h> /* for signal() */
+#include <errno.h>
+#include <getopt.h>
+
+#include "nls.h"
+#include "xalloc.h"
+#include "widechar.h"
+#include "c.h"
+#include "closestream.h"
+
+#ifdef HAVE_WIDECHAR
+/* Output an ASCII character as a wide character */
+static int put1wc(int c)
+{
+ if (putwchar(c) == WEOF)
+ return EOF;
+ else
+ return c;
+}
+#define putwp(s) tputs(s, STDOUT_FILENO, put1wc)
+#else
+#define putwp(s) putp(s)
+#endif
+
+static void usage(FILE *out);
+static int handle_escape(FILE * f);
+static void filter(FILE *f);
+static void flushln(void);
+static void overstrike(void);
+static void iattr(void);
+static void initbuf(void);
+static void fwd(void);
+static void reverse(void);
+static void initinfo(void);
+static void outc(wint_t c, int width);
+static void setmode(int newmode);
+static void setcol(int newcol);
+static void needcol(int col);
+static void sig_handler(int signo);
+static void print_out(char *line);
+
+#define IESC '\033'
+#define SO '\016'
+#define SI '\017'
+#define HFWD '9'
+#define HREV '8'
+#define FREV '7'
+
+#define NORMAL 000
+#define ALTSET 001 /* Reverse */
+#define SUPERSC 002 /* Dim */
+#define SUBSC 004 /* Dim | Ul */
+#define UNDERL 010 /* Ul */
+#define BOLD 020 /* Bold */
+
+int must_use_uc, must_overstrike;
+char *CURS_UP,
+ *CURS_RIGHT,
+ *CURS_LEFT,
+ *ENTER_STANDOUT,
+ *EXIT_STANDOUT,
+ *ENTER_UNDERLINE,
+ *EXIT_UNDERLINE,
+ *ENTER_DIM,
+ *ENTER_BOLD,
+ *ENTER_REVERSE,
+ *UNDER_CHAR,
+ *EXIT_ATTRIBUTES;
+
+struct CHAR {
+ char c_mode;
+ wchar_t c_char;
+ int c_width;
+};
+
+struct CHAR *obuf;
+int obuflen;
+int col, maxcol;
+int mode;
+int halfpos;
+int upln;
+int iflag;
+
+static void __attribute__((__noreturn__))
+usage(FILE *out)
+{
+ fprintf(out, _(
+ "\nUsage:\n"
+ " %s [options] [file...]\n"), program_invocation_short_name);
+
+ fprintf(out, _(
+ "\nOptions:\n"
+ " -t, --terminal TERMINAL override the TERM environment variable\n"
+ " -i, --indicated underlining is indicated via a separate line\n"
+ " -V, --version output version information and exit\n"
+ " -h, --help display this help and exit\n\n"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+int main(int argc, char **argv)
+{
+ int c, ret, tflag = 0;
+ char *termtype;
+ FILE *f;
+
+ static const struct option longopts[] = {
+ { "terminal", required_argument, 0, 't' },
+ { "indicated", no_argument, 0, 'i' },
+ { "version", no_argument, 0, 'V' },
+ { "help", no_argument, 0, 'h' },
+ { NULL, 0, 0, 0 }
+ };
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+ atexit(close_stdout);
+
+ signal(SIGINT, sig_handler);
+ signal(SIGTERM, sig_handler);
+
+ termtype = getenv("TERM");
+
+ /*
+ * FIXME: why terminal type is lpr when command begins with c and has
+ * no terminal? If this behavior can be explained please insert
+ * reference or remove the code. In case this truly is desired command
+ * behavior this should be mentioned in manual page.
+ */
+ if (termtype == NULL || (argv[0][0] == 'c' && !isatty(STDOUT_FILENO)))
+ termtype = "lpr";
+
+ while ((c = getopt_long(argc, argv, "it:T:Vh", longopts, NULL)) != -1)
+ switch (c) {
+
+ case 't':
+ case 'T':
+ /* for nroff compatibility */
+ termtype = optarg;
+ tflag = 1;
+ break;
+ case 'i':
+ iflag = 1;
+ break;
+ case 'V':
+ printf(_("%s from %s\n"), program_invocation_short_name,
+ PACKAGE_STRING);
+ return EXIT_SUCCESS;
+ case 'h':
+ usage(stdout);
+ default:
+ usage(stderr);
+ }
+ setupterm(termtype, STDOUT_FILENO, &ret);
+ switch (ret) {
+
+ case 1:
+ break;
+
+ default:
+ warnx(_("trouble reading terminfo"));
+ /* fall through to ... */
+
+ case 0:
+ if (tflag)
+ warnx(_("terminal `%s' is not known, defaulting to `dumb'"),
+ termtype);
+ setupterm("dumb", STDOUT_FILENO, (int *)0);
+ break;
+ }
+ initinfo();
+ if ((tigetflag("os") && ENTER_BOLD==NULL ) ||
+ (tigetflag("ul") && ENTER_UNDERLINE==NULL && UNDER_CHAR==NULL))
+ must_overstrike = 1;
+ initbuf();
+ if (optind == argc)
+ filter(stdin);
+ else
+ for (; optind < argc; optind++) {
+ f = fopen(argv[optind],"r");
+ if (!f)
+ err(EXIT_FAILURE, _("cannot open %s"),
+ argv[optind]);
+ filter(f);
+ fclose(f);
+ }
+ free(obuf);
+ return EXIT_SUCCESS;
+}
+
+static int handle_escape(FILE * f)
+{
+ wint_t c;
+
+ switch (c = getwc(f)) {
+ case HREV:
+ if (halfpos == 0) {
+ mode |= SUPERSC;
+ halfpos--;
+ } else if (halfpos > 0) {
+ mode &= ~SUBSC;
+ halfpos--;
+ } else {
+ halfpos = 0;
+ reverse();
+ }
+ return 0;
+ case HFWD:
+ if (halfpos == 0) {
+ mode |= SUBSC;
+ halfpos++;
+ } else if (halfpos < 0) {
+ mode &= ~SUPERSC;
+ halfpos++;
+ } else {
+ halfpos = 0;
+ fwd();
+ }
+ return 0;
+ case FREV:
+ reverse();
+ return 0;
+ default:
+ /* unknown escape */
+ ungetwc(c, f);
+ return 1;
+ }
+}
+
+static void filter(FILE *f)
+{
+ wint_t c;
+ int i, w;
+
+ while ((c = getwc(f)) != WEOF)
+ switch (c) {
+
+ case '\b':
+ setcol(col - 1);
+ continue;
+
+ case '\t':
+ setcol((col+8) & ~07);
+ continue;
+
+ case '\r':
+ setcol(0);
+ continue;
+
+ case SO:
+ mode |= ALTSET;
+ continue;
+
+ case SI:
+ mode &= ~ALTSET;
+ continue;
+
+ case IESC:
+ if(handle_escape(f)) {
+ c = getwc(f);
+ errx(EXIT_FAILURE,
+ _("unknown escape sequence in input: %o, %o"),
+ IESC, c);
+ }
+ continue;
+
+ case '_':
+ if (obuf[col].c_char || obuf[col].c_width < 0) {
+ while(col > 0 && obuf[col].c_width < 0)
+ col--;
+ w = obuf[col].c_width;
+ for (i = 0; i < w; i++)
+ obuf[col++].c_mode |= UNDERL | mode;
+ setcol(col);
+ continue;
+ }
+ obuf[col].c_char = '_';
+ obuf[col].c_width = 1;
+ /* fall through */
+ case ' ':
+ setcol(col + 1);
+ continue;
+
+ case '\n':
+ flushln();
+ continue;
+
+ case '\f':
+ flushln();
+ putwchar('\f');
+ continue;
+
+ default:
+ if (!iswprint(c))
+ /* non printable */
+ continue;
+ w = wcwidth(c);
+ needcol(col + w);
+ if (obuf[col].c_char == '\0') {
+ obuf[col].c_char = c;
+ for (i = 0; i < w; i++)
+ obuf[col+i].c_mode = mode;
+ obuf[col].c_width = w;
+ for (i = 1; i < w; i++)
+ obuf[col+i].c_width = -1;
+ } else if (obuf[col].c_char == '_') {
+ obuf[col].c_char = c;
+ for (i = 0; i < w; i++)
+ obuf[col+i].c_mode |= UNDERL|mode;
+ obuf[col].c_width = w;
+ for (i = 1; i < w; i++)
+ obuf[col+i].c_width = -1;
+ } else if ((wint_t) obuf[col].c_char == c) {
+ for (i = 0; i < w; i++)
+ obuf[col+i].c_mode |= BOLD|mode;
+ } else {
+ w = obuf[col].c_width;
+ for (i = 0; i < w; i++)
+ obuf[col+i].c_mode = mode;
+ }
+ setcol(col + w);
+ continue;
+ }
+ if (maxcol)
+ flushln();
+}
+
+static void flushln(void)
+{
+ int lastmode;
+ int i;
+ int hadmodes = 0;
+
+ lastmode = NORMAL;
+ for (i = 0; i < maxcol; i++) {
+ if (obuf[i].c_mode != lastmode) {
+ hadmodes++;
+ setmode(obuf[i].c_mode);
+ lastmode = obuf[i].c_mode;
+ }
+ if (obuf[i].c_char == '\0') {
+ if (upln) {
+ print_out(CURS_RIGHT);
+ } else
+ outc(' ', 1);
+ } else
+ outc(obuf[i].c_char, obuf[i].c_width);
+ if (obuf[i].c_width > 1)
+ i += obuf[i].c_width - 1;
+ }
+ if (lastmode != NORMAL) {
+ setmode(0);
+ }
+ if (must_overstrike && hadmodes)
+ overstrike();
+ putwchar('\n');
+ if (iflag && hadmodes)
+ iattr();
+ fflush(stdout);
+ if (upln)
+ upln--;
+ initbuf();
+}
+
+/*
+ * For terminals that can overstrike, overstrike underlines and bolds.
+ * We don't do anything with halfline ups and downs, or Greek.
+ */
+static void overstrike(void)
+{
+ register int i;
+#ifdef __GNUC__
+ register wchar_t *lbuf = __builtin_alloca((maxcol + 1) * sizeof(wchar_t));
+#else
+ wchar_t lbuf[BUFSIZ];
+#endif
+ register wchar_t *cp = lbuf;
+ int hadbold=0;
+
+ /* Set up overstrike buffer */
+ for (i = 0; i < maxcol; i++)
+ switch (obuf[i].c_mode) {
+ case NORMAL:
+ default:
+ *cp++ = ' ';
+ break;
+ case UNDERL:
+ *cp++ = '_';
+ break;
+ case BOLD:
+ *cp++ = obuf[i].c_char;
+ if (obuf[i].c_width > 1)
+ i += obuf[i].c_width - 1;
+ hadbold=1;
+ break;
+ }
+ putwchar('\r');
+ for (*cp = ' '; *cp == ' '; cp--)
+ *cp = 0;
+ for (cp = lbuf; *cp; cp++)
+ putwchar(*cp);
+ if (hadbold) {
+ putwchar('\r');
+ for (cp = lbuf; *cp; cp++)
+ putwchar(*cp == '_' ? ' ' : *cp);
+ putwchar('\r');
+ for (cp = lbuf; *cp; cp++)
+ putwchar(*cp == '_' ? ' ' : *cp);
+ }
+}
+
+static void iattr(void)
+{
+ register int i;
+#ifdef __GNUC__
+ register char *lbuf = __builtin_alloca((maxcol+1)*sizeof(char));
+#else
+ char lbuf[BUFSIZ];
+#endif
+ register char *cp = lbuf;
+
+ for (i = 0; i < maxcol; i++)
+ switch (obuf[i].c_mode) {
+ case NORMAL: *cp++ = ' '; break;
+ case ALTSET: *cp++ = 'g'; break;
+ case SUPERSC: *cp++ = '^'; break;
+ case SUBSC: *cp++ = 'v'; break;
+ case UNDERL: *cp++ = '_'; break;
+ case BOLD: *cp++ = '!'; break;
+ default: *cp++ = 'X'; break;
+ }
+ for (*cp = ' '; *cp == ' '; cp--)
+ *cp = 0;
+ for (cp = lbuf; *cp; cp++)
+ putwchar(*cp);
+ putwchar('\n');
+}
+
+static void initbuf(void)
+{
+ if (obuf == NULL) {
+ /* First time. */
+ obuflen = BUFSIZ;
+ obuf = xmalloc(sizeof(struct CHAR) * obuflen);
+ }
+
+ /* assumes NORMAL == 0 */
+ memset(obuf, 0, sizeof(struct CHAR) * obuflen);
+ setcol(0);
+ maxcol = 0;
+ mode &= ALTSET;
+}
+
+static void fwd(void)
+{
+ int oldcol, oldmax;
+
+ oldcol = col;
+ oldmax = maxcol;
+ flushln();
+ setcol(oldcol);
+ maxcol = oldmax;
+}
+
+static void reverse(void)
+{
+ upln++;
+ fwd();
+ print_out(CURS_UP);
+ print_out(CURS_UP);
+ upln++;
+}
+
+static void initinfo(void)
+{
+ CURS_UP = tigetstr("cuu1");
+ CURS_RIGHT = tigetstr("cuf1");
+ CURS_LEFT = tigetstr("cub1");
+ if (CURS_LEFT == NULL)
+ CURS_LEFT = "\b";
+
+ ENTER_STANDOUT = tigetstr("smso");
+ EXIT_STANDOUT = tigetstr("rmso");
+ ENTER_UNDERLINE = tigetstr("smul");
+ EXIT_UNDERLINE = tigetstr("rmul");
+ ENTER_DIM = tigetstr("dim");
+ ENTER_BOLD = tigetstr("bold");
+ ENTER_REVERSE = tigetstr("rev");
+ EXIT_ATTRIBUTES = tigetstr("sgr0");
+
+ if (!ENTER_BOLD && ENTER_REVERSE)
+ ENTER_BOLD = ENTER_REVERSE;
+ if (!ENTER_BOLD && ENTER_STANDOUT)
+ ENTER_BOLD = ENTER_STANDOUT;
+ if (!ENTER_UNDERLINE && ENTER_STANDOUT) {
+ ENTER_UNDERLINE = ENTER_STANDOUT;
+ EXIT_UNDERLINE = EXIT_STANDOUT;
+ }
+ if (!ENTER_DIM && ENTER_STANDOUT)
+ ENTER_DIM = ENTER_STANDOUT;
+ if (!ENTER_REVERSE && ENTER_STANDOUT)
+ ENTER_REVERSE = ENTER_STANDOUT;
+ if (!EXIT_ATTRIBUTES && EXIT_STANDOUT)
+ EXIT_ATTRIBUTES = EXIT_STANDOUT;
+
+ /*
+ * Note that we use REVERSE for the alternate character set,
+ * not the as/ae capabilities. This is because we are modelling
+ * the model 37 teletype (since that's what nroff outputs) and
+ * the typical as/ae is more of a graphics set, not the greek
+ * letters the 37 has.
+ */
+
+ UNDER_CHAR = tigetstr("uc");
+ must_use_uc = (UNDER_CHAR && !ENTER_UNDERLINE);
+}
+
+static int curmode = 0;
+
+static void outc(wint_t c, int width) {
+ int i;
+
+ putwchar(c);
+ if (must_use_uc && (curmode&UNDERL)) {
+ for (i = 0; i < width; i++)
+ print_out(CURS_LEFT);
+ for (i = 0; i < width; i++)
+ print_out(UNDER_CHAR);
+ }
+}
+
+static void setmode(int newmode)
+{
+ if (!iflag) {
+ if (curmode != NORMAL && newmode != NORMAL)
+ setmode(NORMAL);
+ switch (newmode) {
+ case NORMAL:
+ switch (curmode) {
+ case NORMAL:
+ break;
+ case UNDERL:
+ print_out(EXIT_UNDERLINE);
+ break;
+ default:
+ /* This includes standout */
+ print_out(EXIT_ATTRIBUTES);
+ break;
+ }
+ break;
+ case ALTSET:
+ print_out(ENTER_REVERSE);
+ break;
+ case SUPERSC:
+ /*
+ * This only works on a few terminals.
+ * It should be fixed.
+ */
+ print_out(ENTER_UNDERLINE);
+ print_out(ENTER_DIM);
+ break;
+ case SUBSC:
+ print_out(ENTER_DIM);
+ break;
+ case UNDERL:
+ print_out(ENTER_UNDERLINE);
+ break;
+ case BOLD:
+ print_out(ENTER_BOLD);
+ break;
+ default:
+ /*
+ * We should have some provision here for multiple modes
+ * on at once. This will have to come later.
+ */
+ print_out(ENTER_STANDOUT);
+ break;
+ }
+ }
+ curmode = newmode;
+}
+
+static void setcol(int newcol) {
+ col = newcol;
+
+ if (col < 0)
+ col = 0;
+ else if (col > maxcol)
+ needcol(col);
+}
+
+static void needcol(int acol) {
+ maxcol = acol;
+
+ /* If col >= obuflen, expand obuf until obuflen > col. */
+ while (acol >= obuflen) {
+ /* Paranoid check for obuflen == INT_MAX. */
+ if (obuflen == INT_MAX)
+ errx(EXIT_FAILURE, _("Input line too long."));
+
+ /* Similar paranoia: double only up to INT_MAX. */
+ if (obuflen < (INT_MAX / 2))
+ obuflen *= 2;
+ else
+ obuflen = INT_MAX;
+
+ /* Now we can try to expand obuf. */
+ obuf = xrealloc(obuf, sizeof(struct CHAR) * obuflen);
+ }
+}
+
+static void sig_handler(int signo __attribute__ ((__unused__)))
+{
+ _exit(EXIT_SUCCESS);
+}
+
+static void print_out(char *line)
+{
+ if (line == NULL)
+ return;
+
+ putwp(line);
+}
diff --git a/tools/git-version-gen b/tools/git-version-gen
new file mode 100755
index 0000000..1df20c3
--- /dev/null
+++ b/tools/git-version-gen
@@ -0,0 +1,181 @@
+#!/bin/sh
+# Print a version string.
+scriptversion=2011-02-19.19; # UTC
+
+# Copyright (C) 2007-2011 Free Software Foundation, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/.
+# It may be run two ways:
+# - from a git repository in which the "git describe" command below
+# produces useful output (thus requiring at least one signed tag)
+# - from a non-git-repo directory containing a .tarball-version file, which
+# presumes this script is invoked like "./git-version-gen .tarball-version".
+
+# In order to use intra-version strings in your project, you will need two
+# separate generated version string files:
+#
+# .tarball-version - present only in a distribution tarball, and not in
+# a checked-out repository. Created with contents that were learned at
+# the last time autoconf was run, and used by git-version-gen. Must not
+# be present in either $(srcdir) or $(builddir) for git-version-gen to
+# give accurate answers during normal development with a checked out tree,
+# but must be present in a tarball when there is no version control system.
+# Therefore, it cannot be used in any dependencies. GNUmakefile has
+# hooks to force a reconfigure at distribution time to get the value
+# correct, without penalizing normal development with extra reconfigures.
+#
+# .version - present in a checked-out repository and in a distribution
+# tarball. Usable in dependencies, particularly for files that don't
+# want to depend on config.h but do want to track version changes.
+# Delete this file prior to any autoconf run where you want to rebuild
+# files to pick up a version string change; and leave it stale to
+# minimize rebuild time after unrelated changes to configure sources.
+#
+# It is probably wise to add these two files to .gitignore, so that you
+# don't accidentally commit either generated file.
+#
+# Use the following line in your configure.ac, so that $(VERSION) will
+# automatically be up-to-date each time configure is run (and note that
+# since configure.ac no longer includes a version string, Makefile rules
+# should not depend on configure.ac for version updates).
+#
+# AC_INIT([GNU project],
+# m4_esyscmd([build-aux/git-version-gen .tarball-version]),
+# [bug-project@example])
+#
+# Then use the following lines in your Makefile.am, so that .version
+# will be present for dependencies, and so that .tarball-version will
+# exist in distribution tarballs.
+#
+# BUILT_SOURCES = $(top_srcdir)/.version
+# $(top_srcdir)/.version:
+# echo $(VERSION) > $@-t && mv $@-t $@
+# dist-hook:
+# echo $(VERSION) > $(distdir)/.tarball-version
+
+case $# in
+ 1|2) ;;
+ *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \
+ '[TAG-NORMALIZATION-SED-SCRIPT]'
+ exit 1;;
+esac
+
+tarball_version_file=$1
+tag_sed_script="${2:-s/x/x/}"
+nl='
+'
+
+# Avoid meddling by environment variable of the same name.
+v=
+v_from_git=
+
+# First see if there is a tarball-only version file.
+# then try "git describe", then default.
+if test -f $tarball_version_file
+then
+ v=`cat $tarball_version_file` || v=
+ case $v in
+ *$nl*) v= ;; # reject multi-line output
+ [0-9]*) ;;
+ *) v= ;;
+ esac
+ test -z "$v" \
+ && echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2
+fi
+
+if test -n "$v"
+then
+ : # use $v
+# Otherwise, if there is at least one git commit involving the working
+# directory, and "git describe" output looks sensible, use that to
+# derive a version string.
+elif test "`git log -1 --pretty=format:x . 2>&1`" = x \
+ && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \
+ || git describe --abbrev=4 HEAD 2>/dev/null` \
+ && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \
+ && case $v in
+ v[0-9]*) ;;
+ *) (exit 1) ;;
+ esac
+then
+ # Is this a new git that lists number of commits since the last
+ # tag or the previous older version that did not?
+ # Newer: v6.10-77-g0f8faeb
+ # Older: v6.10-g0f8faeb
+ case $v in
+ *-rc[0-9]) ;; # release candidate
+ *-*-*) : git describe is okay three part flavor ;;
+ *-*)
+ : git describe is older two part flavor
+ # Recreate the number of commits and rewrite such that the
+ # result is the same as if we were using the newer version
+ # of git describe.
+ vtag=`echo "$v" | sed 's/-.*//'`
+ commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \
+ || { commit_list=failed;
+ echo "$0: WARNING: git rev-list failed" 1>&2; }
+ numcommits=`echo "$commit_list" | wc -l`
+ v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`;
+ test "$commit_list" = failed && v=UNKNOWN
+ ;;
+ esac
+
+ case $v in
+ *-rc[0-9])
+ # Remove the "g" in git describe's output string, to save a byte.
+ v=`echo "$v" | sed 's/\(.*\)-g/\1-/'`;
+ ;;
+ *)
+ # Change the first '-' to a '.', so version-comparing tools work properly.
+ # Remove the "g" in git describe's output string, to save a byte.
+ v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`;
+ ;;
+ esac
+ v_from_git=1
+else
+ v=UNKNOWN
+fi
+
+v=`echo "$v" |sed 's/^v//'`
+
+# Test whether to append the "-dirty" suffix only if the version
+# string we're using came from git. I.e., skip the test if it's "UNKNOWN"
+# or if it came from .tarball-version.
+if test -n "$v_from_git"; then
+ # Don't declare a version "dirty" merely because a time stamp has changed.
+ git update-index --refresh > /dev/null 2>&1
+
+ dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty=
+ case "$dirty" in
+ '') ;;
+ *) # Append the suffix only if there isn't one already.
+ case $v in
+ *-dirty) ;;
+ *) v="$v-dirty" ;;
+ esac ;;
+ esac
+fi
+
+# Omit the trailing newline, so that m4_esyscmd can use the result directly.
+echo "$v" | tr -d "$nl"
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End: